#pragma once #include "Arduino.h" #include #include struct File { std::string* _buf = nullptr; bool _valid = false; bool _write = false; size_t _pos = 0; explicit operator bool() const { return _valid; } void close() { _valid = false; } size_t write(const uint8_t* data, size_t len) { if (_buf && _write) { _buf->append((const char*)data, len); return len; } return 0; } int read() { if (_buf && _pos < _buf->size()) return (uint8_t)(*_buf)[_pos++]; return -1; } size_t size() { return _buf ? _buf->size() : 0; } }; struct LittleFSClass { std::map files; bool begin(bool) { return true; } File open(const char* path, const char* mode, bool create = false) { File f; f._valid = true; f._write = (mode[0] == 'w'); f._buf = &files[path]; if (f._write) f._buf->clear(); f._pos = 0; return f; } } LittleFS;