|
ESPHome 2025.12.0-dev
|
Go to the source code of this file.
Data Structures | |
| class | esphome::modbus_controller::SensorItem |
| struct | esphome::modbus_controller::ServerCourtesyResponse |
| class | esphome::modbus_controller::ServerRegister |
| class | esphome::modbus_controller::SensorItemsComparator |
| struct | esphome::modbus_controller::RegisterRange |
| class | esphome::modbus_controller::ModbusCommandItem |
| class | esphome::modbus_controller::ModbusController |
| Modbus controller class. More... | |
Namespaces | |
| namespace | esphome |
| Providing packet encoding functions for exchanging data with a remote host. | |
| namespace | esphome::modbus_controller |
Typedefs | |
| using | esphome::modbus_controller::SensorSet = std::set<SensorItem *, SensorItemsComparator> |
Enumerations | |
| enum class | esphome::modbus_controller::SensorValueType : uint8_t { esphome::modbus_controller::RAW = 0x00 , esphome::modbus_controller::U_WORD = 0x1 , esphome::modbus_controller::U_DWORD = 0x2 , esphome::modbus_controller::S_WORD = 0x3 , esphome::modbus_controller::S_DWORD = 0x4 , esphome::modbus_controller::BIT = 0x5 , esphome::modbus_controller::U_DWORD_R = 0x6 , esphome::modbus_controller::S_DWORD_R = 0x7 , esphome::modbus_controller::U_QWORD = 0x8 , esphome::modbus_controller::S_QWORD = 0x9 , esphome::modbus_controller::U_QWORD_R = 0xA , esphome::modbus_controller::S_QWORD_R = 0xB , esphome::modbus_controller::FP32 = 0xC , esphome::modbus_controller::FP32_R = 0xD } |
Functions | |
| bool | esphome::modbus_controller::value_type_is_float (SensorValueType v) |
| ModbusFunctionCode | esphome::modbus_controller::modbus_register_read_function (ModbusRegisterType reg_type) |
| ModbusFunctionCode | esphome::modbus_controller::modbus_register_write_function (ModbusRegisterType reg_type) |
| uint8_t | esphome::modbus_controller::c_to_hex (char c) |
| uint8_t | esphome::modbus_controller::byte_from_hex_str (const std::string &value, uint8_t pos) |
| Get a byte from a hex string hex_byte_from_str("1122",1) returns uint_8 value 0x22 == 34 hex_byte_from_str("1122",0) returns 0x11. | |
| uint16_t | esphome::modbus_controller::word_from_hex_str (const std::string &value, uint8_t pos) |
| Get a word from a hex string. | |
| uint32_t | esphome::modbus_controller::dword_from_hex_str (const std::string &value, uint8_t pos) |
| Get a dword from a hex string. | |
| uint64_t | esphome::modbus_controller::qword_from_hex_str (const std::string &value, uint8_t pos) |
| Get a qword from a hex string. | |
| template<typename T > | |
| T | esphome::modbus_controller::get_data (const std::vector< uint8_t > &data, size_t buffer_offset) |
| Extract data from modbus response buffer. | |
| bool | esphome::modbus_controller::coil_from_vector (int coil, const std::vector< uint8_t > &data) |
| Extract coil data from modbus response buffer Responses for coil are packed into bytes . | |
| template<typename N > | |
| N | esphome::modbus_controller::mask_and_shift_by_rightbit (N data, uint32_t mask) |
| Extract bits from value and shift right according to the bitmask if the bitmask is 0x00F0 we want the values frrom bit 5 - 8. | |
| void | esphome::modbus_controller::number_to_payload (std::vector< uint16_t > &data, int64_t value, SensorValueType value_type) |
| Convert float value to vector<uint16_t> suitable for sending. | |
| int64_t | esphome::modbus_controller::payload_to_number (const std::vector< uint8_t > &data, SensorValueType sensor_value_type, uint8_t offset, uint32_t bitmask) |
| Convert vector<uint8_t> response payload to number. | |
| float | esphome::modbus_controller::payload_to_float (const std::vector< uint8_t > &data, const SensorItem &item) |
| Convert vector<uint8_t> response payload to float. | |
| std::vector< uint16_t > | esphome::modbus_controller::float_to_payload (float value, SensorValueType value_type) |