This commit is contained in:
2026-09-12 03:40:10 +02:00
parent 029ceee69a
commit 8ac465229c
20 changed files with 220 additions and 422 deletions

View File

@@ -16,8 +16,6 @@
static const char *TAG = "storage";
#define STORAGE_PARTITION_LABEL "storage"
#define STORAGE_BOOT_COUNT_FILE STORAGE_BASE_PATH "/boot_count.txt"
#define STORAGE_TEST_FILE STORAGE_BASE_PATH "/test.txt"
static const char SAMPLE_MAPPINGS[] =
"{\n"
@@ -211,17 +209,6 @@ esp_err_t storage_manager_lookup_name(const char *uid, char **out)
}
cJSON *item = cJSON_GetObjectItem(root, uid);
if (item == NULL) {
char prefix[48];
snprintf(prefix, sizeof(prefix), "%s&name=", uid);
cJSON *child = NULL;
cJSON_ArrayForEach(child, root) {
if (child->string && strncmp(child->string, prefix, strlen(prefix)) == 0) {
item = child;
break;
}
}
}
esp_err_t ret = (item && cJSON_IsString(item) && item->valuestring) ? ESP_OK : ESP_ERR_NOT_FOUND;
if (ret == ESP_OK) {
*out = strdup(item->valuestring);
@@ -258,38 +245,6 @@ static esp_err_t seed_defaults(void)
return ESP_OK;
}
static void cross_reboot_persistence_test(void)
{
/* Persistent boot counter: proves writes survive a reset/reboot. */
char buf[16] = {0};
uint32_t count = 0;
FILE *f = fopen(STORAGE_BOOT_COUNT_FILE, "rb");
if (f != NULL) {
if (fread(buf, 1, sizeof(buf) - 1, f) > 0) {
count = (uint32_t)strtoul(buf, NULL, 10);
ESP_LOGI(TAG, "boot_count read back = %lu (persistence across reboots OK)", (unsigned long)count);
}
fclose(f);
}
count++;
snprintf(buf, sizeof(buf), "%lu\n", (unsigned long)count);
storage_write_text(STORAGE_BOOT_COUNT_FILE, buf);
ESP_LOGI(TAG, "boot_count updated to %lu", (unsigned long)count);
/* Sanity write/read within the same boot. */
storage_write_text(STORAGE_TEST_FILE, "MTG-RFID-COMPANION persistence test\n");
char *rd = NULL;
size_t rd_len = 0;
if (storage_read_text(STORAGE_TEST_FILE, &rd, &rd_len) == ESP_OK && rd != NULL) {
ESP_LOGI(TAG, "test.txt echoed back: %s", rd);
free(rd);
} else {
ESP_LOGE(TAG, "test.txt read-back failed");
}
}
esp_err_t storage_manager_init(void)
{
esp_vfs_littlefs_conf_t conf = {
@@ -319,7 +274,6 @@ esp_err_t storage_manager_init(void)
return ret;
}
cross_reboot_persistence_test();
return ESP_OK;
}