mirror of
https://github.com/ALLFATHER-BV/wadamesh.git
synced 2026-11-12 02:27:35 +00:00
The touch UI (src/ui-touch, unmodified apart from WADA_WEB board guards) builds for macOS with CMake and runs in an SDL2 window: a compat layer for the Arduino/ESP-IDF/FreeRTOS surface, a MyMesh stand-in with a MeshBackend interface (DemoBackend now), and the web board's SDL display/touch/keyboard drivers. WEB_BUILD.md follows. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
60 lines
2.7 KiB
C++
60 lines
2.7 KiB
C++
#pragma once
|
|
// Preferences (NVS) on a host: the arduino-esp32 Preferences API over one key-value
|
|
// file, <data>/nvs.bin, rewritten atomically on every change (src/prefs_host.cpp).
|
|
// Namespaces, types and the 15-character key limit behave like NVS; there is no
|
|
// wear-levelling or page accounting (nvs_get_stats reports a roomy partition).
|
|
#include "Arduino.h"
|
|
typedef enum {
|
|
PT_I8, PT_U8, PT_I16, PT_U16, PT_I32, PT_U32, PT_I64, PT_U64, PT_STR, PT_BLOB, PT_INVALID
|
|
} PreferenceType;
|
|
class Preferences {
|
|
protected:
|
|
uint32_t _handle;
|
|
bool _started;
|
|
bool _readOnly;
|
|
char _ns[16];
|
|
public:
|
|
Preferences();
|
|
~Preferences();
|
|
bool begin(const char* name, bool readOnly = false, const char* partition_label = NULL);
|
|
void end();
|
|
bool clear();
|
|
bool remove(const char* key);
|
|
size_t putChar(const char* key, int8_t value);
|
|
size_t putUChar(const char* key, uint8_t value);
|
|
size_t putShort(const char* key, int16_t value);
|
|
size_t putUShort(const char* key, uint16_t value);
|
|
size_t putInt(const char* key, int32_t value);
|
|
size_t putUInt(const char* key, uint32_t value);
|
|
size_t putLong(const char* key, int32_t value);
|
|
size_t putULong(const char* key, uint32_t value);
|
|
size_t putLong64(const char* key, int64_t value);
|
|
size_t putULong64(const char* key, uint64_t value);
|
|
size_t putFloat(const char* key, float_t value);
|
|
size_t putDouble(const char* key, double_t value);
|
|
size_t putBool(const char* key, bool value);
|
|
size_t putString(const char* key, const char* value);
|
|
size_t putString(const char* key, String value);
|
|
size_t putBytes(const char* key, const void* value, size_t len);
|
|
bool isKey(const char* key);
|
|
PreferenceType getType(const char* key);
|
|
int8_t getChar(const char* key, int8_t defaultValue = 0);
|
|
uint8_t getUChar(const char* key, uint8_t defaultValue = 0);
|
|
int16_t getShort(const char* key, int16_t defaultValue = 0);
|
|
uint16_t getUShort(const char* key, uint16_t defaultValue = 0);
|
|
int32_t getInt(const char* key, int32_t defaultValue = 0);
|
|
uint32_t getUInt(const char* key, uint32_t defaultValue = 0);
|
|
int32_t getLong(const char* key, int32_t defaultValue = 0);
|
|
uint32_t getULong(const char* key, uint32_t defaultValue = 0);
|
|
int64_t getLong64(const char* key, int64_t defaultValue = 0);
|
|
uint64_t getULong64(const char* key, uint64_t defaultValue = 0);
|
|
float_t getFloat(const char* key, float_t defaultValue = NAN);
|
|
double_t getDouble(const char* key, double_t defaultValue = NAN);
|
|
bool getBool(const char* key, bool defaultValue = false);
|
|
size_t getString(const char* key, char* value, size_t maxLen);
|
|
String getString(const char* key, String defaultValue = String());
|
|
size_t getBytesLength(const char* key);
|
|
size_t getBytes(const char* key, void* buf, size_t maxLen);
|
|
size_t freeEntries();
|
|
};
|