mirror of
				https://github.com/0xFEEDC0DE64/arduino-esp32.git
				synced 2025-11-04 08:01:38 +01:00 
			
		
		
		
	
		
			
	
	
		
			339 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			339 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| 
								 | 
							
								/******************************************************************************
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 *  Copyright (C) 1999-2013 Broadcom Corporation
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 *  Licensed under the Apache License, Version 2.0 (the "License");
							 | 
						||
| 
								 | 
							
								 *  you may not use this file except in compliance with the License.
							 | 
						||
| 
								 | 
							
								 *  You may obtain a copy of the License at:
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 *  http://www.apache.org/licenses/LICENSE-2.0
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 *  Unless required by applicable law or agreed to in writing, software
							 | 
						||
| 
								 | 
							
								 *  distributed under the License is distributed on an "AS IS" BASIS,
							 | 
						||
| 
								 | 
							
								 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
							 | 
						||
| 
								 | 
							
								 *  See the License for the specific language governing permissions and
							 | 
						||
| 
								 | 
							
								 *  limitations under the License.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 ******************************************************************************/
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*******************************************************************************
							 | 
						||
| 
								 | 
							
								**
							 | 
						||
| 
								 | 
							
								** Header file for profile folder.
							 | 
						||
| 
								 | 
							
								**
							 | 
						||
| 
								 | 
							
								********************************************************************************/
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#ifndef SRVC_DIS_API_H
							 | 
						||
| 
								 | 
							
								#define SRVC_DIS_API_H
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#include "bt_target.h"
							 | 
						||
| 
								 | 
							
								#include "gatt_api.h"
							 | 
						||
| 
								 | 
							
								#include "gattdefs.h"
							 | 
						||
| 
								 | 
							
								#include "esp_gatts_api.h"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define DIS_SUCCESS             GATT_SUCCESS
							 | 
						||
| 
								 | 
							
								#define DIS_ILLEGAL_PARAM       GATT_ILLEGAL_PARAMETER
							 | 
						||
| 
								 | 
							
								#define DIS_NO_RESOURCES        GATT_NO_RESOURCES
							 | 
						||
| 
								 | 
							
								typedef UINT8 tDIS_STATUS;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*****************************************************************************
							 | 
						||
| 
								 | 
							
								**  Data structure for DIS
							 | 
						||
| 
								 | 
							
								*****************************************************************************/
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define DIS_ATTR_SYS_ID_BIT         0x0001
							 | 
						||
| 
								 | 
							
								#define DIS_ATTR_MODEL_NUM_BIT      0x0002
							 | 
						||
| 
								 | 
							
								#define DIS_ATTR_SERIAL_NUM_BIT     0x0004
							 | 
						||
| 
								 | 
							
								#define DIS_ATTR_FW_NUM_BIT         0x0008
							 | 
						||
| 
								 | 
							
								#define DIS_ATTR_HW_NUM_BIT         0x0010
							 | 
						||
| 
								 | 
							
								#define DIS_ATTR_SW_NUM_BIT         0x0020
							 | 
						||
| 
								 | 
							
								#define DIS_ATTR_MANU_NAME_BIT      0x0040
							 | 
						||
| 
								 | 
							
								#define DIS_ATTR_IEEE_DATA_BIT      0x0080
							 | 
						||
| 
								 | 
							
								#define DIS_ATTR_PNP_ID_BIT         0x0100
							 | 
						||
| 
								 | 
							
								typedef UINT16  tDIS_ATTR_MASK;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define DIS_ATTR_ALL_MASK           0xffff
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								typedef tDIS_ATTR_MASK tDIS_ATTR_BIT ;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define DIS_MAX_NUM_INC_SVR         0
							 | 
						||
| 
								 | 
							
								#define DIS_MAX_CHAR_NUM            9
							 | 
						||
| 
								 | 
							
								#define DIS_MAX_ATTR_NUM            (DIS_MAX_CHAR_NUM * 2 + DIS_MAX_NUM_INC_SVR + 1)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#ifndef DIS_ATTR_DB_SIZE
							 | 
						||
| 
								 | 
							
								#define DIS_ATTR_DB_SIZE            GATT_DB_MEM_SIZE(DIS_MAX_NUM_INC_SVR, DIS_MAX_CHAR_NUM, 0)
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define DIS_SYSTEM_ID_SIZE          8
							 | 
						||
| 
								 | 
							
								#define DIS_PNP_ID_SIZE             7
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								typedef struct {
							 | 
						||
| 
								 | 
							
								    UINT16      uuid;
							 | 
						||
| 
								 | 
							
								    UINT16      handle;
							 | 
						||
| 
								 | 
							
								} tDIS_DB_ENTRY;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								typedef struct {
							 | 
						||
| 
								 | 
							
								    UINT16      len;
							 | 
						||
| 
								 | 
							
								    UINT8       *p_data;
							 | 
						||
| 
								 | 
							
								} tDIS_STRING;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								typedef struct {
							 | 
						||
| 
								 | 
							
								    UINT16       vendor_id;
							 | 
						||
| 
								 | 
							
								    UINT16       product_id;
							 | 
						||
| 
								 | 
							
								    UINT16       product_version;
							 | 
						||
| 
								 | 
							
								    UINT8        vendor_id_src;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								} tDIS_PNP_ID;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								typedef union {
							 | 
						||
| 
								 | 
							
								    UINT64              system_id;
							 | 
						||
| 
								 | 
							
								    tDIS_PNP_ID         pnp_id;
							 | 
						||
| 
								 | 
							
								    tDIS_STRING         data_str;
							 | 
						||
| 
								 | 
							
								} tDIS_ATTR;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define DIS_MAX_STRING_DATA     7
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								typedef struct {
							 | 
						||
| 
								 | 
							
								    UINT16                  attr_mask;
							 | 
						||
| 
								 | 
							
								    UINT64                  system_id;
							 | 
						||
| 
								 | 
							
								    tDIS_PNP_ID             pnp_id;
							 | 
						||
| 
								 | 
							
								    UINT8                   *data_string[DIS_MAX_STRING_DATA];
							 | 
						||
| 
								 | 
							
								} tDIS_VALUE;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								//typedef void (tDIS_READ_CBACK)(BD_ADDR addr, tDIS_VALUE *p_dis_value);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								typedef struct {
							 | 
						||
| 
								 | 
							
								    tDIS_DB_ENTRY           dis_attr[DIS_MAX_CHAR_NUM];
							 | 
						||
| 
								 | 
							
								    tDIS_VALUE              dis_value;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								//    tDIS_READ_CBACK         *p_read_dis_cback;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    UINT16                  service_handle;
							 | 
						||
| 
								 | 
							
								    UINT16                  max_handle;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    bool                    enabled;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    //  UINT8                   dis_read_uuid_idx;
							 | 
						||
| 
								 | 
							
								    //  tDIS_ATTR_MASK          request_mask;
							 | 
						||
| 
								 | 
							
								} tDIS_CB;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*****************************************************************************
							 | 
						||
| 
								 | 
							
								**  Data structure used by Battery Service
							 | 
						||
| 
								 | 
							
								*****************************************************************************/
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#ifndef BA_MAX_INT_NUM
							 | 
						||
| 
								 | 
							
								#define BA_MAX_INT_NUM  4
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define BATTERY_LEVEL_SIZE   1
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								typedef struct {
							 | 
						||
| 
								 | 
							
								    BD_ADDR remote_bda;
							 | 
						||
| 
								 | 
							
								    BOOLEAN need_rsp;
							 | 
						||
| 
								 | 
							
								    UINT16  clt_cfg;
							 | 
						||
| 
								 | 
							
								} tBA_WRITE_DATA;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define BA_READ_CLT_CFG_REQ     1
							 | 
						||
| 
								 | 
							
								#define BA_READ_PRE_FMT_REQ     2
							 | 
						||
| 
								 | 
							
								#define BA_READ_RPT_REF_REQ     3
							 | 
						||
| 
								 | 
							
								#define BA_READ_LEVEL_REQ       4
							 | 
						||
| 
								 | 
							
								#define BA_WRITE_CLT_CFG_REQ    5
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								typedef void (tBA_CBACK)(UINT32 trans_id, UINT16 conn_id, UINT8 app_id, UINT8 event, tBA_WRITE_DATA *p_data);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define BA_LEVEL_NOTIFY         0x01
							 | 
						||
| 
								 | 
							
								#define BA_LEVEL_PRE_FMT        0x02
							 | 
						||
| 
								 | 
							
								#define BA_LEVEL_RPT_REF        0x04
							 | 
						||
| 
								 | 
							
								typedef UINT8   tBA_LEVEL_DESCR;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								typedef struct {
							 | 
						||
| 
								 | 
							
								    BOOLEAN         is_pri;
							 | 
						||
| 
								 | 
							
								    tBA_LEVEL_DESCR     ba_level_descr;
							 | 
						||
| 
								 | 
							
								    tGATT_TRANSPORT transport;
							 | 
						||
| 
								 | 
							
								    tBA_CBACK       *p_cback;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								} tBA_REG_INFO;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								typedef union {
							 | 
						||
| 
								 | 
							
								    UINT8       ba_level;
							 | 
						||
| 
								 | 
							
								    UINT16      clt_cfg;
							 | 
						||
| 
								 | 
							
								    tGATT_CHAR_RPT_REF  rpt_ref;
							 | 
						||
| 
								 | 
							
								    tGATT_CHAR_PRES     pres_fmt;
							 | 
						||
| 
								 | 
							
								} tBA_RSP_DATA;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								typedef struct {
							 | 
						||
| 
								 | 
							
								    UINT8       app_id;
							 | 
						||
| 
								 | 
							
								    UINT16      ba_level_hdl;
							 | 
						||
| 
								 | 
							
								    UINT16      clt_cfg_hdl;
							 | 
						||
| 
								 | 
							
								    UINT16      rpt_ref_hdl;
							 | 
						||
| 
								 | 
							
								    UINT16      pres_fmt_hdl;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    tBA_CBACK   *p_cback;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    UINT16      pending_handle;
							 | 
						||
| 
								 | 
							
								    //UINT8       pending_clcb_idx;
							 | 
						||
| 
								 | 
							
								    UINT8       pending_evt;
							 | 
						||
| 
								 | 
							
								} tBA_INST;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								typedef struct {
							 | 
						||
| 
								 | 
							
								    tBA_INST        battery_inst[BA_MAX_INT_NUM];
							 | 
						||
| 
								 | 
							
								    UINT8           inst_id;
							 | 
						||
| 
								 | 
							
								    bool            enabled;
							 | 
						||
| 
								 | 
							
								} tBATTERY_CB;
							 | 
						||
| 
								 | 
							
								/*****************************************************************************
							 | 
						||
| 
								 | 
							
								**  External Function Declarations
							 | 
						||
| 
								 | 
							
								*****************************************************************************/
							 | 
						||
| 
								 | 
							
								#ifdef __cplusplus
							 | 
						||
| 
								 | 
							
								extern "C"
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								/*****************************************************************************
							 | 
						||
| 
								 | 
							
								**  Service Engine API
							 | 
						||
| 
								 | 
							
								*****************************************************************************/
							 | 
						||
| 
								 | 
							
								/*******************************************************************************
							 | 
						||
| 
								 | 
							
								**
							 | 
						||
| 
								 | 
							
								** Function         srvc_eng_init
							 | 
						||
| 
								 | 
							
								**
							 | 
						||
| 
								 | 
							
								** Description      Initializa the GATT Service engine, register a GATT application
							 | 
						||
| 
								 | 
							
								**                  as for a central service management.
							 | 
						||
| 
								 | 
							
								**
							 | 
						||
| 
								 | 
							
								*******************************************************************************/
							 | 
						||
| 
								 | 
							
								//extern tGATT_STATUS srvc_eng_init (void);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*****************************************************************************
							 | 
						||
| 
								 | 
							
								**  DIS Server Function
							 | 
						||
| 
								 | 
							
								*****************************************************************************/
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								extern bool dis_valid_handle_range(UINT16 handle);
							 | 
						||
| 
								 | 
							
								/*******************************************************************************
							 | 
						||
| 
								 | 
							
								**
							 | 
						||
| 
								 | 
							
								** Function         DIS_Init
							 | 
						||
| 
								 | 
							
								**
							 | 
						||
| 
								 | 
							
								** Description      Initializa the Device Information Service Server.
							 | 
						||
| 
								 | 
							
								**
							 | 
						||
| 
								 | 
							
								*******************************************************************************/
							 | 
						||
| 
								 | 
							
								extern void DIS_Init (tBTA_GATTS_IF gatt_if, tDIS_ATTR_MASK dis_attr_mask);
							 | 
						||
| 
								 | 
							
								/*******************************************************************************
							 | 
						||
| 
								 | 
							
								**
							 | 
						||
| 
								 | 
							
								** Function         DIS_SrUpdate
							 | 
						||
| 
								 | 
							
								**
							 | 
						||
| 
								 | 
							
								** Description      Update the DIS server attribute values
							 | 
						||
| 
								 | 
							
								**
							 | 
						||
| 
								 | 
							
								*******************************************************************************/
							 | 
						||
| 
								 | 
							
								extern tDIS_STATUS DIS_SrUpdate(tDIS_ATTR_BIT dis_attr_bit, tDIS_ATTR *p_info);
							 | 
						||
| 
								 | 
							
								/*******************************************************************************
							 | 
						||
| 
								 | 
							
								**
							 | 
						||
| 
								 | 
							
								** Function         dis_AddChar
							 | 
						||
| 
								 | 
							
								**
							 | 
						||
| 
								 | 
							
								** Description      add characteristic for dis
							 | 
						||
| 
								 | 
							
								**
							 | 
						||
| 
								 | 
							
								*******************************************************************************/
							 | 
						||
| 
								 | 
							
								extern void dis_AddChar(UINT16 service_id);
							 | 
						||
| 
								 | 
							
								/*******************************************************************************
							 | 
						||
| 
								 | 
							
								**   dis_s_read_attr_value
							 | 
						||
| 
								 | 
							
								**
							 | 
						||
| 
								 | 
							
								**   Process read DIS attribute request.
							 | 
						||
| 
								 | 
							
								*******************************************************************************/
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								extern void dis_s_read_attr_value (tGATTS_DATA *p_data, tGATT_VALUE *p_value,
							 | 
						||
| 
								 | 
							
								                                   UINT32 trans_id, UINT16 conn_id);
							 | 
						||
| 
								 | 
							
								/*****************************************************************************
							 | 
						||
| 
								 | 
							
								**  DIS Client Function
							 | 
						||
| 
								 | 
							
								*****************************************************************************/
							 | 
						||
| 
								 | 
							
								/*******************************************************************************
							 | 
						||
| 
								 | 
							
								**
							 | 
						||
| 
								 | 
							
								** Function         DIS_ReadDISInfo
							 | 
						||
| 
								 | 
							
								**
							 | 
						||
| 
								 | 
							
								** Description      Read remote device DIS information.
							 | 
						||
| 
								 | 
							
								**
							 | 
						||
| 
								 | 
							
								** Returns          void
							 | 
						||
| 
								 | 
							
								**
							 | 
						||
| 
								 | 
							
								*******************************************************************************/
							 | 
						||
| 
								 | 
							
								//extern BOOLEAN DIS_ReadDISInfo(BD_ADDR peer_bda, tDIS_READ_CBACK *p_cback,
							 | 
						||
| 
								 | 
							
								//                              tDIS_ATTR_MASK mask);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*******************************************************************************
							 | 
						||
| 
								 | 
							
								**      BATTERY SERVICE API
							 | 
						||
| 
								 | 
							
								*******************************************************************************/
							 | 
						||
| 
								 | 
							
								/***************************************************************
							 | 
						||
| 
								 | 
							
								**
							 | 
						||
| 
								 | 
							
								** Function     bas_register
							 | 
						||
| 
								 | 
							
								**
							 | 
						||
| 
								 | 
							
								** Description  register app for battery service
							 | 
						||
| 
								 | 
							
								**
							 | 
						||
| 
								 | 
							
								****************************************************************/
							 | 
						||
| 
								 | 
							
								extern void bas_register(void);
							 | 
						||
| 
								 | 
							
								/***************************************************************
							 | 
						||
| 
								 | 
							
								**
							 | 
						||
| 
								 | 
							
								** Function     bas_init
							 | 
						||
| 
								 | 
							
								**
							 | 
						||
| 
								 | 
							
								** Description  register battery service
							 | 
						||
| 
								 | 
							
								**
							 | 
						||
| 
								 | 
							
								****************************************************************/
							 | 
						||
| 
								 | 
							
								extern void bas_init(tBTA_GATTS_IF gatt_if, UINT16 app_id);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/***************************************************************
							 | 
						||
| 
								 | 
							
								**
							 | 
						||
| 
								 | 
							
								** Function     bas_AddChar
							 | 
						||
| 
								 | 
							
								**
							 | 
						||
| 
								 | 
							
								** Description  add characteristic for battery service
							 | 
						||
| 
								 | 
							
								**
							 | 
						||
| 
								 | 
							
								****************************************************************/
							 | 
						||
| 
								 | 
							
								extern void bas_AddChar(UINT16 service_id, tBT_UUID *char_uuid);
							 | 
						||
| 
								 | 
							
								/***************************************************************
							 | 
						||
| 
								 | 
							
								**
							 | 
						||
| 
								 | 
							
								** Function     bas_AddCharDescr
							 | 
						||
| 
								 | 
							
								**
							 | 
						||
| 
								 | 
							
								** Description  add descriptor for battery service if needed
							 | 
						||
| 
								 | 
							
								**
							 | 
						||
| 
								 | 
							
								****************************************************************/
							 | 
						||
| 
								 | 
							
								extern void bas_AddCharDescr(UINT16 service_id, UINT16 attr_id);
							 | 
						||
| 
								 | 
							
								/***************************************************************
							 | 
						||
| 
								 | 
							
								**
							 | 
						||
| 
								 | 
							
								** Function     bas_service_cmpl
							 | 
						||
| 
								 | 
							
								**
							 | 
						||
| 
								 | 
							
								** Description  create battery service complete
							 | 
						||
| 
								 | 
							
								**
							 | 
						||
| 
								 | 
							
								****************************************************************/
							 | 
						||
| 
								 | 
							
								extern void bas_service_cmpl(UINT16 service_id, tBTA_GATT_STATUS status);
							 | 
						||
| 
								 | 
							
								/*******************************************************************************
							 | 
						||
| 
								 | 
							
								**
							 | 
						||
| 
								 | 
							
								** Function         Battery_Rsp
							 | 
						||
| 
								 | 
							
								**
							 | 
						||
| 
								 | 
							
								** Description      Respond to a battery service request
							 | 
						||
| 
								 | 
							
								**
							 | 
						||
| 
								 | 
							
								*******************************************************************************/
							 | 
						||
| 
								 | 
							
								extern void Battery_Rsp (UINT32 trans_id, UINT16 conn_id, UINT8 app_id,
							 | 
						||
| 
								 | 
							
								                         tGATT_STATUS st, UINT8 event, tBA_RSP_DATA *p_rsp);
							 | 
						||
| 
								 | 
							
								/*******************************************************************************
							 | 
						||
| 
								 | 
							
								**
							 | 
						||
| 
								 | 
							
								** Function         Battery_Notify
							 | 
						||
| 
								 | 
							
								**
							 | 
						||
| 
								 | 
							
								** Description      Send battery level notification
							 | 
						||
| 
								 | 
							
								**
							 | 
						||
| 
								 | 
							
								*******************************************************************************/
							 | 
						||
| 
								 | 
							
								extern void Battery_Notify (UINT16 conn_id, UINT8 app_id, BD_ADDR remote_bda, UINT8 battery_level);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*****************************************************************************
							 | 
						||
| 
								 | 
							
								** Function      bas_s_read_attr_value
							 | 
						||
| 
								 | 
							
								**
							 | 
						||
| 
								 | 
							
								** Description   it will be called when client send a read request
							 | 
						||
| 
								 | 
							
								******************************************************************************/
							 | 
						||
| 
								 | 
							
								extern void bas_s_read_attr_value(tGATTS_DATA *p_data, UINT32 trans_id, UINT16 conn_id);
							 | 
						||
| 
								 | 
							
								/*****************************************************************************
							 | 
						||
| 
								 | 
							
								** Function      bas_s_write_attr_value
							 | 
						||
| 
								 | 
							
								**
							 | 
						||
| 
								 | 
							
								** Description   it will be called when client send a write request
							 | 
						||
| 
								 | 
							
								******************************************************************************/
							 | 
						||
| 
								 | 
							
								extern void bas_s_write_attr_value(tGATTS_DATA *p_data, UINT32 trans_id,
							 | 
						||
| 
								 | 
							
								                                   UINT16 conn_id, BD_ADDR bd_addr);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								extern void gatts_server_test(void);
							 | 
						||
| 
								 | 
							
								#ifdef __cplusplus
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#endif
							 |