diff --git a/_build_opt_8h_source.html b/_build_opt_8h_source.html
index d5e5c64a..3b87e5a3 100644
--- a/_build_opt_8h_source.html
+++ b/_build_opt_8h_source.html
@@ -364,325 +364,329 @@ $(document).ready(function(){initNavTree('_build_opt_8h_source.html',''); initRe
264 #define RADIOLIB_ARDUINOHAL_PIN_STATUS_CAST (PinStatus)
265 #define RADIOLIB_ARDUINOHAL_INTERRUPT_MODE_CAST (PinStatus)
-
- 268 #define RADIOLIB_TONE_UNSUPPORTED
- 269 #define RADIOLIB_MBED_TONE_OVERRIDE
-
- 271#elif defined(ARDUINO_PORTENTA_H7_M7) || defined(ARDUINO_PORTENTA_H7_M4)
-
- 273 #define RADIOLIB_PLATFORM "Portenta H7"
- 274 #define RADIOLIB_ARDUINOHAL_PIN_MODE_CAST (PinMode)
- 275 #define RADIOLIB_ARDUINOHAL_PIN_STATUS_CAST (PinStatus)
- 276 #define RADIOLIB_ARDUINOHAL_INTERRUPT_MODE_CAST (PinStatus)
-
-
- 279 #define RADIOLIB_TONE_UNSUPPORTED
- 280 #define RADIOLIB_MBED_TONE_OVERRIDE
-
- 282#elif defined(__STM32F4__) || defined(__STM32F1__)
-
- 284 #define RADIOLIB_PLATFORM "STM32duino (unofficial)"
- 285 #define RADIOLIB_ARDUINOHAL_PIN_MODE_CAST (WiringPinMode)
- 286 #define RADIOLIB_ARDUINOHAL_INTERRUPT_MODE_CAST (ExtIntTriggerMode)
-
- 288#elif defined(ARDUINO_ARCH_MEGAAVR)
-
- 290 #define RADIOLIB_PLATFORM "MegaCoreX"
+ 267 #if defined(ARDUINO_ARCH_MBED)
+
+ 269 #define RADIOLIB_TONE_UNSUPPORTED
+ 270 #define RADIOLIB_MBED_TONE_OVERRIDE
+
+
+ 273#elif defined(ARDUINO_PORTENTA_H7_M7) || defined(ARDUINO_PORTENTA_H7_M4) || defined(ARDUINO_PORTENTA_H7)
+
+ 275 #define RADIOLIB_PLATFORM "Portenta H7"
+ 276 #define RADIOLIB_ARDUINOHAL_PIN_MODE_CAST (PinMode)
+ 277 #define RADIOLIB_ARDUINOHAL_PIN_STATUS_CAST (PinStatus)
+ 278 #define RADIOLIB_ARDUINOHAL_INTERRUPT_MODE_CAST (PinStatus)
+
+ 280 #if defined(ARDUINO_ARCH_MBED)
+
+ 282 #define RADIOLIB_TONE_UNSUPPORTED
+ 283 #define RADIOLIB_MBED_TONE_OVERRIDE
+
+
+ 286#elif defined(__STM32F4__) || defined(__STM32F1__)
+
+ 288 #define RADIOLIB_PLATFORM "STM32duino (unofficial)"
+ 289 #define RADIOLIB_ARDUINOHAL_PIN_MODE_CAST (WiringPinMode)
+ 290 #define RADIOLIB_ARDUINOHAL_INTERRUPT_MODE_CAST (ExtIntTriggerMode)
- 292#elif defined(ARDUINO_ARCH_MBED_RP2040)
-
- 294 #define RADIOLIB_PLATFORM "Raspberry Pi Pico"
- 295 #define RADIOLIB_ARDUINOHAL_PIN_MODE_CAST (PinMode)
- 296 #define RADIOLIB_ARDUINOHAL_PIN_STATUS_CAST (PinStatus)
- 297 #define RADIOLIB_ARDUINOHAL_INTERRUPT_MODE_CAST (PinStatus)
-
-
- 300 #define RADIOLIB_TONE_UNSUPPORTED
- 301 #define RADIOLIB_MBED_TONE_OVERRIDE
+ 292#elif defined(ARDUINO_ARCH_MEGAAVR)
+
+ 294 #define RADIOLIB_PLATFORM "MegaCoreX"
+
+ 296#elif defined(ARDUINO_ARCH_MBED_RP2040)
+
+ 298 #define RADIOLIB_PLATFORM "Raspberry Pi Pico"
+ 299 #define RADIOLIB_ARDUINOHAL_PIN_MODE_CAST (PinMode)
+ 300 #define RADIOLIB_ARDUINOHAL_PIN_STATUS_CAST (PinStatus)
+ 301 #define RADIOLIB_ARDUINOHAL_INTERRUPT_MODE_CAST (PinStatus)
- 303#elif defined(ARDUINO_ARCH_RP2040)
-
- 305 #define RADIOLIB_PLATFORM "Raspberry Pi Pico (unofficial)"
- 306 #define RADIOLIB_ARDUINOHAL_PIN_MODE_CAST (PinMode)
- 307 #define RADIOLIB_ARDUINOHAL_PIN_STATUS_CAST (PinStatus)
- 308 #define RADIOLIB_ARDUINOHAL_INTERRUPT_MODE_CAST (PinStatus)
-
- 310#elif defined(__ASR6501__) || defined(ARDUINO_ARCH_ASR650X) || defined(DARDUINO_ARCH_ASR6601)
-
- 312 #define RADIOLIB_PLATFORM "CubeCell"
- 313 #define RADIOLIB_DEFAULT_SPI_SETTINGS SPISettings(1000000, MSBFIRST, SPI_MODE0)
- 314 #define RADIOLIB_ARDUINOHAL_PIN_MODE_CAST (PINMODE)
- 315 #define RADIOLIB_ARDUINOHAL_INTERRUPT_MODE_CAST (IrqModes)
-
-
-
-
-
-
-
-
- 324 #define RADIOLIB_TYPE_ALIAS(type, alias) typedef class type alias;
-
-
- 327 #define RADIOLIB_TONE_UNSUPPORTED
-
-
- 330 #define RADIOLIB_YIELD_UNSUPPORTED
-
-
-
-
-
-
- 337 #define RADIOLIB_PLATFORM "RasPiArduino"
+
+ 304 #define RADIOLIB_TONE_UNSUPPORTED
+ 305 #define RADIOLIB_MBED_TONE_OVERRIDE
+
+ 307#elif defined(ARDUINO_ARCH_RP2040)
+
+ 309 #define RADIOLIB_PLATFORM "Raspberry Pi Pico (unofficial)"
+ 310 #define RADIOLIB_ARDUINOHAL_PIN_MODE_CAST (PinMode)
+ 311 #define RADIOLIB_ARDUINOHAL_PIN_STATUS_CAST (PinStatus)
+ 312 #define RADIOLIB_ARDUINOHAL_INTERRUPT_MODE_CAST (PinStatus)
+
+ 314#elif defined(__ASR6501__) || defined(ARDUINO_ARCH_ASR650X) || defined(DARDUINO_ARCH_ASR6601)
+
+ 316 #define RADIOLIB_PLATFORM "CubeCell"
+ 317 #define RADIOLIB_DEFAULT_SPI_SETTINGS SPISettings(1000000, MSBFIRST, SPI_MODE0)
+ 318 #define RADIOLIB_ARDUINOHAL_PIN_MODE_CAST (PINMODE)
+ 319 #define RADIOLIB_ARDUINOHAL_INTERRUPT_MODE_CAST (IrqModes)
+
+
+
+
+
+
+
+
+ 328 #define RADIOLIB_TYPE_ALIAS(type, alias) typedef class type alias;
+
+
+ 331 #define RADIOLIB_TONE_UNSUPPORTED
+
+
+ 334 #define RADIOLIB_YIELD_UNSUPPORTED
+
+
+
-
- 340 #define RADIOLIB_TONE_UNSUPPORTED
-
-
- 343 #define RADIOLIB_YIELD_UNSUPPORTED
-
-
- 346 #define PGM_P const char *
-
-
-
-
-
-
-
-
-
-
-
-
- 359#elif defined(TEENSYDUINO)
-
- 361 #define RADIOLIB_PLATFORM "Teensy"
+
+
+ 341 #define RADIOLIB_PLATFORM "RasPiArduino"
+
+
+ 344 #define RADIOLIB_TONE_UNSUPPORTED
+
+
+ 347 #define RADIOLIB_YIELD_UNSUPPORTED
+
+
+ 350 #define PGM_P const char *
+
+
+
+
+
+
+
+
+
+
+
- 363#elif defined(ARDUINO_ARCH_RENESAS)
-
- 365 #define RADIOLIB_PLATFORM "Arduino Renesas (UNO R4)"
- 366 #define RADIOLIB_ARDUINOHAL_PIN_MODE_CAST (PinMode)
- 367 #define RADIOLIB_ARDUINOHAL_PIN_STATUS_CAST (PinStatus)
- 368 #define RADIOLIB_ARDUINOHAL_INTERRUPT_MODE_CAST (PinStatus)
-
- 370#elif defined(ARDUINO_ARCH_SILABS)
-
- 372 #define RADIOLIB_PLATFORM "Arduino Silicon Labs"
- 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
+ 363#elif defined(TEENSYDUINO)
+
+ 365 #define RADIOLIB_PLATFORM "Teensy"
+
+ 367#elif defined(ARDUINO_ARCH_RENESAS)
+
+ 369 #define RADIOLIB_PLATFORM "Arduino Renesas (UNO R4)"
+ 370 #define RADIOLIB_ARDUINOHAL_PIN_MODE_CAST (PinMode)
+ 371 #define RADIOLIB_ARDUINOHAL_PIN_STATUS_CAST (PinStatus)
+ 372 #define RADIOLIB_ARDUINOHAL_INTERRUPT_MODE_CAST (PinStatus)
+
+ 374#elif defined(ARDUINO_ARCH_SILABS)
+
+ 376 #define RADIOLIB_PLATFORM "Arduino Silicon Labs"
+ 377 #define RADIOLIB_ARDUINOHAL_PIN_MODE_CAST (PinMode)
+ 378 #define RADIOLIB_ARDUINOHAL_PIN_STATUS_CAST (PinStatus)
+ 379 #define RADIOLIB_ARDUINOHAL_INTERRUPT_MODE_CAST (PinStatus)
+
+
+
+ 383 #define RADIOLIB_PLATFORM "Unknown Arduino"
+ 384 #define RADIOLIB_UNKNOWN_PLATFORM
+
+
+
+
+
+ 390 #if !defined(RADIOLIB_NC)
+ 391 #define RADIOLIB_NC (0xFFFFFFFF)
- 394 #if !defined(RADIOLIB_DEFAULT_SPI_SETTINGS)
- 395 #define RADIOLIB_DEFAULT_SPI_SETTINGS SPISettings(2000000, MSBFIRST, SPI_MODE0)
+ 394 #if !defined(RADIOLIB_DEFAULT_SPI)
+ 395 #define RADIOLIB_DEFAULT_SPI SPI
- 398 #if !defined(RADIOLIB_NONVOLATILE)
- 399 #define RADIOLIB_NONVOLATILE PROGMEM
+ 398 #if !defined(RADIOLIB_DEFAULT_SPI_SETTINGS)
+ 399 #define RADIOLIB_DEFAULT_SPI_SETTINGS SPISettings(2000000, MSBFIRST, SPI_MODE0)
- 402 #if !defined(RADIOLIB_NONVOLATILE_PTR)
- 403 #define RADIOLIB_NONVOLATILE_PTR PGM_P
+ 402 #if !defined(RADIOLIB_NONVOLATILE)
+ 403 #define RADIOLIB_NONVOLATILE PROGMEM
- 406 #if !defined(RADIOLIB_NONVOLATILE_READ_BYTE)
- 407 #define RADIOLIB_NONVOLATILE_READ_BYTE(addr) pgm_read_byte(addr)
+ 406 #if !defined(RADIOLIB_NONVOLATILE_PTR)
+ 407 #define RADIOLIB_NONVOLATILE_PTR PGM_P
- 410 #if !defined(RADIOLIB_NONVOLATILE_READ_DWORD)
- 411 #define RADIOLIB_NONVOLATILE_READ_DWORD(addr) pgm_read_dword(addr)
+ 410 #if !defined(RADIOLIB_NONVOLATILE_READ_BYTE)
+ 411 #define RADIOLIB_NONVOLATILE_READ_BYTE(addr) pgm_read_byte(addr)
- 414 #if !defined(RADIOLIB_TYPE_ALIAS)
- 415 #define RADIOLIB_TYPE_ALIAS(type, alias) using alias = type;
+ 414 #if !defined(RADIOLIB_NONVOLATILE_READ_DWORD)
+ 415 #define RADIOLIB_NONVOLATILE_READ_DWORD(addr) pgm_read_dword(addr)
- 418 #if !defined(RADIOLIB_ARDUINOHAL_PIN_MODE_CAST)
- 419 #define RADIOLIB_ARDUINOHAL_PIN_MODE_CAST
+ 418 #if !defined(RADIOLIB_TYPE_ALIAS)
+ 419 #define RADIOLIB_TYPE_ALIAS(type, alias) using alias = type;
- 422 #if !defined(RADIOLIB_ARDUINOHAL_PIN_STATUS_CAST)
- 423 #define RADIOLIB_ARDUINOHAL_PIN_STATUS_CAST
+ 422 #if !defined(RADIOLIB_ARDUINOHAL_PIN_MODE_CAST)
+ 423 #define RADIOLIB_ARDUINOHAL_PIN_MODE_CAST
- 426 #if !defined(RADIOLIB_ARDUINOHAL_INTERRUPT_MODE_CAST)
- 427 #define RADIOLIB_ARDUINOHAL_INTERRUPT_MODE_CAST
+ 426 #if !defined(RADIOLIB_ARDUINOHAL_PIN_STATUS_CAST)
+ 427 #define RADIOLIB_ARDUINOHAL_PIN_STATUS_CAST
-
-
- 432 #define RADIOLIB_PLATFORM "Generic"
+ 430 #if !defined(RADIOLIB_ARDUINOHAL_INTERRUPT_MODE_CAST)
+ 431 #define RADIOLIB_ARDUINOHAL_INTERRUPT_MODE_CAST
+
- 434 #define RADIOLIB_NC (0xFFFFFFFF)
- 435 #define RADIOLIB_NONVOLATILE
- 436 #define RADIOLIB_NONVOLATILE_READ_BYTE(addr) (*(reinterpret_cast<uint8_t *>(reinterpret_cast<void *>(addr))))
- 437 #define RADIOLIB_NONVOLATILE_READ_DWORD(addr) (*(reinterpret_cast<uint32_t *>(reinterpret_cast<void *>(addr))))
- 438 #define RADIOLIB_TYPE_ALIAS(type, alias) using alias = type;
-
-
-
-
-
-
-
-
-
+
+
+ 436 #define RADIOLIB_PLATFORM "Generic"
+
+ 438 #define RADIOLIB_NC (0xFFFFFFFF)
+ 439 #define RADIOLIB_NONVOLATILE
+ 440 #define RADIOLIB_NONVOLATILE_READ_BYTE(addr) (*(reinterpret_cast<uint8_t *>(reinterpret_cast<void *>(addr))))
+ 441 #define RADIOLIB_NONVOLATILE_READ_DWORD(addr) (*(reinterpret_cast<uint32_t *>(reinterpret_cast<void *>(addr))))
+ 442 #define RADIOLIB_TYPE_ALIAS(type, alias) using alias = type;
+
+
+
+
+
-
-
- 451#if (!defined(ARDUINO_ARCH_STM32) || !defined(SUBGHZSPI_BASE)) && !defined(DOXYGEN)
- 452 #define RADIOLIB_EXCLUDE_STM32WLX (1)
-
-
-
- 456#if RADIOLIB_VERBOSE_ASSERT
- 457 #define RADIOLIB_DEBUG (1)
-
-
-
- 461#if RADIOLIB_DEBUG_BASIC || RADIOLIB_DEBUG_PROTOCOL || RADIOLIB_DEBUG_SPI
- 462 #define RADIOLIB_DEBUG (1)
-
- 464 #define RADIOLIB_DEBUG (0)
-
-
-
- 468 #if defined(RADIOLIB_BUILD_ARDUINO)
- 469 #define RADIOLIB_DEBUG_PRINT(...) rlb_printf(__VA_ARGS__)
- 470 #define RADIOLIB_DEBUG_PRINTLN(M, ...) rlb_printf(M "\n", ##__VA_ARGS__)
- 471 #define RADIOLIB_DEBUG_PRINT_LVL(LEVEL, M, ...) rlb_printf(LEVEL "" M, ##__VA_ARGS__)
- 472 #define RADIOLIB_DEBUG_PRINTLN_LVL(LEVEL, M, ...) rlb_printf(LEVEL "" M "\n", ##__VA_ARGS__)
-
-
- 475 #define RADIOLIB_DEBUG_PRINT_FLOAT(LEVEL, VAL, DECIMALS) RADIOLIB_DEBUG_PRINT(LEVEL); RADIOLIB_DEBUG_PORT.print(VAL, DECIMALS)
-
- 477 #if !defined(RADIOLIB_DEBUG_PRINT)
- 478 #define RADIOLIB_DEBUG_PRINT(...) fprintf(RADIOLIB_DEBUG_PORT, __VA_ARGS__)
- 479 #define RADIOLIB_DEBUG_PRINT_LVL(LEVEL, M, ...) fprintf(RADIOLIB_DEBUG_PORT, LEVEL "" M, ##__VA_ARGS__)
-
- 481 #if !defined(RADIOLIB_DEBUG_PRINTLN)
- 482 #define RADIOLIB_DEBUG_PRINTLN(M, ...) fprintf(RADIOLIB_DEBUG_PORT, M "\n", ##__VA_ARGS__)
- 483 #define RADIOLIB_DEBUG_PRINTLN_LVL(LEVEL, M, ...) fprintf(RADIOLIB_DEBUG_PORT, LEVEL "" M "\n", ##__VA_ARGS__)
+
+
+
+
+
+
+ 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(...) rlb_printf(__VA_ARGS__)
+ 474 #define RADIOLIB_DEBUG_PRINTLN(M, ...) rlb_printf(M "\n", ##__VA_ARGS__)
+ 475 #define RADIOLIB_DEBUG_PRINT_LVL(LEVEL, M, ...) rlb_printf(LEVEL "" M, ##__VA_ARGS__)
+ 476 #define RADIOLIB_DEBUG_PRINTLN_LVL(LEVEL, M, ...) rlb_printf(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 #define RADIOLIB_DEBUG_PRINT_FLOAT(LEVEL, VAL, DECIMALS) RADIOLIB_DEBUG_PRINT(LEVEL "%.3f", VAL)
-
-
- 488 #define RADIOLIB_DEBUG_HEXDUMP(LEVEL, ...) rlb_hexdump(LEVEL, __VA_ARGS__)
-
- 490 #define RADIOLIB_DEBUG_PRINT(...) {}
- 491 #define RADIOLIB_DEBUG_PRINTLN(...) {}
- 492 #define RADIOLIB_DEBUG_PRINT_FLOAT(VAL, DECIMALS) {}
- 493 #define RADIOLIB_DEBUG_HEXDUMP(...) {}
-
-
- 496#if RADIOLIB_DEBUG_BASIC
- 497 #define RADIOLIB_DEBUG_BASIC_PRINT(...) RADIOLIB_DEBUG_PRINT_LVL("RLB_DBG: ", __VA_ARGS__)
- 498 #define RADIOLIB_DEBUG_BASIC_PRINT_NOTAG(...) RADIOLIB_DEBUG_PRINT_LVL("", __VA_ARGS__)
- 499 #define RADIOLIB_DEBUG_BASIC_PRINTLN(...) RADIOLIB_DEBUG_PRINTLN_LVL("RLB_DBG: ", __VA_ARGS__)
- 500 #define RADIOLIB_DEBUG_BASIC_PRINT_FLOAT(...) RADIOLIB_DEBUG_PRINT_FLOAT("RLB_DBG: ", __VA_ARGS__);
- 501 #define RADIOLIB_DEBUG_BASIC_HEXDUMP(...) RADIOLIB_DEBUG_HEXDUMP("RLB_DBG: ", __VA_ARGS__);
-
- 503 #define RADIOLIB_DEBUG_BASIC_PRINT(...) {}
- 504 #define RADIOLIB_DEBUG_BASIC_PRINT_NOTAG(...) {}
- 505 #define RADIOLIB_DEBUG_BASIC_PRINTLN(...) {}
- 506 #define RADIOLIB_DEBUG_BASIC_PRINT_FLOAT(...) {}
- 507 #define RADIOLIB_DEBUG_BASIC_HEXDUMP(...) {}
-
-
- 510#if RADIOLIB_DEBUG_PROTOCOL
- 511 #define RADIOLIB_DEBUG_PROTOCOL_PRINT(...) RADIOLIB_DEBUG_PRINT_LVL("RLB_PRO: ", __VA_ARGS__)
- 512 #define RADIOLIB_DEBUG_PROTOCOL_PRINT_NOTAG(...) RADIOLIB_DEBUG_PRINT_LVL("", __VA_ARGS__)
- 513 #define RADIOLIB_DEBUG_PROTOCOL_PRINTLN(...) RADIOLIB_DEBUG_PRINTLN_LVL("RLB_PRO: ", __VA_ARGS__)
- 514 #define RADIOLIB_DEBUG_PROTOCOL_PRINT_FLOAT(...) RADIOLIB_DEBUG_PRINT_FLOAT("RLB_PRO: ", __VA_ARGS__);
- 515 #define RADIOLIB_DEBUG_PROTOCOL_HEXDUMP(...) RADIOLIB_DEBUG_HEXDUMP("RLB_PRO: ", __VA_ARGS__);
-
- 517 #define RADIOLIB_DEBUG_PROTOCOL_PRINT(...) {}
- 518 #define RADIOLIB_DEBUG_PROTOCOL_PRINT_NOTAG(...) {}
- 519 #define RADIOLIB_DEBUG_PROTOCOL_PRINTLN(...) {}
- 520 #define RADIOLIB_DEBUG_PROTOCOL_PRINT_FLOAT(...) {}
- 521 #define RADIOLIB_DEBUG_PROTOCOL_HEXDUMP(...) {}
-
-
- 524#if RADIOLIB_DEBUG_SPI
- 525 #define RADIOLIB_DEBUG_SPI_PRINT(...) RADIOLIB_DEBUG_PRINT_LVL("RLB_SPI: ", __VA_ARGS__)
- 526 #define RADIOLIB_DEBUG_SPI_PRINT_NOTAG(...) RADIOLIB_DEBUG_PRINT_LVL("", __VA_ARGS__)
- 527 #define RADIOLIB_DEBUG_SPI_PRINTLN(...) RADIOLIB_DEBUG_PRINTLN_LVL("RLB_SPI: ", __VA_ARGS__)
- 528 #define RADIOLIB_DEBUG_SPI_PRINTLN_NOTAG(...) RADIOLIB_DEBUG_PRINTLN_LVL("", __VA_ARGS__)
- 529 #define RADIOLIB_DEBUG_SPI_PRINT_FLOAT(...) RADIOLIB_DEBUG_PRINT_FLOAT("RLB_SPI: ", __VA_ARGS__);
- 530 #define RADIOLIB_DEBUG_SPI_HEXDUMP(...) RADIOLIB_DEBUG_HEXDUMP("RLB_SPI: ", __VA_ARGS__);
-
- 532 #define RADIOLIB_DEBUG_SPI_PRINT(...) {}
- 533 #define RADIOLIB_DEBUG_SPI_PRINT_NOTAG(...) {}
- 534 #define RADIOLIB_DEBUG_SPI_PRINTLN(...) {}
- 535 #define RADIOLIB_DEBUG_SPI_PRINTLN_NOTAG(...) {}
- 536 #define RADIOLIB_DEBUG_SPI_PRINT_FLOAT(...) {}
- 537 #define RADIOLIB_DEBUG_SPI_HEXDUMP(...) {}
-
-
-
- 541#define RADIOLIB_VALUE_TO_STRING(x) #x
- 542#define RADIOLIB_VALUE(x) RADIOLIB_VALUE_TO_STRING(x)
+ 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, ...) rlb_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_PRINT_NOTAG(...) RADIOLIB_DEBUG_PRINT_LVL("", __VA_ARGS__)
+ 517 #define RADIOLIB_DEBUG_PROTOCOL_PRINTLN(...) RADIOLIB_DEBUG_PRINTLN_LVL("RLB_PRO: ", __VA_ARGS__)
+ 518 #define RADIOLIB_DEBUG_PROTOCOL_PRINT_FLOAT(...) RADIOLIB_DEBUG_PRINT_FLOAT("RLB_PRO: ", __VA_ARGS__);
+ 519 #define RADIOLIB_DEBUG_PROTOCOL_HEXDUMP(...) RADIOLIB_DEBUG_HEXDUMP("RLB_PRO: ", __VA_ARGS__);
+
+ 521 #define RADIOLIB_DEBUG_PROTOCOL_PRINT(...) {}
+ 522 #define RADIOLIB_DEBUG_PROTOCOL_PRINT_NOTAG(...) {}
+ 523 #define RADIOLIB_DEBUG_PROTOCOL_PRINTLN(...) {}
+ 524 #define RADIOLIB_DEBUG_PROTOCOL_PRINT_FLOAT(...) {}
+ 525 #define RADIOLIB_DEBUG_PROTOCOL_HEXDUMP(...) {}
+
+
+ 528#if RADIOLIB_DEBUG_SPI
+ 529 #define RADIOLIB_DEBUG_SPI_PRINT(...) RADIOLIB_DEBUG_PRINT_LVL("RLB_SPI: ", __VA_ARGS__)
+ 530 #define RADIOLIB_DEBUG_SPI_PRINT_NOTAG(...) RADIOLIB_DEBUG_PRINT_LVL("", __VA_ARGS__)
+ 531 #define RADIOLIB_DEBUG_SPI_PRINTLN(...) RADIOLIB_DEBUG_PRINTLN_LVL("RLB_SPI: ", __VA_ARGS__)
+ 532 #define RADIOLIB_DEBUG_SPI_PRINTLN_NOTAG(...) RADIOLIB_DEBUG_PRINTLN_LVL("", __VA_ARGS__)
+ 533 #define RADIOLIB_DEBUG_SPI_PRINT_FLOAT(...) RADIOLIB_DEBUG_PRINT_FLOAT("RLB_SPI: ", __VA_ARGS__);
+ 534 #define RADIOLIB_DEBUG_SPI_HEXDUMP(...) RADIOLIB_DEBUG_HEXDUMP("RLB_SPI: ", __VA_ARGS__);
+
+ 536 #define RADIOLIB_DEBUG_SPI_PRINT(...) {}
+ 537 #define RADIOLIB_DEBUG_SPI_PRINT_NOTAG(...) {}
+ 538 #define RADIOLIB_DEBUG_SPI_PRINTLN(...) {}
+ 539 #define RADIOLIB_DEBUG_SPI_PRINTLN_NOTAG(...) {}
+ 540 #define RADIOLIB_DEBUG_SPI_PRINT_FLOAT(...) {}
+ 541 #define RADIOLIB_DEBUG_SPI_HEXDUMP(...) {}
+
- 544#define RADIOLIB_INFO "\nRadioLib Info\nVersion: \"" \
- 545 RADIOLIB_VALUE(RADIOLIB_VERSION_MAJOR) "." \
- 546 RADIOLIB_VALUE(RADIOLIB_VERSION_MINOR) "." \
- 547 RADIOLIB_VALUE(RADIOLIB_VERSION_PATCH) "." \
- 548 RADIOLIB_VALUE(RADIOLIB_VERSION_EXTRA) "\"\n" \
- 549 "Platform: " RADIOLIB_VALUE(RADIOLIB_PLATFORM) "\n" \
- 550 "Compiled: " RADIOLIB_VALUE(__DATE__) " " RADIOLIB_VALUE(__TIME__)
-
- 557#if RADIOLIB_VERBOSE_ASSERT
- 558#define RADIOLIB_ASSERT(STATEVAR) { if((STATEVAR) != RADIOLIB_ERR_NONE) { RADIOLIB_DEBUG_BASIC_PRINTLN("%d at %s:%d", STATEVAR, __FILE__, __LINE__); return(STATEVAR); } }
- 559#define RADIOLIB_ASSERT_PTR(PTR) { if((PTR) == NULL) { RADIOLIB_DEBUG_BASIC_PRINTLN("NULL at %s:%d", __FILE__, __LINE__); return(RADIOLIB_ERR_MEMORY_ALLOCATION_FAILED); } }
-
- 561#define RADIOLIB_ASSERT(STATEVAR) { if((STATEVAR) != RADIOLIB_ERR_NONE) { return(STATEVAR); } }
- 562#define RADIOLIB_ASSERT_PTR(PTR) { if((PTR) == NULL) { return(RADIOLIB_ERR_MEMORY_ALLOCATION_FAILED); } }
-
-
- 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 7
- 587#define RADIOLIB_VERSION_MINOR 1
- 588#define RADIOLIB_VERSION_PATCH 2
- 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))
-
-
+
+ 545#define RADIOLIB_VALUE_TO_STRING(x) #x
+ 546#define RADIOLIB_VALUE(x) RADIOLIB_VALUE_TO_STRING(x)
+
+ 548#define RADIOLIB_INFO "\nRadioLib Info\nVersion: \"" \
+ 549 RADIOLIB_VALUE(RADIOLIB_VERSION_MAJOR) "." \
+ 550 RADIOLIB_VALUE(RADIOLIB_VERSION_MINOR) "." \
+ 551 RADIOLIB_VALUE(RADIOLIB_VERSION_PATCH) "." \
+ 552 RADIOLIB_VALUE(RADIOLIB_VERSION_EXTRA) "\"\n" \
+ 553 "Platform: " RADIOLIB_VALUE(RADIOLIB_PLATFORM) "\n" \
+ 554 "Compiled: " RADIOLIB_VALUE(__DATE__) " " RADIOLIB_VALUE(__TIME__)
+
+ 561#if RADIOLIB_VERBOSE_ASSERT
+ 562#define RADIOLIB_ASSERT(STATEVAR) { if((STATEVAR) != RADIOLIB_ERR_NONE) { RADIOLIB_DEBUG_BASIC_PRINTLN("%d at %s:%d", STATEVAR, __FILE__, __LINE__); return(STATEVAR); } }
+ 563#define RADIOLIB_ASSERT_PTR(PTR) { if((PTR) == NULL) { RADIOLIB_DEBUG_BASIC_PRINTLN("NULL at %s:%d", __FILE__, __LINE__); return(RADIOLIB_ERR_MEMORY_ALLOCATION_FAILED); } }
+
+ 565#define RADIOLIB_ASSERT(STATEVAR) { if((STATEVAR) != RADIOLIB_ERR_NONE) { return(STATEVAR); } }
+ 566#define RADIOLIB_ASSERT_PTR(PTR) { if((PTR) == NULL) { return(RADIOLIB_ERR_MEMORY_ALLOCATION_FAILED); } }
+
+
+ 572#if RADIOLIB_CHECK_PARAMS
+ 573 #define RADIOLIB_CHECK_RANGE(VAR, MIN, MAX, ERR) { if(!(((VAR) >= (MIN)) && ((VAR) <= (MAX)))) { return(ERR); } }
+
+ 575 #define RADIOLIB_CHECK_RANGE(VAR, MIN, MAX, ERR) {}
+
+
+ 578#if RADIOLIB_FIX_ERRATA_SX127X
+ 579 #define RADIOLIB_ERRATA_SX127X(...) { errataFix(__VA_ARGS__); }
+
+ 581 #define RADIOLIB_ERRATA_SX127X(...) {}
+
+
+
+ 585#define RADIOLIB_MIN(a,b) ((a)<(b)?(a):(b))
+ 586#define RADIOLIB_MAX(a,b) ((a)>(b)?(a):(b))
+ 587#define RADIOLIB_ABS(x) ((x)>0?(x):-(x))
+
+
+ 590#define RADIOLIB_VERSION_MAJOR 7
+ 591#define RADIOLIB_VERSION_MINOR 1
+ 592#define RADIOLIB_VERSION_PATCH 2
+ 593#define RADIOLIB_VERSION_EXTRA 0
+
+ 595#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:642