解决了报警器短时间掉电,蓝牙不重启导致的蓝牙连接事件不上报的bug

This commit is contained in:
小马_666 2025-05-12 09:10:25 +08:00
parent de488708ef
commit 4aff0a236e
1 changed files with 273 additions and 261 deletions

View File

@ -44,6 +44,8 @@ BTFrameData bt_frame = {0};
valve_data valve[MAX_VALVE_NUM] = {0}; valve_data valve[MAX_VALVE_NUM] = {0};
rt_uint8_t to_sever_send_bt_connect_flag = 0;
rt_size_t BSP_Bt_Send_Data (uint8_t *data, size_t size) rt_size_t BSP_Bt_Send_Data (uint8_t *data, size_t size)
{ {
return rt_device_write (rt_bt_device, 0, data, size); return rt_device_write (rt_bt_device, 0, data, size);
@ -369,7 +371,15 @@ int BSP_Bt_Process(uint8_t *data, uint16_t len)
// TODO:添加阀门数据处理函数 // TODO:添加阀门数据处理函数
rt_memcpy (&valve[data_buf[3] - 1], &data_buf[3], sizeof (struct valve_t)); rt_memcpy (&valve[data_buf[3] - 1], &data_buf[3], sizeof (struct valve_t));
LOG_HEX ("valve_data:", 16, (rt_uint8_t *)&valve[data_buf[3] - 1], sizeof (struct valve_t)); LOG_HEX ("valve_data:", 16, (rt_uint8_t *)&valve[data_buf[3] - 1], sizeof (struct valve_t));
if (!to_sever_send_bt_connect_flag)
{
while (!power_on_send_flag)
{
rt_thread_mdelay (100);
}
to_sever_send_bt_connect_flag = 1;
Ml307_Send_Event (kMl307ValveConnectEvent);
}
break; break;
case kValveEventConnect: case kValveEventConnect:
LOG_I ("接收到阀门连接状态数据"); LOG_I ("接收到阀门连接状态数据");
@ -384,6 +394,7 @@ int BSP_Bt_Process(uint8_t *data, uint16_t len)
{ {
rt_thread_mdelay (100); rt_thread_mdelay (100);
} }
to_sever_send_bt_connect_flag = 1;
Ml307_Send_Event (kMl307ValveConnectEvent); Ml307_Send_Event (kMl307ValveConnectEvent);
} }
else else
@ -393,6 +404,7 @@ int BSP_Bt_Process(uint8_t *data, uint16_t len)
{ {
rt_thread_mdelay (100); rt_thread_mdelay (100);
} }
to_sever_send_bt_connect_flag = 0;
Ml307_Send_Event (KMl307ValveDisconnectEvent); Ml307_Send_Event (KMl307ValveDisconnectEvent);
} }
break; break;
@ -454,10 +466,8 @@ void BSP_Bt_Valve_Updata(void)
} }
} }
Flash_Set_Valve_Num (cnt); Flash_Set_Valve_Num (cnt);
} }
static void Bt_Thread_Entry (void *parameter) static void Bt_Thread_Entry (void *parameter)
{ {
#if 0 #if 0
@ -540,6 +550,7 @@ int BSP_Bt_Init(void)
return ret; return ret;
} }
// INIT_COMPONENT_EXPORT(BSP_Bt_Init); // INIT_COMPONENT_EXPORT(BSP_Bt_Init);
#ifdef TEST_ENABLE #ifdef TEST_ENABLE
@ -572,5 +583,6 @@ static void TEST_BT_Send_Data(int argc, char **argv)
} }
} }
} }
MSH_CMD_EXPORT (TEST_BT_Send_Data, "TEST_BT_Send_Data"); MSH_CMD_EXPORT (TEST_BT_Send_Data, "TEST_BT_Send_Data");
#endif #endif