2025-01-02 15:11:27 +08:00
|
|
|
/***
|
|
|
|
* @Author: mbw
|
|
|
|
* @Date: 2024-12-09 11:40:04
|
|
|
|
* @LastEditors: mbw && 1600520629@qq.com
|
2025-05-23 11:11:18 +08:00
|
|
|
* @LastEditTime: 2025-05-23 11:01:23
|
2025-05-23 10:36:28 +08:00
|
|
|
* @FilePath: \zbf_master_ch584m\bsp\inc\bsp_valve.h
|
2025-01-02 15:11:27 +08:00
|
|
|
* @Description:
|
|
|
|
* @
|
|
|
|
* @Copyright (c) 2025 by ${git_name_email}, All Rights Reserved.
|
|
|
|
*/
|
2024-12-12 18:56:18 +08:00
|
|
|
/***
|
|
|
|
* @Author: mbw
|
|
|
|
* @Date: 2024-12-09 11:40:04
|
|
|
|
* @LastEditors: mbw && 1600520629@qq.com
|
|
|
|
* @LastEditTime: 2024-12-12 17:50:12
|
|
|
|
* @FilePath: \ble_-tyq_-bjq_-ch584-m\bsp\inc\bsp_valve.h
|
|
|
|
* @Description:
|
|
|
|
* @
|
|
|
|
* @Copyright (c) 2024 by ${git_name_email}, All Rights Reserved.
|
|
|
|
*/
|
|
|
|
#ifndef __BSP_VALVE_H__
|
|
|
|
#define __BSP_VALVE_H__
|
2024-12-11 20:03:50 +08:00
|
|
|
|
|
|
|
#include "CH58x_common.h"
|
|
|
|
|
|
|
|
#define MAX_VALVE_NUM 8
|
|
|
|
|
2024-12-12 18:56:18 +08:00
|
|
|
typedef enum
|
|
|
|
{
|
2025-05-23 10:36:28 +08:00
|
|
|
kValveCmdCtr = 0X01, // 控制命令
|
|
|
|
kValveCmdReg, // 注册命令
|
|
|
|
kValveCmdRem, // 移除命令
|
|
|
|
kValveCmdRep, // 替换命令
|
|
|
|
kValveCmdRemAll, // 移除所有的阀门地址
|
|
|
|
kValveEventStatus, // 阀门状态包
|
|
|
|
kValveConncetStatus, // 阀门连接状态
|
2024-12-11 20:03:50 +08:00
|
|
|
|
2025-05-23 10:36:28 +08:00
|
|
|
kValveCmdOverPressure, // 超压关阀
|
|
|
|
kValveCmdUnderPressure, // 欠压关阀
|
|
|
|
kValveCmdOverCurrent, // 过流关阀
|
|
|
|
kValveCmdMicroLeak, // 微漏关阀
|
|
|
|
kValveCmdTimer, // 定时关阀
|
|
|
|
kValveCmdOpenWithStove, // 开灶开阀
|
|
|
|
kValveCmdCloseWithStove, // 关灶关阀
|
|
|
|
kValveCmdOverTemperature, // 超温关阀
|
|
|
|
kValveCmdDelayClose, // 延时关阀
|
|
|
|
kValveCmdManualClose, // 手动关阀
|
|
|
|
|
|
|
|
kValveCmdMax, // 枚举最大值
|
|
|
|
} ValveCmdType;
|
2024-12-11 20:03:50 +08:00
|
|
|
typedef enum
|
|
|
|
{
|
2024-12-12 18:56:18 +08:00
|
|
|
WirelessValveClose = 0x01,
|
|
|
|
WirelessValveOpen,
|
2024-12-11 20:03:50 +08:00
|
|
|
} WireLessState;
|
|
|
|
|
2024-12-12 18:56:18 +08:00
|
|
|
// 阀门类型
|
|
|
|
typedef enum
|
|
|
|
{
|
|
|
|
kTyq = 0X01,
|
|
|
|
kZbf,
|
|
|
|
kDcf,
|
|
|
|
} TeVavleType;
|
|
|
|
|
|
|
|
typedef enum
|
|
|
|
{
|
|
|
|
kCmdCfg = 0X01,
|
2025-05-23 11:11:18 +08:00
|
|
|
kCmdCloseVavle, //关阀
|
|
|
|
kCmdOpenVavle,//开阀
|
|
|
|
kCmdData,//命令数据(心跳数据)
|
|
|
|
kRespOverPressure, // 超压关阀
|
|
|
|
kRespUnderPressure, // 欠压关阀
|
|
|
|
kRespOverCurrent, // 过流关阀
|
|
|
|
kRespMicroLeak, // 微漏关阀
|
|
|
|
kRespTimer, // 定时关阀
|
|
|
|
kRespOpenWithStove, // 开灶开阀
|
|
|
|
kRespCloseWithStove, // 关灶关阀
|
|
|
|
kRespOverTemperature, // 超温关阀
|
|
|
|
kRespDelayClose, // 延时关阀
|
|
|
|
kRespManualClose, // 手动关阀
|
2024-12-12 18:56:18 +08:00
|
|
|
} TeFrameCmd;
|
2024-12-11 20:03:50 +08:00
|
|
|
|
|
|
|
/*
|
|
|
|
无线调压阀编号
|
|
|
|
无线调压阀 MAC 地址
|
|
|
|
无线调压阀连接状态
|
|
|
|
无线调压阀开关状态
|
|
|
|
无线调压阀温度
|
|
|
|
无线调压阀进口压力
|
|
|
|
无线调压阀出口压力
|
|
|
|
无线调压阀大气压
|
|
|
|
*/
|
2025-05-23 10:36:28 +08:00
|
|
|
typedef struct __attribute__((packed))
|
2024-12-11 20:03:50 +08:00
|
|
|
{
|
|
|
|
uint8_t valve_id;
|
|
|
|
uint8_t valve_mac[6];
|
2024-12-16 15:34:47 +08:00
|
|
|
uint8_t valve_connct_status;
|
|
|
|
uint8_t valve_switch_status;
|
|
|
|
uint8_t valve_temp;
|
|
|
|
uint32_t valve_in_pressure;
|
|
|
|
uint32_t valve_out_pressure;
|
|
|
|
uint32_t valve_atm_pressure;
|
|
|
|
uint8_t valve_type;
|
2025-05-23 10:36:28 +08:00
|
|
|
uint8_t valve_bat;
|
|
|
|
uint8_t valve_hum;//阀门湿度
|
|
|
|
int8_t valve_rssi;//阀门rssi
|
|
|
|
}valve_data;
|
2024-12-11 20:03:50 +08:00
|
|
|
|
|
|
|
typedef struct valve_data_list
|
|
|
|
{
|
|
|
|
uint8_t valve_num;
|
2025-05-23 10:36:28 +08:00
|
|
|
valve_data valve_data[MAX_VALVE_NUM];
|
2024-12-12 18:56:18 +08:00
|
|
|
} valve_data_list_t;
|
2024-12-11 20:03:50 +08:00
|
|
|
|
|
|
|
extern valve_data_list_t valve_list;
|
|
|
|
|
2024-12-13 19:07:00 +08:00
|
|
|
void BSP_Valve_Init(void);
|
2024-12-11 20:03:50 +08:00
|
|
|
int BSP_Bt_Valve_Ctr(uint8_t *data, uint8_t len);
|
|
|
|
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_Replace_Valve(uint8_t *data, uint8_t len);
|
|
|
|
void BSP_Bt_Valve_Updata(void);
|
2025-01-02 15:11:27 +08:00
|
|
|
int BSP_Bt_Remove_All_Valve(void);
|
2025-05-23 11:11:18 +08:00
|
|
|
int BSP_Bt_Valve_Resp(ValveCmdType cmd, uint8_t id, uint8_t *mac_addr, uint8_t state);
|
2024-12-13 19:07:00 +08:00
|
|
|
|
2024-12-11 20:03:50 +08:00
|
|
|
#endif // ! __BSP_VALVE_H__
|