adafruit / adafruit/Adafruit_CircuitPython_BLE

adafruit-circuitpython-ble using bleak does not recognize custom StandardUUID

Open
#189 0 comments 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.