##// END OF EJS Templates
Sync
Sync

File last commit:

r79:441084ecfbce dev_alexis
r102:988f7eae7e79 dev_alexis
Show More
D51E5TA7601.h
110 lines | 6.5 KiB | text/x-c | CLexer
/*------------------------------------------------------------------------------
-- 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 <genericLCD_Controler.h>
/**
* @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 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);
#define ILI9328_REGISTER_DRIVERCODEREAD ((uint32_t) 0x0000 )
#define ILI9328_REGISTER_DRIVEROUTPUTCONTROL1 ((uint32_t) 0x0001 )
#define ILI9328_REGISTER_LCDDRIVINGCONTROL ((uint32_t) 0x0002 )
#define ILI9328_REGISTER_ENTRYMODE ((uint32_t) 0x0003 )
#define ILI9328_REGISTER_RESIZECONTROL ((uint32_t) 0x0004 )
#define ILI9328_REGISTER_DISPLAYCONTROL1 ((uint32_t) 0x0007 )
#define ILI9328_REGISTER_DISPLAYCONTROL2 ((uint32_t) 0x0008 )
#define ILI9328_REGISTER_DISPLAYCONTROL3 ((uint32_t) 0x0009 )
#define ILI9328_REGISTER_DISPLAYCONTROL4 ((uint32_t) 0x000A )
#define ILI9328_REGISTER_RGBDISPLAYINTERFACECONTROL1 ((uint32_t) 0x000C )
#define ILI9328_REGISTER_FRAMEMAKERPOSITION ((uint32_t) 0x000D )
#define ILI9328_REGISTER_RGBDISPLAYINTERFACECONTROL2 ((uint32_t) 0x000F )
#define ILI9328_REGISTER_POWERCONTROL1 ((uint32_t) 0x0010 )
#define ILI9328_REGISTER_POWERCONTROL2 ((uint32_t) 0x0011 )
#define ILI9328_REGISTER_POWERCONTROL3 ((uint32_t) 0x0012 )
#define ILI9328_REGISTER_POWERCONTROL4 ((uint32_t) 0x0013 )
#define ILI9328_REGISTER_HORIZONTALGRAMADDRESSSET ((uint32_t) 0x0020 )
#define ILI9328_REGISTER_VERTICALGRAMADDRESSSET ((uint32_t) 0x0021 )
#define ILI9328_REGISTER_WRITEDATATOGRAM ((uint32_t) 0x0022 )
#define ILI9328_REGISTER_POWERCONTROL7 ((uint32_t) 0x0029 )
#define ILI9328_REGISTER_FRAMERATEANDCOLORCONTROL ((uint32_t) 0x002B )
#define ILI9328_REGISTER_GAMMACONTROL1 ((uint32_t) 0x0030 )
#define ILI9328_REGISTER_GAMMACONTROL2 ((uint32_t) 0x0031 )
#define ILI9328_REGISTER_GAMMACONTROL3 ((uint32_t) 0x0032 )
#define ILI9328_REGISTER_GAMMACONTROL4 ((uint32_t) 0x0035 )
#define ILI9328_REGISTER_GAMMACONTROL5 ((uint32_t) 0x0036 )
#define ILI9328_REGISTER_GAMMACONTROL6 ((uint32_t) 0x0037 )
#define ILI9328_REGISTER_GAMMACONTROL7 ((uint32_t) 0x0038 )
#define ILI9328_REGISTER_GAMMACONTROL8 ((uint32_t) 0x0039 )
#define ILI9328_REGISTER_GAMMACONTROL9 ((uint32_t) 0x003C )
#define ILI9328_REGISTER_GAMMACONTROL10 ((uint32_t) 0x003D )
#define ILI9328_REGISTER_HORIZONTALADDRESSSTARTPOSITION ((uint32_t) 0x0050 )
#define ILI9328_REGISTER_HORIZONTALADDRESSENDPOSITION ((uint32_t) 0x0051 )
#define ILI9328_REGISTER_VERTICALADDRESSSTARTPOSITION ((uint32_t) 0x0052 )
#define ILI9328_REGISTER_VERTICALADDRESSENDPOSITION ((uint32_t) 0x0053 )
#define ILI9328_REGISTER_DRIVEROUTPUTCONTROL2 ((uint32_t) 0x0060 )
#define ILI9328_REGISTER_BASEIMAGEDISPLAYCONTROL ((uint32_t) 0x0061 )
#define ILI9328_REGISTER_VERTICALSCROLLCONTROL ((uint32_t) 0x006A )
#define ILI9328_REGISTER_PARTIALIMAGE1DISPLAYPOSITION ((uint32_t) 0x0080 )
#define ILI9328_REGISTER_PARTIALIMAGE1AREASTARTLINE ((uint32_t) 0x0081 )
#define ILI9328_REGISTER_PARTIALIMAGE1AREAENDLINE ((uint32_t) 0x0082 )
#define ILI9328_REGISTER_PARTIALIMAGE2DISPLAYPOSITION ((uint32_t) 0x0083 )
#define ILI9328_REGISTER_PARTIALIMAGE2AREASTARTLINE ((uint32_t) 0x0084 )
#define ILI9328_REGISTER_PARTIALIMAGE2AREAENDLINE ((uint32_t) 0x0085 )
#define ILI9328_REGISTER_PANELINTERFACECONTROL1 ((uint32_t) 0x0090 )
#define ILI9328_REGISTER_PANELINTERFACECONTROL2 ((uint32_t) 0x0092 )
#define ILI9328_REGISTER_PANELINTERFACECONTROL4 ((uint32_t) 0x0095 )
#define ILI9328_REGISTER_OTPVCMPROGRAMMINGCONTROL ((uint32_t) 0x00A1 )
#define ILI9328_REGISTER_OTPVCMSTATUSANDENABLE ((uint32_t) 0x00A2 )
#define ILI9328_REGISTER_OTPPROGRAMMINGIDKEY ((uint32_t) 0x00A5 )
#ifdef _PRVATE_D51E5TA7601_
void ili9328cpFrame(LCD_t* LCD,void* buffer,int x,int y,int w, int h);
#endif
#endif