BLE_TYQ_BJQ_CH32V303/bsp/inc/bsp_bt.h

76 lines
1.6 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/***
* @Author: mbw
* @Date: 2024-12-03 10:31:59
* @LastEditors: mbw && 1600520629@qq.com
* @LastEditTime: 2024-12-10 14:51:37
* @FilePath: \ble_bjq_ch303rct6_ml307\bsp\inc\bsp_bt.h
* @Description:
* @
* @Copyright (c) 2024 by ${git_name_email}, All Rights Reserved.
*/
#ifndef __BSP_BT_H__
#define __BSP_BT_H__
#include "rtthread.h"
#include "board.h"
#include "drv_gpio.h"
#define BT_FRAME_HEAD_LEN (2)
#define BT_FRAME_TAIL_LEN (2)
#define BT_FRAME_MAX_LEN (32)
#define BT_FRAME_HEAD_DATA (0xAA)
#define BT_FRAME_TAIL_DATA (0x55)
typedef enum
{
WirelessValveClose = 0x01,
WirelessValveOpen,
} WireLessState;
typedef enum
{
kValveCmdCtr = 0X01,
kValveCmdReg,
kValveCmdRem,
kValveCmdRep,
kValveCmdMax
} ValveCmdType;
/*事件类型: 1: 阀门控制响应
2: 阀门注册响应
3:阀门移除响应
4: 阀门更换响应
5阀门状态上报
*/
typedef enum
{
kValveEventCtr = 0x01,
kValveEventReg,
kValveEventRem,
kValveEventRep,
kValveEventStatus,
kValveEventMax
}ValveEventType;
typedef struct __attribute__((packed))
{
rt_uint8_t cmd;
uint8_t buf[];
} BtData_t;
typedef struct __attribute__((packed))
{
rt_uint8_t len;
rt_uint8_t buf[256];
} BTFrameData;
extern struct rt_semaphore bt_ctr_sem; //控制阀门信号量
extern struct rt_semaphore bt_reg_sem; //注册阀门信号量
extern struct rt_semaphore bt_rem_sem; //移除阀门信号量
extern struct rt_semaphore bt_rep_sem; //更换阀门信号量
int Bt_Valve_Handler(ValveCmdType type, rt_uint8_t id, rt_uint8_t *data);
#endif // BSP_BT_H__