|
| nRF24 (Module *mod) |
| Default constructor. More...
|
|
int16_t | begin (int16_t freq=RADIOLIB_NRF24_DEFAULT_FREQ, int16_t dr=RADIOLIB_NRF24_DEFAULT_DR, int8_t pwr=RADIOLIB_NRF24_DEFAULT_POWER, uint8_t addrWidth=RADIOLIB_NRF24_DEFAULT_ADDRWIDTH) |
| Initialization method. More...
|
|
int16_t | sleep () override |
| Sets the module to sleep mode. More...
|
|
int16_t | standby () override |
| Sets the module to standby mode. More...
|
|
int16_t | standby (uint8_t mode) override |
| Sets the module to standby. More...
|
|
int16_t | transmit (const uint8_t *data, size_t len, uint8_t addr) override |
| Blocking binary transmit method. Overloads for string-based transmissions are implemented in PhysicalLayer. More...
|
|
int16_t | receive (uint8_t *data, size_t len) override |
| Blocking binary receive method. Overloads for string-based transmissions are implemented in PhysicalLayer. More...
|
|
int16_t | transmitDirect (uint32_t frf=0) override |
| Starts direct mode transmission. More...
|
|
int16_t | receiveDirect () override |
| Dummy direct mode reception method, to ensure PhysicalLayer compatibility. More...
|
|
void | setIrqAction (void(*func)(void)) |
| Sets interrupt service routine to call when IRQ activates. More...
|
|
void | clearIrqAction () |
| Clears interrupt service routine .
|
|
void | setPacketReceivedAction (void(*func)(void)) override |
| Sets interrupt service routine to call when a packet is received. More...
|
|
void | clearPacketReceivedAction () override |
| Clears interrupt service routine to call when a packet is received.
|
|
void | setPacketSentAction (void(*func)(void)) override |
| Sets interrupt service routine to call when a packet is sent. More...
|
|
void | clearPacketSentAction () override |
| Clears interrupt service routine to call when a packet is sent.
|
|
int16_t | startTransmit (const uint8_t *data, size_t len, uint8_t addr) override |
| Interrupt-driven binary transmit method. IRQ will be activated when full packet is transmitted. Overloads for string-based transmissions are implemented in PhysicalLayer. More...
|
|
int16_t | finishTransmit () override |
| Clean up after transmission is done. More...
|
|
int16_t | startReceive () override |
| Interrupt-driven receive method. IRQ will be activated when full packet is received. More...
|
|
int16_t | startReceive (uint32_t timeout, uint32_t irqFlags, uint32_t irqMask, size_t len) override |
| Interrupt-driven receive method, implemented for compatibility with PhysicalLayer. More...
|
|
int16_t | readData (uint8_t *data, size_t len) override |
| Reads data received after calling startReceive method. When the packet length is not known in advance, getPacketLength method must be called BEFORE calling readData! More...
|
|
int16_t | setFrequency (float freq) override |
| Sets carrier frequency. Allowed values range from 2400 MHz to 2525 MHz. More...
|
|
int16_t | setBitRate (float br) override |
| Sets bit rate. Allowed values are 2000, 1000 or 250 kbps. More...
|
|
int16_t | setOutputPower (int8_t pwr) override |
| Sets output power. Allowed values are -18, -12, -6 or 0 dBm. More...
|
|
int16_t | setAddressWidth (uint8_t addrWidth) |
| Sets address width of transmit and receive pipes in bytes. Allowed values are 3, 4 or 5 bytes. More...
|
|
int16_t | setTransmitPipe (uint8_t *addr) |
| Sets address of transmit pipe. The address width must be the same as the same as the configured in setAddressWidth. More...
|
|
int16_t | setReceivePipe (uint8_t pipeNum, uint8_t *addr) |
| Sets address of receive pipes 0 or 1. The address width must be the same as the same as the configured in setAddressWidth. More...
|
|
int16_t | setReceivePipe (uint8_t pipeNum, uint8_t addrByte) |
| Sets address of receive pipes 2 - 5. The first 2 - 4 address bytes for these pipes are the same as for address pipe 1, only the last byte can be set. More...
|
|
int16_t | disablePipe (uint8_t pipeNum) |
| Disables specified receive pipe. More...
|
|
int16_t | getStatus (uint8_t mask=0xFF) |
| Gets nRF24 status register. More...
|
|
bool | isCarrierDetected () |
| Checks if carrier was detected during last RX. More...
|
|
int16_t | setFrequencyDeviation (float freqDev) override |
| Dummy configuration method, to ensure PhysicalLayer compatibility. More...
|
|
size_t | getPacketLength (bool update=true) override |
| Query modem for the packet length of received payload. More...
|
|
int16_t | setCrcFiltering (bool crcOn=true) |
| Enable CRC filtering and generation. More...
|
|
int16_t | setAutoAck (bool autoAckOn=true) |
| Enable or disable auto-acknowledge packets on all pipes. More...
|
|
int16_t | setAutoAck (uint8_t pipeNum, bool autoAckOn) |
| Enable or disable auto-acknowledge packets on given pipe. More...
|
|
int16_t | setDataShaping (uint8_t sh) override |
| Dummy data shaping configuration method, to ensure PhysicalLayer compatibility. More...
|
|
int16_t | setEncoding (uint8_t encoding) override |
| Dummy encoding configuration method, to ensure PhysicalLayer compatibility. More...
|
|
int16_t | transmit (const char *str, uint8_t addr=0) |
| C-string transmit method. More...
|
|
virtual int16_t | transmit (const uint8_t *data, size_t len, uint8_t addr=0) |
| Binary transmit method. Must be implemented in module class. More...
|
|
virtual int16_t | receive (uint8_t *data, size_t len) |
| Binary receive method. Must be implemented in module class. More...
|
|
int16_t | startTransmit (const char *str, uint8_t addr=0) |
| Interrupt-driven Arduino String transmit method. Unlike the standard transmit method, this one is non-blocking. Interrupt pin will be activated when transmission finishes. More...
|
|
virtual int16_t | startTransmit (const uint8_t *data, size_t len, uint8_t addr=0) |
| Interrupt-driven binary transmit method. More...
|
|
virtual int16_t | readData (uint8_t *data, size_t len) |
| Reads data that was received after calling startReceive method. More...
|
|
| PhysicalLayer (float step, size_t maxLen) |
| Default constructor. More...
|
|
int16_t | transmit (const char *str, uint8_t addr=0) |
| C-string transmit method. More...
|
|
int16_t | startTransmit (const char *str, uint8_t addr=0) |
| Interrupt-driven Arduino String transmit method. Unlike the standard transmit method, this one is non-blocking. Interrupt pin will be activated when transmission finishes. More...
|
|
virtual int16_t | invertIQ (bool enable) |
| Set IQ inversion. Must be implemented in module class if the module supports it. More...
|
|
virtual int16_t | checkOutputPower (int8_t power, int8_t *clipped) |
| Check if output power is configurable. Must be implemented in module class if the module supports it. More...
|
|
virtual int16_t | setSyncWord (uint8_t *sync, size_t len) |
| Set sync word. Must be implemented in module class if the module supports it. More...
|
|
virtual int16_t | setPreambleLength (size_t len) |
| Set preamble length. Must be implemented in module class if the module supports it. More...
|
|
virtual int16_t | setDataRate (DataRate_t dr) |
| Set data. Must be implemented in module class if the module supports it. More...
|
|
virtual int16_t | checkDataRate (DataRate_t dr) |
| Check the data rate can be configured by this module. Must be implemented in module class if the module supports it. More...
|
|
float | getFreqStep () const |
| Gets the module frequency step size that was set in constructor. More...
|
|
virtual float | getRSSI () |
| Gets RSSI (Recorded Signal Strength Indicator) of the last received packet. More...
|
|
virtual float | getSNR () |
| Gets SNR (Signal to Noise Ratio) of the last received packet. Only available for LoRa modem. More...
|
|
virtual RadioLibTime_t | getTimeOnAir (size_t len) |
| Get expected time-on-air for a given size of payload. More...
|
|
virtual RadioLibTime_t | calculateRxTimeout (RadioLibTime_t timeoutUs) |
| Calculate the timeout value for this specific module / series (in number of symbols or units of time). More...
|
|
uint32_t | getIrqMapped (RadioLibIrqFlags_t irq) |
| Convert from radio-agnostic IRQ flags to radio-specific flags. More...
|
|
int16_t | checkIrq (RadioLibIrqType_t irq) |
| Check whether a specific IRQ bit is set (e.g. RxTimeout, CadDone). More...
|
|
int16_t | setIrq (RadioLibIrqFlags_t irq) |
| Set interrupt on specific IRQ bit(s) (e.g. RxTimeout, CadDone). Keep in mind that not all radio modules support all RADIOLIB_IRQ_ flags! More...
|
|
int16_t | clearIrq (RadioLibIrqFlags_t irq) |
| Clear interrupt on a specific IRQ bit (e.g. RxTimeout, CadDone). Keep in mind that not all radio modules support all RADIOLIB_IRQ_ flags! More...
|
|
virtual uint32_t | getIrqFlags () |
| Read currently active IRQ flags. Must be implemented in module class. More...
|
|
virtual int16_t | setIrqFlags (uint32_t irq) |
| Set interrupt on DIO1 to be sent on a specific IRQ bit (e.g. RxTimeout, CadDone). Must be implemented in module class. More...
|
|
virtual int16_t | clearIrqFlags (uint32_t irq) |
| Clear interrupt on a specific IRQ bit (e.g. RxTimeout, CadDone). Must be implemented in module class. More...
|
|
virtual int16_t | startChannelScan () |
| Interrupt-driven channel activity detection method. Interrupt will be activated when packet is detected. Must be implemented in module class. More...
|
|
virtual int16_t | startChannelScan (const ChannelScanConfig_t &config) |
| Interrupt-driven channel activity detection method. interrupt will be activated when packet is detected. Must be implemented in module class. More...
|
|
virtual int16_t | getChannelScanResult () |
| Read the channel scan result. More...
|
|
virtual int16_t | scanChannel () |
| Check whether the current communication channel is free or occupied. Performs CAD for LoRa modules, or RSSI measurement for FSK modules. More...
|
|
virtual int16_t | scanChannel (const ChannelScanConfig_t &config) |
| Check whether the current communication channel is free or occupied. Performs CAD for LoRa modules, or RSSI measurement for FSK modules. More...
|
|
int32_t | random (int32_t max) |
| Get truly random number in range 0 - max. More...
|
|
int32_t | random (int32_t min, int32_t max) |
| Get truly random number in range min - max. More...
|
|
virtual uint8_t | randomByte () |
| Get one truly random byte from RSSI noise. Must be implemented in module class. More...
|
|
int16_t | startDirect () |
| Configure module parameters for direct modes. Must be called prior to "ham" modes like RTTY or AX.25. Only available in FSK mode. More...
|
|
int16_t | setDirectSyncWord (uint32_t syncWord, uint8_t len) |
| Set sync word to be used to determine start of packet in direct reception mode. More...
|
|
virtual void | setDirectAction (void(*func)(void)) |
| Set interrupt service routine function to call when data bit is received in direct mode. Must be implemented in module class. More...
|
|
virtual void | readBit (uint32_t pin) |
| Function to read and process data bit in direct reception mode. Must be implemented in module class. More...
|
|
int16_t | available () |
| Get the number of direct mode bytes currently available in buffer. More...
|
|
void | dropSync () |
| Forcefully drop synchronization.
|
|
uint8_t | read (bool drop=true) |
| Get data from direct mode buffer. More...
|
|
virtual int16_t | setDIOMapping (uint32_t pin, uint32_t value) |
| Configure DIO pin mapping to get a given signal on a DIO pin (if available). More...
|
|
virtual void | setChannelScanAction (void(*func)(void)) |
| Sets interrupt service routine to call when a channel scan is finished. More...
|
|
virtual void | clearChannelScanAction () |
| Clears interrupt service routine to call when a channel scan is finished.
|
|
virtual int16_t | setModem (ModemType_t modem) |
| Set modem for the radio to use. Will perform full reset and reconfigure the radio using its default parameters. More...
|
|
virtual int16_t | getModem (ModemType_t *modem) |
| Get modem currently in use by the radio. More...
|
|