Interface library for the nRF24L01+ chip (specifically the Transceiver nRF24L01+ Module with Chip Antenna from SparkFun, talking to their Nordic Serial Interface Board, but should work with any nRF24L01+).
Dependents: nRF24L01P_Hello_World NerfGun_nRF24L01P_RX NerfGun_nRF24L01P_TX idd_hw3_AngieWangAntonioDeLimaFernandesDanielLim_BladeSymphony ... more
nRF24L01P Class Reference
nRF24L01+ Single Chip 2.4GHz Transceiver from Nordic Semiconductor. More...
#include <nRF24L01P.h>
Public Member Functions | |
nRF24L01P (PinName mosi, PinName miso, PinName sck, PinName csn, PinName ce, PinName irq=NC) | |
Constructor. | |
void | setRfFrequency (int frequency=DEFAULT_NRF24L01P_RF_FREQUENCY) |
Set the RF frequency. | |
int | getRfFrequency (void) |
Get the RF frequency. | |
void | setRfOutputPower (int power=DEFAULT_NRF24L01P_TX_PWR) |
Set the RF output power. | |
int | getRfOutputPower (void) |
Get the RF output power. | |
void | setAirDataRate (int rate=DEFAULT_NRF24L01P_DATARATE) |
Set the Air data rate. | |
int | getAirDataRate (void) |
Get the Air data rate. | |
void | setCrcWidth (int width=DEFAULT_NRF24L01P_CRC) |
Set the CRC width. | |
int | getCrcWidth (void) |
Get the CRC width. | |
void | setRxAddress (unsigned long long address=DEFAULT_NRF24L01P_ADDRESS, int width=DEFAULT_NRF24L01P_ADDRESS_WIDTH, int pipe=NRF24L01P_PIPE_P0) |
Set the Receive address. | |
void | setTxAddress (unsigned long long address=DEFAULT_NRF24L01P_ADDRESS, int width=DEFAULT_NRF24L01P_ADDRESS_WIDTH) |
Set the Transmit address. | |
unsigned long long | getRxAddress (int pipe=NRF24L01P_PIPE_P0) |
Get the Receive address. | |
unsigned long long | getTxAddress (void) |
Get the Transmit address. | |
void | setTransferSize (int size=DEFAULT_NRF24L01P_TRANSFER_SIZE, int pipe=NRF24L01P_PIPE_P0) |
Set the transfer size. | |
int | getTransferSize (int pipe=NRF24L01P_PIPE_P0) |
Get the transfer size. | |
bool | getRPD (void) |
Get the RPD (Received Power Detector) state. | |
void | setReceiveMode (void) |
Put the nRF24L01+ into Receive mode. | |
void | setTransmitMode (void) |
Put the nRF24L01+ into Transmit mode. | |
void | powerUp (void) |
Power up the nRF24L01+ into Standby mode. | |
void | powerDown (void) |
Power down the nRF24L01+ into Power Down mode. | |
void | enable (void) |
Enable the nRF24L01+ to Receive or Transmit (using the CE pin) | |
void | disable (void) |
Disable the nRF24L01+ to Receive or Transmit (using the CE pin) | |
int | write (int pipe, char *data, int count) |
Transmit data. | |
int | read (int pipe, char *data, int count) |
Receive data. | |
bool | readable (int pipe=NRF24L01P_PIPE_P0) |
Determine if there is data available to read. | |
void | disableAllRxPipes (void) |
Disable all receive pipes. | |
void | disableAutoAcknowledge (void) |
Disable AutoAcknowledge function. | |
void | enableAutoAcknowledge (int pipe=NRF24L01P_PIPE_P0) |
Enable AutoAcknowledge function. | |
void | disableAutoRetransmit (void) |
Disable AutoRetransmit function. | |
void | enableAutoRetransmit (int delay, int count) |
Enable AutoRetransmit function. |
Detailed Description
nRF24L01+ Single Chip 2.4GHz Transceiver from Nordic Semiconductor.
Definition at line 84 of file nRF24L01P.h.
Constructor & Destructor Documentation
nRF24L01P | ( | PinName | mosi, |
PinName | miso, | ||
PinName | sck, | ||
PinName | csn, | ||
PinName | ce, | ||
PinName | irq = NC |
||
) |
Constructor.
Methods.
- Parameters:
-
mosi mbed pin to use for MOSI line of SPI interface. miso mbed pin to use for MISO line of SPI interface. sck mbed pin to use for SCK line of SPI interface. csn mbed pin to use for not chip select line of SPI interface. ce mbed pin to use for the chip enable line. irq mbed pin to use for the interrupt request line.
Definition at line 174 of file nRF24L01P.cpp.
Member Function Documentation
void disable | ( | void | ) |
Disable the nRF24L01+ to Receive or Transmit (using the CE pin)
Definition at line 285 of file nRF24L01P.cpp.
void disableAllRxPipes | ( | void | ) |
Disable all receive pipes.
Note: receive pipes are enabled when their address is set.
Definition at line 520 of file nRF24L01P.cpp.
void disableAutoAcknowledge | ( | void | ) |
Disable AutoAcknowledge function.
Definition at line 527 of file nRF24L01P.cpp.
void disableAutoRetransmit | ( | void | ) |
Disable AutoRetransmit function.
Definition at line 552 of file nRF24L01P.cpp.
void enable | ( | void | ) |
Enable the nRF24L01+ to Receive or Transmit (using the CE pin)
Definition at line 277 of file nRF24L01P.cpp.
void enableAutoAcknowledge | ( | int | pipe = NRF24L01P_PIPE_P0 ) |
Enable AutoAcknowledge function.
- Parameters:
-
pipe the receive pipe
Definition at line 534 of file nRF24L01P.cpp.
void enableAutoRetransmit | ( | int | delay, |
int | count | ||
) |
Enable AutoRetransmit function.
- Parameters:
-
delay the delay between restransmits, in uS (250uS..4000uS) count number of retransmits before generating an error (1..15)
int getAirDataRate | ( | void | ) |
Get the Air data rate.
- Returns:
- the air data rate in kbps (250, 1M or 2M).
Definition at line 404 of file nRF24L01P.cpp.
int getCrcWidth | ( | void | ) |
Get the CRC width.
- Returns:
- the number of bits for the CRC (0, 8 or 16).
Definition at line 456 of file nRF24L01P.cpp.
int getRfFrequency | ( | void | ) |
Get the RF frequency.
- Returns:
- the frequency of RF transmission in MHz (2400..2525).
Definition at line 307 of file nRF24L01P.cpp.
int getRfOutputPower | ( | void | ) |
Get the RF output power.
- Returns:
- the RF output power in dBm (0, -6, -12 or -18).
Definition at line 349 of file nRF24L01P.cpp.
bool getRPD | ( | void | ) |
Get the RPD (Received Power Detector) state.
- Returns:
- true if the received power exceeded -64dBm
unsigned long long getRxAddress | ( | int | pipe = NRF24L01P_PIPE_P0 ) |
Get the Receive address.
- Parameters:
-
pipe pipe to get the address from (0..5, default 0)
- Returns:
- the address associated with the particular pipe
Definition at line 699 of file nRF24L01P.cpp.
int getTransferSize | ( | int | pipe = NRF24L01P_PIPE_P0 ) |
Get the transfer size.
- Returns:
- the size of the transfer, in bytes (1..32).
Definition at line 502 of file nRF24L01P.cpp.
unsigned long long getTxAddress | ( | void | ) |
Get the Transmit address.
- Returns:
- address address for transmission
Definition at line 772 of file nRF24L01P.cpp.
void powerDown | ( | void | ) |
Power down the nRF24L01+ into Power Down mode.
Definition at line 231 of file nRF24L01P.cpp.
void powerUp | ( | void | ) |
Power up the nRF24L01+ into Standby mode.
Definition at line 215 of file nRF24L01P.cpp.
int read | ( | int | pipe, |
char * | data, | ||
int | count | ||
) |
Receive data.
- Parameters:
-
pipe the receive pipe to get data from data pointer to an array of bytes to store the received data count the number of bytes to receive (1..32)
- Returns:
- the number of bytes actually received, 0 if none are received, or -1 for an error
Definition at line 896 of file nRF24L01P.cpp.
bool readable | ( | int | pipe = NRF24L01P_PIPE_P0 ) |
Determine if there is data available to read.
- Parameters:
-
pipe the receive pipe to check for data
- Returns:
- true if the is data waiting in the given pipe
Definition at line 821 of file nRF24L01P.cpp.
void setAirDataRate | ( | int | rate = DEFAULT_NRF24L01P_DATARATE ) |
Set the Air data rate.
- Parameters:
-
rate the air data rate in kbps (250, 1M or 2M).
Definition at line 375 of file nRF24L01P.cpp.
void setCrcWidth | ( | int | width = DEFAULT_NRF24L01P_CRC ) |
Set the CRC width.
- Parameters:
-
width the number of bits for the CRC (0, 8 or 16).
Definition at line 427 of file nRF24L01P.cpp.
void setReceiveMode | ( | void | ) |
Put the nRF24L01+ into Receive mode.
Definition at line 247 of file nRF24L01P.cpp.
void setRfFrequency | ( | int | frequency = DEFAULT_NRF24L01P_RF_FREQUENCY ) |
Set the RF frequency.
- Parameters:
-
frequency the frequency of RF transmission in MHz (2400..2525).
Definition at line 291 of file nRF24L01P.cpp.
void setRfOutputPower | ( | int | power = DEFAULT_NRF24L01P_TX_PWR ) |
Set the RF output power.
- Parameters:
-
power the RF output power in dBm (0, -6, -12 or -18).
Definition at line 316 of file nRF24L01P.cpp.
void setRxAddress | ( | unsigned long long | address = DEFAULT_NRF24L01P_ADDRESS , |
int | width = DEFAULT_NRF24L01P_ADDRESS_WIDTH , |
||
int | pipe = NRF24L01P_PIPE_P0 |
||
) |
Set the Receive address.
- Parameters:
-
address address associated with the particular pipe width width of the address in bytes (3..5) pipe pipe to associate the address with (0..5, default 0)
Note that Pipes 0 & 1 have 3, 4 or 5 byte addresses, while Pipes 2..5 only use the lowest byte (bits 7..0) of the address provided here, and use 2, 3 or 4 bytes from Pipe 1's address. The width parameter is ignored for Pipes 2..5.
Definition at line 558 of file nRF24L01P.cpp.
void setTransferSize | ( | int | size = DEFAULT_NRF24L01P_TRANSFER_SIZE , |
int | pipe = NRF24L01P_PIPE_P0 |
||
) |
Set the transfer size.
- Parameters:
-
size the size of the transfer, in bytes (1..32) pipe pipe for the transfer (0..5, default 0)
Definition at line 479 of file nRF24L01P.cpp.
void setTransmitMode | ( | void | ) |
Put the nRF24L01+ into Transmit mode.
Definition at line 262 of file nRF24L01P.cpp.
void setTxAddress | ( | unsigned long long | address = DEFAULT_NRF24L01P_ADDRESS , |
int | width = DEFAULT_NRF24L01P_ADDRESS_WIDTH |
||
) |
Set the Transmit address.
- Parameters:
-
address address for transmission width width of the address in bytes (3..5)
Note that the address width is shared with the Receive pipes, so a change to that address width affect transmissions.
Definition at line 652 of file nRF24L01P.cpp.
int write | ( | int | pipe, |
char * | data, | ||
int | count | ||
) |
Transmit data.
- Parameters:
-
pipe is ignored (included for consistency with file write routine) data pointer to an array of bytes to write count the number of bytes to send (1..32)
- Returns:
- the number of bytes actually written, or -1 for an error
Definition at line 837 of file nRF24L01P.cpp.
Generated on Tue Jul 12 2022 17:37:08 by 1.7.2