diff --git a/_build_opt_8h_source.html b/_build_opt_8h_source.html
index 39632c06..fddea110 100644
--- a/_build_opt_8h_source.html
+++ b/_build_opt_8h_source.html
@@ -600,418 +600,430 @@ $(document).ready(function(){initNavTree('_build_opt_8h_source.html',''); initRe
512 #define RADIOLIB_NONVOLATILE_READ_BYTE(addr) pgm_read_byte(addr)
513 #define RADIOLIB_TYPE_ALIAS(type, alias) using alias = type;
-
- 516 #define RADIOLIB_CB_ARGS_PIN_MODE (void, pinMode, pin_size_t pin, PinMode mode)
- 517 #define RADIOLIB_CB_ARGS_DIGITAL_WRITE (void, digitalWrite, pin_size_t pin, PinStatus val)
- 518 #define RADIOLIB_CB_ARGS_DIGITAL_READ (PinStatus, digitalRead, pin_size_t pin)
- 519 #define RADIOLIB_CB_ARGS_TONE (void, tone, uint8_t pin, unsigned int frequency, unsigned long duration)
- 520 #define RADIOLIB_CB_ARGS_NO_TONE (void, noTone, uint8_t pin)
- 521 #define RADIOLIB_CB_ARGS_ATTACH_INTERRUPT (void, attachInterrupt, pin_size_t interruptNum, voidFuncPtr func, PinStatus mode)
- 522 #define RADIOLIB_CB_ARGS_DETACH_INTERRUPT (void, detachInterrupt, pin_size_t interruptNum)
- 523 #define RADIOLIB_CB_ARGS_YIELD (void, yield, void)
- 524 #define RADIOLIB_CB_ARGS_DELAY (void, delay, unsigned long ms)
- 525 #define RADIOLIB_CB_ARGS_DELAY_MICROSECONDS (void, delayMicroseconds, unsigned int us)
- 526 #define RADIOLIB_CB_ARGS_MILLIS (unsigned long, millis, void)
- 527 #define RADIOLIB_CB_ARGS_MICROS (unsigned long, micros, void)
- 528 #define RADIOLIB_CB_ARGS_SPI_BEGIN (void, SPIbegin, void)
- 529 #define RADIOLIB_CB_ARGS_SPI_BEGIN_TRANSACTION (void, SPIbeginTransaction, void)
- 530 #define RADIOLIB_CB_ARGS_SPI_TRANSFER (uint8_t, SPItransfer, uint8_t b)
- 531 #define RADIOLIB_CB_ARGS_SPI_END_TRANSACTION (void, SPIendTransaction, void)
- 532 #define RADIOLIB_CB_ARGS_SPI_END (void, SPIend, void)
-
- 534 #elif defined(ARDUINO_PORTENTA_H7_M7) || defined(ARDUINO_PORTENTA_H7_M4)
-
- 536 #define RADIOLIB_PLATFORM "Portenta H7"
- 537 #define RADIOLIB_PIN_TYPE pin_size_t
- 538 #define RADIOLIB_PIN_MODE PinMode
- 539 #define RADIOLIB_PIN_STATUS PinStatus
- 540 #define RADIOLIB_INTERRUPT_STATUS RADIOLIB_PIN_STATUS
- 541 #define RADIOLIB_DIGITAL_PIN_TO_INTERRUPT(p) digitalPinToInterrupt(p)
- 542 #define RADIOLIB_NC (0xFF)
- 543 #define RADIOLIB_DEFAULT_SPI SPI
- 544 #define RADIOLIB_DEFAULT_SPI_SETTINGS SPISettings(2000000, MSBFIRST, SPI_MODE0)
- 545 #define RADIOLIB_NONVOLATILE PROGMEM
- 546 #define RADIOLIB_NONVOLATILE_READ_BYTE(addr) pgm_read_byte(addr)
- 547 #define RADIOLIB_TYPE_ALIAS(type, alias) using alias = type;
-
-
- 550 #define RADIOLIB_CB_ARGS_PIN_MODE (void, pinMode, pin_size_t pin, PinMode mode)
- 551 #define RADIOLIB_CB_ARGS_DIGITAL_WRITE (void, digitalWrite, pin_size_t pin, PinStatus val)
- 552 #define RADIOLIB_CB_ARGS_DIGITAL_READ (PinStatus, digitalRead, pin_size_t pin)
- 553 #define RADIOLIB_CB_ARGS_TONE (void, tone, uint8_t pin, unsigned int frequency, unsigned long duration)
- 554 #define RADIOLIB_CB_ARGS_NO_TONE (void, noTone, uint8_t pin)
- 555 #define RADIOLIB_CB_ARGS_ATTACH_INTERRUPT (void, attachInterrupt, pin_size_t interruptNum, voidFuncPtr func, PinStatus mode)
- 556 #define RADIOLIB_CB_ARGS_DETACH_INTERRUPT (void, detachInterrupt, pin_size_t interruptNum)
- 557 #define RADIOLIB_CB_ARGS_YIELD (void, yield, void)
- 558 #define RADIOLIB_CB_ARGS_DELAY (void, delay, unsigned long ms)
- 559 #define RADIOLIB_CB_ARGS_DELAY_MICROSECONDS (void, delayMicroseconds, unsigned int us)
- 560 #define RADIOLIB_CB_ARGS_MILLIS (unsigned long, millis, void)
- 561 #define RADIOLIB_CB_ARGS_MICROS (unsigned long, micros, void)
- 562 #define RADIOLIB_CB_ARGS_SPI_BEGIN (void, SPIbegin, void)
- 563 #define RADIOLIB_CB_ARGS_SPI_BEGIN_TRANSACTION (void, SPIbeginTransaction, void)
- 564 #define RADIOLIB_CB_ARGS_SPI_TRANSFER (uint8_t, SPItransfer, uint8_t b)
- 565 #define RADIOLIB_CB_ARGS_SPI_END_TRANSACTION (void, SPIendTransaction, void)
- 566 #define RADIOLIB_CB_ARGS_SPI_END (void, SPIend, void)
-
- 568 #elif defined(__STM32F4__) || defined(__STM32F1__)
-
- 570 #define RADIOLIB_PLATFORM "STM32duino (unofficial)"
- 571 #define RADIOLIB_PIN_TYPE uint8_t
- 572 #define RADIOLIB_PIN_MODE WiringPinMode
- 573 #define RADIOLIB_PIN_STATUS uint8_t
- 574 #define RADIOLIB_INTERRUPT_STATUS ExtIntTriggerMode
- 575 #define RADIOLIB_DIGITAL_PIN_TO_INTERRUPT(p) digitalPinToInterrupt(p)
- 576 #define RADIOLIB_NC (0xFF)
- 577 #define RADIOLIB_DEFAULT_SPI SPI
- 578 #define RADIOLIB_DEFAULT_SPI_SETTINGS SPISettings(2000000, MSBFIRST, SPI_MODE0)
- 579 #define RADIOLIB_NONVOLATILE PROGMEM
- 580 #define RADIOLIB_NONVOLATILE_READ_BYTE(addr) pgm_read_byte(addr)
- 581 #define RADIOLIB_TYPE_ALIAS(type, alias) using alias = type;
-
-
- 584 #define RADIOLIB_CB_ARGS_PIN_MODE (void, pinMode, uint8 pin, WiringPinMode mode)
- 585 #define RADIOLIB_CB_ARGS_DIGITAL_WRITE (void, digitalWrite, uint8 pin, uint8 val)
- 586 #define RADIOLIB_CB_ARGS_DIGITAL_READ (uint32_t, digitalRead, uint8 pin)
- 587 #define RADIOLIB_CB_ARGS_TONE (void, tone, uint32_t _pin, uint32_t frequency, uint32_t duration)
- 588 #define RADIOLIB_CB_ARGS_NO_TONE (void, noTone, uint32_t _pin)
- 589 #define RADIOLIB_CB_ARGS_ATTACH_INTERRUPT (void, attachInterrupt, uint8 pin, voidFuncPtr handler, ExtIntTriggerMode mode)
- 590 #define RADIOLIB_CB_ARGS_DETACH_INTERRUPT (void, detachInterrupt, uint8 pin)
- 591 #define RADIOLIB_CB_ARGS_YIELD (void, yield, void)
- 592 #define RADIOLIB_CB_ARGS_DELAY (void, delay, unsigned long ms)
- 593 #define RADIOLIB_CB_ARGS_DELAY_MICROSECONDS (void, delayMicroseconds, uint32 us)
- 594 #define RADIOLIB_CB_ARGS_MILLIS (uint32_t, millis, void)
- 595 #define RADIOLIB_CB_ARGS_MICROS (uint32_t, micros, void)
- 596 #define RADIOLIB_CB_ARGS_SPI_BEGIN (void, SPIbegin, void)
- 597 #define RADIOLIB_CB_ARGS_SPI_BEGIN_TRANSACTION (void, SPIbeginTransaction, void)
- 598 #define RADIOLIB_CB_ARGS_SPI_TRANSFER (uint8_t, SPItransfer, uint8_t b)
- 599 #define RADIOLIB_CB_ARGS_SPI_END_TRANSACTION (void, SPIendTransaction, void)
- 600 #define RADIOLIB_CB_ARGS_SPI_END (void, SPIend, void)
-
- 602 #elif defined(ARDUINO_ARCH_MEGAAVR)
-
- 604 #define RADIOLIB_PLATFORM "MegaCoreX"
- 605 #define RADIOLIB_PIN_TYPE uint8_t
- 606 #define RADIOLIB_PIN_MODE uint8_t
- 607 #define RADIOLIB_PIN_STATUS uint8_t
- 608 #define RADIOLIB_INTERRUPT_STATUS RADIOLIB_PIN_STATUS
- 609 #define RADIOLIB_DIGITAL_PIN_TO_INTERRUPT(p) digitalPinToInterrupt(p)
- 610 #define RADIOLIB_NC (0xFF)
- 611 #define RADIOLIB_DEFAULT_SPI SPI
- 612 #define RADIOLIB_DEFAULT_SPI_SETTINGS SPISettings(2000000, MSBFIRST, SPI_MODE0)
- 613 #define RADIOLIB_NONVOLATILE PROGMEM
- 614 #define RADIOLIB_NONVOLATILE_READ_BYTE(addr) pgm_read_byte(addr)
- 615 #define RADIOLIB_TYPE_ALIAS(type, alias) using alias = type;
-
-
- 618 #define RADIOLIB_CB_ARGS_PIN_MODE (void, pinMode, uint8_t pin, uint8_t mode)
- 619 #define RADIOLIB_CB_ARGS_DIGITAL_WRITE (void, digitalWrite, uint8_t pin, uint8_t value)
- 620 #define RADIOLIB_CB_ARGS_DIGITAL_READ (uint8_t, digitalRead, uint8_t pin)
- 621 #define RADIOLIB_CB_ARGS_TONE (void, tone, uint8_t _pin, unsigned int frequency, unsigned long duration)
- 622 #define RADIOLIB_CB_ARGS_NO_TONE (void, noTone, uint8_t _pin)
- 623 #define RADIOLIB_CB_ARGS_ATTACH_INTERRUPT (void, attachInterrupt, uint8_t pin, void (*userFunc)(void), uint8_t mode)
- 624 #define RADIOLIB_CB_ARGS_DETACH_INTERRUPT (void, detachInterrupt, uint8_t interruptNum)
- 625 #define RADIOLIB_CB_ARGS_YIELD (void, yield, void)
- 626 #define RADIOLIB_CB_ARGS_DELAY (void, delay, unsigned long ms)
- 627 #define RADIOLIB_CB_ARGS_DELAY_MICROSECONDS (void, delayMicroseconds, unsigned int us)
- 628 #define RADIOLIB_CB_ARGS_MILLIS (unsigned long, millis, void)
- 629 #define RADIOLIB_CB_ARGS_MICROS (unsigned long, micros, void)
- 630 #define RADIOLIB_CB_ARGS_SPI_BEGIN (void, SPIbegin, void)
- 631 #define RADIOLIB_CB_ARGS_SPI_BEGIN_TRANSACTION (void, SPIbeginTransaction, void)
- 632 #define RADIOLIB_CB_ARGS_SPI_TRANSFER (uint8_t, SPItransfer, uint8_t b)
- 633 #define RADIOLIB_CB_ARGS_SPI_END_TRANSACTION (void, SPIendTransaction, void)
- 634 #define RADIOLIB_CB_ARGS_SPI_END (void, SPIend, void)
-
- 636 #elif defined(ARDUINO_ARCH_RP2040)
-
- 638 #define RADIOLIB_PLATFORM "Raspberry Pi Pico"
- 639 #define RADIOLIB_PIN_TYPE pin_size_t
- 640 #define RADIOLIB_PIN_MODE PinMode
- 641 #define RADIOLIB_PIN_STATUS PinStatus
- 642 #define RADIOLIB_INTERRUPT_STATUS RADIOLIB_PIN_STATUS
- 643 #define RADIOLIB_DIGITAL_PIN_TO_INTERRUPT(p) digitalPinToInterrupt(p)
- 644 #define RADIOLIB_NC (0xFF)
- 645 #define RADIOLIB_DEFAULT_SPI SPI
- 646 #define RADIOLIB_DEFAULT_SPI_SETTINGS SPISettings(2000000, MSBFIRST, SPI_MODE0)
- 647 #define RADIOLIB_NONVOLATILE PROGMEM
- 648 #define RADIOLIB_NONVOLATILE_READ_BYTE(addr) pgm_read_byte(addr)
- 649 #define RADIOLIB_TYPE_ALIAS(type, alias) using alias = type;
-
-
- 652 #define RADIOLIB_CB_ARGS_PIN_MODE (void, pinMode, pin_size_t pin, PinMode mode)
- 653 #define RADIOLIB_CB_ARGS_DIGITAL_WRITE (void, digitalWrite, pin_size_t pin, PinStatus val)
- 654 #define RADIOLIB_CB_ARGS_DIGITAL_READ (PinStatus, digitalRead, pin_size_t pin)
- 655 #define RADIOLIB_CB_ARGS_TONE (void, tone, uint8_t pin, unsigned int frequency, unsigned long duration)
- 656 #define RADIOLIB_CB_ARGS_NO_TONE (void, noTone, uint8_t pin)
- 657 #define RADIOLIB_CB_ARGS_ATTACH_INTERRUPT (void, attachInterrupt, pin_size_t interruptNum, voidFuncPtr func, PinStatus mode)
- 658 #define RADIOLIB_CB_ARGS_DETACH_INTERRUPT (void, detachInterrupt, pin_size_t interruptNum)
- 659 #define RADIOLIB_CB_ARGS_YIELD (void, yield, void)
- 660 #define RADIOLIB_CB_ARGS_DELAY (void, delay, unsigned long ms)
- 661 #define RADIOLIB_CB_ARGS_DELAY_MICROSECONDS (void, delayMicroseconds, unsigned int us)
- 662 #define RADIOLIB_CB_ARGS_MILLIS (unsigned long, millis, void)
- 663 #define RADIOLIB_CB_ARGS_MICROS (unsigned long, micros, void)
- 664 #define RADIOLIB_CB_ARGS_SPI_BEGIN (void, SPIbegin, void)
- 665 #define RADIOLIB_CB_ARGS_SPI_BEGIN_TRANSACTION (void, SPIbeginTransaction, void)
- 666 #define RADIOLIB_CB_ARGS_SPI_TRANSFER (uint8_t, SPItransfer, uint8_t b)
- 667 #define RADIOLIB_CB_ARGS_SPI_END_TRANSACTION (void, SPIendTransaction, void)
- 668 #define RADIOLIB_CB_ARGS_SPI_END (void, SPIend, void)
-
- 670 #elif defined(__ASR6501__) || defined(ARDUINO_ARCH_ASR650X) || defined(DARDUINO_ARCH_ASR6601)
-
- 672 #define RADIOLIB_PLATFORM "CubeCell"
- 673 #define RADIOLIB_PIN_TYPE uint8_t
- 674 #define RADIOLIB_PIN_MODE PINMODE
- 675 #define RADIOLIB_PIN_STATUS uint8_t
- 676 #define RADIOLIB_INTERRUPT_STATUS IrqModes
- 677 #define RADIOLIB_DIGITAL_PIN_TO_INTERRUPT(p) digitalPinToInterrupt(p)
- 678 #define RADIOLIB_NC (0xFF)
- 679 #define RADIOLIB_DEFAULT_SPI SPI
- 680 #define RADIOLIB_DEFAULT_SPI_SETTINGS SPISettings(2000000, MSBFIRST, SPI_MODE0)
- 681 #define RADIOLIB_NONVOLATILE PROGMEM
- 682 #define RADIOLIB_NONVOLATILE_READ_BYTE(addr) pgm_read_byte(addr)
-
-
- 685 #define RADIOLIB_CB_ARGS_PIN_MODE (void, pinMode, uint8_t pin, PINMODE mode)
- 686 #define RADIOLIB_CB_ARGS_DIGITAL_WRITE (void, digitalWrite, uint8_t pin_name, uint8_t level)
- 687 #define RADIOLIB_CB_ARGS_DIGITAL_READ (uint8_t, digitalRead, uint8_t pin_name)
- 688 #define RADIOLIB_CB_ARGS_TONE (void, tone, void)
- 689 #define RADIOLIB_CB_ARGS_NO_TONE (void, noTone, void)
- 690 #define RADIOLIB_CB_ARGS_ATTACH_INTERRUPT (void, attachInterrupt, uint8_t pin_name, GpioIrqHandler GpioIrqHandlerCallback, IrqModes interrupt_mode)
- 691 #define RADIOLIB_CB_ARGS_DETACH_INTERRUPT (void, detachInterrupt, uint8_t pin_name)
- 692 #define RADIOLIB_CB_ARGS_YIELD (void, yield, void)
- 693 #define RADIOLIB_CB_ARGS_DELAY (void, delay, uint32_t milliseconds)
- 694 #define RADIOLIB_CB_ARGS_DELAY_MICROSECONDS (void, delayMicroseconds, uint16 microseconds)
- 695 #define RADIOLIB_CB_ARGS_MILLIS (uint32_t, millis, void)
- 696 #define RADIOLIB_CB_ARGS_MICROS (uint32_t, micros, void)
- 697 #define RADIOLIB_CB_ARGS_SPI_BEGIN (void, SPIbegin, void)
- 698 #define RADIOLIB_CB_ARGS_SPI_BEGIN_TRANSACTION (void, SPIbeginTransaction, void)
- 699 #define RADIOLIB_CB_ARGS_SPI_TRANSFER (uint8_t, SPItransfer, uint8_t b)
- 700 #define RADIOLIB_CB_ARGS_SPI_END_TRANSACTION (void, SPIendTransaction, void)
- 701 #define RADIOLIB_CB_ARGS_SPI_END (void, SPIend, void)
-
-
- 704 #include "board-config.h"
- 705 #define RADIOLIB_BUILTIN_MODULE RADIO_NSS, RADIO_DIO_1, RADIO_RESET, RADIO_BUSY
-
-
-
-
-
-
-
-
- 714 #define RADIOLIB_TYPE_ALIAS(type, alias) typedef class type alias;
-
-
- 717 #define RADIOLIB_TONE_UNSUPPORTED
+
+ 516 #define RADIOLIB_TONE_UNSUPPORTED
+ 517 #define RADIOLIB_MBED_TONE_OVERRIDE
+
+
+ 520 #define RADIOLIB_CB_ARGS_PIN_MODE (void, pinMode, pin_size_t pin, PinMode mode)
+ 521 #define RADIOLIB_CB_ARGS_DIGITAL_WRITE (void, digitalWrite, pin_size_t pin, PinStatus val)
+ 522 #define RADIOLIB_CB_ARGS_DIGITAL_READ (PinStatus, digitalRead, pin_size_t pin)
+ 523 #define RADIOLIB_CB_ARGS_TONE (void, tone, uint8_t pin, unsigned int frequency, unsigned long duration)
+ 524 #define RADIOLIB_CB_ARGS_NO_TONE (void, noTone, uint8_t pin)
+ 525 #define RADIOLIB_CB_ARGS_ATTACH_INTERRUPT (void, attachInterrupt, pin_size_t interruptNum, voidFuncPtr func, PinStatus mode)
+ 526 #define RADIOLIB_CB_ARGS_DETACH_INTERRUPT (void, detachInterrupt, pin_size_t interruptNum)
+ 527 #define RADIOLIB_CB_ARGS_YIELD (void, yield, void)
+ 528 #define RADIOLIB_CB_ARGS_DELAY (void, delay, unsigned long ms)
+ 529 #define RADIOLIB_CB_ARGS_DELAY_MICROSECONDS (void, delayMicroseconds, unsigned int us)
+ 530 #define RADIOLIB_CB_ARGS_MILLIS (unsigned long, millis, void)
+ 531 #define RADIOLIB_CB_ARGS_MICROS (unsigned long, micros, void)
+ 532 #define RADIOLIB_CB_ARGS_SPI_BEGIN (void, SPIbegin, void)
+ 533 #define RADIOLIB_CB_ARGS_SPI_BEGIN_TRANSACTION (void, SPIbeginTransaction, void)
+ 534 #define RADIOLIB_CB_ARGS_SPI_TRANSFER (uint8_t, SPItransfer, uint8_t b)
+ 535 #define RADIOLIB_CB_ARGS_SPI_END_TRANSACTION (void, SPIendTransaction, void)
+ 536 #define RADIOLIB_CB_ARGS_SPI_END (void, SPIend, void)
+
+ 538 #elif defined(ARDUINO_PORTENTA_H7_M7) || defined(ARDUINO_PORTENTA_H7_M4)
+
+ 540 #define RADIOLIB_PLATFORM "Portenta H7"
+ 541 #define RADIOLIB_PIN_TYPE pin_size_t
+ 542 #define RADIOLIB_PIN_MODE PinMode
+ 543 #define RADIOLIB_PIN_STATUS PinStatus
+ 544 #define RADIOLIB_INTERRUPT_STATUS RADIOLIB_PIN_STATUS
+ 545 #define RADIOLIB_DIGITAL_PIN_TO_INTERRUPT(p) digitalPinToInterrupt(p)
+ 546 #define RADIOLIB_NC (0xFF)
+ 547 #define RADIOLIB_DEFAULT_SPI SPI
+ 548 #define RADIOLIB_DEFAULT_SPI_SETTINGS SPISettings(2000000, MSBFIRST, SPI_MODE0)
+ 549 #define RADIOLIB_NONVOLATILE PROGMEM
+ 550 #define RADIOLIB_NONVOLATILE_READ_BYTE(addr) pgm_read_byte(addr)
+ 551 #define RADIOLIB_TYPE_ALIAS(type, alias) using alias = type;
+
+
+ 554 #define RADIOLIB_TONE_UNSUPPORTED
+ 555 #define RADIOLIB_MBED_TONE_OVERRIDE
+
+
+ 558 #define RADIOLIB_CB_ARGS_PIN_MODE (void, pinMode, pin_size_t pin, PinMode mode)
+ 559 #define RADIOLIB_CB_ARGS_DIGITAL_WRITE (void, digitalWrite, pin_size_t pin, PinStatus val)
+ 560 #define RADIOLIB_CB_ARGS_DIGITAL_READ (PinStatus, digitalRead, pin_size_t pin)
+ 561 #define RADIOLIB_CB_ARGS_TONE (void, tone, uint8_t pin, unsigned int frequency, unsigned long duration)
+ 562 #define RADIOLIB_CB_ARGS_NO_TONE (void, noTone, uint8_t pin)
+ 563 #define RADIOLIB_CB_ARGS_ATTACH_INTERRUPT (void, attachInterrupt, pin_size_t interruptNum, voidFuncPtr func, PinStatus mode)
+ 564 #define RADIOLIB_CB_ARGS_DETACH_INTERRUPT (void, detachInterrupt, pin_size_t interruptNum)
+ 565 #define RADIOLIB_CB_ARGS_YIELD (void, yield, void)
+ 566 #define RADIOLIB_CB_ARGS_DELAY (void, delay, unsigned long ms)
+ 567 #define RADIOLIB_CB_ARGS_DELAY_MICROSECONDS (void, delayMicroseconds, unsigned int us)
+ 568 #define RADIOLIB_CB_ARGS_MILLIS (unsigned long, millis, void)
+ 569 #define RADIOLIB_CB_ARGS_MICROS (unsigned long, micros, void)
+ 570 #define RADIOLIB_CB_ARGS_SPI_BEGIN (void, SPIbegin, void)
+ 571 #define RADIOLIB_CB_ARGS_SPI_BEGIN_TRANSACTION (void, SPIbeginTransaction, void)
+ 572 #define RADIOLIB_CB_ARGS_SPI_TRANSFER (uint8_t, SPItransfer, uint8_t b)
+ 573 #define RADIOLIB_CB_ARGS_SPI_END_TRANSACTION (void, SPIendTransaction, void)
+ 574 #define RADIOLIB_CB_ARGS_SPI_END (void, SPIend, void)
+
+ 576 #elif defined(__STM32F4__) || defined(__STM32F1__)
+
+ 578 #define RADIOLIB_PLATFORM "STM32duino (unofficial)"
+ 579 #define RADIOLIB_PIN_TYPE uint8_t
+ 580 #define RADIOLIB_PIN_MODE WiringPinMode
+ 581 #define RADIOLIB_PIN_STATUS uint8_t
+ 582 #define RADIOLIB_INTERRUPT_STATUS ExtIntTriggerMode
+ 583 #define RADIOLIB_DIGITAL_PIN_TO_INTERRUPT(p) digitalPinToInterrupt(p)
+ 584 #define RADIOLIB_NC (0xFF)
+ 585 #define RADIOLIB_DEFAULT_SPI SPI
+ 586 #define RADIOLIB_DEFAULT_SPI_SETTINGS SPISettings(2000000, MSBFIRST, SPI_MODE0)
+ 587 #define RADIOLIB_NONVOLATILE PROGMEM
+ 588 #define RADIOLIB_NONVOLATILE_READ_BYTE(addr) pgm_read_byte(addr)
+ 589 #define RADIOLIB_TYPE_ALIAS(type, alias) using alias = type;
+
+
+ 592 #define RADIOLIB_CB_ARGS_PIN_MODE (void, pinMode, uint8 pin, WiringPinMode mode)
+ 593 #define RADIOLIB_CB_ARGS_DIGITAL_WRITE (void, digitalWrite, uint8 pin, uint8 val)
+ 594 #define RADIOLIB_CB_ARGS_DIGITAL_READ (uint32_t, digitalRead, uint8 pin)
+ 595 #define RADIOLIB_CB_ARGS_TONE (void, tone, uint32_t _pin, uint32_t frequency, uint32_t duration)
+ 596 #define RADIOLIB_CB_ARGS_NO_TONE (void, noTone, uint32_t _pin)
+ 597 #define RADIOLIB_CB_ARGS_ATTACH_INTERRUPT (void, attachInterrupt, uint8 pin, voidFuncPtr handler, ExtIntTriggerMode mode)
+ 598 #define RADIOLIB_CB_ARGS_DETACH_INTERRUPT (void, detachInterrupt, uint8 pin)
+ 599 #define RADIOLIB_CB_ARGS_YIELD (void, yield, void)
+ 600 #define RADIOLIB_CB_ARGS_DELAY (void, delay, unsigned long ms)
+ 601 #define RADIOLIB_CB_ARGS_DELAY_MICROSECONDS (void, delayMicroseconds, uint32 us)
+ 602 #define RADIOLIB_CB_ARGS_MILLIS (uint32_t, millis, void)
+ 603 #define RADIOLIB_CB_ARGS_MICROS (uint32_t, micros, void)
+ 604 #define RADIOLIB_CB_ARGS_SPI_BEGIN (void, SPIbegin, void)
+ 605 #define RADIOLIB_CB_ARGS_SPI_BEGIN_TRANSACTION (void, SPIbeginTransaction, void)
+ 606 #define RADIOLIB_CB_ARGS_SPI_TRANSFER (uint8_t, SPItransfer, uint8_t b)
+ 607 #define RADIOLIB_CB_ARGS_SPI_END_TRANSACTION (void, SPIendTransaction, void)
+ 608 #define RADIOLIB_CB_ARGS_SPI_END (void, SPIend, void)
+
+ 610 #elif defined(ARDUINO_ARCH_MEGAAVR)
+
+ 612 #define RADIOLIB_PLATFORM "MegaCoreX"
+ 613 #define RADIOLIB_PIN_TYPE uint8_t
+ 614 #define RADIOLIB_PIN_MODE uint8_t
+ 615 #define RADIOLIB_PIN_STATUS uint8_t
+ 616 #define RADIOLIB_INTERRUPT_STATUS RADIOLIB_PIN_STATUS
+ 617 #define RADIOLIB_DIGITAL_PIN_TO_INTERRUPT(p) digitalPinToInterrupt(p)
+ 618 #define RADIOLIB_NC (0xFF)
+ 619 #define RADIOLIB_DEFAULT_SPI SPI
+ 620 #define RADIOLIB_DEFAULT_SPI_SETTINGS SPISettings(2000000, MSBFIRST, SPI_MODE0)
+ 621 #define RADIOLIB_NONVOLATILE PROGMEM
+ 622 #define RADIOLIB_NONVOLATILE_READ_BYTE(addr) pgm_read_byte(addr)
+ 623 #define RADIOLIB_TYPE_ALIAS(type, alias) using alias = type;
+
+
+ 626 #define RADIOLIB_CB_ARGS_PIN_MODE (void, pinMode, uint8_t pin, uint8_t mode)
+ 627 #define RADIOLIB_CB_ARGS_DIGITAL_WRITE (void, digitalWrite, uint8_t pin, uint8_t value)
+ 628 #define RADIOLIB_CB_ARGS_DIGITAL_READ (uint8_t, digitalRead, uint8_t pin)
+ 629 #define RADIOLIB_CB_ARGS_TONE (void, tone, uint8_t _pin, unsigned int frequency, unsigned long duration)
+ 630 #define RADIOLIB_CB_ARGS_NO_TONE (void, noTone, uint8_t _pin)
+ 631 #define RADIOLIB_CB_ARGS_ATTACH_INTERRUPT (void, attachInterrupt, uint8_t pin, void (*userFunc)(void), uint8_t mode)
+ 632 #define RADIOLIB_CB_ARGS_DETACH_INTERRUPT (void, detachInterrupt, uint8_t interruptNum)
+ 633 #define RADIOLIB_CB_ARGS_YIELD (void, yield, void)
+ 634 #define RADIOLIB_CB_ARGS_DELAY (void, delay, unsigned long ms)
+ 635 #define RADIOLIB_CB_ARGS_DELAY_MICROSECONDS (void, delayMicroseconds, unsigned int us)
+ 636 #define RADIOLIB_CB_ARGS_MILLIS (unsigned long, millis, void)
+ 637 #define RADIOLIB_CB_ARGS_MICROS (unsigned long, micros, void)
+ 638 #define RADIOLIB_CB_ARGS_SPI_BEGIN (void, SPIbegin, void)
+ 639 #define RADIOLIB_CB_ARGS_SPI_BEGIN_TRANSACTION (void, SPIbeginTransaction, void)
+ 640 #define RADIOLIB_CB_ARGS_SPI_TRANSFER (uint8_t, SPItransfer, uint8_t b)
+ 641 #define RADIOLIB_CB_ARGS_SPI_END_TRANSACTION (void, SPIendTransaction, void)
+ 642 #define RADIOLIB_CB_ARGS_SPI_END (void, SPIend, void)
+
+ 644 #elif defined(ARDUINO_ARCH_RP2040)
+
+ 646 #define RADIOLIB_PLATFORM "Raspberry Pi Pico"
+ 647 #define RADIOLIB_PIN_TYPE pin_size_t
+ 648 #define RADIOLIB_PIN_MODE PinMode
+ 649 #define RADIOLIB_PIN_STATUS PinStatus
+ 650 #define RADIOLIB_INTERRUPT_STATUS RADIOLIB_PIN_STATUS
+ 651 #define RADIOLIB_DIGITAL_PIN_TO_INTERRUPT(p) digitalPinToInterrupt(p)
+ 652 #define RADIOLIB_NC (0xFF)
+ 653 #define RADIOLIB_DEFAULT_SPI SPI
+ 654 #define RADIOLIB_DEFAULT_SPI_SETTINGS SPISettings(2000000, MSBFIRST, SPI_MODE0)
+ 655 #define RADIOLIB_NONVOLATILE PROGMEM
+ 656 #define RADIOLIB_NONVOLATILE_READ_BYTE(addr) pgm_read_byte(addr)
+ 657 #define RADIOLIB_TYPE_ALIAS(type, alias) using alias = type;
+
+
+ 660 #define RADIOLIB_TONE_UNSUPPORTED
+ 661 #define RADIOLIB_MBED_TONE_OVERRIDE
+
+
+ 664 #define RADIOLIB_CB_ARGS_PIN_MODE (void, pinMode, pin_size_t pin, PinMode mode)
+ 665 #define RADIOLIB_CB_ARGS_DIGITAL_WRITE (void, digitalWrite, pin_size_t pin, PinStatus val)
+ 666 #define RADIOLIB_CB_ARGS_DIGITAL_READ (PinStatus, digitalRead, pin_size_t pin)
+ 667 #define RADIOLIB_CB_ARGS_TONE (void, tone, uint8_t pin, unsigned int frequency, unsigned long duration)
+ 668 #define RADIOLIB_CB_ARGS_NO_TONE (void, noTone, uint8_t pin)
+ 669 #define RADIOLIB_CB_ARGS_ATTACH_INTERRUPT (void, attachInterrupt, pin_size_t interruptNum, voidFuncPtr func, PinStatus mode)
+ 670 #define RADIOLIB_CB_ARGS_DETACH_INTERRUPT (void, detachInterrupt, pin_size_t interruptNum)
+ 671 #define RADIOLIB_CB_ARGS_YIELD (void, yield, void)
+ 672 #define RADIOLIB_CB_ARGS_DELAY (void, delay, unsigned long ms)
+ 673 #define RADIOLIB_CB_ARGS_DELAY_MICROSECONDS (void, delayMicroseconds, unsigned int us)
+ 674 #define RADIOLIB_CB_ARGS_MILLIS (unsigned long, millis, void)
+ 675 #define RADIOLIB_CB_ARGS_MICROS (unsigned long, micros, void)
+ 676 #define RADIOLIB_CB_ARGS_SPI_BEGIN (void, SPIbegin, void)
+ 677 #define RADIOLIB_CB_ARGS_SPI_BEGIN_TRANSACTION (void, SPIbeginTransaction, void)
+ 678 #define RADIOLIB_CB_ARGS_SPI_TRANSFER (uint8_t, SPItransfer, uint8_t b)
+ 679 #define RADIOLIB_CB_ARGS_SPI_END_TRANSACTION (void, SPIendTransaction, void)
+ 680 #define RADIOLIB_CB_ARGS_SPI_END (void, SPIend, void)
+
+ 682 #elif defined(__ASR6501__) || defined(ARDUINO_ARCH_ASR650X) || defined(DARDUINO_ARCH_ASR6601)
+
+ 684 #define RADIOLIB_PLATFORM "CubeCell"
+ 685 #define RADIOLIB_PIN_TYPE uint8_t
+ 686 #define RADIOLIB_PIN_MODE PINMODE
+ 687 #define RADIOLIB_PIN_STATUS uint8_t
+ 688 #define RADIOLIB_INTERRUPT_STATUS IrqModes
+ 689 #define RADIOLIB_DIGITAL_PIN_TO_INTERRUPT(p) digitalPinToInterrupt(p)
+ 690 #define RADIOLIB_NC (0xFF)
+ 691 #define RADIOLIB_DEFAULT_SPI SPI
+ 692 #define RADIOLIB_DEFAULT_SPI_SETTINGS SPISettings(2000000, MSBFIRST, SPI_MODE0)
+ 693 #define RADIOLIB_NONVOLATILE PROGMEM
+ 694 #define RADIOLIB_NONVOLATILE_READ_BYTE(addr) pgm_read_byte(addr)
+
+
+ 697 #define RADIOLIB_CB_ARGS_PIN_MODE (void, pinMode, uint8_t pin, PINMODE mode)
+ 698 #define RADIOLIB_CB_ARGS_DIGITAL_WRITE (void, digitalWrite, uint8_t pin_name, uint8_t level)
+ 699 #define RADIOLIB_CB_ARGS_DIGITAL_READ (uint8_t, digitalRead, uint8_t pin_name)
+ 700 #define RADIOLIB_CB_ARGS_TONE (void, tone, void)
+ 701 #define RADIOLIB_CB_ARGS_NO_TONE (void, noTone, void)
+ 702 #define RADIOLIB_CB_ARGS_ATTACH_INTERRUPT (void, attachInterrupt, uint8_t pin_name, GpioIrqHandler GpioIrqHandlerCallback, IrqModes interrupt_mode)
+ 703 #define RADIOLIB_CB_ARGS_DETACH_INTERRUPT (void, detachInterrupt, uint8_t pin_name)
+ 704 #define RADIOLIB_CB_ARGS_YIELD (void, yield, void)
+ 705 #define RADIOLIB_CB_ARGS_DELAY (void, delay, uint32_t milliseconds)
+ 706 #define RADIOLIB_CB_ARGS_DELAY_MICROSECONDS (void, delayMicroseconds, uint16 microseconds)
+ 707 #define RADIOLIB_CB_ARGS_MILLIS (uint32_t, millis, void)
+ 708 #define RADIOLIB_CB_ARGS_MICROS (uint32_t, micros, void)
+ 709 #define RADIOLIB_CB_ARGS_SPI_BEGIN (void, SPIbegin, void)
+ 710 #define RADIOLIB_CB_ARGS_SPI_BEGIN_TRANSACTION (void, SPIbeginTransaction, void)
+ 711 #define RADIOLIB_CB_ARGS_SPI_TRANSFER (uint8_t, SPItransfer, uint8_t b)
+ 712 #define RADIOLIB_CB_ARGS_SPI_END_TRANSACTION (void, SPIendTransaction, void)
+ 713 #define RADIOLIB_CB_ARGS_SPI_END (void, SPIend, void)
+
+
+ 716 #include "board-config.h"
+ 717 #define RADIOLIB_BUILTIN_MODULE RADIO_NSS, RADIO_DIO_1, RADIO_RESET, RADIO_BUSY
-
- 720 #define RADIOLIB_YIELD_UNSUPPORTED
-
-
-
+
+
+
+
+
-
-
- 727 #define RADIOLIB_PLATFORM "Unknown Arduino"
- 728 #define RADIOLIB_UNKNOWN_PLATFORM
- 729 #define RADIOLIB_PIN_TYPE uint8_t
- 730 #define RADIOLIB_PIN_MODE uint8_t
- 731 #define RADIOLIB_PIN_STATUS uint8_t
- 732 #define RADIOLIB_INTERRUPT_STATUS RADIOLIB_PIN_STATUS
- 733 #define RADIOLIB_DIGITAL_PIN_TO_INTERRUPT(p) digitalPinToInterrupt(p)
- 734 #define RADIOLIB_NC (0xFF)
- 735 #define RADIOLIB_DEFAULT_SPI SPI
- 736 #define RADIOLIB_DEFAULT_SPI_SETTINGS SPISettings(2000000, MSBFIRST, SPI_MODE0)
- 737 #define RADIOLIB_NONVOLATILE PROGMEM
- 738 #define RADIOLIB_NONVOLATILE_READ_BYTE(addr) pgm_read_byte(addr)
- 739 #define RADIOLIB_TYPE_ALIAS(type, alias) using alias = type;
-
-
- 742 #define RADIOLIB_CB_ARGS_PIN_MODE (void, pinMode, uint8_t pin, uint8_t mode)
- 743 #define RADIOLIB_CB_ARGS_DIGITAL_WRITE (void, digitalWrite, uint8_t pin, uint8_t value)
- 744 #define RADIOLIB_CB_ARGS_DIGITAL_READ (int, digitalRead, uint8_t pin)
- 745 #define RADIOLIB_CB_ARGS_TONE (void, tone, uint8_t _pin, unsigned int frequency, unsigned long duration)
- 746 #define RADIOLIB_CB_ARGS_NO_TONE (void, noTone, uint8_t _pin)
- 747 #define RADIOLIB_CB_ARGS_ATTACH_INTERRUPT (void, attachInterrupt, uint8_t interruptNum, void (*userFunc)(void), int mode)
- 748 #define RADIOLIB_CB_ARGS_DETACH_INTERRUPT (void, detachInterrupt, uint8_t interruptNum)
- 749 #define RADIOLIB_CB_ARGS_YIELD (void, yield, void)
- 750 #define RADIOLIB_CB_ARGS_DELAY (void, delay, unsigned long ms)
- 751 #define RADIOLIB_CB_ARGS_DELAY_MICROSECONDS (void, delayMicroseconds, unsigned int us)
- 752 #define RADIOLIB_CB_ARGS_MILLIS (unsigned long, millis, void)
- 753 #define RADIOLIB_CB_ARGS_MICROS (unsigned long, micros, void)
- 754 #define RADIOLIB_CB_ARGS_SPI_BEGIN (void, SPIbegin, void)
- 755 #define RADIOLIB_CB_ARGS_SPI_BEGIN_TRANSACTION (void, SPIbeginTransaction, void)
- 756 #define RADIOLIB_CB_ARGS_SPI_TRANSFER (uint8_t, SPItransfer, uint8_t b)
- 757 #define RADIOLIB_CB_ARGS_SPI_END_TRANSACTION (void, SPIendTransaction, void)
- 758 #define RADIOLIB_CB_ARGS_SPI_END (void, SPIend, void)
-
-
-
-
-
-
- 765 #define RADIOLIB_PLATFORM "Generic"
-
-
-
-
-
-
-
-
-
-
-
-
- 778 #if !defined(RADIOLIB_DEBUG)
-
-
- 781 #if !defined(RADIOLIB_VERBOSE)
-
-
-
-
-
- 787 #if !defined(RADIOLIB_DEBUG_PORT)
- 788 #define RADIOLIB_DEBUG_PORT Serial
-
-
-
-
-
-
-
-
- 797 #if !defined(RADIOLIB_SPI_PARANOID)
- 798 #define RADIOLIB_SPI_PARANOID
-
-
-
-
-
-
-
-
-
- 808 #if !defined(RADIOLIB_CHECK_PARAMS)
- 809 #define RADIOLIB_CHECK_PARAMS
-
-
-
-
-
-
-
-
- 818 #if !defined(RADIOLIB_FIX_ERRATA_SX127X)
-
-
-
-
-
-
-
-
- 827 #if !defined(RADIOLIB_GODMODE)
-
-
-
-
-
-
-
-
- 836 #if !defined(RADIOLIB_LOW_LEVEL)
-
-
-
-
-
-
- 843 #if !defined(RADIOLIB_RADIOSHIELD)
-
-
-
-
-
-
-
- 851 #if !defined(RADIOLIB_STATIC_ONLY)
-
-
-
-
- 856 #if !defined(RADIOLIB_STATIC_ARRAY_SIZE)
- 857 #define RADIOLIB_STATIC_ARRAY_SIZE (256)
-
-
- 860 #if defined(RADIOLIB_DEBUG)
- 861 #if defined(RADIOLIB_BUILD_ARDUINO)
- 862 #define RADIOLIB_DEBUG_PRINT(...) { RADIOLIB_DEBUG_PORT.print(__VA_ARGS__); }
- 863 #define RADIOLIB_DEBUG_PRINTLN(...) { RADIOLIB_DEBUG_PORT.println(__VA_ARGS__); }
-
- 865 #if !defined(RADIOLIB_DEBUG_PRINT)
- 866 #define RADIOLIB_DEBUG_PRINT(...) { frintf(RADIOLIB_DEBUG_PORT, __VA_ARGS__); }
-
- 868 #if !defined(RADIOLIB_DEBUG_PRINTLN)
- 869 #define RADIOLIB_DEBUG_PRINTLN(...) { printf(RADIOLIB_DEBUG_PORT, __VA_ARGS__ "\n"); }
-
-
-
- 873 #define RADIOLIB_DEBUG_PRINT(...) {}
- 874 #define RADIOLIB_DEBUG_PRINTLN(...) {}
-
-
- 877 #if defined(RADIOLIB_VERBOSE)
- 878 #define RADIOLIB_VERBOSE_PRINT(...) RADIOLIB_DEBUG_PRINT(__VA_ARGS__)
- 879 #define RADIOLIB_VERBOSE_PRINTLN(...) RADIOLIB_DEBUG_PRINTLN(__VA_ARGS__)
-
- 881 #define RADIOLIB_VERBOSE_PRINT(...) {}
- 882 #define RADIOLIB_VERBOSE_PRINTLN(...) {}
-
-
- 888 #define RADIOLIB_ASSERT(STATEVAR) { if((STATEVAR) != RADIOLIB_ERR_NONE) { return(STATEVAR); } }
-
-
-
-
-
-
-
-
- 897 #define RADIOLIB_FIRST(arg, ...) arg
- 898 #define RADIOLIB_REST(arg, ...) __VA_ARGS__
- 899 #define RADIOLIB_EXP(...) __VA_ARGS__
-
- 901 #define RADIOLIB_GENERATE_CALLBACK_RET_FUNC(RET, FUNC, ...) public: typedef RET (*FUNC##_cb_t)(__VA_ARGS__); void setCb_##FUNC(FUNC##_cb_t cb) { cb_##FUNC = cb; }; private: FUNC##_cb_t cb_##FUNC;
- 902 #define RADIOLIB_GENERATE_CALLBACK_RET(RET, ...) RADIOLIB_GENERATE_CALLBACK_RET_FUNC(RET, __VA_ARGS__)
- 903 #define RADIOLIB_GENERATE_CALLBACK(CB) RADIOLIB_GENERATE_CALLBACK_RET(RADIOLIB_EXP(RADIOLIB_FIRST CB), RADIOLIB_EXP(RADIOLIB_REST CB))
-
- 905 #define RADIOLIB_GENERATE_CALLBACK_SPI_RET_FUNC(RET, FUNC, ...) public: typedef RET (Module::*FUNC##_cb_t)(__VA_ARGS__); void setCb_##FUNC(FUNC##_cb_t cb) { cb_##FUNC = cb; }; private: FUNC##_cb_t cb_##FUNC;
- 906 #define RADIOLIB_GENERATE_CALLBACK_SPI_RET(RET, ...) RADIOLIB_GENERATE_CALLBACK_SPI_RET_FUNC(RET, __VA_ARGS__)
- 907 #define RADIOLIB_GENERATE_CALLBACK_SPI(CB) RADIOLIB_GENERATE_CALLBACK_SPI_RET(RADIOLIB_EXP(RADIOLIB_FIRST CB), RADIOLIB_EXP(RADIOLIB_REST CB))
-
- 912 #if defined(RADIOLIB_CHECK_PARAMS)
- 913 #define RADIOLIB_CHECK_RANGE(VAR, MIN, MAX, ERR) { if(!(((VAR) >= (MIN)) && ((VAR) <= (MAX)))) { return(ERR); } }
-
- 915 #define RADIOLIB_CHECK_RANGE(VAR, MIN, MAX, ERR) {}
-
-
- 918 #if defined(RADIOLIB_FIX_ERRATA_SX127X)
- 919 #define RADIOLIB_ERRATA_SX127X(...) { errataFix(__VA_ARGS__); }
-
- 921 #define RADIOLIB_ERRATA_SX127X(...) {}
-
-
-
- 925 #define RADIOLIB_VERSION_MAJOR (0x05)
- 926 #define RADIOLIB_VERSION_MINOR (0x00)
- 927 #define RADIOLIB_VERSION_PATCH (0x00)
- 928 #define RADIOLIB_VERSION_EXTRA (0x00)
+
+ 726 #define RADIOLIB_TYPE_ALIAS(type, alias) typedef class type alias;
+
+
+ 729 #define RADIOLIB_TONE_UNSUPPORTED
+
+
+ 732 #define RADIOLIB_YIELD_UNSUPPORTED
+
+
+
+
+
+
+ 739 #define RADIOLIB_PLATFORM "Unknown Arduino"
+ 740 #define RADIOLIB_UNKNOWN_PLATFORM
+ 741 #define RADIOLIB_PIN_TYPE uint8_t
+ 742 #define RADIOLIB_PIN_MODE uint8_t
+ 743 #define RADIOLIB_PIN_STATUS uint8_t
+ 744 #define RADIOLIB_INTERRUPT_STATUS RADIOLIB_PIN_STATUS
+ 745 #define RADIOLIB_DIGITAL_PIN_TO_INTERRUPT(p) digitalPinToInterrupt(p)
+ 746 #define RADIOLIB_NC (0xFF)
+ 747 #define RADIOLIB_DEFAULT_SPI SPI
+ 748 #define RADIOLIB_DEFAULT_SPI_SETTINGS SPISettings(2000000, MSBFIRST, SPI_MODE0)
+ 749 #define RADIOLIB_NONVOLATILE PROGMEM
+ 750 #define RADIOLIB_NONVOLATILE_READ_BYTE(addr) pgm_read_byte(addr)
+ 751 #define RADIOLIB_TYPE_ALIAS(type, alias) using alias = type;
+
+
+ 754 #define RADIOLIB_CB_ARGS_PIN_MODE (void, pinMode, uint8_t pin, uint8_t mode)
+ 755 #define RADIOLIB_CB_ARGS_DIGITAL_WRITE (void, digitalWrite, uint8_t pin, uint8_t value)
+ 756 #define RADIOLIB_CB_ARGS_DIGITAL_READ (int, digitalRead, uint8_t pin)
+ 757 #define RADIOLIB_CB_ARGS_TONE (void, tone, uint8_t _pin, unsigned int frequency, unsigned long duration)
+ 758 #define RADIOLIB_CB_ARGS_NO_TONE (void, noTone, uint8_t _pin)
+ 759 #define RADIOLIB_CB_ARGS_ATTACH_INTERRUPT (void, attachInterrupt, uint8_t interruptNum, void (*userFunc)(void), int mode)
+ 760 #define RADIOLIB_CB_ARGS_DETACH_INTERRUPT (void, detachInterrupt, uint8_t interruptNum)
+ 761 #define RADIOLIB_CB_ARGS_YIELD (void, yield, void)
+ 762 #define RADIOLIB_CB_ARGS_DELAY (void, delay, unsigned long ms)
+ 763 #define RADIOLIB_CB_ARGS_DELAY_MICROSECONDS (void, delayMicroseconds, unsigned int us)
+ 764 #define RADIOLIB_CB_ARGS_MILLIS (unsigned long, millis, void)
+ 765 #define RADIOLIB_CB_ARGS_MICROS (unsigned long, micros, void)
+ 766 #define RADIOLIB_CB_ARGS_SPI_BEGIN (void, SPIbegin, void)
+ 767 #define RADIOLIB_CB_ARGS_SPI_BEGIN_TRANSACTION (void, SPIbeginTransaction, void)
+ 768 #define RADIOLIB_CB_ARGS_SPI_TRANSFER (uint8_t, SPItransfer, uint8_t b)
+ 769 #define RADIOLIB_CB_ARGS_SPI_END_TRANSACTION (void, SPIendTransaction, void)
+ 770 #define RADIOLIB_CB_ARGS_SPI_END (void, SPIend, void)
+
+
+
+
+
+
+ 777 #define RADIOLIB_PLATFORM "Generic"
+
+
+
+
+
+
+
+
+
+
+
+
+ 790 #if !defined(RADIOLIB_DEBUG)
+
+
+ 793 #if !defined(RADIOLIB_VERBOSE)
+
+
+
+
+
+ 799 #if !defined(RADIOLIB_DEBUG_PORT)
+ 800 #define RADIOLIB_DEBUG_PORT Serial
+
+
+
+
+
+
+
+
+ 809 #if !defined(RADIOLIB_SPI_PARANOID)
+ 810 #define RADIOLIB_SPI_PARANOID
+
+
+
+
+
+
+
+
+
+ 820 #if !defined(RADIOLIB_CHECK_PARAMS)
+ 821 #define RADIOLIB_CHECK_PARAMS
+
+
+
+
+
+
+
+
+ 830 #if !defined(RADIOLIB_FIX_ERRATA_SX127X)
+
+
+
+
+
+
+
+
+ 839 #if !defined(RADIOLIB_GODMODE)
+
+
+
+
+
+
+
+
+ 848 #if !defined(RADIOLIB_LOW_LEVEL)
+
+
+
+
+
+
+ 855 #if !defined(RADIOLIB_RADIOSHIELD)
+
+
+
+
+
+
+
+ 863 #if !defined(RADIOLIB_STATIC_ONLY)
+
+
+
+
+ 868 #if !defined(RADIOLIB_STATIC_ARRAY_SIZE)
+ 869 #define RADIOLIB_STATIC_ARRAY_SIZE (256)
+
+
+ 872 #if defined(RADIOLIB_DEBUG)
+ 873 #if defined(RADIOLIB_BUILD_ARDUINO)
+ 874 #define RADIOLIB_DEBUG_PRINT(...) { RADIOLIB_DEBUG_PORT.print(__VA_ARGS__); }
+ 875 #define RADIOLIB_DEBUG_PRINTLN(...) { RADIOLIB_DEBUG_PORT.println(__VA_ARGS__); }
+
+ 877 #if !defined(RADIOLIB_DEBUG_PRINT)
+ 878 #define RADIOLIB_DEBUG_PRINT(...) { frintf(RADIOLIB_DEBUG_PORT, __VA_ARGS__); }
+
+ 880 #if !defined(RADIOLIB_DEBUG_PRINTLN)
+ 881 #define RADIOLIB_DEBUG_PRINTLN(...) { printf(RADIOLIB_DEBUG_PORT, __VA_ARGS__ "\n"); }
+
+
+
+ 885 #define RADIOLIB_DEBUG_PRINT(...) {}
+ 886 #define RADIOLIB_DEBUG_PRINTLN(...) {}
+
+
+ 889 #if defined(RADIOLIB_VERBOSE)
+ 890 #define RADIOLIB_VERBOSE_PRINT(...) RADIOLIB_DEBUG_PRINT(__VA_ARGS__)
+ 891 #define RADIOLIB_VERBOSE_PRINTLN(...) RADIOLIB_DEBUG_PRINTLN(__VA_ARGS__)
+
+ 893 #define RADIOLIB_VERBOSE_PRINT(...) {}
+ 894 #define RADIOLIB_VERBOSE_PRINTLN(...) {}
+
+
+ 900 #define RADIOLIB_ASSERT(STATEVAR) { if((STATEVAR) != RADIOLIB_ERR_NONE) { return(STATEVAR); } }
+
+
+
+
+
+
+
+
+ 909 #define RADIOLIB_FIRST(arg, ...) arg
+ 910 #define RADIOLIB_REST(arg, ...) __VA_ARGS__
+ 911 #define RADIOLIB_EXP(...) __VA_ARGS__
+
+ 913 #define RADIOLIB_GENERATE_CALLBACK_RET_FUNC(RET, FUNC, ...) public: typedef RET (*FUNC##_cb_t)(__VA_ARGS__); void setCb_##FUNC(FUNC##_cb_t cb) { cb_##FUNC = cb; }; private: FUNC##_cb_t cb_##FUNC;
+ 914 #define RADIOLIB_GENERATE_CALLBACK_RET(RET, ...) RADIOLIB_GENERATE_CALLBACK_RET_FUNC(RET, __VA_ARGS__)
+ 915 #define RADIOLIB_GENERATE_CALLBACK(CB) RADIOLIB_GENERATE_CALLBACK_RET(RADIOLIB_EXP(RADIOLIB_FIRST CB), RADIOLIB_EXP(RADIOLIB_REST CB))
+
+ 917 #define RADIOLIB_GENERATE_CALLBACK_SPI_RET_FUNC(RET, FUNC, ...) public: typedef RET (Module::*FUNC##_cb_t)(__VA_ARGS__); void setCb_##FUNC(FUNC##_cb_t cb) { cb_##FUNC = cb; }; private: FUNC##_cb_t cb_##FUNC;
+ 918 #define RADIOLIB_GENERATE_CALLBACK_SPI_RET(RET, ...) RADIOLIB_GENERATE_CALLBACK_SPI_RET_FUNC(RET, __VA_ARGS__)
+ 919 #define RADIOLIB_GENERATE_CALLBACK_SPI(CB) RADIOLIB_GENERATE_CALLBACK_SPI_RET(RADIOLIB_EXP(RADIOLIB_FIRST CB), RADIOLIB_EXP(RADIOLIB_REST CB))
+
+ 924 #if defined(RADIOLIB_CHECK_PARAMS)
+ 925 #define RADIOLIB_CHECK_RANGE(VAR, MIN, MAX, ERR) { if(!(((VAR) >= (MIN)) && ((VAR) <= (MAX)))) { return(ERR); } }
+
+ 927 #define RADIOLIB_CHECK_RANGE(VAR, MIN, MAX, ERR) {}
+
- 930 #define RADIOLIB_VERSION ((RADIOLIB_VERSION_MAJOR << 24) | (RADIOLIB_VERSION_MINOR << 16) | (RADIOLIB_VERSION_PATCH << 8) | (RADIOLIB_VERSION_EXTRA))
-
-
+ 930 #if defined(RADIOLIB_FIX_ERRATA_SX127X)
+ 931 #define RADIOLIB_ERRATA_SX127X(...) { errataFix(__VA_ARGS__); }
+
+ 933 #define RADIOLIB_ERRATA_SX127X(...) {}
+
+
+
+ 937 #define RADIOLIB_VERSION_MAJOR (0x05)
+ 938 #define RADIOLIB_VERSION_MINOR (0x00)
+ 939 #define RADIOLIB_VERSION_PATCH (0x00)
+ 940 #define RADIOLIB_VERSION_EXTRA (0x00)
+
+ 942 #define RADIOLIB_VERSION ((RADIOLIB_VERSION_MAJOR << 24) | (RADIOLIB_VERSION_MINOR << 16) | (RADIOLIB_VERSION_PATCH << 8) | (RADIOLIB_VERSION_EXTRA))
+
+
diff --git a/_module_8h_source.html b/_module_8h_source.html
index 795b6c08..0e6da39e 100644
--- a/_module_8h_source.html
+++ b/_module_8h_source.html
@@ -259,45 +259,45 @@ $(document).ready(function(){initNavTree('_module_8h_source.html',''); initResiz
-void pinMode(RADIOLIB_PIN_TYPE pin, RADIOLIB_PIN_MODE mode)
Arduino core pinMode override that checks RADIOLIB_NC as alias for unused pin.
Definition: Module.cpp:241
+void pinMode(RADIOLIB_PIN_TYPE pin, RADIOLIB_PIN_MODE mode)
Arduino core pinMode override that checks RADIOLIB_NC as alias for unused pin.
Definition: Module.cpp:248
RADIOLIB_PIN_TYPE getIrq() const
Access method to get the pin number of interrupt/GPIO.
Definition: Module.h:209
-RADIOLIB_PIN_STATUS digitalRead(RADIOLIB_PIN_TYPE pin)
Arduino core digitalWrite override that checks RADIOLIB_NC as alias for unused pin.
Definition: Module.cpp:255
-void SPItransfer(uint8_t cmd, uint8_t reg, uint8_t *dataOut, uint8_t *dataIn, uint8_t numBytes)
SPI single transfer method.
Definition: Module.cpp:194
-uint8_t transfer(uint8_t b)
Arduino core SPI transfer override.
Definition: Module.cpp:370
-void init()
Initialize low-level module control.
Definition: Module.cpp:98
-int16_t SPIgetRegValue(uint8_t reg, uint8_t msb=7, uint8_t lsb=0)
SPI read method that automatically masks unused bits. This method is the preferred SPI read mechanism...
Definition: Module.cpp:117
+RADIOLIB_PIN_STATUS digitalRead(RADIOLIB_PIN_TYPE pin)
Arduino core digitalWrite override that checks RADIOLIB_NC as alias for unused pin.
Definition: Module.cpp:262
+void SPItransfer(uint8_t cmd, uint8_t reg, uint8_t *dataOut, uint8_t *dataIn, uint8_t numBytes)
SPI single transfer method.
Definition: Module.cpp:201
+uint8_t transfer(uint8_t b)
Arduino core SPI transfer override.
Definition: Module.cpp:390
+void init()
Initialize low-level module control.
Definition: Module.cpp:105
+int16_t SPIgetRegValue(uint8_t reg, uint8_t msb=7, uint8_t lsb=0)
SPI read method that automatically masks unused bits. This method is the preferred SPI read mechanism...
Definition: Module.cpp:124
RADIOLIB_PIN_TYPE getRst() const
Access method to get the pin number of hardware reset pin.
Definition: Module.h:216
-void begin()
Arduino core SPI begin override.
Definition: Module.cpp:356
+void begin()
Arduino core SPI begin override.
Definition: Module.cpp:376
uint8_t SPIwriteCommand
Basic SPI write command. Defaults to 0x80.
Definition: Module.h:92
-void delay(uint32_t ms)
Arduino core delay override.
Definition: Module.cpp:328
-void yield()
Arduino core yield override.
Definition: Module.cpp:319
-void digitalWrite(RADIOLIB_PIN_TYPE pin, RADIOLIB_PIN_STATUS value)
Arduino core digitalWrite override that checks RADIOLIB_NC as alias for unused pin.
Definition: Module.cpp:248
-uint32_t micros()
Arduino core micros override.
Definition: Module.cpp:349
+void delay(uint32_t ms)
Arduino core delay override.
Definition: Module.cpp:348
+void yield()
Arduino core yield override.
Definition: Module.cpp:339
+void digitalWrite(RADIOLIB_PIN_TYPE pin, RADIOLIB_PIN_STATUS value)
Arduino core digitalWrite override that checks RADIOLIB_NC as alias for unused pin.
Definition: Module.cpp:255
+uint32_t micros()
Arduino core micros override.
Definition: Module.cpp:369
RADIOLIB_PIN_TYPE getCs() const
Access method to get the pin number of SPI chip select.
Definition: Module.h:202
-int16_t SPIsetRegValue(uint8_t reg, uint8_t value, uint8_t msb=7, uint8_t lsb=0, uint8_t checkInterval=2, uint8_t checkMask=0xFF)
Overwrite-safe SPI write method with verification. This method is the preferred SPI write mechanism.
Definition: Module.cpp:127
-void tone(RADIOLIB_PIN_TYPE pin, uint16_t value, uint32_t duration=0)
Arduino core tone override that checks RADIOLIB_NC as alias for unused pin and RADIOLIB_TONE_UNSUPPOR...
Definition: Module.cpp:262
-void SPIwriteRegister(uint8_t reg, uint8_t data)
SPI basic write method. Use of this method is reserved for special cases, SPIsetRegValue should be us...
Definition: Module.cpp:190
-void noTone(RADIOLIB_PIN_TYPE pin)
Arduino core noTone override that checks RADIOLIB_NC as alias for unused pin and RADIOLIB_TONE_UNSUPP...
Definition: Module.cpp:283
-void endTransaction()
Arduino core SPI endTransaction override.
Definition: Module.cpp:377
-void setRfSwitchPins(RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn)
Some modules contain external RF switch controlled by two pins. This function gives RadioLib control ...
Definition: Module.cpp:428
+int16_t SPIsetRegValue(uint8_t reg, uint8_t value, uint8_t msb=7, uint8_t lsb=0, uint8_t checkInterval=2, uint8_t checkMask=0xFF)
Overwrite-safe SPI write method with verification. This method is the preferred SPI write mechanism.
Definition: Module.cpp:134
+void tone(RADIOLIB_PIN_TYPE pin, uint16_t value, uint32_t duration=0)
Arduino core tone override that checks RADIOLIB_NC as alias for unused pin and RADIOLIB_TONE_UNSUPPOR...
Definition: Module.cpp:269
+void SPIwriteRegister(uint8_t reg, uint8_t data)
SPI basic write method. Use of this method is reserved for special cases, SPIsetRegValue should be us...
Definition: Module.cpp:197
+void noTone(RADIOLIB_PIN_TYPE pin)
Arduino core noTone override that checks RADIOLIB_NC as alias for unused pin and RADIOLIB_TONE_UNSUPP...
Definition: Module.cpp:299
+void endTransaction()
Arduino core SPI endTransaction override.
Definition: Module.cpp:397
+void setRfSwitchPins(RADIOLIB_PIN_TYPE rxEn, RADIOLIB_PIN_TYPE txEn)
Some modules contain external RF switch controlled by two pins. This function gives RadioLib control ...
Definition: Module.cpp:448
RADIOLIB_PIN_TYPE getGpio() const
Access method to get the pin number of second interrupt/GPIO.
Definition: Module.h:223
-Module(RADIOLIB_PIN_TYPE cs, RADIOLIB_PIN_TYPE irq, RADIOLIB_PIN_TYPE rst, RADIOLIB_PIN_TYPE gpio=RADIOLIB_NC)
Default constructor.
Definition: Module.cpp:72
-static uint16_t flipBits16(uint16_t i)
Function to reflect bits within an integer.
Definition: Module.cpp:420
-uint8_t SPIreadRegister(uint8_t reg)
SPI basic read method. Use of this method is reserved for special cases, SPIgetRegValue should be use...
Definition: Module.cpp:180
+Module(RADIOLIB_PIN_TYPE cs, RADIOLIB_PIN_TYPE irq, RADIOLIB_PIN_TYPE rst, RADIOLIB_PIN_TYPE gpio=RADIOLIB_NC)
Default constructor.
Definition: Module.cpp:79
+static uint16_t flipBits16(uint16_t i)
Function to reflect bits within an integer.
Definition: Module.cpp:440
+uint8_t SPIreadRegister(uint8_t reg)
SPI basic read method. Use of this method is reserved for special cases, SPIgetRegValue should be use...
Definition: Module.cpp:187
Implements all common low-level methods to control the wireless module. Every module class contains o...
Definition: Module.h:16
-Module & operator=(const Module &mod)
Overload for assignment operator.
Definition: Module.cpp:87
-void end()
Arduino core SPI end override.
Definition: Module.cpp:384
-void term()
Terminate low-level module control.
Definition: Module.cpp:106
+Module & operator=(const Module &mod)
Overload for assignment operator.
Definition: Module.cpp:94
+void end()
Arduino core SPI end override.
Definition: Module.cpp:404
+void term()
Terminate low-level module control.
Definition: Module.cpp:113
uint8_t SPIreadCommand
Basic SPI read command. Defaults to 0x00.
Definition: Module.h:87
-void detachInterrupt(RADIOLIB_PIN_TYPE interruptNum)
Arduino core detachInterrupt override.
Definition: Module.cpp:312
-void setRfSwitchState(RADIOLIB_PIN_STATUS rxPinState, RADIOLIB_PIN_STATUS txPinState)
Set RF switch state.
Definition: Module.cpp:436
-void SPIreadRegisterBurst(uint8_t reg, uint8_t numBytes, uint8_t *inBytes)
SPI burst read method.
Definition: Module.cpp:176
-static uint8_t flipBits(uint8_t b)
Function to reflect bits within a byte.
Definition: Module.cpp:413
-uint32_t millis()
Arduino core millis override.
Definition: Module.cpp:342
-void delayMicroseconds(uint32_t us)
Arduino core delayMicroseconds override.
Definition: Module.cpp:335
-void attachInterrupt(RADIOLIB_PIN_TYPE interruptNum, void(*userFunc)(void), RADIOLIB_INTERRUPT_STATUS mode)
Arduino core attachInterrupt override.
Definition: Module.cpp:305
-void beginTransaction()
Arduino core SPI beginTransaction override.
Definition: Module.cpp:363
-void SPIwriteRegisterBurst(uint8_t reg, uint8_t *data, uint8_t numBytes)
SPI burst write method.
Definition: Module.cpp:186
+void detachInterrupt(RADIOLIB_PIN_TYPE interruptNum)
Arduino core detachInterrupt override.
Definition: Module.cpp:332
+void setRfSwitchState(RADIOLIB_PIN_STATUS rxPinState, RADIOLIB_PIN_STATUS txPinState)
Set RF switch state.
Definition: Module.cpp:456
+void SPIreadRegisterBurst(uint8_t reg, uint8_t numBytes, uint8_t *inBytes)
SPI burst read method.
Definition: Module.cpp:183
+static uint8_t flipBits(uint8_t b)
Function to reflect bits within a byte.
Definition: Module.cpp:433
+uint32_t millis()
Arduino core millis override.
Definition: Module.cpp:362
+void delayMicroseconds(uint32_t us)
Arduino core delayMicroseconds override.
Definition: Module.cpp:355
+void attachInterrupt(RADIOLIB_PIN_TYPE interruptNum, void(*userFunc)(void), RADIOLIB_INTERRUPT_STATUS mode)
Arduino core attachInterrupt override.
Definition: Module.cpp:325
+void beginTransaction()
Arduino core SPI beginTransaction override.
Definition: Module.cpp:383
+void SPIwriteRegisterBurst(uint8_t reg, uint8_t *data, uint8_t numBytes)
SPI burst write method.
Definition: Module.cpp:193