-
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
[3.0-RC1] osd_camera_uptilt should not affect AHI on Fixed Wings #6990
Comments
Might have something to do with the changes made in #6896 |
WAI per #6616, although I did not really consider the crosshairs since I never use them. |
@avsaase Instead I recommend to use osd_ahi_vertical_offset instead. This value is currently used to modify the vertical position of the Pixel OSD AHI. the default should be set to 0 (I don't understand why default is -18 anyway) and then you can use the same value for realign the classic OSD AHI. This would also be much more consistent. |
#6896 just changes how much of the sidebar element is drawn. It has no affect on the position of the horizon arrows. If it's set to the default of 3 then it's just doing what it was doing before when it used a fixed constant value set at 3 (constant is still used for the Pixel OSD). |
My thoughts on this:
That brings us to the question of how to do all these things. One way would be to link the crosshair position to @DzikuVx, @OlivierC-FR WDYT? |
I understand your points regarding Quads. And there it is totally fine. The main point is not the way how we move the AHI. The main concern I have is, that you hijacked the osd_camera_uptilt value to align the AHI instead of using the osd_ahi_vertical_offset, that IS actually meant to do exactly what you want. It was just only applied for Pixel OSD and not for classic one. osd_camera_uptilt is used to align HUD elements (Waypoints, Home position, Radar, etc.) with the camera image. Take the osd_ahi_vertical_offset value to adjust the horizon on the classic OSD and all is fine. The Crosshair offset (that is also a reference point for the AHI for obvious reasons) has to stay separated from pixel OSD as we can only shift rows on classic one but pixel precise on Pixel OSD. |
|
Yes. On Quads. But not on planes. It makes absolutely no sense on airplanes to rip off the AHI from the crosshair. It gets useless as you have seen in my video. The Crosshair on the plane is not there to show you the center of the camera but to show you the vector the nose is pointing at. |
Interesting how seemingly simple things can get so complicated afterall :) For now I have 3.0 only on my 5" quad, I fly this one exclusively in acro mode, usually at semi-fast forward speeds, so I didn't notice anything different about the AHI, it's out of view anyway and I don't think that many people are even looking at it on acro quads. I keep the AHI on on quads only in case of emergencies, if lost in a cloud or FPV cam or something like that ? On planes it's a whole different thing, it's quite usefull to align the AHI on the crosshair and then know you're flying level.
With this I agree 100%. Personaly I don't find it weird that the AHI line does not align with the real horizon, be it on quad or planes, but I can understand why others would find it weird... a matter of habit as often. But in the end, my humble opinion is that the AHI should not move because of _uptilt. |
that's the crosshair offset. I see no reason why the crosshair should be so high or low. maybe 3 lines but not more. As said on quads the crosshair makes sense as a reference of cam center. But on planes it is used to see where the plane si pointing at and flying towards. On planes I see absolutely no reason to have the AHI not aligned with the crosshair. That's why I say that this makes no sense on fixed wing at all. If I have a camera tilt, I move the crosshair up and the Horizon has to follow and still align on level flight. |
To me the crosshair should be center of the OSD, always. As it's always been. At some point I added the horizon offset with a narrow range so people could optionally move it by a little, seemed sensible to me since classic OSD is either 13 (NTSC) or 16 (PAL) lines, so with PAL an even number of lines, makes sense to move it a bit depending of taste (And without looking at the code for the pixel, I guess that's the reason for the -18 default. 18 pixels height per line, PAL center is probably on the "lower odd line") I had a look at the DVR from yesterday's flight, 5" quad with 3.0, setting with a +20° uptilt, and indeed the AHI lines up nicely (when the horizon bug is not trolling around) with the real horizon. To be honest I never made use of that during the flight, neither noticed. Conflicted feelings :) |
OK I have changed the title. |
So in the end, the fix is just to apply osd_ahi_vertical_offset also to the AHI of the classic OSD, no ? |
Just make #6616 multirotor only since that's what it's aimed at. This will make osd_camera_uptilt act as it did before for planes with multirotor users free to decide what they prefer. |
IMHO the simplest is :
|
I agree with @breadoven as a Multirotor only change or
this is also an option I would agree on. So everyone can select how it behaves. |
I'll do this tonight or this weekend. Now that we're at it, we should also tackle #7000 since it is related. Depending on how you look at it, either the current or the previous AHI behavior makes sense. |
Good idea. Pawel has no time to do the changes at the moment. |
How about this: You can set whatever pitch interval you want, works for the full range of pitch. When AHI centred pitch numbers get obscured by the crosshair if enabled. Not tried in flight so can't say if it might be useful or just annoying ... I suspect the latter. |
Okay, so the solution we would all agree on boils down to adding a setting that determines whether or not the AHI is affected by |
yes I think that's a consense there. And Pixel OSD has it's own settings with pixel position anyway. That sounds good to me. |
I somehow like that. But I suggest to reduce it to 20° steps instead of 10° as the default horizon max visible pitch is 20° anyway. But is it possible to make the Main horizon line full length and the other lines shorter? Only 2 dashes on each side of the number? maybe we don't even need the numbers at all. Might be too distracting. |
It can be set to any pitch step you want between 0 and 30, 0 disables it 1 degree just turns it into pretty much a fixed AHI in pitch (with scrolling pitch readout) with AHI roll level indication. It is possible to change the number of dashes used as required although it gets a bit messy given how it works. The numbers wouldn't be so bad if they were smaller, half the size would still be readable and could be setup with each number having 2 positions at the top and bottom of the character space to minimise how out of step it gets with the dashed lines. But then that's 20 new characters which again gets messy. Without the numbers you lose reference to what the AHI is telling you although as you suggest, if the 0 degree main line is a different length to the other increments then you have some reference as to where level is. I'm thinking maybe it might be better without the numbers but with up and down arrows instead. Might give that a try, simpler and perhaps just as useful. You've always got the pitch and roll numeric fields anyway if you want to know the actual values. |
sounds great to me. Maybe open a Feature request instead of hijacking this PR :D |
This issue / pull request has been automatically marked as stale because it has not had any activity in 60 days. The resources of the INAV team are limited, and so we are asking for your help. |
Current Behavior
if osd_camera_uptilt is set to a value of != 0 then the AHI will reposition up or down relative to camera tilt. This should not happen as then it will not align with Crosshair and Sidebar level markers anymore when we fly level.
Steps to Reproduce
Expected behavior
The AHI should always align with Crosshair when craft is level.
Suggested solution(s)
make AHI independant from osd_camera_uptilt
Additional context
The text was updated successfully, but these errors were encountered: