1
0
Fork 0

Vitepress conversion of docs. (#23795)

This commit is contained in:
Nick Brassel 2024-05-30 12:00:41 +10:00 committed by GitHub
parent 395766657f
commit 6ef9717288
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
357 changed files with 3611 additions and 24208 deletions

View file

@ -1,14 +1,16 @@
# Quantum Painter LVGL Integration :id=lvgl
# Quantum Painter LVGL Integration {#lvgl}
LVGL (Light and Versatile Graphics Library) is an open-source graphics library providing everything you need to create an embedded GUI for your board with easy-to-use graphical elements.
LVGL integrates with [Quantum Painter's](quantum_painter.md) API and drivers to render to the display, the hardware supported by Quantum Painter is also supported by LVGL.
LVGL integrates with [Quantum Painter's](quantum_painter) API and drivers to render to the display, the hardware supported by Quantum Painter is also supported by LVGL.
?> Keep in mind that enabling the LVGL integration has a big impact in firmware size, it is recommeded to use a supported MCU with >256 kB of flash space.
::: tip
Keep in mind that enabling the LVGL integration has a big impact in firmware size, it is recommeded to use a supported MCU with >256 kB of flash space.
:::
To learn more about LVGL and how to use it please take a look at their [official documentation](https://docs.lvgl.io/8.2/intro/)
## Enabling LVGL :id=lvgl-enabling
## Enabling LVGL {#lvgl-enabling}
To enable LVGL to be built into your firmware, add the following to `rules.mk`:
```make
@ -16,11 +18,11 @@ QUANTUM_PAINTER_ENABLE = yes
QUANTUM_PAINTER_DRIVERS = ......
QUANTUM_PAINTER_LVGL_INTEGRATION = yes
```
To configure the Quantum Painter Display Drivers please read the [Quantum Painter Display Drivers](quantum_painter.md#quantum-painter-drivers) section.
To configure the Quantum Painter Display Drivers please read the [Quantum Painter Display Drivers](quantum_painter#quantum-painter-drivers) section.
## Quantum Painter LVGL API :id=lvgl-api
## Quantum Painter LVGL API {#lvgl-api}
### Quantum Painter LVGL Attach :id=lvgl-api-init
### Quantum Painter LVGL Attach {#lvgl-api-init}
```c
bool qp_lvgl_attach(painter_device_t device);
@ -39,10 +41,13 @@ void keyboard_post_init_kb(void) {
}
}
```
To init. the display please read the [Display Initialisation](quantum_painter.md#quantum-painter-api-init) section.
To init. the display please read the [Display Initialisation](quantum_painter#quantum-painter-api-init) section.
!> Attaching LVGL to a display means LVGL subsequently "owns" the display. Using standard Quantum Painter drawing operations with the display after LVGL attachment will likely result in display artifacts.
### Quantum Painter LVGL Detach :id=lvgl-api-init
::: warning
Attaching LVGL to a display means LVGL subsequently "owns" the display. Using standard Quantum Painter drawing operations with the display after LVGL attachment will likely result in display artifacts.
:::
### Quantum Painter LVGL Detach {#lvgl-api-detach}
```c
void qp_lvgl_detach(void)
@ -50,7 +55,7 @@ void qp_lvgl_detach(void)
The `qp_lvgl_detach` function stops the internal LVGL ticks and releases resources related to it.
## Enabling/Disabling LVGL features :id=lvgl-configuring
## Enabling/Disabling LVGL features {#lvgl-configuring}
You can overwrite LVGL specific features in your `lv_conf.h` file.