Skip to content

Conversation

@frank26080115
Copy link
Contributor

To prevent accidental activation of binding mode, this binding storage mode only allows the user to edit the binding UIs (binding phrase) through the web UI (and "baked" into firmware).

This is similar to pull request 2857 (which prevents accidental activation of binding through the triple-power-cycle method) and now also covers accidental activation of binding through the binding button if the receiver circuit has a button, and also activation through the Lua interface.

@CapnBry
Copy link
Member

CapnBry commented Jul 26, 2024

I'm shocked that this is a problem for you and the cult you've collected to come cheer for it 😆 How can something happen both so frequently and also be so unexpected?

I know the name wasn't your choice but it is also wrong. It is not permanent-- it can be changed when flashing or from the webui. It is just preventing going into bind mode so it should be named accordingly. I feel like there's no use case for blocking the BIND command from betaflight / edgetx / the lua, this only restricts the usability of the system and is solely a casualty of where you chose to place your code. It should only block the button and the 3-plug if that's what you folks keep doing by mistake, and be named / described accordingly.

The way this is implemented also has some issues:

  • Because the receiver never enters binding mode, it keeps trying to enter binding mode over and over, which seems a little hacky
  • The button still will reboot the receiver expecting to put it into binding mode but then nothing happens.

I don't want this code sprinkled all over the place to resolve those issues either, there should just be one line like you've got it, but with the rest of the code refactored to accommodate the new mode. No rush on that either, because we're past the 3.5 feature freeze so this will be for 3.6 if accepted (and also I am not enthusiastic about doing the 50 different case testing that this will require).

@RNewDeal
Copy link

I'm shocked that this is a problem for you and the cult you've collected to come cheer for it 😆 How can something happen both so frequently and also be so unexpected?

There were some great answers in the pull request as to why the robot combat community doesn't like the new bind options. It's unavoidable risk due to the weirdness of robot combat.

I know the name wasn't your choice but it is also wrong. It is not permanent-- it can be changed when flashing or from the webui. It is just preventing going into bind mode so it should be named accordingly. I feel like there's no use case for blocking the BIND command from betaflight / edgetx / the lua, this only restricts the usability of the system and is solely a casualty of where you chose to place your code. It should only block the button and the 3-plug if that's what you folks keep doing by mistake, and be named / described accordingly.

The way this is implemented also has some issues:

  • Because the receiver never enters binding mode, it keeps trying to enter binding mode over and over, which seems a little hacky
  • The button still will reboot the receiver expecting to put it into binding mode but then nothing happens.

I don't want this code sprinkled all over the place to resolve those issues either, there should just be one line like you've got it, but with the rest of the code refactored to accommodate the new mode. No rush on that either, because we're past the 3.5 feature freeze so this will be for 3.6 if accepted (and also I am not enthusiastic about doing the 50 different case testing that this will require).

Yea I do agree it should only block the button bind and 3-plug option.

@frank26080115
Copy link
Contributor Author

Do you want to drop the "Permanent" moniker and use "Administrated"? It seems like if we disable only the 3-cycle and button bind, only the "administrator" can change binding.

@RNewDeal
Copy link

Any movement on this feature being added?

@pkendall64
Copy link
Collaborator

Let's get it renamed to "Administered" and I think we'd be happy with that

@pkendall64
Copy link
Collaborator

V4 (master) will be some time away. Could you rebase this on 3.x.x-maintenance and we could get this into a 3.6 or 3.5.?

@pkendall64 pkendall64 changed the base branch from master to 3.x.x-maintenance October 19, 2024 07:48
@pkendall64 pkendall64 changed the base branch from 3.x.x-maintenance to master October 19, 2024 07:48
@pkendall64 pkendall64 force-pushed the feat-permanent-binding branch from b291d42 to 54f4d81 Compare October 19, 2024 08:00
@pkendall64 pkendall64 changed the base branch from master to 3.x.x-maintenance October 19, 2024 08:01
@pkendall64
Copy link
Collaborator

I hope you don't mind, but I fixed up the rebase and force pushed the branch so it cleanly applies to 3.x.x-maintenance

@frank26080115
Copy link
Contributor Author

Cool I didn't really know what to do but typing in the word rebase and 3.x.x-maintenace seemed to do something lol

@wtjstanley
Copy link

Any movement here? I would like to have this feature for my combat robots

@pkendall64 pkendall64 changed the title New binding storage mode: Permanent New binding storage mode: Administered Jan 10, 2025
@pkendall64 pkendall64 added enhancement 🪄 New feature or request V3.5 🍩 labels Jan 10, 2025
@RNewDeal
Copy link

@CapnBry Any chance you could do the final review for this feature?

@gnattyc
Copy link

gnattyc commented Feb 13, 2025

Just trawled through the various threads about disabling 3-plug binding. It's also a desirable feature for me, i've had several robots reset to binding mode as a result of regen braking while off. Current solution has been to return to 3.3.2 firmware to prevent this.

Copy link
Member

@MUSTARDTIGERFPV MUSTARDTIGERFPV left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

returning to this PR; all looks good to me.

@MUSTARDTIGERFPV MUSTARDTIGERFPV merged commit c30aaec into ExpressLRS:3.x.x-maintenance Mar 7, 2025
48 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement 🪄 New feature or request V3.5 🍩

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants