seperate f3 and f4 mode
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
xflash bin/fact/app_usb_aud_sy102_fact.xe --loader loader.o --upgrade 2 bin/f5_music_uac1/app_usb_aud_sy102_f5_music_uac1.xe --upgrade 3 bin/f1_music_uac2/app_usb_aud_sy102_f1_music_uac2.xe --upgrade 1 bin/f3_f4_fps_uac2/app_usb_aud_sy102_f3_f4_fps_uac2.xe --upgrade 4 bin/f6_f7_fps_uac1/app_usb_aud_sy102_f6_f7_fps_uac1.xe -o %1
|
||||
rem 改动原因:F3/F4 拆分——slot1=F3 Game,slot5=F4 AI7.1
|
||||
xflash bin/fact/app_usb_aud_sy102_fact.xe --loader loader.o --upgrade 2 bin/f5_music_uac1/app_usb_aud_sy102_f5_music_uac1.xe --upgrade 3 bin/f1_music_uac2/app_usb_aud_sy102_f1_music_uac2.xe --upgrade 1 bin/f3_fps_uac2/app_usb_aud_sy102_f3_fps_uac2.xe --upgrade 4 bin/f6_f7_fps_uac1/app_usb_aud_sy102_f6_f7_fps_uac1.xe --upgrade 5 bin/f4_fps_uac2/app_usb_aud_sy102_f4_fps_uac2.xe -o %1
|
||||
|
||||
rem --upgrade 4 bin/f6_f7_fps_uac1/app_usb_aud_sy102_f6_f7_fps_uac1.xe
|
||||
|
||||
@@ -1 +1 @@
|
||||
xflash --factory-version 15.3 --target-file src/core/synido.xn --upgrade 2 bin/f5_music_uac1/app_usb_aud_sy102_f5_music_uac1.xe --upgrade 3 bin/f1_music_uac2/app_usb_aud_sy102_f1_music_uac2.xe --upgrade 1 bin/f3_f4_fps_uac2/app_usb_aud_sy102_f3_f4_fps_uac2.xe --upgrade 4 bin/f6_f7_fps_uac1/app_usb_aud_sy102_f6_f7_fps_uac1.xe -o %1
|
||||
xflash --factory-version 15.3 --target-file src/core/synido.xn --upgrade 2 bin/f5_music_uac1/app_usb_aud_sy102_f5_music_uac1.xe --upgrade 3 bin/f1_music_uac2/app_usb_aud_sy102_f1_music_uac2.xe --upgrade 1 bin/f3_fps_uac2/app_usb_aud_sy102_f3_fps_uac2.xe --upgrade 4 bin/f6_f7_fps_uac1/app_usb_aud_sy102_f6_f7_fps_uac1.xe --upgrade 5 bin/f4_fps_uac2/app_usb_aud_sy102_f4_fps_uac2.xe -o %1
|
||||
|
||||
@@ -147,8 +147,8 @@
|
||||
#ifndef PID_AUDIO_2
|
||||
#if defined(F1_MUSIC_UAC2)
|
||||
#define PID_AUDIO_2 (0x2000) /* F1: Music, UAC2, Windows */
|
||||
#elif defined(F3_F4_FPS_UAC2)
|
||||
#define PID_AUDIO_2 (0x2001) /* F3/F4: FPS/AI7.1, UAC2, Windows */
|
||||
#elif defined(F3_FPS_UAC2) || defined(F4_FPS_UAC2)
|
||||
#define PID_AUDIO_2 (0x2001) /* F3 Game / F4 AI7.1, UAC2, Windows */
|
||||
#else
|
||||
#define PID_AUDIO_2 (0x2000)
|
||||
#endif
|
||||
@@ -167,7 +167,7 @@
|
||||
#if defined(F1_MUSIC_UAC2) || defined(F5_MUSIC_UAC1)
|
||||
#define PRODUCT_STR_A2 "SY102 Music"
|
||||
#define PRODUCT_STR_A1 "SY102 Music"
|
||||
#elif defined(F3_F4_FPS_UAC2) || defined(F6_F7_FPS_UAC1)
|
||||
#elif defined(F3_FPS_UAC2) || defined(F4_FPS_UAC2) || defined(F6_F7_FPS_UAC1)
|
||||
#define PRODUCT_STR_A2 "SY102 AI Game"
|
||||
#define PRODUCT_STR_A1 "SY102 AI Game"
|
||||
#else
|
||||
|
||||
@@ -213,11 +213,19 @@ unsigned g_led_blink_is_white = 0;
|
||||
#define LED_PURPLE (LED_RED & LED_BLUE)
|
||||
#define LED_WHITE (LED_RED & LED_GREEN & LED_BLUE)
|
||||
enum { OS_WIN = 1, OS_OTHERS = 2 };
|
||||
// 改动原因:定义模式切换标志值,用于在SPATIAL_GAME、STEREO_8K、STEREO_2K、UAC1之间循环切换
|
||||
#define MODE_F3_F4_FPS_UAC2 COAX_IN_FLAG //1 SPATIAL_GAME模式标志
|
||||
#define MODE_F5_MUSIC_UAC1 USB_IN_FLAG // 2 F5 MUSIC
|
||||
#define MODE_F1_MUSIC_UAC2 OPT_IN_FLAG // 3 F1 MUSIC
|
||||
#define MODE_F6_F7_FPS_UAC1 UAC1_IN_FLAG // 4 STEREO_2K模式标志
|
||||
// 改动原因:F3/F4拆分为独立固件——Game键切F3(COAX/slot1),AI7.1键切F4(BT/slot5)
|
||||
#define MODE_F3_FPS_UAC2 COAX_IN_FLAG // F3 Game (upgrade slot 1)
|
||||
#define MODE_F5_MUSIC_UAC1 USB_IN_FLAG // F5 Music UAC1 (upgrade slot 2)
|
||||
#define MODE_F1_MUSIC_UAC2 OPT_IN_FLAG // F1 Music UAC2 (upgrade slot 3)
|
||||
#define MODE_F6_F7_FPS_UAC1 UAC1_IN_FLAG // F6/F7 FPS UAC1 (upgrade slot 4)
|
||||
#define MODE_F4_FPS_UAC2 BT_IN_FLAG // F4 AI7.1 (upgrade slot 5)
|
||||
|
||||
// 改动原因:按 game_mode(2=Game/3=AI7.1) 选择 F3 或 F4 固件标志,供启动链与 HID 复用
|
||||
static unsigned get_fps_firmware_flag(unsigned mode)
|
||||
{
|
||||
if (mode == 3) return MODE_F4_FPS_UAC2;
|
||||
return MODE_F3_FPS_UAC2; // mode==2 或其它 FPS 模式默认 F3 Game
|
||||
}
|
||||
|
||||
/* All on tile[0] */
|
||||
port p_scl = PORT_I2C_SCL;
|
||||
@@ -666,7 +674,8 @@ void button_task(chanend c_hidSendData, chanend cc_mic_level, chanend c_uac_vol,
|
||||
|
||||
if (host_os == OS_WIN) {
|
||||
debug_printf("Detected Windows OS (OS_WIN) saved_mode: %d\n", saved_mode);
|
||||
unsigned flag = (saved_mode <= 1) ? MODE_F1_MUSIC_UAC2 : MODE_F3_F4_FPS_UAC2;
|
||||
// 改动原因:Windows 下 mode2→F3 Game,mode3→F4 AI7.1,不再共用 F3_F4 合并固件
|
||||
unsigned flag = (saved_mode <= 1) ? MODE_F1_MUSIC_UAC2 : get_fps_firmware_flag(saved_mode);
|
||||
SetRoleSwitchFlag(flag);
|
||||
#ifndef DISABLE_REBOOT
|
||||
device_reboot();
|
||||
@@ -1319,9 +1328,10 @@ void button_task(chanend c_hidSendData, chanend cc_mic_level, chanend c_uac_vol,
|
||||
// Music btn: toggle LED locally (no reboot)
|
||||
// Game/AI7.1 btn: save mode + reboot (F5 will route to FPS firmware)
|
||||
//
|
||||
// FPS firmware (F3/F4, F6/F7): USE_EX3D set
|
||||
// FPS firmware (F3 Game / F4 AI7.1, F6/F7): USE_EX3D set
|
||||
// Music btn: save mode=1 + reboot (F5 will route to music firmware)
|
||||
// Game/AI7.1 btn: switch IR algorithm locally (no reboot)
|
||||
// F3: Game 本地切 mode2;AI7.1 需重启切 F4
|
||||
// F4: AI7.1 本地切 mode3;Game 需重启切 F3
|
||||
|
||||
unsigned mode_btn_change = 0;
|
||||
unsigned need_reboot = 0;
|
||||
@@ -1390,7 +1400,8 @@ void button_task(chanend c_hidSendData, chanend cc_mic_level, chanend c_uac_vol,
|
||||
if (!btn_combo_active) {
|
||||
if (btn_music_hold_ticks == BTN_COMBO_DELAY_TICKS) {
|
||||
debug_printf("Music button pressed for %d ticks\n", BTN_COMBO_DELAY_TICKS);
|
||||
#if (F3_F4_FPS_UAC2 == 1)
|
||||
#if (F3_FPS_UAC2 == 1) || (F4_FPS_UAC2 == 1)
|
||||
// 改动原因:F3/F4 FPS 固件按 Music 键切回 F1 Music
|
||||
active_mode = 1;
|
||||
need_reboot = 1;
|
||||
SetRoleSwitchFlag(MODE_F1_MUSIC_UAC2);
|
||||
@@ -1423,9 +1434,10 @@ void button_task(chanend c_hidSendData, chanend cc_mic_level, chanend c_uac_vol,
|
||||
if (btn_game_hold_ticks == BTN_COMBO_DELAY_TICKS) {
|
||||
debug_printf("Game button pressed for %d ticks\n", BTN_COMBO_DELAY_TICKS);
|
||||
#if F1_MUSIC_UAC2 == 1
|
||||
// 改动原因:Music 固件按 Game 键启动 F3 Game 固件
|
||||
active_mode = 2;
|
||||
need_reboot = 1;
|
||||
SetRoleSwitchFlag(MODE_F3_F4_FPS_UAC2);
|
||||
SetRoleSwitchFlag(MODE_F3_FPS_UAC2);
|
||||
#elif (F5_MUSIC_UAC1 == 1)
|
||||
// UAC1 Music firmware: game needs F6/F7, reboot if not already game
|
||||
if (active_mode != 2) {
|
||||
@@ -1439,11 +1451,17 @@ void button_task(chanend c_hidSendData, chanend cc_mic_level, chanend c_uac_vol,
|
||||
active_mode = 2;
|
||||
mode_btn_change = 1;
|
||||
}
|
||||
#else
|
||||
#elif (F3_FPS_UAC2 == 1)
|
||||
// 改动原因:已在 F3 Game 固件,Game 键仅本地切 mode2
|
||||
if (active_mode != 2) {
|
||||
active_mode = 2;
|
||||
mode_btn_change = 1;
|
||||
}
|
||||
#elif (F4_FPS_UAC2 == 1)
|
||||
// 改动原因:F4 AI7.1 固件按 Game 键需重启加载 F3 Game 固件
|
||||
active_mode = 2;
|
||||
need_reboot = 1;
|
||||
SetRoleSwitchFlag(MODE_F3_FPS_UAC2);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
@@ -1459,10 +1477,10 @@ void button_task(chanend c_hidSendData, chanend cc_mic_level, chanend c_uac_vol,
|
||||
if (button_ai71_onoff == 0) {
|
||||
if (push_button_ai71_onoff_state_old == 1) {
|
||||
#if (F1_MUSIC_UAC2 == 1)
|
||||
// Music-only firmware: AI7.1 needs FPS firmware
|
||||
// 改动原因:Music 固件按 AI7.1 键启动 F4 AI7.1 固件
|
||||
active_mode = 3;
|
||||
need_reboot = 1;
|
||||
SetRoleSwitchFlag(MODE_F3_F4_FPS_UAC2);
|
||||
SetRoleSwitchFlag(MODE_F4_FPS_UAC2);
|
||||
#elif (F5_MUSIC_UAC1 == 1)
|
||||
// UAC1 Music firmware: AI71 needs F6/F7 FPS, reboot if not already AI71
|
||||
if (active_mode != 3) {
|
||||
@@ -1476,12 +1494,17 @@ void button_task(chanend c_hidSendData, chanend cc_mic_level, chanend c_uac_vol,
|
||||
active_mode = 3;
|
||||
mode_btn_change = 1;
|
||||
}
|
||||
#else
|
||||
// FPS firmware: switch algorithm locally (activate if not already)
|
||||
#elif (F4_FPS_UAC2 == 1)
|
||||
// 改动原因:已在 F4 AI7.1 固件,AI7.1 键仅本地切 mode3
|
||||
if (active_mode != 3) {
|
||||
active_mode = 3;
|
||||
mode_btn_change = 1;
|
||||
}
|
||||
#elif (F3_FPS_UAC2 == 1)
|
||||
// 改动原因:F3 Game 固件按 AI7.1 键需重启加载 F4 AI7.1 固件
|
||||
active_mode = 3;
|
||||
need_reboot = 1;
|
||||
SetRoleSwitchFlag(MODE_F4_FPS_UAC2);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
@@ -1494,20 +1517,40 @@ void button_task(chanend c_hidSendData, chanend cc_mic_level, chanend c_uac_vol,
|
||||
if (hid_req_mode != (unsigned)-1) {
|
||||
SET_SHARED_GLOBAL(g_request_game_mode, (unsigned)-1);
|
||||
unsigned target = (hid_req_mode <= 3) ? hid_req_mode : 0;
|
||||
#if (F3_F4_FPS_UAC2 == 1)
|
||||
#if (F3_FPS_UAC2 == 1) || (F4_FPS_UAC2 == 1)
|
||||
// 改动原因:HID 0xA4 在 F3/F4 间切换需跨固件重启,同固件则本地切算法
|
||||
if (target == 1) {
|
||||
active_mode = target;
|
||||
need_reboot = 1;
|
||||
SetRoleSwitchFlag(MODE_F1_MUSIC_UAC2);
|
||||
} else {
|
||||
active_mode = target;
|
||||
mode_btn_change = 1;
|
||||
} else if (target == 2) {
|
||||
#if (F3_FPS_UAC2 == 1)
|
||||
if (active_mode != 2) {
|
||||
active_mode = 2;
|
||||
mode_btn_change = 1;
|
||||
}
|
||||
#else
|
||||
active_mode = 2;
|
||||
need_reboot = 1;
|
||||
SetRoleSwitchFlag(MODE_F3_FPS_UAC2);
|
||||
#endif
|
||||
} else if (target == 3) {
|
||||
#if (F4_FPS_UAC2 == 1)
|
||||
if (active_mode != 3) {
|
||||
active_mode = 3;
|
||||
mode_btn_change = 1;
|
||||
}
|
||||
#else
|
||||
active_mode = 3;
|
||||
need_reboot = 1;
|
||||
SetRoleSwitchFlag(MODE_F4_FPS_UAC2);
|
||||
#endif
|
||||
}
|
||||
#elif (F1_MUSIC_UAC2 == 1)
|
||||
if (target >= 2) {
|
||||
active_mode = target;
|
||||
need_reboot = 1;
|
||||
SetRoleSwitchFlag(MODE_F3_F4_FPS_UAC2);
|
||||
SetRoleSwitchFlag(get_fps_firmware_flag(target));
|
||||
} else {
|
||||
active_mode = target;
|
||||
mode_btn_change = 1;
|
||||
@@ -1616,8 +1659,8 @@ void button_task(chanend c_hidSendData, chanend cc_mic_level, chanend c_uac_vol,
|
||||
delay_milliseconds(100);
|
||||
}
|
||||
#endif
|
||||
// 出厂恢复默认AI7.1模式(mode=3),需要F3/F4固件
|
||||
SetRoleSwitchFlag(MODE_F3_F4_FPS_UAC2);
|
||||
// 改动原因:出厂默认 AI7.1(mode=3),启动 F4 AI7.1 固件
|
||||
SetRoleSwitchFlag(MODE_F4_FPS_UAC2);
|
||||
delay_milliseconds(20);
|
||||
#ifndef DISABLE_REBOOT
|
||||
device_reboot();
|
||||
@@ -2426,7 +2469,8 @@ void button_task(chanend c_hidSendData, chanend cc_mic_level, chanend c_uac_vol,
|
||||
#if UAC1_MODE == 1
|
||||
GET_SHARED_GLOBAL(host_os, g_host_os);
|
||||
if (host_os == OS_WIN) {
|
||||
unsigned flag = (saved_mode <= 1) ? MODE_F1_MUSIC_UAC2 : MODE_F3_F4_FPS_UAC2;
|
||||
// 改动原因:运行时 OS 检测为 Windows 时按 mode 路由 F1/F3/F4
|
||||
unsigned flag = (saved_mode <= 1) ? MODE_F1_MUSIC_UAC2 : get_fps_firmware_flag(saved_mode);
|
||||
SetRoleSwitchFlag(flag);
|
||||
#ifndef DISABLE_REBOOT
|
||||
device_reboot();
|
||||
|
||||
Reference in New Issue
Block a user