mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2024-12-29 04:50:03 +01:00
151 lines
3.9 KiB
C
151 lines
3.9 KiB
C
|
/*
|
||
|
* 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 */
|
||
|
/** @} */
|