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

Adding vsync support #132

Open
GoogleCodeExporter opened this issue Jun 25, 2015 · 1 comment
Open

Adding vsync support #132

GoogleCodeExporter opened this issue Jun 25, 2015 · 1 comment

Comments

@GoogleCodeExporter
Copy link

What steps will reproduce the problem?
1.normal use


What is the expected output? What do you see instead?
The OSD shows short horizontal errors (random flickering). The lines with these 
errors move slowly in vertical direction. 

Please provide any additional information below.
The datashet of MAX7456 says:
"Momentary breakup of the OSD image can be prevented by writing to the display 
memory during the vertical blanking interval. This can be achieved by using 
VSYNC as an interrupt to the host processor to initiate writing to the display 
memory." (page 11)
"The display of a character may momentarily appear to
break up if an internal display-memory read request
occurs simultaneously with an SPI display-memory
operation." (page 40)

Exactly this is the reason for the errors. 
The problem is, that spi sending needs about 5 to 8ms and does not fit into the 
vsync intervall.

There are several ways to soften the problem.
-Wait for vsync bevor sending spi data. e.g. by adding the following line bevor 
calling writePanels():
while(digitalRead(MAX7456_VSYNC);
--> the lines with errors do not move arround
-The ideal solution would be to shorten the sendig intervall by buffering the 
complete data bevor sending over spi. The sending intervall could be reduced by 
factor 10 or more
-Additional the data can be splitted and sended at 2 or 3 vsync intervalls

The first solution makes the flickering acceptable, especially if the osd is 
configured, that no data is displayed in the upper 10 to 20% of the screen. 
Then no flicker occurs.

Original issue reported on code.google.com by [email protected] on 6 Jun 2015 at 10:40

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

No branches or pull requests

1 participant