ESPHome 2025.10.1
Loading...
Searching...
No Matches
modbus_definitions.h File Reference

Go to the source code of this file.

Namespaces

namespace  esphome
 Providing packet encoding functions for exchanging data with a remote host.
 
namespace  esphome::modbus
 

Enumerations

enum class  esphome::modbus::ModbusFunctionCode : uint8_t {
  esphome::modbus::CUSTOM = 0x00 , esphome::modbus::READ_COILS = 0x01 , esphome::modbus::READ_DISCRETE_INPUTS = 0x02 , esphome::modbus::READ_HOLDING_REGISTERS = 0x03 ,
  esphome::modbus::READ_INPUT_REGISTERS = 0x04 , esphome::modbus::WRITE_SINGLE_COIL = 0x05 , esphome::modbus::WRITE_SINGLE_REGISTER = 0x06 , esphome::modbus::READ_EXCEPTION_STATUS = 0x07 ,
  esphome::modbus::DIAGNOSTICS = 0x08 , esphome::modbus::GET_COMM_EVENT_COUNTER = 0x0B , esphome::modbus::GET_COMM_EVENT_LOG = 0x0C , esphome::modbus::WRITE_MULTIPLE_COILS = 0x0F ,
  esphome::modbus::WRITE_MULTIPLE_REGISTERS = 0x10 , esphome::modbus::REPORT_SERVER_ID = 0x11 , esphome::modbus::READ_FILE_RECORD = 0x14 , esphome::modbus::WRITE_FILE_RECORD = 0x15 ,
  esphome::modbus::MASK_WRITE_REGISTER = 0x16 , esphome::modbus::READ_WRITE_MULTIPLE_REGISTERS = 0x17 , esphome::modbus::READ_FIFO_QUEUE = 0x18
}
 
enum class  esphome::modbus::ModbusRegisterType : uint8_t {
  esphome::modbus::CUSTOM = 0x00 , esphome::modbus::COIL = 0x01 , esphome::modbus::DISCRETE_INPUT = 0x02 , esphome::modbus::HOLDING = 0x03 ,
  esphome::modbus::READ = 0x04
}
 
enum class  esphome::modbus::ModbusExceptionCode : uint8_t {
  esphome::modbus::ILLEGAL_FUNCTION = 0x01 , esphome::modbus::ILLEGAL_DATA_ADDRESS = 0x02 , esphome::modbus::ILLEGAL_DATA_VALUE = 0x03 , esphome::modbus::SERVICE_DEVICE_FAILURE = 0x04 ,
  esphome::modbus::ACKNOWLEDGE = 0x05 , esphome::modbus::SERVER_DEVICE_BUSY = 0x06 , esphome::modbus::MEMORY_PARITY_ERROR = 0x08 , esphome::modbus::GATEWAY_PATH_UNAVAILABLE = 0x0A ,
  esphome::modbus::GATEWAY_TARGET_DEVICE_FAILED_TO_RESPOND = 0x0B
}
 

Functions

bool esphome::modbus::operator== (ModbusFunctionCode lhs, uint8_t rhs)
 
bool esphome::modbus::operator== (uint8_t lhs, ModbusFunctionCode rhs)
 
bool esphome::modbus::operator!= (ModbusFunctionCode lhs, uint8_t rhs)
 
bool esphome::modbus::operator!= (uint8_t lhs, ModbusFunctionCode rhs)
 
bool esphome::modbus::operator< (ModbusFunctionCode lhs, uint8_t rhs)
 
bool esphome::modbus::operator< (uint8_t lhs, ModbusFunctionCode rhs)
 
bool esphome::modbus::operator<= (ModbusFunctionCode lhs, uint8_t rhs)
 
bool esphome::modbus::operator<= (uint8_t lhs, ModbusFunctionCode rhs)
 
bool esphome::modbus::operator> (ModbusFunctionCode lhs, uint8_t rhs)
 
bool esphome::modbus::operator> (uint8_t lhs, ModbusFunctionCode rhs)
 
bool esphome::modbus::operator>= (ModbusFunctionCode lhs, uint8_t rhs)
 
bool esphome::modbus::operator>= (uint8_t lhs, ModbusFunctionCode rhs)
 

Variables

const uint8_t esphome::modbus::FUNCTION_CODE_USER_DEFINED_SPACE_1_INIT = 65
 Modbus definitions from specs: https://modbus.org/docs/Modbus_Application_Protocol_V1_1b3.pdf.
 
const uint8_t esphome::modbus::FUNCTION_CODE_USER_DEFINED_SPACE_1_END = 72
 
const uint8_t esphome::modbus::FUNCTION_CODE_USER_DEFINED_SPACE_2_INIT = 100
 
const uint8_t esphome::modbus::FUNCTION_CODE_USER_DEFINED_SPACE_2_END = 110
 
const uint8_t esphome::modbus::FUNCTION_CODE_MASK = 0x7F
 
const uint8_t esphome::modbus::FUNCTION_CODE_EXCEPTION_MASK = 0x80
 
const uint8_t esphome::modbus::MAX_NUM_OF_REGISTERS_TO_WRITE = 123
 
const uint8_t esphome::modbus::MAX_NUM_OF_REGISTERS_TO_READ = 125