Library for FTDI FT800, Support up to 512 x 512 pixel resolution.

Dependents:   FT800-Demo-Sliders FT800-Clock FT800-Demo-Bitmap

Hardware

https://os.mbed.com/media/uploads/nz/display-43.jpg

Info

FT800_Registers.h

Committer:
nz
Date:
2020-12-30
Revision:
5:b28ce8616b41
Parent:
3:513297422037

File content as of revision 5:b28ce8616b41:

/* mbed Library for FTDI FT800 */

#ifndef FT800_REGISTERS_H
#define FT800_REGISTERS_H

#include "mbed.h"

/* LCD colors */
#define BLACK           ((uint32_t)0x000000)
#define BLUE            ((uint32_t)0x0000FF)
#define GREEN           ((uint32_t)0x00FF00)
#define CYAN            ((uint32_t)0x00FFFF)
#define RED             ((uint32_t)0xFF0000)
#define MAGENTA         ((uint32_t)0xFF00FF)
#define YELLOW          ((uint32_t)0xFFFF00)
#define WHITE           ((uint32_t)0xFFFFFF)

#define LIGHTBLUE       ((uint32_t)0x8080FF)
#define LIGHTGREEN      ((uint32_t)0x80FF80)
#define LIGHTRED        ((uint32_t)0xFF8080)
#define LIGHTCYAN       ((uint32_t)0x80FFFF)
#define LIGHTMAGENTA    ((uint32_t)0xFF80FF)
#define LIGHTYELLOW     ((uint32_t)0xFFFF80)
#define DARKBLUE        ((uint32_t)0x000080)
#define DARKGREEN       ((uint32_t)0x008000)
#define DARKRED         ((uint32_t)0x800000)
#define DARKCYAN        ((uint32_t)0x008080)
#define DARKMAGENTA     ((uint32_t)0x800080)
#define DARKYELLOW      ((uint32_t)0x808000)
#define GRAY            ((uint32_t)0x808080)

#define WHITESMOKE      ((uint32_t)0xF5F5F5)
#define GAINSBORO       ((uint32_t)0xDCDCDC)
#define LIGHTGREY       ((uint32_t)0xD3D3D3)
#define SILVER          ((uint32_t)0xC0C0C0)
#define DARKGRAY        ((uint32_t)0xA9A9A9)
#define DIMGRAY         ((uint32_t)0x696969)


/* Definitions used for FT800 co processor command buffer */
#define FT_DL_SIZE          (8*1024)  //8KB Display List buffer size
#define FT_CMD_FIFO_SIZE    (4*1024)  //4KB coprocessor Fifo size
#define FT_CMD_SIZE         (4)       //4 byte per coprocessor command of EVE

// GPU
#define GPU_INTERNAL_OSC    0x48 //default
#define GPU_EXTERNAL_OSC    0x44
//#define GPU_PLL_24M       0x64
#define GPU_PLL_36M         0x61
#define GPU_PLL_48M         0x62 //default
#define GPU_ACTIVE_M        0x00  
#define GPU_STANDBY_M       0x41 //default
#define GPU_SLEEP_M         0x42
#define GPU_POWERDOWN_M     0x50
#define GPU_CORE_RESET      0x68

// CMD
#define CMDBUF_SIZE         4096UL
#define CMD_APPEND          4294967070UL
#define CMD_BGCOLOR         4294967049UL
#define CMD_BITMAP_TRANSFORM 4294967073UL
#define CMD_BUTTON          4294967053UL
#define CMD_CALIBRATE       4294967061UL
#define CMD_CLOCK           4294967060UL
#define CMD_COLDSTART       4294967090UL
#define CMD_CRC             4294967043UL
#define CMD_DIAL            4294967085UL
#define CMD_DLSTART         4294967040UL
#define CMD_EXECUTE         4294967047UL
#define CMD_FGCOLOR         4294967050UL
#define CMD_GAUGE           4294967059UL
#define CMD_GETMATRIX       4294967091UL
#define CMD_GETPOINT        4294967048UL
#define CMD_GETPROPS        4294967077UL
#define CMD_GETPTR          4294967075UL
#define CMD_GRADCOLOR       4294967092UL
#define CMD_GRADIENT        4294967051UL
#define CMD_HAMMERAUX       4294967044UL
#define CMD_IDCT            4294967046UL
#define CMD_INFLATE         4294967074UL
#define CMD_INTERRUPT       4294967042UL
#define CMD_KEYS            4294967054UL
#define CMD_LOADIDENTITY    4294967078UL
#define CMD_LOADIMAGE       4294967076UL
#define CMD_LOGO            4294967089UL
#define CMD_MARCH           4294967045UL
#define CMD_MEMCPY          4294967069UL
#define CMD_MEMCRC          4294967064UL
#define CMD_MEMSET          4294967067UL
#define CMD_MEMWRITE        4294967066UL
#define CMD_MEMZERO         4294967068UL
#define CMD_NUMBER          4294967086UL
#define CMD_PROGRESS        4294967055UL
#define CMD_REGREAD         4294967065UL
#define CMD_ROTATE          4294967081UL
#define CMD_SCALE           4294967080UL
#define CMD_SCREENSAVER     4294967087UL
#define CMD_SCROLLBAR       4294967057UL
#define CMD_SETFONT         4294967083UL
#define CMD_SETMATRIX       4294967082UL
#define CMD_SKETCH          4294967088UL
#define CMD_SLIDER          4294967056UL
#define CMD_SNAPSHOT        4294967071UL
#define CMD_SPINNER         4294967062UL
#define CMD_STOP            4294967063UL
#define CMD_SWAP            4294967041UL
#define CMD_TEXT            4294967052UL
#define CMD_TOGGLE          4294967058UL
#define CMD_TOUCH_TRANSFORM 4294967072UL
#define CMD_TRACK           4294967084UL
#define CMD_TRANSLATE       4294967079UL

// RAM
#define RAM_CMD             1081344UL
#define RAM_DL              1048576UL
#define RAM_G               0UL
#define RAM_PAL             1056768UL
#define RAM_REG             1057792UL

// REGs
#define REG_ANALOG          1058104UL
#define REG_ANA_COMP        1058160UL
#define REG_CLOCK           1057800UL
#define REG_CMD_DL          1058028UL
#define REG_CMD_READ        1058020UL
#define REG_CMD_WRITE       1058024UL
#define REG_CPURESET        1057820UL
#define REG_CRC             1058152UL
#define REG_CSPREAD         1057892UL
#define REG_CYA0            1058000UL
#define REG_CYA1            1058004UL
#define REG_CYA_TOUCH       1058100UL
#define REG_DATESTAMP       1058108UL
#define REG_DITHER          1057884UL
#define REG_DLSWAP          1057872UL
#define REG_FRAMES          1057796UL
#define REG_FREQUENCY       1057804UL
#define REG_GPIO            1057936UL
#define REG_GPIO_DIR        1057932UL
#define REG_HCYCLE          1057832UL
#define REG_HOFFSET         1057836UL
#define REG_HSIZE           1057840UL
#define REG_HSYNC0          1057844UL
#define REG_HSYNC1          1057848UL
#define REG_ID              1057792UL
#define REG_INT_EN          1057948UL
#define REG_INT_FLAGS       1057944UL
#define REG_INT_MASK        1057952UL
#define REG_MACRO_0         1057992UL
#define REG_MACRO_1         1057996UL
#define REG_OUTBITS         1057880UL
#define REG_PCLK            1057900UL
#define REG_PCLK_POL        1057896UL
#define REG_PLAY            1057928UL
#define REG_PLAYBACK_FORMAT 1057972UL
#define REG_PLAYBACK_FREQ   1057968UL
#define REG_PLAYBACK_LENGTH 1057960UL
#define REG_PLAYBACK_LOOP   1057976UL
#define REG_PLAYBACK_PLAY   1057980UL
#define REG_PLAYBACK_READPTR 1057964UL
#define REG_PLAYBACK_START  1057956UL
#define REG_PWM_DUTY        1057988UL
#define REG_PWM_HZ          1057984UL
#define REG_RENDERMODE      1057808UL
#define REG_ROMSUB_SEL      1058016UL
#define REG_ROTATE          1057876UL
#define REG_SNAPSHOT        1057816UL
#define REG_SNAPY           1057812UL
#define REG_SOUND           1057924UL
#define REG_SWIZZLE         1057888UL
#define REG_TAG             1057912UL
#define REG_TAG_X           1057904UL
#define REG_TAG_Y           1057908UL
#define REG_TAP_CRC         1057824UL
#define REG_TAP_MASK        1057828UL
#define REG_TOUCH_ADC_MODE  1058036UL
#define REG_TOUCH_CHARGE    1058040UL
#define REG_TOUCH_DIRECT_XY 1058164UL
#define REG_TOUCH_DIRECT_Z1Z2 1058168UL
#define REG_TOUCH_MODE      1058032UL
#define REG_TOUCH_OVERSAMPLE 1058048UL
#define REG_TOUCH_RAW_XY    1058056UL
#define REG_TOUCH_RZ        1058060UL
#define REG_TOUCH_RZTHRESH  1058052UL
#define REG_TOUCH_SCREEN_XY 1058064UL
#define REG_TOUCH_SETTLE    1058044UL
#define REG_TOUCH_TAG       1058072UL
#define REG_TOUCH_TAG_XY    1058068UL
#define REG_TOUCH_TRANSFORM_A 1058076UL
#define REG_TOUCH_TRANSFORM_B 1058080UL
#define REG_TOUCH_TRANSFORM_C 1058084UL
#define REG_TOUCH_TRANSFORM_D 1058088UL
#define REG_TOUCH_TRANSFORM_E 1058092UL
#define REG_TOUCH_TRANSFORM_F 1058096UL
#define REG_TRACKER         1085440UL
#define REG_TRIM            1058156UL
#define REG_VCYCLE          1057852UL
#define REG_VOFFSET         1057856UL
#define REG_VOL_PB          1057916UL
#define REG_VOL_SOUND       1057920UL
#define REG_VSIZE           1057860UL
#define REG_VSYNC0          1057864UL
#define REG_VSYNC1          1057868UL

// OPTIONS
#define OPT_3D              0UL
#define OPT_RGB565          0UL
#define OPT_CENTER          1536UL
#define OPT_CENTERX         512UL
#define OPT_CENTERY         1024UL
#define OPT_FLAT            256UL
#define OPT_MONO            1UL
#define OPT_NOBACK          4096UL
#define OPT_NODL            2UL
#define OPT_NOHANDS         49152UL
#define OPT_NOHM            16384UL
#define OPT_NOPOINTER       16384UL
#define OPT_NOSECS          32768UL
#define OPT_NOTICKS         8192UL
#define OPT_RIGHTX          2048UL
#define OPT_SIGNED          256UL

// CLEAR FLAGS
#define CLEAR_TAG           0x01
#define CLEAR_STENCIL       0x02
#define CLEAR_COLOR         0x04
#define CLEAR_ALL           0x07

// BITMAMAP TRANSFORMATION
//#define BMP_TRANSFORM_A   0x15000000
//#define BMP_TRANSFORM_B   0x16000000
//#define BMP_TRANSFORM_C   0x17000000
//#define BMP_TRANSFORM_D   0x18000000
//#define BMP_TRANSFORM_E   0x19000000
//#define BMP_TRANSFORM_F   0x1A000000

// BITMAP FILTERING
#define NEAREST     0
#define BILINEAR    1

// BITMAP WRAP MODE
#define BORDER      0
#define REPEAT      1

// BITMAP_LAYOUT
#define ARGB1555    0
#define L1          1
#define L4          2
#define L8          3
#define RGB332      4
#define ARGB2       5
#define ARGB4       6
#define RGB565      7
#define PALETTED    8
#define TEXT8X8     9
#define TEXTVGA     10
#define BARGRAPH    11


//
#define ADREAD      0x00
#define ADWRITE     0x80

#endif /* #ifndef FT800_REGISTERS_H */