From 52692c5a95cf1aa08472b61580b053538951af52 Mon Sep 17 00:00:00 2001 From: Steven Dan Date: Wed, 27 May 2026 16:57:28 +0800 Subject: [PATCH] fix boot pop --- .../app_usb_aud_fosi_c1_v71/src/extensions/audiohw.xc | 10 +++++----- .../src/extensions/tx1_led_helper.xc | 3 ++- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/sw_usb_audio/app_usb_aud_fosi_c1_v71/src/extensions/audiohw.xc b/sw_usb_audio/app_usb_aud_fosi_c1_v71/src/extensions/audiohw.xc index 0076c23..061e500 100644 --- a/sw_usb_audio/app_usb_aud_fosi_c1_v71/src/extensions/audiohw.xc +++ b/sw_usb_audio/app_usb_aud_fosi_c1_v71/src/extensions/audiohw.xc @@ -802,8 +802,8 @@ static void tx1_sync_game_mode_state(unsigned mode, unsigned persist, if (persist) { /* 改动原因:GAME 键/HID 切档前先拉低 p_ctl_mute,避免 EX3D/固件切换 pop */ - tx1_amp_ctl_mute_force(led_if, TX1_AMP_CTL_MUTE_VAL); - delay_milliseconds(50); + //tx1_amp_ctl_mute_force(led_if, TX1_AMP_CTL_MUTE_VAL); + //delay_milliseconds(50); } switch (mode) { @@ -825,8 +825,8 @@ static void tx1_sync_game_mode_state(unsigned mode, unsigned persist, if (persist) { tx1_save_game_mode((unsigned char)mode); /* 改动原因:按键只切算法不 reboot;短暂静音减轻 EX3D 切换 pop */ - delay_milliseconds(30); - tx1_amp_ctl_mute_force(led_if, TX1_AMP_CTL_UNMUTE_VAL); + //delay_milliseconds(30); + // tx1_amp_ctl_mute_force(led_if, TX1_AMP_CTL_UNMUTE_VAL); } } @@ -1148,7 +1148,7 @@ void AudioHwRemote2(streaming chanend c, chanend cc_mic_level, client interface /* 改动原因:codec + HTR3236 + 开机流程结束后拉高 p_ctl_mute 放音 */ if (htr3236_bringup_done && !tx1_amp_unmuted_after_boot) { - delay_milliseconds(20); + delay_milliseconds(500); tx1_amp_ctl_mute_force(led_if, TX1_AMP_CTL_UNMUTE_VAL); tx1_amp_unmuted_after_boot = 1; debug_printf("TX1: AMP ctl_mute unmute after boot config\n"); diff --git a/sw_usb_audio/app_usb_aud_fosi_c1_v71/src/extensions/tx1_led_helper.xc b/sw_usb_audio/app_usb_aud_fosi_c1_v71/src/extensions/tx1_led_helper.xc index da50e80..fd0284b 100644 --- a/sw_usb_audio/app_usb_aud_fosi_c1_v71/src/extensions/tx1_led_helper.xc +++ b/sw_usb_audio/app_usb_aud_fosi_c1_v71/src/extensions/tx1_led_helper.xc @@ -23,6 +23,7 @@ on tile[1]: out port p_ctl_mute = PORT_CTL_MUTE; // Receives commands via tx1_led_if interface from AudioHwRemote2 on tile[0] void tx1_led_helper_task(server interface tx1_led_if led_if) { + p_ctl_mute <: TX1_AMP_GPIO_MUTE; /* 改动原因:上电先拉低静音,等 tile0 codec/RGB 配置完再拉高 */ // Local state mirrors for tile[1] ports unsigned d1_state = 1; // active low: 1=off, 0=on unsigned mic_det_state = 0; @@ -41,7 +42,7 @@ void tx1_led_helper_task(server interface tx1_led_if led_if) p_led_d4_d7_d6 <: 0xF; /* 改动原因:上电即拉高 SDB,与 jok tile1_io_control_task 一致;勿长期拉低否则 I2C 配置无效 */ p_htr3236_sdb <: 1; - p_ctl_mute <: TX1_AMP_GPIO_MUTE; /* 改动原因:上电先拉低静音,等 tile0 codec/RGB 配置完再拉高 */ + delay_milliseconds(300); while (1) {