mirror of
https://github.com/meshtastic/firmware.git
synced 2025-10-29 07:36:46 +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::setThreadMode;
|
||||||
using graphics::MessageRenderer::ThreadMode;
|
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)
|
MessageStore::MessageStore(const std::string &label)
|
||||||
{
|
{
|
||||||
filename = "/Messages_" + label + ".msgs";
|
filename = "/Messages_" + label + ".msgs";
|
||||||
@ -150,6 +167,9 @@ void MessageStore::saveToFlash()
|
|||||||
spiLock->unlock();
|
spiLock->unlock();
|
||||||
|
|
||||||
f.close();
|
f.close();
|
||||||
|
|
||||||
|
// Debug after saving
|
||||||
|
logMemoryUsage("saveToFlash");
|
||||||
#else
|
#else
|
||||||
// Filesystem not available, skip persistence
|
// Filesystem not available, skip persistence
|
||||||
#endif
|
#endif
|
||||||
@ -225,6 +245,9 @@ void MessageStore::loadFromFlash()
|
|||||||
liveMessages.push_back(m); // restore into RAM buffer
|
liveMessages.push_back(m); // restore into RAM buffer
|
||||||
}
|
}
|
||||||
f.close();
|
f.close();
|
||||||
|
|
||||||
|
// Debug after loading
|
||||||
|
logMemoryUsage("loadFromFlash");
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -90,6 +90,9 @@ class MessageStore
|
|||||||
// Upgrade boot-relative timestamps once RTC is valid
|
// Upgrade boot-relative timestamps once RTC is valid
|
||||||
void upgradeBootRelativeTimestamps();
|
void upgradeBootRelativeTimestamps();
|
||||||
|
|
||||||
|
// Debug helper to log serialized size of messages
|
||||||
|
void logMemoryUsage(const char *context) const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
std::deque<StoredMessage> liveMessages;
|
std::deque<StoredMessage> liveMessages;
|
||||||
std::deque<StoredMessage> messages; // persisted copy
|
std::deque<StoredMessage> messages; // persisted copy
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user