diff --git a/_s_x1262_8h_source.html b/_s_x1262_8h_source.html index 1258c835..2e723779 100644 --- a/_s_x1262_8h_source.html +++ b/_s_x1262_8h_source.html @@ -139,7 +139,7 @@ $(document).ready(function(){initNavTree('_s_x1262_8h_source.html',''); initResi
SX1262::begin
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
SX1262::setOutputPower
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
SX1262::setFrequency
int16_t setFrequency(float freq)
Sets carrier frequency. Allowed values are in range from 150.0 to 960.0 MHz.
Definition: SX1262.cpp:50
-
SX126x
Base class for SX126x series. All derived classes for SX126x (e.g. SX1262 or SX1268) inherit from thi...
Definition: SX126x.h:432
+
SX126x
Base class for SX126x series. All derived classes for SX126x (e.g. SX1262 or SX1268) inherit from thi...
Definition: SX126x.h:444
diff --git a/_s_x1268_8h_source.html b/_s_x1268_8h_source.html index 4461d5e2..08d2bb9b 100644 --- a/_s_x1268_8h_source.html +++ b/_s_x1268_8h_source.html @@ -136,7 +136,7 @@ $(document).ready(function(){initNavTree('_s_x1268_8h_source.html',''); initResi
SX1268::setFrequency
int16_t setFrequency(float freq)
Sets carrier frequency. Allowed values are in range from 410.0 to 810.0 MHz.
Definition: SX1268.cpp:50
SX1268::begin
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
SX1268::beginFSK
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
-
SX126x
Base class for SX126x series. All derived classes for SX126x (e.g. SX1262 or SX1268) inherit from thi...
Definition: SX126x.h:432
+
SX126x
Base class for SX126x series. All derived classes for SX126x (e.g. SX1262 or SX1268) inherit from thi...
Definition: SX126x.h:444
diff --git a/_s_x126x_8h_source.html b/_s_x126x_8h_source.html index 2f611b11..907f94de 100644 --- a/_s_x126x_8h_source.html +++ b/_s_x126x_8h_source.html @@ -202,555 +202,567 @@ $(document).ready(function(){initNavTree('_s_x126x_8h_source.html',''); initResi
114 #define RADIOLIB_SX126X_REG_BROADCAST_ADDRESS 0x06CE
115 #define RADIOLIB_SX126X_REG_PAYLOAD_LENGTH 0x0702
116 #define RADIOLIB_SX126X_REG_PACKET_PARAMS 0x0704
-
117 #define RADIOLIB_SX126X_REG_IQ_CONFIG 0x0736
-
118 #define RADIOLIB_SX126X_REG_LORA_SYNC_WORD_MSB 0x0740
-
119 #define RADIOLIB_SX126X_REG_LORA_SYNC_WORD_LSB 0x0741
-
120 #define RADIOLIB_SX126X_REG_FREQ_ERROR 0x076B
-
121 #define RADIOLIB_SX126X_REG_SPECTRAL_SCAN_STATUS 0x07CD
-
122 #define RADIOLIB_SX126X_REG_RX_ADDR_PTR 0x0803
-
123 #define RADIOLIB_SX126X_REG_RANDOM_NUMBER_0 0x0819
-
124 #define RADIOLIB_SX126X_REG_RANDOM_NUMBER_1 0x081A
-
125 #define RADIOLIB_SX126X_REG_RANDOM_NUMBER_2 0x081B
-
126 #define RADIOLIB_SX126X_REG_RANDOM_NUMBER_3 0x081C
-
127 #define RADIOLIB_SX126X_REG_SENSITIVITY_CONFIG 0x0889 // SX1268 datasheet v1.1, section 15.1
-
128 #define RADIOLIB_SX126X_REG_RF_FREQUENCY_0 0x088B
-
129 #define RADIOLIB_SX126X_REG_RF_FREQUENCY_1 0x088C
-
130 #define RADIOLIB_SX126X_REG_RF_FREQUENCY_2 0x088D
-
131 #define RADIOLIB_SX126X_REG_RF_FREQUENCY_3 0x088E
-
132 #define RADIOLIB_SX126X_REG_RSSI_AVG_WINDOW 0x089B
-
133 #define RADIOLIB_SX126X_REG_RX_GAIN 0x08AC
-
134 #define RADIOLIB_SX126X_REG_TX_CLAMP_CONFIG 0x08D8
-
135 #define RADIOLIB_SX126X_REG_LNA_CAP_TUNE_N 0x08E3
-
136 #define RADIOLIB_SX126X_REG_LNA_CAP_TUNE_P 0x08E4
-
137 #define RADIOLIB_SX126X_REG_OCP_CONFIGURATION 0x08E7
-
138 #define RADIOLIB_SX126X_REG_RTC_CTRL 0x0902
-
139 #define RADIOLIB_SX126X_REG_XTA_TRIM 0x0911
-
140 #define RADIOLIB_SX126X_REG_XTB_TRIM 0x0912
-
141 #define RADIOLIB_SX126X_REG_DIO3_OUT_VOLTAGE_CTRL 0x0920
-
142 #define RADIOLIB_SX126X_REG_EVENT_MASK 0x0944
-
143 #define RADIOLIB_SX126X_REG_PATCH_MEMORY_BASE 0x8000
-
144 
-
145 // SX126X SPI command variables
-
146 //RADIOLIB_SX126X_CMD_SET_SLEEP MSB LSB DESCRIPTION
-
147 #define RADIOLIB_SX126X_SLEEP_START_COLD 0b00000000 // 2 2 sleep mode: cold start, configuration is lost (default)
-
148 #define RADIOLIB_SX126X_SLEEP_START_WARM 0b00000100 // 2 2 warm start, configuration is retained
-
149 #define RADIOLIB_SX126X_SLEEP_RTC_OFF 0b00000000 // 0 0 wake on RTC timeout: disabled
-
150 #define RADIOLIB_SX126X_SLEEP_RTC_ON 0b00000001 // 0 0 enabled
-
151 
-
152 //RADIOLIB_SX126X_CMD_SET_STANDBY
-
153 #define RADIOLIB_SX126X_STANDBY_RC 0x00 // 7 0 standby mode: 13 MHz RC oscillator
-
154 #define RADIOLIB_SX126X_STANDBY_XOSC 0x01 // 7 0 32 MHz crystal oscillator
-
155 
-
156 //RADIOLIB_SX126X_CMD_SET_RX
-
157 #define RADIOLIB_SX126X_RX_TIMEOUT_NONE 0x000000 // 23 0 Rx timeout duration: no timeout (Rx single mode)
-
158 #define RADIOLIB_SX126X_RX_TIMEOUT_INF 0xFFFFFF // 23 0 infinite (Rx continuous mode)
-
159 
-
160 //RADIOLIB_SX126X_CMD_SET_TX
-
161 #define RADIOLIB_SX126X_TX_TIMEOUT_NONE 0x000000 // 23 0 Tx timeout duration: no timeout (Tx single mode)
+
117 #define RADIOLIB_SX126X_REG_LORA_SYNC_TIMEOUT 0x0706
+
118 #define RADIOLIB_SX126X_REG_IQ_CONFIG 0x0736
+
119 #define RADIOLIB_SX126X_REG_LORA_SYNC_WORD_MSB 0x0740
+
120 #define RADIOLIB_SX126X_REG_LORA_SYNC_WORD_LSB 0x0741
+
121 #define RADIOLIB_SX126X_REG_FREQ_ERROR 0x076B
+
122 #define RADIOLIB_SX126X_REG_SPECTRAL_SCAN_STATUS 0x07CD
+
123 #define RADIOLIB_SX126X_REG_RX_ADDR_PTR 0x0803
+
124 #define RADIOLIB_SX126X_REG_RANDOM_NUMBER_0 0x0819
+
125 #define RADIOLIB_SX126X_REG_RANDOM_NUMBER_1 0x081A
+
126 #define RADIOLIB_SX126X_REG_RANDOM_NUMBER_2 0x081B
+
127 #define RADIOLIB_SX126X_REG_RANDOM_NUMBER_3 0x081C
+
128 #define RADIOLIB_SX126X_REG_SENSITIVITY_CONFIG 0x0889 // SX1268 datasheet v1.1, section 15.1
+
129 #define RADIOLIB_SX126X_REG_RF_FREQUENCY_0 0x088B
+
130 #define RADIOLIB_SX126X_REG_RF_FREQUENCY_1 0x088C
+
131 #define RADIOLIB_SX126X_REG_RF_FREQUENCY_2 0x088D
+
132 #define RADIOLIB_SX126X_REG_RF_FREQUENCY_3 0x088E
+
133 #define RADIOLIB_SX126X_REG_RSSI_AVG_WINDOW 0x089B
+
134 #define RADIOLIB_SX126X_REG_RX_GAIN 0x08AC
+
135 #define RADIOLIB_SX126X_REG_TX_CLAMP_CONFIG 0x08D8
+
136 #define RADIOLIB_SX126X_REG_ANA_LNA 0x08E2
+
137 #define RADIOLIB_SX126X_REG_LNA_CAP_TUNE_N 0x08E3
+
138 #define RADIOLIB_SX126X_REG_LNA_CAP_TUNE_P 0x08E4
+
139 #define RADIOLIB_SX126X_REG_ANA_MIXER 0x08E5
+
140 #define RADIOLIB_SX126X_REG_OCP_CONFIGURATION 0x08E7
+
141 #define RADIOLIB_SX126X_REG_RTC_CTRL 0x0902
+
142 #define RADIOLIB_SX126X_REG_XTA_TRIM 0x0911
+
143 #define RADIOLIB_SX126X_REG_XTB_TRIM 0x0912
+
144 #define RADIOLIB_SX126X_REG_DIO3_OUT_VOLTAGE_CTRL 0x0920
+
145 #define RADIOLIB_SX126X_REG_EVENT_MASK 0x0944
+
146 #define RADIOLIB_SX126X_REG_PATCH_MEMORY_BASE 0x8000
+
147 
+
148 // SX126X SPI command variables
+
149 //RADIOLIB_SX126X_CMD_SET_SLEEP MSB LSB DESCRIPTION
+
150 #define RADIOLIB_SX126X_SLEEP_START_COLD 0b00000000 // 2 2 sleep mode: cold start, configuration is lost (default)
+
151 #define RADIOLIB_SX126X_SLEEP_START_WARM 0b00000100 // 2 2 warm start, configuration is retained
+
152 #define RADIOLIB_SX126X_SLEEP_RTC_OFF 0b00000000 // 0 0 wake on RTC timeout: disabled
+
153 #define RADIOLIB_SX126X_SLEEP_RTC_ON 0b00000001 // 0 0 enabled
+
154 
+
155 //RADIOLIB_SX126X_CMD_SET_STANDBY
+
156 #define RADIOLIB_SX126X_STANDBY_RC 0x00 // 7 0 standby mode: 13 MHz RC oscillator
+
157 #define RADIOLIB_SX126X_STANDBY_XOSC 0x01 // 7 0 32 MHz crystal oscillator
+
158 
+
159 //RADIOLIB_SX126X_CMD_SET_RX
+
160 #define RADIOLIB_SX126X_RX_TIMEOUT_NONE 0x000000 // 23 0 Rx timeout duration: no timeout (Rx single mode)
+
161 #define RADIOLIB_SX126X_RX_TIMEOUT_INF 0xFFFFFF // 23 0 infinite (Rx continuous mode)
162 
-
163 //RADIOLIB_SX126X_CMD_STOP_TIMER_ON_PREAMBLE
-
164 #define RADIOLIB_SX126X_STOP_ON_PREAMBLE_OFF 0x00 // 7 0 stop timer on: sync word or header (default)
-
165 #define RADIOLIB_SX126X_STOP_ON_PREAMBLE_ON 0x01 // 7 0 preamble detection
-
166 
-
167 //RADIOLIB_SX126X_CMD_SET_REGULATOR_MODE
-
168 #define RADIOLIB_SX126X_REGULATOR_LDO 0x00 // 7 0 set regulator mode: LDO (default)
-
169 #define RADIOLIB_SX126X_REGULATOR_DC_DC 0x01 // 7 0 DC-DC
-
170 
-
171 //RADIOLIB_SX126X_CMD_CALIBRATE
-
172 #define RADIOLIB_SX126X_CALIBRATE_IMAGE_OFF 0b00000000 // 6 6 image calibration: disabled
-
173 #define RADIOLIB_SX126X_CALIBRATE_IMAGE_ON 0b01000000 // 6 6 enabled
-
174 #define RADIOLIB_SX126X_CALIBRATE_ADC_BULK_P_OFF 0b00000000 // 5 5 ADC bulk P calibration: disabled
-
175 #define RADIOLIB_SX126X_CALIBRATE_ADC_BULK_P_ON 0b00100000 // 5 5 enabled
-
176 #define RADIOLIB_SX126X_CALIBRATE_ADC_BULK_N_OFF 0b00000000 // 4 4 ADC bulk N calibration: disabled
-
177 #define RADIOLIB_SX126X_CALIBRATE_ADC_BULK_N_ON 0b00010000 // 4 4 enabled
-
178 #define RADIOLIB_SX126X_CALIBRATE_ADC_PULSE_OFF 0b00000000 // 3 3 ADC pulse calibration: disabled
-
179 #define RADIOLIB_SX126X_CALIBRATE_ADC_PULSE_ON 0b00001000 // 3 3 enabled
-
180 #define RADIOLIB_SX126X_CALIBRATE_PLL_OFF 0b00000000 // 2 2 PLL calibration: disabled
-
181 #define RADIOLIB_SX126X_CALIBRATE_PLL_ON 0b00000100 // 2 2 enabled
-
182 #define RADIOLIB_SX126X_CALIBRATE_RC13M_OFF 0b00000000 // 1 1 13 MHz RC osc. calibration: disabled
-
183 #define RADIOLIB_SX126X_CALIBRATE_RC13M_ON 0b00000010 // 1 1 enabled
-
184 #define RADIOLIB_SX126X_CALIBRATE_RC64K_OFF 0b00000000 // 0 0 64 kHz RC osc. calibration: disabled
-
185 #define RADIOLIB_SX126X_CALIBRATE_RC64K_ON 0b00000001 // 0 0 enabled
-
186 #define RADIOLIB_SX126X_CALIBRATE_ALL 0b01111111 // 6 0 calibrate all blocks
-
187 
-
188 //RADIOLIB_SX126X_CMD_CALIBRATE_IMAGE
-
189 #define RADIOLIB_SX126X_CAL_IMG_430_MHZ_1 0x6B
-
190 #define RADIOLIB_SX126X_CAL_IMG_430_MHZ_2 0x6F
-
191 #define RADIOLIB_SX126X_CAL_IMG_470_MHZ_1 0x75
-
192 #define RADIOLIB_SX126X_CAL_IMG_470_MHZ_2 0x81
-
193 #define RADIOLIB_SX126X_CAL_IMG_779_MHZ_1 0xC1
-
194 #define RADIOLIB_SX126X_CAL_IMG_779_MHZ_2 0xC5
-
195 #define RADIOLIB_SX126X_CAL_IMG_863_MHZ_1 0xD7
-
196 #define RADIOLIB_SX126X_CAL_IMG_863_MHZ_2 0xDB
-
197 #define RADIOLIB_SX126X_CAL_IMG_902_MHZ_1 0xE1
-
198 #define RADIOLIB_SX126X_CAL_IMG_902_MHZ_2 0xE9
-
199 
-
200 //RADIOLIB_SX126X_CMD_SET_PA_CONFIG
-
201 #define RADIOLIB_SX126X_PA_CONFIG_HP_MAX 0x07
-
202 #define RADIOLIB_SX126X_PA_CONFIG_PA_LUT 0x01
-
203 #define RADIOLIB_SX126X_PA_CONFIG_SX1262_8 0x00
-
204 
-
205 //RADIOLIB_SX126X_CMD_SET_RX_TX_FALLBACK_MODE
-
206 #define RADIOLIB_SX126X_RX_TX_FALLBACK_MODE_FS 0x40 // 7 0 after Rx/Tx go to: FS mode
-
207 #define RADIOLIB_SX126X_RX_TX_FALLBACK_MODE_STDBY_XOSC 0x30 // 7 0 standby with crystal oscillator
-
208 #define RADIOLIB_SX126X_RX_TX_FALLBACK_MODE_STDBY_RC 0x20 // 7 0 standby with RC oscillator (default)
-
209 
-
210 //RADIOLIB_SX126X_CMD_SET_DIO_IRQ_PARAMS
-
211 #define RADIOLIB_SX126X_IRQ_LR_FHSS_HOP 0b0100000000000000 // 14 14 PA ramped up during LR-FHSS hop
-
212 #define RADIOLIB_SX126X_IRQ_TIMEOUT 0b0000001000000000 // 9 9 Rx or Tx timeout
-
213 #define RADIOLIB_SX126X_IRQ_CAD_DETECTED 0b0000000100000000 // 8 8 channel activity detected
-
214 #define RADIOLIB_SX126X_IRQ_CAD_DONE 0b0000000010000000 // 7 7 channel activity detection finished
-
215 #define RADIOLIB_SX126X_IRQ_CRC_ERR 0b0000000001000000 // 6 6 wrong CRC received
-
216 #define RADIOLIB_SX126X_IRQ_HEADER_ERR 0b0000000000100000 // 5 5 LoRa header CRC error
-
217 #define RADIOLIB_SX126X_IRQ_HEADER_VALID 0b0000000000010000 // 4 4 valid LoRa header received
-
218 #define RADIOLIB_SX126X_IRQ_SYNC_WORD_VALID 0b0000000000001000 // 3 3 valid sync word detected
-
219 #define RADIOLIB_SX126X_IRQ_RADIOLIB_PREAMBLE_DETECTED 0b0000000000000100 // 2 2 preamble detected
-
220 #define RADIOLIB_SX126X_IRQ_RX_DONE 0b0000000000000010 // 1 1 packet received
-
221 #define RADIOLIB_SX126X_IRQ_TX_DONE 0b0000000000000001 // 0 0 packet transmission completed
-
222 #define RADIOLIB_SX126X_IRQ_RX_DEFAULT 0b0000001001100010 // 14 0 default for Rx (RX_DONE, TIMEOUT, CRC_ERR and HEADER_ERR)
-
223 #define RADIOLIB_SX126X_IRQ_ALL 0b0100001111111111 // 14 0 all interrupts
-
224 #define RADIOLIB_SX126X_IRQ_NONE 0b0000000000000000 // 14 0 no interrupts
-
225 
-
226 //RADIOLIB_SX126X_CMD_SET_DIO2_AS_RF_SWITCH_CTRL
-
227 #define RADIOLIB_SX126X_DIO2_AS_IRQ 0x00 // 7 0 DIO2 configuration: IRQ
-
228 #define RADIOLIB_SX126X_DIO2_AS_RF_SWITCH 0x01 // 7 0 RF switch control
-
229 
-
230 //RADIOLIB_SX126X_CMD_SET_DIO3_AS_TCXO_CTRL
-
231 #define RADIOLIB_SX126X_DIO3_OUTPUT_1_6 0x00 // 7 0 DIO3 voltage output for TCXO: 1.6 V
-
232 #define RADIOLIB_SX126X_DIO3_OUTPUT_1_7 0x01 // 7 0 1.7 V
-
233 #define RADIOLIB_SX126X_DIO3_OUTPUT_1_8 0x02 // 7 0 1.8 V
-
234 #define RADIOLIB_SX126X_DIO3_OUTPUT_2_2 0x03 // 7 0 2.2 V
-
235 #define RADIOLIB_SX126X_DIO3_OUTPUT_2_4 0x04 // 7 0 2.4 V
-
236 #define RADIOLIB_SX126X_DIO3_OUTPUT_2_7 0x05 // 7 0 2.7 V
-
237 #define RADIOLIB_SX126X_DIO3_OUTPUT_3_0 0x06 // 7 0 3.0 V
-
238 #define RADIOLIB_SX126X_DIO3_OUTPUT_3_3 0x07 // 7 0 3.3 V
-
239 
-
240 //RADIOLIB_SX126X_CMD_SET_PACKET_TYPE
-
241 #define RADIOLIB_SX126X_PACKET_TYPE_GFSK 0x00 // 7 0 packet type: GFSK
-
242 #define RADIOLIB_SX126X_PACKET_TYPE_LORA 0x01 // 7 0 LoRa
-
243 #define RADIOLIB_SX126X_PACKET_TYPE_LR_FHSS 0x03 // 7 0 LR-FHSS
-
244 
-
245 //RADIOLIB_SX126X_CMD_SET_TX_PARAMS
-
246 #define RADIOLIB_SX126X_PA_RAMP_10U 0x00 // 7 0 ramp time: 10 us
-
247 #define RADIOLIB_SX126X_PA_RAMP_20U 0x01 // 7 0 20 us
-
248 #define RADIOLIB_SX126X_PA_RAMP_40U 0x02 // 7 0 40 us
-
249 #define RADIOLIB_SX126X_PA_RAMP_80U 0x03 // 7 0 80 us
-
250 #define RADIOLIB_SX126X_PA_RAMP_200U 0x04 // 7 0 200 us
-
251 #define RADIOLIB_SX126X_PA_RAMP_800U 0x05 // 7 0 800 us
-
252 #define RADIOLIB_SX126X_PA_RAMP_1700U 0x06 // 7 0 1700 us
-
253 #define RADIOLIB_SX126X_PA_RAMP_3400U 0x07 // 7 0 3400 us
-
254 
-
255 //RADIOLIB_SX126X_CMD_SET_MODULATION_PARAMS
-
256 #define RADIOLIB_SX126X_GFSK_FILTER_NONE 0x00 // 7 0 GFSK filter: none
-
257 #define RADIOLIB_SX126X_GFSK_FILTER_GAUSS_0_3 0x08 // 7 0 Gaussian, BT = 0.3
-
258 #define RADIOLIB_SX126X_GFSK_FILTER_GAUSS_0_5 0x09 // 7 0 Gaussian, BT = 0.5
-
259 #define RADIOLIB_SX126X_GFSK_FILTER_GAUSS_0_7 0x0A // 7 0 Gaussian, BT = 0.7
-
260 #define RADIOLIB_SX126X_GFSK_FILTER_GAUSS_1 0x0B // 7 0 Gaussian, BT = 1
-
261 #define RADIOLIB_SX126X_GFSK_RX_BW_4_8 0x1F // 7 0 GFSK Rx bandwidth: 4.8 kHz
-
262 #define RADIOLIB_SX126X_GFSK_RX_BW_5_8 0x17 // 7 0 5.8 kHz
-
263 #define RADIOLIB_SX126X_GFSK_RX_BW_7_3 0x0F // 7 0 7.3 kHz
-
264 #define RADIOLIB_SX126X_GFSK_RX_BW_9_7 0x1E // 7 0 9.7 kHz
-
265 #define RADIOLIB_SX126X_GFSK_RX_BW_11_7 0x16 // 7 0 11.7 kHz
-
266 #define RADIOLIB_SX126X_GFSK_RX_BW_14_6 0x0E // 7 0 14.6 kHz
-
267 #define RADIOLIB_SX126X_GFSK_RX_BW_19_5 0x1D // 7 0 19.5 kHz
-
268 #define RADIOLIB_SX126X_GFSK_RX_BW_23_4 0x15 // 7 0 23.4 kHz
-
269 #define RADIOLIB_SX126X_GFSK_RX_BW_29_3 0x0D // 7 0 29.3 kHz
-
270 #define RADIOLIB_SX126X_GFSK_RX_BW_39_0 0x1C // 7 0 39.0 kHz
-
271 #define RADIOLIB_SX126X_GFSK_RX_BW_46_9 0x14 // 7 0 46.9 kHz
-
272 #define RADIOLIB_SX126X_GFSK_RX_BW_58_6 0x0C // 7 0 58.6 kHz
-
273 #define RADIOLIB_SX126X_GFSK_RX_BW_78_2 0x1B // 7 0 78.2 kHz
-
274 #define RADIOLIB_SX126X_GFSK_RX_BW_93_8 0x13 // 7 0 93.8 kHz
-
275 #define RADIOLIB_SX126X_GFSK_RX_BW_117_3 0x0B // 7 0 117.3 kHz
-
276 #define RADIOLIB_SX126X_GFSK_RX_BW_156_2 0x1A // 7 0 156.2 kHz
-
277 #define RADIOLIB_SX126X_GFSK_RX_BW_187_2 0x12 // 7 0 187.2 kHz
-
278 #define RADIOLIB_SX126X_GFSK_RX_BW_234_3 0x0A // 7 0 234.3 kHz
-
279 #define RADIOLIB_SX126X_GFSK_RX_BW_312_0 0x19 // 7 0 312.0 kHz
-
280 #define RADIOLIB_SX126X_GFSK_RX_BW_373_6 0x11 // 7 0 373.6 kHz
-
281 #define RADIOLIB_SX126X_GFSK_RX_BW_467_0 0x09 // 7 0 467.0 kHz
-
282 #define RADIOLIB_SX126X_LORA_BW_7_8 0x00 // 7 0 LoRa bandwidth: 7.8 kHz
-
283 #define RADIOLIB_SX126X_LORA_BW_10_4 0x08 // 7 0 10.4 kHz
-
284 #define RADIOLIB_SX126X_LORA_BW_15_6 0x01 // 7 0 15.6 kHz
-
285 #define RADIOLIB_SX126X_LORA_BW_20_8 0x09 // 7 0 20.8 kHz
-
286 #define RADIOLIB_SX126X_LORA_BW_31_25 0x02 // 7 0 31.25 kHz
-
287 #define RADIOLIB_SX126X_LORA_BW_41_7 0x0A // 7 0 41.7 kHz
-
288 #define RADIOLIB_SX126X_LORA_BW_62_5 0x03 // 7 0 62.5 kHz
-
289 #define RADIOLIB_SX126X_LORA_BW_125_0 0x04 // 7 0 125.0 kHz
-
290 #define RADIOLIB_SX126X_LORA_BW_250_0 0x05 // 7 0 250.0 kHz
-
291 #define RADIOLIB_SX126X_LORA_BW_500_0 0x06 // 7 0 500.0 kHz
-
292 #define RADIOLIB_SX126X_LORA_CR_4_5 0x01 // 7 0 LoRa coding rate: 4/5
-
293 #define RADIOLIB_SX126X_LORA_CR_4_6 0x02 // 7 0 4/6
-
294 #define RADIOLIB_SX126X_LORA_CR_4_7 0x03 // 7 0 4/7
-
295 #define RADIOLIB_SX126X_LORA_CR_4_8 0x04 // 7 0 4/8
-
296 #define RADIOLIB_SX126X_LORA_LOW_DATA_RATE_OPTIMIZE_OFF 0x00 // 7 0 LoRa low data rate optimization: disabled
-
297 #define RADIOLIB_SX126X_LORA_LOW_DATA_RATE_OPTIMIZE_ON 0x01 // 7 0 enabled
-
298 
-
299 //RADIOLIB_SX126X_CMD_SET_PACKET_PARAMS
-
300 #define RADIOLIB_SX126X_GFSK_PREAMBLE_DETECT_OFF 0x00 // 7 0 GFSK minimum preamble length before reception starts: detector disabled
-
301 #define RADIOLIB_SX126X_GFSK_PREAMBLE_DETECT_8 0x04 // 7 0 8 bits
-
302 #define RADIOLIB_SX126X_GFSK_PREAMBLE_DETECT_16 0x05 // 7 0 16 bits
-
303 #define RADIOLIB_SX126X_GFSK_PREAMBLE_DETECT_24 0x06 // 7 0 24 bits
-
304 #define RADIOLIB_SX126X_GFSK_PREAMBLE_DETECT_32 0x07 // 7 0 32 bits
-
305 #define RADIOLIB_SX126X_GFSK_ADDRESS_FILT_OFF 0x00 // 7 0 GFSK address filtering: disabled
-
306 #define RADIOLIB_SX126X_GFSK_ADDRESS_FILT_NODE 0x01 // 7 0 node only
-
307 #define RADIOLIB_SX126X_GFSK_ADDRESS_FILT_NODE_BROADCAST 0x02 // 7 0 node and broadcast
-
308 #define RADIOLIB_SX126X_GFSK_PACKET_FIXED 0x00 // 7 0 GFSK packet type: fixed (payload length known in advance to both sides)
-
309 #define RADIOLIB_SX126X_GFSK_PACKET_VARIABLE 0x01 // 7 0 variable (payload length added to packet)
-
310 #define RADIOLIB_SX126X_GFSK_CRC_OFF 0x01 // 7 0 GFSK packet CRC: disabled
-
311 #define RADIOLIB_SX126X_GFSK_CRC_1_BYTE 0x00 // 7 0 1 byte
-
312 #define RADIOLIB_SX126X_GFSK_CRC_2_BYTE 0x02 // 7 0 2 byte
-
313 #define RADIOLIB_SX126X_GFSK_CRC_1_BYTE_INV 0x04 // 7 0 1 byte, inverted
-
314 #define RADIOLIB_SX126X_GFSK_CRC_2_BYTE_INV 0x06 // 7 0 2 byte, inverted
-
315 #define RADIOLIB_SX126X_GFSK_WHITENING_OFF 0x00 // 7 0 GFSK data whitening: disabled
-
316 #define RADIOLIB_SX126X_GFSK_WHITENING_ON 0x01 // 7 0 enabled
-
317 #define RADIOLIB_SX126X_LORA_HEADER_EXPLICIT 0x00 // 7 0 LoRa header mode: explicit
-
318 #define RADIOLIB_SX126X_LORA_HEADER_IMPLICIT 0x01 // 7 0 implicit
-
319 #define RADIOLIB_SX126X_LORA_CRC_OFF 0x00 // 7 0 LoRa CRC mode: disabled
-
320 #define RADIOLIB_SX126X_LORA_CRC_ON 0x01 // 7 0 enabled
-
321 #define RADIOLIB_SX126X_LORA_IQ_STANDARD 0x00 // 7 0 LoRa IQ setup: standard
-
322 #define RADIOLIB_SX126X_LORA_IQ_INVERTED 0x01 // 7 0 inverted
-
323 
-
324 //RADIOLIB_SX126X_CMD_SET_CAD_PARAMS
-
325 #define RADIOLIB_SX126X_CAD_ON_1_SYMB 0x00 // 7 0 number of symbols used for CAD: 1
-
326 #define RADIOLIB_SX126X_CAD_ON_2_SYMB 0x01 // 7 0 2
-
327 #define RADIOLIB_SX126X_CAD_ON_4_SYMB 0x02 // 7 0 4
-
328 #define RADIOLIB_SX126X_CAD_ON_8_SYMB 0x03 // 7 0 8
-
329 #define RADIOLIB_SX126X_CAD_ON_16_SYMB 0x04 // 7 0 16
-
330 #define RADIOLIB_SX126X_CAD_GOTO_STDBY 0x00 // 7 0 after CAD is done, always go to STDBY_RC mode
-
331 #define RADIOLIB_SX126X_CAD_GOTO_RX 0x01 // 7 0 after CAD is done, go to Rx mode if activity is detected
-
332 #define RADIOLIB_SX126X_CAD_PARAM_DEFAULT 0xFF // 7 0 used by the CAD methods to specify default parameter value
-
333 #define RADIOLIB_SX126X_CAD_PARAM_DET_MIN 10 // 7 0 default detMin CAD parameter
-
334 
-
335 //RADIOLIB_SX126X_CMD_GET_STATUS
-
336 #define RADIOLIB_SX126X_STATUS_MODE_STDBY_RC 0b00100000 // 6 4 current chip mode: STDBY_RC
-
337 #define RADIOLIB_SX126X_STATUS_MODE_STDBY_XOSC 0b00110000 // 6 4 STDBY_XOSC
-
338 #define RADIOLIB_SX126X_STATUS_MODE_FS 0b01000000 // 6 4 FS
-
339 #define RADIOLIB_SX126X_STATUS_MODE_RX 0b01010000 // 6 4 RX
-
340 #define RADIOLIB_SX126X_STATUS_MODE_TX 0b01100000 // 6 4 TX
-
341 #define RADIOLIB_SX126X_STATUS_DATA_AVAILABLE 0b00000100 // 3 1 command status: packet received and data can be retrieved
-
342 #define RADIOLIB_SX126X_STATUS_CMD_TIMEOUT 0b00000110 // 3 1 SPI command timed out
-
343 #define RADIOLIB_SX126X_STATUS_CMD_INVALID 0b00001000 // 3 1 invalid SPI command
-
344 #define RADIOLIB_SX126X_STATUS_CMD_FAILED 0b00001010 // 3 1 SPI command failed to execute
-
345 #define RADIOLIB_SX126X_STATUS_TX_DONE 0b00001100 // 3 1 packet transmission done
-
346 #define RADIOLIB_SX126X_STATUS_SPI_FAILED 0b11111111 // 7 0 SPI transaction failed
-
347 
-
348 //RADIOLIB_SX126X_CMD_GET_PACKET_STATUS
-
349 #define RADIOLIB_SX126X_GFSK_RX_STATUS_PREAMBLE_ERR 0b10000000 // 7 7 GFSK Rx status: preamble error
-
350 #define RADIOLIB_SX126X_GFSK_RX_STATUS_SYNC_ERR 0b01000000 // 6 6 sync word error
-
351 #define RADIOLIB_SX126X_GFSK_RX_STATUS_ADRS_ERR 0b00100000 // 5 5 address error
-
352 #define RADIOLIB_SX126X_GFSK_RX_STATUS_CRC_ERR 0b00010000 // 4 4 CRC error
-
353 #define RADIOLIB_SX126X_GFSK_RX_STATUS_LENGTH_ERR 0b00001000 // 3 3 length error
-
354 #define RADIOLIB_SX126X_GFSK_RX_STATUS_ABORT_ERR 0b00000100 // 2 2 abort error
-
355 #define RADIOLIB_SX126X_GFSK_RX_STATUS_PACKET_RECEIVED 0b00000010 // 2 2 packet received
-
356 #define RADIOLIB_SX126X_GFSK_RX_STATUS_PACKET_SENT 0b00000001 // 2 2 packet sent
-
357 
-
358 //RADIOLIB_SX126X_CMD_GET_DEVICE_ERRORS
-
359 #define RADIOLIB_SX126X_PA_RAMP_ERR 0b100000000 // 8 8 device errors: PA ramping failed
-
360 #define RADIOLIB_SX126X_PLL_LOCK_ERR 0b001000000 // 6 6 PLL failed to lock
-
361 #define RADIOLIB_SX126X_XOSC_START_ERR 0b000100000 // 5 5 crystal oscillator failed to start
-
362 #define RADIOLIB_SX126X_IMG_CALIB_ERR 0b000010000 // 4 4 image calibration failed
-
363 #define RADIOLIB_SX126X_ADC_CALIB_ERR 0b000001000 // 3 3 ADC calibration failed
-
364 #define RADIOLIB_SX126X_PLL_CALIB_ERR 0b000000100 // 2 2 PLL calibration failed
-
365 #define RADIOLIB_SX126X_RC13M_CALIB_ERR 0b000000010 // 1 1 RC13M calibration failed
-
366 #define RADIOLIB_SX126X_RC64K_CALIB_ERR 0b000000001 // 0 0 RC64K calibration failed
-
367 
-
368 //RADIOLIB_SX126X_CMD_SET_LBT_SCAN_PARAMS + RADIOLIB_SX126X_CMD_SET_SPECTR_SCAN_PARAMS
-
369 #define RADIOLIB_SX126X_SCAN_INTERVAL_7_68_US 10 // 7 0 RSSI reading interval: 7.68 us
-
370 #define RADIOLIB_SX126X_SCAN_INTERVAL_8_20_US 11 // 7 0 8.20 us
-
371 #define RADIOLIB_SX126X_SCAN_INTERVAL_8_68_US 12 // 7 0 8.68 us
-
372 
-
373 // SX126X SPI register variables
-
374 //RADIOLIB_SX126X_REG_HOPPING_ENABLE
-
375 #define RADIOLIB_SX126X_HOPPING_ENABLED 0b00000001 // 0 0 intra-packet hopping for LR-FHSS: enabled
-
376 #define RADIOLIB_SX126X_HOPPING_DISABLED 0b00000000 // 0 0 (disabled)
-
377 
-
378 //RADIOLIB_SX126X_REG_LORA_SYNC_WORD_MSB + LSB
-
379 #define RADIOLIB_SX126X_SYNC_WORD_PUBLIC 0x34 // actually 0x3444 NOTE: The low nibbles in each byte (0x_4_4) are masked out since apparently, they're reserved.
-
380 #define RADIOLIB_SX126X_SYNC_WORD_PRIVATE 0x12 // actually 0x1424 You couldn't make this up if you tried.
-
381 
-
382 // RADIOLIB_SX126X_REG_TX_BITBANG_ENABLE_1
-
383 #define RADIOLIB_SX126X_TX_BITBANG_1_DISABLED 0b00000000 // 6 4 Tx bitbang: disabled (default)
-
384 #define RADIOLIB_SX126X_TX_BITBANG_1_ENABLED 0b00010000 // 6 4 enabled
-
385 
-
386 // RADIOLIB_SX126X_REG_TX_BITBANG_ENABLE_0
-
387 #define RADIOLIB_SX126X_TX_BITBANG_0_DISABLED 0b00000000 // 3 0 Tx bitbang: disabled (default)
-
388 #define RADIOLIB_SX126X_TX_BITBANG_0_ENABLED 0b00001100 // 3 0 enabled
-
389 
-
390 // RADIOLIB_SX126X_REG_DIOX_OUT_ENABLE
-
391 #define RADIOLIB_SX126X_DIO1_OUT_DISABLED 0b00000010 // 1 1 DIO1 output: disabled
-
392 #define RADIOLIB_SX126X_DIO1_OUT_ENABLED 0b00000000 // 1 1 enabled
-
393 #define RADIOLIB_SX126X_DIO2_OUT_DISABLED 0b00000100 // 2 2 DIO2 output: disabled
-
394 #define RADIOLIB_SX126X_DIO2_OUT_ENABLED 0b00000000 // 2 2 enabled
-
395 #define RADIOLIB_SX126X_DIO3_OUT_DISABLED 0b00001000 // 3 3 DIO3 output: disabled
-
396 #define RADIOLIB_SX126X_DIO3_OUT_ENABLED 0b00000000 // 3 3 enabled
-
397 
-
398 // RADIOLIB_SX126X_REG_DIOX_IN_ENABLE
-
399 #define RADIOLIB_SX126X_DIO1_IN_DISABLED 0b00000000 // 1 1 DIO1 input: disabled
-
400 #define RADIOLIB_SX126X_DIO1_IN_ENABLED 0b00000010 // 1 1 enabled
-
401 #define RADIOLIB_SX126X_DIO2_IN_DISABLED 0b00000000 // 2 2 DIO2 input: disabled
-
402 #define RADIOLIB_SX126X_DIO2_IN_ENABLED 0b00000100 // 2 2 enabled
-
403 #define RADIOLIB_SX126X_DIO3_IN_DISABLED 0b00000000 // 3 3 DIO3 input: disabled
-
404 #define RADIOLIB_SX126X_DIO3_IN_ENABLED 0b00001000 // 3 3 enabled
-
405 
-
406 // RADIOLIB_SX126X_REG_RX_GAIN
-
407 #define RADIOLIB_SX126X_RX_GAIN_BOOSTED 0x96 // 7 0 Rx gain: boosted
-
408 #define RADIOLIB_SX126X_RX_GAIN_POWER_SAVING 0x94 // 7 0 power saving
-
409 #define RADIOLIB_SX126X_RX_GAIN_SPECTRAL_SCAN 0xCB // 7 0 spectral scan
-
410 
-
411 // RADIOLIB_SX126X_REG_PATCH_UPDATE_ENABLE
-
412 #define RADIOLIB_SX126X_PATCH_UPDATE_DISABLED 0b00000000 // 4 4 patch update: disabled
-
413 #define RADIOLIB_SX126X_PATCH_UPDATE_ENABLED 0b00010000 // 4 4 enabled
-
414 
-
415 // RADIOLIB_SX126X_REG_SPECTRAL_SCAN_STATUS
-
416 #define RADIOLIB_SX126X_SPECTRAL_SCAN_NONE 0x00 // 7 0 spectral scan status: none
-
417 #define RADIOLIB_SX126X_SPECTRAL_SCAN_ONGOING 0x0F // 7 0 ongoing
-
418 #define RADIOLIB_SX126X_SPECTRAL_SCAN_ABORTED 0xF0 // 7 0 aborted
-
419 #define RADIOLIB_SX126X_SPECTRAL_SCAN_COMPLETED 0xFF // 7 0 completed
-
420 
-
421 // RADIOLIB_SX126X_REG_RSSI_AVG_WINDOW
-
422 #define RADIOLIB_SX126x_SPECTRAL_SCAN_WINDOW_DEFAULT (0x05 << 2) // 7 0 default RSSI average window
+
163 //RADIOLIB_SX126X_CMD_SET_TX
+
164 #define RADIOLIB_SX126X_TX_TIMEOUT_NONE 0x000000 // 23 0 Tx timeout duration: no timeout (Tx single mode)
+
165 
+
166 //RADIOLIB_SX126X_CMD_STOP_TIMER_ON_PREAMBLE
+
167 #define RADIOLIB_SX126X_STOP_ON_PREAMBLE_OFF 0x00 // 7 0 stop timer on: sync word or header (default)
+
168 #define RADIOLIB_SX126X_STOP_ON_PREAMBLE_ON 0x01 // 7 0 preamble detection
+
169 
+
170 //RADIOLIB_SX126X_CMD_SET_REGULATOR_MODE
+
171 #define RADIOLIB_SX126X_REGULATOR_LDO 0x00 // 7 0 set regulator mode: LDO (default)
+
172 #define RADIOLIB_SX126X_REGULATOR_DC_DC 0x01 // 7 0 DC-DC
+
173 
+
174 //RADIOLIB_SX126X_CMD_CALIBRATE
+
175 #define RADIOLIB_SX126X_CALIBRATE_IMAGE_OFF 0b00000000 // 6 6 image calibration: disabled
+
176 #define RADIOLIB_SX126X_CALIBRATE_IMAGE_ON 0b01000000 // 6 6 enabled
+
177 #define RADIOLIB_SX126X_CALIBRATE_ADC_BULK_P_OFF 0b00000000 // 5 5 ADC bulk P calibration: disabled
+
178 #define RADIOLIB_SX126X_CALIBRATE_ADC_BULK_P_ON 0b00100000 // 5 5 enabled
+
179 #define RADIOLIB_SX126X_CALIBRATE_ADC_BULK_N_OFF 0b00000000 // 4 4 ADC bulk N calibration: disabled
+
180 #define RADIOLIB_SX126X_CALIBRATE_ADC_BULK_N_ON 0b00010000 // 4 4 enabled
+
181 #define RADIOLIB_SX126X_CALIBRATE_ADC_PULSE_OFF 0b00000000 // 3 3 ADC pulse calibration: disabled
+
182 #define RADIOLIB_SX126X_CALIBRATE_ADC_PULSE_ON 0b00001000 // 3 3 enabled
+
183 #define RADIOLIB_SX126X_CALIBRATE_PLL_OFF 0b00000000 // 2 2 PLL calibration: disabled
+
184 #define RADIOLIB_SX126X_CALIBRATE_PLL_ON 0b00000100 // 2 2 enabled
+
185 #define RADIOLIB_SX126X_CALIBRATE_RC13M_OFF 0b00000000 // 1 1 13 MHz RC osc. calibration: disabled
+
186 #define RADIOLIB_SX126X_CALIBRATE_RC13M_ON 0b00000010 // 1 1 enabled
+
187 #define RADIOLIB_SX126X_CALIBRATE_RC64K_OFF 0b00000000 // 0 0 64 kHz RC osc. calibration: disabled
+
188 #define RADIOLIB_SX126X_CALIBRATE_RC64K_ON 0b00000001 // 0 0 enabled
+
189 #define RADIOLIB_SX126X_CALIBRATE_ALL 0b01111111 // 6 0 calibrate all blocks
+
190 
+
191 //RADIOLIB_SX126X_CMD_CALIBRATE_IMAGE
+
192 #define RADIOLIB_SX126X_CAL_IMG_430_MHZ_1 0x6B
+
193 #define RADIOLIB_SX126X_CAL_IMG_430_MHZ_2 0x6F
+
194 #define RADIOLIB_SX126X_CAL_IMG_470_MHZ_1 0x75
+
195 #define RADIOLIB_SX126X_CAL_IMG_470_MHZ_2 0x81
+
196 #define RADIOLIB_SX126X_CAL_IMG_779_MHZ_1 0xC1
+
197 #define RADIOLIB_SX126X_CAL_IMG_779_MHZ_2 0xC5
+
198 #define RADIOLIB_SX126X_CAL_IMG_863_MHZ_1 0xD7
+
199 #define RADIOLIB_SX126X_CAL_IMG_863_MHZ_2 0xDB
+
200 #define RADIOLIB_SX126X_CAL_IMG_902_MHZ_1 0xE1
+
201 #define RADIOLIB_SX126X_CAL_IMG_902_MHZ_2 0xE9
+
202 
+
203 //RADIOLIB_SX126X_CMD_SET_PA_CONFIG
+
204 #define RADIOLIB_SX126X_PA_CONFIG_HP_MAX 0x07
+
205 #define RADIOLIB_SX126X_PA_CONFIG_PA_LUT 0x01
+
206 #define RADIOLIB_SX126X_PA_CONFIG_SX1262_8 0x00
+
207 
+
208 //RADIOLIB_SX126X_CMD_SET_RX_TX_FALLBACK_MODE
+
209 #define RADIOLIB_SX126X_RX_TX_FALLBACK_MODE_FS 0x40 // 7 0 after Rx/Tx go to: FS mode
+
210 #define RADIOLIB_SX126X_RX_TX_FALLBACK_MODE_STDBY_XOSC 0x30 // 7 0 standby with crystal oscillator
+
211 #define RADIOLIB_SX126X_RX_TX_FALLBACK_MODE_STDBY_RC 0x20 // 7 0 standby with RC oscillator (default)
+
212 
+
213 //RADIOLIB_SX126X_CMD_SET_DIO_IRQ_PARAMS
+
214 #define RADIOLIB_SX126X_IRQ_LR_FHSS_HOP 0b0100000000000000 // 14 14 PA ramped up during LR-FHSS hop
+
215 #define RADIOLIB_SX126X_IRQ_TIMEOUT 0b0000001000000000 // 9 9 Rx or Tx timeout
+
216 #define RADIOLIB_SX126X_IRQ_CAD_DETECTED 0b0000000100000000 // 8 8 channel activity detected
+
217 #define RADIOLIB_SX126X_IRQ_CAD_DONE 0b0000000010000000 // 7 7 channel activity detection finished
+
218 #define RADIOLIB_SX126X_IRQ_CRC_ERR 0b0000000001000000 // 6 6 wrong CRC received
+
219 #define RADIOLIB_SX126X_IRQ_HEADER_ERR 0b0000000000100000 // 5 5 LoRa header CRC error
+
220 #define RADIOLIB_SX126X_IRQ_HEADER_VALID 0b0000000000010000 // 4 4 valid LoRa header received
+
221 #define RADIOLIB_SX126X_IRQ_SYNC_WORD_VALID 0b0000000000001000 // 3 3 valid sync word detected
+
222 #define RADIOLIB_SX126X_IRQ_RADIOLIB_PREAMBLE_DETECTED 0b0000000000000100 // 2 2 preamble detected
+
223 #define RADIOLIB_SX126X_IRQ_RX_DONE 0b0000000000000010 // 1 1 packet received
+
224 #define RADIOLIB_SX126X_IRQ_TX_DONE 0b0000000000000001 // 0 0 packet transmission completed
+
225 #define RADIOLIB_SX126X_IRQ_RX_DEFAULT 0b0000001001100010 // 14 0 default for Rx (RX_DONE, TIMEOUT, CRC_ERR and HEADER_ERR)
+
226 #define RADIOLIB_SX126X_IRQ_ALL 0b0100001111111111 // 14 0 all interrupts
+
227 #define RADIOLIB_SX126X_IRQ_NONE 0b0000000000000000 // 14 0 no interrupts
+
228 
+
229 //RADIOLIB_SX126X_CMD_SET_DIO2_AS_RF_SWITCH_CTRL
+
230 #define RADIOLIB_SX126X_DIO2_AS_IRQ 0x00 // 7 0 DIO2 configuration: IRQ
+
231 #define RADIOLIB_SX126X_DIO2_AS_RF_SWITCH 0x01 // 7 0 RF switch control
+
232 
+
233 //RADIOLIB_SX126X_CMD_SET_DIO3_AS_TCXO_CTRL
+
234 #define RADIOLIB_SX126X_DIO3_OUTPUT_1_6 0x00 // 7 0 DIO3 voltage output for TCXO: 1.6 V
+
235 #define RADIOLIB_SX126X_DIO3_OUTPUT_1_7 0x01 // 7 0 1.7 V
+
236 #define RADIOLIB_SX126X_DIO3_OUTPUT_1_8 0x02 // 7 0 1.8 V
+
237 #define RADIOLIB_SX126X_DIO3_OUTPUT_2_2 0x03 // 7 0 2.2 V
+
238 #define RADIOLIB_SX126X_DIO3_OUTPUT_2_4 0x04 // 7 0 2.4 V
+
239 #define RADIOLIB_SX126X_DIO3_OUTPUT_2_7 0x05 // 7 0 2.7 V
+
240 #define RADIOLIB_SX126X_DIO3_OUTPUT_3_0 0x06 // 7 0 3.0 V
+
241 #define RADIOLIB_SX126X_DIO3_OUTPUT_3_3 0x07 // 7 0 3.3 V
+
242 
+
243 //RADIOLIB_SX126X_CMD_SET_PACKET_TYPE
+
244 #define RADIOLIB_SX126X_PACKET_TYPE_GFSK 0x00 // 7 0 packet type: GFSK
+
245 #define RADIOLIB_SX126X_PACKET_TYPE_LORA 0x01 // 7 0 LoRa
+
246 #define RADIOLIB_SX126X_PACKET_TYPE_LR_FHSS 0x03 // 7 0 LR-FHSS
+
247 
+
248 //RADIOLIB_SX126X_CMD_SET_TX_PARAMS
+
249 #define RADIOLIB_SX126X_PA_RAMP_10U 0x00 // 7 0 ramp time: 10 us
+
250 #define RADIOLIB_SX126X_PA_RAMP_20U 0x01 // 7 0 20 us
+
251 #define RADIOLIB_SX126X_PA_RAMP_40U 0x02 // 7 0 40 us
+
252 #define RADIOLIB_SX126X_PA_RAMP_80U 0x03 // 7 0 80 us
+
253 #define RADIOLIB_SX126X_PA_RAMP_200U 0x04 // 7 0 200 us
+
254 #define RADIOLIB_SX126X_PA_RAMP_800U 0x05 // 7 0 800 us
+
255 #define RADIOLIB_SX126X_PA_RAMP_1700U 0x06 // 7 0 1700 us
+
256 #define RADIOLIB_SX126X_PA_RAMP_3400U 0x07 // 7 0 3400 us
+
257 
+
258 //RADIOLIB_SX126X_CMD_SET_MODULATION_PARAMS
+
259 #define RADIOLIB_SX126X_GFSK_FILTER_NONE 0x00 // 7 0 GFSK filter: none
+
260 #define RADIOLIB_SX126X_GFSK_FILTER_GAUSS_0_3 0x08 // 7 0 Gaussian, BT = 0.3
+
261 #define RADIOLIB_SX126X_GFSK_FILTER_GAUSS_0_5 0x09 // 7 0 Gaussian, BT = 0.5
+
262 #define RADIOLIB_SX126X_GFSK_FILTER_GAUSS_0_7 0x0A // 7 0 Gaussian, BT = 0.7
+
263 #define RADIOLIB_SX126X_GFSK_FILTER_GAUSS_1 0x0B // 7 0 Gaussian, BT = 1
+
264 #define RADIOLIB_SX126X_GFSK_RX_BW_4_8 0x1F // 7 0 GFSK Rx bandwidth: 4.8 kHz
+
265 #define RADIOLIB_SX126X_GFSK_RX_BW_5_8 0x17 // 7 0 5.8 kHz
+
266 #define RADIOLIB_SX126X_GFSK_RX_BW_7_3 0x0F // 7 0 7.3 kHz
+
267 #define RADIOLIB_SX126X_GFSK_RX_BW_9_7 0x1E // 7 0 9.7 kHz
+
268 #define RADIOLIB_SX126X_GFSK_RX_BW_11_7 0x16 // 7 0 11.7 kHz
+
269 #define RADIOLIB_SX126X_GFSK_RX_BW_14_6 0x0E // 7 0 14.6 kHz
+
270 #define RADIOLIB_SX126X_GFSK_RX_BW_19_5 0x1D // 7 0 19.5 kHz
+
271 #define RADIOLIB_SX126X_GFSK_RX_BW_23_4 0x15 // 7 0 23.4 kHz
+
272 #define RADIOLIB_SX126X_GFSK_RX_BW_29_3 0x0D // 7 0 29.3 kHz
+
273 #define RADIOLIB_SX126X_GFSK_RX_BW_39_0 0x1C // 7 0 39.0 kHz
+
274 #define RADIOLIB_SX126X_GFSK_RX_BW_46_9 0x14 // 7 0 46.9 kHz
+
275 #define RADIOLIB_SX126X_GFSK_RX_BW_58_6 0x0C // 7 0 58.6 kHz
+
276 #define RADIOLIB_SX126X_GFSK_RX_BW_78_2 0x1B // 7 0 78.2 kHz
+
277 #define RADIOLIB_SX126X_GFSK_RX_BW_93_8 0x13 // 7 0 93.8 kHz
+
278 #define RADIOLIB_SX126X_GFSK_RX_BW_117_3 0x0B // 7 0 117.3 kHz
+
279 #define RADIOLIB_SX126X_GFSK_RX_BW_156_2 0x1A // 7 0 156.2 kHz
+
280 #define RADIOLIB_SX126X_GFSK_RX_BW_187_2 0x12 // 7 0 187.2 kHz
+
281 #define RADIOLIB_SX126X_GFSK_RX_BW_234_3 0x0A // 7 0 234.3 kHz
+
282 #define RADIOLIB_SX126X_GFSK_RX_BW_312_0 0x19 // 7 0 312.0 kHz
+
283 #define RADIOLIB_SX126X_GFSK_RX_BW_373_6 0x11 // 7 0 373.6 kHz
+
284 #define RADIOLIB_SX126X_GFSK_RX_BW_467_0 0x09 // 7 0 467.0 kHz
+
285 #define RADIOLIB_SX126X_LORA_BW_7_8 0x00 // 7 0 LoRa bandwidth: 7.8 kHz
+
286 #define RADIOLIB_SX126X_LORA_BW_10_4 0x08 // 7 0 10.4 kHz
+
287 #define RADIOLIB_SX126X_LORA_BW_15_6 0x01 // 7 0 15.6 kHz
+
288 #define RADIOLIB_SX126X_LORA_BW_20_8 0x09 // 7 0 20.8 kHz
+
289 #define RADIOLIB_SX126X_LORA_BW_31_25 0x02 // 7 0 31.25 kHz
+
290 #define RADIOLIB_SX126X_LORA_BW_41_7 0x0A // 7 0 41.7 kHz
+
291 #define RADIOLIB_SX126X_LORA_BW_62_5 0x03 // 7 0 62.5 kHz
+
292 #define RADIOLIB_SX126X_LORA_BW_125_0 0x04 // 7 0 125.0 kHz
+
293 #define RADIOLIB_SX126X_LORA_BW_250_0 0x05 // 7 0 250.0 kHz
+
294 #define RADIOLIB_SX126X_LORA_BW_500_0 0x06 // 7 0 500.0 kHz
+
295 #define RADIOLIB_SX126X_LORA_CR_4_5 0x01 // 7 0 LoRa coding rate: 4/5
+
296 #define RADIOLIB_SX126X_LORA_CR_4_6 0x02 // 7 0 4/6
+
297 #define RADIOLIB_SX126X_LORA_CR_4_7 0x03 // 7 0 4/7
+
298 #define RADIOLIB_SX126X_LORA_CR_4_8 0x04 // 7 0 4/8
+
299 #define RADIOLIB_SX126X_LORA_LOW_DATA_RATE_OPTIMIZE_OFF 0x00 // 7 0 LoRa low data rate optimization: disabled
+
300 #define RADIOLIB_SX126X_LORA_LOW_DATA_RATE_OPTIMIZE_ON 0x01 // 7 0 enabled
+
301 
+
302 //RADIOLIB_SX126X_CMD_SET_PACKET_PARAMS
+
303 #define RADIOLIB_SX126X_GFSK_PREAMBLE_DETECT_OFF 0x00 // 7 0 GFSK minimum preamble length before reception starts: detector disabled
+
304 #define RADIOLIB_SX126X_GFSK_PREAMBLE_DETECT_8 0x04 // 7 0 8 bits
+
305 #define RADIOLIB_SX126X_GFSK_PREAMBLE_DETECT_16 0x05 // 7 0 16 bits
+
306 #define RADIOLIB_SX126X_GFSK_PREAMBLE_DETECT_24 0x06 // 7 0 24 bits
+
307 #define RADIOLIB_SX126X_GFSK_PREAMBLE_DETECT_32 0x07 // 7 0 32 bits
+
308 #define RADIOLIB_SX126X_GFSK_ADDRESS_FILT_OFF 0x00 // 7 0 GFSK address filtering: disabled
+
309 #define RADIOLIB_SX126X_GFSK_ADDRESS_FILT_NODE 0x01 // 7 0 node only
+
310 #define RADIOLIB_SX126X_GFSK_ADDRESS_FILT_NODE_BROADCAST 0x02 // 7 0 node and broadcast
+
311 #define RADIOLIB_SX126X_GFSK_PACKET_FIXED 0x00 // 7 0 GFSK packet type: fixed (payload length known in advance to both sides)
+
312 #define RADIOLIB_SX126X_GFSK_PACKET_VARIABLE 0x01 // 7 0 variable (payload length added to packet)
+
313 #define RADIOLIB_SX126X_GFSK_CRC_OFF 0x01 // 7 0 GFSK packet CRC: disabled
+
314 #define RADIOLIB_SX126X_GFSK_CRC_1_BYTE 0x00 // 7 0 1 byte
+
315 #define RADIOLIB_SX126X_GFSK_CRC_2_BYTE 0x02 // 7 0 2 byte
+
316 #define RADIOLIB_SX126X_GFSK_CRC_1_BYTE_INV 0x04 // 7 0 1 byte, inverted
+
317 #define RADIOLIB_SX126X_GFSK_CRC_2_BYTE_INV 0x06 // 7 0 2 byte, inverted
+
318 #define RADIOLIB_SX126X_GFSK_WHITENING_OFF 0x00 // 7 0 GFSK data whitening: disabled
+
319 #define RADIOLIB_SX126X_GFSK_WHITENING_ON 0x01 // 7 0 enabled
+
320 #define RADIOLIB_SX126X_LORA_HEADER_EXPLICIT 0x00 // 7 0 LoRa header mode: explicit
+
321 #define RADIOLIB_SX126X_LORA_HEADER_IMPLICIT 0x01 // 7 0 implicit
+
322 #define RADIOLIB_SX126X_LORA_CRC_OFF 0x00 // 7 0 LoRa CRC mode: disabled
+
323 #define RADIOLIB_SX126X_LORA_CRC_ON 0x01 // 7 0 enabled
+
324 #define RADIOLIB_SX126X_LORA_IQ_STANDARD 0x00 // 7 0 LoRa IQ setup: standard
+
325 #define RADIOLIB_SX126X_LORA_IQ_INVERTED 0x01 // 7 0 inverted
+
326 
+
327 //RADIOLIB_SX126X_CMD_SET_CAD_PARAMS
+
328 #define RADIOLIB_SX126X_CAD_ON_1_SYMB 0x00 // 7 0 number of symbols used for CAD: 1
+
329 #define RADIOLIB_SX126X_CAD_ON_2_SYMB 0x01 // 7 0 2
+
330 #define RADIOLIB_SX126X_CAD_ON_4_SYMB 0x02 // 7 0 4
+
331 #define RADIOLIB_SX126X_CAD_ON_8_SYMB 0x03 // 7 0 8
+
332 #define RADIOLIB_SX126X_CAD_ON_16_SYMB 0x04 // 7 0 16
+
333 #define RADIOLIB_SX126X_CAD_GOTO_STDBY 0x00 // 7 0 after CAD is done, always go to STDBY_RC mode
+
334 #define RADIOLIB_SX126X_CAD_GOTO_RX 0x01 // 7 0 after CAD is done, go to Rx mode if activity is detected
+
335 #define RADIOLIB_SX126X_CAD_PARAM_DEFAULT 0xFF // 7 0 used by the CAD methods to specify default parameter value
+
336 #define RADIOLIB_SX126X_CAD_PARAM_DET_MIN 10 // 7 0 default detMin CAD parameter
+
337 
+
338 //RADIOLIB_SX126X_CMD_GET_STATUS
+
339 #define RADIOLIB_SX126X_STATUS_MODE_STDBY_RC 0b00100000 // 6 4 current chip mode: STDBY_RC
+
340 #define RADIOLIB_SX126X_STATUS_MODE_STDBY_XOSC 0b00110000 // 6 4 STDBY_XOSC
+
341 #define RADIOLIB_SX126X_STATUS_MODE_FS 0b01000000 // 6 4 FS
+
342 #define RADIOLIB_SX126X_STATUS_MODE_RX 0b01010000 // 6 4 RX
+
343 #define RADIOLIB_SX126X_STATUS_MODE_TX 0b01100000 // 6 4 TX
+
344 #define RADIOLIB_SX126X_STATUS_DATA_AVAILABLE 0b00000100 // 3 1 command status: packet received and data can be retrieved
+
345 #define RADIOLIB_SX126X_STATUS_CMD_TIMEOUT 0b00000110 // 3 1 SPI command timed out
+
346 #define RADIOLIB_SX126X_STATUS_CMD_INVALID 0b00001000 // 3 1 invalid SPI command
+
347 #define RADIOLIB_SX126X_STATUS_CMD_FAILED 0b00001010 // 3 1 SPI command failed to execute
+
348 #define RADIOLIB_SX126X_STATUS_TX_DONE 0b00001100 // 3 1 packet transmission done
+
349 #define RADIOLIB_SX126X_STATUS_SPI_FAILED 0b11111111 // 7 0 SPI transaction failed
+
350 
+
351 //RADIOLIB_SX126X_CMD_GET_PACKET_STATUS
+
352 #define RADIOLIB_SX126X_GFSK_RX_STATUS_PREAMBLE_ERR 0b10000000 // 7 7 GFSK Rx status: preamble error
+
353 #define RADIOLIB_SX126X_GFSK_RX_STATUS_SYNC_ERR 0b01000000 // 6 6 sync word error
+
354 #define RADIOLIB_SX126X_GFSK_RX_STATUS_ADRS_ERR 0b00100000 // 5 5 address error
+
355 #define RADIOLIB_SX126X_GFSK_RX_STATUS_CRC_ERR 0b00010000 // 4 4 CRC error
+
356 #define RADIOLIB_SX126X_GFSK_RX_STATUS_LENGTH_ERR 0b00001000 // 3 3 length error
+
357 #define RADIOLIB_SX126X_GFSK_RX_STATUS_ABORT_ERR 0b00000100 // 2 2 abort error
+
358 #define RADIOLIB_SX126X_GFSK_RX_STATUS_PACKET_RECEIVED 0b00000010 // 2 2 packet received
+
359 #define RADIOLIB_SX126X_GFSK_RX_STATUS_PACKET_SENT 0b00000001 // 2 2 packet sent
+
360 
+
361 //RADIOLIB_SX126X_CMD_GET_DEVICE_ERRORS
+
362 #define RADIOLIB_SX126X_PA_RAMP_ERR 0b100000000 // 8 8 device errors: PA ramping failed
+
363 #define RADIOLIB_SX126X_PLL_LOCK_ERR 0b001000000 // 6 6 PLL failed to lock
+
364 #define RADIOLIB_SX126X_XOSC_START_ERR 0b000100000 // 5 5 crystal oscillator failed to start
+
365 #define RADIOLIB_SX126X_IMG_CALIB_ERR 0b000010000 // 4 4 image calibration failed
+
366 #define RADIOLIB_SX126X_ADC_CALIB_ERR 0b000001000 // 3 3 ADC calibration failed
+
367 #define RADIOLIB_SX126X_PLL_CALIB_ERR 0b000000100 // 2 2 PLL calibration failed
+
368 #define RADIOLIB_SX126X_RC13M_CALIB_ERR 0b000000010 // 1 1 RC13M calibration failed
+
369 #define RADIOLIB_SX126X_RC64K_CALIB_ERR 0b000000001 // 0 0 RC64K calibration failed
+
370 
+
371 //RADIOLIB_SX126X_CMD_SET_LBT_SCAN_PARAMS + RADIOLIB_SX126X_CMD_SET_SPECTR_SCAN_PARAMS
+
372 #define RADIOLIB_SX126X_SCAN_INTERVAL_7_68_US 10 // 7 0 RSSI reading interval: 7.68 us
+
373 #define RADIOLIB_SX126X_SCAN_INTERVAL_8_20_US 11 // 7 0 8.20 us
+
374 #define RADIOLIB_SX126X_SCAN_INTERVAL_8_68_US 12 // 7 0 8.68 us
+
375 
+
376 // SX126X SPI register variables
+
377 //RADIOLIB_SX126X_REG_HOPPING_ENABLE
+
378 #define RADIOLIB_SX126X_HOPPING_ENABLED 0b00000001 // 0 0 intra-packet hopping for LR-FHSS: enabled
+
379 #define RADIOLIB_SX126X_HOPPING_DISABLED 0b00000000 // 0 0 (disabled)
+
380 
+
381 //RADIOLIB_SX126X_REG_LORA_SYNC_WORD_MSB + LSB
+
382 #define RADIOLIB_SX126X_SYNC_WORD_PUBLIC 0x34 // actually 0x3444 NOTE: The low nibbles in each byte (0x_4_4) are masked out since apparently, they're reserved.
+
383 #define RADIOLIB_SX126X_SYNC_WORD_PRIVATE 0x12 // actually 0x1424 You couldn't make this up if you tried.
+
384 
+
385 // RADIOLIB_SX126X_REG_TX_BITBANG_ENABLE_1
+
386 #define RADIOLIB_SX126X_TX_BITBANG_1_DISABLED 0b00000000 // 6 4 Tx bitbang: disabled (default)
+
387 #define RADIOLIB_SX126X_TX_BITBANG_1_ENABLED 0b00010000 // 6 4 enabled
+
388 
+
389 // RADIOLIB_SX126X_REG_TX_BITBANG_ENABLE_0
+
390 #define RADIOLIB_SX126X_TX_BITBANG_0_DISABLED 0b00000000 // 3 0 Tx bitbang: disabled (default)
+
391 #define RADIOLIB_SX126X_TX_BITBANG_0_ENABLED 0b00001100 // 3 0 enabled
+
392 
+
393 // RADIOLIB_SX126X_REG_DIOX_OUT_ENABLE
+
394 #define RADIOLIB_SX126X_DIO1_OUT_DISABLED 0b00000010 // 1 1 DIO1 output: disabled
+
395 #define RADIOLIB_SX126X_DIO1_OUT_ENABLED 0b00000000 // 1 1 enabled
+
396 #define RADIOLIB_SX126X_DIO2_OUT_DISABLED 0b00000100 // 2 2 DIO2 output: disabled
+
397 #define RADIOLIB_SX126X_DIO2_OUT_ENABLED 0b00000000 // 2 2 enabled
+
398 #define RADIOLIB_SX126X_DIO3_OUT_DISABLED 0b00001000 // 3 3 DIO3 output: disabled
+
399 #define RADIOLIB_SX126X_DIO3_OUT_ENABLED 0b00000000 // 3 3 enabled
+
400 
+
401 // RADIOLIB_SX126X_REG_DIOX_IN_ENABLE
+
402 #define RADIOLIB_SX126X_DIO1_IN_DISABLED 0b00000000 // 1 1 DIO1 input: disabled
+
403 #define RADIOLIB_SX126X_DIO1_IN_ENABLED 0b00000010 // 1 1 enabled
+
404 #define RADIOLIB_SX126X_DIO2_IN_DISABLED 0b00000000 // 2 2 DIO2 input: disabled
+
405 #define RADIOLIB_SX126X_DIO2_IN_ENABLED 0b00000100 // 2 2 enabled
+
406 #define RADIOLIB_SX126X_DIO3_IN_DISABLED 0b00000000 // 3 3 DIO3 input: disabled
+
407 #define RADIOLIB_SX126X_DIO3_IN_ENABLED 0b00001000 // 3 3 enabled
+
408 
+
409 // RADIOLIB_SX126X_REG_RX_GAIN
+
410 #define RADIOLIB_SX126X_RX_GAIN_BOOSTED 0x96 // 7 0 Rx gain: boosted
+
411 #define RADIOLIB_SX126X_RX_GAIN_POWER_SAVING 0x94 // 7 0 power saving
+
412 #define RADIOLIB_SX126X_RX_GAIN_SPECTRAL_SCAN 0xCB // 7 0 spectral scan
+
413 
+
414 // RADIOLIB_SX126X_REG_PATCH_UPDATE_ENABLE
+
415 #define RADIOLIB_SX126X_PATCH_UPDATE_DISABLED 0b00000000 // 4 4 patch update: disabled
+
416 #define RADIOLIB_SX126X_PATCH_UPDATE_ENABLED 0b00010000 // 4 4 enabled
+
417 
+
418 // RADIOLIB_SX126X_REG_SPECTRAL_SCAN_STATUS
+
419 #define RADIOLIB_SX126X_SPECTRAL_SCAN_NONE 0x00 // 7 0 spectral scan status: none
+
420 #define RADIOLIB_SX126X_SPECTRAL_SCAN_ONGOING 0x0F // 7 0 ongoing
+
421 #define RADIOLIB_SX126X_SPECTRAL_SCAN_ABORTED 0xF0 // 7 0 aborted
+
422 #define RADIOLIB_SX126X_SPECTRAL_SCAN_COMPLETED 0xFF // 7 0 completed
423 
-
424 #define RADIOLIB_SX126X_SPECTRAL_SCAN_RES_SIZE (33)
-
425 
-
432 class SX126x: public PhysicalLayer {
-
433  public:
-
434  // introduce PhysicalLayer overloads
-
435  using PhysicalLayer::transmit;
-
436  using PhysicalLayer::receive;
-
437  using PhysicalLayer::startTransmit;
-
438  using PhysicalLayer::readData;
-
439 
-
445  SX126x(Module* mod);
-
446 
-
447  Module* getMod();
-
448 
-
452  bool XTAL;
-
453 
-
454  // basic methods
-
455 
-
471  int16_t begin(uint8_t cr, uint8_t syncWord, uint16_t preambleLength, float tcxoVoltage, bool useRegulatorLDO = false);
-
472 
-
490  int16_t beginFSK(float br, float freqDev, float rxBw, uint16_t preambleLength, float tcxoVoltage, bool useRegulatorLDO = false);
-
491 
-
500  int16_t reset(bool verify = true);
-
501 
-
514  int16_t transmit(uint8_t* data, size_t len, uint8_t addr = 0) override;
-
515 
-
526  int16_t receive(uint8_t* data, size_t len) override;
+
424 // RADIOLIB_SX126X_REG_RSSI_AVG_WINDOW
+
425 #define RADIOLIB_SX126X_SPECTRAL_SCAN_WINDOW_DEFAULT (0x05 << 2) // 7 0 default RSSI average window
+
426 
+
427 // RADIOLIB_SX126X_REG_ANA_LNA
+
428 #define RADIOLIB_SX126X_LNA_RNG_DISABLED 0b00000001 // 0 0 random number: disabled
+
429 #define RADIOLIB_SX126X_LNA_RNG_ENABLED 0b00000000 // 0 0 enabled
+
430 
+
431 // RADIOLIB_SX126X_REG_ANA_MIXER
+
432 #define RADIOLIB_SX126X_MIXER_RNG_DISABLED 0b00000001 // 7 7 random number: disabled
+
433 #define RADIOLIB_SX126X_MIXER_RNG_ENABLED 0b00000000 // 7 7 enabled
+
434 
+
435 // size of the spectral scan result
+
436 #define RADIOLIB_SX126X_SPECTRAL_SCAN_RES_SIZE (33)
+
437 
+
444 class SX126x: public PhysicalLayer {
+
445  public:
+
446  // introduce PhysicalLayer overloads
+
447  using PhysicalLayer::transmit;
+
448  using PhysicalLayer::receive;
+
449  using PhysicalLayer::startTransmit;
+
450  using PhysicalLayer::readData;
+
451 
+
457  SX126x(Module* mod);
+
458 
+
459  Module* getMod();
+
460 
+
464  bool XTAL;
+
465 
+
466  // basic methods
+
467 
+
483  int16_t begin(uint8_t cr, uint8_t syncWord, uint16_t preambleLength, float tcxoVoltage, bool useRegulatorLDO = false);
+
484 
+
502  int16_t beginFSK(float br, float freqDev, float rxBw, uint16_t preambleLength, float tcxoVoltage, bool useRegulatorLDO = false);
+
503 
+
512  int16_t reset(bool verify = true);
+
513 
+
526  int16_t transmit(uint8_t* data, size_t len, uint8_t addr = 0) override;
527 
-
535  int16_t transmitDirect(uint32_t frf = 0) override;
-
536 
-
543  int16_t receiveDirect() override;
-
544 
-
556  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);
-
557 
-
565  int16_t sleep(bool retainConfig = true);
-
566 
-
572  int16_t standby() override;
-
573 
-
581  int16_t standby(uint8_t mode);
-
582 
-
583  // interrupt methods
-
584 
-
590  void setDio1Action(void (*func)(void));
-
591 
-
595  void clearDio1Action();
+
538  int16_t receive(uint8_t* data, size_t len) override;
+
539 
+
547  int16_t transmitDirect(uint32_t frf = 0) override;
+
548 
+
555  int16_t receiveDirect() override;
+
556 
+
568  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);
+
569 
+
577  int16_t sleep(bool retainConfig = true);
+
578 
+
584  int16_t standby() override;
+
585 
+
593  int16_t standby(uint8_t mode);
+
594 
+
595  // interrupt methods
596 
-
609  int16_t startTransmit(uint8_t* data, size_t len, uint8_t addr = 0) override;
-
610 
-
616  int16_t finishTransmit() override;
-
617 
-
632  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);
-
633 
-
648  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);
-
649 
-
665  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);
-
666 
-
672  uint16_t getIrqStatus();
-
673 
-
684  int16_t readData(uint8_t* data, size_t len) override;
+
602  void setDio1Action(void (*func)(void));
+
603 
+
607  void clearDio1Action();
+
608 
+
621  int16_t startTransmit(uint8_t* data, size_t len, uint8_t addr = 0) override;
+
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 
-
697  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);
-
698 
-
704  int16_t getChannelScanResult();
-
705 
-
706  // configuration methods
-
707 
-
715  int16_t setBandwidth(float bw);
-
716 
-
724  int16_t setSpreadingFactor(uint8_t sf);
-
725 
-
733  int16_t setCodingRate(uint8_t cr);
-
734 
-
744  int16_t setSyncWord(uint8_t syncWord, uint8_t controlBits = 0x44);
-
745 
-
753  int16_t setCurrentLimit(float currentLimit);
-
754 
-
760  float getCurrentLimit();
-
761 
-
769  int16_t setPreambleLength(uint16_t preambleLength);
-
770 
-
778  int16_t setFrequencyDeviation(float freqDev) override;
-
779 
-
787  int16_t setBitRate(float br);
-
788 
-
796  int16_t setRxBandwidth(float rxBw);
-
797 
-
807  int16_t setRxBoostedGainMode(bool rxbgm, bool persist = true);
-
808 
-
818  int16_t setDataShaping(uint8_t sh) override;
-
819 
-
829  int16_t setSyncWord(uint8_t* syncWord, uint8_t len);
-
830 
-
840  int16_t setSyncBits(uint8_t *syncWord, uint8_t bitsLen);
-
841 
-
849  int16_t setNodeAddress(uint8_t nodeAddr);
-
850 
-
858  int16_t setBroadcastAddress(uint8_t broadAddr);
-
859 
-
865  int16_t disableAddressFiltering();
-
866 
-
880  int16_t setCRC(uint8_t len, uint16_t initial = 0x1D0F, uint16_t polynomial = 0x1021, bool inverted = true);
-
881 
-
891  int16_t setWhitening(bool enabled, uint16_t initial = 0x0100);
-
892 
-
903  int16_t setTCXO(float voltage, uint32_t delay = 5000);
+
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
+
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 
-
910  int16_t setDio2AsRfSwitch(bool enable = true);
-
911 
-
917  float getDataRate() const;
-
918 
-
926  float getRSSI(bool packet = true);
-
927 
-
933  float getSNR();
-
934 
-
942  float getFrequencyError();
-
943 
-
951  size_t getPacketLength(bool update = true) override;
-
952 
-
960  int16_t fixedPacketLengthMode(uint8_t len = RADIOLIB_SX126X_MAX_PACKET_LENGTH);
-
961 
-
969  int16_t variablePacketLengthMode(uint8_t maxLen = RADIOLIB_SX126X_MAX_PACKET_LENGTH);
-
970 
-
978  uint32_t getTimeOnAir(size_t len);
-
979 
-
987  int16_t implicitHeader(size_t len);
-
988 
-
994  int16_t explicitHeader();
-
995 
-
1001  int16_t setRegulatorLDO();
-
1002 
-
1008  int16_t setRegulatorDCDC();
-
1009 
-
1017  int16_t setEncoding(uint8_t encoding) override;
-
1018 
-
1020  void setRfSwitchPins(RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn);
+
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 
-
1023  void setRfSwitchTable(const RADIOLIB_PIN_TYPE (&pins)[Module::RFSWITCH_MAX_PINS], const Module::RfSwitchMode_t table[]);
-
1024 
-
1033  int16_t forceLDRO(bool enable);
-
1034 
-
1041  int16_t autoLDRO();
-
1042 
-
1048  uint8_t randomByte();
-
1049 
-
1050  #if !defined(RADIOLIB_EXCLUDE_DIRECT_RECEIVE)
-
1056  void setDirectAction(void (*func)(void));
-
1057 
-
1063  void readBit(RADIOLIB_PIN_TYPE pin);
-
1064  #endif
-
1065 
-
1079  int16_t uploadPatch(const uint32_t* patch, size_t len, bool nonvolatile = true);
-
1080 
-
1092  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);
-
1093 
-
1097  void spectralScanAbort();
-
1098 
-
1104  int16_t spectralScanGetStatus();
-
1105 
-
1113  int16_t spectralScanGetResult(uint16_t* results);
-
1114 
-
1115 #if !defined(RADIOLIB_GODMODE)
-
1116  protected:
-
1117 #endif
-
1118  // SX126x SPI command implementations
-
1119  int16_t setFs();
-
1120  int16_t setTx(uint32_t timeout = 0);
-
1121  int16_t setRx(uint32_t timeout);
-
1122  int16_t setCad(uint8_t symbolNum, uint8_t detPeak, uint8_t detMin);
-
1123  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);
-
1124  int16_t writeRegister(uint16_t addr, uint8_t* data, uint8_t numBytes);
-
1125  int16_t readRegister(uint16_t addr, uint8_t* data, uint8_t numBytes);
-
1126  int16_t writeBuffer(uint8_t* data, uint8_t numBytes, uint8_t offset = 0x00);
-
1127  int16_t readBuffer(uint8_t* data, uint8_t numBytes);
-
1128  int16_t setDioIrqParams(uint16_t irqMask, uint16_t dio1Mask, uint16_t dio2Mask = RADIOLIB_SX126X_IRQ_NONE, uint16_t dio3Mask = RADIOLIB_SX126X_IRQ_NONE);
-
1129  virtual int16_t clearIrqStatus(uint16_t clearIrqParams = RADIOLIB_SX126X_IRQ_ALL);
-
1130  int16_t setRfFrequency(uint32_t frf);
-
1131  int16_t calibrateImage(uint8_t* data);
-
1132  uint8_t getPacketType();
-
1133  int16_t setTxParams(uint8_t power, uint8_t rampTime = RADIOLIB_SX126X_PA_RAMP_200U);
-
1134  int16_t setModulationParams(uint8_t sf, uint8_t bw, uint8_t cr, uint8_t ldro);
-
1135  int16_t setModulationParamsFSK(uint32_t br, uint8_t pulseShape, uint8_t rxBw, uint32_t freqDev);
-
1136  int16_t setPacketParams(uint16_t preambleLength, uint8_t crcType, uint8_t payloadLength, uint8_t headerType, uint8_t invertIQ = RADIOLIB_SX126X_LORA_IQ_STANDARD);
-
1137  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);
-
1138  int16_t setBufferBaseAddress(uint8_t txBaseAddress = 0x00, uint8_t rxBaseAddress = 0x00);
-
1139  int16_t setRegulatorMode(uint8_t mode);
-
1140  uint8_t getStatus();
-
1141  uint32_t getPacketStatus();
-
1142  uint16_t getDeviceErrors();
-
1143  int16_t clearDeviceErrors();
-
1144 
-
1145  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);
-
1146  int16_t setFrequencyRaw(float freq);
-
1147  int16_t setPacketMode(uint8_t mode, uint8_t len);
-
1148  int16_t setHeaderType(uint8_t headerType, size_t len = 0xFF);
-
1149  int16_t directMode();
-
1150  int16_t packetMode();
-
1151 
-
1152  // fixes to errata
-
1153  int16_t fixSensitivity();
-
1154  int16_t fixPaClamping(bool enable = true);
-
1155  int16_t fixImplicitTimeout();
-
1156  int16_t fixInvertedIQ(uint8_t iqConfig);
-
1157 
-
1158 #if !defined(RADIOLIB_GODMODE) && !defined(RADIOLIB_LOW_LEVEL)
-
1159  protected:
-
1160 #endif
-
1161  Module* _mod;
-
1162 
-
1163  // common low-level SPI interface
-
1164  static int16_t SPIparseStatus(uint8_t in);
-
1165 
-
1166 #if !defined(RADIOLIB_GODMODE)
-
1167  protected:
-
1168 #endif
+
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 
+
1062  #if !defined(RADIOLIB_EXCLUDE_DIRECT_RECEIVE)
+
1068  void setDirectAction(void (*func)(void));
+
1069 
+
1075  void readBit(RADIOLIB_PIN_TYPE pin);
+
1076  #endif
+
1077 
+
1091  int16_t uploadPatch(const uint32_t* patch, size_t len, bool nonvolatile = true);
+
1092 
+
1104  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);
+
1105 
+
1109  void spectralScanAbort();
+
1110 
+
1116  int16_t spectralScanGetStatus();
+
1117 
+
1125  int16_t spectralScanGetResult(uint16_t* results);
+
1126 
+
1127 #if !defined(RADIOLIB_GODMODE)
+
1128  protected:
+
1129 #endif
+
1130  // SX126x SPI command implementations
+
1131  int16_t setFs();
+
1132  int16_t setTx(uint32_t timeout = 0);
+
1133  int16_t setRx(uint32_t timeout);
+
1134  int16_t setCad(uint8_t symbolNum, uint8_t detPeak, uint8_t detMin);
+
1135  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);
+
1136  int16_t writeRegister(uint16_t addr, uint8_t* data, uint8_t numBytes);
+
1137  int16_t readRegister(uint16_t addr, uint8_t* data, uint8_t numBytes);
+
1138  int16_t writeBuffer(uint8_t* data, uint8_t numBytes, uint8_t offset = 0x00);
+
1139  int16_t readBuffer(uint8_t* data, uint8_t numBytes);
+
1140  int16_t setDioIrqParams(uint16_t irqMask, uint16_t dio1Mask, uint16_t dio2Mask = RADIOLIB_SX126X_IRQ_NONE, uint16_t dio3Mask = RADIOLIB_SX126X_IRQ_NONE);
+
1141  virtual int16_t clearIrqStatus(uint16_t clearIrqParams = RADIOLIB_SX126X_IRQ_ALL);
+
1142  int16_t setRfFrequency(uint32_t frf);
+
1143  int16_t calibrateImage(uint8_t* data);
+
1144  uint8_t getPacketType();
+
1145  int16_t setTxParams(uint8_t power, uint8_t rampTime = RADIOLIB_SX126X_PA_RAMP_200U);
+
1146  int16_t setModulationParams(uint8_t sf, uint8_t bw, uint8_t cr, uint8_t ldro);
+
1147  int16_t setModulationParamsFSK(uint32_t br, uint8_t pulseShape, uint8_t rxBw, uint32_t freqDev);
+
1148  int16_t setPacketParams(uint16_t preambleLength, uint8_t crcType, uint8_t payloadLength, uint8_t headerType, uint8_t invertIQ = RADIOLIB_SX126X_LORA_IQ_STANDARD);
+
1149  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);
+
1150  int16_t setBufferBaseAddress(uint8_t txBaseAddress = 0x00, uint8_t rxBaseAddress = 0x00);
+
1151  int16_t setRegulatorMode(uint8_t mode);
+
1152  uint8_t getStatus();
+
1153  uint32_t getPacketStatus();
+
1154  uint16_t getDeviceErrors();
+
1155  int16_t clearDeviceErrors();
+
1156 
+
1157  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);
+
1158  int16_t setFrequencyRaw(float freq);
+
1159  int16_t setPacketMode(uint8_t mode, uint8_t len);
+
1160  int16_t setHeaderType(uint8_t headerType, size_t len = 0xFF);
+
1161  int16_t directMode();
+
1162  int16_t packetMode();
+
1163 
+
1164  // fixes to errata
+
1165  int16_t fixSensitivity();
+
1166  int16_t fixPaClamping(bool enable = true);
+
1167  int16_t fixImplicitTimeout();
+
1168  int16_t fixInvertedIQ(uint8_t iqConfig);
1169 
-
1170  uint8_t _bw = 0, _sf = 0, _cr = 0, _ldro = 0, _crcType = 0, _headerType = 0;
-
1171  uint16_t _preambleLength = 0;
-
1172  float _bwKhz = 0;
-
1173  bool _ldroAuto = true;
+
1170 #if !defined(RADIOLIB_GODMODE) && !defined(RADIOLIB_LOW_LEVEL)
+
1171  protected:
+
1172 #endif
+
1173  Module* _mod;
1174 
-
1175  uint32_t _br = 0, _freqDev = 0;
-
1176  uint8_t _rxBw = 0, _pulseShape = 0, _crcTypeFSK = 0, _syncWordLength = 0, _addrComp = 0, _whitening = 0, _packetType = 0;
-
1177  uint16_t _preambleLengthFSK = 0;
-
1178  float _rxBwKhz = 0;
-
1179 
-
1180  float _dataRate = 0;
+
1175  // common low-level SPI interface
+
1176  static int16_t SPIparseStatus(uint8_t in);
+
1177 
+
1178 #if !defined(RADIOLIB_GODMODE)
+
1179  protected:
+
1180 #endif
1181 
-
1182  uint32_t _tcxoDelay = 0;
-
1183 
-
1184  size_t _implicitLen = 0;
-
1185  const char* _chipType;
+
1182  uint8_t _bw = 0, _sf = 0, _cr = 0, _ldro = 0, _crcType = 0, _headerType = 0;
+
1183  uint16_t _preambleLength = 0;
+
1184  float _bwKhz = 0;
+
1185  bool _ldroAuto = true;
1186 
-
1187  // Allow subclasses to define different TX modes
-
1188  uint8_t _tx_mode = Module::MODE_TX;
-
1189 
-
1190  int16_t config(uint8_t modem);
-
1191  bool findChip(const char* verStr);
-
1192 };
+
1187  uint32_t _br = 0, _freqDev = 0;
+
1188  uint8_t _rxBw = 0, _pulseShape = 0, _crcTypeFSK = 0, _syncWordLength = 0, _addrComp = 0, _whitening = 0, _packetType = 0;
+
1189  uint16_t _preambleLengthFSK = 0;
+
1190  float _rxBwKhz = 0;
+
1191 
+
1192  float _dataRate = 0;
1193 
-
1194 #endif
+
1194  uint32_t _tcxoDelay = 0;
1195 
-
1196 #endif
+
1196  size_t _implicitLen = 0;
+
1197  const char* _chipType;
+
1198 
+
1199  // Allow subclasses to define different TX modes
+
1200  uint8_t _tx_mode = Module::MODE_TX;
+
1201 
+
1202  int16_t config(uint8_t modem);
+
1203  bool findChip(const char* verStr);
+
1204 };
+
1205 
+
1206 #endif
+
1207 
+
1208 #endif
Module
Implements all common low-level methods to control the wireless module. Every module class contains o...
Definition: Module.h:24
Module::RFSWITCH_MAX_PINS
static const size_t RFSWITCH_MAX_PINS
The maximum number of pins supported by the RF switch code.
Definition: Module.h:35
Module::MODE_TX
@ MODE_TX
Definition: Module.h:64
@@ -761,7 +773,7 @@ $(document).ready(function(){initNavTree('_s_x126x_8h_source.html',''); initResi
PhysicalLayer::startTransmit
int16_t startTransmit(String &str, uint8_t addr=0)
Interrupt-driven Arduino String transmit method. Unlike the standard transmit method,...
Definition: PhysicalLayer.cpp:134
PhysicalLayer::sleep
virtual int16_t sleep()
Sets module to sleep.
Definition: PhysicalLayer.cpp:113
PhysicalLayer::receive
int16_t receive(String &str, size_t len=0)
Arduino String receive method.
Definition: PhysicalLayer.cpp:60
-
SX126x
Base class for SX126x series. All derived classes for SX126x (e.g. SX1262 or SX1268) inherit from thi...
Definition: SX126x.h:432
+
SX126x
Base class for SX126x series. All derived classes for SX126x (e.g. SX1262 or SX1268) inherit from thi...
Definition: SX126x.h:444
SX126x::getFrequencyError
float getFrequencyError()
Gets frequency error of the latest received packet. WARNING: This functionality is based on SX128x im...
Definition: SX126x.cpp:1255
SX126x::startReceiveDutyCycleAuto
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
SX126x::setDio1Action
void setDio1Action(void(*func)(void))
Sets interrupt service routine to call when DIO1 activates.
Definition: SX126x.cpp:462
@@ -770,15 +782,15 @@ $(document).ready(function(){initNavTree('_s_x126x_8h_source.html',''); initResi
SX126x::setDataShaping
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
SX126x::setRegulatorLDO
int16_t setRegulatorLDO()
Set regulator mode to LDO.
Definition: SX126x.cpp:1352
SX126x::setRfSwitchPins
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
-
SX126x::uploadPatch
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:1424
+
SX126x::uploadPatch
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:1432
SX126x::setEncoding
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
SX126x::beginFSK
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
SX126x::setBandwidth
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
SX126x::explicitHeader
int16_t explicitHeader()
Set explicit header mode for future reception/transmission.
Definition: SX126x.cpp:1348
SX126x::forceLDRO
int16_t forceLDRO(bool enable)
Forces LoRa low data rate optimization. Only available in LoRa mode. After calling this method,...
Definition: SX126x.cpp:1372
SX126x::setNodeAddress
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
-
SX126x::spectralScanGetStatus
int16_t spectralScanGetStatus()
Read the status of spectral scan.
Definition: SX126x.cpp:1493
-
SX126x::setTCXO
int16_t setTCXO(float voltage, uint32_t delay=5000)
Sets TCXO (Temperature Compensated Crystal Oscillator) configuration.
Definition: SX126x.cpp:1513
+
SX126x::spectralScanGetStatus
int16_t spectralScanGetStatus()
Read the status of spectral scan.
Definition: SX126x.cpp:1501
+
SX126x::setTCXO
int16_t setTCXO(float voltage, uint32_t delay=5000)
Sets TCXO (Temperature Compensated Crystal Oscillator) configuration.
Definition: SX126x.cpp:1521
SX126x::setRxBandwidth
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
SX126x::setRegulatorDCDC
int16_t setRegulatorDCDC()
Set regulator mode to DC-DC.
Definition: SX126x.cpp:1356
SX126x::startReceiveDutyCycle
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
@@ -790,8 +802,9 @@ $(document).ready(function(){initNavTree('_s_x126x_8h_source.html',''); initResi
SX126x::setBitRate
int16_t setBitRate(float br)
Sets FSK bit rate. Allowed values range from 0.6 to 300.0 kbps.
Definition: SX126x.cpp:882
SX126x::getTimeOnAir
uint32_t getTimeOnAir(size_t len)
Get expected time-on-air for a given size of payload.
Definition: SX126x.cpp:1309
SX126x::randomByte
uint8_t randomByte()
Get one truly random byte from RSSI noise.
Definition: SX126x.cpp:1393
-
SX126x::spectralScanAbort
void spectralScanAbort()
Abort an ongoing spectral scan.
Definition: SX126x.cpp:1489
+
SX126x::spectralScanAbort
void spectralScanAbort()
Abort an ongoing spectral scan.
Definition: SX126x.cpp:1497
SX126x::receiveDirect
int16_t receiveDirect() override
Starts direct mode reception. Only implemented for PhysicalLayer compatibility, as SX126x series does...
Definition: SX126x.cpp:346
+
SX126x::spectralScanStart
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:1481
SX126x::finishTransmit
int16_t finishTransmit() override
Clean up after transmission is done.
Definition: SX126x.cpp:531
SX126x::setCurrentLimit
int16_t setCurrentLimit(float currentLimit)
Sets current protection limit. Can be set in 2.5 mA steps.
Definition: SX126x.cpp:823
SX126x::setRxBoostedGainMode
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
@@ -799,7 +812,7 @@ $(document).ready(function(){initNavTree('_s_x126x_8h_source.html',''); initResi
SX126x::variablePacketLengthMode
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
SX126x::begin
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
SX126x::setCRC
int16_t setCRC(uint8_t len, uint16_t initial=0x1D0F, uint16_t polynomial=0x1021, bool inverted=true)
Sets CRC configuration.
Definition: SX126x.cpp:1125
-
SX126x::getIrqStatus
uint16_t getIrqStatus()
Reads the current IRQ status.
Definition: SX126x.cpp:1669
+
SX126x::getIrqStatus
uint16_t getIrqStatus()
Reads the current IRQ status.
Definition: SX126x.cpp:1677
SX126x::reset
int16_t reset(bool verify=true)
Reset method. Will reset the chip to the default state using RST pin.
Definition: SX126x.cpp:189
SX126x::setSyncWord
int16_t setSyncWord(uint8_t syncWord, uint8_t controlBits=0x44)
Sets LoRa sync word.
Definition: SX126x.cpp:812
SX126x::getCurrentLimit
float getCurrentLimit()
Reads current protection limit.
Definition: SX126x.cpp:836
@@ -807,27 +820,26 @@ $(document).ready(function(){initNavTree('_s_x126x_8h_source.html',''); initResi
SX126x::setPreambleLength
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
SX126x::transmit
int16_t transmit(__FlashStringHelper *fstr, uint8_t addr=0)
Arduino Flash String transmit method.
Definition: PhysicalLayer.cpp:12
SX126x::autoLDRO
int16_t autoLDRO()
Re-enables automatic LDRO configuration. Only available in LoRa mode. After calling this method,...
Definition: SX126x.cpp:1384
-
SX126x::setDirectAction
void setDirectAction(void(*func)(void))
Set interrupt service routine function to call when data bit is receveid in direct mode.
Definition: SX126x.cpp:1415
+
SX126x::setDirectAction
void setDirectAction(void(*func)(void))
Set interrupt service routine function to call when data bit is receveid in direct mode.
Definition: SX126x.cpp:1423
SX126x::fixedPacketLengthMode
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
SX126x::setBroadcastAddress
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
SX126x::getChannelScanResult
int16_t getChannelScanResult()
Read the channel scan result.
Definition: SX126x.cpp:714
SX126x::getPacketLength
size_t getPacketLength(bool update=true) override
Query modem for the packet length of received payload.
Definition: SX126x.cpp:1288
SX126x::setSyncBits
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
SX126x::getDataRate
float getDataRate() const
Gets effective data rate for the last transmitted packet. The value is calculated only for payload by...
Definition: SX126x.cpp:1221
-
SX126x::spectralScanStart
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:1473
SX126x::setRfSwitchTable
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
-
SX126x::XTAL
bool XTAL
Whether the module has an XTAL (true) or TCXO (false). Defaults to false.
Definition: SX126x.h:452
+
SX126x::XTAL
bool XTAL
Whether the module has an XTAL (true) or TCXO (false). Defaults to false.
Definition: SX126x.h:464
SX126x::implicitHeader
int16_t implicitHeader(size_t len)
Set implicit header mode for future reception/transmission.
Definition: SX126x.cpp:1344
SX126x::getSNR
float getSNR()
Gets SNR (Signal to Noise Ratio) of the last received packet. Only available for LoRa modem.
Definition: SX126x.cpp:1239
-
SX126x::setDio2AsRfSwitch
int16_t setDio2AsRfSwitch(bool enable=true)
Set DIO2 to function as RF switch (default in Semtech example designs).
Definition: SX126x.cpp:1566
-
SX126x::spectralScanGetResult
int16_t spectralScanGetResult(uint16_t *results)
Read the result of spectral scan.
Definition: SX126x.cpp:1501
+
SX126x::setDio2AsRfSwitch
int16_t setDio2AsRfSwitch(bool enable=true)
Set DIO2 to function as RF switch (default in Semtech example designs).
Definition: SX126x.cpp:1574
+
SX126x::spectralScanGetResult
int16_t spectralScanGetResult(uint16_t *results)
Read the result of spectral scan.
Definition: SX126x.cpp:1509
SX126x::setSpreadingFactor
int16_t setSpreadingFactor(uint8_t sf)
Sets LoRa spreading factor. Allowed values range from 5 to 12.
Definition: SX126x.cpp:786
SX126x::readData
int16_t readData(String &str, size_t len=0)
Reads data that was received after calling startReceive method.
Definition: PhysicalLayer.cpp:153
SX126x::startTransmit
int16_t startTransmit(String &str, uint8_t addr=0)
Interrupt-driven Arduino String transmit method. Unlike the standard transmit method,...
Definition: PhysicalLayer.cpp:134
SX126x::receive
int16_t receive(String &str, size_t len=0)
Arduino String receive method.
Definition: PhysicalLayer.cpp:60
SX126x::disableAddressFiltering
int16_t disableAddressFiltering()
Disables address filtering. Calling this method will also erase previously set addresses.
Definition: SX126x.cpp:1114
SX126x::setCodingRate
int16_t setCodingRate(uint8_t cr)
Sets LoRa coding rate denominator. Allowed values range from 5 to 8.
Definition: SX126x.cpp:799
-
SX126x::readBit
void readBit(RADIOLIB_PIN_TYPE pin)
Function to read and process data bit in direct reception mode.
Definition: SX126x.cpp:1419
+
SX126x::readBit
void readBit(RADIOLIB_PIN_TYPE pin)
Function to read and process data bit in direct reception mode.
Definition: SX126x.cpp:1427
Module::RfSwitchMode_t
Definition: Module.h:42
diff --git a/class_l_l_c_c68-members.html b/class_l_l_c_c68-members.html index b0cb7ba6..6becd870 100644 --- a/class_l_l_c_c68-members.html +++ b/class_l_l_c_c68-members.html @@ -170,7 +170,7 @@ $(document).ready(function(){initNavTree('class_l_l_c_c68.html',''); initResizab spectralScanAbort()SX126x spectralScanGetResult(uint16_t *results)SX126x spectralScanGetStatus()SX126x - spectralScanStart(uint16_t numSamples, uint8_t window=RADIOLIB_SX126x_SPECTRAL_SCAN_WINDOW_DEFAULT, uint8_t interval=RADIOLIB_SX126X_SCAN_INTERVAL_8_20_US)SX126x + spectralScanStart(uint16_t numSamples, uint8_t window=RADIOLIB_SX126X_SPECTRAL_SCAN_WINDOW_DEFAULT, uint8_t interval=RADIOLIB_SX126X_SCAN_INTERVAL_8_20_US)SX126x standby() overrideSX126xvirtual standby(uint8_t mode)SX126xvirtual 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)SX126x diff --git a/class_l_l_c_c68.html b/class_l_l_c_c68.html index dbae9f8a..94181515 100644 --- a/class_l_l_c_c68.html +++ b/class_l_l_c_c68.html @@ -342,9 +342,9 @@ void 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 must be uploaded again on every power cycle. More...
  -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. More...
-  +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. More...
void spectralScanAbort ()  Abort an ongoing spectral scan.
diff --git a/class_s_t_m32_w_lx-members.html b/class_s_t_m32_w_lx-members.html index 50f442ae..6f42f174 100644 --- a/class_s_t_m32_w_lx-members.html +++ b/class_s_t_m32_w_lx-members.html @@ -176,7 +176,7 @@ $(document).ready(function(){initNavTree('class_s_t_m32_w_lx.html',''); initResi spectralScanAbort()SX126x spectralScanGetResult(uint16_t *results)SX126x spectralScanGetStatus()SX126x - spectralScanStart(uint16_t numSamples, uint8_t window=RADIOLIB_SX126x_SPECTRAL_SCAN_WINDOW_DEFAULT, uint8_t interval=RADIOLIB_SX126X_SCAN_INTERVAL_8_20_US)SX126x + spectralScanStart(uint16_t numSamples, uint8_t window=RADIOLIB_SX126X_SPECTRAL_SCAN_WINDOW_DEFAULT, uint8_t interval=RADIOLIB_SX126X_SCAN_INTERVAL_8_20_US)SX126x standby() overrideSX126xvirtual standby(uint8_t mode)SX126xvirtual 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)SX126x diff --git a/class_s_t_m32_w_lx.html b/class_s_t_m32_w_lx.html index a2dd36ca..0d4439b8 100644 --- a/class_s_t_m32_w_lx.html +++ b/class_s_t_m32_w_lx.html @@ -364,9 +364,9 @@ void 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 must be uploaded again on every power cycle. More...
  -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. More...
-  +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. More...
void spectralScanAbort ()  Abort an ongoing spectral scan.
diff --git a/class_s_x1261-members.html b/class_s_x1261-members.html index db9a3e40..1e0c89ff 100644 --- a/class_s_x1261-members.html +++ b/class_s_x1261-members.html @@ -169,7 +169,7 @@ $(document).ready(function(){initNavTree('class_s_x1261.html',''); initResizable spectralScanAbort()SX126x spectralScanGetResult(uint16_t *results)SX126x spectralScanGetStatus()SX126x - spectralScanStart(uint16_t numSamples, uint8_t window=RADIOLIB_SX126x_SPECTRAL_SCAN_WINDOW_DEFAULT, uint8_t interval=RADIOLIB_SX126X_SCAN_INTERVAL_8_20_US)SX126x + spectralScanStart(uint16_t numSamples, uint8_t window=RADIOLIB_SX126X_SPECTRAL_SCAN_WINDOW_DEFAULT, uint8_t interval=RADIOLIB_SX126X_SCAN_INTERVAL_8_20_US)SX126x standby() overrideSX126xvirtual standby(uint8_t mode)SX126xvirtual 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)SX126x diff --git a/class_s_x1261.html b/class_s_x1261.html index 86050785..cfc70a0a 100644 --- a/class_s_x1261.html +++ b/class_s_x1261.html @@ -333,9 +333,9 @@ void 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 must be uploaded again on every power cycle. More...
  -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. More...
-  +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. More...
void spectralScanAbort ()  Abort an ongoing spectral scan.
diff --git a/class_s_x1262-members.html b/class_s_x1262-members.html index 7b68bdd6..21a99126 100644 --- a/class_s_x1262-members.html +++ b/class_s_x1262-members.html @@ -169,7 +169,7 @@ $(document).ready(function(){initNavTree('class_s_x1262.html',''); initResizable spectralScanAbort()SX126x spectralScanGetResult(uint16_t *results)SX126x spectralScanGetStatus()SX126x - spectralScanStart(uint16_t numSamples, uint8_t window=RADIOLIB_SX126x_SPECTRAL_SCAN_WINDOW_DEFAULT, uint8_t interval=RADIOLIB_SX126X_SCAN_INTERVAL_8_20_US)SX126x + spectralScanStart(uint16_t numSamples, uint8_t window=RADIOLIB_SX126X_SPECTRAL_SCAN_WINDOW_DEFAULT, uint8_t interval=RADIOLIB_SX126X_SCAN_INTERVAL_8_20_US)SX126x standby() overrideSX126xvirtual standby(uint8_t mode)SX126xvirtual 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)SX126x diff --git a/class_s_x1262.html b/class_s_x1262.html index b89e7a86..c1ac44d3 100644 --- a/class_s_x1262.html +++ b/class_s_x1262.html @@ -331,9 +331,9 @@ void 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 must be uploaded again on every power cycle. More...
  -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. More...
-  +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. More...
void spectralScanAbort ()  Abort an ongoing spectral scan.
diff --git a/class_s_x1268-members.html b/class_s_x1268-members.html index de8e473b..1537a34b 100644 --- a/class_s_x1268-members.html +++ b/class_s_x1268-members.html @@ -168,7 +168,7 @@ $(document).ready(function(){initNavTree('class_s_x1268.html',''); initResizable spectralScanAbort()SX126x spectralScanGetResult(uint16_t *results)SX126x spectralScanGetStatus()SX126x - spectralScanStart(uint16_t numSamples, uint8_t window=RADIOLIB_SX126x_SPECTRAL_SCAN_WINDOW_DEFAULT, uint8_t interval=RADIOLIB_SX126X_SCAN_INTERVAL_8_20_US)SX126x + spectralScanStart(uint16_t numSamples, uint8_t window=RADIOLIB_SX126X_SPECTRAL_SCAN_WINDOW_DEFAULT, uint8_t interval=RADIOLIB_SX126X_SCAN_INTERVAL_8_20_US)SX126x standby() overrideSX126xvirtual standby(uint8_t mode)SX126xvirtual 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)SX126x diff --git a/class_s_x1268.html b/class_s_x1268.html index edf7b028..70423659 100644 --- a/class_s_x1268.html +++ b/class_s_x1268.html @@ -325,9 +325,9 @@ void 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 must be uploaded again on every power cycle. More...
  -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. More...
-  +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. More...
void spectralScanAbort ()  Abort an ongoing spectral scan.
diff --git a/class_s_x126x-members.html b/class_s_x126x-members.html index 4ffe9617..b415e5b4 100644 --- a/class_s_x126x-members.html +++ b/class_s_x126x-members.html @@ -164,7 +164,7 @@ $(document).ready(function(){initNavTree('class_s_x126x.html',''); initResizable spectralScanAbort()SX126x spectralScanGetResult(uint16_t *results)SX126x spectralScanGetStatus()SX126x - spectralScanStart(uint16_t numSamples, uint8_t window=RADIOLIB_SX126x_SPECTRAL_SCAN_WINDOW_DEFAULT, uint8_t interval=RADIOLIB_SX126X_SCAN_INTERVAL_8_20_US)SX126x + spectralScanStart(uint16_t numSamples, uint8_t window=RADIOLIB_SX126X_SPECTRAL_SCAN_WINDOW_DEFAULT, uint8_t interval=RADIOLIB_SX126X_SCAN_INTERVAL_8_20_US)SX126x standby() overrideSX126xvirtual standby(uint8_t mode)SX126xvirtual 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)SX126x diff --git a/class_s_x126x.html b/class_s_x126x.html index 29acca8e..4650065c 100644 --- a/class_s_x126x.html +++ b/class_s_x126x.html @@ -311,9 +311,9 @@ void 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 must be uploaded again on every power cycle. More...
  -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. More...
-  +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. More...
void spectralScanAbort ()  Abort an ongoing spectral scan.
@@ -2288,8 +2288,8 @@ bool  -

◆ spectralScanStart()

+ +

◆ spectralScanStart()

@@ -2304,7 +2304,7 @@ bool  uint8_t  - window = RADIOLIB_SX126x_SPECTRAL_SCAN_WINDOW_DEFAULT, + window = RADIOLIB_SX126X_SPECTRAL_SCAN_WINDOW_DEFAULT, diff --git a/class_s_x126x.js b/class_s_x126x.js index c67896a2..42efa2dc 100644 --- a/class_s_x126x.js +++ b/class_s_x126x.js @@ -62,7 +62,7 @@ var class_s_x126x = [ "spectralScanAbort", "class_s_x126x.html#a865397e1cca38bec2d055c047825ea07", null ], [ "spectralScanGetResult", "class_s_x126x.html#ae473773e5bed4b08452e80311bdb26f2", null ], [ "spectralScanGetStatus", "class_s_x126x.html#a5595fff99d76d50d711b8cdad98527c4", null ], - [ "spectralScanStart", "class_s_x126x.html#acea676a81ee40e83f96becdee91d42be", null ], + [ "spectralScanStart", "class_s_x126x.html#a8a3ad4e12df862ab18b326d9dba26d66", null ], [ "standby", "class_s_x126x.html#a7a1579e2557c36a4a34b09039c0d0c71", null ], [ "standby", "class_s_x126x.html#ad7569396f09f3867dc1bd4d4a0613acd", null ], [ "startChannelScan", "class_s_x126x.html#a10a0e75571350fb05fa100e5d5151be2", null ], diff --git a/functions_func_s.html b/functions_func_s.html index 66d9073e..0288f327 100644 --- a/functions_func_s.html +++ b/functions_func_s.html @@ -480,7 +480,7 @@ $(document).ready(function(){initNavTree('functions_func_s.html',''); initResiza : SX126x
  • spectralScanStart() -: SX126x +: SX126x
  • SPIcheckStream() : Module diff --git a/functions_s.html b/functions_s.html index 5fd8796b..ad949f6a 100644 --- a/functions_s.html +++ b/functions_s.html @@ -486,7 +486,7 @@ $(document).ready(function(){initNavTree('functions_s.html',''); initResizable() : SX126x
  • spectralScanStart() -: SX126x +: SX126x
  • SPIaddrWidth : Module diff --git a/navtreeindex2.js b/navtreeindex2.js index 703ed7b9..17048827 100644 --- a/navtreeindex2.js +++ b/navtreeindex2.js @@ -81,6 +81,7 @@ var NAVTREEINDEX2 = "class_s_x126x.html#a819bb3ced0f184a63cbfbef408a68561":[3,0,35,21], "class_s_x126x.html#a865397e1cca38bec2d055c047825ea07":[3,0,35,59], "class_s_x126x.html#a8a18aee2bf05793aa29b5cf6b47bb435":[3,0,35,29], +"class_s_x126x.html#a8a3ad4e12df862ab18b326d9dba26d66":[3,0,35,62], "class_s_x126x.html#a8e22d67b64953c8b4da779d87d563f3e":[3,0,35,7], "class_s_x126x.html#a8f971dca834be7e0470a9a9f0c01854e":[3,0,35,37], "class_s_x126x.html#a920aa76ff5f0f579424ef6de92e588c8":[3,0,35,51], @@ -108,7 +109,6 @@ var NAVTREEINDEX2 = "class_s_x126x.html#ac4ef8c8751a3c09d64e431684840c987":[3,0,35,16], "class_s_x126x.html#ac594fbb30c5010658c970a64654c7162":[3,0,35,53], "class_s_x126x.html#acbe2d75b1e2df8bcc58c4fd9d8e6e4f9":[3,0,35,12], -"class_s_x126x.html#acea676a81ee40e83f96becdee91d42be":[3,0,35,62], "class_s_x126x.html#ad59e37ce0606dc8051e40be9d14cfec3":[3,0,35,71], "class_s_x126x.html#ad7569396f09f3867dc1bd4d4a0613acd":[3,0,35,64], "class_s_x126x.html#ad92085fdf4508c0849de0aec8dee2494":[3,0,35,49], diff --git a/search/all_f.js b/search/all_f.js index ad02528d..87c39ea3 100644 --- a/search/all_f.js +++ b/search/all_f.js @@ -84,7 +84,7 @@ var searchData= ['spectralscanabort_310',['spectralScanAbort',['../class_s_x126x.html#a865397e1cca38bec2d055c047825ea07',1,'SX126x']]], ['spectralscangetresult_311',['spectralScanGetResult',['../class_s_x126x.html#ae473773e5bed4b08452e80311bdb26f2',1,'SX126x']]], ['spectralscangetstatus_312',['spectralScanGetStatus',['../class_s_x126x.html#a5595fff99d76d50d711b8cdad98527c4',1,'SX126x']]], - ['spectralscanstart_313',['spectralScanStart',['../class_s_x126x.html#acea676a81ee40e83f96becdee91d42be',1,'SX126x']]], + ['spectralscanstart_313',['spectralScanStart',['../class_s_x126x.html#a8a3ad4e12df862ab18b326d9dba26d66',1,'SX126x']]], ['spiaddrwidth_314',['SPIaddrWidth',['../class_module.html#ac19a495026aae62f5c2f089aa1b2b57a',1,'Module']]], ['spicheckstream_315',['SPIcheckStream',['../class_module.html#a5efa7ae78cab1d7f43005e965923f769',1,'Module']]], ['spigetregvalue_316',['SPIgetRegValue',['../class_module.html#a01e15988ec448c76142ee5709929be2c',1,'Module']]], diff --git a/search/functions_f.js b/search/functions_f.js index ec321f9b..642f8e99 100644 --- a/search/functions_f.js +++ b/search/functions_f.js @@ -82,7 +82,7 @@ var searchData= ['spectralscanabort_635',['spectralScanAbort',['../class_s_x126x.html#a865397e1cca38bec2d055c047825ea07',1,'SX126x']]], ['spectralscangetresult_636',['spectralScanGetResult',['../class_s_x126x.html#ae473773e5bed4b08452e80311bdb26f2',1,'SX126x']]], ['spectralscangetstatus_637',['spectralScanGetStatus',['../class_s_x126x.html#a5595fff99d76d50d711b8cdad98527c4',1,'SX126x']]], - ['spectralscanstart_638',['spectralScanStart',['../class_s_x126x.html#acea676a81ee40e83f96becdee91d42be',1,'SX126x']]], + ['spectralscanstart_638',['spectralScanStart',['../class_s_x126x.html#a8a3ad4e12df862ab18b326d9dba26d66',1,'SX126x']]], ['spicheckstream_639',['SPIcheckStream',['../class_module.html#a5efa7ae78cab1d7f43005e965923f769',1,'Module']]], ['spigetregvalue_640',['SPIgetRegValue',['../class_module.html#a01e15988ec448c76142ee5709929be2c',1,'Module']]], ['spireadregister_641',['SPIreadRegister',['../class_module.html#a9a545e4a001da0d9f6358279ac40d4f0',1,'Module']]],