#pragma once #include #include #include #include #include #include class Gpio final : public App { std::vector pinWidgets; std::vector pinStates; TimerHandle timer; Mutex mutex = Mutex(MutexTypeRecursive); static lv_obj_t* createGpioRowWrapper(lv_obj_t* parent); static void onTimer(void* parameter); public: void onShow(AppHandle context, lv_obj_t* parent) override; void onHide(AppHandle context) override; void startTask(); void stopTask(); void updatePinStates(); void updatePinWidgets(); };