mirror of
https://github.com/torlando-tech/pyxis.git
synced 2026-08-06 10:49:33 +00:00
Confirmed fixes: - LVGL hybrid-allocator threshold 1024->256 (lib/lv_mem_hybrid.h): moves ~45KB of small LVGL objects to PSRAM, fixing internal-heap starvation that made the call/loopback pipeline intermittently fail to allocate and reboot mid-call (internal free 71->116KB, largest contiguous block 61->106KB). - ES7210 mic PGA gain 21dB->12dB (lxst_audio.cpp): 21dB saturated the ADC -- an rms-7003 noise floor in silence + 0x8000 negative-rail spikes + a spectral-peak shift that masqueraded as a "+17% pitch warp". At 12dB idle silence is clean (rms 48). Diagnostic harness (PYXIS_TEST_HOOKS, test-only): T:RAWMIC[stage], T:REG, and T:RECORD/T:DUMPREC add a raw-mic UDP tap plus a reliable PSRAM recorder with a checksummed serial transfer, and T:LOOPBACK wiring, for objective mic-capture analysis (offboard Whisper STT scoring). Exploratory / still unresolved: captured speech remains garbled (oscillating static, likely an ES7210 sigma-delta capture instability -- under investigation). Includes a 16kHz/main-PLL clock path + MICBIAS exploration; the "warp" was the gain artifact, not a clock issue, so the 16kHz path can later be simplified back to 8kHz. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UWZuYkHBRqNb6BZHV8sTG5