35 lines
1.4 KiB
C
35 lines
1.4 KiB
C
#ifndef MODBUS_REGISTERS_H
|
|
#define MODBUS_REGISTERS_H
|
|
|
|
// Input Registers (Read-Only)
|
|
#define REG_INPUT_VALVE_STATE_MOVEMENT 0x0000
|
|
#define REG_INPUT_MOTOR_OPEN_CURRENT_MA 0x0001
|
|
#define REG_INPUT_MOTOR_CLOSE_CURRENT_MA 0x0002
|
|
#define REG_INPUT_DIGITAL_INPUTS_STATE 0x0020
|
|
#define REG_INPUT_BUTTON_EVENTS 0x0021
|
|
#define REG_INPUT_FIRMWARE_VERSION_MAJOR_MINOR 0x00F0
|
|
#define REG_INPUT_FIRMWARE_VERSION_PATCH 0x00F1
|
|
#define REG_INPUT_DEVICE_STATUS 0x00F2
|
|
#define REG_INPUT_UPTIME_SECONDS_LOW 0x00F3
|
|
#define REG_INPUT_UPTIME_SECONDS_HIGH 0x00F4
|
|
#define REG_INPUT_SUPPLY_VOLTAGE_MV 0x00F5
|
|
#define REG_INPUT_FWU_LAST_CHUNK_CRC 0x0100
|
|
|
|
// Holding Registers (Read-Write)
|
|
#define REG_HOLDING_VALVE_COMMAND 0x0000
|
|
#define REG_HOLDING_MAX_OPENING_TIME_S 0x0001
|
|
#define REG_HOLDING_MAX_CLOSING_TIME_S 0x0002
|
|
#define REG_HOLDING_END_CURRENT_THRESHOLD_OPEN_MA 0x0003
|
|
#define REG_HOLDING_END_CURRENT_THRESHOLD_CLOSE_MA 0x0004
|
|
#define REG_HOLDING_OBSTACLE_THRESHOLD_OPEN_MA 0x0005
|
|
#define REG_HOLDING_OBSTACLE_THRESHOLD_CLOSE_MA 0x0006
|
|
#define REG_HOLDING_DIGITAL_OUTPUTS_STATE 0x0010
|
|
#define REG_HOLDING_WATCHDOG_TIMEOUT_S 0x00F0
|
|
#define REG_HOLDING_DEVICE_RESET 0x00F1
|
|
#define REG_HOLDING_FWU_COMMAND 0x0100
|
|
#define REG_HOLDING_FWU_CHUNK_OFFSET_LOW 0x0101
|
|
#define REG_HOLDING_FWU_CHUNK_OFFSET_HIGH 0x0102
|
|
#define REG_HOLDING_FWU_CHUNK_SIZE 0x0103
|
|
#define REG_HOLDING_FWU_DATA_BUFFER 0x0180
|
|
|
|
#endif // MODBUS_REGISTERS_H
|