diff --git a/.github/workflows/build-examples-gh-pages-on-push.yml b/.github/workflows/build-examples-gh-pages-on-push.yml index d1bf0e3c..df005bcb 100644 --- a/.github/workflows/build-examples-gh-pages-on-push.yml +++ b/.github/workflows/build-examples-gh-pages-on-push.yml @@ -10,7 +10,7 @@ jobs: build: strategy: matrix: - idf_ver: ["v5.3.0"] + idf_ver: ["v5.2.2"] runs-on: ubuntu-latest container: espressif/idf:${{ matrix.idf_ver }} steps: diff --git a/SquareLine/boards/espbox_3/sdkconfig.defaults b/SquareLine/boards/espbox_3/sdkconfig.defaults deleted file mode 100644 index 22c58f9d..00000000 --- a/SquareLine/boards/espbox_3/sdkconfig.defaults +++ /dev/null @@ -1,8 +0,0 @@ -# This file was generated using idf.py save-defconfig. It can be edited manually. -# Espressif IoT Development Framework (ESP-IDF) Project Minimal Configuration -# -CONFIG_IDF_TARGET="esp32s3" -CONFIG_LV_COLOR_16_SWAP=y -CONFIG_LV_MEM_CUSTOM=y -CONFIG_LV_MEMCPY_MEMSET_STD=y -CONFIG_LV_USE_PERF_MONITOR=y \ No newline at end of file diff --git a/SquareLine/boards/espbox_lite/sdkconfig.defaults b/SquareLine/boards/espbox_lite/sdkconfig.defaults deleted file mode 100644 index 22c58f9d..00000000 --- a/SquareLine/boards/espbox_lite/sdkconfig.defaults +++ /dev/null @@ -1,8 +0,0 @@ -# This file was generated using idf.py save-defconfig. It can be edited manually. -# Espressif IoT Development Framework (ESP-IDF) Project Minimal Configuration -# -CONFIG_IDF_TARGET="esp32s3" -CONFIG_LV_COLOR_16_SWAP=y -CONFIG_LV_MEM_CUSTOM=y -CONFIG_LV_MEMCPY_MEMSET_STD=y -CONFIG_LV_USE_PERF_MONITOR=y \ No newline at end of file diff --git a/SquareLine/boards/custom_waveshare_7inch/README.md b/SquareLine/boards/v8/custom_waveshare_7inch/README.md similarity index 100% rename from SquareLine/boards/custom_waveshare_7inch/README.md rename to SquareLine/boards/v8/custom_waveshare_7inch/README.md diff --git a/SquareLine/boards/custom_waveshare_7inch/components/ws_7inch/CMakeLists.txt b/SquareLine/boards/v8/custom_waveshare_7inch/components/ws_7inch/CMakeLists.txt similarity index 100% rename from SquareLine/boards/custom_waveshare_7inch/components/ws_7inch/CMakeLists.txt rename to SquareLine/boards/v8/custom_waveshare_7inch/components/ws_7inch/CMakeLists.txt diff --git a/SquareLine/boards/custom_waveshare_7inch/components/ws_7inch/LICENSE b/SquareLine/boards/v8/custom_waveshare_7inch/components/ws_7inch/LICENSE similarity index 100% rename from SquareLine/boards/custom_waveshare_7inch/components/ws_7inch/LICENSE rename to SquareLine/boards/v8/custom_waveshare_7inch/components/ws_7inch/LICENSE diff --git a/SquareLine/boards/custom_waveshare_7inch/components/ws_7inch/README.md b/SquareLine/boards/v8/custom_waveshare_7inch/components/ws_7inch/README.md similarity index 100% rename from SquareLine/boards/custom_waveshare_7inch/components/ws_7inch/README.md rename to SquareLine/boards/v8/custom_waveshare_7inch/components/ws_7inch/README.md diff --git a/SquareLine/boards/custom_waveshare_7inch/components/ws_7inch/idf_component.yml b/SquareLine/boards/v8/custom_waveshare_7inch/components/ws_7inch/idf_component.yml similarity index 100% rename from SquareLine/boards/custom_waveshare_7inch/components/ws_7inch/idf_component.yml rename to SquareLine/boards/v8/custom_waveshare_7inch/components/ws_7inch/idf_component.yml diff --git a/SquareLine/boards/custom_waveshare_7inch/components/ws_7inch/include/bsp/display.h b/SquareLine/boards/v8/custom_waveshare_7inch/components/ws_7inch/include/bsp/display.h similarity index 100% rename from SquareLine/boards/custom_waveshare_7inch/components/ws_7inch/include/bsp/display.h rename to SquareLine/boards/v8/custom_waveshare_7inch/components/ws_7inch/include/bsp/display.h diff --git a/SquareLine/boards/custom_waveshare_7inch/components/ws_7inch/include/bsp/esp-bsp.h b/SquareLine/boards/v8/custom_waveshare_7inch/components/ws_7inch/include/bsp/esp-bsp.h similarity index 100% rename from SquareLine/boards/custom_waveshare_7inch/components/ws_7inch/include/bsp/esp-bsp.h rename to SquareLine/boards/v8/custom_waveshare_7inch/components/ws_7inch/include/bsp/esp-bsp.h diff --git a/SquareLine/boards/custom_waveshare_7inch/components/ws_7inch/include/bsp/touch.h b/SquareLine/boards/v8/custom_waveshare_7inch/components/ws_7inch/include/bsp/touch.h similarity index 100% rename from SquareLine/boards/custom_waveshare_7inch/components/ws_7inch/include/bsp/touch.h rename to SquareLine/boards/v8/custom_waveshare_7inch/components/ws_7inch/include/bsp/touch.h diff --git a/SquareLine/boards/custom_waveshare_7inch/components/ws_7inch/include/bsp/ws_7inch.h b/SquareLine/boards/v8/custom_waveshare_7inch/components/ws_7inch/include/bsp/ws_7inch.h similarity index 100% rename from SquareLine/boards/custom_waveshare_7inch/components/ws_7inch/include/bsp/ws_7inch.h rename to SquareLine/boards/v8/custom_waveshare_7inch/components/ws_7inch/include/bsp/ws_7inch.h diff --git a/SquareLine/boards/custom_waveshare_7inch/components/ws_7inch/pic.jpg b/SquareLine/boards/v8/custom_waveshare_7inch/components/ws_7inch/pic.jpg similarity index 100% rename from SquareLine/boards/custom_waveshare_7inch/components/ws_7inch/pic.jpg rename to SquareLine/boards/v8/custom_waveshare_7inch/components/ws_7inch/pic.jpg diff --git a/SquareLine/boards/custom_waveshare_7inch/components/ws_7inch/priv_include/bsp_err_check.h b/SquareLine/boards/v8/custom_waveshare_7inch/components/ws_7inch/priv_include/bsp_err_check.h similarity index 100% rename from SquareLine/boards/custom_waveshare_7inch/components/ws_7inch/priv_include/bsp_err_check.h rename to SquareLine/boards/v8/custom_waveshare_7inch/components/ws_7inch/priv_include/bsp_err_check.h diff --git a/SquareLine/boards/custom_waveshare_7inch/components/ws_7inch/ws_7inch.c b/SquareLine/boards/v8/custom_waveshare_7inch/components/ws_7inch/ws_7inch.c similarity index 100% rename from SquareLine/boards/custom_waveshare_7inch/components/ws_7inch/ws_7inch.c rename to SquareLine/boards/v8/custom_waveshare_7inch/components/ws_7inch/ws_7inch.c diff --git a/SquareLine/boards/custom_waveshare_7inch/image.png b/SquareLine/boards/v8/custom_waveshare_7inch/image.png similarity index 100% rename from SquareLine/boards/custom_waveshare_7inch/image.png rename to SquareLine/boards/v8/custom_waveshare_7inch/image.png diff --git a/SquareLine/boards/custom_waveshare_7inch/main/idf_component.yml b/SquareLine/boards/v8/custom_waveshare_7inch/main/idf_component.yml similarity index 100% rename from SquareLine/boards/custom_waveshare_7inch/main/idf_component.yml rename to SquareLine/boards/v8/custom_waveshare_7inch/main/idf_component.yml diff --git a/SquareLine/boards/custom_waveshare_7inch/manifest.json b/SquareLine/boards/v8/custom_waveshare_7inch/manifest.json similarity index 92% rename from SquareLine/boards/custom_waveshare_7inch/manifest.json rename to SquareLine/boards/v8/custom_waveshare_7inch/manifest.json index ae24ea82..36794864 100644 --- a/SquareLine/boards/custom_waveshare_7inch/manifest.json +++ b/SquareLine/boards/v8/custom_waveshare_7inch/manifest.json @@ -7,6 +7,8 @@ "screen_height":"480", "screen_color_swap":true, + "supported_lvgl_version":"8.2.0, 8.3.*", + "short_description":"Internal custom board with WaveShare 7inch Display made by Espressif.", "long_description":"Example of the custom BSP and custom LCD made by Espressif for various Demos.", diff --git a/SquareLine/boards/custom_waveshare_7inch/sdkconfig.defaults b/SquareLine/boards/v8/custom_waveshare_7inch/sdkconfig.defaults similarity index 89% rename from SquareLine/boards/custom_waveshare_7inch/sdkconfig.defaults rename to SquareLine/boards/v8/custom_waveshare_7inch/sdkconfig.defaults index 6a4a507f..ac1b939f 100644 --- a/SquareLine/boards/custom_waveshare_7inch/sdkconfig.defaults +++ b/SquareLine/boards/v8/custom_waveshare_7inch/sdkconfig.defaults @@ -4,4 +4,4 @@ CONFIG_LV_COLOR_16_SWAP=y CONFIG_LV_MEM_CUSTOM=y CONFIG_LV_MEMCPY_MEMSET_STD=y -CONFIG_LV_USE_PERF_MONITOR=y \ No newline at end of file +CONFIG_LV_USE_PERF_MONITOR=y diff --git a/SquareLine/boards/esp32_c3_lcdkit/image.png b/SquareLine/boards/v8/esp32_c3_lcdkit/image.png similarity index 100% rename from SquareLine/boards/esp32_c3_lcdkit/image.png rename to SquareLine/boards/v8/esp32_c3_lcdkit/image.png diff --git a/SquareLine/boards/esp32_c3_lcdkit/main/idf_component.yml b/SquareLine/boards/v8/esp32_c3_lcdkit/main/idf_component.yml similarity index 76% rename from SquareLine/boards/esp32_c3_lcdkit/main/idf_component.yml rename to SquareLine/boards/v8/esp32_c3_lcdkit/main/idf_component.yml index c5c12a4c..33f20426 100644 --- a/SquareLine/boards/esp32_c3_lcdkit/main/idf_component.yml +++ b/SquareLine/boards/v8/esp32_c3_lcdkit/main/idf_component.yml @@ -3,4 +3,4 @@ targets: - esp32c3 dependencies: idf: ">=4.4" - esp32_c3_lcdkit: "*" + esp32_c3_lcdkit: "==1.0.1" diff --git a/SquareLine/boards/esp32_c3_lcdkit/manifest.json b/SquareLine/boards/v8/esp32_c3_lcdkit/manifest.json similarity index 94% rename from SquareLine/boards/esp32_c3_lcdkit/manifest.json rename to SquareLine/boards/v8/esp32_c3_lcdkit/manifest.json index d39b4bb5..22637a8d 100644 --- a/SquareLine/boards/esp32_c3_lcdkit/manifest.json +++ b/SquareLine/boards/v8/esp32_c3_lcdkit/manifest.json @@ -7,6 +7,8 @@ "screen_height":"240", "screen_color_swap":true, + "supported_lvgl_version":"8.2.0, 8.3.*", + "short_description":"ESP32-C3-LCDKit is a HMI development kit with encoder, that is based on Espressif's ESP32-C3.", "long_description":"ESP32-C3-LCDkit is an ESP32-C3-based evaluation development board with an SPI interface display. It also has an integrated rotary encoder switch and features screen interaction. Due to its low cost, low power consumption, and high performance, ESP32-C3 satisfies the basic GUI interaction needs, gaining ground in scenarios with small screen sizes.", diff --git a/SquareLine/boards/esp32_c3_lcdkit/sdkconfig.defaults b/SquareLine/boards/v8/esp32_c3_lcdkit/sdkconfig.defaults similarity index 100% rename from SquareLine/boards/esp32_c3_lcdkit/sdkconfig.defaults rename to SquareLine/boards/v8/esp32_c3_lcdkit/sdkconfig.defaults diff --git a/SquareLine/boards/esp32_s2_kaluga_kit/image.png b/SquareLine/boards/v8/esp32_s2_kaluga_kit/image.png similarity index 100% rename from SquareLine/boards/esp32_s2_kaluga_kit/image.png rename to SquareLine/boards/v8/esp32_s2_kaluga_kit/image.png diff --git a/SquareLine/boards/esp32_s2_kaluga_kit/main/idf_component.yml b/SquareLine/boards/v8/esp32_s2_kaluga_kit/main/idf_component.yml similarity index 74% rename from SquareLine/boards/esp32_s2_kaluga_kit/main/idf_component.yml rename to SquareLine/boards/v8/esp32_s2_kaluga_kit/main/idf_component.yml index 88fa466d..1017a413 100644 --- a/SquareLine/boards/esp32_s2_kaluga_kit/main/idf_component.yml +++ b/SquareLine/boards/v8/esp32_s2_kaluga_kit/main/idf_component.yml @@ -3,4 +3,4 @@ targets: - esp32s2 dependencies: idf: ">=4.4" - esp32_s2_kaluga_kit: "*" + esp32_s2_kaluga_kit: "==3.0.1" diff --git a/SquareLine/boards/esp32_s2_kaluga_kit/manifest.json b/SquareLine/boards/v8/esp32_s2_kaluga_kit/manifest.json similarity index 94% rename from SquareLine/boards/esp32_s2_kaluga_kit/manifest.json rename to SquareLine/boards/v8/esp32_s2_kaluga_kit/manifest.json index f8ff30ed..282d3c51 100644 --- a/SquareLine/boards/esp32_s2_kaluga_kit/manifest.json +++ b/SquareLine/boards/v8/esp32_s2_kaluga_kit/manifest.json @@ -7,6 +7,8 @@ "screen_height":"240", "screen_color_swap":true, + "supported_lvgl_version":"8.2.0, 8.3.*", + "short_description":"The ESP32-S2-Kaluga-1 development kit produced by Espressif. It integrates the ESP32-S2-WROVER module and all the connectors for extension boards.", "long_description":"Multimedia development board ESP32-S2-Kaluga-1 kit based on ESP32-S2 has various functions, such as an LCD screen display, touch panel control, camera image acquisition, audio playback, etc. It can be flexibly assembled and disassembled, thus fulfilling a variety of customized requirements.", diff --git a/SquareLine/boards/esp32_s2_kaluga_kit/sdkconfig.defaults b/SquareLine/boards/v8/esp32_s2_kaluga_kit/sdkconfig.defaults similarity index 90% rename from SquareLine/boards/esp32_s2_kaluga_kit/sdkconfig.defaults rename to SquareLine/boards/v8/esp32_s2_kaluga_kit/sdkconfig.defaults index a27c7c44..e292b849 100644 --- a/SquareLine/boards/esp32_s2_kaluga_kit/sdkconfig.defaults +++ b/SquareLine/boards/v8/esp32_s2_kaluga_kit/sdkconfig.defaults @@ -5,4 +5,4 @@ CONFIG_IDF_TARGET="esp32s2" CONFIG_LV_COLOR_16_SWAP=y CONFIG_LV_MEM_CUSTOM=y CONFIG_LV_MEMCPY_MEMSET_STD=y -CONFIG_LV_USE_PERF_MONITOR=y \ No newline at end of file +CONFIG_LV_USE_PERF_MONITOR=y diff --git a/SquareLine/boards/esp32_s3_eye/image.png b/SquareLine/boards/v8/esp32_s3_eye/image.png similarity index 100% rename from SquareLine/boards/esp32_s3_eye/image.png rename to SquareLine/boards/v8/esp32_s3_eye/image.png diff --git a/SquareLine/boards/esp32_s3_korvo_2/main/idf_component.yml b/SquareLine/boards/v8/esp32_s3_eye/main/idf_component.yml similarity index 78% rename from SquareLine/boards/esp32_s3_korvo_2/main/idf_component.yml rename to SquareLine/boards/v8/esp32_s3_eye/main/idf_component.yml index 74a9d3c4..30d3534e 100644 --- a/SquareLine/boards/esp32_s3_korvo_2/main/idf_component.yml +++ b/SquareLine/boards/v8/esp32_s3_eye/main/idf_component.yml @@ -3,4 +3,4 @@ targets: - esp32s3 dependencies: idf: ">=4.4" - esp32_s3_korvo_2: "*" + esp32_s3_eye: "==3.0.4" diff --git a/SquareLine/boards/esp32_s3_eye/manifest.json b/SquareLine/boards/v8/esp32_s3_eye/manifest.json similarity index 94% rename from SquareLine/boards/esp32_s3_eye/manifest.json rename to SquareLine/boards/v8/esp32_s3_eye/manifest.json index 825c14fb..6533f53b 100644 --- a/SquareLine/boards/esp32_s3_eye/manifest.json +++ b/SquareLine/boards/v8/esp32_s3_eye/manifest.json @@ -7,6 +7,8 @@ "screen_height":"240", "screen_color_swap":true, + "supported_lvgl_version":"8.2.0, 8.3.*", + "short_description":"The ESP32-S3-EYE is a small-sized AI development board produced by Espressif. It is based on the ESP32-S3 SoC and ESP-WHO.", "long_description":"ESP32-S3-EYE features a 2-Megapixel camera, an LCD display, and a microphone, which are used for image recognition and audio processing. ESP32-S3-EYE offers plenty of storage, with an 8 MB Octal PSRAM and a 8 MB flash. It also supports image transmission via Wi-Fi and debugging through a Micro-USB port.", diff --git a/SquareLine/boards/esp32_s3_usb_otg/sdkconfig.defaults b/SquareLine/boards/v8/esp32_s3_eye/sdkconfig.defaults similarity index 90% rename from SquareLine/boards/esp32_s3_usb_otg/sdkconfig.defaults rename to SquareLine/boards/v8/esp32_s3_eye/sdkconfig.defaults index 22c58f9d..80a2848c 100644 --- a/SquareLine/boards/esp32_s3_usb_otg/sdkconfig.defaults +++ b/SquareLine/boards/v8/esp32_s3_eye/sdkconfig.defaults @@ -5,4 +5,4 @@ CONFIG_IDF_TARGET="esp32s3" CONFIG_LV_COLOR_16_SWAP=y CONFIG_LV_MEM_CUSTOM=y CONFIG_LV_MEMCPY_MEMSET_STD=y -CONFIG_LV_USE_PERF_MONITOR=y \ No newline at end of file +CONFIG_LV_USE_PERF_MONITOR=y diff --git a/SquareLine/boards/esp32_s3_korvo_2/image.png b/SquareLine/boards/v8/esp32_s3_korvo_2/image.png similarity index 100% rename from SquareLine/boards/esp32_s3_korvo_2/image.png rename to SquareLine/boards/v8/esp32_s3_korvo_2/image.png diff --git a/SquareLine/boards/v8/esp32_s3_korvo_2/main/idf_component.yml b/SquareLine/boards/v8/esp32_s3_korvo_2/main/idf_component.yml new file mode 100644 index 00000000..4787121e --- /dev/null +++ b/SquareLine/boards/v8/esp32_s3_korvo_2/main/idf_component.yml @@ -0,0 +1,6 @@ +description: ESP-BSP SquareLine LVGL Example +targets: + - esp32s3 +dependencies: + idf: ">=4.4" + esp32_s3_korvo_2: "==2.1.2" diff --git a/SquareLine/boards/esp32_s3_korvo_2/manifest.json b/SquareLine/boards/v8/esp32_s3_korvo_2/manifest.json similarity index 95% rename from SquareLine/boards/esp32_s3_korvo_2/manifest.json rename to SquareLine/boards/v8/esp32_s3_korvo_2/manifest.json index 6217509e..be4e4c79 100644 --- a/SquareLine/boards/esp32_s3_korvo_2/manifest.json +++ b/SquareLine/boards/v8/esp32_s3_korvo_2/manifest.json @@ -7,6 +7,8 @@ "screen_height":"240", "screen_color_swap":true, + "supported_lvgl_version":"8.2.0, 8.3.*", + "short_description":"The ESP32-S3-Korvo-2 is a multimedia development board based on the ESP32-S3 chip.", "long_description":"The ESP32-S3-Korvo-2 is a multimedia development board based on the ESP32-S3 chip. It is equipped with a two-microphone array which is suitable for voice recognition and near/far-field voice wake-up applications. The board integrates multiple peripherals such as LCD, camera, and microSD card. It also supports JPEG video stream processing. With all of its outstanding features, the board is an ideal choice for the development of low-cost and low-power network-connected audio and video products.", diff --git a/SquareLine/boards/espbox/sdkconfig.defaults b/SquareLine/boards/v8/esp32_s3_korvo_2/sdkconfig.defaults similarity index 90% rename from SquareLine/boards/espbox/sdkconfig.defaults rename to SquareLine/boards/v8/esp32_s3_korvo_2/sdkconfig.defaults index 22c58f9d..80a2848c 100644 --- a/SquareLine/boards/espbox/sdkconfig.defaults +++ b/SquareLine/boards/v8/esp32_s3_korvo_2/sdkconfig.defaults @@ -5,4 +5,4 @@ CONFIG_IDF_TARGET="esp32s3" CONFIG_LV_COLOR_16_SWAP=y CONFIG_LV_MEM_CUSTOM=y CONFIG_LV_MEMCPY_MEMSET_STD=y -CONFIG_LV_USE_PERF_MONITOR=y \ No newline at end of file +CONFIG_LV_USE_PERF_MONITOR=y diff --git a/SquareLine/boards/esp32_s3_lcd_ev_board/image.png b/SquareLine/boards/v8/esp32_s3_lcd_ev_board/image.png similarity index 100% rename from SquareLine/boards/esp32_s3_lcd_ev_board/image.png rename to SquareLine/boards/v8/esp32_s3_lcd_ev_board/image.png diff --git a/SquareLine/boards/esp32_s3_lcd_ev_board/main/idf_component.yml b/SquareLine/boards/v8/esp32_s3_lcd_ev_board/main/idf_component.yml similarity index 70% rename from SquareLine/boards/esp32_s3_lcd_ev_board/main/idf_component.yml rename to SquareLine/boards/v8/esp32_s3_lcd_ev_board/main/idf_component.yml index 5653a06f..05dd52cc 100644 --- a/SquareLine/boards/esp32_s3_lcd_ev_board/main/idf_component.yml +++ b/SquareLine/boards/v8/esp32_s3_lcd_ev_board/main/idf_component.yml @@ -2,4 +2,4 @@ description: ESP-BSP SquareLine LVGL Example targets: - esp32s3 dependencies: - esp32_s3_lcd_ev_board: "^2.1" + esp32_s3_lcd_ev_board: "==2.1.0" diff --git a/SquareLine/boards/esp32_s3_lcd_ev_board/manifest.json b/SquareLine/boards/v8/esp32_s3_lcd_ev_board/manifest.json similarity index 95% rename from SquareLine/boards/esp32_s3_lcd_ev_board/manifest.json rename to SquareLine/boards/v8/esp32_s3_lcd_ev_board/manifest.json index b7ebb830..92446ce1 100644 --- a/SquareLine/boards/esp32_s3_lcd_ev_board/manifest.json +++ b/SquareLine/boards/v8/esp32_s3_lcd_ev_board/manifest.json @@ -7,6 +7,8 @@ "screen_height":"480", "screen_color_swap":false, + "supported_lvgl_version":"8.2.0, 8.3.*", + "short_description":"ESP32-S3-LCD-EV-BOARD is a development board for evaluating and verifying ESP32-S3 screen interactive applications. It has the functions of touch screen interaction and voice interaction.", "long_description":"ESP32-S3-LCD-EV-BOARD has an ESP32-S3-WROOM-1 module with built-in 16 MB Flash and 8/16 MB PSRAM. It features onboard audio codec + audio amplifier and onboard dual microphone pickup. It uses USB type-C interface for download and debugging. ESP32-S3-LCD-EV-BOARD can be used with different screen sub boards with various screen sizes and resolutions, and supports RGB, 8080, SPI, I2C interface screens.", diff --git a/SquareLine/boards/esp32_s3_lcd_ev_board/partitions.csv b/SquareLine/boards/v8/esp32_s3_lcd_ev_board/partitions.csv similarity index 100% rename from SquareLine/boards/esp32_s3_lcd_ev_board/partitions.csv rename to SquareLine/boards/v8/esp32_s3_lcd_ev_board/partitions.csv diff --git a/SquareLine/boards/esp32_s3_lcd_ev_board/sdkconfig.defaults b/SquareLine/boards/v8/esp32_s3_lcd_ev_board/sdkconfig.defaults similarity index 100% rename from SquareLine/boards/esp32_s3_lcd_ev_board/sdkconfig.defaults rename to SquareLine/boards/v8/esp32_s3_lcd_ev_board/sdkconfig.defaults diff --git a/SquareLine/boards/esp32_s3_usb_otg/image.png b/SquareLine/boards/v8/esp32_s3_usb_otg/image.png similarity index 100% rename from SquareLine/boards/esp32_s3_usb_otg/image.png rename to SquareLine/boards/v8/esp32_s3_usb_otg/image.png diff --git a/SquareLine/boards/v8/esp32_s3_usb_otg/main/idf_component.yml b/SquareLine/boards/v8/esp32_s3_usb_otg/main/idf_component.yml new file mode 100644 index 00000000..315270d7 --- /dev/null +++ b/SquareLine/boards/v8/esp32_s3_usb_otg/main/idf_component.yml @@ -0,0 +1,6 @@ +description: ESP-BSP SquareLine LVGL Example +targets: + - esp32s3 +dependencies: + idf: ">=4.4" + esp32_s3_usb_otg: "==1.5.1" diff --git a/SquareLine/boards/esp32_s3_usb_otg/manifest.json b/SquareLine/boards/v8/esp32_s3_usb_otg/manifest.json similarity index 94% rename from SquareLine/boards/esp32_s3_usb_otg/manifest.json rename to SquareLine/boards/v8/esp32_s3_usb_otg/manifest.json index 0de957ac..f386b436 100644 --- a/SquareLine/boards/esp32_s3_usb_otg/manifest.json +++ b/SquareLine/boards/v8/esp32_s3_usb_otg/manifest.json @@ -7,6 +7,8 @@ "screen_height":"240", "screen_color_swap":true, + "supported_lvgl_version":"8.2.0, 8.3.*", + "short_description":"ESP32-S3-USB-OTG is a development board produced by Espressif that focuses on USB-OTG function verification and application development.", "long_description":"ESP32-S3-USB-OTG is targeting at applications based on USB interface. It is equipped with the ESP32-S3-MINI-1-N8 module. Combined with the Wi-Fi functionality provided by the SoC, the USB interface can be used for video streaming over Wi-Fi, accessing the Internet through a 4G hotspot, connecting to a wireless USB disk, and many other applications.", diff --git a/SquareLine/boards/esp32_s3_eye/sdkconfig.defaults b/SquareLine/boards/v8/esp32_s3_usb_otg/sdkconfig.defaults similarity index 90% rename from SquareLine/boards/esp32_s3_eye/sdkconfig.defaults rename to SquareLine/boards/v8/esp32_s3_usb_otg/sdkconfig.defaults index 22c58f9d..80a2848c 100644 --- a/SquareLine/boards/esp32_s3_eye/sdkconfig.defaults +++ b/SquareLine/boards/v8/esp32_s3_usb_otg/sdkconfig.defaults @@ -5,4 +5,4 @@ CONFIG_IDF_TARGET="esp32s3" CONFIG_LV_COLOR_16_SWAP=y CONFIG_LV_MEM_CUSTOM=y CONFIG_LV_MEMCPY_MEMSET_STD=y -CONFIG_LV_USE_PERF_MONITOR=y \ No newline at end of file +CONFIG_LV_USE_PERF_MONITOR=y diff --git a/SquareLine/boards/espbox/image.png b/SquareLine/boards/v8/espbox/image.png similarity index 100% rename from SquareLine/boards/espbox/image.png rename to SquareLine/boards/v8/espbox/image.png diff --git a/SquareLine/boards/espbox/main/idf_component.yml b/SquareLine/boards/v8/espbox/main/idf_component.yml similarity index 82% rename from SquareLine/boards/espbox/main/idf_component.yml rename to SquareLine/boards/v8/espbox/main/idf_component.yml index c6f71713..5c75feed 100644 --- a/SquareLine/boards/espbox/main/idf_component.yml +++ b/SquareLine/boards/v8/espbox/main/idf_component.yml @@ -3,4 +3,4 @@ targets: - esp32s3 dependencies: idf: ">=4.4" - esp-box: "*" + esp-box: "==3.0.5" diff --git a/SquareLine/boards/espbox/manifest.json b/SquareLine/boards/v8/espbox/manifest.json similarity index 96% rename from SquareLine/boards/espbox/manifest.json rename to SquareLine/boards/v8/espbox/manifest.json index dda1d134..96207f17 100644 --- a/SquareLine/boards/espbox/manifest.json +++ b/SquareLine/boards/v8/espbox/manifest.json @@ -7,6 +7,8 @@ "screen_height":"240", "screen_color_swap":true, + "supported_lvgl_version":"8.2.0, 8.3.*", + "short_description":"ESP32-S3-BOX is an AI voice development kit that is based on Espressif’s ESP32-S3 Wi-Fi + Bluetooth 5 (LE) SoC, with AI capabilities.", "long_description":"The BOX series development boards, ESP32-S3-BOX and ESP32-S3-BOX-Lite provide a platform for developing the control of home appliances using Voice Assistance + touch and screen controller, sensor, infrared controller, and intelligent Wi-Fi gateway. Development boards come with pre-built firmware that supports offline voice interaction, with the SDKs and examples provided by Espressif, you will be able to develop a wide variety of AIoT applications based on the BOX series products such as online and offline voice assistants, voice-enabled devices, human-computer interaction devices, control panels, multi-protocol gateways easily.", diff --git a/SquareLine/boards/esp32_s3_korvo_2/sdkconfig.defaults b/SquareLine/boards/v8/espbox/sdkconfig.defaults similarity index 90% rename from SquareLine/boards/esp32_s3_korvo_2/sdkconfig.defaults rename to SquareLine/boards/v8/espbox/sdkconfig.defaults index 22c58f9d..80a2848c 100644 --- a/SquareLine/boards/esp32_s3_korvo_2/sdkconfig.defaults +++ b/SquareLine/boards/v8/espbox/sdkconfig.defaults @@ -5,4 +5,4 @@ CONFIG_IDF_TARGET="esp32s3" CONFIG_LV_COLOR_16_SWAP=y CONFIG_LV_MEM_CUSTOM=y CONFIG_LV_MEMCPY_MEMSET_STD=y -CONFIG_LV_USE_PERF_MONITOR=y \ No newline at end of file +CONFIG_LV_USE_PERF_MONITOR=y diff --git a/SquareLine/boards/espbox_3/image.png b/SquareLine/boards/v8/espbox_3/image.png similarity index 100% rename from SquareLine/boards/espbox_3/image.png rename to SquareLine/boards/v8/espbox_3/image.png diff --git a/SquareLine/boards/espbox_3/main/idf_component.yml b/SquareLine/boards/v8/espbox_3/main/idf_component.yml similarity index 80% rename from SquareLine/boards/espbox_3/main/idf_component.yml rename to SquareLine/boards/v8/espbox_3/main/idf_component.yml index e62f919e..50934a23 100644 --- a/SquareLine/boards/espbox_3/main/idf_component.yml +++ b/SquareLine/boards/v8/espbox_3/main/idf_component.yml @@ -3,4 +3,4 @@ targets: - esp32s3 dependencies: idf: ">=4.4" - esp-box-3: "*" + esp-box-3: "==1.1.3" diff --git a/SquareLine/boards/espbox_3/manifest.json b/SquareLine/boards/v8/espbox_3/manifest.json similarity index 96% rename from SquareLine/boards/espbox_3/manifest.json rename to SquareLine/boards/v8/espbox_3/manifest.json index c9286337..9eaf1ac3 100644 --- a/SquareLine/boards/espbox_3/manifest.json +++ b/SquareLine/boards/v8/espbox_3/manifest.json @@ -7,6 +7,8 @@ "screen_height":"240", "screen_color_swap":true, + "supported_lvgl_version":"8.2.0, 8.3.*", + "short_description":"ESP32-S3-BOX is an AI voice development kit that is based on Espressif’s ESP32-S3 Wi-Fi + Bluetooth 5 (LE) SoC, with AI capabilities.", "long_description":"The BOX series development boards, ESP32-S3-BOX and ESP32-S3-BOX-Lite provide a platform for developing the control of home appliances using Voice Assistance + touch and screen controller, sensor, infrared controller, and intelligent Wi-Fi gateway. Development boards come with pre-built firmware that supports offline voice interaction, with the SDKs and examples provided by Espressif, you will be able to develop a wide variety of AIoT applications based on the BOX series products such as online and offline voice assistants, voice-enabled devices, human-computer interaction devices, control panels, multi-protocol gateways easily.", diff --git a/SquareLine/boards/v8/espbox_3/sdkconfig.defaults b/SquareLine/boards/v8/espbox_3/sdkconfig.defaults new file mode 100644 index 00000000..80a2848c --- /dev/null +++ b/SquareLine/boards/v8/espbox_3/sdkconfig.defaults @@ -0,0 +1,8 @@ +# This file was generated using idf.py save-defconfig. It can be edited manually. +# Espressif IoT Development Framework (ESP-IDF) Project Minimal Configuration +# +CONFIG_IDF_TARGET="esp32s3" +CONFIG_LV_COLOR_16_SWAP=y +CONFIG_LV_MEM_CUSTOM=y +CONFIG_LV_MEMCPY_MEMSET_STD=y +CONFIG_LV_USE_PERF_MONITOR=y diff --git a/SquareLine/boards/espbox_lite/image.png b/SquareLine/boards/v8/espbox_lite/image.png similarity index 100% rename from SquareLine/boards/espbox_lite/image.png rename to SquareLine/boards/v8/espbox_lite/image.png diff --git a/SquareLine/boards/v8/espbox_lite/main/idf_component.yml b/SquareLine/boards/v8/espbox_lite/main/idf_component.yml new file mode 100644 index 00000000..c1839cbd --- /dev/null +++ b/SquareLine/boards/v8/espbox_lite/main/idf_component.yml @@ -0,0 +1,6 @@ +description: ESP-BSP SquareLine LVGL Example +targets: + - esp32s3 +dependencies: + idf: ">=4.4" + esp-box-lite: "==2.0.4" diff --git a/SquareLine/boards/espbox_lite/manifest.json b/SquareLine/boards/v8/espbox_lite/manifest.json similarity index 96% rename from SquareLine/boards/espbox_lite/manifest.json rename to SquareLine/boards/v8/espbox_lite/manifest.json index af044346..17dcea00 100644 --- a/SquareLine/boards/espbox_lite/manifest.json +++ b/SquareLine/boards/v8/espbox_lite/manifest.json @@ -7,6 +7,8 @@ "screen_height":"240", "screen_color_swap":true, + "supported_lvgl_version":"8.2.0, 8.3.*", + "short_description":"ESP32-S3-BOX Lite is an AI voice development kit that is based on Espressif's ESP32-S3 Wi-Fi + Bluetooth 5 (LE) SoC, with AI capabilities.", "long_description":"The BOX series development boards, ESP32-S3-BOX and ESP32-S3-BOX-Lite provide a platform for developing the control of home appliances using Voice Assistance + touch and screen controller, sensor, infrared controller, and intelligent Wi-Fi gateway. Development boards come with pre-built firmware that supports offline voice interaction, with the SDKs and examples provided by Espressif, you will be able to develop a wide variety of AIoT applications based on the BOX series products such as online and offline voice assistants, voice-enabled devices, human-computer interaction devices, control panels, multi-protocol gateways easily.", diff --git a/SquareLine/boards/v8/espbox_lite/sdkconfig.defaults b/SquareLine/boards/v8/espbox_lite/sdkconfig.defaults new file mode 100644 index 00000000..80a2848c --- /dev/null +++ b/SquareLine/boards/v8/espbox_lite/sdkconfig.defaults @@ -0,0 +1,8 @@ +# This file was generated using idf.py save-defconfig. It can be edited manually. +# Espressif IoT Development Framework (ESP-IDF) Project Minimal Configuration +# +CONFIG_IDF_TARGET="esp32s3" +CONFIG_LV_COLOR_16_SWAP=y +CONFIG_LV_MEM_CUSTOM=y +CONFIG_LV_MEMCPY_MEMSET_STD=y +CONFIG_LV_USE_PERF_MONITOR=y diff --git a/SquareLine/boards/espwroverkit/image.png b/SquareLine/boards/v8/espwroverkit/image.png similarity index 100% rename from SquareLine/boards/espwroverkit/image.png rename to SquareLine/boards/v8/espwroverkit/image.png diff --git a/SquareLine/boards/espwroverkit/main/idf_component.yml b/SquareLine/boards/v8/espwroverkit/main/idf_component.yml similarity index 77% rename from SquareLine/boards/espwroverkit/main/idf_component.yml rename to SquareLine/boards/v8/espwroverkit/main/idf_component.yml index 50521fbb..c979734e 100644 --- a/SquareLine/boards/espwroverkit/main/idf_component.yml +++ b/SquareLine/boards/v8/espwroverkit/main/idf_component.yml @@ -3,4 +3,4 @@ targets: - esp32 dependencies: idf: ">=4.4" - esp_wrover_kit: "^1.0.0" + esp_wrover_kit: "==1.5.1" diff --git a/SquareLine/boards/espwroverkit/manifest.json b/SquareLine/boards/v8/espwroverkit/manifest.json similarity index 94% rename from SquareLine/boards/espwroverkit/manifest.json rename to SquareLine/boards/v8/espwroverkit/manifest.json index 69de38f6..166b345a 100644 --- a/SquareLine/boards/espwroverkit/manifest.json +++ b/SquareLine/boards/v8/espwroverkit/manifest.json @@ -7,6 +7,8 @@ "screen_height":"320", "screen_color_swap":true, + "supported_lvgl_version":"8.2.0, 8.3.*", + "short_description":"ESP-WROVER-KIT is an ESP32-based development board produced by Espressif. This board features an integrated LCD screen and microSD card slot.", "long_description":"The ESP-WROVER-KIT comes with an ESP32-WROVER-E module by default. The I/O pins have been broken out from the ESP32-WROVER-E for easy extension. The board carries an advanced multi-protocol USB bridge (the FTDI FT2232HL), enabling developers to use JTAG directly to debug the ESP32 module through the USB interface. The development board makes secondary development easy and cost-effective.", diff --git a/SquareLine/boards/espwroverkit/sdkconfig.defaults b/SquareLine/boards/v8/espwroverkit/sdkconfig.defaults similarity index 100% rename from SquareLine/boards/espwroverkit/sdkconfig.defaults rename to SquareLine/boards/v8/espwroverkit/sdkconfig.defaults diff --git a/SquareLine/boards/m5stack_core_s3/image.png b/SquareLine/boards/v8/m5stack_core_s3/image.png similarity index 100% rename from SquareLine/boards/m5stack_core_s3/image.png rename to SquareLine/boards/v8/m5stack_core_s3/image.png diff --git a/SquareLine/boards/m5stack_core_s3/main/idf_component.yml b/SquareLine/boards/v8/m5stack_core_s3/main/idf_component.yml similarity index 76% rename from SquareLine/boards/m5stack_core_s3/main/idf_component.yml rename to SquareLine/boards/v8/m5stack_core_s3/main/idf_component.yml index fac109b2..3cf5b34b 100644 --- a/SquareLine/boards/m5stack_core_s3/main/idf_component.yml +++ b/SquareLine/boards/v8/m5stack_core_s3/main/idf_component.yml @@ -3,4 +3,4 @@ targets: - esp32s3 dependencies: idf: ">=5.0" - m5stack_core_s3: "*" + m5stack_core_s3: "==1.0.1" diff --git a/SquareLine/boards/m5stack_core_s3/manifest.json b/SquareLine/boards/v8/m5stack_core_s3/manifest.json similarity index 97% rename from SquareLine/boards/m5stack_core_s3/manifest.json rename to SquareLine/boards/v8/m5stack_core_s3/manifest.json index 7a01cd9f..a2b73501 100644 --- a/SquareLine/boards/m5stack_core_s3/manifest.json +++ b/SquareLine/boards/v8/m5stack_core_s3/manifest.json @@ -7,6 +7,8 @@ "screen_height":"240", "screen_color_swap":true, + "supported_lvgl_version":"8.2.0, 8.3.*", + "short_description":"CoreS3 is the third generation of the M5Stack Core series. Powered by the ESP32-S3 solution, this kit features a dual-core Xtensa LX7 processor running at 240MHz. CoreS3 comes equipped with built-in Wi-Fi functionality, enabling seamless connectivity. It boasts 16MB of onboard flash memory and 8MB of PSRAM, providing ample space for program storage.", "long_description":"CoreS3 offers convenient programming options through its TYPE-C interface, supporting OTG and CDC functions. This allows for easy connection with external USB devices and hassle-free firmware flashing. CoreS3 features a 2.0-inch capacitive touch IPS screen, protected by high-strength glass material. Additionally, a 0.3 megapixel camera GC0308 is integrated at the bottom of the screen, accompanied by a proximity sensor LTR-553ALS-WA for enhanced functionality. Power management is handled by the AXP2101 power management core chip, employing a 4-way power flow control loop for efficient power distribution. The overall design emphasizes low power consumption. CoreS3 also features a 6-axis attitude sensor BMI270 and a magnetometer BMM150 for precise motion detection. With the onboard TF-card (microSD) card slot and BM8563 RTC chip, accurate timing and sleep-timer wake-up functions are readily available.", diff --git a/SquareLine/boards/m5stack_core_s3/partitions.csv b/SquareLine/boards/v8/m5stack_core_s3/partitions.csv similarity index 100% rename from SquareLine/boards/m5stack_core_s3/partitions.csv rename to SquareLine/boards/v8/m5stack_core_s3/partitions.csv diff --git a/SquareLine/boards/m5stack_core_s3/sdkconfig.defaults b/SquareLine/boards/v8/m5stack_core_s3/sdkconfig.defaults similarity index 100% rename from SquareLine/boards/m5stack_core_s3/sdkconfig.defaults rename to SquareLine/boards/v8/m5stack_core_s3/sdkconfig.defaults diff --git a/SquareLine/boards/v9/esp32_c3_lcdkit/image.png b/SquareLine/boards/v9/esp32_c3_lcdkit/image.png new file mode 100644 index 00000000..56b4462e Binary files /dev/null and b/SquareLine/boards/v9/esp32_c3_lcdkit/image.png differ diff --git a/SquareLine/boards/v9/esp32_c3_lcdkit/main/idf_component.yml b/SquareLine/boards/v9/esp32_c3_lcdkit/main/idf_component.yml new file mode 100644 index 00000000..14db88b8 --- /dev/null +++ b/SquareLine/boards/v9/esp32_c3_lcdkit/main/idf_component.yml @@ -0,0 +1,6 @@ +description: ESP-BSP SquareLine LVGL Example +targets: + - esp32c3 +dependencies: + idf: ">=4.4" + esp32_c3_lcdkit: ">=1.1.0" diff --git a/SquareLine/boards/v9/esp32_c3_lcdkit/manifest.json b/SquareLine/boards/v9/esp32_c3_lcdkit/manifest.json new file mode 100644 index 00000000..8713e04c --- /dev/null +++ b/SquareLine/boards/v9/esp32_c3_lcdkit/manifest.json @@ -0,0 +1,20 @@ +{ + "name":"ESP32-C3-LCDKit", + "version":"2.0.0", + "mcu":"ESP32C3", + + "screen_width":"240", + "screen_height":"240", + "screen_color_swap":true, + + "supported_lvgl_version":"9.1.*", + + "short_description":"ESP32-C3-LCDKit is a HMI development kit with encoder, that is based on Espressif's ESP32-C3.", + "long_description":"ESP32-C3-LCDkit is an ESP32-C3-based evaluation development board with an SPI interface display. It also has an integrated rotary encoder switch and features screen interaction. Due to its low cost, low power consumption, and high performance, ESP32-C3 satisfies the basic GUI interaction needs, gaining ground in scenarios with small screen sizes.", + + "placeholders": + { + "__ESP_BOARD_INCLUDE__": "bsp/esp-bsp.h", + "__ESP_BOARD_I2C_INIT__": "" + } +} diff --git a/SquareLine/boards/v9/esp32_c3_lcdkit/sdkconfig.defaults b/SquareLine/boards/v9/esp32_c3_lcdkit/sdkconfig.defaults new file mode 100644 index 00000000..e92dc39d --- /dev/null +++ b/SquareLine/boards/v9/esp32_c3_lcdkit/sdkconfig.defaults @@ -0,0 +1,5 @@ +CONFIG_IDF_TARGET="esp32c3" +CONFIG_LV_COLOR_16_SWAP=y +CONFIG_LV_MEM_CUSTOM=y +CONFIG_LV_MEMCPY_MEMSET_STD=y +CONFIG_LV_USE_PERF_MONITOR=y diff --git a/SquareLine/boards/v9/esp32_s2_kaluga_kit/image.png b/SquareLine/boards/v9/esp32_s2_kaluga_kit/image.png new file mode 100644 index 00000000..64784ef3 Binary files /dev/null and b/SquareLine/boards/v9/esp32_s2_kaluga_kit/image.png differ diff --git a/SquareLine/boards/v9/esp32_s2_kaluga_kit/main/idf_component.yml b/SquareLine/boards/v9/esp32_s2_kaluga_kit/main/idf_component.yml new file mode 100644 index 00000000..824e7eeb --- /dev/null +++ b/SquareLine/boards/v9/esp32_s2_kaluga_kit/main/idf_component.yml @@ -0,0 +1,6 @@ +description: ESP-BSP SquareLine LVGL Example +targets: + - esp32s2 +dependencies: + idf: ">=4.4" + esp32_s2_kaluga_kit: ">=3.1.0" diff --git a/SquareLine/boards/v9/esp32_s2_kaluga_kit/manifest.json b/SquareLine/boards/v9/esp32_s2_kaluga_kit/manifest.json new file mode 100644 index 00000000..98d1dfe3 --- /dev/null +++ b/SquareLine/boards/v9/esp32_s2_kaluga_kit/manifest.json @@ -0,0 +1,20 @@ +{ + "name":"ESP32-S2-Kaluga Kit", + "version":"2.0.0", + "mcu":"ESP32S2", + + "screen_width":"320", + "screen_height":"240", + "screen_color_swap":true, + + "supported_lvgl_version":"9.1.*", + + "short_description":"The ESP32-S2-Kaluga-1 development kit produced by Espressif. It integrates the ESP32-S2-WROVER module and all the connectors for extension boards.", + "long_description":"Multimedia development board ESP32-S2-Kaluga-1 kit based on ESP32-S2 has various functions, such as an LCD screen display, touch panel control, camera image acquisition, audio playback, etc. It can be flexibly assembled and disassembled, thus fulfilling a variety of customized requirements.", + + "placeholders": + { + "__ESP_BOARD_INCLUDE__": "bsp/esp32_s2_kaluga_kit.h", + "__ESP_BOARD_I2C_INIT__": "" + } +} diff --git a/SquareLine/boards/v9/esp32_s2_kaluga_kit/sdkconfig.defaults b/SquareLine/boards/v9/esp32_s2_kaluga_kit/sdkconfig.defaults new file mode 100644 index 00000000..e292b849 --- /dev/null +++ b/SquareLine/boards/v9/esp32_s2_kaluga_kit/sdkconfig.defaults @@ -0,0 +1,8 @@ +# This file was generated using idf.py save-defconfig. It can be edited manually. +# Espressif IoT Development Framework (ESP-IDF) Project Minimal Configuration +# +CONFIG_IDF_TARGET="esp32s2" +CONFIG_LV_COLOR_16_SWAP=y +CONFIG_LV_MEM_CUSTOM=y +CONFIG_LV_MEMCPY_MEMSET_STD=y +CONFIG_LV_USE_PERF_MONITOR=y diff --git a/SquareLine/boards/v9/esp32_s3_eye/image.png b/SquareLine/boards/v9/esp32_s3_eye/image.png new file mode 100644 index 00000000..69d191e9 Binary files /dev/null and b/SquareLine/boards/v9/esp32_s3_eye/image.png differ diff --git a/SquareLine/boards/v9/esp32_s3_eye/main/idf_component.yml b/SquareLine/boards/v9/esp32_s3_eye/main/idf_component.yml new file mode 100644 index 00000000..700bb66c --- /dev/null +++ b/SquareLine/boards/v9/esp32_s3_eye/main/idf_component.yml @@ -0,0 +1,6 @@ +description: ESP-BSP SquareLine LVGL Example +targets: + - esp32s3 +dependencies: + idf: ">=4.4" + esp32_s3_eye: ">=3.1.0" diff --git a/SquareLine/boards/v9/esp32_s3_eye/manifest.json b/SquareLine/boards/v9/esp32_s3_eye/manifest.json new file mode 100644 index 00000000..230d2ab7 --- /dev/null +++ b/SquareLine/boards/v9/esp32_s3_eye/manifest.json @@ -0,0 +1,20 @@ +{ + "name":"ESP32-S3-EYE", + "version":"2.0.0", + "mcu":"ESP32S3", + + "screen_width":"240", + "screen_height":"240", + "screen_color_swap":true, + + "supported_lvgl_version":"9.1.*", + + "short_description":"The ESP32-S3-EYE is a small-sized AI development board produced by Espressif. It is based on the ESP32-S3 SoC and ESP-WHO.", + "long_description":"ESP32-S3-EYE features a 2-Megapixel camera, an LCD display, and a microphone, which are used for image recognition and audio processing. ESP32-S3-EYE offers plenty of storage, with an 8 MB Octal PSRAM and a 8 MB flash. It also supports image transmission via Wi-Fi and debugging through a Micro-USB port.", + + "placeholders": + { + "__ESP_BOARD_INCLUDE__": "bsp/esp32_s3_eye.h", + "__ESP_BOARD_I2C_INIT__": "" + } +} diff --git a/SquareLine/boards/v9/esp32_s3_eye/sdkconfig.defaults b/SquareLine/boards/v9/esp32_s3_eye/sdkconfig.defaults new file mode 100644 index 00000000..80a2848c --- /dev/null +++ b/SquareLine/boards/v9/esp32_s3_eye/sdkconfig.defaults @@ -0,0 +1,8 @@ +# This file was generated using idf.py save-defconfig. It can be edited manually. +# Espressif IoT Development Framework (ESP-IDF) Project Minimal Configuration +# +CONFIG_IDF_TARGET="esp32s3" +CONFIG_LV_COLOR_16_SWAP=y +CONFIG_LV_MEM_CUSTOM=y +CONFIG_LV_MEMCPY_MEMSET_STD=y +CONFIG_LV_USE_PERF_MONITOR=y diff --git a/SquareLine/boards/v9/esp32_s3_korvo_2/image.png b/SquareLine/boards/v9/esp32_s3_korvo_2/image.png new file mode 100644 index 00000000..6e68fdb9 Binary files /dev/null and b/SquareLine/boards/v9/esp32_s3_korvo_2/image.png differ diff --git a/SquareLine/boards/v9/esp32_s3_korvo_2/main/idf_component.yml b/SquareLine/boards/v9/esp32_s3_korvo_2/main/idf_component.yml new file mode 100644 index 00000000..67b06153 --- /dev/null +++ b/SquareLine/boards/v9/esp32_s3_korvo_2/main/idf_component.yml @@ -0,0 +1,6 @@ +description: ESP-BSP SquareLine LVGL Example +targets: + - esp32s3 +dependencies: + idf: ">=4.4" + esp32_s3_korvo_2: ">2.2.0" diff --git a/SquareLine/boards/v9/esp32_s3_korvo_2/manifest.json b/SquareLine/boards/v9/esp32_s3_korvo_2/manifest.json new file mode 100644 index 00000000..1ce4d07a --- /dev/null +++ b/SquareLine/boards/v9/esp32_s3_korvo_2/manifest.json @@ -0,0 +1,20 @@ +{ + "name":"ESP32-S3-Korvo-2", + "version":"2.0.0", + "mcu":"ESP32S3", + + "screen_width":"320", + "screen_height":"240", + "screen_color_swap":true, + + "supported_lvgl_version":"9.1.*", + + "short_description":"The ESP32-S3-Korvo-2 is a multimedia development board based on the ESP32-S3 chip.", + "long_description":"The ESP32-S3-Korvo-2 is a multimedia development board based on the ESP32-S3 chip. It is equipped with a two-microphone array which is suitable for voice recognition and near/far-field voice wake-up applications. The board integrates multiple peripherals such as LCD, camera, and microSD card. It also supports JPEG video stream processing. With all of its outstanding features, the board is an ideal choice for the development of low-cost and low-power network-connected audio and video products.", + + "placeholders": + { + "__ESP_BOARD_INCLUDE__": "bsp/esp-bsp.h", + "__ESP_BOARD_I2C_INIT__": "/* Initialize I2C (for touch and audio) */\n bsp_i2c_init();" + } +} diff --git a/SquareLine/boards/v9/esp32_s3_korvo_2/sdkconfig.defaults b/SquareLine/boards/v9/esp32_s3_korvo_2/sdkconfig.defaults new file mode 100644 index 00000000..80a2848c --- /dev/null +++ b/SquareLine/boards/v9/esp32_s3_korvo_2/sdkconfig.defaults @@ -0,0 +1,8 @@ +# This file was generated using idf.py save-defconfig. It can be edited manually. +# Espressif IoT Development Framework (ESP-IDF) Project Minimal Configuration +# +CONFIG_IDF_TARGET="esp32s3" +CONFIG_LV_COLOR_16_SWAP=y +CONFIG_LV_MEM_CUSTOM=y +CONFIG_LV_MEMCPY_MEMSET_STD=y +CONFIG_LV_USE_PERF_MONITOR=y diff --git a/SquareLine/boards/v9/esp32_s3_lcd_ev_board/image.png b/SquareLine/boards/v9/esp32_s3_lcd_ev_board/image.png new file mode 100644 index 00000000..2f9c7048 Binary files /dev/null and b/SquareLine/boards/v9/esp32_s3_lcd_ev_board/image.png differ diff --git a/SquareLine/boards/v9/esp32_s3_lcd_ev_board/main/idf_component.yml b/SquareLine/boards/v9/esp32_s3_lcd_ev_board/main/idf_component.yml new file mode 100644 index 00000000..55e39ba6 --- /dev/null +++ b/SquareLine/boards/v9/esp32_s3_lcd_ev_board/main/idf_component.yml @@ -0,0 +1,5 @@ +description: ESP-BSP SquareLine LVGL Example +targets: + - esp32s3 +dependencies: + esp32_s3_lcd_ev_board: ">=2.2.1" diff --git a/SquareLine/boards/v9/esp32_s3_lcd_ev_board/manifest.json b/SquareLine/boards/v9/esp32_s3_lcd_ev_board/manifest.json new file mode 100644 index 00000000..7a4cc6bb --- /dev/null +++ b/SquareLine/boards/v9/esp32_s3_lcd_ev_board/manifest.json @@ -0,0 +1,20 @@ +{ + "name":"ESP32-S3-LCD-EV-BOARD", + "version":"3.0.0", + "mcu":"ESP32S3", + + "screen_width":"800", + "screen_height":"480", + "screen_color_swap":false, + + "supported_lvgl_version":"9.1.*", + + "short_description":"ESP32-S3-LCD-EV-BOARD is a development board for evaluating and verifying ESP32-S3 screen interactive applications. It has the functions of touch screen interaction and voice interaction.", + "long_description":"ESP32-S3-LCD-EV-BOARD has an ESP32-S3-WROOM-1 module with built-in 16 MB Flash and 8/16 MB PSRAM. It features onboard audio codec + audio amplifier and onboard dual microphone pickup. It uses USB type-C interface for download and debugging. ESP32-S3-LCD-EV-BOARD can be used with different screen sub boards with various screen sizes and resolutions, and supports RGB, 8080, SPI, I2C interface screens.", + + "placeholders": + { + "__ESP_BOARD_INCLUDE__": "bsp/esp32_s3_lcd_ev_board.h", + "__ESP_BOARD_I2C_INIT__": "/* Initialize I2C (for touch and audio) */\n bsp_i2c_init();" + } +} diff --git a/SquareLine/boards/v9/esp32_s3_lcd_ev_board/partitions.csv b/SquareLine/boards/v9/esp32_s3_lcd_ev_board/partitions.csv new file mode 100644 index 00000000..7a3cb717 --- /dev/null +++ b/SquareLine/boards/v9/esp32_s3_lcd_ev_board/partitions.csv @@ -0,0 +1,6 @@ +# Name, Type, SubType, Offset, Size, Flags +# Note: if you have increased the bootloader size, make sure to update the offsets to avoid overlap +nvs, data, nvs, 0x9000, 0x6000, +phy_init, data, phy, , 0x1000, +factory, app, factory, , 3500k, +storage, data, spiffs, , 7000k, diff --git a/SquareLine/boards/v9/esp32_s3_lcd_ev_board/sdkconfig.defaults b/SquareLine/boards/v9/esp32_s3_lcd_ev_board/sdkconfig.defaults new file mode 100644 index 00000000..f38a1937 --- /dev/null +++ b/SquareLine/boards/v9/esp32_s3_lcd_ev_board/sdkconfig.defaults @@ -0,0 +1,24 @@ +# This file was generated using idf.py save-defconfig. It can be edited manually. +# Espressif IoT Development Framework (ESP-IDF) Project Minimal Configuration +# +CONFIG_IDF_TARGET="esp32s3" +CONFIG_ESPTOOLPY_FLASHMODE_QIO=y +CONFIG_ESPTOOLPY_FLASHSIZE_16MB=y +CONFIG_PARTITION_TABLE_CUSTOM=y +CONFIG_COMPILER_OPTIMIZATION_PERF=y +CONFIG_SPIRAM=y +CONFIG_SPIRAM_MODE_OCT=y +CONFIG_SPIRAM_FETCH_INSTRUCTIONS=y +CONFIG_SPIRAM_RODATA=y +CONFIG_SPIRAM_SPEED_80M=y +CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y +CONFIG_ESP32S3_DATA_CACHE_LINE_64B=y +CONFIG_FREERTOS_HZ=1000 +CONFIG_BSP_LCD_RGB_BUFFER_NUMS=2 +CONFIG_BSP_LCD_RGB_BOUNCE_BUFFER_MODE=y +CONFIG_BSP_DISPLAY_LVGL_AVOID_TEAR=y +CONFIG_BSP_DISPLAY_LVGL_DIRECT_MODE=y +CONFIG_LV_MEM_CUSTOM=y +CONFIG_LV_MEMCPY_MEMSET_STD=y +CONFIG_LV_USE_PERF_MONITOR=y +CONFIG_LV_ATTRIBUTE_FAST_MEM_USE_IRAM=y diff --git a/SquareLine/boards/v9/esp32_s3_usb_otg/image.png b/SquareLine/boards/v9/esp32_s3_usb_otg/image.png new file mode 100644 index 00000000..bec37c2c Binary files /dev/null and b/SquareLine/boards/v9/esp32_s3_usb_otg/image.png differ diff --git a/SquareLine/boards/v9/esp32_s3_usb_otg/main/idf_component.yml b/SquareLine/boards/v9/esp32_s3_usb_otg/main/idf_component.yml new file mode 100644 index 00000000..6c8a75c4 --- /dev/null +++ b/SquareLine/boards/v9/esp32_s3_usb_otg/main/idf_component.yml @@ -0,0 +1,6 @@ +description: ESP-BSP SquareLine LVGL Example +targets: + - esp32s3 +dependencies: + idf: ">=4.4" + esp32_s3_usb_otg: ">=1.6.0" diff --git a/SquareLine/boards/v9/esp32_s3_usb_otg/manifest.json b/SquareLine/boards/v9/esp32_s3_usb_otg/manifest.json new file mode 100644 index 00000000..0d9b867b --- /dev/null +++ b/SquareLine/boards/v9/esp32_s3_usb_otg/manifest.json @@ -0,0 +1,20 @@ +{ + "name":"ESP32-S3-USB-OTG", + "version":"2.0.0", + "mcu":"ESP32S3", + + "screen_width":"240", + "screen_height":"240", + "screen_color_swap":true, + + "supported_lvgl_version":"9.1.*", + + "short_description":"ESP32-S3-USB-OTG is a development board produced by Espressif that focuses on USB-OTG function verification and application development.", + "long_description":"ESP32-S3-USB-OTG is targeting at applications based on USB interface. It is equipped with the ESP32-S3-MINI-1-N8 module. Combined with the Wi-Fi functionality provided by the SoC, the USB interface can be used for video streaming over Wi-Fi, accessing the Internet through a 4G hotspot, connecting to a wireless USB disk, and many other applications.", + + "placeholders": + { + "__ESP_BOARD_INCLUDE__": "bsp/esp32_s3_usb_otg.h", + "__ESP_BOARD_I2C_INIT__": "" + } +} diff --git a/SquareLine/boards/v9/esp32_s3_usb_otg/sdkconfig.defaults b/SquareLine/boards/v9/esp32_s3_usb_otg/sdkconfig.defaults new file mode 100644 index 00000000..80a2848c --- /dev/null +++ b/SquareLine/boards/v9/esp32_s3_usb_otg/sdkconfig.defaults @@ -0,0 +1,8 @@ +# This file was generated using idf.py save-defconfig. It can be edited manually. +# Espressif IoT Development Framework (ESP-IDF) Project Minimal Configuration +# +CONFIG_IDF_TARGET="esp32s3" +CONFIG_LV_COLOR_16_SWAP=y +CONFIG_LV_MEM_CUSTOM=y +CONFIG_LV_MEMCPY_MEMSET_STD=y +CONFIG_LV_USE_PERF_MONITOR=y diff --git a/SquareLine/boards/v9/espbox/image.png b/SquareLine/boards/v9/espbox/image.png new file mode 100644 index 00000000..d97cfbe9 Binary files /dev/null and b/SquareLine/boards/v9/espbox/image.png differ diff --git a/SquareLine/boards/esp32_s3_eye/main/idf_component.yml b/SquareLine/boards/v9/espbox/main/idf_component.yml similarity index 82% rename from SquareLine/boards/esp32_s3_eye/main/idf_component.yml rename to SquareLine/boards/v9/espbox/main/idf_component.yml index e0dbbb05..f1023623 100644 --- a/SquareLine/boards/esp32_s3_eye/main/idf_component.yml +++ b/SquareLine/boards/v9/espbox/main/idf_component.yml @@ -3,4 +3,4 @@ targets: - esp32s3 dependencies: idf: ">=4.4" - esp32_s3_eye: "*" + esp-box: ">=3.1.0" diff --git a/SquareLine/boards/v9/espbox/manifest.json b/SquareLine/boards/v9/espbox/manifest.json new file mode 100644 index 00000000..0dba1c93 --- /dev/null +++ b/SquareLine/boards/v9/espbox/manifest.json @@ -0,0 +1,20 @@ +{ + "name":"ESP-BOX", + "version":"2.0.0", + "mcu":"ESP32S3", + + "screen_width":"320", + "screen_height":"240", + "screen_color_swap":true, + + "supported_lvgl_version":"9.1.*", + + "short_description":"ESP32-S3-BOX is an AI voice development kit that is based on Espressif’s ESP32-S3 Wi-Fi + Bluetooth 5 (LE) SoC, with AI capabilities.", + "long_description":"The BOX series development boards, ESP32-S3-BOX and ESP32-S3-BOX-Lite provide a platform for developing the control of home appliances using Voice Assistance + touch and screen controller, sensor, infrared controller, and intelligent Wi-Fi gateway. Development boards come with pre-built firmware that supports offline voice interaction, with the SDKs and examples provided by Espressif, you will be able to develop a wide variety of AIoT applications based on the BOX series products such as online and offline voice assistants, voice-enabled devices, human-computer interaction devices, control panels, multi-protocol gateways easily.", + + "placeholders": + { + "__ESP_BOARD_INCLUDE__": "bsp/esp-box.h", + "__ESP_BOARD_I2C_INIT__": "/* Initialize I2C (for touch and audio) */\n bsp_i2c_init();" + } +} diff --git a/SquareLine/boards/v9/espbox/sdkconfig.defaults b/SquareLine/boards/v9/espbox/sdkconfig.defaults new file mode 100644 index 00000000..80a2848c --- /dev/null +++ b/SquareLine/boards/v9/espbox/sdkconfig.defaults @@ -0,0 +1,8 @@ +# This file was generated using idf.py save-defconfig. It can be edited manually. +# Espressif IoT Development Framework (ESP-IDF) Project Minimal Configuration +# +CONFIG_IDF_TARGET="esp32s3" +CONFIG_LV_COLOR_16_SWAP=y +CONFIG_LV_MEM_CUSTOM=y +CONFIG_LV_MEMCPY_MEMSET_STD=y +CONFIG_LV_USE_PERF_MONITOR=y diff --git a/SquareLine/boards/v9/espbox_3/image.png b/SquareLine/boards/v9/espbox_3/image.png new file mode 100644 index 00000000..fdf748d1 Binary files /dev/null and b/SquareLine/boards/v9/espbox_3/image.png differ diff --git a/SquareLine/boards/espbox_lite/main/idf_component.yml b/SquareLine/boards/v9/espbox_3/main/idf_component.yml similarity index 80% rename from SquareLine/boards/espbox_lite/main/idf_component.yml rename to SquareLine/boards/v9/espbox_3/main/idf_component.yml index 8e99cab4..50248949 100644 --- a/SquareLine/boards/espbox_lite/main/idf_component.yml +++ b/SquareLine/boards/v9/espbox_3/main/idf_component.yml @@ -3,4 +3,4 @@ targets: - esp32s3 dependencies: idf: ">=4.4" - esp-box-lite: "*" + esp-box-3: ">=1.2.0" diff --git a/SquareLine/boards/v9/espbox_3/manifest.json b/SquareLine/boards/v9/espbox_3/manifest.json new file mode 100644 index 00000000..b54e3ccf --- /dev/null +++ b/SquareLine/boards/v9/espbox_3/manifest.json @@ -0,0 +1,20 @@ +{ + "name":"ESP-BOX-3", + "version":"2.0.0", + "mcu":"ESP32S3", + + "screen_width":"320", + "screen_height":"240", + "screen_color_swap":true, + + "supported_lvgl_version":"9.1.*", + + "short_description":"ESP32-S3-BOX is an AI voice development kit that is based on Espressif’s ESP32-S3 Wi-Fi + Bluetooth 5 (LE) SoC, with AI capabilities.", + "long_description":"The BOX series development boards, ESP32-S3-BOX and ESP32-S3-BOX-Lite provide a platform for developing the control of home appliances using Voice Assistance + touch and screen controller, sensor, infrared controller, and intelligent Wi-Fi gateway. Development boards come with pre-built firmware that supports offline voice interaction, with the SDKs and examples provided by Espressif, you will be able to develop a wide variety of AIoT applications based on the BOX series products such as online and offline voice assistants, voice-enabled devices, human-computer interaction devices, control panels, multi-protocol gateways easily.", + + "placeholders": + { + "__ESP_BOARD_INCLUDE__": "bsp/esp-bsp.h", + "__ESP_BOARD_I2C_INIT__": "/* Initialize I2C (for touch and audio) */\n bsp_i2c_init();" + } +} diff --git a/SquareLine/boards/v9/espbox_3/sdkconfig.defaults b/SquareLine/boards/v9/espbox_3/sdkconfig.defaults new file mode 100644 index 00000000..80a2848c --- /dev/null +++ b/SquareLine/boards/v9/espbox_3/sdkconfig.defaults @@ -0,0 +1,8 @@ +# This file was generated using idf.py save-defconfig. It can be edited manually. +# Espressif IoT Development Framework (ESP-IDF) Project Minimal Configuration +# +CONFIG_IDF_TARGET="esp32s3" +CONFIG_LV_COLOR_16_SWAP=y +CONFIG_LV_MEM_CUSTOM=y +CONFIG_LV_MEMCPY_MEMSET_STD=y +CONFIG_LV_USE_PERF_MONITOR=y diff --git a/SquareLine/boards/v9/espbox_lite/image.png b/SquareLine/boards/v9/espbox_lite/image.png new file mode 100644 index 00000000..482b0975 Binary files /dev/null and b/SquareLine/boards/v9/espbox_lite/image.png differ diff --git a/SquareLine/boards/esp32_s3_usb_otg/main/idf_component.yml b/SquareLine/boards/v9/espbox_lite/main/idf_component.yml similarity index 79% rename from SquareLine/boards/esp32_s3_usb_otg/main/idf_component.yml rename to SquareLine/boards/v9/espbox_lite/main/idf_component.yml index 0dbb51be..cba80c83 100644 --- a/SquareLine/boards/esp32_s3_usb_otg/main/idf_component.yml +++ b/SquareLine/boards/v9/espbox_lite/main/idf_component.yml @@ -3,4 +3,4 @@ targets: - esp32s3 dependencies: idf: ">=4.4" - esp32_s3_usb_otg: "*" + esp-box-lite: ">2.1.0" diff --git a/SquareLine/boards/v9/espbox_lite/manifest.json b/SquareLine/boards/v9/espbox_lite/manifest.json new file mode 100644 index 00000000..59f3311d --- /dev/null +++ b/SquareLine/boards/v9/espbox_lite/manifest.json @@ -0,0 +1,20 @@ +{ + "name":"ESP-BOX Lite", + "version":"2.0.0", + "mcu":"ESP32S3", + + "screen_width":"320", + "screen_height":"240", + "screen_color_swap":true, + + "supported_lvgl_version":"9.1.*", + + "short_description":"ESP32-S3-BOX Lite is an AI voice development kit that is based on Espressif's ESP32-S3 Wi-Fi + Bluetooth 5 (LE) SoC, with AI capabilities.", + "long_description":"The BOX series development boards, ESP32-S3-BOX and ESP32-S3-BOX-Lite provide a platform for developing the control of home appliances using Voice Assistance + touch and screen controller, sensor, infrared controller, and intelligent Wi-Fi gateway. Development boards come with pre-built firmware that supports offline voice interaction, with the SDKs and examples provided by Espressif, you will be able to develop a wide variety of AIoT applications based on the BOX series products such as online and offline voice assistants, voice-enabled devices, human-computer interaction devices, control panels, multi-protocol gateways easily.", + + "placeholders": + { + "__ESP_BOARD_INCLUDE__": "bsp/esp-bsp.h", + "__ESP_BOARD_I2C_INIT__": "/* Initialize I2C (for touch and audio) */\n bsp_i2c_init();" + } +} diff --git a/SquareLine/boards/v9/espbox_lite/sdkconfig.defaults b/SquareLine/boards/v9/espbox_lite/sdkconfig.defaults new file mode 100644 index 00000000..80a2848c --- /dev/null +++ b/SquareLine/boards/v9/espbox_lite/sdkconfig.defaults @@ -0,0 +1,8 @@ +# This file was generated using idf.py save-defconfig. It can be edited manually. +# Espressif IoT Development Framework (ESP-IDF) Project Minimal Configuration +# +CONFIG_IDF_TARGET="esp32s3" +CONFIG_LV_COLOR_16_SWAP=y +CONFIG_LV_MEM_CUSTOM=y +CONFIG_LV_MEMCPY_MEMSET_STD=y +CONFIG_LV_USE_PERF_MONITOR=y diff --git a/SquareLine/boards/v9/espwroverkit/image.png b/SquareLine/boards/v9/espwroverkit/image.png new file mode 100644 index 00000000..4d98b2d6 Binary files /dev/null and b/SquareLine/boards/v9/espwroverkit/image.png differ diff --git a/SquareLine/boards/v9/espwroverkit/main/idf_component.yml b/SquareLine/boards/v9/espwroverkit/main/idf_component.yml new file mode 100644 index 00000000..2417ca0a --- /dev/null +++ b/SquareLine/boards/v9/espwroverkit/main/idf_component.yml @@ -0,0 +1,6 @@ +description: ESP-BSP SquareLine LVGL Example +targets: + - esp32 +dependencies: + idf: ">=4.4" + esp_wrover_kit: ">=1.6.0" diff --git a/SquareLine/boards/v9/espwroverkit/manifest.json b/SquareLine/boards/v9/espwroverkit/manifest.json new file mode 100644 index 00000000..fd091fd8 --- /dev/null +++ b/SquareLine/boards/v9/espwroverkit/manifest.json @@ -0,0 +1,20 @@ +{ + "name":"ESP WROVER KIT", + "version":"2.0.0", + "mcu":"ESP32", + + "screen_width":"240", + "screen_height":"320", + "screen_color_swap":true, + + "supported_lvgl_version":"9.1.*", + + "short_description":"ESP-WROVER-KIT is an ESP32-based development board produced by Espressif. This board features an integrated LCD screen and microSD card slot.", + "long_description":"The ESP-WROVER-KIT comes with an ESP32-WROVER-E module by default. The I/O pins have been broken out from the ESP32-WROVER-E for easy extension. The board carries an advanced multi-protocol USB bridge (the FTDI FT2232HL), enabling developers to use JTAG directly to debug the ESP32 module through the USB interface. The development board makes secondary development easy and cost-effective.", + + "placeholders": + { + "__ESP_BOARD_INCLUDE__": "bsp/esp_wrover_kit.h", + "__ESP_BOARD_I2C_INIT__": "" + } +} diff --git a/SquareLine/boards/v9/espwroverkit/sdkconfig.defaults b/SquareLine/boards/v9/espwroverkit/sdkconfig.defaults new file mode 100644 index 00000000..97681efa --- /dev/null +++ b/SquareLine/boards/v9/espwroverkit/sdkconfig.defaults @@ -0,0 +1,11 @@ +# This file was generated using idf.py save-defconfig. It can be edited manually. +# Espressif IoT Development Framework (ESP-IDF) Project Minimal Configuration +# +CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y +CONFIG_ESP_DEFAULT_CPU_FREQ_240=y +CONFIG_LV_COLOR_16_SWAP=y +CONFIG_LV_MEM_CUSTOM=y +CONFIG_LV_MEMCPY_MEMSET_STD=y +CONFIG_LV_USE_PERF_MONITOR=y +CONFIG_LV_SPRINTF_CUSTOM=y +# CONFIG_LV_BUILD_EXAMPLES is not set diff --git a/SquareLine/boards/v9/m5stack_core_s3/image.png b/SquareLine/boards/v9/m5stack_core_s3/image.png new file mode 100644 index 00000000..01dc38ed Binary files /dev/null and b/SquareLine/boards/v9/m5stack_core_s3/image.png differ diff --git a/SquareLine/boards/v9/m5stack_core_s3/main/idf_component.yml b/SquareLine/boards/v9/m5stack_core_s3/main/idf_component.yml new file mode 100644 index 00000000..b8adda38 --- /dev/null +++ b/SquareLine/boards/v9/m5stack_core_s3/main/idf_component.yml @@ -0,0 +1,6 @@ +description: ESP-BSP SquareLine LVGL Example +targets: + - esp32s3 +dependencies: + idf: ">=5.0" + m5stack_core_s3: ">=1.1.0" diff --git a/SquareLine/boards/v9/m5stack_core_s3/manifest.json b/SquareLine/boards/v9/m5stack_core_s3/manifest.json new file mode 100644 index 00000000..d56d7ea0 --- /dev/null +++ b/SquareLine/boards/v9/m5stack_core_s3/manifest.json @@ -0,0 +1,20 @@ +{ + "name":"M5Stack CoreS3", + "version":"2.0.0", + "mcu":"ESP32S3", + + "screen_width":"320", + "screen_height":"240", + "screen_color_swap":true, + + "supported_lvgl_version":"9.1.*", + + "short_description":"CoreS3 is the third generation of the M5Stack Core series. Powered by the ESP32-S3 solution, this kit features a dual-core Xtensa LX7 processor running at 240MHz. CoreS3 comes equipped with built-in Wi-Fi functionality, enabling seamless connectivity. It boasts 16MB of onboard flash memory and 8MB of PSRAM, providing ample space for program storage.", + "long_description":"CoreS3 offers convenient programming options through its TYPE-C interface, supporting OTG and CDC functions. This allows for easy connection with external USB devices and hassle-free firmware flashing. CoreS3 features a 2.0-inch capacitive touch IPS screen, protected by high-strength glass material. Additionally, a 0.3 megapixel camera GC0308 is integrated at the bottom of the screen, accompanied by a proximity sensor LTR-553ALS-WA for enhanced functionality. Power management is handled by the AXP2101 power management core chip, employing a 4-way power flow control loop for efficient power distribution. The overall design emphasizes low power consumption. CoreS3 also features a 6-axis attitude sensor BMI270 and a magnetometer BMM150 for precise motion detection. With the onboard TF-card (microSD) card slot and BM8563 RTC chip, accurate timing and sleep-timer wake-up functions are readily available.", + + "placeholders": + { + "__ESP_BOARD_INCLUDE__": "bsp/esp-bsp.h", + "__ESP_BOARD_I2C_INIT__": "/* Initialize I2C (for touch and audio) */\n bsp_i2c_init();" + } +} diff --git a/SquareLine/boards/v9/m5stack_core_s3/partitions.csv b/SquareLine/boards/v9/m5stack_core_s3/partitions.csv new file mode 100644 index 00000000..7c211a41 --- /dev/null +++ b/SquareLine/boards/v9/m5stack_core_s3/partitions.csv @@ -0,0 +1,5 @@ +# Name, Type, SubType, Offset, Size, Flags +# Note: if you change the phy_init or app partition offset, make sure to change the offset in Kconfig.projbuild +nvs, data, nvs, 0x9000, 0x6000, +phy_init, data, phy, 0xf000, 0x1000, +factory, app, factory, 0x10000, 8M, diff --git a/SquareLine/boards/v9/m5stack_core_s3/sdkconfig.defaults b/SquareLine/boards/v9/m5stack_core_s3/sdkconfig.defaults new file mode 100644 index 00000000..6071db68 --- /dev/null +++ b/SquareLine/boards/v9/m5stack_core_s3/sdkconfig.defaults @@ -0,0 +1,11 @@ +# This file was generated using idf.py save-defconfig. It can be edited manually. +# Espressif IoT Development Framework (ESP-IDF) Project Minimal Configuration +# +CONFIG_IDF_TARGET="esp32s3" +CONFIG_ESPTOOLPY_FLASHMODE_QIO=y +CONFIG_ESPTOOLPY_FLASHSIZE_16MB=y +CONFIG_PARTITION_TABLE_CUSTOM=y +CONFIG_LV_COLOR_16_SWAP=y +CONFIG_LV_MEM_CUSTOM=y +CONFIG_LV_MEMCPY_MEMSET_STD=y +CONFIG_LV_USE_PERF_MONITOR=y diff --git a/SquareLine/gen.py b/SquareLine/gen.py index 60b5d1ea..d30b0f8f 100644 --- a/SquareLine/gen.py +++ b/SquareLine/gen.py @@ -40,7 +40,7 @@ "color_depth": "", "lvgl_export_path": "", "lvgl_include_path": "lvgl.h", - "supported_lvgl_version": "8.2.0, 8.3.3", + "supported_lvgl_version": "9.1.*", "pattern_match_files": "./CMakeLists.txt", "language":"C", "ui_export_path":"./main/ui", @@ -164,6 +164,7 @@ def create_slb_file(output, output_filename, manifest): check_json_key(manifest, "screen_color_swap") check_json_key(manifest, "short_description") check_json_key(manifest, "long_description") + check_json_key(manifest, "supported_lvgl_version") SLB_FILE["version"] = manifest["version"] SLB_FILE["title"] = manifest["name"] @@ -180,6 +181,7 @@ def create_slb_file(output, output_filename, manifest): SLB_FILE["color_depth"] = "16" SLB_FILE["short_description"] = manifest["short_description"] SLB_FILE["long_description"] = manifest["long_description"] + SLB_FILE["supported_lvgl_version"] = manifest["supported_lvgl_version"] out_slb_json = json.dumps(SLB_FILE, indent=4) slb_file = os.path.join(output, output_filename + ".slb") @@ -267,9 +269,15 @@ def main(outdir, sel_board): # Remove all in output directory if os.path.exists(output_folder): shutil.rmtree(output_folder) - # loop all boards - for dirname in os.listdir(BOARDS_DIR): - d = os.path.join(BOARDS_DIR, dirname) + # loop all boards V8 + for dirname in os.listdir(BOARDS_DIR + "v8/"): + d = os.path.join(BOARDS_DIR, "v8/" + dirname) + # checking if it is a file + if os.path.isdir(d) and "custom" not in dirname: + process_board(dirname, os.path.join(output_folder, dirname), d) + # loop all boards V9 + for dirname in os.listdir(BOARDS_DIR + "v9/"): + d = os.path.join(BOARDS_DIR, "v9/" + dirname) # checking if it is a file if os.path.isdir(d) and "custom" not in dirname: process_board(dirname, os.path.join(output_folder, dirname), d) diff --git a/bsp/esp-box-3/esp-box-3.c b/bsp/esp-box-3/esp-box-3.c index c318e82c..0606cd31 100644 --- a/bsp/esp-box-3/esp-box-3.c +++ b/bsp/esp-box-3/esp-box-3.c @@ -53,7 +53,7 @@ static const ili9341_lcd_init_cmd_t vendor_specific_init[] = { {0, (uint8_t []){0}, 0xff, 0}, }; -static lv_disp_t *disp; +static lv_display_t *disp; static lv_indev_t *disp_indev = NULL; static esp_lcd_touch_handle_t tp; // LCD touch handle static esp_lcd_panel_handle_t panel_handle = NULL; @@ -290,7 +290,7 @@ esp_codec_dev_handle_t bsp_audio_codec_microphone_init(void) #define LCD_PARAM_BITS 8 #define LCD_LEDC_CH CONFIG_BSP_DISPLAY_BRIGHTNESS_LEDC_CH -static esp_err_t bsp_display_brightness_init(void) +esp_err_t bsp_display_brightness_init(void) { // Setup LEDC peripheral for PWM backlight control const ledc_channel_config_t LCD_backlight_channel = { @@ -424,7 +424,7 @@ esp_err_t bsp_display_new(const bsp_display_config_t *config, esp_lcd_panel_hand return ret; } -static lv_disp_t *bsp_display_lcd_init(const bsp_display_cfg_t *cfg) +static lv_display_t *bsp_display_lcd_init(const bsp_display_cfg_t *cfg) { assert(cfg != NULL); esp_lcd_panel_io_handle_t io_handle = NULL; @@ -454,6 +454,9 @@ static lv_disp_t *bsp_display_lcd_init(const bsp_display_cfg_t *cfg) .flags = { .buff_dma = cfg->flags.buff_dma, .buff_spiram = cfg->flags.buff_spiram, +#if LVGL_VERSION_MAJOR >= 9 + .swap_bytes = (BSP_LCD_BIGENDIAN ? true : false), +#endif } }; @@ -534,7 +537,7 @@ esp_err_t bsp_touch_new(const bsp_touch_config_t *config, esp_lcd_touch_handle_t return ESP_OK; } -static lv_indev_t *bsp_display_indev_init(lv_disp_t *disp) +static lv_indev_t *bsp_display_indev_init(lv_display_t *disp) { BSP_ERROR_CHECK_RETURN_NULL(bsp_touch_new(NULL, &tp)); assert(tp); @@ -548,7 +551,7 @@ static lv_indev_t *bsp_display_indev_init(lv_disp_t *disp) return lvgl_port_add_touch(&touch_cfg); } -lv_disp_t *bsp_display_start(void) +lv_display_t *bsp_display_start(void) { bsp_display_cfg_t cfg = { .lvgl_port_cfg = ESP_LVGL_PORT_INIT_CONFIG(), @@ -566,7 +569,7 @@ lv_disp_t *bsp_display_start(void) return bsp_display_start_with_config(&cfg); } -lv_disp_t *bsp_display_start_with_config(const bsp_display_cfg_t *cfg) +lv_display_t *bsp_display_start_with_config(const bsp_display_cfg_t *cfg) { assert(cfg != NULL); BSP_ERROR_CHECK_RETURN_NULL(lvgl_port_init(&cfg->lvgl_port_cfg)); @@ -585,7 +588,7 @@ lv_indev_t *bsp_display_get_input_dev(void) return disp_indev; } -void bsp_display_rotate(lv_disp_t *disp, lv_disp_rot_t rotation) +void bsp_display_rotate(lv_display_t *disp, lv_disp_rotation_t rotation) { lv_disp_set_rotation(disp, rotation); } diff --git a/bsp/esp-box-3/idf_component.yml b/bsp/esp-box-3/idf_component.yml index 82c6c8f5..c4154e7b 100644 --- a/bsp/esp-box-3/idf_component.yml +++ b/bsp/esp-box-3/idf_component.yml @@ -1,5 +1,5 @@ -version: "1.1.3" +version: "1.2.0" description: Board Support Package (BSP) for ESP32-S3-BOX-3 url: https://github.com/espressif/esp-bsp/tree/master/bsp/esp-box-3 @@ -14,7 +14,6 @@ dependencies: esp_lcd_touch_tt21100: "^1" esp_lcd_touch_gt911: "^1" esp_lcd_ili9341: "^1" - lvgl/lvgl: "^8" espressif/esp_lvgl_port: version: "^2" diff --git a/bsp/esp-box-3/include/bsp/display.h b/bsp/esp-box-3/include/bsp/display.h index dc0f9a29..262d9bfb 100644 --- a/bsp/esp-box-3/include/bsp/display.h +++ b/bsp/esp-box-3/include/bsp/display.h @@ -70,11 +70,22 @@ typedef struct { */ esp_err_t bsp_display_new(const bsp_display_config_t *config, esp_lcd_panel_handle_t *ret_panel, esp_lcd_panel_io_handle_t *ret_io); +/** + * @brief Initialize display's brightness + * + * Brightness is controlled with PWM signal to a pin controlling backlight. + * + * @return + * - ESP_OK On success + * - ESP_ERR_INVALID_ARG Parameter error + */ +esp_err_t bsp_display_brightness_init(void); + /** * @brief Set display's brightness * * Brightness is controlled with PWM signal to a pin controlling backlight. - * Display must be already initialized by calling bsp_display_new() + * Brightness must be already initialized by calling bsp_display_brightness_init() or bsp_display_new() * * @param[in] brightness_percent Brightness in [%] * @return @@ -86,7 +97,8 @@ esp_err_t bsp_display_brightness_set(int brightness_percent); /** * @brief Turn on display backlight * - * Display must be already initialized by calling bsp_display_new() + * Brightness is controlled with PWM signal to a pin controlling backlight. + * Brightness must be already initialized by calling bsp_display_brightness_init() or bsp_display_new() * * @return * - ESP_OK On success @@ -97,7 +109,8 @@ esp_err_t bsp_display_backlight_on(void); /** * @brief Turn off display backlight * - * Display must be already initialized by calling bsp_display_new() + * Brightness is controlled with PWM signal to a pin controlling backlight. + * Brightness must be already initialized by calling bsp_display_brightness_init() or bsp_display_new() * * @return * - ESP_OK On success diff --git a/bsp/esp-box-3/include/bsp/esp-box-3.h b/bsp/esp-box-3/include/bsp/esp-box-3.h index 53ccb68e..9de01790 100644 --- a/bsp/esp-box-3/include/bsp/esp-box-3.h +++ b/bsp/esp-box-3/include/bsp/esp-box-3.h @@ -351,7 +351,7 @@ esp_err_t bsp_sdcard_unmount(void); * * @return Pointer to LVGL display or NULL when error occurred */ -lv_disp_t *bsp_display_start(void); +lv_display_t *bsp_display_start(void); /** * @brief Initialize display @@ -363,7 +363,7 @@ lv_disp_t *bsp_display_start(void); * * @return Pointer to LVGL display or NULL when error occurred */ -lv_disp_t *bsp_display_start_with_config(const bsp_display_cfg_t *cfg); +lv_display_t *bsp_display_start_with_config(const bsp_display_cfg_t *cfg); /** * @brief Get pointer to input device (touch, buttons, ...) @@ -419,7 +419,7 @@ esp_err_t bsp_display_exit_sleep(void); * @param[in] disp Pointer to LVGL display * @param[in] rotation Angle of the display rotation */ -void bsp_display_rotate(lv_disp_t *disp, lv_disp_rot_t rotation); +void bsp_display_rotate(lv_display_t *disp, lv_disp_rotation_t rotation); /************************************************************************************************** * * Button diff --git a/bsp/esp-box-lite/esp-box-lite.c b/bsp/esp-box-lite/esp-box-lite.c index 14ed4759..3368c80a 100644 --- a/bsp/esp-box-lite/esp-box-lite.c +++ b/bsp/esp-box-lite/esp-box-lite.c @@ -223,7 +223,7 @@ esp_codec_dev_handle_t bsp_audio_codec_microphone_init(void) #define LCD_PARAM_BITS 8 #define LCD_LEDC_CH CONFIG_BSP_DISPLAY_BRIGHTNESS_LEDC_CH -static esp_err_t bsp_display_brightness_init(void) +esp_err_t bsp_display_brightness_init(void) { // Setup LEDC peripheral for PWM backlight control const ledc_channel_config_t LCD_backlight_channel = { @@ -332,7 +332,7 @@ esp_err_t bsp_display_new(const bsp_display_config_t *config, esp_lcd_panel_hand return ret; } -static lv_disp_t *bsp_display_lcd_init(const bsp_display_cfg_t *cfg) +static lv_display_t *bsp_display_lcd_init(const bsp_display_cfg_t *cfg) { assert(cfg != NULL); esp_lcd_panel_io_handle_t io_handle = NULL; @@ -363,13 +363,16 @@ static lv_disp_t *bsp_display_lcd_init(const bsp_display_cfg_t *cfg) .flags = { .buff_dma = cfg->flags.buff_dma, .buff_spiram = cfg->flags.buff_spiram, +#if LVGL_VERSION_MAJOR >= 9 + .swap_bytes = (BSP_LCD_BIGENDIAN ? true : false), +#endif } }; return lvgl_port_add_disp(&disp_cfg); } -static lv_indev_t *bsp_display_indev_init(lv_disp_t *disp) +static lv_indev_t *bsp_display_indev_init(lv_display_t *disp) { #if ESP_IDF_VERSION >= ESP_IDF_VERSION_VAL(5, 0, 0) /* Initialize ADC and get ADC handle */ @@ -387,7 +390,7 @@ static lv_indev_t *bsp_display_indev_init(lv_disp_t *disp) return lvgl_port_add_navigation_buttons(&btns); } -lv_disp_t *bsp_display_start(void) +lv_display_t *bsp_display_start(void) { bsp_display_cfg_t cfg = { .lvgl_port_cfg = ESP_LVGL_PORT_INIT_CONFIG(), @@ -405,9 +408,9 @@ lv_disp_t *bsp_display_start(void) return bsp_display_start_with_config(&cfg); } -lv_disp_t *bsp_display_start_with_config(const bsp_display_cfg_t *cfg) +lv_display_t *bsp_display_start_with_config(const bsp_display_cfg_t *cfg) { - lv_disp_t *disp; + lv_display_t *disp; assert(cfg != NULL); BSP_ERROR_CHECK_RETURN_NULL(lvgl_port_init(&cfg->lvgl_port_cfg)); @@ -425,7 +428,7 @@ lv_indev_t *bsp_display_get_input_dev(void) return disp_indev; } -void bsp_display_rotate(lv_disp_t *disp, lv_disp_rot_t rotation) +void bsp_display_rotate(lv_display_t *disp, lv_disp_rotation_t rotation) { lv_disp_set_rotation(disp, rotation); } diff --git a/bsp/esp-box-lite/idf_component.yml b/bsp/esp-box-lite/idf_component.yml index dbdecf85..31efd600 100644 --- a/bsp/esp-box-lite/idf_component.yml +++ b/bsp/esp-box-lite/idf_component.yml @@ -1,4 +1,4 @@ -version: "2.0.4" +version: "2.1.0" description: Board Support Package (BSP) for ESP32-S3-BOX-Lite url: https://github.com/espressif/esp-bsp/tree/master/bsp/esp-box-lite @@ -10,7 +10,6 @@ tags: dependencies: idf: ">=4.4.5" - lvgl/lvgl: "^8" button: version: ">=2.4" diff --git a/bsp/esp-box-lite/include/bsp/display.h b/bsp/esp-box-lite/include/bsp/display.h index d570c317..096a7602 100644 --- a/bsp/esp-box-lite/include/bsp/display.h +++ b/bsp/esp-box-lite/include/bsp/display.h @@ -70,11 +70,22 @@ typedef struct { */ esp_err_t bsp_display_new(const bsp_display_config_t *config, esp_lcd_panel_handle_t *ret_panel, esp_lcd_panel_io_handle_t *ret_io); +/** + * @brief Initialize display's brightness + * + * Brightness is controlled with PWM signal to a pin controlling backlight. + * + * @return + * - ESP_OK On success + * - ESP_ERR_INVALID_ARG Parameter error + */ +esp_err_t bsp_display_brightness_init(void); + /** * @brief Set display's brightness * * Brightness is controlled with PWM signal to a pin controlling backlight. - * Display must be already initialized by calling bsp_display_new() + * Brightness must be already initialized by calling bsp_display_brightness_init() or bsp_display_new() * * @param[in] brightness_percent Brightness in [%] * @return @@ -86,7 +97,8 @@ esp_err_t bsp_display_brightness_set(int brightness_percent); /** * @brief Turn on display backlight * - * Display must be already initialized by calling bsp_display_new() + * Brightness is controlled with PWM signal to a pin controlling backlight. + * Brightness must be already initialized by calling bsp_display_brightness_init() or bsp_display_new() * * @return * - ESP_OK On success @@ -97,7 +109,8 @@ esp_err_t bsp_display_backlight_on(void); /** * @brief Turn off display backlight * - * Display must be already initialized by calling bsp_display_new() + * Brightness is controlled with PWM signal to a pin controlling backlight. + * Brightness must be already initialized by calling bsp_display_brightness_init() or bsp_display_new() * * @return * - ESP_OK On success diff --git a/bsp/esp-box-lite/include/bsp/esp-box-lite.h b/bsp/esp-box-lite/include/bsp/esp-box-lite.h index 8159a990..787c84cf 100644 --- a/bsp/esp-box-lite/include/bsp/esp-box-lite.h +++ b/bsp/esp-box-lite/include/bsp/esp-box-lite.h @@ -296,7 +296,7 @@ esp_err_t bsp_spiffs_unmount(void); * * @return Pointer to LVGL display or NULL when error occurred */ -lv_disp_t *bsp_display_start(void); +lv_display_t *bsp_display_start(void); /** * @brief Initialize display @@ -308,7 +308,7 @@ lv_disp_t *bsp_display_start(void); * * @return Pointer to LVGL display or NULL when error occurred */ -lv_disp_t *bsp_display_start_with_config(const bsp_display_cfg_t *cfg); +lv_display_t *bsp_display_start_with_config(const bsp_display_cfg_t *cfg); /** * @brief Get pointer to input device (touch, buttons, ...) @@ -342,7 +342,7 @@ void bsp_display_unlock(void); * @param[in] disp Pointer to LVGL display * @param[in] rotation Angle of the display rotation */ -void bsp_display_rotate(lv_disp_t *disp, lv_disp_rot_t rotation); +void bsp_display_rotate(lv_display_t *disp, lv_disp_rotation_t rotation); /************************************************************************************************** * diff --git a/bsp/esp-box/esp-box.c b/bsp/esp-box/esp-box.c index 98abdb6f..29dcd4ae 100644 --- a/bsp/esp-box/esp-box.c +++ b/bsp/esp-box/esp-box.c @@ -30,7 +30,7 @@ static const char *TAG = "ESP-BOX"; _Static_assert(CONFIG_ESP_LCD_TOUCH_MAX_BUTTONS > 0, "Touch buttons must be supported for this BSP"); /** @endcond */ -static lv_disp_t *disp; +static lv_display_t *disp; static lv_indev_t *disp_indev = NULL; static esp_lcd_touch_handle_t tp; // LCD touch handle static bool i2c_initialized = false; @@ -211,7 +211,7 @@ esp_codec_dev_handle_t bsp_audio_codec_microphone_init(void) #define LCD_PARAM_BITS 8 #define LCD_LEDC_CH CONFIG_BSP_DISPLAY_BRIGHTNESS_LEDC_CH -static esp_err_t bsp_display_brightness_init(void) +esp_err_t bsp_display_brightness_init(void) { // Setup LEDC peripheral for PWM backlight control const ledc_channel_config_t LCD_backlight_channel = { @@ -318,7 +318,7 @@ esp_err_t bsp_display_new(const bsp_display_config_t *config, esp_lcd_panel_hand return ret; } -static lv_disp_t *bsp_display_lcd_init(const bsp_display_cfg_t *cfg) +static lv_display_t *bsp_display_lcd_init(const bsp_display_cfg_t *cfg) { assert(cfg != NULL); esp_lcd_panel_io_handle_t io_handle = NULL; @@ -349,6 +349,9 @@ static lv_disp_t *bsp_display_lcd_init(const bsp_display_cfg_t *cfg) .flags = { .buff_dma = cfg->flags.buff_dma, .buff_spiram = cfg->flags.buff_spiram, +#if LVGL_VERSION_MAJOR >= 9 + .swap_bytes = (BSP_LCD_BIGENDIAN ? true : false), +#endif } }; @@ -382,7 +385,7 @@ esp_err_t bsp_touch_new(const bsp_touch_config_t *config, esp_lcd_touch_handle_t return esp_lcd_touch_new_i2c_tt21100(tp_io_handle, &tp_cfg, ret_touch); } -static lv_indev_t *bsp_display_indev_init(lv_disp_t *disp) +static lv_indev_t *bsp_display_indev_init(lv_display_t *disp) { BSP_ERROR_CHECK_RETURN_NULL(bsp_touch_new(NULL, &tp)); assert(tp); @@ -396,7 +399,7 @@ static lv_indev_t *bsp_display_indev_init(lv_disp_t *disp) return lvgl_port_add_touch(&touch_cfg); } -lv_disp_t *bsp_display_start(void) +lv_display_t *bsp_display_start(void) { bsp_display_cfg_t cfg = { .lvgl_port_cfg = ESP_LVGL_PORT_INIT_CONFIG(), @@ -414,7 +417,7 @@ lv_disp_t *bsp_display_start(void) return bsp_display_start_with_config(&cfg); } -lv_disp_t *bsp_display_start_with_config(const bsp_display_cfg_t *cfg) +lv_display_t *bsp_display_start_with_config(const bsp_display_cfg_t *cfg) { assert(cfg != NULL); BSP_ERROR_CHECK_RETURN_NULL(lvgl_port_init(&cfg->lvgl_port_cfg)); @@ -433,7 +436,7 @@ lv_indev_t *bsp_display_get_input_dev(void) return disp_indev; } -void bsp_display_rotate(lv_disp_t *disp, lv_disp_rot_t rotation) +void bsp_display_rotate(lv_display_t *disp, lv_disp_rotation_t rotation) { lv_disp_set_rotation(disp, rotation); } diff --git a/bsp/esp-box/idf_component.yml b/bsp/esp-box/idf_component.yml index 5a2fade2..8b2e8139 100644 --- a/bsp/esp-box/idf_component.yml +++ b/bsp/esp-box/idf_component.yml @@ -1,5 +1,5 @@ -version: "3.0.5" +version: "3.1.0" description: Board Support Package (BSP) for ESP-BOX url: https://github.com/espressif/esp-bsp/tree/master/bsp/esp-box @@ -12,7 +12,6 @@ tags: dependencies: idf: ">=4.4.5" esp_lcd_touch_tt21100: "^1" - lvgl/lvgl: "^8" espressif/esp_lvgl_port: version: "^2" diff --git a/bsp/esp-box/include/bsp/display.h b/bsp/esp-box/include/bsp/display.h index dc0f9a29..262d9bfb 100644 --- a/bsp/esp-box/include/bsp/display.h +++ b/bsp/esp-box/include/bsp/display.h @@ -70,11 +70,22 @@ typedef struct { */ esp_err_t bsp_display_new(const bsp_display_config_t *config, esp_lcd_panel_handle_t *ret_panel, esp_lcd_panel_io_handle_t *ret_io); +/** + * @brief Initialize display's brightness + * + * Brightness is controlled with PWM signal to a pin controlling backlight. + * + * @return + * - ESP_OK On success + * - ESP_ERR_INVALID_ARG Parameter error + */ +esp_err_t bsp_display_brightness_init(void); + /** * @brief Set display's brightness * * Brightness is controlled with PWM signal to a pin controlling backlight. - * Display must be already initialized by calling bsp_display_new() + * Brightness must be already initialized by calling bsp_display_brightness_init() or bsp_display_new() * * @param[in] brightness_percent Brightness in [%] * @return @@ -86,7 +97,8 @@ esp_err_t bsp_display_brightness_set(int brightness_percent); /** * @brief Turn on display backlight * - * Display must be already initialized by calling bsp_display_new() + * Brightness is controlled with PWM signal to a pin controlling backlight. + * Brightness must be already initialized by calling bsp_display_brightness_init() or bsp_display_new() * * @return * - ESP_OK On success @@ -97,7 +109,8 @@ esp_err_t bsp_display_backlight_on(void); /** * @brief Turn off display backlight * - * Display must be already initialized by calling bsp_display_new() + * Brightness is controlled with PWM signal to a pin controlling backlight. + * Brightness must be already initialized by calling bsp_display_brightness_init() or bsp_display_new() * * @return * - ESP_OK On success diff --git a/bsp/esp-box/include/bsp/esp-box.h b/bsp/esp-box/include/bsp/esp-box.h index 659922ed..d8346a06 100644 --- a/bsp/esp-box/include/bsp/esp-box.h +++ b/bsp/esp-box/include/bsp/esp-box.h @@ -293,7 +293,7 @@ esp_err_t bsp_spiffs_unmount(void); * * @return Pointer to LVGL display or NULL when error occurred */ -lv_disp_t *bsp_display_start(void); +lv_display_t *bsp_display_start(void); /** * @brief Initialize display @@ -305,7 +305,7 @@ lv_disp_t *bsp_display_start(void); * * @return Pointer to LVGL display or NULL when error occurred */ -lv_disp_t *bsp_display_start_with_config(const bsp_display_cfg_t *cfg); +lv_display_t *bsp_display_start_with_config(const bsp_display_cfg_t *cfg); /** * @brief Get pointer to input device (touch, buttons, ...) @@ -339,7 +339,7 @@ void bsp_display_unlock(void); * @param[in] disp Pointer to LVGL display * @param[in] rotation Angle of the display rotation */ -void bsp_display_rotate(lv_disp_t *disp, lv_disp_rot_t rotation); +void bsp_display_rotate(lv_display_t *disp, lv_disp_rotation_t rotation); /************************************************************************************************** * * Button diff --git a/bsp/esp32_azure_iot_kit/README.md b/bsp/esp32_azure_iot_kit/README.md index 35d4e8b7..021136b1 100644 --- a/bsp/esp32_azure_iot_kit/README.md +++ b/bsp/esp32_azure_iot_kit/README.md @@ -37,3 +37,23 @@ ESP32-Azure IoT Kit has integrated an ESP32-WROVER-B module, serial port-to-USB | SENSOR_LIGHT |:heavy_check_mark:| [espressif/bh1750](https://components.espressif.com/components/espressif/bh1750) | ^1.0.0 | | SENSOR_MAG |:heavy_check_mark:| [espressif/mag3110](https://components.espressif.com/components/espressif/mag3110) | ^1.0.0 | + +### Capabilities and dependencies +| Capability | Available | Component | Version | +|------------------|------------------|----------------------------------------------------------------------------------------------|----------| +| DISPLAY |:heavy_check_mark:| idf | >=4.4.5 | +| LVGL_PORT |:heavy_check_mark:|[espressif/esp_lvgl_port](https://components.espressif.com/components/espressif/esp_lvgl_port)| ^2 | +| TOUCH | :x: | | | +| BUTTONS |:heavy_check_mark:| [espressif/button](https://components.espressif.com/components/espressif/button) |>=2.5,<4.0| +| AUDIO | :x: | | | +| AUDIO_SPEAKER | :x: | | | +| AUDIO_MIC | :x: | | | +| LED |:heavy_check_mark:| idf | >=4.4.5 | +| SDCARD |:heavy_check_mark:| idf | >=4.4.5 | +| IMU |:heavy_check_mark:| [espressif/mpu6050](https://components.espressif.com/components/espressif/mpu6050) | ^1.0.0 | +|SENSOR_TEMPERATURE|:heavy_check_mark:| [espressif/hts221](https://components.espressif.com/components/espressif/hts221) | ^1.1.1 | +| SENSOR_HUMIDITY |:heavy_check_mark:| [espressif/hts221](https://components.espressif.com/components/espressif/hts221) | ^1.1.1 | +| SENSOR_PRESSURE |:heavy_check_mark:| [espressif/fbm320](https://components.espressif.com/components/espressif/fbm320) | ^1.0.0 | +| SENSOR_LIGHT |:heavy_check_mark:| [espressif/bh1750](https://components.espressif.com/components/espressif/bh1750) | ^1.0.0 | +| SENSOR_MAG |:heavy_check_mark:| [espressif/mag3110](https://components.espressif.com/components/espressif/mag3110) | ^1.0.0 | + diff --git a/bsp/esp32_azure_iot_kit/esp32_azure_iot_kit.c b/bsp/esp32_azure_iot_kit/esp32_azure_iot_kit.c index ca190708..df9a7207 100644 --- a/bsp/esp32_azure_iot_kit/esp32_azure_iot_kit.c +++ b/bsp/esp32_azure_iot_kit/esp32_azure_iot_kit.c @@ -19,7 +19,7 @@ static const char *TAG = "Azure-IoT"; -static lv_disp_t *disp; +static lv_display_t *disp; sdmmc_card_t *bsp_sdcard = NULL; // Global uSD card handler static bool i2c_initialized = false; @@ -184,6 +184,12 @@ esp_err_t bsp_sdcard_unmount(void) return esp_vfs_fat_sdcard_unmount(BSP_SD_MOUNT_POINT, bsp_sdcard); } +esp_err_t bsp_display_brightness_init(void) +{ + ESP_LOGW(TAG, "This board doesn't support to change brightness of LCD"); + return ESP_ERR_NOT_SUPPORTED; +} + esp_err_t bsp_display_brightness_set(int brightness_percent) { ESP_LOGW(TAG, "This board doesn't support to change brightness of LCD"); @@ -244,7 +250,7 @@ esp_err_t bsp_display_new(const bsp_display_config_t *config, esp_lcd_panel_hand return ret; } -static lv_disp_t *bsp_display_lcd_init(const bsp_display_cfg_t *cfg) +static lv_display_t *bsp_display_lcd_init(const bsp_display_cfg_t *cfg) { assert(cfg != NULL); esp_lcd_panel_io_handle_t io_handle = NULL; @@ -278,7 +284,7 @@ static lv_disp_t *bsp_display_lcd_init(const bsp_display_cfg_t *cfg) return lvgl_port_add_disp(&disp_cfg); } -lv_disp_t *bsp_display_start(void) +lv_display_t *bsp_display_start(void) { bsp_display_cfg_t cfg = { .lvgl_port_cfg = ESP_LVGL_PORT_INIT_CONFIG(), @@ -292,7 +298,7 @@ lv_disp_t *bsp_display_start(void) return bsp_display_start_with_config(&cfg); } -lv_disp_t *bsp_display_start_with_config(const bsp_display_cfg_t *cfg) +lv_display_t *bsp_display_start_with_config(const bsp_display_cfg_t *cfg) { assert(cfg != NULL); BSP_ERROR_CHECK_RETURN_NULL(lvgl_port_init(&cfg->lvgl_port_cfg)); @@ -307,7 +313,7 @@ lv_indev_t *bsp_display_get_input_dev(void) return NULL; } -void bsp_display_rotate(lv_disp_t *disp, lv_disp_rot_t rotation) +void bsp_display_rotate(lv_display_t *disp, lv_disp_rotation_t rotation) { lv_disp_set_rotation(disp, rotation); } diff --git a/bsp/esp32_azure_iot_kit/idf_component.yml b/bsp/esp32_azure_iot_kit/idf_component.yml index 17b098f8..2c70ff38 100644 --- a/bsp/esp32_azure_iot_kit/idf_component.yml +++ b/bsp/esp32_azure_iot_kit/idf_component.yml @@ -1,4 +1,4 @@ -version: "2.0.1" +version: "2.1.0" description: Board Support Package (BSP) for ESP32-Azure-IoT-Kit url: https://github.com/espressif/esp-bsp/tree/master/bsp/esp32_azure_iot_kit @@ -10,7 +10,6 @@ tags: dependencies: idf: ">=4.4.5" - lvgl/lvgl: "^8" espressif/esp_lvgl_port: version: "^2" diff --git a/bsp/esp32_azure_iot_kit/include/bsp/display.h b/bsp/esp32_azure_iot_kit/include/bsp/display.h index d1c59bbb..df3646d4 100644 --- a/bsp/esp32_azure_iot_kit/include/bsp/display.h +++ b/bsp/esp32_azure_iot_kit/include/bsp/display.h @@ -73,6 +73,7 @@ esp_err_t bsp_display_new(const bsp_display_config_t *config, esp_lcd_panel_hand /* Backlight functions are not implemented - Azure kit doesn't provide backlight control These functions are here to provide consistent API with other Board Support Packages */ +esp_err_t bsp_display_brightness_init(void); esp_err_t bsp_display_brightness_set(int brightness_percent); esp_err_t bsp_display_backlight_on(void); esp_err_t bsp_display_backlight_off(void); diff --git a/bsp/esp32_azure_iot_kit/include/bsp/esp32_azure_iot_kit.h b/bsp/esp32_azure_iot_kit/include/bsp/esp32_azure_iot_kit.h index 50fc23dd..f993f1e1 100644 --- a/bsp/esp32_azure_iot_kit/include/bsp/esp32_azure_iot_kit.h +++ b/bsp/esp32_azure_iot_kit/include/bsp/esp32_azure_iot_kit.h @@ -225,7 +225,7 @@ esp_err_t bsp_sdcard_unmount(void); * * @return Pointer to LVGL display or NULL when error occurred */ -lv_disp_t *bsp_display_start(void); +lv_display_t *bsp_display_start(void); /** * @brief Initialize display @@ -237,7 +237,7 @@ lv_disp_t *bsp_display_start(void); * * @return Pointer to LVGL display or NULL when error occurred */ -lv_disp_t *bsp_display_start_with_config(const bsp_display_cfg_t *cfg); +lv_display_t *bsp_display_start_with_config(const bsp_display_cfg_t *cfg); /** * @brief Get pointer to input device (touch, buttons, ...) @@ -271,7 +271,7 @@ void bsp_display_unlock(void); * @param[in] disp Pointer to LVGL display * @param[in] rotation Angle of the display rotation */ -void bsp_display_rotate(lv_disp_t *disp, lv_disp_rot_t rotation); +void bsp_display_rotate(lv_display_t *disp, lv_disp_rotation_t rotation); /************************************************************************************************** * diff --git a/bsp/esp32_c3_lcdkit/Kconfig b/bsp/esp32_c3_lcdkit/Kconfig index 3751d6f6..a44b54a5 100644 --- a/bsp/esp32_c3_lcdkit/Kconfig +++ b/bsp/esp32_c3_lcdkit/Kconfig @@ -17,7 +17,7 @@ menu "Board Support Package" config BSP_LCD_DRAW_BUF_HEIGHT int "LCD framebuf height" - default 240 + default 100 range 10 240 help Framebuf is used for lvgl rendering output. diff --git a/bsp/esp32_c3_lcdkit/README.md b/bsp/esp32_c3_lcdkit/README.md index a492c134..8f0b6daf 100644 --- a/bsp/esp32_c3_lcdkit/README.md +++ b/bsp/esp32_c3_lcdkit/README.md @@ -15,15 +15,17 @@ ESP32-C3-LCDkit also uses a Type-C USB connector that provides 5 V of power inpu ![image](pic.png) -### Dependencies -| component | version| -|------------------------------------------------------------------------------------------------|--------| -| [espressif/button](https://components.espressif.com/components/espressif/button) |>=2,<4.0| -| [espressif/esp_codec_dev](https://components.espressif.com/components/espressif/esp_codec_dev) | ^1 | -|[espressif/esp_lcd_gc9a01](https://components.espressif.com/components/espressif/esp_lcd_gc9a01)| ^1 | -| [espressif/esp_lvgl_port](https://components.espressif.com/components/espressif/esp_lvgl_port) | ^2 | -| [espressif/knob](https://components.espressif.com/components/espressif/knob) | ^0.1.3 | -| [espressif/led_strip](https://components.espressif.com/components/espressif/led_strip) | ^2 | -| idf | >=5.0.0| -| [lvgl/lvgl](https://components.espressif.com/components/lvgl/lvgl) | ^8 | +### Capabilities and dependencies +| Capability | Available | Component |Version| +|-------------|------------------|------------------------------------------------------------------------------------------------|-------| +| DISPLAY |:heavy_check_mark:|[espressif/esp_lcd_gc9a01](https://components.espressif.com/components/espressif/esp_lcd_gc9a01)| ^1 | +| LVGL_PORT |:heavy_check_mark:| [espressif/esp_lvgl_port](https://components.espressif.com/components/espressif/esp_lvgl_port) | ^2 | +| TOUCH | :x: | | | +| BUTTONS | :x: | | | +| AUDIO |:heavy_check_mark:| [espressif/esp_codec_dev](https://components.espressif.com/components/espressif/esp_codec_dev) | ^1 | +|AUDIO_SPEAKER|:heavy_check_mark:| | | +| AUDIO_MIC | :x: | | | +| LED |:heavy_check_mark:| idf |>=5.0.0| +| SDCARD | :x: | | | +| IMU | :x: | | | diff --git a/bsp/esp32_c3_lcdkit/esp32_c3_lcdkit.c b/bsp/esp32_c3_lcdkit/esp32_c3_lcdkit.c index 36001dc8..3b5fb0b4 100644 --- a/bsp/esp32_c3_lcdkit/esp32_c3_lcdkit.c +++ b/bsp/esp32_c3_lcdkit/esp32_c3_lcdkit.c @@ -200,7 +200,7 @@ esp_err_t bsp_spiffs_unmount(void) return esp_vfs_spiffs_unregister(CONFIG_BSP_SPIFFS_PARTITION_LABEL); } -static lv_disp_t *bsp_display_lcd_init(const bsp_display_cfg_t *cfg) +static lv_display_t *bsp_display_lcd_init(const bsp_display_cfg_t *cfg) { assert(cfg != NULL); esp_lcd_panel_io_handle_t io_handle = NULL; @@ -231,13 +231,16 @@ static lv_disp_t *bsp_display_lcd_init(const bsp_display_cfg_t *cfg) .flags = { .buff_dma = cfg->flags.buff_dma, .buff_spiram = cfg->flags.buff_spiram, +#if LVGL_VERSION_MAJOR >= 9 + .swap_bytes = (BSP_LCD_BIGENDIAN ? true : false), +#endif } }; return lvgl_port_add_disp(&disp_cfg); } -static lv_indev_t *bsp_display_indev_init(lv_disp_t *disp) +static lv_indev_t *bsp_display_indev_init(lv_display_t *disp) { const lvgl_port_encoder_cfg_t encoder = { .disp = disp, @@ -254,7 +257,7 @@ static lv_indev_t *bsp_display_indev_init(lv_disp_t *disp) #define LCD_LEDC_DUTY_RES (LEDC_TIMER_10_BIT) #define LCD_LEDC_CH CONFIG_BSP_DISPLAY_BRIGHTNESS_LEDC_CH -static esp_err_t bsp_display_brightness_init(void) +esp_err_t bsp_display_brightness_init(void) { // Setup LEDC peripheral for PWM backlight control const ledc_channel_config_t LCD_backlight_channel = { @@ -368,7 +371,7 @@ esp_err_t bsp_display_new(const bsp_display_config_t *config, esp_lcd_panel_hand return ret; } -lv_disp_t *bsp_display_start(void) +lv_display_t *bsp_display_start(void) { bsp_display_cfg_t cfg = { .lvgl_port_cfg = ESP_LVGL_PORT_INIT_CONFIG(), @@ -402,7 +405,7 @@ lv_indev_t *bsp_display_get_input_dev(void) return disp_indev; } -void bsp_display_rotate(lv_disp_t *disp, lv_disp_rot_t rotation) +void bsp_display_rotate(lv_display_t *disp, lv_disp_rotation_t rotation) { lv_disp_set_rotation(disp, rotation); } diff --git a/bsp/esp32_c3_lcdkit/idf_component.yml b/bsp/esp32_c3_lcdkit/idf_component.yml index efd9e434..d22b3ee8 100644 --- a/bsp/esp32_c3_lcdkit/idf_component.yml +++ b/bsp/esp32_c3_lcdkit/idf_component.yml @@ -1,4 +1,4 @@ -version: "1.0.1" +version: "1.1.0" description: Board Support Package (BSP) for esp32_c3_lcdkit url: https://github.com/espressif/esp-bsp/tree/master/bsp/esp32_c3_lcdkit @@ -6,11 +6,10 @@ targets: - esp32c3 tags: - - bsp + - bsp dependencies: idf: ">=5.0.0" - lvgl/lvgl: "^8" espressif/esp_lvgl_port: public: true diff --git a/bsp/esp32_c3_lcdkit/include/bsp/display.h b/bsp/esp32_c3_lcdkit/include/bsp/display.h index 21845e05..9b577b12 100644 --- a/bsp/esp32_c3_lcdkit/include/bsp/display.h +++ b/bsp/esp32_c3_lcdkit/include/bsp/display.h @@ -70,11 +70,22 @@ typedef struct { */ esp_err_t bsp_display_new(const bsp_display_config_t *config, esp_lcd_panel_handle_t *ret_panel, esp_lcd_panel_io_handle_t *ret_io); +/** + * @brief Initialize display's brightness + * + * Brightness is controlled with PWM signal to a pin controlling backlight. + * + * @return + * - ESP_OK On success + * - ESP_ERR_INVALID_ARG Parameter error + */ +esp_err_t bsp_display_brightness_init(void); + /** * @brief Set display's brightness * * Brightness is controlled with PWM signal to a pin controlling backlight. - * Display must be already initialized by calling bsp_display_new() + * Brightness must be already initialized by calling bsp_display_brightness_init() or bsp_display_new() * * @param[in] brightness_percent Brightness in [%] * @return @@ -86,7 +97,8 @@ esp_err_t bsp_display_brightness_set(int brightness_percent); /** * @brief Turn on display backlight * - * Display must be already initialized by calling bsp_display_new() + * Brightness is controlled with PWM signal to a pin controlling backlight. + * Brightness must be already initialized by calling bsp_display_brightness_init() or bsp_display_new() * * @return * - ESP_OK On success @@ -97,7 +109,8 @@ esp_err_t bsp_display_backlight_on(void); /** * @brief Turn off display backlight * - * Display must be already initialized by calling bsp_display_new() + * Brightness is controlled with PWM signal to a pin controlling backlight. + * Brightness must be already initialized by calling bsp_display_brightness_init() or bsp_display_new() * * @return * - ESP_OK On success diff --git a/bsp/esp32_c3_lcdkit/include/bsp/esp32_c3_lcdkit.h b/bsp/esp32_c3_lcdkit/include/bsp/esp32_c3_lcdkit.h index 41afccd5..a3d552df 100644 --- a/bsp/esp32_c3_lcdkit/include/bsp/esp32_c3_lcdkit.h +++ b/bsp/esp32_c3_lcdkit/include/bsp/esp32_c3_lcdkit.h @@ -19,6 +19,19 @@ #include "esp_lvgl_port.h" #include "esp_codec_dev.h" #include "bsp/display.h" +/************************************************************************************************** + * BSP Capabilities + **************************************************************************************************/ + +#define BSP_CAPS_DISPLAY 1 +#define BSP_CAPS_TOUCH 0 +#define BSP_CAPS_BUTTONS 0 +#define BSP_CAPS_AUDIO 1 +#define BSP_CAPS_AUDIO_SPEAKER 1 +#define BSP_CAPS_AUDIO_MIC 0 +#define BSP_CAPS_LED 1 +#define BSP_CAPS_SDCARD 0 +#define BSP_CAPS_IMU 0 /************************************************************************************************** * ESP32-C3-LCDkit pinout @@ -93,7 +106,7 @@ typedef struct { * * @return Pointer to LVGL display or NULL when error occurred */ -lv_disp_t *bsp_display_start(void); +lv_display_t *bsp_display_start(void); /** * @brief Initialize display @@ -140,7 +153,7 @@ void bsp_display_unlock(void); * @param[in] disp Pointer to LVGL display * @param[in] rotation Angle of the display rotation */ -void bsp_display_rotate(lv_disp_t *disp, lv_disp_rot_t rotation); +void bsp_display_rotate(lv_display_t *disp, lv_disp_rotation_t rotation); /************************************************************************************************** * diff --git a/bsp/esp32_lyrat/README.md b/bsp/esp32_lyrat/README.md index 4166918d..94fdd567 100644 --- a/bsp/esp32_lyrat/README.md +++ b/bsp/esp32_lyrat/README.md @@ -13,10 +13,16 @@ The ESP32-LyraT is a stereo audio board. If you are looking for a mono audio boa ![image](pic.jpg) -### Dependencies -| component | version | -|----------------------------------------------------------------------------------------------|----------| -| [espressif/button](https://components.espressif.com/components/espressif/button) |>=2.5,<4.0| -|[espressif/esp_codec_dev](https://components.espressif.com/components/espressif/esp_codec_dev)| ^1.0.3 | -| idf | >=4.4 | +### Capabilities and dependencies +| Capability | Available | Component | Version | +|-------------|------------------|----------------------------------------------------------------------------------------------|----------| +| DISPLAY | :x: | | | +| TOUCH | :x: | | | +| BUTTONS |:heavy_check_mark:| [espressif/button](https://components.espressif.com/components/espressif/button) |>=2.5,<4.0| +| AUDIO |:heavy_check_mark:|[espressif/esp_codec_dev](https://components.espressif.com/components/espressif/esp_codec_dev)| ^1.0.3 | +|AUDIO_SPEAKER|:heavy_check_mark:| | | +| AUDIO_MIC |:heavy_check_mark:| | | +| LED |:heavy_check_mark:| idf | >=4.4 | +| SDCARD |:heavy_check_mark:| idf | >=4.4 | +| IMU | :x: | | | diff --git a/bsp/esp32_lyrat/include/bsp/esp32_lyrat.h b/bsp/esp32_lyrat/include/bsp/esp32_lyrat.h index 89bec691..d088ab78 100644 --- a/bsp/esp32_lyrat/include/bsp/esp32_lyrat.h +++ b/bsp/esp32_lyrat/include/bsp/esp32_lyrat.h @@ -20,6 +20,19 @@ #else #include "driver/i2s_std.h" #endif +/************************************************************************************************** + * BSP Capabilities + **************************************************************************************************/ + +#define BSP_CAPS_DISPLAY 0 +#define BSP_CAPS_TOUCH 0 +#define BSP_CAPS_BUTTONS 1 +#define BSP_CAPS_AUDIO 1 +#define BSP_CAPS_AUDIO_SPEAKER 1 +#define BSP_CAPS_AUDIO_MIC 1 +#define BSP_CAPS_LED 1 +#define BSP_CAPS_SDCARD 1 +#define BSP_CAPS_IMU 0 /************************************************************************************************** * Board pinout diff --git a/bsp/esp32_p4_function_ev_board/README.md b/bsp/esp32_p4_function_ev_board/README.md index 8f1fc220..6a8355a2 100644 --- a/bsp/esp32_p4_function_ev_board/README.md +++ b/bsp/esp32_p4_function_ev_board/README.md @@ -18,3 +18,17 @@ ESP32-P4 Function EV Board is internal Espressif board for testing features on E | SDCARD |:heavy_check_mark:| idf | >=5.3 | | IMU | :x: | | | + +### Capabilities and dependencies +| Capability | Available | Component |Version| +|-------------|------------------|----------------------------------------------------------------------------------------------------------|-------| +| DISPLAY |:heavy_check_mark:| [espressif/esp_lcd_ili9881c](https://components.espressif.com/components/espressif/esp_lcd_ili9881c) |>=0.2.0| +| LVGL_PORT |:heavy_check_mark:| [espressif/esp_lvgl_port](https://components.espressif.com/components/espressif/esp_lvgl_port) | ^2 | +| TOUCH |:heavy_check_mark:|[espressif/esp_lcd_touch_gt911](https://components.espressif.com/components/espressif/esp_lcd_touch_gt911)| ^1 | +| BUTTONS | :x: | | | +| AUDIO | :x: | | | +|AUDIO_SPEAKER| :x: | | | +| AUDIO_MIC | :x: | | | +| SDCARD |:heavy_check_mark:| idf | >=5.3 | +| IMU | :x: | | | + diff --git a/bsp/esp32_p4_function_ev_board/esp32_p4_function_ev_board.c b/bsp/esp32_p4_function_ev_board/esp32_p4_function_ev_board.c index d8e4004d..b736089e 100644 --- a/bsp/esp32_p4_function_ev_board/esp32_p4_function_ev_board.c +++ b/bsp/esp32_p4_function_ev_board/esp32_p4_function_ev_board.c @@ -139,7 +139,7 @@ esp_err_t bsp_spiffs_unmount(void) // Bit number used to represent command and parameter #define LCD_LEDC_CH CONFIG_BSP_DISPLAY_BRIGHTNESS_LEDC_CH -static esp_err_t bsp_display_brightness_init(void) +esp_err_t bsp_display_brightness_init(void) { // Setup LEDC peripheral for PWM backlight control const ledc_channel_config_t LCD_backlight_channel = { @@ -360,7 +360,12 @@ static lv_display_t *bsp_display_lcd_init(const bsp_display_cfg_t *cfg) .flags = { .buff_dma = cfg->flags.buff_dma, .buff_spiram = cfg->flags.buff_spiram, +#if LVGL_VERSION_MAJOR >= 9 .swap_bytes = (BSP_LCD_BIGENDIAN ? true : false), +#endif +#if LVGL_VERSION_MAJOR == 8 + .sw_rotate = cfg->flags.sw_rotate, /* Only SW rotation is supported for 90° and 270° */ +#endif } }; diff --git a/bsp/esp32_p4_function_ev_board/include/bsp/display.h b/bsp/esp32_p4_function_ev_board/include/bsp/display.h index 1efd896c..90046c40 100644 --- a/bsp/esp32_p4_function_ev_board/include/bsp/display.h +++ b/bsp/esp32_p4_function_ev_board/include/bsp/display.h @@ -120,11 +120,22 @@ esp_err_t bsp_display_new(const bsp_display_config_t *config, esp_lcd_panel_hand */ esp_err_t bsp_display_new_with_handles(const bsp_display_config_t *config, bsp_lcd_handles_t *ret_handles); +/** + * @brief Initialize display's brightness + * + * Brightness is controlled with PWM signal to a pin controlling backlight. + * + * @return + * - ESP_OK On success + * - ESP_ERR_INVALID_ARG Parameter error + */ +esp_err_t bsp_display_brightness_init(void); + /** * @brief Set display's brightness * * Brightness is controlled with PWM signal to a pin controlling backlight. - * Display must be already initialized by calling bsp_display_new() + * Brightness must be already initialized by calling bsp_display_brightness_init() or bsp_display_new() * * @param[in] brightness_percent Brightness in [%] * @return @@ -136,7 +147,8 @@ esp_err_t bsp_display_brightness_set(int brightness_percent); /** * @brief Turn on display backlight * - * Display must be already initialized by calling bsp_display_new() + * Brightness is controlled with PWM signal to a pin controlling backlight. + * Brightness must be already initialized by calling bsp_display_brightness_init() or bsp_display_new() * * @return * - ESP_OK On success @@ -147,7 +159,8 @@ esp_err_t bsp_display_backlight_on(void); /** * @brief Turn off display backlight * - * Display must be already initialized by calling bsp_display_new() + * Brightness is controlled with PWM signal to a pin controlling backlight. + * Brightness must be already initialized by calling bsp_display_brightness_init() or bsp_display_new() * * @return * - ESP_OK On success diff --git a/bsp/esp32_s2_kaluga_kit/README.md b/bsp/esp32_s2_kaluga_kit/README.md index 2c1ec932..cc8b5f23 100644 --- a/bsp/esp32_s2_kaluga_kit/README.md +++ b/bsp/esp32_s2_kaluga_kit/README.md @@ -19,14 +19,18 @@ The ESP32-S2-Kaluga-1 kit v1.3 is a development kit by Espressif that is mainly * Camera driver -### Dependencies -| component | version | -|----------------------------------------------------------------------------------------------|----------| -| [espressif/button](https://components.espressif.com/components/espressif/button) |>=2.5,<4.0| -| [espressif/esp32-camera](https://components.espressif.com/components/espressif/esp32-camera) | ^2.0.2 | -|[espressif/esp_codec_dev](https://components.espressif.com/components/espressif/esp_codec_dev)| ^1.0.3 | -|[espressif/esp_lvgl_port](https://components.espressif.com/components/espressif/esp_lvgl_port)| ^2 | -| [espressif/led_strip](https://components.espressif.com/components/espressif/led_strip) | ^2.5 | -| idf | >=4.4.5 | -| [lvgl/lvgl](https://components.espressif.com/components/lvgl/lvgl) | ^8 | +### Capabilities and dependencies +| Capability | Available | Component | Version | +|-------------|------------------|----------------------------------------------------------------------------------------------|----------| +| DISPLAY |:heavy_check_mark:| idf | >=4.4.5 | +| LVGL_PORT |:heavy_check_mark:|[espressif/esp_lvgl_port](https://components.espressif.com/components/espressif/esp_lvgl_port)| ^2 | +| TOUCH | :x: | | | +| BUTTONS |:heavy_check_mark:| [espressif/button](https://components.espressif.com/components/espressif/button) |>=2.5,<4.0| +| AUDIO |:heavy_check_mark:|[espressif/esp_codec_dev](https://components.espressif.com/components/espressif/esp_codec_dev)| ^1.0.3 | +|AUDIO_SPEAKER|:heavy_check_mark:| | | +| AUDIO_MIC |:heavy_check_mark:| | | +| LED |:heavy_check_mark:| idf | >=4.4.5 | +| SDCARD | :x: | | | +| IMU | :x: | | | +| CAMERA |:heavy_check_mark:| [espressif/esp32-camera](https://components.espressif.com/components/espressif/esp32-camera) | ^2.0.2 | diff --git a/bsp/esp32_s2_kaluga_kit/esp32_s2_kaluga_kit.c b/bsp/esp32_s2_kaluga_kit/esp32_s2_kaluga_kit.c index fb244be2..eb034ba5 100644 --- a/bsp/esp32_s2_kaluga_kit/esp32_s2_kaluga_kit.c +++ b/bsp/esp32_s2_kaluga_kit/esp32_s2_kaluga_kit.c @@ -356,7 +356,7 @@ esp_err_t bsp_display_new(const bsp_display_config_t *config, esp_lcd_panel_hand return ret; } -static lv_disp_t *bsp_display_lcd_init(const bsp_display_cfg_t *cfg) +static lv_display_t *bsp_display_lcd_init(const bsp_display_cfg_t *cfg) { assert(cfg != NULL); esp_lcd_panel_io_handle_t io_handle = NULL; @@ -387,13 +387,16 @@ static lv_disp_t *bsp_display_lcd_init(const bsp_display_cfg_t *cfg) .flags = { .buff_dma = cfg->flags.buff_dma, .buff_spiram = cfg->flags.buff_spiram, +#if LVGL_VERSION_MAJOR >= 9 + .swap_bytes = (BSP_LCD_BIGENDIAN ? true : false), +#endif } }; return lvgl_port_add_disp(&disp_cfg); } -lv_disp_t *bsp_display_start(void) +lv_display_t *bsp_display_start(void) { bsp_display_cfg_t cfg = { .lvgl_port_cfg = ESP_LVGL_PORT_INIT_CONFIG(), @@ -407,9 +410,9 @@ lv_disp_t *bsp_display_start(void) return bsp_display_start_with_config(&cfg); } -lv_disp_t *bsp_display_start_with_config(const bsp_display_cfg_t *cfg) +lv_display_t *bsp_display_start_with_config(const bsp_display_cfg_t *cfg) { - lv_disp_t *disp = NULL; + lv_display_t *disp = NULL; BSP_NULL_CHECK(cfg, NULL); BSP_ERROR_CHECK_RETURN_NULL(lvgl_port_init(&cfg->lvgl_port_cfg)); @@ -422,7 +425,7 @@ lv_indev_t *bsp_display_get_input_dev(void) return NULL; } -void bsp_display_rotate(lv_disp_t *disp, lv_disp_rot_t rotation) +void bsp_display_rotate(lv_display_t *disp, lv_disp_rotation_t rotation) { lv_disp_set_rotation(disp, rotation); } @@ -439,6 +442,10 @@ void bsp_display_unlock(void) /* Backlight functions are not implemented - Kaluga board doesn't provide backlight control These functions are here to provide consistent API with other Board Support Packages */ +esp_err_t bsp_display_brightness_init(void) +{ + return ESP_OK; +} esp_err_t bsp_display_backlight_off(void) { return ESP_OK; diff --git a/bsp/esp32_s2_kaluga_kit/idf_component.yml b/bsp/esp32_s2_kaluga_kit/idf_component.yml index 2cc4bea9..895708b6 100644 --- a/bsp/esp32_s2_kaluga_kit/idf_component.yml +++ b/bsp/esp32_s2_kaluga_kit/idf_component.yml @@ -1,4 +1,4 @@ -version: "3.0.1" +version: "3.1.0" description: Board Support Package (BSP) for ESP32-S2-Kaluga kit url: https://github.com/espressif/esp-bsp/tree/master/bsp/esp32_s2_kaluga_kit @@ -10,7 +10,6 @@ tags: dependencies: idf: ">=4.4.5" - lvgl/lvgl: "^8" espressif/esp_lvgl_port: version: "^2" diff --git a/bsp/esp32_s2_kaluga_kit/include/bsp/display.h b/bsp/esp32_s2_kaluga_kit/include/bsp/display.h index d0b375cb..ed58a934 100644 --- a/bsp/esp32_s2_kaluga_kit/include/bsp/display.h +++ b/bsp/esp32_s2_kaluga_kit/include/bsp/display.h @@ -72,6 +72,7 @@ esp_err_t bsp_display_new(const bsp_display_config_t *config, esp_lcd_panel_hand /* Backlight functions are not implemented - Kaluga board doesn't provide backlight control These functions are here to provide consistent API with other Board Support Packages */ +esp_err_t bsp_display_brightness_init(void); esp_err_t bsp_display_brightness_set(int brightness_percent); esp_err_t bsp_display_backlight_on(void); esp_err_t bsp_display_backlight_off(void); diff --git a/bsp/esp32_s2_kaluga_kit/include/bsp/esp32_s2_kaluga_kit.h b/bsp/esp32_s2_kaluga_kit/include/bsp/esp32_s2_kaluga_kit.h index cea9485e..a9fa535a 100644 --- a/bsp/esp32_s2_kaluga_kit/include/bsp/esp32_s2_kaluga_kit.h +++ b/bsp/esp32_s2_kaluga_kit/include/bsp/esp32_s2_kaluga_kit.h @@ -25,6 +25,20 @@ #else #include "driver/i2s_std.h" #endif +/************************************************************************************************** + * BSP Capabilities + **************************************************************************************************/ + +#define BSP_CAPS_DISPLAY 1 +#define BSP_CAPS_TOUCH 0 +#define BSP_CAPS_BUTTONS 1 +#define BSP_CAPS_AUDIO 1 +#define BSP_CAPS_AUDIO_SPEAKER 1 +#define BSP_CAPS_AUDIO_MIC 1 +#define BSP_CAPS_LED 1 +#define BSP_CAPS_SDCARD 0 +#define BSP_CAPS_IMU 0 +#define BSP_CAPS_CAMERA 1 /************************************************************************************************** * ESP32-S2 Kaluga Kit pinout @@ -281,6 +295,9 @@ esp_err_t bsp_spiffs_unmount(void); .sccb_i2c_port = BSP_I2C_NUM, \ } +#define BSP_CAMERA_VFLIP 1 +#define BSP_CAMERA_HMIRROR 0 + /************************************************************************************************** * * LCD interface @@ -308,7 +325,7 @@ esp_err_t bsp_spiffs_unmount(void); * * @return Pointer to LVGL display or NULL when error occurred */ -lv_disp_t *bsp_display_start(void); +lv_display_t *bsp_display_start(void); /** * @brief Initialize display @@ -319,7 +336,7 @@ lv_disp_t *bsp_display_start(void); * * @return Pointer to LVGL display or NULL when error occurred */ -lv_disp_t *bsp_display_start_with_config(const bsp_display_cfg_t *cfg); +lv_display_t *bsp_display_start_with_config(const bsp_display_cfg_t *cfg); /** * @brief Get pointer to input device (touch, buttons, ...) @@ -353,7 +370,7 @@ void bsp_display_unlock(void); * @param[in] disp Pointer to LVGL display * @param[in] rotation Angle of the display rotation */ -void bsp_display_rotate(lv_disp_t *disp, lv_disp_rot_t rotation); +void bsp_display_rotate(lv_display_t *disp, lv_disp_rotation_t rotation); /************************************************************************************************** * diff --git a/bsp/esp32_s3_eye/README.md b/bsp/esp32_s3_eye/README.md index 9e9a6715..c47c6e5d 100644 --- a/bsp/esp32_s3_eye/README.md +++ b/bsp/esp32_s3_eye/README.md @@ -18,7 +18,6 @@ The ESP32-S3-EYE board consists of two parts: the main board (ESP32-S3-EYE-MB) t * Accelerometer * OV2640 camera - ### Capabilities and dependencies | Capability | Available | Component | Version | @@ -32,4 +31,5 @@ The ESP32-S3-EYE board consists of two parts: the main board (ESP32-S3-EYE-MB) t | AUDIO_MIC |:heavy_check_mark:| | | | SDCARD |:heavy_check_mark:| idf | >=4.4.5 | | IMU | :x: | | | +| CAMERA |:heavy_check_mark:| [espressif/esp32-camera](https://components.espressif.com/components/espressif/esp32-camera) | ^2.0.2 | diff --git a/bsp/esp32_s3_eye/esp32_s3_eye.c b/bsp/esp32_s3_eye/esp32_s3_eye.c index a01523fe..a82bc3e8 100644 --- a/bsp/esp32_s3_eye/esp32_s3_eye.c +++ b/bsp/esp32_s3_eye/esp32_s3_eye.c @@ -192,7 +192,7 @@ esp_err_t bsp_sdcard_unmount(void) #define LVGL_TICK_PERIOD_MS (CONFIG_BSP_DISPLAY_LVGL_TICK) #define LVGL_MAX_SLEEP_MS (CONFIG_BSP_DISPLAY_LVGL_MAX_SLEEP) -static esp_err_t bsp_display_brightness_init(void) +esp_err_t bsp_display_brightness_init(void) { // Setup LEDC peripheral for PWM backlight control const ledc_channel_config_t LCD_backlight_channel = { @@ -302,7 +302,7 @@ esp_err_t bsp_display_new(const bsp_display_config_t *config, esp_lcd_panel_hand } #if (BSP_CONFIG_NO_GRAPHIC_LIB == 0) -static lv_disp_t *bsp_display_lcd_init(const bsp_display_cfg_t *cfg) +static lv_display_t *bsp_display_lcd_init(const bsp_display_cfg_t *cfg) { assert(cfg != NULL); esp_lcd_panel_io_handle_t io_handle = NULL; @@ -337,18 +337,21 @@ static lv_disp_t *bsp_display_lcd_init(const bsp_display_cfg_t *cfg) .flags = { .buff_dma = cfg->flags.buff_dma, .buff_spiram = cfg->flags.buff_spiram, +#if LVGL_VERSION_MAJOR >= 9 + .swap_bytes = (BSP_LCD_BIGENDIAN ? true : false), +#endif } }; return lvgl_port_add_disp(&disp_cfg); } -lv_disp_t *bsp_display_start(void) +lv_display_t *bsp_display_start(void) { bsp_display_cfg_t cfg = { .lvgl_port_cfg = { .task_priority = CONFIG_BSP_DISPLAY_LVGL_TASK_PRIORITY, - .task_stack = 4096, + .task_stack = 6144, .task_affinity = 1, .timer_period_ms = LVGL_TICK_PERIOD_MS, .task_max_sleep_ms = LVGL_MAX_SLEEP_MS, @@ -363,9 +366,9 @@ lv_disp_t *bsp_display_start(void) return bsp_display_start_with_config(&cfg); } -lv_disp_t *bsp_display_start_with_config(const bsp_display_cfg_t *cfg) +lv_display_t *bsp_display_start_with_config(const bsp_display_cfg_t *cfg) { - lv_disp_t *disp; + lv_display_t *disp; assert(cfg != NULL); BSP_ERROR_CHECK_RETURN_NULL(lvgl_port_init(&cfg->lvgl_port_cfg)); BSP_NULL_CHECK(disp = bsp_display_lcd_init(cfg), NULL); @@ -388,7 +391,7 @@ void bsp_display_unlock(void) lvgl_port_unlock(); } -void bsp_display_rotate(lv_disp_t *disp, lv_disp_rot_t rotation) +void bsp_display_rotate(lv_display_t *disp, lv_disp_rotation_t rotation) { lv_disp_set_rotation(disp, rotation); } diff --git a/bsp/esp32_s3_eye/idf_component.yml b/bsp/esp32_s3_eye/idf_component.yml index d622bfc6..3d769d77 100644 --- a/bsp/esp32_s3_eye/idf_component.yml +++ b/bsp/esp32_s3_eye/idf_component.yml @@ -1,4 +1,4 @@ -version: "3.0.4" +version: "3.1.0" description: Board Support Package (BSP) for ESP32-S3-EYE url: https://github.com/espressif/esp-bsp/tree/master/bsp/esp32_s3_eye @@ -6,11 +6,10 @@ targets: - esp32s3 tags: - - bsp + - bsp dependencies: idf: ">=4.4.5" - lvgl/lvgl: "^8" espressif/esp_lvgl_port: version: "^2" diff --git a/bsp/esp32_s3_eye/include/bsp/display.h b/bsp/esp32_s3_eye/include/bsp/display.h index a4ccb102..213b4720 100644 --- a/bsp/esp32_s3_eye/include/bsp/display.h +++ b/bsp/esp32_s3_eye/include/bsp/display.h @@ -70,11 +70,22 @@ typedef struct { */ esp_err_t bsp_display_new(const bsp_display_config_t *config, esp_lcd_panel_handle_t *ret_panel, esp_lcd_panel_io_handle_t *ret_io); +/** + * @brief Initialize display's brightness + * + * Brightness is controlled with PWM signal to a pin controlling backlight. + * + * @return + * - ESP_OK On success + * - ESP_ERR_INVALID_ARG Parameter error + */ +esp_err_t bsp_display_brightness_init(void); + /** * @brief Set display's brightness * * Brightness is controlled with PWM signal to a pin controlling backlight. - * Display must be already initialized by calling bsp_display_new() + * Brightness must be already initialized by calling bsp_display_brightness_init() or bsp_display_new() * * @param[in] brightness_percent Brightness in [%] * @return @@ -86,7 +97,8 @@ esp_err_t bsp_display_brightness_set(int brightness_percent); /** * @brief Turn on display backlight * - * Display must be already initialized by calling bsp_display_new() + * Brightness is controlled with PWM signal to a pin controlling backlight. + * Brightness must be already initialized by calling bsp_display_brightness_init() or bsp_display_new() * * @return * - ESP_OK On success @@ -97,7 +109,8 @@ esp_err_t bsp_display_backlight_on(void); /** * @brief Turn off display backlight * - * Display must be already initialized by calling bsp_display_new() + * Brightness is controlled with PWM signal to a pin controlling backlight. + * Brightness must be already initialized by calling bsp_display_brightness_init() or bsp_display_new() * * @return * - ESP_OK On success diff --git a/bsp/esp32_s3_eye/include/bsp/esp32_s3_eye.h b/bsp/esp32_s3_eye/include/bsp/esp32_s3_eye.h index 055710a0..ce8eea8f 100644 --- a/bsp/esp32_s3_eye/include/bsp/esp32_s3_eye.h +++ b/bsp/esp32_s3_eye/include/bsp/esp32_s3_eye.h @@ -42,6 +42,7 @@ #define BSP_CAPS_AUDIO_MIC 1 #define BSP_CAPS_SDCARD 1 #define BSP_CAPS_IMU 0 // There is an IMU, but not supported in this BSP +#define BSP_CAPS_CAMERA 1 /************************************************************************************************** * ESP32-S3-EYE pinout @@ -215,6 +216,9 @@ esp_err_t bsp_i2c_deinit(void); .sccb_i2c_port = BSP_I2C_NUM, \ } +#define BSP_CAMERA_VFLIP 1 +#define BSP_CAMERA_HMIRROR 0 + /************************************************************************************************** * * SPIFFS @@ -328,7 +332,7 @@ typedef struct { * * @return Pointer to LVGL display or NULL when error occurred */ -lv_disp_t *bsp_display_start(void); +lv_display_t *bsp_display_start(void); /** * @brief Initialize display @@ -340,7 +344,7 @@ lv_disp_t *bsp_display_start(void); * * @return Pointer to LVGL display or NULL when error occurred */ -lv_disp_t *bsp_display_start_with_config(const bsp_display_cfg_t *cfg); +lv_display_t *bsp_display_start_with_config(const bsp_display_cfg_t *cfg); /** * @brief Get pointer to input device (touch, buttons, ...) @@ -374,7 +378,7 @@ void bsp_display_unlock(void); * @param[in] disp Pointer to LVGL display * @param[in] rotation Angle of the display rotation */ -void bsp_display_rotate(lv_disp_t *disp, lv_disp_rot_t rotation); +void bsp_display_rotate(lv_display_t *disp, lv_disp_rotation_t rotation); #endif // BSP_CONFIG_NO_GRAPHIC_LIB == 0 /************************************************************************************************** diff --git a/bsp/esp32_s3_korvo_2/README.md b/bsp/esp32_s3_korvo_2/README.md index 361a8476..4e557126 100644 --- a/bsp/esp32_s3_korvo_2/README.md +++ b/bsp/esp32_s3_korvo_2/README.md @@ -11,16 +11,18 @@ The ESP32-S3-Korvo-2 is a multimedia development board based on the ESP32-S3 chi ![image](pic.png) -### Dependencies -| component | version | -|------------------------------------------------------------------------------------------------------------------|----------| -| [espressif/button](https://components.espressif.com/components/espressif/button) |>=2.5,<4.0| -| [espressif/esp32-camera](https://components.espressif.com/components/espressif/esp32-camera) | ^2.0.2 | -| [espressif/esp_codec_dev](https://components.espressif.com/components/espressif/esp_codec_dev) | ^1.0.2 | -|[espressif/esp_io_expander_tca9554](https://components.espressif.com/components/espressif/esp_io_expander_tca9554)| ^1 | -| [espressif/esp_lcd_ili9341](https://components.espressif.com/components/espressif/esp_lcd_ili9341) | ^1 | -| [espressif/esp_lcd_touch_tt21100](https://components.espressif.com/components/espressif/esp_lcd_touch_tt21100) | ^1 | -| [espressif/esp_lvgl_port](https://components.espressif.com/components/espressif/esp_lvgl_port) | ^2 | -| idf | >=4.4.5 | -| [lvgl/lvgl](https://components.espressif.com/components/lvgl/lvgl) | ^8 | +### Capabilities and dependencies +| Capability | Available | Component | Version | +|-------------|------------------|--------------------------------------------------------------------------------------------------------------|----------| +| DISPLAY |:heavy_check_mark:| [espressif/esp_lcd_ili9341](https://components.espressif.com/components/espressif/esp_lcd_ili9341) | ^1 | +| LVGL_PORT |:heavy_check_mark:| [espressif/esp_lvgl_port](https://components.espressif.com/components/espressif/esp_lvgl_port) | ^2 | +| TOUCH |:heavy_check_mark:|[espressif/esp_lcd_touch_tt21100](https://components.espressif.com/components/espressif/esp_lcd_touch_tt21100)| ^1 | +| BUTTONS |:heavy_check_mark:| [espressif/button](https://components.espressif.com/components/espressif/button) |>=2.5,<4.0| +| AUDIO |:heavy_check_mark:| [espressif/esp_codec_dev](https://components.espressif.com/components/espressif/esp_codec_dev) | ^1.0.2 | +|AUDIO_SPEAKER|:heavy_check_mark:| | | +| AUDIO_MIC |:heavy_check_mark:| | | +| LED |:heavy_check_mark:| idf | >=4.4.5 | +| SDCARD |:heavy_check_mark:| idf | >=4.4.5 | +| IMU | :x: | | | +| CAMERA |:heavy_check_mark:| [espressif/esp32-camera](https://components.espressif.com/components/espressif/esp32-camera) | ^2.0.2 | diff --git a/bsp/esp32_s3_korvo_2/esp32_s3_korvo_2.c b/bsp/esp32_s3_korvo_2/esp32_s3_korvo_2.c index 06ce6aef..fb13148e 100644 --- a/bsp/esp32_s3_korvo_2/esp32_s3_korvo_2.c +++ b/bsp/esp32_s3_korvo_2/esp32_s3_korvo_2.c @@ -355,7 +355,7 @@ esp_err_t bsp_display_new(const bsp_display_config_t *config, esp_lcd_panel_hand return ret; } -static lv_disp_t *bsp_display_lcd_init(const bsp_display_cfg_t *cfg) +static lv_display_t *bsp_display_lcd_init(const bsp_display_cfg_t *cfg) { assert(cfg != NULL); esp_lcd_panel_io_handle_t io_handle = NULL; @@ -386,6 +386,9 @@ static lv_disp_t *bsp_display_lcd_init(const bsp_display_cfg_t *cfg) .flags = { .buff_dma = cfg->flags.buff_dma, .buff_spiram = cfg->flags.buff_spiram, +#if LVGL_VERSION_MAJOR >= 9 + .swap_bytes = (BSP_LCD_BIGENDIAN ? true : false), +#endif } }; @@ -417,7 +420,7 @@ esp_err_t bsp_touch_new(const bsp_touch_config_t *config, esp_lcd_touch_handle_t return esp_lcd_touch_new_i2c_tt21100(tp_io_handle, &tp_cfg, ret_touch); } -static lv_indev_t *bsp_display_indev_init(lv_disp_t *disp) +static lv_indev_t *bsp_display_indev_init(lv_display_t *disp) { if (tp == NULL) { BSP_ERROR_CHECK_RETURN_NULL(bsp_touch_new(NULL, &tp)); @@ -433,6 +436,12 @@ static lv_indev_t *bsp_display_indev_init(lv_disp_t *disp) return lvgl_port_add_touch(&touch_cfg); } +esp_err_t bsp_display_brightness_init(void) +{ + ESP_LOGW(TAG, "This board doesn't support to change brightness of LCD"); + return ESP_ERR_NOT_SUPPORTED; +} + esp_err_t bsp_display_brightness_set(int brightness_percent) { ESP_LOGW(TAG, "This board doesn't support to change brightness of LCD"); @@ -451,7 +460,7 @@ esp_err_t bsp_display_backlight_on(void) return esp_io_expander_set_level(io_expander, BSP_LCD_IO_BACKLIGHT, 1); } -lv_disp_t *bsp_display_start(void) +lv_display_t *bsp_display_start(void) { bsp_display_cfg_t cfg = { .lvgl_port_cfg = ESP_LVGL_PORT_INIT_CONFIG(), @@ -465,9 +474,9 @@ lv_disp_t *bsp_display_start(void) return bsp_display_start_with_config(&cfg); } -lv_disp_t *bsp_display_start_with_config(const bsp_display_cfg_t *cfg) +lv_display_t *bsp_display_start_with_config(const bsp_display_cfg_t *cfg) { - lv_disp_t *disp = NULL; + lv_display_t *disp = NULL; assert(cfg != NULL); BSP_ERROR_CHECK_RETURN_NULL(lvgl_port_init(&cfg->lvgl_port_cfg)); @@ -483,7 +492,7 @@ lv_indev_t *bsp_display_get_input_dev(void) return disp_indev; } -void bsp_display_rotate(lv_disp_t *disp, lv_disp_rot_t rotation) +void bsp_display_rotate(lv_display_t *disp, lv_disp_rotation_t rotation) { lv_disp_set_rotation(disp, rotation); } diff --git a/bsp/esp32_s3_korvo_2/idf_component.yml b/bsp/esp32_s3_korvo_2/idf_component.yml index bb687c09..f1902ab9 100644 --- a/bsp/esp32_s3_korvo_2/idf_component.yml +++ b/bsp/esp32_s3_korvo_2/idf_component.yml @@ -1,4 +1,4 @@ -version: "2.1.2" +version: "2.2.0" description: Board Support Package (BSP) for ESP32-S3-Korvo-2 url: https://github.com/espressif/esp-bsp/tree/master/bsp/esp32_s3_korvo_2 @@ -6,13 +6,12 @@ targets: - esp32s3 tags: - - bsp + - bsp dependencies: idf: ">=4.4.5" esp_lcd_ili9341: "^1" esp_lcd_touch_tt21100: "^1" - lvgl/lvgl: "^8" esp_io_expander_tca9554: version: "^1" diff --git a/bsp/esp32_s3_korvo_2/include/bsp/display.h b/bsp/esp32_s3_korvo_2/include/bsp/display.h index dc0f9a29..c52e9111 100644 --- a/bsp/esp32_s3_korvo_2/include/bsp/display.h +++ b/bsp/esp32_s3_korvo_2/include/bsp/display.h @@ -70,39 +70,11 @@ typedef struct { */ esp_err_t bsp_display_new(const bsp_display_config_t *config, esp_lcd_panel_handle_t *ret_panel, esp_lcd_panel_io_handle_t *ret_io); -/** - * @brief Set display's brightness - * - * Brightness is controlled with PWM signal to a pin controlling backlight. - * Display must be already initialized by calling bsp_display_new() - * - * @param[in] brightness_percent Brightness in [%] - * @return - * - ESP_OK On success - * - ESP_ERR_INVALID_ARG Parameter error - */ +/* Backlight functions are not implemented - Board doesn't provide backlight control + These functions are here to provide consistent API with other Board Support Packages */ +esp_err_t bsp_display_brightness_init(void); esp_err_t bsp_display_brightness_set(int brightness_percent); - -/** - * @brief Turn on display backlight - * - * Display must be already initialized by calling bsp_display_new() - * - * @return - * - ESP_OK On success - * - ESP_ERR_INVALID_ARG Parameter error - */ esp_err_t bsp_display_backlight_on(void); - -/** - * @brief Turn off display backlight - * - * Display must be already initialized by calling bsp_display_new() - * - * @return - * - ESP_OK On success - * - ESP_ERR_INVALID_ARG Parameter error - */ esp_err_t bsp_display_backlight_off(void); #ifdef __cplusplus diff --git a/bsp/esp32_s3_korvo_2/include/bsp/esp32_s3_korvo_2.h b/bsp/esp32_s3_korvo_2/include/bsp/esp32_s3_korvo_2.h index ec4d1930..bb649e2a 100644 --- a/bsp/esp32_s3_korvo_2/include/bsp/esp32_s3_korvo_2.h +++ b/bsp/esp32_s3_korvo_2/include/bsp/esp32_s3_korvo_2.h @@ -23,6 +23,20 @@ #else #include "driver/i2s_std.h" #endif +/************************************************************************************************** + * BSP Capabilities + **************************************************************************************************/ + +#define BSP_CAPS_DISPLAY 1 +#define BSP_CAPS_TOUCH 1 +#define BSP_CAPS_BUTTONS 1 +#define BSP_CAPS_AUDIO 1 +#define BSP_CAPS_AUDIO_SPEAKER 1 +#define BSP_CAPS_AUDIO_MIC 1 +#define BSP_CAPS_LED 1 +#define BSP_CAPS_SDCARD 1 +#define BSP_CAPS_IMU 0 +#define BSP_CAPS_CAMERA 1 /************************************************************************************************** * Board pinout @@ -377,6 +391,9 @@ esp_io_expander_handle_t bsp_io_expander_init(void); .sccb_i2c_port = BSP_I2C_NUM, \ } +#define BSP_CAMERA_VFLIP 1 +#define BSP_CAMERA_HMIRROR 0 + /************************************************************************************************** * * uSD card @@ -443,7 +460,7 @@ esp_err_t bsp_sdcard_unmount(void); * * @return Pointer to LVGL display or NULL when error occurred */ -lv_disp_t *bsp_display_start(void); +lv_display_t *bsp_display_start(void); /** * @brief Initialize display @@ -455,7 +472,7 @@ lv_disp_t *bsp_display_start(void); * * @return Pointer to LVGL display or NULL when error occurred */ -lv_disp_t *bsp_display_start_with_config(const bsp_display_cfg_t *cfg); +lv_display_t *bsp_display_start_with_config(const bsp_display_cfg_t *cfg); /** * @brief Get pointer to input device (touch, buttons, ...) @@ -489,7 +506,7 @@ void bsp_display_unlock(void); * @param[in] disp Pointer to LVGL display * @param[in] rotation Angle of the display rotation */ -void bsp_display_rotate(lv_disp_t *disp, lv_disp_rot_t rotation); +void bsp_display_rotate(lv_display_t *disp, lv_disp_rotation_t rotation); /************************************************************************************************** * diff --git a/bsp/esp32_s3_lcd_ev_board/idf_component.yml b/bsp/esp32_s3_lcd_ev_board/idf_component.yml index 1af69647..8d842b54 100644 --- a/bsp/esp32_s3_lcd_ev_board/idf_component.yml +++ b/bsp/esp32_s3_lcd_ev_board/idf_component.yml @@ -1,4 +1,4 @@ -version: "2.2.0" +version: "2.2.1" description: Board Support Package (BSP) for ESP32-S3-LCD-EV-Board url: https://github.com/espressif/esp-bsp/tree/master/bsp/esp32_s3_lcd_ev_board diff --git a/bsp/esp32_s3_lcd_ev_board/include/bsp/display.h b/bsp/esp32_s3_lcd_ev_board/include/bsp/display.h index e70eecc3..7d7b4e5f 100644 --- a/bsp/esp32_s3_lcd_ev_board/include/bsp/display.h +++ b/bsp/esp32_s3_lcd_ev_board/include/bsp/display.h @@ -56,6 +56,14 @@ typedef struct { */ esp_err_t bsp_display_new(const bsp_display_config_t *config, esp_lcd_panel_handle_t *ret_panel, esp_lcd_panel_io_handle_t *ret_io); +/** + * @brief Initialize display's brightness (Useless, just for compatibility) + * + * @return + * - ESP_ERR_NOT_SUPPORTED: Always + */ +esp_err_t bsp_display_brightness_init(void); + /** * @brief Set display's brightness (Useless, just for compatibility) * diff --git a/bsp/esp32_s3_lcd_ev_board/src/esp32_s3_lcd_ev_board.c b/bsp/esp32_s3_lcd_ev_board/src/esp32_s3_lcd_ev_board.c index 7aa693f9..902f24e2 100644 --- a/bsp/esp32_s3_lcd_ev_board/src/esp32_s3_lcd_ev_board.c +++ b/bsp/esp32_s3_lcd_ev_board/src/esp32_s3_lcd_ev_board.c @@ -427,6 +427,12 @@ lv_indev_t *bsp_display_get_input_dev(void) return disp_indev; } +esp_err_t bsp_display_brightness_init(void) +{ + ESP_LOGW(TAG, "This board doesn't support to change brightness of LCD"); + return ESP_ERR_NOT_SUPPORTED; +} + esp_err_t bsp_display_brightness_set(int brightness_percent) { ESP_LOGW(TAG, "This board doesn't support to change brightness of LCD"); @@ -445,7 +451,7 @@ esp_err_t bsp_display_backlight_on(void) void bsp_display_rotate(lv_display_t *disp, lv_display_rotation_t rotation) { - ESP_LOGE(TAG, "Unable to rotate the display."); + lv_disp_set_rotation(disp, rotation); } bool bsp_display_lock(uint32_t timeout_ms) diff --git a/bsp/esp32_s3_usb_otg/README.md b/bsp/esp32_s3_usb_otg/README.md index 6218a900..587a447a 100644 --- a/bsp/esp32_s3_usb_otg/README.md +++ b/bsp/esp32_s3_usb_otg/README.md @@ -4,7 +4,7 @@ ### Overview -ESP32-S3-USB-OTG is a development board that focuses on USB-OTG function verification and application development. It is based on ESP32-S3 SoC, supports Wi-Fi and BLE 5.0 wireless functions, and supports USB host and USB device functions. It can be used to develop applications such as wireless storage devices, Wi-Fi network cards, LTE MiFi, multimedia devices, virtual keyboards and mice. +ESP32-S3-USB-OTG is a development board that focuses on USB-OTG function verification and application development. It is based on ESP32-S3 SoC, supports Wi-Fi and BLE 5.0 wireless functions, and supports USB host and USB device functions. It can be used to develop applications such as wireless storage devices, Wi-Fi network cards, LTE MiFi, multimedia devices, virtual keyboards and mice. * [Hardware reference](https://docs.espressif.com/projects/espressif-esp-dev-kits/en/latest/esp32s3/esp32-s3-usb-otg/user_guide.html) diff --git a/bsp/esp32_s3_usb_otg/esp32_s3_usb_otg.c b/bsp/esp32_s3_usb_otg/esp32_s3_usb_otg.c index b0482162..4d54a2ee 100644 --- a/bsp/esp32_s3_usb_otg/esp32_s3_usb_otg.c +++ b/bsp/esp32_s3_usb_otg/esp32_s3_usb_otg.c @@ -216,7 +216,7 @@ esp_err_t bsp_iot_button_create(button_handle_t btn_array[], int *btn_cnt, int b #define LCD_PARAM_BITS (8) #define LCD_LEDC_CH (CONFIG_BSP_DISPLAY_BRIGHTNESS_LEDC_CH) -static esp_err_t bsp_display_brightness_init(void) +esp_err_t bsp_display_brightness_init(void) { // Setup LEDC peripheral for PWM backlight control const ledc_channel_config_t LCD_backlight_channel = { @@ -321,7 +321,7 @@ esp_err_t bsp_display_new(const bsp_display_config_t *config, esp_lcd_panel_hand return ret; } -static lv_disp_t *bsp_display_lcd_init(const bsp_display_cfg_t *cfg) +static lv_display_t *bsp_display_lcd_init(const bsp_display_cfg_t *cfg) { assert(cfg != NULL); esp_lcd_panel_io_handle_t io_handle = NULL; @@ -352,13 +352,16 @@ static lv_disp_t *bsp_display_lcd_init(const bsp_display_cfg_t *cfg) .flags = { .buff_dma = cfg->flags.buff_dma, .buff_spiram = cfg->flags.buff_spiram, +#if LVGL_VERSION_MAJOR >= 9 + .swap_bytes = (BSP_LCD_BIGENDIAN ? true : false), +#endif } }; return lvgl_port_add_disp(&disp_cfg); } -lv_disp_t *bsp_display_start(void) +lv_display_t *bsp_display_start(void) { bsp_display_cfg_t cfg = { .lvgl_port_cfg = ESP_LVGL_PORT_INIT_CONFIG(), @@ -372,9 +375,9 @@ lv_disp_t *bsp_display_start(void) return bsp_display_start_with_config(&cfg); } -lv_disp_t *bsp_display_start_with_config(const bsp_display_cfg_t *cfg) +lv_display_t *bsp_display_start_with_config(const bsp_display_cfg_t *cfg) { - lv_disp_t *disp = NULL; + lv_display_t *disp = NULL; assert(cfg != NULL); BSP_ERROR_CHECK_RETURN_NULL(lvgl_port_init(&cfg->lvgl_port_cfg)); BSP_NULL_CHECK(disp = bsp_display_lcd_init(cfg), NULL); @@ -386,7 +389,7 @@ lv_indev_t *bsp_display_get_input_dev(void) return NULL; } -void bsp_display_rotate(lv_disp_t *disp, lv_disp_rot_t rotation) +void bsp_display_rotate(lv_display_t *disp, lv_disp_rotation_t rotation) { lv_disp_set_rotation(disp, rotation); } diff --git a/bsp/esp32_s3_usb_otg/idf_component.yml b/bsp/esp32_s3_usb_otg/idf_component.yml index 8d332ab8..356eb063 100644 --- a/bsp/esp32_s3_usb_otg/idf_component.yml +++ b/bsp/esp32_s3_usb_otg/idf_component.yml @@ -1,4 +1,4 @@ -version: "1.5.1" +version: "1.6.0" description: Board Support Package (BSP) for ESP32-S3-USB-OTG url: https://github.com/espressif/esp-bsp/tree/master/bsp/esp32_s3_usb_otg @@ -10,7 +10,6 @@ tags: dependencies: idf: ">=4.4" - lvgl/lvgl: "^8" button: version: ">=2.5,<4.0" diff --git a/bsp/esp32_s3_usb_otg/include/bsp/display.h b/bsp/esp32_s3_usb_otg/include/bsp/display.h index d6fed32b..ed2b308f 100644 --- a/bsp/esp32_s3_usb_otg/include/bsp/display.h +++ b/bsp/esp32_s3_usb_otg/include/bsp/display.h @@ -71,11 +71,22 @@ typedef struct { */ esp_err_t bsp_display_new(const bsp_display_config_t *config, esp_lcd_panel_handle_t *ret_panel, esp_lcd_panel_io_handle_t *ret_io); +/** + * @brief Initialize display's brightness + * + * Brightness is controlled with PWM signal to a pin controlling backlight. + * + * @return + * - ESP_OK On success + * - ESP_ERR_INVALID_ARG Parameter error + */ +esp_err_t bsp_display_brightness_init(void); + /** * @brief Set display's brightness * * Brightness is controlled with PWM signal to a pin controlling backlight. - * Display must be already initialized by calling bsp_display_new() + * Brightness must be already initialized by calling bsp_display_brightness_init() or bsp_display_new() * * @param[in] brightness_percent Brightness in [%] * @return @@ -87,7 +98,8 @@ esp_err_t bsp_display_brightness_set(int brightness_percent); /** * @brief Turn on display backlight * - * Display must be already initialized by calling bsp_display_new() + * Brightness is controlled with PWM signal to a pin controlling backlight. + * Brightness must be already initialized by calling bsp_display_brightness_init() or bsp_display_new() * * @return * - ESP_OK On success @@ -98,7 +110,8 @@ esp_err_t bsp_display_backlight_on(void); /** * @brief Turn off display backlight * - * Display must be already initialized by calling bsp_display_new() + * Brightness is controlled with PWM signal to a pin controlling backlight. + * Brightness must be already initialized by calling bsp_display_brightness_init() or bsp_display_new() * * @return * - ESP_OK On success diff --git a/bsp/esp32_s3_usb_otg/include/bsp/esp32_s3_usb_otg.h b/bsp/esp32_s3_usb_otg/include/bsp/esp32_s3_usb_otg.h index 55b8d5ea..6dd4de39 100644 --- a/bsp/esp32_s3_usb_otg/include/bsp/esp32_s3_usb_otg.h +++ b/bsp/esp32_s3_usb_otg/include/bsp/esp32_s3_usb_otg.h @@ -213,7 +213,7 @@ esp_err_t bsp_spiffs_unmount(void); * * @return Pointer to LVGL display or NULL when error occurred */ -lv_disp_t *bsp_display_start(void); +lv_display_t *bsp_display_start(void); /** * @brief Initialize display @@ -225,7 +225,7 @@ lv_disp_t *bsp_display_start(void); * * @return Pointer to LVGL display or NULL when error occurred */ -lv_disp_t *bsp_display_start_with_config(const bsp_display_cfg_t *cfg); +lv_display_t *bsp_display_start_with_config(const bsp_display_cfg_t *cfg); /** * @brief Get pointer to input device (touch, buttons, ...) @@ -259,7 +259,7 @@ void bsp_display_unlock(void); * @param[in] disp Pointer to LVGL display * @param[in] rotation Angle of the display rotation */ -void bsp_display_rotate(lv_disp_t *disp, lv_disp_rot_t rotation); +void bsp_display_rotate(lv_display_t *disp, lv_disp_rotation_t rotation); /************************************************************************************************** diff --git a/bsp/esp_bsp_generic/idf_component.yml b/bsp/esp_bsp_generic/idf_component.yml index 18866b34..205ee271 100644 --- a/bsp/esp_bsp_generic/idf_component.yml +++ b/bsp/esp_bsp_generic/idf_component.yml @@ -1,5 +1,5 @@ -version: "1.1.2" +version: "1.2.0" description: Generic Board Support Package (BSP) url: https://github.com/espressif/esp-bsp/tree/master/bsp/esp_bsp_generic @@ -15,7 +15,6 @@ dependencies: esp_lcd_touch_ft5x06: "^1" esp_lcd_ili9341: "^1" esp_lcd_gc9a01: "^1" - lvgl/lvgl: "^8" button: version: ">=2.5,<4.0" diff --git a/bsp/esp_bsp_generic/include/bsp/display.h b/bsp/esp_bsp_generic/include/bsp/display.h index 79890d22..8fdf13c3 100644 --- a/bsp/esp_bsp_generic/include/bsp/display.h +++ b/bsp/esp_bsp_generic/include/bsp/display.h @@ -75,11 +75,22 @@ typedef struct { */ esp_err_t bsp_display_new(const bsp_display_config_t *config, esp_lcd_panel_handle_t *ret_panel, esp_lcd_panel_io_handle_t *ret_io); +/** + * @brief Initialize display's brightness + * + * Brightness is controlled with PWM signal to a pin controlling backlight. + * + * @return + * - ESP_OK On success + * - ESP_ERR_INVALID_ARG Parameter error + */ +esp_err_t bsp_display_brightness_init(void); + /** * @brief Set display's brightness * * Brightness is controlled with PWM signal to a pin controlling backlight. - * Display must be already initialized by calling bsp_display_new() + * Brightness must be already initialized by calling bsp_display_brightness_init() or bsp_display_new() * * @param[in] brightness_percent Brightness in [%] * @return @@ -91,7 +102,8 @@ esp_err_t bsp_display_brightness_set(int brightness_percent); /** * @brief Turn on display backlight * - * Display must be already initialized by calling bsp_display_new() + * Brightness is controlled with PWM signal to a pin controlling backlight. + * Brightness must be already initialized by calling bsp_display_brightness_init() or bsp_display_new() * * @return * - ESP_OK On success @@ -102,7 +114,8 @@ esp_err_t bsp_display_backlight_on(void); /** * @brief Turn off display backlight * - * Display must be already initialized by calling bsp_display_new() + * Brightness is controlled with PWM signal to a pin controlling backlight. + * Brightness must be already initialized by calling bsp_display_brightness_init() or bsp_display_new() * * @return * - ESP_OK On success diff --git a/bsp/esp_bsp_generic/include/bsp/esp_bsp_generic.h b/bsp/esp_bsp_generic/include/bsp/esp_bsp_generic.h index 8a7e9eb7..dfd162a1 100644 --- a/bsp/esp_bsp_generic/include/bsp/esp_bsp_generic.h +++ b/bsp/esp_bsp_generic/include/bsp/esp_bsp_generic.h @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: 2023 Espressif Systems (Shanghai) CO LTD + * SPDX-FileCopyrightText: 2023-2024 Espressif Systems (Shanghai) CO LTD * * SPDX-License-Identifier: Apache-2.0 */ @@ -279,7 +279,7 @@ esp_err_t bsp_sdcard_unmount(void); * * @return Pointer to LVGL display or NULL when error occurred */ -lv_disp_t *bsp_display_start(void); +lv_display_t *bsp_display_start(void); /** * @brief Initialize display @@ -291,7 +291,7 @@ lv_disp_t *bsp_display_start(void); * * @return Pointer to LVGL display or NULL when error occurred */ -lv_disp_t *bsp_display_start_with_config(const bsp_display_cfg_t *cfg); +lv_display_t *bsp_display_start_with_config(const bsp_display_cfg_t *cfg); /** * @brief Get pointer to input device (touch, buttons, ...) @@ -325,7 +325,7 @@ void bsp_display_unlock(void); * @param[in] disp Pointer to LVGL display * @param[in] rotation Angle of the display rotation */ -void bsp_display_rotate(lv_disp_t *disp, lv_disp_rot_t rotation); +void bsp_display_rotate(lv_display_t *disp, lv_disp_rotation_t rotation); #endif //CONFIG_BSP_DISPLAY_ENABLED /************************************************************************************************** * diff --git a/bsp/esp_bsp_generic/src/esp_bsp_generic.c b/bsp/esp_bsp_generic/src/esp_bsp_generic.c index d9023636..e4b4858c 100644 --- a/bsp/esp_bsp_generic/src/esp_bsp_generic.c +++ b/bsp/esp_bsp_generic/src/esp_bsp_generic.c @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: 2023 Espressif Systems (Shanghai) CO LTD + * SPDX-FileCopyrightText: 2023-2024 Espressif Systems (Shanghai) CO LTD * * SPDX-License-Identifier: Apache-2.0 */ @@ -47,7 +47,7 @@ static const char *TAG = "BSP-Gen"; #if CONFIG_BSP_DISPLAY_ENABLED -static lv_disp_t *disp; +static lv_display_t *disp; static lv_indev_t *disp_indev = NULL; #endif @@ -420,7 +420,7 @@ esp_err_t bsp_sdcard_unmount(void) #define LCD_CMD_BITS CONFIG_BSP_DISPLAY_CMD_BITS #define LCD_PARAM_BITS CONFIG_BSP_DISPLAY_PARAM_BITS -static esp_err_t bsp_display_brightness_init(void) +esp_err_t bsp_display_brightness_init(void) { #if CONFIG_BSP_DISPLAY_BRIGHTNESS_LEDC_CH // Setup LEDC peripheral for PWM backlight control @@ -561,7 +561,7 @@ esp_err_t bsp_display_new(const bsp_display_config_t *config, esp_lcd_panel_hand return ret; } -static lv_disp_t *bsp_display_lcd_init(void) +static lv_display_t *bsp_display_lcd_init(void) { esp_lcd_panel_io_handle_t io_handle = NULL; esp_lcd_panel_handle_t panel_handle = NULL; @@ -600,6 +600,9 @@ static lv_disp_t *bsp_display_lcd_init(void) }, .flags = { .buff_dma = true, +#if LVGL_VERSION_MAJOR >= 9 + .swap_bytes = (BSP_LCD_BIGENDIAN ? true : false), +#endif } }; @@ -663,7 +666,7 @@ esp_err_t bsp_touch_new(const bsp_touch_config_t *config, esp_lcd_touch_handle_t #endif } -static lv_indev_t *bsp_display_indev_init(lv_disp_t *disp) +static lv_indev_t *bsp_display_indev_init(lv_display_t *disp) { BSP_ERROR_CHECK_RETURN_NULL(bsp_touch_new(NULL, &tp)); assert(tp); @@ -678,7 +681,7 @@ static lv_indev_t *bsp_display_indev_init(lv_disp_t *disp) } #endif //CONFIG_BSP_TOUCH_ENABLED -lv_disp_t *bsp_display_start(void) +lv_display_t *bsp_display_start(void) { bsp_display_cfg_t cfg = { .lvgl_port_cfg = ESP_LVGL_PORT_INIT_CONFIG() @@ -686,7 +689,7 @@ lv_disp_t *bsp_display_start(void) return bsp_display_start_with_config(&cfg); } -lv_disp_t *bsp_display_start_with_config(const bsp_display_cfg_t *cfg) +lv_display_t *bsp_display_start_with_config(const bsp_display_cfg_t *cfg) { assert(cfg != NULL); BSP_ERROR_CHECK_RETURN_NULL(lvgl_port_init(&cfg->lvgl_port_cfg)); @@ -706,7 +709,7 @@ lv_indev_t *bsp_display_get_input_dev(void) return disp_indev; } -void bsp_display_rotate(lv_disp_t *disp, lv_disp_rot_t rotation) +void bsp_display_rotate(lv_display_t *disp, lv_disp_rotation_t rotation) { lv_disp_set_rotation(disp, rotation); } diff --git a/bsp/esp_wrover_kit/README.md b/bsp/esp_wrover_kit/README.md index 077e77c5..771fd433 100644 --- a/bsp/esp_wrover_kit/README.md +++ b/bsp/esp_wrover_kit/README.md @@ -21,11 +21,17 @@ Its another distinguishing feature is the embedded FTDI FT2232HL chip - an advan Most of the ESP32 I/O pins are broken out to the board’s pin headers for easy access. -### Dependencies -| component | version | -|----------------------------------------------------------------------------------------------|----------| -| [espressif/button](https://components.espressif.com/components/espressif/button) |>=2.5,<4.0| -|[espressif/esp_lvgl_port](https://components.espressif.com/components/espressif/esp_lvgl_port)| ^2 | -| idf | >=4.4.5 | -| [lvgl/lvgl](https://components.espressif.com/components/lvgl/lvgl) | ^8 | +### Capabilities and dependencies +| Capability | Available | Component | Version | +|-------------|------------------|----------------------------------------------------------------------------------------------|----------| +| DISPLAY |:heavy_check_mark:| idf | >=4.4.5 | +| LVGL_PORT |:heavy_check_mark:|[espressif/esp_lvgl_port](https://components.espressif.com/components/espressif/esp_lvgl_port)| ^2 | +| TOUCH | :x: | | | +| BUTTONS |:heavy_check_mark:| [espressif/button](https://components.espressif.com/components/espressif/button) |>=2.5,<4.0| +| AUDIO | :x: | | | +|AUDIO_SPEAKER| :x: | | | +| AUDIO_MIC | :x: | | | +| LED |:heavy_check_mark:| idf | >=4.4.5 | +| SDCARD |:heavy_check_mark:| idf | >=4.4.5 | +| IMU | :x: | | | diff --git a/bsp/esp_wrover_kit/esp_wrover_kit.c b/bsp/esp_wrover_kit/esp_wrover_kit.c index d3b9affb..db2f0362 100644 --- a/bsp/esp_wrover_kit/esp_wrover_kit.c +++ b/bsp/esp_wrover_kit/esp_wrover_kit.c @@ -155,7 +155,7 @@ esp_err_t bsp_iot_button_create(button_handle_t btn_array[], int *btn_cnt, int b #define LCD_PARAM_BITS (8) #define LCD_LEDC_CH (CONFIG_BSP_DISPLAY_BRIGHTNESS_LEDC_CH) -static esp_err_t bsp_display_brightness_init(void) +esp_err_t bsp_display_brightness_init(void) { // Setup LEDC peripheral for PWM backlight control const ledc_channel_config_t LCD_backlight_channel = { @@ -264,7 +264,7 @@ esp_err_t bsp_display_new(const bsp_display_config_t *config, esp_lcd_panel_hand return ret; } -static lv_disp_t *bsp_display_lcd_init(const bsp_display_cfg_t *cfg) +static lv_display_t *bsp_display_lcd_init(const bsp_display_cfg_t *cfg) { assert(cfg != NULL); esp_lcd_panel_io_handle_t io_handle = NULL; @@ -303,13 +303,16 @@ static lv_disp_t *bsp_display_lcd_init(const bsp_display_cfg_t *cfg) .flags = { .buff_dma = cfg->flags.buff_dma, .buff_spiram = cfg->flags.buff_spiram, +#if LVGL_VERSION_MAJOR >= 9 + .swap_bytes = (BSP_LCD_BIGENDIAN ? true : false), +#endif } }; return lvgl_port_add_disp(&disp_cfg); } -lv_disp_t *bsp_display_start(void) +lv_display_t *bsp_display_start(void) { bsp_display_cfg_t cfg = { .lvgl_port_cfg = ESP_LVGL_PORT_INIT_CONFIG(), @@ -323,9 +326,9 @@ lv_disp_t *bsp_display_start(void) return bsp_display_start_with_config(&cfg); } -lv_disp_t *bsp_display_start_with_config(const bsp_display_cfg_t *cfg) +lv_display_t *bsp_display_start_with_config(const bsp_display_cfg_t *cfg) { - lv_disp_t *disp = NULL; + lv_display_t *disp = NULL; assert(cfg != NULL); BSP_ERROR_CHECK_RETURN_NULL(lvgl_port_init(&cfg->lvgl_port_cfg)); BSP_NULL_CHECK(disp = bsp_display_lcd_init(cfg), NULL); @@ -337,7 +340,7 @@ lv_indev_t *bsp_display_get_input_dev(void) return NULL; } -void bsp_display_rotate(lv_disp_t *disp, lv_disp_rot_t rotation) +void bsp_display_rotate(lv_display_t *disp, lv_disp_rotation_t rotation) { lv_disp_set_rotation(disp, rotation); } diff --git a/bsp/esp_wrover_kit/idf_component.yml b/bsp/esp_wrover_kit/idf_component.yml index aa3f3ab4..570ac159 100644 --- a/bsp/esp_wrover_kit/idf_component.yml +++ b/bsp/esp_wrover_kit/idf_component.yml @@ -1,4 +1,4 @@ -version: "1.5.1" +version: "1.6.0" description: Board Support Package (BSP) for ESP-WROVER-KIT url: https://github.com/espressif/esp-bsp/tree/master/bsp/esp_wrover_kit @@ -10,7 +10,6 @@ tags: dependencies: idf: ">=4.4.5" - lvgl/lvgl: "^8" espressif/esp_lvgl_port: version: "^2" diff --git a/bsp/esp_wrover_kit/include/bsp/display.h b/bsp/esp_wrover_kit/include/bsp/display.h index 93ff6752..7e182fe6 100644 --- a/bsp/esp_wrover_kit/include/bsp/display.h +++ b/bsp/esp_wrover_kit/include/bsp/display.h @@ -75,11 +75,22 @@ typedef struct { */ esp_err_t bsp_display_new(const bsp_display_config_t *config, esp_lcd_panel_handle_t *ret_panel, esp_lcd_panel_io_handle_t *ret_io); +/** + * @brief Initialize display's brightness + * + * Brightness is controlled with PWM signal to a pin controlling backlight. + * + * @return + * - ESP_OK On success + * - ESP_ERR_INVALID_ARG Parameter error + */ +esp_err_t bsp_display_brightness_init(void); + /** * @brief Set display's brightness * * Brightness is controlled with PWM signal to a pin controlling backlight. - * Display must be already initialized by calling bsp_display_new() + * Brightness must be already initialized by calling bsp_display_brightness_init() or bsp_display_new() * * @param[in] brightness_percent Brightness in [%] * @return @@ -91,7 +102,8 @@ esp_err_t bsp_display_brightness_set(int brightness_percent); /** * @brief Turn on display backlight * - * Display must be already initialized by calling bsp_display_new() + * Brightness is controlled with PWM signal to a pin controlling backlight. + * Brightness must be already initialized by calling bsp_display_brightness_init() or bsp_display_new() * * @return * - ESP_OK On success @@ -102,7 +114,8 @@ esp_err_t bsp_display_backlight_on(void); /** * @brief Turn off display backlight * - * Display must be already initialized by calling bsp_display_new() + * Brightness is controlled with PWM signal to a pin controlling backlight. + * Brightness must be already initialized by calling bsp_display_brightness_init() or bsp_display_new() * * @return * - ESP_OK On success diff --git a/bsp/esp_wrover_kit/include/bsp/esp_wrover_kit.h b/bsp/esp_wrover_kit/include/bsp/esp_wrover_kit.h index c737c73e..31ac2b52 100644 --- a/bsp/esp_wrover_kit/include/bsp/esp_wrover_kit.h +++ b/bsp/esp_wrover_kit/include/bsp/esp_wrover_kit.h @@ -18,6 +18,19 @@ #include "iot_button.h" #include "esp_lvgl_port.h" #include "bsp/display.h" +/************************************************************************************************** + * BSP Capabilities + **************************************************************************************************/ + +#define BSP_CAPS_DISPLAY 1 +#define BSP_CAPS_TOUCH 0 +#define BSP_CAPS_BUTTONS 1 +#define BSP_CAPS_AUDIO 0 +#define BSP_CAPS_AUDIO_SPEAKER 0 +#define BSP_CAPS_AUDIO_MIC 0 +#define BSP_CAPS_LED 1 +#define BSP_CAPS_SDCARD 1 +#define BSP_CAPS_IMU 0 /************************************************************************************************** * ESP-WROVER-KIT pinout @@ -254,7 +267,7 @@ esp_err_t bsp_iot_button_create(button_handle_t btn_array[], int *btn_cnt, int b * * @return Pointer to LVGL display or NULL when error occurred */ -lv_disp_t *bsp_display_start(void); +lv_display_t *bsp_display_start(void); /** * @brief Initialize display @@ -266,7 +279,7 @@ lv_disp_t *bsp_display_start(void); * * @return Pointer to LVGL display or NULL when error occurred */ -lv_disp_t *bsp_display_start_with_config(const bsp_display_cfg_t *cfg); +lv_display_t *bsp_display_start_with_config(const bsp_display_cfg_t *cfg); /** * @brief Get pointer to input device (touch, buttons, ...) @@ -300,7 +313,7 @@ void bsp_display_unlock(void); * @param[in] disp Pointer to LVGL display * @param[in] rotation Angle of the display rotation */ -void bsp_display_rotate(lv_disp_t *disp, lv_disp_rot_t rotation); +void bsp_display_rotate(lv_display_t *disp, lv_disp_rotation_t rotation); #ifdef __cplusplus } diff --git a/bsp/m5stack_core_s3/README.md b/bsp/m5stack_core_s3/README.md index a99e9fa4..2b0a2b39 100644 --- a/bsp/m5stack_core_s3/README.md +++ b/bsp/m5stack_core_s3/README.md @@ -1,6 +1,6 @@ # BSP: M5Stack CoreS3 -> [!WARNING] +> [!WARNING] > The SD card is not working simultaneously with the LCD screen. We are working on a fix. [![Component Registry](https://components.espressif.com/components/espressif/m5stack_core_s3/badge.svg)](https://components.espressif.com/components/espressif/m5stack_core_s3) @@ -15,26 +15,13 @@ CoreS3 offers convenient programming options through its TYPE-C interface, suppo Sound output on CoreS3 is optimized with the high-fidelity 16-bit I2S power amplifier chip AW88298, accompanied by a built-in 1W speaker for clear audio playback. For sound input, the kit incorporates the ES7210 audio decoding chip and dual-microphone input. The side of the device includes an independent power button and restart (RST) button, complemented by a self-built delay circuit. By long-pressing the reset button, users can easily enter the program download mode. The CoreS3 kit comes with the DinBase Base, providing convenient options for Din rail, wall, and screw fixing. It can be powered by an external DC 12V (supports 9~24V) or an internal 500mAh lithium battery. The DinBase also offers multiple proto locations for users to customize and expand their projects. CoreS3 is an ideal choice for IoT development, various DIY project development, smart home control systems, and industrial automation control systems. + ### Capabilities and dependencies | Capability | Available | Component |Version| |-------------|------------------|------------------------------------------------------------------------------------------------------------|-------| | DISPLAY |:heavy_check_mark:| [espressif/esp_lcd_ili9341](https://components.espressif.com/components/espressif/esp_lcd_ili9341) | ^1 | -| LVGL_PORT |:heavy_check_mark:| [espressif/esp_lvgl_port](https://components.espressif.com/components/espressif/esp_lvgl_port) | ^1.3 | -| TOUCH |:heavy_check_mark:|[espressif/esp_lcd_touch_ft5x06](https://components.espressif.com/components/espressif/esp_lcd_touch_ft5x06)| ^1 | -| BUTTONS | :x: | | | -| AUDIO |:heavy_check_mark:| [espressif/esp_codec_dev](https://components.espressif.com/components/espressif/esp_codec_dev) | ^1.1 | -|AUDIO_SPEAKER|:heavy_check_mark:| | | -| AUDIO_MIC |:heavy_check_mark:| | | -| SDCARD |:heavy_check_mark:| idf | >=5.0 | -| IMU | :x: | | | - - -### Capabilities and dependencies -| Capability | Available | Component |Version| -|-------------|------------------|------------------------------------------------------------------------------------------------------------|-------| -| DISPLAY |:heavy_check_mark:| [espressif/esp_lcd_ili9341](https://components.espressif.com/components/espressif/esp_lcd_ili9341) | ^1 | -| LVGL_PORT |:heavy_check_mark:| [espressif/esp_lvgl_port](https://components.espressif.com/components/espressif/esp_lvgl_port) | ^1.3 | +| LVGL_PORT |:heavy_check_mark:| [espressif/esp_lvgl_port](https://components.espressif.com/components/espressif/esp_lvgl_port) | ^2 | | TOUCH |:heavy_check_mark:|[espressif/esp_lcd_touch_ft5x06](https://components.espressif.com/components/espressif/esp_lcd_touch_ft5x06)| ^1 | | BUTTONS | :x: | | | | AUDIO |:heavy_check_mark:| [espressif/esp_codec_dev](https://components.espressif.com/components/espressif/esp_codec_dev) | ^1.1 | @@ -42,4 +29,5 @@ Sound output on CoreS3 is optimized with the high-fidelity 16-bit I2S power ampl | AUDIO_MIC |:heavy_check_mark:| | | | SDCARD |:heavy_check_mark:| idf | >=5.0 | | IMU | :x: | | | +| CAMERA |:heavy_check_mark:| [espressif/esp32-camera](https://components.espressif.com/components/espressif/esp32-camera) | ^2.0.2| diff --git a/bsp/m5stack_core_s3/idf_component.yml b/bsp/m5stack_core_s3/idf_component.yml index e61b9d2d..dfd072b7 100644 --- a/bsp/m5stack_core_s3/idf_component.yml +++ b/bsp/m5stack_core_s3/idf_component.yml @@ -1,4 +1,4 @@ -version: "1.0.1" +version: "1.1.0" description: Board Support Package (BSP) for M5Stack CoreS3 url: https://github.com/espressif/esp-bsp/tree/master/bsp/m5stack_core_s3 @@ -14,7 +14,7 @@ dependencies: esp_lcd_touch_ft5x06: "^1" espressif/esp_lvgl_port: - version: "^1.3" + version: "^2" public: true esp_codec_dev: diff --git a/bsp/m5stack_core_s3/include/bsp/display.h b/bsp/m5stack_core_s3/include/bsp/display.h index 429e581e..1963bbd6 100644 --- a/bsp/m5stack_core_s3/include/bsp/display.h +++ b/bsp/m5stack_core_s3/include/bsp/display.h @@ -70,10 +70,22 @@ typedef struct { */ esp_err_t bsp_display_new(const bsp_display_config_t *config, esp_lcd_panel_handle_t *ret_panel, esp_lcd_panel_io_handle_t *ret_io); +/** + * @brief Initialize display's brightness + * + * Brightness is controlled with AXP2101 via I2C. + * + * @return + * - ESP_OK On success + * - ESP_ERR_INVALID_ARG Parameter error + */ +esp_err_t bsp_display_brightness_init(void); + /** * @brief Set display's brightness * - * Brightness is controlled with PWM signal to a pin controling backlight. + * Brightness is controlled with AXP2101 via I2C. + * Backlight must be already initialized by calling bsp_display_brightness_init() or bsp_display_start() * * @param[in] brightness_percent Brightness in [%] * @return @@ -85,7 +97,7 @@ esp_err_t bsp_display_brightness_set(int brightness_percent); /** * @brief Turn on display backlight * - * Display must be already initialized by calling bsp_display_start() + * Backlight must be already initialized by calling bsp_display_brightness_init() or bsp_display_start() * * @return * - ESP_OK On success @@ -96,7 +108,7 @@ esp_err_t bsp_display_backlight_on(void); /** * @brief Turn off display backlight * - * Display must be already initialized by calling bsp_display_start() + * Backlight must be already initialized by calling bsp_display_brightness_init() or bsp_display_start() * * @return * - ESP_OK On success diff --git a/bsp/m5stack_core_s3/include/bsp/m5stack_core_s3.h b/bsp/m5stack_core_s3/include/bsp/m5stack_core_s3.h index dfddfbad..424aae56 100644 --- a/bsp/m5stack_core_s3/include/bsp/m5stack_core_s3.h +++ b/bsp/m5stack_core_s3/include/bsp/m5stack_core_s3.h @@ -43,6 +43,7 @@ #define BSP_CAPS_AUDIO_MIC 1 #define BSP_CAPS_SDCARD 1 #define BSP_CAPS_IMU 0 +#define BSP_CAPS_CAMERA 1 /************************************************************************************************** * M5Stack-Core-S3 pinout @@ -245,6 +246,9 @@ esp_err_t bsp_i2c_deinit(void); .sccb_i2c_port = BSP_I2C_NUM, \ } +#define BSP_CAMERA_VFLIP 0 +#define BSP_CAMERA_HMIRROR 0 + /************************************************************************************************** * * SPIFFS @@ -365,7 +369,7 @@ typedef struct { * * @return Pointer to LVGL display or NULL when error occured */ -lv_disp_t *bsp_display_start(void); +lv_display_t *bsp_display_start(void); /** * @brief Initialize display @@ -377,7 +381,7 @@ lv_disp_t *bsp_display_start(void); * * @return Pointer to LVGL display or NULL when error occured */ -lv_disp_t *bsp_display_start_with_config(const bsp_display_cfg_t *cfg); +lv_display_t *bsp_display_start_with_config(const bsp_display_cfg_t *cfg); /** * @brief Get pointer to input device (touch, buttons, ...) @@ -411,7 +415,7 @@ void bsp_display_unlock(void); * @param[in] disp Pointer to LVGL display * @param[in] rotation Angle of the display rotation */ -void bsp_display_rotate(lv_disp_t *disp, lv_disp_rot_t rotation); +void bsp_display_rotate(lv_display_t *disp, lv_display_rotation_t rotation); #endif // BSP_CONFIG_NO_GRAPHIC_LIB == 0 #ifdef __cplusplus diff --git a/bsp/m5stack_core_s3/m5stack_core_s3.c b/bsp/m5stack_core_s3/m5stack_core_s3.c index 9903688f..eb4e7438 100644 --- a/bsp/m5stack_core_s3/m5stack_core_s3.c +++ b/bsp/m5stack_core_s3/m5stack_core_s3.c @@ -23,7 +23,6 @@ #include "bsp/touch.h" #include "esp_lcd_ili9341.h" #include "esp_lcd_touch_ft5x06.h" -#include "esp_lvgl_port.h" #include "bsp_err_check.h" #include "esp_codec_dev_defaults.h" @@ -41,7 +40,7 @@ typedef enum { BSP_FEATURE_CAMERA, } bsp_feature_t; -static lv_disp_t *disp; +static lv_display_t *disp; static lv_indev_t *disp_indev = NULL; static esp_lcd_touch_handle_t tp; // LCD touch handle sdmmc_card_t *bsp_sdcard = NULL; // Global SD card handler @@ -305,7 +304,7 @@ esp_codec_dev_handle_t bsp_audio_codec_microphone_init(void) #define LCD_PARAM_BITS 8 #define LCD_LEDC_CH CONFIG_BSP_DISPLAY_BRIGHTNESS_LEDC_CH -static esp_err_t bsp_display_brightness_init(void) +esp_err_t bsp_display_brightness_init(void) { /* Initilize I2C */ BSP_ERROR_CHECK_RETURN_ERR(bsp_i2c_init()); @@ -419,7 +418,7 @@ esp_err_t bsp_touch_new(const bsp_touch_config_t *config, esp_lcd_touch_handle_t } #if (BSP_CONFIG_NO_GRAPHIC_LIB == 0) -static lv_disp_t *bsp_display_lcd_init(const bsp_display_cfg_t *cfg) +static lv_display_t *bsp_display_lcd_init(const bsp_display_cfg_t *cfg) { assert(cfg != NULL); esp_lcd_panel_io_handle_t io_handle = NULL; @@ -450,13 +449,16 @@ static lv_disp_t *bsp_display_lcd_init(const bsp_display_cfg_t *cfg) .flags = { .buff_dma = cfg->flags.buff_dma, .buff_spiram = cfg->flags.buff_spiram, +#if LVGL_VERSION_MAJOR >= 9 + .swap_bytes = (BSP_LCD_BIGENDIAN ? true : false), +#endif } }; return lvgl_port_add_disp(&disp_cfg); } -static lv_indev_t *bsp_display_indev_init(lv_disp_t *disp) +static lv_indev_t *bsp_display_indev_init(lv_display_t *disp) { BSP_ERROR_CHECK_RETURN_NULL(bsp_touch_new(NULL, &tp)); assert(tp); @@ -470,7 +472,7 @@ static lv_indev_t *bsp_display_indev_init(lv_disp_t *disp) return lvgl_port_add_touch(&touch_cfg); } -lv_disp_t *bsp_display_start(void) +lv_display_t *bsp_display_start(void) { bsp_display_cfg_t cfg = { .lvgl_port_cfg = ESP_LVGL_PORT_INIT_CONFIG(), @@ -481,10 +483,11 @@ lv_disp_t *bsp_display_start(void) .buff_spiram = false, } }; + cfg.lvgl_port_cfg.task_affinity = 1; /* For camera */ return bsp_display_start_with_config(&cfg); } -lv_disp_t *bsp_display_start_with_config(const bsp_display_cfg_t *cfg) +lv_display_t *bsp_display_start_with_config(const bsp_display_cfg_t *cfg) { assert(cfg != NULL); BSP_ERROR_CHECK_RETURN_NULL(lvgl_port_init(&cfg->lvgl_port_cfg)); @@ -503,7 +506,7 @@ lv_indev_t *bsp_display_get_input_dev(void) return disp_indev; } -void bsp_display_rotate(lv_disp_t *disp, lv_disp_rot_t rotation) +void bsp_display_rotate(lv_display_t *disp, lv_display_rotation_t rotation) { lv_disp_set_rotation(disp, rotation); } diff --git a/examples/audio/sdkconfig.bsp.esp32_lyrat b/examples/audio/sdkconfig.bsp.esp32_lyrat index fa7d5cf2..3a92fe3b 100644 --- a/examples/audio/sdkconfig.bsp.esp32_lyrat +++ b/examples/audio/sdkconfig.bsp.esp32_lyrat @@ -9,9 +9,6 @@ CONFIG_SPIRAM_SPEED_80M=y CONFIG_SPIRAM_USE_MEMMAP=y CONFIG_SPIRAM_MODE_OCT=y CONFIG_SPIFFS_PAGE_SIZE=1024 -CONFIG_LV_COLOR_16_SWAP=y -CONFIG_LV_MEM_CUSTOM=y -CONFIG_LV_MEMCPY_MEMSET_STD=y CONFIG_LV_USE_PERF_MONITOR=y CONFIG_LV_SPRINTF_CUSTOM=y # CONFIG_LV_BUILD_EXAMPLES is not set diff --git a/examples/audio/sdkconfig.bsp.esp32_s2_kaluga_kit b/examples/audio/sdkconfig.bsp.esp32_s2_kaluga_kit index a5f89a4d..06572aa8 100644 --- a/examples/audio/sdkconfig.bsp.esp32_s2_kaluga_kit +++ b/examples/audio/sdkconfig.bsp.esp32_s2_kaluga_kit @@ -4,9 +4,6 @@ CONFIG_IDF_TARGET="esp32s2" CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y CONFIG_PARTITION_TABLE_CUSTOM=y -CONFIG_LV_COLOR_16_SWAP=y -CONFIG_LV_MEM_CUSTOM=y -CONFIG_LV_MEMCPY_MEMSET_STD=y CONFIG_LV_USE_PERF_MONITOR=y CONFIG_LV_SPRINTF_CUSTOM=y # CONFIG_LV_BUILD_EXAMPLES is not set diff --git a/examples/audio/sdkconfig.bsp.esp32_s3_korvo_2 b/examples/audio/sdkconfig.bsp.esp32_s3_korvo_2 index 85b0074d..a01b1219 100644 --- a/examples/audio/sdkconfig.bsp.esp32_s3_korvo_2 +++ b/examples/audio/sdkconfig.bsp.esp32_s3_korvo_2 @@ -9,9 +9,6 @@ CONFIG_SPIRAM_SPEED_80M=y CONFIG_SPIRAM_USE_MEMMAP=y CONFIG_SPIRAM_MODE_OCT=y CONFIG_SPIFFS_PAGE_SIZE=1024 -CONFIG_LV_COLOR_16_SWAP=y -CONFIG_LV_MEM_CUSTOM=y -CONFIG_LV_MEMCPY_MEMSET_STD=y CONFIG_LV_USE_PERF_MONITOR=y CONFIG_LV_SPRINTF_CUSTOM=y # CONFIG_LV_BUILD_EXAMPLES is not set diff --git a/examples/audio/sdkconfig.defaults b/examples/audio/sdkconfig.defaults index 85b0074d..a01b1219 100644 --- a/examples/audio/sdkconfig.defaults +++ b/examples/audio/sdkconfig.defaults @@ -9,9 +9,6 @@ CONFIG_SPIRAM_SPEED_80M=y CONFIG_SPIRAM_USE_MEMMAP=y CONFIG_SPIRAM_MODE_OCT=y CONFIG_SPIFFS_PAGE_SIZE=1024 -CONFIG_LV_COLOR_16_SWAP=y -CONFIG_LV_MEM_CUSTOM=y -CONFIG_LV_MEMCPY_MEMSET_STD=y CONFIG_LV_USE_PERF_MONITOR=y CONFIG_LV_SPRINTF_CUSTOM=y # CONFIG_LV_BUILD_EXAMPLES is not set diff --git a/examples/display/main/CMakeLists.txt b/examples/display/main/CMakeLists.txt index e3cb23fa..838a18b1 100644 --- a/examples/display/main/CMakeLists.txt +++ b/examples/display/main/CMakeLists.txt @@ -1,12 +1,6 @@ idf_component_register(SRCS "display_main.c" "lvgl_demo_ui.c" INCLUDE_DIRS ".") -if(COMMAND lvgl_port_create_c_image) - lvgl_port_create_c_image("images/esp_logo.png" "images/" "ARGB8888" "NONE") - lvgl_port_create_c_image("images/esp_text.png" "images/" "ARGB8888" "NONE") - lvgl_port_add_images(${COMPONENT_LIB} "images/") -else() - file(GLOB_RECURSE IMAGE_SOURCES images/*.c) - target_sources(${COMPONENT_LIB} PRIVATE ${IMAGE_SOURCES}) - idf_build_set_property(COMPILE_OPTIONS "-DLV_LVGL_H_INCLUDE_SIMPLE=1" APPEND) -endif() +lvgl_port_create_c_image("images/esp_logo.png" "images/gen/" "ARGB8888" "NONE") +lvgl_port_create_c_image("images/esp_text.png" "images/gen/" "ARGB8888" "NONE") +lvgl_port_add_images(${COMPONENT_LIB} "images/gen/") diff --git a/examples/display/sdkconfig.bsp.esp-box b/examples/display/sdkconfig.bsp.esp-box index c48c9fae..3ff98e29 100644 --- a/examples/display/sdkconfig.bsp.esp-box +++ b/examples/display/sdkconfig.bsp.esp-box @@ -4,9 +4,24 @@ CONFIG_IDF_TARGET="esp32s3" CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y CONFIG_ESP_DEFAULT_CPU_FREQ_240=y +CONFIG_LV_SPRINTF_CUSTOM=y +# CONFIG_LV_BUILD_EXAMPLES is not set + +## LVGL8 ## +CONFIG_LV_USE_PERF_MONITOR=y CONFIG_LV_COLOR_16_SWAP=y CONFIG_LV_MEM_CUSTOM=y CONFIG_LV_MEMCPY_MEMSET_STD=y + +## LVGL9 ## +CONFIG_LV_CONF_SKIP=y + +#CLIB default +CONFIG_LV_USE_CLIB_MALLOC=y +CONFIG_LV_USE_CLIB_SPRINTF=y +CONFIG_LV_USE_CLIB_STRING=y + +# Performance monitor +CONFIG_LV_USE_OBSERVER=y +CONFIG_LV_USE_SYSMON=y CONFIG_LV_USE_PERF_MONITOR=y -CONFIG_LV_SPRINTF_CUSTOM=y -# CONFIG_LV_BUILD_EXAMPLES is not set diff --git a/examples/display/sdkconfig.bsp.esp-box-3 b/examples/display/sdkconfig.bsp.esp-box-3 index c48c9fae..3ff98e29 100644 --- a/examples/display/sdkconfig.bsp.esp-box-3 +++ b/examples/display/sdkconfig.bsp.esp-box-3 @@ -4,9 +4,24 @@ CONFIG_IDF_TARGET="esp32s3" CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y CONFIG_ESP_DEFAULT_CPU_FREQ_240=y +CONFIG_LV_SPRINTF_CUSTOM=y +# CONFIG_LV_BUILD_EXAMPLES is not set + +## LVGL8 ## +CONFIG_LV_USE_PERF_MONITOR=y CONFIG_LV_COLOR_16_SWAP=y CONFIG_LV_MEM_CUSTOM=y CONFIG_LV_MEMCPY_MEMSET_STD=y + +## LVGL9 ## +CONFIG_LV_CONF_SKIP=y + +#CLIB default +CONFIG_LV_USE_CLIB_MALLOC=y +CONFIG_LV_USE_CLIB_SPRINTF=y +CONFIG_LV_USE_CLIB_STRING=y + +# Performance monitor +CONFIG_LV_USE_OBSERVER=y +CONFIG_LV_USE_SYSMON=y CONFIG_LV_USE_PERF_MONITOR=y -CONFIG_LV_SPRINTF_CUSTOM=y -# CONFIG_LV_BUILD_EXAMPLES is not set diff --git a/examples/display/sdkconfig.bsp.esp-box-lite b/examples/display/sdkconfig.bsp.esp-box-lite index c48c9fae..3ff98e29 100644 --- a/examples/display/sdkconfig.bsp.esp-box-lite +++ b/examples/display/sdkconfig.bsp.esp-box-lite @@ -4,9 +4,24 @@ CONFIG_IDF_TARGET="esp32s3" CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y CONFIG_ESP_DEFAULT_CPU_FREQ_240=y +CONFIG_LV_SPRINTF_CUSTOM=y +# CONFIG_LV_BUILD_EXAMPLES is not set + +## LVGL8 ## +CONFIG_LV_USE_PERF_MONITOR=y CONFIG_LV_COLOR_16_SWAP=y CONFIG_LV_MEM_CUSTOM=y CONFIG_LV_MEMCPY_MEMSET_STD=y + +## LVGL9 ## +CONFIG_LV_CONF_SKIP=y + +#CLIB default +CONFIG_LV_USE_CLIB_MALLOC=y +CONFIG_LV_USE_CLIB_SPRINTF=y +CONFIG_LV_USE_CLIB_STRING=y + +# Performance monitor +CONFIG_LV_USE_OBSERVER=y +CONFIG_LV_USE_SYSMON=y CONFIG_LV_USE_PERF_MONITOR=y -CONFIG_LV_SPRINTF_CUSTOM=y -# CONFIG_LV_BUILD_EXAMPLES is not set diff --git a/examples/display/sdkconfig.bsp.esp32_c3_lcdkit b/examples/display/sdkconfig.bsp.esp32_c3_lcdkit index 1cdc7e7b..0250a4ac 100644 --- a/examples/display/sdkconfig.bsp.esp32_c3_lcdkit +++ b/examples/display/sdkconfig.bsp.esp32_c3_lcdkit @@ -4,9 +4,24 @@ CONFIG_IDF_TARGET="esp32c3" CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y CONFIG_ESP_DEFAULT_CPU_FREQ_240=y +CONFIG_LV_SPRINTF_CUSTOM=y +# CONFIG_LV_BUILD_EXAMPLES is not set + +## LVGL8 ## +CONFIG_LV_USE_PERF_MONITOR=y CONFIG_LV_COLOR_16_SWAP=y CONFIG_LV_MEM_CUSTOM=y CONFIG_LV_MEMCPY_MEMSET_STD=y + +## LVGL9 ## +CONFIG_LV_CONF_SKIP=y + +#CLIB default +CONFIG_LV_USE_CLIB_MALLOC=y +CONFIG_LV_USE_CLIB_SPRINTF=y +CONFIG_LV_USE_CLIB_STRING=y + +# Performance monitor +CONFIG_LV_USE_OBSERVER=y +CONFIG_LV_USE_SYSMON=y CONFIG_LV_USE_PERF_MONITOR=y -CONFIG_LV_SPRINTF_CUSTOM=y -# CONFIG_LV_BUILD_EXAMPLES is not set diff --git a/examples/display/sdkconfig.bsp.esp32_s2_kaluga_kit b/examples/display/sdkconfig.bsp.esp32_s2_kaluga_kit index 4a4e611c..9eb3f87f 100644 --- a/examples/display/sdkconfig.bsp.esp32_s2_kaluga_kit +++ b/examples/display/sdkconfig.bsp.esp32_s2_kaluga_kit @@ -4,9 +4,24 @@ CONFIG_IDF_TARGET="esp32s2" CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y CONFIG_ESP_DEFAULT_CPU_FREQ_240=y +CONFIG_LV_SPRINTF_CUSTOM=y +# CONFIG_LV_BUILD_EXAMPLES is not set + +## LVGL8 ## +CONFIG_LV_USE_PERF_MONITOR=y CONFIG_LV_COLOR_16_SWAP=y CONFIG_LV_MEM_CUSTOM=y CONFIG_LV_MEMCPY_MEMSET_STD=y + +## LVGL9 ## +CONFIG_LV_CONF_SKIP=y + +#CLIB default +CONFIG_LV_USE_CLIB_MALLOC=y +CONFIG_LV_USE_CLIB_SPRINTF=y +CONFIG_LV_USE_CLIB_STRING=y + +# Performance monitor +CONFIG_LV_USE_OBSERVER=y +CONFIG_LV_USE_SYSMON=y CONFIG_LV_USE_PERF_MONITOR=y -CONFIG_LV_SPRINTF_CUSTOM=y -# CONFIG_LV_BUILD_EXAMPLES is not set diff --git a/examples/display/sdkconfig.bsp.esp32_s3_eye b/examples/display/sdkconfig.bsp.esp32_s3_eye index b780663b..8d117a9c 100644 --- a/examples/display/sdkconfig.bsp.esp32_s3_eye +++ b/examples/display/sdkconfig.bsp.esp32_s3_eye @@ -4,11 +4,26 @@ CONFIG_IDF_TARGET="esp32s3" CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y CONFIG_ESP_DEFAULT_CPU_FREQ_240=y -CONFIG_LV_COLOR_16_SWAP=y -CONFIG_LV_MEM_CUSTOM=y -CONFIG_LV_MEMCPY_MEMSET_STD=y -CONFIG_LV_USE_PERF_MONITOR=y CONFIG_LV_SPRINTF_CUSTOM=y CONFIG_BSP_DISPLAY_LVGL_TICK=5 CONFIG_BSP_DISPLAY_LVGL_MAX_SLEEP=500 # CONFIG_LV_BUILD_EXAMPLES is not set + +## LVGL8 ## +CONFIG_LV_USE_PERF_MONITOR=y +CONFIG_LV_COLOR_16_SWAP=y +CONFIG_LV_MEM_CUSTOM=y +CONFIG_LV_MEMCPY_MEMSET_STD=y + +## LVGL9 ## +CONFIG_LV_CONF_SKIP=y + +#CLIB default +CONFIG_LV_USE_CLIB_MALLOC=y +CONFIG_LV_USE_CLIB_SPRINTF=y +CONFIG_LV_USE_CLIB_STRING=y + +# Performance monitor +CONFIG_LV_USE_OBSERVER=y +CONFIG_LV_USE_SYSMON=y +CONFIG_LV_USE_PERF_MONITOR=y diff --git a/examples/display/sdkconfig.bsp.esp32_s3_korvo_2 b/examples/display/sdkconfig.bsp.esp32_s3_korvo_2 index c48c9fae..3ff98e29 100644 --- a/examples/display/sdkconfig.bsp.esp32_s3_korvo_2 +++ b/examples/display/sdkconfig.bsp.esp32_s3_korvo_2 @@ -4,9 +4,24 @@ CONFIG_IDF_TARGET="esp32s3" CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y CONFIG_ESP_DEFAULT_CPU_FREQ_240=y +CONFIG_LV_SPRINTF_CUSTOM=y +# CONFIG_LV_BUILD_EXAMPLES is not set + +## LVGL8 ## +CONFIG_LV_USE_PERF_MONITOR=y CONFIG_LV_COLOR_16_SWAP=y CONFIG_LV_MEM_CUSTOM=y CONFIG_LV_MEMCPY_MEMSET_STD=y + +## LVGL9 ## +CONFIG_LV_CONF_SKIP=y + +#CLIB default +CONFIG_LV_USE_CLIB_MALLOC=y +CONFIG_LV_USE_CLIB_SPRINTF=y +CONFIG_LV_USE_CLIB_STRING=y + +# Performance monitor +CONFIG_LV_USE_OBSERVER=y +CONFIG_LV_USE_SYSMON=y CONFIG_LV_USE_PERF_MONITOR=y -CONFIG_LV_SPRINTF_CUSTOM=y -# CONFIG_LV_BUILD_EXAMPLES is not set diff --git a/examples/display/sdkconfig.bsp.esp32_s3_usb_otg b/examples/display/sdkconfig.bsp.esp32_s3_usb_otg index c48c9fae..3ff98e29 100644 --- a/examples/display/sdkconfig.bsp.esp32_s3_usb_otg +++ b/examples/display/sdkconfig.bsp.esp32_s3_usb_otg @@ -4,9 +4,24 @@ CONFIG_IDF_TARGET="esp32s3" CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y CONFIG_ESP_DEFAULT_CPU_FREQ_240=y +CONFIG_LV_SPRINTF_CUSTOM=y +# CONFIG_LV_BUILD_EXAMPLES is not set + +## LVGL8 ## +CONFIG_LV_USE_PERF_MONITOR=y CONFIG_LV_COLOR_16_SWAP=y CONFIG_LV_MEM_CUSTOM=y CONFIG_LV_MEMCPY_MEMSET_STD=y + +## LVGL9 ## +CONFIG_LV_CONF_SKIP=y + +#CLIB default +CONFIG_LV_USE_CLIB_MALLOC=y +CONFIG_LV_USE_CLIB_SPRINTF=y +CONFIG_LV_USE_CLIB_STRING=y + +# Performance monitor +CONFIG_LV_USE_OBSERVER=y +CONFIG_LV_USE_SYSMON=y CONFIG_LV_USE_PERF_MONITOR=y -CONFIG_LV_SPRINTF_CUSTOM=y -# CONFIG_LV_BUILD_EXAMPLES is not set diff --git a/examples/display/sdkconfig.bsp.esp_wrover_kit b/examples/display/sdkconfig.bsp.esp_wrover_kit index 2ad94960..54b8794f 100644 --- a/examples/display/sdkconfig.bsp.esp_wrover_kit +++ b/examples/display/sdkconfig.bsp.esp_wrover_kit @@ -4,9 +4,24 @@ CONFIG_IDF_TARGET="esp32" CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y CONFIG_ESP_DEFAULT_CPU_FREQ_240=y +CONFIG_LV_SPRINTF_CUSTOM=y +# CONFIG_LV_BUILD_EXAMPLES is not set + +## LVGL8 ## +CONFIG_LV_USE_PERF_MONITOR=y CONFIG_LV_COLOR_16_SWAP=y CONFIG_LV_MEM_CUSTOM=y CONFIG_LV_MEMCPY_MEMSET_STD=y + +## LVGL9 ## +CONFIG_LV_CONF_SKIP=y + +#CLIB default +CONFIG_LV_USE_CLIB_MALLOC=y +CONFIG_LV_USE_CLIB_SPRINTF=y +CONFIG_LV_USE_CLIB_STRING=y + +# Performance monitor +CONFIG_LV_USE_OBSERVER=y +CONFIG_LV_USE_SYSMON=y CONFIG_LV_USE_PERF_MONITOR=y -CONFIG_LV_SPRINTF_CUSTOM=y -# CONFIG_LV_BUILD_EXAMPLES is not set diff --git a/examples/display/sdkconfig.bsp.m5stack_core_s3 b/examples/display/sdkconfig.bsp.m5stack_core_s3 index a81a2993..978aff3f 100644 --- a/examples/display/sdkconfig.bsp.m5stack_core_s3 +++ b/examples/display/sdkconfig.bsp.m5stack_core_s3 @@ -4,7 +4,22 @@ CONFIG_IDF_TARGET="esp32s3" CONFIG_ESPTOOLPY_FLASHMODE_QIO=y CONFIG_ESPTOOLPY_FLASHSIZE_16MB=y + +## LVGL8 ## +CONFIG_LV_USE_PERF_MONITOR=y CONFIG_LV_COLOR_16_SWAP=y CONFIG_LV_MEM_CUSTOM=y CONFIG_LV_MEMCPY_MEMSET_STD=y + +## LVGL9 ## +CONFIG_LV_CONF_SKIP=y + +#CLIB default +CONFIG_LV_USE_CLIB_MALLOC=y +CONFIG_LV_USE_CLIB_SPRINTF=y +CONFIG_LV_USE_CLIB_STRING=y + +# Performance monitor +CONFIG_LV_USE_OBSERVER=y +CONFIG_LV_USE_SYSMON=y CONFIG_LV_USE_PERF_MONITOR=y diff --git a/examples/display/sdkconfig.defaults b/examples/display/sdkconfig.defaults index 2ad94960..54b8794f 100644 --- a/examples/display/sdkconfig.defaults +++ b/examples/display/sdkconfig.defaults @@ -4,9 +4,24 @@ CONFIG_IDF_TARGET="esp32" CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y CONFIG_ESP_DEFAULT_CPU_FREQ_240=y +CONFIG_LV_SPRINTF_CUSTOM=y +# CONFIG_LV_BUILD_EXAMPLES is not set + +## LVGL8 ## +CONFIG_LV_USE_PERF_MONITOR=y CONFIG_LV_COLOR_16_SWAP=y CONFIG_LV_MEM_CUSTOM=y CONFIG_LV_MEMCPY_MEMSET_STD=y + +## LVGL9 ## +CONFIG_LV_CONF_SKIP=y + +#CLIB default +CONFIG_LV_USE_CLIB_MALLOC=y +CONFIG_LV_USE_CLIB_SPRINTF=y +CONFIG_LV_USE_CLIB_STRING=y + +# Performance monitor +CONFIG_LV_USE_OBSERVER=y +CONFIG_LV_USE_SYSMON=y CONFIG_LV_USE_PERF_MONITOR=y -CONFIG_LV_SPRINTF_CUSTOM=y -# CONFIG_LV_BUILD_EXAMPLES is not set diff --git a/examples/display_audio_photo/main/app_disp_fs.c b/examples/display_audio_photo/main/app_disp_fs.c index f4930338..7918f89f 100644 --- a/examples/display_audio_photo/main/app_disp_fs.c +++ b/examples/display_audio_photo/main/app_disp_fs.c @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: 2015-2023 Espressif Systems (Shanghai) CO LTD + * SPDX-FileCopyrightText: 2015-2024 Espressif Systems (Shanghai) CO LTD * * SPDX-License-Identifier: Apache-2.0 */ @@ -112,12 +112,13 @@ void app_disp_lvgl_show(void) bsp_display_lock(0); /* Tabview */ - tabview = lv_tabview_create(lv_scr_act(), LV_DIR_TOP, 40); + tabview = lv_tabview_create(lv_scr_act()); //, LV_DIR_TOP, 40 + lv_tabview_set_tab_bar_size(tabview, 40); lv_obj_set_size(tabview, BSP_LCD_H_RES, BSP_LCD_V_RES); lv_obj_align(tabview, LV_ALIGN_BOTTOM_MID, 0, 0); lv_obj_set_style_text_font(tabview, &lv_font_montserrat_14, 0); /* Change animation time of moving between tabs */ - lv_obj_add_event_cb(lv_tabview_get_content(tabview), scroll_begin_event, LV_EVENT_SCROLL_BEGIN, NULL); + //lv_obj_add_event_cb(lv_tabview_get_content(tabview), scroll_begin_event, LV_EVENT_SCROLL_BEGIN, NULL); lv_obj_add_event_cb(tabview, tab_changed_event, LV_EVENT_VALUE_CHANGED, NULL); /* Tabview buttons style */ @@ -133,7 +134,7 @@ void app_disp_lvgl_show(void) /* Input device group */ lv_indev_t *indev = bsp_display_get_input_dev(); - if (indev && indev->driver && indev->driver->type == LV_INDEV_TYPE_ENCODER) { + if (indev && lv_indev_get_type(indev) == LV_INDEV_TYPE_ENCODER) { filesystem_group = lv_group_create(); recording_group = lv_group_create(); settings_group = lv_group_create(); @@ -226,11 +227,11 @@ static void show_window(const char *path, app_file_type_t type) struct stat st; lv_obj_t *label = NULL; lv_obj_t *btn; - lv_obj_t *win = lv_win_create(lv_scr_act(), 40); + lv_obj_t *win = lv_win_create(lv_scr_act()); //, 40 lv_win_add_title(win, path); /* Close button */ - btn = lv_win_add_btn(win, LV_SYMBOL_CLOSE, 60); + btn = lv_win_add_button(win, LV_SYMBOL_CLOSE, 60); lv_obj_add_event_cb(btn, close_window_handler, LV_EVENT_CLICKED, win); lv_obj_t *cont = lv_win_get_content(win); /*Content can be added here*/ @@ -284,7 +285,7 @@ static void show_window(const char *path, app_file_type_t type) esp_jpeg_image_output_t outimg; esp_jpeg_decode(&jpeg_cfg, &outimg); - lv_canvas_set_buffer(fs_img, file_buffer, outimg.width, outimg.height, LV_IMG_CF_TRUE_COLOR); + lv_canvas_set_buffer(fs_img, file_buffer, outimg.width, outimg.height, LV_COLOR_FORMAT_RGB565); lv_obj_center(fs_img); lv_obj_invalidate(fs_img); } @@ -304,7 +305,7 @@ static void show_window(const char *path, app_file_type_t type) /* Input device group */ lv_indev_t *indev = bsp_display_get_input_dev(); - if (indev && indev->driver && indev->driver->type == LV_INDEV_TYPE_ENCODER) { + if (indev && lv_indev_get_type(indev) == LV_INDEV_TYPE_ENCODER) { lv_group_t *group = lv_group_create(); lv_group_add_obj(group, btn); lv_indev_set_group(indev, group); @@ -465,7 +466,7 @@ static void show_window_wav(const char *path) { lv_obj_t *label; lv_obj_t *btn, *stop_btn, *repeat_btn; - lv_obj_t *win = lv_win_create(lv_scr_act(), 40); + lv_obj_t *win = lv_win_create(lv_scr_act()); //, 40 lv_win_add_title(win, path); strcpy(usb_drive_play_file, path); @@ -476,7 +477,7 @@ static void show_window_wav(const char *path) assert(audio_mux); /* Close button */ - btn = lv_win_add_btn(win, LV_SYMBOL_CLOSE, 60); + btn = lv_win_add_button(win, LV_SYMBOL_CLOSE, 60); lv_obj_add_event_cb(btn, close_window_wav_handler, LV_EVENT_CLICKED, win); lv_obj_t *cont = lv_win_get_content(win); /*Content can be added here*/ @@ -533,7 +534,7 @@ static void show_window_wav(const char *path) /* Input device group */ lv_indev_t *indev = bsp_display_get_input_dev(); - if (indev && indev->driver && indev->driver->type == LV_INDEV_TYPE_ENCODER) { + if (indev && lv_indev_get_type(indev) == LV_INDEV_TYPE_ENCODER) { lv_group_t *group = lv_group_create(); lv_group_add_obj(group, btn); lv_group_add_obj(group, play_btn); @@ -677,6 +678,8 @@ static void app_disp_lvgl_show_files(const char *path) struct dirent *dir; DIR *d; + bsp_display_lock(0); + /* Clean all items in the list */ lv_obj_clean(fs_list); @@ -702,6 +705,8 @@ static void app_disp_lvgl_show_files(const char *path) closedir(d); } + + bsp_display_unlock(); } static void app_disp_lvgl_show_filesystem(lv_obj_t *screen, lv_group_t *group) @@ -986,7 +991,7 @@ static void scroll_begin_event(lv_event_t *e) if (lv_event_get_code(e) == LV_EVENT_SCROLL_BEGIN) { lv_anim_t *a = lv_event_get_param(e); if (a) { - a->time = 300; + lv_anim_set_duration(a, 300); } } } diff --git a/examples/display_audio_photo/main/idf_component.yml b/examples/display_audio_photo/main/idf_component.yml index 6f55073e..fc28d292 100644 --- a/examples/display_audio_photo/main/idf_component.yml +++ b/examples/display_audio_photo/main/idf_component.yml @@ -2,5 +2,5 @@ description: BSP Display Audio Photo Example dependencies: esp_jpeg: "*" esp-box: - version: ">=3.0.0" + version: "*" override_path: "../../../bsp/esp-box" diff --git a/examples/display_audio_photo/sdkconfig.bsp.esp-box b/examples/display_audio_photo/sdkconfig.bsp.esp-box index 89fdc414..9f4a5db4 100644 --- a/examples/display_audio_photo/sdkconfig.bsp.esp-box +++ b/examples/display_audio_photo/sdkconfig.bsp.esp-box @@ -10,9 +10,24 @@ CONFIG_SPIRAM_MODE_OCT=y CONFIG_SPIRAM_SPEED_80M=y CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y CONFIG_SPIFFS_PAGE_SIZE=1024 +CONFIG_LV_SPRINTF_CUSTOM=y +# CONFIG_LV_BUILD_EXAMPLES is not set + +## LVGL8 ## +CONFIG_LV_USE_PERF_MONITOR=y CONFIG_LV_COLOR_16_SWAP=y CONFIG_LV_MEM_CUSTOM=y CONFIG_LV_MEMCPY_MEMSET_STD=y + +## LVGL9 ## +CONFIG_LV_CONF_SKIP=y + +#CLIB default +CONFIG_LV_USE_CLIB_MALLOC=y +CONFIG_LV_USE_CLIB_SPRINTF=y +CONFIG_LV_USE_CLIB_STRING=y + +# Performance monitor +CONFIG_LV_USE_OBSERVER=y +CONFIG_LV_USE_SYSMON=y CONFIG_LV_USE_PERF_MONITOR=y -CONFIG_LV_SPRINTF_CUSTOM=y -# CONFIG_LV_BUILD_EXAMPLES is not set diff --git a/examples/display_audio_photo/sdkconfig.bsp.esp-box-3 b/examples/display_audio_photo/sdkconfig.bsp.esp-box-3 index 89fdc414..9f4a5db4 100644 --- a/examples/display_audio_photo/sdkconfig.bsp.esp-box-3 +++ b/examples/display_audio_photo/sdkconfig.bsp.esp-box-3 @@ -10,9 +10,24 @@ CONFIG_SPIRAM_MODE_OCT=y CONFIG_SPIRAM_SPEED_80M=y CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y CONFIG_SPIFFS_PAGE_SIZE=1024 +CONFIG_LV_SPRINTF_CUSTOM=y +# CONFIG_LV_BUILD_EXAMPLES is not set + +## LVGL8 ## +CONFIG_LV_USE_PERF_MONITOR=y CONFIG_LV_COLOR_16_SWAP=y CONFIG_LV_MEM_CUSTOM=y CONFIG_LV_MEMCPY_MEMSET_STD=y + +## LVGL9 ## +CONFIG_LV_CONF_SKIP=y + +#CLIB default +CONFIG_LV_USE_CLIB_MALLOC=y +CONFIG_LV_USE_CLIB_SPRINTF=y +CONFIG_LV_USE_CLIB_STRING=y + +# Performance monitor +CONFIG_LV_USE_OBSERVER=y +CONFIG_LV_USE_SYSMON=y CONFIG_LV_USE_PERF_MONITOR=y -CONFIG_LV_SPRINTF_CUSTOM=y -# CONFIG_LV_BUILD_EXAMPLES is not set diff --git a/examples/display_audio_photo/sdkconfig.bsp.esp-box-lite b/examples/display_audio_photo/sdkconfig.bsp.esp-box-lite index 89fdc414..9f4a5db4 100644 --- a/examples/display_audio_photo/sdkconfig.bsp.esp-box-lite +++ b/examples/display_audio_photo/sdkconfig.bsp.esp-box-lite @@ -10,9 +10,24 @@ CONFIG_SPIRAM_MODE_OCT=y CONFIG_SPIRAM_SPEED_80M=y CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y CONFIG_SPIFFS_PAGE_SIZE=1024 +CONFIG_LV_SPRINTF_CUSTOM=y +# CONFIG_LV_BUILD_EXAMPLES is not set + +## LVGL8 ## +CONFIG_LV_USE_PERF_MONITOR=y CONFIG_LV_COLOR_16_SWAP=y CONFIG_LV_MEM_CUSTOM=y CONFIG_LV_MEMCPY_MEMSET_STD=y + +## LVGL9 ## +CONFIG_LV_CONF_SKIP=y + +#CLIB default +CONFIG_LV_USE_CLIB_MALLOC=y +CONFIG_LV_USE_CLIB_SPRINTF=y +CONFIG_LV_USE_CLIB_STRING=y + +# Performance monitor +CONFIG_LV_USE_OBSERVER=y +CONFIG_LV_USE_SYSMON=y CONFIG_LV_USE_PERF_MONITOR=y -CONFIG_LV_SPRINTF_CUSTOM=y -# CONFIG_LV_BUILD_EXAMPLES is not set diff --git a/examples/display_audio_photo/sdkconfig.bsp.esp32_s3_korvo_2 b/examples/display_audio_photo/sdkconfig.bsp.esp32_s3_korvo_2 index 89fdc414..9f4a5db4 100644 --- a/examples/display_audio_photo/sdkconfig.bsp.esp32_s3_korvo_2 +++ b/examples/display_audio_photo/sdkconfig.bsp.esp32_s3_korvo_2 @@ -10,9 +10,24 @@ CONFIG_SPIRAM_MODE_OCT=y CONFIG_SPIRAM_SPEED_80M=y CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y CONFIG_SPIFFS_PAGE_SIZE=1024 +CONFIG_LV_SPRINTF_CUSTOM=y +# CONFIG_LV_BUILD_EXAMPLES is not set + +## LVGL8 ## +CONFIG_LV_USE_PERF_MONITOR=y CONFIG_LV_COLOR_16_SWAP=y CONFIG_LV_MEM_CUSTOM=y CONFIG_LV_MEMCPY_MEMSET_STD=y + +## LVGL9 ## +CONFIG_LV_CONF_SKIP=y + +#CLIB default +CONFIG_LV_USE_CLIB_MALLOC=y +CONFIG_LV_USE_CLIB_SPRINTF=y +CONFIG_LV_USE_CLIB_STRING=y + +# Performance monitor +CONFIG_LV_USE_OBSERVER=y +CONFIG_LV_USE_SYSMON=y CONFIG_LV_USE_PERF_MONITOR=y -CONFIG_LV_SPRINTF_CUSTOM=y -# CONFIG_LV_BUILD_EXAMPLES is not set diff --git a/examples/display_audio_photo/sdkconfig.bsp.esp32_s3_lcd_ev_board b/examples/display_audio_photo/sdkconfig.bsp.esp32_s3_lcd_ev_board new file mode 100644 index 00000000..e54db707 --- /dev/null +++ b/examples/display_audio_photo/sdkconfig.bsp.esp32_s3_lcd_ev_board @@ -0,0 +1,42 @@ +# This file was generated using idf.py save-defconfig. It can be edited manually. +# Espressif IoT Development Framework (ESP-IDF) Project Minimal Configuration +# +CONFIG_IDF_TARGET="esp32s3" +CONFIG_ESPTOOLPY_FLASHMODE_QIO=y +CONFIG_ESPTOOLPY_FLASHSIZE_16MB=y +CONFIG_PARTITION_TABLE_CUSTOM=y +CONFIG_COMPILER_OPTIMIZATION_PERF=y +CONFIG_SPIRAM=y +CONFIG_SPIRAM_MODE_OCT=y +CONFIG_SPIRAM_FETCH_INSTRUCTIONS=y +CONFIG_SPIRAM_RODATA=y +CONFIG_SPIRAM_SPEED_80M=y +CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y +CONFIG_ESP32S3_DATA_CACHE_LINE_64B=y +CONFIG_FREERTOS_HZ=1000 +CONFIG_BSP_LCD_RGB_BUFFER_NUMS=2 +CONFIG_BSP_LCD_RGB_BOUNCE_BUFFER_MODE=y +CONFIG_BSP_LCD_RGB_BOUNCE_BUFFER_HEIGHT=20 +CONFIG_BSP_DISPLAY_LVGL_TASK_STACK_SIZE=8 +CONFIG_BSP_DISPLAY_LVGL_AVOID_TEAR=y +CONFIG_BSP_DISPLAY_LVGL_DIRECT_MODE=y +CONFIG_LV_ATTRIBUTE_FAST_MEM_USE_IRAM=y + +## LVGL8 ## +CONFIG_LV_USE_PERF_MONITOR=y +CONFIG_LV_COLOR_16_SWAP=y +CONFIG_LV_MEM_CUSTOM=y +CONFIG_LV_MEMCPY_MEMSET_STD=y + +## LVGL9 ## +CONFIG_LV_CONF_SKIP=y + +#CLIB default +CONFIG_LV_USE_CLIB_MALLOC=y +CONFIG_LV_USE_CLIB_SPRINTF=y +CONFIG_LV_USE_CLIB_STRING=y + +# Performance monitor +CONFIG_LV_USE_OBSERVER=y +CONFIG_LV_USE_SYSMON=y +CONFIG_LV_USE_PERF_MONITOR=y diff --git a/examples/display_audio_photo/sdkconfig.bsp.m5stack_core_s3 b/examples/display_audio_photo/sdkconfig.bsp.m5stack_core_s3 index 4e8064c1..8c6be283 100644 --- a/examples/display_audio_photo/sdkconfig.bsp.m5stack_core_s3 +++ b/examples/display_audio_photo/sdkconfig.bsp.m5stack_core_s3 @@ -9,9 +9,25 @@ CONFIG_SPIRAM=y CONFIG_SPIRAM_SPEED_80M=y CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y CONFIG_SPIFFS_PAGE_SIZE=1024 +CONFIG_LV_SPRINTF_CUSTOM=y +CONFIG_JD_USE_ROM=n +# CONFIG_LV_BUILD_EXAMPLES is not set + +## LVGL8 ## +CONFIG_LV_USE_PERF_MONITOR=y CONFIG_LV_COLOR_16_SWAP=y CONFIG_LV_MEM_CUSTOM=y CONFIG_LV_MEMCPY_MEMSET_STD=y + +## LVGL9 ## +CONFIG_LV_CONF_SKIP=y + +#CLIB default +CONFIG_LV_USE_CLIB_MALLOC=y +CONFIG_LV_USE_CLIB_SPRINTF=y +CONFIG_LV_USE_CLIB_STRING=y + +# Performance monitor +CONFIG_LV_USE_OBSERVER=y +CONFIG_LV_USE_SYSMON=y CONFIG_LV_USE_PERF_MONITOR=y -CONFIG_LV_SPRINTF_CUSTOM=y -# CONFIG_LV_BUILD_EXAMPLES is not set diff --git a/examples/display_audio_photo/sdkconfig.defaults b/examples/display_audio_photo/sdkconfig.defaults index 89fdc414..9f4a5db4 100644 --- a/examples/display_audio_photo/sdkconfig.defaults +++ b/examples/display_audio_photo/sdkconfig.defaults @@ -10,9 +10,24 @@ CONFIG_SPIRAM_MODE_OCT=y CONFIG_SPIRAM_SPEED_80M=y CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y CONFIG_SPIFFS_PAGE_SIZE=1024 +CONFIG_LV_SPRINTF_CUSTOM=y +# CONFIG_LV_BUILD_EXAMPLES is not set + +## LVGL8 ## +CONFIG_LV_USE_PERF_MONITOR=y CONFIG_LV_COLOR_16_SWAP=y CONFIG_LV_MEM_CUSTOM=y CONFIG_LV_MEMCPY_MEMSET_STD=y + +## LVGL9 ## +CONFIG_LV_CONF_SKIP=y + +#CLIB default +CONFIG_LV_USE_CLIB_MALLOC=y +CONFIG_LV_USE_CLIB_SPRINTF=y +CONFIG_LV_USE_CLIB_STRING=y + +# Performance monitor +CONFIG_LV_USE_OBSERVER=y +CONFIG_LV_USE_SYSMON=y CONFIG_LV_USE_PERF_MONITOR=y -CONFIG_LV_SPRINTF_CUSTOM=y -# CONFIG_LV_BUILD_EXAMPLES is not set diff --git a/examples/display_camera/main/display_camera.c b/examples/display_camera/main/display_camera.c index 50570a79..758ca74b 100644 --- a/examples/display_camera/main/display_camera.c +++ b/examples/display_camera/main/display_camera.c @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD + * SPDX-FileCopyrightText: 2022-2024 Espressif Systems (Shanghai) CO LTD * * SPDX-License-Identifier: CC0-1.0 */ @@ -34,12 +34,18 @@ void app_main(void) return; } sensor_t *s = esp_camera_sensor_get(); - s->set_vflip(s, 1); + s->set_vflip(s, BSP_CAMERA_VFLIP); + s->set_hmirror(s, BSP_CAMERA_HMIRROR); ESP_LOGI(TAG, "Camera Init done"); + uint32_t cam_buff_size = BSP_LCD_H_RES * BSP_LCD_V_RES * 2; + uint8_t *cam_buff = heap_caps_malloc(cam_buff_size, MALLOC_CAP_SPIRAM); + assert(cam_buff); + // Create LVGL canvas for camera image bsp_display_lock(0); lv_obj_t *camera_canvas = lv_canvas_create(lv_scr_act()); + lv_canvas_set_buffer(camera_canvas, cam_buff, BSP_LCD_H_RES, BSP_LCD_V_RES, LV_COLOR_FORMAT_RGB565); assert(camera_canvas); lv_obj_center(camera_canvas); bsp_display_unlock(); @@ -48,12 +54,18 @@ void app_main(void) while (1) { pic = esp_camera_fb_get(); if (pic) { + esp_camera_fb_return(pic); bsp_display_lock(0); - lv_canvas_set_buffer(camera_canvas, pic->buf, pic->width, pic->height, LV_IMG_CF_TRUE_COLOR); + memcpy(cam_buff, pic->buf, cam_buff_size); + if (BSP_LCD_BIGENDIAN) { + /* Swap bytes in RGB565 */ + lv_draw_sw_rgb565_swap(cam_buff, cam_buff_size); + } + lv_obj_invalidate(camera_canvas); bsp_display_unlock(); - esp_camera_fb_return(pic); } else { ESP_LOGE(TAG, "Get frame failed"); } + vTaskDelay(1); } } diff --git a/examples/display_camera/sdkconfig.bsp.esp32_s2_kaluga_kit b/examples/display_camera/sdkconfig.bsp.esp32_s2_kaluga_kit index d1440349..a928bf8d 100644 --- a/examples/display_camera/sdkconfig.bsp.esp32_s2_kaluga_kit +++ b/examples/display_camera/sdkconfig.bsp.esp32_s2_kaluga_kit @@ -9,6 +9,23 @@ CONFIG_SPIRAM_TRY_ALLOCATE_WIFI_LWIP=y CONFIG_SPIRAM_MALLOC_RESERVE_INTERNAL=8192 CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY=y CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y +# CONFIG_LV_BUILD_EXAMPLES is not set + +## LVGL8 ## +CONFIG_LV_USE_PERF_MONITOR=y +CONFIG_LV_COLOR_16_SWAP=y CONFIG_LV_MEM_CUSTOM=y CONFIG_LV_MEMCPY_MEMSET_STD=y -# CONFIG_LV_BUILD_EXAMPLES is not set + +## LVGL9 ## +CONFIG_LV_CONF_SKIP=y + +#CLIB default +CONFIG_LV_USE_CLIB_MALLOC=y +CONFIG_LV_USE_CLIB_SPRINTF=y +CONFIG_LV_USE_CLIB_STRING=y + +# Performance monitor +CONFIG_LV_USE_OBSERVER=y +CONFIG_LV_USE_SYSMON=y +CONFIG_LV_USE_PERF_MONITOR=y diff --git a/examples/display_camera/sdkconfig.bsp.esp32_s3_eye b/examples/display_camera/sdkconfig.bsp.esp32_s3_eye index 1dbdec8e..8774be6f 100644 --- a/examples/display_camera/sdkconfig.bsp.esp32_s3_eye +++ b/examples/display_camera/sdkconfig.bsp.esp32_s3_eye @@ -15,9 +15,25 @@ CONFIG_SPIRAM_SPEED_80M=y CONFIG_SPIRAM_TRY_ALLOCATE_WIFI_LWIP=y CONFIG_SPIRAM_MALLOC_RESERVE_INTERNAL=8192 CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY=y +CONFIG_LV_SPRINTF_CUSTOM=y +CAMERA_TASK_STACK_SIZE=4096 +# CONFIG_LV_BUILD_EXAMPLES is not set + +## LVGL8 ## +CONFIG_LV_USE_PERF_MONITOR=y CONFIG_LV_COLOR_16_SWAP=y CONFIG_LV_MEM_CUSTOM=y CONFIG_LV_MEMCPY_MEMSET_STD=y + +## LVGL9 ## +CONFIG_LV_CONF_SKIP=y + +#CLIB default +CONFIG_LV_USE_CLIB_MALLOC=y +CONFIG_LV_USE_CLIB_SPRINTF=y +CONFIG_LV_USE_CLIB_STRING=y + +# Performance monitor +CONFIG_LV_USE_OBSERVER=y +CONFIG_LV_USE_SYSMON=y CONFIG_LV_USE_PERF_MONITOR=y -CONFIG_LV_SPRINTF_CUSTOM=y -# CONFIG_LV_BUILD_EXAMPLES is not set diff --git a/examples/display_camera/sdkconfig.bsp.esp32_s3_korvo_2 b/examples/display_camera/sdkconfig.bsp.esp32_s3_korvo_2 index ec2fa94c..005f3c5e 100644 --- a/examples/display_camera/sdkconfig.bsp.esp32_s3_korvo_2 +++ b/examples/display_camera/sdkconfig.bsp.esp32_s3_korvo_2 @@ -12,9 +12,25 @@ CONFIG_SPIRAM_SPEED_80M=y CONFIG_SPIRAM_TRY_ALLOCATE_WIFI_LWIP=y CONFIG_SPIRAM_MALLOC_RESERVE_INTERNAL=8192 CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY=y +CONFIG_LV_SPRINTF_CUSTOM=y +CAMERA_TASK_STACK_SIZE=4096 +# CONFIG_LV_BUILD_EXAMPLES is not set + +## LVGL8 ## +CONFIG_LV_USE_PERF_MONITOR=y CONFIG_LV_COLOR_16_SWAP=y CONFIG_LV_MEM_CUSTOM=y CONFIG_LV_MEMCPY_MEMSET_STD=y + +## LVGL9 ## +CONFIG_LV_CONF_SKIP=y + +#CLIB default +CONFIG_LV_USE_CLIB_MALLOC=y +CONFIG_LV_USE_CLIB_SPRINTF=y +CONFIG_LV_USE_CLIB_STRING=y + +# Performance monitor +CONFIG_LV_USE_OBSERVER=y +CONFIG_LV_USE_SYSMON=y CONFIG_LV_USE_PERF_MONITOR=y -CONFIG_LV_SPRINTF_CUSTOM=y -# CONFIG_LV_BUILD_EXAMPLES is not set \ No newline at end of file diff --git a/examples/display_camera/sdkconfig.bsp.m5stack_core_s3 b/examples/display_camera/sdkconfig.bsp.m5stack_core_s3 index 76f3de7b..5ed05be2 100644 --- a/examples/display_camera/sdkconfig.bsp.m5stack_core_s3 +++ b/examples/display_camera/sdkconfig.bsp.m5stack_core_s3 @@ -12,9 +12,26 @@ CONFIG_SPIRAM_SPEED_80M=y CONFIG_SPIRAM_TRY_ALLOCATE_WIFI_LWIP=y CONFIG_SPIRAM_MALLOC_RESERVE_INTERNAL=8192 CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY=y +CONFIG_LV_SPRINTF_CUSTOM=y +CAMERA_TASK_STACK_SIZE=4096 + +# CONFIG_LV_BUILD_EXAMPLES is not set + +## LVGL8 ## +CONFIG_LV_USE_PERF_MONITOR=y CONFIG_LV_COLOR_16_SWAP=y CONFIG_LV_MEM_CUSTOM=y CONFIG_LV_MEMCPY_MEMSET_STD=y + +## LVGL9 ## +CONFIG_LV_CONF_SKIP=y + +#CLIB default +CONFIG_LV_USE_CLIB_MALLOC=y +CONFIG_LV_USE_CLIB_SPRINTF=y +CONFIG_LV_USE_CLIB_STRING=y + +# Performance monitor +CONFIG_LV_USE_OBSERVER=y +CONFIG_LV_USE_SYSMON=y CONFIG_LV_USE_PERF_MONITOR=y -CONFIG_LV_SPRINTF_CUSTOM=y -# CONFIG_LV_BUILD_EXAMPLES is not set diff --git a/examples/display_camera/sdkconfig.defaults b/examples/display_camera/sdkconfig.defaults index d1440349..a928bf8d 100644 --- a/examples/display_camera/sdkconfig.defaults +++ b/examples/display_camera/sdkconfig.defaults @@ -9,6 +9,23 @@ CONFIG_SPIRAM_TRY_ALLOCATE_WIFI_LWIP=y CONFIG_SPIRAM_MALLOC_RESERVE_INTERNAL=8192 CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY=y CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y +# CONFIG_LV_BUILD_EXAMPLES is not set + +## LVGL8 ## +CONFIG_LV_USE_PERF_MONITOR=y +CONFIG_LV_COLOR_16_SWAP=y CONFIG_LV_MEM_CUSTOM=y CONFIG_LV_MEMCPY_MEMSET_STD=y -# CONFIG_LV_BUILD_EXAMPLES is not set + +## LVGL9 ## +CONFIG_LV_CONF_SKIP=y + +#CLIB default +CONFIG_LV_USE_CLIB_MALLOC=y +CONFIG_LV_USE_CLIB_SPRINTF=y +CONFIG_LV_USE_CLIB_STRING=y + +# Performance monitor +CONFIG_LV_USE_OBSERVER=y +CONFIG_LV_USE_SYSMON=y +CONFIG_LV_USE_PERF_MONITOR=y diff --git a/examples/display_lvgl_demos/sdkconfig.bsp.esp-box b/examples/display_lvgl_demos/sdkconfig.bsp.esp-box index 15d99b18..a177bdc6 100644 --- a/examples/display_lvgl_demos/sdkconfig.bsp.esp-box +++ b/examples/display_lvgl_demos/sdkconfig.bsp.esp-box @@ -4,6 +4,7 @@ CONFIG_IDF_TARGET="esp32s3" CONFIG_ESPTOOLPY_FLASHMODE_QIO=y CONFIG_COMPILER_OPTIMIZATION_PERF=y +CONFIG_PARTITION_TABLE_CUSTOM=y CONFIG_SPIRAM=y CONFIG_SPIRAM_MODE_OCT=y CONFIG_SPIRAM_FETCH_INSTRUCTIONS=y @@ -11,10 +12,7 @@ CONFIG_SPIRAM_RODATA=y CONFIG_SPIRAM_SPEED_80M=y CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y CONFIG_FREERTOS_HZ=1000 -CONFIG_LV_COLOR_16_SWAP=y -CONFIG_LV_MEM_CUSTOM=y -CONFIG_LV_MEMCPY_MEMSET_STD=y -CONFIG_LV_USE_PERF_MONITOR=y +CONFIG_LV_MEM_SIZE_KILOBYTES=48 CONFIG_LV_ATTRIBUTE_FAST_MEM_USE_IRAM=y CONFIG_LV_FONT_MONTSERRAT_12=y CONFIG_LV_FONT_MONTSERRAT_16=y @@ -23,3 +21,23 @@ CONFIG_LV_USE_DEMO_BENCHMARK=y CONFIG_LV_USE_DEMO_STRESS=y CONFIG_LV_USE_DEMO_MUSIC=y CONFIG_LV_DEMO_MUSIC_AUTO_PLAY=y +CONFIG_LV_DEMO_MUSIC_SQUARE=y + +## LVGL8 ## +CONFIG_LV_USE_PERF_MONITOR=y +CONFIG_LV_COLOR_16_SWAP=y +CONFIG_LV_MEM_CUSTOM=y +CONFIG_LV_MEMCPY_MEMSET_STD=y + +## LVGL9 ## +CONFIG_LV_CONF_SKIP=y + +#CLIB default +CONFIG_LV_USE_CLIB_MALLOC=y +CONFIG_LV_USE_CLIB_SPRINTF=y +CONFIG_LV_USE_CLIB_STRING=y + +# Performance monitor +CONFIG_LV_USE_OBSERVER=y +CONFIG_LV_USE_SYSMON=y +CONFIG_LV_USE_PERF_MONITOR=y diff --git a/examples/display_lvgl_demos/sdkconfig.bsp.esp-box-3 b/examples/display_lvgl_demos/sdkconfig.bsp.esp-box-3 index 15d99b18..a177bdc6 100644 --- a/examples/display_lvgl_demos/sdkconfig.bsp.esp-box-3 +++ b/examples/display_lvgl_demos/sdkconfig.bsp.esp-box-3 @@ -4,6 +4,7 @@ CONFIG_IDF_TARGET="esp32s3" CONFIG_ESPTOOLPY_FLASHMODE_QIO=y CONFIG_COMPILER_OPTIMIZATION_PERF=y +CONFIG_PARTITION_TABLE_CUSTOM=y CONFIG_SPIRAM=y CONFIG_SPIRAM_MODE_OCT=y CONFIG_SPIRAM_FETCH_INSTRUCTIONS=y @@ -11,10 +12,7 @@ CONFIG_SPIRAM_RODATA=y CONFIG_SPIRAM_SPEED_80M=y CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y CONFIG_FREERTOS_HZ=1000 -CONFIG_LV_COLOR_16_SWAP=y -CONFIG_LV_MEM_CUSTOM=y -CONFIG_LV_MEMCPY_MEMSET_STD=y -CONFIG_LV_USE_PERF_MONITOR=y +CONFIG_LV_MEM_SIZE_KILOBYTES=48 CONFIG_LV_ATTRIBUTE_FAST_MEM_USE_IRAM=y CONFIG_LV_FONT_MONTSERRAT_12=y CONFIG_LV_FONT_MONTSERRAT_16=y @@ -23,3 +21,23 @@ CONFIG_LV_USE_DEMO_BENCHMARK=y CONFIG_LV_USE_DEMO_STRESS=y CONFIG_LV_USE_DEMO_MUSIC=y CONFIG_LV_DEMO_MUSIC_AUTO_PLAY=y +CONFIG_LV_DEMO_MUSIC_SQUARE=y + +## LVGL8 ## +CONFIG_LV_USE_PERF_MONITOR=y +CONFIG_LV_COLOR_16_SWAP=y +CONFIG_LV_MEM_CUSTOM=y +CONFIG_LV_MEMCPY_MEMSET_STD=y + +## LVGL9 ## +CONFIG_LV_CONF_SKIP=y + +#CLIB default +CONFIG_LV_USE_CLIB_MALLOC=y +CONFIG_LV_USE_CLIB_SPRINTF=y +CONFIG_LV_USE_CLIB_STRING=y + +# Performance monitor +CONFIG_LV_USE_OBSERVER=y +CONFIG_LV_USE_SYSMON=y +CONFIG_LV_USE_PERF_MONITOR=y diff --git a/examples/display_lvgl_demos/sdkconfig.bsp.esp-box-lite b/examples/display_lvgl_demos/sdkconfig.bsp.esp-box-lite index 15d99b18..a177bdc6 100644 --- a/examples/display_lvgl_demos/sdkconfig.bsp.esp-box-lite +++ b/examples/display_lvgl_demos/sdkconfig.bsp.esp-box-lite @@ -4,6 +4,7 @@ CONFIG_IDF_TARGET="esp32s3" CONFIG_ESPTOOLPY_FLASHMODE_QIO=y CONFIG_COMPILER_OPTIMIZATION_PERF=y +CONFIG_PARTITION_TABLE_CUSTOM=y CONFIG_SPIRAM=y CONFIG_SPIRAM_MODE_OCT=y CONFIG_SPIRAM_FETCH_INSTRUCTIONS=y @@ -11,10 +12,7 @@ CONFIG_SPIRAM_RODATA=y CONFIG_SPIRAM_SPEED_80M=y CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y CONFIG_FREERTOS_HZ=1000 -CONFIG_LV_COLOR_16_SWAP=y -CONFIG_LV_MEM_CUSTOM=y -CONFIG_LV_MEMCPY_MEMSET_STD=y -CONFIG_LV_USE_PERF_MONITOR=y +CONFIG_LV_MEM_SIZE_KILOBYTES=48 CONFIG_LV_ATTRIBUTE_FAST_MEM_USE_IRAM=y CONFIG_LV_FONT_MONTSERRAT_12=y CONFIG_LV_FONT_MONTSERRAT_16=y @@ -23,3 +21,23 @@ CONFIG_LV_USE_DEMO_BENCHMARK=y CONFIG_LV_USE_DEMO_STRESS=y CONFIG_LV_USE_DEMO_MUSIC=y CONFIG_LV_DEMO_MUSIC_AUTO_PLAY=y +CONFIG_LV_DEMO_MUSIC_SQUARE=y + +## LVGL8 ## +CONFIG_LV_USE_PERF_MONITOR=y +CONFIG_LV_COLOR_16_SWAP=y +CONFIG_LV_MEM_CUSTOM=y +CONFIG_LV_MEMCPY_MEMSET_STD=y + +## LVGL9 ## +CONFIG_LV_CONF_SKIP=y + +#CLIB default +CONFIG_LV_USE_CLIB_MALLOC=y +CONFIG_LV_USE_CLIB_SPRINTF=y +CONFIG_LV_USE_CLIB_STRING=y + +# Performance monitor +CONFIG_LV_USE_OBSERVER=y +CONFIG_LV_USE_SYSMON=y +CONFIG_LV_USE_PERF_MONITOR=y diff --git a/examples/display_lvgl_demos/sdkconfig.bsp.esp32_p4_function_ev_board b/examples/display_lvgl_demos/sdkconfig.bsp.esp32_p4_function_ev_board index 55f26325..4f006cda 100644 --- a/examples/display_lvgl_demos/sdkconfig.bsp.esp32_p4_function_ev_board +++ b/examples/display_lvgl_demos/sdkconfig.bsp.esp32_p4_function_ev_board @@ -45,6 +45,6 @@ CONFIG_LV_USE_CLIB_SPRINTF=y CONFIG_LV_USE_CLIB_STRING=y # Performance monitor -#CONFIG_LV_USE_OBSERVER=y -#CONFIG_LV_USE_SYSMON=y -#CONFIG_LV_USE_PERF_MONITOR=y +CONFIG_LV_USE_OBSERVER=y +CONFIG_LV_USE_SYSMON=y +CONFIG_LV_USE_PERF_MONITOR=y diff --git a/examples/display_lvgl_demos/sdkconfig.bsp.esp32_s2_kaluga_kit b/examples/display_lvgl_demos/sdkconfig.bsp.esp32_s2_kaluga_kit index 681443bc..9e3ba752 100644 --- a/examples/display_lvgl_demos/sdkconfig.bsp.esp32_s2_kaluga_kit +++ b/examples/display_lvgl_demos/sdkconfig.bsp.esp32_s2_kaluga_kit @@ -4,16 +4,14 @@ CONFIG_IDF_TARGET="esp32s2" CONFIG_ESPTOOLPY_FLASHMODE_QIO=y CONFIG_COMPILER_OPTIMIZATION_PERF=y +CONFIG_PARTITION_TABLE_CUSTOM=y CONFIG_SPIRAM=y CONFIG_SPIRAM_FETCH_INSTRUCTIONS=y CONFIG_SPIRAM_RODATA=y CONFIG_SPIRAM_SPEED_80M=y CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y CONFIG_FREERTOS_HZ=1000 -CONFIG_LV_COLOR_16_SWAP=y -CONFIG_LV_MEM_CUSTOM=y -CONFIG_LV_MEMCPY_MEMSET_STD=y -CONFIG_LV_USE_PERF_MONITOR=y +CONFIG_LV_MEM_SIZE_KILOBYTES=48 CONFIG_LV_ATTRIBUTE_FAST_MEM_USE_IRAM=y CONFIG_LV_FONT_MONTSERRAT_12=y CONFIG_LV_FONT_MONTSERRAT_16=y @@ -22,3 +20,22 @@ CONFIG_LV_USE_DEMO_BENCHMARK=y CONFIG_LV_USE_DEMO_STRESS=y CONFIG_LV_USE_DEMO_MUSIC=y CONFIG_LV_DEMO_MUSIC_AUTO_PLAY=y + +## LVGL8 ## +CONFIG_LV_USE_PERF_MONITOR=y +CONFIG_LV_COLOR_16_SWAP=y +CONFIG_LV_MEM_CUSTOM=y +CONFIG_LV_MEMCPY_MEMSET_STD=y + +## LVGL9 ## +CONFIG_LV_CONF_SKIP=y + +#CLIB default +CONFIG_LV_USE_CLIB_MALLOC=y +CONFIG_LV_USE_CLIB_SPRINTF=y +CONFIG_LV_USE_CLIB_STRING=y + +# Performance monitor +CONFIG_LV_USE_OBSERVER=y +CONFIG_LV_USE_SYSMON=y +CONFIG_LV_USE_PERF_MONITOR=y diff --git a/examples/display_lvgl_demos/sdkconfig.bsp.esp32_s3_eye b/examples/display_lvgl_demos/sdkconfig.bsp.esp32_s3_eye index 15d99b18..a177bdc6 100644 --- a/examples/display_lvgl_demos/sdkconfig.bsp.esp32_s3_eye +++ b/examples/display_lvgl_demos/sdkconfig.bsp.esp32_s3_eye @@ -4,6 +4,7 @@ CONFIG_IDF_TARGET="esp32s3" CONFIG_ESPTOOLPY_FLASHMODE_QIO=y CONFIG_COMPILER_OPTIMIZATION_PERF=y +CONFIG_PARTITION_TABLE_CUSTOM=y CONFIG_SPIRAM=y CONFIG_SPIRAM_MODE_OCT=y CONFIG_SPIRAM_FETCH_INSTRUCTIONS=y @@ -11,10 +12,7 @@ CONFIG_SPIRAM_RODATA=y CONFIG_SPIRAM_SPEED_80M=y CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y CONFIG_FREERTOS_HZ=1000 -CONFIG_LV_COLOR_16_SWAP=y -CONFIG_LV_MEM_CUSTOM=y -CONFIG_LV_MEMCPY_MEMSET_STD=y -CONFIG_LV_USE_PERF_MONITOR=y +CONFIG_LV_MEM_SIZE_KILOBYTES=48 CONFIG_LV_ATTRIBUTE_FAST_MEM_USE_IRAM=y CONFIG_LV_FONT_MONTSERRAT_12=y CONFIG_LV_FONT_MONTSERRAT_16=y @@ -23,3 +21,23 @@ CONFIG_LV_USE_DEMO_BENCHMARK=y CONFIG_LV_USE_DEMO_STRESS=y CONFIG_LV_USE_DEMO_MUSIC=y CONFIG_LV_DEMO_MUSIC_AUTO_PLAY=y +CONFIG_LV_DEMO_MUSIC_SQUARE=y + +## LVGL8 ## +CONFIG_LV_USE_PERF_MONITOR=y +CONFIG_LV_COLOR_16_SWAP=y +CONFIG_LV_MEM_CUSTOM=y +CONFIG_LV_MEMCPY_MEMSET_STD=y + +## LVGL9 ## +CONFIG_LV_CONF_SKIP=y + +#CLIB default +CONFIG_LV_USE_CLIB_MALLOC=y +CONFIG_LV_USE_CLIB_SPRINTF=y +CONFIG_LV_USE_CLIB_STRING=y + +# Performance monitor +CONFIG_LV_USE_OBSERVER=y +CONFIG_LV_USE_SYSMON=y +CONFIG_LV_USE_PERF_MONITOR=y diff --git a/examples/display_lvgl_demos/sdkconfig.bsp.esp32_s3_korvo_2 b/examples/display_lvgl_demos/sdkconfig.bsp.esp32_s3_korvo_2 index 15d99b18..a177bdc6 100644 --- a/examples/display_lvgl_demos/sdkconfig.bsp.esp32_s3_korvo_2 +++ b/examples/display_lvgl_demos/sdkconfig.bsp.esp32_s3_korvo_2 @@ -4,6 +4,7 @@ CONFIG_IDF_TARGET="esp32s3" CONFIG_ESPTOOLPY_FLASHMODE_QIO=y CONFIG_COMPILER_OPTIMIZATION_PERF=y +CONFIG_PARTITION_TABLE_CUSTOM=y CONFIG_SPIRAM=y CONFIG_SPIRAM_MODE_OCT=y CONFIG_SPIRAM_FETCH_INSTRUCTIONS=y @@ -11,10 +12,7 @@ CONFIG_SPIRAM_RODATA=y CONFIG_SPIRAM_SPEED_80M=y CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y CONFIG_FREERTOS_HZ=1000 -CONFIG_LV_COLOR_16_SWAP=y -CONFIG_LV_MEM_CUSTOM=y -CONFIG_LV_MEMCPY_MEMSET_STD=y -CONFIG_LV_USE_PERF_MONITOR=y +CONFIG_LV_MEM_SIZE_KILOBYTES=48 CONFIG_LV_ATTRIBUTE_FAST_MEM_USE_IRAM=y CONFIG_LV_FONT_MONTSERRAT_12=y CONFIG_LV_FONT_MONTSERRAT_16=y @@ -23,3 +21,23 @@ CONFIG_LV_USE_DEMO_BENCHMARK=y CONFIG_LV_USE_DEMO_STRESS=y CONFIG_LV_USE_DEMO_MUSIC=y CONFIG_LV_DEMO_MUSIC_AUTO_PLAY=y +CONFIG_LV_DEMO_MUSIC_SQUARE=y + +## LVGL8 ## +CONFIG_LV_USE_PERF_MONITOR=y +CONFIG_LV_COLOR_16_SWAP=y +CONFIG_LV_MEM_CUSTOM=y +CONFIG_LV_MEMCPY_MEMSET_STD=y + +## LVGL9 ## +CONFIG_LV_CONF_SKIP=y + +#CLIB default +CONFIG_LV_USE_CLIB_MALLOC=y +CONFIG_LV_USE_CLIB_SPRINTF=y +CONFIG_LV_USE_CLIB_STRING=y + +# Performance monitor +CONFIG_LV_USE_OBSERVER=y +CONFIG_LV_USE_SYSMON=y +CONFIG_LV_USE_PERF_MONITOR=y diff --git a/examples/display_lvgl_demos/sdkconfig.bsp.m5stack_core_s3 b/examples/display_lvgl_demos/sdkconfig.bsp.m5stack_core_s3 new file mode 100644 index 00000000..714e5299 --- /dev/null +++ b/examples/display_lvgl_demos/sdkconfig.bsp.m5stack_core_s3 @@ -0,0 +1,43 @@ +# This file was generated using idf.py save-defconfig. It can be edited manually. +# Espressif IoT Development Framework (ESP-IDF) Project Minimal Configuration +# +CONFIG_IDF_TARGET="esp32s3" +CONFIG_ESPTOOLPY_FLASHMODE_QIO=y +CONFIG_COMPILER_OPTIMIZATION_PERF=y +CONFIG_PARTITION_TABLE_CUSTOM=y +CONFIG_SPIRAM=y +CONFIG_SPIRAM_MODE_QUAD=y +CONFIG_SPIRAM_FETCH_INSTRUCTIONS=y +CONFIG_SPIRAM_RODATA=y +CONFIG_SPIRAM_SPEED_80M=y +CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y +CONFIG_FREERTOS_HZ=1000 +CONFIG_LV_MEM_SIZE_KILOBYTES=48 +CONFIG_LV_ATTRIBUTE_FAST_MEM_USE_IRAM=y +CONFIG_LV_FONT_MONTSERRAT_12=y +CONFIG_LV_FONT_MONTSERRAT_16=y +CONFIG_LV_USE_DEMO_WIDGETS=y +CONFIG_LV_USE_DEMO_BENCHMARK=y +CONFIG_LV_USE_DEMO_STRESS=y +CONFIG_LV_USE_DEMO_MUSIC=y +CONFIG_LV_DEMO_MUSIC_AUTO_PLAY=y +CONFIG_LV_DEMO_MUSIC_SQUARE=y + +## LVGL8 ## +CONFIG_LV_USE_PERF_MONITOR=y +CONFIG_LV_COLOR_16_SWAP=y +CONFIG_LV_MEM_CUSTOM=y +CONFIG_LV_MEMCPY_MEMSET_STD=y + +## LVGL9 ## +CONFIG_LV_CONF_SKIP=y + +#CLIB default +CONFIG_LV_USE_CLIB_MALLOC=y +CONFIG_LV_USE_CLIB_SPRINTF=y +CONFIG_LV_USE_CLIB_STRING=y + +# Performance monitor +CONFIG_LV_USE_OBSERVER=y +CONFIG_LV_USE_SYSMON=y +CONFIG_LV_USE_PERF_MONITOR=y diff --git a/examples/display_lvgl_demos/sdkconfig.defaults b/examples/display_lvgl_demos/sdkconfig.defaults index 91bd0147..bc27b6d8 100644 --- a/examples/display_lvgl_demos/sdkconfig.defaults +++ b/examples/display_lvgl_demos/sdkconfig.defaults @@ -4,6 +4,7 @@ CONFIG_IDF_TARGET="esp32s3" CONFIG_ESPTOOLPY_FLASHMODE_QIO=y CONFIG_COMPILER_OPTIMIZATION_PERF=y +CONFIG_PARTITION_TABLE_CUSTOM=y CONFIG_SPIRAM=y CONFIG_SPIRAM_MODE_OCT=y CONFIG_SPIRAM_FETCH_INSTRUCTIONS=y @@ -16,8 +17,7 @@ CONFIG_BSP_LCD_RGB_BUFFER_NUMS=2 CONFIG_BSP_LCD_RGB_BOUNCE_BUFFER_MODE=y CONFIG_BSP_DISPLAY_LVGL_AVOID_TEAR=y CONFIG_BSP_DISPLAY_LVGL_DIRECT_MODE=y -CONFIG_LV_MEM_CUSTOM=y -CONFIG_LV_MEMCPY_MEMSET_STD=y +CONFIG_LV_MEM_SIZE_KILOBYTES=48 CONFIG_LV_USE_PERF_MONITOR=y CONFIG_LV_ATTRIBUTE_FAST_MEM_USE_IRAM=y CONFIG_LV_FONT_MONTSERRAT_12=y diff --git a/examples/display_rotation/main/CMakeLists.txt b/examples/display_rotation/main/CMakeLists.txt index d1e80f21..914c3a10 100644 --- a/examples/display_rotation/main/CMakeLists.txt +++ b/examples/display_rotation/main/CMakeLists.txt @@ -1,11 +1,5 @@ idf_component_register(SRCS "main.c" INCLUDE_DIRS ".") -if(COMMAND lvgl_port_create_c_image) - lvgl_port_create_c_image("images/esp_logo.png" "images/" "ARGB8888" "NONE") - lvgl_port_add_images(${COMPONENT_LIB} "images/") -else() - file(GLOB_RECURSE IMAGE_SOURCES images/*.c) - target_sources(${COMPONENT_LIB} PRIVATE ${IMAGE_SOURCES}) - idf_build_set_property(COMPILE_OPTIONS "-DLV_LVGL_H_INCLUDE_SIMPLE=1" APPEND) -endif() +lvgl_port_create_c_image("images/esp_logo.png" "images/gen/" "ARGB8888" "NONE") +lvgl_port_add_images(${COMPONENT_LIB} "images/gen/") diff --git a/examples/display_rotation/main/main.c b/examples/display_rotation/main/main.c index b5da5437..51e41047 100644 --- a/examples/display_rotation/main/main.c +++ b/examples/display_rotation/main/main.c @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD + * SPDX-FileCopyrightText: 2022-2024 Espressif Systems (Shanghai) CO LTD * * SPDX-License-Identifier: CC0-1.0 */ @@ -18,7 +18,7 @@ LV_IMG_DECLARE(esp_logo) static lv_disp_t *display; static lv_obj_t *lbl_rotation; -static lv_disp_rot_t rotation = LV_DISP_ROT_NONE; +static lv_disp_rotation_t rotation = LV_DISPLAY_ROTATION_0; #if BSP_CAPS_IMU static icm42670_handle_t imu = NULL; #endif @@ -28,16 +28,16 @@ static icm42670_handle_t imu = NULL; * Private functions *******************************************************************************/ -static uint16_t app_lvgl_get_rotation_degrees(lv_disp_rot_t rotation) +static uint16_t app_lvgl_get_rotation_degrees(lv_disp_rotation_t rotation) { switch (rotation) { - case LV_DISP_ROT_NONE: + case LV_DISPLAY_ROTATION_0: return 0; - case LV_DISP_ROT_90: + case LV_DISPLAY_ROTATION_90: return 90; - case LV_DISP_ROT_180: + case LV_DISPLAY_ROTATION_180: return 180; - case LV_DISP_ROT_270: + case LV_DISPLAY_ROTATION_270: return 270; } @@ -46,8 +46,8 @@ static uint16_t app_lvgl_get_rotation_degrees(lv_disp_rot_t rotation) static void app_lvgl_btn_right_cb(lv_event_t *e) { - if (rotation == LV_DISP_ROT_270) { - rotation = LV_DISP_ROT_NONE; + if (rotation == LV_DISPLAY_ROTATION_270) { + rotation = LV_DISPLAY_ROTATION_0; } else { rotation++; } @@ -62,8 +62,8 @@ static void app_lvgl_btn_right_cb(lv_event_t *e) static void app_lvgl_btn_left_cb(lv_event_t *e) { - if (rotation == LV_DISP_ROT_NONE) { - rotation = LV_DISP_ROT_270; + if (rotation == LV_DISPLAY_ROTATION_0) { + rotation = LV_DISPLAY_ROTATION_270; } else { rotation--; } @@ -125,7 +125,7 @@ static void app_lvgl_display(void) /* Input device group */ lv_indev_t *indev = bsp_display_get_input_dev(); - if (indev && indev->driver && indev->driver->type == LV_INDEV_TYPE_ENCODER) { + if (indev && lv_indev_get_type(indev) == LV_INDEV_TYPE_ENCODER) { lv_group_t *main_group = lv_group_create(); lv_group_add_obj(main_group, btn_left); lv_group_add_obj(main_group, btn_right); @@ -176,32 +176,32 @@ static void app_imu_read(void) ESP_LOGI(TAG, "Angle roll: %.2f pitch: %.2f ", angle.roll, angle.pitch); if (acce_val.x > 5) { - if (rotation != LV_DISP_ROT_NONE) { - rotation = LV_DISP_ROT_NONE; + if (rotation != LV_DISPLAY_ROTATION_0) { + rotation = LV_DISPLAY_ROTATION_0; bsp_display_lock(0); bsp_display_rotate(display, rotation); lv_label_set_text_fmt(lbl_rotation, "Rotation %d°", app_lvgl_get_rotation_degrees(rotation)); bsp_display_unlock(); } } else if (acce_val.x < -5) { - if (rotation != LV_DISP_ROT_180) { - rotation = LV_DISP_ROT_180; + if (rotation != LV_DISPLAY_ROTATION_180) { + rotation = LV_DISPLAY_ROTATION_180; bsp_display_lock(0); bsp_display_rotate(display, rotation); lv_label_set_text_fmt(lbl_rotation, "Rotation %d°", app_lvgl_get_rotation_degrees(rotation)); bsp_display_unlock(); } } else if (acce_val.y > 5) { - if (rotation != LV_DISP_ROT_270) { - rotation = LV_DISP_ROT_270; + if (rotation != LV_DISPLAY_ROTATION_270) { + rotation = LV_DISPLAY_ROTATION_270; bsp_display_lock(0); bsp_display_rotate(display, rotation); lv_label_set_text_fmt(lbl_rotation, "Rotation %d°", app_lvgl_get_rotation_degrees(rotation)); bsp_display_unlock(); } } else if (acce_val.y < -5) { - if (rotation != LV_DISP_ROT_90) { - rotation = LV_DISP_ROT_90; + if (rotation != LV_DISPLAY_ROTATION_90) { + rotation = LV_DISPLAY_ROTATION_90; bsp_display_lock(0); bsp_display_rotate(display, rotation); lv_label_set_text_fmt(lbl_rotation, "Rotation %d°", app_lvgl_get_rotation_degrees(rotation)); @@ -214,9 +214,6 @@ static void app_imu_read(void) void app_main(void) { - /* Initialize I2C (for touch and audio) */ - bsp_i2c_init(); - /* Initialize display and LVGL */ display = bsp_display_start(); diff --git a/examples/display_rotation/sdkconfig.bsp.esp-box b/examples/display_rotation/sdkconfig.bsp.esp-box index b9cf09db..c862604d 100644 --- a/examples/display_rotation/sdkconfig.bsp.esp-box +++ b/examples/display_rotation/sdkconfig.bsp.esp-box @@ -2,8 +2,23 @@ # Espressif IoT Development Framework (ESP-IDF) Project Minimal Configuration # CONFIG_IDF_TARGET="esp32s3" +# CONFIG_LV_BUILD_EXAMPLES is not set + +## LVGL8 ## +CONFIG_LV_USE_PERF_MONITOR=y CONFIG_LV_COLOR_16_SWAP=y CONFIG_LV_MEM_CUSTOM=y CONFIG_LV_MEMCPY_MEMSET_STD=y + +## LVGL9 ## +CONFIG_LV_CONF_SKIP=y + +#CLIB default +CONFIG_LV_USE_CLIB_MALLOC=y +CONFIG_LV_USE_CLIB_SPRINTF=y +CONFIG_LV_USE_CLIB_STRING=y + +# Performance monitor +CONFIG_LV_USE_OBSERVER=y +CONFIG_LV_USE_SYSMON=y CONFIG_LV_USE_PERF_MONITOR=y -# CONFIG_LV_BUILD_EXAMPLES is not set diff --git a/examples/display_rotation/sdkconfig.bsp.esp-box-3 b/examples/display_rotation/sdkconfig.bsp.esp-box-3 index b9cf09db..c862604d 100644 --- a/examples/display_rotation/sdkconfig.bsp.esp-box-3 +++ b/examples/display_rotation/sdkconfig.bsp.esp-box-3 @@ -2,8 +2,23 @@ # Espressif IoT Development Framework (ESP-IDF) Project Minimal Configuration # CONFIG_IDF_TARGET="esp32s3" +# CONFIG_LV_BUILD_EXAMPLES is not set + +## LVGL8 ## +CONFIG_LV_USE_PERF_MONITOR=y CONFIG_LV_COLOR_16_SWAP=y CONFIG_LV_MEM_CUSTOM=y CONFIG_LV_MEMCPY_MEMSET_STD=y + +## LVGL9 ## +CONFIG_LV_CONF_SKIP=y + +#CLIB default +CONFIG_LV_USE_CLIB_MALLOC=y +CONFIG_LV_USE_CLIB_SPRINTF=y +CONFIG_LV_USE_CLIB_STRING=y + +# Performance monitor +CONFIG_LV_USE_OBSERVER=y +CONFIG_LV_USE_SYSMON=y CONFIG_LV_USE_PERF_MONITOR=y -# CONFIG_LV_BUILD_EXAMPLES is not set diff --git a/examples/display_rotation/sdkconfig.bsp.esp-box-lite b/examples/display_rotation/sdkconfig.bsp.esp-box-lite index b9cf09db..c862604d 100644 --- a/examples/display_rotation/sdkconfig.bsp.esp-box-lite +++ b/examples/display_rotation/sdkconfig.bsp.esp-box-lite @@ -2,8 +2,23 @@ # Espressif IoT Development Framework (ESP-IDF) Project Minimal Configuration # CONFIG_IDF_TARGET="esp32s3" +# CONFIG_LV_BUILD_EXAMPLES is not set + +## LVGL8 ## +CONFIG_LV_USE_PERF_MONITOR=y CONFIG_LV_COLOR_16_SWAP=y CONFIG_LV_MEM_CUSTOM=y CONFIG_LV_MEMCPY_MEMSET_STD=y + +## LVGL9 ## +CONFIG_LV_CONF_SKIP=y + +#CLIB default +CONFIG_LV_USE_CLIB_MALLOC=y +CONFIG_LV_USE_CLIB_SPRINTF=y +CONFIG_LV_USE_CLIB_STRING=y + +# Performance monitor +CONFIG_LV_USE_OBSERVER=y +CONFIG_LV_USE_SYSMON=y CONFIG_LV_USE_PERF_MONITOR=y -# CONFIG_LV_BUILD_EXAMPLES is not set diff --git a/examples/display_rotation/sdkconfig.bsp.esp32_s3_korvo_2 b/examples/display_rotation/sdkconfig.bsp.esp32_s3_korvo_2 index b9cf09db..c862604d 100644 --- a/examples/display_rotation/sdkconfig.bsp.esp32_s3_korvo_2 +++ b/examples/display_rotation/sdkconfig.bsp.esp32_s3_korvo_2 @@ -2,8 +2,23 @@ # Espressif IoT Development Framework (ESP-IDF) Project Minimal Configuration # CONFIG_IDF_TARGET="esp32s3" +# CONFIG_LV_BUILD_EXAMPLES is not set + +## LVGL8 ## +CONFIG_LV_USE_PERF_MONITOR=y CONFIG_LV_COLOR_16_SWAP=y CONFIG_LV_MEM_CUSTOM=y CONFIG_LV_MEMCPY_MEMSET_STD=y + +## LVGL9 ## +CONFIG_LV_CONF_SKIP=y + +#CLIB default +CONFIG_LV_USE_CLIB_MALLOC=y +CONFIG_LV_USE_CLIB_SPRINTF=y +CONFIG_LV_USE_CLIB_STRING=y + +# Performance monitor +CONFIG_LV_USE_OBSERVER=y +CONFIG_LV_USE_SYSMON=y CONFIG_LV_USE_PERF_MONITOR=y -# CONFIG_LV_BUILD_EXAMPLES is not set diff --git a/examples/display_rotation/sdkconfig.bsp.esp32_s3_lcd_ev_board b/examples/display_rotation/sdkconfig.bsp.esp32_s3_lcd_ev_board new file mode 100644 index 00000000..7d8a5cdf --- /dev/null +++ b/examples/display_rotation/sdkconfig.bsp.esp32_s3_lcd_ev_board @@ -0,0 +1,37 @@ +# This file was generated using idf.py save-defconfig. It can be edited manually. +# Espressif IoT Development Framework (ESP-IDF) Project Minimal Configuration +# +CONFIG_IDF_TARGET="esp32s3" +CONFIG_ESPTOOLPY_FLASHMODE_QIO=y +CONFIG_COMPILER_OPTIMIZATION_PERF=y +CONFIG_SPIRAM=y +CONFIG_SPIRAM_MODE_OCT=y +CONFIG_SPIRAM_FETCH_INSTRUCTIONS=y +CONFIG_SPIRAM_RODATA=y +CONFIG_SPIRAM_SPEED_80M=y +CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y +CONFIG_ESP32S3_DATA_CACHE_LINE_64B=y +CONFIG_FREERTOS_HZ=1000 +CONFIG_BSP_LCD_RGB_BUFFER_NUMS=2 +CONFIG_BSP_LCD_RGB_BOUNCE_BUFFER_MODE=y +CONFIG_BSP_DISPLAY_LVGL_DIRECT_MODE=y +CONFIG_LV_ATTRIBUTE_FAST_MEM_USE_IRAM=y + +## LVGL8 ## +CONFIG_LV_USE_PERF_MONITOR=y +CONFIG_LV_COLOR_16_SWAP=y +CONFIG_LV_MEM_CUSTOM=y +CONFIG_LV_MEMCPY_MEMSET_STD=y + +## LVGL9 ## +CONFIG_LV_CONF_SKIP=y + +#CLIB default +CONFIG_LV_USE_CLIB_MALLOC=y +CONFIG_LV_USE_CLIB_SPRINTF=y +CONFIG_LV_USE_CLIB_STRING=y + +# Performance monitor +CONFIG_LV_USE_OBSERVER=y +CONFIG_LV_USE_SYSMON=y +CONFIG_LV_USE_PERF_MONITOR=y diff --git a/examples/display_rotation/sdkconfig.bsp.m5stack_core_s3 b/examples/display_rotation/sdkconfig.bsp.m5stack_core_s3 index a81a2993..969a4267 100644 --- a/examples/display_rotation/sdkconfig.bsp.m5stack_core_s3 +++ b/examples/display_rotation/sdkconfig.bsp.m5stack_core_s3 @@ -4,7 +4,23 @@ CONFIG_IDF_TARGET="esp32s3" CONFIG_ESPTOOLPY_FLASHMODE_QIO=y CONFIG_ESPTOOLPY_FLASHSIZE_16MB=y +CONFIG_LV_MEMCPY_MEMSET_STD=y + +## LVGL8 ## +CONFIG_LV_USE_PERF_MONITOR=y CONFIG_LV_COLOR_16_SWAP=y CONFIG_LV_MEM_CUSTOM=y CONFIG_LV_MEMCPY_MEMSET_STD=y + +## LVGL9 ## +CONFIG_LV_CONF_SKIP=y + +#CLIB default +CONFIG_LV_USE_CLIB_MALLOC=y +CONFIG_LV_USE_CLIB_SPRINTF=y +CONFIG_LV_USE_CLIB_STRING=y + +# Performance monitor +CONFIG_LV_USE_OBSERVER=y +CONFIG_LV_USE_SYSMON=y CONFIG_LV_USE_PERF_MONITOR=y diff --git a/examples/display_rotation/sdkconfig.defaults b/examples/display_rotation/sdkconfig.defaults index b9cf09db..c862604d 100644 --- a/examples/display_rotation/sdkconfig.defaults +++ b/examples/display_rotation/sdkconfig.defaults @@ -2,8 +2,23 @@ # Espressif IoT Development Framework (ESP-IDF) Project Minimal Configuration # CONFIG_IDF_TARGET="esp32s3" +# CONFIG_LV_BUILD_EXAMPLES is not set + +## LVGL8 ## +CONFIG_LV_USE_PERF_MONITOR=y CONFIG_LV_COLOR_16_SWAP=y CONFIG_LV_MEM_CUSTOM=y CONFIG_LV_MEMCPY_MEMSET_STD=y + +## LVGL9 ## +CONFIG_LV_CONF_SKIP=y + +#CLIB default +CONFIG_LV_USE_CLIB_MALLOC=y +CONFIG_LV_USE_CLIB_SPRINTF=y +CONFIG_LV_USE_CLIB_STRING=y + +# Performance monitor +CONFIG_LV_USE_OBSERVER=y +CONFIG_LV_USE_SYSMON=y CONFIG_LV_USE_PERF_MONITOR=y -# CONFIG_LV_BUILD_EXAMPLES is not set diff --git a/examples/display_sensors/main/sensors_example.c b/examples/display_sensors/main/sensors_example.c index 3e4a5634..dea5bb52 100644 --- a/examples/display_sensors/main/sensors_example.c +++ b/examples/display_sensors/main/sensors_example.c @@ -43,7 +43,7 @@ static void display_show_signs(void) lv_obj_t *label = lv_label_create(main_screen); lv_label_set_text_static(label, LV_SYMBOL_WIFI" "LV_SYMBOL_USB" "LV_SYMBOL_BELL" "LV_SYMBOL_GPS" "LV_SYMBOL_BATTERY_EMPTY); lv_obj_set_style_text_align(label, LV_TEXT_ALIGN_CENTER, 0); - lv_obj_set_width(label, disp->driver->hor_res); + lv_obj_set_width(label, lv_display_get_physical_horizontal_resolution(disp)); lv_obj_align(label, LV_ALIGN_TOP_MID, 0, 0); bsp_display_unlock(); } @@ -247,7 +247,7 @@ void app_main(void) main_label = lv_label_create(main_screen); lv_label_set_text_static(main_label, "Magnetometer\ncalibration"); lv_obj_set_style_text_align(main_label, LV_TEXT_ALIGN_CENTER, 0); - lv_obj_set_width(main_label, disp->driver->hor_res); + lv_obj_set_width(main_label, lv_display_get_physical_horizontal_resolution(disp)); lv_obj_align(main_label, LV_ALIGN_TOP_MID, 0, 15); bsp_display_unlock(); diff --git a/examples/display_sensors/sdkconfig.bsp.esp32_azure_iot_kit b/examples/display_sensors/sdkconfig.bsp.esp32_azure_iot_kit index c37f6129..fbb1dbe9 100644 --- a/examples/display_sensors/sdkconfig.bsp.esp32_azure_iot_kit +++ b/examples/display_sensors/sdkconfig.bsp.esp32_azure_iot_kit @@ -4,3 +4,11 @@ CONFIG_IDF_TARGET="esp32" CONFIG_LV_SPRINTF_USE_FLOAT=y # CONFIG_LV_BUILD_EXAMPLES is not set + +## LVGL9 ## +CONFIG_LV_CONF_SKIP=y + +#CLIB default +CONFIG_LV_USE_CLIB_MALLOC=y +CONFIG_LV_USE_CLIB_SPRINTF=y +CONFIG_LV_USE_CLIB_STRING=y diff --git a/examples/display_sensors/sdkconfig.defaults b/examples/display_sensors/sdkconfig.defaults index c37f6129..7a45b85c 100644 --- a/examples/display_sensors/sdkconfig.defaults +++ b/examples/display_sensors/sdkconfig.defaults @@ -2,5 +2,14 @@ # Espressif IoT Development Framework (ESP-IDF) Project Minimal Configuration # CONFIG_IDF_TARGET="esp32" +CONFIG_LV_USE_FLOAT=y CONFIG_LV_SPRINTF_USE_FLOAT=y # CONFIG_LV_BUILD_EXAMPLES is not set + +## LVGL9 ## +CONFIG_LV_CONF_SKIP=y + +#CLIB default +CONFIG_LV_USE_CLIB_MALLOC=y +CONFIG_LV_USE_CLIB_SPRINTF=y +CONFIG_LV_USE_CLIB_STRING=y diff --git a/examples/display_usb_hid/sdkconfig.bsp.esp32_s3_usb_otg b/examples/display_usb_hid/sdkconfig.bsp.esp32_s3_usb_otg new file mode 100644 index 00000000..c3ebb38f --- /dev/null +++ b/examples/display_usb_hid/sdkconfig.bsp.esp32_s3_usb_otg @@ -0,0 +1,23 @@ +# This file was generated using idf.py save-defconfig. It can be edited manually. +# Espressif IoT Development Framework (ESP-IDF) Project Minimal Configuration +# +CONFIG_IDF_TARGET="esp32s3" + +## LVGL8 ## +CONFIG_LV_USE_PERF_MONITOR=y +CONFIG_LV_COLOR_16_SWAP=y +CONFIG_LV_MEM_CUSTOM=y +CONFIG_LV_MEMCPY_MEMSET_STD=y + +## LVGL9 ## +CONFIG_LV_CONF_SKIP=y + +#CLIB default +CONFIG_LV_USE_CLIB_MALLOC=y +CONFIG_LV_USE_CLIB_SPRINTF=y +CONFIG_LV_USE_CLIB_STRING=y + +# Performance monitor +CONFIG_LV_USE_OBSERVER=y +CONFIG_LV_USE_SYSMON=y +CONFIG_LV_USE_PERF_MONITOR=y diff --git a/examples/display_usb_hid/sdkconfig.defaults b/examples/display_usb_hid/sdkconfig.defaults index 80a2848c..c3ebb38f 100644 --- a/examples/display_usb_hid/sdkconfig.defaults +++ b/examples/display_usb_hid/sdkconfig.defaults @@ -2,7 +2,22 @@ # Espressif IoT Development Framework (ESP-IDF) Project Minimal Configuration # CONFIG_IDF_TARGET="esp32s3" + +## LVGL8 ## +CONFIG_LV_USE_PERF_MONITOR=y CONFIG_LV_COLOR_16_SWAP=y CONFIG_LV_MEM_CUSTOM=y CONFIG_LV_MEMCPY_MEMSET_STD=y + +## LVGL9 ## +CONFIG_LV_CONF_SKIP=y + +#CLIB default +CONFIG_LV_USE_CLIB_MALLOC=y +CONFIG_LV_USE_CLIB_SPRINTF=y +CONFIG_LV_USE_CLIB_STRING=y + +# Performance monitor +CONFIG_LV_USE_OBSERVER=y +CONFIG_LV_USE_SYSMON=y CONFIG_LV_USE_PERF_MONITOR=y diff --git a/examples/mqtt_example/main/mqtt_example_main.c b/examples/mqtt_example/main/mqtt_example_main.c index 36dc16bb..b3b73f2b 100644 --- a/examples/mqtt_example/main/mqtt_example_main.c +++ b/examples/mqtt_example/main/mqtt_example_main.c @@ -136,7 +136,7 @@ void app_main(void) lv_obj_t *main_label = lv_label_create(main_screen); lv_label_set_text_static(main_label, LV_SYMBOL_WIFI"\nWifi\nconnecting..."); lv_obj_set_style_text_align(main_label, LV_TEXT_ALIGN_CENTER, 0); - lv_obj_set_width(main_label, disp->driver->hor_res); + lv_obj_set_width(main_label, lv_display_get_physical_horizontal_resolution(disp)); lv_obj_align(main_label, LV_ALIGN_TOP_MID, 0, 0); bsp_display_unlock(); diff --git a/examples/mqtt_example/sdkconfig.bsp.esp32_azure_iot_kit b/examples/mqtt_example/sdkconfig.bsp.esp32_azure_iot_kit index dd313399..752f58b6 100644 --- a/examples/mqtt_example/sdkconfig.bsp.esp32_azure_iot_kit +++ b/examples/mqtt_example/sdkconfig.bsp.esp32_azure_iot_kit @@ -6,3 +6,11 @@ CONFIG_LV_SPRINTF_USE_FLOAT=y CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y CONFIG_PARTITION_TABLE_CUSTOM=y # CONFIG_LV_BUILD_EXAMPLES is not set + +## LVGL9 ## +CONFIG_LV_CONF_SKIP=y + +#CLIB default +CONFIG_LV_USE_CLIB_MALLOC=y +CONFIG_LV_USE_CLIB_SPRINTF=y +CONFIG_LV_USE_CLIB_STRING=y