IA MicroFile API

IA Kit Doc

Internal Memory

Appliance Control

Project

IA MicroFile API

Lightweight IA Internal Memory Management

Core Functions

void listDir(fs::FS &fs, const char *dirname, uint8_t levels);
void createDir(fs::FS &fs, const char *path);
void removeDir(fs::FS &fs, const char *path);
void readFile(fs::FS &fs, const char *path);
void writeFile(fs::FS &fs, const char *path, const char *message);
void appendFile(fs::FS &fs, const char *path, const char *message);
void renameFile(fs::FS &fs, const char *path1, const char *path2);
void deleteFile(fs::FS &fs, const char *path);
void testFileIO(fs::FS &fs, const char *path);


Function

Description

Parameters

Returns

testSDCard()

Initialize storage media

void

void

listDir(fs, path, levels)

List directory contents

fs::FS &fsconst char *pathuint8_t levels

void

createDir(fs, path)

Create a new directory

fs::FS &fsconst char *path

void

removeDir(fs, path)

​Recursively​​ delete a directory

fs::FS &fsconst char *path

void

readFile(fs, path)

Print file contents to Serial

fs::FS &fsconst char *path

void

writeFile(fs, path, message)

Overwrite/create a file

fs::FS &fsconst char *pathconst char *message

void

appendFile(fs, path, message)

Add data to existing file

fs::FS &fsconst char *pathconst char *message

void

renameFile(fs, oldPath, newPath)

Move/rename a file

fs::FS &fsconst char *oldPathconst char *newPath

void

deleteFile(fs, path)

Remove a file

fs::FS &fsconst char *path

void

testFileIO(fs, path)

Benchmark read/write speed

fs::FS &fsconst char *path

void


Basic File Operations

#include "incipe.h"

void setup() {
  incipe.init();
  /* USER CODE BEGIN 1 */
  Serial.begin(115200);
  // Create and write to a file
  incipe.writeFile(SPIFFS, "/data.txt", "Hello, World!");

  // Append data
  incipe.appendFile(SPIFFS, "/data.txt", "\nNew data");

  // Read file
  incipe.readFile(SPIFFS, "/data.txt");

  incipe.renameFile(SD, "/data.txt", "/signal.txt");
  /* USER CODE END 1 */
}

void loop {
  /* USER CODE BEGIN 2 */
  /* USER CODE END 2 */
}


Directory Management​​

// Create nested directories
incipe.createDir(SD, "/config");
incipe.createDir(SD, "/config/settings");

// List all files (recursively)
incipe.listDir(SD, "/", 2);  // 2 levels deep

// Remove specific directory
incipe.removeDir(SD, "/config");


Troubleshooting

Error

Solution

Failed to open file

Check path exists or storage is mounted

mkdir failed

Verify write permissions / storage space

Slow writes

Use smaller buffers (512B-1KB)

© 2025 INCIPE Academy Limited

Create a free website with Framer, the website builder loved by startups, designers and agencies.