前言
目前QCC308x使用全新的架构,导入BLE GATT server和之前有很大不同。架构中导入了synergy层这层是LEA全新处理和建立GATT server的方式。
开发环境 :
MDE:MDE WIN 2.8.0.37 _x64
ADK版本:ADK-23.1-CS1-r00593.1
芯片规格:QCC308X系列
一、添加GATT服务库
找一个其它的GATT服务复制过来,在其它服务中,修改你自己想要的GATT 服务特性。如下图所示我建立了一个私有的透传服务。主要是对应.dbi文件这个是建立GATT 服务的属性列表决定了你的私有服务实现怎样的服务特性功能。下图所实现的是一个NOTIFY和WRITE。 NOTIFY是QCC308X上报数据给到远端。 WRITE是远端下发数据给到QCC308X。
然后在下面路径中找到source_list.xml这个文件,打开文档编辑器按照其它服务的添加方法把自己建立的私有服务的.h,.c,.dbi等文件按照其它服务排布规则添加进去。这样整体编译的时候才能把自己添加的私有服务属性编译进去。
二、把建立的GATT服务注册到synergy任务列表中
主要注册synergy任务列表就两个函数。一个CsrBtFtInit(void **gash)用于服务初始化列表,一个CsrBtFtHandler(void **gash)用于处理来自底层蓝牙协议层上来的蓝牙消息。具体注册可以参考其它服务注册流程有几个需要注意点如下所示: