From a2e2003001120b50f8bae3e8f41e94fcd71ddf17 Mon Sep 17 00:00:00 2001 From: jgromes Date: Mon, 27 Nov 2023 19:38:10 +0100 Subject: [PATCH] Reworked macro configuration system --- src/ArduinoHal.h | 2 +- src/BuildOpt.h | 294 +++++++++++++++++++++++---------------------- src/BuildOptUser.h | 4 +- src/Module.cpp | 28 ++--- src/Module.h | 10 +- src/RadioLib.h | 6 +- 6 files changed, 173 insertions(+), 171 deletions(-) diff --git a/src/ArduinoHal.h b/src/ArduinoHal.h index 2b650db8..bcda95ae 100644 --- a/src/ArduinoHal.h +++ b/src/ArduinoHal.h @@ -62,7 +62,7 @@ class ArduinoHal : public RadioLibHal { void yield() override; uint32_t pinToInterrupt(uint32_t pin) override; -#if !defined(RADIOLIB_GODMODE) +#if !RADIOLIB_GODMODE private: #endif SPIClass* spi = NULL; diff --git a/src/BuildOpt.h b/src/BuildOpt.h index ee8fab54..f2b9bc31 100644 --- a/src/BuildOpt.h +++ b/src/BuildOpt.h @@ -1,6 +1,132 @@ #if !defined(_RADIOLIB_BUILD_OPTIONS_H) #define _RADIOLIB_BUILD_OPTIONS_H +/* RadioLib build configuration options */ + +/* + * Debug output enable. + * Warning: Debug output will slow down the whole system significantly. + * Also, it will result in larger compiled binary. + * Levels: debug - only main info + * verbose - full transcript of all SPI communication + */ +#if !defined(RADIOLIB_DEBUG) + #define RADIOLIB_DEBUG (0) +#endif +#if !defined(RADIOLIB_VERBOSE) + #define RADIOLIB_VERBOSE (0) +#endif + +// set which output port should be used for debug output +// may be Serial port (on Arduino) or file like stdout or stderr (on generic platforms) +#if !defined(RADIOLIB_DEBUG_PORT) + #define RADIOLIB_DEBUG_PORT Serial +#endif + +/* + * Comment to disable "paranoid" SPI mode, or set RADIOLIB_SPI_PARANOID to 0 + * Every write to an SPI register using SPI set function will be verified by a subsequent read operation. + * This improves reliability, but slightly slows down communication. + * Note: Enabled by default. + */ +#if !defined(RADIOLIB_SPI_PARANOID) + #define RADIOLIB_SPI_PARANOID (1) +#endif + +/* + * Comment to disable parameter range checking + * RadioLib will check provided parameters (such as frequency) against limits determined by the device manufacturer. + * It is highly advised to keep this macro defined, removing it will allow invalid values to be set, + * possibly leading to bricked module and/or program crashing. + * Note: Enabled by default. + */ +#if !defined(RADIOLIB_CHECK_PARAMS) + #define RADIOLIB_CHECK_PARAMS (1) +#endif + +/* + * SX127x errata fix enable + * Warning: SX127x errata fix has been reported to cause issues with LoRa bandwidths lower than 62.5 kHz. + * It should only be enabled if you really are observing some errata-related issue. + * Note: Disabled by default. + */ +#if !defined(RADIOLIB_FIX_ERRATA_SX127X) + #define RADIOLIB_FIX_ERRATA_SX127X (0) +#endif + +/* + * God mode enable - all methods and member variables in all classes will be made public, thus making them accessible from Arduino code. + * Warning: Come on, it's called GOD mode - obviously only use this if you know what you're doing. + * Failure to heed the above warning may result in bricked module. + */ +#if !defined(RADIOLIB_GODMODE) + #define RADIOLIB_GODMODE (0) +#endif + +/* + * Low-level hardware access enable + * This will make some hardware methods like SPI get/set accessible from the user sketch - think of it as "god mode lite" + * Warning: RadioLib won't stop you from writing invalid stuff into your device, so it's quite easy to brick your module with this. + */ +#if !defined(RADIOLIB_LOW_LEVEL) + #define RADIOLIB_LOW_LEVEL (0) +#endif + +/* + * Enable pre-defined modules when using RadioShield, disabled by default. + */ +#if !defined(RADIOLIB_RADIOSHIELD) + #define RADIOLIB_RADIOSHIELD (0) +#endif + +/* + * Enable interrupt-based timing control + * For details, see https://github.com/jgromes/RadioLib/wiki/Interrupt-Based-Timing + */ +#if !defined(RADIOLIB_INTERRUPT_TIMING) + #define RADIOLIB_INTERRUPT_TIMING (0) +#endif + +/* + * Enable static-only memory management: no dynamic allocation will be performed. + * Warning: Large static arrays will be created in some methods. It is not advised to send large packets in this mode. + */ +#if !defined(RADIOLIB_STATIC_ONLY) + #define RADIOLIB_STATIC_ONLY (0) +#endif + +// set the size of static arrays to use +#if !defined(RADIOLIB_STATIC_ARRAY_SIZE) + #define RADIOLIB_STATIC_ARRAY_SIZE (256) +#endif + +// the base address for persistent storage +// some protocols (e.g. LoRaWAN) require a method +// to store some data persistently +// on Arduino, this will use EEPROM, on non-Arduino platform, +// it will use anything provided by the hardware abstraction layer +// RadioLib will place these starting at this address +#if !defined(RADIOLIB_HAL_PERSISTENT_STORAGE_BASE) + #define RADIOLIB_HAL_PERSISTENT_STORAGE_BASE (0) +#endif + +// the amount of space allocated to the persistent storage +#if !defined(RADIOLIB_HAL_PERSISTENT_STORAGE_SIZE) + #define RADIOLIB_HAL_PERSISTENT_STORAGE_SIZE (0x0180) +#endif + +/* + * Uncomment on boards whose clock runs too slow or too fast + * Set the value according to the following scheme: + * Enable timestamps on your terminal + * Print something to terminal, wait 1000 milliseconds, print something again + * If the difference is e.g. 1014 milliseconds between the prints, set this value to 14 + * Or, for more accuracy, wait for 100,000 milliseconds and divide the total drift by 100 + */ +#if !defined(RADIOLIB_CLOCK_DRIFT_MS) + //#define RADIOLIB_CLOCK_DRIFT_MS (0) +#endif + #if ARDUINO >= 100 // Arduino build #include "Arduino.h" @@ -61,23 +187,23 @@ // NOTE: Some of the exclusion macros are dependent on each other. For example, it is not possible to exclude RF69 // while keeping SX1231 (because RF69 is the base class for SX1231). The dependency is always uni-directional, // so excluding SX1231 and keeping RF69 is valid. - //#define RADIOLIB_EXCLUDE_CC1101 - //#define RADIOLIB_EXCLUDE_NRF24 - //#define RADIOLIB_EXCLUDE_RF69 - //#define RADIOLIB_EXCLUDE_SX1231 // dependent on RADIOLIB_EXCLUDE_RF69 - //#define RADIOLIB_EXCLUDE_SI443X - //#define RADIOLIB_EXCLUDE_RFM2X // dependent on RADIOLIB_EXCLUDE_SI443X - //#define RADIOLIB_EXCLUDE_SX127X - //#define RADIOLIB_EXCLUDE_SX126X - //#define RADIOLIB_EXCLUDE_STM32WLX // dependent on RADIOLIB_EXCLUDE_SX126X - //#define RADIOLIB_EXCLUDE_SX128X - //#define RADIOLIB_EXCLUDE_AFSK - //#define RADIOLIB_EXCLUDE_AX25 - //#define RADIOLIB_EXCLUDE_HELLSCHREIBER - //#define RADIOLIB_EXCLUDE_MORSE - //#define RADIOLIB_EXCLUDE_RTTY - //#define RADIOLIB_EXCLUDE_SSTV - //#define RADIOLIB_EXCLUDE_DIRECT_RECEIVE + //#define RADIOLIB_EXCLUDE_CC1101 (1) + //#define RADIOLIB_EXCLUDE_NRF24 (1) + //#define RADIOLIB_EXCLUDE_RF69 (1) + //#define RADIOLIB_EXCLUDE_SX1231 (1) // dependent on RADIOLIB_EXCLUDE_RF69 + //#define RADIOLIB_EXCLUDE_SI443X (1) + //#define RADIOLIB_EXCLUDE_RFM2X (1) // dependent on RADIOLIB_EXCLUDE_SI443X + //#define RADIOLIB_EXCLUDE_SX127X (1) + //#define RADIOLIB_EXCLUDE_SX126X (1) + //#define RADIOLIB_EXCLUDE_STM32WLX (1) // dependent on RADIOLIB_EXCLUDE_SX126X + //#define RADIOLIB_EXCLUDE_SX128X (1) + //#define RADIOLIB_EXCLUDE_AFSK (1) + //#define RADIOLIB_EXCLUDE_AX25 (1) + //#define RADIOLIB_EXCLUDE_HELLSCHREIBER (1) + //#define RADIOLIB_EXCLUDE_MORSE (1) + //#define RADIOLIB_EXCLUDE_RTTY (1) + //#define RADIOLIB_EXCLUDE_SSTV (1) + //#define RADIOLIB_EXCLUDE_DIRECT_RECEIVE (1) #elif defined(__AVR__) && !(defined(ARDUINO_AVR_UNO_WIFI_REV2) || defined(ARDUINO_AVR_NANO_EVERY) || defined(ARDUINO_ARCH_MEGAAVR)) // Arduino AVR boards (except for megaAVR) - Uno, Mega etc. @@ -337,137 +463,13 @@ #endif -/* - * Uncomment to enable debug output. - * Warning: Debug output will slow down the whole system significantly. - * Also, it will result in larger compiled binary. - * Levels: debug - only main info - * verbose - full transcript of all SPI communication - */ -#if !defined(RADIOLIB_DEBUG) - //#define RADIOLIB_DEBUG -#endif -#if !defined(RADIOLIB_VERBOSE) - //#define RADIOLIB_VERBOSE -#endif - -// set which output port should be used for debug output -// may be Serial port (on Arduino) or file like stdout or stderr (on generic platforms) -#if defined(RADIOLIB_BUILD_ARDUINO) && !defined(RADIOLIB_DEBUG_PORT) - #define RADIOLIB_DEBUG_PORT Serial -#endif - -/* - * Comment to disable "paranoid" SPI mode, or set RADIOLIB_SPI_PARANOID to 0 - * Every write to an SPI register using SPI set function will be verified by a subsequent read operation. - * This improves reliability, but slightly slows down communication. - * Note: Enabled by default. - */ -#if !defined(RADIOLIB_SPI_PARANOID) - #define RADIOLIB_SPI_PARANOID 1 -#endif - -/* - * Uncomment to enable parameter range checking - * RadioLib will check provided parameters (such as frequency) against limits determined by the device manufacturer. - * It is highly advised to keep this macro defined, removing it will allow invalid values to be set, - * possibly leading to bricked module and/or program crashing. - * Note: Enabled by default. - */ -#if !defined(RADIOLIB_CHECK_PARAMS) - #define RADIOLIB_CHECK_PARAMS -#endif - -/* - * Uncomment to enable SX127x errata fix - * Warning: SX127x errata fix has been reported to cause issues with LoRa bandwidths lower than 62.5 kHz. - * It should only be enabled if you really are observing some errata-related issue. - * Note: Disabled by default. - */ -#if !defined(RADIOLIB_FIX_ERRATA_SX127X) - //#define RADIOLIB_FIX_ERRATA_SX127X -#endif - -/* - * Uncomment to enable god mode - all methods and member variables in all classes will be made public, thus making them accessible from Arduino code. - * Warning: Come on, it's called GOD mode - obviously only use this if you know what you're doing. - * Failure to heed the above warning may result in bricked module. - */ -#if !defined(RADIOLIB_GODMODE) - //#define RADIOLIB_GODMODE -#endif - -/* - * Uncomment to enable low-level hardware access - * This will make some hardware methods like SPI get/set accessible from the user sketch - think of it as "god mode lite" - * Warning: RadioLib won't stop you from writing invalid stuff into your device, so it's quite easy to brick your module with this. - */ -#if !defined(RADIOLIB_LOW_LEVEL) - //#define RADIOLIB_LOW_LEVEL -#endif - -/* - * Uncomment to enable pre-defined modules when using RadioShield. - */ -#if !defined(RADIOLIB_RADIOSHIELD) - //#define RADIOLIB_RADIOSHIELD -#endif - -/* - * Uncomment to enable interrupt-based timing control - * For details, see https://github.com/jgromes/RadioLib/wiki/Interrupt-Based-Timing - */ -#if !defined(RADIOLIB_INTERRUPT_TIMING) - //#define RADIOLIB_INTERRUPT_TIMING -#endif - -/* - * Uncomment to enable static-only memory management: no dynamic allocation will be performed. - * Warning: Large static arrays will be created in some methods. It is not advised to send large packets in this mode. - */ -#if !defined(RADIOLIB_STATIC_ONLY) - //#define RADIOLIB_STATIC_ONLY -#endif - -// set the size of static arrays to use -#if !defined(RADIOLIB_STATIC_ARRAY_SIZE) - #define RADIOLIB_STATIC_ARRAY_SIZE (256) -#endif - -// the base address for persistent storage -// some protocols (e.g. LoRaWAN) require a method -// to store some data persistently -// on Arduino, this will use EEPROM, on non-Arduino platform, -// it will use anything provided by the hardware abstraction layer -// RadioLib will place these starting at this address -#if !defined(RADIOLIB_HAL_PERSISTENT_STORAGE_BASE) - #define RADIOLIB_HAL_PERSISTENT_STORAGE_BASE (0) -#endif - -// the amount of space allocated to the persistent storage -#if !defined(RADIOLIB_HAL_PERSISTENT_STORAGE_SIZE) - #define RADIOLIB_HAL_PERSISTENT_STORAGE_SIZE (0x0180) -#endif - -/* - * Uncomment on boards whose clock runs too slow or too fast - * Set the value according to the following scheme: - * Enable timestamps on your terminal - * Print something to terminal, wait 1000 milliseconds, print something again - * If the difference is e.g. 1014 milliseconds between the prints, set this value to 14 - * Or, for more accuracy, wait for 100,000 milliseconds and divide the total drift by 100 - */ -#if !defined(RADIOLIB_CLOCK_DRIFT_MS) - //#define RADIOLIB_CLOCK_DRIFT_MS (0) -#endif - // This only compiles on STM32 boards with SUBGHZ module, but also // include when generating docs #if (!defined(ARDUINO_ARCH_STM32) || !defined(SUBGHZSPI_BASE)) && !defined(DOXYGEN) - #define RADIOLIB_EXCLUDE_STM32WLX + #define RADIOLIB_EXCLUDE_STM32WLX (1) #endif -#if defined(RADIOLIB_DEBUG) +#if RADIOLIB_DEBUG #if defined(RADIOLIB_BUILD_ARDUINO) #define RADIOLIB_DEBUG_PRINT(...) Module::serialPrintf(__VA_ARGS__) #define RADIOLIB_DEBUG_PRINTLN(M, ...) Module::serialPrintf(M "\n", ##__VA_ARGS__) @@ -491,7 +493,7 @@ #define RADIOLIB_DEBUG_HEXDUMP(...) {} #endif -#if defined(RADIOLIB_VERBOSE) +#if RADIOLIB_VERBOSE #define RADIOLIB_VERBOSE_PRINT(...) RADIOLIB_DEBUG_PRINT(__VA_ARGS__) #define RADIOLIB_VERBOSE_PRINTLN(...) RADIOLIB_DEBUG_PRINTLN(__VA_ARGS__) #else @@ -507,13 +509,13 @@ /*! \brief Macro to check variable is within constraints - this is commonly used to check parameter ranges. Requires RADIOLIB_CHECK_RANGE to be enabled */ -#if defined(RADIOLIB_CHECK_PARAMS) +#if RADIOLIB_CHECK_PARAMS #define RADIOLIB_CHECK_RANGE(VAR, MIN, MAX, ERR) { if(!(((VAR) >= (MIN)) && ((VAR) <= (MAX)))) { return(ERR); } } #else #define RADIOLIB_CHECK_RANGE(VAR, MIN, MAX, ERR) {} #endif -#if defined(RADIOLIB_FIX_ERRATA_SX127X) +#if RADIOLIB_FIX_ERRATA_SX127X #define RADIOLIB_ERRATA_SX127X(...) { errataFix(__VA_ARGS__); } #else #define RADIOLIB_ERRATA_SX127X(...) {} diff --git a/src/BuildOptUser.h b/src/BuildOptUser.h index 5df3c2be..fc1a5657 100644 --- a/src/BuildOptUser.h +++ b/src/BuildOptUser.h @@ -5,7 +5,7 @@ // most commonly, RADIOLIB_EXCLUDE_* macros // or enabling debug output -//#define RADIOLIB_DEBUG -//#define RADIOLIB_VERBOSE +//#define RADIOLIB_DEBUG (1) +//#define RADIOLIB_VERBOSE (1) #endif diff --git a/src/Module.cpp b/src/Module.cpp index cd710eaa..b6f8583d 100644 --- a/src/Module.cpp +++ b/src/Module.cpp @@ -5,7 +5,7 @@ #include #include -#if defined(RADIOLIB_DEBUG) +#if RADIOLIB_DEBUG // needed for debug print #include #endif @@ -145,7 +145,7 @@ void Module::SPIwriteRegister(uint16_t reg, uint8_t data) { void Module::SPItransfer(uint8_t cmd, uint16_t reg, uint8_t* dataOut, uint8_t* dataIn, size_t numBytes) { // prepare the buffers size_t buffLen = this->SPIaddrWidth/8 + numBytes; - #if defined(RADIOLIB_STATIC_ONLY) + #if RADIOLIB_STATIC_ONLY uint8_t buffOut[RADIOLIB_STATIC_ARRAY_SIZE]; uint8_t buffIn[RADIOLIB_STATIC_ARRAY_SIZE]; #else @@ -182,7 +182,7 @@ void Module::SPItransfer(uint8_t cmd, uint16_t reg, uint8_t* dataOut, uint8_t* d } // print debug information - #if defined(RADIOLIB_VERBOSE) + #if RADIOLIB_VERBOSE uint8_t* debugBuffPtr = NULL; if(cmd == SPIwriteCommand) { RADIOLIB_VERBOSE_PRINT("W\t%X\t", reg); @@ -197,7 +197,7 @@ void Module::SPItransfer(uint8_t cmd, uint16_t reg, uint8_t* dataOut, uint8_t* d RADIOLIB_VERBOSE_PRINTLN(); #endif - #if !defined(RADIOLIB_STATIC_ONLY) + #if !RADIOLIB_STATIC_ONLY delete[] buffOut; delete[] buffIn; #endif @@ -262,7 +262,7 @@ int16_t Module::SPItransferStream(uint8_t* cmd, uint8_t cmdLen, bool write, uint if(!write) { buffLen++; } - #if defined(RADIOLIB_STATIC_ONLY) + #if RADIOLIB_STATIC_ONLY uint8_t buffOut[RADIOLIB_STATIC_ARRAY_SIZE]; uint8_t buffIn[RADIOLIB_STATIC_ARRAY_SIZE]; #else @@ -292,7 +292,7 @@ int16_t Module::SPItransferStream(uint8_t* cmd, uint8_t cmdLen, bool write, uint this->hal->yield(); if(this->hal->millis() - start >= timeout) { RADIOLIB_DEBUG_PRINTLN("GPIO pre-transfer timeout, is it connected?"); - #if !defined(RADIOLIB_STATIC_ONLY) + #if !RADIOLIB_STATIC_ONLY delete[] buffOut; delete[] buffIn; #endif @@ -319,7 +319,7 @@ int16_t Module::SPItransferStream(uint8_t* cmd, uint8_t cmdLen, bool write, uint this->hal->yield(); if(this->hal->millis() - start >= timeout) { RADIOLIB_DEBUG_PRINTLN("GPIO post-transfer timeout, is it connected?"); - #if !defined(RADIOLIB_STATIC_ONLY) + #if !RADIOLIB_STATIC_ONLY delete[] buffOut; delete[] buffIn; #endif @@ -342,7 +342,7 @@ int16_t Module::SPItransferStream(uint8_t* cmd, uint8_t cmdLen, bool write, uint } // print debug information - #if defined(RADIOLIB_VERBOSE) + #if RADIOLIB_VERBOSE // print command byte(s) RADIOLIB_VERBOSE_PRINT("CMD"); if(write) { @@ -369,7 +369,7 @@ int16_t Module::SPItransferStream(uint8_t* cmd, uint8_t cmdLen, bool write, uint RADIOLIB_VERBOSE_PRINTLN(); #endif - #if !defined(RADIOLIB_STATIC_ONLY) + #if !RADIOLIB_STATIC_ONLY delete[] buffOut; delete[] buffIn; #endif @@ -378,7 +378,7 @@ int16_t Module::SPItransferStream(uint8_t* cmd, uint8_t cmdLen, bool write, uint } void Module::waitForMicroseconds(uint32_t start, uint32_t len) { - #if defined(RADIOLIB_INTERRUPT_TIMING) + #if RADIOLIB_INTERRUPT_TIMING (void)start; if((this->TimerSetupCb != nullptr) && (len != this->prevTimingLen)) { prevTimingLen = len; @@ -403,7 +403,7 @@ uint32_t Module::reflect(uint32_t in, uint8_t bits) { return(res); } -#if defined(RADIOLIB_DEBUG) +#if RADIOLIB_DEBUG void Module::hexdump(uint8_t* data, size_t len, uint32_t offset, uint8_t width, bool be) { size_t rem_len = len; for(size_t i = 0; i < len; i+=16) { @@ -450,20 +450,20 @@ void Module::hexdump(uint8_t* data, size_t len, uint32_t offset, uint8_t width, } void Module::regdump(uint16_t start, size_t len) { - #if defined(RADIOLIB_STATIC_ONLY) + #if RADIOLIB_STATIC_ONLY uint8_t buff[RADIOLIB_STATIC_ARRAY_SIZE]; #else uint8_t* buff = new uint8_t[len]; #endif SPIreadRegisterBurst(start, len, buff); hexdump(buff, len, start); - #if !defined(RADIOLIB_STATIC_ONLY) + #if !RADIOLIB_STATIC_ONLY delete[] buff; #endif } #endif -#if defined(RADIOLIB_DEBUG) and defined(RADIOLIB_BUILD_ARDUINO) +#if RADIOLIB_DEBUG && defined(RADIOLIB_BUILD_ARDUINO) // https://github.com/esp8266/Arduino/blob/65579d29081cb8501e4d7f786747bf12e7b37da2/cores/esp8266/Print.cpp#L50 size_t Module::serialPrintf(const char* format, ...) { va_list arg; diff --git a/src/Module.h b/src/Module.h index 56697ac9..c67aaf6a 100644 --- a/src/Module.h +++ b/src/Module.h @@ -168,7 +168,7 @@ class Module { */ SPIparseStatusCb_t SPIparseStatusCb = nullptr; - #if defined(RADIOLIB_INTERRUPT_TIMING) + #if RADIOLIB_INTERRUPT_TIMING /*! \brief Timer interrupt setup callback typedef. @@ -468,7 +468,7 @@ class Module { */ static uint32_t reflect(uint32_t in, uint8_t bits); - #if defined(RADIOLIB_DEBUG) + #if RADIOLIB_DEBUG /*! \brief Function to dump data as hex into the debug port. \param data Data to dump. @@ -486,11 +486,11 @@ class Module { void regdump(uint16_t start, size_t len); #endif - #if defined(RADIOLIB_DEBUG) and defined(RADIOLIB_BUILD_ARDUINO) + #if RADIOLIB_DEBUG and defined(RADIOLIB_BUILD_ARDUINO) static size_t serialPrintf(const char* format, ...); #endif -#if !defined(RADIOLIB_GODMODE) +#if !RADIOLIB_GODMODE private: #endif uint32_t csPin = RADIOLIB_NC; @@ -502,7 +502,7 @@ class Module { uint32_t rfSwitchPins[RFSWITCH_MAX_PINS] = { RADIOLIB_NC, RADIOLIB_NC, RADIOLIB_NC }; const RfSwitchMode_t *rfSwitchTable = nullptr; - #if defined(RADIOLIB_INTERRUPT_TIMING) + #if RADIOLIB_INTERRUPT_TIMING uint32_t prevTimingLen = 0; #endif }; diff --git a/src/RadioLib.h b/src/RadioLib.h index 735309d2..3fd9632a 100644 --- a/src/RadioLib.h +++ b/src/RadioLib.h @@ -47,7 +47,7 @@ // warnings are printed in this file since BuildOpt.h is compiled in multiple places // check God mode -#if defined(RADIOLIB_GODMODE) +#if RADIOLIB_GODMODE #warning "God mode active, I hope it was intentional. Buckle up, lads." #endif @@ -120,7 +120,7 @@ #include "utils/Cryptography.h" // only create Radio class when using RadioShield -#if defined(RADIOLIB_RADIOSHIELD) +#if RADIOLIB_RADIOSHIELD // RadioShield pin definitions #define RADIOSHIELD_CS_A 10 @@ -152,7 +152,7 @@ class Radio { ModuleB = new Module(RADIOSHIELD_CS_B, RADIOSHIELD_IRQ_B, RADIOSHIELD_RST_B, RADIOSHIELD_GPIO_B); } -#if defined(RADIOLIB_GODMODE) +#if RADIOLIB_GODMODE private: #endif