X-Git-Url: http://git.smho.de/gw/?a=blobdiff_plain;ds=sidebyside;f=src%2Fmain.cpp;h=c36dd8883011d9151771597a9432ec3b8b23c35c;hb=039b202e5c68834801d23e22eecc7cae2879ea83;hp=1987435b52098ea72399ba9c67c1cd124a584f1e;hpb=c7561c5e50f1df4015c0c250bdbaa2efbb95a3bd;p=owTools.git diff --git a/src/main.cpp b/src/main.cpp index 1987435..c36dd88 100755 --- a/src/main.cpp +++ b/src/main.cpp @@ -210,8 +210,11 @@ void continuous(std::vector *devices,int intervall,int headline,int s for (owDevice* dev :*devices) { if (dev->configstate!=OWDCS_NONE) { for (size_t i=0;i<4;i++) { - if (dev->config->getPropertyID(i)!=0) - printf("\033[3;34m[%s] \033[0m\t",dev->config->getUnit(i).c_str()); + if (dev->config->getPropertyID(i)!=0) { + size_t l=utf8_length(dev->config->getUnit(i)); + std::string ls=" "; + printf("\033[3;34m[%s]%s\033[0m\t",dev->config->getUnit(i).c_str(),ls.substr(0,5-l).c_str()); + } } } } @@ -242,7 +245,11 @@ void continuous(std::vector *devices,int intervall,int headline,int s if (dev->configstate!=OWDCS_NONE) { for (size_t i=0;i<4;i++) { if (dev->config->getPropertyID(i)!=0) { - if (dev->values[i]<10) + if (dev->values[i]<=-10) + printf("%0.2f \t",dev->values[i]); + else if (dev->values[i]<0) + printf("%0.3f \t",dev->values[i]); + else if (dev->values[i]<10) printf("%0.4f \t",dev->values[i]); else if (dev->values[i]<100) printf("%0.3f \t",dev->values[i]); @@ -290,7 +297,7 @@ void device_menu(owDevice* d) { printf("\n"); d->convertAll(); for (size_t i=0;ivalues.size();i++) { - printf("\033[1;33m%0.4f %s\033[0m ",d->values[i],d->config->getUnit(i).c_str()); + printf("\033[1;33m%0.4f %s\033[0m ",d->values[i],d->config->getUnit(i).c_str()); } printf("\n"); for(int i=0;i<70;i++) printf(HL);printf("\n"); @@ -405,6 +412,12 @@ int main(int argc, char *argv[]) { printf("Open /dev/ttyS%i\n",port); owi->InitAdapter(port); } else + if(adapter.find("ARDUINO")!=std::string::npos) { + owi=new owARDUINOInterface(); + int port=atoi(adapter.substr(adapter.find("ARDUINO")+7).c_str()); + printf("Open /dev/ttyS%i\n",port); + owi->InitAdapter(port); + } else if(adapter.find("USB")!=std::string::npos) { owi=new owUSBInterface(); int port=atoi(adapter.substr(adapter.find("USB")+3).c_str()); @@ -432,11 +445,13 @@ int main(int argc, char *argv[]) { } } if (owi==NULL) { + printf("No 1-Wiremaster found\n"); return 0; } setLogMode(); - + + if (getArg("i")=="1") { interactive(owi); @@ -491,6 +506,18 @@ int main(int argc, char *argv[]) { printf("%i Devices found\n",(int)owi->devices.size()); } else + if ((s=getArg("v"))!="") { + printf("Reset VOC\n"); + int sel=selectDevice(); + if (sel==0) exit(0); + owDevice* dev=owi->devices[sel-1]; + std::vector cl; + cl.push_back(0x4E); + cl.push_back(0x1F); + cl.push_back(0x1F); + cl.push_back(0x1F); + dev->Communicate(&cl,4,0); + } else if ((s=getArg("n"))!="") { printf("Change id of selected Device\n");