Lib for FTDI FT800 Graphic Controller EVE Support up to 512 x 512 pixel resolution. Resistive touch sense Mono audio output SPI Interface
Dependents: FT800_touch_track FT800_JPG
Library for the FT800 Display,Audio and Touch Controller from FTDI. The Code is based on the sample code from FTDI.
FT800 is a graphics chip with added features such as audio playback and touch capabilities. FT800 graphics consist of a rich set of graphics objects (primitive and widgets) that can be used for displaying various menus and screen shots.
http://www.ftdichip.com/Products/ICs/FT800.html
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. 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.
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.
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_touch_track/
or the demo code from FTDI : http://www.ftdichip.com/Support/SoftwareExamples/EVE/FT800_SampleApp_1.0.zip
Diff: FT_Gpu_Hal.h
- Revision:
- 2:ab74a9a05970
- Parent:
- 1:bd671a31e765
--- 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);