[stm32l475] update lcd driver
This commit is contained in:
parent
5f2f862ed9
commit
364109708c
|
@ -2,14 +2,14 @@ from building import *
|
|||
import os
|
||||
|
||||
cwd = GetCurrentDir()
|
||||
src = Glob('*.c')
|
||||
src = ['drv_lcd.c']
|
||||
CPPPATH = [cwd]
|
||||
|
||||
if GetDepend(['BSP_USING_LCD_QRCODE']):
|
||||
src = src + Glob('lcd_qrcode.c')
|
||||
src = src + ['lcd_qrcode.c']
|
||||
|
||||
if GetDepend(['BSP_USING_LCD_SAMPLE']):
|
||||
src = src + Glob('demo/lcd_sample.c')
|
||||
src = src + ['demo/lcd_sample.c']
|
||||
|
||||
group = DefineGroup('Drivers', src, depend = ['BSP_USING_SPI_LCD'], CPPPATH = CPPPATH)
|
||||
|
||||
|
|
|
@ -16,7 +16,9 @@
|
|||
#include <drv_gpio.h>
|
||||
#include <drv_spi.h>
|
||||
#include "drv_lcd.h"
|
||||
#ifndef BSP_USING_LVGL
|
||||
#include "drv_lcd_font.h"
|
||||
#endif /* BSP_USING_LVGL */
|
||||
|
||||
#define DBG_TAG "drv.lcd"
|
||||
#define DBG_LVL DBG_INFO
|
||||
|
@ -25,9 +27,11 @@
|
|||
#define LCD_PWR_PIN GET_PIN(B, 7)
|
||||
#define LCD_DC_PIN GET_PIN(B, 4)
|
||||
#define LCD_RES_PIN GET_PIN(B, 6)
|
||||
#define LCD_CLEAR_SEND_NUMBER 5760 /* 240*240/10 */
|
||||
|
||||
#ifndef BSP_USING_LVGL
|
||||
#define LCD_CLEAR_SEND_NUMBER 5760 /* 240*240/10 */
|
||||
rt_uint16_t BACK_COLOR = WHITE, FORE_COLOR = BLACK;
|
||||
#endif /* BSP_USING_LVGL */
|
||||
|
||||
static struct rt_spi_device *spi_dev_lcd;
|
||||
|
||||
|
@ -86,6 +90,7 @@ static rt_err_t lcd_write_data(const rt_uint8_t data)
|
|||
}
|
||||
}
|
||||
|
||||
#ifndef BSP_USING_LVGL
|
||||
static rt_err_t lcd_write_half_word(const rt_uint16_t da)
|
||||
{
|
||||
rt_size_t len;
|
||||
|
@ -106,6 +111,7 @@ static rt_err_t lcd_write_half_word(const rt_uint16_t da)
|
|||
return RT_EOK;
|
||||
}
|
||||
}
|
||||
#endif /* BSP_USING_LVGL */
|
||||
|
||||
static void lcd_gpio_init(void)
|
||||
{
|
||||
|
@ -214,6 +220,7 @@ static int rt_hw_lcd_init(void)
|
|||
}
|
||||
INIT_DEVICE_EXPORT(rt_hw_lcd_init);
|
||||
|
||||
#ifndef BSP_USING_LVGL
|
||||
/**
|
||||
* Set background color and foreground color
|
||||
*
|
||||
|
@ -227,6 +234,7 @@ void lcd_set_color(rt_uint16_t back, rt_uint16_t fore)
|
|||
BACK_COLOR = back;
|
||||
FORE_COLOR = fore;
|
||||
}
|
||||
#endif /* BSP_USING_LVGL */
|
||||
|
||||
void lcd_display_on(void)
|
||||
{
|
||||
|
@ -281,6 +289,7 @@ void lcd_address_set(rt_uint16_t x1, rt_uint16_t y1, rt_uint16_t x2, rt_uint16_t
|
|||
lcd_write_cmd(0x2C);
|
||||
}
|
||||
|
||||
#ifndef BSP_USING_LVGL
|
||||
/**
|
||||
* clear the lcd.
|
||||
*
|
||||
|
@ -424,6 +433,8 @@ void lcd_fill(rt_uint16_t x_start, rt_uint16_t y_start, rt_uint16_t x_end, rt_ui
|
|||
}
|
||||
}
|
||||
}
|
||||
#endif /* BSP_USING_LVGL */
|
||||
|
||||
|
||||
/**
|
||||
* full color array on the lcd.
|
||||
|
@ -446,6 +457,7 @@ void lcd_fill_array(rt_uint16_t x_start, rt_uint16_t y_start, rt_uint16_t x_end,
|
|||
rt_spi_send(spi_dev_lcd, pcolor, size);
|
||||
}
|
||||
|
||||
#ifndef BSP_USING_LVGL
|
||||
/**
|
||||
* display a line on the lcd.
|
||||
*
|
||||
|
@ -856,3 +868,5 @@ rt_err_t lcd_show_image(rt_uint16_t x, rt_uint16_t y, rt_uint16_t length, rt_uin
|
|||
|
||||
return RT_EOK;
|
||||
}
|
||||
|
||||
#endif /* BSP_USING_LVGL */
|
||||
|
|
|
@ -5,8 +5,8 @@
|
|||
*
|
||||
* Change Logs:
|
||||
* Date Author Notes
|
||||
* 2018-08-14 flybreak the first version
|
||||
* 2018-09-18 balanceTWK add sleep mode function
|
||||
* 2018-08-14 flybreak the first version
|
||||
* 2018-09-18 balanceTWK add sleep mode function
|
||||
*/
|
||||
|
||||
#ifndef __DRV_LCD_H__
|
||||
|
@ -14,14 +14,10 @@
|
|||
|
||||
#include <rtthread.h>
|
||||
|
||||
#ifdef PKG_USING_QRCODE
|
||||
#include <qrcode.h>
|
||||
#endif
|
||||
|
||||
#define LCD_W 240
|
||||
#define LCD_H 240
|
||||
|
||||
//POINT_COLOR
|
||||
#ifndef BSP_USING_LVGL
|
||||
#define WHITE 0xFFFF
|
||||
#define BLACK 0x0000
|
||||
#define BLUE 0x001F
|
||||
|
@ -42,25 +38,25 @@
|
|||
#define GRAY240 0XF79E
|
||||
|
||||
extern rt_uint16_t BACK_COLOR, FORE_COLOR;
|
||||
|
||||
void lcd_clear(rt_uint16_t color);
|
||||
void lcd_address_set(rt_uint16_t x1, rt_uint16_t y1, rt_uint16_t x2, rt_uint16_t y2);
|
||||
void lcd_set_color(rt_uint16_t back, rt_uint16_t fore);
|
||||
|
||||
void lcd_draw_point(rt_uint16_t x, rt_uint16_t y);
|
||||
void lcd_draw_point_color(rt_uint16_t x, rt_uint16_t y, rt_uint16_t color);
|
||||
void lcd_draw_circle(rt_uint16_t x0, rt_uint16_t y0, rt_uint8_t r);
|
||||
void lcd_draw_line(rt_uint16_t x1, rt_uint16_t y1, rt_uint16_t x2, rt_uint16_t y2);
|
||||
void lcd_draw_rectangle(rt_uint16_t x1, rt_uint16_t y1, rt_uint16_t x2, rt_uint16_t y2);
|
||||
void lcd_fill(rt_uint16_t x_start, rt_uint16_t y_start, rt_uint16_t x_end, rt_uint16_t y_end, rt_uint16_t color);
|
||||
void lcd_fill_array(rt_uint16_t x_start, rt_uint16_t y_start, rt_uint16_t x_end, rt_uint16_t y_end, void *pcolor);
|
||||
void lcd_show_num(rt_uint16_t x, rt_uint16_t y, rt_uint32_t num, rt_uint8_t len, rt_uint32_t size);
|
||||
rt_err_t lcd_show_string(rt_uint16_t x, rt_uint16_t y, rt_uint32_t size, const char *fmt, ...);
|
||||
rt_err_t lcd_show_image(rt_uint16_t x, rt_uint16_t y, rt_uint16_t length, rt_uint16_t wide, const rt_uint8_t *p);
|
||||
#endif /* BSP_USING_LVGL */
|
||||
|
||||
void lcd_enter_sleep(void);
|
||||
void lcd_exit_sleep(void);
|
||||
void lcd_display_on(void);
|
||||
void lcd_display_off(void);
|
||||
|
||||
void lcd_address_set(rt_uint16_t x1, rt_uint16_t y1, rt_uint16_t x2, rt_uint16_t y2);
|
||||
void lcd_fill_array(rt_uint16_t x_start, rt_uint16_t y_start, rt_uint16_t x_end, rt_uint16_t y_end, void *pcolor);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -186,4 +186,4 @@ __exit:
|
|||
|
||||
return result;
|
||||
}
|
||||
#endif
|
||||
#endif /* BSP_USING_LCD_QRCODE */
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
#include <rtconfig.h>
|
||||
|
||||
#ifdef PKG_USING_QRCODE
|
||||
#ifdef BSP_USING_LCD_QRCODE
|
||||
#include <rtdef.h>
|
||||
rt_err_t lcd_show_qrcode(rt_uint16_t x, rt_uint16_t y, rt_uint8_t version, rt_uint8_t ecc, const char *data, rt_uint8_t enlargement);
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue