#include <dirent.h>
#include <stdbool.h>
+#include <pthread.h>
#include <plp/Data.hh>
+#include <plp/DataReader.hh>
#include <plp/SensorDevice.hh>
#include <plp/Device.hh>
W1Device(std::string device_id_param,
std::string device_type_param,
dirent *direntry_param);
- virtual ~W1Device();
+ ~W1Device();
std::string get_name();
void set_name(std::string name_param);
void printout();
plp::Data *get_data();
- plp::DataReader *get_device_data();
+ const plp::DataReader *get_device_data();
protected:
std::string dir_path;
std::string slave_file;
plp::DataReader *reader;
void save_and_clean_cache();
virtual std::vector<double> *get_raw_data() = 0;
- virtual unsigned int get_data_decimal_precision() = 0;
- void cache(plp::Data *data);
+ virtual unsigned int get_data_decimal_precision() { return 1; }
+ void cache(plp::Data *new_data);
std::string to_string(double val, int digit_count);
+ pthread_mutex_t plock;
};
}