From aefa7f69865fe4d7bb2f230c617d7d3e5fcaa9d6 Mon Sep 17 00:00:00 2001 From: Oliver Kleinecke Date: Thu, 20 Feb 2025 12:33:21 +0100 Subject: [PATCH] Update mcp4461.h --- esphome/components/mcp4461/mcp4461.h | 32 ++++++++++++++-------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/esphome/components/mcp4461/mcp4461.h b/esphome/components/mcp4461/mcp4461.h index ba515c520a..b827a5c3cb 100644 --- a/esphome/components/mcp4461/mcp4461.h +++ b/esphome/components/mcp4461/mcp4461.h @@ -97,22 +97,6 @@ class Mcp4461Component : public Component, public i2c::I2CDevice { /// @param[terminal] terminal to disable, one of { 'a', 'b', 'w', 'h' } void initialize_terminal_disabled(Mcp4461WiperIdx wiper, char terminal); - /// @brief enumerate 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: friend class Mcp4461Wiper; /// @brief update write protection status of device @@ -168,6 +152,22 @@ class Mcp4461Component : public Component, public i2c::I2CDevice { /// @brief internal function to set terminal registers 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]; void begin_(); bool last_eeprom_write_timed_out_{false};