diff options
| author | sakumisu <[email protected]> | 2026-05-21 20:59:46 +0800 |
|---|---|---|
| committer | sakumisu <[email protected]> | 2026-05-22 10:33:15 +0800 |
| commit | 36145cc47a670e53ea28b421051bd7ea2638d07c (patch) | |
| tree | 992b77fb2fff47f70a8fddfc9c0cafd7ad2fcd4a | |
| parent | b5429f038a3dc5d9659c0f75ca2b61e4f8549607 (diff) | |
update(ci): update mic pool size
Signed-off-by: sakumisu <[email protected]>
| -rw-r--r-- | tests/bouffalolab/src/main.c | 33 | ||||
| -rw-r--r-- | tests/hpmicro/src/main.c | 52 |
2 files changed, 79 insertions, 6 deletions
diff --git a/tests/bouffalolab/src/main.c b/tests/bouffalolab/src/main.c index dbb1660c..17531064 100644 --- a/tests/bouffalolab/src/main.c +++ b/tests/bouffalolab/src/main.c @@ -21,8 +21,9 @@ static ATTR_NOINIT_PSRAM_SECTION USB_MEM_ALIGNX uint8_t frame_buffer1[640 * 480 static ATTR_NOINIT_PSRAM_SECTION USB_MEM_ALIGNX uint8_t frame_buffer2[640 * 480 * 2]; static struct usbh_videoframe frame_pool[2]; -static ATTR_NOINIT_PSRAM_SECTION USB_MEM_ALIGNX uint8_t frame_buffer[AUDIO_MIC_EP_MPS * 8]; -static struct usbh_audioframe frame_pool2[8]; +#define AUDIP_MIC_POOL_SIZE (10) +static ATTR_NOINIT_PSRAM_SECTION USB_MEM_ALIGNX uint8_t frame_mic_buffer[AUDIO_MIC_EP_MAX_MPS * AUDIO_MIC_ISO_PACKETS * AUDIP_MIC_POOL_SIZE]; +static struct usbh_audioframe frame_mic_pool[AUDIP_MIC_POOL_SIZE]; void usbh_video_run(struct usbh_video *video_class) { @@ -92,12 +93,12 @@ int main(void) extern void usbh_video_fps_init(void); usbh_video_fps_init(); - for (uint8_t i = 0; i < 8; i++) { - frame_pool2[i].frame_buf = frame_buffer + i * AUDIO_MIC_EP_MPS; - frame_pool2[i].frame_bufsize = AUDIO_MIC_EP_MPS; + for (uint8_t i = 0; i < AUDIP_MIC_POOL_SIZE; i++) { + frame_mic_pool[i].frame_buf = frame_mic_buffer + i * AUDIO_MIC_EP_MAX_MPS * AUDIO_MIC_ISO_PACKETS; + frame_mic_pool[i].frame_bufsize = AUDIO_MIC_EP_MAX_MPS * AUDIO_MIC_ISO_PACKETS; } - usbh_audio_mic_stream_create(frame_pool2, 8); + usbh_audio_mic_stream_create(frame_mic_pool, AUDIP_MIC_POOL_SIZE); usb_osal_thread_create("uac_mic", 3072, 5, usbh_audio_mic_frame_thread, NULL); #endif vTaskStartScheduler(); @@ -191,4 +192,24 @@ int usbh_uac_stop(int argc, char **argv) } SHELL_CMD_EXPORT_ALIAS(usbh_uac_stop, usbh_uac_stop, usbh_uac_stop); + +int usbh_uac_volume(int argc, char **argv) +{ + struct usbh_audio *audio_class; + + if (argc < 2) { + USB_LOG_ERR("please input correct command: usbh_uac_volume dB_val\r\n"); + return -1; + } + + audio_class = (struct usbh_audio *)usbh_find_class_instance("/dev/audio0"); + + int ret = usbh_audio_set_volume(audio_class, "mic", 0, atoi(argv[1])); + if (ret < 0) { + USB_LOG_ERR("set volume failed, ret: %d\r\n", ret); + } + return 0; +} + +CSH_CMD_EXPORT(usbh_uac_volume, usbh_uac_volume); #endif
\ No newline at end of file diff --git a/tests/hpmicro/src/main.c b/tests/hpmicro/src/main.c index a692c5b0..d011c0a9 100644 --- a/tests/hpmicro/src/main.c +++ b/tests/hpmicro/src/main.c @@ -37,6 +37,29 @@ SDK_DECLARE_EXT_ISR_M(BOARD_CONSOLE_UART_IRQ, shell_uart_isr) static void task_start(void *param); +#ifdef CONFIG_USB_EHCI_ISO +#define AUDIP_MIC_POOL_SIZE (10) +static USB_MEM_ALIGNX uint8_t frame_mic_buffer[AUDIO_MIC_EP_MAX_MPS * AUDIO_MIC_ISO_PACKETS * AUDIP_MIC_POOL_SIZE]; +static struct usbh_audioframe frame_mic_pool[AUDIP_MIC_POOL_SIZE]; + +static void usbh_audio_mic_frame_thread(void *argument) +{ + int ret; + struct usbh_audioframe *frame; + + while (1) { + ret = usbh_audio_mic_stream_dequeue(&frame, 0xfffffff); + if (ret < 0) { + continue; + } + + USB_LOG_RAW("frame buf:%p,frame len:%d\r\n", frame->frame_buf, frame->frame_size); + + usbh_audio_mic_stream_enqueue(frame); + } +} +#endif + int main(void) { board_init(); @@ -54,6 +77,14 @@ int main(void) extern void uvc2lcd_init(void); uvc2lcd_init(); + + for (uint8_t i = 0; i < AUDIP_MIC_POOL_SIZE; i++) { + frame_mic_pool[i].frame_buf = frame_mic_buffer + i * AUDIO_MIC_EP_MAX_MPS * AUDIO_MIC_ISO_PACKETS; + frame_mic_pool[i].frame_bufsize = AUDIO_MIC_EP_MAX_MPS * AUDIO_MIC_ISO_PACKETS; + } + + usbh_audio_mic_stream_create(frame_mic_pool, AUDIP_MIC_POOL_SIZE); + usb_osal_thread_create("uac_mic", 3072, 5, usbh_audio_mic_frame_thread, NULL); #endif #ifndef CONFIG_USB_OTG_ENABLE @@ -142,6 +173,7 @@ int usbh_deinit(int argc, char **argv) } CSH_CMD_EXPORT(usbh_deinit, usbh_deinit); + #ifdef CONFIG_USB_EHCI_ISO // clang-format off USB_NOCACHE_RAM_SECTION USB_MEM_ALIGNX uint8_t src_buffer[1024 * 10]; @@ -232,4 +264,24 @@ int usbh_uac_stop(int argc, char **argv) } CSH_CMD_EXPORT(usbh_uac_stop, usbh_uac_stop); + +int usbh_uac_volume(int argc, char **argv) +{ + struct usbh_audio *audio_class; + + if (argc < 2) { + USB_LOG_ERR("please input correct command: usbh_uac_volume dB_val\r\n"); + return -1; + } + + audio_class = (struct usbh_audio *)usbh_find_class_instance("/dev/audio0"); + + int ret = usbh_audio_set_volume(audio_class, "mic", 0, atoi(argv[1])); + if (ret < 0) { + USB_LOG_ERR("set volume failed, ret: %d\r\n", ret); + } + return 0; +} + +CSH_CMD_EXPORT(usbh_uac_volume, usbh_uac_volume); #endif
\ No newline at end of file |
