Move airtime calculation to when Tx is complete (#8427)

This commit is contained in:
GUVWAF
2025-10-23 12:42:36 +02:00
committed by GitHub
parent 15ee1c2819
commit 07d354fa02

View File

@@ -289,12 +289,7 @@ void RadioLibInterface::onNotify(uint32_t notification)
// actual transmission as short as possible // actual transmission as short as possible
txp = txQueue.dequeue(); txp = txQueue.dequeue();
assert(txp); assert(txp);
bool sent = startSend(txp); startSend(txp);
if (sent) {
// Packet has been sent, count it toward our TX airtime utilization.
uint32_t xmitMsec = getPacketTime(txp);
airTime->logAirtime(TX_LOG, xmitMsec);
}
LOG_DEBUG("%d packets remain in the TX queue", txQueue.getMaxLen() - txQueue.getFree()); LOG_DEBUG("%d packets remain in the TX queue", txQueue.getMaxLen() - txQueue.getFree());
} }
} }
@@ -413,6 +408,10 @@ void RadioLibInterface::completeSending()
sendingPacket = NULL; sendingPacket = NULL;
if (p) { if (p) {
// Packet has been sent, count it toward our TX airtime utilization.
uint32_t xmitMsec = getPacketTime(p);
airTime->logAirtime(TX_LOG, xmitMsec);
txGood++; txGood++;
if (!isFromUs(p)) if (!isFromUs(p))
txRelay++; txRelay++;