Dear Sir/Madam,
I am using CC2564 for BLE application, now the firmware works good, My Android Phone(4.3) can find my BLE device, but when I try to connect, the result is bad.
I captured the packet format as following(NOTE it's little endian) , hope some Tier could explain where the bug is?
1, When the Phone try to connect with BLE device, I get the HCI data packet on CC2564
01 24: (connection handle=0x0401, pb flag= 10b bc flag=00b)
0B 00 (param length)
00 07 (l2cap acl data len)
04 00 (l2cap cid att=0x0004)
10 (read by group type request)
01 00 (start handle)
ff ff (end handle)
00 28 (primary service uuid).
2, So, on CC2564 I give a response
01 04 (connection handle, I try many time to add pb flag as 1 2 3, no way)
0B 00 (paramlength)
07 00 (l2cap acl data len)
04 00 (l2cap cid att=0x0004)
11 (read by group type response)
01(server count)
01 10(start handle 0x1001)
0B 10(group end handle 0x100B)
11 18(service uuid)
3, Then the controller give a event to say how many packet haved been transmated.
13 (event code: num of packet complete event)
05 (param len)
01 (number of conn_handle)
01 04 (first connection handle 0x0401)
01 00 (completed packet, 0x0001)
This event make me disappointed and angry, It said only 1 byte completed, so on Android Phone side, timeout !!!
Another strange thing is that On CC2564, it don't receive connection complete event before acl data transmition, so my another question is how the connection handle 0x401 was generated? I don't mask that event also.
God bless CC2564!