高通QCC3050 建立自己定制的gatt库
在高通平台建立自己的gatt定制lib
一。编写dbi文件
如下例子:
在libs目录中,添加新文件,比如,gatt_xxx_db.dbi
#ifndef __GATT_TEST_DB_DBI__ #define __GATT_TEST_DB_DBI__ #include "gatt_ljx_uuids.h" primary_service { uuid : UUID_TEST_SERVICE, name : "EARBUD_TEST" }, #endif
注意的地方:
1.每个键值以逗号(,)结尾,且最后一对键值不要逗号(,),不然编译会报错
二。把lib加入到LIBS宏中
三。include文件,然后点击build开始编译
先在adk/earbud/src/gatt/gatt_handler_db.db中 #include 前面生成的dbi文件
到了这一步,点击编译,MDE会根据dbi文件自动在同级目录下生成xxx_db.h文件,然后把xxx_db.h文件Add Existing Files进来
至此,基本的gatt lib就做好了,接下就是在库中注册gatt的回调处理函数,以及handler函数处理gatt消息,notify等。
四。使用 GattManagerRegisterServer() 接口注册回调
注意:需要准备的几个参数
①reg_params.task
②start_handle以及end_handle,填入xxx_db.h文件中的初始宏,以及END 宏即可,例如:
#define HANDLE_EARBUD_TEST (0x0001) #define HANDLE_EARBUD_TEST_END (0xffff)
在reg_params.task handler中,需要处理GATT_MANAGER_SERVER_ACCESS_IND 消息,
调用完接口注册之后,在GATT_MANAGER_SERVER_ACCESS_IND 消息中,就可以处理BLE中 gatt传过来的相关消息。