加了本地删除所有阀门数据的功能
This commit is contained in:
parent
29bfea488d
commit
b422fa964d
|
@ -1,3 +1,13 @@
|
||||||
|
/***
|
||||||
|
* @Author: mbw
|
||||||
|
* @Date: 2024-12-09 11:40:04
|
||||||
|
* @LastEditors: mbw && 1600520629@qq.com
|
||||||
|
* @LastEditTime: 2025-01-02 14:09:43
|
||||||
|
* @FilePath: \ble_-tyq_-bjq_-ch584-m\bsp\inc\bsp_valve.h
|
||||||
|
* @Description:
|
||||||
|
* @
|
||||||
|
* @Copyright (c) 2025 by ${git_name_email}, All Rights Reserved.
|
||||||
|
*/
|
||||||
/***
|
/***
|
||||||
* @Author: mbw
|
* @Author: mbw
|
||||||
* @Date: 2024-12-09 11:40:04
|
* @Date: 2024-12-09 11:40:04
|
||||||
|
@ -21,6 +31,7 @@ typedef enum
|
||||||
kValveCmdReg,
|
kValveCmdReg,
|
||||||
kValveCmdRem,
|
kValveCmdRem,
|
||||||
kValveCmdRep,
|
kValveCmdRep,
|
||||||
|
kValveCmdRemAll,//移除所有的阀门地址
|
||||||
kValveEventStatus,//阀门状态包
|
kValveEventStatus,//阀门状态包
|
||||||
kValveCmdMax,
|
kValveCmdMax,
|
||||||
} ValveCmdType;
|
} ValveCmdType;
|
||||||
|
@ -84,7 +95,7 @@ int BSP_Bt_Register_Valve(uint8_t *data, uint8_t len);
|
||||||
int BSP_Bt_Remove_Valve(uint8_t *data, uint8_t len);
|
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_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);
|
||||||
|
|
||||||
#endif // ! __BSP_VALVE_H__
|
#endif // ! __BSP_VALVE_H__
|
||||||
|
|
|
@ -204,6 +204,18 @@ int BSP_Bt_Process(uint8_t *data, uint16_t len)
|
||||||
BSP_Bt_Valve_Resp(kValveCmdRep, valve_list.valve_data[CONNECT0_ITEM].valve_id, valve_list.valve_data[CONNECT0_ITEM].valve_mac, FALSE);
|
BSP_Bt_Valve_Resp(kValveCmdRep, valve_list.valve_data[CONNECT0_ITEM].valve_id, valve_list.valve_data[CONNECT0_ITEM].valve_mac, FALSE);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case kValveCmdRemAll:
|
||||||
|
logDebug("recv cmd: 0x04, 执行的动作是移除所有阀门信息");
|
||||||
|
ret = BSP_Bt_Remove_All_Valve();
|
||||||
|
if (ret == 0)
|
||||||
|
{
|
||||||
|
BSP_Bt_Valve_Resp(kValveCmdRemAll, 0, 0, TRUE);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
BSP_Bt_Valve_Resp(kValveCmdRemAll, 0, 0, FALSE);
|
||||||
|
}
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
logError("unknow cmd: %02X", data[index + 2]);
|
logError("unknow cmd: %02X", data[index + 2]);
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -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-02 13:24:41
|
* @LastEditTime: 2025-01-02 14:44:19
|
||||||
* @FilePath: \ble_-tyq_-bjq_-ch584-m\bsp\src\bsp_valve.c
|
* @FilePath: \ble_-tyq_-bjq_-ch584-m\bsp\src\bsp_valve.c
|
||||||
* @Description:
|
* @Description:
|
||||||
*
|
*
|
||||||
|
@ -199,6 +199,32 @@ int BSP_Bt_Remove_Valve(uint8_t *data, uint8_t len)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*移除所有阀门信息*/
|
||||||
|
int BSP_Bt_Remove_All_Valve(void)
|
||||||
|
{
|
||||||
|
uint8_t mac_addr[FLASH_MAC_INFO_LEN + 2] = {0};
|
||||||
|
uint8_t num = Flash_Get_Valve_Num();
|
||||||
|
if(num == 0)
|
||||||
|
{
|
||||||
|
logError("没有找到任何阀门信息");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
tmos_memset(mac_addr, 0xFF, FLASH_MAC_INFO_LEN);
|
||||||
|
if (Flash_Set_Mac_Addr(mac_addr, 1) != 0)
|
||||||
|
{
|
||||||
|
logError("移除阀门信息失败[-2]");
|
||||||
|
return -2;
|
||||||
|
}
|
||||||
|
if (Flash_Set_Valve_Num(0) != 0) // 移除一个阀门
|
||||||
|
{
|
||||||
|
logError("移除阀门信息失败[-3]");
|
||||||
|
return -3;
|
||||||
|
}
|
||||||
|
BSP_Bt_Valve_Updata();
|
||||||
|
Master_DisConnect();
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
/*更换阀门信息*/
|
/*更换阀门信息*/
|
||||||
int BSP_Bt_Replace_Valve(uint8_t *data, uint8_t len)
|
int BSP_Bt_Replace_Valve(uint8_t *data, uint8_t len)
|
||||||
{
|
{
|
||||||
|
@ -299,6 +325,10 @@ int BSP_Bt_Valve_Resp(uint8_t cmd, uint8_t id, uint8_t *mac_addr, uint8_t state)
|
||||||
ptr->buf[7] = state;
|
ptr->buf[7] = state;
|
||||||
BT_GenerateRawFrame(&valve_frame_data, (uint8_t *)ptr, 9);
|
BT_GenerateRawFrame(&valve_frame_data, (uint8_t *)ptr, 9);
|
||||||
break;
|
break;
|
||||||
|
case kValveCmdRemAll:
|
||||||
|
ptr->buf[0] = state;
|
||||||
|
BT_GenerateRawFrame(&valve_frame_data, (uint8_t *)ptr, 2);
|
||||||
|
break;
|
||||||
case kValveEventStatus:
|
case kValveEventStatus:
|
||||||
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));
|
||||||
|
|
Loading…
Reference in New Issue