74 lines
1.4 KiB
C
74 lines
1.4 KiB
C
#include "st7789v2.h"
|
|
#include "app_log.h"
|
|
#include "system/includes.h"
|
|
|
|
|
|
static u8 lcd_test_task_created;
|
|
|
|
static void lcd_test_color(const char *name, u8 r, u8 g, u8 b)
|
|
{
|
|
int ret;
|
|
|
|
ret = st7789v2_fill_rgb(r, g, b);
|
|
if (ret != 0) {
|
|
APP_LOG("lcd test: fill %s failed, ret=%d\n",
|
|
name, ret);
|
|
} else {
|
|
APP_LOG("lcd test: %s\n",
|
|
name);
|
|
}
|
|
|
|
os_time_dly(100);
|
|
}
|
|
|
|
static void st7789v2_test_task(void *priv)
|
|
{
|
|
int ret;
|
|
|
|
while (1) {
|
|
ret = st7789v2_open();
|
|
if (ret == 0) {
|
|
break;
|
|
}
|
|
|
|
APP_LOG("lcd test: open failed, ret=%d; retrying\n",
|
|
ret);
|
|
|
|
os_time_dly(100);
|
|
}
|
|
|
|
while (1) {
|
|
lcd_test_color("red", 255, 0, 0);
|
|
lcd_test_color("green", 0, 255, 0);
|
|
lcd_test_color("blue", 0, 0, 255);
|
|
lcd_test_color("white", 255, 255, 255);
|
|
lcd_test_color("black", 0, 0, 0);
|
|
}
|
|
}
|
|
|
|
int st7789v2_test_init(void)
|
|
{
|
|
int ret;
|
|
|
|
if (lcd_test_task_created) {
|
|
return 0;
|
|
}
|
|
|
|
ret = os_task_create(
|
|
st7789v2_test_task,
|
|
NULL,
|
|
20,
|
|
1000,
|
|
0,
|
|
"st7789v2_test");
|
|
|
|
if (ret == 0) {
|
|
lcd_test_task_created = 1;
|
|
} else {
|
|
APP_LOG("lcd test: task create failed, ret=%d\n",
|
|
ret);
|
|
}
|
|
|
|
return ret;
|
|
}
|