diff --git a/_s_x127x_8h_source.html b/_s_x127x_8h_source.html index a7a8ae2a..3bf3e953 100644 --- a/_s_x127x_8h_source.html +++ b/_s_x127x_8h_source.html @@ -702,262 +702,262 @@ $(document).ready(function(){initNavTree('_s_x127x_8h_source.html',''); initResi
713 
714  // interrupt methods
715 
-
721  void setDio0Action(void (*func)(void));
-
722 
-
726  void clearDio0Action();
-
727 
-
733  void setDio1Action(void (*func)(void));
-
734 
-
738  void clearDio1Action();
-
739 
-
745  void setFifoEmptyAction(void (*func)(void));
-
746 
-
750  void clearFifoEmptyAction();
-
751 
-
757  void setFifoFullAction(void (*func)(void));
-
758 
-
762  void clearFifoFullAction();
-
763 
-
775  bool fifoAdd(uint8_t* data, int totalLen, volatile int* remLen);
-
776 
-
788  bool fifoGet(volatile uint8_t* data, int totalLen, volatile int* rcvLen);
-
789 
-
801  int16_t startTransmit(uint8_t* data, size_t len, uint8_t addr = 0) override;
-
802 
-
808  int16_t finishTransmit() override;
-
809 
-
819  int16_t startReceive(uint8_t len = 0, uint8_t mode = RADIOLIB_SX127X_RXCONTINUOUS);
-
820 
-
831  int16_t readData(uint8_t* data, size_t len) override;
-
832 
-
839  int16_t startChannelScan();
-
840 
-
841  // configuration methods
-
842 
-
850  int16_t setSyncWord(uint8_t syncWord);
-
851 
-
859  int16_t setCurrentLimit(uint8_t currentLimit);
-
860 
-
868  int16_t setPreambleLength(uint16_t preambleLength);
-
869 
-
877  float getFrequencyError(bool autoCorrect = false);
-
878 
-
884  float getAFCError();
-
885 
-
891  float getSNR();
-
892 
-
898  float getDataRate() const;
-
899 
-
907  int16_t setBitRate(float br);
-
908 
-
916  int16_t setFrequencyDeviation(float freqDev) override;
-
917 
-
925  int16_t setRxBandwidth(float rxBw);
-
926 
-
934  int16_t setAFCBandwidth(float afcBw);
-
935 
-
943  int16_t setAFC(bool isEnabled);
-
944 
-
952  int16_t setAFCAGCTrigger(uint8_t trigger);
-
953 
-
963  int16_t setSyncWord(uint8_t* syncWord, size_t len);
-
964 
-
972  int16_t setNodeAddress(uint8_t nodeAddr);
-
973 
-
981  int16_t setBroadcastAddress(uint8_t broadAddr);
-
982 
-
988  int16_t disableAddressFiltering();
-
989 
-
997  int16_t setOOK(bool enableOOK);
-
998 
-
1006  int16_t setOokThresholdType(uint8_t type);
-
1007 
-
1015  int16_t setOokPeakThresholdDecrement(uint8_t value);
-
1016 
-
1024  int16_t setOokFixedOrFloorThreshold(uint8_t value);
-
1025 
-
1033  int16_t setOokPeakThresholdStep(uint8_t value);
-
1034 
-
1040  int16_t enableBitSync();
-
1041 
-
1047  int16_t disableBitSync();
-
1048 
-
1056  size_t getPacketLength(bool update = true) override;
-
1057 
-
1065  int16_t fixedPacketLengthMode(uint8_t len = RADIOLIB_SX127X_MAX_PACKET_LENGTH_FSK);
-
1066 
-
1074  int16_t variablePacketLengthMode(uint8_t maxLen = RADIOLIB_SX127X_MAX_PACKET_LENGTH_FSK);
-
1075 
-
1083  uint32_t getTimeOnAir(size_t len);
-
1084 
-
1092  int16_t setCrcFiltering(bool crcOn = true);
-
1093 
-
1104  int16_t setRSSIConfig(uint8_t smoothingSamples, int8_t offset = 0);
-
1105 
-
1114  int16_t setEncoding(uint8_t encoding) override;
-
1115 
-
1123  uint16_t getIRQFlags();
-
1124 
-
1130  uint8_t getModemStatus();
-
1131 
-
1138  int8_t getTempRaw();
-
1139 
-
1148  void setRfSwitchPins(RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn);
-
1149 
-
1155  uint8_t randomByte();
-
1156 
-
1162  int16_t getChipVersion();
-
1163 
-
1171  int16_t invertIQ(bool invertIQ);
-
1172 
-
1173  #if !defined(RADIOLIB_EXCLUDE_DIRECT_RECEIVE)
-
1174 
-
1179  void setDirectAction(void (*func)(void));
-
1180 
-
1186  void readBit(RADIOLIB_PIN_TYPE pin);
-
1187  #endif
-
1188 
-
1196  int16_t setFHSSHoppingPeriod(uint8_t freqHoppingPeriod);
-
1197 
-
1203  uint8_t getFHSSHoppingPeriod(void);
-
1204 
-
1210  uint8_t getFHSSChannel(void);
-
1211 
-
1215  void clearFHSSInt(void);
-
1216 
-
1226  int16_t setDIOMapping(RADIOLIB_PIN_TYPE pin, uint8_t value);
-
1227 
-
1235  int16_t setDIOPreambleDetect(bool usePreambleDetect);
-
1236 
-
1244  int16_t setRSSIThreshold(float dbm);
-
1245 
-
1246 #if !defined(RADIOLIB_GODMODE) && !defined(RADIOLIB_LOW_LEVEL)
-
1247  protected:
-
1248 #endif
-
1249  Module* _mod;
-
1250 
-
1251 #if !defined(RADIOLIB_GODMODE)
-
1252  protected:
-
1253 #endif
+
723  void setDio0Action(void (*func)(void), RADIOLIB_INTERRUPT_STATUS dir = RISING);
+
724 
+
728  void clearDio0Action();
+
729 
+
737  void setDio1Action(void (*func)(void), RADIOLIB_INTERRUPT_STATUS dir = RISING);
+
738 
+
742  void clearDio1Action();
+
743 
+
749  void setFifoEmptyAction(void (*func)(void));
+
750 
+
754  void clearFifoEmptyAction();
+
755 
+
761  void setFifoFullAction(void (*func)(void));
+
762 
+
766  void clearFifoFullAction();
+
767 
+
779  bool fifoAdd(uint8_t* data, int totalLen, volatile int* remLen);
+
780 
+
792  bool fifoGet(volatile uint8_t* data, int totalLen, volatile int* rcvLen);
+
793 
+
805  int16_t startTransmit(uint8_t* data, size_t len, uint8_t addr = 0) override;
+
806 
+
812  int16_t finishTransmit() override;
+
813 
+
823  int16_t startReceive(uint8_t len = 0, uint8_t mode = RADIOLIB_SX127X_RXCONTINUOUS);
+
824 
+
835  int16_t readData(uint8_t* data, size_t len) override;
+
836 
+
843  int16_t startChannelScan();
+
844 
+
845  // configuration methods
+
846 
+
854  int16_t setSyncWord(uint8_t syncWord);
+
855 
+
863  int16_t setCurrentLimit(uint8_t currentLimit);
+
864 
+
872  int16_t setPreambleLength(uint16_t preambleLength);
+
873 
+
881  float getFrequencyError(bool autoCorrect = false);
+
882 
+
888  float getAFCError();
+
889 
+
895  float getSNR();
+
896 
+
902  float getDataRate() const;
+
903 
+
911  int16_t setBitRate(float br);
+
912 
+
920  int16_t setFrequencyDeviation(float freqDev) override;
+
921 
+
929  int16_t setRxBandwidth(float rxBw);
+
930 
+
938  int16_t setAFCBandwidth(float afcBw);
+
939 
+
947  int16_t setAFC(bool isEnabled);
+
948 
+
956  int16_t setAFCAGCTrigger(uint8_t trigger);
+
957 
+
967  int16_t setSyncWord(uint8_t* syncWord, size_t len);
+
968 
+
976  int16_t setNodeAddress(uint8_t nodeAddr);
+
977 
+
985  int16_t setBroadcastAddress(uint8_t broadAddr);
+
986 
+
992  int16_t disableAddressFiltering();
+
993 
+
1001  int16_t setOOK(bool enableOOK);
+
1002 
+
1010  int16_t setOokThresholdType(uint8_t type);
+
1011 
+
1019  int16_t setOokPeakThresholdDecrement(uint8_t value);
+
1020 
+
1028  int16_t setOokFixedOrFloorThreshold(uint8_t value);
+
1029 
+
1037  int16_t setOokPeakThresholdStep(uint8_t value);
+
1038 
+
1044  int16_t enableBitSync();
+
1045 
+
1051  int16_t disableBitSync();
+
1052 
+
1060  size_t getPacketLength(bool update = true) override;
+
1061 
+
1069  int16_t fixedPacketLengthMode(uint8_t len = RADIOLIB_SX127X_MAX_PACKET_LENGTH_FSK);
+
1070 
+
1078  int16_t variablePacketLengthMode(uint8_t maxLen = RADIOLIB_SX127X_MAX_PACKET_LENGTH_FSK);
+
1079 
+
1087  uint32_t getTimeOnAir(size_t len);
+
1088 
+
1096  int16_t setCrcFiltering(bool crcOn = true);
+
1097 
+
1108  int16_t setRSSIConfig(uint8_t smoothingSamples, int8_t offset = 0);
+
1109 
+
1118  int16_t setEncoding(uint8_t encoding) override;
+
1119 
+
1127  uint16_t getIRQFlags();
+
1128 
+
1134  uint8_t getModemStatus();
+
1135 
+
1142  int8_t getTempRaw();
+
1143 
+
1152  void setRfSwitchPins(RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn);
+
1153 
+
1159  uint8_t randomByte();
+
1160 
+
1166  int16_t getChipVersion();
+
1167 
+
1175  int16_t invertIQ(bool invertIQ);
+
1176 
+
1177  #if !defined(RADIOLIB_EXCLUDE_DIRECT_RECEIVE)
+
1178 
+
1183  void setDirectAction(void (*func)(void));
+
1184 
+
1190  void readBit(RADIOLIB_PIN_TYPE pin);
+
1191  #endif
+
1192 
+
1200  int16_t setFHSSHoppingPeriod(uint8_t freqHoppingPeriod);
+
1201 
+
1207  uint8_t getFHSSHoppingPeriod(void);
+
1208 
+
1214  uint8_t getFHSSChannel(void);
+
1215 
+
1219  void clearFHSSInt(void);
+
1220 
+
1230  int16_t setDIOMapping(RADIOLIB_PIN_TYPE pin, uint8_t value);
+
1231 
+
1239  int16_t setDIOPreambleDetect(bool usePreambleDetect);
+
1240 
+
1248  int16_t setRSSIThreshold(float dbm);
+
1249 
+
1250 #if !defined(RADIOLIB_GODMODE) && !defined(RADIOLIB_LOW_LEVEL)
+
1251  protected:
+
1252 #endif
+
1253  Module* _mod;
1254 
-
1255  float _freq = 0;
-
1256  float _bw = 0;
-
1257  uint8_t _sf = 0;
-
1258  uint8_t _cr = 0;
-
1259  float _br = 0;
-
1260  bool _ook = false;
-
1261  bool _crcEnabled = false;
-
1262  bool _crcOn = true; // default value used in FSK mode
-
1263  size_t _packetLength = 0;
-
1264 
-
1265  int16_t setFrequencyRaw(float newFreq);
-
1266  int16_t config();
-
1267  int16_t configFSK();
-
1268  int16_t getActiveModem();
-
1269  int16_t directMode();
-
1270  int16_t setPacketMode(uint8_t mode, uint8_t len);
-
1271 
-
1272 #if !defined(RADIOLIB_GODMODE)
-
1273  private:
-
1274 #endif
-
1275  float _dataRate = 0;
-
1276  bool _packetLengthQueried = false; // FSK packet length is the first byte in FIFO, length can only be queried once
-
1277  uint8_t _packetLengthConfig = RADIOLIB_SX127X_PACKET_VARIABLE;
-
1278 
-
1279  bool findChip(uint8_t ver);
-
1280  int16_t setMode(uint8_t mode);
-
1281  int16_t setActiveModem(uint8_t modem);
-
1282  void clearIRQFlags();
-
1283  void clearFIFO(size_t count); // used mostly to clear remaining bytes in FIFO after a packet read
-
1291  static uint8_t calculateBWManExp(float bandwidth);
-
1292 
-
1293  virtual void errataFix(bool rx) = 0;
-
1294 };
-
1295 
-
1296 #endif
-
1297 
-
1298 #endif
+
1255 #if !defined(RADIOLIB_GODMODE)
+
1256  protected:
+
1257 #endif
+
1258 
+
1259  float _freq = 0;
+
1260  float _bw = 0;
+
1261  uint8_t _sf = 0;
+
1262  uint8_t _cr = 0;
+
1263  float _br = 0;
+
1264  bool _ook = false;
+
1265  bool _crcEnabled = false;
+
1266  bool _crcOn = true; // default value used in FSK mode
+
1267  size_t _packetLength = 0;
+
1268 
+
1269  int16_t setFrequencyRaw(float newFreq);
+
1270  int16_t config();
+
1271  int16_t configFSK();
+
1272  int16_t getActiveModem();
+
1273  int16_t directMode();
+
1274  int16_t setPacketMode(uint8_t mode, uint8_t len);
+
1275 
+
1276 #if !defined(RADIOLIB_GODMODE)
+
1277  private:
+
1278 #endif
+
1279  float _dataRate = 0;
+
1280  bool _packetLengthQueried = false; // FSK packet length is the first byte in FIFO, length can only be queried once
+
1281  uint8_t _packetLengthConfig = RADIOLIB_SX127X_PACKET_VARIABLE;
+
1282 
+
1283  bool findChip(uint8_t ver);
+
1284  int16_t setMode(uint8_t mode);
+
1285  int16_t setActiveModem(uint8_t modem);
+
1286  void clearIRQFlags();
+
1287  void clearFIFO(size_t count); // used mostly to clear remaining bytes in FIFO after a packet read
+
1295  static uint8_t calculateBWManExp(float bandwidth);
+
1296 
+
1297  virtual void errataFix(bool rx) = 0;
+
1298 };
+
1299 
+
1300 #endif
+
1301 
+
1302 #endif
PhysicalLayer::transmit
int16_t transmit(__FlashStringHelper *fstr, uint8_t addr=0)
Arduino Flash String transmit method.
Definition: PhysicalLayer.cpp:12
-
SX127x::setDIOPreambleDetect
int16_t setDIOPreambleDetect(bool usePreambleDetect)
Configure DIO mapping to use RSSI or Preamble Detect for pins that support it.
Definition: SX127x.cpp:1566
-
SX127x::setNodeAddress
int16_t setNodeAddress(uint8_t nodeAddr)
Sets FSK node address. Calling this method will enable address filtering. Only available in FSK mode.
Definition: SX127x.cpp:992
-
SX127x::getTempRaw
int8_t getTempRaw()
Reads uncalibrated temperature value. This function will change operating mode and should not be call...
Definition: SX127x.cpp:1316
-
SX127x::startReceive
int16_t startReceive(uint8_t len=0, uint8_t mode=RADIOLIB_SX127X_RXCONTINUOUS)
Interrupt-driven receive method. DIO0 will be activated when full valid packet is received.
Definition: SX127x.cpp:371
-
SX127x::clearFHSSInt
void clearFHSSInt(void)
Clear the FHSS interrupt.
Definition: SX127x.cpp:1547
-
SX127x::setFifoEmptyAction
void setFifoEmptyAction(void(*func)(void))
Set interrupt service routine function to call when FIFO is empty.
Definition: SX127x.cpp:447
-
SX127x::invertIQ
int16_t invertIQ(bool invertIQ)
Enables/disables Invert the LoRa I and Q signals.
Definition: SX127x.cpp:1505
-
SX127x::setAFCAGCTrigger
int16_t setAFCAGCTrigger(uint8_t trigger)
Controls trigger of AFC and AGC.
Definition: SX127x.cpp:958
-
SX127x::setEncoding
int16_t setEncoding(uint8_t encoding) override
Sets transmission encoding. Only available in FSK mode. Allowed values are RADIOLIB_ENCODING_NRZ,...
Definition: SX127x.cpp:1239
-
SX127x::setDio1Action
void setDio1Action(void(*func)(void))
Set interrupt service routine function to call when DIO1 activates.
Definition: SX127x.cpp:433
-
SX127x::readBit
void readBit(RADIOLIB_PIN_TYPE pin)
Function to read and process data bit in direct reception mode.
Definition: SX127x.cpp:1530
-
SX127x::setRSSIThreshold
int16_t setRSSIThreshold(float dbm)
Sets the RSSI value above which the RSSI interrupt is signaled.
Definition: SX127x.cpp:1210
-
SX127x::enableBitSync
int16_t enableBitSync()
Enable Bit synchronizer.
Definition: SX127x.cpp:1070
-
SX127x::setDirectAction
void setDirectAction(void(*func)(void))
Set interrupt service routine function to call when data bit is receveid in direct mode.
Definition: SX127x.cpp:1526
-
SX127x::sleep
int16_t sleep()
Sets the LoRa module to sleep to save power. Module will not be able to transmit or receive any data ...
Definition: SX127x.cpp:280
-
SX127x::readData
int16_t readData(uint8_t *data, size_t len) override
Reads data that was received after calling startReceive method. This method reads len characters.
Definition: SX127x.cpp:614
-
SX127x::variablePacketLengthMode
int16_t variablePacketLengthMode(uint8_t maxLen=RADIOLIB_SX127X_MAX_PACKET_LENGTH_FSK)
Set modem in variable packet length mode. Available in FSK mode only.
Definition: SX127x.cpp:1150
-
SX127x::disableBitSync
int16_t disableBitSync()
Disable Bit synchronizer (not allowed in Packet mode).
Definition: SX127x.cpp:1074
-
SX127x::setAFC
int16_t setAFC(bool isEnabled)
Enables or disables FSK automatic frequency correction(AFC)
Definition: SX127x.cpp:948
-
SX127x::fifoGet
bool fifoGet(volatile uint8_t *data, int totalLen, volatile int *rcvLen)
Set interrupt service routine function to call when FIFO is sufficently full to read.
Definition: SX127x.cpp:500
-
SX127x::setOokPeakThresholdStep
int16_t setOokPeakThresholdStep(uint8_t value)
Size of each decrement of the RSSI threshold in the OOK demodulator.
Definition: SX127x.cpp:1062
-
SX127x::finishTransmit
int16_t finishTransmit() override
Clean up after transmission is done.
Definition: SX127x.cpp:606
-
SX127x::clearDio1Action
void clearDio1Action()
Clears interrupt service routine to call when DIO1 activates.
Definition: SX127x.cpp:440
-
SX127x::setSyncWord
int16_t setSyncWord(uint8_t syncWord)
Sets LoRa sync word. Only available in LoRa mode.
Definition: SX127x.cpp:695
+
SX127x::setDIOPreambleDetect
int16_t setDIOPreambleDetect(bool usePreambleDetect)
Configure DIO mapping to use RSSI or Preamble Detect for pins that support it.
Definition: SX127x.cpp:1561
+
SX127x::setNodeAddress
int16_t setNodeAddress(uint8_t nodeAddr)
Sets FSK node address. Calling this method will enable address filtering. Only available in FSK mode.
Definition: SX127x.cpp:987
+
SX127x::getTempRaw
int8_t getTempRaw()
Reads uncalibrated temperature value. This function will change operating mode and should not be call...
Definition: SX127x.cpp:1311
+
SX127x::startReceive
int16_t startReceive(uint8_t len=0, uint8_t mode=RADIOLIB_SX127X_RXCONTINUOUS)
Interrupt-driven receive method. DIO0 will be activated when full valid packet is received.
Definition: SX127x.cpp:367
+
SX127x::clearFHSSInt
void clearFHSSInt(void)
Clear the FHSS interrupt.
Definition: SX127x.cpp:1542
+
SX127x::setFifoEmptyAction
void setFifoEmptyAction(void(*func)(void))
Set interrupt service routine function to call when FIFO is empty.
Definition: SX127x.cpp:442
+
SX127x::invertIQ
int16_t invertIQ(bool invertIQ)
Enables/disables Invert the LoRa I and Q signals.
Definition: SX127x.cpp:1500
+
SX127x::setAFCAGCTrigger
int16_t setAFCAGCTrigger(uint8_t trigger)
Controls trigger of AFC and AGC.
Definition: SX127x.cpp:953
+
SX127x::setDio1Action
void setDio1Action(void(*func)(void), RADIOLIB_INTERRUPT_STATUS dir=RISING)
Set interrupt service routine function to call when DIO1 activates.
Definition: SX127x.cpp:428
+
SX127x::setEncoding
int16_t setEncoding(uint8_t encoding) override
Sets transmission encoding. Only available in FSK mode. Allowed values are RADIOLIB_ENCODING_NRZ,...
Definition: SX127x.cpp:1234
+
SX127x::readBit
void readBit(RADIOLIB_PIN_TYPE pin)
Function to read and process data bit in direct reception mode.
Definition: SX127x.cpp:1525
+
SX127x::setRSSIThreshold
int16_t setRSSIThreshold(float dbm)
Sets the RSSI value above which the RSSI interrupt is signaled.
Definition: SX127x.cpp:1205
+
SX127x::enableBitSync
int16_t enableBitSync()
Enable Bit synchronizer.
Definition: SX127x.cpp:1065
+
SX127x::setDirectAction
void setDirectAction(void(*func)(void))
Set interrupt service routine function to call when data bit is receveid in direct mode.
Definition: SX127x.cpp:1521
+
SX127x::sleep
int16_t sleep()
Sets the LoRa module to sleep to save power. Module will not be able to transmit or receive any data ...
Definition: SX127x.cpp:276
+
SX127x::readData
int16_t readData(uint8_t *data, size_t len) override
Reads data that was received after calling startReceive method. This method reads len characters.
Definition: SX127x.cpp:609
+
SX127x::variablePacketLengthMode
int16_t variablePacketLengthMode(uint8_t maxLen=RADIOLIB_SX127X_MAX_PACKET_LENGTH_FSK)
Set modem in variable packet length mode. Available in FSK mode only.
Definition: SX127x.cpp:1145
+
SX127x::disableBitSync
int16_t disableBitSync()
Disable Bit synchronizer (not allowed in Packet mode).
Definition: SX127x.cpp:1069
+
SX127x::setAFC
int16_t setAFC(bool isEnabled)
Enables or disables FSK automatic frequency correction(AFC)
Definition: SX127x.cpp:943
+
SX127x::fifoGet
bool fifoGet(volatile uint8_t *data, int totalLen, volatile int *rcvLen)
Set interrupt service routine function to call when FIFO is sufficently full to read.
Definition: SX127x.cpp:495
+
SX127x::setOokPeakThresholdStep
int16_t setOokPeakThresholdStep(uint8_t value)
Size of each decrement of the RSSI threshold in the OOK demodulator.
Definition: SX127x.cpp:1057
+
SX127x::finishTransmit
int16_t finishTransmit() override
Clean up after transmission is done.
Definition: SX127x.cpp:601
+
SX127x::clearDio1Action
void clearDio1Action()
Clears interrupt service routine to call when DIO1 activates.
Definition: SX127x.cpp:435
+
SX127x::setSyncWord
int16_t setSyncWord(uint8_t syncWord)
Sets LoRa sync word. Only available in LoRa mode.
Definition: SX127x.cpp:690
PhysicalLayer::readData
int16_t readData(String &str, size_t len=0)
Reads data that was received after calling startReceive method.
Definition: PhysicalLayer.cpp:61
SX127x::beginFSK
int16_t beginFSK(uint8_t chipVersion, float br, float freqDev, float rxBw, uint16_t preambleLength, bool enableOOK)
Initialization method for FSK modem. Will be called with appropriate parameters when calling FSK init...
Definition: SX127x.cpp:59
-
SX127x::receiveDirect
int16_t receiveDirect() override
Enables direct reception mode on pins DIO1 (clock) and DIO2 (data). While in direct mode,...
Definition: SX127x.cpp:325
-
SX127x::setDio0Action
void setDio0Action(void(*func)(void))
Set interrupt service routine function to call when DIO0 activates.
Definition: SX127x.cpp:425
-
SX127x::setFrequencyDeviation
int16_t setFrequencyDeviation(float freqDev) override
Sets FSK frequency deviation from carrier frequency. Allowed values depend on bit rate setting and mu...
Definition: SX127x.cpp:874
-
SX127x::startChannelScan
int16_t startChannelScan()
Interrupt-driven channel activity detection method. DIO0 will be activated when LoRa preamble is dete...
Definition: SX127x.cpp:670
-
SX127x::getDataRate
float getDataRate() const
Get data rate of the latest transmitted packet.
Definition: SX127x.cpp:841
+
SX127x::receiveDirect
int16_t receiveDirect() override
Enables direct reception mode on pins DIO1 (clock) and DIO2 (data). While in direct mode,...
Definition: SX127x.cpp:321
+
SX127x::setDio0Action
void setDio0Action(void(*func)(void), RADIOLIB_INTERRUPT_STATUS dir=RISING)
Set interrupt service routine function to call when DIO0 activates.
Definition: SX127x.cpp:420
+
SX127x::setFrequencyDeviation
int16_t setFrequencyDeviation(float freqDev) override
Sets FSK frequency deviation from carrier frequency. Allowed values depend on bit rate setting and mu...
Definition: SX127x.cpp:869
+
SX127x::startChannelScan
int16_t startChannelScan()
Interrupt-driven channel activity detection method. DIO0 will be activated when LoRa preamble is dete...
Definition: SX127x.cpp:665
+
SX127x::getDataRate
float getDataRate() const
Get data rate of the latest transmitted packet.
Definition: SX127x.cpp:836
SX127x::transmit
int16_t transmit(uint8_t *data, size_t len, uint8_t addr=0) override
Binary transmit method. Will transmit arbitrary binary data up to 255 bytes long using LoRa or up to ...
Definition: SX127x.cpp:143
-
SX127x::setOokFixedOrFloorThreshold
int16_t setOokFixedOrFloorThreshold(uint8_t value)
Fixed threshold for the Data Slicer in OOK mode or floor threshold for the Data Slicer in OOK when Pe...
Definition: SX127x.cpp:1046
-
SX127x::setRfSwitchPins
void setRfSwitchPins(RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn)
Some modules contain external RF switch controlled by two pins. This function gives RadioLib control ...
Definition: SX127x.cpp:1283
-
SX127x::fixedPacketLengthMode
int16_t fixedPacketLengthMode(uint8_t len=RADIOLIB_SX127X_MAX_PACKET_LENGTH_FSK)
Set modem in fixed packet length mode. Available in FSK mode only.
Definition: SX127x.cpp:1146
-
SX127x::disableAddressFiltering
int16_t disableAddressFiltering()
Disables FSK address filtering.
Definition: SX127x.cpp:1020
-
SX127x::getTimeOnAir
uint32_t getTimeOnAir(size_t len)
Get expected time-on-air for a given size of payload.
Definition: SX127x.cpp:1154
-
SX127x::transmitDirect
int16_t transmitDirect(uint32_t frf=0) override
Enables direct transmission mode on pins DIO1 (clock) and DIO2 (data). While in direct mode,...
Definition: SX127x.cpp:296
-
SX127x::startTransmit
int16_t startTransmit(uint8_t *data, size_t len, uint8_t addr=0) override
Interrupt-driven binary transmit method. Will start transmitting arbitrary binary data up to 255 byte...
Definition: SX127x.cpp:528
-
SX127x::setBroadcastAddress
int16_t setBroadcastAddress(uint8_t broadAddr)
Sets FSK broadcast address. Calling this method will enable address filtering. Only available in FSK ...
Definition: SX127x.cpp:1006
-
SX127x::getAFCError
float getAFCError()
Gets current AFC error.
Definition: SX127x.cpp:814
-
SX127x::clearFifoEmptyAction
void clearFifoEmptyAction()
Clears interrupt service routine to call when FIFO is empty.
Definition: SX127x.cpp:452
-
SX127x::getModemStatus
uint8_t getModemStatus()
Reads modem status. Only available in LoRa mode.
Definition: SX127x.cpp:1273
-
SX127x::randomByte
uint8_t randomByte()
Get one truly random byte from RSSI noise.
Definition: SX127x.cpp:1287
-
SX127x::standby
int16_t standby() override
Sets the LoRa module to standby.
Definition: SX127x.cpp:288
+
SX127x::setOokFixedOrFloorThreshold
int16_t setOokFixedOrFloorThreshold(uint8_t value)
Fixed threshold for the Data Slicer in OOK mode or floor threshold for the Data Slicer in OOK when Pe...
Definition: SX127x.cpp:1041
+
SX127x::setRfSwitchPins
void setRfSwitchPins(RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn)
Some modules contain external RF switch controlled by two pins. This function gives RadioLib control ...
Definition: SX127x.cpp:1278
+
SX127x::fixedPacketLengthMode
int16_t fixedPacketLengthMode(uint8_t len=RADIOLIB_SX127X_MAX_PACKET_LENGTH_FSK)
Set modem in fixed packet length mode. Available in FSK mode only.
Definition: SX127x.cpp:1141
+
SX127x::disableAddressFiltering
int16_t disableAddressFiltering()
Disables FSK address filtering.
Definition: SX127x.cpp:1015
+
SX127x::getTimeOnAir
uint32_t getTimeOnAir(size_t len)
Get expected time-on-air for a given size of payload.
Definition: SX127x.cpp:1149
+
SX127x::transmitDirect
int16_t transmitDirect(uint32_t frf=0) override
Enables direct transmission mode on pins DIO1 (clock) and DIO2 (data). While in direct mode,...
Definition: SX127x.cpp:292
+
SX127x::startTransmit
int16_t startTransmit(uint8_t *data, size_t len, uint8_t addr=0) override
Interrupt-driven binary transmit method. Will start transmitting arbitrary binary data up to 255 byte...
Definition: SX127x.cpp:523
+
SX127x::setBroadcastAddress
int16_t setBroadcastAddress(uint8_t broadAddr)
Sets FSK broadcast address. Calling this method will enable address filtering. Only available in FSK ...
Definition: SX127x.cpp:1001
+
SX127x::getAFCError
float getAFCError()
Gets current AFC error.
Definition: SX127x.cpp:809
+
SX127x::clearFifoEmptyAction
void clearFifoEmptyAction()
Clears interrupt service routine to call when FIFO is empty.
Definition: SX127x.cpp:447
+
SX127x::getModemStatus
uint8_t getModemStatus()
Reads modem status. Only available in LoRa mode.
Definition: SX127x.cpp:1268
+
SX127x::randomByte
uint8_t randomByte()
Get one truly random byte from RSSI noise.
Definition: SX127x.cpp:1282
+
SX127x::standby
int16_t standby() override
Sets the LoRa module to standby.
Definition: SX127x.cpp:284
SX127x
Base class for SX127x series. All derived classes for SX127x (e.g. SX1278 or SX1272) inherit from thi...
Definition: SX127x.h:583
-
SX127x::fifoAdd
bool fifoAdd(uint8_t *data, int totalLen, volatile int *remLen)
Set interrupt service routine function to call when FIFO is empty.
Definition: SX127x.cpp:470
-
SX127x::getSNR
float getSNR()
Gets signal-to-noise ratio of the latest received packet. Only available in LoRa mode.
Definition: SX127x.cpp:830
+
SX127x::fifoAdd
bool fifoAdd(uint8_t *data, int totalLen, volatile int *remLen)
Set interrupt service routine function to call when FIFO is empty.
Definition: SX127x.cpp:465
+
SX127x::getSNR
float getSNR()
Gets signal-to-noise ratio of the latest received packet. Only available in LoRa mode.
Definition: SX127x.cpp:825
SX127x::reset
virtual void reset()=0
Reset method. Will reset the chip to the default state using RST pin. Declared pure virtual since SX1...
SX127x::begin
int16_t begin(uint8_t chipVersion, uint8_t syncWord, uint16_t preambleLength)
Initialization method. Will be called with appropriate parameters when calling initialization method ...
Definition: SX127x.cpp:12
-
SX127x::setPreambleLength
int16_t setPreambleLength(uint16_t preambleLength)
Sets LoRa or FSK preamble length. Allowed values range from 6 to 65535 in LoRa mode or 0 to 65535 in ...
Definition: SX127x.cpp:732
-
SX127x::setBitRate
int16_t setBitRate(float br)
Sets FSK bit rate. Allowed values range from 1.2 to 300 kbps. Only available in FSK mode.
Definition: SX127x.cpp:845
+
SX127x::setPreambleLength
int16_t setPreambleLength(uint16_t preambleLength)
Sets LoRa or FSK preamble length. Allowed values range from 6 to 65535 in LoRa mode or 0 to 65535 in ...
Definition: SX127x.cpp:727
+
SX127x::setBitRate
int16_t setBitRate(float br)
Sets FSK bit rate. Allowed values range from 1.2 to 300 kbps. Only available in FSK mode.
Definition: SX127x.cpp:840
PhysicalLayer
Provides common interface for protocols that run on LoRa/FSK modules, such as RTTY or LoRaWAN....
Definition: PhysicalLayer.h:14
PhysicalLayer::receive
int16_t receive(String &str, size_t len=0)
Arduino String receive method.
Definition: PhysicalLayer.cpp:102
-
SX127x::clearDio0Action
void clearDio0Action()
Clears interrupt service routine to call when DIO0 activates.
Definition: SX127x.cpp:429
-
SX127x::getIRQFlags
uint16_t getIRQFlags()
Reads currently active IRQ flags, can be used to check which event caused an interrupt....
Definition: SX127x.cpp:1258
-
SX127x::setOokPeakThresholdDecrement
int16_t setOokPeakThresholdDecrement(uint8_t value)
Period of decrement of the RSSI threshold in the OOK demodulator.
Definition: SX127x.cpp:1054
-
SX127x::setRSSIConfig
int16_t setRSSIConfig(uint8_t smoothingSamples, int8_t offset=0)
Sets RSSI measurement configuration in FSK mode.
Definition: SX127x.cpp:1216
-
SX127x::setOokThresholdType
int16_t setOokThresholdType(uint8_t type)
Selects the type of threshold in the OOK data slicer.
Definition: SX127x.cpp:1038
-
SX127x::setAFCBandwidth
int16_t setAFCBandwidth(float afcBw)
Sets FSK automatic frequency correction bandwidth. Allowed values range from 2.6 to 250 kHz....
Definition: SX127x.cpp:932
-
SX127x::setOOK
int16_t setOOK(bool enableOOK)
Enables/disables OOK modulation instead of FSK.
Definition: SX127x.cpp:1078
-
SX127x::setFHSSHoppingPeriod
int16_t setFHSSHoppingPeriod(uint8_t freqHoppingPeriod)
Sets the hopping period and enables FHSS.
Definition: SX127x.cpp:1535
-
SX127x::setRxBandwidth
int16_t setRxBandwidth(float rxBw)
Sets FSK receiver bandwidth. Allowed values range from 2.6 to 250 kHz. Only available in FSK mode.
Definition: SX127x.cpp:916
-
SX127x::clearFifoFullAction
void clearFifoFullAction()
Clears interrupt service routine to call when FIFO is full.
Definition: SX127x.cpp:465
-
SX127x::setDIOMapping
int16_t setDIOMapping(RADIOLIB_PIN_TYPE pin, uint8_t value)
Configure DIO pin mapping to get a given signal on a DIO pin (if available).
Definition: SX127x.cpp:1556
+
SX127x::clearDio0Action
void clearDio0Action()
Clears interrupt service routine to call when DIO0 activates.
Definition: SX127x.cpp:424
+
SX127x::getIRQFlags
uint16_t getIRQFlags()
Reads currently active IRQ flags, can be used to check which event caused an interrupt....
Definition: SX127x.cpp:1253
+
SX127x::setOokPeakThresholdDecrement
int16_t setOokPeakThresholdDecrement(uint8_t value)
Period of decrement of the RSSI threshold in the OOK demodulator.
Definition: SX127x.cpp:1049
+
SX127x::setRSSIConfig
int16_t setRSSIConfig(uint8_t smoothingSamples, int8_t offset=0)
Sets RSSI measurement configuration in FSK mode.
Definition: SX127x.cpp:1211
+
SX127x::setOokThresholdType
int16_t setOokThresholdType(uint8_t type)
Selects the type of threshold in the OOK data slicer.
Definition: SX127x.cpp:1033
+
SX127x::setAFCBandwidth
int16_t setAFCBandwidth(float afcBw)
Sets FSK automatic frequency correction bandwidth. Allowed values range from 2.6 to 250 kHz....
Definition: SX127x.cpp:927
+
SX127x::setOOK
int16_t setOOK(bool enableOOK)
Enables/disables OOK modulation instead of FSK.
Definition: SX127x.cpp:1073
+
SX127x::setFHSSHoppingPeriod
int16_t setFHSSHoppingPeriod(uint8_t freqHoppingPeriod)
Sets the hopping period and enables FHSS.
Definition: SX127x.cpp:1530
+
SX127x::setRxBandwidth
int16_t setRxBandwidth(float rxBw)
Sets FSK receiver bandwidth. Allowed values range from 2.6 to 250 kHz. Only available in FSK mode.
Definition: SX127x.cpp:911
+
SX127x::clearFifoFullAction
void clearFifoFullAction()
Clears interrupt service routine to call when FIFO is full.
Definition: SX127x.cpp:460
+
SX127x::setDIOMapping
int16_t setDIOMapping(RADIOLIB_PIN_TYPE pin, uint8_t value)
Configure DIO pin mapping to get a given signal on a DIO pin (if available).
Definition: SX127x.cpp:1551
Module
Implements all common low-level methods to control the wireless module. Every module class contains o...
Definition: Module.h:16
SX127x::scanChannel
int16_t scanChannel()
Performs scan for valid LoRa preamble in the current channel.
Definition: SX127x.cpp:260
-
SX127x::getFHSSHoppingPeriod
uint8_t getFHSSHoppingPeriod(void)
Gets FHSS hopping period.
Definition: SX127x.cpp:1539
+
SX127x::getFHSSHoppingPeriod
uint8_t getFHSSHoppingPeriod(void)
Gets FHSS hopping period.
Definition: SX127x.cpp:1534
SX127x::receive
int16_t receive(uint8_t *data, size_t len) override
Binary receive method. Will attempt to receive arbitrary binary data up to 255 bytes long using LoRa ...
Definition: SX127x.cpp:196
-
SX127x::getChipVersion
int16_t getChipVersion()
Read version SPI register. Should return SX1278_CHIP_VERSION (0x12) or SX1272_CHIP_VERSION (0x22) if ...
Definition: SX127x.cpp:1312
-
SX127x::setCrcFiltering
int16_t setCrcFiltering(bool crcOn=true)
Enable CRC filtering and generation.
Definition: SX127x.cpp:1200
-
SX127x::getPacketLength
size_t getPacketLength(bool update=true) override
Query modem for the packet length of received payload.
Definition: SX127x.cpp:1118
+
SX127x::getChipVersion
int16_t getChipVersion()
Read version SPI register. Should return SX1278_CHIP_VERSION (0x12) or SX1272_CHIP_VERSION (0x22) if ...
Definition: SX127x.cpp:1307
+
SX127x::setCrcFiltering
int16_t setCrcFiltering(bool crcOn=true)
Enable CRC filtering and generation.
Definition: SX127x.cpp:1195
+
SX127x::getPacketLength
size_t getPacketLength(bool update=true) override
Query modem for the packet length of received payload.
Definition: SX127x.cpp:1113
SX127x::SX127x
SX127x(Module *mod)
Default constructor. Called internally when creating new LoRa instance.
Definition: SX127x.cpp:4
-
SX127x::packetMode
int16_t packetMode()
Disables direct mode and enables packet mode, allowing the module to receive packets....
Definition: SX127x.cpp:362
-
SX127x::setCurrentLimit
int16_t setCurrentLimit(uint8_t currentLimit)
Sets current limit for over current protection at transmitter amplifier. Allowed values range from 45...
Definition: SX127x.cpp:708
-
SX127x::getFrequencyError
float getFrequencyError(bool autoCorrect=false)
Gets frequency error of the latest received packet.
Definition: SX127x.cpp:761
-
SX127x::getFHSSChannel
uint8_t getFHSSChannel(void)
Gets the FHSS channel in use.
Definition: SX127x.cpp:1543
-
SX127x::setFifoFullAction
void setFifoFullAction(void(*func)(void))
Set interrupt service routine function to call when FIFO is full.
Definition: SX127x.cpp:456
+
SX127x::packetMode
int16_t packetMode()
Disables direct mode and enables packet mode, allowing the module to receive packets....
Definition: SX127x.cpp:358
+
SX127x::setCurrentLimit
int16_t setCurrentLimit(uint8_t currentLimit)
Sets current limit for over current protection at transmitter amplifier. Allowed values range from 45...
Definition: SX127x.cpp:703
+
SX127x::getFrequencyError
float getFrequencyError(bool autoCorrect=false)
Gets frequency error of the latest received packet.
Definition: SX127x.cpp:756
+
SX127x::getFHSSChannel
uint8_t getFHSSChannel(void)
Gets the FHSS channel in use.
Definition: SX127x.cpp:1538
+
SX127x::setFifoFullAction
void setFifoFullAction(void(*func)(void))
Set interrupt service routine function to call when FIFO is full.
Definition: SX127x.cpp:451
PhysicalLayer::startTransmit
int16_t startTransmit(String &str, uint8_t addr=0)
Interrupt-driven Arduino String transmit method. Unlike the standard transmit method,...
Definition: PhysicalLayer.cpp:53