From 5de7436d87acc960a43ee8862fb57ed9b830ffba Mon Sep 17 00:00:00 2001 From: Karlis Goba Date: Thu, 27 Dec 2018 22:42:37 +0200 Subject: [PATCH] Updated description wrt decoding --- README.md | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index e2b1c46..7046650 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,12 @@ # FT8 library -A C++ implementation of FT8 protocol, mostly intended for experimental use on microcontrollers. At the moment only encoding is implemented. - -The encoding process is relatively light on resources, and an Arduino should be perfectly capable of running this code. +A C++ implementation of FT8 protocol, mostly intended for experimental use on microcontrollers. The intent of this library is to foster experimentation with e.g. automated beacons. For example, FT8 supports free-text messages and raw telemetry data (71 bits). -Work is in progress (possibly taking forever) to explore decoding options. On a fast 32-bit microcontroller decoding might be possible, perhaps with some tradeoffs. +The encoding process is relatively light on resources, and an Arduino should be perfectly capable of running this code. + +Decoding is is still work in progress. So far a 15-second WAV file can be decoded on a desktop machine or SBC, and the routines are somewhat ready for a fast microcontroller, perhaps with some tradeoffs. One definite limitation is the necessity to store the whole 15-second window in some representation (either waveform or DFT spectrum) for decoding at the end of the time slot. The current implementation uses about 200 KB of RAM for that purpose. # What works @@ -15,19 +15,18 @@ Currently the basic message set of the revised FT8 protocol with 77-bit payload * CQ {xy} {call} {grid}, e.g. CQ JA CA0LL GG77 * {call} {call} {report}, e.g. CA0LL OT7ER R-07 * {call} {call} 73/RRR/RR73, e.g. OT7ER CA0LL 73 +* Free-text messages (up to 13 characters from a limited alphabet) (decoding only, untested) +* Telemetry data (71 bits as 18 hex symbols) -So far only encoding is implemented. There is historical code that supports the same set of FT8 version 1 (75-bit) messages plus free-text messages. +There is historical code that supports the same set of FT8 version 1 (75-bit) messages minus telemetry data. # What doesn't -I'm currently working on these features: -* Encoding free-text messages (up to 13 characters from a limited alphabet) -* Encoding telemetry data -* Decoding +I'm currently working on decoding, which still needs refactoring. The code is not yet really a library, rather a collection of routines and example code. These features are low on my priority list: -* Encoding contest mode messages -* Encoding compound callsigns with country prefixes and mode suffixes +* Contest modes +* Compound callsigns with country prefixes and special callsigns # What to do with it