diff --git a/src/Dispatcher.cpp b/src/Dispatcher.cpp index bba19ec2..b67ba7cf 100644 --- a/src/Dispatcher.cpp +++ b/src/Dispatcher.cpp @@ -108,7 +108,7 @@ void Dispatcher::checkRecv() { pkt->payload_len = len - i; // payload is remainder memcpy(pkt->payload, &raw[i], pkt->payload_len); - score = _radio->packetScore(pkt->_snr = _radio->getLastSNR(), len); + score = _radio->packetScore(pkt->_snr = (_radio->getLastSNR() * 4.0f), len); air_time = _radio->getEstAirtimeFor(len); } } diff --git a/src/Packet.h b/src/Packet.h index 83520fe7..e20b3a49 100644 --- a/src/Packet.h +++ b/src/Packet.h @@ -45,7 +45,7 @@ public: uint16_t payload_len, path_len; uint8_t path[MAX_PATH_SIZE]; uint8_t payload[MAX_PACKET_PAYLOAD]; - float _snr; + int8_t _snr; /** * \brief calculate the hash of payload + type @@ -74,7 +74,7 @@ public: void markDoNotRetransmit() { header = 0xFF; } bool isMarkedDoNotRetransmit() const { return header == 0xFF; } - float getSNR() const { return _snr; } + float getSNR() const { return ((float)_snr) / 4.0f; } /** * \brief save entire packet as a blob