GadgetSeed  0.9.6
ili9341_lcd.c ファイル

ILI9341 LCD GPIO 8bit接続 ドライバ Kuman K60((Kuman 2.8inch TFT LCD Shield)) [詳解]

#include "device.h"
#include "device/video_ioctl.h"
#include "device/vio_ioctl.h"
#include "timer.h"
#include "tkprintf.h"
#include "graphics.h"
#include "dkprintf.h"
ili9341_lcd.c の依存先関係図:

[ソースコード]

マクロ定義

#define LCD_WIDTH   320
 
#define LCD_HEIGHT   240
 
#define LCD_ROTATION   0
 !!#define LCD_ROTATION 1 // 0:240x320, 1:320x240
 
#define FMEM_NOP   0
 
#define FMEM_WRITE   1
 
#define FMEM_READ   2
 
#define ILI9341_SOFTRESET   0x01
 
#define ILI9341_DISPLAYOFF   0x28
 
#define ILI9341_POWERCONTROL1   0xc0
 
#define ILI9341_POWERCONTROL2   0xc1
 
#define ILI9341_VCOMCONTROL1   0xc5
 
#define ILI9341_VCOMCONTROL2   0xc7
 
#define ILI9341_MEMCONTROL   0x36
 
#define ILI9341_PIXELFORMAT   0x3a
 
#define ILI9341_FRAMECONTROL   0xb1
 
#define ILI9341_ENTRYMODE   0xb7
 
#define ILI9341_SLEEPOUT   0x11
 
#define ILI9341_DISPLAYON   0x29
 
#define ILI9341_COLADDRSET   0x2a
 
#define ILI9341_PAGEADDRSET   0x2b
 
#define ILI9341_MEMORYWRITE   0x2c
 
#define ILI9341_MEMORYREAD   0x2e
 
#define ILI9341_READID4   0xd3
 
#define ILI9341_MADCTL_MY   0x80
 
#define ILI9341_MADCTL_MX   0x40
 
#define ILI9341_MADCTL_MV   0x20
 
#define ILI9341_MADCTL_RGB   0x00
 
#define ILI9341_MADCTL_BGR   0x08
 

関数

static void set_cs (unsigned int cs)
 
static void reset_ili9341 (void)
 
static void write_reg8 (unsigned char addr, unsigned char data)
 
static void write_reg16 (unsigned char addr, unsigned short data)
 
static void write_reg32 (unsigned char addr, unsigned int data)
 
static unsigned int read_reg32 (unsigned char addr)
 
static void set_window (int x1, int y1, int x2, int y2)
 
static void init_ili9341 (void)
 
static void fill_screen (unsigned short color)
 
static int ili9341_lcd_register (struct st_device *dev, char *param)
 
static int ili9341_lcd_read (struct st_device *dev, void *data, unsigned int size)
 
static int ili9341_lcd_write (struct st_device *dev, const void *data, unsigned int size)
 
static int ili9341_lcd_ioctl (struct st_device *dev, unsigned int com, unsigned int arg, void *param)
 

変数

static int rotation = LCD_ROTATION
 
static struct st_devicegpio_dev
 
static unsigned short lcd_width = LCD_WIDTH
 
static unsigned short lcd_height = LCD_HEIGHT
 
static unsigned short fore_color = 0
 
static unsigned short back_color = 0
 
static int fmem_stat = FMEM_NOP
 
static struct st_video_info lcd_info
 
const struct st_device ili9341_lcd_device
 

詳解

ILI9341 LCD GPIO 8bit接続 ドライバ Kuman K60((Kuman 2.8inch TFT LCD Shield))

http://www.kumantech.com/kuman-uno-r3-28-inch-tft-touch-screen-with-sd-card-socket-for-arduino-nano-mega2560-320x240-28quot-lcd-k60_p0278.html

日付
2017.10.15
著者
Takashi SHUDO

ili9341_lcd.c に定義があります。

変数詳解

◆ ili9341_lcd_device

const struct st_device ili9341_lcd_device
初期値:
= {
.explan = "ILI9341(K60) LCD",
.info = (void *)&lcd_info,
.register_dev = ili9341_lcd_register,
.read = ili9341_lcd_read,
.write = ili9341_lcd_write,
.ioctl = ili9341_lcd_ioctl,
}
#define DEF_DEV_NAME_VIDEO
標準ビデオデバイス名
Definition: video_ioctl.h:16

ili9341_lcd.c408 行目に定義があります。

◆ lcd_info

struct st_video_info lcd_info
static
初期値:
= {
.width = LCD_WIDTH,
.height = LCD_HEIGHT,
.color_depth = VCOLORDEP_16,
}
#define VIDEOTYPE_CMDDRAW
コマンドによる描画(フレームバッファなし)
Definition: video_ioctl.h:20
#define VCOLORDEP_16
16ビットカラー
Definition: video_ioctl.h:26

ili9341_lcd.c396 行目に定義があります。