docs: removes non ascii characters (#4175)
This commit is contained in:
@@ -5,7 +5,7 @@ JavaScript
|
||||
With `lv_binding_js <https://github.com/lvgl/lv_binding_js>`__ you can
|
||||
write lvgl with JavaScript.
|
||||
|
||||
It uses React’s virtual DOM concept to manipulate lvgl UI components,
|
||||
It uses React's virtual DOM concept to manipulate lvgl UI components,
|
||||
providing a familiar React-like experience to users.
|
||||
|
||||
**Code**
|
||||
|
||||
@@ -110,7 +110,7 @@ Many `LVGL examples <https://docs.lvgl.io/master/examples.html>`__ are available
|
||||
PC Simulator
|
||||
~~~~~~~~~~~~
|
||||
|
||||
Micropython is ported to many platforms. One notable port is “unix”, which allows you to build and run Micropython
|
||||
Micropython is ported to many platforms. One notable port is "unix", which allows you to build and run Micropython
|
||||
(+LVGL) on a Linux machine. (On a Windows machine you might need Virtual Box or WSL or MinGW or Cygwin etc.)
|
||||
|
||||
`Click here to know more information about building and running the unix port <https://github.com/lvgl/lv_micropython>`__
|
||||
@@ -190,7 +190,7 @@ follow some coding conventions:
|
||||
- ``struct`` APIs should follow the widgets' conventions. That is to receive a pointer to the ``struct`` as the
|
||||
first argument, and the prefix of the ``struct`` name should be used as the prefix of the
|
||||
function name too (e.g. :cpp:expr:`lv_disp_set_default(lv_disp_t * disp)`)
|
||||
- Functions and ``struct``\ s which are not part of the public API must begin with underscore in order to mark them as “private”.
|
||||
- Functions and ``struct``\ s which are not part of the public API must begin with underscore in order to mark them as "private".
|
||||
- Argument must be named in H files too.
|
||||
- Do not ``malloc`` into a static or global variables. Instead declare the variable in :c:macro:`LV_ITERATE_ROOTS`
|
||||
list in ``lv_gc.h`` and mark the variable with :cpp:expr:`GC_ROOT(variable)` when it's used. **See** :ref:`memory_management`
|
||||
|
||||
@@ -8,7 +8,7 @@ What is PikaScript ?
|
||||
interpreter designed specifically for microcontrollers, and it supports
|
||||
a subset of the common Python3 syntax.
|
||||
|
||||
It’s lighter, requiring only 32k of code space and 4k of RAM, which
|
||||
It's lighter, requiring only 32k of code space and 4k of RAM, which
|
||||
means it can run on stm32f103c8 (blue-pill) or even stm32g030c8, on the
|
||||
other hand, you can leave valuable space for more material or larger
|
||||
buffer areas.
|
||||
@@ -18,9 +18,9 @@ all, does not depend on OS or file system, has good support for popular
|
||||
IDEs for Windows platforms like Keil, IAR, RT-Thread-Studio, and of
|
||||
course, supports linux-gcc development platforms.
|
||||
|
||||
It’s smarter, with a unique C module mechanism that allows you to
|
||||
It's smarter, with a unique C module mechanism that allows you to
|
||||
generate bindings automatically by simply writing the API for the C
|
||||
module in Python, and you don’t need to deal with the headache of
|
||||
module in Python, and you don't need to deal with the headache of
|
||||
writing any macros or global tables manually. On the other hand, all C
|
||||
modules have sophisticated smart hints, even hinting at the types of
|
||||
your arguments .
|
||||
@@ -152,7 +152,7 @@ interface file)
|
||||
def set_bg_angles(self, start: int, end: int): ...
|
||||
def set_angles(self, start: int, end: int): ...
|
||||
|
||||
Then PikaScript’s pre-compiler can automatically bind the following C
|
||||
Then PikaScript's pre-compiler can automatically bind the following C
|
||||
functions, simply by naming the functions in the module_class_method
|
||||
format, without any additional work, and all binding and registration is
|
||||
done automatically.
|
||||
|
||||
@@ -66,7 +66,7 @@ NuttX + LVGL could be used for
|
||||
- Fast prototyping GUI for MVP (Minimum Viable Product) presentation.
|
||||
- visualize sensor data directly and easily on the board without using
|
||||
a computer.
|
||||
- Final products with a GUI without a touchscreen (i.e. 3D Printer
|
||||
- Final products with a GUI without a touchscreen (i.e. 3D Printer
|
||||
Interface using Rotary Encoder to Input data).
|
||||
- Final products with a touchscreen (and all sorts of bells and
|
||||
whistles).
|
||||
@@ -78,21 +78,21 @@ How to get started with NuttX and LVGL?
|
||||
|
||||
There are many boards in the `NuttX
|
||||
mainline <https://github.com/apache/incubator-nuttx>`__ with support for
|
||||
LVGL. Let’s use the
|
||||
LVGL. Let's use the
|
||||
`STM32F429IDISCOVERY <https://www.st.com/en/evaluation-tools/32f429idiscovery.html>`__
|
||||
as an example because it is a very popular board.
|
||||
|
||||
First you need to install the pre-requisites on your system
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Let’s use the `Windows Subsystem for
|
||||
Let's use the `Windows Subsystem for
|
||||
Linux <https://acassis.wordpress.com/2018/01/10/how-to-build-nuttx-on-windows-10/>`__
|
||||
|
||||
.. code:: shell
|
||||
|
||||
$ sudo apt-get install automake bison build-essential flex gcc-arm-none-eabi gperf git libncurses5-dev libtool libusb-dev libusb-1.0.0-dev pkg-config kconfig-frontends openocd
|
||||
|
||||
Now let’s create a workspace to save our files
|
||||
Now let's create a workspace to save our files
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. code:: shell
|
||||
@@ -131,7 +131,7 @@ Flashing the firmware in the board using OpenOCD:
|
||||
|
||||
$ sudo openocd -f interface/stlink-v2.cfg -f target/stm32f4x.cfg -c init -c "reset halt" -c "flash write_image erase nuttx.bin 0x08000000"
|
||||
|
||||
Reset the board and using the ‘NSH>’ terminal start the LVGL demo:
|
||||
Reset the board and using the 'NSH>' terminal start the LVGL demo:
|
||||
|
||||
.. code:: shell
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ Flash and 1.2 KB RAM memory resources can be tailored with easy-to-use
|
||||
tools. For resource-rich IoT devices, RT-Thread can use the **online
|
||||
software package** management tool, together with system configuration
|
||||
tools, to achieve intuitive and rapid modular cutting, seamlessly import
|
||||
rich software packages; thus, achieving complex functions like Android’s
|
||||
rich software packages; thus, achieving complex functions like Android's
|
||||
graphical interface and touch sliding effects, smart voice interaction
|
||||
effects, and so on.
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ with preconfigured targets for:
|
||||
- `MicroPython <https://docs.micropython.org/en/v1.15/develop/cmodules.html>`__
|
||||
- `Zephyr <https://docs.zephyrproject.org/latest/guides/zephyr_cmake_package.html>`__
|
||||
|
||||
On top of the preconfigured targets you can also use “plain” CMake to
|
||||
On top of the preconfigured targets you can also use "plain" CMake to
|
||||
integrate LVGL into any custom C/C++ project.
|
||||
|
||||
|
||||
@@ -75,7 +75,7 @@ Include paths options
|
||||
============ ==============
|
||||
ON (default) OFF
|
||||
============ ==============
|
||||
“lvgl.h” “../../lvgl.h”
|
||||
"lvgl.h" "../../lvgl.h"
|
||||
============ ==============
|
||||
|
||||
- :c:macro:`LV_CONF_INCLUDE_SIMPLE`: which specifies whether to ``#include "lv_conf.h"`` and ``"lv_drv_conf.h"`` absolut or relative
|
||||
@@ -83,8 +83,8 @@ Include paths options
|
||||
=============== =====================
|
||||
ON (default) OFF
|
||||
=============== =====================
|
||||
“lv_conf.h” “../../lv_conf.h”
|
||||
“lv_drv_conf.h” “../../lv_drv_conf.h”
|
||||
"lv_conf.h" "../../lv_conf.h"
|
||||
"lv_drv_conf.h" "../../lv_drv_conf.h"
|
||||
=============== =====================
|
||||
|
||||
..
|
||||
|
||||
@@ -10,7 +10,7 @@ More information about ESP-IDF build system can be found `here <https://docs.esp
|
||||
LVGL demo project for ESP32
|
||||
---------------------------
|
||||
|
||||
We’ve created `lv_port_esp32 <https://github.com/lvgl/lv_port_esp32>`__,
|
||||
We've created `lv_port_esp32 <https://github.com/lvgl/lv_port_esp32>`__,
|
||||
a project using ESP-IDF and LVGL to show one of the demos from
|
||||
`demos <https://github.com/lvgl/lvgl/demos>`__. You can configure the
|
||||
project to use one of the many supported display controllers and targets
|
||||
@@ -44,7 +44,7 @@ git repository you can include LVGL as a git submodule:
|
||||
|
||||
git submodule add https://github.com/lvgl/lvgl.git components/lvgl
|
||||
|
||||
The above command will clone LVGL’s main repository into the
|
||||
The above command will clone LVGL's main repository into the
|
||||
``components/lvgl`` directory. LVGL includes a ``CMakeLists.txt`` file
|
||||
that sets some configuration options so you can use LVGL right away.
|
||||
|
||||
@@ -73,8 +73,8 @@ When you are ready to configure LVGL, launch the configuration menu with
|
||||
Using lvgl_esp32_drivers in ESP-IDF project
|
||||
-------------------------------------------
|
||||
|
||||
You can also add ``lvgl_esp32_drivers`` as a “component”. This component
|
||||
should be located inside a directory named “components” in your project
|
||||
You can also add ``lvgl_esp32_drivers`` as a "component". This component
|
||||
should be located inside a directory named "components" in your project
|
||||
root directory.
|
||||
|
||||
When your project is a git repository you can include
|
||||
|
||||
@@ -57,9 +57,9 @@ Eclipse is a Java-based tool so be sure **Java Runtime Environment** is installe
|
||||
|
||||
On Debian-based distros (e.g. Ubuntu): ``sudo apt-get install default-jre``
|
||||
|
||||
:note: If you are using other distros, then please install a ‘Java
|
||||
:note: If you are using other distros, then please install a 'Java
|
||||
Runtime Environment' suitable to your distro. Note: If you are using
|
||||
macOS and get a “Failed to create the Java Virtual Machine” error,
|
||||
macOS and get a "Failed to create the Java Virtual Machine" error,
|
||||
uninstall any other Java JDK installs and install Java JDK 8u. This
|
||||
should fix the problem.
|
||||
|
||||
@@ -142,7 +142,7 @@ Compile and Run
|
||||
Now you are ready to run LVGL on your PC. Click on the Hammer Icon on
|
||||
the top menu bar to Build the project. If you have done everything
|
||||
right, then you will not get any errors. Note that on some systems
|
||||
additional steps might be required to “see” SDL 2 from Eclipse but in
|
||||
additional steps might be required to "see" SDL 2 from Eclipse but in
|
||||
most cases the configuration in the downloaded project is enough.
|
||||
|
||||
After a successful build, click on the Play button on the top menu bar
|
||||
|
||||
@@ -34,7 +34,7 @@ Berry has the following advantages:
|
||||
- Lightweight: A well-optimized interpreter with very little resources. Ideal for use in microprocessors.
|
||||
- Fast: optimized one-pass bytecode compiler and register-based virtual machine.
|
||||
- Powerful: supports imperative programming, object-oriented programming, functional programming.
|
||||
- Flexible: Berry is a dynamic type script, and it’s intended for embedding in applications.
|
||||
- Flexible: Berry is a dynamic type script, and it's intended for embedding in applications.
|
||||
It can provide good dynamic scalability for the host system.
|
||||
- Simple: simple and natural syntax, support garbage collection, and easy to use FFI (foreign function interface).
|
||||
- RAM saving: With compile-time object construction, most of the constant objects are stored
|
||||
@@ -63,7 +63,7 @@ Tasmota + Berry + LVGL could be used for:
|
||||
- Fast prototyping GUI.
|
||||
- Shortening the cycle of changing and fine-tuning the GUI.
|
||||
- Modelling the GUI in a more abstract way by defining reusable composite objects, taking
|
||||
advantage of Berry’s language features such as Inheritance, Closures, Exception Handling…
|
||||
advantage of Berry's language features such as Inheritance, Closures, Exception Handling…
|
||||
- Make LVGL accessible to a larger audience. No need to know C to create a nice GUI on an embedded system.
|
||||
|
||||
A higher level interface compatible with
|
||||
@@ -75,9 +75,9 @@ is also under development.
|
||||
So what does it look like?
|
||||
--------------------------
|
||||
|
||||
TL;DR: Similar to MicroPython, it’s very much like the C API, but Object-Oriented for LVGL components.
|
||||
TL;DR: Similar to MicroPython, it's very much like the C API, but Object-Oriented for LVGL components.
|
||||
|
||||
Let’s dive right into an example!
|
||||
Let's dive right into an example!
|
||||
|
||||
A simple example
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
@@ -12,7 +12,7 @@ after that.
|
||||
Get started in a simulator
|
||||
--------------------------
|
||||
|
||||
Instead of porting LVGL to embedded hardware straight away, it’s highly
|
||||
Instead of porting LVGL to embedded hardware straight away, it's highly
|
||||
recommended to get started in a simulator first.
|
||||
|
||||
LVGL is ported to many IDEs to be sure you will find your favorite one.
|
||||
@@ -30,7 +30,7 @@ If you would rather try LVGL on your own project follow these steps:
|
||||
- Copy the ``lvgl`` folder into your project.
|
||||
- Copy ``lvgl/lv_conf_template.h`` as ``lv_conf.h`` next to the
|
||||
``lvgl`` folder, change the first ``#if 0`` to ``1`` to enable the
|
||||
file’s content and set the :c:macro:`LV_COLOR_DEPTH` defines.
|
||||
file's content and set the :c:macro:`LV_COLOR_DEPTH` defines.
|
||||
- Include ``lvgl/lvgl.h`` in files where you need to use LVGL related functions.
|
||||
- Call :cpp:expr:`lv_tick_inc(x)` every ``x`` milliseconds in a Timer or Task
|
||||
(``x`` should be between 1 and 10). It is required for the internal
|
||||
@@ -121,10 +121,10 @@ label is created on a button, the button is the parent of label.
|
||||
The child object moves with the parent and if the parent is deleted the
|
||||
children will be deleted too.
|
||||
|
||||
Children can be visible only within their parent’s bounding area. In
|
||||
Children can be visible only within their parent's bounding area. In
|
||||
other words, the parts of the children outside the parent are clipped.
|
||||
|
||||
A Screen is the “root” parent. You can have any number of screens.
|
||||
A Screen is the "root" parent. You can have any number of screens.
|
||||
|
||||
To get the current screen call :cpp:func:`lv_scr_act`, and to load a screen
|
||||
use :cpp:expr:`lv_scr_load(scr1)`.
|
||||
@@ -208,7 +208,7 @@ and :cpp:enumerator:`LV_PART_KNOB`.
|
||||
By using parts you can apply different styles to sub-elements of a
|
||||
widget. (See below)
|
||||
|
||||
Read the widgets’ documentation to learn which parts each uses.
|
||||
Read the widgets' documentation to learn which parts each uses.
|
||||
|
||||
States
|
||||
~~~~~~
|
||||
@@ -262,8 +262,8 @@ configure the style. For example:
|
||||
|
||||
See the full list of properties here :ref:`style_properties`.
|
||||
|
||||
Styles are assigned using the ORed combination of an object’s part and
|
||||
state. For example to use this style on the slider’s indicator when the
|
||||
Styles are assigned using the ORed combination of an object's part and
|
||||
state. For example to use this style on the slider's indicator when the
|
||||
slider is pressed:
|
||||
|
||||
.. code:: c
|
||||
@@ -304,7 +304,7 @@ property is not defined in the default state.
|
||||
|
||||
Some properties (typically the text-related ones) can be inherited. This
|
||||
means if a property is not set in an object it will be searched for in
|
||||
its parents too. For example, you can set the font once in the screen’s
|
||||
its parents too. For example, you can set the font once in the screen's
|
||||
style and all text on that screen will inherit it by default.
|
||||
|
||||
Local style properties also can be added to objects. This creates a
|
||||
|
||||
Reference in New Issue
Block a user