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:
CTCaer 2020-03-09 08:37:41 +02:00
parent a52af1bf41
commit e6c1d9bf66
6 changed files with 104 additions and 93 deletions

View file

@ -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);

View file

@ -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);

View file

@ -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.

View file

@ -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
{ {

View file

@ -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);

View file

@ -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);