X-Git-Url: http://pilppa.org/gitweb/?a=blobdiff_plain;f=src%2FW1Device.cc;h=22f555960dad5d9a9e1e7de48fd8f9560fe83b52;hb=9e569babf7e271015fedac3b7153d9035ff17ee0;hp=84f4fecb9c78eff856bec0ee160b712f4b2da35a;hpb=556015eb3b2a3d0f8444e1748186bec3a7e12e6f;p=lib1wire.git diff --git a/src/W1Device.cc b/src/W1Device.cc index 84f4fec..22f5559 100644 --- a/src/W1Device.cc +++ b/src/W1Device.cc @@ -48,7 +48,7 @@ W1Device::W1Device(string device_id_param, } W1Device::~W1Device() { - log_debug("W1Device destructor\n"); + log_debug("started\n"); save_and_clean_cache(); if (reader != NULL) { delete(reader); @@ -62,7 +62,7 @@ string W1Device::get_name() { if (name.empty() == true) { cfg = DeviceConfig::get_device_config(id); if (cfg != NULL) { - name = cfg->get_config_value(DEVICE_CONFIG_VALUE_KEY__NAME); + cfg->get_config_value(DEVICE_CONFIG_VALUE_KEY__NAME, name); delete(cfg); } } @@ -76,7 +76,7 @@ void W1Device::set_name(string name_param) { name = name_param; cfg = DeviceConfig::get_device_config(id); if (cfg != NULL) { - cfg->set_config_value(DEVICE_CONFIG_VALUE_KEY__NAME, name_param); + cfg->set_config_value(DEVICE_CONFIG_VALUE_KEY__NAME, name_param, true); delete(cfg); } } @@ -114,21 +114,18 @@ Data *W1Device::get_data() { Data *ret_val; vector *vect; - log_debug("get_data() started\n"); ret_val = NULL; vect = get_raw_data(); if (vect != NULL) { - log_debug("get_data() got raw data\n"); ret_val = new Data(vect, get_unit()); cache(ret_val); delete(vect); - log_debug("get_data() got raw data done\n"); + log_debug("%s returning new data\n", id.c_str()); } else { - log_debug("get_data() try to read old already saved data\n"); - // read old data already saved + // read old already saved data + log_debug("%s returning old saved data\n", id.c_str()); ret_val = reader->get_latest_data(); - log_debug("get_data() try to read old already saved data done\n"); } return ret_val; } @@ -158,7 +155,10 @@ void W1Device::save_and_clean_cache() { dec_precision = get_data_decimal_precision(); pthread_mutex_lock(&plock); - log_debug("save_and_clean_cache(): memory cache size: %d\n", memory_cache.size()); + /* needs to be casted to long unsigned int value is "unsigned int" in some + toolchains and that would otherwise cause an warning/error + */ + log_debug("memory cache size: %lu\n", (long unsigned int)memory_cache.size()); StoreDay::save(id, &memory_cache, dec_precision); while(memory_cache.empty() == false) { data = memory_cache.back();