Public interface for NRF24L01+ (NG) devices. More...
Public interface for NRF24L01+ (NG) devices.
Definition in file nrf24l01p_ng.h.
#include <stdint.h>
#include "board.h"
#include "kernel_defines.h"
#include "net/gnrc/nettype.h"
#include "net/netdev.h"
#include "periph/gpio.h"
#include "periph/spi.h"
#include "nrf24l01p_ng_types.h"
Go to the source code of this file.
Data Structures | |
struct | nrf24l01p_ng_cfg_t |
Struct that holds all active configuration values. More... | |
struct | nrf24l01p_ng_params_t |
Struct of NRF24L01+ initialization parameters. More... | |
struct | nrf24l01p_ng |
NRF24L01+ device struct. More... | |
Macros | |
#define | NRF24L01P_NG_MIN_ADDR_WIDTH (3) |
Minimum width of a NRF24L01+ layer-2 address. | |
#define | NRF24L01P_NG_MAX_ADDR_WIDTH (5) |
Maximum width of a NRF24L01+ layer-2 address. | |
#define | NRF24L01P_NG_ADDR_WIDTH NRF24L01P_NG_MAX_ADDR_WIDTH |
Pass the compiler a definition of NRF24L01P_NG_ADDR_WIDTH to configure the layer-2 address width of this transceiver. | |
#define | NRF24L01P_NG_BROADCAST_ADDR { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF } |
Agreed layer-2 address to send broadcast frames to. | |
#define | NRF24L01P_NG_ADDR_P0(dev) ((dev)->arxaddr.rx_addr_long[NRF24L01P_NG_P0]) |
Shortcut to access the address of pipe 0. | |
#define | NRF24L01P_NG_ADDR_P1(dev) ((dev)->arxaddr.rx_addr_long[NRF24L01P_NG_P1]) |
Shortcut to access the address of pipe 1. | |
#define | NRF24L01P_NG_ADDR_PX_LSB(dev, pipe) ((dev)->arxaddr.rx_addr_short[(pipe) - 2]) |
Shortcut to access the least significant byte of the addresses pipe 2, pipe 3, pipe 4 or pipe 5. | |
Functions | |
int | nrf24l01p_ng_setup (nrf24l01p_ng_t *dev, const nrf24l01p_ng_params_t *params, uint8_t index) |
Setup the NRF24L01+ driver, but perform no initialization. | |
int | nrf24l01p_ng_set_enable_pipe (nrf24l01p_ng_t *dev, nrf24l01p_ng_pipe_t pipe, bool enable) |
Enable or disable data pipe pipe . | |
int | nrf24l01p_ng_get_enable_pipe (nrf24l01p_ng_t *dev, nrf24l01p_ng_pipe_t pipe, bool *enable) |
Query if data pipe pipe is enabled. | |
int | nrf24l01p_ng_set_air_data_rate (nrf24l01p_ng_t *dev, nrf24l01p_ng_rfdr_t data_rate) |
Configure air data rate. | |
uint16_t | nrf24l01p_ng_get_air_data_rate (const nrf24l01p_ng_t *dev, nrf24l01p_ng_rfdr_t *data_rate) |
Get currently configured data rate. | |
int | nrf24l01p_ng_set_crc (nrf24l01p_ng_t *dev, nrf24l01p_ng_crc_t crc) |
Configure CRC length. | |
uint8_t | nrf24l01p_ng_get_crc (const nrf24l01p_ng_t *dev, nrf24l01p_ng_crc_t *crc) |
Get currently configured CRC length. | |
int | nrf24l01p_ng_set_tx_power (nrf24l01p_ng_t *dev, nrf24l01p_ng_tx_power_t power) |
Configure Tx trasceiver power. | |
int8_t | nrf24l01p_ng_get_tx_power (const nrf24l01p_ng_t *dev, nrf24l01p_ng_tx_power_t *power) |
Get currently configured Tx transceiver power. | |
int | nrf24l01p_ng_set_channel (nrf24l01p_ng_t *dev, uint8_t channel) |
Set transceiver channel. | |
uint8_t | nrf24l01p_ng_get_channel (const nrf24l01p_ng_t *dev) |
Get currently configured transceiver channel. | |
int | nrf24l01p_ng_set_rx_address (nrf24l01p_ng_t *dev, const uint8_t *addr, nrf24l01p_ng_pipe_t pipe) |
Set Rx address of a certain data pipe. | |
int | nrf24l01p_ng_get_rx_address (const nrf24l01p_ng_t *dev, uint8_t *addr, nrf24l01p_ng_pipe_t pipe) |
Get current Rx address of a certain data pipe. | |
int | nrf24l01p_ng_set_max_retransm (nrf24l01p_ng_t *dev, uint8_t max_rt) |
Configure maximum number of retransmissions for ESB. | |
uint8_t | nrf24l01p_ng_get_max_retransm (const nrf24l01p_ng_t *dev) |
Get currently configured number of maximum retransmissions for ESB. | |
int | nrf24l01p_ng_set_retransm_delay (nrf24l01p_ng_t *dev, nrf24l01p_ng_ard_t rt_delay) |
Set retransmission delay for ESB. | |
uint16_t | nrf24l01p_ng_get_retransm_delay (const nrf24l01p_ng_t *dev, nrf24l01p_ng_ard_t *rt_delay) |
Get retransmission delay for ESB. | |
int | nrf24l01p_ng_set_state (nrf24l01p_ng_t *dev, nrf24l01p_ng_state_t state) |
Put device into sleep mode(NRF24L01P_NG_STATE_POWER_DOWN), standby mode (NRF24L01P_NG_STATE_STANDBY_1), or Rx mode (NRF24L01P_NG_STATE_RX_MODE) | |
nrf24l01p_ng_state_t | nrf24l01p_ng_get_state (const nrf24l01p_ng_t *dev) |
Get current device state. | |
void | nrf24l01p_ng_eui_get (const netdev_t *dev, uint8_t *eui) |
Retrieve a unique layer-2 address for an nrf24l01p_ng instance. | |