BLE_TYQ_BJQ_CH584M/APP/include/multiCentral.h

128 lines
4.2 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 11:13:13
* @LastEditors: mbw && 1600520629@qq.com
* @LastEditTime: 2024-12-13 11:32:24
* @FilePath: \ble_-tyq_-bjq_-ch584-m\APP\include\multiCentral.h
* @Description:
* @
* @Copyright (c) 2024 by ${git_name_email}, All Rights Reserved.
*/
/********************************** (C) COPYRIGHT *******************************
* File Name : multiCentral.h
* Author : WCH
* Version : V1.0
* Date : 2018/11/12
* Description :
*********************************************************************************
* Copyright (c) 2021 Nanjing Qinheng Microelectronics Co., Ltd.
* Attention: This software (modified or not) and binary are used for
* microcontroller manufactured by Nanjing Qinheng Microelectronics.
*******************************************************************************/
#ifndef MULTICENTRAL_H
#define MULTICENTRAL_H
#include "CONFIG.h"
#ifdef __cplusplus
extern "C" {
#endif
/*********************************************************************
* INCLUDES
*/
/*********************************************************************
* CONSTANTS
*/
// Simple BLE Observer Task Events
// 定义设备启动事件的常量
#define START_DEVICE_EVT 0x0001
// 定义启动发现过程事件的常量
#define START_DISCOVERY_EVT 0x0002
// 定义启动扫描过程事件的常量
#define START_SCAN_EVT 0x0004
// 定义启动服务发现事件的常量
#define START_SVC_DISCOVERY_EVT 0x0008
// 定义启动参数更新事件的常量
#define START_PARAM_UPDATE_EVT 0x0010
// 定义启动读或写操作事件的常量
#define START_READ_OR_WRITE_EVT 0x0020
// 定义启动读取RSSI事件的常量
#define START_READ_RSSI_EVT 0x0040
// 定义建立连接超时事件的常量
#define ESTABLISH_LINK_TIMEOUT_EVT 0x0080
// 定义启动写入CCCD客户端特性配置描述符事件的常量
#define START_WRITE_CCCD_EVT 0x0100
// 定义启动读或写操作事件的常量
#define CH2_READ_EVT 0x0200
#define CH3_WRITE_EVT 0x0400
#define CH4_NOTI_EVT 0x0800
#define CONNECT0_ITEM 0
#define CONNECT1_ITEM 1
// #define CONNECT2_ITEM 2
// #define CONNECT3_ITEM 3
// #define CONNECT4_ITEM 4
// #define CONNECT5_ITEM 5
// #define CONNECT6_ITEM 6
// #define CONNECT7_ITEM 7
/*********************************************************************
* MACROS
*/
typedef struct
{
uint8_t taskID; // Task ID for internal task/event processing
uint16_t connHandle; // Connection handle of current connection
uint8_t state; // Application state
uint8_t peerAddr[B_ADDR_LEN];
uint8_t discState; // Discovery state
uint8_t procedureInProgress; // GATT read/write procedure state
uint16_t svcStartHdl; // Discovered service start handle
uint16_t svcEndHdl; // Discovered service end handle
uint16_t charHdl; // Discovered characteristic handle
uint16_t charHd2; // Discovered characteristic handle
uint16_t charHd3; // Discovered characteristic handle
uint16_t charHd4; // Discovered characteristic handle
uint16_t cccHdl; // client characteristic configuration discovery handle
} centralConnItem_t;
typedef struct
{
uint8_t peerAddr[B_ADDR_LEN];
} peerAddrDefItem_t;
/*********************************************************************
* FUNCTIONS
*/
/*
* Task Initialization for the BLE Application
*/
extern void Central_Init(void);
extern uint8_t centralTaskId;
/*
* Task Event Processor for the BLE Application
*/
extern uint16_t Central_ProcessEvent(uint8_t task_id, uint16_t events);
extern centralConnItem_t centralConnList[CENTRAL_MAX_CONNECTION];
int BSP_Master_Send(centralConnItem_t *centralConnList, uint8_t id, uint8_t *Data, uint8_t Len);
void Master_Connect(void);
void Master_DisConnect(void);
/*********************************************************************
*********************************************************************/
#ifdef __cplusplus
}
#endif
#endif /* MULTICENTRAL_H */