/*------------------------------------------------------------------------------ -- This file is a part of the libuc, microcontroler library -- Copyright (C) 2012, Alexis Jeandet -- -- This program is free software; you can redistribute it and/or modify -- it under the terms of the GNU General Public License as published by -- the Free Software Foundation; either version 3 of the License, or -- (at your option) any later version. -- -- This program is distributed in the hope that it will be useful, -- but WITHOUT ANY WARRANTY; without even the implied warranty of -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -- GNU General Public License for more details. -- -- You should have received a copy of the GNU General Public License -- along with this program; if not, write to the Free Software -- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ------------------------------------------------------------------------------- -- Author : Alexis Jeandet -- Mail : alexis.jeandet@gmail.com -------------------------------------------------------------------------------*/ #ifndef D51E5TA7601_H #define D51E5TA7601_H /** @todo Make an abstract layer for framebuffer devices and a painting api for it. */ #include /** * @brief ili9328init * @param LCD * @return */ extern int D51E5TA7601init(struct LCD_t* LCD); extern void D51E5TA7601setFrame(LCD_t* LCD,uint16_t X,uint16_t Y,uint16_t W,uint16_t H); extern void D51E5TA7601setGRAMaddress(LCD_t* LCD,uint16_t Haddress,uint16_t Vaddress); extern void D51E5TA7601paint(LCD_t* LCD,void* buffer,uint16_t Xpos,uint16_t Ypos,uint16_t Width,uint16_t Height); extern void D51E5TA7601paintFB(struct LCD_t* LCD,struct LCD_t* frameBuffer); extern void D51E5TA7601paintText(LCD_t* LCD,char* buffer,uint16_t Xpos,uint16_t Ypos,sFONT *font,uint32_t color); extern void D51E5TA7601paintFilRect(LCD_t* LCD,uint16_t Xpos,uint16_t Ypos,uint16_t w,uint16_t h,uint32_t contColor,uint16_t contSz,uint32_t fillColor); extern void D51E5TA7601paintFilCirc(LCD_t* LCD,uint16_t Xpos,uint16_t Ypos,uint16_t r,uint32_t contColor,uint16_t contSz,uint32_t fillColor); extern void D51E5TA7601paintFilCircMidPoint(LCD_t* LCD,uint16_t Xpos,uint16_t Ypos,uint16_t r,uint32_t contColor,uint16_t contSz,uint32_t fillColor); extern void D51E5TA7601getPix(struct LCD_t* LCD,uint16_t* buffer,uint16_t Xpos,uint16_t Ypos,uint16_t w,uint16_t h); extern void D51E5TA7601refreshenable(struct LCD_t* LCD,int enable); extern void D51E5TA7601paintChar(LCD_t* LCD,char buffer,uint16_t Xpos,uint16_t Ypos,sFONT* font,uint32_t color); extern int D51E5TA7601init_FrameBuff(struct LCD_t* LCD); extern void D51E5TA7601setFrame_FrameBuff(LCD_t* LCD,uint16_t X,uint16_t Y,uint16_t W,uint16_t H); extern void D51E5TA7601paint_FrameBuff(LCD_t *frameBuff, void *buffer, uint16_t Xpos, uint16_t Ypos, uint16_t Width, uint16_t Height); extern void D51E5TA7601paintText_FrameBuff(LCD_t *frameBuff,char* buffer,uint16_t Xpos,uint16_t Ypos,sFONT *font,uint32_t color); extern void D51E5TA7601paintFilRect_FrameBuff(LCD_t *frameBuff,uint16_t Xpos,uint16_t Ypos,uint16_t w,uint16_t h,uint32_t contColor,uint16_t contSz,uint32_t fillColor); extern void D51E5TA7601getPix_FrameBuff(LCD_t *frameBuff,uint16_t* buffer,uint16_t Xpos,uint16_t Ypos,uint16_t w,uint16_t h); extern void D51E5TA7601refreshenable_FrameBuff(struct LCD_t* LCD,int enable); #define D51E5TA7601_DEV_ID ((uint32_t) 0x7601 ) #define D51E5TA7601_REGISTER_DRIVERCODEREAD ((uint32_t) 0x0000 ) #define D51E5TA7601_REGISTER_STARTOSCILATION ((uint32_t) 0x0000 ) #define D51E5TA7601_REGISTER_DRIVEROUTPUTCONTROL1 ((uint32_t) 0x0001 ) #define D51E5TA7601_REGISTER_LCDDRIVINGCONTROL ((uint32_t) 0x0002 ) #define D51E5TA7601_REGISTER_ENTRYMODE ((uint32_t) 0x0003 ) #define D51E5TA7601_REGISTER_DISPLAYCONTROL1 ((uint32_t) 0x0004 ) #define D51E5TA7601_REGISTER_DISPLAYCONTROL2 ((uint32_t) 0x0005 ) #define D51E5TA7601_REGISTER_DISPLAYCONTROL3 ((uint32_t) 0x0006 ) #define D51E5TA7601_REGISTER_DISPLAYCONTROL4 ((uint32_t) 0x0007 ) #define D51E5TA7601_REGISTER_BLANKPERDIODCTRL ((uint32_t) 0x0008 ) #define D51E5TA7601_REGISTER_DISPLAYCONTROL5 ((uint32_t) 0x0009 ) #define D51E5TA7601_REGISTER_FRAMECYCLECONTROL ((uint32_t) 0x000A ) #define D51E5TA7601_REGISTER_EXTERNALDISPLAYCTRL ((uint32_t) 0x000B ) #define D51E5TA7601_REGISTER_LCDINTERFACECONTROL ((uint32_t) 0x000C ) #define D51E5TA7601_REGISTER_GATESCANPOSITIONCTRL ((uint32_t) 0x000D ) #define D51E5TA7601_REGISTER_FRAMESIGNALCONTROL ((uint32_t) 0x000E ) #define D51E5TA7601_REGISTER_DISPLAYCONTROL6 ((uint32_t) 0x000F ) #define D51E5TA7601_REGISTER_POWERCONTROL1 ((uint32_t) 0x0010 ) #define D51E5TA7601_REGISTER_POWERCONTROL2 ((uint32_t) 0x0011 ) #define D51E5TA7601_REGISTER_POWERCONTROL3 ((uint32_t) 0x0012 ) #define D51E5TA7601_REGISTER_POWERCONTROL4 ((uint32_t) 0x0013 ) #define D51E5TA7601_REGISTER_POWERCONTROL5 ((uint32_t) 0x0014 ) #define D51E5TA7601_REGISTER_POWERCONTROL6 ((uint32_t) 0x0015 ) #define D51E5TA7601_REGISTER_POWERCONTROL7 ((uint32_t) 0x0016 ) #define D51E5TA7601_REGISTER_VERTICALGRAMADDRESSSET ((uint32_t) 0x0020 ) #define D51E5TA7601_REGISTER_HORIZONTALGRAMADDRESSSET ((uint32_t) 0x0021 ) #define D51E5TA7601_REGISTER_WRITEDATATOGRAM ((uint32_t) 0x0022 ) #define D51E5TA7601_REGISTER_GAMMACONTROL1 ((uint32_t) 0x0028 ) #define D51E5TA7601_REGISTER_GAMMACONTROL2 ((uint32_t) 0x0029 ) #define D51E5TA7601_REGISTER_GAMMACONTROL3 ((uint32_t) 0x002A) #define D51E5TA7601_REGISTER_GAMMACONTROL4 ((uint32_t) 0x002B ) #define D51E5TA7601_REGISTER_GAMMACONTROL5 ((uint32_t) 0x002C ) #define D51E5TA7601_REGISTER_GAMMACONTROL6 ((uint32_t) 0x002D ) #define D51E5TA7601_REGISTER_GAMMACONTROL7 ((uint32_t) 0x002E ) #define D51E5TA7601_REGISTER_GAMMACONTROL8 ((uint32_t) 0x002F ) #define D51E5TA7601_REGISTER_GAMMACONTROL9 ((uint32_t) 0x0030 ) #define D51E5TA7601_REGISTER_GAMMACONTROL10 ((uint32_t) 0x0031 ) #define D51E5TA7601_REGISTER_GAMMACONTROL11 ((uint32_t) 0x0032 ) #define D51E5TA7601_REGISTER_GAMMACONTROL12 ((uint32_t) 0x0033 ) #define D51E5TA7601_REGISTER_GAMMACONTROL13 ((uint32_t) 0x0034 ) #define D51E5TA7601_REGISTER_GAMMACONTROL14 ((uint32_t) 0x0035 ) #define D51E5TA7601_REGISTER_GAMMACONTROL15 ((uint32_t) 0x0036 ) #define D51E5TA7601_REGISTER_GAMMACONTROL16 ((uint32_t) 0x0037 ) #define D51E5TA7601_REGISTER_GAMMACONTROL17 ((uint32_t) 0x0038 ) #define D51E5TA7601_REGISTER_GAMMACONTROL18 ((uint32_t) 0x0039 ) #define D51E5TA7601_REGISTER_GAMMACONTROL19 ((uint32_t) 0x003A ) #define D51E5TA7601_REGISTER_GAMMACONTROL20 ((uint32_t) 0x003B ) #define D51E5TA7601_REGISTER_GAMMACONTROL21 ((uint32_t) 0x003C ) #define D51E5TA7601_REGISTER_PARTIALSPLTSCREENS1 ((uint32_t) 0x0040 ) #define D51E5TA7601_REGISTER_PARTIALSPLTSCREENE1 ((uint32_t) 0x0041 ) #define D51E5TA7601_REGISTER_PARTIALSPLTSCREENS2 ((uint32_t) 0x0042 ) #define D51E5TA7601_REGISTER_PARTIALSPLTSCREENE2 ((uint32_t) 0x0043 ) #define D51E5TA7601_REGISTER_HORIZONTALADDRESSSTARTPOSITION ((uint32_t) 0x0045 ) #define D51E5TA7601_REGISTER_HORIZONTALADDRESSENDPOSITION ((uint32_t) 0x0044 ) #define D51E5TA7601_REGISTER_VERTICALADDRESSSTARTPOSITION ((uint32_t) 0x0047 ) #define D51E5TA7601_REGISTER_VERTICALADDRESSENDPOSITION ((uint32_t) 0x0046 ) #define D51E5TA7601_REGISTER_BACKLIGHTCONTROL1 ((uint32_t) 0x0048 ) #define D51E5TA7601_REGISTER_BACKLIGHTCONTROL2 ((uint32_t) 0x0049 ) #define D51E5TA7601_REGISTER_BACKLIGHTCONTROL3 ((uint32_t) 0x004A ) #define D51E5TA7601_REGISTER_BACKLIGHTCONTROL4 ((uint32_t) 0x004B ) #define D51E5TA7601_REGISTER_VCOMCONTROL1 ((uint32_t) 0x0050 ) #define D51E5TA7601_REGISTER_VCOMCONTROL2 ((uint32_t) 0x0051 ) #define D51E5TA7601_REGISTER_CABCCONTROL ((uint32_t) 0x0067 ) #ifdef _PRVATE_D51E5TA7601_ void ili9328cpFrame(LCD_t* LCD,void* buffer,int x,int y,int w, int h); #endif #endif