update:
设备屏蔽功能 适配新版界面
This commit is contained in:
@@ -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:/*区域名*/
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user