This commit is contained in:
parent
caa17f68ed
commit
86f27d8e6d
|
@ -18,11 +18,25 @@
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"files.associations": {
|
"files.associations": {
|
||||||
|
"*.sqlbook": "sql",
|
||||||
|
"*.ndjson": "jsonl",
|
||||||
"*.dbclient-js": "javascript",
|
"*.dbclient-js": "javascript",
|
||||||
"config.h": "c",
|
"config.h": "c",
|
||||||
"ch58xble_lib.h": "c",
|
"ch58xble_lib.h": "c",
|
||||||
"bsp_uart.h": "c",
|
"bsp_uart.h": "c",
|
||||||
"bsp_iwdg.h": "c",
|
"bsp_iwdg.h": "c",
|
||||||
"log.h": "c"
|
"log.h": "c",
|
||||||
|
"hal.h": "c",
|
||||||
|
"multicentral.h": "c",
|
||||||
|
"bsp_valve.h": "c",
|
||||||
|
"shell_port.h": "c",
|
||||||
|
"atomic": "c",
|
||||||
|
"cstddef": "c",
|
||||||
|
"type_traits": "c",
|
||||||
|
"gattprofile.h": "c",
|
||||||
|
"bsp_flash.h": "c",
|
||||||
|
"shell.h": "c",
|
||||||
|
"ch58x_uart.h": "c",
|
||||||
|
"bsp_tim.h": "c"
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -819,6 +819,16 @@ static void centralEventCB(gapRoleEvent_t *pEvent)
|
||||||
centralScanRes = 0;
|
centralScanRes = 0;
|
||||||
tmos_stop_task(centralConnList[connItem].taskID, START_READ_RSSI_EVT);
|
tmos_stop_task(centralConnList[connItem].taskID, START_READ_RSSI_EVT);
|
||||||
logDebug("Discovering...\r\n");
|
logDebug("Discovering...\r\n");
|
||||||
|
//更新阀门状态信息
|
||||||
|
if (bt_connect_flag == 1)
|
||||||
|
{
|
||||||
|
bt_connect_flag = 0;
|
||||||
|
valve_list.valve_data[0].valve_connct_status = FALSE;
|
||||||
|
valve_list.valve_data[0].valve_switch_status = FALSE;
|
||||||
|
valve_list.valve_data[0].valve_temp = FALSE;
|
||||||
|
BSP_Bt_Valve_Resp(kValveConncetStatus, valve_list.valve_data[0].valve_id, valve_list.valve_data[0].valve_mac, FALSE);//表示连接成功
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case GAP_LINK_PARAM_UPDATE_EVENT:
|
case GAP_LINK_PARAM_UPDATE_EVENT:
|
||||||
|
@ -1242,8 +1252,6 @@ int BSP_Master_Receive_Data(uint8_t task_id, uint8_t *data, uint16_t len)
|
||||||
|
|
||||||
return -5;
|
return -5;
|
||||||
}
|
}
|
||||||
// logDebug("BT 数据帧校验通过");
|
|
||||||
|
|
||||||
// //有效数据长度
|
// //有效数据长度
|
||||||
size_t data_len = (datalength + 5);
|
size_t data_len = (datalength + 5);
|
||||||
ret = data_len;
|
ret = data_len;
|
||||||
|
|
|
@ -101,6 +101,10 @@ int main(void)
|
||||||
GAPRole_CentralInit();
|
GAPRole_CentralInit();
|
||||||
Central_Init();
|
Central_Init();
|
||||||
|
|
||||||
|
logDebug("get_ticks %d", BSP_Get_Tick());
|
||||||
|
DelayMs(2000);
|
||||||
|
logDebug("get_ticks %d", BSP_Get_Tick());
|
||||||
|
|
||||||
BSP_FLASH_Init();
|
BSP_FLASH_Init();
|
||||||
BSP_Valve_Init();
|
BSP_Valve_Init();
|
||||||
BSP_UART1_Init(); // BT UART
|
BSP_UART1_Init(); // BT UART
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* @Author: mbw
|
* @Author: mbw
|
||||||
* @Date: 2024-12-06 16:52:29
|
* @Date: 2024-12-06 16:52:29
|
||||||
* @LastEditors: mbw && 1600520629@qq.com
|
* @LastEditors: mbw && 1600520629@qq.com
|
||||||
* @LastEditTime: 2025-01-02 11:22:39
|
* @LastEditTime: 2025-04-22 15:24:49
|
||||||
* @FilePath: \ble_-tyq_-bjq_-ch584-m\bsp\inc\bsp_uart.h
|
* @FilePath: \ble_-tyq_-bjq_-ch584-m\bsp\inc\bsp_uart.h
|
||||||
* @Description:
|
* @Description:
|
||||||
* @
|
* @
|
||||||
|
@ -38,6 +38,8 @@ typedef struct __attribute__((packed))
|
||||||
uint8_t buf[256];
|
uint8_t buf[256];
|
||||||
} BTFrameData;
|
} BTFrameData;
|
||||||
|
|
||||||
|
extern uint8_t bt_connect_flag;
|
||||||
|
extern uint8_t BtRxTaskId;
|
||||||
|
|
||||||
void BSP_UART1_Init(void);
|
void BSP_UART1_Init(void);
|
||||||
unsigned int BSP_Uart1_Receive_Data(void *buf, unsigned int len);
|
unsigned int BSP_Uart1_Receive_Data(void *buf, unsigned int len);
|
||||||
|
@ -52,6 +54,6 @@ unsigned int BSP_Uart3_Send_Data(const void *buf, unsigned int len);
|
||||||
uint8_t _CheckSum(const uint8_t *data, size_t len);
|
uint8_t _CheckSum(const uint8_t *data, size_t len);
|
||||||
uint8_t BT_GenerateRawFrame(BTFrameData *pRawData, const uint8_t *p_src, uint8_t src_len);
|
uint8_t BT_GenerateRawFrame(BTFrameData *pRawData, const uint8_t *p_src, uint8_t src_len);
|
||||||
|
|
||||||
extern uint8_t BtRxTaskId;
|
|
||||||
|
|
||||||
#endif // !__BSP_UART_H__
|
#endif // !__BSP_UART_H__
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* @Author: mbw
|
* @Author: mbw
|
||||||
* @Date: 2024-12-09 11:40:04
|
* @Date: 2024-12-09 11:40:04
|
||||||
* @LastEditors: mbw && 1600520629@qq.com
|
* @LastEditors: mbw && 1600520629@qq.com
|
||||||
* @LastEditTime: 2025-01-02 14:09:43
|
* @LastEditTime: 2025-04-22 13:19:22
|
||||||
* @FilePath: \ble_-tyq_-bjq_-ch584-m\bsp\inc\bsp_valve.h
|
* @FilePath: \ble_-tyq_-bjq_-ch584-m\bsp\inc\bsp_valve.h
|
||||||
* @Description:
|
* @Description:
|
||||||
* @
|
* @
|
||||||
|
@ -33,6 +33,7 @@ typedef enum
|
||||||
kValveCmdRep,
|
kValveCmdRep,
|
||||||
kValveCmdRemAll,//移除所有的阀门地址
|
kValveCmdRemAll,//移除所有的阀门地址
|
||||||
kValveEventStatus,//阀门状态包
|
kValveEventStatus,//阀门状态包
|
||||||
|
kValveConncetStatus,//阀门状态包
|
||||||
kValveCmdMax,
|
kValveCmdMax,
|
||||||
} ValveCmdType;
|
} ValveCmdType;
|
||||||
|
|
||||||
|
|
|
@ -98,6 +98,7 @@ void BSP_FLASH_Init(void)
|
||||||
if (flash_write_flag != FLASH_INFO_WRITE_FLAG_VAL) // 用以防止刷掉写入的数据
|
if (flash_write_flag != FLASH_INFO_WRITE_FLAG_VAL) // 用以防止刷掉写入的数据
|
||||||
{
|
{
|
||||||
logDebug("flash_write_flag != FLASH_INFO_WRITE_FLAG_VAL");
|
logDebug("flash_write_flag != FLASH_INFO_WRITE_FLAG_VAL");
|
||||||
|
logDebug("BSP_FLASH_Init");
|
||||||
flash_write_flag = FLASH_INFO_WRITE_FLAG_VAL;
|
flash_write_flag = FLASH_INFO_WRITE_FLAG_VAL;
|
||||||
// 擦除数据
|
// 擦除数据
|
||||||
EEPROM_ERASE(FLASH_INFO_ADDR, DATA_FLASH_PAGE_SIZE); // 擦除待写区
|
EEPROM_ERASE(FLASH_INFO_ADDR, DATA_FLASH_PAGE_SIZE); // 擦除待写区
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* @Author: mbw
|
* @Author: mbw
|
||||||
* @Date: 2024-12-07 15:13:24
|
* @Date: 2024-12-07 15:13:24
|
||||||
* @LastEditors: mbw && 1600520629@qq.com
|
* @LastEditors: mbw && 1600520629@qq.com
|
||||||
* @LastEditTime: 2024-12-16 14:54:45
|
* @LastEditTime: 2025-04-24 09:42:42
|
||||||
* @FilePath: \ble_-tyq_-bjq_-ch584-m\bsp\src\bsp_tim.c
|
* @FilePath: \ble_-tyq_-bjq_-ch584-m\bsp\src\bsp_tim.c
|
||||||
* @Description:
|
* @Description:
|
||||||
*
|
*
|
||||||
|
@ -11,12 +11,10 @@
|
||||||
#include "bsp_tim.h"
|
#include "bsp_tim.h"
|
||||||
#include "HAL.h"
|
#include "HAL.h"
|
||||||
|
|
||||||
|
|
||||||
// tick_1ms_cnt<6E><74>SysTick_Handler()<29><>1ms +1
|
|
||||||
volatile uint32_t tick_1ms_cnt = 0;
|
volatile uint32_t tick_1ms_cnt = 0;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @description: <EFBFBD><EFBFBD>SysTick<EFBFBD><EFBFBD>1ms<EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
* @description:
|
||||||
* @return {uint32_t}
|
* @return {uint32_t}
|
||||||
*/
|
*/
|
||||||
uint32_t BSP_Get_Tick(void)
|
uint32_t BSP_Get_Tick(void)
|
||||||
|
@ -27,14 +25,13 @@ uint32_t BSP_Get_Tick(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// SysTick<63>жϺ<D0B6><CFBA><EFBFBD>
|
|
||||||
__INTERRUPT
|
__INTERRUPT
|
||||||
__HIGH_CODE
|
__HIGH_CODE
|
||||||
void SysTick_Handler()
|
void SysTick_Handler()
|
||||||
{
|
{
|
||||||
static uint8_t cnt_ms = 0;
|
static uint8_t cnt_ms = 0;
|
||||||
|
|
||||||
SysTick->SR = 0; // <20><><EFBFBD><EFBFBD>жϱ<D0B6>־
|
SysTick->SR = 0;
|
||||||
tick_1ms_cnt++;
|
tick_1ms_cnt++;
|
||||||
|
|
||||||
cnt_ms++;
|
cnt_ms++;
|
||||||
|
|
|
@ -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: 2025-01-02 11:38:30
|
* @LastEditTime: 2025-04-22 15:16:57
|
||||||
* @FilePath: \ble_-tyq_-bjq_-ch584-m\bsp\src\bsp_uart.c
|
* @FilePath: \ble_-tyq_-bjq_-ch584-m\bsp\src\bsp_uart.c
|
||||||
* @Description:
|
* @Description:
|
||||||
*
|
*
|
||||||
|
@ -43,6 +43,8 @@ uint8_t uart3_rx_buf[UART3_RX_BUFFER_LENGTH] = {0};
|
||||||
|
|
||||||
uint8_t BtRxTaskId;
|
uint8_t BtRxTaskId;
|
||||||
|
|
||||||
|
uint8_t bt_connect_flag = 0;
|
||||||
|
|
||||||
BTFrameData bt_frame = {0};
|
BTFrameData bt_frame = {0};
|
||||||
/**
|
/**
|
||||||
* @description: 从帧起始符开始到校验码之前所有字节的和的模256,即各字节不计超过255的溢出值的二进制算术和。
|
* @description: 从帧起始符开始到校验码之前所有字节的和的模256,即各字节不计超过255的溢出值的二进制算术和。
|
||||||
|
@ -310,7 +312,17 @@ uint16_t BSP_Send_Process(uint8_t *pdata)
|
||||||
case kCmdData:
|
case kCmdData:
|
||||||
valve_list.valve_data[0].valve_connct_status = 1;
|
valve_list.valve_data[0].valve_connct_status = 1;
|
||||||
tmos_memcpy(&valve_list.valve_data[0].valve_switch_status, &master_rx_buf[3], master_rx_buf[2]);
|
tmos_memcpy(&valve_list.valve_data[0].valve_switch_status, &master_rx_buf[3], master_rx_buf[2]);
|
||||||
BSP_Bt_Valve_Resp(kValveEventStatus, valve_list.valve_data[0].valve_id, valve_list.valve_data[0].valve_mac, 0);
|
|
||||||
|
if ((bt_connect_flag != 1) && (valve_list.valve_data[0].valve_connct_status == 1))
|
||||||
|
{
|
||||||
|
bt_connect_flag = 1;
|
||||||
|
logDebug("阀门连接成功");
|
||||||
|
BSP_Bt_Valve_Resp(kValveConncetStatus, valve_list.valve_data[0].valve_id, valve_list.valve_data[0].valve_mac, TRUE);//表示连接成功
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
BSP_Bt_Valve_Resp(kValveEventStatus, valve_list.valve_data[0].valve_id, valve_list.valve_data[0].valve_mac, TRUE);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
logError("不支持的命令: %d", master_rx_buf[1]);
|
logError("不支持的命令: %d", master_rx_buf[1]);
|
||||||
|
@ -415,7 +427,7 @@ void BSP_UART3_Init(void)
|
||||||
GPIOB_ModeCfg(UART3_TX_PIN, GPIO_ModeOut_PP_5mA); // TXD-配置推挽输出,注意先让IO口输出高电平
|
GPIOB_ModeCfg(UART3_TX_PIN, GPIO_ModeOut_PP_5mA); // TXD-配置推挽输出,注意先让IO口输出高电平
|
||||||
UART3_DefInit();
|
UART3_DefInit();
|
||||||
UART3_BaudRateCfg(460800);
|
UART3_BaudRateCfg(460800);
|
||||||
UART3_ByteTrigCfg(UART_7BYTE_TRIG);
|
UART3_ByteTrigCfg(UART_1BYTE_TRIG);
|
||||||
// 中断方式接收数据
|
// 中断方式接收数据
|
||||||
UART3_INTCfg(ENABLE, RB_IER_LINE_STAT | RB_IER_RECV_RDY);
|
UART3_INTCfg(ENABLE, RB_IER_LINE_STAT | RB_IER_RECV_RDY);
|
||||||
PFIC_EnableIRQ(UART3_IRQn);
|
PFIC_EnableIRQ(UART3_IRQn);
|
||||||
|
|
|
@ -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: 2025-01-04 13:02:54
|
* @LastEditTime: 2025-04-22 15:15:24
|
||||||
* @FilePath: \ble_-tyq_-bjq_-ch584-m\bsp\src\bsp_valve.c
|
* @FilePath: \ble_-tyq_-bjq_-ch584-m\bsp\src\bsp_valve.c
|
||||||
* @Description:
|
* @Description:
|
||||||
*
|
*
|
||||||
|
@ -305,6 +305,7 @@ void BSP_Bt_Valve_Updata(void)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//蓝牙主机对报警器的响应函数。 state表示此对应的项目,可能是执行成功与否,可能是蓝牙连接状态吗,具体参考对应的case
|
||||||
int BSP_Bt_Valve_Resp(uint8_t cmd, uint8_t id, uint8_t *mac_addr, uint8_t state)
|
int BSP_Bt_Valve_Resp(uint8_t cmd, uint8_t id, uint8_t *mac_addr, uint8_t state)
|
||||||
{
|
{
|
||||||
uint8_t ret = 0;
|
uint8_t ret = 0;
|
||||||
|
@ -329,6 +330,13 @@ int BSP_Bt_Valve_Resp(uint8_t cmd, uint8_t id, uint8_t *mac_addr, uint8_t state)
|
||||||
tmos_memcpy(&ptr->buf[0], &valve_list.valve_data[id - 1], sizeof(struct valve_data));
|
tmos_memcpy(&ptr->buf[0], &valve_list.valve_data[id - 1], sizeof(struct valve_data));
|
||||||
BT_GenerateRawFrame(&valve_frame_data, (uint8_t *)ptr, sizeof(struct valve_data));
|
BT_GenerateRawFrame(&valve_frame_data, (uint8_t *)ptr, sizeof(struct valve_data));
|
||||||
break;
|
break;
|
||||||
|
case kValveConncetStatus:
|
||||||
|
ptr->buf[0] = id;
|
||||||
|
tmos_memcpy(&ptr->buf[1], mac_addr, 6);
|
||||||
|
ptr->buf[7] = state; //0表示断开,1表示连接
|
||||||
|
logDebug("连接状态:%d", ptr->buf[7]);
|
||||||
|
BT_GenerateRawFrame(&valve_frame_data, (uint8_t *)ptr, 9);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue