добавил gui
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
/**
|
||||
/**
|
||||
**************************************************************************
|
||||
* @file modbus_data.h
|
||||
* @brief Заголовочный файл с описанием даты MODBUS.
|
||||
@@ -105,6 +105,21 @@
|
||||
*
|
||||
*/
|
||||
#define mb_fill_rsv(_align_, _struct_) ((_align_ > mb_sizeof(_struct_)) ? (_align_ - mb_sizeof(_struct_)) : 0)
|
||||
#define mb_fill_gap(_from_, _to_, _struct_) (((_to_) > ((_from_) + mb_sizeof(_struct_))) ? ((_to_) - (_from_) - mb_sizeof(_struct_)) : 0)
|
||||
|
||||
#define R_INPUT_ROOM_ADDR 400
|
||||
#define R_INPUT_ID_ADDR 1000
|
||||
#define R_INPUT_NUM_TSENS_ADDR 1200
|
||||
#define R_HOLDING_HYST_ADDR 100
|
||||
#define R_HOLDING_ROOM_ADDR 300
|
||||
|
||||
#define MB_ROOM_TEMP_SCALE 10U
|
||||
#define MB_ROOM_VALVE_ANGLE_MAX_DEFAULT 90U
|
||||
#define ROOM_MODE_AUTO 0U
|
||||
#define ROOM_MODE_MANUAL 1U
|
||||
#define ROOM_COMMAND_STOP 0U
|
||||
#define ROOM_COMMAND_OPEN 1U
|
||||
#define ROOM_COMMAND_CLOSE 2U
|
||||
|
||||
|
||||
|
||||
@@ -124,6 +139,38 @@ typedef __PACKED_STRUCT
|
||||
uint16_t status;
|
||||
} MB_RtcCalendarRegsTypeDef;
|
||||
|
||||
typedef __PACKED_STRUCT
|
||||
{
|
||||
uint16_t channel;
|
||||
uint16_t location;
|
||||
uint16_t ds18b20_id[4];
|
||||
uint16_t temperature_x10;
|
||||
uint16_t setpoint_x10;
|
||||
uint16_t hysteresis_x10;
|
||||
uint16_t valve_position_pct;
|
||||
uint16_t valve_angle_deg;
|
||||
uint16_t valve_angle_max_deg;
|
||||
uint16_t is_connected;
|
||||
uint16_t valve_open;
|
||||
uint16_t valve_close;
|
||||
uint16_t mode;
|
||||
uint16_t command_state;
|
||||
uint16_t reserved;
|
||||
} MB_RoomInputRegsTypeDef;
|
||||
|
||||
|
||||
typedef __PACKED_STRUCT
|
||||
{
|
||||
uint16_t setpoint_x10;
|
||||
uint16_t hysteresis_x10;
|
||||
uint16_t valve_position_pct;
|
||||
uint16_t valve_angle_max_deg;
|
||||
uint16_t mode;
|
||||
uint16_t command;
|
||||
uint16_t location;
|
||||
uint16_t apply;
|
||||
} MB_RoomHoldingRegsTypeDef;
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -132,9 +179,11 @@ typedef __PACKED_STRUCT//MB_DataInRegsTypeDef
|
||||
{
|
||||
|
||||
uint16_t sens_Temp[MAX_SENSE];
|
||||
uint16_t reserve[mb_fill_rsv(1000, uint16_t[MAX_SENSE])];
|
||||
uint16_t reserve_to_room[mb_fill_rsv(R_INPUT_ROOM_ADDR, uint16_t[MAX_SENSE])];
|
||||
MB_RoomInputRegsTypeDef room[MAX_SENSE];
|
||||
uint16_t reserve_to_id[mb_fill_gap(R_INPUT_ROOM_ADDR, R_INPUT_ID_ADDR, MB_RoomInputRegsTypeDef[MAX_SENSE])];
|
||||
DS18B20_Drv_t ID;
|
||||
uint16_t reserve1[mb_fill_rsv(200, DS18B20_Drv_t)];
|
||||
uint16_t reserve_to_num_tsens[mb_fill_gap(R_INPUT_ID_ADDR, R_INPUT_NUM_TSENS_ADDR, DS18B20_Drv_t)];
|
||||
uint16_t num_Tsens;
|
||||
MB_RtcCalendarRegsTypeDef rtc;
|
||||
|
||||
@@ -148,10 +197,12 @@ typedef __PACKED_STRUCT//MB_DataInRegsTypeDef
|
||||
typedef __PACKED_STRUCT //MB_DataInRegsTypeDef
|
||||
{
|
||||
uint16_t set_Temp[MAX_SENSE];
|
||||
uint16_t reserve[mb_fill_rsv(100, uint16_t[MAX_SENSE])];
|
||||
uint16_t reserve_to_hyst[mb_fill_rsv(R_HOLDING_HYST_ADDR, uint16_t[MAX_SENSE])];
|
||||
uint16_t set_hyst[MAX_SENSE];
|
||||
uint16_t reserve1[mb_fill_rsv(100, uint16_t[MAX_SENSE])];
|
||||
uint16_t reserve_to_rtc[mb_fill_gap(R_HOLDING_HYST_ADDR, R_HOLDING_RTC_ADDR, uint16_t[MAX_SENSE])];
|
||||
MB_RtcCalendarRegsTypeDef rtc;
|
||||
uint16_t reserve_to_room_cfg[mb_fill_gap(R_HOLDING_RTC_ADDR, R_HOLDING_ROOM_ADDR, MB_RtcCalendarRegsTypeDef)];
|
||||
MB_RoomHoldingRegsTypeDef room_cfg[MAX_SENSE];
|
||||
} MB_DataHoldRegsTypeDef;
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user