4 * Created on: Oct 20, 2010
18 #include <plp/Data.hh>
19 #include <plp/DataReader.hh>
20 #include <plp/SensorDevice.hh>
21 #include <plp/Device.hh>
23 #ifndef W1_SCAN_ROOTDIR
24 #define W1_SCAN_ROOTDIR "/sys/bus/w1/devices"
28 #define W1_SLAVE_FILE "w1_slave";
32 class W1Device : public plp::SensorDevice {
34 W1Device(std::string device_id_param,
35 std::string device_type_param,
36 dirent *direntry_param);
39 plp::Data *get_data();
40 const plp::DataReader *get_datareader();
43 std::string slave_file;
44 std::list<plp::Data *> memory_cache;
45 plp::DataReader *reader;
46 void save_and_clean_cache();
47 virtual std::vector<double> *get_raw_data() = 0;
48 virtual unsigned int get_data_decimal_precision() { return 1; }
49 void cache(plp::Data *new_data);
50 std::string to_string(double val, int digit_count);
51 pthread_mutex_t plock;
55 #endif /* W1DEVICE_HH_ */