- Netduino Forums
- → unospacer's Content
There have been 11 items by unospacer (Search limited from 05-December 18)
@NooM, yeah, that would be an interesting approach; having a separate chip to drive the graphics. You'd also need some ram to do double-buffering. See below.
Now, I tried a different LCD. This one was the eatchLCD 301 (earthlcd.com). To my surprise the exact same results on the screen; slight flickering when animating. So I took a step back and made sure the timing of the commands was right, and then it hit me: I had messed around with DirectX and OpenGL in the past and I remembered I had to enable double-buffering to avoid flickering. The fact is that modern video cards have a double buffer. In order to display anything without flicker, video cards first draw in the 0th buffer and when all the drawing is done in the 1st buffer (the one that contains the pixels being displayed). The entire display is committed at once from the 0th to the 1st buffer. That's why these displays can't do flickerless animation: because they don't have a second buffer. To put this theory to the test, I contacted both manufacturers and they both responded that there is no double-buffering for these devices, which is okay, as they are probably not intended for animation. Can anybody recommend an LCD display that has double-buffering?
NooM, I think that's the idea... the Neduino +2 itself is based on the STM[color=rgb(40,40,40);font-family:helvetica, arial, sans-serif;]32F4... Or do you mean drive the lcd with a separate STM32Fx? -- I hear the toolchain is not a walk in the park...[/color]
I was able to reduce the flicker, but it seems that for 1 second it flickers, and then the next one looks smooth. If I vary the amount of milliseconds it spends in a frame I get different results. 23ms per frame, 42 ms per frame, and 48 ms per frame have given me the best result. If I don't give it a thread.Sleep, it shows up like a "ghost" but it's still flickery... I'm still exchanging emails with the manufacturer and hopefully there is a way to completely eliminate the flicker on this display. I'll keep you guys posted. I do have another 320x240 display I want to try out from EarthLCD. Hopefully this display does not show the same problems.
I'll work on some benchmarks and share. I've been exchanging a few emails with the manufacturer because I was experiencing some flicker and was unable to find a suitable FPS (milliseconds per frame) without flicker. Turns out the 32MHz chip is unable clear the screen without the flicker, so, according to the manufacturer, for animation purposes (see the scene loop code in codeplex) instead of clearing the whole screen in each of the iterations, we'll need to clear only the area that is "invalid". I'll share more shortly. I'm working on the code for the region invalidation logic and I will probably share a video so you see it action.
Guys, just wanted to share the url for my latest project. I wanted to experiment with game loops and LCD displays over a serial interface at high baud rates. I found a very low cost LCD that fits perfectly on top of the Netduino+ 2 so I wrote this little driver with a number of really cool features.
If you are interested, cehck it out:
From the specs, I can see that SD and SC (I2C) ports can also be used as UART. I tried using COM4 but it I get no response from the connected device. I can communicate with the attached device over COM1 so I was wondering if I still need the pull-up 2.2k resistors on the I2C ports to make the COM 4 work properly.