From 76e31619972c6d38e005b941bfeecd6d6be97031 Mon Sep 17 00:00:00 2001 From: Vilem Zavodny Date: Mon, 15 Jan 2024 14:39:19 +0100 Subject: [PATCH] LVGL: Updated BSPs and examples for new ESP LVGL Port (LVGL9) --- .../build-examples-gh-pages-on-push.yml | 2 +- SquareLine/boards/espbox_3/sdkconfig.defaults | 8 ---- .../boards/espbox_lite/sdkconfig.defaults | 8 ---- .../{ => v8}/custom_waveshare_7inch/README.md | 0 .../components/ws_7inch/CMakeLists.txt | 0 .../components/ws_7inch/LICENSE | 0 .../components/ws_7inch/README.md | 0 .../components/ws_7inch/idf_component.yml | 0 .../components/ws_7inch/include/bsp/display.h | 0 .../components/ws_7inch/include/bsp/esp-bsp.h | 0 .../components/ws_7inch/include/bsp/touch.h | 0 .../ws_7inch/include/bsp/ws_7inch.h | 0 .../components/ws_7inch/pic.jpg | Bin .../ws_7inch/priv_include/bsp_err_check.h | 0 .../components/ws_7inch/ws_7inch.c | 0 .../{ => v8}/custom_waveshare_7inch/image.png | Bin .../main/idf_component.yml | 0 .../custom_waveshare_7inch/manifest.json | 2 + .../custom_waveshare_7inch/sdkconfig.defaults | 2 +- .../boards/{ => v8}/esp32_c3_lcdkit/image.png | Bin .../esp32_c3_lcdkit/main/idf_component.yml | 2 +- .../{ => v8}/esp32_c3_lcdkit/manifest.json | 2 + .../esp32_c3_lcdkit/sdkconfig.defaults | 0 .../{ => v8}/esp32_s2_kaluga_kit/image.png | Bin .../main/idf_component.yml | 2 +- .../esp32_s2_kaluga_kit/manifest.json | 2 + .../esp32_s2_kaluga_kit/sdkconfig.defaults | 2 +- .../boards/{ => v8}/esp32_s3_eye/image.png | Bin .../esp32_s3_eye}/main/idf_component.yml | 2 +- .../{ => v8}/esp32_s3_eye/manifest.json | 2 + .../esp32_s3_eye}/sdkconfig.defaults | 2 +- .../{ => v8}/esp32_s3_korvo_2/image.png | Bin .../esp32_s3_korvo_2/main/idf_component.yml | 6 +++ .../{ => v8}/esp32_s3_korvo_2/manifest.json | 2 + .../esp32_s3_korvo_2}/sdkconfig.defaults | 2 +- .../{ => v8}/esp32_s3_lcd_ev_board/image.png | Bin .../main/idf_component.yml | 2 +- .../esp32_s3_lcd_ev_board/manifest.json | 2 + .../esp32_s3_lcd_ev_board/partitions.csv | 0 .../esp32_s3_lcd_ev_board/sdkconfig.defaults | 0 .../{ => v8}/esp32_s3_usb_otg/image.png | Bin .../esp32_s3_usb_otg/main/idf_component.yml | 6 +++ .../{ => v8}/esp32_s3_usb_otg/manifest.json | 2 + .../esp32_s3_usb_otg}/sdkconfig.defaults | 2 +- SquareLine/boards/{ => v8}/espbox/image.png | Bin .../{ => v8}/espbox/main/idf_component.yml | 2 +- .../boards/{ => v8}/espbox/manifest.json | 2 + .../espbox}/sdkconfig.defaults | 2 +- SquareLine/boards/{ => v8}/espbox_3/image.png | Bin .../{ => v8}/espbox_3/main/idf_component.yml | 2 +- .../boards/{ => v8}/espbox_3/manifest.json | 2 + .../boards/v8/espbox_3/sdkconfig.defaults | 8 ++++ .../boards/{ => v8}/espbox_lite/image.png | Bin .../v8/espbox_lite/main/idf_component.yml | 6 +++ .../boards/{ => v8}/espbox_lite/manifest.json | 2 + .../boards/v8/espbox_lite/sdkconfig.defaults | 8 ++++ .../boards/{ => v8}/espwroverkit/image.png | Bin .../espwroverkit/main/idf_component.yml | 2 +- .../{ => v8}/espwroverkit/manifest.json | 2 + .../{ => v8}/espwroverkit/sdkconfig.defaults | 0 .../boards/{ => v8}/m5stack_core_s3/image.png | Bin .../m5stack_core_s3/main/idf_component.yml | 2 +- .../{ => v8}/m5stack_core_s3/manifest.json | 2 + .../{ => v8}/m5stack_core_s3/partitions.csv | 0 .../m5stack_core_s3/sdkconfig.defaults | 0 .../boards/v9/esp32_c3_lcdkit/image.png | Bin 0 -> 109454 bytes .../v9/esp32_c3_lcdkit/main/idf_component.yml | 6 +++ .../boards/v9/esp32_c3_lcdkit/manifest.json | 20 ++++++++ .../v9/esp32_c3_lcdkit/sdkconfig.defaults | 5 ++ .../boards/v9/esp32_s2_kaluga_kit/image.png | Bin 0 -> 90781 bytes .../main/idf_component.yml | 6 +++ .../v9/esp32_s2_kaluga_kit/manifest.json | 20 ++++++++ .../v9/esp32_s2_kaluga_kit/sdkconfig.defaults | 8 ++++ SquareLine/boards/v9/esp32_s3_eye/image.png | Bin 0 -> 96827 bytes .../v9/esp32_s3_eye/main/idf_component.yml | 6 +++ .../boards/v9/esp32_s3_eye/manifest.json | 20 ++++++++ .../boards/v9/esp32_s3_eye/sdkconfig.defaults | 8 ++++ .../boards/v9/esp32_s3_korvo_2/image.png | Bin 0 -> 118401 bytes .../esp32_s3_korvo_2/main/idf_component.yml | 6 +++ .../boards/v9/esp32_s3_korvo_2/manifest.json | 20 ++++++++ .../v9/esp32_s3_korvo_2/sdkconfig.defaults | 8 ++++ .../boards/v9/esp32_s3_lcd_ev_board/image.png | Bin 0 -> 141674 bytes .../main/idf_component.yml | 5 ++ .../v9/esp32_s3_lcd_ev_board/manifest.json | 20 ++++++++ .../v9/esp32_s3_lcd_ev_board/partitions.csv | 6 +++ .../esp32_s3_lcd_ev_board/sdkconfig.defaults | 24 ++++++++++ .../boards/v9/esp32_s3_usb_otg/image.png | Bin 0 -> 73232 bytes .../esp32_s3_usb_otg/main/idf_component.yml | 6 +++ .../boards/v9/esp32_s3_usb_otg/manifest.json | 20 ++++++++ .../v9/esp32_s3_usb_otg/sdkconfig.defaults | 8 ++++ SquareLine/boards/v9/espbox/image.png | Bin 0 -> 78786 bytes .../espbox}/main/idf_component.yml | 2 +- SquareLine/boards/v9/espbox/manifest.json | 20 ++++++++ .../boards/v9/espbox/sdkconfig.defaults | 8 ++++ SquareLine/boards/v9/espbox_3/image.png | Bin 0 -> 73840 bytes .../espbox_3}/main/idf_component.yml | 2 +- SquareLine/boards/v9/espbox_3/manifest.json | 20 ++++++++ .../boards/v9/espbox_3/sdkconfig.defaults | 8 ++++ SquareLine/boards/v9/espbox_lite/image.png | Bin 0 -> 47286 bytes .../espbox_lite}/main/idf_component.yml | 2 +- .../boards/v9/espbox_lite/manifest.json | 20 ++++++++ .../boards/v9/espbox_lite/sdkconfig.defaults | 8 ++++ SquareLine/boards/v9/espwroverkit/image.png | Bin 0 -> 92708 bytes .../v9/espwroverkit/main/idf_component.yml | 6 +++ .../boards/v9/espwroverkit/manifest.json | 20 ++++++++ .../boards/v9/espwroverkit/sdkconfig.defaults | 11 +++++ .../boards/v9/m5stack_core_s3/image.png | Bin 0 -> 66369 bytes .../v9/m5stack_core_s3/main/idf_component.yml | 6 +++ .../boards/v9/m5stack_core_s3/manifest.json | 20 ++++++++ .../boards/v9/m5stack_core_s3/partitions.csv | 5 ++ .../v9/m5stack_core_s3/sdkconfig.defaults | 11 +++++ SquareLine/gen.py | 16 +++++-- bsp/esp-box-3/esp-box-3.c | 17 ++++--- bsp/esp-box-3/idf_component.yml | 3 +- bsp/esp-box-3/include/bsp/display.h | 19 ++++++-- bsp/esp-box-3/include/bsp/esp-box-3.h | 6 +-- bsp/esp-box-lite/esp-box-lite.c | 17 ++++--- bsp/esp-box-lite/idf_component.yml | 3 +- bsp/esp-box-lite/include/bsp/display.h | 19 ++++++-- bsp/esp-box-lite/include/bsp/esp-box-lite.h | 6 +-- bsp/esp-box/esp-box.c | 17 ++++--- bsp/esp-box/idf_component.yml | 3 +- bsp/esp-box/include/bsp/display.h | 19 ++++++-- bsp/esp-box/include/bsp/esp-box.h | 6 +-- bsp/esp32_azure_iot_kit/README.md | 20 ++++++++ bsp/esp32_azure_iot_kit/esp32_azure_iot_kit.c | 16 +++++-- bsp/esp32_azure_iot_kit/idf_component.yml | 3 +- bsp/esp32_azure_iot_kit/include/bsp/display.h | 1 + .../include/bsp/esp32_azure_iot_kit.h | 6 +-- bsp/esp32_c3_lcdkit/Kconfig | 2 +- bsp/esp32_c3_lcdkit/README.md | 24 +++++----- bsp/esp32_c3_lcdkit/esp32_c3_lcdkit.c | 13 ++++-- bsp/esp32_c3_lcdkit/idf_component.yml | 5 +- bsp/esp32_c3_lcdkit/include/bsp/display.h | 19 ++++++-- .../include/bsp/esp32_c3_lcdkit.h | 17 ++++++- bsp/esp32_lyrat/README.md | 18 +++++--- bsp/esp32_lyrat/include/bsp/esp32_lyrat.h | 13 ++++++ bsp/esp32_p4_function_ev_board/README.md | 14 ++++++ .../esp32_p4_function_ev_board.c | 7 ++- .../include/bsp/display.h | 19 ++++++-- bsp/esp32_s2_kaluga_kit/README.md | 24 ++++++---- bsp/esp32_s2_kaluga_kit/esp32_s2_kaluga_kit.c | 17 +++++-- bsp/esp32_s2_kaluga_kit/idf_component.yml | 3 +- bsp/esp32_s2_kaluga_kit/include/bsp/display.h | 1 + .../include/bsp/esp32_s2_kaluga_kit.h | 23 ++++++++-- bsp/esp32_s3_eye/README.md | 2 +- bsp/esp32_s3_eye/esp32_s3_eye.c | 17 ++++--- bsp/esp32_s3_eye/idf_component.yml | 5 +- bsp/esp32_s3_eye/include/bsp/display.h | 19 ++++++-- bsp/esp32_s3_eye/include/bsp/esp32_s3_eye.h | 10 ++-- bsp/esp32_s3_korvo_2/README.md | 26 ++++++----- bsp/esp32_s3_korvo_2/esp32_s3_korvo_2.c | 21 ++++++--- bsp/esp32_s3_korvo_2/idf_component.yml | 5 +- bsp/esp32_s3_korvo_2/include/bsp/display.h | 34 ++------------ .../include/bsp/esp32_s3_korvo_2.h | 23 ++++++++-- bsp/esp32_s3_lcd_ev_board/idf_component.yml | 2 +- .../include/bsp/display.h | 8 ++++ .../src/esp32_s3_lcd_ev_board.c | 8 +++- bsp/esp32_s3_usb_otg/README.md | 2 +- bsp/esp32_s3_usb_otg/esp32_s3_usb_otg.c | 15 +++--- bsp/esp32_s3_usb_otg/idf_component.yml | 3 +- bsp/esp32_s3_usb_otg/include/bsp/display.h | 19 ++++++-- .../include/bsp/esp32_s3_usb_otg.h | 6 +-- bsp/esp_bsp_generic/idf_component.yml | 3 +- bsp/esp_bsp_generic/include/bsp/display.h | 19 ++++++-- .../include/bsp/esp_bsp_generic.h | 8 ++-- bsp/esp_bsp_generic/src/esp_bsp_generic.c | 19 ++++---- bsp/esp_wrover_kit/README.md | 20 +++++--- bsp/esp_wrover_kit/esp_wrover_kit.c | 15 +++--- bsp/esp_wrover_kit/idf_component.yml | 3 +- bsp/esp_wrover_kit/include/bsp/display.h | 19 ++++++-- .../include/bsp/esp_wrover_kit.h | 19 ++++++-- bsp/m5stack_core_s3/README.md | 20 ++------ bsp/m5stack_core_s3/idf_component.yml | 4 +- bsp/m5stack_core_s3/include/bsp/display.h | 18 ++++++-- .../include/bsp/m5stack_core_s3.h | 10 ++-- bsp/m5stack_core_s3/m5stack_core_s3.c | 19 ++++---- examples/audio/sdkconfig.bsp.esp32_lyrat | 3 -- .../audio/sdkconfig.bsp.esp32_s2_kaluga_kit | 3 -- examples/audio/sdkconfig.bsp.esp32_s3_korvo_2 | 3 -- examples/audio/sdkconfig.defaults | 3 -- examples/display/main/CMakeLists.txt | 12 ++--- examples/display/sdkconfig.bsp.esp-box | 19 +++++++- examples/display/sdkconfig.bsp.esp-box-3 | 19 +++++++- examples/display/sdkconfig.bsp.esp-box-lite | 19 +++++++- .../display/sdkconfig.bsp.esp32_c3_lcdkit | 19 +++++++- .../display/sdkconfig.bsp.esp32_s2_kaluga_kit | 19 +++++++- examples/display/sdkconfig.bsp.esp32_s3_eye | 23 ++++++++-- .../display/sdkconfig.bsp.esp32_s3_korvo_2 | 19 +++++++- .../display/sdkconfig.bsp.esp32_s3_usb_otg | 19 +++++++- examples/display/sdkconfig.bsp.esp_wrover_kit | 19 +++++++- .../display/sdkconfig.bsp.m5stack_core_s3 | 15 ++++++ examples/display/sdkconfig.defaults | 19 +++++++- .../display_audio_photo/main/app_disp_fs.c | 29 +++++++----- .../main/idf_component.yml | 2 +- .../display_audio_photo/sdkconfig.bsp.esp-box | 19 +++++++- .../sdkconfig.bsp.esp-box-3 | 19 +++++++- .../sdkconfig.bsp.esp-box-lite | 19 +++++++- .../sdkconfig.bsp.esp32_s3_korvo_2 | 19 +++++++- .../sdkconfig.bsp.esp32_s3_lcd_ev_board | 42 +++++++++++++++++ .../sdkconfig.bsp.m5stack_core_s3 | 20 +++++++- .../display_audio_photo/sdkconfig.defaults | 19 +++++++- examples/display_camera/main/display_camera.c | 20 ++++++-- .../sdkconfig.bsp.esp32_s2_kaluga_kit | 19 +++++++- .../display_camera/sdkconfig.bsp.esp32_s3_eye | 20 +++++++- .../sdkconfig.bsp.esp32_s3_korvo_2 | 20 +++++++- .../sdkconfig.bsp.m5stack_core_s3 | 21 ++++++++- examples/display_camera/sdkconfig.defaults | 19 +++++++- .../display_lvgl_demos/sdkconfig.bsp.esp-box | 26 +++++++++-- .../sdkconfig.bsp.esp-box-3 | 26 +++++++++-- .../sdkconfig.bsp.esp-box-lite | 26 +++++++++-- .../sdkconfig.bsp.esp32_p4_function_ev_board | 6 +-- .../sdkconfig.bsp.esp32_s2_kaluga_kit | 25 ++++++++-- .../sdkconfig.bsp.esp32_s3_eye | 26 +++++++++-- .../sdkconfig.bsp.esp32_s3_korvo_2 | 26 +++++++++-- .../sdkconfig.bsp.m5stack_core_s3 | 43 ++++++++++++++++++ .../display_lvgl_demos/sdkconfig.defaults | 4 +- examples/display_rotation/main/CMakeLists.txt | 10 +--- examples/display_rotation/main/main.c | 43 ++++++++---------- .../display_rotation/sdkconfig.bsp.esp-box | 17 ++++++- .../display_rotation/sdkconfig.bsp.esp-box-3 | 17 ++++++- .../sdkconfig.bsp.esp-box-lite | 17 ++++++- .../sdkconfig.bsp.esp32_s3_korvo_2 | 17 ++++++- .../sdkconfig.bsp.esp32_s3_lcd_ev_board | 37 +++++++++++++++ .../sdkconfig.bsp.m5stack_core_s3 | 16 +++++++ examples/display_rotation/sdkconfig.defaults | 17 ++++++- .../display_sensors/main/sensors_example.c | 4 +- .../sdkconfig.bsp.esp32_azure_iot_kit | 8 ++++ examples/display_sensors/sdkconfig.defaults | 9 ++++ .../sdkconfig.bsp.esp32_s3_usb_otg | 23 ++++++++++ examples/display_usb_hid/sdkconfig.defaults | 15 ++++++ .../mqtt_example/main/mqtt_example_main.c | 2 +- .../sdkconfig.bsp.esp32_azure_iot_kit | 8 ++++ 233 files changed, 1885 insertions(+), 455 deletions(-) delete mode 100644 SquareLine/boards/espbox_3/sdkconfig.defaults delete mode 100644 SquareLine/boards/espbox_lite/sdkconfig.defaults rename SquareLine/boards/{ => v8}/custom_waveshare_7inch/README.md (100%) rename SquareLine/boards/{ => v8}/custom_waveshare_7inch/components/ws_7inch/CMakeLists.txt (100%) rename SquareLine/boards/{ => v8}/custom_waveshare_7inch/components/ws_7inch/LICENSE (100%) rename SquareLine/boards/{ => v8}/custom_waveshare_7inch/components/ws_7inch/README.md (100%) rename SquareLine/boards/{ => v8}/custom_waveshare_7inch/components/ws_7inch/idf_component.yml (100%) rename SquareLine/boards/{ => v8}/custom_waveshare_7inch/components/ws_7inch/include/bsp/display.h (100%) rename SquareLine/boards/{ => v8}/custom_waveshare_7inch/components/ws_7inch/include/bsp/esp-bsp.h (100%) rename SquareLine/boards/{ => v8}/custom_waveshare_7inch/components/ws_7inch/include/bsp/touch.h (100%) rename SquareLine/boards/{ => v8}/custom_waveshare_7inch/components/ws_7inch/include/bsp/ws_7inch.h (100%) rename SquareLine/boards/{ => v8}/custom_waveshare_7inch/components/ws_7inch/pic.jpg (100%) rename SquareLine/boards/{ => v8}/custom_waveshare_7inch/components/ws_7inch/priv_include/bsp_err_check.h (100%) rename SquareLine/boards/{ => v8}/custom_waveshare_7inch/components/ws_7inch/ws_7inch.c (100%) rename SquareLine/boards/{ => v8}/custom_waveshare_7inch/image.png (100%) rename SquareLine/boards/{ => v8}/custom_waveshare_7inch/main/idf_component.yml (100%) rename SquareLine/boards/{ => v8}/custom_waveshare_7inch/manifest.json (92%) rename SquareLine/boards/{ => v8}/custom_waveshare_7inch/sdkconfig.defaults (89%) rename SquareLine/boards/{ => v8}/esp32_c3_lcdkit/image.png (100%) rename SquareLine/boards/{ => v8}/esp32_c3_lcdkit/main/idf_component.yml (76%) rename SquareLine/boards/{ => v8}/esp32_c3_lcdkit/manifest.json (94%) rename SquareLine/boards/{ => v8}/esp32_c3_lcdkit/sdkconfig.defaults (100%) rename SquareLine/boards/{ => v8}/esp32_s2_kaluga_kit/image.png (100%) rename SquareLine/boards/{ => v8}/esp32_s2_kaluga_kit/main/idf_component.yml (74%) rename SquareLine/boards/{ => v8}/esp32_s2_kaluga_kit/manifest.json (94%) rename SquareLine/boards/{ => v8}/esp32_s2_kaluga_kit/sdkconfig.defaults (90%) rename SquareLine/boards/{ => v8}/esp32_s3_eye/image.png (100%) rename SquareLine/boards/{esp32_s3_korvo_2 => v8/esp32_s3_eye}/main/idf_component.yml (78%) rename SquareLine/boards/{ => v8}/esp32_s3_eye/manifest.json (94%) rename SquareLine/boards/{esp32_s3_usb_otg => v8/esp32_s3_eye}/sdkconfig.defaults (90%) rename SquareLine/boards/{ => v8}/esp32_s3_korvo_2/image.png (100%) create mode 100644 SquareLine/boards/v8/esp32_s3_korvo_2/main/idf_component.yml rename SquareLine/boards/{ => v8}/esp32_s3_korvo_2/manifest.json (95%) rename SquareLine/boards/{espbox => v8/esp32_s3_korvo_2}/sdkconfig.defaults (90%) rename SquareLine/boards/{ => v8}/esp32_s3_lcd_ev_board/image.png (100%) rename SquareLine/boards/{ => v8}/esp32_s3_lcd_ev_board/main/idf_component.yml (70%) rename SquareLine/boards/{ => v8}/esp32_s3_lcd_ev_board/manifest.json (95%) rename SquareLine/boards/{ => v8}/esp32_s3_lcd_ev_board/partitions.csv (100%) rename SquareLine/boards/{ => v8}/esp32_s3_lcd_ev_board/sdkconfig.defaults (100%) rename SquareLine/boards/{ => v8}/esp32_s3_usb_otg/image.png (100%) create mode 100644 SquareLine/boards/v8/esp32_s3_usb_otg/main/idf_component.yml rename SquareLine/boards/{ => v8}/esp32_s3_usb_otg/manifest.json (94%) rename SquareLine/boards/{esp32_s3_eye => v8/esp32_s3_usb_otg}/sdkconfig.defaults (90%) rename SquareLine/boards/{ => v8}/espbox/image.png (100%) rename SquareLine/boards/{ => v8}/espbox/main/idf_component.yml (82%) rename SquareLine/boards/{ => v8}/espbox/manifest.json (96%) rename SquareLine/boards/{esp32_s3_korvo_2 => v8/espbox}/sdkconfig.defaults (90%) rename SquareLine/boards/{ => v8}/espbox_3/image.png (100%) rename SquareLine/boards/{ => v8}/espbox_3/main/idf_component.yml (80%) rename SquareLine/boards/{ => v8}/espbox_3/manifest.json (96%) create mode 100644 SquareLine/boards/v8/espbox_3/sdkconfig.defaults rename SquareLine/boards/{ => v8}/espbox_lite/image.png (100%) create mode 100644 SquareLine/boards/v8/espbox_lite/main/idf_component.yml rename SquareLine/boards/{ => v8}/espbox_lite/manifest.json (96%) create mode 100644 SquareLine/boards/v8/espbox_lite/sdkconfig.defaults rename SquareLine/boards/{ => v8}/espwroverkit/image.png (100%) rename SquareLine/boards/{ => v8}/espwroverkit/main/idf_component.yml (77%) rename SquareLine/boards/{ => v8}/espwroverkit/manifest.json (94%) rename SquareLine/boards/{ => v8}/espwroverkit/sdkconfig.defaults (100%) rename SquareLine/boards/{ => v8}/m5stack_core_s3/image.png (100%) rename SquareLine/boards/{ => v8}/m5stack_core_s3/main/idf_component.yml (76%) rename SquareLine/boards/{ => v8}/m5stack_core_s3/manifest.json (97%) rename SquareLine/boards/{ => v8}/m5stack_core_s3/partitions.csv (100%) rename SquareLine/boards/{ => v8}/m5stack_core_s3/sdkconfig.defaults (100%) create mode 100644 SquareLine/boards/v9/esp32_c3_lcdkit/image.png create mode 100644 SquareLine/boards/v9/esp32_c3_lcdkit/main/idf_component.yml create mode 100644 SquareLine/boards/v9/esp32_c3_lcdkit/manifest.json create mode 100644 SquareLine/boards/v9/esp32_c3_lcdkit/sdkconfig.defaults create mode 100644 SquareLine/boards/v9/esp32_s2_kaluga_kit/image.png create mode 100644 SquareLine/boards/v9/esp32_s2_kaluga_kit/main/idf_component.yml create mode 100644 SquareLine/boards/v9/esp32_s2_kaluga_kit/manifest.json create mode 100644 SquareLine/boards/v9/esp32_s2_kaluga_kit/sdkconfig.defaults create mode 100644 SquareLine/boards/v9/esp32_s3_eye/image.png create mode 100644 SquareLine/boards/v9/esp32_s3_eye/main/idf_component.yml create mode 100644 SquareLine/boards/v9/esp32_s3_eye/manifest.json create mode 100644 SquareLine/boards/v9/esp32_s3_eye/sdkconfig.defaults create mode 100644 SquareLine/boards/v9/esp32_s3_korvo_2/image.png create mode 100644 SquareLine/boards/v9/esp32_s3_korvo_2/main/idf_component.yml create mode 100644 SquareLine/boards/v9/esp32_s3_korvo_2/manifest.json create mode 100644 SquareLine/boards/v9/esp32_s3_korvo_2/sdkconfig.defaults create mode 100644 SquareLine/boards/v9/esp32_s3_lcd_ev_board/image.png create mode 100644 SquareLine/boards/v9/esp32_s3_lcd_ev_board/main/idf_component.yml create mode 100644 SquareLine/boards/v9/esp32_s3_lcd_ev_board/manifest.json create mode 100644 SquareLine/boards/v9/esp32_s3_lcd_ev_board/partitions.csv create mode 100644 SquareLine/boards/v9/esp32_s3_lcd_ev_board/sdkconfig.defaults create mode 100644 SquareLine/boards/v9/esp32_s3_usb_otg/image.png create mode 100644 SquareLine/boards/v9/esp32_s3_usb_otg/main/idf_component.yml create mode 100644 SquareLine/boards/v9/esp32_s3_usb_otg/manifest.json create mode 100644 SquareLine/boards/v9/esp32_s3_usb_otg/sdkconfig.defaults create mode 100644 SquareLine/boards/v9/espbox/image.png rename SquareLine/boards/{esp32_s3_eye => v9/espbox}/main/idf_component.yml (82%) create mode 100644 SquareLine/boards/v9/espbox/manifest.json create mode 100644 SquareLine/boards/v9/espbox/sdkconfig.defaults create mode 100644 SquareLine/boards/v9/espbox_3/image.png rename SquareLine/boards/{espbox_lite => v9/espbox_3}/main/idf_component.yml (80%) create mode 100644 SquareLine/boards/v9/espbox_3/manifest.json create mode 100644 SquareLine/boards/v9/espbox_3/sdkconfig.defaults create mode 100644 SquareLine/boards/v9/espbox_lite/image.png rename SquareLine/boards/{esp32_s3_usb_otg => v9/espbox_lite}/main/idf_component.yml (79%) create mode 100644 SquareLine/boards/v9/espbox_lite/manifest.json create mode 100644 SquareLine/boards/v9/espbox_lite/sdkconfig.defaults create mode 100644 SquareLine/boards/v9/espwroverkit/image.png create mode 100644 SquareLine/boards/v9/espwroverkit/main/idf_component.yml create mode 100644 SquareLine/boards/v9/espwroverkit/manifest.json create mode 100644 SquareLine/boards/v9/espwroverkit/sdkconfig.defaults create mode 100644 SquareLine/boards/v9/m5stack_core_s3/image.png create mode 100644 SquareLine/boards/v9/m5stack_core_s3/main/idf_component.yml create mode 100644 SquareLine/boards/v9/m5stack_core_s3/manifest.json create mode 100644 SquareLine/boards/v9/m5stack_core_s3/partitions.csv create mode 100644 SquareLine/boards/v9/m5stack_core_s3/sdkconfig.defaults create mode 100644 examples/display_audio_photo/sdkconfig.bsp.esp32_s3_lcd_ev_board create mode 100644 examples/display_lvgl_demos/sdkconfig.bsp.m5stack_core_s3 create mode 100644 examples/display_rotation/sdkconfig.bsp.esp32_s3_lcd_ev_board create mode 100644 examples/display_usb_hid/sdkconfig.bsp.esp32_s3_usb_otg 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 0000000000000000000000000000000000000000..56b4462ec506b02e28bd642cbcf8422f1657fca9 GIT binary patch literal 109454 zcmeFXbyQr>wl&(gyL;1k@Wva0y9I}kK%nU+H16*14#9)FTY%tBAh-lVfFQwwh5*6x zk>8Pf&UoJ#Z`|?jeSaMo&FEdVYSvn_=GwJuv!b*#mGH2su>k-8o{F-(4gi4U`}pC) zM1O4QMPNP!06-hwdPc4~<{m&tX9r7!Egb0T

ADJrR}wfagk0HX{AyyQHw+7Gzzh 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 Y0jou9#c;xuQ~&?~07*qoM6N<$f)mpx*Z=?k literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..64784ef3c420eb8c75b674b933f57837ab212f6f GIT binary patch literal 90781 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

U>p2JJMRUcucw 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%0A)hX=lLljqv#1+;K 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

>-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.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 0000000000000000000000000000000000000000..69d191e9c454ca8d1c72551c218c12342e8fdd55 GIT binary patch literal 96827 zcmeENRZ|>Humu9aH4xn0H9&wx1Hs*$;O@4Igy8NF+}#%o4vV|H%i`|N{qE1WRrjH1 zs^@X0s{2fzbHbGsf1;xhp}@evpvy@AP=$ek_4zMYkUsx+(rt|d_-})CRsAUrQ$0a) z^j`vRDW)I>15+1^`f7skUyke~t>X#Gsc%8uq?`Qir`%YFZx z#*2wHc{&6xznzbDPq6C*z;dy1(a`n`$P$RgHAM0M%m3Ls@G_@nb|3%m1@Cb#d@n#} zQQQ-?&bv4|;Xh){&7l^ao|cwSD4zMl-BIeD#eoI>{w-8jkyqs9*~Rr5>>{w*<^oJu zUj__UXTJIX7>34=6zE*R^{y^s&tMP`bTbBYX=`o0adEwIi9{K_u3AK4Z4>O8OpqKl zGpfsHK32F-ar1P?W8Uz2y@P6Fn7G#0-(26u^0&6NU01QwcNJ97veVNuca@rH8yY!k zim5uw5#VZTdgeDbvrlK8D&F4SLUlA14XN0>*!lSAD+XJiE0y{amZb09Ebs2`nHZt9 zH9u)*O#zcf?y6?y=51D2AJ0Ij%+SQ}y{&^oH6AXmHrH}ht?$C>tR*Qa>B3?n+BRO( zXorPP6OQ~I192-|qHIm`pt?u!D0uBve>BDDJXyG`^&{q7@#N^Ju6->C?`w*-rB;Qz zy9Z9*>uBfM4J;>A)Wte&~z~7qZ0J^L1IWr__{gpjD7=ZZ9UGYe|`p5mGG?s z=W&6o74&WFZIdqbb8Fy)bpssL?=~Far)FGf^U3q6lBT1>!{Z|=5)N8{MdJsu)n=CF z8Ss(%s?maj*EgsvMw5bi2@CVnzW_E#vi-!)nz2N_H9O5D;Y}=0i7ayEDkt7xc5CF| zld}{UWuN6IZ%q~6v2-G$Bx)kB*dQdh0xfHquXp7=6=F9`W&BtiNW?^*)jP@hDng_Y zx{xA1t#@20XK7h!eq5#;Sv_wDM@LV}g_3`uxb(e-=2;*pk?jYKF|D!y%`K3orM_cq zxG*T{dNl*h-0A}59RzF(H?%faqnWM{?Mgc6tfnZX=>`JZZYviPm`Z}$ty0X-?AKFD zu5}$_N+f_d8`*{o1+V2kSy=`sC1DyCkoysKxT=Z@IlsbRF0`A8`2}u>Jh<^tzOssu zoUDeK8655I^mJXJH->I%eSRj^bYzgXUvmO+0LX@HOIDo|2!U7iPz> ziJ~}EE6XF2?QEEBRN^9!CrEStW-JYH*_+(Q)kxEGBkW3TVDTmLBeu?0!R*o>A9z#rcwMG>xO;VFaqa!SRt6U&FmSh z-3arjD+$EwkWYIe8=qdcW^O+H%AVQX(qXYwkLxJ2oWsm>?dN+rYs>LHRwF;Gu(r~i zEMCMAIHYifesmp{=zjhu}9prhuc(FP>52JFRx<_@j&ktn`VrE1{#Q}7z^oTO+(X=E1}!kFBc z5#A3UpJ)aaX2fN@cPV4-JgNu(mtv7lrTK?2_hN- zUpUxi50Op(6v8=xH&((gj_gtusNd%=-cs=c4D4B zufDq0bh-KWjXO>>oh2RSX^Ojo4cc54<~`r`Og_qyJE%wk~R~ zwe0v|wQeCvUorj(0r}6e^AorfGhd*~Vf1~*_iuwqEP!>nxTxczRVR#@3dBk!p%h}n z_v$Oag{C?=IG5~DDOJaLWsk5w^nJlY3-g9$ixS#+_W^qSkUS>qvlYnw1aWtqW*>T) zT}}C!U386Mkj2Xw=RwlC{23SDL^8+zs;KhDE$q6i&5y_)@xmG1D@DArKHx!6;zN&- z;Vn$oJ-3^lZ0FO|0_%(V+SKpsYhm5jPd8bHQjjaU(mt4o#CPJNeW?K4ov5qbGr-07 z=?K|T77_Y9pL<<=ixBYA`Ub0M{$zw)#H)^}TqqvB8B$s3$fbTKux^7{J@fW8LFnSh z{>L&>-HLYqYmx*Kn%h2zU|)7 zO>!3i&tVA!E4SL@ zLjGdz!&^2oJ}h@RM$A0AEK8FU*MX>HhiY{Lr#l=w7aO z&d4ZC7g@`1oVmZ?0aYRmX!hksb!Zo=mtK22~k{w1|Xo|MT}jLrM( zhEulkl!Q~e=`cPc!!fuY+T?CqBxHu=}0qHd{wP#C6?nHi6q}Nr)aFJ1$nObLu8km%|ewI?x zG_>{!AhK_IDMupj$wBi_?b)H_Qq)TqMeJA*f>~c&Ebua(tOW$n&?s#@bYd=DZc|t0 z)fryhEs^^@=s|OacgfneUNM&+IZdl-OS?6z^-cWWPK@T8R&hZwS>F3;ypCO;=HBNO zHHv4hU0%-ly6nA?i?Zff5t8gnI`41kCjk#xKZ_#3i%WHyMs(+07Xg-wHAdcHrR5RF zjUmrK$4i4O11i}(cTe|7@3goC<-?=P;V;MFf`ZWql*p>aMg>UuIAMEjt!Q$M^t`)+ zy{(o{3r^;tF1C0Ojh%u*^v-zwZfuq*09~#UU^#MuA#(T^bIoPd9-whowXi;IdPe1C zViN!2=->e6G?ijj!r@uZl5L)+Q^>XnB?C4XfX*6mhO#tOb#1CcuL zXvmF38NBWxtlIyEVuW_A^g3MX-96m3#fe(#BiXonzmO^-S~4WJDXnq2n56;k`Z{=R z`lN|POcI!UlB0>Zr%`Zdg*l~l(%?;p;PYlz=2#rgYsZsqs|pLpZkDQD_V&LnHxRm> zq8h!nALhBKXD8(U0zLMC&X!BELq_e7qmJ$u_`3QdZhdxBWXVDAH{>4_VwBqyuoFKR z>HJ`48AjkGQuOjqo%JfJ5I7AcvR0B`8#~%Qkw& zp|>u4^&m^{P*mVd`Iv{W<#=^Rpn03 za_PiyD=!YY&rn+>kT$67FXNah)-YX7QWrGAS` zj{o~^6V%FIlNML@q;V7&EH?Frzm<6$Z1yvTM(K9Pp{#^n4LfEkFZ&?M;@ zz+=_^Lp8fCS#4whK9?z8XoN8-^sMLTyo zK9f;k7@kCp&Zs0CAv32xU8XQ{;+peP`F6b6l`y|y>rV2RF#FRJ<-5y|w_HePn?olr{x#EU70C z|L3e!@<)Cq@$8}le~w4jo%qNn8bI|?SeGXrrr!?eP{!N)Yfc;2tY8R3{>PN-6~#p4 z9&EpiS|Z<@BJ!~M_vdM52`0)<3Jvj`5ZR(Q4B1qmnqQuO)Y^9%jnChYzTn?qvDV#; ziB0M{7pZy_qJC@37`R;G^Dq>4=XA%^xi3*O;EdQEQO zS)Lo-IK}k_f8XC@{hN-sAL>RFGUiXvm<82uG%FhfX?apv4D4#upo$p+v#jSAeiy2Y zUVRx3I!>}2n=NyEH$p2?*!7rNBkPKChseBtD68Njaa>2&4q=~B67_O-69?!r zhTs*sAml#eg&}e3@Qnz5b-}+XWr0aI#uFsZ?Y@m^cZCw(7V&ihV%oQ;Huu8GMSaL_ zB5N;FdMA0Sl{%@kNj0QgSYi>U~HWvcAB z#){N%OJEu21*gJs)I2X5I%F^oL+4lm|B-T&$+H=#U5F_z@TO@S6=_KRhrU?sEpE~a zniiU@f(OI`7T@NT9q5>!P?Eo1>G?m##_Yr?s@@(3V2tQVM?M755$JjEtSj~}=RLc@ zN*faHt2~P8?I3vvXgw;l6#~R9y#)7CUse2F_RzEGS*+FQu;+IdK_6A^5^a9LtUxAq ziV({2zlbDqYNnH7$ic12)Z`Ndd%<8v|2aSeK*b6RD@B1LDx)0c7zSxvZCgYM?(blf-X&92bgJ#$ z$?ux#`g`KWkRarVH7FEHg(C;Kt}JUAu8PdHm;5dno^n8XN2Z0j$H=yGaeQ3+ye}YV zteSS`Q8jrk7u8T?+YI!<>kZXYGc9<{IODs3si>}Q{DjHh?a=kc26_&+Je?jStM|Q6 zqa1CX2PSp7PWT0qexw)RTDE;-*3S#tc{=c)Bl~wD2D;3nKbsECX{a-$*EaB#sFi(I zl`j^bHU4MN>C*zl;qGX5x(=sb$!vMi^$?3+zf8@r8;)eQzgxj;GIuRXO0%LMdV7vw zwj2Aa;*izM^KEHqy1;Iu^JTel@pU=d>s7MtB^$IZFsejzT3QgR-rAxnzwEIU@G?4H zzv}Ros=?gJ1bwhI`ZvYacKTD5W%u;R^58{TO+_WXk*_J}Gi@lm1b<(MQn3lkNMezL zh+Bcm)dWI75G7ok({Er8C;lv3>-@s}$qF56Y5(AdprAmd#t3QAB2)jkMY_jb(+*fP zB<*ln`QzU$$f%x8z@yZ1DBbVXr6@HNB6|2D6o!h2Oueza7yHmICrjaZG6J|^VX!|B zN9_F#iXBb1%|(8g3cU^ya{s*XC0C;Y?F%H>?GH|`_cL&Sjy$O9rscYyn}nhUiFKo8 zOQxvTaWXXYD3<$e!@s1u`o|TqzXbDi;A8EaOstnmCnv@X6lMJ?aLa5X?7`4sBp-yU zI+PehbF21ObH2*8X@%hA6}$WT@Exmobw`=NYWFF(y;^9Vt*`Msl>>Ny@_Pd=B+w7^ zj`fbRS@1%}VtR$wU|ISJR)Lh81TAZu{vy6xqFn2GSa2rh?)OcrQt^L6v zi1gDU;649$C@)@bh&LIMoWL!LKCLE+vfUE6ubX48U0V?hl6nnUaR=TUYRj}J7w zuCuCxQpB!>6gEAFXq!j`oTZan&}~xL{pl{|lk&9_VZH0YL}P}-b6e>!l4Mhs6Qr)m z28yEB<(#;;!(ppVywU({i6#)1hhp-W+?G`p3~JWsa?!wvH0*VB(+giABTx7~PyN6$ zxH}p{8r+i=?Qw#d7aey-)uV$82?zdbCRITP1P>Qu1^Nv`0<1G_kXJa)AEjuOeoVjr za8HY;*2>}i&6!+s&S`AqT^)+|=B+a?i{{_SB+q#-_Vm5y&iPl%uA)zM#(;`fe0p4G z{WA7TKs33uq0frXz`tYNd2thf5dvxzC`uca;_+ju}$AfRvCu4-dys+We ztZvfZuQQrdWCP_IhbdoMPaeJ(S316b-6s}sm6YXoT*eE$l@7M8Q`Fd_e%P?b_q`d_ zj7zkv$6VPg=hM*jRfvZ7svb}0*3x{M1=pVVMs=1KkI&kj*(B~THJ;RbM6x_l5exqc z!j;H6Yre2+yM)B9N^U*}z?Tzc$|sP2Tnc(@v>dEF_jvnmZ&%vP509h4k}4 zSl2om{}NS+SPD+n3TVlH^zSi<|LH+`<*xi8u)c0%_Dnh`*alom!VTeCTT$z5X@&e5 z7P3wb_7s{1{r2f5?-=r!mrJ=8&ouPFKTHxqBSl~^xQ%m71ETtSske zYmY(u4|M{l47jYaa_vYMsNQnDVrjeJP`d*$;ktIIR0-LR@(x{@369kfW0R-}&Nr!P zIyvzi39cp3W8-!*^Q=j)0V z!`AF9{qvIGtEp;ep+=|FR1}$ds1ob@G-{+StPPEJk5N5zvPgE$uQqCK{MNWsyNw5S z6FBqld}qzza4w#2=2;a(BscE*x05=e1W8_ctTV0BgTRNFCSq96{LS%xM*z(dZ!#3c z*)pfH*Y`&n)iV3JgpbVIn=(u3x&N%M5jeuF;&srr_YVK1+Yn?Gs*uJx?)OpRuMJ8a zVS;L@YFc@IoUpn7R5(&l_v?k9f(2hE0{=Pm(s8aygL+Sl9Q{8AjqHybhVS#vo1=X}MYb(0WuP?gK3CL<$Y<3gL5oF@miSTHCpCe0Fk)~Q zF`uH`+Y5}6rddK^KNNvybKjurkLIv-P+gX!CaS@NHFho|xuvnnZ7+!DLJMzODOgaEMZUOyMbUwl428<$pROpiM@zU!aI`xI& zxdoNg9LZWcv@CGgJ#b>k`w#|bs57WC%{X2h|7n{13_a2#H`n4D(H#VUO53Dx%aj@G ze!}$a@XB$t;8t zH|AeDu%kJ{dQOUW%Y_FAIK7Iod!drK-j*(I&azR*8w^m6lW2Nk$86MDsZg16bTMom ztt>5V-HG`mmdLvlO;1goHb}|HDwG=FFJII=1!E$pA+S7N3gGy66G#1uN+c;a?x$s`z(Pfx`{Jmj)NkgqU{@P4 zZJHUQLy((bK6i80yq-{A+Rd++6^2~q7Bw-PJu zLGmQ_{ENkxwR~C~y*9aeft6)CvL?HOa>&(a;oknZ-l?3?dxJtEZ|Gn7!@07VqpYNG zY{(OtfeVhCO=ZjTI%UsIm81V6oqW1QI0WvcH|Hb&^GKgkOmr#1xwomgyopTRyxsb- z$+D)1^Ue>saxqq)eebp>_AW3}h|37gBT-?PnXghN!{;x(a|?6Jd*NT~=8w&r_WFaH zCZp1r{8QgfIuR?Y^w2U=?J)uGr9|;b@-i*Sn9MkzO0T3v??;}^%jhbCt-?-Y&Lkd7 z$LKSi@&R{qYB;qD6GB#E15>CsU)UN-$>ACPY!XNBkyW@6d<{!Xm|{f%(OGu{obYK4 zWPA?}fLiPpE}hueiaW}`1A*@53VJBQn1LGQUjv;a9;yDq8l2kAf0{hBepJ=F`$NDN z>TgxZR(L5VQBqX6wcFYdhTD$Mz|k$5ZQ_vgIBUvc3lxVzjr2OwP|kit+fHDey!G2+ z4np98VL*Y$;>?u~6PcpE6nLWWJ#I+d#r=V(8Ah?8oZok19nNO>Str)dy<06+|i0Vq>d) zaEq}`ExMe)Lwmsh&mJkNA1ujbVU|o)x=pV|WiweQ1}M1+A#d5h{+XlOuKMs_Ku{{+5_?7zAFjg0t4rhp;(*@vfgeZ*=yN4@PIb{aPL}8Ju6_%bZ8IHd+3L27CpS?+UI#G1lmDfZ`e2bvDxA&&^}Io*fPF|~xHs?6AEW0Ts*;E4pJe92=Cr&PuRowQgCOPR&1cLS zV~+?(I}#U*=wE4}Gq^to@)Xd0^CvQR{A-}pZfrEFv5w?asjlAKO+u|{wb||A_I;me ztPbMt=6|F&+B4J%OI$WJk33dwaw}Gp{Y~{9R+F)d7S;Fc_IwLnAh`<$=MD!%)F-)% z&UyDD0UHdyvrN!~muT&xkf%MxmB2cuq~n``PuM4Yf_c2+7vd6v@0VbTkojH zM6-rEt(=hhdY|jit$ZkIL6NWUdg1$Lau6|Nl{Ey8AikDJBUC{p6WBwB7CW>U-_YJ- zU)}q_pOWI=F`;v$Y-m|wZ0)GaG1Mwn&)Yz0;%$T z?)=alx@`R`{-fCpv!xAsVBAAIM)PR{E=86`ZD4T z)JvF~_^DvXlQOQiq)Y{pA4w>rk;iih@X#(E;x>0T(YX`B46IGSt~F89fYD83Q`6In z{11H$Gg&n)p7JS9>e|hw6mxevA6+=gd9TA(XtK5KIQqA3{~6aK`tg^oJW_AjC~O z{-$NpXIv_Z%#sx+vlemP-{Q;!o&^zJ)mbLb;I*oTd9zZ zc1s+@hAIw|6aJcjf3^6qTOzufdtbz`iN9Te$lRbhtyr)^sGkT0sZhEA2oSn`U#%sL zcFs-gqbJfw2adv2U(aqwWh~gY?dMgEk5xZWIT&&bR`J#;EZy_4ZasDUnq9V)!}%kk zQ3}5k9QHWS4s{J#%BIV-9z4XCqt*N_d1;QYw||rNxY5yrGF|;e%v`Hht0rjm{(KnarKKImZky4Rt$ysgpLvX)Y@>sRN1smPE?!+?;Ju z=s^d?u*m(t(mMuxM%rp|4K!j0`fR^qv`IK(L&IPG?{DNj-{~Rmz6XBY82qP5FK6>w ztCXRqj=evl8jK7*(i~s^U=pB|;IFRCI6Q26>d_n-n*5ybChSfqIYElY9(f&bjuo{( zQa3OCU9(aG0jD2>gdbas%+6$&0tvY-{rB!H+i6eY0`IlX>Yj5~(*+Or>&sASDe|@< zKi4gFnvg({Xd>E*wo13vbZ4fv+FETbouqOKmN+G!XK`jN{EE7wWdsWP?_ogJQx*e$j2+` zHmkMX1?#u5tM<2#$O}b2&GlCmZ5jrR7T@N`bcPCiaRe!gJfMw>%NZN*Y!z#|*8dH3 z!D-wU&m(l*4(6MgJ6{4%)sUFK9BOhq{<*YI{goees&=>lxM`qDyq-M%Le~JHVUj@0 z<17h5o@rgKtHUkRXGxAShjVy38M#D~Urtu%(~k})u&3SbFobA>2*A?K`Pj1jm^rf4 z+HR|Y3n!R9U)SXjo(Ku!Bg4DSE9RsfLZv?l--C(o?e%=_tuWcrFlV)rI*9c z5sdl1<@uICe^!*&PxVcla8;E$geE5-@kud`?OKl7O3v zV7Irxsu%ARSzAuD`=w^{EB|Ei^$)LsH%<>Hq~#?|$WeJz$AgY(2M`;WTEjcdMt$E% zPwI&7u2a;>(Vuu*szGQ`q`jjo{hC;@fn2IWu6>p^&i)?O@s?6a~b3Ny))%xni!NnkJtB zi?qmunpr2zaurz2u?!<)!i~fg`$Hk;k+R&7 zR)5;*|K55;FY;(%Bn|;^F{E&7vYBqUMH3jES)DWy&RPlv_Q{AOsb#jCkfh7}h`IHB ze>yllG3pwcWs=|1RYgHusIIQo^j@}R9yRpt=6bl{qzPi=+YM^alKDkkX4nTCO5(8Y z%OrBLrjb?&DnT3j#39_FgQljYR{_5BT6EjlLq0BV(y0eZ-bFV~c)>&lI%}jjn+VMY zQcY^hY9GrJ_3lJ{a9WJGC~nCrJUFZ;ngj<($t06c`NpCL+qoi4{Q)(fBT;nv+H`Fj5=Ab7YQW#!fCkOqSBl1_+-NuT~ zX3P0sO)f>lZeF)xbEq^0QkZBDY>*-GAZJ0g_ZRYlO+Dm z@7)+qOeovXwfApV2J_bzGc$#NS|$W9dhbK{+J{Hx5m?AI z&!4WZ3=NKCqRIFcq@qZmUDR*Rw+t>v*5Nt?AxFnZvS{YrmuOlSQYXigR|N+grKs+~ zkr2cc4sW@@Fm%K|=JDU0k3V9P^tk48_e!_y;h3R(fd=)yh1Q=z7*_igL!XU}Gn`U^ zh*qB(OfQ0|L{$NLnhq^!(y;z8f$_-zD9LZSz!U)1DZ<~j3z9B!L66E6_W)9#OR@X= z<_-nGGZ8ZjgSr&(Z2!a&tWqGgLK#X{*koYQI~qDHdRB{WyQl|ptsr$7%JUe4eE|tn zx{atPwUrr4nK1S8FzzoCR1q+prhj>W!8!G1p&#pQwWKQ4fG7s-5)N)smC~hx*J>Qy znTF&BI$y~2b>eb1Q?=p_460&ccrO;FS(%xc8opI%t+-Y+ZMeVMPO?ewg;LeIHnz9R z`_-ED+I;23uQKddxCv7g{Yx1{m}=od`1z7Huc%+M9Bd3t#Z6uA-)vbLRoAE7u8{2p zQ}{SL$1D8hnI0J#TxmJ*8;cRxpHC^thWYYusTpB}*!BdUMTb(V)IAcoN@OF`kI_H7 zuuRv(Qu27X|I5Ar3q@AWtd4K_v(Amo%;}k?a3F)Zx3LyjLJ03(7+w;K;5(O)d3Z{f z$W2@i1a<=pHw&}HDG~1C4d0oGJxDTsy8eo^25p`Hhvm1gK#58SO2(wRjkC2pvmtep zZBUyN=uZy>eSe1YGEK>%WbIy)p9jSa_|B;7eEEQEc3!f|s>_!jMbCYL(K8k9Y*>Vd-(56{U# zTJEtTA;R;M?xRFg9=DL_mWgU(3h<8Q+CNT@Em*{55r>X-hxTm?&}$jJ{rl_Fed>v0 zgPvoX9Ex!R@a4E=^z!+=f3uFQF%op%GDvisVb^~>zc90OG(bA~1Edi%5Mq(4F!qh= zcG+woQ#^+YH-mQIM%hG*1pKpm#JrhhcZ>z$B<{1TSe`uh^zw}UF83-bGya4;g163J zA?w$+r>#I7m7jU9Z;?j>tQy_*&SvEN zjUP5aHL)Kir1ikuqM~_OxltNXRNN4D+By?P7GIkDm2@d$K9308q8W`$Z5BIzx$>Vq zOgSy}maBhN3OY>8%;UAL$CZ843?v~3+)sN9thRxG1aeOvEU&hjpT#|gm=tdx)=kg$is6HXI zwSP~JkM(Q+?YmUOU+u$X@c30a58Nhe3Abs@>uamt<0tm_1TmeIL@slv|E-17*$?e{ z=4jhZF=Bt4Zti;dm0J0fvM+_)Upt;Tjvh=KOfX4B)hiaY9bD(T!EM)r8X~?lGtU1# zYUjjHBYWXo(P(voYZ9B9*=_u0Sd-2oLDekhGPQmqK zb&{6;knv%FN$U*VGk+!PVzUCB2shbM=lvE%HE!wnq z#JeDo#^l1P5&UKBJ!|meqdtjeh0#l73jK3mkFkT($7(9zUutB}NHaHw*1nsX9-Ze{ zhDjQTUADZ~`aquSY9p1|qh!BvS9|Y@iK4-IiKs;tXLTY2mIkhgRB2hK*ldmoe@E>$#pLP2hV-hs)`68i zhJofR4Z;Gc*t*S+Ct#gU4xUqHAUwP2GLp)SO=*>@NzSC~S7cob;?YS{f6=Ke1A}$o zSGt(*k5LY!^n1>=U!K%P=GCb}yNKV$EZl94nWNgT5 zLg`rA%zT`eug#l&^+!xG;NmB?ts9V1=D>ky4ySMVctc#3eN3bg(<#q=$NBykyjy7- z0J3b%PKC}qV2S9v-}ScO1l>PWMgM7i6$iY7V1f->|2{U)FrXTur?k`5-cTPo-%(0d znjhS49r{8>8BmPe3p@rLj%wkg&ayACE5fpH-iNb!8&!Ct>mt*6BO0^abb0{RwL~$z zKb6vX@n%l{6YaQ=C*(!n$-LhVU4piQ@z3gWUJ?{CIA3%URCrG$XHX?6zMI&Zhe{x)?I}0gIFM@wEx0$BCr!kY8e+av6xlhmF{Hz3rjh z9u^Zi)@pu)DZfYsHTjlm9Xhlege~(t-I&IZEHRi0w4%Ck#*bI3Jod0dmnlO@tSmdO zSOl;3)Yf*+u}z&0wPZ{JSl)S=mC1l@W;&5l3=|8WOl4l4xWEY}Uopz402px+I-GQh z-(O)EnDmca_6J`!T(jRUUp5;*?Vs7YKCCYeo~iKnAr#oJ>zaR|8~H=PsVd%~=RTcJ zHpCCQt1zPO**JH_JAIazp5{1Iar&+4sI)}-9{^^~F%(yp|1Gq&c|xcp^o3jY8-u;h ztDlG$^Fzqr2uli&JBJI=%)P`466-<-&k$uM(fUJ2BF@;rmekPO#~14XgO8ekG+NI* zp-ZRQV{h{8LCe54(wh$E)R;?_JJV31v#zkKKqsrV$8O`7f+k#AgTdz+f#eZJ>r)y#`*IsW;d! z4TecR$n|O1b9{kl7rsB}TAr5M=Z6`ZUR~LrVS*6%bn~mlZwsp_;~8iFHKm4^i?&IJ zt^_Le5{0Nc=N=a=J-CW^1ZM7dP07P&$R2<8`@# z2i<#j!F(x&G)aIxG2B> z)!i>M44SCSC1RQ~e#SWdQ>~)hmsLC!P=V@ekoC?Ki*(vR_2E{6XiES3aex&}bu6;S z1_%{yNNgP>SmJzur3~@ICoVK175jS{mIa7i(us)Bds^bp_qfR5`YZ=nKSN1?Qu;lig8UhBeq%%ApnLB@YFB;1nNOwDj>Usj8+rS}e|jlW zk5gp&)hxb``}0x%+m38F_vF$gMV$*1F3zYja2p+$wHFXOk&fYy5m2<+4@LRd~RVkcVhpUv*PtS^xRCDT)kY&_Kk&BVsf~wgVulWiVl^`5! z9rLvMF%;pom4fBbtN_2>La;;?{DE{*u@fSX%q?wT}27l&R;qWR59d`v$rghuxdS!S27hFZ2Cof{(Qv*vViV0#%}Kzy?;oD@noYA?kIU zK$&LzIW&>FbQyE=<#Nct6$oax-Um-|;xnGGwT$VmU>{26S0$%5xb{E91QxlVr!a9F z5Hhrl&zlAz_GW|P=y1gMQ9#`ZR@HXI(k)P8El-Pt{Xh2v$-nRGd6g3E%u|T?wR{ar z+HDx5?Zuw+XJTJC+WZ&^Nwn`=CGEE zAeMAlrA}gJv~4ZX12`J^E@{|@6=*z8gtC7!M`BF&_oLqAaNx|g8q99mDXuD2Sw;Sj zpn>*=EYpho>#Ke{Ys?ldK+CA$d(kH=Lbk+40QLz9_$Jd&oIZR<>{j<20J1qCA@YwHe7$nbNrBRFIg)L?ci_@}68bSAF#>R}`ExC6}$m zTjpsooo&+AzHvi5wbV+XOrm;>gI=3OGAeQod`h=z`+LNwzez<(O>Omnrr!Ih5Avqd zD?7dBb-+#Q3LWS&yN#AaP+u7ilbuK4?lC_NeZOGFwE|NcW{alC9P_DWW~ZcfV#2e0(cU?L`mqKWCW?!#@roRBob+`yz@p6*jkjvs{9na29jO6%vL+-`y!_Nx$LyYb_1_c5NGgBv&1HTtPkJK`R~1HY{3V@@N5T91Uqx8I{K_qQ)86_~jm}KIO>D{5a=dahnBz1sV4X;} z@~C1eWFJC{)#-~i$dGxeKe=kF*w-&LeI3_bbib;|{pC%ivMyjkQ# zwI(J_2#a~rW;2HiZkK(pQ4~t?;e})7r5P0W#hRXkFbmtt?_}RfL!?oKT*f%3l zdf?NgG=Qx<&hQoLYOoyrCN|eqeZImBqV+;C=r5VkMoEw@$(Tax_9yMZQnNgW@BwK>1BFFI+&6>x@hE_ zlYLJfwQr1+Uum!|INyu)LC3ytZK5C|+?W0(B1lh5L0~FD$R8ltJPwEr4?%m67R4rO5k$Nw=8^eRDTH}DHB?#p-Q zUgnV1ikR;Uq2~Wtk<5&qMh5LpR_1wi0g)I*DwPjNUcx;C^lw8Vnt&8|%Rf%Z;|Wa6 z>!NjGuenS4Q~T?@pOrWPyU~VxE)!l{U3-A!H+K$p_lib8O?Nz=hi95CZ2@@x|{NlR|Lxq>d#e)FB;=)BlK^U>2 z2@MH+JWC+ctX`>UEwBw6yRy1FH}yUK_+4M~mpj34uldyzwbgB%TdJC^rMXQ6%u!~g z7ex((DKpod?W~`b2F%H`tYq6mo7b%wUR6`)YihC3*|ElInGqw)ZOyuk63SFyunxZd z)vwy?PkpW3_~$>`gmI&6+O$cQFY~)y7Wa~c&)dCs++kn(+^4LqrP()Ry|{FV-TUz4 zUePO;FL!~!q!ASdgVCkLaUKrW6Hh+grp}mUEvn2}lP1~bMK9X34?SQL$B(cjOBdSY zDdYVUh+8(Uv+MtOoh^U<8T;|KF0yPX6V}DA-Mq=3TeQ?3eCB!YDb#MQv7(ZaZM0_T z7Zy4zZ6aVA5QksVL0$Oy^KwyWhkP?U#Hxj$3{g;w`A2LM`l&F{!uN&-(~8)A+4M5} z_5Uh@r4+GanF9uA@z_J?$6hyu|0Voy<&$&*KfUr0Dvu3<{^5K5gcl>?Mk$Uk*8g7D zk&l7DOZ}#8x5-dx5&PuIU@DSPn$@l6GPr3cv8@n4LVxt=QFg)!r`oeGyl8*>>+SZj zkABiV|M}0`op;`4*IxU3S@q>=8@cwb_nxbS`s_2Gz0fZD_ID(&a;;pl0i$@^ypZze z!@p`v9LFrXNnu%a$dC@b^`MyIu6PZk?0*DDA>8ASEdMHRr zm=q-V8cw@3WuMKOIS0!%DP{b4dso-0w${#r>uc%`sHv&VDk?0sMhSYx)avT%Ld7W# z2*7Xz#P>1yzE&I4Q)!z!vZ_xz?X6$E>yc-E!&-9`1GDG3vg}J#38Ti1wN)#Y+0TA* ziEo~w%f%4|2rm40w6Sm=4=kL_jx7entO1tKoKdXd%FEh`| zhn2XXWL-PfcVVK)^GEslXz}o2<+e%PxzB&*qt@P9FIt$jw{_dN$&+mOm=U&S%^I6` zz=5`8(L&p}e3b+{8$Y^i_S}8#kfV>aFMaJI-`sWG@BiSvn&Of&S9JarF!ic7Z`x$z z$B&n=Rm5T*XHKP0{$f7DlFlH^xvx^MV%)fKUKh+65QeyDBvF}QjSxQ4+vAbrJ~jYO z2<03QJ_@n#epBqZ`3tPAHGF>-(5s7h=~m$Gv4g-C4P)p=-W7d(5r^)=$9NQ#1TSZOVH}Rg zH=A70Wd-?qulvoN39FKUn$PhqY6lS*i?p4_<`&&6UpZl@m2Y;CM;2gYNoJh=rgQAc z$DejN$eCF=dHHtuk%w4bZ_*xl;1Lxg$BvM-zyCq|dHyI-qoP?|-jUm>bBkVHF&EU^Y^kyP>Y$%F2hi0-*vE z`9(Hw-hS$x)Z4~&tL$^1`iQMxy~0M7m0PkP*UEgNyT?|qSYeA-uCfvS<*3n8K4rGP zvc_i3JHQ@#Lg2Kw_6Eu_2t;nr<`C9-~BJ9+@xd@*527F zC;2J=h55z4cWKhpDYj|tYUR-+@NeFpC@&K)m%Fy%?z`{yD}+X9vmTYPuUK$^)ml)< z638wW!u1U;_SF0rY_kMglZ4LJnpUf+ZLx-?7F)f3gDqdZ(&}28T=>ux0<239nupvKKstI-11VZtln(h zs{gmY>)o>W$GC>i&d;(9%F~NW7W+=#F=Ixj7&MHV)4hwr7YEbQi^31g2eU_p4$RD0 zW$JJ>ek*@iAkh!c>+0)6JairPI|_TkgXnL&t2l=h3)#MNQKDi%qrgve5eVOx;v#nS zt{<>+KRfT-pPo}jIi?(~4JW>4JCF<4#f_zXcr zxdw|n-39-6jV_iWl;x!(UBGX5FFNCN=fA0^_(?+UX^TwAyF^qtugjD_%Ee+1fWd>X zFO%Rc<0F-)cMZt*KLC)AEuI_S0Yl__AHe7d}Kz z@3OeG+&6R5j`DNzEurvZ#*FeI**wXXio#MKz6raOdaY*b7JJv*&#{kw?1OgvtB$aX zFXrRt-?Y`sml@kJk3Hce$-pi*mWK+1m*^$p(n~MxYi)0{P6=3u&txJNHUi3-3c~2h zxD;FQIWdy6Sm*_?Au2y1i+5PLwecB22_Mz6kIiuk9_Ln|B%+`J+#`&z&fD6X?3ANN zTSX$RKhqla6$ z;;*jUr1aWt)vDzxLzYdRG*$UX*qW6qt+2RM`I@8NMT@m{wfW&ooVCxAQdB0VXFl=N z)5;O+euGkB=_U-kb!)9noWv(1JKVyLNT(Bsf*a5)V3{fLFhPx=<}4wEJYUc9-kInC zywRlM@On%+z|qY$HGJ+ZVFw(zpFRKld~0fK^LIchD0SD5oeAKbfg-(>Fli*%ZMby5 zU}ye!mxmp#e`p;AU!;5Z-Pgy?=N&EJUH5?C;k`qwGmu`N5%F12I(wd;3wuSgy`bMw z=nqto11)@nd>q#vDDeGC8h(esM}p*t???NBhsw>Hy{&ijbbA{h4Egbc26c~h9|V5* z5PIBe`Z?C#-K91x zxtGjWoA0uc@-mluq{oa^D^jZ#=;vQi2YC04n$ z+NMsPAPb;VD|J5BjGOceN>hr@9T(2Q^R5)L{$EmLuV zc<((mDd)W0LfikKnYM7jVhMb8TT@;K3RJKw!I_?hr@a&GB8p(3ra)Theh0=#{&?@t zbu&;*@y^4`!>;lTwio*80)KljbTF6|yuH9DuJkxUy}lfz(=;N|cCdH5!mjFM`|<{V z>Hhl#en@j*R67&+fOygcK51pCJxrc7%7=8;ty?cS(BVC9_5XvAM_y!yBUgNoSlPn} z^>0t-GS;3lWLQbHjSi|Cp@HX#mw;9(Lrumw~BMr>^E>-lejJ z+3>`9@|+s!l_i&70HMPMh9LOOib^>xu0V~H)h2utpvZ;~<0QE}DGHW5GMp1Ct4DvG z-JQP9-35?}&MFng_V=AP)AEYi>{nOaIr{w6dw>ri!+Inr=Cfk@|O)0 zD=%z*LPqKQ?_bV8M3a_Kr4cJ>@0 z?yq#E)?(SBq9Po^2k|f%qCdhQWcnQx931`DJ%LFzx^z%)>F(cy^t#-85KnZw!j3f@ z1w7Y*!hSG>d_yxTkoJJ3t+qtZSnY`qo3maX;Z6^{sI*Y+tk4o_zm}`|P0^G#;YucE zNfMmNTvedj7jj2+>Fs$JQ2MQE_k87Q;er?K;vZgO8`i9~iQ`7u+?g}2YQrXLYuIZ4 zy6*v-K7G3HlX>W&ht$rpZQ}R|_U-R{$L_!XetYlx&b5<|Kgm9D?z#4sH@?xn^2G}+ z+1X=_^$p%`F`$PEyD8D0;mvP;^9&|hF(eU)e)hX+0s&g!D_0Oo!7o-ZhmSF|l7*!# zKddEpVU*IgrDdg7A}f}YHmLw6BOyK&9VbT^M@vYNtX^GZhoAU*yW&^hxb`3axT(8r z*f3Ri_~>^8eY>6Y`ZI0p=+RaxLC$sJxbZf9%4C}+H)Zlf z$+JBBK5Uh0DA14huG~_z1kSjr3UFGqwz{8ad7+4Xt9&X977a%y zxBwILN5uGXC`jPSSe6ZwX8##Pp}3=Pq;%T^`yk-mkTiguz|)6@DLU^Nb~cuuK|0_; zHZCHV`N9-(#Sbl1TXe%sGAN7;1jh=s2>3X?eFX4cy=w72%A7i5l9m4l2OAu_{j4pF z-Nzn#+`_l8vuxs&DOOrqVdKY-wX)nYD<4s6tJkgeJv>JpeYC_w(vMEB*}By@{IFiv zx`t+BztP%tYmLvj(q@qj^k!JOGgN@Ph6Eq|=tsV_Y4hf9bW0FG^n6*L4CU}40#VNk zOChj6p&>GgVGG(q50<4I7PG{Oo)I=^H9kPVPB*O5t`1JGWR;JUiYgab#JJqjRjt-g z*LhGwV{3MEW2?2awy6gY5<#2B;f?0DX8*vzop;?~>(*}YjS{Ol`A$NxV)$_PtA8SJ z(ubNhRae=lijnr7Teq2`EGk*!3$m?7=B`Yp{FZpqsEN!@qCt*lFrVo>YY4xL`8xd4BoTjW{3B&WT5|D zyi1RFS8f}0@AZ*-=4IhN^?aNE)Nha;4~{U=Z$$t5{`;8o_`4sxiR0<%&$maq(2C*H zpGCy@)6*Et->xuN{QdFqO#Hz(2V){a`a32l(~{l>_k(x2^t`2m=e&t;;X^22T$XSv zzNw+z3W_<#n9qJPT0WO`I4o!OpYPwWs9D*^;=tfd3cXxikhJ0)Y5Ny zCiW7ss6&Ro+<4=pBkD%bHp{UHcN2jbMG! zyoq5YwzX=Dk3H`@Z;mZ^Zh?*Di&O1wvcS7+bonUNXizdtD5IQ6bK{1MzQc~*1cDq( zBAi*n;c&e!xUq17AA}}G2#z6|JQsxYV8R(TsbyheEG9MM5d_Y{gi)GxoTu&agd>qz zom8eCK@i_rR$E_hBcudM^o(`8g)M>P8#cF|T{C0&p>Yg`I2O(Y zp$L4H#SS^%5mDd|-tG4{;WmYsmN)2^fmCphb;sCujXf2nQIJGz9}Z!^YuXGZeD^f% zmx{sS-;uWc_GAA${HF`qex!#Vyk3JJbVz)QVTIK@enRMFS8l4ZL~$50ZfoVNdA<$7 z(6L$-Z8*jI0Aq&d7;vyp9HH#pk_F6%HMO>Qn@SXxNJixQ**xsTf9t#7V}Jk4^?puIPj{Q;^>x`> z-}DCCxPHAGkSssXwl;fYQLW1hhL<{I=>F^OzYk8Jmxv*W1l<3?y+`Ed6|7pYU_srq zsnd^ZYH2E8yKePAySh30w?`Gh;b9CnWJ^#qdpE^}oQj7Zh|=B`PPxQ%M}Q-2ii$XA zf-&+g#gi1-7;g{j{R0yz4!v)aB4GUcsAG)kC_ELO!q*i+tkj$Qk!Un-3zd(DZj zu_qpS#AeKzt;)-`f{LkDw`rLRA5Mu>ZF|0AR|>_2ut%^XAQ=|nibV{wFc!#RN8W?M z%BAZe_P}zE<%AJoF3RG|B;^N%#WPj`uqHq5VE}|7&UhBK4|%D$d`fcixCwlr!8S`7 zF%(44pf5GFL;S=E9b@ApUpxmK-n7rOsn({rQDj*5C89B(LS*7O$po;{iKj`%I5;+e zcmee1UTsGxPyUL0|h?yH4xhiiO|)KB9Qpw@3@L$S80Nn z|Di;>0NfMo%>RzUAEg^h8?k+d+~bPjWRd=-usgcO-r@H384$w`Ch)htQxW^$N+9dG z50{je`@Rx}QQ@a9H%@{2w0Ta6sVJ{2wTsd~uArtKJ6*bn- zmb7GNj#Z2<^K912yrOwku;OFIb+k?+l`5Y(tPpW<2b>}Nc;ICf2 z^7WVh;__R&IvLNE(2#&{k+se5jt&k|6Z2-vdKYO$rc@{qME|E}fXaY~Q8 zkhciRMI3&wI9a6xSe{B=`OR~HFVgk-5S1$mUk*hZJ9>=e6ee8YkC%lH14deSIMImw zxe`jzF$xq`>CBlr-5R<&R8O+-)#E5BES5r3IOV&Oua%+1umouk>`%^AQpK4JBfI z?kRTWe@B7OZ{|fZ0)J-$e^~i2s}?^a58Uw5TMQ{y_HA3W7MNxm-3g1pXNjz@>WSpj zbNnDLh>IoA=NvJ??pai2UCA8DvTp0<`^_o}y?|ErhNn!P=EI{8J@SZ+8#6}f=Gd4~ zV^mFjHgWto+qiLqHOL6c$_mFNVC?R{{~@+u;e5%9K0EM$sW!a0*v5<)W_2~y-i}*a z+vG24&n|0Hx*e9tFVwRZd+>p~cO=luKsqlweX{V|M%AGC9NV~&i-JA^yoStY}7 zEPo#|QM@P-dJ(*bp&4f4o`%iXp--&JANk?AD+^s?TK>%Q)1NlK*>TH;u{_<=dG#e{ zN*k~YHlfNZ=*hAY(V#?WmMMH`Z;lm<9*m2|_?Sna{Ddti;B$%ocsn7Bu-`N6nXrm+ zr>8McsHY><*7q3c{`V|LLyduj8ItDtUyZ@Aso0KF>aJ!TEOfnWx+2u@!ds)Cu;g1E$&j zlZV;tafLRjsNE)&u)Ms}-gMS!cEq9k+V{TqKT;S?KJPVh)I`rGM&&0y{%O1afd_2u zx(&8s)hgRqx!KmPStBF4$9iRq6%VUO&9BAPU3-u1O@_U|M=to-MH@D3@G)TOr%P8> zxgh;r>&h|S&FT;)a2W&l8TD*76orXc4jp3hB`=rBP+j%RCub#u`OO3=?>WYnbD|M8 z{AQdhRuFN|oju3T^`YX>))+r8KKH!O39MSV!XAA1VY}_tJ8atYnby|YVG9>5vN5Aa zdUwi)RU{Bei}sI|?1Gy@=>e?AUH~R20h_}RlrF%*#Eil1eeUUPT4s%0pg=7e`(ImOANRU7;KphN7V` zx54lear&gV!gMD)?K@vR+s-(1j=lbM``Jmy&$8E@cz~Vqntg2gKBMiC`5Rmik`^C> z_T`_V1!wcHG>udLoJc7|f$z&Z^+yr(YdhDY3(G2f!raTrRlcb=`9KJJxl-?4O}W1` zM@)3h{C#*v^n|1SPA ztCm;Vgb8D8^_sQz{DS9g`lJcg-P&xeEp0M3%dDuN$c>)~6DGNAVRPrQWy@^tzH_W< zQ>8W3w%G8AlWfEK)%Nzczumt0#m^g`Wc}zz&Uc=gI&HeW;SF!JQ6op&lg}@G(=KmtbehG|8tf?|9B2R`VH6hc#1zBI}iSj0|MLOKYCqe37& z0{!b>|GK^Ib+7Y^-B$U!_GRbWfd?O9vuDrtO++}x`l&$1o;j8PAoLJ&46WqlW!v!5 zGGEzJwRNl2H#gb~QUYvdQcug30m~g-II6Pa_&f^0^Fu?Fbc)?lj(2cjuQWIT4?&JX z^YW)GUqHE08gch3Praf6)Z*{eNCM*r)K)jz#0k@^d1HfBuHR~FR;;x(%QxE#^H(av zvOHv+kVZ_CvSO{o-|3({yRyIs2LVD}UkcdSoSqi-gvx#?>H9ZkUUGhSj`Z@!`iO2v zPzU|>K>ocgq}t5jz*yMT`~PmhQ*MR3*4-ZPAyz$rhxNdRRr}bSnQCj^7S#6K7*d;n zp0pQaLhKo*Blg^Jd{34I2_A0CCeJ$B3<~tM$(# z7Uv~w>bME^^y82C#>74hb;*`I8L#(0{ivshTfTgajT|w`+Y-mRbgGA)Cz;csyfUOq zdmSna8MjENN-Bx&Vo<&}yRo&&-u%|L%i=~TAOxv21QEoOkWC3k7pe;A7M+NJMTgM- z@>joV8#ZsUN1u2sXl=d6k9WIuJ?8im?8DNG7hLcm`-ra7rcIVm7QwS}t+Z^I3u?MU zY{f26MbS8Xh(rRAFUcqJ3tY%^$Wbm|ky4sWd{PK@zcS88!dM6#iHt=6lb~&}rcgp2 zMwP-io_=`#B5%6T7h;dWl~EcaQYI7zrb#;E(S2j`6d;`4f>(I_A@Et{1Y(Z?M)Tid zdK8Ptofe;4EkdxydDr9T2ql@+)*su;kts3Xm;CZByXzm1+OKYW&c6HWhwYMUpRk|( z?g@M3>HcA|V1))@!%77jn`&k|Ba?cHLnJP|ROfNX2?yMI_bc@dEA~4z&jHW+5gTQ6 zyTYFO8wiAq3mb)tH05`6>G4LlCrGcKJq^G8`*Xm{nv1x3KQI>-}b z$C&YBoqvXxj!-*K+8fU~$9m;=*vL^fa@=@J%KuLAoalc1;~(3` zjT`N+f4#+5l3;NoFcF?O)v$;ZPQ42|Rapz~Njst2THCzR5KQ>*>`dBwKKMb#R_w|v zer`Yi(YNfUKl+}H7*Qd?*<<@3a08H6h7iC3sZV_KiD+kM}`923q*UE8H!{j7-Wqlo$6nZ#+r|#gZPk$E9dd zK3+b(BF}A7$P9h?(p51Zipb-D9n^EV;>M?K<>qQvygAY}Kf3rGcK%zBP71kiZH4Fe+5p9 zGAb19PJ}m?BN;nanu35<=D1xC{`51pzH*}_t<&1t>MhyPY<(SVwsg@VTfSnke}m(YBaXB+8#j2I zwY62&+SDQi5XR*s|Z8g zgv_yVp&&P5rKKb7lb`;Kz4^^=vN^M6+nHyc;e`lY6*Y7@d3FL2{x`q6(#O3J_N)_! zsIGNYXap!Oq3~`UE1dTXq+OjbUQuZ1P^`Gx2J3SD<|@l8EU;VexXu3Y&pYg*i!O4j zm*J7J;bUFs1;&u2AV$GrrlNU<644u_jS>mZ=%J8K5Vm0`3xSIj(xP4i%S2f*)Gme9 zp=)kof?kk^MOly@!Z!?uaNu0%F%S=mfyvdVup%Qzcs|9nTqAtgN6wdM@?OrZ93e7z zjGxBB$H@bNUmT4@szI;S6HyT4I3m8KuF0C4+uTZudBMM5dsW|}6Dt(b;es!94+tf1 zJ77S2-UbgJlGrUmnf`s)(|imCqOcEC9t^zM`P=^+U>LH$&XFPMEI?azxsry+<2YoG z?}t&ljfg#E5ZgFsO)(5iZ+QIpiEiwjb^2Ru^5hw^&U@{gH^0rk{6Al_R~>t_&7D47 zZl=wiwU52)-S4*Y;lph1y#4HrZ+V+7ShCFb?D9pciL&quOG~|NAYYC-?s$9X;m54D zrruVpSf!q2t`!v*dionyt#pHLC@~~0rJR*bXvy!V}! zFJVwnT4L?ZjjF4pjUF}Hwp4BPC520uF16~Kt#$`rnEJvOZ1LhHcHMP@$ER{GEg7B&L! zgwx(+_uct-`}jvcD9gUguDR-3Te3_9&Q91NC!B7JpSZ`mJ37QDtgMk>lm*K!VY+}E z1>wg&E8T7hZQ?^f`xO#8+&P$94zYL6%VL^<5^cX-8411D? z{|yXYcRTV%x}Y71fpNgA&KGK9lctQZlG0(eanoi!%d!sjS_41uaU%8lWsr4=SG)MG zG;?pMH~{T~AsY~Szfu@JS605Ci@MYM@lx`WL9D%^8 zob>+v+Z#%cxkna~s3xc-|9}zS&87F8RK=fj&YSJ8H{D_ve)`k)(;xpx?|Q7$=i~6f zw=Rac472QfJO1?7+P$~mZOx7KcK>~M?3_?90XuJXF9C0U^P8KNuU>UgySg$MfRX8r zeDz5Z1gosPwA?Pc{O5MkiKo~dci&}yxbFA%_`^@ygAYC8!aO&(*v|X#xvGeK8$M#R zPt;abZ?VY}In!o}J@wQRB1M0Nz&D2<`)VsI$yZ|Z4sz_d=bp2Mx<(gVHC5HBaMr&o zAIb}>K=wQM7+e10e0$)bNA3Ox9ySV!EUB=~>sHI+Pg+}NpKqY3sjIQP zfq`Rzg)hesryxvx=S!oNO zo9~lJci(fb9eBY0*2odiX+W?OFLaC6J-vrWM+7WNAp8i=V7ky)g5bk{WLAW-Px_{W zhVPu!J9+7;Noqn{<-hZlkAxft=VR?P(+9qk#u^Q7+$aldmdxJz&s$Z2gZ^9Y+KpF&mA!E9q~sOCt ziwaAuu(&|NQ0-W}gz*)7pP}vOhIXSc>0hjp=OE-IGZ4<+_Vg^0G^U9`GH>D-$%j^3 zTf+yO+I)jor`i&{%TP0?19Y;7M)9*cr+nBjkC&lO6i!ibslRXOY`4DrJbT^oC)o{u z`I8k&;XL)^6EgAY2;Zn^0u^|D!@(Prz` zt$t-4t?<1c{IHKn)*f|r0J~f-_`;X%+N-X%v(J8`U32ACV##d#^k+Y5&q{zl{^%24 zNevBk_LHApZnxg{cbot8eCo*F{;~6Ilmrk~=ND>y0I|H)gg)|_FWJPg z98@MIkYKy^x7XT=r7NvS+8w4y6c)H9hwupe@ly}9bKh}>EnBw2yK@KcJJ)W%{a<$2 zNhjJbF8j4jmBsLktnlgTmaSO6%qLe$eDXKTwrtrXO3{tXc1EkKt5@Y0+SoB;eWo63 zp}w}pCQO)YC!Tz=eg6mFvbNe<-xrWqkgyM)cb;8y&2KHgY>brAYD>r}!20mUF9s`+ zqCiN)r7#axeY(JhPLUDgm1n>|$RfqV1T^L4eGJDv%o*cDSX6JVvbnQnTc>(jSS47B z6=mhV-yz8`R7;C};zK9cvW4sIuBZ7BL$-CeFv;_7sSkB2Y*%}iH8!!8z03BUJ4fBo zLe_RbEEk9temc_M17GsE2Z-@(qosoRov!f7&hqneKvdM}z&K-% zB4VJ09})AIj=`Q`^@r!Uzy}e7`TtK~V0{gSfl7Z*tbP8^mYq6o!e|>-AwzA`CJF9* z$qI&)F@Biu3&s&`BPUC3LcHSR_X^)oZB<+kJ}@-r;SY(058nIk_kOi<^Cp!- zos(p*%{%xIJ7nKk_Sm!Y?SR?)+rkC&ow$b|bDSL@0f9DNwrr^n*<5$sZ}om5W~=2& zpf8fOe%MjRN}!Ikzux{&tF781;zUNyG7e}v;@DTo!dKTx>CqKhvShJ;oP?!yoRo+5 z4nrfoJ{M3|yVV|e;6Z!*v8U|0`On);|F~5`YK7hL&wpBVRi(|{Z+~05;01g3*{7_S zv+3Jft+H~XZK+(R`$lW3Z?yK7Hb0N2rfREg*|5b{uUw}0n{4yOwN{YG_s=6fJ^v{& zS)Yv`H`>1TwJ+OiUVV(8squs~dTTP{8&=+=LkJCGZ|BPYz zek$#<%?uaGV4=;3@3|6Rl6%EL8k`Nr3BH8|;fq%ogoWz)vtNhac5kv%;!UZ@p^)6b z6Wnl99tzak4(ER>1BL5Cmh)^S^_G-I;E8(fdH z8RcOdZ1U78_Or`>Y*$|WYYF}(B7Tpr3hBv`9}(%2OMhnVUG27P@e*&XG~C#D8E20T zlJp=NT9V3Zk~YMu=0GsU@HuCHe+lyfDSgJuazwc4Id_f&}$Fe zcZYrAV;{CNPe0N=@`<9S%UK9O*iA__~z zWLfC9@1#{>(pTEh6A6>Hp{$hCg_zzWd>O|^x$zqxF`QrZfa^BKQd%%PiUF$xmggfb z2>o7J>`X{wT_lQ1?T|x{upj*R0{iig-)UdG;82@ZT5ma>_15L}#~3o-*DdjS$P)`i zYa68;?gj%KknZ*zPM6euIw*6XOaQbQ=mx@tyq*tS!777 z3d4L^iR2TXS}c=N;M9Ozwe1oanni{A3ZHAGl3N_u$h<&o*F%9J6Zj&WFCO>tG_+=3 zq4S}i_?BQ2QI#W!!k8Ks`N)xD?a?O}+3_czZaK1gMIUc0px3Pz`BFT&dc>qmEHZ`n zWmBmog8o~=3gKQ~TW7zz`YOBd!VCQvU^I4@x?6w$``>Nj#!YSwpw$5uD(Bv?qmCg8 z&Vs3LYEbV%UAd!|5Xby4`l`Eq2Kdzvb75AG*tqJ8G(3{mY-) z(MKO{uX)umimT72O`jr#@t8F=HQJalV_X1sDniPUpT~IPCac`C!Sn1Z1t^0GhBl{6 zC>~$^Bf8-yEXmCFd5&;mXb|>(RT*4yIAev?JkUOZG?{3I>EKa%J1jvZKGyR4WVVz* zjE8$Bmwxig+w8NS{gqw*{p)Sh%Jp{O!TZ~HzWYi0?E8-O-V>8c2(E2&2nxraH!#xW znX^@NAiNt4_zz+F5ua^)=dSg;<@}DaTL^^Il8<6Sk+j$A^K~_k&DO?n8No z5V1w>HF|sdB(J3%RTGRu-+uG;*4)LHsyO|PNfHUY+$>waW|a%CKVNs9{r!gP?VkG| zu+MzWsTo;*IiazGSWu1nywU2TPPUj*wd0^=o4PDgzD1Gu z*8{5}P#}b*JUc_b0DbwaHc&vvpD)E~hDOot3hDlK<@OZ#P47+YJ<{7kr0LET>VFHO zrJvr`;r)RQ0qgg)4YirLp^%Ob^6UOn&%K9{0tRN-GoyI;oeCEf1%lqg_i>d0rv^iQ+z-Z-Tv z%70-|zRlcchJEgHpOMuYhy{qBu`O1-rvo8ZQ8CP}{PnMG?dmo1C*~31P$DBojh1gF z9I+00#`4Ne7e;7W2BPX3!{@|qzWHWLcDCD*N1Uu{leHG*_!7hy7d&qj<)v0pHq3fD zl9o`H?BD|rvh|xbN=dZX)~!`8z_-@d`2;iP#c$rY&K53s+SYDZ=lR&UsnQ;M;&J07 z&1qAo*=W%QM#HiPSOM@2+8w|Mol&8;oIx*;eF(MbxFUX-}YK7PUbMYkM#@}WoVJ74~@UGUW#>}P*@(iShR zwW5}K(Qtdl^;J7!qaBwCDmtR{YZ!t`XSa}-{xJAsXCcv%MeUK}c+$OZ;z-Knr}OzY8>_Ui*i6 z0`|1*|6AD8{0tQQ>4@ReuiXquN~i*Qo?xJL9|gJJD@?zD=bb33a2%W9@6-9qDQSj! zWZo{w0hUb<6}IP)y+D>!T`VvK$QF_E)HONvHOE`+)*AcNr#|khUT(PYdKZRhOqaY_ zz1AfG^sVn)Waqr&&35SFhgg%W>=RyfthG0`Sz#{YT739BAXFkwN+d;8Dgr@=(C2sr zKK?xX3yrkU3lpg@7eMzO%D9ULi1DgL)`Q@}L6(~d2Z2xN! zdgy@;tdgU?`0b>O{5%*`W!qcK+Y>)18+bz2wb~ZO=3$2%Y@hh#C!Ok9Ir(__ z;X7tcO&xw63iO-Kdx_VdcE)F`t7}TJqG|u#%JlvR9c&XPO|aQhrdoSvm;L%zzwqxi za+=(kr=MwWdh1*5t#5s^op##k_L}2g<3e%XzO(HdJ>wYVTW`J9e*4?&TyPO@tQb~3 zyz0c0td#G%>JLKApFiK~YUu>GsvLa`Rth)jwgQMvk*aEO7~Lb_#E;s`k}GEae(I zcAN{}$cT}78TvZ-;DgnB;MfYz-bwhuON{9clK@A_G&VO#;D^-*UT%ehsrb}lk?6_L z&grM0Zcjh;w5*XlDG#L~GNSC_902Eo_>hs9-1CsK6p738q5#JpKHVmaD!0GiyU>rq zAl{^UB7I`YQKN=iU44VKvffzqrm8|s1#sWPGniVxVuMU~v3mWIdbTT&uZV5;1D+8l zPuwVWtC$;vHO+Bnf5BHeg0&gn1n2o9i~70!n|?PK(u=h%-~Lc#Rvv@ePSFMJr9z-o z(`lMcpJ3S&%EeLYcf3#K^Ccpkwh=EUo}FP&;~LB#j~GoTQ(MDOV%Rrd7PZ%q@(qt+ z00k+aXQ`?S3Oa?9Tma4|gmZf7nHUv$t0Zjl*nCTfl=nTk*b2)lY}Jb8N<2>nX}zsq zx7MnwD`l@H)h=_4uWi-TY?UEcXH9DRo7S%l^ObVUO{SNH^kO?DFBFRWdE20kAiM

`N1~WjQe~@TpIJ-hO)7uWiB7 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.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 0000000000000000000000000000000000000000..6e68fdb902ecdcea67196bfbff94cdff894cb3f1 GIT binary patch literal 118401 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%0D56=DNbbD{$q@>BYUf%~ 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 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..2f9c7048f8714dbb749752f72ef48c7824b435ee GIT binary patch literal 141674 zcma&NV{|1!*C>3ViDu$VGO;F3PBgJIaWb)O+qOBeZQHhOn$8G1;*;b90IH+lUv;29 zp9%CtWF-LrS5g4L+aCaU{zQ2n0RRqk0Kkbh0KlFE0AN_Bwa9ROHuxJTiyBHw0w_OW z7yuL)3IO600{grHU|4{E(mo-87#Q|{U|BHo|Dgc~0D?>akpDxY`dR%0$QU4V%KuQ|sr!*B4d1ZTLNeOm6 zD+^j3eJfo9T4xLEe_Q}gXZBCf!oXgKz}dpw(vIDki|D^7*gxTaXdn^6f05XmaS5ply25D;+M>Kn4l{ucTl_Rl9SB4c}dYjz;e$;pYNJuV*oNR(0o$R*tuBR>p0U`+7bV^kpGqQ+rUoG*2LQ0#LAN3pIjYXD+hZnBBFna z{&W4eo%SY%|3{Oh-T%1t=^*f53y_|c4)`D0pRAn!uh&X`EO7E3;XFRHykJMKi$R+_d|0V8UWx0i2ml2cLoEcL#JuoH3~1}6>LL-${^SMs zcU6gxuZwADRQlN5Y_qiEC`sAb5N_r6)Oo74U;=LR`~y30POZ`*=KqlL-y@#(`} zog9rH?23n;yzTpcYhZzZ&KsZ1!1aDZjiS!9y{NQwB?I75-P6#Pe|Vi3UAemVhoV=i z^1e#l_L%*zb(iecSw+blSzcFRiCWJ6(7@yN9lr~5^^d1ft+tm!EjF{NVS~|%SK!Kr z_WMje{0IC{sd~{FqAl6$*Z*>@E7kv>*(g)36bBwknwNiTC%NT|+HE^(tS8O;^&lYg zKV9*~cFVfzqszdmb9XQH06mh&($w%d9M$gTV4Rkk)#Q)P^H_2~GNaTOuG?Ci54~O# zu+8mCCBW-OwVlD4%9+it9`{k?dW_}dazubUYJ|uiH`hD zEu*A}!dAg;@K=4MrB>AKowrdC&LwOxXBh&Tv3fd}iU?jRbD>rH;I?z4&SLWtohtMF zR)eQ=Q;0coUlGlQH>yhYgxM>v z3pr;z+pX~tAEe98vQ3Gl%8z&mx$ziaN`B|ddcNFw=R@Oz#qtI>W$ftJKB8rLcDbs+ z5fp5>ghmms&VH&=i*X;#(R`VWzhADL>!#+pqC*D7V{47VYb;h9SM{PgqwyIVrd!-* zWX2)&Z`iP9=q_7IgEz=Dad$o5OjA$X*Jte-#Q(csgZ2A zB)k4u1*yfq6tEcq@i;4dCtMB!dOhXVdN~eq@o0U_oW~e*@_5@$`kVL79CM$ZPAZEM znJRY?cd!wBm@uCL~*xo%y4P^{hMo=)9wNBmmD07o==65Zj*9E zj5TsUHMP-*Oe!V%b?aqQ=jL$i?QnKNcX-mDqiOy`{yRAeK*VQaPNA ztH0iy8Gh-oye4PlOU(~6lV!c)-#JJTg2c!66O~4_Cf;~K_yDaPKGHW4CQF0;p9{8C z9I40bm}<8Dt;B`YNwo&uugyx5X|^X;_QIu#G~!IZXolPFTj9+DahyHakig$hM>nIN z@uMMBDMqyvNh+Imq&i)Wv@hx>D=n(^qHq((4{WbCI`F)cg|SK{xf6wZFZx|kjbBt0 z^?v4#)!S;Ss+xMVzcskLDBe1caTHz4ocu%)4HMLZ@dX<-ls;1_MHiIagJ&z0^R{L{ zZY&A4U2StQbM2|_jZOUMcQca<#6>Yd9l#)klvJ&)azGg~!o~A1-b(p@PA5b}zQxH-SK9qd~&eTBAfi z=Guydg$>Jn1A{+K+FAIL+y?c(?iMzd4O1H}YJM{as@OX(TS)KyMALjK7&9#?H8&DhBb{Bud$|$+AaT7vCS#dQX1qC}V4Qr4Kj{p%@G>=C z#h~iBCEf7`W$D1NT^1a8bLxKSez)qdKBKu38Llr{OO8>db*!qTQk2m&B|gQb&YVzI za$-qwnVW$y`M?%Id@ST`Z7CR7X+c;I!@Z7 zcy2FG#GOD($))5pqTc({*Ye5zyyuY(ie_9(ruFglifU?MXLwywg*3hT7A1LolvGsZ zcU_)tHoIS_#1p_kE>wGTGke5e4)hwfl?w>ob!HD)4d2?&7Niw)W+Sa?u0vH%L1s4$ z4Df! z{Y@)05k&b}dCi$62uac!aW$`kNm-oI zUK+QDr4ER4McL3F!n_yF#*dF%L))6MHRR6;!Gpt9LAhb>;?fK-wyT3WP=D=V_fw-a_dhiNuqr)$l2+_pPuH(q5g zU%6cR0_fhVSwEK){IDCVYDe@W^Q)azcz6uj@CxNCB=6T1AACto&)b=U*~ZsLwL^3D z#_iQ+e#bN4fLd*(QTwe7wgkBjSFfw2lh3`Hrmcp9rg3ohr9?0)FEfj$nl_*v2VDGrxkU*25Z67`34#>1T$!_EHETP&T zu9bwZiSfE=F16SIE%UT*#f(<+MW2xY1IeUFZufjpbzBAhEuYvU=Z%JX;70EVi+#Ca z3Bb^`jz`C`%}zB+-}a2wH7Bd*83QS(4!uyj`*Y+G-*2bk2^gX zPP-8rKdHBggR_Mor$0DOqd51jKJAFoB;^1%lY9CRGF{ujxK~&J{wX{mCaXY}u_0dp zb{=4bt0JSx69HS+tT!;Sfr;q>v~G|-h8sty&6J&LRJ6tKD+d0SaW3KLb!zE0xH=h} z>2=-{8GA6+YPs@y;|bYs9bb`zRKOAkLAceK4e~tw<+$#!h+KLQ=tGv-mixXDFZGdC z$LV=mSoyBTA~p1CyBopMaS|XD$|Q;jj)CI!FfZk0d3K}r@t%+IpzNVxLW{Z!uBi8za>$(bvpDrms9;u&?e)QmnHt%s2Po3WFdC(DXs7}DCrq@>DX)Dd>9 zFOmC0$ILY4D(nW>@pvMVr_<;Z0&6yNLCq=1BS8r5iScinYPCK+qQq9IGnU!8U$v6j zygR*+df%_~bh~JwX&qdUPf%5GxrV-QTNK3Sepnl&%TdFz=)CMSc?p6Knsk3Jv9efc zI!v)wQ}Q&HEQubzAKbz0v1@kkXsKb}q$^{7zlk@iS@#G~HbD6hXEK5H2mh#PE{nia z^}}~>|2axo-q;9@n9j`W45*b%c5td&9XJ>VSQ1T5-KA$c9Lmh2A5z0vkKUq23|{t1 z(H&FHA}D`5+RYk{qB^Ph{-n*@;1c4kJdK7nB~vlRdB$94S@aE?8w*QjwcUvYb+EN8 zrrED(1tVmq^BRSS8!hK4z14A#w&Tbm#BPGK{w40|hKJ4L{fR|(Z1=3Ou5J$#%!Cv9 za|^G8hvx6{(pY+4APsF6z$zq_to?W$?__hkE4gzjS8Xk2iscK4{4INTr!XBDc)h+W zw5a}6?)CZ?$OK*#^V+V9R4v$~xDnYH(R95X)p238+5l>A;#|)(!HMZo&j>LEL$mnK z?#4kJ(Hpc3LX8||x!}TVKO9bPFdPIc4Tsm>=T;$@G0=7lfmk5JaVv}8v0V<8?8LuF z_9%ZjJN{*cB$5vkq`Vd4H(3CB_W4!VrAs*-{1mEUa>vj$1ex2#cD>fkH%F$+=W@cT zdWw{c?A^BdPC=IGL8-Izcks`IP!yh7yuz=A`FW#NCrg2%TZSmox_Uy0u{!K)~z1+#NT4V=0V#2Q=?Y}1qDi6ra6C-_z~Jn{|%!O6$g7X zoV2uk%NwodnZXKY8;u*u)kgd{p|o@Hho8_45CQzODIp}N!-N8*7NDb*RBqQdH=YHi z>m1D!62RL>PCh~)&~qn5t;DkB`23~8!YoxOQKS&t3@)T>pNNrEY7C#F25i=ec0(#D z)toR!yid<&jQDRuMcwBjrP*p_!T8Q@d?`_aA^_GE*-D!crEh+Fx&1h=wDL@YefIPX zsIyo(FHJDD0%j{&&~k9T!FJu(t%)xMv+1+gwL$BJ>jK&`9xkK?vhU0ThH7Dw!E?Qf z0Gp$+lCa}oBB5C?sHJ3P8tod)WewdzERnhDIH;3&t6tiv@et2BWz2O1)S1=oR(x2i@3KVJ9W|G8cXR1VH#3- z>7SJ@UQ#UuC3G6mpXQStmaEMl(%cEbf{c*#t4+1*ikzM64HwH+`!=LX-4jfnH~A8A zq+k~sZjLJxxUJQNN>K16YwrTWOl+qKHr+H>%(=dpcTh8!wriG^43?XRjFFTVT@tYP z$d`_gfet~=BhcEwi1l`lHBj$kmrrJJ8U(~piYGRUA<>FwyMyE1N`rPJDnI1JGGe;jbF#Qtpu}3yMx|;4^+p}Z*MTpAP^q(Ro^jNj0_os@z|UQM}?@<(G5jay6?BxWw;ogo{hJp8^@t>a7Ba>W-73uGgMxo+V*VLF!3O5AmZ_f%lfh$dB{Ug1_opG5-AJVkGGtId z;^K(>l-9U(iW)jidjTk5OzUNg#uF6Jn@wGR*$U~%(c2RI!7LbJru1zEJnAEG*bpdT zS0{5S+g}{B&k_lka>8M(-}=g!y2RF1pCgJX8{G~kUXzW|;~s0_Cx<68IW8D$|8#7f zp7h#E7=%@Ha`ztPEK%(TQtWk^?SA%VWrUTmd^sQXODOt>;*C|~y3?c&M6ye>J?%Ii zVaU6Wd0r{df{h})k{=^FGqk_Od@rpiYVcHCgB#QE zg2saC_#s46vq=_X^IQg{kYwt-6Hhj$_@h~yU6U$G03YW_8LFA!r2_$~ks8`@d)vFb zhq4?cj!OA2j?fm`=g3@P%M$)2Aq<2jk}Lcp z+4i^-c5GE;Ha9C}(bic1YaNq9f7S!SLo@(xA+Km>`u4Mlmj|p5FmB6_6<3=RM{un^ zs)|?;hQ@sbZzMH}!;(!eqlwbQWLS&5y3kfxWx8JQx-!n8ht6BWv>Kz#vts8}(LjW* z<~-x;fYJU25*JE$eh=*J48;DpKlxRf;p+JOes5mjJ;HO^^q1M@m6eL51cVXAX*PQC zUO!K_BaMG~o=pj$?b;v8M%zm`{`qBTHmOzH)tafxy-M9bWF04iLpDP}QI{7I{G}}t zcUa>k@x1bMX6h#*6ARMPD@Cqu%Rm&bRt^cNj(~8>GkZA#jpt+Vba+BJjB&k*Mf`lKX3rSrZ0#{yH1EY3ZL0Xxxvr zd|Qa>bjP&}hvgqUM6eu*z@jH&c6iRqm?jSTU{XnNWmmu?Uu}Kpa#JjKH4!@Pn0N)q zfELesnIp$v)|O+HWma_>Utht5u;KwlkO-~Hu-h_CP<#CQINDU@YWHuLE46=!*1|}& z3~r~zRFkbCr{iuz<_oYxYHPo|S&fzD#S7U@Eh`Z^lrG4&^f!|iUk z5coPZB_o%quuOMb(}Yy8*aOB@tHVCR>h0z6^~1GWW;-{t#eH~T{cLmHqiRu%zHY7{ zMwA9`=3I)4n(hR=45f^}oJJfaHE>v=tE04W5+cE&Hg#@HRL{ISeAiq=;HP%~gskyw z(Y&`xXPUv3?X;$h!wa-+L+O4N*PptPWXA8R9^)cz_sxT4daJu2{?w2N92JARdUS7= zeMh{S^LO`bAbwQcy*^G+&^KJu^3PfKTs>Hx)AGG4sLcG{)fY@ukoLRr&H+RR^h%8% z7shR_Ws@N=594vv(T^Z_M9j|OY>88H+$)H&Zx4x{tl z9tAcUjB3!A3{EbObwv$L9pa!U9XQT&%RILS#*eONA97;+aW+VlTCbTL_HXlOc_fPyxI5s6hgf=t%^jRYLa!ZBFq!H3Nf4~+t%MvRDH zvPL7u+#o}`$WDgUu~C}7)`=6Bl*kBw@w`U`*PRRA_P4<^T_1}wUu_N`uu$>N>{rqJ z`H^^Hzz03eXr9A<_~eFw3{JL+ed5Xt>*#Rahqk>EaKqNZ8f>Rk}>4_OFNcTWw!K_h5#9 zH%zR=+)IodHe3lE_YJ)__m6K46no5Fn&$yhjl*t|e4dxPD;@q&Ja`;IrzmheDnEVN z5Wft`s9}j7rKFm%M$=gnZZ{CZBCW^@M&K2JcEL_y_XHJkA#g+RPi&Q(5RtjXFZX@~ zh*I#Cz5D&XHLqsadH)TIzI}%*uVR_!JFUQ(F=Vyc@{_~q{dVu=yH**LnpUdYbARSO z_w~x}x3b!IN*>Gx{&kqoqZp+fK$Komw&$Rc9$JtvrgD(Oub0 z!z)uxRdDTxY!633pN%>u)#xag_!)d^11)F2obifm0CX^y*Ynsgv)c%(cmhDnc|A|| zC&Ik}1&CVW_Xwv=)?HRT>J)WYGs(b$@7uAb_>So8^0b8+vxPv_&;Uw3goVdaEn-y# z<+v}U$*jwL?0D|J5(-8kO7^t*WVr|OR^^}{DU2tL9k!G~JF;d*9nQs#K`PD8F zSVYDb!5%WdVvJxESj4~l1ks5?p#>^!oThuyoGv9choHs;t`|&&dNom(U%rS@9wR2( z-~GrIe#9*oM9{cnw}(i%gWepk+gyO@OlIdXe`Ad*QeU@Tmj6OB-e`91qZL>%z4Lh0`(LGG=M)!2)-vx;MC1Yv`zrYX~HoZV9c z$?fLZ`^9XdewEAfIhi;(YdDdf=m>9UbwQ(iVPhc#F1L-noffPQYp!3?I|&_58Z?+9*Hk8hXbT0jIX6X-tVjSaJejx-2DqBL zw0aWlR04M4F2|u~7Gepzvw&Pha?4&mTQqm2pYii6#K-e< z5|2+KaUg1VdCr8Y+N$~N{T)tXGe} z+br$7c->og-J8Lvq6rUJr`#RoXRzT58xm)spV9Uqaz9v`^=01^R6^i22)&B_EV9|gtR+`C_*~Su8q4Z^Imh(%az(VaiLGB;MJcksRE;ey4Z9%r z^+HGvICRz!@mUu3(HtKqj-`JM|5z{nW1A364ka3GPaRy*S2t^Pcmd&~^C{pBV%KQ1 zClgzlIG)#FK7<3SlXhWRihFb0s$EA*{yMm22Weheuj3jN`+cuy#Bxv9kBu$i!uXTIG- z#^|}-WXm$*kPs$-4$WZgv2pv@zi2+-Rl8_JaM;Ehdfy7q?YQsa2D6{}GgeqK-O$(nVIV+%38DqBp3eWpJ*z?D2JDNqw zSNJ-dj$guJDzIQ}wsjO@TO|}{8Y}g=PFEu2_)`uy;T8O&!npE@_Z6??ukxF1v~M=- zXmibxZ%P^zr29@irM3rx15xSzTU5PPUOd}BnALvXP;{q2JZk01gjh%Z-hDd29bf)o z{F2ytp}~CPZ?ehuR3@0Y!*Qa~GPkp+HL1EQy^61YCG+93wCgx`vlFb-wVlBlw)qn2 z1v(w^;7kkyH*Yo<*3wdcKk%iJWLTh^#u8?n%$>IzX8;sQkig|nEv_5IUiGOg*>kGB z&Ohpxc$c@7z}-ket*{xw0h+O^E(}+@zY0K&eM>S~GDKPdzhwqJLI-02qc04Y2!ZjI zLIA8^dzT}_azY)q&M+$QYH06{^KuDi2D-{%19VTUOgR=Ddk{;$;uM<_x-E{CE&#B` zYsjpbCR|zE%>8t~ryy{8cG@yyDL$aw*k{*M z0}A|4Xu=6JMbhiO7`+tt(*`{(g#XN_{d~uY%$Febd%v$49B;>#*gQ7i=cU9`_t566 z4H5o&++DvN<2QpAb@YiQizp>*+z@XKURqRh7d?$_Zo}pNY|vZ1`1YD4Lfr=OQ3>+DvE=I)%EkbZ&(lPrI>lm15`^3Q$l41NRPvBM5WCtErq{a5ZZxS zY#N<@MTKl!{9V%U9dw<<0ZA&r+C;PJ5u+K5!p5|4}Lvb z-w9BsZuaxA5w~x@SZ8{Hb!2P5&W)_p{ulkko4BjAl%_O#{?$?Nb}#Y6TBq$+{x|HC zD^T<8P3F_l(#7U0K4K)+uaYQB6Se-Oah6Tap>G#vj~7QfyqErX8V~M$8)sQR4o5TJ zx}uGo>NaN=V^ilB!<^h`Q;#P0i4`8FShCo}1=W~N2tl$iO&Q2X*~S6)IPZvvoR zSh6S|q@a~dj-Kt(HMS^>9gm!9!?n4x2no;^u0@N2wn(ZzV$VwLp+-`?6*upQ--p_W z<1hl!%%Valk@ux7Ms};4L8!D zl2Hu7No8lT(a%$%iXS{K-RYF*EBE~YxhznVBhzjl!ei-(zHjJWUU#?aYAc@TXJg@% zQ>C!`(rwmE}MMudqXB#qt~f2D~;6F3RxM)9Rk;qi+fUU|cB++!2&U z-_y(=OvX4MUhkHFQ67S;`i8|r zF7hK;4u=4$#dHo#vHi>McmZa&A{ZN)6R0^H0V1mLRB*Vaf+TiIq6js9A%nIw?^Hbu za4ZOf9~V7>%%so`@iHnhg(A}7QW55mHw-f0H0>x)u+E~D%q4QO zCOT+KX{45y{-S29nYyXo(^IZ^zfhC132~;(El7s&hhF%e!NILISWbqg({Vlxn^jbq z%>HR|*k(KQB0(wUt~37I|D8tFGJBJIjD1A*(jV7=#UpRMVvI#>P3ir<)vMa}CVN4y zXDzOq2)&y~ ztz#d97Evr}`f|C1?6@8W6B+nc!zP=UUgCn($aT77c`It6JKYYzA?3l@8h0U#A78|g z2N=mBjz#d;UCcH*Ry`dyi5u?oBNpiDz?}Xx`!cA2;47!Bv&pP*XliDL1hj$Un!yEZ z!A+z}qAh07Hs`%QG57L9+FG1@e)u&Wb-Yk#-1~`8OUASG5tLc^?6!t+Ytk>>ITcwE zoLN*l1Yf`NIC$~xNbJW$i*N{)T8-r4V&G98?L#-p%#r+Z$m@^A9|E3~LKBsibSJaO zbfL?={m{;7ZR{K!sPb_Ycq5N|vAAiVk32y$>;;or~Q_J5dd-|Mn!sYs_L+#umS)+uzz2lF&aC|pQbw0 z8bF)BcFv*khd`^-IN0%&Aq4$Ukc?u4}jX1os2Ni$hyd#PgkxzRU9YB#A%mfIG z!t(Ubsz4vbBc4-m*%t=^b{IZj^r7-kl2Q=|$C$o&w2K205~Dam{-l zr`<-L8#1Ge&PUaZ#5X41a84ymUtmNy9d0wul--X4Vt)v~tVyGB0V@2D#&+BwTFvTv zHn;Nt491`B9wA?v>A^8Qyc@wY_m!#V!xklG`{d&^`Lt`A@v=cdViM^JR^u>$i(=pt`f|3#gzV>JRt! z9Db-~(ODS0u;&aTMgei~XMSGikY|w`{Xpuv&0zYXBf{-QRbwle?T1|HtcBZs-(Y;A zU@Sn_jEpu0VB;ng<#9b@2bycPv+y!XJlpIX)th?+C+jL{Lt~Ld5{NDLkN}OW3ZvHX zB59)-Tu0L&POq$E;Kd<#z=G#z!>e<-(`Ws}7#qygH2AQeJyRUnv;2|k$2}%;E=c?p z0tc#Ug$a(Y8>*{##=DGG zjGXRTS|NRe=s*uXSx`QZn^hxWL~L~Nw|O}GXHI~Nq`LU4v#l)yI=WPQlwixqjDy%| z4X^sc7HVtFelUxssh6bfbkUWvvbBx&t;TzFU0lW?}}x? zLK847s#leJFt3ApNCm_Z5KWu?_@0m3ud?^?Z`~0*NhwqzZ$&`7^ry#^`T!cW6uX~K z=A02G(0Qb{R^7B5W+~$t+})Rr8?V?D{!APEZAslNql|F|(^+1dd z5tY)PI!7V2G;zeAN(J91piIp*b_muMKXXPt?kQf*qdW}-0>9nWv?tj>u6>>dlYbS0 z!xLM|7u8M3oT^ zeUna|!&lFyqTgGW0nRHqEZl(mkZQ6^o~t}$ofm6pd5pCQV_A3s@DPi!b%_HbuBH|^ zQc~%wakbGIKchrnyq;xBbQf#xBRfFc9fwYD%gtBtlP+pbvug!WQpqj{5B6ODzT_gu z&^W<_5883(ouH0{U=k9#PXKDY?0*z=Vn(FY1$-jCB4h`*g$0a1+7=)ll|=Q6>9=Tat&OuI#ZO7M^BP;H%T3?( ztFlYaNIs#f`b^S_;NJSp>_oyViyfO0u%d8|sp;)Pt{GFo%B&l@Juuz0o6x88151ff zh|G^BUQ5mwVIqyCJCd$*--|9~nE5^@O+F6*bp6QvbCcxLI5tlEQz7R2>Ok|md$18@D z!l-sTUM%<5c;*<@)HDFsgV=n6lfAhbzKbJI*TmAiRxPr2ndmAWAeuDJn6IuPuB3Om zcb&I9&|}lX;oC}{%pm&gWf_*;P-n1#OQ^#p;{#N|_;pIW=WS%N2KhFS(Fg|a3F#&n zCbu#;{FrcY!jLGuslf~D^rmghzCpJ@Zx%tpqVGZ7{@&rebu8s9qV zf9MZLcrJFuYmQ}(Bb-un^XclE4c_f-4<(7yzm9cENFYEt8Q!Vc9a-NW?*q*BYxJ7jvuqG0(jGVxi@RllDiZy_FX&i-$T<0*+hBd{nX#G-AU_(vTfk>6z<6?oVT89W;5WJk%q**@I>+c8x&RnP*5 zrzIlKyKjUgjwP;l`<%++*z^G|Hzt_z-$c+O+%QtC;YC-!9vh6mcLk>!q;HDnyn};( zIhsb(qf?>XMY>*|**GOIwF!a_U+|SW0ghK;r5&OIfD2bbEHAft6l3;=Hy@+^&}O48 zsO-Y_L*y3K__X^sm65&F6m>U&cKl}&brh|>dQ(v(WNvP&>v;9-+oYSd{x{_v&CV5#`_ zF82ic2lY{8l`Ty$>D`w z|FevQ^d#nM=YTmiHz#bun2=pr&EZJp(A>>{Gt39EE{ny9^!r`>k1;&8)@32EdyU_o zXaM%m5(q$sJLo3KD=)jyx;2h0lF1aTT(+YqUc5TIMGQVoboa};e(Yfv4PJ!}d={G% zVKyQ%rg@ZMfEjmoDXb2(>I#w8P?@NVB-*Kbvh9Ps$DR22QRusSUH5N4t$Zol!?Q;BhaxEe2Zy9-g~r6zX|M@!@U z1CLt5N)932r4jXGW*np5mhR2W%q)hcbZ%)(+?L}CYCV8v^vX7p8ixomBH)#20U8j; z?v|6EDH~xxPDY#Q03$;qmhs22@MaA6bYJId>VB(_=P4_#G3T&?tz-8vM{dx4>8`i> zx&A0L4(jIX0nf%;SLkMj-K)P&Gosc@^-^Rzw8dTThvgwtgzif>tr;*?GT0B+(RkCb z^jOQ_8@h*iKG&KUsH7jsIi*U*2szK@5+MuwTVB1komN04?UfUpz3p66R#aQO)~(osf*ja=iH zVti4u^+dCkTazhEd}riofD6L4?9Fko*`28x3V4p+Hl{pJlJ`%!{jB1eliEg6hh$s* zL^-cL!oAofupbpJV8GL}zrbg>{4$8;``l?9;&PktrIKZpQv%uswJi=_e5ImqumqI6 zO1UfnMoV=zr77a>$2W^Bpkziojl9gXKtQLpFcs|yj&(EzxO<+AJ6{bp~>dm|SX-XY_pWcJKfFdQApJWx+9pqNDBv%tnC;p{8*hhd%{fd_1)#7;G;8 zjsMxP+zb%IV?A$x#iFqFWoDeNP=&p>j_4?xXRLLuzuBNBFwUz>9H;(n+-AF@s-eN z1t_bsbq6-n!n5DoMexfjDa=(o1oWueNkDV%LtH@F+mS5q{$yeb!D&+elEG7^aL?T& zjf8t5gq#%+YzQDB7o8Iflx86)rdIm+381KC7&Ep0%g>&T3yTOFi4%6_$__KhTXae& z5J+DV0=eQj$gQZF*jyFkJk52oVU{#1S_t2)!I5f*kycOOGTe`WcEB|L{u**K`4O7Z zFOk&t{(Slwx=XtHF7}So9`KCqc;~d$HIx6DW0bg&;pzE?I*ae2KkqT!7pybcUT5Pi z*&|1mK^HHmoD#Qgc}UATp?Z&B<>z6ODxcWcAnBx9VH+OLl3{ukv)y1e=!&i2JP|lI zV4-C-Qi2sJ%u!iG)AVit-I4@|Sdx?C*88yTMJ$iwGA_M5IwsXb_>QO(uNPBiu>1f; zNx$<*4xhK{eu{?D1H?U*NHNahDbmf%&>-$x_0 zFg|C$#9Ds_R8g}cM_P~wc~}*-!p>~+M70(EIzfGXnS@R9B(DT{@f-%dYa(z!d28xY{X?ew}uvvS$MAmL39tYzc64Qr3qd zWS$<~u~OVlN^QFQZ5EpMg#L3*Nt!}mb;vuneE80}&?c-Qtt!I^;k2Gc`7uBDc zob$A4T;a<1ZXjOwnqPm6YbqR>fy*~ZzZ7xmIO&%ehh-EMSpHhWbAZk{yev0+20JX5 zkh*Z?5V1PFCp`88L|`h)+-AoBv{lU)U z42zF<^z444qv99G#^j%SQs7_#7H-*HT?4-J8OcW zRjHUj)5>78A3xgjnUxaG;&MH>Be^kH<<b}} zc@=Q%%$Zs?QKwp9S9x|uTb)fjs3uI>Ju)iU;4mBJ*yAsY&7L>0@jhV|T%FNK=4sph zOVX_FE!lNcak8%FI(wn{LJ&K_3rtRMgZ-xdehO9XOkC@uBLa(KhJ|e!(sE4$6JpbK z5O^u-T|T_5kFy&P&B{x{t2%hQ!1w))sf*5^?`oPv?~+gf8T~#$UQ@WSn3}t}NcqV& z^H#0~f>8p{;V&8mP{z@CQKEGXfvV=1eJ`SWh6H zbyo1hmZSpwFFz^zZLY5m4ni=DJ4AQBT}oE=7T$4rV>YtyDai863>{yO*u9$|dOY1% zcOU0NcS@M=fr_y} zj_6y0g_ob(HCl|<(-opA>RmnAWcovPAS`2sEc~`Fjm`FWy06jp`1)X#Q)LWNYk6@++`;QNh=iqwqVl#2?w1uW zPJ_X4tGe$!4BjUQ>I}S({=`^CoZ3V%&=#sFKh=H5IKf>^K4XN*xO)aYL1g>zwDFKL z6=$cm(dcRLSqcbrD461QPP`7wgx^w95CVOeE6q|kqRn!770=V5o=Lo3b!!3IGDy*6 z?Mr+aLg34gk|(8QOwJ}VXxrR#qLBWx)R?4JT15q;BdF4p6CHI{&`u*%N~*2q?+l3F z;E>ldul+cXwe-CnzO+TU<|jj7IBt~Lis&YZvC@TYcr74H+RpX!1+rPSZI+BUn7nYU z<0|&j8VW3lE18kspPN)iPCzK`GyQE2`*ragX?8Q1-52|u_Pdb)OnXtT$ zvQT$Jf-HEN*C*20`(|*>%6{?;P?nG`@pv8@x@~p1ftEsc%`dtgp>?yxv~#}?W!vNu z!cC3D=Bv)bW?eNsRc0ZP$CQlS0UnQ77Y%~&>ZHN~2~<(jG-Uu3G-jJ)4IBU z-0Bqgj=@Al?IWrKi+VLyI#V&Bq3zm9p7UEKe&JUL61t-38EV?#9E5zDmGN#D!jv_vIWe-{OBpDo6pVIH9u;1@?vC48gy5Oe*&cg(YXlA{3vPcc%pN( zdfIpaMVXe|F=FR{B2VZuadMcW`AveFd~b!cECgTiHzys)s?ww~+B9`m;>n>44!rS_>Dqm8$k7t65rFfpG};p048_3q0 zJI7O4+O_2(ll9dc&1;P^G(Pk01ga5@y82kNW5IA0^*eUcP|e5u=^I`vfu1S?L0P4B)?_5{a|EONUxp2iRWc*f8zEwDg;q3KAm~3TlyX zf^&43vJWS|kV#>mMHlVCrytds9YmuaAV#90aY|Yoso%a@{tn;!%h6ss5}h<{1lYrQ zOn#Iz|I%S2bt&7}=T7wtsjQ#f(`yf!7=VsMWBS~FOm`Gibo#E3V9U3cKL`6v96EOs z--#pcEu#E@aEnZno9TdN{IXvU@N7KWSRH!^C=THYnn&qt6Q%k8098P$znIe|>YKLi z%~-xC{_(38M@~KY)Gc%8%)PSlxOoq%=;5PJormd<#{s_LFuhS6INZkGd0_2vmG#s1 zqX`{S`zux~WhLxVx4*xd{%DlIi7HCZCI?Qzh(g7fIWB zXP<4+T!L8XT{d!5tk`^n!7HGrc5p#LO?$+0nTpA4=CwspZHMKubbtfGl(B;pA~bnv8r zK;B8}#+5`~cf@DVd;qxaT||zzU!>`y8jeNH`68rMQr}2Ab%Do$z+Opn46KCU$ghyE zYqaQfq2p3PZ3nalcj(fH!Ec#=npbggOFb7>wuP-*w`EQ~@%ZGsF1^^MPoMss)6aePC+S1q z!i5Xt*IaW=foJyj9?{ZZm|i0Xici{WtQ}T+)f^bqa(LNe%Wt{i$Llw4d1rN1*}>`4 zCV%a1=e_@HA~aa$eGX=m8EXP;pshd0X?0WW zB5)0uD()a-E!@=N#ykq6i;#XYhgovZ<5{O;y*B!oN1% zjf$zT`pdDvT{P&kdMAP40wb7VcfR^mNwFqH-9*+uz)EVg{ow>-E629q(b;3It-I+9 zrZ3{_i@3fM(NZj>x>{E0?$}4%?4H;)m%l4=>Z$XZPnt99s&P{n{#rCcPabjMkC*fe zgz0tWz{@uF?ybYV^Zi@zdF0U-XRKbg6CE8b{p}~)oTe%FUwp|K?~6pnwMY|UB*5rD zc>Vr+*ANPFyL2t--*36$y2qY)<{Q6xa3ir&Dl@S}G*Q5vQa~fqh)15}MU1mS#@o+5 zLvJPVSjuhO_-Xd^+V%F^6?fX$hB98_UTbS3INBh{=;Z}q%Q5}r(D+|ivl_Edua%UQ zd+c=wEdWGG(4zAUW}r9|v$FMS!xX`dn;&?>+{Yc*R}BXt@&e#>baIdm&H+%6M4lqT zN(l-R5`Dp4#~WvPm*Z(Jb-7Yrvd1>8AqlPt_v*nBZjIi z-HYzZ`>N{|u;-{9@`L|@0A;09ac-k{O;P|Fs$cA^zG|@CbJ<9tkAo|L+-hTH(Lfg#-SKye^bOqSC4&O-)Vl z)vH%$o_zAIru*-CVt}Mjj<=MuO4ate)sygS)I_8R|1&eMM z>t4yr;c&Chjo8BxK=Dc zgm{MfK7lI4(v!-42%?{Qdm5GSorV|D3Q8%AvJIXX$TGm$ASw(r3_4M`H-qr(*atM_X_Z@sLl;gl;|)swT)shV9aYT~ zHF4c@?pJr-^v;JKdFuAxKCzvMgr#Xr+{v2iYCIu^c$CThzFaz%C`(R1uE9>6GX8t# z{pn@b0Ad-;Hp#cYeMCXtJU861H?EjCBKUv*@8@oN`l)sAUi;$S?5I%<(R@Bfv|zx3 zm(l?Pz#jxoz2XXq8^g>Z&9JMx&k_XEs%F#jj`jf$0pL+CWsVSW{#D?m(cRt7Mk!AK zd~A$OeF+2y0suh3DL@cN%QT=k_DOu~HG!u|RRNTnAo!FG-aSsZ=H?HfrV>w{KYT(< zWzl~(P54Ewf#yEQ0XQ^Up!*AA%5w}Ym3O)VGe`&^MM_$@C`%}aey|rVnC8G72nIDL z;1fv7bfQqp0$tCCh~}KtsQ~6h4SMP(<@^%o60GV&aE*)Jwyu*0V0v9OBJ@>V|4_LA z(jCNUOLG%WRh?Hsdgh@U$kpVqZdLgi=0-FhqGlbml}+-y6j|~$`6_c$u+kT*oU({E z;09 zjPNwy;th+BG?*l2Qh8a4ZQ8VDV9c1t)Q3OxE^C^3;;m;~_!rmljJH8K#)y_(6~pih z;`i&F{A+)`8#&tOAFhf2`z_!8>|>8U{pH7>+HMUEm6_61Dp6TK95+Y}mm_$>BrunB zvB^kTHl5BzCLc30Hs$znn`TTK|K}4XFYpzNgZwKL_E&uIi(mWoQ%`R=rKP1KUEffV z$gv8>6?&wIn?eLaiodRJmKRuUl(07}Z#i*qv@tj@B;YRKC&;~u@P1MUA_CHKw6ga0 z{r2dik6C4n?DsKCqR9aBTsq!EiBJ^`xs)E7W2Xa}m4ae$|P?wLeQnUg5ywA?JEzIz`i?~GC( zbxd7osjTkXM+cmF05;Ea=nl%tETw`H-_GQq1(ncu?EUAe7onhh{RbC!DN}+$1jPTr z>gtnBY=I#34nhG+&{IJ7TMG?!6?y!eV;NqA@uNl(TDZ$M{}|dZ0u8z( zaB*ZSr{3P)%$SjN$#G+b*qG4`UpoEN>Hk_%Gqii(5TJWSg8WG54 zQSGTMDcXX4U2|dNEkRH91)_sMO-3+bs*(ZN6)9?ZzyX<}ehm^%JMg!sEag2Ev}^5Z zQNkr?Pt?SRLD~ZDgznQD3Gx*#S~DG*{B%KvRm)!0b2jPMO zTK9J}JpWRQRLTqsomjSt#*XbF%WEdLLHV>x%X26ONaQ7>Kbd)C4k!VfB?K~f*yJ(K zcszPuXaRMU-KNUR7@F_iVoyK)oYgb{_PAySkO5W*1q2AZ<-S=6s&6TE+-^%-(%@7^ z;sJDU&0Gd{2X=wBqna=$09^H5NGI?MV%sw!5tyj=LTK*AleYM{YtdGZYtdJG71!fqA^z2RQ8;bMxNo!WDd2Jb} zI4PQFOR>8V>Le>`S^O`x-oXH{V|G^8k|k_hvgsvT|I&J^AJX8SI1aM3q8D0kY!ok< z0(Av!$yCy{HFAIoOhmlM5+<%Wax5FMz(7DJfOF_6f*vR21sEWJ5r_p3AqAk}U@lDI zqMI1}m_nkj%1&QpRS$p#+0~x%J%{^OpDE!2MV(NeB}m*nqhi#PmEA$kPXi!|7u8{r zQ=ior9r+4g0W>r+fVl*jex!dZK2JnOf9iT3Wkklcadm|H>Ww^hw9;06buSxA>yp}V z{!mIuyz%dlFWmV-d5vg-V?H<*#>bevZWh+_$9B?(=L8TG@91H39( zEbX*hsCl1*3x3V{E(#=$#Y-PLIuY`U1oSNR_xHLRa2<>HBt8$}$NpI&_aHIcH(yD1jMwjT{``*7k9nDljp>G$9O z6RR)##6S4!ADnsLgHQZ?#Un43@nWS*lNh&oF|>$DFXKRZ!0PI2Z1kwncrWzWx{d2? z&g2GSjL#+>O&_-Mf=wJf%(iadY%g(b`sCU6+{PXG?sN}!@;Lj32vT`z(byHqP*Ex4 zXiyqjd(u^WqZ0tWfL&3FlYylN5XUzk0U+3v?LNnONo9>szHM5!#@27z!osY2pPUt* z2m#zHL@&9YLX7rOglSNl5*og!%IzzZEdql~BLX}L0AYhZrR^#Sa9k~h7j7qa-~xKp z7S~;?F$qx<)8#=0T~P})Zj5Ro9! z_on#-l~LWm>sDoGle%O%eF<)v%tTdYEC~n~R;s1ZjcBX9l5WOth;#iaoAZGGYEiWP zk{@%?+bDKH6#ODzr5^~xUAS?xYE%5D3;ta>?#T(k2dR9kjT$u$-}y4@>}VlGZ3iQPnf7Pz_*1)e`5m@;&GR<2p#f75 zdrX5DdI|OB=*3nX8LbwTc_)dDRA4M{7r2z5iQ~az{R4nKp8_vwwHfG?u^c{%gZv9G zK5sj>HCr9@)0mc&{3X`QE}){GR9V^n6S!tZwR#rB@Rv4t&8ZR4b131v1BoXcTWUI<@AJV>+BmmqrL=pAL z!I5KC)A68?^0Fc)r*nk%`4O-6BNP`k4^6?jPp;FxC(+jfr+%o8+N1#&fYkST z(AWLKk)ZDgS84lNF-TVV&;Dqd6blkOZ`EM9;DKTU%Xb8#cD^fajB6`1EBq z`@|{to_FDSSC!TtzgeQu5Q9oS>L2vGId6AxRN?YAit z=i10)Pb8GV0UI&2%GPaRV+vL`%Josfy>f0Jmez=?B<~^SQh&)RFw1DcQwD*ez$-Dd ze1TpXurJ6PN8dDWYmS#uU@t?(6RTEQ`yoahHI-~rh}RBwZFhZSQrBN>>Zna=$R(J5 zG^sdvKYIBEUB!|`FbRM|DBzQm5Rrz8(I?R8y@t9GXzg$YtP$j^bNmND0_#WszM>sL zSPGz(guib0m%wr0q(t$)1lGU}DF7%5L3tf%4FEOipS}k`l!6irTA?eu_@IqkH>Mv6 zN{4i=NkEF8Z11`=2|zb%k*m>-dhSKkPfA4jel@|WvT9cS*KS~vLvDWKy8o!7+>35Y zHC>YzAu*Rs?}xWc7G-pZ1>lVhqFujcx{rz?orGTTxz)eZR&P zkAnyHQ3D~T=&6(mCXhAPWULWM;r)}%w(Q=;>hL-7i!VC6fByWrpKLny;%}>Wp>1DW z`2AAwt^a;Bj=I{*@sD3jz%m}#$Tz?K#XD9$x#r?$*KW%-jvNxnEorRWN&E0A#$ zhh8pTa%sl0^3>Lr*upcmECO#&mlGjsDr~d#tT9V^cRYdG~2qj8_ixL3NTIQpEY&!D#5alaK%YZ+ex>g^w zDWDd0W$H@s>3q;JSrY03e(j~(JAiGUyxN*N|9;!syNJQxhUt<05$Koqm+QL!1VXyB zBw5(HmGBJKm-xb`mavKX@eiJV_UTuZ44t`2)EQaFewVmY>Qa~j4ivwwkR7j<1J_-5 zUFwD#ZW!3V?Wy7acFRwHz2dPKX6)S4p02G36(a3 zW-ahnY;kFr1Km9~and+z>*}#S?3`oAjU!TJtxcUg!5)2bjZHY_1owh@;DO)p+#j-N zs*IJc0Jv0O=(hFt+Kf>NJ8MS0?Qa{fJJ)mr%1QUR7d@Y#^;e!dVdH|2 zd?*Qy1z3_#YF8K37lFNK9-ajLuHjQ60C)gVKhpk-ZK^KC98~qac{}u1+Ohyj=Q3Lf zbR`V^y4q1CeUKA?F4{iFgJ7y6`qMuZWegVdk?nslhEdOH3a5?MvHdjz#yvnP_Q)bwFRt z%QtV|kvr@3ro_2tEyygGJ?pb4U-15~s}tI<`TFaZhnuL28NWmFujh9tf7BM0Hc#To zw9JF|E}y;P!AF1f;3I2?rY$-UOT|)+Lx$jsT*E|Z)~d?Ota;}?V$^hF%NziNd8y)r zCcwlZQ%ebUaB0llELPDTuZlqhRzZ z;1-y8&EhgC@F`&hUjl;LPi(jQ*4_Fpx&?84f;__ax9F0|X8L zkK*2g;HqB}4Hv+Gp-{|ed1fHUbWdtaZF?Jh4kDb?Q<~B>fjqYdDOwN>$jTP2>uOc! zqNC&jL17=12>{XxCJ(2WsG^TS}gVm}P zfV$`j@KxJCsSu1|g8Nc^(T$=&h_7r&>os-n`ko|ol;iCezpIx8i0(;Aeb+rXZIvcV z=YAB_4Mr(JA9D)mhi#um*-v)}a}|MCr<~IC==tZKd1d|B`Rmk$R|-L*{4l*T2a4a^D_;zA0}d2p*o#-WJD1<|&IeXJ zar-ZR`HYR9I5b^aQktx(tF}=i*b$03&x6?8E6Pi;T>@=@`ov?V+9OXsVePxuvnmn) zc7YnNkzPn2zWZAT2oiLx<3O7&zVy#=)f{3!`RQGjEU&h+&pp$6`ptg+;~!e*A-vT9 zD{TO-MJ#D1U)#G`?O0WA)%foZ5Ykp2JAzf2cJhoW2+m1=h=1R*%~n6X+N$g8)VkaE zRZ>YWsAHA@nwKqwTd0JP<_R2#bkUKUo_iTbTd(JUqBq`wE4Vj-y0kyRzT)ACKE9X%sLBm|XBY5z(EhUD?LHLqd1@sBZdQK+pZ< zb)6j7@`H;3uqjvlAcm6!j28X=G#}wnIH{y-o?OBNz^*;<2fv~+OEIxtfBp3t?xWZt<%a2%I8bEkD_sin#DT-ZB;2y> zYoB@SskL9(-yN~W5e=D_UU(@n@z@hsX_{rSsU26eMnD(1;RVSI@JXPl<4!on>V}T9 z2OoIE_V3vOK%lAfQlaelBrAn!g_jUbTCY__S>Db)=K_nBHsFt6W<%?1ZRhrv?1A4r zVEc(hua_*2uVtF;=<>YHmE{#qM=y~tq7oh6I!)MW^(<2cc;RfZ=bwMUs#y)0&JE~w zd>IS{j>?GWrDkYd%65ctMj$e}x`NAPnK%S$0We9^1bTRJMMr?`lYs&O&w-qflHUOG zDJKnCSLv54%UlmM)gU;U;6*m&KpUi@?C4Z+Am>0F(lyuA{TT9;&&c;&7rhVquQt^S z{R99e(3QVX!fA3Wp`wnH9B@?&8adJ8M=^Jtl9%Cv_f?%i_^A(GF92yxBKzn>4XdAg zddmV^<&mgDzxnibRhu4?DZWVvsI_8u_=LkcQDtvSMD#t73BUc`qy=+bZEHf7raa%Z z;vyyS-)-ZfD0=+q-qb(uGoNWaBWj;7S>+|T^eC!nagYz{`H2&7kk|SDWADuaJuj*Q z-*fk+@9o?BzCt%NbR#yafYKnK;=TYzW7Oc5(Me_|V=~FSWTu^LjuSJ9zToJLn&?Cw zP$LR1xBvpOG|zt}O zRdp&63Rfv-aOA|U31m%r$%pTouK{MtbY@l{o?SNVT#^aWw$EO|J`PbI8tBb=qrw14 zlLz2QKfSG)<;z23!+j?je(Sw&i&tE6;iDTiZ1}*Ev#!`8=I8Hn_xV@X|GNZyO~1PS zKT4oFIcxOae)2zk{?RSZ-hAIfyC(n3e|rC9OMPwqr#}DfXrI}^L=%dOUiWO=5ztjf z@p8J<5RWce~SqBPErr=Na02K!E6OK;2GpQ~>aFni)oxTod2J6U7T2!zRG^`pX{N+1AJn#Tz8o3gCl%3FJi z1}eq~J_+m*yXvI6%hU{t#@3@KB7~QCcg%`k1*sx+DQ2!DA&;tRm7xk>QZ_W%(??;X za*_^lu2>R6IC02m_9B6ouJ~NLK8{}r?dO_PG*_sDa&p?%B6$!OJVVUJtQ1noeCjLk z$g3e~hbNCYQnCCh_eQ2k0v@Wpb``sPiqCQ>v_N8bek>Oir{&;P!YPq_Qfb2$wSn>? zy&uaX=PzI=mo=Iu%Y%p{QOd$mpk-CcBvC(?-ZD2oHXvS>ugYE)#h;Oswe`)fD~)vR zkdyy1#8px{0`$4cL*Y>+pXEvU7~*p_S6P@gb@E0!*c%%ikKy4V78A5$cAOJ~xZ&>U z?#%j78VhNW0_Mi)#I&?9@~p3)+_QV%#QK-4YPj)@uZc@9zVKt$yy-VL%9k4;|KqK{ zvh7B41bHO#Aqs{N9}pJh)@S(ca;)MGI%tz2?%@Zaj_C4GZHt z-}@eCzc$1U;L?V-kw>?^MzTHbLnkc5vtvzQa#PfByi&(@3~tH5n&*Po_X- z#m6ph58VoF6+b;ZhO?;?DDuHrykr$YxJO`B!#K+>UD7taos~Pt%(z}G#m2Z_flvud z!`tN~8v2PXo8s`k!zlYXx%OTa!Z`ph(|Hk0 zcxeF2`gOyLlGeb{a! zV4NqB4I3K&lCTX8R}P%S2#k4=kDQ1HPCD6Zmp2mno(#=h$%X(RjJxvoqV5;Bze~bEx%;WIjPgbr)U(N zmzu`h7iTkovv3R&FZr(o*f6(X0zGzOXzWyfSHt^%<4tkJWfwki?S?BpxOD9`>2Q#B z`whQZw_l3x`TvXDJwN0{evg8$*}8RW<1M$`GP?QRudlx4)1Q9e!AEzlU$}J1=*+gJ z#$J5loVjvIR?LHkk2A5^5j*$pja93bv4eJYdJgRDIvLw{KN}aUTf@%TCAl$b_ksOX zaugF4SA{r)2}ZMvz58@LhR`*0aDo%`J~_ilaw5W9FQh1s`cu9LQAipg6ih#}Pp@>+;>5n?jw! zSQLa}nYQ2*VyS!aU)d{q1R)1DLn}h8;wD{D>Z(Lt7#LSke&j3hD8Ndt=_?8#$z*z> zc(BKuJ$Io9x4-y&g<@Hj21oU5ym_oBQZ=&oeA5);+=qB1;+5HOmv8CkS~iIV?VdOR zF)SM|QSr&7;47vS(#k8(hG$Qn#~iH)T?seR-nQkK#CeYem*qiN0{B~rHa5$n;IM>J z37cG;)#@iJ7jltjkcNVz)9*Oh!4@4b>QoC)QLZ#4}ug)IOIx5iiL ziLa7a6yPXOCgI%@mtk4HSa!nJpN|NeXL_`zfIHf*?H=0|6XJPN3m>7-wA8zW9-`Fce?@`;U92 z#SUc(Yw8C1g(#PbL^0RCs&=$vZcK3pP}GOYsfI3hDrfTRYLJ3j+%#A=4Zx)Ng=fE}A~W zVWf&zuCrrJmU5w#l=&`I_b@oDd3pDdZEydZkN?qQFTdsw4&Hd4uDm1^LDB_H|7N30kV|M1^G@xhSQC-{CM5#HekzN z8sGWOT^tHM2LW}7nyw5`cxY}{VvLWCVV0?^*GFI`IK4up>bbJh@Hy@-#u0k|9#~>; zN*h8tM&mWk#@0VFG7vxd(f1LQrf9(<;W&OxDk=&60z7|dBH+e@s2vtNZ=hf+SPGwl zS$dvD&QuO5q{j2nWKv+{08vM{Rc!XsOlR-c-WyoCD>(TfmtHC!dw}3jKLF9djVE0R z>*XY3QXo8)i{=n*$UNJ?5h+sOq)_mb_6D;ASk$8`J}(u9RLr>lOT))6@tH@7@)fsb zQ058vl{fz7Dk|-bJRjSF-hNXka>`~ z97zEyd?_Eoy@;E#!9?4d&Q{M~AT!$cllJ`#C&+w=!%rn|!ua~lw^)mZQhBJr6Pcqd z(p9+2e2S}FCeEnj(>I?uiBE2ljv&xvL{Z8hIS^ga@hKU~R)Z%Q;u6=$X-uAjgQXmK zPS7N0<_k|E%{!kZ;Fl0tRwmlp8ta%to4os{4~;#sb^m;p@xT9FH@xcJKmW`BwwI1v z{XO^GQ>vguU&Pn16h1HC+5Pvt=RGv;M0HcFDFYYAf4=`y?QJHhE@=t}$y-X(-7&CpjyiZmV*8GXD z8k_S7z*~OeaSp&M8;w$orN>HG+QBP$Euq8%c$Jpr?3Fz5ThVoy9^lMFDdmzKX;?Op zE?@bw5lg!0t;8p9r6J97Fie$3<5L=3%7Y=KJZRS!UA4Sj{%WJBx)w(jA0W`N^t|KV z^5Rz*8zi}!w80YsylIw6zygz2clapf0Ui?D8IY~4BK-Pp&8u-D*MF1BULxW&*nfGK zVddUu&)rS#Obp({ktv|b+`!1#c+HYU3+oOX={~h>Uth!A1uKp`_~6feGI#D=N9_vL zi~f4iD|~&}f8-;7?Bs0i%+|4Q{_N3bZ$8pFIR3}KfAiEC__4o#^O2a@hOL`gdU9Ym zH!#()Uii|B&W|PZ)W7zXZ^og$TVu)c#j$9`+E{=m%=YGbmRHV;SHJpI(T0M*>w$Zz zsBO{5ByC&Abb2y4JF{1a@HpJYoFBui&Z(yor-IhNO69I&;qIQuhI~`iYC|Ln^rKxxUbsX%jyy* zd<$~_SH=tpFW%%`d^9e3FBbSx;rZt`ZTyTjoG30zFjZ6O)$<;C#fA9K3$l_FILgc7 z&M#mkqM}eM$;{hxjcx@{#p^qho()lzM84|^PRmu2mZ|SXMJt?XtP3_`m413Q2&R>h zoLJ>vtW|i;Kc@59{Fi&5#HoT;8JoT+^K1|@)-WKf%K)gb)4W7u-Qdbbo=`5zOm8s)+}mx)79tI z?B0JOYL{FZ&pv)noIJQ0cLu?+e>0;4_wv(GS3?u6(R-R@kQ2kPU|vg1pS=?QH^b4( z!Ok;h&5MgKJU8v__doJztUdn~@i;zmdJjK~i{V!F2^WeVML(^jK4!KzMt9#xoapW& z%}5TZr?oHv%fu>n%2Z4C>>Kg2>BO#rG<{}U96oX&Ha++dhpEgbe5Ckm2Xo>_Qgbf~ zrXVHK#zA)pDge``fPpGifx=3VY*{ICZFS;Nz`5Z{69xAwOWUh@@Moi781X7hWls}^ zZW2_wGM*ESc}qNT$bHhWm##Sn$P7y);1P#>RQkDwr1CdUnHKsbPIE~b7xMHd+EF!` zB%vcysD@Nf>M4`~_bO&{DBt20PZk!LcU4kqNuo?%wR>y(cjS_Ig){S&s}v*UY#Kf) z!;B@pJe2vDN&%53SHqZAAiiWj%U9OrOOuxoq$qO^;A7hnqmZH$Ri>q36PhnLEN>O5 zS1R;mz`RP}`F4HFp+cHp8zVtPq|){>UYs&zk6ja88r&Q$@G0+Em@EP=LdwpMDUyjt0wCQDlhb%{KWuq`t=;b5%Dd8nbu1kG}OK>;0 zO^l`@uh4 z_=CId|Ni4o9-ULy-a0xm*xxvR4m)S(;=cIs(Rk(C-V>dN4#s0Y`A3%0GZ~91WSAq| zT5Eb@-5JZ`yAK^?<;+wpm^D2PchO^ESL_T-Kx6o@pJ3PE;9!5WO&yQx-}IiCHuuc9 z{psN?*AcJd}%8|w&-qsCJZJyb<7 z*QqA~#R!F`h%0%{DP+%C<%R&KV1uV%mJYc2pTa6Naq&^$6?SGN=zSLDl~^+&N+Xr3 z2~;+Sw&cAhg(^k!&vQbqcIR>>Noi~Tr~z`(zs_`I0ATsyKYEDkW8R zHbTVPIH&=N=}4vJW$)LK0clN`AtgqDY;5GkkF1f`>^)P)EN)H3C|&=&L?M5M`SD$N znHRK^ca`#k&n!rqAL1;-bf^YI=Eq;~R7WF3R}^!l!Sh+NXmA#ENh#l*GqYvC0X$P? z`Mxq=rJRbHs?g3xB>QnCxbMK^z)0U4 z=a%~WPUh;f%r|-S-I!Y&EP1ivv2dz1e_n5dwS0u;o*T_?rfx>=)~#AI@v2u}Q+LfZ zR}ZXNd)`v;^(pUMVtmnGO5}^`a&mUvx^*>2j~*TW=9fNk<6S>`^oRF8@NDZle&cnc zufOiH#%DolJhc~v zj*Y$o1CHuXzpY;FnT~>!V}N+*r4EEz2d3W_%+Xqd2ZG zy;_b#vlCav{o}RS6W3Pn3LE81HwxN;U4!prYX^RDc5Hi^b@orkoVoK*_SpwbSZg&N zrIdOkVm$G;xDp3iDw?7Qi7V2Wf@M#yDh?*o|GY!~oLEamB)m!Np#uRC)id4_5?`*; zfnZMjkv3H~u&Mk=niILes$f;>`3FH2c}ii@$4(B-jF%jA<)zxtl!l=wBbB1+(zH@h zIry9wAON3J9u-P>jDL6Ho7%!CgbGIzG(>#-Lgu{UJgb`LH>u)vBlJnWnG;#2oaD)LQrwNeCSzsUG z(_7(dF)7(__$)spNcui!L&dM zEtbq*6j!|BWs~oI$J_7|KKR+0^Ok%IWekTYvRUH|1>R7eDi- zfAFLGp81O{&mNBHb7qb$nbFYLv;XP1bi=hM;E~wz@Hg3hPGz2KjsZMco~%6-kKBDc z4)tKq#YBFB9f8mEvOxqJdp*77lQ>En9%IuKk~KMn@A$@Pv31LXF?&XRtU2eL=o>s8 z^X7KM;oaL}{8V37T79;=7XMK9Xgqy*GB6VKNq%e$gq4)bRDs}8!PbABip0i97DX*!+UDWQ%u7F21o%{FHY76Wi_bJAS3DJR zqEIo~6|KU8B4M>J+hDnq+J;Rpj(T&nk*)XGN8X`n5(jYQx0FS$tf7!>0LO$QHb)rp z%h#1!rGYaQyvQuKmQKQ!$HJr$UgS|6Q}~y*@ycF5QI3|f2{8XT&q7YIUs)u%TQ&<2 z2;X4^RVq@57IzcyBYgo#>Z@>+mz{(x*J_@G;hU2+-jWCES|ZKXq7ZO?rIt>PWtMLl zzT6Ssf0DT<%EAUxNYmxJBtFYR-sGXeW2U7HeFq84e^BPTvGJT@aY73{`-X=0xZ;Y- z$KLneUvI#L$zw0M?D~HNXxw(&ZR$9jul?$>1gfw81z#Ffd%YR`n?L>N7dCG@_?u7c z?wwpRZ~D~a=t$lAvlm47i9>PbC9jQ@OIOAZZ~a^x#Ax3!XI`|iQs&r^U2*p6)l{~| z*njM3FaU^?*z`{`K{*@u3PbD^)X#TALmOT&J-m60iQ5ibDfF>xn>II&a{p_p>g6#>vlVAa;FGmT}Ib+zO1;6o3^@#CE_+Y_*8 z1ibPkTKQA>kXj_Q0h3UZ%Pv{5lTu$1Vuef5QBgXn>92}LCF7Z^de6)qr6vQgqMDOW zSV~2Z6P_aBa@)N~6nSqGzzBH(CVQ)8W?%PWo79?LG>=~Da4f=$ok_D0M_-2d~66>9z zc`p{(EEhNog&(3pQSxpFAxBuk6_Cu2dCdlkG9ZhTeL+-bL4iODj_ACz9P{GGJXDuh zI@U3SrXd>`-=C>1)~p{DoQ7pt8!t`(Ts^M^rF2=oqU03Umy0L_{0}kiPPEEG&=l)2Oin^mgbJRWAA^*>uUQt zJ9QKvixw=1{Ra-l&Ru(Ae6X99ER*rNH@-Gn=^gjr#<-cvJ26Zzp51^>lC{)hQ)dEo z6v?D&TUE! zy)=}v!sb#<-5F0}GO8-i3C%~$DNIeAj-USchtZ3hhFKk+9>j(!{lkMpG+rtkR8elu zYN3JAf4su++)IXr9~G+5NuFo*sXEkNr5KDZkir$EqulvTWtPifyF+-4_n zCv55YI->AWNomLSN%N4P1z*9TvQ&wRq55B?Bdl?L)aYVRu>guvk*2v88L9YI6_RXv zsSJ(CRXc>G!j(wk;wH)ZugnKHno%DXOMq01y9*lx6}`QF6_GHN945O-PNIgxm(O~r z%%+SNHJM7flz&bhX9DR|Ze&)BmAoZ_3@f;jRt3~NPN&{t=S$^kCM<_kpwb6Uyf$dh z?aJle@NyByOV^B3Mm2=WN5)rv$)GsJY;dmT^4UVBhwuB$@XCEQ$b@9WZC;ZPOp`1^ zIEl^PO@%qS1V@EXze#1AI&UkXhH_BdDZptTkrj~=ID)A+KX^0lxPe30I_2aor2sK`LiiRkWSGuFOs zGyrqrf=jQAV@Hq0@W2V+$Fau`$2D)fA+EgcP0@Y)c#NDpj9q;iLNFFBER&q%cVb+d zy**!*Sy3)?=gmT3PO)L@J26$?%1EJw=g|~4m8bSom5WM64}>neY+-#qN9rQnDlVlC zMT;iTZ1J4xR3VYpk3-{>brmZ&;w>Aj;DhJv1%oCVA@HgAQr#kS%D&20`OfwB@R3>t z7)h%#?8VwYE(*W&h_feXdOrSFj57h!&7E8&U*=0C;Ic?Vv$xHhhRoawKJf2xGXop*7}iYu=SOb8bMU zZLD}1pf@nzOQr!s+T{s0s%ipD&ML5ph&a*bnE?{HI9&YxO@`#&~A??)duccSkRiQG-}n_8l3CqX+iHC_VgWo*9jE*Tkh)y)j<; zl6A4T1G4}oqTwkHcSd1(npE~+5CA=8TD?_*VAOwzj6(L9x;oy{AIiBX)8TiBG{&pjATlbhVFb8d0=V9V%1{ zPMJL$xdKpI--L zRkzg^KxveL1uo6=ptjMl>`<|sS;F{_XY*|dr>OvMK#;#kJeC~v<<(!E3YuxlX&hPV zMcI$y5wnzUDI3sGHl+-+ae{)#!2qwO=h3`*D@}9GjUx!(olA?`Ssd~9Uwdo(*8AQS z!<-ZG*yg8^zrpwqw|pwT^7U`kE}Av1@%R7Wx5l5`KN62Taq^Gf{r0P$_`+X*@KR8w z-~11L@Ir@eFGz!@=>Pyg07*naRJuzMd%<1LbCWRnnLq#V2M+eN-nMAf`i9j@XO7lQ zo^ITM*=7z-#isBQ`S>G`QBg6oFk5=gOJ2$W3?BZ$T6KhHW=A_p7Vmvb+O|(`jU|g0 zaYD}kW||IMA+r?Hp(?$5{pmC{p2B9%5rykF#7xebeRT7tSh=7!e*HCP#0BTAiMfl< zjAI9O$DQB%c3iyS4YB^>i(}8OXPI;zq^D2aLurlE3mRp~nnEyl(QH=p?2o(d`cX`u zI~yKdqN!gU1wrMEfY@_KDXLgnaJ<&s#A+OR^$H0nGEFKb;8Tzk9+M}A@@t>-=RK+- zs0vqZoJv5%TVX^CsE7Q@0_+w#DWr;_VQP_-_!1A7Dl~&sN+#CTuk;k|!~=al=GoCo z5+Gm3sn>iDrq5n7&q;{qq$oTJNW}ySF(y3&>XY-CEFKq*g5H0NFgpzRTBN|LTCWgKHwm#dn=DsS0C2bb@u zj@H)qmgJt7k4lD;`{WN8JKxDE>Ey#a>9^9$Qsyz=MS1a-B}Bk!BcCHa@x!y9ECU!Y zT|KR@bQ-6`IU7} zn8W}b?=uMrGL7YevS)6}6V|SI!<*t?f8+x((swL7W+(ek#lQcLe;Qx=pI?s!vs>b$ zzxTd4JwB&)`TUtveS;%oN4v)s_4SXv|He08+YspG`S zp4fe`6NhM9W7eWI@iG+oeT^?7mj z@_BKT6+yet^k<`q;}mpfvUGFq?Djas2;rWe+{d!ZxvZ`%9yJvT1;<{gGCjrW z2nDbSMc<4WCrvm=hhkHe5~u7^aVj?mtm)Lf-Xdzb60 zNn4I4EOznIV5l7Uf>icQ;G}F-aP8S9Tnan+&t%BzCC#ZRIM`M0Uc}43zll#md~NtLec}<3v@-V@n4HsX1V7F;Exg{N#Fp&(z`NK$~=_)%C%7kUz`VdyY{Id##pl`)MO?SJ*w z^I5gl5I?!^G0dgo@ozu=ALH--{_C-Hen)KF_-~@~coQeb&ESxg(>09@qZ{gL#*UvD zsv8`hyyD&;9=hpYy#M7}zWu!?_NnYY%cSldk3E(}B)J#z^@39PuEhE1N54EqPp7t} zZtR=e4vpV@|07S0w=lUijYY{v_pw4|yft3?#y7_xrjo6jABaJgj?J1iD^6q1IkNBR zShH+qbhAuykV(;*tc>YrIpqj02kQ{tVGdqqHaCvrSLe3d?}&!xHq!ORn)R=U>t6N7 z7(8(}c5iz$F1hBdan{22ST<)8A3D#(eOv2d&G{F^Qg-8x&|p0E)E0W~-$xJ-Pn3NP z>*a?}or<~3mT^?#oOoi>LwLM=DCW;!klW84nk%Bz`xNf1kW7Fn^_p;Wf~JrtbWNN? z>r%lS*zfPaGABMFA0B@G)G+G^VCZvx~IJOZJFKs&=X2J(cC224qgM zA@DvMnk*cjk_Gs-%;1SYwMB_%=lml?z5K?TdRAxgbrDrOU!)|i5g2d|`6!A%c0 zO)r^R+9oOq^DPtvnU@?X2}f8eYj_cr0ck3->}-GyQt=XLIrv=4monjnN?9de)ll-T zf)=jC0nN)PBM)wfGu+0=d+C=s4MO2H*YT%4jl6)wdSQ>rY}k{p_U28?qBQ0)s7uKg z@6ASquXWUpi0-9GOwDi%xkhBO_A{j1DQwPVe)98?*M_TFUN!T-5ondSH+jV^o97uCqEx+&s-e;>0^Hw+jjQE(j_cerUR9u zr6g2ahvJ_aJ~cXaxbyUa6P>4Te#`YQo&M7YpZ)PgZ+zqUg%@7faOB8QZ2R!^0=|^l z7sQ3l9ybZMjP7~pEAv11gDQ=`FNHW6c<@kL%)Kw>|1n{Mc}E6~@k{rq-B?{l1=_v@Tq`J5OMm zK!7IuWBIw4#(C$ii_U}FqK9)iXUZ%2&Q z&5uVP{23G*a_*o8_s5Ox^J4W&F2Gg6>G<)tZ;j1QZ-d@^TrjilQxT!^EAZ7GojrSn ztA))bjVSoCR$u8sxKQ@Wi@id{Ek8=J(gvaRE zKYpYu6!FP}O%nm&ExlZ0s<5SJEp)<*16r0tDtq&hxQs41v?dCrHxzmu^xgMw$C#be(6P1=QjbC#2loC|3#3H?(xt6{de}O>^E+_3eTGRs%`0WIe4Mm{L(9Y zdNI!(SaSF6pT6jSeS6c-cI-KE#;lq3BNwh&*fiFEqUNVh9gjJ)S}~#y#<9-cICAJv zv~cX*IV%>Rc*o+vv0f_iL=2vqi2WxRhO!Dokv)aeGNv7~_sxFr7-skEp+iUF=+WbG z@WB4K>b1Wf7hZS~4${-4 z*n~BlJ?&v#!ZKpGPzToa4^#1rz*||BM0;!#sM`jH$!@4> zVDc)5zleznj`=(IuJpDEQ-Nht?)|9UG_$BC$|C}WFgSrm!a~mopZT+~@J~ZAp}kk(levIJ?*VZjgy)xZ7Z6>E*_am1yzYR$lh?GP?5?sf7uI{=e)P~ zX}COF773m-#I1=){9Y>Y#32twyA~xYQdcesM!w3bk1UO(m(j$P5Rgz-kSp^C;ukr= zxH{Bg}$8eycq2ncG|3dbmUwIp)kbl|!Pi@>-TeESad6@XZ zfBnN7p4#4f+m_u2@MAMRy5@|Cfq3MHe-~W?96-K!1(ka! z*V{MNbH41f8QATIV)ddqR7B2!J$N|i+*275FqTfbcK)&ZAB^VqHe40Yj>G%6#C13P z+gLV#cJv(C9#>rZhG>~SFShU88&7TeF-tVrY&D|=*mhho9E%Gsxg;7|XT{I%yPqAJ zr*V-yJx1sW%|GL%^hOrNt|#w}&wc(YQICI}S<~uicsK|G^2!7C9$tMy*|QR-mZcUp zDvg*xj88zMHHYs!s9+6F!ROb@=hTqgm;un@Yl*XU@ngo~{R{CTQT3VJF6r|^G&6JB&vYAfBXi4RJ0M>F8 zNj4m*IC(}EG9|a>$;Lt4{yM7Z?qO*%yU!cy5geYA2_Vgr^(a$|mXD)Q+8!P#Lq66m zm2!nd)|p1kMx)5&qJ_(1;gW@M&D@jm@_8(mZfoKYqPplBZi((=n_|s-|2Dq!;FkFG zU;p>GYQrlq!45Hkw-$OOL76BWkgQkCJCP@DGvDN4{Pf6FeMf5}t{GbHziPvo@4WdV zx8%Vo?9$DFV!`#o_+KrVU%K2lIeXDZKj{mZy5%qa=nw1Xt^aJxj76+_?_$wjZDZTC zRwh}8I2X1%7A~3>HRGpZkV)26tIoyFh=)p)?j*hTHV#jAE&T*N2@e;aq%w?BLFUa{ zjJbYVE`#i6BKI)6W3eQrU|s!&_s85B(_;J64@cw76>(_W!?ASfe3o;z$Iczk7DYg} zZ-fKK>zmr+sb_Y?Gn*fx)^qSU-u$fo+U(b^U5#V5U2)52K96Iy1<~5TD1$Bg3MVY& zRR+~2VF4U_16tW^V$VKp%vqroK7^E-n}QCgLRETYN|maKFe3dZVD?CJA{0SOEkt}u zyU)aHDsY%x@R^2Zv_Y{|%Ugjd+6 ziX_r;#8haN=Tzv%B=SPTq9{u(DHZcfKxuq^AC^jTl)NR6a!io-`OQKhO#X!>QsqeV zNB#@<31WeoKOTG+a-@P!#Y>t>Y7i5}H+eC<5+^6gcIL^n(twiM7<|I{I7#C!-Q0^o zkUObO=L_{+B~K0e0!~MRE1?p16E|ACt57akO(hx_XAF<61iCxETKCffRa zWKUNd=Iq+;BZs16&AD;y>u+Qw?{NI=2j7m%Uj3Fh|DuaIbh$si_uadw-~+7E!A$}y z3iMj&&RHw@qWN=UWcKW=UbSN^y~K31bjgx<>XCcn8{fJUUp{l9acYE-1Pz3WfHz_- zO97?wxmf~!DGrI$i2O=?1>YJoTrj9Neu#}kmbf66%z4+CQ5$%P3-c@jfz8f9f~=b zXYW~c?1mb7Q5$70Q8FrEh14?fpZuhv;xSDR8C-HtqM}g1<^d?FM!{82 z8Mvl9SAJlM$X+VXsb2xMEC2&PC6Ww*S9m6lC1Bafv4a<*&6DPE`6}*@<;TuJ$+u4# zVxf_T%!}#FgW1cB@j#eQ(st5W2>)jTVeVUs4|G_bOgJ#gV=1b%GjCV(+-s!kgk^J=|3d9s&{ibJ_u+)ZYd zQ>LOET}qqzA;d<|_mPcg;U;P2WUieR!feRgJx-UK<2vVXzQmF^zp*o3wt{+JH;eNm zy5q>PKAa2=ve<%#rhZu*Yh4v9@K>cPkvVjlYT#jv5qa+bZpPi12IAalEhiFzcQ0AX zh7$mi)HK!A){n4@zNWE-La1IFx$*nLxh#TTs;lY~r}OTOZJ)n)@{XN*J2&jxzh`X8 zqIq?1d+i0aPjA^AvGO%hPmg}zqu-9bM@~fhti>qQ(=oT5BLq?O$4;?9sS(o%le8S_ z$^_6*3fSbSp=hKB-af4(o__KvY=zy?+BTa56^_N6#plFzuf9HpSoizn=7(8!c_AJ& z&%qqDk`t}k;wZakzyGc8;7g|_{oz=-^ieX-8M6&&l4g44xy~LTnLBqD6Tipf_SzJoOX7-w?m*f^Gv0)X-$ zUa5mXCuT$w@4J*Ixw2dclsC%Tu7UZ;HTD@<_^}W~rSdmjDroTJ2m-k5HA~7^VBJ*J z*MqY6v?@9wu441b90F(gTK}_?K&TCsqk}QZMf$nA2R!E6R9>~UxCH08!s%@@V%0e- zV(sY8c*7-YFo8D5fv4_^V}~YK+KkL%jy*87B92X8N+)SJO`Xe@Ezb>y=2+ebPvLpC ze<0=0hS2<1FYlx%kKQ*h=P-mlf6eM8jjy=)rQiI}zy9}cBe)(stai=9MF`QnhE` z6bF(_fTy3+tk%V)S6&$>kMD~EJD-VnzvMvA)SP*<Mo)y*QBkHQp*`1v zN1R1rD(e$0na!TP$mKs1gBpItoDB=Vl94Y}iwcqdB|qF{`9WJ+`3Ei)b(TrOs(?*d zc+7XrtqqDiWMh&1Nk=XTR~eH(zi^r5<~y(ul9J^?3!goDT5QYJ%f_*of_!g<->iSw zy>rxT`EVxp^`;L;Q%Dc@u4Dv3h zQI@B5-jz@j_={?5ogQbMduE(HzAdg>e+CO5=EeTa560o`-Em@~ErwV<*V}wcioyV0vdPUeYbg*#TV4&`~QW%sH~Lz9h^(~qp^SdAOHE9@7?p{z2kM$=dD;d zdt||^#-?M(j>oa?o|x0o8YehLaL@Mbaq8reSbfgw*l_v9ahzU$Eib>3%7SZ5dLFJb zrZF@4$nlzPb+_IuJNuieb))eaR)Siq)&v#=&im=T6s)E`C{Dv2I~Z zj`qcU_k1sg8rQ|L70cKy+a3px_cPJdojYeIQ23)xvSQa%eRx#i%#N1Wvtw)gL$Td%}&nZ_CbNy+>t&+_${^2-ZK^1%8c~bdsEbvd685^ z8KGler@}94BT20A)@Z9$0#E_!Mx&HlB_p@V+pW(B1FFhc0Yyz)XvjjIRwW$IDm7E6 zaBU1yK^V?Q+=>oAsjy1#+b7c%z6xtT6qs_84+*0J5@&KnFn?Tyj^&`q!AnJ=QcU44 z=rUY|mo&(C-V<8Z{1@e8>Y`XlFBSfz_uR@P6Z5sql4lzzX_1F)j7&wmBZ+jl2b|b!bWNB4;UnLP_I8-EY_j|l zqH-?`9|hh9UEWP&dK&-(N?tO=w_NH>HC{;mY#jPf_I9nsH* zuKg2?xaXV+@3m}BJji_8NSu4lI^?%KdQYBU$9qF8aA!L4Colmys?O1r#3akGN|}*| zMjESeDkDpF;yrKJP`h&3@(*8j{X4$G?%TT8zy9|T%opDE3*W=H@Tt5O{@7ps!TUdW z$B!QSY$wCI#_p}7*IaQ{Q$H?^ry8cmn{T>4p8Dz6krq~oGekRdtTSe`H^D{SlliMO9To-MXwKiYQJ{Of=7kMtvhdRBrvHG z2ak>nz?pQ6$3Qu{H?PePk z^5-qzwEG*zUp63y!%%vjBs22to)bn@%H&4lRX;jL)Fwne6x}t)CqLGwmq2WWNFHU*O9($HyVKt#Lu?0oB zP@gP^LJJJukipy`or>G{X`@!n6SR2g&tpIDh0&M3h~&473Pfyq`93TcnFP+niH|_b zjh~Zri25<*)X*cZ^iRxAGGu;zutB#D+W7li>Z@_!@IU`FXHlgR<+SogVp_>(7gG z7PZEe9SyPKj72f9`~En#d2>$T zKO}37^B2YtyL`JkJEOIIdhv9doIsQMSGXd7yllFF6Tf-=%jy>{Ui?Q_zU952*?84e z^*7ygTkg~+$qVlKh3?@OHwjb$LyGoZT!IA-Eo*@kxi^@IfaR)4rM=k!6HmAG#G@9vNWw1 zZ)Z+c9Xfa@9(ZIk=fuupqsMTZf7z?q^*SF~+c?AoKRWD!UA6k0m^Hnb$)pw0J3c+u z;0&#qioJDvPwec9IGf(dlBFwR`!i2qPh_QP!JSxVfEn-O=~W=$hG=nH@R3ab@Fjtn<5 z)lFJvMhclHesg{U`feg@Kw+H1jHF&@_}tcw+Aog1f)Y>J*|?}{UROJb1uxGokt zJkZ|~ySn?M1COx_7A&T7Hio^wJ?ql(veOG_< zKc}07y7BIP-xzP4d-L*@OUD<^Zc(SzZ+qg&Xq$}*r*9zk?cB*JQa!P7;q18Z$_?ZN zrG|eEcgkv+jGAT?OD#&i0hk4GQC)oH_1M}M z#GY*^ZiMzYM;+GHFqwp_h5PUQ5j$#+Mc45oapLeEyjaeRv9>vJ#yM;7k-ACv zXhkg&W(pOCCWz`Mg^Q>3TnRu5AHRyUaj6aXQF;5#bSSb^<{-nRCFloRIUK(>`NXp96Y5_BA=;=~w3q<+j^K@BZS47yRulxBhh7v9YTUZQDJ%{=5bC3)-h@ zAKJ7vE_u~k;`Bfl%6LDka2DoLtfq-!4ijgxcJEPU>4&ko58-$WTRN_Et>gGl!oS8K zw)L7Azy>*R;t0#iPR9PDz0rAON6cLL(zx`}SH@h9v%2KsOJnu97sLpHJaK9uh6aY? z$t{mZXIFph*>fn}zIM~wc=FLl*{5pG$14KLk=xJc%%zg z3G?DKhnFBRS&I}6&#g^?Q(!SGO=DNCW*k>aq&-fOQb=(jr{!~)hB__38I+==D=*$BM#8F{{A_q5cgptks@*_y*FMF)qS1Ygi zfMh-kC!lolHsdmY$4Wl9n?gB@+a1=#X8Gi=yz}@Rf85(9+aRl=O8JT3vKKH@al>=o z8>7OrMEnXX-#qa(eZInk^&LPBQ=VyUz%=Wbrc9jMq?WXqN1h5b%9!v{N92_{ngvD5 z#6zSIgk=LmS(>LwW=!SIv^Id!$^Rgbw_K$}m^kF8qzx80^hX!FXgyHJaqXK#!YVXOR+`Kf*vaN64c~^|o z;GTf>^NW_9AD3Ugfn}FW0PlGw-65ZI?pgS^8INb5+{|hp9I#;zY{6L>uJ^LidwgIM z;U_x#V#hO2W8WOaYvr_YUViA7~21*0mM2$23l+)$;> zzsL$g3BM_HN@WU^qFT8JfpM-SSBSin1w~PzRdEni1lCy^arx!rRqXBB*9}uC7c~Ye zq!B`RpuHzR;Vwz(lYyeR%LNY#MWrJT((`M3#$RbG$V{d+fcwHj$%hlBnq~}t{sg2! zN?lPa;xe&ez~y~W$R#JpGSTMO@~{wW*yTghLYj<7Ywr9cPFAku4p!($OA5toQXtH4 zDqDX2$g_$o6(WktB&oQN9Pv0;BI#V=!fyk}RHim$JmzKZ+fj`LDt{{fEQ>66aQG|| z;$51WJn>9uWln*-NI4PG2*8thl17#v=`w`;o69Uc@zI3mlnJ43peiL-=vhcPHv)K} zUq+d}FW;g0m1aLq1>HrPo2slJc>w@imZvNj1}}c3B9y-w4yVFa-+_5=V(IeG;3Ou| zGvj?X|7Kje{=%po!5+VGMGWoyZX7=_7JClui$j=6*Zzx7$AO`dc;?ZEa2dWNZT~gM z-D%`$#~terD+cFdkN7nz-vqk0>qLCmI07A*vBD0c1Mm7BSmNOxj*bmXS1&u?0@ z=Indk{GQ*rUe>2>y|u1p-MSaNvNx~4FbY52BwT&9ayr-Epe-81}oySpTvsSvNn89{nj=^$wP24YK-%Ua}RARWOUO z<)6fU?}m;QuGPiaSRb~?&aTcpo^WcYGnSrpSu8o@?C9FNGmj;l);24SA3hYv_wSC~ z&u&G@chDQ3WasQ?_7W6eCw|A-L^Y0&`g$g1r|_e%r@#gH!RhYpjBkAH>x?{RMLYJ! zbS9NOdz2m$pQ1vg^tYbnq%AGj?6ox_G$|Mg5kjKa`1QW@^?2kNy+bV}JyoO`(OBsRJWRfsOm{8cP5ePfD0m)u>Di_5Vct-)5Jk#1!lcsq= zIYBe;Y%Efl8J|QG&K3S;IVVZP&BuwwG^aq_EANvPIF(0JLQ68zRbklBB(MCpSW{U7 zP(H$u3J?`bk6ws3pse5xyXERTYxq$x#9I`C$Zkk-aa zqMBy%-3mm{Hs4gHH@uX&Yzm`GY@&(*%Ni+Gf zoXkfBOE#>+@@(T`Q8&|B8e_zK_WGB{4d)KUTdse3?C%O=v!ZYUemd2*KA&S^S|EkxsQEplI556D_{S52aPX^D~s=+ zJEt2rZmhq0<3XtwIoj=^Xz4x=7CkErJ6|=_Ho;j~^@Af@$s(u!JG;M|q;>i0(v&mJS_>Y6DgV^vISnZ{i~BfW_+oRJMN{9}^_p7%Te<>0aI zI7a1q!#jQ}*5kVP%vEP%V_y;{Pjs`ii%QBNC@1?z=#`gciwb~#xBCVLsnjTHn5F$G zW*I87OXe0Vm=!0E9FBkd=08R|2dqFoH(^=63Wn;36j||ACN33qjlB~~Dn|91knUVf z#f*?;0|7m%F&~r#K#7HaDm0ZmKiP9c)+j-RmWwxA?dfak@ncN(Jb?!@=|w`rptKTM zjW2iLH6Ce}ZlZ>dvP@CwH4d1PC;{9&GZA$ z9O-za5&~9Uv-b&P@&Ziukcmsy<(Z`NCoe>EN!1@yQ;E+mwQaKau zeR(hBl>~kYuhJ6^m;~a{3d6l75|y#-lUzuTpDYt`CI9eaHZ{ZL2+w?qh+lE$XsfW5 z@B?h9I?>fr!A9-@6|bF%=d}x&J~KtUzg6C|Oq}#6Y~-)|VFt0upK;zLanr@i80|S3Pd%_X=KSVILMOKV?vDwM8Jsn1cJ!U-jLyB!#{O7fYtX-Exq)ac;no+duQBn z=l5b3-ZANFFoFO&g+OWexxjd^bz^fQE}5t0P_qspQkW8!E~~v6MZEGYHshpy7&Ok8n zmR;Wnu(&nF@Q~#qF6UBg5;M;h0GBzcHZZ+W{UrU&kMJ@k zy-L|oIpoL~NmR&Wyn%){JAyqm81vR#67PD&>bRhOS2XtQ;xM9XqGsj=F?abn@Hi3M zHgAc0p6QC7IUO7XG@UacR>T0K=ZV4n9B48-Pj)*sii-?-_~UG5^lE~yHe_i!ORuNs zEKP9Q))kk(BHsCqw?{8J&`uX{v}sjdj3V1ow)VZjg9Yl&qq`5 zB$5}&zkgPR|J%QPebXmCar@|0=dEpx&1>#jalv(OnLcm+SYPi+oY4$3hgTC%KmHUx z>BrfX+D_FTVZya3+L)ASVFix<=?}BwW;%BCaVp*Ep}|;n_L+(elQ?4>mav@r`WPA- z;v_4+RFF2e`eEL=>iQcvhFZ&bh}S>Y8Cz3TW=Mky(%rnc zRZS)B@Npcz>RB}~cjmO%_RN;}F&nBDEXHog+J42Vm^F%0&R%1wpO}c6skqDqz=wI1 zPAbi$g&;`}3<{x_@%F;Bs~e=Csj#w#EFI!<5?4U}90jCeR}8rqmqKU?H=OCdKtw77 zX(W9Sb5j&jrYK5Ygh|zC@De3X6}ah=uVhNK0zOcu(jmj8VGvFn;D)xn&|Fptj>MZk z)dodAO}7ax^7J=Eb%5mcI>)+&eO|5%5h*r_kf9 zWqQtTI!wew%3ERvMjnN8g4i<7)ba~lt_Dg7pM^A;c|~rhGz}9Y(Xr^y@x-5S7&|~q9JMW0gE<8KVShYGfKe8!0 zaC0-WtvP0K^ynBw2bqodvwQ=(a;40HJuHn}en!0Z^>5`sg%wmv*5~6Q z553EXVGcWNk1+AeZasS6BdqSx9q}lRm^`1;l__I}@vK|hQ+U^O6ITa*J|5rna6It9 zrkKBI0c-4sDwRk{aAd$QQlpMl`7~qG&xv0~Awnpi3WtKEGW15J<*g!C8V!^uVZx;# z5nKI5o=_;L4(S+=Am&DpB>p0;=%(tirSDycL_h!c38GC%SFBWdR^xM5vBC==OC zD3~&Za{=<{%ATs}LuG9Fr9uNP%M5%f+*Gcak~8#k$8fIwH_TIVyerfwCpR!X} zGM|14kSXz+#Q(kvIpkJ;Y=AYh8D7@&L(4pw)DP*cGlQ5sPjq!9FNWtzD|+3@b21?g z|DYuwd`f!D#*6>Lak(PM%iZCV$Z*@tMe&Z;ydth$b~;*)KM<<)D}3zrx*Vwe;ofqWNQqN$G@0;FwV+?d3j&}U%TyW{dv2xW}(cjJTOty>9nKh3dd=tY( z*Ib}TRCCnZR3s@-3Lt*Eaj!gUMh9!=*-&-=z47?wr#Q4^KJyBA-c%wq%P0^?RQBL} z0F^zFW{)E*nh3<;6F+HGAlY*yd66wdiJQcsSV7+_ZLRz&{3^W^IQ|zNRR9Piuw%-d z$R#ZD%F;g@kW_T=PqHhXgC524~d63`N>{8zoN^LgJBX-q4CKc zIk*W75yaU!Ye=CXOES9lt!dN*R;^_zvWf=(L{4J&Rd@Ex4wNrOw_Z3_R*)}@1Ej-BC0D+${CH1vQr*K z-qsO2cOHsyMgiLnbkf0d?S4HQtQulo$Fv+>k7CXpX8Bk%Bkm)+X7bag{d zSJzm5J(h56=G`Yw&zX)IV zbtwEnCUX`oT85IE#>6e#eemYDd(UB%KX&$!o>+GFdX`;Y7AKE!Jldh-%-|o!L__7A z9El?b_OVflG}r}OS>e;bgzXr;`bnLiDcBT_Dp^y>7#phEXU`x6x69wXGj=!&; z@Ip;>(or!`0Dy8UcOCobr(wcr#WQDaI585TsBS@5;Ji{1bFadAzK|O4v-n)?ka0Yy zMAN2EIPzObS041QW3Md}se`!B^faPUQ@QXWl4ey}(UXK^r6Zf#FVJI4ApUGa8nNicW0RHRZiJ#pc|K~q$ zjy;%aW+Hd2xgihWW8|*CsW!|u2n!vorr3qQszb*+amCPx@2lpR!%Dpctljrq=b`Zi zWUw(#Pc=-encq_X%9pKWXZ@Ksz4q7Md&j3f_1jH1-~5Rer5Pt*bmiYanZoyE_>X?_ zlQ|>)Cm((PC-!xX{l(&yOI^k|&W59g$M3xlsnRY!5l8nOh$DNR#Xo%)?hjP8tY*R0 zKpQXk)KGt}Y1dzlJ-TT)C38rBk{!1l9A?tWZrYP4y4YI1FL&IX#E<b+zlD@+^JOK_~2+_HG%8mRqn&XoIXYEvjS?;nT^j5 z8;P&o`afA7I>5@Fc`?XwgeuDvQYF9&>klTOdQ3MhZLG1!)~_;9Zi<3eiIuNCT$5$W z3{w#Zm#8wI3Y5Z`tAl{oCyjEhuotCS;>BXR97T{^$yWjRYtPpBl7{pml~EF?dNWod zJVD~Ldup0g7=%gRo@DyGkqGHi*<(x2s|4{ryeT{+W@ww&x}3~33fh2>I%&z9naMJf zi4s%r0GP1;lYf3HoF>kq2us>jPtdkkZMbDEx>UYqf*>#H5|zr;FoO+qXRJ!ho^j!? zq?h-iz*V88{N%-QbbY&5-doOjuVUqfulQ7s$tTYS%Ttz{F{CLqC%LDPrNCtmo6D6b zGMn#=TX~bFsS*(0e9F-T@6O$)@~%wCb8hV7*}y6MCYeV+$r)vIn&r%0D0}@LrRxV` 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 *(5XGZlp@2)v2sk|WCr}r-13KW6 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 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..bec37c2c6e2a1cf78a859b0cb1d5ba7da5c00e88 GIT binary patch literal 73232 zcmdpd^;cWX_jPc0DemrCBsdf&P~6?2I26}n#l5&oa4l9`gS%7Q-HOA@^ZEW4?+=r# zd)G?tnmaS+?6dbikt!e=G-M)V004j{Co82206_VE3>HNAk2~Eqh{7LVP_C*n5`gLn zlB16cSSxWQaR8t$4&}uJ?&BKCNmj=d06_2gZ$Pyq*qs3Y@5ORb;_9A;ryU4^G(*m` zMBHZ`gpS`Ae2l+ubxvwB;9os}z1${&kNEK53+!saQ!k(<^F$_uCd zV+259!SD9wYiKa@v0Pbwy!fJi$5J-yM@WRJH*JuTo{*5Bvz*ON-B4fOPaP+8J^cUK z$Aspwlm5rN4&f9>M@PB%_~=8o3zFsMV>KHnr&Y`aGGt}>NmAVe&t$!Kr$s?zn?AeK zC|Pv$^bIoTUMkm}|fWb(~=!Y=y{Y5&xHW0q@(Ti!+~pt>-v9rGhRu3S8Vk>QGbh zf~~Ut9cQFa3BYShG%Ch$SX0G~S;b)I-__M;dZ5QC|5n-caN*}ilEsgu^oE*df9Yj^ z2{#*x?YOz>@JX5!`CeAoqMoSQ$~2%V$CUDOju;KRaH0whPGcWlJI&g?R>%*W>=Gu5 zLHGUFko($JI6@t_GI!KM_AyJ8ALwL4OFp-U2^*fLk@OPb7-UJ%0AZuCQB@PUk@=r2 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

_H*%7vIsfr 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 z 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 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..d97cfbe9be45e29a0ae1b0de0ab7017c1fd1c10a GIT binary patch literal 78786 zcmcFq)k&0s4(A`k;89~`7``+yZz+P2Xm4Ki!mI`A-a(hkTs%7R*KtS91-$8g!_(dQA0lq+6 zUDepz>JaNN?DR5yC#>|0*1qAa)yL(-o0undZ(e)p${EkZnZ18cWu9XGlq*V%&a}7g zQQaMer&Y&+PEqa8$=B*CKQCF^Mg`TaQbj-ZBqn-N$Tnd-JN0DCSZ*c5i*xKadlnBz z;=5PSwgQIGt2YzISKyhLd-P-MmAu*CTQ3*0?|&`PkRU|6l(eYZ8{}g8zFC zF!wkWe+v4Loo#7lrR;+^J*`ZFuhb2hK+gMsCo$BwuK^NZC&tmo979!5TOiz4Um_M& z>o^PMO*~H=0H&X#JR7rw=0KlQui(Q($J0ZI1*9N8YiI~PfP}0q)F!%Q!dq~oT^5|Lfsjx>%o74nL=c;{zTkIYW!7hXmn$UxxE8UXZ)w$hxu-MCB`YWAv-y@% zNV`M9%;c`VEBpv#C3pnaZ@k71u`ha}Pfr)lY_7BJD02l#sBgcF#~RkOFb&j8NJy-- zL3|LUQ}Bq%Md;0Wk;I=1a!4!j``!OS3ZXuJ2s?dPUuNmdr3b(p{NZ|0fnU*S2WFr4 zNio89Y!^9!+MBQxq9CyD=r+ZECgYO1ZU93NR9=J-@*}fuYVFm!vve!_rcAY|KLWRP zIW5XF7JmNhl)1{d<$iXmM7fiMQ|heMk15A1Bph~@2)s^AR_+8byHcZWAJ4^r*)PZK zj{sI;>8BWbA-kuW3s+gri<(jgE70PrHo!%n9>Yc2w^TEV8FA&>dn@P{-75l5jA)^< z^po8$^P^J2Bo2Rw99GUUpkc_j*)A z<{H!`FG**b*gIu{PI?oqxb#;gb+L8oD0Cxhw>fbckLYjXD02Z^^`OvUkFZCcKBw2? zZEjA@_)o{oLbG~}8c8zbSO5MFp@G*@K+7IYlq0Rh0nCPn5O^kSUe0xsyP-79hk4ym zjvXw|1TE@i>v2Qmt9R1WtB~3N{8!RRAwyg|b&k|kf0Gb%w<4H{ zGTFX^WGD+bu~oQ!#uO+4T7lvHIszUyq)v{?Ocu(#$6Uyw-z*Jue(~9HhoYD2*_1lD zc-gI5|4UssDeTe_=IQCy7{E<<(9HN(Io%q!oF)zYd3q(_3f4Ex)^(L>E8mlrG4c#b z|7T+jU%Os?t*kYmDqu2nOkZTqaUCN68wv39|2jeq(*djmMUE#ChkBG$i24sE2fhIh z@XFl-VIw)&dqYZElYGvqoLm6-(qAsmJ7jpTp51Ji=PGfnFrPZFn-72#732bx5!h{g z{ILFxWe+{>QTvd`ZRY15mq4yf^z`)gfl14Iu>$GX{@O%DtUz1<|JK!qD#Z+fD`QVY z(YJc;7KQi60+@n#ayCQjt72E4BLWIXfUXq?S;xbmWp25Pfvl`9lPOVxV(EqyC$i&Q zAu=!`Sm_7ThHMshNy~K3%j`h{7l_xzBhh;bva7XR!Q->Uqca&20_aIkg?YAa_95`B5sEE6W?!SbLn}UiTY6+j|Ccwl{~TwX`4>)1H>1__k%P+T zQi}t%Q1WZWw7ZI`?j`34-~C?Y4g${!6;Eip-fk1q7b3Z>m2W3oe2H1Mr2cLm{3OMS zs%{*+>a@JS`dwcN+n@0KHvdAe+5!LgaG9|~@xl0C9*&Rn{cH(LOuVc1eXp%a>FQoZ zi+j8Xo+DAydSkNR92X28;T3w}Fqe4XvL*6XzQgJnZh%4zBIJ^0MTOJf$!Z6(tRu1K zJIa1^b$l%fKTAAstK9_^?8Fh4{jo|ZdG6FA_{HRm`=~VYkEQgOhEckS-FHtl^6#Zf$F2~-F-PzV^S;gp z3{k}%JU>YVkl{UIetHI)LQ7|cnjyfjsgRFxh0g-^$PM)CM9WF2{@R&`TxNYZ>#EfN zimk$J+z3~r$3RU>dbkd2+@XHJk$ntY6r8Fu%e6)hvFs?v-;^^Ntt2k5U)dF*0w|c^ z8RTb`aSiyR_wgMk-BBIAO6N8?ynh(R<*3)u{4!sUPszIS4E9Lhc?1MqT>01EiMw{r^lpw~ z25+8kmep-#8E<(J&=m({7)`8ggv2=(717HNe1qPID1a5w%R`Pr_%kT(&>lZ8$+h<9 zxc&ZZZ52JfYv3u83Pgnfy=B*9kHY~l+yU&%!TIK)i?W>Dbz%ey9NGqX%7@ugPZeUk z?;@Sa;6g6zZvKroydK0FO1^M7+#CW@2pF_@?)^H?A_9Q)KnFLy@&7_p{{8#-;7?J* zirP<>O@yXVZqsV3pTh#nFODhrTnI1Z5J=Tmbl*76ro7_xip3wAR@5xbt^y7Xi9}wK zeyLax1<8W)$3!;*Ry5|q&v&qh_4O6cFUS?ot4jpp65&;+;D!8ixVibY8NAW!dDc6E z*e=ajyuLVC)DFf|fWuRgSI;J{>v6+7%4p_F_t26KBpdO6aH4@q23;p-P_RPAF3#8> z$O|_6*i6Cw5SclhM>0@zNwm2%4TjYFn*3eCg(vlvZF3-JphQ|rqGl_hQRDERgy+^o z(pq$p18D*3{=uK*NS;aj`u2wV8Zf(GE4$O5GS3a7CMSAAXfpKk4$Pl4P7U#0pY;Y@ zz+!>5$|3Pw8wlVPDz6*TXP?wyo``P;BYF2mJ<(Zn?|srMisMaj z0wbAm;??0ekx~C+rB@ndHZyk~S`J)PSxn6HMCNA$c#9J&6~4#}hX*CC$H=h=eJP#)(Xwvf*b%n09=>4Z zhp0tN13dpdEO#z%yBWNcSH+jsSCcQr!)panMo0DP`=I{s(EXaqP1s7Vn-0W#I96$K zBNo_{1%>L51AWAh#yH&hIrL_4EZ`EQG4N2OeEGK2X%c`Dv*2iRTjaoAbGcIyJZl1d z5}FZfn|~c22jTTTS`;#s{L41Q7S9kTPQG8AAyc963iW%?99VBC9hWaM52hzKNK!LC zS$8w+Y$5#8F*%?37QIm2jpSZOH(gi3*C1>;YLmM>nm`R3lkuZqHOZB!B2yNkfK!6q zmnyh(X5l}V99X~kMJcbN&&WHg)gh3Li`n{AkdK4k-d1XziPg*N>Djt^#-&_%Yk*ht zfyeHX?+naOEr0Rp{RS;MulU-ckC4~dh-%=4(PB98IOq_=HSo^0E-O2`FX$gc04a(a z{V#W6p^lo~va2`$eO+Dd<} z*L8jb0LU;U)OnVBiv^te*51VboQ5DHSXcs>9AXq@8xWc!ml z9pzC?lBx;cUqmLkyYY)WC1?2A82zg0J4X`ZpL@g$l$~ut--9%|M$_ZA)w_@cRfhcz zE>dA9?tg2QL}VV)PFjaFN#}S4MHwp;>8OF+&|YfHi&+Zwtr}glE9O!Xtu3vn$;ice zD_;k{>n#%+OnsO87bMP873!WtiXVUS^bezdO2cuj1ghfFw)vu;Z&3)mF11($-VCp& zYe6<5wns7+_vU>}$J*lmL9VNz=tCIG0G}ei{|@~vPGbn$U9dAQmdz~`>C{zL2~8+`;$@EEKd#6+x_T=ZdpNWuJyL|GH>tRInlT^h#5w zCwdhk6ZD{i*!Qk<=$p|+xvA9wy+rG-&UWOd?~%$VHjJ5Q`@;v)2800d?@1-@7B6d6 zb$JQJLw&915`!m6%^F1?0yjWje9{NGw1mnPgB4 zDFn*NH!z)d^z?X2D4-PTZx_!F0x=@9GG`TlNJjLef>zozUc^DN{YC~ zOGE6|@(cw6K40iEK#c0YV9YqksCQUUSC+`0^f_u)uE3t#gFm6yVj=#1`+I%$XJ-c# zH?tFHc;q?$+P%;IjElAKD%LgBi*CNs-WlX4xu+&1B*ZnmdSktfzOwJdw|gRRSK(WJ zlAD~!9LG4qnWK2__Dbh!t&nmF;$V+=m0R1B@mWcU11eqi^#hGzt`da9i*od4&7gK} zb;~~1;nuAj4!Oa!ABJ+e6o1LNMEG3=U~>}-lR1U*9+9G?k&YZH9<0pfcYhVo{yCzh zhn`2W`|6#8ynP+DY|%mKR0dxV#BmP7S8znWvg+CBqKlv3_VldPa@)oF%f-m@ma5j% z{fCQ=oHJs0Q&M@ z+7vL8h6N^ZcA}#W)`_wn8^gEBR9`WCg?9a&Zge$;7y(J1F1Vyf7KOsQmBAh^l}OJx|=U0e<(C0{M@gc4zXh1WkHlpom%;l|(0S#{R<31Ezw=7OlqGHtmmYnHKx4_{QO7X?uu{*XVL%bGPwQ z*3-}ZU;MsZGOQx)$)E&KZrn{qxr+qs(l8kPa#6+#RakFt1wlk3vc}E0kv@n&`C+Cx zmLkkb%8hZP^cfa(IaHjOfE4hGwJ_bpK`#ZP>IA-qk5@JBv~2JEtKU%o5)NKBg06s3 z;mU2TJ8AZH)rZIWW23m-s8)Q>j`EdzUm!kC<%)BSTmkhEvQ?fb=(m1&ey)_3uP>zI zKfAS6%Qa%LnXLfSIF1J-9}JHi{Yk@Qp>&J~4@X(4$t5Ys$B7OQ_==cePLu1Ip#2K| z5K*Jl-s4*3G>nF;C)oqgCq^?z#)t2Erh$&7?!my-`3D92`(i)fblv634qc<3bq(6= z4_?t{W={F9f+}a)1xi;N`5qWLiKWD*A3czn4Mj3r98>!vJIa?8^vC=UdQ$6mpb)U% zUUF*P?21+(WXG8)bT@+5MK_w`A`i;nR!0~jO|@b1-n4}e^v33*V^7q#v<|rnzju22 z)YRLwLVc%wfl*(%5sQk&qArWM&=UwO5+dG=%UBx1gP_^jIAWmt(i%{DxInHG{`)us zcAc@4){p5Oz7h!FCtl~H;D={KT%E+hgc7f@ECM^!cXtX2n}T|+pB5KJeb)SgI zZk)!yz+mOXG*&cuO{G0S;_>uy-j?_yx=CZgkB;pG`ZlOU#s2D_lfbK^72QCHpWnfV zOx-PF+xe{(FxN9voX+>a&L7l&T$yu*1t|FYuSD>$)`_k{UMaM%aC>GC`}TPhI9ZxD z7NP*4V^r2^TX0Lldb)u*KIAzyNtx@~FRM#Lye8K&7!`}}zf98yzeA6c!C{s#ANOW3 zb{nWNjxUDF;p#@aIxRZ*FwsP?YZKhyMayfPfhP!^7>rq5&4%H z>O5KfWA&Svpnt)|k5EZBi_46yjYHodhPKW4Wel7waA{Bb`Rv@?zRG{GVg0{y#m}FE zKPosXXI~Qok3$yq{r8O)y&x#!#gVBomn9S^8w$mT0MDeL&0_!Paer*!XPT%3(zas- zn4jmDFJF{iMY-fECq$r@8>gUp256mq>|!fop;V`iEzM#l7ka-Utxjj*o^fXTA-k#o zsK&a0G4R8zLj$p9k9KA%M5cK;c%mD^93J;R@Bt zN~Bol@bcWT3UTO^JooSEYI16LtGCx?!9_Oqcz$$HY(4;_89vLCKKbh9STQWbh~r0l zCi``r`>(`T_JqHp!u!vf<+<=EI_Xu&W{4R9r@$&6yE8k6&mF@Jk8u*?)H*E&_%N@+ z;FuBkCM&}nbijEZI{+P;y7~A4O}DcT=B?rCANCQ{aekMkOR6Vi8qyH%9p8gEs;7$% zp=kYQ)8V^U`M_;LcqA>gpQ7bBRkkXn+iW|DQk5J^!K6V`UexZaYUbPHX{WEa?H1|F|W_6`V;cqjF!(Gu2 zcvbm9(7H$%4AmLANF~wsa~WOV^7_os^Bma{uvipp{QR3dVj6nUAk4HHuTG(O&y5Kb zGu0vTDv$Qc;JqHeANg-H`PT@GRN+j4ofpK{_s@BP#;e-b`5%PCHjzkCOF0zv>h_5F zVxRIQ@uIylb^yUgfm&LZ1Hw*#3JMBnIA&=K+xd7E$gktYwH8Z>xpcuY0U2}%nEY0|^(4uVia^+J3=fm!Gk*eALNM&AzZf0EU+F7iZ}pZkoXRS5D*)I z$mhb2Uy>_e4rcL1_B%WHMJRgyeLKX|y8<7343$Oc!iH;Xb6MO|nW6*soSy4nC%x=JOM@oCXz@4VQKE(MaEM#X8bhUU;&?ZY4!4!4Eq)dWIw4zaZ#JUJu|a}&6Cq`zOp z-H)s8vAhoS8TGF268dMS7Xq^YyM31kq)A{l~ z`5|TPn(+gzp9Cel3uk8)iuG=*T-61smQYhrxpjkkE@2r?( zE{S6{sarOKsT7Hil408| zZ#hRfV$UrD^c|gTK4$&2{!?vt_U203j)E$LinD#Ggi^C4zMT*SpnL^48p z3;d-79CYscx0ij6cqy#z z#vM()6>BWm?=Tr><*I*wt{gjgJh zjX|=Zyr{9l9SBbdF4nGHXzomFb4xc|nK(J5(nN0d!sG20>^PX3LJa|iBXnZk|sJR$A`Gc}KQThe{ z;OUDOA`-;p!W1fqsDq%p-h0L$AH2w}F_Kbvcc4~JP3>Z(eJ)4yYim#YCX4`bb#!@i za62bz!>nIosK#92-ncMC7_-%&Gj1AD>a}uW{+D?P5?js*=5ZkUo01A1+z2l45G0GF z-ul(jo>QdyM47Au*{5b2R83en+w$(7`bgev>L%F0oO7_qrYXyd%cb=~?>zf+z4Nlp z_|CvG`9Du;(m(kL;@s;AC5eg`pDx;+r|9n5|LbhHx#*=iT7!H>+Y;e48IN6*E=^r! za4WY28$Y)LK5FQKn9g}z(c@g#&Y*bA#lL@!_&uGUF!bi>LM(rSV&c5_{$}_(v&67ji z9(AW0VEXXQ>QB=CO+8H?kM#FgF#;@a>Sp`glv&6bm)6t0Q9oAih(kUIMZ;w3rIJsYPVK{X1OB+b%8_7Z<%&=EaXrE$H-1 zZ2LwuxPR)Y2&j~|o3@KT{X%m1Ny;HGPfx85Q1S$3J0KroWkK)j z2h}^vWW-|)2@~An%5pnye;3K~^IGn18R;nJNM`0tD|-ljy{3~hT8?gWv*THsJ`%eB zx5$nuE1iBrrT!7g7j5pQkK$%Im?8ekKR*W#H~Wis-j4gM`0aE}H`fRBVxs{{V5Xl? zLDarXTU)^O)vYdp+h;p^etqX(825wUXX5*;z63;|zig{Z^NgFcM#FTgrYrSP)T6O4QG2NUsTj>Kn)eIBIrt9d7^f+Q_e{?z!=__d6?{t(Sp&3t753 z`C*EM>NOd@o5amz*BPFAfRy}a+PMJ#xSiYuplGB^CoicX+&qCi1$ zC;HA@+bN?Pu_vb6@BmNGOBg;3gz5P&|8qe9ssEsx$y83DT;pZEZR+_|K|TyhIQI8Q zoHK?rNsma7@Avo%HwF)0ySzIF-F{C~B^yz>9P3wKt+Hvk?;C{pshF@AK3~2+q&NE3 zq5JXH=0o3KFHJp&$m~4w)xM>?9#_u_)Gw76D+nBJ(@$sBF;PjCv1{~{_Y<6I-;z%B;t z&BpBC7G)n5u&xdH`ok`AFUY;IEj&JnB%?TP)Ot^+KHsw?{;sRlWZRyJO}%4TiKYVdDTy52NeECu*q6W2gD?u;Ka6MN)U z&eq}Ody^j&sd9zDDV+#of(G8Zi&V#NdCm5=WAVKR|baY-g+=dF{gbGExX74VKPuZUb{vRW77^y zBFj`hmUs)&iq^t7cb{0RYTSJ92(i+3jC3ykyWGZ*@}N-5Fg zAwn*~ArB4mF=5Ay!ffzw&5(Kv9?!X5haQtp(JeHRL1x9W{S-$Q#Li!{kr!C45!kvarJ-kUS0QnEr6sCpneCo+JGt1>wF}o)@wjNo24V z7HX=}oHT7D1-21=Eg8wQaCu7&<mGOkOIgWV!T1yLSmFa^L4R*_#Pjb7P@k16>(?G8;<@{=LTxwtT2w`-bIZUqBckIs;6 z;<#-eYZMJ7AaSz+)F}KIv{fVZEmiOI-Y+lZodPbAz>PPA&F%61@qy(8hxw6EfgEbd z00eX9(eg`hW$W2Y#^P+-$pyj@j@iCcfZ~H8=O;7fF6cvaPwSxA2!KDNwh76`o*OJQ zn>2jj`(WHT)c|gy5>}+ztjc6A9ezMyWlkU(51-F%qx~W$mXl@N$4TO}Q^V$d%q{Sq z0NpbO1%SFrpR2{**WbBwe!a{|gu7sqIls63Nwvs#L&3#z{2S$B;HCJ}jo{d9U%NH! zRt1c>tPt+5nl%3j<3AY}r6%lZpK@Kme&XRVaNK3V3U=bv8;k!phVPWPHL0i(VFN;e zD*tOh&1IaIP-LTe`uMV_DeAH1YCdB&c1o_ z21gW%g_Q%zWbEj^vOn(a#FPQZqIjkc$ z7yg~iVM!Krnqt@a`*)Jf+JYgCfm?jkq1D?6{*N6GLO@R8O`CLt*ea6`17(k&y-q-7 zhHN(_v=1Tq3X}f16idS63(Ehi>Bt`GnirB8SwDXDfGdk^7%Sf-u+B)&C&8&1kN73TGD@o{AYd6oBrekw4L&lXde_a-^}k_-Mc zwJp;UEmOAx^0x6i*)pl01wr25Vy_IA@s58L*LaVrQh4O*;Xa`&&OBKxhlBB0DSV~h zxfS%{;o%FTN3ue-`it_PC*d@^TN6UpJ}(L`U&kjZPi0noeEdp_#xY;lH&*(g`rl>$!ZOyl z-H#3*Z%%;%?&24~n_U2Z{4fTV$bp06ZlS#3f319(a%Xdx#BI&w+8*LADw@UF%3mZ6 zY=*jadWE}CmJ?&S138W`Bl+#tDNSpsc}4yC`Zr6z37xFuE2`h88P%w8ejfSqj6T$H zF-&od8?-qd&r&-;Q=8TN9kF2D<7q&mW}V2Z2%vrFxN|9S8iiysQFEkt`P{bd{I9}{>X|<_etuYoT|NNTEnN` zA^d;5pV^0C^<;g5S^wtO5I!YWe6Nt9m~&}ac?3!z~*n-B;z(o15zia>pJg0BK8?XW!~0TW!%+`RCh1# z{HCL852Y=vN=&6Us!<55c~2SA3~RleK3(28mZJp(Ps_mwN1S4Z2@H3E=wSx2ve7Wj z@e`|xFQtcCNwC1>y@Ccxr^^dY5J};YEiRNA4+lO0vUa=d$AjF|f zWXiDbpP24{Eu~Z3xB%Fd*#-1UV*nZ#B(KDn#Qd<@S~Fij1UDb^xZ+NopMBmCKpLme z{7rgJf;M^sVxn5X{`w9}@H7DRdo_E}_C9-gK~i{Uh@<-)xEkJT#FW9SzvrI`)!gO; z6XEz`S&s3S|8BGRh8eP_{~z3R?l1GTQ2nnX%5CYvFf$%Q{!D}pbmh3*;WLnBNw~Vy zEh4pU&untHDI^jSAI&C(>!{e9?~`iLw~fH@G%IqdTQse7450U~yvF*E9ia13eZGo|f5>lry z$Gas$$Af*B!obm>&=8tSzw7Hdy~~Vwraw2S*G!$ut!Qfe+_P5TN8(Ne!+on>N~%*4 z(C55^aYwF6N@?y8-Pgq>*l%Dl@)`=rR60=|!RTtP=>*r;r{PoRQ$-3=ko81iG&V;4 z`1LQEv0~6w-@jY%-tHquaV>HB9a0eCAP>(F_?t7>*Or2_igC`{To0BA*n5eeKA0`P zWtzlouQNJ^l*<@r=Us)J$@CQcmVpx46&!@ov0{n_$2Xz&+%M z8W)&|b4~qge7voFhMZc~K#B!>$74HEvZmEH-|n*cS)eMk16&Weuk8!b%vXk~kw^El zM71KXaF-uEk3jf^*?JfM4Ype@d3q1F)D1d4DdM~pZD;+Em#XZs{fE9Kwd0b6@4|Hp z;b*FHswBI?iRv1hdgpWj_0Mz=fqBokgFD~fBH0g0{crw*#d85awsPKa@En2+lAG9= zA9t=j9LVyExzxSj866*ot~Pd)R}A6wRJii#fXh8&M$ekMj(jld#@H#o5E|OkOnLCC zW7g%J8twC3Z}hiC^-o;{b1e&+b+6vf=?d!0PDh42Z7@7+l|Ekp+E|C<0{|GV9XSkL zY0+0)#*Y0Ces~N!DKVXPYn%+R^balR`VZ1?4I?fXwjv=RsJokO^z4bjnbnN8)5$E9cBsUB_wIsp(y;)<`iTgM<9IQt!d3HChv0RO&O%3r zP7FLH#LK>Ifj&jgx8Feq1|KCWV80S)Xo0UdpAE&A!`cEa4&ZZb>8rRNIJyclay5z& zrT(XN&hI!{mdehhVkoInkm7A^5UpUSHq%zSWn}k;1$=HQPH{Q)u$kx%L1Xh#dqA+| z#rQ*odE(z<_g?ps&r&{~`_q;fE>Y|>O3VB>&nl{1rR|?ksT-;LxLi}#Q_)+K&JAt!0jJ2<+#>l#J89@c zjWWu|Kjy6|Rt+j;>PKwL!X_qI-?Du2cSOyU_SGTrbA9#tx6?sqE-X1A{$%K^`T$~1 zgu^3tAbZTOzJ`VeUY^pIQG>1rO~A4WF_5d%)Ah%KY-%%H^XU_Aa;5W`5JRcJG z{9V|#5DcP;N>WO*sou8XwvX2>yx$}|&g2%Q68bcdb|LPa&mnyXXCpU0I|LK>wxVg5 zK#|5%1ug8*_b4D5PIyt-&YvHpUxHBl)9>33v#=qgxE2w;ChuJ4@={CrahGa*)+vW{ z_e9L2RghdWwJziXJ$YRalt>a?h0zAQ zbpLD~r!ss{nlQ01_OsykQ}M%p6q{dQ^$y(6NqK&ZF!<~1T1k1hI+7_D@Av7;uxn}L z#zy>M_Or=QZ?q7VzN(M3h^_5^zZiAt;uBuyOhq(c+91){MYgsgnJ6QT?MyvUlD%=f znon}rUn?%YWO2&bs^gp%8d|02B;AGaS3nV=$v$U*Q+OEB^BCqW)t+c$CPzJ{aa*^}wga#FMT$2VPx*+|=L%AmavBds zH2o{oV?dL88Q{ePg`V@!=6`YCH5nZ1r!GD#PsuVwnQi@Ppt3}yk{=W0B8>ctI!(SK z)y%~td@t^Cixbf1kgEuhHvK zdJ0(XQMj_Jg~THZ_mzo@g##BAM`NSW=>yecQsRW}TCMfvMG|5VDtOIpXEzQAryph?(1tBGP(1m1ksllhyp6*GzhgcxKkh&j+1~9|pp(FCmv> zPA)C(5*^|SKEW0`GY=-yi&u7~ceh$zU@VTh`vIQ8yq~r9qAgnO?)aR?(At)0eod!{ zx9+D+&*2J?Lx>g}VfViV29PV<7>xsoQq4a-v+qd z{&R{+ZonUo&0{v@sKURM)AeY1+v^6Ekf!gY5xK&`MTZ{$Dgc&{9xPiv@tS#Nxv!jB{GzIB9PCd&Ck z@JqgHO_eGLm$e*bWio=~_%%-LA@Q$jWg9gylv|e>P_mllM7Oudm`7_ODE^zAn?8w! z5i#DOjxezT&Z&@gP{U^B-CtB%({2I@RoV5>m}6Jh!&)ywW@hFw+x3L6Iyom|GSC;fvtUL8GS#a*&&kqY{2mHMuV5Le3jy1%6f6;kmCponCeqn+<( z`(@DNC$!p#VMw@)e499um-F?4C;!_C)xCYniIiYu;lk#Wf6fNvyvb677sY^t9EQCZ`&myO(cpE%R`CPQ2DQzdJ3cqzm zyyz)5EBBt1DN>?H&oL6$EYp=TcBMX$xU&&p`HQhx@h*#Xl+!^E8MY`{Y zXn{ETPjcRW4|YyRBuh;R^DdJpF8S*)xitV5XQAH`MVA4O6_)GFVjiuwwldOwHQb-) zI0I-s2AFQf6Q2+0q>mmN5}-4QQZKa!`+vRkRj^yoVouBBN|!a<1&mAuFvqFSH(L$3 zKdWT9Ls9a?p;YukNwRcW%CY@oD_gURf@>ieK6t@SBU zN>+j9eibR}C!KR0ZlSIi!WTlRTROk~guse<9`yCAbafgpE7fkZYqN5=7OTC89rYGY zvpP`=YDrj%){~Q)#thVn?uz-+LpZeHY9bOWbh-=`2!&w`v#cENH70aL9On#8X@lYRQrd=Tza%L?)p zfWmoQYy*7MWcH|#3oRtJTZHV?@VRySz0ue(p$rnYT^o4f{^wtOP+MZ~&!)dyE^j#d zBDZD+KBq%}nuI$D4c^}$O z;UwywSD@Q2a^dzf;(I+2hf%Kg9t*nM&--=N$;TL=Mc+;SDeIi(PJoPRfUVKnfn_P- zZQq~ABypeQutAMU6GA<>hNTtngIdJpvVxC{o0lIpdbZxn8BUS>jc}`u65oHwHLD0H zQy<-ss=LXMQ3X&q%lZ?deSbQL{@esemAPPb^8%9GCAAWtIov1H>@uqPOjn!fo|=BA zgAe&Qi~fG4CBCs@PI>8BOy#t%z?FPW7;AEzZX|n=eX~45$bRXhX!{m@7dU-3D{qZz ziJU&6;j9eDE>5%61nt#+vngS;QUoB2qZaK1GW<55Bm1M|@=0A3N<=n{_*@I&Hw$Hbr-v@6j)g@^2^WSc#T`6)V z2j9!*+SSZ%kSpN$$1G=0Q&Hr|b2DIO?l*ErsOS!>NF4_?ih(U*7b2ia$0_7w6yhi* z+Vr+KZQ;_J+GPppls7)fG?yHo?2nP<4IHXf z9wLIA`Fb8x9NrodP?y~s`k(a`PmE8C>iTYDxzaE&c3)`RKFIp>AHqb$!<^Yz$>NQ> zy_af+r?s*?E)ebHHF6Vz=Nt581U?yAjbD7q)g*-a9&|~nq~!^H+tK->5>ja-aSi4b zc4~cZmR&%W6t?zwy!wu-OESmo66XSm@5kaJ6l?oq(hODA)XJ1#K{awl4@_7qe}u>{ z_0>_;8GMCjib_6nm*bA1D+UXtSeq|3wLvE zUOJ%o0;5Eph8Qx}rymLIo;l{8DM^kwZjfbUNJ`f|bH;=EgX+-AD_z~%K z*~Ii}qo`(&sj4RB{Y$AU@7IjHIJHz|_4D;iCx8SrdmOxiv>y%#W$XF6`EBoQ>MPeO zr3XSDcHqzD-v=%$zNgEdD6ZPoo?ra1kVW!EX<4e?!+(~s>UBB%+$nRfftPNb+=Qs? z{5G;_(rH{QwK4BMeCy{IyhEJ&fX|)uL3N)rV{!yQHt;G!OE=C+nut1xaWW?St_pFJ zww`3nu~+@_B5iVzRXV2Ruj12z{1KA(pIy10f8^e!Cy#dRh`E-5p#N*j%XW5lR*IB% zR!SA*zgh=Oembz0j74yrdW^AdT{8cjTMVd}?dj{;uEJ{!y-x#chac%DaDBLV(w>7p zYQ^~j>RFxnO?{jgT<04%pxeh{122nP$KAbk$-Ms*P^oO)=+Ue#oc}1RdU4ai*TK4+ zMBzGa@i#6G){#{+y6>RP+1+SpH9MyiEmBq!LolEpd|2;sF=$;9Oc)|8;`S+arLI0e zAIPh@YVXetar52xXpL|4JFM)x-D#s02if04?A=>sJa6=H-%wPzK0eiuNpgI1wGTDZ zL+IU~@z8B!d#`fRtlZvbt<7u!ZFJ&lr3OykhLq7P=D1=!V#Is6Ci6=(>666NOp#s{ zCV4A+17yb|hLn3B73_#hvb$|l7~7V+M}sapRDsm%59zyUNOKET)dgKMZTmc<-I&NA zZ9Tr08v4~m|tEFrR&U|8M5xu+CB_9k>2naC>xn&_R*{t`js{a;h z^~N91ne|eBb)`5a^$C`}*o=TGdwK`yop+eSZZ=<_-to=fdV@+4n41yA7q9%-e>65B zCeC_=dGU6s(OH?VtVMPn%}HcCGXFsB@qHx_=PW+qstT|VKKk^jqDYU19i#P{wN$rq zODxJmhoG>9+Q#pPg)n67n`2bvah~7foLmDg+0O-|Q@q3xx;+E)+BZ>_7{1$$N|P@7 zPWnm%dfDbr^nF3NUK%FPULCJ(+~zaNmW=hBmo+Q_7Wi#%ZP=>jBB|_C(N!;7`VH45 zgKy!+%T@ce908#Z+t+Gt$&u=|)@2aw0yc1okk9=``-4g( zQ0gN)2c5X2-#^Q>6SD$>A9Zm0B9)3VIe0u)3e~QNp9G&D7mW8k%nCxWcFpxNg{fPC z?<10Dt-J_Tg$ToQpjrlO+RwY6*9IlgP!CMr?`k+tek4UG!tXNhOT`+AU^$j!o7+pD zye857C@y?#Y2hqW4o_d+-Jmd>4QG~b22{Lrg7I*tKneZ%=4lI7?$eVxSjq~4y|5*@ zc0oj}>@4!;f^9KBR&k-{ar0GCRU%}+xTwYBtiM#Vz+GachyU3^j=;-^%XjAHsBdGn z`i-jJvNK#6-!9tPNxJs9Q&;T>lg-verSVx%Y*VtY+1QZ&&Ci|$#}SE?^X%CQj~SN& z33$;qoMas(LEV#&whZY52?fJ~+J7_#aVV-jwZ3(@JueIL_dL-Snhz^?(=#fgMfQZ_ zrBChS?S=Zx{dCp@fo3Y!0odEUT(`vX{{Y=UBEK_82vL)Xj}F=)sF!ygX;tuj-wl2iETRa5Fzr6t7yl7ah@AMHvR*(4tqRR~Ui+aG+skv3v4pt_X18?8Q} z4km$1`&vwzBZz3;!MZB7k1wf%P>`z#u8&jJS9q6y2$I5wO%&HL35yJHCBv~7p_W3r zReto<4xd->4h6`$1$E;W{s9>QUeD|2H@p|mhpbOO_00C3_dK^f^PXq3K)z>t{PD-P zo40Olr{{bw!x)N=Tsv9?ESJ3&w9^Axcj#;?>UFOF9QcjgZgI5j;c$$QGA48I{=l(; z4mKr@@s#5;f}x`8e#T&(Il@Cjqr(v%8XSni%%(%wVc0YBQkv;L zWP?Qudy(Zr0DbJ_Avww9VZsC-Uzv=j3E<2f?g2CL8`OCRkU)?ez&G#lC-9$~UC+CK z{vM9Egs_(YcX9X5_QJPb+-~3Pv+X)GzU*Rd3gqsdO~u=G+Bi4@COE=~fjdDno7Iqm zkIst(8;=Mhh6YVhM^?Oq+RMpcG&EGhj}7r-r~SP83E3&Y0bSYH0(~v-3MR&I`vOs} z#?DrJ)!!T&fjtcScK02~1?|Tt0&^;q0kp1!UauKhpe-Hm?FTJbzU0|{m_lda=w}YW z*l+Nq92D1%Mg02Bo7*FgJ-R)W9Xvt)nP=X!J(YJrPdxF2w{Y0S^LzJ<5r2ZhV7tNt zzu{9~I2cQeDQ*KT9Ak)pEQT?Mm}5_mr;I-eSAO9uB^%12F-BML=Rmi1(@iAQAK~HQ z81SzM6BHU3Ksc~1I7q=Wq^<9u7@$*k0X*enusazbC&^`n44ch|8>}VHJA8@Bz(!v( zbb>c<%V4GS41?a9DV>SVeSH^&1Pj0br62dVyLawvFTeb<+6{Vgz%zLgfzd!nfU{h@ z`J!#?fGIcOC^7YFXCngh-*^}&mfl1zKr?*5AOt?u@=L}HV1&1BJmyR02i`_1E3k@4o zt8eTib+=A=@#gJ%BAkJg=omBs!~6Q&(n(IxH&6xOxtlHcTW{a?@yEOO?sz+eKj^r3 zk6R0Oli%6yQ%-UhKEY8R$F8je=QOrxP;7xb6CHoJH*LTyzoaQbMp_*rU?b=zrEaeM zkj4j&#X~UeEte#8fJ2WqhF@FRr6Fnfre3B1b&)2>9 zTz~ZYi=vU&-q^)dM^7rD8?@1%bizVFur)_bec@Ko?)D31L|J$Y@Zk-u!M%K_UidgZ zazUxPWb@Q(mom~q)&dxha1}TP{3`>|3E(ygLve=V4vKTGTTa1B@jWPlE1n52wLY!e#FzH>j7d_wAd2%)68=mLdF1Q6}8Y>*w1U6I%bG_u}sM z>Z>ms?C;&Zx81(;&i2mRZ*6bCll&e2up=o8!0z|W1Iqc7Iy-)R(U33FdOm%%zul62 z`2?iyjy5zGIq&_Xp0fALy^l{7zDd%^;|saBQ&5h&CWm0W$z zF}Q5mMtBWQ924{c;2QEMbDBcv23oXNo%!0$?;str`oec$XQ$bv-`E~`^pWj}r=Hs0 z^Pcx?&%O7(+p|gU;eNb9zK^4xo%4k-TI#TB3VP_4nOBv2;g&W;nl;q>T-iulw3s>flOM<2~D{^=*T_dLS~uFr1IJoSvb`dbO`=UJQyx=UBp z@!@#_dIEEA!31xBZt!k!PFN4_$N3i~B3TDlD253<}&<6iqMcJWU>xjn-!{@Lu}pM7q7=E-M# zjPlmaTkhbmd257VN`NJyhmgeKJ_XGy2p3js79Y zH%tM$Dyg5Y(lYSmv=RB`iB*B2Fjq&}_Q!%@N}iHih9g`Jj(vAUU?OxNcc3olz)fOg zau8&Qt2>q@6<7rYNI6aLDL=feJJRKu6kw83WZ4nSwd#Q`O{Cb}awi&fcg(P4lFJ*) znzY^JhK<`nBzE`9lhM`NCkg*96qT=kFu+I=>*!^eK@aEbwxyfqz;?HR17pu1Liw8i zD>j?&K&X>*bpJj_?AVQ-Qcuo7{m^zzjo$%zfY>apGRqFG7>uANxqGKBZ#@vD&%;M< zna38Zui5kq3ktV42+Fw@e2ID>=7>5~!C! z1H#$Kc9F@x*FQF4k+0a^wy13~g3zwn(@~wqBNBg@;NTpbtUP%~aqaTnb{dBMcXbjw zbLqwLa|t_rr_Qxj5tstlKjv zQhPMh43FlV_s}-BWx1Z-LTuk~J?*}cf^WRnmhFRLA1;V2`dILTRIk@YPLn@j5!AY7 z^spsVS(_T7fYO2L|G{~?cPJQW62ApLGEnBf3&Eyn0@FBbB^+BVF8Aihuy3o(KQvX3=2sS!yB!^k)yI1{Z<}d$V%8z zO+|__p}!KQBU}NF0so4ypBRVGLAoXpECvQkz)TxvOISLA524ee{FLBN{Q1Cd+qLa1=hhYmdeaKZ#AEF7fa2L@ z(t!j!R2SmmX^YU$`?jWU;UB(UpxWlaRr&>fWFg5n zI|0S>Lax5(LwxKXYzH(^!S)D=ph(bY;BYq_{|v@C2;hjwos++$yF{rc(PJ-Yln^Z8M2G;JUlLW+^cqt+R z#`03uPA1qz0_w~c^=Y#-kL3LfBGc-k6O=zH-|2uS8DIRVd-!glFXU2VGs@E&It3!d z?h?ZddTh6UR=vfxjf7_C_|+Ze)Ml4Y&>$d$Yt%HLQh))@LfcBR)@-0QN~=GHFOQ0( zr-LRO+2hg8BEyf%@m&1lPdvH3=jms+_a?Z%_u2PtPe1)ke}wD?zeR+u2kk9C^qj@g z)PPzN?amQ9$n{;%!R|O-6h|&nth;|xcth`HY};H|&4+n9top!HZ`=1v4hz7HMd9dS^(O-$Ys_yDf(|W*8gDaZLTr(q{UBKR=u>Y;(5Dwge$=@;9n6sUow3d zkpm9M8JHca9jxBg3FDrXK+*)#!3@!=5^{}ni-DP=>T!0JLnb8@2rJ#2YEn|rzRP7?Z`t`)$ zpW){V_z7V?Y<_Z&r^0EAYyhHuXq-{MWa!%QUql zaZ<{7w-SAa3}tLBJAi>77OC_8DEtQ;(omr`+g&>=m)U-#uDBF^Q#qV4jn*lmskCx0 zeaQQ-V5?2=1m_|yPXHafqf2TZi2_SH!WE#A;0O;5-G#U4*=&ZqCvaq)NQD+0*iNbi zkz>p|3(CW}0p~kyX5d?T1{H8ZpoiqWd2sCZQrBOY5h9@T)pk(vFQdTVo`e(uq7$r> z&%Xyu4!`n&-kTqlaY8-VC3vt2E3-5zsz4s-y+vhHv1 zAR}68_(jjyZF!ZF)+BOfP-uG4?m91kVRAEaQiCK@3Lppxp|7dKdvPr)CT};p0BBKU1JgCV%Yq>7dl~AsTdvU>`hvqHDFipaGs>)H=`w zskYbch~+blGN?x-bw3Q0Mdc}$AF7{Mc))k!t*RS0ZusXPeDR4L{QKYE=i=SPC;0o* z1!&M%bfgh3k}N9XQ_0Ikkp{|FSeEe=EtF+Q!7s59FhlXf;gsE-E02%8ew5o<#5jj{ z*Uy0zi+>Py?X+VKt%rO1rXv9;uZ`s1KF`L}&nl=EfOAEMHbroZ5XDLUckS{T2r_zR z>9DRI`;G!FfMzjN4lwEEov%lDSePC?!c`!XgrVF@O8Y#6b8<)fjtC6RQzq9UC11gO zvci-*;1_g4%)Hpq))O(jys#Eat4;Em&^sfYlt6=MWRnj&NY2Y-UY(eHV5(+z+%1I$ zGCM+e1NAR745*Nh<#I3*0QOVEp9BSNFO9hJ4VbZ^zaSuhhXZd$6S!3#Xn>jWqN-fS zJQJb`;E&vVWP9p~r?zLGd3Jl>bKHx6uL1wDM<3tLub=hKQH7%{l?j;Iz_y9t&vjV# zmK8ZIfg6-E%Zn~rT`r|oiaWr4lvK8?+wUCpO9WvkVntXH!B;{!H#{UalgeEM?L z?O*9hT#rSXJ|gY>c3gpLJLOOYoh;;Sn-mq{6%skZZvx8)yKBG%*>@Eagki{u@=jk~ z>rq&xuxX;Gc38v<+8+E#`Xs_=;sfRWUoT&xLlbtEugO4}DyvZ;GQ8tSDGNuY*9aWp zpvSN9X@V@`}`E zl#mP^p{l_WYSr)N|C-GwNeo!9W``aYJ z(+Bp$pt6wMzjjaGkz$cNp>g(8Woif==;Ye8J+lr6OMBX;x|LF1oeeqJrj)Ix9Q9zZ z1zwN=JM>xY+6xt$Mzc8Npua{CiDXkd!oxyG)e)`=Ge!@`9|L7j|R=+3Pw2bNTk{)BQ;{mUr@pW$xH zK~fmInb6QvqCOTw=21T;d+UlOF_C)&@#owkICTF8=8!xA*y6{QI}}JooJO$P_?w==ns@)n;>I2Rky(m z`{B2(%eIA98fH`0&uJ|pb`}5!&-&nJZ2Q7kG1C{K1j20Jz{nD_2g~ zMh~ZhMJ58$(+C!^`Uw>p6@29iwfDuruT=EtM*&Uv&@QVzwWqkav==<}l`oxKbK6l- zaV>EX$(71$Yz)R+#~1bpR{^^42v-LNAH%=3KtF6_0?ptJ)f)L4s^2zb!TVIr8uQ>L zt?@6&Hxp(t3{yYOqD&BAvMjGe8obz_f?NLekFTNEu(p#bAxhrIo$||4 zsrH>lAFtF$p`k^84sbgwWSBQ=kmcyj2>2#6rO2WN*I;Ucel^hJpbb$^d0??KvEN#yv}K8fz+?Z^5-i+NMgi2^M+7Cht#O5)KGgnEkc zriD7k*76!Q3)KO#bf5(^$S0;csSJ1Hpk_7WD3u(VMe+kfXH#e%VTE z^kcczP#V5Ml3c5{!BP_Tk`~Wkm9{9LuZI_02uB3uOupom8>qhI%V5|KwI1Q&V6O5J zt_Tji{i&mIRXFe7PUpPJojx7d{HgT?e-oH=_wMcfO(4HBp9P>3xH`>qD5*kE3uCF1 z$FSM5K{=_f=!0)f=#>It_T9lk#UM|NVBdc^N@5`!?m&EFfeHdUM0;<41YGb`lyY#E zYB*}q!Q+yITk`-tJlXSvr~WM)??eV&pfw%;Qb%m-v9m& zc$?<&C!W}D+`8qDys;CmDfBj+a4oL+a}C_2>7$GL121Z8#7qYGaf6U$v%t$kAJUS_ zWZCok2W;8f9o34R)sjN&O%PR&xX|f4b>}3~3fu-i)1bB8qWx6@n7KwCl!F6JW8`e^ zQ&QMV2~CbuKQO+?Vu$~cRW2`z%XYwpzk=dIImJ%oZEBD`7MVWbXkCBV zM9jT^t`0E#$ES4O1+*uRa8+2-pf!PVrp-bz=-0sa#30VBQS5TNcftR_^53sX{1@!q zq>H=T1<8dVba>?JA^_~CoSMcScF}J!leIw_8mU1!Jjog`;4E(48gItA7Mz4Cz~|8g zo?SnA&K%&8Tfe*s7x&SvGkKZmDvw?Q2o;oPQm-9!=kb0>c0s5efF1n#*^TYS%}2K< zo_yM$5&qBzKeB!JgCF$YpZwoeo{5hDk13Ln?RQ6sRQ*sH@E(5-O3lOTqM|30CuMQE zyiY(Z9!<+Df_LS|!!)36nP7^HeIC$kWvhRm%7O0qn2L)MIgc_1QT_C7`FuC0Z!iT_ zrOG-!^6E9qOZ&qIr0)r)V5=+I4bsK!y~z<-YD+YTW?(7fr;B&TSvl)F?iC4NiYYS& zcqiEF3~zi%M!V`RHYg(tyZ6Y8IdIYBuhPM9e|kb|8OsodeQT!4dM z(Ld{+ITa%A?&sI?3|VO4Q|K!RBy5B(CUf=RN;ME5QdcfD39%Rc+Nf{nYTM%P>B)9} z<9vJU@yC3k=DqWK@y|Z{zU{Hc9^cNn7au;P(Nc&G989O%cR?FeIAF<1J267C?OH{W z)OHpquewU6R*wgj)BvmvkLn_??N+9B)N&?=h#$J!y13NCs_hW!!?Il7<-dzJ4YOSU z9OFkDjG{vLOD;d49Zr-@J=3opQ7}{=MO5s$W(gDtUo!pBNa`(d>gOXf>H#^J)PUcaxz=@c|J&KeKy7-4}$b9t{-E3Jiz3R%|8Ga2CwYx7n|Z{FOVdb;0keQyH%)6czkd;F=Vw;PZ0 z^95tuWAuzHphnw*J_uYd$3qX%U%>8LO@;nrF6a*PT!=y zTR)HR@Nf+H?+y|>I?;BM0wlwc2|;>M<#DvzrLMEpU<_E zknzQ@Zzivb;)cfqfor|$Tf3p1lCDM!#NiUTV4r$EH5Reb=9bsJ-B#PjJz1^f*a-l zn0}^^vbN}lq@ZZekksR1GC2%yCf0#oCtCOj z*r1sX2kIXHcZ=ktMuO@}V&bkK-^UKA;2#qa#uX;wlL|!o;vO~sb8CoEAH1Wh%qe8z z&J5MK&)QS5WuueSh3d(tp3P4F{r#}@=8b+(y!FvZ60D7f+h8CRQ<)Fsq#CX zqx3j_yFSkAR6|Hx@Lw9wZ#lu7k(X+HF(xIW|0_b7Ol2rLGtJ&T7^cM0}y zZw1!xZc@;blNYr<*6z{}ajUfqU#sY7-V0Y=Tgpw_TEhi@bV~8?|b) zjL}RoClb|8NOz|&1YOHHU>UX%t3CVfn>WF30eB4pcaN)4n8agVm?uR1fpF zHuVv%kYQ~LTBph!|Tx$nOG%F-F8x#dJW|~HmU3u8AuC924Hx> zLc&L8z2To0dQBiiNj(5yYD)$5g{iFyw9yv3Hz|LCTTaPFc=j$)A7qX1xuMw~sVC`A zkPpxUs~>k`CPFN4Q#ryz!ZF~#3&_ZuVcgNVFEg1|nXDn<5D0Yq8Hk}J%?6_aQtulW>_ z=beUui0QRhObKbQdOK+X12*F)xnGqxIt0fv`INNLAXA>yF`{b?k!o^R>l5s|grvdT z&Tc;-D4ruU~;ISB!heqmq2kzBJJoctZ17Mjj$RL@bliwtn~La=_gaDIz&?kB=pqN?Z@(@7kymnf zyl&jW|9x+zkMLIu$AJGXAVFa_cr`GEv1+2tj5e4($oB(yuW?6l-{3IRj~#dkIiA^gG9a*r^oJIPx;lvUE}T6a0I z5b-k%YA!6f_z8c<(Ox%k85hB?ql*RSa^jDRG1rn<9t`%@k&1l{9;qC$s8>h00?_YA zxH1@=9vFNNRGbfnViezaXOZ$n7N)zgK`f~360+@)B~`X= zH8yvPk0^Oo0GsKpEGh{Eb*6Ucr*%7ke(Vk}FBYU-o1#S=VrW7i2RrpzsDE0q zE{Wl+8XHm02#sm{QNw$^X>e466Lcl1cgkJ>=7pZqdc7$5L_1v#^X`MdqZj z$(B7}l?eR&3H=JW-JMP9Aj7x~8~=OxZtYX)(xh(JC#XZ^e|9cTFmFrxk)ahtk^6OiOAcY;dqa_nNfbKqXq< zj~g;5b8Wy?MST)i#O@pL#6^~%%`Tsy#021j+WSZU^|}3Gh11h(+pQZcI)?M;nPC(Lt?FCK zXaCg7;^d5zEovA&M{ITjLcPsz_9i@bEA*^$1r3CbY9BL$DbG^DwQ^ zDV0e`aAbllhJZmXIYGC-os;QvanHn0DFB_65s3T=_xI1vlp!G8x&4lOxUdhRN-4LX zwi}-GL4lN&%QTy$eCS13uFIL zuId4V_lW9%2MyI~4@78pq<_hIRdd_j8g}usI^pyBrrI`*tPtB=^OUMD*KIkM3_W~L zqGPH%f8Q;JkNWyXcurAm#~tAcKyM!5iqL^=$#XNOj8%pwOdbw!@Jt$@1KY-qEK4XmB>^i8!gJAwcLrGZ~H0X11FOx@@CXGg0aIY1}1?Q=8;nf4_BX3h;%1Ty8o zEfYCfrXus;(;LAVF7X)}iF$HMF!p+rAXUc-nCdd8K8j@=zA^+BFM#gUmze!TA#LEf zS8L=Im~IRNr%vP?5gzdE-qA{f2Oq1)gUZsgd`~K`NK^Y6=qQ=W5grnb0smb<-fn(} zvDcl;8uGvc98?CufOiL-mlK;j75{J~c!NdY9=CR~2;95JuV}Im#7ZUrw>+FAsr%bH zqm$sPTjLuzFE#qZPg+k2NeZ-_iuKA-_a_plii+OQ38Xe1X8Fl^_cHnT-TSs941dVf z5K+up18aAV8VOXUpCRly+dnAb%+4M=_(xiNrDfr^~(*aCh*(M!bHe7Ow zA25cITLa(g%@2Ro!|8+Quuaij-wTI-ZZetB#i3=ovV}R>-|L_q!J;20pe5m_kaDlH zy|YvX;17o29in>FjmYfNt)i4Xn+a(0VPi40Uz8R0C0ni|!H9%E*=ny9Q1uqHi*w3)`FZp+>F)d6Iqu>kvnHRDW!cLtDp>B*Jzd-)Hy6fFJ(r5Rn zhu$d%y0R=v)l|JKXxw(HvEU832?E^yunBUh&th!(lM&hmQP6+2_BPJ7lljouHsV9h z8V)VFAt~be4lcS(!$W|=X4%4>+$XnXs3rPb59Egx8LBAOdE;Tdq#iv(0*B8a)Ri+n zaRUae{h)ZRJAS2vKWO2JebGtlod(HU7naan+trywIeO}G(qybSG>Kb6NUFhw7GmrK zUzzwdWi7x@Jr!?P1?3y9oVr+t7P0-V8#~CN2YYG{gRJ7Y?|y1IX^nOCF(l>)q3TfX zizB$;d+QA8>IdJkiB6YIW$aJ==Mxr2_z|uG?b#z-5g7K2=NZr$pod`1!3>qj;P8Kt zD|Ehaa+#fbgYh+=$>&L&GXlSlVxG+-mrRG8Gv=M2QwKVI0dxeP%t;(@w`Xp3?BEG7 zJXRHIp2V(?TSB6ez>bPc=)FHcTc#3~*(W+t9(~c0_Hl{$mxU&R{vJP+F^?|#0BtN1i&qAClB;w18$eI}NHQReZ!%_4x#SC00KO%K z-1hg&R{OR@3$${o26uPw@I=91oGjuhpJFO4bFNnu+5^Rg8y@AV%Mk(t{!2)Y1hF;% z07Y>gJ9JQ8%-Gk1WieGw;`F*C4JlaP_x-ekT{V7G2zEjL23kHq2cdX`;KW-Sx(+{J@KB7ST6F^&=HUf1f&>Ru_fncz9DFd#Z63;Z-g#%cbLWmcj(k&PoTy4BS>#k*?9>;b`U`$&3@x(NsWM)8;Dj5& zNu2Nd;j(IwTa=l-$Vt;<>LN`B?PVi+#^nGZ{-QckVn<04E1=FNzm}iJiPLyyv~bb=O8{)1kK4dqg@N%XIwm@m61+}A|L02Pb z@g4FT&Uf9=+c&X@A#v;0SrUvzR;HY(vmo(aG=zDFC`1Q7(9X6MpOPeppkC>T-az5)1HCjw60{5xdag+ke=M-Q=nJ1taN({v60Buk-2w&yr7mnmRJ7;@#K0 zgFwUj;29rK>WAa_NeG?o&R< z#X={@0w%Uof=QBuYs)N?+q%wRs{v300fYNN9X$#!=M`hPEPg^KHmDT`pn@8{tIkry zi>#jHJI|ctNyOHm;45v(6Z{fhb_!%`TVuQfIOho}6`g=TTV1VH_TE{5214L3|?9?gpf(yHiHM(MpJkop}iJbb738)^-O&O z^v!grDq%BCCxfF$V$17SlrkqSQ5}~>cd_uEd|+J@&ndeO>e~g^ys~yLZpWExB)hH^H9E_1I%iZr9ImRA(kf130o1SgZrJp?^VH8?z&^lLdUv z-**;+Q;c$b6UdX8iq3Nn3DpJ7T_zJ;hRMU%$k0Gw3F!U~jh@p6or7fn}?@f=)(~FNttoidSWhfI`q%RDu~FTnuJ$tY9?LmvH%3Z1ksEJ4d(*FanNn zb(ks85!mqvWZ-51uL0gt203NYA|yF^+0}3u5xSGPyvUCJ_B-3{+qeCh1vvZ}26xu6 z5E;THn>=@WPD*rEe}j3Z6%1orHv;AA^y*Hr3x^4U%&?bMhl_JErxB<42_in@hjHE; z*G&sBj4LI7_HozJXitmqJ5Iuo4OvgCm+S7CZ{xakiowh0>@1I2S4s(WPA8RoP@0G&4QpR|7d z;Mh@J+Q_(|6qzWietH8vU^`YtZL}jUW6) zcK1BJ!;?C96Zj8*^TuI66Ul&)Nh6B$*pN5H?!dJ!ikZsA7lY4}fL%U2Y`8#K)tqVA30zO)KU_+D+Z_41kL(_9+k-n ztqTFE0TmDAA@h>K3U zs=F-Y1OV*NrUz{|fF#e05~;AyDS3{r#fu9o5ZMOw>dWAzVFM&w>4)H4fXB}+64gzP z1PdM9{JIf4e`_V$&+<ItBWLD*||S(>s~q zdB&Wedi~a|?c}uIxFwiyZ+`{oHKFznG~3OM6-|ampeH=KrT*Hpe@#`qGW2eeB$wAIU~!vk!qk<$~%&n9IZ!qSm@Y2!j*tw*;0q> z8ioe4g~-c$s}g5uOHbD`2`?|U3!chhw>{$;`svB3zlw?My$gQtzT+Idd)*EE1m*@0 zeZpWClITNcaLiGIItAr(ve-vKxs`P7v=a>pG?AEW%N~05nfW$)Rid7?|CCD_EtZ$y zi!vw*fln=sRlnTD(Zqfz2?bpA8inf@hX%onlWD5EKc8FQ{iJTVP)1oc9Y_HjzLM86 zB!imGAKm!o?-cp*vC@S6<(qlxBtBi)f98Pyst5*p-U(H4FtsOLKX6h;?U{3ko@*yP zn#2_lr%tx#o4XBF@LQ=}nQksz2oal{OgP^p^ zn~+UTQ^|=4*2(q7nvD1Z3jG9h?!VL9^6G!sQ^taefMvBtO-dw*wN*+$zP7O~k6v^R z7t0B`n*GJi@*1T=YONeKFm-h-dUezm*E_W&ZsX`>kErP7le+?^57E-!x|@rv5~w9sI3KF+mI@QzMQ9A&W;(|XDI-gb|-&OeLYIC zZ)}fnC1{Ty;fmn6{$1(~_CwM%OzF=g_Ra^Vka7ulx zIzq5?3?=hLqdfgWp49fhpD`AH{UR1A9Ed7T0wU;j_Mi@Gm}qNqu4}E~r!2cZvo?P2 z@SwCmIXI6);7Tp*^z~uiDGTJRermowsuM?eXkeTk;fjz+Fhg=bNP!O04sl)#Y6=cl zDakX_xn<*@nHW4mVbUewU*36pyZ6qU+r77wZolm#n*JHe-8(+2`Sx3HY~T3WSGK?S z@BX>%AOBPT==SIT{a@bh-0ftk%}FWyxF&dR`(PM!N)0rY61CmE*4My$;u+$&QqdSMDsqyY( z{MAlgOE+BHr0@|-q2GpG9}2p0*7s=Q-9~7Y3`~1%?jY&AE-8lm@@ktv$!#IZ#a9>j z3B2_9ET(G=^vM;y9$%6Iw%5c9p5{Q_x&>lIS8qnVw<`crq) z@-OED7lLBEkOq*Q{t+H1ALv+Z6W>xd1yaEVMs9FD56)GB(Q$;UKu63Gt_o{JKac^P z7z>dSyVZ`|12%&GnU7$u+dM%Stl%L?U-Db{Z@-=e;I-y&zqbAAfAHtG|NB4lr?+4E z4}W>Pd46mA^iTZM_V{CuMj+Fh+dR5;FefbLWWKy2Z>dwUld|=sagrdw&5(M%@*$!U zUk~Qr3T+G1UHy{k85)aA%W1b0e}!OzA)zez94%BvV8$ z?;`o*8~>FnjQ|hG9JMP%zL67WyY&zhfI-%ifX`y9TBCv>t1 zTwHE<@7&qm&aVHXAN}a|U--}e$?a!;_7}GQ(tqW@zWwMA|1tHDGUrhmQ)7^`KFn@R zK9Kdr4~t3A4jU1gz6QnpTY_4@DAS3FOoI)QB*Rl>$aA*w_CfV>t_r3*`YNYBB=A3F zgVXq_B*6&QBr?wGvOKuhSiAaSM!&mM0@E7mgu|RC096x^5;$y(U-b=yFB851Awk~0 z>?_I8?GBdr4dIWh&yA~N*RnmNqG^lRY*}9W;;=Gu|dBP@Pv2QH6Rg4!kYRzrCTl;ACQp?!ML&)5)`#Pw-ucLt>Tu4dJ% zlWMPDUJUBUPn&4wa3A4eVO^agTmdrv9C%LdgCW=ew}!2wbbvvddPlC=+K~~|8}QG! zv-9iQ`SqLI+4URS*^L|9Y0^pR=QkeNZanhjcJs0KZ14Z@_ims1%+GE=^v8d6yK%FB zC{9r5egEtfo&1IB$0idSHfVdgwVdh?foFL3EWrktyn{3Rq}|9+hTWe?fe{{UG_Nia zlfD6Hr~|PYT6gvR1}%vXDa&XJa!indD@|EC)E8d9)B_G3o_DrWOWvT;++tYJ$9^7< z>Q$4mhWk8`>-TKI6TTZP?JJddN;#U4u{zf@$NH>;m$8rb!v~kwq(F&lgm@R$25m7Z zl$G{C_e2e3&a;?Xrqs3|qP|Id&Qoku(l;LMNPN>Cwo>VPgd!`u*9k%wDCaCKgr%?e z0I~|mwWH#{*M&TXZR;tF*yzDR1D5OKHCI`@>#pVqSAb*By$i^ooiWcqB z=!>O8xPUlEDq}kZg?a(_`Z!(&K0H^uT7NXqWeZ zNz@dz(x8`mcWmWWA4RnjQWLa7t~mB%QyHeaD5}kMuJs)Rj~=k?#RVu`I8qh`{8En$ zO4(r1@g00l*REZ}_xs*jV4}FwHL%05{0G;bS1|DJw>x?JXCW{M-R5WrScFr}4v$eGV|(8+Uz^r)ilbA=9(~-G=GG zE>2CoSzPh+P!n#b2IcqP9Nht**8K{Yp`1nlE~QqV3flBZqGb z^crCA@`QIZtG^KNWJc)jX9ZXWXU|ZPhj#aK6h4b$BY{8Iks;JdwxlFQ-C5;c6D_3z z0bTH58!wmO5grzf0smdW!MK|N`yVwD*MKMYEiGf&fla-Gxubs4l-&_}qm?O~NwUb< znJY5}rAFVc-YJ9Vh*gzRa1eS@NJ3)i!vu+kX)*Ki_~_4s?L5W2)`P{^+-9VS|D&C zL)aPJ0l55;udE32i`{EbGAA%=F%mzxPPh6o7d=^1K}mDYpjX{QJL&gf?`@e<0sB8R zLM4x3UZ5KdH~=AO^=X6h(p>KV-3CcH*gm~fx~+`fI#3D6Ab>vQQXkYbJg^Xf6hY~i zZEqXkMVE;qHg@_9$Q&Z zCYdKcz|n@HxHQ2~uN+L|`-D`1QWvWVOSe3MSuFMfttiwUXz=gu7YP575f^MK`ZKAL zbA(0?xF{)`dS3k?HZryW#!yId!?S`;^omQ}<;`NncV_rbzDOc!_y`XT6FH9X?qNR$J2rDraHfWq+#O90@cWKW zrL%bn2GF%8#37(FX-%4n z>?I;&9^Tb%i6E?}@9BU2*{O^Sa%kv*HrTtV7!OBXi)o28WRr_yJaBErHpwD!Ul(_T ztH3_)9O0pXskg>31Jbd$#^#&>r{BRKMacQLXBL#75@^$!4CcY_CP{hM^jfzr0B-lV z^Q1ER>nNDuL-QZ5KzZMNuZJ3WeNIZH_{CF>2IyeJgHMJp0|Gdr4w%CuLrry|+X1|4 zx%Yq;EGrDo90{mMci{?k?M?|Wa#7}WKW!#pr;JZI2=lvs)_i~XY~Bw{pBNH70|wXR zh=9k0A6#Y;;}EC*B-`7znu~>_a@r<=kB-uinKn)vz>5u!skNA?Z(+l z?5z6k94HbM2Oa_~F@n3ujm;ePduppsN(<;)63XDDuH8eOdkgY-u5Qj<#z$X>_5+wG zLT``2uvAB{S8KaBZAZ8QtZRCNt3Zd{gM-gOdjOsB0oW+)sbUT$%OTxizN4kKNV#H_ zAw>rD)OWmvrMEe{XM%$abb^5oz_TXXFu1cHIRYA!Qhd z1E-KtDXb+NeY8JvjCN2LfP_fUp?&s1d<7B z+^ofa)Yu0sG)uY!#_Db?!x(^e!I;lQ0u_-AzXx^*M|cQ02K;vcea0G?K`N}#KEWds z$Z;K5)2n0pPzGq(peP^EX#&N`N}+L2o#J!yAG4MS^4yM5&!Bdt0Q~L<6sC>4!T&dR% z(1ieeZILN8Rq7PGbA+=&3V^Sl4NyTaJn}_`6KGOSrr2E{P#eVbqkf{Xc3@0drRYqS zT=jD-pgn{^jcKs{t@n(2lJf2t-2%CMtFL^hHA2O)C|IYM5?HUTB`|o7)&ljlyS9QX zI4X1Rt6J~_-6>3i(5MIaBBuBcl1Ri?T3Z$GTdD;@wl;(YIN}zht-JA@RP+?blYwc zvSXi#E37~PnivHhQdHPp+psh=ylTUH$Gp0$v>T%5!XO+Bbs12W6x11NQy+=xpZOXU zY(dkNU;zR;HA5rxfqD}hLCB`YYj*mip;iXH)OHei_49_dDc33f@bpZ52o9Etv~JN} z>9q)g@(P}86yWP4nP^rJ?v_b&`CK&p%SV1jqP+U4(FSQPjhH=28>4`qrEopgC;X%r zu^;70h*S@v%X0gb7P~Bj2FPmxTsc$Bna(89p2#Hiienh|@MpmJ-w@bDXuFo~vy+c- z1(>06geyWu=8Sq0<8cSzWst%6Htd3#jlrj?;Xz-efKmgLh&KKS_F(~Cl z*G|t~PMZXz6?l?pleFLsR-qWEpvfPaM{lQeH;<(*Tr$9$jPJ7b!`J|JS@6iv7(0Ge z;6kpX!HsLzpq%39;=Fvtx`18k2D)%q4&F$-xD0uL@L(8A;q5z&>Q*k`IXq%f72EZq zI84wc%%KV_)V6M~6TbElcqr&5204!cPr0r;UR+N)tZV_^AI zVl*Xj9lNk5Ildq8;0O;1^!5?12-g}3lRBCmg-ilrpRZlb)Fw|#v9<3of_I2;?!^No zG}tY|3T+GaTAh;T`2tl+BT0gF)PSjJF7+>3dM>t@l<)EVeq8+@T2`nnNr^!w7uo$U4k`~ z1cy(B($}{c>Q@8iX?Q%+0qc?8-8Dnr^0HfVZ9jZ07~q@Mv2JNm+(Rhx7SKSmu)`r{ z?2h)->nVPYL~}{OC&^m@AhYhk$Ppe2di9TRCCEOEQP0rKX$IzuMS}vj5O$LV2*(U| zCu(1T@+>YvCN5A;A)rROa+MmE-*;ZOWR?wlfJU{`6-^0V_?VJu%EBrnM@NI_G?lb# zQ}jZbs?(NSJCR6!k;Mkd3+@kikAM_JfJ`5ShBA6*1$qKdJr5X+D3dQ0(9wq8nW1hO`plyj^5*jr?Rqes$|M4q!iw>q)4fI^tsT@qE8BqvDTyV z%btNZ*wt4gybw!e0sGA8-wW+@%v3P3j= z;i}-kn*qB!7uH0`Z0SH9XdnVQdOI1uGjz_*#FIUz19eW`2u&Xko}wuli*29Qai^lRINQ6rG3UflAgFycWIEK{JJ^XqC2B1I!xP5f0L3H)l2 z)7`wg*8;S|aJB3!>cda!&n%KOcdZx;yBQc+9lF1j9mgPmc+xqH(WEY@;Q1Z|w{GZnj`+^?*XC%}xmAvgx%Se_Q!kG4I-?Je!A#v8sguC#k3PT~ zEg|@YI{G}kYK9g=!%|R5a=P0(EH0so;|LE4yJ2&LE5LrMMx~h}^AKhb4^W141z#pp zvEgIDr|865TA36IKq#O194+lwcXgn0N!@0ZDf5o}kdLxExAkTPJ`*P(6OtfeF=ZUg z>%?zfftvO)4R>`*#U<$RODzOB0zJw(Aj8)hp^O@V2)&_~1);VBbzrnJhk-gWNnJRR zEe$?e1eW04z+WBx=o#$|H{JDvufFYm=rHG`T~4FB_QQY4lQDD4ML<_LI9a}om9%Qt zW{9NKmc1MVeI7b_r6{a4_JI)FC$x%x)kWLVNUn#z!`k7iwt%eI`rHs5;PhZ2XYy*M zMv0J1xr=T<-NC6cCvylZiyivSN@cBEE~t5A^==j@Y}Cu}AP@2gR|ZDW5v~ruZ}6?b zSvV}i%GB(nd0_0WEcHW_6FIZifU}!00D5NNWgc$<6 zaG-zsU~oJe{>n7a6ENF8K->yos6bs$JGsN@%fbK~fUousDLULC2k$uxkU`ofU=n!o z3!3b)&!Vw!ES$krz8a7#Q0qZxL2UlGJOS1PK>wiwTnlUrZjxHS%hhFvL{D(^9)#MH zD&GZaI7Cl?KIlJaR)Vu1F>;_s)2ocPUaKyCg86upqTP~OE%!jB?|2}xc!EP#>n$Ne zi8}O!<6Xr9`mg;ooS`{>9a|WXoD>4>$sspYI4Iap=*}@bfM>3!)UbL1j&K!VG#ufI zkm294x*LC;!ZSnzlBb%S;toZDNwJ`Hb@}SS&18dL(*2bC+cKS8do3Z(>|4GZ`b2p* zv0zJD3j)v`+X28kC}fw9%472)A@kzy)Vse7qjiAbgl9bfdTR0HP&c^9(vG~yd{hxW zsgy0+enbdI?#HJ?z}W)^6~44Yzcg4>f93k~#^r8l@iZ7>ra=;XEKmeT%O$oZEL!+| zqNrl#r*lo}aO|64PCL1+VILrk?D}{WA7F}(5eHTgw^p!M?ara@umP?mJph(7x1D^~ zHgx*ZcTNO!9jcx^eXe0E(h3Li)Nm#wuZ@Ig(5cGz+D%G(A=z%EdFd0ns=@0+e+Q#m zOB`nU1?2j!h8=CV+HoD>;lUm}!qp&?sKe9I8c1zDxZ~Joq&i8U&s3dYT`to8wt#9z z6;op$l!|uO$)pY5o#60Fj6t;Mi|Y2o`j?d4Ntfj0M1gtv^5?_66 zl5!nW4yt$T^)a9w$_-4&^geU%cZV4!PCICb)rq`POOfA$v2TL%w_$7~uUON`s`9S| z=Gqf`<&lm)+LWX0q8eQ5qs8d8{Q+9J&Xtc|-tDx5MA=K&LkC4j=vq8U?a8*k^aa>0 z*Z#UE-zy5OeZ6j3k#r=>zKB7?4w`Z0&Z+>g}jo3fA@7;UQ>a zcHqVA%Dq0liVLLY)Nw+6XwyEBT}Y!>9+=R;bt(&bk<$)7amb6V>RG+2TJ`O5b^-uj zbh)4pHTBDrlWw$*@bGX9`0oN3!X2FsQ%0wQaw-mVN9|#X2ogS_fVkk$pZc1dolt_4 zLXK9Ki2y9fF);)(QgDg~zqd8=9+e{;RPPd;$vW)Skvz!&k%MnNUccVIRXo(om$4c+ zQ`a8^<)Wl6Q!3t?0!MrKHmJ7%kPCL&QazKZp*YLb>L-DOy*F~@3Q#4d1|FU8mSmwl z4WheK-)*=X?X0ZJ>$68iLC%B^cb`%1Se=u;BXoPBc`U+5RV_{G;u z*FqV5^(~z_N1*Qns>9BZLUCug$qJrPt$#bZHlz%stZ!`%FR9{E6_rEe(gR%f2_%yo zVpqBR(?4oN8FWg^r!KlB1&d8s@EIhR?Fd(fW59nG(6_S(Fq7;M%@B3c?8-ofZcuAN zI5{nr(_&8hNic{a15m1IHzCGob-@=70`QK`dC7J1RU(B1yM2IY7+&uxC|+2u94~a- z;Lp`(>aha@fB%9++u%zGHXn=p-iyJ!)0RD&Ier>s!&4_CI=3EN6bQ@kI{hsbl847b z)GU;->+LQjvDW~OtU)t4*<-i2lcGIr_)XDUPbehVBF=@1AMg>dscM@h%p$M1oTjOyLtqZ_25iR~ov<%B78 z0-^W7R&dlB03sV(?D+c|_~2n${LrhXs;c|Mzp5+FJcqw|GqU)y-nu(InVn=AUbC;Q zPD@s#Q`eVC7xF|-zf$4@JL>Ls6)|wMx0W`}NeIb=2ec19?%G?Mv_cmeru`{(;if%s zG~Wfmv@>yZJ3Hmmf|}8b$bi}F-n#~_yE{n#_mBcF|m-73IS3mL;%k8w^lN4Ns)y7dST4;h9IyavFiTxm_#(2Dv=4dWIFtp#l<&l$(E%;gLmpA>VsRbd;s=(myQElJ3UnJ zij+!->?++u)2^J{f%2|_!}%FtCbuxh(otR%)efxPXir44{T+qGN=QsFAP2Dghwy0!QOHh|cQf~rxNJM`%((tRdi!IN9OYU5u;_@1F8X6Fj=&m0ORD&kQOhxXRCbVQ z8y@dAx+@jBdq!eGW$B&v5Z1x6qy`^m4m7A)`6@t{QsHS}AGt77ZY{}r^}4j;d}{KP zaq?QxjvJfW9Zq@h9eMET9$(~vrnMtn6}aX{xFVcP1a(sGhG7a0%o(H%TSsqBCWd?R z1pE6Jcencq@|X8+hv#B@2fL?y56cv5OhescS0!KT7(}s&9IX-Z|xVKvn zU$=_L#`&}#|07G12|m?Qw7~7A)vqpwp?O;(&e&3Nl_J9jz~cix(!UUBV+xJ{b5Ki; zww~G^Y6Lnz+o%JO$M$dkyMG}&er8~lkA8Ggtesjgu$y;M)?Rt0u!GXWXW)u1Cg-90M0zaLO7&Bu zCN>2YhjF%`huanCJ1x_MR#T8hNhpPt2cN*fE{_MI6?tk5%b*y zI@DR+=kZqq0S8eWBhV@)A^Mom$ft(N28abCJb+#>JO4rMPN6u*@sUMxaX$$9mqeSp z^F}gfeN&6M@qKmV4ye>$-aGXe+>RPpK1CjHyp|FPoZS`s$Ui*h=)r6FDZ$(z+uj^h z^l*T4;ZaiEM?Oe?hB%@hb}sY#j70@9MokoxuSa; z%H~{-oMj1?d;Y259qmwWjML}t{%y?Yfj#-YeH`USKi7b33UzQ9B2bQS73h^a!WH57 z54;X|N;60Yb~Qv2Kuv3s2~aP$i@SHWx8Hm#f&Z=TD_{P?_D}t@|Md1-U-(ivW|F9D zREwKbm;kP!(wQL3ij!p}ZZ#y(`xYG?9O{94KizQ=8i@5S#oO`4s>=hq_Z>(po6rd{ z2-WvgY1DeJ0iW>$O$kyy#)(Ab{b#EQMDTITq4(bt@(8~8z@n8Ly=RHK{j9ga6+Tki zSzOJJ%cHDnZPO_cD2UiofcnIc{;Y;5R zKd{Cb*Gns@ES>yASDRnG&FmF(aDaWVOJprOE>Rj4la6o&V5A)3ijZ;qZ3EBI&G2kl z`2AzELmB)*a)J^7GOf7c?`6Wgq&WdbQ+!DMjx%FjY)Hr!aHpb2H&b7N0GAZGi3Wg`I0RpM{k7fDw$j7 zvmg?EPrKza?@#6J?)L{KsL%C@U!%XRm4S1H|B^Vu!$Pm!5v~L?DRS;>!EUmMXK)s= z@C}4bP7tx2Gx(Vum)zg)B)WI|?d`XJ>o>QTUVgRo1XKn*st$*}`~ys(U1*p|Bt)P4 zWdldh5NI>`*~?ysJJv&JM1YNVaeJINR%0J$@cEa4qI)488N zD3SP)U=@W=PK-ZX%Br!-GuVuMNnl-$P;_?IejFlhj&RnZ2CPh(iEQ4XT0S5p2k_LG2+5Ih z{1-WsBb3W~+gE?@i`z>ty&C#lF8C}W>GTd5DwJz2b#s=CfdrQtg!{fr7s@5 z01)3NmkrSJYm+~{f&`{~golOI zi$}NuWH_(s*ulE1d>hPUfiBAoSTd4RV8*ZtGr0L5QZ_nJUwq}oq*o4Zw~Xu43Kq zOv{Jr!U>diY|V0h(PIv6%L%_od;!bZHlx8Jt(}p zX=?j;_ku{VGo@i8 z$)DLsbZw91|dH&y>k%2YS>- z8(>JH&3zP-ob%W;I3Q5_as;REEDGpI8Q${Xae}0sNO=XO>QQx|!8COp(&J!>F0=Di zPwYTfMQZpL1+>kDD!4Op6ow6YfeP1bg4nf-Tr*r;bSu@>n(d%MAK4Chd+Ww)H+;~s zQw)H>q3&vQJjl1MXZskj_FXYZVVjoI675l>Pe`mxb{hJ~=#_A!yu7F$Qu=Fku#|v& zstYv8(|PN*)3WSeUgA@j^;B_q_*_K}$C0|IHsd+`){gMd;CMK~6(R3KJGL2sGbGI! z#2v^BQ|LhDOvg7UqM_4BNp^+&zib9I0j3iWuJW$IZnhNfCVl{Qt2j&s4|ysJ4t>&x znb@<-HAv#cRCLOgS6?r-dlz@*5tY2VvuOoNFy&hm7ObN z;V1b{oI(R+yCz5I`X)7$Fc;G{acwHq9KpT|NDZUIvqC!wFL<>XoJh#SOYs2bf>t@% zlLPHTJeby}y6EL!b$i^JhaYH{8GC(qdH`juP7AR?@+b}#`c*EoSfHr$1sNL3u+cK-=9LC$S8&R%U3zd)pbOT>kV$FX^AA+7*Z@}wzb14?cs(jw ze#%Y$6`+`Q9{%tB0l#Y1?(G~KM1fc7ob_>T-wb!k@D3eD&hn+d%|#0KtEp?CZ+O5f zyfn;p-$Cq*(+#+^sr}SMnMbXQwrY3-2a+kLx2KQ6R5w*> zkxE~)sJmfMDLuf-a)hfwNAD4?2HbRZ3@3YVL_3+B0ISZ4auUP4#hHv@>H#0SqciW3 zGl4O1k%0fs?YqwHrD)xnaqcp)$R&P<#7;Pq=s})n*%jkSbQr|Y2@czFVE2;(um#v; z@x1%}3)(z-VBT>6Roq2_qxa_VwLxkY5X$ndfJcCgo=a|rB>C2U0$ph8G!X*&=qmT9 z>jwDLQNKFftoo;tGj_x4{q|DPvUu$y6NvDpvV4b5#>1c>mSzGvIlp#EOME&fb^njp zl~k*?ch?VK)d@wcbPjRS01DWRg$@=B%2$@wS+eLA-x&tGbXLD3O={ z1i1eCND3aBdcb2YHqZuc&$!ECxw?UlVcstkl$19-vT&l;!iNu3Nl}Jhwh1ZP?xfnO zI>Hrzv2lc}!Y;C8Fiz5GZHQ;tc##`uEHYeR{3-p0H0w-z`QFh`#uripdP zgnlz843p{bzAr~>^@D>jQMt}5cvcVrynO@T{e;?s+Z+74jocc6GkF^_2_Uet6UQPD zJ=sZXGvLJLz@8}_HBf=^(ZHGH(>F;IUXuv^rFle$nzM+Q=T!aF_U{Nh;1N%aj75^? z{-Yy#@z}XYOSxv?+f@653fTCwyD1fY<-?C&@AgFPc-tdIB>ccQ)%7jgAVNZO54bcD zutxjCSA7kc==UoO@(yLSshOuGDT z9jjf7osv&XftY%4VNy8?1oP9dbEWyGh_&d@yDo6bo@(F9A}rwMf9H zwjqP2%`PO8t5Zw7!YHc^3vG(#qhoKcN&VFzl)c!(0k2t3E9oC;FSXCHl*8*wl`(-& zp(4&HMXu$}xqxG$)F$QE*r-g~i=HHJbEf50euOJRd-w=ff(${1@dLoHotYq&;%=Iy z((y}ulDr-I7UAXz8G>JeJvhFAbLSpA>dFgDm{B`f>RiszyJ+%7_t;r!1&Hqi4X^=Z zo$SHw^pQ@sQ{Hh5p*uS~m!s`VC8Zn$@e<8w8e&t2SJfa>>Kl{v0kl%&16t2H2!g(7 zg1ozM_}G=JC5inhyfS%E@fi?};A0nv?v5dIub4@Jz7%Lb_$42loGsd~==bL-Ff+WZ zl$RZ9|4ge^2;eS4IpAp;xuLYq`-C3&>61g^_ouYNq(K|H=jkF^U1VAeq1gIXUqGa` zXN5Doo>NnseZ!$FgTNXYi#YgEupm`jaM8xF+({ika`#c2B#!WKa18kG0`6xj9}ZWbgMS8SUTds34|nq3f)Jgt%q575;bQ`woSe2C)u)*; zCkgg<-g-M+2?!2;NV};HRxiLAtSv9Mz;$A=8!w*n($n%@PP908@1&6-b=RE~KX+e- zL9ekhcCKY%n$Oj|wL(gn)b^#GoJ6(zSokLF&hAkD$ohpTgC2cqpa?J#_ z7PZU_@`JO%Cljf;r~!gPOAYR^xa6r5SgbP@3kFqDw1bJQ)lBG%?e6W{kwK5FL1*ur zvOxgDyjJ&+nb6S$67>a`6*e&Gf3SXuO2LE$J2DWV+Jx31%5Idvak-u4Jb_{P9$o1P z^`f-*iQ5(=Y<|H=MM~wuK%Y zer~cn!Jc|ig3jGXtRCG2pd~!>4h87D1t9pPTfeJkpYX9CMk~Vw+YN*xTm?Eij&MbA zw13+GT-D|b`27H1*w#924>7~XPY-7{I%(H2!F2`cN>plnu(s-ZIII(VQjgBQs{ks< zPPV*DccH(Ghzzxyh7TXE@sH)H8{9>&iGH91`mP%Pr(%ChpB$bUj_7tr?x9r91ej&M z!4+s%5G*bXk|(TM@Je9u(0kOUR(<_FoAxVO8@dQ)h`@d7Z5WGzU5jXQN(MaoFo)`x_8y6jXNwR&RyVW3CTfku zlVbfzis?6_=WwT-32<&h)`d09mWo5(Vct-f?%EK**RUm zdG0%J8JDQ4%30(h6yN%{3qT8Ylv$>fRpT^vxHZDNi%zWu0D|*gbv()>ya>S^98;fQ zF?twM4M}MSD^U_p;>z~j*imPAmsU-Nr~2!AE2`8ElBD(#@+Cr{2P(^{PDqA7C7$cb_iZ5FeH`<|ve z*jbND7Dro1eeS7TLMrX!U@F>c0i-YJ4;PD8bxr!JKI=I@u#?CB0@}CVy<-!reLOU|bv&*=_5ymtY`qN=XNDf= z!TUf0cs_5NC2IBxd)i=;h+bL9STCqRvN6kY8%jmjkPN;AEB^;N!rM*T_%3@ zz~-Vg;g}jy?(_e6+&)q}zRN?oHrD463+UJO(tZamHN5EYdZ9SA`p4B}S)u)_9qhOJ zIf5;~E@Dby9TlPM+Jw~TmV*>1qt~{#$d-lnw_MWVg9bu1!P)DLzUlcL5og8M5DL`~}Mxrs!#4jn;*8zy}V3 z0wseuvt#K9-^E2HNp_#LmjsRCPIjh4pc5=*Rn!*+21>8!VL)2CmOM3Vw3W3C7&NOq zKu)3dnf^^dM_4Us%YLUmFglx8#e7$E?~@S&JRF9I_6q<%Mdg;&J#RY)AYjD{6FN%k z5gfO3iWSg_q~dW3eZ3y#>t1~yfR&3+97wu5hBCg1&< zo~mrhIeb+OW)EY1ho(L2GY?>uynadOu;*~h6g0YF!jBdtwM^c&7bvy$B&xi7tk`-7 zGi}IWPeoZ>}`j{>Zm`2<9j8W8iU7`$>%edyl?1fG5~mN~=ZTHGrSs3xb$ah07b9~hH2 z{7f*Q-SFUu=lVp>P93JbjjE(&_qTg#SLdvBeQn-fnnX}l;ltks>F#I?eV2en7?Geo z^`#Bb^NZx%ow{gL*ED7P;)&sj!G_-R)LmOpAUXg6R2@Q$~hCNwYZ zosP;;nX9h9XpVHyZ6&GnIGNsU7l3yd%zP-s|%f+Ey3I_JHnNK z@p^=-gQKZj3hf**_LGGUv^occ^$pYkA^z>1s;i+un@ z3S3I=-iE%{h%o3Cj*y#vP4KCf`lVFtx?n`<$^4#u7n;hhqBTzU!#80ocYc zLMd`hes~`utz8RCVM;1RW+c)`uZ2E9?)9P-ULURnwdAzKixFK7+Srjg{M7L&n(@O9 z^a?=`ECbS##cu!h5|+_`84&hE+ab^w_Jt z%m91<4(lDNj^Z6q+*LE8<=G(};VEZuC%~SZo^EI7e5*AR`rb??EbgqX>5vi=p6Ndm zu=6Q6g4+S?=GpIq5|~(;;D{(zN8<>i^J2Sm_fGgm8F^p&*PlRUa4~I17v<3Qp(_k4 zSa{k`c!j6{DX-552ycF1nlpS20`ZVwOkesaE2@wM-@NZAs3!}mZNeC5=+rsE0F>9A zzPjW#`Aeo0tj(F=S|!yD(zce@b|=S%q#Rvya!lXtOj}v?a_=GXsUqud{18z?r|s=k z=-5aKt}5C_Jadss-accIx|c-HMxlLKCt62uD)w!$E)OnP5|pW*y&l~tbO~vjL$ouR z;YDSe>lG}?9lvxEuyEtUsX21IFOYPEE5b40zYE|CNKTI3Anu?puE3b@Ko7v?h@B&4 z#<79RqrjB)3n$rGUq3sye2-tJRP6}KofIYRtk5y(5NZd(l>HYsLkL*IeSSPMmRPR-~su;qux1i%nKb|2W(;e0VYA=gap3Am?fdh4TQD!zl-bkah3kUNKHkB!HRJ zsrVZ>2|fsx~cucowZ zd0LDT1SXR!{0)eNz(uWHeG3UHxLyC`EX~@;gwY(H3JgyV`Sf}1?F*DJ-=Ay%!mF;a zvv&XmQQvUQkEGojJucP;Kcog|^U$#}-c_gd*dy)$S3I>u} zj6An`a&(bOTtz-m8Tfc76J4NlTIEBo9nkLJWQB%FjtEEz!G{vyP5bSqy)t3fbqZLq z>p&ghYH$qr?+O^9ocE*Dv1ytTqzqPS-I1l_WGJ4wj<~l`Lc4zB#`frAk8QVZp7)!z z&iL%kuAeFPprzEge=m~Lo;u_QVCR!5zGT*+lgAX>l!FO5y8K{PL@<4xal3u{?d|uz z^0iu|0rO|n0`lXAqR1sDm|>4x2vX5BklR4!ktOeAkCh?O1r2;CL?`pU0jVyz57ln{ zrX3Kb$7N!7np~d6MV>u#(A+1#7y8{KB1&&<0LYDOz+G=h{dcSCQW=^oVjH`C8fWoC z(+yZXbGs@U=pRtE+sp0P1oQfcX&N3)l`Y-jm(r#pdY*2S(KHlZ1q$g z{&fIoiIg(ra;dnBHe9?TL+&&<5Mb%DrNfLi08!L&kYrh8Ui2F!e8paW>H~6H?#I-} z9saw3HG+LtPZ`i)1o4}J7w+lRmFecPiq zd!HQrgbyZg=IwTQkx4SjP}7jO*DlXuIKV&PRg^X`WC$#0l3~yKG=wvgwnv%XdFS@_ z;!Cf{FZQGpU&G+Mf1eOwB=sN+TYeKi-EcNxbgFz&i2a61BkvVl|iw^`EnDZhLd@%+j!v-xy36^2Ctgocr zav>(2T)Wru$iqv3l^+zh=)%LZ>aObW(NQy))LGG4e6*N_30>GPUxRM@z`oGu$-yMA zZThI;y?xO-<78=H2GI^EXEEbdzVaRpcottjw@DeF;Gb6J9G%J3Z9Twnqdbf8mZ0v! z7f>rGrE_LnWh}8^Bb|je6*}t(SB3WU5v~N8cr%Lku!58Ww8M5LO~GOYyCZvm-TmD= z?u45KJ!zb-ah%qKem17{m*2#e`C9T)*ZfLG3)=zG6^&JwYf90n7$pr zEzg>D@022Xh?30DWP7fjcREw0O}B1b-`@Y;=Yku~C4_@aUY}#HJ_x||%GT1%=wpeiFF7=rKw;u#5*g*JMVR<1;{8#f-=KK!8% zIT39d3zz{i^%RL)wL5JOp*2p?CyEe}_M{?yV3lnn3gHRTAZmicw*}L$>4)H8rN)Pn z-l`&yjL(1p(CV@Pg(D!U3y?Y}o8tpW^g-);A{6NgW#bQeTJw6$!PTk+8Z|!cYTHQq z7#1=(3iJtw63S3ow}g-*sH)R4*yZo=knn{ILfca}!2qd1R=*p4ww1CxmDh({;QER_ zpkt)c51z?(3k^wpZ7~LX7qz1S|Nr*h1X#P|tncf0z5D&{{q~vB5*r046)(7K$4-cC zuyL@BLnzy+vMVm)a$>+q0YwtWAzsT%Oc@(YB#neL`z8c&jM>B@kU(Go!b!jagqRsg zNE%5ap>^iF%e&nCfB%2?dEYzOadE#9XgSY$`*ioyPe1*1pVR;D(`R`(R_x<^3}dx7 z=f>VzvRKt4llE~c>OPx~(SZZjC6B4k7>(HdH$eF0~Xhs<89X z`Qd19TY2Cw5H zre5;2OI-<9ho`&*{rO=w<;}8?G}?Cw)`7j0o2PeT55Ao(2sIXMVNtu-*Op|Ea5m?n zT-uDbtsEa8NhpGjYMo^*BhQv4(ZqctPmpR5HJ`Y%$L)ZppLd&Rjce2rbqD zqk5L1J&0hd%Yt3oMODFWxcIEW8vvaF0W2UGz=CKFb{0`Pk~^^CgoKrz*|9bS!XtOe zi6m_RxDcj_N>PAefSb4$_m14L(CsGMM-pUMp&aaB&>%0GeKT5{j}u|il+U(ki=2pE zjUYk51C8~P9m8<8oZ)$){<8{AloZq*%~R!9_n&ZCq_y=(0h$)lp- zR}DE9s?IqttOln!gL40ezKYBh$c?Q+z_S0Px0Cy}bLrwdZ; z={;S9boTko&52u2Op&`xf|Xmh4&dSjqfr@6HsnuqBs5dDFX+%IJ)bWHs)C#0MwxDG zISUNNR=(Y&9jB}>s3E|`DGvUXiq_5;eYvFu6twtozAYjNc4+U0Yin{bk zTgt56Gg~skl^--nJQ?K3lQsO-;jQ1M($KX&IPuZPtTjsqh_IstR8kUR6Zaeu$B|42hvyxqty4JJ+4z^K@pxJ$)6FuL8%?*$NB}?H+$ozo2W5Nr zl4Laq&|#RdxhF*v(^2D3Vj?A|XUCkzB~FI82I?t2xz1C~uboBZT5gllNM34&?*5MNpvBp;A+cc4I>*Hqr*JK$-|XV%b(dfvu*^$w?3ul z(0bq?kMrWBQ^*Rqq8qqOBZ)M^r5zAdirA#UL5E|VA4d#5@Lj_&Y96ivqQeOWXF}Q} zgQ)cpmOf*Otx8hZ z=VHw&4u+AB- z(^Bb=d1?-OiKm>ltPx3c$ftw*vAf7qE^I@MeA)(io2bM**}@yH@+=HU1+MX#K@L3m z%es2=6DC)D-^64A#x^l%)&IklNTg~mRRF!ziO)K?NL%NCc=i-?4OO zdVD+>%H=9YaUaB3Vp->d%_l$R26aH559!V3a;F0M)6;T#dQ?v2SeAsx0AT$t8Cy7Z ziKR_(u`yR|sQ~q{oOb?bU7EHB{M(@Phn_A-x?b(3+;KTo8?_jxIiyoutk#)neqbSB zAwHVqxC~}FXU65RW=5W6;i`;tt2g)tn!;TZvXc0M|TKk@nh@F@OStQ!tu{dd5q<`hgj3)XgdsuZ_^k zvul-bL_4{FCuxL91ng+_))tUr*sJo;N4r{o3UCgmIo&y7qrUQLgb?L9%z(j9JC6(i zoMHefgLe`mCzogIqaDLi*9=~S$;;m^u76*i?8!$oZDnTVv1aaNDss5;4J%`V>t7x9 zU>VVqaE0AUq;&$4cUDb41oX4nOaPx5{OO4RpZiY7C*|n)mVDf?gmGN1O9E0JE+K=&ZLv_Ig~kFJz*suiMq%0)KaMx zgcGh#oAX!wob452h;#%G*@S=XzKI$a@aa%N3YX)!w-92u*xqbbobgSa9soI2r{~H8 zT9qK85J00kCpkG_X*4K!*(bGlACm^S7&R0|QI)6PxXY^@oj}uq{o#ggm>c>+%5PP5S5NT55J}e$y zbL{CeIP14^r100BI+8qJ88{X$WRSqsI4P8p%~6D0(UgHMg;z#6%$(m^6z(SO$U6|h zXv79}Z3P3MD@u=!e3pljp1QXf8rkX+k2e0eB!I0UL&AOrTxqFobxv2%qώr@7W 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�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 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..fdf748d18ba6e34c094fa23ab33e0f48f26d1992 GIT binary patch literal 73840 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 CHZN5G literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..482b09757aeb1f5bb68c1c94e7c246a63b0db65d GIT binary patch literal 47286 zcmcdx^LHg(u#Ih-H^wBH*tRt>Cc4qYw(ZDP#l!1TZi#WEp93RWLAc@2|xO2lMr$#}ZE9>jv(mDkTb5JwAoG zZ>ed1Y^bI4z41CE`ioyiuOD6 zcc#Jd#=GBN9*xa+>K?EDiO#gkmzTvVHI0(fEjPQxA4f}7x<4TPAFc;%^dnd(D0cGl z#qy-naPi93e{@yo8JxDNgR({WzfKp*>P<%zPh*MsOqVLPRgy7B4;&AG>;!3oJ}+vx zIQG(HXuiTdB3%s(i>DJ>>^MxRa+tkq4GDQZKp-u&2hKtXnI1T7 zi&!^itVac0$xf4qqHtV?ayx85$4v$6evGl5!#PJRcd*M}`$byRh_ok@!Z97VqB`P9$3yaH7Ov!$J$Thne@OpCvJ_pWc9sg5NMe z&deEE2m}WHDO~85W{xzz03C*n3zWt&chcq*odQ_|`7MqFR>>j$b6y&+KM7a79b-^V z>c)#+?)g82r~hSXw+d~6vk(u|K(l^}llVk4q)VOoQ)|fj?oM$n%m(siaWlP&w zT3Q<73-wY_MBkb8@$nfkY6pKs-LZjTMkjI+ zavRHFn#s^ofxuDC@}x?#TkBV+0~Tq8)WULmU&FVw*g^bfmC=5x*zoT_?eeYoVm>xo zrVJHikLOQa0xsrFiQ~3e+WD5;6I#9YqCQxU4vN!u+KFqf9+u&k=gqV?H2etg#1C^3Mke{UPH~c>wwhpqFHI_a;U1mSnH27Ge+z`Rj6Fa;L@3QJu2)&onm zwvWL|Me1>88^1I(gE|HlZ_2qLT-l|?@(VDLpBo|8R{RjyR%TCyFjSaLL9sCaMdq?m650**8oQZb6cU-h|F+koV?a#{OGHXla&Q{yJY2oxA){(t8 zbVf_=+%aXpvO%YeD^g;_$S@LAnX;YeVw5eMl_+F&^?v$Qg)hBNqdMg7I^qRv+cM-W zdfpyR>KCaxFb85{L)OD=5`b=>2MQSr>WK_M^=k3D?mNUAx$xH8e&i=nfQlq?ep=1}3~-G1f`#u19Q(uNBWME$_L z9?;j{+{EoYowf#Ng5k3UhsCN4C*=BN6Q|BVV{zLS>)6K5ktUy|%M3CH$rjD$_G)8Q zQ(HsQ=MmR#4ehLKG$An|PH{muQpOks%{1?-GQlKL!jo!_R?spoVQ-@S+up;bgt$k8 zvNgJrvO0(7N8z0P;}5-nL3ixeyiByFQI>9f6>XZ#heNUi$DZ=Fze|7Yi+WLku~UZg}k8(fAG zma{Y!4s^s|^8TM+b?OUZ()qU*g1n!8XZ8{6qWi84Y#cW1vG&8gf^ZT1G~TVM zLp+Cm!G7}7Jik;NviD@4>f9lSg^7F_g*bd2a zsnk+$T_%Wcf1x#tX9tv4XQ$UnPnn92fd>EZD;wq=#rqABIV#D|Ey;nTt*NjsE3ztE ziPV34q%s_);ry9HFBX`XB15WjE)H}lk7dy2V;?&1f=}sXBGQHdA2Z_$Ha@w33pR5( z!mhul0_Vq3Xwox(R&DNk7P@9>RM#+Kqx?OcYGw?1?_m#9)6e=)`r7?|%{oY$ldYA4 zC`S5-w68F3y_z*$e*vRDjXldpyWwCdWcdka`sTKVhUP!ff%x9-kqSN_ zGF9|bWu|C{d&V50Gm1`z5kJ+6j-p5w#f=WSG__E5B50y+nvGW+PX9t6QJ#t_TV9qT zfpadbfHaO~R-`!cA}dQRfT_I!N93Is`kc#VrPkPyna`WAvN@#oV1x|9+JK>PE6|!R zSKlJW-(gLjQ7f#2H@ex}6oJE9Q$>ljySfS}z3|TabQeksI}m@TS6aP;xQ1=>_J*4_ z{7(81#(m0l4sR@Z;?9&C3|7+43otTM0cETy@rY2Oi~5#7bpkk|O3!+Zs{Y_?D3b)O z;c^S~9jQ=V4ud9b-VE8Z@WGMQX1Ig(0yO@nePKtQ?&l{kTB6^2X7-)sn@g)xOw&)i z?axp@gK0Vn>nyOqw{C?=s|1uT7DT`hOWXy%?*0LJ3XeFX;dnmmaFrE>auva>BW

x`lh0u?Y8k`(Owr6GV$i~7AbfW{6 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 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..4d98b2d6b8252ec4554d33751e1c4877c1f69ff3 GIT binary patch literal 92708 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 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..01dc38edee50eec5d359f7c6e7329ef3c03ca746 GIT binary patch literal 66369 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�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�%qcy>OHC7HJxLcBlUq>{mwV{(_f(+R(Bq0` z_d|0hH%{*nGl}pQu`w^j1nGL)RD$fs zt)nt(U1Kh>j}6CB(IsBcZ*S0n;fr;)~~i@@L9(WMbkbQuP}kGksR!d7ilACUT!j%N2g;>Zgnk z!toQA?9>0*pZ!@}rl+r8^EkycP(tpnw2NVi5W(kAe9BFmaM2oqo6584{!R9ipZsLb zO8F(>JO1t8{_WD|Jm)!arw*MLosWpvbENaou{dFH-F4T+Ru6aHAjzvU#yNiPcMLc> z8u5|%byJ{TVgYr~yrbrwTsq|d|61j$7PqCoi2Bzizd- zd(!50Ac2or%fzTl%;VPSD-ZH&^A$t-3YtmF+k3L&6F`ftS}@O@#%#y%piBDR4)ykH z^)&b$+;dkiuv47aPh2+NPIi6${5D(L-)T!a{P{ac^Ye%CwXs*2cu4fTBVcti+RFwUC}{-sk=fvIVU&|IaZAFl<1ARWrZX$M{^ zbBzIDFye<2l3jXT1u+N>22tH9kAqv7wJP8b_c~I!Qy2j0V2*ODdQLdqJ>6dR7Ta@R z*rnKXWRatWv8^+mTs^;#}2= zc#mGx7ZUvX`5m_0CG1|LWe!}jwdB%ryuWb837&Y->fXWi;f9}+Z41xS^YRH~o)dUy zSBI}oko0jg>-D@(@yTdIpG&swPRw4$xcA=DPyLY$UH{jvgy5m$3+dO=<*6J&Zm7P_)=$OU!%ww0^I?t!O%141rAZ+pR zGL%O1wx(em{6GvAh@FW&Z!^9pkc6MQReC<^x9Vegf5aVo-nZn2q90@Dg(&;O; zY}Z_KP4vtBg=`)dCATBN;liujjlwBk%F8O8ZQ6C~*2Rh&_h&rg8FTV>O$3D!4mv*_ zA@BU^_eJ}100Z3Sq zyg=&Yt{47MX**%}X8i4pPPq@{GXl1My7^*}5fNwtBvo(}|I7i)x%P zFV@w`r?qOs-flw^kUbJ{xH?%@t%B4H>v|h?xum_kt70cD>$T&Tbla+4v!$;3TSu*< zGHk8fr|;ppM6Ko|KItm<_q|-4;g58^oE&|e{*iOf-qUX3>S1^9X{*J(`bYKp1kRPj z?pGPF+R(tDSIvpfiPck%hN-nVse7BGi3560FUX*6s*g58|&sGl6G>qHprdAazObVEVZxq6DOiSvsp(myYd!{jdLJANj~f!X2reIC)x1 zN9yqcV~TOYb;>v1cw>xBKs|VO7nV7MQo^s}SLMC668iGZVB{G1;@;fI9H z9)Esv1}Q>Pz6K6{>>VQIGgw$sGT6uif8_^qvd_(cuqXx>TT2}KJm#2VViIZ;&x1CA z6D?(PDX^ISY~iJ-o7^1aHoaY>G6u=GJB9ET4DxY0w7%XxJHQQ?P6}}>yuK+h1&G!q zW+Y**3s}(KW&B`>&dUcW*SuY$=sv+fen_DnhO_ycz+vi(Ie`%F2IaDmzv zT{drWI4*{Zi_s`Wl!Y=fjG|nOHCD){pMLsOy?8G+ z*QEUEr#;8P-Z*4RN8n{E9R#Su@Nx?9%lYi>v!vy#LBg_qgESAR6Q03=Ka&70IFP@^jN=quyT_dD{Aj$BdKm%|#Y4}i!zsT3)A>g09a$fu} z30pl=(zbiY7E4ew7msz>J$puN)4;e(&0W^+;x^QlzBpx%+dC~J?~xMudug~evp%R* zLfwh))3r|soikPH_*!GDo``O+x``24G**{&s$*$U7wcXWT8*kw$h5;6#fp33iS>2{Q$=d4u&{hXJv?|%2Y$RWgN6wKvgec!lLa7csYYnzuJEMEI|aV{)qXxm1C$A%@kAn0 z06zSt{$`B^L6x2m>srow(hkb-M`ze-Zf(PkGSyQlMFww($1>F%hz2Qv(x)q?IowKv9s1KvZbB8 zw&gklwt>hnwbzVxjJg%J&iJFO?ibG>+QY-v-NIfEgP9co{X>07z+Zh_lL0~nI{n+n zh5g#E{aTPdTQ{6g1Cef~1I$Gw5-i%AeDXU}LX%9&Mvdb=;Gg5v@_!;=c z96CoL&LjnCfMMosKWE|D%7O5aupx1s*Jp`Lr($wYC)4s7iAd-3nIv#SH5v%GNeMEe zt2}%gaMV#p#T`F6MEJ@hS3=Ppg5l3?^$@c|o+coT97>1Ke2z5G(rH_VoPeF=@7y+M z_w5;ui`sULn+^CXVyvyx##-8K$X5(I_6=CCkAlU0eJ%v2^ri^kG3ohlIWTGu92m2> zKgZn$M=N&!t^vDc_n_Ul{eWG+Wx%d?{T7$%w~U(Y_dLei`pionMBQ2Qj3*A*s?G^} z-f=7K+@qJ+(hev87GIfApZdf{%ds04dp31YSMK}o>hwP2o@#G(jj8(AwP>1H0Zg|| z)G7MSOk!6*1W5bXA$#6K@rC#M-~WEQ;)*L`>jroAWgs2o=4K$z#|zXQMfn-CXP$Xx zxMPR#zxTcGm4rVR@#DVb0yjm-2G@fK`N$!W0K&uE0z;$bkL$oFrrhMSDUj z6TWfRJt5pa6)s~=T9a}?X!Gay+Tf5+n7mtc(vQ1f2o!`AGQ9t_+JsB>I|jyWXw38B zjvOaFe*2Z{2&&%BY@pJpHfI+G+Rg8@0{DURW=~s8{5{!3leCY|^$* zwAjAM4jZibB-Yv;7rODo>%?qx((iQ1zindJmbMJ z{(ytyX`9MKC3at!AX_~?(*3(t5a{UgSd=7%#q( zkMXEF{mQTW%AC1Ixg`7y+>H-W(?O8b)xlA87M8gDYR}W3{`8P|B+cUniL>NYCxY}D zU_hOX0fZmvq|%_8X_woy*==>5{358sebXO) zb+>7V@SP&#P3&}9iIp(B!8NWTz={3oHc!95x5swvAF^R@q8jJnJq-vg#qsv4+kH)7 z`$i^hr-yxT@1SjWNqfh@sBPQtQhQueJZN|9IAHhg8?*cNkJ~`C!%3P86P(PP^pMJ7 z(#V^nBXtT>b<%YSyE0}cFJENKdeZO7QUWeNqqGp{&}66Gx_!X*SJ-TFGOt3a?LK+9 z@@E+=?RteIJp)SJ#uW_{G6#7MfUVh+_3Y3(q}&N z8T-RO{KHs@vQ3FQ{-BYbtD>9ADL?EgZxMOC9Jzb0jugrpQ0H^cJvYX$+Jdn-SAHyo z9#WzX_QUf|1@TGY2BC900g{K{xjKRE9A4;hVG|NJ;W(y=WJG78gP~X%5Rac?gP>V0 zFku`DbW-K5GO6PVYe8TRI-s15T;P5#sZ9bP1aKX7-GA z*aL%;c8{yO1}d?Ivd8&(m>fDfJ&$xul_I9SekQMJ)$Rr2WDb|KabM4I%NE({MGM^S z#2fKk5}xz~y{xPv_6&{Kz?ioQ?cx5M#)(rhZbrwA|Jr?$=-|b#lX_ou#LijLVlO>y zg+1@Y6}Gm!)q1@TwEL{bJ@}A(oS5=S1LBRgug?PH9}{lfj6c5{%sGAR(Uz12GjS+G z6e2;-O3#32%m;yhd`M43j+w7wIeGKuH@_Lui~h+LP7cBX(xhxk`$#~ZRBK!7MZ2QOS9YWD2`M9*~x>8JhD2>=ZSqy}9W z1=-W7(6RHSE)xfm6n4b{GUslBh(K{rl#7Yv|NX!J7so$ye}F%OEhlj)CL)E^i4BjD z;?;Hcozmma!$A7Uku+1fN{5ixL0t<#>ggW(ls7*~a?G;%cEXZwYvt^`OWOozJ3|V> zhxoCu?GqQW;Q@hhl`uM)@GthmU212oz(sK$4T*ayQBTban9}pI^f)n}xTrgRI`qQ6|{)+ITK2Zc|DZNH0`X4U* zV+ra*TQUAlJn_V-_Q4G^+dFdwCE*vK&aTeN06;<5NIsm5;i5I2#)0&a8X$M}=lS_I zCJdx_z3if+p@_pvBRUuzFF&eDz9RHSz`v*f zEwli1#vlI(Ls-&H+Y6q)|FLC|_V1@jB91CL>9R#JRZiD9PKk7lOQbP2Y)3Ecx3%+J zGG{wuI*9x3^8qEvj`AB>@$+joud?6T#z#DFRtFT8cx-LahED3+5 zl-cXt=A`eoB#ryT#)?3o1@&yxGf4dbC){~fA~O_ykas-vN&J8K!ym@U8+|y%`zQJk z(DOPJly@`CCXL4elv8C@nRwqtn*#KhXuW;r3R2BWOyT7(e|hZV(^2RQdFN%oVCQ8m z+c`i33PQyla%F2sor&;4xZ~-EJg}2CTRuzx?EhmX9gs`$jr1J3ACt(v_udIU%b$*yTx8HA3=qrPZ-=pI7v@ss}oa7rVfR3qmy8}lUYw^m+ja) z7*{CsQB*J^kzjK`*oZ($^uOmBe?D2#jolwtp97HbgIHq%a1w2;j=Mf$%eq?Zqy=4e z>Z&ESth3F!ebQ+&Ru-%XQoD1dbEUo09vqyspKjW1`)aI3sB3z5gz_oC3o&Vxu>-bf za>$;!c9A{fs1@U>k}VIkyc3liJ;lui5IPS;l>0< z8+tl%-;cYJf2835#TJ_X(GJnn4ptw8O_M$G(j-masJPIgefmH7lRt_6N?)Ojdai_x z=XD4a{d0SI=7+{?!aUMo93p6O!tRVS&ImWgEMo-W>|O7A*P$!@6apiwLU+b1A4ZDi#kki=}bd*@=jX^3AjUjiGHLK@QdGp_23c5{~c5gx8f4g zdTrd6^tRi{s~5%<27K)bkjx`;0jU}MKmP~0bIT-Ykwr-Lcst>?PL5hfZNwI}kK3^e z+w7wC%k5dmuC8Q>IJs&t5anUUSX~c7aRwYda^c(w88=fX%*pnwbY1ZjKNQ>uJ@%|I;Gk_qJQ)YSLC7mL6ooV_jrRc@EmB1XFTH>Q}5QW&!w##p_K3oc>6EB zeIxhW(7aNoz?ZWu zxwYpHq>C7clamDgxdN0`A9(SefE5W)o`S;XI*RxxcX2y;rFe>qp28}w*S${a3YWhA zoF*f}gh=#|ED3MT@BEMRzu^4AZXnxy-^|wse z;`UZs)!Si5E$Fn9me052mM*ZP7Wdjxm*{&Yoq&B(skM3OP@ajmYNW`0IAg8twq>wl zSKqhOwvW4{&%V3o!HZ_{=-}F};S4b8;f5k!NdF#>7ry;{{npu)_7gQQa$RQ7$Q_;hSurqyK>8|! z{EJW=0XxBx6N5CIX8<=PMO>weS@zhYcQbWFiKGN#Bm#4P*Z6_&-kx6Ddtkr@*@B7f zBH|ITSctma^Wj#^vp1};576?{BpWH!Sy6Lcc9) zbvGuD2`{TB6H>URnaCa&5wx4@+7z(6Luwy9Qk!89cv={v9hn6^Jnut9()_iz@uT*s zzoF=3J>BU?c!q|C?XvG&W`FPpe-J0Q*t$WojptB@;>is39EJS3=D;0Adgur_5=Jzc zXiKq}hV0Ey%p zH78}N-P6}$JNF#0@ku1x&XD5S;~=H_P_C!pF0QvZ=^o=`Kfis_y1ZUpoUgBp$60^Q z+Nm)EP4eCb6h-d3Js)urK~mR{R@VA8JHw9D=pn6Lv*^kWgpS9mR**5=Q6S^K!1 zy|UlVU%%XzJCC)G4|_xT#O;JZJ5g&dqATjcpSKSsPLAm`k7pY`(RQRy87L#qZ8ElR z+!B7F+$PYDYBSOR?Oyg)-XweaR7t`JH(CDa|M}B6YFY7qhTt*P=AMq833fq!C+`G$JIOrA|10eLb1p@bRr>fvuEuSlS{^hH9k%7_mbUfH@3z;dCERIX{l(GQAahjhsvGi|E2NM)pO z$sBs!PY}UJ8~I=QF%x_se_u7aS?zb*ZMWE8|Mg$l2S50sIG&5(Kwm263-V_+8x+eW z;4X5fUt`zSB<4IHrE#Qr9|<6N1gcX{J=OlpfB7#{KYBu*=&W*R6T(qmr2lVx;~R5E zx(6lUH^5uo@|KNA+;nC@XGL9m?X~fum5xKlrsJ>`!z93Cf-!vWiP!1A}AnB9%+U_+$Pc+ElqBM$MM?ciGZ; z-PY<7Jd$!;SAdVRefsfnC;PTmn{a7(w58j&k51Yx5AL>`wjZz^<1IGc;-ugt9VHka zwf^e3ow0I}oxN^}9lfZ-`dh|*0^saVlp^ZKIrwNtPoH*xv?&)`SyUgh+9yiyjw*Ld zx^9dQ%BpG4TmDiy6-79Jf0geG+@0`j=b*Ea`_eyr$$sZ|e%o%i;l>a$w4D;=%F-0l z^O-&JxPsgyK+w9CTDVADs=N zV_C_hflhpuo=hH0BKayHhureKK+z7kgZ@W9{?Ux9lqpvbv74!v$R8+;Tmj0h@cCfN z;})Sj0Qy0L)QJ&^m3k+5UW9WAyu%51!;)TGGtY^zGB#CCFVS>Zz$(Ji9d^Gl&av0{ z=@AddhJB~!-`!=C{@jMzyKKwIq}{f6)P8*bZu`+ad+qLlnvHQkPfRGTwMT)9K>2*>`LILOKX)mYNuv2F2 zLC&55m%!z1%Ib%9;ZiineX4316dwTs!s2;Cs=ZFC1N-;eH~;yc?f-k{JMFLj>T}+A zX5O4i+QcokyYhc1ATIUFK^{CC`WJ$Xwk%bD0ejKyNKlMN9w=?CKIb{lvDdxsb#W6W zWgz)Ku{@=$~YF!R9`9R*38PR;~C=i!4VUJ60x>ezIA zIv6C5T?3EK2pNj(H3*a!QU_Zx#7A1n%aDUO`5++u8E&qLAn(2BUR%E*eGyFF#et`? zkr#d z9=X2#kzSIbw^*l3^-C8n@VHLm?l?HnVgoL@?-`!7d-e?5EnD}-eK=d(K2Y(rT*`MU zjl5bX$KwadSNFEq8Ebm&)D`n>X_u2_b=RauFn5|2?ium)OomBwn=448n4Du`9;uE(oiU5DTY$-VaF0iNXU$ zGCG-Ez6S+$=aR?0&C}6C(pcZ3?ukvJ9#V_3D8D>Y`h5KRjly7?v3Vma+$}DP7v~$q z#(AEjiFIIwm02H-$-VTdQdrXX5B)vS{EiVi#CEP`rOjgSctrxKL#C-cl6yg$ad--3 zU9l8fm}1B=09hDBe6$DNhk@(rpz4P86KP^_FWvsiKA>=_wKd3%ws}A}?zzZEU5?zK z!EOZry9=C`Z8EFoRH0QKBKqodJcZgSch}1)ZI<(}#R)$B{{Ck!R48V3~n6w+QcCTp`%l8!~QrKprYU0b-Vs`#4GfbZLVgluNy8^W)L?rK*wwaLU_ z@~H4}HR%V6C675HD$j=)D_cwGihKjtRLkSl($RltV0+o{jussv3R6u@EG9DkkUHUW zokwNOm^8fnL0fc+DY@S64Wy*fKM9DS$ikQi&& zk{nu0txu!r%DkV`#FBV9Pv8grcgn8_iI(ux_8aeMp1~l9TV;^cf zU+B1WE&K=3^=2L!ejA<{m0?@>_S9bYw_Fz$nV>E!#dOgc#dQCw^1B0xSQ&4bfCfT~ zP=B96Bz`*(q4(Ifn5S}f?SL#kqBr(Tks8T1bjgh2!tKDF|2!nYWi3ui zPZ~vI`kf7~tl_&j4YQX9sJ#C~+QD|ive!%SnL_h3iDVLh6Xz4~boN!K3OZpzHWo%_ z)^4!WHMX+I!_PjAz`N~NUJN2SA=KJe9{MfyV2 z$X|O|rCAQ8?|x)&4laZ!0;4lC*K>WEQy+9%ZCR86O@v=_E`CJzq>-4I7kuq#uvxPp zzQa31YNSHi9$xUrSfsTk%>JQQiZ&1YiuL|O_$$hmAVp}SfpqWC~je^t72Gk_H^ok7=x-Ww3o7`ZMU>qAFK3G&_BFXJG z->_Qqsm@;>ssVPpcWfe&sZnhDg)4riWPl>zT#|}s9Ip>hGGR$Ts|rUyVj#9KqqU^^ zd1Gd7)|!+4&-|UCVuiTCON<;*K>KEC!uON-#aTFS&i$N}-ao}3HPwtCRXZQ=7)fcuBqybKA7n8fqVXnj-xX7%& zC-{_&)PVu*tQiVDrY$-=$m&m|jOCApaV_O`_w5@Fdd=f7_5jkRMC0}xV&{U*x}133 zcE1JJgMD?I=pxsx(26}y2`e*$(Ew?T{MYO-GAzL|(yi?7Fxz2cc@AL-*m$?-9F4oGKG?3}n%vV7WKw}FWIW*$?W-CXzY{Fe(-+hYqlE->`dA zN;QY%2hi#Tm1EtOt00@t)v14=HY;_rGjF`FfAl6<(u8^5dhjafpF2(cw#- zz5kf9#C$h&GQgXNATLPlz7UIUp_6g{{(!b?eo+B4+yqH;h1gF2W(v5XIe+|TJ}?08 zB3@txCuCE=Cu`w_jVl3$Sw#7pNmx&yh<;-=+Lq-l4V&FQLHJ%VX{uh>b`G%*mUad8 zeyHC*`<8At@TJb(l-no)fN(kbI4qX<51n{3dD#9li-Z27mR`LPwj%fy_=20<1vv7o z^_lOZH7yt-P#)OYnWfh59 zU9p2rc?BEBjR};{7wg$LfC|*@zVq-3Z{~abz)O7>db9!8jD#p?{g6Pa*Gh%^7RT0x z%v&2w=icK~iMid;uLEguo`%il3KxCDH@yT?@um+-l2DPNj9VKO$8O!Ff5Ap(rL57l zebLm7RPCqXo*Us*>R?y&AJ`BTcu$k;MMV%0-wSvFYL8Z>qZly7Jx{Invl?%!K~AX| z(f*@+cO-TxW9RD#pwznEGigVNSIF$rUSxgGT>>VlFYa->b>5Z9hbDK;q%aYZc>JqM<3XvBh|QCe3_i z_K|MDU14zx8lNMhS%}?y|7|MZaV}7bZ&EJ7RDy)!9D2!u*z@1=6KLkt2;HKLkhJjzW3!*dFB8$B-5y#YoDK*=!Md zD%=d#ICr+geWZ@x6o-LDVb~^~p=i9MhFLbolFnUi%Em6jjxfvuy1=|X0+7D09P_*#3rks@(ZfYA~Fmv+6|Crg47WzuvDtlF6`Sfh@{|1Zn9ic6mI`qB6REa}SHyuVb-n#<21_2KX6#{+C zh@(f7!=;uN?K?qv__ruSW4U65eGOX(Va!(Y31kB@+1UM+Mo2 zZ)vyB*>*i(dj3PE8+W!pdLG1z(4;TILBj9rT`5Kiq$62gJ!T0juCFHv_9t~us4r$S zJ9X!Mb!#hOCmfW3>RY3VWV1(~$$gpm!ttQp4IsFIrNt=@6vzpnh`o~=Fe?vN$DGi* zDLB{TOlPT%Jz8UhIc>*orqi&Mtm!aqP(@194%S9-`ZaLGH%WfCqL?wIHL)JQ&Yb zbR!kj-VMNbR8f*yEFzQbL3c#g`opV~4A*c&u(QA>L*Wb)kbo0#?7NUx6Rn^bWq(Pj)48xm~bm zM5L}nlAn#u897Nn9Ppz)-Qx5;%;<$YxP?G_CaM$nNzD`X5)Ta)P;ltH`YEj!8KSb0 zMr%RbH@}5QxjrCRUR|}m`iZOLeJ334zPtY<^;Oy<9p@CLJfiNwHJHX~;VzV`&KKz6 zDxQZUXSSs;&p-^PC$qK-CW;r5FCK``L`i(QMBjTaSTA!ol}cs$<`jLeamCZH@SvR` zGH5z9MYW{_+W{rz`)DD15w7YbRx?duQ%UH^0*=mY?dwe=h_>ngmp^E|{fkiog|;sV zC~E?EfAJovsaD<2?sqrhikm|#CKv)N*UnByNr4WZB65s{itX6RkYi(8lXmD0a=kBi zUu1H}evgEXk?@baYv$Mvu9r-NxRLB^1l{;m*Q{}ZH`|_D*NXs7R2^IFp35}FOJM-o z?97%9>u66(6i`c{2I=9IA+P)faaFAnT*k~V{EK&^` zvxB7<&*$t|ZO!Omz`vD}?i6<8zw2q<`*|2^CrBPW5+=1)WUCkb<-x0eL8Ja(oO-o{ zRW4@o6mbWmu+eY={I)(lANu~{qP89?y|nst)i`j?P9pV)6FCv30f^Wmb^nQza0Ndn zV|ytJ+SW8EM2AgZxzRL}=;q_L->;k)``p2coeDRBZ#T=(t{APb-T8ozB&f%?OoI|R zK`k)!aB|Sp*`!Nxz4;C%A3E05Zn$$X@giNHA5y@FUpPXly+1G_hh>2GYf#@~Xr%1z z&?>=jz1F-tr!=}ikpg&#+!vwY!elW8yxt{YDJA*K%sH42jJ`Nv7{wfR`|fHo_j{N< ztc@X}q5JidhGX8`GX>xBWRJ*)f4wX9HaY(HCLIopHvsO*8*2Xs<;8*uO@dma#q zER9z#Z9YBUoPjiO^Er*xe)EhnC(M=3|5iS)cuB*#?Azm8J=3TSZt$0DnS`>>Ppo~~ zeoMMuEIC6=%j~63N8wU4J&+-@gLsnS!VOHj8C!c8i>1pQKZH&6OLjhNy?VI2Sn%C~p(W)WtZpi$Qu8s^&K#PG8vJ(=KCuu`CsVFbCwgo}#69 z{XTsuDHaV^d6)E**{A;r^kUPe#F>?EO0e5G8}Il=FgNCO>U3=sCvFh>Y`x?5CNd|2 zS$*XVW@;=X--O_hv1Ww7V_EvD7SI3D&%l1z>V^X6Mr+?QsT>i~V^;z2& z_)d*AbgpYIl_AZ6Gsm?2UCU6^)31}jHP4eJ3#keoU12UD*FSbYBg?2i?VwS9U(Jf(^kM^q)NmQ7#mj=$`1HtVZH~43sRvLev;d$?1h0 z2=SBF^TXqolQ{gzQz$Opps_oZkn^d2#)1#in93s6HNq&EI*;Lqb>mC_p zb5p?hG#Icc5;(nj-EI=Q*<_!wE+SDvHawlW3$%09GQ?TQ!s=EB8O6WmEktk`8d?41 z2@E^i-SmJ-g#Uy58q1k;P)*~nZIAP`i<$nk;8tEt`>pJYVBXa*>f{uW-_VEWtqZE_ z>3R)Dhhv#<5u?n0!-`FQISjUpfJm`@11L57k`^qZGtj-HMp19~ZY{1!u;|bHYYs3jM@CCZ3{f6pnnsU|e&q${ANF=JcP+4=q4( zd<7axZr!_3zHK#G51=!~cuS3gZC+y|J~$?(D~!k|;DUHw7yytjl{VI_l35CoCQa~i zv@O?)wRSpabRQb&ZxZgeS>nioP&hY)VZX6({kC`VZqO6T~ah z1S+D;$#&;1{P3IBsR8=9ZL)|gnu^qov0)&04`#5>`m0Ap%{H7!#q-Yk)`Io0f4zH= ze?(~@O}gWWL$zh9U9!EUk`H2)MQlmu6u+0aU88z+#=s~mP(w}x?%x?aG>eB5XF1nQ z*9_D}+`jYB8c@ z0DlQpw_XSy-D{nJDZJzlF}R!Ra*60vrhOy2cR^4k$p@wr5pO&0C)H(G)>LTGJyw)T z&;+Iz{F+I88;SEV-OqFfi7uE47Tt4Y~JDb34}T_ofa zbS{Oe{g`2sO=DT%89sP%zHf|Tznv7`T+$j@Ls zHf-}#OKT77Q7#xscD(ZhvtvLgWj!o^+LqZLix4ap4^`qNz<_DSMc@w)DjAbVlaqqV ziFk+;h%CnsKI`6;Ius772F&0GE^CYGKMmAs4$=y4$Zyq5QZP2Zo9g-`vYB&nm!@MB zja|4|ghxLUia8~CR+o^TDVv3Ya6NL>-cUGndLDOL0t9Yms=LEQ;!@Rf`NB2wWNrkz z#gkTgytB(&3=a)#z^0sx_2X%;KAF;I>t&XQEEKX7LQ?ryW|ZPyW=J`b7Sc zE4viJV>&Vq7?XJ^7`@2!YcctVTCeef*mw{jz{LArMk0^xPclHh8keDNK;!9bd4GGx z+cb4Z7R}L90maNDyItec0|?p+$v7SyaPqTX_VJm1H>AC#@N4VcoXI?L`p$?pzbJOr zOD?jH{z{n=0X0#ZTtF_4-i&~QyQZ$IBu?u7%eJp_Fcrg#Dw)ogmsHk?A}DV3g!LU0FHYV z_CG@eGq?c6x``BT>g%~4I*-x?t@Fi0%-t;OM|EU9+R<0l=7r3Jv#q@!;PqTveT2Z< z?<=Oy#RFD88$z739ad^rIC!l2I{rn8mn#VnV_!-Z<{SM^J{|N}2?pdEd3*JhB}q7C zUsl-k2~+l}NaQls|OGHw%;BgDa~1F$4FTKF{%AgO>dzfOQKwyyRdizRzxl;HlhoAuhTtX z++|u!Z1%J^-v5=jkbD(U6{_qfEE0P9iAnfqg5-u%)5iCN0Gz-Q*DaKzObeT{rKzT1V^3sj79j?WfEPAQa^cF~k}%ObzXRp-(>j zdz0M4Md}hMlr{KIDBF~d4u886E1x0u*+9iQnJMz7lx4_cIt>p8M&5G)kLj(bk`5U$cqI&5+>IEcVLf0^7011y z!{>K=@98n#&!W#VeNXwVn=Kq2GuAYgzvx!z$1`iH=Z#r@Y^!xK85R54$4iqy>0`^? zTZVeGP>sRqoJ)YVrjNyD0mNs4g_b6>CR6yRZc|-)Mcnr;YtMh`0yu0t%VXRwz`6Br zmBBC&cIJ5MvC(<|Nbt{Znw<}MSD;>72a0KK8 zQ@}$WGBi25Bll`|Z&SH&pUpOm;hu?JV;w)S6vQ75SzDWyKB8FUvn>C z+r`u;c9*-by07Nay8cAr)@RNRF5gbJEE9+a9$%#YG^%UVJ9av$g*`l>_)qYbO&r)w0V&$grRXtlpOkFpvc~h`T)S|52C^~woE7M$bjsrvHgLKSDSZ1x~2~G!}$NfBDBCN9wJai9WbBAco zPu(I5W~$H+N%*~TbXb%dwbQp+VO{a#AAGV5zBf4M5Gq&W5NcyFqi3Ao5?m>oxoHw1 z*y%#)w>+@>gdz*x4C{Z*VwBexv1YOl8<3cCela=Sf{W;41Ot&+&ql1Lz4)g=>GKR| zubTy;=%H7CmB+-mYC*;&+NI~%rwAEG#b;=K-ez>-zb-9tH&b8f)CFVmJAa{H~KKruC?dKwZ@5|y?Fu*aYlN5FxA%};Jz$yF+aJ^ zGCb%eGMuVr*^>J!lWkC`4svNv2|{S&gS%39{R^4+;57)-+0K3RkU~0^Ud3o{5;W^@ zJB(%SmWPjeFin2$SqZNgsf(;LJIAVx9VXS`9h4&=nIiGYYJcWMc5E=4 zhY&lNPDD`*u3Dn*shFD5rARZ1{fzsq&cf1?#E~rLVpWx=gyXGi%lW@d`wdut9sEiX zyx!8{Q(4^ty{Wwsp!F6TBT#}_umqN27r9L`&il# z?b=Phs18)Hn0Qme@Xba6>(De*Q__Ot!(Bc^3%N-^un->Sz*yxFrkRlq$TSZre>`r+ zp&VC~KLQrvl`4EDtm>;KuIs;T3Vdqc^==ulFiXXf#d9V6NbpP0-g6HTFA#q#{#1vK zg`+Lq+XE-LQeRNtuzF?7BPA|0MQTPPG*1($Y)b<0T;+9sSAD1y-TI~1X8kPbmz3l1 z`v3)!IPooySHBD1@FXv95k<-wxfPv;bZ^1Yn~Q~j(9LEVubKJzl9jEkC(fLku(rF| z>bL{8CNz|gOa}%eZqQoEuw~`1N6e9U4Rl=8Hk5D~l)CazpR+hWA#Img@hM&PYQ%50 zzfGitaoJwvX-`FBvx(fko3p}~VVMR%&;!p?bEQ9Fz)2`&gH!oKaFW{g)g>ddAN|Icbr_aY_;(+~o`y=_ z4Q5}w+)kEzBp%9si&)K*?;iEgk5a-&H}YI4f`YEx%XZ1HymqKcEPj!4D5J zrZ@gGMJ?q#4CV9=ymq(7;_Xz6z#^c)a?YkikCD^nd;x-<)|J zK_rgrT{!3VCr~A7yc&(JH&2$1X#>A$nEdJ0<1?`qS$+&!X|k>Uw9&5;{j4*sfNq&zNEwS}YGkCzR-8GRQ;qd46VA+;K31oD5 z;sbJm6#M!-%6&+iZOryPKsQ@Of9Fde*UxXPubxa|G?YU()$e?-7Lq`1p2OcSA%Baf zKVRAZNv!l*+JoF5Hib)hE(#nx(zq{vxVEpQJzg@aBzbEUuS+Wj($cuYS)!|$7#BaN zXuAHcVr@AXr6^pyFA(m^xzHX8o!CnapBC7AS z?{5E6O>q(cr5D` zZ5*M6#gd3Rvwr?-=!@Ij(0r5QRh%YX>2k70ko1wTkg#ng zsZTZ1GSl<0E@#=Zc%{*Ieo_3c)pnL2)07 zZF0AAb3luF%ePhpF19F)_F)HqdIla_lgE(LR4cO7y)-;<`jP7Qn*2>cNho-7?5 zQzZ${tU#GJw~zovQ~kXm#VWGFh=%7Lw4o*A;fZ9w+X=^~Tr4+!ETbru=iUG;-XQ;7 zKlp#f%Xw(T*Tke5Tek@iriW$cx?Ixt)&xIl5@a%(Q9>maO&Du_�+Y!a6avr1CY3 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 actT%7o6>o_u literal 0 HcmV?d00001 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