修改了连接问题
This commit is contained in:
parent
9d155d5ff1
commit
c05218c91c
|
@ -715,8 +715,8 @@ static void centralEventCB(gapRoleEvent_t *pEvent)
|
||||||
case GAP_DEVICE_INIT_DONE_EVENT:
|
case GAP_DEVICE_INIT_DONE_EVENT:
|
||||||
{
|
{
|
||||||
GAPRole_CentralCancelDiscovery();
|
GAPRole_CentralCancelDiscovery();
|
||||||
logDebug("停止扫描,发起直连\r\n");
|
// logDebug("停止扫描,发起直连\r\n");
|
||||||
tmos_start_task(MasterCtrTaskId, MASTER_CONNECT_EVT, 800);
|
// tmos_start_task(MasterCtrTaskId, MASTER_CONNECT_EVT, 800);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case GAP_DEVICE_INFO_EVENT:
|
case GAP_DEVICE_INFO_EVENT:
|
||||||
|
@ -1188,7 +1188,7 @@ int BSP_Master_Send(centralConnItem_t *centralConnList, uint8_t id, uint8_t *Dat
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
logError("no BLE_STATE_CONNECTED");
|
logError("没有连接成功");
|
||||||
ret = 4;
|
ret = 4;
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
|
@ -1263,7 +1263,7 @@ int BSP_Master_Receive_Data(uint8_t task_id, uint8_t *data, uint16_t len)
|
||||||
}
|
}
|
||||||
else if (data[index + 1] == kValveCmdRep) // 这个是代表了其是心跳数据包
|
else if (data[index + 1] == kValveCmdRep) // 这个是代表了其是心跳数据包
|
||||||
{
|
{
|
||||||
logDebug("BT 心跳数据包:");
|
logDebug("蓝牙从机心跳数据包:");
|
||||||
logHexDumpAll(data, data_len);
|
logHexDumpAll(data, data_len);
|
||||||
}
|
}
|
||||||
// 到这一步说明数据没问题,将接收到的数据通过中心任务发送出去
|
// 到这一步说明数据没问题,将接收到的数据通过中心任务发送出去
|
||||||
|
@ -1284,23 +1284,23 @@ void Master_Connect(void)
|
||||||
uint8_t def_mac[6] = {0xFF};
|
uint8_t def_mac[6] = {0xFF};
|
||||||
uint8_t cnt = Flash_Get_Valve_Num();
|
uint8_t cnt = Flash_Get_Valve_Num();
|
||||||
logDebug("cnt:%d\r\n", cnt);
|
logDebug("cnt:%d\r\n", cnt);
|
||||||
if (cnt == 0)
|
// if (cnt == 0)
|
||||||
{
|
// {
|
||||||
GAPRole_CentralEstablishLink(DEFAULT_LINK_HIGH_DUTY_CYCLE,
|
// GAPRole_CentralEstablishLink(DEFAULT_LINK_HIGH_DUTY_CYCLE,
|
||||||
DEFAULT_LINK_WHITE_LIST,
|
// DEFAULT_LINK_WHITE_LIST,
|
||||||
ADDRTYPE_PUBLIC,
|
// ADDRTYPE_PUBLIC,
|
||||||
def_mac);
|
// def_mac);
|
||||||
tmos_start_task(centralTaskId, ESTABLISH_LINK_TIMEOUT_EVT, ESTABLISH_LINK_TIMEOUT);
|
// tmos_start_task(centralTaskId, ESTABLISH_LINK_TIMEOUT_EVT, ESTABLISH_LINK_TIMEOUT);
|
||||||
|
|
||||||
// uint8_t mac_addr[6] = {0x93, 0xB4, 0x8F, 0x10, 0x53, 0x5C};
|
// // uint8_t mac_addr[6] = {0x93, 0xB4, 0x8F, 0x10, 0x53, 0x5C};
|
||||||
// logHexDumpAll(mac_addr, 6);
|
// // logHexDumpAll(mac_addr, 6);
|
||||||
// GAPRole_CentralEstablishLink(DEFAULT_LINK_HIGH_DUTY_CYCLE,
|
// // GAPRole_CentralEstablishLink(DEFAULT_LINK_HIGH_DUTY_CYCLE,
|
||||||
// DEFAULT_LINK_WHITE_LIST,
|
// // DEFAULT_LINK_WHITE_LIST,
|
||||||
// ADDRTYPE_PUBLIC,
|
// // ADDRTYPE_PUBLIC,
|
||||||
// mac_addr);
|
// // mac_addr);
|
||||||
// tmos_start_task(centralTaskId, ESTABLISH_LINK_TIMEOUT_EVT, ESTABLISH_LINK_TIMEOUT);
|
// // tmos_start_task(centralTaskId, ESTABLISH_LINK_TIMEOUT_EVT, ESTABLISH_LINK_TIMEOUT);
|
||||||
return;
|
// return;
|
||||||
}
|
// }
|
||||||
|
|
||||||
for (uint8_t i = 0; i < cnt; i++)
|
for (uint8_t i = 0; i < cnt; i++)
|
||||||
{
|
{
|
||||||
|
@ -1321,6 +1321,7 @@ void Master_Connect(void)
|
||||||
void Master_DisConnect(void)
|
void Master_DisConnect(void)
|
||||||
{
|
{
|
||||||
GAPRole_TerminateLink(centralConnList[0].connHandle);
|
GAPRole_TerminateLink(centralConnList[0].connHandle);
|
||||||
|
// centralConnList[0].state = BLE_STATE_IDLE;
|
||||||
logDebug("主动断开连接\r\n");
|
logDebug("主动断开连接\r\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1333,10 +1334,15 @@ uint16_t Master_ProcessEvent(uint8_t task_id, uint16_t events)
|
||||||
{
|
{
|
||||||
if (centralConnList[0].state != BLE_STATE_CONNECTED)
|
if (centralConnList[0].state != BLE_STATE_CONNECTED)
|
||||||
{
|
{
|
||||||
if (Flash_Get_Valve_Num())
|
if (Flash_Get_Valve_Num())//如果有设备,发起连接
|
||||||
{
|
{
|
||||||
tmos_start_task(task_id, MASTER_CONNECT_EVT, 2400);
|
tmos_start_task(task_id, MASTER_CONNECT_EVT, 2400);
|
||||||
}
|
}
|
||||||
|
else//没有则开启定时检测
|
||||||
|
{
|
||||||
|
logDebug("没有设备,开启定时检测\r\n");
|
||||||
|
tmos_start_task(task_id, MASTER_DETECT_EVT, 2400);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return (events ^ MASTER_START_EVT);
|
return (events ^ MASTER_START_EVT);
|
||||||
}
|
}
|
||||||
|
@ -1344,23 +1350,21 @@ uint16_t Master_ProcessEvent(uint8_t task_id, uint16_t events)
|
||||||
{
|
{
|
||||||
if (centralConnList[0].state != BLE_STATE_CONNECTED)
|
if (centralConnList[0].state != BLE_STATE_CONNECTED)
|
||||||
{
|
{
|
||||||
|
if (Flash_Get_Valve_Num())
|
||||||
tmos_start_task(task_id, MASTER_CONNECT_EVT, 2400);
|
{
|
||||||
}
|
logDebug("有设备,尝试连接\r\n");
|
||||||
else
|
tmos_start_task(task_id, MASTER_CONNECT_EVT, 2400);
|
||||||
{
|
}
|
||||||
tmos_start_task(task_id, MASTER_DETECT_EVT, 2400);
|
|
||||||
}
|
}
|
||||||
|
tmos_start_task(task_id, MASTER_DETECT_EVT, 2400);
|
||||||
|
|
||||||
return (events ^ MASTER_DETECT_EVT);
|
return (events ^ MASTER_DETECT_EVT);
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (events & MASTER_CONNECT_EVT)
|
else if (events & MASTER_CONNECT_EVT)
|
||||||
{
|
{
|
||||||
if (centralConnList[0].state != BLE_STATE_CONNECTED)
|
if (centralConnList[0].state != BLE_STATE_CONNECTED)
|
||||||
{
|
{
|
||||||
Master_Connect();
|
Master_Connect();
|
||||||
tmos_start_task(task_id, MASTER_DETECT_EVT, 2400);
|
|
||||||
}
|
}
|
||||||
return (events ^ MASTER_CONNECT_EVT);
|
return (events ^ MASTER_CONNECT_EVT);
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* @Author: mbw
|
* @Author: mbw
|
||||||
* @Date: 2024-12-06 16:52:30
|
* @Date: 2024-12-06 16:52:30
|
||||||
* @LastEditors: mbw && 1600520629@qq.com
|
* @LastEditors: mbw && 1600520629@qq.com
|
||||||
* @LastEditTime: 2024-12-16 16:01:21
|
* @LastEditTime: 2024-12-16 20:03:21
|
||||||
* @FilePath: \ble_-tyq_-bjq_-ch584-m\bsp\src\bsp_uart.c
|
* @FilePath: \ble_-tyq_-bjq_-ch584-m\bsp\src\bsp_uart.c
|
||||||
* @Description:
|
* @Description:
|
||||||
*
|
*
|
||||||
|
@ -227,7 +227,7 @@ uint8_t BT_GenerateRawFrame(BTFrameData *pRawData, const uint8_t *p_src, uint8_t
|
||||||
pRawData->buf[pRawData->len - 2] = _CheckSum(&pRawData->buf[0], pRawData->len - 2);
|
pRawData->buf[pRawData->len - 2] = _CheckSum(&pRawData->buf[0], pRawData->len - 2);
|
||||||
pRawData->buf[pRawData->len - 1] = 0X55;
|
pRawData->buf[pRawData->len - 1] = 0X55;
|
||||||
|
|
||||||
logInfo("BT_GenerateRawFrame");
|
logInfo("蓝牙主机发送数据给报警器:");
|
||||||
logHexDumpAll(&pRawData->buf[0], pRawData->len);
|
logHexDumpAll(&pRawData->buf[0], pRawData->len);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -324,7 +324,6 @@ uint16_t BT_ProcessEvent(uint8_t task_id, uint16_t events)
|
||||||
{
|
{
|
||||||
lwrb_reset(&uart1_rx_t);
|
lwrb_reset(&uart1_rx_t);
|
||||||
lwrb_reset(&uart1_tx_t);
|
lwrb_reset(&uart1_tx_t);
|
||||||
tmos_start_task(task_id, BT_INFO_UPDATA_EVT, 0);
|
|
||||||
tmos_start_task(task_id, BT_REC_EVT, 800);
|
tmos_start_task(task_id, BT_REC_EVT, 800);
|
||||||
|
|
||||||
return (events ^ BT_START_EVT);
|
return (events ^ BT_START_EVT);
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* @Author: mbw
|
* @Author: mbw
|
||||||
* @Date: 2024-12-09 11:40:10
|
* @Date: 2024-12-09 11:40:10
|
||||||
* @LastEditors: mbw && 1600520629@qq.com
|
* @LastEditors: mbw && 1600520629@qq.com
|
||||||
* @LastEditTime: 2024-12-16 19:11:35
|
* @LastEditTime: 2024-12-16 20:35:38
|
||||||
* @FilePath: \ble_-tyq_-bjq_-ch584-m\bsp\src\bsp_valve.c
|
* @FilePath: \ble_-tyq_-bjq_-ch584-m\bsp\src\bsp_valve.c
|
||||||
* @Description:
|
* @Description:
|
||||||
*
|
*
|
||||||
|
@ -114,6 +114,11 @@ int BSP_Bt_Register_Valve(uint8_t *data, uint8_t len)
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
if (tmos_isbufset(&data[1], 0, FLASH_MAC_INFO_LEN) == TRUE)
|
||||||
|
{
|
||||||
|
logError("阀门写值错误为0");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
logDebug("注册阀门信息:");
|
logDebug("注册阀门信息:");
|
||||||
if (tmos_memcmp(&data[1], mac_addr, FLASH_MAC_INFO_LEN) == TRUE)
|
if (tmos_memcmp(&data[1], mac_addr, FLASH_MAC_INFO_LEN) == TRUE)
|
||||||
{
|
{
|
||||||
|
@ -136,6 +141,7 @@ int BSP_Bt_Register_Valve(uint8_t *data, uint8_t len)
|
||||||
uint8_t num = Flash_Get_Valve_Num();
|
uint8_t num = Flash_Get_Valve_Num();
|
||||||
Flash_Set_Valve_Num(num + 1);
|
Flash_Set_Valve_Num(num + 1);
|
||||||
BSP_Bt_Valve_Updata(); // 更新阀门信息
|
BSP_Bt_Valve_Updata(); // 更新阀门信息
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -231,7 +237,11 @@ void BSP_Bt_Valve_Updata(void)
|
||||||
|
|
||||||
uint8_t num = Flash_Get_Valve_Num();
|
uint8_t num = Flash_Get_Valve_Num();
|
||||||
logInfo("BSP_Bt_Valve_Updata num: %d ", num);
|
logInfo("BSP_Bt_Valve_Updata num: %d ", num);
|
||||||
|
if (num == 0)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
tmos_memset(&valve_list, 0, sizeof(valve_data_list_t));
|
tmos_memset(&valve_list, 0, sizeof(valve_data_list_t));
|
||||||
|
|
||||||
for (int i = 0; i < MAX_VALVE_NUM; i++) // 这个循环是为了将数据拷贝到valve_list中, 并且保证id号和flash对应起来
|
for (int i = 0; i < MAX_VALVE_NUM; i++) // 这个循环是为了将数据拷贝到valve_list中, 并且保证id号和flash对应起来
|
||||||
|
|
Loading…
Reference in New Issue