Go Down

Topic: Large Font for 16x2 Displays (Read 1 time) previous topic - next topic

Grumpy_Mike

As Mark says the problem is with the display technology not the code. If your code were able to make it scroll faster then the display problem would be worse.

r4z0r7o3

Yeah, I couldn't access any code either.  I also wanted sub-character scrolling, not just one at a time, but one column at a time.  Besides, I needed the programming practice anyway and am comfortable with github.

The other thing I wanted, was to be able to just pass an ASCII string into a function and let it do it's thing.  See scrollString() near the end of BigWords.h at https://github.com/cevich/sketchbook/tree/BigWords/BigWords

I took a quick video of what this looks like @ 500ms update (per screenful):
http://youtu.be/hjdMBifxWDk

Though I noticed something interesting, if I set it less than 500ms, it looks the same!  So there's certainly some gross inefficiencies here.  I suspect it has to do with rendering directly onto the screen one character at a time :(

r4z0r7o3


As Mark says the problem is with the display technology not the code. If your code were able to make it scroll faster then the display problem would be worse.


Out of curiosity, would a VFD or OLED display not show this artefact so much?

r4z0r7o3

#8
Nov 20, 2012, 01:45 pm Last Edit: Nov 20, 2012, 01:47 pm by r4z0r7o3 Reason: 1
Thinking about it, yeah, I agree.  If I make the code faster, it'll probably just look worse.  Though for my own edification, what would be the best optimization strategy here?  

Could [font=Fixed]putLCDChar()[/font] render into an off-screen buffer during "wait" cycles.  Then print the entire buffer when my interval elapses in [font=Fixed]scrollString()[/font]?

The only other strategy I know of is "the long way", instrument each function to track and print an average execution speed.  Then rework each function starting with the slowest one.  I'm a Linux guy, where [font=Fixed]strace[/font] and [font=Fixed]ltrace[/font] will do function-timing for you.  

Are there any handy debugging libraries or similar tools for Arduino which can do this?

Grumpy_Mike

Quote
would a VFD or OLED display not show this artefact so much?

Correct they would not show this because they have a much faster switch time.

Go Up