diff options
| author | hathach <[email protected]> | 2026-06-18 18:08:25 +0700 |
|---|---|---|
| committer | hathach <[email protected]> | 2026-06-18 19:36:00 +0700 |
| commit | d9dc891ee2aaedb733da4c0f2fee5a68be001ee7 (patch) | |
| tree | d56fe996a4207d899a6abc8e1f48fdf77a94435c /examples | |
| parent | 8d6e3c2dcd6902f834df9eed4d8e2d582dace673 (diff) | |
test/hil: fix esp32 audio_test_freertos (FreeRTOS tick), skip metro_m4
Enabling the audio test fleet-wide surfaced failures on esp32-p4/s3 and
metro_m4_express: the UAC mic enumerates but arecord fails the iso IN read
with EIO, while 18 other boards pass strict=1.000.
esp32: root cause is the FreeRTOS tick rate. ESP-IDF defaults
CONFIG_FREERTOS_HZ to 100, so the audio task wakes only every 10 ms and
can't service the 1 ms UAC iso frames -> underrun -> arecord EIO. (The same
dwc2 driver passes on STM32, whose FreeRTOSConfig is 1000 Hz.) Set
CONFIG_FREERTOS_HZ=1000 in the example sdkconfig.defaults; the example
defaults are honored in the generated sdkconfig alongside the BSP's, so this
takes effect.
metro_m4_express (samd51): not tick-rate -- its FreeRTOSConfig is already
1000 Hz like the passing boards -- so it's a separate iso-IN issue, skipped
for now.
Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
Diffstat (limited to 'examples')
| -rw-r--r-- | examples/device/audio_test_freertos/sdkconfig.defaults | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/examples/device/audio_test_freertos/sdkconfig.defaults b/examples/device/audio_test_freertos/sdkconfig.defaults index 83871619e..6e7a1cf52 100644 --- a/examples/device/audio_test_freertos/sdkconfig.defaults +++ b/examples/device/audio_test_freertos/sdkconfig.defaults @@ -1,3 +1,6 @@ CONFIG_IDF_CMAKE=y +# 1000 Hz tick: the UAC iso IN endpoint must be serviced every 1 ms frame; +# ESP-IDF's default 100 Hz starves the audio task -> host capture fails (arecord EIO). +CONFIG_FREERTOS_HZ=1000 CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK=y CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION=y |
