LR1121 - Adds FEC to 2.4GHz FSK (#2832)
commita47a25cbc753fbe13b4c3f6505a35ba3b3b4bca6
authorJye <14170229+JyeSmith@users.noreply.github.com>
Fri, 19 Jul 2024 21:43:11 +0000 (20 07:43 +1000)
committerGitHub <noreply@github.com>
Fri, 19 Jul 2024 21:43:11 +0000 (20 07:43 +1000)
tree441b07fa9afdc0fb5d2028cc481df3de8b2990ce
parentabfedf9b08c9f816c912ffe9bf30c1c8cd5fb637
LR1121 - Adds FEC to 2.4GHz FSK (#2832)

* initial working FSK

* reduced sync word and 100hz settings

* 2.4 and SubG 1000Hz and D500 test modes

* small FSK tweaks

* testing K1000 F Low

* bring back lora modes and other cleanup

* update OTA time and TLM ratio

* remove extra ClearIrqStatus and move ignoreSecondIRQ

* add back 200Hz Full Low

* fuck this shit off!

* cleanup GetPacketStatus

* ENUM ALL THE THINGS! and clean up the modes

* add extra Radio.isFirstRxIrq to loop

HWtimerCallbackTock does not run when disconnected, so this is never reset while waiting for a connection.

* Revert "add extra Radio.isFirstRxIrq to loop"

This reverts commit 1353a026bc625c24c9ccba5639cfcc7dcda623f2.

* remove reliance on isFirstRxIrq

There is enough time to call GetIrqStatus for the second radio.

* check DIO1 before calling IsrCallback()

If the second radio packet has already been check, no need to call the IsrCallback and GetIrqStatus.

* remove LR1121 PACKET_TO_TOCK_SLACK

* why read 4B when 3B will do

* make unit test happy

* adds unique sync word for packet filtering

* UID[6]... SMH

* change hops to be inline with F1000 rates

* syncSpamAmountAfterRateChange

* syncSpamAmountAfterRateChange

* remove mav_ul

* cleanup

* change rx to PROTOCOL_MAVLINK if mav packets are received

* add back NonceFHSSresult condition

* fix config call from startCWTest

* lowercase variables

* use lib_ignore

* change bitrate to use a 10000 multiplier

* Hamming(7,4) FEC

* Fix Lua after rebase

* add FEC lib

* cleanup debug and comments

* commenting

* revert DK500 back to DVDA

* fix unit tests
src/lib/FEC/COPYING [new file with mode: 0644]
src/lib/FEC/COPYING.LESSER [new file with mode: 0644]
src/lib/FEC/FEC.cpp [new file with mode: 0644]
src/lib/FEC/FEC.h [new file with mode: 0644]
src/lib/FEC/hamming.cpp [new file with mode: 0644]
src/lib/FEC/hamming.h [new file with mode: 0644]
src/lib/LR1121Driver/LR1121.cpp
src/lib/LR1121Driver/LR1121.h
src/lib/LUA/tx_devLUA.cpp
src/lib/SX12xxDriverCommon/SX12xxDriverCommon.h
src/src/common.cpp