Wykres commitów

63 Commity (master)

Autor SHA1 Wiadomość Data
Rob Riggs 9e6f588d30 Update to version 2.4.4. Clock recovery improvements. Update the sample index more frequently to reduce EVM. Re-wrote the symbol deviation, offset, EVM code. More code comments. 2022-05-29 17:09:09 -05:00
Rob Riggs 9158fe45af Update firmware version to 2.4.3. 2022-01-23 15:06:57 -06:00
Rob Riggs f4ac271109 Change clock used for M17 to 48MHz. 2022-01-23 15:06:46 -06:00
Rob Riggs 23713d9ed3 Use EOT sync word for end of stream rather than EOS bit. Use only sync word and Kalman filter for clock recovery. Simplify some of the state transistions. Reduce DCD limits since we can follow symbol clock at lower levels now. Use a smaller FIR filter for RRC. 2022-01-23 15:05:20 -06:00
Rob Riggs b5d19da1ad Add feature to allow forced DCD unlocking to aid in modem recycling. 2022-01-23 15:05:20 -06:00
Rob Riggs 55d94ef38d Allow more time for DC offset to settle. 2022-01-23 15:05:20 -06:00
Rob Riggs 17a0e74d46 Add missing include. 2022-01-23 15:05:20 -06:00
Rob Riggs 323e840fa3 Add symbol slope integrator code (currently unused). 2022-01-23 15:05:20 -06:00
Rob Riggs 51b91c4b71 Add Kalman filter code. This adds a dependency on Blaze and requires that exceptions be enabled. 2022-01-23 15:05:20 -06:00
Rob Riggs bcd6d67763 Update firmware version to 2.4.2. 2022-01-23 15:03:38 -06:00
Rob Riggs 4ac0001549 Use an 8-symbol length FIR filter for symbol interpolation. 2022-01-23 15:03:38 -06:00
Rob Riggs 59783338c8 Add reset() function to IIR filter. 2022-01-23 15:03:38 -06:00
Rob Riggs a8296cbdca The FirFilter constructor and init function do not need to be templatized. 2022-01-23 15:03:37 -06:00
Rob Riggs 9a65906f5c Trivial optimization to Viterbi. 2022-01-23 15:03:37 -06:00
Rob Riggs 6d6253f2d1 Add 8 and 11 symbol RRC filters to M17 demod. 2022-01-23 15:03:37 -06:00
Rob Riggs 86a9896a8d Validate the LICH fragment number and mask the LICH segment bitfield properly. Send -1 for BER while LICH decode is incomplete. 2022-01-23 15:03:37 -06:00
Rob Riggs 1f3925a462 Fix M17 RX reverse polarity. 2021-10-25 20:20:57 -05:00
Rob Riggs 6cdc8f8652 Add new EOT indicator. Send RSSI/cost info for stream data. Update version to 2.4.0. 2021-09-06 18:19:28 -05:00
Rob Riggs fb29668664 Update to version 2.3.3. 2021-08-29 20:39:28 -05:00
Rob Riggs 8bbadd5b02 Update EOS check. 2021-08-29 20:38:39 -05:00
Rob Riggs facdd74307 New LSF puncture matrix (P1). 2021-08-29 20:37:22 -05:00
Rob Riggs b2977c66a4 Add support for BER testing. Update version to v2.3.2 2021-08-03 21:32:40 -05:00
Rob Riggs 76e99f2c02 Update comment. 2021-07-17 15:46:07 -05:00
Rob Riggs be5e5f0807 Add missing includes. 2021-07-08 19:51:38 -05:00
Rob Riggs fc7a25c92a Add support for frame resizing. Handle old stream frame type in encoder. 2021-07-08 19:50:54 -05:00
Rob Riggs 5398bc0be1 Update firmware to use new stream frame format. Update version to 2.3.0. 2021-06-30 20:27:24 -05:00
Rob Riggs d05679630b Simplify FIR filter code. 2021-06-30 20:16:15 -05:00
Rob Riggs 33982f4a99 Share storage for all demodulators. 2021-06-26 13:20:36 -05:00
Rob Riggs aaae8063b0 Share storage for all demodulators. 2021-06-26 13:13:53 -05:00
Rob Riggs 5173378320 Use same Viterbi code as m17-cxx-demod. 2021-06-26 10:59:38 -05:00
Rob Riggs 0da7939f15 Enable oversampling for all demodulators. 2021-06-22 20:41:46 -05:00
Rob Riggs 223dc47b93 Update 1200 baud modem to use same timing on both TNC3 and NucleoTNC. 2021-06-21 22:01:40 -05:00
Rob Riggs 73b280099f Update version to 2.2.2. 2021-06-21 20:59:12 -05:00
Rob Riggs 0f3a5d18d7 Update clock trees. Update 1200 baud modem to run at 48MHz, same as TNC3. Update 9600 baud modem to run at 72MHz instead of 80MHz. Fixes 9600 baud mode broken by M17 changes. 2021-06-21 20:58:26 -05:00
Rob Riggs 6b7289d405 Revert NucleoTNC log level change. 2021-06-21 20:56:51 -05:00
Rob Riggs d4c353d460 Fix empty body warning when not logging. 2021-06-21 20:55:50 -05:00
Rob Riggs b622d2b13b Remove now-unused M17 components. 2021-06-20 20:43:34 -05:00
Rob Riggs f43d6d5441 Major change to M17 demodulator. Improves demod performance, perhaps at the expense of tracking signals with extremely inaccurate clocks. It should be able to handle up to ~500ppm error between TX & RX. Improve LICH decoding. 2021-06-20 20:41:48 -05:00
Rob Riggs fe49e88122 Update M17 modulator to use 72MHz clock for increased accuracy. 2021-06-20 20:40:49 -05:00
Rob Riggs 3548060ae0 Add new components for updated M17 demodulator. 2021-06-20 20:37:40 -05:00
Rob Riggs 8a3f60355a Fix memory leak (frame buffers) in M17 packet handling. 2021-06-20 20:34:37 -05:00
Rob Riggs 82da456a7f Add missing include files. 2021-06-20 20:28:40 -05:00
Rob Riggs 305663cc8f Add TNC_DEBUG macro because STMCubeIDE defines DEBUG macro. 2021-06-20 20:27:30 -05:00
Rob Riggs a42b1e2fbc Update callsign decoding based on spec clarification. 2021-06-20 20:23:28 -05:00
Rob Riggs da98e6e6e3 Make FIR filter input and output buffers global to reduce RAM consumption. 2021-06-20 20:22:59 -05:00
Rob Riggs c7a91b8820 Statically allocate buffers needed for serial thread and queue. Limit frame churn. 2021-06-20 17:47:15 -05:00
Rob Riggs eb478b443a Sync NucleoTNC firmware with TNC3 v2.1.8 codebase. Upgrade compiler to GCC 10.2. Upgrade to C++20 for std::span. Changes to reduce stack utilization. Reduce jitter by adjusting clocks & interrupt priority. Fix serial port timeout on large packets. Use floating point for M17 modulator. Fix LICH decode defect. 2021-02-21 20:48:09 -06:00
Rob Riggs bc01e2840f Bump firmware version to 2.1.5. 2021-01-23 11:12:51 -06:00
Rob Riggs e8a06bd3b5 Increase logging priority of modulator enable/disable. 2021-01-23 11:12:20 -06:00
Rob Riggs 8400a7f76d Adjust clock recovery timing constraints for improved demodulation. 2021-01-23 11:12:00 -06:00