]> pilppa.org Git - lib1wire.git/blobdiff - src_test/test_w1.cc
added W1CounterDevice
[lib1wire.git] / src_test / test_w1.cc
index e8f6e2feea85028bf234476857bb56901f737b6d..3a07a0a37ab780f8322b69cc26312edabe639738 100644 (file)
@@ -8,7 +8,7 @@
 #include <string>
 #include <iostream>
 
-#include <unistd.h>
+#include <plp/log.h>
 
 #include "W1Scanner.hh"
 
@@ -17,24 +17,43 @@ using namespace std;
 
 int main(int argc, char** argv)
 {
-       W1Scanner                       *scanner;
+       W1Scanner               *scanner;
        list<W1Device *>        device_list;
+       int                     round;
+       int                     interval_seconds;
+       int                     store_interval;
 
-       scanner         = new W1Scanner();
-       device_list     = scanner->get_device_list();
-       while(1) {
-               for(list<W1Device *>::iterator list_iter = device_list.begin(); list_iter != device_list.end(); list_iter++)
-               {
-                       W1Device *device = (W1Device *)*list_iter;
+       interval_seconds        = 60;
+       store_interval          = 10;
+       scanner                 = new W1Scanner();
+       device_list             = scanner->get_device_list();
+       round                   = 0;
+       if (device_list.size() > 0) {
+               while(1) {
+                       round++;
+                       for(list<W1Device *>::iterator list_iter = device_list.begin(); list_iter != device_list.end(); list_iter++)
+                       {
+                               W1Device *device = (W1Device *)*list_iter;
 /*
                        string name     = device->get_name();
                        string value    = device->get_value();
                        string unit             = device->get_unit();
                        cout << name << ": " << value << " " << unit << endl;
 */
-                       device->printout();
+                               device->printout();
+                               sleep(1);
+                               if (round >= store_interval) {
+                                       device->store();
+                               }
+                       }
+                       sleep(interval_seconds);
+                       if (round >= store_interval) {
+                               round = 0;
+                       }
                }
-               sleep(60);
+       }
+       else {
+               log_debug("could not find 1-wire devices.\n");
        }
        return 0;
 }