Lib for FTDI FT800 graphic controller "EVE" The API is changed from the FTDI original names. It use smaller names now. DL() will add something to the display list instead of Ft_App_WrCoCmd_Buffer ... The FTDI programmer Guide is also using this commands.

Dependents:   FT800_RGB_demo FT800_RGB_demo2 FT800_demo_for_habr Temp_&_RH_at_TFT-demo ... more

Fork of FT800 by Peter Drescher

The mbed is talking thru the SPI interface with the graphic engine. We have to set up a list of Commands and send them to the FT800 to get graphics.

Hardware

1. VM800C development modules from FTDI : http://www.ftdichip.com/Products/Modules/VM800C.html

The modules come with different size lcd. 3.5", 4.3" or 5" or without. /media/uploads/dreschpe/ftdi_eve.jpg The picture shows a modified board, because my lcd had a different pinout. The mbed is connected to the pin header on the bottom.

2. EVBEVE-FT800 board from GLYN: http://www.glyn.com/News-Events/Newsletter/Newsletter-2013/October-2013/A-quick-start-for-EVE-Requires-no-basic-knowledge-graphics-sound-and-touch-can-all-be-learned-in-minutes

The module has a 40 pin flex cable connector to connect a display out of the EDT series.

/media/uploads/dreschpe/glyn_eve.jpg

The mbed is connected via the pin header on the left. If you use this board with a EDT display you have to uncomment the #define Inv_Backlite in FT_LCD_Type.h, because the backlight dimming is inverted.

3. ConnectEVE board from MikroElektronika http://www.mikroe.com/add-on-boards/display/connecteve/#headers_10 The board has also a pin header to connect the mbed. - not tested, but it looks like the other boards.

4. ADAM arduino shield http://www.4dsystems.com.au/product/4DLCD_FT843/ Component page : http://mbed.org/components/ADAM/

Works with the NUCLEO boards, but you have to patch three wires.

/media/uploads/dreschpe/adam.jpg

Connection

We need 5 signals to connect to the mbed. SCK, MOSI and MISO are connected to a SPI channel. SS is the chip select signal and PD work as powerdown. The additional INT signal is not used at the moment. It is possible to generate a interrupt signal, but at the moment you have to poll the status register of the FT800 to see if a command is finished.

Software

This lib is based on the demo code from FTDI. If you want to use it, you have to read the programming manual : http://www.ftdichip.com/Support/Documents/ProgramGuides/FT800%20Programmers%20Guide.pdf

See my demo : http://mbed.org/users/dreschpe/code/FT800_RGB_demo/

Revision:
2:ab74a9a05970
Parent:
1:bd671a31e765
Child:
3:392d2c733c68
--- a/FT_Gpu_Hal.h	Fri Jan 03 23:08:43 2014 +0000
+++ b/FT_Gpu_Hal.h	Sat Jan 04 13:56:38 2014 +0000
@@ -9,11 +9,12 @@
  * Project: FT800 or EVE compatible silicon
  * File Description:
  *    This file defines the generic APIs of host access layer for the FT800 or EVE compatible silicon.
- *    Application shall access FT800 or EVE resources over these APIs,regardless of I2C or SPI protocol.
- *    I2C and SPI is selected by compiler switch "FT_I2C_MODE"  and "FT_SPI_MODE". In addition, there are
+ *    Application shall access FT800 or EVE resources over these APIs. In addition, there are
  *    some helper functions defined for FT800 coprocessor engine as well as host commands.
  * Rivision History:
+ * ported to mbed by Peter Drescher, DC2PD 2014
  */
+ 
 #ifndef FT_GPU_HAL_H
 #define FT_GPU_HAL_H
 
@@ -231,8 +232,6 @@
     ft_void_t Ft_Gpu_CoCmd_Memcrc(ft_uint32_t ptr, ft_uint32_t num, ft_uint32_t result);
 
     ft_void_t Ft_Gpu_CoCmd_Logo();
-//ft_void_t Ft_Gpu_CoCmd_Calibrate( ft_uint32_t result);
-//ft_void_t Ft_Gpu_CoCmd_Text( ft_int16_t x, ft_int16_t y, ft_int16_t font, ft_uint16_t options, const ft_char8_t* s);
 
     ft_void_t Ft_Gpu_Copro_SendCmd( ft_uint32_t cmd);
     ft_void_t Ft_Gpu_CoCmd_SendStr( const ft_char8_t *s);