Files
MSE-SoftwEng/pico-sensor/McuLib/RNet/McuNRF24L01config.h
2025-05-06 13:07:01 +00:00

118 lines
3.6 KiB
C

/**
* \file
* \brief Configuration header file for Nordic Semiconductor nRF24L01+ transceiver
*
* This header file is used to configure settings of the nRF24L01 module.
*/
#ifndef __McuNRF24L01_CONFIG_H
#define __McuNRF24L01_CONFIG_H
#include "McuLib.h"
#ifndef McuNRF24L01_CONFIG_IS_ENABLED
#define McuNRF24L01_CONFIG_IS_ENABLED (0)
/*!< 1: enable driver/module; 0: module is not enabled */
#endif
#ifndef McuNRF24L01_CONFIG_IRQ_PIN_ENABLED
void McuNRF24L01_OnInterrupt(void); /* prototype for interrupt handler */
#define McuNRF24L01_CONFIG_IRQ_PIN_ENABLED (0)
/*!< 1: IRQ pin is enabled, 0: No IRQ pin available */
#endif
#ifndef McuNRF24L01_CONFIG_USE_ON_ACTIVATE_CALLBACK
#define McuNRF24L01_CONFIG_USE_ON_ACTIVATE_CALLBACK (0)
/*!< If McuNRF24L01_CONFIG_ON_ACTIVATE_CALLBACK is called or not */
#endif
#ifndef McuNRF24L01_CONFIG_ON_ACTIVATE_CALLBACK
void McuNRF24L01_OnActivate(void); /* prototype */
#define McuNRF24L01_CONFIG_ON_ACTIVATE_CALLBACK() McuNRF24L01_OnActivate()
/*!< User callback called before using device */
#endif
#ifndef McuNRF24L01_CONFIG_USE_ON_DEACTIVATE_CALLBACK
#define McuNRF24L01_CONFIG_USE_ON_DEACTIVATE_CALLBACK (0)
/*!< If McuNRF24L01_CONFIG_ON_DEACTIVATE_CALLBACK is called or not */
#endif
#ifndef McuNRF24L01_CONFIG_ON_DEACTIVATE_CALLBACK
void McuNRF24L01_OnDeactivate(void); /* prototype */
#define McuNRF24L01_CONFIG_ON_DEACTIVATE_CALLBACK() McuNRF24L01_OnDeactivate()
/*!< User callback called after using device */
#endif
#ifndef McuNRF24L01_CONFIG_USE_MUTEX
#define McuNRF24L01_CONFIG_USE_MUTEX (1)
/*!< 1: Use FreeRTOS Mutex, 0: Do not use FreeRTOS mutex */
#endif
#ifndef McuNRF24L01_CONFIG_INITIALIZE_DURING_STARTUP
#define McuNRF24L01_CONFIG_INITIALIZE_DURING_STARTUP (0)
/*!< 1: Call Init() during startup, 0: Do not call Init() */
#endif
#ifndef McuNRF24L01_CONFIG_CE_CSN_PIN_PRE_INIT
#if McuLib_CONFIG_CPU_IS_RPxxxx
#define McuNRF24L01_CONFIG_CE_CSN_PIN_PRE_INIT() /* nothing needed */
#elif McuLib_CONFIG_CPU_IS_ESP32
#define McuNRF24L01_CONFIG_CE_CSN_PIN_PRE_INIT() /* nothing needed */
#elif McuLib_CONFIG_CPU_IS_KINETIS
#define McuNRF24L01_CONFIG_CE_CSN_PIN_PRE_INIT() CLOCK_EnableClock(kCLOCK_PortB)
/*!< Optional hardware initialization for CS Pin */
#endif
#endif
#ifndef McuNRF24L01_CONFIG_CE_PIN_GPIO
#define McuNRF24L01_CONFIG_CE_PIN_GPIO GPIOB
/*!< GPIO for CE Pin */
#endif
#ifndef McuNRF24L01_CONFIG_CE_PIN_PORT
#define McuNRF24L01_CONFIG_CE_PIN_PORT PORTB
/*!< PORT for CE Pin */
#endif
#ifndef McuNRF24L01_CONFIG_CE_PIN_NUMBER
#define McuNRF24L01_CONFIG_CE_PIN_NUMBER 10
/*!< Pin number of the CE Pin */
#endif
#ifndef McuNRF24L01_CONFIG_CSN_PIN_GPIO
#define McuNRF24L01_CONFIG_CSN_PIN_GPIO GPIOB
/*!< GPIO for CSN Pin */
#endif
#ifndef McuNRF24L01_CONFIG_CSN_PIN_PORT
#define McuNRF24L01_CONFIG_CSN_PIN_PORT PORTB
/*!< PORT for CSN Pin */
#endif
#ifndef McuNRF24L01_CONFIG_CSN_PIN_NUMBER
#define McuNRF24L01_CONFIG_CSN_PIN_NUMBER 0
/*!< Pin number of the CSN Pin */
#endif
#ifndef McuNRF24L01_CONFIG_IRQ_PIN_GPIO
#define McuNRF24L01_CONFIG_IRQ_PIN_GPIO GPIOB
/*!< GPIO for IRQ Pin */
#endif
#ifndef McuNRF24L01_CONFIG_IRQ_PIN_PORT
#define McuNRF24L01_CONFIG_IRQ_PIN_PORT PORTB
/*!< PORT for IRQ Pin */
#endif
#ifndef McuNRF24L01_CONFIG_IRQ_PIN_NUMBER
#define McuNRF24L01_CONFIG_IRQ_PIN_NUMBER 0
/*!< Pin number of the IRQ Pin */
#endif
#ifndef McuNRF24L01_CONFIG_IRQ_LINE_NUMBER
#define McuNRF24L01_CONFIG_IRQ_LINE_NUMBER PORTB_IRQn
/*!< Kinetis IRQ line number for interrupt settings */
#endif
#endif /* __McuNRF24L01_CONFIG_H */