mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-02-13 02:34:48 +08:00
textual
This commit is contained in:
parent
ce4711cc13
commit
51022d4329
1 changed files with 46 additions and 26 deletions
|
@ -536,21 +536,28 @@ int rdv40_spiffs_read_as_filetype(char *filename, uint8_t *dst, uint32_t size, R
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
///////// MISC HIGH LEVEL FUNCTIONS ////////////////////////////////////////////
|
///////// MISC HIGH LEVEL FUNCTIONS ////////////////////////////////////////////
|
||||||
|
#define SPIFFS_BANNER DbpString(_BLUE_("Flash Memory FileSystem tree (SPIFFS)"));
|
||||||
|
|
||||||
void rdv40_spiffs_safe_print_fsinfo() {
|
void rdv40_spiffs_safe_print_fsinfo() {
|
||||||
rdv40_spiffs_fsinfo fsinfo;
|
rdv40_spiffs_fsinfo fsinfo;
|
||||||
rdv40_spiffs_getfsinfo(&fsinfo, RDV40_SPIFFS_SAFETY_SAFE);
|
rdv40_spiffs_getfsinfo(&fsinfo, RDV40_SPIFFS_SAFETY_SAFE);
|
||||||
|
|
||||||
DbpString(_BLUE_("Flash Memory FileSystem Info (SPIFFS)"));
|
DbpString(_BLUE_("Flash Memory FileSystem Info (SPIFFS)"));
|
||||||
Dbprintf("-------------------------------------");
|
|
||||||
Dbprintf("* Filesystem Logical Block Size.........%d bytes", fsinfo.blockSize);
|
|
||||||
Dbprintf("* Filesystem Logical Page Size..........%d bytes", fsinfo.pageSize);
|
Dbprintf(" Logical Block Size........." _YELLOW_("%d")"bytes", fsinfo.blockSize);
|
||||||
Dbprintf("--");
|
Dbprintf(" Logical Page Size.........." _YELLOW_("%d")"bytes", fsinfo.pageSize);
|
||||||
Dbprintf("* Filesystem Max Open Files.............%d file descriptors", fsinfo.maxOpenFiles);
|
Dbprintf("");
|
||||||
Dbprintf("* Filesystem Max Path Length............%d chars", fsinfo.maxPathLength);
|
Dbprintf(" Max Open Files............." _YELLOW_("%d")"file descriptors", fsinfo.maxOpenFiles);
|
||||||
Dbprintf("--");
|
Dbprintf(" Max Path Length............" _YELLOW_("%d")"chars", fsinfo.maxPathLength);
|
||||||
Dbprintf("Filesystem\tSize\tUsed\tAvailable\tUse%\tMounted on");
|
DbpString("");
|
||||||
Dbprintf("spiffs\t%dB\t%dB\t%dB\t\t%d%\t/", fsinfo.totalBytes, fsinfo.usedBytes, fsinfo.freeBytes,
|
Dbprintf(" filesystem size used available use% mounted");
|
||||||
fsinfo.usedPercent);
|
Dbprintf(" spiffs %6d B %6d B %6d B"_YELLOW_("%2d%")" /"
|
||||||
|
, fsinfo.totalBytes
|
||||||
|
, fsinfo.usedBytes
|
||||||
|
, fsinfo.freeBytes
|
||||||
|
, fsinfo.usedPercent
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
// this function is safe and WILL rollback since it is only a PRINTING function,
|
// this function is safe and WILL rollback since it is only a PRINTING function,
|
||||||
|
@ -562,14 +569,16 @@ void rdv40_spiffs_safe_print_fsinfo() {
|
||||||
// dont want, as prefix are way easier and lighter in every aspect.
|
// dont want, as prefix are way easier and lighter in every aspect.
|
||||||
void rdv40_spiffs_safe_print_tree(uint8_t banner) {
|
void rdv40_spiffs_safe_print_tree(uint8_t banner) {
|
||||||
|
|
||||||
int changed = rdv40_spiffs_lazy_mount();
|
|
||||||
spiffs_DIR d;
|
|
||||||
struct spiffs_dirent e;
|
|
||||||
struct spiffs_dirent *pe = &e;
|
|
||||||
if (banner) {
|
if (banner) {
|
||||||
DbpString(_BLUE_("Flash Memory FileSystem tree (SPIFFS)"));
|
DbpString(_BLUE_("Flash Memory FileSystem tree (SPIFFS)"));
|
||||||
Dbprintf("-------------------------------------");
|
Dbprintf("-------------------------------------");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int changed = rdv40_spiffs_lazy_mount();
|
||||||
|
spiffs_DIR d;
|
||||||
|
struct spiffs_dirent e;
|
||||||
|
struct spiffs_dirent *pe = &e;
|
||||||
|
|
||||||
SPIFFS_opendir(&fs, "/", &d);
|
SPIFFS_opendir(&fs, "/", &d);
|
||||||
Dbprintf(" \t \t/");
|
Dbprintf(" \t \t/");
|
||||||
while ((pe = SPIFFS_readdir(&d, pe))) {
|
while ((pe = SPIFFS_readdir(&d, pe))) {
|
||||||
|
@ -592,29 +601,40 @@ void rdv40_spiffs_safe_print_tree(uint8_t banner) {
|
||||||
rdv40_spiffs_lazy_mount_rollback(changed);
|
rdv40_spiffs_lazy_mount_rollback(changed);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Selftest function
|
||||||
void test_spiffs() {
|
void test_spiffs() {
|
||||||
Dbprintf("---------------------------");
|
Dbprintf("----------------------------------------------");
|
||||||
Dbprintf("Testing SPIFFS operations");
|
Dbprintf("Testing SPIFFS operations");
|
||||||
Dbprintf("---------------------------");
|
Dbprintf("----------------------------------------------");
|
||||||
Dbprintf("(all test are made using lazy safetylevel)");
|
Dbprintf("-- all test are made using lazy safetylevel");
|
||||||
Dbprintf("* Mounting filesystem (lazy).......");
|
|
||||||
|
Dbprintf(" Mounting filesystem (lazy).......");
|
||||||
int changed = rdv40_spiffs_lazy_mount();
|
int changed = rdv40_spiffs_lazy_mount();
|
||||||
Dbprintf("* Printing tree..............");
|
|
||||||
|
Dbprintf(" Printing tree..............");
|
||||||
rdv40_spiffs_safe_print_tree(false);
|
rdv40_spiffs_safe_print_tree(false);
|
||||||
Dbprintf("* Writing 'I love Proxmark' in a testspiffs.txt");
|
|
||||||
|
Dbprintf(" Writing 'I love Proxmark3 RDV4' in a testspiffs.txt");
|
||||||
|
|
||||||
// Since We lazy_mounted manually before hand, the wrte safety level will
|
// Since We lazy_mounted manually before hand, the wrte safety level will
|
||||||
// just imply noops
|
// just imply noops
|
||||||
rdv40_spiffs_write((char *)"testspiffs.txt", (uint8_t *)"I love Proxmark", 15, RDV40_SPIFFS_SAFETY_SAFE);
|
rdv40_spiffs_write((char *)"testspiffs.txt", (uint8_t *)"I love Proxmark3 RDV4", 21, RDV40_SPIFFS_SAFETY_SAFE);
|
||||||
Dbprintf("* Printing tree again.......");
|
|
||||||
|
Dbprintf(" Printing tree again.......");
|
||||||
rdv40_spiffs_safe_print_tree(false);
|
rdv40_spiffs_safe_print_tree(false);
|
||||||
Dbprintf("* Making a symlink to testspiffs.txt");
|
|
||||||
|
Dbprintf(" Making a symlink to testspiffs.txt");
|
||||||
rdv40_spiffs_make_symlink((char *)"testspiffs.txt", (char *)"linktotestspiffs.txt", RDV40_SPIFFS_SAFETY_SAFE);
|
rdv40_spiffs_make_symlink((char *)"testspiffs.txt", (char *)"linktotestspiffs.txt", RDV40_SPIFFS_SAFETY_SAFE);
|
||||||
Dbprintf("* Printing tree again.......");
|
|
||||||
|
Dbprintf(" Printing tree again.......");
|
||||||
rdv40_spiffs_safe_print_tree(false);
|
rdv40_spiffs_safe_print_tree(false);
|
||||||
|
|
||||||
// TODO READBACK, rename,print tree read back, remove, print tree;
|
// TODO READBACK, rename,print tree read back, remove, print tree;
|
||||||
Dbprintf("* Rollbacking The mount status IF things have changed");
|
Dbprintf(" Rollbacking The mount status IF things have changed");
|
||||||
rdv40_spiffs_lazy_mount_rollback(changed);
|
rdv40_spiffs_lazy_mount_rollback(changed);
|
||||||
Dbprintf("All done");
|
|
||||||
|
Dbprintf(_GREEN_("All done"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue