Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
2345VOR
rt-thread
提交
a6b62d37
R
rt-thread
项目概览
2345VOR
/
rt-thread
与 Fork 源项目一致
Fork自
RT-Thread / rt-thread
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
rt-thread
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
a6b62d37
编写于
12月 16, 2021
作者:
G
guo
提交者:
GitHub
12月 16, 2021
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #5394 from mysterywolf/simu
上级
d724eed9
d4a72f29
变更
17
展开全部
隐藏空白更改
内联
并排
Showing
17 changed file
with
1288 addition
and
13 deletion
+1288
-13
bsp/qemu-vexpress-a9/drivers/drv_clcd.c
bsp/qemu-vexpress-a9/drivers/drv_clcd.c
+1
-1
bsp/qemu-vexpress-a9/drivers/lvgl/SConscript
bsp/qemu-vexpress-a9/drivers/lvgl/SConscript
+1
-2
bsp/qemu-vexpress-a9/drivers/lvgl/lv_demo.c
bsp/qemu-vexpress-a9/drivers/lvgl/lv_demo.c
+2
-1
bsp/qemu-vexpress-a9/drivers/lvgl/lv_port_disp.c
bsp/qemu-vexpress-a9/drivers/lvgl/lv_port_disp.c
+2
-2
bsp/qemu-vexpress-a9/drivers/lvgl/lv_port_indev.h
bsp/qemu-vexpress-a9/drivers/lvgl/lv_port_indev.h
+0
-5
bsp/simulator/Kconfig
bsp/simulator/Kconfig
+17
-2
bsp/simulator/drivers/SConscript
bsp/simulator/drivers/SConscript
+6
-0
bsp/simulator/drivers/lvgl/SConscript
bsp/simulator/drivers/lvgl/SConscript
+17
-0
bsp/simulator/drivers/lvgl/lv_conf.h
bsp/simulator/drivers/lvgl/lv_conf.h
+30
-0
bsp/simulator/drivers/lvgl/lv_demo.c
bsp/simulator/drivers/lvgl/lv_demo.c
+62
-0
bsp/simulator/drivers/lvgl/lv_port_disp.c
bsp/simulator/drivers/lvgl/lv_port_disp.c
+14
-0
bsp/simulator/drivers/lvgl/lv_port_disp.h
bsp/simulator/drivers/lvgl/lv_port_disp.h
+23
-0
bsp/simulator/drivers/lvgl/lv_port_indev.c
bsp/simulator/drivers/lvgl/lv_port_indev.c
+14
-0
bsp/simulator/drivers/lvgl/lv_port_indev.h
bsp/simulator/drivers/lvgl/lv_port_indev.h
+23
-0
bsp/simulator/drivers/lvgl/win32drv.c
bsp/simulator/drivers/lvgl/win32drv.c
+1007
-0
bsp/simulator/drivers/lvgl/win32drv.h
bsp/simulator/drivers/lvgl/win32drv.h
+67
-0
bsp/stm32/stm32l475-atk-pandora/board/ports/lvgl/lv_demo.c
bsp/stm32/stm32l475-atk-pandora/board/ports/lvgl/lv_demo.c
+2
-0
未找到文件。
bsp/qemu-vexpress-a9/drivers/drv_clcd.c
浏览文件 @
a6b62d37
...
@@ -109,7 +109,7 @@ int drv_clcd_hw_init(void)
...
@@ -109,7 +109,7 @@ int drv_clcd_hw_init(void)
_lcd
.
width
=
CLCD_WIDTH
;
_lcd
.
width
=
CLCD_WIDTH
;
_lcd
.
height
=
CLCD_HEIGHT
;
_lcd
.
height
=
CLCD_HEIGHT
;
_lcd
.
fb
=
rt_malloc
_align
(
_lcd
.
width
*
_lcd
.
height
*
2
,
3
2
);
_lcd
.
fb
=
rt_malloc
(
_lcd
.
width
*
_lcd
.
height
*
2
);
if
(
_lcd
.
fb
==
NULL
)
if
(
_lcd
.
fb
==
NULL
)
{
{
rt_kprintf
(
"initialize frame buffer failed!
\n
"
);
rt_kprintf
(
"initialize frame buffer failed!
\n
"
);
...
...
bsp/qemu-vexpress-a9/drivers/lvgl/SConscript
浏览文件 @
a6b62d37
...
@@ -5,7 +5,6 @@ cwd = GetCurrentDir()
...
@@ -5,7 +5,6 @@ cwd = GetCurrentDir()
group
=
[]
group
=
[]
src
=
Glob
(
'*.c'
)
src
=
Glob
(
'*.c'
)
CPPPATH
=
[
cwd
]
CPPPATH
=
[
cwd
]
CPPDEFINES
=
[
'STM32F4'
]
list
=
os
.
listdir
(
cwd
)
list
=
os
.
listdir
(
cwd
)
for
d
in
list
:
for
d
in
list
:
...
@@ -13,6 +12,6 @@ for d in list:
...
@@ -13,6 +12,6 @@ for d in list:
if
os
.
path
.
isfile
(
os
.
path
.
join
(
path
,
'SConscript'
)):
if
os
.
path
.
isfile
(
os
.
path
.
join
(
path
,
'SConscript'
)):
group
=
group
+
SConscript
(
os
.
path
.
join
(
d
,
'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'
)
Return
(
'group'
)
bsp/qemu-vexpress-a9/drivers/lvgl/lv_demo.c
浏览文件 @
a6b62d37
...
@@ -9,7 +9,6 @@
...
@@ -9,7 +9,6 @@
*/
*/
#include <rtthread.h>
#include <rtthread.h>
#include <lvgl.h>
#include <lvgl.h>
#include <lv_port_indev.h>
#define DBG_TAG "LVGL.demo"
#define DBG_TAG "LVGL.demo"
#define DBG_LVL DBG_INFO
#define DBG_LVL DBG_INFO
#include <rtdbg.h>
#include <rtdbg.h>
...
@@ -24,9 +23,11 @@
...
@@ -24,9 +23,11 @@
static
void
lvgl_thread
(
void
*
parameter
)
static
void
lvgl_thread
(
void
*
parameter
)
{
{
/* display demo; you may replace with your LVGL application at here */
extern
void
lv_demo_music
(
void
);
extern
void
lv_demo_music
(
void
);
lv_demo_music
();
lv_demo_music
();
/* handle the tasks of LVGL */
while
(
1
)
while
(
1
)
{
{
lv_task_handler
();
lv_task_handler
();
...
...
bsp/qemu-vexpress-a9/drivers/lvgl/lv_port_disp.c
浏览文件 @
a6b62d37
...
@@ -116,14 +116,14 @@ void lv_port_disp_init(void)
...
@@ -116,14 +116,14 @@ void lv_port_disp_init(void)
RT_ASSERT
(
info
.
bits_per_pixel
==
8
||
info
.
bits_per_pixel
==
16
||
RT_ASSERT
(
info
.
bits_per_pixel
==
8
||
info
.
bits_per_pixel
==
16
||
info
.
bits_per_pixel
==
24
||
info
.
bits_per_pixel
==
32
);
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
)
if
(
fbuf1
==
RT_NULL
)
{
{
rt_kprintf
(
"Error: alloc disp buf fail
\n
"
);
rt_kprintf
(
"Error: alloc disp buf fail
\n
"
);
return
;
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
)
if
(
fbuf2
==
RT_NULL
)
{
{
rt_kprintf
(
"Error: alloc disp buf fail
\n
"
);
rt_kprintf
(
"Error: alloc disp buf fail
\n
"
);
...
...
bsp/qemu-vexpress-a9/drivers/lvgl/lv_port_indev.h
浏览文件 @
a6b62d37
...
@@ -14,12 +14,7 @@
...
@@ -14,12 +14,7 @@
extern
"C"
{
extern
"C"
{
#endif
#endif
#include <lv_hal_indev.h>
extern
lv_indev_t
*
button_indev
;
void
lv_port_indev_init
(
void
);
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
#ifdef __cplusplus
}
/*extern "C"*/
}
/*extern "C"*/
...
...
bsp/simulator/Kconfig
浏览文件 @
a6b62d37
...
@@ -26,8 +26,23 @@ config SOC_SIMULATOR
...
@@ -26,8 +26,23 @@ config SOC_SIMULATOR
if RT_USING_DFS
if RT_USING_DFS
config RT_USING_DFS_WINSHAREDIR
config RT_USING_DFS_WINSHAREDIR
bool "Enable shared file system between windows"
bool "Enable shared file system between windows"
default n
default n
endif
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
bsp/simulator/drivers/SConscript
浏览文件 @
a6b62d37
import
sys
import
sys
import
os
from
building
import
*
from
building
import
*
cwd
=
GetCurrentDir
()
cwd
=
GetCurrentDir
()
...
@@ -34,4 +35,9 @@ if sys.platform[0:5]=="linux": #check whether under linux
...
@@ -34,4 +35,9 @@ if sys.platform[0:5]=="linux": #check whether under linux
group
=
DefineGroup
(
'Drivers'
,
src
,
depend
=
[
''
],
group
=
DefineGroup
(
'Drivers'
,
src
,
depend
=
[
''
],
CPPPATH
=
CPPPATH
,
LIBS
=
LIBS
,
LIBPATH
=
LIBPATH
,
CPPDEFINES
=
CPPDEFINES
)
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'
)
Return
(
'group'
)
bsp/simulator/drivers/lvgl/SConscript
0 → 100644
浏览文件 @
a6b62d37
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'
)
bsp/simulator/drivers/lvgl/lv_conf.h
0 → 100644
浏览文件 @
a6b62d37
/*
* 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
bsp/simulator/drivers/lvgl/lv_demo.c
0 → 100644
浏览文件 @
a6b62d37
/*
* 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
);
bsp/simulator/drivers/lvgl/lv_port_disp.c
0 → 100644
浏览文件 @
a6b62d37
/*
* 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*/
}
bsp/simulator/drivers/lvgl/lv_port_disp.h
0 → 100644
浏览文件 @
a6b62d37
/*
* 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
bsp/simulator/drivers/lvgl/lv_port_indev.c
0 → 100644
浏览文件 @
a6b62d37
/*
* 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 */
}
bsp/simulator/drivers/lvgl/lv_port_indev.h
0 → 100644
浏览文件 @
a6b62d37
/*
* 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
bsp/simulator/drivers/lvgl/win32drv.c
0 → 100644
浏览文件 @
a6b62d37
此差异已折叠。
点击以展开。
bsp/simulator/drivers/lvgl/win32drv.h
0 → 100644
浏览文件 @
a6b62d37
/**
* @file win32drv.h
*
*/
#ifndef LV_WIN32DRV_H
#define LV_WIN32DRV_H
/*********************
* INCLUDES
*********************/
#include <lvgl.h>
#if USE_WIN32DRV
#include <Windows.h>
#if _MSC_VER >= 1200
// Disable compilation warnings.
#pragma warning(push)
// nonstandard extension used : bit field types other than int
#pragma warning(disable:4214)
// 'conversion' conversion from 'type1' to 'type2', possible loss of data
#pragma warning(disable:4244)
#endif
#if _MSC_VER >= 1200
// Restore compilation warnings.
#pragma warning(pop)
#endif
/*********************
* DEFINES
*********************/
/**********************
* TYPEDEFS
**********************/
/**********************
* GLOBAL PROTOTYPES
**********************/
EXTERN_C
bool
lv_win32_quit_signal
;
EXTERN_C
lv_indev_t
*
lv_win32_pointer_device_object
;
EXTERN_C
lv_indev_t
*
lv_win32_keypad_device_object
;
EXTERN_C
lv_indev_t
*
lv_win32_encoder_device_object
;
EXTERN_C
void
lv_win32_add_all_input_devices_to_group
(
lv_group_t
*
group
);
EXTERN_C
bool
lv_win32_init
(
HINSTANCE
instance_handle
,
int
show_window_mode
,
lv_coord_t
hor_res
,
lv_coord_t
ver_res
,
HICON
icon_handle
);
/**********************
* MACROS
**********************/
#endif
/*USE_WIN32DRV*/
#endif
/*LV_WIN32DRV_H*/
bsp/stm32/stm32l475-atk-pandora/board/ports/lvgl/lv_demo.c
浏览文件 @
a6b62d37
...
@@ -29,8 +29,10 @@ static void lvgl_thread(void *parameter)
...
@@ -29,8 +29,10 @@ static void lvgl_thread(void *parameter)
const
lv_point_t
points_array
[]
=
{{
200
,
35
},{
0
,
0
},{
70
,
35
},{
0
,
0
}};
const
lv_point_t
points_array
[]
=
{{
200
,
35
},{
0
,
0
},{
70
,
35
},{
0
,
0
}};
lv_indev_set_button_points
(
button_indev
,
points_array
);
lv_indev_set_button_points
(
button_indev
,
points_array
);
/* display demo; you may replace with your LVGL application at here */
lv_demo_calendar
();
lv_demo_calendar
();
/* handle the tasks of LVGL */
while
(
1
)
while
(
1
)
{
{
lv_task_handler
();
lv_task_handler
();
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录