通过调试,可以确认应用程序任务上的一切运行正常,GAPM任务正在运行,定时器正在运行。
但是,当我检查LLC_TASK的状态(ke_state_get(LLC_TASK))时,我得到0x0D的状态(LLC_ENC_WAIT_LTK),
我通过定时器定期检查它,它从不改变。
此行为发生在断开连接后(可能是错误断开),很少发生。我可以复制
这个行为:
1。连接外围设备
使用app_easy_gap_disconnect()强制断开中心与外围设备的连接,同时
Disconnecting _from_ central (in this case, iPhone)
4. Trying to connect again
After step 2. and 3. The disconnection status on peripheral is either 0x16 (disconnection from local) or 0x13 (disconnection
from remote). When the behavior happened, the disconnection will almost certainly show 0x13. I am guessing that
this is a timing-related problem when there are disconnection request from both side at almost the same time.
Like I said, this happens really rarely, but I can reproduce it after trying several time every time.
My question is, when LLC task is stuck at LLC_ENC_WAIT_LTK status, is it right to assume that connection is impossible?
furthermore, do you have any recommendation to prevent this kind of error?
I am using Murata Type ZY that includes DA14580. And using app_barebone example of SDK5.
Overall, I am satisfied with the example provided by Dialog and their support on this website. However,
it is still really hard to debug errors that possibly comes from lower level tasks such as this.
Thanks in advance
Isa