2020-11-19 09:25:02 +08:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include "configuration.h"
|
2024-06-27 07:07:27 -05:00
|
|
|
#include <vector>
|
2020-11-19 09:25:02 +08:00
|
|
|
|
|
|
|
|
// Cross platform filesystem API
|
|
|
|
|
|
2022-07-31 07:11:47 -05:00
|
|
|
#if defined(ARCH_PORTDUINO)
|
2020-11-19 09:25:02 +08:00
|
|
|
// Portduino version
|
|
|
|
|
#include "PortduinoFS.h"
|
2022-02-14 18:45:29 +01:00
|
|
|
#define FSCom PortduinoFS
|
2020-11-19 09:25:02 +08:00
|
|
|
#define FSBegin() true
|
|
|
|
|
#define FILE_O_WRITE "w"
|
|
|
|
|
#define FILE_O_READ "r"
|
2022-07-31 07:11:47 -05:00
|
|
|
#endif
|
|
|
|
|
|
2023-06-01 07:14:55 -05:00
|
|
|
#if defined(ARCH_STM32WL)
|
2024-07-26 03:16:21 +02:00
|
|
|
// STM32WL series 2 Kbytes (8 rows of 256 bytes)
|
|
|
|
|
#include <EEPROM.h>
|
|
|
|
|
#include <OSFS.h>
|
|
|
|
|
|
|
|
|
|
// Useful consts
|
|
|
|
|
const OSFS::result noerr = OSFS::result::NO_ERROR;
|
|
|
|
|
const OSFS::result notfound = OSFS::result::FILE_NOT_FOUND;
|
2023-06-01 07:14:55 -05:00
|
|
|
#endif
|
|
|
|
|
|
2022-08-08 23:11:19 +02:00
|
|
|
#if defined(ARCH_RP2040)
|
|
|
|
|
// RP2040
|
|
|
|
|
#include "LittleFS.h"
|
|
|
|
|
#define FSCom LittleFS
|
2023-01-07 13:16:58 +01:00
|
|
|
#define FSBegin() FSCom.begin() // set autoformat
|
2022-08-08 23:11:19 +02:00
|
|
|
#define FILE_O_WRITE "w"
|
|
|
|
|
#define FILE_O_READ "r"
|
|
|
|
|
#endif
|
|
|
|
|
|
2022-07-31 07:11:47 -05:00
|
|
|
#if defined(ARCH_ESP32)
|
2020-11-19 09:25:02 +08:00
|
|
|
// ESP32 version
|
2022-09-09 22:31:30 +02:00
|
|
|
#include "LittleFS.h"
|
|
|
|
|
#define FSCom LittleFS
|
2023-01-07 13:16:58 +01:00
|
|
|
#define FSBegin() FSCom.begin(true) // format on failure
|
2020-11-19 09:25:02 +08:00
|
|
|
#define FILE_O_WRITE "w"
|
|
|
|
|
#define FILE_O_READ "r"
|
2022-07-31 07:11:47 -05:00
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
#if defined(ARCH_NRF52)
|
2020-11-19 09:25:02 +08:00
|
|
|
// NRF52 version
|
|
|
|
|
#include "InternalFileSystem.h"
|
2022-02-14 18:45:29 +01:00
|
|
|
#define FSCom InternalFS
|
2023-01-07 13:16:58 +01:00
|
|
|
#define FSBegin() FSCom.begin() // InternalFS formats on failure
|
2020-11-19 09:25:02 +08:00
|
|
|
using namespace Adafruit_LittleFS_Namespace;
|
|
|
|
|
#endif
|
|
|
|
|
|
2022-06-15 17:52:37 +02:00
|
|
|
void fsInit();
|
2024-08-13 04:45:39 -07:00
|
|
|
void fsListFiles();
|
2023-01-21 14:34:29 +01:00
|
|
|
bool copyFile(const char *from, const char *to);
|
|
|
|
|
bool renameFile(const char *pathFrom, const char *pathTo);
|
2024-06-27 07:07:27 -05:00
|
|
|
std::vector<meshtastic_FileInfo> getFiles(const char *dirname, uint8_t levels);
|
2024-08-13 04:45:39 -07:00
|
|
|
void listDir(const char *dirname, uint8_t levels, bool del = false);
|
2023-01-21 14:34:29 +01:00
|
|
|
void rmDir(const char *dirname);
|
2025-01-20 09:43:35 -08:00
|
|
|
void setupSDCard();
|