updated for FT810 and 800x480 display

Dependents:   FT810_RGB_demo FT81x_TripComp_test FT810_LoadJPG

Fork of FT800_2 by Peter Drescher

Committer:
davidchilds
Date:
Wed Feb 24 14:04:34 2016 +0000
Revision:
7:a69ac4d39afd
Parent:
6:16e22c789f7d
The updated library for FT810 with 800x480 display; Thanks to FTDI and Peter Drescher for getting this far

Who changed what in which revision?

UserRevisionLine numberNew contents of line
dreschpe 0:5e013296b353 1 /*!
dreschpe 0:5e013296b353 2 * \file FT_GPU_HAL.h
dreschpe 0:5e013296b353 3 *
dreschpe 0:5e013296b353 4 * \author FTDI
dreschpe 0:5e013296b353 5 * \date 2013.04.24
dreschpe 0:5e013296b353 6 *
dreschpe 0:5e013296b353 7 * Copyright 2013 Future Technology Devices International Limited
dreschpe 0:5e013296b353 8 *
dreschpe 0:5e013296b353 9 * Project: FT800 or EVE compatible silicon
dreschpe 0:5e013296b353 10 * File Description:
dreschpe 0:5e013296b353 11 * This file defines the generic APIs of host access layer for the FT800 or EVE compatible silicon.
dreschpe 2:ab74a9a05970 12 * Application shall access FT800 or EVE resources over these APIs. In addition, there are
dreschpe 0:5e013296b353 13 * some helper functions defined for FT800 coprocessor engine as well as host commands.
dreschpe 0:5e013296b353 14 * Rivision History:
dreschpe 2:ab74a9a05970 15 * ported to mbed by Peter Drescher, DC2PD 2014
dreschpe 3:392d2c733c68 16 *
dreschpe 0:5e013296b353 17 */
davidchilds 7:a69ac4d39afd 18
dreschpe 0:5e013296b353 19 #ifndef FT_GPU_HAL_H
dreschpe 0:5e013296b353 20 #define FT_GPU_HAL_H
davidchilds 7:a69ac4d39afd 21
dreschpe 0:5e013296b353 22 #include "mbed.h"
dreschpe 0:5e013296b353 23 #include "FT_DataTypes.h"
davidchilds 7:a69ac4d39afd 24
dreschpe 0:5e013296b353 25 typedef enum {
dreschpe 0:5e013296b353 26 FT_GPU_I2C_MODE = 0,
dreschpe 0:5e013296b353 27 FT_GPU_SPI_MODE,
davidchilds 7:a69ac4d39afd 28
dreschpe 0:5e013296b353 29 FT_GPU_MODE_COUNT,
dreschpe 0:5e013296b353 30 FT_GPU_MODE_UNKNOWN = FT_GPU_MODE_COUNT
dreschpe 0:5e013296b353 31 } FT_GPU_HAL_MODE_E;
davidchilds 7:a69ac4d39afd 32
dreschpe 0:5e013296b353 33 typedef enum {
dreschpe 3:392d2c733c68 34 OPENED,
dreschpe 3:392d2c733c68 35 READING,
dreschpe 3:392d2c733c68 36 WRITING,
dreschpe 3:392d2c733c68 37 CLOSED,
dreschpe 3:392d2c733c68 38 STATUS_COUNT,
dreschpe 3:392d2c733c68 39 STATUS_ERROR = STATUS_COUNT
dreschpe 0:5e013296b353 40 } FT_GPU_HAL_STATUS_E;
davidchilds 7:a69ac4d39afd 41
dreschpe 0:5e013296b353 42 typedef struct {
dreschpe 0:5e013296b353 43 ft_uint8_t reserved;
dreschpe 0:5e013296b353 44 } Ft_Gpu_App_Context_t;
davidchilds 7:a69ac4d39afd 45
dreschpe 0:5e013296b353 46 typedef struct {
dreschpe 0:5e013296b353 47 /* Total number channels for libmpsse */
dreschpe 0:5e013296b353 48 ft_uint32_t TotalChannelNum;
dreschpe 0:5e013296b353 49 } Ft_Gpu_HalInit_t;
davidchilds 7:a69ac4d39afd 50
dreschpe 0:5e013296b353 51 typedef enum {
dreschpe 0:5e013296b353 52 FT_GPU_READ = 0,
dreschpe 0:5e013296b353 53 FT_GPU_WRITE,
dreschpe 0:5e013296b353 54 } FT_GPU_TRANSFERDIR_T;
davidchilds 7:a69ac4d39afd 55
davidchilds 7:a69ac4d39afd 56
dreschpe 0:5e013296b353 57 typedef struct {
dreschpe 0:5e013296b353 58 ft_uint32_t length; //IN and OUT
dreschpe 0:5e013296b353 59 ft_uint32_t address;
dreschpe 0:5e013296b353 60 ft_uint8_t *buffer;
dreschpe 0:5e013296b353 61 } Ft_Gpu_App_Transfer_t;
davidchilds 7:a69ac4d39afd 62
dreschpe 0:5e013296b353 63 class FT800
dreschpe 0:5e013296b353 64 {
dreschpe 0:5e013296b353 65 public:
dreschpe 0:5e013296b353 66 FT800(PinName mosi,
dreschpe 0:5e013296b353 67 PinName miso,
dreschpe 0:5e013296b353 68 PinName sck,
dreschpe 0:5e013296b353 69 PinName ss,
dreschpe 0:5e013296b353 70 PinName intr,
dreschpe 0:5e013296b353 71 PinName pd);
davidchilds 7:a69ac4d39afd 72
dreschpe 0:5e013296b353 73 private:
dreschpe 0:5e013296b353 74 SPI _spi;
davidchilds 7:a69ac4d39afd 75 DigitalOut _ss;
davidchilds 7:a69ac4d39afd 76 DigitalOut _pd;
davidchilds 7:a69ac4d39afd 77 InterruptIn _f800_isr;
dreschpe 0:5e013296b353 78 public:
dreschpe 0:5e013296b353 79 /* Global used for buffer optimization */
dreschpe 0:5e013296b353 80 //Ft_Gpu_Hal_Context_t host,*phost;
dreschpe 0:5e013296b353 81 Ft_Gpu_App_Context_t app_header;
dreschpe 3:392d2c733c68 82 ft_uint16_t cmd_fifo_wp; //coprocessor fifo write pointer
dreschpe 3:392d2c733c68 83 ft_uint16_t dl_buff_wp; //display command memory write pointer
davidchilds 7:a69ac4d39afd 84 FT_GPU_HAL_STATUS_E status; //OUT
dreschpe 0:5e013296b353 85 ft_void_t* hal_handle; //IN/OUT
dreschpe 3:392d2c733c68 86 ft_uint32_t CmdBuffer_Index;
dreschpe 3:392d2c733c68 87 ft_uint32_t DlBuffer_Index;
dreschpe 3:392d2c733c68 88 ft_int16_t DispWidth;
dreschpe 3:392d2c733c68 89 ft_int16_t DispHeight;
dreschpe 3:392d2c733c68 90 ft_int16_t DispHCycle;
dreschpe 3:392d2c733c68 91 ft_int16_t DispHOffset;
dreschpe 3:392d2c733c68 92 ft_int16_t DispHSync0;
dreschpe 3:392d2c733c68 93 ft_int16_t DispHSync1;
dreschpe 3:392d2c733c68 94 ft_int16_t DispVCycle;
dreschpe 3:392d2c733c68 95 ft_int16_t DispVOffset;
dreschpe 3:392d2c733c68 96 ft_int16_t DispVSync0;
dreschpe 3:392d2c733c68 97 ft_int16_t DispVSync1;
dreschpe 3:392d2c733c68 98 ft_uint8_t DispPCLK;
dreschpe 3:392d2c733c68 99 ft_char8_t DispSwizzle;
dreschpe 3:392d2c733c68 100 ft_char8_t DispPCLKPol;
davidchilds 7:a69ac4d39afd 101
davidchilds 7:a69ac4d39afd 102
dreschpe 0:5e013296b353 103 ft_void_t BootupConfig(void);
dreschpe 0:5e013296b353 104 ft_bool_t Bootup(void);
davidchilds 7:a69ac4d39afd 105
davidchilds 7:a69ac4d39afd 106
dreschpe 0:5e013296b353 107 /*The basic APIs Level 1*/
dreschpe 3:392d2c733c68 108 ft_bool_t Init( );
dreschpe 3:392d2c733c68 109 ft_bool_t Open( );
davidchilds 7:a69ac4d39afd 110
dreschpe 0:5e013296b353 111 /*The APIs for reading/writing transfer continuously only with small buffer system*/
dreschpe 3:392d2c733c68 112 ft_void_t StartTransfer(FT_GPU_TRANSFERDIR_T rw,ft_uint32_t addr);
dreschpe 3:392d2c733c68 113 ft_uint8_t Transfer8(ft_uint8_t value);
dreschpe 3:392d2c733c68 114 ft_uint16_t Transfer16(ft_uint16_t value);
dreschpe 3:392d2c733c68 115 ft_uint32_t Transfer32(ft_uint32_t value);
dreschpe 3:392d2c733c68 116 ft_void_t EndTransfer( );
davidchilds 7:a69ac4d39afd 117
dreschpe 0:5e013296b353 118 /*Read & Write APIs for both burst and single transfer,depending on buffer size*/
dreschpe 3:392d2c733c68 119 ft_void_t Read(Ft_Gpu_App_Transfer_t *transfer);
dreschpe 3:392d2c733c68 120 ft_void_t Write(Ft_Gpu_App_Transfer_t *transfer);
davidchilds 7:a69ac4d39afd 121
dreschpe 3:392d2c733c68 122 ft_void_t Close();
dreschpe 3:392d2c733c68 123 ft_void_t DeInit();
davidchilds 7:a69ac4d39afd 124
dreschpe 0:5e013296b353 125 /*Helper function APIs Read*/
dreschpe 3:392d2c733c68 126 ft_uint8_t Rd8(ft_uint32_t addr);
dreschpe 3:392d2c733c68 127 ft_uint16_t Rd16(ft_uint32_t addr);
dreschpe 3:392d2c733c68 128 ft_uint32_t Rd32(ft_uint32_t addr);
davidchilds 7:a69ac4d39afd 129
dreschpe 0:5e013296b353 130 /*Helper function APIs Write*/
dreschpe 3:392d2c733c68 131 ft_void_t Wr8(ft_uint32_t addr, ft_uint8_t v);
dreschpe 3:392d2c733c68 132 ft_void_t Wr16(ft_uint32_t addr, ft_uint16_t v);
dreschpe 3:392d2c733c68 133 ft_void_t Wr32(ft_uint32_t addr, ft_uint32_t v);
davidchilds 7:a69ac4d39afd 134
dreschpe 0:5e013296b353 135 /*******************************************************************************/
dreschpe 0:5e013296b353 136 /*******************************************************************************/
dreschpe 0:5e013296b353 137 /*APIs for coprocessor Fifo read/write and space management*/
dreschpe 3:392d2c733c68 138 ft_void_t Updatecmdfifo(ft_uint16_t count);
dreschpe 3:392d2c733c68 139 ft_void_t WrCmd32(ft_uint32_t cmd);
dreschpe 3:392d2c733c68 140 ft_void_t WrCmdBuf(ft_uint8_t *buffer,ft_uint16_t count);
dreschpe 3:392d2c733c68 141 ft_void_t WaitCmdfifo_empty();
dreschpe 3:392d2c733c68 142 ft_void_t ResetCmdFifo();
dreschpe 3:392d2c733c68 143 ft_void_t CheckCmdBuffer(ft_uint16_t count);
dreschpe 3:392d2c733c68 144 ft_void_t ResetDLBuffer();
davidchilds 7:a69ac4d39afd 145
dreschpe 3:392d2c733c68 146 ft_void_t StartCmdTransfer(FT_GPU_TRANSFERDIR_T rw, ft_uint16_t count);
dreschpe 3:392d2c733c68 147 ft_void_t Powercycle(ft_bool_t up);
davidchilds 7:a69ac4d39afd 148
davidchilds 7:a69ac4d39afd 149
dreschpe 0:5e013296b353 150 /*******************************************************************************/
dreschpe 0:5e013296b353 151 /*******************************************************************************/
dreschpe 0:5e013296b353 152 /*APIs for Host Commands*/
dreschpe 0:5e013296b353 153 typedef enum {
dreschpe 0:5e013296b353 154 FT_GPU_INTERNAL_OSC = 0x48, //default
dreschpe 0:5e013296b353 155 FT_GPU_EXTERNAL_OSC = 0x44,
dreschpe 0:5e013296b353 156 } FT_GPU_PLL_SOURCE_T;
dreschpe 0:5e013296b353 157 typedef enum {
dreschpe 0:5e013296b353 158 FT_GPU_PLL_48M = 0x62, //default
dreschpe 0:5e013296b353 159 FT_GPU_PLL_36M = 0x61,
dreschpe 0:5e013296b353 160 FT_GPU_PLL_24M = 0x64,
dreschpe 0:5e013296b353 161 } FT_GPU_PLL_FREQ_T;
davidchilds 7:a69ac4d39afd 162
dreschpe 0:5e013296b353 163 typedef enum {
dreschpe 0:5e013296b353 164 FT_GPU_ACTIVE_M = 0x00,
dreschpe 0:5e013296b353 165 FT_GPU_STANDBY_M = 0x41,//default
dreschpe 0:5e013296b353 166 FT_GPU_SLEEP_M = 0x42,
dreschpe 0:5e013296b353 167 FT_GPU_POWERDOWN_M = 0x50,
dreschpe 0:5e013296b353 168 } FT_GPU_POWER_MODE_T;
davidchilds 7:a69ac4d39afd 169
dreschpe 0:5e013296b353 170 #define FT_GPU_CORE_RESET (0x68)
davidchilds 7:a69ac4d39afd 171
dreschpe 0:5e013296b353 172 ft_int32_t hal_strlen(const ft_char8_t *s);
dreschpe 3:392d2c733c68 173 ft_void_t Sleep(ft_uint16_t ms);
dreschpe 3:392d2c733c68 174 ft_void_t ClockSelect(FT_GPU_PLL_SOURCE_T pllsource);
dreschpe 3:392d2c733c68 175 ft_void_t PLL_FreqSelect(FT_GPU_PLL_FREQ_T freq);
dreschpe 3:392d2c733c68 176 ft_void_t PowerModeSwitch(FT_GPU_POWER_MODE_T pwrmode);
dreschpe 3:392d2c733c68 177 ft_void_t CoreReset();
dreschpe 0:5e013296b353 178 //ft_void_t Ft_Gpu_Hal_StartTransfer( ,FT_GPU_TRANSFERDIR_T rw,ft_uint32_t addr);
dreschpe 3:392d2c733c68 179 ft_void_t WrMem(ft_uint32_t addr, const ft_uint8_t *buffer, ft_uint32_t length);
dreschpe 3:392d2c733c68 180 ft_void_t WrMemFromFlash(ft_uint32_t addr,const ft_prog_uchar8_t *buffer, ft_uint32_t length);
dreschpe 3:392d2c733c68 181 ft_void_t WrCmdBufFromFlash(FT_PROGMEM ft_prog_uchar8_t *buffer,ft_uint16_t count);
dreschpe 3:392d2c733c68 182 ft_void_t RdMem(ft_uint32_t addr, ft_uint8_t *buffer, ft_uint32_t length);
dreschpe 3:392d2c733c68 183 ft_void_t WaitLogo_Finish();
dreschpe 3:392d2c733c68 184 ft_uint8_t TransferString(const ft_char8_t *string);
dreschpe 3:392d2c733c68 185 ft_void_t HostCommand(ft_uint8_t cmd);
dreschpe 3:392d2c733c68 186 ft_int32_t Dec2Ascii(ft_char8_t *pSrc,ft_int32_t value);
davidchilds 7:a69ac4d39afd 187
dreschpe 3:392d2c733c68 188 ft_void_t Text(ft_int16_t x, ft_int16_t y, ft_int16_t font, ft_uint16_t options, const ft_char8_t* s);
dreschpe 3:392d2c733c68 189 ft_void_t Number(ft_int16_t x, ft_int16_t y, ft_int16_t font, ft_uint16_t options, ft_int32_t n);
dreschpe 3:392d2c733c68 190 ft_void_t LoadIdentity();
dreschpe 3:392d2c733c68 191 ft_void_t Toggle(ft_int16_t x, ft_int16_t y, ft_int16_t w, ft_int16_t font, ft_uint16_t options, ft_uint16_t state, const ft_char8_t* s);
dreschpe 3:392d2c733c68 192 ft_void_t Gauge(ft_int16_t x, ft_int16_t y, ft_int16_t r, ft_uint16_t options, ft_uint16_t major, ft_uint16_t minor, ft_uint16_t val, ft_uint16_t range);
dreschpe 3:392d2c733c68 193 ft_void_t RegRead(ft_uint32_t ptr, ft_uint32_t result);
dreschpe 3:392d2c733c68 194 ft_void_t GetProps(ft_uint32_t ptr, ft_uint32_t w, ft_uint32_t h);
dreschpe 3:392d2c733c68 195 ft_void_t Memcpy(ft_uint32_t dest, ft_uint32_t src, ft_uint32_t num);
dreschpe 3:392d2c733c68 196 ft_void_t Spinner(ft_int16_t x, ft_int16_t y, ft_uint16_t style, ft_uint16_t scale);
dreschpe 3:392d2c733c68 197 ft_void_t BgColor(ft_uint32_t c);
dreschpe 3:392d2c733c68 198 ft_void_t Swap();
dreschpe 3:392d2c733c68 199 ft_void_t Inflate(ft_uint32_t ptr);
dreschpe 3:392d2c733c68 200 ft_void_t Translate(ft_int32_t tx, ft_int32_t ty);
dreschpe 3:392d2c733c68 201 ft_void_t Stop();
dreschpe 3:392d2c733c68 202 ft_void_t Slider(ft_int16_t x, ft_int16_t y, ft_int16_t w, ft_int16_t h, ft_uint16_t options, ft_uint16_t val, ft_uint16_t range);
dreschpe 3:392d2c733c68 203 ft_void_t Interrupt(ft_uint32_t ms);
dreschpe 3:392d2c733c68 204 ft_void_t FgColor(ft_uint32_t c);
dreschpe 3:392d2c733c68 205 ft_void_t Rotate(ft_int32_t a);
dreschpe 3:392d2c733c68 206 ft_void_t Button(ft_int16_t x, ft_int16_t y, ft_int16_t w, ft_int16_t h, ft_int16_t font, ft_uint16_t options, const ft_char8_t* s);
dreschpe 3:392d2c733c68 207 ft_void_t MemWrite(ft_uint32_t ptr, ft_uint32_t num);
dreschpe 3:392d2c733c68 208 ft_void_t Scrollbar(ft_int16_t x, ft_int16_t y, ft_int16_t w, ft_int16_t h, ft_uint16_t options, ft_uint16_t val, ft_uint16_t size, ft_uint16_t range);
dreschpe 3:392d2c733c68 209 ft_void_t GetMatrix(ft_int32_t a, ft_int32_t b, ft_int32_t c, ft_int32_t d, ft_int32_t e, ft_int32_t f);
dreschpe 3:392d2c733c68 210 ft_void_t Sketch(ft_int16_t x, ft_int16_t y, ft_uint16_t w, ft_uint16_t h, ft_uint32_t ptr, ft_uint16_t format);
dreschpe 3:392d2c733c68 211 ft_void_t MemSet(ft_uint32_t ptr, ft_uint32_t value, ft_uint32_t num);
dreschpe 3:392d2c733c68 212 ft_void_t Calibrate(ft_uint32_t result);
dreschpe 3:392d2c733c68 213 ft_void_t SetFont(ft_uint32_t font, ft_uint32_t ptr);
dreschpe 3:392d2c733c68 214 ft_void_t Bitmap_Transform(ft_int32_t x0, ft_int32_t y0, ft_int32_t x1, ft_int32_t y1, ft_int32_t x2, ft_int32_t y2, ft_int32_t tx0, ft_int32_t ty0, ft_int32_t tx1, ft_int32_t ty1, ft_int32_t tx2, ft_int32_t ty2, ft_uint16_t result);
dreschpe 3:392d2c733c68 215 ft_void_t GradColor(ft_uint32_t c);
dreschpe 3:392d2c733c68 216 ft_void_t Append(ft_uint32_t ptr, ft_uint32_t num);
dreschpe 3:392d2c733c68 217 ft_void_t MemZero(ft_uint32_t ptr, ft_uint32_t num);
dreschpe 3:392d2c733c68 218 ft_void_t Scale(ft_int32_t sx, ft_int32_t sy);
dreschpe 3:392d2c733c68 219 ft_void_t Clock(ft_int16_t x, ft_int16_t y, ft_int16_t r, ft_uint16_t options, ft_uint16_t h, ft_uint16_t m, ft_uint16_t s, ft_uint16_t ms);
dreschpe 3:392d2c733c68 220 ft_void_t Gradient(ft_int16_t x0, ft_int16_t y0, ft_uint32_t rgb0, ft_int16_t x1, ft_int16_t y1, ft_uint32_t rgb1);
dreschpe 3:392d2c733c68 221 ft_void_t SetMatrix();
dreschpe 3:392d2c733c68 222 ft_void_t Track(ft_int16_t x, ft_int16_t y, ft_int16_t w, ft_int16_t h, ft_int16_t tag);
dreschpe 3:392d2c733c68 223 ft_void_t GetPtr(ft_uint32_t result);
dreschpe 3:392d2c733c68 224 ft_void_t Progress(ft_int16_t x, ft_int16_t y, ft_int16_t w, ft_int16_t h, ft_uint16_t options, ft_uint16_t val, ft_uint16_t range);
dreschpe 3:392d2c733c68 225 ft_void_t ColdStart();
dreschpe 3:392d2c733c68 226 ft_void_t Keys(ft_int16_t x, ft_int16_t y, ft_int16_t w, ft_int16_t h, ft_int16_t font, ft_uint16_t options, const ft_char8_t* s);
dreschpe 3:392d2c733c68 227 ft_void_t Dial(ft_int16_t x, ft_int16_t y, ft_int16_t r, ft_uint16_t options, ft_uint16_t val);
dreschpe 3:392d2c733c68 228 ft_void_t LoadImage(ft_uint32_t ptr, ft_uint32_t options);
dreschpe 4:363ec27cdfaa 229 ft_void_t DLstart();
dreschpe 3:392d2c733c68 230 ft_void_t Snapshot(ft_uint32_t ptr);
dreschpe 3:392d2c733c68 231 ft_void_t ScreenSaver();
dreschpe 3:392d2c733c68 232 ft_void_t Memcrc(ft_uint32_t ptr, ft_uint32_t num, ft_uint32_t result);
davidchilds 7:a69ac4d39afd 233
dreschpe 3:392d2c733c68 234 ft_void_t Logo();
davidchilds 7:a69ac4d39afd 235
dreschpe 3:392d2c733c68 236 ft_void_t SendCmd( ft_uint32_t cmd);
dreschpe 3:392d2c733c68 237 ft_void_t SendStr( const ft_char8_t *s);
dreschpe 3:392d2c733c68 238 ft_void_t StartFunc( ft_uint16_t count);
dreschpe 3:392d2c733c68 239 ft_void_t EndFunc( ft_uint16_t count);
dreschpe 3:392d2c733c68 240 ft_void_t TouchTransform( ft_int32_t x0, ft_int32_t y0, ft_int32_t x1, ft_int32_t y1, ft_int32_t x2, ft_int32_t y2, ft_int32_t tx0, ft_int32_t ty0, ft_int32_t tx1, ft_int32_t ty1, ft_int32_t tx2, ft_int32_t ty2, ft_uint16_t result);
dreschpe 3:392d2c733c68 241 ft_void_t BitmapTransform( ft_int32_t x0, ft_int32_t y0, ft_int32_t x1, ft_int32_t y1, ft_int32_t x2, ft_int32_t y2, ft_int32_t tx0, ft_int32_t ty0, ft_int32_t tx1, ft_int32_t ty1, ft_int32_t tx2, ft_int32_t ty2, ft_uint16_t result);
dreschpe 3:392d2c733c68 242 ft_void_t MemCrc( ft_uint32_t ptr, ft_uint32_t num, ft_uint32_t result);
davidchilds 7:a69ac4d39afd 243
dreschpe 3:392d2c733c68 244 ft_uint16_t fifo_Freespace( );
davidchilds 7:a69ac4d39afd 245
dreschpe 4:363ec27cdfaa 246 ft_void_t DL(ft_uint32_t cmd);
dreschpe 3:392d2c733c68 247 ft_void_t WrDlCmd_Buffer(ft_uint32_t cmd);
dreschpe 3:392d2c733c68 248 ft_void_t Flush_DL_Buffer();
dreschpe 3:392d2c733c68 249 ft_void_t Flush_Co_Buffer();
dreschpe 3:392d2c733c68 250 ft_void_t fadeout();
dreschpe 3:392d2c733c68 251 ft_void_t fadein();
dreschpe 3:392d2c733c68 252 ft_void_t DLSwap(ft_uint8_t DL_Swap_Type);
davidchilds 7:a69ac4d39afd 253
davidchilds 7:a69ac4d39afd 254 ft_void_t Sound_ON();
davidchilds 7:a69ac4d39afd 255 ft_void_t Sound_OFF();
davidchilds 7:a69ac4d39afd 256
davidchilds 7:a69ac4d39afd 257 int Load_jpg(char* filename, ft_int16_t* x_size, ft_int16_t* y_size);
davidchilds 7:a69ac4d39afd 258 ft_void_t Calibrate();
davidchilds 7:a69ac4d39afd 259 ft_void_t read_calibrate(ft_uint8_t data[24]);
davidchilds 7:a69ac4d39afd 260 ft_void_t write_calibrate(ft_uint8_t data[24]);
davidchilds 7:a69ac4d39afd 261
davidchilds 7:a69ac4d39afd 262 ft_uint32_t color_rgb(ft_uint8_t red,ft_uint8_t green, ft_uint8_t blue);
davidchilds 7:a69ac4d39afd 263 ft_uint32_t clear_color_rgb(ft_uint8_t red,ft_uint8_t green, ft_uint8_t blue);
davidchilds 7:a69ac4d39afd 264
dreschpe 0:5e013296b353 265 }; // end of class
davidchilds 7:a69ac4d39afd 266
dreschpe 3:392d2c733c68 267 #endif /*FT_GPU_HAL_H*/