|
|
/*------------------------------------------------------------------------------
|
|
|
-- This file is a part of the libuc, microcontroler library
|
|
|
-- Copyright (C) 2013, 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 SSD2119_H
|
|
|
#define SSD2119_H
|
|
|
|
|
|
#include <genericLCD_Controler.h>
|
|
|
|
|
|
extern int ssd2119init(struct LCD_t* LCD);
|
|
|
extern void ssd2119setFrame(LCD_t* LCD,uint16_t X,uint16_t Y,uint16_t W,uint16_t H);
|
|
|
extern void ssd2119setGRAMaddress(LCD_t* LCD,uint16_t Haddress,uint16_t Vaddress);
|
|
|
extern void ssd2119paint(LCD_t* LCD,void* buffer,uint16_t Xpos,uint16_t Ypos,uint16_t Width,uint16_t Height);
|
|
|
extern void ssd2119paintText(LCD_t* LCD,char* buffer,uint16_t Xpos,uint16_t Ypos,sFONT *font,uint32_t color);
|
|
|
extern void ssd2119paintFilRect(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 ssd2119paintFilCirc(LCD_t* LCD,uint16_t Xpos,uint16_t Ypos,uint16_t r,uint32_t contColor,uint16_t contSz,uint32_t fillColor);
|
|
|
extern void ssd2119paintFilCircMidPoint(LCD_t* LCD,uint16_t Xpos,uint16_t Ypos,uint16_t r,uint32_t contColor,uint16_t contSz,uint32_t fillColor);
|
|
|
extern void ssd2119refreshenable(struct LCD_t* LCD,int enable);
|
|
|
|
|
|
/* SSD2119 registers */
|
|
|
|
|
|
#define SSD2119_REGISTER_DEVICE_CODE_READ ((uint32_t)0x00)
|
|
|
#define SSD2119_REGISTER_OSC_START ((uint32_t)0x00)
|
|
|
#define SSD2119_REGISTER_OUTPUT_CTRL ((uint32_t)0x01)
|
|
|
#define SSD2119_REGISTER_LCD_DRIVE_AC_CTRL ((uint32_t)0x02)
|
|
|
#define SSD2119_REGISTER_PWR_CTRL_1 ((uint32_t)0x03)
|
|
|
#define SSD2119_REGISTER_DISPLAY_CTRL ((uint32_t)0x07)
|
|
|
#define SSD2119_REGISTER_FRAME_CYCLE_CTRL ((uint32_t)0x0B)
|
|
|
#define SSD2119_REGISTER_PWR_CTRL_2 ((uint32_t)0x0C)
|
|
|
#define SSD2119_REGISTER_PWR_CTRL_3 ((uint32_t)0x0D)
|
|
|
#define SSD2119_REGISTER_PWR_CTRL_4 ((uint32_t)0x0E)
|
|
|
#define SSD2119_REGISTER_GATE_SCAN_START ((uint32_t)0x0F)
|
|
|
#define SSD2119_REGISTER_SLEEP_MODE_1 ((uint32_t)0x10)
|
|
|
#define SSD2119_REGISTER_ENTRY_MODE ((uint32_t)0x11)
|
|
|
#define SSD2119_REGISTER_SLEEP_MODE_2 ((uint32_t)0x12)
|
|
|
#define SSD2119_REGISTER_GEN_IF_CTRL ((uint32_t)0x15)
|
|
|
#define SSD2119_REGISTER_H_PORCH ((uint32_t)0x16)
|
|
|
#define SSD2119_REGISTER_V_PORCH ((uint32_t)0x17)
|
|
|
#define SSD2119_REGISTER_PWR_CTRL_5 ((uint32_t)0x1E)
|
|
|
#define SSD2119_REGISTER_UNIFORMITY ((uint32_t)0x20)
|
|
|
#define SSD2119_REGISTER_RAM_DATA ((uint32_t)0x22)
|
|
|
#define SSD2119_REGISTER_FRAME_FREQ ((uint32_t)0x25)
|
|
|
#define SSD2119_REGISTER_ANALOG_SET ((uint32_t)0x26)
|
|
|
#define SSD2119_REGISTER_VCOM_OTP_1 ((uint32_t)0x28)
|
|
|
#define SSD2119_REGISTER_VCOM_OTP_2 ((uint32_t)0x29)
|
|
|
#define SSD2119_REGISTER_GAMMA_CTRL_1 ((uint32_t)0x30)
|
|
|
#define SSD2119_REGISTER_GAMMA_CTRL_2 ((uint32_t)0x31)
|
|
|
#define SSD2119_REGISTER_GAMMA_CTRL_3 ((uint32_t)0x32)
|
|
|
#define SSD2119_REGISTER_GAMMA_CTRL_4 ((uint32_t)0x33)
|
|
|
#define SSD2119_REGISTER_GAMMA_CTRL_5 ((uint32_t)0x34)
|
|
|
#define SSD2119_REGISTER_GAMMA_CTRL_6 ((uint32_t)0x35)
|
|
|
#define SSD2119_REGISTER_GAMMA_CTRL_7 ((uint32_t)0x36)
|
|
|
#define SSD2119_REGISTER_GAMMA_CTRL_8 ((uint32_t)0x37)
|
|
|
#define SSD2119_REGISTER_GAMMA_CTRL_9 ((uint32_t)0x3A)
|
|
|
#define SSD2119_REGISTER_GAMMA_CTRL_10 ((uint32_t)0x3B)
|
|
|
#define SSD2119_REGISTER_V_SCROLL_1 ((uint32_t)0x41)
|
|
|
#define SSD2119_REGISTER_V_SCROLL_2 ((uint32_t)0x42)
|
|
|
#define SSD2119_REGISTER_V_RAM_POS ((uint32_t)0x44)
|
|
|
#define SSD2119_REGISTER_H_RAM_START ((uint32_t)0x45)
|
|
|
#define SSD2119_REGISTER_H_RAM_END ((uint32_t)0x46)
|
|
|
#define SSD2119_REGISTER_1_DRV_POS_1 ((uint32_t)0x48)
|
|
|
#define SSD2119_REGISTER_1_DRV_POS_2 ((uint32_t)0x49)
|
|
|
#define SSD2119_REGISTER_2_DRV_POS_1 ((uint32_t)0x4A)
|
|
|
#define SSD2119_REGISTER_2_DRV_POS_2 ((uint32_t)0x4B)
|
|
|
#define SSD2119_REGISTER_X_RAM_ADDR ((uint32_t)0x4E)
|
|
|
#define SSD2119_REGISTER_Y_RAM_ADDR ((uint32_t)0x4F)
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|