-
Notifications
You must be signed in to change notification settings - Fork 221
Rewrite handleAclDataPkt to correctly handle fragments #401
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #401 +/- ##
==========================================
- Coverage 15.30% 15.30% -0.01%
==========================================
Files 28 28
Lines 3666 3673 +7
==========================================
+ Hits 561 562 +1
- Misses 3105 3111 +6 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Memory usage change @ f6c5238
Click for full report table
Click for full report CSV
|
@facchinm Could you have a look at this MR as well? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, I tested on:
- science kit r3, rp2040+esp32
- arduino ble 33 sense, led and battery examples
I've noticed that sometimes my BLE connection is interrupted because of a "Rejecting packet cid" error when I send many fragmented packets. I suspect this issue to be caused by the following line:
ArduinoBLE/src/utility/HCI.cpp
Line 730 in 9263b3a
I don't think a fragment has a L2CAP header. Therefore, the
len
field points to arbitrary data. Sometimes it matches the the value in the condition and the packet is misinterpreted (and causes the CID error).This MR rewrites the
handleAclDataPkt
method to be more readable and produce more user-friendly debug output.