Просмотр исходного кода

* refactor Packet::_snr to single byte

Scott Powell 1 год назад
Родитель
Сommit
544adec2b6
2 измененных файлов с 3 добавлено и 3 удалено
  1. 1 1
      src/Dispatcher.cpp
  2. 2 2
      src/Packet.h

+ 1 - 1
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);
         }
       }

+ 2 - 2
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