diff --git a/_build_opt_8h_source.html b/_build_opt_8h_source.html
index 2dc9dae5..80b1538d 100644
--- a/_build_opt_8h_source.html
+++ b/_build_opt_8h_source.html
@@ -822,7 +822,7 @@ $(document).ready(function(){initNavTree('_build_opt_8h_source.html',''); initRe
-
+
739 #define RADIOLIB_PLATFORM "RasPiArduino"
740 #define RADIOLIB_PIN_TYPE uint8_t
@@ -876,208 +876,242 @@ $(document).ready(function(){initNavTree('_build_opt_8h_source.html',''); initRe
788 inline unsigned long micros() {
return((
unsigned long)(STCV)); };
-
-
- 793 #define RADIOLIB_PLATFORM "Unknown Arduino"
- 794 #define RADIOLIB_UNKNOWN_PLATFORM
- 795 #define RADIOLIB_PIN_TYPE uint8_t
- 796 #define RADIOLIB_PIN_MODE uint8_t
- 797 #define RADIOLIB_PIN_STATUS uint8_t
- 798 #define RADIOLIB_INTERRUPT_STATUS RADIOLIB_PIN_STATUS
- 799 #define RADIOLIB_DIGITAL_PIN_TO_INTERRUPT(p) digitalPinToInterrupt(p)
- 800 #define RADIOLIB_NC (0xFF)
- 801 #define RADIOLIB_DEFAULT_SPI SPI
- 802 #define RADIOLIB_DEFAULT_SPI_SETTINGS SPISettings(2000000, MSBFIRST, SPI_MODE0)
- 803 #define RADIOLIB_NONVOLATILE PROGMEM
- 804 #define RADIOLIB_NONVOLATILE_READ_BYTE(addr) pgm_read_byte(addr)
- 805 #define RADIOLIB_TYPE_ALIAS(type, alias) using alias = type;
-
-
- 808 #define RADIOLIB_CB_ARGS_PIN_MODE (void, pinMode, uint8_t pin, uint8_t mode)
- 809 #define RADIOLIB_CB_ARGS_DIGITAL_WRITE (void, digitalWrite, uint8_t pin, uint8_t value)
- 810 #define RADIOLIB_CB_ARGS_DIGITAL_READ (int, digitalRead, uint8_t pin)
- 811 #define RADIOLIB_CB_ARGS_TONE (void, tone, uint8_t _pin, unsigned int frequency, unsigned long duration)
- 812 #define RADIOLIB_CB_ARGS_NO_TONE (void, noTone, uint8_t _pin)
- 813 #define RADIOLIB_CB_ARGS_ATTACH_INTERRUPT (void, attachInterrupt, uint8_t interruptNum, void (*userFunc)(void), int mode)
- 814 #define RADIOLIB_CB_ARGS_DETACH_INTERRUPT (void, detachInterrupt, uint8_t interruptNum)
- 815 #define RADIOLIB_CB_ARGS_YIELD (void, yield, void)
- 816 #define RADIOLIB_CB_ARGS_DELAY (void, delay, unsigned long ms)
- 817 #define RADIOLIB_CB_ARGS_DELAY_MICROSECONDS (void, delayMicroseconds, unsigned int us)
- 818 #define RADIOLIB_CB_ARGS_MILLIS (unsigned long, millis, void)
- 819 #define RADIOLIB_CB_ARGS_MICROS (unsigned long, micros, void)
- 820 #define RADIOLIB_CB_ARGS_SPI_BEGIN (void, SPIbegin, void)
- 821 #define RADIOLIB_CB_ARGS_SPI_BEGIN_TRANSACTION (void, SPIbeginTransaction, void)
- 822 #define RADIOLIB_CB_ARGS_SPI_TRANSFER (uint8_t, SPItransfer, uint8_t b)
- 823 #define RADIOLIB_CB_ARGS_SPI_END_TRANSACTION (void, SPIendTransaction, void)
- 824 #define RADIOLIB_CB_ARGS_SPI_END (void, SPIend, void)
-
-
-
-
-
-
- 831 #define RADIOLIB_PLATFORM "Generic"
-
-
-
-
-
-
-
-
-
-
-
-
- 844 #if !defined(RADIOLIB_DEBUG)
-
-
- 847 #if !defined(RADIOLIB_VERBOSE)
-
-
-
-
-
- 853 #if !defined(RADIOLIB_DEBUG_PORT)
- 854 #define RADIOLIB_DEBUG_PORT Serial
-
-
-
-
-
-
-
-
- 863 #if !defined(RADIOLIB_SPI_PARANOID)
- 864 #define RADIOLIB_SPI_PARANOID
-
+ 791 #elif defined(TEENSYDUINO)
+
+ 793 #define RADIOLIB_PLATFORM "Teensy"
+ 794 #define RADIOLIB_PIN_TYPE uint8_t
+ 795 #define RADIOLIB_PIN_MODE uint8_t
+ 796 #define RADIOLIB_PIN_STATUS uint8_t
+ 797 #define RADIOLIB_INTERRUPT_STATUS RADIOLIB_PIN_STATUS
+ 798 #define RADIOLIB_DIGITAL_PIN_TO_INTERRUPT(p) digitalPinToInterrupt(p)
+ 799 #define RADIOLIB_NC (0xFF)
+ 800 #define RADIOLIB_DEFAULT_SPI SPI
+ 801 #define RADIOLIB_DEFAULT_SPI_SETTINGS SPISettings(2000000, MSBFIRST, SPI_MODE0)
+ 802 #define RADIOLIB_NONVOLATILE PROGMEM
+ 803 #define RADIOLIB_NONVOLATILE_READ_BYTE(addr) pgm_read_byte(addr)
+ 804 #define RADIOLIB_TYPE_ALIAS(type, alias) using alias = type;
+
+
+ 807 #define RADIOLIB_CB_ARGS_PIN_MODE (void, pinMode, uint8_t pin, uint8_t mode)
+ 808 #define RADIOLIB_CB_ARGS_DIGITAL_WRITE (void, digitalWrite, uint8_t pin, uint8_t value)
+ 809 #define RADIOLIB_CB_ARGS_DIGITAL_READ (uint8_t, digitalRead, uint8_t pin)
+ 810 #define RADIOLIB_CB_ARGS_TONE (void, tone, uint8_t _pin, short unsigned int frequency, long unsigned int duration)
+ 811 #define RADIOLIB_CB_ARGS_NO_TONE (void, noTone, uint8_t _pin)
+ 812 #define RADIOLIB_CB_ARGS_ATTACH_INTERRUPT (void, attachInterrupt, uint8_t interruptNum, void (*userFunc)(void), int mode)
+ 813 #define RADIOLIB_CB_ARGS_DETACH_INTERRUPT (void, detachInterrupt, uint8_t interruptNum)
+ 814 #define RADIOLIB_CB_ARGS_YIELD (void, yield, void)
+ 815 #define RADIOLIB_CB_ARGS_DELAY (void, delay, unsigned long ms)
+ 816 #define RADIOLIB_CB_ARGS_DELAY_MICROSECONDS (void, delayMicroseconds, long unsigned int us)
+ 817 #define RADIOLIB_CB_ARGS_MILLIS (unsigned long, millis, void)
+ 818 #define RADIOLIB_CB_ARGS_MICROS (unsigned long, micros, void)
+ 819 #define RADIOLIB_CB_ARGS_SPI_BEGIN (void, SPIbegin, void)
+ 820 #define RADIOLIB_CB_ARGS_SPI_BEGIN_TRANSACTION (void, SPIbeginTransaction, void)
+ 821 #define RADIOLIB_CB_ARGS_SPI_TRANSFER (uint8_t, SPItransfer, uint8_t b)
+ 822 #define RADIOLIB_CB_ARGS_SPI_END_TRANSACTION (void, SPIendTransaction, void)
+ 823 #define RADIOLIB_CB_ARGS_SPI_END (void, SPIend, void)
+
+
+
+ 827 #define RADIOLIB_PLATFORM "Unknown Arduino"
+ 828 #define RADIOLIB_UNKNOWN_PLATFORM
+ 829 #define RADIOLIB_PIN_TYPE uint8_t
+ 830 #define RADIOLIB_PIN_MODE uint8_t
+ 831 #define RADIOLIB_PIN_STATUS uint8_t
+ 832 #define RADIOLIB_INTERRUPT_STATUS RADIOLIB_PIN_STATUS
+ 833 #define RADIOLIB_DIGITAL_PIN_TO_INTERRUPT(p) digitalPinToInterrupt(p)
+ 834 #define RADIOLIB_NC (0xFF)
+ 835 #define RADIOLIB_DEFAULT_SPI SPI
+ 836 #define RADIOLIB_DEFAULT_SPI_SETTINGS SPISettings(2000000, MSBFIRST, SPI_MODE0)
+ 837 #define RADIOLIB_NONVOLATILE PROGMEM
+ 838 #define RADIOLIB_NONVOLATILE_READ_BYTE(addr) pgm_read_byte(addr)
+ 839 #define RADIOLIB_TYPE_ALIAS(type, alias) using alias = type;
+
+
+ 842 #define RADIOLIB_CB_ARGS_PIN_MODE (void, pinMode, uint8_t pin, uint8_t mode)
+ 843 #define RADIOLIB_CB_ARGS_DIGITAL_WRITE (void, digitalWrite, uint8_t pin, uint8_t value)
+ 844 #define RADIOLIB_CB_ARGS_DIGITAL_READ (int, digitalRead, uint8_t pin)
+ 845 #define RADIOLIB_CB_ARGS_TONE (void, tone, uint8_t _pin, unsigned int frequency, unsigned long duration)
+ 846 #define RADIOLIB_CB_ARGS_NO_TONE (void, noTone, uint8_t _pin)
+ 847 #define RADIOLIB_CB_ARGS_ATTACH_INTERRUPT (void, attachInterrupt, uint8_t interruptNum, void (*userFunc)(void), int mode)
+ 848 #define RADIOLIB_CB_ARGS_DETACH_INTERRUPT (void, detachInterrupt, uint8_t interruptNum)
+ 849 #define RADIOLIB_CB_ARGS_YIELD (void, yield, void)
+ 850 #define RADIOLIB_CB_ARGS_DELAY (void, delay, unsigned long ms)
+ 851 #define RADIOLIB_CB_ARGS_DELAY_MICROSECONDS (void, delayMicroseconds, unsigned int us)
+ 852 #define RADIOLIB_CB_ARGS_MILLIS (unsigned long, millis, void)
+ 853 #define RADIOLIB_CB_ARGS_MICROS (unsigned long, micros, void)
+ 854 #define RADIOLIB_CB_ARGS_SPI_BEGIN (void, SPIbegin, void)
+ 855 #define RADIOLIB_CB_ARGS_SPI_BEGIN_TRANSACTION (void, SPIbeginTransaction, void)
+ 856 #define RADIOLIB_CB_ARGS_SPI_TRANSFER (uint8_t, SPItransfer, uint8_t b)
+ 857 #define RADIOLIB_CB_ARGS_SPI_END_TRANSACTION (void, SPIendTransaction, void)
+ 858 #define RADIOLIB_CB_ARGS_SPI_END (void, SPIend, void)
+
+
+
+
+
+
+ 865 #define RADIOLIB_PLATFORM "Generic"
-
-
-
-
-
-
-
- 874 #if !defined(RADIOLIB_CHECK_PARAMS)
- 875 #define RADIOLIB_CHECK_PARAMS
-
-
-
-
-
-
-
-
- 884 #if !defined(RADIOLIB_FIX_ERRATA_SX127X)
-
-
-
-
-
-
-
-
- 893 #if !defined(RADIOLIB_GODMODE)
-
-
-
-
-
-
-
-
- 902 #if !defined(RADIOLIB_LOW_LEVEL)
-
-
-
-
-
-
- 909 #if !defined(RADIOLIB_RADIOSHIELD)
-
-
-
-
-
-
-
- 917 #if !defined(RADIOLIB_STATIC_ONLY)
-
-
-
-
- 922 #if !defined(RADIOLIB_STATIC_ARRAY_SIZE)
- 923 #define RADIOLIB_STATIC_ARRAY_SIZE (256)
-
-
- 926 #if defined(RADIOLIB_DEBUG)
- 927 #if defined(RADIOLIB_BUILD_ARDUINO)
- 928 #define RADIOLIB_DEBUG_PRINT(...) { RADIOLIB_DEBUG_PORT.print(__VA_ARGS__); }
- 929 #define RADIOLIB_DEBUG_PRINTLN(...) { RADIOLIB_DEBUG_PORT.println(__VA_ARGS__); }
-
- 931 #if !defined(RADIOLIB_DEBUG_PRINT)
- 932 #define RADIOLIB_DEBUG_PRINT(...) { frintf(RADIOLIB_DEBUG_PORT, __VA_ARGS__); }
-
- 934 #if !defined(RADIOLIB_DEBUG_PRINTLN)
- 935 #define RADIOLIB_DEBUG_PRINTLN(...) { printf(RADIOLIB_DEBUG_PORT, __VA_ARGS__ "\n"); }
-
-
-
- 939 #define RADIOLIB_DEBUG_PRINT(...) {}
- 940 #define RADIOLIB_DEBUG_PRINTLN(...) {}
-
-
- 943 #if defined(RADIOLIB_VERBOSE)
- 944 #define RADIOLIB_VERBOSE_PRINT(...) RADIOLIB_DEBUG_PRINT(__VA_ARGS__)
- 945 #define RADIOLIB_VERBOSE_PRINTLN(...) RADIOLIB_DEBUG_PRINTLN(__VA_ARGS__)
-
- 947 #define RADIOLIB_VERBOSE_PRINT(...) {}
- 948 #define RADIOLIB_VERBOSE_PRINTLN(...) {}
-
-
- 954 #define RADIOLIB_ASSERT(STATEVAR) { if((STATEVAR) != RADIOLIB_ERR_NONE) { return(STATEVAR); } }
-
-
-
-
-
-
-
-
- 963 #define RADIOLIB_FIRST(arg, ...) arg
- 964 #define RADIOLIB_REST(arg, ...) __VA_ARGS__
- 965 #define RADIOLIB_EXP(...) __VA_ARGS__
-
- 967 #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;
- 968 #define RADIOLIB_GENERATE_CALLBACK_RET(RET, ...) RADIOLIB_GENERATE_CALLBACK_RET_FUNC(RET, __VA_ARGS__)
- 969 #define RADIOLIB_GENERATE_CALLBACK(CB) RADIOLIB_GENERATE_CALLBACK_RET(RADIOLIB_EXP(RADIOLIB_FIRST CB), RADIOLIB_EXP(RADIOLIB_REST CB))
-
- 971 #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;
- 972 #define RADIOLIB_GENERATE_CALLBACK_SPI_RET(RET, ...) RADIOLIB_GENERATE_CALLBACK_SPI_RET_FUNC(RET, __VA_ARGS__)
- 973 #define RADIOLIB_GENERATE_CALLBACK_SPI(CB) RADIOLIB_GENERATE_CALLBACK_SPI_RET(RADIOLIB_EXP(RADIOLIB_FIRST CB), RADIOLIB_EXP(RADIOLIB_REST CB))
-
- 978 #if defined(RADIOLIB_CHECK_PARAMS)
- 979 #define RADIOLIB_CHECK_RANGE(VAR, MIN, MAX, ERR) { if(!(((VAR) >= (MIN)) && ((VAR) <= (MAX)))) { return(ERR); } }
+
+
+
+
+
+
+
+
+
+
+
+ 878 #if !defined(RADIOLIB_DEBUG)
+
+
+ 881 #if !defined(RADIOLIB_VERBOSE)
+
+
+
+
+
+ 887 #if !defined(RADIOLIB_DEBUG_PORT)
+ 888 #define RADIOLIB_DEBUG_PORT Serial
+
+
+
+
+
+
+
+
+ 897 #if !defined(RADIOLIB_SPI_PARANOID)
+ 898 #define RADIOLIB_SPI_PARANOID
+
+
+
+
+
+
+
+
+
+ 908 #if !defined(RADIOLIB_CHECK_PARAMS)
+ 909 #define RADIOLIB_CHECK_PARAMS
+
+
+
+
+
+
+
+
+ 918 #if !defined(RADIOLIB_FIX_ERRATA_SX127X)
+
+
+
+
+
+
+
+
+ 927 #if !defined(RADIOLIB_GODMODE)
+
+
+
+
+
+
+
+
+ 936 #if !defined(RADIOLIB_LOW_LEVEL)
+
+
+
+
+
+
+ 943 #if !defined(RADIOLIB_RADIOSHIELD)
+
+
+
+
+
+
+
+ 951 #if !defined(RADIOLIB_STATIC_ONLY)
+
+
+
+
+ 956 #if !defined(RADIOLIB_STATIC_ARRAY_SIZE)
+ 957 #define RADIOLIB_STATIC_ARRAY_SIZE (256)
+
+
+ 960 #if defined(RADIOLIB_DEBUG)
+ 961 #if defined(RADIOLIB_BUILD_ARDUINO)
+ 962 #define RADIOLIB_DEBUG_PRINT(...) { RADIOLIB_DEBUG_PORT.print(__VA_ARGS__); }
+ 963 #define RADIOLIB_DEBUG_PRINTLN(...) { RADIOLIB_DEBUG_PORT.println(__VA_ARGS__); }
+
+ 965 #if !defined(RADIOLIB_DEBUG_PRINT)
+ 966 #define RADIOLIB_DEBUG_PRINT(...) { frintf(RADIOLIB_DEBUG_PORT, __VA_ARGS__); }
+
+ 968 #if !defined(RADIOLIB_DEBUG_PRINTLN)
+ 969 #define RADIOLIB_DEBUG_PRINTLN(...) { printf(RADIOLIB_DEBUG_PORT, __VA_ARGS__ "\n"); }
+
+
+
+ 973 #define RADIOLIB_DEBUG_PRINT(...) {}
+ 974 #define RADIOLIB_DEBUG_PRINTLN(...) {}
+
+
+ 977 #if defined(RADIOLIB_VERBOSE)
+ 978 #define RADIOLIB_VERBOSE_PRINT(...) RADIOLIB_DEBUG_PRINT(__VA_ARGS__)
+ 979 #define RADIOLIB_VERBOSE_PRINTLN(...) RADIOLIB_DEBUG_PRINTLN(__VA_ARGS__)
- 981 #define RADIOLIB_CHECK_RANGE(VAR, MIN, MAX, ERR) {}
-
-
- 984 #if defined(RADIOLIB_FIX_ERRATA_SX127X)
- 985 #define RADIOLIB_ERRATA_SX127X(...) { errataFix(__VA_ARGS__); }
-
- 987 #define RADIOLIB_ERRATA_SX127X(...) {}
-
+ 981 #define RADIOLIB_VERBOSE_PRINT(...) {}
+ 982 #define RADIOLIB_VERBOSE_PRINTLN(...) {}
+
+
+ 988 #define RADIOLIB_ASSERT(STATEVAR) { if((STATEVAR) != RADIOLIB_ERR_NONE) { return(STATEVAR); } }
-
- 991 #define RADIOLIB_VERSION_MAJOR (0x05)
- 992 #define RADIOLIB_VERSION_MINOR (0x01)
- 993 #define RADIOLIB_VERSION_PATCH (0x02)
- 994 #define RADIOLIB_VERSION_EXTRA (0x00)
-
- 996 #define RADIOLIB_VERSION ((RADIOLIB_VERSION_MAJOR << 24) | (RADIOLIB_VERSION_MINOR << 16) | (RADIOLIB_VERSION_PATCH << 8) | (RADIOLIB_VERSION_EXTRA))
-
-
+
+
+
+
+
+
+
+ 997 #define RADIOLIB_FIRST(arg, ...) arg
+ 998 #define RADIOLIB_REST(arg, ...) __VA_ARGS__
+ 999 #define RADIOLIB_EXP(...) __VA_ARGS__
+
+ 1001 #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;
+ 1002 #define RADIOLIB_GENERATE_CALLBACK_RET(RET, ...) RADIOLIB_GENERATE_CALLBACK_RET_FUNC(RET, __VA_ARGS__)
+ 1003 #define RADIOLIB_GENERATE_CALLBACK(CB) RADIOLIB_GENERATE_CALLBACK_RET(RADIOLIB_EXP(RADIOLIB_FIRST CB), RADIOLIB_EXP(RADIOLIB_REST CB))
+
+ 1005 #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;
+ 1006 #define RADIOLIB_GENERATE_CALLBACK_SPI_RET(RET, ...) RADIOLIB_GENERATE_CALLBACK_SPI_RET_FUNC(RET, __VA_ARGS__)
+ 1007 #define RADIOLIB_GENERATE_CALLBACK_SPI(CB) RADIOLIB_GENERATE_CALLBACK_SPI_RET(RADIOLIB_EXP(RADIOLIB_FIRST CB), RADIOLIB_EXP(RADIOLIB_REST CB))
+
+ 1012 #if defined(RADIOLIB_CHECK_PARAMS)
+ 1013 #define RADIOLIB_CHECK_RANGE(VAR, MIN, MAX, ERR) { if(!(((VAR) >= (MIN)) && ((VAR) <= (MAX)))) { return(ERR); } }
+
+ 1015 #define RADIOLIB_CHECK_RANGE(VAR, MIN, MAX, ERR) {}
+
+
+ 1018 #if defined(RADIOLIB_FIX_ERRATA_SX127X)
+ 1019 #define RADIOLIB_ERRATA_SX127X(...) { errataFix(__VA_ARGS__); }
+
+ 1021 #define RADIOLIB_ERRATA_SX127X(...) {}
+
+
+
+ 1025 #define RADIOLIB_VERSION_MAJOR (0x05)
+ 1026 #define RADIOLIB_VERSION_MINOR (0x01)
+ 1027 #define RADIOLIB_VERSION_PATCH (0x02)
+ 1028 #define RADIOLIB_VERSION_EXTRA (0x00)
+
+ 1030 #define RADIOLIB_VERSION ((RADIOLIB_VERSION_MAJOR << 24) | (RADIOLIB_VERSION_MINOR << 16) | (RADIOLIB_VERSION_PATCH << 8) | (RADIOLIB_VERSION_EXTRA))
+
+