summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhathach <[email protected]>2026-06-18 18:08:25 +0700
committerhathach <[email protected]>2026-06-18 19:36:00 +0700
commitd9dc891ee2aaedb733da4c0f2fee5a68be001ee7 (patch)
treed56fe996a4207d899a6abc8e1f48fdf77a94435c
parent8d6e3c2dcd6902f834df9eed4d8e2d582dace673 (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]>
-rw-r--r--examples/device/audio_test_freertos/sdkconfig.defaults3
-rw-r--r--test/hil/tinyusb.json3
2 files changed, 5 insertions, 1 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
diff --git a/test/hil/tinyusb.json b/test/hil/tinyusb.json
index 41d94bc00..a534f2601 100644
--- a/test/hil/tinyusb.json
+++ b/test/hil/tinyusb.json
@@ -132,6 +132,7 @@
"device": true,
"host": false,
"dual": true,
+ "skip": ["device/audio_test_freertos"],
"dev_attached": [
{
"vid_pid": "067b_2303",
@@ -139,7 +140,7 @@
"is_cdc": true
}
],
- "comment": "pl23x"
+ "comment": "pl23x; audio_test_freertos skipped: samd51 iso-IN capture fails (arecord EIO)"
},
"flasher": {
"name": "jlink",