docs: expand test plan with channel cycling, upload, tuner tests, system info, ethernet details
CI / test (push) Has been cancelled

This commit is contained in:
2026-06-18 18:59:22 -04:00
parent 507a486a42
commit d152ecd1fc
+100 -32
View File
@@ -22,7 +22,24 @@
---
## 2. Home Screen — NAM Hero
## 2. Channel Cycling (Status Bar)
| # | Test | Expected Result | Pass/Fail |
|---|------|-----------------|-----------|
| 2.1 | Status bar shows current channel name | e.g. `GUITAR` in amber badge |
| 2.2 | Tap channel name badge | Cycles to next instrument (Bass) |
| 2.3 | Status bar updates | Shows `BASS` |
| 2.4 | Tap 🎛 button next to status bar | Also cycles instrument |
| 2.5 | Tap again — cycles through: Guitar → Bass → Keys → Vocals → Backing Tracks | Each tap advances |
| 2.6 | **AUDIO:** Cycling channels doesn't drop audio | No pop/glitch |
| 2.7 | Cycle back to Guitar | Returns to Guitar |
| 2.8 | Open Settings → Audio Interface → Instrument section | Shows current instrument |
| 2.9 | Tap "Cycle" button in Settings | Also cycles instrument |
| 2.10 | Verify instrument dropdown matches status bar | Both show same instrument |
---
## 3. Home Screen — NAM Hero
| # | Test | Expected Result | Pass/Fail |
|---|------|-----------------|-----------|
@@ -228,7 +245,10 @@
| 14.7 | **AUDIO:** Change CH 1 Output | Output routing changes |
| 14.8 | CH 2 Output dropdown | playback_1 / playback_2 / both |
| 14.9 | **AUDIO:** Change CH 2 Output | Output routing changes |
| 14.10 | Backing Track Source dropdown | None / Bluetooth Audio / other JACK ports |
|| 14.10 | Backing Track Source dropdown | Shows "None", "Bluetooth Audio" or other sources |
| 14.11 | **AUDIO:** Select a backing track source | Source connects, audio routes through FX chain |
| 14.12 | **AUDIO:** Toggle back to None | Returns to normal input |
| 14.13 | **AUDIO:** No dropout changing backing source | NAM CPU > 0% |
---
@@ -267,12 +287,19 @@
| 17.3 | Change hostname + save | Updates, may need reboot |
| 17.4 | Network mode shows DHCP or Static | Current mode |
| 17.5 | Tap to toggle DHCP/Static | Switches mode |
| 17.6 | IP, Gateway, DNS shown (if static) | Fields visible |
| 17.7 | Wi-Fi status shows connected or hotspot | Current state |
| 17.8 | Tap Wi-Fi scan | Lists available networks |
| 17.9 | Tap a network | Connects |
| 17.10 | **AUDIO:** Wi-Fi connect doesn't drop audio | NAM continues |
| 17.11 | Hotspot toggle | Enables/disables hotspot |
|| 17.6 | Ethernet IP address displayed | Shows the pedal's LAN IP |
| 17.7 | Ethernet MAC address displayed | Shows the pedal's MAC |
| 17.8 | Gateway address displayed (if static) | Shows gateway IP |
| 17.9 | DNS server displayed (if static) | Shows DNS IP |
| 17.10 | Network mode shows DHCP or Static | Current mode |
| 17.11 | Tap to toggle DHCP/Static | Switches mode |
| 17.12 | IP, Gateway, DNS become editable (if static) | Fields visible |
| 17.13 | Wi-Fi status shows connected or hotspot | Current state |
| 17.14 | Tap Wi-Fi scan | Lists available networks |
| 17.15 | Tap a network | Connects |
| 17.16 | **AUDIO:** Wi-Fi connect doesn't drop audio | NAM continues |
| 17.17 | Hotspot toggle | Enables/disables hotspot |
| 17.18 | **AUDIO:** Hotspot toggle doesn't drop audio | NAM continues |
---
@@ -292,14 +319,22 @@
| # | Test | Expected Result | Pass/Fail |
|---|------|-----------------|-----------|
| 19.1 | NAM Engine field shows "C++" or "PyTorch" | Current engine mode |
| 19.2 | Tap to switch engine | Reloads model in new engine |
| 19.3 | **AUDIO:** NAM survives engine switch | CPU > 0% |
| 19.4 | CPU readout shows NAM + system | e.g. `42%` with `sys 30%` dimmed |
| 19.5 | Tap "Restart Service" | Pedal restarts, comes back up |
| 19.6 | **AUDIO:** After restart, NAM returns | CPU > 0%, model loaded |
| 19.7 | Tap "Reset Defaults" | Resets config |
| 19.8 | Tap "Reboot" | System reboots |
| 19.1 | System section shows **CPU** readout | e.g. `42%` with `sys 30%` dimmed beside it |
| 19.2 | **Temperature** displayed | e.g. `53°C` (should be < 80°C) |
| 19.3 | **Uptime** displayed | Shows how long since last boot |
| 19.4 | **Disk usage** displayed | Shows percentage + free space, e.g. `12% (6.2G free)` |
| 19.5 | **RAM usage** displayed | Shows percentage + used/total, e.g. `16% (1284/7869MB)` |
| 19.6 | NAM Engine field shows "C++" or "PyTorch" | Current engine mode |
| 19.7 | Tap "Switch" to change engine | Reloads model in new engine |
| 19.8 | **AUDIO:** NAM survives engine switch | CPU > 0% after change |
| 19.9 | Tap "Switch" back to previous engine | Restores |
| 19.10 | Tap "Reset to Defaults" — confirm dialog | Resets config.yaml to defaults |
| 19.11 | **AUDIO:** After reset, NAM still works | May need to reload model |
| 19.12 | Tap "Restart Service" | Toast appears, pedal restarts |
| 19.13 | **AUDIO:** After restart, wait 18s | NAM loads back, CPU > 0% |
| 19.14 | Verify model reloaded after restart | Same model as before restart |
| 19.15 | Tap "Reboot" — confirm dialog | System reboots |
| 19.16 | **AUDIO:** After reboot, wait 30s | Pedal comes back, NAM CPU > 0% |
---
@@ -317,43 +352,76 @@
---
## 21. Tuner
## 21. Model / IR Upload
| # | Test | Expected Result | Pass/Fail |
|---|------|-----------------|-----------|
| 21.1 | Open Tuner (tap tuner icon if available) | Tuner screen opens |
| 21.2 | Play open string | Note name + cents displayed |
| 21.3 | Tune to reference | Visual indicator moves to center |
| 21.4 | Close tuner | Returns to home screen |
| 21.5 | **AUDIO:** Muted when tuner active | No output (mute for tuning) |
| 21.1 | Open Downloads → Local tab | Lists installed `.nam` files |
| 21.2 | Check for upload button or file picker | May need to use a file input in the UI |
| 21.3 | Upload a `.nam` file | File uploads to pedal |
| 21.4 | Uploaded model appears in Local tab list | Shows in model list |
| 21.5 | Tap uploaded model to load it | Loads, green border appears |
| 21.6 | **AUDIO:** Uploaded model processes audio | NAM CPU > 0%, different tone |
| 21.7 | Upload a `.wav` IR file | IR uploads |
| 21.8 | Load the uploaded IR | IR loaded indicator |
| 21.9 | **AUDIO:** IR affects tone | EQ/space changes |
---
## 22. Stress Tests
## 22. Tuner (Full-Screen View)
| # | Test | Expected Result | Pass/Fail |
|---|------|-----------------|-----------|
| 22.1 | Rapidly tap footswitch 10x | Toggles each time, no crash |
| 22.2 | Rapidly change buffer size 5x | Each change works, NAM survives |
| 22.3 | Load 3 different NAM models in succession | Each loads cleanly |
| 22.4 | Change routing mode 5x in a row | No crash, CPU stable |
| 22.5 | Open/close all 5 overlays rapidly | No UI freezes |
| 22.6 | Leave pedal running 30 min with audio | No audio dropouts or xruns |
| 22.7 | Hard-refresh browser (Ctrl+Shift+R) | UI reloads cleanly, state intact |
| 22.1 | Tap 🎵 tab in bottom bar | Tuner opens full-screen |
| 22.2 | Note display shows `--` when silent | Large text centered |
| 22.3 | Cents bar shows flat/center/sharp indicator | Visual position indicator |
| 22.4 | Frequency readout shows `0.0 Hz` when silent | Below note display |
| 22.5 | Play open **E string** (low E, ~82Hz) | Shows `E`, cents bar near center |
| 22.6 | Play open **A string** (~110Hz) | Shows `A` |
| 22.7 | Play open **D string** (~147Hz) | Shows `D` |
| 22.8 | Play open **G string** (~196Hz) | Shows `G` |
| 22.9 | Play open **B string** (~247Hz) | Shows `B` |
| 22.10 | Play open **high e string** (~330Hz) | Shows `e` or `E` |
| 22.11 | Bend a string sharp — cents bar moves right | Red fill on sharp side |
| 22.12 | Bend a string flat — cents bar moves left | Blue fill on flat side |
| 22.13 | Tune to pitch — cents bar turns green centered | Green fill, narrow bar centered |
| 22.14 | **AUDIO:** Output is muted when tuner is active | No sound from speakers |
| 22.15 | Tap "✕ Close Tuner" button | Returns to home screen |
| 22.16 | **AUDIO:** Audio resumes after closing tuner | Normal processing, NAM CPU > 0% |
---
## 23. Expected Reference Values
## 23. Stress Tests
| # | Test | Expected Result | Pass/Fail |
|---|------|-----------------|-----------|
| 23.1 | Rapidly tap footswitch 10x | Toggles each time, no crash |
| 23.2 | Rapidly change buffer size 5x in a row | Each change works, NAM survives |
| 23.3 | Load 3 different NAM models in succession | Each loads cleanly |
| 23.4 | Change routing mode 5x in a row | No crash, CPU stable |
| 23.5 | Change channel mode 5x in a row | No crash, CPU stable |
| 23.6 | Open/close all 5 overlays rapidly | No UI freezes |
| 23.7 | Cycle through all 5 instruments rapidly | No glitch |
| 23.8 | Leave pedal running 30 min with audio | No audio dropouts or xruns |
| 23.9 | Hard-refresh browser (Ctrl+Shift+R) | UI reloads cleanly, state intact |
| 23.10 | Kill browser, reopen — page loads fresh | No stale state |
---
## 24. Expected Reference Values
| Setting | Typical Value | CPU Range |
|---------|---------------|-----------|
| Buffer 128 @ 48k | 2.67ms window | 70-90% (may xrun) |
| Buffer 256 @ 48k | 5.33ms window | 60-80% (may xrun occasionally) |
| Buffer 512 @ 48k | 10.67ms window | 35-50% (stable) |
| Buffer 512 @ 48k (default) | 10.67ms window | 35-50% (stable) |
| Buffer 1024 @ 48k | 21.33ms window | 18-25% (very stable) |
| 4CM routing mode | Both channels processed | CPU ~1.5x mono |
| Model unloaded | No NAM processing | 0% NAM CPU |
| Bypass ON | DI signal | 0% NAM CPU |
| Tuner active | Muted output | 0% NAM CPU |
| 96kHz sample rate | Higher clarity | CPU ~2x 48kHz |
| PyTorch engine | In-process inference | CPU varies by model |
---