CustomSX1276Wrapper.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536
  1. #pragma once
  2. #include "CustomSX1276.h"
  3. #include "RadioLibWrappers.h"
  4. #ifndef USE_SX1276
  5. #define USE_SX1276
  6. #endif
  7. class CustomSX1276Wrapper : public RadioLibWrapper {
  8. public:
  9. CustomSX1276Wrapper(CustomSX1276& radio, mesh::MainBoard& board) : RadioLibWrapper(radio, board) { }
  10. void setParams(float freq, float bw, uint8_t sf, uint8_t cr) override {
  11. ((CustomSX1276 *)_radio)->setFrequency(freq);
  12. ((CustomSX1276 *)_radio)->setSpreadingFactor(sf);
  13. ((CustomSX1276 *)_radio)->setBandwidth(bw);
  14. ((CustomSX1276 *)_radio)->setCodingRate(cr);
  15. updatePreamble(sf);
  16. }
  17. bool isReceivingPacket() override {
  18. return ((CustomSX1276 *)_radio)->isReceiving();
  19. }
  20. float getCurrentRSSI() override {
  21. return ((CustomSX1276 *)_radio)->getRSSI(false);
  22. }
  23. float getLastRSSI() const override { return ((CustomSX1276 *)_radio)->getRSSI(); }
  24. float getLastSNR() const override { return ((CustomSX1276 *)_radio)->getSNR(); }
  25. float packetScore(float snr, int packet_len) override {
  26. int sf = ((CustomSX1276 *)_radio)->spreadingFactor;
  27. return packetScoreInt(snr, sf, packet_len);
  28. }
  29. uint8_t getSpreadingFactor() const override { return ((CustomSX1276 *)_radio)->spreadingFactor; }
  30. };