Skip to main content

led-ctrl-v3-device-respeaker

Die Anbindung an den reSpeaker XVF3800 über USB.

Es enthält:

  • UsbTransport — Geräteerkennung, automatische Wiederverbindung, Heartbeat und thread-sicheres Lesen und Schreiben,
  • ReSpeakerFrameSink — schreibt den komponierten LED-Frame auf den Ring und überspringt unveränderte Frames,
  • ReSpeakerDoaProvider — liest DOA_VALUE und liefert direction_deg und detection_state.

Ausgabe und Eingabe sind getrennte Objekte über einem gemeinsamen Transport. Sie werden einzeln registriert, damit ein Ausfall der einen Richtung die andere nicht mitnimmt.

Das Paket hängt nur am SDK. Es kennt weder Engine noch Effektlogik: eine Definition deklariert lediglich die Fähigkeit doa und liest den validierten Snapshot. Registriert ist der Provider als respeaker.doa — der Gerätename hält ihn vom Simulator getrennt, die Fähigkeit ist das, was ein Effekt benennt.

Die Ringgröße stammt aus der Befehlstabelle der Firmware (LED_RING_COLOR) und steht nirgends als Zahl im Code. Weicht die konfigurierte led_count davon ab, meldet die Senke das über status(), statt Frames stillschweigend zu kürzen.

Wenn das Gerät belegt ist

Ein WinUSB-Handle ist exklusiv. Ein zweiter Prozess reiht sich nicht ein, er bekommt Errno 13 — das liest sich wie ein Treiber- oder Rechteproblem und schickt einen in die falsche Richtung. Meistens läuft schlicht noch ein anderer Controller.

lefx-respeaker probe

probe sagt, ob das Gerät ansprechbar ist, und listet andernfalls die Prozesse, die ein USB-Gerät halten — mit Kommandozeile, denn erfahrungsgemäß heißen alle Kandidaten python.exe.

lefx-respeaker claim --dry-run

claim beendet, was im Weg steht, und prüft danach nach. Zwei Dinge begrenzen den Schaden:

  • Es wird einzeln beendet und nach jedem Schritt neu geprüft. Sobald das Gerät antwortet, hört es auf. Der Prozess, der wirklich im Weg war, ist damit der letzte, den es trifft.
  • Fremde USB-Software wird nicht angefasst. Maus-, Tastatur- und RGB-Software hält dauerhaft offene WinUSB-Handles und taucht in derselben Suche auf. Sie wird aufgelistet und in Ruhe gelassen; nur Prozesse, die sich als reSpeaker-Software zu erkennen geben, kommen in Frage. --include-unrelated hebt das auf — bewusst und einzeln.

Im Dienst ist dasselbe als Senken-Option verfügbar:

uv run lefx serve --sink respeaker --sink-option force_claim=true

Es ist eine Senken-Option und kein lefx-Schalter, weil lefx nichts über reSpeaker wissen soll. Der Transport ruft es höchstens einmal pro Verbindungszyklus auf, nur bei einem Zugriffsfehler: der Wiederholungsversuch läuft alle paar Sekunden, und etwas, das in diesem Takt Prozesse beendet, wäre eine Plage. Ein fehlendes Gerät gilt nicht als Konkurrenz — ein gezogenes Kabel ist kein fremder Prozess.

Release files for led-ctrl-v3-device-respeaker 3.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for led-ctrl-v3-device-respeaker 3.0.0
File Size Uploaded
led_ctrl_v3_device_respeaker-3.0.0.tar.gz 26.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for led-ctrl-v3-device-respeaker 3.0.0
File Interpreter ABI Platform
led_ctrl_v3_device_respeaker-3.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 56.2 kB

Release files / led_ctrl_v3_device_respeaker-3.0.0.tar.gz

Download URL led_ctrl_v3_device_respeaker-3.0.0.tar.gz
Size 26.0 kB
Tags Source
SHA-256 checksum
How to use checksums
a40eb4dccd30a216cca982a734882bf9cea03c414a51862df529a0ec094b73a8
BLAKE2b-256 checksum
How to use checksums
f52646dcb11f0c2408e8579c64877610b46d87a3e90e4e3858bd85c65fde950f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / led_ctrl_v3_device_respeaker-3.0.0-py3-none-any.whl

Download URL led_ctrl_v3_device_respeaker-3.0.0-py3-none-any.whl
Size 30.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
73c3c145c5ca218f3c8e1f79a5411b8b4768522fdb74796028b3f964c313901c
BLAKE2b-256 checksum
How to use checksums
b743b36f5f91c926f028d2c7aa7c2249bf1024c207f49a8d5a113a40a442ab58
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

This release

3.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page