0

[title:arduino] No ACKs after initial send

PascalJedi gravatar image

asked 2016-10-16 03:38:04 +0200

Hi All,

BLE Nordic Stack: 0.9.7 Tiny Circuits: Ardunio + Nordic nRF8001 Board

 First time post, and hoping someone has run into the same issue that I am.   I am in the process of writing a custom sensing ble device.  I have created a custom UUID service in nRFGo.  The service itself is a notify endpoint.  I have an iOS app connecting to the device and registering for the notify characteristic.

The following Sequence Occurs<br> Pipe Status -> Enable Notify<br> Connection Interval Updated to 1000ms<br> (2 Credits Available)<br> Send Data 1 (Credit -1)<br> (async wait 1250ms)<br> Send Data 2 (Credit -1)<br> Evt Credit: Peer Radio acked (Credit +1)<br> Send Data 3<br> Evt Credit: Peer Radio acked (Credit +1)<br> Send Data 4<br> (skip send, no credit) <br> (skip send, no credit)<br> (skip send, no credit)<br> (skip send, no credit)<br> (disconnect)<br>

Has anyone else run into this type of issue?   Am I missing something from the example functions in terms of credit management which is causing the send not to work?

Serial Debug With Verbose Logging:

E17 :11, 88, BF, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, <br> Evt Pipe Status <br> 191<br> C1 :1, 13, <br> Notify Enabled<br> E3 :3, 84, 13, 0, <br> ACI Command 13<br> E7 :7, 89, 1E, 3, 0, 0, 58, 2,<br> Timing changed. New connection interval: 998 ms<br> Credit available: 2<br> Credit total: 2<br> Send Data<br> C20 :14, 15, 8, 2A, 3E, 37, 0, 4B, 8, 14, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, <br> Credit available: 1<br> Credit total: 2<br> Send Data<br> C20 :14, 15, 8, 2A, 3E, 37, 0, 4B, 8, 14, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, <br> Credit available: 0<br> Credit total: 2<br> Skipping Send<br> Credit available: 0<br> Credit total: 2<br> Skipping Send<br> Credit available: 0<br> Credit total: 2<br> Skipping Send<br> Credit available: 0<br> Credit total: 2<br> Skipping Send<br> E3 :3, 86, 3, 8, <br> Evt Disconnected -> Link lost. Bluetooth Error code = 0x8<br>

If this isn't enough or the correct level of insight into the code, let me know and I can post what is needed.

edit retag flag offensive close delete report spam

Comments

Sad to see the preview post doesn't map up to the actual post in terms of lines being displayed correctly. =(

Pascal ( 2016-10-16 03:40:05 +0200 )editconvert to answer

I cannot see any Datacredit events. Just your credits decrease to zero. You should also check the number of available credits before you call SendData.

run_ar ( 2016-10-17 15:09:53 +0200 )editconvert to answer

Hi run_ar, I apologize for the poorly formatted log file above. I am seeing two (ACI_EVT_DATA_CREDIT) events and then I never get anymore sent from the host. This occurs both on the Mac, and the LightBlue Application. Basic question; since this is a notification pipe and not an indicate pipe should there even be Credits / ACKs? I thought notifications were just send and forget?

Pascal ( 2016-10-17 18:01:11 +0200 )editconvert to answer

1 answer

Sort by » oldest newest most voted
0
PascalJedi gravatar image

answered 2016-10-18 03:11:30 +0200

O.k., I figured out why this type of failure was occurring: If you don't have SET as well as NOTIFY the ACKs are not transmitted.

edit flag offensive delete publish link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer. Do not ask a new question or reply to an answer here.

[hide preview]

User menu

    or sign up

Recent questions

Question Tools

1 follower

Stats

Asked: 2016-10-16 03:38:04 +0200

Seen: 43 times

Last updated: Oct 18 '16