insert DS2408
[owTools.git] / src / owInterface.h
index 7e1edb0..736d767 100644 (file)
@@ -107,6 +107,8 @@ class owDeviceConfig;
 
 #endif
 
+extern uint8_t owCC_44_Temp;
+
 class owLog {
        int lcount;
        std::string logtext;
@@ -231,6 +233,7 @@ public:
        uint8_t calcCRC8(std::vector<uint8_t> data);
        uint16_t calcCRC16(std::vector<uint8_t> data);
        int testCRC16(std::vector<uint8_t> data);
+       int testCRC16(std::vector<uint8_t> data,uint16_t load);
                
        void resetFlasher(uint64_t id);
        void resetID(uint64_t id);
@@ -298,6 +301,7 @@ public:
        int readScratchpad(std::vector<uint8_t> *sp);
        virtual int convertAll();
        virtual int getPageSize() {return 8;}
+    virtual int readMemory(int page,int start, int count,std::vector<uint8_t> *data);
 } ;
 
 
@@ -320,8 +324,10 @@ public:
 
        virtual void setDefaultConfig();
        virtual int convertAll();
-       void readMemory(uint8_t addr,std::vector<uint8_t> *sp);
-       void writeMemory(uint8_t addr,std::vector<uint8_t> *sp);
+       virtual int readMemory(int page,int start, int count,std::vector<uint8_t> *data);
+       virtual int writeMemory(int page,int start, int count,std::vector<uint8_t> *data);
+       void readMemory_int(uint8_t addr,std::vector<uint8_t> *sp);
+       void writeMemory_int(uint8_t addr,std::vector<uint8_t> *sp);
        void convert(uint8_t mask, uint8_t preset); 
        virtual int getPageSize() {return 8;}
 
@@ -340,6 +346,22 @@ public:
        virtual int getPageSize() {return 32;}
 
 
+} ;
+
+class owDeviceDS2408:public owDevice {
+public:
+       owDeviceDS2408(owInterface *owi_,snum_t num):owDevice(owi_,num) {}
+
+       virtual void setDefaultConfig();
+       virtual int convertAll();
+       virtual int readMemory(int page,int start, int count,std::vector<uint8_t> *data);
+       virtual int writeMemory(int page,int start, int count,std::vector<uint8_t> *data);
+       int readChannelAccess(int count,std::vector<uint8_t> *data);
+       int writeChannelAccess(int count, std::vector<uint8_t> *data);
+       int resetActivityLatches();
+       virtual int getPageSize() {return 32;}
+
+
 } ;