2 Replies Latest reply on Sep 2, 2015 9:46 AM by PK3

    VGA Display Over SPI

    PK3

      I got SPI working on the Edison at 25 MHz thanks to some SPI work by forum members smaguire and jkramarz and, of course... I hooked up a display to the previously headless Edison.

       

      I used a video card I've been building for a contest, but I don't see any reason why you couldn't do something similar with FBTFT.  Here's my complete writeup on Hackaday's project hosting site, but basically you want to:

       

      • Acquire hardware (FBTFT screen or similar)
      • Rebuild the kernel with framebuffer support
        • I suggest you add the framebuffer console too - it's easy proof it worked
      • Pinmux (get CS pin/SPI ready - you could build it into the driver too, but this is easy)
      • (Compile and) Load driver
      • Do graphics things (I did SDL, Nano-X, DosBox all successfully)
      • GPM if you need a mouse

       

      A demo of Quake at 40.4 FPS (and other things):

       

      Stats:

      25 MHz SPI, 10.1 FPS at 640x480 in 8 bit color, 40.4 FPS in Quake (320x240 in 8 bit color)

       

      Please let me know if you get something working or if the linked write-up doesn't work for you!

        • 1. Re: VGA Display Over SPI
          jkramarz

          Hi PK3,

          I'm wondering about BSP version you've used. The release from July 2015 actually has most (and even more) of the SPI fixes merged. Furthermore, on edison-linux git there's also fix for lag between SPI packets. Why do you recommend the February release?
          Yes, I'm still trying to get my display work sufficiently fast - I've 4 FPS on ili9341 via fbtft...

          • 2. Re: VGA Display Over SPI
            PK3

            jkramarz I actually had the old BSP installed a while back and neglected to update it for this part of my project, I don't know offhand if there are any barriers preventing the newer version from working (probably not).  I might revisit it when I'm done with my video card project.  I actually didn't throw a scope on it after I had it working, just left it alone to get the demos running - Quake, in particular, looks better than on some other boards.

             

            I looked at the ILI9341 Specs - looks like 320x240 at 16 bit color is one of the modes, so you should probably see closer to 20 FPS once you have it working.  Please let me know if I can help you with my steps or if they are unclear; I tried to write up as much as I can in that link, but some of it was from memory.