From 6bdb9028af9a5256fbb47b942843e49aef7e3aa1 Mon Sep 17 00:00:00 2001 From: Chris Xiong Date: Mon, 9 Apr 2018 22:42:45 +0800 Subject: Initial commit. --- brightness_ctrl.hpp | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 brightness_ctrl.hpp (limited to 'brightness_ctrl.hpp') diff --git a/brightness_ctrl.hpp b/brightness_ctrl.hpp new file mode 100644 index 0000000..4a94e0b --- /dev/null +++ b/brightness_ctrl.hpp @@ -0,0 +1,35 @@ +#ifndef BRIGHTNESS_CTRL_HPP +#define BRIGHTNESS_CTRL_HPP +#include +#include +#include +#include +#include +#include "sensor_als.hpp" +namespace filesystem=std::experimental::filesystem::v1; +class BrightnessControl +{ +private: + filesystem::path cpath,brpath,maxbrpath; + std::vector thresh,value; + int delay,direction,br,maxbr,tr,offset; + size_t cur; + SensorALS *als; + std::mutex interrupt_m,threshnotify_m; + std::condition_variable interrupt,threshnotify; + void _brightness_slide(int p); +public: + void init(float initv,SensorALS *s); + void set_path(filesystem::path p); + void set_thresh(std::vector _th); + void set_value(std::vector _v); + void set_delay(int _d); + void set_trigrange(int _tr); + + void set_offset(int rel,int off); + + void on_sensor_report(float v); + void brightness_slide(int p); + void worker(); +}; +#endif -- cgit v1.2.3