Skip to content

BLE HID issues on esp32s3  #9669

@lukasmwerner

Description

@lukasmwerner

CircuitPython version

Adafruit CircuitPython 9.2.0-beta.0-16-gec5cca6983 on 2024-09-27; TinyS3 with ESP32S3

Code/REPL

# SPDX-FileCopyrightText: 2020 ladyada for Adafruit Industries
# SPDX-License-Identifier: MIT

"""
This example acts as a keyboard to peer devices.
"""

# import board
import sys
import time

from adafruit_hid.keyboard import Keyboard
from adafruit_hid.keyboard_layout_us import KeyboardLayoutUS

import adafruit_ble
from adafruit_ble.advertising import Advertisement
from adafruit_ble.advertising.standard import ProvideServicesAdvertisement
from adafruit_ble.services.standard.hid import HIDService
from adafruit_ble.services.standard.device_info import DeviceInfoService


# Use default HID descriptor
hid = HIDService()
device_info = DeviceInfoService(
    software_revision=adafruit_ble.__version__, manufacturer="Adafruit Industries"
)
advertisement = ProvideServicesAdvertisement(hid)
advertisement.appearance = 961
scan_response = Advertisement()

ble = adafruit_ble.BLERadio()
if ble.connected:
    for c in ble.connections:
        c.disconnect()

print("advertising")
ble.start_advertising(advertisement, scan_response)

k = Keyboard(hid.devices)
kl = KeyboardLayoutUS(k)
while True:
    while not ble.connected:
        pass
    print("Start typing:")
    while ble.connected:
        c = sys.stdin.read(1)
        sys.stdout.write(c)
        kl.write(c)
        # print("sleeping")
        time.sleep(0.1)
    ble.start_advertising(advertisement)

Behavior

Traceback (most recent call last):
  File "code.py", line 23, in <module>
  File "adafruit_ble/services/standard/hid.py", line 352, in __init__
  File "adafruit_ble/services/__init__.py", line 81, in __init__
  File "adafruit_ble/characteristics/__init__.py", line 164, in __set__
  File "adafruit_ble/characteristics/__init__.py", line 124, in _ensure_bound
  File "adafruit_ble/characteristics/__init__.py", line 149, in __bind_locally
ValueError: Value length > max_length

Description

No response

Additional information

No response

Metadata

Metadata

Assignees

Labels

blebugespressifapplies to multiple Espressif chips

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions