-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
Multirotor Althold throttle hover option + altitude adjustment indication #9220
Multirotor Althold throttle hover option + altitude adjustment indication #9220
Conversation
Would |
STICK is the same as having the current The problem I've found with setting the Althold zero throttle position to the current stick position ( |
When using Then if an altitude adjustment was made in those modes, either up or down. The Altitude indicator would flash black and white, until the throttle stick was re-positioned for the craft to hold altitude again. I tested it with two quads. One was Analogue video and the other Digital. |
@Jetrell I assume you meant you used If you're using the HOVER setting I'd have thought if you were changing altitude when you engaged Althold that the quad would continue to change altitude albeit at a slower rate compared to Acro. I guess if you're still within the Althold deadband then adjustment wouldn't be active so it would stop and enter a stable hover. |
Yes.. Sorry about that. Wrong setting name. I assume it was in the deadband.. Even though I was making it climb/drop as fast as I was comfortable with in LOS testing. Because I didn't what to punch or cut the throttle too harshly. |
Altitude modes appear to be less fiddly when commencing a hover, after multiple altitude changes are made by stick input.
The idea is good even though the blinking character does not work well with HD OSD. |
I thought this might cause problems in some cases. I guess the possibilities are:
|
We could implement a 4 page font, with pages 3 and 4 being alert colours. Similar to BetaFlight, but with only pages 1 and 2 as standard, and 3 and 4 as alert. It could be optional, and pretty simple to do. If the osd_use_alert_characters = ON and blink is set, increment the page by 2. Just do that before the page bits are set and I believe it should work. I’m sure that I changed the page bit from a boolean to actually setting the first 2 bits as future-proofing. The question is, do we want to? Is there a chance that we will need to go on to page 3 for standard OSD. For example, we could make things like the arrows and heading graph more accurate, with more divisions. Maybe even the AHI. If we feel like standard OSD could need page 3. Then this alerts are a no-go anyway. |
@breadoven I reckon this would be the simplest and most workable option of the 4, at least for now.
@MrD-RC I consider the Betaflight 3 page color warnings a bit of a waste. With every single symbol having three different colors. |
That’s not how it works. The warning symbols need to match the position of the regular symbols, just on a different page. Ideally, we could use a 6 page system. Which would give pages 1-3 for standard and 4-6 for warnings. But, that would break the MSP DisplayPort API. |
Understood. That's what I was getting at. Only using orange for example, on page 4, in the ASCII letter and number character groupings. |
It wouldn’t work like that. It wouldn’t need to be a simple replacement for blink. So all symbols would need to be replicated. Otherwise there would need to be a hell of a lot of work to separate the symbols from alphanumerics, plus lookup tables. It would be an even bigger mess than the hack that had been needed for DJI O3 support. |
The other option to indicate adjustment is active is to show an "A" at the altitude field first character placeholder, where the "-" sign goes when 3 altitude numeric values are shown. The "A" is set to alternate on/off with around a 600ms period. Most of the time the -ve sign placeholder isn't used since altitudes are typically +ve and if altitude is negative then the -ve value is still obvious when the "A" alternates to off. This should also work with HD displays because it's not using the usual BLINK method. |
I wasn't sure who you were forwarding the question to. |
I think it should be possible to work out what it means intuitively but it can also be mentioned in the documentation. I'll add it to this PR ... see what people think especially for the HD systems. |
Added an "A" in the first position of the Altitude field to indicate altitude adjustment is active. The "A" is constant for altitudes above -99m and alternates on/off on 600ms cycle for altitudes below so the -ve sign isn't completely obscured. If this works for HD then it's a better solution than the system message which isn't very subtle especially when it's flashing on/off. Edit: realised it needs fixing to also work with Imperial units. |
@breadoven I tested it again today. And I really like how much easier it is to engage the altitude holding point, after several changes to elevation are made with the throttle. You no longer have to hunt around with the stick to find that position. Concerning the message and symbol on the OSD. |
Not so easy to do. Using characters > 255 is more awkward since they can't used with buff[] directly, but there are other arrow indicators < 255 that could be used. But then you'd need to check the direction of the adjustment which |
I'm happy enough with just the System Message. |
I'll look at reusing symbol 454 for adjustment instead of an "A". Doesn't seem worth adding another symbol just for this and 454 is pretty much what you'd expect for an indication of adjustment. |
It might not look right in HD.. The Sneaky fonts, which most people use. Have Pan written in that symbol. How about something simple like this for analogue.. The non embedded HD fonts can easily catch up. |
There's symbol 251, |
Ah well, just leave it as a system message then for now. If interested someone can change it later in line with the "A" method but using an appropriate new symbol. |
LOL, changed my mind about the "A". Changed it so the "A" now sits next to the first altitude number so it's impossible to confuse it with an errant character. I think this is the simplest way of indicating that altitude adjustment is active which is the only purpose it serves after all. |
@breadoven I was going to suggest using this symbol. Its glyph design in the iNAV embedded HD and analogue fonts are well suited.
@Jetrell That image could easily be changed from a fixed wing to a multirotor in the SneakyFPV fonts. |
It is a bit of an afterthought I admit. Adding fonts is just a bit of a hassle which hardly seems worth it for this niche usage is my lazy reasoning. |
Changed to use |
I'll inform Shannon (Sneaky font creator) of the change, so he knows what that symbol is now used for. |
|
Here is a modified 12 x 18 analogue character of 251 in the zip. So it looks like the HD versions. If you want to add it to the Configurator.. At least with this change you won't have to add a new character, it will just be an upgrade of the existing one. |
@breadoven Can I get you to take a look at the OSD altitude character set.. The whole thing, both the altitude number and the altitude symbol are not appearing on the screen, for both analogue and HD. |
@Jetrell should work OK now hopefully. |
Thanks for the quick fix.. It now works again. |
Bump navConfig PG that was forgotten in #9220
I'm not seeing the Configurator change to match the new name of the setting. |
Adds additional Hover throttle option for zero throttle position during Althold.
Also adds indication that altitude adjustment is active for multirotors, something that isn't always immediately obvious. Indication provided by "A" at start of altitude field. "A" alternates on/off if first field not blank. New system message also added but can be deleted if "A" prefix considered OK by itself.