-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New option to disable the triple power cycle bind method #2857
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
New option to disable the triple power cycle bind method #2857
Conversation
|
Looking forward to having this feature. I was disappointed to see that triple power cycle wasn't disable-able in 3.4. This will be great for my multi receiver systems on independent power sources. |
|
I'd love to have this feature as there are situations where plenty of folks might be power cycling in a hurry when they're troubleshooting under a time constraint for example. |
Camo55
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a welcome feature that I'm sure many will find as useful as the 'programming by tx' checkbox on escs.
pkendall64
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is all wrong. It should be a config option, rather than this currently mixed config/firmware option.
We are actively avoiding adding more user defines.
Anyone running into this problem has bigger issues too address. A bad power supply is just going to lead to further troubles. I don't feel this is a good fix for dodgy hardware! |
There are plenty of situations where this could be caused by not having a power supply problem. Such as rapid power cycles when troubleshooting. I don't really see why there is any real opposition to this considering the entire robot combat community does not like the triple power cycle method. |
|
@frank26080115 @wtjstanley @RNewDeal @Camo55 Where are you guys hanging out and discussing this? To me this looks like Frank and |
|
The 3x power cycle, each power cycle must happen within 2 seconds. After 2 seconds the counter is reset. After a connection to the TX, the counter is reset. |
These are all separate accounts and separate people we just know each other from robot combat and like the ELRS platform.
If the packet rate is not set properly it could easily happen. Yes brownouts shouldn't happen but there are plenty of situations where a separate power supply is not viable. |
If the receiver is not setup to connect at the rate the TX is on then it will cycle around the packet rates and could take some time connect, you will not have any control of the craft during that time and it could be for 20 seconds or more! |
|
So here is a situation where disabling this feature could be very beneficial, and where I personally had to drop out of a tournament because It happened: At tournament, preparing my bot for combat: Plugging in the power connector at a bad angle, accidentally somehow managed to tap the contacts 3 times in rapid succession (likely due to adrenaline) and causing the receiver to go into bind mode. I was able to spend the minute it took to go through my controller's settings and hit bind to the receiver, but this receiver also had the PWM mod added to it at some point, and defaulted to PWM controls instead of the CRSF control I needed for my setup. I did not have 20 minutes to diagnose this problem and had to drop out. If the receiver hadn't gone into bind mode, it wouldn't have also reset its other settings and caused me to drop out of the tournament. In a similar instance, during combat, brownouts are common either from large electrical loads on the system, or the large shock loads briefly disconnecting power, which in some cases will intermittently reconnect within the bind window. I've tried to set up my receiver with a bind phrase and even adjusted the baudrate and refresh rates of the connection to make sure the rx knows what to look for on startup, but it still takes 2-3 seconds for it to connect to my radio. (frsky x-lite pro with jumper ELRS nano backpack to betafpv elrs lite or foxeer elrs lite rx) I see absolutely no reason why this feature can't be added to the elrs list. Fuzzhao is a valuable member of the bot community and we trust many of his projects in our bots. Also note that many of these systems are hard soldered, epoxied, or otherwise embedded and very hard to get to. |
Or the motor driver is in a phase, a FET is conducting, and the robot gets hit with a force equivalent to a head on car collision. The wheel is now driven in reverse from the collision and the regenerated motor voltage spike manage to trip your voltage regulator's overvoltage protection with a massive ringing effect that causes 3 pulses about 200ms. This is all despite your best efforts in cramming as many capacitors as you can within the robot's competition weight limit, spend any more weight on capacitors and filtering and transient diodes, you start losing weapon mass to actually hit other robots with. You try to engineer the perfect power supply immune to all conditions and you just lose because that money and mass could've been spent elsewhere. |
Also here from the robot combat community. I can understand the request to change how this flag is implemented, but is there any specific reason not to make it a user-configurable option? In our specific use case, we regularly have unstable connections to power, and the ability to disable disconnecting from your transmitter due to that is useful. I'm not sure I see a case where this would cause an issue with other uses of ELRS, especially if the triple power cycle bind is on by default. (Not trying to start a "+1 me too!" train, but just wanted to clarify that there is other interest from the community in this option.) |
There was a bug that caused the older style 8285 receivers to corrupt their config when rapidly powering on/off the receiver. When it rebooted it would then reset to defaults. This bug was fixed in 3.4.3. #2755 I'm just trying to understand why everybody thinks the 3x power cycle to bind is not for the combat robot community. User configurable options just make things more complex for new users as they don't know whether or not to use the option. |
Adding it to the firmware step or hiding it in the hardware.html page would work. |
That is completely the wrong place to put it. That page is only for configuring the hardware layout JSON file. |
Having it on as default is perfectly viable. Sometimes the bind phrase is corrupted or doesn't work for some reason, or maybe I set the receiver to wait 2 hours before going into wifi mode. I would say that this checkbox is equivalent to the 'Program by TX" button in BLheli software. (I disable that too, for similar reasons)
Are you saying there are other options besides 3-power cycle or bind phrase to bind to receivers?
As a new user myself, I would much rather have the option and not need it, than not have the option and want it/wish it was one. |
|
I actually like the "Permanent" storage mode idea so I submitted #2862 just now |
|
Closing this one in favour of #2862 |


The triple power cycle bind method of binding can cause serious problems when the ELRS is used in an environment when/where power is not stable. If the power is somehow cut and re-established 3 times in very short pulses, the ELRS receiver can be put into a binding state and not recover the original intended connection to the transmitter.
This pull request adds a user-configurable option to disable this binding method. There is a checkbox added to the Wi-Fi configuration screen (underneath lock-on-first-connection). It's been added to the user_defines.txt and also all of the build related python scripts.