Files
AudioMixer/PROTOCOL.md
T
2026-09-07 14:40:16 +03:00

1.2 KiB
Raw Blame History

Ausiomixer HID Protocol

VID=0x2E8A PID=0xA541
Composite USB: CDC (debug printf) + HID (mixer reports), vendor usage page 0xFF00.

Input report (Pico → Host) — 8 bytes

Offset Field
0 report_id = 1
1 enc1_delta (int8) — scroll selection
2 enc2_delta (int8) — selected session volume steps
3 flags: bit0=E1 SW, bit1=E2 SW
4 pot 0..100 — system master
5..7 reserved

Output report (Host → Pico) — 64 bytes

Offset Field
0 report_id = 2
1 session_count
2 selected_index
3 master_vol 0..100
4 page_start
5 n_visible (0..5)
6.. slots × n_visible

Each slot (11 bytes): vol (1) + UTF-8 name (9) + NUL (1).

Controls

Hardware Action
Encoder 1 Change selected session
Encoder 2 Change volume of selected session (±2% per click on host)
Pot GP26 Absolute master volume
SW Logged (E1/E2); reserved

Run

  1. Flash build/ausiomixer.uf2
  2. dotnet run --project host/Ausiomixer.Host
  3. Play audio in Windows; names appear on the ILI9341 (320×240)