Skip to content

BLE HID -> NotImplementedError: Only one report id per Application collection supported #4905

Closed
@ThomasAtBBTF

Description

@ThomasAtBBTF

Firmware

Adafruit CircuitPython 7.0.0-alpha.3-57-g683304fd3-dirty on 2021-06-19; Adafruit ItsyBitsy nRF52840 Express with nRF52840

Code/REPL

From the ble_keyboard example, I copied this code to my tester and created BRAILLE_HID_DESCRIPTOR based on code that works for OSX over USB.

hid = HIDService(hid_descriptor=BRAILLE_HID_DESCRIPTOR)

Behavior

Traceback (most recent call last):
  File "code.py", line 46, in <module>
  File "/lib/adafruit_ble/services/standard/hid.py", line 328, in __init__
  File "/lib/adafruit_ble/services/standard/hid.py", line 419, in _init_devices
NotImplementedError: Only one report id per Application collection supported

Code done running.

Press any key to enter the REPL. Use CTRL-D to reload.

If I replace in the code line the descriptor to

hid_descriptor=DEFAULT_HID_DESCRIPTOR

the example works as normal.

Description

I am not sure if I should call it a bug or feature request.
The descriptor which is working over USB is not accepted here.

Additional Info

Maybe I can split the descriptor into multiple smaller descriptors and create multiple devices, but I am really not sure how to and if VoiceOver IOS will then accept the braille display over BLE

Here the file with the descriptor:
BRAILLE_HID.zip

Also for reference:
hut1_22.pdf
where on page 281 the "Braille Display Page (0x41)" is documented.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions