#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/fs_test.h" static fs_time_t get_current_time() { return timer_get_count(FRC2) / 5000; // to get roughly 1ms resolution } 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(); while (1) { vTaskDelay(5000 / portTICK_RATE_MS); if (fs_load_test_run(100)) { printf("PASS\n"); } else { printf("FAIL\n"); } vTaskDelay(5000 / portTICK_RATE_MS); 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 { printf("FAIL\n"); } } } void user_init(void) { uart_set_baud(0, 115200); xTaskCreate(test_task, "test_task", 1024, NULL, 2, NULL); }