Shop OBEX P1 Docs P2 Docs Learn Events
Graphics Demo on LCD Module :) — Parallax Forums

Graphics Demo on LCD Module :)

RaymanRayman Posts: 14,600
edited 2009-02-16 00:33 in Propeller 1
Check it out!· I just got the Graphics Demo to run on my little Prop Powered LCD module:

(It's more work than you might think!)


Here's a link to a video of the board running the Graphics Demo:
http://www.rayslogic.com/propeller/Products/PropTft1/GDemo1.wmv

It's a hair slower than on TV because the bitmap is bigger, 20x15 tiles instead of just 16x12...

Post Edited (Rayman) : 2/14/2009 6:46:43 PM GMT
712 x 489 - 115K

Comments

  • jazzedjazzed Posts: 11,803
    edited 2009-02-13 01:59
    Very cool Rayman. Is that a $1 SFE LCD?

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    --Steve
  • RaymanRayman Posts: 14,600
    edited 2009-02-13 02:24
    I wish! I'm still sorry I didn't buy a bunch of those while they were in stock...

    This one is also a QVGA display, but a hair bigger...
  • BaggersBaggers Posts: 3,019
    edited 2009-02-13 09:47
    Rayman, when are you going to divulge on retailer? [noparse]:D[/noparse] we're all itching to get one, well I am anyway lol

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    http://www.propgfx.co.uk/forum/·home of the PropGFX Lite

    ·
  • RaymanRayman Posts: 14,600
    edited 2009-02-13 14:33
    While right now, I'm mostly doing this to test my ability to solder various surface mount components, I have the dream of one day selling an advanced version of this thing as a product... So, I'm not sure I should say where I get the components. I've already given out the part number, so with some internet searching, I think anyone can find a supplier...

    Besides, I'm not even sure I'll end up using this particular one.· This is just one I could lay my hands on in low quantity.· But, there are many suppliers of TFT displays that are nearly identical.
  • RaymanRayman Posts: 14,600
    edited 2009-02-14 00:43
    Just one more thing:

    One huge advantage in doing a display this way (I mean directly to an LCD instead of to TV or VGA) is that the GRAM of the LCD driver takes the place of the graphics buffer.

    For example, this Graphics Demo needs two bitmap buffers, each taking up 12 kB. So, you're only left with 8 kB for your program, which as many people have discovered, just isn't enough to do much...

    But, with this Prop-powered LCD module, you only need one 12 kB buffer to do the same thing. This gives you 20 kB for you program, which is a vast improvement.
  • mparkmpark Posts: 1,305
    edited 2009-02-14 01:18
    So you're drawing on the Prop in a 12k bitmap and then copying that bitmap to the LCD?
    12k is for 256x192 though, and your LCD is 320x240, no?
  • RaymanRayman Posts: 14,600
    edited 2009-02-14 02:32
    True... I did expand "Graphics Demo" from 16x12 to 20x15 tiles... So, the buffer does take a bit more memory...

    19k instead of 12k...
  • BaggersBaggers Posts: 3,019
    edited 2009-02-14 10:55
    but takes less memory cos it's stored once then copied over to lcd.
    ps. Rayman how long does it take to send the display?

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    http://www.propgfx.co.uk/forum/·home of the PropGFX Lite

    ·
  • RaymanRayman Posts: 14,600
    edited 2009-02-14 11:25
    Right now, it only gets a few fps, so it's noticably slower than the TV version.· But, the loops are very non-optimized...· I hope to have time today to tidy that up and hope to get it up to the 10s·or 20s fps.
  • BaggersBaggers Posts: 3,019
    edited 2009-02-14 14:26
    cool [noparse]:)[/noparse] look forward to a posted vid if any

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    http://www.propgfx.co.uk/forum/·home of the PropGFX Lite

    ·
  • RaymanRayman Posts: 14,600
    edited 2009-02-14 14:41
    I've just found that the update rate is limited by the increase in tile area from 16x12 to 20x15... I.e., it's not the LCD cog limiting the rate, but the Graphics cog. So, if I want it to run as fast as it does on TV, I'd have to reduce the tile area. But, I don't want to do that, so I'll just have to settle for it being a bit slower...

    I hope to post a video today...
  • RaymanRayman Posts: 14,600
    edited 2009-02-14 18:44
    I've updated the first post with a link to the video!
  • BaggersBaggers Posts: 3,019
    edited 2009-02-14 18:50
    Cool Vid Rayman [noparse]:D[/noparse] looks nice n crisp.
    Any idea when you'll have the kit ready? I'll have one.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    http://www.propgfx.co.uk/forum/·home of the PropGFX Lite

    ·
  • RaymanRayman Posts: 14,600
    edited 2009-02-15 17:55
    Just reduced the Graphics Demo tile area to the original 16x12 tiles and now it runs faster.· But, still not as fast as the original TV version.· But, there's still some improvement possible in the LCD driver.· Still, considering this is only single-buffered in Prop HUB RAM, with LCD's GRAM acting as the second buffer, I think it's pretty good.· This allows one to show fairly high resolution graphics and still have plenty of free memory for actual program code...

    I've put a new video of this windowed mode here:
    http://www.rayslogic.com/propeller/Products/Products.htm
    ·
  • heaterheater Posts: 3,370
    edited 2009-02-15 18:10
    So can I get an 80 column text display on this?

    I feel a CP/M note book coming on!

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
  • RaymanRayman Posts: 14,600
    edited 2009-02-15 18:41
    It's only 320 pixels wide... Such a font would only be 4 pixels wide, including a space. I don't think that's possible because characters like "M" needs 5 pixels wide for the character plus 1 for the space... So, I think 53 would be the maximum.

    However, it's always possible to implement scrolling to allow for more columns...
  • Timothy D. SwieterTimothy D. Swieter Posts: 1,613
    edited 2009-02-15 23:44
    Rayman - tell me more about the Software layout. You have the graphics driver (1 cog) and an LCD driver (1 cog) and a main loop (1 cog). Anything else?

    When you the main loop "kicks" the LCD driver to update the LCD the main loop has to pause there and wait for the LCD to be updated before it clear the ram and draws the next frame, right?

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Timothy D. Swieter, E.I.
    www.brilldea.com - Prop Blade, LED Painter, RGB LEDs, uOLED-IOC, eProto for SunSPOT, BitScope
    www.tdswieter.com
  • RaymanRayman Posts: 14,600
    edited 2009-02-16 00:33
    Tim,

    You're right about the cogs.

    The second question is a bit more complicated... I didn't want to wait before erasing the old bitmap. The LCD is updated by columns, and the graphics clear command clears by rows, so there was a confict... So, the LCD driver updates the LCD and clears the old bitmap at the same time. the gr.clear command is just commented out...
Sign In or Register to comment.