This commit is contained in:
2026-02-25 15:12:13 +08:00
parent 9d69b29eed
commit 090eb335a8
25 changed files with 620 additions and 19973 deletions

View File

@@ -114,16 +114,22 @@ static void proto_leakage_tx_curr_data_get(proto_leakage_t *p_leakage)
static void proto_leakage_tx_task(proto_leakage_t *p_leakage)
{
u16 i;
proto_sensor_class_t *p_sensor;
p_sensor = &p_leakage->sensor[p_leakage->sensor_index];
if(0 == (p_sensor->comm.sensor_state_code & (0x00000001 << PROTO_LEAKAGE_STATE_CODE_TIME_OUT)))
if(0 == p_leakage->sensor_num)/*û<>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>COM<4F>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD>*/
{
if((++p_sensor->comm.tx_time_out_count) > 20)/*500ms<6D><73>ѯ 10<31><30>ͨѶ<CDA8><D1B6>ʱ*/
return;
}
if(0 == (p_sensor->comm.sensor_state_code & (PROTO_LEAKAGE_STATE_CODE_TIME_OUT)))
{
if((++p_sensor->comm.tx_time_out_count) > 10)/*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ10<31><30> ͨѶ<CDA8><D1B6>ʱ*/
{
p_sensor->comm.sensor_state_code |= (0x00000001 << PROTO_LEAKAGE_STATE_CODE_TIME_OUT);
p_sensor->comm.sensor_state_code |= (PROTO_LEAKAGE_STATE_CODE_TIME_OUT);
/*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
//memset(&gas_data[p_sensor->sensor_index],0,sizeof(gas_data_t));
}
@@ -131,6 +137,10 @@ static void proto_leakage_tx_task(proto_leakage_t *p_leakage)
switch(p_sensor->comm.state)
{
case PROTO_LEAKAGE_COMM_STATE_INIT:
{
}break;
case PROTO_LEAKAGE_COMM_STATE_CURR_DATA_GET:
{
proto_leakage_tx_curr_data_get(p_leakage);
@@ -140,14 +150,34 @@ static void proto_leakage_tx_task(proto_leakage_t *p_leakage)
}break;
}
/*ͨѶ<CDA8><D1B6>ʱ*/
if(p_sensor->comm.sensor_state_code & (PROTO_LEAKAGE_STATE_CODE_TIME_OUT))
{
for(i=0;i<APP_LEAKAGE_SUB_DEVICE_CH_NUM;i++)
{
leakage.sub_device_data[p_sensor->comm.leakage_data_index].ch_data[i].state |= APP_LEAKAGE_SUB_DEVICE_STATE_TIME_OUT;
}
}
else
{
for(i=0;i<APP_LEAKAGE_SUB_DEVICE_CH_NUM;i++)
{
leakage.sub_device_data[p_sensor->comm.leakage_data_index].ch_data[i].state &= (~APP_LEAKAGE_SUB_DEVICE_STATE_TIME_OUT);
}
}
p_sensor->comm.state_send_time++;
if(p_sensor->comm.state_send_time >= 3) /*<2A><><EFBFBD><EFBFBD><EFBFBD>쳣*/
{
p_sensor->comm.sensor_state_code |= (0x00000001 << p_sensor->comm.sensor_state_code);/*<2A><>¼<EFBFBD>쳣״̬*/
p_sensor->comm.sensor_state_code |= (p_sensor->comm.sensor_state_code);/*<2A><>¼<EFBFBD>쳣״̬*/
p_sensor->comm.state_send_time = 0;
p_sensor->comm.sensor_state_code = PROTO_LEAKAGE_COMM_STATE_DEFAULT;
p_sensor->comm.state = PROTO_LEAKAGE_COMM_STATE_DEFAULT;
proto_leakage_switch(p_leakage); /*<2A>л<EFBFBD><D0BB>豸*/
}
}
static void proto_leakage_rx_task(u8 *p_data,u16 len,void *other_data)
@@ -209,7 +239,7 @@ static void proto_leakage_rx_task(u8 *p_data,u16 len,void *other_data)
p_sensor->comm.tx_time_out_count = 0;
p_sensor->comm.sensor_state_code &= (~(0x00000001 << PROTO_LEAKAGE_STATE_CODE_TIME_OUT));
p_sensor->comm.sensor_state_code &= (~PROTO_LEAKAGE_STATE_CODE_TIME_OUT);
switch(p_sensor->comm.state)
{
@@ -220,7 +250,7 @@ static void proto_leakage_rx_task(u8 *p_data,u16 len,void *other_data)
case PROTO_LEAKAGE_COMM_STATE_CURR_DATA_GET:
{
/*<2A><><EFBFBD>㵱ǰ<E3B5B1><EFBFBD><E8B1B8><EFBFBD><EFBFBD>*/
u8 sensor_index = p_leakage->sensor_index;
u8 sensor_index = p_sensor->comm.leakage_data_index;
u16 ch_addr_offset[4] = {0,4,8,11}; /*©Һ<C2A9><D2BA><EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD>ַƫ<D6B7><C6AB>*/
u16 temp;