udpate to v9
This commit is contained in:
parent
2ac86e625e
commit
0a1a1a867c
4
.gitignore
vendored
4
.gitignore
vendored
@ -1,5 +1,6 @@
|
|||||||
# Ignore build folder
|
# Ignore build folder
|
||||||
build/
|
build/
|
||||||
|
bin/
|
||||||
|
|
||||||
# Ignore UI folder, this should be commited in its own repository
|
# Ignore UI folder, this should be commited in its own repository
|
||||||
ui/
|
ui/
|
||||||
@ -8,5 +9,4 @@ ui/
|
|||||||
.*/
|
.*/
|
||||||
|
|
||||||
# VSCode
|
# VSCode
|
||||||
!.vscode/
|
.vscode
|
||||||
!.vscode/*
|
|
||||||
|
|||||||
96
CMakeLists.txt
Normal file
96
CMakeLists.txt
Normal file
@ -0,0 +1,96 @@
|
|||||||
|
cmake_minimum_required(VERSION 3.10)
|
||||||
|
project(lvgl)
|
||||||
|
|
||||||
|
option(LV_USE_DRAW_SDL "Use SDL draw unit" OFF)
|
||||||
|
option(LV_USE_LIBPNG "Use libpng to decode PNG" OFF)
|
||||||
|
option(LV_USE_LIBJPEG_TURBO "Use libjpeg turbo to decode JPEG" OFF)
|
||||||
|
option(LV_USE_FFMPEG "Use libffmpeg to display video using lv_ffmpeg" OFF)
|
||||||
|
option(LV_USE_FREETYPE "Use freetype lib" OFF)
|
||||||
|
|
||||||
|
set(CMAKE_C_STANDARD 99)#C99 # lvgl officially support C99 and above
|
||||||
|
set(CMAKE_CXX_STANDARD 17)#C17
|
||||||
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||||
|
|
||||||
|
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)
|
||||||
|
|
||||||
|
find_package(SDL2 REQUIRED SDL2)
|
||||||
|
|
||||||
|
add_compile_definitions($<$<BOOL:${LV_USE_DRAW_SDL}>:LV_USE_DRAW_SDL=1>)
|
||||||
|
add_compile_definitions($<$<BOOL:${LV_USE_LIBPNG}>:LV_USE_LIBPNG=1>)
|
||||||
|
add_compile_definitions($<$<BOOL:${LV_USE_LIBJPEG_TURBO}>:LV_USE_LIBJPEG_TURBO=1>)
|
||||||
|
add_compile_definitions($<$<BOOL:${LV_USE_FFMPEG}>:LV_USE_FFMPEG=1>)
|
||||||
|
|
||||||
|
add_subdirectory(lvgl)
|
||||||
|
target_include_directories(lvgl PUBLIC ${PROJECT_SOURCE_DIR} ${SDL2_INCLUDE_DIRS})
|
||||||
|
|
||||||
|
add_executable(main main/src/main.c main/src/mouse_cursor_icon.c)
|
||||||
|
|
||||||
|
target_compile_definitions(main PRIVATE LV_CONF_INCLUDE_SIMPLE)
|
||||||
|
target_link_libraries(main lvgl lvgl::examples lvgl::demos lvgl::thorvg ${SDL2_LIBRARIES} m pthread)
|
||||||
|
add_custom_target (run COMMAND ${EXECUTABLE_OUTPUT_PATH}/main DEPENDS main)
|
||||||
|
|
||||||
|
if(LV_USE_DRAW_SDL)
|
||||||
|
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake")
|
||||||
|
# Need to install libsdl2-image-dev
|
||||||
|
# `sudo apt install libsdl2-image-dev`
|
||||||
|
# `brew install sdl2_image`
|
||||||
|
find_package(SDL2_image REQUIRED)
|
||||||
|
target_include_directories(lvgl PUBLIC ${SDL2_IMAGE_INCLUDE_DIRS})
|
||||||
|
target_link_libraries(main ${SDL2_IMAGE_LIBRARIES})
|
||||||
|
endif(LV_USE_DRAW_SDL)
|
||||||
|
|
||||||
|
if(LV_USE_LIBPNG)
|
||||||
|
find_package(PNG REQUIRED)
|
||||||
|
target_include_directories(lvgl PUBLIC ${PNG_INCLUDE_DIR})
|
||||||
|
target_link_libraries(main ${PNG_LIBRARY})
|
||||||
|
endif(LV_USE_LIBPNG)
|
||||||
|
|
||||||
|
if(LV_USE_LIBJPEG_TURBO)
|
||||||
|
# Need to install libjpeg-turbo8-dev
|
||||||
|
# `sudo apt install libjpeg-turbo8-dev`
|
||||||
|
# `brew install libjpeg-turbo`
|
||||||
|
find_package(JPEG REQUIRED)
|
||||||
|
target_include_directories(lvgl PUBLIC ${JPEG_INCLUDE_DIRS})
|
||||||
|
target_link_libraries(main ${JPEG_LIBRARIES})
|
||||||
|
endif(LV_USE_LIBJPEG_TURBO)
|
||||||
|
|
||||||
|
if(LV_USE_FFMPEG)
|
||||||
|
target_link_libraries(main avformat avcodec avutil swscale)
|
||||||
|
endif(LV_USE_FFMPEG)
|
||||||
|
|
||||||
|
if(LV_USE_FREETYPE)
|
||||||
|
find_package(Freetype REQUIRED)
|
||||||
|
target_link_libraries(main ${FREETYPE_LIBRARIES})
|
||||||
|
target_include_directories(lvgl PUBLIC ${FREETYPE_INCLUDE_DIRS})
|
||||||
|
endif(LV_USE_FREETYPE)
|
||||||
|
|
||||||
|
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
|
||||||
|
target_compile_options(lvgl PRIVATE
|
||||||
|
-pedantic-errors
|
||||||
|
-Wall
|
||||||
|
-Wclobbered
|
||||||
|
-Wdeprecated
|
||||||
|
-Wdouble-promotion
|
||||||
|
-Wempty-body
|
||||||
|
-Wextra
|
||||||
|
-Wformat-security
|
||||||
|
-Wmaybe-uninitialized
|
||||||
|
# -Wmissing-prototypes
|
||||||
|
-Wpointer-arith
|
||||||
|
-Wmultichar
|
||||||
|
-Wno-pedantic # ignored for now, we convert functions to pointers for propertis table.
|
||||||
|
-Wreturn-type
|
||||||
|
-Wshadow
|
||||||
|
-Wshift-negative-value
|
||||||
|
-Wsizeof-pointer-memaccess
|
||||||
|
-Wtype-limits
|
||||||
|
-Wundef
|
||||||
|
-Wuninitialized
|
||||||
|
-Wunreachable-code
|
||||||
|
-Wfloat-conversion
|
||||||
|
-Wstrict-aliasing
|
||||||
|
)
|
||||||
|
|
||||||
|
target_compile_options(main PRIVATE -fsanitize=address,leak,undefined)
|
||||||
|
target_link_options(main PRIVATE -fsanitize=address,leak,undefined)
|
||||||
|
endif()
|
||||||
70
Makefile
70
Makefile
@ -1,70 +0,0 @@
|
|||||||
#
|
|
||||||
# Makefile
|
|
||||||
# WARNING: relies on invocation setting current working directory to Makefile location
|
|
||||||
# This is done in .vscode/task.json
|
|
||||||
#
|
|
||||||
|
|
||||||
# select underlaying LCGL display driver (SDL2 || X11)
|
|
||||||
LV_DRIVER := X11
|
|
||||||
#LV_DRIVER := SDL2
|
|
||||||
|
|
||||||
PROJECT ?= lvgl-demo
|
|
||||||
MAKEFLAGS := -j $(shell nproc)
|
|
||||||
SRC_EXT := c
|
|
||||||
OBJ_EXT := o
|
|
||||||
CC ?= gcc
|
|
||||||
|
|
||||||
SRC_DIR := ./
|
|
||||||
WORKING_DIR := ./build
|
|
||||||
BUILD_DIR := $(WORKING_DIR)/obj
|
|
||||||
BIN_DIR := $(WORKING_DIR)/bin
|
|
||||||
UI_DIR := ui
|
|
||||||
|
|
||||||
WARNINGS := -Wall -Wextra \
|
|
||||||
-Wshadow -Wundef -Wmaybe-uninitialized -Wmissing-prototypes -Wno-discarded-qualifiers \
|
|
||||||
-Wno-unused-function -Wno-error=strict-prototypes -Wpointer-arith -fno-strict-aliasing -Wno-error=cpp -Wuninitialized \
|
|
||||||
-Wno-unused-parameter -Wno-missing-field-initializers -Wno-format-nonliteral -Wno-cast-qual -Wunreachable-code -Wno-switch-default \
|
|
||||||
-Wreturn-type -Wmultichar -Wformat-security -Wno-ignored-qualifiers -Wno-error=pedantic -Wno-sign-compare -Wno-error=missing-prototypes -Wdouble-promotion -Wclobbered -Wdeprecated \
|
|
||||||
-Wempty-body -Wshift-negative-value -Wstack-usage=2048 \
|
|
||||||
-Wtype-limits -Wsizeof-pointer-memaccess -Wpointer-arith
|
|
||||||
|
|
||||||
CFLAGS := -O0 -g $(WARNINGS)
|
|
||||||
|
|
||||||
# simulator library define
|
|
||||||
ifeq "$(LV_DRIVER)" "SDL2"
|
|
||||||
LV_DRIVER_USE := USE_SDL
|
|
||||||
else
|
|
||||||
LV_DRIVER_USE := USE_$(LV_DRIVER)
|
|
||||||
endif
|
|
||||||
|
|
||||||
# Add simulator defines to allow modification of source
|
|
||||||
DEFINES := -D SIMULATOR=1 -D LV_BUILD_TEST=0 -D $(LV_DRIVER_USE)
|
|
||||||
|
|
||||||
# Include simulator inc folder first so lv_conf.h from custom UI can be used instead
|
|
||||||
INC := -I./ui/simulator/inc/ -I./ -I./lvgl/ #-I/usr/include/freetype2 -L/usr/local/lib
|
|
||||||
LDLIBS := -l$(LV_DRIVER) -lpthread -lm #-lfreetype -lavformat -lavcodec -lavutil -lswscale -lm -lz
|
|
||||||
BIN := $(BIN_DIR)/demo
|
|
||||||
|
|
||||||
COMPILE = $(CC) $(CFLAGS) $(INC) $(DEFINES)
|
|
||||||
|
|
||||||
# Automatically include all source files
|
|
||||||
SRCS := $(shell find $(SRC_DIR) -type f -name '*.c' -not -path '*/\.*')
|
|
||||||
OBJECTS := $(patsubst $(SRC_DIR)%,$(BUILD_DIR)/%,$(SRCS:.$(SRC_EXT)=.$(OBJ_EXT)))
|
|
||||||
|
|
||||||
all: $(BIN)
|
|
||||||
|
|
||||||
$(BUILD_DIR)/%.$(OBJ_EXT): $(SRC_DIR)/%.$(SRC_EXT) lv_demo_conf.h lv_conf.h Makefile
|
|
||||||
@echo 'Building project file: $<'
|
|
||||||
@mkdir -p $(dir $@)
|
|
||||||
@$(COMPILE) -c -o "$@" "$<"
|
|
||||||
|
|
||||||
$(BIN): $(OBJECTS)
|
|
||||||
@mkdir -p $(BIN_DIR)
|
|
||||||
$(CC) -o $(BIN) $(OBJECTS) $(LDFLAGS) ${LDLIBS}
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -rf $(WORKING_DIR)
|
|
||||||
|
|
||||||
install: ${BIN}
|
|
||||||
install -d ${DESTDIR}/usr/lib/${PROJECT}/bin
|
|
||||||
install $< ${DESTDIR}/usr/lib/${PROJECT}/bin/
|
|
||||||
38
README.md
38
README.md
@ -2,19 +2,12 @@
|
|||||||
|
|
||||||
The [LVGL](https://github.com/lvgl/lvgl) is written mainly for microcontrollers and embedded systems however you can run the library **on your PC** as well without any embedded hardware. The code written on PC can be simply copied when your are using an embedded system.
|
The [LVGL](https://github.com/lvgl/lvgl) is written mainly for microcontrollers and embedded systems however you can run the library **on your PC** as well without any embedded hardware. The code written on PC can be simply copied when your are using an embedded system.
|
||||||
|
|
||||||
Using a PC simulator instead of an embedded hardware has several advantages:
|
|
||||||
* **Costs $0** because you don't have to buy or design PCB
|
|
||||||
* **Fast** because you don't have to design and manufacture PCB
|
|
||||||
* **Collaborative** because any number of developers can work in the same environment
|
|
||||||
* **Developer friendly** because much easier and faster to debug on PC
|
|
||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
This project is configured for [VSCode](https://code.visualstudio.com) and only tested on Linux, although this may work on OSx or WSL. It requires a working version of GCC, GDB and make in your path.
|
This project is configured for [VSCode](https://code.visualstudio.com) and only tested on Linux, although this may work on OSx or WSL. It requires a working version of GCC, GDB and make in your path.
|
||||||
|
|
||||||
To allow debugging inside VSCode you will also require a GDB [extension](https://marketplace.visualstudio.com/items?itemName=webfreak.debug) or other suitable debugger. All the requirements have been pre-configured in the [.workspace](simulator.code-workspace) file (simply open the project by doubleclick on this file).
|
To allow debugging inside VSCode you will also require a GDB [extension](https://marketplace.visualstudio.com/items?itemName=webfreak.debug) or other suitable debugger. All the requirements have been pre-configured in the [.workspace](simulator.code-workspace) file (simply open the project by doubleclick on this file).
|
||||||
|
|
||||||
The project can use **SDL** or **X11** as LVGL display driver for lowlevel graphics/mouse/keyboard support. This can be defined in the [Makefile](Makefile#L8).
|
The project can use **SDL** but it can be easily relaced by any other built-in LVGL dirvers.
|
||||||
Please make sure the selected library is installed in the system (check [Install graphics driver](#install-graphics-driver)).
|
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
@ -27,8 +20,8 @@ git clone --recursive https://github.com/lvgl/lv_port_pc_vscode
|
|||||||
```
|
```
|
||||||
|
|
||||||
### Install graphics driver
|
### Install graphics driver
|
||||||
The project can use **SDL** or **X11** as LVGL display driver. This can be selected in the [Makefile](Makefile#L8).
|
|
||||||
Please make sure the used library is installed in the system:
|
Please make sure **SDL** is installed in the system:
|
||||||
|
|
||||||
#### Install SDL
|
#### Install SDL
|
||||||
You can download SDL from https://www.libsdl.org/
|
You can download SDL from https://www.libsdl.org/
|
||||||
@ -38,12 +31,6 @@ On on Linux you can install it via terminal:
|
|||||||
sudo apt-get update && sudo apt-get install -y build-essential libsdl2-dev
|
sudo apt-get update && sudo apt-get install -y build-essential libsdl2-dev
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Install X11
|
|
||||||
On on Linux you can install it via terminal:
|
|
||||||
```bash
|
|
||||||
sudo apt-get update && sudo apt-get install -y libx11-dev
|
|
||||||
```
|
|
||||||
|
|
||||||
### Optional library
|
### Optional library
|
||||||
There are also FreeType and FFmpeg support. You can install FreeType support with:
|
There are also FreeType and FFmpeg support. You can install FreeType support with:
|
||||||
```bash
|
```bash
|
||||||
@ -65,22 +52,3 @@ git checkout release/6.0
|
|||||||
make
|
make
|
||||||
sudo make install
|
sudo make install
|
||||||
```
|
```
|
||||||
|
|
||||||
And then remove all the comments in the `Makefile` on `INC` and `LDLIBS` lines. \
|
|
||||||
They should be for **SDL**:
|
|
||||||
```Makefile
|
|
||||||
INC := -I./ui/simulator/inc/ -I./ -I./lvgl/ -I/usr/include/freetype2 -L/usr/local/lib
|
|
||||||
LDLIBS := -lSDL2 -lm -lfreetype -lavformat -lavcodec -lavutil -lswscale -lm -lz -lpthread
|
|
||||||
```
|
|
||||||
They should be for **X11**:
|
|
||||||
```Makefile
|
|
||||||
INC := -I./ui/simulator/inc/ -I./ -I./lvgl/ -I/usr/include/freetype2 -L/usr/local/lib
|
|
||||||
LDLIBS := -lX11 -lm -lfreetype -lavformat -lavcodec -lavutil -lswscale -lm -lz -lpthread
|
|
||||||
```
|
|
||||||
|
|
||||||
### Setup
|
|
||||||
To allow custom UI code an `lv_conf.h` file placed at `ui/simulator/inc` will automatically override this projects lv_conf.h file. By default code under `ui` is ignored so you can reuse this repository for multiple projects. You will need to place a call from `main.c` to your UI's entry function.
|
|
||||||
|
|
||||||
To build and debug, press F5. You should now have your UI displayed in a new window and can access all the debug features of VSCode through GDB.
|
|
||||||
|
|
||||||
To allow temporary modification between simulator and device code, a SIMULATOR=1 define is added globally.
|
|
||||||
|
|||||||
@ -1,60 +0,0 @@
|
|||||||
/**
|
|
||||||
* @file lv_demo_conf.h
|
|
||||||
* Configuration file for v8.0.0
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* COPY THIS FILE AS lv_demo_conf.h
|
|
||||||
*/
|
|
||||||
|
|
||||||
#if 1 /*Set it to "1" to enable the content*/
|
|
||||||
|
|
||||||
#ifndef LV_EX_CONF_H
|
|
||||||
#define LV_EX_CONF_H
|
|
||||||
|
|
||||||
/*====================
|
|
||||||
SIMULATION SETTINGS
|
|
||||||
*====================*/
|
|
||||||
#define DISP_HOR_RES 800
|
|
||||||
#define DISP_VER_RES 600
|
|
||||||
|
|
||||||
/*******************
|
|
||||||
* GENERAL SETTING
|
|
||||||
*******************/
|
|
||||||
#define LV_EX_PRINTF 1 /*Enable printf-ing data in demoes and examples*/
|
|
||||||
#define LV_EX_KEYBOARD 1 /*Add PC keyboard support to some examples (`lv_drivers` repository is required)*/
|
|
||||||
#define LV_EX_MOUSEWHEEL 1 /*Add 'encoder' (mouse wheel) support to some examples (`lv_drivers` repository is required)*/
|
|
||||||
|
|
||||||
/*********************
|
|
||||||
* DEMO USAGE
|
|
||||||
*********************/
|
|
||||||
|
|
||||||
/*Show some widget*/
|
|
||||||
#define LV_USE_DEMO_WIDGETS 1
|
|
||||||
#if LV_USE_DEMO_WIDGETS
|
|
||||||
#define LV_DEMO_WIDGETS_SLIDESHOW 0
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*Printer demo, optimized for 800x480*/
|
|
||||||
#define LV_USE_DEMO_PRINTER 0
|
|
||||||
|
|
||||||
/*Demonstrate the usage of encoder and keyboard*/
|
|
||||||
#define LV_USE_DEMO_KEYPAD_AND_ENCODER 1
|
|
||||||
|
|
||||||
/*Benchmark your system*/
|
|
||||||
#define LV_USE_DEMO_BENCHMARK 1
|
|
||||||
|
|
||||||
/*Stress test for LVGL*/
|
|
||||||
#define LV_USE_DEMO_STRESS 1
|
|
||||||
|
|
||||||
/*Music player demo*/
|
|
||||||
#define LV_USE_DEMO_MUSIC 1
|
|
||||||
#if LV_USE_DEMO_MUSIC
|
|
||||||
# define LV_DEMO_MUSIC_LANDSCAPE 0
|
|
||||||
# define LV_DEMO_MUSIC_LARGE 0
|
|
||||||
#define LV_DEMO_MUSIC_AUTO_PLAY 0
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /*LV_EX_CONF_H*/
|
|
||||||
|
|
||||||
#endif /*End of "Content enable"*/
|
|
||||||
@ -1 +0,0 @@
|
|||||||
Subproject commit 5a5b4a1a3e95a46e6cf58ac6aac6ed6e826bfedd
|
|
||||||
517
lv_drv_conf.h
517
lv_drv_conf.h
@ -1,517 +0,0 @@
|
|||||||
/**
|
|
||||||
* @file lv_drv_conf.h
|
|
||||||
* Configuration file for v9.0.0-dev
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
* COPY THIS FILE AS lv_drv_conf.h
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* clang-format off */
|
|
||||||
#if 1 /*Set it to "1" to enable the content*/
|
|
||||||
|
|
||||||
#ifndef LV_DRV_CONF_H
|
|
||||||
#define LV_DRV_CONF_H
|
|
||||||
|
|
||||||
#include "lv_conf.h"
|
|
||||||
|
|
||||||
/*********************
|
|
||||||
* DELAY INTERFACE
|
|
||||||
*********************/
|
|
||||||
#define LV_DRV_DELAY_INCLUDE <stdint.h> /*Dummy include by default*/
|
|
||||||
#define LV_DRV_DELAY_US(us) /*delay_us(us)*/ /*Delay the given number of microseconds*/
|
|
||||||
#define LV_DRV_DELAY_MS(ms) /*delay_ms(ms)*/ /*Delay the given number of milliseconds*/
|
|
||||||
|
|
||||||
/*********************
|
|
||||||
* DISPLAY INTERFACE
|
|
||||||
*********************/
|
|
||||||
|
|
||||||
/*------------
|
|
||||||
* Common
|
|
||||||
*------------*/
|
|
||||||
#define LV_DRV_DISP_INCLUDE <stdint.h> /*Dummy include by default*/
|
|
||||||
#define LV_DRV_DISP_CMD_DATA(val) /*pin_x_set(val)*/ /*Set the command/data pin to 'val'*/
|
|
||||||
#define LV_DRV_DISP_RST(val) /*pin_x_set(val)*/ /*Set the reset pin to 'val'*/
|
|
||||||
|
|
||||||
/*---------
|
|
||||||
* SPI
|
|
||||||
*---------*/
|
|
||||||
#define LV_DRV_DISP_SPI_CS(val) /*spi_cs_set(val)*/ /*Set the SPI's Chip select to 'val'*/
|
|
||||||
#define LV_DRV_DISP_SPI_WR_BYTE(data) /*spi_wr(data)*/ /*Write a byte the SPI bus*/
|
|
||||||
#define LV_DRV_DISP_SPI_WR_ARRAY(adr, n) /*spi_wr_mem(adr, n)*/ /*Write 'n' bytes to SPI bus from 'adr'*/
|
|
||||||
|
|
||||||
/*------------------
|
|
||||||
* Parallel port
|
|
||||||
*-----------------*/
|
|
||||||
#define LV_DRV_DISP_PAR_CS(val) /*par_cs_set(val)*/ /*Set the Parallel port's Chip select to 'val'*/
|
|
||||||
#define LV_DRV_DISP_PAR_SLOW /*par_slow()*/ /*Set low speed on the parallel port*/
|
|
||||||
#define LV_DRV_DISP_PAR_FAST /*par_fast()*/ /*Set high speed on the parallel port*/
|
|
||||||
#define LV_DRV_DISP_PAR_WR_WORD(data) /*par_wr(data)*/ /*Write a word to the parallel port*/
|
|
||||||
#define LV_DRV_DISP_PAR_WR_ARRAY(adr, n) /*par_wr_mem(adr,n)*/ /*Write 'n' bytes to Parallel ports from 'adr'*/
|
|
||||||
|
|
||||||
/***************************
|
|
||||||
* INPUT DEVICE INTERFACE
|
|
||||||
***************************/
|
|
||||||
|
|
||||||
/*----------
|
|
||||||
* Common
|
|
||||||
*----------*/
|
|
||||||
#define LV_DRV_INDEV_INCLUDE <stdint.h> /*Dummy include by default*/
|
|
||||||
#define LV_DRV_INDEV_RST(val) /*pin_x_set(val)*/ /*Set the reset pin to 'val'*/
|
|
||||||
#define LV_DRV_INDEV_IRQ_READ 0 /*pn_x_read()*/ /*Read the IRQ pin*/
|
|
||||||
|
|
||||||
/*---------
|
|
||||||
* SPI
|
|
||||||
*---------*/
|
|
||||||
#define LV_DRV_INDEV_SPI_CS(val) /*spi_cs_set(val)*/ /*Set the SPI's Chip select to 'val'*/
|
|
||||||
#define LV_DRV_INDEV_SPI_XCHG_BYTE(data) 0 /*spi_xchg(val)*/ /*Write 'val' to SPI and give the read value*/
|
|
||||||
|
|
||||||
/*---------
|
|
||||||
* I2C
|
|
||||||
*---------*/
|
|
||||||
#define LV_DRV_INDEV_I2C_START /*i2c_start()*/ /*Make an I2C start*/
|
|
||||||
#define LV_DRV_INDEV_I2C_STOP /*i2c_stop()*/ /*Make an I2C stop*/
|
|
||||||
#define LV_DRV_INDEV_I2C_RESTART /*i2c_restart()*/ /*Make an I2C restart*/
|
|
||||||
#define LV_DRV_INDEV_I2C_WR(data) /*i2c_wr(data)*/ /*Write a byte to the I1C bus*/
|
|
||||||
#define LV_DRV_INDEV_I2C_READ(last_read) 0 /*i2c_rd()*/ /*Read a byte from the I2C bud*/
|
|
||||||
|
|
||||||
|
|
||||||
/*********************
|
|
||||||
* DISPLAY DRIVERS
|
|
||||||
*********************/
|
|
||||||
|
|
||||||
/*-------------------
|
|
||||||
* SDL
|
|
||||||
*-------------------*/
|
|
||||||
|
|
||||||
/* SDL based drivers for display, mouse, mousewheel and keyboard*/
|
|
||||||
#ifndef USE_SDL
|
|
||||||
# define USE_SDL 0
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Hardware accelerated SDL driver */
|
|
||||||
#ifndef USE_SDL_GPU
|
|
||||||
# define USE_SDL_GPU 0
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if USE_SDL || USE_SDL_GPU
|
|
||||||
# define SDL_HOR_RES 1024
|
|
||||||
# define SDL_VER_RES 1080
|
|
||||||
|
|
||||||
#define MONITOR_HOR_RES SDL_HOR_RES
|
|
||||||
#define MONITOR_VER_RES SDL_VER_RES
|
|
||||||
|
|
||||||
/* Scale window by this factor (useful when simulating small screens) */
|
|
||||||
# define SDL_ZOOM 1
|
|
||||||
|
|
||||||
/* Used to test true double buffering with only address changing.
|
|
||||||
* Use 2 draw buffers, bith with SDL_HOR_RES x SDL_VER_RES size*/
|
|
||||||
# define SDL_DOUBLE_BUFFERED 0
|
|
||||||
|
|
||||||
/*Eclipse: <SDL2/SDL.h> Visual Studio: <SDL.h>*/
|
|
||||||
# define SDL_INCLUDE_PATH <SDL2/SDL.h>
|
|
||||||
|
|
||||||
/*Open two windows to test multi display support*/
|
|
||||||
# define SDL_DUAL_DISPLAY 0
|
|
||||||
|
|
||||||
/* Window Title */
|
|
||||||
# define SDL_WINDOW_TITLE "TFT Simulator"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*-------------------
|
|
||||||
* Monitor of PC
|
|
||||||
*-------------------*/
|
|
||||||
|
|
||||||
/*DEPRECATED: Use the SDL driver instead. */
|
|
||||||
#ifndef USE_MONITOR
|
|
||||||
# define USE_MONITOR 0
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if USE_MONITOR
|
|
||||||
# define MONITOR_HOR_RES 480
|
|
||||||
# define MONITOR_VER_RES 320
|
|
||||||
|
|
||||||
/* Scale window by this factor (useful when simulating small screens) */
|
|
||||||
# define MONITOR_ZOOM 1
|
|
||||||
|
|
||||||
/* Used to test true double buffering with only address changing.
|
|
||||||
* Use 2 draw buffers, bith with MONITOR_HOR_RES x MONITOR_VER_RES size*/
|
|
||||||
# define MONITOR_DOUBLE_BUFFERED 0
|
|
||||||
|
|
||||||
/*Eclipse: <SDL2/SDL.h> Visual Studio: <SDL.h>*/
|
|
||||||
# define MONITOR_SDL_INCLUDE_PATH <SDL2/SDL.h>
|
|
||||||
|
|
||||||
/*Open two windows to test multi display support*/
|
|
||||||
# define MONITOR_DUAL 0
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*-----------------------------------
|
|
||||||
* Native Windows (including mouse)
|
|
||||||
*----------------------------------*/
|
|
||||||
#ifndef USE_WINDOWS
|
|
||||||
# define USE_WINDOWS 0
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if USE_WINDOWS
|
|
||||||
# define WINDOW_HOR_RES 480
|
|
||||||
# define WINDOW_VER_RES 320
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*----------------------------
|
|
||||||
* Native Windows (win32drv)
|
|
||||||
*---------------------------*/
|
|
||||||
#ifndef USE_WIN32DRV
|
|
||||||
# define USE_WIN32DRV 0
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if USE_WIN32DRV
|
|
||||||
/* Scale window by this factor (useful when simulating small screens) */
|
|
||||||
# define WIN32DRV_MONITOR_ZOOM 1
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*----------------------------------------
|
|
||||||
* GTK drivers (monitor, mouse, keyboard
|
|
||||||
*---------------------------------------*/
|
|
||||||
#ifndef USE_GTK
|
|
||||||
# define USE_GTK 0
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*----------------------------------------
|
|
||||||
* Wayland drivers (monitor, mouse, keyboard, touchscreen)
|
|
||||||
*---------------------------------------*/
|
|
||||||
#ifndef USE_WAYLAND
|
|
||||||
# define USE_WAYLAND 0
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if USE_WAYLAND
|
|
||||||
/* Support for client-side decorations */
|
|
||||||
# ifndef LV_WAYLAND_CLIENT_SIDE_DECORATIONS
|
|
||||||
# define LV_WAYLAND_CLIENT_SIDE_DECORATIONS 1
|
|
||||||
# endif
|
|
||||||
/* Support for (deprecated) wl-shell protocol */
|
|
||||||
# ifndef LV_WAYLAND_WL_SHELL
|
|
||||||
# define LV_WAYLAND_WL_SHELL 1
|
|
||||||
# endif
|
|
||||||
/* Support for xdg-shell protocol */
|
|
||||||
# ifndef LV_WAYLAND_XDG_SHELL
|
|
||||||
# define LV_WAYLAND_XDG_SHELL 0
|
|
||||||
# endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*----------------------------------------
|
|
||||||
* X11 drivers (monitor, mouse, keyboard)
|
|
||||||
*---------------------------------------*/
|
|
||||||
#ifndef USE_X11
|
|
||||||
# define USE_X11 0
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if USE_X11
|
|
||||||
/* Simulated screen resolution */
|
|
||||||
#ifndef DISP_HOR_RES
|
|
||||||
#define DISP_HOR_RES 480
|
|
||||||
#endif
|
|
||||||
#ifndef DISP_VER_RES
|
|
||||||
#define DISP_VER_RES 320
|
|
||||||
#endif
|
|
||||||
#endif // USE_X11
|
|
||||||
|
|
||||||
/*----------------
|
|
||||||
* SSD1963
|
|
||||||
*--------------*/
|
|
||||||
#ifndef USE_SSD1963
|
|
||||||
# define USE_SSD1963 0
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if USE_SSD1963
|
|
||||||
# define SSD1963_HOR_RES LV_HOR_RES
|
|
||||||
# define SSD1963_VER_RES LV_VER_RES
|
|
||||||
# define SSD1963_HT 531
|
|
||||||
# define SSD1963_HPS 43
|
|
||||||
# define SSD1963_LPS 8
|
|
||||||
# define SSD1963_HPW 10
|
|
||||||
# define SSD1963_VT 288
|
|
||||||
# define SSD1963_VPS 12
|
|
||||||
# define SSD1963_FPS 4
|
|
||||||
# define SSD1963_VPW 10
|
|
||||||
# define SSD1963_HS_NEG 0 /*Negative hsync*/
|
|
||||||
# define SSD1963_VS_NEG 0 /*Negative vsync*/
|
|
||||||
# define SSD1963_ORI 0 /*0, 90, 180, 270*/
|
|
||||||
# define SSD1963_COLOR_DEPTH 16
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*----------------
|
|
||||||
* R61581
|
|
||||||
*--------------*/
|
|
||||||
#ifndef USE_R61581
|
|
||||||
# define USE_R61581 0
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if USE_R61581
|
|
||||||
# define R61581_HOR_RES LV_HOR_RES
|
|
||||||
# define R61581_VER_RES LV_VER_RES
|
|
||||||
# define R61581_HSPL 0 /*HSYNC signal polarity*/
|
|
||||||
# define R61581_HSL 10 /*HSYNC length (Not Implemented)*/
|
|
||||||
# define R61581_HFP 10 /*Horitontal Front poarch (Not Implemented)*/
|
|
||||||
# define R61581_HBP 10 /*Horitontal Back poarch (Not Implemented */
|
|
||||||
# define R61581_VSPL 0 /*VSYNC signal polarity*/
|
|
||||||
# define R61581_VSL 10 /*VSYNC length (Not Implemented)*/
|
|
||||||
# define R61581_VFP 8 /*Vertical Front poarch*/
|
|
||||||
# define R61581_VBP 8 /*Vertical Back poarch */
|
|
||||||
# define R61581_DPL 0 /*DCLK signal polarity*/
|
|
||||||
# define R61581_EPL 1 /*ENABLE signal polarity*/
|
|
||||||
# define R61581_ORI 0 /*0, 180*/
|
|
||||||
# define R61581_LV_COLOR_DEPTH 16 /*Fix 16 bit*/
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*------------------------------
|
|
||||||
* ST7565 (Monochrome, low res.)
|
|
||||||
*-----------------------------*/
|
|
||||||
#ifndef USE_ST7565
|
|
||||||
# define USE_ST7565 0
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if USE_ST7565
|
|
||||||
/*No settings*/
|
|
||||||
#endif /*USE_ST7565*/
|
|
||||||
|
|
||||||
/*------------------------------
|
|
||||||
* GC9A01 (color, low res.)
|
|
||||||
*-----------------------------*/
|
|
||||||
#ifndef USE_GC9A01
|
|
||||||
# define USE_GC9A01 0
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if USE_GC9A01
|
|
||||||
/*No settings*/
|
|
||||||
#endif /*USE_GC9A01*/
|
|
||||||
|
|
||||||
/*------------------------------------------
|
|
||||||
* UC1610 (4 gray 160*[104|128])
|
|
||||||
* (EA DOGXL160 160x104 tested)
|
|
||||||
*-----------------------------------------*/
|
|
||||||
#ifndef USE_UC1610
|
|
||||||
# define USE_UC1610 0
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if USE_UC1610
|
|
||||||
# define UC1610_HOR_RES LV_HOR_RES
|
|
||||||
# define UC1610_VER_RES LV_VER_RES
|
|
||||||
# define UC1610_INIT_CONTRAST 33 /* init contrast, values in [%] */
|
|
||||||
# define UC1610_INIT_HARD_RST 0 /* 1 : hardware reset at init, 0 : software reset */
|
|
||||||
# define UC1610_TOP_VIEW 0 /* 0 : Bottom View, 1 : Top View */
|
|
||||||
#endif /*USE_UC1610*/
|
|
||||||
|
|
||||||
/*-------------------------------------------------
|
|
||||||
* SHARP memory in pixel monochrome display series
|
|
||||||
* LS012B7DD01 (184x38 pixels.)
|
|
||||||
* LS013B7DH03 (128x128 pixels.)
|
|
||||||
* LS013B7DH05 (144x168 pixels.)
|
|
||||||
* LS027B7DH01 (400x240 pixels.) (tested)
|
|
||||||
* LS032B7DD02 (336x536 pixels.)
|
|
||||||
* LS044Q7DH01 (320x240 pixels.)
|
|
||||||
*------------------------------------------------*/
|
|
||||||
#ifndef USE_SHARP_MIP
|
|
||||||
# define USE_SHARP_MIP 0
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if USE_SHARP_MIP
|
|
||||||
# define SHARP_MIP_HOR_RES LV_HOR_RES
|
|
||||||
# define SHARP_MIP_VER_RES LV_VER_RES
|
|
||||||
# define SHARP_MIP_SOFT_COM_INVERSION 0
|
|
||||||
# define SHARP_MIP_REV_BYTE(b) /*((uint8_t) __REV(__RBIT(b)))*/ /*Architecture / compiler dependent byte bits order reverse*/
|
|
||||||
#endif /*USE_SHARP_MIP*/
|
|
||||||
|
|
||||||
/*-------------------------------------------------
|
|
||||||
* ILI9341 240X320 TFT LCD
|
|
||||||
*------------------------------------------------*/
|
|
||||||
#ifndef USE_ILI9341
|
|
||||||
# define USE_ILI9341 0
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if USE_ILI9341
|
|
||||||
# define ILI9341_HOR_RES LV_HOR_RES
|
|
||||||
# define ILI9341_VER_RES LV_VER_RES
|
|
||||||
# define ILI9341_GAMMA 1
|
|
||||||
# define ILI9341_TEARING 0
|
|
||||||
#endif /*USE_ILI9341*/
|
|
||||||
|
|
||||||
/*-----------------------------------------
|
|
||||||
* Linux frame buffer device (/dev/fbx)
|
|
||||||
*-----------------------------------------*/
|
|
||||||
#ifndef USE_FBDEV
|
|
||||||
# define USE_FBDEV 0
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if USE_FBDEV
|
|
||||||
# define FBDEV_PATH "/dev/fb0"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*-----------------------------------------
|
|
||||||
* FreeBSD frame buffer device (/dev/fbx)
|
|
||||||
*.........................................*/
|
|
||||||
#ifndef USE_BSD_FBDEV
|
|
||||||
# define USE_BSD_FBDEV 0
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if USE_BSD_FBDEV
|
|
||||||
# define FBDEV_PATH "/dev/fb0"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*-----------------------------------------
|
|
||||||
* DRM/KMS device (/dev/dri/cardX)
|
|
||||||
*-----------------------------------------*/
|
|
||||||
#ifndef USE_DRM
|
|
||||||
# define USE_DRM 0
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if USE_DRM
|
|
||||||
# define DRM_CARD "/dev/dri/card0"
|
|
||||||
# define DRM_CONNECTOR_ID -1 /* -1 for the first connected one */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*********************
|
|
||||||
* INPUT DEVICES
|
|
||||||
*********************/
|
|
||||||
|
|
||||||
/*--------------
|
|
||||||
* XPT2046
|
|
||||||
*--------------*/
|
|
||||||
#ifndef USE_XPT2046
|
|
||||||
# define USE_XPT2046 0
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if USE_XPT2046
|
|
||||||
# define XPT2046_HOR_RES 480
|
|
||||||
# define XPT2046_VER_RES 320
|
|
||||||
# define XPT2046_X_MIN 200
|
|
||||||
# define XPT2046_Y_MIN 200
|
|
||||||
# define XPT2046_X_MAX 3800
|
|
||||||
# define XPT2046_Y_MAX 3800
|
|
||||||
# define XPT2046_AVG 4
|
|
||||||
# define XPT2046_X_INV 0
|
|
||||||
# define XPT2046_Y_INV 0
|
|
||||||
# define XPT2046_XY_SWAP 0
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*-----------------
|
|
||||||
* FT5406EE8
|
|
||||||
*-----------------*/
|
|
||||||
#ifndef USE_FT5406EE8
|
|
||||||
# define USE_FT5406EE8 0
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if USE_FT5406EE8
|
|
||||||
# define FT5406EE8_I2C_ADR 0x38 /*7 bit address*/
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*---------------
|
|
||||||
* AD TOUCH
|
|
||||||
*--------------*/
|
|
||||||
#ifndef USE_AD_TOUCH
|
|
||||||
# define USE_AD_TOUCH 0
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if USE_AD_TOUCH
|
|
||||||
/*No settings*/
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
/*---------------------------------------
|
|
||||||
* Mouse or touchpad on PC (using SDL)
|
|
||||||
*-------------------------------------*/
|
|
||||||
/*DEPRECATED: Use the SDL driver instead. */
|
|
||||||
#ifndef USE_MOUSE
|
|
||||||
# define USE_MOUSE 0
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if USE_MOUSE
|
|
||||||
/*No settings*/
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*-------------------------------------------
|
|
||||||
* Mousewheel as encoder on PC (using SDL)
|
|
||||||
*------------------------------------------*/
|
|
||||||
/*DEPRECATED: Use the SDL driver instead. */
|
|
||||||
#ifndef USE_MOUSEWHEEL
|
|
||||||
# define USE_MOUSEWHEEL 0
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if USE_MOUSEWHEEL
|
|
||||||
/*No settings*/
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*-------------------------------------------------
|
|
||||||
* Touchscreen, mouse/touchpad or keyboard as libinput interface (for Linux based systems)
|
|
||||||
*------------------------------------------------*/
|
|
||||||
#ifndef USE_LIBINPUT
|
|
||||||
# define USE_LIBINPUT 0
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef USE_BSD_LIBINPUT
|
|
||||||
# define USE_BSD_LIBINPUT 0
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if USE_LIBINPUT || USE_BSD_LIBINPUT
|
|
||||||
/*If only a single device of the same type is connected, you can also auto detect it, e.g.:
|
|
||||||
*#define LIBINPUT_NAME libinput_find_dev(LIBINPUT_CAPABILITY_TOUCH, false)*/
|
|
||||||
# define LIBINPUT_NAME "/dev/input/event0" /*You can use the "evtest" Linux tool to get the list of devices and test them*/
|
|
||||||
|
|
||||||
#endif /*USE_LIBINPUT || USE_BSD_LIBINPUT*/
|
|
||||||
|
|
||||||
/*-------------------------------------------------
|
|
||||||
* Mouse or touchpad as evdev interface (for Linux based systems)
|
|
||||||
*------------------------------------------------*/
|
|
||||||
#ifndef USE_EVDEV
|
|
||||||
# define USE_EVDEV 0
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef USE_BSD_EVDEV
|
|
||||||
# define USE_BSD_EVDEV 0
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if USE_EVDEV || USE_BSD_EVDEV
|
|
||||||
# define EVDEV_NAME "/dev/input/event0" /*You can use the "evtest" Linux tool to get the list of devices and test them*/
|
|
||||||
# define EVDEV_SWAP_AXES 0 /*Swap the x and y axes of the touchscreen*/
|
|
||||||
|
|
||||||
# define EVDEV_CALIBRATE 0 /*Scale and offset the touchscreen coordinates by using maximum and minimum values for each axis*/
|
|
||||||
|
|
||||||
# if EVDEV_CALIBRATE
|
|
||||||
# define EVDEV_HOR_MIN 0 /*to invert axis swap EVDEV_XXX_MIN by EVDEV_XXX_MAX*/
|
|
||||||
# define EVDEV_HOR_MAX 4096 /*"evtest" Linux tool can help to get the correct calibraion values>*/
|
|
||||||
# define EVDEV_VER_MIN 0
|
|
||||||
# define EVDEV_VER_MAX 4096
|
|
||||||
# endif /*EVDEV_CALIBRATE*/
|
|
||||||
#endif /*USE_EVDEV*/
|
|
||||||
|
|
||||||
/*-------------------------------------------------
|
|
||||||
* Full keyboard support for evdev and libinput interface
|
|
||||||
*------------------------------------------------*/
|
|
||||||
# ifndef USE_XKB
|
|
||||||
# define USE_XKB 0
|
|
||||||
# endif
|
|
||||||
|
|
||||||
#if USE_LIBINPUT || USE_BSD_LIBINPUT || USE_EVDEV || USE_BSD_EVDEV
|
|
||||||
# if USE_XKB
|
|
||||||
# define XKB_KEY_MAP { .rules = NULL, \
|
|
||||||
.model = "pc101", \
|
|
||||||
.layout = "us", \
|
|
||||||
.variant = NULL, \
|
|
||||||
.options = NULL } /*"setxkbmap -query" can help find the right values for your keyboard*/
|
|
||||||
# endif /*USE_XKB*/
|
|
||||||
#endif /*USE_LIBINPUT || USE_BSD_LIBINPUT || USE_EVDEV || USE_BSD_EVDEV*/
|
|
||||||
|
|
||||||
/*-------------------------------
|
|
||||||
* Keyboard of a PC (using SDL)
|
|
||||||
*------------------------------*/
|
|
||||||
/*DEPRECATED: Use the SDL driver instead. */
|
|
||||||
#ifndef USE_KEYBOARD
|
|
||||||
# define USE_KEYBOARD 0
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if USE_KEYBOARD
|
|
||||||
/*No settings*/
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /*LV_DRV_CONF_H*/
|
|
||||||
|
|
||||||
#endif /*End of "Content enable"*/
|
|
||||||
2
lvgl
2
lvgl
@ -1 +1 @@
|
|||||||
Subproject commit 2791d5739fc00cb3802419c0fed73140910b5da7
|
Subproject commit 8691574c5bc8a84352d851d709e6d8c6d24fd624
|
||||||
270
main/src/main.c
270
main/src/main.c
@ -11,21 +11,9 @@
|
|||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <pthread.h>
|
#include <pthread.h>
|
||||||
#include "lv_drv_conf.h"
|
|
||||||
#include "lvgl/lvgl.h"
|
#include "lvgl/lvgl.h"
|
||||||
#include "lvgl/examples/lv_examples.h"
|
#include "lvgl/examples/lv_examples.h"
|
||||||
#include "lvgl/demos/lv_demos.h"
|
#include "lvgl/demos/lv_demos.h"
|
||||||
#if USE_SDL
|
|
||||||
#define SDL_MAIN_HANDLED /*To fix SDL's "undefined reference to WinMain" issue*/
|
|
||||||
#include <SDL2/SDL.h>
|
|
||||||
#include "lv_drivers/sdl/sdl.h"
|
|
||||||
#elif USE_X11
|
|
||||||
#include "lv_drivers/x11/x11.h"
|
|
||||||
#endif
|
|
||||||
// #include "lv_drivers/display/monitor.h"
|
|
||||||
// #include "lv_drivers/indev/mouse.h"
|
|
||||||
// #include "lv_drivers/indev/keyboard.h"
|
|
||||||
// #include "lv_drivers/indev/mousewheel.h"
|
|
||||||
|
|
||||||
/*********************
|
/*********************
|
||||||
* DEFINES
|
* DEFINES
|
||||||
@ -38,15 +26,11 @@
|
|||||||
/**********************
|
/**********************
|
||||||
* STATIC PROTOTYPES
|
* STATIC PROTOTYPES
|
||||||
**********************/
|
**********************/
|
||||||
static void hal_init(void);
|
static lv_display_t * hal_init(int32_t w, int32_t h);
|
||||||
static void hal_deinit(void);
|
|
||||||
static void* tick_thread(void *data);
|
|
||||||
|
|
||||||
/**********************
|
/**********************
|
||||||
* STATIC VARIABLES
|
* STATIC VARIABLES
|
||||||
**********************/
|
**********************/
|
||||||
static pthread_t thr_tick; /* thread */
|
|
||||||
static bool end_tick = false; /* flag to terminate thread */
|
|
||||||
|
|
||||||
/**********************
|
/**********************
|
||||||
* MACROS
|
* MACROS
|
||||||
@ -75,92 +59,6 @@ static bool end_tick = false; /* flag to terminate thread */
|
|||||||
/**********************
|
/**********************
|
||||||
* GLOBAL FUNCTIONS
|
* GLOBAL FUNCTIONS
|
||||||
**********************/
|
**********************/
|
||||||
#if 0
|
|
||||||
static void user_image_demo()
|
|
||||||
{
|
|
||||||
lv_obj_t * img = lv_gif_create(lv_scr_act());
|
|
||||||
lv_gif_set_src(img, "A:lvgl/examples/libs/gif/bulb.gif");
|
|
||||||
lv_obj_align(img, LV_ALIGN_BOTTOM_RIGHT, -20, -20);
|
|
||||||
|
|
||||||
lv_color_t bg_color = lv_palette_lighten(LV_PALETTE_LIGHT_BLUE, 5);
|
|
||||||
lv_color_t fg_color = lv_palette_darken(LV_PALETTE_BLUE, 4);
|
|
||||||
|
|
||||||
lv_obj_t * qr = lv_qrcode_create(lv_scr_act(), 150, fg_color, bg_color);
|
|
||||||
|
|
||||||
/*Set data*/
|
|
||||||
const char * data = "https://lvgl.io";
|
|
||||||
lv_qrcode_update(qr, data, strlen(data));
|
|
||||||
lv_obj_center(qr);
|
|
||||||
|
|
||||||
/*Add a border with bg_color*/
|
|
||||||
lv_obj_set_style_border_color(qr, bg_color, 0);
|
|
||||||
lv_obj_set_style_border_width(qr, 5, 0);
|
|
||||||
|
|
||||||
/*Create a font*/
|
|
||||||
static lv_ft_info_t info;
|
|
||||||
/*FreeType uses C standard file system, so no driver letter is required.*/
|
|
||||||
info.name = "./lvgl/examples/libs/freetype/Lato-Regular.ttf";
|
|
||||||
info.weight = 24;
|
|
||||||
info.style = FT_FONT_STYLE_NORMAL;
|
|
||||||
info.mem = NULL;
|
|
||||||
if(!lv_ft_font_init(&info)) {
|
|
||||||
LV_LOG_ERROR("create failed.");
|
|
||||||
}
|
|
||||||
|
|
||||||
/*Create style with the new font*/
|
|
||||||
static lv_style_t style;
|
|
||||||
lv_style_init(&style);
|
|
||||||
lv_style_set_text_font(&style, info.font);
|
|
||||||
lv_style_set_text_align(&style, LV_TEXT_ALIGN_CENTER);
|
|
||||||
|
|
||||||
/*Create a label with the new style*/
|
|
||||||
lv_obj_t * label = lv_label_create(lv_scr_act());
|
|
||||||
lv_obj_add_style(label, &style, 0);
|
|
||||||
lv_label_set_text(label, "Hello world\nI'm a font created with FreeType");
|
|
||||||
lv_obj_set_pos(label, 10, 10);
|
|
||||||
|
|
||||||
lv_obj_t * img1 = lv_img_create(lv_scr_act());
|
|
||||||
/* Assuming a File system is attached to letter 'A'
|
|
||||||
* E.g. set LV_USE_FS_STDIO 'A' in lv_conf.h */
|
|
||||||
lv_img_set_src(img1, "A:lvgl/examples/libs/png/wink.png");
|
|
||||||
lv_obj_align(img1, LV_ALIGN_LEFT_MID, 20, 0);
|
|
||||||
|
|
||||||
lv_obj_t * wp;
|
|
||||||
|
|
||||||
wp = lv_img_create(lv_scr_act());
|
|
||||||
/* Assuming a File system is attached to letter 'A'
|
|
||||||
* E.g. set LV_USE_FS_STDIO 'A' in lv_conf.h */
|
|
||||||
lv_img_set_src(wp, "A:lvgl/examples/libs/sjpg/small_image.sjpg");
|
|
||||||
lv_obj_align(wp, LV_ALIGN_RIGHT_MID, -20, 0);
|
|
||||||
|
|
||||||
lv_obj_t * img2 = lv_img_create(lv_scr_act());
|
|
||||||
/* Assuming a File system is attached to letter 'A'
|
|
||||||
* E.g. set LV_USE_FS_STDIO 'A' in lv_conf.h */
|
|
||||||
lv_img_set_src(img2, "A:lvgl/examples/libs/sjpg/lv_example_jpg.jpg");
|
|
||||||
//lv_obj_center(img);
|
|
||||||
lv_obj_align(img2, LV_ALIGN_TOP_RIGHT, -20, 20);
|
|
||||||
|
|
||||||
lv_obj_t * img3 = lv_img_create(lv_scr_act());
|
|
||||||
/* Assuming a File system is attached to letter 'A'
|
|
||||||
* E.g. set LV_USE_FS_STDIO 'A' in lv_conf.h */
|
|
||||||
#if LV_COLOR_DEPTH == 32
|
|
||||||
lv_img_set_src(img3, "A:lvgl/examples/libs/bmp/example_32bit.bmp");
|
|
||||||
#elif LV_COLOR_DEPTH == 16
|
|
||||||
lv_img_set_src(img, "A:lvgl/examples/libs/bmp/example_16bit.bmp");
|
|
||||||
#endif
|
|
||||||
lv_obj_align(img3, LV_ALIGN_BOTTOM_MID, 0, -20);
|
|
||||||
|
|
||||||
lv_obj_t * img4 = lv_img_create(lv_scr_act());
|
|
||||||
lv_img_set_src(img4, "A:lvgl/examples/libs/ffmpeg/ffmpeg.png");
|
|
||||||
lv_obj_align(img4, LV_ALIGN_BOTTOM_LEFT, 20, -20);
|
|
||||||
|
|
||||||
lv_obj_t * player = lv_ffmpeg_player_create(lv_scr_act());
|
|
||||||
lv_ffmpeg_player_set_src(player, "./lvgl/examples/libs/ffmpeg/birds.mp4");
|
|
||||||
lv_ffmpeg_player_set_auto_restart(player, true);
|
|
||||||
lv_ffmpeg_player_set_cmd(player, LV_FFMPEG_PLAYER_CMD_START);
|
|
||||||
lv_obj_align(player, LV_ALIGN_TOP_MID, 0, 20);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
int main(int argc, char **argv)
|
int main(int argc, char **argv)
|
||||||
{
|
{
|
||||||
@ -171,33 +69,9 @@ int main(int argc, char **argv)
|
|||||||
lv_init();
|
lv_init();
|
||||||
|
|
||||||
/*Initialize the HAL (display, input devices, tick) for LVGL*/
|
/*Initialize the HAL (display, input devices, tick) for LVGL*/
|
||||||
hal_init();
|
hal_init(480, 272);
|
||||||
|
|
||||||
// lv_example_switch_1();
|
|
||||||
// lv_example_calendar_1();
|
|
||||||
// lv_example_btnmatrix_2();
|
|
||||||
// lv_example_checkbox_1();
|
|
||||||
// lv_example_colorwheel_1();
|
|
||||||
// lv_example_chart_6();
|
|
||||||
// lv_example_table_2();
|
|
||||||
// lv_example_scroll_2();
|
|
||||||
// lv_example_textarea_1();
|
|
||||||
// lv_example_msgbox_1();
|
|
||||||
// lv_example_dropdown_2();
|
|
||||||
// lv_example_btn_1();
|
|
||||||
// lv_example_scroll_1();
|
|
||||||
// lv_example_tabview_1();
|
|
||||||
// lv_example_tabview_1();
|
|
||||||
// lv_example_flex_3();
|
|
||||||
// lv_example_label_1();
|
|
||||||
|
|
||||||
lv_demo_widgets();
|
lv_demo_widgets();
|
||||||
// lv_demo_keypad_encoder();
|
|
||||||
// lv_demo_benchmark();
|
|
||||||
// lv_demo_stress();
|
|
||||||
// lv_demo_music();
|
|
||||||
|
|
||||||
// user_image_demo();
|
|
||||||
|
|
||||||
while(1) {
|
while(1) {
|
||||||
/* Periodically call the lv_task handler.
|
/* Periodically call the lv_task handler.
|
||||||
@ -206,7 +80,6 @@ int main(int argc, char **argv)
|
|||||||
usleep(5 * 1000);
|
usleep(5 * 1000);
|
||||||
}
|
}
|
||||||
|
|
||||||
hal_deinit();
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -218,133 +91,30 @@ int main(int argc, char **argv)
|
|||||||
* Initialize the Hardware Abstraction Layer (HAL) for the LVGL graphics
|
* Initialize the Hardware Abstraction Layer (HAL) for the LVGL graphics
|
||||||
* library
|
* library
|
||||||
*/
|
*/
|
||||||
static void hal_init(void)
|
static lv_display_t * hal_init(int32_t w, int32_t h)
|
||||||
{
|
{
|
||||||
/* mouse input device */
|
|
||||||
static lv_indev_drv_t indev_drv_1;
|
|
||||||
lv_indev_drv_init(&indev_drv_1);
|
|
||||||
indev_drv_1.type = LV_INDEV_TYPE_POINTER;
|
|
||||||
|
|
||||||
/* keyboard input device */
|
lv_group_set_default(lv_group_create());
|
||||||
static lv_indev_drv_t indev_drv_2;
|
|
||||||
lv_indev_drv_init(&indev_drv_2);
|
|
||||||
indev_drv_2.type = LV_INDEV_TYPE_KEYPAD;
|
|
||||||
|
|
||||||
/* mouse scroll wheel input device */
|
lv_display_t * disp = lv_sdl_window_create(w, h);
|
||||||
static lv_indev_drv_t indev_drv_3;
|
|
||||||
lv_indev_drv_init(&indev_drv_3);
|
|
||||||
indev_drv_3.type = LV_INDEV_TYPE_ENCODER;
|
|
||||||
|
|
||||||
lv_group_t *g = lv_group_create();
|
lv_indev_t * mouse = lv_sdl_mouse_create();
|
||||||
lv_group_set_default(g);
|
lv_indev_set_group(mouse, lv_group_get_default());
|
||||||
|
lv_indev_set_display(mouse, disp);
|
||||||
|
lv_display_set_default(disp);
|
||||||
|
|
||||||
lv_disp_t *disp = NULL;
|
LV_IMAGE_DECLARE(mouse_cursor_icon); /*Declare the image file.*/
|
||||||
|
lv_obj_t * cursor_obj;
|
||||||
|
cursor_obj = lv_image_create(lv_screen_active()); /*Create an image object for the cursor */
|
||||||
|
lv_image_set_src(cursor_obj, &mouse_cursor_icon); /*Set the image source*/
|
||||||
|
lv_indev_set_cursor(mouse, cursor_obj); /*Connect the image object to the driver*/
|
||||||
|
|
||||||
#if USE_SDL
|
lv_indev_t * mousewheel = lv_sdl_mousewheel_create();
|
||||||
/* Use the 'monitor' driver which creates window on PC's monitor to simulate a display*/
|
lv_indev_set_display(mousewheel, disp);
|
||||||
sdl_init();
|
|
||||||
|
|
||||||
/*Create a display buffer*/
|
lv_indev_t * kb = lv_sdl_keyboard_create();
|
||||||
static lv_disp_draw_buf_t disp_buf1;
|
lv_indev_set_display(kb, disp);
|
||||||
static lv_color_t buf1_1[MONITOR_HOR_RES * 100];
|
lv_indev_set_group(kb, lv_group_get_default());
|
||||||
static lv_color_t buf1_2[MONITOR_HOR_RES * 100];
|
|
||||||
lv_disp_draw_buf_init(&disp_buf1, buf1_1, buf1_2, MONITOR_HOR_RES * 100);
|
|
||||||
|
|
||||||
/*Create a display*/
|
return disp;
|
||||||
static lv_disp_drv_t disp_drv;
|
|
||||||
lv_disp_drv_init(&disp_drv); /*Basic initialization*/
|
|
||||||
disp_drv.draw_buf = &disp_buf1;
|
|
||||||
disp_drv.flush_cb = sdl_display_flush;
|
|
||||||
disp_drv.hor_res = MONITOR_HOR_RES;
|
|
||||||
disp_drv.ver_res = MONITOR_VER_RES;
|
|
||||||
disp_drv.antialiasing = 1;
|
|
||||||
|
|
||||||
disp = lv_disp_drv_register(&disp_drv);
|
|
||||||
|
|
||||||
/* Add the input device driver */
|
|
||||||
// mouse_init();
|
|
||||||
indev_drv_1.read_cb = sdl_mouse_read;
|
|
||||||
|
|
||||||
// keyboard_init();
|
|
||||||
indev_drv_2.read_cb = sdl_keyboard_read;
|
|
||||||
|
|
||||||
// mousewheel_init();
|
|
||||||
indev_drv_3.read_cb = sdl_mousewheel_read;
|
|
||||||
|
|
||||||
#elif USE_X11
|
|
||||||
lv_x11_init("LVGL Simulator Demo", DISP_HOR_RES, DISP_VER_RES);
|
|
||||||
|
|
||||||
/*Create a display buffer*/
|
|
||||||
static lv_disp_draw_buf_t disp_buf1;
|
|
||||||
static lv_color_t buf1_1[DISP_HOR_RES * 100];
|
|
||||||
static lv_color_t buf1_2[DISP_HOR_RES * 100];
|
|
||||||
lv_disp_draw_buf_init(&disp_buf1, buf1_1, buf1_2, DISP_HOR_RES * 100);
|
|
||||||
|
|
||||||
/*Create a display*/
|
|
||||||
static lv_disp_drv_t disp_drv;
|
|
||||||
lv_disp_drv_init(&disp_drv);
|
|
||||||
disp_drv.draw_buf = &disp_buf1;
|
|
||||||
disp_drv.flush_cb = lv_x11_flush;
|
|
||||||
disp_drv.hor_res = DISP_HOR_RES;
|
|
||||||
disp_drv.ver_res = DISP_VER_RES;
|
|
||||||
disp_drv.antialiasing = 1;
|
|
||||||
|
|
||||||
disp = lv_disp_drv_register(&disp_drv);
|
|
||||||
|
|
||||||
/* Add the input device driver */
|
|
||||||
indev_drv_1.read_cb = lv_x11_get_pointer;
|
|
||||||
indev_drv_2.read_cb = lv_x11_get_keyboard;
|
|
||||||
indev_drv_3.read_cb = lv_x11_get_mousewheel;
|
|
||||||
#endif
|
|
||||||
/* Set diplay theme */
|
|
||||||
lv_theme_t * th = lv_theme_default_init(disp, lv_palette_main(LV_PALETTE_BLUE), lv_palette_main(LV_PALETTE_RED), LV_THEME_DEFAULT_DARK, LV_FONT_DEFAULT);
|
|
||||||
lv_disp_set_theme(disp, th);
|
|
||||||
|
|
||||||
/* Tick init */
|
|
||||||
end_tick = false;
|
|
||||||
pthread_create(&thr_tick, NULL, tick_thread, NULL);
|
|
||||||
|
|
||||||
/* register input devices */
|
|
||||||
lv_indev_t *mouse_indev = lv_indev_drv_register(&indev_drv_1);
|
|
||||||
lv_indev_t *kb_indev = lv_indev_drv_register(&indev_drv_2);
|
|
||||||
lv_indev_t *enc_indev = lv_indev_drv_register(&indev_drv_3);
|
|
||||||
lv_indev_set_group(kb_indev, g);
|
|
||||||
lv_indev_set_group(enc_indev, g);
|
|
||||||
|
|
||||||
/* Set a cursor for the mouse */
|
|
||||||
LV_IMG_DECLARE(mouse_cursor_icon); /*Declare the image file.*/
|
|
||||||
lv_obj_t * cursor_obj = lv_img_create(lv_scr_act()); /*Create an image object for the cursor*/
|
|
||||||
lv_img_set_src(cursor_obj, &mouse_cursor_icon); /*Set the image source*/
|
|
||||||
lv_indev_set_cursor(mouse_indev, cursor_obj); /*Connect the image object to the driver*/
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Releases the Hardware Abstraction Layer (HAL) for the LVGL graphics library
|
|
||||||
*/
|
|
||||||
static void hal_deinit(void)
|
|
||||||
{
|
|
||||||
end_tick = true;
|
|
||||||
pthread_join(thr_tick, NULL);
|
|
||||||
|
|
||||||
#if USE_SDL
|
|
||||||
// nop
|
|
||||||
#elif USE_X11
|
|
||||||
lv_x11_deinit();
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* A task to measure the elapsed time for LVGL
|
|
||||||
* @param data unused
|
|
||||||
* @return never return
|
|
||||||
*/
|
|
||||||
static void* tick_thread(void *data) {
|
|
||||||
(void)data;
|
|
||||||
|
|
||||||
while(!end_tick) {
|
|
||||||
usleep(5000);
|
|
||||||
lv_tick_inc(5); /*Tell LittelvGL that 5 milliseconds were elapsed*/
|
|
||||||
}
|
|
||||||
|
|
||||||
return NULL;
|
|
||||||
}
|
}
|
||||||
@ -1,76 +1,6 @@
|
|||||||
#include "lvgl/lvgl.h"
|
#include "lvgl/lvgl.h"
|
||||||
|
|
||||||
const uint8_t mouse_cursor_icon_map[] = {
|
const uint8_t mouse_cursor_icon_map[] = {
|
||||||
#if LV_COLOR_DEPTH == 1 || LV_COLOR_DEPTH == 8
|
|
||||||
/*Pixel format: Alpha 8 bit, Red: 3 bit, Green: 3 bit, Blue: 2 bit*/
|
|
||||||
0x24, 0xb8, 0x24, 0xc8, 0x00, 0x13, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x49, 0xcc, 0xdb, 0xff, 0x49, 0xcc, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x49, 0xc8, 0xff, 0xff, 0xff, 0xff, 0x49, 0xe0, 0x00, 0x3b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x49, 0xcb, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0x6d, 0xf3, 0x00, 0x4f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x49, 0xcb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x92, 0xff, 0x00, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x49, 0xcb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x92, 0xff, 0x00, 0x90, 0x00, 0x00, 0x00, 0x00, 0xb6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x49, 0xcb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb7, 0xff, 0x24, 0xab, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x49, 0xcb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdb, 0xff, 0x24, 0xbb, 0x00, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x49, 0xcc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdb, 0xff, 0x49, 0xd8, 0x00, 0x37, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x49, 0xcc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x6d, 0xef, 0x00, 0x4f, 0x00, 0x00,
|
|
||||||
0x49, 0xcc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x92, 0xff, 0x00, 0x6b,
|
|
||||||
0x49, 0xcc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdb, 0xff, 0x92, 0xf7, 0x92, 0xf8, 0x6e, 0xfb, 0x92, 0xf8, 0x6d, 0xff, 0x00, 0xb3,
|
|
||||||
0x49, 0xcc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdb, 0xff, 0x24, 0xb7, 0x00, 0x1b, 0x00, 0x14, 0x00, 0x13, 0x00, 0x0c, 0x25, 0x07,
|
|
||||||
0x49, 0xcc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x6d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x6e, 0xf0, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x49, 0xcc, 0xff, 0xff, 0xff, 0xff, 0x49, 0xd8, 0x00, 0x78, 0x92, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xdb, 0xff, 0x00, 0x8b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x6d, 0xd3, 0xff, 0xff, 0x6d, 0xef, 0x00, 0x34, 0x00, 0x00, 0x49, 0xc7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x6d, 0xdc, 0x00, 0x14, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00,
|
|
||||||
0x49, 0xe0, 0x6d, 0xff, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x57, 0x92, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb7, 0xff, 0x00, 0x78, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
|
|
||||||
0x00, 0x68, 0x00, 0x4f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x49, 0xd0, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0x6d, 0xd8, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6f, 0xb7, 0xff, 0xff, 0xff, 0x92, 0xff, 0x49, 0xac, 0x00, 0x17, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x00, 0x03, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x25, 0xd7, 0x49, 0xc7, 0x00, 0x47, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
#endif
|
|
||||||
#if LV_COLOR_DEPTH == 16 && LV_COLOR_16_SWAP == 0
|
|
||||||
/*Pixel format: Alpha 8 bit, Red: 5 bit, Green: 6 bit, Blue: 5 bit*/
|
|
||||||
0xc3, 0x18, 0xb8, 0xe4, 0x20, 0xc8, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x49, 0x4a, 0xcc, 0x96, 0xb5, 0xff, 0xc7, 0x39, 0xcc, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0xe7, 0x39, 0xc8, 0xbf, 0xff, 0xff, 0xfb, 0xde, 0xff, 0x28, 0x42, 0xe0, 0x00, 0x00, 0x3b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0xe7, 0x39, 0xcb, 0x3d, 0xef, 0xff, 0xff, 0xff, 0xfc, 0x3d, 0xef, 0xff, 0xcb, 0x5a, 0xf3, 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0xe7, 0x39, 0xcb, 0x5d, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0xff, 0xff, 0x8e, 0x73, 0xff, 0x00, 0x00, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0xe8, 0x41, 0xcb, 0x5d, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x51, 0x8c, 0xff, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd3, 0x9c, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0xe8, 0x41, 0xcb, 0x5d, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x14, 0xa5, 0xff, 0xa2, 0x10, 0xab, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x08, 0x42, 0xcb, 0x5d, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd7, 0xbd, 0xff, 0x04, 0x21, 0xbb, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x08, 0x42, 0xcc, 0x5d, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x59, 0xce, 0xff, 0xe8, 0x41, 0xd8, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x08, 0x42, 0xcc, 0x5d, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xe6, 0xff, 0xab, 0x5a, 0xef, 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00,
|
|
||||||
0x08, 0x42, 0xcc, 0x5d, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbe, 0xf7, 0xff, 0xaf, 0x7b, 0xff, 0x00, 0x00, 0x6b,
|
|
||||||
0x28, 0x42, 0xcc, 0x5d, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7a, 0xd6, 0xff, 0x10, 0x84, 0xf7, 0xae, 0x73, 0xf8, 0x6e, 0x73, 0xfb, 0x8e, 0x73, 0xf8, 0xcb, 0x5a, 0xff, 0x61, 0x08, 0xb3,
|
|
||||||
0x28, 0x42, 0xcc, 0x7d, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x59, 0xce, 0xff, 0xa2, 0x10, 0xb7, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x14, 0x00, 0x00, 0x13, 0x00, 0x00, 0x0c, 0x45, 0x29, 0x07,
|
|
||||||
0x29, 0x4a, 0xcc, 0x5d, 0xef, 0xff, 0xff, 0xff, 0xff, 0xdb, 0xde, 0xff, 0xec, 0x62, 0xff, 0x1c, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0c, 0x63, 0xf0, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x29, 0x4a, 0xcc, 0xdf, 0xff, 0xff, 0x7d, 0xef, 0xff, 0x49, 0x4a, 0xd8, 0x00, 0x00, 0x78, 0x51, 0x8c, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x38, 0xc6, 0xff, 0x00, 0x00, 0x8b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0xcb, 0x5a, 0xd3, 0xdb, 0xde, 0xff, 0xec, 0x62, 0xef, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0xe7, 0x39, 0xc7, 0x5d, 0xef, 0xff, 0xff, 0xff, 0xff, 0xbe, 0xf7, 0xff, 0xaa, 0x52, 0xdc, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
|
||||||
0xe8, 0x41, 0xe0, 0xaa, 0x52, 0xff, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x57, 0x72, 0x94, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x96, 0xb5, 0xff, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x61, 0x08, 0x04, 0x00, 0x00, 0x00,
|
|
||||||
0x00, 0x00, 0x68, 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x69, 0x4a, 0xd0, 0x7d, 0xef, 0xff, 0xff, 0xff, 0xfc, 0xbe, 0xf7, 0xff, 0xaa, 0x52, 0xd8, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe4, 0x20, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6f, 0x75, 0xad, 0xff, 0xbf, 0xff, 0xff, 0x10, 0x84, 0xff, 0x86, 0x31, 0xac, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x41, 0x08, 0x03, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x66, 0x31, 0xd7, 0xc7, 0x39, 0xc7, 0x00, 0x00, 0x47, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
#endif
|
|
||||||
#if LV_COLOR_DEPTH == 16 && LV_COLOR_16_SWAP != 0
|
|
||||||
/*Pixel format: Alpha 8 bit, Red: 5 bit, Green: 6 bit, Blue: 5 bit BUT the 2 color bytes are swapped*/
|
|
||||||
0x18, 0xc3, 0xb8, 0x20, 0xe4, 0xc8, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x4a, 0x49, 0xcc, 0xb5, 0x96, 0xff, 0x39, 0xc7, 0xcc, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x39, 0xe7, 0xc8, 0xff, 0xbf, 0xff, 0xde, 0xfb, 0xff, 0x42, 0x28, 0xe0, 0x00, 0x00, 0x3b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x39, 0xe7, 0xcb, 0xef, 0x3d, 0xff, 0xff, 0xff, 0xfc, 0xef, 0x3d, 0xff, 0x5a, 0xcb, 0xf3, 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x39, 0xe7, 0xcb, 0xef, 0x5d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0xff, 0x73, 0x8e, 0xff, 0x00, 0x00, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x41, 0xe8, 0xcb, 0xef, 0x5d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x8c, 0x51, 0xff, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9c, 0xd3, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x41, 0xe8, 0xcb, 0xef, 0x5d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa5, 0x14, 0xff, 0x10, 0xa2, 0xab, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x42, 0x08, 0xcb, 0xef, 0x5d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbd, 0xd7, 0xff, 0x21, 0x04, 0xbb, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x42, 0x08, 0xcc, 0xef, 0x5d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xce, 0x59, 0xff, 0x41, 0xe8, 0xd8, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x42, 0x08, 0xcc, 0xef, 0x5d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe6, 0xfc, 0xff, 0x5a, 0xab, 0xef, 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00,
|
|
||||||
0x42, 0x08, 0xcc, 0xef, 0x5d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xbe, 0xff, 0x7b, 0xaf, 0xff, 0x00, 0x00, 0x6b,
|
|
||||||
0x42, 0x28, 0xcc, 0xef, 0x5d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd6, 0x7a, 0xff, 0x84, 0x10, 0xf7, 0x73, 0xae, 0xf8, 0x73, 0x6e, 0xfb, 0x73, 0x8e, 0xf8, 0x5a, 0xcb, 0xff, 0x08, 0x61, 0xb3,
|
|
||||||
0x42, 0x28, 0xcc, 0xef, 0x7d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xce, 0x59, 0xff, 0x10, 0xa2, 0xb7, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x14, 0x00, 0x00, 0x13, 0x00, 0x00, 0x0c, 0x29, 0x45, 0x07,
|
|
||||||
0x4a, 0x29, 0xcc, 0xef, 0x5d, 0xff, 0xff, 0xff, 0xff, 0xde, 0xdb, 0xff, 0x62, 0xec, 0xff, 0xe7, 0x1c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x63, 0x0c, 0xf0, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x4a, 0x29, 0xcc, 0xff, 0xdf, 0xff, 0xef, 0x7d, 0xff, 0x4a, 0x49, 0xd8, 0x00, 0x00, 0x78, 0x8c, 0x51, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc6, 0x38, 0xff, 0x00, 0x00, 0x8b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x5a, 0xcb, 0xd3, 0xde, 0xdb, 0xff, 0x62, 0xec, 0xef, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x39, 0xe7, 0xc7, 0xef, 0x5d, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xbe, 0xff, 0x52, 0xaa, 0xdc, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
|
||||||
0x41, 0xe8, 0xe0, 0x52, 0xaa, 0xff, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x57, 0x94, 0x72, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb5, 0x96, 0xff, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x08, 0x61, 0x04, 0x00, 0x00, 0x00,
|
|
||||||
0x00, 0x00, 0x68, 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x4a, 0x69, 0xd0, 0xef, 0x7d, 0xff, 0xff, 0xff, 0xfc, 0xf7, 0xbe, 0xff, 0x52, 0xaa, 0xd8, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xe4, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6f, 0xad, 0x75, 0xff, 0xff, 0xbf, 0xff, 0x84, 0x10, 0xff, 0x31, 0x86, 0xac, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x08, 0x41, 0x03, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x31, 0x66, 0xd7, 0x39, 0xc7, 0xc7, 0x00, 0x00, 0x47, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
#endif
|
|
||||||
#if LV_COLOR_DEPTH == 32
|
|
||||||
0x19, 0x19, 0x19, 0xb8, 0x1e, 0x1e, 0x1e, 0xc8, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
0x19, 0x19, 0x19, 0xb8, 0x1e, 0x1e, 0x1e, 0xc8, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
0x48, 0x48, 0x48, 0xcc, 0xb2, 0xb2, 0xb2, 0xff, 0x3a, 0x3a, 0x3a, 0xcc, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x0a, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
0x48, 0x48, 0x48, 0xcc, 0xb2, 0xb2, 0xb2, 0xff, 0x3a, 0x3a, 0x3a, 0xcc, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x0a, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
0x3b, 0x3b, 0x3b, 0xc8, 0xf6, 0xf6, 0xf6, 0xff, 0xdc, 0xdc, 0xdc, 0xff, 0x43, 0x43, 0x43, 0xe0, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x0a, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
0x3b, 0x3b, 0x3b, 0xc8, 0xf6, 0xf6, 0xf6, 0xff, 0xdc, 0xdc, 0xdc, 0xff, 0x43, 0x43, 0x43, 0xe0, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x0a, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
@ -91,14 +21,14 @@ const uint8_t mouse_cursor_icon_map[] = {
|
|||||||
0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x4c, 0x4c, 0x4c, 0xd0, 0xec, 0xec, 0xec, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xf4, 0xf4, 0xf4, 0xff, 0x53, 0x53, 0x53, 0xd8, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x4c, 0x4c, 0x4c, 0xd0, 0xec, 0xec, 0xec, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xf4, 0xf4, 0xf4, 0xff, 0x53, 0x53, 0x53, 0xd8, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x1e, 0x1e, 0x00, 0x04, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6f, 0xab, 0xab, 0xab, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0x80, 0x80, 0x80, 0xff, 0x31, 0x31, 0x31, 0xac, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x1e, 0x1e, 0x00, 0x04, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6f, 0xab, 0xab, 0xab, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0x80, 0x80, 0x80, 0xff, 0x31, 0x31, 0x31, 0xac, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
0x09, 0x09, 0x09, 0x03, 0x02, 0x02, 0x02, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x2e, 0x2e, 0x2e, 0xd7, 0x38, 0x38, 0x38, 0xc7, 0x00, 0x00, 0x00, 0x47, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
0x09, 0x09, 0x09, 0x03, 0x02, 0x02, 0x02, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x2e, 0x2e, 0x2e, 0xd7, 0x38, 0x38, 0x38, 0xc7, 0x00, 0x00, 0x00, 0x47, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
#endif
|
|
||||||
};
|
};
|
||||||
|
|
||||||
lv_img_dsc_t mouse_cursor_icon = {
|
lv_img_dsc_t mouse_cursor_icon = {
|
||||||
.header.always_zero = 0,
|
.header.magic = LV_IMAGE_HEADER_MAGIC,
|
||||||
.header.w = 14,
|
.header.w = 14,
|
||||||
.header.h = 20,
|
.header.h = 20,
|
||||||
.data_size = 280 * LV_IMG_PX_SIZE_ALPHA_BYTE,
|
.data_size = 280 * 4,
|
||||||
.header.cf = LV_IMG_CF_TRUE_COLOR_ALPHA,
|
.header.cf = LV_COLOR_FORMAT_ARGB8888,
|
||||||
.data = mouse_cursor_icon_map,
|
.data = mouse_cursor_icon_map,
|
||||||
};
|
};
|
||||||
|
|||||||
@ -1,6 +0,0 @@
|
|||||||
## Simulator
|
|
||||||
|
|
||||||
As most projects are targetted at embedded devices, this folder is for simulator specfic code to allow the UI to run on a desktop environment.
|
|
||||||
|
|
||||||
lv_conf.h placed in ui/simulator/inc will automatically override the main lv_conf.h, to allow project specific settings without modifying the lv_sim_vscode project
|
|
||||||
|
|
||||||
Loading…
x
Reference in New Issue
Block a user