Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion bsp/qemu-vexpress-a9/drivers/drv_clcd.c
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ int drv_clcd_hw_init(void)

_lcd.width = CLCD_WIDTH;
_lcd.height = CLCD_HEIGHT;
_lcd.fb = rt_malloc_align(_lcd.width * _lcd.height * 2, 32);
_lcd.fb = rt_malloc(_lcd.width * _lcd.height * 2);
if (_lcd.fb == NULL)
{
rt_kprintf("initialize frame buffer failed!\n");
Expand Down
3 changes: 1 addition & 2 deletions bsp/qemu-vexpress-a9/drivers/lvgl/SConscript
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,13 @@ cwd = GetCurrentDir()
group = []
src = Glob('*.c')
CPPPATH = [cwd]
CPPDEFINES = ['STM32F4']

list = os.listdir(cwd)
for d in list:
path = os.path.join(cwd, d)
if os.path.isfile(os.path.join(path, 'SConscript')):
group = group + SConscript(os.path.join(d, 'SConscript'))

group += DefineGroup('LVGL-port', src, depend = ['BSP_USING_LVGL'], CPPPATH = CPPPATH, CPPDEFINES = CPPDEFINES)
group += DefineGroup('LVGL-port', src, depend = ['BSP_USING_LVGL'], CPPPATH = CPPPATH)

Return('group')
3 changes: 2 additions & 1 deletion bsp/qemu-vexpress-a9/drivers/lvgl/lv_demo.c
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
*/
#include <rtthread.h>
#include <lvgl.h>
#include <lv_port_indev.h>
#define DBG_TAG "LVGL.demo"
#define DBG_LVL DBG_INFO
#include <rtdbg.h>
Expand All @@ -24,9 +23,11 @@

static void lvgl_thread(void *parameter)
{
/* display demo; you may replace with your LVGL application at here */
extern void lv_demo_music(void);
lv_demo_music();

/* handle the tasks of LVGL */
while(1)
{
lv_task_handler();
Expand Down
4 changes: 2 additions & 2 deletions bsp/qemu-vexpress-a9/drivers/lvgl/lv_port_disp.c
Original file line number Diff line number Diff line change
Expand Up @@ -116,14 +116,14 @@ void lv_port_disp_init(void)
RT_ASSERT(info.bits_per_pixel == 8 || info.bits_per_pixel == 16 ||
info.bits_per_pixel == 24 || info.bits_per_pixel == 32);

fbuf1 = rt_malloc_align(info.width * info.height * sizeof(lv_color_t), 32);
fbuf1 = rt_malloc(info.width * info.height * sizeof(lv_color_t));
if (fbuf1 == RT_NULL)
{
rt_kprintf("Error: alloc disp buf fail\n");
return;
}

fbuf2 = rt_malloc_align(info.width * info.height * sizeof(lv_color_t), 32);
fbuf2 = rt_malloc(info.width * info.height * sizeof(lv_color_t));
if (fbuf2 == RT_NULL)
{
rt_kprintf("Error: alloc disp buf fail\n");
Expand Down
5 changes: 0 additions & 5 deletions bsp/qemu-vexpress-a9/drivers/lvgl/lv_port_indev.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,7 @@
extern "C" {
#endif

#include <lv_hal_indev.h>

extern lv_indev_t * button_indev;

void lv_port_indev_init(void);
void lv_port_indev_input(rt_int16_t x, rt_int16_t y, lv_indev_state_t state);

#ifdef __cplusplus
} /*extern "C"*/
Expand Down
19 changes: 17 additions & 2 deletions bsp/simulator/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,23 @@ config SOC_SIMULATOR

if RT_USING_DFS
config RT_USING_DFS_WINSHAREDIR
bool "Enable shared file system between windows"
default n
bool "Enable shared file system between windows"
default n
endif

config BSP_USING_LVGL
bool "Enable LVGL for LCD"
select PKG_USING_LVGL
select PKG_USING_LV_MUSIC_DEMO
default n

if BSP_USING_LVGL
config BSP_LCD_WIDTH
int "LCD width"
default 800

config BSP_LCD_HEIGHT
int "LCD height"
default 480

endif
6 changes: 6 additions & 0 deletions bsp/simulator/drivers/SConscript
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import sys
import os
from building import *

cwd = GetCurrentDir()
Expand Down Expand Up @@ -34,4 +35,9 @@ if sys.platform[0:5]=="linux": #check whether under linux
group = DefineGroup('Drivers', src, depend = [''],
CPPPATH = CPPPATH, LIBS=LIBS, LIBPATH=LIBPATH, CPPDEFINES = CPPDEFINES)

list = os.listdir(cwd)
for item in list:
if os.path.isfile(os.path.join(cwd, item, 'SConscript')):
group = group + SConscript(os.path.join(item, 'SConscript'))

Return('group')
17 changes: 17 additions & 0 deletions bsp/simulator/drivers/lvgl/SConscript
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
from building import *
import os

cwd = GetCurrentDir()
group = []
src = Glob('*.c')
CPPPATH = [cwd]

list = os.listdir(cwd)
for d in list:
path = os.path.join(cwd, d)
if os.path.isfile(os.path.join(path, 'SConscript')):
group = group + SConscript(os.path.join(d, 'SConscript'))

group += DefineGroup('LVGL-port', src, depend = ['BSP_USING_LVGL'], CPPPATH = CPPPATH)

Return('group')
30 changes: 30 additions & 0 deletions bsp/simulator/drivers/lvgl/lv_conf.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
/*
* Copyright (c) 2006-2021, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
*
* Change Logs:
* Date Author Notes
* 2021-10-18 Meco Man First version
*/

#ifndef LV_CONF_H
#define LV_CONF_H

#define LV_USE_PERF_MONITOR 1
#define LV_COLOR_DEPTH 32

# define USE_WIN32DRV 1
# define WIN32DRV_MONITOR_ZOOM 1

/* music player demo */
#include <rtconfig.h>
#define LV_DISP_DEF_REFR_PERIOD 10
#define LV_HOR_RES_MAX BSP_LCD_WIDTH
#define LV_VER_RES_MAX BSP_LCD_HEIGHT
#define LV_USE_DEMO_RTT_MUSIC 1
#define LV_DEMO_RTT_MUSIC_AUTO_PLAY 1
#define LV_FONT_MONTSERRAT_12 1
#define LV_FONT_MONTSERRAT_16 1

#endif
62 changes: 62 additions & 0 deletions bsp/simulator/drivers/lvgl/lv_demo.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
/*
* Copyright (c) 2006-2021, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
*
* Change Logs:
* Date Author Notes
* 2021-10-17 Meco Man First version
*/
#include <rtthread.h>
#define DBG_TAG "LVGL.demo"
#define DBG_LVL DBG_INFO
#include <rtdbg.h>
#include <lvgl.h>
#include <win32drv.h>

#ifndef LV_THREAD_STACK_SIZE
#define LV_THREAD_STACK_SIZE 4096
#endif

#ifndef LV_THREAD_PRIO
#define LV_THREAD_PRIO (RT_THREAD_PRIORITY_MAX*2/3)
#endif

static void lvgl_thread(void *parameter)
{
/* initialize win32 driver; don't put this in lv_port_disp() */
if (!lv_win32_init(GetModuleHandleW(NULL), SW_SHOW, BSP_LCD_WIDTH, BSP_LCD_HEIGHT, NULL))
{
LOG_E("lv_win32_init failure!");
return;
}
lv_win32_add_all_input_devices_to_group(NULL);

/* display demo; you may replace with your LVGL application at here */
extern void lv_demo_music(void);
lv_demo_music();

/* handle the tasks of LVGL */
while (!lv_win32_quit_signal)
{
lv_task_handler();
rt_thread_mdelay(1);
}

LOG_W("LVGL simulator window closed!");
}

static int lvgl_demo_init(void)
{
rt_thread_t tid;

tid = rt_thread_create("LVGL", lvgl_thread, RT_NULL, LV_THREAD_STACK_SIZE, LV_THREAD_PRIO, 10);
if(tid == RT_NULL)
{
LOG_E("Fail to create 'LVGL' thread");
}
rt_thread_startup(tid);

return 0;
}
INIT_APP_EXPORT(lvgl_demo_init);
14 changes: 14 additions & 0 deletions bsp/simulator/drivers/lvgl/lv_port_disp.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
/*
* Copyright (c) 2006-2021, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
*
* Change Logs:
* Date Author Notes
* 2021-10-18 Meco Man The first version
*/

void lv_port_disp_init(void)
{
/* do nothing*/
}
23 changes: 23 additions & 0 deletions bsp/simulator/drivers/lvgl/lv_port_disp.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
/*
* Copyright (c) 2006-2021, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
*
* Change Logs:
* Date Author Notes
* 2021-10-18 Meco Man The first version
*/
#ifndef LV_PORT_DISP_H
#define LV_PORT_DISP_H

#ifdef __cplusplus
extern "C" {
#endif

void lv_port_disp_init(void);

#ifdef __cplusplus
} /*extern "C"*/
#endif

#endif
14 changes: 14 additions & 0 deletions bsp/simulator/drivers/lvgl/lv_port_indev.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
/*
* Copyright (c) 2006-2021, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
*
* Change Logs:
* Date Author Notes
* 2021-10-18 Meco Man The first version
*/

void lv_port_indev_init(void)
{
/* do nothing */
}
23 changes: 23 additions & 0 deletions bsp/simulator/drivers/lvgl/lv_port_indev.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
/*
* Copyright (c) 2006-2021, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
*
* Change Logs:
* Date Author Notes
* 2021-10-18 Meco Man The first version
*/
#ifndef LV_PORT_INDEV_H
#define LV_PORT_INDEV_H

#ifdef __cplusplus
extern "C" {
#endif

void lv_port_indev_init(void);

#ifdef __cplusplus
} /*extern "C"*/
#endif

#endif
Loading