lvgl/README.md
Gabor Kiss-Vamosi e5e76f163c
Update README.md
2017-12-21 01:06:11 +01:00

3.2 KiB

Littlev Graphics Libraray

LittlevGL cover

Littlev Graphics Library provides everything you need to create a Graphical User Interface (GUI) on embedded systems with easy-to-use graphical elements, beautiful visual effects and low memory footprint.

Homepage: http://gl.littlev.hu

Table Of Content

Key features

  • Powerful building blocks buttons, charts, lists, sliders, images etc

  • Advanced graphics with animations, anti-aliasing, opacity, smooth scrolling

  • Various input devices touch pad, mouse, keyboard and external buttons

  • Multi language support with UTF-8 support

  • Fully customizable graphical elements

  • Hardware independent to use with any MCU or display

  • Scalable to operate with few memory (80 kB Flash, 10 kB RAM)

  • OS, External memory and GPU supported but not required

  • Single frame buffer operation even with advances graphical effects

  • Written in C for maximal compatibility

  • PC simulator to develop without embedded hardware

  • Tutorials, examples, themes for rapid development

  • Advanced support and professional GUI development service

  • Documentation and API references online

  • Free and open source under MIT licence

Porting

In the most sime case you need 4 things:

  1. Call lv_tick_inc(1) in every millisecods in a Timer or Task
  2. Register a function which can copy a pixel array to an area of the screen
  3. Register a function which can read an input device. (E.g. touch pad)
  4. Call lv_task_handler() periodically in every few milliseconds ()

For more information visit http://gl.littlev.hu/porting

Project set-up

  1. Clone or download the lvgl repository: git clone https://github.com/littlevgl/lvgl.git
  2. Create project with your prefered IDE and add the lvgl folder
  3. Copy lvgl/lv_conf_templ.h as lv_conf.h next to the lvgl folder
  4. In the *_conf.h files delete the first #if 0 and its #endif. Let the default configurations at first.
  5. In your main.c: #include "lvgl/lvgl.h"
  6. In your main function:
    • lvgl_init();
    • tick, display and input device initialization (see above)
  7. To test create a label: lv_obj_t * label = lv_label_create(lv_scr_act(), NULL);
  8. In the main while(1) call lv_task_handler(); and make a few milliseconds delay (e.g. my_delay_ms(5);)
  9. Compile the code and load it to your embedded hardware

PC Simulator

If you don't have got an embedded hardware you can test the graphics library in a PC simulator. The simulator uses SDL2 to emulate a display on your monitor and a touch pad with your mouse.

There is a pre-configured PC project for Eclipse CDT in this repository: https://github.com/littlevgl/pc_simulator

Contributing

See CONTRIBUTING.md

Donate

If you are pleased with the graphics library and found it useful please support its further development:

Donate