feat: MEMS microphone software handling for TX15 and TX16SMK3 (#7328)

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
3djc
2026-06-03 13:31:40 +10:00
committed by GitHub
co-authored by Claude Sonnet 4.6
parent 13bba22a4d
commit a7d730fded
39 changed files with 1385 additions and 4 deletions
+7
View File
@@ -28,6 +28,7 @@
#include "timers_driver.h"
#include "hal/abnormal_reboot.h"
#include "hal/watchdog_driver.h"
#include "pdm_wav_recorder.h"
#include "tasks.h"
#include "tasks/mixer_task.h"
@@ -115,6 +116,12 @@ static void audioTask()
DEBUG_TIMER_SAMPLE(debugTimerAudioIterval);
DEBUG_TIMER_START(debugTimerAudioDuration);
audioQueue.wakeup();
#if defined(PDM_CLOCK)
// Drive microphone recording (if any) at the audio-task cadence.
// Much shorter than the UI tick interval, so the PDM ring buffer
// never fills enough to trigger skip-ahead / sample drops.
PdmWavRecorder::audioTick();
#endif
DEBUG_TIMER_STOP(debugTimerAudioDuration);
sleep_until(&next_tick, 4);
}