2026-10-13 01:52:34 +02:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include <Arduino.h>
|
|
|
|
|
#include <vector>
|
|
|
|
|
|
|
|
|
|
#include "logic/bitmap_format.h"
|
|
|
|
|
|
|
|
|
|
// Full screen bitmaps (84 x 19, see logic/bitmap_format.h): built-in ones from
|
|
|
|
|
// display/bitmaps.h and the ones uploaded in the web UI, stored on LittleFS
|
|
|
|
|
// (partition "spiffs" in partitions.csv) as /bitmaps/<name>.bin.
|
|
|
|
|
|
|
|
|
|
struct BitmapInfo
|
|
|
|
|
{
|
|
|
|
|
String name;
|
|
|
|
|
bool builtin;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const int MAX_BITMAPS = 200;
|
|
|
|
|
|
|
|
|
|
// Mounts LittleFS (formats it the first time). False without the partition (old flash
|
|
|
|
|
// layout): only the built-in bitmaps are available then.
|
|
|
|
|
bool bitmapStoreBegin();
|
|
|
|
|
bool bitmapStorageAvailable();
|
|
|
|
|
void bitmapStorageUsage(size_t &used, size_t &total);
|
|
|
|
|
|
|
|
|
|
std::vector<BitmapInfo> listBitmaps();
|
2026-10-15 01:29:01 +02:00
|
|
|
// Changes each time a bitmap is saved or deleted
|
|
|
|
|
uint32_t bitmapListRevision();
|
2026-10-13 01:52:34 +02:00
|
|
|
bool bitmapExists(const char *name);
|
|
|
|
|
bool loadBitmap(const char *name, uint8_t *bitmap);
|
|
|
|
|
|
|
|
|
|
// Return nullptr on success, otherwise a message for the user
|
|
|
|
|
const char *saveBitmap(const char *name, const uint8_t *bitmap);
|
|
|
|
|
const char *deleteBitmap(const char *name);
|