10 static const char *
const TAG =
"mcp4461.output";
14 if (!std::isfinite(state)) {
15 ESP_LOGW(TAG,
"Finite state state value is required.");
18 state =
clamp(state, 0.0f, 1.0f);
55 ESP_LOGV(TAG,
"Increased wiper %u to %u", static_cast<uint8_t>(this->
wiper_),
56 static_cast<uint16_t>(std::roundf(this->
state_ * 256)));
63 ESP_LOGV(TAG,
"Decreased wiper %u to %u", static_cast<uint8_t>(this->
wiper_),
64 static_cast<uint16_t>(std::roundf(this->
state_ * 256)));
void write_state(float state) override
void turn_off() override
Disables current output.
bool set_wiper_level_(Mcp4461WiperIdx wiper, uint16_t value)
void set_level(float state)
Set level of wiper.
void turn_on() override
Enables current output.
bool is_inverted() const
Return whether this binary output is inverted.
constexpr const T & clamp(const T &v, const T &lo, const T &hi, Compare comp)
void enable_terminal(char terminal)
Enable given terminal.
uint16_t get_wiper_level_(Mcp4461WiperIdx wiper)
void disable_terminal_(Mcp4461WiperIdx, char terminal)
void enable_wiper_(Mcp4461WiperIdx wiper)
bool increase_wiper_(Mcp4461WiperIdx wiper)
float read_state()
Read current device wiper state without updating internal output state.
void increase_wiper()
Increase wiper by 1 tap.
Mcp4461Component * parent_
void disable_wiper_(Mcp4461WiperIdx wiper)
void disable_terminal(char terminal)
Disable given terminal.
void decrease_wiper()
Decrease wiper by 1 tap.
Implementation of SPI Controller mode.
void set_state(bool state) override
Enables/Disables current output using bool parameter.
float update_state()
Update current output state using device wiper state.
bool decrease_wiper_(Mcp4461WiperIdx wiper)
void enable_terminal_(Mcp4461WiperIdx wiper, char terminal)