1
0
mirror of https://github.com/esphome/esphome.git synced 2025-03-15 07:08:20 +00:00

Update mcp4461.h

This commit is contained in:
Oliver Kleinecke 2025-02-20 17:50:46 +01:00 committed by GitHub
parent 588d123bc5
commit 153ef8c741
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -100,8 +100,22 @@ class Mcp4461Component : public Component, public i2c::I2CDevice {
/// @param[wiper] wiper for which terminal shall be initialized disabled /// @param[wiper] wiper for which terminal shall be initialized disabled
/// @param[terminal] terminal to disable, one of { 'a', 'b', 'w', 'h' } /// @param[terminal] terminal to disable, one of { 'a', 'b', 'w', 'h' }
void initialize_terminal_disabled(Mcp4461WiperIdx wiper, char terminal); void initialize_terminal_disabled(Mcp4461WiperIdx wiper, char terminal);
/// @brief get error code
int get_error_code(); /// @brief available/required status codes
enum ErrorCode {
MCP4461_STATUS_OK = 0, // CMD completed successfully
MCP4461_FAILED, // component failed
MCP4461_STATUS_I2C_ERROR, // Unable to communicate with device
MCP4461_STATUS_REGISTER_INVALID, // Status register value was invalid
MCP4461_STATUS_REGISTER_ERROR, // Error fetching status register
MCP4461_PROHIBITED_FOR_NONVOLATILE, //
MCP4461_VALUE_INVALID, // Invalid value given for wiper / eeprom
MCP4461_WRITE_PROTECTED, // The value was read, but the CRC over the payload (valid and data) does not match
MCP4461_WIPER_ENABLED, // The wiper is enabled, discard additional enabling actions
MCP4461_WIPER_DISABLED, // The wiper is disabled - all actions for this wiper will be aborted/discarded
MCP4461_WIPER_LOCKED, // The wiper is locked using WiperLock-technology - all actions for this wiper will be
// aborted/discarded
} error_code{MCP4461_STATUS_OK};
protected: protected:
friend class Mcp4461Wiper; friend class Mcp4461Wiper;
@ -172,22 +186,6 @@ class Mcp4461Component : public Component, public i2c::I2CDevice {
/// @return bool - true if write successful, false if not /// @return bool - true if write successful, false if not
bool set_terminal_register_(Mcp4461TerminalIdx terminal_connector, uint8_t data); bool set_terminal_register_(Mcp4461TerminalIdx terminal_connector, uint8_t data);
/// @brief available/required status codes
enum ErrorCode {
MCP4461_STATUS_OK = 0, // CMD completed successfully
MCP4461_FAILED, // component failed
MCP4461_STATUS_I2C_ERROR, // Unable to communicate with device
MCP4461_STATUS_REGISTER_INVALID, // Status register value was invalid
MCP4461_STATUS_REGISTER_ERROR, // Error fetching status register
MCP4461_PROHIBITED_FOR_NONVOLATILE, //
MCP4461_VALUE_INVALID, // Invalid value given for wiper / eeprom
MCP4461_WRITE_PROTECTED, // The value was read, but the CRC over the payload (valid and data) does not match
MCP4461_WIPER_ENABLED, // The wiper is enabled, discard additional enabling actions
MCP4461_WIPER_DISABLED, // The wiper is disabled - all actions for this wiper will be aborted/discarded
MCP4461_WIPER_LOCKED, // The wiper is locked using WiperLock-technology - all actions for this wiper will be
// aborted/discarded
} error_code_{MCP4461_STATUS_OK};
WiperState reg_[8]; WiperState reg_[8];
void begin_(); void begin_();
bool last_eeprom_write_timed_out_{false}; bool last_eeprom_write_timed_out_{false};