Provides common interface for protocols that run on LoRa/FSK modules, such as RTTY or LoRaWAN. Also extracts some common module-independent methods. Using this interface class allows to use the protocols on various modules without much code duplicity. Because this class is used mainly as interface, all of its virtual members must be implemented in the module class.
More...
|
| 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)=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 | standby ()=0 |
| Sets module to standby. More...
|
|
virtual int16_t | receive (uint8_t *data, size_t len)=0 |
| 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)=0 |
| Interrupt-driven binary transmit method. 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)=0 |
| Reads data that was received after calling startReceive method. More...
|
|
virtual int16_t | transmitDirect (uint32_t FRF=0)=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 ()=0 |
| 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 | setFrequencyDeviation (float freqDev)=0 |
| Sets FSK frequency deviation from carrier frequency. Allowed values depend on bit rate setting and must be lower than 200 kHz. Only available in FSK mode. Must be implemented in module class. More...
|
|
virtual int16_t | setDataShaping (float sh)=0 |
| Sets GFSK data shaping. Only available in FSK mode. Must be implemented in module class. More...
|
|
virtual int16_t | setEncoding (uint8_t encoding)=0 |
| Sets FSK data encoding. Only available in FSK mode. Must be implemented in module class. More...
|
|
float | getFreqStep () |
| Gets the module frequency step size that was set in constructor. More...
|
|
virtual size_t | getPacketLength (bool update=true)=0 |
| Query modem for the packet length of received payload. More...
|
|
Provides common interface for protocols that run on LoRa/FSK modules, such as RTTY or LoRaWAN. Also extracts some common module-independent methods. Using this interface class allows to use the protocols on various modules without much code duplicity. Because this class is used mainly as interface, all of its virtual members must be implemented in the module class.