#include "lvgl.h" #include #include #include namespace UI { class poller { public: poller(std::function aOnPollCb, std::chrono::milliseconds pollTime = std::chrono::seconds(5)); virtual ~poller(); void setPollPeriod(std::chrono::milliseconds aPollPeriod) { lv_timer_set_period(mTimer, aPollPeriod.count()); } inline void pause() { lv_timer_pause(mTimer); } inline void resume() { lv_timer_resume(mTimer); } inline void reset() { lv_timer_reset(mTimer); } inline void runNext() { lv_timer_ready(mTimer); } private: lv_timer_t *mTimer = nullptr; std::function mIntermittentCallback = nullptr; // Static function registered to every timers callback to pass this object as // context static void onPoll(_lv_timer_t *aTimer); }; } // namespace UI