update eq_save_dirty_params

This commit is contained in:
Steven Dan
2026-04-12 12:44:02 +08:00
parent 6cafdd5d28
commit ed23a1d16f
4 changed files with 16 additions and 13 deletions

View File

@@ -1478,6 +1478,9 @@ void button_task(chanend c_hidSendData, chanend cc_mic_level, chanend c_uac_vol,
if (factory_reset_req) {
SET_SHARED_GLOBAL(g_request_factory_reset, 0);
debug_printf("Factory reset: rebooting...\n");
unsafe {
lfs_format_all();
}
delay_milliseconds(500);
device_reboot();
while (1);

View File

@@ -775,17 +775,7 @@ unsigned char process_send_params(uint8_t data[], uint16_t len) {
// 处理恢复出厂默认命令 (0x84) - FACTORY_RESET
if (data[1] == 0x84) {
// 删除所有Flash保存的参数文件
lfs_remove_file("game_mode");
lfs_remove_file("mic_vol");
lfs_remove_file("dac_vol");
lfs_remove_file("footstep");
lfs_remove_file("monitor_sw");
lfs_remove_file("mic_mute");
lfs_remove_file("hp_mute");
// 删除EQ flash数据
eq_flash_clear_all();
// 通知button_task在合适时机重启避免在USB上下文中直接reboot
// 通知button_task在合适时机删除其他文件并重启
SET_SHARED_GLOBAL(g_request_factory_reset, 1);
read_request.pending_cmd = 0x84;
return true;

View File

@@ -737,6 +737,18 @@ int eq_save_dirty_params(void) {
return -1;
}
int has_dirty = 0;
for (int i = 0; i < single_param_database.param_count; i++) {
if (single_param_database.params[i].is_dirty) {
has_dirty = 1;
break;
}
}
if (!has_dirty) {
return 0;
}
if (lfs_init() != 0) {
lfs_deinit();
return -1;
@@ -2006,7 +2018,6 @@ int eq_flash_load_current_mode(void)
DPRINTF(" Enable file does not exist, using default enable 0\n");
eq_enable = 0;
}
// 设置全局变量g_eq_enable
extern unsigned int g_eq_enable;
g_eq_enable = eq_enable;

View File

@@ -91,7 +91,6 @@ int lfs_init(void) {
// 固件升级期间禁止LFS操作避免与DFU flash访问冲突
if (g_in_fw_upgrade) {
debug_printf("lfs_init: blocked during firmware upgrade\n");
lfs_session_active = 0;
return -2;
}
#endif