1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
RIOT/drivers/at86rf215/include/at86rf215_params.h
Benjamin Valentin d35511bee7 drivers/at86rf215: Add basic driver for the AT86RF215 radio
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
2020-03-19 14:39:18 +01:00

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 */
/** @} */