RadioLib
Universal wireless communication library for Arduino
FSK4.h
1 #if !defined(_RADIOLIB_FSK4_H)
2 #define _RADIOLIB_FSK4_H
3 
4 #include "../../TypeDef.h"
5 
6 #if !defined(RADIOLIB_EXCLUDE_FSK4)
7 
8 #include "../PhysicalLayer/PhysicalLayer.h"
9 #include "../AFSK/AFSK.h"
10 
11 
17 class FSK4Client {
18  public:
24  explicit FSK4Client(PhysicalLayer* phy);
25 
26  #if !defined(RADIOLIB_EXCLUDE_AFSK)
27 
32  //explicit FSK4Client(AFSKClient* audio);
33  #endif
34 
35  // basic methods
36 
49  int16_t begin(float base, uint32_t shift, uint16_t rate);
50 
54  void idle();
55 
56  size_t write(uint8_t* buff, size_t len);
57  size_t write(uint8_t b);
58 
59 
60 #ifndef RADIOLIB_GODMODE
61  private:
62 #endif
63  PhysicalLayer* _phy;
64  #if !defined(RADIOLIB_EXCLUDE_AFSK)
65  AFSKClient* _audio;
66  #endif
67 
68  uint32_t _base = 0, _baseHz = 0;
69  uint32_t _shift = 0, _shiftHz = 0;
70  uint32_t _bitDuration = 0;
71  uint32_t _tones[4];
72  uint32_t _tonesHz[4];
73 
74  void tone(uint8_t i);
75 
76  int16_t transmitDirect(uint32_t freq = 0, uint32_t freqHz = 0);
77  int16_t standby();
78 };
79 
80 #endif
81 
82 #endif
FSK4Client::begin
int16_t begin(float base, uint32_t shift, uint16_t rate)
Constructor for AFSK mode.
Definition: FSK4.cpp:20
AFSKClient
Client for audio-based transmissions. Requires Arduino tone() function, and a module capable of direc...
Definition: AFSK.h:17
FSK4Client::idle
void idle()
Send out idle condition (RF tone at mark frequency).
Definition: FSK4.cpp:62
PhysicalLayer
Provides common interface for protocols that run on LoRa/FSK modules, such as RTTY or LoRaWAN....
Definition: PhysicalLayer.h:14
FSK4Client
Client for FSK-4 communication. The public interface is the same as Arduino Serial.
Definition: FSK4.h:17
FSK4Client::FSK4Client
FSK4Client(PhysicalLayer *phy)
Constructor for FSK-4 mode.
Definition: FSK4.cpp:6