mirror of
https://github.com/meshtastic/firmware.git
synced 2025-10-28 15:22:55 +00:00
Memory size debug
This commit is contained in:
parent
526c7f8e4d
commit
7642d0c401
@ -10,6 +10,23 @@
|
||||
using graphics::MessageRenderer::setThreadMode;
|
||||
using graphics::MessageRenderer::ThreadMode;
|
||||
|
||||
static size_t getMessageSize(const StoredMessage &m)
|
||||
{
|
||||
// serialized size = fixed 16 bytes + text length (capped at MAX_MESSAGE_SIZE)
|
||||
return 16 + std::min(static_cast<size_t>(MAX_MESSAGE_SIZE), m.text.size());
|
||||
}
|
||||
|
||||
void MessageStore::logMemoryUsage(const char *context) const
|
||||
{
|
||||
size_t total = 0;
|
||||
for (const auto &m : messages) {
|
||||
total += getMessageSize(m);
|
||||
}
|
||||
|
||||
LOG_DEBUG("MessageStore[%s]: %u messages, est %u bytes (~%u KB)", context, (unsigned)messages.size(), (unsigned)total,
|
||||
(unsigned)(total / 1024));
|
||||
}
|
||||
|
||||
MessageStore::MessageStore(const std::string &label)
|
||||
{
|
||||
filename = "/Messages_" + label + ".msgs";
|
||||
@ -150,6 +167,9 @@ void MessageStore::saveToFlash()
|
||||
spiLock->unlock();
|
||||
|
||||
f.close();
|
||||
|
||||
// Debug after saving
|
||||
logMemoryUsage("saveToFlash");
|
||||
#else
|
||||
// Filesystem not available, skip persistence
|
||||
#endif
|
||||
@ -225,6 +245,9 @@ void MessageStore::loadFromFlash()
|
||||
liveMessages.push_back(m); // restore into RAM buffer
|
||||
}
|
||||
f.close();
|
||||
|
||||
// Debug after loading
|
||||
logMemoryUsage("loadFromFlash");
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
@ -90,6 +90,9 @@ class MessageStore
|
||||
// Upgrade boot-relative timestamps once RTC is valid
|
||||
void upgradeBootRelativeTimestamps();
|
||||
|
||||
// Debug helper to log serialized size of messages
|
||||
void logMemoryUsage(const char *context) const;
|
||||
|
||||
private:
|
||||
std::deque<StoredMessage> liveMessages;
|
||||
std::deque<StoredMessage> messages; // persisted copy
|
||||
|
||||
Loading…
Reference in New Issue
Block a user