Skip to content

Send RF Mode Enum in place of RF Index in the Sync packet#2932

Merged
JyeSmith merged 9 commits intoExpressLRS:masterfrom
JyeSmith:change-to-sending-expresslrs_RFrates_e-in-sync-packet
Nov 8, 2024
Merged

Send RF Mode Enum in place of RF Index in the Sync packet#2932
JyeSmith merged 9 commits intoExpressLRS:masterfrom
JyeSmith:change-to-sending-expresslrs_RFrates_e-in-sync-packet

Conversation

@JyeSmith
Copy link
Copy Markdown
Member

@JyeSmith JyeSmith commented Sep 15, 2024

The main change in this PR is the Sync packet change to send RF Mode in place of the Index. This provides more flexibility with RF mode ordering in ExpressLRS_AirRateConfig and across hardware e.g. LR1121 to SX12XX. In addition, the remaining 900 modes have been added for full compatibility with the SX1276. Additional FSK modes have also been added to make the LR1121 as feature rich as the SX1280.

Things for discussion in this PR;

  • Removing UID from the Sync packet. I think we will be ok to rely on the CRC initialisation and the UID bytes can be repurposed e.g. use another bit for telling the rx to use diversity or gemini mode.
  • RF mode numbering. I have had a crack at ordering them in a semi sensible way e.g. SubG below 100, 2G4 modes starting with a 2xx, and X mode 1xx. Im not set on this and open to all ideas! I also know this is broken with ETX.

Things to discuss for future PRs;

  • Grouping of the Modes in their own domain folders? Will this allow for better Lua label descriptions?
  • A UI for the user to remove unwanted modes?
  • Improve Rx RF cycling to speed up initial connection?
  • What modes do we actually want to keep? e.g. I would be happy to scrap 25Hz 900M, D50 900M, and F500.

And I know the config needs to be fixed so that there is an update pathway from previous version.

@JyeSmith JyeSmith added V4.0 🍔 OTA Breaking Change This PR is incompatitble with master labels Sep 15, 2024
@pkendall64
Copy link
Copy Markdown
Collaborator

  • Grouping of the Modes in their own domain folders? Will this allow for better Lua label descriptions?

I think a "Band" selection above the packet rate would be really obvious. Would be hidden for SX chips.
Then it can have 900, 2.4 and 900/2.4 as options. The 900/2.4 option can be hidden when a single LR1121 chip is used.
This also means we get 16 options for each band. We can also make the numbering consistent between the 2.4 and 900 for all chip types (plus some extras for LR1121).

SubG starts at 0, 2G4 starts at 20, and GemX at 100.  Im still not happy with this and open to change, but for now it works with ETX and BF.
This needs a close review and more testing at release!!!
@JyeSmith JyeSmith marked this pull request as ready for review November 5, 2024 01:36
@JyeSmith JyeSmith requested a review from wvarty November 5, 2024 01:36
@JyeSmith JyeSmith merged commit 67ed689 into ExpressLRS:master Nov 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

OTA Breaking Change This PR is incompatitble with master V4.0 🍔

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants