From 253e496fc77c2226dd21f77b8ea9cf128274748b Mon Sep 17 00:00:00 2001 From: jgromes Date: Sat, 8 May 2021 17:05:37 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20=20@=20cdeb7?= =?UTF-8?q?947a4b28b27e5c230a54a0c650792f51388=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _build_opt_8h_source.html | 645 +++++++++++++++++++------------------- 1 file changed, 323 insertions(+), 322 deletions(-) diff --git a/_build_opt_8h_source.html b/_build_opt_8h_source.html index 48b19ae5..d0826170 100644 --- a/_build_opt_8h_source.html +++ b/_build_opt_8h_source.html @@ -206,328 +206,329 @@ $(document).ready(function(){initNavTree('_build_opt_8h_source.html',''); initRe
118 
119  // RadioLib has ESP8266 driver, this must be disabled to use ESP8266 as platform
120  #define RADIOLIB_EXCLUDE_ESP8266
-
121 
-
122  #elif defined(ESP32)
-
123  // ESP32 boards
-
124  #define RADIOLIB_PLATFORM "ESP32"
-
125  #define RADIOLIB_PIN_TYPE uint8_t
-
126  #define RADIOLIB_PIN_MODE uint8_t
-
127  #define RADIOLIB_PIN_STATUS uint8_t
-
128  #define RADIOLIB_INTERRUPT_STATUS RADIOLIB_PIN_STATUS
-
129  #define RADIOLIB_DIGITAL_PIN_TO_INTERRUPT(p) digitalPinToInterrupt(p)
-
130  #define RADIOLIB_NC (0xFF)
-
131  #define RADIOLIB_DEFAULT_SPI SPI
-
132  #define RADIOLIB_PROGMEM PROGMEM
-
133  #define RADIOLIB_PROGMEM_READ_BYTE(addr) pgm_read_byte(addr)
-
134  #define RADIOLIB_SOFTWARE_SERIAL_UNSUPPORTED
-
135  #define RADIOLIB_HARDWARE_SERIAL_PORT Serial1
-
136 
-
137  // ESP32 doesn't support tone(), but it can be emulated via LED control peripheral
-
138  #define RADIOLIB_TONE_UNSUPPORTED
-
139  #define RADIOLIB_TONE_ESP32_CHANNEL (1)
-
140 
-
141  #elif defined(ARDUINO_ARCH_STM32)
-
142  // official STM32 Arduino core (https://github.com/stm32duino/Arduino_Core_STM32)
-
143  #define RADIOLIB_PLATFORM "Arduino STM32 (official)"
-
144  #define RADIOLIB_PIN_TYPE uint32_t
-
145  #define RADIOLIB_PIN_MODE uint32_t
-
146  #define RADIOLIB_PIN_STATUS uint32_t
-
147  #define RADIOLIB_INTERRUPT_STATUS RADIOLIB_PIN_STATUS
-
148  #define RADIOLIB_DIGITAL_PIN_TO_INTERRUPT(p) digitalPinToInterrupt(p)
-
149  #define RADIOLIB_NC (0xFFFFFFFF)
-
150  #define RADIOLIB_DEFAULT_SPI SPI
-
151  #define RADIOLIB_PROGMEM PROGMEM
-
152  #define RADIOLIB_PROGMEM_READ_BYTE(addr) pgm_read_byte(addr)
-
153  #define RADIOLIB_SOFTWARE_SERIAL_UNSUPPORTED
-
154  #define RADIOLIB_HARDWARE_SERIAL_PORT Serial1
-
155 
-
156  // slow down SX126x/8x SPI on this platform
-
157  #define RADIOLIB_SPI_SLOWDOWN
-
158 
-
159  #elif defined(SAMD_SERIES)
-
160  // Adafruit SAMD boards (M0 and M4)
-
161  #define RADIOLIB_PLATFORM "Adafruit SAMD"
-
162  #define RADIOLIB_PIN_TYPE uint32_t
-
163  #define RADIOLIB_PIN_MODE uint32_t
-
164  #define RADIOLIB_PIN_STATUS uint32_t
-
165  #define RADIOLIB_INTERRUPT_STATUS RADIOLIB_PIN_STATUS
-
166  #define RADIOLIB_DIGITAL_PIN_TO_INTERRUPT(p) digitalPinToInterrupt(p)
-
167  #define RADIOLIB_NC (0xFFFFFFFF)
-
168  #define RADIOLIB_DEFAULT_SPI SPI
-
169  #define RADIOLIB_PROGMEM PROGMEM
-
170  #define RADIOLIB_PROGMEM_READ_BYTE(addr) pgm_read_byte(addr)
-
171  #define RADIOLIB_SOFTWARE_SERIAL_UNSUPPORTED
-
172  #define RADIOLIB_HARDWARE_SERIAL_PORT Serial1
-
173 
-
174  // slow down SX126x/8x SPI on this platform
-
175  #define RADIOLIB_SPI_SLOWDOWN
-
176 
-
177  #elif defined(ARDUINO_ARCH_SAMD)
-
178  // Arduino SAMD (Zero, MKR, etc.)
-
179  #define RADIOLIB_PLATFORM "Arduino SAMD"
-
180  #define RADIOLIB_PIN_TYPE pin_size_t
-
181  #define RADIOLIB_PIN_MODE PinMode
-
182  #define RADIOLIB_PIN_STATUS PinStatus
-
183  #define RADIOLIB_INTERRUPT_STATUS RADIOLIB_PIN_STATUS
-
184  #define RADIOLIB_DIGITAL_PIN_TO_INTERRUPT(p) digitalPinToInterrupt(p)
-
185  #define RADIOLIB_NC (0xFF)
-
186  #define RADIOLIB_DEFAULT_SPI SPI
-
187  #define RADIOLIB_PROGMEM PROGMEM
-
188  #define RADIOLIB_PROGMEM_READ_BYTE(addr) pgm_read_byte(addr)
-
189  #define RADIOLIB_SOFTWARE_SERIAL_UNSUPPORTED
-
190  #define RADIOLIB_HARDWARE_SERIAL_PORT Serial1
-
191 
-
192  #elif defined(__SAM3X8E__)
-
193  // Arduino Due
-
194  #define RADIOLIB_PLATFORM "Arduino Due"
-
195  #define RADIOLIB_PIN_TYPE uint32_t
-
196  #define RADIOLIB_PIN_MODE uint32_t
-
197  #define RADIOLIB_PIN_STATUS uint32_t
-
198  #define RADIOLIB_INTERRUPT_STATUS RADIOLIB_PIN_STATUS
-
199  #define RADIOLIB_DIGITAL_PIN_TO_INTERRUPT(p) digitalPinToInterrupt(p)
-
200  #define RADIOLIB_NC (0xFFFFFFFF)
-
201  #define RADIOLIB_DEFAULT_SPI SPI
-
202  #define RADIOLIB_PROGMEM PROGMEM
-
203  #define RADIOLIB_PROGMEM_READ_BYTE(addr) pgm_read_byte(addr)
-
204  #define RADIOLIB_SOFTWARE_SERIAL_UNSUPPORTED
-
205  #define RADIOLIB_HARDWARE_SERIAL_PORT Serial1
-
206  #define RADIOLIB_TONE_UNSUPPORTED
-
207 
-
208  #elif (defined(NRF52832_XXAA) || defined(NRF52840_XXAA)) && !defined(ARDUINO_ARDUINO_NANO33BLE)
-
209  // Adafruit nRF52 boards
-
210  #define RADIOLIB_PLATFORM "Adafruit nRF52"
-
211  #define RADIOLIB_PIN_TYPE uint32_t
-
212  #define RADIOLIB_PIN_MODE uint32_t
-
213  #define RADIOLIB_PIN_STATUS uint32_t
-
214  #define RADIOLIB_INTERRUPT_STATUS RADIOLIB_PIN_STATUS
-
215  #define RADIOLIB_DIGITAL_PIN_TO_INTERRUPT(p) digitalPinToInterrupt(p)
-
216  #define RADIOLIB_NC (0xFFFFFFFF)
-
217  #define RADIOLIB_DEFAULT_SPI SPI
-
218  #define RADIOLIB_PROGMEM PROGMEM
-
219  #define RADIOLIB_PROGMEM_READ_BYTE(addr) pgm_read_byte(addr)
-
220 
-
221  #elif defined(ARDUINO_ARC32_TOOLS)
-
222  // Intel Curie
-
223  #define RADIOLIB_PLATFORM "Intel Curie"
-
224  #define RADIOLIB_PIN_TYPE uint8_t
-
225  #define RADIOLIB_PIN_MODE uint8_t
-
226  #define RADIOLIB_PIN_STATUS uint8_t
-
227  #define RADIOLIB_INTERRUPT_STATUS RADIOLIB_PIN_STATUS
-
228  #define RADIOLIB_DIGITAL_PIN_TO_INTERRUPT(p) digitalPinToInterrupt(p)
-
229  #define RADIOLIB_NC (0xFF)
-
230  #define RADIOLIB_DEFAULT_SPI SPI
-
231  #define RADIOLIB_PROGMEM PROGMEM
-
232  #define RADIOLIB_PROGMEM_READ_BYTE(addr) pgm_read_byte(addr)
-
233 
-
234  #elif defined(ARDUINO_AVR_UNO_WIFI_REV2) || defined(ARDUINO_AVR_NANO_EVERY)
-
235  // Arduino megaAVR boards - Uno Wifi Rev.2, Nano Every
-
236  #define RADIOLIB_PLATFORM "Arduino megaAVR"
-
237  #define RADIOLIB_PIN_TYPE uint8_t
-
238  #define RADIOLIB_PIN_MODE PinMode
-
239  #define RADIOLIB_PIN_STATUS PinStatus
-
240  #define RADIOLIB_INTERRUPT_STATUS RADIOLIB_PIN_STATUS
-
241  #define RADIOLIB_DIGITAL_PIN_TO_INTERRUPT(p) digitalPinToInterrupt(p)
-
242  #define RADIOLIB_NC (0xFF)
-
243  #define RADIOLIB_DEFAULT_SPI SPI
-
244  #define RADIOLIB_PROGMEM PROGMEM
-
245  #define RADIOLIB_PROGMEM_READ_BYTE(addr) pgm_read_byte(addr)
-
246 
-
247  #elif defined(ARDUINO_ARCH_APOLLO3)
-
248  // Sparkfun Apollo3 boards
-
249  #define RADIOLIB_PLATFORM "Sparkfun Apollo3"
-
250  #define RADIOLIB_PIN_TYPE pin_size_t
-
251  #define RADIOLIB_PIN_MODE Arduino_PinMode
-
252  #define RADIOLIB_PIN_STATUS PinStatus
-
253  #define RADIOLIB_INTERRUPT_STATUS RADIOLIB_PIN_STATUS
-
254  #define RADIOLIB_DIGITAL_PIN_TO_INTERRUPT(p) digitalPinToInterrupt(p)
-
255  #define RADIOLIB_NC (0xFF)
-
256  #define RADIOLIB_DEFAULT_SPI SPI
-
257  #define RADIOLIB_PROGMEM PROGMEM
-
258  #define RADIOLIB_PROGMEM_READ_BYTE(addr) pgm_read_byte(addr)
-
259  #define RADIOLIB_SOFTWARE_SERIAL_UNSUPPORTED
-
260  #define RADIOLIB_HARDWARE_SERIAL_PORT Serial1
-
261 
-
262  // Apollo3 uses mbed libraries, which already contain ESP8266 driver
-
263  #define RADIOLIB_EXCLUDE_ESP8266
-
264 
-
265  // slow down SX126x/8x SPI on this platform
-
266  #define RADIOLIB_SPI_SLOWDOWN
-
267 
-
268  #elif defined(ARDUINO_ARDUINO_NANO33BLE)
-
269  // Arduino Nano 33 BLE
-
270  #define RADIOLIB_PLATFORM "Arduino Nano 33 BLE"
-
271  #define RADIOLIB_PIN_TYPE pin_size_t
-
272  #define RADIOLIB_PIN_MODE PinMode
-
273  #define RADIOLIB_PIN_STATUS PinStatus
-
274  #define RADIOLIB_INTERRUPT_STATUS RADIOLIB_PIN_STATUS
-
275  #define RADIOLIB_DIGITAL_PIN_TO_INTERRUPT(p) digitalPinToInterrupt(p)
-
276  #define RADIOLIB_NC (0xFF)
-
277  #define RADIOLIB_DEFAULT_SPI SPI
-
278  #define RADIOLIB_PROGMEM PROGMEM
-
279  #define RADIOLIB_PROGMEM_READ_BYTE(addr) pgm_read_byte(addr)
-
280  #define RADIOLIB_SOFTWARE_SERIAL_UNSUPPORTED
-
281  #define RADIOLIB_HARDWARE_SERIAL_PORT Serial1
-
282 
-
283  // Nano 33 BLE uses mbed libraries, which already contain ESP8266 driver
-
284  #define RADIOLIB_EXCLUDE_ESP8266
-
285 
-
286  #elif defined(ARDUINO_PORTENTA_H7_M7) || defined(ARDUINO_PORTENTA_H7_M4)
-
287  // Arduino Portenta H7
-
288  #define RADIOLIB_PLATFORM "Portenta H7"
-
289  #define RADIOLIB_PIN_TYPE pin_size_t
-
290  #define RADIOLIB_PIN_MODE PinMode
-
291  #define RADIOLIB_PIN_STATUS PinStatus
-
292  #define RADIOLIB_INTERRUPT_STATUS RADIOLIB_PIN_STATUS
-
293  #define RADIOLIB_DIGITAL_PIN_TO_INTERRUPT(p) digitalPinToInterrupt(p)
-
294  #define RADIOLIB_NC (0xFF)
-
295  #define RADIOLIB_DEFAULT_SPI SPI
-
296  #define RADIOLIB_PROGMEM PROGMEM
-
297  #define RADIOLIB_PROGMEM_READ_BYTE(addr) pgm_read_byte(addr)
-
298  #define RADIOLIB_SOFTWARE_SERIAL_UNSUPPORTED
-
299  #define RADIOLIB_HARDWARE_SERIAL_PORT Serial1
-
300 
-
301  // Arduino Portenta H7 uses mbed libraries, which already contain ESP8266 driver
-
302  #define RADIOLIB_EXCLUDE_ESP8266
-
303 
-
304  #elif defined(__STM32F4__) || defined(__STM32F1__)
-
305  // Arduino STM32 core by Roger Clark (https://github.com/rogerclarkmelbourne/Arduino_STM32)
-
306  #define RADIOLIB_PLATFORM "STM32duino (unofficial)"
-
307  #define RADIOLIB_PIN_TYPE uint8_t
-
308  #define RADIOLIB_PIN_MODE WiringPinMode
-
309  #define RADIOLIB_PIN_STATUS uint8_t
-
310  #define RADIOLIB_INTERRUPT_STATUS ExtIntTriggerMode
-
311  #define RADIOLIB_DIGITAL_PIN_TO_INTERRUPT(p) digitalPinToInterrupt(p)
-
312  #define RADIOLIB_NC (0xFF)
-
313  #define RADIOLIB_DEFAULT_SPI SPI
-
314  #define RADIOLIB_PROGMEM PROGMEM
-
315  #define RADIOLIB_PROGMEM_READ_BYTE(addr) pgm_read_byte(addr)
-
316  #define RADIOLIB_SOFTWARE_SERIAL_UNSUPPORTED
-
317  #define RADIOLIB_HARDWARE_SERIAL_PORT Serial1
-
318 
-
319  #elif defined(ARDUINO_ARCH_MEGAAVR)
-
320  // MegaCoreX by MCUdude (https://github.com/MCUdude/MegaCoreX)
-
321  #define RADIOLIB_PLATFORM "MegaCoreX"
-
322  #define RADIOLIB_PIN_TYPE uint8_t
-
323  #define RADIOLIB_PIN_MODE uint8_t
-
324  #define RADIOLIB_PIN_STATUS uint8_t
-
325  #define RADIOLIB_INTERRUPT_STATUS RADIOLIB_PIN_STATUS
-
326  #define RADIOLIB_DIGITAL_PIN_TO_INTERRUPT(p) digitalPinToInterrupt(p)
-
327  #define RADIOLIB_NC (0xFF)
-
328  #define RADIOLIB_DEFAULT_SPI SPI
-
329  #define RADIOLIB_PROGMEM PROGMEM
-
330  #define RADIOLIB_PROGMEM_READ_BYTE(addr) pgm_read_byte(addr)
-
331 
-
332  #else
-
333  // other platforms not covered by the above list - this may or may not work
-
334  #define RADIOLIB_PLATFORM "Unknown"
-
335  #define RADIOLIB_UNKNOWN_PLATFORM
-
336  #define RADIOLIB_PIN_TYPE uint8_t
-
337  #define RADIOLIB_PIN_MODE uint8_t
-
338  #define RADIOLIB_PIN_STATUS uint8_t
-
339  #define RADIOLIB_INTERRUPT_STATUS RADIOLIB_PIN_STATUS
-
340  #define RADIOLIB_DIGITAL_PIN_TO_INTERRUPT(p) digitalPinToInterrupt(p)
-
341  #define RADIOLIB_NC (0xFF)
-
342  #define RADIOLIB_DEFAULT_SPI SPI
-
343  #define RADIOLIB_PROGMEM PROGMEM
-
344  #define RADIOLIB_PROGMEM_READ_BYTE(addr) pgm_read_byte(addr)
-
345 
-
346  #endif
-
347 #endif
-
348 
-
349 /*
-
350  * Uncomment to enable debug output.
-
351  * Warning: Debug output will slow down the whole system significantly.
-
352  * Also, it will result in larger compiled binary.
-
353  * Levels: debug - only main info
-
354  * verbose - full transcript of all SPI/UART communication
-
355  */
-
356 
-
357 //#define RADIOLIB_DEBUG
-
358 //#define RADIOLIB_VERBOSE
-
359 
-
360 // set which Serial port should be used for debug output
-
361 #define RADIOLIB_DEBUG_PORT Serial
-
362 
-
363 #if defined(RADIOLIB_DEBUG)
-
364  #define RADIOLIB_DEBUG_PRINT(...) { RADIOLIB_DEBUG_PORT.print(__VA_ARGS__); }
-
365  #define RADIOLIB_DEBUG_PRINTLN(...) { RADIOLIB_DEBUG_PORT.println(__VA_ARGS__); }
-
366 #else
-
367  #define RADIOLIB_DEBUG_PRINT(...) {}
-
368  #define RADIOLIB_DEBUG_PRINTLN(...) {}
-
369 #endif
-
370 
-
371 #if defined(RADIOLIB_VERBOSE)
-
372  #define RADIOLIB_VERBOSE_PRINT(...) { RADIOLIB_DEBUG_PORT.print(__VA_ARGS__); }
-
373  #define RADIOLIB_VERBOSE_PRINTLN(...) { RADIOLIB_DEBUG_PORT.println(__VA_ARGS__); }
-
374 #else
-
375  #define RADIOLIB_VERBOSE_PRINT(...) {}
-
376  #define RADIOLIB_VERBOSE_PRINTLN(...) {}
-
377 #endif
-
378 
-
379 /*
-
380  * Uncomment to enable "paranoid" SPI mode
-
381  * Every write to an SPI register using SPI set function will be verified by a subsequent read operation.
-
382  * This improves reliablility, but slightly slows down communication.
-
383  * Note: Enabled by default.
-
384  */
-
385 #define RADIOLIB_SPI_PARANOID
-
386 
-
387 /*
-
388  * Uncomment to enable parameter range checking
-
389  * RadioLib will check provided parameters (such as frequency) against limits determined by the device manufacturer.
-
390  * It is highly advised to keep this macro defined, removing it will allow invalid values to be set,
-
391  * possibly leading to bricked module and/or program crashing.
-
392  * Note: Enabled by default.
-
393  */
-
394 #define RADIOLIB_CHECK_PARAMS
-
395 
-
396 /*
-
397  * Uncomment to enable god mode - all methods and member variables in all classes will be made public, thus making them accessible from Arduino code.
-
398  * Warning: Come on, it's called GOD mode - obviously only use this if you know what you're doing.
-
399  * Failure to heed the above warning may result in bricked module.
-
400  */
-
401 //#define RADIOLIB_GODMODE
-
402 
-
403 /*
-
404  * Uncomment to enable low-level hardware access
-
405  * This will make some hardware methods like SPI get/set accessible from the user sketch - think of it as "god mode lite"
-
406  * Warning: RadioLib won't stop you from writing invalid stuff into your device, so it's quite easy to brick your module with this.
-
407  */
-
408 //#define RADIOLIB_LOW_LEVEL
-
409 
-
410 /*
-
411  * Uncomment to enable pre-defined modules when using RadioShield.
-
412  */
-
413 //#define RADIOLIB_RADIOSHIELD
-
414 
-
415 /*
-
416  * Uncomment to enable static-only memory management: no dynamic allocation will be performed.
-
417  * Warning: Large static arrays will be created in some methods. It is not advised to send large packets in this mode.
-
418  */
-
419 //#define RADIOLIB_STATIC_ONLY
-
420 
-
421 // set the size of static arrays to use
-
422 #if !defined(RADIOLIB_STATIC_ARRAY_SIZE)
-
423 #define RADIOLIB_STATIC_ARRAY_SIZE 256
-
424 #endif
-
425 
-
429 #define RADIOLIB_ASSERT(STATEVAR) { if((STATEVAR) != ERR_NONE) { return(STATEVAR); } }
-
430 
-
434 #if defined(RADIOLIB_CHECK_PARAMS)
-
435 #define RADIOLIB_CHECK_RANGE(VAR, MIN, MAX, ERR) { if(!(((VAR) >= (MIN)) && ((VAR) <= (MAX)))) { return(ERR); } }
-
436 #else
-
437 #define RADIOLIB_CHECK_RANGE(VAR, MIN, MAX, ERR) {}
-
438 #endif
-
439 
-
440 // version definitions
-
441 #define RADIOLIB_VERSION_MAJOR (0x04)
-
442 #define RADIOLIB_VERSION_MINOR (0x04)
-
443 #define RADIOLIB_VERSION_PATCH (0x01)
-
444 #define RADIOLIB_VERSION_EXTRA (0x00)
-
445 
-
446 #define RADIOLIB_VERSION ((RADIOLIB_VERSION_MAJOR << 24) | (RADIOLIB_VERSION_MINOR << 16) | (RADIOLIB_VERSION_PATCH << 8) | (RADIOLIB_VERSION_EXTRA))
-
447 
-
448 #endif
+
121  #define RADIOLIB_EXCLUDE_HTTP
+
122 
+
123  #elif defined(ESP32)
+
124  // ESP32 boards
+
125  #define RADIOLIB_PLATFORM "ESP32"
+
126  #define RADIOLIB_PIN_TYPE uint8_t
+
127  #define RADIOLIB_PIN_MODE uint8_t
+
128  #define RADIOLIB_PIN_STATUS uint8_t
+
129  #define RADIOLIB_INTERRUPT_STATUS RADIOLIB_PIN_STATUS
+
130  #define RADIOLIB_DIGITAL_PIN_TO_INTERRUPT(p) digitalPinToInterrupt(p)
+
131  #define RADIOLIB_NC (0xFF)
+
132  #define RADIOLIB_DEFAULT_SPI SPI
+
133  #define RADIOLIB_PROGMEM PROGMEM
+
134  #define RADIOLIB_PROGMEM_READ_BYTE(addr) pgm_read_byte(addr)
+
135  #define RADIOLIB_SOFTWARE_SERIAL_UNSUPPORTED
+
136  #define RADIOLIB_HARDWARE_SERIAL_PORT Serial1
+
137 
+
138  // ESP32 doesn't support tone(), but it can be emulated via LED control peripheral
+
139  #define RADIOLIB_TONE_UNSUPPORTED
+
140  #define RADIOLIB_TONE_ESP32_CHANNEL (1)
+
141 
+
142  #elif defined(ARDUINO_ARCH_STM32)
+
143  // official STM32 Arduino core (https://github.com/stm32duino/Arduino_Core_STM32)
+
144  #define RADIOLIB_PLATFORM "Arduino STM32 (official)"
+
145  #define RADIOLIB_PIN_TYPE uint32_t
+
146  #define RADIOLIB_PIN_MODE uint32_t
+
147  #define RADIOLIB_PIN_STATUS uint32_t
+
148  #define RADIOLIB_INTERRUPT_STATUS RADIOLIB_PIN_STATUS
+
149  #define RADIOLIB_DIGITAL_PIN_TO_INTERRUPT(p) digitalPinToInterrupt(p)
+
150  #define RADIOLIB_NC (0xFFFFFFFF)
+
151  #define RADIOLIB_DEFAULT_SPI SPI
+
152  #define RADIOLIB_PROGMEM PROGMEM
+
153  #define RADIOLIB_PROGMEM_READ_BYTE(addr) pgm_read_byte(addr)
+
154  #define RADIOLIB_SOFTWARE_SERIAL_UNSUPPORTED
+
155  #define RADIOLIB_HARDWARE_SERIAL_PORT Serial1
+
156 
+
157  // slow down SX126x/8x SPI on this platform
+
158  #define RADIOLIB_SPI_SLOWDOWN
+
159 
+
160  #elif defined(SAMD_SERIES)
+
161  // Adafruit SAMD boards (M0 and M4)
+
162  #define RADIOLIB_PLATFORM "Adafruit SAMD"
+
163  #define RADIOLIB_PIN_TYPE uint32_t
+
164  #define RADIOLIB_PIN_MODE uint32_t
+
165  #define RADIOLIB_PIN_STATUS uint32_t
+
166  #define RADIOLIB_INTERRUPT_STATUS RADIOLIB_PIN_STATUS
+
167  #define RADIOLIB_DIGITAL_PIN_TO_INTERRUPT(p) digitalPinToInterrupt(p)
+
168  #define RADIOLIB_NC (0xFFFFFFFF)
+
169  #define RADIOLIB_DEFAULT_SPI SPI
+
170  #define RADIOLIB_PROGMEM PROGMEM
+
171  #define RADIOLIB_PROGMEM_READ_BYTE(addr) pgm_read_byte(addr)
+
172  #define RADIOLIB_SOFTWARE_SERIAL_UNSUPPORTED
+
173  #define RADIOLIB_HARDWARE_SERIAL_PORT Serial1
+
174 
+
175  // slow down SX126x/8x SPI on this platform
+
176  #define RADIOLIB_SPI_SLOWDOWN
+
177 
+
178  #elif defined(ARDUINO_ARCH_SAMD)
+
179  // Arduino SAMD (Zero, MKR, etc.)
+
180  #define RADIOLIB_PLATFORM "Arduino SAMD"
+
181  #define RADIOLIB_PIN_TYPE pin_size_t
+
182  #define RADIOLIB_PIN_MODE PinMode
+
183  #define RADIOLIB_PIN_STATUS PinStatus
+
184  #define RADIOLIB_INTERRUPT_STATUS RADIOLIB_PIN_STATUS
+
185  #define RADIOLIB_DIGITAL_PIN_TO_INTERRUPT(p) digitalPinToInterrupt(p)
+
186  #define RADIOLIB_NC (0xFF)
+
187  #define RADIOLIB_DEFAULT_SPI SPI
+
188  #define RADIOLIB_PROGMEM PROGMEM
+
189  #define RADIOLIB_PROGMEM_READ_BYTE(addr) pgm_read_byte(addr)
+
190  #define RADIOLIB_SOFTWARE_SERIAL_UNSUPPORTED
+
191  #define RADIOLIB_HARDWARE_SERIAL_PORT Serial1
+
192 
+
193  #elif defined(__SAM3X8E__)
+
194  // Arduino Due
+
195  #define RADIOLIB_PLATFORM "Arduino Due"
+
196  #define RADIOLIB_PIN_TYPE uint32_t
+
197  #define RADIOLIB_PIN_MODE uint32_t
+
198  #define RADIOLIB_PIN_STATUS uint32_t
+
199  #define RADIOLIB_INTERRUPT_STATUS RADIOLIB_PIN_STATUS
+
200  #define RADIOLIB_DIGITAL_PIN_TO_INTERRUPT(p) digitalPinToInterrupt(p)
+
201  #define RADIOLIB_NC (0xFFFFFFFF)
+
202  #define RADIOLIB_DEFAULT_SPI SPI
+
203  #define RADIOLIB_PROGMEM PROGMEM
+
204  #define RADIOLIB_PROGMEM_READ_BYTE(addr) pgm_read_byte(addr)
+
205  #define RADIOLIB_SOFTWARE_SERIAL_UNSUPPORTED
+
206  #define RADIOLIB_HARDWARE_SERIAL_PORT Serial1
+
207  #define RADIOLIB_TONE_UNSUPPORTED
+
208 
+
209  #elif (defined(NRF52832_XXAA) || defined(NRF52840_XXAA)) && !defined(ARDUINO_ARDUINO_NANO33BLE)
+
210  // Adafruit nRF52 boards
+
211  #define RADIOLIB_PLATFORM "Adafruit nRF52"
+
212  #define RADIOLIB_PIN_TYPE uint32_t
+
213  #define RADIOLIB_PIN_MODE uint32_t
+
214  #define RADIOLIB_PIN_STATUS uint32_t
+
215  #define RADIOLIB_INTERRUPT_STATUS RADIOLIB_PIN_STATUS
+
216  #define RADIOLIB_DIGITAL_PIN_TO_INTERRUPT(p) digitalPinToInterrupt(p)
+
217  #define RADIOLIB_NC (0xFFFFFFFF)
+
218  #define RADIOLIB_DEFAULT_SPI SPI
+
219  #define RADIOLIB_PROGMEM PROGMEM
+
220  #define RADIOLIB_PROGMEM_READ_BYTE(addr) pgm_read_byte(addr)
+
221 
+
222  #elif defined(ARDUINO_ARC32_TOOLS)
+
223  // Intel Curie
+
224  #define RADIOLIB_PLATFORM "Intel Curie"
+
225  #define RADIOLIB_PIN_TYPE uint8_t
+
226  #define RADIOLIB_PIN_MODE uint8_t
+
227  #define RADIOLIB_PIN_STATUS uint8_t
+
228  #define RADIOLIB_INTERRUPT_STATUS RADIOLIB_PIN_STATUS
+
229  #define RADIOLIB_DIGITAL_PIN_TO_INTERRUPT(p) digitalPinToInterrupt(p)
+
230  #define RADIOLIB_NC (0xFF)
+
231  #define RADIOLIB_DEFAULT_SPI SPI
+
232  #define RADIOLIB_PROGMEM PROGMEM
+
233  #define RADIOLIB_PROGMEM_READ_BYTE(addr) pgm_read_byte(addr)
+
234 
+
235  #elif defined(ARDUINO_AVR_UNO_WIFI_REV2) || defined(ARDUINO_AVR_NANO_EVERY)
+
236  // Arduino megaAVR boards - Uno Wifi Rev.2, Nano Every
+
237  #define RADIOLIB_PLATFORM "Arduino megaAVR"
+
238  #define RADIOLIB_PIN_TYPE uint8_t
+
239  #define RADIOLIB_PIN_MODE PinMode
+
240  #define RADIOLIB_PIN_STATUS PinStatus
+
241  #define RADIOLIB_INTERRUPT_STATUS RADIOLIB_PIN_STATUS
+
242  #define RADIOLIB_DIGITAL_PIN_TO_INTERRUPT(p) digitalPinToInterrupt(p)
+
243  #define RADIOLIB_NC (0xFF)
+
244  #define RADIOLIB_DEFAULT_SPI SPI
+
245  #define RADIOLIB_PROGMEM PROGMEM
+
246  #define RADIOLIB_PROGMEM_READ_BYTE(addr) pgm_read_byte(addr)
+
247 
+
248  #elif defined(ARDUINO_ARCH_APOLLO3)
+
249  // Sparkfun Apollo3 boards
+
250  #define RADIOLIB_PLATFORM "Sparkfun Apollo3"
+
251  #define RADIOLIB_PIN_TYPE pin_size_t
+
252  #define RADIOLIB_PIN_MODE Arduino_PinMode
+
253  #define RADIOLIB_PIN_STATUS PinStatus
+
254  #define RADIOLIB_INTERRUPT_STATUS RADIOLIB_PIN_STATUS
+
255  #define RADIOLIB_DIGITAL_PIN_TO_INTERRUPT(p) digitalPinToInterrupt(p)
+
256  #define RADIOLIB_NC (0xFF)
+
257  #define RADIOLIB_DEFAULT_SPI SPI
+
258  #define RADIOLIB_PROGMEM PROGMEM
+
259  #define RADIOLIB_PROGMEM_READ_BYTE(addr) pgm_read_byte(addr)
+
260  #define RADIOLIB_SOFTWARE_SERIAL_UNSUPPORTED
+
261  #define RADIOLIB_HARDWARE_SERIAL_PORT Serial1
+
262 
+
263  // Apollo3 uses mbed libraries, which already contain ESP8266 driver
+
264  #define RADIOLIB_EXCLUDE_ESP8266
+
265 
+
266  // slow down SX126x/8x SPI on this platform
+
267  #define RADIOLIB_SPI_SLOWDOWN
+
268 
+
269  #elif defined(ARDUINO_ARDUINO_NANO33BLE)
+
270  // Arduino Nano 33 BLE
+
271  #define RADIOLIB_PLATFORM "Arduino Nano 33 BLE"
+
272  #define RADIOLIB_PIN_TYPE pin_size_t
+
273  #define RADIOLIB_PIN_MODE PinMode
+
274  #define RADIOLIB_PIN_STATUS PinStatus
+
275  #define RADIOLIB_INTERRUPT_STATUS RADIOLIB_PIN_STATUS
+
276  #define RADIOLIB_DIGITAL_PIN_TO_INTERRUPT(p) digitalPinToInterrupt(p)
+
277  #define RADIOLIB_NC (0xFF)
+
278  #define RADIOLIB_DEFAULT_SPI SPI
+
279  #define RADIOLIB_PROGMEM PROGMEM
+
280  #define RADIOLIB_PROGMEM_READ_BYTE(addr) pgm_read_byte(addr)
+
281  #define RADIOLIB_SOFTWARE_SERIAL_UNSUPPORTED
+
282  #define RADIOLIB_HARDWARE_SERIAL_PORT Serial1
+
283 
+
284  // Nano 33 BLE uses mbed libraries, which already contain ESP8266 driver
+
285  #define RADIOLIB_EXCLUDE_ESP8266
+
286 
+
287  #elif defined(ARDUINO_PORTENTA_H7_M7) || defined(ARDUINO_PORTENTA_H7_M4)
+
288  // Arduino Portenta H7
+
289  #define RADIOLIB_PLATFORM "Portenta H7"
+
290  #define RADIOLIB_PIN_TYPE pin_size_t
+
291  #define RADIOLIB_PIN_MODE PinMode
+
292  #define RADIOLIB_PIN_STATUS PinStatus
+
293  #define RADIOLIB_INTERRUPT_STATUS RADIOLIB_PIN_STATUS
+
294  #define RADIOLIB_DIGITAL_PIN_TO_INTERRUPT(p) digitalPinToInterrupt(p)
+
295  #define RADIOLIB_NC (0xFF)
+
296  #define RADIOLIB_DEFAULT_SPI SPI
+
297  #define RADIOLIB_PROGMEM PROGMEM
+
298  #define RADIOLIB_PROGMEM_READ_BYTE(addr) pgm_read_byte(addr)
+
299  #define RADIOLIB_SOFTWARE_SERIAL_UNSUPPORTED
+
300  #define RADIOLIB_HARDWARE_SERIAL_PORT Serial1
+
301 
+
302  // Arduino Portenta H7 uses mbed libraries, which already contain ESP8266 driver
+
303  #define RADIOLIB_EXCLUDE_ESP8266
+
304 
+
305  #elif defined(__STM32F4__) || defined(__STM32F1__)
+
306  // Arduino STM32 core by Roger Clark (https://github.com/rogerclarkmelbourne/Arduino_STM32)
+
307  #define RADIOLIB_PLATFORM "STM32duino (unofficial)"
+
308  #define RADIOLIB_PIN_TYPE uint8_t
+
309  #define RADIOLIB_PIN_MODE WiringPinMode
+
310  #define RADIOLIB_PIN_STATUS uint8_t
+
311  #define RADIOLIB_INTERRUPT_STATUS ExtIntTriggerMode
+
312  #define RADIOLIB_DIGITAL_PIN_TO_INTERRUPT(p) digitalPinToInterrupt(p)
+
313  #define RADIOLIB_NC (0xFF)
+
314  #define RADIOLIB_DEFAULT_SPI SPI
+
315  #define RADIOLIB_PROGMEM PROGMEM
+
316  #define RADIOLIB_PROGMEM_READ_BYTE(addr) pgm_read_byte(addr)
+
317  #define RADIOLIB_SOFTWARE_SERIAL_UNSUPPORTED
+
318  #define RADIOLIB_HARDWARE_SERIAL_PORT Serial1
+
319 
+
320  #elif defined(ARDUINO_ARCH_MEGAAVR)
+
321  // MegaCoreX by MCUdude (https://github.com/MCUdude/MegaCoreX)
+
322  #define RADIOLIB_PLATFORM "MegaCoreX"
+
323  #define RADIOLIB_PIN_TYPE uint8_t
+
324  #define RADIOLIB_PIN_MODE uint8_t
+
325  #define RADIOLIB_PIN_STATUS uint8_t
+
326  #define RADIOLIB_INTERRUPT_STATUS RADIOLIB_PIN_STATUS
+
327  #define RADIOLIB_DIGITAL_PIN_TO_INTERRUPT(p) digitalPinToInterrupt(p)
+
328  #define RADIOLIB_NC (0xFF)
+
329  #define RADIOLIB_DEFAULT_SPI SPI
+
330  #define RADIOLIB_PROGMEM PROGMEM
+
331  #define RADIOLIB_PROGMEM_READ_BYTE(addr) pgm_read_byte(addr)
+
332 
+
333  #else
+
334  // other platforms not covered by the above list - this may or may not work
+
335  #define RADIOLIB_PLATFORM "Unknown"
+
336  #define RADIOLIB_UNKNOWN_PLATFORM
+
337  #define RADIOLIB_PIN_TYPE uint8_t
+
338  #define RADIOLIB_PIN_MODE uint8_t
+
339  #define RADIOLIB_PIN_STATUS uint8_t
+
340  #define RADIOLIB_INTERRUPT_STATUS RADIOLIB_PIN_STATUS
+
341  #define RADIOLIB_DIGITAL_PIN_TO_INTERRUPT(p) digitalPinToInterrupt(p)
+
342  #define RADIOLIB_NC (0xFF)
+
343  #define RADIOLIB_DEFAULT_SPI SPI
+
344  #define RADIOLIB_PROGMEM PROGMEM
+
345  #define RADIOLIB_PROGMEM_READ_BYTE(addr) pgm_read_byte(addr)
+
346 
+
347  #endif
+
348 #endif
+
349 
+
350 /*
+
351  * Uncomment to enable debug output.
+
352  * Warning: Debug output will slow down the whole system significantly.
+
353  * Also, it will result in larger compiled binary.
+
354  * Levels: debug - only main info
+
355  * verbose - full transcript of all SPI/UART communication
+
356  */
+
357 
+
358 //#define RADIOLIB_DEBUG
+
359 //#define RADIOLIB_VERBOSE
+
360 
+
361 // set which Serial port should be used for debug output
+
362 #define RADIOLIB_DEBUG_PORT Serial
+
363 
+
364 #if defined(RADIOLIB_DEBUG)
+
365  #define RADIOLIB_DEBUG_PRINT(...) { RADIOLIB_DEBUG_PORT.print(__VA_ARGS__); }
+
366  #define RADIOLIB_DEBUG_PRINTLN(...) { RADIOLIB_DEBUG_PORT.println(__VA_ARGS__); }
+
367 #else
+
368  #define RADIOLIB_DEBUG_PRINT(...) {}
+
369  #define RADIOLIB_DEBUG_PRINTLN(...) {}
+
370 #endif
+
371 
+
372 #if defined(RADIOLIB_VERBOSE)
+
373  #define RADIOLIB_VERBOSE_PRINT(...) { RADIOLIB_DEBUG_PORT.print(__VA_ARGS__); }
+
374  #define RADIOLIB_VERBOSE_PRINTLN(...) { RADIOLIB_DEBUG_PORT.println(__VA_ARGS__); }
+
375 #else
+
376  #define RADIOLIB_VERBOSE_PRINT(...) {}
+
377  #define RADIOLIB_VERBOSE_PRINTLN(...) {}
+
378 #endif
+
379 
+
380 /*
+
381  * Uncomment to enable "paranoid" SPI mode
+
382  * Every write to an SPI register using SPI set function will be verified by a subsequent read operation.
+
383  * This improves reliablility, but slightly slows down communication.
+
384  * Note: Enabled by default.
+
385  */
+
386 #define RADIOLIB_SPI_PARANOID
+
387 
+
388 /*
+
389  * Uncomment to enable parameter range checking
+
390  * RadioLib will check provided parameters (such as frequency) against limits determined by the device manufacturer.
+
391  * It is highly advised to keep this macro defined, removing it will allow invalid values to be set,
+
392  * possibly leading to bricked module and/or program crashing.
+
393  * Note: Enabled by default.
+
394  */
+
395 #define RADIOLIB_CHECK_PARAMS
+
396 
+
397 /*
+
398  * Uncomment to enable god mode - all methods and member variables in all classes will be made public, thus making them accessible from Arduino code.
+
399  * Warning: Come on, it's called GOD mode - obviously only use this if you know what you're doing.
+
400  * Failure to heed the above warning may result in bricked module.
+
401  */
+
402 //#define RADIOLIB_GODMODE
+
403 
+
404 /*
+
405  * Uncomment to enable low-level hardware access
+
406  * This will make some hardware methods like SPI get/set accessible from the user sketch - think of it as "god mode lite"
+
407  * Warning: RadioLib won't stop you from writing invalid stuff into your device, so it's quite easy to brick your module with this.
+
408  */
+
409 //#define RADIOLIB_LOW_LEVEL
+
410 
+
411 /*
+
412  * Uncomment to enable pre-defined modules when using RadioShield.
+
413  */
+
414 //#define RADIOLIB_RADIOSHIELD
+
415 
+
416 /*
+
417  * Uncomment to enable static-only memory management: no dynamic allocation will be performed.
+
418  * Warning: Large static arrays will be created in some methods. It is not advised to send large packets in this mode.
+
419  */
+
420 //#define RADIOLIB_STATIC_ONLY
+
421 
+
422 // set the size of static arrays to use
+
423 #if !defined(RADIOLIB_STATIC_ARRAY_SIZE)
+
424 #define RADIOLIB_STATIC_ARRAY_SIZE 256
+
425 #endif
+
426 
+
430 #define RADIOLIB_ASSERT(STATEVAR) { if((STATEVAR) != ERR_NONE) { return(STATEVAR); } }
+
431 
+
435 #if defined(RADIOLIB_CHECK_PARAMS)
+
436 #define RADIOLIB_CHECK_RANGE(VAR, MIN, MAX, ERR) { if(!(((VAR) >= (MIN)) && ((VAR) <= (MAX)))) { return(ERR); } }
+
437 #else
+
438 #define RADIOLIB_CHECK_RANGE(VAR, MIN, MAX, ERR) {}
+
439 #endif
+
440 
+
441 // version definitions
+
442 #define RADIOLIB_VERSION_MAJOR (0x04)
+
443 #define RADIOLIB_VERSION_MINOR (0x04)
+
444 #define RADIOLIB_VERSION_PATCH (0x01)
+
445 #define RADIOLIB_VERSION_EXTRA (0x00)
+
446 
+
447 #define RADIOLIB_VERSION ((RADIOLIB_VERSION_MAJOR << 24) | (RADIOLIB_VERSION_MINOR << 16) | (RADIOLIB_VERSION_PATCH << 8) | (RADIOLIB_VERSION_EXTRA))
+
448 
+
449 #endif