micropython / micropython/micropython-lib

aioble not happy with characteristic writes...

Open
#996 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
2.9k
Forks
1.1k
Avg merge
7d 6h
Merged PRs (30d)
3

Description

Howdy Legends,

Getting some weird errors when doing the most basic writes...

I am connecting just fine to an ESP32-S3 running Firmware: 3.4.0; MicroPython v1.24.1 on 2024-11-29., and aioble is the latest.

With capture=True on the characteristic, when I attempt a write from LightBlue I get:

Unhandled exception in IRQ callback handler
Traceback (most recent call last):
  File "/lib/aioble/core.py", line 71, in ble_irq
  File "/lib/aioble/server.py", line 48, in _server_irq
  File "/lib/aioble/server.py", line 184, in _remote_write
AttributeError: type object 'BaseCharacteristic' has no attribute '_capture_queue'

...and then with capture=False just not getting anything.

Anything obvious I am missing?

Best,
Luke

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The traceback points to lib/aioble/server.py (_remote_write) and lib/aioble/core.py (ble_irq); begin by reading those handlers and the capture=True/False behavior described. Reproduce the ESP32-S3 write from LightBlue, then verify the IRQ path no longer raises and the write behavior is observable in both modes.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
embedded-iot
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 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.