major problem with Bluefruit nRF52 rx callback

For CircuitPython issues, ask in the Adafruit CircuitPython forum.

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
Locked
User avatar
spsexton
 
Posts: 26
Joined: Mon Apr 10, 2017 10:48 am

major problem with Bluefruit nRF52 rx callback

Post by spsexton »

I am using a feather nrf52840 express and trying to use rx callback to process bleuart data . My application sends continuous short messages to the feather approximately every 600ms, but even at a higher interval this problem exists. The rx callback will process data for around ten seconds but then will stop for around a second, then frequently but not always process data for a second or two, stop again for a second, then process data again for around ten seconds and repeat the stop behavior. If I use the loop instead of the rx callback it processes data much more consistently. I wanted to use the rx callback because I can tell which connection handle the data is received on. Is there either a fix for this or a way to get the connection handle for received data in the loop?

thanks

User avatar
spsexton
 
Posts: 26
Joined: Mon Apr 10, 2017 10:48 am

Re: major problem with Bluefruit nRF52 rx callback

Post by spsexton »

can someone from Adafruit confirm if this is a bug? I looked at github and I can't determine. Is it a softdevice issue? If so why does the loop perform better than the rx callback?

User avatar
sj_remington
 
Posts: 998
Joined: Mon Jul 27, 2020 4:51 pm

Re: major problem with Bluefruit nRF52 rx callback

Post by sj_remington »

I wonder if it would make sense to post the code, so that people might have some idea what you are talking about.

User avatar
spsexton
 
Posts: 26
Joined: Mon Apr 10, 2017 10:48 am

Re: major problem with Bluefruit nRF52 rx callback

Post by spsexton »

the code is a simple read similar to the bluart examples. Unfortunately I cannot post the rest of it. The central sends less than 20 bytes every 600ms. If I use a rx callback I get the behavior described. If I read in the loop instead the performance is much better.

Locked
Please be positive and constructive with your questions and comments.

Return to “Wireless: WiFi and Bluetooth”