2 * W1TemperatureSensor.cc
4 * Created on: Oct 20, 2010
11 #include "W1TemperatureSensor.hh"
16 W1TemperatureSensor::W1TemperatureSensor(dirent *direntry, int family_code_param, string id_param): W1Device(direntry, family_code_param, id_param) {
17 ifstream ifs(slave_file.c_str());
18 if (ifs.is_open() == false) {
21 text = get_time() + ": device type = temperature sensor, id = " + id + ", could not read file: " + slave_file;
23 cout << "verify that you have w1_therm kernel module loaded" << endl;
30 W1TemperatureSensor::~W1TemperatureSensor() {
33 bool W1TemperatureSensor::is_supported_family_code(int family_code) {
46 string W1TemperatureSensor::get_value() {
47 vector<string> text_file;
53 string formatted_data;
55 ret_val = "<could not read>";
56 ifstream ifs(slave_file.c_str());
57 if (ifs.is_open() == true) {
58 while(getline(ifs, temp)) {
59 if (temp.length() > 0) {
61 //cout << ret_val << endl;
65 length = last_line.length();
67 pos = last_line.find("t=");
70 ret_val = last_line.substr(pos + 2);
74 formatted_data = get_formatted_data(ret_val);
75 add_to_memory_cache(formatted_data);
79 string W1TemperatureSensor::get_unit() {
83 string W1TemperatureSensor::get_devicetype_name() {
84 return "Temperature Sensor";
87 void W1TemperatureSensor::printout() {
90 text = get_formatted_data();
94 string W1TemperatureSensor::get_formatted_data() {
97 ret_val = get_time() + ": device type = temperature sensor, id = " + id + ", value = " + get_value() + " " + get_unit();