写了自闭发的一些事件上报
This commit is contained in:
parent
54293c1e73
commit
4742154d0e
|
@ -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-05-23 10:34:57
|
* @LastEditTime: 2025-05-23 11:01:23
|
||||||
* @FilePath: \zbf_master_ch584m\bsp\inc\bsp_valve.h
|
* @FilePath: \zbf_master_ch584m\bsp\inc\bsp_valve.h
|
||||||
* @Description:
|
* @Description:
|
||||||
* @
|
* @
|
||||||
|
@ -65,19 +65,19 @@ typedef enum
|
||||||
typedef enum
|
typedef enum
|
||||||
{
|
{
|
||||||
kCmdCfg = 0X01,
|
kCmdCfg = 0X01,
|
||||||
kCmdCloseVavle,
|
kCmdCloseVavle, //关阀
|
||||||
kCmdOpenVavle,
|
kCmdOpenVavle,//开阀
|
||||||
kCmdData,
|
kCmdData,//命令数据(心跳数据)
|
||||||
kValveCmdOverPressure, // 超压关阀
|
kRespOverPressure, // 超压关阀
|
||||||
kValveCmdUnderPressure, // 欠压关阀
|
kRespUnderPressure, // 欠压关阀
|
||||||
kValveCmdOverCurrent, // 过流关阀
|
kRespOverCurrent, // 过流关阀
|
||||||
kValveCmdMicroLeak, // 微漏关阀
|
kRespMicroLeak, // 微漏关阀
|
||||||
kValveCmdTimer, // 定时关阀
|
kRespTimer, // 定时关阀
|
||||||
kValveCmdOpenWithStove, // 开灶开阀
|
kRespOpenWithStove, // 开灶开阀
|
||||||
kValveCmdCloseWithStove, // 关灶关阀
|
kRespCloseWithStove, // 关灶关阀
|
||||||
kValveCmdOverTemperature, // 超温关阀
|
kRespOverTemperature, // 超温关阀
|
||||||
kValveCmdDelayClose, // 延时关阀
|
kRespDelayClose, // 延时关阀
|
||||||
kValveCmdManualClose, // 手动关阀
|
kRespManualClose, // 手动关阀
|
||||||
} TeFrameCmd;
|
} TeFrameCmd;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -121,6 +121,6 @@ int BSP_Bt_Remove_Valve(uint8_t *data, uint8_t len);
|
||||||
int BSP_Bt_Replace_Valve(uint8_t *data, uint8_t len);
|
int BSP_Bt_Replace_Valve(uint8_t *data, uint8_t len);
|
||||||
void BSP_Bt_Valve_Updata(void);
|
void BSP_Bt_Valve_Updata(void);
|
||||||
int BSP_Bt_Remove_All_Valve(void);
|
int BSP_Bt_Remove_All_Valve(void);
|
||||||
int BSP_Bt_Valve_Resp(uint8_t cmd, uint8_t id, uint8_t *mac_addr, uint8_t state);
|
int BSP_Bt_Valve_Resp(ValveCmdType cmd, uint8_t id, uint8_t *mac_addr, uint8_t state);
|
||||||
|
|
||||||
#endif // ! __BSP_VALVE_H__
|
#endif // ! __BSP_VALVE_H__
|
||||||
|
|
|
@ -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-05-23 10:35:36
|
* @LastEditTime: 2025-05-23 11:05:49
|
||||||
* @FilePath: \zbf_master_ch584m\bsp\src\bsp_uart.c
|
* @FilePath: \zbf_master_ch584m\bsp\src\bsp_uart.c
|
||||||
* @Description:
|
* @Description:
|
||||||
*
|
*
|
||||||
|
@ -183,7 +183,7 @@ int BSP_Bt_Process(uint8_t *data, uint16_t len)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case kValveCmdRem:
|
case kValveCmdRem:
|
||||||
logDebug("recv cmd: 0x03, 执行的动作是移除阀门");
|
logDebug("recv cmd: 0x03, 移除阀门");
|
||||||
ret = BSP_Bt_Remove_Valve(&data_buf[0], datalength);
|
ret = BSP_Bt_Remove_Valve(&data_buf[0], datalength);
|
||||||
if (ret == 0)
|
if (ret == 0)
|
||||||
{
|
{
|
||||||
|
@ -195,7 +195,7 @@ int BSP_Bt_Process(uint8_t *data, uint16_t len)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case kValveCmdRep:
|
case kValveCmdRep:
|
||||||
logDebug("recv cmd: 0x04, 执行的动作是更换阀门");
|
logDebug("recv cmd: 0x04, 更换阀门");
|
||||||
ret = BSP_Bt_Replace_Valve(&data_buf[0], datalength);
|
ret = BSP_Bt_Replace_Valve(&data_buf[0], datalength);
|
||||||
if (ret == 0)
|
if (ret == 0)
|
||||||
{
|
{
|
||||||
|
@ -207,7 +207,7 @@ int BSP_Bt_Process(uint8_t *data, uint16_t len)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case kValveCmdRemAll:
|
case kValveCmdRemAll:
|
||||||
logDebug("recv cmd: 0x04, 执行的动作是移除所有阀门信息");
|
logDebug("recv cmd: 0x04, 移除所有阀门信息");
|
||||||
ret = BSP_Bt_Remove_All_Valve();
|
ret = BSP_Bt_Remove_All_Valve();
|
||||||
if (ret == 0)
|
if (ret == 0)
|
||||||
{
|
{
|
||||||
|
@ -257,7 +257,7 @@ uint8_t BT_GenerateRawFrame(BTFrameData *pRawData, const uint8_t *p_src, uint8_t
|
||||||
uint16_t BSP_Send_Process(uint8_t *pdata)
|
uint16_t BSP_Send_Process(uint8_t *pdata)
|
||||||
{
|
{
|
||||||
int8_t ret = 0;
|
int8_t ret = 0;
|
||||||
__attribute__((aligned(4))) uint8_t master_rx_buf[64] = {0};
|
uint8_t master_rx_buf[64] = {0};
|
||||||
|
|
||||||
uint8_t found_frame_start = 0;
|
uint8_t found_frame_start = 0;
|
||||||
uint8_t *frame_start = NULL;
|
uint8_t *frame_start = NULL;
|
||||||
|
@ -317,15 +317,55 @@ uint16_t BSP_Send_Process(uint8_t *pdata)
|
||||||
{
|
{
|
||||||
bt_connect_flag = 1;
|
bt_connect_flag = 1;
|
||||||
logDebug("阀门连接成功");
|
logDebug("阀门连接成功");
|
||||||
BSP_Bt_Valve_Resp(kValveConncetStatus, valve_list.valve_data[0].valve_id, valve_list.valve_data[0].valve_mac, TRUE);//表示连接成功
|
BSP_Bt_Valve_Resp(kValveConncetStatus, valve_list.valve_data[0].valve_id, valve_list.valve_data[0].valve_mac, TRUE); // 表示连接成功
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
BSP_Bt_Valve_Resp(kValveEventStatus, valve_list.valve_data[0].valve_id, valve_list.valve_data[0].valve_mac, TRUE);
|
BSP_Bt_Valve_Resp(kValveEventStatus, valve_list.valve_data[0].valve_id, valve_list.valve_data[0].valve_mac, TRUE);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
//TODO:待完成从机的一些主动上报信息解析
|
// TODO:待完成从机的一些主动上报信息解析
|
||||||
case
|
case kRespOverPressure:
|
||||||
|
logDebug("阀门超压关阀");
|
||||||
|
BSP_Bt_Valve_Resp(kValveCmdOverPressure, valve_list.valve_data[0].valve_id, valve_list.valve_data[0].valve_mac, master_rx_buf[3]);
|
||||||
|
break;
|
||||||
|
case kRespUnderPressure:
|
||||||
|
logDebug("阀门欠压关阀");
|
||||||
|
|
||||||
|
BSP_Bt_Valve_Resp(kValveCmdUnderPressure, valve_list.valve_data[0].valve_id, valve_list.valve_data[0].valve_mac, master_rx_buf[3]);
|
||||||
|
break;
|
||||||
|
case kRespOverCurrent:
|
||||||
|
logDebug("阀门过流关阀");
|
||||||
|
BSP_Bt_Valve_Resp(kValveCmdOverCurrent, valve_list.valve_data[0].valve_id, valve_list.valve_data[0].valve_mac, master_rx_buf[3]);
|
||||||
|
break;
|
||||||
|
case kRespMicroLeak:
|
||||||
|
logDebug("阀门微漏关阀");
|
||||||
|
BSP_Bt_Valve_Resp(kValveCmdMicroLeak, valve_list.valve_data[0].valve_id, valve_list.valve_data[0].valve_mac, master_rx_buf[3]);
|
||||||
|
break;
|
||||||
|
case kRespTimer:
|
||||||
|
logDebug("阀门定时关阀");
|
||||||
|
BSP_Bt_Valve_Resp(kValveCmdTimer, valve_list.valve_data[0].valve_id, valve_list.valve_data[0].valve_mac, master_rx_buf[3]);
|
||||||
|
break;
|
||||||
|
case kRespOpenWithStove:
|
||||||
|
logDebug("开灶关阀");
|
||||||
|
BSP_Bt_Valve_Resp(kValveCmdOpenWithStove, valve_list.valve_data[0].valve_id, valve_list.valve_data[0].valve_mac, master_rx_buf[3]);
|
||||||
|
break;
|
||||||
|
case kRespCloseWithStove:
|
||||||
|
logDebug("关灶关阀");
|
||||||
|
BSP_Bt_Valve_Resp(kValveCmdCloseWithStove, valve_list.valve_data[0].valve_id, valve_list.valve_data[0].valve_mac, master_rx_buf[3]);
|
||||||
|
break;
|
||||||
|
case kRespOverTemperature:
|
||||||
|
logDebug("阀门超温关阀");
|
||||||
|
BSP_Bt_Valve_Resp(kValveCmdOverTemperature, valve_list.valve_data[0].valve_id, valve_list.valve_data[0].valve_mac, master_rx_buf[3]);
|
||||||
|
break;
|
||||||
|
case kRespDelayClose:
|
||||||
|
logDebug("阀门延时关闭");
|
||||||
|
BSP_Bt_Valve_Resp(kValveCmdDelayClose, valve_list.valve_data[0].valve_id, valve_list.valve_data[0].valve_mac, master_rx_buf[3]);
|
||||||
|
break;
|
||||||
|
case kRespManualClose:
|
||||||
|
logDebug("阀门手动关闭");
|
||||||
|
BSP_Bt_Valve_Resp(kValveCmdManualClose, valve_list.valve_data[0].valve_id, valve_list.valve_data[0].valve_mac, master_rx_buf[3]);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
logError("不支持的从机命令: %d", master_rx_buf[1]);
|
logError("不支持的从机命令: %d", master_rx_buf[1]);
|
||||||
break;
|
break;
|
||||||
|
@ -469,7 +509,7 @@ void UART1_IRQHandler(void)
|
||||||
}
|
}
|
||||||
case UART_II_RECV_RDY:
|
case UART_II_RECV_RDY:
|
||||||
case UART_II_RECV_TOUT: // 接收数据
|
case UART_II_RECV_TOUT: // 接收数据
|
||||||
if ((bt_recv_start_flag == 0)&&(bt_recv_end_flag == 0))//用于检测是否是开始接收数据
|
if ((bt_recv_start_flag == 0) && (bt_recv_end_flag == 0)) // 用于检测是否是开始接收数据
|
||||||
{
|
{
|
||||||
bt_recv_start_flag = 1;
|
bt_recv_start_flag = 1;
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,8 +2,8 @@
|
||||||
* @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-04-22 15:15:24
|
* @LastEditTime: 2025-05-23 11:08:46
|
||||||
* @FilePath: \ble_-tyq_-bjq_-ch584-m\bsp\src\bsp_valve.c
|
* @FilePath: \zbf_master_ch584m\bsp\src\bsp_valve.c
|
||||||
* @Description:
|
* @Description:
|
||||||
*
|
*
|
||||||
* Copyright (c) 2024 by ${git_name_email}, All Rights Reserved.
|
* Copyright (c) 2024 by ${git_name_email}, All Rights Reserved.
|
||||||
|
@ -14,7 +14,6 @@
|
||||||
#include "bsp_uart.h"
|
#include "bsp_uart.h"
|
||||||
#include "multiCentral.h"
|
#include "multiCentral.h"
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
接收的蓝牙从机info:
|
接收的蓝牙从机info:
|
||||||
接收数据帧格式: 帧头 + 命令 + 数据长度 + 心跳数据包 + 校验码 + 帧尾
|
接收数据帧格式: 帧头 + 命令 + 数据长度 + 心跳数据包 + 校验码 + 帧尾
|
||||||
|
@ -29,7 +28,6 @@
|
||||||
valve_data_list_t valve_list = {0};
|
valve_data_list_t valve_list = {0};
|
||||||
BTFrameData valve_frame_data = {0};
|
BTFrameData valve_frame_data = {0};
|
||||||
|
|
||||||
|
|
||||||
uint8_t Valve_GenerateRawFrame(BTFrameData *pRawData, const uint8_t cmd, const uint8_t *p_src, uint8_t src_len)
|
uint8_t Valve_GenerateRawFrame(BTFrameData *pRawData, const uint8_t cmd, const uint8_t *p_src, uint8_t src_len)
|
||||||
{
|
{
|
||||||
pRawData->len = src_len + 5;
|
pRawData->len = src_len + 5;
|
||||||
|
@ -62,7 +60,6 @@ int BSP_Valve_Ctr(uint8_t valve_id, const uint8_t cmd)
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
logDebug("BSP_Valve_Close: valve id: %d", valve_id);
|
logDebug("BSP_Valve_Close: valve id: %d", valve_id);
|
||||||
// TODO:检查是否连接, 如果连接,则发送数据,将关闭阀门指令发送过去,然后等待数据接收响应,如果接收到响应是关闭状态0x01,则返回成功,否则失败
|
|
||||||
if (cmd == kCmdCloseVavle)
|
if (cmd == kCmdCloseVavle)
|
||||||
{
|
{
|
||||||
Valve_GenerateRawFrame(&valve_frame_data, kCmdCloseVavle, &valve_ctr_valve, 1);
|
Valve_GenerateRawFrame(&valve_frame_data, kCmdCloseVavle, &valve_ctr_valve, 1);
|
||||||
|
@ -72,7 +69,6 @@ int BSP_Valve_Ctr(uint8_t valve_id, const uint8_t cmd)
|
||||||
Valve_GenerateRawFrame(&valve_frame_data, kCmdOpenVavle, &valve_ctr_valve, 1);
|
Valve_GenerateRawFrame(&valve_frame_data, kCmdOpenVavle, &valve_ctr_valve, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
return BSP_Master_Send(centralConnList, CONNECT0_ITEM, &valve_frame_data.buf[0], valve_frame_data.len);
|
return BSP_Master_Send(centralConnList, CONNECT0_ITEM, &valve_frame_data.buf[0], valve_frame_data.len);
|
||||||
}
|
}
|
||||||
SHELL_EXPORT_CMD(SHELL_CMD_PERMISSION(0) | SHELL_CMD_TYPE(SHELL_TYPE_CMD_FUNC),
|
SHELL_EXPORT_CMD(SHELL_CMD_PERMISSION(0) | SHELL_CMD_TYPE(SHELL_TYPE_CMD_FUNC),
|
||||||
|
@ -176,7 +172,7 @@ int BSP_Bt_Remove_Valve(uint8_t *data, uint8_t len)
|
||||||
{
|
{
|
||||||
size_t i = 0;
|
size_t i = 0;
|
||||||
uint8_t mac_addr[FLASH_MAC_INFO_LEN + 2] = {0};
|
uint8_t mac_addr[FLASH_MAC_INFO_LEN + 2] = {0};
|
||||||
if ((data[0] >= 1) && (data[0] <= 8))// 判断是否是正确的ID
|
if ((data[0] >= 1) && (data[0] <= 8)) // 判断是否是正确的ID
|
||||||
{
|
{
|
||||||
Flash_Get_Mac_Addr(mac_addr, data[0]);
|
Flash_Get_Mac_Addr(mac_addr, data[0]);
|
||||||
}
|
}
|
||||||
|
@ -186,7 +182,7 @@ int BSP_Bt_Remove_Valve(uint8_t *data, uint8_t len)
|
||||||
logHexDumpAll(data, len);
|
logHexDumpAll(data, len);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
if (tmos_memcmp(&data[1], mac_addr, FLASH_MAC_INFO_LEN) != TRUE)// 判断是否是相同的MAC地址
|
if (tmos_memcmp(&data[1], mac_addr, FLASH_MAC_INFO_LEN) != TRUE) // 判断是否是相同的MAC地址
|
||||||
{
|
{
|
||||||
logError("mac addr error");
|
logError("mac addr error");
|
||||||
logHexDumpAll(data, len);
|
logHexDumpAll(data, len);
|
||||||
|
@ -220,7 +216,7 @@ int BSP_Bt_Remove_All_Valve(void)
|
||||||
{
|
{
|
||||||
uint8_t mac_addr[FLASH_MAC_INFO_LEN + 2] = {0};
|
uint8_t mac_addr[FLASH_MAC_INFO_LEN + 2] = {0};
|
||||||
uint8_t num = Flash_Get_Valve_Num();
|
uint8_t num = Flash_Get_Valve_Num();
|
||||||
if(num == 0)
|
if (num == 0)
|
||||||
{
|
{
|
||||||
logError("没有找到任何阀门信息");
|
logError("没有找到任何阀门信息");
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -248,7 +244,7 @@ int BSP_Bt_Replace_Valve(uint8_t *data, uint8_t len)
|
||||||
uint8_t mac_addr[FLASH_MAC_INFO_LEN] = {0};
|
uint8_t mac_addr[FLASH_MAC_INFO_LEN] = {0};
|
||||||
logDebug("更换阀门信息:");
|
logDebug("更换阀门信息:");
|
||||||
logHexDumpAll(data, len);
|
logHexDumpAll(data, len);
|
||||||
if ((len == 0) || (len < 13))//新旧MAC地址长度加id 6 + 6 + 1 = 13至少要大于12
|
if ((len == 0) || (len < 13)) // 新旧MAC地址长度加id 6 + 6 + 1 = 13至少要大于12
|
||||||
{
|
{
|
||||||
logError("data len error");
|
logError("data len error");
|
||||||
return -1;
|
return -1;
|
||||||
|
@ -269,14 +265,14 @@ int BSP_Bt_Replace_Valve(uint8_t *data, uint8_t len)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
//新阀门数据在前
|
// 新阀门数据在前
|
||||||
if (Flash_Set_Mac_Addr(&data[1], data[0]) != 0)
|
if (Flash_Set_Mac_Addr(&data[1], data[0]) != 0)
|
||||||
{
|
{
|
||||||
logError("阀门注册写入flash 错误");
|
logError("阀门注册写入flash 错误");
|
||||||
return 3;
|
return 3;
|
||||||
}
|
}
|
||||||
BSP_Bt_Valve_Updata(); // 更新阀门信息
|
BSP_Bt_Valve_Updata(); // 更新阀门信息
|
||||||
Master_DisConnect();//更新后先断联接
|
Master_DisConnect(); // 更新后先断联接
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -319,11 +315,10 @@ void BSP_Bt_Valve_Updata(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Flash_Set_Valve_Num(valve_list.valve_num);
|
Flash_Set_Valve_Num(valve_list.valve_num);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//蓝牙主机对报警器的响应函数。 state表示此对应的项目,可能是执行成功与否,可能是蓝牙连接状态码,具体参考对应的case
|
// 蓝牙主机对报警器的响应函数。 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(ValveCmdType cmd, uint8_t id, uint8_t *mac_addr, uint8_t state)
|
||||||
{
|
{
|
||||||
uint8_t ret = 0;
|
uint8_t ret = 0;
|
||||||
BtData_t *ptr = (BtData_t *)tmos_msg_allocate(sizeof(valve_data));
|
BtData_t *ptr = (BtData_t *)tmos_msg_allocate(sizeof(valve_data));
|
||||||
|
@ -334,6 +329,16 @@ int BSP_Bt_Valve_Resp(uint8_t cmd, uint8_t id, uint8_t *mac_addr, uint8_t state)
|
||||||
case kValveCmdReg:
|
case kValveCmdReg:
|
||||||
case kValveCmdRem:
|
case kValveCmdRem:
|
||||||
case kValveCmdRep:
|
case kValveCmdRep:
|
||||||
|
// TODO:待完成从机的一些主动上报信息解析
|
||||||
|
case kValveCmdOverPressure:
|
||||||
|
case kValveCmdUnderPressure:
|
||||||
|
case kValveCmdOverCurrent:
|
||||||
|
case kValveCmdMicroLeak:
|
||||||
|
case kValveCmdTimer:
|
||||||
|
case kValveCmdOpenWithStove:
|
||||||
|
case kValveCmdCloseWithStove:
|
||||||
|
case kValveCmdOverTemperature:
|
||||||
|
case kValveCmdDelayClose:
|
||||||
ptr->buf[0] = id;
|
ptr->buf[0] = id;
|
||||||
tmos_memcpy(&ptr->buf[1], mac_addr, 6);
|
tmos_memcpy(&ptr->buf[1], mac_addr, 6);
|
||||||
ptr->buf[26] = state;
|
ptr->buf[26] = state;
|
||||||
|
@ -350,10 +355,11 @@ int BSP_Bt_Valve_Resp(uint8_t cmd, uint8_t id, uint8_t *mac_addr, uint8_t state)
|
||||||
case kValveConncetStatus:
|
case kValveConncetStatus:
|
||||||
ptr->buf[0] = id;
|
ptr->buf[0] = id;
|
||||||
tmos_memcpy(&ptr->buf[1], mac_addr, 6);
|
tmos_memcpy(&ptr->buf[1], mac_addr, 6);
|
||||||
ptr->buf[7] = state; //0表示断开,1表示连接
|
ptr->buf[7] = state; // 0表示断开,1表示连接
|
||||||
logDebug("连接状态:%d", ptr->buf[7]);
|
logDebug("连接状态:%d", ptr->buf[7]);
|
||||||
BT_GenerateRawFrame(&valve_frame_data, (uint8_t *)ptr, 9);
|
BT_GenerateRawFrame(&valve_frame_data, (uint8_t *)ptr, 9);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue