Only stop retransmissions when receiving implicit ACK over LoRa (#7872)

* Only stop retransmissions when receiving implicit ACK over LoRa

* trunk fmt
pull/7856/head
GUVWAF 2025-09-05 18:01:25 +02:00 zatwierdzone przez Ben Meadors
rodzic ec9f3fa6ea
commit a25bfd264c
3 zmienionych plików z 10 dodań i 4 usunięć

Wyświetl plik

@ -34,8 +34,11 @@ bool NextHopRouter::shouldFilterReceived(const meshtastic_MeshPacket *p)
bool weWereNextHop = false;
if (wasSeenRecently(p, true, &wasFallback, &weWereNextHop)) { // Note: this will also add a recent packet record
printPacket("Ignore dupe incoming msg", p);
rxDupe++;
stopRetransmission(p->from, p->id);
if (p->transport_mechanism == meshtastic_MeshPacket_TransportMechanism_TRANSPORT_LORA) {
rxDupe++;
stopRetransmission(p->from, p->id);
}
// If it was a fallback to flooding, try to relay again
if (wasFallback) {

Wyświetl plik

@ -58,7 +58,10 @@ bool ReliableRouter::shouldFilterReceived(const meshtastic_MeshPacket *p)
// marked as wantAck
sendAckNak(meshtastic_Routing_Error_NONE, getFrom(p), p->id, old->packet->channel);
stopRetransmission(key);
// Only stop retransmissions if the rebroadcast came via LoRa
if (p->transport_mechanism == meshtastic_MeshPacket_TransportMechanism_TRANSPORT_LORA) {
stopRetransmission(key);
}
} else {
LOG_DEBUG("Didn't find pending packet");
}

Wyświetl plik

@ -61,7 +61,7 @@
#define HAS_SDCARD 1
#define SDCARD_USE_SPI1 1
#define SDCARD_CS 2
#define SDCARD_CS 2
#define SPI_FREQUENCY 40000000
#define SPI_READ_FREQUENCY 16000000