diff --git a/docs/src/details/integration/boards/index.rst b/docs/src/details/integration/boards/index.rst index 6f9d0d4dbb..ae305c328d 100644 --- a/docs/src/details/integration/boards/index.rst +++ b/docs/src/details/integration/boards/index.rst @@ -1,10 +1,15 @@ -====== -Boards -====== +.. _boards: + +============= +Board Support +============= + .. toctree:: - :maxdepth: 2 + :class: toctree-1-deep + :maxdepth: 1 - toradex - riverdi - viewe + + lvgl_supported + partner_supported + manufacturers/index diff --git a/docs/src/details/integration/boards/lvgl_supported.rst b/docs/src/details/integration/boards/lvgl_supported.rst new file mode 100644 index 0000000000..10d4c90bc2 --- /dev/null +++ b/docs/src/details/integration/boards/lvgl_supported.rst @@ -0,0 +1,3 @@ +============== +LVGL Supported +============== \ No newline at end of file diff --git a/docs/src/details/integration/boards/manufacturers/icop.rst b/docs/src/details/integration/boards/manufacturers/icop.rst new file mode 100644 index 0000000000..e7cb42243e --- /dev/null +++ b/docs/src/details/integration/boards/manufacturers/icop.rst @@ -0,0 +1,6 @@ +==== +ICOP +==== + +TODO + diff --git a/docs/src/details/integration/boards/manufacturers/index.rst b/docs/src/details/integration/boards/manufacturers/index.rst new file mode 100644 index 0000000000..76090ab331 --- /dev/null +++ b/docs/src/details/integration/boards/manufacturers/index.rst @@ -0,0 +1,11 @@ +====== +Boards +====== + +.. toctree:: + :maxdepth: 2 + + icop + toradex + riverdi + viewe diff --git a/docs/src/details/integration/boards/riverdi.rst b/docs/src/details/integration/boards/manufacturers/riverdi.rst similarity index 100% rename from docs/src/details/integration/boards/riverdi.rst rename to docs/src/details/integration/boards/manufacturers/riverdi.rst diff --git a/docs/src/details/integration/boards/toradex.rst b/docs/src/details/integration/boards/manufacturers/toradex.rst similarity index 100% rename from docs/src/details/integration/boards/toradex.rst rename to docs/src/details/integration/boards/manufacturers/toradex.rst diff --git a/docs/src/details/integration/boards/viewe.rst b/docs/src/details/integration/boards/manufacturers/viewe.rst similarity index 96% rename from docs/src/details/integration/boards/viewe.rst rename to docs/src/details/integration/boards/manufacturers/viewe.rst index eba694dff4..fd4c54a91b 100644 --- a/docs/src/details/integration/boards/viewe.rst +++ b/docs/src/details/integration/boards/manufacturers/viewe.rst @@ -2,12 +2,12 @@ Viewe ===== -`Viewe `__ specializes in comprehensive display solutions -for more than 10 Years with remarkable capability of software and hardware R&D, +`Viewe `__ specializes in comprehensive display solutions +for more than 10 Years with remarkable capability of software and hardware R&D, factory manufacturing and sales service. Viewe not only offers one-stop -`bare display and touch solutions `_ -but also `embedded smart displays `_ -with standard productions and tailored customization to develop your concepts +`bare display and touch solutions `_ +but also `embedded smart displays `_ +with standard productions and tailored customization to develop your concepts to reality. Products Portfolio: @@ -37,7 +37,7 @@ IOT AIOT Smart Displays The Viewe IOT AIOT Smart Displays are a series of displays that use ESP32 microcontrollers with integrated multi-modal interactions of GUI/voice/camera, ML/AI edge computing, and seamless connectivity. UART/RS232/RS485/CAN Interfaces and -redundant IO interfaces are included to facilitate extended usage. LVGL/Arduino/ESP-IDF +redundant IO interfaces are included to facilitate extended usage. LVGL/Arduino/ESP-IDF is well-suited to these boards. lv_port_viewe_7_espidf diff --git a/docs/src/details/integration/boards/partner_supported.rst b/docs/src/details/integration/boards/partner_supported.rst new file mode 100644 index 0000000000..3a9b7ad0aa --- /dev/null +++ b/docs/src/details/integration/boards/partner_supported.rst @@ -0,0 +1,3 @@ +================= +Partner Supported +================= \ No newline at end of file diff --git a/docs/src/details/integration/building/index.rst b/docs/src/details/integration/building/index.rst index 546d838a06..e1a7ebd297 100644 --- a/docs/src/details/integration/building/index.rst +++ b/docs/src/details/integration/building/index.rst @@ -1,6 +1,6 @@ -============= -Build Systems -============= +==================== +Build System Support +==================== .. toctree:: diff --git a/docs/src/details/integration/chip/index.rst b/docs/src/details/integration/chip/index.rst deleted file mode 100644 index 074e909e1e..0000000000 --- a/docs/src/details/integration/chip/index.rst +++ /dev/null @@ -1,13 +0,0 @@ -============ -Chip vendors -============ - -.. toctree:: - :maxdepth: 2 - - alif - arm - espressif - nxp - renesas/index - stm32 diff --git a/docs/src/details/integration/chip_vendors/alif/dave2d_gpu.rst b/docs/src/details/integration/chip_vendors/alif/dave2d_gpu.rst new file mode 100644 index 0000000000..9e05550b38 --- /dev/null +++ b/docs/src/details/integration/chip_vendors/alif/dave2d_gpu.rst @@ -0,0 +1,3 @@ +========== +Dave2D GPU +========== diff --git a/docs/src/details/integration/chip_vendors/alif/index.rst b/docs/src/details/integration/chip_vendors/alif/index.rst new file mode 100644 index 0000000000..fa1723f8e8 --- /dev/null +++ b/docs/src/details/integration/chip_vendors/alif/index.rst @@ -0,0 +1,12 @@ +.. _alif: + +==== +Alif +==== + +.. toctree:: + :maxdepth: 2 + + overview + dave2d_gpu + diff --git a/docs/src/details/integration/chip/alif.rst b/docs/src/details/integration/chip_vendors/alif/overview.rst similarity index 99% rename from docs/src/details/integration/chip/alif.rst rename to docs/src/details/integration/chip_vendors/alif/overview.rst index 4c8498ee78..cf68638061 100644 --- a/docs/src/details/integration/chip/alif.rst +++ b/docs/src/details/integration/chip_vendors/alif/overview.rst @@ -1,8 +1,8 @@ -.. _alif: +.. _alif_overview: -==== -Alif -==== +======== +Overview +======== Alif Semiconductor is a next-generation chip vendor making chips that come in a variety of configurations. Their chips are designed to excel at multiple aspects diff --git a/docs/src/details/integration/renderers/arm2d.rst b/docs/src/details/integration/chip_vendors/arm/arm2d.rst similarity index 100% rename from docs/src/details/integration/renderers/arm2d.rst rename to docs/src/details/integration/chip_vendors/arm/arm2d.rst diff --git a/docs/src/details/integration/chip_vendors/arm/index.rst b/docs/src/details/integration/chip_vendors/arm/index.rst new file mode 100644 index 0000000000..63fcdc9862 --- /dev/null +++ b/docs/src/details/integration/chip_vendors/arm/index.rst @@ -0,0 +1,12 @@ +.. _arm: + +=== +Arm +=== + +.. toctree:: + :maxdepth: 2 + + overview + arm2d + diff --git a/docs/src/details/integration/chip/arm.rst b/docs/src/details/integration/chip_vendors/arm/overview.rst similarity index 99% rename from docs/src/details/integration/chip/arm.rst rename to docs/src/details/integration/chip_vendors/arm/overview.rst index 2bd432dae7..303c4e7a04 100644 --- a/docs/src/details/integration/chip/arm.rst +++ b/docs/src/details/integration/chip_vendors/arm/overview.rst @@ -1,8 +1,8 @@ -.. _arm: +.. _arm_overview: -=== -Arm -=== +======== +Overview +======== Arm is a leading semiconductor and software design company, renowned for creating the Cortex-M microcontroller (MCU) cores and Cortex-A/R (MPU) processor cores, which are integral to a wide range of devices. These cores are at the heart of many embedded systems, powering chips from industry giants such as STMicroelectronics, NXP, and Renesas. Arm's energy-efficient designs are used in billions of devices worldwide, from microcontrollers to smartphones and servers. By licensing their processor designs, Arm enables a broad ecosystem of partners to develop customized solutions optimized for performance, power, and size. Arm's architecture is highly compatible with various operating systems and software libraries, including LVGL, making it a versatile choice for developers creating efficient, high-performance graphical user interfaces. diff --git a/docs/src/details/integration/chip_vendors/espressif/index.rst b/docs/src/details/integration/chip_vendors/espressif/index.rst new file mode 100644 index 0000000000..34d2c177f0 --- /dev/null +++ b/docs/src/details/integration/chip_vendors/espressif/index.rst @@ -0,0 +1,12 @@ +.. _espressif: + +========= +Espressif +========= + +.. toctree:: + :maxdepth: 2 + + overview + ppa_gpu + diff --git a/docs/src/details/integration/chip/espressif.rst b/docs/src/details/integration/chip_vendors/espressif/overview.rst similarity index 97% rename from docs/src/details/integration/chip/espressif.rst rename to docs/src/details/integration/chip_vendors/espressif/overview.rst index 74e25923ae..3d815e09bc 100644 --- a/docs/src/details/integration/chip/espressif.rst +++ b/docs/src/details/integration/chip_vendors/espressif/overview.rst @@ -1,6 +1,6 @@ -============================= -Espressif (ESP32 Chip Series) -============================= +======== +Overview +======== LVGL can be used and configured as standard `ESP-IDF `__ component. @@ -201,8 +201,8 @@ Support for Pixel Processing Accelerator ---------------------------------------- Some ESP32 chip series, like the ESP32-P4 support the Pixel Processing Accelerator hardware (PPA), which is capable of -speeding-up the filling and image blending operations, this peripheral works with the -DMA-2D hardware which is responsible to move the input/output buffers into/from the PPA processing engine. +speeding-up the filling and image blending operations, this peripheral works with the +DMA-2D hardware which is responsible to move the input/output buffers into/from the PPA processing engine. Supported devices ----------------- @@ -216,7 +216,7 @@ Using the PPA on your ESP-IDF project ------------------------------------- LVGL supports, in experimental level, the filling and the image blending -acceleration through the PPA, the user can enable it inside their ``sdkconfig.default`` by +acceleration through the PPA, the user can enable it inside their ``sdkconfig.default`` by adding the following option to enable the PPA draw unit in conjunction to the software render: .. code:: c @@ -230,5 +230,5 @@ Limitations ----------- Please notice that the PPA is at experimental level where some performance gains are expected on drawing tasks related -to rectangle copy or filling, while for image blending, even though it is operational, there is no signifcant gains, +to rectangle copy or filling, while for image blending, even though it is operational, there is no significant gains, the initial cause for that according to the PPA section from reference manual is due to the DMA-2D memory bandwidth. diff --git a/docs/src/details/integration/renderers/espressif_ppa.rst b/docs/src/details/integration/chip_vendors/espressif/ppa_gpu.rst similarity index 100% rename from docs/src/details/integration/renderers/espressif_ppa.rst rename to docs/src/details/integration/chip_vendors/espressif/ppa_gpu.rst diff --git a/docs/src/details/integration/chip_vendors/index.rst b/docs/src/details/integration/chip_vendors/index.rst new file mode 100644 index 0000000000..250bf8d1fc --- /dev/null +++ b/docs/src/details/integration/chip_vendors/index.rst @@ -0,0 +1,15 @@ +.. _chip_vendors: + +=================== +Chip Vendor Support +=================== + +.. toctree:: + :maxdepth: 2 + + alif/index + arm/index + espressif/index + nxp/index + renesas/index + stm32/index diff --git a/docs/src/details/integration/driver/display/nxp_elcdif.rst b/docs/src/details/integration/chip_vendors/nxp/elcdif.rst similarity index 92% rename from docs/src/details/integration/driver/display/nxp_elcdif.rst rename to docs/src/details/integration/chip_vendors/nxp/elcdif.rst index 438985e7f1..570fa055b8 100644 --- a/docs/src/details/integration/driver/display/nxp_elcdif.rst +++ b/docs/src/details/integration/chip_vendors/nxp/elcdif.rst @@ -9,7 +9,7 @@ Overview eLCDIF is a peripheral that is provided on some of the NXP devices capable to drive display panels through the RGB interface, it supports different color depths and, on MIPI-DSI capable devices, its output ca be directed to the MIPI display physical interface. The LVGL's NXP eLCDIF driver is responsible to bind the -NXP MCUx SDK low-level driver to the LVGL display subsystem. +NXP MCUx SDK low-level driver to the LVGL display subsystem. Prerequisites @@ -21,21 +21,21 @@ Prerequisites Usage ----- -The LVGL driver for eLCDIF assumes the platform already configured the display low-level driver, +The LVGL driver for eLCDIF assumes the platform already configured the display low-level driver, set the pin-mux, clocks, etc. It also requires the base address of the peripheral and configuration structure already set. -The following code demonstrates using the diver in :cpp:enumerator:`LV_DISPLAY_RENDER_MODE_DIRECT` mode, +The following code demonstrates using the diver in :cpp:enumerator:`LV_DISPLAY_RENDER_MODE_DIRECT` mode, please notice in this mode of operation the application is responsible to allocate the framebuffers space and pass them to the display, in the example below `buffer1` and `buffer2` are the current and the next -buffers that will be copied to the display screen, being swapped at each flush operation (managed +buffers that will be copied to the display screen, being swapped at each flush operation (managed internally by the display driver). Also observe, in direct mode, each buffer should have the space at -least to hold at least the size of the screen, that is it, the heigh times the width times the bytes +least to hold at least the size of the screen, that is it, the height times the width times the bytes for a pixel (which is application dependent or display supported), on the code below this size is represented by `buf_size`. .. code-block:: c - + elcdif_rgb_mode_config_t config; ELCDIF_RgbModeGetDefaultConfig(&config); diff --git a/docs/src/details/integration/renderers/nxp_g2d.rst b/docs/src/details/integration/chip_vendors/nxp/g2d_gpu.rst similarity index 100% rename from docs/src/details/integration/renderers/nxp_g2d.rst rename to docs/src/details/integration/chip_vendors/nxp/g2d_gpu.rst diff --git a/docs/src/details/integration/chip_vendors/nxp/index.rst b/docs/src/details/integration/chip_vendors/nxp/index.rst new file mode 100644 index 0000000000..dec0fa5cc5 --- /dev/null +++ b/docs/src/details/integration/chip_vendors/nxp/index.rst @@ -0,0 +1,15 @@ +.. _nxp: + +=== +NXP +=== + +.. toctree:: + :maxdepth: 2 + + overview + elcdif + pxp_gpu + vg_lite_gpu + g2d_gpu + diff --git a/docs/src/details/integration/chip/nxp.rst b/docs/src/details/integration/chip_vendors/nxp/overview.rst similarity index 99% rename from docs/src/details/integration/chip/nxp.rst rename to docs/src/details/integration/chip_vendors/nxp/overview.rst index d46bc003cc..d1fd85915c 100644 --- a/docs/src/details/integration/chip/nxp.rst +++ b/docs/src/details/integration/chip_vendors/nxp/overview.rst @@ -1,6 +1,6 @@ -=== -NXP -=== +======== +Overview +======== .. |deg| unicode:: U+000B0 .. DEGREE SIGN diff --git a/docs/src/details/integration/renderers/nxp_pxp.rst b/docs/src/details/integration/chip_vendors/nxp/pxp_gpu.rst similarity index 100% rename from docs/src/details/integration/renderers/nxp_pxp.rst rename to docs/src/details/integration/chip_vendors/nxp/pxp_gpu.rst diff --git a/docs/src/details/integration/renderers/vg_lite.rst b/docs/src/details/integration/chip_vendors/nxp/vg_lite_gpu.rst similarity index 100% rename from docs/src/details/integration/renderers/vg_lite.rst rename to docs/src/details/integration/chip_vendors/nxp/vg_lite_gpu.rst diff --git a/docs/src/details/integration/chip/renesas/built_in_drivers.rst b/docs/src/details/integration/chip_vendors/renesas/built_in_drivers.rst similarity index 100% rename from docs/src/details/integration/chip/renesas/built_in_drivers.rst rename to docs/src/details/integration/chip_vendors/renesas/built_in_drivers.rst diff --git a/docs/src/details/integration/chip_vendors/renesas/dave2d_gpu.rst b/docs/src/details/integration/chip_vendors/renesas/dave2d_gpu.rst new file mode 100644 index 0000000000..88dd6a78c5 --- /dev/null +++ b/docs/src/details/integration/chip_vendors/renesas/dave2d_gpu.rst @@ -0,0 +1,3 @@ +========== +Dave2D GPU +========== \ No newline at end of file diff --git a/docs/src/details/integration/driver/display/renesas_glcdc.rst b/docs/src/details/integration/chip_vendors/renesas/glcdc.rst similarity index 100% rename from docs/src/details/integration/driver/display/renesas_glcdc.rst rename to docs/src/details/integration/chip_vendors/renesas/glcdc.rst diff --git a/docs/src/details/integration/chip/renesas/index.rst b/docs/src/details/integration/chip_vendors/renesas/index.rst similarity index 87% rename from docs/src/details/integration/chip/renesas/index.rst rename to docs/src/details/integration/chip_vendors/renesas/index.rst index 0df0b494db..3170922608 100644 --- a/docs/src/details/integration/chip/renesas/index.rst +++ b/docs/src/details/integration/chip_vendors/renesas/index.rst @@ -13,3 +13,5 @@ Renesas rzg_family rza_family supported_boards + glcdc + dave2d_gpu diff --git a/docs/src/details/integration/chip/renesas/ra_family.rst b/docs/src/details/integration/chip_vendors/renesas/ra_family.rst similarity index 99% rename from docs/src/details/integration/chip/renesas/ra_family.rst rename to docs/src/details/integration/chip_vendors/renesas/ra_family.rst index e9bd609b00..2a56f4ee3f 100644 --- a/docs/src/details/integration/chip/renesas/ra_family.rst +++ b/docs/src/details/integration/chip_vendors/renesas/ra_family.rst @@ -76,9 +76,9 @@ Run the Project On EK-RA8D1 boards, the ``SW1`` DIP switch 7 (in the middle of the board) should be ON, all others are OFF. - + Also note opening a project previously built on top of the FSP prior to v6.0 will trigger - a dialog asking whether the user wants to migrate to the new FSP v6.0. The migration will + a dialog asking whether the user wants to migrate to the new FSP v6.0. The migration will not break the project,. diff --git a/docs/src/details/integration/chip/renesas/rx_family.rst b/docs/src/details/integration/chip_vendors/renesas/rx_family.rst similarity index 100% rename from docs/src/details/integration/chip/renesas/rx_family.rst rename to docs/src/details/integration/chip_vendors/renesas/rx_family.rst diff --git a/docs/src/details/integration/chip/renesas/rza_family.rst b/docs/src/details/integration/chip_vendors/renesas/rza_family.rst similarity index 100% rename from docs/src/details/integration/chip/renesas/rza_family.rst rename to docs/src/details/integration/chip_vendors/renesas/rza_family.rst diff --git a/docs/src/details/integration/chip/renesas/rzg_family.rst b/docs/src/details/integration/chip_vendors/renesas/rzg_family.rst similarity index 100% rename from docs/src/details/integration/chip/renesas/rzg_family.rst rename to docs/src/details/integration/chip_vendors/renesas/rzg_family.rst diff --git a/docs/src/details/integration/chip/renesas/supported_boards.rst b/docs/src/details/integration/chip_vendors/renesas/supported_boards.rst similarity index 100% rename from docs/src/details/integration/chip/renesas/supported_boards.rst rename to docs/src/details/integration/chip_vendors/renesas/supported_boards.rst diff --git a/docs/src/details/integration/renderers/stm32_dma2d.rst b/docs/src/details/integration/chip_vendors/stm32/dma2d_gpu.rst similarity index 100% rename from docs/src/details/integration/renderers/stm32_dma2d.rst rename to docs/src/details/integration/chip_vendors/stm32/dma2d_gpu.rst diff --git a/docs/src/details/integration/chip_vendors/stm32/index.rst b/docs/src/details/integration/chip_vendors/stm32/index.rst new file mode 100644 index 0000000000..48e12141fc --- /dev/null +++ b/docs/src/details/integration/chip_vendors/stm32/index.rst @@ -0,0 +1,15 @@ +.. _stm32: + +===== +STM32 +===== + +.. toctree:: + :maxdepth: 2 + + overview + ltdc + nema_gfx_gpu + dma2d_gpu + lcd_stm32_guide + diff --git a/docs/src/details/integration/driver/display/lcd_stm32_guide.rst b/docs/src/details/integration/chip_vendors/stm32/lcd_stm32_guide.rst similarity index 100% rename from docs/src/details/integration/driver/display/lcd_stm32_guide.rst rename to docs/src/details/integration/chip_vendors/stm32/lcd_stm32_guide.rst diff --git a/docs/src/details/integration/driver/display/st_ltdc.rst b/docs/src/details/integration/chip_vendors/stm32/ltdc.rst similarity index 100% rename from docs/src/details/integration/driver/display/st_ltdc.rst rename to docs/src/details/integration/chip_vendors/stm32/ltdc.rst diff --git a/docs/src/details/integration/renderers/nema_gfx.rst b/docs/src/details/integration/chip_vendors/stm32/nema_gfx_gpu.rst similarity index 98% rename from docs/src/details/integration/renderers/nema_gfx.rst rename to docs/src/details/integration/chip_vendors/stm32/nema_gfx_gpu.rst index a236d9ec89..c86b96a0f7 100644 --- a/docs/src/details/integration/renderers/nema_gfx.rst +++ b/docs/src/details/integration/chip_vendors/stm32/nema_gfx_gpu.rst @@ -39,7 +39,7 @@ and `lv_port_stm32u5g9j-dk2 `__ is configured to link the "cortex_m33_NemaPVG" binaries when building. "cortex_m33_revC" works on all STM32 m33 devices with a Nema core while "cortex_m33_NemaPVG" -additionally supports the tesselation and matrix multiplication acceleration that +additionally supports the tessellation and matrix multiplication acceleration that the STM32 U5F and U5G Nema cores are capable of. With a different STM32CubeIDE project, you can configure the libraries to be linked diff --git a/docs/src/details/integration/chip/stm32.rst b/docs/src/details/integration/chip_vendors/stm32/overview.rst similarity index 99% rename from docs/src/details/integration/chip/stm32.rst rename to docs/src/details/integration/chip_vendors/stm32/overview.rst index 2cdecca0b6..b516bfebcf 100644 --- a/docs/src/details/integration/chip/stm32.rst +++ b/docs/src/details/integration/chip_vendors/stm32/overview.rst @@ -1,6 +1,6 @@ -===== -STM32 -===== +======== +Overview +======== LVGL Can be added to `STM32CubeIDE `__ in a similar fashion to any other Eclipse-based IDE. @@ -236,7 +236,7 @@ A minimal example using STM32CubeIDE, HAL, and CMSISv1 (FreeRTOS). - Finally, create the ``my_flush_cb`` function to output the frame buffer to your LCD. The specifics of this function will vary - depending on which MCU features you are using. Below is a simple + depending on which MCU features you are using. Below is a simple example of a parallel LCD interface, adjust this to suit your specific display and MCU capabilities. diff --git a/docs/src/details/integration/driver/display/index.rst b/docs/src/details/integration/driver/display/index.rst deleted file mode 100644 index c024d179d8..0000000000 --- a/docs/src/details/integration/driver/display/index.rst +++ /dev/null @@ -1,18 +0,0 @@ -======= -Display -======= - -.. toctree:: - :maxdepth: 2 - - fbdev - ft81x - gen_mipi - ili9341 - lcd_stm32_guide - nxp_elcdif - renesas_glcdc - st_ltdc - st7735 - st7789 - st7796 diff --git a/docs/src/details/integration/driver/index.rst b/docs/src/details/integration/driver/index.rst deleted file mode 100644 index 370f1b49ca..0000000000 --- a/docs/src/details/integration/driver/index.rst +++ /dev/null @@ -1,18 +0,0 @@ -.. _drivers: - -======= -Drivers -======= - -.. toctree:: - :maxdepth: 2 - - display/index - libinput - opengles - touchpad/index - wayland - windows - X11 - uefi - sdl diff --git a/docs/src/details/integration/driver/touchpad/ft6x36.rst b/docs/src/details/integration/driver/touchpad/ft6x36.rst deleted file mode 100644 index 12b141a8b6..0000000000 --- a/docs/src/details/integration/driver/touchpad/ft6x36.rst +++ /dev/null @@ -1,5 +0,0 @@ -====== -FT6X36 -====== - -TODO \ No newline at end of file diff --git a/docs/src/details/integration/driver/touchpad/index.rst b/docs/src/details/integration/driver/touchpad/index.rst deleted file mode 100644 index 1de7ad95eb..0000000000 --- a/docs/src/details/integration/driver/touchpad/index.rst +++ /dev/null @@ -1,9 +0,0 @@ -======== -Touchpad -======== - -.. toctree:: - :maxdepth: 2 - - evdev - ft6x36 diff --git a/docs/src/details/integration/driver/X11.rst b/docs/src/details/integration/embedded_linux/drivers/X11.rst similarity index 100% rename from docs/src/details/integration/driver/X11.rst rename to docs/src/details/integration/embedded_linux/drivers/X11.rst diff --git a/docs/src/details/integration/embedded_linux/drivers/drm.rst b/docs/src/details/integration/embedded_linux/drivers/drm.rst new file mode 100644 index 0000000000..22e33017c2 --- /dev/null +++ b/docs/src/details/integration/embedded_linux/drivers/drm.rst @@ -0,0 +1,3 @@ +=== +DRM +=== \ No newline at end of file diff --git a/docs/src/details/integration/driver/touchpad/evdev.rst b/docs/src/details/integration/embedded_linux/drivers/evdev.rst similarity index 87% rename from docs/src/details/integration/driver/touchpad/evdev.rst rename to docs/src/details/integration/embedded_linux/drivers/evdev.rst index a2e0eeda39..c12fecd1c7 100644 --- a/docs/src/details/integration/driver/touchpad/evdev.rst +++ b/docs/src/details/integration/embedded_linux/drivers/evdev.rst @@ -1,12 +1,12 @@ -================== -Linux Evdev Driver -================== +===== +evdev +===== Overview -------- -The Linux event device (evdev) is a hardware-independent API that gives access to input events from, -for example, a mouse or touchscreen. It is exposed via the Linux device file system interface. +The Linux event device (evdev) is a hardware-independent API that gives access to input events from, +for example, a mouse or touchscreen. It is exposed via the Linux device file system interface. Prerequisites ------------- @@ -16,7 +16,7 @@ Your system has an input device configured (usually under ``/dev/input/`` such a Configuring the driver ---------------------- -Enable the Linux LVGL evdev driver support in ``lv_conf.h``. +Enable the Linux LVGL evdev driver support in ``lv_conf.h``. .. code-block:: c @@ -26,35 +26,35 @@ Usage ----- To set up an event input, first create an input device with ``lv_edev_create`` setting it to the correct Linux event device. -Then link this to the LVGL display with ``lv_indev_set_display``. +Then link this to the LVGL display with ``lv_indev_set_display``. .. code-block:: c lv_indev_t *touch = lv_evdev_create(LV_INDEV_TYPE_POINTER, "/dev/input/event0"); lv_indev_set_display(touch, disp); -Ensure that an ``lv_display_t`` object is already created for ``disp``. An example for this is shown below, using the Linux framebuffer driver. +Ensure that an ``lv_display_t`` object is already created for ``disp``. An example for this is shown below, using the Linux framebuffer driver. .. code-block:: c - lv_display_t * disp = lv_linux_fbdev - lv_linux_fbdev_set_file(disp, "/dev/fb0");_create(); + lv_display_t * disp = lv_linux_fbdev_create(); + lv_linux_fbdev_set_file(disp, "/dev/fb0"); Locating your input device -------------------------- -If you can't determine your input device, first run +If you can't determine your input device, first run ```$cat /proc/bus/input/devices``` -This should show input devices and there will be entries with the word ``event`` which give a clue as to the device to use eg. ``event1`` would be ``/dev/input/event1``. +This should show input devices and there will be entries with the word ``event`` which give a clue as to the device to use eg. ``event1`` would be ``/dev/input/event1``. You can use ``evtest`` to show data from that event source to see if it is actually the one you want. -Try: +Try: -``$evtest /dev/input/event1`` replacing ``eventX`` with your event device from above. +``$evtest /dev/input/event1`` replacing ``eventX`` with your event device from above. Automatic input device discovery -------------------------------- diff --git a/docs/src/details/integration/driver/display/fbdev.rst b/docs/src/details/integration/embedded_linux/drivers/fbdev.rst similarity index 90% rename from docs/src/details/integration/driver/display/fbdev.rst rename to docs/src/details/integration/embedded_linux/drivers/fbdev.rst index 60c1ad4e1f..9ab05a1e38 100644 --- a/docs/src/details/integration/driver/display/fbdev.rst +++ b/docs/src/details/integration/embedded_linux/drivers/fbdev.rst @@ -7,7 +7,7 @@ Overview The Linux framebuffer (fbdev) is a linux subsystem used to display graphics. It is a hardware-independent API that gives user space software access to the framebuffer (the part of a computer's video memory containing a current video frame) using only the Linux kernel's own basic -facilities and its device file system interface, avoiding the need for libraries that implement video drivers in user space. +facilities and its device file system interface, avoiding the need for libraries that implement video drivers in user space. Prerequisites ------------- @@ -43,8 +43,8 @@ be enabled unless really needed. Hide the cursor --------------- -You may encounter a blinking cursor on the screen. The method to hide it -varies depending on the platform. For instance, here is how it can be done +You may encounter a blinking cursor on the screen. The method to hide it +varies depending on the platform. For instance, here is how it can be done on a Raspberry Pi: 1. Edit ``/boot/cmdline.txt`` file. @@ -56,27 +56,27 @@ Common mistakes Default resolution issue ^^^^^^^^^^^^^^^^^^^^^^^^ -When the Linux kernel initializes, it sets up subsystems like the framebuffer -(fbdev) to manage display output. If an HDMI display is connected, the kernel -detects it and allocates a portion of RAM as the framebuffer, which holds the +When the Linux kernel initializes, it sets up subsystems like the framebuffer +(fbdev) to manage display output. If an HDMI display is connected, the kernel +detects it and allocates a portion of RAM as the framebuffer, which holds the pixel data for rendering images. -However, a common issue arises when the display is not powered on during the -boot process. If the board is powered on before the screen, the kernel may -incorrectly configure the framebuffer resolution. As a result, both the visible +However, a common issue arises when the display is not powered on during the +boot process. If the board is powered on before the screen, the kernel may +incorrectly configure the framebuffer resolution. As a result, both the visible and virtual resolutions can be incorrect, leading to display problems. -This issue often occurs with HDMI connections where the display is powered up +This issue often occurs with HDMI connections where the display is powered up after the system has already booted. -The following command outputs the current settings of the specified framebuffer +The following command outputs the current settings of the specified framebuffer device, such as resolution, pixel depth, and timings. -.. code-block:: - - fbset -fb /dev/fb0 +.. code-block:: -To prevent display-related issues, it is recommended to ensure all devices, -including the HDMI display, are connected and powered on before powering up + fbset -fb /dev/fb0 + +To prevent display-related issues, it is recommended to ensure all devices, +including the HDMI display, are connected and powered on before powering up the board. diff --git a/docs/src/details/integration/driver/opengles.rst b/docs/src/details/integration/embedded_linux/drivers/glfw.rst similarity index 98% rename from docs/src/details/integration/driver/opengles.rst rename to docs/src/details/integration/embedded_linux/drivers/glfw.rst index 334b0c4479..bc02c66eb2 100644 --- a/docs/src/details/integration/driver/opengles.rst +++ b/docs/src/details/integration/embedded_linux/drivers/glfw.rst @@ -1,8 +1,8 @@ .. _opengl_es_driver: -=============================== -OpenGL ES Display/Inputs Driver -=============================== +==== +GLFW +==== Overview -------- diff --git a/docs/src/details/integration/embedded_linux/drivers/index.rst b/docs/src/details/integration/embedded_linux/drivers/index.rst new file mode 100644 index 0000000000..f5674e09ef --- /dev/null +++ b/docs/src/details/integration/embedded_linux/drivers/index.rst @@ -0,0 +1,17 @@ +.. _embedded_linux_drivers: + +======= +Drivers +======= + +.. toctree:: + :maxdepth: 2 + + fbdev + drm + glfw + wayland + X11 + evdev + libinput + diff --git a/docs/src/details/integration/driver/libinput.rst b/docs/src/details/integration/embedded_linux/drivers/libinput.rst similarity index 98% rename from docs/src/details/integration/driver/libinput.rst rename to docs/src/details/integration/embedded_linux/drivers/libinput.rst index a207464001..3643b36524 100644 --- a/docs/src/details/integration/driver/libinput.rst +++ b/docs/src/details/integration/embedded_linux/drivers/libinput.rst @@ -1,6 +1,6 @@ -=============== -Libinput Driver -=============== +======== +libinput +======== Overview -------- @@ -49,7 +49,7 @@ Full keyboard support needs to be enabled separately. #define LV_LIBINPUT_XKB 1 #define LV_LIBINPUT_XKB_KEY_MAP { .rules = NULL, .model = "pc101", .layout = "us", .variant = NULL, .options = NULL } - + To find the right key map values, you may use the ``setxkbmap -query`` command. Usage diff --git a/docs/src/details/integration/driver/wayland.rst b/docs/src/details/integration/embedded_linux/drivers/wayland.rst similarity index 100% rename from docs/src/details/integration/driver/wayland.rst rename to docs/src/details/integration/embedded_linux/drivers/wayland.rst diff --git a/docs/src/details/integration/embedded_linux/index.rst b/docs/src/details/integration/embedded_linux/index.rst new file mode 100644 index 0000000000..ff3306ada6 --- /dev/null +++ b/docs/src/details/integration/embedded_linux/index.rst @@ -0,0 +1,12 @@ +.. _embedded_linux: + +============================ +Running under Embedded Linux +============================ + +.. toctree:: + :maxdepth: 2 + + overview + os/index + drivers/index diff --git a/docs/src/details/integration/os/buildroot/image_generation.rst b/docs/src/details/integration/embedded_linux/os/buildroot/image_generation.rst similarity index 84% rename from docs/src/details/integration/os/buildroot/image_generation.rst rename to docs/src/details/integration/embedded_linux/os/buildroot/image_generation.rst index 1451ba33e6..b58451815e 100644 --- a/docs/src/details/integration/os/buildroot/image_generation.rst +++ b/docs/src/details/integration/embedded_linux/os/buildroot/image_generation.rst @@ -1,10 +1,10 @@ -RPi4 custom image +RPi4 custom image ################# -This chapter offers a detailed guide for creating a custom image for the -Raspberry Pi 4 (RPi4). Key Buildroot components and concepts will be -introduced. The process outlined here can be adapted for use with -other boards. For advanced features not covered in this guide, please consult +This chapter offers a detailed guide for creating a custom image for the +Raspberry Pi 4 (RPi4). Key Buildroot components and concepts will be +introduced. The process outlined here can be adapted for use with +other boards. For advanced features not covered in this guide, please consult the `Buildroot manual `_ This guide was done on ``Ubuntu 22.04`` @@ -12,27 +12,27 @@ This guide was done on ``Ubuntu 22.04`` Prepare the workspace ********************* -The workspace is structured to utilize Buildroot without any modifications. +The workspace is structured to utilize Buildroot without any modifications. Execute the following commands: -.. code-block:: +.. code-block:: mkdir rpi4_buildroot_lvgl && cd rpi4_buildroot_lvgl mkdir resources && cd resources - mkdir board - mkdir configs - touch Config.in && touch external.desc && touch external.mk + mkdir board + mkdir configs + touch Config.in && touch external.desc && touch external.mk echo "name: rpi4_lvgl" >> external.desc echo "desc: rpi4 lvgl custom build" >> external.desc cd .. Each folder utility will be explained throughout the guide. -Get Buildroot +Get Buildroot ************* First, according to the `Builroot Manual `_, Buildroot requires certain packages to be installed +manual/manual.html>`_, Buildroot requires certain packages to be installed before starting the build. Lets install them using Ubuntu's package manager. .. code-block:: bash @@ -40,17 +40,17 @@ before starting the build. Lets install them using Ubuntu's package manager. sudo apt install sed make binutils gcc g++ bash patch gzip bzip2 perl tar \ cpio python3 unzip rsync wget libncurses-dev -Now that we have satisfied all the prerequisites lets download a stable release +Now that we have satisfied all the prerequisites lets download a stable release of Buildroot. .. code-block:: bash git clone --branch 2024.08 --depth 1 https://github.com/buildroot/buildroot.git -Create RPi4 image +Create RPi4 image ***************** -Let's see if there is already a configuration for RPi4 in Buildroot: +Let's see if there is already a configuration for RPi4 in Buildroot: .. code-block:: bash @@ -62,16 +62,16 @@ There is a build available for RPi4 62 bits: ``raspberrypi4_64_defconfig``. You can also find all the configurations in the Buildroot repository ``buildroot > configs`` -Start with this configuration as a base, but this configuration needs to be -changed to meet lvgl requirements. So let's copy this base and keep it out of -Buildroot. +Start with this configuration as a base, but this configuration needs to be +changed to meet lvgl requirements. So let's copy this base and keep it out of +Buildroot. .. code-block:: bash # move to the project root cp buildroot/configs/raspberrypi4_64_defconfig resources/configs/raspberrypi4_lvgl_defconfig -Create a new file ``build.sh`` at the root of the project with this content: +Create a new file ``build.sh`` at the root of the project with this content: .. code-block:: bash @@ -85,36 +85,36 @@ Create a new file ``build.sh`` at the root of the project with this content: Make this file executable. -.. code-block:: bash +.. code-block:: bash chmod +x build.sh ./build.sh -Running this script creates an output folder that contains everything the -process will generate: +Running this script creates an output folder that contains everything the +process will generate: - - Fetched resources + - Fetched resources - Toolchain - - Images + - Images -This helps maintain a clean Buildroot directory. When the script is executed, -an (almost) empty folder named ``output`` is created, as the build process has -not yet begun. +This helps maintain a clean Buildroot directory. When the script is executed, +an (almost) empty folder named ``output`` is created, as the build process has +not yet begun. Let's modify the configuration with ``menuconfig``. -.. code-block:: bash +.. code-block:: bash cd output make menuconfig -Change these configurations: +Change these configurations: - System host name to ``lvgl-buildroot`` under ``system_configuration > System hostname``. - Root password to ``lvgl-buildroot`` under ``system_configuration > Root password``. - Enable SSH in ``target-packages > Networking applications > openssh`` -.. _build-environment: +.. _build-environment: Build the image @@ -122,79 +122,79 @@ Build the image make -What happened? +What happened? ************** Let's explore the contents of the output folder and what it contains. -build +build ===== -This folder contains the intermediate files and build artifacts for the various -packages that are being compiled. Each package has its own subdirectory within -the ``build`` folder, where the build process takes place. It includes files -such as configuration files, source code, and object files that are generated +This folder contains the intermediate files and build artifacts for the various +packages that are being compiled. Each package has its own subdirectory within +the ``build`` folder, where the build process takes place. It includes files +such as configuration files, source code, and object files that are generated as part of the build process. host ==== -The ``host`` folder contains files and binaries that are built for the host -system rather than the target system. This includes tools and utilities that -are needed to build packages or to run the build system itself. It may contain -compilers, build tools, and libraries that are required to support the build +The ``host`` folder contains files and binaries that are built for the host +system rather than the target system. This includes tools and utilities that +are needed to build packages or to run the build system itself. It may contain +compilers, build tools, and libraries that are required to support the build process for the target. .. _images: -images +images ====== -This directory holds the final output images generated for the target system, -such as filesystem images, kernel images, or bootloader images. Depending on -the configuration, you may find files like ``rootfs.tar``, ``zImage``, +This directory holds the final output images generated for the target system, +such as filesystem images, kernel images, or bootloader images. Depending on +the configuration, you may find files like ``rootfs.tar``, ``zImage``, ``uImage``, or others that are ready to be deployed onto the target hardware. -target +target ====== -The ``target`` folder contains the files that are specifically intended for the -target system. This includes the root filesystem and any additional files that -will be included in the target environment. The structure within this folder -often mimics the directory structure of a standard Linux system, containing -directories like ``bin``, ``lib``, ``etc``, ``usr``, and others, which hold the -binaries, libraries, configuration files, and other necessary components for +The ``target`` folder contains the files that are specifically intended for the +target system. This includes the root filesystem and any additional files that +will be included in the target environment. The structure within this folder +often mimics the directory structure of a standard Linux system, containing +directories like ``bin``, ``lib``, ``etc``, ``usr``, and others, which hold the +binaries, libraries, configuration files, and other necessary components for the target system to function properly. .. _flash_the_image: -Flash the image +Flash the image *************** -Insert the SD card into the laptop and check its mount point. It is typically -labeled as sda or sdb, but you can use the lsblk command to confirm this +Insert the SD card into the laptop and check its mount point. It is typically +labeled as sda or sdb, but you can use the lsblk command to confirm this information. If it is mounted on /dev/sda, run the following command -.. code-block:: bash +.. code-block:: bash sudo dd if=images/sdcard.img of=/dev/sda -As mentioned in :ref:`images`, the output image is in ``images`` and named -``sdcard.img``. +As mentioned in :ref:`images`, the output image is in ``images`` and named +``sdcard.img``. -Connect an Ethernet cable to the RPi4 and ensure the laptop and the RPi4 are on -the same network. +Connect an Ethernet cable to the RPi4 and ensure the laptop and the RPi4 are on +the same network. -You can use ``ifconfig`` or ``ip a`` to find your IP address. Then, use -``nmap`` or any tool to scan the network and find the IP address of the +You can use ``ifconfig`` or ``ip a`` to find your IP address. Then, use +``nmap`` or any tool to scan the network and find the IP address of the RPi4. .. code-block:: bash nmap -sn /24 | grep lvgl -All of this can be done with the UART instead of SSH if you don't want to +All of this can be done with the UART instead of SSH if you don't want to connect the RPi4 to the network. diff --git a/docs/src/details/integration/os/buildroot/index.rst b/docs/src/details/integration/embedded_linux/os/buildroot/index.rst similarity index 90% rename from docs/src/details/integration/os/buildroot/index.rst rename to docs/src/details/integration/embedded_linux/os/buildroot/index.rst index f38071e5c8..e4f2fd700d 100644 --- a/docs/src/details/integration/os/buildroot/index.rst +++ b/docs/src/details/integration/embedded_linux/os/buildroot/index.rst @@ -4,9 +4,9 @@ Buildroot ######### -Buildroot is a set of Makefiles and patches that simplifies and automates the -process of building a complete and bootable Linux environment for an embedded -system, while using cross-compilation to allow building for multiple target +Buildroot is a set of Makefiles and patches that simplifies and automates the +process of building a complete and bootable Linux environment for an embedded +system, while using cross-compilation to allow building for multiple target platforms on a single Linux-based development system. @@ -19,4 +19,3 @@ platforms on a single Linux-based development system. image_generation lvgl_app - \ No newline at end of file diff --git a/docs/src/details/integration/os/buildroot/lvgl_app.rst b/docs/src/details/integration/embedded_linux/os/buildroot/lvgl_app.rst similarity index 83% rename from docs/src/details/integration/os/buildroot/lvgl_app.rst rename to docs/src/details/integration/embedded_linux/os/buildroot/lvgl_app.rst index 9611b70442..5e7d55ae10 100644 --- a/docs/src/details/integration/os/buildroot/lvgl_app.rst +++ b/docs/src/details/integration/embedded_linux/os/buildroot/lvgl_app.rst @@ -1,38 +1,38 @@ LVGL application ################ -This section provides information about the steps to follow to get a custom +This section provides information about the steps to follow to get a custom application using LVGL running on the board. -Update RootFS +Update RootFS ************* -Depending on the application, it might be necessary to update the rootfs. Let's -take as example the compilation of LVGL with DRM. The system must have -``libdrm`` installed. +Depending on the application, it might be necessary to update the rootfs. Let's +take as example the compilation of LVGL with DRM. The system must have +``libdrm`` installed. -.. code-block:: bash +.. code-block:: bash cd output make menuconfig -To search for a string pattern in the configuration, press ``/`` followed by -the desired pattern. For example, search for ``libdrm``. You should find -``BR2_PACKAGE_LIBDRM`` set to **[=n]**. The Location field indicates where to -find this option. By pressing the corresponding number key (9-0), you can -navigate directly to the option. +To search for a string pattern in the configuration, press ``/`` followed by +the desired pattern. For example, search for ``libdrm``. You should find +``BR2_PACKAGE_LIBDRM`` set to **[=n]**. The Location field indicates where to +find this option. By pressing the corresponding number key (9-0), you can +navigate directly to the option. -In the ``Search Results`` window, the ``Depends on`` section lists the required -packages or options that need to be enabled (or disabled) to make the target -package configurable. For any package you wish to add, these dependencies must +In the ``Search Results`` window, the ``Depends on`` section lists the required +packages or options that need to be enabled (or disabled) to make the target +package configurable. For any package you wish to add, these dependencies must be met; otherwise, the option will remain hidden. -When the package configuration is completed, build the environment to add the +When the package configuration is completed, build the environment to add the packages (``make`` in **output** folder). To verify the library was installed, we can find it in the target sysroot: -.. code-block:: bash +.. code-block:: bash find build/ -name "*libdrm*" @@ -40,17 +40,17 @@ You should see the include folder and the .so files. .. _generate_sdk: -Generate SDK and set up environment +Generate SDK and set up environment *********************************** -Generate an SDK that you can use to cross-compile the application for the +Generate an SDK that you can use to cross-compile the application for the target (RPi4). .. code-block:: bash - make sdk + make sdk -A ``.tar.gz`` is generated in output/images. This is the SDK! +A ``.tar.gz`` is generated in output/images. This is the SDK! To use it, extract it anywhere. @@ -59,7 +59,7 @@ To use it, extract it anywhere. mkdir -p ~/sdk tar -xzf images/aarch64-buildroot-linux-gnu_sdk-buildroot.tar.gz -C ~/sdk cd .. - + To set up the environment .. code-block:: bash @@ -67,7 +67,7 @@ To set up the environment mkdir application && cd application touch setup-build-env.sh && chmod +x setup-build-env.sh -The script ``setup-build-env.sh`` looks like this: +The script ``setup-build-env.sh`` looks like this: .. code-block:: bash @@ -91,11 +91,11 @@ The script ``setup-build-env.sh`` looks like this: export LDFLAGS="--sysroot=${SYSROOT}" -Build the application +Build the application ********************* -The environment is now set up, and we're ready to build an application using -the ``lv_benchmark`` repository that is inspired from `lv_port_linux +The environment is now set up, and we're ready to build an application using +the ``lv_benchmark`` repository that is inspired from `lv_port_linux `_. Navigate back to the root of the project and clone the repository: @@ -104,42 +104,42 @@ Navigate back to the root of the project and clone the repository: git clone --recurse-submodules https://github.com/EDGEMTech/lv_benchmark.git -The application is configured to run on fbdev. You can either maintain the +The application is configured to run on fbdev. You can either maintain the default configuration or modify it according to your preferences. -Compile the application +Compile the application .. code-block:: bash cd lv_benchmark - cmake -B build -S . -DCMAKE_C_COMPILER=${CROSS_COMPILE}gcc -DCMAKE_CXX_COMPILER=${CROSS_COMPILE}g++ -DCMAKE_SYSROOT=${SYSROOT} -DCMAKE_C_FLAGS="--sysroot=${SYSROOT}" -DCMAKE_CXX_FLAGS="--sysroot=${SYSROOT}" + cmake -B build -S . -DCMAKE_C_COMPILER=${CROSS_COMPILE}gcc -DCMAKE_CXX_COMPILER=${CROSS_COMPILE}g++ -DCMAKE_SYSROOT=${SYSROOT} -DCMAKE_C_FLAGS="--sysroot=${SYSROOT}" -DCMAKE_CXX_FLAGS="--sysroot=${SYSROOT}" make -j $(nproc) -C build -Verify that the output executable was compiled with the correct toolchain: +Verify that the output executable was compiled with the correct toolchain: .. code-block:: bash file bin/lvgl-app cd ../.. -The output should contain these information: +The output should contain these information: - - ARM aarch64 + - ARM aarch64 - interpreter /lib/ld-linux-aarch64.so.1 Set a rootfs overlay ******************** -In Buildroot, a rootfs overlay (or root filesystem overlay) is a mechanism that -allows you to add custom files, directories, and configurations directly into -the root filesystem of the target image during the build process. It is a way -to extend or modify the content of the root filesystem without altering the +In Buildroot, a rootfs overlay (or root filesystem overlay) is a mechanism that +allows you to add custom files, directories, and configurations directly into +the root filesystem of the target image during the build process. It is a way +to extend or modify the content of the root filesystem without altering the base packages or recompiling everything. -Create the rootfs overlay structure and include the executable of the built +Create the rootfs overlay structure and include the executable of the built application. -.. code-block:: bash +.. code-block:: bash mkdir -p resources/board/rootfs_overlay/usr/bin cp application/lv_benchmark/bin/lvgl-app resources/board/rootfs_overlay/usr/bin/ @@ -148,18 +148,18 @@ Update the configuration. .. code-block:: bash - cd output + cd output make menuconfig -Find the rootfs overlay option ``System configuration > Root filesystem overlay -directories`` and use the relative path to the rootfs overlay with your -application (**../resources/board/rootfs_overlay**) and save the +Find the rootfs overlay option ``System configuration > Root filesystem overlay +directories`` and use the relative path to the rootfs overlay with your +application (**../resources/board/rootfs_overlay**) and save the configuration. -Now use ``make`` command to apply the rootfs overlay and confirm the +Now use ``make`` command to apply the rootfs overlay and confirm the sysroot was updated as expected. -.. code-block:: bash +.. code-block:: bash find . -name lvgl-app diff --git a/docs/src/details/integration/os/buildroot/quick_setup.rst b/docs/src/details/integration/embedded_linux/os/buildroot/quick_setup.rst similarity index 89% rename from docs/src/details/integration/os/buildroot/quick_setup.rst rename to docs/src/details/integration/embedded_linux/os/buildroot/quick_setup.rst index f27c23f14f..fcc143001e 100644 --- a/docs/src/details/integration/os/buildroot/quick_setup.rst +++ b/docs/src/details/integration/embedded_linux/os/buildroot/quick_setup.rst @@ -1,9 +1,9 @@ -Quick Setup +Quick Setup ########### -A Git repository is available that includes everything needed to test the -Buildroot setup without following the guide. It is intended for testing -purposes and can be used if you are already familiar with Buildroot concepts +A Git repository is available that includes everything needed to test the +Buildroot setup without following the guide. It is intended for testing +purposes and can be used if you are already familiar with Buildroot concepts and architecture. Get the repository @@ -14,9 +14,9 @@ Get the repository Build the image -.. code-block:: bash +.. code-block:: bash - ./build.sh + ./build.sh At this point, you have an image that can be flashed on an SD and used. @@ -33,7 +33,7 @@ The SDK is installed. Compile the application. .. code-block:: bash - cd ../application/lv_benchmark + cd ../application/lv_benchmark source ../setup-build-env.sh cmake -B build -S . make -j $(nproc) -C build diff --git a/docs/src/details/integration/embedded_linux/os/index.rst b/docs/src/details/integration/embedded_linux/os/index.rst new file mode 100644 index 0000000000..9eea616405 --- /dev/null +++ b/docs/src/details/integration/embedded_linux/os/index.rst @@ -0,0 +1,13 @@ +.. _embedded_linux_os: + +========== +OS Support +========== + +.. toctree:: + :maxdepth: 2 + + buildroot/index + yocto/index + torizon/torizon_os + diff --git a/docs/src/details/integration/os/torizon_os.rst b/docs/src/details/integration/embedded_linux/os/torizon/torizon_os.rst similarity index 97% rename from docs/src/details/integration/os/torizon_os.rst rename to docs/src/details/integration/embedded_linux/os/torizon/torizon_os.rst index 40089b7283..91bfc572b9 100644 --- a/docs/src/details/integration/os/torizon_os.rst +++ b/docs/src/details/integration/embedded_linux/os/torizon/torizon_os.rst @@ -1,4 +1,4 @@ -.. _torizon-os-section: +.. _torizon-os-section: Torizon OS ========== @@ -69,7 +69,7 @@ More information on the build environment for Torizon containers is available `h Let's begin by creating a directory that will contain the ``Dockerfile`` and source code that will be used to build the image. -Type the following commands in a terminal window: +Type the following commands in a terminal window: .. code-block:: sh @@ -101,44 +101,44 @@ Now edit the Dockerfile. Copy-paste the block below into the file: # arm or arm64 ## ARG IMAGE_ARCH=arm64 - + ## # Directory of the application inside container ## ARG APP_ROOT=/usr/lvgl_application - + # BUILD ------------------------------------------------------------------------ FROM torizon/debian-cross-toolchain-${IMAGE_ARCH}:${CROSS_SDK_BASE_TAG} AS build - + ARG APP_ROOT ARG IMAGE_ARCH - + RUN apt-get -q -y update && \ apt-get -q -y install && \ apt-get clean && apt-get autoremove && \ apt-get install -q -y curl git cmake file && \ rm -rf /var/lib/apt/lists/* - + COPY . ${APP_ROOT} WORKDIR ${APP_ROOT} - + # Compile lv_port_linux RUN CC=aarch64-linux-gnu-gcc cmake -S ./lv_port_linux -B build RUN make -j 4 -C ${APP_ROOT}/build - + # DEPLOY ----------------------------------------------------------------------- FROM --platform=linux/${IMAGE_ARCH} torizon/debian:${BASE_VERSION} AS deploy - + ARG IMAGE_ARCH ARG APP_ROOT - + RUN apt-get -y update && apt-get install -y --no-install-recommends \ && apt-get clean && apt-get autoremove && rm -rf /var/lib/apt/lists/* - + # Copy the lvglsim executable compiled in the build step to the $APP_ROOT directory # path inside the container COPY --from=build ${APP_ROOT}/lv_port_linux/bin/lvglsim ${APP_ROOT} - + # Command executed during runtime when the container starts ENTRYPOINT [ "./lvglsim" ] @@ -175,8 +175,8 @@ this task. Read `this article `_ for more information. -For this guide, we are going to setup a Docker registry container on the development host -which will be accessible from any device on your LAN. The Toradex board being on the same network +For this guide, we are going to setup a Docker registry container on the development host +which will be accessible from any device on your LAN. The Toradex board being on the same network will be able to pull the image from the registry. The registry is created like so: diff --git a/docs/src/details/integration/os/yocto/core_components.rst b/docs/src/details/integration/embedded_linux/os/yocto/core_components.rst similarity index 100% rename from docs/src/details/integration/os/yocto/core_components.rst rename to docs/src/details/integration/embedded_linux/os/yocto/core_components.rst diff --git a/docs/src/details/integration/os/yocto/index.rst b/docs/src/details/integration/embedded_linux/os/yocto/index.rst similarity index 100% rename from docs/src/details/integration/os/yocto/index.rst rename to docs/src/details/integration/embedded_linux/os/yocto/index.rst diff --git a/docs/src/details/integration/os/yocto/lvgl_recipe.rst b/docs/src/details/integration/embedded_linux/os/yocto/lvgl_recipe.rst similarity index 100% rename from docs/src/details/integration/os/yocto/lvgl_recipe.rst rename to docs/src/details/integration/embedded_linux/os/yocto/lvgl_recipe.rst diff --git a/docs/src/details/integration/os/yocto/terms_and_variables.rst b/docs/src/details/integration/embedded_linux/os/yocto/terms_and_variables.rst similarity index 100% rename from docs/src/details/integration/os/yocto/terms_and_variables.rst rename to docs/src/details/integration/embedded_linux/os/yocto/terms_and_variables.rst diff --git a/docs/src/details/integration/embedded_linux/overview.rst b/docs/src/details/integration/embedded_linux/overview.rst new file mode 100644 index 0000000000..90342ca581 --- /dev/null +++ b/docs/src/details/integration/embedded_linux/overview.rst @@ -0,0 +1,3 @@ +======== +Overview +======== \ No newline at end of file diff --git a/docs/src/details/integration/driver/display/ft81x.rst b/docs/src/details/integration/external_display_controllers/eve/frame_buffer_mode.rst similarity index 99% rename from docs/src/details/integration/driver/display/ft81x.rst rename to docs/src/details/integration/external_display_controllers/eve/frame_buffer_mode.rst index 6d8f42e2e2..119c8ea0f7 100644 --- a/docs/src/details/integration/driver/display/ft81x.rst +++ b/docs/src/details/integration/external_display_controllers/eve/frame_buffer_mode.rst @@ -1,8 +1,8 @@ .. _ft81x: -===== -FT81x -===== +=========== +EVE (FT81x) +=========== A minimal framebuffer driver for EVE FT81x smart display controllers. Works for BT81x too. diff --git a/docs/src/details/integration/renderers/eve.rst b/docs/src/details/integration/external_display_controllers/eve/gpu.rst similarity index 100% rename from docs/src/details/integration/renderers/eve.rst rename to docs/src/details/integration/external_display_controllers/eve/gpu.rst diff --git a/docs/src/details/integration/external_display_controllers/eve/index.rst b/docs/src/details/integration/external_display_controllers/eve/index.rst new file mode 100644 index 0000000000..0a27525b02 --- /dev/null +++ b/docs/src/details/integration/external_display_controllers/eve/index.rst @@ -0,0 +1,12 @@ +.. _eve: + +=== +EVE +=== + +.. toctree:: + :maxdepth: 2 + + frame_buffer_mode + gpu + diff --git a/docs/src/details/integration/driver/display/gen_mipi.rst b/docs/src/details/integration/external_display_controllers/gen_mipi.rst similarity index 99% rename from docs/src/details/integration/driver/display/gen_mipi.rst rename to docs/src/details/integration/external_display_controllers/gen_mipi.rst index 55cfbc8277..bf78ecbbaf 100644 --- a/docs/src/details/integration/driver/display/gen_mipi.rst +++ b/docs/src/details/integration/external_display_controllers/gen_mipi.rst @@ -87,7 +87,7 @@ Example .. note:: You can find a step-by-step guide and the actual implementation of the callbacks on an STM32F746 using STM32CubeIDE and the ST HAL libraries here: :ref:`lcd_stm32_guide` - + .. code-block:: c diff --git a/docs/src/details/integration/driver/display/ili9341.rst b/docs/src/details/integration/external_display_controllers/ili9341.rst similarity index 99% rename from docs/src/details/integration/driver/display/ili9341.rst rename to docs/src/details/integration/external_display_controllers/ili9341.rst index f8c33aafd8..7c84e7ab81 100644 --- a/docs/src/details/integration/driver/display/ili9341.rst +++ b/docs/src/details/integration/external_display_controllers/ili9341.rst @@ -70,4 +70,4 @@ For additional details and a working example see the `generic MIPI driver docume .. note:: You can find a step-by-step guide and the actual implementation of the callbacks on an STM32F746 using STM32CubeIDE and the ST HAL libraries here: :ref:`lcd_stm32_guide` - + diff --git a/docs/src/details/integration/external_display_controllers/index.rst b/docs/src/details/integration/external_display_controllers/index.rst new file mode 100644 index 0000000000..a1f7d74d9d --- /dev/null +++ b/docs/src/details/integration/external_display_controllers/index.rst @@ -0,0 +1,13 @@ +========================== +Display Controller Support +========================== + +.. toctree:: + :maxdepth: 2 + + eve/index + gen_mipi + ili9341 + st7735 + st7789 + st7796 diff --git a/docs/src/details/integration/driver/display/st7735.rst b/docs/src/details/integration/external_display_controllers/st7735.rst similarity index 99% rename from docs/src/details/integration/driver/display/st7735.rst rename to docs/src/details/integration/external_display_controllers/st7735.rst index 64bc76e513..33ab070a5a 100644 --- a/docs/src/details/integration/driver/display/st7735.rst +++ b/docs/src/details/integration/external_display_controllers/st7735.rst @@ -72,4 +72,4 @@ For additional details and a working example see the `generic MIPI driver docume .. note:: You can find a step-by-step guide and the actual implementation of the callbacks on an STM32F746 using STM32CubeIDE and the ST HAL libraries here: :ref:`lcd_stm32_guide` - + diff --git a/docs/src/details/integration/driver/display/st7789.rst b/docs/src/details/integration/external_display_controllers/st7789.rst similarity index 99% rename from docs/src/details/integration/driver/display/st7789.rst rename to docs/src/details/integration/external_display_controllers/st7789.rst index 846b85076e..2ab2ea8834 100644 --- a/docs/src/details/integration/driver/display/st7789.rst +++ b/docs/src/details/integration/external_display_controllers/st7789.rst @@ -71,4 +71,4 @@ For additional details and a working example see the `generic MIPI driver docume .. note:: You can find a step-by-step guide and the actual implementation of the callbacks on an STM32F746 using STM32CubeIDE and the ST HAL libraries here: :ref:`lcd_stm32_guide` - + diff --git a/docs/src/details/integration/driver/display/st7796.rst b/docs/src/details/integration/external_display_controllers/st7796.rst similarity index 99% rename from docs/src/details/integration/driver/display/st7796.rst rename to docs/src/details/integration/external_display_controllers/st7796.rst index b757fd819d..cf2745a7a6 100644 --- a/docs/src/details/integration/driver/display/st7796.rst +++ b/docs/src/details/integration/external_display_controllers/st7796.rst @@ -72,4 +72,4 @@ For additional details and a working example see the `generic MIPI driver docume .. note:: You can find a step-by-step guide and the actual implementation of the callbacks on an STM32F746 using STM32CubeIDE and the ST HAL libraries here: :ref:`lcd_stm32_guide` - + diff --git a/docs/src/details/integration/framework/arduino.rst b/docs/src/details/integration/frameworks/arduino.rst similarity index 100% rename from docs/src/details/integration/framework/arduino.rst rename to docs/src/details/integration/frameworks/arduino.rst diff --git a/docs/src/details/integration/framework/index.rst b/docs/src/details/integration/frameworks/index.rst similarity index 59% rename from docs/src/details/integration/framework/index.rst rename to docs/src/details/integration/frameworks/index.rst index ca642818cd..a81903a418 100644 --- a/docs/src/details/integration/framework/index.rst +++ b/docs/src/details/integration/frameworks/index.rst @@ -1,6 +1,6 @@ -========== -Frameworks -========== +================= +Framework Support +================= .. toctree:: :maxdepth: 2 diff --git a/docs/src/details/integration/framework/platformio.rst b/docs/src/details/integration/frameworks/platformio.rst similarity index 100% rename from docs/src/details/integration/framework/platformio.rst rename to docs/src/details/integration/frameworks/platformio.rst diff --git a/docs/src/details/integration/framework/tasmota-berry.rst b/docs/src/details/integration/frameworks/tasmota-berry.rst similarity index 100% rename from docs/src/details/integration/framework/tasmota-berry.rst rename to docs/src/details/integration/frameworks/tasmota-berry.rst diff --git a/docs/src/details/integration/ide/index.rst b/docs/src/details/integration/ide/index.rst deleted file mode 100644 index 13cece29ae..0000000000 --- a/docs/src/details/integration/ide/index.rst +++ /dev/null @@ -1,9 +0,0 @@ -==== -IDEs -==== - -.. toctree:: - :maxdepth: 2 - - mdk - pc-simulator diff --git a/docs/src/details/integration/ide/mdk.rst b/docs/src/details/integration/ide/mdk.rst deleted file mode 100644 index 037f45be8d..0000000000 --- a/docs/src/details/integration/ide/mdk.rst +++ /dev/null @@ -1,5 +0,0 @@ -=== -MDK -=== - -TODO diff --git a/docs/src/details/integration/index.rst b/docs/src/details/integration/index.rst index 3c5ba7f7b0..450839f84a 100644 --- a/docs/src/details/integration/index.rst +++ b/docs/src/details/integration/index.rst @@ -1,19 +1,20 @@ .. _integration_index: -======================= -Integration and Drivers -======================= +================ +Integrating LVGL +================ .. toctree:: :maxdepth: 2 - adding-lvgl-to-your-project/index - bindings/index - building/index - chip/index - driver/index - renderers/index - framework/index - ide/index - os/index + overview/index + pc/index + embedded_linux/index + rtos/index + frameworks/index boards/index + chip_vendors/index + external_display_controllers/index + building/index + bindings/index + diff --git a/docs/src/details/integration/adding-lvgl-to-your-project/building_lvgl.rst b/docs/src/details/integration/overview/building_lvgl.rst similarity index 100% rename from docs/src/details/integration/adding-lvgl-to-your-project/building_lvgl.rst rename to docs/src/details/integration/overview/building_lvgl.rst diff --git a/docs/src/details/integration/adding-lvgl-to-your-project/configuration.rst b/docs/src/details/integration/overview/configuration.rst similarity index 100% rename from docs/src/details/integration/adding-lvgl-to-your-project/configuration.rst rename to docs/src/details/integration/overview/configuration.rst diff --git a/docs/src/details/integration/adding-lvgl-to-your-project/connecting_lvgl.rst b/docs/src/details/integration/overview/connecting_lvgl.rst similarity index 100% rename from docs/src/details/integration/adding-lvgl-to-your-project/connecting_lvgl.rst rename to docs/src/details/integration/overview/connecting_lvgl.rst diff --git a/docs/src/details/integration/adding-lvgl-to-your-project/getting_lvgl.rst b/docs/src/details/integration/overview/getting_lvgl.rst similarity index 100% rename from docs/src/details/integration/adding-lvgl-to-your-project/getting_lvgl.rst rename to docs/src/details/integration/overview/getting_lvgl.rst diff --git a/docs/src/details/integration/adding-lvgl-to-your-project/index.rst b/docs/src/details/integration/overview/index.rst similarity index 69% rename from docs/src/details/integration/adding-lvgl-to-your-project/index.rst rename to docs/src/details/integration/overview/index.rst index 7c3533d192..5ccba8c1b2 100644 --- a/docs/src/details/integration/adding-lvgl-to-your-project/index.rst +++ b/docs/src/details/integration/overview/index.rst @@ -1,8 +1,8 @@ .. _adding_lvgl_to_your_project: -=========================== -Adding LVGL to Your Project -=========================== +======== +Overview +======== .. toctree:: diff --git a/docs/src/details/integration/adding-lvgl-to-your-project/other_platforms.rst b/docs/src/details/integration/overview/other_platforms.rst similarity index 100% rename from docs/src/details/integration/adding-lvgl-to-your-project/other_platforms.rst rename to docs/src/details/integration/overview/other_platforms.rst diff --git a/docs/src/details/integration/adding-lvgl-to-your-project/threading.rst b/docs/src/details/integration/overview/threading.rst similarity index 99% rename from docs/src/details/integration/adding-lvgl-to-your-project/threading.rst rename to docs/src/details/integration/overview/threading.rst index 96ba97e093..b450b9b071 100644 --- a/docs/src/details/integration/adding-lvgl-to-your-project/threading.rst +++ b/docs/src/details/integration/overview/threading.rst @@ -148,7 +148,7 @@ Using this method, creation, modification and deletion of all Widgets and other LVGL resources (i.e. all LVGL function calls excluding the :ref:`exceptions ` mentioned above) are called by that thread. That means that thread is also the ONLY caller of :cpp:func:`lv_timer_handler`. (See -:ref:`adding_lvgl_to_your_project` for more information.) +:ref:`Integration Overview ` for more information.) This ensures LVGL's data structures "appear" atomic_ (all threads using this data "see" it in a consistent state) by the fact that no other threads are "viewing" those diff --git a/docs/src/details/integration/adding-lvgl-to-your-project/timer_handler.rst b/docs/src/details/integration/overview/timer_handler.rst similarity index 100% rename from docs/src/details/integration/adding-lvgl-to-your-project/timer_handler.rst rename to docs/src/details/integration/overview/timer_handler.rst diff --git a/docs/src/details/integration/pc/browser.rst b/docs/src/details/integration/pc/browser.rst new file mode 100644 index 0000000000..743367a15b --- /dev/null +++ b/docs/src/details/integration/pc/browser.rst @@ -0,0 +1,12 @@ +======= +Browser +======= + +.. develop in browser or run the UI in browser + emscripten + overview: how it works, advantages, see lvgl.io/demos + usage + github codespace + why, how + Editor's online preview + what is it, why, how diff --git a/docs/src/details/integration/pc/index.rst b/docs/src/details/integration/pc/index.rst new file mode 100644 index 0000000000..d4d28370d6 --- /dev/null +++ b/docs/src/details/integration/pc/index.rst @@ -0,0 +1,20 @@ +.. _running_on_pc: + +============= +Running on PC +============= + + +.. toctree:: + :class: toctree-1-deep + :maxdepth: 1 + + + overview + linux + windows + macos + browser + sdl + uefi + diff --git a/docs/src/details/integration/pc/linux.rst b/docs/src/details/integration/pc/linux.rst new file mode 100644 index 0000000000..2070a77a15 --- /dev/null +++ b/docs/src/details/integration/pc/linux.rst @@ -0,0 +1,8 @@ +===== +Linux +===== + +.. intro: there are many repos, it's easy to install dependencies via terminal + lv_port_linux: cmake based, also good for embedded linux, suppots many display backends + lv_port_pc_eclipse: many chip vendor IDEs are Eclips based too, needs sdl + lv_port_pc_vscode: modern, needs SDL diff --git a/docs/src/details/integration/pc/macos.rst b/docs/src/details/integration/pc/macos.rst new file mode 100644 index 0000000000..30c40dc485 --- /dev/null +++ b/docs/src/details/integration/pc/macos.rst @@ -0,0 +1,7 @@ +===== +MacOS +===== + +.. lv_port_pc_vscode + lv_port_pc_eclipse + diff --git a/docs/src/details/integration/ide/pc-simulator.rst b/docs/src/details/integration/pc/overview.rst similarity index 94% rename from docs/src/details/integration/ide/pc-simulator.rst rename to docs/src/details/integration/pc/overview.rst index 84dac264e1..14f72e563f 100644 --- a/docs/src/details/integration/ide/pc-simulator.rst +++ b/docs/src/details/integration/pc/overview.rst @@ -1,8 +1,8 @@ .. _simulator: -=============== -Simulator on PC -=============== +======== +Overview +======== You can try out LVGL **using only your PC** (i.e. without any development boards). LVGL will run on a simulator environment on the PC @@ -40,7 +40,8 @@ External project not maintained by the LVGL organization: Built-in drivers ---------------- -LVGL comes with several :ref:`built-in drivers `. +LVGL comes with several built-in drivers, operating system and GPU support. +See :ref:`integration_index`. Even if a simulator project comes with e.g. SDL, you can easily replace it by enabling another driver in ``lv_conf.h`` and calling its ``create`` function. diff --git a/docs/src/details/integration/driver/sdl.rst b/docs/src/details/integration/pc/sdl.rst similarity index 97% rename from docs/src/details/integration/driver/sdl.rst rename to docs/src/details/integration/pc/sdl.rst index 0a0310215f..cf65a79c44 100644 --- a/docs/src/details/integration/driver/sdl.rst +++ b/docs/src/details/integration/pc/sdl.rst @@ -1,8 +1,12 @@ .. _sdl_driver: -=============================== +========== SDL Driver -=============================== +========== + +.. almost good just review + metnion the SDL renderer too + Overview -------- diff --git a/docs/src/details/integration/driver/uefi.rst b/docs/src/details/integration/pc/uefi.rst similarity index 92% rename from docs/src/details/integration/driver/uefi.rst rename to docs/src/details/integration/pc/uefi.rst index ebbdb9494a..62bc75e07d 100644 --- a/docs/src/details/integration/driver/uefi.rst +++ b/docs/src/details/integration/pc/uefi.rst @@ -1,6 +1,6 @@ -============================= +========================== UEFI Display/Inputs driver -============================= +========================== Overview -------- @@ -62,7 +62,7 @@ Usage { lv_uefi_init(ImageHandle, SystemTable); lv_init(); - + if(!lv_is_initialized()) return EFI_NOT_READY; EFI_HANDLE handle = NULL; @@ -83,7 +83,7 @@ Usage return EFI_UNSUPPORTED; } - display = lv_uefi_display_create(handle); + display = lv_uefi_display_create(handle); lv_display_set_default(display); // Create the group @@ -95,16 +95,16 @@ Usage lv_image_set_src(cursor, "E:cursor.png"); // Create the input devices - indev = lv_uefi_simple_text_input_indev_create(); + indev = lv_uefi_simple_text_input_indev_create(); lv_indev_set_group(indev, lv_group_get_default()); lv_uefi_simple_text_input_indev_add_all(indev); - indev = lv_uefi_simple_pointer_indev_create(NULL); + indev = lv_uefi_simple_pointer_indev_create(NULL); lv_uefi_simple_pointer_indev_add_all(indev); lv_indev_set_cursor(indev, cursor); indev = lv_uefi_absolute_pointer_indev_create(NULL); - lv_uefi_absolute_pointer_indev_add_all(indev); + lv_uefi_absolute_pointer_indev_add_all(indev); lv_demo_widgets(); diff --git a/docs/src/details/integration/driver/windows.rst b/docs/src/details/integration/pc/windows.rst similarity index 96% rename from docs/src/details/integration/driver/windows.rst rename to docs/src/details/integration/pc/windows.rst index 920f03fdb5..086a802211 100644 --- a/docs/src/details/integration/driver/windows.rst +++ b/docs/src/details/integration/pc/windows.rst @@ -1,6 +1,9 @@ -============================= -Windows Display/Inputs driver -============================= +======= +Windows +======= + +.. https://github.com/lvgl/lv_port_pc_visual_studio + native windows driver (same as now just make it shorter) Overview ******** diff --git a/docs/src/details/integration/renderers/index.rst b/docs/src/details/integration/renderers/index.rst deleted file mode 100644 index 149cf4bc13..0000000000 --- a/docs/src/details/integration/renderers/index.rst +++ /dev/null @@ -1,18 +0,0 @@ -================== -Renderers and GPUs -================== - -.. toctree:: - :maxdepth: 2 - - sw - arm2d - espressif_ppa - eve - nema_gfx - nxp_pxp - nxp_vglite_gpu - nxp_g2d - sdl - stm32_dma2d - vg_lite diff --git a/docs/src/details/integration/renderers/nxp_vglite_gpu.rst b/docs/src/details/integration/renderers/nxp_vglite_gpu.rst deleted file mode 100644 index bc71475789..0000000000 --- a/docs/src/details/integration/renderers/nxp_vglite_gpu.rst +++ /dev/null @@ -1,8 +0,0 @@ -============== -NXP VGLite GPU -============== - -API -*** - -.. API startswith: lv_draw_vglite_ diff --git a/docs/src/details/integration/renderers/sdl.rst b/docs/src/details/integration/renderers/sdl.rst deleted file mode 100644 index 3d6bf1cd92..0000000000 --- a/docs/src/details/integration/renderers/sdl.rst +++ /dev/null @@ -1,9 +0,0 @@ -============ -SDL Renderer -============ - -API -*** - -.. API startswith: lv_draw_sdl_ - diff --git a/docs/src/details/integration/renderers/sw.rst b/docs/src/details/integration/renderers/sw.rst deleted file mode 100644 index 9b931ca930..0000000000 --- a/docs/src/details/integration/renderers/sw.rst +++ /dev/null @@ -1,8 +0,0 @@ -================= -Software Renderer -================= - -API -*** - -.. API startswith: lv_draw_sw diff --git a/docs/src/details/integration/os/freertos.rst b/docs/src/details/integration/rtos/freertos.rst similarity index 100% rename from docs/src/details/integration/os/freertos.rst rename to docs/src/details/integration/rtos/freertos.rst diff --git a/docs/src/details/integration/os/index.rst b/docs/src/details/integration/rtos/index.rst similarity index 58% rename from docs/src/details/integration/os/index.rst rename to docs/src/details/integration/rtos/index.rst index 452d6d9401..122e5c874d 100644 --- a/docs/src/details/integration/os/index.rst +++ b/docs/src/details/integration/rtos/index.rst @@ -1,16 +1,13 @@ -====== -(RT)OS -====== +============ +RTOS Support +============ .. toctree:: :maxdepth: 2 - buildroot/index freertos mqx nuttx px5 qnx rt-thread - torizon_os - yocto/index zephyr diff --git a/docs/src/details/integration/os/mqx.rst b/docs/src/details/integration/rtos/mqx.rst similarity index 100% rename from docs/src/details/integration/os/mqx.rst rename to docs/src/details/integration/rtos/mqx.rst diff --git a/docs/src/details/integration/os/nuttx.rst b/docs/src/details/integration/rtos/nuttx.rst similarity index 100% rename from docs/src/details/integration/os/nuttx.rst rename to docs/src/details/integration/rtos/nuttx.rst diff --git a/docs/src/details/integration/os/px5.rst b/docs/src/details/integration/rtos/px5.rst similarity index 100% rename from docs/src/details/integration/os/px5.rst rename to docs/src/details/integration/rtos/px5.rst diff --git a/docs/src/details/integration/os/qnx.rst b/docs/src/details/integration/rtos/qnx.rst similarity index 100% rename from docs/src/details/integration/os/qnx.rst rename to docs/src/details/integration/rtos/qnx.rst diff --git a/docs/src/details/integration/os/rt-thread.rst b/docs/src/details/integration/rtos/rt-thread.rst similarity index 100% rename from docs/src/details/integration/os/rt-thread.rst rename to docs/src/details/integration/rtos/rt-thread.rst diff --git a/docs/src/details/integration/os/zephyr.rst b/docs/src/details/integration/rtos/zephyr.rst similarity index 100% rename from docs/src/details/integration/os/zephyr.rst rename to docs/src/details/integration/rtos/zephyr.rst diff --git a/docs/src/index.rst b/docs/src/index.rst index 6c2dbe5bc4..c6394e910e 100644 --- a/docs/src/index.rst +++ b/docs/src/index.rst @@ -35,9 +35,9 @@ Create beautiful UIs for any MCU, MPU and display type.

Going deeper

Get your feet wet with LVGL.

- + -

Add LVGL to your project

+

Integrating LVGL into Your Project

Learn how to add LVGL to your project for any platform, framework and display type.

diff --git a/docs/src/intro/getting_started/learn_the_basics.rst b/docs/src/intro/getting_started/learn_the_basics.rst index 4992bfb8ba..998f892ee7 100644 --- a/docs/src/intro/getting_started/learn_the_basics.rst +++ b/docs/src/intro/getting_started/learn_the_basics.rst @@ -56,7 +56,8 @@ details are available at :ref:`adding_lvgl_to_your_project`. Example ~~~~~~~ -This is a brief example showing how simple it is to add LVGL to a new project. +This is just a brief example of how to add LVGL to a new project. For more details +check out :ref:`Integration Overview `. .. code-block:: c @@ -118,7 +119,7 @@ Displays *Display* refers to the actual hardware. In order to connect LVGL to the hardware an :cpp:expr:`lv_display_t` object needs to be created and initialized. -LVGL has built-in support for many :ref:`built-in drivers `, but it's easy to initialize a +LVGL has built-in support for many built-in drivers (see :ref:`integration_index`), but it's easy to initialize a display from scratch as well (as shown above). LVGL also handles multiple displays at once. diff --git a/docs/src/intro/getting_started/whats_next.rst b/docs/src/intro/getting_started/whats_next.rst index 611343e9b9..6da8f0d972 100644 --- a/docs/src/intro/getting_started/whats_next.rst +++ b/docs/src/intro/getting_started/whats_next.rst @@ -14,7 +14,7 @@ advancing your knowledge: 3. If not already done, read the :ref:`learn_the_basics` (above). (15 minutes) 4. Set up an LVGL :ref:`simulator`. (10 minutes) 5. Have a look at some :ref:`examples` and their code. -6. :ref:`Add LVGL to your project ` or check out +6. :ref:`Integration Overview ` or check out the `ready-to-use Projects`_. 7. Read the :ref:`main_modules` pages to get a better understanding of the library. (2-3 hours) 8. Skim the documentation of :ref:`widgets` to see what is available.