update modes

This commit is contained in:
Steven Dan
2026-05-21 15:09:59 +08:00
parent fe7ac4d781
commit 9f2edd1e14
14 changed files with 196 additions and 190 deletions

View File

@@ -97,8 +97,8 @@ set(APP_COMPILER_FLAGS_factory ${SW_FACT_AUDIO_FLAGS} -DI2S_CHANS_DA
-DSTREAM_FORMAT_OUTPUT_1_RESOLUTION_BITS=32
-DOUTPUT_FORMAT_COUNT=1
-DXUA_SPDIF_TX_EN=0
-DMAX_FREQ=\(768000\)
-DMIN_FREQ=\(44100\)
-DMAX_FREQ=\(48000\)
-DMIN_FREQ=\(48000\)
-DDEFAULT_FREQ=\(48000\)
-DUART_DEBUG=0
-DHID_CONTROLS=1
@@ -125,9 +125,9 @@ set(APP_COMPILER_FLAGS_fps_uac1 ${SW_USB_AUDIO_FLAGS} -DXUA_SPDIF_RX
#-fxscope
#-DXSCOPE
-DXUA_DFU_EN=0
-DSTREAM_FORMAT_OUTPUT_1_RESOLUTION_BITS=24
-DSTREAM_FORMAT_OUTPUT_1_RESOLUTION_BITS=32
-DOUTPUT_FORMAT_COUNT=1
-DSTREAM_FORMAT_INPUT_1_RESOLUTION_BITS=24
-DSTREAM_FORMAT_INPUT_1_RESOLUTION_BITS=32
-DINPUT_FORMAT_COUNT=1
-DMCLK_441=\(1024*44100\)
-DMCLK_48=\(1024*48000\)
@@ -148,81 +148,81 @@ set(APP_COMPILER_FLAGS_fps_uac1 ${SW_USB_AUDIO_FLAGS} -DXUA_SPDIF_RX
-DI2S_CHANS_ADC=2)
set(APP_COMPILER_FLAGS_fps_uac2 ${SW_USB_AUDIO_FLAGS} -DXUA_SPDIF_RX_EN=0
-DXUA_SPDIF_TX_EN=0
-DI2S_CHANS_DAC=2
-DSPDIF_RX_I2S_OUT=0
#-DAUDIO_CLASS=1
-DXUA_USB_EN=1
-DNUM_USB_CHAN_IN=2
-DWINDOWS_OS_DESCRIPTOR_SUPPORT
-DNUM_USB_CHAN_IN_FS=2
-DNUM_USB_CHAN_OUT=2
-DNUM_USB_CHAN_OUT_FS=2
-DXUA_USE_SW_PLL=0
-DOUT_VOLUME_IN_MIXER=0
-DFPS_UAC2=1
#-fxscope
#-DXSCOPE
-DXUA_DFU_EN=1
-DSTREAM_FORMAT_OUTPUT_1_RESOLUTION_BITS=32
-DOUTPUT_FORMAT_COUNT=1
-DSTREAM_FORMAT_INPUT_1_RESOLUTION_BITS=32
-DINPUT_FORMAT_COUNT=1
-DMCLK_441=\(1024*44100\)
-DMCLK_48=\(1024*48000\)
-DMAX_FREQ=\(48000\)
-DMIN_FREQ=\(48000\)
-DDEFAULT_FREQ=\(48000\)
-lxmos_fps
#-DHID_CONTROLS_UAC1=1
-DEQ_EN=1
-DXMOS_FPS_EN=1
-DUAC1=1
-DHID_CONTROLS=1
-DDNR_50MS=1
-ldnr_50ms
#-DDEBUG_MEMORY_LOG_ENABLED=1
-DNO_LOG_TIMESTAPS=0
-DI2S_CHANS_ADC=2)
set(APP_COMPILER_FLAGS_br_uac2 ${SW_USB_AUDIO_FLAGS}
-DXUA_SPDIF_RX_EN=0
-DXUA_SPDIF_TX_EN=0
-DI2S_CHANS_DAC=2
-DSPDIF_RX_I2S_OUT=0
#-DAUDIO_CLASS=1
-DXUA_USB_EN=1
-DNUM_USB_CHAN_IN=2
-DNUM_USB_CHAN_OUT=8
-DNUM_USB_CHAN_OUT_FS=2
-DXUA_USE_SW_PLL=0
-DOUT_VOLUME_IN_MIXER=0
-DBR_UAC2=1
#-fxscope
#-DXSCOPE
-DXUA_DFU_EN=1
-DSTREAM_FORMAT_OUTPUT_1_RESOLUTION_BITS=32
-DOUTPUT_FORMAT_COUNT=1
-DSTREAM_FORMAT_INPUT_1_RESOLUTION_BITS=32
-DINPUT_FORMAT_COUNT=1
-DMCLK_441=\(1024*44100\)
-DMCLK_48=\(1024*48000\)
-DMAX_FREQ=\(48000\)
-DMIN_FREQ=\(48000\)
-DDEFAULT_FREQ=\(48000\)
-DUAC1=1
-DTHREE_AUDIO=1
#-lxmos_fps
-DHID_CONTROLS=1
-DBR_ALGO=1
-lbr
-DEQ_EN=1
-DDNR_50MS=1
-ldnr_50ms
#-DDEBUG_MEMORY_LOG_ENABLED=1
-DNO_LOG_TIMESTAPS=0
-DI2S_CHANS_ADC=2)
#set(APP_COMPILER_FLAGS_fps_uac2 ${SW_USB_AUDIO_FLAGS} -DXUA_SPDIF_RX_EN=0
# -DXUA_SPDIF_TX_EN=0
# -DI2S_CHANS_DAC=2
# -DSPDIF_RX_I2S_OUT=0
# #-DAUDIO_CLASS=1
# -DXUA_USB_EN=1
# -DNUM_USB_CHAN_IN=2
# -DWINDOWS_OS_DESCRIPTOR_SUPPORT
# -DNUM_USB_CHAN_IN_FS=2
# -DNUM_USB_CHAN_OUT=2
# -DNUM_USB_CHAN_OUT_FS=2
# -DXUA_USE_SW_PLL=0
# -DOUT_VOLUME_IN_MIXER=0
# -DFPS_UAC2=1
# #-fxscope
# #-DXSCOPE
# -DXUA_DFU_EN=1
# -DSTREAM_FORMAT_OUTPUT_1_RESOLUTION_BITS=32
# -DOUTPUT_FORMAT_COUNT=1
# -DSTREAM_FORMAT_INPUT_1_RESOLUTION_BITS=32
# -DINPUT_FORMAT_COUNT=1
# -DMCLK_441=\(1024*44100\)
# -DMCLK_48=\(1024*48000\)
# -DMAX_FREQ=\(48000\)
# -DMIN_FREQ=\(48000\)
# -DDEFAULT_FREQ=\(48000\)
# -lxmos_fps
# #-DHID_CONTROLS_UAC1=1
# -DEQ_EN=1
# -DXMOS_FPS_EN=1
# -DUAC1=1
# -DHID_CONTROLS=1
# -DDNR_50MS=1
# -ldnr_50ms
# #-DDEBUG_MEMORY_LOG_ENABLED=1
# -DNO_LOG_TIMESTAPS=0
# -DI2S_CHANS_ADC=2)
#
#set(APP_COMPILER_FLAGS_br_uac2 ${SW_USB_AUDIO_FLAGS}
# -DXUA_SPDIF_RX_EN=0
# -DXUA_SPDIF_TX_EN=0
# -DI2S_CHANS_DAC=2
# -DSPDIF_RX_I2S_OUT=0
# #-DAUDIO_CLASS=1
# -DXUA_USB_EN=1
# -DNUM_USB_CHAN_IN=2
# -DNUM_USB_CHAN_OUT=8
# -DNUM_USB_CHAN_OUT_FS=2
# -DXUA_USE_SW_PLL=0
# -DOUT_VOLUME_IN_MIXER=0
# -DBR_UAC2=1
# #-fxscope
# #-DXSCOPE
# -DXUA_DFU_EN=1
# -DSTREAM_FORMAT_OUTPUT_1_RESOLUTION_BITS=32
# -DOUTPUT_FORMAT_COUNT=1
# -DSTREAM_FORMAT_INPUT_1_RESOLUTION_BITS=32
# -DINPUT_FORMAT_COUNT=1
# -DMCLK_441=\(1024*44100\)
# -DMCLK_48=\(1024*48000\)
# -DMAX_FREQ=\(48000\)
# -DMIN_FREQ=\(48000\)
# -DDEFAULT_FREQ=\(48000\)
# -DUAC1=1
# -DTHREE_AUDIO=1
# #-lxmos_fps
# -DHID_CONTROLS=1
# -DBR_ALGO=1
# -lbr
# -DEQ_EN=1
# -DDNR_50MS=1
# -ldnr_50ms
# #-DDEBUG_MEMORY_LOG_ENABLED=1
# -DNO_LOG_TIMESTAPS=0
# -DI2S_CHANS_ADC=2)

View File

@@ -1 +1 @@
xflash bin/factory/phaten_module_factory.xe --loader loader.o --upgrade 2 bin/fps_uac1/phaten_module_fps_uac1.xe --upgrade 1 bin/fps_uac2/phaten_module_fps_uac2.xe --upgrade 6 ../app_usb_aud_fosi_c1_lp/bin/bypass_uac2/phaten_module_bypass_uac2.xe -o %1
xflash bin/factory/phaten_module_factory.xe --loader loader.o --upgrade 6 bin/fps_uac1/phaten_module_fps_uac1.xe --upgrade 2 ../app_usb_aud_fosi_c1_lp/bin/bypass_uac1/phaten_module_bypass_uac1.xe -o %1

View File

@@ -1 +1 @@
xflash --factory-version 15.3 --target-file src/core/xu316_qf60.xn --upgrade 2 bin/fps_uac1/phaten_module_fps_uac1.xe --upgrade 1 bin/fps_uac2/phaten_module_fps_uac2.xe --upgrade 6 ../app_usb_aud_fosi_c1_lp/bin/bypass_uac2/phaten_module_bypass_uac2.xe -o %1
xflash --factory-version 15.3 --target-file src/core/xu316_qf60.xn --upgrade 6 bin/fps_uac1/phaten_module_fps_uac1.xe --upgrade 2 ../app_usb_aud_fosi_c1_lp/bin/bypass_uac1/phaten_module_bypass_uac1.xe -o %1

View File

@@ -34,11 +34,11 @@ extern "C" {
#define DISABLE_REBOOT 1
#define MODE_FPS_UAC2 COAX_IN_FLAG // 1 FPS
#define MODE_FPS_UAC1 USB_IN_FLAG // 2 UAC1
#define MODE_BYPASS_UAC1 USB_IN_FLAG // 2 BYPASS
#define MODE_BR_UAC2 OPT_IN_FLAG // 3 BR
#define MODE_V71_UAC2 UAC1_IN_FLAG // 4 V71
#define MODE_V71_UAC1 BT_IN_FLAG // 5 UAC1
#define MODE_BYPASS_UAC2 I2S_IN_FLAG // 6 BYPASS
#define MODE_FPS_UAC1 I2S_IN_FLAG // 6 UAC1
extern unsigned g_host_os; // 1 -> Windows, 2 -> Others
audio_sampling g_new_playback_format, g_playback_format;
@@ -184,8 +184,8 @@ void switch_mode_by_c1_mode(unsigned c1_mode, unsigned force_reboot)
switch (c1_mode)
{
case 1:
#if !BYPASS_UAC2
SetRoleSwitchFlag(MODE_BYPASS_UAC2);
#if !BYPASS_UAC1
SetRoleSwitchFlag(MODE_BYPASS_UAC1);
reboot_need = 1;
#endif
break;
@@ -218,8 +218,8 @@ void switch_mode_by_c1_mode(unsigned c1_mode, unsigned force_reboot)
switch (c1_mode)
{
case 1:
SetRoleSwitchFlag(MODE_FPS_UAC1);
reboot_need = 0;
SetRoleSwitchFlag(MODE_BYPASS_UAC1);
reboot_need = 1;
break;
case 2:
SetRoleSwitchFlag(MODE_V71_UAC1);
@@ -242,6 +242,8 @@ void switch_mode_by_c1_mode(unsigned c1_mode, unsigned force_reboot)
if (reboot_need || force_reboot)
{
delay_milliseconds(20);
debug_printf("switch_mode_by_c1_mode: reboot_need = %d, force_reboot = %d\n", reboot_need, force_reboot);
debug_printf("switch_mode_by_c1_mode: c1_mode = %d\n", c1_mode);
device_reboot();
while (1);
}
@@ -568,7 +570,7 @@ void AudioHwRemote2(streaming chanend c, client interface i2c_master_if i2c, cli
}
#if defined(WIN_OS_DETECTION)
#if 0// defined(WIN_OS_DETECTION)
for(int i = 0; i < 500; i++)
{
GET_SHARED_GLOBAL(host_os, g_host_os);
@@ -588,6 +590,7 @@ void AudioHwRemote2(streaming chanend c, client interface i2c_master_if i2c, cli
switch_mode_by_c1_mode(c1_mode, 0);
}
#endif
switch_mode_by_c1_mode(c1_mode, 0);
// 改动原因:开机从 LittleFS 恢复 DAC 音量寄存器码;无效或未写过时用最大音量 C1_DAC_VOL_MAX避免误用默认值或垃圾数据。

View File

@@ -479,7 +479,7 @@ static inline int32_t apply_gain(int32_t sample, int32_t gain_db) {
* 改动原因所有采样率共用44100Hz数组参数相同只需要设置sample_rate标记
* 系数会根据采样率动态计算,不需要复制参数
*/
#if !UAC1
#if 1// !UAC1
static int copy_params_from_44100(uint32_t sample_rate, uint8_t mode) {
if (mode >= NUM_EQ_MODES) {
debug_printf("Error: Invalid mode %d in copy_params_from_44100\n", mode);
@@ -698,7 +698,7 @@ unsigned int is_eq_disabled(void)
}
void clear_eq_status(unsigned sample_freq, unsigned ch_no) {
#if !UAC1
#if 1// !UAC1
int n;
debug_printf("clear_eq_status %d %d\n", sample_freq, ch_no);
if(is_eq_disabled())
@@ -720,7 +720,7 @@ void clear_eq_status(unsigned sample_freq, unsigned ch_no) {
// 复位EQ参数函数
uint8_t reset_eq_params(uint8_t mode) {
debug_printf("Resetting EQ params for mode %d\n", mode);
#if !UAC1
#if 1 //!UAC1
// 检查模式号有效性
if (mode != 0xFF && mode >= NUM_EQ_MODES) {
debug_printf("Error: Invalid mode %d\n", mode);
@@ -882,7 +882,7 @@ void debug_print_eq_mode(eq_mode_data_t *eq_data) {
int32_t handler_eq_filter(unsigned sample_freq, uint32_t ch, int32_t new_sample) {
int32_t temp_sample = new_sample;
#if !UAC1
#if 1// !UAC1
if(is_eq_disabled())
{
@@ -1109,7 +1109,7 @@ unsigned char process_send_params(uint8_t data[], uint16_t len) {
return false;
}
#if !UAC1
#if 1// !UAC1
// Process read request (0x8E) - GET_EQ_PARAMS
if (data[1] == 0x8E) {
debug_printf("Received read request (GET_EQ_PARAMS)\n");
@@ -1685,7 +1685,7 @@ unsigned char process_send_params(uint8_t data[], uint16_t len) {
if (data[1] == 0x8d)
{
#if !UAC1
#if 1// !UAC1
debug_printf("Received set EQ filter parameters command (SET_EQ_PARAMS)\n");
// Get mode value (跳过report_id字节)
@@ -2010,7 +2010,7 @@ uint8_t process_uart_set_eq_mode(uint8_t mode)
*/
uint8_t process_uart_get_eq_mode(uint8_t *response, uint8_t response_size)
{
#if !UAC1
#if 1 //!UAC1
if (response_size < 22) {
debug_printf("Response buffer too small\n");
return 0;
@@ -2067,7 +2067,7 @@ uint8_t process_uart_get_eq_mode(uint8_t *response, uint8_t response_size)
*/
uint8_t process_uart_set_mode_gain_and_name(uint8_t *data)
{
#if !UAC1
#if 1// !UAC1
uint8_t mode = data[5]; // 串口数据位置
int32_t gain = (data[9] << 24) | (data[8] << 16) | (data[7] << 8) | data[6]; // 小端序
char mode_name[16] = {0};
@@ -2169,7 +2169,7 @@ uint8_t process_uart_set_mode_gain_and_name(uint8_t *data)
uint8_t process_uart_set_eq_params(uint8_t *data)
{
uint8_t result = 0x00;
#if !UAC1
#if 1// !UAC1
uint8_t mode = data[5]; // 模式值
uint8_t band_index = data[6]; // 滤波器索引
uint8_t filter_type = data[7]; // 滤波器类型
@@ -2240,7 +2240,7 @@ uint8_t process_uart_set_eq_params(uint8_t *data)
*/
uint8_t process_uart_get_eq_params(uint8_t *data, uint8_t *response, uint8_t response_size)
{
#if !UAC1
#if 1// !UAC1
if (response_size < 27) {
debug_printf("Response buffer too small\n");
return 0;