adafruit / adafruit/Adafruit_CircuitPython_BLE
adafruit-circuitpython-ble using bleak does not recognize custom StandardUUID
- Dominant language
- Python
- Stars
- 138
- Forks
- 58
- PR merge metrics
- No merged PRs in 30d
Description
On Linux and windows the package adafruit-circuitpython-ble custom Services or Characteristics that uses the StandardUUID value that is not in range of the [Assigned numbers from the SIG Bluetooth Core Specification](https://www.bluetooth.com/specifications/assigned-numbers/) is not recognized/found ....
As an example the
uuid = StandardUUID(0xA001) #does not work on windows/linux but is ok in CircuitPython
But the
uuid = VendorUUID("0000a001-0000-1000-8000-00805f9b34fb") #Works everywhere
It would be nice if the package adafruit-circuitpython-ble works in the same way no mather what device it is runned on..
You could argue that the "Custom UUID 0xA000" should be implemented as a new VendorUUID but then it would be nice to gett an error message,,,
BLE Client Program runing on windows and bleak 0.21
https://github.com/rlangoy/tsd3050lab2/blob/main/rpi_ble_conect_address.py
BLE Server Program runing on nRF52840 Dongle (PCA10059) a CircuitPython 8.2.4
https://github.com/rlangoy/tsd3050lab2/blob/main/nrf_ble_read_write.py
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the linked rpi_ble_conect_address.py client on Linux or Windows and the nrf_ble_read_write.py server on the nRF52840, using bleak 0.21. Compare discovery with StandardUUID(0xA001) against VendorUUID("0000a001-0000-1000-8000-00805f9b34fb"). Done means the custom service or characteristic is recognized consistently, or an informative error explains that the StandardUUID value is unsupported.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- embedded-iot, networking
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100