Netduino home hardware projects downloads community

Jump to content


The Netduino forums have been replaced by new forums at community.wildernesslabs.co. This site has been preserved for archival purposes only and the ability to make new accounts or posts has been turned off.
Photo

Touch, 320x240 LCD Driver for Netduino+ 2

display lcd serial drivers

  • Please log in to reply
8 replies to this topic

#1 unospacer

unospacer

    Member

  • Members
  • PipPip
  • 11 posts
  • LocationGDL, MX

Posted 23 February 2013 - 09:02 PM

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:

http://vizicsmartgpu.codeplex.com/



#2 Mario Vernari

Mario Vernari

    Advanced Member

  • Members
  • PipPipPip
  • 1768 posts
  • LocationVenezia, Italia

Posted 24 February 2013 - 04:22 AM

That's really interesting, but did you have any performance result yet?

Cheers


Biggest fault of Netduino? It runs by electricity.

#3 NeonMika / Markus VV.

NeonMika / Markus VV.

    Advanced Member

  • Members
  • PipPipPip
  • 209 posts
  • LocationUpper Austria

Posted 24 February 2013 - 07:58 AM

I would also be interested in the performance.

Really cool!


NeonMika.Webserver
> Control your N+ and write webservice methods easyily
> Receive data from you N+ (in XML or JSON)
> Browse the SD on your N+ directly in the browser and d
own - and upload files

 

If you need help with NeonMika.Webserver, please just leave a note in the thread and/or contact me via Skype :)

 

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
--- Mistakes teach you important lessons. Every time you make one, you are one step closer to your goal. ----
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------


#4 unospacer

unospacer

    Member

  • Members
  • PipPip
  • 11 posts
  • LocationGDL, MX

Posted 25 February 2013 - 12:06 AM

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.



#5 unospacer

unospacer

    Member

  • Members
  • PipPip
  • 11 posts
  • LocationGDL, MX

Posted 27 February 2013 - 06:56 PM

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.



#6 NooM

NooM

    Advanced Member

  • Members
  • PipPipPip
  • 490 posts
  • LocationAustria

Posted 27 February 2013 - 07:58 PM

id get an stm32fx with lcd from ebay (iam sure you can contact the manufacture) - than

you can "relativly easy" wite you own drivers there - and its so cheap, it would be cheaper than yours actually (they are like 20-40)

 

that also gives the option to add your own commands and whatever you want



#7 unospacer

unospacer

    Member

  • Members
  • PipPip
  • 11 posts
  • LocationGDL, MX

Posted 28 February 2013 - 02:04 AM

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]



#8 NooM

NooM

    Advanced Member

  • Members
  • PipPipPip
  • 490 posts
  • LocationAustria

Posted 28 February 2013 - 10:46 AM

yeah use a seperate chip as "graphic card" (native, not netmf)

the toolchain, yeah. i got coocox setup, and the serial communication ready, but

thats all ni could do (without much reading) - but a professional should be

able todo way more. arm offers a library collection called cmsis wich helps

accessing all the stuff like serial, spi..

 

but let me explain my post: their display/board (that vizic) looks very much like the ebay ones, and its NOT very lowcost.

i also think it works the way i descibed it, someone wrote a driver for it wich

you control per uart - like you send a simple command: draw reachtange at position x,y with size w,h (thats around 9 bytes)



#9 unospacer

unospacer

    Member

  • Members
  • PipPip
  • 11 posts
  • LocationGDL, MX

Posted 06 March 2013 - 10:26 PM

@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?







Also tagged with one or more of these keywords: display, lcd, serial, drivers

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

home    hardware    projects    downloads    community    where to buy    contact Copyright © 2016 Wilderness Labs Inc.  |  Legal   |   CC BY-SA
This webpage is licensed under a Creative Commons Attribution-ShareAlike License.