##// END OF EJS Templates
Huge cleanup, removed "out of dir building" now libuc contains qmake and...
Huge cleanup, removed "out of dir building" now libuc contains qmake and spec files. Libuc uses now qmake's prl file for dependecy propagation.

File last commit:

r71:608b7f0e27c2 dev_alexis
r71:608b7f0e27c2 dev_alexis
Show More
ssd2119.h
93 lines | 5.0 KiB | text/x-c | CLexer
/*------------------------------------------------------------------------------
-- 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 <uhandle.h>
#include <genericLCD_Controler.h>
#include <stdint.h>
#include <fonts.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