FTDI FT800 Video Engine - Page 1
Forum section: electronics / projects

author: jonmarx
author_rank: Contributor
timestamp: January 05, 2014, 01:50:53 pm
content: Has anyone here tried out the newFT800 Embedded Video Engine IC? Rather than use a frame buffer it appears to be sprite based, rendering each display line on-the-fly and supporting up to 2,000 objects (bitmaps or lines) which can be independently positioned, rotated etc. It also has a sound generator and touchscreen controller.Costing around $5 it almost looks too good to be true. I might buy a development board just to play with.

author: snoopy
author_rank: Frequent Contributor
timestamp: June 27, 2014, 07:06:18 am
content: Just found out about this chip recently. Looks promising until you start digging below the surface. I thought I could throw away my 3.2 inch SSD1289 board and use one of these boards but every example I have seen has looked like spaghetti code. It certainly doesn't look easy to program like the makers allude tooAnyway I think these replys on another forum sums it up unless I am missing something.cheershttp://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&p=1107434QuoteQuote

author: ecat
author_rank: Frequent Contributor
timestamp: June 27, 2014, 11:05:37 am
content: An interesting little beast. Compromises must be made but what do you expect for $5? If your application fits within its feature set you could certainly give it a try.I've just had a quick read through the documentation so the following should be taken with an appropriate quantity of salt:It's a Display List processor. Everything you wish to see on the screen at any given time must fit within the limits of the active display list, though there appears to be way to switch display lists mid frame so who knows whattrouble you could get yourself intotricks may be possible?It is not possible to modify individual entries within a list once it has been sent to the FT800 so the comment about having to rebuild the entire list if something changes appears valid. However, text, numbers and widgets can be drawn from the separate Command List, so draw the static background with the display list and use the command list for dynamic data?The big saving this device offers is relieving the cpu of the time consuming frame buffer/pixel calculations.For example, to draw a line using the cpu you may do something like this:Code:function line(x0, y0, x1, y1)dx := abs(x1-x0)dy := abs(y1-y0)if x0 < x1 then sx := 1 else sx := -1if y0 < y1 then sy := 1 else sy := -1err := dx-dyloopplot(x0,y0)if x0 = x1 and y0 = y1 exit loope2 := 2*errif e2 > -dy thenerr := err - dyx0 := x0 + sxend ifif e2 < dx thenerr := err + dxy0 := y0 + syend ifend loopSource from WikiPedia Bresenham's line algorithmWith the FT800 you just useQuoteLikewise a circle goes from something likeCode:public static void DrawCircle(int x0, int y0, int radius){int x = radius, y = 0;int radiusError = 1-x;while(x >= y){DrawPixel(x + x0, y + y0);DrawPixel(y + x0, x + y0);DrawPixel(-x + x0, y + y0);DrawPixel(-y + x0, x + y0);DrawPixel(-x + x0, -y + y0);DrawPixel(-y + x0, -x + y0);DrawPixel(x + x0, -y + y0);DrawPixel(y + x0, -x + y0);y++;if (radiusError<0){radiusError += 2 * y + 1;} else {x--;radiusError+= 2 * (y - x + 1);}}}Source from WikiPedia Midpoint circle algorithmtoQuoteYou do have the overhead of performing the SPI transfer to consider but having the FT800 do all the graphical donkey work should more that make up for that. There are also throughput limits on the display list commands to watch out for.I suppose real masochists could save several bitmaps in the FT800's 256kB of graphics ram and manipulate these directly cutting the display list down to a simple sequence of DISPLAY_BITMAP commands.

author: jonmarx
author_rank: Contributor
timestamp: June 27, 2014, 01:16:32 pm
content: I bought one of the development kits and had a play, but I was a bit disappointed. As others have said the quality of the documentation is a big hindrance.I was impressed by its ability to rotate bitmaps in steps of a fraction of a degree. Theoretically this thing could have over 1,000 bitmap sprites on display, all overlapping and being transformed and rotated by different amounts, and it's doing all the maths row-by-row on-the-fly. There must be some significant processing power in there.Some idea of its capabilities can be gleaned from its use in the Gamedunio 2 game system -https://www.kickstarter.com/projects/2084212109/gameduino-2-this-time-its-personal

author: ecat
author_rank: Frequent Contributor
timestamp: June 27, 2014, 02:49:01 pm
content: I didn't look at the date of the OP, my apologies for the necro.Glad you had some fun playing with it.Documentation isn't always a product killer, if this little beast can save $50 on the build cost of a device it can quite quickly cover the cost of a couple of weeks engineer time. The people I'm thinking of currently use a WindowsCE module dedicated to nothing more than screen and touch handling and it's so slow that it looks messy at times.