RadioLib
Universal wireless communication library for Arduino
ExternalRadio Class Reference
Inheritance diagram for ExternalRadio:
PhysicalLayer

Public Member Functions

ModulegetMod ()
 
- Public Member Functions inherited from PhysicalLayer
 PhysicalLayer (float freqStep, size_t maxPacketLength)
 Default constructor. More...
 
int16_t transmit (__FlashStringHelper *fstr, uint8_t addr=0)
 Arduino Flash String transmit method. More...
 
int16_t transmit (String &str, uint8_t addr=0)
 Arduino String transmit method. More...
 
int16_t transmit (const char *str, uint8_t addr=0)
 C-string transmit method. More...
 
virtual int16_t transmit (uint8_t *data, size_t len, uint8_t addr=0)
 Binary transmit method. Must be implemented in module class. More...
 
int16_t receive (String &str, size_t len=0)
 Arduino String receive method. More...
 
virtual int16_t sleep ()
 Sets module to sleep. More...
 
virtual int16_t standby ()
 Sets module to standby. More...
 
virtual int16_t standby (uint8_t mode)
 Sets module to a specific standby mode. More...
 
virtual int16_t startReceive (uint32_t timeout, uint16_t irqFlags, uint16_t irqMask, size_t len)
 Interrupt-driven receive method. A DIO pin will be activated when full packet is received. 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 (String &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...
 
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 (uint8_t *data, size_t len, uint8_t addr=0)
 Interrupt-driven binary transmit method. More...
 
virtual int16_t finishTransmit ()
 Clean up after transmission is done. More...
 
int16_t readData (String &str, size_t len=0)
 Reads data that was received after calling startReceive method. More...
 
virtual int16_t readData (uint8_t *data, size_t len)
 Reads data that was received after calling startReceive method. More...
 
virtual int16_t transmitDirect (uint32_t frf=0)
 Enables direct transmission mode on pins DIO1 (clock) and DIO2 (data). Must be implemented in module class. While in direct mode, the module will not be able to transmit or receive packets. Can only be activated in FSK mode. More...
 
virtual int16_t receiveDirect ()
 Enables direct reception mode on pins DIO1 (clock) and DIO2 (data). Must be implemented in module class. While in direct mode, the module will not be able to transmit or receive packets. Can only be activated in FSK mode. More...
 
virtual int16_t setFrequency (float freq)
 Sets carrier frequency. Must be implemented in module class. More...
 
virtual int16_t setBitRate (float br)
 Sets FSK bit rate. Only available in FSK mode. Must be implemented in module class. More...
 
virtual int16_t setFrequencyDeviation (float freqDev)
 Sets FSK frequency deviation from carrier frequency. Only available in FSK mode. Must be implemented in module class. More...
 
virtual int16_t setDataShaping (uint8_t sh)
 Sets GFSK data shaping. Only available in FSK mode. Must be implemented in module class. More...
 
virtual int16_t setEncoding (uint8_t encoding)
 Sets FSK data encoding. Only available in FSK mode. Must be implemented in module class. More...
 
float getFreqStep () const
 Gets the module frequency step size that was set in constructor. More...
 
virtual size_t getPacketLength (bool update=true)
 Query modem for the packet length of received payload. Must be implemented in module class. 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...
 
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 receveid in direct mode. Must be implemented in module class. More...
 
virtual void readBit (RADIOLIB_PIN_TYPE 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 (RADIOLIB_PIN_TYPE pin, uint8_t value)
 Configure DIO pin mapping to get a given signal on a DIO pin (if available). More...
 
virtual void setDio1Action (void(*func)(void))
 Sets interrupt service routine to call when DIO1 activates. More...
 
virtual void clearDio1Action ()
 Clears interrupt service routine to call when DIO1 activates.
 

The documentation for this class was generated from the following files: