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)
137#if defined(RF24_LINUX) || defined(XMEGA_D3) || defined(RF24_RP2)
138 uint8_t spi_rxbuff[32 + 1];
139 uint8_t spi_txbuff[32 + 1];
142 uint8_t payload_size;
143 uint8_t pipe0_reading_address[5];
226#if defined(RF24_LINUX)
246#if defined(RF24_SPI_PTR) || defined(DOXYGEN_FORCED)
430 void read(
void* buf, uint8_t len);
472 bool write(
const void* buf, uint8_t len);
795 uint8_t
isFifo(
bool about_tx);
804 bool isFifo(
bool about_tx,
bool check_empty);
866 bool write(
const void* buf, uint8_t len,
const bool multicast);
916 bool writeFast(
const void* buf, uint8_t len);
953 bool writeFast(
const void* buf, uint8_t len,
const bool multicast);
996 bool writeBlocking(
const void* buf, uint8_t len, uint32_t timeout);
1056 bool txStandBy(uint32_t timeout,
bool startTx = 0);
1134 void whatHappened(
bool& tx_ok,
bool& tx_fail,
bool& rx_ready);
1174 void startFastWrite(
const void* buf, uint8_t len,
const bool multicast,
bool startTx = 1);
1209 bool startWrite(
const void* buf, uint8_t len,
const bool multicast);
1306#if defined(FAILURE_HANDLING)
1629 void setPALevel(uint8_t level,
bool lnaEnable = 1);
1733 void maskIRQ(
bool tx_ok,
bool tx_fail,
bool rx_ready);
1909 void csn(
bool mode);
1917 void ce(
bool level);
1928 void write_register(uint8_t reg,
const uint8_t* buf, uint8_t len);
1940 void write_register(uint8_t reg, uint8_t value,
bool is_cmd_only =
false);
1953 void write_payload(
const void* buf, uint8_t len,
const uint8_t writeType);
1965 void read_payload(
void* buf, uint8_t len);
1972 uint8_t get_status(
void);
1974#if !defined(MINIMAL)
1983 void print_status(uint8_t status);
1992 void print_observe_tx(uint8_t value);
2005 void print_byte_register(
const char* name, uint8_t reg, uint8_t qty = 1);
2018 void print_address_register(
const char* name, uint8_t reg, uint8_t qty = 1);
2032 uint8_t sprintf_address_register(
char* out_buffer, uint8_t reg, uint8_t qty = 1);
2041 void toggle_features(
void);
2043#if defined(FAILURE_HANDLING) || defined(RF24_LINUX)
2045 void errNotify(
void);
2064 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)
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)