bugfix Add rssi and snr to the store and forward code. (#7462)
* Update StoreForwardModule.cpp * Update StoreForwardModule.h --------- Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
This commit is contained in:
co-authored by
Ben Meadors
parent
28aeb0f09e
commit
aa3b14ce72
@@ -202,6 +202,8 @@ void StoreForwardModule::historyAdd(const meshtastic_MeshPacket &mp)
|
|||||||
this->packetHistory[this->packetHistoryTotalCount].reply_id = p.reply_id;
|
this->packetHistory[this->packetHistoryTotalCount].reply_id = p.reply_id;
|
||||||
this->packetHistory[this->packetHistoryTotalCount].emoji = (bool)p.emoji;
|
this->packetHistory[this->packetHistoryTotalCount].emoji = (bool)p.emoji;
|
||||||
this->packetHistory[this->packetHistoryTotalCount].payload_size = p.payload.size;
|
this->packetHistory[this->packetHistoryTotalCount].payload_size = p.payload.size;
|
||||||
|
this->packetHistory[this->packetHistoryTotalCount].rx_rssi = mp.rx_rssi;
|
||||||
|
this->packetHistory[this->packetHistoryTotalCount].rx_snr = mp.rx_snr;
|
||||||
memcpy(this->packetHistory[this->packetHistoryTotalCount].payload, p.payload.bytes, meshtastic_Constants_DATA_PAYLOAD_LEN);
|
memcpy(this->packetHistory[this->packetHistoryTotalCount].payload, p.payload.bytes, meshtastic_Constants_DATA_PAYLOAD_LEN);
|
||||||
|
|
||||||
this->packetHistoryTotalCount++;
|
this->packetHistoryTotalCount++;
|
||||||
@@ -252,6 +254,8 @@ meshtastic_MeshPacket *StoreForwardModule::preparePayload(NodeNum dest, uint32_t
|
|||||||
p->decoded.reply_id = this->packetHistory[i].reply_id;
|
p->decoded.reply_id = this->packetHistory[i].reply_id;
|
||||||
p->rx_time = this->packetHistory[i].time;
|
p->rx_time = this->packetHistory[i].time;
|
||||||
p->decoded.emoji = (uint32_t)this->packetHistory[i].emoji;
|
p->decoded.emoji = (uint32_t)this->packetHistory[i].emoji;
|
||||||
|
p->rx_rssi = this->packetHistory[i].rx_rssi;
|
||||||
|
p->rx_snr = this->packetHistory[i].rx_snr;
|
||||||
|
|
||||||
// Let's assume that if the server received the S&F request that the client is in range.
|
// Let's assume that if the server received the S&F request that the client is in range.
|
||||||
// TODO: Make this configurable.
|
// TODO: Make this configurable.
|
||||||
@@ -623,4 +627,4 @@ StoreForwardModule::StoreForwardModule()
|
|||||||
disable();
|
disable();
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
@@ -19,6 +19,8 @@ struct PacketHistoryStruct {
|
|||||||
bool emoji;
|
bool emoji;
|
||||||
uint8_t payload[meshtastic_Constants_DATA_PAYLOAD_LEN];
|
uint8_t payload[meshtastic_Constants_DATA_PAYLOAD_LEN];
|
||||||
pb_size_t payload_size;
|
pb_size_t payload_size;
|
||||||
|
int32_t rx_rssi;
|
||||||
|
float rx_snr;
|
||||||
};
|
};
|
||||||
|
|
||||||
class StoreForwardModule : private concurrency::OSThread, public ProtobufModule<meshtastic_StoreAndForward>
|
class StoreForwardModule : private concurrency::OSThread, public ProtobufModule<meshtastic_StoreAndForward>
|
||||||
@@ -108,4 +110,4 @@ class StoreForwardModule : private concurrency::OSThread, public ProtobufModule<
|
|||||||
virtual bool handleReceivedProtobuf(const meshtastic_MeshPacket &mp, meshtastic_StoreAndForward *p);
|
virtual bool handleReceivedProtobuf(const meshtastic_MeshPacket &mp, meshtastic_StoreAndForward *p);
|
||||||
};
|
};
|
||||||
|
|
||||||
extern StoreForwardModule *storeForwardModule;
|
extern StoreForwardModule *storeForwardModule;
|
||||||
Reference in New Issue
Block a user