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