Skip to content
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

Remove legacy hdzero special case #10540

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

mmosca
Copy link
Collaborator

@mmosca mmosca commented Dec 15, 2024

Remove HDZero special case to change osd resolution

@mmosca
Copy link
Collaborator Author

mmosca commented Dec 18, 2024

There is a chance this can cause a regression on HDZero osd.

This was added in the past because it sped up the osd update for hdzero if the user kept to the 4:3 aread of the screen.

I believe this is no longer an issue recent hdzero firmware when paired with INAV 6+.

A better solution for this may be to add a dedicated option for SD osd in hdzero, while removing this auto detection or eventually suppoting auto negotiation of canvas size, like betaflight.

@aviphysics
Copy link

aviphysics commented Dec 18, 2024

Please remove this pull request. The low res OSD is pretty important for people that want fast OSD refresh rate.

This will negatively affect a lot of users based on my recollection of AHI refresh rate complaints before this was released.

@geoffsim I think knows the code implementation the best.

@mmosca
Copy link
Collaborator Author

mmosca commented Dec 20, 2024

Please remove this pull request. The low res OSD is pretty important for people that want fast OSD refresh rate.

This will negatively affect a lot of users based on my recollection of AHI refresh rate complaints before this was released.

@geoffsim I think knows the code implementation the best.

It is not decided yet if this is making it into 8.0. Probably not. But I will look into removing the special case and maybe adding an explicit small osd canvas option to hdzero in 8.1. If we go around by the rumors, we are likely going to need new options for DJI O4 as well.

@geoffsim
Copy link
Contributor

The OSD code has changed quite a bit since I originally submitted the first release, so please don’t consider me an expert in this area any more.
The original slow refresh rate was never a INav issue, but was due to a bottleneck in the VTX/VRX comms. The comms channel that transmits the OSD from the VTX to the VRX has a finite bandwidth and can only transmit about four full 80*50 frames per second. This was partially alleviated in the VTX code by detecting if an OSD frame was wholly within a smaller frame of the HD canvas and then only sending that smaller frame to the VRX, resulting in a faster refresh rate of about eight frames per second.
As the VTX code has evolved since the original implementation of the OSD it may be that this “fudge” is no longer required.
If requested, I can review both sides of the OSD implementation to determine the consequences of this PR, and to determine if any improvements could be made to better support the iNav OSD. For example, support of the canvas size MSP message.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants