mirror of
https://github.com/meshtastic/firmware.git
synced 2025-10-28 07:13:25 +00:00
gating for message storage when not using a screen
This commit is contained in:
parent
383d95ade1
commit
103f73e7c9
@ -1,3 +1,4 @@
|
||||
#if HAS_SCREEN
|
||||
#include "MessageStore.h"
|
||||
#include "FSCommon.h"
|
||||
#include "NodeDB.h"
|
||||
@ -392,3 +393,4 @@ void MessageStore::upgradeBootRelativeTimestamps()
|
||||
|
||||
// Global definition
|
||||
MessageStore messageStore("default");
|
||||
#endif
|
||||
@ -1,3 +1,4 @@
|
||||
#if HAS_SCREEN
|
||||
#pragma once
|
||||
#include "mesh/generated/meshtastic/mesh.pb.h"
|
||||
#include <cstdint>
|
||||
@ -101,3 +102,4 @@ class MessageStore
|
||||
|
||||
// Global instance (defined in MessageStore.cpp)
|
||||
extern MessageStore messageStore;
|
||||
#endif
|
||||
@ -759,8 +759,9 @@ void Power::shutdown()
|
||||
#endif
|
||||
nodeDB->saveToDisk();
|
||||
// === Save live messages before powering off ===
|
||||
#if HAS_SCREEN
|
||||
messageStore.saveToFlash();
|
||||
|
||||
#endif
|
||||
#if defined(ARCH_NRF52) || defined(ARCH_ESP32) || defined(ARCH_RP2040)
|
||||
#ifdef PIN_LED1
|
||||
ledOff(PIN_LED1);
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
#if HAS_SCREEN
|
||||
#pragma once
|
||||
#include "MessageStore.h" // for StoredMessage
|
||||
#include "OLEDDisplay.h"
|
||||
@ -60,3 +61,5 @@ void handleNewMessage(const StoredMessage &sm, const meshtastic_MeshPacket &pack
|
||||
|
||||
} // namespace MessageRenderer
|
||||
} // namespace graphics
|
||||
|
||||
#endif
|
||||
@ -78,7 +78,9 @@ int SystemCommandsModule::handleInputEvent(const InputEvent *event)
|
||||
case INPUT_BROKER_MSG_REBOOT:
|
||||
IF_SCREEN(screen->showSimpleBanner("Rebooting...", 0));
|
||||
nodeDB->saveToDisk();
|
||||
#if HAS_SCREEN
|
||||
messageStore.saveToFlash();
|
||||
#endif
|
||||
rebootAtMsec = millis() + DEFAULT_REBOOT_SECONDS * 1000;
|
||||
// runState = CANNED_MESSAGE_RUN_STATE_INACTIVE;
|
||||
return true;
|
||||
|
||||
@ -20,10 +20,10 @@ ProcessMessage TextMessageModule::handleReceived(const meshtastic_MeshPacket &mp
|
||||
// We only store/display messages destined for us.
|
||||
devicestate.rx_text_message = mp;
|
||||
devicestate.has_rx_text_message = true;
|
||||
|
||||
#if HAS_SCREEN
|
||||
// Store in the central message history
|
||||
const StoredMessage &sm = messageStore.addFromPacket(mp);
|
||||
#if HAS_SCREEN
|
||||
|
||||
// Pass message to renderer (banner + thread switching + scroll reset)
|
||||
graphics::MessageRenderer::handleNewMessage(sm, mp);
|
||||
#endif
|
||||
|
||||
Loading…
Reference in New Issue
Block a user