forked from espressif/esp-idf
feat(storage/fatfs): restructure basic example
This commit is contained in:
committed by
Tomas Rohlinek
parent
f633839ece
commit
85b5869053
@@ -42,14 +42,6 @@ examples/storage/fatfs_advanced:
|
|||||||
- if: IDF_TARGET != "esp32"
|
- if: IDF_TARGET != "esp32"
|
||||||
reason: only one target needed
|
reason: only one target needed
|
||||||
|
|
||||||
examples/storage/fatfs_basic:
|
|
||||||
depends_components:
|
|
||||||
- fatfs
|
|
||||||
- vfs
|
|
||||||
disable_test:
|
|
||||||
- if: IDF_TARGET != "esp32"
|
|
||||||
reason: only one target needed
|
|
||||||
|
|
||||||
examples/storage/nvs_rw_blob:
|
examples/storage/nvs_rw_blob:
|
||||||
depends_components:
|
depends_components:
|
||||||
- nvs_flash
|
- nvs_flash
|
||||||
|
9
examples/storage/fatfs/.build-test-rules.yml
Normal file
9
examples/storage/fatfs/.build-test-rules.yml
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
# Documentation: .gitlab/ci/README.md#manifest-file-to-control-the-buildtest-apps
|
||||||
|
|
||||||
|
examples/storage/fatfs:
|
||||||
|
depends_components:
|
||||||
|
- fatfs
|
||||||
|
- vfs
|
||||||
|
disable_test:
|
||||||
|
- if: IDF_TARGET != "esp32"
|
||||||
|
reason: only one target needed
|
@@ -1,5 +1,5 @@
|
|||||||
| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-H2 | ESP32-P4 | ESP32-S2 | ESP32-S3 |
|
| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-C61 | ESP32-H2 | ESP32-P4 | ESP32-S2 | ESP32-S3 |
|
||||||
| ----------------- | ----- | -------- | -------- | -------- | -------- | -------- | -------- | -------- | -------- |
|
| ----------------- | ----- | -------- | -------- | -------- | -------- | --------- | -------- | -------- | -------- | -------- |
|
||||||
|
|
||||||
# FATFS minimal example
|
# FATFS minimal example
|
||||||
|
|
||||||
@@ -29,15 +29,16 @@ Here is the example's console output:
|
|||||||
|
|
||||||
```
|
```
|
||||||
...
|
...
|
||||||
I (339) example: Mounting FAT filesystem
|
I (321) example: Mounting FAT filesystem
|
||||||
I (339) example: Filesystem mounted
|
I (331) example: Filesystem mounted
|
||||||
I (339) example: Opening file
|
I (331) example: Opening file
|
||||||
I (729) example: File written
|
I (731) example: File written
|
||||||
I (729) example: Reading file
|
I (731) example: Reading file
|
||||||
I (739) example: Read from file: 'This is written by the device'
|
I (741) example: Read from file: 'Hello World!'
|
||||||
I (739) example: Unmounting FAT filesystem
|
I (741) example: Unmounting FAT filesystem
|
||||||
I (849) example: Done
|
I (851) example: Done
|
||||||
|
...
|
||||||
```
|
```
|
||||||
|
|
||||||
The logic of the example is contained in a [single source file](./main/fat_example_main.c),
|
The logic of the example is contained in a [single source file](./main/fatfs_getting_started_main.c),
|
||||||
and it should be relatively simple to match points in its execution with the log outputs above.
|
and it should be relatively simple to match points in its execution with the log outputs above.
|
@@ -0,0 +1,2 @@
|
|||||||
|
idf_component_register(SRCS "fatfs_getting_started_main.c"
|
||||||
|
INCLUDE_DIRS ".")
|
@@ -31,8 +31,8 @@ void app_main(void)
|
|||||||
.use_one_fat = false, // Use only one FAT table (reduce memory usage), but decrease reliability of file system in case of power failure.
|
.use_one_fat = false, // Use only one FAT table (reduce memory usage), but decrease reliability of file system in case of power failure.
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// Mount FATFS filesystem located on "storage" partition in read-write mode
|
||||||
esp_err_t err = esp_vfs_fat_spiflash_mount_rw_wl(base_path, "storage", &mount_config, &s_wl_handle);
|
esp_err_t err = esp_vfs_fat_spiflash_mount_rw_wl(base_path, "storage", &mount_config, &s_wl_handle);
|
||||||
|
|
||||||
if (err != ESP_OK) {
|
if (err != ESP_OK) {
|
||||||
ESP_LOGE(TAG, "Failed to mount FATFS (%s)", esp_err_to_name(err));
|
ESP_LOGE(TAG, "Failed to mount FATFS (%s)", esp_err_to_name(err));
|
||||||
return;
|
return;
|
||||||
@@ -46,12 +46,12 @@ void app_main(void)
|
|||||||
|
|
||||||
FILE *f = fopen(filename, "wb");
|
FILE *f = fopen(filename, "wb");
|
||||||
if (f == NULL) {
|
if (f == NULL) {
|
||||||
perror("fopen");
|
perror("fopen"); // Print reason why fopen failed
|
||||||
ESP_LOGE(TAG, "Failed to open file for writing");
|
ESP_LOGE(TAG, "Failed to open file for writing");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
fprintf(f, "This is written by the device");
|
fprintf(f, "Hello World!\n");
|
||||||
fclose(f);
|
fclose(f);
|
||||||
|
|
||||||
ESP_LOGI(TAG, "File written");
|
ESP_LOGI(TAG, "File written");
|
@@ -6,12 +6,12 @@ from pytest_embedded import Dut
|
|||||||
|
|
||||||
@pytest.mark.esp32
|
@pytest.mark.esp32
|
||||||
@pytest.mark.generic
|
@pytest.mark.generic
|
||||||
def test_examples_fatfs_basic(dut: Dut) -> None:
|
def test_examples_fatfs_getting_started(dut: Dut) -> None:
|
||||||
dut.expect('example: Mounting FAT filesystem', timeout=90)
|
dut.expect('example: Mounting FAT filesystem', timeout=90)
|
||||||
dut.expect('example: Filesystem mounted', timeout=90)
|
dut.expect('example: Filesystem mounted', timeout=90)
|
||||||
dut.expect('example: Opening file', timeout=90)
|
dut.expect('example: Opening file', timeout=90)
|
||||||
dut.expect('example: File written', timeout=90)
|
dut.expect('example: File written', timeout=90)
|
||||||
dut.expect('example: Reading file', timeout=90)
|
dut.expect('example: Reading file', timeout=90)
|
||||||
dut.expect('example: Read from file: \'This is written by the device\'', timeout=90)
|
dut.expect('example: Read from file: \'Hello World!\'', timeout=90)
|
||||||
dut.expect('example: Unmounting FAT filesystem', timeout=90)
|
dut.expect('example: Unmounting FAT filesystem', timeout=90)
|
||||||
dut.expect('example: Done', timeout=90)
|
dut.expect('example: Done', timeout=90)
|
@@ -1,2 +0,0 @@
|
|||||||
idf_component_register(SRCS "fat_example_main.c"
|
|
||||||
INCLUDE_DIRS ".")
|
|
Reference in New Issue
Block a user