|
TinyModem
Header-only software audio modem library
|
#include <string.h>#include "AudioTools.h"#include "AudioTools/Communication/FEC/ReedSolomon/rs.hpp"#include "ModemBase.h"

Go to the source code of this file.
Classes | |
| struct | tinymodem::PacketStatistics |
| Statistics of the received packets. More... | |
| struct | tinymodem::PacketFormat |
| Constants of the packet format. More... | |
| class | tinymodem::PacketEncoder< MAX_PAYLOAD, ECC_BYTES > |
| Splits the written data into packets with a CRC-16 and Reed-Solomon forward error correction, which are framed with HDLC-style flags (0x7E) and byte stuffing, and writes them to the output (e.g. a ModemStream). More... | |
| class | tinymodem::PacketDecoder< MAX_PAYLOAD, ECC_BYTES > |
| Receives the packets of a PacketEncoder: the written bytes (e.g. the output of a modem decoder) are deframed, corrected and checked, and the payload of the valid packets is written to the output. More... | |
| class | tinymodem::PacketStream< MAX_PAYLOAD, ECC_BYTES > |
| Reliable data transfer over any Stream (e.g. a ModemStream, an MFSKStream or a Serial): the written data is sent in packets with CRC-16 and Reed-Solomon forward error correction, and only correct data can be read. Corrupted packets which can't be corrected are dropped. More... | |
Namespaces | |
| namespace | tinymodem |
| TinyModem: software audio modems and packets with error correction. | |
Functions | |
| uint16_t | tinymodem::crc16 (const uint8_t *data, size_t len, uint16_t crc=0xFFFF) |
| CRC-16-CCITT (polynomial 0x1021, initial value 0xFFFF). | |