mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2024-12-29 04:50:03 +01:00
d35511bee7
This adds a driver for the SPI based AT86RF215 transceiver. The chip supports the IEEE Std 802.15.4-2015 and IEEE Std 802.15.4g-2012 standard. This driver supports two versions of the chip: - AT86RF215: dual sub-GHz & 2.4 GHz radio & baseband - AT86RF215M: sub-GHz radio & baseband only Both radios support the following PHY modes: - MR-FSK - MR-OFDM - MR-O-QPKS - O-QPSK (legacy) The driver currently only implements support for legacy O-QPSK. To use both interfaces, add GNRC_NETIF_NUMOF := 2 to your Makefile. The transceiver is able to send frames of up to 2047 bytes according to IEEE 802.15.4g-2012 when operating in non-legacy mode. Known issues: - [ ] dBm setting values are bogus - [ ] Channel spacing for sub-GHz MR-O-QPSK might be wrong - [ ] TX/RX stress test will lock up the driver on openmote-b
73 lines
1.7 KiB
C
73 lines
1.7 KiB
C
/*
|
|
* Copyright (C) 2019 ML!PA Consulting GmbH
|
|
*
|
|
* 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_at86rf215
|
|
* @{
|
|
*
|
|
* @file
|
|
* @brief Default configuration for the AT86RF215 driver
|
|
*
|
|
* @author Benjamin Valentin <benjamin.valentin@ml-pa.com>
|
|
* @}
|
|
*/
|
|
|
|
#ifndef AT86RF215_PARAMS_H
|
|
#define AT86RF215_PARAMS_H
|
|
|
|
#include "board.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/**
|
|
* @name Set default configuration parameters for the AT86RF215 driver
|
|
* Example config for EXT3 on same54-xpro
|
|
* @{
|
|
*/
|
|
#ifndef AT86RF215_PARAM_SPI
|
|
#define AT86RF215_PARAM_SPI (SPI_DEV(0))
|
|
#endif
|
|
#ifndef AT86RF215_PARAM_SPI_CLK
|
|
#define AT86RF215_PARAM_SPI_CLK (SPI_CLK_5MHZ)
|
|
#endif
|
|
#ifndef AT86RF215_PARAM_CS
|
|
#define AT86RF215_PARAM_CS (GPIO_PIN(3, 14))
|
|
#endif
|
|
#ifndef AT86RF215_PARAM_INT
|
|
#define AT86RF215_PARAM_INT (GPIO_PIN(3, 30))
|
|
#endif
|
|
#ifndef AT86RF215_PARAM_RESET
|
|
#define AT86RF215_PARAM_RESET (GPIO_PIN(4, 10))
|
|
#endif
|
|
|
|
#ifndef AT86RF215_PARAMS
|
|
#define AT86RF215_PARAMS { .spi = AT86RF215_PARAM_SPI, \
|
|
.spi_clk = AT86RF215_PARAM_SPI_CLK, \
|
|
.cs_pin = AT86RF215_PARAM_CS, \
|
|
.int_pin = AT86RF215_PARAM_INT, \
|
|
.reset_pin = AT86RF215_PARAM_RESET }
|
|
#endif
|
|
/**@}*/
|
|
|
|
/**
|
|
* @brief AT86RF215 configuration
|
|
*/
|
|
static const at86rf215_params_t at86rf215_params[] =
|
|
{
|
|
AT86RF215_PARAMS
|
|
};
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* AT86RF215_PARAMS_H */
|
|
/** @} */
|