mirror of
https://github.com/MarekZegare4/MeshCore-Solo.git
synced 2026-10-19 03:52:05 +00:00
feat(ui-lvgl): live map tiles kept apart, under a size limit
Tiles fetched while browsing online go to /sdcard/maps-live with an index of arrival order; past the limit (Settings > Storage, 16 MB-1 GB, default 64 MB) the oldest are deleted a few per loop. Storage shows their count and size and can delete them all. Downloaded maps are never touched. Roadmap: live tiles done, second batch of user items added. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -35,6 +35,7 @@ template <class T> static T* psramBuf(size_t n) {
|
||||
#include "Anim.h"
|
||||
#include "LvglPort.h"
|
||||
#include "HistoryStore.h"
|
||||
#include "map/LiveCache.h"
|
||||
static histstore::SdArchive s_archive; // message history on the SD card
|
||||
namespace storeview { static void stopWalk(); } // StorageScreen.h
|
||||
#include "../ui-core/KeyboardData.h"
|
||||
@@ -216,6 +217,8 @@ void UITask::begin(DisplayDriver* display_drv, SensorManager* sensors, NodePrefs
|
||||
{ // history kept on the SD card: back into the ring, then every new entry to it
|
||||
int hk = lvport::loadHistKeep();
|
||||
s_archive.setKeep(histstore::KEEP[hk >= 0 && hk < histstore::KEEP_COUNT ? hk : histstore::KEEP_DEFAULT]);
|
||||
int lc = lvport::loadLiveCap();
|
||||
mapview::s_live_cache.setLimit((uint64_t)mapview::LIVE_CAP_MB[lc >= 0 && lc < mapview::LIVE_CAP_COUNT ? lc : mapview::LIVE_CAP_DEFAULT] << 20);
|
||||
s_archive.restore(_core->history);
|
||||
_core->history.setArchive(&s_archive);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user