1 #ifndef _RADIOLIB_PHYSICAL_LAYER_H 2 #define _RADIOLIB_PHYSICAL_LAYER_H 4 #include "../../TypeDef.h" 38 int16_t
transmit(__FlashStringHelper* fstr, uint8_t addr = 0);
49 int16_t
transmit(String& str, uint8_t addr = 0);
60 int16_t
transmit(
const char* str, uint8_t addr = 0);
73 virtual int16_t
transmit(uint8_t* data,
size_t len, uint8_t addr = 0) = 0;
84 int16_t
receive(String& str,
size_t len = 0);
102 virtual int16_t
receive(uint8_t* data,
size_t len) = 0;
139 virtual int16_t
startTransmit(uint8_t* data,
size_t len, uint8_t addr = 0) = 0;
150 int16_t
readData(String& str,
size_t len = 0);
161 virtual int16_t
readData(uint8_t* data,
size_t len) = 0;
234 int32_t
random(int32_t max);
245 int32_t
random(int32_t min, int32_t max);
252 virtual uint8_t
random() = 0;
261 #ifndef RADIOLIB_GODMODE 265 size_t _maxPacketLength;
virtual int16_t setEncoding(uint8_t encoding)=0
Sets FSK data encoding. Only available in FSK mode. Must be implemented in module class...
float getFreqStep() const
Gets the module frequency step size that was set in constructor.
Definition: PhysicalLayer.cpp:143
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.
Definition: PhysicalLayer.cpp:49
virtual uint8_t random()=0
Get one truly random byte from RSSI noise. Must be implemented in module class.
virtual size_t getPacketLength(bool update=true)=0
Query modem for the packet length of received payload. Must be implemented in module class...
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 ...
virtual int16_t receiveDirect()=0
Enables direct reception mode on pins DIO1 (clock) and DIO2 (data). Must be implemented in module cla...
PhysicalLayer(float freqStep, size_t maxPacketLength)
Default constructor.
Definition: PhysicalLayer.cpp:3
virtual int16_t setDataShaping(uint8_t sh)=0
Sets GFSK data shaping. Only available in FSK mode. Must be implemented in module class...
virtual int16_t standby()=0
Sets module to standby.
int16_t startDirect()
Configure module parameters for direct modes. Must be called prior to "ham" modes like RTTY or AX...
Definition: PhysicalLayer.cpp:171
int16_t transmit(__FlashStringHelper *fstr, uint8_t addr=0)
Arduino Flash String transmit method.
Definition: PhysicalLayer.cpp:8
int16_t receive(String &str, size_t len=0)
Arduino String receive method.
Definition: PhysicalLayer.cpp:98
Provides common interface for protocols that run on LoRa/FSK modules, such as RTTY or LoRaWAN...
Definition: PhysicalLayer.h:13
virtual int16_t setFrequencyDeviation(float freqDev)=0
Sets FSK frequency deviation from carrier frequency. Allowed values depend on bit rate setting and mu...
int16_t readData(String &str, size_t len=0)
Reads data that was received after calling startReceive method.
Definition: PhysicalLayer.cpp:57