log messages sent from apps

This commit is contained in:
HarukiToreda 2025-10-17 01:12:47 -04:00
parent 13458d3a6a
commit c0361d2aea
2 changed files with 13 additions and 2 deletions

View File

@ -169,7 +169,7 @@ struct __attribute__((packed)) StoredMessageRecord {
uint8_t ackStatus; // static_cast<uint8_t>(AckStatus) uint8_t ackStatus; // static_cast<uint8_t>(AckStatus)
uint8_t type; // static_cast<uint8_t>(MessageType) uint8_t type; // static_cast<uint8_t>(MessageType)
uint16_t textLength; // message length uint16_t textLength; // message length
char text[MAX_MESSAGE_SIZE]; // <-- store actual text here char text[MAX_MESSAGE_SIZE]; // store actual text here
}; };
// Serialize one StoredMessage to flash // Serialize one StoredMessage to flash

View File

@ -17,6 +17,8 @@
#include "modules/NodeInfoModule.h" #include "modules/NodeInfoModule.h"
#include "modules/PositionModule.h" #include "modules/PositionModule.h"
#include "modules/RoutingModule.h" #include "modules/RoutingModule.h"
#include "MessageStore.h"
#include "graphics/draw/MessageRenderer.h"
#include "power.h" #include "power.h"
#include <assert.h> #include <assert.h>
#include <string> #include <string>
@ -192,8 +194,17 @@ void MeshService::handleToRadio(meshtastic_MeshPacket &p)
p.id = generatePacketId(); // If the phone didn't supply one, then pick one p.id = generatePacketId(); // If the phone didn't supply one, then pick one
p.rx_time = getValidTime(RTCQualityFromNet); // Record the time the packet arrived from the phone p.rx_time = getValidTime(RTCQualityFromNet); // Record the time the packet arrived from the phone
// (so we update our nodedb for the local node)
#if HAS_SCREEN
if (p.decoded.portnum == meshtastic_PortNum_TEXT_MESSAGE_APP &&
p.decoded.payload.size > 0 &&
p.to != NODENUM_BROADCAST && p.to != 0) // DM only
{
perhapsDecode(&p);
const StoredMessage &sm = messageStore.addFromPacket(p);
graphics::MessageRenderer::handleNewMessage(nullptr, sm, p); // notify UI
}
#endif
// Send the packet into the mesh // Send the packet into the mesh
DEBUG_HEAP_BEFORE; DEBUG_HEAP_BEFORE;
auto a = packetPool.allocCopy(p); auto a = packetPool.allocCopy(p);