20#if defined(RF24_LINUX) || defined(LITTLEWIRE)
21 #include "utility/includes.h"
23 #include <DigitalIO.h>
119 SoftSPI<SOFT_SPI_MISO_PIN, SOFT_SPI_MOSI_PIN, SOFT_SPI_SCK_PIN, SPI_MODE> spi;
120#elif defined(SPI_UART)
124#if defined(RF24_LINUX) || defined(XMEGA_D3)
127#if defined(RF24_SPI_PTR)
134#if defined(RF24_LINUX) || defined(XMEGA_D3) || defined(RF24_RP2)
135 uint8_t spi_rxbuff[32 + 1];
136 uint8_t spi_txbuff[32 + 1];
139 uint8_t payload_size;
140 uint8_t pipe0_reading_address[5];
223#if defined(RF24_LINUX)
243#if defined(RF24_SPI_PTR) || defined(DOXYGEN_FORCED)
427 void read(
void* buf, uint8_t len);
469 bool write(
const void* buf, uint8_t len);
792 uint8_t
isFifo(
bool about_tx);
801 bool isFifo(
bool about_tx,
bool check_empty);
863 bool write(
const void* buf, uint8_t len,
const bool multicast);
913 bool writeFast(
const void* buf, uint8_t len);
950 bool writeFast(
const void* buf, uint8_t len,
const bool multicast);
993 bool writeBlocking(
const void* buf, uint8_t len, uint32_t timeout);
1053 bool txStandBy(uint32_t timeout,
bool startTx = 0);
1131 void whatHappened(
bool& tx_ok,
bool& tx_fail,
bool& rx_ready);
1171 void startFastWrite(
const void* buf, uint8_t len,
const bool multicast,
bool startTx = 1);
1206 bool startWrite(
const void* buf, uint8_t len,
const bool multicast);
1303#if defined(FAILURE_HANDLING)
1626 void setPALevel(uint8_t level,
bool lnaEnable = 1);
1730 void maskIRQ(
bool tx_ok,
bool tx_fail,
bool rx_ready);
1906 void csn(
bool mode);
1914 void ce(
bool level);
1925 void write_register(uint8_t reg,
const uint8_t* buf, uint8_t len);
1935 void write_register(uint8_t reg, uint8_t value);
1948 void write_payload(
const void* buf, uint8_t len,
const uint8_t writeType);
1960 void read_payload(
void* buf, uint8_t len);
1967 uint8_t get_status(
void);
1969#if !defined(MINIMAL)
1978 void print_status(uint8_t status);
1987 void print_observe_tx(uint8_t value);
2000 void print_byte_register(
const char* name, uint8_t reg, uint8_t qty = 1);
2013 void print_address_register(
const char* name, uint8_t reg, uint8_t qty = 1);
2027 uint8_t sprintf_address_register(
char* out_buffer, uint8_t reg, uint8_t qty = 1);
2036 void toggle_features(
void);
2038#if defined(FAILURE_HANDLING) || defined(RF24_LINUX)
2040 void errNotify(
void);
2059 inline uint8_t _pa_level_reg_value(uint8_t level,
bool lnaEnable);
#define RF24_SPI_SPEED
The default SPI speed (in Hz)
Driver class for nRF24L01(+) 2.4GHz Wireless Transceiver.
void disableAckPayload(void)
RF24(rf24_gpio_pin_t _cepin, rf24_gpio_pin_t _cspin, uint32_t _spi_speed=RF24_SPI_SPEED)
uint16_t sprintfPrettyDetails(char *debugging_information)
uint8_t getPayloadSize(void)
void startListening(void)
bool isAckPayloadAvailable(void)
void printPrettyDetails(void)
void setPayloadSize(uint8_t size)
bool writeAckPayload(uint8_t pipe, const void *buf, uint8_t len)
uint8_t isFifo(bool about_tx)
void stopConstCarrier(void)
bool dynamic_payloads_enabled
void enableDynamicPayloads(void)
bool writeFast(const void *buf, uint8_t len)
void disableDynamicPayloads(void)
void setRetries(uint8_t delay, uint8_t count)
bool write(const void *buf, uint8_t len)
void setChannel(uint8_t channel)
uint8_t getDynamicPayloadSize(void)
bool ack_payloads_enabled
rf24_datarate_e getDataRate(void)
void setCRCLength(rf24_crclength_e length)
void read(void *buf, uint8_t len)
void closeReadingPipe(uint8_t pipe)
void read_register(uint8_t reg, uint8_t *buf, uint8_t len)
void openReadingPipe(uint8_t number, const uint8_t *address)
void toggleAllPipes(bool isEnabled)
Open or close all data pipes.
void setPALevel(uint8_t level, bool lnaEnable=1)
rf24_crclength_e getCRCLength(void)
void encodeRadioDetails(uint8_t *encoded_status)
void maskIRQ(bool tx_ok, bool tx_fail, bool rx_ready)
void enableAckPayload(void)
void startConstCarrier(rf24_pa_dbm_e level, uint8_t channel)
void startFastWrite(const void *buf, uint8_t len, const bool multicast, bool startTx=1)
void setAddressWidth(uint8_t a_width)
void setRadiation(uint8_t level, rf24_datarate_e speed, bool lnaEnable=true)
configure the RF_SETUP register in 1 transaction
bool startWrite(const void *buf, uint8_t len, const bool multicast)
bool writeBlocking(const void *buf, uint8_t len, uint32_t timeout)
bool setDataRate(rf24_datarate_e speed)
void setAutoAck(bool enable)
void openWritingPipe(const uint8_t *address)
void whatHappened(bool &tx_ok, bool &tx_fail, bool &rx_ready)