Gemini Xrossband (GemX) - LR1121 Driver (#2540)
commitb4ad5ce9595125f1ffeec767c6a288a40b384a26
authorJye <14170229+JyeSmith@users.noreply.github.com>
Tue, 20 Feb 2024 08:21:19 +0000 (20 18:21 +1000)
committerGitHub <noreply@github.com>
Tue, 20 Feb 2024 08:21:19 +0000 (20 18:21 +1000)
tree79749fa23cab78416afbab956a942fa22c3bf96c
parentf701140ea39acdd5abf43019fea349b2da1a5fb9
Gemini Xrossband (GemX) - LR1121 Driver (#2540)

* lr1121

Still needs SF6 compatibility with the SX127x to be fixed.

ESP32 crashes on HWtimer resume.

* add tx target

* correct FREQ_SPREAD_SCALE

* working 900 state

still an issue with serial crashing

* Make SPI go brrrrrr

added https://github.com/ExpressLRS/ExpressLRS/pull/2339

* working as a single lr1121 and 900+2G4 combined

* GetAndClearIrqStatus clean up

* Gemini tx

All lora modes working on the tx.  Rx still needs checking.

* add generic USE_HARDWARE_DCDC plus clean up

* fix CS from interrupting a busy SPI

* working rx

* fix GetLastPacketStats for diversity and optimise SPI

* make fuzzy_snr() faster... thanks Sunjun :muscle:

The current method with exp() would take 85us in the middle of the ISR.

* increase PACKET_TO_TOCK_SLACK so the ISR fits for 500Hz

* fix fuzzy_snr

https://github.com/ExpressLRS/ExpressLRS/pull/2379

* add basic power control and change radio_rfo_hf to be more generic

changes radio_rfo_hf to radio_rfo_lp (lp = low power)

* add missing ClearIrqStatus

* Add ability to configure LR1121 targets

* fix for txen and setting 2.4 output for testing

* adds new power array power_values_dual for dual band systems

... works for the lr1121, but probably broke everything else :|

* Fix error in unified configurator

* Only call extra power setting on LR1121

* power clean up

LR1121 default mode is min power and low freq rf amp

* more power clean up

* adds  multi rx logging - DELETE ME LATER

* mods RF modes for testing - DELETE ME LATER

* adds multi rx logging cleanup - DELETE ME LATER

* Revert "mods RF modes for testing - DELETE ME LATER"

This reverts commit 18cd13ee859abc083552fc3be4612d2ff5868c86.

* add new DB mode

* fix ExpressLRS_AirRateConfig for sx1280

* post DB cleanup and comments

* fix FHSSrandomiseFHSSsequenceBuild()

* fix DEBUG_LOG_MULTI_RX define

* fix AsyncTCP

https://github.com/ExpressLRS/ExpressLRS/pull/2511

* add check to dualband to use the fhss seq cnt with the lowest value

* adds ALL THE MODES!

* test code cleanup

* cleanup old SetDioAsRfSwitch

* revert janky display menu ordering...

Tested and not required as the list is circular

* wrap PACKET_TO_TOCK_SLACK in a define

* handle negative power values correctly

* simplify output power code at the expense of a little efficiency

* correct POWER_OUTPUT_VALUES_DUAL use

* add missing ClearIrqStatus

* revert USE_RADIO_RFO_HF change

* revert more USE_RADIO_RFO_HF changes

* fix missing FHSSgetInitialFreq()

---------

Co-authored-by: Jye <JyeSmith@users.noreply.github.com>
Co-authored-by: Paul Kendall <pkendall64@gmail.com>
35 files changed:
src/html/hardware.html
src/include/common.h
src/include/hardware.h
src/include/target/FM30_RX_MINI.h
src/include/target/Unified_ESP32_TX.h
src/include/target/Unified_ESP8285_TX.h
src/include/target/Unified_ESP_RX.h
src/include/targets.h
src/lib/CONFIG/config.cpp
src/lib/DEVICE/device.cpp
src/lib/FHSS/FHSS.cpp
src/lib/FHSS/FHSS.h
src/lib/LR1121Driver/LR1121.cpp [new file with mode: 0644]
src/lib/LR1121Driver/LR1121.h [new file with mode: 0644]
src/lib/LR1121Driver/LR1121Driver.h [new file with mode: 0644]
src/lib/LR1121Driver/LR1121_Regs.h [new file with mode: 0644]
src/lib/LR1121Driver/LR1121_hal.cpp [new file with mode: 0644]
src/lib/LR1121Driver/LR1121_hal.h [new file with mode: 0644]
src/lib/LUA/rxtx_devLua.cpp
src/lib/LUA/tx_devLUA.cpp
src/lib/OPTIONS/hardware.cpp
src/lib/POWERMGNT/POWERMGNT.cpp
src/lib/SCREEN/display.cpp
src/lib/SX1280Driver/SX1280.cpp
src/lib/WIFI/devWIFI.cpp
src/python/UnifiedConfiguration.py
src/python/binary_configurator.py
src/python/build_flags.py
src/python/firmware.py
src/src/common.cpp
src/src/rx_main.cpp
src/src/tx_main.cpp
src/targets/common.ini
src/targets/unified.ini
src/test/test_fhss/test_fhss.cpp