-
-
Notifications
You must be signed in to change notification settings - Fork 356
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
feat: ELRS bind command support #4907
Conversation
@3djc this will need support for color LCD as well, right? |
@raphaelcoeffic Should be working on colorlcd |
Tested successfully on TX16S using RM Ranger and RM ER6, so colorlcd is fine as I said :) I'm thinking about adding one cheerp audio feedback, as since only one frame is sent, the regular binding sound is not heard. Maybe one play of it is more in line with what a user would expect |
Added detection of streaming receiver, in which case bind button is turned to unbind (and frame is then sent to receiver for it to go in bind mode instead of radio module) Added audio feedback |
This flippin works so good I love it (tried colorlcd and bw128x64). So easy without digging into multiple layers of lua. Someone needs to test this on Crossfire though, because I think their bind procedure is backwards from ours? It has been several years since I've used it but I think the TX goes into bind mode continuously and then the RX completes the bind (where ours the RX is continuous and the TX completes it). I'm not sure if their TX handles the bind command or if they only implemented the RX side too. |
Have more polish to add to this so th Captain doesn't get alarmed :D |
This feature is now available only to ELRS modules (version >= 3.4), not Crossfire :) |
Tested on TX16S (colorlcd) / T14 (128x64 but no module version page) / Boxer (128x64), and my long laundry list of concerns / issues (on Discord) have been addressed by this fabulous PR. Thanks so much, what a wonderful ease-of-use feature for binding or sharing a model with a friend, something I see a lot a races. There's the issue of the user hitting Unbind in flight, which will disconnect the receiver. This is recoverable by simply rebinding, which occurs at the 50Hz (longest range) packet rate so it should not be an issue. I can also set the module type to OFF or change the receiver number in flight so I consider this to be of roughly the same risk level: None* |
To avoid unbinding during flight, could also check the arming state? If armed, do not allow to unbind (if we know the module is ExpressLRS module, then at least the ExpressLRS Lua is able to fetch the state of ExpressLRS RF "armed" or not. Thus EdgeTX should be able to get this info out of the module as well. Although RF armed state might not 100% correlate to the model arming state, if on the model side further checks are done or another channel is used for arming, nevertheless this could be a step towards eliminating users not unbinding during flight). |
A lot of complications for an illusion of safety imho |
We've had the possibility of enabling "Bind" on the radio for basically all modules regardless of telemetry status, without anyone complaining about it. |
No new functionality will ever be tied to Armed state, as many users are unaware of "Arming" via CH5 and are using as a general purpose channel. Also, if the user is 3 menus deep in their model settings changing the active transmitter module while flying and hits UNBIND... just press it again to re-bind. They weren't actively controlling the model anyway so all illusion of "safety" was already out the window. 😆 |
You have no idea what @rotorman is doing while his aircraft is in the air 😅 Don't tempt him with such challenges! |
😂 Plus, what if he wants to bind to something else while he is already flying! He'd have to unbind while armed. |
Does this still say "rf signal critical / telemetry recovered" when doing a bind after an unbind? Just wondering if it should clear the state as if it were the initial connection when you do the unbind 🤔 |
I think those need to stay, as they serve as confirmation that your order was executed (or as a warning in case you did not realize unbind will ... you know... unbind) |
I do feel like the "telemetry recovered" should stay, because there's no other visual indicator on that screen that shows that there's a connection and it provides some feedback. The packet rate field always shows the packet rate whether something is connected or not, so I think it is helpful. As far as the "RF Signal Critical" I think I agree that we should change that behavior on our side. It is because when the connection drops on the receiver, the LQ is forced to 0% so the LQ in the first telemetry packet reflects that. I think we can reduce that by resetting LQ to 100 when leaving bind mode, but it still could trigger on the reconnection just like any new connection. I'll put it up for a vote if it goes in as a bugfix for 3.4 though since it really isn't a bug and not really high severity. |
We need "something" to indicate loss of signal, not sure RF Signal critical is worse than anything else |
Oh for sure, 100% agree. The telemetry lost / telemetry recovered is a great indicator. The "RF Signal Critical" just doesn't need to be there, but that's because its coming from ExpressLRS and EdgeTX is doing the correct thing when we report it. |
Yes, it was probably more the "RF Signal Critical" that I was having issue
with more than the telemetry recovered... as a "telemetry lost" on unbind,
and "telemetry recovered" on bind is good audio feedback.. whereas the RF
signal is not actually "critical". So if you can clear that in on ELRS at
some point that would be great! :) But it is only lipstick, nothing
critical in any way.
…On Fri, Apr 26, 2024 at 11:46 PM Bryan Mayland ***@***.***> wrote:
Oh for sure, 100% agree. The telemetry lost / telemetry recovered is a
great indicator. The "RF Signal Critical" just doesn't need to be there,
but that's because its coming from ExpressLRS and EdgeTX is doing the
correct thing when we report it.
—
Reply to this email directly, view it on GitHub
<#4907 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABJ66KPEPHEM5FOSABJBIK3Y7JLDDAVCNFSM6AAAAABGSOHUP6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANZZGQZTAMRUGA>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
100% agreed |
Can we get some translations for this please 🙏 With ELRS, this will change to Unbind once bound: #define TR_MODULE_UNBIND BUTTON("Unbind")
|
CN #define TR_MODULE_UNBIND BUTTON("解绑") TW #define TR_MODULE_UNBIND BUTTON("解綁") |
This PR brings support to CRSF bind and ping frames.
Fixes #4906