20 #if defined (RF24_LINUX) || defined (LITTLEWIRE)
21 #include "utility/includes.h"
23 #include <DigitalIO.h>
117 SoftSPI<SOFT_SPI_MISO_PIN, SOFT_SPI_MOSI_PIN, SOFT_SPI_SCK_PIN, SPI_MODE> spi;
118 #elif defined (SPI_UART)
122 #if defined (RF24_LINUX) || defined (XMEGA_D3) || defined (RF24_RP2)
125 #if defined (RF24_SPI_PTR)
135 #if defined (RF24_LINUX) || defined (XMEGA_D3) || defined (RF24_RP2)
136 uint8_t spi_rxbuff[32+1] ;
137 uint8_t spi_txbuff[32+1] ;
140 uint8_t payload_size;
141 uint8_t pipe0_reading_address[5];
221 #if defined (RF24_LINUX)
241 #if defined (RF24_SPI_PTR) || defined (DOXYGEN_FORCED)
279 bool begin(
_SPI* spiBus, uint16_t _cepin, uint16_t _cspin);
291 bool begin(uint16_t _cepin, uint16_t _cspin);
423 void read(
void* buf, uint8_t len);
465 bool write(
const void* buf, uint8_t len);
734 bool write(
const void* buf, uint8_t len,
const bool multicast);
780 bool writeFast(
const void* buf, uint8_t len);
810 bool writeFast(
const void* buf, uint8_t len,
const bool multicast);
853 bool writeBlocking(
const void* buf, uint8_t len, uint32_t timeout);
913 bool txStandBy(uint32_t timeout,
bool startTx = 0);
991 void whatHappened(
bool& tx_ok,
bool& tx_fail,
bool& rx_ready);
1031 void startFastWrite(
const void* buf, uint8_t len,
const bool multicast,
bool startTx = 1);
1066 bool startWrite(
const void* buf, uint8_t len,
const bool multicast);
1163 #if defined (FAILURE_HANDLING)
1485 void setPALevel(uint8_t level,
bool lnaEnable = 1);
1587 void maskIRQ(
bool tx_ok,
bool tx_fail,
bool rx_ready);
1760 void csn(
bool mode);
1768 void ce(
bool level);
1779 void write_register(uint8_t reg,
const uint8_t* buf, uint8_t len);
1791 void write_register(uint8_t reg, uint8_t value,
bool is_cmd_only =
false);
1804 void write_payload(
const void* buf, uint8_t len,
const uint8_t writeType);
1816 void read_payload(
void* buf, uint8_t len);
1823 uint8_t get_status(
void);
1825 #if !defined (MINIMAL)
1834 void print_status(uint8_t status);
1843 void print_observe_tx(uint8_t value);
1856 void print_byte_register(
const char* name, uint8_t reg, uint8_t qty = 1);
1869 void print_address_register(
const char* name, uint8_t reg, uint8_t qty = 1);
1879 void toggle_features(
void);
1881 #if defined (FAILURE_HANDLING) || defined (RF24_LINUX)
1883 void errNotify(
void);
1902 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)
uint8_t getPayloadSize(void)
RF24(uint16_t _cepin, uint16_t _cspin, uint32_t _spi_speed=RF24_SPI_SPEED)
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)
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 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)