|
TinyModem
Header-only software audio modem library
|
#include <ctype.h>#include <math.h>#include <stdint.h>#include <stdlib.h>#include <string.h>#include "AudioTools.h"#include "ReedSolomon.h"

Go to the source code of this file.
Classes | |
| struct | tinymodem::GGWaveProtocol |
| Transmission protocol of ggwave (https://github.com/ggerganov/ggwave): the ids and parameters are identical to the original. The tones are multiples of sample_rate / samplesPerFrame (46.875 Hz at 48 kHz). More... | |
| struct | tinymodem::GGWaveConfig |
| Configuration of the ggwave compatible modem (GGWaveEncoder, GGWaveDecoder). Each message (up to 140 bytes) starts and ends with a marker and is protected by Reed-Solomon codes. Each byte is sent as 2 of 16 tones which are transmitted at the same time. More... | |
Namespaces | |
| namespace | tinymodem |
| TinyModem: software audio modems and packets with error correction. | |
Typedefs | |
| using | tinymodem::GGWaveRS = RSCodec |
Enumerations | |
| enum | tinymodem::GGWaveProtocolId { tinymodem::GGWAVE_AUDIBLE_NORMAL = 0 , tinymodem::GGWAVE_AUDIBLE_FAST = 1 , tinymodem::GGWAVE_AUDIBLE_FASTEST = 2 , tinymodem::GGWAVE_ULTRASOUND_NORMAL = 3 , tinymodem::GGWAVE_ULTRASOUND_FAST = 4 , tinymodem::GGWAVE_ULTRASOUND_FASTEST = 5 , tinymodem::GGWAVE_DT_NORMAL = 6 , tinymodem::GGWAVE_DT_FAST = 7 , tinymodem::GGWAVE_DT_FASTEST = 8 } |
| Protocol ids of ggwave: the values are identical to ggwave's ggwave_ProtocolId. The mono-tone protocols (MT, 9 - 11) are not supported. More... | |