From 6ef8b105daf255276292b23c2f8f3916902867b6 Mon Sep 17 00:00:00 2001 From: jgromes Date: Mon, 10 Apr 2023 12:06:09 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20=20@=20cb385?= =?UTF-8?q?f59468cd8bafe4fb8df5651295d605d7e2a=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _s_t_m32_w_lx_8h_source.html | 2 +- _s_x126x_8h_source.html | 474 +++++++++++++++++------------------ class_s_x126x.html | 2 +- 3 files changed, 239 insertions(+), 239 deletions(-) diff --git a/_s_t_m32_w_lx_8h_source.html b/_s_t_m32_w_lx_8h_source.html index 3a3c24c6..524dcb4e 100644 --- a/_s_t_m32_w_lx_8h_source.html +++ b/_s_t_m32_w_lx_8h_source.html @@ -169,7 +169,7 @@ $(document).ready(function(){initNavTree('_s_t_m32_w_lx_8h_source.html',''); ini
@ MODE_IDLE
Definition: STM32WLx.h:57
int16_t beginFSK(float freq=434.0, float br=4.8, float freqDev=5.0, float rxBw=156.2, int8_t power=10, uint16_t preambleLength=16, float tcxoVoltage=1.6, bool useRegulatorLDO=false)
Initialization method for FSK modem.
Definition: STM32WLx.cpp:29
Derived class for SX1262 modules.
Definition: SX1262.h:23
-
void setRfSwitchTable(const RADIOLIB_PIN_TYPE(&pins)[Module::RFSWITCH_MAX_PINS], const Module::RfSwitchMode_t table[])
Some modules contain external RF switch controlled by pins. This function gives RadioLib control over...
Definition: SX126x.cpp:1368
+
void setRfSwitchTable(const RADIOLIB_PIN_TYPE(&pins)[Module::RFSWITCH_MAX_PINS], const Module::RfSwitchMode_t table[])
Some modules contain external RF switch controlled by pins. This function gives RadioLib control over...
Definition: SX126x.cpp:1370
diff --git a/_s_x126x_8h_source.html b/_s_x126x_8h_source.html index 89c9741c..5963c820 100644 --- a/_s_x126x_8h_source.html +++ b/_s_x126x_8h_source.html @@ -571,200 +571,200 @@ $(document).ready(function(){initNavTree('_s_x126x_8h_source.html',''); initResi
622 
628  int16_t finishTransmit() override;
629 
-
644  int16_t startReceive(uint32_t timeout = RADIOLIB_SX126X_RX_TIMEOUT_INF, uint16_t irqFlags = RADIOLIB_SX126X_IRQ_RX_DEFAULT, uint16_t irqMask = RADIOLIB_SX126X_IRQ_RX_DONE, size_t len = 0);
-
645 
-
660  int16_t startReceiveDutyCycle(uint32_t rxPeriod, uint32_t sleepPeriod, uint16_t irqFlags = RADIOLIB_SX126X_IRQ_RX_DEFAULT, uint16_t irqMask = RADIOLIB_SX126X_IRQ_RX_DONE);
-
661 
-
677  int16_t startReceiveDutyCycleAuto(uint16_t senderPreambleLength = 0, uint16_t minSymbols = 8, uint16_t irqFlags = RADIOLIB_SX126X_IRQ_RX_DEFAULT, uint16_t irqMask = RADIOLIB_SX126X_IRQ_RX_DONE);
-
678 
-
684  uint16_t getIrqStatus();
-
685 
-
696  int16_t readData(uint8_t* data, size_t len) override;
-
697 
-
709  int16_t startChannelScan(uint8_t symbolNum = RADIOLIB_SX126X_CAD_PARAM_DEFAULT, uint8_t detPeak = RADIOLIB_SX126X_CAD_PARAM_DEFAULT, uint8_t detMin = RADIOLIB_SX126X_CAD_PARAM_DEFAULT);
-
710 
-
716  int16_t getChannelScanResult();
-
717 
-
718  // configuration methods
+
646  int16_t startReceive(uint32_t timeout = RADIOLIB_SX126X_RX_TIMEOUT_INF, uint16_t irqFlags = RADIOLIB_SX126X_IRQ_RX_DEFAULT, uint16_t irqMask = RADIOLIB_SX126X_IRQ_RX_DONE, size_t len = 0);
+
647 
+
662  int16_t startReceiveDutyCycle(uint32_t rxPeriod, uint32_t sleepPeriod, uint16_t irqFlags = RADIOLIB_SX126X_IRQ_RX_DEFAULT, uint16_t irqMask = RADIOLIB_SX126X_IRQ_RX_DONE);
+
663 
+
679  int16_t startReceiveDutyCycleAuto(uint16_t senderPreambleLength = 0, uint16_t minSymbols = 8, uint16_t irqFlags = RADIOLIB_SX126X_IRQ_RX_DEFAULT, uint16_t irqMask = RADIOLIB_SX126X_IRQ_RX_DONE);
+
680 
+
686  uint16_t getIrqStatus();
+
687 
+
698  int16_t readData(uint8_t* data, size_t len) override;
+
699 
+
711  int16_t startChannelScan(uint8_t symbolNum = RADIOLIB_SX126X_CAD_PARAM_DEFAULT, uint8_t detPeak = RADIOLIB_SX126X_CAD_PARAM_DEFAULT, uint8_t detMin = RADIOLIB_SX126X_CAD_PARAM_DEFAULT);
+
712 
+
718  int16_t getChannelScanResult();
719 
-
727  int16_t setBandwidth(float bw);
-
728 
-
736  int16_t setSpreadingFactor(uint8_t sf);
-
737 
-
745  int16_t setCodingRate(uint8_t cr);
-
746 
-
756  int16_t setSyncWord(uint8_t syncWord, uint8_t controlBits = 0x44);
-
757 
-
765  int16_t setCurrentLimit(float currentLimit);
-
766 
-
772  float getCurrentLimit();
-
773 
-
781  int16_t setPreambleLength(uint16_t preambleLength);
-
782 
-
790  int16_t setFrequencyDeviation(float freqDev) override;
-
791 
-
799  int16_t setBitRate(float br);
-
800 
-
808  int16_t setRxBandwidth(float rxBw);
-
809 
-
819  int16_t setRxBoostedGainMode(bool rxbgm, bool persist = true);
-
820 
-
830  int16_t setDataShaping(uint8_t sh) override;
-
831 
-
841  int16_t setSyncWord(uint8_t* syncWord, uint8_t len);
-
842 
-
852  int16_t setSyncBits(uint8_t *syncWord, uint8_t bitsLen);
-
853 
-
861  int16_t setNodeAddress(uint8_t nodeAddr);
-
862 
-
870  int16_t setBroadcastAddress(uint8_t broadAddr);
-
871 
-
877  int16_t disableAddressFiltering();
-
878 
-
892  int16_t setCRC(uint8_t len, uint16_t initial = 0x1D0F, uint16_t polynomial = 0x1021, bool inverted = true);
-
893 
-
903  int16_t setWhitening(bool enabled, uint16_t initial = 0x0100);
-
904 
-
915  int16_t setTCXO(float voltage, uint32_t delay = 5000);
-
916 
-
922  int16_t setDio2AsRfSwitch(bool enable = true);
-
923 
-
929  float getDataRate() const;
-
930 
-
938  float getRSSI(bool packet = true);
-
939 
-
945  float getSNR();
-
946 
-
954  float getFrequencyError();
-
955 
-
963  size_t getPacketLength(bool update = true) override;
-
964 
-
972  int16_t fixedPacketLengthMode(uint8_t len = RADIOLIB_SX126X_MAX_PACKET_LENGTH);
-
973 
-
981  int16_t variablePacketLengthMode(uint8_t maxLen = RADIOLIB_SX126X_MAX_PACKET_LENGTH);
-
982 
-
990  uint32_t getTimeOnAir(size_t len);
-
991 
-
999  int16_t implicitHeader(size_t len);
-
1000 
-
1006  int16_t explicitHeader();
-
1007 
-
1013  int16_t setRegulatorLDO();
-
1014 
-
1020  int16_t setRegulatorDCDC();
-
1021 
-
1029  int16_t setEncoding(uint8_t encoding) override;
-
1030 
-
1032  void setRfSwitchPins(RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn);
-
1033 
-
1035  void setRfSwitchTable(const RADIOLIB_PIN_TYPE (&pins)[Module::RFSWITCH_MAX_PINS], const Module::RfSwitchMode_t table[]);
-
1036 
-
1045  int16_t forceLDRO(bool enable);
-
1046 
-
1053  int16_t autoLDRO();
-
1054 
-
1060  uint8_t randomByte();
-
1061 
-
1069  int16_t invertIQ(bool invertIQ);
-
1070 
-
1071  #if !defined(RADIOLIB_EXCLUDE_DIRECT_RECEIVE)
-
1077  void setDirectAction(void (*func)(void));
-
1078 
-
1084  void readBit(RADIOLIB_PIN_TYPE pin);
-
1085  #endif
-
1086 
-
1100  int16_t uploadPatch(const uint32_t* patch, size_t len, bool nonvolatile = true);
-
1101 
-
1113  int16_t spectralScanStart(uint16_t numSamples, uint8_t window = RADIOLIB_SX126X_SPECTRAL_SCAN_WINDOW_DEFAULT, uint8_t interval = RADIOLIB_SX126X_SCAN_INTERVAL_8_20_US);
-
1114 
-
1118  void spectralScanAbort();
-
1119 
-
1125  int16_t spectralScanGetStatus();
-
1126 
-
1134  int16_t spectralScanGetResult(uint16_t* results);
-
1135 
-
1136 #if !defined(RADIOLIB_GODMODE)
-
1137  protected:
-
1138 #endif
-
1139  // SX126x SPI command implementations
-
1140  int16_t setFs();
-
1141  int16_t setTx(uint32_t timeout = 0);
-
1142  int16_t setRx(uint32_t timeout);
-
1143  int16_t setCad(uint8_t symbolNum, uint8_t detPeak, uint8_t detMin);
-
1144  int16_t setPaConfig(uint8_t paDutyCycle, uint8_t deviceSel, uint8_t hpMax = RADIOLIB_SX126X_PA_CONFIG_HP_MAX, uint8_t paLut = RADIOLIB_SX126X_PA_CONFIG_PA_LUT);
-
1145  int16_t writeRegister(uint16_t addr, uint8_t* data, uint8_t numBytes);
-
1146  int16_t readRegister(uint16_t addr, uint8_t* data, uint8_t numBytes);
-
1147  int16_t writeBuffer(uint8_t* data, uint8_t numBytes, uint8_t offset = 0x00);
-
1148  int16_t readBuffer(uint8_t* data, uint8_t numBytes);
-
1149  int16_t setDioIrqParams(uint16_t irqMask, uint16_t dio1Mask, uint16_t dio2Mask = RADIOLIB_SX126X_IRQ_NONE, uint16_t dio3Mask = RADIOLIB_SX126X_IRQ_NONE);
-
1150  virtual int16_t clearIrqStatus(uint16_t clearIrqParams = RADIOLIB_SX126X_IRQ_ALL);
-
1151  int16_t setRfFrequency(uint32_t frf);
-
1152  int16_t calibrateImage(uint8_t* data);
-
1153  uint8_t getPacketType();
-
1154  int16_t setTxParams(uint8_t power, uint8_t rampTime = RADIOLIB_SX126X_PA_RAMP_200U);
-
1155  int16_t setModulationParams(uint8_t sf, uint8_t bw, uint8_t cr, uint8_t ldro);
-
1156  int16_t setModulationParamsFSK(uint32_t br, uint8_t pulseShape, uint8_t rxBw, uint32_t freqDev);
-
1157  int16_t setPacketParams(uint16_t preambleLength, uint8_t crcType, uint8_t payloadLength, uint8_t headerType, uint8_t invertIQ = RADIOLIB_SX126X_LORA_IQ_STANDARD);
-
1158  int16_t setPacketParamsFSK(uint16_t preambleLength, uint8_t crcType, uint8_t syncWordLength, uint8_t addrComp, uint8_t whitening, uint8_t packetType = RADIOLIB_SX126X_GFSK_PACKET_VARIABLE, uint8_t payloadLength = 0xFF, uint8_t preambleDetectorLength = RADIOLIB_SX126X_GFSK_PREAMBLE_DETECT_16);
-
1159  int16_t setBufferBaseAddress(uint8_t txBaseAddress = 0x00, uint8_t rxBaseAddress = 0x00);
-
1160  int16_t setRegulatorMode(uint8_t mode);
-
1161  uint8_t getStatus();
-
1162  uint32_t getPacketStatus();
-
1163  uint16_t getDeviceErrors();
-
1164  int16_t clearDeviceErrors();
-
1165 
-
1166  int16_t startReceiveCommon(uint32_t timeout = RADIOLIB_SX126X_RX_TIMEOUT_INF, uint16_t irqFlags = RADIOLIB_SX126X_IRQ_RX_DEFAULT, uint16_t irqMask = RADIOLIB_SX126X_IRQ_RX_DONE);
-
1167  int16_t setFrequencyRaw(float freq);
-
1168  int16_t setPacketMode(uint8_t mode, uint8_t len);
-
1169  int16_t setHeaderType(uint8_t headerType, size_t len = 0xFF);
-
1170  int16_t directMode();
-
1171  int16_t packetMode();
-
1172 
-
1173  // fixes to errata
-
1174  int16_t fixSensitivity();
-
1175  int16_t fixPaClamping(bool enable = true);
-
1176  int16_t fixImplicitTimeout();
-
1177  int16_t fixInvertedIQ(uint8_t iqConfig);
-
1178 
-
1179 #if !defined(RADIOLIB_GODMODE) && !defined(RADIOLIB_LOW_LEVEL)
-
1180  protected:
-
1181 #endif
-
1182  Module* _mod;
-
1183 
-
1184  // common low-level SPI interface
-
1185  static int16_t SPIparseStatus(uint8_t in);
-
1186 
-
1187 #if !defined(RADIOLIB_GODMODE)
-
1188  protected:
-
1189 #endif
-
1190 
-
1191  uint8_t _bw = 0, _sf = 0, _cr = 0, _ldro = 0, _crcType = 0, _headerType = 0;
-
1192  uint16_t _preambleLength = 0;
-
1193  float _bwKhz = 0;
-
1194  bool _ldroAuto = true;
-
1195 
-
1196  uint32_t _br = 0, _freqDev = 0;
-
1197  uint8_t _rxBw = 0, _pulseShape = 0, _crcTypeFSK = 0, _syncWordLength = 0, _addrComp = 0, _whitening = 0, _packetType = 0;
-
1198  uint16_t _preambleLengthFSK = 0;
-
1199  float _rxBwKhz = 0;
-
1200 
-
1201  float _dataRate = 0;
+
720  // configuration methods
+
721 
+
729  int16_t setBandwidth(float bw);
+
730 
+
738  int16_t setSpreadingFactor(uint8_t sf);
+
739 
+
747  int16_t setCodingRate(uint8_t cr);
+
748 
+
758  int16_t setSyncWord(uint8_t syncWord, uint8_t controlBits = 0x44);
+
759 
+
767  int16_t setCurrentLimit(float currentLimit);
+
768 
+
774  float getCurrentLimit();
+
775 
+
783  int16_t setPreambleLength(uint16_t preambleLength);
+
784 
+
792  int16_t setFrequencyDeviation(float freqDev) override;
+
793 
+
801  int16_t setBitRate(float br);
+
802 
+
810  int16_t setRxBandwidth(float rxBw);
+
811 
+
821  int16_t setRxBoostedGainMode(bool rxbgm, bool persist = true);
+
822 
+
832  int16_t setDataShaping(uint8_t sh) override;
+
833 
+
843  int16_t setSyncWord(uint8_t* syncWord, uint8_t len);
+
844 
+
854  int16_t setSyncBits(uint8_t *syncWord, uint8_t bitsLen);
+
855 
+
863  int16_t setNodeAddress(uint8_t nodeAddr);
+
864 
+
872  int16_t setBroadcastAddress(uint8_t broadAddr);
+
873 
+
879  int16_t disableAddressFiltering();
+
880 
+
894  int16_t setCRC(uint8_t len, uint16_t initial = 0x1D0F, uint16_t polynomial = 0x1021, bool inverted = true);
+
895 
+
905  int16_t setWhitening(bool enabled, uint16_t initial = 0x0100);
+
906 
+
917  int16_t setTCXO(float voltage, uint32_t delay = 5000);
+
918 
+
924  int16_t setDio2AsRfSwitch(bool enable = true);
+
925 
+
931  float getDataRate() const;
+
932 
+
940  float getRSSI(bool packet = true);
+
941 
+
947  float getSNR();
+
948 
+
956  float getFrequencyError();
+
957 
+
965  size_t getPacketLength(bool update = true) override;
+
966 
+
974  int16_t fixedPacketLengthMode(uint8_t len = RADIOLIB_SX126X_MAX_PACKET_LENGTH);
+
975 
+
983  int16_t variablePacketLengthMode(uint8_t maxLen = RADIOLIB_SX126X_MAX_PACKET_LENGTH);
+
984 
+
992  uint32_t getTimeOnAir(size_t len);
+
993 
+
1001  int16_t implicitHeader(size_t len);
+
1002 
+
1008  int16_t explicitHeader();
+
1009 
+
1015  int16_t setRegulatorLDO();
+
1016 
+
1022  int16_t setRegulatorDCDC();
+
1023 
+
1031  int16_t setEncoding(uint8_t encoding) override;
+
1032 
+
1034  void setRfSwitchPins(RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn);
+
1035 
+
1037  void setRfSwitchTable(const RADIOLIB_PIN_TYPE (&pins)[Module::RFSWITCH_MAX_PINS], const Module::RfSwitchMode_t table[]);
+
1038 
+
1047  int16_t forceLDRO(bool enable);
+
1048 
+
1055  int16_t autoLDRO();
+
1056 
+
1062  uint8_t randomByte();
+
1063 
+
1071  int16_t invertIQ(bool invertIQ);
+
1072 
+
1073  #if !defined(RADIOLIB_EXCLUDE_DIRECT_RECEIVE)
+
1079  void setDirectAction(void (*func)(void));
+
1080 
+
1086  void readBit(RADIOLIB_PIN_TYPE pin);
+
1087  #endif
+
1088 
+
1102  int16_t uploadPatch(const uint32_t* patch, size_t len, bool nonvolatile = true);
+
1103 
+
1115  int16_t spectralScanStart(uint16_t numSamples, uint8_t window = RADIOLIB_SX126X_SPECTRAL_SCAN_WINDOW_DEFAULT, uint8_t interval = RADIOLIB_SX126X_SCAN_INTERVAL_8_20_US);
+
1116 
+
1120  void spectralScanAbort();
+
1121 
+
1127  int16_t spectralScanGetStatus();
+
1128 
+
1136  int16_t spectralScanGetResult(uint16_t* results);
+
1137 
+
1138 #if !defined(RADIOLIB_GODMODE)
+
1139  protected:
+
1140 #endif
+
1141  // SX126x SPI command implementations
+
1142  int16_t setFs();
+
1143  int16_t setTx(uint32_t timeout = 0);
+
1144  int16_t setRx(uint32_t timeout);
+
1145  int16_t setCad(uint8_t symbolNum, uint8_t detPeak, uint8_t detMin);
+
1146  int16_t setPaConfig(uint8_t paDutyCycle, uint8_t deviceSel, uint8_t hpMax = RADIOLIB_SX126X_PA_CONFIG_HP_MAX, uint8_t paLut = RADIOLIB_SX126X_PA_CONFIG_PA_LUT);
+
1147  int16_t writeRegister(uint16_t addr, uint8_t* data, uint8_t numBytes);
+
1148  int16_t readRegister(uint16_t addr, uint8_t* data, uint8_t numBytes);
+
1149  int16_t writeBuffer(uint8_t* data, uint8_t numBytes, uint8_t offset = 0x00);
+
1150  int16_t readBuffer(uint8_t* data, uint8_t numBytes, uint8_t offset = 0x00);
+
1151  int16_t setDioIrqParams(uint16_t irqMask, uint16_t dio1Mask, uint16_t dio2Mask = RADIOLIB_SX126X_IRQ_NONE, uint16_t dio3Mask = RADIOLIB_SX126X_IRQ_NONE);
+
1152  virtual int16_t clearIrqStatus(uint16_t clearIrqParams = RADIOLIB_SX126X_IRQ_ALL);
+
1153  int16_t setRfFrequency(uint32_t frf);
+
1154  int16_t calibrateImage(uint8_t* data);
+
1155  uint8_t getPacketType();
+
1156  int16_t setTxParams(uint8_t power, uint8_t rampTime = RADIOLIB_SX126X_PA_RAMP_200U);
+
1157  int16_t setModulationParams(uint8_t sf, uint8_t bw, uint8_t cr, uint8_t ldro);
+
1158  int16_t setModulationParamsFSK(uint32_t br, uint8_t pulseShape, uint8_t rxBw, uint32_t freqDev);
+
1159  int16_t setPacketParams(uint16_t preambleLength, uint8_t crcType, uint8_t payloadLength, uint8_t headerType, uint8_t invertIQ = RADIOLIB_SX126X_LORA_IQ_STANDARD);
+
1160  int16_t setPacketParamsFSK(uint16_t preambleLength, uint8_t crcType, uint8_t syncWordLength, uint8_t addrComp, uint8_t whitening, uint8_t packetType = RADIOLIB_SX126X_GFSK_PACKET_VARIABLE, uint8_t payloadLength = 0xFF, uint8_t preambleDetectorLength = RADIOLIB_SX126X_GFSK_PREAMBLE_DETECT_16);
+
1161  int16_t setBufferBaseAddress(uint8_t txBaseAddress = 0x00, uint8_t rxBaseAddress = 0x00);
+
1162  int16_t setRegulatorMode(uint8_t mode);
+
1163  uint8_t getStatus();
+
1164  uint32_t getPacketStatus();
+
1165  uint16_t getDeviceErrors();
+
1166  int16_t clearDeviceErrors();
+
1167 
+
1168  int16_t startReceiveCommon(uint32_t timeout = RADIOLIB_SX126X_RX_TIMEOUT_INF, uint16_t irqFlags = RADIOLIB_SX126X_IRQ_RX_DEFAULT, uint16_t irqMask = RADIOLIB_SX126X_IRQ_RX_DONE);
+
1169  int16_t setFrequencyRaw(float freq);
+
1170  int16_t setPacketMode(uint8_t mode, uint8_t len);
+
1171  int16_t setHeaderType(uint8_t headerType, size_t len = 0xFF);
+
1172  int16_t directMode();
+
1173  int16_t packetMode();
+
1174 
+
1175  // fixes to errata
+
1176  int16_t fixSensitivity();
+
1177  int16_t fixPaClamping(bool enable = true);
+
1178  int16_t fixImplicitTimeout();
+
1179  int16_t fixInvertedIQ(uint8_t iqConfig);
+
1180 
+
1181 #if !defined(RADIOLIB_GODMODE) && !defined(RADIOLIB_LOW_LEVEL)
+
1182  protected:
+
1183 #endif
+
1184  Module* _mod;
+
1185 
+
1186  // common low-level SPI interface
+
1187  static int16_t SPIparseStatus(uint8_t in);
+
1188 
+
1189 #if !defined(RADIOLIB_GODMODE)
+
1190  protected:
+
1191 #endif
+
1192 
+
1193  uint8_t _bw = 0, _sf = 0, _cr = 0, _ldro = 0, _crcType = 0, _headerType = 0;
+
1194  uint16_t _preambleLength = 0;
+
1195  float _bwKhz = 0;
+
1196  bool _ldroAuto = true;
+
1197 
+
1198  uint32_t _br = 0, _freqDev = 0;
+
1199  uint8_t _rxBw = 0, _pulseShape = 0, _crcTypeFSK = 0, _syncWordLength = 0, _addrComp = 0, _whitening = 0, _packetType = 0;
+
1200  uint16_t _preambleLengthFSK = 0;
+
1201  float _rxBwKhz = 0;
1202 
-
1203  uint32_t _tcxoDelay = 0;
+
1203  float _dataRate = 0;
1204 
-
1205  size_t _implicitLen = 0;
-
1206  const char* _chipType;
-
1207 
-
1208  // Allow subclasses to define different TX modes
-
1209  uint8_t _tx_mode = Module::MODE_TX;
-
1210 
-
1211  int16_t config(uint8_t modem);
-
1212  bool findChip(const char* verStr);
-
1213 };
-
1214 
-
1215 #endif
+
1205  uint32_t _tcxoDelay = 0;
+
1206 
+
1207  size_t _implicitLen = 0;
+
1208  const char* _chipType;
+
1209 
+
1210  // Allow subclasses to define different TX modes
+
1211  uint8_t _tx_mode = Module::MODE_TX;
+
1212 
+
1213  int16_t config(uint8_t modem);
+
1214  bool findChip(const char* verStr);
+
1215 };
1216 
1217 #endif
+
1218 
+
1219 #endif
Implements all common low-level methods to control the wireless module. Every module class contains o...
Definition: Module.h:28
static const size_t RFSWITCH_MAX_PINS
The maximum number of pins supported by the RF switch code.
Definition: Module.h:39
@ MODE_TX
Definition: Module.h:68
@@ -776,73 +776,73 @@ $(document).ready(function(){initNavTree('_s_x126x_8h_source.html',''); initResi
virtual int16_t sleep()
Sets module to sleep.
Definition: PhysicalLayer.cpp:113
int16_t receive(String &str, size_t len=0)
Arduino String receive method.
Definition: PhysicalLayer.cpp:60
Base class for SX126x series. All derived classes for SX126x (e.g. SX1262 or SX1268) inherit from thi...
Definition: SX126x.h:444
-
float getFrequencyError()
Gets frequency error of the latest received packet. WARNING: This functionality is based on SX128x im...
Definition: SX126x.cpp:1255
+
float getFrequencyError()
Gets frequency error of the latest received packet. WARNING: This functionality is based on SX128x im...
Definition: SX126x.cpp:1257
int16_t startReceiveDutyCycleAuto(uint16_t senderPreambleLength=0, uint16_t minSymbols=8, uint16_t irqFlags=RADIOLIB_SX126X_IRQ_RX_DEFAULT, uint16_t irqMask=RADIOLIB_SX126X_IRQ_RX_DONE)
Calls startReceiveDutyCycle with rxPeriod and sleepPeriod set so the unit shouldn't miss any messages...
Definition: SX126x.cpp:580
void setDio1Action(void(*func)(void))
Sets interrupt service routine to call when DIO1 activates.
Definition: SX126x.cpp:462
int16_t startReceive(uint32_t timeout=RADIOLIB_SX126X_RX_TIMEOUT_INF, uint16_t irqFlags=RADIOLIB_SX126X_IRQ_RX_DEFAULT, uint16_t irqMask=RADIOLIB_SX126X_IRQ_RX_DONE, size_t len=0)
Interrupt-driven receive method. DIO1 will be activated when full packet is received.
Definition: SX126x.cpp:539
-
int16_t startChannelScan(uint8_t symbolNum=RADIOLIB_SX126X_CAD_PARAM_DEFAULT, uint8_t detPeak=RADIOLIB_SX126X_CAD_PARAM_DEFAULT, uint8_t detMin=RADIOLIB_SX126X_CAD_PARAM_DEFAULT)
Interrupt-driven channel activity detection method. DIO0 will be activated when LoRa preamble is dete...
Definition: SX126x.cpp:688
-
int16_t setDataShaping(uint8_t sh) override
Sets time-bandwidth product of Gaussian filter applied for shaping. Allowed values are RADIOLIB_SHAPI...
Definition: SX126x.cpp:1000
-
int16_t setRegulatorLDO()
Set regulator mode to LDO.
Definition: SX126x.cpp:1352
-
void setRfSwitchPins(RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn)
Some modules contain external RF switch controlled by pins. This function gives RadioLib control over...
Definition: SX126x.cpp:1364
-
int16_t uploadPatch(const uint32_t *patch, size_t len, bool nonvolatile=true)
Upload binary patch into the SX126x device RAM. Patch is needed to e.g., enable spectral scan and mus...
Definition: SX126x.cpp:1445
-
int16_t setEncoding(uint8_t encoding) override
Sets transmission encoding. Available in FSK mode only. Serves only as alias for PhysicalLayer compat...
Definition: SX126x.cpp:1360
+
int16_t startChannelScan(uint8_t symbolNum=RADIOLIB_SX126X_CAD_PARAM_DEFAULT, uint8_t detPeak=RADIOLIB_SX126X_CAD_PARAM_DEFAULT, uint8_t detMin=RADIOLIB_SX126X_CAD_PARAM_DEFAULT)
Interrupt-driven channel activity detection method. DIO0 will be activated when LoRa preamble is dete...
Definition: SX126x.cpp:690
+
int16_t setDataShaping(uint8_t sh) override
Sets time-bandwidth product of Gaussian filter applied for shaping. Allowed values are RADIOLIB_SHAPI...
Definition: SX126x.cpp:1002
+
int16_t setRegulatorLDO()
Set regulator mode to LDO.
Definition: SX126x.cpp:1354
+
void setRfSwitchPins(RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn)
Some modules contain external RF switch controlled by pins. This function gives RadioLib control over...
Definition: SX126x.cpp:1366
+
int16_t uploadPatch(const uint32_t *patch, size_t len, bool nonvolatile=true)
Upload binary patch into the SX126x device RAM. Patch is needed to e.g., enable spectral scan and mus...
Definition: SX126x.cpp:1447
+
int16_t setEncoding(uint8_t encoding) override
Sets transmission encoding. Available in FSK mode only. Serves only as alias for PhysicalLayer compat...
Definition: SX126x.cpp:1362
int16_t beginFSK(float br, float freqDev, float rxBw, uint16_t preambleLength, float tcxoVoltage, bool useRegulatorLDO=false)
Initialization method for FSK modem.
Definition: SX126x.cpp:95
-
int16_t setBandwidth(float bw)
Sets LoRa bandwidth. Allowed values are 7.8, 10.4, 15.6, 20.8, 31.25, 41.7, 62.5, 125....
Definition: SX126x.cpp:735
-
int16_t explicitHeader()
Set explicit header mode for future reception/transmission.
Definition: SX126x.cpp:1348
-
int16_t forceLDRO(bool enable)
Forces LoRa low data rate optimization. Only available in LoRa mode. After calling this method,...
Definition: SX126x.cpp:1372
-
int16_t setNodeAddress(uint8_t nodeAddr)
Sets node address. Calling this method will also enable address filtering for node address only.
Definition: SX126x.cpp:1080
-
int16_t spectralScanGetStatus()
Read the status of spectral scan.
Definition: SX126x.cpp:1514
-
int16_t setTCXO(float voltage, uint32_t delay=5000)
Sets TCXO (Temperature Compensated Crystal Oscillator) configuration.
Definition: SX126x.cpp:1534
-
int16_t setRxBandwidth(float rxBw)
Sets FSK receiver bandwidth. Allowed values are 4.8, 5.8, 7.3, 9.7, 11.7, 14.6, 19....
Definition: SX126x.cpp:900
-
int16_t setRegulatorDCDC()
Set regulator mode to DC-DC.
Definition: SX126x.cpp:1356
+
int16_t setBandwidth(float bw)
Sets LoRa bandwidth. Allowed values are 7.8, 10.4, 15.6, 20.8, 31.25, 41.7, 62.5, 125....
Definition: SX126x.cpp:737
+
int16_t explicitHeader()
Set explicit header mode for future reception/transmission.
Definition: SX126x.cpp:1350
+
int16_t forceLDRO(bool enable)
Forces LoRa low data rate optimization. Only available in LoRa mode. After calling this method,...
Definition: SX126x.cpp:1374
+
int16_t setNodeAddress(uint8_t nodeAddr)
Sets node address. Calling this method will also enable address filtering for node address only.
Definition: SX126x.cpp:1082
+
int16_t spectralScanGetStatus()
Read the status of spectral scan.
Definition: SX126x.cpp:1516
+
int16_t setTCXO(float voltage, uint32_t delay=5000)
Sets TCXO (Temperature Compensated Crystal Oscillator) configuration.
Definition: SX126x.cpp:1536
+
int16_t setRxBandwidth(float rxBw)
Sets FSK receiver bandwidth. Allowed values are 4.8, 5.8, 7.3, 9.7, 11.7, 14.6, 19....
Definition: SX126x.cpp:902
+
int16_t setRegulatorDCDC()
Set regulator mode to DC-DC.
Definition: SX126x.cpp:1358
int16_t startReceiveDutyCycle(uint32_t rxPeriod, uint32_t sleepPeriod, uint16_t irqFlags=RADIOLIB_SX126X_IRQ_RX_DEFAULT, uint16_t irqMask=RADIOLIB_SX126X_IRQ_RX_DONE)
Interrupt-driven receive method where the device mostly sleeps and periodically wakes to listen....
Definition: SX126x.cpp:553
-
int16_t setWhitening(bool enabled, uint16_t initial=0x0100)
Sets FSK whitening parameters.
Definition: SX126x.cpp:1184
+
int16_t setWhitening(bool enabled, uint16_t initial=0x0100)
Sets FSK whitening parameters.
Definition: SX126x.cpp:1186
void clearDio1Action()
Clears interrupt service routine to call when DIO1 activates.
Definition: SX126x.cpp:466
int16_t scanChannel(uint8_t symbolNum=RADIOLIB_SX126X_CAD_PARAM_DEFAULT, uint8_t detPeak=RADIOLIB_SX126X_CAD_PARAM_DEFAULT, uint8_t detMin=RADIOLIB_SX126X_CAD_PARAM_DEFAULT)
Performs scan for LoRa transmission in the current channel. Detects both preamble and payload.
Definition: SX126x.cpp:420
int16_t standby() override
Sets the module to standby mode (overload for PhysicalLayer compatibility, uses 13 MHz RC oscillator)...
Definition: SX126x.cpp:450
-
int16_t setFrequencyDeviation(float freqDev) override
Sets FSK frequency deviation. Allowed values range from 0.0 to 200.0 kHz.
Definition: SX126x.cpp:858
-
int16_t setBitRate(float br)
Sets FSK bit rate. Allowed values range from 0.6 to 300.0 kbps.
Definition: SX126x.cpp:882
-
uint32_t getTimeOnAir(size_t len)
Get expected time-on-air for a given size of payload.
Definition: SX126x.cpp:1309
-
uint8_t randomByte()
Get one truly random byte from RSSI noise.
Definition: SX126x.cpp:1393
-
void spectralScanAbort()
Abort an ongoing spectral scan.
Definition: SX126x.cpp:1510
+
int16_t setFrequencyDeviation(float freqDev) override
Sets FSK frequency deviation. Allowed values range from 0.0 to 200.0 kHz.
Definition: SX126x.cpp:860
+
int16_t setBitRate(float br)
Sets FSK bit rate. Allowed values range from 0.6 to 300.0 kbps.
Definition: SX126x.cpp:884
+
uint32_t getTimeOnAir(size_t len)
Get expected time-on-air for a given size of payload.
Definition: SX126x.cpp:1311
+
uint8_t randomByte()
Get one truly random byte from RSSI noise.
Definition: SX126x.cpp:1395
+
void spectralScanAbort()
Abort an ongoing spectral scan.
Definition: SX126x.cpp:1512
int16_t receiveDirect() override
Starts direct mode reception. Only implemented for PhysicalLayer compatibility, as SX126x series does...
Definition: SX126x.cpp:346
-
int16_t spectralScanStart(uint16_t numSamples, uint8_t window=RADIOLIB_SX126X_SPECTRAL_SCAN_WINDOW_DEFAULT, uint8_t interval=RADIOLIB_SX126X_SCAN_INTERVAL_8_20_US)
Start spectral scan. Requires binary path to be uploaded.
Definition: SX126x.cpp:1494
+
int16_t spectralScanStart(uint16_t numSamples, uint8_t window=RADIOLIB_SX126X_SPECTRAL_SCAN_WINDOW_DEFAULT, uint8_t interval=RADIOLIB_SX126X_SCAN_INTERVAL_8_20_US)
Start spectral scan. Requires binary path to be uploaded.
Definition: SX126x.cpp:1496
int16_t finishTransmit() override
Clean up after transmission is done.
Definition: SX126x.cpp:531
-
int16_t setCurrentLimit(float currentLimit)
Sets current protection limit. Can be set in 2.5 mA steps.
Definition: SX126x.cpp:823
-
int16_t setRxBoostedGainMode(bool rxbgm, bool persist=true)
Enables or disables Rx Boosted Gain mode as described in SX126x datasheet section 9....
Definition: SX126x.cpp:963
+
int16_t setCurrentLimit(float currentLimit)
Sets current protection limit. Can be set in 2.5 mA steps.
Definition: SX126x.cpp:825
+
int16_t setRxBoostedGainMode(bool rxbgm, bool persist=true)
Enables or disables Rx Boosted Gain mode as described in SX126x datasheet section 9....
Definition: SX126x.cpp:965
int16_t transmitDirect(uint32_t frf=0) override
Starts direct mode transmission.
Definition: SX126x.cpp:330
-
int16_t variablePacketLengthMode(uint8_t maxLen=RADIOLIB_SX126X_MAX_PACKET_LENGTH)
Set modem in variable packet length mode. Available in FSK mode only.
Definition: SX126x.cpp:1305
+
int16_t variablePacketLengthMode(uint8_t maxLen=RADIOLIB_SX126X_MAX_PACKET_LENGTH)
Set modem in variable packet length mode. Available in FSK mode only.
Definition: SX126x.cpp:1307
int16_t begin(uint8_t cr, uint8_t syncWord, uint16_t preambleLength, float tcxoVoltage, bool useRegulatorLDO=false)
Initialization method for LoRa modem.
Definition: SX126x.cpp:13
-
int16_t setCRC(uint8_t len, uint16_t initial=0x1D0F, uint16_t polynomial=0x1021, bool inverted=true)
Sets CRC configuration.
Definition: SX126x.cpp:1125
-
uint16_t getIrqStatus()
Reads the current IRQ status.
Definition: SX126x.cpp:1690
+
int16_t setCRC(uint8_t len, uint16_t initial=0x1D0F, uint16_t polynomial=0x1021, bool inverted=true)
Sets CRC configuration.
Definition: SX126x.cpp:1127
+
uint16_t getIrqStatus()
Reads the current IRQ status.
Definition: SX126x.cpp:1692
int16_t reset(bool verify=true)
Reset method. Will reset the chip to the default state using RST pin.
Definition: SX126x.cpp:189
-
int16_t setSyncWord(uint8_t syncWord, uint8_t controlBits=0x44)
Sets LoRa sync word.
Definition: SX126x.cpp:812
-
float getCurrentLimit()
Reads current protection limit.
Definition: SX126x.cpp:836
+
int16_t setSyncWord(uint8_t syncWord, uint8_t controlBits=0x44)
Sets LoRa sync word.
Definition: SX126x.cpp:814
+
float getCurrentLimit()
Reads current protection limit.
Definition: SX126x.cpp:838
SX126x(Module *mod)
Default constructor.
Definition: SX126x.cpp:4
-
int16_t setPreambleLength(uint16_t preambleLength)
Sets preamble length for LoRa or FSK modem. Allowed values range from 1 to 65535.
Definition: SX126x.cpp:845
+
int16_t setPreambleLength(uint16_t preambleLength)
Sets preamble length for LoRa or FSK modem. Allowed values range from 1 to 65535.
Definition: SX126x.cpp:847
int16_t transmit(__FlashStringHelper *fstr, uint8_t addr=0)
Arduino Flash String transmit method.
Definition: PhysicalLayer.cpp:12
-
int16_t autoLDRO()
Re-enables automatic LDRO configuration. Only available in LoRa mode. After calling this method,...
Definition: SX126x.cpp:1384
-
void setDirectAction(void(*func)(void))
Set interrupt service routine function to call when data bit is receveid in direct mode.
Definition: SX126x.cpp:1436
-
int16_t fixedPacketLengthMode(uint8_t len=RADIOLIB_SX126X_MAX_PACKET_LENGTH)
Set modem in fixed packet length mode. Available in FSK mode only.
Definition: SX126x.cpp:1301
-
int16_t setBroadcastAddress(uint8_t broadAddr)
Sets broadcast address. Calling this method will also enable address filtering for node and broadcast...
Definition: SX126x.cpp:1097
-
int16_t getChannelScanResult()
Read the channel scan result.
Definition: SX126x.cpp:714
-
size_t getPacketLength(bool update=true) override
Query modem for the packet length of received payload.
Definition: SX126x.cpp:1288
-
int16_t setSyncBits(uint8_t *syncWord, uint8_t bitsLen)
Sets FSK sync word in the form of array of up to 8 bytes.
Definition: SX126x.cpp:1053
-
float getDataRate() const
Gets effective data rate for the last transmitted packet. The value is calculated only for payload by...
Definition: SX126x.cpp:1221
-
void setRfSwitchTable(const RADIOLIB_PIN_TYPE(&pins)[Module::RFSWITCH_MAX_PINS], const Module::RfSwitchMode_t table[])
Some modules contain external RF switch controlled by pins. This function gives RadioLib control over...
Definition: SX126x.cpp:1368
+
int16_t autoLDRO()
Re-enables automatic LDRO configuration. Only available in LoRa mode. After calling this method,...
Definition: SX126x.cpp:1386
+
void setDirectAction(void(*func)(void))
Set interrupt service routine function to call when data bit is receveid in direct mode.
Definition: SX126x.cpp:1438
+
int16_t fixedPacketLengthMode(uint8_t len=RADIOLIB_SX126X_MAX_PACKET_LENGTH)
Set modem in fixed packet length mode. Available in FSK mode only.
Definition: SX126x.cpp:1303
+
int16_t setBroadcastAddress(uint8_t broadAddr)
Sets broadcast address. Calling this method will also enable address filtering for node and broadcast...
Definition: SX126x.cpp:1099
+
int16_t getChannelScanResult()
Read the channel scan result.
Definition: SX126x.cpp:716
+
size_t getPacketLength(bool update=true) override
Query modem for the packet length of received payload.
Definition: SX126x.cpp:1290
+
int16_t setSyncBits(uint8_t *syncWord, uint8_t bitsLen)
Sets FSK sync word in the form of array of up to 8 bytes.
Definition: SX126x.cpp:1055
+
float getDataRate() const
Gets effective data rate for the last transmitted packet. The value is calculated only for payload by...
Definition: SX126x.cpp:1223
+
void setRfSwitchTable(const RADIOLIB_PIN_TYPE(&pins)[Module::RFSWITCH_MAX_PINS], const Module::RfSwitchMode_t table[])
Some modules contain external RF switch controlled by pins. This function gives RadioLib control over...
Definition: SX126x.cpp:1370
bool XTAL
Whether the module has an XTAL (true) or TCXO (false). Defaults to false.
Definition: SX126x.h:464
-
int16_t invertIQ(bool invertIQ)
Enable/disable inversion of the I and Q signals.
Definition: SX126x.cpp:1422
-
int16_t implicitHeader(size_t len)
Set implicit header mode for future reception/transmission.
Definition: SX126x.cpp:1344
-
float getSNR()
Gets SNR (Signal to Noise Ratio) of the last received packet. Only available for LoRa modem.
Definition: SX126x.cpp:1239
-
int16_t setDio2AsRfSwitch(bool enable=true)
Set DIO2 to function as RF switch (default in Semtech example designs).
Definition: SX126x.cpp:1587
-
int16_t spectralScanGetResult(uint16_t *results)
Read the result of spectral scan.
Definition: SX126x.cpp:1522
-
int16_t setSpreadingFactor(uint8_t sf)
Sets LoRa spreading factor. Allowed values range from 5 to 12.
Definition: SX126x.cpp:786
+
int16_t invertIQ(bool invertIQ)
Enable/disable inversion of the I and Q signals.
Definition: SX126x.cpp:1424
+
int16_t implicitHeader(size_t len)
Set implicit header mode for future reception/transmission.
Definition: SX126x.cpp:1346
+
float getSNR()
Gets SNR (Signal to Noise Ratio) of the last received packet. Only available for LoRa modem.
Definition: SX126x.cpp:1241
+
int16_t setDio2AsRfSwitch(bool enable=true)
Set DIO2 to function as RF switch (default in Semtech example designs).
Definition: SX126x.cpp:1589
+
int16_t spectralScanGetResult(uint16_t *results)
Read the result of spectral scan.
Definition: SX126x.cpp:1524
+
int16_t setSpreadingFactor(uint8_t sf)
Sets LoRa spreading factor. Allowed values range from 5 to 12.
Definition: SX126x.cpp:788
int16_t readData(String &str, size_t len=0)
Reads data that was received after calling startReceive method.
Definition: PhysicalLayer.cpp:153
int16_t startTransmit(String &str, uint8_t addr=0)
Interrupt-driven Arduino String transmit method. Unlike the standard transmit method,...
Definition: PhysicalLayer.cpp:134
int16_t receive(String &str, size_t len=0)
Arduino String receive method.
Definition: PhysicalLayer.cpp:60
-
int16_t disableAddressFiltering()
Disables address filtering. Calling this method will also erase previously set addresses.
Definition: SX126x.cpp:1114
-
int16_t setCodingRate(uint8_t cr)
Sets LoRa coding rate denominator. Allowed values range from 5 to 8.
Definition: SX126x.cpp:799
-
void readBit(RADIOLIB_PIN_TYPE pin)
Function to read and process data bit in direct reception mode.
Definition: SX126x.cpp:1440
+
int16_t disableAddressFiltering()
Disables address filtering. Calling this method will also erase previously set addresses.
Definition: SX126x.cpp:1116
+
int16_t setCodingRate(uint8_t cr)
Sets LoRa coding rate denominator. Allowed values range from 5 to 8.
Definition: SX126x.cpp:801
+
void readBit(RADIOLIB_PIN_TYPE pin)
Function to read and process data bit in direct reception mode.
Definition: SX126x.cpp:1442
Definition: Module.h:46
diff --git a/class_s_x126x.html b/class_s_x126x.html index 9e9ad07b..73f0a1df 100644 --- a/class_s_x126x.html +++ b/class_s_x126x.html @@ -2524,7 +2524,7 @@ bool 
Parameters
- +
timeoutRaw timeout value, expressed as multiples of 15.625 us. Defaults to RADIOLIB_SX126X_RX_TIMEOUT_INF for infinite timeout (Rx continuous mode), set to RADIOLIB_SX126X_RX_TIMEOUT_NONE for no timeout (Rx single mode). If timeout other than infinite is set, signal will be generated on DIO1.
timeoutReceive mode type and/or raw timeout value, expressed as multiples of 15.625 us. When set to RADIOLIB_SX126X_RX_TIMEOUT_INF, the timeout will be infinite and the device will remain in Rx mode until explicitly commanded to stop (Rx continuous mode). When set to RADIOLIB_SX126X_RX_TIMEOUT_NONE, there will be no timeout and the device will return to standby when a packet is received (Rx single mode). For any other value, timeout will be applied and signal will be generated on DIO1 for conditions defined by irqFlags and irqMask.
irqFlagsSets the IRQ flags, defaults to RADIOLIB_SX126X_IRQ_RX_DEFAULT.
irqMaskSets the mask of IRQ flags that will trigger DIO1, defaults to RADIOLIB_SX126X_IRQ_RX_DONE.
lenOnly for PhysicalLayer compatibility, not used.