PICSimLab - Programmable IC Simulator Laboratory 0.9.2
PICSimLab - API
Loading...
Searching...
No Matches
lcd_ili9341.h
1/* ########################################################################
2
3 PICSimLab - Programmable IC Simulator Laboratory
4
5 ########################################################################
6
7 Copyright (c) : 2020-2024 Luis Claudio GambĂ´a Lopes <lcgamboa@yahoo.com>
8
9 This program is free software; you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation; either version 2, or (at your option)
12 any later version.
13
14 This program is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 GNU General Public License for more details.
18
19 You should have received a copy of the GNU General Public License
20 along with this program; if not, write to the Free Software
21 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
22
23 For e-mail suggestions : lcgamboa@yahoo.com
24 ######################################################################## */
25
26#ifndef LCD_ILI9341
27#define LCD_ILI9341
28
29#include "../lib/draw.h"
30
31#include "bitbang_spi.h"
32
33/* pinout
34 1 /RST
35 2 /CE
36 3 DC
37 4 DIN
38 5 CLK
39 6 VCC
40 7 BL
41 8 GND
42*/
43
44typedef struct {
45 unsigned long int ram[240][320];
46 unsigned char pwr; // previous wr
47 unsigned char prd; // previous rw
48 bitbang_spi_t bb_spi;
49 unsigned char hrst;
50 unsigned char dat;
51 unsigned char am; // address mode
52 unsigned char mac; // memory access control
53 unsigned char pf; // pixel format
54 unsigned char inv; // inverted
55 unsigned char on; // on/off
56 unsigned short x;
57 unsigned short y;
58 unsigned char update;
59 unsigned char last_cmd;
60 unsigned char cmd_argc;
61 unsigned char cmd_val;
62 unsigned char dc;
63 unsigned short out; // output value
64
65 unsigned short col_start;
66 unsigned short col_end;
67 unsigned short pag_start;
68 unsigned short pag_end;
69
70 unsigned long color;
72
73void lcd_ili9341_rst(lcd_ili9341_t* lcd);
74void lcd_ili9341_init(lcd_ili9341_t* lcd);
75void lcd_ili9341_update(lcd_ili9341_t* lcd);
76
77unsigned char lcd_ili9341_SPI_io(lcd_ili9341_t* lcd, const unsigned char** pins_value);
78unsigned short lcd_ili9341_8_io(lcd_ili9341_t* lcd, const unsigned char** pins_value);
79
80void lcd_ili9341_draw(lcd_ili9341_t* lcd, CanvasCmd_ft CanvasCmd, const int x1, const int y1, const int w1,
81 const int h1, const int picpwr);
82
83#endif // LCD_ILI9341
Definition bitbang_spi.h:35
Definition lcd_ili9341.h:44