1 #if !defined(_RADIOLIB_RTTY_H)
2 #define _RADIOLIB_RTTY_H
4 #include "../../TypeDef.h"
6 #if !defined(RADIOLIB_EXCLUDE_RTTY)
8 #include "../PhysicalLayer/PhysicalLayer.h"
9 #include "../AFSK/AFSK.h"
11 #define RADIOLIB_ITA2_FIGS 0x1B
12 #define RADIOLIB_ITA2_LTRS 0x1F
13 #define RADIOLIB_ITA2_LENGTH 32
18 static const char ITA2Table[RADIOLIB_ITA2_LENGTH][2] RADIOLIB_NONVOLATILE = {{
'\0',
'\0'}, {
'E',
'3'}, {
'\n',
'\n'}, {
'A',
'-'}, {
' ',
' '}, {
'S',
'\''}, {
'I',
'8'}, {
'U',
'7'},
19 {
'\r',
'\r'}, {
'D', 0x05}, {
'R',
'4'}, {
'J',
'\a'}, {
'N',
','}, {
'F',
'!'}, {
'C',
':'}, {
'K',
'('},
20 {
'T',
'5'}, {
'Z',
'+'}, {
'L',
')'}, {
'W',
'2'}, {
'H', 0x7F}, {
'Y',
'6'}, {
'P',
'0'}, {
'Q',
'1'},
21 {
'O',
'9'}, {
'B',
'?'}, {
'G',
'&'}, {0x7F, 0x7F}, {
'M',
'.'}, {
'X',
'/'}, {
'V',
';'}, {0x7F, 0x7F}};
64 #if !defined(RADIOLIB_GODMODE)
67 #if defined(RADIOLIB_STATIC_ONLY)
68 char _str[RADIOLIB_STATIC_ARRAY_SIZE];
75 static uint16_t getBits(
char c);
79 #define RADIOLIB_ASCII 0
80 #define RADIOLIB_ASCII_EXTENDED 1
81 #define RADIOLIB_ITA2 2
97 #if !defined(RADIOLIB_EXCLUDE_AFSK)
123 int16_t
begin(
float base, uint32_t shift, uint16_t rate, uint8_t encoding = RADIOLIB_ASCII, uint8_t stopBits = 1);
137 size_t write(
const char* str);
138 size_t write(uint8_t* buff,
size_t len);
139 size_t write(uint8_t b);
141 size_t print(__FlashStringHelper*);
143 size_t print(
const String &);
144 size_t print(
const char[]);
146 size_t print(
unsigned char,
int = DEC);
147 size_t print(
int,
int = DEC);
148 size_t print(
unsigned int,
int = DEC);
149 size_t print(
long,
int = DEC);
150 size_t print(
unsigned long,
int = DEC);
151 size_t print(
double,
int = 2);
153 size_t println(
void);
154 size_t println(__FlashStringHelper*);
156 size_t println(
const String &);
157 size_t println(
const char[]);
158 size_t println(
char);
159 size_t println(
unsigned char,
int = DEC);
160 size_t println(
int,
int = DEC);
161 size_t println(
unsigned int,
int = DEC);
162 size_t println(
long,
int = DEC);
163 size_t println(
unsigned long,
int = DEC);
164 size_t println(
double,
int = 2);
166 #if !defined(RADIOLIB_GODMODE)
170 #if !defined(RADIOLIB_EXCLUDE_AFSK)
174 uint8_t _encoding = RADIOLIB_ASCII;
175 uint32_t _base = 0, _baseHz = 0;
176 uint32_t _shift = 0, _shiftHz = 0;
177 uint32_t _bitDuration = 0;
178 uint8_t _dataBits = 0;
179 uint8_t _stopBits = 0;
184 size_t printNumber(
unsigned long, uint8_t);
185 size_t printFloat(
double, uint8_t);
187 int16_t transmitDirect(uint32_t freq = 0, uint32_t freqHz = 0);