设备屏蔽功能
适配新版界面
This commit is contained in:
2026-03-06 13:48:42 +08:00
parent 090eb335a8
commit 7373c0ad95
14 changed files with 854 additions and 337 deletions
@@ -68,7 +68,7 @@ static void proto_leakage_init(proto_leakage_t *p_leakage)
}
else if(p_leakage == &modbus_leakage[APP_COM4])
{
com_to_uart[APP_COM3]->rx_data_analysis = proto_leakage_rx_task;
com_to_uart[APP_COM4]->rx_data_analysis = proto_leakage_rx_task;
}
/*绑定modbus_id和对应的索引在app_com中完成*/
}
@@ -251,7 +251,8 @@ static void proto_leakage_rx_task(u8 *p_data,u16 len,void *other_data)
{
/*计算当前设备索引*/
u8 sensor_index = p_sensor->comm.leakage_data_index;
u16 ch_addr_offset[4] = {0,4,8,11}; /*漏液待数据地址偏移*/
// u16 ch_addr_offset[4] = {0,4,8,11}; /*漏液待数据地址偏移*/
u16 ch_addr_offset[4] = {0,8,16,22}; /*漏液待数据地址偏移*/
u16 temp;
if(sensor_index >= APP_LEAKAGE_SUB_DEVICE_NUM)
@@ -265,7 +265,16 @@ static u16 proto_modbus_data_read(u16 addr)
{
case 0:/*端口&ID*/
{
data = (leakage.sub_device_data[sensor_index].flash_data.com + 1)<< 8 | leakage.sub_device_data[sensor_index].flash_data.modbus_id;
// data = (leakage.sub_device_data[sensor_index].flash_data.com + 1)<< 8 | leakage.sub_device_data[sensor_index].flash_data.modbus_id;
u16 value = (leakage.sub_device_data[sensor_index].flash_data.com + 1) << 8;
value |= leakage.sub_device_data[sensor_index].flash_data.modbus_id;
if (leakage.sub_device_data[sensor_index].flash_data.shield == BLOCKED) {
value |= 0x8000; /*最高位表示屏蔽*/
}
if (leakage.sub_device_data[sensor_index].flash_data.state == ENABLE) {
value |= 0x4000; /*次高位表示使能*/
}
data = value;
}break;
case 1 ... 5:/*区域名*/
{