#include <fstream>
#include <time.h>
+#include <plp/log.h>
#include "W1Store.hh"
#include "W1Device.hh"
using namespace w1;
using namespace std;
-W1Device::W1Device(dirent *direntry,
- int family_code_param,
- string id_param) {
+W1Device::W1Device(int family_code_param,
+ string device_id_param,
+ dirent *direntry_param) {
string rootdir;
string device_dir;
string temp_str;
rootdir = W1_SCAN_ROOTDIR;
temp_str = W1_SLAVE_FILE;
- dir_path = rootdir + "/" + direntry->d_name;
+ dir_path = rootdir + "/" + direntry_param->d_name;
slave_file = dir_path + "/" + temp_str;
+ log_debug("w1 data file: %s\n", slave_file.c_str());
family_code = family_code_param;
- id = id_param;
- name = id_param;
+ id = device_id_param;
+ name = device_id_param;
}
W1Device::~W1Device() {
void W1Device::printout() {
string text;
- text = get_formatted_data();
+ text = get_formatted_value();
cout << text << endl;
}
-string W1Device::get_formatted_data() {
+string W1Device::get_formatted_value() {
string ret_val;
string val;
- val = get_value();
- ret_val = get_formatted_data(val);
+ val = get_raw_value();
+ ret_val = get_formatted_value(val);
return ret_val;
}
-string W1Device::get_formatted_data(string value) {
+string W1Device::get_formatted_value(string value) {
string ret_val;
- ret_val = get_time() + "|" + get_devicetype_name() + "|" + id + "|" + value + " " + get_unit();
+ ret_val = get_time() + "|" + value + " " + get_unit();
add_to_memory_cache(ret_val);
return ret_val;
}
}
void W1Device::store() {
- W1Store::store(id, memory_cache);
-/*
- string file_path = "/tmp/" + id + ".txt";
- string text_line;
- ofstream data_file(file_path.c_str(), ios::app);
-
- cout << "storing to " << file_path << "data size " << memory_cache.size() << endl;
- // TODO: add mutex to protect memory_cache while it's read and emptied
- if (data_file.is_open()) {
- while(memory_cache.size() > 0) {
- text_line = memory_cache.front();
- memory_cache.pop_front();
- if (text_line.length() > 0) {
- cout << "storing line: " << text_line << endl;
- data_file << text_line << endl;
- }
- }
- data_file.close();
- }
- else {
- cout << "could not open file " << file_path << " for writing data." << endl;
- }
-*/
+ W1Store::store(id, &memory_cache);
}