Tearing of display when scroling

The Dot Matrix Display (DMD) is a 32x16 array of high-brightness LEDs for visually striking effects. [Product Page]
Post Reply
Brissieboy
Posts:209
Joined:Fri Sep 20, 2013 7:25 am
Tearing of display when scroling

Post by Brissieboy » Sat Jan 18, 2014 11:03 am

When scrolling (using dmd.drawMarquee()) the display has significant visible tearing. This is a result of the design of the DMD and the manner in which it is updated. The tearing effect is greatly reduced by increasing the rate at which the DMD is updated (or decreasing the time between interrupt calls) by adjusting the value set in the timer initialisation within the setup()
portion of the sketch. Using:
Timer1.initialize( 1000 );
gives a stable display. Note that the interrupt routine takes about 84 uSec plus 44 uSec for each extra DMD if using the high speed SPI clock as set by:
SPI.setClockDivider(SPI_CLOCK_DIV2);
in DMD.cpp.
This will reduce the amount of time that your sketch has to do your processing, so you need to be careful. It still uses less than 10% (for 1 DMD) of the available time.

This is the only way that I have found to reduce this effect. Has anybody else been able to achieve a clean scrolling display?

andrew
Freetronics Staff
Freetronics Staff
Posts:978
Joined:Sun Jul 14, 2013 7:06 am
Location:Melbourne, Australia
Contact:

Re: Tearing of display when scroling

Post by andrew » Thu Jan 30, 2014 7:06 am

Can you post a video of this effect?

In the meanwhile, the following is a quick demo of text scrolling with the standard DMD library and no modifications to anything:
http://www.youtube.com/watch?v=SP-rhENr-Ig

Post Reply