1 #if !defined(_RADIOLIB_FSK4_H)
2 #define _RADIOLIB_FSK4_H
4 #include "../../TypeDef.h"
6 #if !defined(RADIOLIB_EXCLUDE_FSK4)
8 #include "../PhysicalLayer/PhysicalLayer.h"
9 #include "../AFSK/AFSK.h"
25 #if !defined(RADIOLIB_EXCLUDE_AFSK)
47 int16_t
begin(
float base, uint32_t shift, uint16_t rate);
63 int16_t
setCorrection(int16_t offsets[4],
float length = 1.0f);
74 size_t write(uint8_t* buff,
size_t len);
83 size_t write(uint8_t b);
92 #if !defined(RADIOLIB_GODMODE)
96 #if !defined(RADIOLIB_EXCLUDE_AFSK)
100 uint32_t _base = 0, _baseHz = 0;
101 uint32_t _shift = 0, _shiftHz = 0;
102 uint32_t _bitDuration = 0;
104 uint32_t _tonesHz[4];
106 void tone(uint8_t i);
108 int16_t transmitDirect(uint32_t freq = 0, uint32_t freqHz = 0);
109 int32_t getRawShift(int32_t shift);
Client for audio-based transmissions. Requires Arduino tone() function, and a module capable of direc...
Definition: AFSK.h:17
Client for FSK-4 communication. The public interface is the same as Arduino Serial.
Definition: FSK4.h:16
int16_t begin(float base, uint32_t shift, uint16_t rate)
Initialization method.
Definition: FSK4.cpp:18
FSK4Client(PhysicalLayer *phy)
Constructor for FSK-4 mode.
Definition: FSK4.cpp:4
void idle()
Send out idle condition (RF tone at mark frequency).
Definition: FSK4.cpp:42
int16_t standby()
Stop transmitting.
Definition: FSK4.cpp:97
size_t write(uint8_t *buff, size_t len)
Transmit binary data.
Definition: FSK4.cpp:56
int16_t setCorrection(int16_t offsets[4], float length=1.0f)
Set correction coefficients for frequencies and tone length.
Definition: FSK4.cpp:47
Provides common interface for protocols that run on LoRa/FSK modules, such as RTTY or LoRaWAN....
Definition: PhysicalLayer.h:14