Template for LVGL web simulator project with EEZ Studio
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Martin Vladic 0f98f76bca Initial commit 2 years ago
src Initial commit 2 years ago
.gitignore Initial commit 2 years ago
CMakeLists.txt Initial commit 2 years ago
LICENSE Initial commit 2 years ago
README.md Initial commit 2 years ago
confdef.txt Initial commit 2 years ago
lv_conf.h Initial commit 2 years ago
lv_drv_conf.h Initial commit 2 years ago
lvgl_shell.html Initial commit 2 years ago
main.c Initial commit 2 years ago
mouse_cursor_icon.c Initial commit 2 years ago
ui.eez-project Initial commit 2 years ago

README.md

Emscripten port

LVGL ported to Emscripten to be converted to JavaScript

The result looks like this https://lvgl.io/demos

How to get started

Install SDL

Downlad SDL (a graphics library to ope na window and handle the mouse). On Linux:

  1. Find the current version of SDL2: apt-cache search libsdl2 (e.g. libsdl2-2.0-0)
  2. Install SDL2: sudo apt-get install libsdl2-2.0-0 (replace with the found version)
  3. Install SDL2 development package: sudo apt-get install libsdl2-dev
  4. If build essentials are not installed yet: sudo apt-get install build-essential

Install Emscripten SDK

Download the Emscripten SDK and make sure it is in your PATH.

  1. git clone https://github.com/emscripten-core/emsdk.git
  2. cd <path-to-emsdk>
  3. git pull
  4. ./emsdk install latest
  5. ./emsdk activate latest
  6. source ./emsdk_env.sh

More info here: https://kripken.github.io/emscripten-site/docs/getting_started/downloads.html

Get the Emscripten-LVGL project

  1. Be sure you ran . <path-to-emsdk>/emsdk_env.sh to add EMSDK to PATH
  2. In any directoy: git clone --recurse-submodules https://github.com/mvladic/lv_web_emscripten.git
  3. cd <path-to-emscripten>
  4. mkdir build
  5. cd build
  6. emcmake cmake ..
  7. emmake make -j4
  8. A file called index.html will be generated. Run this in your browser.

Build options (environment variables)

  • LVGL_CHOSEN_DEMO can be set to the desired demo name so that you don't need to change any C files. This is useful to compile many demos in bulk using a script.

Example emcmake cmake .. -DLVGL_CHOSEN_DEMO=lv_demo_widgets

Known issue with Google Chrome browser

Chrome can't open the generated html file offline. It works if you copy the files to a server. Use Firefox or other browser for offline testing.

Known issue with Firefox

Firefox can't open the generated html file offline unless you go to about:config and change privacy.file_unique_origin to false.