#pragma once #include "Widget.hpp" class ArcWidget : public Widget { public: explicit ArcWidget(const WidgetConfig& config); lv_obj_t* create(lv_obj_t* parent) override; void applyStyle() override; void onKnxValue(float value) override; void onKnxSwitch(bool value) override; private: void updateValueLabel(float value); static const char* unitSuffix(uint8_t unit); lv_obj_t* scale_ = nullptr; lv_obj_t* valueLabel_ = nullptr; float lastValue_ = 0.0f; };