/*------------------------------------------------------------------------------ -- 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 ILI9328_H #define ILI9328_H #include #include extern int ili9328init(struct LCD_t* LCD); extern void ili9328paint_t(LCD_t* LCD,void* buffer,uint16_t Xpos,uint16_t Ypos,uint16_t Width,uint16_t Height); #define ILI9328_REGISTER_DRIVERCODEREAD ((uint16_t) 0x0000 ) #define ILI9328_REGISTER_DRIVEROUTPUTCONTROL1 ((uint16_t) 0x0001 ) #define ILI9328_REGISTER_LCDDRIVINGCONTROL ((uint16_t) 0x0002 ) #define ILI9328_REGISTER_ENTRYMODE ((uint16_t) 0x0003 ) #define ILI9328_REGISTER_RESIZECONTROL ((uint16_t) 0x0004 ) #define ILI9328_REGISTER_DISPLAYCONTROL1 ((uint16_t) 0x0007 ) #define ILI9328_REGISTER_DISPLAYCONTROL2 ((uint16_t) 0x0008 ) #define ILI9328_REGISTER_DISPLAYCONTROL3 ((uint16_t) 0x0009 ) #define ILI9328_REGISTER_DISPLAYCONTROL4 ((uint16_t) 0x000A ) #define ILI9328_REGISTER_RGBDISPLAYINTERFACECONTROL1 ((uint16_t) 0x000C ) #define ILI9328_REGISTER_FRAMEMAKERPOSITION ((uint16_t) 0x000D ) #define ILI9328_REGISTER_RGBDISPLAYINTERFACECONTROL2 ((uint16_t) 0x000F ) #define ILI9328_REGISTER_POWERCONTROL1 ((uint16_t) 0x0010 ) #define ILI9328_REGISTER_POWERCONTROL2 ((uint16_t) 0x0011 ) #define ILI9328_REGISTER_POWERCONTROL3 ((uint16_t) 0x0012 ) #define ILI9328_REGISTER_POWERCONTROL4 ((uint16_t) 0x0013 ) #define ILI9328_REGISTER_HORIZONTALGRAMADDRESSSET ((uint16_t) 0x0020 ) #define ILI9328_REGISTER_VERTICALGRAMADDRESSSET ((uint16_t) 0x0021 ) #define ILI9328_REGISTER_WRITEDATATOGRAM ((uint16_t) 0x0022 ) #define ILI9328_REGISTER_POWERCONTROL7 ((uint16_t) 0x0029 ) #define ILI9328_REGISTER_FRAMERATEANDCOLORCONTROL ((uint16_t) 0x002B ) #define ILI9328_REGISTER_GAMMACONTROL1 ((uint16_t) 0x0030 ) #define ILI9328_REGISTER_GAMMACONTROL2 ((uint16_t) 0x0031 ) #define ILI9328_REGISTER_GAMMACONTROL3 ((uint16_t) 0x0032 ) #define ILI9328_REGISTER_GAMMACONTROL4 ((uint16_t) 0x0035 ) #define ILI9328_REGISTER_GAMMACONTROL5 ((uint16_t) 0x0036 ) #define ILI9328_REGISTER_GAMMACONTROL6 ((uint16_t) 0x0037 ) #define ILI9328_REGISTER_GAMMACONTROL7 ((uint16_t) 0x0038 ) #define ILI9328_REGISTER_GAMMACONTROL8 ((uint16_t) 0x0039 ) #define ILI9328_REGISTER_GAMMACONTROL9 ((uint16_t) 0x003C ) #define ILI9328_REGISTER_GAMMACONTROL10 ((uint16_t) 0x003D ) #define ILI9328_REGISTER_HORIZONTALADDRESSSTARTPOSITION ((uint16_t) 0x0050 ) #define ILI9328_REGISTER_HORIZONTALADDRESSENDPOSITION ((uint16_t) 0x0051 ) #define ILI9328_REGISTER_VERTICALADDRESSSTARTPOSITION ((uint16_t) 0x0052 ) #define ILI9328_REGISTER_VERTICALADDRESSENDPOSITION ((uint16_t) 0x0053 ) #define ILI9328_REGISTER_DRIVEROUTPUTCONTROL2 ((uint16_t) 0x0060 ) #define ILI9328_REGISTER_BASEIMAGEDISPLAYCONTROL ((uint16_t) 0x0061 ) #define ILI9328_REGISTER_VERTICALSCROLLCONTROL ((uint16_t) 0x006A ) #define ILI9328_REGISTER_PARTIALIMAGE1DISPLAYPOSITION ((uint16_t) 0x0080 ) #define ILI9328_REGISTER_PARTIALIMAGE1AREASTARTLINE ((uint16_t) 0x0081 ) #define ILI9328_REGISTER_PARTIALIMAGE1AREAENDLINE ((uint16_t) 0x0082 ) #define ILI9328_REGISTER_PARTIALIMAGE2DISPLAYPOSITION ((uint16_t) 0x0083 ) #define ILI9328_REGISTER_PARTIALIMAGE2AREASTARTLINE ((uint16_t) 0x0084 ) #define ILI9328_REGISTER_PARTIALIMAGE2AREAENDLINE ((uint16_t) 0x0085 ) #define ILI9328_REGISTER_PANELINTERFACECONTROL1 ((uint16_t) 0x0090 ) #define ILI9328_REGISTER_PANELINTERFACECONTROL2 ((uint16_t) 0x0092 ) #define ILI9328_REGISTER_PANELINTERFACECONTROL4 ((uint16_t) 0x0095 ) #define ILI9328_REGISTER_OTPVCMPROGRAMMINGCONTROL ((uint16_t) 0x00A1 ) #define ILI9328_REGISTER_OTPVCMSTATUSANDENABLE ((uint16_t) 0x00A2 ) #define ILI9328_REGISTER_OTPPROGRAMMINGIDKEY ((uint16_t) 0x00A5 ) #endif