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

45 lines
1.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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)