X-Git-Url: http://pilppa.org/gitweb/?p=lib1wire.git;a=blobdiff_plain;f=src_test%2Ftest_w1_datalog_write.cc;fp=src_test%2Ftest_w1_datalog_write.cc;h=08bd2392209e368b2b0c2495676bdb3bf16d9413;hp=f397525c95b7004cee6dbe80e4a0222da6fc8f01;hb=da203ad44792ca37320768f4cbe68587c4806910;hpb=6caee6cb22c1334701afe7aa30bcf9668ca3a5c5 diff --git a/src_test/test_w1_datalog_write.cc b/src_test/test_w1_datalog_write.cc index f397525..08bd239 100644 --- a/src_test/test_w1_datalog_write.cc +++ b/src_test/test_w1_datalog_write.cc @@ -15,12 +15,13 @@ #include "DeviceConfig.hh" #include "Factory.hh" +#include "Device.hh" using namespace w1; using namespace std; +using namespace plp; #define DEFAULT_READ_INTERVAL_SECONDS 600 -#define DEFAULT_SAVE_INTERVAL_COUNT 5 #define DEFAULT_MAX_READ_COUNT -1 bool try_parse_long(const char *str, long *result) { @@ -47,39 +48,32 @@ bool try_parse_long(const char *str, long *result) { } int main(int argc, char** argv) { - list device_list; - int read_count_afer_save; + list device_list; int read_count_total; long cnt_max_scans; long read_interval_seconds; - long save_interval_count; string loc; - W1Device *device; - list::iterator iter; + Device *device; + list::iterator iter; // default values than can be overwritten with parameters loc = "/tmp/w1data"; read_interval_seconds = DEFAULT_READ_INTERVAL_SECONDS; - save_interval_count = DEFAULT_SAVE_INTERVAL_COUNT; cnt_max_scans = DEFAULT_MAX_READ_COUNT; if (argc > 1) { loc = argv[1]; } else { log_info("no parameter given using default values:\n"); - log_info("\ttest_w1_datalog_write %s %ld %ld %ld\n\n", loc.c_str(), read_interval_seconds, save_interval_count, cnt_max_scans); - log_info("usage:\n\ttest_w1_datalog_write \n"); - log_info("\tsave_interval_count == -1: do not save data that is read\n"); + log_info("\ttest_w1_datalog_write %s %ld %ld\n\n", loc.c_str(), read_interval_seconds, cnt_max_scans); + log_info("usage:\n\ttest_w1_datalog_write \n"); log_info("\tmax_read_count == -1: read devices until application is terminated\n\n"); } if (argc > 2) { try_parse_long(argv[2], &read_interval_seconds); } if (argc > 3) { - try_parse_long(argv[3], &save_interval_count); - } - if (argc > 4) { - try_parse_long(argv[4], &cnt_max_scans); + try_parse_long(argv[3], &cnt_max_scans); } log_info("searching 1-wire devices\n"); if (read_interval_seconds == DEFAULT_READ_INTERVAL_SECONDS) { @@ -88,18 +82,7 @@ int main(int argc, char** argv) { else { log_info("\tdevice read interval: %ld seconds\n", read_interval_seconds); } - if (save_interval_count != -1) { - if (save_interval_count == DEFAULT_SAVE_INTERVAL_COUNT) { - log_info("\tsave interval: %ld (default value)\n", save_interval_count); - } - else { - log_info("\tsave interval: %ld\n", save_interval_count); - } - log_info("\tdata save dir: %s\n", loc.c_str()); - } - else { - log_info("\tresults are not saved\n"); - } + log_info("\tdata save dir: %s\n", loc.c_str()); if (cnt_max_scans == DEFAULT_MAX_READ_COUNT) { log_info("\tmax read count: %ld (default value, devices will be read until application is terminated)\n\n", cnt_max_scans); } @@ -108,11 +91,9 @@ int main(int argc, char** argv) { } DeviceConfig::set_base_dir_name(loc); device_list = Factory::get_device_list(); - read_count_afer_save = 0; read_count_total = 0; if (device_list.size() > 0) { while(1) { - read_count_afer_save++; read_count_total++; if ((cnt_max_scans != -1) && (read_count_total > cnt_max_scans)) { @@ -120,19 +101,16 @@ int main(int argc, char** argv) { break; } for(iter = device_list.begin(); iter != device_list.end(); iter++) { - device = (W1Device *)*iter; - device->printout(); - sleep(1); - if ((save_interval_count != -1) && - (read_count_afer_save >= save_interval_count)) { - device->save_data(); + device = (Device *)*iter; + if (device->get_lifecycle_state() == LIFECYCLE_STATUS__AVAILABLE) { + device->printout(); + sleep(1); + } + else { + log_debug("device not available, %s.\n", device->get_id().c_str()); } } sleep(read_interval_seconds); - if ((save_interval_count != -1) && - (read_count_afer_save >= save_interval_count)) { - read_count_afer_save = 0; - } } } else {