mirror of
https://github.com/MarekZegare4/MeshCore-Solo.git
synced 2026-11-02 19:02:00 +00:00
feat(l1): messages kept on flash across a power-off, and "Powered off" on e-ink
Settings > Messages > Keep messages (Off, 500, 1000, 2500 in all; off by default; HIST_FLASH, ui-core/HistoryLog.h). Two append-only logs on the QSPI flash, channels and DMs, restored into the RAM rings at the start. A batch is written a minute after the first unsaved change and at shutdown, as the L1's power switch gives no warning. Each segment has a directory of its own: a LittleFS 1.x commit erases one of a directory's two fixed blocks every time. E-ink panels keep their last frame, so a shutdown now leaves "Powered off" on it and puts the controller into deep sleep. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -46,12 +46,7 @@ struct Hdr {
|
||||
uint32_t cap, head, count, next_id;
|
||||
};
|
||||
|
||||
// FNV-1a over the channel's secret: renaming a channel keeps its archive.
|
||||
static uint32_t chKey(const ChannelDetails& ch) {
|
||||
uint32_t h = 2166136261u;
|
||||
for (size_t i = 0; i < sizeof(ch.channel.secret); i++) { h ^= ch.channel.secret[i]; h *= 16777619u; }
|
||||
return h;
|
||||
}
|
||||
static uint32_t chKey(const ChannelDetails& ch) { return channelKey(ch); }
|
||||
// Earlier builds hashed the name in too (see migrateKeys()).
|
||||
static uint32_t chKeyNamed(const ChannelDetails& ch) {
|
||||
uint32_t h = 2166136261u;
|
||||
|
||||
Reference in New Issue
Block a user