diff --git a/_build_opt_8h_source.html b/_build_opt_8h_source.html
index 1c61abf2..d99d0ecc 100644
--- a/_build_opt_8h_source.html
+++ b/_build_opt_8h_source.html
@@ -340,337 +340,340 @@ $(document).ready(function(){initNavTree('_build_opt_8h_source.html',''); initRe
252 #elif defined(ARDUINO_AVR_UNO_WIFI_REV2) || defined(ARDUINO_AVR_NANO_EVERY) || defined(PORTDUINO)
254 #define RADIOLIB_PLATFORM "Arduino megaAVR"
-
- 256 #elif defined(ARDUINO_ARCH_APOLLO3)
-
- 258 #define RADIOLIB_PLATFORM "Sparkfun Apollo3"
- 259 #define RADIOLIB_ARDUINOHAL_PIN_MODE_CAST (Arduino_PinMode)
- 260 #define RADIOLIB_ARDUINOHAL_PIN_STATUS_CAST (PinStatus)
- 261 #define RADIOLIB_ARDUINOHAL_INTERRUPT_MODE_CAST (PinStatus)
-
- 263 #elif defined(ARDUINO_ARDUINO_NANO33BLE)
-
- 265 #define RADIOLIB_PLATFORM "Arduino Nano 33 BLE"
- 266 #define RADIOLIB_ARDUINOHAL_PIN_MODE_CAST (PinMode)
- 267 #define RADIOLIB_ARDUINOHAL_PIN_STATUS_CAST (PinStatus)
- 268 #define RADIOLIB_ARDUINOHAL_INTERRUPT_MODE_CAST (PinStatus)
-
-
- 271 #define RADIOLIB_TONE_UNSUPPORTED
- 272 #define RADIOLIB_MBED_TONE_OVERRIDE
-
- 274 #elif defined(ARDUINO_PORTENTA_H7_M7) || defined(ARDUINO_PORTENTA_H7_M4)
-
- 276 #define RADIOLIB_PLATFORM "Portenta H7"
- 277 #define RADIOLIB_ARDUINOHAL_PIN_MODE_CAST (PinMode)
- 278 #define RADIOLIB_ARDUINOHAL_PIN_STATUS_CAST (PinStatus)
- 279 #define RADIOLIB_ARDUINOHAL_INTERRUPT_MODE_CAST (PinStatus)
-
-
- 282 #define RADIOLIB_TONE_UNSUPPORTED
- 283 #define RADIOLIB_MBED_TONE_OVERRIDE
-
- 285 #elif defined(__STM32F4__) || defined(__STM32F1__)
-
- 287 #define RADIOLIB_PLATFORM "STM32duino (unofficial)"
- 288 #define RADIOLIB_ARDUINOHAL_PIN_MODE_CAST (WiringPinMode)
- 289 #define RADIOLIB_ARDUINOHAL_INTERRUPT_MODE_CAST (ExtIntTriggerMode)
-
- 291 #elif defined(ARDUINO_ARCH_MEGAAVR)
-
- 293 #define RADIOLIB_PLATFORM "MegaCoreX"
-
- 295 #elif defined(ARDUINO_ARCH_MBED_RP2040)
-
- 297 #define RADIOLIB_PLATFORM "Raspberry Pi Pico"
- 298 #define RADIOLIB_ARDUINOHAL_PIN_MODE_CAST (PinMode)
- 299 #define RADIOLIB_ARDUINOHAL_PIN_STATUS_CAST (PinStatus)
- 300 #define RADIOLIB_ARDUINOHAL_INTERRUPT_MODE_CAST (PinStatus)
-
-
- 303 #define RADIOLIB_TONE_UNSUPPORTED
- 304 #define RADIOLIB_MBED_TONE_OVERRIDE
-
- 306 #elif defined(ARDUINO_ARCH_RP2040)
-
- 308 #define RADIOLIB_PLATFORM "Raspberry Pi Pico (unofficial)"
- 309 #define RADIOLIB_ARDUINOHAL_PIN_MODE_CAST (PinMode)
- 310 #define RADIOLIB_ARDUINOHAL_PIN_STATUS_CAST (PinStatus)
- 311 #define RADIOLIB_ARDUINOHAL_INTERRUPT_MODE_CAST (PinStatus)
-
- 313 #elif defined(__ASR6501__) || defined(ARDUINO_ARCH_ASR650X) || defined(DARDUINO_ARCH_ASR6601)
-
- 315 #define RADIOLIB_PLATFORM "CubeCell"
- 316 #define RADIOLIB_DEFAULT_SPI_SETTINGS SPISettings(1000000, MSBFIRST, SPI_MODE0)
- 317 #define RADIOLIB_ARDUINOHAL_PIN_MODE_CAST (PINMODE)
- 318 #define RADIOLIB_ARDUINOHAL_INTERRUPT_MODE_CAST (IrqModes)
-
-
- 321 #include "board-config.h"
- 322 #define RADIOLIB_BUILTIN_MODULE RADIO_NSS, RADIO_DIO_1, RADIO_RESET, RADIO_BUSY
-
-
-
+ 255 #define RADIOLIB_ARDUINOHAL_PIN_MODE_CAST (PinMode)
+ 256 #define RADIOLIB_ARDUINOHAL_PIN_STATUS_CAST (PinStatus)
+ 257 #define RADIOLIB_ARDUINOHAL_INTERRUPT_MODE_CAST (PinStatus)
+
+ 259 #elif defined(ARDUINO_ARCH_APOLLO3)
+
+ 261 #define RADIOLIB_PLATFORM "Sparkfun Apollo3"
+ 262 #define RADIOLIB_ARDUINOHAL_PIN_MODE_CAST (Arduino_PinMode)
+ 263 #define RADIOLIB_ARDUINOHAL_PIN_STATUS_CAST (PinStatus)
+ 264 #define RADIOLIB_ARDUINOHAL_INTERRUPT_MODE_CAST (PinStatus)
+
+ 266 #elif defined(ARDUINO_ARDUINO_NANO33BLE)
+
+ 268 #define RADIOLIB_PLATFORM "Arduino Nano 33 BLE"
+ 269 #define RADIOLIB_ARDUINOHAL_PIN_MODE_CAST (PinMode)
+ 270 #define RADIOLIB_ARDUINOHAL_PIN_STATUS_CAST (PinStatus)
+ 271 #define RADIOLIB_ARDUINOHAL_INTERRUPT_MODE_CAST (PinStatus)
+
+
+ 274 #define RADIOLIB_TONE_UNSUPPORTED
+ 275 #define RADIOLIB_MBED_TONE_OVERRIDE
+
+ 277 #elif defined(ARDUINO_PORTENTA_H7_M7) || defined(ARDUINO_PORTENTA_H7_M4)
+
+ 279 #define RADIOLIB_PLATFORM "Portenta H7"
+ 280 #define RADIOLIB_ARDUINOHAL_PIN_MODE_CAST (PinMode)
+ 281 #define RADIOLIB_ARDUINOHAL_PIN_STATUS_CAST (PinStatus)
+ 282 #define RADIOLIB_ARDUINOHAL_INTERRUPT_MODE_CAST (PinStatus)
+
+
+ 285 #define RADIOLIB_TONE_UNSUPPORTED
+ 286 #define RADIOLIB_MBED_TONE_OVERRIDE
+
+ 288 #elif defined(__STM32F4__) || defined(__STM32F1__)
+
+ 290 #define RADIOLIB_PLATFORM "STM32duino (unofficial)"
+ 291 #define RADIOLIB_ARDUINOHAL_PIN_MODE_CAST (WiringPinMode)
+ 292 #define RADIOLIB_ARDUINOHAL_INTERRUPT_MODE_CAST (ExtIntTriggerMode)
+
+ 294 #elif defined(ARDUINO_ARCH_MEGAAVR)
+
+ 296 #define RADIOLIB_PLATFORM "MegaCoreX"
+
+ 298 #elif defined(ARDUINO_ARCH_MBED_RP2040)
+
+ 300 #define RADIOLIB_PLATFORM "Raspberry Pi Pico"
+ 301 #define RADIOLIB_ARDUINOHAL_PIN_MODE_CAST (PinMode)
+ 302 #define RADIOLIB_ARDUINOHAL_PIN_STATUS_CAST (PinStatus)
+ 303 #define RADIOLIB_ARDUINOHAL_INTERRUPT_MODE_CAST (PinStatus)
+
+
+ 306 #define RADIOLIB_TONE_UNSUPPORTED
+ 307 #define RADIOLIB_MBED_TONE_OVERRIDE
+
+ 309 #elif defined(ARDUINO_ARCH_RP2040)
+
+ 311 #define RADIOLIB_PLATFORM "Raspberry Pi Pico (unofficial)"
+ 312 #define RADIOLIB_ARDUINOHAL_PIN_MODE_CAST (PinMode)
+ 313 #define RADIOLIB_ARDUINOHAL_PIN_STATUS_CAST (PinStatus)
+ 314 #define RADIOLIB_ARDUINOHAL_INTERRUPT_MODE_CAST (PinStatus)
+
+ 316 #elif defined(__ASR6501__) || defined(ARDUINO_ARCH_ASR650X) || defined(DARDUINO_ARCH_ASR6601)
+
+ 318 #define RADIOLIB_PLATFORM "CubeCell"
+ 319 #define RADIOLIB_DEFAULT_SPI_SETTINGS SPISettings(1000000, MSBFIRST, SPI_MODE0)
+ 320 #define RADIOLIB_ARDUINOHAL_PIN_MODE_CAST (PINMODE)
+ 321 #define RADIOLIB_ARDUINOHAL_INTERRUPT_MODE_CAST (IrqModes)
+
+
+ 324 #include "board-config.h"
+ 325 #define RADIOLIB_BUILTIN_MODULE RADIO_NSS, RADIO_DIO_1, RADIO_RESET, RADIO_BUSY
-
-
+
+
-
- 331 #define RADIOLIB_TYPE_ALIAS(type, alias) typedef class type alias;
+
+
-
- 334 #define RADIOLIB_TONE_UNSUPPORTED
+
+ 334 #define RADIOLIB_TYPE_ALIAS(type, alias) typedef class type alias;
-
- 337 #define RADIOLIB_YIELD_UNSUPPORTED
-
-
-
-
-
-
- 344 #define RADIOLIB_PLATFORM "RasPiArduino"
-
-
- 347 #define RADIOLIB_TONE_UNSUPPORTED
+
+ 337 #define RADIOLIB_TONE_UNSUPPORTED
+
+
+ 340 #define RADIOLIB_YIELD_UNSUPPORTED
+
+
+
+
+
+
+ 347 #define RADIOLIB_PLATFORM "RasPiArduino"
-
- 350 #define RADIOLIB_YIELD_UNSUPPORTED
+
+ 350 #define RADIOLIB_TONE_UNSUPPORTED
-
- 353 #define PGM_P const char *
+
+ 353 #define RADIOLIB_YIELD_UNSUPPORTED
-
-
-
-
-
-
-
-
-
-
-
- 366 #elif defined(TEENSYDUINO)
-
- 368 #define RADIOLIB_PLATFORM "Teensy"
-
- 370 #elif defined(ARDUINO_ARCH_RENESAS)
-
- 372 #define RADIOLIB_PLATFORM "Arduino Renesas (UNO R4)"
- 373 #define RADIOLIB_ARDUINOHAL_PIN_MODE_CAST (PinMode)
- 374 #define RADIOLIB_ARDUINOHAL_PIN_STATUS_CAST (PinStatus)
- 375 #define RADIOLIB_ARDUINOHAL_INTERRUPT_MODE_CAST (PinStatus)
-
-
-
- 379 #define RADIOLIB_PLATFORM "Unknown Arduino"
- 380 #define RADIOLIB_UNKNOWN_PLATFORM
-
-
-
-
-
- 386 #if !defined(RADIOLIB_NC)
- 387 #define RADIOLIB_NC (0xFFFFFFFF)
-
-
- 390 #if !defined(RADIOLIB_DEFAULT_SPI)
- 391 #define RADIOLIB_DEFAULT_SPI SPI
-
-
- 394 #if !defined(RADIOLIB_DEFAULT_SPI_SETTINGS)
- 395 #define RADIOLIB_DEFAULT_SPI_SETTINGS SPISettings(2000000, MSBFIRST, SPI_MODE0)
-
-
- 398 #if !defined(RADIOLIB_NONVOLATILE)
- 399 #define RADIOLIB_NONVOLATILE PROGMEM
-
-
- 402 #if !defined(RADIOLIB_NONVOLATILE_PTR)
- 403 #define RADIOLIB_NONVOLATILE_PTR PGM_P
-
-
- 406 #if !defined(RADIOLIB_NONVOLATILE_READ_BYTE)
- 407 #define RADIOLIB_NONVOLATILE_READ_BYTE(addr) pgm_read_byte(addr)
-
-
- 410 #if !defined(RADIOLIB_NONVOLATILE_READ_DWORD)
- 411 #define RADIOLIB_NONVOLATILE_READ_DWORD(addr) pgm_read_dword(addr)
-
-
- 414 #if !defined(RADIOLIB_TYPE_ALIAS)
- 415 #define RADIOLIB_TYPE_ALIAS(type, alias) using alias = type;
-
-
- 418 #if !defined(RADIOLIB_ARDUINOHAL_PIN_MODE_CAST)
- 419 #define RADIOLIB_ARDUINOHAL_PIN_MODE_CAST
-
-
- 422 #if !defined(RADIOLIB_ARDUINOHAL_PIN_STATUS_CAST)
- 423 #define RADIOLIB_ARDUINOHAL_PIN_STATUS_CAST
-
-
- 426 #if !defined(RADIOLIB_ARDUINOHAL_INTERRUPT_MODE_CAST)
- 427 #define RADIOLIB_ARDUINOHAL_INTERRUPT_MODE_CAST
-
-
-
-
- 432 #define RADIOLIB_PLATFORM "Generic"
-
- 434 #define RADIOLIB_NC (0xFF)
- 435 #define RADIOLIB_NONVOLATILE
- 436 #define RADIOLIB_NONVOLATILE_READ_BYTE(addr) (*((uint8_t *)(void *)(addr)))
- 437 #define RADIOLIB_NONVOLATILE_READ_DWORD(addr) (*((uint32_t *)(void *)(addr)))
- 438 #define RADIOLIB_TYPE_ALIAS(type, alias) using alias = type;
-
- 440 #if !defined(RADIOLIB_DEBUG_PORT)
- 441 #define RADIOLIB_DEBUG_PORT stdout
-
-
-
-
-
-
-
-
-
-
-
-
-
- 455 #if (!defined(ARDUINO_ARCH_STM32) || !defined(SUBGHZSPI_BASE)) && !defined(DOXYGEN)
- 456 #define RADIOLIB_EXCLUDE_STM32WLX (1)
-
-
-
- 460 #if RADIOLIB_VERBOSE_ASSERT
- 461 #define RADIOLIB_DEBUG (1)
-
-
-
- 465 #if RADIOLIB_DEBUG_BASIC || RADIOLIB_DEBUG_PROTOCOL || RADIOLIB_DEBUG_SPI
- 466 #define RADIOLIB_DEBUG (1)
-
- 468 #define RADIOLIB_DEBUG (0)
-
-
-
- 472 #if defined(RADIOLIB_BUILD_ARDUINO)
- 473 #define RADIOLIB_DEBUG_PRINT(...) Module::serialPrintf(__VA_ARGS__)
- 474 #define RADIOLIB_DEBUG_PRINTLN(M, ...) Module::serialPrintf(M "\n", ##__VA_ARGS__)
- 475 #define RADIOLIB_DEBUG_PRINT_LVL(LEVEL, M, ...) Module::serialPrintf(LEVEL "" M, ##__VA_ARGS__)
- 476 #define RADIOLIB_DEBUG_PRINTLN_LVL(LEVEL, M, ...) Module::serialPrintf(LEVEL "" M "\n", ##__VA_ARGS__)
-
-
- 479 #define RADIOLIB_DEBUG_PRINT_FLOAT(LEVEL, VAL, DECIMALS) RADIOLIB_DEBUG_PRINT(LEVEL); RADIOLIB_DEBUG_PORT.print(VAL, DECIMALS)
-
- 481 #if !defined(RADIOLIB_DEBUG_PRINT)
- 482 #define RADIOLIB_DEBUG_PRINT(...) fprintf(RADIOLIB_DEBUG_PORT, __VA_ARGS__)
- 483 #define RADIOLIB_DEBUG_PRINT_LVL(LEVEL, M, ...) fprintf(RADIOLIB_DEBUG_PORT, LEVEL "" M, ##__VA_ARGS__)
-
- 485 #if !defined(RADIOLIB_DEBUG_PRINTLN)
- 486 #define RADIOLIB_DEBUG_PRINTLN(M, ...) fprintf(RADIOLIB_DEBUG_PORT, M "\n", ##__VA_ARGS__)
- 487 #define RADIOLIB_DEBUG_PRINTLN_LVL(LEVEL, M, ...) fprintf(RADIOLIB_DEBUG_PORT, LEVEL "" M "\n", ##__VA_ARGS__)
-
- 489 #define RADIOLIB_DEBUG_PRINT_FLOAT(LEVEL, VAL, DECIMALS) RADIOLIB_DEBUG_PRINT(LEVEL "%.3f", VAL)
-
-
- 492 #define RADIOLIB_DEBUG_HEXDUMP(LEVEL, ...) Module::hexdump(LEVEL, __VA_ARGS__)
-
- 494 #define RADIOLIB_DEBUG_PRINT(...) {}
- 495 #define RADIOLIB_DEBUG_PRINTLN(...) {}
- 496 #define RADIOLIB_DEBUG_PRINT_FLOAT(VAL, DECIMALS) {}
- 497 #define RADIOLIB_DEBUG_HEXDUMP(...) {}
-
-
- 500 #if RADIOLIB_DEBUG_BASIC
- 501 #define RADIOLIB_DEBUG_BASIC_PRINT(...) RADIOLIB_DEBUG_PRINT_LVL("RLB_DBG: ", __VA_ARGS__)
- 502 #define RADIOLIB_DEBUG_BASIC_PRINT_NOTAG(...) RADIOLIB_DEBUG_PRINT_LVL("", __VA_ARGS__)
- 503 #define RADIOLIB_DEBUG_BASIC_PRINTLN(...) RADIOLIB_DEBUG_PRINTLN_LVL("RLB_DBG: ", __VA_ARGS__)
- 504 #define RADIOLIB_DEBUG_BASIC_PRINT_FLOAT(...) RADIOLIB_DEBUG_PRINT_FLOAT("RLB_DBG: ", __VA_ARGS__);
- 505 #define RADIOLIB_DEBUG_BASIC_HEXDUMP(...) RADIOLIB_DEBUG_HEXDUMP("RLB_DBG: ", __VA_ARGS__);
-
- 507 #define RADIOLIB_DEBUG_BASIC_PRINT(...) {}
- 508 #define RADIOLIB_DEBUG_BASIC_PRINT_NOTAG(...) {}
- 509 #define RADIOLIB_DEBUG_BASIC_PRINTLN(...) {}
- 510 #define RADIOLIB_DEBUG_BASIC_PRINT_FLOAT(...) {}
- 511 #define RADIOLIB_DEBUG_BASIC_HEXDUMP(...) {}
-
-
- 514 #if RADIOLIB_DEBUG_PROTOCOL
- 515 #define RADIOLIB_DEBUG_PROTOCOL_PRINT(...) RADIOLIB_DEBUG_PRINT_LVL("RLB_PRO: ", __VA_ARGS__)
- 516 #define RADIOLIB_DEBUG_PROTOCOL_PRINTLN(...) RADIOLIB_DEBUG_PRINTLN_LVL("RLB_PRO: ", __VA_ARGS__)
- 517 #define RADIOLIB_DEBUG_PROTOCOL_PRINT_FLOAT(...) RADIOLIB_DEBUG_PRINT_FLOAT("RLB_PRO: ", __VA_ARGS__);
- 518 #define RADIOLIB_DEBUG_PROTOCOL_HEXDUMP(...) RADIOLIB_DEBUG_HEXDUMP("RLB_PRO: ", __VA_ARGS__);
-
- 520 #define RADIOLIB_DEBUG_PROTOCOL_PRINT(...) {}
- 521 #define RADIOLIB_DEBUG_PROTOCOL_PRINTLN(...) {}
- 522 #define RADIOLIB_DEBUG_PROTOCOL_PRINT_FLOAT(...) {}
- 523 #define RADIOLIB_DEBUG_PROTOCOL_HEXDUMP(...) {}
-
-
- 526 #if RADIOLIB_DEBUG_SPI
- 527 #define RADIOLIB_DEBUG_SPI_PRINT(...) RADIOLIB_DEBUG_PRINT_LVL("RLB_SPI: ", __VA_ARGS__)
- 528 #define RADIOLIB_DEBUG_SPI_PRINT_NOTAG(...) RADIOLIB_DEBUG_PRINT_LVL("", __VA_ARGS__)
- 529 #define RADIOLIB_DEBUG_SPI_PRINTLN(...) RADIOLIB_DEBUG_PRINTLN_LVL("RLB_SPI: ", __VA_ARGS__)
- 530 #define RADIOLIB_DEBUG_SPI_PRINTLN_NOTAG(...) RADIOLIB_DEBUG_PRINTLN_LVL("", __VA_ARGS__)
- 531 #define RADIOLIB_DEBUG_SPI_PRINT_FLOAT(...) RADIOLIB_DEBUG_PRINT_FLOAT("RLB_SPI: ", __VA_ARGS__);
- 532 #define RADIOLIB_DEBUG_SPI_HEXDUMP(...) RADIOLIB_DEBUG_HEXDUMP("RLB_SPI: ", __VA_ARGS__);
-
- 534 #define RADIOLIB_DEBUG_SPI_PRINT(...) {}
- 535 #define RADIOLIB_DEBUG_SPI_PRINT_NOTAG(...) {}
- 536 #define RADIOLIB_DEBUG_SPI_PRINTLN(...) {}
- 537 #define RADIOLIB_DEBUG_SPI_PRINTLN_NOTAG(...) {}
- 538 #define RADIOLIB_DEBUG_SPI_PRINT_FLOAT(...) {}
- 539 #define RADIOLIB_DEBUG_SPI_HEXDUMP(...) {}
-
-
-
- 543 #define RADIOLIB_VALUE_TO_STRING(x) #x
- 544 #define RADIOLIB_VALUE(x) RADIOLIB_VALUE_TO_STRING(x)
-
- 546 #define RADIOLIB_INFO "\nRadioLib Info\nVersion: \"" \
- 547 RADIOLIB_VALUE(RADIOLIB_VERSION_MAJOR) "." \
- 548 RADIOLIB_VALUE(RADIOLIB_VERSION_MINOR) "." \
- 549 RADIOLIB_VALUE(RADIOLIB_VERSION_PATCH) "." \
- 550 RADIOLIB_VALUE(RADIOLIB_VERSION_EXTRA) "\"\n" \
- 551 "Platform: " RADIOLIB_VALUE(RADIOLIB_PLATFORM) "\n" \
- 552 "Compiled: " RADIOLIB_VALUE(__DATE__) " " RADIOLIB_VALUE(__TIME__)
-
- 559 #if RADIOLIB_VERBOSE_ASSERT
- 560 #define RADIOLIB_ASSERT(STATEVAR) { if((STATEVAR) != RADIOLIB_ERR_NONE) { RADIOLIB_DEBUG_BASIC_PRINTLN("%d at %s:%d", STATEVAR, __FILE__, __LINE__); return(STATEVAR); } }
-
- 562 #define RADIOLIB_ASSERT(STATEVAR) { if((STATEVAR) != RADIOLIB_ERR_NONE) { return(STATEVAR); } }
-
-
- 568 #if RADIOLIB_CHECK_PARAMS
- 569 #define RADIOLIB_CHECK_RANGE(VAR, MIN, MAX, ERR) { if(!(((VAR) >= (MIN)) && ((VAR) <= (MAX)))) { return(ERR); } }
-
- 571 #define RADIOLIB_CHECK_RANGE(VAR, MIN, MAX, ERR) {}
-
-
- 574 #if RADIOLIB_FIX_ERRATA_SX127X
- 575 #define RADIOLIB_ERRATA_SX127X(...) { errataFix(__VA_ARGS__); }
-
- 577 #define RADIOLIB_ERRATA_SX127X(...) {}
-
-
-
- 581 #define RADIOLIB_MIN(a,b) ((a)<(b)?(a):(b))
- 582 #define RADIOLIB_MAX(a,b) ((a)>(b)?(a):(b))
- 583 #define RADIOLIB_ABS(x) ((x)>0?(x):-(x))
-
-
- 586 #define RADIOLIB_VERSION_MAJOR 6
- 587 #define RADIOLIB_VERSION_MINOR 6
- 588 #define RADIOLIB_VERSION_PATCH 0
- 589 #define RADIOLIB_VERSION_EXTRA 0
-
- 591 #define RADIOLIB_VERSION (((RADIOLIB_VERSION_MAJOR) << 24) | ((RADIOLIB_VERSION_MINOR) << 16) | ((RADIOLIB_VERSION_PATCH) << 8) | (RADIOLIB_VERSION_EXTRA))
-
-
+
+ 356 #define PGM_P const char *
+
+
+
+
+
+
+
+
+
+
+
+
+ 369 #elif defined(TEENSYDUINO)
+
+ 371 #define RADIOLIB_PLATFORM "Teensy"
+
+ 373 #elif defined(ARDUINO_ARCH_RENESAS)
+
+ 375 #define RADIOLIB_PLATFORM "Arduino Renesas (UNO R4)"
+ 376 #define RADIOLIB_ARDUINOHAL_PIN_MODE_CAST (PinMode)
+ 377 #define RADIOLIB_ARDUINOHAL_PIN_STATUS_CAST (PinStatus)
+ 378 #define RADIOLIB_ARDUINOHAL_INTERRUPT_MODE_CAST (PinStatus)
+
+
+
+ 382 #define RADIOLIB_PLATFORM "Unknown Arduino"
+ 383 #define RADIOLIB_UNKNOWN_PLATFORM
+
+
+
+
+
+ 389 #if !defined(RADIOLIB_NC)
+ 390 #define RADIOLIB_NC (0xFFFFFFFF)
+
+
+ 393 #if !defined(RADIOLIB_DEFAULT_SPI)
+ 394 #define RADIOLIB_DEFAULT_SPI SPI
+
+
+ 397 #if !defined(RADIOLIB_DEFAULT_SPI_SETTINGS)
+ 398 #define RADIOLIB_DEFAULT_SPI_SETTINGS SPISettings(2000000, MSBFIRST, SPI_MODE0)
+
+
+ 401 #if !defined(RADIOLIB_NONVOLATILE)
+ 402 #define RADIOLIB_NONVOLATILE PROGMEM
+
+
+ 405 #if !defined(RADIOLIB_NONVOLATILE_PTR)
+ 406 #define RADIOLIB_NONVOLATILE_PTR PGM_P
+
+
+ 409 #if !defined(RADIOLIB_NONVOLATILE_READ_BYTE)
+ 410 #define RADIOLIB_NONVOLATILE_READ_BYTE(addr) pgm_read_byte(addr)
+
+
+ 413 #if !defined(RADIOLIB_NONVOLATILE_READ_DWORD)
+ 414 #define RADIOLIB_NONVOLATILE_READ_DWORD(addr) pgm_read_dword(addr)
+
+
+ 417 #if !defined(RADIOLIB_TYPE_ALIAS)
+ 418 #define RADIOLIB_TYPE_ALIAS(type, alias) using alias = type;
+
+
+ 421 #if !defined(RADIOLIB_ARDUINOHAL_PIN_MODE_CAST)
+ 422 #define RADIOLIB_ARDUINOHAL_PIN_MODE_CAST
+
+
+ 425 #if !defined(RADIOLIB_ARDUINOHAL_PIN_STATUS_CAST)
+ 426 #define RADIOLIB_ARDUINOHAL_PIN_STATUS_CAST
+
+
+ 429 #if !defined(RADIOLIB_ARDUINOHAL_INTERRUPT_MODE_CAST)
+ 430 #define RADIOLIB_ARDUINOHAL_INTERRUPT_MODE_CAST
+
+
+
+
+ 435 #define RADIOLIB_PLATFORM "Generic"
+
+ 437 #define RADIOLIB_NC (0xFF)
+ 438 #define RADIOLIB_NONVOLATILE
+ 439 #define RADIOLIB_NONVOLATILE_READ_BYTE(addr) (*((uint8_t *)(void *)(addr)))
+ 440 #define RADIOLIB_NONVOLATILE_READ_DWORD(addr) (*((uint32_t *)(void *)(addr)))
+ 441 #define RADIOLIB_TYPE_ALIAS(type, alias) using alias = type;
+
+ 443 #if !defined(RADIOLIB_DEBUG_PORT)
+ 444 #define RADIOLIB_DEBUG_PORT stdout
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 458 #if (!defined(ARDUINO_ARCH_STM32) || !defined(SUBGHZSPI_BASE)) && !defined(DOXYGEN)
+ 459 #define RADIOLIB_EXCLUDE_STM32WLX (1)
+
+
+
+ 463 #if RADIOLIB_VERBOSE_ASSERT
+ 464 #define RADIOLIB_DEBUG (1)
+
+
+
+ 468 #if RADIOLIB_DEBUG_BASIC || RADIOLIB_DEBUG_PROTOCOL || RADIOLIB_DEBUG_SPI
+ 469 #define RADIOLIB_DEBUG (1)
+
+ 471 #define RADIOLIB_DEBUG (0)
+
+
+
+ 475 #if defined(RADIOLIB_BUILD_ARDUINO)
+ 476 #define RADIOLIB_DEBUG_PRINT(...) Module::serialPrintf(__VA_ARGS__)
+ 477 #define RADIOLIB_DEBUG_PRINTLN(M, ...) Module::serialPrintf(M "\n", ##__VA_ARGS__)
+ 478 #define RADIOLIB_DEBUG_PRINT_LVL(LEVEL, M, ...) Module::serialPrintf(LEVEL "" M, ##__VA_ARGS__)
+ 479 #define RADIOLIB_DEBUG_PRINTLN_LVL(LEVEL, M, ...) Module::serialPrintf(LEVEL "" M "\n", ##__VA_ARGS__)
+
+
+ 482 #define RADIOLIB_DEBUG_PRINT_FLOAT(LEVEL, VAL, DECIMALS) RADIOLIB_DEBUG_PRINT(LEVEL); RADIOLIB_DEBUG_PORT.print(VAL, DECIMALS)
+
+ 484 #if !defined(RADIOLIB_DEBUG_PRINT)
+ 485 #define RADIOLIB_DEBUG_PRINT(...) fprintf(RADIOLIB_DEBUG_PORT, __VA_ARGS__)
+ 486 #define RADIOLIB_DEBUG_PRINT_LVL(LEVEL, M, ...) fprintf(RADIOLIB_DEBUG_PORT, LEVEL "" M, ##__VA_ARGS__)
+
+ 488 #if !defined(RADIOLIB_DEBUG_PRINTLN)
+ 489 #define RADIOLIB_DEBUG_PRINTLN(M, ...) fprintf(RADIOLIB_DEBUG_PORT, M "\n", ##__VA_ARGS__)
+ 490 #define RADIOLIB_DEBUG_PRINTLN_LVL(LEVEL, M, ...) fprintf(RADIOLIB_DEBUG_PORT, LEVEL "" M "\n", ##__VA_ARGS__)
+
+ 492 #define RADIOLIB_DEBUG_PRINT_FLOAT(LEVEL, VAL, DECIMALS) RADIOLIB_DEBUG_PRINT(LEVEL "%.3f", VAL)
+
+
+ 495 #define RADIOLIB_DEBUG_HEXDUMP(LEVEL, ...) Module::hexdump(LEVEL, __VA_ARGS__)
+
+ 497 #define RADIOLIB_DEBUG_PRINT(...) {}
+ 498 #define RADIOLIB_DEBUG_PRINTLN(...) {}
+ 499 #define RADIOLIB_DEBUG_PRINT_FLOAT(VAL, DECIMALS) {}
+ 500 #define RADIOLIB_DEBUG_HEXDUMP(...) {}
+
+
+ 503 #if RADIOLIB_DEBUG_BASIC
+ 504 #define RADIOLIB_DEBUG_BASIC_PRINT(...) RADIOLIB_DEBUG_PRINT_LVL("RLB_DBG: ", __VA_ARGS__)
+ 505 #define RADIOLIB_DEBUG_BASIC_PRINT_NOTAG(...) RADIOLIB_DEBUG_PRINT_LVL("", __VA_ARGS__)
+ 506 #define RADIOLIB_DEBUG_BASIC_PRINTLN(...) RADIOLIB_DEBUG_PRINTLN_LVL("RLB_DBG: ", __VA_ARGS__)
+ 507 #define RADIOLIB_DEBUG_BASIC_PRINT_FLOAT(...) RADIOLIB_DEBUG_PRINT_FLOAT("RLB_DBG: ", __VA_ARGS__);
+ 508 #define RADIOLIB_DEBUG_BASIC_HEXDUMP(...) RADIOLIB_DEBUG_HEXDUMP("RLB_DBG: ", __VA_ARGS__);
+
+ 510 #define RADIOLIB_DEBUG_BASIC_PRINT(...) {}
+ 511 #define RADIOLIB_DEBUG_BASIC_PRINT_NOTAG(...) {}
+ 512 #define RADIOLIB_DEBUG_BASIC_PRINTLN(...) {}
+ 513 #define RADIOLIB_DEBUG_BASIC_PRINT_FLOAT(...) {}
+ 514 #define RADIOLIB_DEBUG_BASIC_HEXDUMP(...) {}
+
+
+ 517 #if RADIOLIB_DEBUG_PROTOCOL
+ 518 #define RADIOLIB_DEBUG_PROTOCOL_PRINT(...) RADIOLIB_DEBUG_PRINT_LVL("RLB_PRO: ", __VA_ARGS__)
+ 519 #define RADIOLIB_DEBUG_PROTOCOL_PRINTLN(...) RADIOLIB_DEBUG_PRINTLN_LVL("RLB_PRO: ", __VA_ARGS__)
+ 520 #define RADIOLIB_DEBUG_PROTOCOL_PRINT_FLOAT(...) RADIOLIB_DEBUG_PRINT_FLOAT("RLB_PRO: ", __VA_ARGS__);
+ 521 #define RADIOLIB_DEBUG_PROTOCOL_HEXDUMP(...) RADIOLIB_DEBUG_HEXDUMP("RLB_PRO: ", __VA_ARGS__);
+
+ 523 #define RADIOLIB_DEBUG_PROTOCOL_PRINT(...) {}
+ 524 #define RADIOLIB_DEBUG_PROTOCOL_PRINTLN(...) {}
+ 525 #define RADIOLIB_DEBUG_PROTOCOL_PRINT_FLOAT(...) {}
+ 526 #define RADIOLIB_DEBUG_PROTOCOL_HEXDUMP(...) {}
+
+
+ 529 #if RADIOLIB_DEBUG_SPI
+ 530 #define RADIOLIB_DEBUG_SPI_PRINT(...) RADIOLIB_DEBUG_PRINT_LVL("RLB_SPI: ", __VA_ARGS__)
+ 531 #define RADIOLIB_DEBUG_SPI_PRINT_NOTAG(...) RADIOLIB_DEBUG_PRINT_LVL("", __VA_ARGS__)
+ 532 #define RADIOLIB_DEBUG_SPI_PRINTLN(...) RADIOLIB_DEBUG_PRINTLN_LVL("RLB_SPI: ", __VA_ARGS__)
+ 533 #define RADIOLIB_DEBUG_SPI_PRINTLN_NOTAG(...) RADIOLIB_DEBUG_PRINTLN_LVL("", __VA_ARGS__)
+ 534 #define RADIOLIB_DEBUG_SPI_PRINT_FLOAT(...) RADIOLIB_DEBUG_PRINT_FLOAT("RLB_SPI: ", __VA_ARGS__);
+ 535 #define RADIOLIB_DEBUG_SPI_HEXDUMP(...) RADIOLIB_DEBUG_HEXDUMP("RLB_SPI: ", __VA_ARGS__);
+
+ 537 #define RADIOLIB_DEBUG_SPI_PRINT(...) {}
+ 538 #define RADIOLIB_DEBUG_SPI_PRINT_NOTAG(...) {}
+ 539 #define RADIOLIB_DEBUG_SPI_PRINTLN(...) {}
+ 540 #define RADIOLIB_DEBUG_SPI_PRINTLN_NOTAG(...) {}
+ 541 #define RADIOLIB_DEBUG_SPI_PRINT_FLOAT(...) {}
+ 542 #define RADIOLIB_DEBUG_SPI_HEXDUMP(...) {}
+
+
+
+ 546 #define RADIOLIB_VALUE_TO_STRING(x) #x
+ 547 #define RADIOLIB_VALUE(x) RADIOLIB_VALUE_TO_STRING(x)
+
+ 549 #define RADIOLIB_INFO "\nRadioLib Info\nVersion: \"" \
+ 550 RADIOLIB_VALUE(RADIOLIB_VERSION_MAJOR) "." \
+ 551 RADIOLIB_VALUE(RADIOLIB_VERSION_MINOR) "." \
+ 552 RADIOLIB_VALUE(RADIOLIB_VERSION_PATCH) "." \
+ 553 RADIOLIB_VALUE(RADIOLIB_VERSION_EXTRA) "\"\n" \
+ 554 "Platform: " RADIOLIB_VALUE(RADIOLIB_PLATFORM) "\n" \
+ 555 "Compiled: " RADIOLIB_VALUE(__DATE__) " " RADIOLIB_VALUE(__TIME__)
+
+ 562 #if RADIOLIB_VERBOSE_ASSERT
+ 563 #define RADIOLIB_ASSERT(STATEVAR) { if((STATEVAR) != RADIOLIB_ERR_NONE) { RADIOLIB_DEBUG_BASIC_PRINTLN("%d at %s:%d", STATEVAR, __FILE__, __LINE__); return(STATEVAR); } }
+
+ 565 #define RADIOLIB_ASSERT(STATEVAR) { if((STATEVAR) != RADIOLIB_ERR_NONE) { return(STATEVAR); } }
+
+
+ 571 #if RADIOLIB_CHECK_PARAMS
+ 572 #define RADIOLIB_CHECK_RANGE(VAR, MIN, MAX, ERR) { if(!(((VAR) >= (MIN)) && ((VAR) <= (MAX)))) { return(ERR); } }
+
+ 574 #define RADIOLIB_CHECK_RANGE(VAR, MIN, MAX, ERR) {}
+
+
+ 577 #if RADIOLIB_FIX_ERRATA_SX127X
+ 578 #define RADIOLIB_ERRATA_SX127X(...) { errataFix(__VA_ARGS__); }
+
+ 580 #define RADIOLIB_ERRATA_SX127X(...) {}
+
+
+
+ 584 #define RADIOLIB_MIN(a,b) ((a)<(b)?(a):(b))
+ 585 #define RADIOLIB_MAX(a,b) ((a)>(b)?(a):(b))
+ 586 #define RADIOLIB_ABS(x) ((x)>0?(x):-(x))
+
+
+ 589 #define RADIOLIB_VERSION_MAJOR 6
+ 590 #define RADIOLIB_VERSION_MINOR 6
+ 591 #define RADIOLIB_VERSION_PATCH 0
+ 592 #define RADIOLIB_VERSION_EXTRA 0
+
+ 594 #define RADIOLIB_VERSION (((RADIOLIB_VERSION_MAJOR) << 24) | ((RADIOLIB_VERSION_MINOR) << 16) | ((RADIOLIB_VERSION_PATCH) << 8) | (RADIOLIB_VERSION_EXTRA))
+
+
unsigned long RadioLibTime_t
Type used for durations in RadioLib.
Definition: TypeDef.h:616