mirror of
https://github.com/CTCaer/hekate
synced 2024-12-22 19:31:12 +00:00
nyx: Simplify label sets
- Use only lv_label_set_text to simplify label sets - Fix an issue with a label cut - Add more maintenance functions for DRAM training
This commit is contained in:
parent
a52af1bf41
commit
e6c1d9bf66
6 changed files with 104 additions and 93 deletions
|
@ -194,7 +194,7 @@ static int _dump_emmc_verify(emmc_tool_gui_t *gui, sdmmc_storage_t *storage, u32
|
||||||
lv_bar_set_style(gui->bar, LV_BAR_STYLE_BG, gui->bar_teal_bg);
|
lv_bar_set_style(gui->bar, LV_BAR_STYLE_BG, gui->bar_teal_bg);
|
||||||
lv_bar_set_style(gui->bar, LV_BAR_STYLE_INDIC, lv_theme_get_current()->bar.indic);
|
lv_bar_set_style(gui->bar, LV_BAR_STYLE_INDIC, lv_theme_get_current()->bar.indic);
|
||||||
s_printf(gui->txt_buf, " "SYMBOL_DOT" %d%%", pct);
|
s_printf(gui->txt_buf, " "SYMBOL_DOT" %d%%", pct);
|
||||||
lv_label_set_array_text(gui->label_pct, gui->txt_buf, 32);
|
lv_label_set_text(gui->label_pct, gui->txt_buf);
|
||||||
manual_system_maintenance(true);
|
manual_system_maintenance(true);
|
||||||
|
|
||||||
clmt = f_expand_cltbl(&fp, 0x400000, 0);
|
clmt = f_expand_cltbl(&fp, 0x400000, 0);
|
||||||
|
@ -225,7 +225,7 @@ static int _dump_emmc_verify(emmc_tool_gui_t *gui, sdmmc_storage_t *storage, u32
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
manual_system_maintenance(false);
|
||||||
se_calc_sha256(hashEm, NULL, bufEm, num << 9, 0, SHA_INIT_HASH, false);
|
se_calc_sha256(hashEm, NULL, bufEm, num << 9, 0, SHA_INIT_HASH, false);
|
||||||
|
|
||||||
f_lseek(&fp, (u64)sdFileSector << (u64)9);
|
f_lseek(&fp, (u64)sdFileSector << (u64)9);
|
||||||
|
@ -245,7 +245,7 @@ static int _dump_emmc_verify(emmc_tool_gui_t *gui, sdmmc_storage_t *storage, u32
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
manual_system_maintenance(false);
|
||||||
se_calc_sha256_finalize(hashEm, NULL);
|
se_calc_sha256_finalize(hashEm, NULL);
|
||||||
se_calc_sha256(hashSd, NULL, bufSd, num << 9, 0, SHA_INIT_HASH, true);
|
se_calc_sha256(hashSd, NULL, bufSd, num << 9, 0, SHA_INIT_HASH, true);
|
||||||
res = memcmp(hashEm, hashSd, 0x10);
|
res = memcmp(hashEm, hashSd, 0x10);
|
||||||
|
@ -289,11 +289,12 @@ static int _dump_emmc_verify(emmc_tool_gui_t *gui, sdmmc_storage_t *storage, u32
|
||||||
{
|
{
|
||||||
lv_bar_set_value(gui->bar, pct);
|
lv_bar_set_value(gui->bar, pct);
|
||||||
s_printf(gui->txt_buf, " "SYMBOL_DOT" %d%%", pct);
|
s_printf(gui->txt_buf, " "SYMBOL_DOT" %d%%", pct);
|
||||||
lv_label_set_array_text(gui->label_pct, gui->txt_buf, 32);
|
lv_label_set_text(gui->label_pct, gui->txt_buf);
|
||||||
manual_system_maintenance(true);
|
|
||||||
prevPct = pct;
|
prevPct = pct;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
manual_system_maintenance(false);
|
||||||
|
|
||||||
lba_curr += num;
|
lba_curr += num;
|
||||||
totalSectorsVer -= num;
|
totalSectorsVer -= num;
|
||||||
sdFileSector += num;
|
sdFileSector += num;
|
||||||
|
@ -321,7 +322,7 @@ static int _dump_emmc_verify(emmc_tool_gui_t *gui, sdmmc_storage_t *storage, u32
|
||||||
|
|
||||||
lv_bar_set_value(gui->bar, pct);
|
lv_bar_set_value(gui->bar, pct);
|
||||||
s_printf(gui->txt_buf, " "SYMBOL_DOT" %d%%", pct);
|
s_printf(gui->txt_buf, " "SYMBOL_DOT" %d%%", pct);
|
||||||
lv_label_set_array_text(gui->label_pct, gui->txt_buf, 32);
|
lv_label_set_text(gui->label_pct, gui->txt_buf);
|
||||||
manual_system_maintenance(true);
|
manual_system_maintenance(true);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -565,12 +566,10 @@ static int _dump_emmc_part(emmc_tool_gui_t *gui, char *sd_path, sdmmc_storage_t
|
||||||
|
|
||||||
// Create next part.
|
// Create next part.
|
||||||
s_printf(gui->txt_buf, "%s#", outFilename + strlen(gui->base_path));
|
s_printf(gui->txt_buf, "%s#", outFilename + strlen(gui->base_path));
|
||||||
lv_label_ins_text(gui->label_info,
|
|
||||||
strlen(lv_label_get_text(gui->label_info)) - strlen(outFilename + strlen(gui->base_path) - 1),
|
|
||||||
gui->txt_buf);
|
|
||||||
lv_label_cut_text(gui->label_info,
|
lv_label_cut_text(gui->label_info,
|
||||||
strlen(lv_label_get_text(gui->label_info)) - strlen(outFilename + strlen(gui->base_path) - 1),
|
strlen(lv_label_get_text(gui->label_info)) - strlen(outFilename + strlen(gui->base_path)) - 1,
|
||||||
strlen(outFilename + strlen(gui->base_path)) + 1);
|
strlen(outFilename + strlen(gui->base_path)) + 1);
|
||||||
|
lv_label_ins_text(gui->label_info, LV_LABEL_POS_LAST, gui->txt_buf);
|
||||||
manual_system_maintenance(true);
|
manual_system_maintenance(true);
|
||||||
lbaStartPart = lba_curr;
|
lbaStartPart = lba_curr;
|
||||||
res = f_open(&fp, outFilename, FA_CREATE_ALWAYS | FA_WRITE);
|
res = f_open(&fp, outFilename, FA_CREATE_ALWAYS | FA_WRITE);
|
||||||
|
@ -620,6 +619,7 @@ static int _dump_emmc_part(emmc_tool_gui_t *gui, char *sd_path, sdmmc_storage_t
|
||||||
manual_system_maintenance(true);
|
manual_system_maintenance(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
manual_system_maintenance(false);
|
||||||
|
|
||||||
res = f_write_fast(&fp, buf, NX_EMMC_BLOCKSIZE * num);
|
res = f_write_fast(&fp, buf, NX_EMMC_BLOCKSIZE * num);
|
||||||
|
|
||||||
|
@ -635,12 +635,15 @@ static int _dump_emmc_part(emmc_tool_gui_t *gui, char *sd_path, sdmmc_storage_t
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
manual_system_maintenance(false);
|
||||||
|
|
||||||
pct = (u64)((u64)(lba_curr - part->lba_start) * 100u) / (u64)(part->lba_end - part->lba_start);
|
pct = (u64)((u64)(lba_curr - part->lba_start) * 100u) / (u64)(part->lba_end - part->lba_start);
|
||||||
if (pct != prevPct)
|
if (pct != prevPct)
|
||||||
{
|
{
|
||||||
lv_bar_set_value(gui->bar, pct);
|
lv_bar_set_value(gui->bar, pct);
|
||||||
s_printf(gui->txt_buf, " "SYMBOL_DOT" %d%%", pct);
|
s_printf(gui->txt_buf, " "SYMBOL_DOT" %d%%", pct);
|
||||||
lv_label_set_array_text(gui->label_pct, gui->txt_buf, 32);
|
lv_label_set_text(gui->label_pct, gui->txt_buf);
|
||||||
manual_system_maintenance(true);
|
manual_system_maintenance(true);
|
||||||
|
|
||||||
prevPct = pct;
|
prevPct = pct;
|
||||||
|
@ -719,15 +722,13 @@ void dump_emmc_selected(emmcPartType_t dumpType, emmc_tool_gui_t *gui)
|
||||||
|
|
||||||
char *txt_buf = (char *)malloc(0x1000);
|
char *txt_buf = (char *)malloc(0x1000);
|
||||||
gui->txt_buf = txt_buf;
|
gui->txt_buf = txt_buf;
|
||||||
|
|
||||||
s_printf(txt_buf, "");
|
s_printf(txt_buf, "");
|
||||||
lv_label_set_array_text(gui->label_log, txt_buf, 0x1000);
|
lv_label_set_text(gui->label_log, txt_buf);
|
||||||
|
|
||||||
lv_label_set_static_text(gui->label_info, "Checking for available free space...");
|
lv_label_set_static_text(gui->label_info, "Checking for available free space...");
|
||||||
manual_system_maintenance(true);
|
manual_system_maintenance(true);
|
||||||
|
|
||||||
// Do a reinit to refresh tuning.
|
|
||||||
sd_unmount(true);
|
|
||||||
|
|
||||||
if (!sd_mount())
|
if (!sd_mount())
|
||||||
{
|
{
|
||||||
lv_label_set_static_text(gui->label_info, "#FFDD00 Failed to init SD!#");
|
lv_label_set_static_text(gui->label_info, "#FFDD00 Failed to init SD!#");
|
||||||
|
@ -771,7 +772,7 @@ void dump_emmc_selected(emmcPartType_t dumpType, emmc_tool_gui_t *gui)
|
||||||
|
|
||||||
s_printf(txt_buf, "#00DDFF %02d: %s#\n#00DDFF Range: 0x%08X - 0x%08X#\n\n",
|
s_printf(txt_buf, "#00DDFF %02d: %s#\n#00DDFF Range: 0x%08X - 0x%08X#\n\n",
|
||||||
i, bootPart.name, bootPart.lba_start, bootPart.lba_end);
|
i, bootPart.name, bootPart.lba_start, bootPart.lba_end);
|
||||||
lv_label_set_array_text(gui->label_info, txt_buf, 0x1000);
|
lv_label_set_text(gui->label_info, txt_buf);
|
||||||
s_printf(txt_buf, "%02d: %s... ", i, bootPart.name);
|
s_printf(txt_buf, "%02d: %s... ", i, bootPart.name);
|
||||||
lv_label_ins_text(gui->label_log, LV_LABEL_POS_LAST, txt_buf);
|
lv_label_ins_text(gui->label_log, LV_LABEL_POS_LAST, txt_buf);
|
||||||
manual_system_maintenance(true);
|
manual_system_maintenance(true);
|
||||||
|
@ -812,7 +813,7 @@ void dump_emmc_selected(emmcPartType_t dumpType, emmc_tool_gui_t *gui)
|
||||||
|
|
||||||
s_printf(txt_buf, "#00DDFF %02d: %s#\n#00DDFF Range: 0x%08X - 0x%08X#\n\n",
|
s_printf(txt_buf, "#00DDFF %02d: %s#\n#00DDFF Range: 0x%08X - 0x%08X#\n\n",
|
||||||
i, part->name, part->lba_start, part->lba_end);
|
i, part->name, part->lba_start, part->lba_end);
|
||||||
lv_label_set_array_text(gui->label_info, txt_buf, 0x1000);
|
lv_label_set_text(gui->label_info, txt_buf);
|
||||||
s_printf(txt_buf, "%02d: %s... ", i, part->name);
|
s_printf(txt_buf, "%02d: %s... ", i, part->name);
|
||||||
lv_label_ins_text(gui->label_log, LV_LABEL_POS_LAST, txt_buf);
|
lv_label_ins_text(gui->label_log, LV_LABEL_POS_LAST, txt_buf);
|
||||||
manual_system_maintenance(true);
|
manual_system_maintenance(true);
|
||||||
|
@ -849,7 +850,7 @@ void dump_emmc_selected(emmcPartType_t dumpType, emmc_tool_gui_t *gui)
|
||||||
{
|
{
|
||||||
s_printf(txt_buf, "#00DDFF %02d: %s#\n#00DDFF Range: 0x%08X - 0x%08X#\n\n",
|
s_printf(txt_buf, "#00DDFF %02d: %s#\n#00DDFF Range: 0x%08X - 0x%08X#\n\n",
|
||||||
i, rawPart.name, rawPart.lba_start, rawPart.lba_end);
|
i, rawPart.name, rawPart.lba_start, rawPart.lba_end);
|
||||||
lv_label_set_array_text(gui->label_info, txt_buf, 0x1000);
|
lv_label_set_text(gui->label_info, txt_buf);
|
||||||
s_printf(txt_buf, "%02d: %s... ", i, rawPart.name);
|
s_printf(txt_buf, "%02d: %s... ", i, rawPart.name);
|
||||||
lv_label_ins_text(gui->label_log, LV_LABEL_POS_LAST, txt_buf);
|
lv_label_ins_text(gui->label_log, LV_LABEL_POS_LAST, txt_buf);
|
||||||
manual_system_maintenance(true);
|
manual_system_maintenance(true);
|
||||||
|
@ -880,7 +881,7 @@ void dump_emmc_selected(emmcPartType_t dumpType, emmc_tool_gui_t *gui)
|
||||||
else
|
else
|
||||||
s_printf(txt_buf, "Time taken: %dm %ds.", timer / 60, timer % 60);
|
s_printf(txt_buf, "Time taken: %dm %ds.", timer / 60, timer % 60);
|
||||||
|
|
||||||
lv_label_set_array_text(gui->label_finish, txt_buf, 0x1000);
|
lv_label_set_text(gui->label_finish, txt_buf);
|
||||||
|
|
||||||
out:
|
out:
|
||||||
free(txt_buf);
|
free(txt_buf);
|
||||||
|
@ -944,12 +945,10 @@ static int _restore_emmc_part(emmc_tool_gui_t *gui, char *sd_path, int active_pa
|
||||||
_update_filename(outFilename, sdPathLen, numSplitParts);
|
_update_filename(outFilename, sdPathLen, numSplitParts);
|
||||||
|
|
||||||
s_printf(gui->txt_buf, "%s#", outFilename + strlen(gui->base_path));
|
s_printf(gui->txt_buf, "%s#", outFilename + strlen(gui->base_path));
|
||||||
lv_label_ins_text(gui->label_info,
|
|
||||||
strlen(lv_label_get_text(gui->label_info)) - strlen(outFilename + strlen(gui->base_path)) - 1,
|
|
||||||
gui->txt_buf);
|
|
||||||
lv_label_cut_text(gui->label_info,
|
lv_label_cut_text(gui->label_info,
|
||||||
strlen(lv_label_get_text(gui->label_info)) - strlen(outFilename + strlen(gui->base_path)) - 1,
|
strlen(lv_label_get_text(gui->label_info)) - strlen(outFilename + strlen(gui->base_path)) - 1,
|
||||||
strlen(outFilename + strlen(gui->base_path)) + 1);
|
strlen(outFilename + strlen(gui->base_path)) + 1);
|
||||||
|
lv_label_ins_text(gui->label_info, LV_LABEL_POS_LAST, gui->txt_buf);
|
||||||
manual_system_maintenance(true);
|
manual_system_maintenance(true);
|
||||||
|
|
||||||
if (f_stat(outFilename, &fno) && !gui->raw_emummc)
|
if (f_stat(outFilename, &fno) && !gui->raw_emummc)
|
||||||
|
@ -1007,12 +1006,10 @@ static int _restore_emmc_part(emmc_tool_gui_t *gui, char *sd_path, int active_pa
|
||||||
if (use_multipart)
|
if (use_multipart)
|
||||||
{
|
{
|
||||||
s_printf(gui->txt_buf, "%s#", outFilename + strlen(gui->base_path));
|
s_printf(gui->txt_buf, "%s#", outFilename + strlen(gui->base_path));
|
||||||
lv_label_ins_text(gui->label_info,
|
|
||||||
strlen(lv_label_get_text(gui->label_info)) - strlen(outFilename + strlen(gui->base_path)) - 1,
|
|
||||||
gui->txt_buf);
|
|
||||||
lv_label_cut_text(gui->label_info,
|
lv_label_cut_text(gui->label_info,
|
||||||
strlen(lv_label_get_text(gui->label_info)) - strlen(outFilename + strlen(gui->base_path)) - 1,
|
strlen(lv_label_get_text(gui->label_info)) - strlen(outFilename + strlen(gui->base_path)) - 1,
|
||||||
strlen(outFilename + strlen(gui->base_path)) + 1);
|
strlen(outFilename + strlen(gui->base_path)) + 1);
|
||||||
|
lv_label_ins_text(gui->label_info, LV_LABEL_POS_LAST, gui->txt_buf);
|
||||||
manual_system_maintenance(true);
|
manual_system_maintenance(true);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -1123,12 +1120,10 @@ static int _restore_emmc_part(emmc_tool_gui_t *gui, char *sd_path, int active_pa
|
||||||
|
|
||||||
// Read from next part.
|
// Read from next part.
|
||||||
s_printf(gui->txt_buf, "%s#", outFilename + strlen(gui->base_path));
|
s_printf(gui->txt_buf, "%s#", outFilename + strlen(gui->base_path));
|
||||||
lv_label_ins_text(gui->label_info,
|
|
||||||
strlen(lv_label_get_text(gui->label_info)) - strlen(outFilename + strlen(gui->base_path)) - 1,
|
|
||||||
gui->txt_buf);
|
|
||||||
lv_label_cut_text(gui->label_info,
|
lv_label_cut_text(gui->label_info,
|
||||||
strlen(lv_label_get_text(gui->label_info)) - strlen(outFilename + strlen(gui->base_path)) - 1,
|
strlen(lv_label_get_text(gui->label_info)) - strlen(outFilename + strlen(gui->base_path)) - 1,
|
||||||
strlen(outFilename + strlen(gui->base_path)) + 1);
|
strlen(outFilename + strlen(gui->base_path)) + 1);
|
||||||
|
lv_label_ins_text(gui->label_info, LV_LABEL_POS_LAST, gui->txt_buf);
|
||||||
manual_system_maintenance(true);
|
manual_system_maintenance(true);
|
||||||
|
|
||||||
lbaStartPart = lba_curr;
|
lbaStartPart = lba_curr;
|
||||||
|
@ -1152,6 +1147,7 @@ static int _restore_emmc_part(emmc_tool_gui_t *gui, char *sd_path, int active_pa
|
||||||
num = MIN(totalSectors, NUM_SECTORS_PER_ITER);
|
num = MIN(totalSectors, NUM_SECTORS_PER_ITER);
|
||||||
|
|
||||||
res = f_read_fast(&fp, buf, num << 9);
|
res = f_read_fast(&fp, buf, num << 9);
|
||||||
|
manual_system_maintenance(false);
|
||||||
|
|
||||||
if (res)
|
if (res)
|
||||||
{
|
{
|
||||||
|
@ -1170,6 +1166,9 @@ static int _restore_emmc_part(emmc_tool_gui_t *gui, char *sd_path, int active_pa
|
||||||
res = !sdmmc_storage_write(storage, lba_curr, num, buf);
|
res = !sdmmc_storage_write(storage, lba_curr, num, buf);
|
||||||
else
|
else
|
||||||
res = !sdmmc_storage_write(&sd_storage, lba_curr + sd_sector_off, num, buf);
|
res = !sdmmc_storage_write(&sd_storage, lba_curr + sd_sector_off, num, buf);
|
||||||
|
|
||||||
|
manual_system_maintenance(false);
|
||||||
|
|
||||||
while (res)
|
while (res)
|
||||||
{
|
{
|
||||||
s_printf(gui->txt_buf,
|
s_printf(gui->txt_buf,
|
||||||
|
@ -1202,13 +1201,14 @@ static int _restore_emmc_part(emmc_tool_gui_t *gui, char *sd_path, int active_pa
|
||||||
res = !sdmmc_storage_write(storage, lba_curr, num, buf);
|
res = !sdmmc_storage_write(storage, lba_curr, num, buf);
|
||||||
else
|
else
|
||||||
res = !sdmmc_storage_write(&sd_storage, lba_curr + sd_sector_off, num, buf);
|
res = !sdmmc_storage_write(&sd_storage, lba_curr + sd_sector_off, num, buf);
|
||||||
|
manual_system_maintenance(false);
|
||||||
}
|
}
|
||||||
pct = (u64)((u64)(lba_curr - part->lba_start) * 100u) / (u64)(part->lba_end - part->lba_start);
|
pct = (u64)((u64)(lba_curr - part->lba_start) * 100u) / (u64)(part->lba_end - part->lba_start);
|
||||||
if (pct != prevPct)
|
if (pct != prevPct)
|
||||||
{
|
{
|
||||||
lv_bar_set_value(gui->bar, pct);
|
lv_bar_set_value(gui->bar, pct);
|
||||||
s_printf(gui->txt_buf, " "SYMBOL_DOT" %d%%", pct);
|
s_printf(gui->txt_buf, " "SYMBOL_DOT" %d%%", pct);
|
||||||
lv_label_set_array_text(gui->label_pct, gui->txt_buf, 32);
|
lv_label_set_text(gui->label_pct, gui->txt_buf);
|
||||||
manual_system_maintenance(true);
|
manual_system_maintenance(true);
|
||||||
prevPct = pct;
|
prevPct = pct;
|
||||||
}
|
}
|
||||||
|
@ -1268,11 +1268,11 @@ void restore_emmc_selected(emmcPartType_t restoreType, emmc_tool_gui_t *gui)
|
||||||
|
|
||||||
char *txt_buf = (char *)malloc(0x1000);
|
char *txt_buf = (char *)malloc(0x1000);
|
||||||
gui->txt_buf = txt_buf;
|
gui->txt_buf = txt_buf;
|
||||||
|
|
||||||
s_printf(txt_buf, "");
|
s_printf(txt_buf, "");
|
||||||
lv_label_set_array_text(gui->label_log, txt_buf, 0x1000);
|
lv_label_set_text(gui->label_log, txt_buf);
|
||||||
|
|
||||||
manual_system_maintenance(true);
|
manual_system_maintenance(true);
|
||||||
sd_unmount(true);
|
|
||||||
|
|
||||||
s_printf(txt_buf,
|
s_printf(txt_buf,
|
||||||
"#FFDD00 This may render your device inoperative!#\n\n"
|
"#FFDD00 This may render your device inoperative!#\n\n"
|
||||||
|
@ -1351,7 +1351,7 @@ void restore_emmc_selected(emmcPartType_t restoreType, emmc_tool_gui_t *gui)
|
||||||
|
|
||||||
s_printf(txt_buf, "#00DDFF %02d: %s#\n#00DDFF Range: 0x%08X - 0x%08X#\n\n\n\n\n",
|
s_printf(txt_buf, "#00DDFF %02d: %s#\n#00DDFF Range: 0x%08X - 0x%08X#\n\n\n\n\n",
|
||||||
i, bootPart.name, bootPart.lba_start, bootPart.lba_end);
|
i, bootPart.name, bootPart.lba_start, bootPart.lba_end);
|
||||||
lv_label_set_array_text(gui->label_info, txt_buf, 0x1000);
|
lv_label_set_text(gui->label_info, txt_buf);
|
||||||
s_printf(txt_buf, "%02d: %s... ", i, bootPart.name);
|
s_printf(txt_buf, "%02d: %s... ", i, bootPart.name);
|
||||||
lv_label_ins_text(gui->label_log, LV_LABEL_POS_LAST, txt_buf);
|
lv_label_ins_text(gui->label_log, LV_LABEL_POS_LAST, txt_buf);
|
||||||
manual_system_maintenance(true);
|
manual_system_maintenance(true);
|
||||||
|
@ -1385,7 +1385,7 @@ void restore_emmc_selected(emmcPartType_t restoreType, emmc_tool_gui_t *gui)
|
||||||
{
|
{
|
||||||
s_printf(txt_buf, "#00DDFF %02d: %s#\n#00DDFF Range: 0x%08X - 0x%08X#\n\n\n\n\n",
|
s_printf(txt_buf, "#00DDFF %02d: %s#\n#00DDFF Range: 0x%08X - 0x%08X#\n\n\n\n\n",
|
||||||
i, part->name, part->lba_start, part->lba_end);
|
i, part->name, part->lba_start, part->lba_end);
|
||||||
lv_label_set_array_text(gui->label_info, txt_buf, 0x1000);
|
lv_label_set_text(gui->label_info, txt_buf);
|
||||||
s_printf(txt_buf, "%02d: %s... ", i, part->name);
|
s_printf(txt_buf, "%02d: %s... ", i, part->name);
|
||||||
lv_label_ins_text(gui->label_log, LV_LABEL_POS_LAST, txt_buf);
|
lv_label_ins_text(gui->label_log, LV_LABEL_POS_LAST, txt_buf);
|
||||||
manual_system_maintenance(true);
|
manual_system_maintenance(true);
|
||||||
|
@ -1418,7 +1418,7 @@ void restore_emmc_selected(emmcPartType_t restoreType, emmc_tool_gui_t *gui)
|
||||||
{
|
{
|
||||||
s_printf(txt_buf, "#00DDFF %02d: %s#\n#00DDFF Range: 0x%08X - 0x%08X#\n\n\n\n\n",
|
s_printf(txt_buf, "#00DDFF %02d: %s#\n#00DDFF Range: 0x%08X - 0x%08X#\n\n\n\n\n",
|
||||||
i, rawPart.name, rawPart.lba_start, rawPart.lba_end);
|
i, rawPart.name, rawPart.lba_start, rawPart.lba_end);
|
||||||
lv_label_set_array_text(gui->label_info, txt_buf, 0x1000);
|
lv_label_set_text(gui->label_info, txt_buf);
|
||||||
s_printf(txt_buf, "%02d: %s... ", i, rawPart.name);
|
s_printf(txt_buf, "%02d: %s... ", i, rawPart.name);
|
||||||
lv_label_ins_text(gui->label_log, LV_LABEL_POS_LAST, txt_buf);
|
lv_label_ins_text(gui->label_log, LV_LABEL_POS_LAST, txt_buf);
|
||||||
manual_system_maintenance(true);
|
manual_system_maintenance(true);
|
||||||
|
@ -1447,7 +1447,7 @@ void restore_emmc_selected(emmcPartType_t restoreType, emmc_tool_gui_t *gui)
|
||||||
else
|
else
|
||||||
s_printf(txt_buf, "Time taken: %dm %ds.", timer / 60, timer % 60);
|
s_printf(txt_buf, "Time taken: %dm %ds.", timer / 60, timer % 60);
|
||||||
|
|
||||||
lv_label_set_array_text(gui->label_finish, txt_buf, 0x1000);
|
lv_label_set_text(gui->label_finish, txt_buf);
|
||||||
|
|
||||||
out:
|
out:
|
||||||
free(txt_buf);
|
free(txt_buf);
|
||||||
|
|
|
@ -195,8 +195,8 @@ static int _dump_emummc_file_part(emmc_tool_gui_t *gui, char *sd_path, sdmmc_sto
|
||||||
|
|
||||||
// Create next part.
|
// Create next part.
|
||||||
s_printf(gui->txt_buf, "%s#", outFilename + strlen(gui->base_path));
|
s_printf(gui->txt_buf, "%s#", outFilename + strlen(gui->base_path));
|
||||||
lv_label_ins_text(gui->label_info, strlen(lv_label_get_text(gui->label_info)) - 3, gui->txt_buf);
|
|
||||||
lv_label_cut_text(gui->label_info, strlen(lv_label_get_text(gui->label_info)) - 3, 3);
|
lv_label_cut_text(gui->label_info, strlen(lv_label_get_text(gui->label_info)) - 3, 3);
|
||||||
|
lv_label_ins_text(gui->label_info, LV_LABEL_POS_LAST, gui->txt_buf);
|
||||||
manual_system_maintenance(true);
|
manual_system_maintenance(true);
|
||||||
|
|
||||||
res = f_open(&fp, outFilename, FA_CREATE_ALWAYS | FA_WRITE);
|
res = f_open(&fp, outFilename, FA_CREATE_ALWAYS | FA_WRITE);
|
||||||
|
@ -246,8 +246,13 @@ static int _dump_emummc_file_part(emmc_tool_gui_t *gui, char *sd_path, sdmmc_sto
|
||||||
manual_system_maintenance(true);
|
manual_system_maintenance(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
manual_system_maintenance(false);
|
||||||
|
|
||||||
res = f_write_fast(&fp, buf, NX_EMMC_BLOCKSIZE * num);
|
res = f_write_fast(&fp, buf, NX_EMMC_BLOCKSIZE * num);
|
||||||
|
|
||||||
|
manual_system_maintenance(false);
|
||||||
|
|
||||||
if (res)
|
if (res)
|
||||||
{
|
{
|
||||||
s_printf(gui->txt_buf, "\n#FF0000 Fatal error (%d) when writing to SD Card#\nPlease try again...\n", res);
|
s_printf(gui->txt_buf, "\n#FF0000 Fatal error (%d) when writing to SD Card#\nPlease try again...\n", res);
|
||||||
|
@ -265,7 +270,7 @@ static int _dump_emummc_file_part(emmc_tool_gui_t *gui, char *sd_path, sdmmc_sto
|
||||||
{
|
{
|
||||||
lv_bar_set_value(gui->bar, pct);
|
lv_bar_set_value(gui->bar, pct);
|
||||||
s_printf(gui->txt_buf, " "SYMBOL_DOT" %d%%", pct);
|
s_printf(gui->txt_buf, " "SYMBOL_DOT" %d%%", pct);
|
||||||
lv_label_set_array_text(gui->label_pct, gui->txt_buf, 32);
|
lv_label_set_text(gui->label_pct, gui->txt_buf);
|
||||||
manual_system_maintenance(true);
|
manual_system_maintenance(true);
|
||||||
|
|
||||||
prevPct = pct;
|
prevPct = pct;
|
||||||
|
@ -281,6 +286,8 @@ static int _dump_emummc_file_part(emmc_tool_gui_t *gui, char *sd_path, sdmmc_sto
|
||||||
f_sync(&fp);
|
f_sync(&fp);
|
||||||
bytesWritten = 0;
|
bytesWritten = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
manual_system_maintenance(false);
|
||||||
}
|
}
|
||||||
lv_bar_set_value(gui->bar, 100);
|
lv_bar_set_value(gui->bar, 100);
|
||||||
lv_label_set_text(gui->label_pct, " "SYMBOL_DOT" 100%");
|
lv_label_set_text(gui->label_pct, " "SYMBOL_DOT" 100%");
|
||||||
|
@ -301,13 +308,12 @@ void dump_emummc_file(emmc_tool_gui_t *gui)
|
||||||
|
|
||||||
char *txt_buf = (char *)malloc(0x1000);
|
char *txt_buf = (char *)malloc(0x1000);
|
||||||
gui->txt_buf = txt_buf;
|
gui->txt_buf = txt_buf;
|
||||||
|
|
||||||
s_printf(txt_buf, "");
|
s_printf(txt_buf, "");
|
||||||
lv_label_set_array_text(gui->label_log, txt_buf, 0x1000);
|
lv_label_set_text(gui->label_log, txt_buf);
|
||||||
|
|
||||||
manual_system_maintenance(true);
|
manual_system_maintenance(true);
|
||||||
|
|
||||||
sd_unmount(true);
|
|
||||||
|
|
||||||
if (!sd_mount())
|
if (!sd_mount())
|
||||||
{
|
{
|
||||||
lv_label_set_static_text(gui->label_info, "#FFDD00 Failed to init SD!#");
|
lv_label_set_static_text(gui->label_info, "#FFDD00 Failed to init SD!#");
|
||||||
|
@ -364,7 +370,7 @@ void dump_emummc_file(emmc_tool_gui_t *gui)
|
||||||
|
|
||||||
s_printf(txt_buf, "#00DDFF %02d: %s#\n#00DDFF Range: 0x%08X - 0x%08X#\n\n",
|
s_printf(txt_buf, "#00DDFF %02d: %s#\n#00DDFF Range: 0x%08X - 0x%08X#\n\n",
|
||||||
i, bootPart.name, bootPart.lba_start, bootPart.lba_end);
|
i, bootPart.name, bootPart.lba_start, bootPart.lba_end);
|
||||||
lv_label_set_array_text(gui->label_info, txt_buf, 0x1000);
|
lv_label_set_text(gui->label_info, txt_buf);
|
||||||
s_printf(txt_buf, "%02d: %s... ", i, bootPart.name);
|
s_printf(txt_buf, "%02d: %s... ", i, bootPart.name);
|
||||||
lv_label_ins_text(gui->label_log, LV_LABEL_POS_LAST, txt_buf);
|
lv_label_ins_text(gui->label_log, LV_LABEL_POS_LAST, txt_buf);
|
||||||
manual_system_maintenance(true);
|
manual_system_maintenance(true);
|
||||||
|
@ -402,7 +408,7 @@ void dump_emummc_file(emmc_tool_gui_t *gui)
|
||||||
{
|
{
|
||||||
s_printf(txt_buf, "#00DDFF %02d: %s#\n#00DDFF Range: 0x%08X - 0x%08X#\n\n",
|
s_printf(txt_buf, "#00DDFF %02d: %s#\n#00DDFF Range: 0x%08X - 0x%08X#\n\n",
|
||||||
i, rawPart.name, rawPart.lba_start, rawPart.lba_end);
|
i, rawPart.name, rawPart.lba_start, rawPart.lba_end);
|
||||||
lv_label_set_array_text(gui->label_info, txt_buf, 0x1000);
|
lv_label_set_text(gui->label_info, txt_buf);
|
||||||
s_printf(txt_buf, "%02d: %s... ", i, rawPart.name);
|
s_printf(txt_buf, "%02d: %s... ", i, rawPart.name);
|
||||||
lv_label_ins_text(gui->label_log, LV_LABEL_POS_LAST, txt_buf);
|
lv_label_ins_text(gui->label_log, LV_LABEL_POS_LAST, txt_buf);
|
||||||
manual_system_maintenance(true);
|
manual_system_maintenance(true);
|
||||||
|
@ -438,7 +444,7 @@ out_failed:
|
||||||
else
|
else
|
||||||
s_printf(txt_buf, "Time taken: %dm %ds.", timer / 60, timer % 60);
|
s_printf(txt_buf, "Time taken: %dm %ds.", timer / 60, timer % 60);
|
||||||
|
|
||||||
lv_label_set_array_text(gui->label_finish, txt_buf, 0x1000);
|
lv_label_set_text(gui->label_finish, txt_buf);
|
||||||
|
|
||||||
out:
|
out:
|
||||||
free(txt_buf);
|
free(txt_buf);
|
||||||
|
@ -507,6 +513,9 @@ static int _dump_emummc_raw_part(emmc_tool_gui_t *gui, int active_part, int part
|
||||||
manual_system_maintenance(true);
|
manual_system_maintenance(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
manual_system_maintenance(false);
|
||||||
|
|
||||||
retryCount = 0;
|
retryCount = 0;
|
||||||
|
|
||||||
// Write data to SD card.
|
// Write data to SD card.
|
||||||
|
@ -535,12 +544,15 @@ static int _dump_emummc_raw_part(emmc_tool_gui_t *gui, int active_part, int part
|
||||||
manual_system_maintenance(true);
|
manual_system_maintenance(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
manual_system_maintenance(false);
|
||||||
|
|
||||||
pct = (u64)((u64)(lba_curr - part->lba_start) * 100u) / (u64)(part->lba_end - part->lba_start);
|
pct = (u64)((u64)(lba_curr - part->lba_start) * 100u) / (u64)(part->lba_end - part->lba_start);
|
||||||
if (pct != prevPct)
|
if (pct != prevPct)
|
||||||
{
|
{
|
||||||
lv_bar_set_value(gui->bar, pct);
|
lv_bar_set_value(gui->bar, pct);
|
||||||
s_printf(gui->txt_buf, " "SYMBOL_DOT" %d%%", pct);
|
s_printf(gui->txt_buf, " "SYMBOL_DOT" %d%%", pct);
|
||||||
lv_label_set_array_text(gui->label_pct, gui->txt_buf, 32);
|
lv_label_set_text(gui->label_pct, gui->txt_buf);
|
||||||
manual_system_maintenance(true);
|
manual_system_maintenance(true);
|
||||||
|
|
||||||
prevPct = pct;
|
prevPct = pct;
|
||||||
|
@ -573,13 +585,12 @@ void dump_emummc_raw(emmc_tool_gui_t *gui, int part_idx, u32 sector_start)
|
||||||
|
|
||||||
char *txt_buf = (char *)malloc(0x1000);
|
char *txt_buf = (char *)malloc(0x1000);
|
||||||
gui->txt_buf = txt_buf;
|
gui->txt_buf = txt_buf;
|
||||||
|
|
||||||
s_printf(txt_buf, "");
|
s_printf(txt_buf, "");
|
||||||
lv_label_set_array_text(gui->label_log, txt_buf, 0x1000);
|
lv_label_set_text(gui->label_log, txt_buf);
|
||||||
|
|
||||||
manual_system_maintenance(true);
|
manual_system_maintenance(true);
|
||||||
|
|
||||||
sd_unmount(true);
|
|
||||||
|
|
||||||
if (!sd_mount())
|
if (!sd_mount())
|
||||||
{
|
{
|
||||||
lv_label_set_static_text(gui->label_info, "#FFDD00 Failed to init SD!#");
|
lv_label_set_static_text(gui->label_info, "#FFDD00 Failed to init SD!#");
|
||||||
|
@ -619,7 +630,7 @@ void dump_emummc_raw(emmc_tool_gui_t *gui, int part_idx, u32 sector_start)
|
||||||
|
|
||||||
s_printf(txt_buf, "#00DDFF %02d: %s#\n#00DDFF Range: 0x%08X - 0x%08X#\n\n",
|
s_printf(txt_buf, "#00DDFF %02d: %s#\n#00DDFF Range: 0x%08X - 0x%08X#\n\n",
|
||||||
i, bootPart.name, bootPart.lba_start, bootPart.lba_end);
|
i, bootPart.name, bootPart.lba_start, bootPart.lba_end);
|
||||||
lv_label_set_array_text(gui->label_info, txt_buf, 0x1000);
|
lv_label_set_text(gui->label_info, txt_buf);
|
||||||
s_printf(txt_buf, "%02d: %s... ", i, bootPart.name);
|
s_printf(txt_buf, "%02d: %s... ", i, bootPart.name);
|
||||||
lv_label_ins_text(gui->label_log, LV_LABEL_POS_LAST, txt_buf);
|
lv_label_ins_text(gui->label_log, LV_LABEL_POS_LAST, txt_buf);
|
||||||
manual_system_maintenance(true);
|
manual_system_maintenance(true);
|
||||||
|
@ -656,7 +667,7 @@ void dump_emummc_raw(emmc_tool_gui_t *gui, int part_idx, u32 sector_start)
|
||||||
{
|
{
|
||||||
s_printf(txt_buf, "#00DDFF %02d: %s#\n#00DDFF Range: 0x%08X - 0x%08X#\n\n",
|
s_printf(txt_buf, "#00DDFF %02d: %s#\n#00DDFF Range: 0x%08X - 0x%08X#\n\n",
|
||||||
i, rawPart.name, rawPart.lba_start, rawPart.lba_end);
|
i, rawPart.name, rawPart.lba_start, rawPart.lba_end);
|
||||||
lv_label_set_array_text(gui->label_info, txt_buf, 0x1000);
|
lv_label_set_text(gui->label_info, txt_buf);
|
||||||
s_printf(txt_buf, "%02d: %s... ", i, rawPart.name);
|
s_printf(txt_buf, "%02d: %s... ", i, rawPart.name);
|
||||||
lv_label_ins_text(gui->label_log, LV_LABEL_POS_LAST, txt_buf);
|
lv_label_ins_text(gui->label_log, LV_LABEL_POS_LAST, txt_buf);
|
||||||
manual_system_maintenance(true);
|
manual_system_maintenance(true);
|
||||||
|
@ -692,7 +703,7 @@ out_failed:
|
||||||
else
|
else
|
||||||
s_printf(txt_buf, "Time taken: %dm %ds.", timer / 60, timer % 60);
|
s_printf(txt_buf, "Time taken: %dm %ds.", timer / 60, timer % 60);
|
||||||
|
|
||||||
lv_label_set_array_text(gui->label_finish, txt_buf, 0x1000);
|
lv_label_set_text(gui->label_finish, txt_buf);
|
||||||
|
|
||||||
out:
|
out:
|
||||||
free(txt_buf);
|
free(txt_buf);
|
||||||
|
|
|
@ -342,12 +342,12 @@ lv_res_t nyx_generic_onoff_toggle(lv_obj_t *btn)
|
||||||
if (!(lv_btn_get_state(btn) & LV_BTN_STATE_TGL_REL))
|
if (!(lv_btn_get_state(btn) & LV_BTN_STATE_TGL_REL))
|
||||||
{
|
{
|
||||||
strcat(label_text, "#D0D0D0 OFF#");
|
strcat(label_text, "#D0D0D0 OFF#");
|
||||||
lv_label_set_array_text(label_btn, label_text, 64);
|
lv_label_set_text(label_btn, label_text);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
strcat(label_text, "#00FFC9 ON #");
|
strcat(label_text, "#00FFC9 ON #");
|
||||||
lv_label_set_array_text(label_btn, label_text, 64);
|
lv_label_set_text(label_btn, label_text);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -796,7 +796,7 @@ static void _update_status_bar(void *params)
|
||||||
s_printf(label, "%02d:%02d "SYMBOL_DOT" "SYMBOL_TEMPERATURE" %02d.%d",
|
s_printf(label, "%02d:%02d "SYMBOL_DOT" "SYMBOL_TEMPERATURE" %02d.%d",
|
||||||
time.hour, time.min, soc_temp_dec, (soc_temp & 0xFF) / 10);
|
time.hour, time.min, soc_temp_dec, (soc_temp & 0xFF) / 10);
|
||||||
|
|
||||||
lv_label_set_array_text(status_bar.time_temp, label, 64);
|
lv_label_set_text(status_bar.time_temp, label);
|
||||||
|
|
||||||
lv_obj_realign(status_bar.temp_symbol);
|
lv_obj_realign(status_bar.temp_symbol);
|
||||||
lv_obj_realign(status_bar.temp_degrees);
|
lv_obj_realign(status_bar.temp_degrees);
|
||||||
|
@ -819,7 +819,7 @@ static void _update_status_bar(void *params)
|
||||||
if (charge_status)
|
if (charge_status)
|
||||||
s_printf(label + strlen(label), " #FFDD00 "SYMBOL_CHARGE"#");
|
s_printf(label + strlen(label), " #FFDD00 "SYMBOL_CHARGE"#");
|
||||||
|
|
||||||
lv_label_set_array_text(status_bar.battery, label, 64);
|
lv_label_set_text(status_bar.battery, label);
|
||||||
lv_obj_realign(status_bar.battery);
|
lv_obj_realign(status_bar.battery);
|
||||||
|
|
||||||
// Set battery current draw and voltage.
|
// Set battery current draw and voltage.
|
||||||
|
@ -832,7 +832,7 @@ static void _update_status_bar(void *params)
|
||||||
s_printf(label + strlen(label), " mA# (%s%d mV%s)",
|
s_printf(label + strlen(label), " mA# (%s%d mV%s)",
|
||||||
voltage_empty ? "#FF8000 " : "", batt_volt, voltage_empty ? " "SYMBOL_WARNING"#" : "");
|
voltage_empty ? "#FF8000 " : "", batt_volt, voltage_empty ? " "SYMBOL_WARNING"#" : "");
|
||||||
|
|
||||||
lv_label_set_array_text(status_bar.battery_more, label, 64);
|
lv_label_set_text(status_bar.battery_more, label);
|
||||||
lv_obj_realign(status_bar.battery_more);
|
lv_obj_realign(status_bar.battery_more);
|
||||||
|
|
||||||
free(label);
|
free(label);
|
||||||
|
@ -971,12 +971,12 @@ static lv_res_t logs_onoff_toggle(lv_obj_t *btn)
|
||||||
if (!launch_logs_enable)
|
if (!launch_logs_enable)
|
||||||
{
|
{
|
||||||
strcat(label_text, "#D0D0D0 OFF#");
|
strcat(label_text, "#D0D0D0 OFF#");
|
||||||
lv_label_set_array_text(label_btn, label_text, 64);
|
lv_label_set_text(label_btn, label_text);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
strcat(label_text, "#00FFC9 ON #");
|
strcat(label_text, "#00FFC9 ON #");
|
||||||
lv_label_set_array_text(label_btn, label_text, 64);
|
lv_label_set_text(label_btn, label_text);
|
||||||
}
|
}
|
||||||
|
|
||||||
return LV_RES_OK;
|
return LV_RES_OK;
|
||||||
|
@ -1170,7 +1170,7 @@ static lv_res_t _create_window_home_launch(lv_obj_t *btn)
|
||||||
lv_btn_set_action(btn, LV_BTN_ACTION_CLICK, _launch_more_cfg_action);
|
lv_btn_set_action(btn, LV_BTN_ACTION_CLICK, _launch_more_cfg_action);
|
||||||
|
|
||||||
// Set button's label text.
|
// Set button's label text.
|
||||||
lv_label_set_array_text(launch_ctxt[x + 1], ini_sec->name, strlen(ini_sec->name));
|
lv_label_set_text(launch_ctxt[x + 1], ini_sec->name);
|
||||||
lv_obj_set_opa_scale(launch_ctxt[x + 1], LV_OPA_COVER);
|
lv_obj_set_opa_scale(launch_ctxt[x + 1], LV_OPA_COVER);
|
||||||
|
|
||||||
// Set rolling text if name is big.
|
// Set rolling text if name is big.
|
||||||
|
|
|
@ -877,7 +877,7 @@ out0:;
|
||||||
if (emummc_img->part_type[raw_btn_idx] != 0x83)
|
if (emummc_img->part_type[raw_btn_idx] != 0x83)
|
||||||
{
|
{
|
||||||
s_printf(txt_buf, "SD RAW %d", raw_btn_idx + 1);
|
s_printf(txt_buf, "SD RAW %d", raw_btn_idx + 1);
|
||||||
lv_label_set_array_text(btn_label, txt_buf, 32);
|
lv_label_set_text(btn_label, txt_buf);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!emummc_img->part_sector[raw_btn_idx] || emummc_img->part_type[raw_btn_idx] == 0x83 || !emummc_img->part_path[raw_btn_idx * 128])
|
if (!emummc_img->part_sector[raw_btn_idx] || emummc_img->part_type[raw_btn_idx] == 0x83 || !emummc_img->part_path[raw_btn_idx * 128])
|
||||||
|
@ -905,7 +905,7 @@ out0:;
|
||||||
lv_obj_set_style(lv_desc, &hint_small_style);
|
lv_obj_set_style(lv_desc, &hint_small_style);
|
||||||
|
|
||||||
s_printf(txt_buf, "Sector start: 0x%08X\nFolder: %s", emummc_img->part_sector[raw_btn_idx], &emummc_img->part_path[raw_btn_idx * 128]);
|
s_printf(txt_buf, "Sector start: 0x%08X\nFolder: %s", emummc_img->part_sector[raw_btn_idx], &emummc_img->part_path[raw_btn_idx * 128]);
|
||||||
lv_label_set_array_text(lv_desc, txt_buf, 0x500);
|
lv_label_set_text(lv_desc, txt_buf);
|
||||||
lv_obj_align(lv_desc, btn, LV_ALIGN_OUT_BOTTOM_LEFT, 0, LV_DPI / 5);
|
lv_obj_align(lv_desc, btn, LV_ALIGN_OUT_BOTTOM_LEFT, 0, LV_DPI / 5);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1059,7 +1059,7 @@ lv_res_t create_win_emummc_tools(lv_obj_t *btn)
|
||||||
s_printf(txt_buf, "#00DDFF Type:# SD File\n#00DDFF Base folder:# %s\n#00DDFF Nintendo folder:# %s",
|
s_printf(txt_buf, "#00DDFF Type:# SD File\n#00DDFF Base folder:# %s\n#00DDFF Nintendo folder:# %s",
|
||||||
emu_info.path ? emu_info.path : "", emu_info.nintendo_path ? emu_info.nintendo_path : "");
|
emu_info.path ? emu_info.path : "", emu_info.nintendo_path ? emu_info.nintendo_path : "");
|
||||||
|
|
||||||
lv_label_set_array_text(label_txt2, txt_buf, 0x200);
|
lv_label_set_text(label_txt2, txt_buf);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
@ -337,7 +337,7 @@ static lv_res_t _create_window_fuses_info_status(lv_obj_t *btn)
|
||||||
FUSE(FUSE_OPT_VENDOR_CODE), FUSE(FUSE_OPT_FAB_CODE), lot_bin, FUSE(FUSE_OPT_LOT_CODE_0),
|
FUSE(FUSE_OPT_VENDOR_CODE), FUSE(FUSE_OPT_FAB_CODE), lot_bin, FUSE(FUSE_OPT_LOT_CODE_0),
|
||||||
FUSE(FUSE_OPT_LOT_CODE_1), FUSE(FUSE_OPT_WAFER_ID), FUSE(FUSE_OPT_X_COORDINATE), FUSE(FUSE_OPT_Y_COORDINATE));
|
FUSE(FUSE_OPT_LOT_CODE_1), FUSE(FUSE_OPT_WAFER_ID), FUSE(FUSE_OPT_X_COORDINATE), FUSE(FUSE_OPT_Y_COORDINATE));
|
||||||
|
|
||||||
lv_label_set_array_text(lb_val, txt_buf, 0x1000);
|
lv_label_set_text(lb_val, txt_buf);
|
||||||
|
|
||||||
free(txt_buf);
|
free(txt_buf);
|
||||||
|
|
||||||
|
@ -402,7 +402,7 @@ static lv_res_t _create_window_bootrom_info_status(lv_obj_t *btn)
|
||||||
if (res != 0)
|
if (res != 0)
|
||||||
s_printf(txt_buf + strlen(txt_buf), "#FFDD00 Failed to read ipatches. Error: %d#", res);
|
s_printf(txt_buf + strlen(txt_buf), "#FFDD00 Failed to read ipatches. Error: %d#", res);
|
||||||
|
|
||||||
lv_label_set_array_text(lb_desc, txt_buf, 0x1000);
|
lv_label_set_text(lb_desc, txt_buf);
|
||||||
|
|
||||||
free(txt_buf);
|
free(txt_buf);
|
||||||
|
|
||||||
|
@ -450,12 +450,12 @@ static lv_res_t _create_window_tsec_keys_status(lv_obj_t *btn)
|
||||||
if (!pkg1_id)
|
if (!pkg1_id)
|
||||||
{
|
{
|
||||||
s_printf(txt_buf + strlen(txt_buf), "#FFDD00 Unknown pkg1 version for reading#\n#FFDD00 TSEC firmware!#");
|
s_printf(txt_buf + strlen(txt_buf), "#FFDD00 Unknown pkg1 version for reading#\n#FFDD00 TSEC firmware!#");
|
||||||
lv_label_set_array_text(lb_desc, txt_buf, 0x500);
|
lv_label_set_text(lb_desc, txt_buf);
|
||||||
lv_obj_set_width(lb_desc, lv_obj_get_width(desc));
|
lv_obj_set_width(lb_desc, lv_obj_get_width(desc));
|
||||||
|
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
lv_label_set_array_text(lb_desc, txt_buf, 0x500);
|
lv_label_set_text(lb_desc, txt_buf);
|
||||||
lv_obj_set_width(lb_desc, lv_obj_get_width(desc));
|
lv_obj_set_width(lb_desc, lv_obj_get_width(desc));
|
||||||
|
|
||||||
lv_obj_t *val = lv_cont_create(win, NULL);
|
lv_obj_t *val = lv_cont_create(win, NULL);
|
||||||
|
@ -528,9 +528,9 @@ static lv_res_t _create_window_tsec_keys_status(lv_obj_t *btn)
|
||||||
s_printf(txt_buf2, "Error: %x", res);
|
s_printf(txt_buf2, "Error: %x", res);
|
||||||
}
|
}
|
||||||
|
|
||||||
lv_label_set_array_text(lb_desc, txt_buf, 0x500);
|
lv_label_set_text(lb_desc, txt_buf);
|
||||||
|
|
||||||
lv_label_set_array_text(lb_val, txt_buf2, 0x500);
|
lv_label_set_text(lb_val, txt_buf2);
|
||||||
|
|
||||||
out:
|
out:
|
||||||
free(pkg1);
|
free(pkg1);
|
||||||
|
@ -634,7 +634,7 @@ static lv_res_t _create_window_emmc_info_status(lv_obj_t *btn)
|
||||||
|
|
||||||
lv_obj_t * lb_val = lv_label_create(val, lb_desc);
|
lv_obj_t * lb_val = lv_label_create(val, lb_desc);
|
||||||
|
|
||||||
lv_label_set_array_text(lb_val, txt_buf, 0x1000);
|
lv_label_set_text(lb_val, txt_buf);
|
||||||
|
|
||||||
lv_obj_set_width(lb_val, lv_obj_get_width(val));
|
lv_obj_set_width(lb_val, lv_obj_get_width(val));
|
||||||
lv_obj_align(val, desc, LV_ALIGN_OUT_RIGHT_MID, 0, 0);
|
lv_obj_align(val, desc, LV_ALIGN_OUT_RIGHT_MID, 0, 0);
|
||||||
|
@ -679,7 +679,7 @@ static lv_res_t _create_window_emmc_info_status(lv_obj_t *btn)
|
||||||
}
|
}
|
||||||
nx_emmc_gpt_free(&gpt);
|
nx_emmc_gpt_free(&gpt);
|
||||||
|
|
||||||
lv_label_set_array_text(lb_desc2, txt_buf, 0x1000);
|
lv_label_set_text(lb_desc2, txt_buf);
|
||||||
lv_obj_set_width(lb_desc2, lv_obj_get_width(desc2));
|
lv_obj_set_width(lb_desc2, lv_obj_get_width(desc2));
|
||||||
lv_obj_align(desc2, val, LV_ALIGN_OUT_RIGHT_MID, LV_DPI / 6, 0);
|
lv_obj_align(desc2, val, LV_ALIGN_OUT_RIGHT_MID, LV_DPI / 6, 0);
|
||||||
}
|
}
|
||||||
|
@ -738,7 +738,7 @@ static lv_res_t _create_window_sdcard_info_status(lv_obj_t *btn)
|
||||||
sd_storage.cid.hwrev, sd_storage.cid.fwrev, sd_storage.cid.serial,
|
sd_storage.cid.hwrev, sd_storage.cid.fwrev, sd_storage.cid.serial,
|
||||||
sd_storage.cid.month, sd_storage.cid.year);
|
sd_storage.cid.month, sd_storage.cid.year);
|
||||||
|
|
||||||
lv_label_set_array_text(lb_val, txt_buf, 0x1000);
|
lv_label_set_text(lb_val, txt_buf);
|
||||||
|
|
||||||
lv_obj_set_width(lb_val, lv_obj_get_width(val));
|
lv_obj_set_width(lb_val, lv_obj_get_width(val));
|
||||||
lv_obj_align(val, desc, LV_ALIGN_OUT_RIGHT_MID, 0, 0);
|
lv_obj_align(val, desc, LV_ALIGN_OUT_RIGHT_MID, 0, 0);
|
||||||
|
@ -777,7 +777,7 @@ static lv_res_t _create_window_sdcard_info_status(lv_obj_t *btn)
|
||||||
sd_storage.ssr.speed_class, sd_storage.ssr.uhs_grade, sd_storage.ssr.video_class,
|
sd_storage.ssr.speed_class, sd_storage.ssr.uhs_grade, sd_storage.ssr.video_class,
|
||||||
sd_storage.ssr.app_class, sd_storage.csd.write_protect);
|
sd_storage.ssr.app_class, sd_storage.csd.write_protect);
|
||||||
|
|
||||||
lv_label_set_array_text(lb_val2, txt_buf, 0x1000);
|
lv_label_set_text(lb_val2, txt_buf);
|
||||||
|
|
||||||
lv_obj_set_width(lb_val2, lv_obj_get_width(val2));
|
lv_obj_set_width(lb_val2, lv_obj_get_width(val2));
|
||||||
lv_obj_align(val2, desc2, LV_ALIGN_OUT_RIGHT_MID, 0, 0);
|
lv_obj_align(val2, desc2, LV_ALIGN_OUT_RIGHT_MID, 0, 0);
|
||||||
|
@ -822,7 +822,7 @@ static lv_res_t _create_window_sdcard_info_status(lv_obj_t *btn)
|
||||||
(sd_fs.csize > 1) ? (sd_fs.csize >> 1) : 512,
|
(sd_fs.csize > 1) ? (sd_fs.csize >> 1) : 512,
|
||||||
sd_fs.free_clst * sd_fs.csize >> SECTORS_TO_MIB_COEFF);
|
sd_fs.free_clst * sd_fs.csize >> SECTORS_TO_MIB_COEFF);
|
||||||
|
|
||||||
lv_label_set_array_text(lb_val3, txt_buf, 0x1000);
|
lv_label_set_text(lb_val3, txt_buf);
|
||||||
|
|
||||||
lv_obj_set_width(lb_val3, lv_obj_get_width(val3));
|
lv_obj_set_width(lb_val3, lv_obj_get_width(val3));
|
||||||
lv_obj_align(val3, desc3, LV_ALIGN_OUT_RIGHT_MID, 0, 0);
|
lv_obj_align(val3, desc3, LV_ALIGN_OUT_RIGHT_MID, 0, 0);
|
||||||
|
@ -920,7 +920,7 @@ static lv_res_t _create_window_battery_status(lv_obj_t *btn)
|
||||||
else
|
else
|
||||||
s_printf(txt_buf + strlen(txt_buf), "-%d.%d oC\n", (~value + 1) / 10, (~value + 1) % 10);
|
s_printf(txt_buf + strlen(txt_buf), "-%d.%d oC\n", (~value + 1) / 10, (~value + 1) % 10);
|
||||||
|
|
||||||
lv_label_set_array_text(lb_val, txt_buf, 0x1000);
|
lv_label_set_text(lb_val, txt_buf);
|
||||||
|
|
||||||
lv_obj_set_width(lb_val, lv_obj_get_width(val));
|
lv_obj_set_width(lb_val, lv_obj_get_width(val));
|
||||||
lv_obj_align(val, desc, LV_ALIGN_OUT_RIGHT_MID, 0, 0);
|
lv_obj_align(val, desc, LV_ALIGN_OUT_RIGHT_MID, 0, 0);
|
||||||
|
@ -1006,7 +1006,7 @@ static lv_res_t _create_window_battery_status(lv_obj_t *btn)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
lv_label_set_array_text(lb_val2, txt_buf, 0x1000);
|
lv_label_set_text(lb_val2, txt_buf);
|
||||||
|
|
||||||
lv_obj_set_width(lb_val2, lv_obj_get_width(val2));
|
lv_obj_set_width(lb_val2, lv_obj_get_width(val2));
|
||||||
lv_obj_align(val2, desc2, LV_ALIGN_OUT_RIGHT_MID, 0, 0);
|
lv_obj_align(val2, desc2, LV_ALIGN_OUT_RIGHT_MID, 0, 0);
|
||||||
|
|
|
@ -190,7 +190,7 @@ static int _fix_attributes(u32 *ufidx, lv_obj_t *lb_val, char *path, u32 *total,
|
||||||
f_chmod(path, 0, AM_ARC);
|
f_chmod(path, 0, AM_ARC);
|
||||||
|
|
||||||
if (*ufidx == 0)
|
if (*ufidx == 0)
|
||||||
lv_label_set_array_text(lb_val, path, 256);
|
lv_label_set_text(lb_val, path);
|
||||||
*ufidx += 1;
|
*ufidx += 1;
|
||||||
if (*ufidx > 9)
|
if (*ufidx > 9)
|
||||||
*ufidx = 0;
|
*ufidx = 0;
|
||||||
|
@ -207,7 +207,7 @@ static int _fix_attributes(u32 *ufidx, lv_obj_t *lb_val, char *path, u32 *total,
|
||||||
*total = *total + 1;
|
*total = *total + 1;
|
||||||
f_chmod(path, AM_ARC, AM_ARC);
|
f_chmod(path, AM_ARC, AM_ARC);
|
||||||
}
|
}
|
||||||
lv_label_set_array_text(lb_val, path, 256);
|
lv_label_set_text(lb_val, path);
|
||||||
manual_system_maintenance(true);
|
manual_system_maintenance(true);
|
||||||
|
|
||||||
// Enter the directory.
|
// Enter the directory.
|
||||||
|
@ -299,7 +299,7 @@ static lv_res_t _create_window_unset_abit_tool(lv_obj_t *btn)
|
||||||
|
|
||||||
s_printf(txt_buf, "#96FF00 Total archive bits fixed:# #FF8000 %d!#", total);
|
s_printf(txt_buf, "#96FF00 Total archive bits fixed:# #FF8000 %d!#", total);
|
||||||
|
|
||||||
lv_label_set_array_text(lb_desc2, txt_buf, 0x500);
|
lv_label_set_text(lb_desc2, txt_buf);
|
||||||
lv_obj_set_width(lb_desc2, lv_obj_get_width(desc2));
|
lv_obj_set_width(lb_desc2, lv_obj_get_width(desc2));
|
||||||
lv_obj_align(desc2, val, LV_ALIGN_OUT_BOTTOM_RIGHT, 0, 0);
|
lv_obj_align(desc2, val, LV_ALIGN_OUT_BOTTOM_RIGHT, 0, 0);
|
||||||
}
|
}
|
||||||
|
@ -366,7 +366,7 @@ static lv_res_t _create_window_dump_pk12_tool(lv_obj_t *btn)
|
||||||
|
|
||||||
s_printf(txt_buf, "#00DDFF Found pkg1 ('%s')#\n\n", build_date);
|
s_printf(txt_buf, "#00DDFF Found pkg1 ('%s')#\n\n", build_date);
|
||||||
free(build_date);
|
free(build_date);
|
||||||
lv_label_set_array_text(lb_desc, txt_buf, 0x1000);
|
lv_label_set_text(lb_desc, txt_buf);
|
||||||
manual_system_maintenance(true);
|
manual_system_maintenance(true);
|
||||||
|
|
||||||
// Dump package1 in its encrypted state if unknown.
|
// Dump package1 in its encrypted state if unknown.
|
||||||
|
@ -374,7 +374,7 @@ static lv_res_t _create_window_dump_pk12_tool(lv_obj_t *btn)
|
||||||
{
|
{
|
||||||
s_printf(txt_buf + strlen(txt_buf),
|
s_printf(txt_buf + strlen(txt_buf),
|
||||||
"#FFDD00 Unknown pkg1 version for reading#\n#FFDD00 TSEC firmware!#");
|
"#FFDD00 Unknown pkg1 version for reading#\n#FFDD00 TSEC firmware!#");
|
||||||
lv_label_set_array_text(lb_desc, txt_buf, 0x1000);
|
lv_label_set_text(lb_desc, txt_buf);
|
||||||
manual_system_maintenance(true);
|
manual_system_maintenance(true);
|
||||||
|
|
||||||
emmcsn_path_impl(path, "/pkg1", "pkg1_enc.bin", &storage);
|
emmcsn_path_impl(path, "/pkg1", "pkg1_enc.bin", &storage);
|
||||||
|
@ -382,7 +382,7 @@ static lv_res_t _create_window_dump_pk12_tool(lv_obj_t *btn)
|
||||||
goto out_free;
|
goto out_free;
|
||||||
|
|
||||||
s_printf(txt_buf + strlen(txt_buf), "\nEncrypted pkg1 dumped to pkg1_enc.bin");
|
s_printf(txt_buf + strlen(txt_buf), "\nEncrypted pkg1 dumped to pkg1_enc.bin");
|
||||||
lv_label_set_array_text(lb_desc, txt_buf, 0x1000);
|
lv_label_set_text(lb_desc, txt_buf);
|
||||||
manual_system_maintenance(true);
|
manual_system_maintenance(true);
|
||||||
|
|
||||||
goto out_free;
|
goto out_free;
|
||||||
|
@ -438,7 +438,7 @@ static lv_res_t _create_window_dump_pk12_tool(lv_obj_t *btn)
|
||||||
"#C7EA46 Warmboot size: #0x%05X\n\n",
|
"#C7EA46 Warmboot size: #0x%05X\n\n",
|
||||||
hdr->ldr_size, pkg1_id->secmon_base, hdr->sm_size, pkg1_id->warmboot_base, hdr->wb_size);
|
hdr->ldr_size, pkg1_id->secmon_base, hdr->sm_size, pkg1_id->warmboot_base, hdr->wb_size);
|
||||||
|
|
||||||
lv_label_set_array_text(lb_desc, txt_buf, 0x1000);
|
lv_label_set_text(lb_desc, txt_buf);
|
||||||
manual_system_maintenance(true);
|
manual_system_maintenance(true);
|
||||||
|
|
||||||
// Dump package1.1.
|
// Dump package1.1.
|
||||||
|
@ -446,7 +446,7 @@ static lv_res_t _create_window_dump_pk12_tool(lv_obj_t *btn)
|
||||||
if (sd_save_to_file(pkg1, 0x40000, path))
|
if (sd_save_to_file(pkg1, 0x40000, path))
|
||||||
goto out_free;
|
goto out_free;
|
||||||
s_printf(txt_buf + strlen(txt_buf), "pkg1 dumped to pkg1_decr.bin\n");
|
s_printf(txt_buf + strlen(txt_buf), "pkg1 dumped to pkg1_decr.bin\n");
|
||||||
lv_label_set_array_text(lb_desc, txt_buf, 0x1000);
|
lv_label_set_text(lb_desc, txt_buf);
|
||||||
manual_system_maintenance(true);
|
manual_system_maintenance(true);
|
||||||
|
|
||||||
// Dump nxbootloader.
|
// Dump nxbootloader.
|
||||||
|
@ -454,7 +454,7 @@ static lv_res_t _create_window_dump_pk12_tool(lv_obj_t *btn)
|
||||||
if (sd_save_to_file(loader, hdr->ldr_size, path))
|
if (sd_save_to_file(loader, hdr->ldr_size, path))
|
||||||
goto out_free;
|
goto out_free;
|
||||||
s_printf(txt_buf + strlen(txt_buf), "NX Bootloader dumped to nxloader.bin\n");
|
s_printf(txt_buf + strlen(txt_buf), "NX Bootloader dumped to nxloader.bin\n");
|
||||||
lv_label_set_array_text(lb_desc, txt_buf, 0x1000);
|
lv_label_set_text(lb_desc, txt_buf);
|
||||||
manual_system_maintenance(true);
|
manual_system_maintenance(true);
|
||||||
|
|
||||||
// Dump secmon.
|
// Dump secmon.
|
||||||
|
@ -462,7 +462,7 @@ static lv_res_t _create_window_dump_pk12_tool(lv_obj_t *btn)
|
||||||
if (sd_save_to_file(secmon, hdr->sm_size, path))
|
if (sd_save_to_file(secmon, hdr->sm_size, path))
|
||||||
goto out_free;
|
goto out_free;
|
||||||
s_printf(txt_buf + strlen(txt_buf), "Secure Monitor dumped to secmon.bin\n");
|
s_printf(txt_buf + strlen(txt_buf), "Secure Monitor dumped to secmon.bin\n");
|
||||||
lv_label_set_array_text(lb_desc, txt_buf, 0x1000);
|
lv_label_set_text(lb_desc, txt_buf);
|
||||||
manual_system_maintenance(true);
|
manual_system_maintenance(true);
|
||||||
|
|
||||||
// Dump warmboot.
|
// Dump warmboot.
|
||||||
|
@ -470,7 +470,7 @@ static lv_res_t _create_window_dump_pk12_tool(lv_obj_t *btn)
|
||||||
if (sd_save_to_file(warmboot, hdr->wb_size, path))
|
if (sd_save_to_file(warmboot, hdr->wb_size, path))
|
||||||
goto out_free;
|
goto out_free;
|
||||||
s_printf(txt_buf + strlen(txt_buf), "Warmboot dumped to warmboot.bin\n\n");
|
s_printf(txt_buf + strlen(txt_buf), "Warmboot dumped to warmboot.bin\n\n");
|
||||||
lv_label_set_array_text(lb_desc, txt_buf, 0x1000);
|
lv_label_set_text(lb_desc, txt_buf);
|
||||||
manual_system_maintenance(true);
|
manual_system_maintenance(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -507,7 +507,7 @@ static lv_res_t _create_window_dump_pk12_tool(lv_obj_t *btn)
|
||||||
if (!pkg2_hdr)
|
if (!pkg2_hdr)
|
||||||
{
|
{
|
||||||
s_printf(txt_buf + strlen(txt_buf), "#FFDD00 Pkg2 decryption failed!#");
|
s_printf(txt_buf + strlen(txt_buf), "#FFDD00 Pkg2 decryption failed!#");
|
||||||
lv_label_set_array_text(lb_desc, txt_buf, 0x1000);
|
lv_label_set_text(lb_desc, txt_buf);
|
||||||
manual_system_maintenance(true);
|
manual_system_maintenance(true);
|
||||||
|
|
||||||
goto out;
|
goto out;
|
||||||
|
@ -519,7 +519,7 @@ static lv_res_t _create_window_dump_pk12_tool(lv_obj_t *btn)
|
||||||
"#C7EA46 INI1 size: #0x%05X\n\n",
|
"#C7EA46 INI1 size: #0x%05X\n\n",
|
||||||
pkg2_hdr->sec_size[PKG2_SEC_KERNEL], pkg2_hdr->sec_size[PKG2_SEC_INI1]);
|
pkg2_hdr->sec_size[PKG2_SEC_KERNEL], pkg2_hdr->sec_size[PKG2_SEC_INI1]);
|
||||||
|
|
||||||
lv_label_set_array_text(lb_desc, txt_buf, 0x1000);
|
lv_label_set_text(lb_desc, txt_buf);
|
||||||
manual_system_maintenance(true);
|
manual_system_maintenance(true);
|
||||||
|
|
||||||
// Dump pkg2.1.
|
// Dump pkg2.1.
|
||||||
|
@ -527,7 +527,7 @@ static lv_res_t _create_window_dump_pk12_tool(lv_obj_t *btn)
|
||||||
if (sd_save_to_file(pkg2, pkg2_hdr->sec_size[PKG2_SEC_KERNEL] + pkg2_hdr->sec_size[PKG2_SEC_INI1], path))
|
if (sd_save_to_file(pkg2, pkg2_hdr->sec_size[PKG2_SEC_KERNEL] + pkg2_hdr->sec_size[PKG2_SEC_INI1], path))
|
||||||
goto out;
|
goto out;
|
||||||
s_printf(txt_buf + strlen(txt_buf), "pkg2 dumped to pkg2_decr.bin\n");
|
s_printf(txt_buf + strlen(txt_buf), "pkg2 dumped to pkg2_decr.bin\n");
|
||||||
lv_label_set_array_text(lb_desc, txt_buf, 0x1000);
|
lv_label_set_text(lb_desc, txt_buf);
|
||||||
manual_system_maintenance(true);
|
manual_system_maintenance(true);
|
||||||
|
|
||||||
// Dump kernel.
|
// Dump kernel.
|
||||||
|
@ -535,7 +535,7 @@ static lv_res_t _create_window_dump_pk12_tool(lv_obj_t *btn)
|
||||||
if (sd_save_to_file(pkg2_hdr->data, pkg2_hdr->sec_size[PKG2_SEC_KERNEL], path))
|
if (sd_save_to_file(pkg2_hdr->data, pkg2_hdr->sec_size[PKG2_SEC_KERNEL], path))
|
||||||
goto out;
|
goto out;
|
||||||
s_printf(txt_buf + strlen(txt_buf), "Kernel dumped to kernel.bin\n");
|
s_printf(txt_buf + strlen(txt_buf), "Kernel dumped to kernel.bin\n");
|
||||||
lv_label_set_array_text(lb_desc, txt_buf, 0x1000);
|
lv_label_set_text(lb_desc, txt_buf);
|
||||||
manual_system_maintenance(true);
|
manual_system_maintenance(true);
|
||||||
|
|
||||||
// Dump INI1.
|
// Dump INI1.
|
||||||
|
@ -553,7 +553,7 @@ static lv_res_t _create_window_dump_pk12_tool(lv_obj_t *btn)
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
s_printf(txt_buf + strlen(txt_buf), "INI1 dumped to ini1.bin\n\n");
|
s_printf(txt_buf + strlen(txt_buf), "INI1 dumped to ini1.bin\n\n");
|
||||||
lv_label_set_array_text(lb_desc, txt_buf, 0x1000);
|
lv_label_set_text(lb_desc, txt_buf);
|
||||||
manual_system_maintenance(true);
|
manual_system_maintenance(true);
|
||||||
|
|
||||||
char filename[32];
|
char filename[32];
|
||||||
|
@ -583,7 +583,7 @@ static lv_res_t _create_window_dump_pk12_tool(lv_obj_t *btn)
|
||||||
}
|
}
|
||||||
|
|
||||||
s_printf(txt_buf + strlen(txt_buf), "%s kip dumped to %s.kip1\n", kip1->name, kip1->name);
|
s_printf(txt_buf + strlen(txt_buf), "%s kip dumped to %s.kip1\n", kip1->name, kip1->name);
|
||||||
lv_label_set_array_text(lb_desc, txt_buf, 0x1000);
|
lv_label_set_text(lb_desc, txt_buf);
|
||||||
manual_system_maintenance(true);
|
manual_system_maintenance(true);
|
||||||
|
|
||||||
ptr += kip1_size;
|
ptr += kip1_size;
|
||||||
|
@ -852,7 +852,7 @@ static void _create_tab_tools_arc_autorcm(lv_theme_t *th, lv_obj_t *parent)
|
||||||
|
|
||||||
lv_obj_t *label_txt4 = lv_label_create(h2, NULL);
|
lv_obj_t *label_txt4 = lv_label_create(h2, NULL);
|
||||||
lv_label_set_recolor(label_txt4, true);
|
lv_label_set_recolor(label_txt4, true);
|
||||||
lv_label_set_array_text(label_txt4, txt_buf, 0x1000);
|
lv_label_set_text(label_txt4, txt_buf);
|
||||||
free(txt_buf);
|
free(txt_buf);
|
||||||
|
|
||||||
lv_obj_set_style(label_txt4, &hint_small_style);
|
lv_obj_set_style(label_txt4, &hint_small_style);
|
||||||
|
|
Loading…
Reference in a new issue