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