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