Memory access for DS2423
[owTools.git] / src / main.cpp
index 2e7e655..0a6ccbd 100755 (executable)
@@ -284,6 +284,11 @@ void continuous(std::vector<owDevice*> *devices,int intervall,int headline,int s
                printf("%d-%02d-%02d %02d:%02d:%02d\t", tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday, tm.tm_hour, tm.tm_min, tm.tm_sec);
                for (owDevice* dev :*devices) {
                        for(int k=0;k<owi->maxrepeat;k++){
+                               std::vector<uint8_t> data;
+                               data.push_back(0xCC);
+                               data.push_back(0x44);
+                               owi->Reset();
+                               owi->Communicate(&data, 2, 0);
                                dev->convertAll();
                                if (owi->log->last()<OWLOG_ERROR) break;
                                owi->log->clear();
@@ -658,14 +663,14 @@ int main(int argc, char *argv[]) {
                //snum_t snum=owi->devices[sel]->getNum();
                owDevice* dev=owi->devices[sel];
                if(s.find("read")!=std::string::npos) {
-                       int r=dev->readMemory(pnr,0,8,&mem);
+                       int r=dev->readMemory(pnr,0,dev->getPageSize(),&mem);
                        for(int i=0;i<r;i++) printf("%02X ",mem[i]);
                        printf("\n");
                        exit(0);
                } else 
                if(s.find("write")!=std::string::npos) {
-                       int r=dev->writeMemory(pnr,0,8,&mem);
-                       r=dev->readMemory(pnr,0,8,&mem);
+                       int r=dev->writeMemory(pnr,0,dev->getPageSize(),&mem);
+                       r=dev->readMemory(pnr,0,dev->getPageSize(),&mem);
                        for(int i=0;i<r;i++) printf("%02X ",mem[i]);
                        printf("\n");
                        exit(0);