353 * Every write to an SPI register using SPI set function will be verified by a subsequent read operation.
354 * This improves reliability, but slightly slows down communication.
355 * Note: Enabled by default.
356 */
357#if !defined(RADIOLIB_SPI_PARANOID)
358 #define RADIOLIB_SPI_PARANOID
359#endif
360
361/*
362 * Uncomment to enable parameter range checking
363 * RadioLib will check provided parameters (such as frequency) against limits determined by the device manufacturer.
364 * It is highly advised to keep this macro defined, removing it will allow invalid values to be set,
365 * possibly leading to bricked module and/or program crashing.
366 * Note: Enabled by default.
367 */
368#if !defined(RADIOLIB_CHECK_PARAMS)
369 #define RADIOLIB_CHECK_PARAMS
370#endif
371
372/*
373 * Uncomment to enable SX127x errata fix
374 * Warning: SX127x errata fix has been reported to cause issues with LoRa bandwidths lower than 62.5 kHz.
375 * It should only be enabled if you really are observing some errata-related issue.
376 * Note: Disabled by default.
377 */
378#if !defined(RADIOLIB_FIX_ERRATA_SX127X)
379//#define RADIOLIB_FIX_ERRATA_SX127X
380#endif
381
382/*
383 * Uncomment to enable god mode - all methods and member variables in all classes will be made public, thus making them accessible from Arduino code.
384 * Warning: Come on, it's called GOD mode - obviously only use this if you know what you're doing.
385 * Failure to heed the above warning may result in bricked module.
386 */
387#if !defined(RADIOLIB_GODMODE)
388//#define RADIOLIB_GODMODE
389#endif
390
391/*
392 * Uncomment to enable low-level hardware access
393 * This will make some hardware methods like SPI get/set accessible from the user sketch - think of it as "god mode lite"
394 * Warning: RadioLib won't stop you from writing invalid stuff into your device, so it's quite easy to brick your module with this.
395 */
396#if !defined(RADIOLIB_LOW_LEVEL)
397//#define RADIOLIB_LOW_LEVEL
398#endif
399
400/*
401 * Uncomment to enable pre-defined modules when using RadioShield.
402 */
403#if !defined(RADIOLIB_RADIOSHIELD)
404//#define RADIOLIB_RADIOSHIELD
405#endif
406
407/*
408 * Uncomment to enable interrupt-based timing control
409 * For details, see https://github.com/jgromes/RadioLib/wiki/Interrupt-Based-Timing
410 */
411#if !defined(RADIOLIB_INTERRUPT_TIMING)
412//#define RADIOLIB_INTERRUPT_TIMING
413#endif
414
415/*
416 * Uncomment to enable static-only memory management: no dynamic allocation will be performed.
417 * Warning: Large static arrays will be created in some methods. It is not advised to send large packets in this mode.
418 */
419#if !defined(RADIOLIB_STATIC_ONLY)
420//#define RADIOLIB_STATIC_ONLY
421#endif
422
423// set the size of static arrays to use
424#if !defined(RADIOLIB_STATIC_ARRAY_SIZE)
425 #define RADIOLIB_STATIC_ARRAY_SIZE (256)
426#endif
427
428// the base address for persistent storage
429// some protocols (e.g. LoRaWAN) require a method
430// to store some data persistently
431// on Arduino, this will use EEPROM, on non-Arduino platform,
432// it will use anything provided by the hardware abstraction layer
433// RadioLib will place these starting at this address