Simulator project for LittlevGL embedded GUI Library
The LittlevGL 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 you don't have to buy design PCB
- Fast because you don't have to design an manufacture PCB
- Collaborative because any number of developers can work without hardware requirements
- Developer friendly because much easier and faster to debug on PC
Requirements
- The PC simulator is cross platform. Windows, Linux and OSX are supported, however on Windows it's easier to get started with a another simulator project.
- SDL a low level driver library to use graphics, handle mouse, keyboard etc.
- This project (configured for Eclipse CDT IDE)
Usage
Get the PC project
Clone the PC project and the related sub modules:
git clone --recursive https://github.com/littlevgl/pc_simulator_sdl_eclipse.git
or download it as zip here.
Install SDL
You can download SDL from https://www.libsdl.org/
On Linux you can install it via terminal:
sudo apt-get update && sudo apt-get install -y build-essential libsdl2-dev
Install Eclipse CDT
Download and install Eclipse CDT from http://www.eclipse.org/cdt/
Import the PC simulator project
- Open Eclipse CDT
- Click File->Import and choose General->Existing project into Workspace
- Browse the root directory of the project and click Finish
- Build your project and run it
Docker
- Build the docker container
docker build -t lvgl_simulator .
- Run the docker container
docker run lvgl_simulator
GUI with docker is platform dependent. For example, on macOS you can follow this tutorial and run a command similar to:
docker run -e DISPLAY=10.103.56.101:0 lvgl_simulator
Contributing
- Fork it!
- Create your feature branch:
git checkout -b my-new-feature
- Commit your changes:
git commit -am 'Add some feature'
- Push to the branch:
git push origin my-new-feature
- Submit a pull request!
If you find an issue, please report it via GitHub!
Donate
If you are pleased with the graphics library and found it useful pleas support its further development: