diff --git a/README.md b/README.md index 85a91c361..7a88c8a99 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -# Littlev Graphics Libraray +# Littlev Graphics Library -![LittlevGL cover](http://www.gl.littlev.hu/home/main_cover_small.png) +![LittlevGL cover](https://littlevgl.com/docs/themes/lv_theme_intro.png) LittlevGL 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. @@ -11,18 +11,19 @@ Homepage: https://littlevgl.com * [Porting](#porting) * [Project set-up](#project-set-up) * [PC simulator](#pc-simulator) +* [Related repositories](#related-repositories) * [Screenshots](#screenshots) * [Contributing](#contributing) * [Donate](#donate) ## Key features -* Powerful building blocks buttons, charts, lists, sliders, images etc +* 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, encoder, buttons etc -* Multi language support with UTF-8 decoding +* Various input devices: touch pad, mouse, keyboard, encoder, buttons, etc. +* Multi-language support with UTF-8 encoding * Fully customizable graphical elements * Hardware independent to use with any microcontroller or display -* Scalable to operate with few memory (50 kB Flash, 10 kB RAM) +* Scalable to operate with little memory (50 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 @@ -31,19 +32,20 @@ Homepage: https://littlevgl.com * Documentation and API references online ## Porting -In the most sime case you need 4 things: -1. Call `lv_tick_inc(1)` in every millisecods in a Timer or Task +In the simplest case you need 5 things: +1. Call `lv_tick_inc(x)` every `x` millisecods in a Timer or Task (`x` should be between 1 and 10) 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 https://littlevgl.com/porting +4. Copy `lv_conf_templ.h` as `lv_conf.h` and set at least `LV_HOR_RES`, `LV_VER_RES` and `LV_COLOR_DEPTH`. +5. Call `lv_task_handler()` periodically every few milliseconds. +For a detailed description visit https://littlevgl.com/porting Or check the [Porting tutorial](https://github.com/littlevgl/lv_examples/blob/master/lv_tutorial/0_porting/lv_tutorial_porting.c) ## Project set-up 1. **Clone** or [Download](https://littlevgl.com/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 lv_conf.h delete the first `#if 0` and its `#endif`. Let the default configurations at first. +4. In the lv_conf.h delete the first `#if 0` and its `#endif`. Leave the default configuration for the first try. 5. In your *main.c*: #include "lvgl/lvgl.h" 6. In your *main function*: * lvgl_init(); @@ -53,10 +55,16 @@ Or check the [Porting tutorial](https://github.com/littlevgl/lv_examples/blob/ma 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](https://www.libsdl.org/) to emulate a display on your monitor and a touch pad with your mouse. +If you don't have an embedded hardware you can test the graphics library in a PC simulator. The simulator uses [SDL2](https://www.libsdl.org/) library 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 +## Related repositories +* PC simualtor: https://github.com/littlevgl/pc_simulator +* Projects: https://github.com/littlevgl/lv_projects +* Examples: https://github.com/littlevgl/lv_examples +* Drivers: https://github.com/littlevgl/lv_drivers + ## Screenshots ![TFT material](http://www.gl.littlev.hu/github_res/tft_material.png) ![TFT zen](http://www.gl.littlev.hu/github_res/tft_zen.png) @@ -67,6 +75,6 @@ There is a pre-configured PC project for **Eclipse CDT** in this repository: htt See [CONTRIBUTING.md](https://github.com/littlevgl/lvgl/blob/master/docs/CONTRIBUTING.md) ## Donate -If you are pleased with the graphics library, found it useful or be happy with the support you got, please help its further development: +If you are pleased with this graphics library, found it useful, or are happy with the support you got, please help its further development: [![Donate](https://littlevgl.com/donate_dir/donate_btn.png)](https://littlevgl.com/donate)