arduino / arduino/ArduinoCore-arc32
BLE valueLength() on a peripheral is always returning 64
- Dominant language
- C
- Stars
- 330
- Forks
- 281
- PR merge metrics
- No merged PRs in 30d
Description
With long writes from a device to the 101: I noticed that valueLength is always returning 64. It is necessary to get the correct length of data to keep from reading garbage at the end. I haven't seen any crashing though. I will attach the peripheral sketch used. I was using nRF connect to send text "0123456789". Ellisys shows "0123456789" in the traces.
This is the output from the serial terminal of the peripheral sketch that is reading the 10 characters sent from the phone.
value length: 64
value: 0123456789K?õßm÷çõðë·–PñßÿüÿŸˆhÓ
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the peripheral sketch mentioned in the report and reproduce the long write using nRF Connect, checking the BLE valueLength() path and serial output. Done means a 10-character write reports length 10 and does not include trailing garbage.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- embedded-iot
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100