Dvogonen / cyclop_plus_plus

Firmware upgrade for Quanum Cyclops FPV googles that adds support for manual channel selection, textual information on main screen and battery level alarm.
MIT License
20 stars 5 forks source link

Add display offset #11

Closed Memphiz closed 7 years ago

Memphiz commented 7 years ago

This adds an option for setting disply x and y offsets. I have the problem that in the graphic scanner the lowest line is invisible (i don't see the x scale). When recording with the dvr i can see maybe 1/4 of the top of those characters in the scale line. I have no idea if those offsets work in the correct direction but saw the function in the OSD driver.

This is untested and based on the PR #10 (which would need to be merged first before this one can be merged).

I plan to test all those 3 PRs and report back or update them accordingly.

Dvogonen commented 7 years ago

I am afraid that this change can not be merged. The user interface is a compromise between the low resolution NTSC display and the higher resolution PAL display. I have tailored each screen so that it works reasonably well on both video standards, but they do not look the same. Both the LCD driver and the image generation circuit shift things around. In NTSC some of the lower pixel lines are cut and the same goes for some of the rightmost pixel columns. In most cases this does not matter since I took care not to place information in these positions. The graphical scanner is however an exception. In order to divide the signal strength in a sensible number of character rows, I really needed to use the every available character line. In NTSC this means that the lowest character line ends up almost outside of the screen, while it looks good in PAL. This line only contains static information, so I did not see that as a big problem. The screen automatically toggles between PAL and NTSC without the user selecting either standard. This is a feature and not a bug. Having to select correct video standard for signals you do not know the origin of is hopeless. If the user was given the option to adjust the screen as you propose, the inevitable result would be that information on the top of the screen and to the left would get cut out when the googles are used in real world situations, with others using the opposite video standard.

Memphiz commented 7 years ago

Ok - no Biggy - I might have a different problem then because I thought this whole thing is PAL ... seems I was wrong - is there a way to force PAL somehow? Or is this a limitation of the screen?

Dvogonen commented 7 years ago

The video format is set by the transmitter. The hardware in the googles can not transform from PAL to NTSC or vice versa. This is why I use one of the functions in the max7456 library to detect the input video format and automatically set the output video format so that they match. This is done completely within the MinimOSD application. Search for the function updateVideoFormat and you will find the code. The character generation code in the receiver cpu has no clue to what format is used, so the screens have to work in either case.

I do not want a configuration option to lock video format, so if you want to limit the format to PAL, you should fork CYCLOP++.