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"
Include dependency graph for nrf24l01p_ng.h:
This graph shows which files directly or indirectly include this file: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. More... | |
| #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. More... | |
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. More... | |
| int | nrf24l01p_ng_set_enable_pipe (nrf24l01p_ng_t *dev, nrf24l01p_ng_pipe_t pipe, bool enable) |
Enable or disable data pipe pipe. More... | |
| int | nrf24l01p_ng_get_enable_pipe (nrf24l01p_ng_t *dev, nrf24l01p_ng_pipe_t pipe, bool *enable) |
Query if data pipe pipe is enabled. More... | |
| int | nrf24l01p_ng_set_air_data_rate (nrf24l01p_ng_t *dev, nrf24l01p_ng_rfdr_t data_rate) |
| Configure air data rate. More... | |
| uint16_t | nrf24l01p_ng_get_air_data_rate (const nrf24l01p_ng_t *dev, nrf24l01p_ng_rfdr_t *data_rate) |
| Get currently configured data rate. More... | |
| int | nrf24l01p_ng_set_crc (nrf24l01p_ng_t *dev, nrf24l01p_ng_crc_t crc) |
| Configure CRC length. More... | |
| uint8_t | nrf24l01p_ng_get_crc (const nrf24l01p_ng_t *dev, nrf24l01p_ng_crc_t *crc) |
| Get currently configured CRC length. More... | |
| int | nrf24l01p_ng_set_tx_power (nrf24l01p_ng_t *dev, nrf24l01p_ng_tx_power_t power) |
| Configure Tx trasceiver power. More... | |
| int8_t | nrf24l01p_ng_get_tx_power (const nrf24l01p_ng_t *dev, nrf24l01p_ng_tx_power_t *power) |
| Get currently configured Tx transceiver power. More... | |
| int | nrf24l01p_ng_set_channel (nrf24l01p_ng_t *dev, uint8_t channel) |
| Set transceiver channel. More... | |
| uint8_t | nrf24l01p_ng_get_channel (const nrf24l01p_ng_t *dev) |
| Get currently configured transceiver channel. More... | |
| 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. More... | |
| 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. More... | |
| int | nrf24l01p_ng_set_max_retransm (nrf24l01p_ng_t *dev, uint8_t max_rt) |
| Configure maximum number of retransmissions for ESB. More... | |
| uint8_t | nrf24l01p_ng_get_max_retransm (const nrf24l01p_ng_t *dev) |
| Get currently configured number of maximum retransmissions for ESB. More... | |
| int | nrf24l01p_ng_set_retransm_delay (nrf24l01p_ng_t *dev, nrf24l01p_ng_ard_t rt_delay) |
| Set retransmission delay for ESB. More... | |
| uint16_t | nrf24l01p_ng_get_retransm_delay (const nrf24l01p_ng_t *dev, nrf24l01p_ng_ard_t *rt_delay) |
| Get retransmission delay for ESB. More... | |
| 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) More... | |
| nrf24l01p_ng_state_t | nrf24l01p_ng_get_state (const nrf24l01p_ng_t *dev) |
| Get current device state. More... | |
| void | nrf24l01p_ng_eui_get (const netdev_t *dev, uint8_t *eui) |
| Retrieve a unique layer-2 address for an nrf24l01p_ng instance. More... | |