20 void setup()
override;
63 void play(
const Ts &...
x)
override {
64 auto brightness = this->brightness_.value(
x...);
65 this->
parent_->set_brightness(brightness);
73 void play(
const Ts &...
x)
override {
74 auto level = this->level_.value(
x...);
75 this->
parent_->set_level(level);
83 void play(
const Ts &...
x)
override {
84 auto level_percent = this->level_percent_.value(
x...);
85 this->
parent_->set_level_percent(level_percent);
virtual void play(const Ts &...x)=0
Helper class to easily give an object a parent of type T.
TEMPLATABLE_VALUE(uint8_t, brightness) void play(const Ts &...x) override
TEMPLATABLE_VALUE(uint8_t, level) void play(const Ts &...x) override
TEMPLATABLE_VALUE(uint8_t, level_percent) void play(const Ts &...x) override
void set_brightness(TM1651Brightness new_brightness)
InternalGPIOPin * clk_pin_
void update_brightness_(uint8_t on_off_control)
bool half_cycle_clock_high_ack_()
void set_level_percent(uint8_t percentage)
void set_brightness(uint8_t new_brightness)
void set_clk_pin(InternalGPIOPin *pin)
void delineate_transmission_(bool dio_state)
void half_cycle_clock_high_()
uint8_t calculate_level_(uint8_t percentage)
void set_dio_pin(InternalGPIOPin *pin)
bool write_byte_(uint8_t data)
uint8_t remap_brightness_(uint8_t new_brightness)
void half_cycle_clock_low_(bool data_bit)
InternalGPIOPin * dio_pin_
void set_level(uint8_t new_level)
void dump_config() override
void play(const Ts &...x) override
void play(const Ts &...x) override