|
| | nRF24 (Module *mod) |
| | Default constructor.
|
| |
| 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.
|
| |
| int16_t | sleep () override |
| | Sets the module to sleep mode.
|
| |
| int16_t | standby () override |
| | Sets the module to standby mode.
|
| |
| int16_t | standby (uint8_t mode) override |
| | Sets the module to standby.
|
| |
| 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.
|
| |
| int16_t | receive (uint8_t *data, size_t len, RadioLibTime_t timeout=0) override |
| | Binary receive method. Will attempt to receive arbitrary binary data up to 64 bytes long. For overloads to receive Arduino String, see PhysicalLayer::receive.
|
| |
| int16_t | transmitDirect (uint32_t frf=0) override |
| | Starts direct mode transmission.
|
| |
| int16_t | receiveDirect () override |
| | Dummy direct mode reception method, to ensure PhysicalLayer compatibility.
|
| |
| void | setIrqAction (void(*func)(void)) |
| | Sets interrupt service routine to call when IRQ activates.
|
| |
|
void | clearIrqAction () |
| | Clears interrupt service routine .
|
| |
| void | setPacketReceivedAction (void(*func)(void)) override |
| | Sets interrupt service routine to call when a packet is received.
|
| |
| 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.
|
| |
| 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.
|
| |
| int16_t | finishTransmit () override |
| | Clean up after transmission is done.
|
| |
| int16_t | startReceive () override |
| | Interrupt-driven receive method. IRQ will be activated when full packet is received.
|
| |
| 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.
|
| |
| 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!
|
| |
| int16_t | finishReceive () override |
| | Clean up after reception is done.
|
| |
| int16_t | setFrequency (float freq) override |
| | Sets carrier frequency. Allowed values range from 2400 MHz to 2525 MHz.
|
| |
| int16_t | setBitRate (float br) override |
| | Sets bit rate. Allowed values are 2000, 1000 or 250 kbps.
|
| |
| int16_t | setOutputPower (int8_t pwr) override |
| | Sets output power. Allowed values are -18, -12, -6 or 0 dBm.
|
| |
| int16_t | setAddressWidth (uint8_t addrWidth) |
| | Sets address width of transmit and receive pipes in bytes. Allowed values are 3, 4 or 5 bytes.
|
| |
| int16_t | setTransmitPipe (const uint8_t *addr) |
| | Sets address of transmit pipe. The address width must be the same as the same as the configured in setAddressWidth.
|
| |
| int16_t | setReceivePipe (uint8_t pipeNum, const 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.
|
| |
| 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.
|
| |
| int16_t | disablePipe (uint8_t pipeNum) |
| | Disables specified receive pipe.
|
| |
| int16_t | getStatus (uint8_t mask=0xFF) |
| | Gets nRF24 status register.
|
| |
| bool | isCarrierDetected () |
| | Checks if carrier was detected during last RX.
|
| |
| int16_t | setFrequencyDeviation (float freqDev) override |
| | Dummy configuration method, to ensure PhysicalLayer compatibility.
|
| |
| size_t | getPacketLength (bool update=true) override |
| | Query modem for the packet length of received payload.
|
| |
| int16_t | setCrcFiltering (bool crcOn=true) |
| | Enable CRC filtering and generation.
|
| |
| int16_t | setAutoAck (bool autoAckOn=true) |
| | Enable or disable auto-acknowledge packets on all pipes.
|
| |
| int16_t | setAutoAck (uint8_t pipeNum, bool autoAckOn) |
| | Enable or disable auto-acknowledge packets on given pipe.
|
| |
| int16_t | setDataShaping (uint8_t sh) override |
| | Dummy data shaping configuration method, to ensure PhysicalLayer compatibility.
|
| |
| int16_t | setEncoding (uint8_t encoding) override |
| | Dummy encoding configuration method, to ensure PhysicalLayer compatibility.
|
| |
| int16_t | setLNA (bool enable) |
| | Enable or disable the low-noise amplifier. Improves receive performance at the cost of increased power consumption.
|
| |
| int16_t | transmit (const char *str, uint8_t addr=0) |
| | C-string transmit method.
|
| |
| virtual int16_t | transmit (const uint8_t *data, size_t len, uint8_t addr=0) |
| | Binary transmit method. Must be implemented in module class.
|
| |
| virtual int16_t | receive (uint8_t *data, size_t len, RadioLibTime_t timeout=0) |
| | Binary receive method. Must be implemented in module class.
|
| |
| 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.
|
| |
| virtual int16_t | startTransmit (const uint8_t *data, size_t len, uint8_t addr=0) |
| | Interrupt-driven binary transmit method.
|
| |
| virtual int16_t | readData (uint8_t *data, size_t len) |
| | Reads data that was received after calling startReceive method.
|
| |
|
| PhysicalLayer () |
| | Default constructor.
|
| |
|
virtual | ~PhysicalLayer ()=default |
| | Default destructor.
|
| |
| int16_t | transmit (const char *str, uint8_t addr=0) |
| | C-string transmit method.
|
| |
| 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.
|
| |
| virtual int16_t | invertIQ (bool enable) |
| | Set IQ inversion. Must be implemented in module class if the module supports it.
|
| |
| 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.
|
| |
| virtual int16_t | setSyncWord (uint8_t *sync, size_t len) |
| | Set sync word. Must be implemented in module class if the module supports it.
|
| |
| virtual int16_t | setPreambleLength (size_t len) |
| | Set preamble length. Must be implemented in module class if the module supports it.
|
| |
| virtual int16_t | setDataRate (DataRate_t dr, ModemType_t modem=RADIOLIB_MODEM_NONE) |
| | Set data rate. Must be implemented in module class if the module supports it.
|
| |
| virtual int16_t | checkDataRate (DataRate_t dr, ModemType_t modem=RADIOLIB_MODEM_NONE) |
| | Check the data rate can be configured by this module. Must be implemented in module class if the module supports it.
|
| |
| virtual float | getRSSI () |
| | Gets RSSI (Recorded Signal Strength Indicator) of the last received packet.
|
| |
| virtual float | getSNR () |
| | Gets SNR (Signal to Noise Ratio) of the last received packet. Only available for LoRa modem.
|
| |
| virtual RadioLibTime_t | calculateTimeOnAir (ModemType_t modem, DataRate_t dr, PacketConfig_t pc, size_t len) |
| | Calculate the expected time-on-air for a given modem, data rate, packet configuration and payload size.
|
| |
| virtual RadioLibTime_t | getTimeOnAir (size_t len) |
| | Get expected time-on-air for a given size of payload.
|
| |
| virtual RadioLibTime_t | calculateRxTimeout (RadioLibTime_t timeoutUs) |
| | Calculate the timeout value for this specific module / series (in number of symbols or units of time).
|
| |
| uint32_t | getIrqMapped (RadioLibIrqFlags_t irq) |
| | Convert from radio-agnostic IRQ flags to radio-specific flags.
|
| |
| int16_t | checkIrq (RadioLibIrqType_t irq) |
| | Check whether a specific IRQ bit is set (e.g. RxTimeout, CadDone).
|
| |
| 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!
|
| |
| 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!
|
| |
| virtual uint32_t | getIrqFlags () |
| | Read currently active IRQ flags. Must be implemented in module class.
|
| |
| 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.
|
| |
| virtual int16_t | clearIrqFlags (uint32_t irq) |
| | Clear interrupt on a specific IRQ bit (e.g. RxTimeout, CadDone). Must be implemented in module class.
|
| |
| virtual int16_t | startChannelScan () |
| | Interrupt-driven channel activity detection method. Interrupt will be activated when packet is detected. Must be implemented in module class.
|
| |
| 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.
|
| |
| virtual int16_t | getChannelScanResult () |
| | Read the channel scan result.
|
| |
| 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.
|
| |
| 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.
|
| |
| int32_t | random (int32_t max) |
| | Get truly random number in range 0 - max.
|
| |
| int32_t | random (int32_t min, int32_t max) |
| | Get truly random number in range min - max.
|
| |
| virtual uint8_t | randomByte () |
| | Get one truly random byte from RSSI noise. Must be implemented in module class.
|
| |
| 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.
|
| |
| int16_t | setDirectSyncWord (uint32_t syncWord, uint8_t len) |
| | Set sync word to be used to determine start of packet in direct reception mode.
|
| |
| 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.
|
| |
| virtual void | readBit (uint32_t pin) |
| | Function to read and process data bit in direct reception mode. Must be implemented in module class.
|
| |
| int16_t | available () |
| | Get the number of direct mode bytes currently available in buffer.
|
| |
|
void | dropSync () |
| | Forcefully drop synchronization.
|
| |
| uint8_t | read (bool drop=true) |
| | Get data from direct mode buffer.
|
| |
| 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).
|
| |
| virtual void | setChannelScanAction (void(*func)(void)) |
| | Sets interrupt service routine to call when a channel scan is finished.
|
| |
| 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.
|
| |
| virtual int16_t | getModem (ModemType_t *modem) |
| | Get modem currently in use by the radio.
|
| |
| virtual int16_t | stageMode (RadioModeType_t mode, RadioModeConfig_t *cfg) |
| | Stage mode of the radio to be launched later using launchMode.
|
| |
| virtual int16_t | launchMode () |
| | Launch previously staged mode.
|
| |