Add in-app speaker discovery and connection guide

This commit is contained in:
lda committed 2026-10-25 04:59:07 +07:00 Verified
1 parent 038e152bbc
commit f75d3fb558
7 files changed
+287 -28

No files matched your search

+6
View File
@@ -14,6 +14,7 @@ the package or running `--help` does not load Tk or Bleak.
| `ble_link.py` | Bleak connection, notifications, characteristic writes |
| `link.py`, `transport.py` | Experimental RFCOMM and serial adapters |
| `gui.py` | Tk controls and event rendering |
| `discovery.py` | Read-only BLE discovery, unnamed model matching, and selectable labels |
| `cli.py`, `__main__.py` | Installed command and backwards-compatible module entry |
| `ble_probe.py`, `probe.py` | Endpoint diagnostics |
| `windows_bluetooth.py` | Experimental RFCOMM initialization |
@@ -41,6 +42,11 @@ async event loop lives entirely within the worker thread. The GUI submits
payloads through a bounded command queue and consumes events through another
queue; workers never call Tk methods.
Discovery uses a separate bounded-duration worker and the same event queue.
It returns plain speaker records without opening a GATT connection. Tk maps a
selected label to its address; manual addresses remain supported. Scanning is
disabled while a connection is active so scans do not compete with BLE traffic.
BLE notifications enter a bounded async queue and can contain partial or
combined packets. The decoder retains framing state between notifications.
Queue overflow terminates the connection rather than silently losing framing.