From 4466b677a683b89e07b1ae929bd2b5ce0c95bd88 Mon Sep 17 00:00:00 2001 From: Eduard Iten Date: Fri, 11 Jul 2025 09:58:51 +0200 Subject: [PATCH] refactor: Integrate Modbus register defines into enums in modbus_server.h Moved Modbus register definitions from into enums within . This centralizes register definitions, improves type safety, and enhances code readability. - : Added and to the of holding registers. - : Removed the directive for . - : Deleted this file as its contents are now integrated into . Signed-off-by: Eduard Iten --- software/include/lib/modbus_registers.h | 35 ---------------------- software/include/lib/modbus_server.h | 8 +++++ software/lib/modbus_server/modbus_server.c | 2 -- 3 files changed, 8 insertions(+), 37 deletions(-) delete mode 100644 software/include/lib/modbus_registers.h diff --git a/software/include/lib/modbus_registers.h b/software/include/lib/modbus_registers.h deleted file mode 100644 index 9b6fc8d..0000000 --- a/software/include/lib/modbus_registers.h +++ /dev/null @@ -1,35 +0,0 @@ -#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 \ No newline at end of file diff --git a/software/include/lib/modbus_server.h b/software/include/lib/modbus_server.h index 2d55bd1..f43aca3 100644 --- a/software/include/lib/modbus_server.h +++ b/software/include/lib/modbus_server.h @@ -97,6 +97,14 @@ enum { * closing. */ REG_HOLDING_END_CURRENT_THRESHOLD_CLOSE_MA = 0x0004, + /** + * @brief Current threshold in mA for obstacle detection during opening. + */ + REG_HOLDING_OBSTACLE_THRESHOLD_OPEN_MA = 0x0005, + /** + * @brief Current threshold in mA for obstacle detection during closing. + */ + REG_HOLDING_OBSTACLE_THRESHOLD_CLOSE_MA = 0x0006, /** * @brief Bitmask for reading and writing digital outputs. Bit 0: Output 1, * Bit 1: Output 2. 1=ON, 0=OFF. diff --git a/software/lib/modbus_server/modbus_server.c b/software/lib/modbus_server/modbus_server.c index db57d3b..e84a755 100644 --- a/software/lib/modbus_server/modbus_server.c +++ b/software/lib/modbus_server/modbus_server.c @@ -17,8 +17,6 @@ #include #include #include -#include -#include #include #include