##// END OF EJS Templates
Started SSD2119 driver based on ili9328 driver....
Started SSD2119 driver based on ili9328 driver. -IF more or less functionnal /!\ need to check FSMC config -Need to check mid point circle algo -need to generate good fonts! -Should merge ili and ssd driver in one since the interface is the same, we can detect the chip with Device Code. Added Stm32Discovery extension board bsp.

File last commit:

r58:dcfec4f56803 dev_alexis
r58:dcfec4f56803 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