1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
RIOT/drivers/nrf24l01p_ng/include/nrf24l01p_ng_params.h

151 lines
3.9 KiB
C
Raw Normal View History

/*
* Copyright (C) 2019 Otto-von-Guericke-Universität Magdeburg
*
* This file is subject to the terms and conditions of the GNU Lesser
* General Public License v2.1. See the file LICENSE in the top level
* directory for more details.
*/
/**
* @ingroup drivers_nrf24l01p_ng
* @{
*
* @file
* @brief Board specific configuration for all NRF24L01+ (NG) devices
*
* @author Fabian Hüßler <fabian.huessler@ovgu.de>
*/
#ifndef NRF24L01P_NG_PARAMS_H
#define NRF24L01P_NG_PARAMS_H
#include "board.h"
#include "periph/gpio.h"
#include "periph/spi.h"
#include "kernel_defines.h"
#include "nrf24l01p_ng_constants.h"
#include "nrf24l01p_ng.h"
#ifdef __cplusplus
extern "C" {
#endif
#ifndef NRF24L01P_NG_PARAM_SPI
/**
* @brief SPI bus
*/
#define NRF24L01P_NG_PARAM_SPI SPI_DEV(0)
#endif
#ifndef NRF24L01P_NG_PARAM_SPI_CLK
/**
* @brief SPI clock speed
*/
#define NRF24L01P_NG_PARAM_SPI_CLK SPI_CLK_5MHZ
#endif
#ifndef NRF24L01P_NG_PARAM_CS
/**
* @brief SPI CS gpio pin
*/
#define NRF24L01P_NG_PARAM_CS GPIO_UNDEF
#endif
#ifndef NRF24L01P_NG_PARAM_CE
/**
* @brief NRF24L01+ chip enable gpio pin
*/
#define NRF24L01P_NG_PARAM_CE GPIO_UNDEF
#endif
#ifndef NRF24L01P_NG_PARAM_IRQ
/**
* @brief NRF24L01+ interrupt gpio pin
*/
#define NRF24L01P_NG_PARAM_IRQ GPIO_UNDEF
#endif
#ifndef NRF24L01P_NG_PARAM_CRC_LEN
/**
* @brief Default CRC length
* @see nrf24l01p_ng_crc_t
*/
#define NRF24L01P_NG_PARAM_CRC_LEN (NRF24L01P_NG_CRC_2BYTE)
#endif
#ifndef NRF24L01P_NG_PARAM_TX_POWER
/**
* @brief Default TX power
* @see nrf24l01p_ng_tx_power_t
*/
#define NRF24L01P_NG_PARAM_TX_POWER (NRF24L01P_NG_TX_POWER_0DBM)
#endif
#ifndef NRF24L01P_NG_PARAM_DATA_RATE_LVL
/**
* @brief Default data rate
* @see nrf24l01p_ng_rfdr_t
*/
#define NRF24L01P_NG_PARAM_DATA_RATE (NRF24L01P_NG_RF_DR_2MBPS)
#endif
#ifndef NRF24L01P_NG_PARAM_CHANNEL
/**
* @brief Default channel in [0; 124]
*/
#define NRF24L01P_NG_PARAM_CHANNEL (4)
#endif
#ifndef NRF24L01P_NG_PARAM_MAX_RETRANSM
/**
* @brief Default number of retransmissions
*/
#define NRF24L01P_NG_PARAM_MAX_RETRANSM (5)
#endif
#ifndef NRF24L01P_NG_PARAM_RETRANSM_DELAY
/**
* @brief Default retransmission delay
* @see nrf24l01p_ng_ard_t
*/
#define NRF24L01P_NG_PARAM_RETRANSM_DELAY (NRF24L01P_NG_ARD_2750US)
#endif
#ifndef NRF24L01P_NG_PARAMS
/**
* @brief Default NRF24L01+ device parameters
*/
#define NRF24L01P_NG_PARAMS { \
.spi = NRF24L01P_NG_PARAM_SPI, \
.spi_clk = NRF24L01P_NG_PARAM_SPI_CLK, \
.pin_cs = NRF24L01P_NG_PARAM_CS, \
.pin_ce = NRF24L01P_NG_PARAM_CE, \
.pin_irq = NRF24L01P_NG_PARAM_IRQ, \
.config = { \
.cfg_crc = NRF24L01P_NG_PARAM_CRC_LEN, \
.cfg_tx_power = NRF24L01P_NG_PARAM_TX_POWER, \
.cfg_data_rate = NRF24L01P_NG_PARAM_DATA_RATE, \
.cfg_channel = NRF24L01P_NG_PARAM_CHANNEL, \
.cfg_max_retr = NRF24L01P_NG_PARAM_MAX_RETRANSM, \
.cfg_retr_delay = NRF24L01P_NG_PARAM_RETRANSM_DELAY, \
} \
}
#endif
/**
* @brief Static array that holds NRF24L01+ device configurations
*/
static const nrf24l01p_ng_params_t nrf24l01p_ng_params[] = {
NRF24L01P_NG_PARAMS
};
/**
* @brief Number of NRF24L01+ device configurations
*/
#define NRF24L01P_NG_NUM ARRAY_SIZE(nrf24l01p_ng_params)
#ifdef __cplusplus
}
#endif
#endif /* NRF24L01P_NG_PARAMS_H */
/** @} */