ILI9481B 3.5" 320 x 480 TFT LCD Display Spin Driver

mikeologistmikeologist Posts: 69
edited November 21 in Propeller 1 Vote Up0Vote Down
I was looking to set up a freelance project for the development of a driver for the ILI9481B 3.5" 320 x 480 TFT LCD Display.

I have a pro I'm talking to for an asm version, but I'm preparing my own in spin as a self teaching exercise.

I will post the work on my spin version below.

Perhaps with some guidance I can put together something neat to share on obex
Any com port in a storm

Comments

  • 9 Comments sorted by Date Added Votes
  • Just took a look at your free-lancer project.

    You mention PICs and Arduinos and whatever, but no mention of the Propeller and Parallax, to me this sounds quite confusing.

    What exactly are you asking for?

    Mike

    I am just another Code Monkey.
    A determined coder can write COBOL programs in any language. -- Author unknown.
    Press any key to continue, any other key to quit

    The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this post are to be interpreted as described in RFC 2119.
  • Yea, I tried that service that they have with a "recruiter" was not pleased with the result. Sorry about that.
    I'll post a better request and redo the project description, but basically I need a driver for this display that runs 8-bit parallel directly from the propeller. All the posts that I've found are for smaller displays, displays with touch, or are written in conjunction with a serial ram driver.
    Any com port in a storm
  • I did a driver for that display, alas in verilog :), it is not difficult, you only have to have the right delays after the reset pulse, if not the display controller ignores your commands :).
  • Ale wrote: »
    I did a driver for that display, alas in verilog :), it is not difficult, you only have to have the right delays after the reset pulse, if not the display controller ignores your commands :).

    I'm trying to make one in spin myself. I'm also talking to a pro about making one in asm.

    I'm going to post my work here tomorrow after I put in a few more hours. Perhaps you'd be kind enough to provide some feedback. I read the entire datasheet and translated all the commands and notes in an effort to understand them better.
    My startup sequence is fubar, but I think my functions are starting to look good.
    Any com port in a storm
  • There is a ILI9341 SPI Driver listed in the OBEX site but I am not sure what the differences are between the two products.

    obex.parallax.com/object/723

  • JonM wrote: »
    There is a ILI9341 SPI Driver listed in the OBEX site but I am not sure what the differences are between the two products.

    obex.parallax.com/object/723

    I sure appreciate that. I've looked through this before. The problem I have is that it's SPI and I need parallel. It also has ram and touch mixed in.
    Thank you for linking it though.

    I've attached my beginning of an attempt for a parallel interface in spin.
    It needs a lot of work but I hope it demonstrates that I'm willing to read and work and that it's worth helping out with so everyone can have it.
    Any com port in a storm
  • RaymanRayman Posts: 8,361
    edited November 21 Vote Up1Vote Down
    There have been a few examples of this kind of interface posted to the forum before...
    I've done a couple...

    I did a lot with one, think chip was ILI9325.
    Think I did an 8-bit bus with 16-bit color for the drivers on this page:
    http://www.rayslogic.com/propeller/Products/PSM/Files.htm
    PSM Text Demo might be something to look at

    There's code for a similar, but tiny LCD here:
    http://www.rayslogic.com/propeller/Products/PKS/PKS.htm

    Maybe you can adapt one of these?




    Prop Info and Apps: http://www.rayslogic.com/
  • Rayman wrote: »
    There have been a few examples of this kind of interface posted to the forum before...
    I've done a couple...

    I did a lot with one, think chip was ILI9325.
    Think I did an 8-bit bus with 16-bit color for the drivers on this page:
    http://www.rayslogic.com/propeller/Products/PSM/Files.htm
    PSM Text Demo might be something to look at

    There's code for a similar, but tiny LCD here:
    http://www.rayslogic.com/propeller/Products/PKS/PKS.htm
    updooted

    Thank you very much, Rayman.
    I will spend the next few days breaking down this logic.
    I will post my updates back here.

    Any com port in a storm
  • Rayman wrote: »
    I did a lot with one, think chip was ILI9325.
    Think I did an 8-bit bus with 16-bit color for the drivers on this page:
    http://www.rayslogic.com/propeller/Products/PSM/Files.htm
    PSM Text Demo might be something to look at

    I extracted this from your PSM_TV_Text and over-commented it to try to understand it.
    Did I get it right?
    What about the three middle lines?

    DAT WriteCmdSub
    ' "or" a mask to turn specific pins and leave the other values unchanged
    or outa, CS_mask1 ' raise chip select to begin communication series
    or outa, DC_mask1 ' raise data / command *must also be high to begin write sequence
    or outa, WR_mask1 ' raise write *must also be high to begin write sequence
    or outa, RD_mask1 ' raise read *must also be high to begin write sequence
    and outa, DC_mask0 ' lower dc to signify a command
    and outa, CS_mask0 ' lower chip select to begin write

    and outa, bytemask0
    and outa, WR_mask0
    or outa, WR_mask1

    rev CommandData,#0 ' something with lower half of command
    shr CommandData,#16 ' something with upper half of command
    and CommandData, bytemask1 ' tack on cammand pin status
    or outa, CommandData ' load cammand onto bus, leave cammand pins as is
    and outa, WR_mask0 ' lower write, preparing display to read
    or outa, WR_mask1 ' raise write, causing display to read on rising edge
    or outa, DC_mask1 ' raise data / command
    or outa, CS_mask1 ' raise chip select to end communication series
    WriteCmdSub_Ret
    RET ' return to previous function
    Any com port in a storm
Sign In or Register to comment.