Skip to content

Conversation

@i-am-grub
Copy link
Contributor

@i-am-grub i-am-grub commented Jun 17, 2025

!!! Important !!! - Merging this PR will likely require a major version bump as it will break compatibility with previous versions of the backpack

This PR introduces individual addresses for each of the configurations of the backpack firmware (currently Tx, Vrx, timer) by replacing the last octet of the UID with the value of the config type. It is setup under the following assumptions:

  • The Tx and Vrx only have the intention of sending data to their counterpart
  • The Tx and Vrx can still receive data from any device with the first five octets of the UID matching.
  • The Tx and Vrx will accept data from any Timer backpack even without the first five octets matching.
  • The Timer backpack can register/unregister Tx and Vrx peers by the command of it's host [unchanged]
  • Accept data from any host when binding [unchanged]

This change allows for additional stability of the backpack in enabling accurate reporting of data delivery by the espnow send callback. For example, when trying to send OSD data to the Vrx backpack, a powered-on Tx backpack with the same address may report a successful data delivery when the Vrx failed to receive the expected data. This scenario breaks the timer backpack packet retransmit system allowing creating a measured 5-10% packet loss on the bench (currently with only the Vrx backpack on, there is a measured 0% loss).

This change also allows for the timer backpack to send to multiple peers without requiring it to configure its mac address before transmitting to a new peer. This enables the timer backpack's firmware to be changed to allow sending to multiple peers in parallel and not sequentially (which can have a noticeable delay for pilots who are last in the sequence)

Additional items to consider before merging:

  • Does the automatic antenna tracker require any additional peers to be registered?

@i-am-grub

This comment has been minimized.

@i-am-grub
Copy link
Contributor Author

With the changes in this pr in addition to the peer manager under testing in the elrs netpack (used for testing future changes before introducing them to the standard timer backpack), the previously identified packet loss is successfully addressed.

@i-am-grub i-am-grub marked this pull request as ready for review June 23, 2025 03:55
@ExpressLRS ExpressLRS deleted a comment from sonarqubecloud bot Oct 27, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant