ssd2119.h
93 lines
| 5.0 KiB
| text/x-c
|
CLexer
r58 | /*------------------------------------------------------------------------------ | |||
-- 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 | ||||