$ show M17-Project/M17_spec
This repository contains the formal specification of the M17 digital radio protocol, an open-source amateur radio standard. It is a single LaTeX document (M17_spec.tex) that defines the physical layer (4FSK modulation, synchronization, randomizer), data link layer (frame types, forward error correction, stream/packet/BERT modes), and application layer (voice, data, encryption, digital signatures). The specification is exhaustive, including mathematical definitions, encoding algorithms, and reference C code snippets. The repository also includes a CI workflow that automatically generates a PDF from the LaTeX source and deploys it to GitHub Pages. While not a software application itself, this spec serves as the authoritative reference for implementing M17-compatible radios and software. The document is actively maintained with frequent revisions and contributions from multiple authors.
The LLM identified 1 files worth highlighting for reuse:
The single source file defining the entire M17 protocol. It is a well-structured LaTeX document with clear sectioning, tables, figures, mathematical formulas, and embedded code examples. The specification covers physical layer modulation, data link framing with multiple error correction schemes (convolutional coding, Golay, puncturing, interleaving), stream and packet modes, encryption (scrambling, AES), and digital signatures. It includes appendices for address encoding, randomizer sequence, convolutional encoder, Golay encoder, puncturing patterns, interleaving tables, and BERT details. The document is versioned and maintained with a CI pipeline for PDF generation. It is the definitive reference for implementing M17 and is reusable as a template for other protocol specifications.