update mode switch
This commit is contained in:
@@ -122,12 +122,11 @@ set(APP_COMPILER_FLAGS_fps_uac1 ${SW_USB_AUDIO_FLAGS} -DXUA_SPDIF_RX
|
|||||||
-DXUA_USE_SW_PLL=0
|
-DXUA_USE_SW_PLL=0
|
||||||
-DOUT_VOLUME_IN_MIXER=0
|
-DOUT_VOLUME_IN_MIXER=0
|
||||||
-DFPS_UAC1=1
|
-DFPS_UAC1=1
|
||||||
#-fxscope
|
-DUAC1_MODE=1
|
||||||
#-DXSCOPE
|
|
||||||
-DXUA_DFU_EN=0
|
-DXUA_DFU_EN=0
|
||||||
-DSTREAM_FORMAT_OUTPUT_1_RESOLUTION_BITS=32
|
-DSTREAM_FORMAT_OUTPUT_1_RESOLUTION_BITS=24
|
||||||
-DOUTPUT_FORMAT_COUNT=1
|
-DOUTPUT_FORMAT_COUNT=1
|
||||||
-DSTREAM_FORMAT_INPUT_1_RESOLUTION_BITS=32
|
-DSTREAM_FORMAT_INPUT_1_RESOLUTION_BITS=24
|
||||||
-DINPUT_FORMAT_COUNT=1
|
-DINPUT_FORMAT_COUNT=1
|
||||||
-DMCLK_441=\(1024*44100\)
|
-DMCLK_441=\(1024*44100\)
|
||||||
-DMCLK_48=\(1024*48000\)
|
-DMCLK_48=\(1024*48000\)
|
||||||
@@ -140,10 +139,13 @@ set(APP_COMPILER_FLAGS_fps_uac1 ${SW_USB_AUDIO_FLAGS} -DXUA_SPDIF_RX
|
|||||||
-DXMOS_FPS_EN=1
|
-DXMOS_FPS_EN=1
|
||||||
-DUAC1=1
|
-DUAC1=1
|
||||||
-DWIN_OS_DETECTION=1
|
-DWIN_OS_DETECTION=1
|
||||||
|
#-DLOW_POWER_EN=1
|
||||||
|
-DCHAN_BUFF_CTRL=1
|
||||||
|
-DXUD_PRIORITY_HIGH=1
|
||||||
-DHID_CONTROLS=1
|
-DHID_CONTROLS=1
|
||||||
-DDNR_50MS=1
|
-DDNR_50MS=1
|
||||||
-ldnr_50ms
|
-ldnr_50ms
|
||||||
#-DDEBUG_MEMORY_LOG_ENABLED=1
|
-DDEBUG_MEMORY_LOG_ENABLED=1
|
||||||
-DNO_LOG_TIMESTAPS=0
|
-DNO_LOG_TIMESTAPS=0
|
||||||
-DI2S_CHANS_ADC=2)
|
-DI2S_CHANS_ADC=2)
|
||||||
|
|
||||||
|
|||||||
@@ -218,8 +218,10 @@ void switch_mode_by_c1_mode(unsigned c1_mode, unsigned force_reboot)
|
|||||||
switch (c1_mode)
|
switch (c1_mode)
|
||||||
{
|
{
|
||||||
case 1:
|
case 1:
|
||||||
|
#if !BYPASS_UAC1
|
||||||
SetRoleSwitchFlag(MODE_BYPASS_UAC1);
|
SetRoleSwitchFlag(MODE_BYPASS_UAC1);
|
||||||
reboot_need = 1;
|
reboot_need = 0;
|
||||||
|
#endif
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
SetRoleSwitchFlag(MODE_V71_UAC1);
|
SetRoleSwitchFlag(MODE_V71_UAC1);
|
||||||
@@ -230,20 +232,25 @@ void switch_mode_by_c1_mode(unsigned c1_mode, unsigned force_reboot)
|
|||||||
reboot_need = 0;
|
reboot_need = 0;
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
|
#if !FPS_UAC1
|
||||||
SetRoleSwitchFlag(MODE_FPS_UAC1);
|
SetRoleSwitchFlag(MODE_FPS_UAC1);
|
||||||
reboot_need = 1;
|
reboot_need = 1;
|
||||||
|
#endif
|
||||||
break;
|
break;
|
||||||
case 5:
|
case 5:
|
||||||
SetRoleSwitchFlag(MODE_FPS_UAC1);
|
#if !BYPASS_UAC1
|
||||||
reboot_need = 0;
|
SetRoleSwitchFlag(MODE_BYPASS_UAC1);
|
||||||
|
reboot_need = 1;
|
||||||
|
#endif
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
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);
|
||||||
if (reboot_need || force_reboot)
|
if (reboot_need || force_reboot)
|
||||||
{
|
{
|
||||||
delay_milliseconds(20);
|
delay_milliseconds(200);
|
||||||
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();
|
device_reboot();
|
||||||
while (1);
|
while (1);
|
||||||
}
|
}
|
||||||
@@ -1992,7 +1999,7 @@ static inline void apply_c1_panel_leds(unsigned mode_led_color_idx, unsigned mic
|
|||||||
p_mic_mute_led_blue <: 1;
|
p_mic_mute_led_blue <: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
void app_control_slave(server interface c1_led_ctrl_if i_c1_led_ctrl, chanend c_eq_data)
|
void app_control_slave(server interface c1_led_ctrl_if i_c1_led_ctrl)
|
||||||
{
|
{
|
||||||
// 改动原因:tile1 先于 tile0 运行,上电先把硬件灯全灭且不调用 apply,避免用占位 mic/mode 组合误亮;shadow 置为全灭电平便于首包 set_* 时 apply 与端口一致。
|
// 改动原因:tile1 先于 tile0 运行,上电先把硬件灯全灭且不调用 apply,避免用占位 mic/mode 组合误亮;shadow 置为全灭电平便于首包 set_* 时 apply 与端口一致。
|
||||||
unsigned led_shadow = 0xF;
|
unsigned led_shadow = 0xF;
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ extern void UserBufferManagementSetChan(chanend c);
|
|||||||
extern void dsp_main (chanend c_data , chanend cc_br_eof);
|
extern void dsp_main (chanend c_data , chanend cc_br_eof);
|
||||||
extern void br_dsp_proc_task(chanend c_validate, chanend cc_br_eof);
|
extern void br_dsp_proc_task(chanend c_validate, chanend cc_br_eof);
|
||||||
extern void validate_algo(chanend c_validate);
|
extern void validate_algo(chanend c_validate);
|
||||||
void app_control_slave(server interface c1_led_ctrl_if i_c1_led_ctrl, chanend c_eq_data);
|
void app_control_slave(server interface c1_led_ctrl_if i_c1_led_ctrl);
|
||||||
extern void dnr_dsp_proc_task(void);
|
extern void dnr_dsp_proc_task(void);
|
||||||
extern void dsp_core0(void);
|
extern void dsp_core0(void);
|
||||||
extern void eq_dsp_main(chanend c_data);
|
extern void eq_dsp_main(chanend c_data);
|
||||||
@@ -36,7 +36,7 @@ extern unsafe streaming chanend uc_dfu;
|
|||||||
extern void fps1_dsp_proc_task(void);
|
extern void fps1_dsp_proc_task(void);
|
||||||
extern void fps2_dsp_proc_task(void);
|
extern void fps2_dsp_proc_task(void);
|
||||||
|
|
||||||
#define USER_MAIN_DECLARATIONS chan c_i2s; chan c_data_transport, cc_br_eof, c_eq_data, c_validate; \
|
#define USER_MAIN_DECLARATIONS chan c_data_transport, cc_br_eof, c_validate; \
|
||||||
streaming chan c_audiohw; streaming chan c_dfu; interface c1_led_ctrl_if i_c1_led_ctrl; \
|
streaming chan c_audiohw; streaming chan c_dfu; interface c1_led_ctrl_if i_c1_led_ctrl; \
|
||||||
chan c_usb_to_io; chan c_io_to_usb; chan c_io_to_dspL; chan c_dspL_to_io; chan c_io_to_dspR; chan c_dspR_to_io; \
|
chan c_usb_to_io; chan c_io_to_usb; chan c_io_to_dspL; chan c_dspL_to_io; chan c_io_to_dspR; chan c_dspR_to_io; \
|
||||||
chan c_erase;
|
chan c_erase;
|
||||||
@@ -58,7 +58,7 @@ extern void fps2_dsp_proc_task(void);
|
|||||||
dsp_core0();\
|
dsp_core0();\
|
||||||
} \
|
} \
|
||||||
\
|
\
|
||||||
on tile[1]: app_control_slave(i_c1_led_ctrl, c_eq_data); \
|
on tile[1]: app_control_slave(i_c1_led_ctrl); \
|
||||||
\
|
\
|
||||||
|
|
||||||
#else
|
#else
|
||||||
@@ -69,8 +69,6 @@ extern void fps2_dsp_proc_task(void);
|
|||||||
unsafe { \
|
unsafe { \
|
||||||
uc_audiohw = (chanend) c_audiohw;\
|
uc_audiohw = (chanend) c_audiohw;\
|
||||||
uc_br_data = (chanend) c_data_transport;\
|
uc_br_data = (chanend) c_data_transport;\
|
||||||
uc_i2s = (chanend) c_i2s;\
|
|
||||||
uc_eq_data = (chanend) c_eq_data;\
|
|
||||||
uc_dfu = (chanend) c_dfu;\
|
uc_dfu = (chanend) c_dfu;\
|
||||||
} \
|
} \
|
||||||
validate_algo(c_validate); \
|
validate_algo(c_validate); \
|
||||||
@@ -79,7 +77,7 @@ extern void fps2_dsp_proc_task(void);
|
|||||||
AudioHwRemote(c_audiohw, i_c1_led_ctrl, c_erase, c_dfu);\
|
AudioHwRemote(c_audiohw, i_c1_led_ctrl, c_erase, c_dfu);\
|
||||||
}\
|
}\
|
||||||
on tile[1]: { br_dsp_proc_task(c_validate, cc_br_eof); } \
|
on tile[1]: { br_dsp_proc_task(c_validate, cc_br_eof); } \
|
||||||
on tile[1]: app_control_slave(i_c1_led_ctrl, c_eq_data); \
|
on tile[1]: app_control_slave(i_c1_led_ctrl); \
|
||||||
\
|
\
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -87,27 +87,27 @@ set(SW_FACT_AUDIO_FLAGS ${EXTRA_BUILD_FLAGS} ${SW_FACT_VERSION}
|
|||||||
# BYTE2: Contains Input Channel Count, Output Channel Count, Other Config
|
# BYTE2: Contains Input Channel Count, Output Channel Count, Other Config
|
||||||
# BYTE3: Reserved, currently set to 0
|
# BYTE3: Reserved, currently set to 0
|
||||||
|
|
||||||
set(APP_COMPILER_FLAGS_factory ${SW_FACT_AUDIO_FLAGS} -DI2S_CHANS_DAC=2
|
#set(APP_COMPILER_FLAGS_factory ${SW_FACT_AUDIO_FLAGS} -DI2S_CHANS_DAC=2
|
||||||
-DNUM_USB_CHAN_IN=0
|
# -DNUM_USB_CHAN_IN=0
|
||||||
-DXUA_DFU_EN=1
|
# -DXUA_DFU_EN=1
|
||||||
-DBOOT_MODE=1
|
# -DBOOT_MODE=1
|
||||||
-DFACT_MODE=1
|
# -DFACT_MODE=1
|
||||||
#-fxscope
|
# #-fxscope
|
||||||
#-DXSCOPE
|
# #-DXSCOPE
|
||||||
-DSTREAM_FORMAT_OUTPUT_1_RESOLUTION_BITS=32
|
# -DSTREAM_FORMAT_OUTPUT_1_RESOLUTION_BITS=32
|
||||||
-DOUTPUT_FORMAT_COUNT=1
|
# -DOUTPUT_FORMAT_COUNT=1
|
||||||
-DXUA_SPDIF_TX_EN=0
|
# -DXUA_SPDIF_TX_EN=0
|
||||||
-DMAX_FREQ=\(48000\)
|
# -DMAX_FREQ=\(48000\)
|
||||||
-DMIN_FREQ=\(48000\)
|
# -DMIN_FREQ=\(48000\)
|
||||||
-DDEFAULT_FREQ=\(48000\)
|
# -DDEFAULT_FREQ=\(48000\)
|
||||||
-DUART_DEBUG=0
|
# -DUART_DEBUG=0
|
||||||
-DHID_CONTROLS=1
|
# -DHID_CONTROLS=1
|
||||||
-DEQ_EN=1
|
# -DEQ_EN=1
|
||||||
-DHID_DFU_EN=1
|
# -DHID_DFU_EN=1
|
||||||
#-DDEBUG_MEMORY_LOG_ENABLED=0
|
# #-DDEBUG_MEMORY_LOG_ENABLED=0
|
||||||
-DNUM_USB_CHAN_OUT=2
|
# -DNUM_USB_CHAN_OUT=2
|
||||||
-DI2S_CHANS_ADC=0)
|
# -DI2S_CHANS_ADC=0)
|
||||||
|
#
|
||||||
set(APP_COMPILER_FLAGS_bypass_uac1 ${SW_USB_AUDIO_FLAGS} -DXUA_SPDIF_RX_EN=0
|
set(APP_COMPILER_FLAGS_bypass_uac1 ${SW_USB_AUDIO_FLAGS} -DXUA_SPDIF_RX_EN=0
|
||||||
-DXUA_SPDIF_TX_EN=0
|
-DXUA_SPDIF_TX_EN=0
|
||||||
-DI2S_CHANS_DAC=2
|
-DI2S_CHANS_DAC=2
|
||||||
@@ -122,8 +122,7 @@ set(APP_COMPILER_FLAGS_bypass_uac1 ${SW_USB_AUDIO_FLAGS} -DXUA_SPDIF_RX
|
|||||||
-DXUA_USE_SW_PLL=0
|
-DXUA_USE_SW_PLL=0
|
||||||
-DOUT_VOLUME_IN_MIXER=0
|
-DOUT_VOLUME_IN_MIXER=0
|
||||||
-DBYPASS_UAC1=1
|
-DBYPASS_UAC1=1
|
||||||
#-fxscope
|
-DUAC1_MODE=1
|
||||||
#-DXSCOPE
|
|
||||||
-DXUA_DFU_EN=1
|
-DXUA_DFU_EN=1
|
||||||
-DSTREAM_FORMAT_OUTPUT_1_RESOLUTION_BITS=24
|
-DSTREAM_FORMAT_OUTPUT_1_RESOLUTION_BITS=24
|
||||||
-DOUTPUT_FORMAT_COUNT=1
|
-DOUTPUT_FORMAT_COUNT=1
|
||||||
@@ -135,15 +134,15 @@ set(APP_COMPILER_FLAGS_bypass_uac1 ${SW_USB_AUDIO_FLAGS} -DXUA_SPDIF_RX
|
|||||||
-DMIN_FREQ=\(48000\)
|
-DMIN_FREQ=\(48000\)
|
||||||
-DDEFAULT_FREQ=\(48000\)
|
-DDEFAULT_FREQ=\(48000\)
|
||||||
-DHID_CONTROLS_UAC1=1
|
-DHID_CONTROLS_UAC1=1
|
||||||
#-DEQ_EN=1
|
-DEQ_EN=1
|
||||||
-DXMOS_FPS_EN=0
|
-DXMOS_FPS_EN=0
|
||||||
-DUAC1=1
|
-DUAC1=1
|
||||||
-DHID_CONTROLS=1
|
-DHID_CONTROLS=1
|
||||||
#-DDNR_50MS=1
|
-DDNR_50MS=1
|
||||||
#-DLOW_POWER_EN=1
|
-DLOW_POWER_EN=1
|
||||||
#-DCHAN_BUFF_CTRL=1
|
-DCHAN_BUFF_CTRL=1
|
||||||
#-DXUD_PRIORITY_HIGH=1
|
-DXUD_PRIORITY_HIGH=1
|
||||||
#-ldnr_50ms
|
-ldnr_50ms
|
||||||
-DDEBUG_MEMORY_LOG_ENABLED=1
|
-DDEBUG_MEMORY_LOG_ENABLED=1
|
||||||
-DNO_LOG_TIMESTAPS=0
|
-DNO_LOG_TIMESTAPS=0
|
||||||
-DI2S_CHANS_ADC=2)
|
-DI2S_CHANS_ADC=2)
|
||||||
|
|||||||
@@ -218,8 +218,10 @@ void switch_mode_by_c1_mode(unsigned c1_mode, unsigned force_reboot)
|
|||||||
switch (c1_mode)
|
switch (c1_mode)
|
||||||
{
|
{
|
||||||
case 1:
|
case 1:
|
||||||
|
#if !BYPASS_UAC1
|
||||||
SetRoleSwitchFlag(MODE_BYPASS_UAC1);
|
SetRoleSwitchFlag(MODE_BYPASS_UAC1);
|
||||||
reboot_need = 1;
|
reboot_need = 0;
|
||||||
|
#endif
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
SetRoleSwitchFlag(MODE_V71_UAC1);
|
SetRoleSwitchFlag(MODE_V71_UAC1);
|
||||||
@@ -230,20 +232,25 @@ void switch_mode_by_c1_mode(unsigned c1_mode, unsigned force_reboot)
|
|||||||
reboot_need = 0;
|
reboot_need = 0;
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
|
#if !FPS_UAC1
|
||||||
SetRoleSwitchFlag(MODE_FPS_UAC1);
|
SetRoleSwitchFlag(MODE_FPS_UAC1);
|
||||||
reboot_need = 1;
|
reboot_need = 1;
|
||||||
break;
|
break;
|
||||||
|
#endif
|
||||||
case 5:
|
case 5:
|
||||||
SetRoleSwitchFlag(MODE_FPS_UAC1);
|
#if !BYPASS_UAC1
|
||||||
reboot_need = 0;
|
SetRoleSwitchFlag(MODE_BYPASS_UAC1);
|
||||||
|
reboot_need = 1;
|
||||||
|
#endif
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
#endif
|
#endif // UAC1_MODE == 1
|
||||||
|
|
||||||
|
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);
|
||||||
if (reboot_need || force_reboot)
|
if (reboot_need || force_reboot)
|
||||||
{
|
{
|
||||||
delay_milliseconds(20);
|
delay_milliseconds(200);
|
||||||
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();
|
device_reboot();
|
||||||
while (1);
|
while (1);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user