mirror of
https://github.com/MarekZegare4/MeshCore-Solo.git
synced 2026-11-02 19:02:00 +00:00
feat(map): packet flow - what the radio hears, as lines between nodes
Every packet heard runs from its origin through the repeaters with a
position to this device; a packet sent is a ring. ui-core/PacketFlow.h
resolves them (UiCore::flow, MyMesh logRx/logTx -> Listener). ui-lvgl
draws them on the map's marker layer and repaints only their area while
they move; ui-new draws the last minute on the Nodes map ("Flow" in its
options). Setting: Map options > On the map > Packet flow, CLI map.flow.
Off by default. Sim-checked only.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -188,6 +188,10 @@ public:
|
||||
// its state and restarts. Returns false if it doesn't handle it, and
|
||||
// MyMesh then flushes and reboots by itself.
|
||||
virtual bool requestShutdown(bool restart) { return false; }
|
||||
// Every packet heard / sent, for a picture of the mesh at work
|
||||
// (ui-core/PacketFlow.h). Called before the packet is handled.
|
||||
virtual void onPacketHeard(const mesh::Packet* pkt) { }
|
||||
virtual void onPacketSent(const mesh::Packet* pkt) { }
|
||||
// A companion CLI command MyMesh has no answer for (its settings keys):
|
||||
// the reply into `reply` (n bytes), false when unknown.
|
||||
virtual bool onCliCommand(const char* command, char* reply, int n) { return false; }
|
||||
@@ -292,6 +296,8 @@ protected:
|
||||
void sendFloodScoped(const mesh::GroupChannel& channel, mesh::Packet* pkt, uint32_t delay_millis=0) override;
|
||||
|
||||
void logRxRaw(float snr, float rssi, const uint8_t raw[], int len) override;
|
||||
void logRx(mesh::Packet* pkt, int len, float score) override { if (_listener) _listener->onPacketHeard(pkt); }
|
||||
void logTx(mesh::Packet* pkt, int len) override { if (_listener) _listener->onPacketSent(pkt); }
|
||||
bool isAutoAddEnabled() const override;
|
||||
bool shouldAutoAddContactType(uint8_t type) const override;
|
||||
bool shouldOverwriteWhenFull() const override;
|
||||
|
||||
Reference in New Issue
Block a user