diff --git a/_s_t_m32_w_lx_8h_source.html b/_s_t_m32_w_lx_8h_source.html
index 0fbe50b0..2bea8b63 100644
--- a/_s_t_m32_w_lx_8h_source.html
+++ b/_s_t_m32_w_lx_8h_source.html
@@ -171,7 +171,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:33
Derived class for SX1262 modules.
Definition: SX1262.h:19
-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:1239
+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:1296
diff --git a/_s_x1262_8h_source.html b/_s_x1262_8h_source.html
index 5513b7f4..b2f47541 100644
--- a/_s_x1262_8h_source.html
+++ b/_s_x1262_8h_source.html
@@ -133,7 +133,7 @@ $(document).ready(function(){initNavTree('_s_x1262_8h_source.html',''); initResi
int16_t begin(float freq=434.0, float bw=125.0, uint8_t sf=9, uint8_t cr=7, uint8_t syncWord=RADIOLIB_SX126X_SYNC_WORD_PRIVATE, int8_t power=10, uint16_t preambleLength=8, float tcxoVoltage=1.6, bool useRegulatorLDO=false)
Initialization method for LoRa modem.
Definition: SX1262.cpp:8
virtual int16_t setOutputPower(int8_t power)
Sets output power. Allowed values are in range from -9 to 22 dBm. This method is virtual to allow ove...
Definition: SX1262.cpp:84
int16_t setFrequency(float freq)
Sets carrier frequency. Allowed values are in range from 150.0 to 960.0 MHz.
Definition: SX1262.cpp:50
-Base class for SX126x series. All derived classes for SX126x (e.g. SX1262 or SX1268) inherit from thi...
Definition: SX126x.h:364
+Base class for SX126x series. All derived classes for SX126x (e.g. SX1262 or SX1268) inherit from thi...
Definition: SX126x.h:368
diff --git a/_s_x1268_8h_source.html b/_s_x1268_8h_source.html
index ed0a89a2..5808851e 100644
--- a/_s_x1268_8h_source.html
+++ b/_s_x1268_8h_source.html
@@ -133,7 +133,7 @@ $(document).ready(function(){initNavTree('_s_x1268_8h_source.html',''); initResi
int16_t setFrequency(float freq)
Sets carrier frequency. Allowed values are in range from 410.0 to 810.0 MHz.
Definition: SX1268.cpp:50
int16_t begin(float freq=434.0, float bw=125.0, uint8_t sf=9, uint8_t cr=7, uint8_t syncWord=RADIOLIB_SX126X_SYNC_WORD_PRIVATE, int8_t power=10, uint16_t preambleLength=8, float tcxoVoltage=1.6, bool useRegulatorLDO=false)
Initialization method for LoRa modem.
Definition: SX1268.cpp:8
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: SX1268.cpp:32
-Base class for SX126x series. All derived classes for SX126x (e.g. SX1262 or SX1268) inherit from thi...
Definition: SX126x.h:364
+Base class for SX126x series. All derived classes for SX126x (e.g. SX1262 or SX1268) inherit from thi...
Definition: SX126x.h:368
diff --git a/_s_x126x_8h_source.html b/_s_x126x_8h_source.html
index 97831344..133ccd6a 100644
--- a/_s_x126x_8h_source.html
+++ b/_s_x126x_8h_source.html
@@ -171,511 +171,516 @@ $(document).ready(function(){initNavTree('_s_x126x_8h_source.html',''); initResi
83 #define RADIOLIB_SX126X_REG_DIOX_IN_ENABLE 0x0583
84 #define RADIOLIB_SX126X_REG_DIOX_PULL_UP_CTRL 0x0584
85 #define RADIOLIB_SX126X_REG_DIOX_PULL_DOWN_CTRL 0x0585
- 86 #define RADIOLIB_SX126X_REG_WHITENING_INITIAL_MSB 0x06B8
- 87 #define RADIOLIB_SX126X_REG_WHITENING_INITIAL_LSB 0x06B9
- 88 #define RADIOLIB_SX126X_REG_CRC_INITIAL_MSB 0x06BC
- 89 #define RADIOLIB_SX126X_REG_CRC_INITIAL_LSB 0x06BD
- 90 #define RADIOLIB_SX126X_REG_CRC_POLYNOMIAL_MSB 0x06BE
- 91 #define RADIOLIB_SX126X_REG_CRC_POLYNOMIAL_LSB 0x06BF
- 92 #define RADIOLIB_SX126X_REG_SYNC_WORD_0 0x06C0
- 93 #define RADIOLIB_SX126X_REG_SYNC_WORD_1 0x06C1
- 94 #define RADIOLIB_SX126X_REG_SYNC_WORD_2 0x06C2
- 95 #define RADIOLIB_SX126X_REG_SYNC_WORD_3 0x06C3
- 96 #define RADIOLIB_SX126X_REG_SYNC_WORD_4 0x06C4
- 97 #define RADIOLIB_SX126X_REG_SYNC_WORD_5 0x06C5
- 98 #define RADIOLIB_SX126X_REG_SYNC_WORD_6 0x06C6
- 99 #define RADIOLIB_SX126X_REG_SYNC_WORD_7 0x06C7
- 100 #define RADIOLIB_SX126X_REG_NODE_ADDRESS 0x06CD
- 101 #define RADIOLIB_SX126X_REG_BROADCAST_ADDRESS 0x06CE
- 102 #define RADIOLIB_SX126X_REG_IQ_CONFIG 0x0736
- 103 #define RADIOLIB_SX126X_REG_LORA_SYNC_WORD_MSB 0x0740
- 104 #define RADIOLIB_SX126X_REG_LORA_SYNC_WORD_LSB 0x0741
- 105 #define RADIOLIB_SX126X_REG_RANDOM_NUMBER_0 0x0819
- 106 #define RADIOLIB_SX126X_REG_RANDOM_NUMBER_1 0x081A
- 107 #define RADIOLIB_SX126X_REG_RANDOM_NUMBER_2 0x081B
- 108 #define RADIOLIB_SX126X_REG_RANDOM_NUMBER_3 0x081C
- 109 #define RADIOLIB_SX126X_REG_RX_GAIN 0x08AC
- 110 #define RADIOLIB_SX126X_REG_TX_CLAMP_CONFIG 0x08D8
- 111 #define RADIOLIB_SX126X_REG_OCP_CONFIGURATION 0x08E7
- 112 #define RADIOLIB_SX126X_REG_RTC_CTRL 0x0902
- 113 #define RADIOLIB_SX126X_REG_XTA_TRIM 0x0911
- 114 #define RADIOLIB_SX126X_REG_XTB_TRIM 0x0912
- 115 #define RADIOLIB_SX126X_REG_DIO3_OUT_VOLTAGE_CTRL 0x0920
- 116 #define RADIOLIB_SX126X_REG_EVENT_MASK 0x0944
-
-
- 119 #define RADIOLIB_SX126X_REG_SENSITIVITY_CONFIG 0x0889
- 120 #define RADIOLIB_SX126X_REG_RX_GAIN_RETENTION_0 0x029F
- 121 #define RADIOLIB_SX126X_REG_RX_GAIN_RETENTION_1 0x02A0
- 122 #define RADIOLIB_SX126X_REG_RX_GAIN_RETENTION_2 0x02A1
-
-
-
-
- 127 #define RADIOLIB_SX126X_SLEEP_START_COLD 0b00000000
- 128 #define RADIOLIB_SX126X_SLEEP_START_WARM 0b00000100
- 129 #define RADIOLIB_SX126X_SLEEP_RTC_OFF 0b00000000
- 130 #define RADIOLIB_SX126X_SLEEP_RTC_ON 0b00000001
-
-
- 133 #define RADIOLIB_SX126X_STANDBY_RC 0x00
- 134 #define RADIOLIB_SX126X_STANDBY_XOSC 0x01
+ 86 #define RADIOLIB_SX126X_REG_TX_BITBANG_ENABLE_0 0x0587
+ 87 #define RADIOLIB_SX126X_REG_TX_BITBANG_ENABLE_1 0x0680
+ 88 #define RADIOLIB_SX126X_REG_WHITENING_INITIAL_MSB 0x06B8
+ 89 #define RADIOLIB_SX126X_REG_WHITENING_INITIAL_LSB 0x06B9
+ 90 #define RADIOLIB_SX126X_REG_RX_TX_PLD_LEN 0x06BB
+ 91 #define RADIOLIB_SX126X_REG_CRC_INITIAL_MSB 0x06BC
+ 92 #define RADIOLIB_SX126X_REG_CRC_INITIAL_LSB 0x06BD
+ 93 #define RADIOLIB_SX126X_REG_CRC_POLYNOMIAL_MSB 0x06BE
+ 94 #define RADIOLIB_SX126X_REG_CRC_POLYNOMIAL_LSB 0x06BF
+ 95 #define RADIOLIB_SX126X_REG_SYNC_WORD_0 0x06C0
+ 96 #define RADIOLIB_SX126X_REG_SYNC_WORD_1 0x06C1
+ 97 #define RADIOLIB_SX126X_REG_SYNC_WORD_2 0x06C2
+ 98 #define RADIOLIB_SX126X_REG_SYNC_WORD_3 0x06C3
+ 99 #define RADIOLIB_SX126X_REG_SYNC_WORD_4 0x06C4
+ 100 #define RADIOLIB_SX126X_REG_SYNC_WORD_5 0x06C5
+ 101 #define RADIOLIB_SX126X_REG_SYNC_WORD_6 0x06C6
+ 102 #define RADIOLIB_SX126X_REG_SYNC_WORD_7 0x06C7
+ 103 #define RADIOLIB_SX126X_REG_NODE_ADDRESS 0x06CD
+ 104 #define RADIOLIB_SX126X_REG_BROADCAST_ADDRESS 0x06CE
+ 105 #define RADIOLIB_SX126X_REG_IQ_CONFIG 0x0736
+ 106 #define RADIOLIB_SX126X_REG_LORA_SYNC_WORD_MSB 0x0740
+ 107 #define RADIOLIB_SX126X_REG_LORA_SYNC_WORD_LSB 0x0741
+ 108 #define RADIOLIB_SX126X_REG_RX_ADDR_PTR 0x0803
+ 109 #define RADIOLIB_SX126X_REG_RANDOM_NUMBER_0 0x0819
+ 110 #define RADIOLIB_SX126X_REG_RANDOM_NUMBER_1 0x081A
+ 111 #define RADIOLIB_SX126X_REG_RANDOM_NUMBER_2 0x081B
+ 112 #define RADIOLIB_SX126X_REG_RANDOM_NUMBER_3 0x081C
+ 113 #define RADIOLIB_SX126X_REG_RX_GAIN 0x08AC
+ 114 #define RADIOLIB_SX126X_REG_TX_CLAMP_CONFIG 0x08D8
+ 115 #define RADIOLIB_SX126X_REG_OCP_CONFIGURATION 0x08E7
+ 116 #define RADIOLIB_SX126X_REG_RTC_CTRL 0x0902
+ 117 #define RADIOLIB_SX126X_REG_XTA_TRIM 0x0911
+ 118 #define RADIOLIB_SX126X_REG_XTB_TRIM 0x0912
+ 119 #define RADIOLIB_SX126X_REG_DIO3_OUT_VOLTAGE_CTRL 0x0920
+ 120 #define RADIOLIB_SX126X_REG_EVENT_MASK 0x0944
+
+
+ 123 #define RADIOLIB_SX126X_REG_SENSITIVITY_CONFIG 0x0889
+ 124 #define RADIOLIB_SX126X_REG_RX_GAIN_RETENTION_0 0x029F
+ 125 #define RADIOLIB_SX126X_REG_RX_GAIN_RETENTION_1 0x02A0
+ 126 #define RADIOLIB_SX126X_REG_RX_GAIN_RETENTION_2 0x02A1
+
+
+
+
+ 131 #define RADIOLIB_SX126X_SLEEP_START_COLD 0b00000000
+ 132 #define RADIOLIB_SX126X_SLEEP_START_WARM 0b00000100
+ 133 #define RADIOLIB_SX126X_SLEEP_RTC_OFF 0b00000000
+ 134 #define RADIOLIB_SX126X_SLEEP_RTC_ON 0b00000001
-
- 137 #define RADIOLIB_SX126X_RX_TIMEOUT_NONE 0x000000
- 138 #define RADIOLIB_SX126X_RX_TIMEOUT_INF 0xFFFFFF
+
+ 137 #define RADIOLIB_SX126X_STANDBY_RC 0x00
+ 138 #define RADIOLIB_SX126X_STANDBY_XOSC 0x01
-
- 141 #define RADIOLIB_SX126X_TX_TIMEOUT_NONE 0x000000
-
-
- 144 #define RADIOLIB_SX126X_STOP_ON_PREAMBLE_OFF 0x00
- 145 #define RADIOLIB_SX126X_STOP_ON_PREAMBLE_ON 0x01
+
+ 141 #define RADIOLIB_SX126X_RX_TIMEOUT_NONE 0x000000
+ 142 #define RADIOLIB_SX126X_RX_TIMEOUT_INF 0xFFFFFF
+
+
+ 145 #define RADIOLIB_SX126X_TX_TIMEOUT_NONE 0x000000
-
- 148 #define RADIOLIB_SX126X_REGULATOR_LDO 0x00
- 149 #define RADIOLIB_SX126X_REGULATOR_DC_DC 0x01
+
+ 148 #define RADIOLIB_SX126X_STOP_ON_PREAMBLE_OFF 0x00
+ 149 #define RADIOLIB_SX126X_STOP_ON_PREAMBLE_ON 0x01
-
- 152 #define RADIOLIB_SX126X_CALIBRATE_IMAGE_OFF 0b00000000
- 153 #define RADIOLIB_SX126X_CALIBRATE_IMAGE_ON 0b01000000
- 154 #define RADIOLIB_SX126X_CALIBRATE_ADC_BULK_P_OFF 0b00000000
- 155 #define RADIOLIB_SX126X_CALIBRATE_ADC_BULK_P_ON 0b00100000
- 156 #define RADIOLIB_SX126X_CALIBRATE_ADC_BULK_N_OFF 0b00000000
- 157 #define RADIOLIB_SX126X_CALIBRATE_ADC_BULK_N_ON 0b00010000
- 158 #define RADIOLIB_SX126X_CALIBRATE_ADC_PULSE_OFF 0b00000000
- 159 #define RADIOLIB_SX126X_CALIBRATE_ADC_PULSE_ON 0b00001000
- 160 #define RADIOLIB_SX126X_CALIBRATE_PLL_OFF 0b00000000
- 161 #define RADIOLIB_SX126X_CALIBRATE_PLL_ON 0b00000100
- 162 #define RADIOLIB_SX126X_CALIBRATE_RC13M_OFF 0b00000000
- 163 #define RADIOLIB_SX126X_CALIBRATE_RC13M_ON 0b00000010
- 164 #define RADIOLIB_SX126X_CALIBRATE_RC64K_OFF 0b00000000
- 165 #define RADIOLIB_SX126X_CALIBRATE_RC64K_ON 0b00000001
- 166 #define RADIOLIB_SX126X_CALIBRATE_ALL 0b01111111
-
-
- 169 #define RADIOLIB_SX126X_CAL_IMG_430_MHZ_1 0x6B
- 170 #define RADIOLIB_SX126X_CAL_IMG_430_MHZ_2 0x6F
- 171 #define RADIOLIB_SX126X_CAL_IMG_470_MHZ_1 0x75
- 172 #define RADIOLIB_SX126X_CAL_IMG_470_MHZ_2 0x81
- 173 #define RADIOLIB_SX126X_CAL_IMG_779_MHZ_1 0xC1
- 174 #define RADIOLIB_SX126X_CAL_IMG_779_MHZ_2 0xC5
- 175 #define RADIOLIB_SX126X_CAL_IMG_863_MHZ_1 0xD7
- 176 #define RADIOLIB_SX126X_CAL_IMG_863_MHZ_2 0xDB
- 177 #define RADIOLIB_SX126X_CAL_IMG_902_MHZ_1 0xE1
- 178 #define RADIOLIB_SX126X_CAL_IMG_902_MHZ_2 0xE9
-
-
- 181 #define RADIOLIB_SX126X_PA_CONFIG_HP_MAX 0x07
- 182 #define RADIOLIB_SX126X_PA_CONFIG_PA_LUT 0x01
- 183 #define RADIOLIB_SX126X_PA_CONFIG_SX1262_8 0x00
-
-
- 186 #define RADIOLIB_SX126X_RX_TX_FALLBACK_MODE_FS 0x40
- 187 #define RADIOLIB_SX126X_RX_TX_FALLBACK_MODE_STDBY_XOSC 0x30
- 188 #define RADIOLIB_SX126X_RX_TX_FALLBACK_MODE_STDBY_RC 0x20
-
-
- 191 #define RADIOLIB_SX126X_IRQ_LR_FHSS_HOP 0b0100000000000000
- 192 #define RADIOLIB_SX126X_IRQ_TIMEOUT 0b0000001000000000
- 193 #define RADIOLIB_SX126X_IRQ_CAD_DETECTED 0b0000000100000000
- 194 #define RADIOLIB_SX126X_IRQ_CAD_DONE 0b0000000010000000
- 195 #define RADIOLIB_SX126X_IRQ_CRC_ERR 0b0000000001000000
- 196 #define RADIOLIB_SX126X_IRQ_HEADER_ERR 0b0000000000100000
- 197 #define RADIOLIB_SX126X_IRQ_HEADER_VALID 0b0000000000010000
- 198 #define RADIOLIB_SX126X_IRQ_SYNC_WORD_VALID 0b0000000000001000
- 199 #define RADIOLIB_SX126X_IRQ_RADIOLIB_PREAMBLE_DETECTED 0b0000000000000100
- 200 #define RADIOLIB_SX126X_IRQ_RX_DONE 0b0000000000000010
- 201 #define RADIOLIB_SX126X_IRQ_TX_DONE 0b0000000000000001
- 202 #define RADIOLIB_SX126X_IRQ_ALL 0b0100001111111111
- 203 #define RADIOLIB_SX126X_IRQ_NONE 0b0000000000000000
-
-
- 206 #define RADIOLIB_SX126X_DIO2_AS_IRQ 0x00
- 207 #define RADIOLIB_SX126X_DIO2_AS_RF_SWITCH 0x01
+
+ 152 #define RADIOLIB_SX126X_REGULATOR_LDO 0x00
+ 153 #define RADIOLIB_SX126X_REGULATOR_DC_DC 0x01
+
+
+ 156 #define RADIOLIB_SX126X_CALIBRATE_IMAGE_OFF 0b00000000
+ 157 #define RADIOLIB_SX126X_CALIBRATE_IMAGE_ON 0b01000000
+ 158 #define RADIOLIB_SX126X_CALIBRATE_ADC_BULK_P_OFF 0b00000000
+ 159 #define RADIOLIB_SX126X_CALIBRATE_ADC_BULK_P_ON 0b00100000
+ 160 #define RADIOLIB_SX126X_CALIBRATE_ADC_BULK_N_OFF 0b00000000
+ 161 #define RADIOLIB_SX126X_CALIBRATE_ADC_BULK_N_ON 0b00010000
+ 162 #define RADIOLIB_SX126X_CALIBRATE_ADC_PULSE_OFF 0b00000000
+ 163 #define RADIOLIB_SX126X_CALIBRATE_ADC_PULSE_ON 0b00001000
+ 164 #define RADIOLIB_SX126X_CALIBRATE_PLL_OFF 0b00000000
+ 165 #define RADIOLIB_SX126X_CALIBRATE_PLL_ON 0b00000100
+ 166 #define RADIOLIB_SX126X_CALIBRATE_RC13M_OFF 0b00000000
+ 167 #define RADIOLIB_SX126X_CALIBRATE_RC13M_ON 0b00000010
+ 168 #define RADIOLIB_SX126X_CALIBRATE_RC64K_OFF 0b00000000
+ 169 #define RADIOLIB_SX126X_CALIBRATE_RC64K_ON 0b00000001
+ 170 #define RADIOLIB_SX126X_CALIBRATE_ALL 0b01111111
+
+
+ 173 #define RADIOLIB_SX126X_CAL_IMG_430_MHZ_1 0x6B
+ 174 #define RADIOLIB_SX126X_CAL_IMG_430_MHZ_2 0x6F
+ 175 #define RADIOLIB_SX126X_CAL_IMG_470_MHZ_1 0x75
+ 176 #define RADIOLIB_SX126X_CAL_IMG_470_MHZ_2 0x81
+ 177 #define RADIOLIB_SX126X_CAL_IMG_779_MHZ_1 0xC1
+ 178 #define RADIOLIB_SX126X_CAL_IMG_779_MHZ_2 0xC5
+ 179 #define RADIOLIB_SX126X_CAL_IMG_863_MHZ_1 0xD7
+ 180 #define RADIOLIB_SX126X_CAL_IMG_863_MHZ_2 0xDB
+ 181 #define RADIOLIB_SX126X_CAL_IMG_902_MHZ_1 0xE1
+ 182 #define RADIOLIB_SX126X_CAL_IMG_902_MHZ_2 0xE9
+
+
+ 185 #define RADIOLIB_SX126X_PA_CONFIG_HP_MAX 0x07
+ 186 #define RADIOLIB_SX126X_PA_CONFIG_PA_LUT 0x01
+ 187 #define RADIOLIB_SX126X_PA_CONFIG_SX1262_8 0x00
+
+
+ 190 #define RADIOLIB_SX126X_RX_TX_FALLBACK_MODE_FS 0x40
+ 191 #define RADIOLIB_SX126X_RX_TX_FALLBACK_MODE_STDBY_XOSC 0x30
+ 192 #define RADIOLIB_SX126X_RX_TX_FALLBACK_MODE_STDBY_RC 0x20
+
+
+ 195 #define RADIOLIB_SX126X_IRQ_LR_FHSS_HOP 0b0100000000000000
+ 196 #define RADIOLIB_SX126X_IRQ_TIMEOUT 0b0000001000000000
+ 197 #define RADIOLIB_SX126X_IRQ_CAD_DETECTED 0b0000000100000000
+ 198 #define RADIOLIB_SX126X_IRQ_CAD_DONE 0b0000000010000000
+ 199 #define RADIOLIB_SX126X_IRQ_CRC_ERR 0b0000000001000000
+ 200 #define RADIOLIB_SX126X_IRQ_HEADER_ERR 0b0000000000100000
+ 201 #define RADIOLIB_SX126X_IRQ_HEADER_VALID 0b0000000000010000
+ 202 #define RADIOLIB_SX126X_IRQ_SYNC_WORD_VALID 0b0000000000001000
+ 203 #define RADIOLIB_SX126X_IRQ_RADIOLIB_PREAMBLE_DETECTED 0b0000000000000100
+ 204 #define RADIOLIB_SX126X_IRQ_RX_DONE 0b0000000000000010
+ 205 #define RADIOLIB_SX126X_IRQ_TX_DONE 0b0000000000000001
+ 206 #define RADIOLIB_SX126X_IRQ_ALL 0b0100001111111111
+ 207 #define RADIOLIB_SX126X_IRQ_NONE 0b0000000000000000
-
- 210 #define RADIOLIB_SX126X_DIO3_OUTPUT_1_6 0x00
- 211 #define RADIOLIB_SX126X_DIO3_OUTPUT_1_7 0x01
- 212 #define RADIOLIB_SX126X_DIO3_OUTPUT_1_8 0x02
- 213 #define RADIOLIB_SX126X_DIO3_OUTPUT_2_2 0x03
- 214 #define RADIOLIB_SX126X_DIO3_OUTPUT_2_4 0x04
- 215 #define RADIOLIB_SX126X_DIO3_OUTPUT_2_7 0x05
- 216 #define RADIOLIB_SX126X_DIO3_OUTPUT_3_0 0x06
- 217 #define RADIOLIB_SX126X_DIO3_OUTPUT_3_3 0x07
-
-
- 220 #define RADIOLIB_SX126X_PACKET_TYPE_GFSK 0x00
- 221 #define RADIOLIB_SX126X_PACKET_TYPE_LORA 0x01
- 222 #define RADIOLIB_SX126X_PACKET_TYPE_LR_FHSS 0x03
-
-
- 225 #define RADIOLIB_SX126X_PA_RAMP_10U 0x00
- 226 #define RADIOLIB_SX126X_PA_RAMP_20U 0x01
- 227 #define RADIOLIB_SX126X_PA_RAMP_40U 0x02
- 228 #define RADIOLIB_SX126X_PA_RAMP_80U 0x03
- 229 #define RADIOLIB_SX126X_PA_RAMP_200U 0x04
- 230 #define RADIOLIB_SX126X_PA_RAMP_800U 0x05
- 231 #define RADIOLIB_SX126X_PA_RAMP_1700U 0x06
- 232 #define RADIOLIB_SX126X_PA_RAMP_3400U 0x07
-
-
- 235 #define RADIOLIB_SX126X_GFSK_FILTER_NONE 0x00
- 236 #define RADIOLIB_SX126X_GFSK_FILTER_GAUSS_0_3 0x08
- 237 #define RADIOLIB_SX126X_GFSK_FILTER_GAUSS_0_5 0x09
- 238 #define RADIOLIB_SX126X_GFSK_FILTER_GAUSS_0_7 0x0A
- 239 #define RADIOLIB_SX126X_GFSK_FILTER_GAUSS_1 0x0B
- 240 #define RADIOLIB_SX126X_GFSK_RX_BW_4_8 0x1F
- 241 #define RADIOLIB_SX126X_GFSK_RX_BW_5_8 0x17
- 242 #define RADIOLIB_SX126X_GFSK_RX_BW_7_3 0x0F
- 243 #define RADIOLIB_SX126X_GFSK_RX_BW_9_7 0x1E
- 244 #define RADIOLIB_SX126X_GFSK_RX_BW_11_7 0x16
- 245 #define RADIOLIB_SX126X_GFSK_RX_BW_14_6 0x0E
- 246 #define RADIOLIB_SX126X_GFSK_RX_BW_19_5 0x1D
- 247 #define RADIOLIB_SX126X_GFSK_RX_BW_23_4 0x15
- 248 #define RADIOLIB_SX126X_GFSK_RX_BW_29_3 0x0D
- 249 #define RADIOLIB_SX126X_GFSK_RX_BW_39_0 0x1C
- 250 #define RADIOLIB_SX126X_GFSK_RX_BW_46_9 0x14
- 251 #define RADIOLIB_SX126X_GFSK_RX_BW_58_6 0x0C
- 252 #define RADIOLIB_SX126X_GFSK_RX_BW_78_2 0x1B
- 253 #define RADIOLIB_SX126X_GFSK_RX_BW_93_8 0x13
- 254 #define RADIOLIB_SX126X_GFSK_RX_BW_117_3 0x0B
- 255 #define RADIOLIB_SX126X_GFSK_RX_BW_156_2 0x1A
- 256 #define RADIOLIB_SX126X_GFSK_RX_BW_187_2 0x12
- 257 #define RADIOLIB_SX126X_GFSK_RX_BW_234_3 0x0A
- 258 #define RADIOLIB_SX126X_GFSK_RX_BW_312_0 0x19
- 259 #define RADIOLIB_SX126X_GFSK_RX_BW_373_6 0x11
- 260 #define RADIOLIB_SX126X_GFSK_RX_BW_467_0 0x09
- 261 #define RADIOLIB_SX126X_LORA_BW_7_8 0x00
- 262 #define RADIOLIB_SX126X_LORA_BW_10_4 0x08
- 263 #define RADIOLIB_SX126X_LORA_BW_15_6 0x01
- 264 #define RADIOLIB_SX126X_LORA_BW_20_8 0x09
- 265 #define RADIOLIB_SX126X_LORA_BW_31_25 0x02
- 266 #define RADIOLIB_SX126X_LORA_BW_41_7 0x0A
- 267 #define RADIOLIB_SX126X_LORA_BW_62_5 0x03
- 268 #define RADIOLIB_SX126X_LORA_BW_125_0 0x04
- 269 #define RADIOLIB_SX126X_LORA_BW_250_0 0x05
- 270 #define RADIOLIB_SX126X_LORA_BW_500_0 0x06
- 271 #define RADIOLIB_SX126X_LORA_CR_4_5 0x01
- 272 #define RADIOLIB_SX126X_LORA_CR_4_6 0x02
- 273 #define RADIOLIB_SX126X_LORA_CR_4_7 0x03
- 274 #define RADIOLIB_SX126X_LORA_CR_4_8 0x04
- 275 #define RADIOLIB_SX126X_LORA_LOW_DATA_RATE_OPTIMIZE_OFF 0x00
- 276 #define RADIOLIB_SX126X_LORA_LOW_DATA_RATE_OPTIMIZE_ON 0x01
-
-
- 279 #define RADIOLIB_SX126X_GFSK_PREAMBLE_DETECT_OFF 0x00
- 280 #define RADIOLIB_SX126X_GFSK_PREAMBLE_DETECT_8 0x04
- 281 #define RADIOLIB_SX126X_GFSK_PREAMBLE_DETECT_16 0x05
- 282 #define RADIOLIB_SX126X_GFSK_PREAMBLE_DETECT_24 0x06
- 283 #define RADIOLIB_SX126X_GFSK_PREAMBLE_DETECT_32 0x07
- 284 #define RADIOLIB_SX126X_GFSK_ADDRESS_FILT_OFF 0x00
- 285 #define RADIOLIB_SX126X_GFSK_ADDRESS_FILT_NODE 0x01
- 286 #define RADIOLIB_SX126X_GFSK_ADDRESS_FILT_NODE_BROADCAST 0x02
- 287 #define RADIOLIB_SX126X_GFSK_PACKET_FIXED 0x00
- 288 #define RADIOLIB_SX126X_GFSK_PACKET_VARIABLE 0x01
- 289 #define RADIOLIB_SX126X_GFSK_CRC_OFF 0x01
- 290 #define RADIOLIB_SX126X_GFSK_CRC_1_BYTE 0x00
- 291 #define RADIOLIB_SX126X_GFSK_CRC_2_BYTE 0x02
- 292 #define RADIOLIB_SX126X_GFSK_CRC_1_BYTE_INV 0x04
- 293 #define RADIOLIB_SX126X_GFSK_CRC_2_BYTE_INV 0x06
- 294 #define RADIOLIB_SX126X_GFSK_WHITENING_OFF 0x00
- 295 #define RADIOLIB_SX126X_GFSK_WHITENING_ON 0x01
- 296 #define RADIOLIB_SX126X_LORA_HEADER_EXPLICIT 0x00
- 297 #define RADIOLIB_SX126X_LORA_HEADER_IMPLICIT 0x01
- 298 #define RADIOLIB_SX126X_LORA_CRC_OFF 0x00
- 299 #define RADIOLIB_SX126X_LORA_CRC_ON 0x01
- 300 #define RADIOLIB_SX126X_LORA_IQ_STANDARD 0x00
- 301 #define RADIOLIB_SX126X_LORA_IQ_INVERTED 0x01
-
-
- 304 #define RADIOLIB_SX126X_CAD_ON_1_SYMB 0x00
- 305 #define RADIOLIB_SX126X_CAD_ON_2_SYMB 0x01
- 306 #define RADIOLIB_SX126X_CAD_ON_4_SYMB 0x02
- 307 #define RADIOLIB_SX126X_CAD_ON_8_SYMB 0x03
- 308 #define RADIOLIB_SX126X_CAD_ON_16_SYMB 0x04
- 309 #define RADIOLIB_SX126X_CAD_GOTO_STDBY 0x00
- 310 #define RADIOLIB_SX126X_CAD_GOTO_RX 0x01
- 311 #define RADIOLIB_SX126X_CAD_PARAM_DEFAULT 0xFF
- 312 #define RADIOLIB_SX126X_CAD_PARAM_DET_MIN 10
-
-
- 315 #define RADIOLIB_SX126X_STATUS_MODE_STDBY_RC 0b00100000
- 316 #define RADIOLIB_SX126X_STATUS_MODE_STDBY_XOSC 0b00110000
- 317 #define RADIOLIB_SX126X_STATUS_MODE_FS 0b01000000
- 318 #define RADIOLIB_SX126X_STATUS_MODE_RX 0b01010000
- 319 #define RADIOLIB_SX126X_STATUS_MODE_TX 0b01100000
- 320 #define RADIOLIB_SX126X_STATUS_DATA_AVAILABLE 0b00000100
- 321 #define RADIOLIB_SX126X_STATUS_CMD_TIMEOUT 0b00000110
- 322 #define RADIOLIB_SX126X_STATUS_CMD_INVALID 0b00001000
- 323 #define RADIOLIB_SX126X_STATUS_CMD_FAILED 0b00001010
- 324 #define RADIOLIB_SX126X_STATUS_TX_DONE 0b00001100
- 325 #define RADIOLIB_SX126X_STATUS_SPI_FAILED 0b11111111
-
-
- 328 #define RADIOLIB_SX126X_GFSK_RX_STATUS_PREAMBLE_ERR 0b10000000
- 329 #define RADIOLIB_SX126X_GFSK_RX_STATUS_SYNC_ERR 0b01000000
- 330 #define RADIOLIB_SX126X_GFSK_RX_STATUS_ADRS_ERR 0b00100000
- 331 #define RADIOLIB_SX126X_GFSK_RX_STATUS_CRC_ERR 0b00010000
- 332 #define RADIOLIB_SX126X_GFSK_RX_STATUS_LENGTH_ERR 0b00001000
- 333 #define RADIOLIB_SX126X_GFSK_RX_STATUS_ABORT_ERR 0b00000100
- 334 #define RADIOLIB_SX126X_GFSK_RX_STATUS_PACKET_RECEIVED 0b00000010
- 335 #define RADIOLIB_SX126X_GFSK_RX_STATUS_PACKET_SENT 0b00000001
-
-
- 338 #define RADIOLIB_SX126X_PA_RAMP_ERR 0b100000000
- 339 #define RADIOLIB_SX126X_PLL_LOCK_ERR 0b001000000
- 340 #define RADIOLIB_SX126X_XOSC_START_ERR 0b000100000
- 341 #define RADIOLIB_SX126X_IMG_CALIB_ERR 0b000010000
- 342 #define RADIOLIB_SX126X_ADC_CALIB_ERR 0b000001000
- 343 #define RADIOLIB_SX126X_PLL_CALIB_ERR 0b000000100
- 344 #define RADIOLIB_SX126X_RC13M_CALIB_ERR 0b000000010
- 345 #define RADIOLIB_SX126X_RC64K_CALIB_ERR 0b000000001
-
-
-
-
- 350 #define RADIOLIB_SX126X_HOPPING_ENABLED 0b00000001
- 351 #define RADIOLIB_SX126X_HOPPING_DISABLED 0b00000000
-
-
- 354 #define RADIOLIB_SX126X_SYNC_WORD_PUBLIC 0x34
- 355 #define RADIOLIB_SX126X_SYNC_WORD_PRIVATE 0x12
+
+ 210 #define RADIOLIB_SX126X_DIO2_AS_IRQ 0x00
+ 211 #define RADIOLIB_SX126X_DIO2_AS_RF_SWITCH 0x01
+
+
+ 214 #define RADIOLIB_SX126X_DIO3_OUTPUT_1_6 0x00
+ 215 #define RADIOLIB_SX126X_DIO3_OUTPUT_1_7 0x01
+ 216 #define RADIOLIB_SX126X_DIO3_OUTPUT_1_8 0x02
+ 217 #define RADIOLIB_SX126X_DIO3_OUTPUT_2_2 0x03
+ 218 #define RADIOLIB_SX126X_DIO3_OUTPUT_2_4 0x04
+ 219 #define RADIOLIB_SX126X_DIO3_OUTPUT_2_7 0x05
+ 220 #define RADIOLIB_SX126X_DIO3_OUTPUT_3_0 0x06
+ 221 #define RADIOLIB_SX126X_DIO3_OUTPUT_3_3 0x07
+
+
+ 224 #define RADIOLIB_SX126X_PACKET_TYPE_GFSK 0x00
+ 225 #define RADIOLIB_SX126X_PACKET_TYPE_LORA 0x01
+ 226 #define RADIOLIB_SX126X_PACKET_TYPE_LR_FHSS 0x03
+
+
+ 229 #define RADIOLIB_SX126X_PA_RAMP_10U 0x00
+ 230 #define RADIOLIB_SX126X_PA_RAMP_20U 0x01
+ 231 #define RADIOLIB_SX126X_PA_RAMP_40U 0x02
+ 232 #define RADIOLIB_SX126X_PA_RAMP_80U 0x03
+ 233 #define RADIOLIB_SX126X_PA_RAMP_200U 0x04
+ 234 #define RADIOLIB_SX126X_PA_RAMP_800U 0x05
+ 235 #define RADIOLIB_SX126X_PA_RAMP_1700U 0x06
+ 236 #define RADIOLIB_SX126X_PA_RAMP_3400U 0x07
+
+
+ 239 #define RADIOLIB_SX126X_GFSK_FILTER_NONE 0x00
+ 240 #define RADIOLIB_SX126X_GFSK_FILTER_GAUSS_0_3 0x08
+ 241 #define RADIOLIB_SX126X_GFSK_FILTER_GAUSS_0_5 0x09
+ 242 #define RADIOLIB_SX126X_GFSK_FILTER_GAUSS_0_7 0x0A
+ 243 #define RADIOLIB_SX126X_GFSK_FILTER_GAUSS_1 0x0B
+ 244 #define RADIOLIB_SX126X_GFSK_RX_BW_4_8 0x1F
+ 245 #define RADIOLIB_SX126X_GFSK_RX_BW_5_8 0x17
+ 246 #define RADIOLIB_SX126X_GFSK_RX_BW_7_3 0x0F
+ 247 #define RADIOLIB_SX126X_GFSK_RX_BW_9_7 0x1E
+ 248 #define RADIOLIB_SX126X_GFSK_RX_BW_11_7 0x16
+ 249 #define RADIOLIB_SX126X_GFSK_RX_BW_14_6 0x0E
+ 250 #define RADIOLIB_SX126X_GFSK_RX_BW_19_5 0x1D
+ 251 #define RADIOLIB_SX126X_GFSK_RX_BW_23_4 0x15
+ 252 #define RADIOLIB_SX126X_GFSK_RX_BW_29_3 0x0D
+ 253 #define RADIOLIB_SX126X_GFSK_RX_BW_39_0 0x1C
+ 254 #define RADIOLIB_SX126X_GFSK_RX_BW_46_9 0x14
+ 255 #define RADIOLIB_SX126X_GFSK_RX_BW_58_6 0x0C
+ 256 #define RADIOLIB_SX126X_GFSK_RX_BW_78_2 0x1B
+ 257 #define RADIOLIB_SX126X_GFSK_RX_BW_93_8 0x13
+ 258 #define RADIOLIB_SX126X_GFSK_RX_BW_117_3 0x0B
+ 259 #define RADIOLIB_SX126X_GFSK_RX_BW_156_2 0x1A
+ 260 #define RADIOLIB_SX126X_GFSK_RX_BW_187_2 0x12
+ 261 #define RADIOLIB_SX126X_GFSK_RX_BW_234_3 0x0A
+ 262 #define RADIOLIB_SX126X_GFSK_RX_BW_312_0 0x19
+ 263 #define RADIOLIB_SX126X_GFSK_RX_BW_373_6 0x11
+ 264 #define RADIOLIB_SX126X_GFSK_RX_BW_467_0 0x09
+ 265 #define RADIOLIB_SX126X_LORA_BW_7_8 0x00
+ 266 #define RADIOLIB_SX126X_LORA_BW_10_4 0x08
+ 267 #define RADIOLIB_SX126X_LORA_BW_15_6 0x01
+ 268 #define RADIOLIB_SX126X_LORA_BW_20_8 0x09
+ 269 #define RADIOLIB_SX126X_LORA_BW_31_25 0x02
+ 270 #define RADIOLIB_SX126X_LORA_BW_41_7 0x0A
+ 271 #define RADIOLIB_SX126X_LORA_BW_62_5 0x03
+ 272 #define RADIOLIB_SX126X_LORA_BW_125_0 0x04
+ 273 #define RADIOLIB_SX126X_LORA_BW_250_0 0x05
+ 274 #define RADIOLIB_SX126X_LORA_BW_500_0 0x06
+ 275 #define RADIOLIB_SX126X_LORA_CR_4_5 0x01
+ 276 #define RADIOLIB_SX126X_LORA_CR_4_6 0x02
+ 277 #define RADIOLIB_SX126X_LORA_CR_4_7 0x03
+ 278 #define RADIOLIB_SX126X_LORA_CR_4_8 0x04
+ 279 #define RADIOLIB_SX126X_LORA_LOW_DATA_RATE_OPTIMIZE_OFF 0x00
+ 280 #define RADIOLIB_SX126X_LORA_LOW_DATA_RATE_OPTIMIZE_ON 0x01
+
+
+ 283 #define RADIOLIB_SX126X_GFSK_PREAMBLE_DETECT_OFF 0x00
+ 284 #define RADIOLIB_SX126X_GFSK_PREAMBLE_DETECT_8 0x04
+ 285 #define RADIOLIB_SX126X_GFSK_PREAMBLE_DETECT_16 0x05
+ 286 #define RADIOLIB_SX126X_GFSK_PREAMBLE_DETECT_24 0x06
+ 287 #define RADIOLIB_SX126X_GFSK_PREAMBLE_DETECT_32 0x07
+ 288 #define RADIOLIB_SX126X_GFSK_ADDRESS_FILT_OFF 0x00
+ 289 #define RADIOLIB_SX126X_GFSK_ADDRESS_FILT_NODE 0x01
+ 290 #define RADIOLIB_SX126X_GFSK_ADDRESS_FILT_NODE_BROADCAST 0x02
+ 291 #define RADIOLIB_SX126X_GFSK_PACKET_FIXED 0x00
+ 292 #define RADIOLIB_SX126X_GFSK_PACKET_VARIABLE 0x01
+ 293 #define RADIOLIB_SX126X_GFSK_CRC_OFF 0x01
+ 294 #define RADIOLIB_SX126X_GFSK_CRC_1_BYTE 0x00
+ 295 #define RADIOLIB_SX126X_GFSK_CRC_2_BYTE 0x02
+ 296 #define RADIOLIB_SX126X_GFSK_CRC_1_BYTE_INV 0x04
+ 297 #define RADIOLIB_SX126X_GFSK_CRC_2_BYTE_INV 0x06
+ 298 #define RADIOLIB_SX126X_GFSK_WHITENING_OFF 0x00
+ 299 #define RADIOLIB_SX126X_GFSK_WHITENING_ON 0x01
+ 300 #define RADIOLIB_SX126X_LORA_HEADER_EXPLICIT 0x00
+ 301 #define RADIOLIB_SX126X_LORA_HEADER_IMPLICIT 0x01
+ 302 #define RADIOLIB_SX126X_LORA_CRC_OFF 0x00
+ 303 #define RADIOLIB_SX126X_LORA_CRC_ON 0x01
+ 304 #define RADIOLIB_SX126X_LORA_IQ_STANDARD 0x00
+ 305 #define RADIOLIB_SX126X_LORA_IQ_INVERTED 0x01
+
+
+ 308 #define RADIOLIB_SX126X_CAD_ON_1_SYMB 0x00
+ 309 #define RADIOLIB_SX126X_CAD_ON_2_SYMB 0x01
+ 310 #define RADIOLIB_SX126X_CAD_ON_4_SYMB 0x02
+ 311 #define RADIOLIB_SX126X_CAD_ON_8_SYMB 0x03
+ 312 #define RADIOLIB_SX126X_CAD_ON_16_SYMB 0x04
+ 313 #define RADIOLIB_SX126X_CAD_GOTO_STDBY 0x00
+ 314 #define RADIOLIB_SX126X_CAD_GOTO_RX 0x01
+ 315 #define RADIOLIB_SX126X_CAD_PARAM_DEFAULT 0xFF
+ 316 #define RADIOLIB_SX126X_CAD_PARAM_DET_MIN 10
+
+
+ 319 #define RADIOLIB_SX126X_STATUS_MODE_STDBY_RC 0b00100000
+ 320 #define RADIOLIB_SX126X_STATUS_MODE_STDBY_XOSC 0b00110000
+ 321 #define RADIOLIB_SX126X_STATUS_MODE_FS 0b01000000
+ 322 #define RADIOLIB_SX126X_STATUS_MODE_RX 0b01010000
+ 323 #define RADIOLIB_SX126X_STATUS_MODE_TX 0b01100000
+ 324 #define RADIOLIB_SX126X_STATUS_DATA_AVAILABLE 0b00000100
+ 325 #define RADIOLIB_SX126X_STATUS_CMD_TIMEOUT 0b00000110
+ 326 #define RADIOLIB_SX126X_STATUS_CMD_INVALID 0b00001000
+ 327 #define RADIOLIB_SX126X_STATUS_CMD_FAILED 0b00001010
+ 328 #define RADIOLIB_SX126X_STATUS_TX_DONE 0b00001100
+ 329 #define RADIOLIB_SX126X_STATUS_SPI_FAILED 0b11111111
+
+
+ 332 #define RADIOLIB_SX126X_GFSK_RX_STATUS_PREAMBLE_ERR 0b10000000
+ 333 #define RADIOLIB_SX126X_GFSK_RX_STATUS_SYNC_ERR 0b01000000
+ 334 #define RADIOLIB_SX126X_GFSK_RX_STATUS_ADRS_ERR 0b00100000
+ 335 #define RADIOLIB_SX126X_GFSK_RX_STATUS_CRC_ERR 0b00010000
+ 336 #define RADIOLIB_SX126X_GFSK_RX_STATUS_LENGTH_ERR 0b00001000
+ 337 #define RADIOLIB_SX126X_GFSK_RX_STATUS_ABORT_ERR 0b00000100
+ 338 #define RADIOLIB_SX126X_GFSK_RX_STATUS_PACKET_RECEIVED 0b00000010
+ 339 #define RADIOLIB_SX126X_GFSK_RX_STATUS_PACKET_SENT 0b00000001
+
+
+ 342 #define RADIOLIB_SX126X_PA_RAMP_ERR 0b100000000
+ 343 #define RADIOLIB_SX126X_PLL_LOCK_ERR 0b001000000
+ 344 #define RADIOLIB_SX126X_XOSC_START_ERR 0b000100000
+ 345 #define RADIOLIB_SX126X_IMG_CALIB_ERR 0b000010000
+ 346 #define RADIOLIB_SX126X_ADC_CALIB_ERR 0b000001000
+ 347 #define RADIOLIB_SX126X_PLL_CALIB_ERR 0b000000100
+ 348 #define RADIOLIB_SX126X_RC13M_CALIB_ERR 0b000000010
+ 349 #define RADIOLIB_SX126X_RC64K_CALIB_ERR 0b000000001
+
+
+
+
+ 354 #define RADIOLIB_SX126X_HOPPING_ENABLED 0b00000001
+ 355 #define RADIOLIB_SX126X_HOPPING_DISABLED 0b00000000
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+ 358 #define RADIOLIB_SX126X_SYNC_WORD_PUBLIC 0x34
+ 359 #define RADIOLIB_SX126X_SYNC_WORD_PRIVATE 0x12
+
+
+
+
+
+
+
+
+
+
+
- 398 int16_t
begin(uint8_t cr, uint8_t syncWord, uint16_t preambleLength,
float tcxoVoltage,
bool useRegulatorLDO =
false);
-
- 417 int16_t
beginFSK(
float br,
float freqDev,
float rxBw, uint16_t preambleLength,
float tcxoVoltage,
bool useRegulatorLDO =
false);
-
- 427 int16_t
reset(
bool verify =
true);
-
- 441 int16_t
transmit(uint8_t* data,
size_t len, uint8_t addr = 0)
override;
-
- 453 int16_t
receive(uint8_t* data,
size_t len)
override;
-
-
-
-
-
- 483 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);
-
- 492 int16_t
sleep(
bool retainConfig =
true);
-
-
-
-
-
-
-
-
-
-
-
- 536 int16_t
startTransmit(uint8_t* data,
size_t len, uint8_t addr = 0)
override;
-
-
-
- 553 int16_t
startReceive(uint32_t timeout = RADIOLIB_SX126X_RX_TIMEOUT_INF);
-
-
-
-
-
-
-
- 597 int16_t
readData(uint8_t* data,
size_t len)
override;
-
- 610 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);
-
-
-
-
-
-
-
-
-
-
-
- 657 int16_t
setSyncWord(uint8_t syncWord, uint8_t controlBits = 0x44);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 742 int16_t
setSyncWord(uint8_t* syncWord, uint8_t len);
-
- 753 int16_t
setSyncBits(uint8_t *syncWord, uint8_t bitsLen);
-
-
-
-
-
-
-
- 793 int16_t
setCRC(uint8_t len, uint16_t initial = 0x1D0F, uint16_t polynomial = 0x1021,
bool inverted =
true);
-
- 804 int16_t
setWhitening(
bool enabled, uint16_t initial = 0x0100);
-
- 816 int16_t
setTCXO(
float voltage, uint32_t delay = 5000);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 966 #if !defined(RADIOLIB_EXCLUDE_DIRECT_RECEIVE)
-
-
- 979 void readBit(RADIOLIB_PIN_TYPE pin);
-
-
-
- 983 #if !defined(RADIOLIB_GODMODE)
-
-
-
- 987 int16_t setTx(uint32_t timeout = 0);
- 988 int16_t setRx(uint32_t timeout);
- 989 int16_t setCad(uint8_t symbolNum, uint8_t detPeak, uint8_t detMin);
- 990 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);
- 991 int16_t writeRegister(uint16_t addr, uint8_t* data, uint8_t numBytes);
- 992 int16_t readRegister(uint16_t addr, uint8_t* data, uint8_t numBytes);
- 993 int16_t writeBuffer(uint8_t* data, uint8_t numBytes, uint8_t offset = 0x00);
- 994 int16_t readBuffer(uint8_t* data, uint8_t numBytes);
- 995 int16_t setDioIrqParams(uint16_t irqMask, uint16_t dio1Mask, uint16_t dio2Mask = RADIOLIB_SX126X_IRQ_NONE, uint16_t dio3Mask = RADIOLIB_SX126X_IRQ_NONE);
- 996 virtual int16_t clearIrqStatus(uint16_t clearIrqParams = RADIOLIB_SX126X_IRQ_ALL);
- 997 int16_t setRfFrequency(uint32_t frf);
- 998 int16_t calibrateImage(uint8_t* data);
- 999 uint8_t getPacketType();
- 1000 int16_t setTxParams(uint8_t power, uint8_t rampTime = RADIOLIB_SX126X_PA_RAMP_200U);
- 1001 int16_t setModulationParams(uint8_t sf, uint8_t bw, uint8_t cr, uint8_t ldro);
- 1002 int16_t setModulationParamsFSK(uint32_t br, uint8_t pulseShape, uint8_t rxBw, uint32_t freqDev);
- 1003 int16_t setPacketParams(uint16_t preambleLength, uint8_t crcType, uint8_t payloadLength, uint8_t headerType, uint8_t invertIQ = RADIOLIB_SX126X_LORA_IQ_STANDARD);
- 1004 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);
- 1005 int16_t setBufferBaseAddress(uint8_t txBaseAddress = 0x00, uint8_t rxBaseAddress = 0x00);
- 1006 int16_t setRegulatorMode(uint8_t mode);
- 1007 uint8_t getStatus();
- 1008 uint32_t getPacketStatus();
- 1009 uint16_t getDeviceErrors();
- 1010 int16_t clearDeviceErrors();
-
- 1012 int16_t startReceiveCommon(uint32_t timeout = RADIOLIB_SX126X_RX_TIMEOUT_INF);
- 1013 int16_t setFrequencyRaw(
float freq);
- 1014 int16_t setPacketMode(uint8_t mode, uint8_t len);
- 1015 int16_t setHeaderType(uint8_t headerType,
size_t len = 0xFF);
-
-
- 1018 int16_t fixSensitivity();
- 1019 int16_t fixPaClamping(
bool enable =
true);
- 1020 int16_t fixImplicitTimeout();
- 1021 int16_t fixInvertedIQ(uint8_t iqConfig);
-
- 1023 #if !defined(RADIOLIB_GODMODE) && !defined(RADIOLIB_LOW_LEVEL)
-
-
-
+
+
+
+
+ 402 int16_t
begin(uint8_t cr, uint8_t syncWord, uint16_t preambleLength,
float tcxoVoltage,
bool useRegulatorLDO =
false);
+
+ 421 int16_t
beginFSK(
float br,
float freqDev,
float rxBw, uint16_t preambleLength,
float tcxoVoltage,
bool useRegulatorLDO =
false);
+
+ 431 int16_t
reset(
bool verify =
true);
+
+ 445 int16_t
transmit(uint8_t* data,
size_t len, uint8_t addr = 0)
override;
+
+ 457 int16_t
receive(uint8_t* data,
size_t len)
override;
+
+
+
+
+
+ 487 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);
+
+ 496 int16_t
sleep(
bool retainConfig =
true);
+
+
+
+
+
+
+
+
+
+
+
+ 540 int16_t
startTransmit(uint8_t* data,
size_t len, uint8_t addr = 0)
override;
+
+
+
+ 557 int16_t
startReceive(uint32_t timeout = RADIOLIB_SX126X_RX_TIMEOUT_INF);
+
+
+
+
+
+
+
+ 601 int16_t
readData(uint8_t* data,
size_t len)
override;
+
+ 614 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);
+
+
+
+
+
+
+
+
+
+
+
+ 661 int16_t
setSyncWord(uint8_t syncWord, uint8_t controlBits = 0x44);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 746 int16_t
setSyncWord(uint8_t* syncWord, uint8_t len);
+
+ 757 int16_t
setSyncBits(uint8_t *syncWord, uint8_t bitsLen);
+
+
+
+
+
+
+
+ 797 int16_t
setCRC(uint8_t len, uint16_t initial = 0x1D0F, uint16_t polynomial = 0x1021,
bool inverted =
true);
+
+ 808 int16_t
setWhitening(
bool enabled, uint16_t initial = 0x0100);
+
+ 820 int16_t
setTCXO(
float voltage, uint32_t delay = 5000);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 970 #if !defined(RADIOLIB_EXCLUDE_DIRECT_RECEIVE)
+
+
+ 983 void readBit(RADIOLIB_PIN_TYPE pin);
+
+
+
+ 987 #if !defined(RADIOLIB_GODMODE)
+
+
+
+ 991 int16_t setTx(uint32_t timeout = 0);
+ 992 int16_t setRx(uint32_t timeout);
+ 993 int16_t setCad(uint8_t symbolNum, uint8_t detPeak, uint8_t detMin);
+ 994 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);
+ 995 int16_t writeRegister(uint16_t addr, uint8_t* data, uint8_t numBytes);
+ 996 int16_t readRegister(uint16_t addr, uint8_t* data, uint8_t numBytes);
+ 997 int16_t writeBuffer(uint8_t* data, uint8_t numBytes, uint8_t offset = 0x00);
+ 998 int16_t readBuffer(uint8_t* data, uint8_t numBytes);
+ 999 int16_t setDioIrqParams(uint16_t irqMask, uint16_t dio1Mask, uint16_t dio2Mask = RADIOLIB_SX126X_IRQ_NONE, uint16_t dio3Mask = RADIOLIB_SX126X_IRQ_NONE);
+ 1000 virtual int16_t clearIrqStatus(uint16_t clearIrqParams = RADIOLIB_SX126X_IRQ_ALL);
+ 1001 int16_t setRfFrequency(uint32_t frf);
+ 1002 int16_t calibrateImage(uint8_t* data);
+ 1003 uint8_t getPacketType();
+ 1004 int16_t setTxParams(uint8_t power, uint8_t rampTime = RADIOLIB_SX126X_PA_RAMP_200U);
+ 1005 int16_t setModulationParams(uint8_t sf, uint8_t bw, uint8_t cr, uint8_t ldro);
+ 1006 int16_t setModulationParamsFSK(uint32_t br, uint8_t pulseShape, uint8_t rxBw, uint32_t freqDev);
+ 1007 int16_t setPacketParams(uint16_t preambleLength, uint8_t crcType, uint8_t payloadLength, uint8_t headerType, uint8_t invertIQ = RADIOLIB_SX126X_LORA_IQ_STANDARD);
+ 1008 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);
+ 1009 int16_t setBufferBaseAddress(uint8_t txBaseAddress = 0x00, uint8_t rxBaseAddress = 0x00);
+ 1010 int16_t setRegulatorMode(uint8_t mode);
+ 1011 uint8_t getStatus();
+ 1012 uint32_t getPacketStatus();
+ 1013 uint16_t getDeviceErrors();
+ 1014 int16_t clearDeviceErrors();
+
+ 1016 int16_t startReceiveCommon(uint32_t timeout = RADIOLIB_SX126X_RX_TIMEOUT_INF);
+ 1017 int16_t setFrequencyRaw(
float freq);
+ 1018 int16_t setPacketMode(uint8_t mode, uint8_t len);
+ 1019 int16_t setHeaderType(uint8_t headerType,
size_t len = 0xFF);
+ 1020 int16_t directMode();
+
+
+ 1023 int16_t fixSensitivity();
+ 1024 int16_t fixPaClamping(
bool enable =
true);
+ 1025 int16_t fixImplicitTimeout();
+ 1026 int16_t fixInvertedIQ(uint8_t iqConfig);
-
- 1029 int16_t SPIwriteCommand(uint8_t cmd, uint8_t* data, uint8_t numBytes,
bool waitForBusy =
true,
bool verify =
true);
- 1030 int16_t SPIwriteCommand(uint8_t* cmd, uint8_t cmdLen, uint8_t* data, uint8_t numBytes,
bool waitForBusy =
true,
bool verify =
true);
- 1031 int16_t SPIreadCommand(uint8_t cmd, uint8_t* data, uint8_t numBytes,
bool waitForBusy =
true,
bool verify =
true);
- 1032 int16_t SPIreadCommand(uint8_t* cmd, uint8_t cmdLen, uint8_t* data, uint8_t numBytes,
bool waitForBusy =
true,
bool verify =
true);
- 1033 int16_t SPItransfer(uint8_t* cmd, uint8_t cmdLen,
bool write, uint8_t* dataOut, uint8_t* dataIn, uint8_t numBytes,
bool waitForBusy, uint32_t timeout = 5000);
-
- 1035 #if !defined(RADIOLIB_GODMODE)
-
-
-
- 1039 uint8_t _bw = 0, _sf = 0, _cr = 0, _ldro = 0, _crcType = 0, _headerType = 0;
- 1040 uint16_t _preambleLength = 0;
-
- 1042 bool _ldroAuto =
true;
+ 1028 #if !defined(RADIOLIB_GODMODE) && !defined(RADIOLIB_LOW_LEVEL)
+
+
+
+
+
+ 1034 int16_t SPIwriteCommand(uint8_t cmd, uint8_t* data, uint8_t numBytes,
bool waitForBusy =
true,
bool verify =
true);
+ 1035 int16_t SPIwriteCommand(uint8_t* cmd, uint8_t cmdLen, uint8_t* data, uint8_t numBytes,
bool waitForBusy =
true,
bool verify =
true);
+ 1036 int16_t SPIreadCommand(uint8_t cmd, uint8_t* data, uint8_t numBytes,
bool waitForBusy =
true,
bool verify =
true);
+ 1037 int16_t SPIreadCommand(uint8_t* cmd, uint8_t cmdLen, uint8_t* data, uint8_t numBytes,
bool waitForBusy =
true,
bool verify =
true);
+ 1038 int16_t SPItransfer(uint8_t* cmd, uint8_t cmdLen,
bool write, uint8_t* dataOut, uint8_t* dataIn, uint8_t numBytes,
bool waitForBusy, uint32_t timeout = 5000);
+
+ 1040 #if !defined(RADIOLIB_GODMODE)
+
+
- 1044 uint32_t _br = 0, _freqDev = 0;
- 1045 uint8_t _rxBw = 0, _pulseShape = 0, _crcTypeFSK = 0, _syncWordLength = 0, _addrComp = 0, _whitening = 0, _packetType = 0;
- 1046 uint16_t _preambleLengthFSK = 0;
-
+ 1044 uint8_t _bw = 0, _sf = 0, _cr = 0, _ldro = 0, _crcType = 0, _headerType = 0;
+ 1045 uint16_t _preambleLength = 0;
+
+ 1047 bool _ldroAuto =
true;
- 1049 float _dataRate = 0;
-
- 1051 uint32_t _tcxoDelay = 0;
-
- 1053 size_t _implicitLen = 0;
-
-
-
-
-
+ 1049 uint32_t _br = 0, _freqDev = 0;
+ 1050 uint8_t _rxBw = 0, _pulseShape = 0, _crcTypeFSK = 0, _syncWordLength = 0, _addrComp = 0, _whitening = 0, _packetType = 0;
+ 1051 uint16_t _preambleLengthFSK = 0;
+
+
+ 1054 float _dataRate = 0;
+
+ 1056 uint32_t _tcxoDelay = 0;
+
+ 1058 size_t _implicitLen = 0;
- 1060 int16_t config(uint8_t modem);
- 1061 int16_t checkCommandResult();
-
-
-
-
-
+
+
+
+
+
+ 1065 int16_t config(uint8_t modem);
+ 1066 int16_t checkCommandResult();
+
+
+
+
+
Implements all common low-level methods to control the wireless module. Every module class contains o...
Definition: Module.h:16
static const size_t RFSWITCH_MAX_PINS
The maximum number of pins supported by the RF switch code.
Definition: Module.h:27
@ MODE_TX
Definition: Module.h:56
@@ -684,70 +689,70 @@ $(document).ready(function(){initNavTree('_s_x126x_8h_source.html',''); initResi
int16_t readData(String &str, size_t len=0)
Reads data that was received after calling startReceive method.
Definition: PhysicalLayer.cpp:140
int16_t startTransmit(String &str, uint8_t addr=0)
Interrupt-driven Arduino String transmit method. Unlike the standard transmit method,...
Definition: PhysicalLayer.cpp:121
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:364
-void setDio1Action(void(*func)(void))
Sets interrupt service routine to call when DIO1 activates.
Definition: SX126x.cpp:366
-float getRSSI()
Gets RSSI (Recorded Signal Strength Indicator) of the last received packet.
Definition: SX126x.cpp:1135
-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:592
-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:910
-int16_t setRegulatorLDO()
Set regulator mode to LDO.
Definition: SX126x.cpp:1223
-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:1235
-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:1231
+Base class for SX126x series. All derived classes for SX126x (e.g. SX1262 or SX1268) inherit from thi...
Definition: SX126x.h:368
+void setDio1Action(void(*func)(void))
Sets interrupt service routine to call when DIO1 activates.
Definition: SX126x.cpp:423
+float getRSSI()
Gets RSSI (Recorded Signal Strength Indicator) of the last received packet.
Definition: SX126x.cpp:1192
+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:649
+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:967
+int16_t setRegulatorLDO()
Set regulator mode to LDO.
Definition: SX126x.cpp:1280
+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:1292
+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:1288
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:78
-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:639
-int16_t explicitHeader()
Set explicit header mode for future reception/transmission.
Definition: SX126x.cpp:1219
-int16_t forceLDRO(bool enable)
Forces LoRa low data rate optimization. Only available in LoRa mode. After calling this method,...
Definition: SX126x.cpp:1243
-int16_t setNodeAddress(uint8_t nodeAddr)
Sets node address. Calling this method will also enable address filtering for node address only.
Definition: SX126x.cpp:990
-int16_t setTCXO(float voltage, uint32_t delay=5000)
Sets TCXO (Temperature Compensated Crystal Oscillator) configuration.
Definition: SX126x.cpp:1303
-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:810
-int16_t setRegulatorDCDC()
Set regulator mode to DC-DC.
Definition: SX126x.cpp:1227
-int16_t setWhitening(bool enabled, uint16_t initial=0x0100)
Sets FSK whitening parameters.
Definition: SX126x.cpp:1094
-void clearDio1Action()
Clears interrupt service routine to call when DIO1 activates.
Definition: SX126x.cpp:370
-int16_t startReceiveDutyCycleAuto(uint16_t senderPreambleLength=0, uint16_t minSymbols=8)
Calls startReceiveDutyCycle with rxPeriod and sleepPeriod set so the unit shouldn't miss any messages...
Definition: SX126x.cpp:483
-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:324
-int16_t standby() override
Sets the module to standby mode (overload for PhysicalLayer compatibility, uses 13 MHz RC oscillator)...
Definition: SX126x.cpp:354
-int16_t setFrequencyDeviation(float freqDev) override
Sets FSK frequency deviation. Allowed values range from 0.0 to 200.0 kHz.
Definition: SX126x.cpp:762
-int16_t setBitRate(float br)
Sets FSK bit rate. Allowed values range from 0.6 to 300.0 kbps.
Definition: SX126x.cpp:789
-uint32_t getTimeOnAir(size_t len)
Get expected time-on-air for a given size of payload.
Definition: SX126x.cpp:1173
-uint8_t randomByte()
Get one truly random byte from RSSI noise.
Definition: SX126x.cpp:1264
+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:696
+int16_t explicitHeader()
Set explicit header mode for future reception/transmission.
Definition: SX126x.cpp:1276
+int16_t forceLDRO(bool enable)
Forces LoRa low data rate optimization. Only available in LoRa mode. After calling this method,...
Definition: SX126x.cpp:1300
+int16_t setNodeAddress(uint8_t nodeAddr)
Sets node address. Calling this method will also enable address filtering for node address only.
Definition: SX126x.cpp:1047
+int16_t setTCXO(float voltage, uint32_t delay=5000)
Sets TCXO (Temperature Compensated Crystal Oscillator) configuration.
Definition: SX126x.cpp:1360
+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:867
+int16_t setRegulatorDCDC()
Set regulator mode to DC-DC.
Definition: SX126x.cpp:1284
+int16_t setWhitening(bool enabled, uint16_t initial=0x0100)
Sets FSK whitening parameters.
Definition: SX126x.cpp:1151
+void clearDio1Action()
Clears interrupt service routine to call when DIO1 activates.
Definition: SX126x.cpp:427
+int16_t startReceiveDutyCycleAuto(uint16_t senderPreambleLength=0, uint16_t minSymbols=8)
Calls startReceiveDutyCycle with rxPeriod and sleepPeriod set so the unit shouldn't miss any messages...
Definition: SX126x.cpp:540
+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:381
+int16_t standby() override
Sets the module to standby mode (overload for PhysicalLayer compatibility, uses 13 MHz RC oscillator)...
Definition: SX126x.cpp:411
+int16_t setFrequencyDeviation(float freqDev) override
Sets FSK frequency deviation. Allowed values range from 0.0 to 200.0 kHz.
Definition: SX126x.cpp:819
+int16_t setBitRate(float br)
Sets FSK bit rate. Allowed values range from 0.6 to 300.0 kbps.
Definition: SX126x.cpp:846
+uint32_t getTimeOnAir(size_t len)
Get expected time-on-air for a given size of payload.
Definition: SX126x.cpp:1230
+uint8_t randomByte()
Get one truly random byte from RSSI noise.
Definition: SX126x.cpp:1321
int16_t receiveDirect() override
Starts direct mode reception. Only implemented for PhysicalLayer compatibility, as SX126x series does...
Definition: SX126x.cpp:316
-int16_t finishTransmit() override
Clean up after transmission is done.
Definition: SX126x.cpp:435
-int16_t setCurrentLimit(float currentLimit)
Sets current protection limit. Can be set in 2.5 mA steps.
Definition: SX126x.cpp:727
-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:873
+int16_t finishTransmit() override
Clean up after transmission is done.
Definition: SX126x.cpp:492
+int16_t setCurrentLimit(float currentLimit)
Sets current protection limit. Can be set in 2.5 mA steps.
Definition: SX126x.cpp:784
+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:930
int16_t transmitDirect(uint32_t frf=0) override
Starts direct mode transmission.
Definition: SX126x.cpp:300
-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:1169
+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:1226
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:12
-int16_t setCRC(uint8_t len, uint16_t initial=0x1D0F, uint16_t polynomial=0x1021, bool inverted=true)
Sets CRC configuration.
Definition: SX126x.cpp:1035
-uint16_t getIrqStatus()
Reads the current IRQ status.
Definition: SX126x.cpp:1452
+int16_t setCRC(uint8_t len, uint16_t initial=0x1D0F, uint16_t polynomial=0x1021, bool inverted=true)
Sets CRC configuration.
Definition: SX126x.cpp:1092
+uint16_t getIrqStatus()
Reads the current IRQ status.
Definition: SX126x.cpp:1509
int16_t reset(bool verify=true)
Reset method. Will reset the chip to the default state using RST pin.
Definition: SX126x.cpp:159
-int16_t setSyncWord(uint8_t syncWord, uint8_t controlBits=0x44)
Sets LoRa sync word.
Definition: SX126x.cpp:716
-float getCurrentLimit()
Reads current protection limit.
Definition: SX126x.cpp:740
+int16_t setSyncWord(uint8_t syncWord, uint8_t controlBits=0x44)
Sets LoRa sync word.
Definition: SX126x.cpp:773
+float getCurrentLimit()
Reads current protection limit.
Definition: SX126x.cpp:797
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:749
+int16_t setPreambleLength(uint16_t preambleLength)
Sets preamble length for LoRa or FSK modem. Allowed values range from 1 to 65535.
Definition: SX126x.cpp:806
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:1255
-void setDirectAction(void(*func)(void))
Dummy method, to ensure PhysicalLayer compatibility.
Definition: SX126x.cpp:1290
-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:1165
-int16_t setBroadcastAddress(uint8_t broadAddr)
Sets broadcast address. Calling this method will also enable address filtering for node and broadcast...
Definition: SX126x.cpp:1007
-int16_t getChannelScanResult()
Read the channel scan result.
Definition: SX126x.cpp:618
-size_t getPacketLength(bool update=true) override
Query modem for the packet length of received payload.
Definition: SX126x.cpp:1158
-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:963
-int16_t getLastError()
Get the last recorded transaction error.
Definition: SX126x.cpp:1285
-float getDataRate() const
Gets effective data rate for the last transmitted packet. The value is calculated only for payload by...
Definition: SX126x.cpp:1131
-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:1239
-int16_t startReceiveDutyCycle(uint32_t rxPeriod, uint32_t sleepPeriod)
Interrupt-driven receive method where the device mostly sleeps and periodically wakes to listen....
Definition: SX126x.cpp:456
-int16_t implicitHeader(size_t len)
Set implicit header mode for future reception/transmission.
Definition: SX126x.cpp:1215
-float getRSSIInst()
Get instantaneous RSSI value during recption of the packet. Should switch to FSK receive mode for LBT...
Definition: SX126x.cpp:1208
-float getSNR()
Gets SNR (Signal to Noise Ratio) of the last received packet. Only available for LoRa modem.
Definition: SX126x.cpp:1142
-int16_t setDio2AsRfSwitch(bool enable=true)
Set DIO2 to function as RF switch (default in Semtech example designs).
Definition: SX126x.cpp:1351
-int16_t setSpreadingFactor(uint8_t sf)
Sets LoRa spreading factor. Allowed values range from 5 to 12.
Definition: SX126x.cpp:690
+int16_t autoLDRO()
Re-enables automatic LDRO configuration. Only available in LoRa mode. After calling this method,...
Definition: SX126x.cpp:1312
+void setDirectAction(void(*func)(void))
Dummy method, to ensure PhysicalLayer compatibility.
Definition: SX126x.cpp:1347
+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:1222
+int16_t setBroadcastAddress(uint8_t broadAddr)
Sets broadcast address. Calling this method will also enable address filtering for node and broadcast...
Definition: SX126x.cpp:1064
+int16_t getChannelScanResult()
Read the channel scan result.
Definition: SX126x.cpp:675
+size_t getPacketLength(bool update=true) override
Query modem for the packet length of received payload.
Definition: SX126x.cpp:1215
+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:1020
+int16_t getLastError()
Get the last recorded transaction error.
Definition: SX126x.cpp:1342
+float getDataRate() const
Gets effective data rate for the last transmitted packet. The value is calculated only for payload by...
Definition: SX126x.cpp:1188
+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:1296
+int16_t startReceiveDutyCycle(uint32_t rxPeriod, uint32_t sleepPeriod)
Interrupt-driven receive method where the device mostly sleeps and periodically wakes to listen....
Definition: SX126x.cpp:513
+int16_t implicitHeader(size_t len)
Set implicit header mode for future reception/transmission.
Definition: SX126x.cpp:1272
+float getRSSIInst()
Get instantaneous RSSI value during recption of the packet. Should switch to FSK receive mode for LBT...
Definition: SX126x.cpp:1265
+float getSNR()
Gets SNR (Signal to Noise Ratio) of the last received packet. Only available for LoRa modem.
Definition: SX126x.cpp:1199
+int16_t setDio2AsRfSwitch(bool enable=true)
Set DIO2 to function as RF switch (default in Semtech example designs).
Definition: SX126x.cpp:1408
+int16_t setSpreadingFactor(uint8_t sf)
Sets LoRa spreading factor. Allowed values range from 5 to 12.
Definition: SX126x.cpp:747
int16_t readData(String &str, size_t len=0)
Reads data that was received after calling startReceive method.
Definition: PhysicalLayer.cpp:140
-int16_t startReceive(uint32_t timeout=RADIOLIB_SX126X_RX_TIMEOUT_INF)
Interrupt-driven receive method. DIO1 will be activated when full packet is received.
Definition: SX126x.cpp:443
+int16_t startReceive(uint32_t timeout=RADIOLIB_SX126X_RX_TIMEOUT_INF)
Interrupt-driven receive method. DIO1 will be activated when full packet is received.
Definition: SX126x.cpp:500
int16_t startTransmit(String &str, uint8_t addr=0)
Interrupt-driven Arduino String transmit method. Unlike the standard transmit method,...
Definition: PhysicalLayer.cpp:121
int16_t receive(String &str, size_t len=0)
Arduino String receive method.
Definition: PhysicalLayer.cpp:60
-int16_t sleep(bool retainConfig=true)
Sets the module to sleep mode.
Definition: SX126x.cpp:338
-int16_t disableAddressFiltering()
Disables address filtering. Calling this method will also erase previously set addresses.
Definition: SX126x.cpp:1024
-int16_t setCodingRate(uint8_t cr)
Sets LoRa coding rate denominator. Allowed values range from 5 to 8.
Definition: SX126x.cpp:703
-void readBit(RADIOLIB_PIN_TYPE pin)
Dummy method, to ensure PhysicalLayer compatibility.
Definition: SX126x.cpp:1296
+int16_t sleep(bool retainConfig=true)
Sets the module to sleep mode.
Definition: SX126x.cpp:395
+int16_t disableAddressFiltering()
Disables address filtering. Calling this method will also erase previously set addresses.
Definition: SX126x.cpp:1081
+int16_t setCodingRate(uint8_t cr)
Sets LoRa coding rate denominator. Allowed values range from 5 to 8.
Definition: SX126x.cpp:760
+void readBit(RADIOLIB_PIN_TYPE pin)
Dummy method, to ensure PhysicalLayer compatibility.
Definition: SX126x.cpp:1353
#define RADIOLIB_ERR_NONE
No error, method executed successfully.
Definition: TypeDef.h:102