flash_main: measure settings write time, MFS settings erase command

This commit is contained in:
Andrey Gusakov 2024-07-29 14:22:27 +03:00 committed by rusefillc
parent 8f35e5f312
commit 5b43fe9282
1 changed files with 25 additions and 2 deletions

View File

@ -143,7 +143,8 @@ void writeToFlashNow() {
needToWriteConfiguration = false;
return;
}
efiPrintf("Writing pending configuration...");
efiPrintf("Writing pending configuration... %d bytes", sizeof(persistentState));
efitick_t startNt = getTimeNowNt();
// Set up the container
persistentState.size = sizeof(persistentState);
@ -184,7 +185,14 @@ void writeToFlashNow() {
startWatchdog();
if (isSuccess) {
efiPrintf("FLASH_SUCCESS");
efitick_t endNt = getTimeNowNt();
int elapsed_Ms = US2MS(NT2US(endNt - startNt));
#if EFI_STORAGE_MFS == TRUE
efiPrintf("FLASH_SUCCESS after %d mS MFS status %d", elapsed_Ms, err);
#else
efiPrintf("FLASH_SUCCESS after %d mS", elapsed_Ms);
#endif
} else {
efiPrintf("Flashing failed");
}
@ -336,6 +344,19 @@ static void rewriteConfig() {
writeToFlashNow();
}
#if EFI_STORAGE_MFS == TRUE
static void eraseConfig() {
efitick_t startNt = getTimeNowNt();
mfs_error_t err;
err = mfsErase(&mfsd);
efitick_t endNt = getTimeNowNt();
int elapsed_Ms = US2MS(NT2US(endNt - startNt));
efiPrintf("erase done %d mS err %d", elapsed_Ms, err);
}
#endif
void initFlash() {
#if EFI_STORAGE_MFS == TRUE
boardInitMfs();
@ -347,6 +368,8 @@ void initFlash() {
if (err < MFS_NO_ERROR) {
/* hm...? */
}
addConsoleAction("eraseconfig", eraseConfig);
#endif
addConsoleAction("readconfig", readFromFlash);