#include "espressif/esp_common.h" #include "esp/uart.h" #include "esp/timer.h" #include "FreeRTOS.h" #include "task.h" #include "esp8266.h" #include #include "esp_spiffs.h" #include "spiffs.h" #include "fs_test.h" #include "testcase.h" DEFINE_SOLO_TESTCASE(05_spiffs) static fs_time_t get_current_time() { return timer_get_count(FRC2) / 5000; // to get roughly 1ms resolution } static void test_task(void *pvParameters) { esp_spiffs_init(); esp_spiffs_mount(); SPIFFS_unmount(&fs); // FS must be unmounted before formating if (SPIFFS_format(&fs) == SPIFFS_OK) { printf("Format complete\n"); } else { printf("Format failed\n"); } esp_spiffs_mount(); TEST_ASSERT_TRUE_MESSAGE(fs_load_test_run(100), "Load test failed"); float write_rate, read_rate; if (fs_speed_test_run(get_current_time, &write_rate, &read_rate)) { printf("Read speed: %.0f bytes/s\n", read_rate * 1000); printf("Write speed: %.0f bytes/s\n", write_rate * 1000); } else { TEST_FAIL(); } TEST_PASS(); } static void a_05_spiffs(void) { xTaskCreate(test_task, "test_task", 1024, NULL, 2, NULL); }