#pragma once #include #include class TpagerEncoder final : public tt::hal::encoder::EncoderDevice { lv_indev_t* _Nullable encHandle = nullptr; pcnt_unit_handle_t encPcntUnit = nullptr; void initEncoder(); static void readCallback(lv_indev_t* indev, lv_indev_data_t* data); public: TpagerEncoder() {} ~TpagerEncoder() override {} std::string getName() const override { return "T-Lora Pager Encoder"; } std::string getDescription() const override { return "The encoder wheel next to the display"; } bool startLvgl(lv_display_t* display) override; bool stopLvgl() override; int getEncoderPulses() const; lv_indev_t* _Nullable getLvglIndev() override { return encHandle; } };