using stereo 8k
This commit is contained in:
@@ -115,6 +115,7 @@ set(APP_COMPILER_FLAGS_ex3d_stereo_8k ${SW_USB_AUDIO_FLAGS} -DI2S_CHANS_DAC=2
|
|||||||
-llib_ex3d_stereo_8k
|
-llib_ex3d_stereo_8k
|
||||||
-DNUM_USB_CHAN_OUT=2
|
-DNUM_USB_CHAN_OUT=2
|
||||||
-DNUM_USB_CHAN_IN=2
|
-DNUM_USB_CHAN_IN=2
|
||||||
|
-DEQ_EN=1
|
||||||
-DSTREAM_FORMAT_OUTPUT_1_RESOLUTION_BITS=16
|
-DSTREAM_FORMAT_OUTPUT_1_RESOLUTION_BITS=16
|
||||||
-DSTREAM_FORMAT_OUTPUT_2_RESOLUTION_BITS=16
|
-DSTREAM_FORMAT_OUTPUT_2_RESOLUTION_BITS=16
|
||||||
-DSTREAM_FORMAT_OUTPUT_3_RESOLUTION_BITS=16
|
-DSTREAM_FORMAT_OUTPUT_3_RESOLUTION_BITS=16
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
xflash bin/factory/fact.xe --loader loader.o --upgrade 4 bin\ex3d_UAC1\app_usb_aud_phaten_gs_ex3d_UAC1.xe --upgrade 2 bin/ex3d_stereo_2k/app_usb_aud_phaten_gs_ex3d_stereo_2k.xe --upgrade 1 bin\ex3d_71_game\app_usb_aud_phaten_gs_ex3d_71_game.xe --upgrade 3 bin\ex3d_71_movie\app_usb_aud_phaten_gs_ex3d_71_movie.xe -o %1
|
xflash bin/factory/fact.xe --loader loader.o --upgrade 4 bin\ex3d_UAC1\app_usb_aud_phaten_gs_ex3d_UAC1.xe --upgrade 2 bin/ex3d_stereo_2k/app_usb_aud_phaten_gs_ex3d_stereo_2k.xe --upgrade 1 bin\ex3d_71_game\app_usb_aud_phaten_gs_ex3d_71_game.xe --upgrade 3 bin\ex3d_stereo_8k\app_usb_aud_phaten_gs_ex3d_stereo_8k.xe -o %1
|
||||||
|
|||||||
@@ -1,2 +1,2 @@
|
|||||||
xflash --factory-version 15.3 --target-file src/core/PHATEN_GS.xn --upgrade 4 bin\ex3d_UAC1\app_usb_aud_phaten_gs_ex3d_UAC1.xe --upgrade 2 bin/ex3d_stereo_2k/app_usb_aud_phaten_gs_ex3d_stereo_2k.xe --upgrade 1 bin\ex3d_71_game\app_usb_aud_phaten_gs_ex3d_71_game.xe --upgrade 3 bin\ex3d_71_movie\app_usb_aud_phaten_gs_ex3d_71_movie.xe -o %1
|
xflash --factory-version 15.3 --target-file src/core/PHATEN_GS.xn --upgrade 4 bin\ex3d_UAC1\app_usb_aud_phaten_gs_ex3d_UAC1.xe --upgrade 2 bin/ex3d_stereo_2k/app_usb_aud_phaten_gs_ex3d_stereo_2k.xe --upgrade 1 bin\ex3d_71_game\app_usb_aud_phaten_gs_ex3d_71_game.xe --upgrade 3 bin\ex3d_stereo_8k\app_usb_aud_phaten_gs_ex3d_stereo_8k.xe -o %1
|
||||||
|
|
||||||
|
|||||||
@@ -163,8 +163,8 @@
|
|||||||
#define PRODUCT_STR_A2 "XMOS V7.1 FPS"
|
#define PRODUCT_STR_A2 "XMOS V7.1 FPS"
|
||||||
#define PRODUCT_STR_A1 "XMOS V7.1 FPS"
|
#define PRODUCT_STR_A1 "XMOS V7.1 FPS"
|
||||||
#elif defined (STEREO_8K)
|
#elif defined (STEREO_8K)
|
||||||
#define PRODUCT_STR_A2 "XMOS Stereo 8K"
|
#define PRODUCT_STR_A2 "XMOS V7.1 3A"
|
||||||
#define PRODUCT_STR_A1 "XMOS Stereo 8K"
|
#define PRODUCT_STR_A1 "XMOS V7.1 3A"
|
||||||
#else
|
#else
|
||||||
#define PRODUCT_STR_A2 "XMOS Gold Sample (UAC2.0)"
|
#define PRODUCT_STR_A2 "XMOS Gold Sample (UAC2.0)"
|
||||||
#define PRODUCT_STR_A1 "XMOS Gold Sample (UAC1.0)"
|
#define PRODUCT_STR_A1 "XMOS Gold Sample (UAC1.0)"
|
||||||
|
|||||||
@@ -713,10 +713,10 @@ void update_button(unsigned char b)
|
|||||||
#define GREEN_LED_PIN 1 // DNR LED (绿色LED) - bit 1 of leds2_val, 0b11111101
|
#define GREEN_LED_PIN 1 // DNR LED (绿色LED) - bit 1 of leds2_val, 0b11111101
|
||||||
#define BLUE_LED_PIN 0 // 3D LED (蓝色LED) - bit 0 of leds2_val, 0b11111110
|
#define BLUE_LED_PIN 0 // 3D LED (蓝色LED) - bit 0 of leds2_val, 0b11111110
|
||||||
|
|
||||||
// 改动原因:定义模式切换标志值,用于在SPATIAL_GAME、SPATIAL_MOVIE、STEREO_2K、UAC1之间循环切换
|
// 改动原因:定义模式切换标志值,用于在SPATIAL_GAME、STEREO_8K、STEREO_2K、UAC1之间循环切换
|
||||||
#define MODE_STEREO_2K USB_IN_FLAG // 2 STEREO_2K模式标志
|
#define MODE_STEREO_2K USB_IN_FLAG // 2 STEREO_2K模式标志
|
||||||
#define MODE_SPATIAL_GAME COAX_IN_FLAG //1 SPATIAL_GAME模式标志
|
#define MODE_SPATIAL_GAME COAX_IN_FLAG //1 SPATIAL_GAME模式标志
|
||||||
#define MODE_SPATIAL_MOVIE OPT_IN_FLAG // 3 SPATIAL_MOVIE模式标志
|
#define MODE_STEREO_8K OPT_IN_FLAG // 3 STEREO_8K模式标志
|
||||||
#define MODE_UAC1 UAC1_IN_FLAG // 4 UAC1模式标志
|
#define MODE_UAC1 UAC1_IN_FLAG // 4 UAC1模式标志
|
||||||
|
|
||||||
//Tile 1
|
//Tile 1
|
||||||
@@ -743,10 +743,10 @@ void hid_button_task(chanend_t cc_mic_level, chanend_t c_hidRcvData, chanend_t c
|
|||||||
static unsigned game_mode_t1 = 0; // tile1上的模式值,用于判断是否在无音效模式或UAC1模式
|
static unsigned game_mode_t1 = 0; // tile1上的模式值,用于判断是否在无音效模式或UAC1模式
|
||||||
static unsigned is_no_effect_mode = 0; // 是否为无音效模式标志(模式3)
|
static unsigned is_no_effect_mode = 0; // 是否为无音效模式标志(模式3)
|
||||||
static unsigned is_uac1_mode = 0; // 是否为UAC1模式标志(模式4)
|
static unsigned is_uac1_mode = 0; // 是否为UAC1模式标志(模式4)
|
||||||
static unsigned actual_mode_for_led = 0; // UAC1模式下的实际模式值(0=STEREO_2K, 1=SPATIAL_GAME, 2=SPATIAL_MOVIE),用于LED闪烁
|
static unsigned actual_mode_for_led = 0; // UAC1模式下的实际模式值(0=STEREO_2K, 1=SPATIAL_GAME, 2=STEREO_8K),用于LED闪烁
|
||||||
// 改动原因:添加当前模式变量,用于短按切换模式(0=无音效,1=STEREO_2K,2=SPATIAL_GAME,3=SPATIAL_MOVIE)
|
// 改动原因:添加当前模式变量,用于短按切换模式(0=无音效,1=STEREO_2K,2=SPATIAL_GAME,3=STEREO_8K)
|
||||||
static unsigned current_mode_local = 0; // 当前模式值(0-3)
|
static unsigned current_mode_local = 0; // 当前模式值(0-3)
|
||||||
// 改动原因:添加LED闪烁相关变量,用于SPATIAL_MOVIE模式的蓝灯闪烁
|
// 改动原因:添加LED闪烁相关变量,用于STEREO_8K模式的蓝灯闪烁
|
||||||
static unsigned blink_counter = 0; // LED闪烁计数器(每100ms递增)
|
static unsigned blink_counter = 0; // LED闪烁计数器(每100ms递增)
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
hwtimer_t timer = hwtimer_alloc();
|
hwtimer_t timer = hwtimer_alloc();
|
||||||
@@ -801,7 +801,7 @@ void hid_button_task(chanend_t cc_mic_level, chanend_t c_hidRcvData, chanend_t c
|
|||||||
if (current_mode_local > 3) {
|
if (current_mode_local > 3) {
|
||||||
current_mode_local = 0; // 如果值无效,重置为STEREO_2K
|
current_mode_local = 0; // 如果值无效,重置为STEREO_2K
|
||||||
}
|
}
|
||||||
debug_printf("hid_button_task received audio_mode: %d (0=NO_EFFECT, 1=STEREO_2K, 2=SPATIAL_GAME, 3=SPATIAL_MOVIE)\n", current_mode_local);
|
debug_printf("hid_button_task received audio_mode: %d (0=NO_EFFECT, 1=STEREO_2K, 2=SPATIAL_GAME, 3=STEREO_8K)\n", current_mode_local);
|
||||||
|
|
||||||
// 改动原因:根据接收到的模式值初始化LED和算法状态
|
// 改动原因:根据接收到的模式值初始化LED和算法状态
|
||||||
if (current_mode_local == 0) {
|
if (current_mode_local == 0) {
|
||||||
@@ -832,14 +832,14 @@ void hid_button_task(chanend_t cc_mic_level, chanend_t c_hidRcvData, chanend_t c
|
|||||||
leds2_val |= (1<<GREEN_LED_PIN); // Green LED off
|
leds2_val |= (1<<GREEN_LED_PIN); // Green LED off
|
||||||
debug_printf("Mode 2 (SPATIAL_GAME): algorithm ON, BLUE LED\n");
|
debug_printf("Mode 2 (SPATIAL_GAME): algorithm ON, BLUE LED\n");
|
||||||
} else if (current_mode_local == 3) {
|
} else if (current_mode_local == 3) {
|
||||||
// SPATIAL_MOVIE模式:蓝灯闪烁,算法开启
|
// STEREO_8K模式:蓝灯闪烁,算法开启
|
||||||
audio_ex3d_onoff(1);
|
audio_ex3d_onoff(1);
|
||||||
is_3d_on = A3D_ON;
|
is_3d_on = A3D_ON;
|
||||||
SET_SHARED_GLOBAL(g_3d_on_off_t1, is_3d_on);
|
SET_SHARED_GLOBAL(g_3d_on_off_t1, is_3d_on);
|
||||||
leds2_val &= (~(1<<BLUE_LED_PIN)); // Blue LED on (初始状态)
|
leds2_val &= (~(1<<BLUE_LED_PIN)); // Blue LED on (初始状态)
|
||||||
leds1_val |= 1; // Red LED off
|
leds1_val |= 1; // Red LED off
|
||||||
leds2_val |= (1<<GREEN_LED_PIN); // Green LED off
|
leds2_val |= (1<<GREEN_LED_PIN); // Green LED off
|
||||||
debug_printf("Mode 3 (SPATIAL_MOVIE): algorithm ON, BLUE LED blinking\n");
|
debug_printf("Mode 3 (STEREO_8K): algorithm ON, BLUE LED blinking\n");
|
||||||
}
|
}
|
||||||
port_out(p_leds, leds1_val);
|
port_out(p_leds, leds1_val);
|
||||||
port_out(p_leds2, leds2_val);
|
port_out(p_leds2, leds2_val);
|
||||||
@@ -927,7 +927,7 @@ void hid_button_task(chanend_t cc_mic_level, chanend_t c_hidRcvData, chanend_t c
|
|||||||
} else {
|
} else {
|
||||||
is_stable = 1;
|
is_stable = 1;
|
||||||
if (press_hold_cnt > 0) {
|
if (press_hold_cnt > 0) {
|
||||||
// 改动原因:短按切换模式(0=无音效,1=STEREO_2K,2=SPATIAL_GAME,3=SPATIAL_MOVIE)
|
// 改动原因:短按切换模式(0=无音效,1=STEREO_2K,2=SPATIAL_GAME,3=STEREO_8K)
|
||||||
// 循环切换:0→1→2→3→0
|
// 循环切换:0→1→2→3→0
|
||||||
#if 0
|
#if 0
|
||||||
unsigned old_mode = current_mode_local;
|
unsigned old_mode = current_mode_local;
|
||||||
@@ -962,7 +962,7 @@ void hid_button_task(chanend_t cc_mic_level, chanend_t c_hidRcvData, chanend_t c
|
|||||||
leds2_val |= (1<<GREEN_LED_PIN); // Green LED off
|
leds2_val |= (1<<GREEN_LED_PIN); // Green LED off
|
||||||
debug_printf("Mode 2 (SPATIAL_GAME): algorithm ON, BLUE LED\n");
|
debug_printf("Mode 2 (SPATIAL_GAME): algorithm ON, BLUE LED\n");
|
||||||
} else if (current_mode_local == 3) {
|
} else if (current_mode_local == 3) {
|
||||||
// SPATIAL_MOVIE模式:蓝灯闪烁,算法开启
|
// STEREO_8K模式:蓝灯闪烁,算法开启
|
||||||
audio_ex3d_onoff(1);
|
audio_ex3d_onoff(1);
|
||||||
is_3d_on = A3D_ON;
|
is_3d_on = A3D_ON;
|
||||||
SET_SHARED_GLOBAL(g_3d_on_off_t1, is_3d_on);
|
SET_SHARED_GLOBAL(g_3d_on_off_t1, is_3d_on);
|
||||||
@@ -970,7 +970,7 @@ void hid_button_task(chanend_t cc_mic_level, chanend_t c_hidRcvData, chanend_t c
|
|||||||
leds2_val &= (~(1<<BLUE_LED_PIN)); // Blue LED on
|
leds2_val &= (~(1<<BLUE_LED_PIN)); // Blue LED on
|
||||||
leds1_val |= 1; // Red LED off
|
leds1_val |= 1; // Red LED off
|
||||||
leds2_val |= (1<<GREEN_LED_PIN); // Green LED off
|
leds2_val |= (1<<GREEN_LED_PIN); // Green LED off
|
||||||
debug_printf("Mode 3 (SPATIAL_MOVIE): algorithm ON, BLUE LED blinking\n");
|
debug_printf("Mode 3 (STEREO_8K): algorithm ON, BLUE LED blinking\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
// 更新LED输出
|
// 更新LED输出
|
||||||
@@ -997,7 +997,7 @@ void hid_button_task(chanend_t cc_mic_level, chanend_t c_hidRcvData, chanend_t c
|
|||||||
}
|
}
|
||||||
last_status = key_in;
|
last_status = key_in;
|
||||||
|
|
||||||
// 改动原因:SPATIAL_MOVIE模式下,蓝灯闪烁(每500ms切换一次状态)
|
// 改动原因:STEREO_8K模式下,蓝灯闪烁(每500ms切换一次状态)
|
||||||
if (current_mode_local == 3) {
|
if (current_mode_local == 3) {
|
||||||
blink_counter++;
|
blink_counter++;
|
||||||
if (blink_counter >= 5) { // 5 * 100ms = 500ms
|
if (blink_counter >= 5) { // 5 * 100ms = 500ms
|
||||||
@@ -1094,7 +1094,7 @@ void button_task(chanend_t c_hidSendData, chanend_t cc_mic_level, chanend_t c_ua
|
|||||||
saved_mode = 0;
|
saved_mode = 0;
|
||||||
#elif defined(SPATIAL_GAME)
|
#elif defined(SPATIAL_GAME)
|
||||||
saved_mode = 2;
|
saved_mode = 2;
|
||||||
#elif defined(SPATIAL_MOVIE)
|
#elif defined(STEREO_8K)
|
||||||
saved_mode = 3;
|
saved_mode = 3;
|
||||||
#endif
|
#endif
|
||||||
save_value(path, saved_mode);
|
save_value(path, saved_mode);
|
||||||
@@ -1125,7 +1125,7 @@ void button_task(chanend_t c_hidSendData, chanend_t cc_mic_level, chanend_t c_ua
|
|||||||
SetRoleSwitchFlag(MODE_SPATIAL_GAME);
|
SetRoleSwitchFlag(MODE_SPATIAL_GAME);
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
SetRoleSwitchFlag(MODE_SPATIAL_MOVIE);
|
SetRoleSwitchFlag(MODE_STEREO_8K);
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
SetRoleSwitchFlag(MODE_STEREO_2K);
|
SetRoleSwitchFlag(MODE_STEREO_2K);
|
||||||
@@ -1153,7 +1153,7 @@ void button_task(chanend_t c_hidSendData, chanend_t cc_mic_level, chanend_t c_ua
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(SPATIAL_MOVIE)
|
#if defined(STEREO_8K)
|
||||||
if ((saved_mode != 255) && (saved_mode != 3)) {
|
if ((saved_mode != 255) && (saved_mode != 3)) {
|
||||||
saved_mode = 3;
|
saved_mode = 3;
|
||||||
}
|
}
|
||||||
@@ -1168,7 +1168,7 @@ void button_task(chanend_t c_hidSendData, chanend_t cc_mic_level, chanend_t c_ua
|
|||||||
debug_printf("Set new g_game_mode to %d\n", saved_mode);
|
debug_printf("Set new g_game_mode to %d\n", saved_mode);
|
||||||
|
|
||||||
chan_out_byte(cc_mic_level, 0xFC); // 音频模式传输命令
|
chan_out_byte(cc_mic_level, 0xFC); // 音频模式传输命令
|
||||||
chan_out_byte(cc_mic_level, saved_mode); // 音频模式值(0=无音效,1=STEREO_2K,2=SPATIAL_GAME,3=SPATIAL_MOVIE)
|
chan_out_byte(cc_mic_level, saved_mode); // 音频模式值(0=无音效,1=STEREO_2K,2=SPATIAL_GAME,3=STEREO_8K)
|
||||||
debug_printf("Sent audio_mode %d to hid_button_task via cc_mic_level channel\n", saved_mode);
|
debug_printf("Sent audio_mode %d to hid_button_task via cc_mic_level channel\n", saved_mode);
|
||||||
|
|
||||||
port_enable(p_ctrl_keys);
|
port_enable(p_ctrl_keys);
|
||||||
@@ -1209,7 +1209,7 @@ void button_task(chanend_t c_hidSendData, chanend_t cc_mic_level, chanend_t c_ua
|
|||||||
GET_SHARED_GLOBAL(current_mode, g_game_mode);
|
GET_SHARED_GLOBAL(current_mode, g_game_mode);
|
||||||
|
|
||||||
// 改动原因:Windows模式下只循环切换0→1→2→3→0(不包括UAC1模式4)
|
// 改动原因:Windows模式下只循环切换0→1→2→3→0(不包括UAC1模式4)
|
||||||
// 循环切换模式:0(STEREO_2K) -> 1(SPATIAL_GAME) -> 2(SPATIAL_MOVIE) -> 3(无音效) -> 0
|
// 循环切换模式:0(STEREO_2K) -> 1(SPATIAL_GAME) -> 2(STEREO_8K) -> 3(无音效) -> 0
|
||||||
unsigned new_mode;
|
unsigned new_mode;
|
||||||
unsigned mode_flag;
|
unsigned mode_flag;
|
||||||
debug_printf("current_mode: %d\n", current_mode);
|
debug_printf("current_mode: %d\n", current_mode);
|
||||||
@@ -1225,15 +1225,15 @@ void button_task(chanend_t c_hidSendData, chanend_t cc_mic_level, chanend_t c_ua
|
|||||||
mode_flag = MODE_SPATIAL_GAME;
|
mode_flag = MODE_SPATIAL_GAME;
|
||||||
debug_printf("Switching from STEREO_2K (1) to SPATIAL_GAME (2)\n");
|
debug_printf("Switching from STEREO_2K (1) to SPATIAL_GAME (2)\n");
|
||||||
} else if (current_mode == 2) {
|
} else if (current_mode == 2) {
|
||||||
// 当前是SPATIAL_GAME,切换到SPATIAL_MOVIE
|
// 当前是SPATIAL_GAME,切换到STEREO_8K
|
||||||
new_mode = 3;
|
new_mode = 3;
|
||||||
mode_flag = MODE_SPATIAL_MOVIE; // SPATIAL_MOVIE模式使用SPATIAL_MOVIE固件
|
mode_flag = MODE_STEREO_8K; // STEREO_8K模式使用STEREO_8K固件
|
||||||
debug_printf("Switching from SPATIAL_GAME (2) to SPATIAL_MOVIE (3)\n");
|
debug_printf("Switching from SPATIAL_GAME (2) to STEREO_8K (3)\n");
|
||||||
} // 更新g_game_mode
|
} // 更新g_game_mode
|
||||||
else if(current_mode == 3) {
|
else if(current_mode == 3) {
|
||||||
new_mode = 0;
|
new_mode = 0;
|
||||||
mode_flag = MODE_STEREO_2K;
|
mode_flag = MODE_STEREO_2K;
|
||||||
debug_printf("Switching from SPATIAL_MOVIE (3) to STEREO_2K (0)\n");
|
debug_printf("Switching from STEREO_8K (3) to STEREO_2K (0)\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
// 改动原因:保存新的模式值到flash的 "game_mode" 文件(Windows模式专用)
|
// 改动原因:保存新的模式值到flash的 "game_mode" 文件(Windows模式专用)
|
||||||
|
|||||||
Reference in New Issue
Block a user