Hi All
CC2640 SDK:V2.2.2
我參考TimeApp example code加入我的Glucose Project時遇到一個問題,
我的程序有跑到以下
Time_discGattMsg() –> Time_discCurrTime()並return state = 0x11
接下來是我Project和TimeApp example 的差異:<連線配對後>
TimeApp example:會跑到TimeApp_processStackMsg()–> TimeApp_processGattMsg() –>
Time_discGattMsg() 執行上述state == 0x11 find service & Characteristic,更改時間成功
我的Project:不會跑到GlucoseSensor_processStackMsg()、也就不會跑GlucoseSensor_processGattMsg(),
以下的Time_discGattMsg()也就不會跑,不會做find service & Characteristic的步驟。
找不到原因,請問是否什麼地方我沒改到或漏掉的?
Viki Shi:
"不會跑到GlucoseSensor_processStackMsg()" 这句不太懂,你的project中是不是有连接的设备试图执行service discovery?
kuo austin:
回复 Viki Shi:
謝謝您的回答。
我的glucose project是slave device,所以只會跑GlucoseSensor_processAppMsg() –> 等待Master phone連線/配對,
我想加入Time service,但Time App中似乎是Master的角色,所以我參考Time App方式在GlucoseSensor_processStateChangeEvt()
的GAPROLE_CONNECTED連線時執行"Util_startClock(&startDiscoveryClock)"去找Time service uuid(程式有執行到time_discovery.c的
Time_discCurrTime())
整理如下:1、目前程式有跑到Time_discCurrTime() <newState = DISC_CURR_TIME_START –> DISC_CURR_TIME_SVC> discovery time service return GATT_DiscPrimaryServiceByUUID != MSG_BUFFER_NOT_AVAIL
2、程式還需再跑一次Time_discCurrTime() <newState = DISC_CURR_TIME_SVC> 才能確定Service & Characteristic找到
3、第二次執行Time_discCurrTime()是call by TimeApp_processStackMsg()<My project:GlucoseSensor_processStackMsg()> 就是目前卡住的地方,執行了discovery time service後,應該會收到Master phone的回應,並通知GlucoseSensor_processStackMsg(), 但都沒反應,所以無法執行到Time_discCurrTime() <DISC_CURR_TIME_SVC & DISC_CURR_TIME_CHAR>
Viki Shi:
回复 kuo austin:
time_app应该是GATT client, 也即是从设备,两个例程分开测试有问题吗?另外,能否提供抓包文件?
kuo austin:
回复 Viki Shi:
Hi Viki
我這裡沒有能抓packet的工具,sample code "TimeApp"沒問題,
是加入我的project後收不到手機的回應,但我找不到卡在哪裡,
是否有什麼地方需要特別注意的??
Viki Shi:
回复 kuo austin:
最好能提供一下抓包文件,光凭描述不好判断