From ef5c6b94b3234f053fcc2de41fff5a99b77561d1 Mon Sep 17 00:00:00 2001 From: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com> Date: Wed, 28 Aug 2024 16:21:17 -0300 Subject: [PATCH 001/146] fix(release): Fix install test on release (#10256) --- .github/scripts/on-release.sh | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/.github/scripts/on-release.sh b/.github/scripts/on-release.sh index 992f68fd38b..e0dd7b752c5 100755 --- a/.github/scripts/on-release.sh +++ b/.github/scripts/on-release.sh @@ -366,12 +366,9 @@ export PATH="/home/runner/bin:$PATH" source ./.github/scripts/install-arduino-cli.sh echo "Testing $PACKAGE_JSON_DEV install ..." -echo "Updating index ..." -arduino-cli core update-index --additional-urls "file://$OUTPUT_DIR/$PACKAGE_JSON_DEV" -if [ $? -ne 0 ]; then echo "ERROR: Failed to update index ($?)"; exit 1; fi echo "Installing esp32 ..." -arduino-cli core install esp32:esp32 +arduino-cli core install esp32:esp32 --additional-urls "file://$OUTPUT_DIR/$PACKAGE_JSON_DEV" if [ $? -ne 0 ]; then echo "ERROR: Failed to install esp32 ($?)"; exit 1; fi echo "Compiling example ..." @@ -386,12 +383,9 @@ echo "Test successful!" if [ "$RELEASE_PRE" == "false" ]; then echo "Testing $PACKAGE_JSON_REL install ..." - echo "Updating index ..." - arduino-cli core update-index --additional-urls "file://$OUTPUT_DIR/$PACKAGE_JSON_REL" - if [ $? -ne 0 ]; then echo "ERROR: Failed to update index ($?)"; exit 1; fi echo "Installing esp32 ..." - arduino-cli core install esp32:esp32 + arduino-cli core install esp32:esp32 --additional-urls "file://$OUTPUT_DIR/$PACKAGE_JSON_REL" if [ $? -ne 0 ]; then echo "ERROR: Failed to install esp32 ($?)"; exit 1; fi echo "Compiling example ..." From 564612dacc7310a10b9778c5389c15b0db4192eb Mon Sep 17 00:00:00 2001 From: Me No Dev Date: Wed, 28 Aug 2024 22:45:33 +0300 Subject: [PATCH 002/146] IDF release/v5.3 0bbd7281 (#10258) --- package/package_esp32_index.template.json | 68 +++++++++++------------ 1 file changed, 34 insertions(+), 34 deletions(-) diff --git a/package/package_esp32_index.template.json b/package/package_esp32_index.template.json index 8c585fa86ed..d14b71a7491 100644 --- a/package/package_esp32_index.template.json +++ b/package/package_esp32_index.template.json @@ -42,7 +42,7 @@ { "packager": "esp32", "name": "esp32-arduino-libs", - "version": "idf-release_v5.3-466a392a" + "version": "idf-release_v5.3-0bbd7281" }, { "packager": "esp32", @@ -95,63 +95,63 @@ "tools": [ { "name": "esp32-arduino-libs", - "version": "idf-release_v5.3-466a392a", + "version": "idf-release_v5.3-0bbd7281", "systems": [ { "host": "i686-mingw32", - "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-466a392a.zip", - "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-466a392a.zip", - "checksum": "SHA-256:8c2d36bd4be5b6a9446efd3c2b2f93f544f4b2a22dab23c4991aec5711c72884", - "size": "318864212" + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-0bbd7281.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-0bbd7281.zip", + "checksum": "SHA-256:e436e8ba703cf78ec81d80e956d2ae4a5e754f280950520ad7c425bb56738a80", + "size": "319140606" }, { "host": "x86_64-mingw32", - "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-466a392a.zip", - "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-466a392a.zip", - "checksum": "SHA-256:8c2d36bd4be5b6a9446efd3c2b2f93f544f4b2a22dab23c4991aec5711c72884", - "size": "318864212" + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-0bbd7281.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-0bbd7281.zip", + "checksum": "SHA-256:e436e8ba703cf78ec81d80e956d2ae4a5e754f280950520ad7c425bb56738a80", + "size": "319140606" }, { "host": "arm64-apple-darwin", - "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-466a392a.zip", - "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-466a392a.zip", - "checksum": "SHA-256:8c2d36bd4be5b6a9446efd3c2b2f93f544f4b2a22dab23c4991aec5711c72884", - "size": "318864212" + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-0bbd7281.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-0bbd7281.zip", + "checksum": "SHA-256:e436e8ba703cf78ec81d80e956d2ae4a5e754f280950520ad7c425bb56738a80", + "size": "319140606" }, { "host": "x86_64-apple-darwin", - "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-466a392a.zip", - "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-466a392a.zip", - "checksum": "SHA-256:8c2d36bd4be5b6a9446efd3c2b2f93f544f4b2a22dab23c4991aec5711c72884", - "size": "318864212" + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-0bbd7281.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-0bbd7281.zip", + "checksum": "SHA-256:e436e8ba703cf78ec81d80e956d2ae4a5e754f280950520ad7c425bb56738a80", + "size": "319140606" }, { "host": "x86_64-pc-linux-gnu", - "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-466a392a.zip", - "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-466a392a.zip", - "checksum": "SHA-256:8c2d36bd4be5b6a9446efd3c2b2f93f544f4b2a22dab23c4991aec5711c72884", - "size": "318864212" + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-0bbd7281.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-0bbd7281.zip", + "checksum": "SHA-256:e436e8ba703cf78ec81d80e956d2ae4a5e754f280950520ad7c425bb56738a80", + "size": "319140606" }, { "host": "i686-pc-linux-gnu", - "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-466a392a.zip", - "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-466a392a.zip", - "checksum": "SHA-256:8c2d36bd4be5b6a9446efd3c2b2f93f544f4b2a22dab23c4991aec5711c72884", - "size": "318864212" + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-0bbd7281.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-0bbd7281.zip", + "checksum": "SHA-256:e436e8ba703cf78ec81d80e956d2ae4a5e754f280950520ad7c425bb56738a80", + "size": "319140606" }, { "host": "aarch64-linux-gnu", - "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-466a392a.zip", - "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-466a392a.zip", - "checksum": "SHA-256:8c2d36bd4be5b6a9446efd3c2b2f93f544f4b2a22dab23c4991aec5711c72884", - "size": "318864212" + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-0bbd7281.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-0bbd7281.zip", + "checksum": "SHA-256:e436e8ba703cf78ec81d80e956d2ae4a5e754f280950520ad7c425bb56738a80", + "size": "319140606" }, { "host": "arm-linux-gnueabihf", - "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-466a392a.zip", - "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-466a392a.zip", - "checksum": "SHA-256:8c2d36bd4be5b6a9446efd3c2b2f93f544f4b2a22dab23c4991aec5711c72884", - "size": "318864212" + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-0bbd7281.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-0bbd7281.zip", + "checksum": "SHA-256:e436e8ba703cf78ec81d80e956d2ae4a5e754f280950520ad7c425bb56738a80", + "size": "319140606" } ] }, From e5394ccef77ce061e8d772705545f7a1608220bb Mon Sep 17 00:00:00 2001 From: Rodrigo Garcia Date: Wed, 28 Aug 2024 16:46:48 -0300 Subject: [PATCH 003/146] fix(arduino): changes definitions in cmakelists.txt file (#10259) Fixes an issue related to ESP_MATTER component that defines a path using ESP32 as folder. Because Arduino defines ESP32 to 1, it causes an expansion error for folder using ESP32 folder name. --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index a11d4809049..bfb3ee4ff28 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -320,7 +320,7 @@ target_compile_options(${COMPONENT_TARGET} PUBLIC -DARDUINO_ARCH_ESP32 -DARDUINO_BOARD="${idf_target_caps}_DEV" -DARDUINO_VARIANT="${CONFIG_ARDUINO_VARIANT}" - -DESP32) + -DESP32=ESP32) if(CONFIG_AUTOSTART_ARDUINO) # in autostart mode, arduino-esp32 contains app_main() function and needs to From 396def3f837ced99a20ebbff2516558879653f03 Mon Sep 17 00:00:00 2001 From: Me No Dev Date: Wed, 28 Aug 2024 23:14:39 +0300 Subject: [PATCH 004/146] IDF release/v5.1 e026fd1f (#10257) --- package/package_esp32_index.template.json | 68 +++++++++++------------ 1 file changed, 34 insertions(+), 34 deletions(-) diff --git a/package/package_esp32_index.template.json b/package/package_esp32_index.template.json index 5874dc289ea..8ea4f6cb47d 100644 --- a/package/package_esp32_index.template.json +++ b/package/package_esp32_index.template.json @@ -42,7 +42,7 @@ { "packager": "esp32", "name": "esp32-arduino-libs", - "version": "idf-release_v5.1-d38afc77" + "version": "idf-release_v5.1-e026fd1f" }, { "packager": "esp32", @@ -105,63 +105,63 @@ "tools": [ { "name": "esp32-arduino-libs", - "version": "idf-release_v5.1-d38afc77", + "version": "idf-release_v5.1-e026fd1f", "systems": [ { "host": "i686-mingw32", - "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-d38afc77.zip", - "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-d38afc77.zip", - "checksum": "SHA-256:ab6659cf32833ab503de31d5b4ecd77979edf5e98c0104b456d70636c393b5c4", - "size": "308243283" + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-e026fd1f.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-e026fd1f.zip", + "checksum": "SHA-256:4d2ab6f04042f7b3ca7f84564306ed901be2eb48874d38e992b548c78aad5d08", + "size": "308534003" }, { "host": "x86_64-mingw32", - "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-d38afc77.zip", - "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-d38afc77.zip", - "checksum": "SHA-256:ab6659cf32833ab503de31d5b4ecd77979edf5e98c0104b456d70636c393b5c4", - "size": "308243283" + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-e026fd1f.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-e026fd1f.zip", + "checksum": "SHA-256:4d2ab6f04042f7b3ca7f84564306ed901be2eb48874d38e992b548c78aad5d08", + "size": "308534003" }, { "host": "arm64-apple-darwin", - "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-d38afc77.zip", - "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-d38afc77.zip", - "checksum": "SHA-256:ab6659cf32833ab503de31d5b4ecd77979edf5e98c0104b456d70636c393b5c4", - "size": "308243283" + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-e026fd1f.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-e026fd1f.zip", + "checksum": "SHA-256:4d2ab6f04042f7b3ca7f84564306ed901be2eb48874d38e992b548c78aad5d08", + "size": "308534003" }, { "host": "x86_64-apple-darwin", - "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-d38afc77.zip", - "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-d38afc77.zip", - "checksum": "SHA-256:ab6659cf32833ab503de31d5b4ecd77979edf5e98c0104b456d70636c393b5c4", - "size": "308243283" + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-e026fd1f.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-e026fd1f.zip", + "checksum": "SHA-256:4d2ab6f04042f7b3ca7f84564306ed901be2eb48874d38e992b548c78aad5d08", + "size": "308534003" }, { "host": "x86_64-pc-linux-gnu", - "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-d38afc77.zip", - "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-d38afc77.zip", - "checksum": "SHA-256:ab6659cf32833ab503de31d5b4ecd77979edf5e98c0104b456d70636c393b5c4", - "size": "308243283" + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-e026fd1f.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-e026fd1f.zip", + "checksum": "SHA-256:4d2ab6f04042f7b3ca7f84564306ed901be2eb48874d38e992b548c78aad5d08", + "size": "308534003" }, { "host": "i686-pc-linux-gnu", - "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-d38afc77.zip", - "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-d38afc77.zip", - "checksum": "SHA-256:ab6659cf32833ab503de31d5b4ecd77979edf5e98c0104b456d70636c393b5c4", - "size": "308243283" + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-e026fd1f.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-e026fd1f.zip", + "checksum": "SHA-256:4d2ab6f04042f7b3ca7f84564306ed901be2eb48874d38e992b548c78aad5d08", + "size": "308534003" }, { "host": "aarch64-linux-gnu", - "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-d38afc77.zip", - "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-d38afc77.zip", - "checksum": "SHA-256:ab6659cf32833ab503de31d5b4ecd77979edf5e98c0104b456d70636c393b5c4", - "size": "308243283" + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-e026fd1f.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-e026fd1f.zip", + "checksum": "SHA-256:4d2ab6f04042f7b3ca7f84564306ed901be2eb48874d38e992b548c78aad5d08", + "size": "308534003" }, { "host": "arm-linux-gnueabihf", - "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-d38afc77.zip", - "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-d38afc77.zip", - "checksum": "SHA-256:ab6659cf32833ab503de31d5b4ecd77979edf5e98c0104b456d70636c393b5c4", - "size": "308243283" + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-e026fd1f.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-e026fd1f.zip", + "checksum": "SHA-256:4d2ab6f04042f7b3ca7f84564306ed901be2eb48874d38e992b548c78aad5d08", + "size": "308534003" } ] }, From 019855ff90b863dc06cd80f04594c4b2f7099455 Mon Sep 17 00:00:00 2001 From: Andreas Merkle Date: Fri, 30 Aug 2024 17:01:23 +0200 Subject: [PATCH 005/146] fix(littlefs): Use VFSImpl::exists() to avoid false error log (#10217) * fix(littlefs): Use VFSImpl::exists() to avoid false error log * fix(ffat): Use VFSImpl::exists() to avoid false error log --------- Co-authored-by: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com> --- libraries/FFat/src/FFat.cpp | 9 --------- libraries/FFat/src/FFat.h | 2 -- libraries/LittleFS/src/LittleFS.cpp | 6 ------ 3 files changed, 17 deletions(-) diff --git a/libraries/FFat/src/FFat.cpp b/libraries/FFat/src/FFat.cpp index 1227e172602..506cc70be46 100644 --- a/libraries/FFat/src/FFat.cpp +++ b/libraries/FFat/src/FFat.cpp @@ -152,13 +152,4 @@ size_t F_Fat::freeBytes() { return free_sect * sect_size; } -bool F_Fat::exists(const char *path) { - File f = open(path, "r", false); - return (f == true) && !f.isDirectory(); -} - -bool F_Fat::exists(const String &path) { - return exists(path.c_str()); -} - F_Fat FFat = F_Fat(FSImplPtr(new VFSImpl())); diff --git a/libraries/FFat/src/FFat.h b/libraries/FFat/src/FFat.h index 70cff69dc35..3f700396777 100644 --- a/libraries/FFat/src/FFat.h +++ b/libraries/FFat/src/FFat.h @@ -32,8 +32,6 @@ class F_Fat : public FS { size_t usedBytes(); size_t freeBytes(); void end(); - bool exists(const char *path); - bool exists(const String &path); private: wl_handle_t _wl_handle = WL_INVALID_HANDLE; diff --git a/libraries/LittleFS/src/LittleFS.cpp b/libraries/LittleFS/src/LittleFS.cpp index b5776372313..e0e71aacf9c 100644 --- a/libraries/LittleFS/src/LittleFS.cpp +++ b/libraries/LittleFS/src/LittleFS.cpp @@ -33,16 +33,10 @@ class LittleFSImpl : public VFSImpl { public: LittleFSImpl(); virtual ~LittleFSImpl() {} - virtual bool exists(const char *path); }; LittleFSImpl::LittleFSImpl() {} -bool LittleFSImpl::exists(const char *path) { - File f = open(path, "r", false); - return (f == true); -} - LittleFSFS::LittleFSFS() : FS(FSImplPtr(new LittleFSImpl())), partitionLabel_(NULL) {} LittleFSFS::~LittleFSFS() { From b2c805a139d141552061bfdbf5e95a912793a6b7 Mon Sep 17 00:00:00 2001 From: Me No Dev Date: Fri, 30 Aug 2024 18:03:56 +0300 Subject: [PATCH 006/146] fix(ppp): Fix PPP not working after reboot if no RST (#10264) Modem will try to switch to CMUX and then back to COMMAND in order to allow communication with the modem. --- libraries/PPP/src/PPP.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/libraries/PPP/src/PPP.cpp b/libraries/PPP/src/PPP.cpp index b687153ea7c..ba1ca2e4869 100644 --- a/libraries/PPP/src/PPP.cpp +++ b/libraries/PPP/src/PPP.cpp @@ -324,8 +324,17 @@ bool PPPClass::begin(ppp_modem_model_t model, uint8_t uart_num, int baud_rate) { } else { // try to communicate with the modem if (esp_modem_sync(_dce) != ESP_OK) { - log_v("Modem does not respond to AT, maybe in DATA mode? ...exiting network mode"); + log_v("Modem does not respond to AT! Switching to COMMAND mode."); esp_modem_set_mode(_dce, ESP_MODEM_MODE_COMMAND); + if (esp_modem_sync(_dce) != ESP_OK) { + log_v("Modem does not respond to AT! Switching to CMUX mode."); + if (esp_modem_set_mode(_dce, ESP_MODEM_MODE_CMUX) != ESP_OK) { + log_v("Modem failed to switch to CMUX mode!"); + } else { + log_v("Switching back to COMMAND mode"); + esp_modem_set_mode(_dce, ESP_MODEM_MODE_COMMAND); + } + } if (esp_modem_sync(_dce) != ESP_OK) { log_e("Modem failed to respond to AT!"); goto err; From 4c1095b23fe6d2bced497d53d330d8e3fe3532f7 Mon Sep 17 00:00:00 2001 From: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com> Date: Sat, 31 Aug 2024 12:28:04 -0300 Subject: [PATCH 007/146] ci(push): Use fqbn from ci.json (#10267) --- .github/scripts/on-push.sh | 32 ++++++++++++-------------------- 1 file changed, 12 insertions(+), 20 deletions(-) diff --git a/.github/scripts/on-push.sh b/.github/scripts/on-push.sh index f925390da13..08ff505f1c0 100755 --- a/.github/scripts/on-push.sh +++ b/.github/scripts/on-push.sh @@ -6,12 +6,11 @@ export ARDUINO_BUILD_DIR="$HOME/.arduino/build.tmp" function build(){ local target=$1 - local fqbn=$2 - local chunk_index=$3 - local chunks_cnt=$4 - local build_log=$5 - local sketches_file=$6 - shift; shift; shift; shift; shift; shift; + local chunk_index=$2 + local chunks_cnt=$3 + local build_log=$4 + local sketches_file=$5 + shift; shift; shift; shift; shift; local sketches=$* local BUILD_SKETCH="${SCRIPTS_DIR}/sketch_utils.sh build" @@ -19,7 +18,7 @@ function build(){ local args="-ai $ARDUINO_IDE_PATH -au $ARDUINO_USR_PATH" - args+=" -t $target -fqbn $fqbn" + args+=" -t $target" if [ "$OS_IS_LINUX" == "1" ]; then args+=" -p $ARDUINO_ESP32_PATH/libraries" @@ -77,13 +76,6 @@ if [ "$BUILD_PIO" -eq 0 ]; then source ${SCRIPTS_DIR}/install-arduino-cli.sh source ${SCRIPTS_DIR}/install-arduino-core-esp32.sh - FQBN_ESP32="espressif:esp32:esp32:PSRAM=enabled,PartitionScheme=huge_app" - FQBN_ESP32S2="espressif:esp32:esp32s2:PSRAM=enabled,PartitionScheme=huge_app" - FQBN_ESP32S3="espressif:esp32:esp32s3:PSRAM=opi,USBMode=default,PartitionScheme=huge_app" - FQBN_ESP32C3="espressif:esp32:esp32c3:PartitionScheme=huge_app" - FQBN_ESP32C6="espressif:esp32:esp32c6:PartitionScheme=huge_app" - FQBN_ESP32H2="espressif:esp32:esp32h2:PartitionScheme=huge_app" - SKETCHES_ESP32="\ $ARDUINO_ESP32_PATH/libraries/NetworkClientSecure/examples/WiFiClientSecure/WiFiClientSecure.ino\ $ARDUINO_ESP32_PATH/libraries/BLE/examples/Server/Server.ino\ @@ -99,12 +91,12 @@ if [ "$BUILD_PIO" -eq 0 ]; then fi #build sketches for different targets - build "esp32s3" $FQBN_ESP32S3 "$CHUNK_INDEX" "$CHUNKS_CNT" "$BUILD_LOG" "$SKETCHES_FILE" "$SKETCHES_ESP32" - build "esp32s2" $FQBN_ESP32S2 "$CHUNK_INDEX" "$CHUNKS_CNT" "$BUILD_LOG" "$SKETCHES_FILE" "$SKETCHES_ESP32" - build "esp32c3" $FQBN_ESP32C3 "$CHUNK_INDEX" "$CHUNKS_CNT" "$BUILD_LOG" "$SKETCHES_FILE" "$SKETCHES_ESP32" - build "esp32c6" $FQBN_ESP32C6 "$CHUNK_INDEX" "$CHUNKS_CNT" "$BUILD_LOG" "$SKETCHES_FILE" "$SKETCHES_ESP32" - build "esp32h2" $FQBN_ESP32H2 "$CHUNK_INDEX" "$CHUNKS_CNT" "$BUILD_LOG" "$SKETCHES_FILE" "$SKETCHES_ESP32" - build "esp32" $FQBN_ESP32 "$CHUNK_INDEX" "$CHUNKS_CNT" "$BUILD_LOG" "$SKETCHES_FILE" "$SKETCHES_ESP32" + build "esp32s3" "$CHUNK_INDEX" "$CHUNKS_CNT" "$BUILD_LOG" "$SKETCHES_FILE" "$SKETCHES_ESP32" + build "esp32s2" "$CHUNK_INDEX" "$CHUNKS_CNT" "$BUILD_LOG" "$SKETCHES_FILE" "$SKETCHES_ESP32" + build "esp32c3" "$CHUNK_INDEX" "$CHUNKS_CNT" "$BUILD_LOG" "$SKETCHES_FILE" "$SKETCHES_ESP32" + build "esp32c6" "$CHUNK_INDEX" "$CHUNKS_CNT" "$BUILD_LOG" "$SKETCHES_FILE" "$SKETCHES_ESP32" + build "esp32h2" "$CHUNK_INDEX" "$CHUNKS_CNT" "$BUILD_LOG" "$SKETCHES_FILE" "$SKETCHES_ESP32" + build "esp32" "$CHUNK_INDEX" "$CHUNKS_CNT" "$BUILD_LOG" "$SKETCHES_FILE" "$SKETCHES_ESP32" if [ "$BUILD_LOG" -eq 1 ]; then #remove last comma from the last JSON object From 254c5e43f1cf0c18102d0bfe30eb7f95c2e0ae85 Mon Sep 17 00:00:00 2001 From: Me No Dev Date: Sat, 31 Aug 2024 18:28:22 +0300 Subject: [PATCH 008/146] fix(http): Replace flush() with clear() in HTTPClient (#10269) Following deprecation of flush() --- libraries/HTTPClient/src/HTTPClient.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/HTTPClient/src/HTTPClient.cpp b/libraries/HTTPClient/src/HTTPClient.cpp index 7881a877467..ec812f07201 100644 --- a/libraries/HTTPClient/src/HTTPClient.cpp +++ b/libraries/HTTPClient/src/HTTPClient.cpp @@ -371,7 +371,7 @@ void HTTPClient::disconnect(bool preserveClient) { if (connected()) { if (_client->available() > 0) { log_d("still data in buffer (%d), clean up.\n", _client->available()); - _client->flush(); + _client->clear(); } if (_reuse && _canReuse) { From 0b8eedea5cf18e2b01f80975197b85f70a36caf3 Mon Sep 17 00:00:00 2001 From: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com> Date: Sat, 31 Aug 2024 12:33:32 -0300 Subject: [PATCH 009/146] ci(release): Make workflows dependent on release completion (#10260) --- .github/workflows/docs_deploy.yml | 12 ++++++--- .github/workflows/upload-idf-component.yml | 31 +++++++++++++++++++--- 2 files changed, 36 insertions(+), 7 deletions(-) diff --git a/.github/workflows/docs_deploy.yml b/.github/workflows/docs_deploy.yml index f5f9be77b24..5393f7e8a20 100644 --- a/.github/workflows/docs_deploy.yml +++ b/.github/workflows/docs_deploy.yml @@ -1,8 +1,10 @@ name: Documentation Build and Production Deploy CI on: - release: - types: [published] + workflow_run: + workflows: ["ESP32 Arduino Release"] + types: + - completed push: branches: - release/v2.x @@ -12,7 +14,6 @@ on: - '.github/workflows/docs_deploy.yml' jobs: - deploy-prod-docs: name: Deploy Documentation on Production runs-on: ubuntu-22.04 @@ -20,6 +21,11 @@ jobs: run: shell: bash steps: + - name: Check if release workflow is successful + if: ${{ github.event_name == 'workflow_run' && github.event.workflow_run.conclusion != 'success' }} + run: | + echo "Release workflow failed. Exiting..." + exit 1 - uses: actions/checkout@v4 with: submodules: true diff --git a/.github/workflows/upload-idf-component.yml b/.github/workflows/upload-idf-component.yml index ca21361689f..22912de6da0 100644 --- a/.github/workflows/upload-idf-component.yml +++ b/.github/workflows/upload-idf-component.yml @@ -1,12 +1,35 @@ name: Push components to https://components.espressif.com + on: - push: - tags: - - '*' + workflow_run: + workflows: ["ESP32 Arduino Release"] + types: + - completed + jobs: upload_components: runs-on: ubuntu-latest steps: + - name: Get the release tag + run: | + if [ "${{ github.event.workflow_run.conclusion }}" != "success" ]; then + echo "Release workflow failed. Exiting..." + exit 1 + fi + + branch=${{ github.event.workflow_run.head_branch }} + if [[ $branch == refs/tags/* ]]; then + tag="${branch#refs/tags/}" + elif [[ $branch =~ ^[0-9]+\.[0-9]+\.[0-9]+.*$ ]]; then + tag=$branch + else + echo "Tag not found in $branch. Exiting..." + exit 1 + fi + + echo "Tag: $tag" + echo "RELEASE_TAG=$tag" >> $GITHUB_ENV + - uses: actions/checkout@v4 with: submodules: "recursive" @@ -15,6 +38,6 @@ jobs: uses: espressif/upload-components-ci-action@v1 with: name: arduino-esp32 - version: ${{ github.ref_name }} + version: ${{ env.RELEASE_TAG }} namespace: espressif api_token: ${{ secrets.IDF_COMPONENT_API_TOKEN }} From f06f2d7b07a968b43c989064e22f43f2b16808f2 Mon Sep 17 00:00:00 2001 From: per1234 Date: Mon, 2 Sep 2024 03:20:23 -0700 Subject: [PATCH 010/146] fix(boards): Correct typos in port prop. associations for "Bee" boards (#10276) * fix(boards): Correct PID port property in "Bee Data Logger" board def VID and PID port property values are hexadecimal literals and thus use the standard "0x" prefix. Previously, this prefix was missing from the PID port property association in the definition of the board definition of "Bee Data Logger" board. This typo caused ports having the 0x303a, 0x815C VID/PID pair to not be identified as a "Bee Data Logger" board as intended. * fix(boards): Correct property names for PID port property associations These properties are intended to associate values of the PID port property with "Bee" board definitions. A typo caused them to instead associatiate the values with the VID port property. The result was that ports with this VID/PID pair were not identified by the Arduino development software as the board model as intended. --- boards.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/boards.txt b/boards.txt index 6ac1a2cae20..9c038071509 100644 --- a/boards.txt +++ b/boards.txt @@ -34347,9 +34347,9 @@ department_of_alchemy_minimain_esp32s2.menu.EraseFlash.all.upload.erase_cmd=-e Bee_Data_Logger.name=Bee Data Logger Bee_Data_Logger.vid.0=0x303a -Bee_Data_Logger.pid.0=815C +Bee_Data_Logger.pid.0=0x815C Bee_Data_Logger.upload_port.0.vid=0x303a -Bee_Data_Logger.upload_port.0.pid=815C +Bee_Data_Logger.upload_port.0.pid=0x815C Bee_Data_Logger.bootloader.tool=esptool_py Bee_Data_Logger.bootloader.tool.default=esptool_py @@ -34571,7 +34571,7 @@ Bee_Motion.name=Bee Motion Bee_Motion.vid.0=0x303a Bee_Motion.pid.0=0x810D Bee_Motion.vid.upload_port.0.vid=0x303a -Bee_Motion.pid.upload_port.0.vid=0x810D +Bee_Motion.pid.upload_port.0.pid=0x810D Bee_Motion.bootloader.tool=esptool_py Bee_Motion.bootloader.tool.default=esptool_py @@ -34790,7 +34790,7 @@ Bee_S3.name=Bee S3 Bee_S3.vid.0=0x303a Bee_S3.pid.0=0x8110 Bee_S3.vid.upload_port.0.vid=0x303a -Bee_S3.pid.upload_port.0.vid=0x8110 +Bee_S3.pid.upload_port.0.pid=0x8110 Bee_S3.bootloader.tool=esptool_py Bee_S3.bootloader.tool.default=esptool_py From 7a4587b4bde86332f0018d6f3756eb576bf73dfd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20BOU=C3=89?= Date: Mon, 2 Sep 2024 12:20:39 +0200 Subject: [PATCH 011/146] Update variants for M5Dial and M5StampS3 (#10268) Update variant for M5Dial which comes with 8MB of built-in Flash Update variant for M5StampS3 which comes with 8MB of built-in Flash --- boards.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/boards.txt b/boards.txt index 9c038071509..fa14a1e92a7 100644 --- a/boards.txt +++ b/boards.txt @@ -22051,7 +22051,7 @@ m5stack_stamp_s3.build.flash_freq=80m m5stack_stamp_s3.build.flash_mode=dio m5stack_stamp_s3.build.boot=qio m5stack_stamp_s3.build.boot_freq=80m -m5stack_stamp_s3.build.partitions=default +m5stack_stamp_s3.build.partitions=default_8MB m5stack_stamp_s3.build.defines= m5stack_stamp_s3.build.loop_core= m5stack_stamp_s3.build.event_core= @@ -22771,7 +22771,7 @@ m5stack_dial.build.flash_freq=80m m5stack_dial.build.flash_mode=dio m5stack_dial.build.boot=qio m5stack_dial.build.boot_freq=80m -m5stack_dial.build.partitions=default +m5stack_dial.build.partitions=default_8MB m5stack_dial.build.defines= m5stack_dial.build.loop_core= m5stack_dial.build.event_core= From e70f4d3819500151af6a0adda561f09f647b3fc7 Mon Sep 17 00:00:00 2001 From: Rodrigo Garcia Date: Mon, 2 Sep 2024 07:21:05 -0300 Subject: [PATCH 012/146] Adds HW Serial CDC as IDF component example (#10262) * feat(hw_cdc): creates documentation for the example Adds a README file that exaplains the example. * feat(hw_cdc): create cmake config file Adds necessary CMakeLists.txt file to the project with the HW CDC defines that will enable it. * feat(hw_cdc): create sdkconfig.defaults Adds necessary and minimum sdkconfig settings in order to make Arduino run as IDF Compoenent. * feat(hw_cdc): create cmake config file Create the Arduino Sketch source code CMakeLists.txt file that will include all source code files and header files in the proejct. * feat(hw_cdc): create main.cpp Adds the minimum Arduino Sketch that will print "Hello World!" in the HW Serial USB CDC port. * feat(hw_cdc): create idf_component.yml Adds necessary ESP32 Registry information in order to make ESP32 Arduino to be automatically included in the project as an IDF component. * feat(hw_cdc): update main.cpp adds code to wait for the user to open the Serial Monitor * feat(hw_cdc): formating text code Applying Code style and formating. * feat(hw_cdc): adds the example to idf_component.yml Adds the example to the list of example in the ESP32 Registry. * ci(pre-commit): Apply automatic fixes * fix(chw_cdc): typo fix Fixed Typo in the documentation. * fix(hw_cdc): fixed a commentary typo Fixed commantary typo --------- Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> --- idf_component.yml | 1 + .../hw_cdc_hello_world/CMakeLists.txt | 12 ++++ .../hw_cdc_hello_world/README.md | 63 +++++++++++++++++++ .../hw_cdc_hello_world/main/CMakeLists.txt | 4 ++ .../hw_cdc_hello_world/main/idf_component.yml | 6 ++ .../hw_cdc_hello_world/main/main.cpp | 18 ++++++ .../hw_cdc_hello_world/sdkconfig.defaults | 12 ++++ 7 files changed, 116 insertions(+) create mode 100644 idf_component_examples/hw_cdc_hello_world/CMakeLists.txt create mode 100644 idf_component_examples/hw_cdc_hello_world/README.md create mode 100644 idf_component_examples/hw_cdc_hello_world/main/CMakeLists.txt create mode 100644 idf_component_examples/hw_cdc_hello_world/main/idf_component.yml create mode 100644 idf_component_examples/hw_cdc_hello_world/main/main.cpp create mode 100644 idf_component_examples/hw_cdc_hello_world/sdkconfig.defaults diff --git a/idf_component.yml b/idf_component.yml index 2f74301ea10..18742001118 100644 --- a/idf_component.yml +++ b/idf_component.yml @@ -96,3 +96,4 @@ dependencies: require: public examples: - path: ./idf_component_examples/hello_world + - path: ./idf_component_examples/hw_cdc_hello_world diff --git a/idf_component_examples/hw_cdc_hello_world/CMakeLists.txt b/idf_component_examples/hw_cdc_hello_world/CMakeLists.txt new file mode 100644 index 00000000000..16bb1063af3 --- /dev/null +++ b/idf_component_examples/hw_cdc_hello_world/CMakeLists.txt @@ -0,0 +1,12 @@ +# For more information about build system see +# https://docs.espressif.com/projects/esp-idf/en/latest/api-guides/build-system.html +# The following five lines of boilerplate have to be in your project's +# CMakeLists in this exact order for cmake to work correctly +cmake_minimum_required(VERSION 3.16) +include($ENV{IDF_PATH}/tools/cmake/project.cmake) + +# Adds necessary definitions for compiling it using Serial symbol attached to the HW USB CDC port +list(APPEND compile_definitions "ARDUINO_USB_CDC_ON_BOOT=1") +list(APPEND compile_definitions "ARDUINO_USB_MODE=1") + +project(hw_cdc_hello_world) diff --git a/idf_component_examples/hw_cdc_hello_world/README.md b/idf_component_examples/hw_cdc_hello_world/README.md new file mode 100644 index 00000000000..e4356d75ac3 --- /dev/null +++ b/idf_component_examples/hw_cdc_hello_world/README.md @@ -0,0 +1,63 @@ +| Supported Targets | ESP32-C3 | ESP32-C6 | ESP32-H2 | ESP32-S3 | +| ----------------- | -------- | -------- | -------- | -------- | + +# _HW Serial USB CDC example_ + +This is the simplest buildable example made to be used as a template for new projects running Arduino-ESP32 as an ESP-IDF component that will redefine the `Serial` interface to be attached to the USB CDC Hardware Serial port.\ +See [arduino-esp32](https://components.espressif.com/components/espressif/arduino-esp32) in ESP Registry. + +## How to use example + +After cloning this repository, go to the `hw_cdc_hello_world` folder and select the target by executing\ +`idf.py set-target `.\ +`` can be one of the installed IDF version supported targets. + +It is possible to just clone this folder be executing\ +`idf.py create-project-from-example "espressif/arduino-esp32^3.0.5:hw_cdc_hello_world"` + +For IDF 5.1.x and forward, the list of targets that support Hardware USB CDC are, at least: esp32s3, esp32c3, esp32c6 and esp32h2.\ +Then just run command: `idf.py build` or `idf.py -p USB_PORT flash monitor`. + +Usually, it is necessary to make the ESP32 SoC to enter in `Download Mode` before uploading the firmware.\ +After that, just press `RESET/EN` to start the new firmware. + +## Example folder contents + +The project **hw_serial_example** contains one source file in C++ language [main.cpp](main/main.cpp). The file is located in folder [main](main). + +ESP-IDF projects are built using CMake. The project building configuration is contained in `CMakeLists.txt` +file that provide a set of directives and instructions describing the project's source files and targets +(executable, library, or both). + +Below is the minimum list of files in the project folder. + +``` +├── CMakeLists.txt Global project CMake configuration file +├── sdkconfig.defaults sdkconfig setting for an Arduino project +├── main +│   ├── CMakeLists.txt Arduino sketch CMake configuration file +│ ├── idf_component.yml List of IDF components necessary to build the project +│   └── main.cpp Arduino Sketch code - don't forget to add "#include " on it +└── README.md This is the file you are currently reading +``` + +## Configuring the Hardware USB CDC Serial + +ESP32 Arduino has two macro defined symbols that control what `Serial` symbol will represent. +Default `Serial` is the UART0 from `HardwareSerial` class. + +`Serial` can be changed to be attached to the HW Serial JTAG port fro the SoC. +In order to make it work, it is necessary to define 2 symbols: `ARDUINO_USB_CDC_ON_BOOT` and `ARDUINO_USB_MODE` to `1`. +This is achieved by adding a couple lines to the [Project Folder CMakeLists.txt](CMakeLists.txt) file. + + +``` +# Adds necessary definitions for compiling it using Serial symbol attached to the HW USB CDC port +list(APPEND compile_definitions "ARDUINO_USB_CDC_ON_BOOT=1") +list(APPEND compile_definitions "ARDUINO_USB_MODE=1") + +``` + +Those two lines will add a `-DSYMBOL=VAL` when compiling every source code file. + +In order to make sure that it is actually working correctly, the [sketch](main/main.cpp) will execute `Serial.begin();` with no baudrate, which only works for USB CDC. diff --git a/idf_component_examples/hw_cdc_hello_world/main/CMakeLists.txt b/idf_component_examples/hw_cdc_hello_world/main/CMakeLists.txt new file mode 100644 index 00000000000..25a78dec2a6 --- /dev/null +++ b/idf_component_examples/hw_cdc_hello_world/main/CMakeLists.txt @@ -0,0 +1,4 @@ +idf_component_register( + SRC_DIRS "." + INCLUDE_DIRS "." +) diff --git a/idf_component_examples/hw_cdc_hello_world/main/idf_component.yml b/idf_component_examples/hw_cdc_hello_world/main/idf_component.yml new file mode 100644 index 00000000000..f955824767c --- /dev/null +++ b/idf_component_examples/hw_cdc_hello_world/main/idf_component.yml @@ -0,0 +1,6 @@ +## IDF Component Manager Manifest File +dependencies: + espressif/arduino-esp32: + version: "*" + override_path: "../../../" + pre_release: true diff --git a/idf_component_examples/hw_cdc_hello_world/main/main.cpp b/idf_component_examples/hw_cdc_hello_world/main/main.cpp new file mode 100644 index 00000000000..18718678430 --- /dev/null +++ b/idf_component_examples/hw_cdc_hello_world/main/main.cpp @@ -0,0 +1,18 @@ +#include + +void setup() { + // USB CDC doesn't need a baud rate + Serial.begin(); + + // wait for the Serial Monitor to be open + while (!Serial) { + delay(100); + } + + Serial.println("\r\nStarting...\r\n"); +} + +void loop() { + Serial.println("Hello world!"); + delay(1000); +} diff --git a/idf_component_examples/hw_cdc_hello_world/sdkconfig.defaults b/idf_component_examples/hw_cdc_hello_world/sdkconfig.defaults new file mode 100644 index 00000000000..bb723653f8a --- /dev/null +++ b/idf_component_examples/hw_cdc_hello_world/sdkconfig.defaults @@ -0,0 +1,12 @@ +# +# Arduino ESP32 +# +CONFIG_AUTOSTART_ARDUINO=y +# end of Arduino ESP32 + +# +# FREERTOS +# +CONFIG_FREERTOS_HZ=1000 +# end of FREERTOS +# end of Component config From 41cdbd99b7cdef94b1edb734cea17a9acaa26a94 Mon Sep 17 00:00:00 2001 From: per1234 Date: Mon, 9 Sep 2024 02:39:09 -0700 Subject: [PATCH 013/146] fix(boards): Remove port property assoc. for non-unique VID/PID pairs (#10271) The Arduino boards platform framework allows properties of a port to be associated with a board definition. The Arduino development software will identify a port having the associated properties as that board. This should only be done for properties that are unique to the ports produced by that board model. In cases where a board model does not produce a port with properties unique to that model, it is irresponsible to associate those properties with the board definition as this will cause other models to be inappropriately identified. The authors of these board definitions associated them with non-unique USB VID/PID pairs so those associations must be removed. The 303a:1001 VID/PID pair is of the hardware CDC serial port of the native USB ESP32 chips. The others are stock VID/PID pairs of general purpose USB to serial bridge chips that are used on many different board models. --- boards.txt | 8 -------- 1 file changed, 8 deletions(-) diff --git a/boards.txt b/boards.txt index fa14a1e92a7..cf8cf5631c9 100644 --- a/boards.txt +++ b/boards.txt @@ -4507,8 +4507,6 @@ S_ODI_Ultra.menu.EraseFlash.all.upload.erase_cmd=-e ############################################################## lilygo_t_display.name=LilyGo T-Display -lilygo_t_display.vid.0=0x1a86 -lilygo_t_display.pid.0=0x55d4 lilygo_t_display.upload.tool=esptool_py lilygo_t_display.upload.tool.default=esptool_py @@ -27574,8 +27572,6 @@ fm-devkit.menu.EraseFlash.all.upload.erase_cmd=-e ### Fri3d Badge 2024 (ESP32-S3-WROOM-1) fri3d_2024_esp32s3.name=Fri3d Badge 2024 (ESP32-S3-WROOM-1) -fri3d_2024_esp32s3.vid.0=0x303a -fri3d_2024_esp32s3.pid.0=0x1001 fri3d_2024_esp32s3.bootloader.tool=esptool_py fri3d_2024_esp32s3.bootloader.tool.default=esptool_py @@ -39913,8 +39909,6 @@ waveshare_esp32_s3_lcd_169.menu.EraseFlash.all.upload.erase_cmd=-e ############################################################## waveshare_esp32s3_touch_lcd_128.name=Waveshare ESP32S3 Touch LCD 128 -waveshare_esp32s3_touch_lcd_128.vid.0=0x1a86 -waveshare_esp32s3_touch_lcd_128.pid.0=0x55d3 waveshare_esp32s3_touch_lcd_128.upload.tool=esptool_py waveshare_esp32s3_touch_lcd_128.upload.tool.default=esptool_py @@ -40584,8 +40578,6 @@ walter.menu.EraseFlash.all.upload.erase_cmd=-e ############################################################## elecrow_crowpanel_7.name=Elecrow CrowPanel 7.0P -elecrow_crowpanel_7.vid.0=0x1a86 -elecrow_crowpanel_7.pid.0=0x7523 elecrow_crowpanel_7.upload.tool=esptool_py elecrow_crowpanel_7.upload.tool.default=esptool_py From 976bda6b490bd90f8d51a7a89d642a80673987a4 Mon Sep 17 00:00:00 2001 From: Me No Dev Date: Mon, 9 Sep 2024 12:39:30 +0300 Subject: [PATCH 014/146] fix(report): Print correct chip revision (#10277) It was printed wrongly before. Actual revision is the value divided by 100 in float. --- cores/esp32/chip-debug-report.cpp | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/cores/esp32/chip-debug-report.cpp b/cores/esp32/chip-debug-report.cpp index 5586d481acd..239ae3e97c9 100644 --- a/cores/esp32/chip-debug-report.cpp +++ b/cores/esp32/chip-debug-report.cpp @@ -87,12 +87,7 @@ static void printChipInfo(void) { default: chip_report_printf("Unknown %d\n", info.model); break; } printPkgVersion(); - chip_report_printf(" Revision : "); - if (info.revision > 0xFF) { - chip_report_printf("%d.%d\n", info.revision >> 8, info.revision & 0xFF); - } else { - chip_report_printf("%d\n", info.revision); - } + chip_report_printf(" Revision : %.2f\n", (float)(info.revision) / 100.0); chip_report_printf(" Cores : %d\n", info.cores); rtc_cpu_freq_config_t conf; rtc_clk_cpu_freq_get_config(&conf); From e964a2deabe0327f3c4d7a360f86b3ee97304b65 Mon Sep 17 00:00:00 2001 From: Me No Dev Date: Mon, 9 Sep 2024 12:39:43 +0300 Subject: [PATCH 015/146] fix(scan): Make sure scan struct is cleared before set (#10282) --- libraries/WiFi/src/WiFiScan.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/libraries/WiFi/src/WiFiScan.cpp b/libraries/WiFi/src/WiFiScan.cpp index bef634579cd..62e849dbc76 100644 --- a/libraries/WiFi/src/WiFiScan.cpp +++ b/libraries/WiFi/src/WiFiScan.cpp @@ -77,6 +77,7 @@ int16_t scanDelete(); wifi_scan_config_t config; + memset(&config, 0, sizeof(wifi_scan_config_t)); config.ssid = (uint8_t *)ssid; config.bssid = (uint8_t *)bssid; config.channel = channel; From eec855a09ff73c7f4cb3ee647a40f713ec3ce834 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 9 Sep 2024 12:39:58 +0300 Subject: [PATCH 016/146] build(deps): bump cryptography from 42.0.7 to 43.0.1 in /tests (#10284) Bumps [cryptography](https://github.com/pyca/cryptography) from 42.0.7 to 43.0.1. - [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst) - [Commits](https://github.com/pyca/cryptography/compare/42.0.7...43.0.1) --- updated-dependencies: - dependency-name: cryptography dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- tests/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/requirements.txt b/tests/requirements.txt index 16e870a9a07..1b43a6104f2 100644 --- a/tests/requirements.txt +++ b/tests/requirements.txt @@ -1,4 +1,4 @@ -cryptography==42.0.7 +cryptography==43.0.1 --only-binary cryptography pytest-cov==5.0.0 pytest-embedded-serial-esp==1.11.5 From c0dce69fc169ff856f2f23e71e8269c306506f5e Mon Sep 17 00:00:00 2001 From: Unexpected Maker Date: Mon, 9 Sep 2024 19:40:23 +1000 Subject: [PATCH 017/146] Added Unexpected Maker OMGS3 (#10298) --- boards.txt | 154 +++++++++++++++++++++++ variants/um_omgs3/bootloader_tinyuf2.bin | Bin 0 -> 22688 bytes variants/um_omgs3/partitions_tinyuf2.csv | 10 ++ variants/um_omgs3/pins_arduino.h | 59 +++++++++ variants/um_omgs3/tinyuf2.bin | Bin 0 -> 183808 bytes 5 files changed, 223 insertions(+) create mode 100644 variants/um_omgs3/bootloader_tinyuf2.bin create mode 100644 variants/um_omgs3/partitions_tinyuf2.csv create mode 100644 variants/um_omgs3/pins_arduino.h create mode 100644 variants/um_omgs3/tinyuf2.bin diff --git a/boards.txt b/boards.txt index cf8cf5631c9..55f8743a91f 100644 --- a/boards.txt +++ b/boards.txt @@ -3732,6 +3732,160 @@ um_nanos3.menu.EraseFlash.all.upload.erase_cmd=-e ############################################################## +um_omgs3.name=UM OMGS3 +um_omgs3.vid.0=0x303a +um_omgs3.pid.0=0x8224 +um_omgs3.upload_port.0.vid=0x303a +um_omgs3.upload_port.0.pid=0x8224 + +um_omgs3.bootloader.tool=esptool_py +um_omgs3.bootloader.tool.default=esptool_py + +um_omgs3.upload.tool=esptool_py +um_omgs3.upload.tool.default=esptool_py +um_omgs3.upload.tool.network=esp_ota + +um_omgs3.upload.maximum_size=1310720 +um_omgs3.upload.maximum_data_size=327680 +um_omgs3.upload.flags= +um_omgs3.upload.extra_flags= +um_omgs3.upload.use_1200bps_touch=false +um_omgs3.upload.wait_for_upload_port=false + +um_omgs3.serial.disableDTR=false +um_omgs3.serial.disableRTS=false + +um_omgs3.build.tarch=xtensa +um_omgs3.build.bootloader_addr=0x0 +um_omgs3.build.target=esp32s3 +um_omgs3.build.mcu=esp32s3 +um_omgs3.build.core=esp32 +um_omgs3.build.variant=um_omgs3 +um_omgs3.build.board=OMGS3 + +um_omgs3.build.usb_mode=1 +um_omgs3.build.cdc_on_boot=1 +um_omgs3.build.msc_on_boot=0 +um_omgs3.build.dfu_on_boot=0 +um_omgs3.build.f_cpu=240000000L +um_omgs3.build.flash_size=8MB +um_omgs3.build.flash_freq=80m +um_omgs3.build.flash_mode=dio +um_omgs3.build.boot=qio +um_omgs3.build.partitions=default +um_omgs3.build.defines= +um_omgs3.build.loop_core= +um_omgs3.build.event_core= +um_omgs3.build.flash_type=qio +um_omgs3.build.psram_type=qspi +um_omgs3.build.memory_type=qio_qspi + +um_omgs3.menu.LoopCore.1=Core 1 +um_omgs3.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1 +um_omgs3.menu.LoopCore.0=Core 0 +um_omgs3.menu.LoopCore.0.build.loop_core=-DARDUINO_RUNNING_CORE=0 + +um_omgs3.menu.EventsCore.1=Core 1 +um_omgs3.menu.EventsCore.1.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=1 +um_omgs3.menu.EventsCore.0=Core 0 +um_omgs3.menu.EventsCore.0.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=0 + +um_omgs3.menu.USBMode.hwcdc=Hardware CDC and JTAG +um_omgs3.menu.USBMode.hwcdc.build.usb_mode=1 +um_omgs3.menu.USBMode.default=USB-OTG (TinyUSB) +um_omgs3.menu.USBMode.default.build.usb_mode=0 + +um_omgs3.menu.CDCOnBoot.cdc=Enabled +um_omgs3.menu.CDCOnBoot.cdc.build.cdc_on_boot=1 +um_omgs3.menu.CDCOnBoot.default=Disabled +um_omgs3.menu.CDCOnBoot.default.build.cdc_on_boot=0 + +um_omgs3.menu.MSCOnBoot.default=Disabled +um_omgs3.menu.MSCOnBoot.default.build.msc_on_boot=0 +um_omgs3.menu.MSCOnBoot.msc=Enabled (Requires USB-OTG Mode) +um_omgs3.menu.MSCOnBoot.msc.build.msc_on_boot=1 + +um_omgs3.menu.DFUOnBoot.default=Disabled +um_omgs3.menu.DFUOnBoot.default.build.dfu_on_boot=0 +um_omgs3.menu.DFUOnBoot.dfu=Enabled (Requires USB-OTG Mode) +um_omgs3.menu.DFUOnBoot.dfu.build.dfu_on_boot=1 + +um_omgs3.menu.UploadMode.cdc.upload.wait_for_upload_port=true +um_omgs3.menu.UploadMode.default=UART0 / Hardware CDC +um_omgs3.menu.UploadMode.cdc=USB-OTG CDC (TinyUSB) +um_omgs3.menu.UploadMode.cdc.upload.use_1200bps_touch=true +um_omgs3.menu.UploadMode.default.upload.use_1200bps_touch=false +um_omgs3.menu.UploadMode.default.upload.wait_for_upload_port=false + +um_omgs3.menu.PSRAM.enabled=Enabled +um_omgs3.menu.PSRAM.enabled.build.defines=-DBOARD_HAS_PSRAM +um_omgs3.menu.PSRAM.disabled=Disabled +um_omgs3.menu.PSRAM.disabled.build.defines= + +um_omgs3.menu.PartitionScheme.default_8MB=Default (3MB APP/1.5MB SPIFFS) +um_omgs3.menu.PartitionScheme.default_8MB.build.partitions=default_8MB +um_omgs3.menu.PartitionScheme.default_8MB.upload.maximum_size=3342336 +um_omgs3.menu.PartitionScheme.tinyuf2=TinyUF2 Compatibility (2MB APP/3.7MB FFAT) +um_omgs3.menu.PartitionScheme.tinyuf2.build.custom_bootloader=bootloader_tinyuf2 +um_omgs3.menu.PartitionScheme.tinyuf2.build.custom_partitions=partitions_tinyuf2 +um_omgs3.menu.PartitionScheme.tinyuf2.upload.extra_flags=0x410000 "{runtime.platform.path}/variants/{build.variant}/tinyuf2.bin" +um_omgs3.menu.PartitionScheme.tinyuf2.upload.maximum_size=2097152 + +um_omgs3.menu.CPUFreq.240=240MHz (WiFi) +um_omgs3.menu.CPUFreq.240.build.f_cpu=240000000L +um_omgs3.menu.CPUFreq.160=160MHz (WiFi) +um_omgs3.menu.CPUFreq.160.build.f_cpu=160000000L +um_omgs3.menu.CPUFreq.80=80MHz (WiFi) +um_omgs3.menu.CPUFreq.80.build.f_cpu=80000000L +um_omgs3.menu.CPUFreq.40=40MHz +um_omgs3.menu.CPUFreq.40.build.f_cpu=40000000L +um_omgs3.menu.CPUFreq.20=20MHz +um_omgs3.menu.CPUFreq.20.build.f_cpu=20000000L +um_omgs3.menu.CPUFreq.10=10MHz +um_omgs3.menu.CPUFreq.10.build.f_cpu=10000000L + +um_omgs3.menu.FlashMode.qio=QIO +um_omgs3.menu.FlashMode.qio.build.flash_mode=dio +um_omgs3.menu.FlashMode.qio.build.boot=qio +um_omgs3.menu.FlashMode.dio=DIO +um_omgs3.menu.FlashMode.dio.build.flash_mode=dio +um_omgs3.menu.FlashMode.dio.build.boot=dio + +um_omgs3.menu.UploadSpeed.921600=921600 +um_omgs3.menu.UploadSpeed.921600.upload.speed=921600 +um_omgs3.menu.UploadSpeed.115200=115200 +um_omgs3.menu.UploadSpeed.115200.upload.speed=115200 +um_omgs3.menu.UploadSpeed.256000.windows=256000 +um_omgs3.menu.UploadSpeed.256000.upload.speed=256000 +um_omgs3.menu.UploadSpeed.230400.windows.upload.speed=256000 +um_omgs3.menu.UploadSpeed.230400=230400 +um_omgs3.menu.UploadSpeed.230400.upload.speed=230400 +um_omgs3.menu.UploadSpeed.460800.linux=460800 +um_omgs3.menu.UploadSpeed.460800.macosx=460800 +um_omgs3.menu.UploadSpeed.460800.upload.speed=460800 +um_omgs3.menu.UploadSpeed.512000.windows=512000 +um_omgs3.menu.UploadSpeed.512000.upload.speed=512000 + +um_omgs3.menu.DebugLevel.none=None +um_omgs3.menu.DebugLevel.none.build.code_debug=0 +um_omgs3.menu.DebugLevel.error=Error +um_omgs3.menu.DebugLevel.error.build.code_debug=1 +um_omgs3.menu.DebugLevel.warn=Warn +um_omgs3.menu.DebugLevel.warn.build.code_debug=2 +um_omgs3.menu.DebugLevel.info=Info +um_omgs3.menu.DebugLevel.info.build.code_debug=3 +um_omgs3.menu.DebugLevel.debug=Debug +um_omgs3.menu.DebugLevel.debug.build.code_debug=4 +um_omgs3.menu.DebugLevel.verbose=Verbose +um_omgs3.menu.DebugLevel.verbose.build.code_debug=5 + +um_omgs3.menu.EraseFlash.none=Disabled +um_omgs3.menu.EraseFlash.none.upload.erase_cmd= +um_omgs3.menu.EraseFlash.all=Enabled +um_omgs3.menu.EraseFlash.all.upload.erase_cmd=-e + +############################################################## + um_pros3.name=UM PROS3 um_pros3.vid.0=0x303a um_pros3.pid.0=0x80D3 diff --git a/variants/um_omgs3/bootloader_tinyuf2.bin b/variants/um_omgs3/bootloader_tinyuf2.bin new file mode 100644 index 0000000000000000000000000000000000000000..84bab25be2740e22245c0fbcd1702bf254edfb1f GIT binary patch literal 22688 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 literal 0 HcmV?d00001 diff --git a/variants/um_omgs3/partitions_tinyuf2.csv b/variants/um_omgs3/partitions_tinyuf2.csv new file mode 100644 index 00000000000..4026378b6fb --- /dev/null +++ b/variants/um_omgs3/partitions_tinyuf2.csv @@ -0,0 +1,10 @@ +# ESP-IDF Partition Table +# Name, Type, SubType, Offset, Size, Flags +# bootloader.bin,, 0x1000, 32K +# partition table,, 0x8000, 4K +nvs, data, nvs, 0x9000, 20K, +otadata, data, ota, 0xe000, 8K, +ota_0, 0, ota_0, 0x10000, 2048K, +ota_1, 0, ota_1, 0x210000, 2048K, +uf2, app, factory,0x410000, 256K, +ffat, data, fat, 0x450000, 3776K, diff --git a/variants/um_omgs3/pins_arduino.h b/variants/um_omgs3/pins_arduino.h new file mode 100644 index 00000000000..81164c48efe --- /dev/null +++ b/variants/um_omgs3/pins_arduino.h @@ -0,0 +1,59 @@ +#ifndef Pins_Arduino_h +#define Pins_Arduino_h + +#include +#include "soc/soc_caps.h" + +#define USB_VID 0x303A +#define USB_PID 0x8224 +#define USB_MANUFACTURER "Unexpected Maker" +#define USB_PRODUCT "OMGS3" +#define USB_SERIAL "" + +static const uint8_t TX = 43; +static const uint8_t RX = 44; + +static const uint8_t SDA = 8; +static const uint8_t SCL = 9; + +static const uint8_t SS = 3; +static const uint8_t MOSI = 6; +static const uint8_t MISO = 5; +static const uint8_t SDO = 6; +static const uint8_t SDI = 5; +static const uint8_t SCK = 4; + +static const uint8_t A0 = 1; +static const uint8_t A1 = 2; +static const uint8_t A2 = 3; +static const uint8_t A3 = 4; +static const uint8_t A4 = 5; +static const uint8_t A5 = 6; +static const uint8_t A6 = 7; +static const uint8_t A7 = 8; +static const uint8_t A8 = 9; + +static const uint8_t T1 = 1; +static const uint8_t T2 = 2; +static const uint8_t T3 = 3; +static const uint8_t T4 = 4; +static const uint8_t T5 = 5; +static const uint8_t T6 = 6; +static const uint8_t T7 = 7; +static const uint8_t T8 = 8; +static const uint8_t T9 = 9; + +static const uint8_t VBUS_SENSE = 33; + +static const uint8_t RGB_DATA = 35; +// RGB_BUILTIN and RGB_BRIGHTNESS can be used in new Arduino API rgbLedWrite() +#define RGB_BUILTIN (RGB_DATA + SOC_GPIO_PIN_COUNT) +#define RGB_BRIGHTNESS 64 +// BUILTIN_LED can be used in new Arduino API digitalWrite() like in Blink.ino +static const uint8_t LED_BUILTIN = RGB_BUILTIN; +#define BUILTIN_LED LED_BUILTIN // backward compatibility +#define LED_BUILTIN LED_BUILTIN // allow testing #ifdef LED_BUILTIN + +static const uint8_t RGB_PWR = 34; + +#endif /* Pins_Arduino_h */ diff --git a/variants/um_omgs3/tinyuf2.bin b/variants/um_omgs3/tinyuf2.bin new file mode 100644 index 0000000000000000000000000000000000000000..fccd2906393ced810c7884c2542755b6217e31d8 GIT binary patch literal 183808 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

GmK<-WYk3F>VnL(tZ4~&m4jL>Sf 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

x1(@YlPDcJ{O@OJEW8hdRO+MU|dcSE?pm& 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 NG%fmmmEw1Y{tr`bjC}wA literal 0 HcmV?d00001 From 6264d6b72bc578bfea41f1710dc6e50fe4fdb5c2 Mon Sep 17 00:00:00 2001 From: Ha Thach Date: Mon, 9 Sep 2024 16:40:38 +0700 Subject: [PATCH 018/146] feat(esp32-s2/s3): update tinyuf2 for Adafruit board to 0.20.1 (#10300) --- .../bootloader-tinyuf2.bin | Bin 22112 -> 22608 bytes variants/adafruit_camera_esp32s3/tinyuf2.bin | Bin 193520 -> 213072 bytes .../bootloader-tinyuf2.bin | Bin 22016 -> 23408 bytes variants/adafruit_feather_esp32s2/tinyuf2.bin | Bin 155104 -> 164816 bytes .../bootloader-tinyuf2.bin | Bin 22016 -> 23408 bytes .../tinyuf2.bin | Bin 174256 -> 185216 bytes .../bootloader-tinyuf2.bin | Bin 22048 -> 23440 bytes .../adafruit_feather_esp32s2_tft/tinyuf2.bin | Bin 174224 -> 185216 bytes .../bootloader-tinyuf2.bin | Bin 22624 -> 22816 bytes variants/adafruit_feather_esp32s3/tinyuf2.bin | Bin 165520 -> 196208 bytes .../bootloader-tinyuf2.bin | Bin 22624 -> 22816 bytes .../tinyuf2.bin | Bin 165536 -> 196208 bytes .../bootloader-tinyuf2.bin | Bin 22320 -> 22816 bytes .../tinyuf2.bin | Bin 187808 -> 217616 bytes .../bootloader-tinyuf2.bin | Bin 22656 -> 22864 bytes .../adafruit_feather_esp32s3_tft/tinyuf2.bin | Bin 185328 -> 217616 bytes .../bootloader-tinyuf2.bin | Bin 22080 -> 23456 bytes .../adafruit_funhouse_esp32s2/tinyuf2.bin | Bin 164528 -> 173008 bytes .../bootloader-tinyuf2.bin | Bin 21968 -> 23360 bytes .../adafruit_magtag29_esp32s2/tinyuf2.bin | Bin 155136 -> 164816 bytes .../bootloader-tinyuf2.bin | Bin 22112 -> 22608 bytes .../adafruit_matrixportal_esp32s3/tinyuf2.bin | Bin 174352 -> 196160 bytes .../bootloader-tinyuf2.bin | Bin 22000 -> 23392 bytes variants/adafruit_metro_esp32s2/tinyuf2.bin | Bin 151232 -> 164784 bytes .../bootloader-tinyuf2.bin | Bin 22256 -> 22768 bytes variants/adafruit_metro_esp32s3/tinyuf2.bin | Bin 174736 -> 196176 bytes .../bootloader-tinyuf2.bin | Bin 21936 -> 23312 bytes variants/adafruit_qtpy_esp32s2/tinyuf2.bin | Bin 150624 -> 160288 bytes .../bootloader-tinyuf2.bin | Bin 22240 -> 22736 bytes .../adafruit_qtpy_esp32s3_n4r2/tinyuf2.bin | Bin 173584 -> 191744 bytes .../bootloader-tinyuf2.bin | Bin 22544 -> 22736 bytes .../adafruit_qtpy_esp32s3_nopsram/tinyuf2.bin | Bin 160832 -> 191728 bytes .../bootloader-tinyuf2.bin | Bin 21696 -> 22192 bytes .../adafruit_qualia_s3_rgb666/tinyuf2.bin | Bin 157728 -> 174496 bytes 34 files changed, 0 insertions(+), 0 deletions(-) diff --git a/variants/adafruit_camera_esp32s3/bootloader-tinyuf2.bin b/variants/adafruit_camera_esp32s3/bootloader-tinyuf2.bin index f0169612e1334529dae9678a0120c8959bc8212c..ef4e3bf6fd169da8e16db6696460a52517126b08 100644 GIT binary patch literal 22608 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 ZHasi-S)2dSi=S5JU3#tf+=_8a{y*PZHnRW# literal 22112 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 E0E{UsQ~&?~ diff --git a/variants/adafruit_camera_esp32s3/tinyuf2.bin b/variants/adafruit_camera_esp32s3/tinyuf2.bin index 0247a171331c8b9ac80f659b67751ff0377b25f2..5eb3429b51626a1e040a65df4ea16691a31dcc50 100644 GIT binary patch literal 213072 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 literal 193520 zcmeGF2Ut_t+6D~ogd!j+Dk>`KRzX220Td7;gb)yvCZJ*^fdq(#Bqjkt9b^}4Fqt}~2$_u4yw;DOQiob$f_^?%=Nxbv*~tX}uC)_!8nbx)1- z5j>|T$`a5&9Gc?t?K3FKGw$4GgCU_jHxF+&o~x&iYl@fDr<=?>$=H^nbaG`@da`GA zLn9rpt6vvSKhLfPqo^bu?dd~%@;tp5ql_+YUEElu!AUjRzq6Z{nM=ay!x?5RvXsh! zn?6N6d^$h6MWnd>lpA;Y)v4zAzo5~{C}AG30a%ty3Gb&;Lc%s~ASILnIe^_@*o#^7 z4SY&C&yNyr0f@RgkOdrrKA}4$TnP2q0Js5~2`J%UJ>~mTLSMZ)6YAxFSqR*VD4}IA zB^(P7J;52MiJ3uP6Ws}aV-Tm&Lnz^s1WH&JYNG!fnxWtgdl%T9RZ+s>Iu;q)Dz(Av zYw5)ifA9B{26?6adpC{sJVwJ^T;EuspD0K~@?AKY5)u?oV(AM#Z3nX?b$WtUC(-Dr zmVq<42pW zR;x5R1jdrQA<-uhLuR+tP~ZxAl0+v*S;>{jDoq-r_N&c3 zqA*N`&PXXqlljr)an#o4mQC88%TZBu@+!W6<2*P#gia>zV?zTy zyLyAYqt?yMxRz9_*1@sSu3@4OeJqS)jkZ!Yml6tMd<1=!!FjMOObasr&|Ss8e$H8O=tBK?oqivEjH)bsjpMXkR^u9MM; z60~17XH-c^=^721>Bv-4v{E+eI*nYWC5>iem3!!t6%uVK@+%^uufBaIOVDl9%u14! zge+$oAIiZ{0?2XNNv_P0DCAN)EiIkp<4lQUiRme{EHg=_X4-{DCee~AOvN&tS*%W` zrm4`8LYNO{I|T}T29l8^QA$ulMoQ4qSqnryB}GQkhEVWWvw^(G;zbrO36Uijg|#M4DLzn zsPN!O5vvG_>Khpc6N-9n!R5aPC`&Hi5@-ap1RMZYz#9kvLV-TOKp+WF0O>$BFbS9i zECvdI&A@KpM2Qo0 zGKG;slk(#a27@4B7pgpClF_=nqOoyt%D2x6*D7r6?`a4?>Dv0UOq;f4gUXtON zX@zJXZ0|>^AXu>tN+zYk6bf02L=i@+Zh8`FE>vumHc6sTAf!sO5E)uTFzE@YaP(@i z80Tbqtt>;P@TiOw6{t|Ck|azl(QZWY47pS$%o-@usHo_meiB8xjEdI46rm#YN@jry zd5RK4yN*KN%7z>*3Pex)S)kEjAtH%R!kRJ>gh|crs!WNyxNu>FT+6a1YBEC!mFt+G znABCqiVaU>~5uoc(?8~~01XMlQE z^{j;Gc6Ay_lFX0tBfT6i(~;*J4<#WKJ%;a!DPTH4w1#0%mO2$aLu%G7ZMO z1VPoa`jr$>n zb;HE%vl(U>jO7>)N0CU;F@X`ZBts%sklp|jSqwZ`nE1()XeNlipD70FXi^BYLZ)OD zPL5K#w_NCq>8O6n$o44-3P~1vC^k0LCik&XK?yOzvB5F@f)gTwBcfskK-)7cDv}uq z(G6)N$`lz}=$W*uL7~E=Q-N$`7ZXffsIp}zt93~O5cmiv0Y#Y*HFAOLX6>6ouAN0jW`tH!5Gt%>+KObPTP|u(0A+T9^KAt%EiT zd%*qz6Fy~lN*jnNnxf40`q;R@px*8x6bdDB49c$1~U#t&4d|oVQq)J5U}x?4Kovi8)AuP0dZ%`sts{kPWT}V zu94eK#9a|1T*dL8Zx+Y%ne~&FH@v?7y)2 zENA{p`9N}8N-`7M3YZlbRXyf@5N$VnFFY(p<14A$?)8LN$^!Bb`J$oTiWj zY_`bID@(ClO~T~Ft%e4K1r56iqQweVny$d20~r_?9ZhDDwXU;k_7xoyW#o(PK=2!? z2f8DQMn7Z>XwmO-C{z4epodPA$dy!>C_I>2Tf>vCO_ag|Rh&#w75Jk9rIKV#I!3s@ zA)d4lW2^$RD3o?|RuC5H8c9w2vq^GI61=Fhbg3$(n@W>HCCfEwBPAM{8`-H13XBMj z2^2;}#gULIDoj5vDmO1*Rq@8*Y4%&r%1N118n3B0F!N!@IoSR6@bv1^)!WCnTc9vV z6dZzBP@#xPXqbqh{bh;RtD`JUEx7`U%c1f;Elo)uY94J`$BY9rs*c&Wgjkwl_`&#O zX4$qOhvKwr2Mex=fU>G%HjWT;s=|`9iet%bLUpL1(kl8JAT;U&QE{L^$WY}_&O&TK8l^lWFwTRl=>`R&bH&PYNIk1C^rAgN z0{daFEz%7?WL8BU10xPaQzoq`swvE-L`U|lXVrqZs23KBwHgx`hq6HGsduBrzf)AJ zGhw2@xXhcsFCRH({*~K@54}%*k?W9W<4IdvdI_lccaBaO*Kd<*ZNI?HiFK~@O8c(w zuY22MU3og_&7Sn#{p77mH#BazS#W*yHcB$V=Cs3a9rnLJIF?sjcyIChWsfw69<@3B z&5GCM=e5}vnjd=I{ZLYS(dc&0_eT#7_sL&uqPWwtUmw?jTWr2vRafh@uF3n4_t)f& z^_a*jDVV@psT-PqFyg`3g?qIKeUvlQ^HV*77M%#a`e9?XPvlUCfxGkD7Uy?YmE7&mxurR@`Fi(H%q3wFYs`f+|)mJ=(Ag=Iad-Y7Vn-PSa71js)b_? zmc;+199B4J_lJ`sBpDp}tqYDzUPP{$3V!yYyeO?8X2So`K~-Js2gNX0D2@8kd2&s+Cx$*l|XCqBBll2cH3 z-O9Q_9A#~}sJLizl$TaAVe$Ks{ zHET+TfYlu*T>ZtV(E%%QN~fP9R;~+<3Ela)U}D*EC+{V<%2$SsZr=9$4WlfsHqGxI zkdi7`ad~c^e$P$E#c~P?=N54~4RTo>)H3+~(Ua15b=G_gm@6C+v+Z7s2bmlU=`V0EF}v1lyR%?y^2M&DQNItr z?No4NEw!UOr-Zv=>0#5&N?S`eGrO~00$15j`YA|vXHUa$t64{NlC3vQ?Am?*;ig3g zv%d7s)-OUdkU-Dc6%|c$}yyE7Z z;?&OI+tkeN{DY(Cb~GF0kt`sngOiV*Y_Mm|pb>p}cD9Gl zpLo;Q)zl{N;M+)BOLMbO@i+&!=Et@?YGY?@b+P{v%lN%-Gc4m1I11ZYt^+6UIzG4k zK+`?YOEsq^ub!FO@N(ieW{*P-s_P!^*6#Gqn=SV&Dr|kaee7tD1J8BN-^IBSVs~d#lVek2ue@~|Jn?iJ z_aiL?gXV16LcP2{Cun5MlY&u_T`OAL>aFr z-Ewu^irAd^lbX&+ryV#yOcWOO?YFX}&v%z&d%O0Xw`1iu^P+ootGDUq9Jfnv_wNi3 zYoZC^++AEW{=Rwq==M__|9W<4kUF}kZT;<2BA%^Z)-*UvH@mo1_dMH@b{pE;PcEHQ z9#SUlG|u8~(cPGJBc?9jvTAaxWo19N5cTd_hq7+*vuU1M?9w32YvJC8LGGhQbnAHI z=rtFK`*i;o7dxY5v*5RBo8J|z zyVU4>X5He!?N6`wX`D6NJvH@x?^fqx2K?%}p32Y!Ps^WW*THkZt`~Cba^@y7r?%(sqq`6%>$cHxYEpEv_wbaFNoW04rrcGW( z6`8M{YIo#$&dDoYozi6O)U!`6Ivlyc<4JksitwQYefEiF4iNYH{aapk)F=}m2wzaM6)L{x~!}BqB_s8rpIorDR z+6}i8Hpvs)z4W_(?tFSZDn zeg4Oz0YQt;ci8l};KPhYLm#aO# zPG;WoUL5asj_-DNV4rcR9rB9eVzy*<`Yo|x=O4>6CMQm}QjarRo_E;$ZfM(SV|G3X z?jIB8F#GZA`QI!VHEd(SvX~hoW+iUgX!#~F=I5cCb5ovlUcB|%%PvM93IUVg8MxVJS%;>fB&q1mAOB(InHNDld)k~5aZu1;B zAg*qk>l>q7=S6QTyE$@<-<%6qrS-1=`cSts^bgOu6Xso9v(Y8OKB;-dG25LcJ5J^Q zRk&xuzUD`7FKBsgV&`AzQA;jtc>D6thW49|9q`SZ)|C=@Em~T*;9Ec83DN98^Lra4 z4LZjksbAkLBX8D)vAJVQ9nZRLGwanZmf5p(|N^7F^;UQV>5%`ls@_QP`f zFKE7T$HU2r)$OPLY-OG?{QAwDP9LUbFH^kjX5#zWf8NYr-|x)r zUf5@He~rTc=?KS;H_r9yw_|CN??qn!vUQZ(K{0Pv`gb#mLhAicKD6<7nLlJT`Cf-njaXV*T*&^=PGc|6#`7d=EpR=bIa<1w|l!ZFGYmZ*&y7<+JGvwD#tL(9O2Zw<%boK^DfzmdbW3e6m%%^=LxqqoTi4)-Sq0`GfjegCTg3{wF~r7 zbSZhZIkxOO%B@$Zq|mI{lRwdh9NTl>`zu7V&x<=~nyfCO^E%kCIQx9t z_O9jgIfLCd9^8B+VsXNxdM$t4()4~&#}RKFXAXCkH3;64T&GE^AmxW^?-Ga7GdTrk z3zjCEjh>wNq`B#)Us|{Hc(cl7Fe~q)Ve8x%YMLCgxOczX`@W7=rE3-`t(&NwRxj;0a74>j_d9(mk_23{7O!j4 zAUh_|x9GmM+xQK4cy5kED1qba$ETWbY>-E9+oUpFy*%rW_>+0WMh(ez{SNZ(y+rYvmXd-qBwLFXTy1Rb2x zE;#0VOyAiVx0V%5e(Nyn_oNJ)lbWl4e0ZC&&h$v9oPmm`5iaSrUJH~Dr-<79=3DT} zt>dH*3wmju+}+da`U#(*&BpJ{JU(u8fwf@T^zZUoxOsVmk8bwNR(^f`&xifIOQtJk zChVNv%m3Z?LjU<~dNs}T=PkRKEWI7YpRjK6#I*a-C!5wgvU0F}vg7PG?-MV6EIvCf z+FWaw7$cXSJaK4G-^9+N?L-MbnNC|3FuGg*iK5xV`jvzqtfM-~^Ul0=H0{x!#f4%; zPFlA!ZT4iJ*khkq{PDGaUdQ?Tj8tp!wc{b3oFCu+rFpPf!ss%~(~m}O`g5#Lr2Xz? zQIU!TuUF{G#ui`mf3e47d`iUN?%LSntG8UTGviHt!Y?UG-LtZL{OvocjpaUGO(GP7 zMnqq*j8spx+T?pBIm>y5?$VQ99d07s!fWzAN4ENtWX?X<_w*ZyG9enR%(bE=Qa?)gp_^v5@A z{f2hETm07F#dE;L+vTCJf5|odbXopGa`TaUb~JGq(Pq*Z{_QZw;fqhDS$7P6nSU+P z&xiNxw!|sD*Yf3;og3ck+w*bE(leP;hqj2=o#pcTyabQ;7sp#Paw=`!X7sm9uNQT` z6_QZUwMUQXb=KaJ{Vwf3viZI{r_Q_DcNuWs++RE{B<0+TJ|)hFV#l1(9yr<0erV^h zjiY#TGKUN|nO!_E}UE(MQXgz^tXx9S%-?Rob3a}JvqC>Lzn5U}UK>iv73@?$#*prI!GYcYn7girP#@~%!-hrH~)wcg{K1HC#rCpGxfw^x(-z8352Hn&dUe`8yJ z%&@|lBRx9VCvjsxm<3H3Wp}l#q5IBmWetnd-rTv7Q*3#&V>8z->Zy(1jmXio=(|TW zz1TZ7&;E#dXrt&)?_MMZG$`qDv2R7Iu<(>U8|wz2T<>muy=jXhHY=o?OXqa|Fm<@- zPoG?`dCkK2*|b>vbn)i1huSW-ET7rnwI=^k*owEB;*7&#Vyl&AsofVheA1;tocGlI zRHT(zdF}-JCciw~f4zA5(|2i$HamNd(wOY?IMc4gY?=Lit$&JF-|V}J8EJnr(URpXOX6VDdha_cw4HtFV@zZ>d!519w4>&sHX?W_?PMbEa z<}{n%#U{!#BXM&36%L7x8{c^q#-DvLpukb8pbr(LYV3+Ktxh{!c{9ZKyUUkymP@DU z0&aFYcPMj3kDJQ+y48yI$y{8udbhN6;DR}-&|TdIqh@>AOZjsF}_G_aTN z^ySt{@zjYj>G0Cz24nBGiX47UFnF7Nh{NpMq>d9sEk?{bLx*_H8#AY?&-U~!4^0j} zRJWXYJF|7^h_-E)pIf*11pnNy^kWC#o#werbC}y_@EJQz`tr#o$9w%EZTLXf<;l92 zO|NAhxJP#kbv)J1d z_K%YJimmth&afEzeV>KPwj?b{9lp~4+5Ivqp{2$*!d2yUHD%w3-s_+CII=wL`Q!(k z{Pz|&f4b+u5pmtU1JWKJ`DV+-%$-9|sSf3K%bs3XaV3y5xcEgE-m{{gT9275>+SZ= z?iFTO^Mvbo+MYh`7uqfA*R_=E(e}JJx2l zownXL@#1glGUwGztXn2!{%~yhpZl-ho8RYF=N(qdN~6Ag^TJ~V@8qi;lHX+Y%8$Kp z7N)j-??qx=J~HL z%lm!bwYbGEk}Z3Z>>SJTFHB!FY;#4|6ZP#^EZgPtA#dcOlfSOHaq-T&3Evg({iCEu zSb4~?jRy`M%zp5x`&|CB`0I}!g&z3Sdhh(Hp>8u?w@CV~$FuRG?4(lD%@f9M+VDyA z%bQuJA`h*4zICCP7k{GTtzJ_fKmDnE#q3rm!9a~TD$R1&+HfHBvU#S*_-dr?dJR_Hd_>R zHn`QRoaIH&JhuNa(=+14@F@>1-LIbPw<2cyUEkmnxff52=(lT1ry;|wBA(qzKiG5P z+e77E);_wi;UgU4weaD!v=`I%Dj?ceAf$m^+_Na;Xy+7GL!9;B!vNWgQ0D?lF(tbfahz`lmP6 z<*C1h|0J~iX@Ak-j`nx60($!IcAS1A@Ab>k=0QCsPFGwo_m}RS>h3vVP|>5{re&>f zSW9g_N@s_-c!(NJsi(esII#WOWp{bqZyfWl-)D0t!CuLtjnutGlF}Po*8@epPV_&e zX|V5O`HDGqMZ!bMdFKuso4)C2=tPf2>zfx<>>U657!lu6IxF(k$Dby)x*XHfY`t%A zkMzV&zl_=W;c#@bX;9J7h;>3BrBI&9;$*N_#kSs(t6tyZY^V*0b>J&9jA1pBxRaez*NEQOUSa`}a;y|NME~ zIa{aG-KM7KOb^~TJN-z~%|1t^X6@DKPxe{)<;1oA$!6i|DeG^UfMef`zV?2`(=9cuol`NL!RiK~5PzHD|<-a0jy7jcBE?eVj2 zz_Uh$3x(rD6s|ST8t`v+`x{ zl_{xRH^xtWcQStK-FkUbdk(V*Ie1cS74drLzMrlgAK&T7dE1QF{CY#TsXtC>xh~gs z-OkDPIxGkZIx@Ze>>W*q{xSIxXWbv=bl&4br!sHMb+T^XB)?5iaI>Dxn)A)(^TdhZiCFWb8D5Id9YBb?oNH;!>jEXJ=>dxY~|UQD}Ux0cGVTKhXS zI8Au+6f-r^2Nr+8#)d~;eqYy8*1^WtJVdUo%%^@^S) z&z%vyX|_Y7;e~1RwYe9#QZ+^uzUYzN#r{xa{bNp%3og7~7^th5LZ*W#?) z>fQ28=7J$+g22@_TYTn@o(ia*6!q z-h;^1pL!^ox-MGwxKEBpqph664|CS{u>LqKK74cP9jWLCuBi8QPT_zf_kJH$@#4e8 zMkRNPCTEzPUXZr1rCYz3Exkv5OmCAg(R|$UlC4yGhe0N(GRp?B_xH?c`H}8o^DM8Q znZ?55x~Gqv;vem_^4AZenoemN>%Y5`phJ>q+AkA_4Sm#b?}z=H7VPWRX<*!qi<_wS z;q|WNoBP!HU@~)8!jV0jKjx4BrgU7-rQBTY1c%7!^*eyDVZ#WOUzbkY{ zqx`;{QDHmGOCLJ9drZ3!=kiYZP=)P4`y5fX4D-}Mb6jTSn`}ri+xF6N&!*?YB%FJT zIt|RE&wp=ab3`_-drs4gSKf8IZCKSa;0)hfJv;iNYh?YF5mU@JbV)89`p{E2sr^8Q zUDo`f_~8Qs`+&b#vy?xPxXFkQp#s+AgbT~0Mg!iXPL8!$$81 ziinO0vyZ=M(xzv#H5>Zo*oG|Sk4<~%J1G9-u#DKGO^tijZPTdeUbDScu(WP`Z?Jdl z$&dxRrhXG==CG+};}>@yj%>D**kzlCoc*JIom1D3_Uad{P$#^Y+2NOC=k9HqF{ys1 z%bf%>j(8t#I%DUGwOiKZc52%>J>o#`R#Bk`PMnK_<@b_7frGjo4LO+Xdg8KG`qg0% zlQv}??VVRj_xz4)_j3AP^}L8NCkDQYai6eq#az`#%bA+FYg*n87k$T_cWF)g)}daf z2AmojALdanCho6pw-hq(6Xo#>F1qgYT#>Y7fxrE{vepee=ZOXkZp*hh_I^OrZxeRg zty$pka5LZTW}xMZ*Rd0uYf8u6xZeEypmp}&G;^?`7H;n?X}Gl8=|77TeP0$#=oj3q z^~2Oq&H+iv_rEIhXAdcU)Oup?yWKV{u;{QO{M5HE1HYqejtsGX6|-ej#_Ogd5yzLh z))gri_pb?D51V=}@@uhsV~XnkQrg;lz?;o4!rQ&y)&IfdQyQ!Mbdj?C+~Ib;8$9#f zn7`;d#rn8LGY748?9hIbpV?+}+um*G>3cK~EVR^uxG&F86moE|_2|Xs(>GW2*Tp>%rFB?#DJSXg1MS z;Jki7lx2@6%8T8*7ya4RYv`p~io(6>;Yi4ShFUsuxO#cUBrxS`|J z-{QmPo*!`7`&Do=Q=w~4(`B~1X7DuWH~5Znj?gN9dhC`vrZ?6Me{LnT5|3zc<7CF1 zqN|y&COKHq!NsGdT`G>Lzhl}Dk5}DMrZ{Qj>RE?dZTU&;G<0oPnlLofcS3pWo|ZQ} zyWNTkN}~QMJl|sKpBrC|x^;X~mnltqJ5ZXCSZsr=KB;<=qJ4YM%WKKnxFxXv*- zqmoT`G&o@v-f5RpKWQBo8`ohL+R3F>3qCxtvgfyYN{w4Q_|yINHp}PEjL6$*Bec5v z!T)TJy(ZHSoGp#6Xj6Xu@wvIrR_!11Ky`n;t{L9g2pSeSJ=|$oNBK1Vq`mo>U3(YpS%0Wkt5wC`j`7|NvbsWcFx_c`0jd-e0P?QJIkAd%REEL zZ+-kxPM`2ch0m#&Bc-^qMxpBjiaB!>`HVGjG-e$69XAFimwat}<0u=OF*YRrv(yyS zc%T-G$&ZZ%WT5y$Aw;J{*#ek|5@W(~@TOO!C&hDe$fhYOvR5yh@Z$IC#ly?}#6}3d zORrvCAZQg6LjqK|+l$i~;9t3yW;TAsfcDKx>a050Z z=Gl!JS;KEk;sHjD2s!kMaiF-|Y%cuz3k3cY)mp7?O=Z(|bT%b)uyYVn<`!y__QaT8 zA@C&>A`#{mHe!S;1bYipuBio;LmpUg$(wy%XlN!}hK3>^poZKBe&Ljt8Xt|sk7)!) zc5BuUHx?FZ2!@Ojz?UHR8~kS5I6)&MIh<+1Bet208*l)(at8+pt=Ty^l*8P{!iJ)v z<5Qgw3I9-#jHAVt^8y%O@K^*+Tf=c0j1fPob{b|lEBNL|Bs!C1hI3PJn-Di3 zIyfOV&Igh!{c0ETVeKJNq?Z+C+bS!#G*av7>*2`;T1|e*Q49G`$bQO|QduU=NTeq- zr()71new#sG+LRSmPn+Gk|8lFH9k{RBO3_)Dz#~H9UT)9M{6Z%YK2Uzmx-!Pg31ts zYGQxn%tl8Yt3z?7 z*P*!6EhugdB&jk@D2@}%X}}J!0W1JWS1|&6HI!HkBV3E}kV0afma34!Dw9%~ zl7o05#Dr-gA(o~W%ydyxVgVom;(@_HCNKtA1S|szfdjyG;1=)!C~?I1_#kTGsLBW-2!LB#=Bc4w6_% z8l948@&8e%aD|jZRCnuxV)~QsqmK;1FHM2G! zhIUE<2?`C2j0_H^5yaOxCnvjtV`IP8ISvcZ!tkh|-gIQ&h_Ce&+%Jxf3q>%YU+W_x zN)$}oMtxNpmgK7bLfsR$vf1{+j#>3hzye!uow}LXspJoU%j!%mAlM z%BmU`N8#v|QHa&WqY{r}^v(R;wr0v+lrk>SP^fEn5JMs$iyDbwKG z069;om-qfsq>Ktlq9BI^vM|xn2f&n~KH0VLG4jtI-(frMzjLm4M@0H-b7sgg!d(;- z)(?&UZ`xZNq}7>unGy#}<+=o2W`b0uG(KHkV|ftf%xsJ~zD`av|J_XLGuQg=BMDiC zgCAd;7Ng+EjD*yPFJ*zz@oZ9I6H-T2Rq?9$lKB+oXy~z-`B?%}xk;y*z#KkKU?-Z4 zK~)?e$`46%#*tCBF$Qd1g9D~2Fh+8%Cc$uymo*?WLEHs^K*_mr#>_}b#vjrbFy=&q zV$r2)*z*Hyk57yc04{XE;h(Um8U}#Mia_iQGi_$7!sZ(}$-)ezQW=vNty*3K7aTW2 zOE%Q+B!vVOhH2S2d(ZO0H6^&z0Pff+lRF({P^y#)9E?_JhT~LLD$X7dH>fH&Qv;4# zIzmFuHB(W<6|6jI{k;!bx>lBy7WXeO?Up&fO^s9=X;P&|8l;Aq!*;2`tZNNs-Zhx{ z7@4K1v~puD&Mg^fkrSUC_h2H5vrOpjMxHN_rp#HRSz(n_)k@7 zbqR7QIYozQ3=WJ{cHH`PEn#VJEKMU;iL zK5i>WVd@Am8;SG4B*9oPkV>zQhf(;XSr8Wqh!)ekFh?>OBkXylVM%g~Q(wH1!R2QnuiE+#M%*Qvw?C&a|#a7G}T^y&vgHJQvRk?9r5gpl8Z z#ziPN`~1a~eDx6GY7Ig6Z-?-?Pk)+ZIkKPGc=%Ede4euZsc&)sHU-VkpVnm>)aVP6 zu?WIF4%oNIWID?)MFZL7Rka8=)I02@qQfO?sW15tQ=;mq(N@S&UZxAiV8R?<#;l8J z=4?;PtaV9q_i`PHzRLA~g?Fk%fo+AaPyCl7&t4g%kSk^E(DPqUK}`YtPm@75f+Qnu$Wz=zat$aySA)-95J+Bra7YCp}%03Y1&j( zx&lMC4C|usaE5h_&9BN`l0t?6nOVGcIC?!MN=!^@9mJ{!uKD`F^}WmA1YVg9UkqH7 zo|c9yn@E-!a=5C)s>)%e(;|~zQeV(2jWYL34N8*44Cc6o2-83I;v%MpuPR8aaK0GN zAPgyFc+)c@;}8=&39g$`pgQBaD6-QjVYWp`N)Sn0`jJAe5UQ2Ao++*n!fhkCV&}iY z)KIL<9X(1N20wDVmE;|n@{=@FyD6ZC=zno2(8pUVLt)h5A2~zr1tM1|;SQn4(l?BxdY@l%ZkWOZ#gZnBWwz{#yClXTe2IPa z_*YI}zT}PcN9@d-EQXjk>TqfpySo??(zR~1QxJ2#n*L@r(p7|n2gZgb;MT1eyeNnc z^GFc(jji>}vZ2agZjyweLeA9Ou*jo1~Fk!vRAtfkRR5`mD;jopOBS^3H-CNn8D zHYW2?T&tyzRSj!LLsc;J8SG{d?(IW&hWq^@0^<`z!Qp`e{;hmBbaWD$*^FXt14Pfy zzSzNHQ{TIOxgXG%Bia67Y7ky~Fu9MagqvLq{T$m@>l-l16q0&oSAp3#NyNnj*f*)1 zz%w@bC{z|-r5A$*TYy-e{7vQ=nuSD@l1?r=`ckz-qrep_OiEJ70tOS%FYH4Zis^Ho zny>b0h@%!0O)`9aWq_YKr}dM7R0&>ZpcLd}`hpZgrGG{6KS{erm98dlAO8n_)DpP{ zUR=J;7t{4HSzNhB)MDO*o|Ig{(c{Zo;(BkSim}UQ?3b#s38}`GspP9R)lp(q9ta=o zAt{;b9Y}9Zy27t4iOK@ReTG<*>hIOUzW%86FXf-Xt6E!|Uy?`qy((5|=%rA+36-yS zh$FmE(Wii7TvpRCdvxq-oUGs(2U5J)(kGEMATLM_2IR&Kl}?hNQfq5yUu5KCuIa=c zHKa>)lG+lQmL|c%pLN6BKPh#igEg8SxVghue*p-&(Ft35X=yctgN+yV?J2W?5GKO) zA(?8nj8N6|QK-GL#HEsAC3_E`WCBEP)?_xu+4;pr1^V=(Cq)B#^|`kO;hdX4eCsIi+QPMzBommCP~rX=2LB3jG2XK@yeEL5Mw%rSSym!$z4HGh66GK*YZ^HLL@%hf@3(d zw{|*aGOsBNbrnHktDoGGK|7%yFgLU^5e08FK3PDmy+(DOT3HI|lG#`Lq)^EHkq~4c z+YEp6PArTh*|04DU*t7ADUoE1KxC>jM254Bp{c{q_9<1I`D#?ARFzlL{iu-oGrR2`y+A5q;c94q9T(0B7)Dh=u0v9!81ydxdrRpWz9fBgn9}w~snQWb{Y}=)HM7`W$x>kj z%UBpDja9n>?8*eC$h1;sw@N{0$*Ns(T`f7RJ2|;$toD?Ut`*xtNt!G*=@r?#a!JD> zR}H77W4jZZK8O)>9S}RL*IuL95I^Up?-C5mm<=&(UlNHe5AWLYj2)>Vu7np2NOHQ8 z-N;~W$3?q9ovoaulcff`(Ov7>m?E2NwH%=Oejh!SFs9eM5Wn?N;5JiAaAEA>VHqA!k~zFAr?d>WmJ^|Wep9uvI3H- zhuP_HXIALK(7}*708=Z`xQRLu+aI`(nC&-knIx{jVtl#LxIq;4K|h?j)+?^S1n6bDRc^otMWo+H#!cfPsRqCY9zCT z2B)YrxaFCYC7J|UJBfXzZ<1fw%rd_9yxIf=oiA#glcToQ$w2K*6ZfTI{QtYg8<>a{ zFydM3ejaXv#ms_bL_6s>;4stB$efw`v$3eJedbloGr4Ws$TbCtS?a<|2)%-yf^aP) zaj75(*5b}Fic15a95`Yx1*3AHWggDf@K>_68V`y+M+UWAgc4X8=~xqG5FJO(}nJ(Ca681pmO5lY+}KZXx$82Ehd-wcio zya@f=|L1z*#`yV?o`h!zoA@JoxmhOpWz{TgMR~0;@;qwxcfYP277~h z13!bFyqgsQJ%Jzq64;ao2m^wFUI3)ZsosF;EJ|zvSOYeIEno-O12o_OH~}sI59k8; z0(?LKh=5Qa9Eb+ufOr6`t33*ssR13335)@9fLvfQkO#~H<^hX0k#9X zfkNN_a2PlaI3c7)Kp&t253ampXsn)+%LIuzdH&8#ZZ3(p1=SGlDVqE+O^kpZ4@Mj5sTfWvGGST3V z$VqJfT7QU~!5@*W*!{KsP=E%1L>{B?YyHtx{)i06fv@!^sPb1I{tkbwznm(64dCzi z*ZM;N8q!DV>glic$F1~7+IaC-`!lWdNBWtIU+s_Fs>=2gjX^JewLhCmf41;<{j2@a zmHwK*A9+YWW9WBCTPE$2v@z0NNZlv(_;cAEQih~FNZyisB55Y^CvhQs*`Dj)&x}Gk`Ns%tQ1f zf4Z?+#@-2P;-1(MbOeaKLEiytKO;TiMf8S;==lZ>DAD&Y(i6MxMtVc37>sfZihq-0 zPuEqODyd;<5T@VEVqfCmWo1_nPj?+Y!bA6<9n)R(?>eyn^78FswD_qu<^KW?c1;a= zK8W97ZxyGH@QoU>$%CM3V~L2+xTl@S%qL(mZFuL(ZWJ>6gv|1YY!FBcAI?f7Z;xtY z7{Y9alKl%t)QpJGg17#3Qf;2dRyeXPp>ii)zYHW2*-Z2d?;kD^YTE_QUzu`*zcVXRntbZf=tHD~&SUhU5JwF44|Dp{psAvh znNz1#Kcj%mSqDPqLB{^eL+oi1+5cZYVUT&ozE2hvDT$=;<+jK;Gz9Xg z3kXDEH%%tR4vahbG@MlHE|(^|Cuvk#El!&#TqAqByD=8-nK~IHWL#0Py*#yEt};ck zyH=Crj`u&f`QAXFOmf%iq{K+7Q%T&CDB=HlKq(|7SL}hM$}$lk=7BxA{Hyi2{5TDl zUx5`+G$g#@VIK5_GWh>@`*|Zd!oxW1PLdg~=JE~sK=R`6U>Gx4O4?muY)}|kE!OsY z$)5V}SEn?{b|f*y%gkY#BWmR6GI_qPA2@AA<&^ql9SaOlR4ix!5R)p}E%< zGE{c%9HDeVK9`is<%TvVQ6=;JoXXnbRk0}sTL4N_6= zO};Pl-+$I{xqJ=+s;CIqMYxkN$#)D5dIN>2m{?Ic*th7z5t=~BwlmhB!JUD&ggt@1 z9&tl_1W;0hk}wG6>M7wx^rXxPC4)JkWP(g6nd1{m=J|w@xjvy}zE3DwQxZznh=h_g zAE9LaPbgUf5K7hogp#!Yp=3QkC|MH_O6m`xWbR8S`3eD{&GghxPf434<}LJ;q?71L zS_vilDTKDxQxqqor}eb0p0?A|_Im1|r;d6`=G24_nQIeD=HP^qxjLa_4o_%jJ$2Dj zS3PypQ+GY(>8XdFdg`f{o{~8W;Ya2vgnH{KnfDVtnX?m0=KX|{`8}cC^_0xviJr{s z3H8@gQgN4|KL3ON@8*G_Uts$T<6pM_Ko$At`6mbd$$@`z;GZ1$CkOt?fq!z~pB(rn z2mZ-{e{!J49H?4PuGyT5z{(U}|}!DYFR;5aa5JH_Y?<_XPp__!u*_?jj@!>y8Nq^@BiKRP%z+RHQ6 z%a#4krYp`G1l6+=;mwpExygg}^r1a@o?i8=LKuP7SjaIFSzhDl{=ZI5R>o`mxMVAZ z+MuUf^mMzP?$*;nJw2eOhxPP0=xLxBxCmSZt^Oj+jaXjLnGVv&Z0mJNSNP^>1qhU+I&i&k(+W8oZLc<+~IGSad65L z9ph0HaG+~ZKo>yg#m3p-*FeR12SfJ%yh{z-^pxX6MOQcC`t_}DKyh|jTT@ODAILVI@xwVxHuQ`i&QVTnpMVn zxGB9znbmJn&nKv-Ws^otvBO#a4ovD}CD?0_v@DW_Rg)sw2z3n3ihd%ljm_a?pnIjD4_zJ>d zmk)I=)PqZ5e;w{XFT*W~_hhK^fidt$gr0G*D_uhlL*fWN4sIzSIqXLf;b5M-2SeFk zvNc@mLoR&6^-1g-{A!0B4CkV7l~h7}Twr)YNK9~_gqYx-hVN|u%Nd?(ViV~~qmvF* zx5?>0^UmB9Tbp2lA>_(S=var05I#9zNm)9oi5NB!l7KjMCgicz&Q_F8p-pDa9;@+I z*pH5orKuqEZaAgD9ALzO2%M*MOlMC&xYg!|k-ji^OqA(Hl8)=Vk_&g5bup@Cuk=7v0!rsD`j{8=~Edn&|V`MJJVG9ToCZoDuTb;&{ zD;zgatCYBgBUz(LGn^-9?)cDYvY68e#0@!BiKEVa*#j(LBCFasGAA3D$y1gpot#kl zm%}g;e48866Sy`(i9@B#HB}wsBZ4}TqezvFlVwkpVQeIMZjCbjzbg0bs0U1*v)3$A z_nIu8*e;>b{};LaoupfcSbui%zG?IeAMhqT*y z^?e2RiCd#K(*^u=@Dty_SKt6@XtyMuF0hlr4~Zx3gp*5{Aoya=Me>Vp6p#Py{$nu0 zB4wsag&eUy{K<{0@_~f^pY|Pp*MH?BED}DB7$xGoA6t({CQ?KW;6ABEC&Fy5gwYSe zcyGff@*?(s`kb(|xnfB_u;jh9q`Ja$s7YClfPQE~`*sm{@dPC%IbIEU?RfOV#x^wd zUUwe0k1|8?JCPmxi^8Z9OPd>E^ph~&$1p)oSoEwgaekP3`&UM%2%atJCzk3GOWsFI z!6eJ*g_h#=mg;?MbiSCJb4>WR!|30`cz=Zn1Yyz9VPbKZS{;^?6EkE zIZK<{mh|tI+Y$a>mV(}v(St0-!!6aLEpw(>&RS}jzu9v84}TMvON}SEalaVL+8zAV zctY3z#Q){SC!W{N{mV928cz`ZC*fahJc0k8_`lZJtowiBzohYmOXySn?FarZ{wMzb z?SNU2fw#_NXHgSY`Td>y#weKuSD4tCTcdwy@%Md3l!~Ze^ zPe;m>@*R$OsK8oW4p_j<2FTw^3Ab#fgk9kO`a*n21ZIVE!6TO=yfvQ^KGttiyg~ZQ zfw(}N)dB_sVn7O{0(N4qcpG*gAO$9d3=!=BDgsOib)*Ce#5WfZBX5xp2N5qMvglAn z1(7_W4p-zuOP8&zXakX`u|9`O$JU|Zmoc(j#Jyl1Qa{w^^6#&tgt;UxWTSxyBcZ?wU{2+n zJ_H>n1M10uj4@;OW^$})8%iK-Knallv*5S1cTvD);5rc3k`f$Whdcxp!7dKpnic~J zU`t~ze|yWKfDdr@1^|CV3lR&){s>?VoQ8cNKLQgirW86$N-5xA`GHswlt|xL9#M zfb5eli!KTX$9`<-PD-dl`5Yd8CZG^F0PF@H1J{9zz-gcq7+i#Ut~e9G@64pZhL5uK z1x_QMi-F^SFYIyv9l(QIvWK<7pUd9@Tm?7*T>h~bF25j@%l{7e6$lJNxdL~9Hods~ zRA2*O+8g-~oCI9Lx%}loiwG`%Ay9$(F#~*FMsoS#QC$8=s4FTOP!Vxl{sHV~xW}S> zxsZ641$2SgH_*2LJqJpaW0Qs^WlEERAUif{&_nl;H=w@)?|~QWsaw<^{BJ# zfE-{M^j*N89?R~hSR-%9o{CstEvBNa#d&Zu80`_fg{hzwE7PH*w&N2#csNuZ@@g{N zY;OuTFq;K^DdKG=MyP-ZU=9oubNNGuaQVInYbod&^gqWzJ0@`XuR-^M4janltFdo$ zu|0UvII{;{GhlWLn3Ycn8$hV7O(f=GEjhx|2;(xs8QY0Nf z#aR62KsQzayNd|I8vJYkTVPE-_KFH1^SBawK`Zd?VvUc04}Cdk_-Y@)=~X_0H_KrU zwP>x6fb3IVMqA{Cqdm1P3Mi}ivw}vu^M$?`Z4h;?!lomdA%q?CH=$p$rv$fPHyF_Q zL)IE?av9XfwVXAei+~)!W+^2c1DXq52P`7cUx1bZ+kxYN4iE#GKsXQwNC7pF3W$KI z=p(EfQGyAe;yp+U#vB43q@dBwQ8b6kM@~~5>TtL{+}i?cZMpojfUYqmaDkqDlPd@Q zw_qIb#dwfM(3+7GFGu=J4j|vcQNE(X)?xt=3Q#~e5D!EHaRBL9E090Pvkw&&M@Zc% zgQm_(wAP9XK!pj6%3+>E&HPdIiL^d+_b{Ud1KhEt#Ld`G`1y#Ttb&}sB4?`F_`+x= zOb-$3ii+!PF*g1`jC~7SQ%BbLedWnT6Tpa|_2xn(u=+IwEkWCEf{1|i`w%Ol+wSr( zh;H4_T6b$*_S@WO;exmYbZc`%fDQ-kQRPCL2(_P%p~=rb8^VKOo!9~EvuJQX zrv>_c19teJm)Q>MKOWwf;fDiuZh#pEoxtxw7t;#A4yfxf2n&O-MZew&mjyt#0oae= zCmw+gI)-7nfA;&;U;F)+qu@MVKlDT3$J?Mr{xeVmtxr+eFa81gILIt0-|H}@jl)k0 zjx+gqW&E2H<&E^Am_G&41Pe*Db9~TR z)g)GV*mVBv+9OXA=g;aYD;J(m#++x?9(a;)o&ke*JTl=Yta#8*6RAVcVt|*Udcr(M z>a=6r!HI4u#?^fPM1cp8x2k-C4hQ_oWL5k`;9ZK|)^waJnXqcH_YDefue@2_vU|d@ zdxF~|gTv)a_7?rI)nqrMhiO?v;syJTHa9P(7UX4czZg z!jd8X6M2|p(}X5eO3S&|P}l;w(~ff$$m#gaM9cOGI>_GP;mT0Jyex&|rHPgoC&P9N zK>s;0pQiV4R^;J0A?Srb(C?84^8GI%N+_`+!mP*Cg%j}`CK?Z8%u)q7@-|E?UZ~UE z>wZ&dKjl&9O>o;$0#_WxZJTt&%`>td^Jz zh(=2$99a`wGJ>naxdQaI;?n!t1zO3mEb|4qT0hY&cVtX-5?m6BG)OA0dH(?^9jPd6 zAqs<>tTEV&ODEnpglfK!+fOnrnhA$-;);ZukK*YF*Aa|+YJ!dfBy7?nWl6%@Uc49r~{N>v6!CCuqWANr|zAssA}%JOUwFf(~bx6f}Tn8PuNu*4RrLS5onx zjaTev?KrzMKo^$8RLOqzXXA{M(R?dAZ^v7mImUOHI>Ou`qn~O$Tu(>V5w1^V5YP_~ z?~p8cDVFLBj2-bUG49sXa2R=EDPYrokYarPM|01vrU3mc+T;m zG4TTwpnezC!YYgi6=~e@05l8$$kFxyibD7YTGo4w$S%jcN_D5kHRy^u8(sXcVaC5M;Md7WHdF2%QW)E}H*>Yg~oNb(`wQ_GEcou@0oXY+6k&=J?1gNOMW8L<5(R2Ch8E7n;fKO->#?`y(MCM;& zbt2a$Y}Je7PomyiCR()>Q4QYzIr;w8sg|@ z-IqkzWY+e(HLP2DG{idsQ)x_uD(1}~b<8-Epis|)C*wRlVZQ5MAZHLRD19Crk7A6* z?W}|NZU#{ji?!Mny5kIt|12ub5i#COc^~+j@Gnnc>acO z!3Y#c$*F`i)5kd(a-g9$1UcMFI@Ig)A3NyAzdVVlN#JLNnt&(cJUe0T_0weH!D-rf zI<#UN%Z9P7eazxr3q-UkN39ackGf<$2u^&@4*)OS7k`Q5 z0U%zZ9aA_Mt^!5wX<5-whkIc;LO0{UWH*8G!uVny4$5qiW#wbJ=VX~*%CZWu%r;rp zhQQGGXiSMeJyy?xrrDym!&oYeWswOh*uq@{fwlu4{BVq(1!5a_YAjYt3;j>(GX?m< zb6jaW)ymknbMGNs0^{28F<#oCT_By~v+bxTvl$Mslr8N5+t2eQBLY9=VXNLA3rb$T zXuhOi2K~|UUD0&3F@aga7Jmd2o*0L`XI}HsB9ncr+pOF{b(BV~DO}{E<>J{``^z0q z?kFu8^>1FDMlC0Y>Lh1y^XsIpR?&_p9=t9o$VyA(_K#KlajZOLdD5~K$<0(9U4y$8 z$ZfbPV_f}*vD%cloiCpVK5xgmI+?C!rY_k0yj)#A78f0pbkmptj2f0rJye&B#l;;Z zRyYwgn~6Hw6)RU|43~@veHXYF_39zNJ%j1ERMFT{Jl0IYc>7yKg$2O&K;QUR#`IBG zAvwKa#~1*+#{Kri%mQ+buVMRG%yFXOB^0W;gF>@6KUC=-nzoMB5zUn5w*M)4cE&`@ z7GMX+vru4x0ij&gHi9b}t9pJ6b!idXI?l2%u(*2s9XqecJ3&fvWy;+0@!4m?t9HkH=y5oC!eJ{9ELGw*s?8 zR~=(sA+Hl@u0o*d;6wB8N&8{Nk^Rfvzk$9X(y;Oc@@)AivyFis1pU$bEh39*=ZO0^ z%|r)qv3Z(Y6*p!-U6A=6V?4}o8dM|b7T!Vs0;=RIz(+her`8djR5K}z9v!zTPPaS` zBtSh}NP!p<@oh4rX2+o7g@m$2J%$Dn$~-RA4;ZIq_E=&g0Z(WT%6kWbv)4aVMLk>< z4k4W)DBg7&1PT*yKwm%r^44WJb@^7BxV#9cCN}>AAS=o{#n2HOMgixJ ztAGP2vOs!n&z(9Qt71l-og!&6mNfz{_U`F(-D_^UQ)E@RmXA1jgs{qtN7J zCsjHlgu5_WIzv@;e-wsEdd`6vz$x?s^9l(~z%Wb)mrRYt>N}%MzHxGJ1)RBlgqr%+ zC=+L$>a+1TM`0oX%4tK)vn3tdfCIDwPSy}i(ldh(sjvYWHmQ{*N@ZeR?@op+v{`L; zC&zo2N)mr@G7EFKq_UT+e1qb?994fYTFG0w)0J6LECVFWiWy!;o@K|g(y+|y&;h(B zgSgI7kRLPnSg9sNQb(HAQ?xKECF;{CPsH}2lKNhoEXlM5Wb# zv^$n@hfs==!9d^B%QYfNeD!3ZUNID^+985c=?GXn2&M8weZzLp^PP%%)FEfed3hy| zTln}7Y$9s}CMo)`d%yUK2=z5+46YF6yg;sbAg+^`#gE$SzBupaqs3!&V$JZ6QU?;k$g~cn z^A3ptf(*2eW=QNR1ADRhIFX`!|94VvR zi4n+sGThZKb{I#ySS4bgT8rimN&t0iC8k#`8TELm?hlnGkMi=%;br-;@}t{2R=bI& z5Y1y44cyX0TnurCA9+f0;b62|dgQNj-8;(ik8X>VJ6pq#?#O;~;$)3M7PIg3RA}eD za-g=mD0{vCXnt&wwLQFSTN@%dqNi8vn2T_TtJT~U%Fn~NIit{6&<34&GZBkxoMIj? z3>N`Wy>q5;*EPKlmfDe6iR&6I&^N zKFF)UGIr9TM-p+G%qOO2p0ecTQYRB&Ji6mg3W>iw!s~Tw6!HF%R|p-i$jo8V*>!q4 z2o;K^4rmP|F9`hwmCZ`xhemjz>>W@x4~bCODz`{aOxNkq>~Pc1-5P=QeXXrYX3MXL zZQpk0mG*7t_KnogEmb45>Awo`)F^87A5^Pqd9Bp(%}B#HBNci#(a7Su z(~L%f#4&R}$Xb)-n<*^*!U!9MS)*_!&H|OvL#4`3olFR{A9rqq&afew!WtWC=NaVK z6v=gr)DfUq`M&)fpN!B!t|L<8PjLHTlbvPi7n%@jpmyfRb&5I9NLPw7 zBQ2In3QG&WXs}7!wHFqOmcJqSqh8Vft=`i7Ky;H*QkTN##hB8rURTIT!cS_I}za^{HsXU*h3Z?iIT6e`<^@V zGP~y~yb7ENtg?wb>d`X0;fKrYWknPuLrdqtV*4B^i^q45z>?VzuWLy+m~^l@Zy;AK z9)Xo}CdOc*N~VW||M=gI1lCtZwo;dDPouWrT@?257HVp}-SB9=jd1;+LIbExF86;y zF%6`?74B;wCHsOgf>dpV5Ax|S5+g!&4WXhUD&!m<(&8!hG0Z;f9HKy~1NJ4V;d_1m zU6mlz5!D6s33%3s42MdtjbCM*mJCzjZlWy_ zTlM4!mZD3}0-f=)%xCS%A$X1mOJS0;a4n1JmaS*Uk6WI;mPAy-BZN#QLX*j;WGW$9 zv@}_~I$2VXEPW|iwkuh_FFEMVWcqk=@ag1fpC?bhmaG^`R<_N>3KNPk9i&&lBZPqm ztAmH$2#@4Ucx2_mBY!JAwprj|t%OIl9UjhlcreGcJYZ&v|@(^!RZDq3ankgy?P#kpvM+kWmDcK!}zS;?;ztfRMgK$aWF(eMHck z1bv(cK21#foS1%%Pz({1^@H>nN{J*)s+&G!7}P0-^sGXsgr`y$G8C=pjDD*# zI%cYV_AAlq{%B`^bks!jVN}0Cbx01E_M%=bX4RsPzwonj2?=o%V-+yv<>$$^<;g)W zbu~}b>l|jh>kiE?xnPR*a zI(x`?*Jw=e1SUF9LZ#`?!^VXAG%|M{lOKgTV@VH8IH@=MfY~w?1>?mJM}t-Yw?>59 zdDQ2t0=S(IT{fM<|L|knDt>_5`5)reNSYS@|KYad|BTzKG~fo~Lo3qKHBOBh3jL4q zJuTpS9O3&p!nY`Z@8_Y*C<-_K7~g^);QRRx@jXtOr2l{TKJ$OU7Z2cj8sU5V5xxm% z4hf7PbXZ=>@TaS>P$QP&=uS{}uTd`kjg6oq(Xdwh7YyLvO0-{$w~sO&;NNNy-Q?d;OsZ&tzx z3k!Dzup#z7i8X{`Uy_K;4igG=nTMe8g!ey4#UccFfm9^I3-C2X4ud3AN4b73=829b z5NLl-bwp^2WX^mHmN=TtV#peF1vy0DB5%E@FhYz3AxH}=G$bdC`E!VlKY}19f+dj1 zyhR4QX8wz4Uc?1tg2pWTFsm>H&0m@V86DJ#*NINx=2mKfydxs}rH6VordkauP0aP0 zKZvEnXp&jDPsil8fqDd1W3aF*Op&`zQT8|{6)7-XZ&Jc~6Y#DhI<{RQI*DdNQz#SW z(LBui7L==Vve=Z!Y~CQN|BkG$UwG(L;Znl8UIwZOMFW$ByDSusCx(N>qTxX~Q@B*@ zdVvyys_RNnXOK6GN*zUVujz{iKpV8sdq%8hu|xYnEdF=ud3nXbz;YJW`#+b#!lad2 zN5IN)?bO^)&juNSaP=Xz527*sjNtEmhjz{Ezf4jdrA$g*7c|Rfuo2 zQ^-FsG6k6L!&bPi3SoIjv%}_Lpj!~~dE}qW7j$V(6tC&^bANgO ztKiaVN?r3H7O%ryLjtOTzDk`~4K$e+A$`TlU}JT;KZZaL{U?`c2_#?uIasO#^jqwfh9!^yT}|UAQd|c&SZW z!`cjdc#Xa+gxmC>%t?b7PfM-&PgwI4t@(yPx>Xw<(4oMrUO$(QdfG}*No)x+LmhLG zHzVW7LXa&tgKXIn^Wfa|`*pCo;RaD5Em057b>BY<3vHx*Sc9OCh6wU;9a#}-9t8yi z6oK&7j8okQmG+|+Xc%9u@@QyTLRnN9S%;V5);!$xz^}!HbhM0)*eheo(H`Xin@Cr_ z>p-})MqDGToiNAK52~Je;FjBDcKda#R#{njz2V6RutszwJ!lGY%j@f}x9qu(ol-({ zeJ$ew&2%kO->y7+x~oaKyop%5L|P_3ArbdM=b`_L-us)qszw5vkYm$~_4N()^;G@H zE|76H4`LNbOuCNwf{exH zX9nid_=)?vYoUP(RJ<8KcAuuwNihNZ7e6An@!|V23?3lvJ-DwWJg|v$=e|~9VA6E> zU5I)#R6==Pxj4^vAL^I;7UQDDKC3d0SNGrd@XGbPEu@=QmX{@e6@ zYsnP}fMKk31)ne2+xX|lbN|N+blJp-8O5~9LtV{*^&?gsLG~d z7iGT}HR;cfnv+|!D7)lo@K2?FZejMKe>V{7Pwxj3q!HYi`*^orsS zv(2j@(it`9#nboghZoW_itp3f;;)3LxV2hkVF=+e2)#Gco|{>#u#Xz;_FU)LxuAqb zQ`UAz@%^oZy4*F2yvF<8FDZ8x?hvaEh}|1kG-wu3+_C$63T)EuLgnU7P>fAX$4%~d ziUn`+rO6%7fcMdU=w$5FeyErhZ(6%)<|fIenEZ{3{N;2}QAKvsjye)}polNg`+;Lt_8;$qZ_p?6kO|MN!U!4|Ox!+S0+I9uHd8RHmGeMynGU{}>`qOhkQ-f%^(NTOiH$`V$ zqgZj;^wjIY#r-EwRL!{GU90SFSDrjk zTUWM3xUvKKB%Y zri0oKyZ1M4pc^*?ajQ{?qq)^6SasHCYZDM(R}t`a=O7cD7hlYG)kr~Np# z>Bq7Bk7Bvlds}~)*HmO0p+Bua4UmY~LBC;ci3Hk+3j&N)7w>sH5X%3&=eTk&^*n^b z7YcH7|9j)Dg~rQ-#w$dP_u0Mf=alPHawyZ;d%yhLMs=-JW~3whsiu#OX^VWjl^J~U z>G|EDyFkIo(HM+ZM&oYPPcUPe$NgT93-o1IO*j7byRIwBOEmz}GpqRbzT2qgH)r|! zlxIJ){n6f`{Pw+jpw2vd3bn#V%G#qR|5~={D-)L{(DB&4izb_#F2D2@q_WMKWRE$v z_xM#AH8tLvk@!%myRfl^GG8NKEV);-5k`@hCr6P_6HwU;1=1JJZL5En z$>f4cnHe-POfK6x7nXHch!OkJ(RD%B1zqEOH<0Aw#o!O$_~m&-oi7k|=2YHBOmcIM z;IRh?74X#mFvc?(!?uQ@Oy{9e*@C%ke|m`7nOysSFZLgft}k_6wTkZZ%1akep?ie# zg+hZZfvkg3p~01btOK6OLIa-3LW5VZs7%ddnI*42L^4Qr2;qH8+K_gSbsio_z1On* zUM$`pbOqV{c>g4|ItZkJYK+2?*%?l|)c&?2E1ErT$2%7DFIg__qMz}6s-VL=p0w?% ztk_j;w^a5j=()%KQccFu(<<-m>#p2>>`?pa`O`l6Yn0h8ZFn4tc_$Vhn12tI(X!wk zOxo21f_!5d+74)qqExqVr=9uaWVrbaX+spi*8@BgfM@Tee&xrUn&7Tl@LNP z4=A-fjDnkU@pC;cJLIg(ClnBJG!$7Vq8E{eG4W0lKN0ag|%@ zEt59<1Hk@?f+-L{>6jFy)C*55Jh%<3*)p-TH&b^f91=tHkn+HeBEI}rGLQ)r#O zTk#v_E%q2qJTcSkl?b#CQoOD?KJZbbXcnE_dYa z`t@rKlsz-7!t2hW_aJ%YO_TR04^``_9O7tHqB$w6b@nmWvE5wEUDKcLmcLs1?qlv` zde3ib0nQxz@X)39Ujm%vM7UU4d#rV?y}>cC8;A8>ovFhhEO`#9o5=GHMZ_Bzd{0N zVL_9gWwW9{L7*#OKt2B^eiVmhcjKC8G1X4Wsm9EI#$l$ab?%6Ogw7Zo(t1ykPr=r+ z8+T>E5*pXNzYC&Z*|!8!)sAVE6?$5(;h{~z*g>TEcT6=psw$ZHo!Ckl4uxA;rX$VD z&QP)pBHEIygU^;1YfqOB$@Uo(T97Zo#Oi8Ts?Y)X6Hb81vzcoGhK zaoOdg>^!!yZAU8s>}fuO@?Jkehc?c8OrKf_Di-qvzxZ3oL`dTLHw1)?JaVpgfwbYb zL#(rX;FY14o!>X6mkkgVlvi|6PKf5$WLk)q73FOkf|{b`XSB%1#%~>h9C=Dtqp%p5 zN;d=BV9x8X)0lYhwuTYai8YUl@-7T+Bxkyb;xX@55{RZcI0}690uFosHw1)Y!*0CP zr#%dUHi4DE5r`)^%n$jT+CE!jUnFC6h2P=F?4P3Bo5(=$Ur zc1jZ|(rQ*^2w0JsS&HJpOjh@Xl*v&5W?9#;y`suBp6rhwRH`? zfU(9LE$a9U>>1|aC7@4DR#PepcSd6YU7{-j`cB(b|BY=AQqi_4YIj)6fN9w-@6U0x zDF|WU0?eyfoQob(twT#{TZk>TvQ|-Aei=N5kY>tFdQGHY>8ekb(V;NPmzI0PXwCth zCaQPZjF_;w<}hi43Rqn-5HZve@qN9`vOvA(k!nqdv>_Nkqyx&K78-S3n4$ZFpg%}Z z)4_InoyfZe*GA{zLtrqru^gFOAcYEyZ!r8|-nAq$R9OuWC|cg_2Cb4So6O!kfp{Ak zgrPd}Y}MFcQwWUa)_44sybjeVs8eP+s;GpQNDr?#P(8!OE|3F! zW##@3v>;hS7 z%^g&>`qM#13$i0)+gAzY1GR;@p_yRqOf|0C*eHLbK$S}m=m$8@pu;l=`3-APp+zle zgR!WCYInfnC<=2I(Q`nxg}g<`%eTBY`0e|Ho?1oAyYLhukP00l&I~{(QicI6Ptz!{ zsF~I^?_*BEV5B&K*PldjCxm=uVLd#V9-pm6;y?Nexl*G#3BA1`VX1 zoV9qF@iH0{+KWto8q{6EjU9@v4g`IsC@5j^8gLkPB){Xy%zW0EpvYW}V%DL23`I0W z&v3jpnEULm%r&?jA`?)gzDT@WB?3);t`U*hV9P&-!NSj2fFd{9;IXYpSdA_q_qgSQ;D87S_Z}wArzWbF4uUQfaIvOioM{jy zO>jHYgb*1z2B9+e(H{GggBI4}CcLA5bMu5|2^zN{4=xeq_mrGljS9eaDeZ3NC{or! z9TaLN{@{RV+MrHvNql!!JU0MVjPQ&({zKb7*EbR_7G)C9E}EhTX%S$+Q*?+k1@_vPhrX413CSM;n}TFJ4hlwQ;Vu(4h!RC( zG2xH;mg@_NYX(&jGB2X9co<^KDATsFgPtov2|E47DQ*hX-sVtH-^$g!19T{W z>64LNf$Qi5dMY7CFh7__alMFgsHqS=)i(zKR!a!hW8kOdfvpIky>9urtEePs2mpeu z1(=^vLV)AGM!A^&Ibe61Y7et=Z2Wxug@NuYrO=CtMDbtxbWbSyj&oliH~@-?m<9uh zVHXVk9SOOHeTT?6&}e2Y#Ufd~6HBc2K*sTBd{9o32)1od8ROfyk0w(eB?Ha{a?Udu z#8^#s-ecVWW~h@P&Pz{XprRK+PB6cb+aTLsd5dh6m5*2z3NR=JDNIjII4R$=!yY1URoMrh)jW%1%w=&3Xw;q!1RjvqNi zRF*MSp8$n;x`CaT9l|FmgS{c8*0cDd1BZ!{DD1#~Lc9c1=MB6;#YJbFJ}{dQGnm>u zu!DGIQAOgXf2`g}flV=MrT`>KV<6IJL?$E=T6L0$N%3fLsDE4vO=!;fI~IZn^A|~u zDP5E#?6F~7#z6N;<)zW`-ofc;0O*-k@t^gLmZqQ^f1)C5KUw^>vDO1Nt&tsx2Z^?? zVY|HK66|pbdZ&gb2S9aNUu(Happ@t1u*Mjy;y#O+5t zz#R=w3|y+M&J(rfiMc0GOSR|ORyheQvL>?DnT)M?8MaT_K$=|%LKiLuWgd(x%+|Ze z!Y#`|^gZC{fyK$Zln-BSh&Dy}8s-gTfYurvg*t3v4~JzBK9i9|Gk{acuA%%Aw}>zRs6ZoJ}P!{2=iMBF(aG|H+D z-})3WS`rC#`Isz>qv#0pg@6qkch(mhu(^V^X=IF97WG>`Ey0Jd4r;C8aX5hx7Uwu| zr;`9xnEhv-etgBbjQ7mfU@E&D(WLC8)}I0+UnwdF)|5R^E1*4WMZEZ)?=r=MZK-hX zu429J&3$Mw;wE^x6_%NNrx>i2AyEZcM;au}azkhx0VYS#c#z)e5S51H$7mC+4kAXY zwL0)pr&g6kaMn9ux27`SuFVp3EY0C_IDA(KuH+8nr1_P^>Yz%izXBHF4)|iUv$)rN zrOrsJ1BRJf+&d`3`X%u|v`=!NzY@xUyIr ztiQ7~;n}~&b`V)HSe6D>#As(wgk4^IC=Ax>5^#2ur;!FcF^q7m^BKgCNGhxWIV{$s z&h$B36g#W+eruL%L)<1`P}QYTbT9{m_-l}f>egr*sMJA>*GJ9C zUM+Dgm$XFs(DDT37pHkjVosF|vQ*0~U-wUyz68sF%I8Z^F7^jXblOSpVo4t5t0N3z z11Yp@_RbOd?%IVj(?aTq79B9$E6=W- zt~KR^6q!|RvvYo}`t|G_Hb--4hFjlBl{uP8Xm{SBio?uLOWY<}qK(Me_VNsTM|F{P z(<;@xh}^YTvp=3yv_A2DLc9^nSiKhBX3Vy#vfyfVTX^M$tJ#I&s@<}Dc3PiG-F{~a z^*re|@ex*SM7Epe3AZU=C#tHY=^*hl7)$6>`4f46y`vRtC(%18a+|pB+uDe#Z*FU^ zmfR zyvPMXc}MTKO*vv1gR(R@RBNwXb@IMo4q7K`4(=3}Icgfds=CRIyvY3p_4j6ici0*( zR`qbhFG@CtH(l&{OIiDNyWAaNKV~^{T+~o=XYG?J+|I<0Ny(6*fKZFghleAHc0Sd`t7aef=zkZqhj846wlWZ`SZX$3K$kg z=V#o8ro2uZ;COtCyetotQs1}rN_pRAw<#@;k1+naz^YZWuY$4W0+ajxKB(48`LVbk z^nZg%8>P)sIY-?I&0?sU7;NjdP+(c%hLbk!5imy3kfh=*IBW&x^W1;khAjA1Ti1AY z@@1=bCS-pxmc4Aat>16@$sM%O0q7B_7Z43vFg8!Bjs_wy`7D+{j{sbuFD#y3#33Rm zRf*Gg%-a!jNaB8?Q&iT{Ou zFPYqzJy4akiRvjP(M*@jms&O!bRua4=TcBjXE{o42Kb~?YCp4YEAUANbCKhT%g6Ze zX1b=OE*PL}EihwLZBE$CmsPfKzw=n5sU3+e=&vQ!w&xNmQ_A(}mU6Zj1EWS>&+Tn$MUi-ceB(?aH5uz0%~vZ`C5jzu*B5LAdi)gA z~)vkwd0s&3D zr*AvX-A4OYi?>^0~MKcEg~~ zAeaLEV9nUd7{6eeNm>q~nr4TvL`UJE79O6mT~q(|Hf;`C)A8%4z?`oQeP|6Pp=wmY zBMESDnR^X6pOWiOlh${}EeVQ-|GW)iqrptovSwB*`x`$%Ii4SO@t@{pD#(9tb0ILvlp z+%|*&)U853sauCN<*#nT1`GtF!U3M!41Vl;zZcFm2kf#;m@67&LJ`uqFCtx|<44&^ z{NON~Yh>J+PqOI9%=dLz@Pj&VYf#xv7ULM?aEH(YXF~B)Q3O@V~}a6F~}klf%hkE6Wf zlWq%u>7*cjpgiAVgFsqG>Xy1-&6i?RJj#*Mw33|ec6W7PiD{G8fv%W=tZSsMP7?NV zt!fRzpbQXGN8c6>fNbJj1|wHbFE;b(?~ndh^xpMuEx@ z2iU_u7;Z5D2L8Q7@nFR;ueC6_pjUddvoFN)A-49|_Da@+=C7#(7lAyqprsUe#mdT^ zESfPPLn|SpWr7`^Ot`1R3L4{C3&6S*(oEq!h0~OuXS2g`H=&gaLIMp37zGG0@8BQ0 z^^mVh{!l!*pUATnHa@%}M+ir&0YP3hVO2r>PL~l7;AOC4hj*Eb`&&P(^btj%Y_7SV zseHEK!+u{4(s{Y1^)-ryll`EwoHV?U3ZV_}_cO0YBSmJ-l)=tqL_JSS09(PdV zxdQqg?zMiW-6FtG0Sg{SH6%uA#Tseqy};N6pbmGR5DWK^)F>Dy{-Y$$zaTtY9T@DE zeY(%{{Skbd)WP+$tq&pA@w~!5{-9b83(BLRHBqq%bT}I9o`c1DxYcei4VhUDmdw%v)jf199qx2=BXNV?1g7qE zlCXIKIK_7%oYF{RM%cWtrw@HJFM5;um0mbEJLoDx@=RBs<6Iy2`$;SS6xQfq`3*GD zpT>3Nt;zW?AtkY8dL++tCxr?k8u383FpHJyyXbTnJ9a%MrI&&OGzIfQm4#7%vf9y# zm*&Azmf!e>4dgku+(vMXYZR>DWwaZlY(0eyNhT&{2ZBBO|&fmyH`6n#Lt4m zheB3k@hf|2%0Mm;Rl1%RNcU!+OOiJ1kx+% z7X%(L{~WPHn!pY?oW71f(8s(MuhTbHmG|iusVxZ}dIv@tExHD-s!x}o1o?!Ik7+7$ z?CxvWjjGJc>v@IFz;Lf1Uy>Xi25IqGJ8ZoyMg22fYWhu|RbVdzoS2972uzrxDQ;^Y z_^pRAOMt_u_*eRpWDqJeJWYv#wH*b0#h*eFp&Vlx!{wuL(os2SQs*(u9xyOOgin(? zp6dg@^Du-?mTm5%DFM!q8xKnowNG%&Ua! zbwOW`6^3i)h0Zn=^jd5G7Dy8yiGBlS?({c>xa$3Gy{p^b2AZWp?Wc4(Hy`1yj_QNX zO?=y^qCY0Rh}^N3e)sHV*r3aEr7-r?`c1f!*#;Xg$ZEcGkXYESwLUMVSQRb&_MI* zw7wV6MrxXr(NW#dGzrSUmRXWC{-axr1GPI(CjZ3`#aJ?wlf{rI1qu0N)+#M23TQmX z!(IqWM-c`&^E%~8S9SwO1=vL3F?sR3#smeNcK>nUbqJgsujG!~z04N^r^$=AckKm8 z#U!Jl9C&&0=Ws;VcSYG1sI1&^t(W;2!4J!?zVl6eg|gePu=o+BMo@x_a;AQ}@rt7B z8Kvbgmg7>u=w%7Z9} z8W8#S>h0SsR)y}Aq8`rvzJuvl1qe*Zb_)!l@h!c}r7-{q)cITQqy;P)|6y-wz8XTc zB)#1jm_N`!8-RNs;1qBx35NVyvUs_a-lp1e!F z8zG)UWagOWMH3}Cn8Zwo*P`@Agw=sr3K6cG2+o1Pw9-%Vwdz0jg88BV0LRBG3z@2? zZwW9cNP3_|B1B0F@2L0pR{gP8w*hUF@u&!M=via7jxw(Rx7q2cLF`_ zZ(2dbhXA$^$N&jK3XxL2k%%hfE9)*0(FCcO+*XRD{lAugvtg2B757At_M5@spJ|_ za?YRnWuTv$%U~k|-F5=o#kytIEpl3-TjVTcpXD-cwJh$nL|HA*S}nVsnZGcVTYXwQ zGmANg-LgDxsuRIQI@1s>?5}$0S*45cHzf6~p2`kS_Iy$46aP{BDm`nh0e^!&$;QRT z9H3}oqruSi79O-dcY%pk9a)6a;vg38nsb;G1-Sh!rq-p)GtrT27ZZ(kY%?2osuT2A z+`XGn0+P|e6iK*f6vhmu+0>PQcT!;T^i&Y=G{jd0_o~BDEAp~<8Vy}) zIcl0R!O94&S`0v6fZI!Guf7!$q;u7uMFJxF1aF3RaKuJL3f zuj@&7m)t|^Xq_dj;)i=Yu0fHl^*}V!aV`nF;=GI^bhu+ zTsZSVUmX34?q-;LZ9UF-?E@>S2pSzYI; zuSlD$`1Fz*u&mlsbMR2*DbM?Rrq#HSJokZ~096%Oa~*Z33VX07tjP){G2LP9=PN$@ zA+}dU7h69$)pudZ&H8cA`>$OqKDz`KBZ@sokNizSv$2skgTCTzJnS&fN|Nn~t*rre zeZL~K2Eq(Yi8XL`ja~|?^&0IQ-&ee_WJLU=Glo@s^n+5&7k=DkX(S)A+yHGxzx@IK zB}_BWWEC*HmxUUx4p+m5>Q#C{@n?p)ACTg-YTjD9AL%46kTX2cMssVb;RJP{jjD&M z+wS@K=>}p6-_0xb@a4P9suw4f9={A{+yM`pwbBz-(eVRJT%U=CTOTC#@#jlV+<>|! z*b@})#y!{Q$RjnuHny^wsxQ+87WGF?(3J;0dxLJAxV@K#P5R1<$kY7oMYgMps+iCc z_8JeIlc=orB%bJi;oo=AbK}J6y}@8MhiJgOYRTF_XKe^tcX-|Yb-QU%ELHZ!y6fwr z*X~;yzwj2LHYF{LPq?*&O-hN^-%5HGJvJ1dhPjDt9gYoCKMvOq#cp?g^dxJ)jx;9T zcd@t>wf1FFwIjsmYT9htd7qO=nVR+QawFhuavm(|qoZq?q z73q6fIgD{)b%F?At6eLU%3|A)n?nXNNNR13si!6xJ zx;efhCxU?;6Va`83k3UffdPU0fHhGbJR8$9!)E0h;Xsm&_%0kj$S;tVo}j$L-|G>d zC$bx{fJze`k9uvh#$dB;L~ z>aL29VA6Al>Lgyf2x*eew>}Bm>huiGecWwhcp~Urj zqDYVK1nU-KTjYfii}+-8cNF;1LK`l-qDlJ``|2c`a-uL4?%i^>K54GQ3RQ2zb-T@? zTBqw6hBVSNxrKyLL!diLOJi=T-Bw$pz07l9G0mR`D;sw!^z2IhC2RZe>pZ3nVfX?x zBEVS#*u4z2mym9j+uGD>Yy99~*nxveoT z`%>@wX=y6j<3{Z+ZTO-x;Z!*#Lcw>)lpPAFbqHlH5QEI4mg!BQ^u;d{@bX{4{%BsV4cql`J>eZpzRXQ@%keBvi4p&sQ!@)P$THNQFz7>$Ws#e17 zBA^ThnyDLZ=v$d&J81k@u!;KNDZb3?B{QF=W|O)#)_C`g%mhpFX+@SD%PqimkS|x` z>)>qh@`RyW)YupXo9&0r_hTR5^aoEn^dIamh;xT-3_mW(CwqcNpH76=Q=?BK-FrXw z>J0?)XZ>7)Nzf(DJy-od!Xe%eZvBmav8QEQ4?XP)*?5?6wkC1g&^QhIjj5t+rxfh9 zr&ByxwYdjm*|eN1L}g&rkOSV>B03CiWPn>0z>{1Q?p;X16%8=1!S0P_Aq6f1lFz4F zp6d}@kyAl2)D^0e2;BK+j;AhPMbWPLkP?pM{2SG>s^=VW19{AIsRb0=wpJMOK)6eh zG{;eG<7n>n%5b`exBp-O-M+W`vI1W@dgC*#+wPF@Pv>SKna0Q|A0K>0L$Q|1tSe;MT={Dr_bV$e4f zFljFMrSQRHctJu8%Z1Ac;8yu>{3+=BHyCDAJ!xSswgO&304o#V732PdJ_WiE89x06 zH_D?oqkwy_AS>jA2a^UrL7~|0LumwLlOeGy^XL3Z5Gs+b9FXy}JiXhN1Dv z`S8sf8onD{`3EfdE`$%mZ#U2;6Yw1e_tuU?qp=h40hnju+bZZAJm|YTGbs43GW-r# z!?!yRB^o>6?tSzf9%>(aCk4Wx*xada)@Y+J41GJN@{fr|bpQS#fY}be>v!Or4nFvn zg9eU&--hpj!rlJSuR}fnhrXHff-TX==zup~8~X$Le!y(_h2;{tzECgEfIAv~fB*B? z|0eEzz@sXz#{au_H@o?>KoUY01!3<^!fr5Na)V~0pvg+JQK7}CELv?Ln#5Xdm140i z)-2i(6#JsIMSN+SL{qSpir^1vU#So^!4_Mktw;z8XhcCPQvXyz_WL<=ck_p!{l4$} zeV*Sw&+NT-?%XpoXU?2+=FFKHEyz{&^DpAc`2n9%PshFr&JiNKLwJkuFTw|e3O3VL zXYK?*{yUsUO8$>tTE^KuobNy=pnh`Z&;si45TT3kF(HpLcfLaSAz>Xs&To-3JaRbC z!Ap?ydYZ4|+=?G@Rs}FM%3n+z<&k#%16LaT)aUGI(>Y@soW23v8&_)KM#{7HFJ%?M zZ*t}~Fc$$&&eQoDXY8!6DXVygbQPD=MucMWIc}f6;B>k5sh4q1jwg+Cb*O7D&$Wbl z!UH_7CfvaN?+DYmuO_5;I7^6-U+JCuAXh)vSGY=E?{al>)=xIUPnb@K5WY^hk??)O z>TT4Su$?^PeDfpXo+7w;{wdcd2-^rR5?&+h`#SAT`9JXLQ-kT8`$T;!x&Dpk%vD;r z;sGsObOrUMzSn~jIZNnfu5y-;oJ;ZwdF&(H%sE4EaZRDVSp+HXD6W$U3rIg_42*~S z*@Q*lau&4p&T{f5jMz$RJWaSm&bWv>xs!u2p3b=j+T+}a4@e_t7Cmqb`unu3q6pgF z0i2f!Ph`sZHWzF(MsO|;eQFu+UR0J^{I09(YSH1%Gn4P?f}E?ANtg~?-K%MZoNqFfa5F&~;tkR)pgzg7k>s4D9^vuy zu}scrdGsr^KkZQst5$k|D94%CYcoc+Uj^qYCkCy(`9=YZp@38QPCzu*^~ zpYj&v+)8}oX86-j;PbWcI^xE1efUObrjC9r_~cBSe6By?s?paTrp`e^!VzMMW8(g{T?DN$ot2*ZYGpWF4n4%14Z%;bxL#K<$c5R7i>D4Z})TB zPcFQMbiIbAjruF+f^bI2i#)$hxGAJh{isZzdKT9YdDcn00~jm0MhVrxxtOq?xXC;} z#r;0+=M*9vdHx+?Gz$HP2#(s;hOeDW=B1Z^v#tr=_{teDsFD&PL8^ZUwU&wVS*9}~m zG@Uw$``|af^<__W2I@|pFZ%ctK;8*R-Qq9B5Wrd@8C)wT3~7wA9QMAH|HL? z2+#6u53mjp9_`Y?!SmpG$hIet&9CGmpLu_TF!0-+=si z6xxBNMmc zMIDppf`#h!sSi%)j4$#ohRAQzwD45)qddq4f&B<;hz-$@wGz2icCY8l}( z!p(#SNPm#)8p3P5Uqe_&SPiU3aG*7F_7wM{q4Qbfmjgd|kN5v1G*#Pl5crZlwSn*x z!b61hge`=Z2)%?)2*aw71BA5^ed?K9uOQq(c!cmKA(!|t;da7zfV+ch58)HS5&X^0 zBkoed)r4d8F=wj3@twpOZO?rLJ%lh}7Vjxz^8BT-m+4clBrb*PkGMWX*zw)6iU)3m zcM)bCXCIVHDGOl<;Tgiz`;a&2%zp=V3SrKC@VOA4P5P}1$|}|nCuhR_?Mjh1BQ!th z^TADZoj&!kDDoCLa^vOTkMJ@f^9u9=!UKdI1bsGrz~u;EPxuAt?)8cLjSALl4~0na-K9}+6=LdT%aYll0+4{(Op#5u?s!gmM{Q?|{# zzmfNE^ZW_ntSj}YuiS|~d9yZm0s7eWKSu8OSu0NbjfCG4^s6W{;bruO5BcUk?*Br7 zcAwS1O8E#agljE%zd8n>pj`ZurkKO>=btYD2ei{% z(oH2K&zjr!AL!Z0vlha`giAR4?MsAdgzIVV+kh7%yi3R@ZbU77jc^I!M#3Y6X87i9 zvl&02GtCBfJ@{iD=vJ;4dx<`PD)cg}4jXoO5c4#7(pOYjpa2v3mya_ZJo;RxqcI>Ob2 zMTE6q=gdZUPCl|~^a;j3oZ%?vf=wqb)pCUM2{$5xmLaqLMqaNFdIEr|dVwD@f0~J9cxu z`WDV><>fjq)2XEEgV-cI0W`-ocS;ix`7e z{`BmYpK!h4?B2)D=1{l`_^x~^bb1}-ybIYni#i<_`O0-WVJz`2gqxuiRMb1JB#&po z%M;Y;O3F2lP)n#INWJU1-cA_7*z0+o83VI}^S>^bcj33MU9)881sk`|y(f5g=LN^U z_sdx$r~mbWzmt|zIKjtQ!q(#)5Lz*X{QgGX&0L?L-ajEMAY2dr9a@Dyv(^!o@7^Rx zemlOyxCNX_T=|b*XXjoyMN&HwR5;SKV&2WVm2m>$D#Dbr9bxS|j_~x6TE%MWLHX`D zj;`|o;T^&ogtxM21HzRPHSIa-GNnq)Q^9gZ>w4Wxec%qo+Ai*#3cW7}h zH2l?U+Kg)(*Bq`pxt@j&-NnJ9J>+pM_j2x{oZl#CFv?kuMU2hXBF9rJymPN7yj9E? z+YgTeu8g-aBgC7z-bKhk<}c^^6Ny(R{Lw`5_&?=b$O__S5N=xq&B7zDV=VsY&%p!F zEmxyUUu=(oM~yaRda_Coog0B)MXA|xq-Ln!d;k-SrTM6qK11zGf zi@0Kk%Dlzj#vZ3%)3H!Z)4kdLykgub*?&Z@!t#M9>N)cyjoG4^5zX{yvum}2t8@;G zu)NulLbsz?YHQ!v_QHAE?T$iExo;A&sZ|~==ow?0x@LJ&11nO3o+c(lf*vA5o{4#d z9^P6(U!e3AnQkCI``c-*Nhww&)r@$n(gy*^3VP18p?L!w@jRp2ivUm0Ao6?X_-0~KI! z$AP|QQ=SE*?qV&tve38aXkj4eD=Z5J3M0WtVKf-6*IkQ_R#Bwr4oQ}wg`$(3tWiGK zllwlmmnOe)d-PKg_=w)q)XIcl!M~H0K0!!USu2efC@$&-9oNYw&ALGarhZQHSZ% zET1E=@gmj;EbGYTx%r-4B@;q8MlXO09hBL5nl2>o?sst%Opf}CX&8V(E*8>|z zk(Pc!8Wyn~>2&ZXtvBt6^h)SD*#@egM03nY5e?=seL1RA`8s`2I7C*adR~3a`O@L& zt*NGmK9yy9vi$z*sL2sCE3{-{sfx`sJ(*0-_yYzn*{0pR#xLxxfd%LHx@M+)qib5a8942lw30wXNyDsk;FE}@Mv4-+Ii4L2d z;4&-Zp>@4Zb+0&U&~s6sybP=aLS^L^|B-Tfs}&esZgTOBwQ5*iZ}+vB;=c_pt05&A z`IE_n;V=iQe$8NX*#VH6t!J3i^kCGVmnl4^6CdD!%WU9Zm=QbxY&k+6%gI_*zAeVF zU&_L{bH%1&^+>fxpyf&O~9`|DA6=BYAmN)yO# zn4gr_CCJq^rZ^)~-bfOyhT2WbmNoE^iy&83&1}^g9o|qwaq$PxMU*D^x?NtoG3$;% zNEA;RGO#gQA`5*%pOu}Aa;=T@9*$E4s9_K;dr$DCaHS=D3WEu3#AT!^{DpWe$UIdQ z-Dj(hI=n2CZU5wCsJgqr&cpAY3m@+eFr%pot6fA}5DPRii4q8>AvYWd(nss6lc z70-kjI{wG)kv*ia&}t|1EC5Y5NQxOqu^S{R4H8W@NUCZOXplBh9bEbk%>sT0v_+kd zwkY(hjj&r+(B9Vi9K&(D!)(a08b(bMjUh_^pKM0vn!civ^F9e|WRH3GT;Q64oS;?s zWbnz{#qQvfgd?K=eg!PseXP>^IA7G9b=-z};GnKrHfOI6VgdFg>Q*@}oS_KLhr^2VeLM9+-oh;D`W z^P83Qil)=GppR^VI^-vewoJrVD8g1PHOLlMqP$^^D9(|QSVw;>J(~?MRIJ_~t4rEj zYjjq|B|motmt0~NE}=&tSfbkO`~M{+@Gn41utn|a`xC_|Y(V=pyGF}Fi))v}el67y z$=N5z?K&(OSO+x1l_DXf#gT|%-O)Hb3yg+!ogGNHK@c{Y4%8H3)YO(ON>);ym3`&e zdFYS~Ac4~HNYVjG^A^9LZ{D@m z7rR7?Sv6A_N%{-=hQKg3WsFrxB&p%0>D9Z=of7tGwt$IUAa9x~C3ymFKTvX@WFW)_ z-TQL9^BfKRFCAa2yi7BiVfr%cR|S8Ei)VyDeyNd=a7x<7v_ zS1UT)jE=B;!%g3a1V@denVvLx<TQotJCe}%{+sjx)%#-a$~OIp z@Be?Jk2!tqIPMhm;aj^a_KXy>>dQ&;a1iweiK5v;yCD0nkW*0yei_n#o|Jb@;eSgX zfG*e;?<_k7eekO8>CdN+n*TX{(B1nqbE35dN*R2~4ZQ`RRc^rPjNrLbu{ z_{6W?LgM+-%tRrR>e@7TV6MVPMkj-AA6z0`0g@XY0~-&)E7VxhLC;&cc1gkW@x-`q zn|80qwm67>vUFECnqx(C&FJVpG~}AT(f@lih^}=ewd%veOv?Pf#=~e)qY(j7YE4t* z1U8DwF49}nSi#F^8!v7!`h|!=8*#j~Yp+uncv@Q^wfFb*A3UZ-=X3PwaFbj$4L&nk zg!(28TlK4i;wC!O0R~i`t3xUK#Y*``>@lZMp`Q3?fXb$HC$Yz%Ln+m1ogB%6f&&Sd z*=Q$y_bHI385jj;Mf=J2pOxY-UXV1qKi;uo>dN?{p zNzyZ5U8e60Mc#5VfV{^f$y>z_B=2#8UEjFCM*75PTMA2`kl~;iO+mXeeJP5Te3lO) z@+GzSqN-9UzoPx3Kxvs7@bw&!wrqSLIXX-4x@XJmY1s?I1kmM>3rM*1}4nj%Iw z2Le7Jy3M|}Ku-HD@nnt~dD;2`3lA}-`Yk`N6bG;sU9%zE3}mma;m>Sf8|jV~Rwrw1 zfswI1MJv7{n|8M)^rlI!D?e6-6x3jJqD=6b3SBNzl)9nI`4RuL*N4ikxs^vDElLGGk_3^u`I8q8gSHWh5KeQ@{A(1?V zp&9ja_9p1%^I3ahgpG>cCsS;A(yZ8gUtXh(^)r(|5CGSWW2HE0>Y~){4nF>$)@8yer zV&@o+GBBqD(!E`DZ^ba=W&p!*CJUnClLhf359wflaVv%acHN1OgkcEc{+ng`U*Mu_ z${<|WeMAwLFmk%a=P>ewUHyyrc=*GCc4!#`59H(L37slxhK)lFp{}HHNsKOTm==~L zb*os02eE|#S;jbS(E~g@_=K#`1N!>H-~nyEi1b{r_t`ZTny#4V;Xp-%HsC(ZCQqwa-rCiH18>{eL~E{>k#om|sSyc4MQD zd`@F0=Tnv>S^O#5dO4h`&x9nVph0cDRORpc92V~#(a++0uav4_SCnE&RWL2sP02)1 zAaqPDr}%8usrBWz{yDIZ4Y4)uPvrIA zuoM2hzj#CKgnyQoNjqTzf0LYMM!0<9Ns<%DaY2;E97;>|pSq;>ujv zV6!cd5zABf_vuz3r@X<84rh8*w29$?((L4|VpAiUgl`2KR1t@ZYB7QbpKOqzObjDz zeAqn|mQ6=Zn9QTGj6@p)*)}P>0~$wpWiedhO67SjXMiFX(~XY{^(VbBPV6Z%N>gJa z!}R%8dE~}o&?bfo!;FgAKam{8cbpj=Z;#){CvClQWBJCb^yAeKI41;bmki%Vk+IK- zej3;~mM7H2Atf`bWbP!{M9P>W^ADr!gl4uVyVB5!NNG&K1KCu1YOBbpJ|7J=9=BZy zvY{h2dzBn=JHkma3Nsc~WTH%0m~b%6q+y;>y1d-jgk|gUV!To&CG}#U3XMevI9PNT zb7Shru)j)-xdppD8-goUTi6$eT*|Z6zgdOH$dZ1%iZ$5A>j={~T(yJTKn4o0&;auh ziR6eouNfVtT5T8>H5}6E>m2NmL^w1~~E+XbmwPAuXVI0MgR<*3qZ3jhl`#VP|=;toe*@9%Ykak2Xn$ zAm_4I0tWy9Uo);tq>)l9zoU;hwrF6wlCK>-*KC3&WF&$g)9nu9D!x&}5?Noz^X#K^ z4t7;jz9KW3@RmW`ioWrbN;6Z^FmdRwSa8bsUrNAG4m6(wW9q;(s}C5Vqs-Ne1rwR% zwd{Z~MV`Hj?PpPc+?d}rqgbkl`M99W#b9qaQHgR-JSsDHo%DAjkW6#_NomafG~*I! z>dH?_N#~c$c99T8RY%(7j$!z}&UcHP-Mt7NJWE?Ge%9|m^?5v~6O`Zz_n*+Ey zd?x$JPfIsakCy9(=V(w@`Wt?An&CPsLll}lRA!BIRF_rf%qhF)3KnOwue|6>v3TO! zWAF3rr|&1eW!;a)c@C>}{z&w8BGKCZi(&H7-o&scj4yL*NJk zE%m$){>E552OfHXC(Dzm<~rD(&tI3}!j*-&_RCX51yJKus+@!`0}(QKS!IxGr2smc z&)3PezyIHn!3+j<@}$}!I(_mcL%Wipl%MrZsMY%wqGi9IghW~SRMcqataPlWw;Lz~2@ z=QiPUUB!8{?-aJ;9|(JP_GDv~Kn<8(`7~UY*f9E>&&btwJ`?3FI#i6^_WnTS&Gv4< zjO7kCpe&a$ELbMxyh)XFE}g8uY_ktcFg*p{I|Cc_s%8y;Hskj9C+4xMfet_S;C9*|A1J{sC}Q_S}R^^j^cCtBKpFbag7~0 ze$ne3&Y|MQ8*`Fz8~fufv*Y~z>HNl*lW~3N{N!zQl?fsgo>2iu3v>BBdIm7gvVf$8@5eF@AM#h?+u_yUenGyINZ}oYT-e#-Bbf{#cf%adg1o`d91CSu2lM1@C~9!Jl7DY-|h^%OQg$u_>S z0kYnEp95K*fRNn}VI*A#%>T;n0Ol|{Kp0P^T93BaQ~1D>d(&P>ox91e`h(k~rwf{r zoHTcX+ZgeFZjIYGaiov2&4qnptdgc@@*6hd7J3k0H_iCq$bhe(G7athM|Z~JvUhw{ znigF1XiacU=t-5A$WpxAQut#YYT6Nzbv%pfo9a=<+Z>5dxCCQ=?67>Fq&MjoJ=s+e zCZ702Im;zKN!s`5hgO3l+#sVuYHQ((^aF?7fU@lY?--T88jEcc{%AD}Gb6=qEn30% z9Kl_}M_c9!120~{4Ss3NB%J5a2EOqxsNWed{&Yn6Rn-&+_1?~=^#!-m#>Lxrk%1n2 zR?0jny|W0A!u$QxDK`gRH??T>re5`;Hru@DB#<3fNW>s_MCQ;$ockBp^tNdOZa?nP zLTDuq9+{Y@TvuuNW}ACjNRmvu44avuuX_)s(BvIdr-Zw&N0rL4iJcL@ulngKpxOPj zEikP28xG4;YzBtmd!W1yvMNl!SV#Q})Oz`6oW}R1ox_N_JUkP)rE^w&Lo;rbXc4he zV!Btc)#X<{a=Sp!6^^F4& zrDSyMVjKkcw%{w;ARp=6`Cf4QJ4qvLl)#Ez`U%-IO6La6IQs|)v075a4JJGQ);SKD z5BZ$$9!Bu1?;iUY=hcDVwOfv+9L?}kU(H`o2})HHxKPv#rhSMsRb<5nW{d96M*;c3 zpC`>^M)CLr^XASLofFoihIP{%^ekv+sq~d4sxT)J8tURO)okgeCtVR*=j~J?y+lhA zn&722{s?-2@;3Ue!q@g)o6BgJ?Stfx7-bA!6QL7IIM|35*=JEtWi-J56YC8^!&|Hp}Qx+Md##X zWhZ2pOt2=;ZWDqfwmuuv(5UM4&%q~LG!`Iw))T`9Yqm_*WnhzVCVo& zMISnu03Ntd@^i0oy4RG{f!OuL8FiW+pRvaxI6HM_%{1&EgQ}_4_ z49NirKmWbrVi!AE*67-eA0%C<5{V`x6MaJxtyhV{kG(b^)qk3}gW;S#sHcSj_|uei z&ZK~51pg#4eD=8y386QY(RmjJP0Lde_IY1$;nyj;qu5O|O<$&HJKyJO`MiPB zTLg$3Q5cL$**!8Z5HWEYFPZ$Fuxlk;;(?LKlukq1%`6GNr<4JwK$^35wq$QF+YlH9!T%FPy02iX<9|p;YO2v< zpUUR-cxs}uN)*j4ez+aF*^q`!hGrEc;vJWC*=Mj0$WSEgOBWO=uyy|cLe&L)>8NLC zAsnsH$T`4hqQB77>DG(`|4=@fw5&8jD)M@7B3I}{_2^>0Wfy63%@D&OzHBGwnjyJ* z!oG~YTni48EA5JW0YBlSC{GAab?RtuEhs>fR(UY(@0n!<+$bOxLeZ)1b#8C4%YQ)1 zk7uW`*~W`ki)~Vy`U_DC$B}^(-+HWu;Z|U{{p~{aZTqY8tvy(#dgshj{t-;(Q{|A1M9bq)PFxuU}OVKVNo{c+#> zhi$?QJB;rpUvKPxecL}UIe6|W4_E;|J~a{H%CHA+;9p5idv&&V*rMZVU~#onv2!gY zq8~M!W_DetCW~auu~5}MiobrY74)XZ7Ra;v7bG>Jl5?NN+BU(sEKwBpF-$5a#ubU8 zG)PevD&+)ONm2Zk$KO{JQx#<)^JV1%A4!=g%V@J}t}2VXyIhrJr5PBV+cBQ9T&mJ8 zlCn%0R2FNTQG5!tSc$T%k+M9A?g=wiWr3|1pH!A7*RF}>3jC(JWLbP>*VU>l@~%Xc zWfxu=xivn@GFhd)N?|afVa!HXgq^*4LdMstJJ5n_R@cfuc|$effWJD&-tcJPcv$;K zf|oGf-eSbxwGpfgBe~%$0f!x(c$?9d5HburN$zjW&F^HPnP1?Y~{j#0L`gcJEQuAULQdTq8 z*^hOXD3iIIyYq8=yzbR)FSl=Wt=cs+H4Irs7-SaV(dX$j#Wk4bldfBnDOabxGKtkX zfsw-6&!Cz8qVu<>)AmZoljG)HJQXpAf!ZhMy#>Chie0Z$~OwVY> z4xWN18MoQvv>5h_@+iE(xLz>AO)#p8DI{x;sW;V1<-D5lbyDccik{N@(D6a4xu}+% zN(ai^5J(Xnb-0rR$vha}`NMv!B%;Qk0Opt;ytPrr(vrh=vP<}HpM)Dq&w!EPHj3cH zJgXzqnD*|(yklme&!~8p6N7Ma?fv0#HI7tvw*Pne18WQx!qJLLJvBL2OqI77Tg^t@P@vT4n0HeQItdo!ZpVpIv+`ldA4~ z>3%j2Do?ya!s03Yri(D93v4q94vSd=rk)e_4d3h9-XOYZT^>t1mdUa`EcObImG24+ zTc?)HfY2{suzd)wE8iHJrjN^vNUp;a+8K(6m*27J=zoHT&cWG!J|3PLoRB)Oy6SV0 z5c`wtLw_=5IBz5#Y;{I<^K=a^?`fA>9d=yux#M+v{G;VzVe}VBE zhURMs<;@PK*tDdKS^*SeMHgQioLunUXM0G}&J{z`^tVkv-xAPC22$nF{_? zJ#q)uqpmVpkD|fJsRujiCzPyYJ@SU8=~Ki;^w;Bd$N#qN(*|eMSN5T8KR7Sr*kK!C z9FCB?6a5bCv=0Rt3I&r7hZ;aZ zk&Oae4ua9J?lyG~qiB10da}1HMn?Z(tHv!2l1ONqJ0I;ZP6s#cWs4cb3e7WLN1HN~ zKTNUuRnJGWdFN5@q`iCh4|=QWio%^(_go3?4cFnZGt{)(VL4GjdY#gv3q8h(Lm^Lj zIMEO1k(Rhmh?81E2`GKBm*gAcgF~vRk8+WwKBBH}^`YuxH(}4ZsNu?mHm=Z~gmGa8 zcATUiu?55aLkuYcB9HAI?mp+#fwp=AfCaLMjNsvqxG8UOuIFud9{{>Fu& zZRO5GoXl{ZvJ;lxtocZX=u&7^S}n+`#%3ebMJtQd1pD&X@8aBiqzQPFO#nO^Q|A1u ziC?a{i;tTvvM+mbE}QN^#}h37;MAb7pUH5-(XQcWw7RxHSN=xHu^$bYjiFO@D_hmg zt)+5~Tt-O3^&Qd#bvF#IS2($whW&-&Ico06U+WJy47b(sVznE>I8|8&@eC3c@ z5a?mqmBoh8GHG}A;EZ4aok6NUCHH<7=UbjBRv2sAJtlTN-?;L?)PI(jg%0+!5%Cpe z?33UlnL;-ssWrZF$;tlqG78!MEbu+emwjUcPIRYa09d6pQ2Y zF1A^jV99v?YG!UYN)^U7O@Fa83+uZ~g>>Msi-=_%69#J0U24Q0qc#?axH_}wnXbw^ z-X7Yi&drC)+5BQB35LEk=D#h*e`GDzbYUqpl`A*<7*<}9UF9+_Co67}4iZ2LMfpOa znCMco3q{$sk!7-&gsp&X)tY8NPcF%kFBZxdv`J`}<#bhh&YV8SGvk8|Qz6qjEK$-?R;MHB)Kq5G zX?WCSpEME8ODtFqK?!DLxak=#^4mQE`^fN9;Cz(eJfeUk=h7M0)nG86J|SE0)NJ^= zJ++*e0#T9d$ShT>3^I0)unmZ)l_i4-uE8w#7%y7UJ&Nss@_963& z?LQk_e~VJ~>mj+}awPW~w4DuaBJj)>GqA#-8gLE{_j#lNcn(rFvu0fGSNd>Q(4 zzbqdL%59$jaMYnUbtRx}YSXKp(PWNe_gjfM4!e$3TkX$Isv~Pwa|YBAD=DB)N`sI3 zNU+W1WiWD&nA;@HAPtPkm>KA!`0z0)gJb)((tV;jj1kvN&l!)RrRtl^F|yNExySOH zA=64ec8*aF@0=c?k`3oY*fX}qr_bv3?+j=a&vGC$$a^?TkO#qt+bKSRPU$C2?9rP* z`7^0upR*s?z0r8pk3^Vy*dVETXjx_JBl>*RUG(1y=5fLul8A{0Tlbu0`xWf;lf5*a zv$rPRIbVU}?60buPl-iVGmajB#c`*?B5T=w3X9_*n~rLF=PA%QO3;{V`9`tWHHk*X z1>;xmWJS*=bF|E8Qtt7A6~lr7OrHUw1&yQuedEKPaWy`-LZ6;MU%`D@?h6GO(77A5 zpQ3$P*m+u_^u-I<>LHwBT=LeVOxq2Y9cDP0hp|yaPC6J!#7bS3N#+Vg;=RT3CS@8= z^eE97REKybWoL^c(GLpFk2jf#vM?z{icsW|Qkh%_283TQHSQjpXgRvH4Y}^jc-3e- z(za?kTNaSW)poQkQu9Aa!xGPZAA?E~%ies7mNV&s3|l@3Kr%wo5~W zyG2|J)OJSIz5#rXE3LRJZfB{#;ZXe>bx&_08KdPD{l+>yrou{`5>hsP8N86 z?_Qga7qkFRjft>Z;NK)lLcqa5r!W0k)xNQx*@^3Zt`d`<+H(Y1ywaA%Xf8oa`yRH^ zk}a-8#|&CwZ*V2$SeYnCam9jKJ=L2sYj$SEm;B*yYH@WXX9m@BEOlR8T5-jPDlWZ0 zE?w=I!m+y*_69NG44jGcD4*=xHI-fRkWw5^Q{?r26%HFfuvvO)SWioCbdsLj=p@75 z=p>i2F(2`TNp!XtGKe|hP2+smEO@wZg*-nuwyd_lXSeMHgXz>4#5JQtLUF2ytt zDEFEkZzwPX<^7(aj0^>edt3raTVO?L0t$U~SYbq<$Z$Lq83IL3MyN6{BK0|T%vVEP zaUK76HBd{zL;%UxbgDkR^p#!B0C%!RWRStf3!RhV%Is`wVhgZ*|}4Mm7F!lSM%ItrI$|f7D*o{2o2#;xMYK>Ol2GU z-5^bBSuMHRLua)^nX;jZEhgwuTu3hEJJmm3U81JimudFpeATfO&&Q669mcM+YW4}) z9){&h;a8e*5A}hyxd&=pvp29_1*IXWsNzCd#R?fZ(*%4fFO~KNin6(Y`VT$XSZIm~>3VRZ)#s>#iGw_|->~@5p2EpjXRIvOTQskk*m1 z{BlrPNT+wQqb~DpWeObwRaO~Kl~6Z9nALKkEc+s>C0>RuK5;1KdRUBflE$fE8yqd< z>D?EX>>EUJUVEYn{oxb<%pm~mfkhUDGb8Cn&YR2bkByX0Aj1jqHx#uV<$*ipVx}T9 ze^aJB0VS`x$4^vYvq6!x1t{5`v!A{r_B_TiH4P)hq9?-{<9Kg^+4@Alm5IPFu7^g3 zIo>qgt1b5}z^OO&rW?c!rnAz~c_Y5PB%<}EOE1fA`ia8|j2wG3u;Smce9VLgdIKZb z8w0GuHW1tuq6paXWyXob<5{+i?UECe|8_^PER5f*lR2N6&Z{r8okbBV$(T|V;|S}V zb*9qH$Wt+Tn7zmnU)gD#B9UBSJtZkW-AVb0SvRp!SecULu6`NqO3Lz-{0v!1ahnk=69#~Dfp?@R0F?BL#5gN$eXtH6 z4CH{M6)`h1&Avla+_pB*yF!GPlI^Qa@Ji2OXzhbGdT)t0{ZzW3{>6FZ&WAmcMu{*4 zR)zAH_?cGK1l_5Jf=4v>ox*}Bh^Q@{cgXtwFD!Vjo-U&VgrS(H*h3dF<`*qvp?0$V z(Ju_~s{eOzOJ?>4HZrGP;T@}rd2QT%weV%Md`xm@g)zzH4?|_W##K4JH))qEIPuxQ zK|}5VRzbPbgI; zRB9b-d7@BtSH-Iy6l{5pxBa{Nh{-(hS?}z4)3SaXFa5VT-T`w=d|Pl?yyj%uhNLJAKAX6UD+;;{_(-P!T#b#qdNYG@#Em|k*L=?H1EfWJP z7$Q`31V(NMU~p`|S8I~}=x9lEIPm>`{KgI~IZV!L(22Z_&IGxgumX2=(M zJ+Se7DK`E1Y}0dg;X%RwRMRsxbZ`j%{R?Cq(a-1W{_$Crnh#Mtq|O{vel>6(AhYnr zv>Hmn4OUGk+3oE4kWID5scSqtp`LDube4bIxC?9Y0Bh040%%W-#H zN*eCE-s-vzi-irQbOs9xF@U&%SFw(PFzNBkNsl%93q-J#&$K^aBl4P)Ra4cO2 z1a{vrW^E+qNj{AAE*4$W3RvY)D^ObAV0GPC&JHP|hTsx4m4S_6`;yHI+2rWYuLHoV z=Vq6|0rzQD-8LT2P}m%&{>O`Z+Cmu_ETRln%U$P2td_=e%MwP@?_+`WFAJN#@a)Bo z{<@0605sQK5U)B7dM6FVeN}Rk;(!^IB%4i3&xQSe|CvDZq?0o1SJ|E4Yz2OVv^U zW9jQ6U}%_FlYkIS!4>xO4gLE?uRVXa+{^-Eaq)Eu7tP*eF|CFy$|>HXEluZ^iT`Lr zj)mPgz}9shw!M(Gyc9NPgZPbR#ik^RyCI9Vs)F9k=$GWLO8z49S1o_+4R1y-mcL8n zZ-)HMv^;m)HDZj~ac!F>0;OyW#Nwe10gLV#vn16cLi>qrPo&Rg#2G6}*I+srAK1_LiB-ETD}5aVi}P0$Ipv*@No=^=GQFj)N0{Jwxy_;8QlA2yp$&3!Lm&$o zz2k&?Jl)$lyCy|huCruR7-9C$<{_yxVkBSw3ShQt2u~8a)T~`lghwHkc-f|Zi9|9{ zILY!9m|a0-cyfQ{mU&5Zxh#ZMIN(Its<_-=`O*QLJQDW1d7ojdP`11Bm8g{B0Bq0f z|M`IIw?u`cUH)`{cEQ^fn*=t}T9Pm)eQzj=cF|sspXfXbH|5|#cJ!z+v5d7-X-+6Us;lDJ5uxjD#1rJBaJKMW{kx!uB7Hb z_(Dwvz-r?IWkaSw9-PifW(rO^=B#H=1!hyVkZxRrN!ec+>5tDRzFfCmxPzWw&Htlu z!2xrpEQG{0f9(i=X{K>rB7znCG|JA@lJW!c(R|}R?t&5Em;$?f*kj_5MRMU}orke5n z$ybIB+)U%sM1*=b11BPv@!5X4rZWYt8UO4{@3o}h@AW5tr|%W90_v@S@4R;ks6+eZ zn%-{*V?b-XN;=gH*~n&Kb|;?8vyENJSGsq;y!vbMm2SMaUutBUEirlVf;{05^d}W- z881-+ztN>)E#o;AtDBFNNx3>yEYpRM4mx|uANGs&N)eAguMs#L?{54~08~D?zmKd= zCZ8^2{eHFfr@Yo!w|~(;CI4*WH;KC%W9|Nu^(v!U>_v2j;mR0_=u!5+fqtvT&--eL z{dcRGHB&d&9FYaBRN-fRHDWo~wn7WQBVO`WFWfjhBOd1Os;u}RCtYLk{yW9oi{aTyGq9gi3>g0&@q-ZyX;A4U*x$Ye?u=?+M_Zcs|Ig99P#q~eStpKO}H+E~3$ ztb}%tRXPuAJJ#4vb*zKRXOdp&P@_!GsN~WX+6b*mW{gg9-NYv=?BT8RbIG}RpFM9J zT7x{4-H$ovLQIe1M1IU$>E zB4m>8MT|~Ur zMXpC7!c3!fUtmRzD0vz6*%uo#lf-12LLZrh0RdS(_)A%@ZOq!|cF--1%l6fHboyE4 z`TNZ0R8bN+`f_u#GmY{jK#XSkKU5bATh+Ojb24H7)?Fs)!0*(o7c$21?FV zHOo)n;p~BU7*7fNbe3w`OfQ+JQlFN5(T|6mWK;qVqZA(egYb}%EOrtP5drBQ{ADl# z9)>6Ikd?&4@z>1fR8j04lYYrD^w}i;mGw2oXRpC-`SU?|HYFqp5`ISvyf0%2LCR_~ z$fNTT5SF@{dZs3N6!;42KU+LFMi7xqP;&USB-?Z6D}*QC@adq0FC-FLwb~KCD_ zRf|EnG7UGugo@KAFfUdxn1lvFJHHPV;y;v3cnX|NIyqZA&7f?h!%Q%7Xw9g{ozE`a zDL@&0c`CfM(k~0y7Z)!$BLKG0OE^S}?eJuqIQA1bRD?<{&+Qn^7 z__j|QSbx|%d+{p}ZndMGKtxzXNVh3`6Z&V=fk;FmfJ}BLisFtSOJhS(?5g6a8TE%M zi5p{9M<(X?#T9=@+?j*pLbnok-henBae$7>30t_C1xg>JC34ZK5?LYF-D(x?LM$A3 zVJ#G|J~nDG*+r5}gA2!)c776RNo4Vd!G&igA_YIpeP^qc1Uw+=h><Kyam0J}jrM3DzkW2oojH2CL9Z6zKKHzMF~jkz}G> zp;s2w$e9_kVPFEipwY7_e1o7@W3{r-6eqjkhRe_w4Nzokb#$Vv5olDbgcz`C$Dr$o zsP$>!GMR?mA^o`L20{o$xKvqR1$PzNof1xkNOVREyX6sMp0(v-t5`zioG#4!kX zMe%x*nI$;2^HkB|WI?<|{FxF@&dGSPl4dGTEETiII7Y*(f~du4&Sie1H^~_@c~a&) zT$Z@ax3|=Im`&RS`h2~~uN+F}gKM>E25u<*x>m`RubzuDk!AUQIVqg^?W>!g=Dv2@q)dYjBm7!w4DhoT!9$gZ6wQm5KcaP|v zA)TQW?>bUS{Da<=galjmwt%U|lvfMO#N5S@Z=i7v7oDKD7As4r%Qbam8+;y={q{m2I(fuEM@C~6?3_L$F_Y*bQ%ikY5KZ$a-;sqGPY3=#si!8CY#lp6Z9m;SF~F=r(}c5qgu*s zx2cU<(^K-BL2r_%^~gqQvZBx5heXa<3(M)eX|ys(WGfI(DWy!Hw6KA&5Q;|I5+tJY zr-5cROD7T)>@?Y)sVher*ftz1`SGAE6@ev$`Tg#aC4*ivyJNRCn5$k7JG+CbhCFc1 z7o2u);xG?I0n*M8K+ss2#KO*gEG*(Uv|`c0Z%(|lYKN8FG$> z_^I~~CwSi=@0WEL)q6{>v)|Wkk@#AP&t2>?D)*LrJ@H}(8V_~_>1I)B1lfkGLH$9~ zZ0Mm-K3Cq%!y&B!w7n&vfv^m-B?aRvuz~_1TmEou zFdG>D8D^w9xKhEo2zODlt6G(Axs;9~NR{WO7%2kIG#!OF#CgL+KE=43QWknm4EF#o z7I5~~C2~jCEi@xH2A@=bZxYjR*Nps5c%Js4v=3>sG~$7wmYF!8877$J5?DJyI}JYkw%t)8FN3S$4tJxUo&8 zuQB%Z$OnH=AJizz5;kRgi=n@g?jB=LPx0&ioh{l6y7zF=4ZY8@nQ6j*(oSQ%)MJ_& zhU@m^E7{Z5_;U|>Z6!O7ugi$-=z%fIJVvFYi#?xsl;@J|J&$+x6hGuINRbJQo^#oM z_BnYUd#2}+)E(b%%hL*&Bx!Z1JW2m_&!S`NoUx}R%}m{Rs)sFR?Hd_H-htoN;*D)mY16&WJ$mTU$M}3!yFd1r#I>&L@s55VeOY;P+T!hwrTRtbOI_UWWKFE8y<^O&RDCw5j*|I@zv>%ukLwZVsplt2S%;Rh^>$}6lInA z7VG@I8JmM^{_|g}f>r;DQ+N_pqx9Hv**Rc>Owp`Md-Tx2CM#>wzx5s-L zgmQm12;-R*__5Ie)iq2jJgS<&ab?qXO64*LjR_M zoY-P{(eiu$wjcDgF6xQhA&(Ug`(r;$d@S|2P408g{j|46ZA5&H(|s_0Q%ci^g11)9 zSkU8559+anlB)jnl#=s%SfR5{&&=}oZW$h%FVQ$>osJ*(3&XYyTQ@BBZHc1wz9rX^ zx*o4yeqUiM_Dy-5mfp6_ANz*f%FXra=2sOh8{4*B-Sg7bJuMF{j$J2_FQj{CZqX&p zykz3Jazl@MFCLpCw>GTV$=6rNP3w%FZ5Q_d?xl+qtV<>Gg>T@(MMoPq6uft`UXL+-HwN!6!a)Gt`-rwUr6g#q~X?tApgTqe$Bv)I@ zY3*T0N6TsJ^r`p6{K(6kmCV%l-$i?2Q$ds@;P zhxd&AMBb9WonP#rr0y@bdA(L}9(;svj>R^pZ}tuOre}})sPt9u@7sUiGWP7*wtJ8F z3~}&|b;}oAH_Nr;?|atiFF09czhJf ziQQm-+WN~qJD(}$RYUUCl-RY2SF3oHiStivZt~se*wu-5EA||CX4cMU=JMqni5feG z{&u0Q6l*GHTrL`m0jvN9h!R z$+t6x@3^)8h7=wEAg{*`umAq2*hK<0db)S+^hPRO=u+={ZxCj#>SD{S*-vB;ae<^w z{GTuPx#>uy0^ji1nR_bF+|&5$%-F{6ODA&Uuei7|a<*Popj8I;TpHM8KQ$<42(znN|^oQr^nUDLaR_;hwLAh3vP4kprT6jxAo#-Cy*_J6V>T~p}zr>q_ z)%Ru$uhjQM?$)dJ#hdmEPN+%7@cJ8m;ocW7u(YOsh%7`VyZ0v$=}O-2_PTF#dPn)6+&a^}{!1&ixJb}@EMEC>_c~Ym3@zYGUF+Q9 zZg?>5j3aG%jx8y%!`_NwP#f#$UVDEY2K#rjv1hZHq%2S)nzx&T7uAuhu)q zXdlfPHDPqggy5IQl-56UpmkSw!TEN9CT#xdgza_Ms@{n+_1s#bfLVGYlJRL~szjr>naZ*A-DJxek= zOKWZEE;vgo142u8`(!P`%`dwPCTme{e$m}N2~2P<>Epkk9p_3r{(3hMTK}`#ANIGO z3BKElwboVLnV0%|Cu;Mz&24RlfC?sRH?+4+)HbARxnFhE6>6>bb@v9f8y;SJI;mR! zqq`ueT~c4aX?M+Ync-(M7yfj6Y`GLH_xJAE&!m`U&V(Ah)2FrG+Ur?tN>se!c2}v{iZceXDy_>5fqBrtYN| z2D1yVRWgmV^>ZeAQr+S@+d-?+a#4Top_!%$qRUKjF5* zGmg|>pGr!nTiUt)wijaKrJj#Cn~q4kU)BA{$ifRdMPD`MbQfM&_0Kqcra9X?cB!K| zyv4CJtJ#9DE;R~EVwcK?stkUmZ6a#J>1wJxVN7K z_oKYCDs#ITu87KitGtY5b+0eYy1UeywzwtryUlQ+HTOGKIWH-NqkhYVh3?Rr(d|ur zAl2 zcenqsl45H^v1PQBZiPF6%a+nc+!2bctvfy~N^k!#-u6s!OUr_S4v)emN9=v1jXuTY-f10cUi4=0Se1yb zO^*nz48ycz0NtV%B{Q0tyve|S#EkuFAA4u zueEZo(ikrlyc@6FvYWPOefqHbMG7RIW@UgAbmXhQUo8}@z&dR7j(yGh(7qV`ovMNTjb*_ z{I&DvjJ=Y8*wXMa?ih#Bjm)+v6*X{28TfE?I;SWc3RPTA- z;oeE!t2Z!SyI#O}Wq`9(6s~5+eP7$%`nBDRVT#fc0}03dx|n&I9m|)y{HwBBnlt-f zxYUc*%XafFbI>~**v#FnUj~?;r=`GAVuR96RmTUg=M0m&K?Mxc=r$|0+lF zol0xm`wG{^wdX3H77OiOr#Exj!3(b3phkTZjaD+U^uVo9=>nrOWB-S(H-T&F${xpG zUKT=lXaX47v`G{QsNaEL6;NjgA_D3RpyD#q8G^FNOs8sX)qd$rZfGI6Od+-kj!u(U zG%zwXw4+#Mny|?h1O&y7PU%A3JJ7|dRp0-d7Z&^d|2`i+yu5qQJ?GqWw{y=q_r6H1 zXk?8v5>_=|^Q?oR+oQLI|^)nq{zeoq^88|<(@vhp~Ab+$(XkEpP`k*?q! zHkQ&AGNTVXeJYejRhjYSQdLEiQ3DB@3av2#o(UD{#te97ROpP^@XStrgIj+I1r}CV z2y-5=D&@p?n{1l;1hQ+;e9m#Eek!WzJq-%f(>EedM2Li|w~y6H$qs_S2Z}=FGSxh{ zer4Of@3p!{Kk_3MP#cndz`4kRHms26C`XOVY;i~fDUDMKy|wB&=(Vf(^FU22e3bY6 zRz|otdY&*3RAd!|Y+&3|wCu;#X=}8OwX(Eyhjbc6!Ur>)Qlt2Ej4zpk6kt>J*`Vd~ zLCAnNM(h&jRs1IGNP%{6&?PhqR*5rj3YYu*+J1eomT51^xxu!TWImDxB{p`=PI}0K z41L-X4%eSKB5ljASDiWHS(;$Xs8*r4g4TlXr1dImL#r&GGt+>LH5bHp>wj)e+{m<({n`j=S{Pzk_7|grrhgAM;uNoY>4$pdTr+M%!Z%_amG3(&aBQ5y~;fya-JPdjpDSxSf0hcY>(_FaQ6QLQIQ zK*ILzgJj#_QOPNz0}2Nv_cY6XoD2RrShEyd0p*K>(3RA5W7h+<&)#F=~#>rbpZyuIR38Mwn{ zE0MePJ~n#MTJuS%W39BB&dBDSsCsrZ974o<`%2C&xT(5PGraB}{}WYoC5C^JfAtJ0 z#=OBZ4U(7{&XmDe-UIKOK7+JnImiKX$a3T&=-fPS(Wh*^WPPA9B0rAtEX~`p^X&2s z>o(qb!hcb?->b5uqGWljXRwe7$ouDNxNu|exhuAfZBuWYyu$?CsO2%9jQoO)$B42j zrDbJ1?moOxJO6?$>QsZ{)IS~iKRC_?UX=t3^FrvPHg9p zmY*H5c1V+)EOkLG?fIi)zjsB+UN)$*vLp#MUr_!Y1DX-)5DH{h88`?k460j+ScfQo zobrh%dE9 z{!KQtv?bCgJN&Nx4Mmj4prfgU@%tf`#|Uon_w2iUYtI{PzMuyl`Z=U@827w!i(l$n z?R|Czd5V-la|^+z8kS;iz8(IaCEr~EZoyZla~KRaAo@OSi06l#?iC#JPcV>vL4lS|&hWudsGJO*>m;t~gNkYiY?lTe6NT zhU3L2R(sZpLVh7Wv`N^t5zWw{fe+xjYYMX<^U+hLO>dCq+PvIrGLa&Cj1kf@W1fU% z`;}~RMaBv6`q^j)Gc9uc0nvY1D*n`tT2a*&ikX(SF%r&niEgtmh+A)Rx|5dTJTKp} zt0em+nU93_e_TPsc{AeOFOlCCFkKA-QgWGltq|MKU4e_DMy$M3l~ViJD`1|3&v#JA zWbg{Vd+V-Lirc(D`{2q^<{BK#VI=X^BGA*i;vCkZlN&45rQRqis^0UIS$HD)I+z*% z9(iMr@RWU7*tv_VJS)PBVS`sX8_edQ+@lT|h>ph^3$Y+SQ1aQdqvL5#Dy2N(7`4H& z+aAAKy8Iowbr=lzj9=EWq73s0oNZgjr!x~{GAvZuYU#dZ@`DQxW-m0B%abXiMc%gH z#HJbY_juaJm$yB>9G|3LerAgH$>nWN+`sA8KG-NcU0x(+W_JmhFXN*Xxip=mr3$}f zzF+R+U)UcEGroUeGxN%FA6emt8Ri+weLOSXXMdl-oQYpoWZww#6qBvUYjwK(k&k8D zmBJs%Ur?ZKV+I53a4j!IyWRYh%){i^Z99uZ%#E!@iqdV{etU&kS>cgc?HMYhlTs+= z?G#<|HuAeGRtsf*Pg+V|_q6JmdM(_meg&HFTHIE1;>brlZTb}(FTO^4szy=GTg7Ws z3hI;|g-<}8y3C%eF*@b>zE(eqNiNxgS0~u~80cD40Y`w?NJ`$Li&H71uB3)8PNsr( z=3aO=SGd8l^oq(NBsyf!mQL2;6WW8x5w)<^0BUotg(jVMRX1DFE3bKE^wg&>1LlQQ$o#fBS27E{YCTBu7?Gdj z6Lw9aVb-Wcd=<~x0=jC(x_&z5)=SFH@lMr8o$-0wwh@L$MR?MOEQKgTTG`h@9%)+> zM-K5U-dA?<%sZuJI~BX(0H&K6IBHYtG2Ft+1HUnPv|eL_5^Wok8dwS>UF>AHo=}8{ z#R*E$@(8-Mfwk&HFL<<`W1)md48n<^i|bkU{v(C7{=k-eL5rfnic12JE%|HT2JZv= z@Yw-)F_v$MD-F!|Gg`K6ER9fP?J(L$UX^7BQl+WaCDwoN%(>F7xr)LYTXUt^FHqUg zF3aKFe)IBGzw9;e;q^4w^h8odt>vrBL;13T8b-eTZKyakEuPA?oB+DBDQ2!?r(*jW zs_=)byvS3z(k+sMeUwd`)}jEdi`+*p)akXt6k6?H80crOxvXeZ3=i}0E*~>~cP?wjNYvjha~{ESh#ThW zcex%xGbx533e@=XVq4HeZ)ruCHXp{*xbei1Kgzd=N;i<>m}aDzK-ejI>JJx{>33An z(3uzB=0RCc#>;G3=91+2BaEkMJ(!jBWx}CqS$Warno7N8S>a78FkWvYHgHQwOFd!D zuN>p#Eqp>?{bjZ^2-KdV5_$f^S}_!{f&kTX6c+0pyVv}FEL$Z;;N>2FkU&wX+|>a z4Zo_Ypl&(%D+GQ;R56(Q9?hhN;IH9hG_x_s3v-XT&l76d|{)XSE%%jEZ5&G?p-%l4GZEBSDtrvC8W9Oaw&59q&(}p!GcT+8WEQ?Gk?i-9*D)17H|ay?Xox{Q zQz^Xh5#2hU+LgU8%(lIHr)~Rg$u{51wuGIB8R&I>oJ6K4ea+f5+ooK8pxXMHbnE*H zd5wpao;tl?^UyH|<98yOw@Or2?{H1M?h${^QOc`S-jaQzyOKs(t!N-!IFLeb@PQR|-v!I90sGAXmx$cs3X8~Xe2UJqp!`m0@Pxey+EKKW z_NxJdg`X@q|DC}?pSP}u{=qSS|cP`tChv$AG7MO>B7 z8(!%Rmj&-3cI>0}_XnKs4_uc#q3?My5u_H&B2lP^^6vxC>KwLO8s_+F%!6MHGl!gb z=64nT#{LRrqTUM?>ArHpqLK29G-2Krj`u?ox8)t{T%||`hDxiWANj7Gq z&jfTK8ZJ>E@4JjB&)17NxP>l;ts_MR<*t)U3f?2@5M2J~={!+pF%{w|X6nKvh2MonxZu&hCWc`ts^=qE_vUcRYwr4;wa$hlW z)Nv|PJM@*7ksn$@XPc>^7DrZ>de%C=nkLNr{-M0};TEqA zL5EFH4tGl((epgx=5y{BZk`Yh#Dj%dh_a2M1`M+((=4=8?W+fqC%JK{{Hsf){7PSt z>QijxdYU}ykMYs})e!l!sK{8oes3LE;0{I8&`%=N5pzQLI4~Li6VbH6Or5H8z>pp0 zV`qY~Q%mpj8GgWGqqyf0DP%x8xrL~szUo)=jlK~PjPD5zT%ok*+(*&wa@x=Pf&O)_ zmkq&BZr4UW?T2Tqm<(b%hetbzaF_61dAUF8vKv&52D=zO>7IZKk+VxA^SnqWrrt7qu|UR5EVWO`Q3vg=&bM_vJmT~qrgc;*7lDc>qq-{RlhU#lHJm8vBE3$xp_L{O)T!J z;XPV&xjhK+=7zwL{<;3)=?1NW@qy{PmS;#8h3iz>h;U^Hgw-%MSp$=!=Bsp4wan^_ zSLtL`KTyU9S84jbuETW~V)_5rO{e>UcXakSRmB_lNu&$StY7^7q&f!0b~p6)*25co0EIg>i*AZ+Q#pr zd5tt>lrUZZW8;Gm)PYcUH_Xa@n5%)8D{j0#!P{kY5P)rIHq|Y3KLXIU`+QALk9fD9GIN)JBIKr7|UMe+<-* z%M{0EPL3p~KU^HD3cRlohWdcXnhMn{$xXOFJi=P!{b=HYv+RL6_gJM*zhz3liKYy2 zyA(~EQYk|!PnAkn-C|q8B0y0&Kd{AI;{+cDX9@A>SJM69gmQCZO`uE(JVOHA`qj7| z(8m(?l6*Zyo?^X+r!n$WnmoRAZ9S}Pnd|xRe_t|rgn3nd3`9MU@9}r$qbKm0_>hxS z&RQy@_In7ltNNCOAQ12)bBgC(1QMYS631P{@Pz(OZe4+u}(Nd~|2fVl>KiXk8;*A*q(28m1 z4n+eGCv6W*wL1NY!wp*J^asU)##F8^n)sB#JX2xbk*4^rB)}UMhDNi3`E^y-Bd7@6 zB8W>O*54&!yfB`U!jgsG?0XO5tN6n!si5eDemeD^dGkl+3C8_<3?1>$JPpp^&SRGV zssJ2cY*4hSj}|>dyPxuJmrS&H-v*cpu0e+~s3`d^mK?qWO)TF7ZW}%XMTY#FHK=&7 zO$v*-23wd<*qj!)Zphshqzu*@gOxI@!8+(D-Tq5Q>3mVPj>>CSs0;TQ}!%wD0Bzx#vx=X~(VIn6bpuej5wQ+O*yWsWsju~M&d_q>D7wccWDr{YeG>pxMU z&=W{EN<*u>G*413kf%=^I8ghrVntu=b$U89pErFM! z0xx~$f2qbAr%5oww?;CiQ1TpMM#~VGH%H!-Z8WBPUjo4eeZA3mT>@>l9p(zx5X@?) zAl~{{uf8STw}6?JkwOJkLgPWxU8x*)WclSTpdlJKs4Mu*)a&bxbfnXlHrAXtVD05y zVouK8yD}o@6SkM_g9~EJe++)D>MHAe(zo(l@a?Lbtn+bSojJ*BUO9Y&bw27_`FpGR zRhT$>9{}{?zcV#3t@PgS`%MkL4G*wziKg<)K3J>X#HxbKaSZ&oj~jo=ug9ME@JT2* zJaPV5Xta)@@4viJd8ZGf3^eQci)k3O7jf)CduYGtQ^ajzXt2i2NnChZ6_JxIg0=zk z5h%)0|LId+>xO5d7yHtC z`^>L_ad$_ynaWb^*jd-zXqJLQmq&i+0h$J2c?=#0}tLgOfeaesewnob|*}*SLpe{$SF54}CHt%#W zZ!D4Q{4mx2Vc*8rf`ftPCy4K;M{vh}!K=n;lq5bYzC1pDeySGwxwYeQ0yZRfqGa!} z1i+B!IKAWN_TzmuRpdBgy%Qaqu%Bk&(p*NwtW8cnDvFPMBl6IJ_!MnwtZKa^P6Y?k zyfm8iUWPV*ueF)~gqv)ZNFW>($5W#fL)rPH6?wSUXE*iL@_&<|xx`z1mwd?8bLmsn z`!%Yi+)9{W6@<-y(aVrv;gx(SH2mX<-k{g&`}FxTli#9w{GiI$VcG;s^s8@r1)Vsw zFs?3xdR;O{)m2ewP_2gVUa_jxyzOST@By<{<>!^B@y=2?!WMdfp(A3JA%jY2M*g0E zn)D@0Su?04T#Kj#t2pdKxH%4ffGwJaC_#GxFv*-BuJ+RE`sNx`OTA3ZyEILT?dGj> z2Y>U=Z1Xzshc=qMU_Mg$NlImvypR)KjKsRs+bB~l4TO8B8Hs9Xkb3_1rBe(`r)Dgb zW-paxEcMA=>T6xGX`H{@F_dDtIS+RO&>9ZHH=UuyyGSh4~eQ`W5Ta znX0AF0lz?YdF5N8dRF=KJ~$|()^1hFxVRoltL;O+?QD5WUtR6Pk5r6czh{P7m>nR= z)4+ePu+v^aiKcd}@;gtN#F4jUsg*sI5P4JQFFB=hgeI!mk^$QV_)vhEt&aiyD#1#{ zcWsI|2ko^A+a~ESt5x*rt+Hgn@;JKnAe$c27ruG}U-@oN`s}{&SsQ$nv-{FjeeucK zMhlg(>CY*fs-xSNsy2DlH7Ov#D`^j>QxpF_(=2SAlFArZd||UwQu#A74SxK&q%ySJ zug^FO436ccJ%=j%iL|fc<&sKi+frLJAgPL`jGMY*R8|;ZYC)L4Br{u}^z19q#Fq+U zRx3UF7HU3^gabv=t6Fn83cL{_spX9gF~zd*^$>;v;E7*;VlzXat#3_a!ddKo@5+v-fy=%#CQ z{u*6?LFZ@EO-sPx zIV_#IaRiFS$0uG(gy+u99>9nc>1djK!0$y-bN4k!dJ<(F7Se|(Qa%e>nxK=_In|6` zEuEl~l4?XFmpq0qq;uyv|qU0EUp#L-3QB4GnUIL6M(<0TC_X0GJm%?DA&-Y z&dt3(_jvZQVBKGPBX{k{&XLVMoxSW2`b{#h<_AS*uT9k~I~19(oZF;Xc0TGrZ}zf- znw$l2+eD5=V;)J!iH&={@P1Y+`oY2Vne$)%k&P2=D90Mi^{h-~0+PO9Gg{OO-|1&I zftLv^{O-utocsLD+mF4XGe6*zdFT`5e|s6G@L{l5EdxsVuwF=Z^}@NDkI;Pr2Sf-D zaiUxic3ZDetWM_EAM(fE_urH---7XK7DdWcaXS{uIUVg2bu< z7e#~6d`u6qV7jbce2F}+C%;88K8_=&dNh}$B?qoBzA(qPW0`A3QEPj(H9hsPd2$JI z{w%~F*99)o@GfEDx3SRH3>WwZd~HkZO<&b(2&2+6q`H*eb^cRfBj7yJlXY5AE8O4# zv0yN9<9%rn$4NTk9;*-fj{kx0*mGbGH)fYa&nD+E#lEOlWzHFm?RCcWhV!mVz`hqq z{)w_sSpayXNER1kpo5Qy)7Bf}lMPw#n7wQ;J9gc%75GqV$(1Ka+0I0QM| zwv3TB88c%~S6$&Fm_##Ac zM4q!+Rl-xJwK;I*ghT{ZO^|^xoACntd%CQRGe`&`<~+9UuNK0Zx`e)~A#ZR51wim` zqaM9Zk1>L<(IbCCifBYvgEe=gP8M;lu2Vr?reE*j{#6P?mecEfWB3~~VzZj|1(QF(o%YMeRpvkwYt6d}qJsUhl=*?4*JUtc@XT9yup|J{$0NT<8%-?I-H6V>k4d9B?{r zp67~0aHYb)McLZI>ZP2`c`OiY5LxXp$dteD(W~?(6-2gyozbB;XcyMgpkRYCd^j5S z&d|SMEOHlrfy+q{Z;mf7{3f(T!uX)KQe{y!vWi4$1>BU?174+Y=|Zd6OI2vps}w=1 z^9lc3T2}f2#Qf|jcG0y0#;a6WDI;mvSB*+AdVm|c!Bck$u)q3>@E>FcQWi8G~p@`%vkLa;&>Szv00yW4pDtkhfMi@&GLxl|D zGoaqccgP56eW5L$j6ZU0w0IdQKYW^PQu03>E8v!`u~mzV9vh)FS6>o|8RTc&|InTx z&=T`sm)JyP4yNq<$jcf^Z9StPY7XGJp28m^j5cv8kMK~gKnBR8i_GFZ2Jir&0iNcV{7KRilpXp0 z;^==bBADgD#aLbh8~m5+{Kn%r7m;`b2o3a|7?dj!?-Bv5k`zR9`{I{WK)ztdysz>n zw-Fi~T)7bp6o5toFX|n3zr^jUnuHsA25yEMF67p;aPC-gt2uc1@)H>N!7%fulVBtr z+)>s4WS>FVdyzY{Rf_A6mRjt|h{NE(P}fClBDI<>e4sE!>fZwMJ=czw@4M~acY}lX zd&J>!dk&G}4`uU3yYphWZ1m%cD)Yabj*Ao1t0!{EEm#yqo_Aw4(k9NHiAVDk&~o8$ zMX3k^B4J!uu6Nt7BmV2-_#a^VC{JFrS0nzv1O78k+a&%`gd4{{V*-CIo`;$|`ZtNc zrQ6!d>6Xy zA0obHz}MycU=klkcYI9SyZ`T)^9S}z4>R6yy4AbRLJ=ia8E#C3A$PnR@+vxT$W?Vu z4!I7{k=#14rNw1$L0($iyr{`g7nD}M-EA*NUXFFI-0m!!WaTP?ajZnW(+#nnV2vQ{ zSc1^w;siZrLY`xNwGkn}0u3GktiR1=w;@g2IL#)G=FV>W4y0Mq{Tr+EXsmzzb&R(g zZr+H?PLMa^=4}o+!ts{YZC{1FWkcJ%=v+C;+&dG@!F{ahZuZ{9A_OKcTryyC=WZ{V z9K3MSlf3SxTFm)KP$rvP_Dx84(>UEfadb7^_Mai$Wk6T&{GUm>JD;T+?WUW@(S3J< z?)!h9Xb7w<(*524rMt{!Uxsv-jnmEI==ycrWk6SDJ}?^A?UYW^-S7xq zZo7yBe;X!xN;?(#5s;-EKZ5SbiP?1W&ttP@WaMlxyp+K)p%`qoSRa6oaWj{M0j?;M znJ)WGf*Ax)l}X1E(n+2gXikme1S%6!V%<(imZ zrcKBLY}Cqj7woE4W-4T}5G?RmhkIT2dtHF<9#TX7K+M&l%Vj@{`1%3g=g#^`d>q~J zv3}YW{KzP-m{?y=z8n^T*CCg}M+92$vr+H6uz@#38l_RSE;vJ~H=ry_Hx&QChDC4( zWMW%kw`-~5;I=@po8_3xJOQ_59v?&dIaxP#*_)70ZYbg$_n%H+SZQ+E-$FkB?owHN zoPU|*^9ojj;}hiPu_-v@C5-!?zA13n&N9jRXt+4|$fha-c>f{BC+B4rA}y)mT`cSy zVB*OsVduGz1mYenpWfxOb%A2vx7q`)r~|I}Bx&SAX=I|}$cN-SGGTwo1(e4&{AVZV zrj)0U6nlzgiNM9L6*YK}x7{M9TjStZS=Z2N*`BrQgp>!ct%w%-{U4N(oi9rSU9(6!Gy4zbn(xq;a4$%V8V1rn1{#gA;E6cK*ZbwNytfj zD>o*EDzds_-dKa#_N=pgGaY&1o3e@Q_z)XBDAKhXvhb$Y2ESj> zJd>LPrntvn0_Ks|y12PeO_!^%D;nvnXc^QZa_rg%82hmZ2YMn}`atg{KXhrD)_^(} z4eFff{XfUWU@>370>$8Gsc%$H7ii59(MCMz6(cT-=B5!0Qs>Iw=z@4iC~8@A*aT?M z_6%?p{?@;btqYa7Y*zSN*e>{>N?M`}R*QJ|3gSEC{rtUGdQ}OrqnXrP`Za@kXiM%?Ior+_JsbX}{Nr;~(qCjeky9=ez7@yI@>> z)}=b8bk=uG%qP5OWJ~6``7mNgi(2flDJ0l)T>s-Pt~^r5WiY;xllul(QU34{RyR1V z1DP@6!dqq0D6v?vTedJKwRPItkf*kBp1$Y+=9GuJ>~8~4s$+{r&v!WwO!9OM;l}19 zZ0{=^_=jEgQVx7Ewl@s^&{?X`=+IE#sUg3`xu7Z&I%E>4r&QH1;pBeEW)@>gso_=b zx!~8Vh&w|H{Jhs`e-HV2Z=9cxIRYq05&67*Atzp7V{y!38}do$PbX}9Tq!fZY=q>JuH?c z-?XF5=58SkoriqB6}iv(jN|&K(~axiPjKBD!*z2K*OwfwFUE2G{TW|V@|0v- zI}YeQID)kAb#l7g`5N#NA*3?jLCr1XTb$+cC9g~1Zjg4?d>mJSYP{a$K4$Ea zyePpq?419AiOy_`-0HqBNfa?FqlK4|KoN)}fk+zxsYKLcYsXLdIL`5r&+%b!^Rb^x z`g3Q5QG@O&7H@A&rZSI#RVw7Ro1YhuABUT0mYb*$Qto2zdSGho`&#|1xr*ahMAF7M z+3Ds4+6noX;O7DS)-YjkU5vgd1^~%7@+t8CHlbJ30#M^`+7i6+V{D9roqzz_AgI7jvqo z1YbNYf9Np7ek!BQJk~`YZ#tbYg_LplUkCg?#l38unT8HN9L}OAor`dlUNF^1`zuT(PMoo zL8FQWH>^)juOR0xTkSj}X#tj2J7s zCd!rndVBNZC8E>I`9|jwF?7Dn4}|2m9FCR1PR!`q4reMSUh^lMZ*e_hA(nFKgucm50wxPx>4adH?dHc7&aKf>W_skIq9vY5H`vtYnUaNJe8%_MJ0y`q zq5&ka&>D-}tr6D&hZ+ntQ~KGp3bL4k2nUEbfY7)hqB}qJvl z>uv)7b`dzhIR3I-DYl3)YXZ`pIq_=Y0ji%Of7(8Q9QonKmgTc{a`yr-w(UVX@MiN^ z7&uEVp~(oQ*{`?5fpQP$x9!&@oI{v)&jA3q?OuDVN9L;`jVcj*A!0kNXw=F20O=`C zGM()pnE^ymeyx4)=Am3!!4}}vCNh2okLqpsd)sIKY1h}whTxFuM_A>v?$orj`3NFH z5E1oHS^7YG;h)krN>8mtpbeP5Uc^M0pM5R-#Jm=(I-Z;Q)7+27bL;4EuJ|dlpr=MQ zv{pL4YBnlmeM;%cpp0hq&{~2DG4T>}tf`N5L$ zR0AEsm9W15v0g7Q8)a}7Qa@IL%joG5oZ2tzd;im(%ToPyM0HiD?&Y#9n=dHzf>TC3 z2RdFRp;;lX^EQs^D%$nYjgdPI4u>FXr`5a6-%&ed zLy0oTY!^oERHWj%x7(Af7yFfl^i<~HCu z%Z(Z2!SNmL2`3~&lolUOv&S+^@`dw;IbG?^a{E zd&WAQeCyUPvA77%hEgXi+rrzoz9MxGyxm;yl|yesn&}9YeyULBRJH%%k)uVr)xGk& z(-8u`SB>!l>j9;}u~P=!c&oeHyGd^Qy4CL2KAvQy(Gsy-^n{Q0V|Rhe9C2P z6QTe%Xz@i09SqjTwCKk5+o1*EnL$IZiCk+)Hf>#NMN`IFEu0mC_|TEHJp2&k^C+iS zPxu!jO8=oPGLe@SErq~QOck|mhGh?JKrZ?^zd?{Tthj3+pSI!@;%YNkJ4f%eIq$WB z@rnlvE6gP1Dz=~1ZDOT}v&|q@oQxrtxDpO1(KY&6oAYz71ZR?UA$;K@un@qCZ4-wq zehfh=;9E}7o;IjS3s=g$Lz+#gHylB1(h4aQ!6Evft3-ajUrR(l*&);&Sn-j2$;aqbocUQ zOusIu&Nqrc&9LQToOl4@)V|loc)j)p+HP&7k$a2u@jK2OmYwmNQp-m!tT-kr(yL3! z;kMWEcZnEz#i7RmC%NHF7pQzJrzXxY;VA$5(9;h6n2PmztKdjHf0 zhw3e_w?Xt;&Zl_VN&eA~XwbpX24Ph#zx8jZlb%ipCmT3kmbaCYSVaQ!Tp^ml12qGP8i*&keC|g#rHY0?}d<9&NT(Qeg?AuXEn^VBagxgVk zfrSdk+9H48+Cg%igY5*^??5W-1x_kYFF*(|X}qx4l+RgJb73CI7uj;MvYux=D$5Ih z962Z}wG?dGttFXQzG9&M6}Y#@1sChA`2KUJ^tx!sld8}*PNT~b9fzaqUrG61lOw&3 z*JR(sdRI&{S`Hmd&eCb&mO4C(Z?(pK$FY!{ZpfX&1C)vUKZuR$fNjW0x&I06J>D= zASZ>td)oFK>Gov|=%*lOLY+2*lA~Px_g+v{JwMub!C49-p6EY^CPaL#i5%bn^#Hg4 z1a-zOs52MPL;{-%ZrEsFxxkq){)C`p--Yt+7r?ROc{(9-4)>+LaNvSFxfqVCh&mmN z*9vuGIG>~1#n$ZYZdAptvHOpZZICR^4tZ^82bNG?3>%v^a=)Mcizi>T>>&jUZl>?tihU!xx6{M_if z_&N1ITwuE5RPgB$FNpi?Z$=sT)HP*wT2xxUoFd*lN#;ia)hz#NB{RLQX*1mI%iAp* zCXoI(Zs)-TOsGpz-D{l{&>-64%xUGp!=lo8!G#poS^haKJopb2c8(K%1i<`P<>11w zsoc9UxuQu7gonejEG)2<#!> zW#lf3ENaGup*P?v$p*>ivnXfK1xxUSzGfcz3iCu52|3a)gN<+eb-mX2g5$c3$S(Bs z>#g%V4;y2}Ij!!vWE}+`s?btVo)-!`BBIU5q>+(+J<+l{;23U~-HRMoNI=EYpNniX zb2rX*S<3z@ExV>DD^>I`zJ}Y>6@PKrRmG_a>7k=HD1N*?vK%dEO{~exGnlE!(xN5e zBQaD!JVbg$7?mTfaO`Q1!B#Qc`jop$0{ixe0bJ_jcB=!1032iCF5!atp7%OGW_5;c zCPc?)DE%4!!gr>|D?npV9EA;qcbxa-{IG;5oW@p|k&zO?J z`;obkSuY7QEY7qwQjNv2@SPa)E=oo@&}#2#1%HU;KchXZ&fZoW{@heqfek)3ziO2J za6>dBf^a}MaOD#axkkG19bfVn4nu3J-N9k_wD@b535YKi7<9q$kph!0$fTRmbwHyF zGU#S3@iggz*N0{30uR1ITXZdUU5g7&u5zQ~O^@4h^1mFi4_fWD9I}T=|Aw_eXk2K} z1su$$Eo)lrYg$}lvIa|d+@3~W;^1wqb_)mp7%oqy-~-DCzu00)X|boYxZw5=4z_?! zdY?x&ao~SzwZFrGvtWN{%R4xiw*0)s{___1aP_$DOEz$D2V3oX5zguj&c?Q#2sgjQ zKEH*`ca!%ezvAHbx7rB@CoO&-Zqq}!h!%T93yBzqTgJh?(Q4nx!TA$-xAbf4}w}6bP5uP80L!1W&z|Hl!|K+M8o0Q-fG{>;R-G` zv4hhOzW7^243{DZNOQ7egbkmf< zt);yhI_~Ocv04qiC|laWBMmdv#Pw&vhvFrwZ zQVevtgX?KnakWodxJ5T^ejQ(;w$s49ydnvfHN1Su-NyGxu z(SjVtFy3{1+UDW%CN0>1%9~pt1{Zg=bs~w)qtOieBTSF+z_GkZ7In6{AUdC4_(9|X zI9B09e%VqU)$D+68ThWb9XbYV#E3v`g6IjdxM|FjEV4~MSRmFYgMpRI)fDiOWCvcV zzC=z=Omf1vO@|vlh?Qf-GRcY;2p4(z8^_CZ9L~VY!JqOnr=@(#|BIJsj+cN*UKSp_ zEn*gd^s25siHO#faP$|TBm}mFAPECfspB)Yg-DZdG#3&jM|1a2X-;V=A8q=7)L+ig zeB3xu|K;N}a|V!R!6Z$gZ8^})antm+Ek~N0IhxCffTQ`FpVAy{F7N+;(R|p9GXHdv zX4pXq$UF#SF8_8KvuN0b(q1_!ZORq~l$Rr|@}x;&^K4er$To&RAVc$#&=B*lo}j@cl7Rm1eiV=iM|A%c7mHp{HoH&ueH8jdp>Co~qF< z)X-v$Hbz5BHQHDW?Wv+=8f{$Ev}Todky>={b0JL(`O#*J9_ym^gs38ThNGPUTq#w}5P?v>w{hHqGAD6G z?(#!#C*6Mv_XY&jiihi;Bt^4KP)_|5(HeLTpLvp0%Tn@CiwTzLhlechHrd~8a(R+> zacYBEx^?4Ia<&nEE5C2H-)YA6M^YRB*fLumi*`IcxQlNwHQ5g|aSH^@^rRdM!rH)1 z^3NT7ooCt8WZ&C_LuAjhS%Q@!oM)4=HcK;)+iWN5EDrPErDx!-$3Hy{^`VQ8KDFh+ z%x=~B+ICis!u)U5`PoWfBV*FZ?1Rm~u2nZ}?#kLJrM-Q+DF$wtfqB@Z^C3aVFVF`r z?n#)xzPfjs$vMBE+9o-8m@4RQV=e%ZH=nM^WkP`i*uZAPsj%G0_*`k>*F#@P<$p0N z?ad2wVfjZq&VMz-rWv+2U|`>c6v$&lT>x z0?f;UygV-Nief z^TpqG$!EGbcshZK=m1zp0Zvb`LK5u?XCK6lGU7E8q(nQEcXGJkrI1%xtzlZBprYs$&>U0x)&v zeCVqmArCJ|-`<(ub&S3Cz&w#5YGiyAP zw;2y4rB8Hp3E&FRH)Qcf$BpN=kKDtu{od?q_?ld_6K*##0sIg0Nwy^CqDL}k-N0Z9pIoieCjWFq7!8epiD{j?42HScJdf0n z3=Y-?uu?FAR5fw7q7zMMPBFC$3~g*?{u67XBE&+&#ovJ;*B`+WGat(+VTQ*s24Cml zLzEKSsliiZC=ztjy;N`;0$I%AH38n|M-MeQ4?WBGf-xRMQ=y)ec3%^IM`yO0&g|2G z;R1e`*3J zru~Z3YOWyn5C9swMgTKhBP5)1KmvT#bhC1UVEblOt#Ei6TYpCRgTuM4NpVi`d2{e} z!Eo23c@itQg*3B6%4yqm<@s^!|QyCAqe{~3Ps-U-YuvVqiJ;kk( zuo_+u^`)*&er*5ayu~ip>Aa4 za5Zt3DpIABtD{TP!*%MV2Blv(Q7Pq(&d56FVyjcC($22b8gw2Zd*SpYoTYVfG-oww zEcv7ACTDch*!fhXc>!s*g6-fp9poIsy$)ji_BSgV=oK|&BPO6z^JP<>+(k2;DIR1C zHdgg?+sk0Qse^ltbMXDBWItV2TvQ#VFWX_8o*B!Svkzot?Z`at1!vp$b)Fz`h$&m? zSHC)Yo%rBiVKtV6B~n;b!5Wm)z<-jOyxT8<&o|^vOSzKZ%TKwHz!%GRc&vA({E+OC z-4Ki|w?EvE&lJGr^zOX)rGkw2KRt!s8+62ImZxcy(|7ZeUVs?l;vsflD!GG|vxUL0 zoA}EbCLf+liAr$lRQ5N9PNS8V8pE~W=_-$yMwGk1D$J)r7`{yv<{M7bKZKX7!ldCA zRhTT?KAZt&{E$l4+1+UGZoDoC+3R6DL}@z6IvY~;rHxyGbm z2e|vFR+t?!jhx4Xldq9fuJpT&s$&6A*7;$h+Y5k-LZZ6^;&q`Er3#%DHcf1ROB*b7 z$;~^!56r)fbPTS_HHZr?^UI8T0(N}cG?xI65;lAcspuA{!HITwCSI=?fd>}Jy9i%= zYm7ga;BE#{b8Ng0Y$T3WG&(CdHpcAcDmNc6so9VyagHPIc#7EeA~v-)9L|kGOgq*Y z&bOof9V^J(0x~mEpu}hToa-I(&~Ozc25Y*Nft)U`JFN4N17cF}g7H--g%>2*7M^_L zLuN62N+*yQPymZI4du$Jg|ABrvNKbm@yU7Q-;IiMphA&i_%H%jp9)o(J_`)R6+Ze0 z@wRroKFiRi2sJhLG0KLNg`d|6yPu$m6aP2&PDTfsayXz3;-Iz=l{)ipZh^c5}JysFtRaqIASt_WH z=nBet%$f>ltBP0m{(pgnDdL+{Bb>s5`;G9e0N%<$$wLb|oT2o~+4ThU(w&HE-)5-e zAKZ0h1aRXO@{ml&`0QQd{uU~iH&i6s^F~aCS9EN}-PIMzT>&}YvzmMXxc~5augx5y z4*=0d{8cL${tgan!wn7G5e&c=1I#Bh`PB+`@$-GjdIT~qg>Z4Blz{-H4bg^80E$#(1An&|1f~)Tr47kUB~t{Yjsl# zE6WlqGgJ9}&mAm#-}mRo4|C5s&w0*s{y*nA&v~9E*Mwqyc@Ao{EN9cVs z%nkQ2`9K@Nnxft%3};f8pO>9VU{E&k;UbhBP0F54VoBK##Vo&D_5&pDf0SKfAQP#e zJW43NpnN)tk0EfRcrE!L#eW_s9(QP|ToDI@DpMDVb=jL2rEE@|txL7--ORBBwDT{# z-u2R$ljocGyZ4*0D9&lgq{Na$=A)H{A#q%_Gs)?jx0^#3Dhk6S{K=zCOqVMGu#0k_ ztVw3X3gy${LM3F50^&ab@wPEL&;N-JTyqn&(g0c!bg#>8@E03q;`@&#ywfgD1d??G z$KpBjcoTrL5WbfXPS|ek9?(5iu!e`muKTC|-yhAEzAohR~dx zxRSYM%K`oq?Bq(XxPC?~94PIgy)PJ=cxw}BfVk-O$B ziw2kX=-g|@C2Ss_DmA`j;Fi(59$KBugc`FDUC2Jlr^?Knv1+wAhhsM!GfRvlOY)$5 zoZ{CXox2rl%`DO=VC{BthXi^a1U>Gt1fDmcSvRUlT>-V9)Ku>l!N@%(t6R?#<&(dW z4E6W(dLvzUO|{WjUwq6cZ;Gpr;*BYupwX1u;6C=m#L>>FQDptr8?U(nx{a%^&62y- zyfY1+FVeU_6EqIXa5*@x&E&gbAcRpgS!yaA70k5VMKDlocTw2b(zk5KfVSI$3LR3- zlUTM|j*J`fnTQu@l|g6F>HZU5J1{5GjoTqk(c2`24P%qTUAOEt@7ZdD)CeRmH5)3pP<`K34`8X=oVzo)ZYD^OHRwM7Nu?8Ri(!F`*Kjw85 z%>6ng!pPAC+ECE>f)CG6s*ve6UnS%a`uzuzO3r9skDF<4{*5q)`0C%(j)&b>g{@^8t-Do9U^)RgKr6XYX-$n50nsZPyorq>s!s<9}uHAgm%;kdAmaDguGql zp@W~??SsC4)V*_#Pw$Q#v- zgB8;|%@K6xLi8}m2tI_IZF7*;=uXM}Y^ppAHhYkp%Kemyj6@Z?CyBSM~s#zK62h%Z-IwS=ohj?gIR z!^9p)h*G4O@7H`S=UxzUd~;0i&P@gEnAj(*y<%V0wei^FtC;w*cRz5@UMq2(H#7~Z z--Rzox74`6Sk!`KbX$U|4lSL)E!4cP6oQ3ux;L;O-FovAz*JRx005t zA(4)0ou`F@93d``(8AMX^dynaoLtFs~ z9_eI*BkAz5L}7(DI=HI@!z^XHSC?AA@J8g!mBI6>Qr**%c(aBI(;B6WJAl z@;av=`36r5^|8?olfgP7>hg=ge%Nj4dYdKYKdIVC_s(MzcJQ&rFibzgM79i2#BS8t zEgVHKbZ$S!Z$CDnBXyg^5Wa0FZ~oX75!Cd=siM($z+9w6-p_q=guquH;~jv%Efv;^ zKuyGC6q!W{5UPP6+CbnEn67t2PQ1oFO9CD>w}~u5cx{cg?|4#OTvBN&BdkD-hDy&= z^M5(g`W*aWNk@Iu@XmxuBQg>w?L`|+oJsPZK4y@@D4zSb$41|ST%=6-lTO4LQiO0+ z7bINmlq*fAxp^BcQQ8HrT#SYmSI?g0gy*^HgR+udRzl3Bc{?_$cs(>8tMdM(lAlXT2QWbVpy zu!~)Kc^qdaYIz^dVy!l)CP@Ns9*Nx`W%Y1ALOGuwnMK~`EQE_3@HS|EGg6~CeC7~j@H^e zVn|HhBAJQ9TA@uL)h1$z5y{>|+~1E1$4Q7sr&roz3cb{>job+WP3V=EOHVc>;*Oz` zv*3|B_a;dgyfKdRf_+BHrl560@Ie#;-(Tx}b!CaS25#+so=d#(Y=dHQV&%7$7$5j= zwj@512$hzUX`)-Pnl1|JLl7gN;bI=6^fOWz#q;adJ()5nfv%&3ncn6Zks}$6x=pE3 z{y+vR=Q&!qWW1)niR13{q5RI4qfU-*LA9Gi6BYlSG=`(TifCw}Z*=Q)v&8dp*?LPb zjkcBKYNw5IW_naDTm^guHx;*bY90-0kZU35SJpw!k86}=>036#PG#+x(i{rbdq0p1 zz`0a|Tw-^9W{sn&r^RZrDE6hJpy^)%C7X}(epH z(kOBDfw;n~TioA;T+bfW%cbDlA^F3;H8C28guK{Sqc)pXrBq#lN+N%=A-cy%3Dgr7rdz}C`r-lQy6L70bTyDkDh&v>k^7v zew1H9$`T3QKO(t(q$J{i0&R5xdS=&RQw(&j`{p&hYgc^iGCsBbd%v->U@+>%$yjA% z(zqG%`dBJ1g&r&ii(A+&n%Ibf2Brdgd>mH}H zVz953a}V}Czj1x9Xr7{C)=~GWBhPPSA`oO0mC3}muV$s%!BuWdT)XxgO?QZ){)>ya zj^ru?0wRu@xdv9v>x5Rvz>!SQy+)v0L{WzNS}PlTH0%BGnVH;^Bopjv=9P6SkKV}Q z)yNiD1%4yILy2*1;y2JPi*#H_+_}BZ>~r!|vRaqCQuCP%dyBl3A3ukC85x%^6#soc zFCit1CR$)2!2-R~qhzKwvrJuor9-vgOEUUNM6a^4ZzD#FjQS}e?l|+kH z^_Zdk#f1oM;O)N=#=n8GgfYMn{LQQaS3}r~TBc9~xaT8w(_Fns7@R|ui&c7N`T(yh z9@?ziw)u*pU)BycJTU_p@r8M}hPYGw3}|CZTHYlQX+LlaNhw#9-g*y5HkFn`B)<21 zZx}IxH~J0=S@#rwI%2hVEV)xkpK!(OgksFSHZ^1Bl^)A5VbYBvrGS?5r_>S$>CXVh_kr!B6JAiDn<0u*O6I^^?tT$Qw^^-;(BbEu>)pdIc>T9+$6?`h>mF<+hLu$l8Cor}a0m8ko#* z$Mx-L8epbjBX%BY>M|Y@&Ms80teL%!`nQAs)R(dAsX)I5#R(DDRd4E7)(&KXt^88}}QOeZOc+!`aj=n`>_f0~QwNH9PMF zZ00w+!a14{qF+PlW2n?fV;ZDddAaeW-;iC8Y~`d5g!Zp`05-v2x6{L2q*l0W;W$tCY0+mv7g*C5>rQ zy=J{4ruTqHah4t-7R4v_OM$<~#q1FW&SJ9aonMVeI1j0L6(q-?b3`&c5NK@_`fq~R zYi$PNhjn?|n}PV@i1fOHXN`$<2N65m>NR=j-UD0{!9Z33p{`ft+vpMLJ$Qx*9)p0# zlpMfgn#umh5vRgHH@jtVP4{`s=VWckZgXFv?wk07IOcK72+H9+vn)P2RbWC%I}&+M zzj(MgKp}US;B^WWPt`5ojEYyMM(C9>4&_<>P}(`^iQ_odD7bZZsbfoyz*s5j-RK+( z8Pi?lC0I?Q5S?SH-@NTr3$Jivgw_;s2_#ow#G_rfk|V@gY_?Y)^T4&W3nXb0l({5gV+d+f-)Hl7_MZUTl|cx2NL@G`T2ly)~R z=LqpT6No|CN!dr@qVu?H5;0GiXtJ2zor_(X%ODYnCSPLWx2|SOTQc_uiCC!QenEcI z?H0sV_fF?hNf6(Ak|P5)j+0t?(oBhoNrN~=a>*pM3N`@5ToUhXf^aU1AfJ09YM?rj zu8a>6GF~qTP!30kqSIZvdY$gE zL1B)1=;1W(i$0H{xrAb+N8p!a^tcofT9;wFFrRRaAxa$FI9UyZJ<3h7@AoAP=iu3a z-X+3;k2~Z=n%<(&TSAxuqm6+fRRRr_d(&oNwKW|Cb)oQO2Tr{QN7_bd4i``jP)oxf~3`GJMI zMam{^QQZ^6eeH!;bHjA*I*FVB{%4>2zwZK%k@%eO+{KpteW{WO`*Ie_eWI_0nwWm1 zFOvS=#|-C)lScaBjp(?9dy!=0-swv<)#!5}$-LWVmbdyQZhcM?h=2jLq~m==sLjMwvTHhA+yvJO%;lR0I_Q^S04cISNHLo``lH1+@DE= zt+J01Z=f~RFgi-YFjXSvB&0vX(NxP$DeyxfVY@;P z3aqg7PZD7Qo`0&(UD3xqM}nYr4f$o(a9RPWnfxsgOA5;*u=l%$j5ph_`)VWc2jMaj z=H~TO@1$)-eGYoBf?G+l!}ze6J5RpIrB0uFN#7M>Q*8x_F-K>?R!onp_>RE9eap@tSZyCOoqx;=p9*w<3F8GXkz&^8snIF9R^dq%A{kem*6r3onyfPVSRHnh4KPoDxi~Jc%R7s9Y9* z_D1t+^bN&*PS)f-q0>n|;j>`|qm@ahZ9z^$Va+%M-Z=1)bBg=J-qNk#;mpFlM)2!J z6ukMpMYe#ylQJM3ose@<>|3Y{SwP<+3Ea_MOk^*r{ziZn)P;M7R0QV@-#F+bp#6a~ zDK4W0D(yg@6Qb6Q@-P*~9S)Q*@z!eedtCI8sffAE9_dZ$?`liIt5b>Bg6efRud z12$a149|qIaA0dCVroy&rhnm``Az|IrSNC#duB?w^5mzSwgYZvFu# z66h`(?xVEnRIhu}_Z@F1o*yPf43ytDkpfkWGFhcsMsI`oK2!Abq#RMw>|T|lvhp$L(7Ui*{fXqN z3A8|VDy{YvS4}cw+u*Gta-KuHWa)%kyQb?R%%`jHjw+%;3@vSN^Fh{Z~nqRV=iA zbvdUlg=@f~Fw?4=aT{M(SBw>oQ7lwI{H}dj*JQ73@~N6~rA<(jBD^VlMd`&|dfMIS zJtt~;XMD)oMTc*_aEh0#P`2C{uYJuRGD-|;W4M7e&ZreHn_!Tz9x)M7-+O4HL*;O% z7>yv?z9x+OYme!86uAyJBf=3@zq1E=0QGARPnhfsL#dtVUZgd|YdTK%iH+rYaZK$xLphUyVQVapf;0J)mtjLF)rpE%{HGT; zvJ_=Ac#CN7;zfn0@L&7X`NQfpeZD?*$=+$JW(K=E54m3N>Nu9<+Rb+C^et*S)sVv& zLS>i6vER}#hA8YW&QNd~OlWmeF!w-DWpX8F>VdxsG!vXV2F8jYW5V(fgS(k{-QBpD zU2!d~+V^EGMA3s$4$qQq4>Lv!XQUnc(|eLJEgE-^}9{XTHiCu7b*FOXF( zdMwXTLoX`xWqYL?LbdBRh8~GoH9N6+z|b#V)K&@Zm-`jTZ+*j;_vo7B1;GU_s${

MO7%p1Xq1O{+S4Oly-g8)^(qX3gKHm!d?<-FNwOQkHk}AMsc-f zd$V49TXAZ@Fe1Z=G-e8}^$^o9uMw51snRg`yU+~X6s`x$B8G4jL?Tdt|GsFWN`t9S zMKHohQ80y8{DyDMf#uDdfzU?YKcH_0@You{NiLDZkpXZ|+)NUOmjuM>qP;{r532Y= zn_<9U5P_BvNnE(3gI zo1?!Hs!a5KQ$_P6mUUkEOR&P7rV~gL<=f()RFDji$ zr&wv>PO$O<`6*sL%{w6p*953D^fZm0IOmju&wZG*RCL}rxGVyjl~3501 zAxuQ7i>2{$ubr;3j7Cu{Qz@s&VaaQPL-ZVYK-8jR|EkE|P0RL-XYC5CN-&Vs#UdPu#A}Q)Lck=0Xbr;(aOi94QU%54ITUMF`X-Vy3Z=Hf%DR2 zx4ELX)q~h4u?Ey{?gqFcsBi;xi4h*XGtT|7`#jz#qNu07K|920@dLiC}-%T{wec zpC<8l_eD(T(w8OJcwv#Wv%DMkUE-KmFyrH#Qtl>c>GMwY&h5^i;Z&^y%$`6a4$t)x zZbkR`Hg(&ppm5K2NDjOKI(k3{amzvIa4+fR=8+jav8KE8yTMrg6dt`Dz*l-F@XO^9 zR_E?M2VPLsL-&OC=uHK(u99ii0(pKvAyAR5FeGg!Jj? zwQ-NAUlg-Y!qleHsruB=RBI}H)M1Gr-IYq(CG}M5MN>(rsU%FM0y9vqa-6<#(;%re zKr~C^K@X(<@$w)p~It3 zNl-t);VxL*PV3nzDJ`m`)dv=BPpn%83tqGEyo&h+%nI9CjcNafcsstJygE#=pon>( zdOMapI}gQT+RlgD@vhQF-Ik3=&PiLo6fM}eP1(4emakgAVD*{}joae|6U8UbzRUmq zfdBUg;NVP(%WJNckm2BJ*DztlD}5y;5TeAd=T{x@mkA&>9M>Fx7{-11Tyd3%(pqyZ zCM({*tT%mau;9f~rQT;03mZ531kQ;Qyr(l@yS6ytj2&)@ohhEhFL3>e3!?{4xmFHR zcziK0==}Ds#QjNi4XmrlcfM7 zP*7S&Lk2vP|5e;=zM3VbsJRN$@kF~7?-Wf|vCild#^wcx<61Js9wj4h^>Z7@I$#$^ zY^>i9>lD}UFRb6>s9Yb?bYW{_>sV84l%vrg-Jlu7h0J<`be+qvu8iIwE05)a53X6i z?yVcnsSbI=$}s!NP}?^L?9pNCqC<MweE(Lw(TA)foq zMC9&B4L{|8Km0(uywa=VmXYYwk#v@fI;X(uEr*^n!I3`!e&hogtZknz$;fc<3)b5n zJzU)#iNAh~cVGrkuy@+>Rm<;%kw_J0UVJ7qE%Q?@!x zCc~qo5oPf^n|;O4)E+K*yQlc|&G0l`tLzCYzi{m}>gshJ^2%0QO86P8lgjxK`D(U= zH>_5d@CmC$pN5@-*b@<`$TSq?1Z>&*CgX;%-P*}L z8N(?KvAq0Y?fTyJRSY$})CneDzFIW18qh(M-Lds}lwFiiYsQev$haasCxH${fQ#jBkqx#?DcN+b>NUzC-t(#Y zOonVOo>_{gmeE;%p=9;gcKHTZ>7G3FHK#||KlF?0LuF3_y)J5zH+^;u$o$jLO!9Z-W|WE97fS_ zJhDv5%1(@r1pQbD`YKQkx(iqa2gbFI4eqsTi`N^@oT(p?4Q5dGXw3%T&DcHl!E^Ev zC~^j>RHoErb&o^y+mt0jn+MgcUyS@~J-$80cb#tZiZOhHSpLam zXT8Vm+UVP3h^pM^tCCW83B9M@|El`ixKQSn!F$Wx`BRzq0Ml77gL0uvMdkX%<@HW? zU72rfnQxWhA64}jSj_Yh*(D<_FMna8-AS8O-`hZlfaxB7PM3f7-M;)i83#vpo~hRk zs?NzmsB`jxKA9J{%;&lpx=RmkvANlR-O!2Bnb5ljAP-W5l~ls#h?Nymb5-~q z)KRic)Pm(m9W104tii7=k6I9ksx)I-AbUPlofiLi9?AYFK2-}Y6IhnY`W;0*zLR`I zP~ozXkC~K=+%NoYPsHl#G)=RsjAVKUF{{Z(ELCO0%z%;)37PP*5g#CL@Yj@AT>aD( z`~E*x_J#C_wM#U?q1rapm#xu*k5X&)7Tyf^h`aXvv5E%cxc)Ld_$#Vw{~vL8!gOjMTC^`%NxF4n%<(?hW_q-BWE^gRE)g2CL)Y5~g6hT%NvRce&WLm0u@OGE$ zb~h&1gOs)mFO0LMQ?aq7SqU)tRrX|6Jn9zvoUO_LA{#H0>UOmUh+M`FhGLx&cePL* zy&+h9ztc*;Q@)@%q-eaXaI(3Ux+T74Nddwe+?920I*>0Nlw#h^&4S1>0m~lq&>)$I z&t>6Hl|7TvW;&u(j+$sk23cDjQ}I1@cZAX*M^KJ^hQf3&_K4ojf8X|5MZX-we<=Tq z?bC|kG*5J4+u7Q09pdJF8j+u;DMN-z zZ_F^LvrVInrs{W;s_OcN;`B?tZIbinpSk`}G{iCZr-Dfh>RR*@9#KvHXBE(SJwKW9 zWPDnoYIEebW?c4Q@424$e#zi%v|DkeFH8RaDaWDCHjhFNv|Le&*j`*(R6oi^xmwIonpHHsa823)Xcp>l)XBVM7J-#B%RtVti` zs1i}+CvMG*MuTiaC`L5lKg0>y8}%D#gFYUt$1Q_AmtGc{rA89rQ3Rj~m~~J}(bMT~ z=mfxXc%a!YHORR~2(MGS#ce$}s-_4|63?ZR*jCz*tkoNn$+!`o1d}t4S6mBAKc(a2 z#DyxCLf`~mm77XF_rO8RY|7kl+`AxX)1?Eyk-)heo3Kfe15W{ z!D}x2=saR$NUXU5sGmYePeR@T;ro8!yFvJl6231A-_wNeYnrVTHX?2c33cg1grv|w z;Ngk1;6N}_GK|}K16EUa+UDe7K*)f z0Kc55#5QA{EoMY|`en-G+L}tkJaH&xZ&ujzWvQZ63!|tG7peYa+COf}mtS;M;(^oo z3zdof%Baaio>s%wkV-}Di2_9+f z;-3`>nViUEgG*~k(!c@k(N2?193VfWTRyB#O6R847f*jG*=tUYB9lhrRgP=_azi|@WE5HwMc z4@uSKD&%HnF|YyKvQA8Ztp^YjfM4|A6Y{>88`p(8+*?-5@5K#aGQ3aW=1ia$%HuxT z-@I}PE@gfy5BNY^%WuUHG2E5o6MeGM&*@#SCC+HEyPks4)7=r1*{2Tp9HRI$48yG^ z^`51i2Zv3NBXA<)1;~#o*fKPo&P$iLCgG~H%Qk~6=mZ=W+)+QNql=wU!#DXCDpR?H z?u0W;lYxW8f6qgc8hhtxE}NmHX`2GRczxug>d4U86D(1%osxyqKQYlj_=yO+ZHl&J zHK(UV!_BhyC<-&38^k4so`sw=v4p0sxv2FTvd6BYMUOkGrz-5O4b@YL@xW{B6h8fc z=fX14MLr7Fb-H+6ObG2toB=s;m`o%tTdC6OnIIzvBC>AN1FT$gi|TUCfenO~+qAdB zb76E7txCSWIE#Jo0J-IYfg~3;Xv?Sht^8;HDisci=6oa19_=i6Em@ZwVz4dO`}87R zw9e?qMO;$!fmFYYrt)`nY`VV8znV|^n9ll$cKF%0{gt@g@yoFHPzFw0u#D7iRp{5l zp;`Z;nfqb%SKeR?+c>sD&N!J`I5VfHr3oRQj-CH6_2s6kP3kpGO=DR!bv{o0{JN{_ z)oa#k+q6qsIp|*Nl~l>V$yMHeUM`_v@5Xk8Mr)aE~l4J zyI#VDfi2`|sVtrl;+SaaENsNoHtAeRcIcBX`944aFS`t z#&PD~;}{|ZgnTB_y8pv;Ysi9Sjp6j*45~6#cU7;`41}7wgoD~>Bc~UOvO|Ls{>iAa z8$!syQjzUKJ5xxaConFbD?xXmq=qI^Qg-Oq4XAuABWawQ0gxe%`D+!Kzl7f0tGFA? zw7zljNAQaSCqL=`$k*g!w()=KYMe!9?-ea%YPY7R7lZ#uNOx`_z@xKh%^ER)O*EBYkK2BKXI0k#AA*#a2kElqA?AGc z#jbLTFhp1LgOAYeKX%33C$2K0c-$N}u)0)q@|5anv@DITdIaNB&xYt`_+VgjSh_;y z8H=JhM;FFaE8pX1w(DXuR=qmUH1OTY&FZA5yS5|`iO+;_PY{4@%67Tk7DE<L=6mrpy7xtExkKpdDN=vxG3AQu9F6sB^~0=_&qYO zhReO1Ll#OWENx)Ji`V-av`GxD0!?$I$vr#nRXpW?8tYh?am;ZcA-bOJN>wmQ6C2j# zZ{_!d(X#hNgBP${=w`4U-s{KJ*;E;LMR`eB{e4|%$DNKL#hC~$nBd+f*Cy*&_LBa5 zt%0<-$IogA5p8;-pAGFA;?qoo7H=3w6L416l{C4F0Cwm@;ttS*XUCJ6uDAp03s*Wf zU1P+b`Hj5E7FuP2x}Us@QS<_h9pQN}y?QEGrz))X*N zU&p;V>Bl+_#$x0|iD4uTm}@f{Tx(zxkYr8zs*^$8Ut*d|A9wk8+a@6_fr z+n6rfBt09d(MvY?O|GZb&S=p^`*w%UCI#s5w2hye5%;RR{@Mb-n*(<`w> zz+~6cw8_Q-o#%pgT8o-)9n<7pK>xneHk9$sftkZlvg1y-gM=Ku$nUvujSsoVM-Z{4 z)fQ4U;+oTO_sM%7t-j}wX zxo>W%YJJ0A`l4-G;v63%ZQK*Tc9}2gd$_+?Y78dMsea=wuuWs6I7v|juU}-QtzF_H z(aYQowrOe4q?u8lH1pa&Wh6Q>c1J+y;HymbRc89|d}8;sc+Z7?*+@`JCZXiSKl_zK zWaCSsx8bqHyJQo@BrauWOy8P{OW0l6@ZAydSyEh8$(z|=9D`csqds_ZGMItsHNZx6 zv6GR|@(7x9vZnVRyTd{PF^R`@qdBCpp8xyq@JT|clF@9T{v$(Uq@%U&9%N=oQl`YJs* zLJck(ht`*6QOBkmdC8XKjv78aLznB9VV|gdY5hy|;Bg8^5zsTu!|$n~Wj?$SgI5+| zTJ8FCY3VpwMw?kQteT4@gPlyys>4*v%6n5-lEUw8_rDI}di>lc9S9fZ&CE(8x5k7u zEu;C@+Wo(4hc}EBszCas$O;pysr`fHzuNP^=%|uWW`1~klCmSET3LmYGgTHwYZ^~j zcC_c;>bUSq``AYvgHaUU(C)v`AsorxBZXY}bNkr&jvbMrk>GQah3F4R^cCf8Rnk-K z7j1gHA2r#ct*pL)jUL3~EPK2EpMm@*380nL5ZK{=COy&KY>P~M7|>cUCHU^LX{~Hz z0juTS>8MNz;m&qcV@ZW}0ULr>aCX~$+(<`*?fxy*HGZex!S@HXD=yk%!3tp*H`r#B z&ZC7bh@2h|k)p6CVQ8NV8c}fXl5qXuj{KnxVF}F*xyZ(Xcgj9A-NdRbyE?MB!&Yuc znV6Q<+;KN`Y`W9x|BN48L|G1Y^k$;_giRE4P2-SN9Oy_%Dd9!?{f9f+gRdUb1&HAO zOv(tLy%d=yq;OsmH%z?Ubp?!@K1Wh^M}}hp;vc`Z!~cg4Za#_J5h)ee?KefHJ4`&5O1(I;Rm^$8e9 zkBNlkzVw(VusDn!6@lZaU1s1+tj;L5vQuggCJpQ@@*DWXIfc%wwatZ%JAp zPw7ly*3MIQ%!HvNf@{|Y?r9yTFH$k$@kPp;#ner)g_1>3G4yz=h+Hy2I~u+}C<1DE zpkqV}MG8C{N%kRVHDP7sJ|{7k zB7?Y776l}<~h2RBc!s%6bJBU+ej~d4cQ0VtvTtRjWd2SsbqEL{U=v5baOfI~?hcZC}(suxQrB z9;mYzMNxm7rP_3znL6SZjKNuuT{YnMCL3`ev~ zz5{JX^$pe=O>`Bwt@prN@zmW0X%t;+ca#+7kULD~j#nRmhfjN&tGo*>jJ*|fPKLqC zFxkzt>=%%Y;<$C{c=*m)>)s6C+327>L0U)Unt|%Hr?1FwGmc5~&sBDOQ`~2-to-&w zU$Mj9;rh1C;R){O_{Qb>=H|_g{k|K)mA-GUc6?h|`Ay|kpQ|IO*HL*j38@tP;CXbd z!Sla-uj`N_s5VC?BSPDTw{JD3NOK=0W5W@o845ga#DyE)!bCOE4&+c6W?l~W89V3QncRqW4U!pZ6?q!3OHL&{q;j?kPAA{R(eX*>W1uT*Qum0+reJjhWFJahZHZ? znf8j(^bD5gQ20F=454z=22p}EeunimQ=YZllHTGYuIzTZvs=P(*lr#OrNYyx3^%1r zFLu?tV9D<+p(g3-J|<$JvUjmcZ?{G8Wv~0M>A9LX@iZCVC~T*7B}H22x*SG=mOKgge^5aySr3Y@aC;$7Z`E*h1iFFc_}Lb zXRxu@*d!bsrx`h8MblUmnoct~jVihj`>2M|tR9P962IvN6I8?1R7B~)tV7@nov|?o zcPU~nGp&hhs+a{CpGGzb3Oyt`$Hs(i$<)4_ixi!4F%G_nzfg2x(>JMOxm+%g6xcLX zs9!m^x?+~BsF9K6PGK?;qwVXN0+~z68{yt5tGceX%VW|+t)0U+{q}tr`|dXPv-`Mj z+t99tMn|W!qK0NZW#W^$V3NREbIK*0L&! zvOT!3aPw`C#hXudSk6Kq2E(y_*ciPgLRy(#oW5xG$x?Ox3{uXTB}39PQ&3WRCd-B0 zEh+!LeT*y%i-P>gkRj=*7?FNJ#4#i_aiuQZ!fstsIQvd*RjXn=AHiFXt|4XxV>)1ir1!pC$};6I`YXFr;Q$eGW(38mo>irvmHn z98%VhJCBei0waq_kA2*4_vI+aHD0}s~Yr4W2aPQgXH=-VrE>;TJI;7*Ai~vC* zevTdqZnjPDvPE)I5@lzn!nrxM#0{XyI?DP%|FuViId1!tTr zP_t*-ony=OL-d(YO%vmOv90s(I4x*#0l{4%uoDvZ;Hw|%xXUD>ytCOBz9zHFHpOb2 z=FRt5^n)T!LdpdVoQQmoiR!U{Q0^Sb0eS}5aQjf=DRzoI3)35uyG@{@_qT3aTj&0E zq5n>iC;$SAYZj7E+y{3!aXaY2G>Tu^=D*b5%!YTdQ=X=|S4lcw(B{7Yemxwt2&>9} zkyz5oFh2s`c_#@L5pn^L7ei>}J|J;VE4lZ`Z-7p3e#u}WcOa0r=_ZH+TMJgZS!}ua{>&ZocL_kW6@>9jF!}VOx=rS5jN$)9BPL+l&xq#Ia{5kcZNFX zrg}ZA!JOk%t4|kD#YWwZ0m|H&V_CDZD1WsjOG%k43O6V6L2drOpau$WJy%HR5JsBN zFgX?TB&XXR7(7Z1acAl$X4zT-!_||&Xrw<2IgqN2=Ca8*X)r)y%R!5kkr-dEwq5M+l;A~NOXZ8;DT&Xs>Ad4bW6tivaD_LM3 z?>5oD3nY|wNkJx+WyE~p-)r@kwa>$iAVI>v+v-2niX$}H0)hp!TfQE=U*s6m49T1q zE*Z6YHlnsf|5|c|` z$cvyi!br>&2A=4g>3xj2fn^HVNr_FBX-nW_LEZ$3R!cZcNDYE60jGIP_e7FziSP8A zSpJKjNGitX6p@23F34Eq@GUCy)$oh-zSVvRKsC9N0(SD=Z+D05i0LSpxS1gua`!92 z=3_f(2bfs&Lx}dmClJMSQtmyF^>IjK^l> zB6yfcjX_kN`EVJGEw6dfqe+mp+@xH)eNKN{tIL(Ss~3K;%6z*ECr1q;ww!O%x0S8t zt0YuxR(QM2!8f0XYI8XKHM~n-*@o+hN#*=*jmqmDkrA?W;4~cm-4T=eC6z-0?{U8f zJxJD6quAqyjfhc$==Ae+xy|cVl|kcvZ@YZ8E#^E_37uoD?wX3)9vD>=8g*|S(=`jsB{Xtd~3q*jK0VkGm>@S0867U>g> zHbW=r_Eg(EiNjXjId=+fVPY{1Yix{ERz*3-hBuaXt_aF{0?YL7&`Ct?Yk*K3LwX%2 zIn5FxipF;MHu&@5UjMPZ*bbX7XFUw3F$2+(uH($WFb$F9J8fL22g4Os0BH1dh{(`c z)L9NIq-&OF_3#P3%x~mYK#Opm(#d(;s-}KPlO-m5+=5**djrZ_W~Aw16TLD&dVbes` zikMtpVINGANvYk_rXlQ9IxKT{l;luZiMSthI4$;EswxGN9Yx98<5=U%{f(LmubXri z+HLeW)hc}V!=zQpD?y_JxUt6kkx-=rpmwXLnP)Xa6e6FLE)Q`2C9M*QJ2#1p-#~1ZV?Bn68Xht z`KME`E;>6`HHDVjv}LPpb2TNo)L;-b*GU#0nX05g2J>X+v^6M4CV{idDvBzO)s+m4 z+htT^#Mh)3M!Tq8D{Eg$nIa>VfmJ_Zr>dos0)|vuV1~AIV9S${b;E!=d#yP&$i&9) zO@+oRY#! zoZUtfZ(APNo4s9X4uuq$vLxVJX4YqsGl9j3fXHm>hsD{^mqga+Y4VSQtzojpj}^_) z8ty1LuUNOs3O^R?M& z%6SzR;_J(Uh>tdoCwaZ^?$X+iXI5(!5NUEpNEG;1s7{2|zSBCm!{CrZYe*YkwIs_h_0bI+EbYslAiue?PJZ+QwHJ5 z!@C)JeiBqm2KCKE7%1?T41L5*E6&}FM*+i6+J`Pz=5DTiav2TZcn?9Y5hhz8N!RN@ zy(}3`jaH3&GB_tJz0H^NZf&MDI)r>3@NRaU(47Ly+pIe;p-PA{0Fy&Uoyj&o%DwS= zcF`l2+pWc!Avghsm1lrvP+YQ-dh1D5nNn(n8{-)iGzGlxE~7P1-LM|d%+?ZzwW~-Q zKqUWeRX7DAvUJEb2<4sf42|r14vh7OLw`(Boaw86MdVmq6HP9xi(d6^hM)m9sGziY zDRS~X^l!R}gLPY(E7Nx={JpBT0u76CW{;K(n_-D{I#s*QQ8EnO`55JGZu{%iWULY4 zGgpsqj5TCO;LixqCcW6cU8dP^E1)dj@*9yIBMYwyFzE1_03FK`;sw=)kH?WVOZl_Z zNRk>DeWT0Ci$=&vhA*<=p3diA_s}hyMVJ#PD`;XAd@B$Om?0}{NF~0+_AB4=JdV{B zk8l$cGf$k@vSm0Ki%AIH0wqjJJm;gt>2-DW^Bq@|IP80&gp^M8!Ck1XDcGr)|K;7( z{@}OF7n*{1O`Cr-3*{ln(IlRq+%JC1e9iT+FVV!NTKD`#j1zjn#2D07KBFHx3FDwl zQ(UUdK6IYkb?JxxhM4Om2=`P0Ps7kL7#HHPdcRUI#siz7Mwb1)ZDYQHcI3Cy z%fPi6lU7@}QL;G{C2jh&Ek*?mEXr7K5Vxvl7C;STZqV}b)wZXl%`&RsO;KayRTyN# z6cf!-RPW3gQhSr&cAF+Gv_cuT^I6>4KG!U#@MwXFs1a#S$exzZrLiJu%aA`V^1GOC zkibY?MVpt2X31-8*b%ksk^Z6#xk|5%7v8)h;FNP$$Z_s$-r03Pxqg|QYguL0cc9wjP^Y?bSD50k@LY45oHjZH$ zohlT^FhIpb&5UcNskb|0J|9?${6n4Z_5F8k6x=#&SyF{ev*bo-0@V%_*-rXmp80RxiX?cqswdjP5k?v-@Cb2NkcjOPX0{i4R_(?TY$bH zdOv7>6Eg`o?t-eWOKmMX({X=#0TXk(dS2O#5P{$f| zYXoUe_xud9&TXL^y+p_{HmPRE6!1 z5AGVi1Fj@ygksD?ow(I71aj8+TZYGnI!`Pi1C_G7s8wwdu2>)10p`raHU5}t3QX%f zC7J*gnX$Ar)WgECXC`H~KtdpHaJ`zfj)Enj7#ixQin|uEB8-gl%7QlY&1JNB-~zxCDW{|H3o3P&~Gp z(qG_uK|+doJZP{8Y}1?Lg=Uc^K@=dp)F)J$^e+?Po2a%k=q{IwwF|z}6WO5kcD-q=M*a=Ku<#)6TKhR@P2ds zI`X2T;2|`Di!npH!~*+;SH|e4TldD1Z?hhb^UG4?5eXgbGTizf05y0&=Sy4CTJ7|n zSU=3Xxb{@1qe;#^xc!*JPo9@O#T}OSHe(jtdV)UGLE~<@pCSpBIs-pLrpX{r>z_@Y zN7|=1)^iiv<56u*nno{))-HC;tCM{S>weK>k!w#yRiOIUxN%yXeh@OskP#56 zUFuq+?djZz`7+-A5$Gsq%PR~(gKM%J+m|iIDH5g<)GQfEp4r^&5;erk)@Em(57RxH zDDm|*V3$c{hOXEj5;+d26SB6r#(E)TWGh>G6Bj=*gn!aUwlL-5rzFLzHRx?|aem{= zDjj3(mn`qU&T$7Kdql&L(;^?`E^&RoU^?&Fp*a9u*3XPTD1+^x9!)ZfgG$KDz9Ns}Drb;Ph|cM-QFTvPV;yd!%F*qBGhP8);EP-gP_nfH-2%cNa9 zL^$3t2?Lxh;j8`r={cB)ZH%g1u6?NY-qP*hb zW__f(R53qNA9*Ts@rDRo!$o4FgtTqnk0H)PD51>*IJdelH)_N9)V$G-pkBmBAWh@C zJ8XHi{ZfQYHY~O3a}V<`3YbpecYv~3W*YdUjrn!wHcBB(rhSaTFFcOKsqb%@BD|Ru zI=-Cibt^2_eJI!N82It9{KL)dp3Uvu?ix!J&CQ~TMd?Ly(^7Gv!*+kuMVn(}y3&?2 ztI#hwwG+Z*lM}hwU_oAQr}Fm~ItuSEYrDb8*T@;YJWWzS#Dq(rr}^2Qf8B?T7WMB8B!8O>O!{?f8=5H6c@@!Un@wW?X=HhSdc6wcCwc*x( zm+Av(Kg>+Y?TPIaCG3JyJOmI45sTYBi%{`2{hIpLGvj0VQ`4(QbNtVluvHsxmkvDk6P3B$KowHsxzhT&kM?LpnLioK`Q)Rhy_&WVR=7 z{0z3jhaTtBHprsP7Gr}PYdn@QTk$m|3fvaM;0)WAa+hC~!tQ8u69t1_DH_w(Np z^UL^-1CGcG=NLBlM* zhu~FfrjXfL% zOkTWah#N6qt*}`Kmt7qh`L^OK>kGDY8y=iaoHmbq`}y#Jj6pTMaWTV6^DFA1jM<@v zF*fDwfwjNht9_E`jbl}uL>~oe|6&w3rYfGfGM)|8SYg-j$C?vInWvPOBGoDCw6WTF zw(1w6fYu7gOJTd_gm$)V_Dc2Ow~KQQq(#oopY5_~*1ju>7zz>IqDwcAi|jshT_3H| zhUSOyV`TD*<2F`X-tkA5f!prXW$X*yEb5^-BBiI zu_E4tsul3{XN!pNH6P|u=F8_#t#y>A3{% zS7dSe6F5WUjU2*Q^RjHZGv9c>Us~32OA4{C z&YF?1qBaQ-6Lwv$QLaqE+Bv|&STeMt4#sh^&Zyn8es=9^<3D`C?^)@u=u>xlj$4jX z+jqzlY_mJ&>A&kLeT+KmD(5%yQe~hke?j@yw_w$KAi&9o@M4h1413(2>h>r<_H>5J zbGw^oyXNJbZ;xvFe9{U~>q5jAfp43ab2WNpr|9{D-D2Onp(!xmgSlxlIj3Wle_0E@ zOWRAYkFDO;EbqbV*jIYwPVt5WdEK=Q56QTAELUbr=7lLRwT^PQDG=+f!>rn=6T9)6 z<=Y$r(^=@JYobitL13epHGjdH$tc6AUVDLg0-n$w6;G4)#9_RGn=p|-oW^I)^W^$1 z8>!0|^ZTdcNtUMUO(lr#lBqvlJ$M+b8z**3%E#Edt`?iGPTghR6(|NJG=JM=$iUs> zRGZn5foECJgD#tTwgc0Dcy|7jsQuFp;DyB|nVoM|U!AH|8#1tp`OKJ`$P9j|0XUfw z_5J$83Pjer`o2;K8cS5M{a&OL+g%Rs~yv9YGY)1 zcEdJU&W^zT|7GIm88vNSSk|V?nrHH9_GV&80B4n{s+U&d3(uA8zg{SvEb5f#-U+!$ z1(@?@__u7)PU5=V-2o;#FHhZUa1e=`w_OT#T5T%hJvffomo^Vl)#_&40C3#A?UIuH z*ZQU2gWnp~t6$;%vUIY@y*$7~<^|Nvl>1$edY4+$yhZ(b7*^&7*R@FuC2jQ}8vv;r z)qSDR6xlRtBiVh0L+M7GL{G_a*#Ge3EuN3IbZ?Sd9-yIt*&m3*70>kzJkUqW!*XSl z8LsZwzq~x#Q=|-bgbI}#TWze{P(hn!jwdfm&B%$<$}MSNf!(4KC`jnJI74AeZdH+K z8i^QmvejEcIjr}fI=2Lm#-@$qGT%BpwX~!3;m77jxHkpbBY{`bTYsC?fxUZ{sXfA< z-<75Gy%}<61<3LP+B|z3PV=9Ko)SL_v6;?@C!(Q}{#ocnk!@ye!78@G7O2IXP%f(p zEVa??{pR>cXdO%~FJKw`HJ=RdclJ+iK?iTk-6XE^T-~&7`j%AvSj%s=3}S=S`$au5 z1rlb@SDQZk(-sIzTOOt&Wk+s?OY!IX=z8;NjXytucwh&naEG$d+R+Yd6=IeZfhKRs zy~;_jhUj~3<~3rKXpT90EU9sTkl(g z60e8=zp-Hriz#(zs^onTZd!$AOr44PHIkiF5r)5?>Rx9qA z-jx!#yjb}{O~p&nrHd1ut*F$buUuC1%$6nDcsau{*K&z?rx)cmc3=V53w=*qC`~^s zvgB++G%i0JZ@mP45r^B11Bw+_Mo~@bxpCWKJAQxkE8CbL{7I5w8+#hX0GJU@NO zW9ci^HG${FOOjrcu6&PuQR){Tj@&J={3}7$CoRKLNYaa6SpGbWgGGq%yqDq)>Y`uJ z^-OMhw=fd6%_T+3rz8knq+RQT> zMQhZI^RaS5z>L7<`O4PP;y0xW<|nK#o}*dnvX?%yWoZTxa!V&Qdtl<4vD9rzyTkCs|;)<684XI^4S71(0d;4w< z9ZgLeFPIj_{=$|(aVR#Ts`B3DmA_b7ttp>=>Vrq3(V7>j{&sQu^npfhFI2Oxta+7T z9+A#}jFZlvGg(?k^AC6yC773ee1u_Tl_q&NlI*R<@G zI}V(*Z*S?cDauye%zHJkH5USnJhyJGgb3|@y5sNzi`R|&pg7#OiW!xGin@|mKHK5S3vc@X1hR~KbKt}K!n zDN?rPLk^&0{S(}y5nd^i@PYT>;FevVG)Y_;K*;0^GhK@vQWo{PvZ*rL?Dcqym{ht! zABpNPV^N>}R()2@#Kv%a_cN%Csk@5XOQ58*NXfMph?$YO%2_i|Uu*s=pjxOP;XTKJ z!3{eqb5ADB=r+b% zo~4|BX`S=*=2PF6XeQR#{#a@*Rjhk8(T0X@@aN9cKR9_chI$Q-kIaWlHlN#5fkzjX zcH=WYVKE_c;T@5dDuVZ-JVh=qpYuZL{5gG4^ky<+BkHa!KF{js@cWvk!<#XGv%phZ z)SHK;Hd$Was#TxEb4w^sj4fy!Zm3@oZ+y(^4$bU|&U80oYF+~c!+rB~aKOY+;2Zh= zZ-4b<$Q1ds+BhC=ZaC~GJCD}%NVEM_D-ovv`1U;e)%WiQ(|*+@wg!EaIdfrCoH_Fu zdP$Dw#OfRz(_t|YUQ511SE&9`yo~u=cLtq6VzI{XYlZxwLB?SNp>Dj=sy3b2e_ix}lyr!O6a} zewQdCj|J#2uAZjmzapOLB>Yq3Wd>)U)d90jWL8PQiOD@Q%Y@A?iYZU7javg-7vmzf z>&IAMjZBe6c1lOYj9aTN`Jgts=IDbr3ngVMZU7cwquh%kDv8SqzGzI9B)i zRrgZ0ry4PFh=GtEB7?50Pslx$h*Q|)#fXY$ea@@ye06r*lu<|-t)3k5_N03)Z+Ni& zbBw#?*XCTT9C~`sT%TvIFPF7A`S_?e<0XK!wTu(X83p-Y-WUR_1A~2eXX7_Bq^rtxhOY z&dM5TfW{UeY98{9%u-@WbmXVoFdnmPrne(zWpP&$CD}c)1Z}G=I=}3GUar-{aK9WL z%iY7B;u5^>rz~pP^toT%8I?d$##G;&@m>sPj-;~03w{`%xe{ZNPi=S>pXCyB7F$tD z-pu&~KB_VisVflc&Vs{oA;B2$oAbmbBqzbVtl4QQ$jeFta>@& z1~Sj35FAQ|EyaD^JHR#n*oG`U zQN_1x;gMlfe-wN!8gAQl?umjyyAi>l9i{g~4en9|ZioGlV!zy>7`bga&nZiM>5i6g zW4TAU#|g*#X%=vg?iMG$#Em^XhN5~YDr2b4c%0f|6X)3!#?Rb&HbPp1*!VwfpF&8K z(9DT37cmDrCAmi5va8t>wYkQO>+T%!cS)iMJ!=WM0cf{;$hhbIHqZVx%XJFp7-4{T zjhglBYa`2!x~Hx-oe(_T40fu8ELT|Ql5j6_Pwp0b-IbRA;+yz~8)8g^$Au^tMR~Tj zapH0;pm;PRw=%O*T3vg!7PfACRcI9)LRT-o>h`I#CnnL_$~cOKZBH6+IWDy7BCJX5 zX>RlQ+AK#Yrf|-8$%>rHl-TH$I8ni`8T6rV8sk}mI%tt9XptH-D;ZrCtx#**Znj)b z>$4L6^7uN8xopPna2np#y@pH7`4Za2AEKt7ZanJ54Z}Ti`v%JCA&u%Tu_(R)6{=ANb?czzcj3?Xj zYzrI2y7xoIrETpnv|qhFl(D3(U7S(d#yxsP%p4wrslqSDhxu7i(Z-EMG-l6}LUcAo zuU-DH#>d<0E@Fb@VDSm-F=KukCqYb+*f@_S((M%E+@FQ#{4D&NaJZfzHApsG5f!Xv zjI-M2Oz`l4Mwh($VX1ny)R3>v$Zv~WB;a06_qNTc6_&W=p|;U- z1VpxfxoFKk#%S-vP`-g)|>=S7`6aq z&TmJ_5+9b-`R=NE3l>lpV;tkg@!WWonl}o1+NQcsMzb1Y+cdqojPhPz%XdF9QLsZ7_rehf9r)UJ> zhI<9nTkw@8rl2gt>4pL>g{dXvvD7;n&N#Hmxa&=d6+?W2vWPSKHW_)(H0NExgkF+y(Aq*Y-c3i zf;UoJd$VOFmA&S1ZtHJW-N$_Sc=khk-fxlEENiFk$k_NMQMy>mo75V3wkY4^S-Q!x zkwUQi`Dgme$t|l1QpBHchS$ssZ-SAC$OKbleEv<$OTrO9?lO~?xjPJ=AWIE3L*sgy z5PiQv86Ml*%NPRKxDxm(&+<)N6g_=QpIbN1CQpr54LIpZc_Wlvz^Em-W_M^kY~OX5 z=oFLlFyg5!wbUrfGHT+sg`4&)+{8Pdn<}8sQc0RVtM4;QY>zSjNs*R(H5b%7tUCrT}H zYK+B1tO^`Y_zwR7f2}a}X!%t*rh4Fqvc?<1OII)o8I%`1ZY9%f*u-5*?ZjaO?tl{f zgFEq*Fv-@RFxZ2So`k?&W7j*z_aA0EWrL02%;`cb?V9Xjd_OM5eh_^YbAa8UJRsW< z4_925cz-eXZhA_jN!XNw3k7wFI=l5A&4f*QQJFPT6Z@u~cJQr@(T#W|Ax3|-GoGNX zw#D09jOKdd+T7btaK{t6)@iN1*KD%2DrrIoS(P44SE@_RS{-Y0-=|h5&uob|icwX< z!X=Wy>B^jO217C?N$xmEd{{!%ZyL6L?S?4H2ef09&H7#|l32d;I%Ns%?Xtul)#l_u zmvT$&F9tU$J4$h_m5{YW+At1m-B(_K&B~P&kZp4YDOJ^swHk|x@qHPBC1kqipAY>b zc6p`9@(ES7@dbKZ{ohdP)O##vy*;c=)~_7WbV|alz`OB3{JYSeop=37hG}eQ$gD|@ z;v_T2ZH+GN`z*vs)?B2ySqXmtF=_0;K1g4|hA;f|c8<~IN~`ug0%tD~)jB%(>MxXE zo!32#FWUu9G_Pk0zDguB4vQhZggXS^HzAmpWmYFmk=Mv3Agz3T)2rTn$<+_CT%0?( zr86Qph0ZAnrN~A_^Jm~x$*+rEt)f%B@o`(GQ+v?Xkhvj8Y!fwP_GDWA{)x~jI*;^H zQzY;{Qk_Vx$rR0~>P?1LJM&o5C*!8V5D-P0W}qe2sUpf6oFL@OFX>fKzWSt3;`2uH zf0Rx^$KttMR13s+Fk9 ze}XzyP|vE;8DBv-|0gsrM}3;nbCFJ36B}*Z`KhTY*5qbPRdMJ<_uKGq2TLw6rR2Qg z7unZY+hZDAyI?J`(FJ=hsL^$@U591wU8cdL?f;Vw|j>>b^L%eFB$lz>I z9k}6eGkMMyMBs@LM$uLN>sI$%)X96|aI$M%Af=@7qxG{wI%bM_uyRJ1Sy=c{s=Xo zSp`tlhxv?yb2F(Dq-w_HkxDCS*sS0^w~}}M@wOu$dDwM z03uuGMaCCJKkF|i9hk1wD#{!;YjhI*_cbwR$$!lw?7&pLvCMQsAE~+`MdwW)+yn;m z(puDcE2{QCG9`+py`xg<`<6w=dp`Al@0_#cA(1K{Pl33QjYOpWQ{TQ&W@^mVZ<<7> zpgRWH)kC4tanWVntk|p$-el=2MxUzk{-8@?x5TV37z)oJ{RUOc4e$PBpM-^LIw+%* z?If?>zMo*)0WW;aKrY@b;@D0IjqnkA0N8F$3Y zK!NZ1vkMzkvSmw&Iq-k#{C>m4v5>Sq6hiX1EH|O=gHVsryI&Ffodgqal8dbF4?zV4W6QCvoOXD`+fIYBpMYo$l z6}pq;x&d{3{>eYqp*t(oQOT&Q)C0XoZd0w`B}o}XIWXi_e#pP8i5XEZWR~|4`H0lQ zbHET`(D{k}yVP8c6FEKrLuB{1q)yBtWJb&Yha&EbfG8rK8X?tLBP-RW#B8-ZX!&))F%C1Yo*!n`VL0nG~r8I|t3 zJEcYKUV%Lt<)Jq03^~q(KH!Bu0B|J%% z>IV2;Tv&CL6Rq4q9)zrt83`_I(1Dq32EJ|@6l4^?9Y z1^*)SpoKA2!r9~3_)#JlM(Vf=s8R`Vh@|NpLs*Q2K7_Yl$eIDNU-8MshUkOL*E?BARhm98dlC)5KSJ z)Vgy_StH~-f@?!6c?2eUZ!(1XJ4L$Ji2{ERp6I@7H#n6*U4q-Gp7L|52ficOm68ua zy4Pq6n12pGIi{v>KwfXEVprF4714`lbsHytD*-nw~ zrI2dr4{JW4akenIMo`JS=yG*0Kh)hfbz&AW{ADMgx+E#vpga4=@7{bh5z@p-`{uVbKS~`#OL#O7GxtCbndW#MiZ2M!hTGPv%6y z92NjKvzVfH(<0wnl0q#+Jh!YLW6R_wLPa7|5d9J4_93JJpOsdvm=gNnZ=jMfwA@W& zd|POKXJUTW-(0qksS`i<87x&!ung^e{Wj8*C3m^e}XT;rJ5p6+O- zb#M10IZe?CE^O)3XC~UrYZlg?ZP;72Fouh;E{v;MIBwmh2KKnpSIc_$CRW$7Ha5{^ zZU_u1`#-?7OON!43Da~tcc3K{R-3SH4p z){oe#!m?plJtE4c`**foym&mzJ87^^&xsfjXle73Ao^@0h6+Ad7Y7Gg>wdtui+=>d zhcn8Vi~ni-MLBSCC;4i?>mkjVGA#o)0#@yKl?`SpRp80d7%X*4^Y&I)N@%3Ky%OCk ztn~7yy|*LOl1^MD_4pC z66whcV(Iw)z&8In_#(|3f7HgQ+X^p?>{I%4KYTcN@X*p-$68hD&#{y?38y$3>eh@)+;^6$LBB0Y7mSHP66n(- zp^(xRuV&JbN!xXR-Lz;kWmKFOz<&@%zq&U?(Xzrm;M=gUm8>~(=L?Oo3i#UJO+MN>oZHOB2D;qm3Z(YDGY=?hcx9?wI z$F%w}_UWxubXDZm@9XH8vov2fgXmhJM74sc-DlErGq)>+nLM*)nwvj}=w7}71pO8x zYk7kT+hk?sbcTUliXr}wv)9(Y7E;A0LrY&q1OzsY6Lx!gv0GdSMO+TS$AY#}rqz(( zR`tKJ*aGiZlGVkewzrUlw{ELu+;)9r^K%zkonZn%n2BxxtUQ zg?WC?ixT6B^PP|$Nizm7{qTys?uzP1s1JHQ#dtb1X2R>B{OrQ`xXX>nt~ zuQ-_{he#h!uQhpuQazoX`89}gnumla%P)moeEfFpm^*N$nH@z~^&*w&CQ74D zoI}bwBM4?uOr_@j3sbc`@Uq@B@|V3wc?To(W&Sk9|*6niFMQB-l<`m+&^zQ1?APo|pCoLm6j<1ZVE5Tz~48 z?U6`mm##Sz%G@ubEmOk!-*1}b-Jci~v!2h-_wPsgkbM7cDgO2@Wk$9t1080JZN{nd zSUc`b=HO3^un=e|wINrJ+`r#>Xv0oX#AysW*)kmF`#IWqPE;^RyoIOtJm|je9`^Q- z{QbN^OFbzRX+Au^aecUpFy5%;ViBDy^1OFmH-U)gtt6p;1#K%oCy@rAhJDao9c^Okjlm{n3vP9|ZsXyeFHWuulG_lo?)^w(0Ec}_)5yr?hj zmJd7MJ(7{N%58r-{{jiYHLgSH9vSR2CseL&jkLT((4Lq1GwEh!ZL8F)XT4RdKj!PD z=Pynj`EPa8Ye@Ht-=FwUii(EaAG;;N;GGn+MJ2u5VJ@3RbG&;I?KKTCozXj3-+877 z9DHz?>6CKu(JS#H+;=?WkMU0=@DhJK54~sV`~TI346?rOLPG!NEab;v2Jaj+ZFI!} zXIZE~FZLe^MzVcPKjTe&LD3l{849d`plfnftF!0q;SNY;^0r>lD&zb@<$o?(Xg=RHTR!~ zA9rBa&C_udvx%Bk;SYQymYs`Q_gJUY_YtE>JMZ7ir)}w>HQ=pcM$%!()00S@+%4_! z1`iQHq3hfPw-%-z)${9%)hh-Zmgw`1jSz~*Rf~{5VpVFC=gRjs3Y16RoBF_v@KjDx zX2hLO&*EZGNtzf(jL(?}5uFCmCE==P1Q)qNIk>%|MtHI0c1txk&Vi39=IIA+CnxUh z+3WjLNZ^YtH_lPpWzb~36#n9`mWUqWgg)TC^+Fr`Oso=zjKk*yJo-LnG-s)VR~sG; z&H1x5=d3(DFgaFP*~Xz;%P>qzIkEN#n`tV;VS6m-kP{AgQlc^}C(reaL%DvLO&Wl{ zL!xc?zLJb(P_vDdkt!MJvn(l=CFfT&Ui{Ec-&d4D8P2vm@C`aOA*O zxtPxDbjxSzm0|f+w=g-~s>g8JN%T1wi|$;G46hat7U5*e>g!*WjnpdV#l%?>&sI38 zxFd~8ogj5+V^+Erc;x4HOM(qdb2K$ECn|vmU~W`~^6b*-_$ma0oVp(D9V`HNLT7z% z!Ad7x2?kR`#0jQ_GGu%?@jQoN>qok;L#KWeaHe}({PeZ6fM806LsB}km=-hD>JaYM zgmDd?xGwNKTdQD6Zr}x>nC~rdM(`}=vpBe6l#Gh1GjVGX+!PL1A45Ul2V(%S@0#>m zYazHroN<&dt6Lx5YK<4p(yp3}>dQsZrT8=dj$Jb!VZB6k1h<9c`Q7)1u*QrBsomhG z7u_`e{cM4b5$M*4PPu^gzw~5%ralv>4*ro@SJfHe`y(^wz*#@dXPb0O56$Ox>Bs`S zBzgXF7R=J_hy@+NXW*tZ#>`U(4(9R$T!gv0zQVj>z*hOzS%@F6uHQNot_Fsjwv8;M zww6n4d&@tV_h8)Zly}cAE#*{5TOtidu2wGKH`R7RCUKT6ORBf&jQ`&FZt3|DZBX5q=6~Gk1t0+G*GdDXfP{=>P?!aA!2~cy_-oSB;HvX!Ru##DkKM86sH$3tyGD(_OQ=ktRDh8tg(*QWUElD$ypb_3!I)tZ zb5h?bW}ZW|CW-O)+P@In-;iYd`v|?-wh*YO+P=k8MSaOk`SRCRv*FHz6@3heK-33` zuU5bj%yMi%Zku_|?`R=bX(Nhl=C!XC(J<*MN2xP*2%6+M;+(y?y_yBoX`3jUAGll* zar%BPHuXVK@dN57 z#JqWMq6NlZo)z}4;1YWK!Mvl*^EqMO8NLu3rb$L%?mS~8+``n@JI@Tk=f!aLpz674 z?GHJUIBilK+&-jE=qW4zNxK&=$ATr;<>L~aZd;(?nfARI$$Zzu;W;TDnX1H{64+sl z>MZfaUUT&ZEYR1)MPgof4 zvR`S580nw`eYq@k+~3QW=k~s~nz6bkU={9qrTO_XR8v*5s&=rSg%ACKSp&?yO@MY9S z?cD34+e0nHbMas&kZ3i{-FUyStjL(lr#FS~>Za>}Sk4e&->f^P;GIx6I#hebcLUCm z@d8Yyg>%Ex0w)Zj2{}?ulKBx;XqrB^Vzausgh$ZN3rCy!{x`h7?!L?Rm5R&G-^^$V z!_NW5>IN!<=thaKZWZ7gY(J=&%uD?yc$Vk zs++`E){gLG&?(!pgT~a0G3A$|=LMPo7*=zKS(gNUEhapGPmU1d!AZ^kT3>8lQD$Sn zWZBo%t1gaW0~P(@OnL9E8>4wW$xX>nD}&xy(1e}~NJcFkL9GgDwpk7+-bBdC;03M~dN(%CmclGnd9?@0g{3 zA@|^GRbigy1z|!LP=EA`Frgjk>yq(;mcUpFM+*0$(@v01B6mfykv3%>PfCPU=ZgjB zSe<=qJ{u=d#gghYM)$kW^7Od!m}&Br<7#RTmMo21yy17t)5odCW7pC@Gk@=E%b7$+ zu{NMx7&)>=xzwgfq54-XOt-Dwkhbob&dBOm#-bm|p+kUEmd)3nD+4K;+JS`*kGfdv zzG!CgdolrEx`o$qPyb6a1@9f4$e1uPP1L(b0l`J@o_Il;aVD7;9D8j}zj0f_h$mqr zP1(SXoK{z#x!DeFx|*1@t+RY$re>Yu|j@lXC>O_dEE$)sPJwy7&i>)(Z%>=6ePFZ6zdlT}eD~hzj_C?=VC10ZEu{}^ZPShI}9n}F_)qO zTmqXNZC){+ek@3Y|gEJzeN;rDwOHIxfZ@Bj)$QA9wWdI zMkC{oJgLsoi(9p6;th_djFo2^>)T}oFq{I_M(X$7bWkT10}<$nO|;hai7f^$;9>?= zSspyoAX>vR*qK9XGym@9TPe^gO%=b{Xl?K!Lb*i)J(}O0X?6IcEDs1sLmi+5Q;4l) z9%NZf`I$%lqOFY8%sbQVX7J>hSs4cxM3$Yy=&^RsBbj^3J6YVDYkMV@-x7pu$7STI zUU@^9^WDAoS>GP{aO~+`w;G=PylytQmsc1>J$_O3n>5|1U(uxt=GN`YD^-~Oyl+-% zoeT;;^Z7-AG|SX8{2>(HVEN@nZ%CG0s?3se`&~(^wW;c8S2= zsP$?*T;r)mHG#F{@$o%;d>X~8d2JKG?G)h|Cafn^x#+ZaGXwUk+I|hMt-B*|ryKmw zYXcp(>Bnaxl{C~YnlCQd%*-FPoxsKKmL8Thy%$}ICKW?oCa_|+?BQ#i9FKI|^UpPm zA=RmmJ;&lCFujw|0XgWVN9MdXTnx84v**0W|6Oiqjx~E?(N}{#*6fbOJGd|w8%qq9 zSVILotdgS;o5x^Nn=ANy=GX#=@(^y+pCSVE)Nu=C-ISm<{o{7(6w4QVgJtX+6KxX=*>wa*z8v<}RkF!Jc5K*B1=*bhwq*I3{&_OJ8 zd$ecWa6b{H9(llJ=n`DP%k?6}IORgCAfJX%0~r&eaqc~h(@KNJvgfpC&uLWL-@v9* z6O>K?Ox-oR^A@1yXNGxL{wTH008f4dNYGnue&;mTil8mZEx?bmyp5hAM!4FbzBhNA zuKPTkXS66kUpAl4d)3HiwX~h~w4KIhnoO;p+ukzCO{)z{V!lChIETJ0+q0-R0XNgAoF%LsMW@s#_8tY!Iu zgi@z5;ws%2fE+|GzocBDW_D1_kgZ31d05f)SU4fJsv9~r$1=KXV9 z>P|Bg@|br#BgnCvl6O#YkLl~*5IT3{bc@DP_VVa2Mn>}8U$KA`219Q&Lxnt$b8r6@ z<=yWn!ypQ~Mf3U#<9eseP9M?vpBhPkEN;@l&gBE*{>q@RVIRGKQo6 zV|X-NT#CvuRtO@+LV%)c zDZ0E_emZ(laSdySDex>c7fmVUPent=W?@USe)v%WT3e{jXW_;)uYlkc6*@$mF`2|H z^@R)O7e7>w&DW5{8Z!CX2qpUR%(tn1X)FcU=u$|FL$aW_gmTOmA~VJjgft#ag<)xO zzHDK}*x@_F`i%2@P7T4L9BE4W(uDKy(aMaIqh*ve>EtqYdwO2YEKxxU^W7{_Un-Nb zKvZx)HA%0@h&p8uB-Qz%nn%QU29+820ur?|Tn&BcsUX#wR!EwJ_#n(*y&Llx6rB;M zQ5YVi;<*&g$*BDJR7IA8|GgtN;!V&?q@y*#lLco&;qS92?`(=@^3Pf};}mWUM#~*N z*$3HMomoWdynK3L%sH*JJ62vLR*kO~olA-+7xjw8<=+kqCIXj>#U)ADms0l2tZ#>4 z_W&jd;MYIN*jOxO5t$1h+7kM!W)?|hw*KQH5xsM^x`GciOF8=8? zr;1;x&$F@1Y7}N+vE*-j_2~t}`~_F-3UHZEmk%ScxQr^AzXCtylFGTm6+&O>bW$!^ z`7OP-A^z)=oubi{5-n4rBVX9PVo}rMJy|%OyoIZ7P+hLb{@TLbV-H7lvd7s5qifFb zr$4K-{Ou%YBm^a$b8yb+VJ}wluWLKf?KOecuM$=c!3OM_zhl^FFQ|>-wX}68un(hxq`OImp$PnrjD zOSAZG2hygu_p*-x<*N>_B?ko z`u>V67Hx%6BA>r~Ro;Uwlvt~t&Sva9i6VKk_+hT~inxrPlStFoE?7{!y#;jBfL*Ga zQg_r+{Hn~i17R9HH%y~f@%b~ho-}O*V?o<*8fDG#Yc`(@s}T7qT&or|l6W}Ij2BN~ zFQCj${9yOP7fWAk7zPEj`kXqvA5%7MZ4RHB5f~+WY)!5xB8~a3=!wNHQG}Y=o+c{L z6JGUf#$wQI1-v65^m8l=L?`2gleZBqL>X!n8PA?dFb_b=o*n$gTICo|KzZ8aRz}ujK+KMUyR#ltRHyEZlHtY=- zORzPRU~8ylFD|sv&S1MX46_|r6Si37Z-{eoZtxHw{X79_ zScF*H3Y;w7hS{OHAXdfYRMq?yy&&^+)n!{WxDiG)xBcRz-B(}S!NOifm|I@-igext zN%Z_;^LpefU+>t;*h>}RZD)N?5-xy!yF*qnVZVG4^kJZqHF4XRljipNJivj{ut2pJ zZHSlR-q&m=FeS-y>sAIQJ^N~EhjkHgr6tLXg#j@S!~7EKo+Su8U8qH20sR+-Sg#%!Jc{$Suj&!B3tu@Z0)^L>)~)CtSR#Dtqgi9&}eH7 zHNu+0G@m&UrrHrUxmB+KqHodCckZO6+qwzcHppRig-;f?s>q9xHjz*$%2gFbFwh zIaQJ8Wq63sOj3-9K~MR8>i@I8a=yMbKdVoAyS|uP^$8WNI(cVBkvXEf>Zy&XJC1y| z?>Zweq43o}o009g=3kvSEJaN7lP7nJ!-#y2Qfit%KOPR(SiV1Q&R3XMv*8Vmo`ec( zEH9owEIx~Bs+}Rr6NI-yFhQfcUZF_X+W7l5TMQUzWN?yk>utMF48(3bay*PXnN1GA zjQr3EcX3V7G3!mV9664`^j&26^X20wyjuyc4t)xjfWIzU(oPl&CvjF-$6Sb^JhdtK z_3Be#JBL2_phK@0>T}eRu?jk~&b$q??h9o6e}qYWz5^x&!!Th(LreNvlwl!l`|U~i z>G{Zs+ls^Tx=Z%{mfQO4AMr`iu1Dqe!j`&I#DT2$1a>K4RT(KRN_Lu#Y`u>Hk2&}Q zRnPS31A#z(*MRainCS#&ArGYY?Z2YDd%ZFYVxdDcru*%e?2Yxv<6mfpy|NC4xskv( zEX0p(`jhf#7tY^yd%oSt*E-!+)hUXsH3Tn)Y*m`j@$t34q>M+J?;BlaM-bK~r9YWt z7Iv0}uuTbk20st=fqmeaW@LW?*%bwNb;J4(^D$+sc-sd?I@eAlAbJvkuDI*NF{i0%c?f0syw3@jN;wJVyLx7AN6Z&m+KLz&Bb-zWoFA>9` zlmt=1b3)tpbo{KCmkFQN3%LZh$Jo_jAn=8Cm(U!yTM}+`Vb3#&_80E4oapM3;7km_ zLLb`;d&R_i`^%&Ma&{?F^N~7oE47@zTDS<{Q{;h3Emz)t>GD?!d#^I^H$ujN!W^2o z{pDXTIAIv!5AXwukpVuboDvElDl(}B2Y7cT?B*#94^vWZVMfJ??0C_dH0o0h44~N$ zwG4tN3JjQykBmORS6DYpRs?%JKTqyG0260uP~Gm4UgbX~LJNWtUmW~riP!nWCvODq zO3Xa)lVK;n0Bo6WpXu6#7uQh~*+8AMopbqi!RBaUXEc`RR%){Qt|qrniFQwJL6Z~n z7%w$>G}&?BCSTb8mzKJnBd;snSqgg#p~7XO30yOY?lUkaEErsM-`Y^hL!ve7h;Kn0 z=5}%R{K3P9Z)TdS#7*?G7b7%xdw_)YrQEJ(7-BYq7hpyk9rIWHO zXaN_LFxhyS5XQ9e~n(@aElF-admYK=7SeuKz5{ zUy;SlXYn2sD%zoQKUv=yt_T*--hQd8hF_MOsiJmNwwz(xd}^c5W9G--t#U$ ztTPNajiX;ei)RqzQvNi)L_^;i$J-1F;~CVvhPvG##M<)ly`*%b)AOg}(N4MbvVC_1PDOqWkmijIZVk?fKs! z^BeVqW*2L3rH;5}c;lGV-#>{@TXpl=WBA)Zrvn=d<%}||LO6#gSwppdQO}Chh0j{% z(&mqt_Hnj%ITc=I9&C9qebuQ-;FO%>=bJ}q?&czMX0vRr;!>k`4#K=)o zWKON;Me0V+0k?1gdw>sk(uUl^#zA5KXWPaf599nZ3LglQ^#jfr&)A`DZx6ZK37pdg zwlq9+L|~mZ&$Xe^aL>z4yU=cDep!Fy6xoJMQ>Hjkzkd9A5d^w&URGt%{XxzQvcGYGfpdSl}{FN~JUST9sxWFo6f+-qd5MzMOe z(Q6c0`{|AwcMGdgq+PG=RY#l+^&W_H92grounEGGAD$WF#sYD{O4eD$O%%{}a%dE7 z4t@N#r;Z6daMZ>F2x96!7m$Yt{yE_`HjwT=u&rbWj1AQ%ppKgqMwWoNZEqYKMV?;N z{MTciiXpp0p>>`^XdRcStvC(i}H&JWgXzwxLA!0kv&)Bq{jf5Vj zER1L>=9I1cf$q4RGEYvp`NDev>C?wHU8oYp4ZK#a&ABoqVsb=wCjXAa0A&Kccx>79 z>P>hHP}c`4Y}3P&42aszcC=aUp}7rYt|3Jf@Kky&>e63PPv&*CAiwt?Ll$1W!YSVt zJl2523%~m0o(o5}wa}__%ERXwIya$_ad$Kl^V}(dC=fqywR+a`ku7z=bcVctHF$EqLY>GSq zUG#Pcz8v=W0N0x~K`@~!a5b4rCQt|Y^u&uu_eVjx3U84xUT1^xIv(G*aFE!4IZNpj z!TEt9A5Zb*ur$jfSam3jYFZs8EXZDW&5&cj8X^NIm~UJYo~g;2=~2vUcl)BN}`&8cI>#gejb_*qvw8O_n^Q;b7cptRn#{K*b6xT+TJ!*0bG z2ao+cX5b%U4*WdEB)q0jZTc|8G$CO6Gf{$D;O~YV%aK7CK0TIx^$Omuk8s6TQp-10 zpJHlbMsua`xl)V=j{Yo$OwfcOjplKqkpk?|nD6f@m03F(1IAZAfd?Ct@#-!7#0W8v z3?01)498@=a*QkbdECDrWAgtYW9_j!vw8K2b?<@~O6Y0?JSt(gdeL=!SrandUn`3#UtQtn79}`-Vl4mp`$yAFYxdBtzPoudvXIJ1o#X6x zWhZo)YR5;M5UPyP=qQijpX7;)_;57Oy_Bc;pX3=A(Lb8!r=!TT?4RUOMf_EGU&eMQ zIW|y*1~_OE@qZ^kyJAx-t;2QSNaZ^*D|u&bBmBI!t~ry?d|Q66=ne&DgKhcBg`i%X6u_YzkMR$^DYqq1i26 z`|kL>Yk7(7d9DBxm1nj$PnIUWUhFdD?Fw}LE396F?kp%V>0<7(CRF_{Q#3j4;RE;A z{cYDH>rRd2D`viNrnfq#(8P_STY--~gV=y~DT_=yy>yfFs;7Jbmu!DkJ^OLjg2vSc zWJU22qj&CVd)zCcrsJOKqugxE@A!`4Hp;u%oTg37bX4I5D-Pm_uIS0!b4?O$Z46vM z>{{FU6)%!UV}=df_ftr1Quns!bZ_nt>^1LvcZ$6F%Tc=}s;v9!`X9T-47jkJDs_i)V4X!Cqm=RT#d>OZ>s$3d|OG1Y7K> z@*{UxH+hrkvTC>}()uL!F zf0F9Ieo{U8(`OGK_+{_XnADBwBcCZhKgT5&{w~ay{b+79fIVsW-M~d^)JBiJ!{9XG zw9#&gyd>&79kL!$tlPWxucE$RGIf8m9=d+e)^$4Y;~Tq%*7+gMaSR${ABSe2Y#sjo zUebOUiXR+|vk$9}$8$R<8Lv)%3pr!$_Be=d?1**3=C1v}6dkV5UH%CTQQ*@_IucSY zt!h_1vi+B$b>ru*+$b)WkHJCI;eKgL?jm?5aJ#p0QC&Nf9lJ1Bc6J|`6r;Ly>9{^E zr(v4)_c1*tuq?XL$&1D+E{kXR?pAyw=ztb4CHActvJJ(sf# z*Gz_AD{@V$!&mF}8a66Ecg=RW;<0bHIvXbR$Jgy!HNBG76CN2I@pggNENu~Q=)zz=~M$W&Vma}eWcgduf zc`XJL8oB=ePa|hz4%F=xn)k+3S3^`zeBA-G6&SO3Yc{+y!SDk{%D|5l-t)cg3Egfr z>~ye_+%GnH)IMUehMAgd+p-A zb$wiP#h(-vo6PUWDYg5=6E=!vJe#ctYEo9!$7WHK@9gCf+ zx_)z-V)k0K&HR3jDDpEc+@46Q-v@BjkJomKm+f0HDxq$WKI%`rUEmF z64065LyN`gj4M`WL=Mi$3%_2mdfMV1X@}WOx3Bi+Z=u_UgHS;z??`vpBH?|cp^F#wH34(ARd+#c=I>C6Wn8*#Nkv_I5D>~e@e8} zo={Ag$Jtv!t@}TkJWJF%8L+;`p8;NyGkBQ!dZc z#`_m9*)c_E$p>0?07GqhTmGg&Jc!seJFMG#t`@+lqr&vYP_%o2AsCT_cx-P|>T1D` zt&j~Y1MiiU-R*3%x7M3%i^0ucefEYhZX~KHTYO|?>Z~NP5(hegx{Pv8_wzJA!u@Ac zmN;R~l7?djQiq8$E&esO;0(^`2r2Y>)H#n0=twYq>59`Ahlh0RXiXt~Z`g|oD zmLP?oJi;@~_{}1+TRLnEypV5X@L`#uZYmkw({UvC`F$Dckq~1)d=ffx$3SjfW3r=G zYuR`ai8R={Gsz%wt(ctlPEi$82$l%jbQ1y&Ts!S&jOT*zb$B8;^WnrJ;l?5^Z5-!t zbW!<{OIH8XT%c@()Ux-GQy=; zJK<8sXV!opphx7^TVzPfSZEb*aDkBiex?R5nm`^S0)I#wK1c)D7%|-w?KI)0$@}QZ zD`F^}rrQX5T($Z%`8py|5}u0Ud^T-V#%rTON&7gDrQO+qm8P{{O^VkbFAN(=$H86 zRK||GAHH9Hyyc^uKWIKjxJu?tz?-H+;RGi?M)2?5f$MWIm8wGq~OoUV1(|%5%Zuo$%^Tw^_IRLTSNO@?XZlRXc2m z=G-?coSaJ0clak4))i#eou%8#&DgSW|L~7v0VD~2JAFgS=VdV4o$SPy7cBEN;Unki zB2mO|V<)3I^P}57OV$mZrvQ~V{FxE^tN7hKWj^^}6eB=j@Sq)*3?m%w-OKFmpU8it z*YX=<-I_8Ju zK7!$9eZYNHAh;pmHp-n}2WN=wLBw`|6QqW_G!ws8+q{%F0rVX@mG+T`zx;Ej(s;&_ z2+q9c!h5FQgXTe&6Z=j9$5fPP)pcjURoNj1X-!~*4DUw8rU&{mYe*Y6=qfd;%=kY1_6aK4N!iLzpk2bvV&8>;O zRk15y4UQhH45sb*zgHUP-TFVIXGipVoA<-E`1L+UaKQVa%8#KiWEaJ8`JyIMUZv7Z zUI1qD{vtTZuMXT{P}n|=l81E+oFEkC!{RNe944~5)@f?1sa7EP#!O+=orv&vsfe{d+x|kww9`gz;aub9aw*YQ({cA$`*q;lU)L zF&oE1#xXfLqE2?lON_tyR4`(6e=!O)GB^N2zDb3gCL1Yt2jIJ0AWEchC$Aob)>U#b zNsJFMopl79GiL#3$M|6Db(nGT(5E5vrG08-MqWa7!12>{&JhI89DDHXD=VqEA!5V$ zTb7L8vt|1MHhgBf)=8>`#Eii4-|@P#DEj&Q)2Lpu3GC7 z*8&(s=Rve9b^TD?9G4$;XQQsSu!?eSU01b~b>ecfTGp0SjqT`1YCaVR){CKx?QOH< z-J{S~?PD=sFWEK|olNibH4MQXzK4lN5y7<@S5rvw;nM3|ZDTOq#&d~pw4v0tY#r_X zd=!>|F80-YJ+{r(;Oy2Zp5Vcj~4k`TkAp-wJkM>+0+ zl?K@(OKrb7?YP>qK_B|f=(;?&>`(BoDf)z7%Ma>um{M=$E8eA{$41w!E|nio^aMYq zZ`kcmO1(RanilA#!JQRjBhsfrgtZxLpO3RD-10*x`U@%wNPl^$C{2i5k8f%hSc-=b zqFG*>xLJMXZXSeVqP!--|A?w)6glXS2K!-({O*?JyNQ${tm_uH$F1@73)NPy0i@{7 z?bCpcQp7@Y2womU$}db2(i~3HkVb<*Z-~HxU8Ytvi{dq1nYA^u0dZ|eS8lkk{qc#G zWVbuf?@6c;#0%=SLoQj$_XLx~J8n|D&OBzFZ9{l{Dp5{xdUlbeV%i^ zAD-LxzPeU5ng>~A*)fO!vL+XPg{I}L6h=61h?mh=RFKFI*&@$Yfzly8z0Ck%Y#s1@ z)}p`n3>{YEJ#*jLxL#cAYKR5*#Be``i-r=o$o5mUj)l)2JlLfh=Lxoib+&KnoB|k) z0a(7O0D711_LTr~BQgv_F~T{6S5)prjO)CGd||{c?cY4muf_M<+Rcuf+wL?t#E9MT z2xfs(XF&{Q&MRQUGUDhE=`zSQm%48iVp=jsWZg(=M%!8fHG27jVKl@mDw`A@i+y|FdV?k;bA>8tGr=2>4H7NMhEKD#t?mE#Al^;Plviq19!g;fqs zQKnJ~1yzf%XXpYBU)f4;YK!yTG^O02zI!htV9QC#ig@-NJbMYQYI+epqujcFWeh(z zR&K1i6*d>lCmQkXqm`11VHAD{!txLXp3fJeVEiE1TE1V_HY-vfy^q!~0n@C~LBYCW z7&0GFYC#U6e^62W=xAuesO%#&K`unR$~(9~(BCpX+^C7LxN>a(cWilhR1^_JLukwa zozRSu7xK(JbZHJeEZ3wE&ChJ?3N3FX4;5&)EH^Z!j(Y*Wv0vy3{t%;>IG=pCeMvw6 zGpHNqlkpRZM$~Bikb?bR;v8>=Cl7HqqeRI$l^vkI%D*orzm9#_^dR*>V;7?T$ z>B-H9>LV-?+!=m-KhRn5BZ9uS&OC;1h{xu$HAuYq@Iy z>ODegkkh&#qhkLsG$D0Ls&h!qR8esm&;1^}$;}-1kRab{EXofx9qsNIUhvejd3s_2 z-TypXv<$KopO(!jFf(Etd~f;k2^HACO}>0pt@Ag^msjYl6CYko?XTj%IQtx;}kDfwzz-CR!n2Q=8mCU+sqP^+7TU2H*CtD6hB zEsDYYv*Ff$LCI^Y!17a>v&~bKx4pH(23b*1-2P4t?7*QpM}vwH?y5rbDVR7y`A1

=arX+rm zB-2I1p+&>;ECLWQa3bzbj$+n^n23kxu=JgBcruB!da6u%O==iL3jj77p)uIi5!ej& ze!*D*sn{OP0O24}3>awqCQ&1lX=%<=?P<|owH*F9N!AFGaShY$AssIV)d{UuSD;mQ z!7wCWwt5d)pLt-$&v>iTm$!` zxLLKfey0GLmYKfJR}WssS4C`$GyE0u74i0=G;cpJr1JLQH*|50rry+2J`^Z5^Mz2i zV1011q~n!dLxQr7)VttD;lB1?Pwczc{imb-<44o_UFXH}Omvvmr{saSx-y|m)kDLp zf2&VR`kgMV-~BSe-m_(wA@%`$3fJyB03D&ma;#>yt3EcK#Xu{3!hp-6+=*`a3^fz5 zS{|tMlX|yI?|bZ=@1M@mRXNf*>PafF)RvM6rel2V+CIZTun03$D>8D3>dK$Q!5tQ4 z-3IBu(P;(YR_7EI!K( zC}yrbBv*VpEORf1<(bQ10WArq?7{zqiHO(RLm7fY4LJc?`)f88V6ZE@E{nms=a=w? zI-Y4-fgc4E*(rNfiJ8)abp)A`OtnlQZzwTPnZmB@a2A8=d;d+Sn??E%<{h$sf$Skx zf%ZC(*vmz~Ep`nxa4sqTSmh#%=Yf5K#Q)Pe$FvTCc93{db=Jx# ztz;*5T$Har+8R75C^46kiq#Is=_BA-)3@1DYpaVx&G=@DI|Na5;>ABAlTA;1KD>0GgG+AmTz6HA<~X{cC1H4#Ttty`7JS+SX^l`x&KmHL6oeKW^P{Xd zaIIvINnQ#(Bvf;jj?Bzs`m2xS&pURLu9&g^*JL$!xB33!$18;zx6$u{w~c*h=AHdN zzjSc+!{cNF=qx@^DRj66l=(D?l8K?otXcVU%F3OK?ENT~7&6)qk4(4LcuU)zoof#~ zGU;~-@4F?x>vg!XGpGiT5VnOkfwKcZH5$?^cu&oOL_aC!6pE6UJ9EsCU5SS?wPz%0 zA-Q|n;R`6k6%REej$6RajEEPhB6EY4smU5z{vo%FSyN*CktnDUj23^AoTXi^{>0ol zSm`fcI82h!>=30Kv%@ZF%?^*mn;k18!R)A&tY$}pB$^!oso0EG*Z=r^Co35_r%B4; zoT8-VoOX%loE}NwoGTit4N zKo+mmr<5knEH?uFZ~6DKueauR_rGx8&sSgn%JCzQA20sX^Go&^4wYSaaM^-WdtZ6z G7yk#p+a%@y diff --git a/variants/adafruit_feather_esp32s2/bootloader-tinyuf2.bin b/variants/adafruit_feather_esp32s2/bootloader-tinyuf2.bin index 6b885eb4e5039a8b9d662dd6c8c98ea38e4e2591..0c49080d5714e8084622a277b696b0101ffe2b7f 100644 GIT binary patch literal 23408 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 b_4E8Mmq{3Qab7WdvCA8{*>$)3%aH#ESqh5! literal 22016 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 IZ@&uqzuRtl@&Et; diff --git a/variants/adafruit_feather_esp32s2/tinyuf2.bin b/variants/adafruit_feather_esp32s2/tinyuf2.bin index 82b0d2aee8c7aa4b43629b309138eadfd1189483..40a8f04f924f66216a0d7cf234d3cabb309abc49 100644 GIT binary patch literal 164816 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

1OfIb5g|P=wds`6cm$bKeV?v+RrAQYq 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 diff --git a/variants/adafruit_feather_esp32s2_reversetft/bootloader-tinyuf2.bin b/variants/adafruit_feather_esp32s2_reversetft/bootloader-tinyuf2.bin index 12d2166aaa551dfe5d1747d7d3f65c12df4fd3cb..e4d6a498eb14658fa941ff334a50af43d9644bdb 100644 GIT binary patch literal 23408 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 literal 22016 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 Lrt9UZCi?#Xhb4J0 diff --git a/variants/adafruit_feather_esp32s2_reversetft/tinyuf2.bin b/variants/adafruit_feather_esp32s2_reversetft/tinyuf2.bin index b223d53f65854b92c52e9db5d637f55b752e5623..ff6eb115dba10e52df112c32a5409dadb0193c7e 100644 GIT binary patch literal 185216 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 OesUwI=ns{iH~%m6<%Ng< diff --git a/variants/adafruit_feather_esp32s2_tft/tinyuf2.bin b/variants/adafruit_feather_esp32s2_tft/tinyuf2.bin index 22fccd4926b421190bab14d42354b831772e21ab..b8334f982204848e439d055d94652417c6142b9d 100644 GIT binary patch literal 185216 zcmdqK2Ut@{*amv20-~aVqM{yGP*9}VP*D;RN|a_25NshN0iq#^NocN%tiAW%d+%M> zwKwd#_Ofel>#p5Z*VX&ZIXMsz#NGe@?{l9U{dmvJnLgiq^G!K3kL|4eg z4Wf>cKa>?sQK6rwHoH4Uw~gwfL~yd@rwtOTAP=Z7W9QZXA#)8eaklOTearQ z5|y5&Thl=SL9H08?ACsPe(WRXqy)~pwfDW-SgoCV+xTadeA=HAbmCoD;~=qH`nzw+ z`Ne%EmT>&PU{L6@WJZ(RV4~{v2imr$a5Immgh(T&+RyCLN97=+cpU z2jqGM1Shpe4t>51PNC_`=CWmGH;Wv!45Ir+^{11h{AgNBa-z%9Dt&2Vj@qQiKw?N_ zYAv#(MXK8cFphObg<7MLn{)=YU?^9mYf~#yXV3Ye3@=h)p^;gJEF@8>Hpxl;=x~EU zXJ}6gNU>A2UXB`QioAGJK7KSMQJF~2=~RPC-dC?fgtXj52jo(;T&qOMpm4RMWc>W9 zI8jxc!lNVTG!z9biQ)&fZquHo#6^Y2IPq5Kv__LbP6AS=YZ0f?=WBJ$FbbVzM6D@w zN|i-@m*gA54`~KfKa{bOj_O~oJHB48Q7hPttF>u5LniawzFZGrwmvF_iPp+9Rqbi= z^D>s}7@^bIDuWTl%DVlUV}UMHPm0Q6DQnD4RwQ4YamR7+qs+XS5kQ?bV zwylvym5b&iPt_R+i?S&Ns|VC^;3a7LYIQkUs*)9DWfc}DBu$`nJ3uSd8S-dlR;J#} z(;|gj!H5Q}0`0(n8Yj{M9Gj+2&oZz~qav-vmk}Y%BP~}dAw-N!doZf|t7x^6v=1bY z@$tbtH#VWayVlqLAh|tSo*%rJdX<@_AW$u9 zi3oeV%T$|8j2ITGQnS)&RjxwC^hao+awCy1lmvCGQAteb@2RMquwn^KNlc{B6mqQ` z44xxLe5~k3QKhG=2&+K4(^R+OHvx3Je4@>~$p*82Y4foKNdkE$p+HntoY|s=xkPR9SY|waM zgT@0JG#=QXDG6W9_@}~?1Ok47B%C}X@`XY%6&)5HN#0S>;ju#YK@gV^D}@byT^*^= z?jQw71IhyBgNB19fM$XgfmVaIfPMxY0i6L|0o?{Y0lfl!1lc)Jp;bY(K{P15h-*mY zWN9SogL8%7>0*4vkzKXk_#!JE-Mwnrid*qoc4uIqS9Er z66g>x5lT9Pg)O)U%^FG;ouf1{y`V13L?dcJd_n+PO!;pEDFGv>m1?6LiBQt1@W==Q zh&EQL6W&BnY}-^RDUn8_N|$Ra+94&$Gb-d7jb+=6AWbuzNO&q5(pmyVN@X^xvQ?VE zqC`=A4KzwQlS(uwp*mZwRE6brR~d9vydY7o$x>1A2G}B2#9kB_UjwBl6QY+wpTWi) zFXW>KDHUnFC_*SV$yr+_(Xc7oU9l~3Cyfq^Q5)Hy$up#uI!bL~qGEDalqxoMvz;zO zoeE)Vky0+8qNH=7WgxU7%i_?86?7#o9H!_j%mRIYP;I0H`al+fSZK*YD;8R_(1wM! z1n^r5K0XP00Qw75qcRoh4T=CMK~q61KpQ|uKo>#xK~F)HGZpFpstIahre?qnpspYV zC=WCgG!;bLtS}?z{%4p^gYKH`-vaHb6o==AXAe+gP%}^Rt9iU74IU9WirzycKI zDo$Y#(NKgHDoD-&AuR-PVsS#eG+byl#Y#o73E>jPDV3p;>tzbL-iSYh@hmJL^~<)A zDOGG6F7}+sI4$=D8!FMc%F@V1u*U#N-5=uJj~4S|Xn8g?G134rHbEzl2NhYZpqV%- zP^$SRnhc0&jY`WtczY@7F6uBJGDKn(IjH59V9%newwE zX8eTUc}nOnA|Q!pKr9sy6GdIAPKDaKP?VDc6lKo>^*gaEpePcLwb?zBR=g);`?8*iSI*w@xh(g@j5)DzU)0vvg0&wj#geJ@+f`nJY{3o;-6uTk`|4w|wU6l)UELb8fgi zSf-QsCHBM(=a)PiObS`Cz$`g|qmz*t3+N>pb*fp@Cqq}ZffDu!kVzPpDt=^b!Br7_ ziIicu02ybB4;PC9iAfS2*Nq~kAkHKUC}j?$M6rqdXpxYJ6`3?SKAaK>qr<7CW&D~o zYZfjR$BBV7pT>L(Mh-;6q-k_HM2$DejeTi~8F{A?$*9DjSOHbRkIIy*wKDR$tnLCs z5Ca*%u=?CrCK3ebFvy4jGk!7>qPGuQLik&Ha!|}nHzCk8gD&$655zM?LSg2N%1slA z%ZOpVGE0M@i&@=dqh!i~!n}zrf-j0@9^$$%fH$((I8vHLMy`bU;>a)TBvQT36D#V7MZ!g&~L=Y#gdUmsaOPJ z!54Ok;bIB8l`rgL_{DCS1c_ork|>MV#pt0#v9fq^TqGit6a^5QD3OKnEn+7YBm@K? z6@l}*TLi+rE0taNAeVIkz!ezrBSx=_&X-hosRVZkPnJpJ;$+crvBmXEyu|Y(;UOWKji!(O7o6KC*rFjcUOp;1a zcmi=*xh3y};pM**L`0V7jl5!brzA5YLMAfu>PxOB1%nd)I?tF@V&V`*Bra|P#J3_xmEg=@s37JX=i;fd? zDK2UuKL%|nET zO0;OfMb0JCxcK7K-m5ik%QZc`{8D48OcrPTrR3lYSeIF?`B+nDXclaRNfEO3sC8Cw|7YB34oV%8>h zs54TyrL8$p!Y+gr8^E{*7eNM}~EOXpsSq5mPg68$UlE{^HlWU*g_Xnv6p+XYNq zEVUR(j33Q}!Me3zhjN{j?39X~l^SCdzaVL05?i`Mvv497 zLCcV#1@i@LFI#3x7};Nbc4AqbjBS*V62&!B98*lRuub_TB8qP#BTFCUyC9i?v@NS( zSrws#Xko3;F_mahMYg3IC;NgEH)JdV^`(ft*tZF>MJlN*%CdL-^0gpJ6kp0WMnh8c zKo+4!Nu}{6xsb7m;U|G>g(9$TG2=6DO83)@WjC=1?Oe#0@{1y5>?6W4I+8_!OD&X0 z<_*W;=;UHC9JCOZma$kiM8-axAITRLi-i(yi5eUoXIW&V-lfr{#(SKlfFDbW8iT{Q zXbhxCVU`$wm2xLQJ3$_yNpuM>E)vd>Wwnq(juXU1qt;_Y7Q;Z!Ez7~2!h@kw$%^Eh zu`v<70y42IjwCrV*9I8^l;)i5f+6S6BaIH!VZV@AVZAkWa#Tf z6_swb(iTnji!{eez8H*Ix{-=F=a*Br-E9suG;Y47m zPM&#Jsy8L!W8`G1L$Frt#E`huaJj@g8KZ9(D-rBVE^={r*P@oqzJWkQ^OH%%39-e4 zrlMEzvM6i~AQFU(Z!D}O*d$QOo~X5g62l1Ay_7F07AH~N&^j^M5mzdEMb<)zEDFO@ zrmBh~uzbzs1x)mH2SQO~xW&+;IBLYf1riShz_Q!H#3>QzB~!;)0?E=BGZ|~o_cfDXV!pd(NRbOH_rRtC-nIs?}Os{#)Jsp=GU184>O185C&td0194S}}6c0fB| z9MB%90agMI1v&s103Ct5fKI?)fR%xdfzCi1cPg|BumP|tFc?@3C;_?vwZQ7YF~AzY z6~LOnLqJ#HZ$LNTKfqc*k2=`j0_+HM2X+V60cHa!EPPG|S^<{;t$_!DHo&_;Ti|D) z9k5PaA4QLI_0onj30&Rh7fp);%KzrbAAVpKud!QB2xgPuhy?|5z zMRfpL0b__gPyw_74glH$rvmMOOM&*l?Z8UF<3I=C4WJ|N51;S9^6a%XP`vPkKhX88=rvY7o>ws>+Bfwg~o50$@w?KEGbA6N}usN_UPz0<8Ob50E z4gj_SP6oCHt^_K9KLb_3bHFs47U&H86Icc4(irijfZu^uz$lD*+D!9e}?9U4Wl})q(Y!pgw?Mz?#55Kv&>Ypd0WIuomzMur{z} zQ`85r6|fF40azE92doF22lN0Q00sh|0E2)vywMJTd|)eJA7E?XBw!ohc3@lJ6<{#% zJ&>9}QFVQgUtl1RS^zmp%s@HN8u$aT-vBv7?14*&J#Zh;26z)_3;YXc2dvQye(8>6qfIUwAY|)wYu+4CQT}BllJW|IdBN<5{g&d+ zt&G`JWlj&x?tCw|3btFggE3nLQfOzd{3LPcPMR0hgU z8X=|3Up6V!21SAyrKTLq3F4cpdg}s_t z+Fn(hMA&oOF@m2c!U)R`f3Wqq^ba2eFjiI+P1!U6C&M%{J~pz7Q(fY?iil|Ej2kP; z!4@`ezfbuCg66mglQX&3{+OFHVCu!2`}Y2o_H2mf7?&X0*|8;$ntJ=d$U%v#bW0QY zt5Yjo?3}qa;kRuK^DaK=@p^04mPB>^TPtc-U(LJn{d!71)a97x?@f08wP#?!$sKoR z{x#>JVei9+$9|ai>f>o+{+T*^Uv=24Xe|8xJD+>s_l$14V5W`ccD=-|ExNC9`Eg-o zqxUkmzuwB}I$60mPUwpP~>hzJdTPPhiJKW74_ijagTkSag)QmvEjKfiv-mT1U8{6Bn`<4Zb zPA=%6J9np>)eVheLq=DDdt9sW@v9enxOu@iFvHJ9b7jZ8)bNYXj+_eHHKJDVkd3b& zb~$|USz6nni|pFe`YFT8cJhIr$8_uWLle7&v2^Z;6#J&q0iU%!KaTc1mpVLPRF|tu zR(-g+n$mCUbd!HLruW)Dw`w{nt_gpO>>pv~fb40C9LwY~Gam?zX z?DNbmQ~8SyS6euJz@BqS|7iQ{=&|M9k$&=QEA@>tUbCLXE}0N~F5F?^+^9eAE_v|m zx3RO|ysq7Agv+%$XWH~a&Ier=*8XltV*i(o{N_5{N^KChsB)@v?Q8Dzud)_qfbB7%lj&tpOF6G0UY17X4 zF#Q;|qS2V-PCw^gTo$yhdaoreecaa{cor$@^Prk=l%LdL>FYa{1*?&e&l9|MC4JZ# zuo>?E*Ik`vltGj=keja~=+PQPk;3hx(lYV~ql97I?4$tmw zxN_l1jYCZUU)4!!iNca7anDe29AiJ8AFTpYFO(V}6`4|%tl zb>riF(f4&4?OM^_;Zm&y9YWJHc=Iky?wa_g?I4NOq8*b9t(x`lT`Z^nHG3EEpHlu={!SpWC!eT?X{x1yy@=<@Lg$xkqX=-*u(CV;j2-Eob(y*%Q%? z=YP)ba_0>`yn$(FTi=TNqwh`cMf;ah8$TADvz|A5pY3X`tD~Qt`-xWkg&xCy5twdo ztsd<(;ebiL?wXDJce~zQb7*3>V~prP;={@Ax>IAn+rOB4e8X=`ojr$U{V9iGdO+-> zSAPfgeBJzP*amN&lf*Xq^R-DQGnymZT6XTI?;kj|v38HZAxgbB&-rrafGQ_8r{0=z zE56{@o@ob;RNK0wN56ysch`NV55KP2!q$bq=S{4uqrF{J${>fqz(O2Hr?z>}~uGQN* zV@HEyjU`(gGLKDI)><4D;9U@Hv);6N=)`TitPh=wTjgDU<-%I@hC`E@b{~@M+5J@W z1)HrdM!4Tz<#uqS?E}V-Vz3T5X6Jt|v$!1kMu;$XTd6I&pBZlURW1dz&4GY_mkT}0y+qD-YU0Nhe z**O1)De;}#RatdylHd6^J2yp(+zb&`cV-q2zGt8GedCc{|2*B>Lmyw*sOpB1F;ADz zsTH1Qns~B)hcT|_zFX1QW5liDA0wVCn+7GzjjTp9=Pl)_aEEo+1VgNK((f=7lp@11{dCFD!=v0A?R4j zcR4TJ=5LtS{+zW>gx}EDU4rlKh~DDTd!#(TX6EsSC(~QTG*~~e@7aqh^iRL5lC5=l z8uR=30K?AdmuCp(9X&qn_tC50E?RcJ#_8P3Cwn$Nw!Cf4yovr98Gm)De@dMETZ`pX zwjq40EZ4OkGyF!_brWr)^&C_GZe6S}Ur&d0Ml@ zpzcq7@2$vaByCx+^G29^{87JNPEVH&Q`EPgc5S6{{iAM+rv;3g9J4SZP&zrfQ{>g* zlUp@W_pTOvvR=s1*}h(bJZ#?9a(fY1Xuoun`~E)*j$CZnEK~KJe&UfC`(mdBKK>Xx zFS_@luG@vvt;$ELq*LfApaG$5*wxoSu2FPBUTU#Xm|Lcn)p7A~1bt@*(T) z9sc=w(BbyO^uv?xG>UuNZu#cePALwd6HotqAXG5(bdyz&7QGu+qxZulM`f4v(VM5g zXsh|_!|bu{cSbgv^r+3+A%oLAT6K+_+{~`clxK(9oeJ^0)4l7Uj3#3WrQ$WY&3;d< z-u&l}*&|ZNI_U@5%^kC^&7G)5qX%qy9FAE;&xwy-P5oh3|2``h%@L35Hz9S^O2^l! z;_JOv4@rOAeCGV0Yn|}TZ5~_y>Ec;w)z=3NN|sh`cx7c=iz)HzpI^%v(0Hf3Mta$U{@9G|_ z4(<-l9o?D|wwy70$Fv{YhaDD9^>`I(uY>p-*;%~O?$cYaXI19XGphcbym*0{&C6=E?%n)Yvfg5xIVW}Sk_!u z|N9wde2+}fX2(Bmuv?uWY0~A|2vTZAmt)JQL@xjbBRc>AHbBlWRD&X#8?U0K{ zUg@6&`%g%JqnOxn!`Qp|>-4Li`{^ZzhDWD2>1dNQ%-v9U-~RX&QT2LPkBB_3ZGP3} z*WXUQdOfMxyHWXbG;iA31i$JuW&Ce{Z5q;HN7oVE44%o#eqK$lp6Z;qake7(Y(Tf? z%P7A+DFK_a){ZNTsPfat-Zj_e{*>qT)6Q{W3lVw$vxECdH;uozCZ%a)hIG08ua#<^ z@}Q?%T{8819_8b2JaDG<%o__Ijn3{Wh_jE92X3qxS!-y|Q@JliRNbl9tN$>zN#9`Y z&4Uv{HjM7}Pyf$VQfGx#+8kVC>9uKTO@~EC7`(a#&RDmjpLd;l@8-o$IqxovZ0!F~ zus8Pl&>Jg`QGF+`dU^f0o1pD5W1Y$F{I;4_=bo;XJYP%sb&itnu&X_?!`%lhr@gCx zH!gLO>#1FxG{T9eQ<@mu78lZEnt04R@#p#ttv^n+>gm67&+7d#GiAf8)cbi&t$T${ z`@QxW-`7V~EqqN{CAazl?YqlwQ+w0ntrneFG&{}i`w^*+>)5XPwL!hW*9+Tri$79z zly_?1>vXNo(W8#)1H11^iSE;XPx!!7FYD_<8lBcwVm_9d)yE z-7>DDX891OIl>9C?UR+ij1`^|Y)P{_ow&1ENaeMo$4Zw4jR_5ypSE^%f+B z`L%i3ZO_6vA2v7c*5RDzgeaX;o&706G3^%mk7;zN!>h=~ZTi1*-MV}I$7xXw9+-HS ze!3KRy6yhL zu5WU*&&{Ye*K2Hf+3s+s{J4}_cKmd^=aF-+IbPzY*2#R5ld5Rf!BzIhvSC>R4yyZ4 ze7gKYt@kH$f;TT2IlXT1or}$Q&3}3<*fa9GaPetz!o=(wa~6$w<2m6EMYhWk!=(@J z-efPc-QTRByXHxZZ zkfFI-zRsZXbLjh9dEcb|L|6i)RXUDbsE!jYDjj5 zbIRpI5zTxa-TSppxSj0#=Z?o7=B)aAVB1)aEpy^xHPc?rGd&-8@^YtVTLTBD$Mo!A zlpI>T=DfRIz^KO|=L$2n&hLk!*d z7t}wc)ydhq(ap18!{Gx$Zi>A6&ODmw+%){fg3Gb(+Xno$K6PZ5r6KAIKGp9gL_QMF zKAt0!W-_D=hD`bC)z~12F>)QK%<}Z!rwOaJ>Syag0`1*8mt0MImeOwftgRDU|9I6Z-m2}=-KXz2`+NP! zIpR43>x`c)zxDmbmXVXL^1RjuoQ&T7t8M=Nk(BF_sXu(2c_Lwp?eu2jK1hye29IA9 zoA%@LRXKN+l|oy8*6grta3_i9bm2gwPp3~Qo1K5uVTEK$-;Qy0d;ZgASy#W^AL_ju z(%gFUZ$9(tJiS!M&}(Pn^vyG5fzzb(n_TfdJZ@eW=fCpy%y@HP^=I#aOX6;QoU>@h z#EVu>-^{vl=I@Z>7w=8FAU7x)j~kuWL%t)T()haV+ihw&?!MIr_uWftCBBk<@_0Aq z(pY`Oi!SS`Ji6AsWm6wTwZDTqyG;#tSYEk~b9%@Ru2l#0*)cvRu$hO#TJp|LFtoq> zrRUZCH?@0S{bc6r+gA%tI$mp9yG1Mgs2Xqk6&UI!Y!!|@*(PI*$9{e98u6drK1&U) zcCO>ugwORw(dk=PRt`V1+~4_1t-AYN<|$X-n$+RlsJ_C#+YV_trFQgom%1~b%v^n9 zZ=;!xAIDdFWms@tH1Cb!WcEH$iqm|%j1DuaKW_CoWy}-*qp?nQABPO}aQpSa&MPP9 zK6#rtW3^A4{sx=vfyci)XE(>=p0QJU%Y^(pnyVw|Xjva8)sCm6> z?ddN3lTF4%ue<-f>yw^6D!cl{ZW>=jb3dTziUqZ5$KJTIQPFs$Qv9fMlf2hWXRq^g z95MUWNOA86347(w+gG2_Y~wFe1ACtFx|e*Q*OTasQO#DZTx?Z)YActxpzPEUjpuo$ zdaZoha!1mMXUU7alp1<(VTQrIFxTmr=f&5(g4bR+UoclW+7x=N-Ko8~^EzJBRy8fw zG#=FI<*{Ye+9@YQ*j5*w>whWr@}Su!@yK5qCD;5rxv+cZ;IVU^wJD>9sg!+hrBxev zr+#eTQ@oz*Jt90O4pB56Cal|U!f`sH<&*)FTDRShwdR4%o(KAR<8S6RxYe&wqq(P+ z%{&}(s!!IzJ#UW%_>T6R+_mR%cSF|P5$6td{#9B1zNyvYWiM)7&fR^NZW`rv^gEji zZ>PL!=HL8AXMdkIy8?%HyRuSWcQ`VhTxbMx|WyHxA*I^{7J|Cb2I-OalcuoZ71tI*}8jwO66_I znUD7Wu;y&;rrt+&dxx~kAG_o8MZQ(flh0ZOJT3gC!GIB}E`DzVuV33ZCUwWS@oo)Y zKkCpf`Cv@`KfRuYT)VxeZd(5xem~CdC(U*HyYtuq`={30xHPxX=;gtwXMfi}_gU=b zTu+hv)4{oa@4Rw%YS$ahH#*I^75C%oXMytqj=bC`|6Nt(Dd~?6zODL~w#m^G zTf2sM|JYRa@WS!5KeuJm*E5#Y*)eg=kC)wahIjnsw{O}v{PVXL9}{=AK3Vry`I@Z? zcdzFQ&WxSWXZ7dShpT$bo3pv?yD>R4j{LUd>e<`NhORxi?Zdf_qK^>=SMJ`kC;$GZ z4wFNkCS7^-FlzUw2HU2Nit-!xs;**f$ESmZ`HEY%tA`F;wc?ZT*Vhw{#_nDC=ep@B z0ZE6O-sn8)(UV`g_*PqaW!`=NcFBi$ZgG3B-rZd7?<)BX4>ugTD<|PayPV1D`+=W# z)^2xjgBl~vdeZvp*@wF|Fs{5Eng8sRd}Omi5Br@%+W9<`Gw z{`WZ@hyVOwD{uc}+VNw|(AR5SUj^;G_e`@mHf!bVcG=mRdx$qkJH5WuLeNq5d2OFp z*#q~yop?Fh-shOYw~|zpRCvATDetuBO?tR)wU1qOwQxA((`)CC8NWsU66X5L&cc07 zJ?`X%Mt0ibHTLS5S1-P|7jzspR&&O_lXBZA|Dd5g3Ll2odfwowv(n|ga$cs zD*8M7_>JGpxf9Ug>cLJ`yRL4=+a{l}lDa!Xe(S1ri`|8t4|h9isJ8w6$9a?73&Zwm zr<~e-aO|oBQNsdfEU#1edDGxO1_(nOl@nrLzW-%d{R`qqyXC>*9kWuK{W@UNyM6Js zM_+v1_2W~AH1R4r(rdqVac=LyTUrb_(OR5WwbG2J25k;qyxX&n^qkA^mSa=x@)G+E zU-a=v-yp}GR}Q~k(0)Xs+fe(X)p{-s9x!<9?^l)vTyE>ScAeMDaS|Q z9{8v0Vo6+|`4KUa@V8+>QLU;S1t>N#-1)$|t*E&UHA-fA{@aAbqDC5s+L1dP4e z>}BSI@uNJNf4@0#^V7&3C$62?@#OJ=Q0KQB{t=!V6y@=k_mjV`FFWPxeXQN6bd&9# zt0%_pS6u6QKxx-lpY?dVQ~LsGgI`>xFCMwvb*t6nEW00iozkD1S|hl|yVd(IK6~Dw z`}V+sZmmwYpR(2J2k98!_RAB0-K`(DWOhpK^GEHqZ{8ouXtFtabK%aJ%iY%aA9}HB zUC@P~9{ylzTVmMrW4j;NF>~RXRDbQJV~ZPhbe^`mVE&6P^V2h0uS^>C z_DIsYJ5|PvitOVMvFC{1Ddtu0?Y~?;G`QLR)2`XCLaOv$uYW(X-m)RC%QlU;+hm$R zuzzghi5qM6{xIU9)v^yC=`oM?9?iWv+1t6X+k%FI@Y<2J>x3K^P9CmSM+co19ihfZ zs1A#rw^O#W2FyztQ`>Dsz`bC{dUqc+-8CaKFxG0)jFj6|Z+X;iIlW6r-FcIK{mw&a5os#cdvzNQghJHT&0ap)NpK}@ZxOdMfastw$su-sGgZ&N8TSj z;xJE9>*n<=yIwQ~|)S%6nzYFNC*C(l>=eiy_Tf5TK;NY4ko_1PR zuh!(|qyErLIb1hoN_{%=j@z?7*{d7mdKsGEO)9iMJ|f*?vh$cz)sIH~x+wN_-*$ro zol+E27FP1Bd%~|-tEnq1Z4a2)3%xpq&q#a%hD=^Ptzuki(fU- zvqs+?ne^o`H3w{!kFi#E*?p$^+-pi){lU5X<6Sv9h^c8K-8fbOQi-QuI$J0-q5bS|crVnV*%hQMnDHUB!f zXb2{=o=0_m?#=UQ;5}$f^zO z+*;cc8vdxx0LAEnT&o#As>-Z?4AZgtcRoE{h+yA=QN&n&Xo0@~?`WZBJF0Q7o zp7*obf7!Rw-|NM7!z=${Rd1sq*Y1(qqJp01!k-`L*Zcmxs{cFnp=uby2+HIA-w zd4YY~O7CpOZnRfM*CY2y!``5pON~$)jrT+I?$s)*e=^XqsJuQ2@7miq}#23;k9+upMB(3cV{%~ zo=czJ<>azoHK;>Dt?ZX=Dz{s)Ff#Obh`oMd{QDNMRqMr!v|rIG?N;vxL1DuiclX@v z98#Fnw>!VvIXA~^-3#^~*j+Ho=RucGr`q?L-Emgl@cfVO!a@ocw|wG84{{uK_;|da zeuv~kO`itr+q-^Hp0eL!kKTEyUDs1Lt@k+GI1t!o!;Je++nzi)Fx2?C$>E+60Z-gg zW{i6E_v`avJ{^+z)jO;VxG>~yTK&E0>lWQr46eJ?DP?*5x%VCWs~1jb;j3uz)5`7~J_<~c`r9KZ7 ztMU$X8FPz{Tx;$AV(d2kl$ZgByT29t51l`6vhKa(c*Eo+^=?KB*IG|Gzoc=4sFp{Q zj}A-{1y&JD|7mwaqiS>bW74#l3l3{fWw+3CkQs;D!Wgb7&_H?4AZ|EYgKD*tqzfYzHzgRRhF}!wz z2N_XTyXEP-e$y_P*z4rO2E)4CX}4mULz9isM}K_5UrV{{@8$7QyrzHlt6Dio;|o)R z&*^7(F5xf7n<~EQ%aU#4!m7XCYG9xIdiAsD@BZ4{?f!_P2B!sCLT%&8eciiMdm6lQ z!Hl(<<JNRp3dvyn8PdWrjsX1rPlw*;?;v zP`ev(0tNNYj?;BV{k`&K{~L#fw;EZi*VBS=leL=Y?yeaxwN^s zpnsa}#%hP{qML2@PE=O%b!pMZ!8qcU)3kSwojgM7KcNQA?D^?lW0$#;$H$D>%vk7k!SMjP5xBHKg#5) z%?s-U`+Nu2RQ%=fcvQZvyDi@4+rkZkAt}$VQNtO2#i_fQXC%n8v)Gfew$8VP-%dPU zC+u?4>l;w{v^$+og?YMrhEetodXo24apws53JXIf>>XTE5N{ZQcd)g#b)X8!4==3A zVtYVTR4!abMWGz<9L4;F(}0Ymcw~M+4LEXNvV^#CAp44<`t#t6H{=KW&3EyJA&iu8 zu0sHMo6ERCI0)^dr>8sodU}3@y^DhjMa3s&cq0*=qG;?(OT+PfUd)@;~<%_$0sKG#xpn zaJrTCB>WGxp6)mk|0Y>EPO@>FRLODVsi-lhJx8CZF$#ZAMNO^5*jq7-3TCOg+fkuo@Dx9m!!ZLtv}vHXK5%?^t9|1hTmncb6u z!=5LZ1J5JHfhPpzf@rw|&o!0o+GBt5O7>X^%mv*71*dWE9a4xZFd1{mN4P<5#0fw+ zo|HX65Xb8=$1Z7-D85pjX24by3j0{-Fzjp5;M6K?ULp?3xe#gCJ7mPs5XIYAut&RP zPzy;Av!BJh1BMm|1tbK@(H4h~;kXG1zOwc|c^Pr65sozCPF<86(zD3fU+m7EBCj%q zMkO~;#b$#F=N=g|ENrk7N2XWjsx%gMhRib06e^BXsmi696V=k_OnI(4Gb@wUW@V<5 zLod>39Cu)OjA_YTR9qN21|13oPH84`QvWzE75kxb^~@0MO&hi3p(M;qOdNOa#BQ+sS z`nOeT_DmS8{H$8Ei%gTOoR&~*FEga4=9FwEvM(DHGKgc)ESr;7l_O(qv(*X}696%q z3;$c1HxkP1fis`*gQDxuvg~$cQPRXyiM)Sni8E)K{afBJ7q~*F&nwd_$uTL2;xgy* zUwjZG_9J3HBssRxi#gqgoV@I%Y~)0#(r{*5Sp_9#PBDYfQQ}BLTB%bRnf-|nC5jB@ zAYJe`cPdY&`G{wTa^D5~P##DKN&@u+<$?x)W`O2^c7S$+u7GZU-hn=X+!yjgJwU;r z5Kt1RCny(WbE1nonJzM36vs(YlmyO-WNaX6^*Dx- zgd&5SWzULbUlkXbDNm0xGZ{~1@CWO&Bgz#=x8i6bO&&SRPOU|_<+25dTZXTlAmg#y zmI<2vs^b!2lT-F+oD9mu!EmpI-;yV6lZblYoc3M=Xc0+KIF6w8QVyWwn0yzR^eU~8 z9PiD(jL*_&vh>BzWP2@Z!cm%r_Q)w4A5(%#9GFSY%hJnJ)fzPpVP^}9DN)kynfK%v zMDu&5#$-CB%q*je%xouPHZsX8<%G4fbjB1wNms0ur6VR0Y6E*hDjPhp(vY)3StGMq zw?uLno6>@&28HOloeFnx_NblFOWucpuP_Zg(#TFhd^()q&g(^t|g$n0Cvl?iT zf=SFo^&)=1uw+tFWc!s$;hGA>S5roKnfoFoGm@B%v%<1Nosp3e+6=mUqFUm<52A*DYcFH=|1Z<4L`PuI<|W7bhcTzb_bv7$kQ$FaVfjwXTKO@ z{iH!XsxT%s4nN0NQs|>GO+YgqxvN4d^lOnyR;rPCn{V+2;e`8JirA;(8I__d6aF>B z;Uh4P$BM*lg-I+blw6Cp^^L6=LW;JO@n3i=`4t_Pp<*=%cP<%?c>sB!KqmnX^`-T!1VoyQIN9HT;v-{c z_Er_*MaFO#<`DFzj0z)TC!a_ki$NmmnuvQ-t}I8cHj$6}WJ;Zu?Y_8aE~bNk3$u{o zj2r{WOgb4;JKPI)XfI>DvxzI}Vi1bCfH=qI@rXGQ+<1lSf-Kw{_38>b%i=@em6>u* zj+R>@I5!(=0jDG=G;)*)drG^}a{jpN+KyA8h0_Rv8K~0!bR74{43%?qhQ2rxJp-S7 z)+Aqd=Wse0DPYXyL129?hvu9WiBfPbq#Y|}5P}T3VGgEeZtPG|uu|wUGj-ZhFJzeV zB(W=GNIla_5T`hYy`uPwGOfxse=c94h(jUcJR}@cC&PilGI0_)=#HJ_Ebc?FR6!eZ znR#NSCrd-u8`6=+U5L1zrhEqFinU}E(sH9P{r4zJd+kJ%s^C`GDlCN3nfuq?q2p`Q z(bzi?z0>@R$|pK9W`Ur#@GxJ!--288`EMa((=@=P#f}WHq3^W$f zbFnIL#a%-g?OkqAlEW)Vo98q|lpfk*g>9yc*8krFlPefah1s-#$rCcXV0x3HF+EH< z71y8uGasaHHit&KL8j#7v|h*F%)!*Ld5px&-P5?vEgb{BujuUNP`R0;|D{klInUg8 zsWm}eHxH`5tbNjxl#zjo`w(-=jVd(vG6FDPvPrHG#yywWY8}d}ENABB2z29_YAxp7 zzM@ca-q}gJbd0-ETx71NLVn`308)XL8UQ?&H^|}iFoDDfy^D;2D{cc^XHTO0muaf_ z#2>CsA*5(_phi|GnPi%984Xs5aRg14(U0~PWT-ILY~FrEWEy)~FOK&V<4DR5L zAgOrXhUh}5GnAJ(UlnGF%Re(nU{d~qx} zHy6i5Hf1KtF(siVssy>>jk)x+=;B*+tQGSuH>1Jk4ONQxf3?D2*7)8R(Vm4w^NmN)R+NMH<+u;}) zhPiVkquG|S#+;$SWcdQE&pd|$`341m!c9S#bY(=Kj2X&Xx@ISVn3ooMGvX$zknDQ3 z!SY3EYw$I5haH=$uj%`ooWnQ|eY^?N)nFEbiJUMk43Fj~|F_EG#Iu~aADskiA{RZe zYX@Xnne7z5BD=V%FxNhr&tfHBh2V*Tn&k#B-wdXZrVBC)iZ9n^%N{? zYLzG~EN-IbAre%J?U`6A!ioz91Q=nF{gdWi2p2@-9BSNlL+p0~)W7EN` z@(_K-e9faCX<;sUM3d(xPEqK@+QNfHpe5(!E!>bm%|6Wm`LgB2-k64cIeK67HJinp zf`H4bz052vseOo0qO+K*kx6-$iOiZ~pD5HHE#_?5n=rwMZ+uSDg}RM)sHUK*7vebT)V*>+<;F z_&OdTitLvs_H~IZ6%V@tPyj{4MC|bq0e-}8ABaa`%R6J=fUzfb??Ay!OvF90XD(7^ zr9#OaU?MEBahI4gj%dgB48LH-u}hdQ{&th+Va11i#|)gAyH&lEVYq(}#OxU^)j+&zU@lTec#XysQmyVyipJKWgRLz`Y$bEVI#lbv zni;}?Y(GVqj46LMf4=63*e!x&OEKAqS8gVWZ&DP@wZoWR(z0u0Tr0QK5-he{Sp-+I zIWeW`Wn^ZYNHgXpoX9#a*-e$DRYRGgxw%>le{u{;!lY@Kie#UZ7{L=8ic+d|>;u)W z$gW?J9clJtvWYG-joe)!Wo> z7|wz@5Z8b5%EVfv9hJ-NTt=CgDt69Kg({C$U|F#x8435SYfUuHj7O8Dz0K1f*au)x z`Osvnh#|;Vbk`ETD|XJMUfNA4{g1UH(z4wyx9_fe;aegyt}_1(BVgeQ6Q62@8ei6! z6%DptFkyi5!l}#bLqO4kKkTF>STG%e0^@>ov=mI#&{FVy8U~KK93q-Xog4j0RYH70 zl_2#A)d5`vX|hFZOqwvJ;M$kX_~o(+uJ!gZa-EYCOlA3JE52Cn6CqEMMH-rUKN-{z z43V%yl~FW`Uc$Ph1u0sJ?I1AKTvlXKR-c1D0*Ora$9gGaqWaSr>hz+aXHhR^$+0Cx zQ3M$)nYZ#42gNAY=mc=cGP+x?`@v^h6L_HxAZL&Z$Q9%c@&M5wPmnjr7Zd<$1qud* zfOsGwC<+t}iU&zSNg#7KQ3M*;=|Lt?E@%L#05k+N0yG9R0W<|P12hM;0JH?O0<;FS z0kj3Q1GF1tOIcAi)+7oJ?U+x|V9|hX=uxje{h3*>WD-I1LNyv~re4<%donr9%FfBn z>z{?C&B|4(IyyCK$LMWDx1)Grp;1wtMV~(t1BcNuu`orG!;;DGyY^Hyn8_m*9~K&i zXM9M?td({HNlm>Yw*LL_ES5OGhQ36V8g z@}4u3^;({V86QzHW&rae<}mX!0b&+dm_zW)w=k1DksoI@WC*EK2Xbu%MbV5cQIet7 zA_WC_;(_oZ=^^@TePY0G#5el0hFi`b31iGR`XhD4`6FRW_(p#u@ti+`Q@+t3r^l20 zk+^4kqdyvMx%lkxJm(wz@htoi=3elP{t7Jok^RI=zR@44KrWr6j8=TBKNLRakBpVp ze5*ecBIl3nGuZI0{*XA%AK9C*UI_0KJ}$lYh14Ob4^p@^%0>%W{e56X)CJoCOQ0$8))43ftU;AjvVqJmNvzfv%PcpFu5D=^>e{!6g z=jJkFP8OzQzv4+^&N=c-rvJI=P4meIxxPgcFYH&h%#H|zSSleU=bN|$cq!YnQ_US2 z_w1Z8dB*k!%xmDOwI(-%_V#L{$@2NyM4Ls)kaYucD~Se4W5B0GgDj(t*s9j0rIC>r zVV@iWGYejBV<@gPW{QQ0h2uG2+HzhbuuV)D8;k{CBZ`c&+5*cfK%E5lxbgaiPOD5%p7$H~V8#glEWOh1|Z=eu(iKznk zEiIUdJVexO%Pj0P7SEi!Ca|k%wkNpD z{Cua1Bk!MYpvi8Iyb+-Fpr1g*+zM$q{rBh3C!jnMy@>o;gG$>G``sh2Oy6{VPDsn; zD=s#ED{9wq`D@`n)s_a$oj&G_!>%4)0^J&=w|z$S;>&{A;!Mv__vx$2)avwP49;FzHL0q>)726YeFYaDnp&Mk`#_PKdl$dkvKlUd}A zXK}CArb?OvBTDHJC4EQKJsx84qQ|e{{dH3f8ECNnw zaA@}>V5=r?`Z^1^bW#hh4DHq`TRFycP`zl z+eJ9(VvPNn=LN#Ioo^qtZn0IkW$x8HLGBYF8F!PP4P`Ze!o{d$>_mwBk+B$6m1e#- zAdmlVyCZRu-|OlQJi>$I`O)Y1DEAMc)GZ((-ru40N0uJN{S)f);WMchUbMi0XN8BJ z(T)rfH~ZXKnfm#2=w=cYoUwISzzZdAspmK^rHLaCqL&#z537Ww$tK%y9mA%tHCr)y8Jj9JWG?L)XYzRhYnb5{EY2HD5{6M79uqI&>zv`(dPm-T`mhsroM(i)Rnkg`yZDO)>Fing-z zMEkMzw6?eNw5O~p*$uV%f7pBXxG2l~Z~VINIWRNa>TqyErMzcgU^Lwwz!Y8Exj`gI z+eK6)(*kr5UE7G&BxBbZR2&pHJd|Lz&5TWs1chiyDg|h)8t$5%`{_p3l$jPHq8#tv z`??1@?e6#a{l5FWo`0S%FW&d(I$xjbbDfW)B3d>0maQq$12)iRj&~Z3Re>ofL<5{c#B2j8U^@v@fw7sKx+TK%2*Rv?4YjBj( zbvQ~@gOskvQ9WgeQo8O-DeX@vrELhMbd8Qux=u$aU8|#%uGdjY*X$^z>vojVzK2q} zen%<&RZ2?l7^G;vB|YuisX0CKL+O}78a_yA+d$1}Q$Xoh(0LEA!vD>1E+&>20WVMu z)B=Y9h(`L$l=WGL`T$xU{^?H;zPBH8R|r4<s#sR4ms_;}Z+87EABP_|HsXYE92%e7_++OfyV_ z!oE#`xx)8j2Y-DZVp+v#cBZM`r#=N0rR6yMJ!dIN|3e&5Za{Bld)JP~=C3%t`)7I;vz^=m71< zf6TcTT|d^tP1`x57(Q~?lo|J_M+WOK0vrArOonmFiAlon@G!|l|5HEE{XBAF8~1ZJ zwx1giai-KKOAoKooiKWjBNx}Gu(=>T>NU6$p0{S`RK5Sg09_DY`PgGPj!&Pb!L}sb zCDo9j+cJn|(>h|A{v_t&fIkj;s{uy{5io8!N$cC_=lxdF&ehQUAOGzj{|?qq9e~S% zC-dnx;2OMsWgXfc8@fyJ;~Nt(lmBb4g9q}zf7c2VW$D>7tlCRg(}sNiOQ!p{K8vH2 z6%GN~r?3vNmKA7_ z{;P*s#h|(4U)T@16^3E-slJyupZ+yzj8+rg6+kkNv4Rt*2d)Cz%h|M!Br~8jb|J$vcfA246`LciOYc)=Y4nA}Cqvr(u8*Qr#q@|93>o+km4VUQW z{x*5u0^Bm?XC%z#lM_;B5AF5PIaxM6y=xjLjhS)4fbKP6mp5$&U01;S7SbtQp1S)3 zj*w!jOxli`MooVBLwG;mfWkHtih4f1A)@g|hg&o#(_{nkzP!<&$63hNmB=qAK=XJ5 z@E+7xn^`H3CxCVWG>`j08yiq&L5E@<%44dp$NZrY<*62KFJD7>0Gu}vZYRnfARRWr z^48_+tdMdO`k(!!eTTS!q%PQDvXTUMwQy%c7(76o?}5Is9c8owynw!kxP)(6A?L9t zv#I^`AU_Wq5I5!F0_-Ud`Q6apX8)HwOotoFLnqw-n1=}nivtM$e$GQ4%qb7cmj0`v zI#f*j7iszBxWYvrvmM;dpNNYK-xscbTZn%1Lsp^yKKAI)-AL)4J&x?sW**y>Cwhm# zNeC|!KotK}7Ajy)d7|AXwQn8d;qo94PSF1yb>iRgPz{-=P=+ZFj}}5G_)Ejwp2|TB z^Z!$MGii{ARe9L68H_)(=cn=ir*-nbY8Ubm7nK1H;OF2DmA`DP$st5QAD;xFyp^hb zKb7~Tns285w^kkAQfuE=^FFotrdrxyPLZ|S1pZ4IA3sTmGYjv?Y;i$mgPH#_M9Y&~ ztNsStuL@J}EiuzPA*WNxJ8JF6sr=We=I&I%mYPp z)xsuq+Aek0K6U;PKRZ$!|JCQL6#vCk{#vTJKUEM?)6!D2vQqQ&Q*E}?^72%tGqv`= z;^nMbdr{3_Q`aK?ezh=5o%WDA>v!t>r_{DB>hkB*&X?7-$Nmdm&W9*AqK*G=|GgXX z)|UUo|9c@D_y4yehsXCr6i@#r@qZAKyh8CGFz{i>#!df8{O^R!ocEvkSET-qe!Crq71Q&2Yv%+ zNA_6?KtBU)Sj)^5i7>r}5!wcbkhzr+&Rr+M%DWjMk1zr@1pAFR-Fh40byok#|g|!z75s(Ee1@eFiWe5+jAxvHk9&pwm6lfRajcuYF ziBL9*W2LoJOTT#QO;KD!`bF_gaclsIfV)@#8wr-*0N$4w0g^-d60i53Bw5iYBFsL7y&vvVkp6N|{9M(WOF^Fi<^uWsqD4r=r1#KCc_!RUhyO`HJdlEP zW+9Dvz-*{jg60FOD1}>YRG%dha=~9?7z^2CvVtCZaf*_JF@2Vm3t7P+*~gQxhgczk zsvV7{4e(orcx^8-Lha~2%Y`G1kad(1!uxwI7oh(L5V6JG26`Fj1ma<5qOc2=_ZLA9 z*h>;ekaf#4iREMe%%6iW&z$xrVrj$rdm{9u zP@6zM0mW~qLDoFh-H|yo4@FTn4`~Md6ab?V!|RAy+Dkwg3jp4I5#?yQ4drM9BV2&`&W*&f3i=7qLv&<1;+h9Pq?QqGgHKr& z?)^Z28N70I90m6ZnEeIxUW5l7%us z?;)H7vQXAU@wzCEg|p8AaX?%Jvv9!DD2nBeFytWWd>P^l1ImW?S=bSMmJQV34N+_a zoi%&bZ1JzuuXz1M@L7oPX}$e5+?9bks9WU1i|x4E1-|B;OR&7xnqVo<5-ja$sINHx z;044N5CV!8YUMh7Z7X5M!LJqw1sc7KP=v5|qQ0o^Kv@NC15N_9Km~9C_z36=!@2}$ zAy5XC1FL{)0L`y$C1^fS1lWKLKpya1D9StP`?H|oFJjJ*dbiV!_5&GaCJJno63brb zRWO$WufpB?KzR+?2o2`*0sSL6?ts@fG9o<)jCn+9wp#m zok+|G1Nng4V;0x6kJ4ZZ7YNdy;V(e{70?a0F#8lC;|>qXfC;jU1a_kg(6cA2K+AzW zltO>15aEv?Vk#}W00R~;!mb`5C}UrMGT^!b^VQpc7W1P#;411w!t& z^*xw<0QEhqanKCz(twZ9e^590=|KD3f$b`?=VMOYls<4^&cOB*!l^dzY2=ApO^#N$ zQ^^=duHzaP#;N&=_2tf08KV^D%{wyc<$-ZrH|Ll#l{MQFT!{ml1^F;b6p}crs{4(a)-#VB{v`; z@S~3%;J*stH1>N3+EnBLP17$2T)!OP0-ddm_Nmk;YM$0LaiHn$L9t6=4yhY7P0<6c=mGmLsGacwYyFHxfD@?Bb9Tu@P1$Jc`-_a!tmJvkB2UR8&)&szMh>{Gq|VBuJ0Icecy1-9F*GywFzRT* z_N&%1GEsv#MpAvV^RxWcpa#V0n?-WxvDVOst{H*XsbQ`6KXOge)Y0$i>c7Y~$n3ZK;YZma z68(*S6WhiTDr(5CsK?huxwt{?Jrm{j4#}Y?4r7Af5rdoZ)d}RCRPv=vttW?M>LBu- zOdUg-Qk%0!oX^&7{JoNVD`T@ql1nn8R_xJ|FJuXq`iUHh5H4Sdf=F1Wg3S(P{?Sh` z3(4l6k&}(9lqx-RsvvSGL=_X3fXNBM)k^!Ww0ynS&y7N%vcKCuPQ|HEu1Zzy2?z>y zz9zQyex%*^276~a)eneuPKI~$)_*K2hZE|?(+@KOGvmeY&9*i5yWIpq6^{#XI(VvB z9>VSR9gvM(qJo9oCajS%I@u#Y-$IMB}4FRhs-^nYPex%hcygyH))L} zD(jcBi5e(vW|wLq#X;D$)26Ar}}-X7S*uEHH%zp`>m@MnfLP6Cl=B2))Qk=yUtW zkBgp`fTqCUBpFZ2Klq5~t^K@7%Z2d{##YR4%jtJ5>EB(!1@Ah_!p*jR-xk+z+h|L7GMlEJofF#+ zlZA5^)Enl+^e>FVXUc1L#K&+Wb+X>#h)_;eeCn$0o*m}2RV`nMoTB7Qk!W4K=c;I4 zX!bH`X{$c?gxJUS+o}eoQpMMUMfaKhK!epMW}NTJFy1oh%W_mG#ibO7WD>!+OPH@^;?=|9jIY^gm7E~Q^R_$i4!$ao%6h+No!K4=a8&-)M+26 z)0dF67IpeksY#*v2wB@z{jI@vWq)H_kT9dUs0T$XKGU`{sIiJE-;>~s)0W54$}%-m zve-7zCkT@olbG^2tuSaY*gpAW#5tbl4Nj|^;OjIvQOgmBzN3#D1<#K29BV5!wwkE> zfILMxRy+7rHhV%zk5p&%m;2z#UwO1h;ooK5EZy)Q8F zzI(<6EKzeO?_00uB9WjwmMDK^C^{(^w46Mtb)p* zhJeOu-ui;7B1m_ocg2dTHOpQfcHT+Oo#oFp@HNAH>1zEeedD8}r+%Hkme0=*%?KFa z3W+0V^XC1kSzel-gfy@R5Y8-!@yHt=P6{s>0CRXD|>%d|7N=dr@;% z)1dLqRD0Jpu(a%nO_;*- zXVpYa#wXnk0W~r>nFuG{-X|IqElR=#Yz-*RCX@-^r=o*_-IZIg3(%eFH?CLdu5_Ev zENM{Gu=WI6t7;V1>tf4$v@NV*(S*o6HxL};yuK-g%0uS+P#i38d^)ces0?!1pk{~~ z0|Xho_em)w+;kXBsgrYyvRZ?XWi<*T8Wv5)_yOIGeo5Fg^fV7IRoslDeN8d`@ZS+j zzVqjEy4##nd|^IfRa)PJ-?FN+$_9n~YOhr0TjMaq>KB_L;VtVW-ugFjuzcwCeRh4H ziM1JurShP^v(Lfe!#j%g;eB|gWRQRBS(*NhK7Kr0Np;qx>#KWJG#D7)NkztX;tK9F zwxA&-q&S!aTpsBNE~`L|tWXsj*iCAsBi5S;K1}J!ol@OGU;n1UrJzCh8Wna$pI+7% zt3uT#x(H$oS976>DMa`JCDpfFQzJ8mlbHTqR5`;EVmz*J-RiZzNh5>Yt;ZCu8@)xn zp5qF8XRlXf@94#NHse7$rt;mP=F}K_7?)yHWE?|0^$OSJUe7U!Pg+LLE38KpF`vUb z?dR$hj^N{_?O~+oinCI?J(JX{%8xN7wzfXT%Rc)M>uj3obSmu6QHlBvD!|qe1;?V) z5C>bYYC9GrB`#pC)>x-Nc*fTh1{Yh7Mu0e7Gd=ubI%1P#r*o@)uPS2R>P7NVMrvui zrw}hU8p94LUI$xyV3jwF9E%vLEyfVFLsO0p(h+l{LQy;#?PG#>VaD!(XWy17W#GV} zYI6kH>SLZg#hTb=r_ya8l-tK7ZoLvi)e3Z#N|m3Vu*GQSKKRuDWDchRYp-}-LXv#@ zDbs^_9OLfQJ1LV$4Kg!@HNK?K|E0I+ripF6gyip2=%4F_MJn}BY#^KDA#myOD7*$o zFocAPA~Wt)m=fvW9`d$t>vgE2E28XkdRbIM;UJYbVm3dmJ zJlZ!%euC`ld$-L%{=&+=T+68|(PT*Z|D3}0Cz}6z6zD6==2htY(SK%Tt-7YXsGzk5 zqZyH%sPR-NT&sG0&kdFv-!6qKAO4J$Kk-Ms_?t`*BlA3?a4qYF$3b~`b}C#;;K%pO zPy8UR{QOn@0Y5|tzrJk>S7xto=a650MlYwTV7cIO(|Q^l;j~z6B!^|>KnVFjM&1c| z>q}NU85UTFG{fpGAB%Z4q2+kyx&cCFYM{9+%N5v?SQ3@?Rh0Ismf`*5dKN1*Lj(H* zbYTCEe_((5I>z;i0}A-Vu-!kpXYT36a6LZ8+>{!hV1};)vN&+h<>Qu4@867ePYWWmv35}0AVYGxQig;S!Ldd&tc+5}w( z5-*E4(*z0r1SRzM2uO{*JTMUsG77{oNwa0b=OOongoob{It3xFF`>Ihh^tMJWkvBh z5j2q{UyEd-@|mX<$zO?(xneWc(tpBRv&35+ zCx_!7@m42G_~761Hs*WY&i^xSEtk=FfUk`<@CCUy(-~LYP;O{rf6D6#iPwXa*LNwe z&3<0r4VhV}VBY*GuMI!q_1z!ydQg_|^1tKt2RZKhXI@DOm<6wIt@iVJg7SLsdtT#y zm>|9{)82z}L_U;hr+}c1aP96vgX4Kb;b2?67z%{STSr@usrIw3ojt}Z)F!y8VOt9> zvS--_*3(3r0fKp0CVTZB<1j_;XeB2#Uj&153}$>iVkX=A463yPt&zg>h6;RnG>WLv zAJVNge$w&u+$06ejIXJfr8S3um^a?cWlHzBZ!3+80bi1j?5 z)q?Rl?Y?u9RG#0;OE9A(#5Yx*+yw>3F&;U>{{>pr*3ERN<2=e6kEm+Dl-1Tw+VgVm z4A%OJD%MG~2l%OsZDZ!JngAE)V1>YU zjSeV&Vm1rY2EUnW7L}cEmLi_r^Df3VKG_4BvZHiJgaPEa8s7Jc3hlEmU7najTtbg= z7L62Pap6V17|MM!G*;neOZqF{>%+M~*ncgJRjB*flHNZ`gMM(*-Y%B=^RUh-hv==} z`Ssa!o@mG>)-S{w#@HkAI%I~CTMgsu8|1&)*-ittzuAq>!#=9Vp{g)d8YR(^(lc+8^OBG{`&O4!N_++3Y0FD%<{$({ZOG zPRrvY%pCJoB5nH{n1dUs=^yu8|3Jf5^&2+D|O zigT3XH2Vu$=X%-tU?WdxOqZebhVA=Rz>(dNUe&%g#(E1&bM_aE)3}?%_7`UC?f;}Q zULC#TU960et(uZf(VLgCP~4w0F0c4hSZP6vRL-zAa<{_uUN<5oWWT zcEdMC``^0T4hGqFIGe|j?FMDpIB&uJC%pyS@JdZZY*CM`ia}rdHT!k&*M`d2zitmb z>M*H_dKxre1FV*^BnttW^tf(IA!yX8Zi1ggCW8$M6#uRrOB1mxr!;iOdA^Tz(PPX~j(KtAOjO|6;-2D}FDDvY4DEpf38Wu}V zC{KgoxC*+tK+|aJ!vR>Mo2a=raM1j4WFY2sbjhe@m}j-hI6~oCj-q7MD(rdPwxrr| z@~NSwu#e*7Rm~>$!&pW1^UA*-l%17bWL=9PebzTUz!#`+E$a3SSI{a)d2%~t#@#Hw z9{pqX%_yD{x&?N@I9z#B3*CapV)Q@JAus)lie;@Lw4YT+cUDaM5g zuMABlYg|kfO0=|(P(?rk>&sT0vU{--Lhp$)CpO(Ptl72U%!y>0#??UxJwI*L^r`s;^UBv~+vW#tf3>xI zzBX+EpO(LB(SvDomO{67&GuKTV4Xjo$H;SgL`e0+hqnfd5xHT?(;^x3WWkaUXQlJQ z`I^Fe5HCY3T_C z5h0f#(VLB#?=ENZziosl+a6o8M^Q(mdGz3>DS>sa4Mz{QP+2x8gy)?rE(#AgQ-e~1 znj=DX?Yz(JB>P6jLavbKrsG3`9mD@1SV=gQL4|=rC7;lGTR=)6<3LV+>y6PL$8rWf ziEmMmF-1s6q1xH%e3F}0S@M;b8q0-#HTF};dV2Jpn?K0H{Po+JntX`s z2U#<{&HyWt_XA*5otqdD{Zsk-u7dD^KR+Dc~3X6><{;+&AiDktU!DT(oHrRMm} zSi{IoaT8-*h0_c++aWsFu^lS9p^ZbE5QGYy@R!^1tPrP#l9QFPQw_APCAv1;Z!kL= zTjV}y_8O1g%TO}w%PSdJaX zd=z2QoC>+dG{{kpE3haKuv}Lx3v)YJtUedd2)pC!0CX_E4snbjK5oyB_({$8yzP4OwmopL@*&*VoQDz(B*!36Zw|Ho-OrWhocz?}yEl|FjfJ(~#Bm2# zS}rYZm);?1i=HfZP!6tlgP^EU2+kiyVV-CG}c5!`dW=JWtAfjq+JfU`!EUY?jx@apC7rYK0fe z9h1qO0=eKKqXkm!`s>{j;BmW2_jXeG^E8a@dAf@8Bvc@?UApDN{B}j1&Lnerk~UdO zU~tK#E9yR1X>J>wF~WVue(vogzo(2bbnPAimhT)44%);#D$Ycc&Y46F6Z3S&Bl7%x zJSR6E#jq$O(J-<>c7IZ0PAEEuPeo|mOBB%g4#~m4!gyG2nw+vEp5b(S1kI=T;B&c5 zmVcQuSkh;+x6#+MCBbxP{nKxOWgN*}Y!2gl6>>2i#0ng|)X`K3mFC)^R7iZ?(b6mu z-I$xoCOW2cVe%cHD9kH&#J#;V*2$2O0-5U~I)N;4C7z_^qQEqgCOgiRHIp|d@%gJH z!@N7zlo;~kv}-ob+cP8G@DL|Yjd@U?YA;NTHIVy8vdJm_h29*)L&eIl#3;obdEppI z8C%4}lT2y`lAmM1QeSyiQX_=Wa#hSaEG;MgO>`#Nl($4~abj~Mr@S_dn^4!Jt&uO! zUOwmJ1m7stV$HJA_aj2LVa!Ekb5mGdQ|NH`ThDIq1`h#51&*TeEl4RW<4dQWaoyO_JnY9@Rl0Gh5CgN&tBMQ^vIKs zL)Nrl;a_4(xACg7Q$#H->c!fd^;vnvl)KlT%L^)Z)WS(c7?MH9P_!gfh9O6vm3#Fm z_v^k;H=}ZFm|@%5Sb2Zxw$m=Z_w91Wwo@+ClugH3aih{%$a)KGd_gL&By0KDQonYTf8Eg zVseAomgfiQb7IDcFO%Oze!v<2rR<%wat52Q+BjiMrJkb;}iX z>yo?IexM7Z9RDI#a|B5@gl%`K%J*oCjfV41rgdt{AB2zBbF*rXYq`;_ze-szyu3cq zX%l8^xx0?f%aM)e@Hs7p?W9Zqd~hc-iGb{z}XFOyt$d}lmKBW>$yYU^_O;82tNx|nVxIWLl|mD*gR zK{r{cUnIGWy=HBaLVdrh>HRL({{zRvl&>IBI;A{1CtN?5rsC2SvAbCfze+SPQl z%XI?If|7T@8Oa#I>ZeNVBz|G7m)JSb)pVfCbqsETlQ&a0x>+N1|5qL@ECy1^PRg?kuB^kiu>Lhp&#hdakSKxh~f}xC$>> zC1zMO2G#Tn+f8#5-9q%FbS#oT4zC%%?aoN;etm8WG8c2n*a&PzF;nW=^jaw__7meP z0hjiUM{t|EnjBrOU0o&FqQNa3se4TyAj#uHV>Mh%Nal!MMh(t?;H!ecL^`AEyB~4t zF7+W~1bd`zkG|(7EzH~B^LXKA94!WqcQqAsxolk}v&4*s8yTfHbqjCm+p+Mfi#>0B zi6&%uSJUz?*J>nWY;q!aM!i6r?lv&RC&D+4RuxACY#Pn_UJIx*u)4ch_X&RAnDF8V z)uu7JQ*+~GPqj9lNQhp-*+kZ9L4s$$A{OlKR!Zwo~Cv!LR z(LTmoTs^HibdILWuIXC1a6!D>nHIWdq&J=0;yyFh=}Bm-3i4$R=vK%x+5HhytW(pQ z!>iw~K9n$U(>`$X{+ajH>%EEGmZz$mdlRe~0}p8SoH>=)plEIl05kS$G_J++2Seyw zGqa!tV=$~?bchBQGq_jbEijf149=mv1-|t|>SBYzZ5ru0#^|b~W&b0XwK=`P{v9!- z$88A1F#=8%y<1@zA6Cqk+lKavVb{#Z8tyVatSmO@d55#u#1xx`>rxOkxZ(1ObM%N% z3S(5PADXXe$o(^$h&glCPGa&TMIfgI?i@9GeHnPPDt(cZF_CM3qIA&DLO>E&y z6DsEvNAVSLIZ6|IxYqf2^meX-5&XV=z zE97pcDr@r&H;Tzpd4ndaenlw^dhxQ;nn*-btBYhqwV;UQ4&_^w~RKubdvwkDShn&YC<)Cm;+q%^oH>;_xxzO_| zb(6c~4Fr@JF_M!lmiedJE@nTYTPyc6y74{6bb|8YWjuQrzRH<5dRCJ+3VwZe%I?+l zjrTIvRFZZNj}<2KYwKqj(+mS^O~*+lnA&!Y;RtiR51SB=v1 zrKs$nb13Y)Mad)edZ~t?yC|S_r}}2o?whWcZ(e#)Yd6x2lDZ3w5E?Lvru%Lh%oD5^ z#Oj6m5Y)Ln>Bh&Xx4+zMD!b`=0p3FFclf=@lCRUICdU|tCAGUF`(~9xxm*;NAvOHxiMykmXkd%vpu)oc5pq+_6OJ2t|~8I1!Y~LYQKDd{Lcec9?cpX18*!l^Z671`cxyIf^@#&P+8;UXd!%p2XEw`vf?t3)gQH`%% z<_fzBOM6x4CS@3WHpqM*un?JUA*L0c-(j(`<%&od85jE16IV?ydJmzt(v@YD;aCG* z%t?=6qDMyQAETL!5}8aHlizG2H(fF?_No03e#WFlERyIXiCA*|TITBM#OBx)nZsxR zR|bZ6Xp1^*1~ZPQ(ZfBy>;Qhe7VQLEBlCSJF4o}qlIvP0Jl^+=szzqbW=e2ex)>|r zDh7*w7ve)nLuVX+1Bp2wIX zvtRAxtF+5D2OurjLr0~H#7Z`?Hn1r6o^-gN)|xgi_7IK7*^Cwa$gY+zs7vsNeeKx2 zVpd#GqJcq)jD1zK#hDvqG{-%&18~fPCNXr%_B%`l1mkq>}{sG3frWIEU%y*`a!Z{HLq1sSLszujR{k?m6w`cV^WE`Lpo8fTCXh zm>E&ad`ST`a1_8SERYmyxnSEkY*?&Hmd=+64E*+4o@4u!)#!LI4$p=d(%+j3k|Q5!1;Wf7O6|~o6}I@ z^Yk-2vtC)BR)ynUTIZmLuXOUj+^n`2se=lGm%yscZ&d-Kf;^qy=af!Pk%%66=6WHC zdKU)0FBqjrKP{%EN&dZl|ATRQ;nSqzLfUY)%s|sJP9>Q{ciaN~*o4n%%J1uxIfF?T zb$U384;dwp^)3`5>>NsCoNR)Q7b!{4CgvNw(6)*$81v3m*3XB^1;>SNZ9I;C;{{{C zSnL$Z_#lF8H)x%<)iwhU6C1QBeFk2tQ!#xvw#jM!7DwQq%-~|r3_IyOOP5!?DMcNq zolxyh!KZ#kQI8h0+ha5Zug{<+DbAOvMzZ$KXc#u=n%a3&%6C(*+wAHb*1JfKlVrWb z_cPZNXnwHpoP%AOFuCi!8&i(5%6rLy^EU#YnN~UFSSlCRpxQN!*{ZZTY*^ZIy>r7> z9tlqB#*?D1@@EHESSmH!T5s6aCs3}{wp_C_momOwO;0QMuz?hcC6T5#ZcI5I#+7YV z?mDL7!lXbqJGecK4xa84e^!5E${Tlv4}?ZvAb8yopl6PuvOli1l0(JAo zH`9mhI{xK!IQ;DUz@|Un(ka^a-I!88fx91$;P(DqZ;YCL|E}Yq)6a0KUB`xHKX(Jp zCo?#Z?U?=v)*4IBNc*bRD@x8(@>i+fw{irn1wCwR)X9x%|8fr6C!dBc>r;Wb(Wde8 zi5hEwWJ%jD7rSS#tLz4+zN~3bpH*{Xzp5Nj>{661ay(QjD|QlkD(<7*TZgrt+8Q{f z(tXC%pemtzP9KI1OQ}i;O_6U3m8axIhsqrl=m5@+P{I=7a^pR35AC6F<9%m_)Ybvf z`c}X7oK?!x1cFhrR35qU#+D&B#=luTZ}cBnc7w7zFl28%jl;Blx6%b?(? zn}skRkQ`L_!?d2GVJ6>j%^nJK4-JzG5DM3rH*z9nRNhdcWRLFig@4d zQ7J+D87u)_WA=n{6S;6~qWnWqcGoX^wDLXc$u=@7!#9YLDr+Pi3%SO!RJ6KhPnyZ#a86(2{#1m(L- zbaUmpGbHAoj(AyD+zd{J8T8cPc$~P4mm#8iHCIPFf*X{@CYHtw&NS4P3ycrJB9x5G zO2R_c=w3R8h;=D+3q>qhS`R95Obxy2c>`&>)ZzNP!)~G(s=Q3+2UvUhjAVb@u~<{6 ztYHfS+5$-5l`;>8AAA9yZVby8JD1M?!X~$9L_Q!!oDkx1lP%qim-~*<5S%(w)*o5wnkNWl3yXd6W zwhou0!+f#a{uXtS{bUC+SUH%*8PmGC&IN~NqKru*^_Q`GH7)-T{mMJ8yo@0x2Bo$* zCQrWU;PZ#0w8m#>T7K8zdaT1o_Q zNEfo7VD4_nmg^s+nUrpzd5k>WiZia-%!Is=g}J(b(Rokk4v)$+=0)vMdha&1uuSev zsK|DVUiP}7eopN(moDsg6iV%ZW6tLJw%o@1CXX6go41xI9eI-7+WGmpjhN(cDsEJR z%K7?^tkU(iWBjQE2iy9MBdmt2Jb(x)4(P^TYfzimvw^1A28}o2n*1VN%fQJ9tfbo8 zuj2$R<|r<<Y|71{xG~S^N*&xf)yM{hU$JD_k;06H0fhaW+{gyL)^(&EUDPcTK8(semK-na&3X|`mh#5p5Qsk|aqpb@AT;P@(Zjak?2-) zeu;5+9@;+@V_`w#q4k-9DKfbL5&l}KIIn#Qe~1yl6j&sD5B$_XmlvL)zm zWLRkXv>lE{xs+c+NM3uN>G*;QlqE?}R~I_At%zIUDBaeAMHP-S!2wE;s9gpiBifPAcZjzGfZN3NWz5c zhHR}#?rsvKnEt5AxL;w=Yx9D0qJng~yRxIMF3^eNhf5qS%vCx@B&Nqe^IGo{3m1Ea3HjMwdtP(}(|>_jXK>o$sMS(7rlWRGuY zFV=_Xx3uRwY{l8Zn_^Sl*`d~_a?zc*^`Rzu7wwOl0K%5V;b9>&qF?ZCP&^0wppfq%5SuC^;b5P4hDg*?O?j(A5*p!bGSXtWbl$)AZt zx<`~m_2KI6*+Iz{Mc?mo9rBt0so)~gX}4P7OrHe#P{D4B{pEIj(C*v?hglo~$+ip{ zo8+4g|H33kQH+Hn%1{F*$*ja9LWcQAcnnn}17B{g?nrM-D>fhu43;He=v>QNt+~3d zdXq8qCy&>)Cs&9CE@jKJbj`~8M>co7f-WJZvA%=-`weu^2=lTXL(Q)57fNGYzaw_r zfp**G#!asWx^sA<5>7qD5FYOp$b(hFW!wwB3Pj>AaXTn|ufWU_%OrrlNl*q#YOegT>^S9_wNDmIAT28G7rGL z*!HWq?;DQmyO%*9Z&wle)`g;l++(deRAr|@^U^8$GxD1Sx6U$6s zHQ)y5TL$lf(mTol3L?D~Fc1FIfOzP4QtDxZFudV_^jQ3NlGhOWP6A0{g?R9>0q!o0 zQAuw)P(I6`&wGFs=(`Dh^zym5j(A}fi1=6FErvx%dlqmMW=bWoXn>{A=K;f^Rx!5h z#h@H$B`6Iu9CkeL3iOenCZGrE)BvOb?w$tKg1!w(`BAGN8z2;j0xUopupC$otOxc1 zRX{WFci?n&bw4XByb4& zdYI#ie-`1=&-1>U6ZM;t}kP6C}l;D3Za?-oJk8??mY04neBCi_A@LquQ zZU9w$imT#&*-d}HM6reWZ zp1v9Q6_5%n0Ia}jU?UJI`L!Tb^evBgg4=n5I2ME`8VRp#%!K_)8fJU{3tCVUFdbL~ z&^J-&??Q-T58hblwTKqr5t!kXj0vzeOKw;}3R6@HFhKxqeStglTC`Q|0Bz_R@s3A5K;QhJZ;qS; zJq2V!#*2WXBhlVXAkzCE^c|49?)pdj)mUQb0)zyWFg}i0zId1wmV?swTj={B6@p6G z2L1EY4xsOakcBzyZP2UGi_{EhiJyeB3bRK+=Y^vk1FcU&eHa5?@UDmh+cUOjD~Olc zPXJ%A%LJ|dGqEs{=SFCsVT7!mc%$T5MlgdOhr6OIysP*dmC%Q9v*30Skc+UE09gRR z-$!uw8SpJY^+SJoaJv*(3A{cRZ*ks3ECX;85{Tb-ggOYw&mflW`FQsQGy-}vHG_LE z!lu6yu>|@>Kwl9Nmcwi(pkf$;-+9n1n6vmV=En|bzWvR`HyIwk=_L4Lwo$?maui{{ z0So~2eTYJYOYUKWeB4pm@C&?C0hsYd|5ng#fD0%jc((#{f_gAYsC|&=IB^MZBU<1@Nuko`?maA~n1x$fD8d&xau`CAt9q=l!0ebd9lqX;< za1i({%yt9cLTy@zH}9dQVJwCEdEh)S0%q^6R|zi`s{}b{Ex>P33CHl(&Rc`--vapwtl(hIejm!_NTl9?Vh}BR)uwzF|Y(qVYaW-~T{Ux{i>wkD&g- zz5!?h;_Qe9o zeN48W=K@eX354HmZA9^skw(~WhFL4tWXod;_%&ZPqxLCn0Xg>);0Hw^&hDP(En*2B@C`Xc@={T?$0y`t7M%DAcony)eIx zJTkjgf+nqh-(NQD_5mUui(^N3{{PzoFa9)sO=(DBQW2S5h&yFkwZ%nD+e3M|USTcDuT zz~=zszJ2HK(9SMRuza*nC4_lYLf%U%;oM%8Fb)3GV7D1CLVXK#CGsT=GFl2+TL9U> z{2Xur`gt&KM>$bHit#4wehvB;;2U7{?~xv072pLf0NTeOZ{QDrLTZ|Fq-3FAVT zX+ggL4Sx#q{5>mVJ&Lgu(D;T**a)*Dz!hLo5#F-`+7Rvq&^l21KGttR>6=z75q8l! zv{AqbU^@Epe3-2QzWGKJtJ3^$NYUo*7VH@t@&WigureKU6o6kx1a2-a5I;o(*+~4x zH|%PGPk=&%)A=^)^#)@3>LIm2=Rhc*z(2ozMaTF&K_3f0P9U5^9|3<_JF(mg1Va5R z=n6mtqKZ+bf&TR<|8V~|sH36&68JrEkkXCFn=gpq1c+I%(08E2fKCVUX%l1&$|Iga zq|E{IEMVwOt8*JM7Lub4$Czg5eXF7p%qO4^hxrp_Xt&@$pcHinC;`T9M%jdY0_Zxx z1~;#Oa{s`X1?sP%9N>~E3CirtezYW+8cmM+PF~F~Y%;D%iKnecp5q2$r zT?35o`oz63uK{iV6VTqy-hy=Uf`z{AM#>W`BrCy!$L5gLm;s408$SI_4ejFPofu~# z4W|&+Ngxd6|1=FZuT*{T8H_JruLhk8Q2GB3l)k_95!~=lw1Hk2g*WqH{s}PpS;!J# zk%5On8v)raVtEj70(3s;fQ+v}J+Xq8y;~#)^e_-mi97;U1IK|@K)oApSv`V53&}^i z+kbs7czpsif@&)fvPy_hZ%5g~*!vE+8w=bItb&|uz-FlLevVlF2&_ZBa%dA(^o^&3 z&@XM5Wf33}2&iV8saQOdhPT)VX``~Cc=N@-Agt%n*8`K`rylgzpwmIA|28Mg zfIR3ioGC&$;NjDRXYO(C1hw4bd-WbX%7w7frY?Pj5e{u4LIuiFKFZVtloKR<-Fq2C z2nQa;Zzq-`oY#N`;0>S&py_D_{TQI{#m$5s^K?u0jK`Mj+jQP?@Kn|o)8-aS?~^a2 zg(SUei2=`qL<)q21EIo6Dl3>J0`#3g8dfBDre;(B{CPYW9$|z2$Fe?jA06-AUbiwB zeOMiX-%y$@z0arxrSHonVZQlwDC!3gJ`!y>Pzc0l_{WKVgnARObAeh&9)WrcqyhEN z=YsAAJ_Jmdd+-zpFA_8y5D-4reDr0#(%KJ}jj#i1-LkhFIRkU-bv;}&wD-2L_rQAk z?14v)Wy%X0ZnSlu*KY6KuWDWEjv&SWEIKlSZgGAcH)o9P`}tU2zqS{vn;8Xo52)AI zzW>g42RkLK!(@=2J3$<7C+AsE7p@eR&()}X6 zrI*u~Si6Oq=8hi5;dq7n%y$__gY0at zi}gR=KpJ^+emrrBJw>;n^lHj0%;!EbJ00c&eLb$;p3nMv{Ff!X*h{Z%#aSY4qyKzR zAax$-*Ee0GFAVLcMwhvw-tw2t)Ep+9-^R<8@8(@T>Zp>#r-B{~#G#I_sL3fcKBwvD zvgX{|=C)Sq^E7qgRiE?6rFMPTV|&gFqf;7OSOTr2_72Uq4|~e}7os$-_j`mbK`^b* z*h;CBQjPt5kLx^*qC$nMP@t76NyCkn?$OeNF_kK}GsOCC2)EYwt|T=3>pk0E@8PZ` zzbT!Ma63o&#xu>%QFYE_l$aCr>hZQWdR%YNU>#~4@Bl4UZ#&lGI`&he@ZHuZ6i(!U z{)l9Q19;IDBkZsF8REk5ssztxN%hrET(v!TYeHj4&=zOYJSiR*V6#0Fb@_(&9eN%D zcW8|JhR%YFF$5O7vFALV`Ze}R&%#J&2%J4$m5(0O@V6b@`b4LiFS}>cq+s_cb6}jO z8>b0_G7d^-u!;NB0%>mod-^+i_@`scv32HHy)CX04U9R?X^yj*V;eKZqY(1Go1*)K z8QVkFn^NHJGgMQ8-4@g@oQK%Z)9ik{LWMiu`qCJ?y@wk{HO|%`Zp;=}B~zTuc)DNS z;_^+Zu5AwDTO0XSr~b*FbFEOjxqBPmO5g&wxIA}O<8v?l{Hhu^%wzEJ#L>^RYNTlL zXT-htvawstUfJ^iYf$3sy)tHL565Q8#!W&a7d?`VvG$CM}x(!=Kn0hid4yNN;0>sYxrQg>9opRqq8T`&(a zxODe2Z3zSiBMp(PZhMdGw>`$oqC1ixG}i+?c*M&c$@;z&af#o9!^@XMuvNBQ|LYzv zYtWF4*k0FtJ-#pCNNM~^bj|F+4!nM9kGm-;7Mo4MvDra}>|p)mo_N+2Je9r{XF$zQ zvPMeZyJ^bx_*f(8XMA=2Qch#t>#x}QI9#LmO|Hf}PUGc+?-k(TrO#jX%-HuwdavGi zSG9ZZ?`Ugt#O>TCHC8e^Lz9KZ>RxQZu^uH_DNhvrAi}+uaYQYCURfN(BctN^Sagl) z;bgJN#P^XndrS?3v#9udL@#50NRMOU!+P$3ck3wn;j69ez6%;tD7P>wIDlIbWnkS- zxrgj?1@`#f6FqS#DzuEc)IA(tQgmpd!@^n%Yb%}O)U+oVQ#q?D_rc5b-T>~{8eB43 zG^zWT{%(U)?wC;)2Hpb=u_yX+*>>Yaujfmqb%pgj(>mHSd#~}Hy;3{h)E&P{g#V;?^h@Ix*IgE zue#65?FXo(gFPHS)A}Afxjyecf5Hs&mxs(J`p#4Hf52P|bI*|ZNb5V){NwIRC(_QJ z$b!{hs8u+9NzgY8oODfMTf&L&Z`BEBXl#G)KHo$G*f|tHrtvHd;0yxJhxwnWIZc@0 zdAph$4x6{SFAj%=W5^=fc&0k0sr&k&?*EstZ-Hv+SQp-VXD5U(N&*;BuuTF%Kx~ts z<)Lj!KwjDwPy^WZULGc*eH^7)t)-_)R0x!w1K28{{ZA5&Jd_q_tElzdK-*L;p5v=l zTRpYbD5$&y1bndnZ+5`;+Abnl0sQTVYB><5)hGDWT4Fou##MJZC1T5=4_YVAJfiYJuo z#+t~O^ssfVFJP~PHR9>3){WJDv5$9~(LF~bj=1Nwalu$C2wwdR*AJbNu&C|Y+((!4w2f;gnbW8cGs*uI^G`Gb6Zx7by&FAR^STURoE+12q|w& zWn&KynXh%}n8GYMh2^wCEgQ{3UUnXq?e35X6`lCZ>d0e7Rxy0DPf-U*pc<3MDwD^` zOeHZ<)+9V?x*AyHx?QkyjoGWQcxXLkuVt*7G5bz7=3}p6tj~|RcCay-tD0?ZE+Ks| zifG6l3c3$rq;wQtEI?ETgnzKQYmik^AauM%ZWQM<S+*xDRCo!x|yxc(izkru`iy?9Y#;gGoRk+FkuKYtL*Wdm9rk-mR zkJ(EZ>$EW}Ii7<7ua;oI4bsVSp;V$j>}S%cV^(h#j*O5Z9Dvp3+QxwBE9@%Phokas z7=tB@_5P@CE91NbV=tx0tX#G#N=o7Xp%i;jwUT2XmkHmAF)J|vN^Zo(w=mKHjKWar zW**ntH|lzyvG$I_bi!wE(O`^7_a+H88nv;sN=oWEPlI5x_3o%Dm(sn*ScgVkMNGX^ z4rT6+%8M{OIE~+BtQSUg@3MzEQ66vY9tB|_>y1%p3BGT%)2;1%*ZU+$>WR#v5dHye z+atZtzoJR)_D9xVMnP`Fy_f$oD(U99-ex?YT~|hRZ!^;&aCy|Vftj5rg+NIjDBKhB zAM177>Yo)rmGbr2c-mWx_57&rEhY+bpC5GxXSG9hqw)U^&81~L;Zr$;+1 zIe3m+u_C_p6ih4mT7Y0*&se`7)%}UF9vGFZw7}A_zsU&KTM&0eNj={rAa;k^-(aj? zkILU*>cu!;`>5`9X7TdHdi|F_FHXp?_-B69VgF!{_&#mjJsQ`-v9DpQUyjPx;O4!_ zSPzZbS2Nawqw>`Zyf}2PG1f0e<61fL0;Y-9LDtsMxX(GdRS?7ZJ{ye#Gq!phD_~Iy zYsw_^i+IPnf3zfKT4nucLu5s@rP{M5Xm@C+Pgp*_pc%^`wKOR40pQYT8!e58SCPA% zKIf1H_X13wW9zh)H5td?=O??9BuFoi^s6^1$@ZOVfAA4 zn@+g0mY~vGZsj|pNxNti zqo@I)=elSRVIa!lH8j|uhGHq6_>l?yQvNbhxem`_Q&5a`Ew)+^F<}nDlpj+?vHMg| zOhpAPsS#NwZ6C0o@J@mYtsI4~!hiqj{)A>g-R@@qlyIk2W{=wTFm8GI$B9^u$1JI$ zuwu*OMC(f!a83>R$7&}42Q;(y`^S0HcKu$@U5Y?cL0I?|n%TWgyk2useVIvtV zbEX||CHgiLvh9TT40kk?>V#q@nTNIuKcF8n^@ZiBtsQ>$z57E=iR}B{N(k3UKy}Um zNVhtKGYJ`38=&kniH4*X;4+4$6(p^ipQDIxzM3Fvs9It*j5O+cl*$!Mv>KeyzD7xO7=#WWaJT#*lcK zAc2`*CYpN&{sMy}ph8%4OY$*ThNvJN5dYo@fsaZZ`@A)-MTxZZ>Z!e3s#|8jzH*GLwBH9xyJAVJmJor$g51EeTe``%=Q@)U*pts{}A_9g$L_66ZZ* z7(wOm@}P}I95vU?1#8wt-+O&sx7~kDL1;-6fA!9SovUi!j4n~g9FkxuZfurMHML-Q z#V%pY$3OR7Lga6%;`PXFB&4!zqpGGJh_rNml?sJ#wkl ztoD^7aATBp`CO!|c_YT7Sa%vf3v#hLh+7=bGc5ivv$mJ$}>R! zL2t2(xx#hAtA|~KCNQ2IJ7NfxG}}aya7R7R-Yhc3;u?Kc54(rxTI#KlBS6~Iwbn~j zBT5z4PYR{fb4SWsGdRTVMOn-2516`XQv%E3A_@36{sZ?I6hPw%`_#JXVDr3+TG(}V zf-GZj8C1%^{bCQanZxuCQs7F-$iNPd6K0n4# zuzQu2mzhH8<9^{`00kS_a+nQek%#AD3s?=ou0f_@nQLFYRWKrNtcM|ly&o)i8$ED4 zv4#VjIdB&gwoB5|7o~j(R5*DPY+oo8Xf|(9+EI^y1mqJJx*fLA3NQny@kl0MlkG#nS0_;?*!_PKW4{`{TTkAT zG$#NV3WQoDVUqT5?}hO%qEDt=t^ut=!D-tTOY?edDxsLO{eVwRXeq+4Vj|Sj{{cGP6ilcnAT3?Noh>I6$zwrSP`RLFVvC5||-@Dwo?r-;u zf4jH&?Tu{|F98aSZ`|S`zAj`fYMYHHFN7abbRFGI@_(}Ed?1zN?_cx{DopYh6@3wS zHpyR5H1b;VTo2S17rJEvF=eh@wuVY^t&jDCdtf@PxE{fQchYKWagXs$B0&zn&t&r$ez%(L*pDO#}S`7ZQj2n9qo#MK(VI ztco-W4UIwKaABJt5@;8Aw~?9Q+#lyqiO&_pQBaIYQ_nT=q9_)zs59{1OTP<*f@T<1d-KSkiCgAGg% z`#+%_;zohl(;!{srhESk*1p#*x~JVN0F4#h+x0f7r~H@wKoBVo1~IGqL2WZSzd!rC zR=@nm{l~q`#)?kTaa{SGe@)xV+Mma(!-`w+6B3L`12tcpN>(ddBJN2n3H^;Em?{E7 zZVg~Y(jft%RoEJI-!TW)nCZlSF>NmgG$uOW!bo}6lRq{BNvR@C5>OLzf^zO*U*&=`nEsU|fM4 zkRkO1RHSf|{ZgjcPcet`>H11}lg)Z(*q&2wlKP7`fk?Hdtbl+$t@wM8HQxrUIdG6| zf^#o(yd9+VDfxHYoxcT{jal@%tHaQ6i=K41Jezi2WQd*lzq#{QGmjS`(UgewEQq3? zoAuc0T=9=geWk8rf1(TDx6zc<vTa|#s0hYnZ_$RVM zMk25372nkc@BY5#W&6SXaNYD5uO0<+*C0e~`AGs51Kr5=>HZr3;t}SUKz!m+lPA0@ zU`g;;x%ylpcL#K)i5Et?lIqueGi>1Q2^Mp4@}i%+1?YtTKH;3C>awTHZw(#9gD%sHT6={ zu!l}sO;sdFQYh*B!%e(s>K#h8iiU59;*kVU4b*TDMN>tiamfk=7$O^xR#)!_6zD6g5KR714)$ipCE;O?HBr0y8Sf4pFZeHq`gWH8$5b zLbm8BmQNLcSkNngOTFPQm`~9##ZV&*IJ&qK8=HXpw)#JZ)Bh90jHYw*hSS{UplJ2W z!|AWMQwwdx}qr0TX?0wPyT2%A#{$gs2&-5t)YKs#|JV;9BAzwp+5G;{FB!#Db4udG5 zEA&8U!AYwzv;x{1Gi=Zc6@N@xyPX7$+=@RY8I{AtTO!E#hqB4s+=yXIf)IuZ*MOUm z%!L}){vpmo^A*d*Fsn`*-PW`tyGsFT_%)^z$aChFNcyAHv2Se#!;t$dEHRD;&SVms1x>49apcbAa_9K2km3~+>8{76*{m5&%)b@Q z`0V}3xccXz^q<{L%H1ALDfHKPKbu*;ll0;xmpW zbL#F=iEk2UTHNogRPPx|?{HUEbYrqE_0gg9uiS}90Ey{Gab#lF=D61gSMIe>SuvE$ zBJaO9t7Wno9A)WHZsGsd^32Csa8KyG&wiO~s@lfpr+!adJlY81pt}B{)!DfiQWXG zdaoSw#_^YJ(&vWY1`bH0qzi|Na7{6k{8_Lk0ik3Lnx=q9b%Lb$H3m&fV}p>Mf(s;b zGGNDXuce8&#Q^cdO$?D9h5O2@WKc1j%+AA%ZnquDLS}l|PL9jKwicW|LEBp`D}e{~ z?7mY1n{6FD@{yNo(Y{x~Vy--SU*jU=lZmZ4H<3poBZ0ss}@x$pea|2vO#2F?R+H~fbTTh&17nK0E7DsjJgjK2Rj45Qco zod^6~7&${|MwtnoVko>MW|73;hhiUIl*rVkIwo9JW(Lx|B2pyYN|-Fzu&N>dn}$?>n| zNuz5p#Ak-__Mnpn{1|TzhIDutZw!V&%YGZwx4PJu3VtgE*2<%qkk%Ih`Lm+~LNpQg zG6W$$At5pknHB6;=}jYnyO(@l%mdxHj;p56elggD;F$)}ZYNR%!LryFL;H-ku&OI? z&sErs%m4!!eoka!g2~EH(?OKr`4r6m>xUqSiPW8E%HG5s)!ix@8byqaN7Li|{Lx^kZDkOtD#| zRctR6Ricu^u*xhlk&_E!gLz077-`9%(KHy|h-7tbRN^U2O9xbxxQinnk1mOE8yn$+ z(--5G$)G@L#6i%~XDzKknQG35VD5-I&<$(83Wy0+Td*&|6l};vdu@u|OeHGd^2{$$ z`RGF_UI-DAydlK@1$MAujE`Tf`s|mTCdwH~=-aw0R}NZVVXN{q1gkAFVT8b97M3TQ z07+)jz}j3fdxmiWDLj~-HFPQXX#xGi$`=Q%FS70Ol$b$mNBDbILj{dwys3CjE*h*% zVl(l9Xi&Lmu)+lVD^eIK08=+ z0{0(-0QwAc9B{|(2hu>c;ot~l_C<+tCL7_;zBujopg`)+R!>Q!w0r%>875qsfSZvJ z*;1R87hhwUb2r4A};u0^J#SjvE8qGX5b?y}B03&^LSD{iHB1K?bC&x^Rx4}Fh*RqpcT#Umo zlcD|M5*$ur!xfPd>A+oRI^Z}4OrOA9buAQO>j;2j;6sq}?vjd9^06xzj5nV@VZ3Q5 zrxxSw`dw+yUE@FRvUqEwoN1GI^98&q5?H*&0ge(_ykQJN2=GR@Lw`a(LN)|%920IA z#%zK_dg*T5M5BrqusA(&*Z4igDUdy)CvaLi#rWObqDN6}GmOr=S3INIM8>*CUK}VMzEtLSiqVnaC7~BD|cp80r4IQLS9Xc2ULO)Ta|j zJVUMmR^2`AcZZ;-c)Ni#=xH+>>LSbEL_Q8SEZu!KjqitVm_n)}>COXDKRL||kpSKM{}6R&e4wuh$5rGXN72mB7m z-vfRguub7-3xhHPX|ylHl2bGYLO8(5^@4jm%0&ADX-EV@T28(YNNC`nusjM0?C&t* zL;^Ct%aqRp0_XdTcEdws!azkqoX6@+1N?UR8lT6f+#CIW{F5#iP=G+vZ@$Lp|M`&> zRq{0||K}GZU{{g03gkZgfiiFn#Km&S!{j3`xLh%-?zb8_wVVtR>(gJe2uC2?soO>lB=Ie>>B|7 zh|MAa_#IHUg*YraK|Vq~URRL)C&)i+v&6aUo@f_*0beN~Sfq^|0))*3-f8(W@UH;l zYo`2lrhGn{>3V|+Rg0;+5Xd($VnI)03s7xz>lyLPN5$BBF22J^e;R;Yj?xX< z>wJFaG{`ND(jNu@g}^qm57=kdUWe*zu#nCSGyoqA%0aI&9fd;xVT`34cMeo`4xrQ; zzVToEmERB4@O9Qk3?etA_R``;__UeNRv!LvUC6G1?a z0XAxa@ffxkf%&NDqZF#>E?kD(We{(buNT^}nkx3dPy+OsV!@id##WqNe1Ci{Pg_jb zfAvDGVS=Jb`#l)G-zz|+13t`mST|l;KM>}J70=zkd5_#@9==Kh63r_lYU==YgQ2wp z522JU#SBS;(20oxzbtyyf?J1nP?@pU;guj>G!C9ey8K4zoHxmwmr2V7b^kr}=^rHh z_ayzFIGVNUt2fk0yz^Nq4>aSyb>wt9ZUl0*ckYW1-#_fvVjgIq>jTVQ7aF;>)p^(> zC(d{BZTCb<|bHfb)Z?RqN%fR4PN0mz1(qQ8dp0!CU%ak_R0>Z ztwMgYV@O1w{CckE$$7=tR0JLyYub&)_#3pba|k%KGEJr3kw7YRIdqPf*!IO=e5 zuuvz|(L|N|{O+>_cqZQP0ndwvR%OC~EC@Ku|EpgU>vIFH<5uId1J;EDu%`n#)3^W! zR0V|Yd#f9^b^d_eX|+ZUNaqbG=dsyj>?0Ip#!pP-(XAKNI&RXd; zfcVEeZI&O8d(Pg?Yc@BBLK_0iAJo)U-;r_#*asWrmr?^Zu*JNYa4p#fm@S3L3~+J@ zm_S7jQ9u*Vb$%aE0Z&-p<0(h`Lpi$J)@KEuc!^DDlg}u%@hHWcOB~wC9XUcd!wGX< zc_{eY*<_P>zzQ|?fXPt0q}CH?wfaUho!7@$3;WHgE*acj4WCNH0+0SZ4h@T{7kFzA zJ5Ei#!Y@_UkloTTQQT37ac>{2F|)Fo?2?X(_Jz;0QQp(nJQe#Kntn5qe2-UAZP@%y z4E2r=G?Q{UtkIe#UTB8=J1c7%tBI%kyA^Cy+Oi5;gxMH9%MlJj7sq-1~aqR zE5Swg;^$}goZ_1!ewy3 z(4=}da6aVXXCD+xgbf4gu?q>E0B%+8{V$go_@w`$w|EvMeWedfcKDF;xJGP4sFvCX%kka)5LLHt1!SHpqomqprVX z=40^+U2LPoCh4$HaERyv8o>MIa2}!CpWc@D~YVe19mv(`1e9M{`p6&>CA1VHa63z8mi=Z{V^)_w6!Vc3!_V z8p`q}_e%s`-iq$)W{?weLl=wpvRp#0B#fnf15fpva!I42zhy2AJZYWVUrGl48Fu8j zPLZ6mkHz7y1lkhQq73avlsVqk9tviBLi)q3rDwu^wXeh;DoeN#;qqHFnq#xbz*z|j zhzQpmre&-|HPQqwX$kBP8<5WIKWPP%J4O-4h0?#jwS6JjR&4jP4}gh6um(1>v7Tc; z4dy8W(PFESgLAcr`la6eO=K7;?{v#@!G0I3OWBKJV2{cO}<@XnTUQd}w zLN5??9!CoTV_hy9{-x?%@C57(HLEU<8cBS@c2NA?U!f`BK8!jw#rO!)1Gk6U@}YQboOR=giBM1AR6dQER?x7QuFo6&Uc#sfM2jScdi1VSy`$unE~! ze7laXoBIgTV2=tGpgi{6P+sZ-K3{7PRqreRE4MAE-q-aXaG_xL*J~7YmLfYSLVCXM z>UA~jou|*M9p9+&^g9f0#Oz}IfAqniyZ&l@EVU0&klII6bjA4C!0j-8+gH!G zf5=Aho~y8|zub6?bZsN6Nz>lulA5X3ulrob5d6v|k6f}xY&nvQK)_c~!B`mg;Tac3 zMrevg!=w?NG8>qgvbE0(t1K0jDowex@e`auTGxjb!uX;>S+1`vcbc@h53DQNETk+~ ztXu9O4kuiX8l(sMTHEJAzaiaj^3XPpL*L|^2<=R_$^&lio<7Cb5@4ahP0m&3K4Xo4 z>kH$Ds9wCM@eJ{a3Xyr^HtIE_pu=O`-N*9)20QpFv+n4V?(D0g2optCr4llVGNqET zRLXUWVFmBd3h+#3{jg8^mp+#003<9>GBB3+NzHwrtx?4%O?=9xA*wW_Nkb*VwuJGg zJHr^a_LV0ax8UKon)>AXktjZuyIWv zJJkYe*qK(D-B;~-FGhAC45ENB_=Qat6hBG|xY$l@qe6FyNhG0qA|!@nDbA3~Vxd9c z&}LykL%^EaC%?oLk1{UcA7}Kr&uicfruQ|0O}x97=kws<4;C5m%>rErSiZ`?Uti7J zAK65K;8x!8t6==N%JLtp4paSql~~p^J9dankXYj|7}gh%26IJhO_{lN2ST~e^_AUO z(|g4e^i5V5P9-*aQJNQsBS!pWyP`jHL^!w-qmI?Am1f)NfqF=2fSQn&hdawtT8+9 zGa~c#59!S7?>YxZaC8X^z+F8b3kX{*4QgayHBbA(R=rw z(^4BXmfJ~x+k2+77afTB0PGOkFEeLO^rFC4%bS6lT|YDJ-}Npz8hA^0i)nZEE_uyn zSpu#u+rMFhZ_B%xGaZn5;eONz^Y4tK_mxH*(_Lg-*BEI_Z#|_ufprq$%`bnJBR$-! zKGNGjS)$d_L%nMwMX!Q;K~-L$@l}ioll6Uz*@23m6_gxY($dnKx~9V-!ZOK4_-hj{ z@I=w~glAlup%UgqnGvQ()rp6uR3f19P|Xd*%}C^buqOjxEO#8-@LY?nw{fr0hUeMs z$QaFsR7S@pGy}=trW&360#9MtYDw9yh*8JRlVu5FWfIAdmr9l81s)_zKE5)m|5*V( znb|emVZ+yOj!}zSartb^UwWH3uVkpskqhq_m*X^9{J8A1Mp-<&xHUF<_Phcwlg3Jx zd_kK&eN<*rzt?NX5>@#vc!LvA)A0kDCYQh&9AG;(WoIj8X&!3Tf{y7N{dcvuJIzHV z*;1nDu52lZc(C$|#$RD4i_qBkv%jE<=MtKx z2XQikHp8=JRWGQOp|3QSP!}!K#Cxf}mZZPZE74S>B{b(*Rvyftct0>1eggCr_Q7ta zgn98(GU8{ZWvL^wU#V{WY>(};a)dJC1G46|#!t1ydsoE^P4S|tcpp=|Z%4deNBp$b zc(E;hdR4r?DSpOx)56UOhOG6b_`r<#S%$O?2J?oD_$N&9PX>Svkp$XWd<{(Z%S2u> z5NSw{={0i=W;J+oViBxCda!sy#u?F&KY6NFLJTNU(vNlhUHs)IlV0r>-AuB0Z< zhLz>Pp=ZnpBC_URBReJQods}=L0EW@gOQoFNDAiL6Nw6XkW+Iwl z;&@`&n;L6{WPM4gSG6C|G)?iI0WmRt(S86Rl5z<+G8-H(rF3zh`&?_4@objaatU35 z=c|;|o+V&b$Q@Q!~4>|?@@RK|k|J!U2f`5T4bYLz$AaI4;pFT!Iq3JYg zbnUUjJ+aIshOm5(-Su{Z@>EazsUF}i3b3(rj{Wrp`-X=06B8+L?R%|3`CU(jh0$? z@PFen{Qi$GL10?S!t;xZo!B0O^}v}Na(n&gIpclZH%)A3Nf{^y8&d5Z#bYkEvy zhvw--5eM@Yy>2KF8O-ZdUxyj=lDy@qszo~$1=5JGRg1n-R`h6eF)H0Npz)_usVx0@ zi+04$*L=o+<`@WR!t2Bp?orcgr^G6~xzt-G2iqBjkeQgi0 z<(kbv+BKM?;T;S+DhJ45z!?Z=_>fL&JYikkgFW^br{n%xSM>yf>m$bK$HrFnpiUeU z;uxzV1N4Dcdk|JHhKn0GSAZib3?%O143uW}K&p%)Br?pkVfR(_@*b6i$$*1evOa1W z#hXo7Ux3LrzSYs3SemOW5fZlU68!t3bvIIhY2Hujc@1Q?;AIlA%Kp9*R@Y5LPiiRSA zoUKow5;KW=%bwB)Q_ch;WZv`Ypq_eKn?LIc2P7gXSJ__VXNlj^M2lyNTPe~;5vMr3 z7(%~{;-wS%m8a8vFp4zbN)+S2IE7Gq^gx4Y+~E0C;u0d4#%(t9pvl@UANb&I>S}1} zzRT&%9e3&3D_?X6iVlLT4LX3l=2&sUBEq;2V^u>D8n~A()2K=HgFDc`NN?OgxZ%4D zlPv@%P9$j~vFUu>9&Z*L$KyKY#Jb@bw@*L{^#NF6A~a9hbq4^}Q`+r_?JnthcdxkC z!wu#XNB%c&=S)I<;ZD&FfCfYE768dez&Blp7F~FpfUsOpMglwH@ZsR&4~hGk^lxz| z^S}eG{t0&=hn1>;&VleGq5eDm4B$Lm4tA2|w%u{h?=@!gCUM)HHXpz`;DFc6Xe@*# zmxKNJ9V6`(d(Fx>1WEps{i+?!$~nK~v}HZ-?+omsXLC7hj=$_pR^s<~FroXGT}<6~ z9(O~)E?>YqjJ

znK;J!nDeGyk}yx~z#0=#-6fCL8&ywk2%N#rsH(_ZykG!*f|4Ue;t zR%eBS9~+G86qvTh?`?k!ilAl?jvyk)Th3+>8RDDih&Pgq5V#h%Myyf6E0cxA1!Aga ze(Fp^&}1~e0IuPoNoY;UV!9OU3$TfU*S+qi9`&TgPuoL6o=|MjkO$g3*KZ7sSjXoc z_|H46=dJTEcS1aGCBGP7>^nry^&RrWZ*JmHOkPn#Rcp=pV?Xp}$RVIpOM+F_4e<&-q#co&i`X)0VNIJ0q|>BdFsJgzlBAXts4n+>2ruAU%ZXWcMO*8U(l-SR@1J zfnZlpsA)^5Oq&<;FP|}aF`nR64@y9J*``|1tqLqx1^IfTX~nK!(1&QP*w>d;DRrv( z4CcqG0<^dvL-^@bewt)0>8H;~cr}ef0fl^nrPX=9=?4Km2rYzQL^KB~Oy#<+Yh#R7 z&?K*Aqjcl5G?{dROnRAGNNP8jBQ9T0ip(>fl%-g)^eilwe7zjs1n~l^BS+HFWMdc@ zaSwFg!rs2-_MLO!7wo?i=g(aqf66P99PpiZE((60op=rbeG7~0M@9aqTTC#K+UUjS z+y7-bL>q#yS_F5a)qI1VbA@dDkg&H!b7sV&O9EY=QmJ+nYW3eFPnPYz0Wxkv+7+VI zBju;TXIKvH57A%{(FGsIoB;I)B!q_nPeTqYcHk{=8w#m@k8J(*4dJbLHtAjR3e`ox z)&K<^eH)Y@ zY8~DAnv-?4;p?Q)Y!GrE-PDWhlb647D!Ava11fk0#GtO=^=y$MN`F~TL@VOafzzqu zo<`YbR%X%V<)s%_>4_>`)G?8TEiNk3Wrujv)arSMd^WUSgQJk(WC4B&MphAqcRnWF z9i%c(p=dQRTzLuIYx>egH#S~@H@=T1Ha0DVw-hR_iv$lF7!|~cfs-fpcJNYZwqyb1 zrR^_y$9^ir^fXTUTSF@9#EylCy9I54VyJ3t9NOX#eqii%2m%ma6oV+1q3$6<)I2 zdV{ord)?M)G+-}+wc;=q$aH;=+uK4+-{WF9cfq`-c0VebxQZyHYZ`WF?-)ydY3Z)c zM6IPld1k8Iip5weAR%=VrY)*aIv<#=FG8P1I6N$PVHLWvlE>))ZCrlXU2|M~qDW_g z^H`k-E~J7>DNPE&{S3wrx($ykBHT;lGE-W+x#RMO~(>h)5hp7rnv$1J_yUG9j8yppT!{&kYQ~wu{4lUMDtP!x1d5zrhbG@HYfdxmPS!6`bvjtbpulL?z{3agU_L zK?N7y*eZhnNjaXn9q~bDzh$g4a1O{@U%DatN1R^J{)M~AU_UK$jlr#5jx&&K>cu^T z>VIX%dSQ%23@HC zhQdIhkBMvl+y^LDgg!DbCX?xG>;CDS?)oK_x*lAJWvOOi%I{?>dO(=i*^W4w7n^~p zPYX1CRdX*inx={JFTloDYOe?lj6}#3$Dvb5ofu3;j*r|B?UpUsz%Ef7GQ$Lm9d+&! zs&fskD8Mn$yyNT^3_Q)$f5DwNclnx!RS6s-Wr?@)H&gcZ5GIAm1iDJC0G{V^VM_G_ z>yiraeFwjeAQt*SUB<_?U-$4qxErdo5lPaXI7{^}C^U|?X${q>(}bkzreOz85m>Uw zbzB%lU+ySPyngH@Xva*&1yzC24X;&wSZ;8(SL)6XMd*A#*u%g;><;xKLaUbo?C6ir zqkcoYmBZ7(pm&6V2!MloIvVreFr|IUx;j4w{Eq^s&=|9XyRKS*6uA#PV+=xmo~TFQ z;5SgbpfQ7bYz`c&&>R>6_P3_hO5D1g0qRaLq<%OBD_I-@;iqEQEK`8!9VmQE4X(#T z!M|ahPeY8a3j?lp9ML@GI0Qc^{}38$3K5HK2+kIH(TM6(1m2iJ#66ZKaQ`ES@KL;R zFP2&iUY4#xw^AwwLT?LEpFu8g?}2Nt>+lSrtNo^FrDu0`I8Z-ny~^eHkn%3&3%B}R zv;}PHg@@i)G6L+?aR!@R zZoglEe3<}W(FWj>kMU)bR+#F>X*G$1pK9tQj0NnpO)Zt`PCXwV4mY7eK)M-{ny}Q& z2Oyoe4&vhFSm$zB;OCJ)#z#1e0f{$NfHRbD5pYI5hO=12DPYTf6lbwYeXXI!AqY4N~S8^`#myS0Y{$0v~J$r6h3sDH*gfi%swz2N|ncV3t=TOhLS>6IbCTP8fGDOA%*ysg0DO>U^ zyrvnW-kGnn;=tP-#W=7N?(6_?66CZg?B{?|*y3W;6)qd5OqsGSuTYLW0AnS%mp+uF zjIr&5g6#1VzxAPX0#q<%>Rdns^rY!^yyb~Ahx-!Dh%RY=g=hux^M-iSV=U(auXfDVTzV>;)I(E+)kg|E)nB}L`c+=hsrN1rqt!`@c!KzO- zKCdtF395oEebwrPd|p9T&JRT=GqV)5*qr5`nKf_k2SwnwZrX_3PcBq%#Cd#SRbElc z1$oEUP3MbVTl+!u`sfeTJZ`ro(a$%FGqaSLS@UZ@;GRLnCQv|Evn5G-|+XKzdAGSN)g+bGw6 z;pT4KEZLCSfjPU?6Tm!N_t69{2^d|Xxu-^AE~-NlF*ndHz4W|Sh!|5oL?cI}A}Djo z&%JC(1F&>VFXLsu7D0oPXi!BH*| zb&psLhUKn6L!v9^tI)4c<@^QZp^AM(X6TQ8N~G9vJli1=~D$iRb=}QGh^U3_8XoYKv6*&$VfnI z+d^>cfMr|Zf>8M21=tDm1svUeo@zfUF+GQ8lgI+oMA#M&>^6lwY;9uIq7o^V}WNfQ^^57mS`eV`|CNx&RV)lUba^Z=-%{}KSC zrR~Ud8?A}tYyH4!M2=Os?M8pbNmM@pLUG_HQEKq(-&*kmyyj5Cz16w?QObq1-+|Zp z_MEod(_5P$`E|XN_S+gI@~9$uvgF(MqprMD1AO5(4AH1Xn!R8{*~R{am8CTd@)R}& z!y2*3gZT0@{;ylE*}m>qvp76mD%{rH4@Uras^NLE-@)LvGyNt8=RWT*JA;6$l5k)2 zmvx|5xVRV6cyC~4-jKq#L7LOM@Hm>cB5w$1S{!i`t04`Z=na z>vd>s4?5;-k99>Nz6PPMyRe*7MwVWEMDC&F)fLZLg@cIWf2III&%w-cb*M5gNlimB zWW0CD1>wii#&;ARBf!YA{VhlclL$_&SW_G9AboD}kQ;ow!LOB7`6F@g1st}(N0y}N z&m_pADLCBUX;#fUqVXy#=&!b<9-At+p#y)F0Ul06W%ZZvYcbH?b>5YVh|2l@_C_}> zOgh}2umP$$xn{CRRV5F@hgfMd1d9XkK;MOEB8mdX2(FJnY8_91{hT*Gq zUd>dP!F6b2pLEZ#aso5~c3WCehU?>rby7a#b7|2f_7bRW&BhI^N>+o1sm7COa19TW zqxN^47VcQBg+63;l<9A7bQ%CZ&L$F^@quQoSu<3LF2&F67s9+O5Hf>CB;gVe>+|^g zBq5Y)Ji0+oJ=I!I68D^^l)zt(u#d(fsy`;V7y5;jsv(rdX`pGS>+;7_Ybi$1u%LU? zWBXUILgT4z^K4H6ovY{Js%63y5G0`4@pPi zgr_y7c>NJQK-?Cr}PjUBXWo>2SD{W&MU#S5cxU^vDY| z;n6(7jYpf&>Pn!}PW8mWd$M0Y#D>Q#&x1rgc_bJecWqR^V?I8!q*lozl>IT0C?8ag zsq4oOm!^q`an!a2F%^qN z%z3nAjs5gO$1rA_xY}_V@-IkFHzU!rZ9CR;NZwML2l7J1&8x6>tRLh#u4A5sfR@sS zP^wAlJZ<^1@;D*>J4}1~Wp~6aVVtvrhg)pV34iaP`zr8#*VK&C3r)%QS0S_%nn)m2 zKU_Vqe`bgff58gzmeGXmi>od##6%xvc`ATkjb|z%zPXC#J$R=4OyYn`NQ9Pi2~X1O zcMhTP%K0|*Y4zjD&VMM@L^OV>S9{@)m(mao$F4fN7e3E5T?L9gwC3^bf7ytOz|(J# z>90`9A6(_$Lx{;0(bAq!`EC|q>iJd<*LTm`C%v@l-B4_!MV1{vw1+*kF*x2NdkWVVC z;a=_bi*BdF8Hk#voB=}XO)HN6&xcSz(tgkF8GrI?!W_iWsKKz=6$i6|&Y2q0+3mQ8 zwU_*ZZ0hYvwT(pFr zL`g3EfW;%V*L&~!I+3XjQ$=5Oo)q#9Hla0O&%}Dd<+ZHsNi;}gg>f854SI%7FMy~{ zTEuM1Phxg;mUBT@i;MHZ@Wryy*oHs&1N>*HWQjMZvt3Q|pk9ZB7q##$^uoL+D@u$lPclc3 z&#Mn_scck&eX71HuRIGV4V+MEkZw(9U}jN_ar~^^GVkGEQMu%*hQA#H4SHl+7|Ub( z$*n$NKVdZ(_nAxBNrXKj;s_cW@Hod2tW)QB0D2twU|HJHCWy8OCkx+-`t+g2*bz@A z*SG}v=P=f31TSw;%NSYz)fGfR1XlKSU(_-}95G{Rn!UjTgdr+ax!TSu(uHNtRlDdQ zAcD2|V0Y}?WzB9$Uz@Mog2xE*Fsg+%y#()^Q?&oq!*e~AXliR97<$#2?wmF=>%Y~4 zN4N1ib(#L}=3omgT766O&Yq{`+aojfx*$BA&)gmvWeMM_gHvB6#_e-y+Mr2`B=i^s zzhM#xu7|sLfmVQRTR+Nk`~fT3Wff@Nr2yH*)d-mW37kZz1B37neU|{AgMUh=Q2ND3 z(jNgol8FD>4I^*wLVG;igvOpt?_8mJug|lABbu`_slAx1&kcX;!gKMtNlUV4(T!xn z9Krd_h}4w5ZZ>>Y2f7c81y?n`s@MBw=?`WWRq)Ka>K6iG6SU$$2jkh?VUewK(P1-- z#cahG2(r;IoX$fHP|p^LXhHohw&Mo51H_&5zMd#KNaQf~G!mWHk(STcCV}OrHe>om zbU$C)LK6pf!MOAiFuF@1=0dU~KmSchPmX+}!kdD_R_J9bW@6l+Tl37T>F$jEZbaaE}6GS6(ahS5H>i-th= zX@t)P_}TQxt{Ds88cNv>+Ct&7;S$dpGhFI}43MX{OdG!Mi&tYFzSX0aZ$|rHc!)-) z(E+L*+p)cwbz;+YEcyR(_Ac;IRo5QynKREM2bc^Y6Cl7jCz;FyL1!jN5)3jKFcTEo z5F|mx-VjZqR4Yr6BfC{zd*L8XSEA$qa3Xe;(&g(MT6D)N4r z`TlF4c_cvV_kHvG?b+w-=h|zpz4qE`@3YsJ-OWVLKJEG)8u%Nuhwe?>I4iKP8^Y2q z-Mt%|$~mCBnsEnV2)3OCU3JBhvg(EVd~@IJp0{?zvr9G|2v<{)I3w6Kk6@jxeW-2r zho$3_Vlf|d&zmLCy&?~5!-3D@N&+IfXDEZAWXQRCQ!p+xV<)x2rk%T^`=lHjAO#eN z7N1i30D@ZZ;MIawtfZtDyS=}sJPkbl3Jso}ylw+^TOqyM3}SjKy=bj(Q3Gw-?ecB# z-8Sl6aSBn@R6}rPpD{;OJ*4p~hZreOp;jp)Q(Jq0gf9AgnZ`%{uhC~9VnJI`#g(q2 zy9S!uR+f|s6Eg&Pl1bS5H!s1H+L#0i#r7GMJM z`>JRBf(Bx_tSjzTMLwA(S zz9R1-BSBDnq$Q;`;MhamFE{LQjAKnxhiOuMXhI@%N)U&ojBb*P8>=n39A-h7`e6NF z4#O7w3771|`J^Ewe~O)3u^i&T+A)& zZ7)5G?_h>v25^?^ao51hK1V$D#_aM5zNIhTw7eMdO*ZEhx}#Ho7P;kzxab^!59|SD z#Vw?4p2^rK!RPp{OPL#kQ#ge@yu%rJG$6YzZe6(&NCZP6&2g(n4;j98)x06GaG#=T zGX$qosVK8PCR|wd^K<{v1%Wm4kmvr?y)`f9tv2(>(gJ)6$w0Glw)gA0# zz8kv;Y^}Sh{O*htz95a8-BL2^O1K`Zh+pYq5)4?*i+bwQ;84!Hri-ybm^|A_ecFgV zWy3MBj1Y-#t=?E2OoY5<3U}aQoB>?6Owd-}x1VuCGgseuJubgPbwi7uXDU+ieJ9Ow=68ZQ=|`SZIb z@@>0~ExVH%cc9PE{Q=?c!WAL?isv{tl@a+ZMA*T4*jI)h2_v6u5J%oGq8wr5N0aD%8vKLTq&*;U zt^?utSu@>}IU~oVj8f7cd|s(ffPLu2IVv|~QyFGrQUk;(b2CQGMA_ zQoQ45OXE1Qh26R=+eJ1&uOiLoaA&_nzJF%BrdV)(^8oz+Lp{sUez?i05>;zrK2fv%x1Tsbk>7hUpKeQgz4$yWnsq;f}&xggXm| z#&Kjv+h~Q2-+yGgl2HHAqHLEPZ6c?I4eEWs<3hCIHMqTS7vR!hNBgI6zk%BfM>d(s z4)CT5KJRrnvcbLLo@`g%li990D3b&HMuY(#>f1lVN5|jTb~ZN!wo_4eH_Dv@d*1H> zo~v!Z4Qzi`qs)4gNA|HlgU#%dGcZ1oZt+Zn!`TT>u)U1()fye2H*=t3XS*A1O~!jU zTqRrs-q*p+!}CtKDR?e~)9PU#94;c2>$?ls_Ps0I@s?v!HIBF;5=~u1@{Qt zlW-kxfqvjRVB0%{JkKKRJvbfSUxfb_+-|r};l74D`m<~owG$iNdA4|rNwhZ~{^xk- z=5ucQV>seO3O=C2q#v2*jeLr;$=+l9IKpL_^{(2Dj?S@Tb z(Du71=R+#XNOs^SZ8Hu+pJQyTLp<3HehaP@VIRO<4SkP3|Ldew@PRwKD#JR{O z?prATZj24kL=mzVRab)VVf?hh--kG|`K#D|R&gn%u>BqaPvml32z;7sn7e*` z%lzWKz$M0IHSEBPiF{rL9O6I@D$YgYF^zLQhOqyJ`wbk~9-o6Yp8Of`j{GA>{)=o2 zb8w;RcQB3-w-EhP5C0xM?Vp7dY+%r27Ic0rr%sGtMH-Vzeh>^PKFT z9|Ujy9OJAg@uNxgw}Q{3PYOZrWpKXnA5E%;Bb(?h*m!S%KL%y5fIl1fodb6<`=d#> zlYM8v=12IZKL8Gt<%2EY`7eO4ctBT(y9z&N4*GT$Y(fK{e%RLBe;WJ(xXEw^y#EybY&gfwcCHXSUqF~(`e;&|O2w&%@Og(37l2DI`e;%H zoDp$Vcz*)VWAHo#Xeh4aop=jw;1WG;mCG1 zXgAbzE1&nqIPfI63wS;YUpJo5y9Lkl;5Ne9e*TM}aNL`d$zD9iJvpVX&G=0Zfxo|i zF$dQHcXc)AZU)^hlsVVYHJn?Q413COE0EWPatq-64V=3kz8>?+TQn!8bFL2%{~lal z`}1Uvo@~&cY{_;Rw`IG=!F3~_3w&)p=KOB(4YEzY@ILUBTt4qO;=Y4R%;xjP;e7zy zQM6fMp{=1=iCju=4xjfe+;X^+i2HB&KZ7fTdk*O(xHRPd0sc2|2jM=3dmHX{guem* zf8ZX0y9bWrS}{xYh8{)STDYPWTvpCImexW#y$ zT>_pDpFsSr{s|P$CT0i_LYV-Uf;rU)m@fkMvOmL)JDyYE<{+PI3d%zLUosfK3uWT{ zkx7s<;Qt=}KDb0YUxxp~WIit&evXUJtAgXoRAp4zAmTEEz?Q&j@lH1FuZlB1p0p8Z z6z+ors*9mf&z_ipIPB9_hejR36SGbq`r4e2Hlu6<%ASemFY&wyemcrH3qQ?``3dlj zfgAU8&=qXZuK+*&6s`kl??n6)aBtyxJ^ZiWUc+-T+$rGfIr!7zo<%#R!_9^{+&Q?L3cv$9IJX9FFVb&=djsw< zgueuTEBwXqFT=kTe(2Ru=yCGNUOR*sbUgS4#~nl1Ik=I9d|uM8AseBsQ}%Q2hE&cq z6Jhtmt%I}If?p%P5b>s|e4Y$98*bAR7;p0d`;(AKmVoDq9Jd_dFT#BRchjAK8}9Fz zH%H?A9Xwxz0}vnFbQfTR`v^`wjnB)1djie}_W@it$v(f#c1=T_MR25zIB_Br+E@g> z3LXuf34@Z*(lHOMz(7) zk0Ua;i}=Rux&5F4TY;mnwL=4t8fX$zz4#{!uP;E z47Ut!FWg(;T{~uB-2z!*aVO`_>*3rdF(+~>K=UrHEHnxx6GhDPF20N_f~(GM4ZZp+ z4!5TOef~5!=qa>l1^7+qLg*ocy+CaOOg^~J>oLEsL_OehN9Uj&fW=O5Y8?jK z{eS}wTNWPwB9b8ZzE3Z2FHI)!K9H0OQHL3$q?;+}pS{@F4<@7M6x!BIKlgP`9BD1OUTj`J_Zj0IPu?qGT5gW+w_ zAzY{8jMXUPeU$rjDD>)LtiSSKyw(2#{7JV4-@G*x`YY(SC^rxE`5<6@2J>4H+I1E1 zT!h~Nmx^#d+&c6X`1aG^qmG4`N8dubz6V^F;4Z`c07q@_g+Bys7=$&)M|j7Qt{2kB zq`8wHdtm+2{gbwJlr6U{YoB!G*RK{0p7PnGN0FA}(t(pyxYny2%nXb}eV?OlAN*;k zZw#COmx4Zlv?qdmLKh{KoAUk!j_Q06_$UHyDJ=K-t{fl}{DnK!%J9T-d5Aj-ynPFI z8ZPx5WNN3%J!LT3hPD94r^i)uWvOtJTCu)@pAHvNp`SuruN}`eIFZ7h=0aOQryYrq z_2HWFY&HQ-tS6c=zZhIX*+Xzg?N}FzT-ie8p*13wzxZ7V`SAP3AA)@BgFk*Q_moQZa59FcoF-Z&9HpfPG7sG+P81(R z1nEC0eWu=~ck&vU*H)A1Vo?;&isI||M;3Eq-&uHvWo*c>TLl!8}+ z0lM-)#nPEof+x4M*~6^c%B7smBlBueOhVxqa(ad{ztS|vR$3`*<=44dVBxipT&j}I zoYSnbZu6k_B#xp7IL(~g$XN&H;>hnH4hg2It=q;RUSRQ*9bio3kYb`ihg-%Bn2BiO`8A z8e~1R*%dtqJS8XQc*Lw~C4??-9i8UXr{Y#?BEFr%a2Y3na>o%+ z>V2jHToIyr|ksJ^80B8rL7(*GCQ`~OQ@5gM?SX7Fh_ zrDN6DshS|;zzY84#EHC=d_{bqMx5C=U00Nmk4{{CI#a(x-|X=wlF8rcI0Gl}uC&$4 z5Qxz74!tnU8&3(sH)@4xJlDL#+^lc92y8^@To@qWuFYn>H+1>>0;6L?HetLt2dfJ8 zg-NsZ%V*&WGF+-mC%V0-Dc`mAEWS!Lc~9P`%t)KZVl<>U^(m3@v<}Dgkq_g+d+^$P z1@YWnR%mB=7X1Z9ZvY9^mkaUUztdZxzAq-ia5q{x?_c^BwWKee(7#g0<@Zd|-pd&H zPCaMcW|ls@jLT&8I4TSho`8D?uy05Q9i=~q(}-!U3SFF+hxAM5*l~G+Ok;>X_k}+A zDV6jV@PnV82@Ux4EaBl@lxM3>pG=X zmz_M9%8O}6)LY*vJx}jKjq<(^TujGv#NWPEE2r)wusnNtpBqes=P0)6TsT&N^Xa~E z72o%Z`!(Sz#^YpfprtN4QAswl3K;))TM0;EZ$m)G(510Bwyf{$GwF9yq*Ncf2AF1(x^oKOk)XTzPa4W{!iC)nLR%Uy+ z%;5iF4B1Rhq^B!Zqs89Zr`W$s<06fmz#5r*IaO%!hXCt%_CEfyuupk+GT6Zki4K&x zgiR!X3U|m^mZ&D4T7f8qMl5Slcb{p9@C3cIBmyzO)TfAz5tn^oWOylL7v{IY7y6Y^ z;?9(e$o{|CG^CsM^p9+_%K8Dq66-czx0<8Fba9tQr{R-&YPYbNhg|`iN3<`LE?#oF z`GS>zlZE3Hw8ULb?vyHu^g0?DoOJ3EsN0Rf=2zLriFgK%r4vfvsKs6Oadf2F=^iEZ zM8dYk!VW88Vl15~9gKuU(}}42f3xq(qJ{)VficA}m0U9vkwkSknUALye>LzmP@^j& zh>fyGCF@l{IX>*cL@#@I<<;^k&>?%&PJ9ulSLeTfiLPxPhsmgopmp=H zed0rN@Ynvc5WU||?{nz=UV5)3(FF4zNeYp%;jB`*t4O8- zCY*qySVa%u#vN94E{#VvzwIWO%vm)+_SnI{DvDILFMtBsUq+12z7P)(8^GUkR9xQ} zabe|tt917z;xPpd6{vQ`C6LK95Qn|v3&yji6F$bqw`ZbAv{4kNfU&}uTDzaCl=*^B zApjO$Q)JsL3g{=8LfC=$ft<>Ovb_bjmFR|`8l3jMG&=1z5=T+-i>%*?O}7tFVAx?s z@OL1}+PHpg0&^#Rt)cc{3faDj*FDL`tBm5C$Z+0VA_IdULnBT+BFUE^L#!_4QdEpS zNsshN#TBj{vday|LrFQWAga>D`cZFWGu2020kk7Z(QFRhg{50^BP0^)1VB@<*)vYok4wPN zUx;RWuOm)gUv9Ia2Qy^gueOS#7rkh~x|?c}R2S`b4Q@Rw=DA1Cy6zyOSD$TFKVSp8b6x|n$51~4?de$?+R7-NGR%*Tg4nT6K z)|!TyBP6{Z3wVv{({fHL$OsF1zV=TcY0Cv%(qh@73$N1;qfebxiL%EfTNAIru3VZZ zn-fJF7|B_5bEf%5NeCHiP#J9I?Ja!4&oHTyh_?m}XH!PSUv!OCAVb%Fzo{d;#R?l5 zO`m}33-0Em-(Fy>Vg^nIlj+*A@ziA$q?-iHh16gU9vc+OpFEkc}pF{&dRf!AgCU8A&ZH7Fsb{d!Aez3Bbug&0Ur*cy21uz55 zOfeCZlgyE@&myujCz&p=59u&1N`oTNQHhk35@D&=sZRo_dO)h$5KKmKl5*!SudExA zI|Ydg=fpL3QQ@7BOfRq|H!_7>p0 z04Mc?Gt0Eb#Rm>j=k=L!ejjS0Of#I7utb_Sp%@~(^sh*%yYQX55X=S|#QBY57ZfaYAdqw}0>N#MBw1E#V zUAu;gG&(&gPzzF#wIhI+Of0d9Sc{G1hqai{`B?`;#;!FJ?HgOHY=H zQ-vBryay1LQWMd0o9Si_Wl5pv%yP|aIl&+Z?gj+g%ONAR3q+2S&m$N|a2u_vrq_F~ zQvpMR3XxrDT2qime3%|0b1f(-2^vN;?L8FCgnhgOcd{1<(>ITi(`CZkaYeWxB+DE9lgjL(+ypRBg@75W!e6TIjwy*kE7e-hNW!_bc4+J3#iv41_$-lxuOPXpS+ZShk&d`!ZGkFfTkk1hqO z1tZwF+dS|qO-B`pkrhYy@HT`gQpRul*F|lLDqf(!V0~G8eVSOim1#=ZBe-!}gU|JC zt7Un=wm#Os?0?(VivH;Ur!Y7&?_A$dSh8iZ0GNrXAllZuuPfvFw%&Dpnj5$EI$EuG zI@(N(=f(Y6d29btqpf7T0eT71E!xvW62)We;mN+mE$UaCe0_0J-vOHJ2G^#(r%tyV z#$?X=F{ytx!eMkxAL;9a>(j*W9O02((xu!0X3JxJU~YP(AI#^@_G1Wy0>F$Jy)Ud4 zS0b<;>z^F3;uiC;LNEgBq3hGcXg3CHY@HKDZqtK(0JW6&1N7tmrA7h00UwvXIGem5 z>IwRw9;R{ou=6=ekxDNpx1MHSuwsc8+dn0pc5W%O+O*=~Av)%V2Nz5s9H0Xuory<3`hww7AQ6`NH>e;36zkzG9adbn8;o|aom9DJgV250F&>Atf$rO_tN zVofYPn^T1*&QhA_G!L|ux_KSe%Taxrvy{VTE$z&jRn!FgS!wE7XR(eD9!{vJm^QUZ zlhJlveGOI^gnyjz1Qmg!e50&}!`sc9Oo-F7IJTgqea@I}n+Z|jm40}iKpJ~CbsE!G z4kMVEEH@W8&(urSvpM=)w=!VDdu5W0FluF(c89Zej!?RCc(^NvDqYDkvi^G%`h=-f z_bgIy6_Ile&}PlRvzYO*C=eG~2T!ssqN%LlPSBPVf40684Rq+v60`E^SVjC$riAK1IE!pv@QywQ>KGV0`Px8|FGd7v6tDv&sq%(MPoIcaBh!uH~>{?3S zo^hJ=wnZSG(P@PK<7bE(kDkeqZHq={Nj+!KfkC8EOI>F`dsyDv7MA&{N2RVx;IqRBz_#Z#B5FSfxi0B03Ir&@9j8%4%KXoRGS*?fCu$??19V;cY zhxW_$oK8dSVEbY4lWVTZe!8cb@p=qQYPbIkW-07MV=J_8DagZCTutM^_13v7#>4AJ ziza25h1ZTU8qXy|L!#$)@i0=oynmx3rzDirjK3)JO}Xf<()AIgXt{yT0btiRP5RXt zI+=hfa?DP(is+z;6omc2;tSHz#mP;94Ssi9ADx}gtQ zF2lUFJ{7CtD$r>u5f!o#zEXi>dX_!$vfm|p5}bPIGZLa@K!qW<8De=0DKA?e<(QXe zx%H`}ejro?=Kw_DoW><<8J9o#hW&OMVO)`$`=rgeVcNT5X^Ac{Mm6^=iprx{w&}5Q zW0JhewrJggoJBWTg$Idaf;hb+2vkr8eh7Yq@sD_==_FqW&%w4LaElwgB76P;ZWq>v zoB3DN&uOOXCML+%q(|e+J;q1l$~{Ss8p=H>#hz5RM|679Wsgm%oZ$}iAhJaS!l7ZZ zVG)W!LY3UFRMPZyxRUX^xld3BZBV?Tc}{!3;I^hXtwUw&uojQ8(UY{wlTzbJE%%7U zo^-dz=Jbrgrq7SngftihcBt+C$Lh2W$L*xW*cR7Bm6jBilh1-xv0xQTdX5G2v0$F1 z{#7v#YjTki&?eTJUE$X3SNb|1eS(W@`|N44zL!2c-R7@n`2OQ*^a1170i=aqVU41b z5arS&+Zr5h%5aiuu!N%*aM-gG`A@SF!;@#5iA|kJvKcxt$K~A2}0S8KjV;iGz=*9_?q5 zq*#q4Jio4-fY3YDe4*a`LE*Fkiqz1Q234(E8Ec0b{>Q4_RVGpjVW>}$ttJdbWzUao z4;3V<5O&Sx9;Q7opf`X8*@Fe(K$@R*0#^G2Z-CnZ!mWoD0^x-1Pl^jmilMBWQqnky zh4ac@U3gE8>9C`kUD7WQP^!xEsTe&#`s#e>#AKQDrS0F+P?q&Br&Z%jligO0J6(2b zaE?(Vy(>%$H_c~#6*(u6T$2NIA4ZQUMUF<1vR}5Yme34vh^9xi8>&!Vj>kDz{gs;3 zpD3i_kx=_*pflZPl#x&#X-7sIU;9D0wC#<2K`Tf4<#;qXe1u?1NzE-cY9lB(sZSeI zZ%|L6|f-&CrHJlv0FA9ur9^#^;DlGERJLmq$RK zOWwUO(oI;yHfP0j6^#Gd{`Z+6t6J)s*X@I{`ZvDt&vyS19 z596=m;2@ogpf5Q+=tf`-mCZxLpxYN>D7&@NQ{QjGcF91HpPFu!<-NZqgP_+=^g0L8 zJR?oZt)T)NtAkfI9q!AbT}T!ebcJeV7S{+N05pA9EY311q#L1h)xOh_!Yb?`Italq zUMbJH9%g9G2u_W3_xJC$h2f0I)ITLi>8uXMNgVzl&SR5K$8^yeJc7I89qP`$r!j9R zXEQlS%K4rY;F!zlN*u_1H()Kdd{0sl)2(70TL-5wDTF-^fUHEE9L?vFPhY`5F{yUw z?V*VUr%JM}PLtBUPX?+M>o`3m$Jn{6e|KIttgnSAZ?<(py0w{e8*OGG%jw3n z&m_Q`sUA`IO5y1h?Wl*zS?o**$yxv#>(glZTMEsoKZGZMJuETcVEXjF^RLH-X-s!?#g(E<6FY;r4m;dz#=e<})}Qs( zLPkW86O*y}7G=>`vA;LGrX;zO`tBx~(1a}-E2acDuZlp+N1#;!SNw16VhfTl=8PeFWiy7MG6 z9t=+RL}>^f1gHCUwnvi>TuR1M(->3mo+VR{OwOH)aMU5ivnX1Jd=rhMzU;fVhBM-& zkbx^}63N$9mdBA!ML&mEWX(}r>H_pQcJ|Sa%47LcmR5luwZ$ySBDcY6mc_xtgACw z8j>|eGi2z&+eyleEwhus>G<0FXkLKaeGBD+ecO@BtGz^qkY%JoZebJyT`Jbeacu3` zRM!vX>oDmmabS3j{i2|!Bn<Ey6pDXtn!S~*&>NaMZ>Gf^{5T-h|i+bcmM15`b-Zk<#2ILfJ%`PzAO*q}XM z)&2<15F!zJZwienQ|${__YO`yZC(ANtQ;RL4ExSHcnl3QKUe`KWEV~RY~HZU$6gtG zy+t|4_gF9Be@bP`c4O_WhQ5Egdd^JcXc4B1NJth7QMq~8D`IJ;rLhp+jrDdomy$+J zGmXa0Ya=s_E;7?VHB0m2MBbLo=4ef9?$t!*Xl*P^8=0eZu`nH*qxG>lT2F8r7zEH5 zVKxpw#$i4VKgPQ;sS}7!cY-aO2EPD71&7P+1nGa8o&l*DY{LxZ(Mf4(`WPIiJYfoW zqS;#U5=};I&R!=2uNYZaKr{ZdFjV^@4MF}t*O9yc>=0?#)P#x1MJjsS;Z{%!x??XD zFLJsiAT7`X6Gz&g#+k1lDU^?=l>p=lQZ;2RqUlK_>0uFfty~eCA1e zAV<1{R07jd8Pd%`8)<2)f(+ues@&-VAa>rb$zS|!^i*|5KhBZdi4SIUhuOKc0Xfzy zSu^H;n?FCA8dqFx0NegY4R8;!>m*MNVd)CZg`X>BS42}+%-68gJTzHhprFtzc$u)J zzuNd??IAUII9tU%q1yTwj_ZCD$81HS;Gt<&sP-vT$P)870yb8^jQq4kUc0; zAH+|4Y{ptQHrhH^ap=d_<)Pq5t7wH%&cI_dbBoQK(3vlT)jel?eCzgr>6L9&0ebv2G>y4tLRadZNm`6O36od{Ot zln0_bd_2YqROo1otRIuPm*|L2E#~a~4|MdN=>}bP@tX)aSY~N(c%<|nxWz4k`=!Fi8<+?-)!0+4z9Rc11UoK;+st|%2M>M`zbvgb?JL92{5t&Ij-NVwvJ>G zJ9Wf0AMXKsVC*zG(|T7K7K*rj^EF**_%YhdG3Rtyx7|))V;tWq>u=3GLio><^?5l* zuEW2$kk$t=KHrqsTfp`>82rKXe(=*Wv(KEBuc9-IBivOZi>pS-p81mRn@p%5MnJF` zGZV)i+fOl#(eiI18Y4ePvXFj0XexMMU_Tn=C(s9S1a)4CI~Qs2dD}E>B=JqqlN`ca ziOsJkze(=QM){f9h|kG}4$?ku9Q3(`*=~)-<< z1|I@oxl~#&+dKz5VwIvD(gYb4cDrJ4ICBv`n7b|fyi};k#K)EL zUhG=z;v20ay_po#{u;8?Hd6c7z^#XSn@&YpX=#AL1&GEu_u7@^ujOWqZErHE!G;}d ziNRumvOEe)6Lcd+&bAj|q=u_rkM!5A#^h47(566?Zr>xaQ&c0p8V1vEIIjIEfFxIe zCCgR#B2}&$LVwBhM~aOqIyqhiwj);!qrc%!bB2`g4HkNGX$FD*6Q};Ci|NBQh@UbA zdwweKowi&S>c>Fo;5|roPZ5AGby9^fbOEaOi)fH2Ol$Fr6tE}E5PAlFc;vc5@ z@V`7O!Zex^G-KRKE2c&8`WaL$pG1E${iV@gI{jIk`Uwh*SmpZXvyvx7!hpRALZj@-XTwJn$6--`f44qwG0871 zaUR7@lsyIH-!6MRsj`BX2@$ZK3nP=hD-G{`riR*a-jXP(9dc&)jDk&%)g;reYEE4>rrZEFfUp^z2R+n~s@{+QMSG7~9c(pnu)p3E)Htja01 zRY6k;k#`NIDHM~|iE*aKoL-piSa6aQR2?4LaI#WWu`3j?X8Y_0Ur4>}z3jmEgGY6uLjyT$z3CnJ;;e1)#y z>)&p(vg2HGa-B><2YsUAok>_^AEA+6FQS@X2We2z0xcH)2Re6s47iHF_u`Tunm+%d zOi62cYn*~1=gC~`kKhEohcFb`kh!JMs)#u^MS*TwML>u9YU=uEZ#5mmtP<`m0Nr%x z`tFKhJ)7axG34aY^}u;H;k@avdINMs|7by{L2g(N8Db4&2EBrJ zvD9)x-cKJ@ zC;gtKcT4M(&@nJxDoSg^foo3WO{Nl7NiR@{Z518fc!9u_R6XeHZint^nz8%&t%Q0DaTd#*{kGZMuM3n;1}62(iC89HRy@1+PALx(Kg&O)8i z6o#Y;EYvCGuuvSS$|ksOWue$91L;7HbvRCtMu!oPm{tuu!4`rvh6>0Z{qMM9H|`i$SaWc^QYsr$q-X3s9>t}JvR@9r1GEdrg(U=Jv2^x0 z5kt99Ln*$e7iYPy(a(7=k_lDmn`jw}I|*OMqGc%k7Uls`S1jFrO851@N%v(mozlO5 zzb0J(P(p;7)eKL6)@pI40NZMr&Nt4koGFvO$H&P-3D&z%A&*CA7Z~oH}~A|BzE9 z?K}?L^a;x_X{A3MXS~Pm6m8kEiC7wh4OYr*{b&pHHiTVXdL`1_1&D-%CM0nt7ndF& zWWN+?`hwa!xQeZ;Ian`U}4y=Xv1N`IN2QM3}Abq^){!N_L?Y5_!7!# zj>C6Q01$dU*cngDtdh;~9HVc&F+t9$0?zVh9GBZ%IEghn{VticFZ#^`@rGF-2I=nO znO4a|bvp{F+S~<9ve4lSqMoBp1iqA^h}}9af6DQ`w_HGI2KS1j#D{r(Qs(wcDYqp> zl18=$}i>4W09ebCVlEWu~3X4>_{mXMyWG~pXS?o%i3 z)ENjW0Kw;9I7V~h6iIuWnIFgn-54CFk6}xk!j&;VLA}SQQ%*)Alt~lCBzGF5o?~I= z0`-caFI^l8N969O%WbHbgRHtN>EyBSe9RyxnPD=4<2b^q*&ha~^H?9CK0)2liJa)$ z;P{fI-W!QffQr&dgqPBpXsP2ESP1@bV2=6$)+wnU&*^JsXQvE+2GE?a3YeUi(7R#>NvkKrrAOk)Wgk42lIvm(DVD?&pi zxsi!XGa|HOqB?)V>MVxzNGS6h{6*;Lr+w*ZdX%0jO;7y$t{e$aBfMMb?kKH^GEQqRgsi4)jbzB6)c6eS zRap9y3>ybwl607&P1n($Obpw7X$XyWaMxC>AP9sJs}_f`5;A1yKoTl(jH++XM(d=a z&K-@=J;M{t*_li6EoZ4ox^xsQY^l@4WAE04W9|5ASwrto{@|10K~A#?4_JzUH`QXj zOsT-p=*SXrE9^=4K>)ZKj+V1Bbhf2AN|E4^9;DmueuUQgs`g~?K{VCIXO?0kH^(y? zH%vj#MJMD+#hiSE4VMc&qsidA5@tV#u$%ga<@^d^xAh6bD-M{_(RQ#+oi*!a^h9#8 zCQ=pVE*({sxdZ>SeP&f?eADWY|@{E061oU7%6F-93-6%N5`{UeJ`8%PGatFMMr} z3NW!0mX4+~*42!4AOzS{LNK4x6l3Oq%Sal07$9a=*{nHLfD{Z6v2vRRg|p8F;;dP( z0+?hIHYzc$%yCo`(7Fia=a?xg2AgraoJcrT>SV#R(T#8?!f&E*)Eo&%RYVcFJe#E< zV|!^0IpHWFss>7uY*7kEIH3`5OaX*x0gvfeDV@dIQ!d3AfLzJficBp#1-NDh`LNv| zlP4Twj!wYA4cV+!KAf!hYY1nBFl-#7j?zS$CEbF2s8*S{M$)LsPhnA0B-_#OG)JoP zn~u`*3@Ncz9etD*rpmMRXfEBYH}Mo3XC!OWLZzSx_muSkBY}Y-@khfmayc!3W1=Q_ zXQR<^`ABS0yqtuq93C=%nsJltINLAEkwBP&>}ohFq(Z%lOD?8db)4vz1_{77M4XLH zaCG;J2^$V16;AxV7Kkw>2rsgUx2{eny^SBoS>v(70@AT1GgvK*go1({5^r)}ZO3I- zj!#jXg1kdVt`!$BPaQl00?XeUPBcaO;z$^cjOSp-Rhp z*!hWdgH3uO(vJPHb}T+CrrT-V_INnbSw6t=i+(jRFc`_Kb33Z~MJa2^s5<35#?2oU z#Imu6vpY}_bJD#>P=>7>s4Qhq#WZ4#nbsVuRCokW>)g_eBaS;L4hz%iN0_Kx(b zO6Dxb_@+d6;WWj-t2XOD%2kr{h@(g;Ly5x?G|K?WFZ(fLVG!|BCdJ!Knb|qnf}0>} zRFY!vr6T^SBpq>D)vS0NBtSMpINR_ek=6E4Dj=tPF%%d^DVfz)t`tFfSl!heE4#vO zQ;RfEN%_cWN|~Uftk@Qk3`#hXVKiu!a3CU?HBsi8c7^aZilNKYv_B+W?V%c>f}p`5 zU81+#V#XPvC%`#Dbc|!j5#+abiTnNBC%kZC%)F*HmBKuuX(ZtYq+tlr6_F^qr%j4G z0yzmbViGndc=bo1Fd!XjKBe<&!msr1P#@W)ELu|d9-M%y8##*i_V#Qr?0d2? zjk91ABcNisJfy!&rYzOo%VZaHIxk)5!F7165O9G4kjTe-Qoggv5gXi%e!=@aOB*kI zxas(eiTLEmo=W~jA zAAxuJAHc^ik8H+=1m6FpwArh^Rdhc2oVTNg8DLyhh{h1U+@dhJGRa+O(qreOol>{F z&IzNvAJF5BT|Mh>%}7|CF?f>Wy&geRlg6#c6}Q_4dv{UvuK3+=_XOVV@xDuMuGdBH z&Ts+X-QI2VoILDuQ;})~bg=3ITo%oA^U~HHA>PJ&-=YMS!?cbkdvJ1OGf%eb@&J>`W_q0%-?&@!zCn-l(8M0zaQU}2 z?q1vTx3xX~*J`{03j8Eqn2uQmX?`C`{0co_1br9szDSQsS*s(_tLPz6*Ry+R4~qL+ zEi3DJ3j8D<7@kgLEsrE#raTzEK6==tYV`Ya9{1MLi}hu`U>{vf_zb;mR(Y3@??0}t z@%yXaX{_E@^NIQ^-n&Q%9USQ^LgLR^*l4lQukt=b&oyo5w&#qH+rATEsz_{DvI6Ex z_pkc+-1b~U}BQTo)tdIRmV5Ii+hS!I(vlUUPn*uK4z0vJfRlHY8w4R zoAOm{{-K*;K*5_pIP;G0$)ig<8w{!I{A;OzwFcy+GUNP8fpJ%{BR1!RH$;{ur7=CJ zbQ>F0uT;xx#B&|@<`X^8PTIVP2*B{r)i5uO6}P_tVb9@yXCMh zi(24cqMVN8p3VFx>ivF|kl?*QA@rdRK8NJJXXy>TF`WK;dS~Ny%L(HQ#d(A%>Hd)uf$jP^6Zz?q=;eR}iu(tja8F@F2FA>N(g z1jmDclfkdl-tF`bW7$glJnvR|&+iKEiVp;XpJ=>)q<0^`J?E$1KPXuPhl2a}V2j+_ z9Elp|eLWoYPed89pYIJs;!?b?gyTLBcJ3+Kzo!g2*HTdGa2j9qRLE~1m*rhekNF=^ z%^wH9QX$!IDFjo>cIOZ;%&=0!0w17;`H1t;yJa_5@uDjDma1Y5SMjAv`g5?EufNwe zZ=b2@=Z2=2L-qeu7}KYlMennep`t(^*dFx0!=6j@6;t)nwxDBMu;kt!ol+y-STjCcj~+S21IN zE(EL|(r~p$LyqTzD96o8t5I`GnT`GjQEW9EN=ileUNc&qJreF+NmUhm73RrfreP*k zd5?4>u!vbC&aVp|sz{vo3`qUGJ(!Q0HVc*aYAc8E006SfCSl*ND(7kO0;W#Ue-J94 z9O7L@rIrp8%BEDK(U}?+4?~e)-mEPyW`eHdtpo&AQ`+$V)AXDik4dQM4Z-_JF#nNY z^+u!jO!thR<3V)YS?#%%FR*a=4+UpD6jWYoB`&`zSiP)u={UZ2B$r1`t^hPuB}|!`C}^hU=g$s0^F{Yu-ndmn zvyumEU=PwU6WxQ>kfr1POg@WU1BVHJ;53SS8{+*22$cpndKcaQ6uc73&p}gg$D-A2XjbpiRlOWH;#6arYL_1unLSngMGgI!#0pvY&eEacmVbLVFd$w+Zz*nToRt8!0gASGzIT>&U#$9)+c zWtF}jDIu7jKtylj1M%b+YHB$y5bAEajSxPO3;fU>oIoZr@pz@%GJzv2)Y9ed{L9@+ zu1n+>YIJ01HE^L@_dWTSx@*tEmo9b(E>b+WL&bP1Fo*M=qX3`b$V1w|nQqIiT;Ozf z!7+y4!1vwuW9ncQr++{j_^!Jmi!W-F1_(0(yYWX-Hc+do(OWs)dxg!QSR>A-*mRfg7@Ve2FXH=ssji9KF^S zmzkE4B4#|1IpS31Lk6T&>!_bApZLUEM(y07t|eFQAP%X$m9*j^W9i|PmrNu0E4&B6fs%cc_^Oq-?3zP z)?IStl5dmKx!}(QG!kR&eqIjn=hMbZHL&jsym=3Gp}3V#b#GY$o3KKHuHPN@lEGKjeG2V|3b?-ssY8}x&0EVCVuH1)xGsey%r!4Kqz1ohIuTN^pFAusaG|T|c&Jg^NY}jY-JIE?PH-(Hi<&^p4 z!RG^CbTxIMLayRyDDd|#*n?=4`HId^;Il4EXGr&H$nkj>)~yF9&;9Ww!?cPubOg<& zAn$nke>9#}zvJjJ@Nw7f(OrKV-R0lj=zpWe>!3g^-zM(TBG1kA2LH~me-rtzOh3Cg zc@}0L{UI&k4v69q-TS26=rWn1CQ$y_=jdsjxgZ*hsSQ;;vx{s;8yd{L~{D->=HT#kf1=)rO z_DU#uf~GNDzf0wPfb#qJ23XFm;~NrvCitcX$tSPy{jyGOaQK`Ea5m)o-0)l`rmDRd&eLW(?8uMlAQiKg2`Jz z6>nG&ZjLO)ng&1ExufJ>wH1GJZr4B3L>(MZErdXl9hO6X3^dGt+Nt~X0#fIaNc>H z#k-9@!}grP-bV-|EUM(LKw1|f@Fo~OF;q3ov96n!KeX!;txq%EP;yl3G2ORyWY=cl zqopwJ(y_GUvT^v7wteXZmqNgysl)y9j!~YZtiT3-##I$Zqb)jUOUxrpz3H6)$)H^dpZw&1%JnY z-G@7Ost#zd5bNqZbUEK^rF6bU!+j7+Iy|-SglekvtE#kZRfaFCnhu8!RCO$EDD^EW zfKBU>(0(kberS6uTjNYw{?13I$w$3;%i0b;f0@m zka%Sb_Ifa9i7bQk$4-!vjc?m`(PmoyTBch1L#OYLeWy@Q_h@;W z8CLc-ybXd&SiH}3TgtqLZEH5iJ-mMQ`qGydG^|-6w~FZ!K{wmf%-=T4zscA-%ea9r zE?2E@>N^?^P{GUhFMW6XQTfQmVCf%kc6@L+N4-h?<=fu96nEh5UGX_1b}#G9Rb3o# z)O3Ik_<#qB@%jjg;qQ(ep!+(sBYyTU-{^-X2yt~)4=>v3xu^8r6F;aQ)jpT7c4@;> zPi|bQRv23Kr`BQ84Bdt4!eHovst+Mb19iiD(b^JZ@>_rco?s3+69xer4C+|Gf__48IcZl0- zGk*Gu*5?K^EL|QNzIN@>0xZ6e{~H045o8AG{!U0sWdyV1K4Nr*YVZB@_P2XFg_Mo~ z4I^4VZrwXUB^X>+YgYWO)wQp&dTp!gSdG0t@zj|QPhAvUb&dAlCmx#oq1~7G@~hR) zh>p8DTlah@Bwfhm-G1((Fm}wpv9N$>+*tZkMKP z?j4(TmcQr(L*+0Ym!A)xB@C_JAvS*8TeNeDzhU)?`;1Fpe7NilvFT&o`k8T?b-@nZ zng_J|?j;p-#;}VpF(mpmC6{}Jj_Mj?Wpjcu2YY8xrwTrVmE` z!}{)Dr^hv9)?z_dmkyOUgn5z~htYP~#(?(-wNvSXXjoSyY&SP`rTaDRp1`lSx@HcMIn{rj*5> zr-H+$EdD_FmB*C0_^o392#+bQ_|4GI-NM_h(j{A81wIYl?F8$F8OfJTfwvDYzT(|a z2vw990_NS#s;T)4{Jq{q6rB6`q9r=v$owT@-Q$nHepr~+pfA}Fm!ahgrgFjyQ|A^w z?rl2U7~uS`8|%DJ#Wl_qcI0o?TfRUS9-J`WKjqXrs{A#Fn^mrj#w{Dg4XWv?Hc8VW z=@sA zJ^aFB8Cvc9$M0D5;`<5+o8!LHu9`cb=`W#%za?+H?2D_OaR-3cHWBcTKYqAmUczR* zw?14+4f$9l>4G6&K9$!ns(I+XjbYM%iDGxeuXtCrWryQ!(+kb_Vt6!U7Q7YWs7OnD z=qcc%X#SK_YgB=mho4aS7a3P95`T>ksuW;w$03^hVJLanX`jCRU}*T1=6efvg*afk zc6SK(R|i+>+>*{Sns46~YMiUPU*G<22$v(T&;dE4`Pv;JWxX-g+kPRmw2RkeL2K*1 zpTJ6f@=R(y^ucO+@vVG#Lfx>3l6--O@2wjxmM!#cJ@wy-<-@qTJHLu={G-ZWX`Ejv zE)aW{Lz?ior6}++{Ec5tIkzNkFpbX>}7T*T?4n zK6iMq{k>lQ*NYePx%ZxX&bjxV`*iNP=dM^2UbEVJt>(=Rq0*FkoGulyIO4*XR;^ql z8mA_wg-*?Gc743k1I_41VriT5IlGTQvh;r1V5KFk2;QAl7S~3rdgF3I`<~FC_d2Qq z7tj^#S~&^*50ud-HIx~}vA!s?DL&6pxXZCtQEWt97b=7bx9D1hDeM z{yAv_`gW!uOp8_}}!U)8lRpMi+wsaEo);QU-T9x7dl7}x)MEg&5TprRjz&W6d zd~R6jNw*a_qX-&S8r)BxxJ%7-y zRTV8`-%&n`DEVV&=$W@We@EV?G7-WY{hbVXJtZ%z?U7bZ#Z-dvEL{pUQr-^bP?b-~ ziJ^VvdA3J#zY+Z7^DL|q#}M8{o|xkYMmg!EU)wp^p;jEZQH003Nf{ zgERav)-(_K6_)m*H}d^BYb0DyB9H7F$}k8cRYMNjkhAIzymmqZg@^5}A;;T8t#bCZ z8?UNbUfeL8AO=JM;m#pK7_>+%7~Rj~s-Ty>LCv1vWh*NZC8Ie(9cV1V6OS}jUnVt5 z#EzjhGG;J}5w8zPe&L3CNv@08IZy6}3A`3k2j`D7E;Gwem<6iTtI3yfW7UiN_LjDjvad>A?nft(BsZ$uTR2`(v0UOBzc178E2@Z1 zLq<8q`ll}ym2+!k4x{u`fb5$}aP5cex-`hTKiZ>hFzerap0xYd`R20clf#Uxa# zjOi?mvo6x!U&R(vpz*xx#>0}|*HN<9R4;9PX-m?G%e4G_+OqSD#AUvi6^lQ!{c6bZ z@KCFYCGyNF7EiybPh42APCn|1{e-*yO%Dy3ZSrKrCqJ5P;wSc{kZ(zyx-CC1Z__Pf z__q9uJ;?^7TvW{UVv&TxY?JMYTb8oa*C2W?TP_9Zp2|;8xvL5e3;AS?bg_{Rf6>O- zk}#|!k=)_dv*`6hcALCMym-l}8*=D}Z2F;&OhI==cfqPG3WBi{0In&K(XNJDE}2JT>2?PF`~scJg#2yjgAvRFYidbZcaUu5w!K4 zdL|7?)6pK1XN{r0N^SET!s6MGBMYkYg3HZqOi3-`P!2hjLj#)I;w3K}iGN9PL=@%F z3qxpifv{DJ7^i=xG<-?Y9CquD?;G?@@`^kW*Uy{&bKZIFyyNtqcNn~FSA_umGBj;@+=W#0hC57Rn0Oy@)U!2GBp_2WZkXFjsCHkGG(Z>DE z&J0@A+NCnqJ(~OT^R^3=`wWFG%Cw>LSaX&^S(jQ)2dd?yr6@H{&;7_9F3p*qz28-U z{S^9#zURE;Ps4s1W!~$HokLrz?&u`iN1vc5efxPS<*3LO@$}O3`cvnR%Bp1ssLfi4 zrO`U7wQ|j{+}+kV`)E90(ukbpYWD45$?@~0IRdj23U=&#l^RW`!E1b@dD$Nbky{?U zqOQ)md-?2;H{`UIwJU^xh3sQWrgILgXT;nq)vJi z30!;Q=Xt7(0wMb?l~fz5$-Od4i||iNsYS>5HUy323X*JPN6zA{PLT?@o4t1xuDenm_DSAoimi#N1~ zZXBBG$U9%9s0^@pb?sB`F2jjQVJyKlH#axF`H5_sS(+9SBZC=r6K)TsLSsQPLV2T+rQ#x|F*Bd1=P zu_i|BunP6d>)V#pe>F{+@zZr}G-Yoj+?s4VayZJJ&vgHJ&>!Mb7KKl~^J0a7)LOKRH;M#h($inc+oN23u;=O5C7l_y4z(< zA=zPfQRaD?XS|@h(*3EvU2|RvESxWsq|}}D_2uF3e$FDRVKlqq1%$NoMz@}EI7^wrk~ov#fz zej2o0MNqh4y<3{ZesUK}z_}7G#AW(KTp5%^OQPKwZ_e~(-wzrxp}n7C$edac1lO>` zkBfoJv)`3Ta{`wK{YfST;AbnG#?EblhIQEhiZs^`gP7T*o9h>wR-~7vVBD{knbTCU znUSWj>>tERpH}gxSn*qVWahLOAG`CZ$V}~UxnK#4=o+lGuBws)N2NT_D<%c=+EKB= z>TP$1vjjrzXdBd@8nip-hB}7-LW2a&<0(P=MJZ)?H!jg(^f3t)gG&8pgSiJPMYBv; zt?_ATk{%3<%YIvipOoRZ&_`R0mdO5Vtey(qAgcF#B2B7;s-$%i`-Gw@MRtUKpUqr&P=slkJF|gBL`xQr;oT8braO zk-UgCIcmu0KP0;4HKKSB6TnWwT+`sAYpI9AEv%(d-UhwfB=$PRb2`jCSgB@3<6&tz z4p^9F&{i;5s}@StGP7E&O%X~{WabocboeD+S>9l&RfZ9|;uc97FBf}xFjO6E@V^?V z4EBY(SO|_>usY#t#dVkM#lc1of|C4$uDbLa2W@{CEENSaJhzBqX^LP@kr`4%2yG)B zw+h++aTV~&3fv970b4Vu&l4?uGbf0RUyaFgmn-{y4aVK#6#T-XAP7h5 zO9dQc20e653WLu$cVCynaHd0@kNAIT5RGG02N>`Zs@6X?XcV>Su=!90N6sb~MB9z@ z-(VD=U?|K|!acWcUwF`0F0S*XBqOx{E=f%e11j??zI54Q2U~n?4-HlfyRgs$9VR#) z9F+Flw6VSYsBuT^pmYnJ;av)_2L^B2iZbzoK&$4a1FQSDDFFZx6lZPL9hK1lT1K&U zryrZ+2Ca4aVUpiTvAhjS<$~EdQ)k_js{65U`Xmg}4OX4>>+BgfQ4o09qUnjs+^Uki z$oB9>%9(qm_+8j1$%p-gfT)BsV#-Hr=3kzt7&{-6#ITRnM3TfgCl6N3VdJ3ncLhWl zIz-iVt~c{U1FDOcNh#Sws8h2+&~9-tB{h?Fn}EFq3zd2AOH`@jCQ|>b8uR*nnc>RAyf3MOnqw5Bryb~OiDT!B~U#|agfKEIkm&yaL zpa#CCj*qr6T^!KGt&~LU6z43AK4=Kb&Qjsf5L;U;03yB~&<_v9$P?rO>|7G?E@1+; zcmYxR^8+~RgHi|j7F@i;x&cRypSdo_`IveJ()tFhFG2CNDa$IX&~4gWdkSL>4wq!? zeyTgO(|euKfJdDrUEcg{47&`dRn1R{1QDiZa|s5?0jmv9$rdkcBvGLHuZR%X@qtpS zXvf0l(*bLxY5hJQdrsg5Sawa4e)D4S%(~=xlWMGgvfjJ1=8);Iy>zK&U-^z5KYCT! zmwK6-_{4#6tpT1y@X#t#5S{)GN9{nh{5R>5owA26vPqnF;?IT;_8AhnuqW6RA@iT} zGAGz%g&!)-@88Zd=b7Fe$jk95o%-NBc|iFq5DRFoUVPOnVDGNzxY~5#70nz&OIfbj z@Fd=*a2cMIZM3>_uSrV`Q@z$iPFi884~h1`rYdZfIbBHj)X!^4#{EAhed!YH=|U2n zmkSAYb;yTe!5n-*cO}A#$gvGfN}mkBs4=}dFxPBI^eX*yOXM-#@4M$3(?96RvOb0L zk_M|6p3*f;)fD-Z%Yrs(aHMWeoMiDaB>Ka_q@*z<1{mjWOq^^^yemD?J1fyAJ<&HS zaf&^0sy%Vq#zd_-@$U3QzpTXRWwO1#2IE3qHWwbj=T8zjYRp6OO))^yF9Nc{H-Ip`Iz zu=E5K`7b|93opOnlTzMRj+6OXKTVCHK6v5mreq-d3~$C+U3D=ScN6SFe9OwPBWSPp z&Y``McB6t!i353dpM=@Mqj93@O;_3@1BR8#^p%4C%(=A0fzVmYrsxv~(o6&K$)*OI zkiPPdi&j=eok$FQzV?_7OR}UQuDfK>1EsU5g$m1K*!}pH6_($}=Hug!h2_B|Q3IA) zP*Rlq^W3g7KX%_h+4F_v-c5;>Q9zRID_B;x#2D-le4`@7Pm__Q&>IH|Bjbw{F;D7) z2cjb{gv0PY$|U*4%_kM9#a1f!#15~pXp&*JEU!psPV|I#=Fq7zQ-L7r!(pXR@Gok6 zI2uu4^rJpLZ9tN8uLpWnOEgjJQ!w8F*i;`T^_umtj{Sq`V{AP38nCF1$?iExJphl* z7=3X@a}>9$v9sa*M=u+Q5rgF`Oe@bxa;(PwO8KAB*bPu&9aUQ2$-~r@d83~K;qT?K zYt$8P#j!v1M|OG_?(CMPV9a=x^7Q9NeBW=%>94~i+NubuQqaeMqE%I4SLFT>i&0PF zh9D@zhA;cmzV0`N2&w7bnP2oj?ROU@C+G716$f?I%4Hs~4Zyt|a%2(q9=rFB^5C$L zt)npC+rd^Ot1xOd+d?spv;78Z_DE;H^GtuJY(Rs(qd!~1`>hS6FX#Kj#hAswJ?hk@ z=J;guiX3z5QWGR$MUE-Xke)CjAz@}#0vydGk*Nx;b1Yev>6e>)q#4^J!0#3+C~Z5aqc~nD3XH4 z2u;D|TA#2ZwI_A%QF5N<;yM<|v+n4Rw7xS^+V9-iKcI<~aSfG>-9>r15e^h~vUIGR zoZjh~ifonqam~~IL2MS!%RqMTNPfTb)roS-I8`MX+f|wzdHsT>FW!2CZKvq8SNc;m zH&TOc=)A+yUhc1);`n2~Q1V^5GHq*r>a-i)LRi|Cej)F>B4ygvcl;e(eEjYio(*x zrYHIVVNqOcz?XD){3G>miSfJgcf@aM`O&nnKYmI5<6`Qg`SGcnv=u^GT4A~9u~yVS z+`nd)SP%)dDio?@b$^Oj$-)}WS5|5h!dA~yuc?}$Kiroi>gV_G31**AIy4ng{kEun zc9=qvs!UdHl00AY)D`CM^4n@LMOSXBQ<%MEh5%V!g?^jC>x!Xa=H>eitlOsx((g4a z$*W(u;>6BNo&%mqo(H<`6w!fhFhJ?3cwRznIbraoiHJ74E@*5fwBJkP}opL2||y|qHhaI46_swhB6H zQ|Z@Q>CH}ZR-mfiS6QX9cq~V5US8Hp39NG?gmWL@}EWd)b49^&jil zaSrgwx!jv!mP&PzjD6aR^pb<;j(UWx1^7`)&;00|G%0K~YBN?9ao}9*q%f-4Me+#8 zxufpyW%7s*&V@x`J9CioN9-qrvnnCmtcD^iSUpv$NhaC*6b6qB!!CT1O?6hBgA4SV zSlR_;sW4+`sA1WzbJ9cG%+M&2Lg#Os$zMe6=24~RMvBi7nC&m;Vr5~jz}E-l4e!zT z!$blI_MbA|6C}dBK#}x?OMpe+6!L$ zfzkL{-b6;c;do7F3D5g8)Iq!*Z3p`t2m7G)|CreK_-+nsBV_u_bB^Dh3-uZK%{hbh zAI@jajZaeh3C=*1lpwIHebn$qi&)C{xpX^2hn5Rf<7fv)G3XbzxBDD#6aK%A;jiQP z7oBq?5&mT0|JeD+1b#jsj^Q61$6rl0@e{W{Ch!;ZISL4W;TV1^#~*RdaWCPI0RH37 zc@y|^@8o~ZxxnkNPK4E`dwCNQIvr$+_OXz2+YBh0*+yGD972e&_H^jZAyC#=WAS#( zJcqMrEPyDruYl}?sjMse94m>JRb#xo!g-l|&f!J8OaU+FoSF$Z1g`pg|PBKjN=L?d#H#$ryRzt7Q2G`{FF*uQu7Owb6qgGR(aA3rXOqAcvW zu?CbDp*%))HB?n@31M>y0Oh*kF4xpP$5f&@ZH(r@a<3GKid5xk;_I)@_d!OTPL~}oA-f+G>LGuzNkI{U` zP4jvWl{0FLX6~VJn(li_>>IsJX`vkKSnt?a#ykBlWR(#Fv?$O_QTf;QI@S`+bz?O1 zIZcSL57C_6_Z!SM6EvTlpgC=f=I=Po_r__y?;hW%e~ik_s$bH4tk>}v(R|!Za}Hb0 zX+ng5>;+9V>ijw955434K4F|FuB~6|<$dxAPSi3^)S5RgIMgX|i-#q-sp2efw0`gH zb=*sI?;E3=%<1;_I=YDNzj_VUJm=X7y0h=3+vlbm&gr7IMkk98{y0vT3QKg2|4rAs z*Wpccd6%Sq62|Es>2=hBuEDx#$Ci!3TV&^H@?q0{6{^I80U)_j{*w$-_S{ z8>W=nS#nJ8L7%$D#>bW(M+?zxb<+%GUlEvobFX6)(R>XwYn;zd)JFrs@o@vEbo%wZ z*dZINLeT#x8e#K>GSu}r>ImN3u853YYT#wz7Vn6sdT~D}&rEe$w5;Giu8=Tp{2beeovZCJ z4!0JD4YrhC>p0xnd2%w_n)>{jv-D0SNqXk!zm&x(Ds8 za>OmZ>mSe+|6q#kjfm}yPx20r_6}dD+w&nSASN8zUgvzYGT*%O?#SzVQOP2<$g#+_ z01pgStB!iG6>iqW#yEjh^$b1fvu(*zWy^6mBvnFNsAR7YGN`_SvR&E~x}_5=S`5{4 zk8ea(q)?IV!krWwMTC4K7ThOfZ>0!E5qBeEo`A<65aF;yR?D^5G!^etsKkL87T9*zcK66>p z!IZX1HQeUPtt+|JllQ9kt}@?}8$Grky3w3;s=-$d)bbW($xl7#I3>5cM%OG#7G?2+%KqS<FirCu(V$X!#3C@}i`Go3YBSKA~ zX+dAOb^eh18{Li@-H@l7l#%-GRQk|Y^f>H27+35|MvnJ5Z9U`T=w(VCoqrD|PGxEi zezeE2i-TwIamCuh$CayHfMpo%Xq+>OB_H)r&4??ad{8stqt}Eno?Ie0tSP^va)PI` z-Hx-wQ`ZX13V|YjJ%$?xrM{BI)*f=Jyr$czhi^I?u1WgQiJnn$skj0A+AO}Wy>=G7@jV?2?y&{; z(D-Zd!#N{NoSLS#(Rm|^Q>KQd3BToJ0gL^gZAMS9VX|#&H?FCyj@0P=doU4jvlvOU zI^iew3@_2fZrwg}!I*7NnlG`gWC@%zzr|5>1vAFR)SN5WO&P`2Q~g22Y>3RuCu-)b zNWe$COETj!VoD8>x!1xi;ShY<2|~_MHnUH-C9mYCZZMr!lxH>yd;BVMV5j;|D%z+A zXR_`EhI8FUkBkP9`4fo#^KQpLH=3>wpzk~JIi`E%UDsfft4M#X@94(T5aP*X zlna_)$C>Ujze@E`xldftXl-w+S?ImtG!2Ax>iUH~>yLQHAECN9MDts+dbKungRX1+ zLW){MQRcAuxu3>cyjSpXz`SmLTzTntr0Tm=$SQ|G5Hr7X)}=$HLD`GdH? zD@Sbn)CE0B_lkuiHjC8!AbGT&z90z4UKFWyq`KQ#ac4c%Qvvw!b#P$->*bJp0C@`a zWOvuoZmK6Cv!r{e>f%SNjX?Cfx*a>Ip2`7w+KJDxdfM;C=dPzTOE(vkI?7{F$CozCkaL61$VzoW8-dygX^obSEn>e#rI^h<;_a<5?=t z8i1a2;&ZG#Tkb56=_zV=T7%_NE_0BOw*D;jvT8XB68Fn~mO9$cP?j=vT6*`G(G+Zb zF~n~o1dV5TnU?uT+E5wk)-r6tQDWm9VM7c_Wvx(gUasAy3L2K%*9dhU@t^AA&qw6_ z-KVDR1@;OdXjP`3k6Rs z9-lf{t9VHzX|hkc>hRKS_IDU&VGp^CQXPTa&X8_ew!kbfhRV;L*E~%@t1H3k+WVo{*z778a$Pv)!f_~88b$h{wL6DDbXoLAHIy@N zA5{d@l(ZJes1;c#<#$}_GT0W3-0pJT?h2(7g3$p%MeIgmjZH?Na38kk9X5l*e-8Kr zNXJMQ9~B0>3NRC8;US`Tbm<0pvLR@z;Ps-^vpL37x;r&G9|yjBo@A4G){ZW2JWPYh z7hR3Ru7e8$nVP4Z>~aou!RSwcO7vh~QylK_N7Q%0z$xP!ne)imTC2L+qsYX%iLWZT z#T03iX*E}msnUp_-+{180v8adJBtVJ2e$Glb| z4lxf7pbvVX{p&)t_z zf9c{Pb)528l+q*rzkRtHHi9%vaT~$1n6#=hqv06$BnwIWkPszdMaS1T)UOY5j$Z*A z%_DDgIbXiBY;XReY#(sQjetCfvK6_@R=~@~3cH@J^JnjIh;@Ky0R(eHurA!>XTR;j z%#s01vbP9EpWWqHLB-z!*j6V#dGTou**aGK3od^6@)y@pWvC2>oFX3hqRUi&ptj@Z zTm`O1T#F+)+z3?zr@a{XR*$Uia;^r-2{~LfUXU1r#TWiX^8MM%Jj27t@V{VonVZ?= zU04$BsbiaXVl)!hBQf2bIKN8;p9F&KiL;LXK{tYl$o~*tOQy$n{%j4;F$Xy|AV-or z$D>^Z=Uq7o2b28Svpjtk(l;XgVRyQ|tDxJpH1c4OKYN;|2O#}}jeN>@VKAL(cBu z<@@5S!FGN`(dGR7>>YjR7Nw2$A%8ZFL-qi22sLs2EFU2*o<$#Gt!FLj4A^=}1fuUe z>o|QDLUb9RpF8n6)`z}v!847X-=VU za7dj9XC;n~&S0~@WC@9hskOse>aME^-qPY=Uyr$7R}CUk=XuSzTx-n>PXEc#+IcYj zd&lX{;H+;A4c7y4c%iGy$MQ<*aa4B}`ko1i(L0WJ2A7_M7VTi^ajDMXK=e_^r)Lcf zKf*?-ZfE1aT!DU$HxRowBt~s$xC{+OmJY1eXdY0g#re(IX*H`fb^Ne!^5GBgYZ zdLC8l4&@j8!!>s)sDX!1T#h%+f^6d<*W4U8S=Glb$JS1BLoaSu9NJlM0D?euJe@7? z+~unaiQN#W4&LZ@)jS85Mx)i6Ox3GK^|F^b=^Vt&tCwxURQ8I*^^OKIb0xgoc!0l%Z_4G|h%#6Tt_WRCVwR5C$wicB(D{$*B z-sOm){$tec{6$&!1IN`@%_jy6R&eYLu`AhhN-%29AjxX!J%k+aV@86`X6CPU?A z4HTz$5>AmdP(s8%&m_q8{R>V1IFmdTgE5>ARx1*$GFUh!BP>9Jp?elnH{(^!7JbGL2iqz@34=G@cVgx@A9`eG7( z4aS)|zLY7=nF-^U!xqFD)g_LOF(nEQOVh`K>?K}a1DrZ^7S+&SV2}nxxG~;xk4v!2Y{BtNWS(SSM z7_w&1#O_FEV3_a`G_0DLgjGLZH{v4kL9;&#<6P^`80=o)dX}5(8D|Pq!ogWE0OF~B zNR>tc&o~1|tA^Hi!g$@-Zgx0sbztMdZV|Z0cY$mg&!<7Y$-p|vjdk)F6&-%CUv&<> zfjTTx+m3eT*5ws>?=ADS9qDv@*Z~$TxUNsE7HKHpX*<|yg%0~4?bcBdy|waS!en;4 z9fTZLIt_N;f_4`cG!XEL(x1ty zAs<-)2mSfyh`~;%hjg>@>LPhAf67Jsvj;vGvOjfo7!(Z#5oT<@ZS9Kei>@l?{xH_h zQFU}i+TS1P>2&sVl3f*7SRbas8=W&Q$M|N6Lb^B!?-s4r{(9r5w-%@lJ}S337pT#Z zGY%-(Nshw_c49_ObUOdpdB=LHlCZF29HI^oAB_C7)7b?o1OwT$QhKRPEO){N3s`4V$m8ObaKgjzY`aZ%%W8Ed4CzJ z;t+2GA`TGmxgqv;Vr5d6j^{$lM~d1nu6|9mBR~HY^`4%x_C4in56@DHEDMljw>!&U zJE4MRg;agE!cGXIg`i5_?A&OTp*aYhjb^7 z2W>9^)i056oIp%@*#ID)K~uvmVQn@TpE)JIOMVDRt&WHH2?A*VijnY_?mA zNyu`PPDRK17fkD;>gyZ5^IBkO{-dzjXK0}h5>F_@H|tVp-rMTQ2B@`c10C#q8$Jqr zT>|1sMxURM3_FGrAa5U+T{qZ<3p8NGmf&AZ2_Pl{8wMyPlFKcZc}g1(Zs;O> zzliBX43!!%5rrK|&(Z=WMw!{s4z5?YF{3^>-=UtkfgG&G1&yB@MD0dj4TKfa#rE;S z?CXG@jqRiIKwjspYWpwQ$^_!d%-RoNy5CE{Y5ftSO8Z?$_(EA~ls7IvP^_wP)##ktDh|kxDpH4a z7tQQ3Y9mKNhuMB|B(uYr*?|K?875YYBrKH12D|%M8&_F6%xc~K7#7cS+>abBBTG7* z89WC+2A@Ijxi_Hp!0cbChC^`}^+Knz$aK(bWRW~yNQdE_pGQ(UoWaOPa|li1cTvU! z5F#t^w1AE*r7k2Rlm+n|0m$JRSXX-%FAq&A*OdF0hm|f@ zm8MKC@4Gl#dg!PEijg$-I^nXU4JfK|EGjHBDsym;fo(gDSd(9ew%Gsilv}L<)P2d0HQTdAZbnFY_plTQR`<8Gy z&bK>N;E!u>Pf%L!kE%n|a|kqdP8-=n|}S8T=OU z8f0=EObDuNxK*tje$GQx=@Qznw8LqIZKNGuk+RRzO+@YCn`kb9%tVzH(PHD4qfYoEh7VHvuzW0%D*T}hc z=Q-pX)i=M%%W{S69R#5==ct^;66|XK=|+(b!SK{n0^k3z`zanepReKQz(bpVoxQ`6 zmbE)iv=cHC88cyn_aV}&W~>z1ZVs{obn8ay+nx2GJFZvVJkIXHgaEdKL%s^gLs&6< z)XtY7=62Gnn%-+iakeeQrHzcIMD{9&d>N33NB-XKtOW7VRnJOySsHP`%htDVH*m8) zZeUU=8aG+3_g}nlIm~CD-MY_*{f@9yZR&4k8#ul-?atl6G%A0ogsA|!K)5qM6Z&Q7 zkA_v=Dl8MpJ^_7y89SI@WGi{brC{V=BgO5`r+KB0BH-O|v@OzJY#++!D9YvIze|KBtob7*;rEu7Iz+OVFJnycRjqNIE%A(u1m*&vX z*zVOBM{-n^*(+AuFL{)g zyYuI^JLKnUO5;`Be~bwn@TWFI#eJx#Iqr&@(@rW9Y%0E^iZy-L##IO35noJbFZsF+ zhq;~y6T;{4#{g-4!*3Ob(kx<3gO?4Ru_08>&QWe`7X~OJww_>&}cU;7Uwq!B)CJt=aTNFF=C!cNal*M_Km&aukDeA&n0`ICS)`FKUG)I@NL#U*q4M%v}ieT$Iwc^6hC`2)#DqaOyWAuglJ_Tc&6Kh@^i{1G{t;)` zxIM&8ihvJ~nchq|Hnm!@MV>Q-Jx4&6M3`Jyyd`Y@mPMIYDp(H1R{B2e9~JcG&Cx^1 zEQ&)HvfRC{+)5YBP?(%#{9Bfs`xE^vg)A&5AUdi}r4Q5*Zjr;#i_}+CmS56-f?zV>iS`58uaD7Aq`3d0on;IJ)%2V|PCY$m2FS+|9FY&F4|U2Nw5d=^chj`eK@>#HNrwK@NQzT}=e;0=jQy+hs-M71Ro%NQvt zK7VJ7FB~0CQ8zIqcpV2%g&(Nrto+Dlc#IKD!-R4}@<{pp}Z{PvRWPvB>yHP&uNxs_8(^697i&6lu+)GN7^oVIg{I}<+#sQ zCStnQZoM}$RLJ-OdO{BRFhJiNd9cm-D?TRh@$(BxkvuRa6u&?s@@*@^+5&-Q=db9y zI10!6y)NzMk!p`&SUeqbVd-G>O->GZBY=HR5Dp{o?g9frU;qb@p>3*fU8KRgxqTxQ z=o|qhPpS66$}h!`TpF-&Q7P-D$UXNjn+1RIk34iGbcz0+wpeB8t46j=-1ETND9JZ8 z3DFsP|F&3F3=1t-D^F(n*H6VLLMcmBqs=8ai(4PUQ4g!4N_j49q9>N7giRgTsx9CSh8Z2vh;3;Pc#L&=Y)4WVMj6|b$KB`=-|^(YT1895yqUFjKQ z|M{r6cyG|KtnBVU(w`VYuUOrBqqSG&dDy->T^0u~eR1p^LSr$t6_lVAcvUD(@_R+}GU|*v-JjuM5Pc#( zbf?bfZOBw)l#XcM^<{tIw}|%1c+u*>Z|5{cLKrXYS2%8(YGm9xbzlzw6zy9L9=^9(`Q1 zqYA?VC1^JZkey+NYfDO!?d`v^drIP>pl$~&Pm$9jLe5ih$;IYoC7B6mO@f2`uIc>InIbuHT+>9!LZJ|F_ zBWwoMhkbOvU@;?rV+dNG;cPgPXZs!6;_}D~r=4qgTZ}GY?sB&U3>b_eoO|Qi6Xjz< ztSKQ=c`=>M;(33AythWyoOUk1Gp{h7*OLCw57B<1%#War>5kOXIM4evGTnCmn&;r{ z{v)N59ncT17_lzx+7yfY^51+cemAO`OjxZQN|z?>tCVKeU)l-5?a}=Hhx&i}gb#QR zxwQeBi*pfuAT+`CVA&+qaLP!vKii-mn|x#sof~XKW;ABc(<^Sm%u@ zp=s_!MD7>i+zC%1{kKBFQslKxw-*?vw z+5q)6}vy7)M|CB zr;XMszP&e+r${%8Ry)Pmb8sQ0;EOTd_Hk-ofLi#-l~c~oPto8!Dj$X8ypi{6`=>7W zB-F0M`9IIog**?844-lipIXF6Ej~iOM0xo7Hu%8YKy`G?J=z~USP9Q@0y!4N0(PY5 z6d!wgP8D2n1s_`@g{|)Fvxs#GWE0dh9cuNAmzCR!pefo`43^PsbG>SQ*^Yt#6*1k> zcq$yaD0s5u1-Iu+UzCMcg6X6broRi+wCI%lVQeA=TwRFQUbgY6e-F?%dDi49a$j!i z@u~U5yUpG7w3V;(%>AVPh&PrudE2SxiYU@D-SKx$$l`6SCb+m!pVoqx zjFx$?K)-ATHo=G zNia^kTnZ=pT$oo+i3Q;pi+;x`yb5M@YZXXhjh2YwQ=`_W78XXh=4q-GpJcH)gbmXD zCDsgiVFVka*5}=kT}|255uPn$#;g2bfX$$MWHE;FWQvwZV?wK}ww+9R%$f0qOjFRG zg<^l(`ctF+zc9wYx=@n*D;fkmnX2jE#$awp#UqzwP=Ux} zWy2@2xQO<@hiN$cGpC%t1w0%Il5YE3ikl}VDTmfXhUr)mu^+j$MZ0!tIM2SK5a^5L)6e>f=Fy zsJXr&JI~XIKYBg3jp#n$6k0Z#F`$#NsZeXBh2Zd4F6Mg*zSoj{GiLuBW9WYeFDS|- z|KWYO|ESc4-EK-bDi5lK+gCcdsFuN(3cR*Z(n~jStv)<_{xce&+eBvTvv~mD`ePG{4=kCjoB>l%#m5FVi!fiK9 z_gkgM>{ycUaeee2HMrCz=(3mKR%^)a$uXO%71_64R=AZK_fwt;w=|O?MJdk$i&dTU zh9rL!Ge;4X*`46{yw#oN9BQQrjts#d5!qCqxj(Q08ePodbzQxT2&F86LWn;WYU%)hPdVD}0C$1s={6 zK0nsFbn>3FER)l5wmO|4!uc@~ez!j?JkZfHAhX)Nt%mxz+E!(Hroavnl4RKeP1tNL zq#=#xceFZdk^i=wV+bb<^OOZ+{!1b%TZ_$=^5PWs7G~9m}f`ldTwlj|5R`I zE#6$eV|DnghFkBw#KNz=P^!KwJnyGG$OrynOyR!@$Kh1;blI(7ZLP5WGaatvqT+&{ z5)8AWCG|@iH?E3qR6viUkY?EO8Z;lruJ!7y9MaGUj|4 z#V(hP7W@juTS^K@`-QgAZPd+^FOF`o-s0Ex-)lx{HC{WFW&{?)McVgp&v$FL_7Trg zj{wQ<8O@HRJ5zUT+OsTvTR!|{6!&B&3snkjp9cqCB$Rq6%+_xcLWIKU!P+E2|La!p zG(tEX%UYewsrpAHg!ePDpvEa6b?PoxMxWg5p$wE49tg=uy2ZZaxfZt?Je1DIk&))D zQE7Bi5mcC01M?%-L>GJobs2fNou{D-7ARA?7_jH3bVGC{ysHf@-zUwOE5UOZ?n*qP zxfO=^^y9kptZ1_#T2dAsFr-DaW_&7RO`P6+t+BEzhG=I5C~`S@k7$wWJ)A{8CteAT zHj0aEH?A10d%}X3Ib%z%w}(2?8v|dt3!{um88SP}5G;g1p_qduZbtbeR?E@)w>pD? zadciU;r!nx;6b!vT$J&s=mqb4_OZPj_O4dvG^!{MPQQR)XIwVuHQG|RK2if-#A7?g zY0?y3-c*VvDw@AmMJ&%H&-!RfAdRQHy@TQP;Zd8+WvU*rLB@5 zf|5EfihTcQSNd33-q!H->wnaK>}@Q$c%d}YhZS-L{*Cu$O7%X@t1VRP5FEuQ-zz!a zGC?qw6esAvY)R^M%~{A^qD*brtgUtowOmVbevNGIQQ&C~4+YWs@E>ur-{10i`0kxM zV(QDBLKI#sUa9>S)^yb#*-qDhCS#w9t>NTPw>bNVvTU>lk_b!g71cjzRNq*0Fs_ z<7Vn_@ONYVUQ#bBF=wjNZDQdYVp5V&@>p}$EZLevF~PpmSun4I*ITYlaqi|7iP2X{ z`0aW%o-hT`dCZYt(({>qJ&9TdsxVxj3p-Kmb+xdnsL90)gmncKGkJ(OsM0| zP@am(vW&xcMhAER(So}vWRCyBOc*K^}A~&o-MVqsR=A_O#lA`fpt9Elmgt z1nO1xhN(=Ta@|rcs(oC9FREumRg24GowA4D&^dr7^5f-WJ`kCx7Ns(6k7t7>z@x@8!@JWn};^=tvE8@NJU34tGIEtcQ zAn-t`8Lyu%Wi_J(gS4md+-FWY&m#9|-f&8$z1)84mnNa5104ZMbu=*hAA*mGYivzi2g`K>k{lh z{GcvnryYnN^o!r|VSi}&jt>#rQdJjODIPw+{&xa5a9r|uO>9-(f#(9@F>*YSQEohu zbM#N0EW@oXyG<2RKC?1rK(#N*Hm5mU_hZGtpEP0GOeauNX)j_#;m5q3h=q@-F z7)_K=ozKGq5x47nxP{ZN327xxb19cw;!!3RbMkRGBzUyW5OlB05?46iJ0?Y%9)}Ii zK-9+KW}ZaM zJ?TMHjo3vpPf9I-eWjdv&}W2rGTOh(YCR+D^TEiZ3)3Zy zp6g%~gLnpg@5)#%u(>335_w4H^36TIgV##2C5{a?SE}thy|UEdSN z8Y%B3v3+kdB7dX7N@`55BtLT^JX<&8sQ@(|cZr#YCpz)|afrWUS1Vfl?TG?^+~qBG z(rrE#=*yZh2wWv5$Cm?WJ z>X;j#eRH$(`DWXT&8(gxGS@dt@-3pa5Ds%G46|%Gdw}S=|6kJBo@*YEuV~bfqo@M} z5tOE=O6%C;9O*jxpCwmh ztX9BJ)N+!y%*D;c{`iM*28G%Bro!D~W^%Jd+^=STq3m#4C1<{r6^ASfn{AIYU!ptv zf2OpUSxLB?FojHf1@|KnOT|5putG{heZ(|lR>nidf1)t_RI-POhNP8Hm*E-t3zT~j zSneq7yk^_{<^d(!N@3K)d;(3vtrcpgAhZ*TvzpSX8)_XNeGn@sVVTFb} zOPsFAvgtQRnWL>~^jXnD9)Z`j;23>IJ$wRtu}n&hQA!JzPLTp?j{Br?h~+IcEk3}p zY!t@}qrVyaSHWWG7s}dRSEyG1?-P+pY5*@D1^OfX#wc^9G+rQGZp3#d+$XtnDBkq> ziKU8`ayT=Vfu8<@;i3udAjPK~wk@>mP zWVkL^raKui4k4Z3K3X#>l3 zVfn-&*8lY`@X5zocbXE1!<D_5IpSp%D&LAs2Y6*FC7?+ahl79D2)b zV~z#o95{x<08~YKmP*gubFhP(2uh28nR;X_we;AyoqDCG!`k=@Fh_IK7~J9m5?$}U zV4Nug#0!UQxz}q>gb%e4iH4k+qbax(9%l>xWqbp2%pgm5Yk7G6==lY~*K+IjNd6y| z?liohOl}UWs+au^-7U0npkdC`z5Mh~8^4tlW^OY1g z?r@t~PXQvwgH1>)4b#@ZM^J1N6zgucT;_FJt}6zeO0g7J#x7byFeP@yXgh zea)Q7wvOZ0zt`6MGs60wzGioQYI#R#vSjpC!4o%Dy|_%q+qTS?i64praO#MfUDpEYrFns1JyEltOp3<}|* zogJqk1Ag2wP+g=1=A;PrkEVGVEL`_t92%f#sxV}zmIoLN3kB9gagy)24+nj1lTpkw z_>9$Sgrf<=WY7hLHE*`IXJTJJNcmbd`cw)Y-%MRy|7e|Z zi*LZ@t-hZGt(hNgZ!jK}r|!$c%*{4Z{)A8KQyy6t_1NTetC00U{fbrILoezwJ`*w& z9+JAiSCA%yuWw~I?=Twzw{QGLmVx(q{LESY=B&Ug2LDp{zE)o@+G#fg+*Wrq7+Y14 zjG$>aB0$Vhk0M#NkB~hDJ|4AAH~3M*YQH8k4*m@RK!LTxg-qx%gl}Z@j5l3bS@CK8 zx&zDYY%%fHILOD+2J0qLbg&qTqe_8njKxJ!oHSiBLT=1i0Sn;0aBTkvfdwzEijb*_ zihpBkg7{4Mw&2b{9}j}P6E4E!Rld-+$Oj7hJnK);)|*Z8yh>BN zEmizV`-;T+c#~<}!uZ9efQ1Q}vh{779#b5QR3})4t7b95nzsvE)yIgqBe=;K(ln;8 zoI_(z?lt$RPtN~G+1tl8b)Ns@Cnt|2Ms~P5Q5nGsCIrt9QL->Kx$yalC`Yw34;Noid6!2PwH-?)U^*V98a_y-Xr3dRyG- zd{vMbyMt49`P1X6t^=uWC@&oeu>0O{$s1?8tS9hYa{T&^_35Y&k4F8*oSr?M~W=|ARss=ga; zy%*k{0AMKg%)6w}w32^^u1khSwuvcwy#}4T`vUhaX0IGGpjw&Rc>W~4Q}Q%hx@ zx3CbYUY3SSpf0*jKN&`~&8BPui$13XPGz#dELUS-UzTO=p(T5#47+`22J-}2qLVa# zUBlc>vnvYhL^~2x;7hj~augZE8QFNz1glWYZ6=k2io$zCe(iBhnFgF5H=apb{oqTI zKI!0oMl#^}k9Zz=gnUEzNg3_v7l+aBIp87Wdo1S-TaKTRV+SEVScoa>H|pEP>q+4c{Gpxd}B8gC;QBZbG;Cc+*e#JY;%C`#~y*31NS7yl5W9 zE+p}H&tNR*@)t!oPF7p+Zp-6{A-9US z2ab=ysqm}7aPJP>dYnEy`hW*9MM>~*%sS3xlKp6UPj@Jfa~b!AdDrmBSANF_my;8+ z>h3uQc~eCn-51!WjW3Y&md!~kkoKkZ74(%c4Xp!Da9xAQ%iZxro9nFjscYqKd+K`0 zzX9KVs;7GX?ZK4&^F5lzteqo0?{5y2G@qBXYE|4-g3I)I@}Ft{ye~~LcxkEfWCjN1 zWCp0hF1q*FCf{`cPhO$GQl1?8UT24P;8-PBOVFBbFQ+-ysw2))?zaEiW8BC0wcqit zW88=Lhrd3?y?=lB%VXT|ePQ%hQdvWgL`ms~Jn>}@XSXuJ*=6x%iScDgcu^Bl9fAB3 z?a)HXj;1=|+XF|0Om6wtQ|;Oj5%c`y1vs~3VtVa?(0S7mXB`S)QKA6 zvqX|Fr|{q-hC$^H5x9&e?@V6g;W2}gnWAL!c8Rs|^%TdEx_TNs5x?=Bx!f~+gvB%Y zlnCuZKD;YIzgx@BN^DcatsTtU5!+Y-O^bzQHkkPt)W6NFDt_N*u}J|-D{F&fON*JG z)b7BRXLdtKkv6-7%|?ONNZppe%#FD1pMs@Zw#%D$(9$(4msYLa+`MBxuS!08<^%V} zLGQ*v81)w8A&jdcXjr(0wM;qQ3r2P`JQORjZ&zM=|H;3JlW8Me&cw7m5 zk$XZ_?vO$6?7=Q6+$D2!Nc2acv_V3hm0|amLS~Y{P)=um`%?+5B79Vqo^Ek3tu~51 zwTD9SACVtr-4`!FJZ%(sY~x$sVG=KWAFw6;dm$q=q)|?HWsr5>XN@lfR7fODMOBbQ zLNV$QdFgxGT&0^D4wjwhD}8+%yxKI#`+_RRue?UV5gf`&s`O>FF(dM8-d&?~DjYD_VH*RWi825hC!I2ft2P5}`kvW8Ju4l7P?)bt z6>^Q?&=g*=2SW+MK0rPwh8}n~Hwe(@evQ@3QGR{9Yj5-iHU~x}I(V~C`sGYpQ@g{y z#kE%#X4>Ma5mR>&y|3MWuX$yPue08Bf1SI2sPn$ewBZF{ð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 diff --git a/variants/adafruit_feather_esp32s3_nopsram/bootloader-tinyuf2.bin b/variants/adafruit_feather_esp32s3_nopsram/bootloader-tinyuf2.bin index cc6033500b64fc74822cf38fbf3d6529dc1c6d76..9cca9d28a05c5e286b093b33fc8218890158180d 100644 GIT binary patch literal 22816 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 P?xhmP)*ZiDwDbQ1z+QhE literal 22624 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 St#O(Y!TodBIwzgG`~LvmN#kJv diff --git a/variants/adafruit_feather_esp32s3_nopsram/tinyuf2.bin b/variants/adafruit_feather_esp32s3_nopsram/tinyuf2.bin index a5bab006bca34e583bda2cc9c28cffaff1e8482c..c345a5b8ce5182f63b06577bf005c3732a7d6804 100644 GIT binary patch literal 196208 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�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 z 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%0Al0^8r>~k!z^dtbRXRRoxo(6 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 literal 22320 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 diff --git a/variants/adafruit_feather_esp32s3_reversetft/tinyuf2.bin b/variants/adafruit_feather_esp32s3_reversetft/tinyuf2.bin index 7e852a31efd6eee386d2f998cafea699437a39f7..70f80cf1dd372bb815545434b170a6d2516bd395 100644 GIT binary patch literal 217616 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 ChFviL literal 187808 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%0AWgWksm^?y-5S(KkbjIj+29TH zhor?ebVLJ-5Qx-XLH>hq@D}cZKV*red-S|G6ipemp{QmE&x;K2+rXkFiPRt@7<)G+ zJq~4tqEm0j34fue)@MQl{xRt{e_5WEIseL?!-w7_JkPPuxALGZ%{_V4{JTf|MHE4kI&@EP9 zud1(cTxav{L;0Hg@$Qq|N((2st<;VzI2iU|{KCDOUf!kmCb=z)8Ch^d{N}qcyJmX>*g=aYwj#D+huk?b;kP*Sw4yxs`*Lo0gFxqUwywZ%O`xK{m|V7 z?Me!IDogJT=G>Nxwy_LVM+O^8}wsg(lw3zDwd5&prBm{@^iRbu?KOPN(MzO*_S8Rw{;noMvAdKgDfo{~K#I z{dTA5#tBE_ojmfuEyaz#LpI$XSvsLr@uZ%nxeulc-z=K$y1?B&w^{F;kEr`>i za9R_7uhezw&_~zCcU)fHv2>F8suh`oY@_~A49!^JSbD;I)eP&ArNZCdELd=9nD%S_ zhIaWwdVimFWu3>?#v|5Pjk4W#^m*TqQ4bplrnFo>iCqKHml2cfJ-OBm_97S21qYW-}TRuRL>oU}=(lTNB-E$~t?yrUQn;&hv@ngWg zC)bAcD0xsgZT&*wbMDdobBBe#y8p}hipbm4{{0gscKqs(#7k4w#h0FXD)wC zfW5e2Mp)aSmt?>0Rdlk-9KrKw^!WPgRg=LL#G??dFYI3dL z_RhTV2^YJSMf@`Qj$`4GwbYJ}*`?eSOAi}wR#=<6nAo26@?T{)<%a<6-93#%EoL3n ziniV~vTgtE`*H(FMdix`*sVBExcDFcqe95mOcow>aKYsPQ`|#IY zFY>oL@+_i_Lo092DM{)IzRgT*&p$YNZb$QB?l}^bBhT_$Keq;Fcg2@2DvQkiad^Vf zla2PQ88&91o2~WX^Cw<6bvCy0Klmox+T7G6SUADnrNyx=kJ{Q=T3j5w#5{KIn^g1I zIF8(Umh;fuUB~Bk7;3x+eu?^2?&_IIjW5T4W%4-apsN1i?(I+SyxD5cqM|mZJ4Ej` zOFlhoUAL%UH^=Nyqix#FlVQk-DRtC-Gqej=>FYoE|-Q* z+w}W|+2QeJaZ4H<-Ewu^isw`|JCpbANs31;_-??tT}Gj;ivRk^K~RorSR=-;g#W!dtUalT6E)F{Mr z;oimpu4Bh^?{wqnH7Akl^xn@edZ^tRb?R0a7}?ji_;x2z*()=T)57*?FKt$CU(utK z+d0T(((C@d_lrVzTaC;Uxfv}!^Qa`zGpxRH&&Gu_nt7hYQw zu;SF21wT*Q{I+o2r6%Xo>z54gaC*H@(~Q}!NlEYew>}p&Tl};jO2@((A$HY0dmwrxq`X{ONUBVu?6(>DICw$+2Tm#pN%iE&l^K479%X>QHF! zL*}oo*9)dyo;;{wtkSBeBz|4}o|8%*EZDW#=FPm^W*Zv3dDhf&p(6_i>=Vo!BJB6e z*KS$i6Dyv^tQ_vtac26+YbyKvY093*-=BM+S>E^TJkJpAz)>4BRhsN9OKaz;qvVpt z=cDfJkJ@8&woRM08}7tylEt@w(WCsv;c0_*aWhXj?yX;0xMxlD?GtX^n-6TBTF>wG z`;D1vHuoAEI-&KMP2I00CYQJ9BB;Om>zFq7le%qiPuxG`ICp5zKfa%EqQ_*_l-PUi zBA#?#zbm}A(5%nw^WPus6R`Mv$4!q5-_K|=^3j@8aaUELyB5Cik-z(G>2%wBdF|#r z_WmYkVuGF5fWC9Pn0U{7e!TlRKbLz$2TVxnm|q+dwI#jF&+(1Be*ZBwH-5T>YJ$n~ z{KMY&g4<2Y-1#JMa8!u>?8mR>f3;-nsEvioqGpVl6~Aet`Rn+oTO&8;BtGf7c;)v^ zE)`8y54GMq@>Fcum5S(MPFRzo4-*C^|EcVd=NB~KbfiZJedaztwcpa;hb0v(X|i|M z^w!T-FG*;;&11rlnEGw6Z;WuB7rCwCW?E*CITx-<8eISBp>}8RZys|e&AYf}qf?lj zxJBhL>zzhBP8Ix7v}e-37Dw+aXmxIK*B|MzOD=49^Wyi$cAJhJ@J*lAjS_e+T3WQ= z>mK|Qg4zD2_cw?db&WmJu%St6{;Uh*bHB;~wPNO@HBbEx75G>M^&T&D{l>K4 z&-c7qeW<_BbJ20$kQTq(w!PRijk|dGf%5f3S_dsYqAdZ zN7}(^l+{_gQ8|MbwAi@h*2j5YSvhP{ZxJv4-NIGvoONR52f=720I zx?}&FPkiQy0Q}C&!YvG$^|@s*HO6%I*FWMb4FzuT;-{U1ue}5zp?mefs^Z zt*XrxE~@C`Q$iCv_A-i{Y^yGQV0z|yNaI#FPKMas-1W-)$Dc}Gy`IzM{nV^w@;BX$ zd|&mRH}j`=J9By#4agm=wjUxH^W4)&5?C6D@tJ*OY!JS<-M=x|+ ze0$a7X{iGOB20rt?mL?HZ8mB6x%8JIRLl9d8hJ5>9ftz72i-U{eneBCe8DD-hb%1;C<`+5%F`Z&wbllE|`5@*imh> zx|q)IXt(0*uiLhF`#7I7+;!u@%}2r($4zO_>iaFt%8NUVdF?QBbZ2R!z%2>&Y+45> z-d}qgKa!rwDLh-aG{IzCZv2xL#+!a@)5`tzDxblTCmT+6j30fAZq_e!>M51`&~JsI zqq?8#nYAzZby@gMLH$t{-bX{$xh_=O95cIL-u>M`2aB>bixieND#z7J2Mrz5>ScMC zKZ`|uu2~A#*)+ zR$8<;BJ>FBzRESf-PNA2`gZUh`^tLHfo&fb1h;vp6VN&2xLbj?aCvx_s=4`yIBu;N0^bmU z)8WAMpZ9lj3>|qUuORTw`)`-^JGofia_hrhGdh2JDbQr}kkHO|g5TU~vioKC6TPz{ zgw0I+6HO}mF1u-d)jz&P^3$|%4iwTlD5q^`_EuNfQ9(l4^gCi@4+a);6 ze*G@~;)jy66CzDDw((Ii$;lIk_6&^gI?h%Q_k;1YRei>FFE~*=d(@!P(1Z1qC*8c$ zZy!y5^m|E>P@bLK{Y=|ESts_`#g}||)jPk_e81ErOX0QSL0vjOF8{Gbph?`g3iH#C z(l-4*-Y48{_p*p^`GQv~v=!q^uJwMt$9-aA*zlg3=;N!mT(UKBoBG7Bv^Z(c%AT=z z?kYEa^zpO_lMfpcdBHqfHPvF1@0Em%&NH-^p7iT@!#?)tvdd=4 z{IKl4@1$YBeYLj7$Zq#a-t>0z7;^E>$KY2#<{1BZS@vB*i?lsEZ0yIhos#KyC&Xd& z;#0|%odRDJTnq2v9{C{ohjuHx3LiZW_B#~WdXWFLU$f4iv){Zxv0&4NK6?(V-oNKb z{_-hnZX`SxcHg&T&+Kkr-{3@YeAXT~|Den7+wzu0EgRor=3G(PxE-E-=iJ~qY;!9K z-S?w$){#8Qdd>W=J}y2xaJTWoE;D|MJ}I9#voJj2>xxZj_a*iEbgPsX8MnC?%d@zA zwB4WQ&q=ymdfanE^t{o%B3cgr!+YHTmjl1GdY{vkyX&XUD_T6e+Cn{I|Dc7t7R9+Q zh*{b3y3>gnEBaf$%Q(2`&C$)3j^o!vlzm)QSTy?z=h>Sj*Dw6;cjij@oXaA$xWkNT z8N)$^9yOU!R}YVPc% zn%d;;m~3^+fqMkgOT3fv?T)BMHi`W6?eq9PjY@l699Y>pBs6i)#`=LL*SlI?Z`SgN z)e6bxvN=89PaQ4z-6zL$Uh~j>RxKAlUA+11p>~VSKhA9QN?mX%WW^hGN$TMcp~Xs* zq@If#Kk=#*=09~k6>eejF=vvU&5sZFUoTny^lkE@&7Hl+s*U!!pJ`uevdper(>u{~ zVAehPja+(x!ct;pV!7@+W0$qlGfOn`*WZ3~zQ2D-$NbQ(55`$P9X_nSwM+QUnGNI* z+&XP2Xx2RZ_Vpd&4tbKO$Nf5HyzaDgtG#*d(z3j$kq-wR5>@nQyr|2LALhFczu-_l z{RfI=sd~Syo_VErI-+C6so_#)~&_N=n4;3e=ZHv<_PTOC3 zJ;L{!%a^j3OQvc2-0XhtQ2L5qHx&)FtK}Ugc)dKmu2FZ%tRUmYg3_^9SU>8bXh{9@%LJXk3Pp6zRfPkes+$y(_}%*F|*FlL7ww6 z=XCSgp0eek(ZPqRRx|IUw<#ObuHEu;>lUBzJ2xuj*ul4_-JGV`&mA!QjIBCld2Z?P zem_bYKhSzTS@)vZwe$n`=}y58r`j7`emn0~7uT-0`?+@Z{?>ic;OiSz#aFLcrZ;Ld zZu-l_`;8mDvwo%dt#rP8>-~W<%tn4YVBxYY;w4F=SN48ZUO~mRQu~HED?P6!?iN;P21Oxdv+gkEG+Af5zqW?-aXhdVQi7h*DJ@wq}%-7 zZ+hmD`OS8$O>Z}Cy>I-*pH&r|SKC;&5~qK6Z29l|uiu|P;C9y?7R$;azJC4OeTCb} zmpep1OB;MV_Pnz&@$s>@4c{p`o;tf{fS=>no#Gx{K9lh4-cdQ>-Q}7`r}8z2mWlccmC91ml>~GiofagY@#4b zTxPs^()djq{uKQ9de*7%L#uw>x=`pAd!p0rep4Sm{h_~8qm9>BJaFwkC= z>HeJVogYPK2_nu0wtktty!e^>_TOfDgq;|j_t4z+>d8SXqPE}j4Lp%^@x+)xyYjk> z7;O>u>~6}zzLVb^`siutqa7b=bZFp%acRA#eE)C{@5mF{{A1Xp*WXyb@;FrfT)sLy zW#iKBsj0h$MQxAi{kqIKpqI4rn^CV)#~*w<`&z1L=hI@RdNCof#kYo^b4;k{ILvyF zY51la#Zw@kUR!=l`YH4WzV#3Liw}3QyO+_YZ|~g>({JRzdNIy4px5N-@(ZTDC3~m3 zdQ2Kt{3x(lMVlLz5~~lA*+EY3f+l$lRQC@1cX+exo?Fiw$9gv$u(=CwuV~Rm>i!~8 z*$uAqf#QBA2A@(l+V|n(iaEB${6mU)=MEg3zUgT2WcNkuTNGFBocK$oz|UMVEBxh$ zA11fH9M#uky>DQzl=v<`X6}4{II{V)E3XH9d}fvqwTbTQa73{>edNU5&Y5SsMP)Rs zwDc^(3mNOA5V_#g^2 z=BAi@HR7DAbbb@xChs>Nx$?ZC=g@ub*@L~#_n5bb^Hof~Q;+q7emtO>v1X|-z2b2X z#hVYulREAS-BrAQ@p_vruE$?&+UjxHV_5k5hO3*~iHp7-Y5J(e!(#>Ut9@p^Xns=G zCMnP@>y~!NvnE9g`4fMdHqY|Xm6);pXJ!nz9P?|z>FfvVK3EhQjacjXa^c)V zU1P`Z_7&aUHg4g{^}8o?TCb3-@9Oia_rS^JamAL0oP)=|eVTd3T+!(54c?NF7cYhl zIjkx)KNfCXoFDHU*J7;gu^xvOOm1WSB(p0% z4MuKLeaLIIF2{P^&fNPQ7X$hx zcN>=3HTPWD->>D0Ip6=NBm9qI7}AKyA|)T3+H!kBUP$c zY3Oq6lNX!UoA2w}^z5_V>smFN+jZ(M@_8p(3g@+^``)v8J}Px{n{)?t*ZZ->re|^! z?dDqMpKE+7_{YNV*Q2{nbhi+S=dG&e((+N$}-0^6hd%D^;yUnwve+)e@ zEU~3$_g~wf_*uf-8IhZ2+cz0qluTdCZ<@JBl+Ts)KX7%#YS#r@JKO&du^_BNkYo1r z(o5&5GOJ;0hUHAZ*M5k+V~`_{dwJW zX1%gB{}wg4;p)7GZA@%CUs$%cY1bh}yGMB#FP^qs+x@Ni&SZQ}5rmMYRm9{{yGh4t2W8W1GV4;iZ8UN5_nOP<~^4 z+g_EfL$;grt#5Ts+GN?{pUpefj~)Bx_`Z(Kog+IvQmx|Y&uf5t8C~u zG=1A-YHt(Uu5*?BTb)T?Fe3TS=fbs44Q+R>>dT2=L_cWBYdZdJ^zdK)+#9&{7u%Nw zeK{UBlVdHM!hgK~Abjj`p7B2qg_`1^nPr!yk^n8cX#1+6bq*PIC<2_M~(Ns-@j?W zzV2Oy#@x8LiRuvA;97yHPrdg>Gk3)u*|YgW!Njl1CiGp(&CyJ<51-!f&tn(TL+(x; z-}=>!&O^(01@CB5Fpx7gWQS?lLq}KlX%}Lg-YOm{aU5uuE$E(Vnlx;V)2src4T&b( zUO4R8^y?@Q=l-HDL(}Q=-&$B5kxuBD-7NK`cm3`gR`u<3#?MqWJMx2bc*9mwt zzK`Zf#}mVY+@9J97fpTj`|C^m&OL|tH}1L7?Q+ijgw}@=w-(+PPi(ozLbyJ%^h2+) zvQ_h(oy5-HZS;O159<^+`}lL4wtbtg*)TBMI%uii_~eJa!(va4N{tq8YTCDc+a|^L zoA0&2OUtJBhkHk#3|g>j>Q^x)_M7@PeSYs@TJxRcU6yIk+20!0J9YhNzd@05RowHL z9e+G_?*673QyO-;+=Vyei1*=UGj^_6yJcNYmv&uK!VdIr9T9xs#JL!}{8lu~e^~dU zK?f6@Ph7T0xjO2hcvHsF{`qBe-*33KFQ)HR%?rysG4ySe>!g({<|;p!&s5J{)9OyB z;2Z9|OKUo`3HCfS2Lo0RrKT*>aqzpuD3WpY@OX#&Fw9yh1>g!8ZYgB z`uCD}-xr0G1_d^6^Drrxb3l~%?N5q=*&|9GwVB-iUiS?P%sTD}J@xeq|8FR(BO~ly zMr|3J`l?wP^7umArZVy3{x$yV@uq>3>{|5RsN#k{mbEb*@_O_0(Dv_k4StY&N^Mb) zB2aXgJKDB?qi4Pw3l@DNUmw$C=CIXfkK(gV*sMG5Kdd;$-00c{`z6|M=Opk2UuB%W z+v3c`eI{miSH}J-*>(3SC&appyE|+1x=Fvt>Ac|q-%YshRKELh;UsHb3&o5bQ%zr5 z4!7J^9^Im_`DANe=k-G(%zHgiT5Kjg6Y%fRNweCOIeY2a?hkAIFRncL;k zC^Mt&voCaw=^B+iHo74?e2aVUd!OyK*J%2Ivt^N$Z9iUrd~WWuRr^OgP?oRPHpdqmUgKiNhda&d zDW1ljv@<=Eknv%>i;?Z00f&Bux)4Q$Ksk3SUpT?9okS_tW~iiek~Uf1+rp1Qe(_34 zMsGij7{$}}wje5@M77jKEmg^(?C01%Nvl<9dbql#rKP!ubRYX&#L8sX_MLlL__^u` z{ajf-t}JgV2Dh$iY6Q^iMJ?!#K@BehdIZqIAXm5CoITt;ofAb~;slAi*t^W; zD7f*!EfkVJR%TG#^5gTN?$rG1Oi7#q{1CyZVL882bodn)=jL_sjPks zEmE|ns4OO31o7dvuz*^fA3qA5v&_u0kcTV;(>#7}glCyq$Kx-L$D^{0ZH@6Z%NTLM zhU7e}NfS%ZM#Uds+{lo9zbJc(%gy3~wl|O0o1)sNRBfm%+Lq3u`1ZE;e9F{JMamu@ z)h`HCd_D?cYGx%wx_q!VGv*qbQQ73d3ocPVa0?DjN6g@0)C1g5R>5CHbxVqkMBy`= zAd>BxH6)IinF`u0V|k$B<$Q&|Syqnl@JS7)o4Jv<=}a7O0Jo3!_RzGmwYUF>a4Rz_ zii(U)azrM22h$Yg%j1Ektx#wSryI`~oZZ}z`tX8+Ot_O`;WqR3M=I2x?R9<#A?m%;ub( zZ)7$H|2542zq-%PM%&liuo#@ShT;kvqcc_G3eRX(TdxOELlsN)m%R`- zE@nt%U|e*J4-{_()vcMtzK0r=PQjHGD6FP(v2vNBf@EbEx-z327pEwqhwf1gGDh4!DtQ%wESs_67@^&;6V>m zoWwL7R3f3;OcSlPWSugplZq1Z00KZPU^pNhkO^1>SOzEp8~|Jg+y=Y{d<58zp@en- zUw|JV7BC!;4v?wD4iYL+B~#XtQGL7WRiPQRR9$a^P9ZKzFd^u2D%`;!OycmCz1_sV zs#b1frcVPR6*>i-OmsilKxQ!2=#YeWTx3W%Dh4WnOf1@<8`T(iBFq8^`ZTJ!{YF_hS2$Iuhx$#jY4=kwQG>BKK?jgY&zDN=4^we|^ zNhBcHKRi4zltvO?5}n*e4UCTd(&)J0MDs%<0{YY81H-WR>atB;@N9A*wGH4``oLp?m zz)Yq~fN4ctvFqYvK+j$|WEXCK7hM;RTtliWn&E&GM1>5(;QyQP7K0l$%(hH{%kVO7 zoHjj9qEr}K#Hh7BNYbM#&E9#!ijTxW5E6h9 z8eCWmiKu1Wq^||$y?&$3Y*pBLBe(CE30@*)3ZqfUYT<$_k{HSQ{wX7hFYa0zcu^Cd zTv1~(iu;!kcVkkp#gQ1Etkf7&4CgP4NfP~{m}G>+L-wLckZocqC7ICbcEilhN?zw6 zX9!WVgba21*#eNnQW)bPGG%f~I&a zOf)!s(j>^p)jNvn0B`_w1hfO-sFWgCqR1U(9CT6*0Q#kKl2W6MlS#yEVuOMPTXGBLBnte!Dpz}^zB@S(5jx+$Cg>L|>GS!d=(A~?X_2rR55GJS-ErD1PF z3XB5-(&=^iFi4*a3lbv^*SBgDD{0xSK8Cxea~foo z^Z$f*l1PqY#V;@X=QGcmIg`s2Qg-Sg0_(q8g4z=JSBpU;&8IZ_gAZMcVmf3RhiQ?p zi0BYT^oE5*;|4!g*N}HaK(c2`b1()JU{%*J zBeck(m-H8mN`uP%+<+2^nMn$!)3E$wjjb^fzPcf?!})AJ12CnK=}pIs%tK7>L@<#j zM|XyaJMy7J#2kx~k|2{XRFsJGD*d7h8U19zp<@cOXRwe2vta)frut@O?20M0nEc4G z1F1XR(Oq@@lFuTwWdE~MfiB+~DH@{|dejWDWk$@u!ERcrOo?*U7EPBQ%&oAvfPKa1 z$BBLlCQX3~#`OES*4NLZI?B&Q*DqlLqR9}(He34HQxd}zKF7Xh{;QTRpCcpkh+TP; z%@C7EEi4`2>kg)b6pah*7{Hi>)LDZhq9Q2NKRP%LmI9;joiH-QJ&r#xx=uR_`YwaD zi5N|Vn$;ERa~ac@omn|EN6??6P~flxwMw(;po-B2Nk<_y^Ep}(%-JO>Amnss8RW>j z=1~3|2VKX-iF69SBTCb13|h9={#!kkEb1ia>0)V|uA}2S2eWwmG??B08N?^sSVnY^ zqitB&qVSat`(8GP-7y)&W^&HHG+0R@5hC2!k1(+BQMJTm7Nv&4WIYN~fVy1OvUk*X z1-;B*4})N96ygjvNyGeO;{<`B{zLw)de;j&5zQP%F&0cA`PuKf*lg;g>*wWwt{uto z2h)S_*^{Y#bR}4$(#ttkR_g{ZsT5Lr=2U?>H;IQa6`Y$?E#R3qx-3*RUlob|1>1nw zp8QSa>4$~>H2ibj5`zL}p_q~+k_`+Npr1L1(l^tmlDz4fiYOrpCBqe5p zsy-tj{ZD3UeSPc5NEc(b&p0nt;Sf><3oD{8I#frCRTB_CI73n}CTWN?C!+8RTcWA~ zVS^QWQk^Y8oa>LR^JA306navXrY>4iN4m2r)~T0LXx_N0PrM`&KB($SKru0Ec$hOf zb~jFT@Js|~lau*f*0f98eiBC05Pruj7p2%vu_DNM}A%==&;?#8H2I2A1%S z=m(5dX(prKjln1FQ>WCZ$x|auWIm2FN5`a5h|OE*F_B}2zxgH>LW-cfuEfYS z=`jYTfJs75RYhUDJhRjKOCD-y$LP~`kn}*oVQ{n;VFa6GRZe2#8G+r>lVBsdgM)iShS7ky1`3y(CXr-w!u7v!Zbw@|BPGscK^#wIPxD^M>&7*180sfA~_k`5De z(}|fHol8qpY3i!U$f`cbL}Pg9C0SiGq(cxL3bykSX+;cpq9ay!s5Wis)~)Ou+O_Xs z4=$g~iz$jK$q3288mQLkR*@OiP;fBBHTsd>78@fgF>%$|M_6$}=0~EJ$4FMvga(DG z@wro=v+<_O4%6Db(W-P9UuS)vF^!Gml?)|zu*?hnqOtl^fZds(6`4`WoL0%{3~3Fs z{56Wh#*-1-h;^5Qh*lg6iPae@A{ANt-elkq^XSPbIPS!u4{}5V9XaY|HarFets!sO z6hGyr6A5}|%z+q=FNwmYySD+W8g<6b)X-MMhXxcmMZq3qFc!TrF3@MIR_SD`!5(zi zxi@B-$U##jTJ*=DMAVVRW{N_FoeVA0ug!7Ru9lEBbpnpsS(gMS79@nCBr+xIpvF{% zjj0MFYXb6hilY8^E+r;KVjN6w z*HRfVMBS1x4=+(B(uruUDkJbNbPP(LfCDsT8gqn(sOU7XOi$VpLjt3nccj3QE88UV~eB-VBzl?^ZR z5V}V78ZmVBjOsCTMjRuS4pa;ss6M6B`I&IyuFKD+QvLo@zabrYr{_g5Nm~!K`9Fi*zMh}nPrl9a0et}h09?SJ1b`4gAfO)r zmrAJq0OMJd&B!;2EZ1;cED~x5#RveFyJ_Vl*SDO(U}b&4}gc%HEEaD#DgdI3+YJT z($f(h`Cmv!+FVaZc+C1jIwEuQbOg`)LOLRQ^mHWcMPEoq8_XAZh8UrL8c)YB1NiS1uXhs^2ehgkA1M$wnj(baTBkK@3X(($V48iMZdm(pcd(=`I!@h_!A1M161`s(Q~rsG!8kuhHK z#dOA1bVSZv{9-y{4Vsk`O@S|eF`ZQvoi*sLe=!|hMP~y#@(?+rmpf!ElW|GL7#T05 z?~{J~ss0XWL((3kZb?0nGL!t1yb!*uB>lhnYfRdj6rc*5knEGE4c*qRRcq@?y_tWC zqA8(NnwTI<8Z}y;tj7waYK&T=fO=B>1`W+EY$};Dkh-9FTp^z?2nZq*Bc;cEgU7>% z`I9YRvr5MLGx1Q7Twxcy^C8jkkh<**z_mx_A%0Rn-B~a5-VtsRpS&Z`2|(WK{T<=% zVc;jch+qE@zn|U%O#HnJ{N!Cv1HZmi^g-Er$G?eT{oPrUB&ub55TZNKVn5{IgJm~& z4_7U2fzZ8ZhZHB>_fBkrJbk?kHb6C&{h#5%?yI4z1{EBfui^qCep`zi^dPCaSRx}d zeqVy<&BtLwt^e-I9u_iZh0GR-91@81Klm3M`PQ>KU29hB}vPWMph?Vq|P&OvJ(e^a%+MqVQ9FRJeaQr4T77se@diPw+`c z4*y3$y-pl{BLMMx;pO??D=W`JaFQ`Xo^F6o!$|mnyz2{hURvhoxqicy4sS!c_gep2 z@JFMy9?KWzUoiW2m_vYai^S11sWEOD>mKF;xZYEZbD4|h)qjku9$lC}^HkNOfrE{} zXC74SUmo(FCYk+z^9jKf7@YlNP~oC*3colR9)p2Eexe8Jl{it8N^lC}N`BH(qH&c; z5?sYkkKh!$YP1p( zB+)8GE@F!RKTjx;q~wfquq0_Z5~QfuP_EzA23$YOG_GGIc0rNQ@`^=xz-QXv|LgCI zhH?1iVH`dwrd0~pPhStDF8&Vma|Vmaxbu$=2q8PGx}MLyr~dohDH-}5Vy1bSHB1X+ zjaV-r&zH%8(-u^AnNP+s|A6KSlRbNi<_5j_(C3L!gm0KfYqt-)NxM8w4fY|p za9+z~VBUjeZiT?J+8jS{71*oeo6(j5`g~Fa*C!43N)4b+hbJZ<*&IOink_7ky&J&G z-;>^Yn~fmy`Ms;jmiOm6-sd1hx{hifB#v-<@#}uNM&W8U4%PH zkNozk-mk|96_Qs}HtykfG6Y@ZpXZ+%_@@T`seylL;GY`!rw0D1fq!b?pBnh52L7pmT5F(sKf&%FVvqXp zVqv^f0#E^R0I`)mJne7}pTKLG53d{`$)gy*KHPFD#V;@jBZ=wXZPA5a2aZevEg&6` z3s?j=04M{Pfv+1t0ElhD;aj!A`6bdO>Dx8q@X2|^-#z3!B&iwKZ<`I*&kK0e=;A&D zfCmCb0PyW0A`T{WV`5{dlij#}Yjn&)!Uch`IQ#5;7EYx9%4kzib zT!&RUtkvOk;7mX^AP0~O$OjOf%y|=W7(8xH#eMW`OU{L=9v&qmZv8twri2_Jl>{(& zN8F!2`uI8E|LMDb*U$SxLQ+nB`g*JMJtGLf?kK#T_-HQ9z;=C^w?nU0k zeXIbHct_&vX+Oob_&z|+ro4G1mchf(f8nhPToA>ie6QZDnMR~F8T0o16~6h ze?Z!R;Q(V(Ggy6vt>n9qp?4tPxV}8ApKt~U*Z|1q`0{3z;Y=0a*nq>&HS*=<{|I`x zkHfv}o)2%t8T9D3}*k5 zW6L@pVvq>teb}$dH5AJA_jX{)C@wa}KQt~VDsVttRA68IZ`c3jj!BJA`Y8$nO?+Zd zhOr^Z+FMFdGlq=o`e?3Cxyncy8<9~GCl>%Ia|abs6DA+E1{FE*P_>H;uHI5u>Z(t=eyKJ!)ONR3FD>OH1fmqpdz*lJ|$)?YSoz> z)CCMEL_`7Eu`~3c(RTPCiVFm|FccYp+Zq&%y)c@_G=*!@QZ>{m7=?o#bd9#dHB%^U zLq`gIEcP1Pua2WHokkz|2q69HF~ALd=<*HBwZIhcZ2;+4<-pVxxCz!h`hG>cmmxP* z=+_m9d%K=5Z;i1pFUG=`cNpMSAH2v%0L(ns&3t)gmTbQyA^NAp#FwWv_2m_ixDec4 zh^In4FVJ5%XX6it-weDh;g1BiLK@cr@yZMl;S=l0=D`bLhI!a+?aTAC`FtMMG-dM; ziTH+jhyg!a07>K1Jme#sD z%xDpRcN6evjJ*M{e%z9L%JFUu;*)&Rj<{Ka1%fr!UL+rx2Ko43%a3J9i?o?G3A)X? z^iM-h=<9)`|DVc^zms2ONQtf z!u95=eQb6Ghw`mo}Yr8Eb)m`vLu>|AhYEPM9U+ z`BRoO^|aQLiY`>58!QQ#Pyp3C=c`D-2{dfkkG6@@^ciGJ2ak~3;mSJ%AYDTkzn0v;o*0+2g};?K*W_;#Q_tfKhFNWVZ%@iUXK?@>_v$GSs{*C_u-K#V``5&?z- zga8R331BPa3b$d$2n{76^jm0qU;)6GU9_qgYw1-2B`|Ji30b*Jqz471)xQur(_`P-^Kn~c_lkdC9&hu0o{qJe%L?heGAd)N`|jqJcD7&M;8t-kY(#F-3uT&z6bhn(SM4k+&9 zg|oub)6jR&KH2g!ebND$04-nxU=d&zAQw;ouq{OSfX$qkGFbVcZG8bnsOJNK-2h{} zdyF`~z?GFm)9HO>4BWv0+vGES$l2EL0Ir`9Fcq)|kT#g>Hz*6aiX9a{a~v$^ZifaQ)5$`bS|*p}+9KXKggvFox^b74FK)MigfV*KZNd zGVa4)fjpph^?4l2^>YWD2Yd~nKH|`ZCT&cUh9M_7D&Rxqs4L)~0Pg_L*;}IMPx!w9 zeOZX|hyY1|Wn?_!-0Sgp_I%|ubmYhxi;!n2q#`YaTErQS@d@7iB;d-GDR5HT@rzM- zIFuH3r$U_V%@7A+>7-7PZxbO>1sDNL0d1sQzb5g}p+#B|z=t7^(t&S@F)n~dNw|J( z;I`s$_!m2X7fn%_;KfJSEI@h&1)Xk+Y8#Gy9rCvZXOJWUsUyebctg`Y?)COg&Wn@+5@4Tj5s$PAJWmG1w4EGno z^EUcv89)ek<*Uld67c@`HDp`c_mxx`&X|Zi1AVX?`Zr)E;0z!!At8Y(tA`6#$BoND z{}@1J8wrI-U=~Rat+GtW6~lJO*3_90tq+tO3LTcz{@d z6Tk}~07L?U0rr5YkR6syDBdJs$zGh1VJ;%z2F+cFKZ@pX{ZQi+hx&gQdmDhLj&pDP z?Afy)EC<~M-5_W@dtha;@pb_Xi<)#738E$~Vnnn_3+N)+DkL7tMcA$~i?2M*)J7MO=<=r)7a=sL{-X&-41 zqbRHNJ<#%T)OlJnn`?&2fT3U>hslA-gn1H%Fy8=Z1^V3y1X@V^J~$MAL=O&p3KNi$ zB;jwPUT^xZd!$EVNPr*p6b$`J7lC=@9zMeu?gHfe5IGYx(*&>A;rlld90;7%Vf=(4 z-5u!V;;W>LG#*I<4y27xhzFeA^Ur1?28oG=|05*wA@WlIN3jKcBWi-$q|_kV=pC3b zn6pzcHyDKOWdi61zNf_h#jw8$lW`AnpN*2#L!hS*hU}xf1OL-7?@yu3=kZJSS8`D| zV#y~{WN-}Jf&W#kcYRpDQIG>ESpI>gL>1SQD& zmE`^0Z_&pvry=QH29Fyhd=C7p55H1Odhm#xP&-zoqz)}%L#i^U%D2Wmu8LDNV|!{? zC0qJp>7=q_%^cMlN}X$LT}DMa*lDbiE8S+ZZOJysjHTPM+nLZLc9?Y}r_e^h(&x}5 z{C=#gf!!PT`%sqV5ydd04>eUKr7HGYPJg`Wz(V@;$Ht0^xu;Vp&qu3vFQh#mL0MZ8 zo%91A=mEV4e=j+5-X&+-FfnRAzrEM(u`wIEB zFOdkp8M7OxcT8%3SZI@~rD)7uG$w2l(+Ga;qJ8TaI}H)4G9a31B(8?)+^tV$>$esfeFmqd7#Sl$0Q*7D34 z8|vz476jrkD@*PE#aPRRalaxFX#LnjEW2HJnK*=BieBr2UM~>`(tS}35_2q%vL;fx zpN%CvHP*17;ufi4$$M&S{#>K+X4gKA>v*$n^_cJsiJ+gy2ph*OvuBz4X6p;AU?CnB z)7WO01O?ulMm_iN7{}doC_p3chzc}H8gnll6Xp}RT8Z#e@@tnUZyDwo6o;~`!z$hE zu_l!}b?hW9B#=OpqWqHoHe$LTC4LVPKcr-jqn=wZ_Kqn+e@o>$#QEq!v^pRQtfa0Tkh1$h%~+{X!e;y?Zsu?pg*Q;!`DKS&EB zqX_ozWkCO#1hOS`tezcXRo;zMLg<(!l(Z9r)XWncF}0A3lxXk!YbF zp@~aEaom=@`CPY@o5OS^YIGMy=ko@-ix%6{I4A(KMDziUCWaW9V(Pqw0Aw+w#)2u` z_ZL1R*%p6|&T>&ov9jzwMVKV~R3N;?9AcqPEup@ahUlmx(hv>RvZOU{^65Oa>{%Ig zT}tOoB{4!|dm)aKTD}>j7&Ub{g5A^xHZAdwDya@5n_CQS>XOlUQ>ZhDA(eEEQeQ_r zEBReGC3{|`)WMWsQQpNk7L`YWMxlJ-iO~YO z&$~@-4GH2WG!Wtm_2f(XY@O&7zccy}UwE5%=nj!m*hP*|o*}#yga!j3mbTl-isTin zS?hH=yNvReNr12SIz3)C{k;G|Q+Sia829s!2G~&eIq&-kRMB03KFfxk3~LJWw5a{Z zL#$I7e%}@Dn5X6S(Nh(pT#a4$1AzyNX;JG3LQc~7WglTftruWtpCGPi@A(imn#89F zl%G-Q?4#S=CfX35qT}UT-TonbKu}%LXstvHlJI#FJ?JRW58`8$sL<^5NM3A| z@N@Dj2;$d9zQM|3X*^R;n^$bBm05p5)yljZsO1|*7n0svDqCJisD|J58*`(MDbM_K*9dpngy|Hu@1NL3+a{TZ|T z$0WgcS=_F$TB$yls%88?r{tK1pth_(r)p{a&!}3d_h*#+Zh+LO_qPi7W24?T72|d0 z-Jx(>MjPG^SYKCEpxOzH@aSmeqoZZ^lB2VQM@B0j5v?;T7mm6g8QoLGM(#cqR=Hqw z506jWQQGdJY#cMAkBv;n3`dOr@Mz`3BvOi;tC-71mVYVyaJ14mTE?@HaYrSrQiKoY zRZEvYFFZsl00;@EM__3q6DpF9otGr?bX9v_3hfNBw+~hGKIOr1|1gHqxF~JhzEIuF zQ7%cXdk|mFb7IUo6quvp2reXk9>ryGX7d)_O@BR=E{>;KU25ZD4*WlgWakbaZDRbl z1C5f;k5f8!lsm2#za0O`SfWm%-KB7=MgHi8)?#_{uiYA$`iNMKk1_1EI<1D;%h zv>&+C$I2|ukuIxdE7MUDy|Q3lAFGm2r`liYSh%&M_-GCHl7;e-${izRX^T@HTbA0y)UwqQ?@v@tiFWCzu6U#-ZT8DA9Su9}qB>7< zolRVAnDrHKv60!aaVb~LOVLoLWHa}4zZsc5`yjo{L#WwA*RtMaD(%uc#Uo?ag{+W@u z!*u;Gh_C(z@y*_NPn&qpQaDmeH!=F_fk#x?OUGKQXbwp8XJQlR7xUF_riI**%9SIe zOUwAyQJx25@m>jZynI1*60;=lW|i;dCfb@FYy(fz9aTs~>c1kkijKno9wGBzv199g zJd&K)uX}tX&oVMwANO!H|G_9m&j$c>De$bS=UQ;I=&a?e&#G!=`itH0O^3CJS6*voif{5P3MbV-QZk?2cB5{9g{p>clik5wdejwj)rrKsqZR=mjw zf4{5ixLe_{buH0kDXFEHVU|zzr>e4ClB^6W^D;Vs|9q(M!ClNBmpbB=R!)KO?uQe! z@Xl1|j*~P=&(SIBx}|kZOy#k=UE4LbYMb!RU0=vC2UdyM@s#%wRh0|tCCd7FsD8Qv z)cpZcL0LQUK^(D=-Y7+aZyZDGbcG}QJwsI_CC=)ra;QdS#c@epV}gNxV>|7mT`iBf zTr$B$2&I1jSXpO*tn%IfSYD&D>$oOeEVxZvj{%&Ml~n!C<$g@qMPd{W1p8j1${L|a zC>zgIKNXp3x5|(!8->M#n5%=XtKR~--|?9H9Wq7bP*pf2Hb=s{PMJN5QWXBkwW)`}M^r^0Mz1ji4XMzZW|g5u9l`iKnL(fY1c%$0|{{mykU5((gq< zhFC6*DJF77s&9Q?H)%nQM{CL&D%^fRzbYr;wL5f9dxk8@}_eCCfMDfL* zSfBF1UuXKZmgXPa9Ix`UMjqUny>IMTwJ9WS=V$4t=N&3g+gF&qCU7u6zR=ztS-QE6 zketwSQ0{(!;4r(!N)v=J77J7FqOwp2CnZgEyu?~3cSs5%Wgx15#suz(Zd!X$o}jv0 zC{1)rwGYcp;f1uZfP*8uK<164RxM!P{T;n{zTE!+^@Qr_P`{d5`Z61FAX&mn^XbW% z$8EW}%&{a;`9>fmJmJi+Bhk20op5{jm$cEL&dlMK@T(KqP?9MbI%?&5GG7q;3(1>T zBy-!pKV~8`qJidMNN55>}d}{k}HQQ1; z%!YhKSMx3ZJ?u>UGQ7E3U7h%DmA1xVP`bYuuK!}VJkdut@Dk$*POl)-F>5d8TI2a! z87kq^VLpbk$4I!@HWVrmg(^FKEGbxj!bijGQYV>H*yE#J4vtthL<{c^*U}KId|UtS zzYVjY-j9^#A4pvLEiRs`n`~#fL|kijTMpOaV*J3RAe>8fJgs|46C-T#ogHpEM_umhRwi!V|+m+=6Sa zF1tqO9cHJMf!h(O)J`(50j!&{x2Q`s_7-EQgw04WOnN11CmL(>O5v%ih>GH&3tei6`j*?Yy zSETq$cz!szzB2O_##C1Z^Q@$kp=3qO#Cp5_{(76>`oH-GQ5#?G|0l!MOA}jh*ML;9 zGmN68+D&*+&PYiqI>J~V@z{$@_$f(vOLI{l$L*v}5elTcu}@Kj_vZemC_yYEDGTHY zlBL5T5)^W^kk#B3zdR*x$#VmF;g79jw4aVh(uU1lQcC8+z?V8~?3NlIVYnEVf#zE? zQt0Wlk+&y2GCVtp;)WmzFn2{5=eZ2hVJV0a_eZ+zUjeOsQYwbRSLwE7YWdt@D$SUh z1$psfnNPY>!zDQ~Dve9ck{Ec(_}ChL^sw#GODS{(KH<_-IwDmXlgcEe$`+-{SEMS| zrYfIL4cV5e+L;=u288|8zh%|^wb$!=5*nyQQ; zgC>trHE3!uh7OuqjbVeP)5b}Iri;eOgQfwadN7e!8#VZ9jNyZ^`jfGLIvE=`Q9jp& zSY2HA{s3!6uS9Qr?F;&QJ??9CEE>HBVlA;>`R;^B!X(tGh{xg>$-z75 zWN1g+WvTI^)NgZM%{C!CQy{e66Y`W<{f`!2qRr55V{4d1l?3%-+s_?{s69=?xn65;zn4#G~! zTX^S_6;y#Y4tso*1F@c}fS(hOKcRq&-rYbH~=97Cya= z0jp6_x2Jh;DXT4C@N9@{4=2RkneVIGNaeQ$^gm*<3j&zAk>m{1OJ3bq0S=3WyBf`q zdPhptM^K+j(ac`^Gp!~UQHTOh{Qg6#o<{(`kgAjM1AHwJcQ6ye0_PdIgYIa=gmwqh z5v4B+@#Irj;#jxJku>HfIdsoF{oiB-QF1a7LR_rS$UI>rkVAL;4ih;UmOwJ=>mg`s z-uGm)qP`$1YTVrSvI^43_@#d>gbh6@sg)g-csrRns*b4a=kF!zDD4V}G%4@vfl!{E z!b-WhJB?g!8^j}6jbUL|kf!o~#JFa2=|q6(uV=*dCh)GMJ2qdSPtr}a-Vq{>qj{A6 zFUZ&E;i-u!v$Z&+?rUjX-Q2y$3l`D-q7aBC)b(77#Q$5yAxVzJj79H&aHe39-2XBo zhp6j9=*duh9+Q5T%zG^zw?P|F!M{eH$WwcFVuJG&^R%jbPjESl^}a0x3zJS}HC@Yi ztrKHEI~{Wf+S^0KK7_{X@y-!kt-(JzlkcKAFBvIQ}n`|j~{^GG5H*LMemowu<2v0Z4gojF%;dtF;S$n41R6-0JERWz%PFp}Ppy+YY7EP|Z6{j>zi7 z(r_W~cBzNOG@e!3^B=b7C)@K)!FbD`y3IzA$yz{ILwed15J@~6YDF1yh;!-E19LIA z+=#hl%go!S&fluV>PEOmGHHpved_G3gIH)2>BAEQ`e3*?KdzOQM_BJd03p^nsIHQA z?a{an+E6ilHJXDFrAehRrP5kSsl=Wq@!k#?Bw{=^gpJw}!j+Ld%H2+xv25G!NM*IW zT3p9a?uTzz&b#eXIYV5o%T$e~qT+J>+}l_qx)W|UhWb=>b(dSV-J*_b5L{QoHA6C8 z!_~EGK0eXes9D@duUeoil^<2ed(e5<->^Gg+@WotsWBBb$y`@gUsuP}4R6DI`1-Pr zXh$^PHZD5}^04G^QN|Cs7Q{CGY>cwSekJ2 zmhnK~VTVyHLLr0r3d z?04%X|woTfnustk195w+#aE%Op}T^d=eEHQwC()wjc z2vQS zd-GN>LIy4T{#NFb^H^=sZ8pB>9J{ROy=?1p1bSj-Jomd>uKjb_sYSO~L(!LF(Ck$P zO+h%V{|}MNWV&)QYt*j0W|u41^YKgw%gNBX#a(o3Q-Lver8@7`TV2mur<|QVzB4Nqoki!ycV>gm`}?-zp%eSIa#p@!)rJQ) zC^p39uUF?UW(y0;vm3Y8O3_veX@bUnHz`HI%=E*7P3GK9X=*YpGv}thKNB*NL>I1C zGgE8biKw0=qwytm!s=UH>omDZHj{MwI_+9Tm6Sd7QTw148Vn)TlE&wqpLt@`XJeKP z_DZ@!s76UujM_JNth#Eg+WCB4P4mIQYKSDd+B6^6AloY{XGD8Um!D}|p}wv;EB!EK zQ7zNiIn>-dWc_Er7vo&fwN$gTIwPWbg)6OjNrY4SgsdYZBW8&dbv2FBnyC#0`~0;t z(@O$W>soc|BDVOOK;MvNX`nfvIiF&gbL-r{y2dnTr`){&z^h@!*P-&VpFGr00yhzwJ&mDx8sS%gw&`G~*Rayd27p-?BO8^*J?V)xy1-t{P2QO>?z| zRhCSP?mDYEcMdRD!n(RHm;V*EvtiMW&Q5=J*uBm-G zeB5d@#{NY8H+WH%kk@;lxeN@y>fyXii6QwSx{Y-sy_->!yrY{R-xK}UStoi{rR zG#M(^uyGww$6>bl0`fgeiff;n-2{oyJ zWYQcG*Uc6OMzdR&97>IK$$a| zeSf*)U3$0cqUD>v{krpl=3F&Eu1qU>rSCc^`PFHCJ(`dI?);srL-SS1O^97TK2B=k zeND~5V}C7O{-s6Gigf(V&9fG#iY+_$C1N>ej5m)N&c8U8FRiZri}Qm$X(juoF8P2I zKk~c9Z~NpP%gD(llf^lN2KfG%{tThPGdJD;b@Q}~5%vzDp3Ar%77DoS#^tqgyh3mmZUK-~jpCpmI=Zd5+nAui$FO$oK=$jibb6hUpIupxJD%?zc z?(Y1;*om%jx(g&Zdp7L7H-B-OQ0EMx&WwudWFWaZLv*-;gbF(9z8lg!9>TXyA&Jf+ zx$GQ(|1;ZvxH~^LcGjr7PHWD6K{DMg<}YR%W(y`AMlubn2qqnLjAt5j zjAt6Qj3;^O$MYB(iPM8pCL>Njxs@ z!();DBg*=lL%gRB@B=~kp`r9I1C&P})>)(Z@YpnegR;H{5cQZz_g@{V>*kPV&ro`2 z;9`vIn`2S_I%WN3gg21zug1guL+R}SDvJ;CxYRDM`kVKnvR{_y|E#P(2gt+7>x*Ds z=ZDh&8bHq&*iZG1s0(7JYhRIh-%{3h0_+`<;K}g>KO2%C325Jz##yI%4=U^15&kX- z|6n}4V@Q4|kXAC>igL~tt!-Wv?|4W(}jXqVF2Kcf|ey!B0G{TqPzfI#dFLb!(7UJg*KviMhl zj!7S_=ya&H8UNItzNbBS&$>rhza8Km1iWMdt=|n5|7ReZJ)eFF{TTB(6YUGPpO{_} zrEol75=HCZQa13k=LB~kdWJnlSrYv~YmCe!{Z&Wv2}|5sR*;b{?&G~aw7yzpdT_s% z?O;R6KH|HB2+X15rJhzU&QE)I^e)~qryuFNUreqR>5oy=GES**Hy z+BHlLeK023nv&Hz{gC(2tHRAe%dGHtVw{>_9D%f6$w$u=6_10&RAi z-5{|W*m4v24#u5Ad%liDBee1G+C+Y;{#{9VO+)Kk5Cv;?{|U?#A)n6Yr#fiJ(F=6e zvA{!z8eEj8g%(~Ss5us;wsEBvJ0woCW|meuFyYuBl;-6}&<<(!a%WQha>`c7R6n<& zKC5*u8?U$$TH#c)OIdBj#+`4<4_tY&$}*ePE-s|=CA0G_@vL_DxYe+#(3~$dzf|~WzH~PBM`X3kh6IS(gI4Q<3PVGAB8o&4O_@ira$<|~Ewj_F2J&gP z4bv4WpAM7X5Pv77lV9*0mQ);Oys13zU!+Lh^PRPhew)%0JH_jhWY^G%yl&RoOIeIb zyOQ$6PWHMakml6V^Aq*g0;UKy%oo$z!ZfsQ)&E)w(1Nv%i9DYb13`vyEeB1beUgI` zRJ%{2f0EL^%y@K^^^X#aR5hNhQHbb?lOV45Z_-DwMedV$mtv_eF}|}6L0FzHptLn3 z22FV)boqXbI)ze(O#fp_d-tw(?bxs7cE+?f(#~@o8FqfAb}Qu@B4U=^k_P_4T7~y= zAiamInNX?r7~W%;;@>0DzAUlsCfU0%`HV=e3gP*wiF5@U-XXoeZiRl$EQYgMmG$oq z^7}mfZG$asgXmQkRK1~uAFol0`=(^C*}9)>e@6v?>Tuvtls;csUxPT_{-c8}#|Gmi z<5Bdh5JgJ1#Hf7zRDM=W+|&j37z)XhT=|PfuWe%dk=QfLF1yRm;v3qww$f;x){jWq zYlhi~hFK3LrdL1|Wc?x_{|bqSQM~^_Aw@EFT$Fg%pz|Z+5BmQw*its0F*G-S5=0fF zMh=}Ht6QZ-9Yay0DU7UV*C{cGc=S`er4sGNd;ZtNTG^iywW{h%?`9Y#W z$i{}|g!{KjGs3;IWO-?WC@EQf8e~pBA$1TbIv8WM+GgS^d>ppxJeRQ}n!M+_KSow7 z_b1BoyaVf{5BTV!5$_f$h^F0h7wza733L>`5fO@?^3C%-hW(gm(^N5zZagedrf?*i z6A?F+vo289&jNav`wfFFhVP(fBy9~8VCi^^eum8Q;2_A(_#c!R^vkD*&p1i;MJ`yYOMLm?zta2D*j0D8ofc*@ghWjd6HtteN%Oe zmXUa3si4f$`XKsF+r_{)n{TI+?OjsuSj#{KZkzvS60&&-KiGhI6)zEP4QN-BCABl$ z8DCMOE-5?@kzapNkxs^#MBTr0$jeNtXWRR9LQctxihB5O_}NcfwKO}0KZSs z-!stCGjP9;`MF@ZXGwM5cxC;+0HW-_G|=+T0d!rA(7mDP4-b;6!?u5|%)e4%h|T+K z0E%tv%ZOSC5&VF^f&Eb4pGt{B%?dz}U{#lo=+Uf^W^WuLZJQ{rkuo~?%98_);o#=> zw*wUpBPmnp$q?H?bpGt@!QaV~Cnx$$BKC&&ar&haJ5Srn)V7LU?;Ulyb|Ec; zH20Wh2VGaiaco4@CCXOXJSQZ({a(?4%R^A(W2hapt4bXVofA@0eS_q!dvky@VD88{ zcUB;OP+J@unrPm|RY{EN8&ng5UcXMcJF#D=8gN$)AiX;Vl4)U!b|9W~P{USy4iZ0K zAv*&iIN~fMPDe}0z*mle<{EWNF}`AeBN(u|AHGCr2UrKo63@aW*4VU@I}T=~J}Rj@ zM#7GY>1?f!8wgFxO_J2rsEzZ9e+tQSN#uvsbn&B9!lnU}G*LQj{$u9zgeSBYTAm#+ zUXYkO)SVp!`lG_or1>jhF>OtKyE!xSNpq4qa|H=mP0}$HvJ5-boi~vCqA+yPue~7}u&%BldZgAqWxlmk%7P3-yYF^er#foj_m6F^vb!Kpt zS(rRcmiSS?Xe7}yd|8L6%rv!eE{UGv!^fnwqz^!257xv&O7w^uylo;x9X8;TLP{S` zP~;8TSs#TJ4N}w0)J}KBP9r)i>0Agh6^6Nnb^@GC{n!1Li~T1t0Yt>CG)lNk5-*SPf1`khof$8Z z*9qaa^$$!?Ctz{JpVH5f`A1OqA=M>;fRUTK&2qY*M2e;2BJcMteUHLAjVTYG71dL8 z2ce~m<->kRm}kdA&XuIW-oyMf9|Q5c{sD-YRl25rHUeOYsYL%l|HmF}hiJV?6djY0x@HB~*=jadwN#(QIEw2|LDpJm(ft z*h-KgC5&%Up@jGwq{y7BY1X~ge~^in$uU%tw29nXctwnuWf`~RTZEU1PvuMfPsrBC zPG9~4DILok*dNpNDrCjL&7mv_H$|smWdWZ(6F#cwG@Nq^&Jl%;-(r)Q)?AZDrD>K( z*>I9^>X}rc)=I`|$TDTCE!Fbf5sB{Oef2-@ukrkvw!0(;j?)#TT;)^!_3l3Cok#6H zE@4&B*HK*22*2;E{Cyu$QJ0f}>W7d&E$C-ejmkHrFP27hm1)ZC4&@t$d+pJbL-S$d zx#*hu$NQ%*^)4HGTDA9O|H%L*y%!|QTDI3?%)S3zGdp(aiQUs_IY;S|`?u1+oL8Rw$?vMx zGthnJtqed?^d@@A)aaxX+Mr93acRv43Cce^jivRc0v&TPw0@w-u`H3Lh_ZP~nBL!Y zOmpsTS@*zX!T_#JD*vy#23uq3H@|11Yd)O+PjgK(bZ?_OlK0SU|HQU_@j2|pigKs= zN&OI=*45Z9(j?~T*;GRuRsQ#PXCzFFN!~`qyE9@Cc2wolot3x_HluaaEBnvYROQK9 z^W=h()Kq((bGe76qN}58JgL;Om$1##hS}^Bm~=_x5axleaGQpRCSI1C?zt`evu}Q? zL+OZIY>Kt?->ARSw-i!qa%Afx$(I`cTyhBO300O`(k?lx*`esTJBKvKt{hF-<~2|L zQf7zlw4tw8PIP9y{|Y>zh8B6RV7 zBrTZDuu=N|4(i$od;8*px?!lB2F{#i({1fD(2j84&8#y05GN(3%yyUDI7vek=K5)K zuVmS&rGK$r!ccZTs!?;2S#uo9$e-UpK3G#;L8*`jwj!P@={wIjpaUzO4=i6}+_#e~ zMtrnGWydnpaZ(PgYD6lR)=Eu^CY33omWFB+Di87PZdplqew-oM?xy1m2D@8Q;xTBm zXd&|k^y{=HiQcXt$LF5!b3fmAffk-5*?V78*xgJ?)t6`@!iK&$!!)6=uf!8=cZ1Db z6AJoDs{V@kdNCocu&z(!9lTqP(~2Tp67u^B^HXD}<*WM=W65r{kV}ZCT`SX`ljwh? zFof5y>bpa?tnMRAO?JL_lY*7X#S24I!cDST8chuaz~Wlv2yc=*3`l~MPenr6(DCvu zOM676JvU6I>WOZdc1=Lkni2a2a$H1m%uDHeTD2AXZ(9{z3TpIPxi^cKKubMKADR6E zwUy3_qq6i^5tAKE8FhaC-YHnCD`4#?%aEER$x~?e5Bf~<`y>_DfC3e7(eZtr7PW(R z7?4ZHU5CXP>0I*ORqZ0inNz;HT1o&ZCvEd_&Jb({WuLp}vouK@QH~4(|FT2kw3M#4 zuf_P*q%ws2ELba%g|>TAUon}|d)zeHt|4WCgc};1yW}~H_AzfWR?$KcVq?P=3yReWxtwB; z;M52$1W0}74cvG{wSJE>G%fqpdxW6cb9c!BB23~hArbAhyKNAuV;Y|rGb4M2LjQ9` zOYaS`JR#}L_CBfbKdl(xnU?MwT|d(FCE5C~+~`Zv%nt-}^thzfEJfbuH)?5<+$0ri zHv8pac4*by2QtEI>C{+l7el4Gm5cX;WTd9PKl)Cr1T9%4JE?in6575bO5?ERyXf_0 zuP1Of9Fmg5CDv?3OUI31HrOG3T#+J4KM$Verj{SO!RIl&9wIL_&y$0YJ5<>BDJrEF=!$7DW>@aOA>sLI;whKr?= zYE6>_h|f{=eC!0*?%co~dbrTiq;hE4nfXd%uWCcyv#PE?b9HZTbGf!?*H9jv{J^Z} zIiY#Ky5Y0r$iaiM^b!c+ zggehEHbyp{?fjFb=B;*>FUobucHpqA{ueh^Erfn^bV2bY94kZ&q*yahd@aC6IxU+- zC5XmphYT-0%x!w@;(4FrSI9>Ou$NbEDrjE(@PiXWpFcz4_{DgbV|m$1TR}5nBG^Km z)}(YD-I-gu&32q?w>apIZbu}J?bIU?XT5f5cT-5^V>eEQ8bZ)v5`C6l<^qu$LRtGG z!h_5=$Z|pa{Q$qlf}gV%h)<-W5M#d<<@X!dvd zzsX{VF=S~ycYR4sauiJt9l&Q9Xn^=|BB(tIJc31(@;^bjK#pPJ@#{#!v3%3Y=9e9% z%U@2)J~NX2*qyfCfMx7D+2{azbov*B1}zkyr_|lL?rGujc`APv4P4O|=1(pZ2oW^e zKf6rs6WS~7vn7pgj9$5) zbGa`yqbRGAbrX#Q$4wqm+SacA{bZ5W`OEf_H>HzsX#lvZLH!?GfM6MaIj>;fY;7t#q%hNOd=35Tz@kvT8g3Sn;4 z!(ZXGLyhIobv{pRU_346AlJw{c73x>T_~TUTK@o@o=WxH&DUwP#pc-?*Ix*+rdE3i{6lD#_R$}a+??4S>O2R<18p}ilp+m+yObXTATx*`pV>RT#!4X zPAaP6F>KlM!ZFa;b>Z)Ayr4X(Y*N-L_2G(5xoPJMkk)jhHTfZu)?Z0l56OvU(RAWI zM%>foq_u4&>2H0YNr?uqL)EcyBfqMF#^EebL#H+*f`(F@FjR^hN&YeB=kj9ghM~-u zn1X&-Gq!T(GhCCDRbi^8-zqNAi9cj;lf`Ku?7Anev)0g+9WOirwZk^@m>CA4b)|?Qf6TlGOE<>zGFR9i!T^(G=((Vq6vTf~W8h!JVvbkZ$?T`^|?| zSnrHF5-Wdl-B#9Iax~PFPeTG$&ZMBX8hEngT6+CJLpO`P8Pq)D@-#VO2F1v14<)1# z1W>ke)wpaOYfAHVY{0;qWDa;?A>7orZa>an2ldA+l+}Pap$x(UZ;DjkH+qmC#}9|@ z^fyL5`BG>AeYXrFJ>Ql=h$DG>cuE)`CG&-|v@n_2Ci3kg4qP3e6n_zn0N@i87-T;$ zwM1UWEINf*9(f(&QP33*PUt}f^&-8)qFeo4-R6l41w_s3mL(tcllue;$r*ruJLq8P zh2Ge+lBw#^uwb1`&~$<(&dobQ$`3kdXSji{aBv*X-HB6kQnm@$iC;&RuR)|T!hk*g zpkT%U4DKCt(Lnhfhr!0>LauawXI~6+gge{g+bj5HGJZ`Q3<;)TfRs{fD|TMx;mL@J z1nqPP8zSlphKTox*dZ~VHV0a;h%6wF z0JL#7@tO*rLn`qkhCx~Rc<+RJoKBDrc0YAPITZe@qR!9}|(Lbs;^r-%gzs zIa#-;x7?{q?X|bxLnDaaIbQC{1-QDjLs%Tm zZP~`IobKb6Z9DDyg~wIEJ++N1+%|{t+eVxJq2VrY>_fQT!ByaYW%PoaT`1c1uZ)f{ z>?C#$`;_Rm3dH?m_Sp%yZS=HjQ|A|4t4of~j@bI5QFaFVL&VvO%O+d}*58a;WWBm1 zQUf_moa{D!4NTDs(3XKMo|MACu#aU1i_Pe+_N0J^z&DF*Zb)n^2^fy9qbyH{q8N{J zPwr$3PP;ac50zVc2cIW^ zDLfJ9p)z3)p)kgtZ%AzlT|Etl2=#o*&?K~J*bb6L>r_G*j*d|w3cXW^mq}UqkDiL4 z{92hH?GgUbLyjGt>WP=)0|0{*JVWU08Lv%oQwjY|_jeMA6Eob9(RQ<>N)fuP>g}$t7rcq;_g z?^da>pgb5+9TT6#MiOTC6c+1|c9*Lp{DCTHTq}21U18(dNRPXVOgGpKP|0Ug#LW}n zl;9yaWk}6Sr_7r2=-&5d#ct3o?#B7v0lf_?u@+B{dtZ<6#5fiJ#Tp$N>Yz#D35l_+ zH8md^)hT>wBAL$%?Jlz7WgXD# zR;FJMJRt?XY*Je{GEQo=6B?jl(aKP64BqT3cg@6`p1{7G2)h|dZt zA-bDoOwz>>8vP3*>0an@Z|xB{f^tG(50t+Kq+)XrTj;a;m7@vkde}+uWS?N45!;A= z1!)diu{lU^N<3jh5BGY4F|ncYsUG7zoh_-E-AYN#HeKtmLi4&F)SBeTBld|Yz7q(s&k^Z?vY02oZi_Ob~ll_QKz{D|{5mI~Lw(qBG z!4}3OEbB=Lfv?#8Sw@bg?Vi_D^a-Mf`Is{}VJ^vM3CSlz={ZEXf(nL&@EJ-xer{2-8K0*@ZuFk@mhJ%Im3u zNW-j%>6V0Ud(Gd1ae^dCTt`_?1{%Y?bpcl zO{2R0Zd4}yZDs0{NoDT426(ZQAUg^QtH^B}jPC1hY{~2Xj4vsBDWkj8Z5ilZLhCMe zTP}9P%R!qRYRgyM<{$t~YJl(-|A_#|;XN7z@ZK-A) z4JnBs6+Z6HtkKxg)Tmr{J3(U!2{5U+H<;!nnl7}sU^5cipsMJIIZ2IE```Dx49{_X zrgArSb7#bss4CjhxdV{u@rFoJaHxtt!%^eD3!2U#F;wo_ZtepDe@Auk?SIvkYq|nz zTYyk578cTv5iLT8yyV`hMU57KwZ&OBIjR{q%%LW#ku)TY+G7f;C zPHFeJhO9K9xVt1@2VaAf-C_=oFN6^X;cS3Y<8~E_xDC>xSIxY-ctRiG2|7FR0lhs? z5JeY1O?f`P$A-I7x9NUN5YM4Ab1buB>EawpVWs7(Nc=+D?xt)71lJ9;@CyQFP=1(i z&~503dZP${WAGIPTqSc&gdtwa-NgzqNKtS@_p|QGpLZMAk!@55T~VN}e5$(wbw8e@ z2qvuVu3X(cKKj$t+HYZ>{4T8Sagu!@otwK3Sjr!!I=4xXPK*C4yf@H!i@Jp+B7$=F zlh?-kgrArpm zqPaK=d`)s8vD>ziut&I3{H;J<-!;33q+^f+J^aSY0ah?Y9V{C>Hqb5CuF2a2 zePUsQ9{y`>L>2^xNvXI*7oQ5Ge;(||))H)VkXu`@oosx}{;Y~s80UEk_$LMRwHBt^ z7Gt+PX}7)V$^5yc%-&~^WM*-v+OFDuXsN}K58(`)*W}Kzu-XIjB& z+Hmnt;h_ef&v~F~veOWE_5Pl(pOrVZzngf&d3JZhwf4pjtNd~EnRY|mGgG+g=JF}K z=f+gaGOir;k@EsqX7q7;M9)dY^PsN+CmF5~VapO(&K2{@=B25tuPpHu-y~~rqist0 z_x6Y6a%b!Aq#obt@WJ*yZ8e$5M4TcY;Q|pqrln1LDaPD}1^Q~=?>V_)~ zn1GljElBE2Qg2V1Z*tHn4P~Xtjpy6`JK*%}j%*Inm9ujlCqSzE`&XkfLZlw2&*0o$ zCF2crT>if*xGC9HW4`tSDQ6nbzI*i3v(s3w$U);iX-&En^ zyKFkp?zhBB83&E#Ddq2fCl`IU?0a>VA$5c=Hlfbgx88Mpjv)wDRu0x* z8ezJ4rwW^~7uh*Qe>cs1S1Qk_a@b3D5qZWJ(y7g;qnXuJI3*seqpCYqZ8rms$tHS% zqsyV*?kIb;v}%4z$>H-j#}7Q5_KM~y`YabH2b~Szq67pZwT_I^*Mp{HMmW=_7pM=eYpYH3cfVo5f z@L7kMGw_6>a~998nlH=Z!&c4zwm*L=bFFM%{Fg|aVv`E*UID{#TwIg1#sL+9oYvBd ztL;8Jj`>N2Iuc~Mm}6gxYFql4>GTqN@-C^VHN~D`H#H>hQkr-y-%xS#1B-Ml)AHAo7^EyXs$@jE%tnbOtxDNN2JPtmk zA+AtSbQtp*dp>ExB)#u6M(LX=*-V*y_S8+o8Q1Y$`Z({SUA zz5_?Y&>WM=&3to2-F2}6qV=I^k~AEA+?A;@_*4u#6Bw_bKDsc%+{d_h)GE4LC?$Ms+j@IBca6{}^Tugs-y!vSpUGyhuEG1ry8 zt^9rHyB?9%D!fNzL<)7fbs^}>u#aMctqA3+ICuKK`&ZNj#YsAN^t{1yDq=H88SwN_Z7M@ zk=%RMC8wTM6-3Q*q>}rw;3kW7T^Y*zZL6kJ23JI^ZPuIhYtXM?M>dG~zQaT*#rzE{_-91xw@6kAD0&bvr>>~%^cOR1>(c6>N)$2zm|&mLjmvU%x36$9E;fP)L4XU9 zgL2r?IkZtiefC7Y`k97gGxs*$1FOZG6o-<{3+t23jc{|h@H>)hMilBS?qfa!!{NSe z^4>)GDk^my%$KmcOt^m<#(=xh_u}^o-bQ!}{>Nc50bf`_rIIuz{%wKZq1W+N1b!#{ z$S-+QVZwa}>98pu{fM|9$M5-ngFUOG%xA~LSFT81gzLPi$oWC|BbCAYSQ_{D$;e3IPRwgj<{ta7jC75lHdmsDJmBSqj974zXGvK#Wc*?g*NW|36wn)upuxu0!FDv z14%t{4y{g82J4gnG!-va&A$BvRR_4|r@99WOX@eJu%;ATCiVlYQreiY`iSSpg zR4RwJIv&S+9FOC@)vfEHJ_Y}?Fb>o~Iq*FX`<9b<8};wWW;0;OyAR}j5b|coR0i)8 zz&x`P?*hJwd*N}XH+dtZ1MW@mN7lJlq+-65AqMyIBP{0)yyFVEb-Pg4FtG#4W+ms~kI+i0Jl!+J_-qYv+ z4Y!~S`(QqVxeXJ8_dtFE^Bb6281l9Rc~77NcgnvHL*5ect-+gk#h@M1q=3H~e!z#c zrN81AmHxlK0YarEn|C4a%SiW0yi4K&K37iRp8a2d7D)3wq(|QRI1`3^vp^%jvdOY-W)uN?1?gu`$!X)udneh%{t%*!yYR=gJg(~dj?i1Ql!-h+|D{X6^~foXy1 zg!vZ?g}zP7ImFTn4Jzb=@><9*+;^U%QVlSVuf+R;DDQsIguHWd2*2c=6Y@sFS>(|L zlY=))`_>U(6)|L;w?@X+}wZvo_t(AFNKR- z$p5#wPvboc+*$t~fy28HXUCGwxuYl_?zHbfI-kQFQIoeeesowj8Fh|+)q!yGuD}_X zPWYXH84dKK&OiN84tPK|-0NT*xci>mh5tTqdlG#EZ6XuVGapC)I)Zl<+L14L4=t?x2TwkOK9)HfJRkl()JF!|dM=D( zIo|DnA@917H){IUqaWZc=l_qguYrrIO8>ue=M}gp3^;>|HTS|W17R|Q#Y>tnDubn) zQi59T4>3U9+SF_<*ETM;2#UY;r4n0fXGjuV*_2wNO@E72XokNv+ih)E1ChbEELP2Y z%lUtwb7y!_cl-b5^Eq?wJ+IGs&U2pUInO!woEp4OKpkt~&j5}egS(uEI|6Wr!y&-w zLHJAW10Iw~_fjl)8N8(kd=7Ef;Xk$zG&vvlMgXrK+|v;c|7G|VjJc1{_FTBKS8KSJ zYdF^qz{Ab?WZYJit%1KC{#$Tw!Wr;R_dz$oIqpv3a>4%vgb8p^;3x4&H%EEDTvOsy@L>$j?PojL{&^^#Eik+uTO^`VW@aYnfX!y+tzX6w; z4W2zSE$dqscnF^V2A|Lr1-}h>IHa9|=f@DY32r5xzs6YF2cN3@js7{*#uNgJ;eJv{ zghBz1?$XKv++PFk;N3|*$oG>;C<|qtWUzeePs97t3H+EO_}k(C1MW^d8z%B&!r)KD zdk&tTg=6=Mqq4!os0a*&y)6Th$AS@)GA9Ekv5;)B|@a1>YvZ|2heY{(qNy}RH9OUk^xK9S| zQH0M%opfc@Dahx`z{~Y{{Fph9@nb%D2I*&_FW^?feFS$6Zt^U&2W}VKOQ$%O0WJ^e z?}u~1T}8MEf6Sv8tMGpfzZuT|I}i$d4oW2lwx=G#af=aO2DcT?@N3+Og!bm1=Ug?o z*XS#Ror1GH4!sENC`0@sh<_dL4R9ymJTHM4E#L~rKtD|R4dkGO<4ivV+;By3yWp3aQ_3Rp3RSmf_n&#?(W+BB6KFy`55)X8jd@A z*6-gom1Fl|VU%Bc9O+8o-hev{_ZZ-w3l|T*z8HQA{QcGFo7LcxRgib9K+Dw}_XNu8 zcn9sloB-n@o1_5U?M3%`)yQdC`XYYJ<~vaaoVt+XnpP$kC0HAK)P?Mx ztTn1av<>%k;WI!B^fS6g?|08~`0c1hxgWvNy=&YWqz7ZZj`sZ6wm>ufE zGB^${0xlX(fQyB*z-7U0M*10OFK1P`(&3(j^T4%@SGjhB2Thmw9s3DDa3mSrhcgqi}16a9NuWN3@xY@Fz$wlnu^0lz`odN{I!#p|rm3urd!yk8#@9leVVb(b0%NPUNeFAX4 z1l?dN+H@W8T!z0NE*9Y)xXI`%$g~$DpT&3qUfxBUA_3P>xM6T3;Hceqz`qA>Fy@D! z;2l$M$ji&)W{-b*&XyI2$Gx+^aFu;!>$q#r|88p3gwMyVMp{U1;3F2U`8qCG%o>gQ z{))OQ;XjEsO@>Q`s|5a4P$x&{s9coq4LGXrrRU&)Qwq!Y?-MxLly2SQdO8peA1Xk4 zmSHJBW)PeaZpKiRE51PGnh=G4K|287i~B)$&2UX{JK#={-VZl330DB4Eu+i0!dSR* z&6p>{kB9TCFbw?MjTAiF;VcyPBIiGX{Er&ZkML{Zcfdake`plsIWBFi$NL;S(;anm z*B#wgNB7<(WA0cFd2YxO3g^O|N`Vc)!WAw?xnvK3nZsWR|0TF+$o@6(U#4(&^Vv9f z{tI-6UKYY8!xdso<$`A;*mt79#AzLms4&Je&e=ei2vv5Ej*t z!bmB2B^aP94~iX5fhVJ&-d#*z{!0a%-7WEIizOO`CrI%L&g>H7WA=g)Nh@vUDu9JI z{ZfHSGILI|%Jz;MwMTOl9qu%9QY~kT$`JU9!5k7yR@>f5M!dk{DLcTJ%u5A4%gx)~ ziN?NE4Irz)hYvliD*T}W{8MYt<{)fiH6yjo0zq=e+6xl(l35_EC7N@<8|(GOUjyut zyt@dUXre*V8}LO)Hv)U4$aJ?QwM+@2kB^e#ocdUNm5E#@{af|vdb`<{`oY+q-hLUW zak`_W0)hGm2rJ-QhXSB_xAi1)TT(7cWHk7|3cmjDv=zj& zy&!>)OD`Cy#s{aF67JT*pA`zfKc z!8j{!y)p!XW1vZo3y;=Pg5X}}*^I_B%uVKcecfeXqnFNwZ~@^jvXKXbb>gKZv((GcU*#{|dIrbZzg`7j>j zIXCCa3FRKN!QRiaXm*ppR*+D25pH;Tj1uSS`(q*icdd<+r}r;vd4D{if5nHc?ly`) zxr(9g)N{6X%;IEBDeyQ_4HC}8x+*?2&cVcAoES)BiECEq;u4NW>7ULq?rNq)V~CbB zU~7LtCEkZTifvtaPrKTTZ3R5o0Kk}ni>LZ`9og`a=Wa?P@hVH!;@ie21j>;9Lm4Cb zr`gmg4!!E+xmey37lC@KJH;XNE|e?pZQx=$o+JMDjau@k)}RRiScI!>E-(=u--_Yr zhwlQh3Y@zBamD`{5XTX&`gok=ju5Y3K~VJ~@hbVcBu>0|C3!bHpYao=r@AZd1nPSbhx1(!_YK9Jqqsc8#Q;$8t1Fv${DBUSQb9;`6p0we z#rJ2B9c<&pRRO6FQR4yWJ2c`U94-TH#dtf> zE84)yYz>s@`zOYb-RMMm`b4O=*xmh#{hRnfu#tONBb%?p3XL8=VBN#s_goR$l=t@; z>|ln3dqtKo!3U_Um;Kh|sEd(Nq75t@J2%A@S4^E^-GAwIG%`4G$rVty3xmz0QqFk*j>Sbv;GN4(q>QG` zIZoG|;#0w}clyHSDq)tsbQW<=FswJ71$BR#_FyVC#CIncU>~MT7J}Br5AFkK za3IatThsIcI9Ss2M;D=br(WgKN6sh+a#G)XmCgk|#A-?IDpZ)26&>!I-Jgk-m{L+dsBPSBSsXpZe+jae9A@-e=K!1*s;Gd!#7@$A+_1 zt_GGWoWbbTVgYxa3X&|02d*m|6WHN{&W&ht9&-&|S;A3QHYa)t78!eUzV5~Th zw$;OxNPNyAF25-ErXpLWQ@{Yl6v__N59Cw?%C1K2#?TExHJqd2a#GxVq>iHES6IIj zn{EwPU}(bCS-7NSWN1amfHr}-6Tj9_dmut~Ve9fzHeR=)I5u8uZQ<5zl~bQ0*}`4W z*?8<7kIV|F$%}FSn7Xb~Ev}}6He3)9alM1IVjd?}QZR`og7^+#!@2JcVZ=do)87G3 zvZ@uMh(o!~V7ZF=4ZTo&zAvX!Z?Hubh|l(gn2aF!6tLZQ)Z)`18FXw23n;Gli$A;U z)Q5npK#|-|$&j60CS*+=FtS;@ThUejh4i#B+36xwG029faxwuKXf~zM77lW+n>(ueM9#5w&HOBqf=9mYOdtNXcsYnnZc(b^(v z@mrD1^WA0Q7*E!u&^jcE?wT0(sf>X2G4U6Ss_fU^!|qeE4)E{52K#DJE12_{5U zp`|LQkF3`?(lS^Z9-%foe7iOblFWlx8_<3xuicC3)9o4{U-l0I@*5%n2yQbZZE z|M7hz5!y%r2z@RE$1}5B5p%H4ay@+-^MN7x4Bn9cGKuew_!4wrgH;8$*sZMZKOhIn9mvQ zdYY?)L$MfNBIawD$R!~`f{WlA$00>QdYWBNDtQ5hu;kX}+(kIV;SRoR|JEh;C3XqC z&Se%3YJfsTFwpQZN02tN6uy(@e+wzE4l_!ioFLTeAl!*yCC7u`6C-9~!*7eCdPP(q zIVOH@i7S&@pc81>u+~W}&=GY`y-w0=Y^l4P<_MQwD^A2A_86q-K3}LG)v?(#9gF}V zNe|VEqrL|RAU#xTi-Y9wi+A+}yh-(GIj0R2hzUJk@khUy_Pt5seE*{h%+rsfPo1Ta zk~>SXMc#y6sUT7^M_TM)Bp1=miRRlSA!M*YWw4ufHS#$>g-|6G?+!GaiHzb9eQhbo zFzc|#xIeAY772cE5LBP@2q&7pXRKlxCr8uq|06@G%P2@U1t4pr7G5e1v2RG+V&6h2 z!8L0rnC@bCVGKUg|Sh3dqC;{h{Nj6mpb}s4-;MKSS4XRk89(uQU{Zd;I$oXDk z6wI(7e^1vgpjH@fsMd;6$cwMHP-~d|y~KU?eYeyaMz!i)=CIycea$FACxTlTfFD;- zL#HRw8C7R=!&TGYaw`Ru1RhWqq&2Tot5?S7aJgD$uaj?`qIL*d-=H&1tT?MwN5vt1CU#Nm9Pl{7z7(EP%dKj@C&wBtUhR}fjQNW zI1~2e0$1)ssrcYDem( zgt*)hQw%P5w9_3cxh=Q0M_9yWJ<(vY_R>Vm^N>s{=`BzN^)%5hR}kczAr0lXw)azezK7eRi&iV2&aEebkzg_&qSqS3~tSNNjg7CY)- z@Ez!WkaPQQz>I#cE1()EZ!7RtUts;@2IM!)wJ=EPW774uxU$}PdZL^9 z@20L3$_epqKv+OcM9*OZ=qCY`DK@hVGn-B@2z+}1!LB0cNUZ{qXRsDy;%0iE)&9U_*splo0nm>2i)iNWFv0FHF;rW?rIXB)Z&N7ilqa8$QN!IAiL z)-;j_?*!ZS#K7tT229Rus>?S1Op);OR&&=wn|OBr3pl#hV*p`R@U zriBQwahG|}G0px`QX`8`@_}UtW3UXVq?6_h)-HWYVPFkPUUmRx$<`p;X+xV5c^Z%uRiw%$Uk z#V__Y6XSW=fL87vSZZ&NGTs2YgvDh^iL;O@-p3x6_AhS9fa12^TAbK_fSO$3+SK>d z>DJ>A=ByuoJ1`sJuy;-$?CW*6rs>18Vs@dvzCFy=r~AQN_v8SWmklhKPym=A(fh+% zd@Ts;f`Q2aE4~H|jiu+&~aZ^OsMpI$T_ zhIt~Ic+r3LE7JFvQl!!g%E{jH!$gw-(9;K2a@*#Ox;0H-^8)20+?uA3T>F{I6uG9D zmT1}3hACR#`YGA8GYVkUrWp?>y$z1S76)KIf*A!yvNDzv6orp5xE2rHxCg>&#Plm* zheLjnnd0z^>E>RgWC%4_G+h+b8Im{zo-@KSWZi|~U{+PT#D86=pw@ADX4TZcSu8CUy0*S0 zTk+isv6Gp-(n~NiU2ZnQ6ZPUBE~M)-T*`n6td)sd5k{>H&~7bj=Vmkz?W|SWDSDW% zV;NchJq3Hhq|%v76kG-MoFlYY^U4KCd`t=~i)~Tk>`REf=R5$~64zd+?nDC}t1l3< zl2@~esxH`Fnjd?ANbc}dT(EH>2N8j z>6}q;JU=j?H%u*b@cSU@$3_nwPU%}gsj=XI zXX^@Hr}QJH(tjC{4|*0)de%+r@ISt;92iS%i0B03IoatKMk=exhn$g?)aH&jEGK8i zW2OZB(t5d`(`l$3Y&{IVsrXgp_vg+$No;e}A^s)3CT?vhYaGybB;n<9&=RM$_HqUi=Y2Y}t$ zH1Ya*+L?eV(#=k_is+z@41@!~;&bBB;va-ZCqyjeS~pEZ|;}&&$mtcU|(9I3ye|C z%q6}0D5h+02-DY~&?k}dkF&?0xlQz1p}=%)-t?wCAxtjle2y5l9cU8$Vm z4)kDQlL&;v!eqxJ6oZ5+d0eRkhXe=Y&0g*x>YxRR*EOrPj|(najMFw$vJGo=N7TBb z*STZL-LXY(OP)L4<+eNB$yoIHv6_$uqaX!lyIPs2+OBQ*@1Gz8F98k6xFEN>*UQZYr}kZ7y7 z(K01@e?(iy^2tVKG}R@OVa{peokdcujjwA&8uWeo2B%t+tG{c)4E^xwKWNWsgs~WF zHW1h4f&2tDkY$Kkt1B^rz(Sn7o=SA7=^y9EyEH72$L=rKr1g>{{ZdNAQU)0$2N(fU zE+R>u8cBG5QxO57cdGeZz3Zdg$>ECDP!|VNty&pt#~J=ds$Hcku?4-DunU_o+Y0yv1|vrfQlf6#4kd+=Ytt(z4B<%F$IS{CQ$!B{yV zzjho8=asd(z?vGfVfR{g$-Y29sY;3_Ve|m$>$71KlO(d2wthoHS<+`YZ5n5s^58arBr{WD<&$Jd$m_h-QF8)YWUZmZH3Lw=+t8 zOikub6jJ=8zx8v_neKDSNGK1sBcX+__$W}?u3A2)nIrr1S~NMZg=3;0)^2U(m_fv{wh?Bm{p@=dnnqW434w9>HDl4s&P! z-I%x4vzZ= z+KcCKzzpp!#5g%Y%e17K@ww)Hyw=xt3#W(X*thTM-|g28*lVH6o9&&@ZtdobTDw_D zb-Ez-nFe?_)ngHkDLlQn74s%fBEaS zL(J(Rh*~U!Rj1zWbP4tifMY`dj+Cs$MZ7`KPR)sS!Y#W4}lQ+2dkg^Fd2wGfx zD6X2ogT#lG;U*->VghXDA4$S%sZ{LlrLDV(X|x!Cb+?H0G>*?ov8=UZY5MjcZo&#T zlh}7N)%x=r70?k8V}nR=@v0!Sd=Of-0&Swc z7JD@#h^AOS1@m7cIo?+S=(67uA{aF{7U$bV5=+D~XB_cHMQ$tkv9tObNnlLH%^cHH zLZL;t|1(yIn{$@9mfo_w)Rq-&oYk)=zQhVt*;oAMQrcQD?>DUz1R7vDDIBFAoLp{O zf1iB?LpkYBi8eyHfW2Vpwp&o%XUfK`kVcJ`q!N%{#f+Md)#??4utQVLA*3f^Q{^dYhKk z$ibjoBSGi&1vp-BY$!2`Q8UbWAK%S%(2+tiqwuK%ITKhT_L3u4lNsO@e=tC2s&=6+ zn(~_a;fR){8HXV+<1qWjFs7g}iZ@pA?(egwJkIPXf%Qk~QfAMtSl|Ell)lh#RDoxQGX!7YPg2S8nLA z1BN2*Mv!fNB1=QMMiN7Y9@;u-xqZ`Y6F41T@hHg!EMtwLTsSNC4&^l^UxJbqL4}NB z6a!l-=E)&!?paqg0Ogw?bd@+TyxIX#)h<|tK+giN*bFv7(nd59EZzaIARXU|FLtmd zkjBu_UoEA%kppcbggHGo(u|Xw9)B8k@g?1gxuZrx+yKRrl`YbD5IEV5sxKwF_`{8y zSO9hl>W@md6rfBVBH8AbQ1SC`s@KVf>1=MAGC)xYZ3D?cS-=z9ro#dwexJs6P*Gjh zKixOmE)rY?>DxnWEy53umT9= zEE4=oZdey!t&F{nQugsZeFN~npt7gAF!xr&-akeC*u#)xP{ScEf+49aMCIc7K*(fT z#=yQn7v|f6TuK@>Ng9od*9IkxE+}bWnkBh7mba%d8LjD)y_%qm*7k*IgECsz7p7w} zTHhz5^#r$pK>&*pq;cRe1oAlW80vyhClH;kFnbyeegTRKHkYRmr2k2R15z{Ch8fJG zlhTs-hze1jAOfDNw-vui!idT2O%m{mk%b8~<4=qI6|c|`_ZZqpQ(F~u5SI-f-i1T$d|ZQ*8jCk)^mrcQiy zp*zm@t%axCuBA@<{#^F==YpxNY1~$@?JvrKd#GJs^VATQF4vs}hhAh9quD-(cTjNu5K~1pwIC>}%b-y{)rG4aA&;%Q!36(F~=C zfyZcOl--=(DcPcuQc+wdy+9*BY)cIZkW0=Cg^-9}&E{GkQAl#ISauz955 zi$($~fWK^iFWmUVAvs9t6^V=oLhgYF@)a;N*`kEQB+TL&`3z28o@NY5elyJ&%kG#E zOU{{i4XYiq(m8Z}0-1?9arU|GhXcWNb2QK*#Gjtq-bY!A-E}6Vr>!pi_ay;FHXuh2 zkZPMq7fGRxxas3PU=NI)gfq=|m0_W%>v!MOm4+Xq&2)463EMmO6WAEX_elDC5>FET z$4L4y=_hZ&zhyDa5Bm6gUF3}%w#LEW_r(u@pQf4pWLCC{_AricmEMt8dZ*-GAPzp4 z2=l`TC^pFtW7}gZu8@Pp$apSjG4gPv3+We-yuA@IQ1{5B59A2yG5M|xq`~KHld+J* z*TGKG0a=N~FV#6yXBx^+OhbHn8f=g$qesJ@o15m+XtJ_2S%r&*A%doG;(E-{W~3Eq zHG&nhxv6D~ah9F7EPp-j3MGEQmPCD*1_I!6_5o1t2msLNp}jA~ll?h+iC-;n?Tc~l zi-rj#Fm1}w;6ngRmkO#SyZdNoUkSCCCG<9-IM<(pc|N#AL6`&z`+Z-CnZ_a5zvveDE4g9{LicJ50F%$3J# z?E6e)1{-#?u@4p_jOD$s)WJ3q!P)l#j5h;SZ$bK7W@A!;S!hupipPb$Y!}rX@+t2EIhtc0~r#V4f_cbPZQb7WN{u8JE zp=I=88`MvUg53{E`zEiFgz97%9ppJw4+8L|POOj|hCYyg+8bmMCO3L46gHEE=@&Tn zP0st!f`8YC5%^z~8k7pYVVY!@(u&DJyv|~6n8FE8$$c+?bEi4=>B>U7G&`i z4-}KZwl|B#UlYS$0Jw@MFG+5VOW!-i?h}QIPP;~mM2RUWPq22S3jqM`4FZr!g;b0r z1Qv{-zdPvfPWrRZpGbca{l(E=JpEan`b-5z%yK;oSjm~eFkmlJsFmE=Z1`9#qcJJK zze_)68R;)9@feC5E4g#Xzh82@VJ@z9F|023bpd3k+GdAG3NuXCgyPT(d*< zbw)vAX?lUZ6qZV;yc-~6JvYs97Y+k&>IWg>dLDT#uXoHFsXqoU!z^v~B zuJ~^^a5xi*&;O`X(wyEFqG0I#vl&<)!47&iVJNsDGb-1ns5yZ+S1!w zb*CX!0=)&G>pE`ju0E`%F}yl9ojtV$I8S5CJU!~Iun~RHh)#pvumw8A2IvsfJH7b7 zg84!a|NCxWpEj57wr{b$Gu7^X%Lro}^0}3K>2C4YXYuIH-C~*0ES8^DxS3o@s0?-r zltfLQEi`LlGxb}*+&B3L9X|0L00Wh~LD6FrD;y*<%4phvc3QiXeX#+X1?(cX?yu>K z8+blJa1R-$ETF+|;3*?f$h%+)#yTwq85?yt&>*lcgD8H$guVAXgKV;;OgjrPc_}YS ze25-~J2AC!Og`%x&#_V&tr09F_*%m_2X5QYOD!{Y;JapQwZZiu;`paf302r)}jMq##!kweN>gsOZ9^-sS)BmfdG7s>!e3VDxJ)pu}B<6Z^C+d$rF?N zURp2+npu)saR`bI zV+D#P77-Z;$Z&~+C`~#pP-79HEJu-ImQ?mciCO}TN|tbPGLBoIc9u9F5dCMQ!*qms zI*&7K(adXscQo@#ZjSA2%8MoHXM1XUGr55-TU3>rF2>3GmZ>$-8@_5K2XL z_Ky>mQ&C-K$Pewa3t^Hc9zi-^<4=)G2-n2rS}W7U~rL%tEoHDvjXU%|fwK2GW5Z>u5Sd79B=BmbfyMcUx0uhvQ_%3 z|9BBM^tKYV(`G4h3NLNx!Pjxrgf+b_#&{HlW0MIsc;f_Wg*E%`RZ3-JitLQP4i;qu zZ$)-FnB6G;3b-dA^Tb~=bQB5Yl;SyhaTe)nagsf|T|->lTgI|Z!qi@LIf!y~3y;v1<_) z6LrsWECen{(fNzMy)vJ4C6hx?ZuuZ8HuGq*$sFSJ zVtJwYKBpz_O^YPrODLx~1m8iSd9d@vm!l_2C37gp=vyBVCZ(4GXW2(^I(rs&VkN~t zC@}=~e)B-Q;ppi^v-r=`i8k?nscy$#sM?H0Ota8o52BuJ2Ih;ZDo z9xVRf(x>ONvWkgKmoUs=yQMP^K0%>oo+}iJkx_#PEZo5O-}lx@n5PelL)u`YAC!;J zTFtcTi6tRDUt+{JfZQP`&eRzMDgeP}|LQc!#tCBe=_G}dA<*$WaGy)z${3)aU!SH< zc_tVUNNdLZ3kLD2AYH(`V(3p7r9rwlOo!W0F>_dTsp2zeAbKnvt)d}=GmXX*IF6sQ zYGww2n%5twM^JaKAkPK48ytl!^-qEk3Q)at66B?{Ct7^yG*}4!uwjn+!MC`#SD;re zVlRZW1S6j_nII+mqJhzn!uutOd$pV@4bT;UXD|d_9a#hlqf=cxnEAg?7#B$BEaG}B z1Jk8TV(e*5?o5lI1pd2i7;T2`B0~@<|;}ms- z3ubqZgpHFH@hSyCvAC>6D9Xx3B@lIr=X=BBBJ$7Q(4{HurB8Ah&HU%H=Ew~RqN-|ugFc3co z4&X=J(^tKsu{HHpPXnCoNfK@bR|uUc%z z3QLe+0|_g^Hmd$TJD{j#y>&7?k<3n9fp0krjA9wEgEdzpkF{GPwzcD{WevT<_=8V| z2RqG1JYXsY-c*74GNl4Xqb*Cst*|ED4*}q6*jmoY(AigjZBUWmk#3~h<$99l`l?nF z_#m2U=MxLCkelvK!UI*34uH(5o6|n%U~LO7+^^(wcFB50Vxhm9a>59_F#`~`hu|?DGo_1|drAcu1JEn^ z3JWvKetI%smc?>^pFZJu=VT@}Zb)XW^5JChU;NlBgkj@&>m&)%RB;#bp;|V09Cas2 zn*NSOO%UHc8IZkXDsMbV(=(*RTy^J3nwToje>j;zXX}maVdIQ+ZJMa$OvO26{lHkq zz!0lW2DoVv%~SexHSo^b2#0*KclHvuij=E#9y)(q#CFN?%K=f2b%ZJCuD>}c#KOFa zLoOykiX^T&ytxA-GQG7(5`-=_ykXjxNvL z0k)tAu<3empMz?JDy_S*^3&H1cG2G*pp(OW?O1lv5}!izw#$J?XHmH0yKW+xeys|S z%qExPn*mYET(Z}katY(+4+>)0*u&l(7>GIXcsD?`7Xg)Dv8Oy5u@Q;3bes5>Zai&r ziATB}Z4`%z>0i5sM~Q?iT8C-_-U4Jop_+z(XE7Ad!Q$9LaacR za9{LwY{(WnD3xiEN^I_S9HV5;B8+cJ^dNRq47zT&eNm(m-|u$(T`5C}!xl7aIOUf- zkXRT*ytsqn?Z(8k^fbXm5Y;M4vG!6NdR?sVcG}decx)sVZXSXrH2Wkn=+KK40((*-aDI}=jrAgo4S!d<%H!h?kVSmv&r*)AE^}P z*_%dO-wkb;CNse(`u<8>(+xcdcW#F@gvtNi4I3ocP_rqWyejZY?~aw-J1e_!B$ic6 z2H&HZIJ$8K#mm3$-fC!DS{uh%VZZdMm@NJ zcg(kTDR^IZtw)fbV`)Q$kGG$hwh-B;)>-6*6y|-pTZpL%tY%o2}ADB&hDO}Nf~e1WsR06 zPy}6VJht0=f47`XuUVTda#kQSwIh?BO_^7HdF;@`$JMyR>?tj73S{gS_ecYeE48c(2g{==7#lK%!BkCGsx^em4hll=rI7EibqjpP+C*6%Nv~r= zYxi2@yXcV~lGwvrS-1mp?;YKr-O-I}Fy#aaJQylWfn-6NxL{(59xw#H^~=NPQ7J1X z7;UBp@1X9zLN|*0ER2;EMS%xHf#oSwRzxuIVC5k~4yT7bs#=dHeW4siFSghCoHja~ zFofP3RI-75&l$Qcx$IB1W!uURs*myVbsr0j3icO-pxnd4k}S0zm3)q#%UizNl|Djh z`4;zbg;;8qudys{JG}0|ce^qSwFkcS*q56Y4Hhr>)?Vr(cf_K9aH)e!;rOfEZL)|hhW1DYhfFYN86@Ft;bm1XB~daM%gR~bf6 zVR8qB>^I==6Z$(6=4nYe)J8c!p%hJqHByS__ZB>|o44x?%gzQb;+Fr{xArs2UT?t7 zqwoV4%E!L8M!6BxAb;vx`zfWcqZlQHxZk&SKLz1VRop!b7{x z@A!l>a-*+ezjC+VS+!-Prq(mG&ZTPc3~k`Ytdds~4(0cJW9T5y8bj=+;C1lGONI8{ z^m`qvWRIPdWlAqL_+sh!KB}LZRmIC&6%d1POLIBvec&U=b4^~%^3>jv=MA6kJdIW1 zPga{&eBHPAw?1654lXWlq8#v-lJD5yYv2#64|`NXnEV`t(8oLYM3R@E4WwHe@E4KK z#`2D{>K%JD-c>$p8HR66U8>4+R_$rf#8!{_r973A#jdnE03qrZm-`&ceQAx+WoOl8 zt2LtRTPX=KXji!lg(-nG#uYO)m2_tt?m5JD-=xoqSw7gMccn(j>k)M(inhHP z&ia)~9OtX&t7qBgw;6rE2`%2}ul|R^sBl@ItYaB$A>K5fd>?zhKg8+?5l8zRqkZ|a zevn$Or#1dW@^IMN>GG&>1T*k1Wk=G#3cIZr?=FY3trEZKYEUIc%HMUNel&m~0X};d z<9tk~!}QPk#$cTvSnbeo6{q};!9{UK>NpA9ORr7ao40|2nl z&jz(UTQXmZ7ZgCze;HJ=bch^Ar4|em3MZ7I(TN%s@0(A|oV7)fTlw#XAwWfG1OFU7 zn?fO#dr?$bMcUC@>G4Z~dyXT(kLzofb696s56daE`yCdordaF0>Yt?tzn%4^tT>(R|Kd{1wFN>;60_ z`=c)RN`Ki2(Lx;T*4bK@BJ# zPXV=(iV~@dT`XEcvOqoJD_zVIK7*g4#<$Q#9u*gr#Z`ExRz{TM@~y+UOEZQf#5fY{ zKN+4{@?ocUW0&=Q1)zkcM-%oJmQ;3&)m_=uU8u#*dsmU4tEu2PZ&_E}eSoWOEa&}I zmoJlR&{*-ftjn6o<$Ueu#9wx0|1ywksgg?v7RPy?>(c#;{H0wL7vYP~cX^+ucyNc} zd#S*5PW}Z2R2ojs)p{3qS?}Sz&vfOSX7a|ns4L~P+Ly}d=V-kPx{6adGajDq@;N!% zoO|%FVotK0(N!NK#8|d93p|81c>2!?&GJ+9KQh$&M3-+ARWyq87Ij%iacL-_sH^U7 z&W(rJUDms~0z4FU)r|xu?p3LF7NQ>usUKHUKYAbUvbZdDcLCpZDV+Dwu83(CUlO-y zZ=v@A5Rf&An_pL(#5IO;rbku9iJbT0E}xy7zqx)GQhBF!S?%0|B_+GQ%=G{kDSrK&s2}p$TKP7h@RmeJXi@Tnoe(+ z%Cusr4=DHC38mc0tlTp{Uhen-<&L|l+)HtzvX7j=bcIy@G>VizKd~bg%7PY8yZP$@g2d^Yic@hY%Q~X zewgC%EVh0}HJ~^=({1O-Kbw<1C-#myQDdl#*(g>yYXBHTYfKS-(7r$~FxP z@jiE=?u@@y(jk%e7bkqD{f;M3)b5>-t4@z{&5m@=Hag~=$W=SzRIb@vMx=a%U_-nt zPyzJ7LICyQ0Mxnw)a<>9ZVD)-kP$sji8n=E^3FI>cLEi1#i#t<{1dn%qE_OIJN@2A zPFOqrx81#B^@#9xd{`O>gi&4fxy1_jUPaJ`sh2fgpYsty_qMh|L{*HeNbje zRn{*_J|4ke9sbnvYk?B}H{i2(g@}(nU^fc05{!mgj}E(lYdspJ$Gr(Be1G*@R}z0X z&qMW|jonWpg~u8(UrQpK2sA~iB896`wbpXNYdL{AOmawIBB5Hxlj){XwPuaRvN6(A z8POM^VG-UTClD7gAWkW4@Ck1O3bWv?3gxgl5tUQ8QPr;;C9S2iFQEd9$WytN$_UFw zRWOdF6(8z^UtW~S_^N!hvw^R~$Mk>k4o;M{FQtSF2kT^jNA=-bepi7X{iR?(KxZ2U*d$e7g$mgML-NsCsE* zOSHU)lG@9aJE6T~!?NDVHE)abc$*`Jan8LFpw_xOLA6uVBcY}(yIOkB0ztbfb)>cw zDzb#7aM~V{8hP#EsgGngPmi2BtvO-{C!al@w>P5Fuq!=EK1XQ6r0UI1@8(WK;7u?b zG?dmnX4^DB`?b!4+Dgq7L;fkP+xY0t-*q+!pRB-zFZ);IUyT?(p`|T82X|QWHOBp} z*P7nj6tTakNqTQnNR_KHZ>vP;8a^H7`PMJ}mFffoR;PwfcYYX=bHvXbi7yG~D;(Uq zHr2XP&4$K4tIOvELdTxSe|*sKLFB*6Iv+fHXjA0XZw_p|d`HK&$Zd63hFuh3F{ zr;{#gPDNkIy!y?*e$jdQf#bjE{L`OL&uR>d6b7B1e{y)<>7@rg>1c}-LJxerwc7jk z@%qqRnWMbhQ~2JZ&i7SEG?<7z(b;h|Tdt>cl}m}S&M~gh3N^-Vd7qs|7oU32{;COWJhcWU*N_upNoYk3Ym}i(&LFkDuSa)nh zPo;X2x@vt;28k0oWml)AvRNG8S+-oX^TVYiJENbyv>v%Z9NRgUZ!U=}6q_TA+`7FH zJ2N{E>Ka01D^Fgcpa_{`oZRMXj7aw5T8xv%Cu5M0=@Hurro^XJ(&G=$9CGGj}@ zYl~_&tdW{6@ghMt!&uMXH{G*6qIr76Rz9ytwWY5AXqZU_uR6TqgL_X&C%5?u{&2Tr z;_-C#cJ-I<$+;AF=B24-n=@zX2mN1@QoW+EeB?78r9&t*$iRc*=}ksaedPN|H1?RRA_Ssb4nZ~pLOA^Q6a9BXq*y|Vhu z>6I_-kAfb!;eLc1s9gEdX?0c9*6{a7$jww2G`Eu-@a+)AjNkgc^UJ#knndM(dAaF$ zrJ>DEx6RiW)_AmOuW8q;ooE|+uF_ti=qA}*k;LuM6waR5psVXK2!@hjJPt@7K3y1E z)?}$YaAWHG%RM#g*E|}r;+1)YZ$V`+Yd^eF+MNrIli|FAn!h^KbVehz?a{~&Q8lYW zYYaPIIF18gdTLcWHb(6H<#CwjaO^qvW+Yzm{Mq8;8x8xzk3W0-b>V20U=%{LYL`P# zYs+k|UA}$RMtfB_p^9q?+2PS{Nj(NLInnmPU#5iABvxR8R}~MlIh1?S zA&1eD+BUB|hu}fZ{$c+W4BN|1TI+g~o9TUiXV$|J?pOF$9}M_Hbm7G1d7d78%Tl1` z^CzU|dAX?%M^sNVy_)uFQCj6%Q!ZEOHSNE5%bXFW&8qDG=~(zb9a%YL?)L^||G8t~ zpOt66^)Mz1H{8n&LVTN6=*mj9l<<5`Hn*%x_|9#NS@zdhaQv8M9|_O8jgiaV&GU?K z8$(*(et443?@nzTKsf19)m?1z8H>f6MFY?@wziUTu z#=<4bb;8L7%Pmz47g~-BlWX+(TSF4Ge9k0JczM$7+=a4uyw=NkHb+#+FND<27Mijf z^wz(l3y)?l@J#6WlPWvvc)coXTf~lSmaVEOsuoexDC(E}0CnmM|MqQ_drfnrYH`(F z?uwQ4xpaNB0MZ(agO5KpRLUzh^A!(pm9tlD<12Ex;Y&*P{jNki)2lr$d9`vJ!CgO1 z9!fs?LnzjL?5`clElT9}t(@7hCDK#x*s|_9m#A5Q9)9`h1g&<#!ih^>`LhB-L&!1h zy4m4%|Ld>$%(U%lWk}hyi2z<(N5C&U*O5OztU)h_1}fpm$E-=`^H*k5c{O*|4{h5P zApIzcZ3b9DwblOu@G*74gq{s5?_WBeQ+bv|tXX1t z9v@vPz~CIj2EFfNziHU{N`325|L_U*vvT(MIbgbCuODYz7r$$8i8^-@-@30SM|WL(Aqz!JS7neN-WDxE+~m8dYmglzqs+fb6dxk(M6AN z2Q^bM=}F-#v%U2l9dje+Zxc+5UPi;YAz56BcMIx`=Y-_uC6+~xaLc|gEKS)_5-~6I z)x%tU_SBE*!y~zgps-JC&`#p*(YezSql*vt-TKMGIpG+Ss2O9jf-<8yo?ocEWgT-hN;~FhD*o!{ zmK|+g5&?jAlvs2}{ita*RRB#8^XZ(07~8WsA$*>S&K4m=Drark^mEfZUDZr^E`?R{!Z6GfL&{!TzNTz(4G&^YJEKD05FyOt zop>;`IEK=MteXL|QrQ}9$JWTT6FatTEb~rWc8VL8RaPn2V_71iDg-kB(EudV$j7&S zU-+wrL+yDz)HL@>g8{}yG++0bGUsjJt^W$zQp9QP%)}ifKSDX7W;!~&jt)6cj(1eY z&QTo)d3hAIP(ME$9D}!ddHPVtw-rjxn3xsoz7#U8f6@zKFnd+=&-f zw}lsytn}o2ix(cKdk;^=c$($gMX_~EA*XrxsCL?Ypx%`_Ty_v7pG9}H89$5a07OEE z*VrMCWGz#B!#Z|`bsSX7VG2b02DPb^vu@*urvjGs?WEOk#XI;M7zc=F!(Lt6VvzTI zg))VjDqgUcy9}}RD!OzL@jYacaa?adM4Kh-yyI%S5R)P`3u;UH`jKiSP3&b`6AqUg z(Ia1MPpX7j_EK&S@~t_mUh}#pX`}dc`=P4Hq)NNNd$zrLeTHFD%$9YZk>PNwVPi}V zuFoZ!(=EG>r5c@likbocB>6As93Aa;wd|vpv7xKOOpQW~@f5$|10H)C-`l7?`6s@0 zH1}LlwXJ^9)+P0eo)2C4xAuD1lGktvnEVB6lR4)bf4y_zq4vwtf~64)-nN*w>1+AH z=J`)_yxA;7Z%I{6(XDA}J~;T8KI?<#D%D2ubmaNjYWXDPu2j{Cry?&q-b%VRbDS{r z`&8BIx|K_oKA*uqZ)7V=eVOP^o* zT+YAz+55kmw(qM+{7fSxYV|(v@7s57Yd@%y-)5P0@^s!f?QADCg3 z_=uUa1gqtd<#`Vb-iiYenV?5J-wM=I*~J3q({h-Tu2F0@;_CKVulfl8^|`&(?K@Yu zdsnv~p3Pa#TRJ@^xta=37#3E~ADv(8RaIa!7w4^LFAn4K>6~;%Uh+$n2u4M|;!*&9 z-=lu<#rAZ*(wLIjEEv-=vEhO%`=Hr!SF`*SrS`npEI-#S3`KtkAv>hztp@M2?NG#} zxhg9+2uFIZl%Js<*}1TN@51(Dp+E5F!h|IGY068Lq8;K>?dWw@S_2Or|1*lilOWtB z&+GSGO3y^E$m1w!&wiqPZ*lw1l6GZJMXl$)L`~h>*dMxmm}A;k>FQ16<>^#2M%qu? zy+3WoigO;LEOiF%eVsP79ZQi~g~8OTHj>3-oqg!CKPvC*<_@i^_g7$UhVdazY!`-+$Y?%>%v+3@ zg&aC)*%MB4@-!+>yuV#|U=J@hvG{fE;(hIVR1GQ#Cb$d&DS)F!53@3>mA-~vpW41Q z6*)H=W{zPflsy3Z=Lz6u12a^2$dkLZQd7)Jt*ZS@E`))uad4YPjJO zd0}!OA1V(^Eb;wDY@zDjgh+i3eLCNAT%b1 zE;}Eni^`84LkgHiewCUe{^M98zQ-NWqZF?DL80Bc5!{Yh7VJ{lai1ky*Pj0!Cx3fv z?YGCOH0z#V`%^fdiJKceLsNR6@4Z*~g3R{9=@!$(8+AjtQ_+_-g+EsnKC1G3k==7C z`_SJkJ(ny!uQ%_=&+h2X7EBw)@-3yPWpz%Rv8s5s28}Cq1t*;GFCqspo#N3RK)5&YTV8fKrpyhh zWC2dYCws=>!UDmsYK|}2jVU;f?6^EJkH8diL=+i>EYfwx7gb$vig9N@@`Eea&t*x& zzC-?wh3AN$@&!GZ?A6+i?U%XG;<-GITei2hw!F4sl5)CX7pUoq=R;ipX{B8S%b5K$kUeY-cY_gL{dR&?-VZc+`XU0NoQ*_dQ!NfiDCZG{jn zf9-6IABn&O6Fa{|WtZ#^9x8qK@)eVGM@gB;X2VO832T&kIAqf{sk1QE7D??1Y*37i~SG+#fw`17LS6SB1?__y(EMtQH zgRJpELdxJP7zP<|#oQT&1%O4&$LplB=2}qRMK#;`?V!V(MDF1%M&ZaPoUh3(&o_^U z`rc@@%^5(RM6pKlqICtgBIVJ$6gIfY0&z!{mPkutjCuii90BCt40H1%N26^Dy%Yjq z=>6qi4Wr!@O!fh}BLcYLARFnF`Pp!_Q`G`ng|Gmx%merB?8sgwGuVB{1N@S~VbJc` zl&Am>v%7iYR)NNW^bT9QhpR=5S;RAn*y=RKoW?Vz;R}!MaRg=ChRqfptQHk_vDZ@> zlg8mlQMe-bXSG+jAE?2ZaP@*b-OnR8UDor%_1*}@1?S#y$(_U2Gs9++}R2dGEpLJcXOu;HdxRoMQ-It(2~DGC9VALx$c z<-p zEgEk2vz83!0t~fRAdJH_%pJUAC8LATfR3VJ?k)__Z}Ec^4&Sks=;051w21FG;I#4; zW&pt7G0oB_JHx|C{VJx~oIzxp8?@RP1RIZGOr`zG%x8?288XY}WwIZOr%i%|qs}7Z z{v0;>4pampi{X-qb#4)IzG!b*izN%b-}N@wU-2tan2=cAB{uDYwR3OI5scmcactBF zYt=XkoPQpM`DP7VjJZN$6`ic`SJVs2Goc|xyH>)u{{%XRQNaXmbCC>euD~5|t-}YS z$=u5>qk;#=s0hsvmzF#18mV_tdlr;`Dy&CF8)ICKb;r3b5+9GL|SDGT*RGVO`)k(pEaaQe) z*AiB&%2?pj;$yQIxQ8F}*<>kxq70jAj)?Q^$zBjh zzZ8VkC*8Gx3(V2MrE!W6v+Lt$1*+%vu9NyU*WYq6=E+RRW#;RdJ(GD$g?nn3XU9u? zKe{m~<+7Mc>w|t~FJ0Nc!FT@nm z9QsCV z39C64v^KMo<4!7~a&v^xHlSvL4Ry@kA$jSLhOgr@V1uTEcSLodZV8E%?;L`Acu=r{ z?h_nkVIS_4RG3{i6QtT#hti9NEH8o*cyo@0$(C*2THOk3H(dPkNc#ZLG&&{gl?r%- zos${n?jX=%;mX6foJEKzIk|u^kR6hzSk7CLT#wTj)-h~3EG|Q43u}Xe!iFJ>UAv)D zYReD33RahsxF=uOHKQhV&ZOg(S1rHWd;FC4w9T9)t}NfP=SSZowk%&`1Ko(hIIn}q zKkzUz`Cp_n)aiH{y3&&w>Mq{=>%>lJC*4;Zt5hV>6-Q?iM9h8G*Qm4dir@D#zIV@H zG-#I%8SL&{%ZL+uu zZgDFV0lsV1ld=`H5pmw2q==en%wTlqf_ztGK5{?ha~EUFU{cVQh0)nW5%04_v*8Em zky)_tbIb!KxsP-8oHk}C+NenKHJ{t2J}aAl*m!K$(y$y$CfsG#S$tuhPy~oeq~*Md zr#Vh+OPXYoDw2XB9xNwTB!wvFZc3VLOnN9INs^N!%}DagN%FTP1=y0NY)T3=CQZ#q z3d%{ER>nK*r%)!#?3)!yp|+&yGRqd3a*Hi#h9c=<;1|d)Dt}#Axh#gq0B<~6Ts0cl$LMTKV)N>#kD$G@*fuE#KtS5>1`Rf;ZWgmB zffep^rH>9OR(oZvX5`Neq<=RUIdi4I{JX*Q8-t0d+Bz$fvHF$8tB=H9Op1KI`m8Kh z#iW!_{S*0Y&^!}csJL81K84@B;_}~bv%LOIO#p?=_ z)y($+jY)CIB*iSAp+sg(@_}gTkpY?jKoI+Wu97MG2HPG20|{W|hW=iy5ZWxtiW$@% zf1aF|*$L`VP>iB={YsPtSw2u&GpM$}!wWX>1yD^#Nx66rFymP9LPxPYavFBTEKK zj}JnwJ1Z=jM^Xk#!w1GwMxx+x5G133ztIPB>7RiSIec+1=E`AP4}SuAX9Up)!UB0* zB@rNHE(AWO;3q>FnT`L)>>qUQAH2aI79&PJiNNWJgkhG`>`CVmh#Zq+ULVY`xO9B! z6K`;UY#>(x4r{m$!8`*y(p^oXYWmqnIj{xq!z7}pzE6?993du7zDD(1$quE zX*mn`B|K8_BbY+N-8NijR=g!RxN5vzKSQ$7KILiLw3Mr^jPuI4H!pFkbzr-7PUf~| zt$16IdF`%mY~~5NnTCEsw1XU1@N1}V6$hK*u-^;G9|pl!<}_Z3fYS$QMVxev2iUkl zlSr9L*9tOs5F+uz4ik3bXTb1M=z)>X8Pu@h{A}&!evS{P;GHeV?qYCTL)_3@X{ivm?Oj=!-5uJ zScI_Phj?gjjvDhp9X3h^)BOjH5zMj-iT(9uzIhGA5=Pv-6G1va~Q`Wan!W6dAhdI^B#M9Rv_dL32awBc>dC#?1yPH+@HQ zb=~ybApX%b@+_tF<$%KS_t7s0oL>%%Q_4q5Zk^JV6H?Wq2KXON>M=L^z%oPikazRrGGBD+EzJPy6v#oAAxzz{7=`F1Lg)msl7qHjWB%Km$1cLt>Z5eR3 zcnHD?42C)sLB+Tdj$JparBNSMH-TRdO%-2XPjs~C#{+81q0xU2IR7&+ERN?L|3-#o z=OYv~q=ZWrUIv_4ostZ_phCufO#DP}7>T82tAOm`(PINn$3#7UNAY{%&eg7U935c9 z1BsT~qOKQgdPe0y2gZJ8u0{qTU@-|_AMQ+lo3E4^Z1*_7K7CMx~y0mg8x#4G*K z0R6ArEB7Zh%U{D^nGv58V;#`xLgU#O%Rsze%>NF=EAT%x{--NCPi4l5xuCbisVI(Atk4Q{ zOpJ{Bx)sUL9^-@ZK7wH%urg}B5W1Y&!o>3`zVTfk-W8CTuv%*v;LwpcRj@eyG1!fB zqPIk{{e}6w;%VM-?+BEFV)GIh1^{6aT(5&)+|&TdV-ZfWF-gAu6{hTm5IumBU*c8y8J?4J}ZA} z;9xkpi20x`esaM2u!Q6%>Ke% z+e7~GWnc&#Y$n0|@Ub3l(pUOwU*;a~iWexeLh_(Tn6v}Rh(li*x@y7WZH~{9WVjxM zNd{$WkEoGQJ+jBRi#8IRJmfJ028F?_0BbeS9o8C*+PE4Pw!^S-JrIlMUFhF17V+&P zFh^qqiI&9Dg73r6i#b2MfmB%GtrA(Xq|96X@BrKtMM~mqB40&;$)J#hC_dJ`RI;b! z1laNHC~9G=1e|Y)yj)5Gv9Frspmcz%aa$^wPL#nz;kC;YNm1qH-m(?7VCk~^iz)P; z$>beX{*uz5JkbJgWXY>=MhZtH{XFs*j*)7XBGEB@Jd?aVEGf!Vf*8uAU~>WWM!v&t z!fr79ybl+I9Gk4ZCME#?TI>??BjPZ@RcodFh|uJ{3QE)ZlAkey{6zo1-hTylkNGc) z?Lsn&DO*qb+QOL)AIiwL6kw#k;7*juE-C@@&tAwc{iOelchoun{{r*%m;1R%QF$QE zcwx*?f6JsOlz;B4)OXD;r*aUeHR1gl37_CZqH&&}Uq1g$F6`?E;oSD&HcMzl|2-J^p)m8OldrMLp^dq{ z_jVcO`}?UMRtYRAfOozRCyD?kATwb&cq5Cxe!Y6v5T}FZ8a) zTG{8QMEsRw_|H@PoBAEkA^wek|3l~BCh-6JLHyVIuwy9!e--*TO}O(-;5YX<%!uDS zhQEs9U)Aq;0`ac`{O6sS6ZqeG5dZT2&|ksY9IW`=TjGdF^ldGvB+L4DD1fxliYhI* z2xh^0-?6wKKFS7;nccqx34mzaJJRwz7S!>ixHA`PxzVf)U>o1l^Y z0F4+S3{5;7VG;7uSOap4p*~7c69IsrTJB#W26sg zj`k^R{m#$(#{1#i2WfuYM`_NYG@l-)S@PdBr~j5Fzt6!(n*1@EGbqibK1T!6>;{^* zofjr(PJNJOvzw+jrKugGS#WBcCQ3C@M3~>w{G!+KMK93&0+VsP@hHvr`W){f%~L@0 zb7$oQ&D)sm8E-Mi+%&KCploN2)7<{wG(SUt3E5ukbzDT67u_@?$>*3aFYR;u18Kh1 z2b(wN?g^T73ZOL4u=1UKEqt74!w;l{Mm!`)l9CkZXiJl6wzq zHTOEq$cx#{i;`4PURL!vo<1xPvOOTG3XZ`b{vGGtL~t#7uRwmw`pdu5qFk128rr5b)k4X>O`ux8Z3ARj)&Z zbX8+?mr%O5dL2LY0$pFAYjFP9J3fAsAEf(hFCD*gDc!$~(>?aeI9;qP(vALax_-S5 zKcwq7Mt2USJJ9Rs1-c5$-q9Pq&YlUn;SbO~xjKNzDfmdQqnU!g0TVr=?M8mUtC#ZA z*gG*Xn~%QYnKf0aS)h#B1Fk9LeK?Z}<`yX4~9*f9?Bj9=_{_w3s8krr11<$UvQ~jjQ>11@blK zRL|t&nce9cn@3xF9IZ&R)lD)4AltAOTlr+GpiR}qd52+$|XU+;xewE_a? z_zOW>j&(TQ<2a4@PP_5VCf!I@4#Vyh#CHJjU3LC_0w1M2Hr5MzLvNczW#jAX(dQ$g zd_Y*T!lMY4iYmww#%4b%uV+HcLu~%XBb1t9Y^X-Xx+hpFWL&Kg! zTkff=gGU@LF4YhV!A=jZt}w!lKG^N#KJNnSNoHi53(gJD;d6^!bKGuzcm~U7xA|?D zC)@Rdc4cqO%HG5ji7HN_N|qgbpOhdIjz@Zdvgg2GG){MM>0+|jvDmr*9-FNap7ADn zw}{#L1O{iZ$E7<~WO+58hv3v+po#V(21JG~A~~+WH1y6~z?u|QeDAMVp_&O>?E+s! zD<(vI#TNaZ8F>K{2qsL0ggNLs4+##F8m!=MiNlWKSE)${Uv_cs$1W~_JdFfQ84jP` zl5|t4Q`uV*VBzf(DEE0~RO-KTG^$9`1picvP$j9l|uCJ+X9ZLSuGXzN`oACZVWx`2jPaK|MFX zl?B<}^{h4JxD=NKSsgv_(8980DXc(=?o}y>_>8ezP@_H61GfB&%KWr@drDuXZ7lGx zAb`BYSSg?}v5Bz~ZFx_kNn&vGLG`I9+lp>S1w!#-sNm~8 zu_&>4kz2OFlcC#TK%VFz!}k6sZ(4(V&>v1Me@btz5JYjpkPQmkf90?SB zKDIYZDB&{|;j!W2{tu00;rx=D4xKy&w!BR4V({=EdD?}xr%XjEonI<4T|&I0L>WEV z?RXOTd2&ofTPcBAJq|g_=rNGdU!1ZDel|S7PfQs0Gd{`2BILlBz_>^%nFsdZD-mE~ zpZLda#~+dAAIE5}qBOmG90H^n12oq=`4coBe~_lgO*4toe0hv!0iK!MTL%<4?1$$+ zKvT=KQ=8gQ+PA=_c2^yo<8$aazOf5vP_9?)Z_iZN??cewf|PMoK^ zNfIcJk9Er`jW{{OI2md80t1M^)67V>7xC_a+c_8jBm&`}B2Gb%XDXhF?0d?jGswOd z@u%DcEs4c20vap1Ln{LIx=J=LAQ)<3RHzMwIIN60YJeBHYcu^Oq?i@zf?Fz+3Wfrn ze(9J44U)=aDE+J(jB*Sm2BVTW7-Y`}--P8@ESGVvd*T%MPrT6t}@(n`B+q)eN z-OzN60C~~b4Cp*{|J;p^pMrNha%VSGo+X#CjLF+^uDdMAj`Kr8iLoJ|9n6V#98Z>P z{11-w8c}Vsbi+rI#E(!2r*M%@73Ix)QvZEdb}}X{#w26Z+=6p3^0|OSI-MEU&rK*d zUkt#zwF8iE@_|PyOp;~G<}Pzjceplae6;rNDwsCttmQ)-$PTOtbuPWNJ3ATs&tg%^ z4QOM+MCw;+U*=~%PnB%R)|h{GC(2<0SJ@0;vlo%Tg6^qBu%Q>+3J}Rt;vDeZeWM$k zePY+1ekJCO?x(!-{q20s%yrUu`4Qf;yrvjMIFnh&bG+1To6TGwIJFUMS86t1Pg|0= zcJF8K!kQG?)B1dOxZjj2=!z0@5b-*WT{;fk4x9jev(gQXQcKO2RY$oQ=RWS3ZnB?v({?YSFt%i^4j&oL3&6ZlL)(|VLJj4aW0n-9*(&_if zUlGSsVwk94odpN+kw#bMj=Ln2)?{wCGpQR)j=gU9qMkkj`%%I75Sxqh3y%$s@DJb= zoPYQt(52!ihMU31u^5Er09Tc;v#t!e0EC2k#&cFfniR-azRd+L0@^~LeUdD7(=Iyc z;uN4#pCe2;N6$5ZIV_n+83=%`e0_9Qw=<9q4$A<&FHlVkkK_;%O(A^%@&*i#Y3||S z+l_lky?1w(@cIX2CW6RC-3|uFhXg>sbqXfNN2q6f2yuL*|9Xi|4jh&-2@C3Lg33f! z-j!Y{l%B3kFdeUy!sxCv?I?kEDHA0o27m)1teaK13WG5*UG8D7xYr5A>wCuQ!%{A< zTvAwWjedX0dG!(wc29loVxDKXhmc!X($Ni&ze0V!yhMk4?5`-Q64d81fZlet14hqy|H_SzPwS&SkM$9dJ}hJMsuExr0;ocQ$ur#D6^Z#zr)uI% zS|*BVyrlA2XOl)+mtIZw8^pe6BKI**WbUs*_i{q8ium=y3a}?ADptGSi zC*8F2T6FIv>Xd_Xp8XP- zzMV`CCC6yau1n5}OVB$7H^BFVyo+>&pSsA7OB&J83FqoAuz=r5-omz(zjo;e#LeIZ z?)do(?4-S_BLvw!Fkm3e%W1H8&kX(vOc!!TTte7;!rYAgZyzPG8Tfu}boV9a3lCP2 zPUr6SDhwgJDC9bTEP@&u-8Cfc_FC(1uR;Wo=U;MUV|#4}&|>GBiS{b^O?$0$x7RaR z#^l8<{QvELRbWGpGbq(0lxfnJb$Y%vBnxW}4gY6Egrl48HLz}fp&Ty&Hflz*E;;}B zVBJ=ZH{VI9+X@P)2FO!Tx5wOdOQUroOD;W86HJy;h$w(K4G;_65DPCs)EroZVFkm^rx zAG8r+GB>eg4yEl2_?C}GU2;YNO1M$<462Cnif9xjKZxa37)<1}!2K?T?I~b(x|`V< zmtgyLu!aQF%wHh$X~+z8XWr@(Li``b`a`GV$Icc3m@EE(U?#oywO}%dmiPur`~^yg z-6ec46@B8$*PToWCSElEGsw?|eAb;m(pA*!%2J;U3nuqE0F`49^7W8^yNizWyInbzNC5U8Trk^+&r3zyMaV*6gQ0*tM~!6Z(-- zxWTP!62gZfjM2Z{1uv#$D^{~N*6%|P z^t1D{eutobEu#%x&Wf%F=DhzP{P-C9h(eYDWGhJGj9U`NyKv4U`?^e`>t&=GLFD_p z9ItmlCwd=1+njp=qi4>0*NqS7JnSf8YhCvsESkFq!TiT3R+Ja*UQf8{;l3F5j-jdC z>|($0h#CwG=Gfj5ZVcv35gJXk4J>#c`dKI8mcU*#+V^J#3%PTAr{Ao$7{W7ta%}E6 znems>y==|i`fpsJL5@cu^>Bnnq^P?Iw+}@(T%k&!UF^44QFp`mHaaJUe&u+%tJu#N zq4`s2nPX8$v6&SPyCO8D1(APG*)4qb<$?yI8DU7-z* zXSy)0&E-h#fSMMyxHw-3F3Ch|xSd%3B4AT;OY-X2`g#{P`)Bxj&J`UL?F*SHbzt4A zsJk5Mb4DaPRao?IS9BIo10FthIkLKdZ2c)$biSLc@I#kF)?uvc2hYV*dy7s$M?e`z z8g0yeKUqZlmQYdnrl6mVvmwDF-c%H?2*gX|9e77&q~ayAj-PYBBOx6rw_V%`BJPOu z`!pifpW6#Eiu3CsQ#vAI+sUMkqVHW?7rE6Q=T}E!y5iIyLwse#)}M8SnmA)U7~G+ZzKYOH4=pGD9s8?ibLB+RvEOfI==S}7 zGs4v&gzHH0Vxm_PUr3!45kEOPo_Kde#Ir<5Wfr}T{L;DK?*}*zJc#SZPB$*zZ*bjf zcjLO-K91{FJL3AK9pw+WMjpTw{d~lU39ZUdI}9N5FC2#2%bj#jaTb$e20No3&+uY0 z-$d&KJKdh7<2am*pK?osK|QzObJ$W1IL{G5QaJX>`FYi(R#$5_kGXgi$jy z&hs*K3@JkVFrQQ*YL71Cw|tzYd=yYVK6dkArAencqfBZv!*XF%`&1_L5KaWw-26O+ z{M5RMX1j@cLCST^%>t&}0rVg=kEMcgEF^0@oa}US0_}u+;8SI=*G2cU{gmn|1WPYR zM!d)?m;|+>Q5sXl@ahq4O)A=47WZih_lQb9RNSPJxwSZal19mRk&SLL*oI^wrpb#C zCrj32M$D_7I=*};SzFkd8UPb91pKWM=q$X75tlAWPU0yNmSnq;z#axfa8egR)?k8T zTPN%gN4Io3w|0(Cn18_{bOMHr0a4c zUfmN%I5^i0)jpu@^Wm2MHuvMPTyPtqVG|BmuQZ{$$ejOhV*~tc;Nq^Qz+Z)OhKz1w z%=t6GKG-~_NzvYn zEqM`7n~)OUiRYk7t0(ZRC-qj_15md7hXEFusl<}D{2BFws22xW!aIB?b+d?+igQ+{ z!usoIc&BqFh|_aq_Z=6fep=_wjKI}CCgGJgJxVvx9>XIy%TS2r(nY62iK`9RcK89B zyRh8(chZI5zY~wU45_EW_lBk*-yoc#PMI%6HCQe5~6$EO2L#*Jkl_(Yvcp>L!!7DgF-uzh6;@ z3pO**!7E<6kJdiNJ5*h=9f}$So&-oMatT)z-7e;5D7TN6I|Ahbi_Sth^h62Uc0cA& z2dJ@RGYvIrTB;69;mz2*Pnq0vu1604-?6k3d>}M_IV_XGPJ%ZB^8)|8>D=7~!jp^mCg%bXbiT|JUSt!+Q3UL0 zM*q>_e3gpVv(WcsdT+AaEpu*&m2gv4 z`wJKNqyH09V#QsD8y=jNC1ex zx*?wFfL%#h20YbWK3dXoJ#V*gPhsK9qJw>99S6%v5-sus6j=a8{^Bl@-2p0pB1YD& zOR+Pm5UTXg9h)pXXis&dY6H~`sn@9>P~FB)+q@yJgpD!lB}9XeX1OG0NxLe+2*5S~ zei6IErgbX(KT>5)>#%IaK|GPNr~^K?6Zmf%fxsJMADiSNs}{4yA>EndpVkCG^;_g| z6UdPtI<~AK9fU!~HpX-SZ+7pv;F*D9mI!F&r*=RfByVRlGzv9(WZiQB0B#KLi1*HX zA*@azgg2@-v9db7v=fk?!*W(Hl+4$yD48i8JJ(#vldfL}yxN7PPvOszjre=xr&Bu& zHPR~(T;()Y`II{q^lb7_h9ss*dHR z{WkaXSZ*~NNsAx12--m*vO+SpYSzi6opQ<1kc@N6D=VaS^Qx5qm+$4c*>17Cv7u55 zkw7eYNPnHz&gB5%$qyBer5f2NTEcehKL&%qVv<4(4}+%!&1i2I9N#VNJoZU@kHj#H zsQSH>*nSXSbz7^)v)Bl1*E~)=rACEsFeH45VWpeSV^6 zz~@FsI}ELjm967_*A2Gua69~nFNOa!r2sMUvC)P(YT9pUpU1rM&yD{?e7{L4gA}Ya zz{I4rr~CysFd8rYwl?58+l?9ILHUmKfyf@=f#5KBzm5&u^mE9@X1v?+t|BhBVU= zD*bqY)cNQ3XKvS?muzsa{O)vw2;9V?jcgX66x42&LO0&v?)Gky8+omc$J)n|Y%Jc4 zWeF`C1c_UD$H!rXf$Kk^85{qA0$8cV4=r>sSRa?g)@5yi7J$DQEc6=H3S+8y!wMT- zt*y|4k30A)-CV(g{-t^Zm|BUm;fyKW>u zv_Km=G9yVdEpY`(xJKD_CkvFQ76yydyNmGY9hmlB+m%hy7uS>tbyj}n z_B%_L0Ek)dMH~oqL(p%U4CFm5a-R%cIPz zgyyu#ApJ04aupxB7{rog=|@UnQ}kl~HX#>Sw*T(5qd%VEgSwuWD3AMrzde+{x7(ae zz#k|cg=9D875peXg)J9FkAGSd-DC@~K@X*Np1ikbFPv5}{Ml|2`s;J`E{|on|Cv}nJ zS;`A(Q@s7w=zDF>SK1;-2zJvfm-hqX`k~E6+ zsW#_7s9>=DQxKc*6WAN+natHJ(Nd5VK=(hRueCW}1G?in@JGklJ*f*JaTGEQAZuaA z@M0U?YA$L+eUSFAZBU&Z$>4yMxtt}@6fzMYoueDtoX>iCEbMwB+;yo39RPWxZKr~o zTT+7_JFDDmu{?79>dh!=rOi?)CH{!z$mXF&5=8Muw>keZ(f z-ty9yATef?}ui*UGg{c=p zydf@RB*;|;M*8N3lOoF5`tvS(F6>$!M{4%mVHV>okaYYK{>KFu@~NfyL20qTW-9+C z205)o>-xlnf-A97NwPFy9^@?MZ=bR$SF&j#2m4cyGht2|!-<2||9q>W;*rrit05}f>b+eUrpPQ|yB7p-I9X8rytyG0!Mo@CTwe)B!7%%yp z)Tw6Ehj?*+LnCfP;wqv{2V)AEvM!QOo<>4&TzCx&!qM|H*G{w^j+!Wd>w;1%Q*N%u zri1hRm|b>sE460$|JY@Nir}8>dK%eI*=}f!HjbWebzXq#d4}cY@ydbSUL7*dCu=C< zQ^!!2o@s?64a6D68{875$WE<0zycg}4RBTjmf#VR4_Zs(THvQbsU0&aROD+(hPx^- zmO(u8oXoTAN%ezqcAmogyx8kk;Nh-{R<1cg0dC*E;NSLb6UxA^`fPTSRiO>YE#$#v z%4vaOX3!BiH?{ig8hDd}w_Q3yApLH_)_wE1@D}lr4%^IWXN2pVx%E8wV^!#V!H~x` zGbr~w5B|rS7$^Lg2J>GaeJO`^FY;j}GmmdO}kb zLq+q_m}qQ@X}ey`y~KmRVKwl75PWsv-`o#9et$4Okqxbnv1z7)CXPK`BQY2P6kx9a z?yD9T6O_o9tsphKZ^8HQQVkc1Da}@kO=3AHvvB_AZ0AUl%%z`UozO{_#80Bi*oDTzIS>CULMmjF}l`*#;91!A&E*A z&>kzT29Cj;VJC82CWbAZ;UiTYtUr*}Y~Axu$(|wEo)TF*1Vp*U^ahFc^vjNyN%p_> zCBsiNs7g_DcGhLK@QfBlRZ_S>bWp=gO9XF*D3d(0wHEr8(Ox!Ef1idx!@hmf2xd)W zW@{}B0dT99qsk8Ed)~`@&EpyR8ESn{hCGPl$G!QGW^JawFl%e`iu_`3O7T-+mJO)2Z?(3e~gLspUcNvI!>ymlp^C;5SXRToU)DKe15^t`^6yEr{WhqHkT? zw8SETQ6HM95}5TNX8rW$y=r}kQ9pfwk69m@6_KG2-nWIdZfSOGX>Rc%TaXC%n)kIp z@;XI!y~XhbMfPjTAgm2urZ}U1+P-|&n&0fmZ*CEhd@SL8Z3-!*@SnCg1}Oa9ls4c^ zvuNLE>#R>TJDzH8;S)N>yw|fS$9QBb1@CQfv{G;v=pP!^?u%xv8O@H2X7_OQzUEJ! zrEqO6j&lfSn*;`R4OYKXn*{7}YW{14FWfBzY)IS_5BoAX*cd<_S!zh6b zJQ7DsA8c{#rln=VLRXGFcwZ*(W{xx}&sy99E7ULJa}#S8p@m}&oGuZ!z`b+ zwmfxT5@yKq4A$+KlfB-MBYb%6Ue&(TvGnK1(?i#m1?{`{7dMf=jUk%8_ANH$MIM&| zTyo<2?K}pYcc-Qv&au{l`R7`A!zB_r+C#&WTP9!mx9rM$G9pFx74m6ny(Dr}xmGO? zhF~@D{Hk6Gk!qC1(DN1gDe@I9B^_!uq5so(t(tu_NADM(u4d;$d?I#1{6;k!6HnCa zy!cWz8y9a?vzmB^f{l-K8l7{mfgRyHenHn_YLcqhtNMq-UcQI1-ei`|xrTdJMnkh&3q+`{TW+d4%7B9BQ~p)qK|O4FQw}u>nf&HG`iSo@%RwV!L;pg(1C| zuJOj5&}wN+Thsd3e15?R)jV(=_9K68E?w9JvnJY7;({5E#!VU_S=|g4!em*a!ELJ~ zv`^i)UZj?X0xOx1Gr&uV19-`uhn!q#9_NH_p9+!cNDXCWV1gB25H9laKILU9SweX^ z`deN!&83R}ib;`Ut=a*u-aa({O(Dpp@h>CZz+2<&kni87>8&FAcKNOM1> z8HWQF>i_z0X@)eHdi`HCXHuGy37U(>Xof`~%|jD3z3hvC=1XpxlkAI-=8Kf(A|j58w^py!= z^Xw7G1D)A45m@OAV8F!J-)Mq%*GSgx_0tbGm0qAc2tDmC1cuZ~MnBR73Kf0l#ca32 zC7*%SNR=#!gAuQEX`aY&O5(MewL0hA_;k(Ic)g~0lXHIjMraFoP8YUHPc^F)1~u4g zYv-!j$!hH*YSvq=ou_6WQfuSXtVpfZs9A|x8?R=46s%OOO^BJ@q|iR96z;p~g@IIa zrT3sA1xyQg%aCv?Q~|Gwg$ltwlFY({sF^0V^mG&4<0~cm&3>hoP1ZNCE=nJZ`yL;`3a@{+to``<|U`98#^3aJuRi0`Guy10-q@jc;k_*>y~4_=*R z0>iClSf+p7Z#~iIIMLYRLrydTRhXsgSKTKq7vZ=3cg>Dj&A9%Ei>3j#%=){+&G+|h z<6GZpbR2G^3k1ycqyh`V+CV4yhxfhAv;M2m@xP5YME><)mSCw6=h>9(HImGC?DoUe z)>_NEk`Ez9`QPt{`>{oD-M6oWncb%Mw{I;Uh56s653m=*LB_0?I;73Ou1!BBdTG_< zl8#ROWFuW>U>-I@5V>W@FVF`rZiu;mzOZwO**SOp5xaQb0cL$`19t(4ymo&{9v2QA zzyUVrm}^;{Dltz|@a>f^B!U01$gefU<-zigc$~j9!R{Q6HgMG3g%x-rZz?IFIioZO zTr42#HOyL+7etIS>l?_DU6r}>{*HNTA@3!cH}YWKR?OQ9d7Ek8ClBUrz`UuD_bkop ze=u(y<`qL;9?k25yc;Z#!}E9!=8vo{qeP0{*U-L#dlZbl!al!?8%7hjB$Itj+@u4hG*h+64>~xX{0(7; z-ga*&|ItJ@l+|nyXmOw*$;Vvz>P9#uCa9Hs9rZ!gjMSWzaENTHlc z@1Cu&t;^7RXXu3|)pLjxB_}sFIr5vZzyC1$_aD zfu~r)(z2VI94l$rA4i{Sa;~Ih-L{o?FdsByDL27Y<0+rSti7OFI2x95?%pzp#lLLx z!7U|(j5bgqG&xc!lH2u{@x*32k)GZ3geZ`FO|zeFawO91yF$3`V;IM(Cb*X$iE(AV z$Rk%M$P-PDxF&_3r#OVxBmh%w$%nq$iab0e4qWf|ViClS6wl`%mP#W>j94h}(nDO( z8G&(Oa;Gz>&KU~R({u=to>}RWy3w>(m+P0R*X8%nF;{Z)RcV?DenO}O5mbwgClj&dPQe7S6WK6^P2r|-zJ^nUw%owu zhRvDaGgnfWsS)XN1HdJln`=A&%0caJLcj4f=68kU0Bu`;%>K(ZTusB@>Na|6|0$$^if1%GY`HQbMKZOAj&!r^#N z3K1$&ShT~nRHR#&49tVjbrAm-{l4HY)y(0Y{U?pI?r-6?z8y~b- z={Xxw+qJ(VUdOME3aiiP&yCJs8XwSQY(oJktb8E{-FAuDcGkt^pNxti8)=#AP=*`* zy3zR!lo{8N{?%Ou-7f4t2P;V)h5Zy@C7=Si+(=a*R~k{BV!kLaHn=kL@7W-Jxs`XZwSEr+Ih~ zJ_KEg(VlO__aA2|+00I`p0Bt8(eFXYkw_7oZUk%g(Yi)w9j%0W3?z8!J^iLGDq!dh z@(2Yz4xksI4j;Pf@L?ldVmiKQuvy9o4+}s;R|;T;tAm8b3y{F&DAveV3O21#fKqje ztL8(wxWQT3DEmlu^<3z%AXk2Sj@Sm*Lh4yzrL2APuHX^*ZBXd=AT=5gomYf@8u_tb z1O}4;%ERkWUoG(PhMR|jjVaJ3-XY0c;BIf5A|SD7Z=Ex-+L`O{z)Q{N&1(Z&SgvWYH+cbNe`Kotc~IU|!}}bY@cS+CZgx*m;gJZ#p3U~Dnem(@ zXK!})=FE3|A->bDro-ep#FQfssChi+3DLfP!fG4{nniD9-&E8qg#lNI_=XdDVN;1|;Q&(qws`g%%v(~TR3)rD$to2XKfVo~) z(37}aaB~G-gW=c7#AO1wV)T5ykeDuLANzXd=fq3_JgVf*OH2}E9Q))r-rnFvjC#>B zwS4M!e#%qeCs%aEwJVLx!iKX)z%M!evPA@rL^Hx-oI2%`8pEfsa;_15$`sz3I+S~m zBEk=BST`yn{3D6-m&j5@ge20ch>$|W*bGqPhn2gW-i;3L#$myT+1nv(L?MiP>>{@= zu2(K*<-c4^eSCdRK7@muq6k;)o7HQ5yutB!Lkk2##dd=ISJ4wL@+@u7uP%bg2lUMw z7wH)P@nT9S@&!6mh_%QEj8Nby=m6JmS9#@xO(8#F!qFGW)3kKoMa7|MP}X?^#u%y_ zaifss?tmEPo?#T>Gb5&mAfPfRSc<>;2Ka&bw~p1|s{9$^0{@%LgnMxFV4u<=z;GEo z^^l6!0+l$?j?BQY;87TqgY+SM(bpdSS_EKAKA*C264*!{?YQXdplo>b=JVWqz@%nJ zqNHvNapQf&b`G&AwUH1T1^hO#&RST|mx@U!mNP;ic-#tec#NYqB4rTT2Y&~bG?ov< zUpvC0%^Q@dVw=oHi|_?gDCEMw8r(GRg6#=fdR0v#(~-p`<%Ge%C=)1?V`Y!#Wbv0R z6C8bw<2Plz4DU$hcdk9;`>bdK=btmeELqX~PFCj=dspOGg>xXfRY+{gFRq+A8TU9m z#J%<{(K1jRe!+aa(l<7z{;u!V%n$Fw?MCDjh$I7=I)$}X&CA{-g{xj!tSmmv%@@5~ zT`2(F);BKayBEMF1s}#4!ODWu3z)aB`jwjxPe2B{7r94QU&)gm@p@UjJ|{B`8lSYI z_}r-I1u7IN0&8kopEAWBLpCUi%lr(t673fahHPVlEaHFw!uYM@X5(TF1$UHiC>m;P zZc{M(gT2U8*aon6oI>0l+1UNc6aZ!l-m~Y8Vzb&v4LXcz*bc@h=8R}hgUrDB*Ii?F za~~f3PN|T6B#|$_7_n1EmLs-$FJ#gL@ly8GAYe5B`bPZoyTGgW++o^iJC8NaNhIv9 zL(Ia9scgX=?3f2J6?LqK$`X9b%M&t71T|63A-Q*5=Jl*i!K*&@9ndgGeV=B6NCOaW z6TjBOSLq`cp{_ehAWld??zVfdFWrf#cCCRr8r*f{1Q3Z8c}Qh7emj>J+`*W#G!J}4 zcD$-7^No!!yZ(4tYV)+*pIqvE0bKtf$To`T1R(kw{;Cp;{0P2a5QPjp*=QSRfO*~7 zfGWW@e!f3>27ydT;Jyg1RbZgBGS;|SK-OZa-S3Iu*xZx9f_4|p_4Jqq*F2`F>&q=3 zN6-9JsL{&Qf}ikD7A$Wo5eT+8rvv$TghTSb#~(=k8#j5lLyIR_1mb2-eT*+#RJbgz zP&HQ;uRmHy9zjq?SA)Xx+Gu-&vjg1U-1nQ{UPOM6gAt}A>~lI69>9UCb}lxtaIePi zF;S+!!1?)kF09%T4Y12nWhBHsN}lCsib3Z{5q}JbcaNTKaDLq2zUD@>)7)rzV0)df ze@d9=uXc8vk8Y~ss{n}@kvuET(hr>`lPQjO0Y@p89YwuE!aiAIuGB0Md%_%M)3EpSU6Pm zy8^e4R(X$r7xY;dTyHD=Qd1+|2q8BR!m$(Z?gs`;zyO@%b~OlLeg!MjJ3BXFg$58P z)xXLcS64-jrwO@nhih;_RZ z>k3e3v8J#S5<=)SI3TWSK;x4WSfKQY21O*B`MvM<$kNUAk>2GIrOO*4N zad;$xEt?uDh90Ge{NCcWZCv;L9B=F5hOz{Bu`Pkv5RFOOoDVy${rKBlC*efp+LDc? zjoh?%vfyD2qlJNmEpf+Q=+H*JPo~K$a1Bgb6(75l>0Hputglk0l*wL)*XCeMBu4H9 zb&5hS$TW`zzU@c$(t5=}y*?QIU4wHTwBN9Jv6R+px4T|m!q;6UeTf#{OLQ(gAKC;p zeg);SKzzND6w>nYhO&)1%iE(f8k}JunR0o&bg^4D1&HHiw&+6_v$L*>E4XvfN}h4o zslmEUl=-2kY-7Br+`lxse*5Z3e);1s^G(_+t}F{`pG8(9WLat8MWNNJ0q$L&#%~R4 zWgGCUoKO}UQf^)ikEdd?`9eUIPr;pXD_KsV7L{35Z%dk2K>&lriyjm2IReuIW(00# zpzlC*gl*}XjV3L;Lu`uQSfX9v4IwL`nx!e9;Pa>R5fq)Ox1}%e-t8@X5BvgEvkKv= zbeEY6-jKEz9y-f}IF4ge^%8`KyS6I!`X=%R{BR6jFj_tz9l78fxPV42TrjNsM1%6M zd2CutM))YYi#89L;Jc)v#ab^YEH_8{E;ySnJa7hza<>Ic2}%|odd6)5lp{>MR;TxZ zt%jVI{STDAJKA``dFH{gA>(CD8S{UL3yLIx2(8R;oVWn~CjW*)_niNxC1|@pQpZZvBr^TZB7WEWY*ZU1rB6Ji0!r%U=+vQ3fozOEkp$@~W3<6JgkD)Z)??OVs zXKpt=bAC|seDLCIbEz$s1QTSIDUYj`S0AfAeoCTp`|m32FHpNRrD(!o9srdhK;qUG ziUN<`ffR+(@Aw{Cwpy}>maWeBtN(JW4cg9O(>;4ZVGSOA@q+WO56Y3w0d!ghIo>{8 z7DmodXgxrOj6Qe4`P_sI|BVvHbMB8YW7bSF`P}@c^hky&==4~%hjeC(<$${~mLoFY z?1&Oy33Rh)v0;iWAA(sGeKy9Mol;8yYO2u{7o5q^t;W?ebe^ER;Y-H0b1ry~E^s|d z{z=QkLz#J_sTZ877Z%f5i_Xw*B9GJtBm6{ks3=bJaNrN#G6*x?e3<>ZCi~`!N;{9Nnm?p*ol%W!9>$E$7D*#B(d13gr^BH%nI%au5Xh6&p8bX z5<6H(GO)^L#2tbQ&Ts3j-_~EXHjqDI8a*Uru{(A7USujti`rGp$1Lk7^`=0$nbzo( zQ*N5!L3P@h^Zet1u*M|+zFrn9vADHy*vLv#%(wNPNDd|~&^W zu(h+^^L`V|G2o@oalsXJ%wuq58rneu5QC$s-q}>|F~*Q0U$}2;NLw;`g9m1M{CM6- z6Kuibf*&R#3jd#aXDz^^<20-U?wati7ioCWpj3nXP}Nz$63tb2NgCfKmH1(olJ{{^ zfrvsN`{Qe***OMv9&QD~0-3~Qsq@&`BQL-^u3jUxO!I;0N#NQCAGxPNMxK3ldPTj` z3xYvg->x6&rFw=5n~3X3f*#eWhO3IPB*+49-vdeHR>Q8G4}#_w&z)4JJ76k)Ul?|r ziG=5kau2}*mU-YFIf%8QeL`)Ka012Io2ZsOf$uUyXxx!wOmhOv`gq8R_KVp23C{SQ z(3-7Ccb=1J-eiOc9nM>*Y{ZS=$QLfMxgOrmO7+W}bzh?xI@AJ^gxBFJ;pFBO7Jx8s7Ls>-s8Q*cUE1XkyljcOX2kN;UT>F`ztr;s`u!QvredPlStSA5V}b#Ax`- zKDrwB=(K_#EpMwVwSwdGA#w5QVR)AXBJji6iCOg#oW+jl!8A$Wj=_PkF}bBS*pg&o z6L{jW0+%wKEbIV8#EdvFS+luHkbBQ%foFln->lZdQy!DlEN3u5qK_cw8vFe8rCJ5qkKyfx0tdygqv7)3Exi$p^d1 zUnrfK_0E}Nefmkn?>Ssq+s_U2(6~iWn^4^X>Tib7#W9t)KpZtI5PHM^(DMHE&HyNX zk56l~1ToC<0<#KtKZz07?=sr?pfPdbc!3ACkasQG%b{ALMR4>3BCMy!Nl=eYHyFb* zYnX%E2|LEGcfMD9xeD$W3`7fYJIFmmQ-8|^=LO@exB{O|4e)lR1m3LOTDvDtb+_*B zJ1-K|tu1EJLn^~h2IwE~Poq`+Q3WO~anpEr!vm`sFdqUn0tgPG`736{aiSMDZCVpo zF92Id0XMzU-r^0}Ak^LBK=B>ytmMl1%oVPZ(sDxlXr+hGml5aidDy=3JQbgW6*rX@ zp@k;2jck)_4u1(;w%&Dz|E+`EDmK!an;yCgp1ArB+|BPE2wdo6_6`9(zjzPm`QaL6 zW#W!PgJJWozT8v>UXvK`rof9Cv$w!#`C1q8|LA%jxTdeGfBchA{*ruD0vM5Cn@kh;go9=O!_*`8lv{JEmKQfYY zYic&0=n~pgM637QD$=I7;2rD2icV%u0t3%au%EP2 zeov10q7#~;@)WH$g%QUd&=l@GaqcZ{n6Iw+g!lKPF7lY0%zGcHi8xL}UtNTr*^QVK z9i8jAdqZpA6CYFRO>6qbAJ@pH@?A&;53>BL~4_AT2EpD5}b@SzJIpMXT z+$lEEJ3Ri6QOq1Tx)ygy+dl#B;DNXEu+=BLHKe1YJO&N|JLj5~m8+U5pIrucx+0m< z&16C~mM}bB-MO<7(gwGr$vPC9RB3ob=*ucX>iE(}6O=y=z*e)jS-r1Py zY4uXcN=@=A)#rHa-6gH?PM(KcM#5F_)hC_sE+jPzrh33kN`YSKQL<8vB_Nu z=n1;K^>UkI&y_~YYv)=UhdeIFh0#@L$0ye>nS&=lpt8Z^khm)I+fvd_bWMXHy7U@2 z0~=OROwc7fqWxx)jHh2S>3M1LMr8_=BinIZZMvr;ePJZXAaixdiH6W><%u4}2^;4P z17@2IaY=EoVm!4wrgNzT!-)fvc$(uhPcOc4P0uQ9oI0ysxM^m7@=Kf2dbTect|99U z{uS*1WMrjHR-d zwy6Ch5|RFI&P;0gO73oQapX{GKSbgOzHx^VL(dZ*kkF@hRKpS-r`jOlmJ#UUt707o zVt_a%*+c5ZwkVijDDR(+C%{LW)_!3kO%gvB5ZKeXwFG5|=JIIn8UgM(a@>3B_!Jl6 zOH!V9gyf^!pO6$DIL^>ov&_Xc>}C|W&$de`1d9({BP$Pk@RY6LFR@DaFgtKu2cv&v zBkSP#DS&a>H*#a7CLFrNx>6xXOq5 zrPz(f`R`5;aNZK&vx(Hrs29q)mr0r6cVE5J^uqC8!HU+P{)jetGdqikY)gl7LR((5 z;HP-Iz|LuG6gB5X!;NpAt|{v{=vVmn4YE6<&)xmy6gZjL8?``UcWY#hX`huV7M4)J#vDp%rU z9|@4dD*6lVIleERKJLv%U)-ms_M;U9_u;p&u;5h3}lkie;_hGDkH8Pvy-I^rcYp4q2B5YV-^i0< z@3*8-e%uO)`yI-cjQku2T!0*&_!qJ_d!*^M7A9%J@pUgB}wqsd%5CKvo~Bu`6%DUT3)jk{ zZSr&4k@WN8Q$x7c$O2a)(sFk95DfC8-7T%xgRg5Yd11F|ObpgJRL$?+cPsfW(I#&9&=MFk&UR~~e>7=JuUinD3fCs-xZq5OMkjILOQmNqv$IpLHImB< zKju!mh}%X=;~It@_G7Y##7)6)uMTbbH#`}>LTY;uXBk2a7l=XKNxvD2jmqPGLn0Q* z6ZHoDM+uQE1=>fY(s@LqzGD zl0Y63{T!wG^jltg=bBcj^_?3Q1eC)OqUa2}rb(lDW|&{2E_yVbn~VN(mQ(DaA^6K{ z|3C~5tzEa1Ur)Hl5G4*Sh1AZUQ4We#4ke7{;MsxJF2IG4`|udjv<8{h5X=N&of{uFh5qe2)@FAuKPRC#e^{5MKC7 z_-?!M&YpPAMUeW6_W#p|$YruoryTbjC?-`2Be5mk+b!J{@ht0vsjI&$Kxr%-XlK8Q6J|d5oWiK5pJSYbu{-n3By#0kP9dE2L65}cO3Ga z7nTich*OK-6Ofot+7v}qIK?O*3JE)9T3}!la63pM+#Gq|^f@|w+%^&fuKz`TnYG+w ze4&fU-*Ta-xKae47EW@+nRogcBJc-co(SOzJ$1WjbED5jza!&nNOm~b5OO!k7ZK|C z96Nkp5xc?FBqlY=1Y13!#Owu?_=PZWk*I{;^E9`Hq@h17K1VGYz*Um4)BZeHOX_4) z4Ei#$cuqkMh=o};viu(wxBq9Y5ci6&NUbtii;v0zAt1B@@e?b=DCboBBFK# zwd#uNC&BP0uhwu+am?~f{Pi|*a_i>n6HxF%{XRJYE|EIG9i8HHQtYI6%fHD6`e%~B z-S%Q3yV3OV04`_?$B~BMzTue!o&?k%NE1UC&0}dr@j1jEq!*@Zxl@4}rrugjd;>ub zS&En=>`iad0S}>GY4(QK{?;LU;;pC*0)>obrRLxvdz_}b8Je(-;BYiEZQ+}YVoW1s{5KgkHh^HY@8c*2B(yXXT zSCVw&=(Rn{DOp!ZAS%aus_o&JoFstVHKfeK^?t5J=nz;B+HXqKZHu>FnSS!%^O;Do0q>%WU1q0OO53KDpya*6Ngv z0kL|OGO!M{d+s2e+THl$i zi91s_cP>{nXnCbK<0na$S{7Qrnw&G2!&D$qnAvqsNaGtD%do>SvL!OG-_@^a+N_o~ zkD@JC+{U{BBzFd%R@keh9Zkp13)(-J95MFNVcRdB@rqW;+wV*^yrmPwiFC@iFdZ8= zw?SAsMId26;>JB`AyfX4nDEGNTr|m)@l~9k1Zbm5&EF917dCvn_WU8M{ zYJE^A>3!5m`YP%1sWKDc03rDpq_*Fe3AQb1v!TmV*yYJH?x2~F>_ap-H-=7+**BP% z!_3S+EMUY1T8;G54EDW2!+V4Ay4Zsv-7i&Vrj=~n`#5cSoXT0nIy_as1nV$)VSATXaCPv1^la*85>^UQpH4AagBHku*-fV-x8R~PEyZate#|2l| zGkMcmm7mLDU7=YRvpJ$PK6k|q`Fs6%6;a&&Z=Fz^$LNyda?0ebn-JXKBGtD`SE<^%P=eQxmFd~1}w1#l2JWNPk+jOqnV@bAf zl^*zKLpQ-pCh1~w9!=eMAg77fJcx^)PT@6yCf=fjTQ`6aIB?n?#8D68+7(lAm>qb! zqtz0so6IQ#oUp-aADLDp?4+rt98b^f_c-OCDuNK)uAm{>Cuj&ii6$L}3|&ICR+~j}qa+UIuyH%!`-~0t z=xB=;n?xX-G{XZDXX28`ZkekZ|K3j^U)GqMxSMPL>dqAVg7l-vqs<|eV6NNf#S%-w zGkLapx}egN?G|qeQP*q^c`thPf<&iJHz+LVw15KVRuLSG$31yZuT5S&y~s|L@Au$o z(1jN@#qU$aA}J%Q4WXFn!0~ed9rvs~u)@hLB)E|`7-*Xh55B=5<>DUn<3n+C`F@UbxXR>Zw~G_SsYM(X;Ou#DaJ5B;wplkdT0Qo%lNf zqhMcd@5R{534X+`3vdpspNS>>qWCV{p8Fs?Q2?q{6aAOFWYHi!K|V2Ycj71f)FC>@ zX@W%}!*7qhF3DKsEX(v{7z}H(GV%@TETdVl{`AJhqQiQb(N5jA(nhSA2 zYJ)vvy%Cn2e5!s5+&EsYlY%+Phd>uG+a)p>ce|}cB~6;!iAp{a-WgDdRg9@bcPid@1{A1 zgnO1A^A;bQ;>HIBuGAq7R3tS#w`S#{mNGkp}L!f#O?}#tT)U zV(b)d+4U!mWq1x|yraB!B-kF%{g5HSCF`NzBcyMDq@Id8fnA1BE*(?h&hNrb7K$|j zN5nBzn}nNv?7D^=UT#?>T>J4)t-S8xp0aTsZBFCO9y zA0j(aFH7U~U>99)n24m>XHl&Jn<1|)BiWM!59DeL?CY}Zy|iTCq-hVpF;|&q$r7EQ z13V=IWwa}b?8NdX1RKlmH{>a@MzeCE2>}s~2&bf@FOj*FCQgIbO*GFX?)B>0d+)m-l-5P}-e+={a+h>aHb&Q* zt$0{oUD15siZ>ZzK8lNLs%W~8(%bJ>KC_(JlACnWfFx0L<9+tv(Oz$&i)LoEZ@-`8 z9hC6Tuk1NWZu`+Z8~Q&-wmv`&l4+15+w%AIQ~noR;`U?rUEtnEAA{;O?$J1mW3p(| z$CJ#@a|I`r!#JPOuT6hEij20P;!VW21yHrdvZKEmvett%@rk)lHoz|2r-3p)|$NwZ+O) zSs0X4S)dTR=-%TSxy%5rdm@0PJT2mb&JL~bconyapf%NAF8GL3M?vA{LHjQq;gU(V z2jRaQ;SwJXe|m(Q_i*^^5l;6|82y!6-ViELQii!l_2p0GI+?KCa(#JKk~k#$Fn5(Wz@kL$T~~Kq8LEXE7$-Tw9na6ibWJH%p)*ZV(@J`bu*3`tsSFkl;9R zW6~uU6hto(F%4;Snl>#Y&6oyX(AXl#aOp|Eq@78-q%RNAmxoFeAO@-wwzGHc>O>9t z9FgSjlMob(;l#B=1nI=7ZzsOu%VUNnvPI;Ej`4)rJ9nPUpPnm&?LQBkx!fmw#AkyQ zFNn}Sz(F1@?4q^o%#?OT(oY8pb|yBK!iv~@Jn>?F4AaI|R;AznSG-?eTvZn;TU^5Y zsBR~=JgXPV&9v1UX2si1Gj(4Aza--Je+U+D-XU+QXZt9^>uem|l#qohN_Ep0a z9)K(gy0Ei1aeq={Giz`2TZ0&ZN}IuM7K9ubG4twNR!XO0*jBR#I<-+hq?wH!p%E*q$YH$r)*fKd_x!h2fi< zHpR3G>%G6Ofm`O9;I@m~TRN_{#YEa#bmC2_VF-n4bm9$m-G)kflcXxfD>$;YX2bh; zT4&j$&8tGKt3u3wAFxJ+Ziosgs|xo2X0S^-D6yKA+<%dtv9ii92fQ~2{G0iB?xm^7 zy%8#}Y``xa=#pC88tzvl`fLPkl2GSm*uACDwI*e(n*x9DQwc17pDoYKw0RfTn9YNA zeG&MJ$g?>Q#jiv>ZC*LpdU4A!Cgs{U!J9L`5i(Mfk#c*hLYw#h71n+#B@(7`O{hcy z>GYVq?1QbIvW*Rg%TM-~y}i|L-`F7U53Ra*<1OmiZ4L5D))>mYbJrwQdB>z{*mAFK zjk4UEutsnt^gLLnupSAuB0K|JT(eH@cGR?mZuz)oo@i5O-@bC2cf-iH>l-(=dGTeh zs7r}b92t{2hYI=~Fk;u*^s>COzCQDEoTybOUGtpUR-Y+RQB*5nD{I=~Hihn0&*;w_ zO|c23RZpsG25M>U!^{rkZ)oCSiZ3baklu*Ak396JGbW zh|zW1JlkqEXZEgAZLm{TK|(_+rd(#`SK{*`=y3$7S}vS)aHU+d&vJb>W1W0S+yWU0{<*HIf#$=~VPk0u|ghmkc8 zMO4aJ$*IY)pzkWdSOx0AaG{i8-=x~M$+3QYS&eRdylG4_oJm=uRGUz4=H6M4otKV5 znKaO(O1Z|=Hwo>Rp$LL-prAl0rk+W4n@NB^4{EGgiu~(co_%p2wK^~=abcT;(!bAW zZE`v6n?3t>Z-yi#6EVq-fd~f%7lX_Tj zUJ^{5m->bZrt-%i|F0)&UnCTJpgSM#g4*?y>Pm?KkATqYwkCzGF6QIfe@=c^_d!z? z=muSKDwn8TYEt~)Wju#*M;VN?d1!W3GW5pKoY+4NUk{wI9QCp&Cn`=*?s#^-Sn&)q zefeSerFY-F`kB$O(zuGw5f<&U6l7@_Nv_a16q&0W!>V1Av{JH$UHtm+cDVGi%BYW9 z>DvFG>K5fK{6pQ7i3`2UCC47NcNinrhf!|>b zCD}qPUV+r%VrubP{7Uku#Sv(V6UzeG3#q#F_-FG-_NVcwSbUYhvXto;6!q+G@(l)w z-Aq2_Q4%8K_{F~PHFfDKr@fM7dIB+P$VUuSYsSieq7ez{@v#{nKyUb`lv`N$!c6P_ z-&l?W_Y2j_RMSJ$or-^SL=8Vpt$nBXZkS8h`|fXQX%LPzSLxxOP`&$qgUd~auy!GJ zuHjq-lJ`;FcZ2)>7}D(eO(RKRB5NO~Didhak0`}nM$OEy|9k5-`^MsQ(T(AI*WTW$ z>YOn=jjD{KO|ew%lN2N0w`-)q0$ zhsE_6rLM#)XVV-iCZ@ua0JCG2&)3GIZ80yJYjr@fS(G}<7NxM&N7*vT-fEkL?^%1pd|ypRB`9IhFdnF^W90p|U!dd?-NFZ{e3dbby5P_E1? z)rwAAVMpdw7tWsBd7qRI-$%cdWqC}}|DSqn%Iwq$=%Q8$>neY?ukule`2WVIRhgYO zA^G!URi@$<)U2pnlUct1uVpU;V=C_wEsDvx>&w_3D8LRDoNkAJJEM56#kkPO5M zBV{<$i%rwZvoJi?y%hSx`4+XWRbgWbMm)<~AAv;%=r9UZZM2aUA)7>fkm;IuQeaEU zF<4G{td9TOwzY17$msY*US`kB@Qc%)K)IEu)(0)T>4GKlO=uMHqurr zpvX_`+PN({$)*s@XhMGo6S6mJH_xo1gi2dzt1YvYp1yy2fElRJ%D*g&ieP4b>| zxTOS+r&YOR^0^OAVir)T&F_7blMF+CuSL`bQRzqAieZ|{Asnx40yHQpR!rt6+nU{} zm4CZ{SObYoZAQ^AAoODrau@O6Px9Z*{C6tYIWt@eituUQDVa<%k=W z{-8?mWTGRXkrGclNMz z)l3M3zON7E5!`+*1dD;NJ;|COI&BqS(0krWoZD`-zo4;s_J+@3>jpeFLHszwaIcbf z&zCQP(EdBV~WB`=Y}CX(X!x^CYICG4Len%B4_LdTJWr`ZkEhy-&8k?7%;rS&h$Pz;JR2U zxa5t5g`ZxpCOVk5C(Z?*I8-7KR<2U0wM(L4{QJOeE zgn>y<4W#)cG*$S!zAd*){cF4_pV6kj(KbK3=dcA*CBFn`52fSOMWv*Dt3$pX4Ke+h zW*&v%VQI5Dbo2F zPW7@54*K6(IaTgEz1saDcF-H9lePH`by`O-$fzqDbA9N1awNjL2f8GWajwrpHy{xXRv zQbf>aB8>b0nqdrHT-p*w56`76F`8>yjmj62$|W3BN5yekp&&aXDB(|xBD*=5Oe_UC zF4Xh*BzmgE6$?ceF4WZAMrz6q`MMd6Z(u|%3o`*S!ZEMclJ!gQ&AkShWR~&x>F>ZV z`A+|R@Nb?r53|F2q`zf8o&Anr3DdAWBclxTM;gb7pl5W=rfCS5l+(o#L5n}j4#|z3 z8?^Yf?2s^%2IU&+F`291T%`B?>-1J-QhoonJhR{mFRyMksojWE! z58i)czlMA5yHdVh{U%XG10!fO+@z-WhOdZRT^Ac^{#E~J9ZaK+c*p%NiCe{0Jjfvl zp%a!jvtea5o|f2U;Onq!`%gcC^~r+@d!q#03IeMK$SMzU0#QC98COA56MHWk_VYJW zbdO@*y1W^=p3`%chM)Gk{qb2NqVX{9KS@3!qeWg#j3-@tIfOQ)QkujCdv;bA_QM!) zddl~;7#?5*Z@}7Ml`}%`SP=Ur%n7W+J{B5x-F7h{s%cSwnv9X_+0ZtBhj(8nE%`(+ zd=aOGW-jaUy8RHH&60ptl$M7!rT3#BciTo}dhgw28v>%`We{(im@WR2$eR#PBYVMo~C6( zR9ev{zux}B`nm0zD9_%I1*8HEp4WL7X2!lLZMy4j^Vdr8wvad+h;ppg2FLla4qe^{ zF|Z36=k-2+$p8EyQZaXuRHYiYg-n#;xkH6NJ46PenGMbLmip6V#c4mQ57pKGUSm0kyXsq$1*D#MPtWeZ6 zze8U#&rW>Y!-!k<#jh{*M1BJo9LwXT69-v8a}=3pGh*DNsG_$oF|*e%^N{FLN3(f$ z`o{EBv?o1v{VSP?w#>cZU^+n4z+=hs;0edx+3~K6gOahJ_AG+QsXqiZh=|`meqc|8gO1x=SThx(&Z{!^Tz00@zEUQj11^3C~KG zqiECDcnvijuNs)hb^|>KGHW8Az6}24SJZGgwaH&RFvIZkKJc6~Qi4@(QFbU{6QIv+ z-Yqxxv?Ud|o1SwgrUa*?O;22KsM-EPVw#62z+^eHTc53zNs~(4=_#ted6P_TMxIy` zoV5L5hc`VX&2Rc2>WcS5vgY2>A`GD4@MHI$$E)+*u-LskR*{tBUj8OMJVp(dPD1m{ zu)1%{oxEg2USGX8BU6*>m*AXec(vwLdU%M!RRs9Vc6s;J(-IHfslhW0zpVEBwxVK^ zY@<#V9g9b3WU`aRS$mjjU-fXxB9h|$<3ax$K(61<2}!s(Z=NZgNR83C6_vEN<)Ghu z5FR;JDgx=3BdYbRs^OQ0rh|ntcddj<^^WdLV*66+N-8|)G)E*p31~Hl5`6cX)kZd=h*fic@3W)? zb9egcu%$w~fDOh=JgfN;?(@E8^P}79>iw;Ln|Cm%OLoZ|15yanxY<0nViCIeJ!UaQ9{JguUM2N+B(&|JHG+ zZ_BqG{?EO`1(e}*-#`|Ik3U4Q)>Jl0^@n{aDdpa;4*AdYbxpr^OcOwY>m+pqioG0> z&ZlsHB5|X{cFunXFbXvO8$$>hADNM#Xf)3mCKMS$z2-SaHnNDFQ+>GarC%j3_XK7^ zpmb0L-!*PGDaywNpTQLAC*NoY>Lm@!@fWuCWh@I$nMv2OIOtfFP}VhlaK;phJp`KL z{{|4{%S1ZYK~j?5I9%d|x+7*JSauh(H193&?(XyN?sEnX`(F~Ez+u0uQ|kSFpMP^- z;KYBOr0k6d!ve%VZ$qE|cYWMy61giv%#+(E1n%pui|r=_WOs<>f9Uq(0@GXH0?m+j z4j8ufG1x^Pg%y6h^6X`&`PfHb{FZx;6vB^Lr)K$XG1=|YWPFJpzQhU-U*g0u0l(c> z91{dKhl!&CP&^H#I!@1O;)F(aX2Zdxg9l3dI&b3RiCB#~Z>oO@y)y95oBKuIm}p$a z`{GT6s}GsP*t&r>mvU$u+m z-SadYOXBx@>Ug~G>?JB%I9VXSTSna#8YoFP6-`fe2#AmY>P+xI5=lU@dlW?64Hn!j z2)o-M2&R7hVsNVAmj?@{^<`*-4Ydc!EtH2=5a@FeM1{@iJ||NU|g=3uM_qJ^)Yq0bAj=onh5)r zJc6@RCdfhNOPXm)T|3a>lvA){*BOjgoC#-Fwb*A94zF$#Aw19e^Bb|R zY8KM5v&sEYizg2Dzm{o(pRHXTLQ7&HrV~Vpts}HQ;lOBwfA+zGL0`fAOZ`x1i4#Qr zalT^9ZDyA5WMqQXRJKyXjy<3`elgYbHDgLzWwS$@Ku3$9Nb(l`Q-TxX6QrZDoa_ej6^MxH>|L&9Sv`v@h!A0m3LTo z6wy`S_B{k|#B+NyxKVV2)mC1dLu8oDw{C3!ehf%*dmcdZb8jV`lc_T@OtzDj{207Z zT(`~)h3%fd;Y8T(78~sfQrj$ReRb*UzLMT&Y}4}3Te@$S9kE(0w@w`?vst_Cw>oXE z>D}Eo?e?2@?{@F^+?j6i+`86%%VN1{+3vA-Ck@yv*OHJ*!55!P(=k2&A0PJ~vIRBd zNF;=5+kEm~ONu!6X)-r#L8_6!6H5r(@Fut7eZj5>N%^p#_e7X}D2!oR730E2`_0pq zo2NQ0ou1RDZ#7zOowj-GjY+$07SDrfY?^vSescbil-{umbCvP2sdU3CQX9`C_T7sm z^O%9Uz})Hf!X&+vQ}gJ3h4%DoJdQOTdkEf9(d&rZPCN*c{p z9Vh_xT!_7n5kkGZkPSJUXbg^hO=o0v?2ivu8RA3+?V*)I?D%C_n$a-H4ZH~fo)oJ; zY-QuYyvZ??6nbCn^}o_fPI{v`q{tk~T{#5Q&Ydb^b>_IkOb8(3#A|wRzq?Aaafjn% zrYk4|6wMhn^oCayd{G13D$WQx9N<0eIg=zl1oGN^rH8pu{#$a`FFDM8LB5yZ)hlQtIhmne`mmoq z%ngzF?+)5a0jTbuYB-t)GWPn7y&Y!w`pH1m`$_WI-2#`H`-abl{g<zKBzlVi_YTHJ6)bffB-9-D;kd z3I`J&MKdF8^QU=JI^;0;knCYZY2I9aiFub;P~~T2D=OFcaq9r*W>^I2w9d?ku=i*Z z%i3@i1UE-na*=6fLYM1*wYNf2bmCs=MMhY4G3JT?xNHi?9qf8cOcJh+v*Wn9>bC2V z=sMN#Y^vm9%+o4HwdQ)vviL1`n4o&DzB*D1VjT=$=!{*rahJmvGPB#bw(9xd@u?)! zpwL62bIeT0wk-8)xk%B(Eycwb@fS-jZn>FuJ(tTxAw_0YE!tPbt*M?bDQRIuxigt8 z#Hf$-&jin<{CJpq=IY*SUDD`uK}XN%UH==0F!vpuj;2H0l^*n~uEo~VT3t^wpD`gV z2calKfiNg&CxtwaZ4t<1lvSe(~+?@y|KbB_f!G66mv6>D20X zc2;qhRkY-HK*9TZkG~iYgJM10w(~HgWom5>NBSDOjyb0q`*0!2Jz^LyAE8-`TO6-DjPZufKI|o~@uh5Rr;~}ax z#<9Mq=PGUsY6u{>psDf+$9?*>ziK!MiKyyvn#0y+^_piI&9mKwE`xShz-dSdaNy>U z53*2Q1|Z6PL#hKlJ~qrcl6Z!lX*FSaV{s4jcntj9@k~$82M77_`v-{vAfULTeDbMB z;F2eH7d@O#dGmVwG@2jQ%g$U!bH_-!_vs%0ebDP+z=hvc21qRFWtcz#?R=O7O9;9E z$crYpa<@s`Iyv_>`3>OdE-W8T!@z}0padc%7BqX#)2 zhG0(oMr*O@vY~N?v_dT1OQ`}J%ELL-E@23}dP*(y}V7IZmYalRO7x{}$>g01ERUO5xBHyIL0Er_9J!T~_#!MVWDX%?8Qn)P-;Q1l`FA};O z5krdShbMzX6z^Uly&N*UKv30_y-T@JtWGX6QG|<p!-RFx|#VrRT_Yj2o_n6HAFowB z8eVk~UolZO10!DE8fl((ptZ22Hq3ncK#OF0iMPtHUZ$=r_2RIylX92{l}=EV^<*Us zKCgY=rAm;r-=*w(J+1!E4!b>T&j5ULReJUo&xjmGY?ZfD+gZ8BTPvbsOkrITo7Z_N zveVY;ulL%umQIK#rd4_OsuXU=n1rCM0i|K{?+u?eD6)+3w8x_Yj3C)l{LwX z1ZQ8OtITePq7oYS?{rDmn4>R1m9X`Choio_p&y3b_~?nhfC#p-((;kXvMSBlv!d3E zd((2xjSq^>%a~_j;`SUinL)YBF%c!W9HEwAoEXs}bi8WIjRI{VtlamIVNWwJ64}gE zJqu?-3KN5ASZ`*;l3J?u`sn7Wo|QqS=dexh4VgyNzI+7ZXfo=!$*GnRhBuDGlc3K> z2mF6NfaB14)$}AB*Z87Dy+e#|lm<)kgHGb5}P_zw-+6>Xzlh#v-9n~(VfLqOT+Gh#Y$szB=OlgmR|3g=L>vim> zqn${nCuU;U=Dbdx$VdU(Y>og%?u*#`bzI}y8n+jzP|Y9Ry|Aq%e92zba_FY)I!u9w z>MdKV>8{j#d3*0{Bc_$lj@F=rXo+A@gxLjDk@a$f=*x6z6}xcP>hKv=)z;x8iJ00u zdp5$Ya+_h{uJRnplnD8tt<_-7rD{{a*^!l>oWveq&~Fn%R0sb(2(wx# zzYm)5L1K;dBcdvNW67l6#>6Mw-7h8K)w}n)h z)s<_^3svR0)Nl~Bu$62)5=D8l1SZnXtLssZLqrqbc`IS|wCV_}63`-ToOdv$7Bke-cyCmD_~q?F;Q14V3n zZV&t80}V5W7561Vid}f19JG2*gGwU3uj_#xff?q5R9{bTu;!E(XW{NPk$B&bcOZMG zI5h-ZV9Jn#Z%L}wMD7HJrx6gO>IY%1E-v+2fANy}$4XOxQjl-yU0J0-=R z3A9MM#7CYbkx(arwsX5xV6;=U8dv}bnD~H(WE8VR-r#a?g`xv_Kx5B&69Vy?svzPg zjyq5CxvxtE^r^Cib5rpr=toAZl+YwrXN#VQfDo&6FTeoAk>Ysm`E$hg_?j5BKHFuaMlw?fZPgl0*g zzL^Lk3GVWdzcI7Ra<}49!07YVk*k*6tqsqY((ups1o#@ElEtD7tp?ajlF`-Z)!65! z=Y(c-dU8H$$TCI+ldl8rt@cxzGaz}LnhPSToG1e@IdtTBcIwmIh2HFvrwmuS%d&!T z0}QRo1kS*?d=>Tn^NLEj*a%n3b17&FxIZeTRWIBz4rOJliPPMze4olYKB^6)fP_hd zT*FY_smfGIZs)*ZKp6DLWMx^Ny59?IOY5VEz`Ep3_f{|(UXm%~1;eLv8#m}k}~(P%2H!Oo!?HrUEXp*s)PUEKcOIx^P?^O@_yH|83$BhZNe zt=9^zJ0+@3_X5iD?LQM(F|+WR0Fw@{2{5pW2=csY!)KF7n=k)C>J$9<^RsVa1$jvc zKFR1MR=U4uSFekX-YUSFKwZ&Ov)~qwEMP{Auw#|@Dmy5D-}NkZS3CqxOw2lUYTLHa zWNaqEcng#;E%CgE5@s|uHs#yClH;=Ph7wW+bp$R;HEq*dW%>VjkUBX1{nU$X)A!8I zKWajKNV2sF^OFaK@2B3dKj}%-vuVbCe-Pq^UNkiaHI|Lqk<&0x%CyC%N#MWMR;Xsx{_yVyA>EIw5F@xCWz8SYm?tvbxO`;@?}c7AX4VJymK2+WX*gjDWe83(bp!6^Cm$>gecb+dEgF3 zg89INmk3^#)C;Uq>e--{aH-S2e!g^H>wj9Mf`tB-a7Dr=>R5(pX;q*)hCxwGFLuOBe#$ASWjL1_=vK08piy>xN_SLcu|1b&d4>j7NGV1euvMjh`s`N zw*xtB{*j)KkNi(VBwR~uTULuq^QCdn1Zwb=m|@ItRl&}!k`st6i}fh9Zh=Wa^?o2A z;#})(Crd~F2QgR+=FPnx!o2y5>9>^jRM_kE9RV{9x|o!r&WX*fsV_oY`C%%QRo$S8 zy03b!Zd#r4)tCaEF0J>sc|Ym-#=#vU_g(pwzQEy2Q31Mwb|q`gmn{%JN+cDpfOc!b+;E47p-F zzsby{(5s-lK$n7=b%pRVb+pE&kzNTlJqZ+;5DQ+HaIm3xW1240Iuu6ytGOA* zC5w?u)SVqNaQ#nWH|R_K(iT;x&2)#lSoM)MZ$&&%YW0Hqv5ucSuQ-0*!@0UJ3%(OU zf6z(Boy#GSq${Hn`5CfE27OvrKJk9ik-2Rv6VVZlYAfSdok*cw-TX{hG<$(KjLVTR zA%t^S?trtvvgVzp=~QcGi!+Q-lg`{fshg`_#>`&sj57Uxk}509!h>X0rC`0zqV?T# z(Ft^$x2)V#@f0{ttK&~WM;ST-w5Cl{Ww2GJNlInB4JPcPj4dO_gBM&0avWc_kXAY{ zmGI1x5@lE{O>K02NWL~j|F@}q&qhc7p%&yac``#->`&6oCpGHieQnd7&@!?Wul*K` zpAgdjWcs3MV1`l&uVp_8EkMqtv5}P5qDeU5b>$GxY#f^h0mkEyOZ}r2xEU z?H9TQ>g_ia0xO&W{O(_>AB#UeAivxo9h^q``K!s4!x2j)CBpoGFd_-lMfQ4ubbpwkkg#Ap!lu(jJ#G(>Ev-D z6WL4{H4)9{JAQf`2QgsZA+Rv&oQ9IIsPp2|1Ed>iJMhUO_9d+D4W94crydmJ}kFZv}M?= zjRm(>*enIN8XJjpVYdxj|0Ajsc>RzaljaWXqSZ(6C>{!kq$9R=J1nU95H~<7CM!2^ zRU-}xSCA-Pf^&0nktjcgEXt_T5OrnwDiPnekkM`I-u`<_eQ)C*lPnzDXoElrMlx}~ zq@YWuK2jI=FaA|LUsYANqXJd^H}^+U?wS?g-R3d7viIuN{&Jl(FWG9BpON52&!GIw z*lFng;^AGz^+}r`W!K;J$M2-43{%wG$x9^bM9e-A{Ta2MZClR(Jpw%j3K30GS1yma z{Cz(+-R#m>HCj8>ViThuwD#bp+-`hpeKLzp*_0jl7J2Y}u-q)OSx>LOdEvsXvVT}#vc=mVaQgHwmJ7G8o-9)On?4hh{t}f3kj>O_@Jh_tcQ~=aer@pkhS2Anf)p2Qkyi!>Jpy1fEJOY%AWa z{PZlfPWhEo6QhZnt_>HIKSF!7R+PL}Tc!L|n{Ugn(VV`uI`w3nG(Ri9&BoRpq$T5% zq~8?F_Rf^{esE8xP-!Pir~1c0WfX+%so*}`uUH29Y(>e4n6OK5DTyA19nlQvcN~|N zG=KRtgjk=yjh^XfE|v?hB982LytlvC@h*3Z#FoNLOR2mxy{fq+W^|(02^RIl#AHVd zBUve5BWEO}4=E6x(&uM_e?_cbUxq_Q-q0cpMz2pHJo7yZT;k%+`(t7p({#mWlO5tU z^4c4dWC;;Dcg8YyOq7FjHScNl#;Pcks6KM7Qdtv&wR2JcgUxsqbt;UJbp;K|Mg(=c zX8CvRckJ9>HmvD&e8Pb#BEt#c5c3%YH2>PKs2a;5g^Kbs%$ z1qV)nF!~-$yPf-V5Ynvny^|n1pWjc|M0)Tba8TrxuBc5w9!9n6C2A$Su`LlU61&4N zUK4L(BKu2u;0(vI{oL*)Bk*a*8HIN7oCKJ#U{$nvS@CmYc+{U zSj9Xr<|cqaFV&+@<_G<2!6zonxPO4efS7dYIbXJj;7DxGGU|$LxQU*V&owS0Dh6GGihYx*0_Q1BS`mcC#yvCjZ;z!f>s+>QX{p5i zrl&)Sel`Aolzj_aQ&+b4IVTAOINBs&1f^{f2n4j95LyA--b)Y=w7nx#DE789fP(0> zbFH=2_R?t*ss_cm5Nu7Xok?h;Axew1)1r=d0$Pd{XHciUQADZsHRG$+`pWlT=L8>} z`F`_#@cW&dv!83Pz4zK{@4X%y|2)l)wR>7lYnU&$JzeSjebAjAAj=PcdHQDT=D!X; zFL?rDGi_ndMnNV0tKe&#eQHhq61LnPsKJ;}E~pO7x6|qU`q*%29ZW9EXBqrjjs}D? zd;9xn;BC2^_$8h*{>{I9KiM$aI{*ECERY5t*Qv^vGF>PAd)K}XVQFg_WhvcvGn7l% z-$&J1mTG;u#~^m5DX_;SA!D$FP?LvOWvsn_8FH-RQ2vVgWh{o=b%VTb;qt8Sd5&Vp z(jaiMBw-b|_z$E;2c-?&dzR#Su1Ci#d9p^*Ii)=*aBi;h)#~!sW%K8bf2q7eo4R;G z^@|(kW#Hxv+gxh|HSD!WJKOg(-wl0F94JlM!&x8qBN&Gtj*YKFU&P_Ih*}?E5lowW z59NDqB;T=dI6{+KdHS}qd^hgodFGWV^PWsytf>yXBAJ))nr!hO*wB?z3%Z_(4IdSR7qYm#RX#5blhGyb*!;;%0b78O z0=6b*Wo{v>{_-YFUw_Qyq*#IDG9hFvl8A3Tk|pdPFSZBEst<%t@lvTPHjO# zV{V`@p+K^BbwRRAQvODuKDo5>0!;epZlBGep~)#@Mf1j3U)W+O4n>DmR@}R=;=aXI z+OjFfK7Bk2(734nR!QrWz7_lqsAgSQ_9nwTE}QivFPl{~QC4h@dlV1IImTCN?=7x~ zE!N&wSrJ!UF^*S*J_{Vn_!5TW_hj(--#mtMU-b)Iyh6lG-K z_apqajAACfH+39L3q2u!b`<|Mcs2-c#;=(E5$=aSNe#=<#`WOrW@@T*Vs1{wxEyV4 zi*}qJS{2s|q;KUig=sxlo>H?R#?h)NOoLomI5SwNT$>9y0RQS|`6t3!WX$+aTR!jK zuQ8g~&BO4b;{Q5{As>NDJ`&!!!>B2?c)3~FO) zFX8kOC@Cpa@@w-Y%-~Grv^>~Sd}E!P89up}F!u!2D%Pg5KJ-1xi>bF8(AQvPvm(W2$gnq1>#{w~uU1+ET+U zjc-E94%`g*_Uy(>pF9Mn{gO+@%h!+$;)*FbxNjvpK82Ckz1~qD4lN}(G7-ug(U}{8 z5Mnbje_GYdprRVT;CCPhRzD;>LTe4GM}5zB3xfc!WpkO&TT-r;axaNS^BQTOd3 z9dtn@Y+rHhh4xg~9e+TsUKzC48zL;G*$puk(~ES29Lq~Inb@A^{}6=7l*?!e)jxv6 zkza!fuIlBQ`sNT1ITG&VepLq(ZY%21H@?_g_H1K?&s+9v#m`$N14FSR_WxqBc@_-S z?n@alRC}ep*Vr!_s-1VAX$M)*>P93MRM@1o8v}wJO542q5Z*EGemq;|-7ky*TlXS9 zqR%GS8+71)OSjx{sV8LT=&~u2xAU_!^>x$;UVhnjIbKfQ63|{8IZe)8C7J3Z{1fnU zqcgD90dq}cPD#W`j{DHG94vAXOj%-0%re-x7!&rfVU+F7@FaP7n`}_RxOJN1Pivy8 z4@|mQAT3>V17)FX>yoH(Qqvi5|bKq0e2$Q-#{hHJq)^M_IXL?OSG@ic7WB?XZk zUGdnnWxbG9kyVss)_-~NiAc|~O&wja#i>m97*;=g(LG<|sY6H%LLi)nz~NIDpN;gq zjxdEiat4B8S?|zAcdjNQ=7Eut(*DPnDfu|zUaP~0d7o+C9(kqcY{j7$x)yHoEZmd@ z3*bWd3y((_EsNGjWJb$OaMJ}9+3kzgNM+gCGqc;v3yMr`OSXGa1_jK?c9%QNje$iO z5wga{IgNqx9QXcd({F7wTMq0%pK9;++ZaD6VNNCFzWqamxlC8DjNCz~7@$GZUp3H}+v@gHdv@K0=)#J|pu z-ZP4VKB1tr?>Cw+Z$w>oNw!^K9@qeLj`*sVn9pxK1L06YGcUnd#29RoW|_TPFJ_F> zWtr2?Z^)EfPT;}}to70c6tq3^kh$xNjh@pRt>@`G(+uOs%QUR#w}G+?v2*n6jD%hIZ=^W zkrW-36vO5JJA*d#JjQt5Lmf0p6*NiB&_~yAq8aMmxScJFr1`n=qWe9e4s#Zp))A`X z51~3(wEeA(9{)yb2Zh*iHnnJOjm(0%)>z)jwi_2M{*|n~eNMYkm`pBA8gs+O!FQFI zIFtRDG}G+Zw-mj-(QoH3#YlR!6CNm<&BX2}L@%gw4gi=OGP{c69gpKBh1o9VQP1zWNmdHS+ z-25zxyaj!MJWaO|65WU@6yS(3-#-GknEsB$nGxm;|J{X+87VxJd9?5Dc>P_di!i@8 zQh7vE&<{;*0x9CoED_ILy6e-NbgRa+tNw%N=I5yg;R1XSR7UWYBB4)t+Nupuyrpk~ z1mC=Wq*-5SqJI) zSR|jC6dh^Wag!fc4CA)mW|$qecCSa&p2*Fgt@nJpo>yBBQqtEV+aJ+bSJIU7Z)mkH zp3L%LZS2-`>n=)d{R^ex@A>YYfqVAc1F1P8VwIE_bLswp(GYC?lZL{crLf79aEJVG zrJG&ouJ|qj8#>u`l3jCDL|Olr%DEA_NA{g;0HJN+xC7ooVXaNp=P2(Lk8^Wxllp$< z+h;N!>H4HuYPT+*yd|w^JyE)7>uQ1qUNv6!dzSmHP4oqepYPHyA8Bo&lEU7<8JaV{ zUJphh%mk*${QP>1OTv-R@A8}$=I(Fs1nC;67n9#wQ8)AXu;y+LNx5jp^bErn6n1ig=)8+QI^{rP&Ef%!Ny##%(> zk+YLu`91&TM>syMzox=Mej(bwk+g4z;S*NpX4(_#pf;tQ>&F@DN9WS2iF(*1jK#7@ zof#ZSh+R^9T{BGL;k0@Cx#7t3v@Xf2I)BUZ{`5!qiiL?s>rQGyR!3NYE5( zGS=Rso#Z!grM7Ube7%8I@J%bCR^WDo82zQrSSod?J+`sgY^gIZ&${h^m#5~e)Y-bP z*yYRBvhjYhCf%Q^)Rb6sdN#*>zebZdwK>+TK~>{t&y)5~QD%-Y8WS-{vc^Et!x}%* zZU5N;5t8GyVw6t%LB~n0(SE0Vd~2&b{;I~3*zZzqh`z7?U8TPS$64dk=gI2FfUS$7 zV$-vv`D9C-K}=;8W2?fXV!Yo5VF8)W_h&)xh+SC0StV4}x>xB^_3y#t$@f@qwsx|1 zd9U)2woNKv8sp50a(?pHxIQDhaUsJf_ApDwGTGlqvY(J@&!5#Ky3>MZj1RdD+`1tH zjEkp8s#R)j@C+ghTti13r#yRBx1P}?+ESIk*tt;7AtC2^%E`=zEWjpYhVd!Mw{WK+ z=3U3da@vEGER$O&F}WF2B?G4=UqsS#DZ}K&F>-d)xsnoAd-{y%DMypwHt85u0wp!D zeHRRAnll$OwQ{9G!x+DWss6OXXEfhPG!ICPCO4c3=@M9ziZKpGFO6Z4gwrykXz#E2 zQWBv|(JpxKR7zUK*0WH2({)QUUq&NI-t{np7O$GwjBFgE?YUjCfx~??8wcm~yaXkx zb&RQ)kzEc>(lTj(yj^Ri#1L&9lpsz>cJDb6^7Fqtd+wt9%027;>-?rO!du^8&c83d zHT?X_{iDwD_l!E1Qj}Fu_`)pfyrx$?^_yK?t$Vke9I8-Ws8AUt5>rLAk-<}KWbqtp zw3aM2K;HxwBq(WGTjX02(0^~251F5lkHlLBxP<+GV3lEn^o7No_dre7?l&Sn^F zE!XY)j`{Sf;Hc5-ey;l^xA#BKT=`jerR40WtN)gPpU1BL8>(ZzW0szwB)>P^&uP+) zS@-WP`lsn=YzV_AZPMAUjI;b`a=gX0bZ1#J&SL5`jPpJXBhvCVi8n!Nmo)wCEC^#k z*#Orlau{X!OsU~xAn1deD17A9#Ci*)&=iqwm(qlsD#aUFIL?-KY0nC8KN|^pL<%WF z4wAP>sLzug8=~l{Y~*Z{44b80>a%;hz7%e_(xneb!@dhvtA4om93|5Kn-psZU>}ZP zVdY3Y4QreCnQNgvdiUd^&oNk6!RZ}<${gZjh9AW-jxjNG_uMUT7R9>J5D_X}$7XU* z@O>}(bi>^&>>26Clb4!VLnJ49?5{qRwf9S)!mcvu6qD_lx_VVc=CMpJO9gk24C6Cd z0~Br3DV((RUE#{)T&9dIGN*1ueZ8qVF@l#)9kVH_r01(3FI@(=#YDSubgC4#Z|6QY z1DoLRJ>E8I_;Fd~&d1>lA*@PI2Wf`WWtX1n7{HtTG|xTN`2gOErFnZKkcLF7ycdHo zSIsO`bhh#PTuj#OAiJ;RopaV|)pcQP$i%oK^|zE!y5DS@(?H zV%LTWZHG9Fi|Bkfo}4g2u$}!k1$v!>||y=HvmA zs$`Cm4#$bFZbh$`3oX9nT02k|2>O8i?jjOJzzXvhC3fZW1Wav3d zMV2|#W3IM^=~G#97Ade8Hl0*mb`9#8!vA$4@AMw*j2dJ5{>gXu*>t}K* zqcO>HDr0hlfq+{+1qah?&I>-Saiy(QwPI~Mtgo(c!9EmfbPd&;YOmnMmXj+y^VT%$ z@d8^DYoZk`-3sVIG`#BmM&d>r3vN<_V>z9h!!3f_gB>~hyueBk0H z)|gk9^1UrDzffkXQb2w|HheA!<0e%q!6`M`{{&asA$YP7#*o(_Gq%_o-ZiFnPj#Ht zeXwzZX{hD%nZpxha4>xpYK7DCVfq8+cs`$Ls#Mf-g%?OB!sKSEz6rueG|?B7DWZ+W z*mc&X15wX#vY9&imUG4g4RxZho)(&4<9^a!jjV5qPNyh!+^p714L?+?PLfZq$JxHg z26Ji74MVv4f((t%`Sd0*n4QwB$zD|X+2apH(6Dz@$h_aPXn5xt-w)2B4Ucf@T!mgtqTaJLENw$iN(a(J)7R172rn7%CBgT}CJP()z~7X5elp#I@yDQNQ&$Kz8B7wvE%vA@EIF8|c~%tD`$je00>dEvCMe zlmSyke_9ZdKpstCQHPsB75by(f(CVb@K5T{pA_q;U^JDQzV3ausg{?Ol|nQOU2YS) z{BpHw5RAma9-?I7I(Q;EL>P2_X}Fx6#q*rwQ*5*vTbh%{r4us4^04!fw1q*m8KMi2 z60eq*=#o^MZ0O)HZ(FcI+BXdzU0BFJgH4~qV2@Na$og1oQ;1Xv6rwmOLjBT>mYzg# zyp_Z#-UyI;hJ0yq>Q`I;hFf^mWiF6y^?&p@uI>sU6)n z4bnc7A+gkS6Dx4BK$2zpKA{z-mt5kx#aqZLnoXKF-i7S}UR|eg-CG@Ax-e0dJT@Bm zmkxV^$^j?O@S04@f2bsP}ZLEHnX_Hp%rZF!a-i{xN-%f2U=5m>mglbthPoutA zppC^`-d$k=_5X|pJ{(5qhnUh8kQWLP-c?@ojib)_)or=);$8@M>{& z9{!l>DH~Ehe3@k7ia!nN-=Za8)({?`K z+?nY82>s+;2JeYg?IBF+2X7R+2@HVKLbcmZt9_TE>;^i1t3O?u!weU)t%>;1B}&yC z+p<%EQbw>@b?gRsvW)`4!~iACT0#w4_7$NOD5UyZS->|xs80P+opVC~?`^89b9KW? z!_N4(bvj0~E#OP!x#3I}1+Hf?MDM0WRezEe=pZt_Vf84xi5~}*E0ZWnDCz-0=nH;$ zZ8`}>^uT{f1!HW!o5oaaqwx*qtF-Rsg4s-^xT=S_Sg%89_YfqL*o@c-um?me2u5x_ z>wN(dj-UcjcEZLG_@rw2V|Xpg$#`=tw*0hQyiJ;o*4Kx@^avtjw4MW{SmLtv&BGo> zU3|m+aI^a2_2M}U{1e~eq;hgazrc6U+s#sw02NSHRS!gNHloZp zVDP>#wQ>0{sqqmBoT9C(B$-`%q`v(fZf`wIZ&<%P1!xW_3-(97vo^PO7r1OYn=?CF zZGf}&_{f)6j9S~-5yhr8Ep2*m7;Ux_ zLj}Lm6NmfO*8YfhmvE_!7iWYs3;!v?1srg4C;55@(g-wWN_7m}lGt=()pnS@g#m5` zz!0~AxR&m6>sackmTswj6>Hna+TJ!^Q;zZTLJrt1bq627*;3tmo^~$m>XD9J`3gqr5Th`}NHfNVET$T6>W49Df2QhvG*CM^ArbtxnzvJ6OCo{Np@Tw;+&h)k zc2ZygGJS&IEDm;S2(G5nZQOEItaa}czzQ^GB=Jr;Q~cLP9Z!krV^T)`Cm?ldTkY0%3O`F?GSu;W^t#3No|^6@pUv$=@ZwAu%b1%X6OSPVXDjEgCJ-V@ zV@KgPg~q5evO2D$>9?oj*EF_j>RFf4`w-@cQwdKUyJ8kQzw+2mSEaLf>hWBD+H0a` z6`o5@52vx7-<@?U;`Z;Z2X6Uh6E~a>L=F z4Zq8bhtIrb?QZ-!&3r^##2QuFnz0YQvJVrJPi-kEK{lTix<6W%GKIa+74uyfSuGlF z55lYhrt8Td$*!~(ErVBXVU2#J=ryVNol|X)MoTe!PyDzlvi5@dD%6o%JZ1G2-s3+$ z5oxdZV`Tji-4VeUbBRu?Xk}BhSBiMfXHHR4`LI`rHO1>k9k`vWIx2YmZIcf_D~0oK zj9K^W(5QreCF|JJ!l1=Tq%h;;)*D3n1bVHN5lRiTdlu#(@@W|{$a+ysC4_&h8+8ZH zhG$5v5^<&)ICaiV_LjOX;J+G|xwtoAEmig4p= z5HpV}eOabGLLr$nw=*T{J_PZFXKLDxOq1%j{wS8Fwq4~_VK|99N@=0riDz+w@T{a~ zp(JgPV(0)9KPeKgH(2!PDf6F)C{ULC@qh4~c=AMo&AA9Hke2Nn%)@(8?qD2vGmCwh)VNZS{qg9l+YuhufFyNyu2do84jkc z7bBcmOR{{)8$J$4M5}DsiJ<8-IW3t|*7r%nw3g4}hb64%gHyeqA^uS0XWNPO?4HjI zZc+yP7W8eJ=M?6S`(4ZMHAb8WG?m^%s?JE?XU^SgwsK*|(d}d#wdJnH^IU#E@fM!t zr$G1h_prCSWc4Ydj#^T{Y2P}vZgr@MFb1pRqY<3Nd0suGk0T;_D@x3eQ#o>UR)0!R z;RvM{i%xrSNC-p`OSn*Nr00R}8qN@2b0B$={_bGkPm*j$;7k{Fb*D2uF&ygRz)6}@>VkQ zlv7b1%k`w(@{d`SARSz;+&tyft0YvrVkL5S%3<$)e8uv$;nrL#?G?GtL?4f>x5XKUCW&PI-(&Ct2oz5FfnWnzx0STn~Bw&c|krwZW2bDj-z%P$= z=aBZtq2=QUyKaGwBb%LTSb`t;dMzD_Sovg|%)6h_{%y#&Lx|hZNpqm3k{L{eVPMZm z8dKY4{+8k0RG`>&KF+O!=~&IIx*3{9eGY5?(25n7lsX)>i1C9qrMCZM*^U)N2MnB{ zJNeJgBv{pq6JfKyG+|X1U_bl zaB_{)$#FY6cX)pj6!~InH<1{-9GdYRp*P`ZiRdAA=zT4>BtN`2Bx*^}+!Dg0_X|e5 zo^rJ4LcO7FIZ0#ACX@#z$0jdbcj(qM43Sb^qT9!sa!Rq;9t}F=ghQ{Sh%~EvsB;YR z^~&wC0Q9HgEfbp?asm@IpKKk|o*G!wp?13h?JkRBHb$BkdduK$y+_cqq$?`8P9=CP z0vkgM#{UehwexW(P~>S5ch`Edp4y^Ql?&6{`tu=vJO;t^Iep8Z!e~3kN4D=ciX>4?)(; zUO7KK!oH`B1lEsS~ZrR!}n z{Z3%|HaMY1#E=c96TyE7ms0rQJHqb(Kb_0pA4JQ0_Rt#d{W7Tgyu5F+HtD3efFleX zPU#Rcd^%XVf*FW}qu)sV0g3MO%#rmS`?DN6rW^|DQb*1}N#^rQ!ze9xYy6>SDTCPW zTB$Iwp^mz)S0gU&m}J}#pAwoZHk{wp*I5i2>zR`ye1+%iNsNW64a|aXBn!aqd^0$h zp#(<`e3eOPzfPxoIo)zhzp7>?vqSwPc02K22V?#EWTqUqp%6mjoom;%rUqSN*~3BG0p_5|%0ZUKO)d{YjGMKZ)@y8D29&M!6~zPA!Jt4Sjp}BO~yN zK7blYb?U9T;N2!kdt1n>UmaR%&8;VCRZT?oWn7eSO>@VpnTue9RJ{+Ug$$;d_Z@ML zng56220uOLrg`Rr~?o88v#DdQdL)OS=48*Sa1^R3`^@a9TLgo zAPmDT7@SYAmdR?m%RYT-Qq1j`S5D3^;nj$nCkq8GRX!~&v~N%bdFhz%8&ty)!J=PN z8w|3F=TCmCyFEejDG)6_C-wmtHShmk&kumB)=oQVeUkDxIXnvFQ@3zot<-G=^lgBN z`T%{%;Fg`fWgqJv!EcU%I#-iRqpDCo{Nx>Tj;gAWx~nz#okw{JWMUa9GMFX>({)kc z<;{%wLG&30F)#BjVV;6Jo&?6%-S~~9@f~T}gM%au(o97~)bz}q%=IKPWeeY0%7z*b zR`f|k0#TpFzgZ5)QVX#Fx$Tys1e%DIy095`%ksAhshji_Bh(oy1P$^`N#>5MZteZl zXgil7bX*n(xjLgjh+r4n?X~F37#>F4^tFs|g)%Y}Q19&`z*LAmOKT4W+a;B{7(*`~ zoji$~@v!DuiQsO4Xo30SpvVIZ&!f8^j5}I9Ulzxm@f(TpG3g-OC!9MGf-pJy&OL*7 zl?2XX)SWkNy+KC;uS*7-z8VyO35`j~ z;AADvl)w&aj}8)F++wN1MW~9L^9iu^g<#W{GisB(SU0Bh4r$r?h^0!cQCeGI{ctzmzS^>V9h}V{^x01u#{HLs)UGJ?&3}KuuZYWc%_r zC#)<6e^bC%y9RG90mQTDYM5JV0IU}RN^dqDHqQ~rD8ZNZ9>IrssxM{4;bC2Wf`*3^ z*$olvD#gH&5MP8Nb4ps=BD`WwO>bxWegSUop#3%ytCAG z4)qSn-34dL1;NOi*)v1K0y_+%37IlpYT8c~=1iGczFt#REFkEonWJ)g{vMiNcb{cf z&6AX#x|voK!ey12DaIZ=g&H86iKin^ca!!*Kt&InDC@p;V)RsJVnZU-RO!k;2Q3$oj9UCe1UtIpJ;{UE zL53KfspAfIcIyw_yhUqr+_4!S@%*TfTXb)kq-ZpCx@_3Uc&mcW&uytOWN6}v$c)Yz zrui`$Tc#Oa&HDVU$`DWUsyLvds6B=`7|@Q?m5I2T9?w`u4HoP~qn#j~MD7aZgYPM` z1yUl;I&U;M$Eu85}}aVqxkS^;oQ0 zh8Jh;cxxdO@0g(r=w^oxE>q68Yrmm^xny>#efgS{l`po1S4A_{?@naWCcr7r5bDp8 zgOpA7W1_=DH|DxGikbTdxrnc-UtY&K{eu7n_Z>WE9z5|F2iGtVh;HeM6{V!7lDX2+ zSBiSgn+H#L22Z3Y>)FBMnyM2wTcMp>txDN6%`0K5$0cRYX3X182v_3uQuF60078mX z8=&7TSa(JpICnT3td9Kt79X!SOEC9F^lMhy>Q%Kr)|={cc)3f5Y~=Ww;^p-@#6rGpGNce^lF5mz%B^!3r(~tAI^tfaM#s9Mvr_64vSNRla8;x)wlngR zEtm62*#+hLR8E~e$CcU|=Zj5V%erv&?#e;o26+@g5)vg9X@zDsGey31LrCYNV$F%JH%~15;9PlMpu6v$1<++_2^7CCo$<6~L5bou>_QiJJhRXp zc=e@M@?KbUyzotP!--d93*X;asDIU8E6rY^$Qr{-Aj&Dvdf58#aj=7{BAebg;d$f4 ztGaT3;J@cJHkLQOrD*gAR`_f3TB_o+b&9zis*ycp)dY!cDy$=67Qo4~%G5nRdy1k^ zCoW&qX6!>Ww|LN^<9yr-9VE9z1t06w6XIq>On1lLYgjMopUosmxN~1iFnKpup6D{3 zXy0N?l8pK;BEUxv4KZil&VrWQD*CbwG0Vqag3^oSYsoo#V0rrJk>E42-}K-Bzh96g z<2maDs<21RtQx)fKTh!RTRVA4`=iaq_C@eJRC?_PJ1HMYELnA*G;?9cf+qLPwaW8hhzY9F)b6|K;Bc%2h(Js1+;Z2K zb`@Mos`{2#uN|-Fmaz<0=HPPEU)%zeBCXOU3yY1;4zEO%n(OP-CY)I7@I_d!QYQ&x zwvF?q5L?SkVp;9ICm#Q!t|D3+f1<<9;L6if5d)WI)>j6QTG#cssjIAw#kskzTWXCV zEMz#&Ayw7l8{(Mn=)T|f!QkFK1Kn;7JcYJ^SNnsYfK20-tNJ|+H)>Z@$a`=b6uB@Z@zrobNP4*dxPWe z8{oXHHWlc^dM%$>pT--Q*lb4UN!8LNjIR_&K1rGi8o5=|42^K0>Gk8q3SM_3JL8A8Nk zA?o|4gyXeehtiB>rEu&0$Ftuw3rVf_9{1dP9Iq*Ijb^65g%rB2?;pc7*2W!&A+lR* zrd3U;obsf&ADUv03wLI%RGU*?odsD)VVqj;5ov+|0qQa8hD1%!I`LYYWFWGi)WDQu z-}fDE=N{?S4tQ~BrrPd3_sE>`N?7gX3!hS-w|$z3?q6YRTr?Y1*bQxD9e{P2VOn50 zrG7PiL2h7tiPIc*iOyO;$|I4kwSXQ5JUR@M`M5?wBdw!`u1G0hqNt*FJK*s<16q5L zth2Z4#K7KZ10iKLG3dLtJp!V;i@TOt5P{<*Br|#TjI- zLLoyR{0aHpA1Xsd6m)QOfq1B(eJvcFzOETiG`f_H?@;ls0z8~$+V+8{ZSC#3mN61@{W;=H0w;}Br>b(>#l|?C1l=P+zr4fRaX)^~x-^%J#a^L-NYIgNBERR;3GCurl0xWwCgfHK~ExVtgqI3I8 zlzi+9SC7tERhMmN7gQ@O;$+EP_vQ=xj|qo^HH*NZzp(chB4?CRMY9&+Q6{a}bF5r! zEA8ycq>I0&yGn#t9Bt!9Vv2Q4v0gDKW4a|=!!w=f*xGHxH36tDU)cE8?CqoXM6|Jo z*?P09=vOr1s8qjj=pD}}_neO99i0_;Tg1>ohlu$aExylO}KDF~nNxDb`jUj%Pubwc(g0mjViD zX6Ga^i!WUkU#yy=VoXjoQxKVxs2G$o4KIm;npJO$7@#&dRY-4-Sbl{TB7BeR|3-cd zLOjmMEq0m4U<40gWgc0?%N8s&zav|$$BinVUp{9xM0}w~=cr&D6;kVWM}R}yr!iQE zeC!GvDrhy7=LY7d3(F29b#Jd_U+j@~beCZz8>BoxUCF3~f4Y)=L8Y`ZUeaoK0XXX!%W{q?tbLxT7JpP9J^O zXhaoMp&V!0<)c^&D6ta{tbTZ7>5UDQK_5CpW-adCDVeS&Q;1D_XoT>w)ma>z?p-c? zcCL#H(=Z>WaQOzptAR}$L?Q(|)!^%=SQd#++TV`cMzk1YtX8CbeZ(ks9|dJ9!`{PW zOqw<3<5_8sOOm$yJYJQIs$ee~N)Ho=l|)s~9to`hBJ>DMF$g3;jNW_{rZz%Qbsi<# z@M8GM!};gwtex7cp-f_SQwwl-$M-F|E=D&xD9**^pAMCCSK@z>8Tv!Fiw0`TE2*%` zn#`X55Y4e;Z8%$urJ)#0Lk)X&ww+c6`;`HhP{N$BMT5uIvMtfSUQveoa%m)|S1?Fj*4 zON#8+#Gs`jjkZ-25VjB%D@svTyJv>6mY^etNY;hnT}^8}ijcF3@{hjteB%J8${ zc23L`;`KqN1cHAB$;4d`Q3B_Z&8H9Jd-M3CA?Rq@I%_sJA(U|9s%iS&VQ_YM&4Q5_ z`k^`Ll&5(Q8^sjz%*yanatJY)5)^|H&{JWZ`oGrKE7TV}a(8_%-LB7et3I)!^GEKi zC_Iz9tDYKF?O~*|Uv3M-fWlinEk^d2o8CXXM~0B5;Un86Aw<4RG1W~^9}az2Tjw6O zCpj9}oOYxy zdUMW5Tjcgg_{bHyPDl$2782YRT5}GgGreb7VSm|wxMdUJ)nQ2D$K%&UQ`*U5;>1r2 z+5HehC{0Zgo-KwX*fFCQ;nQI-h`4mr7-&7ko^{*pGHbsWps%x!cEwN9~DwsGM##^JL;d!_cp!((e6q=fsL znny;%K78vEQlHDTh%3u%*a-$chrbT?fPD~{W+dN>}$tS zAqEm3u^Di%l?W2ZM`+g8(TS7YV@c7_^bqq3X>BRVB89WfOBTk6Q^luJ?tchR=f`!v zNSjl?$F6g`7d`b2w@gDF(rIu1WTrSEI_+H(j<}%_24v$}ZzHw5)$W_JH<`w8Yi5fi zo-!ERJEV<$>}^!jl%O04YhgmW^#Xpp+hcC`8>#q$+V234+bsmrx@%LqRJ?u0Ae;1nz4a*n_$CKVSJRLvI^1; zAI^y7mZeaeGGUCead&e+h@!}V*@eKUT|$Mm17y*)+w;@t?p-i934m(14|Xg6F%lXi z6!}{JKa0FBL_T*Ta95;h*EQo-VFK7qADn34hTG~96xq|>Kb+y5DZmB$&+%}W%p4beKc!vt6OlKW?2oW{Ip-t8>KI}5Jf$=(tuGQ$f-ZxcL4zKIA5%H!jom-jzcH$c>l@)wP8xg7wJ{UT?1!rsaC7s1+5p?7E30 zoAVFfPNg}bM5=y~+Z55Tx9d>0UrEJ_8S^OPb)oE&S+w>68-9i2h!Rb`E2Hs<(vxu5 zvFnO^y`tZ*0ga}5^8$@DeSr7Z4>7Gupf|Ly5Np%8(9981omaEEVZHOk_@u^aMRgL~ zxYRtv$IZ7xWaX_ok3s0xJR^4FXqO0a9+g}o?8fJ5>0RsifI((lAzPMFv+KoBdoJGR zm8^4memE56q=YYF!Sj57=yp*rbx7jjO5trqLxg=M5`K3`C>9Cr3ePu`FjV48_L!Q) zzE^zF4U?abXcRb2XGz!bLs9F&L4xfHEutknjagqFA9wPHgL_7m?}D-r(T&i)h#>b> zo&4LusNU>5!>fc$U9%5a-l-!ryV%CH)DTx*OAM3ztLN})uWI_?0DkLfcVLI{vJs|L z{LUmwR$t|t)43>l_Dj}1hp_k~q;-t_BVLUgtx3(RBo+G(A}DjI#?Iob$0APBrH}Fu zWA8RtCmloSnHNhd3Ltxivw_9d%Jp?UUrtwhM0*wt{|-+P||!T z-b{k^$;60a9jAUI%Era04@KG%Wj@t^_kLp!^uD`y{h`1PEq`CtORRGtAAgPnH=0@w zxv?*ATgPG(s!5=(OvxkMYU<1@R>Cn# zx14Q(+K`;H$tB%p)@GJymYQ44oUND6xN)|y6j@pgx^7L_$zb=caL2CEfnD!H@N{q4 zA$~LvH(bFwEBSFE+GgHDo5K*hdEkK90!K|O3PDKi*CO%|AY3Qh#s=bjyEgY61Y<+> ziKyczgpeg-Zu2NaQwv&m8MvnOgPsEi8yyOr+mcEcGsxXKMWeX2Bf@8pH%&S?^4-%x z)EYR-I0!t1eJt=ZcAaMoO=_n+glNj+gbm6*4GbUOaht9NQnnLl!0zl z3>P#L1wA)2;|V`xl?gyaZk~0p9-9|xuq)Ct^T6hC>Pu&2Xg@>yCa2u<#vMRnoa5fD zP8_#71M7L_0IV}2ovwx^havXh!XNr6dS!ZlI?Yy{LAm+lfypksW=7!AV!)l9VuJ%m zPB4^1*LwtGcEiJg5~YvB_BGyaBoSdG?TjQwx4~2UqviI+(uC%{dk(--&Dyn;BCEed zvG@6drX4Zhb!LcjBrA}sgj6h|3kxSt#?LMZ9+`0dMQ{qYP$Iv`iB-`Sp*Mo6TIs31 zY617;S9HBdTqWA-e$Rr&^08B4yGm~0ww63y*59nOzI9-&1KVeFCRJk3 zLM1pe3~lPOP}5`+!Br?qiKh$vZNo!JG56kk&d%*lrv#alFXwF>ZYE1LusDbD|Cl`Mf@xBO1 zrr{npIvcEc=$zpe4&r;yr7N8r9MKqaA;v(?qtiX2MT~-ohNU6Gg5vZ z@y0jciXXO|ZC_wqBfYikU{bW)`qaUs1P;%7RTgJgHT56RmK>ZhLt1)K7*iCLZw>*9f2*l5*Z-Mp7jSsglf(9r#HInFR}#G?FF`K#FCLg#7BR zT&9|d=rE!3IH6co+UQ&OQHddtsvS89427hH9pnpt8g}*ollu<|Pae24S&JdQ_Cv7H zGeTQyn$tSN{UX8C)zEI$VTd=n6f~w6UtBK3sA<|(L3~#kW%$Sjw6#X-G9g~zWEh&AzcbITtG9+m~JCI$%YGBa+ zNfDByY_l0rIW^cqj->h1fdzM`5fT_6p&BZr^ML!GBuH8IH%zoplJ*1r|0GE&a82BJS8_r}PR-b`BVv^*?e8d!@t>rL3EMl8<}FGyLnlI8fJMind`qyJa6mFO>vL;Uu zK9fd1lSp0-LAualts03?LEBuQBSJX?U-VrV$w>17XEb7k24oNeR6Wovo2YtL%_c2;4(E#mdx68Vnb(vu2$cZ|Q zM(ME@B(=6J=Ez_b z%cnN=IS>b8rTLjmXu8gz${&%J+0G3}x)KkRCNfR z>mK$f4|KSt)=^Y0F9``RSos5votM^hD!ZZ%c%lx(Pq)e_9_CV*?j6_d@wJC77OYpA zMyG<0$#!Yl?Fv_Xj{9|sL%UtJ{G+kiSF+<non$eQ#1V;*V8MO?vfYAhK-!LYZ_x#aSew($G_mGTMyD=LZ?wJ>n$m| z6qBP8H&`(c<#a_&)(>S|PQ$Fptu+P?|njD#O7;NELNSSsmm&Fom;8`xpl`q2ZC zRo{yCSj^BkyT7*gk#q~p7{Bq?j7~1!%J92w?$_Htd@-Z*HTx7%yhW|7dgtri(m+J^EPLzT1{zhJVkr+q8THY0O)U<(4{y1vOu^)CJmG zp$08fV@g%26QU1A*Z$?)4aFz_9ypuco1p&PHT84XzIt@mgWdC0$?H-FzfyiZ#K#x> zBE*+nwX86LJ*odi-&q1`ou|=nbmm~U(V7$f9oKU_Xxpt=xnudCxSj`@+CSTNU;o_R zemrpXoo$C!`XJ765ZZTN1g9TeJMhE3q&ajbw!c57aX@o8mfu3rxOMt-&>7v>7z6Q* zEzwTcL2vw>!teUp<%_G20H02hrI2!2t8v95+3yr<*M05Eir}+^5Nt#p?$mRfIO4XSImId%1@<7Z5BJNvq*6QeV(dV%j zyM3D0VtaILw?(H&ooMH3>9De%Gep;(MMz5YW4t&w8n0%@Z*1H~4r}0TXkru&;o{$J zd^8(S~o zqj6f675h{jw@eQuK6UT)v$5g7{;dDF!sLFPk!ANcZoUzD@WZjj8<VE%64Q>4q4s~| zslDhdY5&mJxJ|L8r0*MYUU|uLF5P$~$N2AxtQ_^8OSLl9zRrn_9RShv?Y>*IQ3 zYj>_Zl>Ln2$ivgp)$d+#Mu&gJg+V6q`}5gfDKPm59oid_XE6D1-kSV_!sP!wP5xk@ zEWIE>t^d3F(%%FiXFWvIS--WTc!KJwW@8S3T>bw8QmV4nr6^vp&6c=Od4S z8O^wt3u_MA=BYAs_&6FJg&uIMm^xWGejSk_m#4EBhv|+=P;7yoKFc+H*tc46i90CV zE|u~T-MKKKFQ#E(i#6;r@FS+lA@TtTw}LfTz&P*cFBUB zv#r++kdWHkvj-w#XMM6n!6^=F-P^3Yr^1vDd$&V>@G=mnF%{_42fkFl_htKb z<%(_dgyEXB^$(R3RC66PT%W>leFBK$RZC_PW^A6?%a&!v1t1$UK_~CcX7+gudHvPK z@=C?Lyy+{h5?bPbmKDH|OKym(?Zt-9Qb%!3a@zU{8i_Ic9q)~fciSD;|i~K9aP%4vaLEK9=;kB^{qj- zNBCQaW20bFBSpcn64dZ*XU7iQ{K9S`?2?_ei~4sR6J0R8RX`RnXEo zg_;U>U>%t76yL{3L8Ht1(O!@MwL?Y)ehWN!PX#ysZohGdM*nQE zY>Iv;=q|Apn7o5Qr>gOdfKc2Ff1nU#xi#7)S@)4ux^Kp%Y%DimOp1H&w=8`Ze!XyH zN-KW?Y7~s#p}vN{+VjTSZBP3l;Y6YYza@5kM(4L#dK~p2O%~n%P4X~9U5b5O zM*c4(Y)j6u=UHEA`bv42y#N!!OZEfa&^Xk5EwP><_}fX>DS+cbza63o7F}puru}-q z4puJ~GLYaOj=I(=@&4O&$j2v-Q?(>8Pz@T+ycPw^5U+xE0 zZ85;Y{`OJB-&_^P_weNF)#IY7u8^j8Bc=#+H%s^1;IRErNV}}GfI)A!a{80k)v4_8 z$Ja;+%V#lg=lsf4|FZKz??>0jxaXvkjIJw}U&oUds+rURIBRg5aFU^bvV!>ulleca z|3Sglf8RgoR$6{L1_#yd7Bh%bJP*KIKEGjoln@~*6`8u=A%fpz&7dIbL;F)sYSZ_d zDikT_>-UN{iH2By+!AyIe`Vz`zkUv%-=4v-lW!q`exj9 zAO_=h_&RluFyBY=cYVKa@Avy4^SFxpj=wQVvm|hA(ZbIzy-M4;Os>eZw@?>yI)VW> zVw;;uKj9PmgMz@+Lo=#v7oDU>}-nt zW-X_%N}(eu24o2HLMTca+K%Or#O1ZG!MsvPAFoWIJEWS4-B@Yg~Fr5 zk)wfTRJIA-!9=d_d}hdf|BT8?aa-%3k4!8fL%yDl>uK%V)E!K+mzYS~xmY6Kzke3X zNH2ie&O+KC=Bb71DFMH=3Q;<{cG|=YtgiCKB@%qdv;PqF<}Ik?JeVJRy{a8=9!5>H zeA$>94RIX=1Bsu7`9=oD6MO4YAY*Na*f9V0*JpMgLPDn_=a-?rN>C_dwjppAA7pp< zO~E49V>|qu7Y=zqnlUHf-1Q*og4(~PTTAe(g~u;|WfJfa56B(X2D?u*TlbXb)wDL0 z)>=#?fUd8tFB>nF>ZPa`C9RT(jIQ0|llA}^WHv&kFoS;xw!jwwY%ySirL|Q5@cPiJDluqkpg(aG{zA7%*mBfFVYKeFG} z;j5oG*~e7;#k^4>nT1;xD( z1yYsU`UqtSaWBlECDic#cpsPXqr4Y@mj;!5E9C$BNd2tiVO#u9Gy9x=?ZT|^x^7F` z%)*4FfT;-9ycXOR|6pd{t_tn{XNO`R&@-I&XO!ViS8JtBndq$EI-~qiOt3O9|LG)a z;EhvhDE4pE6qtT>@BXjLbgU4paMrMtw4(sX^C?C3X! zww`hq%P4svN$bG-=`kO`$KCmF^Zk_x>+bu+eS2g+`NO0<MlaO@a^|Jfs)ptz(VK?3y;5J@T$r5Ef$IFc?n2{ix5{>xV?i? zFsJy`CYpG7n_rUc^3|G2YvJuRDMDhTk1LAnoxrC1cMg@qG-} zA5Y^Wz@Hf~4k2%1WWaJ#Al%aK;?Ttf9XRGk;rXfs>I0VB?*WnrQSBXu5#BQdCH+3+ z2X}53N)sOCmFDp=Dp+t^k6kUe?QUL`5+3zI>;h-(f)uxIT+bfSkb{UwmqFdn%(rTB zrv1Cq+C$Ts9qn$9hHcuH2_Zo@#H83#y=@p$GQn2j)OEvAHr$@~gi!Kh zl!nbcnyi2NnW~PL{(AV>M)!5o5^R)0)7*EKsES72Z2b0Ft&DorwXXISuG=ofEl5Cj z3!UbD+%da_oP{K-ah}lL))-3yQr$-a8e>90qv@HEQJzG(cK!16?(B2jiN~qqI%4Cy zoKd-WI2YH;bmnKm|1#51!EAKcdWo{Yc}#fY>}bxzAryJAGSJ>1w%~8-G1-Bc4dlRw z<~#7^)XtkOY_slEukjtIP3?DGXo`tDRg=rAS3n6gBV`#+t-aHKQj}bpV59f1xVQw@2|93``kbp#NDFB_&j#3oz%03L3jy<5wQV$8dO?1RtN518>t5iWKPC>vzJOWGeY|v{=Z-PqUYHvnFQwksO_IqRffgJ&i}!ddGI^4_ z2`$PO3~>N>Lw+wVT~U5daz<|-W!h%ti7g{f$bUdPN^;kbGq_)kqu|vw_s4o?276~9 z#(`dW6_e4H>FhA{dq1OM8`YPMQ!{m31rh0XPg(J>jWi4-&WSaXA(hfQUcA`T)7ISl zlM4w}<<%NI)|=qBH!DEiDEyR`3<$oJ}1M(pW`-4K$XS zL6CwicE}j33uCqQMA{BDzk%|_qo^qs*kDEzwF$0j6iR7Y#Zm zx+eepcsW-dPyY1rRu*Dt6N8BhrI^!`m(1zO<~JG>EQ*ctlV)9q9gSv}%xjmi`nP=A zIAO5f3a>*qq>)gXGG>^(DShb0izEHGXzilK(|P@2G$05)VUTVWpX!gA7`*I2KJmMR zDOUd<2wyxiqBdFgeC9t-!wKhYst=pNm-W4!)LlikK?t9!Gol)J)70F zW~V=)YmH4#4^B>RTLK{yxnn-m=bJY$wwP}FOvUf%VIdK!h{2vnNA2x6)J_vwJ&usSezPnjtYBdy_bOon6*cmJ-Op|!snxppO7)HS$lyE48Wa2n z^~+0a*12~VGv})`KL46THml)aWJU0jj1wKS7-zJ(RQu^vA}};2w`kq%<$ql^Ho{w-ATfci2tksYTLEU!97-I;A~I2qJ$_!r#YHzTY^L2nZZl->V&&UqY!< zLnr+~W*V+apv@*|4jy9$GVd7^z17f)J^eW#92D7s08MR?OyVXp?Rlm@Gy1F3j(o60 z-U!lh4=(qI(&!vaC-hoZjb8m7QwbI;lNCmR4P;53I36{L6;4})?Cj&n&~};YxF9D7 zHWqPYPtrK9BJ$)x28Stcyxs7&eyReQ)tN4rt0QaVs)U1aMZQA6BH2EfmF-oNhHQ_0 z!WK7~8VlQ>O+_p0LMhBGcptnh*?1M#k)muN^DcH!+~4!i+{=rDJEz8WO=a!7zQrml z2F%)1nuk^>!NQnogoW4m+fg&wcb2Su_ss;m`%o93JdK#bJzd9OBZM8N!o|MEdoUrRwcROa3W?Z3tA2I1BfxXN%Pl#!sYjG9!taf)X2xm`sb=yRmK(5@I` z1Pd|$zy>&1v6mss~&c2Bu+x@9%OuW$x69}p|2e**(Mz0Ab7?f`_ zdDV>SbSLglut7xb7KEIp)$?a_cH|(m&xu3m%&~qEZ|`WXm*R2z<#=q#A^Qqb4`AwP z1CP&LhDS7Z!ocdSEG96_e9x0!ab;XKti|PrYj6QAiRV1A|AUK2uzBJ+qH3g^0ImH! zp9)rRAa8Fj1HKpT5cs_U)4Buyte?xv_^Zn8RI;%*#*|x)Hl+ez&QqJxfxIKR48V`R zAnsj9_7L_2y8n7@gd`*S>qW7}Vfx?UF;NE#OWJF6sl7_SubszRgM}r7xd6BKDF{RS zrLA4d8|VkcfQ?|SoQfKD?ukY1N0S|~GoqgK>6twD2%J6+nYH{iTZXp=I6$VFDQ6Q@ z;qtact$R|GlRl|npFLNbeKUz5&>h##=XEM^)HXznd88k{Eu>GQ@SVOLk1xkXYEP0# zT!!SU#|aWSSPjr>e_joN))=6u#+ixhG3*~Ph&r?7DMQlf`#&7?e2W1N}ZK6^y z)=;npA|yqz9k2P(RvQ1D;z=q&DgY?fagJWA^_1UjO0L~h<-OT6hGyx> ze9zBkmV0a2+I@H5o?{QrM||QtekJ1jCDo4r7*Imm7NHQ59S8y`fkk~lDxAm6O9iEp z66DUG;`3^7alYZaqHLycPY+@NHH6{;0>uI=*_9ay5&<$dxS8x% zs{7sY;nF(ub|VoK_D*FL)Ke@}^6jdm6xdadVz#RRMX;+o6w$6WC~mvjq)2u(s+8H$ z>wz!5<7Jh6&ReJya9&9m~V1 R`=9i_R(;gb>CW5Ge}QNiY~Jb^}-eSJwm)#cD-Vw6=XsfFM{vgsAAF+f3|Y zuyzaBt%RZ*J${~< zx#!+G~!DN5C9+p2m~W0{SnawgYQRAkO$Oco|{4x_8k=#nc&DTti4 zYb`|Nle%9f#uv|Jw3?#zv5cmC22-@wl*g2s$}EMJ!nGxg#gtQIX3S+}Ys*wnx>zC7 zBot>1qscOtn=MS1*;Eb`vlva@|4_1^u*CB3%cYqu=3EP7DlIK4%ryy;l$qD9H6#US$kmhTX` zDc4fC!Tj&Jz`$4uURpyKrF)rFnFfiylxiQ3gqhN_oVLW z`$}+kdOlMOZPr3fMHO*aVNpdalW!^n!z2=Cr86iTF*NwZio*0l5%qZXQs!CnrgFlZ zzrNf|EH8PsWbMWhF%O4dpc}$MZxMc-AoA}jAhBMg`nj?E86ia(?-3CMz1LW#3oXD& zzrkEqn7?V*7zu`RSjUX))yz8vb{S5e8TTz19nCB><(P|@VSmfZQTgutE!$LTW|l5v z7KDCari;?u%xhfeKDHioK2txvG)}r&75z-2?r(|dVXk> z3vo)`m*(+%3dS*(vQ5YVl|?s<>|ewe^lO;-g(VwIMTL2BP;rr9L~=~I&khshf5D3} zL8q47kuXlQ6CfaiJ#%LwMH6%vaj#+~7Oxn#l&9a*sG<4D zfFrRM?b)4r?r^+sgNI8s!k(A^TdDHFToyco?8|>{y56Z5HN`&|%+z595mZ=EF~Q0( z=89aiIj@`%xH7o~g{8xC?<=}sy3t}UN_!ND%(>5&gKC1pLieoQIApYd{9cQYQIfm1 ztPFjZ;gt8S=Vu!Oid>k>l&mk#0Waqs<2+J5?~;pSUjU;7dIa7P%qFn$px?N#ZHf~X zYe8>CQOxC~&j=Id=X!X~P3Vg(WE119=*C}xjP_Ch& z5?hB;oY8^{0lwgBad3cpfw{~)d-%j3+1z`$`d3<5hS!5X3ED6;*2N~UV*Z6?Em-Cv zQ)&4ySCJ{Vz?3C^E=O2P?qrCbC6ke5SVZJNlLg<{l$QriWI0o2Dp~!re$P_T0YHJE z_26w!6<>FwDr@Srdv(WvgM*S_(`hO#JjksUn+U^9QOZ__+}h#~pM1ZV{L?QQg7lph;O@ zY7v>uttbWaf|CVV;mAG$vpF%LJn`rF`p0-2B)039^g)J+El@$gKM<9>L7@K=t32F2{-0S1J0=Es-P24>-v6?lBF7<{AvW~?%B(DRSW5-38T^xb`+uYX zUAZXX(IxXMDn?p>`>H&e3ej`AV=!RLBNm^gTQq+&kud#{Bzz}}DdD*!V==L0@$zLv z8hoVTN4fzvC|Pq2X~fcni&uzW@rzOkw2?$&0z9Tq!(>7-JOwQrDRwGY31(?#2D7vj zygBBcC3Iw2EVgKE-p~%|e=M7h{wA{&Rq&p&BWHr&l)?lRmb1H>>^IZ};1!wwO_WTq zVPJg<%OS8f<6n)<$X3iP`TvbkY zKC*5w$EC0}XDo%qu(LFmGR&h)f-Yei6Q49Aar%r$r`?xw5$?-ix%$^?))lUOrWi)$ zXXPAfD<}>a^|Im4`UqcXq?mWQC{NrF4krUn!-O0;km+}J?HEE?k};RbDYS?#vU#{9 zD6Yt4(aMZDM8?vk84#8zNnKl#N6bqjgsHTA`ZNQvY(DYEqEoZm35MYFPS4aI1(59q z%&CTs3I@R^F%o8w?(2U{C6 zBh2RecG>!p^7W;q5L1T9moG$OOL8}1{42k3^?EUyB+~jNfjxiW&xV(W#6fT3E+at{ zk-;3@{D+fM3IC81ip8g9zk6k-{y4z=t26Z>kjD1khIAgJ{at}5>=AquJ7?-K9zLCg zxHx=&9YPSFFUnCu&l~mQ3H@>F-B@WE#Mw6j`~lz#fLl=33-4sj5NW)H-GaV{15Q{dM;r+4`2tl25>oq(4P(<^pyZ~B-9LW2u~nfPENqWIytd>tdwp{jV=lOdkIptzcs?W2(aa z0v4tD3ltP)5Eqk`9V1;**6yXpvXpj2 z=iE)_VEXLc^jVeLm*7D0QYhJZnB@#%Z?F7`OC%Qt>g>u=J94Q;F7~Y2Q@*>XEI?HR z*&M9i9%9{yr8Wh{O<})8VQP>0%9?Nx?Ll$lOYKVdst&?rJDmX>YKAkto6chYED*nk z?X(Atq?-)oh6|IUOIDT&O-#seK3n{&@N{x-8A`86bXO#$iLHAQdmL~2 zTqk(?9Q)r`aGk?v6U0jnq!rdg6fY$(eiwE+e%8SwA%|k$#Igl4S^?=~nZL4pg8eVV zyK*GOiZaJfn0HI3lV*5w)%`>T>&WajlLXVxC$j$B8Q#_nWAhdcgEJAJ{w<7Qulg$wbB`XQGmUAIXriS}5?2g7+_BOnxjt2{ zkIhB0*Z_EF<(0RUX{26MOgT*n8JZYE^`y`6lyCC83VPJZQ7xmIMrj_Bs#f|8PxvNJ zyXtzHa6d?x*AwP-g!#JE{dcK(9^oP++!Q8!2I*QP;f^qEi+zs8K6VcF&4e!ZlQ0>x zSMi$v!1pX=0s7W%R{JqVdFiO3YEh14+Lm$m;xz$Hte1L2(_HKh6IG2&OM&|gybD#DdVbe!kw zxL9jL$ciWSn&${&YJ85#K<{NEu>KX&QCQV@n^R@Aha{~GaqERrQ9j2*K6W$~iJyQR z6QYUusG*PX_>nA$ALoBZ_}>ru-{JoESpPfB{~qIihx*?k{wnuLrRdn+xmMsIOZ0S5-XTuoRb*;!3C?^9a$F>J55RZUv=Dd}Wp zAJb_k=}_x7aD~nl>*kDAY4xd zsJ`>=NuXq3@vZr4yvo2s{O*dPyy|z{VP&dBT^g0p7kF1!fRD4=?KnFBHz!3@ueqnezrnk zdVK3X(vQK48-vvQ2?iRS0F8$9UPRW*9UppiXGyL>>2z4R2Fz%X*M8uo9~VfVFXDcw z`yizGE=i-j@+zQ_gS_n>tiO>yEoRdKP1`}QKVPU;Ui6=kq+j&2kYgG7fw#OD9vI?s zV7J%tCNesVwyaU!>gUdK-pT<)%MZNaRqi9<(;iG$axmJvgkA|ojN-s+-e%E=E7*GP z!TsL~Ooo^Xi32-^M3Osdkrb$Ekc$51^ao_K*zs67;9nH+3^aNeK8PNlxi18&hC-r<+2>Ge>523s7anLC-OdFft^#q_sS6Z6nyx&^k%%i7%8jNcTnAjs zC`6SY3iS%~M^)ris|nX1DQ6B*18xW644b|B-Hhu?%H2kp|BG_9QYXf1rV?tYBtFN> zFwVFQpDYg^`JCQXY;eWWLAT>N5h zj9L@_xHl$YV*CQ{t~z+g@Qw}@{)tlUkD*i zgs`)OPMiXT%t;dTz!p+51;^E#HKwB7c6>07O26*+*&G)Wej+E>gZ@vjKwrRZ%t(W}-%T*3cRrt%AFHo=+Xs%Od)ZVs<-qUBDup*rP z!f^T}&T8j6?IDf{UhAb+_5-AIjP}yO?wb@Xr$agI7KSl`T`&>xW4$!>q9Y|fR>cZ~ z(E=%U47LN_q4)-`juNn=G39QS&Qd^D5GI_v&8I;J-*Iwp+AdJ-Z(e2t5q(lYFA^w( z5rV=}#KPN$lCb@rCbC|h9MM1~m`Ju4aZO|k#deEd>}`AxweeeQ|7DNkwuh}oyyhJq zvrzwB7bw+5&zTz@Xtv{qhiPY6t5D=Tj_Xy=Ns6r$(%)eEvQVI6IPaqrnDt#k5qW@S zpY%Ydr=7dle8g6IB7|0Gj-pXTJ#X^Rl13@}cPy!uI==E8qMlYXpI%QFH8b|!}kgeB7Y zqR!aB?37bg@r3I%RY#FI6k(&Nvy=pKA&anwfEl)4AfX$McpOJO)(Z?f4<*qhHfL_B zQOgwx@*t}^M5ksF}MLkQdWcMK( z>v9sZ=rNrXK|H7@5*@lD%3?)!WI*#bO!HqDdX4KpDBW93X8-|R@H$dJ$vs;VTp#1e z{LbUp>0zT0t$9ppUM!u^6`AP#G}QeO=Kj{>c-g~7Vs6#vJT9Uy!XV=be7h2th^u1n)fJaumh4ml133;>W<4Ayhx+HbBDK)>9wvbKK{B>r#^!ya}LF|qvJ&q?m>{o+O-c>1qt=3T~cSS-=xPwm4 zX*(&sAYqe`8Fyt&ZI;K*!l=T6%h(w@0o;RXmVxCV6u#*3lk20*tE4RwCr7%?(ngkZ zj@4|!_wKRgVi<$UTg_^6irxC=4zAhK(G5li^jN1RW1=VaB+@6oqkq!nWD*QfMG`TI z4^HT!CAv$QI!JqXI#JB(=;!I^s(!Rr|MK_enfmj;04xJB6?nkLdo;j@01}Kl!24T( zUVxjpcki5cYIZin6Mh4L@fiYQAVev|KOmN%1b}iZ#uZ?pBILjm_xHHZkAV2iVc>TN z;4;#6Qcxe(Nn(5i>V;}Yckvikz!+0~6rmr0IE57I!&pQbyz2l+pg_v+A&&7Qq_y(} z8Odkhjj^Du@ct4&l_AD7fb%Q{;tL*-y$EoB0tg1#iy$2a_{vO)QH;&-Z(uA2 z+3>s%V>%1~#$cLfoSKcXkv4e$2oUp2phWc*&6`b0ceon8uY7j0->JNaNdcvBdCy37=PIP?sD!^F) zUIK7pzBQ?pe?AamT}iFV_fO4Uh@nT2fqx!v*?#gN&&y!kkAL`04}>8>5BcYhe@HN0 zZ}1ZVcz*w3;L!tsF~B)#5KjbH2XZciH{=uB;oSx>cCOe5QsA8r-#Y>R4sZkDVbCEu zl+f?XBna97Is$O@D$hR$@Am-Q0F$6SPeH#F09XJbn06w9fj)Si=f{D}VNfTLNgF|H ziGpy5U-5hkz()YHi7-h74f!ubKwknB0aO6Az5w?;0gOWb{mAnZq4akEypOj4E(!p{ zT>3E-5g1Got&sM?1f30Wu6Y1P(7Tu5t%UdL{QUe$P=^-41LMO_>=QzfQk3i6W6~&i zGXM)=-eBB~Ks@l1!&~18GJyV)1W8l?PMq2hnS7bYJ+Es$Y%Bfiv(adYlh=`OEzXje zX<2?DSBs!*Nx1t%I45wDwp z20R5T&WPAvt@_HRrPS28Da*xJMFIVg;d9?qMdl+rz(&II0P81~M~RXv)cae5motgV z%*da49lViy1xf4GZxfKmiFx&aDk})bi~`kR zA03d&ku`I-=+ls1@26ieE+Fd@J~LCGZxreMwKf8!Rt^hwBChF>h?NVN$+vpp{WmQ< zK0%2Oqj+j$h#S=4>%qEhpZ}*`I4%Z8d6lgr5zdY5JuW z+Q|i&2Y8OToy8qpL8WEwpOXo@!YVr8xqv1q`)gqjEvkl-lev0%&=Xk;MUQv)@GBmq zWRr+S3A=u%RLdxOfw`MU4?2fCzIta;W`QOD%XpAFDtpCyvGhymky1F)?$M z`4-QWT4;^Ycsp~2^5_P-N_LTN=ZMy$4E++l%G|}%^wUtfg`T;}b(6PF3CUE0+TPA; z;#W|wWH||tH%cb^oUc4Pc`KFP$%8;kh6%LBd<}%Ax3>h$9Phfyr-MHO{_{!dy`_TA zw~RX7#F!cKbYjRYj?n2W2_~ZJCR82u;#2#~Cx`l$rlVd0iJaUU=6~=ujwhysfQJVg zXwJIcs%8KK-l27$l2bF{Sj73%(S%b?nCBDV>~CLyeF9b~GD@N8<2lZf|LHaJW8g!z zO~w!lt3`=LkKM@~)?CEsD)g0;+hp#%^Ub@y<(+#@vkwg~{0H;j`KSf#IK*is(EEES zje*EM*JqxK>___?N?+wIR*CuPe@8o@5+WzsTTCo?9FTVVc$W5s9|>?MdNC8NC#t58az>CQ7M%dE&qX5`)p}fciJ{xcf z`00gY?NzT+sM;Phv=Od?z_sB2)c(Wk_=m99zLQt`{m8V?4v39F8)qrlZ}A=eP5`I3 z=r%0Vam#c?%XC@Gb;-+NxAHg4WDYW=dl>dh{BEI)Z!zrW_}LWDLd^_dPvdveqrp%L zg8l3XOwM~WsD*+V@d+lNK~cw|-ii7mP8QW0b*1W`Ld=F95A(x)`_4WGl=v(sM?GGp zIVLEQ*q%FhQ0VrNc)!wX+Cb^2`jy_?%3Jq^FjGLWM0&6T?VKEhg9`tIwZRzP!Oa|R zZW)eK3gt9M@8ZyI%-rWb!mGA;8!5I58${DBU=8S1uEQ`_rYf)qy}*44h(z8Zjq80r zeuEe0*CwQanGDm49&dgRr<_G#BZNcg1)4u%btqTuue~;ov}F*r&w1g=R{FaS=OC;- zOE!DAmo2IA=7&=7JhRCgyyf&U8y$K2ug;`ok`Df~G57;|+}0UX9Y>u0z}kG+Dh52V z;XLFL!KK++6GK3M?926u?Qq7B7NVQ)c0-)PG?5VX#xp&a%%Vu2)0u-!ykV; zOH)>x=7bgr0t*6a)H-OUl{Hii2s*;*P;tS^3(qh{t;s$pPO-?Eny{F07>I&gMmrW5 zz;~TCtfpR*Kkgstg93dmgY>pofj&0Ox-|e;F!tu{>Z$SxU6AFBjpVqn{P8!DI94S7 zuBs2`JyWy(C5ooV?`a6K9seibUXu;* zPbu~^C~U{C(&Kuxf3IOI{xOB)EHT2+yba=5t(=`Zji#`DsEv2HX;S!Vi1;d`l9am-l)F7ZX|G+<|po4m%y9`|(8>Q5*apGp(Y%r#C z`ZTUHEkwVd)k%%!Rx&HzpX&aJXMgatD6C&N+b(%9@N%8&yumpxc{*=|WRS)lrqkWZ z9z*_h`}zDazfYh-v#1cOu>TH@uKWU4pUlkLlmAF{e9Lc4q`<1Gj^I94tyTu+P*vx6 z*LD8PDX8J}=gziI@74h99iMu{8op~~|9~}Aof6g~=&x`m3B9Db&N~f+vz>8WgAbC9 z!riEb8tTV-ijIg03aZbk`^5WREJ@3)3>b0IF3^#55cB&jO_W}5sj*r-LAn>WTsx$e z5OosrL{{aknum8x=$a}IujZ4t*%j94-0fl3=yIzK;@c3nj^5JI%U9m2664RT!vkSJ zmh;4@gXjq0TfN0%J!M0gVE{yPt=%zBTb-otLh2BilQ;2@QzkxB1H zXfE(Da&09ZN3BQqIm52S0=N>|z`+5XNmatR=!^vRMNe?<>g0#%DRhs9C5`#yb%~d} zAU!FActPMMQd3Go))LU+%2nAjRW_kZZww2MAzf!M zTkmlccrHlOdvPJsK}I;KIW4p(#pB4u7FBie;mZT`sfKk=d6+bgu`yf24pnv&%R}k| zGgm5ij*YH1&{N#y^Xvk0Nx zuad4-A#ZTd5hskK2ZJG1!a%I#v$qZEk1@J;m?mnwi=Bjw-QVz4mw8r=-!hLlKCnie zKFPo)0~Uy-{`E-hgvAu(rR8TLJWbT4J-^sm_o(RmXtom8ny~Hi^P6C59U9ej1>-o! zN40*SYrP`rI??*)Ki$~&DG{r0uBokCNJQF`>OTYRL|%_ycmN~hbRqMjsY5 z4@9x(Ukxut2`Gr81C1C;XT8|Q+S`MU+k;RuIwnH!D5&qI_UWC zJ1ECL@l%ZVE9h}|4{2~i1~OM(He4Ev|88(==(v1pifb>7m7{a;f>ier!#Yq7oOqf> z90dJe8OOOn$mr;Ues#ZvMZX%nE`?r`u&-iS*==F1P<=iaoTf{&CLIh=of({WFa)0X zeHy-llp&0!grGwqhGdh$W>nCb>02d~tB9!mWH37md)paH=$fUKea&{=P~&w823l)P zRMxf)R`x-W#vom?juTH7(G<^klg1s*p&)REEBiRR&VQm3q)U{_Zb3aP;r=~pV&kCW zz#tvSu0e@Gbs=zDN?hW0JxyJ?l-eG(Y01>UmjX8#W(5`pIs*ds?4i^kqG7!v$G=p@oRkc`_x8tD`Zib zUn>QpBGo)ho|Lo%!ZLInglUp$x_I!nWstrmrf>3?58lmHNYmprH-vmhUlG&Sd6?J9 zqadvtFPUVTm!R~Siov#`LC3~H_7~XJ%O?A} z`mllrlBErXMk$;!m3}}T*>_;U;GSQqb`|{7{j;99cP&NcPbf8^liC4dq z8CDLaN{R4gvZxaWIsP#Ry8`ng6H`ct-A1RF+*|m)>oi{9dNg8Zf+T?>jcFmu z#E=##c-5}o!;-xuX7K!L?#)2rNJS0C3k5$Qk+@qT+S`<1EM4Cc+!|)r0&@ixOc}&8 zr1My+3In9>4Tzm4V824Fdp#oJ1;klI%nF=um=`m?DbV#gud!feoRIk!p{CHP@A*^- z6@E;TA4XNF2*X2zu64XEnu4}f$J@s^CJt7sY!b;|zN-$gNvI35YSJqOIgcWBWPZX& zOw~U?3@Gt-W6bfS%AlHhr9m;6fB2BqI&FUR!*=k_>c?axr>bKbw2^74IWY$5Alw0( zA8j9#kx;ERkb|=CctS{KRi_$y2GYM3`5A5xz`A9mrovrJvyqR|Yyh3ZI zIBpK;ZiKMgQF^!$G@(ngg@+pj+2cub4s^}s(66bswgJZv1L-|Dy6qg(M6#E$bR2!~ zbLFQF_Ipggg$X+!-!VYT;Z~1r4q@KFUz=f5$AniLog@_2&}PWwUnX~IV&R0H}lFFFS5Q66B-Z9MEc;-4G{ zzanwZ!~UuofcX`P6;=Hm7{J<#zN2)gqDZVr^Cu9nMIv+aFj@_KWMcXio^a1W@{LFy zjO5Tr*w>P5HYPgG;GMgC$*5$tHUV!*XvyRdIF-1(b%!iDRhyMQz{5G@!0Ym)8MIR! zv*%42lh|CJYcFpgt3z9g7XitPA5mO=|g!a zL)t)RbBOh~V;MWye9&P1fN|&t4*tc&DiDaEbC; zY-}Cu!&TCnd|h^eG+QPOuH9U%`+EH)IFPh4$T!Un3_+U%yNWOCCMpWMB))HCoLJ`0#W718ySRNtFJX0j-67%SB#2 zDT!8WR;%-pL^m4R2r5ShgGL-iUXPWfP)%?qAGN(D&^?!*rN|zTh6l*&s7QJ&w~eX! z%?{Y9hF6gKRa?NJ4R;gfbNpUu_!=1!XujcXlr)R`=X`2KL{xSRsR_qvc&6WRw*P{Z zU5XXNpXi?|0WSx360UK)XGR$n5EZcTj}K+1`!r*q^d%~w?c;vOpZmQ5K$4Cm>ENeC zy^xxd)X~K!I7rxU%u>i;o`UR2>QQ&x*rrkL^Zbh4H|U6@Nw5>6$E|=PzMvYdk{Q~Q zu|%w4s%+j4N@gbJMc=tCX8s#*dbi*4ZvUFx)kmmwhFEv7zjlBBX3NGSlx#5^svp=7 z;)93hJZE+F@wKl0>@}eW{?PAuTSS|C`Rpknp40=c_d8w()JciCho?i|p26|gWF#^mqT9INW(O*{M7 z?d&(^T35eMrK#uzQxU_DztUeqSzoDPCpd2ZIw*9rR-`n;A{m_MglXAFd2G&%-yt6Sy zx$T9d-R_gYnAalj_<|?c)%_i4OiUI1>r%0kl0r=z`q$*qp{tXq^w0R(y#Dk6qVhd` zK8cw(O{M*?cLf7b`(%H(o2)YhxVn9HssLE>3~i71I|}<7V9mZRVL$7G(WR-XKk-Cu zR)6|!khJ?jToF33tB)Qx`2*A;xH(|8T#LwGHK{hK-$C}jR=4wrvhpx&8(vdG znHl8ka@gVHcAS=1d3ib_UD#t?B%Y|vIJ1&URVNiX7R=3POXYSgNTp?VN5%p0sWVLU zxJ5E+#uf+=tZXY>lJR3ITx?JU%!_4G)ezyNWN#ALV}jflv9(0ML)*{Vu$}1>3F4qi z22G^5HwCzY`9+Fdo6X;1sh&Q^gZ&o**a|E+RR~4cR6*hOSRM+?H4c8hsoqo&Mn@P+ z!|H=*Y3ckOEZyH=pdVZf5x&6EGzO#zpG0MEAvNd3QDb78zqYk~+vkwF}B(007fajlPCAhZu1IKqA=`*>jXn-cdKpW$L3 z6f|63_w|ytKlM4j>&s9Th7^+QY%IMfU|068Y4Z(@OV%7~k{kQo56oXzV6rdC2wE8)X@9KY#r##vs+TkzC^X3&eEpg1zY*E*c-)`* z3?KJBE$O(#J5^G!DBNb|#JTL~LGvd*!-sw0b9=#XE|O$#=`$bqJsoH`+?W0}Z)fRo z*3#Q_fc;|W6FV|jw$@m5uoWsTwHTM@ZcnQJF*`#FcO^3a$Y|WY=M?9+xsE~8zh>LE z^*NgRt_QF*wxsfQRUL1yZFF$;4EuK9wZn~ulL0M(Y!PNceB5=#X9Fhrt(kUfHQVti z-z2x0Lg*LWQr@Ntsh5ZU%~u~0UhMuY!QTWel9zt{S4D_mY|tljoLFg$Bg)||*S|C&FmQUc${?6PY- z(KsIB{|V}(`EB~d)>VlKIZ3oswi@PY8^j7S+Mc6|<*&(4AwWM5H~{n@8w>8ST6lP48U6>UAl*h~*x54u3PK7m3|5?JD}9D(C`mf@N>3SY(^*(3r-y3vy!zZkd2)b3pbNvhB_mX%hwh zo_igi!S+m!TC%858?Y-?J9ZakZ!4B29FMZMspSEa-=btwggMpT#_X9z$-dxY9vtJ| z0|R+Bnrw^ca~S&A*Lq>7QXNzyyL|>7>?-0L+l1wny@VMZH~H}P{`i1CU9LVbmx4f9 z)QJ|wUeehnWzS)OCaQ%r7xHbt=!**m?>Uc8Zc}reQ=)OB2ksXehnfJ2?c#8<5B54@ z`q<}?uuX#$l*R;2Fx>8iEsHIhur^{RxtgK%*VaVlznCaH$y@8VilD%pF^vJ-M%|{M zNOi@S(lW!wgdb$ReB)RMGJ`oD;GqQ_$1q0S0znK2a$OYGsp$rC$*NvBlUo^3OjV4f z1D=q+6i_SgbA}T&HMe)Zwzxig=ljv&Z<4N8ePt#By!^hH%i(QgpM&fJo3s=KRXe0r zaC{X*aShg;NoTV@ChIt3P6xB|cYl2QJIxMkR(G#spckUwuzuX`6&UA-H#u&vd;*|7n@76cq73lPV*OcGB@_ z&$h(Zsh6mv8KdI!pxb7o%{xNEX^r3tpgRe2HBp(97&v>_9%@eDZE#!RcMKS2XhZE2 zy<1bR(6dg;U|Xr_1z+6D9_`7@?B14dGj-fwq{B`> zKUB`DPz1TF7{fFld}pOMig^gL3TrT1KG*b6Ze=ES;?J4*@gX7Nc8Jvzd_WN#eh_O8U6sI5fDdEQrY6j2SHIy*7RgKsL zwVGfa85Wv;+&S~Ks4D#59p6z8Z zp$vvv7n6;%w|6#0r4dBFa6;2dnoSd`SOV zdkt&YXRm=Dkx^S;iGGO!vooe4IwO$|l?4z_QIo?$;oy04Sh$Vrg49)0JP|tJx*CiZmB6W|dtck5~UC16kIhjh=!WmcB*1D(IX+89!TX1=O z6#W36_!P4*BTrV>Lq7oMvz(MJI>^D9U@=>b8FAa#$MIdO?Qz6nTZbL&Fg=x@4q@mi z>7xk8#GV5au~5B&t{^0OtM!1+9@5+}^wT~CNV~Nzx;A7u;dq!Q9dcAa%niMWa)vse zl5Y*As^W-R*|4&}xjLwp=yAS{opVp8edAIw{ykq(9TD}|nvbq9-C2$7Yz?}mP$gnsb1cM-Nzb-Nqd4jIrri|8UclAY)823qKbe{|DjLUqtQhB*-b zeYXxSr6()>ch!XB^}qOVt#2Y-=Xi+QTtqtd^KMb-dbEbXph2DuN_8CPQN27k5s;u> zHR4SQH15gr+Ed*%;z5x-{tVP&i~mb^tRy)e<=-(~^~t};KS7ZH*uC;U=$HTeZIt8v z?)dk+fxi}JsFE(%CE|^GNXOnetB!B%hCMopAkobLt)3pP4UCDPsx}aY1KnBsKExdV zkK+>Z2=hn$%FtAYK7LpCys^tu9i8)jN6D5Enh$*2`+!PTNHivxzvMwV;P0TCa;hb8 zIHdZo?gTY)O=5VxJIkd6!lYW=wk}pafItr~J5&u>%43I9+@P*NV8aTRoVti}k*T<>GU(=jThdT6*byYz3l(bmfMTtwoYUfAky zU;L8p%J;-JSC1fuo~aq?19{YL?v*WcR{KP*n=5^lES*lr$z9MsDE}kz@p+y{ evu-uN)wXxd^JB05)*SlW(;4++zwgfO_x?XnIe|w2 literal 22656 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 V6w{>gP z`qR3_t*zU(?p0g2)z;SUIrrvfAPDx~e%}{8Jolb`-t(UKyl32V9y{2!+7aI_{5OiC zoM9*#`9s;zlx^6!9TXKTKC^*XaKFHS;J|<&?(I`FDAoBn8Nr`A7;S>ubqHzOp>4@mA&d(%$+Gbc9w*!vme84S;L5OKE=M za#RMTOrulKQmwX3Ux_+RDKQ0Q3oKF-<*3z4btbJ*(|VvvK{L_jN_9%9+CXbEXelkr zQfmF^^c(|8jaKUMs8ku~K}tgwolSD$&xFzEXtf%h!7|s@Y4NfYvH`RqOKPBb3Gq?F zXi1bvAP|WYk|fFTLSBMMKq6PDrRge#oK~voY=t^Urcq}oGs`Sv5+Nfg0LdE2=7;bG zT|TYVD3N_c=WR(J>-@wivb8#mfzD7!4LP8tN+TP9grykiQiDdv(%W6`-keGHxlJ0IrfphujxGn8mn#iY zQgT|L(`j@aXdYokiq=ZiN?CK1(ueX5ps6H-$F)pF1bWGCDg z5D-wsg{tBrh>fB%KqNXTCL*{^+YU4(GLe<>f^2mRv93g=T8Yx-sAWuUytQ#mdXb#r8nrL41;8_(DzD7U2$B;0h5RUEM#{-~99ldPHQV%HN$tXu)dSR;L29a!4VqqL0-rRwl5GKPSOZxj z&&k%(EME&{QW+yS)H1XM9V(2-5>|%g=-4_}kQU>|2pHy(mdfQ2F?yy==#_&NL~Nmr zfO{!lvD}LnYN`fnITO$;M6~LyF$1^r)mV8A#3uLev*m14J_UDAl=Al~PV; zXXmi-_)>gDdQK*-$df4;aSsla>Ph>ek`RMRkz|0vLB$M;G>bV39TSQnld7fQkU>&N zT~_`f^O>0nQYMHi09j^-px5)tMzDDn&)Kp8E z3iB4`BaD-aZCG`fx-d;){9xL^bcTtBNrXv-NrxE#V}Kb3GX`b~%v_jdFai_Pkh;lH zXQAhV8W2Dk1&ooG@M?6S<<`tb@ijS6h|Jt);dKD|Z-vUjiKl@^LpWQbv#Xk=w(tSmuNS9 zWv)`Lh|KS$&}pbdUJt1%M?od(V2f0dx+$^Ne1=2u4wz4TF@*^N=OC*{ojN(fT zQr4EqAZ$waXSOB&#IccaNikbohD0}4k>4mQ!XM?*16cS z5Sz);92>EMO2Ea#kj~ARY5sJefHL4AUGI$rgt8O6Ix#v%AnF`NYFz{v>J`7 z19X2z>B-K~8|ZX&our+iH%rf_y>sx_pwI`D6^2o6xPa*j!ypC8RSu*0lng8bxedrh z8Ofo)w+O+CB8f_x55dNg)OwVVl)#gS1W5u>4}m035SJiI#cQ-MA)e_$A-;4{b*6&l zojlr~d(c3WR)HDVu`a_>W>=Pal}W=1Zx>F5Lw6+4Z-@z*KbZO+*)&$HMR+~#zG`#E#^#MiBA zX%tOSmB=%GN#Y1zw^n>`7R7HRBw(~*pA#8~Pl%WB<02%CH<6e}yy3UHx^0-f8%4P| zkvI0Yl-MO&*x69j2G|i-S5Jzv3up7T&FHVPF{};zeGNN1i?~Rb{UoeAd7>ys7O0~n zEYh{L@OzQ?D+Jvw>=7mNBjZ(K%6eygncYjiv*TT}yJdV_yd-X7O1_i0Ed7&r?#G4U z-tF*ET6oT#%Rl$d)gc#u$?y(e7$1qp@>kwFNslWt2}j;7e_R{j;<0=ub|in?kGyl? z$ulv;zh#+AmXCAi{B!Yf?|PL&p)F0S@|cMvGS5S%KJ*&Qa}epJqN5Xq3A9$J){`kG zCOC~Dzri@r7ckRN6naP^e@lxP5>uLE(2!BQ%wmECQ)f)fY>ZYzKvr_-3^H>MU_E=I zk&u}NC|W9Ix^dJRAQZfi=#i#X{axl;;rJBs|kqI?! zFlwB`BEu0yo))tVcw)OwOcoKPjC(~#U==ly5rMQ&68Im+9rPc>O~hFs&HqpG&Bgs+ zVKST<645hQG!8zW~TUv zb;<1i-_yucY0@F|3G@Cp31n+9B*Dmo#7^c7{_TqR0&4x^$~L7@4z>R836xDO^w}Rj zwhRCGF%+gfOb3{bFkvvA!iD@;0kx`>UyBwk1R_y_2uMc|?SxbV#wHmm%^;$+7^M0E zG{r1^q?0j~9MjIED-WQup#eyUb7`6j<|uWf!$*x`Cg?LW?L6p7WUds8Y!VWqk1wl< z;BU$0OA)iEgGe)Un(R*kkiZm)1!X9G`IE^LNlTB3ba{>nbDM1T0?SOY%phEeJlC}g z_k#iXO}`jC5rbh1MML4VG^~DW16|aXa)Oq{(4N9#h9oLN7|T2)bYlQ6lK2ENq%^$> z<9kHJ3i*-Kv7-oqvF^PysK+b29u$S2~K0z#r!t5m957h(3xWJnk!U79<8lAQplyy(}W(+)5M|A;hVP7^e%9;v&Sn7^}#k`|u?R z@v*5^wj>2Xd_r<`j3g;Bf@dx~NrIzHd_-L74lxn&q~UP{BVk0CBfwMvsqPXP?j}f; zh!YYdu?g|!`XxaUBcc%?IhN%QhA}J>x2}21Y++J5T5MfNa1>b?XQH&GEm$jAP*(aP zF+=K4$r&%`DKS=cN!~&hQ^ZLi9#2$SX^9(OP_`Q{3XAxk5{U#OP7Lo@Gcyuo5+hEZ zay20gDExVzF;3tSk06oA+y+Q!>?{xq;>8laFe(b%ZB?s1MW{3;`P4+QCEq8ABdpn$ zSdgf}w3r4VyA@)EJaaBvr}GZ<1IPVQzUWT@%@k$2!YBVVh*` z-O)+JC-k)DL8IL#TxhhnR0K?3tyBi1trcZVK1-?tMh79poG3oR+}jxK1t}<-sR*2B zGh_1;SuG}6WM*w*hdLv~Eose(nh3GjOfKR-B3T^sNqxl$(2lM8f5wI(uc2A8WD)e_F_Vvo)(CeHuH%hZarU7{a&?VC^4ul^loe!`c=r$pXl;IB~MI zeMxp@VkRudwziUKc25?d^R{APCWO)6vR!a_L?1*tGwUv$a}+`ULwr{KE8~{H^lp;) zPhvDWB*%9H6Pu+L6DS289TbnA!g#(#vt^tZUW>BSs~BrzvfFxQMZrMOsr+p;MlOl&J5`!UM) zK?(zDTN+_m6~RihuvX}ptXh=Gwq)aE9XN4A#v)K(Ozg$FCdZppQb~+u@A#=RFGiSH zA~Z%rV)Q^3vBrqSiPl`m*u+JofNS|eu&*hjxN8LX+qwFq4GyWLYhQ$O*iJSk!u)&|(24j|f#6rTdMg_G*f;|&rqnJ7>r=BeRRe<=McZQM>?ZT+k z&!Rn zmgwXew-UW6i60{;OC5r>Vkd?~C5FpZZW2b{HY*XVBbT^H(B0IsSr-UIG(U-0lpJp! zG?|TS)9c5MC-(4M?#6>nXLIqk{Aq6 znW{1;VCl@21x)mL4}4*?z+&iOP8w-&kt9L^uXN zB&ePkgA%o(0$!jnOA?|a=oO>Qqn}cuO2)uS7#(jZ7K|CihbnQ=amX;4@+dP&jN~yE zFDpaL0&ZE3n25*ZG3QFw3qF3l+>qT%^D~g_nRx)T1-=2=0i7FRZw#;z&;i&Q=m?Ag zV*fhT2j~P;0iA)PfiA##z{VU{&CCAXS~BUIJ}^b~MrhHUioK+W_r>2|x#+ z0_X@F0jvaE0CWQG0y+cF16_cRft7(Dfv&(hjcvoK09ymA0^@<15&jpN)5CD4h7l*Cjsq%Yk>B^!$1e%MW7?_cOXSmR5dSz12zHL0y_e! zK#J;4?13_356lPJ0jC4)fg6Ahz;A($z%#%~z*|5k;7g!0(9Rol1-b((1DgR|fnmTZ z!0y1Rz${=j;8(yJ!1=(Mz>Pq6;1Qq)@FuVp@D;E&(6t%p2y6nZ1B?LH1xkSRfWv?x z!0Eu&z;(bjzym-z@Oz*F_z;)@{0Phh)@Y9XqCg*@5*P;T4@?FQ0A>SKz!AVXz?s0g zz_q}6zyrYfz^gzioT6R;ZGd(@peL{q&<@xJXb+47IsoNBN8m7ECE#qJ6Yy)GGw?9b z1$YBk8TcIN3Uu)WJ%LStRe>FV)qp*LZa_V-I>1GpAg6L=Wt4!jQZ0KNy-0#?fG)s;z{AIb%62Bgx!??4-1KcFqp0JH;60@?#N03CoQfsVk(KuU}K zTK)(JtO>LQ`UCBNkwAN3FQ5a^0CWV-09FES06GB=0I5QX`Uz+QdSO|0nZUA}!uLElVsX){R&==?l z>NLhqn9GK5^zK|LudL_OAk}#XV ztv`4ylLkDg<(3*IS?06TJmYeHjy_#Z;nx_(hCGz`**h-_JkUB7l4j9wm+uC51#LB#4opk00&d&;8)| zVcEymUQY_%*en^FH@@b|D!uX^G@p*ueP&}i6&Ms8(z;FCcA@PfB6%1JQ@tawa}ys- z^{wI}#O9$+Q4u}xA#!{G{@{Bl^A8^ZGA}k1P1!Z1h*Cg}PmGVQ;!>A*t0E+NJL3m5 zvWLyvA!)x-RD+X3OxxsL|8>!zp|dXi_}ziuGoFp|Dsl^^U7bV1sadxVjUUlty=GO9 zhz;qLE_KcRI{D{ajq)!&>HT_V&W;|+2DjGMtiB=q>X6NpbhO(EuV0$&`F;QJz|*_$ z&ij4gL*0RgjZO?({OZG5eZjdp2VQkNAZyAW(!}@PkUp{Pmd>+N-LBW8yMM2ZZeJ~{ ztoK>%@%#IGD~pB)jS0N4e01OvL%*f_={Z ze0pg|&4oKXZEmV$Te7~E za{V7a?!I=^hrEvIx9^7fT6F6AyZtVVs8>9?qvN>yWBY87PHHtf$ZK4!&ZGK0y?Mgs zlH}vO9kU{qAFZ}*&d~iAQvOo+-`#u1yJG{Txi-q1=e*}Xi(ff4^n$=?*`k==?yh|B z?B_`f-n_2ecbwbxI_KKk4$jRO|B+)8g4w7hbXT<{0RYKr&X`-ROW3!Mm|pU-kb8r zp1{>#UATE})|iLam)I)GdtH>o{)MvQDW?61s=V^@w3NOyX6 zZ_Cvmo($3#Ze3n^-ITQ7Z13bx9p9|Wisqv)|Kw9+pG#V1i|^x>tQLr3wmn)t=J^qy zw)1a(SRx!!r}5skgPktdTH3KoW>)y(A7*s#@tggKB%9^CXB6AC=ut9` zs%Lns3l3MhZt)Eto^ig-t%P3({OGg%;3{hChr$cCix+%nzd`Np9N^%2s&&M&`eVQ6 z8E)^a9_upokU_fXx}9f}z3;9&HFMZqBs|pP;S5jBnMq9!uAm;@4A@a;|B?B>N%1l# zF#gf2KZE+bZh1a(i%+;ql6~yQ>(ftXwM4wN96Zn7KXhhm?cPD73~^mR>td$)-FZ{ppZ9UWrQMtB9(IlS>zpF7QMpg`?=^1wkr_>U+3&==Tz7ojiYZyue@GwZ@F;4(w(@uFo1EBo zz245byBnTpnzX|y`^41MZA3AFK83M%n++RAPusQE_Q-{V^*#;OEvrRuIWoO@uTi;P zz0R~;y4~hdl;`dB9*4&#U3wGHXUvI4tq#@=?>&9vM(V}A>AXRr$IAyxw=b@Hv&AOO z>Jb_7N!{9b{BR+5;`%?&O^Z*zC7ECC(8kNF7bg{_9MiRwo$#{xc1+~%4Iu^NKXtK6x{c*R(eu#Q5Z!yB@PVpVl>VXp$ZCp04!NTV^>him_ zsYJQfyf$f`LJ9NcQ+G z9)E~m9NTYs_iy-9Qq#Kr`c+^-{K)4|#7p}4HJg&x?~2x|XriX$k#}eA>la0zni(QA zB==u8RI4v6aCP^e&|f95epYm6k7%desfG<#t^HB5UYXwHMTdLWzMI%%yY0~9KD#P^ zT)uN<(#@lRZ8z-OFriY|>v!vhuH4XRaO{W%C)c;Xl9_$4P78kJ6<>)PdW~+gHYjsX z>Ji&s9sl~@h@&0GXve19X`Jx5{hICZoztAUOgsC(LtS|D&Nf^BX!*OzHTpeVd0cW? z8@qkZi*~Bt|5z}|^UnCj(;v0{deq2_`mMW1&uHP$cILAq?azb--09VQL{_t+VzFpr zUW;GStGE2$hum@LlU%eT92OOQ*Y-|K3;OUC_8Pzujk4P0)Zgh2Bg8$6K&Cjn78ros{xy$k@ zSATwB*cS6g@Ql$j&#zqP7gt|a=i_1bZFXCaFa2xx&e7l0IrQV~dS}M8{D~es|J>R) zFaE4vfBoTop?MSAQ2da&3wF=`szc;a{lB@YFiL-t;_QbCB)4KKt&iNo^1{ z?_}8T`UY(;&MWRUKW_RTt#7>V7~(^FyY+WFRlonJp0n$$n}6fO%wcZc>vbEYRbRM2 zcT8U0Qqy3_+;e`%rmAxjpElg5%t~t3?fT<(Gi8!p>rQN**Yok=?2T1!-ROUddiE;t z?ql_+OUGVmpM|!Xn)yaHt<#oCcMCRYH#`r}CLI|Yo7t?BUCJ0wUGaU#lUIe+>s>o0 ztbcv`tF}M=eEQYv=`G$(C|Ia^)7~!hRp*&ge*S&isE)h4kL#)PN|g`vZhq}d*B)CJ z$U@Ht_I$pY3fP|(xIO3V$;DAszWvaz=GS@O=6ig*XL95+BtH23$bsT*Q!Z^xYaX2? zUgP*vrJ85z({pSt8wNg)@ol9)bgs?3o68Ur-H`kt^2FzIh^2SLIUb`{+Ix{>Y+NoM!c)B6!`PWoH*BI$;huY&i z-hB`<`(1;(3F*__&+P52;!iu9)=cNIqL?mfR)6uS-!^Y)^I?`vpH}PkZ#Wn?PcpVj zz5i{jb+5Sjz}MbW2KXwf2{vX_@@T+Qzq|4_y&pZrX8Eb*3o;yrj7xu9$A0}!4eJHH zUe>N>;<2g|e9{NpplfxFop4+m)N5~AZ2$IWIu?AB{rXn?Hh$&)E^QA9SGSs@^Em8u z_g?$olf7MTt(>cN_0amPSkR-_zw#1)_-1;(Pk`BiG&z4Djwt zg?qnxblk(neaGZZsx_lr7V@XYcSx0gKZ$>awz!H!YY3~agum-a8Z}QB^j$W z>uaBzT5oAeWI)@OJ@+qL_{a99Jv(0Tni`{VsdF$bIIjJ&Rz;03cYGDywC&(m?mPEw z{xCbH;R8eX(sogJ`3v!?Rl-Akr~ZqhY67ZLT|S6aKX$NqkGu8R4Z`~TZ8qtom3 zagSHr8@%{#)6Fkzerzo|=D1(p{=U~m!HaiG=R3^&V_&-4@6-G19^Y#+X+{4rJtw(` zoP53NT=3sd2W@eTtDo-MEtDUuoN&xx=e}q9ru!!SvZswtY`>G^mkNG-w|8OJWAjvX zH$CVy*>~?nfy02*Sl=IG-rT6M<7NA!oeL7uYB@w?Iy{eFc-{GOM0%a7U3sk`#(nj7DBXnSFjYKmmrq^_Oc?v3m`t5Mfl zd7T3np3ji~m=HF4^}I3J_Y#lQs&a5ipZXcz(_a6ce*XRGQzH@`^`7Y>rTo~@13Qz` zTMqH$OTM?CxU9>N_DhczPwU^~LhSxZnqz@&^KKr>e)#9<-D#@A?Di)c?JPLDvwr&N z_pdq^HJ=rho8_8zO!@J)X5EK&As%t6-UAcQImc@!xU3Jo zl#%Z{*>Lf3*JjteQVuQr;pBn2ym^cLrst2ZRnz}cz-8T{2kTPZyR6y9o9uu3ms_vu zo#HLp^ki|{%Yc*-&TF=)O2(~pEH{G3-5-G?)}HGRUP`ZxpVqWXTRXo z^FMxwdG*sM`@ersew$He(9W$MUIQDA9UAtd(0jnVW!Z*Cty>tDZh>OIHKX(OUC&phjX!S_JY(3ARo$9mN7*K&Bxguv-}eFxZ0 zJ3V!i$J&QYkJTISqUg@?`t4FxwZF|Dw2d9!E}79c>|h$tQRnOD-tT_)_l*~~ zUjFb|OxS_M20bDs{#J1IjMs+Q>e=hpcGkdFkHtAEY{2)5#O_drNmmRhm+_L;GzZlkeO7 z;kj>Btsbu=f7gFkba|3C>P5FrRUTdM71G>SR_)Kwt{$^Ooz_&YgAewjHdq`zGjQlM4)+FN&J0N|xTCr@j-IV{l{-1O zuKw0OVAZ6dr}e7Wd%r&0E#h>uqS#IMhqyoK)4Q^JK>W5TRaEx_o3CA3t9Ja&t6ODF z$IC^Jx;D#y-F(3&FXwR!ZjBf9dysrU`n*H+xh=MSKP#xuIq!R^hx$H=&6?0+{kj!4 zwP&?2`4;Kp;$tN1R zTyKBoK;Gg`*VR=GD^yKKw0?PFb+z{LsZsXT`4`^Kp?|4c3J)ird| zB3E_VgfR;FfLj^WhTmxrKj2JwpUw57yrzwkH6O#TJ8XI9TU8g{0C&f)!UPXzi+^qSGV&q+^R&Z2P_j&%J=Uj4qI_2bnq zYF)|Ocb9G+<9)n|-4AbPzG~5`<;||GeB15~8r}2iI&JagE3SFfstuX+GV^ZrYQMX` z(*JQ`mTJ@8|P6rod|2FP^ zi_W`F*LkvY-@&xXyHc|s9UQjteBQQx$2A8=wJ(^o`{Shun?9$XwGMn*{C&fr;}qQj z-Ui*czO^WQ_v9%ajb1@l!jyhxvTfT=MXTlNrD5%B62)t**0s+QzT0cxZI*BG%mg(Xr8Q zKfn0UV{e<&b$^m>+$r<)e!leFq`Cb!d~9>HYW>9vx3_y&G-&RzpI2Txe|z=luTSs# z<3cClhp5Br_U+$aaR2X)Gs2#xTz&K~X5Zfpcg>m*6EOKzUD?;2o{r=f$Zpwh7(IOb z+Q0cfy`FkJ{=l-|HqA*3OgY;8X4eUio_ycUuiCn+i|@B;pL!(RBjLccyW6Y%S*4)S z(MF^94oZH}e$Wi%{h*I~YPUbUMTwDSJ#ho&f}=ef>etip4xJ+_Z;(RYAL+|%1R z`=iIaIq)IGwVh#jtlfd+`$GnG8vDNoJHrn?rky{;jeh;L`>Wss_nxU%#OJJA&^|YJ zdvDPeap%{!{CS-eAHVMZDtGw)x6`iVI{KcF`Bf4NQ;Ki&IpdS@yjgGeosRMAuN9Al ze0uHrA?xSZ?<3v6-&6cu^ZIx4yF_>1;XUbE(W@6j9C@9_Oj4b5>@43kp;hqc-o+0E zwVpS;<|=o4FP|3W7sRhIzKZtFcM(nBEW8ug@!H|eRl9F!5xz@0cO7+iuJqP5TmOB< zU61xWuB-OV`wxq!dlp9?P|rNG@9?DchhoMA&0SNc_~W*bzYgVxIm@TUzkL7wm1gkR>J@qYM(*$*da8{mziOqqF%8=u zxpcQrfAIyku_2Sv9rAk&9J~C(u>rx(d#)aRy|lx)9v-6|k5}unDs5{U1l!@ixvxk{=zsr;OXkPwu^A)p4E=rJy5)U_FTIxe!YQQH zksh~Nj2s!=Fk|KNhf#r(er)kF`@xh6^;-_v-eddI=-sETpW6N8@u4oRZ@2u#zc3=E z{_j3d{=BjJjJwZ?_7gG<_WQ4$nsiWhz55}#LsM1+}_%-f3ZD!;+ z4C{MFdtp|M&>HVH9K7`GdBCMeU<}6vWV~kCM#qu>R+r8?XJm#LH*!6&a%<#8QhMsg*S9^Oce7^9-i{7c< zX_q@6j(0CEN^dKvGuZQRhXb?6G<1Jla5A%?Pj`p3jpNgoMvk1+>(K6b%QmLBQg1u4 zqERQ;+4~BYyy&(hGpo(IlnHN-rEI!WrD#HQf2XMZ$FweSuljxS{goplTO2&=p8G1S zO25t8_v7oW9_7Az+qk>UX7hLlCpDe6wN}4B#yzxI{l^Eo=+S}WdDmw6xHk1z+K4Bp z9bLOl*h&73u}WoZ@Oj}eswj!-xWe@t%6|UP#c4&gJ;nvz3w5q{_fhk`bF+iuZKlsn zyIu8G{n{aOx`owUJpF&aHSZB!^{(RO@9pAe7P!{z>uI-Tpl_?dYlm$wIE`Gb4T=qX zaX$N!=PD}KW!0}#pX|tE?~fmIS}d#eTT8KIXv=MUfAb?;Q66} z{qEnpHoQ@%kF8R-I7C-=JEN$vaNaM@%`2x2{(E?|Pi_Ci=1+B}<6irQCnQUI+Z8+Z zQ*OW2>uZ|6=`f+QgJ;Vbnr`(@=FRS#{r9u9Ren`Hw=IjdNuNvKuNz)-`0b=Vzy7^T zu<2LNmrJ8oGCyWdS;)5-OH|CHDbS-0i< zZ*BSAuG;KQJ$U!m!5^Q!8&l)Lo#Ju14ku=3#C<3+u;gWu;gl8kX2vFO4ks;O6R zyDWuswWNDHr`LN=w|0A4)WgAP&gsf04jvCX)MClc?*`WzUn{Bejuzp~Wc-Ogjp^U- zVf9___N<@%P5TzT#MjQRr<%rAxw6!;U8Q$+Q?^SE?%eQx>BwQXMno^L9i<=b6+fx! z--plT32#pr-r&_W-(L5&$84>!G}&gbaI5332R^NWCY}@fy;VQZU^=jVA-{dDV^;6! zep8p)t<7}U{K9+Z`rrCXZSKx((JPNWyVu3-pkhSF!dkg6+g5JBc3E_nlUVhhmiXR3 zzG}U=@s4X-XWZ)dAUJYt(_UWNUBik~2K0*PdBMZ^dauHRhxQfD_kGaq?=v0xF6cBr ze{8{rcadSmD?*-l&?B7396g!HYtS+ENb{$G-yPUIB40jmMg4yH>D@O|Kickhx_Kz5 z?UuRspSC-Fcz756<7P+uL)tbC*@v4ohN403&GAC|dw+0C@`;MLw z!*Q>)cSP^@hobgp_#gejCFgSg2eS3~hq@KrqNBgI^?WgDmv&~{(4)QHidv0cvUrB( zz4H{^jFt6%jOBlAJM-eorVV34j;9_Uo+1pYA`<`A{-#RN_UMO{+2{SY1uvG(pWV6s z%;ycO1<&NC_GujEcKG+ygkMJQ@LW0D>%oRF&+8G+&t4^ssiV6!;@Z_ZXM3-%KdiQw z3pHm;H)-_+?N9u9Iz9Bo^3gp6wHrRjim}-z&D{I5dg-*jryn*P)9p_CwX>a?ZH+zt z)r*L)DYt`t>%SCj9Gv^A)*$5Zg`wfc%=3FzMy!EL6+h*bq+O!osz2Ro=$QI?!?V~X zzi;n(f824M%hDXay6KDop53ZF4PCc%?$@d{;u=$WuW)*pUU1Z7^^u6)#bRf>D{H;x z8}?4mh~y8;KXJRx$&ueUINe^7@|%47?aMYo_gl6*3O1}B{i})|--q|@h`WCGc05`> z+C99Edh*r@jxSyNxNg3eRA+hZG4A2MYf=-OJ3UsP@7S^U&&Cd0YWY7+ZyI#3ZjFWq z7LLYyUG>QnfyW-hg-*|=@ogg4HlOfIO6-iYso%AIDX489>0elDq5Jm9fx4V)Vctrc zNSCFPk~ZG9zqWF~Z!VE8X#?wCJC-}W_;TLMv0g5;;Pl{$7f*|-Zk_n;qh+_%nLawD zcItNxHh!Px({Gh9J2ECFbo7U$o%OB-x4)UdlTm-|K3jLfpX*)@zIkM9>+!WZjT(4F zTT`&Z=fmH9PtRy^vA>humTBi&id%{b2WQxCt#;HQw#9az9`Z_lZvOq9^y6;1%zpRS zrG8k0C)9{}eg3}J)NRp>DRD*H+#+4>yz6|b(=NM7`%c|T{MhKj)kkM$JYBY@?|sd^ zHHO+)u?eqU?DJrob0zhYlwBs zP7fwsSViL5#l@E7M1+_NoSX`fhXPpB;gOwTU*P1Pj=$mI;Z%XWr#)N??BNH|kenCP zsNssRqV#>tGcx4WRpdq4+7{R%Z0GRs&J@*9t8GXX(4KSw73t;a6-hZdX-V1BMO~v1 zDl!s zCCdky=o~|nlib1)r)OH4CmsXCLlJXeAX4wMbm>q$XQklTsci&Oq5dX+BHB9PuaiBq zLx5P&bldU8b3XHL`uCGBOg%UK%*<1>i{~Dn-)MfN`8Ed*9N0|L9mii8Z!^WlY5J*I zc23jrU(fvi^!d~*cq0GvzDG#%8%xvCMa6S$Y^URY7uz|`^YCxFjq`Ln=joN4$DfHQ zI_ov@T#X6%dnRU9CC1){@ifnQW)~(D0v02tO|d+FX$MOTU=L#HK#nVvDY(<#;hFui zKS|sUTQGW*eQvbTgLz*NbIPI7KOr2bKA4J}3v&eK9n8`pROHN|6k!(TcOKkC9_|6( z!K4kRB6k;Z?oMgMjoHTn-Vo@ddYlD@Bgxqlh?%pTacrV0g^G|%Gj!O4LSYXJ9f>_H zDxAKFO-;ljIi(^4dy4cpsKUI31-rLHg8hvfS&X}1Xda(OVxXMuarP??zkuK?ZC{kP z9>+7{Xh!Y`VyP}Ohn!)`?&vWEmB>^Isg5$g>l8S@QJ-aDgIzchtujxcvar)-mwGm$ zIZ?SHk7iDW&7iZTdCKgZY+9X@olcJ6$e?i$g5{~>*1M~?I0or7APT(VKs6*z>L2H# zVV@LtwpeR+Cl0Meq>Ps`H!E>bvgiNMqBt=Q`p~A^6|A&waXW_^sa(o=OORZcwaok4ui6NDQt+sLl zsx@RQ9&;usc#CEdFE@~J%O0suamtrgsWC8Nu(FG4(JrzLk}_I?*i8U&YC3wplyHJV@oIP6_p+wAStPnbK zoMuSNH3~g*6c|K_EQ>ifAN3&3$qYrH_Sem zt1vfV-obo;@f=8{)rSd%34=+2=>wAoW8>pQ+0ZbaFm5nTFxU&3sa0x9%RVQ%xD$4n zb0Ce9lsTD^Vr(F4wKz_j#3F$!duSu;WG0y*UyHN9nS-*~gDP`yWF^@&X|zP`m%I{# z_>y^Y zi5#u@ne2^a-*9fXt^=x>O^?a39H(=Wvn;jJbR|xq1RpV_VT#Qhj)|tIl0a%Q^pu#b z6lzNwEt6(Rf5eugUYdQ57LBoF6pUwUYeqsK9tk0!Oj9JTQlZGDX8X+jSY88G4rR!rEDSQ<6Hc_QhIRdMYDdDspll`s^OE12_8AxdPW#e+l0 znA1?vKa%g&l5na?Y`2Q)0(z|iy&KbRIHihgKsR=M7OkUny@uJRP52bNK$jT-x+NZo zl^k1Wv8BDV!r-2m90hJ}Am^l!N3|@UQ9$K6Xduw#G^!lt1VmgQ!9+(++Q#K5sA1gV zLoPVN$*egzKNcD&!b`FS)8t@q1V-1z1rDI)%3KL^4M``o@Cp`^sP1JK5s{P>H^vN* zBueJsv&nL52fGKpX+?5KSVO{Tfn`=hDS6~1vPstdlfeI%gpId<{F7waLVszka3wZ1 z@v`fbNq~_l;2)yL$Qb2_;U;p)mxRqc>yo2IpRAA&N7lkf6`WX1&J||u*yi%7jZSZ1 zJ)|qua;_qcpNTN(a_!83v-c>9oUKmokNaGO>NGjH_=_Cw$eaX=o0Tx!Fnw2o`@e8B zJvv#b0XKO;10mC#ZRNIMi-49o8yk+zBQrK2VnTttF<7nEq_mQEqRx@9 zpI9@AG#aME1yZ13(aVEtXf-c7>pAo>7*L*IaGGKMy1Eif$Rkm=+ba| z4CY=i>q07=j1vAqbS$rtE1J-!Rv-q8hGM2)x#?PjLZ_XBD+2NPkTlcsQn=C;2=+TS zHcSR|&2m%1dGt8QU4_0LlNdA;kh|Be+^`n8%w*&vnN_MtD2O>6k8fh9^5=U@_fLH> z1LD&)j^|8*yWA|Ah>~Z~zAGpfEQo><;${o<3mF*-<5h=9x};vibq35Ac0^`jx`G7z z;-VTWl1;RNxrK11*}7xGCN-My`!O6ztqWD>{LD)TmXsz)qtZfLm~~AgYNU zjB&`VK{ReOi-W|jKqE>Zu^?zLZM-H{PnVfwx%H{XrKilOh`Fe*T< z6U-D<>wgfY%|8g!_8)|4_XT0HHG1Wjc*iv=74Xhf7cN+VFdCSH=@fa{?8s!Gf?i4D z74u3|t8@*yt(cUL=o;B1uyOv4naEL<-GwtD!9ye*xTE|+kmPb0QKi&m=j4%0mfe$@ zS*QSa1+eVY4r4V%1rp+9H%XA_3S8FAlWpXpOg$FQ^chMM*(s_i##G)g&0reCc)^g* zn8|nx%e7P$7__RgIz&$DXKC~XiL!iUjYy32oKnB`FPjs%vT=!7Xx4t{f|Xhv3lEWE zlqM|cER=6@Bac7RbC)X~$OxHS9-7IpG6^$CVJsA>5KN*%z4b*I1NyOQ=28C6mps% zOF`?q<#c(>lsnU7K{=wsI?=dF8aEb}&B0tvStlVbGYP{#PoiYd&NQJtw^&&&5lR;B zi-Ti;qRxaI=}eSl<1=cTDD;^6g3gl1bf4vB1f&WvFKci-tYP|KGDlf%1VXIvWoyx} z$(?{qw+w}mS&(LqUO*Pv-j$v3gy0JC9|Xzk|KCKOB~@Xm<_pSSe)idW<(Uhs{-ZLK zmckbogow71fw&o9W3@s}Vk(H~M&c5ZgiJ?*%MEbp815>EfF{D8RsKHHGjgqr9S=eq zWJfQwK1-9Mf|{qG$#K6-+@&@|vp;6@0CELR(GP$eW%9&irF?13rmm}a>PAWPnbb{$ zC_i<6PIh)aOEr$jX6a=nG9$szxiiE-^R%FExecon2_x0X$&n*O%5dEcsE5{HZe*p% zn|~geRK_Sz%#ITbM#*S~>9EXfhWpCPry&m$MMPaN#zy*OhH_F`t6?vBVd~g8Bx9CH zXxzw@iIL@Jh7rbCxhcDUDOQf>nM=Uc26XqvG2ExMj~xr86`=fH%b0V$0z$Gh3a~ei z<8T^KL6NJ}fL^6}Gp_nTQ^;1TF(XGy?(+3DPQ4(>ePNzBC8zvEh~#9)j?h+FmNejABP{RZ?4TTd0PVxeQeaY_ zoQEpJF}ToQ*h83cYO4q*1t$uFB$3HUZFD<*IO|f}}C!%bXnHHfkZS(}i1xvgEv_Plpgrq`^C*~n+nSB=- zR%tcNB2}45a2&=7Va(=~Ees(9^*E}I&L#ITvUh%$8?l!0%dJ*nIYli8v9Rcjj*19S zHMZhnju`7%DuWV3K(bfX*lESZCF3-5+<8Q9cq=y{WDcujWqM=t!K|T?24lRMT#LMr zHG1f}ruhdDomg80u!z)p-N3>RiPRX@xIP-^TINck`ak)+H4Tgg0i!7&?SJ;$g%)KXo|CDNMm|KK+9(d z>0~h2AUi7b3K{kRVYeC4+_(i))Bz*T$RB(~LD`Z$5_T|+U>Y`}8`P`s-MC3pFQ#&= zcl&V{LozdHsM4~j&8`6vCMVU$Ot_KCx1fkMC-IF}P7-wn`=*IsOp^q)rQ;&~82v>m zlVJ#ffoi@6QjT%p1iyI*!)hhqL^c*O^jFcSP0MkOb%|JyO3h~rL+H+mXF^*hZ*2Me zj0rK@(Xb9FSCDOtWfqczCZr&n|By#c0ppn4vTrm`_*q70&Cv{1z4gpY5aC`U9UzjW z%=XqCwGt`>%_*%IBn;BYQO8sU<|NrCImWrf28SCfHS7a5&}28zWJkE2EZN{N>;LRY zgH90nLN3UYoOvQSVEE9QTiDqtw(b}zpvu`PbE4{kB+R4_EZKcCWYgOqC3*wXMe9(4 zG5L!=nHeycC%Y`F&YIRH{v@@J_3#0{G&)KZIn0$&mxw557z6z;dBzSUDYn@uv$48Q zXQ4tAIwn*Aov71bwuR*%OTM%&VJYdUh$#HxxBjTlNhhnh=@l4nf-jNQKMKmEYSKr_ ztb9&MU{WgIdqg^PXY8%CtX*qvO4LCsA(!StTF^em`3cAmox+zUgEQ#-pV1brLYMEI z%e}ZKU;GbiN2q2yI&S}A*>c}1F|IPdgb}dVg?$xDnG)YE8M}72UNE8uy@Grx_94*p z&=w0%2Oigu;Zugv0P*Vqjun5@EzJDKN(V z$pk9cX<-a7c`!p^3SmaUjDsnHnF=!#W-iP^n58f)Vb;QIgxLbK17D5>gtz4z5vx~<^a)ku5FO>?n zO^b}=^P&VKN)DrAhT|=oi@(-K=9FkA^+ek=A>8ocC{+WdI}EYMk+2xTsRU(Q3b=JLv42J@n!jZJ+RxliG5zYb63o95d+#($L z)^%wG!xdVDtAyv36%0ozkfRHs(b|fJ1M#_VWGu6>qTxV9E*#mvu%)8mkU1_K+4HcY zqTx`1TsX2%Vs}Nu(dKYuZ^gcfh6^``!^i#9cNGm+Xbx8m;f_=^94e42AK}##6%J=> z3P;-b=?aIlH-#f|@qC5DIhn%MM7SR+9L~)Y&K=>dRyZ7O3P)rs`4Kt8$sN*`NxLL% zjI2iZ|6P0@G-5~0$aTjR0;Y#@D z7XGuO__z|&=}NMfnW)@fvad*ICPOS{e}xQdwF;WqpuSnf3cOvQ8i{>=fu z@S`4fd(D?8Y{7A;SA1=Q2_uG01mZZhu!NzFLq6t_%)MhVk$J|)AzJQ|Wh0|fY*IrLBHKH$+k)=giO%(w2aq_(ydXDI$l8_3Y-PoUy^Q6>M!FJa%CEFi zG8+=~_)yR>QEw9y&{uH4oIRL{PiZw8|14fvb>XL8snFeIhJn5ZH>&= zyf}D)biWx`wZ(LbY0;3|`uMp|b}iOV+1U*;scobj`P2(*NH}1p>_tG1EL>rX*+Q_- z1WGcN9AzfUoZK=FmzbYvrky=Wf)Qk&X2g1dfy;omyaT(W)``hDyEaCiu`3Ky%6Mv{ z%FBZAY^%!g{oKlm1!c(kD7k@4mFGwDsLJ!TQfx}8BetqF85v~0i?Gii9kbe3W@9i{ z8Y8BeR5+gVqb;YTgWASLve8)ZHIm3Gtu3&;LR`5z^*7FyGhHAf-Py8#;kE5tuo_8R=AJiaF`2p zdv;Tn@qpL{`wJ*!qz!U$VZ*CP@b zv}3-pVzzD=`O6RUyjGvznRb4%8IbAn@#Po^iYa3W=`KqnzeS#m8z3#d=<{RtCUD&p z7{JE-v$L_OWanUGV{2<`XJ>EkU}tY947OU`v|HQpMt=oJ>JfG$o9WqLk_k zDn25fQcKkq_t{C)WpYIZa+8Zg8dt#7kG3|Y+4YICiEJXUi5v~X`Tq%a1VWyV18z{F+Z^$BAFkU=#w9Dr%7i2 zzx)XyFR>nxPsK~)DUm=BFNV&*sO;D_Lv#o%Ah$}-QL5znR!VtBE13=-nHn@2m4AG6 zs{qEK6?S#ti%x&ELM6_CE;bHD$;y9XB8;Lunb(iKv> zH`#`9G$3^NoUxvhB5f`ri6)ZC-fM&b$VjJ@|>w z?p(fCw;O-@r8viP&kOl)yWT!->%Wt~W6`yIUfvTvnad_WJIZD#g^S?Hd?Yd4@Bd-% z?c<^<^S|-yoOxhoIOy;op<YcX#jaZ})rOfBf#|#ru4& z>vKJQuIKBV>vLVucS6=rRL%yH@&C3zN|SzKIJ1k_n4Q`p*)Pid9r&8+U`_oUMu6E8 zY%DU-#%#wXvdH5K&OCWyV&lEc&QbV8A6;hlQS!4a$~S+=^2Apu&VTT8C_E=~P#mn8 zbM*Nod!PBVgR^5QQoiBd$nSIiXLK;a5F-5mx&Gt*rW@nC?)bkk^rd(4&k43hIl*=o zxCrzB4c8KEmS;FS;q=l3+e+Z_T&CFj`0fm59|QE+DY-tg&Cg#3nzAIpmI*8a@_~&& z6>u8p0iqChB5>hO&hEmx;y!=+tz$UUqp!?=I<}C_$EUrLfAwp?f(N^}j9p49qWf71 zjORGU+YqdSOiGn8Jxop(W5*l74gWNFO7a}2p@||btM2|40?)~u!+yB=_{3GdP~fLb z&V+~5IWyQw@K+*M`X$eubN8&dzYu9TR&ghv)VE*h|L?&f{(CTM1b^VoKL3;E&YDGY zDct~j<1fjy2xtE2g1^Oizg~8yAxR-g3m#td_?=0$)82|tGq>TK4lV`DyKU^4#CUVe9fqXa{E;Nx=8N+-UplPs zT3Y*cg=o?DFPEY30L7Qb@sFTI3n@K4dYkVwYD|z}2I=CB7yB;675n~W^Nsi21{v%R z0S zT^pd`d~AtG2t0q!bGGfnhR{-&M{4-(_%+69KP3j)X{;kkV<=HbqEMQ{$*%QN+Fv6( z?XeN1eKw*b5>eXEB}#J|Q5r*t(%u_U+J7TTdvHW)AC4&P#Sx|bIHENF5gp*C^dG;; zev_X@_$jR~h(E|rX)Gr@jpsyZY#>TQ0nwp;D*CC(PtATh%ul2IG}=#x`{@WjwfJd_ zpN{m?Tl{pCpN{s^TmAGlKehU4te?`zMDoS^DZO8jeXO6}?x&@%f08xMyfRplTg&Vm?fakFJ zWM4D<_(W&Y@rilkk55!jI6m>foyR9Ok2^kb4Cr3iFW=$w_qX)=)=fX9eQ6xV`)nFM zL5~;h%dt;SN1=U+|M+-E+P&9RD}xL{1`M31w0Qr$Vg1{eABs=M8Puu>M#I6+zn@Fs z=Mwn21b!}opG)B968O0UelCHZOW@}c_ZD4&DU?Ae1>-nVIb@&$LO0fCTpqmPCND&c}_9p4E;r-9&q-bgNUFqSw z@WZF)_EQg#k~A%#*s%ilg+l|>cOzck{RlVeipJjluY>vz*05;|m#1G^GyMSZB z8K4Szc^%LhbodWMYArp_coS^mm)LLN5^c?2CD;y}$KK9`1lx4jBff^LFt5>b_99iH zZ4BIsVLk%$bhueRN7*5agU6m3etF<+1R@b9*?<21&y@fja7BlHY&j|ENv0>O@) zY7mD5AU|heKLkJbAr1!jFr?u`S_>Y2Jd50${W2T@pJa&i%U}&h-Uc8HZBYCR8G6Ee zG8};a8)aCAc%}ms`tM~Z2cKkkV9`I)jq9sY-<@FM5?n`vEkAz^VPo)yhVV~y{(kW= z9mUS2i%Za09{zRTHBZVFgE$OL(;E~5apw^3S;E1UxxO1N(ozinG|D+NQ7MO)AAk5U zy2IkS5^vvi8FVQG?#{r?YY#zDT)7r_MCOc1Bj|X?^|tGapRvXG&PsKE2KDrRtL~Sf zohap={SZ#8EM%m|jzda53+k!IFVlg3|Fbf!L43u)KWYnSz$ck#*+A}2d}pR|vGn)J z&;?DOP*6dCuL}x|&%V~=Zy(S>z&CM{(~b5|^_Pw~E(5v7 zL|YHg*KhLR?gXFmcH@uw?%`nk=iU&w-OzWB!M_n`2EQisZ+(~KtO4JJFeImF!R01c z)K&TAXoTDUt#;Ikw5YuD7UO>#PxO^T#7#d<|34i+{?!;}MOu_Tu3=b!OMHCoc*O$d zyM9I4#Q#Utc>OAr8JTI5M8%u$Jcs|{Cq)ASeU&b9P@?*$V*!R2-$n*z6(t_!NXXy* zTZD3BBpp%0`G?1R;~5P%kK(_YEXh%>hv+*(@?XXUt??xXwG&Y-a$2LN%V*ZXtnDN- zelVLpBZG*AzSek_wrc(6%d~CG#4z#`a;1+ihFuOdqK(Z#xg7$E0n$-wrOn))=s@` zoj!e=-mzPsd(bD2lE%M!oK(_3mnL3Gv-YOhY-#D~X%0tPZf=^>nO0Pk=60u5{VQ2c z>W%00;uU=r((l#V?$W2cm4k+$w#4+=lmz>e;hjHT~em_cYmLR9-aQ5q<<>(>C5OF|Mm~zzx_|b z|Jw=s0@{+9AhL_0PY=_upK5je_aeSsf|VI9#9hj z4a=R(o;j4+!v->2E9BYrBeO5FF?%}fjgSd^`+-}TeFx+k1HDV*UCiE!I8tXo-g}t+ z4EWe*?kz-`(Kv}-Gz&UA$TQ?MCP9`&;56JCfd(KEZW}?Hf|%_z5ZRB}E`#m>uNXK0 zxFJt!F=t;1{Z0mbO*Z2A#M9VYk8tpgR}eEaSRDZ@M2rGW0nVU2n}9jVxSs~N4{!jB zfW?3sehwoI3(`^p%aHFizy-)|g*+ZTpR^Ks)A>MTBy=Hx=2ZzbO{>tc#O9aep^6^X z#9mphMqasI`PkdCtYxr+YFO{k=9e}g>~^3WcpW%~e4GK^kl&kl2)Kx{XHC2VC$Dt1l%y2;4UXu1K@kfkriBr%H5N9LGgmgz2O+7yG81zpwGnqXP<*;%H+6QBfu@=1$<_km=IPkI}eP{1d-fh&NFcJVsm z8@q;2+5`kX%_qGCJ1Uc{#J9SWkY!#WpOlC;`zzRAhIuk*J1812>R&|NQ{~HVUqCs4 zehxrr`Fmzn?mS9{c@l63Fu{UxAOn~O*bwKKbLyUqTDcEyTcMAl?nZw# zG1~!rH&Y=c2l!5eIR^W>XZa)zc>6%>i}<83Kp7h2yiI)4J+S8?tQPK#!7;Wzm?4;SK!hnaLvnL*RLnR`O7FpI|>}f`Pi_m6lTRHp2=QumvnQ{bhAgnC^ zAj?BhGUoyLnw$q-Brvf?mTjRt3kc*`4eZxYE{7545x@btpsVRHKp*FUoSd9Bh}#A9 zpe@NmJLDtOUto6v(`jsk{TN_t!rfJf%LPyk?QrmpIgOm-bOYxoaxh18I_|ClF92yT zhEBPY^vYj?SZIdm;j8d;E(1?Mcq0%7Sd#_E4&?6ujX^*U5P^D+1Vo?-aHB3A0*$Q` zU*%9fYtUy-L!MobPd5pD0mugy1Bt+NAPNwGMSuh7f&YsDgINt+fO*Ue&Mv|{3b0t1 z{VaHwfo7lsXaFV*;gf_AW=o6&U_S6#f^9F-r+LSS%Ch2?6q?fx!k&|Z2E=Nn?|}PO zU?%*p0P;eSr_HE4@T{XDV?5FZn&ocU3VMk6S@`CI@k2M3*`26o5o3kC>M@p?jQpWY zRss&2;D82}qY7SVe% zjNvY@p^0EU3+~(GEX!xm?^v_S!K`q{Z_x|r11QhMz;d)Z($}93x)?YT#%y_@q(|>S zS!3vs=b}%{0Z`v^5!{}hfbkUX$i*;6>Nqd3) zpkvkmIf}qr5A)c^o?uS+D*`Y!FnSAeyd=w}&t#e2e7?h0N5~afrne?~C#N(Y`JF5$ z;=PpOvw=-sGjXVii5LT7a|}!-h1Yus0i6(ShU--kol`2EMN`|aG|id)RuA7z1`(t`RWnV#!)ejQrsX3`72O*$s+ zpr^Nz5obG@H~p?xh=6p3`b`^qeRKoSf;3KA-|N!7o@mV01y&nsUA-Pxuk<@57T@z3 z#k{6h7zqEHQ#n(C5|C$3XWoto=OvZ%8TF>$_7=I^E*(-D(p>6ZBuNx#ZL18~X0GZ@ zUZn(yW{AOzrB0}5QsYH1zs0%Q>U64wk&WhHr&%mZ(Tyw+M#59E#_ck~vB+hFtx$tU zrdk}9EXG^YgXVPVZ`%IFn+d4G};{k1_DB&{TqXHjqMf?gre-B2SvMvUPZ zMo(66?XUd2T;iFg^~Ram>+!+a9R~NCVr^=#=bm2a7vvP(Dhq?^+@i2StO%B}iB+~! zBMcfP2pf#xEFg|xkg|wM4tj>qXVS08ket>VJGXcLE@q3bv0B@jb_ToOs+l>tH+g2S zlt~_h2QvP_O}S>u@LVj z;(4za3e4=0=-$^8L(48IS=aY^%)RFVr2gbC42pKCrJ=pP>d@^j90yT~b?y=ov_z*^ z^1pSLP-Xb7!nB{dzS-wm86dUyAWnGQtf6OthC?Gk`zcy!l&+Ff_)XVpuk{H1PxbU% z>0ha;R!boyh5s3>n3ZR2ch4K4dsNcb6e_!cWxvNJ7^s;W$WNX7i`<6bYL#H{u3|YE z8cC~!JWHPA+^n>AU|jM*i6>^mv^Z{H_!iD=X5l=SeTEA5SdYisBfU?)%L3WH^F4L$ z2%|^ziAaVva++Y+yVSym@9&NN$S~Sasgiym?iEAr8$F&+dd{h;dFfBYnev^?l3(u; z1|Y|?QYhc0$<3Z^wa`sk%isdMAqr)}6#4^6bkicaxRr~l_Sr!asOVqtYadxU|QFr<||F*<>IQK7Cm+3)rk1u!iq`3jWLbz`dZ z2=Qn@9ZiP%c7Hs++VoCWWvpk>(;1{GyGupQ2l8`IfSYYGHfy2zB-;!^UZ4f-2jNIi!&?_+U=)ZKI;8iF8f41vz=@)nh{$=Ff{o@P)i+@ zG`c&r+cq-8;EhpRcZ$*vWcAmdH!Z;PU3c{SfWCH<8sPc1dp|~#X#quOrVQi!jzVl?D@Se}RPtsucBr)o{Xf065Z+ukxi{FFvnBqW7REoDa z#APl$-dxC+8#W(r-D57+dp_tc2{AQxkBk{H-hfq5_&84B*M>6F$!^bk-C~K;>}K1> zPyF}{Grij_T8u)3=;E9OqUl)orsLfsEhFBrknxye9J1-p-JU;pZ!Z=?w!Im+slL0& z<=k|*d)>G{h@yH(vk)=`t6_F~7G~PKSswo7kVTO~wF>$6glu zO1E{aah97C=W^+@#l+x~>S|T#(cb9qWT~usQ(5==)$7K^Sgm6Y4--O#0WMQ`xey+z z^ZcRPc0erqUY_-e?5QBL_d9vCW=OMC(!FVWw{x{K&dseGcap3n-Rqww+Z#NlE$R7g z&o(fGf$QGn1btDwXtm~DUMOwp-n0emb#H8!Hg~U|D;0LnJM?U3tPruWZB}&HtfQCH z6SqwHTozQ?&*TZZ`m-{ouhPt_g;fL zrJyE07@f&A*A`!w-)c(7Kj1oR3%(+g3C`4D)M)PQ_w&7G7GuZ78%Ng`N z1&;9rKEJku`nII%uH;?1YSl?~xP_qvHKDEEGZU%8iA^iQCNT;?!;CD=ybs zEIO1vH}hOqpndAtn1F?P;mFk0CLzieFW$6Jdxtsyh|O#i)LB=$n$`qoY74oBrw6Cx zjQLJ5ti72Xd#qtu=F^mS#$4R`?8Vv#RNoyB#yINjf&kVEs;5S zb6rbUtQePi*Yc9!+=F7xUa{<1eQ|JjMfcLB6)PTiBj^J(gOg%owOASCO);20>>4>@ z#JF#ApAd6%!!iP{6}TT}uHg0S_vr2_r-sd{`AQ*sgFbwFyTAObuZlFV{wU8dG*oOX zs6En!A%w@cFd9P)$|AP5D{dIeQ3daJtJ2>JhTpOtd4gdy=5FB*Fh;zp+3(gk-U_bd z%f5p{#`tUD{52sAO|M#A$!A|7URO_TRTo*yF3M~1*#Pl|@8_kxU7O0foCVHx<22^F z9xQ8-@I|@diF1aNSlfCN4CPN$^TuE?`*A&F$zu2O4Vw{*3Z5u44X+~pZhEIw24o>5 z*UTlveQ$ccE32q$Wb}yJhnSD{tmG>LykE+{HlWvKELHnv*v3jRI?hn3iT(l(;oGlC zYpL*UPZ+0e6U%>tDL_;9Tm5K5#`ezY03`PXk_%tjS^k@9O}&;00nY>!WHAyX`*YdF z!L6blZUN!PdZQoJhgWo3Pb{p~V5S*Bu_Bcp`!EW zyAx-LrtB`1Lk=HYhvKI9f=W$xkCIy^B!Q8zUoG6{Xb48NRcdH3He`&v7T(gU6gb76 zUM8ZRrHq(Ty2OzMB&yO!?8J+m*d^J!tQ7^OiCw!bI%xtit%@(yaT%vJ zCG-V?-ILgbiP>!C${Mv9o0(@!SJ`J;im)Jr1za593fWkUPFk!hF!Ss5T31}T9kE$v zO=(s79M*~NYCR(;in0c+Z#gYRcbTHP#=GoT9t@*blG(u07*JDKB59ylT3RW`gR6bLbnweYF ztP2UseoKqE%ih(RJ^YYnw`a2SErr*jW|jH~Uv7wgLmT^fC$dthDtnV;I0hMnL0EMv zGPwAveR=p&{MNARJ&ZHB3`LkmU9ks?H3fq(K2I*6pRxVg^MPuu3ew>7h%4B6DE4`s z%EH&VwImHBKS3!+?^gt>(_%?81qa4Sq1E68iv z+rAu78;U*LX?l|cM$S<2sXTm`4t3_YS@?!8D^=dZTGMNta7aUr8RA=~4uwyYM7h}& zf|St7RMC627W-O!R6=~xA39yS5yiu$S)HCe6mY-ASZt^&5lal7m&v}_Vk|fKmff2d z8GDZM;p9ut>>A}?0wWQ5H=dtLJC{v`AJv`<{NjV)fBMo1+8aQr?;}NJ(cay zdY+_k(J%fa9Ma6q&Fc-gA>lkFe2LccaHn@qUwD5zeyG!Fb{F$_H3})RtfqbjnSA{w zc}eGjcLb~lS*VT8^)x*i+>{e+iznZMQ3Cdu!5HY%Q>a$#O9q#9=u&whXlV+pbx~aM zJ)O1&qZCI;7psb<)odGdQ^UAQwcX80vpb(CE?vUxN91U)He-=&H`AnTkBXf7bZHS< zDi&HsZ1}R*Rcv1<`&h+Jg&v)xGSb0#>;+rlbkwfGH*RcT28)`ndvUKI+Sb#gYkpCc zW8>GJXIE>!AD-Sc+~_rOqVKJr&r)B1?cYbQ{il4d{dHOW@!o&*GcCg6Ro?gZ&yDKD zYk6X*~;R$l*QGteU2nnd7q39$Ap3f86t9R*2>et>!gt_-)%K*%N--*vo3WA0l5NwvBe=3I;^s{5gUc=WXu$iBCuoSC(7Gt)_>2uun5H3^0QbhYK&SGZP z$@9%UuR8BMKaMZLBSdBAL+z?zc6Gd6Gs&)E*{IBcoY=jvDuABX%!y( z8}X=X!sCNxJicVH=g0kMj6EN>z$nr)I4b*O)K@2?9yn+IfHT)Qqnge|WnGE-@=Dag z-lz+`^|BoPeo)*{F1f5DU^TBD$5^~I?pGW#W}Ad&k$KzvsGe67dF#cN#1QK@Eh?T5 z-k(2&XB3`mNiG2)>IeVG+JxmNpu$@rxySowa>1RHuP^-!Ja zC++hq^fMkk%HIdMIcSyXJQ9X9kvby1)l9x|58gHvqhLnB*ktu}m}uDPVDIjOFRFG`-&VT-RyRXK)>3x-h# zU3(F;;gqjsNOm+ATbn7urjO`N#?E9lo1jI|M(Zi$MA>q!Y6YdMUZUqTl0AsojWU2hKNO ze~fftj)9LIwYQm*IY?*a&5+5*t%kpDFB;fw`F(l;3ceG<}dISXDVpix6# z2f7=AXrv2wlFWdJxNZlX2Bcy?a16o~J)dB60d9mna}ei8<^VIXXG;1%*nhnTerZqk zHMn2y_1y>dB6xKF->abKfj|wPlmsjRo(JlItH3bm%aG2=9MGXpUz+IxC7lch;>!d` z4`&c@^a02;xykG5ba62nofgt4!R{ zgS=3F8{l?%HuNUp#xlSMtSGl0-wvwkBHX7!=1b7Wxq$NSf_+K=$^Ydd$Pb@1D}MkGieEU zZs1$saiAC|0}cT10Abj(J`;qx!=00q*E7g#G|Y#Ivl)fqm=?D1#)F z3+V!(?7qjY_4WN?m_7%(PdjkV0ei$%tOmV${oJBlKQ? z9{GofjJ-ec@7xt9tF12r)CGn3^gq8zv~yJm&i0*J(0#pK}w_@rBbKSP0!bUH|fgY-K{pJNo-Lpl1r4sB&I za1pu{7e)N9GK8h^MX3Q9dH~SvP;@+CSOb0-qcP!oO7MN9*(*lUPI;SnJ)}$0xHG|a zcsuGB1vT47wL298u9-1;;U<0cZqH z180C9APW8(f$2a8&;%Z-zA%^-y@ORf@&)jk0X2AGzz!fa1o;H770|&R0l0zb;Magh zcPr98i}{fA6CggEPkI)(1WdgNx=cVjaCZcsv>T9tc?0>RSAc*)e9{7-8ZZq;y#tqk zyCX>_40VhCtU|ujfCkV40YIPL7wLd4!u)U+W58*QH)l~Mc~hX<0$qVrgmnOzSXk~< z=n?>=A4WQE7ZzjeUxM)n_A|>cu7GBup6&x0p+ho#EZRT${S(?c=*>5O)|_+%?HqR& zinzbZ_#napi7<~sTURIXN&Nu#JclvE2z{0G&RU_9wg>a$d(RD`f5*uUWEIaU*cZHSI{3CkZu}uU%*eipV_P6 zhatVYA zjCSdIhO>7(!R#HVuTdzoWeB$yXaJ4?H2|yQSP$rFpyz(*SP}iz@rmh<;}h#){xd-F z=KhM=iS7cQXx}gDk>eBj@#r6-j}w3~Fe(e}8hSgk;5Hjb0myakZ2Kf&_Ks&cB`y&^ z;>Y{lcm3X%2L1_^&5eBLfWHh_42)Thyl;VfkqY{zqz(6e1^z2rmHZA3Ve(61iOjhO z{%}1YM%d3~ofGHTn31A)jzUQQ%d;4NQQ)XF;C= z9s=$KmVs9Sq(gt}W5lNiXf~?`-382pTOw#QaO+Z(6T);;IE>HCg)tWSX#nno+a!Q= zZ<{{ESa=#^AY>f-5M&1bAV7KQ03{u|{;Wn$ft!3y#f%RkeVB&;{fGypxt?G1Njt#* zD-gO2^AYTaL90QrTwonAA3)h&ggqX(6ZTcWBQS?yYst zG`!#=;@(?wQAgVnY)5~CaS!HF;0zE6e<6=xUIK1|*#$q=N3ceKc`bO9?h()qVCr%{ zsSx1d_BLn-5c4RX^oNRyif<5aHq5^V-UkBm_@tUg6Kr>ao`%~KpsX26qM!|rL6>qx zg6&6`EinHIz-x_M0?HP1jy1=aJ+YqIFN5YEVfI4^{~m<_-3dGf97bJ^f$ko|e7vR@ zaX_Ypz|BvgoIpE($t$7X33!0_0RC~bMPMoLB5)FLKZ!XLbi@;U(k$R9;4R=XFc5BY zfk4E01hf^1&F7Q00LOvTKsUa(sdS=q)Ki$_3VpiU6Q1_@&jl4AU!NXk3fy;rHyZR5 zsD3TxC%|$ZUjd)Q`WKi3b18VIfq-=wgMin88oXciy6|2G^Bk025B!b-nx06oy$?R= zi!TEu-R@oR8-a9-*WJ0#S%_*$-%&&thE$ z-BJR&lUFdFuxBR`3UzAfR~9lH}1oF3iD+?+;l7gGIeY^^m@34j-iGxN+@1qI1;V!SNtJ*b z?(c&JJqNk|jInGs?w5t%B-qEOaBkob?ss^Ek2OSDnfOz0{ zz#iZ@un0Qm?}5@}YQ;P7BFHlb*o!oG0n_pBoep5N3;pvRITq>M0Z70Y%rB=guV5YQ zpmQCph;uLp=YaAwel&TL&a!-sbd77Po8?_E;r$c&JV5yc^6(zA705+jehqfExKRJF z8-C#LD9{E_TNnYJqAL$SJ$Qd{z*2*FwpQR>w+w6hy}og3BmDgt;63Pvz($}J=m7G< zIQyAU&b}Z1Uj#M*6H2j;1|*nIfj$5_cqir z5Cr=xpeoRI(91wE`p9Y6KLc)l8T}IA(FxuJJpu&m=9BIRb^-JaWEa}h4=~4;V_gKi z2?XxJS`~O4r~w**Amo?M4b(V&X9fntJ`8Z+9d8L}4d6t5ZUopLFzx|#2BZaa6~-x- z(XJ!??HH8TF_dKk)d9@wfQTxU!wE3J2!sIw5DAEY4QPb_R=nSg!TZgQ$CxYWLc(v? zV4dJbJD_{tkNg5_l)E{*4Oj^{AK~nDH#^2 z33}r;TE{Jcdp>X$2>T=YIw+O)r}Fajf^1v3NB{eCgwoFmCoh z{$r3o60$X-4I}%j-avS|6aNjwUklU$M*+%9J?J@r&aza(j+Ms5tVs_q+`aCDiLV}W zY_P1apV-l z3Fbfc$666M1mwc~Jy70=bqm}lf-XzOdp7~;F9vl0i?5*_L8dXF*uyhPUCQ1i6eI(s zRkY>q+i%34os{pl(q3QelU@5B@4}X8w1$*)&Wh_<_%zG59i+- z^eo2?w)80Zn82HIyDU6(aXi27k{f#e3zO$GWB^bnC>K3FW5D=4zeGvb(sWYtvUgUXA7%&VOgbm zuvtnWzX_YaqpXo1DY;A0N5VF~lCEeMp{=%H7t0A7nG+I#JzPb1p;{}9lNzc=zhn&}S>!WrRvw*#KTLlZR1j zrVi>)8Y|H6fy#<>GckS7YSQA4Bs=I}qOoCJG19nA(m=96!Ms+KZXzQY!WF~IHutNg z?wtj7J1?H&r4ZtsGzc@Qp;szO{rmj(BSR(cy&_9mGWw!Y_c^N+!>;T`XocMn+cnw@ zhSm;GN~xmMLsl|$`3y#%wnH^n>UO6-BDE7YeEg3n^)@m>XR(#2`&(6<+iiWb6dEPA zBck|$C|&gNL;LEH3SH4xL4z*EhVv)nUQpNedg9IIy6^iAu!wmX->}Um+Fl>0D?RbO zyI@QB#r~#qodvJRHP8YuGt*x?i;Ar8v_LMhh>xthJ{*O&@o{c1FnW5=+FQ zk=8~qQaoDr)27FcnCCS8>;B)MDk z`IoAEaqBl7Qex4QQXU<7QJkfN*uWR@giVRjqTBRZr`s1qC++Wy+)n;4GCQ#d6ghfCjQ?=e^M_g#{fl7DGSXQYw=$fA^tPI}g7kKFF#m=`ne z0(23C>6Y$S!npoRm^Ga^A_TcitCgg9Xbw74Mid8|oSpf8P6#;87*b|{KjF=?=Wa4R z(OFmeh%m(65G>q6Bj5^(y^@bBeMFi^MrcHygpP(V1e((s#1JN&R4MxAvwS|K2mSPJ zqEuFhyXumvs#@*I?#%uG<6J~`Cg;ASa#yM&HzqwPjV6zg>%DW4quaBX=l)J?lnN^Q zNE~-i$7PYqLn2f~o*RC?^&BTe?ypss2{*;gr97mD-gF@_c~<9UPfI}*TeoMZkGCk) zPt~9?DpOjgpc+SNFGzfmluGHj)EG+DbVP&X8*C0ND1~y;Nb-YmlT@{cFWm_x7H_Yj zQl^yAYP(x6ZXCOAOi1Z5YhZkIn_OcK&Up12g=3}1=1uYGVaCRGiqFPcDSm`jBTHAj<$KzO)J9zZqz0N;=u zgT#41H4wkgj*Q&?1uNZo5v7o&>72ovwWN_1+tVTNnW~sEVw^Z)03Um;BPL3S8hh@Y zH`RMMse@$L6KwW`PvDx8+1enS597l(cX=*$lzk_~QO=tUEF-Sl)6|iDUM^o$20x#7Ku6JZs-v_vg_QB*vVzT7A*S~_e46<& z!O|{D6|T~|eFlYtGI-HnCP)2Lu^(E5^F))Be$PzDIxx;E;YdAGo5G?$lBW-bpmUXgT=Z!f&L84Yh6gV__;`+lXgibS~BgffkILQo|r@FPA zZ!$3Vd@+1HFGW)X`yTGNhwI>LAL=+~sJf)gWxlK{&kbhnW$3g?%oNrUN2mQlr3eaz zWkptpXK{x#KoMmHJyZD!hS$dokox;QWOjJ6I?kyif$Y)u%Rcv|QUKYLXLjIJ-TaP| zYDrCY7yo+V-4f>u>Y3Z|!8=wsU2FF{jgh*@h#+^v$%si=YVUK4kXrn1X&qm_lm5Xw z4ut%kSdmoUpOPt+zdD9rJCsQm$(9^PiQn0Aj)PAxaVYsL=?gN#WgODTh0|wbPvl>Z zpCbK*j6y#+#&?|S2e(i9+(t?tk}>wyjvt0~P+<=M?!5cn9*w5z?6LqD&eXi#{k{8X`KtH83hUd)J~yw?N`YlV5MIR7*1{G0->s zRI&T=nZ^kzX~8(4mz-SL9+xcIvv}h^(vS}iRhQk#V#`rY<7UP@;w`305JzcWrZ`X# zYu}UW-$hxJZ46I-u6_3yeoB+P_6sTxl+Ol~&x_h7*?T)%`yGuzn5XY;FF+BTq2j7m zc}FnMw)V0D*{2p-Hh~o(B>790+84Ola%jv95EE*uwbs|RAcVJDj@{4>&EZw@h;6#^ zuxiZ%+o2il~q03dyfS`;@ZUH)XZ2FIYD&!Q*I0Hz`|A1(+v$ ze%bDQg!)N2?|oGE+}rNWRcs;N<+3NUJ=$k8M=z&3KpC0lv7JSG!&C3~q_q!^m^U~+=bcYHbK9dIL@YUncaY6Rg(t4v`i;t)B?m0j zc&zQ&S@KOVAOeRxV&UyDtXnu*>bZ(np8^XfT53?YV)+(nv{Hl0bF{$|)$YBYit>Kh zV{XR`kbo%6?Pd4LQ(-W*N8cyUgJEcU_Pxqdj@{02`-Y;<9aQHXS5Z}-$aX@l>9i`-Z@MQ6&!Jhz~kzph+YU|>5e(eq?aNPAg^TpmvTjP2gJ@?CT9 z%E@`{uXm-)a!1VDS|MBkuF~?oJ6OJsZAkV zPUfwGu23aJ6oyJ)T@?(4!@%4V|CK9r(}k;u$D)rJmJ?w%eQ|Y9Xv`#vD`&9|zExVf z;~;0{@$7hck7^3eyX35FGJSeAW|9__jQ-^c5h4pYm%W-R40gp~ye_2knIBNO`@T&m z$E-`;k=`O29wHm|*UglSN*=LP_V8DSS!W)+n%|9eu+-XyH1_SgTD3a(O_yMx zDYd{tGvyHb;;k}i`MtgI^Ta^cX@H)Nv~mU33|dVD+m@ii&&x&KvsXMPgj zM?Z=0>abCsB19#{Fe#LYZUe){C`{E{MelyEmD+ZS>A z4H5syGhwuFA5QwZv!q#6kDGZKc9BcdmNrFn4j&M%3!=0Q*K)KVvzv{G2=a~y$N4gA zMU4>Z9!9Uww7!gN5CY*tYM}y5zVm9Tx*-fsn1}GG3)4(^m#RFkn#=ZvyZB;mJ3i(W z2fIQ*LyAoohwh2t|2M-1Lj%Z;?wSYv*{xp2gaz$2*^Wj%j%mEn~ z{gipIeEG&F_Sc2^`iG@p3LQAd8pimD7(JNPpujyf#zD+nYlQc*!EDde8CV4h0~Swx zVC+Kcq^hQr;O;r;bCPT32B*)gF%Dp9^Q45fS+z#GVI))pgO7x#9Kkx0I}tc#6At-M)9)ib~v7 zB^VqphLmvChBJKa;WkfATT@rE)YS?u^QDp?T$b(jkfg z$LLNpADf56WQ)mauE)g&+5lEwK$R0A?IGsbDCy<4Ox+UQJ!=Q2nCqgZZuuM)o5|m^ z`L0>_@c!=*rkC5KU2USP##GkkTy3)OgUur?O8tA-Q(VkC(@SlO`I?+yhpEOG!U}4Q z`*yUQ)K==GX_Umi=i6$ZYkS5})lg$@xJisk#XtfZS-;i)e#L~raj=Ao=#+tdtJ^ZW%-0rd)zu4}llH2gXwzqD-X#TpwJMWLT#=2V* zReM#R?v{3u+nL?fhQuMY54VluI?NYC&hVaJw@ELOi*%WugWnn*q{S&iL&u=SBQwV@ zd7yA==e&DXbe*}PuI_(QCukFH*GFm&z7{5gYlB$v&D-|go!Re`vP<(u_4_1dV(AIv z{rqUnS~>$=^IFX(d&W5nYn;#46b>peL~8Hn55D|`pmjZPd}^WDwc?F=$N4ux3gc$g z8N;9N8Lh!L>!RwKlls9q8@^lXmCtFE*J$dqo2Ink27t`pxP+?GU~yzkx&E#ax7n(U zH_{|3JkOnN`(KeI2W7#O)D}CT4dWD+RLKc#;dN}5itU)3IR|GqcMk}P+_>M38}CHv zL-H)>3MMfrp5iEua*Zk4UW2dn+s4zGa`Dpw=Y|@wq}1xFDSGFqbzHDmT+sO8QPEY} z_@P)d?5MRQ*y;-2{sPX^3n8D3<1y;3-?+ZOqCOTjGDZm97ROCS!%` zbPd~KS-0>l>v(n5K6O=mjSymu*|PRq+4lvrQtKTRAcTk`t$5eedS$%jtvxS~)=l}+ zx6bjsaCm=^-P6Qpa8g&}8^weZ(#MqAGw9c9p#itsJm|CHHjI<4qC2H|Bv(~p#20eY zyRFtLHM=8NEHPS3#M+~+CAu@h3qfZKg%Ckyi(75QZBmnPUEP+waV3^QfxgRF^rBUh zaL2hsoiz^US~Q|*^6vfb&(Iggto=bQj4H9zx6yZCVGs+ku?mlL;BWPEombVz`+}wI zv+rd0)INU7HrqJ$IezVYHp|_dKHC`X4a@jyfZfAvlZ+X22DtWxr?Sl2@Ylk2FN_R- zo|`$k^^wu7=^4&>2ZMa(`5E&L^7YdY{Mx+L0pV*xlvCY8_HaHb|ANpqHDpNs=}67g zknsE?!ediI`sW{r{Ag;3?m@e7D8J2?x!PZL>!o!hTxk~0Sr72ITB$3%&;pKAInya% z%01yJl%#O-wb^~`Db=>sYT@hLN5xH#wF)ze^%?gB4%hH&=dk1zt)(93-fa|KO!Jgx z_1kaK73~o>(~+G1Wgp9%O~#8q%rKlCUmlyhxV5M%#a3Z##!=G>aZl{K$>mbD9$vrs z;UrhqIpCO--&-Akj+XtAFI@OvLS0{kUkoXQw)I_A71((i7XFvuLt%m;iIlfR8tSizOs{2p8%Pph4{)i1YTin84_K zYgon|+NL*yaqRVA2tNgHMv}Wqb8ze9!!NURReywJYMvC%F zIEd(w=5^N$5es5K^)$yS5M8)zsY>DCdI#w>7)L=~}b^b_# zY_f!<>0%-(HQC4Hg9`&t%I8Qx&zTnKd-7m5MTXn8iJQh@U#9*T29kBl=d-=9N4C$~ z&DXo-W2bPGSrdIxyY2k2#cEGO3$ox|!TB<egXdjWII3SdEs6sRoVDeL^fdr!D65M-~iZa4xt9`&u4% z3yh`i7u*$CiHq3q+R@^4Ylr$ylY^%t^;Y&GVh%3q^??r1SmHe`H@z%V7qeNpdh!h`-Gn1)a;HJRIcB*vgIU?!`Nko0>)XL+p=18 zJLpyfe0=y$##D{+!54rl$_qZ;IkO%@SygIdIO$1B_mKx%&IDY(A}wuEcGf=CNlRL4 zm$YEME74sEz%6j4?h)B^%|gbvn$i)hEN8$Y3tRRCRBEMVN`439>W9c_zW(@>0X^~X zw-#>P$e2NChI__SLQ)p_Gi9^{WLt{)q7*TWH_d6O)Fwh-G427iG+&8^ujd&2&LayZ z!9+g4!MWxo|5jiQ*t2dRXm-rI@wW`OWSG?~iY2>4&beS26_SJwAACnq7m zK?z_)!8VD2sI-OP1*mP4fQZ=607^vL&dWtobn1LaZLtoW=0ppD;tXJ0!P=Q5HWeAE zfUR0BGl8~LEzEeE)@wyDauF5L+G>@2zkL#{o%j3ydw8C3_S$=|z4qGowbovntFX@| z8Su5$Ig7;Z_kz-ud^z{QD-qfuX6gtQU%1iO8ym_;5W0^A-_)zfFOC-eH?0$I@=BpP zBAq41>UXnw+|4c#@8_-$F3ne(@;~Y{U zjo`Pm?D$N2#2k7jM75=coH8rEIb+_j|A$Q+kx}rJ_REp< zFA3RkEcf`BXGU$?NcuWA@cg(jAUB>n*J6R{b2VQqG|toK$2|lqA~5Zqk@WxL&X}`j zWGtt4_lP3;Rg{s%8e{3~O#d{u{~RJo$YOJLB6cmHmRQ+Xgw{Ti{*fC`yNx1vJUL>l zBgd>HB1P2lF?BS_-yvMeUnqz>MO;u*roSeWh+LPsA=V#n6uv`SGX1L_hVnHd)LNM_ z)4$LIjrsFP=$nKZ5jXB=CJrwTp?C;odMPQoKz!8T?=X-gE5$;Xd#=ggulW_^1x)l+ z4?|j6qp)_3<;oKMH&x*5LnQH!2uyx1^i6IYCVH0eeG&ns=a1wV1m1|VWBre=ptIe) z5y$Ml(N{DN_%o)4q@@Kdn81|Yq!1jL8p4emzQ2}xgL^scQ)t$5crO9>AMT6MgfFy; z35X#eA#)IZbwH67t}zB_G(p_NyePSd#HZPvFA9iUU8`()*-W+zt z%pBP%ikUIOJvSnvy8O6tL=d!^KY9c8h*6Dj;{fKK<6idk*&_sAR`h)Oqa!7~C?`dX zX%+t$inSpl9BId8Z2DxOYdwfbpZH(lp#KWXJmFacQ@nV~2qP(_wA@H~;|&1f*s&3y zm?u^&0$N3kWW;L)lYE?TEJc*gj-1ZlvFE6Oi-w8)G!YTqU3^Q8xPbgYl7Ly76$BE&0e3Bx5s0v;!5| z3ss8-ZqhshO?&W0&UbF)B~Eleq>E>@-`(JR@bwGv{5isJ?XDZ?$K8q71pPwEPB$g! z9KTSq=J1V&!|X$JWQlUxe@$l2KgYtt93sm3d@L*sdp75@v9Kq8?^xIquNw=q+K+DJ z?!EvzvVK)0`||CFDPVIx_$9}OH@+KTl8ZK$XS1z=un+q?{tc4y4WFjx6}*ysHoU|I70;nL zwvj%N$uA}8`Bw#Ov&8N%aiy!0?><_ebwu{SC?2A zS~hDuyGMF<6cOOXpeg->j{SG^Y=xEO@eG-#g4p2@b7l7*>RP!vgsTf)T5} z`i50~gAXGisC#D%<@oT=lH47qM>W|iG)Xiji|nNCelFU-W|iEU`~pN zn-C3wWs*V?<>Dr!37>!q%R-7M153y+%LKv}Bf`nETN(r z-b-*q4713_uMsGzEob-~;VaUl^9hZ#Ww7M|*vs%#bL5TCPEh;@Ay(QPexs3w9P0Jg z%K1~i)1F%EZ?!dI$Y}+YIovf;A zEeUBADw**?TsoJK-5|?;5YFKeG<7mfgC}o|#ic+__@}@|T{LC*uuq72(ZNLxMB$3P zZZ&-a!rrPHqmsH|vM^iJK^B;2#dWr~(r}1qCbMq2XcI#u5rPc7`R1@tr+81DhKC#J zt3sX15BVP7T}_>ro#~u5@BdHT2L7vVox`5G9UlI#xFLv;W|d{6Mzv){lk_fuA>u zp)<_?(WRgKbIi%>%9GaV{mBe%nKG24dq;Z#iBFdD@yQq@z?Ufs&pXM%A$ z{3??wDBm6yW}<=d%?h$;-8HCasR@(9WptLToEDcl<@wj&0ONY&UV?4&#J z5KMfY0S0kPDZ@yM3D!^051n?Il$3teU2K>nFH;Gz##sMKIX1QOr4%fzfJYfKtPi7< zPmnsLFePt!mTYo3NnxUAMMp=6;h`;rFyDL8IQm1z^dYqX#4n>Ttu2M<=$I?o!sfpj zq4n}TBuY-@G27mSLucOhy1ZTdsT&jZ{K1o{9u(LQwZFN|FDN_CMGj4x$ zh!1})NO|`<_ex=`tnil(^F6;^;QL_D?XV|*VS43UPDfaN^7_$OS!a;)*mdAY zVKR1q{VT5HB_zQoy~K)<(_t03yD~_52o=%9k~#JPcRQ{_=H(d!+et_JE%mH;+U$Ag zXC3oA{mh_ZI-Vf?EIF2f)6!BEW!-t*)6YudNIz5Vanpf;oD4r-Se(!wB`MUj*>UJj z$xov@eS^Lf{;5m9{2n?|M+&7+8n3jGTxcGRCQPGbHEAsJhdU{GgQ&F6~v9OCKrxnZ@NgHB#9JpNgA|>oKl)S z38%7}C9GyX+i}aK+~9#lu$rZ;CWVDUMENHVY&xr1&T1C19WWLBqZ`JFIn^?eBFum3 zlJQ*7LebIy5vL{-Q0YOJyvW6=B==m(LQnoAEiwF1uJ#0zwWZh5=ah!AaG0bWwj<8% zm^H854hvBJ?s{bqeuM_qB!-n9fB^GFOl{nH$pPS5=81`7H7~N7->{Oe1o@B1`8U_O zBN3_@5xOT00nb+EMFa+-&1otoon)9U3O@?3b(kK1OM>wXj3B7W4Tiuo%4e@*fxuG( z*SWybpIijip9wygMsxVAv33RfU8fR=)2s569+~H6@LEw>$uc}l`RjxGz9actN$3ml=;f7<5 zR4Ifx5^_Qkzf&1;9iPgu>k^{xwfbG}xa_8-5yNdQS#YXc`t{-nRZN7gAOihT0lX1G zQ@Hh|xHF~wt{L`t`Mrs~*0H!rw%n(cfhwRCyS#rQwwIpVtflnr)(pz-Lfk{%$xC zhWyD3jwoY}UPEi5SkqLj$K<12l;235n}M%LQAt0Hx9~L`y3+7n?hf=NA=1o5yAw0X zUP3?Gp>$jWLn-AyNHmxoj5!cr@eI)C*Hik*#Em)_)Q^QjfJ1LpxhEo!={Vz3?ztv` z-GH+Bnnd7P4q1!kJ>%3CN)4G>Y2?yiLvE_XcJAjp;@te!-L__k@RHyakPq5$50tG z*-Ptm5Hc`23$v76k^X0Qf%W3_*W3l}7jqMQ4>rBE!MCB6vwXUtMko^nHle_Bg~?N3 zm+PL7iJ@v}s>)1&=GX;s@-8tU#{P}#Trh>LY|aqrY~ z1O<3_#HF8c|Ka+$=O-%_BfhH1gI#G>G=6&n`8n5c%33}A@SpPDP&DlQ5&6XbjudVJ z1oDypI|h^c-^l)>GobV`y$&V^_!p=4O(grF%d}0!Iv2QhrdLi*zC;_QN^L5!Gufp- z62>KGzvRz_6{fK(b2JP5_0I9~54~11ip`co$((Opwavoh?{U>u>nE!g8D6RzD9F*@ z7UwdQ{9CEsK3;w+Sh2yfnkipX6TyaVt<%~cA2n+^pBH|=BiP^9Tw}?5;qS)JHrJ+e z>y0}%e8xN1K16m(*&`%GN+fBcNQ zWMR7ADQV>zIcFQnE;N(vvw)nCIPK~~1P1_Z5Gz8kB*RfgcM+e=~YtE5J`l0^{scbkDl)Ll|mobizF4g&( zOMk{m(p}7DXu08E`fxA(EuY#PA%lEn7ci4NL8wpf{$wbhR$zYUAsH@79(TRLDDo`F zr?G9fh6uKNF{Z!nLkqa)ZB{D(5lnX^@Fdoq+?xfU`8b6=v?92(lM!{YeYZ;}$KU?AOP_jZ9UU>z$NJt-mlqe3{LLtZ z=vF$)#~FpaX9rML4{=XM%wtNw6i`0v6Fw6Q_?L*NbVnrrLx`|hjP~ik_XT1~-7y{e zMr+#rvr85C#PYQV+@I~xU$=?N`MPRuhVyxsna3>Yk*p<>wfC>i;(s0_>E0csHhIAg&7JsW5mHWU)`#Dhf6}B~G-UlBk|l*T1pPZbW{C3= z^83DJT(DV(O>4V<#Dw2jmk!}-G_@vj$eKYCo2F4kSZ5Bos+Mlf(6UAC{x3=l!BvO6 z7J+gs0STa6pU_f6vz>K{Ow0cH*7-w{L@T{J@!;4<4!xM$Vc7ioY{hEgvEuefXPCcR#A|y;dCXO zEBNmT*!}Grdwc4{O$@eOre^VE3|`G9`kw1S8s=%UpZS&42>zuDW?j8ve=iN9NhOFvozsScBVo; zf7CvK>JR#f&He+O{XA{?Ry%xKd-Okw;oFMg4;)Q;ZTDp@C*SfElWU>6zj9=EIxdHb z^+R{%pWXc|sQK8Hoos!G+4tK9@zz>Qd}Z+@-H{_lI^HXxD@@#kX?RLS+_3#IJZRN0 zn-J0=rRsbShs=0_3;I!weLj_N?dWmGU=kPj9kCirOL9Es7d^|-$iQ6A=|@S3L1k5e zgPZbF9CO@4IhH$)W;!lU5bJ-qBk#Dg(sx-1G|@rR@cIvXP=O#rYf_I3#r%u|Ikmw zBqZ#JWzb({m@8(68FQpt*g2V&j%tmZ5H29ks?yJCIo3Wn=+DKGqwm-2ri5uS8^y28Is zg4U8N%91NFB_t_KY;mL$@oRrcXaC)OycpukuOT3i%m3jDH)%&K9tLVsIjU5SoiIBh zB$Bg-aP!RhM_4G}hSE)!bNPK-nrwPf!RM09kNG_3oBxwb@s{J*i&waSve|fE>5!jh zv%^>k%TO4$M@}i5hq?f1Lw&RgfU*Pxn_7%bdyM%bWR#%(&fBnx!T;)vE1a~|+h+Oh zwTkhFyr*rGG?|+sK}v}E?K)-Z66Htw;4Vc4pF&7LE4ldzS|ug-aFJZX&nFT1 zpG5w@A&GegoaJ>S@RZL7zH-KIUBFLF@j*uN1hsFA_{RfGM-*kwt&FTM+PSX2sN9F2 zb){Zcwv~ewQ{@0DVTc8AVFgKf`A3O{pnjXN(bkEx>v zly_vBgAV?$B%e8^mhM;nB>QN_JR389;;K0bPjeIdV(B*|TWi<99?!fUAl!QoC6vYK z8YPh#{A7W2rW==bC43MGbX;%^KEqA=F_!*7Qc(<358Q@h76wQluc~ME2Xsj!47{oC zD7lNbLwtB&A-{x|lK;sE1(~__{-DV!N@3+;ViS(+?Q9mq1#!}}jT?+q$x3f)Ff-+;=793$W|fNZH_qQML#4oRGj;q<(IzpO zj**o-euXx)%cyW)N@a1+n>o~t?*~tfm%qp;lLufoB-hb=D&Y*V8|oRf_73t3ND!BS zg$@^Uevm7%em{7c4*i4h3?qMm&=4_Mshl$q$!rVY6G(F0DE)R27CCY5ytE*YupS?@ zk0U}F`HY|W83TA^P990~k9*R0lJrp|;5_S+5IZ*5>)aMB*MvTm|JZ%ySA%hkIUqU# zCcASJ7}NoSS25GU?;$jhaq^GBU&hH!srBF>`n9TnwnyK4%x7B#A4t$Q?;C8}H+bIX zK6BLjY&XGgI3ERKTLui-nM-(*zyq_-K%Ii zXtY_Lv~Rfon9nYsnC|{Kk^IDc{t`(FJ!tiyb@L$Hkz6EU31n7$^k_!!=LcrFb*R1c}7C6RuVpQOe<4zH$0B^^bzM0GVehz z_(MNNFWCp1;~U8|RlaOXK|m|buOnrcX+yA>e~o;4_-9X{_$>oBiU!MN{My0hHG^EJ zbiFZ-d0!f?_73;D2N+BiC;M`_!kiovI;dz@v`l5{1H&oF{;BnW&cmQfXxAQwInL1S z45gen*nLTBQ&C4xY8_u{u@>f^5!Ex{-(yq*UyN)J9VVF2^}x$Sy$DVwI6pp+Kt1?) zuR-$6j~g<_N*8y5iApLT`01d6o_5g)oBR!Ue|9~`RBOQJhZ^)n( z`pCaj=Vey8sNW=9wav=qCV7l9a*;VJH}_-LufmQx8lp=?EhF&-xwsT-?_#Pj4U13v{i zqZ_4;?;`bH?Xzub+u?!pK0R%?x@@y#JLliuwiTyIzJo*~2efd|v5*f)%lpX#ZE+AQ zt$^$ipYeEoivQe`GEP^|7rJG?y7097i20PnKzJ>*5l!RiV&5n=h5)~auxmOUr7QVq zx-zO$WixZWwzgT*tIK8OF{T`r*O3IuKM!#8Fs!&DRZgHPXM%G3fcs>q%8}cD^diq4 zPY}}mb)cnfRu_Y_#&jv3Ji=Aub&$Wf-J+lm@$U^pf1$wJMcCViZzA&tU^N5Nr4j1i z+}3$V1kA-rfzW8s{gi*!W&O*5#0wV|!cV!ZNeloMRXVl>7kEr@*h-R{Kd8|K@=5j|1@NQX{2JQpTpEYIL*-YBi5u!}*zuFCM`A zs;?3LSYI8;|9D*Zo`78k0FbYv__YMQ?F|14NmE1u{2KCENIsoS0q(o`)`9_!aW;&z zzBG{EFwWlU%70B{S3^6R|1K2jxCP?uci9zV;{&{L`+7m$5qsU;Cg8)118B!uX-FOZ z)k&+L9jNub9k1Fo9YJsmzgP_69Hy*5Y_hnF4bjk7Cex@X6%h}QIqp;z3o9R_Y!;W@ z;j%t85Z>;BqRIJBmv#OC6lKEtm6J5k$P`F&bEsU)GbS5$AV!NZ1H$=_oe zAy0G_9qPubNG+D%VS|MOvt@mg=}@<0i|iB)&3s{VT2M&f@gFd~*QWnyApw95}e}3N}fiN8PHtiU2m}NQ2fr^ZJ zNtb9w1Fpi<_kpJ-OId|#Y0ZGpPjeXMqygwRm=9==+mf^CRFN8jp!O~Bj)UlMJs40gXm=WeE zlNCr5s-{A-Bf;#@$rND@&by*C!LUko-@6NYS0fkrEL&CszQSb1cj-*8Tua$1Gc-gI zgZ@?P{Tmw45S?F#Tua9LVpQelzMb+%U7S4kH&pUnSB)PP@&bF;^D#sGd9e>}0 z=eLTA({^4LG9QU6#O+yU{|FQeAl3y?SNWaU2N;X}!nHxN#6CG!?>KH)gPz&Fyo zRQnLDl7HWB!H6H{yyCj}ZNIHO9EP)jI!l>p93{^ZqkYo<)sNOe(}Y}0GgqDW!Lm?< zzTef|Dr$mgT=$wuS~-WCkg<>osXK5GP4ivdWrrfjpr%92A)TS7)brD}btxVFBmbT- zqd{fqoA$Tu$6EWjT~Tk_EQb7Zu44!L;djaMhtTyHoNb@=KYK8A5N>_i_Vqve`)7~f zNzt~w__A4ELx(^13DVB{yUpTbKjk{s(*HsO2|B-X*?U~t?fvyEzk^gA4Lyga!jnbH zhW_-w_wQsZaav`4Ka~HgeQ;Anof}$YeUl$1NiD?=ZsSuv#h*OaZ0ldXJ~R{tQ!2u$ z54>=zTeDH|nt1}{qsi7(Yc#V`wP_fM+DlnRgiEv7LAl-%JmRYATlseQ9mj%jh?XjN5B2HXP&`)2AhN8uPjXOm9* zgh_sk(l!39Q5p3*@8+z2bUNDG*68%kyvYNyIQ(|Cy zVo-bHgqB3PEpcK^Vz4Q3($^Dan3IfIu;dBNNStC!d(~)uH6!s6Q{tl`@DHQ_sin9u zhufsSDi|N7&*(Rcjb<$**Mz;4_VIp@-_hja!}@iNcT!cWr8*04k%?b>%fBYrXNy`~ z6YM+fGp~>&w2aQeYBpA7o0~F%ebQ8ph@`29QVLbFuhmSc#kD^UPO)@0O4FG);~*Jz z?~t}h-s;l&^&4%n6m~%Z)A61wJ)nR3;$Ert~DcW``m67-6 z!n~cahZ9wKUM*kX(z7VJLg)j$xW86ZGEz2)cue6%{k4Jk?0AIY>HeCjZ|K0R7Lo2SgwKpN|@t95PXgV+encAgpd<+ps(#f-&N6hA5w;h9~Ef) znEbYV>Vb0!{7*vKmc9&&ODB>oeTT#5|4cqi!~{8l4p!T~QI(CfPFuhSkk;llF4VTt zy0(HwX5kwCBT}Az`E_K~Xp+t);eYW8+%Vz)Mk3T-1P~=T6;%mmMoF?GR-Ps(7G4ZV z)aA%p+9J82Mn;$8&%Z-b%YE*3G`QE+^y)rNvPsP0T5}X6c>GO5DU|QW~Qp=Z;38Y zMtz~4|9MPFpDsUMoj(T(4V*7unxW!#)Bg8{wK~!IW$K>>JY>kN8 z#BTY-pZ}k}rgvm!=~i>+Ph@ST(x30EGCP{gvNW^N9M{O8ETqMYVw$xfJ2$Zl8V*~R z^hI@o2Q7pSYeruv*J5$;yM@qi`?yXL`a22X$~&1$l_`CK2_QCj92^p^6&w;0xULU- z8x=z-RCqj>^kMk#(V)M&GO(a4*3O+kF5_9_`r0i~IJ5BY5uD8leKB$98`uib$en@f z&s#_n#?0>9DblC9Pv0@IeaF;&hXPvyXY8PviK>eNFGmuqVR<;__2>&B1ar@#0Cikcp=(!3FWshHo1gRT5=C z0l`525!8#=(&qSiSceS-j^;$BpkrtplMG2r@-pi7614<FF$ztVAu>SI_G69yu>6 zxktp|zJv}g$db6Bk(Do(w=lGgp}Itp1j?|4kz`PY6`kpKv7}QvvAZowQ(+c&8AP*$ z=-Ev2b5zdIWzcPwfNXtaAR^r4t^~OsolEcY!s0uzy{m)6&}B%OLWV@q|bm`+J1Z=BBZ7YYR==U{@i^rvn6hBCktK#|+Aike}&6 z6&V0z(`DQ&<y~YqZ@5wqQQ`*+cC4^FR0r%N0BZ=&g5iI%k z0YJEqk&z^H07UG45RtsomA;E)&lOW%hDY2V*@AI5DhTU6N^AFE_i{RfPM7ny%kKWZ z%4}XIUpKTr0GtP9lHEj-7jvHdrVVxfkPvH*S?#j`LXUWX5mT~HZa4~;j-R_Yztb^7 zs`p7mN(>Ql!FS9PLIq8CIywj@`aIi3L$OgKV4@+WC8#3YsL}*f9Y*&aTEr;-bQ#yW zFf{fSjM=pCuU*Ch*CJ)YZ_Drov-=`?cn1xGCiF85m+7=dL7rOW*lA%b7tlddCJ`Nx zg|~8rdYVKcqcLb{?RA@yxGTxO-wfe$p>^^1r651O8ulcHgfO&gT#ClnguocJQXwG zv`wY>>m-Xl^=|S?8k4c%6(;$&v|$4y`6F$}JF7kGBz$3s)JL9}<^G0~X9UT&Fi4>? z!|6#scvt(4lbhg9QgYcX#&D-lvx<^W-M50&!l(qmeF14Ks2qz`3i*{|u}U>f*$b## zn$56ery2a0zQ>eKp$y+9SpVS+e~DVu22s5ze7{WZbF*|J$j982U+v0Y0UvbE6qzoO zffrxE!mC{2d6ZM^g25=2B}+?7GGLYIq71mL)=v%1H*}9mIyR=@aA7lR$(ktRImHum#F!J6-y*iwaq?FWd>;g7$5aGWFo1HYoVZ zTrkbke|s;37Dr?j-_DU zB8xX(bC4(~L;fb4Ok_#Xg1ZJ>4||8&yOxodD6A&Q<&f$0F3Q%%+B2yZnmj@6e2+|+e|3Vd z9fUjIVmi;n%y)7uDJhYbfMppz^fIj>yuZlD%e4F7g?hH|Rn}1~Ys!@2=4BB}5z7`> zASO{dA5oDHV@#42CMi-=GmdyKOixK)FngT6f0R@+{Ao(^8!WgwG0lC(1#fvrie=Iy z7HKk#02z|XQqtd$q@BdQBInWJTZHG{3-+zkDx6I_(4-AX@+G(Xla4xWm0RnYPxE)G zTg9kE_c-dR4_9Hf);6Ewf2!^~P~7*-T0<~ro$5?UvLrd`wVH|z$7Fbi8XKOnt?^cW z=Xr13g%a1~`1a&T?KYX#%h}JPwA$v7q`}NBFmgNYDuw-%RpitxbTlQ&8j_N+Z2;L! zYAW_usn4~u?7mQ@^ix+zLs1e7uEA?1&PzXB3MmF2ush_#54?(JFs1)?CGT?OpB^p! zC*rAywUOKpOM@86GFN`NOg{J@@awq1ucIdw$t5I-b2URuODQVfEbG7>`W6|RznYOJ zoH*`7b-d!D@=IkMnDQwqLneyA)zDwSO4tyf_?ON0Zb~^Pi+4xN79=}Qc`ggv;n8^6*_TF$N zc_uO5o&h^eam2e!M}@2OMHfbsosopQ$bi~MaHSqhCbqdPw6rO0#ol~eD|Iy$Yc-iw z>oeChUdj*$6?sv`pN6mb`z3UrbzaMt-uoz*7MFZi_?myj#CZKjUxJ44dY3I-BAMn2 zDO(yDRG8^lVV#YX(D6&7>IBFvraMoTR>)=OY za!Hh0M0xcxl0S_)Uy_xUj8btj`4@k!SCag%ll)okL?R^WSUXxTbLPrAibk;>R_9+* zPx3NNlIXmtXtTp;y!EUoIxeqxMI^`REXJ>c{rTrF?Vk>B;!^(O9;_{0KG7!>nooo? z&7TC_9>;dE3xfOG(l0@pN!C~lrKUa6oL|#EZI@pa+=DUpKaTmY;1^zMw@9&w8|xMP zR)Uc8ZV{2KPu+~VghnR(-Y@#X>ZdPpm5tu5BECvUC|x+iwA{-i^7_EXCXyI&x=FhQ z`{uN)yo_ZMV5scxoW=RK7~e9c)fvI@y0Drck!gun*`#svep41b2KguKmOAXZ?<} zV-n6GvM?b5ELp%alRcYMS!HTI*UOc-^Mr@chZ!tz3ujFoFGwKUQ7sx`K;Gup-hQX$xXFR9J8;td0($}UvIn$ z7g{%PQ`&8mS~o8I0?j?ryr!22i{ec?+sls&=WXQ&z4fNJ_R0o6wU;E8mKT+qD!;(#GuabHN{-wY z#hJLK7e2jmDU%K!*LqD1<<&2?R`=R3(JF?T*dw-9^*VcL>z{kMko!7H^yjw$v`1_Q_nG2#aHc zP9!$GqrkTFxP`g#$KH#7?1f2|W{-FzDO6k$drN{vm1A1%leiPMtnIpD!44jKn7D(T-iIfBLWTTFYa?e z(YnpM-icY2Qqkx|NH-xLDBG47+-}Y25_Xhfd^B*oQ09GQDc7CsX zmTL@weB)^ItX|}KM#zJ8(Gd8pAfv>G)V|*(oZ~4&Y}+qo#44;$^lCJa*V9d(M5|L+ z=f7z_x>tVcPIMdVp54M9ABER2QfKWWy{Kp|D?(?V``+}N$X@G|-ZaOpR*CZqnvdum zid+-ktN)Hg-~HN^%QAE2@OwrqMuhLHp0isGOEg2vUn`q*v{>F{W5qQRYRguCt8Z_3 zn5=Vs3oGUWNd-a-$>e?yWo3Kw@oGWEU49$^llwI>e!Z1>aKP+K08l?1a;^5!&$wf~ z*TV(cLuH#JX&W{h3)jkj{LwOJGuh+k{g{@vL@)lag=H|QJc@C88=vF~H-aix>3@X! zq5ms?>fyXqS&!7DJnim}{LP+r3)2$G)I^SJPl>L2-_b6er%s8gt8ZlVm6Y;oPkYMK z$WVEu@^FomtJu5CB#&w8xZ_iqwlh7(^A3}Rh7EU%=n3QbJj~w{UAXat^Rf0{J?bFe3_Lv$ zNEN4rHb)5>4z28vdZ3fg)ax>YSU z)@;1e`Tc0=Ef>|+)MGh%i!1<6KNl4J=qLO~JzRh~Wu7kOsf;l`TCF|La#(Xt5nQDE zBb{}d8+PI$ScXW9-bKd$Tb}Wsf$^Vzvqt0v`Ox7eF1YF~!IVfk8d|Vm|5@$ZJth&u zJ!VRJ42#^2KlfbxOHY^Ifjwx~pGV~fer{o(Xk{!Qob1iM0vr_m~W7ba_JA;B~GsFJ}^GM%ZWfbP!QV5MJ}}^8<#T;M?%#s)GDK8 zf%7qn$~OC%+@zY}|4>nxg1fG;H!`taYL;va0MplxR_l7)L)o-2+O*QIe89Bq5!1q_ z?ZvL-f4LscukZi);jD(>-7!z~n6#991I0f{`jHI_Ax+8G-7y_<;b;Yqhos?=!v3lY z24HjADDAW!@U;jx@tW2eCc-s3WthuI#?$)mohX=saX!vk)f$vpe9!K(jF*)!R>Ze z$5yJ1?l~_(pl4J+7!Fkw^znOgS--jPBRHK}8k-Y36`vi;@EIX@df}Yg@iGpZ^YnXu zJ{~l=?Z(CC`xh~k!fWYoCo4oF#{L5$(4C9Xz05Lrg4GM4dlHPF1D(H zj&4xI^j_R4;!-7%NFNnTN|;GSEuK4JacJ+{cmEdSyeQ8LZD)g8*g#;oNHCPrNZKfI ze&?@0Fqsgr;YVDVEj>p{j5&q$liJz9{Yj2vY}4nn9S#^-*#G12zN*|PX>SXI58paE zR~Enpa^md88|vw_!nHWBTjp-o-^3$Syn__-q7N25zLk8&9K5(QaG8j!hzpb79Extp zYukGf&9w6*MtbrdQfj*ea&qEXp1*Vf8AvISEp1`W8oIt(e&7eSEJ(ii2jgO4Zkny& z-r{!%7oMS&s?)_;bd2@lPT4Y1mJ&rx<&Gqy-{RdHS;&4@3iuN}Dx0@R!>KtkQdf3-rjCvL_qpwJOR4RP) zQ`B+xsT%g_A{GW!xMFqebQ^TCdr5o-&6G$B3uhSx_eiJOYLBfcxtO74ID3ZH3*Gv- zmaEbFb%|Q(!W{~}iDXHC^J3?_8A~3?NP4Lrh;lb(KW z`FZ`_D{*1^o2Q_&LU&cO(U@dPpK-bSdw%Dre#XBsXB1q5A$!M*5DIf?OSN*R9P#Lq zZKEAn+1c??=7LKY<*V}JPOiK(cW+B0BU$J&S!R^sp5#ml%YZzVHohY8xmXbwR# zDvfhdOAlx)nT~A2 zdGzA8Jd9l%D0aq)|p2q|K!S!b+m~{@5Y=h z%tIpXJen)qidnn#q;N-|S$YxL-x&vMe5KKr6&$nWfa=L4)L_4_#-yFLIofDESy5hL z{+Wns7=1-S*jB4-x&uoY$`*52qA^3?=U z?N+LyE+L*{=FW3eRo$ZCM5WVVJMxUftY~Vm)GVP0iplVAj}b`L*`Dqm5z`_PgSr|K zJHvcPYCI_GHm>OI(^ef+bk|o^pY3+w3RzuK(}yj~#5gQ+Q)~-4n@9xTR?$Jeu@*~E z^aq=};RCZlp@A3jI)(pJWX)?iCms5Y?NC+|GVem6bv}f|Kbj8t6Sr`itXNkFDSt#A zEpaqt%Qc5m;OcE_C!q11kQTQz1R6isbc6-y2CSwm=b4CiVdOF==qnh0E#+9_%Vgzvi^06{u1@)^k-JT`>cbTMs zNxBco{abv-Pm+8i?44G-`Bf`Dw})Tdo%8!{$0su5#;OAbTQHR?7h4Q@*$oa`7S*&} zb~KYV1QnZ3dpDTV^aRN=V&a!2eK{l>j$qx!frQ{JDfeVIf%tcSLhpMwGF{)@keMM4 zHB6Y2ahfF9A1ogZc1!|}yYnq!Ir@?&FY2OAj^2Mc; z+=@=3am^ipctSx+3X-`MRSQWtPWp0CHc25=loXgEO-^tUP9 z*nbFJPO0d&D!PFMPB_tp2zhmk=@coyHn`-t!VMvIWn?Uk|0Q2QcdgVKKysQHnBa#l z$1O_8R}d~|Oaen{gE^JL-5)*qV_X+Vxh6bP5GN`juf3V3`crUJWcIJ7x~<0Vx7P0P z_NpGeu+U~kJ&-`Y^+Js>e#-L*e5waNRR}y_#?<^C!8D1qlU?95nNpOyFJKpsyX$7@ zwnWZ^EYpc9r?$Y;G6jOUVQoQ45tUS@w&PYvCX_RRW*Psng6qhLUM#I+?gj7|5J_XCvr3)~b%R8>y~1;K!@Seb&w+@r?FdyL<= zZ}L|BWwTMSwlk%BWV8I=_e0KOea3biJON5R>4IY`I-jv7l4_|R?;ftE>EuX7`Wq|; z%?i#Bgq3@D`9UrxT)81*j0?q~00``V_3&5yfWKHC%u=i%kS!{o#27IIs!XRyrE8^{ zSlTmGg^?@utOLY>m+2H?Tbz`eq;StZBt@JQD;bs~e8x-NR<=YJIgyk#T}zm;I8Ho0 z9nmSI&qXfQsQkGg4P42XnB=(>KnoY^#L{%X3+)yM=L_>be&%^>BXR;Sa9%~pRFN>+ z3cPCS$5**croA}ts_eB3_A;fLAjS23)=;@Z`>#yQ^^B93Fis>uzcLX&wTTE;Qy1_6 z1VVMi(3o(7N$t|qBm!9QGx@i0vv%FbEKITE*6lUA_)t$+>%^RLZCczpPRpwArpQ|;8Hf!gR+aH#O3^OlNKij zp>X?m_X(yzZsP)Ge){h31++R(H8RAMCgo)3e*nzN6Vy8RT9)U*c7R~3)pE0I1Z;Td z3ze}SzrP?i4arjSUjD)3DJie#1Zk3tsnWEZ*=d?tX-hsdBs0lRP zygBL0^nx5?)!LUnV8gChcD@`E~}G z0+8(e2gz&(*pGH(yCMvXgp; z&51U^LoF$08Ji532o!bfx8FCdkY%qn+9GJkvb+DGI9)vePvQ15>Qr?x>b404Zu(!NpC+7Rd&WixR!K4A(63^)t|hYGw=H%Ii=H6&`)K&$ab`#lmbaw zi?-4C4avv}e;hvNe{ZqeD%(0Ittu$ZvUb}*k-+|SUfI95V6;tKB`&Pj+LCEQytuIN zhoWSL5V3llWO?!H65>w_W!H|cI<&TC0oA^Mu5!FuRr_lD0;XnxXi+f{@ai`@^_fnj z(oOYGpZPs`Ca&6rF_ZBj;bKYzRAx&zGH`_m&rjUMs0o^-8vtJxAu)s0YVYr}(mBcU zg*sM>albG}>-D`kCp&Fz8O|nUgwgw7vUT|Hcz#V&hwR7~?dM1X?vLUscKAN^8(4XI3HU&&8@O&X{-2qvv$8v{p8PNJC%od^m0f7F>La8-ao`6 zZGDv2s!7}we4UOu_nLL^e9vU6a0I5FBR~EcRYxNnC^IvHxA?&w3NG_ zpQ`58qYR<5v!|7$vpcunC(_`0GW8X#D$^5NhXR$CLCJ;U>##~M^~yPVzDG{W|0Jo` zp66PnrW_w=I!#Kle<)BD8}PgjH<5gwCdYsutuKv_CLtZ?ot^jY$~6URw!D`Iz&c&d zGv{9_3v$ntwcnN89yUaK=F0Cv%&K-p##aj6N&nKPT}2Z(?qytR$C0w!${#x`%nh~G zm>am)a|5@ay4yTg#kNoI%g(-)-ARhfRY|O$obNWs;EMR` zy-de>mn~epZ9R10)pz(-7Tz|X`mX+o52?es3d5m(z9U!LDtW`l_u#P)&o?#Q`tJQ0 zM^ljF=-OR^7kvpeakccggf^a+6~3V`JSokE92+msxE)`xM;dm{hqmCj7v1AUAq^Jd z9xsNvCOdjfaoh_%&v<@pab`;|lXVlG$G42_VL&gGAqt(ss9^DY5Q5M{r)9AB$ipen z?DDrr8VI}7O5%2c=Cm~cN~*D!ymhd z?;gX)P|q<&6>A8X?8ffZuXKOZ?EV?MO7abyV;Cp7F+%r*&C{G5O4Fh}w(R@|zMDk8 zgpJ?TJ)&_0ZF@HQpoKVCT}blQF#-y~B~_G%j#-iBpp?lcb$7r6sjxzii54uxWuHc~ySIq=e#x(85j= zT!x7FX9$sx!8I46(!+4E@J)KUl!X5jm^jhuFqd}i<;-p=ETlbz$=X8zqQI(?{_Wy3A z&>v}3d0kAa_>5JN@e6H1J69ey6O}D;&e==!H;ph%&m!iQEk9XP6AP3}OJlK>YCXMFhe0{t*U4pfsQLq$D?nDkn;hs?ATwIF_c)0d`3KakNXviB2ZcFEzY z_x!uO8~y5X&~-#`51O4FRGV`u{qxIUSG}l9vXgG5w>EO~`F999tfsXL*3-hwye@He zvk`B=q!l~(O(YJ)E^m-8xZUN|N<1UhGtlpIY;q$h8vTb~a}GTVA|_Up|~`> zxwd7pl(f`Y()&DJ>=gNqXZ#H^I6O$ZhgJv zBYh9`_*LAL@Y4^+)vM*}DGZVw57p*F^34fHQc?vFZvydSkSQ{w;zBwz!;#Dwf$)*t6qQ1MAdJ6_)Kr=UrFMjk9EWN%)8# zCe+=Vp+4bXy!k&|Abe@BCV9_o*Iqu$1@334SXn*WC9Fnl#Y9TBi*zBn*L z+TuV8rY$ong61Zah-Mpuf@s^WuTqPC%^eB{vt1sA=-M{lF}A^^7&M~?#TO8fhw?^H zHnS)*ZJpBAQk?%ecLufH|L5Ze=X>wD=bZaK_ulhhci#X-xI#1Or6n$b6(=0gNhf|; z#UUl)Db|JXBeZ0p*t!sS0$xfaBCGvgI9x7MU)?!n91On(yPADMI~xrMU^_&2B*=3I z_`Sj--BHAq_v7xj!Oys)qUvT?tf`k-{K2}oD>I}?zPkdJiT+@n0X2?=cg_G*+f7xd zCoGohM(s1erE#1oVHCSpf-&%uH!(6Hyo`CsKhA)5E{qzm3W4=9d-Y8#C)P1h@xy%i znUUZCaIW^mP3`Y)qERN`Ag`Y(lvo`iE45PxoW*Cnx)VkCKM_H=h))kh#=@=h&s$b& z{(43oYtN8y_86?g<5&lK%vNIoB(Gr^(4Dw{!R(`4bas|p6vn}+5hmkIaz^vgnRp4P zFhDG5lL@pz#O#EySQzG-?Puo1nhsD8fN3}Y9YWwpJb|2<6xIwC63mR90Y>=u;tw2;w1|T zKve1XC{c1NEPru#tQ zA&zU%K*xc72k44s&1W{xmw-^^M!9Dm<9v)|IJ1;9%d|$Q@}X$5pP~sn^GLos{ERU5 zOai3{`Z*(*feVF*i}34~fT_G(J#2ME$j%Fa4UL-Y`z6#j#BN$X;LIbXZuX2Y-dA4! zZx2AiT9$2+z*X1&eZ)%P#AhBk>}JjgvN1T2J^*m!AqG|df4xq&Q?UOG8SIa^uMY_~ zhrIm2;S0vEmGf(0)Nu5$v|Akw8gdSSan1KCp3#2yw&OaAW@KpkX7{Bb;p-v2cvyKE zmoD-?=5W4tjET3-;nGYRlZneRMLXK4;oIMjP#It5k}$b7=Kp z_rQ>F+Q%ET)jrIiZRLoNSH#oG>=ToP6uxO_b)&m&Naz@=%THkSN~U985^UVF1n}>| zPJU9ZUXh=;E+5Xw?GMJR$Ul@#9;C&O3~}~s_h&=G=THkA4M6YzFvkFc7A33V46p3(i`o)<3IxZfK=cFVj3bq@RR;w3@9$`UmmP!X(&Ga9spBC3`C4;G`qr zXf92TAx_jF^5$vp!@P=n8Bl#IOhdOYaL4x~*akwNMN@ua=GOMLOXV@9d{rDnS|~f2 zLyw$y|8Yoo>Q427uzGad*b`N{p*kdW>h8}N`7-iDf3*gs2^msXJ@ z6z-8B_u?U8>Coy4!^#BE;JF+?Mlk~dVl|^#o@UVyx54`tJkkv5L!A(@0&xfnhPoCE zRg#a2$x{0L_F$KBh%CY1WHC+o{ZQBMhwSRBwZ%?C=F_CV4|c^55hDenf9)Huz6Ot_ zIjTq@W~eJ}$VqC8Nj!xu8tj@eL}pP~`WK|s*OaUZ>=|QrCRy7Fb{`2nfLqhnS`PG0q&bZy7BMjqQK*vTl z1B#903Cu`3=&5N6bO_J@ThFxmzi)6dCQqPe2)B}H#a$<;yr>R|LM z*~A204PgVy^I0m>sp1lBJwybX3yf>%fsZ{ zQfq+NqSb8R^kyzh++yCv1vt2dd+pJO)mqJQZiS_OLFS3lVSl+2yvym-=N9NwS>{|+ ze%P@3+}3uh9rUfg&7a}F`;TGzJ*uhfI9uwQ%+7fxOl;COfmvsM@=I@O2^2#4-q@1)czd!7|QbHO{WZm=xM? zJw>s0Xh0n<*C1Pf-6Gt)RNU~0q>1*#VlZEiJm${^izX$)gbv{1{Xol8^XEZzL}0&F z6u{*b7IEq@E~b9kp-V56#*`i|D%I>O+Y7FULB}l{M?tx`#$N=NxQ-MNTd3C8FXQG% z=NI~^m)Elr_O)*&(LrkSi;jIkXVD!l6b}ZeBQ&V@3kd#-{SqBn!%ze!(di(YxKlen z+D6OE(IqyHRZ!8EfR~QE>&R*dvTEZ4Y@&(yKSV(!3y_awu$epfcBMSoZ`Fbnj7et} zl?99WEd#DC1L_7f*@CqEF6zij*jk#023_%k`XKkLLGHj@VfG+yJ>Xm_lr&>D4rD%d z5YAhlbtfBPo8+3&u zJvGpqDTLjjchF0Z4?${6DK*s~o8qN50jY6d)XJ&xN3Mu0{4aVB4Y(en^d1_k-y%v+ zGUyT^JsHr86g;PI*YB@hdQiU`r-5P&rTFXVyd7SOKcD_>{q+Au@4f-oeU#pPWAyH) z^u9gq`ua4`yLg&A5GH(ehu-Gf^u9oP6Dhraon{NY^oGXhVFkej-?;yxCmC=_C_Ran zUKF{9(rY{IYC(FZPJ?F*;rJbT={|a-^)%NIZc~87pa4>U9cKnoDGWx1TVH>D-|zaq zAIHb{SkCWa6!}jdjt_|UQjPdO0{rKM_wV3;cnp7y7k}PIcjL#a#oyrX>38)|{5@m% zzo7UlPP@txzXR}}7WUl1A3279-|6sQYzn6WMtm@i^eDXwk?+Gxh#DRa8RQLY5|FxG z4gHW)-U_dhc{l9vq_Q^Qrr)p zc0Gi+7X$7_Va^@gC&q9;JWx{Qxf?g_&%1Fy)$e+W;(p4DTSuOzxT8+HrXlXQ(~tZp zM4a{t{ji+WU@n!tVEY@{FXHb#jn^z`m<$4N2`_@d2`6ek z#~%hb`?JECf!htV;cgyBc8U0Y%A*pKN$&t?P52t9a{xHQl@~`gtP~O-ZD=4L?dyH6 z>wP$vuVa?qMLm(?4^91ms}5;*0&Sb{=^fg%jmJ7in=j%&q_n^9McSYAm%RUyg|oo$ zrUQ+C|4zNXMhI``_-GIIxdtiiK`-t5$q2$|_yN~HfHr6UyW2G&ym^QAbcCa{MWUl? zCXqo3UOC_@rQrKOP0NMWNS*%!62AwKBbi@ z=YFi*$ z7~YTAvDUeWnu^W$>8+*9L4$3$&$6SbwKJ*D>2y9}&M6`QD33Gjj)Qu{rU6 z-nig}vHTwg$m^KV5Fv3ypgc0N8#LgP?i%L>eXasZyTD6ZPf955KMc5*Anh!m{i(3{ z4sF_Y-hQl6YnBYaogilyXaQk?S#T(c189{}eM!h?5k zHet4}K4kVl_^&oa`R%p%(BY_Pe55Ya!=RpD6EFJLnm4ffnyDT?v*9 zB2iQ{UeXpO;A+gTps?%z7j`|o5Z!M7g?+Atl;4G8ZIDX&9XH@oBEJy>9B&Z(@9pt4Wf}ZJ#0uJj|owb5F^Td2@?n=OooI9L|UjyNTJJSsFJ8c0o34iCJlVA~(@B=v$FZ>NW9<-<7%*ZJmN zS933}W6j8$-^Fp>cL#WQ8R&ro$bs7=xQZgL;2O&^m0~ueO8ilfUQ;+zZ`7w|e}#HS z-f@4p*L9fUI_$-DKlvPSXkO@dZSRM5$+5@%dcUx(|Mq$;N4T+dY5pW~n1b)_cRfSF z%jvoVirX-&pe>4$~d#$?9ga;a1BYx_Y+ju~66_aGRIKWaSyGCj%a zH#9zOQ@|Pv@)JFxptc-s-w9-O-`FM`&%mYeSVSG)`I0==4?0dZg#)5@D6IVByTElc zE{5eHVBzK4wnFGP@8|^;9!N^ut2QR0V6rzPk+bWVyjo*=zr`B3s65#CNMCUr?O&;n zK0ZI%7~|)?><+M`!2XR5OavFjUR^7^oAI{o>R#7s+P165+BTOq*0g??1{%w4?B@=w z5!83u_I=DATT`Zb+Y4yv6n<;e;r?Sg8%=?U3-%Pg)`NEY(etNYpgm!+$@?mXLqqO6 zYxSI7*Br{noH0IFbZ{J+A9LbpOXZzl+m}l+vv4bJZcuFM;ME;nO=bmteN9KVb7mvX{D%?9skFI8Ebu zuV#!aj!cj`MlhfD2e!XaG#7N7qV)HW^F06$K|-f_sxu58S1FiRE04 zeQ;%7-zPNO;UW4rJba2gv{4>TB1X9Vf&Xn+)ZnyR;iQ8aXxKr`+&fhm;_54Yrw4fB zbVk0a&wDQAa*gB@FQZ8~;c&h=`(n6i%H!?^cAPT{Gy%quGuSyWo{b{y0U2I{gMHjP zGV+f;M=q7Mk5I1v-Y5LM&$r~?!W1fNgHNhGeQ+c0l(6Bp&~hbQWPt-J%d7TXg}@H% zl}oCr<}f@3f(M<~a364jOJA}Ze^HubXWx=o$`Tu*V^Hzh#zWB(&fq<$S+fij4#pll znC49MtGMZn0YG;2Ejes)*lo&kMcxG{;?NsJVTl$S@vhL;^#;)5r1dV|&=+H^hV{Xw zP;F_tHX8U%noS1Sv6&Gfzm zapEQ;TNcl(o3IErnm_?BjYj?^D+lewq6^Pj_69v)xd*(?2Y`k8xQm~Vc*NA9EE)3f z_xA0XqluI-a?PFlH$7$-EBea)(|`FD-nG;B{W??C$2CZ!O8-v6Fw@2K34t)i*n6m8 zk&S72Kg#b1SF$BhU;;EJkr~enk&zhN6sJ5 zmb2W>34VsgYpfwAsuY^Z5E-}m{hJ$O1Jx1OzFbZmywEn7W#lU?+mc#qWdAS>0lc)s zusGuWq-}%hT`M?&U6@6iF7v2*Jvv%>L8cS`FYgn9_oecWkAUCiZxE&N#(TaLWIhIU1eOF!Hq#V8iWWRI2(JK_*U6&EeyFIT;Ddh72dC~o9 zuVA^WF2-%WHYwC)7lLSB=yh$vx)1>UUf6c0E?r)HV|Dox)@3uM*`#b}GR`WnSEREl zacov?>V-oSRD;eZ(EsM2>V@e939y=xwOF=!fX3c7WXEF@A!O7hIQt~7%vk=Mzx>xiHDZX04J`Z=DW#a;#V^433SAyEZvf26Y zKE3}jl1fX&_XR7a=(S1C zUWXV2g~oH>9{g3vJdK@ODX|$1yjZpP=Q@SGuutMhGom7M_&#l^%RE_aG2apJ;E_xoj`42e+&7DX4)Zh zzPqkRs2Hm-T6-{s=F3e6o7Vn=c|v){!~@-8h^3Z)jf-|rD>e5D}N*3m_w z6G#$81x!DQ>_tz_R{uM{1AatFuF)%ebT^xu%tlld}bGdP+jV-BlQiokMGVG!M zgMt>QkV#qP$U%?hY3K^LMBRv7fLd3%tCBd6a z-6XmT=;-{suI%)FNHkKk>4Pp%J=zGQCns(T+US+pL02;S`YmwZA{k*knm_ljW*O#yH_#(<3aTjp3VHJm%dVyN^=HSpeDUUfClo9cwn6 zTd_Sbx5`Npt-|ac*9;t(j{<0$5DRd=x%HYCAFhXVpgrT^qi|f#z;yOL@2EtDS{RoJ zbX=-?NEBw$Vf=)r87#6vW;DXNAuR~@!^A8*sm4KJh!m%nO4;zl_Mk_WK!1IPiSv}I zAxWjm{B@^Zxjr=OebM?2=IK4)?>m#L)&+xSmFU97Fgq5FgU0_C7RdXNTNBuJpkl9d z)wB#QZ23wK_UgTuLzNDwTxSgHiHBF%3==8Aj6?|7s1L9e>d)4;ISQv_!z1X#o|xEb zOKdenS4ctB|2_q9@a$AV3a~`f8w^Ax0Qr)Ll1(h5PhB!C?*>SkojwGvqX) zm_6wuat?naXmkr)KXl`Y(aqWOgv;HxJBGF~jV)q}V^MWEO&0@3tMFr`5&o1LQ@`q7 z<~8TT?+pBtmKy_qOLQ@*!@j(d+bKhs;@!v~k$r=mvSLCg`@xC{59Z8&7)lwS)JP|I z>$B_?H%qAgD<+-m+_)F)5Cgr&MTXp%_|$~Q!QMjTEy5v+k4)zEjpHT4Kt( zfjW18Mwk+q!-^dLdkk5DGZZl9HeezMb!>1Im}Aw)I7*9j`ReFE-}whe%Sr_C>1*Kk z^4s6OI<3J3*Nfd&KF0k*w~%)iU+-ep7+<#k(&M6tTz`Rbv)miIg+Jd_?#(dT=QH;cg9Nuhov-;%hsJw9e({-HSXFl8#Eo8zVKRo%jhJ43Jl zb7)^djK5z!prsQ_VV44|-2G^`@TdQrJjO)z$2TtP3J*^9{=z`6~Umw1$ar zCPSUX^CzL5Y)o$4tF}yf`IM{3+u^hQz%y8`0$whPa!`g`@BL<{z$_a}f!6Cm3`^F+ zIx8oq@Hac@)%>;t<#D3WL{SBgmM5?9aIcT&;^jQxap><|W>e=~vn-FXFGpE4Z9O{6 zwXVMpFno>}oZYH9ej_fKvl|$#$dCbU8L7pbIJ>(P2 zcYW36{<2H>s*5||H>_MAM5PO?Cxb-{yu`cm0=f7j=Ao`Cnb+fI!V$t_aRc|n{(N?v zgA1$S{{(JnYDg1~KuCr_KHZ?z<~(o6dSZ6yOwxgCFX->9RxxBhrF;x%s@)A;!m%!& z{uizpUt?Y~$ge<>8q6n@;4g`M7{(f`*{?~Uit#2L^QuXeJ0Vx0I(pCc$0jJmnd=%v z@}ayNfuiWbRH%Sx~;XFtTiu+vxN5~^qfxc1_` zXL(S4{Z&x5-?#(u?7*b$L6p?yEKJ!9&=hco7_-Fox9u3B#%pflO|lRp0%ob%;7!|4 z!F3XR>69?3>TO~WGJFpU7>%^P* z&MFz4VKcoqm{JmlkW;TbqoB`=xQ05dhxTQE^Yc8^%bbO|uBW;qV60e#8$LGCdw5rYuGSi$~lux`Y@Xi%G4x z4nQ-(KLdyN`jHc&$j?~Lbzc|9FL6h936TH{l9+EZdl)g%JsK{-FM(peYL16oq$Ps8 zto&o{&@LeiMsgvv8OVAD1jhvu#;gHWnn~<5SZPdOiB?REBxh+cX&2}C*nLlzzycu@ z(XeZ$-6kV)o`=?sO+NmQiqU4cD76@f=)ejSxus zv72&2?{^ySDDr=R7!k>1@P|&!S|hYK-F2G(P3P+;?ux{$MIuPqCE%wqf^M zox*|6l|kP6fV&Iu>k`s%Kn%gTCV%A>j@8_i8osEy#twV+HDqWW>ceJG90YKD@BVA2 zPzqFrmA+wT$2^V~!?TieL4#fFSfj$Neu@2Hk$0_htO=Q+Oy4CXizt@A0G2)Ompg@* zDHbY|{>_JjJWN4yI!*S=?ya4|i=8QSg5$bdfLYDiAXshY|CH6ZF|Bd!^IMz?;9YtA zu$)~&mf~+S6a(Xs;qB+kS_ShbJCEExXI@? zXtF!iT8CO|RA&{{=LD@dDh}h+X+>bAyUc84Wz7?S9$XhXBBtoUg(wcYIHUs#JdvSM zB$%@M5Y*^x_oJP{vb)=573SeRK`R8#g@d*T5eBmlX04f|kA7`0WB)I{Pj6_)cN!-St#^d1T=5QQ>KhhjDjI9J!EzK$gf& zJ(kS;r#kxq4>?Y;{QDGVf7$KdDJbvs|23T9o@;dY0Cwy zWE8Kqsf+a0#f_(0W)*SOb;^=PwUhbs#wo1n0KZo}D(O6}ZfM_HG3#g0!{0{^Qi?sN zOduhiJ0-YJd52Td)8KS11Yd0DiE88E91j!V9C(NIBk?%oZ~jX5(}GQ><{I21r-YGH zbe+8%fcoEGV-}2eQc7Vy0pv>eiBrOtKIHPpK@O;im?R9Is{iTL9=TabDH!eJfh zg!@NOfZD4rS@Xw|2($eYJAM|b9cx&}nx|^kWLejkLF)iKdw~`(`2o?_G{(ViZ7!bb zLK*TLCHdB=M<%*IKP5Dr8dhS3fbY*SqhQFR`RtSMaz5p)$lNoyxUZ-v4Z0c~WaICnuc#=G~N5~|1Ai1TbucTQ`td+d7}0t#zq z?fg_m{)w>FAJ|{RTMgZ-4TEU-s7Db{$JZB@3XgYSKn`0_{cUN$n^&~00bsbN6`R-i zZ3~@37EqecoVvb6cmpZ{V?CPu71M09a=+XjYl*Z2crH`?w^QI6478;|eBJ1kSeebo zbR`j!EZZoAUyD7~L=ti$=2;?-EdBkt5JpJ7K{ujT=4!@n< z0@|M^CXhZH2e3x4IqG~V8)aFSuZCMlPOUeyDtOj5>WRMiqtx}AuycNf*qYFe_s}}U zLpx4)FFYlf$J(*;mQ5(0e9Dqry(*_c8d8)~T^l*9bV|WX9BIRGZx&7_OE;Z9nYqB8 zE6qCsiVfRd58l+#K|VldPRV{2ucHa9TC#joV#l)OMc{kFd!@5L4XG(|lQ4 zFS2YsyCY_2{#o6dio`wn%Xa3&=uFQLW$w&ZWiVu*4Y+lAPICNNcg!haJj@E8^mQNB zo$iaG7RUbmq@6-u1IS^w_LQLYK^9!~Smja&HwD&Ft671vFWphC8bxI2eHKBwu{{PP z_4@iuTxkD=jgu4Vx0#z9ux)eJUGAeHb-s0g70h}S>xggZAD8#$4f99okpMjek7Hi0w zj6%_a>;kV))X+4#VqzS~9}s;5N=@+=abc0j&|XqR*{VIsImGVoP6{VadYdL`5Y_^p zxN;C-p?7jZr`(ZFYBW+@CFx118BU&%zY;~CX7I%aav9!V?4YO}fLi75J1JBH>f3v- z;H@(}@8n%An;?eZ4o1Gs8{#1`))A9rWF=|b79a3!Eoyg5I%E-`2 zVx|NNfxuLE-ASR267b#=S9rm}t9NfDPR&2okQOP~U7iS7&d9wcG zQf9F&ua#v$HM|5uGg>BcMv*8!5#n^^{aD1|ajIO&hIO_CVd5uzQAuFYtLh?m?U3UG4`RKo*^Zti%OHhFnqo%R$D4CoKysj%ofC*8`{?3-J2z$v2sO zw!AhrxVkpbaW}6Afmb`_)fvEscV3{pw)1vJp#7}czDwN+?0zpA2vNYnMC}ZG=gn_L z<0-$Et>Chh1Njgv)uKz^3BHF!oh;g0R1Z$;Y|e7+FJ9W951=`z=DaSGIE9A3cZ(sw zSn^|O=KD>m#N{!|o{|;FL|K~fG`na;>| zp1cMAd;5%46OzRXnYn=`zJ5`emQ-LvxD>F2TyXoJ6#RX26=h7?c61$!432=15scxN{}i6L%Hh^0W9nJBfI!*U~3FH8HAWZ^@KKQ;_MFwG zX{MA_j7zgy!0}E}9E>g1F*Z#TUiJaQKh)-WsI5ar9vZ{5h~ha2cqY2v?GUQR@bI3N zHD!kw{&#Jz-?fq7dBMZTLlpci0H5rBt3#+5YnL}XqLwWPAJOKDXd@A0@V}$*r2rr5 zF6|KZjlmZJe16$}hM(N#n%qVvkFgU$;dcW3RQJvf;csK`FG8n=rtu=EQU3*Zxuk5p zgjck=6m1>;C1!5AjQAmj5)B6c_|OzY@jMH7BHhn+2>&;R=V{M{31zor{4cGpUs^lH zL)r6Y4Y`ic;WCK73K-67G=SvnJ|dzx)&h=b_u3BO&to`NdCCUG{CBOc?^>y^3yR`f z1ooEp+aOD`Cjt%_hwReM(}C%)#bq3@^7YFy0(VYgnhQjc!5EJQx(O<^(hXhX%IHWl z2WPC=+m&XXkg?^vFVoBuGxDwGz%=tD;IZ4R1~#+ILDL^WA@p&i)vZwjr$F(^acuc> zHi*$2x9VM|vaD6q0A|Ra)&_hS$}}GqEm_WLIZep2$JKe)m)T;}+XIhAG0l1rrwO%c zrf}v!-5Qf7oHI|*ZQ0w!nJ4P~p8aMor@1dZ?Mc`J6}SUItQus}1kBoE61NBb41CTJYor~s*Qv;xC!oqg zUq|^ov@V1c(JU!ssn4suc|(}A4)O|V-mUh# z@_I078{}DO-u1il+A(P|)}ngQj#_R>lZCBNF$G{z43j!p zocejY_e`9LS@*68fi{AH6k3)oPObH2Z2%{h_ho59v0SXEEF~bd=B}LZ6?+-*v7Ba? zdP!U1g4z}Xv~gS7VVuR14` zUG%eRrfz!fHupoK=p^jZ_M9iX#Hs>3B{wDsvXqL5-7yo}W{r{I{MA<%Q>wC>%?a?NcQysk(nt5B0cJk=+&p|W$iJTEo z*BwYIdI7Zm;+z_}*ck!jpQGeAv?WJC8*i7IEp2eNS`@hM^llCyxe!TlG8Rf ze|I7i4pyo}Fw*rNtblR|NDU|ks2KSVw~`+N(Imx~yr!NDf|yZT;`39?37ckKZ8I)w zi;gfb@+=|HV2m>`<2MU)4aNrzjGw_c%fQ@YFwQnG3WG7;zyLskf$`^V%pB;XGT?qTNB_LP8aGgQcgABm`WS-i9j-u`ugdrE?f=eP3r zV_kIqpxY1s>;3UVQGE175xf~v9dPfvzvBMbB{|zlOOif?LtoiS<#}Yu|Q2L{v6AcGM9eE^8GVKf4NUG%`^ykBV}3bOaPG}$Om_Wup{?VBy0mH zH#`6!(z1`m#zS|5jH}R7kU*9lnGO(4*{>BS@tJ}&j{CHFIWvj^n9)s;V^s*Drz`+pyPhgB!Tk{Ub z7y=iSPBdOTk=oS)sfKAHI6C5wwRl#GXN;>)fZtsf{k)8olgnUDsgZ@iO_nxnv_`80 zA5n7cy$}x?+C5grUu$t)YXMHKwNOq>>_c!FbMYow)8@T+TxDBq!=*16W)%7&Ye0_E zw_ZzqqRl55YipPgKq?`1m?b}jaU&$!Z*Ka0ZGsHFw2hukI1ZfS!a0(arJ4QG%<`j# zd&$UgDC0_L;~XCMAKQdKwvCNU#?HGXr!TM7G8>`}=t7nj5&kjC@MVsiB<0{a~9A@8eP4?{Up)gGmBv-|6tY zQ$xX205;xzf15C~4UprFMACq##{MVRpN%+Wo>Z!y4z4H0;O8>c!K)B#mmP|$J zsyGFR>I;**g^&gz96Ey0sys`T=^rbTH`z)}*%Ok@?5n2iiN>(D#Wwh3d2423a?Rr8 z#3h=dwe{?j%=P)1Nw8SdpIZ=Q$_~m*DuN&ICX|E79oZ_hS|@ApqeiQO2W9{2*Yh3O zlZzm-PlA0(>Fy>IFD|%8^oTTTVKS7@%ATY*veR~N4zRLo*#t{UDIC=u$1+n=E1m|& z2WJ;2A3zNjb@#DE)OUe9)ul?+#qS;35O|w{<7UO5L=K=MA*--q9NNhw1AiE@Rfg=z z23hj%Sg7CxyqB%ecr;C|8?(U8Bd* zd>xd~l2~sEMDO(9KcvwCsH)}$neKzFZWXFq`NIIKFZk9|azYA6(De9GM}vCg0JyL4 z+Z|e=z6R^;c!bv+Y=uPt6mBF*RLyzTm*CF=q|pHGC>N;-@^Yc_VRp0%`&xM(Fs~%R zJ}#Q?5t;Y4o?94{skLWuqV%#!aGd~8X4>yPFDfrRuMvAu$b2YDTZO__zNGcMeSnC) zD9{vMB;ukco$c0KYlgaP{+0aF>}{!?t-_0~ybZul7o7LhIK*&c?XZ`VHY_?rd3H_~ zFJ4dZejf|yNP6&%<_AS}@&;w58DX!OscsI@n*RuVAFFhAZ3F#zH3dhz<8EWf!O;w+;gD{4ZWZ2iov zsEO;1Sy6%OQ?sIi)|<1Ug4b`-ZUhe}6^A{-qphxGt;3A=eWmNs)(%J<8Ss$A*2TGc zx#r>4mNknvo1#P}b09a3D?7{ZZyk5Nb)39~b@jV=uciVkm-P*)^i}S`R$)dfKM%TW zZBmKHWEX9YfQyBD7QwUmq6T3utf79{?=s2r|2a{b>t1wJt$70xq@5>weF(Iz!qis& z0YI=(ZiRD1@|K-zx#R<9do{ZdvgQl&S07|(s}S7EYXS24f^D8$aQYjT!zvuyq|D^} z1|hCSh)?-a`=AKoaQngK{a>&Y2Tn^~@;JLlD6Uycl{v~N%~n7Qb7hAQtE^QRJ;4V8 z)a^|P_S=WKRC%hpNHLiV?QL2jpwke9} z$V}@3!8LvQG?B?JHmwUv_RAbZIVuy(Muz=7Sqv*r~JDO)&Yb&gIkIug_XHY1x9nEKM*Z8y2nJA#a}QapuFj zVjH=FW2tg>`mU>vCtM2Xtkn(zruRy^{qwT!wvaK@Z56g*D6_- zHiW#335Pal7;jg~vDUEcIZg<>PVoGR^9S+>gK4nr;oRpUBcdiLtP$|d?7VP^i{!xb zS_3l|<$%423NAobjl%PR7F?f*Nf0(K$NQ-c!fHQdL=D-h4L86^*xwKqoZtXo9a30z z&mV&US|TRj9D{VAZ#yAuIKl4(`jzB7rqN3;TMgWMKqQt!uW0(A01Uk$AAH^k;g2Wy zJb*t$`n~XS)S?i9+ezT#Cu|MmV;>UVh{Sbby<~<=j4B?7LLvNHJ~>dTdbgPly!8z~RATu*eKuvjv!E$XO!pb6|)&)#nX*dm*q z#Rj2f08VC4sEi~bFR=bU;cF1U;|wn60LT_vRP_4J5`)!_iagfEsP<)z7S$<=TGSSH zLc>MTYwU;n|E=THp9E^8C!$_e6Db`)GOUM9IYUuYi-0u%7!dXMf2+=qdQD2O&9zCe z{lfpCrF@-g_Q9C@@>)yF`2CkO3yyJ|2t3&&BTL}P=1L2HrG+Hn7b0-H?*R`;cy-Lx z$JAH?yVNJd+24w65DzU{ry3g7#Nn_tjFNa?`ExD&mo38*@*sYLsvOdvIn<)Eq6ngj z7HKbGJVcmDkPZ^){#VEV4!ZryVeq90mpMw(i{Ge!2r1wU4^lcY1>E!@F3rgn9YaoH z%9zX|=G$7xTR26{tt~ovIx_`EI4#45!Is3F7q)}$Wa1}5BWG}Owg#qY?qer_lS=mW zIS<0AVDWN;`M#w}2r?y)6-@_gE{Bjo{tx-z^kIuNXgYWh-Bu1UYek!mwBYX$My?0A z8X*Jde2AQ|VRILgzhURXdb>+O-fgid3YAvPt6jC~To`xS?b! z){En1>0A9AntQc9BGO7>EG>c+U`Cm0uiothgli50JauAhkC%|2aJKa@e(15Phm_`+1oczXaZ+pe&F`k&m>)P~x*%$ZYJRsaN8gK;+(sMVCr^?@dNgd-pH{ z-A(G4$Dmm-F zD__+@>17XjRQqm$a;(EXk!(jUR2yz_8$_H|ln|<)148KHl<4fM@Ip^jSaEFPJKC#3nRL9Qh9v-#wH)3Pv+f*X0O<8ghW^HKq={K(;q{ zTLm)LVW!gryTI%@;j2nP`*zQqiMn{F0wR1W^zDug2?@d4;mpwlwAdKXx!t+%N9t5` z0%m~WKH%+;-i0#_an_m~fb${s;!+3Td?+Nb=*U@pOwkcYZLh2~IGK+R6X_Ucx`to& zdyVOk-Q8n}h=}8)h{+I_SZYC3hWj<&9S8d-9pm8TQG2KA;`4ruj*U@Yg%xF39(}}q zAh5zAYF`{LkB&`{Bj3I~y4~TeHHk*F<+RQT>Q(tr=bZ^5oKkO7p5(yj2^721>+6+fiI`K;+#Wp-sTf)-l#+ z)8jL3L98^YR#g!wvd!6P2##Mo$Hq?BS;Hj8sbdni;#qi(feoHrE1n^RFe!4dW1eMZ ztem8VmqHVOz2nE=nAK`Fa%PjZP_jFe|KK<>2h#!S2iBr28(Q&&XC8 zz2m}r$9*&OL1Yj|JR8umc!~S6csQWOECR>KOO^Xu$-gMPxymfdKQ(%ee4QxF?me3jpWxGATy&l6CWLXS3sP!`vEP*AE4X=C-RKlPv#(Ztx zH+@_OShZBivIn5;=y*)E9oNayv!wja2`Jw=TnWDP zM+4^7GY$$lWlUN5bl9u%!f$QlN}?htYr4R51Afs=Wq z88$AN*PfjhP2bH103z}g@@q^u?wodA3K0S?Ow`52KW>^PRSn-Ub^SBKkeSC*XC60q zG%hQz&$I<*W(Q{4>UZuPG&dbvX1Ti0w!xP7vnVI1SbrRHvyOQzIhGY4$%-S7ulpzn z{=)B6?eTRVJWJk2Z0w{C<(v0J$=Hr@Z;pSbR(7S_Vri`>_a1lMd)$1au{wj&c$(6H zh>&MJ)t0NPY^jyU%t6Oj+48Q5Ks>hv20XEA`G-ek=5fbY9OcaH@ehyM;qQuB``A~a zUQwm8$8#jpU_pdlWnY2gCQt<*1Mk%O@7ilQTi-Db91pxXK4}y-gvyybb6hVz0j}*> z)%4wU;`Op$g1*!2H71x-HW3~<*1w_owOL;Q#&UGNq`%E*{?lyY{o@&OALgfs-B+70 zFv8X5VI?e~xaZ_zI)}bd{jws$lXo)rYA!+%CERQwD=do z;&HrOUI`ii;IO`SM|Dl$hb3%nVfEp_4@;%B>#GlL3A2@)(8ONeWAlC#aY5>yz?p}dS$KqbQ4+N; zLetrRCt@+_#ZsEe<~n5y!&fzvF8qdlA3V}#Y_X-n>*I>@douEuJs!B?b-#=?0}!{f z0{kHx8g&JiJs?gG7K1=Ny$x2E)wq0|E(WiwyWqTS;*SDPbv~ZnK%UBgC!AqK?ya*J z9Q`ta8#X%XhrtI5thSQ&#y7Pny-6?e^K#D@!*wPTNuO8%jnmr5BYq zqczV1rFx*`@KJgmDdmk(x`e4v7sP)T{=2X&Z;siW9+ekDv6)w$!4HffH;9z z79|EtB zRB(hG$`9v?SxL+ff#)Ej^m=ZY9AdQHsXZv{pgor)mAqIf5FrVwe`& zW%b+Y+Yb-S_V3(Qe`0){EOVCHW^S3Z(Y7VyjY4yJ-)MUexGaa25znp55Mlhg(FYUW z`{*CvNv<5MHk_Px-JI~Qj?|9-Wy8nwKDAB{-pGk<#)Ny-pQyo{Jw8?c@U9t!f7bus z;2#qH_|XF?f9+6wR}9;$3PrLD#kNhl2lNV0tVH+ps z{rH`nBq*9w#21+Bk#rnIldYHx7$WrwylZ^G10A<9wt9Q1YEeJy_oQFJtG>0t!Dy}= zGdUJPONC$=#Nz(XG2!yD+iQav)9Kn^Jbx@+`f0?>Z4EJ8VEp5=4Z8Ta*)l-3T&MU@-55I)+s&z&?}l6;Hd+68uIZ}hdjME z##6-YdW+b3u$iMr;t!GDC8g#7lspL~+q@-*mG1YjY}GNivX(Y098fFO>SsTMAm*eoWvgJs6XIV{P!2N0+LX=!|;l3>jz`qg?E;ONj$Zk-f+6 z_UT`PX+Bw*lpM>u;Z%@fq&AlJ+A&D^t2YJP0B^246oqEEFL;#=)f*F1cZf+Gt~xgJ zJSE)EZ3{Jafb$Soiypw#*Oc2r6CsZ9y=+Nss?!*-Abdt*cYY!GO6?dAew1wH8Om+@ zf^=ebvR{G3wAO)BZ5dS z1z||eSY_-7><&2R_InoXy9b_KsY+VaII<1%!(zvLmBH%cXz*CgqHsN14pFW zq{zbsiN|Ecc0=Be@EbrusH_n{d7?0=P^|sJlfLSfE~tRY^XShtkR1n9I_uOZ7(Iz} za?&Oe6Smvj>){PMLm5kSAVvCf+5|EW)6ZTc3CE&soVQjZhefKPTkv!h&2bH9o5fH~ z5&aS|iFS3dTK#wdSY~+Z9$trUpkz8?@yUjo=wo=@Bu0vu*d+HggoLlbhW5Kc@$ zR}g7Bo8~^k1|%~OUOku;AslB^aK^yZjNZjgAb!XX= zM2R1q#?N72md=SPu6im3UVIEL#^`|+loN+$-fV)NX1w*fbkX)$`NTc7(=|8iVMFZ} z6A_ZUF!A(bcuCU4|I~EuqOo(xNN&_4Vjf?}L_0syk}LICx2fbRru*Q(ZsISD!T%f6 zlP9J;X5^a^q$q>ZcCF~}@LxBPuW=LLhngxxB5Lb?+#}77vC3YJU@OsRf+26$XHi69(%RmRA3)m*iJomli+-0e7swwIp zLBo=ow?&WqTJge9`$NfOMBLTdbeVy~)k;u0qi3=#p81&zBFCD}Wd*^5(`I-$*(u5b zyFNKqnlvHLInkF%BmVIIeNpLTNIiaU``F*f)cKLm@I&(faJYekyq9q(6uX-0{5BLi z6%haDDCTc^ugNCfunm|^@SAz4i5>4$)Q#T|3oDom(oAbaqzb`izJq9DosukYWVRVG zfmb4idL{Y*zfh+Y)(h8xCU&(0-unSciB+2+F*U@Pj1!FiXktU>93e6UHWoE?{k@x_f8S;)Rt`zN88CdYM(8@V_=xh)_c}9E&f7b6jNT zox{+J*uvnROf~HnY#m(xFrEuN@59^P_w+zDmd=c&SA2I@I@!_0hJnk#5LQv8Xg`4= zK4Yx&>1+dkfK!wW{%rlL`Q`p#N?a9yay8H(f4aL&<=tgkrbLDRri{O@jOM8(D?APA zMA?6W!#nu6WtnyzGR-BkHU*eS!+DhkP9dkUrq3`CHw6}1)#7_LEo)LWOAQ;u{G(0i zXy^f~G#4dGPxI5nz=YXvC2^Ppb33_7NN(bjo6g&7Nel(!CA_JLaQGWGr4al-NhdOF zVEDNdStx~y5~;Wwbz*o?`oW_D^N3KKhm4fmi@AW;&?Fd|_&C5@-wYQclj_6}ck0k8 zO`wIq!G;yHI=`264oijW zjde{G?1|z}&sfu8ojivyXw_$LRf84R z=ZGHS^}@T09P7*vG}cK*p8hfY;w`nt7#7>?^~Y_7>9X6P3qER^Mh;PqghtLW*L|{4 zIN9hmV1&7M6?3S}mU^@i?%P!0!^BRZ;nOkC-OwmBQfS{@MQ~JF#Bh3BwJiF%uh9D z$hS|*yLM>NrL0ub=NYp7%Sn=t$d*Q7RU^N-k<7=040*<+_G|bg<9epCN^*{&_wk}E z8Jqr%)HzA@tCaL3oc(#VLn{WeT`~oS!O`fsyI;?hTI~``jyh|t$h^8S-617WpF=p} zTynpcl#tlSuWY<5ANC_UN=sG%wiVm8V0_tr#QbQZ>flZDBaL#{DRZT8;SCn>u)q(32dF#EQYNV zLwCX@>_MDYp8*uktC^n9G9=Iz5-)>YagD;{M*eq=L`3KX-%FM~ zDOJsqfkR%YI&unN zv;g?@AN$mTyU-RCHddrfGr?2L<6_e0!*#BKA3dFFRAhY z9>V`;$P!>(=6FdnUM~TCD=*n^h3j%Vg<{BC|BtV)fot-*9)9xV3zA0-0V5D>^MtRU z*oI&wP~9L<1V8!*tcb2|BnpCUH$+#^(KSzOV^Fq1vVC~-b|N8Ss?sM+B=brn0@44rm6a3}AsSvbs#Nq8R0n)Bu z;;DnGgiNc%-7V4~)l#L*lN2(-3Q)q3HZ?OYWAniUF`$0e6k02R5I%?C z($t&aQe`g_kE!QLa6qj75&CGc@iHIYCzfL>t{#m<#d>f~ ztPq7JD8l!HY^#Wil6vCk8dzgd8zpZ13#|el{{0CgAbbi z`6dHDzF|Y234D;^mws<|L2vj znxTbkVMT|cmT4wuDNcbpoB0nZnYpw%$LGj7k2$XI;NROZ^2xX(bA!XNp*)(ZyDPKd z#c{m>M7YwN%s&Vh*i7&yh@pvR!a!PVwxO38umF;2Q{~IwoL zp-?5kRq;sOciiuz_*bJX1^XzwRSy!{H7RwH2}&u!v1NnnWyH`t!dcY-8XP`S07mM5 z6BrK^|A%maP(?5EtMOa=F`QJOXc->%KOpY8wOEuxmMcFKZtSj*llzD$|it6J1)~n704tkW$Yx z9QJ{tECkcBE9rSz+t?p}Kl5MlulzW^?v^Zv2VI1t(6E%Fkq$csg3$g&m@!m$-^bF_ zl#WT%%ouPSHh1jB-)lN8=idXbTjxt{*;TeBoz0d;`*|>y)Yw#-AR%`>F1jCjIi&NT zN_jGKfko#qTO7RkdxeI#Ue2`90T#dMTle^nxsoo(%zP$uby(E{lO=)DtXs}XUnnh| zJzUQF?-v@I= z@e+8ohXKaoD-S0bvrjMR7lfqi^bzi7;Cgy?^Xha`pHr_+m+Lq58zRyzZKjrL$V8(_ zk({CgAe4lUBn?7JQhNJ>-z92p@+Zu81!f|C^?91 zF<6li1jK3|0-Ohog`JlX<2;9vKM29RL7$GN4XD@$zR#(7syM_-!f(xB%7+sy4k}`V zw19<|f)02oXvfr{)aGE~P{)Esm{=B|l8ZqdnamHs4W>vAFNWXAWn!o#0ti2fzDUVo z?NkNWxQGavumBV43N(+S0o~w6=yROQ04pHkn;}?ti$;g#p1>^nEZC3#D&3MDdpp_-ige662=%hGJO495G{&G&l z13Y?2f{JcBdWtdjf@L?wlL9D=H`H+uTcr(W7I!E#B{y4gpLR_iSb_tW0$fS$6?uRH zFy}9WwE>XnH~w!LbtgO9u`mArXi(ATIJ$6Igt82fwOD;Ii$FF504^#R;^DhAc_qnQ;RD+H6#8pc)shK zB>{QycMt#=Y$K*3Dx?S04!%;Y&LJ2Xf+#tNssb_ix_dq{qq0x zP+vk3>5TH>-Kh1S;|cZ>sx2{HnqXO07D3=sR}gmEzaFvjn9M$Ny9G@1k2Lc{*AY$+ z_qv?J(0??f#hIy63smmS^qf9byT#$mf?M(tDFLqMiTE%=bP4fC2m(xg5@kX{ghqa$ zZ#YR`f;=ukt)V0b>@oECX&ZTmX(7u!QKigcOO_t3?)uCbO<);m@p2=bBC{Zq9*#W_(yJX z*1n_&ZC0$<>u3*aZ-J7z^Wo3N{JL-OXE_{K`G{di05g?lM{1aMHWuFy8&)R-C1VV( z3Ul*xXEK@59%PIJ#hJkI40!`BZL;qB9~k=&;s9eG{J@x+`J4j=8B1x62r%|BLLX+# zm4u43)s-6@RuL%<}vRf9w;t>*$3|Ei24cXMmV$c zRkJs1;g)cf-l%l{~~JF?9+=}qq@^<>gm9EN5zR~tcc)zVhCp+JrjefnAT=%c4u`gG9d9*Q-@0a83pZ-YpfMp_pV zneT*o99p!O#rdud2*ocuvum><)eRWELdOs{Bq z>ZE>IOG#yjGBtgfixyjqAz=p`dFgzpTkGwsu$i3Pj8tEGsZ2{e| z9F072M>O*^N4N9Tv;CuQo??##>59PBLmt2G`)wPrxiSz(6W$?)w~TonWlp|_nS-Fk zqCHP6j|EMir{>;FT1vZ5r3;f@)fktPduHdSQu3r606#mHqntX@T~`~9g(zFSKU@EF{znG$bykRaW|;F_Bi zI%Rn!nDxZWU*He?4klpc5v~B{Q=`8<#lCtyv@W4H8-b7n87r12UP>y4x*{9evF8`pMoU1u*xNAs_JPEdyX#15R(zEgl zSMpyH%oBWJU8X({soqdW;w>f}mM;u#3o`RYRhEnj1VS`R%&_u$StsroysK7%8K)`@( zU}mp~#OW0A@-*6lX9DsK_{!I$7lGR)&hf&|&18_nT8_gg+cU^ui*r{9IdEYdPWScC zK=#!W+1GvYQ1%sYBFW@>Z_sk9>##3q#|nG5T_e|)J_Bcw(%_a{&dFFIrX=L~JH8y0 z(qulRsvgWlrb2LE1pNWqwUn!oGkt0>yXWs?**@%7!FF|H9M>*+MRUJS+Y!$!<*-ix z_E)0=ee3{-&FPB15y0icQd>cm81$mz5y8$la@!JU6CpDfW9zOH5t(Kilb78gH0Q|j zvzasm+Z6h6v#k+M$WVt{Qv-`q?A+Udy3UWC`!!dG{~G^+oaRU5mITNxVPZLQ;d;f~ zJKEGnSb{V3P+UW-{Q29ZfreWp2S6SO({Me`=jX!468b6D!y}lsi|JE?h2N$=_T|2Z z?7o&`99It|{8}3;os>}ixiAzXE#-&>i=@Lgb_pzJ%mIrMtLO(6RIJ{q|&w}-W z!9%<)3oI|awIVrme!5z*L6~rqW(bag2`D@{y1tLy(3c;i0JjZPZ28|Vmma;^t7PtY zk--u``^ji!ANw3ISV;#^amk&><#hq>io#)7z(O}V?w$sA_9NT37M~EbgRhyetyU6ijR6qzUw|m%(mri!SZRw)n~oEvt|Dr=DZd(YhEBmmNk!dxiuZ=}2a@g( zFjZSubFMP1s$EtZI3{AJbccXhhIZL7h?6-9TEGuXq;cMlh^I#ew)esQ*vl33Q7Gmw zMxW?or$5{u1z1L|9c-kFPk1AnLwdF~NA=h=1}GjFR@qvA&&3rfs>|OEM{(G2I@+)V zu8JrZALTVrTEMIG47Z1=ATl^wB4Lc8+i*Z=j->lBDaLY1+akH`KJJ6^nFd{vS^%%3 zw{u+H?j4=f$KLK$J6{dV?AQ?h#3&O?qM*b88Vy%OeTGC>eRyuc@+`+zhr`wghxyXt zMss;5^Y7llh_w}trD5&_3o9#n`*})P&$~~acZ{zXDu8z-Nuw`F6e|Qw4br4P=pDV) z%iikM?R^XmR`8}F9qf=Zr!kKCCH~bpcZ`18%YM;2Vf+K4PhbRhAS%fMyN~jscOqas zmLSwN%^eXKcw4t(9cggaXsU>*yTkoX2fY75ygqJQy%2*H)0!jJTGw*DslJwvc$yeR z8raDT7}*vUcc zj$Zb6z0MB6KFeqV*!aw@1Z*=`2${PG;db>?F~kgunAYTE$|=O0qE{NCEb<0{n$BGBQr69p)JvVo2RhAD})+jl%+j zOW~bx?Gd!iAOa1jKzYA8!Ik&k37`YFu`l#p8^vz7ts0 zaHXne4s)gAGk->O(6{_zd~5wgv7iJ|SSb@FK(zp_3`O)nfUEa|T>Vcko80S62Clwg z-U)C;TEix|+8N*q=EkD|rrbX;6&=elrKtx$IF3L@^~}~FQ*8mJrr-E6Phc*4f~VYv zcyb1K+8^X;W-lx5b&7khx+umq!BfNpPwO7=^aqSUWGT>| znE?@N2xAKJ$4u}C*lJBAEZsp#B2KsfsQWmOL|qZdU4lUS!xObd@Fnr8ph9vLCG$3hUy{J>>Ydmx>7EmI!4%b67d$vA zEz2q`b`&gyN5x^oOT(aQ3s(3Nd!AsHU<#)5MAwHW%{N`_hbM2`&bsjj2iz~g)CP*E zmnF+-G}j*3-R%nGRUY1`7K9lDa{J-?<{T8hs^1z{sn9TaVmH1JsF_WI5;@&`0_#XE z6Prjd=D_GN_2_FSx=x?Gam&T}xV#>BsML;Ol;8&Q%Ez-FpQ%IS+;>sG2E%peCtpe@cUuzq0H^OU0VxC_Dt1A`Gf%JWZ(M(kRI$ zwR&|LT#VuvGZOtyLEs{>42dnQP6z9|)byB!K5<#qJ$U%CR;YL))J`hFW58Bb^UagrN1SBQLPdQ%>$Q>QIwGiImz zb&fq5y7Vr+-_##N35rNC5SWxl&QB$+b%ds=xPJ=sCywgOlWZDL4HWxR1c~$nD%tfr zLcm632fu8^y_NV@YCDInI>{zrJq6m9t2@+Vu{j%TR70Q0>{gZOh!TZOR8SRByiB~V z{=~AhUu|2j0|T_Fyr$2OXXw+?Nh?j%g_oxC;G?@v-}J>1i!qG(4bo4UbP`_ecZp82 zQ?RI6%Tt!q^{ReG&fd+X4dlBVL;G2~(em*`p# zaKU~BNj8FxFqb(fF=7;_dIj|Bzd`J$5tMSJM|6H%&wvhr`4+`Dr*F4iX=b&0ACU^r z@>eN76}g!{e(St@Z*XFtEG~yX_uOUJe?SI7FE!f`T6bG?2zz`#O_{sRZfa2KYu664 zZIs)&=QFco$EDroGd{QT+|Vk>yk+#fQC6k|I|8!iQDAqWElvM6*bJI?&&Ft%`Z8?w z%)s$+D&+h=V&Lw$L7i6OFUav_tO(m{0%|vp>+E3VN<5JX?R$0S&SAD zMvh@bbci?nETF}o#jgzU(Ef&{sCVBw8SelTuZSFrrYC69cLpYAYcUmn zRQ*19KY5&yozy zKyhLj+!lfo4?L!$3B_k)6S`v^B)lvEjn(4wKfGCEFQQE@sku%xc*s3$qhbbj|5u=LDL2Mxg4F zEgXLd^01ib1hueOPR4%^?ZnZgj~;h%R~GncHq&eom|dGexfWc=BCSBaahNYWTG3`i zB!tH�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 literal 185328 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�#5kE&fanQ$8&gchcNi|>L>m|C1wPT!HJ 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

i>2OmMq;X6h;?oUqg9nbMdos zUTh`)JWm8!sdR2(;Gq+avdb1xj>QyPML&z@Rft(GdT_OpOSEsO@gF-z`EzG`S>FnU zdj(~FK6j(1zI~Y2Oj)@cFRbg^hEZLluH_G}=AzF`vO6uq(Q7t|R^P`E=-k0#C71Bb z$H!*BQj_CimsTq5!eq(a`06v>Vg4YjYB?nIXEqEYadrt+G=DjMN+sou!(~ES>CmQB zvf_KXmqUE&u@2E#N|BB!(vxrGUa_d|$?hzig>S}@IJhoX=zeX%t~>X|bg+lnT8nqi z;b*=qcPNg5M?#^}gR=rzlGbL;jRoe{Vi$5A=m_6{TFl_tp!zZU5^?)`8X8) z;(3~E&Qz&=U7oX_t*%A;xtP@c=;}*kU%_1u4Qg5@U-n1VG&L79xJt<-*|*nN))Fy2 z`8hk;9IpcAoe=WoZ|t_r7l_%A8lB@(SW1SGYOkeKXJs^g3!)rF!}eT?D5RNfO=VVG z_(Aw^gpLX+)=DTDSW^@u5~l7s=(<2D(e}DP0cwLsh5W9VH5X|iLU?TdH}==Sr{g@> z?viQ@M#vBj=Hca>bm=n78`2ee+#YiIWeXQToi(b1Z763N$|a6J9|aAaAI4)H3b1RP zsG!wQmK$7>#VXpfEMO>e z6F&wsh5%C5M)cvAwkm_)c&yhK_T9{n{VR@bedOp^l+kyg{OzMtVUuqTgJR~Y2&1hM z9^epC(gb|tTqMR%J!K1Mclx49#@R3S^A1_|{(^yWO^H3u) z1gbRC+03Y8#x_OHqkK13HH)}R2@MBB)e}$5-qr{{Xv8YiMXB4XD1N1BOEAKN=S6t% zNOMCjTi4wRmRZ> zj~B2<;dBE(#RW`WI)-Px5v*1pBm1*L{LUl!-_p4;wU=s)G~Uz<8r~GX!M6qI?gmQp zviYYYaBj)`zZ8ZmxN*=RZCM2YtEe*f4Mup13%vhK5mK%rs!k zyW)_)HoieDx?0F3%&x8RKYtW4o`qoTKFA1Q?L331U5HrMa_qXcz|71%Fr(R}RMq_D zy

XH3Ct#$Bw4EGz4~ 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̜su&9sQn91hcBQ*#I9ac(vZr;VxLnZj$@%oB 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

9UciGD{cnOFVh& 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�QV19`d+nwr-%I*>Mc4>(7S%E-&0 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

BJbqPIQyJ&$ujlQ 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 literal 21968 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 diff --git a/variants/adafruit_magtag29_esp32s2/tinyuf2.bin b/variants/adafruit_magtag29_esp32s2/tinyuf2.bin index 36b7a9bdfd1a13bc7d5a0fe715ba058ecac50bfd..7a70be3ef32c407941de76a62defd46a1e26c9ee 100644 GIT binary patch literal 164816 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
?$BoSZM`nUS7MK9EnL@oBX2k%y)`E(~#GX;fee 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 literal 155136 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 diff --git a/variants/adafruit_matrixportal_esp32s3/bootloader-tinyuf2.bin b/variants/adafruit_matrixportal_esp32s3/bootloader-tinyuf2.bin index dc5dc9e6e28b58c990cf0952c72194e8041b9d50..6f062fea2fececa45e74dbb933b490f11bb65a45 100644 GIT binary patch literal 22608 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 ZTXW{cUs<}}e?+iymvQ)W)1Fh^`v0cpGZX*- literal 22112 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 z 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%0ARP6}m(Gazab{U~f3rX7lh%h0x_*u8V|< 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 literal 174352 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 diff --git a/variants/adafruit_metro_esp32s2/tinyuf2.bin b/variants/adafruit_metro_esp32s2/tinyuf2.bin index 2ada2351cd3b2348483ac989d8736da8f9fc76e5..6763a41df29f4995dea9a0378c9d8845b5f8460f 100644 GIT binary patch literal 164784 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

hdjqY3gMgKQGk`Y0)j%qjqD}zK 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≠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 literal 151232 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 literal 174736 zcmeFa2V7H0_dk3SIz&YU1x39eNRbkXG(kcL2uhPCDnddMAR3aG1O#;z5EK*?6ng{g z9Xpm)v7?~k+S{UnqH94#MFsPoxk(UQ+1=;&JpbSS^SEGb=+lBF#6RFY5k1v6QP{PXrK|1;dFO~4+E8Zuelf`^~@VLm}0H2UBU&Na$V8!#f z9GoY>levNvwos73OYG_e!%^9w?4yi9VOT?SsW=@M33-rt;ASS0M`iOT%ge_xdF=O> zcXYrf`%lB8BfJA~fl!Jk2vY0V(t`o+>Fyz7^rYQkIj2X7b;gQ z7K*JwLb*6$#917Um@ARsECB~v$22aIDBxuQupzvX zv0|Q-i^sE|{mM&5$Y!UA#n4QrCZVe3$g?gL^SBb!Xr_J-54Hq8OOgcT6%-VyXrBoz z=r(@Nip6F_krRy%>OolpP~x}+Pms#u^Eh~Na*CXfCC1>!rzGOsG&Wa6vSK>Y-5rS+j)T>qv(>S))v4VY>Vu3pj)jIR4Bk|wfnW(<-UKsbAlM)S!2lVC zDFZtz4K7N9tJ2`6G}y~oW8U_1)?kpc27{b6804(MAZLw*dxsJ6G2dt(AMeO;Uu1~# zW-!9AK)UZpbvxH2s#)q>4(z^&c!J2&J6gRYVf zQFI;bJ|ZfEC&7F~_HyDNCysLBBqzh<#92;U5P`>Ao9qz^m;{&(SPIwyxCm$j80x^< z2H*r31sDh50YrdoKt5m@V4DKFfSv%{06YV<0kkN<2Y|v@E2uKOH`v1fi3;~=K=Tx4 z6lMjOO8}bzy8s6O#{j1R7XjV0yJ^#*+m(u0Y_2=zj(Rz2ni`qfZ#~qa16!%^B6xeMVx{MaXCDxeDo#+#U1xS(^m`zV*!tCF7M23VL0GQ ziFsoD_kln@FCfNtF;|)*M$=%Jmq1e8wEr|`!NR!lLLp)y50b=XiQ?ESkp%vrW`KQn zfE0f2635{Z<6eib$wbgDJ>(&I0uVQtxcxB03;<^yjEB=urtmQDAe@!T;_*>$025gl zc+z3w$7AC}5`R5Y^p@hN5^z3OAU9Z;aq!VRx+P3U6;noepAyGsr9%%T&rPSveRzmZ zT$pdTZ&;LXT##>2NZ2^AjtmG1CPqT&hQusEB3EANX}FEjAcRRLABs`Fm>^`~yRUq* zs)HH;&4q^1FiZuR(UWn(3(J6+9$^MQtjY^Xh~3Jc)WPl!_UaDy;b5=n zVD|v~WiQ=j3jUZUO?TO4ucjoq4C*fP1pg~U`k3;m>%qiu3{zLw!y~+XM%yu?Z)7Dfl0FsT|LNQE7=|;k^h2VxlPz<0f zX!86Nft!jl4Dy6$DGH}2H!JhB2JwS5$Q{CNL*X(otfRYx&*h4KB5yv5xiU=rVO1m% z!V(DPXM8?BGBh9r7x4rVm93QLaHTL$kk4=9`IF;7zT=WvlZ0Z#xl1;}IJ7u~@teWnce`51P$^3`P0hKlf6((#ez^tG{NqnDM@!DrX z(DgufffmGO9Aj;aD-p$^m8KYzq{DhzVo&EDzp(6^63>AMSakx1$>1O6&0!^oQ(%OP^mD-JFvjv>76r9UwRdoI8s_Zc z>gG-NVfgw5aiy@E1-k=|4mRPAC^Y5|G5iA<1Rcwbhdnh+OI3?Z!^kA8#6e3H^>yl@ zsv2q}aKkjzG7-^Ig<%555j8F2o+ON9Vgepy6&j|kp_YY+IwsR1m6Ei``q&T|mZG_Y zmPyu9X}1)SPvY_EQkc2^m_h6hk3#eg2#^Cv1yaLWkck8aNEu8Sm?a&yRfBvZ!a~9w z=^-Hze%=xGXzew@8#+N)Ax`Y39RR(Zr=NEe?1=^2!XGsI>G&uak}w=o8Hizhz%ws2 zcw{&2ekf$O0Do9p5s8v8O(+HI<8$DUfZ-jHcK6kqsWX<`cyRK>r-V1zrun)K zI7Q2mhAnw?DlaQ)n{Z>4_x5;=8>5nUM*eANvj zj_w81KZYFsbbJ=Iy5h--PphAaPdpoR;g_}VTQ5syUNJoJe)tLYV8(P4%lhdtfi5L0 zRQQkjM~$%=ze6{(R7Ya5N&nO5`VINB?B`Hx%W|meq_HK(gBoTnJ1FsVu6>+CT^12r zQpx^sbjrR3tTHtUYsi$=mHl?#c(ZBAvb?@F9L;^2Pf{1OY?5tpClH ztutMMV@=2JFEOqz87{1SJeG8y&n{0I<6{uwv@mpg$(IM$C9{%jb@{g|*2eqZcyq3X zek8Y#YxbVzXQR*Fc$46gQ>NzJ=V%g1b@8cR^T$s4Wr$j7FrJpnR5y>9Arr*3&Nr=% zpG%!L`p$-JUmjH4IctHeb7GI(6Wkd&ZrhXC+N}OnIm6X+8|KDrXBF5jwKvV}Ga@_o z<^2n!8*#D~`pH1jsNQ> z8=k)TyqV}v-=>omjTIQDzOP5}o zAkCz2G0q=1;@6osHaYC-IdOyTB!k_j-i!>G^t1X(O(Wz zH)Yn|zp`Y`v%Bj^WjdSI>G+TYbpuazyE1Ie7)Gw`cug54Va=l&c+uR~WjcLN4cgl3 zbLjc43GUSmW%D;LW4o)m@`R{Eko6~g0!g=NW)^!2X z4ULa%nWlNOPswnv#3b6<>x;)ky;jW%CzVw!t|D1YuwL)e-?#qMInGCo4WGRh)2H~D zvP%{O4H|!q_xhl~TzAGqnnRDq+s&mpY3F(kJ#u@zma|&9}u6+jViaK z%}TgBtS;o$7${f5WStbEM^%Q9+k|+=6B9(CRmR=R^MYP(UfstxU0PHt;v?bM!9u! zTm70iR#}>ls~(4Knlf+Aj?&x#tDEliV~ifAfl>P1Q_UAKt$PGGE<4!M$8OpbH}gBE zZdtSJ3P!xS>L8}}FdtUt8#>ap>b^Ov?!BhN1*XZ=clztf*Sgn|E&XhBnn$}nsR-P! z8=J?Xs;s#9tUA##XyERm$yaY|5xq3&mMYMF8T7|Os`&7-Tg!dcp1-*CkNMj_mTkJ$ z>vEb-b;%jTRu9adHUcK(_+$f2*^t@kGaN1V`V*4xaOe|=6=_h_MR zMRoipo#8pv4NLcJ*Z)wQ+hL=y}_T+AlZFVGmGW zdUq>lcjMUgOQ{PM2bCt-M=TB;G4jsb#ZE(bu{~U?`+J;UWo?#ar1G(k{@ai$^^Nlk zDqm-uyWwb+%ry}eom+k~c&YvK*5I{)v1MZpF&2(vj(U|zof$m4=|#l480#Sm(_(Ll zO!Mapho5PwX^^ZLd8ybjKpHt|>kN@3VrzX2d|#oMBt+6AzC&Lmof8?bocc?sG(QqaPcGJa^l?FL(q~)2rz6ucy3xR$Lyk zt+A|SL9f_n8_vhw6b0^E_SS{}>C37DgU5NsiyEDGX3tJAavC#ov6Y&0@tZSlH6FH) z$B)TM8j@cX5w;`E>W}!ILw{{e&5bY67G*Z!d$HTI6Q2)VvF_Ji*DB_S$Lk%8Js(|nqba;X zH{sws55F-NLLCC|i%;mOqgH*LkW{j=*TH=S175CQnb32$L)N$mok6#^hS(H`?ryp} zb%y(*D>pgaZvXyNy4U}U!{VIcs~fgj2N|&qWvBJ_s_Z#m(pGUG=aAv42TS|c%o+L+ zpSJSKmJe^g_B7gd`j~6l{9zcwarvr>rJ3&Zvy38d^(R|cJ%&bCcJHp1nqPQjR`#sg zryD=aOl?~DY{LtW6D2OXej{cv?RKh<`s1-v|Ia#y9G9P=jWc|8-{5NRspJ(g$Lcqa z8{oI%qQ@u60OxBfs>ZJjTJ*)~-sjNTlHZW<~aFn#$I>vM&I)X4-7CgEKb^dzTiv}$b=aHt z)F;mc**DI;7rk+{D@^>rF7hldcrtUBXnT{bDE!Raz{DY*D$#Qc#8nOI7jFmj?0@H6 zfYIH3@0}n1Uj4p#kyXpQnXCC9+*DlOk0@UF`=`Cx!z;$*juo4Z<4iF#zf&_RYR@XR z>s9L5rcIdbaVB+N%FYEH-)!9=b_Ab1!gK0i8DPptw zLyg`wM))$)P3e>-e@i>bsVl=)+%IjMpE|}TMBSfdzo+-eJ~=TpY3~BCeoOB4{H0*X zWLLq1(}f=8^T)PLlXZ(l~T z&wNe<-^;nb4MM>GkgNVXaF@F?L&zZ?6nm5jVG6|6h0Xsjo7h z(rmVHvL&~N?~Viw{Q*9LmRld=WATNgvP)&F64a*W#y>Yy-S%)`fBWWAm$9Mey3ezS zpL`GRGb(W2d6E72Bh0`_ZZ*Sa9!hSm3*O7nnWXJ}Dqxe{GO_+?%_sG4pCZk)>ozPG zQ1nF>>sLjMpVI$bz16oWme(x`bCZ6LnPJ|pRrM0L*;^h_ZOtZPG_&`O=k-Z?`xkif zH)m_FW)udykK_DSz^L)rpP+U*>adlE&d&J-5t|(Hy{PLFHtv@6y;9h}B${sP{BG>= z($!z~4IVqZ*0j)HsBKuubO>@QwaYiYIsE;|!Oqj(>m4|@yLGAmz^78$&7(K%FHc@C z+^loDV%_;veY&*u2t=j-dIt$i|h_gm5fr?7MC z$2o2drq_Jmwv?1&*sx^&VeOK$Icf4Wpi>dK!x8ZtmuQts|nQ@vot?1?EFMU2&Pj%h5 zA#Yhf*T*-kXhV-a_c@+t;v053EV3x|{_3*a52l5$*r~eb#5cdRd`R7-T4|Lrp8q1q zIz`WMso-fI!{iUwvUj%Tb6b{<5wuZZ3K1o)dbFi5RaTqE9NBEho0-xt#VzA zQG!`f^QZW$pQ|rrg{n&o;=_2Hb7xN+h>RaP-GCAIo9g^hujy_jXRC@PMb!o#*ASkg zI;Y(~mHg~$bp?~3k?eMH(1Dp}4;aN)e||qA-+YNjY7&Kc>x`e3Wn=wALtnMH=}lS} zo=x5Mb(Tx8(f-vT!ThD~*GijaRo@!%=79a|#GshrlJGO@cU&`2qt1KoQCpRCVBPTO z2akkXTU{LWgZLAsgkI4K7R}S%=6WL`-Ex8S+VfFE?wCfOT7CWEiRC^k)>6AfpXLvjaFq^#M zd@{w{_if3oV0Rbl@4MskMsM`sUAOG{Bywb9*s6FR9FUKVwR zgQjP$x?MH&zF%C~Fi+0{jg9xYuQyb+;QuJKR66TRhRD zlIf!^wzSrZZAkvjc&$^}vp4=8Cqf5AdCz}6^Ky;p_N9WQ+qQTeIJW-qf#>;a=5Dx? z@P_GjXyt*TVVQSGp(K}$$1XQmeche6I&AeU!-b1kb<_7aj$CwyX11GJ9eC)W>deYK zOmD-IUs_jOirlZd%xb}x@N@jx3(JBNGMlzdeZtZ38Ybgcs1AG_P1C-9%J|#m8jjVq z#^GDSizj=A^owb8-ZaMc*q8n-*+a?uez#m}`0}Qqc;exxW&4)L*)NS)H{`bU*#&Dy zQ$D31U;g3LcA3Sj4Iy={tIH~iZjfGnSb6)(SC5M~>K9#SiP?h}%uk=ds_@fT*w5W< zuj7IS(iekc8~a4PkNalSl7F*6-BL;hPYqk0Y*W! zb5g!hr6{&n=(mq=;=Ov*dR~o`4G0KKJg`;A_uOVX%I!Y=Ds|U#w%08h-ZF18T%CF{fT_JsEou0Qp3j|R%={O2=YzG? zTC;PE^dCMwe7kzhi;v06w_7?-6RRAuzi3jcw%Vv(G9uA2a^_?Hom_mWfWpyKqii~= zYP+#uMzw_Bd}Qb4(caZV@&k7@OxJr6GeJksHhAyCZu|zS`IeGCeS`1c-oqZ8#|dj3 zH6*>+eAO;ft=v_0d10|nBTulJ++yi#$u+c?-9~<R(;4Ra|^+3{56_)}5;g%8pO)=e=s zUQ@Ga#aWMzu9>c zmFpji-&@%Yy+6v%()oye&e+>qMO8O%QPO(!m|pNM@k!4fpY+~KzSJ(^?|KrsKr{Bp zm}RSXuvaEcUN_=peG?YfU+fxWBXqo(cxcM#%`ZGF*CfBrZLk_~u-fp&fn$|SorB|& z8!La=aW!pk?0MmdY`2*O6|x)Nq?qbAPSlrGzYUy`%N=d|(f;1uJ^Aq!3l{1RYHl3v zHtuxL%(jUyJ?=g_-Y;QVg>B}#DG_PCa9( zdV0;*!?&L-8FPQ=9_`h2A(_o@?AKDyz1ze3gWIk3^czcNV&mzL-9HJ2oWFEnjE6<0 zdEB$>7ZY9|OvUddZ8EGV+L3unUnp+z-u&o+`k>dpzio{=GOW7aL)MN1Yy-2Vk}Czv zCvBGvJKNo8?dp9lE%{TIpZk5oovV*F$y&usWMe6h#N=-Z9Y z{EvMbcyP%)f7=D``>}U=zMRdN$*xn~o-=FPmT!!Q&4uTKPn5piwTwxPK5Kq|)V#(Q zzm2x;vGw-a20OQLXK4B%C+Z4+2Ou!r^|V;((E5G zfVb-G*nyI*k4DaXQ^U%$sxnePob6`$EPN&-cRExViN zqSl6$KX&y!n|<}{l&F1qRud;{2fciha(v{R4<}k3DK64kfhs2=8>Ub7ocrt31GLKL zxK?XWPV-K^_YNoO-|*K5r)*v2mYTY6LRfjkh~_#QA5X4q=cM1ib_5!Q1Xs&4vD{nbMl{d*E+$z26R3oisOkobEMp#D24aJNfV5 zPFMHwoKwKRqCSFiaGsq*&V;IGzI~bo-l1@GKXZ!wtnC@S^16v0pY$I5VfAC`@H?kR zbRV4I&i{O8y&-)vYV z+dKQ!42Fjmr!e^4=ilZGxE?lAZL_PdXG*-)!x?*9PKNfKf1`O!>r2gqux$%AeT8D3+Z7y-ojndCi zKi?x}qw9>>1%KS$NWJBvw{w@-y9It*dq@shYTOS9A~^%Qo}9nL|Ma1qZ9yu^!L)kMwYQY1mcgar|&NCW1eP7hRmm@1K-Mv)t z;`u2r%E$6HMs1eA(I<-+U+-6%f=c$?F{e0cgGDLN4{5t+L=5~* zciH;9&3Xq&i&NBonOGyLUDC_7SIhRw8*iG1k3VFeG1lp_d+`C%FA@3H?wg|?9uqCt zu!@=1)aWkw@cB&AkbQysst&K%tiQwV%-e0d9IiV|2;SU%eP1JXMP{t}GsCB+OXAnN zEPUJd9B*KfFEyx=Eb+W29rvxPYjKowcnL>fA{od>o)J7LmIG_vw5h?`w@|I>f@>?Cv5y@eS9(FqL!e?$2+u@ z0dL<<7?&aYRnyZ@g?-x1>;XutSH?P zZztG$Vf`Ra%F<&Q>)wuDmzXqcYxKO2=c0E#?v_7q?Llx^l)^W`1A&Txz|mR{tlB=0}z%+Xs^t zEoVOJUT4(TaoK2(erp%~`r15dWcMfBcb{B>i)T`LPc%>|pJHi8y>pset2uj<$Uczz z_GV_*foW#qp--Z#)Gy{H z8ZD;e*YrH^|FA5$d9vGVdu=AWxKzWo-z8fsrzKl84pCPOIhALhCU(sj__BA~_{+>{ z1H5ST#%@(F6BaKB-Bx7UYjQ<0ek;HCj03EEGH3L$n-kaDE!|~l`di4-puv6?83nc1 zE@O4N6E;l9E_iG*jz7fDf<}I_;T6UlX1)=M>{o7HtRS0QPaQ9{KNfcW(1@s(Gqpi| z*o8CI%I)uF^!`*`mJOR(P5$GXENDi{0*nr}PFTQNyh|rTZ`}PeABNHfEk2f!U#GXO zHvb+rw)^_L?gP~fEU&CS*n8+WmHm?(R9DPjBX#?z)fkx(y{ni@|1Hn`;d*V+m*x+> zXRomp^9^ro$L?ISB~{+C9`SW|SU+E#-$?!Uh||;>^~*A1YJHndO^I!&zcXu)r_63# zx!On_-5PGM)hqtcGS`Wo_HEWki@r9Y<}bz7LCu!5kVw`9l`8dE-oCo=J8}HJ+Po2J z216GMNB6&&wsd0hw>Qj<*4+*EmX0LFFUK4D(R$B%6dv>H+dblDJwu!s`z#>i-#c(tVj9 zrKY*8TIWLLd5=?8>wa&U)+et|_=x>hv>|N9{D*TU#XjqKu;uW!rH9dXJZ>O)M1w5KJYry+EmgDR9`S0mf z5=ojCut&Y_sfC^W{3{XG9|cc^upMZW!Ej4ePnxjEy0AoLOQPEDw`K>ny`ID(Jy~uw zJ`KNoL|eC#n>9S6PwG2o9k(r|BfTzqsEdk1KidR%?;n(>zQrk_F7~MdeeU4#ru!%! zRne2jdylQv*Sb4Cqw>_TjFpy8M}MnvpSa3%W%}Hitu1tqs`ZX9^zkgMIcG11`V1I8 z?u_|M>d6zkv(hfFE&GLI`d z^G1Kr$i5r4L}uvut@4Arct zM5vi=8`=BK8^49_Nh@(p?p!?n}tIjp00VaZNc2`R@bd)3o4yY z_F1rZ?ZzFOvaO7VrUV@uJs`yY*x8y0@I1nr;61_Zl;80Lo3q!oQ*KUr%HEcKYIJ@b zK5{47;BCP{QE||Wv*SO8+2yQTyIA;HYoU1YhW-x%89T|v*ES3u=imc4T62&3Yrfju0G8RKG%J#SqJzjDGC4WvS+nJ%Q&l-+J%FbSozsy$jnhE%kk$sgTFF(t)zXtA{suZw8-k z*1TKc2g9nmKdc+5KCXHDn?RFK`^Glpo)>GEq%Z`77f&`A-Q%U}){^Br`I{qpEu64k z^I81Nv-+FPcu%N`&{Daz#dM|g$f5)~?PyHPwhO)ap+_0?g96g%l=5Zlfp3enWhYzp% zYOGe?$L3}HVEg)hy#}6GodfoMf{W3<`iG^po^Og6B>EQfd4EI)F1|eOr1Lx9zN&Pa zj6SRN_AQ`_Q|@?}@kn&-l7jFZk5un$nEYCsuFag%@6Nf@MO8P`-pw`D#(k@&&A(P1 z)_u?Xqm8AH1c?@6o~ZETfE~XvEn+tYB-8!(+PE z?w^_Kl-I{Id&(J6Z{PhEt=}eAFSfciNmHe~=*rNDp)r}II9+Dwa+4oqhYOU zGf7jDTc^FW<+-+z$AA}D){2;K^@DZSEM6FtzgL&8{kUbsCC`H@1;;Mcg~|rC-fpZ} z{Ic}$#0FvgW@%se#fH|i%Hru>Ee*ko=yOKu7ZcJy&$3l9_~vus4^Zd9umDh=-9=|+ zc^GqqY-zfPizi8w`6IMF2;vbh#9R|4(KZ*H7pS;p2z1&(-nS1d_oZoDv1xe zVG<%=ao?S|f{reTcZ%r8aL5%YCjHDELjRcs5xBE6AtS&i4&}UKlE{O@6N8cv((9II z7&)OALW-)27n1u3IVcZ=J{}Pg>~d8lg*Q=ZKLnAxbqvN6K-qQ~uoEn3Dpc1Wj4UPa#gJK>tH< zgB}Q!_<5jL59(>?+!~xdNdc|KL?V7%(li|D@j_(i3Y3v;aSksvjyS^PsXQx2==#WY zU$LKLOIcX**F{}n*Dw3$mqM=sS@ASW`7tZt)Kv*9kLnOf;)A;msLUIZj5s!^?4e^5 zT~@`PbEk~o-o*b0asQ2E6=#S32Z_pG_+P9G<=YY(iNsLfWy%D9qV<9Npdo}!3^0T= zp_7|&@~q2!Qbf?qd(DG3QM!H^1txCANNBi+-k zVkiq2CF0}n9USZ%h(i+pBse^-$w{yn))vnjUoc5(@Q~K(ZHY_Efh|8B3Hl_gRVR}L#WVk z{<}2quz)CN{D0Bj zB0xi1aXM})izkhfrp0lDf{rJue_9_X>%_u=II>NQ<1l~fDoa0vR&*b1C^9(g@K4{R zLvqSFLs#i3i=e}iWF)X?=x-PC?~4>P^@rsI^vc9iB90Jl)Tzc12X5o!Ya+todmcc2 z9ki>7Kpl#WaFELy1Rz9#aNT1(3Lf^smqHxthOSlw{g()OTh>1s zkD;!=M?ic)`~<{l2-G8^)B69gCfX|yj{n2SCB-pRm=a9uavrOE3uRQ1q^r27j1*!n zH=?$HHY}ieGxMSt4Z^;<^ToEej5>tKz&2IsgexKRNj)=_K=D zdWAL#&|M*T00U0jq>1Ep1fmA*6fV~Ii>X&c5~@}d6{wh-%0m}X5aTke-cb$1{T|=% zz91xkxVHhVv|xz@C!dJzqz*A{aUWun2ToKdj=-So%g>g?p_l#1OTZS3d_wR;P+U5d z$L?~Vk%)M4#0>`oTgAE+9pvwL&WM-HN>m(v>(u}GpgU0{urq$ z!2t>bPO*LG_2+g*aF$D3#V5VLi&>eQrsG$d<{i%e^sX8iZ_N_BZ=v73k6EZy8Tt; zB2Vm<0lUt5=ya)xGHo-CJG?lYb@xP};W%8o5nV3=j>FQD;CdQo4!Yv!9~1`?Wa2EE zH6bIGf3s^MuUBD00-C|2$?#M$G%RkHE28gpMBILYicGn+VvX}*tVT;K=&W#i=ODT~ zyB*{g5=i<Jv&P6Nv`Ms)4ObqI1^zRE6y;MAU(pYRM8;z5jIif*Qpa7ocF zS63w&+Af1cFoK7&C+jK>5(u>YA{SoNTcNY#Ac)@uYTzJzKz}1MW0S$Az~zT=F-6ec zGeXZHzZ*q9nWB@A3$%80x>LE|IZekOWWRD~U0s?$n|p*UWs z$PQ84BcN9CAiCn>C*oEX*fLKSLPt(`5L0Q`5>s6J1SNpFV(4aIPaa+PLTs+`@pNvd z8=*SAjyxO>9n0CNwJ!Y-Q{ zQAK8w_O3-yszm>fCYvb&9&9M$JOu*@oD&rj2PqR+@Y4Wc;-HiH#KVF4xcr&Y?lz^} z4b2JQfHcJUKW7rcpa}VbOdu17FtrbqKWV`20*FKpW~Y-a<@+_t4hGEu2&sg|jm)ss zgs$(A_Zx8c0-P8nV%g$w;ReWqVmR%p?tYS7$L{Q(rxw|MQ_$fw+Lsz@X~OYh7})=+@p{L@g>aD1j;D}2B@dUUz|u#~2)7{a zlma`tPR^3JZVG15UC+EaMMjrXbqI}N=(o`;Z!!3_3&YNf;En^JK2-S~5@a0C27{dh zf#ipCu?(;h4~o}AqX!XBLq&s#r$SO8?w%k+EFvDn`Z1ouPPij;S9WuuMDr`r?i_v96Demzz2ZN z%rgK10AIi;fFEEqK(!EKY62(#U4S0I0AK{b0j2;8fHi;$a00jjJODHR1K8bD=-ocLYj~=B{hSKmqq_AkWktDHx()R}_ zRx9W-N-?@JahSb>ofLi@gsUseQmkQ95Owr0!a2G+b=9Z;4G;OG34Wi1OD!P{P@;f4 z`_L>NlIn^jWCVwMYtZj0aWGp#o0BLX@|7U55G2MwlxLRmBGGuXli3wRKVrR$CaA>4 z8fbeJcq^1Fx{8GMI-uC%+P7L1<2>4}C$gv9Y-+y=NzRFwI|@-$_<=PJ?Wz2vRdx^mLkao&XaT`~ z7+eF21$zf$0+s;dn(;X(7R!u8j{?jB%mpAjx}5m(SDEY*bZV%Lpa)%Z{G%IkKbCiU z+1_ibJsdZ0xiR=-fSc#$W=30&jSg#;MvLl z!E%Yqfho2fx+<3=vEy+P?AT(VL;}A=@@;}g+Sw8wc4<9uN)gK7UgO|8MuFjwjJ$0!e6S$CAduos)`kKxOe)kdGM3zo^}Lhx-JeQM0S( z@BFd7C%ju*Rf@WmfdSmch?ZqZ& z_N`?E<<`_7ipQ0ZQN1*#`nw=nR@^TcD6L^NwG3$Cz%$2g0(BblVKT)>nNO_bcFtI* zR3Gd@aAI=hb|1{Mh*=-~$cL7HAZ@^IeMab;$2aTyjb<#m5u|>lDTDEG)T8rcn*)sf zYwo1`q`hDawxJHiu_S&VXwfD5`l0C_MnQkzQNc(vFbavddQEZt8sU!Sj#zj6|5`XA z6YwXr0HZTbVf6O747#@t0q)n!SAl!;XcxTlRjRxS0WHxN2}*+-h6>@%WfH_k6Cho9 z3snS-*DQSQ3 zM=(<0Obog+5W^5fX&_2gP{a$_QJo=*269Bz6%?(5kR7cn5!F&qZ3RX56(V;e6Nq+G z(C!M_LqX9x6Z!X4P&AK5_TCDLpJDRg2ist=@qWL|d!xa?G?~xtN>k%EH zph$2jVNgH+#s6>1K-n)SN9XTU-hY6I{P+293H-MN{#ye7ErI`*z<*2Nza{YB68LWk z{I>-DTLM2Vf$!@H`T8OIAnd37;X+#u*Z`;is)Tfm!sa z@|uO1z!MP6@QsFF1pFg{u+L6pk2JY6<{cRk5*8VZqu($N^&xwpJqq+FF1^O#(rc^^ z+zrvD1w1~HVPR;09o_of@ri(MGot&p>Fv6m_@6)L2r3SsgOCn4kHfv~w)Vr|V~@j} zoox~m?738`Gl%L1-|`9qWoA%DR$fL9-xcY2+cX$AwkKbHq9Kdxz3-nFLu7ew(L|74(2IMQ-$4&64HUUVmfDz0Qsdjh)eNRu1BW`{lvg}(nme8!0-fe&YbDg>b{;Es2yJ2?LX+H~;q0LWPO zCAnNtK|Y*7ev$x4t|Gv`8q65T50WeE8jw*iBe~KAYF*_*YXUbVW2IaXc4+gfL9SyU ztp7U*|Hg%OvKiuh0G{IXBcaNJ{{G21=P|1R=vl3lGnT9XeWlWf#IYd zan2LfQ9g`4C{L7@|7@PDfgcTk()dvhV!$2AB78~@S{eNA2jd;e1LuD!4{1;)8Hzk4 zr}2JvZv<%lC`Cyj9FWfnMLv(UeJ`tK;FIn96-wm2rUd?mIR2(|6z8jAhH(zTuW4|Mg6Qro2wPNOpCc$ zOLRz{oxgpZ8Y2A%0r;x`YFhw}77!X5z+?u9L;)EY0fmJDB_#pnf0dUSE!_uN_$#e) zNWV>sHd-rmf);bKmT0whQy_1`t3p)jcJ3gMA3wk9o+3&I$kWOPy zNV^|K+i!r;EP$Q_s(AvV>ltD+gEovFvmK*{f?0DRMyD2H^z8K*eKq6>mXB@SfTtOz zifx$$^Gq6r*$U7FHv@oZCq|#K4Wp|<{4Gl{x;41v!uQP^6G-$O#XuE{+h%zGRzQR| z=y(HS089V}kOVMbl9{_fsR6W$n4p`2n*wD3R1r19Xne?THb5837Ruo`V!;& zG+MBevJ$Z3P3vTXU@kq&#=uRjvXkm<$T%f|rz#YEn zc>-*tR50fPxP%+Arq7_@x)_b#0|O-&8V%w$I)hvQ>Hrb_A&(oO3<3V&7XjahU;_An z9lgmOOif73rOK-n!UBKDmQ1Dzc3prTAPxMJ07#y#!EOrm#Z<5Iie|ddM6lnb>JIu) zdR1PbU^WInnTtBcgmlt4E;JLcBTaP+t_y82GUuMO0QM>j;8Ou{9M9+;WkP%k;HvDh z7utW@Fucmks2sjyzXzjBp?H+rw%>aYbAa79@y(q9>014`P zK;60mnxLGU0WSfX;O7BhJb=n%NK2_j77gY=03Y1Z9>{7>_)ah2BH#l6gocSE2l9;6 zl0-mH)I&aj{toyAcq2bK19b`iw}2e223~6b8vv`pE(3YVhBUTFVV(o~8W%vn4DE3+ zX%r?FN@12mxEN?3z@MH3RJJY!j99rU+7!S@SUKc<2ZSl_17W~zKiC_ApBfWV2B-kk z0V_ht9tD9Q8{l^ls5SHl?}0`IlRZp=$Q}(qR{-4t`zTij11}urg23xnaMJ-l<~oet z1C*Br1tXO*2m^esLz+}5M<+lz*pET@7LXGrw0}_8gK~K*lMRAWcp{UX%tmgS*cqUw zK^aRX`vxU~sY;2yLiUx`n~Z7bKwE+WrPaZ?4&WJz0eS!o zj&n?dKi8MI&4nj9fEI3p zeRmiO5U8N_3f&KelgJ)W;ur}#8E6XOjQ|_<$R3vf(%u-&3G5&aSO&y*N+i)Wp`VTc zoKXe6U?^*7J||@=O-LSE;aydZL0JYuoik2Sm^6St00RU9q5+|R2mtE*WKdR6el0Rt zC5qn!7L9csQIG0#>h+v$}Dxi z9SV^b0ziPhzR6_gA)W@LMM%Okpr1hmz7ZOc87i3U1c-Tm==%VcfZO^|KM!4KUSMv9 zzC;uLNx)nVnDHFsA&Er44zhd|fPU9_4DR0mXY^nkg#A(Udjk{78|qVL3U+;1lU;|k zkTsYyw4uy?hlT^|YaG^EPC#=3B*NK&;U%&rFjz^KTXjdD>0P>foRkWi`PPZeP6+p_|)|O>~ z9dy+-tJeBeyK+lg>6W(4-2@N$-(7@xLmR~qA}sPJ8J7_;$r!xb>gbF=R5A)w>z4P- zT+_BPH&+u9L+?>m!pST}5$C*@IkT|Rf;Kau21Pq_A9AzNE-N8rmLp^7%C^eoZ4{l7 z>XVr}k;9NM-O^=kl}i+ETZll5+pH;+`I(!LC37R;R48{^k1W8qjPN2-%Md$ z+2^+H-GJdfx?o`Cwz)e|sUPar_bfSj(m1Crb2*C8kfoBjRAI0hLNhsOX0DT&j2yf< zZQ>FVys(&oO^I*A@ejEgP(}@hQ5nUxm8Q03CZKRTNttsI%_3=jw6L+z*b%nzkd|>& z+ppTCg0>oR=0xP_s*(T1>>$J}orK(?ksENzGRLMQwjFfs&E2n6as;moXe;HkJmuFxbbGhURe(EV&S#WDS|@4Fe3X997GIa zgc96MyitHKRa9egPVMfQvQ|iT&QoYCk5w>=T2zxpH&U-!S+7c(mN!-#fIU^wGRF3+ zX!XP@15UAeTx02;J)(-eRw1+WQ4B4$)fiT<;@!IqeF(k2H$`*~x?NJwHchOWN@31{ zUbRGx%+kZILktxXr44)9JDIek7k2ifs-`hmG<#zEdu!Soc*CXx1k!cFNGfe5(A1&r z8k12O<&r7nj0}ePay?^N>x|FfVnL=D;5Y+yAQm`kPY{;&hYBr7)&5;;ez8dj$;3xq zE+#5iAG*x=T`OLOb1OBkm5@%AMbq}R%k?Ek&BGezks!YteaVVl^VSWtB%;Ymc?!+p;n* zqVUkgRO)ieHEYN~DV`LajjO;+2|~914J$P%{ZafAn&|IoP2*jy^GjXH7QNhzO;{=o zJ2dB)n(c!>P@u+JT6dBNFOmt1#D#JsareNVjVClg>5zX95{M~{6$}5XP zhEGk9Y2mYXs&OY{JJmMwurW(oJy7e-QyWu^N)6~@1zn_|MG9Idr2CDrecvdUL>__M2nlo;M5`D;`B+P7w%9v@0p{1I6akrf+W=w3S zYC{~R4$}%GU2zzQPb{`mWn(O+{zZoBlzU&jbV@7t4|PSIaqp>@Cb#b0Ei-$dUI^8W z!emZrEt=FiFKg~$t4v;N5sxqqDoScC<+ZL{L@`))q+3y9>q-;&V}6*NRf1*UssoxR z27YaF8O@AuEs95x+|=X4nT3HvGSD0+k+}f+*GYqBX{rZ@%*D)U5iaY8WkAlB= z+37ZJv&=>tM|nZO0ex*5)nb`9l#pVX=ivCL}$F$T07ESdWREQI3V8PVQX;g zog_6iP?-X@idtp@T1178+D?6p-btzPEh3;O2>I7O0jqQG|Nr;X@8q2QTzl=c*IsMw zwKi>(ci7j8e|rQ|=^rykESW2!m02pK zNVe|{JM$P;zVoh+{nTfljR5NN0rd9p$30{l!5v2ENI{IS5tl0%$ZW;48?-j<7JxY; z@NxPPx$tB%PmOH`n7<+I(#ITy0E4Z93ld-!gNA}$U{8^v-$2$hFl>r{n5CLaD&Ko( z$Dv#EHDAi#eVG06Xiq?!h}(_&72o$kfj1tAzeVx@Ag{%S$?Xi+gfh3aFKceZ!S+Yf zZ8#9w4Zys>U)0^Q^mb`xE|z^pn*OacGY?DelxD8=v%V)hCGOg26APBzVx0|msldx3 z;+L`cCHMSu2Q=szrDuTH#{GRXMnVhgPttGj(}jD#BI!s6W81=AK(P4v+PP6)(yf^* znbmJCtSquB_T zqIoAuRo_LarVZmt-MC@LXd}@^sr!5{$xKVf+N(zac7m%ANZ_8(uW~cNRgPA3qi9Ks z*pA063yj5i-Pis0Wm%7`P3F}~U2nG$PD(1k@EXxw1C5a0>jG7D?}x&pNd6TTw(9NC z1l>JV;b_jr(O7l#f(Z7@$FO@&heF@`Hp*__^zRm@8yV+w(ngWG7ZR1b#=RcGwnx5q z#}e0XU~P!ZgmkXVBpYEiGq8eSJ$k=GXi>iX$n~2xq8q5#*(XuPj@pjqrGL&O?P0hy zG$L3Q-T~iSs`LWDBc9k(8;KsOjTE>?_szvr&v+41dPLB@vkxW8#@b&RZ4)(;oKC_4_FhM{|Y55D|*DR5dS&?Fn9L?Oxg*UqENjFm|)$VnB?OiF`S-! zx6c`UUJAPcFPj<294cwznYn@RSq?Pi=kE_jV9LoJs%%;?H#$-_O<5g23T%>|wR0L! z3O(1nS4pP-8Fz04vOx-MN4qVUXqmaojf(5UMwb`QR@!HDQ<_)z@TUt&*xEcvEYfhWKC`;UaA9i)}U$ z*Nx`TyB45QZvnK5@A!b_wMslk6e+^Miv@iQiZi0Jn)hw?#he?}C>`*xJ)KOQBaS;T z(Wy5VI#m{mpjSE^ln0?#o@i>`0=B#(kxv%nu!NUY@pv&GchD-bgku2(|KwU@+BN>c zCnT)3Uqf#InG^M+{<#=t%)CL&+JLSmAcH}a4*3u)|B1?oAHWQK`@)!oosbC~8q8KK ziVnMEUIpWF=8FMAop*hJE3--bdJO`0(_TiMB?ft4tK9;-aC-Wd?CdRf#Fs^At-)k) z6{zL8GW7~^V}LpL$$Vvsb1Wl8qm5$qE6>#SR|L-V4yxzm&Nw=BQWrZ_0UGRZ;|dE%3d(SU48_uPoz83#P+o#r&$Fe zpN3-fGE@P^*g;IK{^f|T_cXEL~yc zn>!K85k3uK`yvEGY=b&o=sySJ3?ndEFb6$&8xe!6$3;AzA0`5%dS^|-uCo)$UUA%l zkpfa@CzT7t`rraWo6o?9DPQCa!&bdOAAFx!vQX@ujxCqH7U-2@OW&qL_9oyonM+Jf zKT@2XO&yL0estHD7#xR<@H*{Ed0gbkTZEREr)M!~>}nkyh&n}E2h0YN7lieK`ep;- zrjPJK--XaO50y~gN*5fsP1S1A?r_7$O&J0GzQNimwdPjFbZtKIR@de;2OrhZ?VmrQ zr6-6wwmo3Ps=E;Eu9Mg44%R3ec#XtPjx>`al{y#E!s6Paj5+{`W9B;`YfbcTrm(ot zM{Fc!iNu*$_(M{Abug%kBZuSt^T*wPL@%`>nZgniVdEL}vOa?Af7D2TVdaPUx8Hh1 z2YSl_lAgnDdki*~X_{w1q=Dwe8!gW8J_0%wIb+1!l}D$O6-!fNsKn6Ju=9GWq)T&d zo@mL30mlzfRVSFsR6b422@0^Edqh8{<^#NuV%XT?C+Sc1*GF-0J@Uim*SS0vh3d>B zdPW6sJ7krrMRE=FYsW0@@^XcxU0aURsfihBIjdh^&%IS$uByzW`Epf$hzR6FXA{f= z24{O(INK8yfLRe>hIEk(EQE_8p!q#8FJjlp{3N3Ezpw}HyK~Y#bL3t*&iJ)#B8PgS zW;Z{rW-mTQLN%m1`<3l8q%;n9Jpz?kAE#|k(;Kv)oi~#izjy?ib2`RgqAKP(3IF5% z@W`)UC9zdnqb-%%h@YmgFHew@`gZdZeH+30Kc)IXn^5wx%tGN3jHBS_^Y zED(lCVnm3xIYe}f3_gPgx4Vn_8KxFHLqb-H9nKwUFzkOYB?x0gV*z^t{+mZq90s|X z%XE8UG7@vrULVK_7PXMdzl`FW9wm85Ok{(N?_VBiZ;{%UC??XTA=r-8L}DhPWi4^* zAH~LF%n(=tk~|^W`8Eythy-Lr|AFZIyH9DEVuY>mU7|Aq%gBC&C2NhDVE&!Cv*D4u2_Bn^ z;bEzQM~w|0jwX1toQ6k-2Oekp;n9o5eV;fWkNaMiD`(JC5oPX)y4n-9?lOB8XFH0c zJeQ+#?nL$8iOL&`x-!=3^C|xlq??T!<~#~0A;fwNi`VLYiNnB>7Qysq{bWtlwK1fWA z59(v6K0c^twZx!arzHpVMlCg{&(w+r^|@N{pnkJ9U{G(-N(S{cTIrzPp_L8lTeN|L z`VMW-p#H3O%AmeiJ9SV$pp_5mSh-dKPlYykFiPDM^>I&B^yK(#m!nj7q8xXkBFCck zpz#f;g0r~P*L5l}s}g9Kv*$3mk!UfNUWW}Q<(dy5Tf7(HG;R&5AW9@ zi?d0*{8@O*o`U!5r{UdC8lL~(!Mo}I0q<*mc#k4@_dkI*9_=B14nl|K6g)h&0t-pP zlI@;&g=eK=;cu)29f7u`7_hM=P3}2si(Tnk(xLH@z{gQ(?*#VA8~#zw-sMbSO7 zYj`*exIu~@NH{FEyB5Ua2J$soVY!v#wH~9_LIrz5ZVqir5 z9yJPOen?y9>=n{-kY$I>!N9g4wDaV9qFu11IZ(d(mXG`MFlfPLHI%AtI0kRTor40X zg1t>B16n_KV6x2TLK*YGKa_D^^>K}pWj=v2(7pPe59SVa|3h2qD?aX{$#M>VIk1-f zw{p(!e2q9*HPHAbVKsXo4P;aQm^*C!f^8Z@%Y~~R<|S559c$I|VRgFlU~cez29Pb=mkpnh z3^#&y!zoc#`;y@^)Nnm0+Q|Cw7D}oQ7UbhbvNFUx0tN`^0>P`!qCC44w)$e2nEnPu zeMotHd1N`+h?nD*9NanV)8IlqT1tm+mogRTjB=+{q^&5~878R{*9D+}Rn?W|>|xLm?XL~D2D)TTO;_4KeSjTNKz36D;|9xg1Jl%{IC=DRt71tj zvFZg$x%g0k_%?g&1D?VPZk_<2}D zFpbC@>{?*9QOhOV5;WWl!*HBo*uyHAmBmbau|ti)5>a=ObHWL=2#MduNKCn9+-O6* zDK`>5(@4XD;n-w&E2Iqb{BNmL_Z3bze3^>nT@uh9Dd$!av`dc|%MWcZJU( zMWHhW@0(2gXt4`yyWTpHBNF={nd}M&Vc)Y`5zC*fYn3(CDLlMl z7hkchnH+W}D_{gQ8lvelxd9taN|QGwBV{E`100m_T174rtVD$O_vj@6Uj9?m)s7lB z?-2pdc;GX?CbIWGU~QQB*OUCl{HiFY?*Ram{V}8dg{a>G9jk6VaPx{ayfqm5t|&Ji z^W{@g=W0=-*joVgG~}{)=ru;Nj8A#!1D`+OjJg~!&0};Zq-RFXN>86>GE4O6RL~MR ztGIBUDIi!6CcVkr`KHe!C%$tdXJr@6H8;s>>Yu#cmdax;9o4rz=)AYdehT`q~La}nE*tKq1v-96cuHnJ9JgdZ$ zuh_62y0MDsSXemlRwoudi!M%_%=$l{oZC+1PM+I}Y4Q41>!+^|SRb9cPM*7jE-0up zwH7v#K&zmJ0T_GiXcYOgQ}+8dC1r0)mLst&Dcg8#HrPmXHn?gm3CpwVV0z-U+O6`q z_a1oGDzf8?_2jm-%DjLYlHPZsYfuRu4AMHh^$qLSj!60W$Yq0faE}yg#cLwvuEE1~ zHFoRLdSER>FwXTr&DbAC}6Bjj7r%w;L-9zU8^0^|d zD?CdTOY2fY>Q>m2-Dx3Ka=EBmni`o#!d%V3lu6in1buGa?36Me){!UgSVWgz^YsrY zmipX2#ic~U>IWD9?io{@4;{G-1#bkE_W6)t0DV-shiY=D-W<`R9OpTo)o`ACn8Pi9 zaPdNF*vOd2r?{RmGL*W)Q;!J##?*%7v=yl#RXf~uA)S|j9i?lt)8pmZ!6dCVTX%Fe zSdaw;8%GMWv5FO6~BY_tYJ@%-H}Iy zHO#*8e*YJWi3vtYyyWC3#r*t!tD>Tgi+x~gP*gOy>lC!4Y(|9VyyD_TD04l?ya=FO+o1SiKGBcIX9hIXANI>METRXcn0Op7j0mRDl_ni&| z@`d~Mzuiwc3+Zsv4>M-aP80UoW88MSO-O} z&nWtBe;*q8jT!y76(_&4zHjSRe7FBTm|agEL9=j7(NKT*PvsdG44hHGW5fOP2CIy& zxOf3-S!Yd<$1LmTe8$qcy3eg&?n*A(GcD~)H2koqhu?W>oTkL+kjZdt2ng`ln7Ibw zzNmO$FlJDX#pMcFH@CeEr?~1?zx|Y@OgDr{YoH z^90oA&+cp*PiL~h^vw(;F-$hwF&orREI0}K)_(e&_B1SwvmQXn`SU?veE6%g2s_^( z?98g_L)`7gEaAiEN0k4g>FFHzL=M{#iW;4RdS&xwcm94HvoYDW|K9Ci?We!ho^FtP z&MGdRL!E9D`WHG4D)u)WggOnX@;B}OnCR61G0|zzG8Xlzp6Ijmy>TQfwGph1slm1D zT4a-gwYofDr|uqSxNkSyho&ED;GrpKzd96yxQV6^9`z{ARY1=Ikq3PipijPi!Ts+N z?zDHyuWKhlF+tn}>%2r#S)T4+)ddMNM7k3`trk^Jb!G0u z(v#)dd8m4#3m$rj;rgSc$^sV(O6)4`Yz4m^l5Ap=n5~D^B=qM%?TnINgS4^!}&Me9gZI z;66c(_@z$6$3rx7{NO1%SgWqhmwb)TM5$*``QbBH)qd&x=W(!)$JGtlJ}L%R1&>1k zFXmwob7pR9#Ld5>nm-saR1ftKjY#y$Ovbn!sPW2h_0Iwz!9q<8$^1J|Ce-g!ejDtP zkdIR?A{p6lYc|?&5a^hBB?ik7suYDqhdo(a<`n^IIaL`vC;WENL&zoyAvy$#>5RzUtWF(APa1NNTCY}7+(rZ+U`)_eRlhIlV)Ic!%a88?|D1ZOG;@H0)tz*yFQttA{+9 z3Sku$h~l;kY8S|F@8?XY92ANUp90=l`VtTvy5qC;wY$k!kRUS`VG*p(fhE+q0iw8d zgV0Z+2-JDh|KrVE%0%sY(*HVF#u+D)7>mKiyDe)m?xl$o$Hf;x=c-3yHcf!*Tmnkh zkkC2P;8x8as;6Q^V(=12Z6iH{`-xC7(=hRpYv5v0N_F(ma?!e|nHg#{I-1(MC(`pS z$mReWFDVPwMt1+l z=N_Uo65F|h5Wj$_z90OMij7)&bmvS$%wVc(gN4Lf^D7fhyOhJ)EwVp_u z77?FFXjF+JCfTjQVf?YlG@(A@>z)TEE^`C23~8c7;oJq|x(7Xn6&FV;ZVgOD4B+~d z%71NYDQ*qC_IoO#;rPP;N@{R}uR}z4!Y-oozrc)IdJ$}2!am>pr$G=^n;MFH2~_iJ zEY=c@Rep7FR@~&CpkXb?{ehp^=yHVN3K;hW3GG*Wgmn z5|E4R3H*Y>dl@;sE|+E6@h<$lVtYXM$XrB@o-9Sh<~6UpC9;68il+aL82KnT|L%KD z2CfPb0qATOt+)NYxavW09Z{|zERk5W^)+iq^LvBsC4*;d1AK@kGL|okiQwZaHJU{+ zshUOQg!hO~N#bzy=A14VAP(1CWLS3>F!LuKE>i;nd0?uRrC2xbDOa3CGEFZTN@=3rdWKt|y}MSQwZ9vctFZqONMV&S}m&uH%SK$7h~En3n_BAkF- z4|W^#ai47sQ+d&aSMF-g7@RBOR-j4A_~*ej$>6W;=TT-inIB8h;odX;vrX>h!I()K zA}IVxnZ>H;K@GtNvvz8g{wLs>78+|`HPA!YK9Spg?!JRBJG1n2^Y^foT?%hi^iXS# zfb+-41JI8PcV3540q#Nddp%+B62%8J5`sT=!eR$DbCXjJmeu@;wUea?xm@U=z&lvG z7`(#;9u^loSda_$n+)loE(%!(IXOa}GEbzuh?{%Gn&9Su!G}bf=X38xgo zx_}-B(KvE$47?^Q1aFPP08aq+_-3Uulf}U+C{rC~dJ`)oGNZ9fH5lQL#Ylu*TDUtD z9M%HhwYwsf)Z+=Eg#B*=dhrvK3Vv)H7GqGI9ROcbp5QgmOZNzGu!dRFzPO=WL|L;c zSJ#oKAZ8_sU5r%<%D3s_xXaLn^Wl6dD*rZ*TMgx_EqSoNwaGNWE(7>QqqBbdp9V^i z?aW~(ka~>90vZLJnC}p0QOd>Q)KKM+h$gd)i3)mf)&3Xass{8V2#`6rUeQP-=5hzn zsFfQirAKg|3V3o1yd+zvpFLSnu+lwX!2Hpt! z#ff;zCE!_hEMvm}n?tc`4CaYtk>mMxnWk{ z+uKN(ciygy#nf$Lmw^t@glBEuIt?$ZDX^^1P|gX@Ue#;*az??Lgad?l9kz7ED)=>H z){LsWUQ=gS)!JTDewgxIX)ZhEwo|BZVj%*@0}AdH!$b90ha+BY+8WQaTwNiney-h!A+o1 z+7{F!F1Ob;U#PypJ$jwfqWNzlc)PXveD!ti;p+h#!dlOt{#eoQNtetOZrfM9cfY7P zVqn#a;7<~fU-~_`aYGGgv0RIDt{cOxbOCaW2365FBLY;ci3!gLvUqWcyf25yqg(1^8J zx%5_>wEF(Noi<3B-f??;&+T`27-of!CEDMe9dctJm%U4HOV* z83l8|*0x+`+CUW;3YD9q<;s8{<%*y}6Q5Cbkm%H5YpgrrSBvdi?1G)JKvvKR6<)vA z4}acveU52F%p2A|5Kk8hNf=O{Of|1j6fWw$rD45>MM zc+#7B7LB|s19;6jCi_4w3~RY;U+h!sUvJPvYBH6M5m$Vh7=|W>GuMq2SlnIUf!P%f zJc5QQl^=sK7u>42nfIUxK4a5L_uG7V#@q3xZ$?dvA9mjH85-}UT!66~?L^8sgoAdB z&5@`+1|%@KES5Wm09auyESy@vAtWf22~!K_6h`k3a4qN&mAAK1z$*Fn%5Z0;SV>NS zLZ&4LiPHJlnjL_g(s)eyexM&a?}!RMfVS$J)2a)al^;_%|9LObp1m&5#R*hj$xl#< zsX_uM;r!%pst~)lu4+px-fD;4EBjj}d#f9UvMNC}NhIFw;^!sB>+-;U4XO#(+Yi|@ z?4>vSbkZZSov7Uebkfb7=Xm1MK0d6Cu4``$f>PFY*fFX%#Bbost3i#SX#u}F7k5W= znG(naErK3t3UD(n?_MX8d4X0CbHf&V2Y+crVR-c(n zfB`#dkElW-?Y%~^C@E02{OL`=2l17R7E%B!8 zhq|r|3Ga$FGeRhGtqYi`kpC9)K-YvFPz>c0Rq@A>)x<|UDZN>Gb~_3 zCD-Txha`A(O9YN2J_+)7u+LNXFdAeUY^h&DMeZU`X+##SktID-S7vcKP=!66xS4&}Mq@coo8m>1$* z{O5HBOg$T9LJ=4b%vw@iH&)M1zz0swYU`LImxL3Sr^j&WsWEWpP~Q#~^Ut^|m?pTt zqx{K!|A6u#RO>uStcPsK0C@Zc1JfI%p{pOH=tL@`s~>rvdD}^vf&@L$h%5_jDBpudmQSC(#lmlR@kNX7&VQ9;L4(%M7Ja_h=LpvV{-}3*5XW5B+ zD1Pe~$mi-G9Lp5_a89=opLXbRkbh1laXN_;>*np!%6gu#25ZU)^;$ zlK=<2)bBl5F6Hw3L90f+Lp^S7KU4Keb6$Uc9kMUEBu#bl=A3>o4^9}BB|>WRYyHdz zQOIamH+dK_k&)HU)S-;*XELl3=6TA|=!27nO{}7dWuTQ9R6`@FR`pMQqX7d9U*Z_xeyClCubb^GgTaaL~wT4u|S9IRIPi0g8Z#%`q_?g$hAlHGoRE>R&&^&=Wzc@ z0QgluLO_CT=*QE9wXX^nfF@MqeZ~JVZBE!!Rak$eRW-fe(lt&?i(_gh#$7G%w}kJS{N0EXEJW=jdZa;A$}R&v(%D~Bzgd9{QoD49#C zExJVwu=e*$%OLm-_k->DrlT)eB&pc%-bqD8~-tD%bCgp&Yxi$SB%Q1s$- z|F9|5pYA5YdWF=?D6~|ISE6DNmIGsXEf9wBGV@9;oqyK09*yAFwRFN${K-2J6kBHVP0mCyaj4HvvoQRV2lIn)LReoEsB<^7!*KilPRDOInhJ*(c(2!vF z<(zjXW)pe2BG^9Veic#}wW)?BA!=rD)fgSK{hJ-8duiDJRV25~rB5lpFM($dg5p+DVyY);gA)r)-) zyD;GF7lG`s^{&0}E@zy80*Zn@4Bj_@6Wvih^huJ*m6oRSCTaUO+3K6QanE{Jq825A2=h!DmI1(&t-F0=#s5=Pe)Tn;ui`*m4P- z_o@Wm#n;d}&cR+K6KaUg7vN0a1~1}Q;H4j>tia;reKe&fmxL&sUIBGW@7kB&<)$H! z<6gQ82U`QAKn?OLg2` z?R-^nyqhk>$fROzGpE0+jaPsyz{f?m7TBM=+x#3FGB0c5?P#+Z&_Ct!Beiyzid$3|Zg;8QYynqQ9o&@AMk41huQpxrwH+>;COx)z8!lYb)s+jZX=N<0cLpyaVQ34i zEZT*kms(p{m(JVi%MS@s-4(hEp59A1KM-u=SbmshPRLBdoIXp#pZ#_GDABFO%ssx= zU}uxhrE_|GonXbu*PNm&xUbRVs8065;wFAr+|HYiRhyf2MV9qcn4M4<9S5-&F#=u7e!AkYk;_3J(A z19UhK`M4uOv9Rga31_+AHpcDk(+Hb7l&h}m1MH)Qp6t8y8g2`MNZ2E|#=c*VLw2f! z(NZ3mx_E{E_$pBn_uD&+9nl3(8vp16Fp8HdCcq$34U+pqUwVV0I9U#pYyS{|k%lt# zGUfxyou=>r#rerdpg~#DXG!sLh)8-i@d_kP@H3fxdmrm!ColFPOg=&t&dZplElHQ506a4QCbtiybS@N3gCZxFl3eBRQU{QT?>9Mi5g92ng}1%4ez{-4@EA zI+C5G0qBcw0@U-3%B9^ord9Cz*x zAO>CwNZ80NfAj(L*((v6R+IUmQ{gw2%xv_*X)e5`!Q{-*5v5KaO{MICeJZNc;hPgm zh(Gb=e0j&>K<#M603Q6th@n`1sN6p`NLWv_|M`x%%hxXq)}L_rPA9Uvz=vKE@I6s_ z#+UM~e;u34;7|cYq{7jycClrnj1JJwcjU9LaH2cy7w!~CT8dw>6u;|8|D~bA(yzhO zGnq3-ZWsT=&e+D40Ob*g+z-D+rY*i=>c03 z*MxdNGCV}#370(qO)_nU)A4u@MF*XB;MyY$x7T0jr9hx*#B=uDQGJc(n3u+VatBzO zsvga0xfCAY5(r2D{6e|i!S+3Onw@ug2$*B;gUOx*y5CM{dOr>h)VN&My){#~dpdLh-NiT-scQ|GP>-8nC^PLz86kPG=jU7yv@>=F{E zpu~Dt6?kb~M~00wQP%aOmF}g+)z{NprT3A(t1S+#eEKZL`x}w9V`uzr*V%-H*K|i8 z@?>jp*$bEXkm9CL)6d6>j=)AsM*tJJ-clYyKVQ_N{}E~;i*I@87`9H+v(b5r`4+2X zXINrUD-dEL3&#B8zhuZ)H1J_@LsJS+14T7-~v+v?I-ch-nl4H2FD_bMjTR5Rx4+MD=I z>-mF+{&Ic>&7NlEU18^?=f0St>>bs}>Rr(<9{f-SmwK28Uzh8;bldavEEMk*bo%s` z+h0Y$u*>w$qZ^|0*8?wKxPE@d>9f=Y(kd-F`a+$yPQI;f*Y2t#?gQJV)VYu>c~D1y zNvU(dSMN%hkmFh{+leMmXxG`wubzfBM|8g9_>tS^UbxZp*nQx4-xr;H0Tdbew)(w) z4xrhXh#P?ycqr4 z^4L?oIDh`^oTZX{@De@D8U4vY{#)3BV9F|i^_Pd}dmq-o!DlZ$x9BVV?1Q8@wT8Ep z?LfAJbL2EP%+c(+8i;`L&r!|8n$G(^eyW~$f%ow8ZG6SMLE zR(3xHi8oX9uwyv!Hh;G4&@~uqye(etYT5QZ9kI7A$jVmLP)+4pzw*8J5M8y)y*=>S zp}y@j9Hv*DM;~q9oo7#7Wa$h@ibbCV%UR=-Z7udw)xbEADub{`;qNA{H zu^kU%LRBYj(?Ky?9LHW{ZC8+G!}}Q)o2=@-9Ro}wCKTNFLsW@TabMhKJNluaKi`fC zg@z8_R<)tF4nbQf00$ijWe%gfd61?$avRFDq5|+(3z9S7$iYf7S$fq%Q6?L-YT*y- zIZ0$&>0a`A7CeWgV>B7id&DG zYLkIi@)^He$9I%H;~C?9UIfIo|F+)2vxzOy1p!6-L9VgnA`(XJJw=S_SdqUEtHr|7 zWr-A2OcdfC$9%39I&5#96ik3Dh~e5<{d*4u0XZh1TSw+f(4rOy5U3AG6Sd2;(buP0 zEqn_&YFde_VfZe7uB7Y`<$d^rz3(-`)Png92oJIW?K}-i2!DKmU_%w%$=rCHGR9XvS+PYd|UD%a^;3WqFXz^UZ z`dYwF&!=dm>EZZh+m*LBgFP?6`CFnuhwgL$JN`yle)xReh+_ZY8!72(bgp4G!l%3|Wq8aw7>`1L4fd(vs*KDwoCDVk>v=TuAe0 z!5hZa0V}(Tf5X!C@B<#x1T%ad;s~^)6iyk1IrP_?;j*-LSX&P63f;L&!4s%BL{P$+ zt-t)v!y;(3^pTH0+XSv4yn7dK>FQ5;;G-oe=q&n4|3PRwf?2y71|jXSFl)j-48q43 zqfo}bW>gb)Q&smZCelWSAR`FCBG?>zu=l1<-1?*Hyv0P>;)ZT&=h-yG?p_TU!N!pJ z!AjN8O~?SPy=4ZWXuHLJ4EM2GViiGjP`}@oN_9}Ec@@>f&{^+3s2m8DZ|ADK{<^z~ zFhaEt71I;DNu3ST(zsk__JqXC1fl2V7{*^0n)rFgWGcUjjCk?@osHg_-9?--w z*9P?}i9*g`+N&Y6`s2R3>381J>TF;*U?Xu|FsAi{ycdc=5kiFpA(;fCs-%h-)utbR z9}}1JyIa|aN0N*XN4Pj!tWm)$lZT1IG1ZYDI@S<0nTXGTtCeUHT2!)_E)x@hp8-TK zH2=`6p45bBJtX7_#b)*UA;0&=t^PsV!>POf^`8Bv@Yem8dms7VDu4EHc2GY(HK^Yo zSG$^9U;UQ7yt%Hu{>-88dUF&IXsadRq&oxxd38BTEe_A=S^}P7A7ULjGtTCO*W^TW z-Gfj{YdhP%>AekN7$V(|>EsXM37w6^SKY$m8Nd*PQThXb-Q99+ank?zOe#+D#}xZ9 z0&#F1su^ch;Wes=AZbwlWej>)oFfhjVpU3=YC403u&OXE9>NeII#q}!LraF}b5dW= z;tHw@?R>Mf-F2q*I{`R|^MvS7Fj@o7ROXwy4#sE$%ltAnLHBTyF4J$3>90{UN$pBY z+^aX!|v ze-e;OUJn}iX#)JbH1bnqBfo>acMTQ!gKjp##A_30pGo;2%OTnjZf%PTywy(MqNiLY zTlNr+jzo?|d>Z@*Pf;cZgsZ7{kUUvU-2yo`HS01_<<}^(;4`Lx4uyz1h>C*`V?mhu z5D6i6z}MiE#oP+~1#Yh))y-u4gPX#eZ8B*ed70`V{CBoEKPNBsqHJ#yiJCIEknOi_ zo;h#>eK5Y>s)xtq!#y(;IV|pHs}LKS?s;Yxw3r849LscQTe{(Sd@7IPKVl}Y8%DgxroC> ztb}5yYVu;V%_022*c-{+ukt!8dy+5L?bMSzQLby%aV2ORPjHA1fPgKTXCi2H#NynJ zC=_k6BJ%3Ag%Fj35{-)i5_2?xih5`G%Oz)a$WghH$g5#VljV}3oHvT70*0H(1}hii zEjHM2;5rF7cTU3t!F6p*=XKO%R*iDn2<(Qjcq#IbM5?8QrIcBt=(ZjW4(=Mxl!@|J z(foHifYczG6TC&t^;CXHpy8F9#@rBCWX9Z3KOw;RmmKbgkXr{_MAbG+eQ?FDCf;39 zQOEkD!g|Yffo z@8OP)C}%$|2Hgwh)pYh5@x(?cz2mS;OOvc6RaINM)3nxF<%zKx8wQu}LV{^ErY)~k zx*l6>uRx#WI6SO)Ssl8Ll*j2X?c$P{` zi~C?7g6qk2xe$>k(8mw!=P?cjN4U4litAZKa}q)u=?}|9z7}bQcZh!&Z#C7uh=ow| zn(=%!r5Vl-{thU}`!e3WP-8F|$20-T0TB$|_~kfYFe#>%N!pTo{N=e)ME2kf>Aa5+ z(0a`^Y|YsF0-;O>$+-u_B}mjp7Kr3i&Hj^j~I3I}&Shl(;C#-N6C6sL(&@Wkp)Y{bo>c%#@k zf+JYeci;yVxQzg+2}s83BJ-u_RFz$VsH7%f@lz>_p~5iU(k^ery$am40r5fCHS6%s z@F^fmo$^8UeVm@r`K7Pb;5aV#4#Nd(&J&RA9K`*E<$QizJnU->fP-}K=0Ix{+^{`c zv|lrAG&)?q2#4#tH*g=`paT!Z9+DkeXxR|bvLW;`gdM|uZ4>j>UE^O1jfAt1GO~ns z8uI4eyCbAkM~4I+Ii%~}hAO~PfmmAP_67Yg?kz1g47yPN4TaJ|AMgGTeSi^1=pzSX za+&Uqvp?wS>dlmC1-N9(O%`FwALIvnK#sz z2;T5ocLghq%nvYajtY*R9s+w9<+b~wLx|{Ia{+d^V+CsGqD}<@^W8P?-6pPyGSf0#^6JLvO4c1orAYflaP) z^T-%tL2ewd1iTlh*!e!%Z zB20D5xSGVl@7Ht@V*xuIV{>J?V=t$~Vy_Vp)Ng^LR?L+97{nO$AzVBk>z)q_{0#DM zX~kg-knU^%oT2;%0cX@RI7>#H0=Dd@ahALoM4Qk2yh8mK%(PGnh~MHe{5{KJ%n`RMiYB~zaN=}+j01@x8RG|D!bUI1N%@kO;5Eyb@cwk24M*F>?{Q!! z+$+~X=t102*v|o_u*D^*YrS?%nK@>gU#lE^42R?3uKPriGA4KS39`oz{8mNj1gK!j z%;kUx=t3W!Ts$j zKyzM^`gP!kyON7efRxSS#=H=vMoLR(%6?N3w5zox5ZiUM2k>5G=ku`rXoqoAZoSUc2&70ov5qAW2Z?V5pQIeaAIgVzl?~Gc$#&c6mmyyW`IGg%k@p^LI zbUYFH`CAt0#U4K|ttPL-n0aIhcS$(>diSoPNANDV!65c$m0ATL0ySwzP)zx)P^JHb}7Mm-2Rtq>bLO62f43N_lVVCSm8o6Bzos` z75WX_IekV=bntef>WbU*UP-ZM%cZaG9lJJCSLH3a^kY{zC@w%~a1RICy#{>{#%x}R z+y9I}sfopEP9UZS7qpod#4mAxLA|dBwT{V#)r{xQ|fxE<~uU zgir_!I))mQ=zx$~1||S&IVEu}!ByK)Vk%TR2)~I0I1m7Cx%_L51o%L3pI)7G4})lw zu7uWj=dbY;*z<~os|+h!xxH7Rnvkat_b1K?o5I@U`j{2)H^4_p@u&ndlWRVumzc z3d~FjDSQW{xuj)>(Y%#QAzY=Rfm?hHVvZYJ+ghAIfqQMtEAZD-P}RbKeZxga&DoHw zUX1t}gb#1Q3XU0BddUHWpOTl=5oh@rAn0c>vs?nI%u7sJC?=1WR-PArtQ~w; z*&zZBS~k232{97ENf>MGfZgJXPu%YVpLy^TW>ulUgU!FhVGDd}NjkqF8v~qqINY^r zQB6Cb38CWJ|ozs8()>&AXbgUzFB~){9 zZDhHsP7#9-w1?giZhQ1L`C3%dV1NG3r^%SrU!O5y59F}7GTxyKo3Azov{5kzZ}rG_ zSGWmnx@tJ;g)faL`oKTagx~T6w@j@; zt1FetI_6mn?-?In^&~5j<`+Yvo;(nV)Lr|3Tm}7mVo5Dh#M!PU#iM*MIhs}sBQ8x7 zaTe5}6)_d7w7a|rd7`}~>h${J{>`6ZO)N}wMejWj02%e7(!cw3$0caXq;S{4%B7Cu zGrc5kfA?zFamYU}JKlyAu8s|uXP?5|Pz-Y$_nWJ*c5DyRmwa(spBX&dIDA_8TNbZg1-`GIivKVr>#st1E;Nx!sD5>I_l}7nLOcsA z#IGh2_Mcr<&p=G{NtV9?_+|N9iTi~x?~xPbClU+1h!`TF8O zw9FH&c$)M$eI`(PXWfvEH5RI*}%JajB&X_0X4BlGOQ>JJRyZSbq5GpFRA#B4n z++`6tWxE2n8K||lBrYAYtd#8%IW)K<7k35Uqpn_G==l><`2pm+$b;c8%u%9gcZKYY z&^n$A-m4V#Hx!$e5|Gxi7VS0V!Ht23aOd}McL`__m*K{JIxKK2+>_pU!RHEgg`?&v zSD4Ux>%xQoxd#eJIv@D_a@cv_>= z>$+<%lW;LLcnPbE$;_iOfy;jj_tgY*bzaq1-m-9nU7Ntip&CzA7QzpldYF2p+g3D+ zoL^(Aqh8lhA#ZOhS_6(;%oD3SgK_`l6?PI~ zkBCb`V*?)NJ&twj;0ks@tz%i*`?Vn2BAm>8H{r7}4g&wRn;s52IRW(@T{W9HT?m?VsweL{sa+;jmYo>nrH6u%YX$cwz^?S(h97K>;?? zs@1y_H+vQ+HpJ&l^Fp{kpSvMG!5X_w2U?#Ceg{&tD~l6q$f$(}^Fx(Rax`k4`#DSLfv?4%8J zI~*2V)dZ=Azn`Q(m|0Z8KkupwS74MpK?m>dV*HysEV6S~=$MJcVzFTi1TAS8?u#pv za)rI^3ebXiFSh9xxe3G_&-b1L1xV!3QWlByb!6rHKg@l9d=%By_w4MC*(3`jn;#n_ zz|JILHW)OSAiKdJn-Q}?!Nv$IT5Url1bwhYijAdMvjLMJ*dnL_O>2mxfCa^%fPJ)v zfC*ZB%7a#X`UZtSgvV$_ioXi7@Aur9+07ELZ=XJYy!-jwotZm#?mhS1bIv{Y+;i_$ zJMCbh!?vciYt>PG z{$*=r+o#d<0IoLYKXd~0Z0>6^#3)~-z-rO=tp42BgAajMv;p=5m^U`U3)#8m{Dth> z?8o)4w)ht(s8`KG@w52^Hcd02*PMcAk0tF8tcA1@bla~r9xI+pa6_M-d!hL56D8T4 zCby1eC*4l{-`FgV;!%L=zMpd|E4SI&e$L%;*NM$U&yChiyDhkGu^zoW>A9I3W}Set z^qTGV=lXua0o}DsIyh1>_3W_KRxPWjU3{Q%&J8E-S-<+>Wn16Zi>XSwrRw-S1nX?; z{La~L1Sh0K-`srSo|z8Xo8@k+9{Dh~cp#!%P9NB3rGBx>*%ueS<$9`v$2vzn@re{= zkP?bSjZbTB07b2@`+P|UMpEMF6Cn?MvyR7KsXg!tZ`(r6R!YwvyF06c9<1_9R6&n* zr*ti@s)riaJ%y-hs=e>l0X#=V&9}5@4wLjvsa4A($6EhBDP6Q2ocN>Ij5Y%iJFIOF zaKSaScf;n+)ocg<{LJIn0PCr>lvUjPuIh<=R~9#W(UT9G^vXjOy%jHks5dg6fEUYc zi_ihJG}hkoH8EnPWGic|ZFq7jHB2`EQZrC=qq$N_@$7db%M0UIo&rtQ8^w?Dil(;;Q1 z)ZLXT58pj&_Bm-U&U@-BM=zg}u@0^eD}J(NZ~h-x)yz6gnvYIQf=vnPu(BX(J zRhS5M)_(xts2w)wu;DDAGzC6Nsk2^=`mR)c$wSJo>#QyK$-LBg-r;xYRo!l`rnDVz1jM9wre6*>x zct<+a3B0URXEcx3*a}nB*(Wb(_kE9@M~<^O%DC;u0VFsu*XA{8d(E*K`|NDZoqE>{ zoh&fIAen$I4lK$$RG@nOjEdj7tI8RIF8(+{#i0rs&BfZX`~Hicb^Jp97#){Y#aubY z;5k$Q>kRy_xqJxF1ZvalE4h$( zoQXjkVfPBPX)D^4vEzmmA^N?F5ji8SbVR+_(px2CDnT4t85nQOZw{#yWy$+(2#NAXowxsbhQKE5OTQW4q zDsP0Ii{GGvEmb*O_7B2~#-_}6PKvKdoj3oj@_SOMn|`opY-*Ydy_V-Ex9xp$5tp&1 zOzM#C5{}j<-P0&`Q27tsg`HKJa#sFin^2XEO{sc)ds+EjR(_!!qHN-GVDyE%+~D=L z1g`pJyN0i}`R8G$zY3sCz@9#Q@yorF_|83v?R!#M_oNrjQRY~y0$k%9$I!2D*Rw}ur)PQrLXJgzg06*p zn*(LQ?r&9^dvN58fkl3-RE}x)si)->gtps1Eyj37^sWPteY1%vQb@^zCO7yXGLaV`o#$!jo+NUJAT(I zU&1Mj<-6IrPHI%wkKHnSbGrPLX+5Ui*Q?0fV^1JR^fi(ioS3I<>-x6uPv1s)prjW) zD5K3B`@@@Pu`FPnv!Hj+J-v%wI9+j|qw~P9g$EKlT06?0x0KypyKrXWgBXR@wBNC) zrDMtcKfB?+yN^wMqIgd4&#a4{-#0aT$#Y9B{znoEQype3IA>fodCkKNY0 z;kMo-QpIx}KfinR>WbA*Ca!+2;g=Gt+nvT3vhQiWF2Ieb0T&d)=|t%q z;lDm{s-$&a1Rv~L?uZUraxCVkh)_naHW<;;4H$b>J;@)uiyLF+Pk(F%^S&DIvmNpz1+#C3ro!0qx4kQ%QcKRTOZHWer!J7*wIih)QCQr-rofS{z2wT zh84^l71))=Jv#Ko%w9*v?{_=Q+l$ubZC~6loS${>t41ddS2fobF59)1xAlaTmJ1C# zNVk8gafMUMLu-xvR3@qmJm#n1Lf5n=E72e*pGJ^ znQu;RM%+H!pTaj5F9Y;95+3PREcPC!vRF)V1=C`2?{1zkr>z8mgJg)R?{7wLd zg+J8N7;$uUqnz;wbiWwao{PSFUj)2a+WVQes@HRgn4#03^LA+mCaDALZ2Z1Ov{Je~H@1^5$dP*WmR# z)_DE?kG=kbR?h!5o);n>#a5g$vobkPCdVzsyXBAId~4*hy3y;Ok1+d)*I$J5j;CaE z{`4NNe>3jWS9<;XkgnOr0Vc2Core?Ee|7Gcbl!3XLP`Z+aXPuL(T)2ogg-rVj`QG3 zCphQgiZhnKMX9Even&+Q!Y2r)5WYq@i{Qthqlu_PqKti^|I6!t05D|S0+`S~6vpA* z0pM>j>hLT=H^Ns4nO45&dkDWk*oHvo%F|iqSvb!+10fgReSI6~dx_WIfjl|D??W8m zAzJzau4wc(Uk`_Egp`hO3m)C4p9zn~(-g1Y4xFAqzC}-R>gh7CKcx$2fZyZwpQ1dG z-#+B^?hwAnUGDXNf^^$&ML7t0DCa!Rk4OGyi;XY3btqpX#DN!3*EBp=BFsZrhv#O5 zdvN~>!W7(>B3K2!Xa+)7v7_QCT-~_7k1Lh+DXumjfT?2hQAn{G`|4g6jd~^B%%W ziKr*eT^EP(MHb?zQ`))axuAiAhS=LIgxU)Tj^WymQE%aCrHvUVjhX z_51+mi{n~xC(fD2{dttp174-`*Z-6ZdiouwF2=i}=fRV^KzC>lJMx;=&Z+-}_k9SP zfu}^oWgP}zfw#`Sk8{RxO+j2b!b`}PcW_(|&UY_DScpIkF&k-4pl%ftQAdP=eTo0x z0~!A=c&sA@-y!Y<+M|?Y0>bud-<-S|VIzWH9me^qK`#g$czzsZ?8bFAaC`@Xd(xYe ze}nVmcLUD-h~K`=>%Suv=iKAG@`aCs1*g9`c|YD|;rh}{zG&kNoLLXNwp;qZ1SzMom5#0PJ=^EY`v zelfl}_=|leH^<%O=eW%-v^BopkKn*Jpzm<|1iom|HGI*}5ccA}1J^^ip2Kwlu0KWa z{M(Oi=C~KGe|P3vpxq@?4&ZtaVL!rxyTRYD0!OcL>T-nLxW5Da+hPfA(ZQ*%=fc6zhl;0lPw6JAl(Us9)$ANZ5#pvTtLAIpeo0>wt=sytu4#F1*bMZV0Ap!~efV$Ta6hhx5F~_o2)80+piJ(ieU@}wn~`<{LJ{&S!t(Q27Xpv_FL1q5<%>Q?n2WF->HiO|Pa`bG_YZ)-KPcgg#My{L`adFA zr|?CS5q^r$jc^Vj{|4Z_pHo{t=G3>5{uP9+2=^nt8P{F7*5S$_T#FEXCLFGzYnYmy z+$H>+IhEr+L)rM|7TwRD%9!dSx#M-!TE1P++7H*2dAvKl4D!>>agQPXX@nyP`BMQm!h7idvhdu2`wIvFVqgA^fDz$O2yr*@ zMTH2zK=>uXTL>p0U*|4HABQs6A&_OPzdsy)u8iY$L*9aV&%KXyy$Hjn@kP@S?f~5L z5waj#7UPXv4+L`s+;)~i4;zj#0NUu+WzfC82fYK=^PJEB3BtRdLQj0q>z|8un~!u;5Vj-j ztAKO&&aVGUN`nqYreHj9`8no`l)z4ROWeBz2j_@=0bNFqymqQ;x2tNdAcN(=> z4W0~t6@CD59Vq`@z;qB{!7ribt%d#u8U1HG&z*(30G>M#hFkOP8}WR7khR@j2b6=y zabF8^0!fA6#QppDrUxMzI2ePFzTI3=i@+fyBBUTV5Hb+l2!4d4NWUC)dmz)KZbvwQ zke+2yr>G{?F&}M@u&N)|6q9P=!r_;|QyX#Lfv^BFdlh8-DU|gI!fAxF2w>ZX_Cse| z1-*SYbd4T_)v3_^@s8*)7xC+mC)C`B?7YV1K+NQHW3f$?3 zKE<~SZU_J3nu0jWXWgC95fFgl^Ps4u9Jd;w%pp}<2=^mU-G7SfqX@$=j(8K#7*#;-e?585^*_FAQ^TRjJN8$s z^gPlv`P|Q*DNCO6&g4F%<+v>1Bm<%2JclDh#-qGlBkp-+qZeW%k?wS_N(?uJD(~eLyB;4R_kd@WgQ&@vh&K0pV4Imk>@Rp=}Xv8_RKTpg!ZFH)SA9?!cG|*DQpv3GEo>F680fgW#sP zhq!PLzW=@xdM~c6xSqiE5U#_a4|XdYw-wKK;rHl|BWg&wdM{QWxg4DXwhKZO3dy#q1@apUp)E~TRY-S;4_`w_CB zv*!Zd)6i{U*GRn2-HNl#e!yeqcM_%;-I;mt6{7r{5+9R6l1I2w%grILwRnUQYiwp$vdj)p zW*{WkDE0iT<7{fct^^!XAhCW(OqQbtW{Lc-)$&igWd7H({9iZn-$3~{6gGJpI@}!U z1XKWn2YMsV5*XSfRZI}zTh}B zCJQG@M-}>$k|y!u+;i@`>fE=sPPdhfDbA_(R3DIF%Et9IezP}pCmo9&DUyNEqeh+? z2nSS5*8n4f+N@cTWSXH+(Lya2?IZ^5qz_nY977z~Qg(AqsD$!I`)fFj)cG>iu`WFW z41afh^1ib^IWhHN@XvFmL@K1=_%bv&us$!G%NtJ)su$PC8B-rdBZ0yonnU);3U85k zYc0;>l-zFjS+{#5{-q%22}r!z?M^{+j*-TUQDDffK;ub*w2_0%<~ZruuoN^&E>3Zo zn0+di<@SacZ|c*2nS1GMGoMmX}lEV+2_2xBNb`E zCrE=$icfc$@JFpT2^Mi`gb79)Fg^*UNP%25m>{`Q7*n~rT%d3enU`_iyz=Xa;lQnS zNdQkJNkWp_Jr^}OEhYIH#ul*HL`g`*qF%Qw;sxCR&6%}|kW1JTh*F8(h;OTjZ+!xB z?Yc>)89aN454y)$l)!i?nBnQp5kP1`-X?(#x{1<>H}cL(E`Dq#;*lRvO#o7UUdqpw zs+WS}5qQqg4q1WJB`g-@Y86rAs3PVA&aMPX-Q;N+ly8lvCa1yEK>0RMzKRP-&5#Q= zNW%C81@O)4{1O>M*6g80J|y0%aiGAXmg&~JyC=m<^6)$3$^%(<+RFnTHISJw zNS*E+*KU{NiqLX8&3jxtBv*qXWD#;2{wOJ~D^wx(Q;TEd+veTfnAN$KqE$)otWtae zS{JTEbk8KKN0=%XdVv+$=Pgw5A1DO3DsplGuY$i#t@Q&m> ziHUj@6b8K>r0=2zvv^$i?mSNy6EenypAP(4R+W2P9tk9fzM$M?Df_b1kjm`8xH{OQng8vO&XX~oX@3$*_J&hORC!#hG<`dFSE2kO)+D! zFIDMULHH58 z7D6u1VQGAT;0+jP70s;gGUUiqkSnXEleI>t!&jY`cNTOJ1iU}g;ME$l>NE%m;88=$ zJDe1mRx7i5s#op~3NnGlAi z|8aXb2LTIO?ZUhPGBp~+D#=!@L4wpEL8C$JtU*A7=>H@9gJuDK2ed_%3vH1jYz|a? z9QJ6(Sxyj551ORv6s0A=zF^`#_}|w zzvrP;aK5I&<(0AWGFzqU5o+}nb@GT>=oFhgo3ujXJ)2NwO{i2aQ;|~(d6ccVa+Pw( zf~(x_6C}#zl)StXHHJi;@Wyi3Lfj)9m-3h(xj#6iPYT3rFZuhg=R` zA{3$*Xa;-ccy(RF8@e)DRp^FzDL^!7iij(eMK2B6X!L>5GlMClTcP`NOU2-d`YSk( z3&nVNkRJ(JFLhtO02Y6jqi?b3@Twf5aDF_+nxe7bY#eaHV)G0L%H#da7{2JAuo-@*qYjtQC zSO;i?P1HkDi=#(Wc~k8aIPtkvp6A#NI>K7X1T}>OHEN3^Xqo^|Qv{wv=Prh)7cQqk z21*L#Q4?4`^bWz|3+g#&-8rp|(e!453tG01S6#SZe-(EhSey1E$@B@nR^Yp1OdlvbO!^5hP6S-hCdeQ+&Gwa^wcOTyD3N;a!CDTce z#J|nA%R^daQ)mrEA~j@beCgqd<5d@@bugio^rpU;lI!_KGerr23<%M(?t3rXH32;C zipL&3nTb*`L2@N%ud@FPDW2eSK_dZ~#t$TtG-n*dMm1@Pf*pA|rns{@a8-gsrQk5d zHB@p9(nil?yYwz#HeOW>gLu>~`mPODxc(Mr49$TqD$}=uS!TMW&?o*k?%> zsD3%FdJCk&C6dKavN$BGH<8jtNkK`gTJfh>Z-02wXOZ6pWSzYy+~vIlec)Bq z>zAjG^8Yz~fZd~{;R0#6FeFf?dM`s7L_n8F6`>4Y10y&r%>#)HrV-SmuRTg5A;^F` z`EgLJRcHo5s4EVzhU9Y45P;B0dP_k95x&cgk%*i*T)P2L%-8=Hxj3?z8Y zL&?a3%EKfT)T(JTra~tIf#vZsT??Wm$+%@)7zfuC&f{fY*a_G;Jhb(uT zq-%Jw0i)lE7-%D=Q-_b3Nr1<-%J#nBgMYBo9>{WnDWb!Tvy@l6q+l-8H)`0D-|C7R z=}^5GP+eAsV)lzB`iAT=mr$X&uLh`WOm`xC40I@_I(_pc$qP9JBp^A_gGTPHAWcb5 zg=B^H<8)tbb>}TM%x-CQafk(ah?s#Liy8zrhD*UKR9Cv<0&iTQ21l@-bR_XvZ$S^Plq9tFZsT%+V2;E8mt7bc#d;h+?>Lc5b(Rz^!M#RVdA8Cra9Nddvn zXg^mj@Jh0)rDap>}a{Niv$&MkNE!YvCYn78jKW4Pz%GGFh zkFGb3v)uL-Go(P{hmM?f$Vy5wG=5E&4Uj1Yntx5icvxc)Yt3MNf5w*si4|i7W<10d z#2O6UtO1bW>n3=UEl}u6=~hj#0(W13^(l6-WePxd_HKqhXjLEvJ-HRhRab^q`Mwq; zfHule@ssAR7P zy^J z1UXpaGJ;&UtACdq|K%40?dmiJ9w^5f=!|Yg%@E_D24A;fTq2{34MGc+C3ee1hJbDh z24ouJ*hmi$@Zch{f*ugzh1db@LMkD~hFSpV>AU(|2Kf z*l?g6_B-;O^fe4-`(RAnU>;y~!xd~_9V#1CHv%-7_&LJwcN4z{fB{r;AioRx;HYoT zV19@F3jFTMk!jG*_?-_;pt2(K2O7Vz`61Az3%g*GK;0~4Z%1z6u|e-g>hGV|-fQju zzlWzG--##NKgLtrECWwyxJ%XlOFAJpQhx(}8e7u{RcmbMBbRAxV?L$95b>92>mEp| zhzW^IK{0LpXI8%JG9unFEGpvrZlkI|Q6;dbDljc*O^JyhIkZp9h)o1R7lkbBX6?WX zIYh6Q@1%%cYohdeiEiq5X9x1)#og3KD%#*h$nnkH*_!}sb1Oi-NRwIxa~sIE#HCR# zb@3)8=#+xVq^U!uB}*>Mb#@>EH+W>7d@=+!gtXSx^?ioXGGlF%BZC>53s4w3l5WP% zI69m01uR&Q8KCz~IlChCo)B6R)82#VS*Q1^naJ`x=)LMz?Y*wgLZSFyv^jo{AsaSF z+vRMIrK}PWnCtQ$MOJ90q+uAP4=3(LKTH~Y zB~%uxhGKB@G<}_m~d!==yL1Gf^q5-!{nwbk2s>WDr3l z(_mUhAG`_H*j?cBZrJ$`dk#kw@56>vK0LSw{%K5$o%Eb!QW;k)>uQw~LO*8sckzmx zQdlhohhln_w27f|fz!BUVrp1D$t_Pc192#+7Q^u1qC+>BiD8(A4~@zovcagj$vhYe z>TQgiHIu?8KqFQODdngoyQ1>A7Gi)x7s&=c7t|l=NpM1IrcoLj8;O$3&ETOM1%oy+ zREScL%>H_ED88el;An09KH9ML(v9L8&C-u%L*Nu2^0v_MEfod3%+OEe9T|9nnm7nD zsf6ZEj3#2n9GZVf)e=fhQg*4K^+;+=WRILBrl)S8ek$Ul!N%j7D}fVq#AdIIA-732 z$VkOln2`xHUBQF{!%Q5^GfbDK8;!6uU7n0r%%sF#3{;_E(Lp}2=wQqZQ%8dKl|JSs z?Dn*Knpj(C7ZY6yo$OyKfyYQg6t83r*6=z^at&qeKsO)*hF8!4<|Fjv=y8P$POqA+D6KvkK80{U839Z+{bL$x}hlkhvai(L!n+9=f zBjYKSW<90B#G%{2_>%7*)AL{sD3{5jabTL}UUB&u%++K76NxBmRj*h}&yG6nnbaQ} z%2Uw_49(nif#1cS7-_D%D9w+eX>b@d%crXFqBM6=xzY=! zvDXi*8pdoi9~ww(`xdf#6($*NUQP_2$$iy9TQh|2q(htWoFng+;p#Az9w)_%GtLz9 z;;m;qJk#IcSI3EEXK09mX7_oOWK*fPG-bAT;7CY!Re}YsESPJbVWsYijZ;x&BY(;S1-!=!NK>rH+KJD%(Xr2w{1XS{{~zKo zh9JP3%J7qVCIcgzFrJgxv-6DOfc89up26OF-^XxGnF6Y|uflEZrb(x@ww?nTt?Fa_ zrD6YDMPoSH<{R6|+zVp#A#!Fex( zvjR*Og>6>v7)i)>ER%QeC5;^X*~B+LADijnTX@KGAq&m$Y1p#~ABa0YS5&@)c$&p$ ze-aiuK2MWIx4j|QevVj9eExHAYbAN9neryMsq0fYaf=o?dg<}J37V(ZXmO(vw<8+& zj27pPrgMu=8F7(xZj`NbXWdl5H2%@dIm2k4wDvT-btC}hAA-KJ+FNSTs(nAO)XxCO z9!*e5fsv9hQuD2n0w%P)6v&W-jEnrLqyXd|-tu#P_Bqb8&zn#SPb;aDDp1J}Q(m}W z06t7l_G3ymaRPdNBN0w2(JMSm5==dd2y%g|6mlAO;h1JR;F|Ay%!IyN&*2Br9FoC0 zsKswJ29Sn;0aSQ0RSI04kh5;rk+`?**ujGFgG~ab6PgT3n$~U;zyEn!xlO$B^N3)p zfcS)ghMFFe-w-3^L=WWa#)~vND0CCOFNxzko3@sFHu-k3vZybGmzx!T zn1`Bln)*6Clj|GfDDfI1;074`L*9Y(whV>#I7h(O`}58 zR)H_l&rNg#l;FpG(glkRQ zz&Gy2^A5?P>vNJnd8lQInnudXhv9 zhTWK$l3?3Jfj89bh3 za57o|I4lou3C30n)~Fzj2WiTTIDdDL=x!Hq(RGzk*)h)iG0Ii5T8Utxcd(hM>=PhO z)>6r=%3~bk;GaXaluTVC0mEP(nN^7)&JZAPo)dMWoLHyz4p#!X8I5Rr1ATj%1n*M@ z4ru#@up_?eN|X4P&p`8@I!%4(Ax2?@;V{{VFfeogPU#N9mstUrPtSCIoOu$weEm3` zKoX`TKnyHKp7Vq)n59}(NsgALF%tPA{s^XUi5J}2A|uhoI1M^4&w|rY%Xx0WS;K`& zPc+6z^fD#d&Jw9Fd^jN0(-LNq;G7-9X+9bLG~TZ108k3RKZy*V5%*!Z^|P589(Esk z2ZITD?4jv=yT~yZQ5efJzv3|}acnVjK=ye(WHo@GB?`3Gj{`ETAn1bd7R%`lm5znH+;3Y){Wx*Mp?|MEg-t!sGUFsVx z7&afW!N3tx3Y5`UI~MaKQd~)H4+IWG&|;d<9-M@*!I;nPaqVp9Z9hckOFCc~s?PeB zwql{R8l+ivsKvS8+b(0n-oC$q6Kpd%vGg-yr229$R6-{m!&4I~D@CEX$q%=am#X7n zlR>i*65$NDn} ziI$~Cz=l|%9KBS~3FGKIe2bIIQECDi4&lpoaj6MZs-U_OBBf@ZM5$<3^e@1VYINm# z=h^Pgd)D2j00q#bSs9p`6v`CY1_eYxr)cJmnD$_CY_vb!`zJ1A@5czD`hby!hg6N!SS9SY%fnjb zp`mQ5hmC9xj21>p-HTbBzk++TpWd~SocN9QSalOKnUjy#ui@kMD6e_B-QB(Z@N~Nh zvJ7C5nG26Tp-UpyU^E}GZh0bI&DzQ&tk#i}NwkkdGrLLWZ;J=>U$nL_4RV<2%(NWn zqM_+LrvnQRcpiF<%0a=>9=h=m^+pEtz5u$=CR*8-BVhFF6Xa)k+h3TM8nd_LU_BM) zHv>@PXekh_F2OWn9md44JGkJrE=xi>#tuUEE{xl>aasuWi^3pef%p<(1UH@_1CvNr z8&mJBq{=xs@pni;$6U0^*1l)Y$EfC{T6QrVD6w6(l8!pmj08p*7~i>7H>@P2#y|l~ zkpy^aLm7)RhV3X$_uswfnRl(R@Lr>(&#=RwoG{M71k*6CQ^n5dvS!J*<@9e=DM=wCq{b6H2MRShB- z=#5$F6{%YBj87wKZX!gb#6y3!;A5IpwPg|eX*ejpkrHB4*@)>vh3Nve8C}A{ECHdO zqPm72vFxuV-LxtbOFCB3vOQSr86JxZV+%tL(GCW-55jeE-rzKm9%Y#3ilX_V490`> zFW|u$TkPfWV2@3RI$(9xWswka(HZO)RdS)G`AodKfxQrW2cRlY?*euV87>+Y-8j3u(mH`+Y9QavjI( zs0{J<{WQ-lzJiNVF5om}x?*(AF(c{MMjjiWk6<_;zR<5YZQ{0m$*H>&zzJd+Cetx# zP4lOQpES<8qw=2Z9|&+7#(Xa@SY4)9Rk69>C&3x1`04(s@-)j-Zy_dOU~mXx`6l)N zFmu?XHh{6sj|fZ$kG_(Jl^o*{6(Y}NTBVAQ_SaMGu?E)^UAu}C)CS`1UcN9$8o?wR zDL7CEe$np>MoRHH9Y(Q4^O&zgn_?*653r)D=T;})3G5xUci*v?x2&#Exb=0<#lXE-)}Jwr zCR{>Zf|CriYcw@g$C{%SmoI~?of_MYssFwP=oRO@aeyypm)0?_TYijl(nzo|>@*qO~6lYC#&a$P=w%AmFL_@=!H%RTIDc z81O6-&*MVy{QYCVbERRo3Xp)<3NezH|F@4dTX}a(>!fvJMJ*Z@DcW0THnZvlO0CU- zwLQ<Y()_d_@?qsIaE3lwj9$jVhFj z{#NMqos5bR@)gC{N0%da5Z!2Uq@LW~M*)YyQ8rBXx>mC9tEZU@Yw$f>oP0H&CMJgP z{r;xim}j$vrVaR>lrGo{O@LFCP3k^-xoea$+27^`&=I-I8iOmId&$PQRzh27eH`(v zp7yp&roAbeHiWd`Rm*KPk#SBS9YaWbPv|vyYMK}MYOa(Wb4k*JKtm%5cIIrsA$kFm zBiR%Oy2ZG}@#xzEHEbIWsMY)24cu!OcW>j_W)QYX32-C2H@-5EcyC-~Amv_rWgxvg zkiiDxSrW$LtZ>ZjGI;?y1hpU@{WFH?1(UgC@;>ZF$ssr$d#~ z6?wQMU(p^&Yz?HW38dErGAaXZ>_DLgJW3#!8H1>rmoEuvz$JOG5&s-^wGo3BIaAyv zRynhzgO@q8)EBLD)@$>cUYq}9wV6ON+7aJI+&!@E#gG2Gvt<>-_nUOCER)-NkoHc# z@bEaxB<$;xM~=^jvCYaDg~s!DVCF{RAz88H<6uD&tnV}x(g}xMbg@{+1OqkcF6Cs8 zVH=ACEL}<9OiS?}|9db~P0Rw7WAlqcNHF-V_=o={<3IXZSkp#4%s1|Joh~h9!AxYBD zvGQD7^&ex1rqwH0h>s*Z-&{!`(C#0lg1WDC+7L|(YCC@cIMsOY7;BetX0_T$4dbV2 z9V}781fzQjdO9|hSuz|RbqVW>?*0Z1lDKJzLhEo4+8wUHx&`aQa4&gk&GJ*2K z=F%~&D~G{+$`~i##cBET+SIZ>1N~&y8vn17my~x~T`*#A@KLV6dJtR#nM9+N!ZKvfo7WqjnlDt+#HE3F3w{=T3 z^27cf$!5&}k4(@3biD`qv%NWDR~DFf;VD=D(RC=GnnlYwnaUU~v6$=pV1Vl*&J#!Q1g3Lid9%D}PxE@Gb`55Wl6 zOkw0!ax~m2ji8;j3I#GfIctD4rV6+*cm%TEwy&qwpmQFNsC0W=tP|#Zi~SBG$6I7#2r^Y&uK9 zotHpkDxon=aiwChtAR$03r05|!it`qQaa6O0`AfB+94hprcW8sghr$R`bMk5sB)K$ zp^w+mSM~NV+x3JD(76q0zeM|DVdroi`n<*1>OsYkXQ#Ge+HNTAFhhry^P#ou=->fF z%+zI?WcD)>@5>94Ap5#-y`;l}Nhzf81#T*!$#vvGcG9A- zEkkcPu(XzQ)s^9rbS+Z3eK7d&i6M|J;=i4GwN(dM8_re}$k;!JcqR^iQ2jBXY-2t> zKY(-v)cyAd<^E;kcW+H*m%|Bf;#W=^gDP_U$UdE_vvshB$`gIvn4Jgq6{;DZE|f4bt{dw-k+muaW4oer)azmegbT;^fr#Uw zHw3;LD{PgsJF_#A*9NLf1LLgC4OL&V4B@l=-MJj-gb^aG(&2#G#MNI-p5Xkj+&X#f zwQxKql#?!nX&#{5AqftjJP74c&rpmEDHq!)J(pH_ZGoN(cy&llfO4VXxGyj$7d9Ee zV8DpfWje5k4ROhJ{2$eTEd`?vh`t6>MfBE3`Fr8lf?*qG+Bh0wU~Rr+q}v+vcCv-@Js`>NnFMvPy$>{Knz;P zI+7C;PO`n#tfWd{z^0BP`VSV$KI}RNcWpCQ>YX^AM9I~&UFC0F#q`o~j$Gn_Y~LUm z1($4~Dv{a7UWw79R#l=@ZRpH)C}TEMvc-4=CWYuyc!>Rj)hVh-yG+t9*D=OoG9PwS z*kQCfvt}RTgdYmL)9@1ye+-aM6Lg<pc!x6T zVqUGf$oA0ONv%V$JQD*8((zr`Q5W-VUWSf=Dl3hr@=-TJ7*59VI;ScvVJ~#?v4b(! zgT+V}X`C!?5&QECeMiGod^IV~n=h0=f4D>j(x42qfkhI4lLGN##Yd~wgnmd&K*I_0 zHzc(l$^-70iy4bd{GFG10#aF3FJ35t%?663)`6nf3CF-YWY5D`ro1|tEP6DY5lcVP zg{_M^I4^bhdGkOcLrfn@wr0h4AM%+e@%8tR8%$TRscQjzdyxpOH-)&&S^v06k&`pd z$ZP+h$cLHms*mJk?2Q4eLTsSp_LCx@^)J&d=#N)xHny8C0R9I}9S8x`F)-KRS-+kfwCx`|4 z?=B;45yT_Xur3T8mY?}cJjs>RgYMWv_7={zj6@IsA+@FJAzI)6oq(tD@ia<6XGrEL z?4gTp%uQNG4R^8r5$z1&RsWCj&0pUq?|@$EcVsXy?+V-QAh`@JA11l0RhZWoK38zd^1kBb(bQgU3q<#Ob-+E;vrl-c2uoM$ zDt%YW`)85VZLe5ZY97{d9jL0?!zE7GS@%rn-#8K6~*z2e~9A)5RUq{ z*|&!4A4HMNkr5n$&FkZ8XC^^QE$8Dob|dkmJz`QrsgBFpzQ>QW}c<+y%8PLyeAdB_TJbo9Jjf%)q|x z@1UbsotJ1bN3>GEvA|(D_+C4KrO{FLJEx2KFG>sdLr`zhDa{cB_WQbf0OG z{U6b$&*eKV@3@Y@1|MG|3D@MDB>WdiLXq#}ApE-*(>Nk3=d1quZ3&wXVKSsjih-XE z+z0eo%*Qrgtyapb3#34Y*nA=fripwgHo3RLFSq_m6IqjJwi{EeY zV;xVb!%}g>T8!gndn>ILM>a-$I9=0`=CIbzT3c4OSd%OyWIJMuR*IuVFY>dZvu_UD z!UU<>Jzwdb3yX+0qRI|oh3R;*2M%8)c>+Ck^d(q>pjKf@p_*0Q7^ZW0kR$;+2Zv@6 zfk50>kJuat-D*5!IO<5(RAi+vsK^C{)k^n*LhO*@tM)XosSMZ{_BZUV!6rvn&^Hb~ z&FO^%Jj#{)MZ@DrhRspze>AzL)zHXbDPT}qmQM^QEwvN9+W5Keepq1Lt5nIQ&Z;v- z>q-U#pt)*txMVo!9ccjWSOY@rxup&o%}K$@j!pycCIWnu(!ID4PQ|`Wo^IH>^*NmG z-Mcn7h5C&k*iZ&YT4Ln)h zyD)#%DJSm!3L7tO)hl0~0j^)fITR^Sj|v4E6roXb3XlSglF$g(3f$0}6>KSh_~+x) z!JuJ6hbRlu6fCL`8Tv=NUTywvwUmS$^YZ30Tr@fiFqP^gz)9YtE%g(<_9V1b3Fu7<-avmP^cSGNQu@Q*@KW$b`n!q#rqSPY zMR-K35yq%33mF`b7;$KyM;xtE;4#M9ZufW$S@5q4tCo@i$P%xjcax;RlXSgK3N&R% zI2g@ld<0fIUOMpj2Ck_VsN~h-VYR7%LKMU^*B+u$T9VWxFjieH{oU=U+LA*1Pt7 z4oS^+m^cTf?>lvYwqs8!?S--0oz=-EVTAA2zJNP92}Y~Tj{NDz3$bB6Hny#XB^M%3 zPC{QzdvNu_h9f|+DfQ;xaGb1m`vWv1lYO;i3nqBpYc;XAs82SJp$+=Ub~y=s^nnYu z(O_@$ta2-}Tqn_}Fo4-VO@`Rfh=DBn%Z9Msgs=;to6XvJsPo8yC7!nFZ=gs_6pmAb zY^mGB3{SRiZ8R?lT`mcomMWW}Z24!ni$@-ZlZS4w6I4oa0M=&quQ*Qo zEulixE-q>pc)P;B02`?>#oY`|TC=n*b^IKdJ&l2g8wx-Zs{Q(fl2p{o^xcSM8`{Nb znEk4k_Ed)3N&uLp-5fL<+STPQOY!Hu2Dewu0>JQP2E2!-p2RdJ=GD-~ZSM?hcZ z#-775O?)`gPF~g$`8~a-PNJ2()Jjz@%NCg6-c#YA40Y=yRIkHOy{J7=my@Vh9_n=% z?e*e?uB+ju>^X@YJxU~4$b2V37FhEf_^mUGeH?%_O#9v!5IcL}Lb0cJe~{VRyXk0I zZOJ1WtYZQeleAW;8otaxKK+Sk-X^1|*<^4QHFLHk3@3|fP0lXh1N3BNPnd@_*B-UeD10 zSlf?n4sZ>C1UQ}LuP2;z&fbna6)>BM6OVDMvb(@tyfzx2h4?~VbK&*~zg_f}xUyF| zL<=FYMq~3ZcR`}qphsW@|8ly`f4G-ES|o<($+4Cm%EezqA5?J(rSPfJMh?Y^H7va< z-mk^x@)Ws9k6hSWbUo#;M!c6|JZs3QkrG+yzJMf7U4@roBS7&;`WB}6ZVGjvFzi^VG9NI>8g zlUb}HCb3vvdcjL@4P~)BBOU1M`SBRjV5Jigk2|v#cv7$m+)5b~n=em3-QxLUZ0%2B zrTERUrGLYB0Qf8Yu3S8OEdTs5imZga2+S~)8AH+aF#F#?zg6+SkLd{DVgK!rlBV<0 zrqi^b6;gHma0ZQ(+1(ec{i>ybQ`0zrx5zen=W z+SDlP4Fn(BXk_kx7-# z%YhGq7t~Eo3^v@UnCG|8QYe3r6s=PP7E2+(Bg3>{EKJff9V%54QjMi8Xd`Gn41%Q~__zmnG+Sk81PAzD?*4Y4>BC zb3vv@@}r@P8V~i!i9N;P6wrz3mgrM2wFR5(IskvVv;#CDf_h+XPB4#gVw(t>q&ui! zkJmI%h9vOC?MH#Uu~Wp?kB-$kU_|C`J1TXSQoP0)6t(*(HPj~KMKo=z5k+ayuRnW~ z4R_xR`{)^@K_#ciK(mM2qlAqVp)o zB5e`$9F4fxtYtxzb%WCwTYF;8eCRhr~E`yrA*GZf-mpjbdO zpQZ>Xa(~rcXv*QoS|rL8PetN06K9>dV57y^C?J9_ts@zTFQaSG!N6nwryoY}CF6VX z(1(U{CABgY^*{88LMN5^M^ebGewCFyIP^QSSb5!1L$0G?L&QO`Dj0MKI6pIM86 za%mcFj07r{t?t$?cH{D#(AxNO%dH{p{jmwKOrs62pv<;Lw^d5AJ*#beG8L z-bk4YZyUguIoKB$UU1@1fGy}HI7AEE;n6mAY_B^78~^DiLO5~5hOV?%1|@=MC$~A0 z+b(Wk{UP45UpULc#&)!$9MM?>kZz}XFUEmE6S_q72tX!wCknzHftJSlg0QQSr)JRY zD@NQ1sWdP)D-xIY1>&xZjq}})xN8T*;qfMPC3M0T+|1;Hr_d5<(5m#J(68IrD%=`a zIN*g;C0JxAnO;mZ6PF*9c11=zplt3+8hF(Mgy#npKsh^KT z6YUJWw5W#8%%BYeb@T#_!cO%bLN8YWGcafhC%eH77eilYfYis92FKDGfm$X?5Cd## zG0=6Wt95a}rI7}^L%QLfEBmSeDFhs9}uGIpgDWpVxJ)y z6Y<2%d2m_6ZI-sB#zt(~PPs4Q>)p(u^bf!_b0~!yN>qc&Z~I^(oQY^lcUlZ>s`^tH zerjNw{B<9YLQx=Y!FMQ@F>HR*2c%Uz#$HVkTR+fs5So^0`+$bWNC}-{;|F9I(C#;U zP)KLJYA63Ndkz~Y{)ndBu!{OL?YdEWP)f>Q#vl=we4q>1O0qyib#aJOXL|lmK8V^S zR!Xb{46X34)0)2^=3V}B!j`rzpk1u}AjeAsJq-B<8rR^W<8f5N%Hs1%-MNu9PNP0x z=9@&rzIO0j{*0K+ku!vj+mhBhH2>z9H;!ahDydTO2Rfk*f=w{9eIRWD*=nvY}abd2A&|*lVm=6Oz#KyFP8K~Q$)pR!2FQ|D#5TSdRSUl zG+t9=413QKE6V`sVVsvj!>JH z65N@rO*Pa?LjG4VZw%B5w2>OE=yOMqh;!CdI-NHTtqde$D-fJg3YdV>oN9y`P&BkH zLLzkjIG`Dur6Uq5*l^mOsXK)k*xJwK|0SkKh6=qiUt`OEC*~z)ceJ)<&_kU4@d%x2 z2C4bBS>q-g=D{d{+5iOL5%(U^iTh9#3rlevS{~`(uj((A$|3o$#FWIqV07NB=C{YZ z((DWoGu)Sp_>$jf4rInYErbwG+;{|;cq-8nt?aIxL=6;spDeCDg1crcEPKlT0L0^aYS_p3U^$B*Q1*WOpXM)A*6d|I7FeDp~E@AMZ3pz*-2Kx`JIMxbrD zs@WfC8XI~rlvmK3IdDj;2J&em6heO6Q|GW0LR`->g=y=7Bl%BKrb;E`7_uBLwOGIu z_>#=0)i~f5TWipti&;!((89LGQeY-lJ4)R%SaUvc4zq&qA+M?<`O639B}y$;7+;Z> zhjMVzA6y%xY7GBGDNyQZVtGx4yQtJ%%Ai|K&;bOh@*=Bv3uPxsrW`oLIaEZx3flpo z%yCFC+#};W%1+z5gzmt)IZ|MOXBW%(UNQ}LFQAOGSDq6m9Z_U6As(BIpbQ*f$I9>> z!QO9Ldt5`s`6`#fXqPA|^iWvI%FA~sIftn{A29wEl|)7@Oo|Bkm~ZwRX2nfX1fSGh z#EM&f&L^|&Ww*AAqqSTYoS|GZv|Ov!hsEJqJd#0Xq-pVJZx3r4iEDc{j3<#%g)_S& zEDmAm%f;Ly^g%rPpqyEjCa^WppuhYvM@0EZ-f{P#7Vd4{(Vu%y-#%<+s{2o}b$FaO z@`xmHFkH78uV_zO@ronRYm2et__l;l`Vk0be1vD3tw_}$={Y~;$cxS+*byn)N)s48 z6S4nn61@)%JF>-oU`cBxmyJo14JKA5(kC2QdTyIJlt5{w^P>F-wx?Z#2)mwXBOgfr z%p=+UjuYjPe`|{)#Iv;VjyJY`e9O6>rRU1p+@W(l_yB}O3PiZ@s0)Cun;NKLutKh{z}CVyrKW< zaSR8ctSJS;@QfAsX%6$e6#t!AAS7U7^Uw4_`$klZ54}V8vmUV|RECwN@9ePXunCh{Q?$ajzy|0{YM0}^&b~1dgwf+mj z+XhbT=yAk*_|RTTHSY>*{v$nDp|g!oOmbI!;|TqMqT!r%1^l?*9`f3dZ9_u;PElyR z-_te!#U2M=_*hOTw2K}m#kcNphhC;zx_OD+{MO&Hqjk^bp8wq3)ADRxXgfu|9q*X_ z8c%7q8Hu;j4LI(zaA+glYI(I9uQ$-mhIKuAp6o$(|M>*V>(>sz0-c$TFt z8YVv2^VowuXz4nM!+&cI_t=si>4h-v*TvP=<+ZfttzMJ2=O;bl{gmo`hr7|e^h|Ag z-obxQ#PchTJqsy*x1)BY`^A5w+Z7J{HPXDviiFTT6tkb?(3|x4enLxU-oXR(<(rgZ zw|%vg*YZ0uDQuzlo9#>cw?9X(x7b6odmj5feZJY=B2iQhrSRA@o?0!@2RZi8%$~<) zQVI{U(Nc)zJ&%=BR3pE-k)l@c?BTJSdsa8nS1b6cMHXP~u}M9Sk3&U0_4~t29`u{t z<1DQ$!`oC-XUp(ye9_8~i*Oh!?kV~^zFTL{Xl_|gIjpziTgo)9MawbnJm!n<=no}O zdePgH@eRF2`C56Q0u4k1ZfQP;bE8L|#y96e7yb`@lRM}ePmk>k@v7tZRn-xg zqkeTNGSed0IU8=XH1haP>ioL?Z@_2h{}T4*aZO$63B(uM@ZFfvySv zBdKwsny(CZp9qGe&nJ`Slg}oSMj=TG&OhYPWSTdzPNaP^eEvjy_lY%t`7uWM`9gd9 z2foG9HS@#BzwlMtft>q>&+!0kAI88iQxiI!e2DLm)BzkeLfUQ&s~wbjAFu2PFMTeh z{+g$39=6guQZyS{Jx0C7FgorSa&}aml?t+pL%1$7JBCRE_wMSVzAsXKH5~HQa8k;z zs`~p2tN);adr3cGbtazr0yavOR))VkIH9rWxE_XWo^s1@B`;7$-bE6S0j?0>$%U1b z!`#FdmgnjI?jjaSbwohrUt~i{hk=fcqo(ImPMQ|eYd|)aYfDZ>aNc@~UGQW)*^jJZ z&OsNAee~QHV07h?YeNtje}x|pPM{wQkEF{sya%d&`~-|qqbW>AiZEk34FW(Hn!>cc zm9aqx0U&_M$xOz!>0}R5UFpNDS)2=*4is?dqZ_a@=knqlx01eagNW@2JMmkD?{W!@ zN~6mevUym$c{sO1O4y-m889GKyY2O@9cyrhp%vVy{?BU!Zd%=7<{|QRF zaX795ehz-|7u#QkVSg~5fjQ+LLFzZPuMbxWhz5DUbK}I53p)i`#$y&QlQDv2TJ755 zP_06jN=t1D$d=qwppKwI{sh$%kr0@rPRF?i+}ZXD(#Y_lV>;M;?CQ&68SNj2mln}6 zBW(V+SSFB@rA)?#e~Cs|btskpBaVeICMOQ-VVoVnBCF$%swndxhe!X2caK0sSva)| zFcB`~nPEn>h0jb^9JaqGs#>zUPJo4ckJUy)R?1$W0v;Dz`E{ao`&?&^S!VI-gz^-2 z^bT7o7>%RyVZwsEB2Y-AmrB_d4%eH6QnP|&Vim*7=$n`ogtLVVn?r_42trSeMd2Rg zso|V@P?wN-!$tanut@XVVNhoE5*$C5Qs$uH^u?%gRysX~3JDm7X+U~3Mp#rl1mdUb zxMUT8P4H1ZIn3?iB-1bQVcnl*;!&PaRK7XhAkB!S8-1x;$oEa`!}u0F#MpD4{PP9^cvbc9iOp+e2OwlhGBCSDq#_277vd`LM5x=RWz)Q zq++hJu=PBw6;5CYoLD00;wUpcEE>nBU^xG0cq;kBW3+!-1Tr2^JI11|+@=aLgcR&T~z zQDJ9j7_6Z$zm4Tje!<^)67!EkqfaBFrz!K*A@$SLLZEPUsO%|fDZE@6Qa?qlgqO=h zW%HmU;Jc)@%R}|1HCT_g27!Y4!jM9zD4PT2T^3B4M~9>diqRk{+p)&nJH&|8LDYsa zOAu8pq2w>~(gP{;xuH=Fwc%r{4?vlRhtwMC`HYO3!Ndls?xb|{o+fe@1(P2YC7lqe zR9^mxbmQZc*)gQB@zd3m`Sj4}Y~VEtl-h>UXH(|Zq0w2W%W8kh+%lx7MwJEy0nnx) z#pirAh7hh{Nbv<yyk8zt{WEEU^9|~7;zz=@hI-C z63VnB&o}IORYu;A^4V0`3Wh)Q}Df1ZGRhk!H3e2+bE04@3kL$H)-oLHMo(cL^jx1XcC z>HnW@+i&PL{}0_;v!2$b4Z(5+r~D2~B&&z2!em8ZjH})xe%k=O(7_U3DgXH}=vj|C zX~EpVymE*U8zm~ORG*6dfIiSAH+PT!#T(KtMZJkv?U0V%a+|1kUzMBQBBok{Fs#1M zita%@VE?sr$SNNFl~WH4GkH3bt76A9xu#78^F1sr!ERyccUZehmX!AZQ7KEy%9x4r z2#FX{d=?TMS{)p!G=Ix-T~Iw zUy`69$B{v!*x+5NEDRw5Fyv!^@!f7N<>^y-Z0r_8>$k>qbY0l2p{^pvMVe(g0$s6u4a0u>@sUni2%q<4UJx6Lv9UP z9E)T5;hwrwS!k+9$c@2Re&{ToE|rRqku=1Ebn@Zk3l{@YzcL~1u8AiXu1$mS?u5>Gbog`RhUTc~;cPhI}&!YgtZ%S4)z7gy$r% zpprn;S|mfX`1^(gSCYTSS99N>8KV~mM+j+!IUn*TS{^;qrnx@U>MarO|$Yi7()5AIzIvQ$^ay5Hx0%LTJd|@ zFtw0m?>1ROYjx!0fa#e1aP4C_P4BEz;5_{k zl!+uDt%n!RINb-fo^il7>O%rDp%nem<|^^=snLS{1C zr9M=sLkikj_9STSi~M;oP0P8v?wO5@aC_K1;X0TitH5Og{hq>P_m;=Mq_wY*#V6RM z(<$=SK%zrx5Z8ozlFcX*EUM-Wnx7hk1PC$WHt{;+D*^jAXlD<$2@Qf5#Yq>1OFdq; z1rAm+%?0Tf*rtM{yHel9^{umG?yyjX9!4khxfY{>I{kHDl9JF6|i^G zILI3K{$kiY^j#5pLK-u`QUkLy-0A!fs-%@yvQDtK`k~cjHHt7&CmT98a!fWZ8GQaq z=YHAUA6v?AKQU4vt0=qUb9>swr|w8D1>F{0^tuyy_s4N+@KW5j)Zo$oUP`HUlQGjS zZMfi@cxhWp^GK_Vk+d|F?=VLUSS2-)VTGFq*O6zD!@#hKwW#6&`>zWFTD-D}tMp>$P zDVUk8Id%Nz0`e`Qy&-8Tkhfd|NAvhEVa0d`qCy+*Gr~p}in8WC9}U%e!kcs;=-KI{ zWgu3(Uc4+Hi)Z%A5->Cx_{;c(yC=sWW%~eW9Z(qT%C>>rJf(*ARRw7{{Xu`Zz`e>- z1DUivL$*d~mwHeo4yo+&HG3;v*B?wixN={%aqljbT`^mU(j|LX>1S7%4oU4Rq~&yC8t-7)qpjgPB)q-5 z;MjtTstXmPD?fcIq~lCD{}6xhFzLp$fx~r@@R^Q10};I2?iW1u(gt8A45=PB;#7RZvEyXOINK-x$-Oj4dG6=(gI__(g;^SAv0s$m&@V8je#f6 zSW}uFyKv|VGvh)fk8x$>r>s0iw5C+LYuBc$cP>=UKV=Q6s%Zufc3{31w9bmkh+)L*1>@D_Fkvv8mbzi^h zpZ2I$OKzz>>XJTqhivRd!`N*_RG}sKU$T+thG2ti-@kL;Q-mxZu%BpPyncz`F@lTy zq8*nn6}{Kw3G=|czk`?-L(zMe_=TS3?nh>lIOGL0w=9%E14A*_-;Um7Nfb&GD0cS0 zx&ec@RWlDlM)59_aN$1TuHq#DGp-pl`OdkCmP%7mb%HgiODaWWTSbgG!-sBslJZ@_ z%*d@(SXv&$AIUQrckg;xTCivRnokt!w?zk+yH<+QH;MMH6}G0J8QS0HHhgzYVG<ZKW0H|Lm4UP18~1H>hT{~D0yRj{@#I8uPu&xYBV>A}gnML)4rRMjS6zMf*H z$EO6tnJ&>~cD1Tq3!M&G@MH@`#UA_%L1mgPC$D4xu8*O za~Xh(qQ)$|s#2*R$J6^>C!!P<0u&L8Lu@<@)AvBaJFqFpH5mFo@l1x zmrHjnk$<@G!?cBlVtFiOFw2`399%n7{xMG*dnPOPOjJzn(!Mx{YmQlGf;(RBR85B zj~(S{KRRROMO8?vDir0s7kTwcLABB)=U13c^|Oa63=Vmwr^Sn6Vhf7!>IAD71FH2{ zrAzuBL==@m9cXP(6e`g3+ng4M{Wfqc36wsPL4&W2&gGm=Pu$CEA zb|7`CXw}F;naLV*uw;u)DcA@#{J~%Rg~E+lOE&NMuTz9d*K@*>RQIxW*4QPlxNC6D zO;`fL3(HXWtj%YVHn>%~kPjx96yXzAO`=iOphbGdC#^GDD<)L`BTTK8>^jD)stq~p z@qsl3nujqk<_nfWlIlkG9Vn0Zjf=mv(&GQAAu^(loxiZz=Iwz0QmX+Bh8 z+&PKmQ=Tb9x-mnMb75nKG;KAN2KBNO!nXNm2EEc=f)B69!=fjcGHA`AXGSt*8!8xi z_6Lx0YI+ovVLk|aXH(2v`({P4CGp(~8}qeu}X8OA3#*7vi8zA)|iNFvX?Qz-^xBV=FH z6nl7+m7_N(c}o`!exUy^cZydw>-FD zmR4Ve>Ed(V1to(_r22g!JO=>uzYIKL*$mmEV$y8hMQ>e2O4KS=apzj=Q@In3pZZ{E{y+tc61 zCwrU{xm5Dy=c#m%B@ATQ{SDHi%EovxU>v|c8|>AVdNI***v3Md(dczzKTRRt{tM}2 zXp#xZ@9#vH5)B>lUO(dGA`CEUG0nD`H+eN<^tedxJw}5M>fuu1g`;%id}>SDjsRY{Z`%P zePFUCYq&f;9`hq>4b4jFzpdK1O}gbVZ0YbyK3!ikDYUg zI%Y5Al`1dEuBY-z7GfKCM&(7>?T}A`7DWD@nej^)?;}ys=51Re=&c^y&eAfJEL>M9 z(j=0loai*#5ky3bfyQsxyT4<+FNE=SineXtwk2kq)h6~OB=jw#S9!pQy5p4jnSR^+ z{x%Vb;E+XR0X{{?S(yAzt8<053EEM#ls2?qZ|27ej{mGT)5k5z&^8!xd{JI*?xy>i z;G(>%1FWLkCpRx3b=tD(&9ZRwW*!`p z1G}%ZKi!Q=s(|x^oO+RI2n0q&I{(&${G%_kO4t5y+Tal!X=gkZMuK++m3z#tm}4iu zU`d+}*a_Xw%z*k}T&q;}a(uxYu`1@+*DKjR_)m z5Eq$3K9s-oL9KJtDrxBBZ(wqpZaWLeNLYWi|N@w zLD^@}=^gS38SV||?~f+mAZKW47yHZ?`(VfUEQaAi6xcjX80v$qNTIWXvGU3HNPM0| z9{GT@_8P?UWFG05z#ix`4WMzSSgom z_?R3(aQWQ_^F&Gc)aVisQynPDxjrE$()W4}Ctw2N!{sl%H_!_!%}HGJt5bK&W>Qrt z3h+{?dRC#`)t7XWB3pZlxAqnaN?zmoPHI$6WqKtG);&9V_(OVSnvlHTDldYi>carPrpNPu|q497jRPs2BO z1_d#m2SecsrJ`d;!<=~9r}}_@AOexO@XD>)$Q*195n?hM<2gFo*$DR}hLx(m5S0^D zg9f{BKJl4?Q_I;!l6h|Aag4!!#H;UNKLTAyxj4`pMdao-ZfNRyLX0!}(Hm^K2WyH$ z-63K`o+nxD26iyTd-g7VALCarpT{uqyY2Q;dy~6nX6_C!(-k}ic>$so)?gS0Jquu+ z%de`=t@=DS{W=RBDCB?i7PJ_6GISlCb65T9?HEv22&ac)zEUam9EzBG$A9WY`}cUS z7)oT@VFGeI3Dj84c=qq{p1W`n4s5U756WS_k1G&m% z{Ls|t;WCTkrO;IQ=mE+Q6w=dMZF;So4>YWNKezBW7|7~qKgQw+CJ{*4*4C>$-D`2o z4YZAZh@Aq?730*e(oEba_(TC46=bqNs65%5^SPDQ^Qa7othI@G)-Q522Bt)Qap^J8 zCR;Uz(6hHm9cHqg7VkgKxYvT2rOllj!6++DYViry2@!1eTIpI3@+C$X=;sQ9ti+o?c8> z$5AD5JbfHJ(cPk~Wj zwO-|`y|8)Yl*Xc?N_0HEj&A&6qCC^ju;i6qc``*_#(bz(O5|}gS=Dey0Di3|R#6dLcAn+z%$THs z9S4>Xyp9O~FdO4cEs8oGcC;B7YjJp!C!Cr_a%HvZ+b#u z+7z$&xnPDnbmsLY1@m%x*Imd6-28{b7}j;0h;c(7$X5|F=lYJ1!6%AerlfqsbiH)k zm+R(_%@a)S$uV@$m+L~Y*LCoE0qXa#S;hK>sk&*=9kkUc@As6@;vK7?S)PS5)vGA^ z7M9%Zf$EhP!Bz_&92wJxS-pw}OPhf3vrJt25DTA+;CxI_?|$qlqJ9Y5e7mden#-b_(m=)qmq&}9B|G?c&)b{J4M+HZOkk!u+mR-VWJQ+)T12e3Fqth6n@J<2M+zPjPwmtcK5*kA{dUqrUNHZVSeF| zs!y_GkuvS+o`kj@(>5?}ZAvpyYZRL{SGU)jq_CmIBYZ47y+gV|14lso7)9>Hm$tw{P3Zt_?p0e3j;d+ROe%F8F+D8t!q+uwUC`L85~ z_VAv&O6*)dqaUa~t58LA4NGSc1k8WKO|LWa3ce8PKm9dVpR3L3$<36Ncs)Ch?_2r~ zs32J4-hSWB_u$@zk=2RRJCZr7R%4D{wH&_t!>X3^vQ2ExZDxha%WYk#`x=!!V4({v z^nzyT6Di$El<%1bG2gS4C6S6je*j8n5eIw$H)p{M*y3pLlCouhkj!zlT%ujwGgq&Q zb}Ko#CG>6jvUU?h#gP7y+*-Mp|1jffwUb?3QTm~%B?gp7E+6OM;WhAO- zU(NjN=xO@s#}cEZY0xv|Jzkcw)47TJ#Jf@1TcDvshu>q>A>l zM9);1-co4ZvP3_jihdFV2EI#6|K50*RYvr{NePX1qe{j(HfR_1pxidLcz#cH<(;D{ zMzGU0(IiZpAz2p+zit6FZoZ34nla0J9x#i?K9I$gc9w$YLAAG}N@e$7tZIq{VyEDu zbQ4<}4r7DPLPfQ%4LSz(wF>JdW*@8d>&dmqVg*Yh>BbM)1Z7X)@>P80f4UMBJ%O`U zc`6k>2~YGy#cJ!#RN~rqm#r-iYmQc}b*Vm~fGJ{35jUqGUOgqVuyzVc!-)sH^9o9z zCNg+=x1iL&SlVNl1qPSmJzaZ^-h}BfzFANzZHl&r0g-eM%CNRITxEdUEFqiOMVZ~Wc=&qX0%Pmysqg_??yg;vT zFCY;1#i)?Vzk>A+HxCJ*m&Ly1dN;%5-0^d(WN;vh6_B60!H4`PnhL=gnv`H!V4se# z7rPB&O{{aw9PN(kRX{Hf`%iVWdL_E4B8>9u?r_?lzeXG0#qeQvxDoMJODrld$JGf< z2XbL(O+C|%f#6SaNgs9z_alk6JG4hyu=@<-3GF!ran9z2w03Ks?XHDEzD=NBD!`X> zf;LfElpyCu1THi*d0*{u(t;uEE*_U@J5kHO&SnAg3gMo}qTW&`9xa zprB94`Ob&=!F`h7BQI{P34SnX1!1$v3m9Xo?pB%7$E&&>w(daQISH&~eMk%nt1<)Y zu{>F1xSsagFOE;vN5$&bWa{ISwV(=XGPRMaMBPlC?uj(rlVHa}HyrE>3~AQHu_hTa zv#7PYex~{$eJGBEaGZ?5>2Kr4Zin$9r@78i2FrBhb6N1Sx$p}!*pSLj*s%;gX0fP* zRW;i5A{ssb4J&vk14A0)2K0+sE%h@=4Q7(top64k3;NGR^wm%@on!b{VEC``zjZtQ zHo?#Wd-{(dM>H5|z;ZEGEekqUeOf^tAi_M!)eS_%p}x@_YC16fmu|<#?sJj|Uey%^ z;!=pqIT(TQk(UTFJBKteRRAA8dQq~{M@@b~acqAAwg<=8bUV@>=JPs7Ux`(UVT>~4N6GvwtCuL>86S=mkJY-y5pzcl~O?oE4r!N%Z0*( zm%6#1Qla`iI@vRvzbY{zEhMp9r}K-TLlU|pJVN5TBUJbkia)yi2CmE)3FG~dB-of2 zWzB;{Rf(nbaRz5|dy9@S#DVOZQl*SvZ#SFE; zwTbj*SEqpm>SM~qzaGI*2h3Dxst8mr)I>$_)F)gQNp^TeMXuF`bTfDWGFGrG0VnB< z_#?4mZ(b&^V1~=WPXro4LCN!4O*cRo1Xt_fjd?t3iTxuwYH!}Is7nK-7Gpk^r0yKMp4pWzUjd$F;hVq^Tg}QXDYXMX41-O z-TVE?PD}?YihH-&y_;;u5F;}3O0|sZPFF=i-d^vm2JJ%YrdomCji>VE<(4UnRBqQ* z^-qjF{rQFpg<5$~wIbKPcun)}Yp&;9V_Yd;jbhj0K*G?w0`e5QHu;`wT|Wj}#C!90 zZ1w&71-b7vG2;&VCZF{)?iW+5-KbxA;M6it;+p{)VbBg~0uEfr?Xkm2ka@1pFNSRc zXb@Po)___mXJ46cdRUL5cIsuy^If^B+!7Udalo3|o~zd`tfj#f874ma!f?(B`VDQ7 zyW|GUtAZ#~RB_IA{{{);ftGodSyj&}7E6sT%1-FL6oJx(7O|Tu$B?U1_^OWU{#v-J z@N?MTF3NACD+P>Op|Vs)PN51Ll(0~MEh9@TY$+PyWAFBORdi5ksf%KT9d>|s{xF@h zzZzVEO8=_K)qLLOs+gs$#2(2Xi45|H49Qf}91$Hgz%wX2)zLwQLZo1n!CoZf8|7Ay z!3gi);L3QT#0ImQf%3wq$topfoG7pbQDH3?8C+5To69dbhzaBq?)Rgv5ttEVz9X@U zhy`OdA9b_%QyUK}$iF#&54&>i1sSa3LO9OR0qMoNy6Rkl)&uxnOi%qs7vmn30i_us z3fbA!<{pG4yNn;Qy{pdozKS1G*cB88ORqe{56MS@v#g-oZ;4$u2F>GGAlfPmZ zWF*i9!~Ke0j(5A@(-8MyIyp*-VDvbP=_IR*d9Fwg)-E(QZRLdgP1GhX>h-Sij4lK- z|D`K}7sUGg{T#pk6YPsf7wU(N)ca+!V@*Gl*z)D@0?e|@QvhhV-D$`ev-*rt5NEU?S z1|*6iot;>*8UtOzt-0}-i2`aS5U$%3fpZVif4kH6Hqw84l72BqKd8$Vfb;`_{$Ypz zL;6LJ(yyJOUx~i`509}tr2nT*+n-5K*&ajs9zegrG3_D!>__P{U4D1K z%M!d-ol}{BKs?h`SV6>HMJmXe-i*se*Z`ryYt_c6|LdKRznUrA}47pFs><4Ps_lkOoK_ zJSM!!;0Pr*<^m5@r%i=CRFgawaXk7vZ9T~2Eb!=cbU);=;87l(kMPJjGR1>C2lNOJ z*G`)&@^GExF`MI2*J(S7JWh71EI&DpJmfL+5gs95b#mK$?ubH`PF5hZ4DzE9SAv<$ zsUbv!0FW=|y2X68!*;a;cwWV5)I%4Jr>WES5%Meto`a744|!6L@-#bnj!wNb7HTR(IH{k!STJ&o+){MyG8p^2`FB-#gMC@@#yR=Q=0P8jj~!$3)}H+4{dc zKl?4uJsq|^$aBvm&nk{*a;Gf@d9DDRX>}}l$dl^=Cfj&)=l`}5Z(vurkAW*4+uW?@7JE0hxhegnf% z_}-<{4V`PB%R6k#k@xb+a`-=vw@ar@0K8R}730%89sGy9*G=)JsG4XmlE#6%ciQfB zAb1jV3Y3<{IuVcrOe5Q!b)un*g;){>dQF%N)>^?6N8JD}7U7^jxjfNlJk?=)3T1j~ zQl@1blk*+6Z-B}8&mF1*O2^k7Q+Nf@>cnhKqA9?FvIxjSx@C&RM%lUiWxuf?083qu1(vfiZzx$vn~@okxI&eM3{btqFNHP4fH>)0H_Lwynss1bA+6YXBc@}gIT=H_8{u1^aE_+kzo z<`ocAq6*Eq9c%~&<;R%-w@!!IaT?To^%`oww>1;|tEO{^46b%KQ#XvI zheAm{C**S-D$}X)-*q^C4`qD~Jn3K=M5fBRCfbMOaB!gj*A&PbpWlH%j`fn zo4h(;mUTv&6W5Fw_e{EZ{7^9Y9ls;&F&dDeP z+_e(Lbp!eh^CL@3n!V6Av=7n^u5eAXK^h-FKi=6*xI$#OtJbxnk_KZZ1R`8XB#Hxl zTs@mgcdS{A`m;$@H}H!)L9RMJUU8Z}3issQjsNyb*n`i08fxOD_O$Ez*rheJCv;PXmn|;-9`5T(=*CD2P7dTp!kyz#5@`YRbD9*pymIp= zT>kaz<^$R_MC(RxIuUH+w+X?~W{BIF%$T)0q^v!ef2cvD4d>(3@1!}n_AR?vn;Ryp zIKX%<1fd0t`_V7R&q!mn1Uf44lY&Dcqb+Pw(S7m_M%(tZJ3ej)w*%odH?&C%WA<{c z!})y1!#~U?z|#v%xSsxSUB~3v`?H7!$Me8lO?`q*R0^Pwa7}g6oEs+t_7xv9@}?OgMCy}c2vM5&qW$)c-Yl0yihT;Fa>ZHM-e1)x7V(t+Yc-%#eH z#}{GyNJwetI)^=oV-V#u)_NPoBma?&j6pWYD@R3`IEiGK!<3yub-Ls#H;l zM>D{o;AL!U&{yOmdSm}oeztQ`YJv6b@#XD~=tuMO{=@u4`x3%IE&#|oke^s*e!{u@ zB+PG*6<+;xHqPaUW z60)o{c;a+Bm$8sJ?ZFcs8e}=5HlE?~@(z79ktA~>y0@z={^P24hw9PHBu-@}oZf$c zyvTv_0dx-J=5c3k1nv1yJ8AGypaY6T6+c#`-b%UoGXnwPu8c=~XdY~I>|aiP$D#h* z#yRF;pXb^RTXQvw{YW^Ma;?oFLhTe>!>vo~o}WITn3wD$D!hKejo} zv^}DKGp4dwljlpObC4|nnGZSqu8q^b^KGbq2~BNWeK824Y;LnT+MvFM0JOl-02C+m zPw1rQ)IaUfHm<&Io(3F)kXiEosehH=M}s{m=SO1jVmm+_ z1&B|a5TCTc$ys7(gAp(Zye(Q0Mp@KmBbfb<0QQ*U{fX>jztZ63$rqhxIRoo-hx52@e~UIm2JAnf0q!oJ%E)3^P#85;fVCxRV>0P^wigh1T9?pwBir7PK;+|e(VnN#55A5crfi_UesrJ^Bq z9vnHXHs$&!-n2bvsY(3FHrC>wc1cx##}ABXirPGw1~LP-b1elPy#e7$+pQM=lGCty ztSM<=YHfQVy3TgBRaO5p?9bQkZoIg#W?MXv=RYD4|8?*nn_6X$a*HvM;z5RMVhTep^61h-&O* zZLKY;`iuGBvwlss&Q^@;U~SzkkkkA&mT`j%W~jO0%yz_Y25K7S`HXtHv5{rw+=Ayx zcCPnaH%N@B2X6vZ{nvi3bz;Sly!@}&xyir{WH`>+s#}0<;}LdlrjxDcFl)26=<5f; zd-=%j{LeuVu#5v?Q+=<8A|T=|Ke2zd_bvS#h?pqeSS(&K6fgNt3t9s8T=9~9Ew|Es zB4sVG_s@JzmbEPO_%6}p|%)JaN+L86Re+s(Ko_|F_zKAfbf}qrDT80 z-s(9_DJgB)>oLo3>t2s1{6l@oo|YIPHFp*H0Ak$(BBsraAiG)uB53jtuFU4HCn>Fa zJ#N5q;89vDTb;CuenTsNg4X*FX%UWA?j)_)M`+D`GvM=wC;ZY|paGHqY=&BGD>p{H zfKeg8YYkeSD5R41@L|!bzJaUmOvyVE@H%Q{O`qWCR1Q~jfPW6WZIQeoK_BAuufgPQ zvIcK--t{92nw8kVOVq(_TSy=JlLbf`mU5V<-^vlq$sy$Ac+x3H5Etdw8e|BC1A8Y} zym>U1N;-h+t;ouqNkf3Fn9!K4jbw42NkUP{=1e z9EygvtQ(i)vG`WEZAs0^T_{y`3wLhGW^@5HVF8!($=uEt_QC1hNB=t_d zFw3> zSpuVEWV@`W6r?q{!pV+@OE_59owYl&fh#&lec`vM$0t+4m5e(&wa+|qS_YscnNPMf z!Lx~3cr^x|D$NrLZW>dP`2=jn9yLImMqK=D^Q5td3o|n&gCw8JuYgpdpkUKzXQ`5U z4J=~!8Ii1O*I%1Yt2$e;CYw<gO8WY_g9l&Vth_^PTa+(~f*7&WR=a2UEqFnsa)4qI|8ZK{T=loFjk`9LCFi zX3U6%SSnk3#E%#_GH(Hy`!L+SeVUsxzI_^(yA=5&QZjFVsvw&XPF1hT6rm;5A4us{ zRLQ4QRMdN5cbHghr%@2E^M|j9@thlOQQRP{%6Ni2$B|lj8g_}&kQC10$wDqN5$V5z zk+Gtj^FSeO_7i}vP!SmHA*g!oi5SjR4)PC&^lJ1zB!!bY_O#0422wxolzPeOd=XVM zOHGz@sZo&1j4wXzSUgcQIKO*ws%*?bEw(u=Q709IYqBnv{m2pyFBI^m0o7-mR2Q7) zeB{W+mXQyj42@#5_vxJ4+(PL=qla03+V*`jh-iSLv0NjPV8GQZJ8d#Z%|A7nCRFtP z+8W(7GLNJ01N1%eyI7dafP$x&J;0q!&(py@iXv653RePTB}xh2X?-kp3-F%g@EE|8 z=br#P^n4pNKL`<>1~ZmoR&H%5hxI&S<%7*}!M9ZUNw!-hs8`Y8R^idvB}l)@mOBmw z5r!jmwq(`IbM4`V7?Ah?yl&lUoQ?pvlamIqZ4M9W*BBH*OC1kba{4G93TD1a!R$+Xy zhzT-18q66ot-!2KrpEm?_2^`3H66&ISD6HzU=Ud$og6jmm9lQ7^pJ1jNzKR#nYAQk z6~JW*ZOdCsrVln&$lx@fDFgYh7jAzEASTlNB$KgvI*7xteD>emT!G0TgL8bj6Bt}V zXQ!ZQr>y(4Z#w&>x#y77pitArC7F3mid;dJ0nac_;^3Fz zDZb=;uoT3jj=uR&Ga#7d)dEc`E39cscb#Ba64bDWV)zL!28f4&EFq?Za(c_@Jf=+r zvmP`%p&!QFgBZ*;#Dx5(Ip$TIX@m=j^%cs=J8Du8aY9e(~ttL{7CX`OTapU)hE`oE7)IoDr15}mN*{Zj4 z+A9ZbL!Jo;l~9!XG0CZGm!?Z30|R( zE!nuj0^c=_U!jF_F5ufcwt|NrF?gjAzT@X#t!l})}_ViE=7?)HS5KSL*Zm2hp`$k zTF2jMcKnUQV0^B@eVhoNa~Dh=Fk)N9>GAi$$qei%%d|Cm4N2qh{@AQK@L)W<+3^R! z!!ZO0@mCO02aM1wF(JA+O{fS+3M4ByjA+1M$J3h~=^O^v#qr1=ohW>64@|qJc_dr5 z?KPuFXXYnuz4yZNK(!=QNFoucT(nbSOgMX)XgPXMH#=4Ur3pHVoOF0_Vl{R{X-Z&R zsif4WG^iv+R1!C>bm;1A=D9in7)27uDTFj6oD-C18bmP7ux5f`kJL0mtTw8daohHu z5qu%6g~8kNa-%jK-X}ZkHLa45Qv43PTVq0bAz9G8Epv;AksJ5kpK<8tIzE`|iHwtR zFUU88lh38u@f64hhDQ;RV_MG7q9a&y5eHKPn-OCU(hC(T4)y4S;GV|A$!C}ueY=+^ zbS6A3IU6C=TDC@~uCBjdDI9&xMPy~EE}v#N5N@8)3^$OZe}gA=xP|^NCqcl`}7mU;`k= zrtK=u^(06G?aoSTHknM%Ts=P)B&)EPDr96oQYqhbwuP8EdjDv0)B~l7qWlOc<%1m% zt`hDI{66q!)oW4_OcT-n5ZeAKQlrz5-5g>r2y%V=izdgrkhv)WJEt-S`wRbS8cCCF zSdplvlHQ`p`yASvfOcd2lO_jl@lC8Ka-H%!>msx7?1y9<2b&47KSQbf(^)F}nnXXd zn&0pTBwD zAw4G=aixsf`swtp#rAz+wQnuE8JaFVhgUqmhnj7iZZPltFm?@?2t~MZAAO1qe`~8S zVg=*5ULCrG0V})js5ff_hs2U4?g6EAV*_hVhgr)2aBErdzbtIX#};RL z$Ay8IvHUT-=*W(qgi%WbBVjV>Vp-$@NLj|;Iz2mGn!SX9`6-k$p=$L0B$CU&rb$)y z%=n+09R82$&-|$(K6`=$bAU4eZ~+w5a%Vv;Z$c9ZEU>s{qxERwOc=fhN;FNyk2M*@ zM%Nl$@Equ{6Snua8oRua}PE^$XzU&k@sXp2aJ(!rKOQcg@W3kR^RmdY{>@N zqT*G5_7hMn3A!F<0H>@m1CDtm8z5AyXo8KLqC)WR@+!Ob0F0cMkkpRXpzglLH}K~c z?}Z!P!Xk`Umm6bSXQba`Lo)@?RpF7GevZ)RK&Tbp zDg~oIgQF;ThjVTxKo34%c~5u3t5UFqpXo_j5XcY>t`@Kj42!8%VfwWK(txp6kCi@Q z=~wQ-WCKkL|HU{^NyFnCN=?F$rJ8@Ug?g?&(T?Fc67CB5z2NQ_mhHuX8j$1RBMN zJ-++YH8;nHrz-hyUcpGi@F(B;RA?ZT^c`#ya-cf^^uzJOQ;waGkBR>16;9z@AR9a0 zLKTTYNO?YPXOn1r-w_5Ew+^!M&Es&9Nf!$?P8f(e z1K-z>RrLM^>%$n2z!->5Qf8it5QUS#{Pp};qP*M?E(k=FutqaWIWC=i4z^9mJTdopjx8YhZDA zL!e7(K=JQS1unF@sw*GV(a#@*yDN;3`$<5fRDst`PCLx{>+@X9^G_Kg;fAS5LLnK0 zwlx!OmbrNn-b>&kHR4ijVU{6_nej<7Tm+yuQ80Q&73~Iv)~C8A8HDoJ;0$NkaaNPS zc)vrtX%rfT;vaB37PN_|z}*UsRFx`7DjAo5>_Ntnrp*uX_2u}CQw}B6-#N)L8D|H$ zg1q709ML~mLu#QG?ssz>IO%s9%7q(67fG&GkZ(DB=9Do@XZm>D^^`*jB~z-5kSzl} z0LUSv@eZATn5DMYS28*Gn$4sIaSYlf^A>T^VX-kQLR{)uT-302Z6LpN`8#}rwvsU> zL++D_10jvY@@A2FtP#eD;}{O7&DR>C^N)-)hWVD3tmTu#7+rG8tI{>+Ua6T>b5Ki- z=HQQ|ttr8a70Z^sDA`pG-2*1bH&LKFqc(O+LU@)z3-_iPBC-m#i(DEjFq_3O-{5tP z`w$czz_uhTa@px3`V@Q^f@kMJx4xr<@!1%+8!l!_+B7)TRhJ_?%v&nytJ!2f25gOu zdeisgosEu$Mx1~%J}^BXA7Xh}Cg$G;Jp}UabA`N!> z8fh9&acgXi_@Q$j0BXcQ#JNK$mLIwYF)EEm)h-UVTDptFtE8Tw6@;m^=x*3K}vj{Q?so@nqs zI+^XWx)PJgY3|jS%DLsT25&WUifFQ6j3pDCkn_Krlug8O3juDy<57){r$Mc_9c-LC zbNvJ-8{WKXImyEPS@I1uxpM+laW>#A7!PZ7gf%YXdM(av>;}@~=8OKH&-D{841ZF7 z!-ZVqFdhetWf1^7?%&Auz5b2)*IEA)>zJU7o*@HWt3$t#rWs(SPWr2`s1PhKMLR%b zsJ6LoRlluAzyFDtVe@JX2HOtYy2fSPk~w2p8ho)8cOBuf)kR{Q#4$dNqb%clYcYJO zpokm#_XGJR*Q#7W&R;tRWL3wdozAMqrE#rm&T;!ODNJv2w`0i_Vx(b)?M?$SGDuBU zu7qcZ;HD66K6N!)S$QHHFG${>N2)N(b&{^18XSWS=D~*Z<|c9o<8VWXN~X8#GKJ(V zEG=#hxDS)eqYVbR>3}p`ro*mw;F1!#t<^pFyVD- zAZbWzo}^N6JdGHT8ff?TFlWdOLfCMzvi%WsF`|n@)}5F@7juSovJLUjV+it-N*h8o zx;9>Q7rMykQ=?R=TJ=Au9X{r-8Yb?Wfj$O4EzK}KW%U$%5>#@wh-4!L+u;Vs;f4v% zlE0u_IB#o;dw%>H4@?UD2;S&vm|QIMd6Hys@c(IW90GWB@`C=|nG-&0Q8;fdx-1IF z<$9npm#OZNwtP%3V8ALP++-@|BA%hCdQG+_EjKg+rvhp@6}4FAa6eK0HrzWY9JN!e z`{ufX8v+EH@p^nAyQXSfp8s5`T@8sDQVxYnGMDY4(F~)!74WP?B()RRx@B5z2#pZHlYotE=IPLfi?cEzx37r1IcxH)t!2(kf9rj5R=j1?2g-(&a5>6@w?3)(8sZx;sD{F#l zOs4MGO@(U_+(T(5*8pCs3g!cbzZ6D}QLIj9g6-)BXPVj{uYjYY z7A=qQgPVG2^&dnN@>@(4@tn#}D)p_bA$i*VK2pc=d91^#crM4p||pP z#E~o5Uhrag&KDWh_INiw?70%v`-Xsg~NmmHg;z^)ts@GKHO`!EhC6 zF42OIF}Z{Zjqt4{Go_!sFvm5!3GVun!X2BN?YlC9@7Le|WE%;-{Z@(ivEbaBxu75L zAFd7leK2hHES$l+?=P>WHl9+zF)JuI^-Gj$_CiLyEj#vI3KM^P&bNf#XSD=3+qky zxnr5XIv}+YzQo7O^xFYf^85s@argJhm$;U=_%hzBCA*S$$NxXN-aeqI>;50Vxp^eH zBH)_v5up`HCUH?|NIH;Ao(vs*%o23jj1 zO37v z#+J>{hi*JmnM-v_G@r-?;5^D9m)M-2WyVtVGh;MnitRiGoE8a~>^a7}fyezBl1I=W zQqy=E%-XkH|>Qt*P0VF670z8oAlHGNtYk z*iRxH0&|rk&^tq$ifQexo5lJRH>~-bU)IIUN?>5ACiz*QYSj z*!{YqmyVr%lbbD6_kWJ@9I1;4o{@R4^Uo4tzq&xJrmx4O80b9L?dy8yuK1WTKCSsX zUtCY|NaTytvCGJ$v9sg#F;r{{JyH!4x1?d*@tYY&MQDApDobA5~e6OJIGuqG255}FliJ7?XPxMs}_ zO@EM~`HPDVi<^!Sn>$T1 zoy29Ws^=%iZkhQPDFTX`xO9#U6mK7(W$Y<%*Q z=aeN~GHzI?e%3MGKx!6E^}tb53iy#n$f?-QGEIY4yV9+K{DhltP}*I)E;m_UJ=@we z>~*`&kF7vEKE8I*5;OqFPsD!WL|r3xG`ky-Qk{ZhwU6s0ke&!xTH8}mrm`D>D&&2 z;l%z)JR`PS0!yx6HL@x@r_F8z>jH0aBW>FNo==xV_ zvzcmk^A%B|l>@0U!819V&z(hdS=!TuPYzjtlPHvOT{3RJm)H+hcM$y^6!jtr})|697{SrBoXQV;f|7wUn)J# zZjKx(9S2DKq3=8)L;-i=0}}e=mS#j|;56%G+90G0f9Z8J3vrgF4)TXnb4v=!~DVFDK0`jN#y%TK6>J7Y0;mD;c(ER zaC41285Qoc9dZi6k^@(Xi8as`Q#znuV3i1AcK0y6!R;ois1uhb;hb-GuIJ{En*5p| z6VpLr;=UXtYJ^<-6wF?lkO0SYC8vI1$0d?H(Lth;LvR6sx&Sc-ofM*x0zYzbBvrGS zod1>6MJ3CKx@pJPSc06Kr1;Afxn3UTl1ZB^n}>^ID9w8~np`gpbB~ZX*s~FF^#s?R zhEx2eaVg=Q{8HFklqJgGb?n1QOIF>hlTGh5O91c z@OhTh&1mN&e}y`p8U0Rs_jN(VcGiEK-Eu;Fd_4$&|0&ce=u^?yfx zG|Z0X8=4b`LBGNtX@Ijm`t0p5K6YeAN22Iw+lNBApOLcfNb`CZ(XcbJoR*DE%2!Ff z!rAC_naDFnJOuZVH?gqbJr7M!B;b+E33&1=<-$nk6MKaJ;r0r-^}~D=a!=*$ z^!KG$_BL6UCTi>y76O>m7+~%#0-tIedjsRVjeL_CWKs7 z>uy?R>i#sN`6f*2FAbNphP1Rs*n`PeR7-1+Tdz^x?Hvx~0)z(T-w|L1J0V5i4B4V7 z%`M8dPqf8xHf_u1##_RKg&K!u=RIO26uX`?lv_^_(XS!`xoHt`>ELSR=fzjvAg3NV z%1Ijt?iK>}{d^zmC9NXn6MswM4Vl6m2b`ZAp7<8o8$SV+xB#MYTrq(WXf_kIjXo!R zuurN;nmZGBtCaMImu=U(BrWMPJgIs`^r8K3#aVh>MPAuX`8%D|PqD*8cHG5e^*jGP zF5$*VN}XR{Yg{rm#Pt@Ir@542Z zdyybDmY*t%PfinvP|}Zt-!mv4YxiTw8A!RULc`N^%QmCo^=aXHWwc#+RzI44PI_V( z*BXWY3?SICbweM?6K^`(O{3KFqM$yJcw44VnD^@nD0%SjO5dy*skwk(roc+-uEiAf{4MRH3? zY8~Vi;dO<4CKV2)M4Way|4MbKu`}u7b>^ve66|7_o^Y^PvW(*Fr0*GGkyn`Cf^}lx z`v2IeI7%8@RUGOk8t31N9IB6?t?@xZ#&3#4xW`GQc)3j(iYGR*U@nY`eumO~a__1Q zs{L2>YW>jJ5fODiM9~>eU9(R2)QGS~-Sk*G7li(5ub|ktA=na|uuH+AbsDw{>k0Q5 zBKFEfky?Z^%0;nv`Gm1tnw)1M;%zIIpr|(~;LwOEjXZh~_Gf!h48e7FYcM@Gai;9X|!Ug2d;B<}EgT$frrj zT~_FO*H?T8B{a?-PP)!BW4Yp_Ydq{I55v0A5oF{3&8Ha~^m*W9-XAm5=ls;GPbMkY zDtM4g`jjVJoy}I*P9%&%c=3Fkq@Mp=eEv%bf1Z#1llq*v_f2Zy?GE$pUGbcZOoT6K z-`{vdKCJ}hc7Gl-;kGOaG$_nyE8zGbbuQf5!C7c*1krEE~n{e`5ZMwy{k z5JE(BDZc^rQhL{u-1{UA{qa2ST89R3$4D49&$xA@4)_{IUnZ7pULf6-$-O%TYvEnh z{5dH%K*H#UY65D8#t9jxGK>?NvxlS=74f*|R7*=Vsz`E`a}m@!rDKNx;3NRJG|sxp zm+=)iQ&)+M`HBy&oRba8=I2*Fd>d?l8UoLBO-#SbKEX4y_>m)^2x&jg`0XG?R7Olpw3X}!&y#pl7+)$Gdk_6lLxOr2 zm>1Mo1vg0=F;_V#0-I$VRK4aC(r4v<7-DXN`2bzBj6juKA+MZVnLkYg%Q&qPEUtWs zJs?h57Jv3udkw}0!uh1b_XN*EK1TR-%x1JQ3AHVt)lkwf*=ZOdFYLIdxWxQK=y$lY za2is+UPQra?)&5j$RKrqJ37VZq}b2BeqVNJB!Ro=#X|O=>5utwL0h;nQUvZB-bvs| z_S#4MX;M5!3s~Avd@j*l<%!>9gTIC;-3qw1^dBOaBkXx^(q~5r^-8mU_d4G^fKSM^ zDDa?=;ZW=P4mjg<-3}cS(F6`h)A|LfvE$r|Bk+OTZP&pde`6l2JCgM95n7>Hho(}X!=CO+{Bisca?B#`5u9y_UO}A`683=a z6(rq_!hcA;ldTHbD6N5gD~}6 zsMpCaPG|K;O!_17hS)xd;n$i|(@Hn*hO5;_soWLpAH3DS25TUGcB7fy>ebD*UNlgR zr(-l5*KYR4#3;BXGEQs%kN1>V;Sht2N`Q-s+&9`F{7QYsa?1vhdPa1aJ(WMLRsER~ zl3osR%*Kea_`GG?lYqQFBD~2ezcVKEG~r6vyxNV=guEguR82Ktgd)_=E^yNF2kVn zt={gVNzUDD_fBtN+bKsbV+fYPDl8~qC}|0O)f&wG+{*;lw*`WVwI*A+r@XL>g>Hh% z9_dcfpHuV<_^|Q1`*G2Mlo#^j@m4*|X#tGD;U;}QPB2kU;yP4Qad;R_)B~EFs$`5F zhw&?D5RqXb;dYv8PVx3E8susRH4)@MbqD-t8vSVUISje3M+ae-4R8)Y?1ID?yts_{ zV+7j<|5pi{zMroI2Jo~0pAwQt%=i3MHq0xmk)%+pZLIlBGM1)buU?+NxLI@7JVz zN3n%XT$DJivo&XaxZ?|D!C@dV^QHNZ{|X`W8r*?Xw%v$(VJ{-ywR(W$g z(hb4d+Ks{QMz5Tg*gj+!6c=_`al&%$cY#CZF>n5ptCAN67CWhmectkCgUIb-M=}Rrv@Y6>bwaqzRe`Ix=k7O-`Gr&4C_ssNt$6d z*-Wxblf23L)R1#SyNRB^-Z};^%hDldDn5F490lX&7V!@B0yv;JoF+a+U<~Yut-Tog zpA-Cuj45#Tub+uU_wDxk!yS3|!xM!#m2{P_-60DJ@CnN3*YCg~vVTtCEnT!gVtVl? z?8~lbFVFI3m`tm(GYU-F>`aSj&B^r(B?pa)Oegh?jm~shTX2PKCzbcCJ<6{;dY_N^ zCo=Cg-SWQ%Rf|l|A6@(MV7@u0f2pbX=-Q=6Gl+|(0?lSp);g#4piO$!M6GjXtjUB_ z`H*IS!fjjN+ooVnGSY3*lxPW~Fn>N-evn+mahx@nIv$1egm%dbRp%7ACz%!>wLCwV z|76Z%w7H5hr5&{_I4XojDkx1uc+aAvdjlL6@yA76KEdrpWoyzYR$8(XCWi#{Gmr95 z9-ZR0{g)s6z48VVw~VCPP4GBPjRy=$+mcYijl+l&@-LTHpeKyNv2ImI3>Nb%U1N*unXE!a|GilxhaLiTaX|hBoX#btjL}fZv z#ZIDy2*zdG-Nt-X_E>fvUOK@-lyZL|eG6*mu?tkusUx}y9XLR^ZIrYJz#kfY!o~f8 z0N`1W7{qTR-w=vY$GHZjk@N>HSg!vL%X#gwBWIP^L2x6*`h%yBEpF+A?=Ck%;Cqf7 z;g6tkjCktx<2-3^nlug84$(Zfw3jz@+_>w;qmv=}#$6_tsc_2&72|Y+#bybLTU+_p zyEZ7jNQEdauDSBVyD0tByH!suWj5s{9XBCK5`F3}`^J%8KG6;9&mH4;bNNBp)tA-z zc4w}dd*w*J9sQrHSd&erfnZrCR{=j%Q?_8-(hku*H@Gv=qI&|JjKer4n>K$m$vmGY zI<6*G+tIJhzdwT9_JEQNkXJ-_;@%{;!l8YF?g}wXqR(y8`6eQO{+?bTvaeI<`@ksMV0ftP^xBy5CG2!gSBPFvbb_0pO ze;yMC#&%+o2pXC_zdizYM zqZ*(Gf(P`*Vp(s+%*K;}U4Kn2s-KJ+wq?+{?Qyd!b81_yo`+PT~#4ZY;wkbggg zuXpni%+AK|=^LAVru=fCEm+oaS<$Z7a8LLtZ=p^9cbY)nPn|WY;j0VPC$cdpC$d2y z?xlN=t>=t>Tz5qPOJ!Qb2VI@|p<~tD8G_bSd%52phH+#(sNZjY?z^0xWV;{EewTar z!EnaAT*QOn`R{Tw9tfkqQY#umWNOM3a>Q8iSYA65npa`0NHJEV;-yVYbp{Jdv{R2} z(^RL?9Xu{(3MxOJbnC|@%+`r3aI(ZC^g4r~Wt>-mRR%2T>BRL(w`fol zy-30|rqOBowBWSNG}z$97D0x~LHZ@_RN6&jMX<3VM5Y2UP_43`zIEFmX*A|aWS>sr zAxH}2nVk}FA5Ywy_);j38J@_Ir1{@gAlAx_k-B<58k~5}f97(dLd1uI9jhd0AI1{z zP0*v(vtcP6s-&Sqh1(OG%AnCO*T#l2KZTmLjnx?U{Ub3oXkm4Ih+<(W^OO4R*z#;V zgcoTWA8NCR^cL!_3^tOa9bbtSZrrA9*-pz>E?Zc$YD3HRctK_R-aTOC%zQS8kfs0yvE$=<#J1T%QaNJ%$#2DV>=8Nk@lr}TZWXy!*b*=Gh zgUQIwu z?@ip7)Z}2DZC$0dJ;uM;1I5 zye{rfy=sPU`uPguaH1`fE^rt#VeZx|%*_k9@^@s5-AYE@>Elk49oHrf-`Kn%rd8a) z|E?D1aBG9wE^KY-yw(;IX>Tz|H)uw{^sO~W*EtRAs^|@}>KK0I;Z?Qk-oMp4!!CEM z2(hgQwk$eqiwap66IsiNzd3=^%sZuWruy$LOfS96}dY?!~g1# zZ}p+Qa=85Do+Z(zBWSaXI;X(yEr%>6DdXuW@OM9v!TP}IimWUo(t*Eb%lI6hGR)@FE3XjBe_RA0FMCIyE?$SbQcRq(TGlB)S}c@0~^8*0=Qd_s-r za>zNbMxeq)0F05Ux^tfuF^onJS4Z%xzsHXdKj%KDTj)!}hP z`*7ia3ko%@%`Ymu8XB@L#YtMl@|tI~_J%B(hN4;lTUFZ@w;^P=cKSfpSc+XNuYO!x zd#JXKp~jZBf{2&bi00G-Isoo1RyOb(nrr7U8^i-y@|7Xl-^nocOnCiU62{PN_im}( znAN*Nv(8D`L%nlLl#!uHt$l-Q&6@IB!q1J{w7r^b>{v_ zylxLi5QO~&`AaePz+zY5HSIu+L1#nsKNuBIyQnkw%~!(Zx} zF|lB+NOmcXmRJ97s^3YU)j!xlh>&fbA!!sm#Ul~D6l_#M$vvQ5;&Wk?+< zp%$*fuPmQh7=fm=V_6`35mlca|8zdd{vfUn@^o>JX?w6JyiGY zp#DDxJKQfdkrXDf?op~Lfj0kyQtf86%yj2}HeYqFFG-hNAGve&t<9RQ=_Avqsz}-# zOVvG2G0HtVX6<<`qFU_OLp2=?YSGdoX%s08u2sd1My93ONAC7I@AhMHJpwN;<>l+m zv#6MuN^=55#Z*087mv2Z{MJ%u0Fo_NNOODl`jISSM}o1>hd&9l8|jZoXLpPp{ban8!xQI{d8}|LSbn@QP=T zQrR1#>{(=Qwa>u!jNRc%yBt9|&KU~Jz1%H2Ui7i$v$cbAO#jiMGnUJ1$I{(VC0%D5 zZ`#G}?@Yp$LxUK{@@nOBrE2V(1icxRsaPg900l|C-Zpw2N)Fq*nw zQL4IcHk4;v@@|uyKfnH)$D+WF!JoHm&Tt2!rbLiV@G>MYgE zs99B2lU1?rALY*lVJh#CEK*=As)%|9w_3D8Mpb8J9=oTiLZbjiko3ojBNaH*OU!{4 z*%%(%ZVLU;{wB4jRb^)jN4-m1ACfT?WR%33Hae4)Ae&6v$LyVWTx3tmHCa!1ZLa^? zvblbqB-8b){H&hmVWX=ff%2$P?GU7F0!53I8}x4Ra#cagj8(EWeWblkM3JA^RkK?R zvJJtQ(S-gGC**9@Z=enOc#s}<407Vc(@gAR5*kGSnu1w}hi^TdaZD!wo`VwDpwuAe z@(HcexW%>T@PwKoWs-QVfW&svhGeZiE}6_5*<2Z+olRJ6jgN!&o)oNjahU{8xKD6; z^0@~FtL9Ouj(0!IO=iR?uSV1bQ0a#~su7yXB^G?<|9y>>A4Xd_QH5ppI!pAp z^z^Hg(YZAZ{`Abjl&xJs9NLM}OpKyFRHS;@xNp)}B){miLW$!11#6QBScY%3l@t0l7^qSDxNZ>785Qk@7Zn z1%HKcqBv4vh)A`WxI+>u)C(2rd{*W!5YH0rmHw#8=!K+8QjWB7@sFy69;e7?fy)j_ z()c0nPadO1>_9-+F#meD z%g;&23H{MAd~3%EY*k@hcH4?DLfTWd5LvVH5K+rod|z%^cb_g+k_`?60;`db^z9qEbM|J&|*byRw3_NF_Dqg6Mo8RBQBCN@-`=LIRM{s*y z3>E`ndy+LnWL7Far+2-XIJ?8M)*kZOMe%1ChWia^_gv)y7_b98CyKiO z{?S@?9lB2Ep(~uzy5G|ET4r-y9>8%c`gyy6&WEHROz4M~j}e*UwPcoEz$A(B?SmIvd6>JmkJmCc4N+p5nuM zc~~i=or$x-Ck~N`#8oR)T0IjG#{miRU3!R>Ywl3J&PUrJ5Pg^StaV?Q*hIsb>S8nd z_#vWLW;BSMIG|0Ji#qwwe03^Z5>t!fcy`7>@teue>o8cB!Rf9@7p05y;W;zukwa-d z8BG=4?BDcFnXiUV`4?^eCvEq!;(jY$m3%UsJ(Pjd7MGFstqlHpEZF=vnt2#X&~k?* zWaG8va;BAOGzVaOmL>#UzIOgk>MLzm+tjPt+OC;t>U^yFg>_eJ)vIc?UD_p`9OOIo zN~&V$En{>V;C-`#a&|jE3Vs|*2%H>c%rX^&XbhT7JbW)oO$xe{bt48zNKu|7{ zF1exFCqdPbibcwm2G#i-^$Y6(|H8UON?>PeAlWc?C+^RD7eGCT9w$?w504xRjT@Sol` zFSCt*YoKK=o%6P65!1LeBcmMjM;gaSAV+W&?qtJd6?92Nz`}p!1n0%h4p{hVPH?DM zhjKHWH9#`c`Kz4ZL|G(7^*9IGd0j^$tx1<*zW2O704F$ziQ_6Cp~v!3GZsV9YXfDz zx+>z=^;)U!dl*~ZBe@cx?ybll6| zm-6+>H;AYS7(rvoV zCugfo1p^*meD>E%QUX6V$B<`C1LPAvY+<`O&qcpN1ZN5%^PY5mhSTu40r-g1d>*hT^ zJe|#ufmW1PgfzzwpdWYIM-^wnxd>ABHn}!g$Fi67=Nk>A$K5_wPmt)+$NAWY21faG zBRWUy3E=_>I2$~Wq#YoD-TI)|{q)G$$)xas*!}7Yw>+D!Gvd#DalFwITxWtvQOE$J zID}$s2rr;0&8a}0uAH=U^IEyTodi2!JOxxpsX$p%%tU@2`^L2I+c*+~nG-2aGzOvM z#w>?(mBSKDvL^kQ3YAdEC2}fklcP0TlS^#(8gtt%Os{2{o(4~9IT^$&<})uFSOsuQl5X5$)YG zkxM%3h5z0iI!&lmGLa*+e|+>BsVRC16c9CA##+-EWv6kFcw}=}G?j()=@XKRtR|Pw z_^GZW>xrbs{!-skF>St0C6#zgD?BiKlrj%~O{mo3v0uZ=+odS@A%eC;Af%R=$PN=d z2r_G;fW8F&(RB3dlH`tS{kcLO7$##gB}^DM#?5Ll7mdY=-+fJKiO2;-@s>N z>GFIsoD+?&)V@NG3{$v@0H2v|eoq4}^Fj{=R;q+$wd?nlm6K!}ZD-N3YR*U|J6W7{ z2dRz~52nl|DZKQ6PjY~ybJzP3F3F!`PA9L%=-kRGn!nrUd%q9XftIWM>6aqb8d*)_ zuT9_f72WEulToSs*!HAH`cvwab+|dh_W-SFIbr&DUy;Id;j6xD|Lz}&r1;PKd|&np zSF($wk_(^qUHhVcM}%lR@Z5AE`Vxu$Qh8UEbgb{9MGqY{qa`Yn)fcl-BTxYOTc7W| zKmS<*n8|7g?ATwEJbmq!h{VSMtp!nn?_P^GlZ_~5wcJPj)|4Rba(_LxR7e-FLD00Z zSsvm(?sr%o-csM-YxUXr!GOJrivdb5Aiy-wd}{74~X^7bFf z#_$P;DAt28nI$;;NbKr6kP(Y z+2|V$Sa#>Lb??sOxAgnA^tbyD`wEiXf7tKnlJl?h`)d0AC;m2)vO6La3lM+&rheZ` z{agu&+z}xa$nEz;o@?$49q)hD_<~Q#F&EU89n||HTU>AM3*zypxxO&-X zL+nGR*oV2FlR|_s>(VXVDJ8ponnEbiE0kF26-t~qDiXH)%A+Fx<}h(Y1d6Az%)l90 zU7R?R4QuR6()N}541D6FiCB#WKGnB~Uhdc93AT__1k{w?Ul?&aNOZd}^meBxi2B`cgHlZ&_Z8ha zn4u3cebGm5p#t>ngMdC8LCzsaI1zo0Z%E9ghyd;!`AE>mDGh=PcM9)Z+!+#QVhQeO zRx~T12nA|_oRk^wAai97c&x5F)Y-12 zRx8$Y1wl(I;q*%AC*hVEF~?SieKz6X$~FnYb8OFFk9|cqpN^eL?vHwiFgyQIt`B;; zZe=hnizN=;Bc--c+P8iGScLDTzQVzw!nqd*AkGpeiv06j)uwNl8AHcUGJksiNa)b< zqwhZ<9Xfs-H;SR-e}4aoM~9AgE`9rv9dqbbHa2aR4)+9AQ~&11UtAUq%HID;pf1`5 zUycd5o8WIy26VLckJ>-(HQ|JNKezmc_>Loz zdw^!tuR?_fH|X3|zAxGlA*&b>^}ZKs91dleR@E7Clk>(&>x~m#)-LbKlQ)~JH&5EV z&ZeZDcB}V(HFjNtsvx=Ga7yp^`Pu6D*i^c41*uJ75)a*pCG}ydz>1A#nAA5eo6Gpe zO|+3q*6I)@gwha`fi>E+ImEure~D6C@F*%iJwZX5m1h5Ye<7&nBJ6dHIE}{jkUp50 z85H}fA(J(*KRH-!ij$ZU4=fjB$1l&;jfKjtL*^TJQmp=@vY7>COQre3A0dVwK)z3FnXY`o23L z&?f&Rsrp`lke{j+Eae0?qBG* z>jIFw*XQo-w7~9S2CDuOi95Yh*lDvcp{16{6}VO`P5w!e z`@qR3)%nRoQPim@98$qJuefbO5hp0s5=K^Lsj$odC4{@W%`zhu7Nor@2P1CtrSU19 zN+@(Edl^X@pXV#J?2wA8eT-sRRgDj~4sdQpBzT=RSQrWR9$jL28?J)j=BP_AFb*bU zsqr_vD`my+-6^}kh^sHeJod9o=5XA>uEoS8;p#Xuj*DB{b}bTJrx}?^m0pN>Qp0F! zuEi{ghgbW62CiXkq#ndN7`~7hyJqJuh0kYZ!Uw_Hx#00>WYZw5Poi@zOz@U$?W=i6 z(Zwys#TW4xN-u1>k#;SQ%R?c>7EK-6SIyO|ohvJCVI+BBOg3V)hX=yIbE!BM>Iqxf zdv&ioI$hM+Gj`ke`vaK!t}YjMfcsf5`qj{4?`d5NXQcmPf?N6^C_{lYr};YBVA&nK zMyH#1(x|Ssus=JHt}ma*=F+9Xj6P?@6Kuf&boZ$3j00T`OB>vB((9e3fg;9;ZCAb` zjIa_)hd5Z|v)tIy>~Ut`y?4sbI`ESq}ZOXVTG?z*mI zwv_*OkMB{mL(af^Y74PWrwM$zff#F^!|ItZ1 zg&auLMsbVDH|a1y;>badts^m+SvZVRUVVn7aL?a|7l!y(By=evh7>Oh&m$zFWalFJ zrQnfyqUxTU9qRc~ZE~@hB3zVI%ly~OARg~`(cgMCkbd}jCgnX>C+*? zdQg%hn-#TNKzWGp9nFY<_#)-*@X$f!xB~ee7PVejq-3O*;vPlAt1sXyCdzJNq)S^P zE!zF9MJ;uqmP`9vWPzo8wNJZ5TUEy6uyT@emH>$puhcY9lX zU7b#6_O3$-GG~={cggg~5yV#WUHY!78oo|K#h63)%ItjmiO4Q{tFM7~>aAUPo|sn6 z@7Ab1u5lSbTL((R?%N$cZBSwz6=;u#MHoS{r^bohF6g087(}OEpsOt&m#PX9_iyi& z*I1&@LzJ-fTBoaFZQ}q8Hwn=be+Ln4W91d2ljYUA)2Ah^7j~!Ro;@=tIj3Nrh6&5F z*klHkZr4PV=u(7MhH+vf3()bJP1g(ciE$P~4;l6}%L0krQr$B@46iUTn1&4&Mk=eL zTCa_5tnOJJV15SM^zPtkMC@ybU>r?G9XC1662kDtad;f``Pd=f2m5gxwqG$neh&mz zl%#i<85*O(lKh~HQ+8vzLerSWNC$}wJ*7R>uynX;iB=CA`DMO1ZaJg~7bsgfw@cMF zC?O8RCT%AYJJ-4)0&cU+>X;!~t;BmLW=cndXs*(o-g*uD=~x%i>4`85+pO1#ii{kv z4od_u@?5~?Z{V8V(s_8KLNtGD=lr&o@I|{dOCg)G;~)hdDqp@z*IlLi;+x$wGcm1( zoM;V7h?a>4C74}66yN~TEk5tO}} zHbdZ>k@}m08qt=@?;uXl>FN;sn-cNG75U{b?2D~EE8BvrE!wIY%Y02m9yJm`&2J?e zk4#nJkii7fIc)>#kx8ie0d*8r9;2%mnzYHNmhi91C`|NHyH+&5k`g8(je+GbVhg9E zhe8Qy7XJ$E=*E#JBm0H{Z}!^Mv;ZR;|8{bmctlQ_9@$^a#^?30KiS_HHln&K6H{!$ z{tD3QJ&hWf{H~z~as(Eb2hn^T*l5eGD9Og%Z6fimDSdy=c4=xbxWJSt72mQ{y_wtz zOphWUN;M9`s^!EhqRgn7@_z+phR9m}rD%`RaK{OGmbqP4@-LAdNf(94_ednfNg(aq zVH0IKsX84reEll?kdTaG7AYIup3M++APO|j+&AzbURxdD$pXDHM)G<-+@-Y*XV+^L zU}yuH1g*Q?vY4cC1qTlZWBg~o|RT`4HSavB)Q5+R?DU616 zOZ9$@3^MzrbOX)(VxKiT2=0FxpK6Z^8<|c~p3Q<+Li)T6;+u(3g7#F5{*#$mp0^oF z0b|eFMz2`&Ha9+7Ml;Hh$H3PJku8*D=ykwemW-}Ouf{$bm>ZJO<<0%DF*`FVh_D!z1urL(z zV~X-@Z~bc``{ITu@?c&1hG#Pv4Kj?I6bJA02k_r?8yD-YDrdI$Qs_r@@B2Fz^UM|{ z8B2w=$5~Y4I(x+!Wap!mcey|J)|0tLn9tnn_{LmAb_8}JKpXX9+jf~|!yUh{e8(?E zHq0z&6JXLon*alwK#&(i8~!zkw7JS3rA7BJ0@26g93*0rc;D{OZA<5n*E=V2}zn^;D z`M5XH$fjlP`J)&&^x~;GsI#uukDi19LZ&S?O=cTCPu{xpqkl%sHx&pE)S(>5=usGx zW9V;cz_t3=Dj58LUBWn)mG*8dGSK#-y>uCN&*_1DPMNth&asTG}q7;9jjI;wp^3V2O$5D(ZLUj;cLLa6=GCdT6;acIR*KX8YTA zIR&K!CcHtUIU!pupHE{)(pDjVY{a+GH;}+cou!-0M04d07MzIMTBN@yLoRr$FS&hB zC{xaT*Ml<8=AT`MB5UW$Ng1_(iM~2nl0OM5B3Qi!_GXr-Wtb04c&X?`S%b(Xr=AXI z375A!*UXjgY5gyoT$C`-60S=4SR2bQEv+h4$1o_0iJTMLPE*HwqCcNheRA^T`pB)L zJ+>29KRT?gn}#tze@4A!8?2;5Y-jYURu9ky-+*h#qKdu@c#jJ??7q>Sj}HG&W2Dtu zzGX=rGR>98K@zBOsMG>uWh)A|Z*z#DfO79VwMO5zxBJ!MT`=*_R(L!R763m+~ zdkFL9@8;iA`V*nA)3-#-G{|C7s`_?pZq5A>(yG6tLRi%UnyCAV_sWKqDPNAO(CP99 zUmO2%&v!0vAL%H&ua!U3bIVn7df_MGV zp0{_Z-gdsmo+lz3On7SmVZV4>Evk^+@qxW#_du0Ik5f$QXb)aB4E~%AzK*fU(Vi1a z$V8=VPHJUWxHHC!ei(&>ELFUJS0uxNMOE}m_yFSg3Wg8A9zD+y~<5t8dW!kPz1-Smlu^aTK zeqoQQ*JpV`+^qI+8($d@lv;UkKYl4po|j$Ad$_=NFblqag8rb3j61h&FCs}-Mkfk0 zWPt+mwC(~sHmuI9Et{E$&Tv#)6~`JRD*Z~wQ{~a@dAK34=PHZN z#-D(UGGqj3U7N1jWM7*mD^mzIR~WvL>3cjY`&y-eH*Iau0n@zCgZ+`H~rVh}t`SfISXf*3V4esV6!oJ?tnn zP%oQqsqY+0P=1>p`{|n{AMKxZsZj|N9^%Rylb69IVH#5oW}F%(g-u%&xL_KXp;W@F zIS&(QmN|z9Xk70o?HFU%e)Yavm2xo52vF4kdH6W zr09&o!e)b9wb&GzgKiST11P!zh zfi$+`$6?OZ{iV#VI489k(#C}s1x%-@cYu-*Y60k^UD=y1?vg^7Ouv|D+QX|ssBYf& zx&Ak^T*ntrwL62jC1e_QI>v5~D}DRBUHiLxomE@~iOh@0i_cSLt`g@u?DHBg+a2e# z)b`Z;T({)xAqbNtL^1^+LEPkY>YSJB$ema6=3Pcvr=$$ZIEk5TCXALm%@??SaSR7B zU|%P&Fxr}ilCh}sn+A{RG4P`E5iAFE}?Q z7f1?X$fArY3)WUutdIzOi#NK;?yav`8+x1moMh$LCOaOKU<42MOA4}d+Qap6--25I zbW*6QtlL$Bs{WgklB#N!fp?qF?8w<|SoQ1G^893*Q+Y}Tjh;c}sqvGL{e|LP<+Vw> zC}qc|#$&hAQ${H2t>i_r)e>e8i2jT^@0QJ{fF6M!2Ze|xX{(mTT>7D(n{(dL*>rj* z)nb>TAN0xUFpySh2m|1I(2o88-Dm(0Lg*TwN0b`G27$T8jeMuQ5RAsU@ z%@e*Q)|c@eDtyz(D8DR2L0WxdZiBK8`4h-~f&B=sX*&Mu?=z;`70})5%HTX?EST`L zWexd43qh+^XO(6z-7Q-#ULYxaQnw+i8p;Z*mU=>#x<%T<5IjHWFXBJ@T;J{MbuH)i zkRlu>LeC#i9~zh&z$ie5K-srI-*3F7$F^Uq&O8


uprRnNwW8q_uHNHlmsp_HaX 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 diff --git a/variants/adafruit_qtpy_esp32s2/bootloader-tinyuf2.bin b/variants/adafruit_qtpy_esp32s2/bootloader-tinyuf2.bin index 2c985689ec53725b8f2fa82e7416ce5fe84dec64..f34e2710bd9412c45422a68b5e81591a5bd7b4ee 100644 GIT binary patch literal 23312 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 literal 21936 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 H<;wp7J~(k( diff --git a/variants/adafruit_qtpy_esp32s2/tinyuf2.bin b/variants/adafruit_qtpy_esp32s2/tinyuf2.bin index c4980536d35f083801e06c84d4b1a0d39ce8e1a7..008c8a1f9c4fafb67187883c98c32dc7c628718e 100644 GIT binary patch literal 160288 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 literal 150624 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 diff --git a/variants/adafruit_qtpy_esp32s3_n4r2/bootloader-tinyuf2.bin b/variants/adafruit_qtpy_esp32s3_n4r2/bootloader-tinyuf2.bin index ec63e6aff599007a615627acccc80e5f9cb5e267..301ccf6088c96d9a6974a5ebf9f0205482a980e3 100644 GIT binary patch literal 22736 zcmbt+4O|mfw)o8CgAm3xAW{@;C&6H_>ISfaR@Vd(!D@@BXl?tN070;T2*IzV+e~aR zSbYoFZJ}#lXHu!?mgh&ity*b;wXAj3RlEJJTeMB*gAHDz`~9JAh9&g5E)ifnm|)y`zjWsDp2#^ep7)I`pj zHFhHEG2?@Y@x}8PgTAODj?tITWQx{U^O#a=nZ3|nxTb`$TXTwRjIFF}O_>%-7pob-R-nYTvO888V3oI~0$Wlhids=#Sh9-An#+K^^D{FZ0g?Z=e22)b zx%R?!wtvqB2F5`M@*2XT0-ymj0O0_U0MP&pzytsTz+?a;z%+nlfLQ=0fK-5VfQ0~= z080T@008$9e?@>R1+W8b0H_3T06Yue0@wyn1MmVsJ-|)?4qz8R6Tlk)`vKkpI0SGM zpcUX408?1bl&rCf{f`>*OPZ7hU9zTZBM#y%h0>P~8>o?*H&ot^qx}C%^vF{4$g)g% z5y+*_8&T0nbxkcS2bo0;cz8Zzvz8TYM3pLAQ@W8UUsF+*YnwWCsw8G=)+394scjj> z)>SqpcTI`iT3Axf6jv143rj)0^yN&sZB;RFE1$|dQUZ+a1vaM03N2bwVq?}978Nl$ zHl`SwXUhxJk#Vz*kzy`Hy@q)U-IrgsrubGL;#6LfpO146rt^k7cIZ5uwM=0Nv%aj* zZhLZ#-I`~$TbVVbwlZ-_O~rW)^YAt%Bc)gZwZK4DSc@27@MO7d?QF0W$Th(4G2;_= zl;GC%e6kqYY=D}IHcZ9}i#EhD`PM=(OcHTc8iT?SLxWE&FH9?xP!DG>VV<&WEGKOF z73DT!S;EWrBpS|P9W%05GjAH$r8s?N-mzdz471RhV=H2Y{Vgj;<-7T}bYrQFS+bOQ zL{bTcS!gR+WiPlROMOBfqn{E#y?p3tOxVEarAKlRe!}yP)bmR6K>7YnLq|?()S1GP z{58V}$_qEaL_r-Yhn`!*lo!JS#TbeUOA3oCiqRD3Yy>rkyQ2uHwtOp2I56SR^FyOt zh*R>8G!Nfaa57^r+lU-cS&YNT{zZIIzlMolShCJqRG2pzDlQU@NRBo4sbPZrFL*Il z=+u&%5>A%v1PI7r&)i&$?`%4ub*RPSS}o3?n>094(FEN>+^(33#mk2+#)n;h@h;Nen@u;=CfR;qk3mjzEE`|@9!t~cvNO$iJJGi8`T1QixlOtdnL zZ9}fjmRHV*T$$X0!qQ>6cNAST-Dt5Fr9J>ew%n)6K{Y{Pp?lV>A2M1%e!E4;D9K$@ zR))UIaLPN@^NWoEMJ~)`N-BzTz{|PKIFD4%TjbK%7r-ci9)WiRvk7cG=r=BG8z+m4 zwWzm}D7Ny_C&dZ#OFcYysJ)Vbp32O%7UfnHS?#bIp*Y|~fsgoa1rvGWIwcJP$~81p zQtNPvGX`)Wz!zL44GwTGu$9^744?QTn|mAAz)B0ta0U32pbbM~U2Fv_7Fbx;fMqVS zmX;556`687Oj+WWa>TXdW`^WhG8tLsMMMrXS@eyqd3oSOmNRA6l2yOx_bibd02ByX z58n0^={3{?Gr>!^qe5hejzy7Z!9^pPx5idpGSSZD7us>w+#2y)Wh7=O907~$FOBH1 zB~F@M;s{E^8yKbAjQ(vMFWI~y--Zd)Ee`G-n=-5)Ms%Fm8|VfMHLcic&n=M5Y#?tK z&ynlq(2(o%W0+w`#{l#0EdrA!sXG`QG$|FO zc8S@%4W(dSaIzpP9NDQbn-det6Mu>y%-Lj^ z(8y=_25;o5keT%eGdFV?RtfGavJ$sZIUAYfsY?THEJ*iY;z%-cX6FA$h7~`VyQaAK zm!vN)1m^&iL$uo&sgq%f2U@Sk6&NNy_%g${nQ&r17J|eQmonQr=GU{Cb^5%i z$Rnr1F5#h{CEOi{{!ZLx{mGa6fJ&nK)x^UlznM99eD{`(dV|ye#)goO057fIGoyQ$&*vuFBt}|IA9KP^#ZCb$!7RzlV3w4E zH^fLk7d))-(;4c3f@+BZrcat|Bz zk#&PPE`_Z*V=pX*ou#dmVIE)-j0w}2_@tSM(`P;qe@DtixG#g{>R+o_Te#-QVi=WQ zlyj)9pg3UE%Z5AaBYdTiV&3ecJZVEXoD4V(6LRE0rrq4NV+dt&#ylpc&@Q>iw&9YX zxDt~^D>CL18B3OAKv<$AWlc#QF+Y_Mr_!?N)6B%ubmG-Tr{}a23?by5nPoZ(pxgzR zR|pgFx0{$ffVl=3;RVS579jWlV2(rN?iS`Pz%chD3ql{{Pd*EL-UH035oIvShk;?C z63UzbAj|BzPv#aqCH3vdHF(JF&RRP6$rVe@3!hBOnz#7LtaDzW|=S^KAnZQ zID9V+C5Vp}A2%oth5Z`?CSyk2=Fn$btvnD_mvr^=cEHL?5(({X_Sok zC*U{$;oA4Ycku3-M_8@^R03QIB}``&gsBpMj)K|%4nbX$;>Z8)Evz%?^c;-qBTNRE zk#>4c8o)MyKLccT(w3zFD*zq`umI!%6aaJrd<$?1;0iz&zzu*t02M)7Xn=J1UI>7^ z1)^0D-aIB3grA{T{wA29{)GTLm4qqWLRswa9SJm$d99R?!~0d}JGtc;5hfdE42Izxt9{>g4K>(Ma->|Pn!MDmtSZ2W627sfT zsU}P~hP9Bs@3|iqpM^KX*e%ll*ExzX8SWxXSKxgVAXQJ8{toXx00GL)T6lWST!7yI z{0YF6ayQWilkFmW{{Wza@09?SV8Zm9*Jqh_L0!A@%P6;lrord;%a4USYbGU~_~{6~XQ0;Gg*kp><^_`@}8G{+XfdN=!O;U36@9 znwGguiEfk2okEdy9LQ}>F%u~ip`$4HW+s>qED}=8WM;P6INj{1GV9D#O$O7>IbPOY zrwDrc6!}%!bXmsiYTYukr|0=}2a;rgbj^Y4=l#&R=PauQ5#HX6CZYq-))s zAeMV-WVt<0g`DraV9p*-)_q9k&)}r8TM~N4cM((MRo~%cn{FnwlLcVv)DaHmTStv& zVgvOeXcjfTYdTA6V}*z;f}MbkYn(zvOd>op8j%DSEK&J$iws1ZBF_)&ruVWzB2~A)%uN(D0);_Ys>2SBQ))eaco$sX zoj=|48{~1-Pd5XXKEKE%WfxYEQHPHNe7Ln;{uEwBQfXqx=7>cK>)5Z6Q=twX1*$Th zHLVXV&Bsa#Rg+h<-yuKtGk;k#jzNKHVQ^`_M$CkVtG%*^%O@=^O^pjFs@oBnHF?u5 zOcwhIa;QCymAHaST}WIVjEVL#&H)8Whmq!33N(SrbJ%9F>UaItJ$}btr)963d)-`m zS!TH`E6s1+J-vtj6ZVV#jNs-7_9zxEP|#}Nyh2&J48_UHC)jro-&iOsR+sTVW8U@5 zOnLUl!HosjX|MawE1=WP9)!6+G{^q@t)93jGOzeO?r$-fyl#QB0yJ znV{I0Wtpk1yQiUUr=P3r=9ZB;oFg+;V@bvOGtQZ7{5fK$7s|0n&cYzbER`~IM50^i zbHE%>g>q$$(D)xR%ih-ANmSK2q3Ux1<^Vm~XdT@wv)wOmmU*VaL!TgD%=)#gpJkCO zP5}>ts`7>=l{85@qM|7=Lmx|MH~P(+{1e|&)1yv}Y8ll$$`&ivuJfDM`zKEOq45dA za}QywAZ%-i#%{U(d%0~s;Ze!BNle5{(z8s)9bwvv{d}>XwPHVv@A5nblOlVip#Kki zf8lSOC#L=EO3Z&k-7I65<5%4W{my+pZYGm*qJK;9V|Co9<%bt;k#C3&Pnt$`%qGmM z{aKs|giM$~WF}&l&5)b({aO3ohtFhrW+ILNpmO~5Xz9y>ZJiov>Ixf!9 z5W4))J&g~EV$SvR^MKyRPRII}%ST~VI_A=}kf2)pk?A6f8%wDF` zMbcr8t(r4nx?Qb~9h;$0X9HQYmpK%=hxC*Z+7Lf2!w#pk!Tw5|J~P1T5`-sLp(Xvh z6DZ}Ug0ctXHxv4&Kri53OZw?ZC};@QxI!H|hV}a(6^9evpsL$N)C6=>+wY^t0@6j9 zphn3Apt`!K+Mj(3)zFUG>quFRNJB8&P+O_&Vh|PMsX5pF-&5vUrD&VW!1~ z-A#ALKjT{-78L&*-?p&$r+tlT+2ZGYVBw$lotK?bunAa&wi-JinbNNFZTWeew!%06 z=Wuwg|M@Ph-S_=BD)|01m(rH`8kM*>{MN^uV=_Nr*cc?n+RA*)glVxUQ+u+;#uxiy zb^7=sUu?pC@ddt}b?{K){TL#CwJ$a&1fOM!_=aDt56fq(A!{Ng+`DXNKnLG+bFVqiQ|+%^V)ckVrKT5&6ygX$ zVI5-O9gT1H9$zzAuS$+=AQP-4I|gyhWDCWPmcH09d=Itpdu+eb$A|gY-PjKOn*wH` z{&_rA0&;(d$)vwlP@qEXlm z$`AOx?c9a^N1UZ6Lus|`7#da7^S^p&S(BXgVo8IX@Ae*|o>1>UQ$ZK)-+yD>wun|z z)=G?S>-KgrL@PO(fF~u3I;m63KMkYO9wdx0`!jVlPD+_WDe5Q{ta%m}lS2i;66tu} zXlYi8J7U2p7Gwe7|LN|QohbF!46%hQO6{xLb6nM5s9HpBBN8$j%8r!NfAG)Np4&Q`FEG8LLna(^(>W!J&tS~ z%SgzgM|V;LagT{e)R#r`ju{eNZX)t-FH_&U?6AfOB0MG7dndvk&Zv_jqX zrkDSdmo+2WwnW~zTt2=lD$#u+On(w{-|+IyUUmlNR(&MkBHE1K(sPQMeFIZ1YKF73 zd+{^vM*;Tk2b#Rm3!6!rl16+sxrlPd5T>`7C|%=d;-SR+tZQ^sbBHGl2XZ=3)c%*( z{9j(QmBBM=jfr-XOT#3F#<32`bqTJW>vh$lg$XwQ-s^bYZc5a+wW=-`X%tPRvyk9k zukduqn`#-u3miAW)-8|U=B;}TJ!=;Z0}KFsR^yWEl9{W#v>K`qF$pBY#-ZfRvc^kt zzQhX?!E;&eZqwLal(&%0RQlS+8u?d~^zUMKZ1nOQy=?a&l=nOf`-#S5a_+K>mT?E& zoZERyeqP2dLuTCN(Y2*s7Ym~b3oheg=mc;Ns#yk>hcNh}$4#t{Zp@Ll$lM&MFOfH~ zoO_Io#rLi;jTJBkmDl&{$Vo28Ydg68_Kt2aI-ti!9T^*QUr!=^@*DbRV@@W)5LF}* zn|ROoE?Q>1m}!KxSD+K6td4$xj;ZQLd-X4Wf0Q{heFrLB?umQds;C%oY?*HNa zH9#-GHQYmY&ObdT8}{|j0bra2E-RXdQiwyqo?Zh0gE5LWc>e?t`=D5_8OqNEco1NAo{6@|0aij@J-{mfUI20y z#4|wN6nJj|z!(!b8{#AYVF1wpdVu=@k^#&BivX4ZSOE$Fb^)9RQ2zS#oJRp(0ub&a zhz@uk1D@mNoSySAz;gg+0WhZV8H~+j)9E?u0NMd)kl_mSt7bf5ng(D3sDUzgJ%R`EXW)VbrPAh z1+~f+{O0#`Ci;$eP)2i@d9`p+5nF|m~1Mj^lN@3J0)Ko z^O{^2uKGK{IsdKcCf+6DEB(Zep^y{UD!6EhzE@;nytr9=!O#4NVXonvHfX={ha_4O z5pSG{27CrqoDsRLTKlQrKEUzVLz=%;mDeKn@y=mZwk;aAFIgvP{_;_>6;|_K&?$cX;8sJorr5XB;r&eX5#f; zcz8KVH8hih=~30u7rI8G1f$E<{gPfqfR4^nUy%l5inL+R>Jr*W9qbH0eBjTKb zrs?f1w3}1d1_X||k;NTdPNin;o0|!{!YW$vw4zzg{#M*WORC}Kl#RUt=!vq0qQ`l9 zgyr{8$_Yf1jI9_d)iR1+VCxppgU;cOuX-sdv%sGJNjyj$oxS|+IC?vJr1VPt&qA?U zO3YemyDo60c3N+-+{j$6Il7LnQeF_+IimF_LvN>7+PVaqegaCj(6d%HUK1RXLNj%s zwl}hxh2_)>S#AR4jaDi@5-QJ4+(M;w3LwzpVFInTT>+u#Z7qsf;~IYu(!ieq|M?X4 z_7YL&TSlE}W^4?3CNcCnM;MLv1S`>X4XTcQ{_(xGQ$u}A)6v^OA~*M{?R&w=3B;sO z@bF**%{eL@ItDP{9Xj@EI2|L6#bm!OhH&c$TRH*G{2iS{)i(AUhO}~ zwL)IqBx1j~gRfgnVA4Ri-?$HV_MByCXAkIlRgoHy^vn@Be!z#waTeIp2BHAiaa3IyoIWbF?=w^+3+cxWSB1p#Ey|Ec}n$A2&GwQuItemgQPwu9}&4ajUY`!&8J z-c)cVyK&u8Be&F8wA7fj%$U3kb}OG_CUcM}-OaF{;CBmUd7WWD!p~+!3pGo@p26>= z2ST6}1l`$_n4JGWa0>-9;zLY8gQAZ`zZw1UWMy=3^yR95iZL4+c71~9#?5^WDDgQ? zg?hYFe@s*)sXaIGpwR6j@d2gRw}H}62`Ig-RdDPLWhQ}QN%UX`+Bp>n2Nk}DwZRzP z#LXIKYZ;Eyh~@N0Z{g5x%-ZWYB4{`Jnkcpk8${DBU=8S%jfY{bOi^PIdV%K<5J|ix zn#Om8_;o&*UmKAIW-?4GdYtWToN{)NjTjE47wG?l)uCLqzx6pe(wRZjKJ9}iTN&s+ zoP)6TEZ*eXR+E04yXR40SST%6g4^{G}FPFs|G|Jfvq_*G~jZgGlVlbefB|Vibd7bgvXA> zKosOMhB3eZzUvI(HTC-ZvEQc+iuAP%(mUfs`nYh%76q_iT>H1_rl`huL6$o%isQob z$6Z6>IEnb1sy>|eOijghil*{EobIT%I~?}>&+l>`zeJ_5y9=-wx= zY8ENE2E_0XHNoh>0 z-MCq|nJsCYDV6I?4K*!jbyIh9E12c)O!53Iu-|!G)Q*qcZ5O>5c)7}T{>bqcy`4XX zW{{R1rqk2P9z*_h`-J?_e@LLhvZzppxc?4`sr(pLpUlh~6aPeYd@Za`q`<0bkKjI5 zr_%)GP*qb0AF3?eQF!P7a&6LSxuW{JD z!N%t|Upb_c5p^>1WLD+%n)`Q*@0y~Ds1}m9y3~%C+->2Gm~w{`;@c3nj@jJND^y;u zlH$)S?}acR%XwpU!E_|>t={Z#SWw5XE-SJ458g5b5s^fC{vp6BQ{m<7z3h5yP+AZH z4pM0i# zX~`$A%6#N``6(sD3xYP1`ce|IM(dsAYF)xSBJCP147N|P-sN8YX)pK-(i~g|V^2h^ zfVe2-sU&T=q?03@DTKDdTiI6)wL*-7v4n#+vU6SIM@XLT<=1%6Q)~vxRoOE|Iljwe z36F>+8_#04$;%gb&&$(#aUn87Mg$4RW7wh@UOpFFRMjO!EK`_L%xfR_GN~NnWVVDK zs_Z6~h1LgUuF$+RCZ^g9am8}-!U}KO3J5?zvlI}yh2wx6Xw#!X9y{qW*JgQNuFrh5 zwO+xjXkEFaLGh3a0*=rMTPb-8q6N(qy8tDG6=722TF?iN2OKDj%!uuV?75iT_-$Y@ zfw}JFj>#<8Y;j(UI7HfxVUt3<{0#3^CA66q+bl&TEze$rZnL$EZKJ$=g4gmL zb6$>T5n{VvBpX}Byum?!vN)1n42D#R1F=HL-a2SH#u(pZnyGD#>;z=&`BJF5B(OUC zR(hrJfi>#PDF!wfus|#ctVcRGET$kYtvVa&ZKf{n{?(Sc2PEG|zlCtrgl|)QwGpP) zp;29zF^+S5RO`FO*2}W4ldXSw@5ikth&a>!n%cUBM3gJ3{%@e2$m`+rcVUE_j>2fT z*iIV4=);2MK`0je>*2*H5e0E{ppio9tPk5*dt;ElF$guIVpHjSEO^>~GNP`7YV; zc5wc|PPQOdA}Dn%cI(%04L46l_d3a?;5nn&O$S(YT{I6b#OAWgq7<22NChjfryQb*P6W zJbyqh<)b25a?N&#%eKZkwJ=H^WTJEY~bZEKO{s<(Z#od|*0G1%cU+XON!BWYc2T+RPly zUY$kP3RzU)C8V!N>1zV!gLm@-r0H?`AH{q~ zUzXBW1(?^#q-O>yJt+?+2OPXU9>9o+oAN?4TEh(gZ%nI z_E*@}OIFv~`tX9glI0ENCOMokmA*?J*?VBY;O+;tI}844^;9EG@nGANgZ%12RwvQa zhr8}F$Qu?%t$*mp=TobW1m?agtVMRxfF>2z4$lwZ7zv)|gmXG{{T~_RA0MQ{*ihuq zfp(oGUi?OBUNM*=CnAgok)`Ip#+t&LAOn8#BY|*(~f?tM~cSAy{sD!|XW> zRwaJc;K|G96_e=}5|54$wR4i~8B|Ap-XNUofa>)Q02}>pLHN%|-aH7HpAm!l&BBr( zOW;ULYN#eLv_%eHb>kmk$zB{g_|?mvO+dn@pa$d7(sxKC?Uso4HVqid#;*x(HM4Vp zZ37mZF^FeKUty^#43K)(A$FRG{S>jD3Pi+8S6;fnW#4%ZZI8~)3%=Zp9t`(dy6tt~6-Zh%PZ?IbHl*#`3O?9YKMx9qylRi1f zc@(Lm@)Q2dRDBO(K#4b+Vvi?P2G`VU%<94X!-pJ>Y3VWdyTCiEADxk$qKj=XM5U(W z#G2)Ua2F>%#x*)4p;~7q2bJFlgqX~#PBHfkqEA9yD*x-n0n z?}cFrYdbN(UmGy~7|L!#>EUM1_%8is0d5pzk0Wh4&^4FBKBL;&2Kes=(t2=o+c~D0 zWG`Xq$@IaGG$(lWTTH;M36~JxF+i)}Dv)z7VOu9$nd#KUMr@z};VBdH)l}8J#C~w5 zd524_)5V6k7{kT1Zv=N6V=EUT#`#=2?e2k{1)h~SB7Yr#Q=e7Hx$?Raj__fDe^k`2 zjsZL$vWVhpiF_*3z{XN)!%xWOQDJvj7#*gYOH@$=VOR?{eO3s&>%O9?v=4;@9i{!< zK*UFcXDKo|Me%P9K(~9AKy{EfH~_Lp>t|y$;f5oybgYB@Z+t2tUS_4*dHF%D=dEB+KIETXw8$A>Hj7{c&O2%x2PaPyk!n_%N_-D<9xr9bg~8(tv}w3LJjGYON;R zR`Wq?%FZ8J$d!EKF=5*mkbx7nL+JPsrD&ETk5`3|)bHdc68=m=HJ~r^V`8Bm%>l;N zCcv&E{;`3G%QDY=?60Z;m|sy?QPn?y0j#~~JIaSDio%NY?}30VGNng=(P|K)64NdV zgl8_2uSfC_B!@=AzLsROG0|}r@4n^BMkVVE33yAwKqiO6sl=r%JCw;OhOD#!0nQ-@ zUQs2@q}{sM-LEN`#QpWTuJQ)5IuutO(I3I33fB{9)U;0w(D#Fj@*h}%xYoDGPRX;~ z#L(TDMitz`49~vm=a&qy%cN2wJ+uhgmF*0~Mf6I7UoepUXW0CH#!eb4$1cDxIRB99 zbi>`Hw4pqdA$6d0f2iX>$1pB(|3S0kU4}Oe9Q><~J=qUr?5_tL1*V_^s>>{nx%d?8 zuAMPZc?8xmS1@efhSok9SwPjRwzcz#0}$kZL<4%n^tdiD*r5#U(IyR4e(^7~h5+q3 zdYox^XoTO@53D+X6#J|;YM}D+ztE1mMcX=pHXOx}Xj#HJ0jy8iaZSy74IKi0=gEh7 z$NJWTaGCLIY-}Cu!?p67d}DTkJXE0Pf z^RsQ_Kh1hAsLLgDo423$_QN^XZ;=z<*RPbrl1Gm}71Tmxa`0XGrhCQARp zfY!pk<$|D_kVLCD>2!HXk{bpw4NmtY0)C;O+!z{`Q1MB`Y&JF|>ZL@U<+>E7%#zkW27zDOzBKIrHF((h9M zNg9%*fu9onY)Vd2N0*Smld#{ItyaQ31=*8yqi(vf&7(YD3Cnl=NJl13fSnjUb~zmJ z1=kof%+Q{UCF0Cel=F8`N*ggh=GJYo&jssS{rp?~t8-T!q0$&)?ZN)qef^v4>yJ>% zN8nKXz&;QkJUsUoj>bNrwy{5Zb=ZMF_VaH@Xj`w4Jt@?ia^RJI{uMx-lG%C$I_!;^ z?5_S*hnV;m``cdVZ;`D}4r=Gt!2O03$LM=u%iLs!pe^pla{!wk+V*_^>NnRXf3x~n zRj*)usekQD{gzzEs&}X~En)qAf9=+OOCBbxCJ_hf`uQFG;CP;rK?pW`9G&ePv{v>X z_>EY3v(ok>R3EWmVC~la+Gl}F>n8iE!_o2U`dK^5F(b&iuNL-uTc4%xg$sfzxM&8} zRK&cweuif2vq`%=r$R8VMb+`KK(MR&JJ6U|H}tPf!A?pFv##r3okxeQN}|&KCe-Hj zrzwcaw@vvZW?r+F_QT#43_$H;{Sh9r&Z=na_Sb0@u;iKB9`5H0`x{`*zA9t?)(4|Y zQ&sN?L~T}o+6|Dp>RrkArJ~%rq;2(AZa8&G&f|1G|48(b(k&wR*6h zU*2#0h5>hnJ&K(8=_rR&M;zoj&*AM4=E%XVdqK-0whjj39%zpqLY;DgpXVam&h%}q zqa$BB3i?tx*3v+}Tt`P?Dg>?w9oX4NkDd4~>JZ!B>!8d`@)Z^A@Nqj%tEzkg9hoNXu`Upg)@GbtL8a)D3i$=|GTKtOoeNTErHjuv z06ukwl^(lD>B!g&0fH56g^M$ON`Z?FTE+Z0CPfDkPD=S2kv%%ta{*gR^z(*()`{&* zyN@6aYL(DLdRw!iF+^CT-nq&4HJ0k>gzliTGh%$4_8){~nm=rQXLle8jp1p~I? zjSpPr`n5G1jHRVFB6?NXn+NrO2a)^MUNWE4D%y_s@mKoT1!DWqfg@aJvyTU5zb5mX z^_wsBK|%ASwVy3+d#{iGrY}QV7+OfObFlOx#m?-V)6&gNi&r0Ok<)iUx4`yRxjR>=zaF2h!ITSY3-Vf>%UDxgKhGK7ZxX>ctHQ3av_Bs6U(iIg$OQ z*K@*e{-Ey(S;s}et(AjC;WjZRzsQamw0-C|zuy-zuNMsGB3bt4KHG8s6G7&~eQBQw zE|wnaD7`@|To+0o-I2MXwZ?9Qtx##H-LfoqTT=Z`*%@-UE0OspM(^=It^R6j<1uLZ zXKdTnK7N1SRRv39ODb)i*aCxz*cI!L9@SIgsb28WVTj88m1AHHH zDX$1b(>RF#C+L#W+f0eAD-#oPl4!Yd70lH(h!teCJxvv>UQzWV&>=cHf~kVwl)bKP zf{wcuS8Hga)%2J>EL@i77<=}laYp^-?DnyTWKE;@>vuRlCbxxUzpdWgLRH;Q(27%v zrnal9>I)5L&nxvW3a$(FXBVlnFRRP`;y18#^xG53Q);)Cb{t}y*1N6-pQjo>ghEi{ zh>E^<+qw%=`#MWZot^S_EqzcMd>%N#vbRMlvQ>F#bW_`Tm8Ao>OhB_qk^Ql9o4ZBc zOo6}WSu13)JrkoBFX}TWcBUA{?4(?6#qxyX(XKX~N-^l#M6~zEEBcJNrl4F3 z0%g%BThx05+ocTcHW&8@;e)amEmiChVlf{m}X=tE2LtPgI@~9Ch4=;Gmq*O$u(k zabs|lZo}x(GV}U`@07hl(-;UcgE<}$pamVrFh<=1K@13TT@cr)>1J~A%3e5=TcIeX zHjJSakIJ_zYE^yi2%@Iu#!D|hQXlcsJ24Tjk&Q3<%d7-=`F*jMBHGA4p6mmgv;+m! z@$xD-zKW%|2FFWD=dwN^>o`kJ2lLYJ|MbQ;`W@J;?p}VN7oy*=e%$C48Rthdkr6Ud zUyIpSd-<+j)+8~LrHvs7xF*D2!}R_SLg9=KQdcl_uubD`D_}3DD#>{poB zsg6kW+O{FHFM9d&y&XTmovO&RuLOfKp9*$7*IF$XH@p!a_3O7nsf!Ur+nHYe@4e6n z9WsD{gT7%u?xlkvT&v?1jyMdO;~7eqg%LDef~l*^qT`6`e~Z?^`DK^=BBzp~XmF~g zC;i}e!=1s7-kZh2#Wcw1NVrrCgm8cfgn){Z?H5963g{uU{GW93DGE-H+}wJPS3GW$ z)xO;e7n`79HF#9uuUZMH6DqvUY3TpFRo{S5s&8+vbaz=M-CY(dps6@A`fiCio^P(# z_Xc>sI+C}Ui2t&ORwv8SW$`cfI%SGFnH+-pur$`mlmy(sYhawRAcqTYJ7>EHb6xKg z^$b{mn&r@85tsc5f7W!s2_p8}^Sw=~I`t^0n#P-ZK&QUTt-c!^5?p8Z!u@TgQw_mY zY!a5Qb@U!^^llG!yNPvMWru?wYTzq->mX4r+oO8OCGKI^jW{lP-_SYNg1MOv`8~GD zI#`@^WbG$ClVT>$xK~@+J88ni8EQK0=pi^$QFVk6Q&dM)bny0ICH&`ca266dp)%6q zBKZ?NTN7WQwo^$nN5$tsx6MqQe}sh78qpO%cM{}krZOimaQ3h*%$6WH;kLr>88FPy zhT2Dax6HUq&pxGuZKb{!d~qLpv?nvOduzVM(haU&VNggpJ-ReuGy6y{1Yj2AuX+I@ zMue&KxvlFnW0=nMp>aWQaYh$9DK%=D62ppOzolUtwR3y-P;4rGO3yuE>|9LMzTd;X z--C)2T=^xAt#nDd^2+cF)4{FM6>Q8i;GwT{`2mxG@__=F*AyHe9adV@GdRz#Bc!R2 z20Q)yFcqss5g?Pj4?k|o93R?hU)sAXBGpvRm67=#a5v9Td?wQh_53&M>**w)N;*AjV z2poJPy^8nsh+z5trFwA*egA5&LMIbQH;Ng?1t_JvX^?G2~es@Rr_5J zn92wWLW=JX8v<7_f1w9^aDQ){J25K;CZ{A66dzI z37eqP5zN#vv0x0B8tx8p*6s6cnGwW3*8?|2zDj|L^pkNFaQ5)dp2<%3k5UD|YZ2uc6hd^n58i8f zxxI!p?{(F<+G%Rb3o+X%Fgv3gVlooxFr|WcoSGOO1_#d*!y}wr7u=?b+Y*j$H(f|a zy7^8B!q77?8Uj4ySED>BF@$MBcx<>ne*)E^C$hf{0wnxE2QDfYjW0l~$+)#WgW3}| zLsy;95lyg9B2lu+Xbg`Xt&feFnO!ay+fOg3sgu*WH8VFKGbGk z+!-Q$BDUlUj77!I>S2BtZ%jDYOd221Iucvqx{xb=VltIxfHSVHEp?Bx(|YJd*WvQ| zDEclu@hN71hdfzh4}BM)&vA0P=pYAYg2ik#W=!77K8){LLk}N^Z5?*7!}L_17{bt# z(nb;deLV;6!$S3HdIKRdIUEO!uF(ArLqE_{gS1=fVroN&6OMy<(xE~H#N4n8C})`a zan+VEs%kP(s~lDqI9CVP5|@mKkAl*u19MK3>s9~pj6`T66;kViGT$4 zs*!F|pm9%D)t>IIkq(Mf@n@kHXZ&Bg<7CP4DF2S>+7JIl{_&#x$8MMZo`C#c-9S0s z>5hM=8~7VkM!2|EZcM}*^^lIcc~%|Y)D3%d6hUU330gfp!VnZ2NmZ>Q%m=!&_P&of zfgi^ucvJk&?)hVurSP5ee@`iw68d-j+xmb?Sx7V`*gg?JIpFW0j&kc{ za5$v>ukHjLaYbf+r8}$9gyP8Ini`5B*EV#|psGmXkgh2KE}-Fp2KaPY<=cUuM9Sjp zy4@!_MI^m&2q`720zZ9}(Rtj$9keWiq@#>;8SbIY=eR;Qm(M?-`hZ^8D*bv> z7QeW=@@=Wj)gy?ZXKDgvXjSws?uE^C)FKtO7&?I~*vwTzS3CtGHITFAtO-R;J1P*d z2C8b8Ff3N5cl*I6)@r-?WE5JQYrE^^bR>AcjN=A4KTO~kSU5sxKiQaWNr~{A={AT8 z1>gA;WqaArPVD9l$f+JyHSuR}92&d^RgL)jGME-RI0@;7c>pUGWCU(~(qlPs4HGd? zQ-I&^{cQJ*%1t6WlMWmR4ULHgm1!?taFV#)^{?EjhnS<#aL#u7Urx07$hWIm?$i|1 eq*Yz%-|cz3_4RROKM!ud^z@je@4g%y_5T2AKw`rH literal 22240 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 diff --git a/variants/adafruit_qtpy_esp32s3_n4r2/tinyuf2.bin b/variants/adafruit_qtpy_esp32s3_n4r2/tinyuf2.bin index 9df48efaa22dc5813dbc49db137b20ba504c3800..887fd31be6562b7432443dfd2685bc976fa1cfe9 100644 GIT binary patch literal 191744 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˪=J(fXOFv0oq4pbV-r1ku*`{C6akS(5Vz#h9W_s)o&0b+v zXw4SQMRLjQ6!h?g+*8biez7`KGE^)Kaq8v;-E&R9``mQw^Ol7@InCaIAU+ni1oyQ> zTf~9*w_3m36F=vfxdYYM6~8Htanzst!xEF97WB2;;6)Nf$HM-K&K4UC4Qnd|BZ%(* zWz0XT=4A0&{W4)+$y#IU&Jem-AiBiZ%7XWcv~{~VvpIqHkg^~cBi@=fp<#+mTg0bV zH_c}Y9Sn7A3A!~<8;k_k2_pX2ntY$uX5{1-IcwfoxD(CUYhVlOViL%A$PrxU5FKKX z(pSM5s2_KRu?a6CBy>>d2wQSQA8X6E5DRhfO$M#_rMp42h%M2;%b5x7ogGm|huD|( zz#N=SgAmxAAv$b1z0ez(39m$tQLIXs ze-LIGu%XAop@SKnaH=bb#{ClMf?fR}rx^Q9-FOSUXoxZQT!Z63#B z6g`j$m){-a2$0kd8s1$x2uZ_hTLFQE#ky30Zi1>%vg2J&C@>7ry_QAg;8+n z`Z!<3Y=Lr0zfFd3+X7_}X@PMxuPiw5ozqU7W#9R7Xc~Prb2GCj0g$LTVB2fZxPch2 zbqmo1U#K9;sH9#s(vTFOd|PyJ2ENfnXpj++jQugx#YjCg^3ALt0S0wP}Y>((^RE7Hw5kbOEL za>)Zas_9_3=4$AG4XaU$Zt!>1mXa_qZu}MQ#rmQO!GIZ2_-?G`-7A9L`;LD9i6z}^ ze?D{TnYUYxwRiqFy1(d3hkjqlVI$lBW^CE7)^!|CVGB>hBB`QiEC%L(D)$N!9G=g{ zy&e+`2nf)La}R?*^~!F5c-$gB?|&`kOQCq}mZFpvt&qwY-9AfEs^4&BvHtCXTLnlG z_hQVY;_{{U-Cj`Ai6QLX)+vt?W~Z+6_0{6B;J#z$kBPnn)5yi5oE%q6em9W+JKhUsBB(^lDL3wxQ-z zm=$sii#U?hbm>Rq22WGm;Lg>V2}_Hm;Uk_l(j-EOf~^z7*AXR0AmBIA^?b6E{#;e} z<>1StF#zg|Qxg`(;3uIT@)g)H62qN$Iy9^}F+OIh83>%x?|ax?6S%&D@SbtiK=RL9 z&UDW-x$Z1nTbtJ6=~0}_JBJYM5DA(8923%-J>80dys^Z?uN>mu7E7MgeD=l~81cW) z1orEf{d!*quJ&qvpNsk$%2g-xusEKIHG2l~fD16|Mz1n@ay|d_7$&Yn-*d4&qoCR} za~xa*F%Eo0I|FtSA#c#<@saO!&oM2%Zkm0)ePPes2qdB$Wnmu$aTw5Teb&~aoAb;A zl0-Z?EfH@a!uDxNB904^7)R^_cq$6|U`1TSbbTos_eM;ZS#uJ=G0QptUD>R!H7#u+ z`Tly0kDc2TUl$>P2#ozZ=SU=)YTl~areC@hDfYZVInRYq`pj*nnv1XrZ#Qi-X&xmG zsyPX(ZtzY0-q+^;NEsK7HHb`8iWZUyvhC}l<{r^RqDCN5gRn?T7a!YI{nnlRFQfe8 ztJCa`o`075ztY%@C8?|g2K6nWpRC^c%FoKS4pnV|eb$4ZPhh*P_)42 z9eO@9VVk%$%4poQgv=xXu$7jasx9b;Xg{t^(3(+~WVOn;G-2lBKK)RijeB?P=1u(e zdf92`cZuf|UzD?a8MS#rcd}ek@>w)pI`;uVE{cWsG~tpRmsB~FnOAzwn$DC~GuTSC z{pxnR^1{1!thi`1E9p==1J}*W)3V0cWFdEwNZtXcQ*OU_}&!(pF%ayR_b zZG1#|nS*yW&Pv!YPB&YiS>nI6@1G0e#@*P2$7iXJX}cb4XD@8}%5;gz^xUyp$?ewC z5rW-1^S|DKs!eepJoaXcwPz z?!1^7csd!IQA9-#bXdH71!k@nfv3N+_pRVFs53;#F`4@{4w)_Vn>U{;`mM)&&R(vs zea~BdpS>@?E1j?nt;ZGohtyrm92>pA2R_Y@Z=(s2iB?g6BE1;uSakDk~4F+Hc)uD(Q2!z-xj7ZjQ6q%x+c8 z(}u?2Wejf;IX};E3FbjKWR`3AWT}Hvf*v;5XRgiT{K1tv0Z3Cq3f2(NGPodnv-M$l zpTkQri>O;Qlq)E{HI*1#-E__tYH`+ye~3tpFR+}=5B!>7XS$o;gEs&nb|Hn~W zrNnSy(Dt^lZ4cZeB8jIw_g-!Qypqgk{N_=F;mN!klL9#@_~TTcD=}ATU#WA#G~qM^ zJ<47Mb)#gSB;Mp7p*+~lP2_n+&SMwHzMcu)IhBV?S$6=3S54jQh8vUl4omscxO6Go zDv!cxFz;UFQ5GcvBWx-!d_dwx-?NUjHVi!3tK?=i^#Ue9^7i`er)OImxci%4XGs<4 zuxKus>OVRg{s?cIjwaME8#@$c2Y*A1Uhf+#&1LEf$68=_ z`x6{>zS#wP&@T@ZxYT8ik8K;Hu<;kHcW13foR-Ml{s|wT>;_GRoG1C-Jj+>^+LD2! zj431y}Cg**9nz19Av7tlEg@e+(=u?j!QIB!+BzXvbWfs8}5d;?D zwGrIRH`f}Nwy8;N8klU;zkOqygbFS-AYSDX#GajMTU;tFbhTj)7~JT$GzHoR&^nq^nA$9(M&a8>sm=8-N~s?oif0?d|300%a2Cq0ZyyD3 z$?4jpbjOC`nFjGUww^|FU2eSXWFtYbGxg6=I)*tMudjaw=^lD#C|>zc&mIEZs&5|c zC*QjIgA(}%@R>s?D(>WTAraQ8bAE|QIoTfyMTJ$-CE`59P?7a*FjKJHh-f%)O?X1L zwRPKt+SrkuqkTI^Kh%AefH(#}i_JrLndMxUNI<;&YiFdf`8ds3sXL{vJPVOC)aOR# z<7xU2bsdjK*rmJ6g!PrW=z(bEtKimPxv8N%*}W}_G!1FVPv~$$uWUWSze)uK(@Z-Y zfr9ALk`>z0(wn6lZuWnI_B^OiRKnI<0Se2FgSx>?qFo{Zqu+E71*p36mpBTiz$hQ; z4j};3u77>3Y}{YT%&|g)<3&0*@L7dNIMtGrd~SBcZhLv>@ji<6yQJ0NOVm7~^8tq1_Y~y2 zO6ppK1DZ37ZQB8OLYhtt1ITqr9)z*Q?bQYnMg%hOJ!cv>Jyc?XpQkRR> z-INVpw^|j5T{KTe5Gx7$xYWZ=fC64dKCk8JXDbkB(gg7TIGGd5XN>l$x0NDLmWDCyxVtS5e+PGG zn^5};YOt`oYW3inhsKv{);PcAt|}OO)I44-TGlufW{r@AjghMAEm~&bq?RCb%S&$Q zf?L9a(z_4U!R$m?W5n;$qvO+avxr`F+z<+@N}_n&;n-17_*<#JQAp`a3~=-$=WgYN zpTvZuQ<(gzIO@mzJ_>o48sJq3y%L;Q*UJ%DdPdfOHSMzzxlc0xR_c@Cv*FRR{2xY; zZL+;VF#t!qp|cUTHqknlD&mjs1Xp&}6pCrfPeCFzX2Q}WX3e%P~? z=Pyt-UXQ}tXDLeaQ6)Y^?E-Vk+$70zl#k9hE&??&^N!@OO!bnD_LTCWAGTeUeV8ZL z1VAwTnKgmZb3X*^Bn>?BPnN6YW~Rt zO8hLOkz|wu56)^XCE&2Qs;A3H!E3>~NGCMcIXN9VEf|j5+sL8L*;93rEdq4-K!@*T zsSj6x4j<8B^kxtpDrSX5#{`OJJLm`<2oNDDYM<42psoOW6Qqj31DTv`RCoq4M)xE! zK59@`hLVW1uFyFfO+UbPhQUvJIPQA~?xkmiZk`-R=l>%;>OVsdX-t15JvbAZULT>` zN^H)>i?HtlqNkQdrbFD{Sl3K_An1f`NI*G+h@`^;RkS0hU|=bB;l@azswV*qt z5(GFyBiYwjz%TLi;)x+|)j5-TRTC^YJ%>Opc(I&$g3b1l{mi|t$jX|y=KaSt39OE2BtGoios9Xxa7;F;w!un&}{JZL0& zllgjVu!9uIz%I{}CW-!%^u3=?>U-~gqrNw(!~U_}_p2k1pON&w%kj|r9%3cE@4Wd7 zE`G0FBddQcQ2$yar8bQp;o=LWyE``9wFdEcFsyEB#JmkWZARxXcSunAS*)=@D3lnldngs>!eT~ohJj>7289YU2BCHp( z84I(|h@4cE@AeJZL6aOfw$!OEM6A4+1Vu65y5z$W^%#^S*V)>ydVZXuCaK;e~wsQ%btB zNg|R6{Kon4|3b_C_t0{AP|GLhCdoUGB%R?4^1hYGJ@nd;G+2@*{MYKCH!08mr5?&p%PwhOGdYA1+7b)3 zLUNh3>IoKlSEdRZYgbyXI`6p=?5!nMDoS)3AjoM5?^)LVDw#$*?TMgyZD;PvI*9f7 zl~;ia3)n{yn;V6tc4u(CWaNRK6Tuy-uDj)$HJW*S^zRaj)zQSKiV$}8gGQbSfG%>44n;wE}UDpc;8{6FrR4>}qY7BgYfNYwd?Fv{e?{@>;->j&zUOq^1XY`pWZAzc(d?R+H;bu z0&U)m1WAJ|)y0wM^h*jPsb8hHRQx{=`PkgJRpJNVbE?dHR^c!w;kam~eeoaO1BDeH z<*JoBKcuHWxtGAJC9NjH`gFmJL|;;Awu1Cpc|FL$RFq`TzyZV&M!d_pccp#fBptq& zX-|b}-&X$-9Y<9>FVT^kJV6Gc_DNiH`cH|#_Kq~GZ>AxCiiTZZry(r)#cwlJWF>b~ z4ARo0s`^KUDp~liAMCDig##a&dfz(eW;JxW)aGmfN9^-8Q9k}fm& z_H?@oChEj`ZWaF%tY<-#PA!;e+BWu=>`;?Dh{+!mkMC{Cuw;7>3k;4NSsz={9)Ayj zXsn{`@9!cATIFzf(=cB}q@j4p7-W6%xb{4afCz(O+BSWtV<%v-ls;szYfp zPs2YP=9KcAl?#SAV?@pE;nz`u>OR;n^>$CX-DBmH+w;Csex`)St_oL+S8npS(p-ry z1tLQ&o6}u^o3PvnT-b^W0rVPKpcB{MIS)KXjO?jWr z>*<5^tm0?TGjF7SB|Ufro0m9@a0k%9m6x4qNy9ESjeU=VFRR$Fo`xwl6#mvQA4kIk z5P`OhceAzf+#xGS-GXHfAiwg8VeYXatxxIApj{fz414Yl)v7$PAqv3ESbP9EU|6@U zNNKaw!+qiGmkHo3_;g!rWfq6t_N5!n3KmN}B9tSo_4s#e_NdJ#A!ZaQO@}m^kF_&D zPM!1d0@w%bC$AJK*BUmZZ+BSAJ^Fw?e5^}w;Kz-M8#Y@$d0yCYbBV`=QRKkI^;~wU zMVyr~G7qLP<) zZwzN}uCiGS&I((a!C7sy8k|8}x&ftDeg6{|Ytt)TNw!3#%W6|8U3MGb6udTz(zVK# zrgT-Xt`G6kBF5ziK`8YWRNxav4Ue literal 173584 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 literal 22544 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 M|Mr_J&o&(WKXI1IZ2$lO diff --git a/variants/adafruit_qtpy_esp32s3_nopsram/tinyuf2.bin b/variants/adafruit_qtpy_esp32s3_nopsram/tinyuf2.bin index 983de1f1f0d9bda0c1fd39621ea20991b3fa2d33..5dfee90e6e5373fef8e56c3c599633ade51b67c2 100644 GIT binary patch literal 191728 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%0D+0dG<-iy1~eH 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 S{pUOU|MAPGPX6lETmK2*SU^hv literal 160832 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

AEP{d5@uiJXFCbY7uoB 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

1h`S!RJ>yUN1CQ=R8Z{U( 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 lSKq3Ebv3UXRM%Gq=lvh+x_)pxz$wHA$DOMy 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

    at~H_Q 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 z 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

    _brsj_>r3+@gH{1w8|rb)Pr_%J+~JR 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 diff --git a/variants/adafruit_qualia_s3_rgb666/bootloader-tinyuf2.bin b/variants/adafruit_qualia_s3_rgb666/bootloader-tinyuf2.bin index e0b64a8f24a3de33ab2d0df240a4f337e168f7fc..0d437a3e3a35d062472e15564ce266a45672e75f 100644 GIT binary patch literal 22192 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 G7yp0z6NG>O literal 21696 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ΞA(zUVifU>3Qo*ll(tIPuaI+u2uHnM9Py23N7s~ycF&ToiE!Q8H9q1i z&$sPzxPI17MO^Zj*Mm%4x96hR@D{_K!M50Cn@2x)ZrI{E-K!_B`oa?ys$KQDr#oue zs!u(8cCWhNkx5|=$g1<6u=KHjdo5kM>Wn9|@QQOaa=YRY1ZhNOr804d*!Ilau%-9B zww@|mN$AC4I-1_z9W#awJmR2i_wQzZMnco)o}WMUSY&5E^|(IuJf^6VH60aQ<_P-( z*49he@A2;Zy@Xb<`|yDxlqKK+n7I9LTMsdVHeD_A*{qMf}8@~Gq-~G7ne$01& z-FJV@cmJF3{;KbO)OSDPy&D@m%cW>565ra982{=?K6KKD5^PCgJm8@N0TU}R?#E`a zlJ@(Fb1{(>^2^1U7OLzBKTF&V_rrYYslG^ut>qvr3g`Ve=AAg^U*nh)PVr>EiGaSG zSZsI7Ko|RB9;^DJ$L?1>xyHY$##3om3Rk9FWH!hgj)`Y>imG1l)QKt&C~XIr{UYsy zfR(fXwhFMv{D<&PBVm8%p@o$$XDd7Y=5zp@fac zdYzbC>^VlQP#iu}L}wp9-1$U>s!1enB7v?rPX|MqM1cgZlsNdbMj`nufRY)=8Lj^Y zO^3#R=JZ{ZERB-dYWzznd1?)lMvbxA{VV^dPqi~U{HTO^L>nwQM~O-)V!P;XyU3JM zRHK5}{mQOHTf9FL&uHXhljY-x z#@`SJ&$LY=GH94M`FN;Jif5AL6UbVB!-MdkES3A)){4qS>_i+}j-pO%Sj(^qEVNO? zE}|!rAOnf#3@4ONDN@Et4}ZZNexIQ?Yd;bj_AzZz0&4T1AV9tEnF#X)uwvJsn{&I_ zgNO!SzDhE+BY17?djZaISlQ*~dfcoND_cI~(ZIX$*?VmSd$qEih$!>!-*34!8lt@- zu1zDA=(b=kxx;SPVK+V2ak`1!g`~nf8A(Hf`62XHpaC3Fx?Idr=jCKc=lY~Uj|O+CxSMue-) zUrHO{(R@V;m#fl?R4avL=PS~7x$FT&txK-GAmvWEU8mfRqqS$@y0?@)g}hr8^om9b z30k0S`xnUIij-|~*Ndvyclp{P*X0B6fx}MC{Mk( zeT|HJ7M0e%R#xj$n$GJ zt)sS7|0Y9^^YU|C3uITiZIS*u)}~SFHB7`-H(TruXZ4ZF9lM2y`z#=YXs>0x%53q;P>h8wAS};GXYGSWiM( zjIlf1zXIq1_=yk+!5A87gnzxbby2;vb12f_1P;2#6`g#vyIw6_p`Q7=ynkbGd8 zfJs#nor?L1pA5%E-U2yD0z5zDE&l_`qW$=6fSwI>>MNj&ze4#Wz>ff$F|CW{=9AR5 zaIXQtT=HYMPn1Lc2A~Cq09XKE09XN#0`O~qOn?Fam`+jx_tyY^1W@_4F0ugZ1>mQF zR16_!;aLRp7OH^u02KhA0dzutm{UcJZC&&vz}o;c(ER{*pqxq!a{&whm0%yUPTX&p z1!G;x!gn;#h7gMIyqmuY&vOBA(kSR_Jl(n|2w(%iUjc|M+Ca!Jp`TNrqYoF|1l+iB zFm`}g0H|-`pB@8xk8V=F{=uTT_W%xL;GdQeLh=CKJ<0Pj=hfbYNO`B_THwE=bkoB?)0Be&pu63Fp; zfS-AOk%#Bs;RzW-NSm;lF%j+q!9BtkX*Myr3NoZZJJ1@851LE^im%b;MWpE&#LLNB zaDP+yp3TFD04=1lP){U4xd>pu5J-_RV?}@>jG+y_!-6%C3ieOK_>};uQ08y){1xa6 z^W8z1KYm&-zZ}+k6Y!f4x$iFlo&q=quqiV$leB@%uf8Rj2ZRvZ`{qiA!<9I zJT5wX0{I*l_!KuZc*aJhMu`p|Q0f;TJ{J2-40@-AD*GjgIN*s9M~Wvec+hZRJK#@Q zjQc$Liz35m<(bn+{jOzf)Pl9}5K|m?s3|FF4P<#qtFh)0v$bz@mcdQVT7nCz&cdm8-WK){0W& zl@MY9KG70ASsM8+uh(PqrFF>%Nm9I0KNss_>);Y2H`+V~UtdH(%(&STgG%kwArX!~ z97WXVRAKLqE4fJ~8^~_1a<{%xqr{B}s$wk0$AO8Ec_6(oMqjzO49phh6yoZnBx|yX z=x>5)SuqY~99Hcm-j{nDH+UisrPoQ=$AtJ6LZ9^%O(mrkEts#@ZD;h>(|a|CemOIY ziP=6|d@!(iI3>{b^A1O+=FnnhrgFwhRGE&@Wi3&JL^@7ItEd(&Ns6(CeMFUoq5vVQ z*F{k+;MEHMLVePpO*kN0)&>u_%x)Am41h$-|=z z0w{;bd4rFhG_7_zVf9D?BNW2@&Dx)VhOTH7FPviT;IUrkt3T7qU_PMziO16)7{gGS za-AQMrd;PSO*z2esA>t0YRZQpGFtqY7)~}w^z#)hKf$U2owic1t-iHFv|*w%QT{ZX zcvxda*C)`=g*^M{0qy%k`lacR=b*P*$IIGpc~2t z+uL|=NLuUIrX7Cf&0q1g`_8c64^g8Y|Dyep4_U^3gE*bo+{N#wbmBV7Jc*=i=+#ak z(8onLWTY37pyWo`1+XVb9lyZh0}A$YysM5%9R{oZi8Xr18h!Q}eezm;%-TlEo1TD3 z`TH35ED|%OdHtiEvwW`X>!iP`PQ{qRl* z(wo}s{s-)5>|kHbKnV4)(3aO8;@RIIjc>g}EX~9*PB;OkX1p{$##%2iyLrdnCOXg& zy4}aWlo}UD(U6-O>ZZ=2G1kCG0~;Rnj$Eh^6-hb!$8MODXP(K)5t2ZUEt0 zH@6N6jYyc#h5Hf6uBsJ*#O6-E7LEycshyuDoK zXNyd)m}rYE)N7g`2NW|gyJw3Ndf+rx*6o{DR__iAm_W;S1Sr^9ZcQ^BpD^XSXT$M{ zciv6m?l>7ySw-#br~;S5&1u~%jf2uSFpFIk>W==~B<&SA_j8He9OJ$yW+lRydw5oj z4~{1pb{ak~Nu8G_yOW}9ZC~45*9Rl+aW^$9-IBJpuI1wz#jsB9L8{q`J^k9Rkljy% z+yu;JI|cz=KZaFeb=f79oDP7pSBeC(Kr6c_oR513;jCfLDOQYxEG1l}c%|i~aYQY0 zm-LpS3xc`Gp%`W&IPyJd=JVLs$AjF!;6)kx3HDWT1BeXFL{)&u`6&+D@G;{$J;-$q z%6fRcfY*M4c>PC=t7VY;X;Ahvulk$Z5NB+Q_um|!C|V&~FIqS8Sk;w5_UK@-pKXnD z>!dX`{_F*0j|%w$ALt1Umj>y3myc_e)=ywRLsYf@!72OwwI6~^=lxxW2DuLh*~3@? z<2{3S*?Am){g_Am*wa|va(3`ZYtp)=VrlA{rVXpNNgs+&Xaf?q8Ee6(>W?yTuw5@> z-$BG|1sq`h1E0X++Q6%qy(RdedWvmAZ2Omjrx(^ds3*8J}hF<_7H_c1PI#&NMQx{XLBy z4RGw*LD!3e;Qx+cs8NTZL$#$z^A;_!U_ zxDGD+Ena;tMDs^qBd@1+1dKnsWbnqmUtAv-T|EKtggM8+$qa0B&b`D|Ik7^1VH>nP zHV(Wu+)s^fdPCoIP0XBbdgtViXKMU+zDN8FhbyagEhoYDgdcI8(hpx8Pfwsr=-^sM z7P|nam!9KA9dU>dH&4L*awM5vKuw^hLOp~fC5_|Q`w&&79^}+G`M5m_=P!O$_YQLR z-i8Vu^q zA*7lbtda;!D0-UjhzQ@w*r}@52IzluImigm-4fh*v`@hDp-hd2rg za)FBL8Ss^{vd&L)h%g6~bR>j#P~MNoYB~4QfTKoP%h_&4179M)I=_Z%182V}qT?h{7q?S8K&5d6cM(8l6GLZR9sI%HV03MxPq68 zOFkJYvQbE=HIZs{n;)qg&ptlTkUg;Tz`pxu?AiNWM4!=_0UN?u%YZ9=fZH^{%8-pF5&;_NOFz)0(i|uLoRf2e?ND*xr6$JNvzs z3G2s~`v=EA#6SC^?6|Num0UHh8;E#lU`N2@Olqe2F=)!I8Mr8clTr3NY>9er{}n17 zHfq3f4-d4!sTgr?K+=Z>u1g?`5VKz*t*jGxvhcztbxGKzD06UBtf*c@hsK)B zkMI$Of&E)R6L7{m(N?OZ#VJcA>#3xJM)Py9IU02Xr$4_ao<&2@CUqiak3zc!JBk{B zZXnvnZnUcbb6&*#VgN8rJ|V|gq=qOxWL7rTD7z+%%^uJwKCQzD7~(?bC6Y3eH?QQ+ zX&_y3jUV9D19Sj;7@NZ@ER@?6J`nL`f9h+PWN0&a2v1i@1}?m$U5)~T4#2J~Zk4jH zU<+@yMVehoFk9_K;@HgWS>{Yc!YKnuZ!_#mNLAJaiqbAc>?8sEJYuy=5D_3CDiQI3 zq}aGMYzl~D|bOG7D`lJW?9AV&tu z)um$b`(Ky)mx`&2vT~7o49NK;whqpWe3L2r7Q_IGgXhCe-CyEYS*_gC-k*8=n9Vl# zK6`N}qyalis{^;i6llU~birE-(!#cU-7ouwC-%VN&~goXsefDKQ}UKed~v8fa9eVD z+?G%J6TbBF-10?#rjBa)obQfN9@K65xIZ(9O8AW5a;CrK6Mjo;f96uE>?3~5`~8{g zDR`+b>+>=RD5tiZ>X)^G-d&`QdVngqv8Vr7p!&o9*CRu;^FRleKIlIm=z67}Ywc&3 z;7~M&{)Dz@Ud}_ln=(`6j0CEyf#=1pKlXEP^tXVnK_kr$re4IhV1rrok#oxTIJOxJ z^^|ipuYRMSmcuIm2w2UF_#ZZxhK8x?C_uE|k4!TaRLfLMkan_mxh6Dhtew$amR;sa zt&1@)#z{ogKMiCOT1-=E*@%wgPpsBJ`Jn+uy-=ouNk;iW2;fFkA%{*xj1zf9` z`+Ywodfwc@IhEAzy~>J^gnhQZ>Utk6sv5aWI4qoRqDro=5bxNX(NLD>m1Q zl>SWnUwF7`rvW?H!~NWU^|Kv)zyNFddBdwrJ!PiJ5tFf0ZLBpJ4jzN%XGP}s`8_X% zNg5*_?+21dF;N8$V4~&Xah*ZDEP?jsH~6vf-$+ixX~H7k6fFr2g?{06jPo5>!x2&a zssj?|Jvgv59N0(LDcB5z&%j74#V+H7E>#~72z_eb;w$=J*xhM-xIa!pRFcj{al&OD z-ub-Bmwm&x2Oz5?WYvVMnmNc{VcKV*Hd@}td@vJquF*xtio*S6Vp4K-$L?`4$-1~$ z|8S8`6ypzXuzRCpCX{NzcI@@LFA7d&7HDK}ZbXHPT5ez*g{CINCb7s}JQ~fw6qyuLrrd;=Mv-;UNUMitIj1NYcQYsw0G*Vg_;X?aU-UJ_c zo+U$cY$!gJVHl2m!e+)!8>)jcJGH;2P%i`eK@;;lz zFvdc47zs>2&IaVuzA&~bzucxjUvybc^tLYBMZF&WV~qL-(BntnD;f-|C~Y0nhz9`LZ+Ol0 zXj=YcK|w~eOiJKz58n1V>TFoARq@X$RQ>(lB%D3dmokqpHAydQ6;7cm0eAk#@ zI_NP)<@()8mDW9v7=+`5iu2|#`27;qOEM(ZUf_3)k(4^ViJ^!SbA~Xt^rLAFUa8E4>4Ay~wY7%J{oR6_Jb z)1!TxGw6U#(NxQ)eASY^1pH>ow7zf4RH6O{Q%WD4Yg8Hg;6!J}^Hf zOCg3ay7YbA!+kX(x8%B*eNLFew|P=Ew=V&lQ2_dWu)R_$Sapn~NW^iP=(x9-xU^^u zJOIC=^NrK`2Bq3&w48hUxCi>Ki{a$pH^?UeU#CHXI_ij{ZP@{O>MZ)i5$!jg6$;hn zf!Vjd3qW6^M_a2p)7x;S_oZE>4$+HmP^Au1^-izr6d>r}7ymAz$3ha&u(p?;JmU?t z6*~i`WIqIDZkS#b+{ax8vKLP%tETk5q}k;V%~(L$s+mfg6;~N8FLU#BP=avAaEUxc z#a6{oApav40XdHWH&Y;ENoaUX7@KyAr+2T~~_QXrzua-7sv9ZSRpEYBoF~%98 zp_&>@#L_YrbLErq2{SJX?KpLrm5Twp$oRG;;7 z1HG_D<{{nGj#Bj)RW;HAq1?QeuUN$6hv$2_#$JfmW$eu!&;-ORe+NePEyviybqsr~ckszZ zzg9_-li6hoV2eH; zno4*UhG4l=ky$U*euP0BlPa-SrJ3j-s-2Y{({FlDrRA6+QBoJf9!6DEL{+;|V!vx|_oS(1wWe_?;%lX9MYTz{szx4TTpAD@^^pBp&9cN; zV>uVTDq#ck32`e^%4i%vX-s}MT+=lU@>-0@O@*@s9Ho+|R(1C10%!bfeppa|)(*;t zSax17XX<7Dfc@2~<*E(jh=a60#Y6A{4~AD5b`Yy%iKu0I(rYnPvV$BG(-b{9hdP|K z8%_*U&B|sMliIvJ%Qe=L8onJ;XKB5p{8G)&eP^A|^EuR03j3w%pL@@yyw|5WTz6Sj#bsM7iF!I_8m~0qUb&r2qoaG zJtma9VqB_FSq!WCNZP)|lk%iAhJ_4m3c4lw!|&&aG&KojshomrcfoE~a-DY^K^Qe#`Y9S{%!wT3$kJ&|-5oAIqk! zyWXvtw93C%C#^WAn^dtY@~x1@F&c?<#(m=1W2ScO3WdmVT;+bI=4bO!zWV25XMZ>l z{Km6UWw37A()?e_w9Ce%1=dL&c73@lSYruHO*3waypqt(*GrvDrEgzwN)HX0=_lN_T}( zm3G^X=pU2c7L__u(^{Av&wro_9c#AWkiYBUe(XsY54p=GPk{-ulpA5xRh8@O9`5TN zU_1ep(eeXN*h@XYe@D%xJEYh(N%$VdK2`QHuajj`W6ylj z^iTLuIsuX~aynhZiCf--C+DL;epy9aCwjPlpp@Tq1EaDYsKPUTx&o#NBI1?E9!!%x z(GwOZXOH)Ug;H=W4~V7g0aX)w)UWp>B}r0l;@fJCWfop_VaB69@Mc=Tgn2P%;5)<7 z7~@}hZpZBV7tAZSW8w}GVCenez{k;7h=Vg`6v5ZwXx@SJGX~$`ZJ;2Kvcw7$Ny&I* zmuwM4)rG~qLWZb(T#S9)w_)OH|Apo^ASCj+)wi*D6eiL#3rt8Lm@IT25b;*`kbVNZ zn6|b4dY^uLmng_mmnZwC9v@hV@QIBZo{DJ!bNb=i5RBSJ7`}SJFx`Pcr2^2Oip-Hh->Tt zIx3~sFDYqySl};I+eujHvaqPl?RuQ3NL`pZya&FMV1_=zNVbF-j7F%6v&``73u)9n z`J-tB0v(*__?S%Taom9*yzECXWFJXD&zU=r%xr1r!va?x+#VL1n;BIh&<3b!Fz1Pt zqsUPmah7{zpL@FuP_O9*8vPw;Cd$qZ(exrs(j90f$xaQ?bRbRs9cWatlbGkB{;Iy} zKAi>v>_Q_F?vsUA%osOfJ@;+bh0BQ7-RDi%c3JKdieW>=Fo@BF8MWX$kX^cfp^5=&Blo#r%e$`#;G(g?(TX^81 zT)6PE7G!{k^x$Ro#cuA!Za`Pd)h~7r^-;AOQNyw`j!tK%@Ie6k+wNM2O`snl77AQB zG)AXVBZs%wLe9^g?Sd`bC!<5|+{5t6RP#0(R z4iP?_u2C|zqEVvP{uT8FG0WIm$NRgRe4j=Ly>sik;T<>Ba%;L7h)I2QwcIRrJxVE@ zo2XwzQFRnEXOg$P8_RY|4O#u~CWQq}P%rJSs8%oOEbL z4FFWFQF1X|pbVRLmi*`i?4sd5{>#?~en9|pXPn<%atzv8B*|QxEfdv~C4oz^gf2_n ziqpJJVw}^xE|6-8CQw>0p_ezUWi-ugP${M#Yku5yVM(Su6 z1pgn7Bh*Rg2a~)ilBnCdV&N!UAf|(DYf%l4NMMkUjfL?oXV&bdGtW7)aA4WH>FC)~ z_8N9UuWf-}n0RgU+b(*=4fs5L9AqSdWI3!FY1qqMbTCwabSpsUT1O5WjQCkQ*?)Gz z9pZ#Gf$pDON8k-A8u{3$5vE-YHvb1$)Ro>3$I;qjn|zrV|c|cI+Bc`X*oU&mG6_aejzjzq^{c zxTY?AL4E`U(>QcK`!WymGZrw+OU;!HM#mer$~T%J1%7>(qBNcC53C6dkD`Mxn|%~M z<_IcvICccwv&#Xw?Tfpv(&2PaE!Wlp=R|ZCq`7pg3=h%3?jrt#vc!cF!?KBC6X(H) z9%0irYTps$_&;6T%Ux_03IP(J$YS`+1=J86rQg|{NbL`Z)s#mj^zy7-7?9urKuz${ zMDoLV@Byc{KPsme!vnl@2@CWub##PGVhC@GQI!fEeykaddz-(&2z#|FtB8Bj|vKvSi^j`0wzgjjO1O+uFriP)1r3VZq54 z!{oy(gQe!MwOA36-bIfGG`)h(_L;;U#KY8Yz&jjq|HMaZ>SBH$p^rRLwV_KtPi>28 zqKk>xVAD6SrY?Pyzb#5>kC<^Rja%E*uoj0aysw1qgL8)ZfO{@e+6wQ7XPH5|u)q*wd1vW?lioI7l|*I`=Lh_;0OujTE)qWY zYq`mjOx^pn4mmrB9jb41!lY8dr26EWE#R+r!mLulta{~}foPc2_M31QMhxnQLBpfq zY3vg9=d!PGHcs|~}+PB)bdV6GM9D6p}pYx2OC`%9} zCjTfSnlcXNjG-tW!Kt-GL-+IY@bU8S)~UWmjVvoKJI&{71Fep?e~_+V-X83y&WZuo<6DCS$_aEzU_~fzQ?6(!ZH(NX@ z;G==%e?TEtW((CCkxD}~?BUhU*C&%tyEx0UU1?`^5FMga(y%~hD?MPEX;qn>=xn)0 zCRV7Vv`DF}(pH>GQ3)sS%rHIQ;L-&mwKqm=8qUbCVM@4p)#En)X z(~zA=F9ZWABvoZ0KHhD;7~2Z9SSFW?Gzt})-nJ6kmW;PAj8a%XjZ-4BRoMug^ z@bIW%Mb)qhiwdXHkVtewWQb2&zaW~5FH2U&3WC+n*Dw=hSu(^fJ4?)j##u>ch}3i% zo75ytbCH^&RLCX#VPoY2ky2|^B1S;cvk-8JYh{H@SA3X~N@uGf6k>%$TBRtGLYtQrOvRBUMp;lH!$@7i)?wKyHqWJ`#JDjP4D(5gBob6HYNkx6Wdo$7 z+CmwD^ir-U7h0Z5l~k?}N&aiLynir=T3-KD(7LH)8Y!JBLMy?hj6y8VR-t^-{WFM| zO4y)lR5GcWRABwf?L(C&7pXIlUeVEs+D0Hvgx0BYRwA(&NzPP+$S++EkebOwmX#xt z%OrGWW;V;mmEuWLv(ss5u2{-c_mEJLnv^dp0UYGg1PwYIRAm3q@@kGk!-QyvMOh+9 zNPiJ(UAF#1;M3EkBu=OzX{uYfi5FdNMuo*&@jf#q96)`#$6Bs^PIn=i*X}Sz; zl!}qTAPOF-X_dA~M{(jO#1rAuNOLtoNSUxWt~U|+Af^hYq4Y6S`WhP>N(3QZzYv%NCX3uH96pulg-cN)!bnX>MWI$pK%YaZRZ4TDa__Q0Q6X~l%S22l zQEqs$9GOHKn%7;bQc!W+t|EE1l!{Y97rw&xGG-xiS$Y;akQxegE9-L{F9bDh1yAGn z;XIK>#Og8ugihu5%5{l7K~!k8OwF<;-=rfPDbp}sF|jKP73;fJPmv)@MJ=ZnQXQkR zpzFA0fLobnIX9w(E`g2@lXQA&uF{JqQ&U`}Hw!*2__EN3g|;mCvEWYtKj-Sk!EHb> zAR%Y~XbNZps2KDaWMgd{Y!C7PwFgCm1fUF%5;PDrNlVj!OF_FpCqcJBPeGqS#Ewmk za=S$B47DGqvsS-1FjMzQnhYyw zxipLYa6#v^vnJX zP{@PO_h&jinb~R$orHvVg*YLBYiFr6En!&IrJzm$Y3o9XyebSy@4 zYY>boyhD4h=Yp+@gmO_HDmFGr4MzzHv0Pz%SVCBQ*DzspSafWBGL#Yg*che-MfIf; zWu;45*~z8dbsq}!q~#C>cC5>YRJkdedeuq6;rMeX4n>)gZ}Q7O-jT{@zVHn*s;Hy3 z_Xy1Zs88sr1ED^trw)R;SWn#!>Qj2^V5m=bw3$U|f9*Lovrcz>k-_?4Gpjw!&y@R5 zY?anZp=gS#M!xY&5QK0$d-5Pz6wi}SK&!)k$1xBS8zbaJhX@&K@d7TfhTn?X#=)jG z6lG;WRP3*S=*8*j8Bx?)=n+$Edx|pQuwmPxwO3v1)(H02L(fEy7jd(fxV0r;6lKl= zb%eNuzs7oY&k=k1NOwJbuw;H@yh^AlHEXNfyrP;N@0OeE^V9Jqya`oQ6JGlEiCXv5 zxzVXj@KKq2ow+XjI<+njb^I&3H~SCy5kC6Azfu$bba5u`h+6-rD+4+{`f8#_!l(NY zwaz{HCPeJ($GKwsbmltyI(|B}S}v6;E2~wx%tR8I=OI%cY6a#wNbM!3BjWh6v{II( zCR0v~a~eZ_jdq|P#!N?1Xdy}cTNz{2n4)Zrf{fzDdJ`;|I%7Dq91VtmY|Ww4h|605 z!`T~!kjyloqa~N6YDbM^O2dkE$fOxbm&zy{of-59*;$!r5g7z{@@O@t95l3CmPO|G z$b_11FshxyBEu1Bt`f5h_+pz*Ocs$&nNEp@z<@QWBfMz7(CdH5+xvgOn^b3BH1B^B zZXNIcMY!4Yj*Cv9LohT%@c+?#EaU6_KjQ22KjQ2APw{2*t}Gq?vGlFL_a95&3Vi>u z^sT`6A4}hI`K?lLwF63wU^S?S$e@zUT9uG?>b^9^EPbSsF_i?<&ZH^#pfb?|5EA3cdM=owRFMWBIf|K}Z_KoF(N7|CrC4MW z5{@peY)=ILD=uHgGmAQ4nx;}@e&v8TrU)0rq4MQVCQQUHH73#}*>cQnvcdDJ(#tBH z=whUt>dzSgLh_gWBJo8C!xoB0hf|-}{;d)EqQ;a3dRa``Q&`LphKKN@n2*@b48TMf z6HA7aWlDZb*N`YaPZ$y(@s%EiSprNK_P zlQ|2WV*x)pEH+V4rq(gTC^s%PhD?7}@P!-C{YtNESbPEo!C&b|hm_l80>qEuCq(M` z9*^-fKSmfA9~%J=6UrFGbWIS3hUocDGzbSU5b%*M-SwF0%qm0|E(FPO7^m|SqC*7S zNCW2R`|yOZF;U3|y2OXDnApUKNMS-;2)8`)#0y=@#DqjwZV(v~LkgZQ!HAo9%n@L! zfMj=t0Cx^c77Aixg;B9F<@rmT#Dzq_L1GjuAB)k-X^?Agm#@mV&E!1HYzFsDl^kbw4qRiVe<+r#j%}*j6%qbDGzg*j*y>VD5tDR zd{|rY0<1!HKBkuU)=QLhA-Sx*qe#>G`M;D;M>h>qoz zR|||&!xU$oQ3~orpR3$UN34-{L z@{-4Snj0zr9l5&I#Dg2=D( zD>@A2*r5GqbeQBVD~@G>W6ZuvwK82&>+;Ln*fM>{r(T_3uFZClzUI!zpe8o{~kQmb$LR?;JF^-bZ(4phejUU6)E4GXgBWvOM z{VGOVTeyV0#5lB$`aN5HW5Xot8jIDo3YnS|&99K)Y>JTf!_akHdBw_j5g*3wie@G% zOux$snHR={3HafLl31>-lW8PwNOUDy zY@tLgQJyp9K1E0I{Hjh7ew?3>?8m6u28j%6+sYD_?IIXdEvyzACW8`HrdzRavIe^9 zhKxnfeJK+!)-*AutV=44)NdWXHs(h1<0`nuXh?t-NRMlzKoDmrg^W&gND`!$$A|cq z3qE5~v7Kf#yT$WS&Uqn%kTMS${qQi1j)akrQoT+jW1^FAG;%Q*4(e5x`o8EFL`FX> zBqD@gUM(2dCEehtSp6g;`7Vg6Fy7N?azkQBQe$u!8-;-sNlb(BR|R`qloP}eJ&Dd? zHmq@OJ$kz={BQONaZzTPlUXP1>=U55ulCBux=Sz~=7{R-5Hl}RLtnKn1b5TK$o zmGSwif3GtUpkT5oCJfh0)acMK9>W_OpP3;>RI*TSGNH^^5RaAD&lG;EvN1{cDk=2C$uLEu zBjl2Zf5UgStM?5HY;mZShJ@&qtFlD}?r&wto=`3ia z65aW4BuAy0NGhBJAsHYWRP^QAl}$Otp&B!^&*SVNuX@nKyIs%$bQPC)S!3gQ!E$_GuXBQkR*jKqFLf@FN7r=5VE zixu=qx0Y)#j9~2xLK4d7CL_C{bYik2wnFsEw0Q}_NDNPztSa|F-&hwH2+_AK@c0p7 zdP9$Lui=M|NgO%=`ppg|PDzDs7&@J%cB2k68K`AY76P4}1av(y1|{8!@34XnvoJPX zh*mM8eDqTZt3(W}_z^Ms)q*ylIH(dG5sd(oDUT|>#7G`v@u~vEEZ|mUh>3Vi9_viW zdcl`37aOyCX?_KgJu~-##=y5g6QE@i?2Q370h$5Z0L_8nKt z2Us1r8E6eW0;~zV3Z!aN)GMG7(1eD6z$QQwU|XOmFcxSAlmg9x!+_O*^MDq>9Y9Oq zS)dj05wJS&3(y+q(9}4%2CxmVCNKtA3n&BH07n381D62n0QUmx02K)(V4m<^{1}p_y0AB$ufhNvKSD-DhI-3CsZ20{#H31Dp%2 z3tR`Z1s(?40j~q=0bc{_1Fc&i9f8e&4!{s#1E3Jt5I7j<3!DaQ16&Pk3)}~k0Dl2W zfe(Obz%RgbV4arOFA8)4%7DSZKEOm^UtlIs4jcxY1)Kq#4O|7B1KbCk3%m@ZI282~ zXaqEIL3#q408M~xfu_J{pczmCGzSg_Rs+riS^(DrErExCR={h(>cAI3YoL`Y(i7MW zSQ8iotOe`_v;nGtwSg0Wb%3jYb%BR~w!o`EJKzUkJz&jNNMB$xpgph+&;b|)Yyj*D zBnwkHKqKHppfPX*&;)o2NcP*k0-6CGS|eUS4zL<98E63<1hfP$1zG_Q0ILJ<1FeCk zZipAK1&~UCyaSDZy@AF+4bTKQ5oiir3p4|s0Gb0I0VyT+Yq`T6urAOT=ngaih5}82 z-GOF64bU7o9as&x7H9$72c+^T>L$<#_!?*oZ0G?#Kn~CpC)WH5g zW8ie6zX|mW(Fg7(`oN1o6X0v0DX@kw(go-OGzWGBRs(heS^yP5YCp;o&Z*@SPfXKE&Kzz0i|lCkQ^&h zRkj^hK-Q~q%1I>0E?-F=maw%uo~8Pyy$rYT#xQ$96xr!Gbjof)#y&oFmoRgr0Y^5$ zRd12l&^b8@L%h+R4P@=H2RxZ@vcWXmh8M3pU8By()<|#~3@hy9^oB~y1cyykD!M({ zFqg|RM4O{sYc7kwka$v6LNEr*F`fS~H3)kd&HxFSP2h$H9;-|Pu1J4N4dX3y>@-)q zoS&^ul~4jjwm8Gv$IB~-jwc6S$#zL{wiV0yl=f$YRdMn&*Q#|Oz&Y*2aGx3!IfSS^ zMpc8Hgi>i}UU(v%iA{|)D0Y)L<>l?;+or9be?VYJC>O(0sz(TRQR47YuNqc-Y~*Pl z9?}(uf@3`J4`-JQe>jxKXc$p6Wzv`;jWjhjE+(ReRRdzR2A}k!89NB8DRkZqOnFLC zjZW|}jgouy>4N@)e!OsF|GwYTo{w;vVBWa3dueX>;7^w-&p8-#gT+xbV)L-{(J2?R(JV z_~3=FKb=+&IpeVJb-R7y=DdN;T<;F-8RcIv$3%XsVb?D1-PhUtu(-O~Wrf}EAMP%j zFw}dLSILr*UW+un3-(6e8#-%;y1ie??U7!y1icFmh~NIyZ|fw{5;JR2i+-QxHrROK z`HCNBjjiu4vDj*HCuh?8RYUxLLCyy`8#mD`;9=&`wcuyPMH< zxp-4X7p{G5o5^u&3qIaBuO6D=VI#j>xG**B!tEsmjc$E29I6b$;3)$`MMr;^msUgJ7nS+?fmjlwHOT!?a1 z?>*PDu0$lSxzoF3Si_=`?aasA8{KoQXrkv#Z>KT!I*jQ3 zvj*)gN&1}Cr?AJi_ecAQa*Slx&p6M09QCIAk1q8HD!#X5 z{K{D=&y5f6n%*Po^_{1uU&LLfcI_HAyv5+p>E}i-8|#s3@%-+l%jX~WSLbhDQhoL0 zlxN1b^QMe#(Q#?Zkr!{e)Y)T|lHTf<=tV2S;v=^_Tr%p#VHdx-*FP=d4|Hg{d({Ao zi}ecHbxhCTEIdEGOV?+n!xD^^6izQPYSqJSDYs$R-GfIZ@2V~P&~bWbKdzIwU{Z9G z?&oCBc4W1*8Ptp8Q|sa7H;YH+9<9@Q_vP-EerB6|=kzey8{UoMSz>mn($9PoTsT$< zrcqz6PAkr64Ziiv>`&i2cxrR~9^NA)N*9jxrA}ToPHs&ton0E2f3s)W!K1adFYD1S z(aYX;|LG%d>bjfSgzSAAV{2({7MU{4$;08$x(7|{t*y>>n`@c0<86**lF&$QJH@^G zn5~DWH}7t`9cqc{*qEi0Giskt9c=b6e6O^44J61&Ew(dxzZ=uL;Gwd_73$Eo|N)&*OQE`;0PT4Q%;Y{G@N z9z91LZ{m5N0jI~bb?c~?cc*dt$3I#!K(uvXgX^s}C{_$hi%IC**6w^s)c7@joS7Pv zS}L4d>)^VJD;6f?CmmI_79V#q`e{^XVPe-s4gJ@jPw4EPIAimo!877I1=d(|b(+Vy zx4X7P@$FRMMz`k_4ZmxiG_d(t=g&{}^-#tYHLba6Z1j_r^XrA>X{Hu8YB#~Qq}i(G zj$=wke+qvgX*JB^cG2zl75&C7ShsjgqxmncHQ;q_TaB`AaLsgrGR3VH-*?uI+FZ{8 z{Q_HFIe5uURATHJ?lJOB z=YTtfQQK^Kj}>{D%sKI(INdk8@y4lr&t6!ieA28&PL|D+=-(!Lsdmk}G@HBd*om3H zjbHn2$%=DzPUluH?%DkKO8>ffQ#~^>e(&7qRDANU?klMrRoM7~DfTUVCjXkP{BzYi zU!HZFd*{d33u%;7G&kK&t;;4BWN=HZz9f~iy`*Qq(&j?|d?WNcIqB`ued}F(k zH~##nt~HYsHigBhE2_5}S$uEi*0pwTXN;-0s>a(Vb=`+`f8us`RYp^RZ~m_9q4sgd zJbGC@Susl7$b9D2)sl@5yDgpRHEDYE;tX%W^r#LIS4K~7(?Zs}RzPvX;A8XLoQFA@ zysKyTGPcNk`8fLn&+?C6@NJbTZKj-hboTz3ncj~+#Vm~Ky`;-d-sI$zPEUXE8WJ=7 z#bd#uo^CBB=k~s&beb?;(eCj3Q}@&hB2LcmOsra zwjU5RtkH=zftS)V?>e;NRbTppps~})wyV6;cO@S-?%wY6&%=%cjZ%(Iy4^JPQQ*q0 zF&$DYI!-!rW^_mA@?+TR}AblO9|^&^I- zIkxE%F};Nh2I&1%axsqxo(uN{&8sP&vhKi4@|I7-#s zc1Q1HNu?KFBorA%*D3rkEHU#>Mf0)2;a!f$`S9rzcS3VI&HJNAM#0=VJGM@2^knJW zwAveeh9wKCH@Unz)_q3Y#ur!n4+@%g=Axv=wnTpPnLcvH*=4KUq8-H!Uk=%B zG1+{q;B(>jkvkm@-k90&)Tq`s=>c=kta|(MkJ^rF4($oZ9p9GX`OcnKIP-^~&?CI5 zA?9~hiE6b@I#9EwSeyG_Fn z)pz>NKFmpWczWIbY~B9Gb9(N%yE3^^_?#2LzpEShotsnCeQxx$k8Q4fXy@xfJKOZJ zIqBGEM7Nm^tLI+(G-I%h^BUDUQO%dOFU%8Hv{p14IQxv-(J5IuaZeiWk!2*b=zR5& z{|vEk$Lix7=X85?D05wn(rbN6spqe~?mWsGapCA|KvcxT84<=Ph> z%7nwCqtaWnH%S_0uPVA{e&RB}cEc-2`Hok&zV^HMYw_zh(^|bBH)Ov2ZJkcy} z|N8ru5$y`QjOnIwN|y9>jli384hb$hXb^4Oc=wKaSFq@wT|KYi+5cYW?p zd3HbTniRSio)0)Xyq{ppyEe5sK-H?-Q;fI7>s z&P;1LDk@y%+|7IThQfX>4h`QgjG1xHo)^*F^8t5X%(ao%R~@JNPG9rt+6gj)LmEF=JdO{1w zg(shF+|>5dk48N`SMObWAbO5)bd82Tud8>rsAa!5&XfDPN^6C!ORHwrh@18P(!12& z^kkzYCzs4iGaEQ2^^t?=nwyOqdcRrh-!1NF&2cWNeXr5=Iz^2;ru6Q) zc4odQjoHGh-p9)CAb*ADES23Mi#vA%e@}F_DqS`^%i2!qvUFb8?)@6Ry4&i{B2mXn z)+sCOY7L1G2`IX&4jjJfmY0WfFN)**`r$DWdY>3u5O(AJ?)jaL&XG6RaKHT|*WKsB%=#urx!#C;d#%p4SAj=542eytXBLuf z_99~bRm+PZsScTs`=^Qn+t~`At{9a)=#Xr{)F&%H*85Q0KVa*!v9lTk+`iC?)B2}J z+`VI)g~gwaPn?=_eg2X$Z=I$*73bI-RbBk}{%y_*(*v#YyUQO(yJg$@&dj<$me=gJ zfF-XyT8@4{vy&AMx*9fB2T%!@~wHvF41QxPC$d4`1)7f%Tu*$}X?Gwm-

    0B%e@fJaaId;=?OP_rRCmU`>SnfAUEcPoi=C;m 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 jB}uuzAZIuX47bF&4G{z2IcTLUJ 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ℜ$EH)MSXX$(^NI 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%0Dd72Ui-D$l^nLdmVR=SJ2NH4=G3onat?T{)=}bV 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 Ry6u*mCZ<5$`OnXr@qdjDlHLFS diff --git a/tools/get.py b/tools/get.py index 45f97d62f54..6f42cbaa577 100755 --- a/tools/get.py +++ b/tools/get.py @@ -177,6 +177,7 @@ def is_latest_version(destination, dirname, rename_to, cfile, checksum): def unpack(filename, destination, force_extract, checksum): # noqa: C901 + sys_name = platform.system() dirname = "" cfile = None # Compressed file file_is_corrupted = False @@ -223,6 +224,8 @@ def unpack(filename, destination, force_extract, checksum): # noqa: C901 rename_to = re.match(r"^([a-z][^\-]*\-*)+", dirname).group(0).strip("-") if rename_to == dirname and dirname.startswith("esp32-arduino-libs-"): rename_to = "esp32-arduino-libs" + elif rename_to == dirname and dirname.startswith("esptool-"): + rename_to = "esptool" if not force_extract: if is_latest_version(destination, dirname, rename_to, cfile, checksum): @@ -256,6 +259,11 @@ def unpack(filename, destination, force_extract, checksum): # noqa: C901 print("Renaming {0} to {1} ...".format(dirname, rename_to)) shutil.move(dirname, rename_to) + # Add execute permission to esptool on non-Windows platforms + if rename_to.startswith("esptool") and "CYGWIN_NT" not in sys_name and "Windows" not in sys_name: + st = os.stat(os.path.join(destination, rename_to, "esptool")) + os.chmod(os.path.join(destination, rename_to, "esptool"), st.st_mode | 0o111) + with open(os.path.join(destination, rename_to, ".package_checksum"), "w") as f: f.write(checksum) diff --git a/tools/platformio-build.py b/tools/platformio-build.py index 1ece3afddff..485879944eb 100644 --- a/tools/platformio-build.py +++ b/tools/platformio-build.py @@ -213,7 +213,7 @@ def add_tinyuf2_extra_image(): LIBSOURCE_DIRS=[join(FRAMEWORK_DIR, "libraries")], FLASH_EXTRA_IMAGES=[ ( - "0x1000" if build_mcu in ("esp32", "esp32s2") else "0x0000", + "0x1000" if build_mcu in ["esp32", "esp32s2"] else ("0x2000" if build_mcu in ["esp32p4"] else "0x0000"), get_bootloader_image(variants_dir), ), ("0x8000", join(env.subst("$BUILD_DIR"), "partitions.bin")), From 87c0e7763da8838a4af19ed1196632882e25fea4 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 24 Sep 2024 18:19:40 +0000 Subject: [PATCH 047/146] change(tools): Push generated binaries to PR --- tools/get.exe | Bin 6943192 -> 6943192 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/tools/get.exe b/tools/get.exe index 2082c7a4b68b6438c4f43a736a9d1b6aedda614f..5a1d7b8e90bdfc4b62f4342528b68561dfeee102 100644 GIT binary patch delta 38672 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 Lb~fNEE&TdF6Wwk$ delta 38673 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 Hhd=)V1SUr- From 9398d52ddc20f0fe1149280fbe6dbf423a37d5a3 Mon Sep 17 00:00:00 2001 From: me-no-dev Date: Wed, 25 Sep 2024 00:05:49 +0300 Subject: [PATCH 048/146] Update package_esp32_index.template.json --- package/package_esp32_index.template.json | 32 +++++++++++------------ 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/package/package_esp32_index.template.json b/package/package_esp32_index.template.json index 21b3635bfcc..4df82b26bee 100644 --- a/package/package_esp32_index.template.json +++ b/package/package_esp32_index.template.json @@ -101,57 +101,57 @@ "host": "i686-mingw32", "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-4d0db704.zip", "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-4d0db704.zip", - "checksum": "SHA-256:fba40f59a2c1ed89bb3fb17c655ea312c9d6a9c3be102fbcb25f27e96ddc2bc6", - "size": "320072134" + "checksum": "SHA-256:645b7579d22e7de73c87cce1d52629f9780de9f18be5b5b066ac0f2c210e9bef", + "size": "360076736" }, { "host": "x86_64-mingw32", "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-4d0db704.zip", "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-4d0db704.zip", - "checksum": "SHA-256:fba40f59a2c1ed89bb3fb17c655ea312c9d6a9c3be102fbcb25f27e96ddc2bc6", - "size": "320072134" + "checksum": "SHA-256:645b7579d22e7de73c87cce1d52629f9780de9f18be5b5b066ac0f2c210e9bef", + "size": "360076736" }, { "host": "arm64-apple-darwin", "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-4d0db704.zip", "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-4d0db704.zip", - "checksum": "SHA-256:fba40f59a2c1ed89bb3fb17c655ea312c9d6a9c3be102fbcb25f27e96ddc2bc6", - "size": "320072134" + "checksum": "SHA-256:645b7579d22e7de73c87cce1d52629f9780de9f18be5b5b066ac0f2c210e9bef", + "size": "360076736" }, { "host": "x86_64-apple-darwin", "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-4d0db704.zip", "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-4d0db704.zip", - "checksum": "SHA-256:fba40f59a2c1ed89bb3fb17c655ea312c9d6a9c3be102fbcb25f27e96ddc2bc6", - "size": "320072134" + "checksum": "SHA-256:645b7579d22e7de73c87cce1d52629f9780de9f18be5b5b066ac0f2c210e9bef", + "size": "360076736" }, { "host": "x86_64-pc-linux-gnu", "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-4d0db704.zip", "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-4d0db704.zip", - "checksum": "SHA-256:fba40f59a2c1ed89bb3fb17c655ea312c9d6a9c3be102fbcb25f27e96ddc2bc6", - "size": "320072134" + "checksum": "SHA-256:645b7579d22e7de73c87cce1d52629f9780de9f18be5b5b066ac0f2c210e9bef", + "size": "360076736" }, { "host": "i686-pc-linux-gnu", "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-4d0db704.zip", "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-4d0db704.zip", - "checksum": "SHA-256:fba40f59a2c1ed89bb3fb17c655ea312c9d6a9c3be102fbcb25f27e96ddc2bc6", - "size": "320072134" + "checksum": "SHA-256:645b7579d22e7de73c87cce1d52629f9780de9f18be5b5b066ac0f2c210e9bef", + "size": "360076736" }, { "host": "aarch64-linux-gnu", "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-4d0db704.zip", "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-4d0db704.zip", - "checksum": "SHA-256:fba40f59a2c1ed89bb3fb17c655ea312c9d6a9c3be102fbcb25f27e96ddc2bc6", - "size": "320072134" + "checksum": "SHA-256:645b7579d22e7de73c87cce1d52629f9780de9f18be5b5b066ac0f2c210e9bef", + "size": "360076736" }, { "host": "arm-linux-gnueabihf", "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-4d0db704.zip", "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-4d0db704.zip", - "checksum": "SHA-256:fba40f59a2c1ed89bb3fb17c655ea312c9d6a9c3be102fbcb25f27e96ddc2bc6", - "size": "320072134" + "checksum": "SHA-256:645b7579d22e7de73c87cce1d52629f9780de9f18be5b5b066ac0f2c210e9bef", + "size": "360076736" } ] }, From 4bb287eaf6cb23303bf22bcab228f0e35a3680d9 Mon Sep 17 00:00:00 2001 From: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com> Date: Wed, 25 Sep 2024 17:38:21 -0300 Subject: [PATCH 049/146] fix(esp32p4): Fix compilation errors (#10371) * fix(esp32p4): Add missing touchpad definitions * fix(esp32p4): Add missing target in SPI example * fix(esp32p4): Start touch driver fix * fix(esp32p4): Skip touch examples while it is not implemented * fix(esp32p4): Add missing analog pin definitions * refactor(formatting): Fix formatting that was broken in P4 PR * fix(openthread): Add missing targets to skip * fix(esp32p4): Skip ethernet sketches * fix(esp32p4): Disable periman test while touch is not implemented * fix(esp32p4): Disable touch test while touch is not implemented * fix(esp32p4): Fix UART test * fix(esp32p4): Skip Wi-Fi test * fix(esp32): Skip unsupported example * fix(esp32p4): Fix skip files * ci(pre-commit): Apply automatic fixes --------- Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> --- cores/esp32/esp32-hal-i2c-slave.c | 772 +++++++++--------- cores/esp32/esp32-hal-spi.c | 7 +- cores/esp32/esp32-hal-touch.c | 2 +- .../examples/BLE5_multi_advertising/ci.json | 1 + .../BLE5_periodic_advertising/ci.json | 5 +- .../BLE/examples/BLE5_periodic_sync/ci.json | 3 - libraries/BLE/examples/Beacon_Scanner/ci.json | 3 - libraries/BLE/examples/Client/ci.json | 1 - libraries/BLE/examples/Notify/ci.json | 1 - libraries/BLE/examples/Server/ci.json | 6 +- .../BLE/examples/Server_multiconnect/ci.json | 4 - libraries/BLE/examples/UART/ci.json | 3 - libraries/BLE/examples/Write/ci.json | 1 - libraries/BLE/examples/iBeacon/ci.json | 1 - .../examples/DeepSleep/TouchWakeUp/ci.json | 3 +- .../ESP32/examples/Touch/TouchButton/ci.json | 1 + .../examples/Touch/TouchButtonV2/ci.json | 3 +- .../examples/Touch/TouchInterrupt/ci.json | 3 +- .../ESP32/examples/Touch/TouchRead/ci.json | 3 +- .../Ethernet/examples/ETH_LAN8720/ci.json | 1 + .../Ethernet/examples/ETH_TLK110/ci.json | 1 + .../examples/COAP/coap_switch/ci.json | 6 +- .../OpenThread/examples/SimpleCLI/ci.json | 7 +- .../OpenThread/examples/SimpleNode/ci.json | 5 +- .../ExtendedRouterNode/ci.json | 7 +- .../SPI_Multiple_Buses/SPI_Multiple_Buses.ino | 2 +- tests/validation/periman/ci.json | 3 + tests/validation/touch/ci.json | 3 +- tests/validation/uart/uart.ino | 24 +- tests/validation/wifi/ci.json | 3 +- variants/esp32p4/pins_arduino.h | 30 + 31 files changed, 471 insertions(+), 444 deletions(-) diff --git a/cores/esp32/esp32-hal-i2c-slave.c b/cores/esp32/esp32-hal-i2c-slave.c index 14da815455b..85eddcdfcf4 100644 --- a/cores/esp32/esp32-hal-i2c-slave.c +++ b/cores/esp32/esp32-hal-i2c-slave.c @@ -361,155 +361,153 @@ esp_err_t i2cSlaveInit(uint8_t num, int sda, int scl, uint16_t slaveID, uint32_t if (!i2c->intr_handle) { uint32_t flags = ESP_INTR_FLAG_LOWMED | ESP_INTR_FLAG_SHARED; -#if !defined(CONFIG_IDF_TARGET_ESP32P4) if (i2c->num == 0) { +#if !defined(CONFIG_IDF_TARGET_ESP32P4) ret = esp_intr_alloc(ETS_I2C_EXT0_INTR_SOURCE, flags, &i2c_slave_isr_handler, i2c, &i2c->intr_handle); +#else + ret = esp_intr_alloc(ETS_I2C0_INTR_SOURCE, flags, &i2c_slave_isr_handler, i2c, &i2c->intr_handle); +#endif #if SOC_HP_I2C_NUM > 1 } else { +#if !defined(CONFIG_IDF_TARGET_ESP32P4) ret = esp_intr_alloc(ETS_I2C_EXT1_INTR_SOURCE, flags, &i2c_slave_isr_handler, i2c, &i2c->intr_handle); +#else + ret = esp_intr_alloc(ETS_I2C1_INTR_SOURCE, flags, &i2c_slave_isr_handler, i2c, &i2c->intr_handle); #endif -#endif // !defined(CONFIG_IDF_TARGET_ESP32P4) -#ifdef CONFIG_IDF_TARGET_ESP32P4 - if (i2c->num == 0) { - ret = esp_intr_alloc(ETS_I2C0_INTR_SOURCE, flags, &i2c_slave_isr_handler, i2c, &i2c->intr_handle); -#if SOC_I2C_NUM > 1 - } else { - ret = esp_intr_alloc(ETS_I2C1_INTR_SOURCE, flags, &i2c_slave_isr_handler, i2c, &i2c->intr_handle); #endif -#endif // #ifdef CONFIG_IDF_TARGET_ESP32P4 - } - - if (ret != ESP_OK) { - log_e("install interrupt handler Failed=%d", ret); - goto fail; - } } - i2c_ll_txfifo_rst(i2c->dev); - i2c_ll_rxfifo_rst(i2c->dev); - i2c_ll_slave_enable_rx_it(i2c->dev); - i2c_ll_set_stretch(i2c->dev, 0x3FF); - i2c_ll_update(i2c->dev); - if (!perimanSetPinBus(sda, ESP32_BUS_TYPE_I2C_SLAVE_SDA, (void *)(i2c->num + 1), i2c->num, -1) - || !perimanSetPinBus(scl, ESP32_BUS_TYPE_I2C_SLAVE_SCL, (void *)(i2c->num + 1), i2c->num, -1)) { - i2cSlaveDetachBus((void *)(i2c->num + 1)); - ret = ESP_FAIL; + if (ret != ESP_OK) { + log_e("install interrupt handler Failed=%d", ret); + goto fail; } - I2C_SLAVE_MUTEX_UNLOCK(); - return ret; + } -fail: - i2c_slave_free_resources(i2c); - I2C_SLAVE_MUTEX_UNLOCK(); - return ret; + i2c_ll_txfifo_rst(i2c->dev); + i2c_ll_rxfifo_rst(i2c->dev); + i2c_ll_slave_enable_rx_it(i2c->dev); + i2c_ll_set_stretch(i2c->dev, 0x3FF); + i2c_ll_update(i2c->dev); + if (!perimanSetPinBus(sda, ESP32_BUS_TYPE_I2C_SLAVE_SDA, (void *)(i2c->num + 1), i2c->num, -1) + || !perimanSetPinBus(scl, ESP32_BUS_TYPE_I2C_SLAVE_SCL, (void *)(i2c->num + 1), i2c->num, -1)) { + i2cSlaveDetachBus((void *)(i2c->num + 1)); + ret = ESP_FAIL; } + I2C_SLAVE_MUTEX_UNLOCK(); + return ret; - esp_err_t i2cSlaveDeinit(uint8_t num) { - if (num >= SOC_HP_I2C_NUM) { - log_e("Invalid port num: %u", num); - return ESP_ERR_INVALID_ARG; - } +fail: + i2c_slave_free_resources(i2c); + I2C_SLAVE_MUTEX_UNLOCK(); + return ret; +} + +esp_err_t i2cSlaveDeinit(uint8_t num) { + if (num >= SOC_HP_I2C_NUM) { + log_e("Invalid port num: %u", num); + return ESP_ERR_INVALID_ARG; + } - i2c_slave_struct_t *i2c = &_i2c_bus_array[num]; + i2c_slave_struct_t *i2c = &_i2c_bus_array[num]; #if !CONFIG_DISABLE_HAL_LOCKS - if (!i2c->lock) { - log_e("Lock is not initialized! Did you call i2c_slave_init()?"); - return ESP_ERR_NO_MEM; - } + if (!i2c->lock) { + log_e("Lock is not initialized! Did you call i2c_slave_init()?"); + return ESP_ERR_NO_MEM; + } #endif - I2C_SLAVE_MUTEX_LOCK(); - int scl = i2c->scl; - int sda = i2c->sda; - i2c_slave_free_resources(i2c); - perimanClearPinBus(scl); - perimanClearPinBus(sda); - I2C_SLAVE_MUTEX_UNLOCK(); - return ESP_OK; - } - - size_t i2cSlaveWrite(uint8_t num, const uint8_t *buf, uint32_t len, uint32_t timeout_ms) { - if (num >= SOC_HP_I2C_NUM) { - log_e("Invalid port num: %u", num); - return 0; - } - uint32_t to_queue = 0, to_fifo = 0; - i2c_slave_struct_t *i2c = &_i2c_bus_array[num]; + I2C_SLAVE_MUTEX_LOCK(); + int scl = i2c->scl; + int sda = i2c->sda; + i2c_slave_free_resources(i2c); + perimanClearPinBus(scl); + perimanClearPinBus(sda); + I2C_SLAVE_MUTEX_UNLOCK(); + return ESP_OK; +} + +size_t i2cSlaveWrite(uint8_t num, const uint8_t *buf, uint32_t len, uint32_t timeout_ms) { + if (num >= SOC_HP_I2C_NUM) { + log_e("Invalid port num: %u", num); + return 0; + } + uint32_t to_queue = 0, to_fifo = 0; + i2c_slave_struct_t *i2c = &_i2c_bus_array[num]; #if !CONFIG_DISABLE_HAL_LOCKS - if (!i2c->lock) { - log_e("Lock is not initialized! Did you call i2c_slave_init()?"); - return ESP_ERR_NO_MEM; - } + if (!i2c->lock) { + log_e("Lock is not initialized! Did you call i2c_slave_init()?"); + return ESP_ERR_NO_MEM; + } #endif - if (!i2c->tx_queue) { - return 0; - } - I2C_SLAVE_MUTEX_LOCK(); + if (!i2c->tx_queue) { + return 0; + } + I2C_SLAVE_MUTEX_LOCK(); #if CONFIG_IDF_TARGET_ESP32 - i2c_ll_slave_disable_tx_it(i2c->dev); - uint32_t txfifo_len = 0; - i2c_ll_get_txfifo_len(i2c->dev, &txfifo_len); - if (txfifo_len < SOC_I2C_FIFO_LEN) { - i2c_ll_txfifo_rst(i2c->dev); - } + i2c_ll_slave_disable_tx_it(i2c->dev); + uint32_t txfifo_len = 0; + i2c_ll_get_txfifo_len(i2c->dev, &txfifo_len); + if (txfifo_len < SOC_I2C_FIFO_LEN) { + i2c_ll_txfifo_rst(i2c->dev); + } #endif - i2c_ll_get_txfifo_len(i2c->dev, &to_fifo); - if (to_fifo) { - if (len < to_fifo) { - to_fifo = len; + i2c_ll_get_txfifo_len(i2c->dev, &to_fifo); + if (to_fifo) { + if (len < to_fifo) { + to_fifo = len; + } + i2c_ll_write_txfifo(i2c->dev, (uint8_t *)buf, to_fifo); + buf += to_fifo; + len -= to_fifo; + //reset tx_queue + xQueueReset(i2c->tx_queue); + //write the rest of the bytes to the queue + if (len) { + to_queue = uxQueueSpacesAvailable(i2c->tx_queue); + if (len < to_queue) { + to_queue = len; } - i2c_ll_write_txfifo(i2c->dev, (uint8_t *)buf, to_fifo); - buf += to_fifo; - len -= to_fifo; - //reset tx_queue - xQueueReset(i2c->tx_queue); - //write the rest of the bytes to the queue - if (len) { - to_queue = uxQueueSpacesAvailable(i2c->tx_queue); - if (len < to_queue) { - to_queue = len; - } - for (size_t i = 0; i < to_queue; i++) { - if (xQueueSend(i2c->tx_queue, &buf[i], timeout_ms / portTICK_PERIOD_MS) != pdTRUE) { - xQueueReset(i2c->tx_queue); - to_queue = 0; - break; - } - } - //no need to enable TX_EMPTY if tx_queue is empty - if (to_queue) { - i2c_ll_slave_enable_tx_it(i2c->dev); + for (size_t i = 0; i < to_queue; i++) { + if (xQueueSend(i2c->tx_queue, &buf[i], timeout_ms / portTICK_PERIOD_MS) != pdTRUE) { + xQueueReset(i2c->tx_queue); + to_queue = 0; + break; } } + //no need to enable TX_EMPTY if tx_queue is empty + if (to_queue) { + i2c_ll_slave_enable_tx_it(i2c->dev); + } } - I2C_SLAVE_MUTEX_UNLOCK(); - return to_queue + to_fifo; } + I2C_SLAVE_MUTEX_UNLOCK(); + return to_queue + to_fifo; +} - //===================================================================================================================== - //-------------------------------------- Private Functions ------------------------------------------------------------ - //===================================================================================================================== +//===================================================================================================================== +//-------------------------------------- Private Functions ------------------------------------------------------------ +//===================================================================================================================== - static void i2c_slave_free_resources(i2c_slave_struct_t * i2c) { - i2c_slave_detach_gpio(i2c); - i2c_ll_set_slave_addr(i2c->dev, 0, false); - i2c_ll_disable_intr_mask(i2c->dev, I2C_LL_INTR_MASK); - i2c_ll_clear_intr_mask(i2c->dev, I2C_LL_INTR_MASK); +static void i2c_slave_free_resources(i2c_slave_struct_t *i2c) { + i2c_slave_detach_gpio(i2c); + i2c_ll_set_slave_addr(i2c->dev, 0, false); + i2c_ll_disable_intr_mask(i2c->dev, I2C_LL_INTR_MASK); + i2c_ll_clear_intr_mask(i2c->dev, I2C_LL_INTR_MASK); - if (i2c->intr_handle) { - esp_intr_free(i2c->intr_handle); - i2c->intr_handle = NULL; - } + if (i2c->intr_handle) { + esp_intr_free(i2c->intr_handle); + i2c->intr_handle = NULL; + } - if (i2c->task_handle) { - vTaskDelete(i2c->task_handle); - i2c->task_handle = NULL; - } + if (i2c->task_handle) { + vTaskDelete(i2c->task_handle); + i2c->task_handle = NULL; + } #if I2C_SLAVE_USE_RX_QUEUE - if (i2c->rx_queue) { - vQueueDelete(i2c->rx_queue); - i2c->rx_queue = NULL; - } + if (i2c->rx_queue) { + vQueueDelete(i2c->rx_queue); + i2c->rx_queue = NULL; + } #else if (i2c->rx_ring_buf) { vRingbufferDelete(i2c->rx_ring_buf); @@ -517,202 +515,202 @@ esp_err_t i2cSlaveInit(uint8_t num, int sda, int scl, uint16_t slaveID, uint32_t } #endif - if (i2c->tx_queue) { - vQueueDelete(i2c->tx_queue); - i2c->tx_queue = NULL; - } - - if (i2c->event_queue) { - vQueueDelete(i2c->event_queue); - i2c->event_queue = NULL; - } + if (i2c->tx_queue) { + vQueueDelete(i2c->tx_queue); + i2c->tx_queue = NULL; + } - i2c->rx_data_count = 0; + if (i2c->event_queue) { + vQueueDelete(i2c->event_queue); + i2c->event_queue = NULL; } - static bool i2c_slave_set_frequency(i2c_slave_struct_t * i2c, uint32_t clk_speed) { - if (i2c == NULL) { - log_e("no control buffer"); - return false; - } - if (clk_speed > 1100000UL) { - clk_speed = 1100000UL; - } + i2c->rx_data_count = 0; +} + +static bool i2c_slave_set_frequency(i2c_slave_struct_t *i2c, uint32_t clk_speed) { + if (i2c == NULL) { + log_e("no control buffer"); + return false; + } + if (clk_speed > 1100000UL) { + clk_speed = 1100000UL; + } - // Adjust Fifo thresholds based on frequency - uint32_t a = (clk_speed / 50000L) + 2; - log_d("Fifo thresholds: rx_fifo_full = %d, tx_fifo_empty = %d", SOC_I2C_FIFO_LEN - a, a); + // Adjust Fifo thresholds based on frequency + uint32_t a = (clk_speed / 50000L) + 2; + log_d("Fifo thresholds: rx_fifo_full = %d, tx_fifo_empty = %d", SOC_I2C_FIFO_LEN - a, a); - i2c_hal_clk_config_t clk_cal; + i2c_hal_clk_config_t clk_cal; #if SOC_I2C_SUPPORT_APB - i2c_ll_master_cal_bus_clk(APB_CLK_FREQ, clk_speed, &clk_cal); - I2C_CLOCK_SRC_ATOMIC() { - i2c_ll_set_source_clk(i2c->dev, SOC_MOD_CLK_APB); /*!< I2C source clock from APB, 80M*/ - } + i2c_ll_master_cal_bus_clk(APB_CLK_FREQ, clk_speed, &clk_cal); + I2C_CLOCK_SRC_ATOMIC() { + i2c_ll_set_source_clk(i2c->dev, SOC_MOD_CLK_APB); /*!< I2C source clock from APB, 80M*/ + } #elif SOC_I2C_SUPPORT_XTAL i2c_ll_master_cal_bus_clk(XTAL_CLK_FREQ, clk_speed, &clk_cal); I2C_CLOCK_SRC_ATOMIC() { i2c_ll_set_source_clk(i2c->dev, SOC_MOD_CLK_XTAL); /*!< I2C source clock from XTAL, 40M */ } #endif - i2c_ll_set_txfifo_empty_thr(i2c->dev, a); - i2c_ll_set_rxfifo_full_thr(i2c->dev, SOC_I2C_FIFO_LEN - a); - i2c_ll_master_set_bus_timing(i2c->dev, &clk_cal); - i2c_ll_master_set_filter(i2c->dev, 3); - return true; - } + i2c_ll_set_txfifo_empty_thr(i2c->dev, a); + i2c_ll_set_rxfifo_full_thr(i2c->dev, SOC_I2C_FIFO_LEN - a); + i2c_ll_master_set_bus_timing(i2c->dev, &clk_cal); + i2c_ll_master_set_filter(i2c->dev, 3); + return true; +} - static void i2c_slave_delay_us(uint64_t us) { - uint64_t m = esp_timer_get_time(); - if (us) { - uint64_t e = (m + us); - if (m > e) { //overflow - while ((uint64_t)esp_timer_get_time() > e); - } - while ((uint64_t)esp_timer_get_time() < e); +static void i2c_slave_delay_us(uint64_t us) { + uint64_t m = esp_timer_get_time(); + if (us) { + uint64_t e = (m + us); + if (m > e) { //overflow + while ((uint64_t)esp_timer_get_time() > e); } + while ((uint64_t)esp_timer_get_time() < e); } +} - static void i2c_slave_gpio_mode(int8_t pin, gpio_mode_t mode) { - gpio_config_t conf = { - .pin_bit_mask = 1LL << pin, .mode = mode, .pull_up_en = GPIO_PULLUP_ENABLE, .pull_down_en = GPIO_PULLDOWN_DISABLE, .intr_type = GPIO_INTR_DISABLE - }; - gpio_config(&conf); - } +static void i2c_slave_gpio_mode(int8_t pin, gpio_mode_t mode) { + gpio_config_t conf = { + .pin_bit_mask = 1LL << pin, .mode = mode, .pull_up_en = GPIO_PULLUP_ENABLE, .pull_down_en = GPIO_PULLDOWN_DISABLE, .intr_type = GPIO_INTR_DISABLE + }; + gpio_config(&conf); +} - static bool i2c_slave_check_line_state(int8_t sda, int8_t scl) { - if (sda < 0 || scl < 0) { - return false; //return false since there is nothing to do - } - // if the bus is not 'clear' try the cycling SCL until SDA goes High or 9 cycles - gpio_set_level(sda, 1); - gpio_set_level(scl, 1); - i2c_slave_gpio_mode(sda, GPIO_MODE_INPUT | GPIO_MODE_DEF_OD); - i2c_slave_gpio_mode(scl, GPIO_MODE_INPUT | GPIO_MODE_DEF_OD); - gpio_set_level(scl, 1); - - if (!gpio_get_level(sda) || !gpio_get_level(scl)) { // bus in busy state - log_w("invalid state sda(%d)=%d, scl(%d)=%d", sda, gpio_get_level(sda), scl, gpio_get_level(scl)); - for (uint8_t a = 0; a < 9; a++) { +static bool i2c_slave_check_line_state(int8_t sda, int8_t scl) { + if (sda < 0 || scl < 0) { + return false; //return false since there is nothing to do + } + // if the bus is not 'clear' try the cycling SCL until SDA goes High or 9 cycles + gpio_set_level(sda, 1); + gpio_set_level(scl, 1); + i2c_slave_gpio_mode(sda, GPIO_MODE_INPUT | GPIO_MODE_DEF_OD); + i2c_slave_gpio_mode(scl, GPIO_MODE_INPUT | GPIO_MODE_DEF_OD); + gpio_set_level(scl, 1); + + if (!gpio_get_level(sda) || !gpio_get_level(scl)) { // bus in busy state + log_w("invalid state sda(%d)=%d, scl(%d)=%d", sda, gpio_get_level(sda), scl, gpio_get_level(scl)); + for (uint8_t a = 0; a < 9; a++) { + i2c_slave_delay_us(5); + if (gpio_get_level(sda) && gpio_get_level(scl)) { // bus recovered + log_w("Recovered after %d Cycles", a); + gpio_set_level(sda, 0); // start i2c_slave_delay_us(5); - if (gpio_get_level(sda) && gpio_get_level(scl)) { // bus recovered - log_w("Recovered after %d Cycles", a); - gpio_set_level(sda, 0); // start - i2c_slave_delay_us(5); - for (uint8_t a = 0; a < 9; a++) { - gpio_set_level(scl, 1); - i2c_slave_delay_us(5); - gpio_set_level(scl, 0); - i2c_slave_delay_us(5); - } + for (uint8_t a = 0; a < 9; a++) { gpio_set_level(scl, 1); i2c_slave_delay_us(5); - gpio_set_level(sda, 1); // stop - break; + gpio_set_level(scl, 0); + i2c_slave_delay_us(5); } - gpio_set_level(scl, 0); - i2c_slave_delay_us(5); gpio_set_level(scl, 1); + i2c_slave_delay_us(5); + gpio_set_level(sda, 1); // stop + break; } + gpio_set_level(scl, 0); + i2c_slave_delay_us(5); + gpio_set_level(scl, 1); } + } - if (!gpio_get_level(sda) || !gpio_get_level(scl)) { // bus in busy state - log_e("Bus Invalid State, Can't init sda=%d, scl=%d", gpio_get_level(sda), gpio_get_level(scl)); - return false; // bus is busy - } - return true; + if (!gpio_get_level(sda) || !gpio_get_level(scl)) { // bus in busy state + log_e("Bus Invalid State, Can't init sda=%d, scl=%d", gpio_get_level(sda), gpio_get_level(scl)); + return false; // bus is busy } + return true; +} - static bool i2c_slave_attach_gpio(i2c_slave_struct_t * i2c, int8_t sda, int8_t scl) { - if (i2c == NULL) { - log_e("no control block"); - return false; - } +static bool i2c_slave_attach_gpio(i2c_slave_struct_t *i2c, int8_t sda, int8_t scl) { + if (i2c == NULL) { + log_e("no control block"); + return false; + } - if ((sda < 0) || (scl < 0)) { - log_e("bad pins sda=%d, scl=%d", sda, scl); - return false; - } + if ((sda < 0) || (scl < 0)) { + log_e("bad pins sda=%d, scl=%d", sda, scl); + return false; + } - i2c->scl = scl; - gpio_set_level(scl, 1); - i2c_slave_gpio_mode(scl, GPIO_MODE_INPUT_OUTPUT_OD); - gpio_matrix_out(scl, I2C_SCL_IDX(i2c->num), false, false); - gpio_matrix_in(scl, I2C_SCL_IDX(i2c->num), false); + i2c->scl = scl; + gpio_set_level(scl, 1); + i2c_slave_gpio_mode(scl, GPIO_MODE_INPUT_OUTPUT_OD); + gpio_matrix_out(scl, I2C_SCL_IDX(i2c->num), false, false); + gpio_matrix_in(scl, I2C_SCL_IDX(i2c->num), false); - i2c->sda = sda; - gpio_set_level(sda, 1); - i2c_slave_gpio_mode(sda, GPIO_MODE_INPUT_OUTPUT_OD); - gpio_matrix_out(sda, I2C_SDA_IDX(i2c->num), false, false); - gpio_matrix_in(sda, I2C_SDA_IDX(i2c->num), false); + i2c->sda = sda; + gpio_set_level(sda, 1); + i2c_slave_gpio_mode(sda, GPIO_MODE_INPUT_OUTPUT_OD); + gpio_matrix_out(sda, I2C_SDA_IDX(i2c->num), false, false); + gpio_matrix_in(sda, I2C_SDA_IDX(i2c->num), false); - return true; + return true; +} + +static bool i2c_slave_detach_gpio(i2c_slave_struct_t *i2c) { + if (i2c == NULL) { + log_e("no control Block"); + return false; + } + if (i2c->scl >= 0) { + gpio_matrix_out(i2c->scl, 0x100, false, false); + gpio_matrix_in(0x30, I2C_SCL_IDX(i2c->num), false); + i2c_slave_gpio_mode(i2c->scl, GPIO_MODE_INPUT); + i2c->scl = -1; // un attached } + if (i2c->sda >= 0) { + gpio_matrix_out(i2c->sda, 0x100, false, false); + gpio_matrix_in(0x30, I2C_SDA_IDX(i2c->num), false); + i2c_slave_gpio_mode(i2c->sda, GPIO_MODE_INPUT); + i2c->sda = -1; // un attached + } + return true; +} - static bool i2c_slave_detach_gpio(i2c_slave_struct_t * i2c) { - if (i2c == NULL) { - log_e("no control Block"); - return false; - } - if (i2c->scl >= 0) { - gpio_matrix_out(i2c->scl, 0x100, false, false); - gpio_matrix_in(0x30, I2C_SCL_IDX(i2c->num), false); - i2c_slave_gpio_mode(i2c->scl, GPIO_MODE_INPUT); - i2c->scl = -1; // un attached +static bool i2c_slave_send_event(i2c_slave_struct_t *i2c, i2c_slave_queue_event_t *event) { + bool pxHigherPriorityTaskWoken = false; + if (i2c->event_queue) { + if (xQueueSendFromISR(i2c->event_queue, event, (BaseType_t *const)&pxHigherPriorityTaskWoken) != pdTRUE) { + //log_e("event_queue_full"); } - if (i2c->sda >= 0) { - gpio_matrix_out(i2c->sda, 0x100, false, false); - gpio_matrix_in(0x30, I2C_SDA_IDX(i2c->num), false); - i2c_slave_gpio_mode(i2c->sda, GPIO_MODE_INPUT); - i2c->sda = -1; // un attached - } - return true; } + return pxHigherPriorityTaskWoken; +} - static bool i2c_slave_send_event(i2c_slave_struct_t * i2c, i2c_slave_queue_event_t * event) { - bool pxHigherPriorityTaskWoken = false; - if (i2c->event_queue) { - if (xQueueSendFromISR(i2c->event_queue, event, (BaseType_t *const)&pxHigherPriorityTaskWoken) != pdTRUE) { - //log_e("event_queue_full"); - } - } - return pxHigherPriorityTaskWoken; - } - - static bool i2c_slave_handle_tx_fifo_empty(i2c_slave_struct_t * i2c) { - bool pxHigherPriorityTaskWoken = false; - uint32_t d = 0, moveCnt = 0; - i2c_ll_get_txfifo_len(i2c->dev, &moveCnt); - while (moveCnt > 0) { // read tx queue until Fifo is full or queue is empty - if (xQueueReceiveFromISR(i2c->tx_queue, &d, (BaseType_t *const)&pxHigherPriorityTaskWoken) == pdTRUE) { - i2c_ll_write_txfifo(i2c->dev, (uint8_t *)&d, 1); - moveCnt--; - } else { - i2c_ll_slave_disable_tx_it(i2c->dev); - break; - } +static bool i2c_slave_handle_tx_fifo_empty(i2c_slave_struct_t *i2c) { + bool pxHigherPriorityTaskWoken = false; + uint32_t d = 0, moveCnt = 0; + i2c_ll_get_txfifo_len(i2c->dev, &moveCnt); + while (moveCnt > 0) { // read tx queue until Fifo is full or queue is empty + if (xQueueReceiveFromISR(i2c->tx_queue, &d, (BaseType_t *const)&pxHigherPriorityTaskWoken) == pdTRUE) { + i2c_ll_write_txfifo(i2c->dev, (uint8_t *)&d, 1); + moveCnt--; + } else { + i2c_ll_slave_disable_tx_it(i2c->dev); + break; } - return pxHigherPriorityTaskWoken; } + return pxHigherPriorityTaskWoken; +} - static bool i2c_slave_handle_rx_fifo_full(i2c_slave_struct_t * i2c, uint32_t len) { +static bool i2c_slave_handle_rx_fifo_full(i2c_slave_struct_t *i2c, uint32_t len) { #if I2C_SLAVE_USE_RX_QUEUE - uint32_t d = 0; + uint32_t d = 0; #else uint8_t data[SOC_I2C_FIFO_LEN]; #endif - bool pxHigherPriorityTaskWoken = false; + bool pxHigherPriorityTaskWoken = false; #if I2C_SLAVE_USE_RX_QUEUE - while (len > 0) { - i2c_ll_read_rxfifo(i2c->dev, (uint8_t *)&d, 1); - if (xQueueSendFromISR(i2c->rx_queue, &d, (BaseType_t *const)&pxHigherPriorityTaskWoken) != pdTRUE) { - log_e("rx_queue_full"); - } else { - i2c->rx_data_count++; - } - if (--len == 0) { - len = i2c_ll_get_rxfifo_cnt(i2c->dev); - } + while (len > 0) { + i2c_ll_read_rxfifo(i2c->dev, (uint8_t *)&d, 1); + if (xQueueSendFromISR(i2c->rx_queue, &d, (BaseType_t *const)&pxHigherPriorityTaskWoken) != pdTRUE) { + log_e("rx_queue_full"); + } else { + i2c->rx_data_count++; + } + if (--len == 0) { + len = i2c_ll_get_rxfifo_cnt(i2c->dev); + } #else if (len) { i2c_ll_read_rxfifo(i2c->dev, data, len); @@ -722,109 +720,109 @@ esp_err_t i2cSlaveInit(uint8_t num, int sda, int scl, uint16_t slaveID, uint32_t i2c->rx_data_count += len; } #endif - } - return pxHigherPriorityTaskWoken; } + return pxHigherPriorityTaskWoken; +} + +static void i2c_slave_isr_handler(void *arg) { + bool pxHigherPriorityTaskWoken = false; + i2c_slave_struct_t *i2c = (i2c_slave_struct_t *)arg; // recover data - static void i2c_slave_isr_handler(void *arg) { - bool pxHigherPriorityTaskWoken = false; - i2c_slave_struct_t *i2c = (i2c_slave_struct_t *)arg; // recover data + uint32_t activeInt = 0; + i2c_ll_get_intr_mask(i2c->dev, &activeInt); + i2c_ll_clear_intr_mask(i2c->dev, activeInt); + uint32_t rx_fifo_len = 0; + i2c_ll_get_rxfifo_cnt(i2c->dev, &rx_fifo_len); + bool slave_rw = i2c_ll_slave_rw(i2c->dev); - uint32_t activeInt = 0; - i2c_ll_get_intr_mask(i2c->dev, &activeInt); - i2c_ll_clear_intr_mask(i2c->dev, activeInt); - uint32_t rx_fifo_len = 0; - i2c_ll_get_rxfifo_cnt(i2c->dev, &rx_fifo_len); - bool slave_rw = i2c_ll_slave_rw(i2c->dev); + if (activeInt & I2C_RXFIFO_WM_INT_ENA) { // RX FiFo Full + pxHigherPriorityTaskWoken |= i2c_slave_handle_rx_fifo_full(i2c, rx_fifo_len); + i2c_ll_slave_enable_rx_it(i2c->dev); //is this necessary? + } - if (activeInt & I2C_RXFIFO_WM_INT_ENA) { // RX FiFo Full + if (activeInt & I2C_TRANS_COMPLETE_INT_ENA) { // STOP + if (rx_fifo_len) { //READ RX FIFO pxHigherPriorityTaskWoken |= i2c_slave_handle_rx_fifo_full(i2c, rx_fifo_len); - i2c_ll_slave_enable_rx_it(i2c->dev); //is this necessary? } - - if (activeInt & I2C_TRANS_COMPLETE_INT_ENA) { // STOP - if (rx_fifo_len) { //READ RX FIFO - pxHigherPriorityTaskWoken |= i2c_slave_handle_rx_fifo_full(i2c, rx_fifo_len); - } - if (i2c->rx_data_count) { //WRITE or RepeatedStart - //SEND RX Event + if (i2c->rx_data_count) { //WRITE or RepeatedStart + //SEND RX Event + i2c_slave_queue_event_t event; + event.event = I2C_SLAVE_EVT_RX; + event.stop = !slave_rw; + event.param = i2c->rx_data_count; + pxHigherPriorityTaskWoken |= i2c_slave_send_event(i2c, &event); + //Zero RX count + i2c->rx_data_count = 0; + } + if (slave_rw) { // READ +#if CONFIG_IDF_TARGET_ESP32 + if (i2c->dev->status_reg.scl_main_state_last == 6) { + //SEND TX Event i2c_slave_queue_event_t event; - event.event = I2C_SLAVE_EVT_RX; - event.stop = !slave_rw; - event.param = i2c->rx_data_count; + event.event = I2C_SLAVE_EVT_TX; pxHigherPriorityTaskWoken |= i2c_slave_send_event(i2c, &event); - //Zero RX count - i2c->rx_data_count = 0; } - if (slave_rw) { // READ -#if CONFIG_IDF_TARGET_ESP32 - if (i2c->dev->status_reg.scl_main_state_last == 6) { - //SEND TX Event - i2c_slave_queue_event_t event; - event.event = I2C_SLAVE_EVT_TX; - pxHigherPriorityTaskWoken |= i2c_slave_send_event(i2c, &event); - } #else //reset TX data i2c_ll_txfifo_rst(i2c->dev); uint8_t d; while (xQueueReceiveFromISR(i2c->tx_queue, &d, (BaseType_t *const)&pxHigherPriorityTaskWoken) == pdTRUE); //flush partial write #endif - } } + } #ifndef CONFIG_IDF_TARGET_ESP32 - if (activeInt & I2C_SLAVE_STRETCH_INT_ENA) { // STRETCH - i2c_stretch_cause_t cause = i2c_ll_stretch_cause(i2c->dev); - if (cause == I2C_STRETCH_CAUSE_MASTER_READ) { - //on C3 RX data disappears with repeated start, so we need to get it here - if (rx_fifo_len) { - pxHigherPriorityTaskWoken |= i2c_slave_handle_rx_fifo_full(i2c, rx_fifo_len); - } - //SEND TX Event - i2c_slave_queue_event_t event; - event.event = I2C_SLAVE_EVT_TX; - pxHigherPriorityTaskWoken |= i2c_slave_send_event(i2c, &event); - //will clear after execution - } else if (cause == I2C_STRETCH_CAUSE_TX_FIFO_EMPTY) { - pxHigherPriorityTaskWoken |= i2c_slave_handle_tx_fifo_empty(i2c); - i2c_ll_stretch_clr(i2c->dev); - } else if (cause == I2C_STRETCH_CAUSE_RX_FIFO_FULL) { + if (activeInt & I2C_SLAVE_STRETCH_INT_ENA) { // STRETCH + i2c_stretch_cause_t cause = i2c_ll_stretch_cause(i2c->dev); + if (cause == I2C_STRETCH_CAUSE_MASTER_READ) { + //on C3 RX data disappears with repeated start, so we need to get it here + if (rx_fifo_len) { pxHigherPriorityTaskWoken |= i2c_slave_handle_rx_fifo_full(i2c, rx_fifo_len); - i2c_ll_stretch_clr(i2c->dev); } + //SEND TX Event + i2c_slave_queue_event_t event; + event.event = I2C_SLAVE_EVT_TX; + pxHigherPriorityTaskWoken |= i2c_slave_send_event(i2c, &event); + //will clear after execution + } else if (cause == I2C_STRETCH_CAUSE_TX_FIFO_EMPTY) { + pxHigherPriorityTaskWoken |= i2c_slave_handle_tx_fifo_empty(i2c); + i2c_ll_stretch_clr(i2c->dev); + } else if (cause == I2C_STRETCH_CAUSE_RX_FIFO_FULL) { + pxHigherPriorityTaskWoken |= i2c_slave_handle_rx_fifo_full(i2c, rx_fifo_len); + i2c_ll_stretch_clr(i2c->dev); } + } #endif - if (activeInt & I2C_TXFIFO_WM_INT_ENA) { // TX FiFo Empty - pxHigherPriorityTaskWoken |= i2c_slave_handle_tx_fifo_empty(i2c); - } + if (activeInt & I2C_TXFIFO_WM_INT_ENA) { // TX FiFo Empty + pxHigherPriorityTaskWoken |= i2c_slave_handle_tx_fifo_empty(i2c); + } - if (pxHigherPriorityTaskWoken) { - portYIELD_FROM_ISR(); - } + if (pxHigherPriorityTaskWoken) { + portYIELD_FROM_ISR(); } +} - static size_t i2c_slave_read_rx(i2c_slave_struct_t * i2c, uint8_t * data, size_t len) { - if (!len) { - return 0; - } +static size_t i2c_slave_read_rx(i2c_slave_struct_t *i2c, uint8_t *data, size_t len) { + if (!len) { + return 0; + } #if I2C_SLAVE_USE_RX_QUEUE - uint8_t d = 0; - BaseType_t res = pdTRUE; - for (size_t i = 0; i < len; i++) { - if (data) { - res = xQueueReceive(i2c->rx_queue, &data[i], 0); - } else { - res = xQueueReceive(i2c->rx_queue, &d, 0); - } - if (res != pdTRUE) { - log_e("Read Queue(%u) Failed", i); - len = i; - break; - } + uint8_t d = 0; + BaseType_t res = pdTRUE; + for (size_t i = 0; i < len; i++) { + if (data) { + res = xQueueReceive(i2c->rx_queue, &data[i], 0); + } else { + res = xQueueReceive(i2c->rx_queue, &d, 0); + } + if (res != pdTRUE) { + log_e("Read Queue(%u) Failed", i); + len = i; + break; } - return (data) ? len : 0; + } + return (data) ? len : 0; #else size_t dlen = 0, to_read = len, so_far = 0, available = 0; uint8_t *rx_data = NULL; @@ -851,55 +849,55 @@ esp_err_t i2cSlaveInit(uint8_t num, int sda, int scl, uint16_t slaveID, uint32_t } return (data) ? so_far : 0; #endif - } +} - static void i2c_slave_task(void *pv_args) { - i2c_slave_struct_t *i2c = (i2c_slave_struct_t *)pv_args; - i2c_slave_queue_event_t event; - size_t len = 0; - bool stop = false; - uint8_t *data = NULL; - for (;;) { - if (xQueueReceive(i2c->event_queue, &event, portMAX_DELAY) == pdTRUE) { - // Write - if (event.event == I2C_SLAVE_EVT_RX) { - len = event.param; - stop = event.stop; - data = (len > 0) ? (uint8_t *)malloc(len) : NULL; - - if (len && data == NULL) { - log_e("Malloc (%u) Failed", len); - } - len = i2c_slave_read_rx(i2c, data, len); - if (i2c->receive_callback) { - i2c->receive_callback(i2c->num, data, len, stop, i2c->arg); - } - free(data); - - // Read - } else if (event.event == I2C_SLAVE_EVT_TX) { - if (i2c->request_callback) { - i2c->request_callback(i2c->num, i2c->arg); - } - i2c_ll_stretch_clr(i2c->dev); +static void i2c_slave_task(void *pv_args) { + i2c_slave_struct_t *i2c = (i2c_slave_struct_t *)pv_args; + i2c_slave_queue_event_t event; + size_t len = 0; + bool stop = false; + uint8_t *data = NULL; + for (;;) { + if (xQueueReceive(i2c->event_queue, &event, portMAX_DELAY) == pdTRUE) { + // Write + if (event.event == I2C_SLAVE_EVT_RX) { + len = event.param; + stop = event.stop; + data = (len > 0) ? (uint8_t *)malloc(len) : NULL; + + if (len && data == NULL) { + log_e("Malloc (%u) Failed", len); } + len = i2c_slave_read_rx(i2c, data, len); + if (i2c->receive_callback) { + i2c->receive_callback(i2c->num, data, len, stop, i2c->arg); + } + free(data); + + // Read + } else if (event.event == I2C_SLAVE_EVT_TX) { + if (i2c->request_callback) { + i2c->request_callback(i2c->num, i2c->arg); + } + i2c_ll_stretch_clr(i2c->dev); } } - vTaskDelete(NULL); } + vTaskDelete(NULL); +} - static bool i2cSlaveDetachBus(void *bus_i2c_num) { - uint8_t num = (int)bus_i2c_num - 1; - i2c_slave_struct_t *i2c = &_i2c_bus_array[num]; - if (i2c->scl == -1 && i2c->sda == -1) { - return true; - } - esp_err_t err = i2cSlaveDeinit(num); - if (err != ESP_OK) { - log_e("i2cSlaveDeinit failed with error: %d", err); - return false; - } +static bool i2cSlaveDetachBus(void *bus_i2c_num) { + uint8_t num = (int)bus_i2c_num - 1; + i2c_slave_struct_t *i2c = &_i2c_bus_array[num]; + if (i2c->scl == -1 && i2c->sda == -1) { return true; } + esp_err_t err = i2cSlaveDeinit(num); + if (err != ESP_OK) { + log_e("i2cSlaveDeinit failed with error: %d", err); + return false; + } + return true; +} #endif /* SOC_I2C_SUPPORT_SLAVE */ diff --git a/cores/esp32/esp32-hal-spi.c b/cores/esp32/esp32-hal-spi.c index 8c8ce0b7705..af3fd7b5f06 100644 --- a/cores/esp32/esp32-hal-spi.c +++ b/cores/esp32/esp32-hal-spi.c @@ -148,13 +148,15 @@ struct spi_struct_t { #if CONFIG_DISABLE_HAL_LOCKS #define SPI_MUTEX_LOCK() #define SPI_MUTEX_UNLOCK() -+ static spi_t _spi_bus_array[] = { +// clang-format off +static spi_t _spi_bus_array[] = { #if CONFIG_IDF_TARGET_ESP32S2 {(volatile spi_dev_t *)(DR_REG_SPI1_BASE), 0, -1, -1, -1, -1}, {(volatile spi_dev_t *)(DR_REG_SPI2_BASE), 1, -1, -1, -1, -1}, {(volatile spi_dev_t *)(DR_REG_SPI3_BASE), 2, -1, -1, -1, -1} #elif CONFIG_IDF_TARGET_ESP32S3 || CONFIG_IDF_TARGET_ESP32P4 - {(volatile spi_dev_t *)(DR_REG_SPI2_BASE), 0, -1, -1, -1, -1}, {(volatile spi_dev_t *)(DR_REG_SPI3_BASE), 1, -1, -1, -1, -1} + {(volatile spi_dev_t *)(DR_REG_SPI2_BASE), 0, -1, -1, -1, -1}, + {(volatile spi_dev_t *)(DR_REG_SPI3_BASE), 1, -1, -1, -1, -1} #elif CONFIG_IDF_TARGET_ESP32C2 {(volatile spi_dev_t *)(DR_REG_SPI2_BASE), 0, -1, -1, -1, -1} #elif CONFIG_IDF_TARGET_ESP32C3 @@ -168,6 +170,7 @@ struct spi_struct_t { {(volatile spi_dev_t *)(DR_REG_SPI3_BASE), 3, -1, -1, -1, -1} #endif }; +// clang-format on #else #define SPI_MUTEX_LOCK() \ do { \ diff --git a/cores/esp32/esp32-hal-touch.c b/cores/esp32/esp32-hal-touch.c index 4c0ed92656c..93e0cb1c4ac 100644 --- a/cores/esp32/esp32-hal-touch.c +++ b/cores/esp32/esp32-hal-touch.c @@ -29,7 +29,7 @@ #if SOC_TOUCH_SENSOR_VERSION == 1 // ESP32 static uint16_t __touchSleepCycles = 0x1000; static uint16_t __touchMeasureCycles = 0x1000; -#elif SOC_TOUCH_SENSOR_VERSION == 2 // ESP32S2, ESP32S3 +#elif SOC_TOUCH_SENSOR_VERSION >= 2 // ESP32S2, ESP32S3, ESP32P4 static uint16_t __touchSleepCycles = TOUCH_PAD_SLEEP_CYCLE_DEFAULT; static uint16_t __touchMeasureCycles = TOUCH_PAD_MEASURE_CYCLE_DEFAULT; #endif diff --git a/libraries/BLE/examples/BLE5_multi_advertising/ci.json b/libraries/BLE/examples/BLE5_multi_advertising/ci.json index fc9f75986fe..e97e4cf7fea 100644 --- a/libraries/BLE/examples/BLE5_multi_advertising/ci.json +++ b/libraries/BLE/examples/BLE5_multi_advertising/ci.json @@ -1,5 +1,6 @@ { "targets": { + "esp32": false, "esp32p4": false, "esp32s2": false } diff --git a/libraries/BLE/examples/BLE5_periodic_advertising/ci.json b/libraries/BLE/examples/BLE5_periodic_advertising/ci.json index a034e239a3f..e97e4cf7fea 100644 --- a/libraries/BLE/examples/BLE5_periodic_advertising/ci.json +++ b/libraries/BLE/examples/BLE5_periodic_advertising/ci.json @@ -1,10 +1,7 @@ { "targets": { "esp32": false, - "esp32c2": false, - "esp32c3": false, "esp32p4": false, - "esp32s2": false, - "esp32s3": false + "esp32s2": false } } diff --git a/libraries/BLE/examples/BLE5_periodic_sync/ci.json b/libraries/BLE/examples/BLE5_periodic_sync/ci.json index 715becda6cb..e97e4cf7fea 100644 --- a/libraries/BLE/examples/BLE5_periodic_sync/ci.json +++ b/libraries/BLE/examples/BLE5_periodic_sync/ci.json @@ -1,9 +1,6 @@ { "targets": { "esp32": false, - "esp32c3": false, - "esp32c6": false, - "esp32h2": false, "esp32p4": false, "esp32s2": false } diff --git a/libraries/BLE/examples/Beacon_Scanner/ci.json b/libraries/BLE/examples/Beacon_Scanner/ci.json index ee810400be6..fc9f75986fe 100644 --- a/libraries/BLE/examples/Beacon_Scanner/ci.json +++ b/libraries/BLE/examples/Beacon_Scanner/ci.json @@ -1,8 +1,5 @@ { "targets": { - "esp32c3": false, - "esp32c6": false, - "esp32h2": false, "esp32p4": false, "esp32s2": false } diff --git a/libraries/BLE/examples/Client/ci.json b/libraries/BLE/examples/Client/ci.json index eb6596c4a37..fc9f75986fe 100644 --- a/libraries/BLE/examples/Client/ci.json +++ b/libraries/BLE/examples/Client/ci.json @@ -1,6 +1,5 @@ { "targets": { - "esp32c3": false, "esp32p4": false, "esp32s2": false } diff --git a/libraries/BLE/examples/Notify/ci.json b/libraries/BLE/examples/Notify/ci.json index 156dda6560c..fc9f75986fe 100644 --- a/libraries/BLE/examples/Notify/ci.json +++ b/libraries/BLE/examples/Notify/ci.json @@ -1,6 +1,5 @@ { "targets": { - "esp32h2": false, "esp32p4": false, "esp32s2": false } diff --git a/libraries/BLE/examples/Server/ci.json b/libraries/BLE/examples/Server/ci.json index a034e239a3f..fc9f75986fe 100644 --- a/libraries/BLE/examples/Server/ci.json +++ b/libraries/BLE/examples/Server/ci.json @@ -1,10 +1,6 @@ { "targets": { - "esp32": false, - "esp32c2": false, - "esp32c3": false, "esp32p4": false, - "esp32s2": false, - "esp32s3": false + "esp32s2": false } } diff --git a/libraries/BLE/examples/Server_multiconnect/ci.json b/libraries/BLE/examples/Server_multiconnect/ci.json index 715becda6cb..fc9f75986fe 100644 --- a/libraries/BLE/examples/Server_multiconnect/ci.json +++ b/libraries/BLE/examples/Server_multiconnect/ci.json @@ -1,9 +1,5 @@ { "targets": { - "esp32": false, - "esp32c3": false, - "esp32c6": false, - "esp32h2": false, "esp32p4": false, "esp32s2": false } diff --git a/libraries/BLE/examples/UART/ci.json b/libraries/BLE/examples/UART/ci.json index ee810400be6..fc9f75986fe 100644 --- a/libraries/BLE/examples/UART/ci.json +++ b/libraries/BLE/examples/UART/ci.json @@ -1,8 +1,5 @@ { "targets": { - "esp32c3": false, - "esp32c6": false, - "esp32h2": false, "esp32p4": false, "esp32s2": false } diff --git a/libraries/BLE/examples/Write/ci.json b/libraries/BLE/examples/Write/ci.json index eb6596c4a37..fc9f75986fe 100644 --- a/libraries/BLE/examples/Write/ci.json +++ b/libraries/BLE/examples/Write/ci.json @@ -1,6 +1,5 @@ { "targets": { - "esp32c3": false, "esp32p4": false, "esp32s2": false } diff --git a/libraries/BLE/examples/iBeacon/ci.json b/libraries/BLE/examples/iBeacon/ci.json index 156dda6560c..fc9f75986fe 100644 --- a/libraries/BLE/examples/iBeacon/ci.json +++ b/libraries/BLE/examples/iBeacon/ci.json @@ -1,6 +1,5 @@ { "targets": { - "esp32h2": false, "esp32p4": false, "esp32s2": false } diff --git a/libraries/ESP32/examples/DeepSleep/TouchWakeUp/ci.json b/libraries/ESP32/examples/DeepSleep/TouchWakeUp/ci.json index 25c42144223..cd679adefad 100644 --- a/libraries/ESP32/examples/DeepSleep/TouchWakeUp/ci.json +++ b/libraries/ESP32/examples/DeepSleep/TouchWakeUp/ci.json @@ -2,6 +2,7 @@ "targets": { "esp32c3": false, "esp32c6": false, - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/ESP32/examples/Touch/TouchButton/ci.json b/libraries/ESP32/examples/Touch/TouchButton/ci.json index 1af543242e3..6afa60f44c4 100644 --- a/libraries/ESP32/examples/Touch/TouchButton/ci.json +++ b/libraries/ESP32/examples/Touch/TouchButton/ci.json @@ -3,6 +3,7 @@ "esp32c3": false, "esp32c6": false, "esp32h2": false, + "esp32p4": false, "esp32s2": false, "esp32s3": false } diff --git a/libraries/ESP32/examples/Touch/TouchButtonV2/ci.json b/libraries/ESP32/examples/Touch/TouchButtonV2/ci.json index e7d65393dd6..d87f049685e 100644 --- a/libraries/ESP32/examples/Touch/TouchButtonV2/ci.json +++ b/libraries/ESP32/examples/Touch/TouchButtonV2/ci.json @@ -3,6 +3,7 @@ "esp32": false, "esp32c3": false, "esp32c6": false, - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/ESP32/examples/Touch/TouchInterrupt/ci.json b/libraries/ESP32/examples/Touch/TouchInterrupt/ci.json index 25c42144223..cd679adefad 100644 --- a/libraries/ESP32/examples/Touch/TouchInterrupt/ci.json +++ b/libraries/ESP32/examples/Touch/TouchInterrupt/ci.json @@ -2,6 +2,7 @@ "targets": { "esp32c3": false, "esp32c6": false, - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/ESP32/examples/Touch/TouchRead/ci.json b/libraries/ESP32/examples/Touch/TouchRead/ci.json index 25c42144223..cd679adefad 100644 --- a/libraries/ESP32/examples/Touch/TouchRead/ci.json +++ b/libraries/ESP32/examples/Touch/TouchRead/ci.json @@ -2,6 +2,7 @@ "targets": { "esp32c3": false, "esp32c6": false, - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/Ethernet/examples/ETH_LAN8720/ci.json b/libraries/Ethernet/examples/ETH_LAN8720/ci.json index 1af543242e3..6afa60f44c4 100644 --- a/libraries/Ethernet/examples/ETH_LAN8720/ci.json +++ b/libraries/Ethernet/examples/ETH_LAN8720/ci.json @@ -3,6 +3,7 @@ "esp32c3": false, "esp32c6": false, "esp32h2": false, + "esp32p4": false, "esp32s2": false, "esp32s3": false } diff --git a/libraries/Ethernet/examples/ETH_TLK110/ci.json b/libraries/Ethernet/examples/ETH_TLK110/ci.json index 1af543242e3..6afa60f44c4 100644 --- a/libraries/Ethernet/examples/ETH_TLK110/ci.json +++ b/libraries/Ethernet/examples/ETH_TLK110/ci.json @@ -3,6 +3,7 @@ "esp32c3": false, "esp32c6": false, "esp32h2": false, + "esp32p4": false, "esp32s2": false, "esp32s3": false } diff --git a/libraries/OpenThread/examples/COAP/coap_switch/ci.json b/libraries/OpenThread/examples/COAP/coap_switch/ci.json index 715becda6cb..a034e239a3f 100644 --- a/libraries/OpenThread/examples/COAP/coap_switch/ci.json +++ b/libraries/OpenThread/examples/COAP/coap_switch/ci.json @@ -1,10 +1,10 @@ { "targets": { "esp32": false, + "esp32c2": false, "esp32c3": false, - "esp32c6": false, - "esp32h2": false, "esp32p4": false, - "esp32s2": false + "esp32s2": false, + "esp32s3": false } } diff --git a/libraries/OpenThread/examples/SimpleCLI/ci.json b/libraries/OpenThread/examples/SimpleCLI/ci.json index ee810400be6..a034e239a3f 100644 --- a/libraries/OpenThread/examples/SimpleCLI/ci.json +++ b/libraries/OpenThread/examples/SimpleCLI/ci.json @@ -1,9 +1,10 @@ { "targets": { + "esp32": false, + "esp32c2": false, "esp32c3": false, - "esp32c6": false, - "esp32h2": false, "esp32p4": false, - "esp32s2": false + "esp32s2": false, + "esp32s3": false } } diff --git a/libraries/OpenThread/examples/SimpleNode/ci.json b/libraries/OpenThread/examples/SimpleNode/ci.json index eb6596c4a37..a034e239a3f 100644 --- a/libraries/OpenThread/examples/SimpleNode/ci.json +++ b/libraries/OpenThread/examples/SimpleNode/ci.json @@ -1,7 +1,10 @@ { "targets": { + "esp32": false, + "esp32c2": false, "esp32c3": false, "esp32p4": false, - "esp32s2": false + "esp32s2": false, + "esp32s3": false } } diff --git a/libraries/OpenThread/examples/SimpleThreadNetwork/ExtendedRouterNode/ci.json b/libraries/OpenThread/examples/SimpleThreadNetwork/ExtendedRouterNode/ci.json index 156dda6560c..a034e239a3f 100644 --- a/libraries/OpenThread/examples/SimpleThreadNetwork/ExtendedRouterNode/ci.json +++ b/libraries/OpenThread/examples/SimpleThreadNetwork/ExtendedRouterNode/ci.json @@ -1,7 +1,10 @@ { "targets": { - "esp32h2": false, + "esp32": false, + "esp32c2": false, + "esp32c3": false, "esp32p4": false, - "esp32s2": false + "esp32s2": false, + "esp32s3": false } } diff --git a/libraries/SPI/examples/SPI_Multiple_Buses/SPI_Multiple_Buses.ino b/libraries/SPI/examples/SPI_Multiple_Buses/SPI_Multiple_Buses.ino index c73f6078c03..3d3d3e4e38e 100644 --- a/libraries/SPI/examples/SPI_Multiple_Buses/SPI_Multiple_Buses.ino +++ b/libraries/SPI/examples/SPI_Multiple_Buses/SPI_Multiple_Buses.ino @@ -39,7 +39,7 @@ #define HSPI_SS 15 #endif -#if CONFIG_IDF_TARGET_ESP32S2 || CONFIG_IDF_TARGET_ESP32S3 +#if CONFIG_IDF_TARGET_ESP32S2 || CONFIG_IDF_TARGET_ESP32S3 || CONFIG_IDF_TARGET_ESP32P4 #define VSPI FSPI #endif diff --git a/tests/validation/periman/ci.json b/tests/validation/periman/ci.json index accee2b2135..22ff71c54ff 100644 --- a/tests/validation/periman/ci.json +++ b/tests/validation/periman/ci.json @@ -2,5 +2,8 @@ "platforms": { "qemu": false, "wokwi": false + }, + "targets": { + "esp32p4": false } } diff --git a/tests/validation/touch/ci.json b/tests/validation/touch/ci.json index 8d58dbf5250..d3129f16bae 100644 --- a/tests/validation/touch/ci.json +++ b/tests/validation/touch/ci.json @@ -6,6 +6,7 @@ "targets": { "esp32c3": false, "esp32c6": false, - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/tests/validation/uart/uart.ino b/tests/validation/uart/uart.ino index a68ef879659..e5fa0a8285f 100644 --- a/tests/validation/uart/uart.ino +++ b/tests/validation/uart/uart.ino @@ -100,7 +100,7 @@ void transmit_and_check_msg(const String msg_append, bool perform_assert = true) if (perform_assert) { TEST_ASSERT_EQUAL_STRING(("Hello from Serial1 (UART1) >>> via loopback >>> Serial1 (UART1) " + msg_append).c_str(), recv_msg.c_str()); } -#elif SOC_UART_HP_NUM == 3 +#elif SOC_UART_HP_NUM >= 3 Serial1.print("Hello from Serial1 (UART1) >>> to >>> Serial2 (UART2) " + msg_append); Serial1.flush(); delay(100); @@ -128,7 +128,7 @@ void task_delayed_msg(void *pvParameters) { #if SOC_UART_HP_NUM == 2 selected_serial = &Serial; -#elif SOC_UART_HP_NUM == 3 +#elif SOC_UART_HP_NUM >= 3 selected_serial = &Serial1; #endif @@ -150,7 +150,7 @@ void setUp(void) { onReceive_cb(Serial1); }); uart_internal_loopback(1, RX1); -#elif SOC_UART_HP_NUM == 3 +#elif SOC_UART_HP_NUM >= 3 log_d("Setup internal loop-back between Serial1 (UART1) <<--->> Serial2 (UART2)"); Serial1.onReceive([]() { @@ -225,7 +225,7 @@ void change_baudrate_test(void) { Serial1.updateBaudRate(9600); TEST_ASSERT_UINT_WITHIN(192, 9600, Serial1.baudRate()); -#if SOC_UART_HP_NUM == 3 +#if SOC_UART_HP_NUM >= 3 Serial2.updateBaudRate(9600); TEST_ASSERT_UINT_WITHIN(192, 9600, Serial2.baudRate()); #endif @@ -239,7 +239,7 @@ void change_baudrate_test(void) { //Baudrate error should be within 2% of the target baudrate TEST_ASSERT_UINT_WITHIN(2304, 115200, Serial1.baudRate()); -#if SOC_UART_HP_NUM == 3 +#if SOC_UART_HP_NUM >= 3 TEST_ASSERT_UINT_WITHIN(2304, 115200, Serial2.baudRate()); #endif @@ -421,7 +421,7 @@ void change_pins_test(void) { #if SOC_UART_HP_NUM == 2 esp_rom_gpio_connect_out_signal(SOC_RX0, SIG_GPIO_OUT_IDX, false, false); -#elif SOC_UART_HP_NUM == 3 +#elif SOC_UART_HP_NUM >= 3 esp_rom_gpio_connect_out_signal(RX1, SIG_GPIO_OUT_IDX, false, false); esp_rom_gpio_connect_out_signal(RX2, SIG_GPIO_OUT_IDX, false, false); #endif @@ -432,7 +432,7 @@ void change_pins_test(void) { Serial1.setPins(NEW_RX1, NEW_TX1); TEST_ASSERT_EQUAL(NEW_RX1, uart_get_RxPin(1)); TEST_ASSERT_EQUAL(NEW_TX1, uart_get_TxPin(1)); -#elif SOC_UART_HP_NUM == 3 +#elif SOC_UART_HP_NUM >= 3 Serial1.setPins(RX2, TX2); Serial2.setPins(RX1, TX1); TEST_ASSERT_EQUAL(RX2, uart_get_RxPin(1)); @@ -447,7 +447,7 @@ void change_pins_test(void) { #if SOC_UART_HP_NUM == 2 uart_internal_loopback(1, NEW_RX1); -#elif SOC_UART_HP_NUM == 3 +#elif SOC_UART_HP_NUM >= 3 uart_internal_loopback(1, RX1); uart_internal_loopback(2, RX2); #endif @@ -470,7 +470,7 @@ void auto_baudrate_test(void) { #if SOC_UART_HP_NUM == 2 selected_serial = &Serial1; uart_internal_loopback(0, RX1); -#elif SOC_UART_HP_NUM == 3 +#elif SOC_UART_HP_NUM >= 3 selected_serial = &Serial2; #endif @@ -504,7 +504,7 @@ void periman_test(void) { Wire.begin(RX1, TX1); -#if SOC_UART_HP_NUM == 3 +#if SOC_UART_HP_NUM >= 3 Wire1.begin(RX2, TX2); #endif @@ -518,7 +518,7 @@ void periman_test(void) { Serial1.setPins(RX1, TX1); -#if SOC_UART_HP_NUM == 3 +#if SOC_UART_HP_NUM >= 3 Serial2.setPins(RX2, TX2); uart_internal_loopback(1, RX2); uart_internal_loopback(2, RX1); @@ -577,7 +577,7 @@ void setup() { onReceive_cb(Serial1); }); uart_internal_loopback(1, RX1); -#elif SOC_UART_HP_NUM == 3 +#elif SOC_UART_HP_NUM >= 3 log_d("Setup internal loop-back between Serial1 (UART1) <<--->> Serial2 (UART2)"); Serial1.onReceive([]() { diff --git a/tests/validation/wifi/ci.json b/tests/validation/wifi/ci.json index ff2c1d7c9ce..a51b5669598 100644 --- a/tests/validation/wifi/ci.json +++ b/tests/validation/wifi/ci.json @@ -22,6 +22,7 @@ "qemu": false }, "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/variants/esp32p4/pins_arduino.h b/variants/esp32p4/pins_arduino.h index 87d0548cf3c..caba8995222 100644 --- a/variants/esp32p4/pins_arduino.h +++ b/variants/esp32p4/pins_arduino.h @@ -27,4 +27,34 @@ static const uint8_t MOSI = 11; static const uint8_t MISO = 12; static const uint8_t SCK = 13; +static const uint8_t A0 = 16; +static const uint8_t A1 = 17; +static const uint8_t A2 = 18; +static const uint8_t A3 = 19; +static const uint8_t A4 = 20; +static const uint8_t A5 = 21; +static const uint8_t A6 = 22; +static const uint8_t A7 = 23; +static const uint8_t A8 = 49; +static const uint8_t A9 = 50; +static const uint8_t A10 = 51; +static const uint8_t A11 = 52; +static const uint8_t A12 = 53; +static const uint8_t A13 = 54; + +static const uint8_t T0 = 2; +static const uint8_t T1 = 3; +static const uint8_t T2 = 4; +static const uint8_t T3 = 5; +static const uint8_t T4 = 6; +static const uint8_t T5 = 7; +static const uint8_t T6 = 8; +static const uint8_t T7 = 9; +static const uint8_t T8 = 10; +static const uint8_t T9 = 11; +static const uint8_t T10 = 12; +static const uint8_t T11 = 13; +static const uint8_t T12 = 14; +static const uint8_t T13 = 15; + #endif /* Pins_Arduino_h */ From 55bd1d5ee27706c46edeae4944ef534bb3a73a29 Mon Sep 17 00:00:00 2001 From: Luca Burelli Date: Wed, 25 Sep 2024 22:47:08 +0200 Subject: [PATCH 050/146] digitalPinToInterrupt: fix double pin remapping (#10373) The digitalPinToInterrupt() macro currently remaps the pin number to the GPIO number. This is not necessary, as most users will then use the returned value in attachInterrupt() or other similar API functions, which already perform the same remapping. The first half of the macro (the condition) does indeed require the remapping to ensure the check operates on GPIO numbers. Fixes espressif/arduino-esp32#10367. --- cores/esp32/Arduino.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cores/esp32/Arduino.h b/cores/esp32/Arduino.h index 4a92f29d0df..2b115505cff 100644 --- a/cores/esp32/Arduino.h +++ b/cores/esp32/Arduino.h @@ -142,7 +142,7 @@ #endif #define EXTERNAL_NUM_INTERRUPTS NUM_DIGITAL_PINS // All GPIOs #define analogInputToDigitalPin(p) (((p) < NUM_ANALOG_INPUTS) ? (analogChannelToDigitalPin(p)) : -1) -#define digitalPinToInterrupt(p) ((((uint8_t)digitalPinToGPIONumber(p)) < NUM_DIGITAL_PINS) ? digitalPinToGPIONumber(p) : NOT_AN_INTERRUPT) +#define digitalPinToInterrupt(p) ((((uint8_t)digitalPinToGPIONumber(p)) < NUM_DIGITAL_PINS) ? (p) : NOT_AN_INTERRUPT) #define digitalPinHasPWM(p) (((uint8_t)digitalPinToGPIONumber(p)) < NUM_DIGITAL_PINS) typedef bool boolean; From b05f18dad55609ae2a569be81c7535021b880cf3 Mon Sep 17 00:00:00 2001 From: vortigont Date: Thu, 26 Sep 2024 07:37:00 +0900 Subject: [PATCH 051/146] fix: DNSServer Lib - improper startup code in WiFi mode (#10366) * DNSServer: fix improper startup code in WiFi mode When running on WiFi-AP mode server's start() method returned true while in fact UDP listening socket was never created Regression introduced in #8760 Closes #10330 * ci(pre-commit): Apply automatic fixes --------- Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> --- .../DNSServer/examples/CaptivePortal/CaptivePortal.ino | 6 +++++- libraries/DNSServer/src/DNSServer.cpp | 7 +++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/libraries/DNSServer/examples/CaptivePortal/CaptivePortal.ino b/libraries/DNSServer/examples/CaptivePortal/CaptivePortal.ino index f5de8aa9b57..d956dc14ad3 100644 --- a/libraries/DNSServer/examples/CaptivePortal/CaptivePortal.ino +++ b/libraries/DNSServer/examples/CaptivePortal/CaptivePortal.ino @@ -39,7 +39,11 @@ void setup() { // by default DNSServer is started serving any "*" domain name. It will reply // AccessPoint's IP to all DNS request (this is required for Captive Portal detection) - dnsServer.start(); + if (dnsServer.start()) { + Serial.println("Started DNS server in captive portal-mode"); + } else { + Serial.println("Err: Can't start DNS server!"); + } // serve a simple root page server.on("/", handleRoot); diff --git a/libraries/DNSServer/src/DNSServer.cpp b/libraries/DNSServer/src/DNSServer.cpp index 69e41092dc5..28cf89d6ede 100644 --- a/libraries/DNSServer/src/DNSServer.cpp +++ b/libraries/DNSServer/src/DNSServer.cpp @@ -22,10 +22,13 @@ bool DNSServer::start() { #if SOC_WIFI_SUPPORTED if (WiFi.getMode() & WIFI_AP) { _resolvedIP = WiFi.softAPIP(); - return true; + } else { + return false; // won't run if WiFi is not in AP mode, or no WiFi } +#else + return false; // for other non WiFi-AP networking an overloaded method must be used to get device's IP + // start(uint16_t port, const String &domainName, const IPAddress &resolvedIP) #endif - return false; // won't run if WiFi is not in AP mode } _udp.close(); From 1f1de2738b9cc93316bebffca592511760b0130a Mon Sep 17 00:00:00 2001 From: Guil-T Date: Mon, 30 Sep 2024 06:14:30 -0400 Subject: [PATCH 052/146] Added Sparkfun ESP32-S3 Thing Plus board (#10382) * Create pins_arduino.h * added board Sparkfun ESP32-S3 Thing Plus added board Sparkfun ESP32-S3 Thing Plus * readded last line of hashes in boards.txt * Update pins_arduino.h re-added SS pin to pass test * removed unapplicable flash configurations the sparkfun esp32-s3 thing plus * added sparkfun esp32-s3 thing plus removed commented code * ci(pre-commit): Apply automatic fixes --------- Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> --- boards.txt | 217 ++++++++++++++++++ .../pins_arduino.h | 61 +++++ 2 files changed, 278 insertions(+) create mode 100644 variants/sparkfun_esp32s3_thing_plus/pins_arduino.h diff --git a/boards.txt b/boards.txt index 88fb110b099..0e873f0110b 100644 --- a/boards.txt +++ b/boards.txt @@ -6904,6 +6904,223 @@ sparkfun_esp32s2_thing_plus.menu.EraseFlash.none.upload.erase_cmd= sparkfun_esp32s2_thing_plus.menu.EraseFlash.all=Enabled sparkfun_esp32s2_thing_plus.menu.EraseFlash.all.upload.erase_cmd=-e +############################################################## +# Sparkfun ESP32S3 Thing Plus + +sparkfun_esp32s3_thing_plus.name=SparkFun ESP32-S3 Thing Plus +sparkfun_esp32s3_thing_plus.bootloader.tool=esptool_py +sparkfun_esp32s3_thing_plus.bootloader.tool.default=esptool_py + +sparkfun_esp32s3_thing_plus.upload.tool=esptool_py +sparkfun_esp32s3_thing_plus.upload.tool.default=esptool_py +sparkfun_esp32s3_thing_plus.upload.tool.network=esp_ota + +sparkfun_esp32s3_thing_plus.upload.maximum_size=1310720 +sparkfun_esp32s3_thing_plus.upload.maximum_data_size=327680 +sparkfun_esp32s3_thing_plus.upload.flags= +sparkfun_esp32s3_thing_plus.upload.extra_flags= +sparkfun_esp32s3_thing_plus.upload.use_1200bps_touch=false +sparkfun_esp32s3_thing_plus.upload.wait_for_upload_port=false + +sparkfun_esp32s3_thing_plus.serial.disableDTR=false +sparkfun_esp32s3_thing_plus.serial.disableRTS=false + +sparkfun_esp32s3_thing_plus.build.tarch=xtensa +sparkfun_esp32s3_thing_plus.build.bootloader_addr=0x0 +sparkfun_esp32s3_thing_plus.build.target=esp32s3 +sparkfun_esp32s3_thing_plus.build.mcu=esp32s3 +sparkfun_esp32s3_thing_plus.build.core=esp32 +sparkfun_esp32s3_thing_plus.build.variant=sparkfun_esp32s3_thing_plus +sparkfun_esp32s3_thing_plus.build.board=SPARKFUN_ESP32S3_THING_PLUS + +sparkfun_esp32s3_thing_plus.build.usb_mode=1 +sparkfun_esp32s3_thing_plus.build.cdc_on_boot=0 +sparkfun_esp32s3_thing_plus.build.msc_on_boot=0 +sparkfun_esp32s3_thing_plus.build.dfu_on_boot=0 +sparkfun_esp32s3_thing_plus.build.f_cpu=240000000L +sparkfun_esp32s3_thing_plus.build.flash_size=4MB +sparkfun_esp32s3_thing_plus.build.flash_freq=80m +sparkfun_esp32s3_thing_plus.build.flash_mode=dio +sparkfun_esp32s3_thing_plus.build.boot=qio +sparkfun_esp32s3_thing_plus.build.boot_freq=80m +sparkfun_esp32s3_thing_plus.build.partitions=default +sparkfun_esp32s3_thing_plus.build.defines= +sparkfun_esp32s3_thing_plus.build.loop_core= +sparkfun_esp32s3_thing_plus.build.event_core= +sparkfun_esp32s3_thing_plus.build.psram_type=qspi +sparkfun_esp32s3_thing_plus.build.memory_type={build.boot}_{build.psram_type} + +## IDE 2.0 Seems to not update the value +sparkfun_esp32s3_thing_plus.menu.JTAGAdapter.default=Disabled +sparkfun_esp32s3_thing_plus.menu.JTAGAdapter.default.build.copy_jtag_files=0 +sparkfun_esp32s3_thing_plus.menu.JTAGAdapter.builtin=Integrated USB JTAG +sparkfun_esp32s3_thing_plus.menu.JTAGAdapter.builtin.build.openocdscript=esp32s3-builtin.cfg +sparkfun_esp32s3_thing_plus.menu.JTAGAdapter.builtin.build.copy_jtag_files=1 +sparkfun_esp32s3_thing_plus.menu.JTAGAdapter.external=FTDI Adapter +sparkfun_esp32s3_thing_plus.menu.JTAGAdapter.external.build.openocdscript=esp32s3-ftdi.cfg +sparkfun_esp32s3_thing_plus.menu.JTAGAdapter.external.build.copy_jtag_files=1 +sparkfun_esp32s3_thing_plus.menu.JTAGAdapter.bridge=ESP USB Bridge +sparkfun_esp32s3_thing_plus.menu.JTAGAdapter.bridge.build.openocdscript=esp32s3-bridge.cfg +sparkfun_esp32s3_thing_plus.menu.JTAGAdapter.bridge.build.copy_jtag_files=1 + +sparkfun_esp32s3_thing_plus.menu.PSRAM.enabled=QSPI PSRAM +sparkfun_esp32s3_thing_plus.menu.PSRAM.enabled.build.defines=-DBOARD_HAS_PSRAM +sparkfun_esp32s3_thing_plus.menu.PSRAM.enabled.build.psram_type=qspi + +sparkfun_esp32s3_thing_plus.menu.PSRAM.disabled=Disabled +sparkfun_esp32s3_thing_plus.menu.PSRAM.disabled.build.defines= +sparkfun_esp32s3_thing_plus.menu.PSRAM.disabled.build.psram_type=qspi +sparkfun_esp32s3_thing_plus.menu.PSRAM.opi=OPI PSRAM +sparkfun_esp32s3_thing_plus.menu.PSRAM.opi.build.defines=-DBOARD_HAS_PSRAM +sparkfun_esp32s3_thing_plus.menu.PSRAM.opi.build.psram_type=opi + +sparkfun_esp32s3_thing_plus.menu.FlashMode.qio=QIO 80MHz +sparkfun_esp32s3_thing_plus.menu.FlashMode.qio.build.flash_mode=dio +sparkfun_esp32s3_thing_plus.menu.FlashMode.qio.build.boot=qio +sparkfun_esp32s3_thing_plus.menu.FlashMode.qio.build.boot_freq=80m +sparkfun_esp32s3_thing_plus.menu.FlashMode.qio.build.flash_freq=80m +sparkfun_esp32s3_thing_plus.menu.FlashMode.qio120=QIO 120MHz +sparkfun_esp32s3_thing_plus.menu.FlashMode.qio120.build.flash_mode=dio +sparkfun_esp32s3_thing_plus.menu.FlashMode.qio120.build.boot=qio +sparkfun_esp32s3_thing_plus.menu.FlashMode.qio120.build.boot_freq=120m +sparkfun_esp32s3_thing_plus.menu.FlashMode.qio120.build.flash_freq=80m +sparkfun_esp32s3_thing_plus.menu.FlashMode.dio=DIO 80MHz +sparkfun_esp32s3_thing_plus.menu.FlashMode.dio.build.flash_mode=dio +sparkfun_esp32s3_thing_plus.menu.FlashMode.dio.build.boot=dio +sparkfun_esp32s3_thing_plus.menu.FlashMode.dio.build.boot_freq=80m +sparkfun_esp32s3_thing_plus.menu.FlashMode.dio.build.flash_freq=80m + +sparkfun_esp32s3_thing_plus.menu.LoopCore.1=Core 1 +sparkfun_esp32s3_thing_plus.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1 +sparkfun_esp32s3_thing_plus.menu.LoopCore.0=Core 0 +sparkfun_esp32s3_thing_plus.menu.LoopCore.0.build.loop_core=-DARDUINO_RUNNING_CORE=0 + +sparkfun_esp32s3_thing_plus.menu.EventsCore.1=Core 1 +sparkfun_esp32s3_thing_plus.menu.EventsCore.1.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=1 +sparkfun_esp32s3_thing_plus.menu.EventsCore.0=Core 0 +sparkfun_esp32s3_thing_plus.menu.EventsCore.0.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=0 + +sparkfun_esp32s3_thing_plus.menu.USBMode.default=Hardware CDC and JTAG +sparkfun_esp32s3_thing_plus.menu.USBMode.default.build.usb_mode=1 +sparkfun_esp32s3_thing_plus.menu.USBMode.hwcdc=USB-OTG (TinyUSB) +sparkfun_esp32s3_thing_plus.menu.USBMode.hwcdc.build.usb_mode=0 + +# sparkfun says to put that to Enabled but it fails +sparkfun_esp32s3_thing_plus.menu.CDCOnBoot.default=Disabled +sparkfun_esp32s3_thing_plus.menu.CDCOnBoot.default.build.cdc_on_boot=0 +sparkfun_esp32s3_thing_plus.menu.CDCOnBoot.cdc=Enabled +sparkfun_esp32s3_thing_plus.menu.CDCOnBoot.cdc.build.cdc_on_boot=1 + +sparkfun_esp32s3_thing_plus.menu.MSCOnBoot.default=Disabled +sparkfun_esp32s3_thing_plus.menu.MSCOnBoot.default.build.msc_on_boot=0 +sparkfun_esp32s3_thing_plus.menu.MSCOnBoot.msc=Enabled (Requires USB-OTG Mode) +sparkfun_esp32s3_thing_plus.menu.MSCOnBoot.msc.build.msc_on_boot=1 + +sparkfun_esp32s3_thing_plus.menu.DFUOnBoot.default=Disabled +sparkfun_esp32s3_thing_plus.menu.DFUOnBoot.default.build.dfu_on_boot=0 +sparkfun_esp32s3_thing_plus.menu.DFUOnBoot.dfu=Enabled (Requires USB-OTG Mode) +sparkfun_esp32s3_thing_plus.menu.DFUOnBoot.dfu.build.dfu_on_boot=1 + +sparkfun_esp32s3_thing_plus.menu.UploadMode.default=UART0 / Hardware CDC +sparkfun_esp32s3_thing_plus.menu.UploadMode.default.upload.use_1200bps_touch=false +sparkfun_esp32s3_thing_plus.menu.UploadMode.default.upload.wait_for_upload_port=false +sparkfun_esp32s3_thing_plus.menu.UploadMode.cdc=USB-OTG CDC (TinyUSB) +sparkfun_esp32s3_thing_plus.menu.UploadMode.cdc.upload.use_1200bps_touch=true +sparkfun_esp32s3_thing_plus.menu.UploadMode.cdc.upload.wait_for_upload_port=true + +sparkfun_esp32s3_thing_plus.menu.PartitionScheme.default=Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS) +sparkfun_esp32s3_thing_plus.menu.PartitionScheme.default.build.partitions=default +sparkfun_esp32s3_thing_plus.menu.PartitionScheme.defaultffat=Default 4MB with ffat (1.2MB APP/1.5MB FATFS) +sparkfun_esp32s3_thing_plus.menu.PartitionScheme.defaultffat.build.partitions=default_ffat +sparkfun_esp32s3_thing_plus.menu.PartitionScheme.minimal=Minimal (1.3MB APP/700KB SPIFFS) +sparkfun_esp32s3_thing_plus.menu.PartitionScheme.minimal.build.partitions=minimal +sparkfun_esp32s3_thing_plus.menu.PartitionScheme.no_fs=No FS 4MB (2MB APP x2) +sparkfun_esp32s3_thing_plus.menu.PartitionScheme.no_fs.build.partitions=no_fs +sparkfun_esp32s3_thing_plus.menu.PartitionScheme.no_fs.upload.maximum_size=2031616 +sparkfun_esp32s3_thing_plus.menu.PartitionScheme.no_ota=No OTA (2MB APP/2MB SPIFFS) +sparkfun_esp32s3_thing_plus.menu.PartitionScheme.no_ota.build.partitions=no_ota +sparkfun_esp32s3_thing_plus.menu.PartitionScheme.no_ota.upload.maximum_size=2097152 +sparkfun_esp32s3_thing_plus.menu.PartitionScheme.noota_3g=No OTA (1MB APP/3MB SPIFFS) +sparkfun_esp32s3_thing_plus.menu.PartitionScheme.noota_3g.build.partitions=noota_3g +sparkfun_esp32s3_thing_plus.menu.PartitionScheme.noota_3g.upload.maximum_size=1048576 +sparkfun_esp32s3_thing_plus.menu.PartitionScheme.noota_ffat=No OTA (2MB APP/2MB FATFS) +sparkfun_esp32s3_thing_plus.menu.PartitionScheme.noota_ffat.build.partitions=noota_ffat +sparkfun_esp32s3_thing_plus.menu.PartitionScheme.noota_ffat.upload.maximum_size=2097152 +sparkfun_esp32s3_thing_plus.menu.PartitionScheme.noota_3gffat=No OTA (1MB APP/3MB FATFS) +sparkfun_esp32s3_thing_plus.menu.PartitionScheme.noota_3gffat.build.partitions=noota_3gffat +sparkfun_esp32s3_thing_plus.menu.PartitionScheme.noota_3gffat.upload.maximum_size=1048576 +sparkfun_esp32s3_thing_plus.menu.PartitionScheme.huge_app=Huge APP (3MB No OTA/1MB SPIFFS) +sparkfun_esp32s3_thing_plus.menu.PartitionScheme.huge_app.build.partitions=huge_app +sparkfun_esp32s3_thing_plus.menu.PartitionScheme.huge_app.upload.maximum_size=3145728 +sparkfun_esp32s3_thing_plus.menu.PartitionScheme.min_spiffs=Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS) +sparkfun_esp32s3_thing_plus.menu.PartitionScheme.min_spiffs.build.partitions=min_spiffs +sparkfun_esp32s3_thing_plus.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080 +sparkfun_esp32s3_thing_plus.menu.PartitionScheme.rainmaker=RainMaker 4MB +sparkfun_esp32s3_thing_plus.menu.PartitionScheme.rainmaker.build.partitions=rainmaker +sparkfun_esp32s3_thing_plus.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +sparkfun_esp32s3_thing_plus.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +sparkfun_esp32s3_thing_plus.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +sparkfun_esp32s3_thing_plus.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +sparkfun_esp32s3_thing_plus.menu.PartitionScheme.zigbee_zczr=Zigbee ZCZR 4MB with spiffs +sparkfun_esp32s3_thing_plus.menu.PartitionScheme.zigbee_zczr.build.partitions=zigbee_zczr +sparkfun_esp32s3_thing_plus.menu.PartitionScheme.zigbee_zczr.upload.maximum_size=1310720 +sparkfun_esp32s3_thing_plus.menu.PartitionScheme.custom=Custom +sparkfun_esp32s3_thing_plus.menu.PartitionScheme.custom.build.partitions= +sparkfun_esp32s3_thing_plus.menu.PartitionScheme.custom.upload.maximum_size=16777216 + +sparkfun_esp32s3_thing_plus.menu.CPUFreq.240=240MHz (WiFi) +sparkfun_esp32s3_thing_plus.menu.CPUFreq.240.build.f_cpu=240000000L +sparkfun_esp32s3_thing_plus.menu.CPUFreq.160=160MHz (WiFi) +sparkfun_esp32s3_thing_plus.menu.CPUFreq.160.build.f_cpu=160000000L +sparkfun_esp32s3_thing_plus.menu.CPUFreq.80=80MHz (WiFi) +sparkfun_esp32s3_thing_plus.menu.CPUFreq.80.build.f_cpu=80000000L +sparkfun_esp32s3_thing_plus.menu.CPUFreq.40=40MHz +sparkfun_esp32s3_thing_plus.menu.CPUFreq.40.build.f_cpu=40000000L +sparkfun_esp32s3_thing_plus.menu.CPUFreq.20=20MHz +sparkfun_esp32s3_thing_plus.menu.CPUFreq.20.build.f_cpu=20000000L +sparkfun_esp32s3_thing_plus.menu.CPUFreq.10=10MHz +sparkfun_esp32s3_thing_plus.menu.CPUFreq.10.build.f_cpu=10000000L + +sparkfun_esp32s3_thing_plus.menu.UploadSpeed.921600=921600 +sparkfun_esp32s3_thing_plus.menu.UploadSpeed.921600.upload.speed=921600 +sparkfun_esp32s3_thing_plus.menu.UploadSpeed.115200=115200 +sparkfun_esp32s3_thing_plus.menu.UploadSpeed.115200.upload.speed=115200 +sparkfun_esp32s3_thing_plus.menu.UploadSpeed.256000.windows=256000 +sparkfun_esp32s3_thing_plus.menu.UploadSpeed.256000.upload.speed=256000 +sparkfun_esp32s3_thing_plus.menu.UploadSpeed.230400.windows.upload.speed=256000 +sparkfun_esp32s3_thing_plus.menu.UploadSpeed.230400=230400 +sparkfun_esp32s3_thing_plus.menu.UploadSpeed.230400.upload.speed=230400 +sparkfun_esp32s3_thing_plus.menu.UploadSpeed.460800.linux=460800 +sparkfun_esp32s3_thing_plus.menu.UploadSpeed.460800.macosx=460800 +sparkfun_esp32s3_thing_plus.menu.UploadSpeed.460800.upload.speed=460800 +sparkfun_esp32s3_thing_plus.menu.UploadSpeed.512000.windows=512000 +sparkfun_esp32s3_thing_plus.menu.UploadSpeed.512000.upload.speed=512000 + +sparkfun_esp32s3_thing_plus.menu.DebugLevel.none=None +sparkfun_esp32s3_thing_plus.menu.DebugLevel.none.build.code_debug=0 +sparkfun_esp32s3_thing_plus.menu.DebugLevel.error=Error +sparkfun_esp32s3_thing_plus.menu.DebugLevel.error.build.code_debug=1 +sparkfun_esp32s3_thing_plus.menu.DebugLevel.warn=Warn +sparkfun_esp32s3_thing_plus.menu.DebugLevel.warn.build.code_debug=2 +sparkfun_esp32s3_thing_plus.menu.DebugLevel.info=Info +sparkfun_esp32s3_thing_plus.menu.DebugLevel.info.build.code_debug=3 +sparkfun_esp32s3_thing_plus.menu.DebugLevel.debug=Debug +sparkfun_esp32s3_thing_plus.menu.DebugLevel.debug.build.code_debug=4 +sparkfun_esp32s3_thing_plus.menu.DebugLevel.verbose=Verbose +sparkfun_esp32s3_thing_plus.menu.DebugLevel.verbose.build.code_debug=5 + +sparkfun_esp32s3_thing_plus.menu.EraseFlash.none=Disabled +sparkfun_esp32s3_thing_plus.menu.EraseFlash.none.upload.erase_cmd= +sparkfun_esp32s3_thing_plus.menu.EraseFlash.all=Enabled +sparkfun_esp32s3_thing_plus.menu.EraseFlash.all.upload.erase_cmd=-e + +sparkfun_esp32s3_thing_plus.menu.ZigbeeMode.default=Disabled +sparkfun_esp32s3_thing_plus.menu.ZigbeeMode.default.build.zigbee_mode= +sparkfun_esp32s3_thing_plus.menu.ZigbeeMode.default.build.zigbee_libs= +sparkfun_esp32s3_thing_plus.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator) +sparkfun_esp32s3_thing_plus.menu.ZigbeeMode.zczr.build.zigbee_mode=-DZIGBEE_MODE_ZCZR +sparkfun_esp32s3_thing_plus.menu.ZigbeeMode.zczr.build.zigbee_libs=-lesp_zb_api_zczr -lesp_zb_cli_command -lzboss_stack.zczr -lzboss_port + ############################################################## sparkfun_esp32c6_thing_plus.name=SparkFun ESP32-C6 Thing Plus diff --git a/variants/sparkfun_esp32s3_thing_plus/pins_arduino.h b/variants/sparkfun_esp32s3_thing_plus/pins_arduino.h new file mode 100644 index 00000000000..7c5e0c1f570 --- /dev/null +++ b/variants/sparkfun_esp32s3_thing_plus/pins_arduino.h @@ -0,0 +1,61 @@ +#ifndef Pins_Arduino_h +#define Pins_Arduino_h + +#include + +//#define USB_VID 0x303A +//#define USB_PID 0x1001 +//#define USB_MANUFACTURER "Sparkfun" +//#define USB_PRODUCT "ESP32-S3 Thing Plus" +#define USB_SERIAL "" + +#define LED_PIN 46 //Pin 46 on Thing Plus C S3 is connected to WS2812 LED +#define COLOR_ORDER GRB +#define CHIPSET WS2812 +#define NUM_LEDS 1 +#define BRIGHTNESS 25 +#define LED_BUILTIN LED_PIN +#define BUILTIN_LED LED_BUILTIN // backward compatibility + +static const uint8_t LED = LED_PIN; +static const uint8_t STAT_LED = 0; +static const uint8_t BTN = 0; +static const uint8_t Q_EN = 45; + +static const uint8_t TX = 43; +static const uint8_t RX = 44; + +static const uint8_t SS = 10; +static const uint8_t MISO = 13; //POCI +static const uint8_t MOSI = 11; //PICO +static const uint8_t SCK = 12; + +static const uint8_t SCL = 9; +static const uint8_t SDA = 8; + +static const uint8_t A0 = 10; +static const uint8_t A1 = 14; +static const uint8_t A2 = 15; +static const uint8_t A3 = 16; +static const uint8_t A4 = 17; +static const uint8_t A5 = 18; + +static const uint8_t GPIO0 = 21; +static const uint8_t GPIO1 = 7; +static const uint8_t GPIO2 = 6; +static const uint8_t GPIO3 = 5; +static const uint8_t GPIO4 = 4; +static const uint8_t GPIO5 = 2; +static const uint8_t GPIO6 = 1; + +static const uint8_t FREEBIE = 42; + +static const uint8_t SDIO_DET = 48; +static const uint8_t SDIO0 = 39; +static const uint8_t SDIO1 = 40; +static const uint8_t SDIO2 = 47; +static const uint8_t SDIO3 = 33; +static const uint8_t SDIO_CLK = 38; +static const uint8_t SDIO_CMD = 34; + +#endif /* Pins_Arduino_h */ From e403f0b4815643ccd2d98f62b7accf5a8108f2cd Mon Sep 17 00:00:00 2001 From: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com> Date: Mon, 30 Sep 2024 07:43:50 -0300 Subject: [PATCH 053/146] ci(json): Add configuration requirements to ci.json files (#10385) * ci(json): Add support for checking sdkconfig before running tests * docs(ci): Add explanation about requires field in JSON * fix(json): Ignore comments when searching requirements * feat(json): Add extended regex support to requires field * change(json): Move to using requirements in JSON * fix(json): Fix requirements for touch tests * refactor(json): Fix formatting of JSON files * fix(spi): Fix SPI example and JSON --- .github/scripts/install-platformio-esp32.sh | 47 +++++++++++++---- .github/scripts/sketch_utils.sh | 44 +++++++++++----- .github/scripts/tests_run.sh | 29 +++++++---- docs/en/contributing.rst | 52 +++++++++++++++---- .../ArduinoOTA/examples/BasicOTA/ci.json | 6 +-- .../AsyncUDP/examples/AsyncUDPClient/ci.json | 6 +-- .../examples/AsyncUDPMulticastServer/ci.json | 6 +-- .../AsyncUDP/examples/AsyncUDPServer/ci.json | 6 +-- .../BLE/examples/BLE5_extended_scan/ci.json | 7 ++- .../examples/BLE5_multi_advertising/ci.json | 7 ++- .../BLE5_periodic_advertising/ci.json | 7 ++- .../BLE/examples/BLE5_periodic_sync/ci.json | 7 ++- libraries/BLE/examples/Beacon_Scanner/ci.json | 6 +-- libraries/BLE/examples/Client/ci.json | 6 +-- .../BLE/examples/EddystoneTLM_Beacon/ci.json | 7 ++- .../BLE/examples/EddystoneURL_Beacon/ci.json | 7 ++- libraries/BLE/examples/Notify/ci.json | 6 +-- libraries/BLE/examples/Scan/ci.json | 6 +-- libraries/BLE/examples/Server/ci.json | 6 +-- .../BLE/examples/Server_multiconnect/ci.json | 6 +-- libraries/BLE/examples/UART/ci.json | 6 +-- libraries/BLE/examples/Write/ci.json | 6 +-- libraries/BLE/examples/iBeacon/ci.json | 6 +-- .../examples/DiscoverConnect/ci.json | 10 ++-- .../examples/GetLocalMAC/ci.json | 10 ++-- .../examples/SerialToSerialBT/ci.json | 10 ++-- .../examples/SerialToSerialBTM/ci.json | 10 ++-- .../examples/SerialToSerialBT_Legacy/ci.json | 10 ++-- .../examples/SerialToSerialBT_SSP/ci.json | 10 ++-- .../bt_classic_device_discovery/ci.json | 10 ++-- .../examples/bt_remove_paired_devices/ci.json | 10 ++-- .../DNSServer/examples/CaptivePortal/ci.json | 6 +-- .../examples/Camera/CameraWebServer/ci.json | 8 ++- libraries/ESP32/examples/HWCDC_Events/ci.json | 7 ++- .../ESP32/examples/Time/SimpleTime/ci.json | 6 +-- .../ESP32/examples/Touch/TouchButton/ci.json | 10 ++-- .../examples/Touch/TouchButtonV2/ci.json | 9 ++-- .../examples/Touch/TouchInterrupt/ci.json | 8 ++- .../ESP32/examples/Touch/TouchRead/ci.json | 8 ++- .../ESP_I2S/examples/ES8388_loopback/ci.json | 6 +++ .../ESP_I2S/examples/Record_to_WAV/ci.json | 10 ++-- .../ESP_I2S/examples/Simple_tone/ci.json | 5 ++ .../examples/ESP_NOW_Broadcast_Master/ci.json | 6 +-- .../examples/ESP_NOW_Broadcast_Slave/ci.json | 6 +-- .../ESP_NOW/examples/ESP_NOW_Network/ci.json | 6 +-- .../ESP_NOW/examples/ESP_NOW_Serial/ci.json | 6 +-- libraries/ESP_SR/examples/Basic/ci.json | 3 ++ .../ESPmDNS/examples/mDNS-SD_Extended/ci.json | 6 +-- .../ESPmDNS/examples/mDNS_Web_Server/ci.json | 6 +-- .../Ethernet/examples/ETH_LAN8720/ci.json | 10 ++-- .../Ethernet/examples/ETH_TLK110/ci.json | 10 ++-- .../Ethernet/examples/ETH_WIFI_BRIDGE/ci.json | 6 +-- libraries/FFat/examples/FFat_time/ci.json | 6 +-- .../HTTPClient/examples/Authorization/ci.json | 6 +-- .../examples/BasicHttpClient/ci.json | 6 +-- .../examples/BasicHttpsClient/ci.json | 6 +-- .../examples/HTTPClientEnterprise/ci.json | 6 +-- .../examples/ReuseConnection/ci.json | 6 +-- .../examples/StreamHttpClient/ci.json | 6 +-- .../HTTPUpdate/examples/httpUpdate/ci.json | 6 +-- .../examples/httpUpdateSPIFFS/ci.json | 6 +-- .../examples/httpUpdateSecure/ci.json | 6 +-- .../examples/WebUpdater/ci.json | 6 +-- .../examples/DiagnosticsSmokeTest/ci.json | 8 +-- .../examples/MinimalDiagnostics/ci.json | 8 +-- .../LittleFS/examples/LITTLEFS_time/ci.json | 6 +-- libraries/NetBIOS/examples/ESP_NBNST/ci.json | 6 +-- .../examples/WiFiClientInsecure/ci.json | 6 +-- .../examples/WiFiClientPSK/ci.json | 6 +-- .../examples/WiFiClientSecure/ci.json | 6 +-- .../WiFiClientSecureEnterprise/ci.json | 6 +-- .../WiFiClientSecureProtocolUpgrade/ci.json | 6 +-- .../WiFiClientShowPeerCredentials/ci.json | 6 +-- .../WiFiClientTrustOnFirstUse/ci.json | 6 +-- .../examples/COAP/coap_lamp/ci.json | 11 ++-- .../examples/COAP/coap_switch/ci.json | 11 ++-- .../OpenThread/examples/SimpleCLI/ci.json | 11 ++-- .../OpenThread/examples/SimpleNode/ci.json | 11 ++-- .../ExtendedRouterNode/ci.json | 11 ++-- .../SimpleThreadNetwork/LeaderNode/ci.json | 11 ++-- .../SimpleThreadNetwork/RouterNode/ci.json | 11 ++-- .../OpenThread/examples/ThreadScan/ci.json | 11 ++-- .../OpenThread/examples/onReceive/ci.json | 11 ++-- libraries/PPP/examples/PPP_Basic/ci.json | 5 ++ .../PPP/examples/PPP_WIFI_BRIDGE/ci.json | 7 +-- .../RainMaker/examples/RMakerCustom/ci.json | 7 +-- .../examples/RMakerCustomAirCooler/ci.json | 7 +-- .../examples/RMakerSonoffDualR3/ci.json | 7 +-- .../RainMaker/examples/RMakerSwitch/ci.json | 7 +-- libraries/SD/examples/SD_time/ci.json | 6 +-- libraries/SD_MMC/examples/SD2USBMSC/ci.json | 11 ++-- libraries/SD_MMC/examples/SDMMC_Test/ci.json | 9 ++-- libraries/SD_MMC/examples/SDMMC_time/ci.json | 10 ++-- .../SPI_Multiple_Buses/SPI_Multiple_Buses.ino | 2 +- .../SPI/examples/SPI_Multiple_Buses/ci.json | 8 ++- libraries/SPIFFS/examples/SPIFFS_time/ci.json | 6 +-- .../examples/SimpleBleDevice/ci.json | 8 +-- .../USB/examples/CompositeDevice/ci.json | 9 ++-- .../USB/examples/ConsumerControl/ci.json | 9 ++-- .../USB/examples/CustomHIDDevice/ci.json | 9 ++-- libraries/USB/examples/FirmwareMSC/ci.json | 9 ++-- libraries/USB/examples/Gamepad/ci.json | 9 ++-- libraries/USB/examples/HIDVendor/ci.json | 9 ++-- .../examples/Keyboard/KeyboardLogout/ci.json | 9 ++-- .../examples/Keyboard/KeyboardMessage/ci.json | 9 ++-- .../Keyboard/KeyboardReprogram/ci.json | 9 ++-- .../examples/Keyboard/KeyboardSerial/ci.json | 9 ++-- .../examples/KeyboardAndMouseControl/ci.json | 9 ++-- .../USB/examples/MIDI/MidiController/ci.json | 9 ++-- .../USB/examples/MIDI/MidiInterface/ci.json | 9 ++-- .../USB/examples/MIDI/MidiMusicBox/ci.json | 9 ++-- .../USB/examples/MIDI/ReceiveMidi/ci.json | 9 ++-- .../examples/Mouse/ButtonMouseControl/ci.json | 9 ++-- libraries/USB/examples/SystemControl/ci.json | 9 ++-- libraries/USB/examples/USBMSC/ci.json | 9 ++-- libraries/USB/examples/USBSerial/ci.json | 9 ++-- libraries/USB/examples/USBVendor/ci.json | 9 ++-- .../Update/examples/AWS_S3_OTA_Update/ci.json | 6 +-- .../Update/examples/HTTPS_OTA_Update/ci.json | 6 +-- .../HTTP_Client_AES_OTA_Update/ci.json | 6 +-- .../HTTP_Server_AES_OTA_Update/ci.json | 6 +-- .../Update/examples/OTAWebUpdater/ci.json | 6 +-- .../examples/AdvancedWebServer/ci.json | 6 +-- .../WebServer/examples/FSBrowser/ci.json | 6 +-- libraries/WebServer/examples/Filters/ci.json | 6 +-- .../WebServer/examples/HelloServer/ci.json | 6 +-- .../examples/HttpAdvancedAuth/ci.json | 6 +-- .../examples/HttpAuthCallback/ci.json | 6 +-- .../examples/HttpAuthCallbackInline/ci.json | 6 +-- .../WebServer/examples/HttpBasicAuth/ci.json | 6 +-- .../examples/HttpBasicAuthSHA1/ci.json | 6 +-- .../HttpBasicAuthSHA1orBearerToken/ci.json | 6 +-- .../examples/MultiHomedServers/ci.json | 6 +-- .../WebServer/examples/PathArgServer/ci.json | 6 +-- .../WebServer/examples/SDWebServer/ci.json | 6 +-- .../examples/SimpleAuthentification/ci.json | 6 +-- .../WebServer/examples/UploadHugeFile/ci.json | 6 +-- .../WebServer/examples/WebServer/ci.json | 6 +-- .../WebServer/examples/WebUpdate/ci.json | 6 +-- .../WiFi/examples/FTM/FTM_Initiator/ci.json | 6 +-- .../WiFi/examples/FTM/FTM_Responder/ci.json | 6 +-- .../WiFi/examples/SimpleWiFiServer/ci.json | 6 +-- libraries/WiFi/examples/WPS/ci.json | 6 +-- .../WiFi/examples/WiFiAccessPoint/ci.json | 6 +-- .../WiFi/examples/WiFiBlueToothSwitch/ci.json | 4 +- libraries/WiFi/examples/WiFiClient/ci.json | 6 +-- .../WiFi/examples/WiFiClientBasic/ci.json | 6 +-- .../WiFi/examples/WiFiClientConnect/ci.json | 6 +-- .../examples/WiFiClientEnterprise/ci.json | 6 +-- .../WiFi/examples/WiFiClientEvents/ci.json | 6 +-- .../WiFi/examples/WiFiClientStaticIP/ci.json | 6 +-- libraries/WiFi/examples/WiFiExtender/ci.json | 6 +-- libraries/WiFi/examples/WiFiIPv6/ci.json | 6 +-- libraries/WiFi/examples/WiFiMulti/ci.json | 6 +-- .../WiFi/examples/WiFiMultiAdvanced/ci.json | 6 +-- libraries/WiFi/examples/WiFiScan/ci.json | 6 +-- libraries/WiFi/examples/WiFiScanAsync/ci.json | 6 +-- .../WiFi/examples/WiFiScanDualAntenna/ci.json | 6 +-- libraries/WiFi/examples/WiFiScanTime/ci.json | 6 +-- .../WiFi/examples/WiFiSmartConfig/ci.json | 6 +-- .../WiFi/examples/WiFiTelnetToSerial/ci.json | 6 +-- libraries/WiFi/examples/WiFiUDPClient/ci.json | 6 +-- libraries/WiFiProv/examples/WiFiProv/ci.json | 6 +-- libraries/Wire/examples/WireMaster/ci.json | 5 ++ libraries/Wire/examples/WireScan/ci.json | 5 ++ libraries/Wire/examples/WireSlave/ci.json | 6 +-- tests/validation/democfg/ci.json | 3 ++ tests/validation/touch/ci.json | 8 ++- tests/validation/wifi/ci.json | 6 +-- 169 files changed, 654 insertions(+), 688 deletions(-) create mode 100644 libraries/ESP_I2S/examples/ES8388_loopback/ci.json create mode 100644 libraries/ESP_I2S/examples/Simple_tone/ci.json create mode 100644 libraries/PPP/examples/PPP_Basic/ci.json create mode 100644 libraries/Wire/examples/WireMaster/ci.json create mode 100644 libraries/Wire/examples/WireScan/ci.json diff --git a/.github/scripts/install-platformio-esp32.sh b/.github/scripts/install-platformio-esp32.sh index a92e1103770..393c9f3a7d6 100755 --- a/.github/scripts/install-platformio-esp32.sh +++ b/.github/scripts/install-platformio-esp32.sh @@ -6,6 +6,7 @@ PLATFORMIO_ESP32_URL="https://github.com/platformio/platform-espressif32.git" TOOLCHAIN_VERSION="12.2.0+20230208" ESPTOOLPY_VERSION="~1.40501.0" ESPRESSIF_ORGANIZATION_NAME="espressif" +LIBS_DIR="tools/esp32-arduino-libs" echo "Installing Python Wheel ..." pip install wheel > /dev/null 2>&1 @@ -88,12 +89,25 @@ function count_sketches(){ # count_sketches local sketchname=$(basename $sketch) if [[ "${sketchdirname}.ino" != "$sketchname" ]]; then continue + elif [ -f $sketchdir/ci.json ]; then + # If the target is listed as false, skip the sketch. Otherwise, include it. + is_target=$(jq -r '.targets[esp32]' $sketchdir/ci.json) + if [[ "$is_target" == "false" ]]; then + continue + fi + + # Check if the sketch requires any configuration options + requirements=$(jq -r '.requires[]? // empty' $sketchdir/ci.json) + if [[ "$requirements" != "null" ]] || [[ "$requirements" != "" ]]; then + for requirement in $requirements; do + found_line=$(grep -E "^$requirement" $LIBS_DIR/esp32/sdkconfig) + if [[ "$found_line" == "" ]]; then + continue 2 + fi + done + fi fi - is_target=$(jq -r --arg target $target '.targets[$target]' $sketchdir/ci.json) - # If the target is listed as false, skip the sketch. Otherwise, include it. - if [[ "$is_target" == "false" ]]; then - continue - fi + echo $sketch >> sketches.txt sketchnum=$(($sketchnum + 1)) done @@ -163,12 +177,27 @@ function build_pio_sketches(){ # build_pio_sketches [extra-options] while [ ! -z "$1" ]; do case "$1" in @@ -140,16 +142,25 @@ function build_sketch(){ # build_sketch [ex sketchname=$(basename $sketchdir) - # If the target is listed as false, skip the sketch. Otherwise, include it. if [ -f $sketchdir/ci.json ]; then + # If the target is listed as false, skip the sketch. Otherwise, include it. is_target=$(jq -r --arg target $target '.targets[$target]' $sketchdir/ci.json) - else - is_target="true" - fi + if [[ "$is_target" == "false" ]]; then + echo "Skipping $sketchname for target $target" + exit 0 + fi - if [[ "$is_target" == "false" ]]; then - echo "Skipping $sketchname for target $target" - exit 0 + # Check if the sketch requires any configuration options + requirements=$(jq -r '.requires[]? // empty' $sketchdir/ci.json) + if [[ "$requirements" != "null" ]] || [[ "$requirements" != "" ]]; then + for requirement in $requirements; do + found_line=$(grep -E "^$requirement" $LIBS_DIR/$target/sdkconfig) + if [[ "$found_line" == "" ]]; then + echo "Target $target does not meet the requirement $requirement for $sketchname. Skipping." + exit 0 + fi + done + fi fi ARDUINO_CACHE_DIR="$HOME/.arduino/cache.tmp" @@ -288,16 +299,23 @@ function count_sketches(){ # count_sketches [target] [file] local sketchname=$(basename $sketch) if [[ "$sketchdirname.ino" != "$sketchname" ]]; then continue - elif [[ -n $target ]]; then + elif [[ -n $target ]] && [[ -f $sketchdir/ci.json ]]; then # If the target is listed as false, skip the sketch. Otherwise, include it. - if [ -f $sketchdir/ci.json ]; then - is_target=$(jq -r --arg target $target '.targets[$target]' $sketchdir/ci.json) - else - is_target="true" - fi + is_target=$(jq -r --arg target $target '.targets[$target]' $sketchdir/ci.json) if [[ "$is_target" == "false" ]]; then continue fi + + # Check if the sketch requires any configuration options + requirements=$(jq -r '.requires[]? // empty' $sketchdir/ci.json) + if [[ "$requirements" != "null" ]] || [[ "$requirements" != "" ]]; then + for requirement in $requirements; do + found_line=$(grep -E "^$requirement" $LIBS_DIR/$target/sdkconfig) + if [[ "$found_line" == "" ]]; then + continue 2 + fi + done + fi fi echo $sketch >> sketches.txt sketchnum=$(($sketchnum + 1)) diff --git a/.github/scripts/tests_run.sh b/.github/scripts/tests_run.sh index d53d900e8fa..7f990bea45d 100755 --- a/.github/scripts/tests_run.sh +++ b/.github/scripts/tests_run.sh @@ -10,19 +10,29 @@ function run_test() { local result=0 local error=0 - # If the target or platform is listed as false, skip the sketch. Otherwise, include it. if [ -f $sketchdir/ci.json ]; then + # If the target or platform is listed as false, skip the sketch. Otherwise, include it. is_target=$(jq -r --arg target $target '.targets[$target]' $sketchdir/ci.json) selected_platform=$(jq -r --arg platform $platform '.platforms[$platform]' $sketchdir/ci.json) - else - is_target="true" - selected_platform="true" - fi - if [[ $is_target == "false" ]] || [[ $selected_platform == "false" ]]; then - printf "\033[93mSkipping $sketchname test for $target, platform: $platform\033[0m\n" - printf "\n\n\n" - return 0 + if [[ $is_target == "false" ]] || [[ $selected_platform == "false" ]]; then + printf "\033[93mSkipping $sketchname test for $target, platform: $platform\033[0m\n" + printf "\n\n\n" + return 0 + fi + + # Check if the sketch requires any configuration options + requirements=$(jq -r '.requires[]? // empty' $sketchdir/ci.json) + if [[ "$requirements" != "null" ]] || [[ "$requirements" != "" ]]; then + for requirement in $requirements; do + found_line=$(grep -E "^$requirement" $LIBS_DIR/$target/sdkconfig) + if [[ "$found_line" == "" ]]; then + printf "\033[93mTarget $target does not meet the requirement $requirement for $sketchname. Skipping.\033[0m\n" + printf "\n\n\n" + return 0 + fi + done + fi fi if [ $options -eq 0 ] && [ -f $sketchdir/ci.json ]; then @@ -110,6 +120,7 @@ function run_test() { SCRIPTS_DIR="./.github/scripts" COUNT_SKETCHES="${SCRIPTS_DIR}/sketch_utils.sh count" +LIBS_DIR="tools/esp32-arduino-libs" platform="hardware" wokwi_timeout=60000 diff --git a/docs/en/contributing.rst b/docs/en/contributing.rst index acea254c3e3..26272f3d1c3 100644 --- a/docs/en/contributing.rst +++ b/docs/en/contributing.rst @@ -109,17 +109,44 @@ Also: Testing ******* -Be sure you have tested the example in all the supported targets. If the example works only with specific targets, -edit/add the ``ci.json`` in the same folder as the sketch to specify the supported targets. By default, -all targets are assumed to be supported. +Be sure you have tested the example in all the supported targets. If the example some specific hardware requirements, +edit/add the ``ci.json`` in the same folder as the sketch to specify the regular expression for the +required configurations from ``sdkconfig``. +This will ensure that the CI system will run the test only on the targets that have the required configurations. -Here is an example of the ``ci.json`` file where the example does not support ESP32-H2 and ESP32-S2: +You can check the available configurations in the ``sdkconfig`` file in the ``tools/esp32-arduino-libs/`` folder. + +Here is an example of the ``ci.json`` file where the example requires Wi-Fi to work properly: + +.. code-block:: json + + { + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] + } + +.. note:: + + The list of configurations will be checked against the ``sdkconfig`` file in the target folder. If the configuration is not present in the ``sdkconfig``, + the test will be skipped for that target. That means that the test will only run on the targets that have **ALL** the required configurations. + + Also, by default, the "match start of line" character (``^``) will be added to the beginning of each configuration. + That means that the configuration must be at the beginning of the line in the ``sdkconfig`` file. + +Sometimes, the example might not be supported by some target, even if the target has the required configurations +(like resources limitations or requiring a specific SoC). To avoid compilation errors, you can add the target to the ``ci.json`` +file so the CI system will force to skip the test on that target. + +Here is an example of the ``ci.json`` file where the example is requires Wi-Fi to work properly but is also not supported by the ESP32-S2 target: .. code-block:: json { + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ], "targets": { - "esp32h2": false, "esp32s2": false } } @@ -130,17 +157,17 @@ For example, in the sketch: .. code-block:: arduino /* - THIS FEATURE IS SUPPORTED ONLY BY ESP32-S2 AND ESP32-C3 + THIS FEATURE REQUIRES WI-FI SUPPORT AND IS NOT AVAILABLE FOR ESP32-S2 AS IT DOES NOT HAVE ENOUGH RAM. */ And in the ``README.md`` file: .. code-block:: markdown - Currently, this example supports the following targets. + Currently, this example requires Wi-Fi and supports the following targets. - | Supported Targets | ESP32 | ESP32-S2 | ESP32-C3 | ESP32-S3 | - | ----------------- | ----- | -------- | -------- | -------- | + | Supported Targets | ESP32 | ESP32-H2 | ESP32-S3 | ESP32-C3 | ESP32-C6 | + | ----------------- | ----- | -------- | -------- | -------- | -------- | Example Template **************** @@ -341,8 +368,11 @@ CI JSON File The ``ci.json`` file is used to specify how the test suite and sketches will handled by the CI system. It can contain the following fields: -* ``targets``: A dictionary that specifies the supported targets. The key is the target name and the value is a boolean that specifies if the - target is supported. By default, all targets are assumed to be supported. This field is also valid for examples. +* ``requires``: A list of configurations in ``sdkconfig`` that are required to run the test suite. The test suite will only run on the targets + that have the required configurations. By default, no configurations are required. +* ``targets``: A dictionary that specifies the targets for which the tests will be run. The key is the target name and the value is a boolean + that specifies if the test should be run for that target. By default, all targets are enabled as long as they have the required configurations + specified in the ``requires`` field. This field is also valid for examples. * ``platforms``: A dictionary that specifies the supported platforms. The key is the platform name and the value is a boolean that specifies if the platform is supported. By default, all platforms are assumed to be supported. * ``extra_tags``: A list of extra tags that the runner will require when running the test suite in hardware. By default, no extra tags are required. diff --git a/libraries/ArduinoOTA/examples/BasicOTA/ci.json b/libraries/ArduinoOTA/examples/BasicOTA/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/ArduinoOTA/examples/BasicOTA/ci.json +++ b/libraries/ArduinoOTA/examples/BasicOTA/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/AsyncUDP/examples/AsyncUDPClient/ci.json b/libraries/AsyncUDP/examples/AsyncUDPClient/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/AsyncUDP/examples/AsyncUDPClient/ci.json +++ b/libraries/AsyncUDP/examples/AsyncUDPClient/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/AsyncUDP/examples/AsyncUDPMulticastServer/ci.json b/libraries/AsyncUDP/examples/AsyncUDPMulticastServer/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/AsyncUDP/examples/AsyncUDPMulticastServer/ci.json +++ b/libraries/AsyncUDP/examples/AsyncUDPMulticastServer/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/AsyncUDP/examples/AsyncUDPServer/ci.json b/libraries/AsyncUDP/examples/AsyncUDPServer/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/AsyncUDP/examples/AsyncUDPServer/ci.json +++ b/libraries/AsyncUDP/examples/AsyncUDPServer/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/BLE/examples/BLE5_extended_scan/ci.json b/libraries/BLE/examples/BLE5_extended_scan/ci.json index edef5051e09..9f7646a74a6 100644 --- a/libraries/BLE/examples/BLE5_extended_scan/ci.json +++ b/libraries/BLE/examples/BLE5_extended_scan/ci.json @@ -1,6 +1,5 @@ { - "targets": { - "esp32": false, - "esp32s2": false - } + "requires": [ + "CONFIG_SOC_BLE_50_SUPPORTED=y" + ] } diff --git a/libraries/BLE/examples/BLE5_multi_advertising/ci.json b/libraries/BLE/examples/BLE5_multi_advertising/ci.json index edef5051e09..9f7646a74a6 100644 --- a/libraries/BLE/examples/BLE5_multi_advertising/ci.json +++ b/libraries/BLE/examples/BLE5_multi_advertising/ci.json @@ -1,6 +1,5 @@ { - "targets": { - "esp32": false, - "esp32s2": false - } + "requires": [ + "CONFIG_SOC_BLE_50_SUPPORTED=y" + ] } diff --git a/libraries/BLE/examples/BLE5_periodic_advertising/ci.json b/libraries/BLE/examples/BLE5_periodic_advertising/ci.json index edef5051e09..9f7646a74a6 100644 --- a/libraries/BLE/examples/BLE5_periodic_advertising/ci.json +++ b/libraries/BLE/examples/BLE5_periodic_advertising/ci.json @@ -1,6 +1,5 @@ { - "targets": { - "esp32": false, - "esp32s2": false - } + "requires": [ + "CONFIG_SOC_BLE_50_SUPPORTED=y" + ] } diff --git a/libraries/BLE/examples/BLE5_periodic_sync/ci.json b/libraries/BLE/examples/BLE5_periodic_sync/ci.json index edef5051e09..9f7646a74a6 100644 --- a/libraries/BLE/examples/BLE5_periodic_sync/ci.json +++ b/libraries/BLE/examples/BLE5_periodic_sync/ci.json @@ -1,6 +1,5 @@ { - "targets": { - "esp32": false, - "esp32s2": false - } + "requires": [ + "CONFIG_SOC_BLE_50_SUPPORTED=y" + ] } diff --git a/libraries/BLE/examples/Beacon_Scanner/ci.json b/libraries/BLE/examples/Beacon_Scanner/ci.json index 1443137ab0d..c23553ec084 100644 --- a/libraries/BLE/examples/Beacon_Scanner/ci.json +++ b/libraries/BLE/examples/Beacon_Scanner/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32s2": false - } + "requires": [ + "CONFIG_SOC_BLE_SUPPORTED=y" + ] } diff --git a/libraries/BLE/examples/Client/ci.json b/libraries/BLE/examples/Client/ci.json index 1443137ab0d..c23553ec084 100644 --- a/libraries/BLE/examples/Client/ci.json +++ b/libraries/BLE/examples/Client/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32s2": false - } + "requires": [ + "CONFIG_SOC_BLE_SUPPORTED=y" + ] } diff --git a/libraries/BLE/examples/EddystoneTLM_Beacon/ci.json b/libraries/BLE/examples/EddystoneTLM_Beacon/ci.json index 521ae8f5ff1..c23553ec084 100644 --- a/libraries/BLE/examples/EddystoneTLM_Beacon/ci.json +++ b/libraries/BLE/examples/EddystoneTLM_Beacon/ci.json @@ -1,6 +1,5 @@ { - "targets": { - "esp32h2": false, - "esp32s2": false - } + "requires": [ + "CONFIG_SOC_BLE_SUPPORTED=y" + ] } diff --git a/libraries/BLE/examples/EddystoneURL_Beacon/ci.json b/libraries/BLE/examples/EddystoneURL_Beacon/ci.json index 521ae8f5ff1..c23553ec084 100644 --- a/libraries/BLE/examples/EddystoneURL_Beacon/ci.json +++ b/libraries/BLE/examples/EddystoneURL_Beacon/ci.json @@ -1,6 +1,5 @@ { - "targets": { - "esp32h2": false, - "esp32s2": false - } + "requires": [ + "CONFIG_SOC_BLE_SUPPORTED=y" + ] } diff --git a/libraries/BLE/examples/Notify/ci.json b/libraries/BLE/examples/Notify/ci.json index 1443137ab0d..c23553ec084 100644 --- a/libraries/BLE/examples/Notify/ci.json +++ b/libraries/BLE/examples/Notify/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32s2": false - } + "requires": [ + "CONFIG_SOC_BLE_SUPPORTED=y" + ] } diff --git a/libraries/BLE/examples/Scan/ci.json b/libraries/BLE/examples/Scan/ci.json index 1443137ab0d..c23553ec084 100644 --- a/libraries/BLE/examples/Scan/ci.json +++ b/libraries/BLE/examples/Scan/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32s2": false - } + "requires": [ + "CONFIG_SOC_BLE_SUPPORTED=y" + ] } diff --git a/libraries/BLE/examples/Server/ci.json b/libraries/BLE/examples/Server/ci.json index 1443137ab0d..c23553ec084 100644 --- a/libraries/BLE/examples/Server/ci.json +++ b/libraries/BLE/examples/Server/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32s2": false - } + "requires": [ + "CONFIG_SOC_BLE_SUPPORTED=y" + ] } diff --git a/libraries/BLE/examples/Server_multiconnect/ci.json b/libraries/BLE/examples/Server_multiconnect/ci.json index 1443137ab0d..c23553ec084 100644 --- a/libraries/BLE/examples/Server_multiconnect/ci.json +++ b/libraries/BLE/examples/Server_multiconnect/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32s2": false - } + "requires": [ + "CONFIG_SOC_BLE_SUPPORTED=y" + ] } diff --git a/libraries/BLE/examples/UART/ci.json b/libraries/BLE/examples/UART/ci.json index 1443137ab0d..c23553ec084 100644 --- a/libraries/BLE/examples/UART/ci.json +++ b/libraries/BLE/examples/UART/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32s2": false - } + "requires": [ + "CONFIG_SOC_BLE_SUPPORTED=y" + ] } diff --git a/libraries/BLE/examples/Write/ci.json b/libraries/BLE/examples/Write/ci.json index 1443137ab0d..c23553ec084 100644 --- a/libraries/BLE/examples/Write/ci.json +++ b/libraries/BLE/examples/Write/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32s2": false - } + "requires": [ + "CONFIG_SOC_BLE_SUPPORTED=y" + ] } diff --git a/libraries/BLE/examples/iBeacon/ci.json b/libraries/BLE/examples/iBeacon/ci.json index 1443137ab0d..c23553ec084 100644 --- a/libraries/BLE/examples/iBeacon/ci.json +++ b/libraries/BLE/examples/iBeacon/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32s2": false - } + "requires": [ + "CONFIG_SOC_BLE_SUPPORTED=y" + ] } diff --git a/libraries/BluetoothSerial/examples/DiscoverConnect/ci.json b/libraries/BluetoothSerial/examples/DiscoverConnect/ci.json index 1af543242e3..98fda4381b1 100644 --- a/libraries/BluetoothSerial/examples/DiscoverConnect/ci.json +++ b/libraries/BluetoothSerial/examples/DiscoverConnect/ci.json @@ -1,9 +1,5 @@ { - "targets": { - "esp32c3": false, - "esp32c6": false, - "esp32h2": false, - "esp32s2": false, - "esp32s3": false - } + "requires": [ + "CONFIG_BT_SPP_ENABLED=y" + ] } diff --git a/libraries/BluetoothSerial/examples/GetLocalMAC/ci.json b/libraries/BluetoothSerial/examples/GetLocalMAC/ci.json index 1af543242e3..98fda4381b1 100644 --- a/libraries/BluetoothSerial/examples/GetLocalMAC/ci.json +++ b/libraries/BluetoothSerial/examples/GetLocalMAC/ci.json @@ -1,9 +1,5 @@ { - "targets": { - "esp32c3": false, - "esp32c6": false, - "esp32h2": false, - "esp32s2": false, - "esp32s3": false - } + "requires": [ + "CONFIG_BT_SPP_ENABLED=y" + ] } diff --git a/libraries/BluetoothSerial/examples/SerialToSerialBT/ci.json b/libraries/BluetoothSerial/examples/SerialToSerialBT/ci.json index 1af543242e3..98fda4381b1 100644 --- a/libraries/BluetoothSerial/examples/SerialToSerialBT/ci.json +++ b/libraries/BluetoothSerial/examples/SerialToSerialBT/ci.json @@ -1,9 +1,5 @@ { - "targets": { - "esp32c3": false, - "esp32c6": false, - "esp32h2": false, - "esp32s2": false, - "esp32s3": false - } + "requires": [ + "CONFIG_BT_SPP_ENABLED=y" + ] } diff --git a/libraries/BluetoothSerial/examples/SerialToSerialBTM/ci.json b/libraries/BluetoothSerial/examples/SerialToSerialBTM/ci.json index 1af543242e3..98fda4381b1 100644 --- a/libraries/BluetoothSerial/examples/SerialToSerialBTM/ci.json +++ b/libraries/BluetoothSerial/examples/SerialToSerialBTM/ci.json @@ -1,9 +1,5 @@ { - "targets": { - "esp32c3": false, - "esp32c6": false, - "esp32h2": false, - "esp32s2": false, - "esp32s3": false - } + "requires": [ + "CONFIG_BT_SPP_ENABLED=y" + ] } diff --git a/libraries/BluetoothSerial/examples/SerialToSerialBT_Legacy/ci.json b/libraries/BluetoothSerial/examples/SerialToSerialBT_Legacy/ci.json index 1af543242e3..98fda4381b1 100644 --- a/libraries/BluetoothSerial/examples/SerialToSerialBT_Legacy/ci.json +++ b/libraries/BluetoothSerial/examples/SerialToSerialBT_Legacy/ci.json @@ -1,9 +1,5 @@ { - "targets": { - "esp32c3": false, - "esp32c6": false, - "esp32h2": false, - "esp32s2": false, - "esp32s3": false - } + "requires": [ + "CONFIG_BT_SPP_ENABLED=y" + ] } diff --git a/libraries/BluetoothSerial/examples/SerialToSerialBT_SSP/ci.json b/libraries/BluetoothSerial/examples/SerialToSerialBT_SSP/ci.json index 1af543242e3..98fda4381b1 100644 --- a/libraries/BluetoothSerial/examples/SerialToSerialBT_SSP/ci.json +++ b/libraries/BluetoothSerial/examples/SerialToSerialBT_SSP/ci.json @@ -1,9 +1,5 @@ { - "targets": { - "esp32c3": false, - "esp32c6": false, - "esp32h2": false, - "esp32s2": false, - "esp32s3": false - } + "requires": [ + "CONFIG_BT_SPP_ENABLED=y" + ] } diff --git a/libraries/BluetoothSerial/examples/bt_classic_device_discovery/ci.json b/libraries/BluetoothSerial/examples/bt_classic_device_discovery/ci.json index 1af543242e3..98fda4381b1 100644 --- a/libraries/BluetoothSerial/examples/bt_classic_device_discovery/ci.json +++ b/libraries/BluetoothSerial/examples/bt_classic_device_discovery/ci.json @@ -1,9 +1,5 @@ { - "targets": { - "esp32c3": false, - "esp32c6": false, - "esp32h2": false, - "esp32s2": false, - "esp32s3": false - } + "requires": [ + "CONFIG_BT_SPP_ENABLED=y" + ] } diff --git a/libraries/BluetoothSerial/examples/bt_remove_paired_devices/ci.json b/libraries/BluetoothSerial/examples/bt_remove_paired_devices/ci.json index 1af543242e3..98fda4381b1 100644 --- a/libraries/BluetoothSerial/examples/bt_remove_paired_devices/ci.json +++ b/libraries/BluetoothSerial/examples/bt_remove_paired_devices/ci.json @@ -1,9 +1,5 @@ { - "targets": { - "esp32c3": false, - "esp32c6": false, - "esp32h2": false, - "esp32s2": false, - "esp32s3": false - } + "requires": [ + "CONFIG_BT_SPP_ENABLED=y" + ] } diff --git a/libraries/DNSServer/examples/CaptivePortal/ci.json b/libraries/DNSServer/examples/CaptivePortal/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/DNSServer/examples/CaptivePortal/ci.json +++ b/libraries/DNSServer/examples/CaptivePortal/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/ESP32/examples/Camera/CameraWebServer/ci.json b/libraries/ESP32/examples/Camera/CameraWebServer/ci.json index 25c42144223..7e0f3c89986 100644 --- a/libraries/ESP32/examples/Camera/CameraWebServer/ci.json +++ b/libraries/ESP32/examples/Camera/CameraWebServer/ci.json @@ -1,7 +1,5 @@ { - "targets": { - "esp32c3": false, - "esp32c6": false, - "esp32h2": false - } + "requires": [ + "CONFIG_CAMERA_TASK_STACK_SIZE=[0-9]+" + ] } diff --git a/libraries/ESP32/examples/HWCDC_Events/ci.json b/libraries/ESP32/examples/HWCDC_Events/ci.json index d6c4351c868..56e38bbcdf2 100644 --- a/libraries/ESP32/examples/HWCDC_Events/ci.json +++ b/libraries/ESP32/examples/HWCDC_Events/ci.json @@ -4,8 +4,7 @@ "espressif:esp32:esp32s3:USBMode=hwcdc,PartitionScheme=huge_app,FlashMode=dio" ] }, - "targets": { - "esp32": false, - "esp32s2": false - } + "requires": [ + "CONFIG_SOC_USB_SERIAL_JTAG_SUPPORTED=y" + ] } diff --git a/libraries/ESP32/examples/Time/SimpleTime/ci.json b/libraries/ESP32/examples/Time/SimpleTime/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/ESP32/examples/Time/SimpleTime/ci.json +++ b/libraries/ESP32/examples/Time/SimpleTime/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/ESP32/examples/Touch/TouchButton/ci.json b/libraries/ESP32/examples/Touch/TouchButton/ci.json index 1af543242e3..cec76a84f9d 100644 --- a/libraries/ESP32/examples/Touch/TouchButton/ci.json +++ b/libraries/ESP32/examples/Touch/TouchButton/ci.json @@ -1,9 +1,5 @@ { - "targets": { - "esp32c3": false, - "esp32c6": false, - "esp32h2": false, - "esp32s2": false, - "esp32s3": false - } + "requires": [ + "CONFIG_SOC_TOUCH_VERSION_1=y" + ] } diff --git a/libraries/ESP32/examples/Touch/TouchButtonV2/ci.json b/libraries/ESP32/examples/Touch/TouchButtonV2/ci.json index e7d65393dd6..2710fa7940e 100644 --- a/libraries/ESP32/examples/Touch/TouchButtonV2/ci.json +++ b/libraries/ESP32/examples/Touch/TouchButtonV2/ci.json @@ -1,8 +1,5 @@ { - "targets": { - "esp32": false, - "esp32c3": false, - "esp32c6": false, - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_TOUCH_VERSION_2=y" + ] } diff --git a/libraries/ESP32/examples/Touch/TouchInterrupt/ci.json b/libraries/ESP32/examples/Touch/TouchInterrupt/ci.json index 25c42144223..c0ecf9fc0a5 100644 --- a/libraries/ESP32/examples/Touch/TouchInterrupt/ci.json +++ b/libraries/ESP32/examples/Touch/TouchInterrupt/ci.json @@ -1,7 +1,5 @@ { - "targets": { - "esp32c3": false, - "esp32c6": false, - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_TOUCH_SENSOR_SUPPORTED=y" + ] } diff --git a/libraries/ESP32/examples/Touch/TouchRead/ci.json b/libraries/ESP32/examples/Touch/TouchRead/ci.json index 25c42144223..c0ecf9fc0a5 100644 --- a/libraries/ESP32/examples/Touch/TouchRead/ci.json +++ b/libraries/ESP32/examples/Touch/TouchRead/ci.json @@ -1,7 +1,5 @@ { - "targets": { - "esp32c3": false, - "esp32c6": false, - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_TOUCH_SENSOR_SUPPORTED=y" + ] } diff --git a/libraries/ESP_I2S/examples/ES8388_loopback/ci.json b/libraries/ESP_I2S/examples/ES8388_loopback/ci.json new file mode 100644 index 00000000000..e0f64e28943 --- /dev/null +++ b/libraries/ESP_I2S/examples/ES8388_loopback/ci.json @@ -0,0 +1,6 @@ +{ + "requires": [ + "CONFIG_SOC_I2S_SUPPORTED=y", + "CONFIG_SOC_I2C_SUPPORTED=y" + ] +} diff --git a/libraries/ESP_I2S/examples/Record_to_WAV/ci.json b/libraries/ESP_I2S/examples/Record_to_WAV/ci.json index 35b6e255471..a45dc2f0120 100644 --- a/libraries/ESP_I2S/examples/Record_to_WAV/ci.json +++ b/libraries/ESP_I2S/examples/Record_to_WAV/ci.json @@ -1,8 +1,6 @@ { - "targets": { - "esp32c3": false, - "esp32c6": false, - "esp32h2": false, - "esp32s2": false - } + "requires": [ + "CONFIG_SOC_SDMMC_HOST_SUPPORTED=y", + "CONFIG_SOC_I2S_SUPPORTED=y" + ] } diff --git a/libraries/ESP_I2S/examples/Simple_tone/ci.json b/libraries/ESP_I2S/examples/Simple_tone/ci.json new file mode 100644 index 00000000000..9842f2f9b2a --- /dev/null +++ b/libraries/ESP_I2S/examples/Simple_tone/ci.json @@ -0,0 +1,5 @@ +{ + "requires": [ + "CONFIG_SOC_I2S_SUPPORTED=y" + ] +} diff --git a/libraries/ESP_NOW/examples/ESP_NOW_Broadcast_Master/ci.json b/libraries/ESP_NOW/examples/ESP_NOW_Broadcast_Master/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/ESP_NOW/examples/ESP_NOW_Broadcast_Master/ci.json +++ b/libraries/ESP_NOW/examples/ESP_NOW_Broadcast_Master/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/ESP_NOW/examples/ESP_NOW_Broadcast_Slave/ci.json b/libraries/ESP_NOW/examples/ESP_NOW_Broadcast_Slave/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/ESP_NOW/examples/ESP_NOW_Broadcast_Slave/ci.json +++ b/libraries/ESP_NOW/examples/ESP_NOW_Broadcast_Slave/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/ESP_NOW/examples/ESP_NOW_Network/ci.json b/libraries/ESP_NOW/examples/ESP_NOW_Network/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/ESP_NOW/examples/ESP_NOW_Network/ci.json +++ b/libraries/ESP_NOW/examples/ESP_NOW_Network/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/ESP_NOW/examples/ESP_NOW_Serial/ci.json b/libraries/ESP_NOW/examples/ESP_NOW_Serial/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/ESP_NOW/examples/ESP_NOW_Serial/ci.json +++ b/libraries/ESP_NOW/examples/ESP_NOW_Serial/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/ESP_SR/examples/Basic/ci.json b/libraries/ESP_SR/examples/Basic/ci.json index dca52699ab3..c9b0955f8f2 100644 --- a/libraries/ESP_SR/examples/Basic/ci.json +++ b/libraries/ESP_SR/examples/Basic/ci.json @@ -4,6 +4,9 @@ "espressif:esp32:esp32s3:USBMode=default,PartitionScheme=esp_sr_16,FlashSize=16M,FlashMode=dio" ] }, + "requires": [ + "CONFIG_SOC_I2S_SUPPORTED=y" + ], "targets": { "esp32": false, "esp32c3": false, diff --git a/libraries/ESPmDNS/examples/mDNS-SD_Extended/ci.json b/libraries/ESPmDNS/examples/mDNS-SD_Extended/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/ESPmDNS/examples/mDNS-SD_Extended/ci.json +++ b/libraries/ESPmDNS/examples/mDNS-SD_Extended/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/ESPmDNS/examples/mDNS_Web_Server/ci.json b/libraries/ESPmDNS/examples/mDNS_Web_Server/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/ESPmDNS/examples/mDNS_Web_Server/ci.json +++ b/libraries/ESPmDNS/examples/mDNS_Web_Server/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/Ethernet/examples/ETH_LAN8720/ci.json b/libraries/Ethernet/examples/ETH_LAN8720/ci.json index 1af543242e3..dcdfd06db51 100644 --- a/libraries/Ethernet/examples/ETH_LAN8720/ci.json +++ b/libraries/Ethernet/examples/ETH_LAN8720/ci.json @@ -1,9 +1,5 @@ { - "targets": { - "esp32c3": false, - "esp32c6": false, - "esp32h2": false, - "esp32s2": false, - "esp32s3": false - } + "requires": [ + "CONFIG_ETH_USE_ESP32_EMAC=y" + ] } diff --git a/libraries/Ethernet/examples/ETH_TLK110/ci.json b/libraries/Ethernet/examples/ETH_TLK110/ci.json index 1af543242e3..dcdfd06db51 100644 --- a/libraries/Ethernet/examples/ETH_TLK110/ci.json +++ b/libraries/Ethernet/examples/ETH_TLK110/ci.json @@ -1,9 +1,5 @@ { - "targets": { - "esp32c3": false, - "esp32c6": false, - "esp32h2": false, - "esp32s2": false, - "esp32s3": false - } + "requires": [ + "CONFIG_ETH_USE_ESP32_EMAC=y" + ] } diff --git a/libraries/Ethernet/examples/ETH_WIFI_BRIDGE/ci.json b/libraries/Ethernet/examples/ETH_WIFI_BRIDGE/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/Ethernet/examples/ETH_WIFI_BRIDGE/ci.json +++ b/libraries/Ethernet/examples/ETH_WIFI_BRIDGE/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/FFat/examples/FFat_time/ci.json b/libraries/FFat/examples/FFat_time/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/FFat/examples/FFat_time/ci.json +++ b/libraries/FFat/examples/FFat_time/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/HTTPClient/examples/Authorization/ci.json b/libraries/HTTPClient/examples/Authorization/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/HTTPClient/examples/Authorization/ci.json +++ b/libraries/HTTPClient/examples/Authorization/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/HTTPClient/examples/BasicHttpClient/ci.json b/libraries/HTTPClient/examples/BasicHttpClient/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/HTTPClient/examples/BasicHttpClient/ci.json +++ b/libraries/HTTPClient/examples/BasicHttpClient/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/HTTPClient/examples/BasicHttpsClient/ci.json b/libraries/HTTPClient/examples/BasicHttpsClient/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/HTTPClient/examples/BasicHttpsClient/ci.json +++ b/libraries/HTTPClient/examples/BasicHttpsClient/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/HTTPClient/examples/HTTPClientEnterprise/ci.json b/libraries/HTTPClient/examples/HTTPClientEnterprise/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/HTTPClient/examples/HTTPClientEnterprise/ci.json +++ b/libraries/HTTPClient/examples/HTTPClientEnterprise/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/HTTPClient/examples/ReuseConnection/ci.json b/libraries/HTTPClient/examples/ReuseConnection/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/HTTPClient/examples/ReuseConnection/ci.json +++ b/libraries/HTTPClient/examples/ReuseConnection/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/HTTPClient/examples/StreamHttpClient/ci.json b/libraries/HTTPClient/examples/StreamHttpClient/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/HTTPClient/examples/StreamHttpClient/ci.json +++ b/libraries/HTTPClient/examples/StreamHttpClient/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/HTTPUpdate/examples/httpUpdate/ci.json b/libraries/HTTPUpdate/examples/httpUpdate/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/HTTPUpdate/examples/httpUpdate/ci.json +++ b/libraries/HTTPUpdate/examples/httpUpdate/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/HTTPUpdate/examples/httpUpdateSPIFFS/ci.json b/libraries/HTTPUpdate/examples/httpUpdateSPIFFS/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/HTTPUpdate/examples/httpUpdateSPIFFS/ci.json +++ b/libraries/HTTPUpdate/examples/httpUpdateSPIFFS/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/HTTPUpdate/examples/httpUpdateSecure/ci.json b/libraries/HTTPUpdate/examples/httpUpdateSecure/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/HTTPUpdate/examples/httpUpdateSecure/ci.json +++ b/libraries/HTTPUpdate/examples/httpUpdateSecure/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/HTTPUpdateServer/examples/WebUpdater/ci.json b/libraries/HTTPUpdateServer/examples/WebUpdater/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/HTTPUpdateServer/examples/WebUpdater/ci.json +++ b/libraries/HTTPUpdateServer/examples/WebUpdater/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/Insights/examples/DiagnosticsSmokeTest/ci.json b/libraries/Insights/examples/DiagnosticsSmokeTest/ci.json index 90f5ecfe4d2..fd3a9295b01 100644 --- a/libraries/Insights/examples/DiagnosticsSmokeTest/ci.json +++ b/libraries/Insights/examples/DiagnosticsSmokeTest/ci.json @@ -1,6 +1,6 @@ { - "targets": { - "esp32c6": false, - "esp32h2": false - } + "requires": [ + "CONFIG_ESP_INSIGHTS_ENABLED=y", + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/Insights/examples/MinimalDiagnostics/ci.json b/libraries/Insights/examples/MinimalDiagnostics/ci.json index 90f5ecfe4d2..fd3a9295b01 100644 --- a/libraries/Insights/examples/MinimalDiagnostics/ci.json +++ b/libraries/Insights/examples/MinimalDiagnostics/ci.json @@ -1,6 +1,6 @@ { - "targets": { - "esp32c6": false, - "esp32h2": false - } + "requires": [ + "CONFIG_ESP_INSIGHTS_ENABLED=y", + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/LittleFS/examples/LITTLEFS_time/ci.json b/libraries/LittleFS/examples/LITTLEFS_time/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/LittleFS/examples/LITTLEFS_time/ci.json +++ b/libraries/LittleFS/examples/LITTLEFS_time/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/NetBIOS/examples/ESP_NBNST/ci.json b/libraries/NetBIOS/examples/ESP_NBNST/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/NetBIOS/examples/ESP_NBNST/ci.json +++ b/libraries/NetBIOS/examples/ESP_NBNST/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/NetworkClientSecure/examples/WiFiClientInsecure/ci.json b/libraries/NetworkClientSecure/examples/WiFiClientInsecure/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/NetworkClientSecure/examples/WiFiClientInsecure/ci.json +++ b/libraries/NetworkClientSecure/examples/WiFiClientInsecure/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/NetworkClientSecure/examples/WiFiClientPSK/ci.json b/libraries/NetworkClientSecure/examples/WiFiClientPSK/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/NetworkClientSecure/examples/WiFiClientPSK/ci.json +++ b/libraries/NetworkClientSecure/examples/WiFiClientPSK/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/NetworkClientSecure/examples/WiFiClientSecure/ci.json b/libraries/NetworkClientSecure/examples/WiFiClientSecure/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/NetworkClientSecure/examples/WiFiClientSecure/ci.json +++ b/libraries/NetworkClientSecure/examples/WiFiClientSecure/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/NetworkClientSecure/examples/WiFiClientSecureEnterprise/ci.json b/libraries/NetworkClientSecure/examples/WiFiClientSecureEnterprise/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/NetworkClientSecure/examples/WiFiClientSecureEnterprise/ci.json +++ b/libraries/NetworkClientSecure/examples/WiFiClientSecureEnterprise/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/NetworkClientSecure/examples/WiFiClientSecureProtocolUpgrade/ci.json b/libraries/NetworkClientSecure/examples/WiFiClientSecureProtocolUpgrade/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/NetworkClientSecure/examples/WiFiClientSecureProtocolUpgrade/ci.json +++ b/libraries/NetworkClientSecure/examples/WiFiClientSecureProtocolUpgrade/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/NetworkClientSecure/examples/WiFiClientShowPeerCredentials/ci.json b/libraries/NetworkClientSecure/examples/WiFiClientShowPeerCredentials/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/NetworkClientSecure/examples/WiFiClientShowPeerCredentials/ci.json +++ b/libraries/NetworkClientSecure/examples/WiFiClientShowPeerCredentials/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/NetworkClientSecure/examples/WiFiClientTrustOnFirstUse/ci.json b/libraries/NetworkClientSecure/examples/WiFiClientTrustOnFirstUse/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/NetworkClientSecure/examples/WiFiClientTrustOnFirstUse/ci.json +++ b/libraries/NetworkClientSecure/examples/WiFiClientTrustOnFirstUse/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/OpenThread/examples/COAP/coap_lamp/ci.json b/libraries/OpenThread/examples/COAP/coap_lamp/ci.json index c60d9179992..2ee6af3490e 100644 --- a/libraries/OpenThread/examples/COAP/coap_lamp/ci.json +++ b/libraries/OpenThread/examples/COAP/coap_lamp/ci.json @@ -1,9 +1,6 @@ { - "targets": { - "esp32": false, - "esp32c2": false, - "esp32c3": false, - "esp32s2": false, - "esp32s3": false - } + "requires": [ + "CONFIG_OPENTHREAD_ENABLED=y", + "CONFIG_SOC_IEEE802154_SUPPORTED=y" + ] } diff --git a/libraries/OpenThread/examples/COAP/coap_switch/ci.json b/libraries/OpenThread/examples/COAP/coap_switch/ci.json index c60d9179992..2ee6af3490e 100644 --- a/libraries/OpenThread/examples/COAP/coap_switch/ci.json +++ b/libraries/OpenThread/examples/COAP/coap_switch/ci.json @@ -1,9 +1,6 @@ { - "targets": { - "esp32": false, - "esp32c2": false, - "esp32c3": false, - "esp32s2": false, - "esp32s3": false - } + "requires": [ + "CONFIG_OPENTHREAD_ENABLED=y", + "CONFIG_SOC_IEEE802154_SUPPORTED=y" + ] } diff --git a/libraries/OpenThread/examples/SimpleCLI/ci.json b/libraries/OpenThread/examples/SimpleCLI/ci.json index c60d9179992..2ee6af3490e 100644 --- a/libraries/OpenThread/examples/SimpleCLI/ci.json +++ b/libraries/OpenThread/examples/SimpleCLI/ci.json @@ -1,9 +1,6 @@ { - "targets": { - "esp32": false, - "esp32c2": false, - "esp32c3": false, - "esp32s2": false, - "esp32s3": false - } + "requires": [ + "CONFIG_OPENTHREAD_ENABLED=y", + "CONFIG_SOC_IEEE802154_SUPPORTED=y" + ] } diff --git a/libraries/OpenThread/examples/SimpleNode/ci.json b/libraries/OpenThread/examples/SimpleNode/ci.json index c60d9179992..2ee6af3490e 100644 --- a/libraries/OpenThread/examples/SimpleNode/ci.json +++ b/libraries/OpenThread/examples/SimpleNode/ci.json @@ -1,9 +1,6 @@ { - "targets": { - "esp32": false, - "esp32c2": false, - "esp32c3": false, - "esp32s2": false, - "esp32s3": false - } + "requires": [ + "CONFIG_OPENTHREAD_ENABLED=y", + "CONFIG_SOC_IEEE802154_SUPPORTED=y" + ] } diff --git a/libraries/OpenThread/examples/SimpleThreadNetwork/ExtendedRouterNode/ci.json b/libraries/OpenThread/examples/SimpleThreadNetwork/ExtendedRouterNode/ci.json index c60d9179992..2ee6af3490e 100644 --- a/libraries/OpenThread/examples/SimpleThreadNetwork/ExtendedRouterNode/ci.json +++ b/libraries/OpenThread/examples/SimpleThreadNetwork/ExtendedRouterNode/ci.json @@ -1,9 +1,6 @@ { - "targets": { - "esp32": false, - "esp32c2": false, - "esp32c3": false, - "esp32s2": false, - "esp32s3": false - } + "requires": [ + "CONFIG_OPENTHREAD_ENABLED=y", + "CONFIG_SOC_IEEE802154_SUPPORTED=y" + ] } diff --git a/libraries/OpenThread/examples/SimpleThreadNetwork/LeaderNode/ci.json b/libraries/OpenThread/examples/SimpleThreadNetwork/LeaderNode/ci.json index c60d9179992..2ee6af3490e 100644 --- a/libraries/OpenThread/examples/SimpleThreadNetwork/LeaderNode/ci.json +++ b/libraries/OpenThread/examples/SimpleThreadNetwork/LeaderNode/ci.json @@ -1,9 +1,6 @@ { - "targets": { - "esp32": false, - "esp32c2": false, - "esp32c3": false, - "esp32s2": false, - "esp32s3": false - } + "requires": [ + "CONFIG_OPENTHREAD_ENABLED=y", + "CONFIG_SOC_IEEE802154_SUPPORTED=y" + ] } diff --git a/libraries/OpenThread/examples/SimpleThreadNetwork/RouterNode/ci.json b/libraries/OpenThread/examples/SimpleThreadNetwork/RouterNode/ci.json index c60d9179992..2ee6af3490e 100644 --- a/libraries/OpenThread/examples/SimpleThreadNetwork/RouterNode/ci.json +++ b/libraries/OpenThread/examples/SimpleThreadNetwork/RouterNode/ci.json @@ -1,9 +1,6 @@ { - "targets": { - "esp32": false, - "esp32c2": false, - "esp32c3": false, - "esp32s2": false, - "esp32s3": false - } + "requires": [ + "CONFIG_OPENTHREAD_ENABLED=y", + "CONFIG_SOC_IEEE802154_SUPPORTED=y" + ] } diff --git a/libraries/OpenThread/examples/ThreadScan/ci.json b/libraries/OpenThread/examples/ThreadScan/ci.json index c60d9179992..2ee6af3490e 100644 --- a/libraries/OpenThread/examples/ThreadScan/ci.json +++ b/libraries/OpenThread/examples/ThreadScan/ci.json @@ -1,9 +1,6 @@ { - "targets": { - "esp32": false, - "esp32c2": false, - "esp32c3": false, - "esp32s2": false, - "esp32s3": false - } + "requires": [ + "CONFIG_OPENTHREAD_ENABLED=y", + "CONFIG_SOC_IEEE802154_SUPPORTED=y" + ] } diff --git a/libraries/OpenThread/examples/onReceive/ci.json b/libraries/OpenThread/examples/onReceive/ci.json index c60d9179992..2ee6af3490e 100644 --- a/libraries/OpenThread/examples/onReceive/ci.json +++ b/libraries/OpenThread/examples/onReceive/ci.json @@ -1,9 +1,6 @@ { - "targets": { - "esp32": false, - "esp32c2": false, - "esp32c3": false, - "esp32s2": false, - "esp32s3": false - } + "requires": [ + "CONFIG_OPENTHREAD_ENABLED=y", + "CONFIG_SOC_IEEE802154_SUPPORTED=y" + ] } diff --git a/libraries/PPP/examples/PPP_Basic/ci.json b/libraries/PPP/examples/PPP_Basic/ci.json new file mode 100644 index 00000000000..314587edcf6 --- /dev/null +++ b/libraries/PPP/examples/PPP_Basic/ci.json @@ -0,0 +1,5 @@ +{ + "requires": [ + "CONFIG_LWIP_PPP_SUPPORT=y" + ] +} diff --git a/libraries/PPP/examples/PPP_WIFI_BRIDGE/ci.json b/libraries/PPP/examples/PPP_WIFI_BRIDGE/ci.json index d8b3664bc65..513ab9a296a 100644 --- a/libraries/PPP/examples/PPP_WIFI_BRIDGE/ci.json +++ b/libraries/PPP/examples/PPP_WIFI_BRIDGE/ci.json @@ -1,5 +1,6 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_LWIP_PPP_SUPPORT=y", + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/RainMaker/examples/RMakerCustom/ci.json b/libraries/RainMaker/examples/RMakerCustom/ci.json index d8b3664bc65..de4e92436d7 100644 --- a/libraries/RainMaker/examples/RMakerCustom/ci.json +++ b/libraries/RainMaker/examples/RMakerCustom/ci.json @@ -1,5 +1,6 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y", + "CONFIG_ESP_RMAKER_WORK_QUEUE_TASK_STACK" + ] } diff --git a/libraries/RainMaker/examples/RMakerCustomAirCooler/ci.json b/libraries/RainMaker/examples/RMakerCustomAirCooler/ci.json index d8b3664bc65..de4e92436d7 100644 --- a/libraries/RainMaker/examples/RMakerCustomAirCooler/ci.json +++ b/libraries/RainMaker/examples/RMakerCustomAirCooler/ci.json @@ -1,5 +1,6 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y", + "CONFIG_ESP_RMAKER_WORK_QUEUE_TASK_STACK" + ] } diff --git a/libraries/RainMaker/examples/RMakerSonoffDualR3/ci.json b/libraries/RainMaker/examples/RMakerSonoffDualR3/ci.json index d8b3664bc65..de4e92436d7 100644 --- a/libraries/RainMaker/examples/RMakerSonoffDualR3/ci.json +++ b/libraries/RainMaker/examples/RMakerSonoffDualR3/ci.json @@ -1,5 +1,6 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y", + "CONFIG_ESP_RMAKER_WORK_QUEUE_TASK_STACK" + ] } diff --git a/libraries/RainMaker/examples/RMakerSwitch/ci.json b/libraries/RainMaker/examples/RMakerSwitch/ci.json index d8b3664bc65..de4e92436d7 100644 --- a/libraries/RainMaker/examples/RMakerSwitch/ci.json +++ b/libraries/RainMaker/examples/RMakerSwitch/ci.json @@ -1,5 +1,6 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y", + "CONFIG_ESP_RMAKER_WORK_QUEUE_TASK_STACK" + ] } diff --git a/libraries/SD/examples/SD_time/ci.json b/libraries/SD/examples/SD_time/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/SD/examples/SD_time/ci.json +++ b/libraries/SD/examples/SD_time/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/SD_MMC/examples/SD2USBMSC/ci.json b/libraries/SD_MMC/examples/SD2USBMSC/ci.json index 97ae5ee5616..125eed2e476 100644 --- a/libraries/SD_MMC/examples/SD2USBMSC/ci.json +++ b/libraries/SD_MMC/examples/SD2USBMSC/ci.json @@ -1,9 +1,6 @@ { - "targets": { - "esp32": false, - "esp32c3": false, - "esp32c6": false, - "esp32h2": false, - "esp32s2": false - } + "requires": [ + "CONFIG_SOC_SDMMC_HOST_SUPPORTED=y", + "CONFIG_TINYUSB_MSC_ENABLED=y" + ] } diff --git a/libraries/SD_MMC/examples/SDMMC_Test/ci.json b/libraries/SD_MMC/examples/SDMMC_Test/ci.json index 35b6e255471..a5221dae538 100644 --- a/libraries/SD_MMC/examples/SDMMC_Test/ci.json +++ b/libraries/SD_MMC/examples/SDMMC_Test/ci.json @@ -1,8 +1,5 @@ { - "targets": { - "esp32c3": false, - "esp32c6": false, - "esp32h2": false, - "esp32s2": false - } + "requires": [ + "CONFIG_SOC_SDMMC_HOST_SUPPORTED=y" + ] } diff --git a/libraries/SD_MMC/examples/SDMMC_time/ci.json b/libraries/SD_MMC/examples/SDMMC_time/ci.json index 35b6e255471..bd4aac1d647 100644 --- a/libraries/SD_MMC/examples/SDMMC_time/ci.json +++ b/libraries/SD_MMC/examples/SDMMC_time/ci.json @@ -1,8 +1,6 @@ { - "targets": { - "esp32c3": false, - "esp32c6": false, - "esp32h2": false, - "esp32s2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y", + "CONFIG_SOC_SDMMC_HOST_SUPPORTED=y" + ] } diff --git a/libraries/SPI/examples/SPI_Multiple_Buses/SPI_Multiple_Buses.ino b/libraries/SPI/examples/SPI_Multiple_Buses/SPI_Multiple_Buses.ino index c73f6078c03..06765c64fd2 100644 --- a/libraries/SPI/examples/SPI_Multiple_Buses/SPI_Multiple_Buses.ino +++ b/libraries/SPI/examples/SPI_Multiple_Buses/SPI_Multiple_Buses.ino @@ -39,7 +39,7 @@ #define HSPI_SS 15 #endif -#if CONFIG_IDF_TARGET_ESP32S2 || CONFIG_IDF_TARGET_ESP32S3 +#if !defined(CONFIG_IDF_TARGET_ESP32) #define VSPI FSPI #endif diff --git a/libraries/SPI/examples/SPI_Multiple_Buses/ci.json b/libraries/SPI/examples/SPI_Multiple_Buses/ci.json index 25c42144223..cd27a02724b 100644 --- a/libraries/SPI/examples/SPI_Multiple_Buses/ci.json +++ b/libraries/SPI/examples/SPI_Multiple_Buses/ci.json @@ -1,7 +1,5 @@ { - "targets": { - "esp32c3": false, - "esp32c6": false, - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_SPI_PERIPH_NUM=[2-9]" + ] } diff --git a/libraries/SPIFFS/examples/SPIFFS_time/ci.json b/libraries/SPIFFS/examples/SPIFFS_time/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/SPIFFS/examples/SPIFFS_time/ci.json +++ b/libraries/SPIFFS/examples/SPIFFS_time/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/SimpleBLE/examples/SimpleBleDevice/ci.json b/libraries/SimpleBLE/examples/SimpleBleDevice/ci.json index a571a89a877..d33a23f332e 100644 --- a/libraries/SimpleBLE/examples/SimpleBleDevice/ci.json +++ b/libraries/SimpleBLE/examples/SimpleBleDevice/ci.json @@ -1,6 +1,6 @@ { - "targets": { - "esp32c3": false, - "esp32s2": false - } + "requires": [ + "CONFIG_BT_ENABLED=y", + "CONFIG_BLUEDROID_ENABLED=y" + ] } diff --git a/libraries/USB/examples/CompositeDevice/ci.json b/libraries/USB/examples/CompositeDevice/ci.json index e7d65393dd6..f9ac7d0bec9 100644 --- a/libraries/USB/examples/CompositeDevice/ci.json +++ b/libraries/USB/examples/CompositeDevice/ci.json @@ -1,8 +1,5 @@ { - "targets": { - "esp32": false, - "esp32c3": false, - "esp32c6": false, - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_USB_OTG_SUPPORTED=y" + ] } diff --git a/libraries/USB/examples/ConsumerControl/ci.json b/libraries/USB/examples/ConsumerControl/ci.json index e7d65393dd6..f9ac7d0bec9 100644 --- a/libraries/USB/examples/ConsumerControl/ci.json +++ b/libraries/USB/examples/ConsumerControl/ci.json @@ -1,8 +1,5 @@ { - "targets": { - "esp32": false, - "esp32c3": false, - "esp32c6": false, - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_USB_OTG_SUPPORTED=y" + ] } diff --git a/libraries/USB/examples/CustomHIDDevice/ci.json b/libraries/USB/examples/CustomHIDDevice/ci.json index e7d65393dd6..f9ac7d0bec9 100644 --- a/libraries/USB/examples/CustomHIDDevice/ci.json +++ b/libraries/USB/examples/CustomHIDDevice/ci.json @@ -1,8 +1,5 @@ { - "targets": { - "esp32": false, - "esp32c3": false, - "esp32c6": false, - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_USB_OTG_SUPPORTED=y" + ] } diff --git a/libraries/USB/examples/FirmwareMSC/ci.json b/libraries/USB/examples/FirmwareMSC/ci.json index e7d65393dd6..f9ac7d0bec9 100644 --- a/libraries/USB/examples/FirmwareMSC/ci.json +++ b/libraries/USB/examples/FirmwareMSC/ci.json @@ -1,8 +1,5 @@ { - "targets": { - "esp32": false, - "esp32c3": false, - "esp32c6": false, - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_USB_OTG_SUPPORTED=y" + ] } diff --git a/libraries/USB/examples/Gamepad/ci.json b/libraries/USB/examples/Gamepad/ci.json index e7d65393dd6..f9ac7d0bec9 100644 --- a/libraries/USB/examples/Gamepad/ci.json +++ b/libraries/USB/examples/Gamepad/ci.json @@ -1,8 +1,5 @@ { - "targets": { - "esp32": false, - "esp32c3": false, - "esp32c6": false, - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_USB_OTG_SUPPORTED=y" + ] } diff --git a/libraries/USB/examples/HIDVendor/ci.json b/libraries/USB/examples/HIDVendor/ci.json index e7d65393dd6..f9ac7d0bec9 100644 --- a/libraries/USB/examples/HIDVendor/ci.json +++ b/libraries/USB/examples/HIDVendor/ci.json @@ -1,8 +1,5 @@ { - "targets": { - "esp32": false, - "esp32c3": false, - "esp32c6": false, - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_USB_OTG_SUPPORTED=y" + ] } diff --git a/libraries/USB/examples/Keyboard/KeyboardLogout/ci.json b/libraries/USB/examples/Keyboard/KeyboardLogout/ci.json index e7d65393dd6..f9ac7d0bec9 100644 --- a/libraries/USB/examples/Keyboard/KeyboardLogout/ci.json +++ b/libraries/USB/examples/Keyboard/KeyboardLogout/ci.json @@ -1,8 +1,5 @@ { - "targets": { - "esp32": false, - "esp32c3": false, - "esp32c6": false, - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_USB_OTG_SUPPORTED=y" + ] } diff --git a/libraries/USB/examples/Keyboard/KeyboardMessage/ci.json b/libraries/USB/examples/Keyboard/KeyboardMessage/ci.json index e7d65393dd6..f9ac7d0bec9 100644 --- a/libraries/USB/examples/Keyboard/KeyboardMessage/ci.json +++ b/libraries/USB/examples/Keyboard/KeyboardMessage/ci.json @@ -1,8 +1,5 @@ { - "targets": { - "esp32": false, - "esp32c3": false, - "esp32c6": false, - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_USB_OTG_SUPPORTED=y" + ] } diff --git a/libraries/USB/examples/Keyboard/KeyboardReprogram/ci.json b/libraries/USB/examples/Keyboard/KeyboardReprogram/ci.json index e7d65393dd6..f9ac7d0bec9 100644 --- a/libraries/USB/examples/Keyboard/KeyboardReprogram/ci.json +++ b/libraries/USB/examples/Keyboard/KeyboardReprogram/ci.json @@ -1,8 +1,5 @@ { - "targets": { - "esp32": false, - "esp32c3": false, - "esp32c6": false, - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_USB_OTG_SUPPORTED=y" + ] } diff --git a/libraries/USB/examples/Keyboard/KeyboardSerial/ci.json b/libraries/USB/examples/Keyboard/KeyboardSerial/ci.json index e7d65393dd6..f9ac7d0bec9 100644 --- a/libraries/USB/examples/Keyboard/KeyboardSerial/ci.json +++ b/libraries/USB/examples/Keyboard/KeyboardSerial/ci.json @@ -1,8 +1,5 @@ { - "targets": { - "esp32": false, - "esp32c3": false, - "esp32c6": false, - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_USB_OTG_SUPPORTED=y" + ] } diff --git a/libraries/USB/examples/KeyboardAndMouseControl/ci.json b/libraries/USB/examples/KeyboardAndMouseControl/ci.json index e7d65393dd6..f9ac7d0bec9 100644 --- a/libraries/USB/examples/KeyboardAndMouseControl/ci.json +++ b/libraries/USB/examples/KeyboardAndMouseControl/ci.json @@ -1,8 +1,5 @@ { - "targets": { - "esp32": false, - "esp32c3": false, - "esp32c6": false, - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_USB_OTG_SUPPORTED=y" + ] } diff --git a/libraries/USB/examples/MIDI/MidiController/ci.json b/libraries/USB/examples/MIDI/MidiController/ci.json index e7d65393dd6..f9ac7d0bec9 100644 --- a/libraries/USB/examples/MIDI/MidiController/ci.json +++ b/libraries/USB/examples/MIDI/MidiController/ci.json @@ -1,8 +1,5 @@ { - "targets": { - "esp32": false, - "esp32c3": false, - "esp32c6": false, - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_USB_OTG_SUPPORTED=y" + ] } diff --git a/libraries/USB/examples/MIDI/MidiInterface/ci.json b/libraries/USB/examples/MIDI/MidiInterface/ci.json index e7d65393dd6..f9ac7d0bec9 100644 --- a/libraries/USB/examples/MIDI/MidiInterface/ci.json +++ b/libraries/USB/examples/MIDI/MidiInterface/ci.json @@ -1,8 +1,5 @@ { - "targets": { - "esp32": false, - "esp32c3": false, - "esp32c6": false, - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_USB_OTG_SUPPORTED=y" + ] } diff --git a/libraries/USB/examples/MIDI/MidiMusicBox/ci.json b/libraries/USB/examples/MIDI/MidiMusicBox/ci.json index e7d65393dd6..f9ac7d0bec9 100644 --- a/libraries/USB/examples/MIDI/MidiMusicBox/ci.json +++ b/libraries/USB/examples/MIDI/MidiMusicBox/ci.json @@ -1,8 +1,5 @@ { - "targets": { - "esp32": false, - "esp32c3": false, - "esp32c6": false, - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_USB_OTG_SUPPORTED=y" + ] } diff --git a/libraries/USB/examples/MIDI/ReceiveMidi/ci.json b/libraries/USB/examples/MIDI/ReceiveMidi/ci.json index e7d65393dd6..f9ac7d0bec9 100644 --- a/libraries/USB/examples/MIDI/ReceiveMidi/ci.json +++ b/libraries/USB/examples/MIDI/ReceiveMidi/ci.json @@ -1,8 +1,5 @@ { - "targets": { - "esp32": false, - "esp32c3": false, - "esp32c6": false, - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_USB_OTG_SUPPORTED=y" + ] } diff --git a/libraries/USB/examples/Mouse/ButtonMouseControl/ci.json b/libraries/USB/examples/Mouse/ButtonMouseControl/ci.json index e7d65393dd6..f9ac7d0bec9 100644 --- a/libraries/USB/examples/Mouse/ButtonMouseControl/ci.json +++ b/libraries/USB/examples/Mouse/ButtonMouseControl/ci.json @@ -1,8 +1,5 @@ { - "targets": { - "esp32": false, - "esp32c3": false, - "esp32c6": false, - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_USB_OTG_SUPPORTED=y" + ] } diff --git a/libraries/USB/examples/SystemControl/ci.json b/libraries/USB/examples/SystemControl/ci.json index e7d65393dd6..f9ac7d0bec9 100644 --- a/libraries/USB/examples/SystemControl/ci.json +++ b/libraries/USB/examples/SystemControl/ci.json @@ -1,8 +1,5 @@ { - "targets": { - "esp32": false, - "esp32c3": false, - "esp32c6": false, - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_USB_OTG_SUPPORTED=y" + ] } diff --git a/libraries/USB/examples/USBMSC/ci.json b/libraries/USB/examples/USBMSC/ci.json index e7d65393dd6..f9ac7d0bec9 100644 --- a/libraries/USB/examples/USBMSC/ci.json +++ b/libraries/USB/examples/USBMSC/ci.json @@ -1,8 +1,5 @@ { - "targets": { - "esp32": false, - "esp32c3": false, - "esp32c6": false, - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_USB_OTG_SUPPORTED=y" + ] } diff --git a/libraries/USB/examples/USBSerial/ci.json b/libraries/USB/examples/USBSerial/ci.json index e7d65393dd6..f9ac7d0bec9 100644 --- a/libraries/USB/examples/USBSerial/ci.json +++ b/libraries/USB/examples/USBSerial/ci.json @@ -1,8 +1,5 @@ { - "targets": { - "esp32": false, - "esp32c3": false, - "esp32c6": false, - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_USB_OTG_SUPPORTED=y" + ] } diff --git a/libraries/USB/examples/USBVendor/ci.json b/libraries/USB/examples/USBVendor/ci.json index e7d65393dd6..f9ac7d0bec9 100644 --- a/libraries/USB/examples/USBVendor/ci.json +++ b/libraries/USB/examples/USBVendor/ci.json @@ -1,8 +1,5 @@ { - "targets": { - "esp32": false, - "esp32c3": false, - "esp32c6": false, - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_USB_OTG_SUPPORTED=y" + ] } diff --git a/libraries/Update/examples/AWS_S3_OTA_Update/ci.json b/libraries/Update/examples/AWS_S3_OTA_Update/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/Update/examples/AWS_S3_OTA_Update/ci.json +++ b/libraries/Update/examples/AWS_S3_OTA_Update/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/Update/examples/HTTPS_OTA_Update/ci.json b/libraries/Update/examples/HTTPS_OTA_Update/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/Update/examples/HTTPS_OTA_Update/ci.json +++ b/libraries/Update/examples/HTTPS_OTA_Update/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/Update/examples/HTTP_Client_AES_OTA_Update/ci.json b/libraries/Update/examples/HTTP_Client_AES_OTA_Update/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/Update/examples/HTTP_Client_AES_OTA_Update/ci.json +++ b/libraries/Update/examples/HTTP_Client_AES_OTA_Update/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/Update/examples/HTTP_Server_AES_OTA_Update/ci.json b/libraries/Update/examples/HTTP_Server_AES_OTA_Update/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/Update/examples/HTTP_Server_AES_OTA_Update/ci.json +++ b/libraries/Update/examples/HTTP_Server_AES_OTA_Update/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/Update/examples/OTAWebUpdater/ci.json b/libraries/Update/examples/OTAWebUpdater/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/Update/examples/OTAWebUpdater/ci.json +++ b/libraries/Update/examples/OTAWebUpdater/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/WebServer/examples/AdvancedWebServer/ci.json b/libraries/WebServer/examples/AdvancedWebServer/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/WebServer/examples/AdvancedWebServer/ci.json +++ b/libraries/WebServer/examples/AdvancedWebServer/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/WebServer/examples/FSBrowser/ci.json b/libraries/WebServer/examples/FSBrowser/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/WebServer/examples/FSBrowser/ci.json +++ b/libraries/WebServer/examples/FSBrowser/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/WebServer/examples/Filters/ci.json b/libraries/WebServer/examples/Filters/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/WebServer/examples/Filters/ci.json +++ b/libraries/WebServer/examples/Filters/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/WebServer/examples/HelloServer/ci.json b/libraries/WebServer/examples/HelloServer/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/WebServer/examples/HelloServer/ci.json +++ b/libraries/WebServer/examples/HelloServer/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/WebServer/examples/HttpAdvancedAuth/ci.json b/libraries/WebServer/examples/HttpAdvancedAuth/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/WebServer/examples/HttpAdvancedAuth/ci.json +++ b/libraries/WebServer/examples/HttpAdvancedAuth/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/WebServer/examples/HttpAuthCallback/ci.json b/libraries/WebServer/examples/HttpAuthCallback/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/WebServer/examples/HttpAuthCallback/ci.json +++ b/libraries/WebServer/examples/HttpAuthCallback/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/WebServer/examples/HttpAuthCallbackInline/ci.json b/libraries/WebServer/examples/HttpAuthCallbackInline/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/WebServer/examples/HttpAuthCallbackInline/ci.json +++ b/libraries/WebServer/examples/HttpAuthCallbackInline/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/WebServer/examples/HttpBasicAuth/ci.json b/libraries/WebServer/examples/HttpBasicAuth/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/WebServer/examples/HttpBasicAuth/ci.json +++ b/libraries/WebServer/examples/HttpBasicAuth/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/WebServer/examples/HttpBasicAuthSHA1/ci.json b/libraries/WebServer/examples/HttpBasicAuthSHA1/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/WebServer/examples/HttpBasicAuthSHA1/ci.json +++ b/libraries/WebServer/examples/HttpBasicAuthSHA1/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/WebServer/examples/HttpBasicAuthSHA1orBearerToken/ci.json b/libraries/WebServer/examples/HttpBasicAuthSHA1orBearerToken/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/WebServer/examples/HttpBasicAuthSHA1orBearerToken/ci.json +++ b/libraries/WebServer/examples/HttpBasicAuthSHA1orBearerToken/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/WebServer/examples/MultiHomedServers/ci.json b/libraries/WebServer/examples/MultiHomedServers/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/WebServer/examples/MultiHomedServers/ci.json +++ b/libraries/WebServer/examples/MultiHomedServers/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/WebServer/examples/PathArgServer/ci.json b/libraries/WebServer/examples/PathArgServer/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/WebServer/examples/PathArgServer/ci.json +++ b/libraries/WebServer/examples/PathArgServer/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/WebServer/examples/SDWebServer/ci.json b/libraries/WebServer/examples/SDWebServer/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/WebServer/examples/SDWebServer/ci.json +++ b/libraries/WebServer/examples/SDWebServer/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/WebServer/examples/SimpleAuthentification/ci.json b/libraries/WebServer/examples/SimpleAuthentification/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/WebServer/examples/SimpleAuthentification/ci.json +++ b/libraries/WebServer/examples/SimpleAuthentification/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/WebServer/examples/UploadHugeFile/ci.json b/libraries/WebServer/examples/UploadHugeFile/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/WebServer/examples/UploadHugeFile/ci.json +++ b/libraries/WebServer/examples/UploadHugeFile/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/WebServer/examples/WebServer/ci.json b/libraries/WebServer/examples/WebServer/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/WebServer/examples/WebServer/ci.json +++ b/libraries/WebServer/examples/WebServer/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/WebServer/examples/WebUpdate/ci.json b/libraries/WebServer/examples/WebUpdate/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/WebServer/examples/WebUpdate/ci.json +++ b/libraries/WebServer/examples/WebUpdate/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/WiFi/examples/FTM/FTM_Initiator/ci.json b/libraries/WiFi/examples/FTM/FTM_Initiator/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/WiFi/examples/FTM/FTM_Initiator/ci.json +++ b/libraries/WiFi/examples/FTM/FTM_Initiator/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/WiFi/examples/FTM/FTM_Responder/ci.json b/libraries/WiFi/examples/FTM/FTM_Responder/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/WiFi/examples/FTM/FTM_Responder/ci.json +++ b/libraries/WiFi/examples/FTM/FTM_Responder/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/WiFi/examples/SimpleWiFiServer/ci.json b/libraries/WiFi/examples/SimpleWiFiServer/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/WiFi/examples/SimpleWiFiServer/ci.json +++ b/libraries/WiFi/examples/SimpleWiFiServer/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/WiFi/examples/WPS/ci.json b/libraries/WiFi/examples/WPS/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/WiFi/examples/WPS/ci.json +++ b/libraries/WiFi/examples/WPS/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/WiFi/examples/WiFiAccessPoint/ci.json b/libraries/WiFi/examples/WiFiAccessPoint/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/WiFi/examples/WiFiAccessPoint/ci.json +++ b/libraries/WiFi/examples/WiFiAccessPoint/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/WiFi/examples/WiFiBlueToothSwitch/ci.json b/libraries/WiFi/examples/WiFiBlueToothSwitch/ci.json index 521ae8f5ff1..49a24f931bf 100644 --- a/libraries/WiFi/examples/WiFiBlueToothSwitch/ci.json +++ b/libraries/WiFi/examples/WiFiBlueToothSwitch/ci.json @@ -1,6 +1,8 @@ { + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ], "targets": { - "esp32h2": false, "esp32s2": false } } diff --git a/libraries/WiFi/examples/WiFiClient/ci.json b/libraries/WiFi/examples/WiFiClient/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/WiFi/examples/WiFiClient/ci.json +++ b/libraries/WiFi/examples/WiFiClient/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/WiFi/examples/WiFiClientBasic/ci.json b/libraries/WiFi/examples/WiFiClientBasic/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/WiFi/examples/WiFiClientBasic/ci.json +++ b/libraries/WiFi/examples/WiFiClientBasic/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/WiFi/examples/WiFiClientConnect/ci.json b/libraries/WiFi/examples/WiFiClientConnect/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/WiFi/examples/WiFiClientConnect/ci.json +++ b/libraries/WiFi/examples/WiFiClientConnect/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/WiFi/examples/WiFiClientEnterprise/ci.json b/libraries/WiFi/examples/WiFiClientEnterprise/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/WiFi/examples/WiFiClientEnterprise/ci.json +++ b/libraries/WiFi/examples/WiFiClientEnterprise/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/WiFi/examples/WiFiClientEvents/ci.json b/libraries/WiFi/examples/WiFiClientEvents/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/WiFi/examples/WiFiClientEvents/ci.json +++ b/libraries/WiFi/examples/WiFiClientEvents/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/WiFi/examples/WiFiClientStaticIP/ci.json b/libraries/WiFi/examples/WiFiClientStaticIP/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/WiFi/examples/WiFiClientStaticIP/ci.json +++ b/libraries/WiFi/examples/WiFiClientStaticIP/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/WiFi/examples/WiFiExtender/ci.json b/libraries/WiFi/examples/WiFiExtender/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/WiFi/examples/WiFiExtender/ci.json +++ b/libraries/WiFi/examples/WiFiExtender/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/WiFi/examples/WiFiIPv6/ci.json b/libraries/WiFi/examples/WiFiIPv6/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/WiFi/examples/WiFiIPv6/ci.json +++ b/libraries/WiFi/examples/WiFiIPv6/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/WiFi/examples/WiFiMulti/ci.json b/libraries/WiFi/examples/WiFiMulti/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/WiFi/examples/WiFiMulti/ci.json +++ b/libraries/WiFi/examples/WiFiMulti/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/WiFi/examples/WiFiMultiAdvanced/ci.json b/libraries/WiFi/examples/WiFiMultiAdvanced/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/WiFi/examples/WiFiMultiAdvanced/ci.json +++ b/libraries/WiFi/examples/WiFiMultiAdvanced/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/WiFi/examples/WiFiScan/ci.json b/libraries/WiFi/examples/WiFiScan/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/WiFi/examples/WiFiScan/ci.json +++ b/libraries/WiFi/examples/WiFiScan/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/WiFi/examples/WiFiScanAsync/ci.json b/libraries/WiFi/examples/WiFiScanAsync/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/WiFi/examples/WiFiScanAsync/ci.json +++ b/libraries/WiFi/examples/WiFiScanAsync/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/WiFi/examples/WiFiScanDualAntenna/ci.json b/libraries/WiFi/examples/WiFiScanDualAntenna/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/WiFi/examples/WiFiScanDualAntenna/ci.json +++ b/libraries/WiFi/examples/WiFiScanDualAntenna/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/WiFi/examples/WiFiScanTime/ci.json b/libraries/WiFi/examples/WiFiScanTime/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/WiFi/examples/WiFiScanTime/ci.json +++ b/libraries/WiFi/examples/WiFiScanTime/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/WiFi/examples/WiFiSmartConfig/ci.json b/libraries/WiFi/examples/WiFiSmartConfig/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/WiFi/examples/WiFiSmartConfig/ci.json +++ b/libraries/WiFi/examples/WiFiSmartConfig/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/WiFi/examples/WiFiTelnetToSerial/ci.json b/libraries/WiFi/examples/WiFiTelnetToSerial/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/WiFi/examples/WiFiTelnetToSerial/ci.json +++ b/libraries/WiFi/examples/WiFiTelnetToSerial/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/WiFi/examples/WiFiUDPClient/ci.json b/libraries/WiFi/examples/WiFiUDPClient/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/WiFi/examples/WiFiUDPClient/ci.json +++ b/libraries/WiFi/examples/WiFiUDPClient/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/WiFiProv/examples/WiFiProv/ci.json b/libraries/WiFiProv/examples/WiFiProv/ci.json index d8b3664bc65..36babb82730 100644 --- a/libraries/WiFiProv/examples/WiFiProv/ci.json +++ b/libraries/WiFiProv/examples/WiFiProv/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } diff --git a/libraries/Wire/examples/WireMaster/ci.json b/libraries/Wire/examples/WireMaster/ci.json new file mode 100644 index 00000000000..1844adfc786 --- /dev/null +++ b/libraries/Wire/examples/WireMaster/ci.json @@ -0,0 +1,5 @@ +{ + "requires": [ + "CONFIG_SOC_I2C_SUPPORTED=y" + ] +} diff --git a/libraries/Wire/examples/WireScan/ci.json b/libraries/Wire/examples/WireScan/ci.json new file mode 100644 index 00000000000..1844adfc786 --- /dev/null +++ b/libraries/Wire/examples/WireScan/ci.json @@ -0,0 +1,5 @@ +{ + "requires": [ + "CONFIG_SOC_I2C_SUPPORTED=y" + ] +} diff --git a/libraries/Wire/examples/WireSlave/ci.json b/libraries/Wire/examples/WireSlave/ci.json index 46e0dfffebb..3c877975d62 100644 --- a/libraries/Wire/examples/WireSlave/ci.json +++ b/libraries/Wire/examples/WireSlave/ci.json @@ -1,5 +1,5 @@ { - "targets": { - "esp32c2": false - } + "requires": [ + "CONFIG_SOC_I2C_SUPPORT_SLAVE=y" + ] } diff --git a/tests/validation/democfg/ci.json b/tests/validation/democfg/ci.json index f74aa4e7eda..e4f275a4bca 100644 --- a/tests/validation/democfg/ci.json +++ b/tests/validation/democfg/ci.json @@ -16,6 +16,9 @@ "qemu": false, "wokwi": true }, + "requires": [ + "CONFIG_SOC_UART_SUPPORTED=y" + ], "targets": { "esp32": true, "esp32c3": true, diff --git a/tests/validation/touch/ci.json b/tests/validation/touch/ci.json index 8d58dbf5250..855e9bd964d 100644 --- a/tests/validation/touch/ci.json +++ b/tests/validation/touch/ci.json @@ -3,9 +3,7 @@ "qemu": false, "wokwi": false }, - "targets": { - "esp32c3": false, - "esp32c6": false, - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_TOUCH_SENSOR_SUPPORTED=y" + ] } diff --git a/tests/validation/wifi/ci.json b/tests/validation/wifi/ci.json index ff2c1d7c9ce..36e91b221cb 100644 --- a/tests/validation/wifi/ci.json +++ b/tests/validation/wifi/ci.json @@ -21,7 +21,7 @@ "hardware": false, "qemu": false }, - "targets": { - "esp32h2": false - } + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y" + ] } From 8422b745c24fe6739956d6a317f34ea8df5242e1 Mon Sep 17 00:00:00 2001 From: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com> Date: Mon, 30 Sep 2024 09:27:10 -0300 Subject: [PATCH 054/146] Fix touch examples JSON for P4 --- libraries/ESP32/examples/Touch/TouchInterrupt/ci.json | 5 ++++- libraries/ESP32/examples/Touch/TouchRead/ci.json | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/libraries/ESP32/examples/Touch/TouchInterrupt/ci.json b/libraries/ESP32/examples/Touch/TouchInterrupt/ci.json index c0ecf9fc0a5..4363987f4d6 100644 --- a/libraries/ESP32/examples/Touch/TouchInterrupt/ci.json +++ b/libraries/ESP32/examples/Touch/TouchInterrupt/ci.json @@ -1,5 +1,8 @@ { "requires": [ "CONFIG_SOC_TOUCH_SENSOR_SUPPORTED=y" - ] + ], + "targets": { + "esp32p4": false + } } diff --git a/libraries/ESP32/examples/Touch/TouchRead/ci.json b/libraries/ESP32/examples/Touch/TouchRead/ci.json index c0ecf9fc0a5..4363987f4d6 100644 --- a/libraries/ESP32/examples/Touch/TouchRead/ci.json +++ b/libraries/ESP32/examples/Touch/TouchRead/ci.json @@ -1,5 +1,8 @@ { "requires": [ "CONFIG_SOC_TOUCH_SENSOR_SUPPORTED=y" - ] + ], + "targets": { + "esp32p4": false + } } From a76b22881a82621e7aaa464e66924690c3e9311c Mon Sep 17 00:00:00 2001 From: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com> Date: Mon, 30 Sep 2024 19:21:46 -0300 Subject: [PATCH 055/146] Fix ethernet examples JSON for P4 --- libraries/Ethernet/examples/ETH_LAN8720/ci.json | 5 ++++- libraries/Ethernet/examples/ETH_TLK110/ci.json | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/libraries/Ethernet/examples/ETH_LAN8720/ci.json b/libraries/Ethernet/examples/ETH_LAN8720/ci.json index dcdfd06db51..0eab13b8841 100644 --- a/libraries/Ethernet/examples/ETH_LAN8720/ci.json +++ b/libraries/Ethernet/examples/ETH_LAN8720/ci.json @@ -1,5 +1,8 @@ { "requires": [ "CONFIG_ETH_USE_ESP32_EMAC=y" - ] + ], + "targets": { + "esp32p4": false + } } diff --git a/libraries/Ethernet/examples/ETH_TLK110/ci.json b/libraries/Ethernet/examples/ETH_TLK110/ci.json index dcdfd06db51..0eab13b8841 100644 --- a/libraries/Ethernet/examples/ETH_TLK110/ci.json +++ b/libraries/Ethernet/examples/ETH_TLK110/ci.json @@ -1,5 +1,8 @@ { "requires": [ "CONFIG_ETH_USE_ESP32_EMAC=y" - ] + ], + "targets": { + "esp32p4": false + } } From a4cbdaf3a843e20ba1d035425b8b6a5474f9f0c2 Mon Sep 17 00:00:00 2001 From: Luca Burelli Date: Tue, 1 Oct 2024 11:11:03 +0200 Subject: [PATCH 056/146] fix(HardwareSerial): fix pin remapping in begin() (#10379) The pin remapping functions have to be called as early as possible in the begin() function, to immediately convert the input parameters to the GPIO numbers used everywhere in the core. This issue has always been dormant since the introduction of pin remapping in 2.x via 9b4622d, but was exposed by the proper pin muxing support that is present in the 3.x core. Move the pin remapping function calls earlier in the begin() function to fix this issue. --- cores/esp32/HardwareSerial.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/cores/esp32/HardwareSerial.cpp b/cores/esp32/HardwareSerial.cpp index 1f064faada6..2e1f2701e9a 100644 --- a/cores/esp32/HardwareSerial.cpp +++ b/cores/esp32/HardwareSerial.cpp @@ -291,6 +291,10 @@ void HardwareSerial::begin(unsigned long baud, uint32_t config, int8_t rxPin, in } #endif + // map logical pins to GPIO numbers + rxPin = digitalPinToGPIONumber(rxPin); + txPin = digitalPinToGPIONumber(txPin); + HSERIAL_MUTEX_LOCK(); // First Time or after end() --> set default Pins if (!uartIsDriverInstalled(_uart)) { @@ -326,9 +330,6 @@ void HardwareSerial::begin(unsigned long baud, uint32_t config, int8_t rxPin, in } } - // map logical pins to GPIO numbers - rxPin = digitalPinToGPIONumber(rxPin); - txPin = digitalPinToGPIONumber(txPin); // IDF UART driver keeps Pin setting on restarting. Negative Pin number will keep it unmodified. // it will detach previous UART attached pins From 5a06dd9e57cd16f92c9c43724be7f9b9ed8a908e Mon Sep 17 00:00:00 2001 From: Me No Dev Date: Tue, 1 Oct 2024 12:11:21 +0300 Subject: [PATCH 057/146] fix(psram): Init PSRAM before app_main to fix mmu_map (#10390) * fix(psram): Init PSRAM before app_main to fix mmu_map Makes sure that PSRAM is part of the map before app_main is called. * ci(pre-commit): Apply automatic fixes --------- Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> --- cores/esp32/esp32-hal-log.h | 1 + cores/esp32/esp32-hal-misc.c | 12 +++++++++--- cores/esp32/esp32-hal-psram.c | 13 +++++++------ 3 files changed, 17 insertions(+), 9 deletions(-) diff --git a/cores/esp32/esp32-hal-log.h b/cores/esp32/esp32-hal-log.h index b8810c8bba9..da63c6dea94 100644 --- a/cores/esp32/esp32-hal-log.h +++ b/cores/esp32/esp32-hal-log.h @@ -20,6 +20,7 @@ extern "C" { #include "sdkconfig.h" #include "esp_timer.h" +#include "rom/ets_sys.h" #define ARDUHAL_LOG_LEVEL_NONE (0) #define ARDUHAL_LOG_LEVEL_ERROR (1) diff --git a/cores/esp32/esp32-hal-misc.c b/cores/esp32/esp32-hal-misc.c index 82363b97bd0..722e999f63f 100644 --- a/cores/esp32/esp32-hal-misc.c +++ b/cores/esp32/esp32-hal-misc.c @@ -24,6 +24,7 @@ #ifdef CONFIG_APP_ROLLBACK_ENABLE #include "esp_ota_ops.h" #endif //CONFIG_APP_ROLLBACK_ENABLE +#include "esp_private/startup_internal.h" #ifdef CONFIG_BT_ENABLED #include "esp_bt.h" #endif //CONFIG_BT_ENABLED @@ -249,12 +250,17 @@ extern bool btInUse(); #endif #endif +#if CONFIG_SPIRAM_SUPPORT || CONFIG_SPIRAM +#ifndef CONFIG_SPIRAM_BOOT_INIT +ESP_SYSTEM_INIT_FN(init_psram_new, BIT(0), 99) { + return psramInit() ? ESP_OK : ESP_FAIL; +} +#endif +#endif + void initArduino() { //init proper ref tick value for PLL (uncomment if REF_TICK is different than 1MHz) //ESP_REG(APB_CTRL_PLL_TICK_CONF_REG) = APB_CLK_FREQ / REF_CLK_FREQ - 1; -#if CONFIG_SPIRAM_SUPPORT || CONFIG_SPIRAM - psramInit(); -#endif #ifdef CONFIG_APP_ROLLBACK_ENABLE if (!verifyRollbackLater()) { const esp_partition_t *running = esp_ota_get_running_partition(); diff --git a/cores/esp32/esp32-hal-psram.c b/cores/esp32/esp32-hal-psram.c index 5a741908f07..6b9a1fb7e8f 100644 --- a/cores/esp32/esp32-hal-psram.c +++ b/cores/esp32/esp32-hal-psram.c @@ -31,6 +31,8 @@ #error Target CONFIG_IDF_TARGET is not supported #endif +#define TAG "arduino-psram" + static volatile bool spiramDetected = false; static volatile bool spiramFailed = false; @@ -52,7 +54,7 @@ bool psramInit() { uint32_t pkg_ver = chip_ver & 0x7; if (pkg_ver == EFUSE_RD_CHIP_VER_PKG_ESP32D2WDQ5 || pkg_ver == EFUSE_RD_CHIP_VER_PKG_ESP32PICOD2) { spiramFailed = true; - log_w("PSRAM not supported!"); + ESP_EARLY_LOGW(TAG, "PSRAM not supported!"); return false; } #elif CONFIG_IDF_TARGET_ESP32S2 @@ -62,7 +64,7 @@ bool psramInit() { #endif if (esp_psram_init() != ESP_OK) { spiramFailed = true; - log_w("PSRAM init failed!"); + ESP_EARLY_LOGW(TAG, "PSRAM init failed!"); #if CONFIG_IDF_TARGET_ESP32 if (pkg_ver != EFUSE_RD_CHIP_VER_PKG_ESP32PICOD4) { pinMatrixOutDetach(16, false, false); @@ -71,23 +73,22 @@ bool psramInit() { #endif return false; } - //testSPIRAM() allows user to bypass SPI RAM test routine if (!testSPIRAM()) { spiramFailed = true; - log_e("PSRAM test failed!"); + ESP_EARLY_LOGE(TAG, "PSRAM test failed!"); return false; } if (esp_psram_extram_add_to_heap_allocator() != ESP_OK) { spiramFailed = true; - log_e("PSRAM could not be added to the heap!"); + ESP_EARLY_LOGE(TAG, "PSRAM could not be added to the heap!"); return false; } #if CONFIG_SPIRAM_USE_MALLOC && !CONFIG_ARDUINO_ISR_IRAM heap_caps_malloc_extmem_enable(CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL); #endif + ESP_EARLY_LOGI(TAG, "PSRAM enabled"); #endif /* CONFIG_SPIRAM_BOOT_INIT */ - log_i("PSRAM enabled"); spiramDetected = true; return true; } From c980fdc99691fc797f1d56a03ea18c4893c4d598 Mon Sep 17 00:00:00 2001 From: me-no-dev Date: Tue, 1 Oct 2024 12:34:44 +0300 Subject: [PATCH 058/146] Update early system init function declaration --- cores/esp32/esp32-hal-misc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cores/esp32/esp32-hal-misc.c b/cores/esp32/esp32-hal-misc.c index acc908d2093..d3782c39aa3 100644 --- a/cores/esp32/esp32-hal-misc.c +++ b/cores/esp32/esp32-hal-misc.c @@ -254,7 +254,7 @@ extern bool btInUse(); #if CONFIG_SPIRAM_SUPPORT || CONFIG_SPIRAM #ifndef CONFIG_SPIRAM_BOOT_INIT -ESP_SYSTEM_INIT_FN(init_psram_new, BIT(0), 99) { +ESP_SYSTEM_INIT_FN(init_psram_new, CORE, BIT(0), 99) { return psramInit() ? ESP_OK : ESP_FAIL; } #endif From 482c0a3c26d9f69a6e4b3cc7da92a5545d16f27a Mon Sep 17 00:00:00 2001 From: me-no-dev Date: Tue, 1 Oct 2024 15:43:05 +0300 Subject: [PATCH 059/146] fix(psram): Do not abort if PSRAM is not found Also add to heap in app_main --- cores/esp32/esp32-hal-misc.c | 8 +++++++- cores/esp32/esp32-hal-psram.c | 18 +++++++++++++----- cores/esp32/esp32-hal-psram.h | 1 + 3 files changed, 21 insertions(+), 6 deletions(-) diff --git a/cores/esp32/esp32-hal-misc.c b/cores/esp32/esp32-hal-misc.c index d3782c39aa3..1fb1d2af9df 100644 --- a/cores/esp32/esp32-hal-misc.c +++ b/cores/esp32/esp32-hal-misc.c @@ -255,7 +255,8 @@ extern bool btInUse(); #if CONFIG_SPIRAM_SUPPORT || CONFIG_SPIRAM #ifndef CONFIG_SPIRAM_BOOT_INIT ESP_SYSTEM_INIT_FN(init_psram_new, CORE, BIT(0), 99) { - return psramInit() ? ESP_OK : ESP_FAIL; + psramInit(); + return ESP_OK; } #endif #endif @@ -263,6 +264,11 @@ ESP_SYSTEM_INIT_FN(init_psram_new, CORE, BIT(0), 99) { void initArduino() { //init proper ref tick value for PLL (uncomment if REF_TICK is different than 1MHz) //ESP_REG(APB_CTRL_PLL_TICK_CONF_REG) = APB_CLK_FREQ / REF_CLK_FREQ - 1; +#if CONFIG_SPIRAM_SUPPORT || CONFIG_SPIRAM +#ifndef CONFIG_SPIRAM_BOOT_INIT + psramAddToHeap(); +#endif +#endif #ifdef CONFIG_APP_ROLLBACK_ENABLE if (!verifyRollbackLater()) { const esp_partition_t *running = esp_ota_get_running_partition(); diff --git a/cores/esp32/esp32-hal-psram.c b/cores/esp32/esp32-hal-psram.c index d2c5ab96fc3..6b0b631791b 100644 --- a/cores/esp32/esp32-hal-psram.c +++ b/cores/esp32/esp32-hal-psram.c @@ -81,17 +81,25 @@ bool psramInit() { ESP_EARLY_LOGE(TAG, "PSRAM test failed!"); return false; } + ESP_EARLY_LOGI(TAG, "PSRAM enabled"); +#endif /* CONFIG_SPIRAM_BOOT_INIT */ + spiramDetected = true; + return true; +} + +bool psramAddToHeap() { + if (!spiramDetected) { + log_e("PSRAM not initialized!"); + return false; + } if (esp_psram_extram_add_to_heap_allocator() != ESP_OK) { - spiramFailed = true; - ESP_EARLY_LOGE(TAG, "PSRAM could not be added to the heap!"); + log_e("PSRAM could not be added to the heap!"); return false; } #if CONFIG_SPIRAM_USE_MALLOC && !CONFIG_ARDUINO_ISR_IRAM heap_caps_malloc_extmem_enable(CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL); #endif - ESP_EARLY_LOGI(TAG, "PSRAM enabled"); -#endif /* CONFIG_SPIRAM_BOOT_INIT */ - spiramDetected = true; + log_i("PSRAM added to the heap."); return true; } diff --git a/cores/esp32/esp32-hal-psram.h b/cores/esp32/esp32-hal-psram.h index 0ba6763c69f..e82af1342c2 100644 --- a/cores/esp32/esp32-hal-psram.h +++ b/cores/esp32/esp32-hal-psram.h @@ -31,6 +31,7 @@ extern "C" { #endif bool psramInit(); +bool psramAddToHeap(); bool psramFound(); void *ps_malloc(size_t size); From 753e2032e731f7ca1a5318a735f9175babc0aa3f Mon Sep 17 00:00:00 2001 From: me-no-dev Date: Tue, 1 Oct 2024 16:11:59 +0300 Subject: [PATCH 060/146] fix(psram): ESP32-S2 does not like to early debug log --- cores/esp32/esp32-hal-psram.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cores/esp32/esp32-hal-psram.c b/cores/esp32/esp32-hal-psram.c index 6b0b631791b..3c7a51c3343 100644 --- a/cores/esp32/esp32-hal-psram.c +++ b/cores/esp32/esp32-hal-psram.c @@ -81,7 +81,7 @@ bool psramInit() { ESP_EARLY_LOGE(TAG, "PSRAM test failed!"); return false; } - ESP_EARLY_LOGI(TAG, "PSRAM enabled"); + //ESP_EARLY_LOGI(TAG, "PSRAM enabled"); #endif /* CONFIG_SPIRAM_BOOT_INIT */ spiramDetected = true; return true; From 84ddf0ad282688e25aecfcc264212b80fef62a53 Mon Sep 17 00:00:00 2001 From: Me No Dev Date: Tue, 1 Oct 2024 16:34:41 +0300 Subject: [PATCH 061/146] fix(psram): Do not abort if PSRAM is not found (#10395) Also add to heap in app_main --- cores/esp32/esp32-hal-misc.c | 8 +++++++- cores/esp32/esp32-hal-psram.c | 18 +++++++++++++----- cores/esp32/esp32-hal-psram.h | 1 + 3 files changed, 21 insertions(+), 6 deletions(-) diff --git a/cores/esp32/esp32-hal-misc.c b/cores/esp32/esp32-hal-misc.c index 722e999f63f..dd7a87a4f22 100644 --- a/cores/esp32/esp32-hal-misc.c +++ b/cores/esp32/esp32-hal-misc.c @@ -253,7 +253,8 @@ extern bool btInUse(); #if CONFIG_SPIRAM_SUPPORT || CONFIG_SPIRAM #ifndef CONFIG_SPIRAM_BOOT_INIT ESP_SYSTEM_INIT_FN(init_psram_new, BIT(0), 99) { - return psramInit() ? ESP_OK : ESP_FAIL; + psramInit(); + return ESP_OK; } #endif #endif @@ -261,6 +262,11 @@ ESP_SYSTEM_INIT_FN(init_psram_new, BIT(0), 99) { void initArduino() { //init proper ref tick value for PLL (uncomment if REF_TICK is different than 1MHz) //ESP_REG(APB_CTRL_PLL_TICK_CONF_REG) = APB_CLK_FREQ / REF_CLK_FREQ - 1; +#if CONFIG_SPIRAM_SUPPORT || CONFIG_SPIRAM +#ifndef CONFIG_SPIRAM_BOOT_INIT + psramAddToHeap(); +#endif +#endif #ifdef CONFIG_APP_ROLLBACK_ENABLE if (!verifyRollbackLater()) { const esp_partition_t *running = esp_ota_get_running_partition(); diff --git a/cores/esp32/esp32-hal-psram.c b/cores/esp32/esp32-hal-psram.c index 6b9a1fb7e8f..b1b13f53ef3 100644 --- a/cores/esp32/esp32-hal-psram.c +++ b/cores/esp32/esp32-hal-psram.c @@ -79,17 +79,25 @@ bool psramInit() { ESP_EARLY_LOGE(TAG, "PSRAM test failed!"); return false; } + ESP_EARLY_LOGI(TAG, "PSRAM enabled"); +#endif /* CONFIG_SPIRAM_BOOT_INIT */ + spiramDetected = true; + return true; +} + +bool psramAddToHeap() { + if (!spiramDetected) { + log_e("PSRAM not initialized!"); + return false; + } if (esp_psram_extram_add_to_heap_allocator() != ESP_OK) { - spiramFailed = true; - ESP_EARLY_LOGE(TAG, "PSRAM could not be added to the heap!"); + log_e("PSRAM could not be added to the heap!"); return false; } #if CONFIG_SPIRAM_USE_MALLOC && !CONFIG_ARDUINO_ISR_IRAM heap_caps_malloc_extmem_enable(CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL); #endif - ESP_EARLY_LOGI(TAG, "PSRAM enabled"); -#endif /* CONFIG_SPIRAM_BOOT_INIT */ - spiramDetected = true; + log_i("PSRAM added to the heap."); return true; } diff --git a/cores/esp32/esp32-hal-psram.h b/cores/esp32/esp32-hal-psram.h index 0ba6763c69f..e82af1342c2 100644 --- a/cores/esp32/esp32-hal-psram.h +++ b/cores/esp32/esp32-hal-psram.h @@ -31,6 +31,7 @@ extern "C" { #endif bool psramInit(); +bool psramAddToHeap(); bool psramFound(); void *ps_malloc(size_t size); From cd971319cbc19b7a7c54b46c9e7d7d38e5b6d01f Mon Sep 17 00:00:00 2001 From: Me No Dev Date: Wed, 2 Oct 2024 15:26:32 +0300 Subject: [PATCH 062/146] Fix WPS example config initialization (#10399) * fix(wps): fixes wps struct initialization C99 complaint * fix(wps): adds memset to 0 --------- Co-authored-by: Rodrigo Garcia --- libraries/WiFi/examples/WPS/WPS.ino | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/libraries/WiFi/examples/WPS/WPS.ino b/libraries/WiFi/examples/WPS/WPS.ino index 1a6cc6114ee..fc353dcbfb8 100644 --- a/libraries/WiFi/examples/WPS/WPS.ino +++ b/libraries/WiFi/examples/WPS/WPS.ino @@ -25,7 +25,15 @@ WPS (pin is 00000000) #define ESP_WPS_MODE WPS_TYPE_PBC void wpsStart() { - esp_wps_config_t config = WPS_CONFIG_INIT_DEFAULT(ESP_WPS_MODE); + esp_wps_config_t config; + memset(&config, 0, sizeof(esp_wps_config_t)); + //Same as config = WPS_CONFIG_INIT_DEFAULT(ESP_WPS_MODE); + config.wps_type = ESP_WPS_MODE; + strcpy(config.factory_info.manufacturer, "ESPRESSIF"); + strcpy(config.factory_info.model_number, CONFIG_IDF_TARGET); + strcpy(config.factory_info.model_name, "ESPRESSIF IOT"); + strcpy(config.factory_info.device_name, "ESP DEVICE"); + strcpy(config.pin, "00000000"); esp_err_t err = esp_wifi_wps_enable(&config); if (err != ESP_OK) { Serial.printf("WPS Enable Failed: 0x%x: %s\n", err, esp_err_to_name(err)); From 2ec5584d06c50e1a38568f387de82841695de41a Mon Sep 17 00:00:00 2001 From: Me No Dev Date: Wed, 2 Oct 2024 15:34:27 +0300 Subject: [PATCH 063/146] fix(hid): Fix OUTPUT report not received (#10398) Fixes an issue where the keyboard LEDs will not trigger the proper event --- cores/esp32/esp32-hal-tinyusb.c | 10 +++++++++- libraries/USB/src/USBHID.cpp | 2 +- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/cores/esp32/esp32-hal-tinyusb.c b/cores/esp32/esp32-hal-tinyusb.c index 4b39da82641..f7225425913 100644 --- a/cores/esp32/esp32-hal-tinyusb.c +++ b/cores/esp32/esp32-hal-tinyusb.c @@ -453,7 +453,15 @@ __attribute__((weak)) int32_t tud_msc_scsi_cb(uint8_t lun, uint8_t const scsi_cm __attribute__((weak)) bool tud_msc_is_writable_cb(uint8_t lun) { return false; } - +#endif +#if CFG_TUD_NCM +__attribute__((weak)) bool tud_network_recv_cb(const uint8_t *src, uint16_t size) { + return false; +} +__attribute__((weak)) uint16_t tud_network_xmit_cb(uint8_t *dst, void *ref, uint16_t arg) { + return 0; +} +__attribute__((weak)) void tud_network_init_cb(void) {} #endif /* diff --git a/libraries/USB/src/USBHID.cpp b/libraries/USB/src/USBHID.cpp index 995700de4c9..75f37ef5df3 100644 --- a/libraries/USB/src/USBHID.cpp +++ b/libraries/USB/src/USBHID.cpp @@ -259,7 +259,7 @@ uint16_t tud_hid_get_report_cb(uint8_t instance, uint8_t report_id, hid_report_t // Invoked when received SET_REPORT control request or // received data on OUT endpoint ( Report ID = 0, Type = 0 ) void tud_hid_set_report_cb(uint8_t instance, uint8_t report_id, hid_report_type_t report_type, uint8_t const *buffer, uint16_t bufsize) { - if (!report_id && !report_type) { + if (!report_id && (!report_type || report_type == HID_REPORT_TYPE_OUTPUT)) { if (!tinyusb_on_set_output(0, buffer, bufsize) && !tinyusb_on_set_output(buffer[0], buffer + 1, bufsize - 1)) { log_d( "instance: %u, report_id: %u, report_type: %s, bufsize: %u", instance, buffer[0], tinyusb_hid_device_report_types[HID_REPORT_TYPE_OUTPUT], bufsize - 1 From 8af91fb4a7fb9554bf776977ebd432ef1de2a473 Mon Sep 17 00:00:00 2001 From: me-no-dev Date: Tue, 1 Oct 2024 12:50:04 +0300 Subject: [PATCH 064/146] Fix build of camera web server --- .../ESP32/examples/Camera/CameraWebServer/ci.json | 15 +++++++++++++++ .../Camera/CameraWebServer/partitions.csv | 5 +++-- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/libraries/ESP32/examples/Camera/CameraWebServer/ci.json b/libraries/ESP32/examples/Camera/CameraWebServer/ci.json index 7e0f3c89986..35c3056dda8 100644 --- a/libraries/ESP32/examples/Camera/CameraWebServer/ci.json +++ b/libraries/ESP32/examples/Camera/CameraWebServer/ci.json @@ -1,4 +1,19 @@ { + "fqbn": { + "esp32": [ + "espressif:esp32:esp32:PSRAM=enabled,PartitionScheme=custom,FlashMode=dio", + "espressif:esp32:esp32:PSRAM=disabled,PartitionScheme=custom,FlashMode=dio" + ], + "esp32s2": [ + "espressif:esp32:esp32s2:PSRAM=enabled,PartitionScheme=custom,FlashMode=dio", + "espressif:esp32:esp32s2:PSRAM=disabled,PartitionScheme=custom,FlashMode=dio" + ], + "esp32s3": [ + "espressif:esp32:esp32s3:PSRAM=opi,USBMode=default,PartitionScheme=custom,FlashMode=qio", + "espressif:esp32:esp32s3:PSRAM=enabled,USBMode=default,PartitionScheme=custom,FlashMode=qio", + "espressif:esp32:esp32s3:PSRAM=disabled,USBMode=default,PartitionScheme=custom,FlashMode=qio" + ] + }, "requires": [ "CONFIG_CAMERA_TASK_STACK_SIZE=[0-9]+" ] diff --git a/libraries/ESP32/examples/Camera/CameraWebServer/partitions.csv b/libraries/ESP32/examples/Camera/CameraWebServer/partitions.csv index 4f76ca6d746..b9f18c465a7 100644 --- a/libraries/ESP32/examples/Camera/CameraWebServer/partitions.csv +++ b/libraries/ESP32/examples/Camera/CameraWebServer/partitions.csv @@ -1,5 +1,6 @@ # Name, Type, SubType, Offset, Size, Flags nvs, data, nvs, 0x9000, 0x5000, otadata, data, ota, 0xe000, 0x2000, -app0, app, ota_0, 0x10000, 0x3d0000, -fr, data, , 0x3e0000, 0x20000, +app0, app, ota_0, 0x10000, 0x3c0000, +fr, data, , 0x3d0000, 0x20000, +coredump, data, coredump,0x3f0000, 0x10000, From 19f611d7ee847b8e74fb28ab88cc6b9db0c9474d Mon Sep 17 00:00:00 2001 From: Rodrigo Garcia Date: Thu, 26 Sep 2024 07:54:52 -0300 Subject: [PATCH 065/146] fix(5.1): ESP32 redefinition to ESP32 --- platform.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform.txt b/platform.txt index 073d5fd41c7..873e27b0ecb 100644 --- a/platform.txt +++ b/platform.txt @@ -103,7 +103,7 @@ build.code_debug=0 build.defines= build.loop_core= build.event_core= -build.extra_flags=-DARDUINO_HOST_OS="{runtime.os}" -DARDUINO_FQBN="{build.fqbn}" -DESP32 -DCORE_DEBUG_LEVEL={build.code_debug} {build.loop_core} {build.event_core} {build.defines} {build.extra_flags.{build.mcu}} {build.zigbee_mode} +build.extra_flags=-DARDUINO_HOST_OS="{runtime.os}" -DARDUINO_FQBN="{build.fqbn}" -DESP32=ESP32 -DCORE_DEBUG_LEVEL={build.code_debug} {build.loop_core} {build.event_core} {build.defines} {build.extra_flags.{build.mcu}} {build.zigbee_mode} build.extra_libs= build.memory_type={build.boot}_qspi From 58c0bbc0e9a30e7451bcae81a394c05f63541d33 Mon Sep 17 00:00:00 2001 From: me-no-dev Date: Wed, 2 Oct 2024 16:17:12 +0300 Subject: [PATCH 066/146] fix(usb): Add support for ESP32-P4 to esp32-hal-tinyusb --- CMakeLists.txt | 2 +- cores/esp32/esp32-hal-tinyusb.c | 21 +++++++++++++++++++-- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 0ae2df0717b..707e3fe6233 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -343,7 +343,7 @@ function(maybe_add_component component_name) endif() endfunction() -if(IDF_TARGET MATCHES "esp32s2|esp32s3" AND CONFIG_TINYUSB_ENABLED) +if(IDF_TARGET MATCHES "esp32s2|esp32s3|esp32p4" AND CONFIG_TINYUSB_ENABLED) maybe_add_component(arduino_tinyusb) endif() if(NOT CONFIG_ARDUINO_SELECTIVE_COMPILATION OR CONFIG_ARDUINO_SELECTIVE_ArduinoOTA) diff --git a/cores/esp32/esp32-hal-tinyusb.c b/cores/esp32/esp32-hal-tinyusb.c index f7225425913..4247a299df0 100644 --- a/cores/esp32/esp32-hal-tinyusb.c +++ b/cores/esp32/esp32-hal-tinyusb.c @@ -10,12 +10,15 @@ #include "soc/soc.h" #include "soc/efuse_reg.h" +#if CONFIG_IDF_TARGET_ESP32S2 || CONFIG_IDF_TARGET_ESP32S3 #include "soc/rtc_cntl_reg.h" #include "soc/usb_struct.h" #include "soc/usb_reg.h" #include "soc/usb_wrap_reg.h" #include "soc/usb_wrap_struct.h" #include "soc/usb_periph.h" +#endif + #include "soc/periph_defs.h" #include "soc/timer_group_struct.h" #include "soc/system_reg.h" @@ -34,8 +37,8 @@ #include "esp32-hal.h" #include "esp32-hal-periman.h" - #include "esp32-hal-tinyusb.h" + #if CONFIG_IDF_TARGET_ESP32S2 #include "esp32s2/rom/usb/usb_persist.h" #include "esp32s2/rom/usb/usb_dc.h" @@ -50,6 +53,7 @@ #include "esp32s3/rom/usb/usb_persist.h" #include "esp32s3/rom/usb/usb_dc.h" #include "esp32s3/rom/usb/chip_usb_dw_wrapper.h" +#elif CONFIG_IDF_TARGET_ESP32P4 #endif typedef enum { @@ -467,8 +471,10 @@ __attribute__((weak)) void tud_network_init_cb(void) {} /* * Private API * */ +#if CONFIG_IDF_TARGET_ESP32S2 || CONFIG_IDF_TARGET_ESP32S3 static bool usb_persist_enabled = false; static restart_type_t usb_persist_mode = RESTART_NO_PERSIST; +#endif #if CONFIG_IDF_TARGET_ESP32S3 @@ -549,6 +555,7 @@ static void usb_switch_to_cdc_jtag() { } #endif +#if CONFIG_IDF_TARGET_ESP32S2 || CONFIG_IDF_TARGET_ESP32S3 static void IRAM_ATTR usb_persist_shutdown_handler(void) { if (usb_persist_mode != RESTART_NO_PERSIST) { if (usb_persist_enabled) { @@ -580,8 +587,10 @@ static void IRAM_ATTR usb_persist_shutdown_handler(void) { } } } +#endif void usb_persist_restart(restart_type_t mode) { +#if CONFIG_IDF_TARGET_ESP32S2 || CONFIG_IDF_TARGET_ESP32S3 if (mode < RESTART_TYPE_MAX && esp_register_shutdown_handler(usb_persist_shutdown_handler) == ESP_OK) { usb_persist_mode = mode; #if CONFIG_IDF_TARGET_ESP32S3 @@ -591,6 +600,7 @@ void usb_persist_restart(restart_type_t mode) { #endif esp_restart(); } +#endif } static bool tinyusb_reserve_in_endpoint(uint8_t endpoint) { @@ -674,8 +684,13 @@ static inline char nibble_to_hex_char(uint8_t b) { static void set_usb_serial_num(void) { /* Get the MAC address */ +#if CONFIG_IDF_TARGET_ESP32P4 + const uint32_t mac0 = REG_GET_FIELD(EFUSE_RD_MAC_SYS_0_REG, EFUSE_MAC_0); + const uint32_t mac1 = REG_GET_FIELD(EFUSE_RD_MAC_SYS_0_REG, EFUSE_MAC_1); +#else const uint32_t mac0 = REG_GET_FIELD(EFUSE_RD_MAC_SPI_SYS_0_REG, EFUSE_MAC_0); const uint32_t mac1 = REG_GET_FIELD(EFUSE_RD_MAC_SPI_SYS_1_REG, EFUSE_MAC_1); +#endif uint8_t mac_bytes[6]; memcpy(mac_bytes, &mac0, 4); memcpy(mac_bytes + 4, &mac1, 2); @@ -794,6 +809,7 @@ esp_err_t tinyusb_init(tinyusb_device_config_t *config) { return ESP_FAIL; } +#if CONFIG_IDF_TARGET_ESP32S2 || CONFIG_IDF_TARGET_ESP32S3 bool usb_did_persist = (USB_WRAP.date.val == USBDC_PERSIST_ENA); //if(usb_did_persist && usb_persist_enabled){ @@ -806,7 +822,8 @@ esp_err_t tinyusb_init(tinyusb_device_config_t *config) { periph_ll_reset(PERIPH_USB_MODULE); periph_ll_enable_clk_clear_rst(PERIPH_USB_MODULE); } - +#endif + tinyusb_config_t tusb_cfg = { .external_phy = false // In the most cases you need to use a `false` value }; From 473b8515ac4ba956b36c97bb94c6db5e287c3920 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Proch=C3=A1zka?= <90197375+P-R-O-C-H-Y@users.noreply.github.com> Date: Wed, 2 Oct 2024 16:00:39 +0200 Subject: [PATCH 067/146] feat(zigbee): Add Zigbee library (#10265) * Initial commit - light bulb + switch working * Add Thermostat + fix enum * Dev update: roles, cb removal, handlers Fixed ep_thermostat to compile successfully Removed cb from all EP, as it have been removed, virtual methods will be used instead. Moved zigbee handlers out of Zigbee_core to Zigbee_handlers for better readability. Fixed zigbeeInit to be bool and return status of initialization for begin function. Updated examples with edited roles and custom method for on_off light * Dev update: implement on/off light and switch methods Implemented basic function calls of switch commands to on/off light: lightToggle, lightOn, lightOff, ... Implemented virtual methods for on/off light that have to be override in user code: setOnOff, sceneControl, setOnOffTime, setOffWaitTime APIs can be changed, still early development. * Dev update: Factory reset, names, multiple EPs Implemented Factory reset of Zigbee device, in order to connect to new network without reflashing/erasing flash Implemented optional setting for Manufacturer and Model names Added option to allow endpoint to have multiple endpoint connected -> switch - 2 lights (tested) Minor sketches update * Dev update: Device ID to string Implemented easy transfer from device it to Device type (0x0000 = ESP_ZB_HA_ON_OFF_SWITCH_DEVICE_ID -> "General On/Off switch". * Implement cmd default response handler * Remove unused _identify_cluster * Dev Update: Color DImmable light + switch implemented Implemeted color dimmable light and color dimmer switch HA devices + examples. Removed unnecessary stored attribute cluster Renamed on/off light and switch examples * Implement Network Scanning Implemented Zigbee network scanning (async) to mostly match WiFi scan APIs. Added Zigbee_Scan_Networks example * Dev Update: Thermostat and Temperature sensor EP Implemeted thermostat and temperature sensor HA devices + examples. Implemented configure report handler. Updated READMEs and description of examples. Minor code updates * fix(): Replace deprecated function * Remove ported IDF examples * Update Zigbee examples with new APIs * Dev Update: Version setting, Thermostat fix, ... Simplified bounded device print as the structure is common for any EP type Allowed setting custom app version for EP, default is 0 Small fixes and code updates * Remove EP template + add lib to CMakeLists * Rename classes to have proper naming * Add check for SOC_IEEE802154_SUPPORTED * Ignore false positive unused variable/function * Fix compilation errors in examples * Fill keyworkds.txt, remove unnecessary defines * Rename methods, variables + make private/protected * Remove unnecesary defaults defines * Remove outdated comments * Update Scan networks Readme * fix(example): Use proper naming of func and variables * Change virtual methods to callbacks (TODO) * Refactor classes methods + implement Identify command * Apply suggestions from code review by @lucasssvaz Co-authored-by: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com> * Update READMEs + add openNetwork fucntion * Use [[maybe_unused]] instead of #pragma * Use gpio calls for OnOff Light example * ci(pre-commit): Apply automatic fixes * fix(): Codespell issues --------- Co-authored-by: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com> --- CMakeLists.txt | 13 + boards.txt | 84 +-- .../Zigbee_Light_Bulb/Zigbee_Light_Bulb.ino | 183 ------ .../examples/Zigbee/Zigbee_Light_Bulb/ci.json | 10 - .../Zigbee_Light_Switch.ino | 296 --------- .../Zigbee/Zigbee_Light_Switch/ci.json | 10 - .../Zigbee_Temperature_Sensor.ino | 349 ----------- .../Zigbee/Zigbee_Temperature_Sensor/ci.json | 10 - .../Zigbee_Thermostat/Zigbee_Thermostat.ino | 565 ------------------ .../examples/Zigbee/Zigbee_Thermostat/ci.json | 10 - .../Zigbee_Color_Dimmable_Light/README.md | 68 +++ .../Zigbee_Color_Dimmable_Light.ino | 104 ++++ .../Zigbee_Color_Dimmable_Light/ci.json | 16 + .../Zigbee_Color_Dimmer_Switch/README.md | 68 +++ .../Zigbee_Color_Dimmer_Switch.ino | 148 +++++ .../Zigbee_Color_Dimmer_Switch/ci.json | 16 + .../examples/Zigbee_On_Off_Light}/README.md | 35 +- .../Zigbee_On_Off_Light.ino | 87 +++ .../examples/Zigbee_On_Off_Light/ci.json | 16 + .../examples/Zigbee_On_Off_Switch}/README.md | 35 +- .../Zigbee_On_Off_Switch.ino | 194 ++++++ .../examples/Zigbee_On_Off_Switch/ci.json | 16 + .../examples/Zigbee_Scan_Networks/README.md | 71 +++ .../Zigbee_Scan_Networks.ino | 113 ++++ .../examples/Zigbee_Scan_Networks/ci.json | 16 + .../Zigbee_Temperature_Sensor/README.md | 36 +- .../Zigbee_Temperature_Sensor.ino | 107 ++++ .../Zigbee_Temperature_Sensor/ci.json | 16 + .../examples}/Zigbee_Thermostat/README.md | 27 +- .../Zigbee_Thermostat/Zigbee_Thermostat.ino | 119 ++++ .../Zigbee/examples/Zigbee_Thermostat/ci.json | 16 + libraries/Zigbee/keywords.txt | 105 ++++ libraries/Zigbee/library.properties | 9 + libraries/Zigbee/src/ZigbeeCore.cpp | 396 ++++++++++++ libraries/Zigbee/src/ZigbeeCore.h | 125 ++++ libraries/Zigbee/src/ZigbeeEP.cpp | 162 +++++ libraries/Zigbee/src/ZigbeeEP.h | 124 ++++ libraries/Zigbee/src/ZigbeeHandlers.cpp | 141 +++++ .../src/ep/ZigbeeColorDimmableLight.cpp | 112 ++++ .../Zigbee/src/ep/ZigbeeColorDimmableLight.h | 41 ++ .../Zigbee/src/ep/ZigbeeColorDimmerSwitch.cpp | 403 +++++++++++++ .../Zigbee/src/ep/ZigbeeColorDimmerSwitch.h | 60 ++ libraries/Zigbee/src/ep/ZigbeeLight.cpp | 35 ++ libraries/Zigbee/src/ep/ZigbeeLight.h | 33 + libraries/Zigbee/src/ep/ZigbeeSwitch.cpp | 233 ++++++++ libraries/Zigbee/src/ep/ZigbeeSwitch.h | 42 ++ libraries/Zigbee/src/ep/ZigbeeTempSensor.cpp | 93 +++ libraries/Zigbee/src/ep/ZigbeeTempSensor.h | 30 + libraries/Zigbee/src/ep/ZigbeeThermostat.cpp | 205 +++++++ libraries/Zigbee/src/ep/ZigbeeThermostat.h | 64 ++ 50 files changed, 3718 insertions(+), 1549 deletions(-) delete mode 100644 libraries/ESP32/examples/Zigbee/Zigbee_Light_Bulb/Zigbee_Light_Bulb.ino delete mode 100644 libraries/ESP32/examples/Zigbee/Zigbee_Light_Bulb/ci.json delete mode 100644 libraries/ESP32/examples/Zigbee/Zigbee_Light_Switch/Zigbee_Light_Switch.ino delete mode 100644 libraries/ESP32/examples/Zigbee/Zigbee_Light_Switch/ci.json delete mode 100644 libraries/ESP32/examples/Zigbee/Zigbee_Temperature_Sensor/Zigbee_Temperature_Sensor.ino delete mode 100644 libraries/ESP32/examples/Zigbee/Zigbee_Temperature_Sensor/ci.json delete mode 100644 libraries/ESP32/examples/Zigbee/Zigbee_Thermostat/Zigbee_Thermostat.ino delete mode 100644 libraries/ESP32/examples/Zigbee/Zigbee_Thermostat/ci.json create mode 100644 libraries/Zigbee/examples/Zigbee_Color_Dimmable_Light/README.md create mode 100644 libraries/Zigbee/examples/Zigbee_Color_Dimmable_Light/Zigbee_Color_Dimmable_Light.ino create mode 100644 libraries/Zigbee/examples/Zigbee_Color_Dimmable_Light/ci.json create mode 100644 libraries/Zigbee/examples/Zigbee_Color_Dimmer_Switch/README.md create mode 100644 libraries/Zigbee/examples/Zigbee_Color_Dimmer_Switch/Zigbee_Color_Dimmer_Switch.ino create mode 100644 libraries/Zigbee/examples/Zigbee_Color_Dimmer_Switch/ci.json rename libraries/{ESP32/examples/Zigbee/Zigbee_Light_Bulb => Zigbee/examples/Zigbee_On_Off_Light}/README.md (62%) create mode 100644 libraries/Zigbee/examples/Zigbee_On_Off_Light/Zigbee_On_Off_Light.ino create mode 100644 libraries/Zigbee/examples/Zigbee_On_Off_Light/ci.json rename libraries/{ESP32/examples/Zigbee/Zigbee_Light_Switch => Zigbee/examples/Zigbee_On_Off_Switch}/README.md (57%) create mode 100644 libraries/Zigbee/examples/Zigbee_On_Off_Switch/Zigbee_On_Off_Switch.ino create mode 100644 libraries/Zigbee/examples/Zigbee_On_Off_Switch/ci.json create mode 100644 libraries/Zigbee/examples/Zigbee_Scan_Networks/README.md create mode 100644 libraries/Zigbee/examples/Zigbee_Scan_Networks/Zigbee_Scan_Networks.ino create mode 100644 libraries/Zigbee/examples/Zigbee_Scan_Networks/ci.json rename libraries/{ESP32/examples/Zigbee => Zigbee/examples}/Zigbee_Temperature_Sensor/README.md (59%) create mode 100644 libraries/Zigbee/examples/Zigbee_Temperature_Sensor/Zigbee_Temperature_Sensor.ino create mode 100644 libraries/Zigbee/examples/Zigbee_Temperature_Sensor/ci.json rename libraries/{ESP32/examples/Zigbee => Zigbee/examples}/Zigbee_Thermostat/README.md (64%) create mode 100644 libraries/Zigbee/examples/Zigbee_Thermostat/Zigbee_Thermostat.ino create mode 100644 libraries/Zigbee/examples/Zigbee_Thermostat/ci.json create mode 100644 libraries/Zigbee/keywords.txt create mode 100644 libraries/Zigbee/library.properties create mode 100644 libraries/Zigbee/src/ZigbeeCore.cpp create mode 100644 libraries/Zigbee/src/ZigbeeCore.h create mode 100644 libraries/Zigbee/src/ZigbeeEP.cpp create mode 100644 libraries/Zigbee/src/ZigbeeEP.h create mode 100644 libraries/Zigbee/src/ZigbeeHandlers.cpp create mode 100644 libraries/Zigbee/src/ep/ZigbeeColorDimmableLight.cpp create mode 100644 libraries/Zigbee/src/ep/ZigbeeColorDimmableLight.h create mode 100644 libraries/Zigbee/src/ep/ZigbeeColorDimmerSwitch.cpp create mode 100644 libraries/Zigbee/src/ep/ZigbeeColorDimmerSwitch.h create mode 100644 libraries/Zigbee/src/ep/ZigbeeLight.cpp create mode 100644 libraries/Zigbee/src/ep/ZigbeeLight.h create mode 100644 libraries/Zigbee/src/ep/ZigbeeSwitch.cpp create mode 100644 libraries/Zigbee/src/ep/ZigbeeSwitch.h create mode 100644 libraries/Zigbee/src/ep/ZigbeeTempSensor.cpp create mode 100644 libraries/Zigbee/src/ep/ZigbeeTempSensor.h create mode 100644 libraries/Zigbee/src/ep/ZigbeeThermostat.cpp create mode 100644 libraries/Zigbee/src/ep/ZigbeeThermostat.h diff --git a/CMakeLists.txt b/CMakeLists.txt index bfb3ee4ff28..9a858ee79cd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -112,6 +112,7 @@ set(ARDUINO_ALL_LIBRARIES WiFi WiFiProv Wire + Zigbee ) set(ARDUINO_LIBRARY_ArduinoOTA_SRCS libraries/ArduinoOTA/src/ArduinoOTA.cpp) @@ -240,6 +241,18 @@ set(ARDUINO_LIBRARY_WiFiProv_SRCS libraries/WiFiProv/src/WiFiProv.cpp) set(ARDUINO_LIBRARY_Wire_SRCS libraries/Wire/src/Wire.cpp) +set(ARDUINO_LIBRARY_Zigbee_SRCS + libraries/Zigbee/src/ZigbeeCore.cpp + libraries/Zigbee/src/ZigbeeEP.cpp + libraries/Zigbee/src/ZigbeeHandlers.cpp + libraries/Zigbee/src/ep/ZigbeeColorDimmableLight.cpp + libraries/Zigbee/src/ep/ZigbeeColorDimmerSwitch.cpp + libraries/Zigbee/src/ep/ZigbeeLight.cpp + libraries/Zigbee/src/ep/ZigbeeSwitch.cpp + libraries/Zigbee/src/ep/ZigbeeTempSensor.cpp + libraries/Zigbee/src/ep/ZigbeeThermostat.cpp + ) + set(ARDUINO_LIBRARY_BLE_SRCS libraries/BLE/src/BLE2901.cpp libraries/BLE/src/BLE2902.cpp diff --git a/boards.txt b/boards.txt index 0e873f0110b..c785e4d80a4 100644 --- a/boards.txt +++ b/boards.txt @@ -339,7 +339,7 @@ esp32h2.menu.ZigbeeMode.default.build.zigbee_libs= esp32h2.menu.ZigbeeMode.ed=Zigbee ED (end device) esp32h2.menu.ZigbeeMode.ed.build.zigbee_mode=-DZIGBEE_MODE_ED esp32h2.menu.ZigbeeMode.ed.build.zigbee_libs=-lesp_zb_api_ed -lesp_zb_cli_command -lzboss_stack.ed -lzboss_port -esp32h2.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator) +esp32h2.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator/router) esp32h2.menu.ZigbeeMode.zczr.build.zigbee_mode=-DZIGBEE_MODE_ZCZR esp32h2.menu.ZigbeeMode.zczr.build.zigbee_libs=-lesp_zb_api_zczr -lesp_zb_cli_command -lzboss_stack.zczr -lzboss_port esp32h2.menu.ZigbeeMode.rcp=Zigbee RCP (radio co-processor) @@ -533,7 +533,7 @@ esp32c6.menu.ZigbeeMode.default.build.zigbee_libs= esp32c6.menu.ZigbeeMode.ed=Zigbee ED (end device) esp32c6.menu.ZigbeeMode.ed.build.zigbee_mode=-DZIGBEE_MODE_ED esp32c6.menu.ZigbeeMode.ed.build.zigbee_libs=-lesp_zb_api_ed -lesp_zb_cli_command -lzboss_stack.ed -lzboss_port -esp32c6.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator) +esp32c6.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator/router) esp32c6.menu.ZigbeeMode.zczr.build.zigbee_mode=-DZIGBEE_MODE_ZCZR esp32c6.menu.ZigbeeMode.zczr.build.zigbee_libs=-lesp_zb_api_zczr -lesp_zb_cli_command -lzboss_stack.zczr -lzboss_port esp32c6.menu.ZigbeeMode.rcp=Zigbee RCP (radio co-processor) @@ -789,7 +789,7 @@ esp32s3.menu.EraseFlash.all.upload.erase_cmd=-e esp32s3.menu.ZigbeeMode.default=Disabled esp32s3.menu.ZigbeeMode.default.build.zigbee_mode= esp32s3.menu.ZigbeeMode.default.build.zigbee_libs= -esp32s3.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator) +esp32s3.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator/router) esp32s3.menu.ZigbeeMode.zczr.build.zigbee_mode=-DZIGBEE_MODE_ZCZR esp32s3.menu.ZigbeeMode.zczr.build.zigbee_libs=-lesp_zb_api_zczr -lesp_zb_cli_command -lzboss_stack.zczr -lzboss_port @@ -971,7 +971,7 @@ esp32c3.menu.EraseFlash.all.upload.erase_cmd=-e esp32c3.menu.ZigbeeMode.default=Disabled esp32c3.menu.ZigbeeMode.default.build.zigbee_mode= esp32c3.menu.ZigbeeMode.default.build.zigbee_libs= -esp32c3.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator) +esp32c3.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator/router) esp32c3.menu.ZigbeeMode.zczr.build.zigbee_mode=-DZIGBEE_MODE_ZCZR esp32c3.menu.ZigbeeMode.zczr.build.zigbee_libs=-lesp_zb_api_zczr -lesp_zb_cli_command -lzboss_stack.zczr -lzboss_port @@ -1180,7 +1180,7 @@ esp32s2.menu.EraseFlash.all.upload.erase_cmd=-e esp32s2.menu.ZigbeeMode.default=Disabled esp32s2.menu.ZigbeeMode.default.build.zigbee_mode= esp32s2.menu.ZigbeeMode.default.build.zigbee_libs= -esp32s2.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator) +esp32s2.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator/router) esp32s2.menu.ZigbeeMode.zczr.build.zigbee_mode=-DZIGBEE_MODE_ZCZR esp32s2.menu.ZigbeeMode.zczr.build.zigbee_libs=-lesp_zb_api_zczr -lesp_zb_cli_command -lzboss_stack.zczr -lzboss_port @@ -1376,7 +1376,7 @@ esp32.menu.EraseFlash.all.upload.erase_cmd=-e esp32.menu.ZigbeeMode.default=Disabled esp32.menu.ZigbeeMode.default.build.zigbee_mode= esp32.menu.ZigbeeMode.default.build.zigbee_libs= -esp32.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator) +esp32.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator/router) esp32.menu.ZigbeeMode.zczr.build.zigbee_mode=-DZIGBEE_MODE_ZCZR esp32.menu.ZigbeeMode.zczr.build.zigbee_libs=-lesp_zb_api_zczr -lesp_zb_cli_command -lzboss_stack.zczr -lzboss_port @@ -4287,7 +4287,7 @@ um_tinyc6.menu.ZigbeeMode.default.build.zigbee_libs= um_tinyc6.menu.ZigbeeMode.ed=Zigbee ED (end device) um_tinyc6.menu.ZigbeeMode.ed.build.zigbee_mode=-DZIGBEE_MODE_ED um_tinyc6.menu.ZigbeeMode.ed.build.zigbee_libs=-lesp_zb_api_ed -lesp_zb_cli_command -lzboss_stack.ed -lzboss_port -um_tinyc6.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator) +um_tinyc6.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator/router) um_tinyc6.menu.ZigbeeMode.zczr.build.zigbee_mode=-DZIGBEE_MODE_ZCZR um_tinyc6.menu.ZigbeeMode.zczr.build.zigbee_libs=-lesp_zb_api_zczr -lesp_zb_cli_command -lzboss_stack.zczr -lzboss_port um_tinyc6.menu.ZigbeeMode.rcp=Zigbee RCP (radio co-processor) @@ -7302,7 +7302,7 @@ sparkfun_esp32c6_thing_plus.menu.ZigbeeMode.default.build.zigbee_libs= sparkfun_esp32c6_thing_plus.menu.ZigbeeMode.ed=Zigbee ED (end device) sparkfun_esp32c6_thing_plus.menu.ZigbeeMode.ed.build.zigbee_mode=-DZIGBEE_MODE_ED sparkfun_esp32c6_thing_plus.menu.ZigbeeMode.ed.build.zigbee_libs=-lesp_zb_api_ed -lesp_zb_cli_command -lzboss_stack.ed -lzboss_port -sparkfun_esp32c6_thing_plus.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator) +sparkfun_esp32c6_thing_plus.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator/router) sparkfun_esp32c6_thing_plus.menu.ZigbeeMode.zczr.build.zigbee_mode=-DZIGBEE_MODE_ZCZR sparkfun_esp32c6_thing_plus.menu.ZigbeeMode.zczr.build.zigbee_libs=-lesp_zb_api_zczr -lesp_zb_cli_command -lzboss_stack.zczr -lzboss_port sparkfun_esp32c6_thing_plus.menu.ZigbeeMode.rcp=Zigbee RCP (radio co-processor) @@ -7901,7 +7901,7 @@ sparkfun_esp32c6_qwiic_pocket.menu.ZigbeeMode.default.build.zigbee_libs= sparkfun_esp32c6_qwiic_pocket.menu.ZigbeeMode.ed=Zigbee ED (end device) sparkfun_esp32c6_qwiic_pocket.menu.ZigbeeMode.ed.build.zigbee_mode=-DZIGBEE_MODE_ED sparkfun_esp32c6_qwiic_pocket.menu.ZigbeeMode.ed.build.zigbee_libs=-lesp_zb_api_ed -lesp_zb_cli_command -lzboss_stack.ed -lzboss_port -sparkfun_esp32c6_qwiic_pocket.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator) +sparkfun_esp32c6_qwiic_pocket.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator/router) sparkfun_esp32c6_qwiic_pocket.menu.ZigbeeMode.zczr.build.zigbee_mode=-DZIGBEE_MODE_ZCZR sparkfun_esp32c6_qwiic_pocket.menu.ZigbeeMode.zczr.build.zigbee_libs=-lesp_zb_api_zczr -lesp_zb_cli_command -lzboss_stack.zczr -lzboss_port sparkfun_esp32c6_qwiic_pocket.menu.ZigbeeMode.rcp=Zigbee RCP (radio co-processor) @@ -11139,7 +11139,7 @@ dfrobot_beetle_esp32c6.menu.ZigbeeMode.default.build.zigbee_libs= dfrobot_beetle_esp32c6.menu.ZigbeeMode.ed=Zigbee ED (end device) dfrobot_beetle_esp32c6.menu.ZigbeeMode.ed.build.zigbee_mode=-DZIGBEE_MODE_ED dfrobot_beetle_esp32c6.menu.ZigbeeMode.ed.build.zigbee_libs=-lesp_zb_api_ed -lesp_zb_cli_command -lzboss_stack.ed -lzboss_port -dfrobot_beetle_esp32c6.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator) +dfrobot_beetle_esp32c6.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator/router) dfrobot_beetle_esp32c6.menu.ZigbeeMode.zczr.build.zigbee_mode=-DZIGBEE_MODE_ZCZR dfrobot_beetle_esp32c6.menu.ZigbeeMode.zczr.build.zigbee_libs=-lesp_zb_api_zczr -lesp_zb_cli_command -lzboss_stack.zczr -lzboss_port dfrobot_beetle_esp32c6.menu.ZigbeeMode.rcp=Zigbee RCP (radio co-processor) @@ -11691,7 +11691,7 @@ dfrobot_firebeetle2_esp32c6.menu.ZigbeeMode.default.build.zigbee_libs= dfrobot_firebeetle2_esp32c6.menu.ZigbeeMode.ed=Zigbee ED (end device) dfrobot_firebeetle2_esp32c6.menu.ZigbeeMode.ed.build.zigbee_mode=-DZIGBEE_MODE_ED dfrobot_firebeetle2_esp32c6.menu.ZigbeeMode.ed.build.zigbee_libs=-lesp_zb_api_ed -lesp_zb_cli_command -lzboss_stack.ed -lzboss_port -dfrobot_firebeetle2_esp32c6.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator) +dfrobot_firebeetle2_esp32c6.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator/router) dfrobot_firebeetle2_esp32c6.menu.ZigbeeMode.zczr.build.zigbee_mode=-DZIGBEE_MODE_ZCZR dfrobot_firebeetle2_esp32c6.menu.ZigbeeMode.zczr.build.zigbee_libs=-lesp_zb_api_zczr -lesp_zb_cli_command -lzboss_stack.zczr -lzboss_port dfrobot_firebeetle2_esp32c6.menu.ZigbeeMode.rcp=Zigbee RCP (radio co-processor) @@ -12290,7 +12290,7 @@ adafruit_metro_esp32s2.menu.EraseFlash.all.upload.erase_cmd=-e adafruit_metro_esp32s2.menu.ZigbeeMode.default=Disabled adafruit_metro_esp32s2.menu.ZigbeeMode.default.build.zigbee_mode= adafruit_metro_esp32s2.menu.ZigbeeMode.default.build.zigbee_libs= -adafruit_metro_esp32s2.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator) +adafruit_metro_esp32s2.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator/router) adafruit_metro_esp32s2.menu.ZigbeeMode.zczr.build.zigbee_mode=-DZIGBEE_MODE_ZCZR adafruit_metro_esp32s2.menu.ZigbeeMode.zczr.build.zigbee_libs=-lesp_zb_api_zczr -lesp_zb_cli_command -lzboss_stack.zczr -lzboss_port @@ -12493,7 +12493,7 @@ adafruit_metro_esp32s3.menu.EraseFlash.all.upload.erase_cmd=-e adafruit_metro_esp32s3.menu.ZigbeeMode.default=Disabled adafruit_metro_esp32s3.menu.ZigbeeMode.default.build.zigbee_mode= adafruit_metro_esp32s3.menu.ZigbeeMode.default.build.zigbee_libs= -adafruit_metro_esp32s3.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator) +adafruit_metro_esp32s3.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator/router) adafruit_metro_esp32s3.menu.ZigbeeMode.zczr.build.zigbee_mode=-DZIGBEE_MODE_ZCZR adafruit_metro_esp32s3.menu.ZigbeeMode.zczr.build.zigbee_libs=-lesp_zb_api_zczr -lesp_zb_cli_command -lzboss_stack.zczr -lzboss_port @@ -12676,7 +12676,7 @@ adafruit_magtag29_esp32s2.menu.EraseFlash.all.upload.erase_cmd=-e adafruit_magtag29_esp32s2.menu.ZigbeeMode.default=Disabled adafruit_magtag29_esp32s2.menu.ZigbeeMode.default.build.zigbee_mode= adafruit_magtag29_esp32s2.menu.ZigbeeMode.default.build.zigbee_libs= -adafruit_magtag29_esp32s2.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator) +adafruit_magtag29_esp32s2.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator/router) adafruit_magtag29_esp32s2.menu.ZigbeeMode.zczr.build.zigbee_mode=-DZIGBEE_MODE_ZCZR adafruit_magtag29_esp32s2.menu.ZigbeeMode.zczr.build.zigbee_libs=-lesp_zb_api_zczr -lesp_zb_cli_command -lzboss_stack.zczr -lzboss_port @@ -12859,7 +12859,7 @@ adafruit_funhouse_esp32s2.menu.EraseFlash.all.upload.erase_cmd=-e adafruit_funhouse_esp32s2.menu.ZigbeeMode.default=Disabled adafruit_funhouse_esp32s2.menu.ZigbeeMode.default.build.zigbee_mode= adafruit_funhouse_esp32s2.menu.ZigbeeMode.default.build.zigbee_libs= -adafruit_funhouse_esp32s2.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator) +adafruit_funhouse_esp32s2.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator/router) adafruit_funhouse_esp32s2.menu.ZigbeeMode.zczr.build.zigbee_mode=-DZIGBEE_MODE_ZCZR adafruit_funhouse_esp32s2.menu.ZigbeeMode.zczr.build.zigbee_libs=-lesp_zb_api_zczr -lesp_zb_cli_command -lzboss_stack.zczr -lzboss_port @@ -12993,7 +12993,7 @@ featheresp32.menu.EraseFlash.all.upload.erase_cmd=-e featheresp32.menu.ZigbeeMode.default=Disabled featheresp32.menu.ZigbeeMode.default.build.zigbee_mode= featheresp32.menu.ZigbeeMode.default.build.zigbee_libs= -featheresp32.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator) +featheresp32.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator/router) featheresp32.menu.ZigbeeMode.zczr.build.zigbee_mode=-DZIGBEE_MODE_ZCZR featheresp32.menu.ZigbeeMode.zczr.build.zigbee_libs=-lesp_zb_api_zczr -lesp_zb_cli_command -lzboss_stack.zczr -lzboss_port @@ -13111,7 +13111,7 @@ adafruit_feather_esp32_v2.menu.EraseFlash.all.upload.erase_cmd=-e adafruit_feather_esp32_v2.menu.ZigbeeMode.default=Disabled adafruit_feather_esp32_v2.menu.ZigbeeMode.default.build.zigbee_mode= adafruit_feather_esp32_v2.menu.ZigbeeMode.default.build.zigbee_libs= -adafruit_feather_esp32_v2.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator) +adafruit_feather_esp32_v2.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator/router) adafruit_feather_esp32_v2.menu.ZigbeeMode.zczr.build.zigbee_mode=-DZIGBEE_MODE_ZCZR adafruit_feather_esp32_v2.menu.ZigbeeMode.zczr.build.zigbee_libs=-lesp_zb_api_zczr -lesp_zb_cli_command -lzboss_stack.zczr -lzboss_port @@ -13294,7 +13294,7 @@ adafruit_feather_esp32s2.menu.EraseFlash.all.upload.erase_cmd=-e adafruit_feather_esp32s2.menu.ZigbeeMode.default=Disabled adafruit_feather_esp32s2.menu.ZigbeeMode.default.build.zigbee_mode= adafruit_feather_esp32s2.menu.ZigbeeMode.default.build.zigbee_libs= -adafruit_feather_esp32s2.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator) +adafruit_feather_esp32s2.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator/router) adafruit_feather_esp32s2.menu.ZigbeeMode.zczr.build.zigbee_mode=-DZIGBEE_MODE_ZCZR adafruit_feather_esp32s2.menu.ZigbeeMode.zczr.build.zigbee_libs=-lesp_zb_api_zczr -lesp_zb_cli_command -lzboss_stack.zczr -lzboss_port @@ -13477,7 +13477,7 @@ adafruit_feather_esp32s2_tft.menu.EraseFlash.all.upload.erase_cmd=-e adafruit_feather_esp32s2_tft.menu.ZigbeeMode.default=Disabled adafruit_feather_esp32s2_tft.menu.ZigbeeMode.default.build.zigbee_mode= adafruit_feather_esp32s2_tft.menu.ZigbeeMode.default.build.zigbee_libs= -adafruit_feather_esp32s2_tft.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator) +adafruit_feather_esp32s2_tft.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator/router) adafruit_feather_esp32s2_tft.menu.ZigbeeMode.zczr.build.zigbee_mode=-DZIGBEE_MODE_ZCZR adafruit_feather_esp32s2_tft.menu.ZigbeeMode.zczr.build.zigbee_libs=-lesp_zb_api_zczr -lesp_zb_cli_command -lzboss_stack.zczr -lzboss_port @@ -13660,7 +13660,7 @@ adafruit_feather_esp32s2_reversetft.menu.EraseFlash.all.upload.erase_cmd=-e adafruit_feather_esp32s2_reversetft.menu.ZigbeeMode.default=Disabled adafruit_feather_esp32s2_reversetft.menu.ZigbeeMode.default.build.zigbee_mode= adafruit_feather_esp32s2_reversetft.menu.ZigbeeMode.default.build.zigbee_libs= -adafruit_feather_esp32s2_reversetft.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator) +adafruit_feather_esp32s2_reversetft.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator/router) adafruit_feather_esp32s2_reversetft.menu.ZigbeeMode.zczr.build.zigbee_mode=-DZIGBEE_MODE_ZCZR adafruit_feather_esp32s2_reversetft.menu.ZigbeeMode.zczr.build.zigbee_libs=-lesp_zb_api_zczr -lesp_zb_cli_command -lzboss_stack.zczr -lzboss_port @@ -13878,7 +13878,7 @@ adafruit_feather_esp32s3.menu.EraseFlash.all.upload.erase_cmd=-e adafruit_feather_esp32s3.menu.ZigbeeMode.default=Disabled adafruit_feather_esp32s3.menu.ZigbeeMode.default.build.zigbee_mode= adafruit_feather_esp32s3.menu.ZigbeeMode.default.build.zigbee_libs= -adafruit_feather_esp32s3.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator) +adafruit_feather_esp32s3.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator/router) adafruit_feather_esp32s3.menu.ZigbeeMode.zczr.build.zigbee_mode=-DZIGBEE_MODE_ZCZR adafruit_feather_esp32s3.menu.ZigbeeMode.zczr.build.zigbee_libs=-lesp_zb_api_zczr -lesp_zb_cli_command -lzboss_stack.zczr -lzboss_port @@ -14065,7 +14065,7 @@ adafruit_feather_esp32s3_nopsram.menu.EraseFlash.all.upload.erase_cmd=-e adafruit_feather_esp32s3_nopsram.menu.ZigbeeMode.default=Disabled adafruit_feather_esp32s3_nopsram.menu.ZigbeeMode.default.build.zigbee_mode= adafruit_feather_esp32s3_nopsram.menu.ZigbeeMode.default.build.zigbee_libs= -adafruit_feather_esp32s3_nopsram.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator) +adafruit_feather_esp32s3_nopsram.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator/router) adafruit_feather_esp32s3_nopsram.menu.ZigbeeMode.zczr.build.zigbee_mode=-DZIGBEE_MODE_ZCZR adafruit_feather_esp32s3_nopsram.menu.ZigbeeMode.zczr.build.zigbee_libs=-lesp_zb_api_zczr -lesp_zb_cli_command -lzboss_stack.zczr -lzboss_port @@ -14283,7 +14283,7 @@ adafruit_feather_esp32s3_tft.menu.EraseFlash.all.upload.erase_cmd=-e adafruit_feather_esp32s3_tft.menu.ZigbeeMode.default=Disabled adafruit_feather_esp32s3_tft.menu.ZigbeeMode.default.build.zigbee_mode= adafruit_feather_esp32s3_tft.menu.ZigbeeMode.default.build.zigbee_libs= -adafruit_feather_esp32s3_tft.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator) +adafruit_feather_esp32s3_tft.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator/router) adafruit_feather_esp32s3_tft.menu.ZigbeeMode.zczr.build.zigbee_mode=-DZIGBEE_MODE_ZCZR adafruit_feather_esp32s3_tft.menu.ZigbeeMode.zczr.build.zigbee_libs=-lesp_zb_api_zczr -lesp_zb_cli_command -lzboss_stack.zczr -lzboss_port @@ -14501,7 +14501,7 @@ adafruit_feather_esp32s3_reversetft.menu.EraseFlash.all.upload.erase_cmd=-e adafruit_feather_esp32s3_reversetft.menu.ZigbeeMode.default=Disabled adafruit_feather_esp32s3_reversetft.menu.ZigbeeMode.default.build.zigbee_mode= adafruit_feather_esp32s3_reversetft.menu.ZigbeeMode.default.build.zigbee_libs= -adafruit_feather_esp32s3_reversetft.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator) +adafruit_feather_esp32s3_reversetft.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator/router) adafruit_feather_esp32s3_reversetft.menu.ZigbeeMode.zczr.build.zigbee_mode=-DZIGBEE_MODE_ZCZR adafruit_feather_esp32s3_reversetft.menu.ZigbeeMode.zczr.build.zigbee_libs=-lesp_zb_api_zczr -lesp_zb_cli_command -lzboss_stack.zczr -lzboss_port @@ -14676,7 +14676,7 @@ adafruit_feather_esp32c6.menu.ZigbeeMode.default.build.zigbee_libs= adafruit_feather_esp32c6.menu.ZigbeeMode.ed=Zigbee ED (end device) adafruit_feather_esp32c6.menu.ZigbeeMode.ed.build.zigbee_mode=-DZIGBEE_MODE_ED adafruit_feather_esp32c6.menu.ZigbeeMode.ed.build.zigbee_libs=-lesp_zb_api_ed -lesp_zb_cli_command -lzboss_stack.ed -lzboss_port -adafruit_feather_esp32c6.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator) +adafruit_feather_esp32c6.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator/router) adafruit_feather_esp32c6.menu.ZigbeeMode.zczr.build.zigbee_mode=-DZIGBEE_MODE_ZCZR adafruit_feather_esp32c6.menu.ZigbeeMode.zczr.build.zigbee_libs=-lesp_zb_api_zczr -lesp_zb_cli_command -lzboss_stack.zczr -lzboss_port adafruit_feather_esp32c6.menu.ZigbeeMode.rcp=Zigbee RCP (radio co-processor) @@ -14799,7 +14799,7 @@ adafruit_qtpy_esp32_pico.menu.EraseFlash.all.upload.erase_cmd=-e adafruit_qtpy_esp32_pico.menu.ZigbeeMode.default=Disabled adafruit_qtpy_esp32_pico.menu.ZigbeeMode.default.build.zigbee_mode= adafruit_qtpy_esp32_pico.menu.ZigbeeMode.default.build.zigbee_libs= -adafruit_qtpy_esp32_pico.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator) +adafruit_qtpy_esp32_pico.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator/router) adafruit_qtpy_esp32_pico.menu.ZigbeeMode.zczr.build.zigbee_mode=-DZIGBEE_MODE_ZCZR adafruit_qtpy_esp32_pico.menu.ZigbeeMode.zczr.build.zigbee_libs=-lesp_zb_api_zczr -lesp_zb_cli_command -lzboss_stack.zczr -lzboss_port @@ -14934,7 +14934,7 @@ adafruit_qtpy_esp32c3.menu.EraseFlash.all.upload.erase_cmd=-e adafruit_qtpy_esp32c3.menu.ZigbeeMode.default=Disabled adafruit_qtpy_esp32c3.menu.ZigbeeMode.default.build.zigbee_mode= adafruit_qtpy_esp32c3.menu.ZigbeeMode.default.build.zigbee_libs= -adafruit_qtpy_esp32c3.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator) +adafruit_qtpy_esp32c3.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator/router) adafruit_qtpy_esp32c3.menu.ZigbeeMode.zczr.build.zigbee_mode=-DZIGBEE_MODE_ZCZR adafruit_qtpy_esp32c3.menu.ZigbeeMode.zczr.build.zigbee_libs=-lesp_zb_api_zczr -lesp_zb_cli_command -lzboss_stack.zczr -lzboss_port @@ -15117,7 +15117,7 @@ adafruit_qtpy_esp32s2.menu.EraseFlash.all.upload.erase_cmd=-e adafruit_qtpy_esp32s2.menu.ZigbeeMode.default=Disabled adafruit_qtpy_esp32s2.menu.ZigbeeMode.default.build.zigbee_mode= adafruit_qtpy_esp32s2.menu.ZigbeeMode.default.build.zigbee_libs= -adafruit_qtpy_esp32s2.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator) +adafruit_qtpy_esp32s2.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator/router) adafruit_qtpy_esp32s2.menu.ZigbeeMode.zczr.build.zigbee_mode=-DZIGBEE_MODE_ZCZR adafruit_qtpy_esp32s2.menu.ZigbeeMode.zczr.build.zigbee_libs=-lesp_zb_api_zczr -lesp_zb_cli_command -lzboss_stack.zczr -lzboss_port @@ -15304,7 +15304,7 @@ adafruit_qtpy_esp32s3_nopsram.menu.EraseFlash.all.upload.erase_cmd=-e adafruit_qtpy_esp32s3_nopsram.menu.ZigbeeMode.default=Disabled adafruit_qtpy_esp32s3_nopsram.menu.ZigbeeMode.default.build.zigbee_mode= adafruit_qtpy_esp32s3_nopsram.menu.ZigbeeMode.default.build.zigbee_libs= -adafruit_qtpy_esp32s3_nopsram.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator) +adafruit_qtpy_esp32s3_nopsram.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator/router) adafruit_qtpy_esp32s3_nopsram.menu.ZigbeeMode.zczr.build.zigbee_mode=-DZIGBEE_MODE_ZCZR adafruit_qtpy_esp32s3_nopsram.menu.ZigbeeMode.zczr.build.zigbee_libs=-lesp_zb_api_zczr -lesp_zb_cli_command -lzboss_stack.zczr -lzboss_port @@ -15522,7 +15522,7 @@ adafruit_qtpy_esp32s3_n4r2.menu.EraseFlash.all.upload.erase_cmd=-e adafruit_qtpy_esp32s3_n4r2.menu.ZigbeeMode.default=Disabled adafruit_qtpy_esp32s3_n4r2.menu.ZigbeeMode.default.build.zigbee_mode= adafruit_qtpy_esp32s3_n4r2.menu.ZigbeeMode.default.build.zigbee_libs= -adafruit_qtpy_esp32s3_n4r2.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator) +adafruit_qtpy_esp32s3_n4r2.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator/router) adafruit_qtpy_esp32s3_n4r2.menu.ZigbeeMode.zczr.build.zigbee_mode=-DZIGBEE_MODE_ZCZR adafruit_qtpy_esp32s3_n4r2.menu.ZigbeeMode.zczr.build.zigbee_libs=-lesp_zb_api_zczr -lesp_zb_cli_command -lzboss_stack.zczr -lzboss_port @@ -15640,7 +15640,7 @@ adafruit_itsybitsy_esp32.menu.EraseFlash.all.upload.erase_cmd=-e adafruit_itsybitsy_esp32.menu.ZigbeeMode.default=Disabled adafruit_itsybitsy_esp32.menu.ZigbeeMode.default.build.zigbee_mode= adafruit_itsybitsy_esp32.menu.ZigbeeMode.default.build.zigbee_libs= -adafruit_itsybitsy_esp32.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator) +adafruit_itsybitsy_esp32.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator/router) adafruit_itsybitsy_esp32.menu.ZigbeeMode.zczr.build.zigbee_mode=-DZIGBEE_MODE_ZCZR adafruit_itsybitsy_esp32.menu.ZigbeeMode.zczr.build.zigbee_libs=-lesp_zb_api_zczr -lesp_zb_cli_command -lzboss_stack.zczr -lzboss_port @@ -15837,7 +15837,7 @@ adafruit_matrixportal_esp32s3.menu.EraseFlash.all.upload.erase_cmd=-e adafruit_matrixportal_esp32s3.menu.ZigbeeMode.default=Disabled adafruit_matrixportal_esp32s3.menu.ZigbeeMode.default.build.zigbee_mode= adafruit_matrixportal_esp32s3.menu.ZigbeeMode.default.build.zigbee_libs= -adafruit_matrixportal_esp32s3.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator) +adafruit_matrixportal_esp32s3.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator/router) adafruit_matrixportal_esp32s3.menu.ZigbeeMode.zczr.build.zigbee_mode=-DZIGBEE_MODE_ZCZR adafruit_matrixportal_esp32s3.menu.ZigbeeMode.zczr.build.zigbee_libs=-lesp_zb_api_zczr -lesp_zb_cli_command -lzboss_stack.zczr -lzboss_port @@ -16055,7 +16055,7 @@ adafruit_camera_esp32s3.menu.EraseFlash.all.upload.erase_cmd=-e adafruit_camera_esp32s3.menu.ZigbeeMode.default=Disabled adafruit_camera_esp32s3.menu.ZigbeeMode.default.build.zigbee_mode= adafruit_camera_esp32s3.menu.ZigbeeMode.default.build.zigbee_libs= -adafruit_camera_esp32s3.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator) +adafruit_camera_esp32s3.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator/router) adafruit_camera_esp32s3.menu.ZigbeeMode.zczr.build.zigbee_mode=-DZIGBEE_MODE_ZCZR adafruit_camera_esp32s3.menu.ZigbeeMode.zczr.build.zigbee_libs=-lesp_zb_api_zczr -lesp_zb_cli_command -lzboss_stack.zczr -lzboss_port @@ -16258,7 +16258,7 @@ adafruit_qualia_s3_rgb666.menu.EraseFlash.all.upload.erase_cmd=-e adafruit_qualia_s3_rgb666.menu.ZigbeeMode.default=Disabled adafruit_qualia_s3_rgb666.menu.ZigbeeMode.default.build.zigbee_mode= adafruit_qualia_s3_rgb666.menu.ZigbeeMode.default.build.zigbee_libs= -adafruit_qualia_s3_rgb666.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator) +adafruit_qualia_s3_rgb666.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator/router) adafruit_qualia_s3_rgb666.menu.ZigbeeMode.zczr.build.zigbee_mode=-DZIGBEE_MODE_ZCZR adafruit_qualia_s3_rgb666.menu.ZigbeeMode.zczr.build.zigbee_libs=-lesp_zb_api_zczr -lesp_zb_cli_command -lzboss_stack.zczr -lzboss_port @@ -16713,7 +16713,7 @@ nologo_esp32s3_pico.menu.EraseFlash.all.upload.erase_cmd=-e nologo_esp32s3_pico.menu.ZigbeeMode.default=Disabled nologo_esp32s3_pico.menu.ZigbeeMode.default.build.zigbee_mode= nologo_esp32s3_pico.menu.ZigbeeMode.default.build.zigbee_libs= -nologo_esp32s3_pico.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator) +nologo_esp32s3_pico.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator/router) nologo_esp32s3_pico.menu.ZigbeeMode.zczr.build.zigbee_mode=-DZIGBEE_MODE_ZCZR nologo_esp32s3_pico.menu.ZigbeeMode.zczr.build.zigbee_libs=-lesp_zb_api_zczr -lesp_zb_cli_command -lzboss_stack.zczr -lzboss_port @@ -18659,7 +18659,7 @@ esp32c6-evb.menu.ZigbeeMode.default.build.zigbee_libs= esp32c6-evb.menu.ZigbeeMode.ed=Zigbee ED (end device) esp32c6-evb.menu.ZigbeeMode.ed.build.zigbee_mode=-DZIGBEE_MODE_ED esp32c6-evb.menu.ZigbeeMode.ed.build.zigbee_libs=-lesp_zb_api_ed -lesp_zb_cli_command -lzboss_stack.ed -lzboss_port -esp32c6-evb.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator) +esp32c6-evb.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator/router) esp32c6-evb.menu.ZigbeeMode.zczr.build.zigbee_mode=-DZIGBEE_MODE_ZCZR esp32c6-evb.menu.ZigbeeMode.zczr.build.zigbee_libs=-lesp_zb_api_zczr -lesp_zb_cli_command -lzboss_stack.zczr -lzboss_port esp32c6-evb.menu.ZigbeeMode.rcp=Zigbee RCP (radio co-processor) @@ -18841,7 +18841,7 @@ esp32h2-devkitlipo.menu.ZigbeeMode.default.build.zigbee_libs= esp32h2-devkitlipo.menu.ZigbeeMode.ed=Zigbee ED (end device) esp32h2-devkitlipo.menu.ZigbeeMode.ed.build.zigbee_mode=-DZIGBEE_MODE_ED esp32h2-devkitlipo.menu.ZigbeeMode.ed.build.zigbee_libs=-lesp_zb_api_ed -lesp_zb_cli_command -lzboss_stack.ed -lzboss_port -esp32h2-devkitlipo.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator) +esp32h2-devkitlipo.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator/router) esp32h2-devkitlipo.menu.ZigbeeMode.zczr.build.zigbee_mode=-DZIGBEE_MODE_ZCZR esp32h2-devkitlipo.menu.ZigbeeMode.zczr.build.zigbee_libs=-lesp_zb_api_zczr -lesp_zb_cli_command -lzboss_stack.zczr -lzboss_port esp32h2-devkitlipo.menu.ZigbeeMode.rcp=Zigbee RCP (radio co-processor) @@ -19037,7 +19037,7 @@ esp32-sbc-fabgl.menu.EraseFlash.all.upload.erase_cmd=-e esp32-sbc-fabgl.menu.ZigbeeMode.default=Disabled esp32-sbc-fabgl.menu.ZigbeeMode.default.build.zigbee_mode= esp32-sbc-fabgl.menu.ZigbeeMode.default.build.zigbee_libs= -esp32-sbc-fabgl.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator) +esp32-sbc-fabgl.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator/router) esp32-sbc-fabgl.menu.ZigbeeMode.zczr.build.zigbee_mode=-DZIGBEE_MODE_ZCZR esp32-sbc-fabgl.menu.ZigbeeMode.zczr.build.zigbee_libs=-lesp_zb_api_zczr -lesp_zb_cli_command -lzboss_stack.zczr -lzboss_port @@ -23727,7 +23727,7 @@ m5stack_nanoc6.menu.ZigbeeMode.default.build.zigbee_libs= m5stack_nanoc6.menu.ZigbeeMode.ed=Zigbee ED (end device) m5stack_nanoc6.menu.ZigbeeMode.ed.build.zigbee_mode=-DZIGBEE_MODE_ED m5stack_nanoc6.menu.ZigbeeMode.ed.build.zigbee_libs=-lesp_zb_api_ed -lesp_zb_cli_command -lzboss_stack.ed -lzboss_port -m5stack_nanoc6.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator) +m5stack_nanoc6.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator/router) m5stack_nanoc6.menu.ZigbeeMode.zczr.build.zigbee_mode=-DZIGBEE_MODE_ZCZR m5stack_nanoc6.menu.ZigbeeMode.zczr.build.zigbee_libs=-lesp_zb_api_zczr -lesp_zb_cli_command -lzboss_stack.zczr -lzboss_port m5stack_nanoc6.menu.ZigbeeMode.rcp=Zigbee RCP (radio co-processor) @@ -34157,7 +34157,7 @@ XIAO_ESP32C6.menu.ZigbeeMode.default.build.zigbee_libs= XIAO_ESP32C6.menu.ZigbeeMode.ed=Zigbee ED (end device) XIAO_ESP32C6.menu.ZigbeeMode.ed.build.zigbee_mode=-DZIGBEE_MODE_ED XIAO_ESP32C6.menu.ZigbeeMode.ed.build.zigbee_libs=-lesp_zb_api_ed -lesp_zb_cli_command -lzboss_stack.ed -lzboss_port -XIAO_ESP32C6.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator) +XIAO_ESP32C6.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator/router) XIAO_ESP32C6.menu.ZigbeeMode.zczr.build.zigbee_mode=-DZIGBEE_MODE_ZCZR XIAO_ESP32C6.menu.ZigbeeMode.zczr.build.zigbee_libs=-lesp_zb_api_zczr -lesp_zb_cli_command -lzboss_stack.zczr -lzboss_port XIAO_ESP32C6.menu.ZigbeeMode.rcp=Zigbee RCP (radio co-processor) @@ -39355,7 +39355,7 @@ epulse_feather_c6.menu.ZigbeeMode.default.build.zigbee_libs= epulse_feather_c6.menu.ZigbeeMode.ed=Zigbee ED (end device) epulse_feather_c6.menu.ZigbeeMode.ed.build.zigbee_mode=-DZIGBEE_MODE_ED epulse_feather_c6.menu.ZigbeeMode.ed.build.zigbee_libs=-lesp_zb_api_ed -lesp_zb_cli_command -lzboss_stack.ed -lzboss_port -epulse_feather_c6.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator) +epulse_feather_c6.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator/router) epulse_feather_c6.menu.ZigbeeMode.zczr.build.zigbee_mode=-DZIGBEE_MODE_ZCZR epulse_feather_c6.menu.ZigbeeMode.zczr.build.zigbee_libs=-lesp_zb_api_zczr -lesp_zb_cli_command -lzboss_stack.zczr -lzboss_port epulse_feather_c6.menu.ZigbeeMode.rcp=Zigbee RCP (radio co-processor) @@ -41638,7 +41638,7 @@ jczn_2432s028r.menu.EraseFlash.all.upload.erase_cmd=-e jczn_2432s028r.menu.ZigbeeMode.default=Disabled jczn_2432s028r.menu.ZigbeeMode.default.build.zigbee_mode= jczn_2432s028r.menu.ZigbeeMode.default.build.zigbee_libs= -jczn_2432s028r.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator) +jczn_2432s028r.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator/router) jczn_2432s028r.menu.ZigbeeMode.zczr.build.zigbee_mode=-DZIGBEE_MODE_ZCZR jczn_2432s028r.menu.ZigbeeMode.zczr.build.zigbee_libs=-lesp_zb_api_zczr -lesp_zb_cli_command -lzboss_stack.zczr -lzboss_port diff --git a/libraries/ESP32/examples/Zigbee/Zigbee_Light_Bulb/Zigbee_Light_Bulb.ino b/libraries/ESP32/examples/Zigbee/Zigbee_Light_Bulb/Zigbee_Light_Bulb.ino deleted file mode 100644 index c7e58125ccb..00000000000 --- a/libraries/ESP32/examples/Zigbee/Zigbee_Light_Bulb/Zigbee_Light_Bulb.ino +++ /dev/null @@ -1,183 +0,0 @@ -// Copyright 2023 Espressif Systems (Shanghai) PTE LTD -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at - -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -/** - * @brief This example demonstrates simple Zigbee light bulb. - * - * The example demonstrates how to use ESP Zigbee stack to create a end device light bulb. - * The light bulb is a Zigbee end device, which is controlled by a Zigbee coordinator. - * - * Proper Zigbee mode must be selected in Tools->Zigbee mode - * and also the correct partition scheme must be selected in Tools->Partition Scheme. - * - * Please check the README.md for instructions and more detailed description. - */ - -#ifndef ZIGBEE_MODE_ED -#error "Zigbee end device mode is not selected in Tools->Zigbee mode" -#endif - -#include "esp_zigbee_core.h" -#include "freertos/FreeRTOS.h" -#include "freertos/task.h" -#include "ha/esp_zigbee_ha_standard.h" - -#define LED_PIN RGB_BUILTIN - -/* Default End Device config */ -#define ESP_ZB_ZED_CONFIG() \ - { \ - .esp_zb_role = ESP_ZB_DEVICE_TYPE_ED, .install_code_policy = INSTALLCODE_POLICY_ENABLE, \ - .nwk_cfg = { \ - .zed_cfg = \ - { \ - .ed_timeout = ED_AGING_TIMEOUT, \ - .keep_alive = ED_KEEP_ALIVE, \ - }, \ - }, \ - } - -#define ESP_ZB_DEFAULT_RADIO_CONFIG() \ - { .radio_mode = ZB_RADIO_MODE_NATIVE, } - -#define ESP_ZB_DEFAULT_HOST_CONFIG() \ - { .host_connection_mode = ZB_HOST_CONNECTION_MODE_NONE, } - -/* Zigbee configuration */ -#define INSTALLCODE_POLICY_ENABLE false /* enable the install code policy for security */ -#define ED_AGING_TIMEOUT ESP_ZB_ED_AGING_TIMEOUT_64MIN -#define ED_KEEP_ALIVE 3000 /* 3000 millisecond */ -#define HA_ESP_LIGHT_ENDPOINT 10 /* esp light bulb device endpoint, used to process light controlling commands */ -#define ESP_ZB_PRIMARY_CHANNEL_MASK ESP_ZB_TRANSCEIVER_ALL_CHANNELS_MASK /* Zigbee primary channel mask use in the example */ - -/********************* Zigbee functions **************************/ -static void bdb_start_top_level_commissioning_cb(uint8_t mode_mask) { - ESP_ERROR_CHECK(esp_zb_bdb_start_top_level_commissioning(mode_mask)); -} - -void esp_zb_app_signal_handler(esp_zb_app_signal_t *signal_struct) { - uint32_t *p_sg_p = signal_struct->p_app_signal; - esp_err_t err_status = signal_struct->esp_err_status; - esp_zb_app_signal_type_t sig_type = (esp_zb_app_signal_type_t)*p_sg_p; - switch (sig_type) { - case ESP_ZB_ZDO_SIGNAL_SKIP_STARTUP: - log_i("Zigbee stack initialized"); - esp_zb_bdb_start_top_level_commissioning(ESP_ZB_BDB_MODE_INITIALIZATION); - break; - case ESP_ZB_BDB_SIGNAL_DEVICE_FIRST_START: - case ESP_ZB_BDB_SIGNAL_DEVICE_REBOOT: - if (err_status == ESP_OK) { - log_i("Device started up in %s factory-reset mode", esp_zb_bdb_is_factory_new() ? "" : "non"); - if (esp_zb_bdb_is_factory_new()) { - log_i("Start network formation"); - esp_zb_bdb_start_top_level_commissioning(ESP_ZB_BDB_MODE_NETWORK_STEERING); - } else { - log_i("Device rebooted"); - } - } else { - /* commissioning failed */ - log_w("Failed to initialize Zigbee stack (status: %s)", esp_err_to_name(err_status)); - } - break; - case ESP_ZB_BDB_SIGNAL_STEERING: - if (err_status == ESP_OK) { - esp_zb_ieee_addr_t extended_pan_id; - esp_zb_get_extended_pan_id(extended_pan_id); - log_i( - "Joined network successfully (Extended PAN ID: %02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x, PAN ID: 0x%04hx, Channel:%d, Short Address: 0x%04hx)", - extended_pan_id[7], extended_pan_id[6], extended_pan_id[5], extended_pan_id[4], extended_pan_id[3], extended_pan_id[2], extended_pan_id[1], - extended_pan_id[0], esp_zb_get_pan_id(), esp_zb_get_current_channel(), esp_zb_get_short_address() - ); - } else { - log_i("Network steering was not successful (status: %s)", esp_err_to_name(err_status)); - esp_zb_scheduler_alarm((esp_zb_callback_t)bdb_start_top_level_commissioning_cb, ESP_ZB_BDB_MODE_NETWORK_STEERING, 1000); - } - break; - default: log_i("ZDO signal: %s (0x%x), status: %s", esp_zb_zdo_signal_to_string(sig_type), sig_type, esp_err_to_name(err_status)); break; - } -} - -static esp_err_t zb_action_handler(esp_zb_core_action_callback_id_t callback_id, const void *message) { - esp_err_t ret = ESP_OK; - switch (callback_id) { - case ESP_ZB_CORE_SET_ATTR_VALUE_CB_ID: ret = zb_attribute_handler((esp_zb_zcl_set_attr_value_message_t *)message); break; - default: log_w("Receive Zigbee action(0x%x) callback", callback_id); break; - } - return ret; -} - -static void esp_zb_task(void *pvParameters) { - esp_zb_cfg_t zb_nwk_cfg = ESP_ZB_ZED_CONFIG(); - esp_zb_init(&zb_nwk_cfg); - esp_zb_on_off_light_cfg_t light_cfg = ESP_ZB_DEFAULT_ON_OFF_LIGHT_CONFIG(); - esp_zb_ep_list_t *esp_zb_on_off_light_ep = esp_zb_on_off_light_ep_create(HA_ESP_LIGHT_ENDPOINT, &light_cfg); - esp_zb_device_register(esp_zb_on_off_light_ep); - esp_zb_core_action_handler_register(zb_action_handler); - esp_zb_set_primary_network_channel_set(ESP_ZB_PRIMARY_CHANNEL_MASK); - - //Erase NVRAM before creating connection to new Coordinator - esp_zb_nvram_erase_at_start(true); //Comment out this line to erase NVRAM data if you are connecting to new Coordinator - - ESP_ERROR_CHECK(esp_zb_start(false)); - esp_zb_main_loop_iteration(); -} - -/* Handle the light attribute */ - -static esp_err_t zb_attribute_handler(const esp_zb_zcl_set_attr_value_message_t *message) { - esp_err_t ret = ESP_OK; - bool light_state = 0; - - if (!message) { - log_e("Empty message"); - } - if (message->info.status != ESP_ZB_ZCL_STATUS_SUCCESS) { - log_e("Received message: error status(%d)", message->info.status); - } - - log_i( - "Received message: endpoint(%d), cluster(0x%x), attribute(0x%x), data size(%d)", message->info.dst_endpoint, message->info.cluster, message->attribute.id, - message->attribute.data.size - ); - if (message->info.dst_endpoint == HA_ESP_LIGHT_ENDPOINT) { - if (message->info.cluster == ESP_ZB_ZCL_CLUSTER_ID_ON_OFF) { - if (message->attribute.id == ESP_ZB_ZCL_ATTR_ON_OFF_ON_OFF_ID && message->attribute.data.type == ESP_ZB_ZCL_ATTR_TYPE_BOOL) { - light_state = message->attribute.data.value ? *(bool *)message->attribute.data.value : light_state; - log_i("Light sets to %s", light_state ? "On" : "Off"); - rgbLedWrite(LED_PIN, 255 * light_state, 255 * light_state, 255 * light_state); // Toggle light - } - } - } - return ret; -} - -/********************* Arduino functions **************************/ -void setup() { - // Init Zigbee - esp_zb_platform_config_t config = { - .radio_config = ESP_ZB_DEFAULT_RADIO_CONFIG(), - .host_config = ESP_ZB_DEFAULT_HOST_CONFIG(), - }; - ESP_ERROR_CHECK(esp_zb_platform_config(&config)); - - // Init RMT and leave light OFF - rgbLedWrite(LED_PIN, 0, 0, 0); - - // Start Zigbee task - xTaskCreate(esp_zb_task, "Zigbee_main", 4096, NULL, 5, NULL); -} - -void loop() { - //empty, zigbee running in task -} diff --git a/libraries/ESP32/examples/Zigbee/Zigbee_Light_Bulb/ci.json b/libraries/ESP32/examples/Zigbee/Zigbee_Light_Bulb/ci.json deleted file mode 100644 index 7cfaa76784d..00000000000 --- a/libraries/ESP32/examples/Zigbee/Zigbee_Light_Bulb/ci.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "targets": { - "esp32": false, - "esp32c3": false, - "esp32c6": false, - "esp32h2": false, - "esp32s2": false, - "esp32s3": false - } -} diff --git a/libraries/ESP32/examples/Zigbee/Zigbee_Light_Switch/Zigbee_Light_Switch.ino b/libraries/ESP32/examples/Zigbee/Zigbee_Light_Switch/Zigbee_Light_Switch.ino deleted file mode 100644 index 83ec1d7aa53..00000000000 --- a/libraries/ESP32/examples/Zigbee/Zigbee_Light_Switch/Zigbee_Light_Switch.ino +++ /dev/null @@ -1,296 +0,0 @@ -// Copyright 2023 Espressif Systems (Shanghai) PTE LTD -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at - -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -/** - * @brief This example demonstrates simple Zigbee light switch. - * - * The example demonstrates how to use ESP Zigbee stack to control a light bulb. - * The light bulb is a Zigbee end device, which is controlled by a Zigbee coordinator. - * Button switch and Zigbee runs in separate tasks. - * - * Proper Zigbee mode must be selected in Tools->Zigbee mode - * and also the correct partition scheme must be selected in Tools->Partition Scheme. - * - * Please check the README.md for instructions and more detailed description. - */ - -#ifndef ZIGBEE_MODE_ZCZR -#error "Zigbee coordinator mode is not selected in Tools->Zigbee mode" -#endif - -#include "esp_zigbee_core.h" -#include "freertos/FreeRTOS.h" -#include "freertos/task.h" -#include "ha/esp_zigbee_ha_standard.h" - -/* Switch configuration */ -#define GPIO_INPUT_IO_TOGGLE_SWITCH GPIO_NUM_9 -#define PAIR_SIZE(TYPE_STR_PAIR) (sizeof(TYPE_STR_PAIR) / sizeof(TYPE_STR_PAIR[0])) - -typedef enum { - SWITCH_ON_CONTROL, - SWITCH_OFF_CONTROL, - SWITCH_ONOFF_TOGGLE_CONTROL, - SWITCH_LEVEL_UP_CONTROL, - SWITCH_LEVEL_DOWN_CONTROL, - SWITCH_LEVEL_CYCLE_CONTROL, - SWITCH_COLOR_CONTROL, -} switch_func_t; - -typedef struct { - uint8_t pin; - switch_func_t func; -} switch_func_pair_t; - -typedef enum { - SWITCH_IDLE, - SWITCH_PRESS_ARMED, - SWITCH_PRESS_DETECTED, - SWITCH_PRESSED, - SWITCH_RELEASE_DETECTED, -} switch_state_t; - -static switch_func_pair_t button_func_pair[] = {{GPIO_INPUT_IO_TOGGLE_SWITCH, SWITCH_ONOFF_TOGGLE_CONTROL}}; - -/* Default Coordinator config */ -#define ESP_ZB_ZC_CONFIG() \ - { \ - .esp_zb_role = ESP_ZB_DEVICE_TYPE_COORDINATOR, .install_code_policy = INSTALLCODE_POLICY_ENABLE, .nwk_cfg = { \ - .zczr_cfg = \ - { \ - .max_children = MAX_CHILDREN, \ - }, \ - } \ - } - -#define ESP_ZB_DEFAULT_RADIO_CONFIG() \ - { .radio_mode = ZB_RADIO_MODE_NATIVE, } - -#define ESP_ZB_DEFAULT_HOST_CONFIG() \ - { .host_connection_mode = ZB_HOST_CONNECTION_MODE_NONE, } - -typedef struct light_bulb_device_params_s { - esp_zb_ieee_addr_t ieee_addr; - uint8_t endpoint; - uint16_t short_addr; -} light_bulb_device_params_t; - -/* Zigbee configuration */ -#define MAX_CHILDREN 10 /* the max amount of connected devices */ -#define INSTALLCODE_POLICY_ENABLE false /* enable the install code policy for security */ -#define HA_ONOFF_SWITCH_ENDPOINT 1 /* esp light switch device endpoint */ -#define ESP_ZB_PRIMARY_CHANNEL_MASK ESP_ZB_TRANSCEIVER_ALL_CHANNELS_MASK /* Zigbee primary channel mask use in the example */ - -/********************* Zigbee functions **************************/ -static void esp_zb_buttons_handler(switch_func_pair_t *button_func_pair) { - if (button_func_pair->func == SWITCH_ONOFF_TOGGLE_CONTROL) { - /* implemented light switch toggle functionality */ - esp_zb_zcl_on_off_cmd_t cmd_req; - cmd_req.zcl_basic_cmd.src_endpoint = HA_ONOFF_SWITCH_ENDPOINT; - cmd_req.address_mode = ESP_ZB_APS_ADDR_MODE_DST_ADDR_ENDP_NOT_PRESENT; - cmd_req.on_off_cmd_id = ESP_ZB_ZCL_CMD_ON_OFF_TOGGLE_ID; - log_i("Send 'on_off toggle' command"); - esp_zb_zcl_on_off_cmd_req(&cmd_req); - } -} - -static void bdb_start_top_level_commissioning_cb(uint8_t mode_mask) { - ESP_ERROR_CHECK(esp_zb_bdb_start_top_level_commissioning(mode_mask)); -} - -static void bind_cb(esp_zb_zdp_status_t zdo_status, void *user_ctx) { - if (zdo_status == ESP_ZB_ZDP_STATUS_SUCCESS) { - log_i("Bound successfully!"); - if (user_ctx) { - light_bulb_device_params_t *light = (light_bulb_device_params_t *)user_ctx; - log_i("The light originating from address(0x%x) on endpoint(%d)", light->short_addr, light->endpoint); - free(light); - } - } -} - -static void user_find_cb(esp_zb_zdp_status_t zdo_status, uint16_t addr, uint8_t endpoint, void *user_ctx) { - if (zdo_status == ESP_ZB_ZDP_STATUS_SUCCESS) { - log_i("Found light"); - esp_zb_zdo_bind_req_param_t bind_req; - light_bulb_device_params_t *light = (light_bulb_device_params_t *)malloc(sizeof(light_bulb_device_params_t)); - light->endpoint = endpoint; - light->short_addr = addr; - esp_zb_ieee_address_by_short(light->short_addr, light->ieee_addr); - esp_zb_get_long_address(bind_req.src_address); - bind_req.src_endp = HA_ONOFF_SWITCH_ENDPOINT; - bind_req.cluster_id = ESP_ZB_ZCL_CLUSTER_ID_ON_OFF; - bind_req.dst_addr_mode = ESP_ZB_ZDO_BIND_DST_ADDR_MODE_64_BIT_EXTENDED; - memcpy(bind_req.dst_address_u.addr_long, light->ieee_addr, sizeof(esp_zb_ieee_addr_t)); - bind_req.dst_endp = endpoint; - bind_req.req_dst_addr = esp_zb_get_short_address(); - log_i("Try to bind On/Off"); - esp_zb_zdo_device_bind_req(&bind_req, bind_cb, (void *)light); - } -} - -void esp_zb_app_signal_handler(esp_zb_app_signal_t *signal_struct) { - uint32_t *p_sg_p = signal_struct->p_app_signal; - esp_err_t err_status = signal_struct->esp_err_status; - esp_zb_app_signal_type_t sig_type = (esp_zb_app_signal_type_t)*p_sg_p; - esp_zb_zdo_signal_device_annce_params_t *dev_annce_params = NULL; - switch (sig_type) { - case ESP_ZB_ZDO_SIGNAL_SKIP_STARTUP: - log_i("Zigbee stack initialized"); - esp_zb_bdb_start_top_level_commissioning(ESP_ZB_BDB_MODE_INITIALIZATION); - break; - case ESP_ZB_BDB_SIGNAL_DEVICE_FIRST_START: - case ESP_ZB_BDB_SIGNAL_DEVICE_REBOOT: - if (err_status == ESP_OK) { - log_i("Device started up in %s factory-reset mode", esp_zb_bdb_is_factory_new() ? "" : "non"); - if (esp_zb_bdb_is_factory_new()) { - log_i("Start network formation"); - esp_zb_bdb_start_top_level_commissioning(ESP_ZB_BDB_MODE_NETWORK_FORMATION); - } else { - log_i("Device rebooted"); - log_i("Opening network for joining for %d seconds", 180); - esp_zb_bdb_open_network(180); - } - } else { - log_e("Failed to initialize Zigbee stack (status: %s)", esp_err_to_name(err_status)); - } - break; - case ESP_ZB_BDB_SIGNAL_FORMATION: - if (err_status == ESP_OK) { - esp_zb_ieee_addr_t extended_pan_id; - esp_zb_get_extended_pan_id(extended_pan_id); - log_i( - "Formed network successfully (Extended PAN ID: %02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x, PAN ID: 0x%04hx, Channel:%d, Short Address: 0x%04hx)", - extended_pan_id[7], extended_pan_id[6], extended_pan_id[5], extended_pan_id[4], extended_pan_id[3], extended_pan_id[2], extended_pan_id[1], - extended_pan_id[0], esp_zb_get_pan_id(), esp_zb_get_current_channel(), esp_zb_get_short_address() - ); - esp_zb_bdb_start_top_level_commissioning(ESP_ZB_BDB_MODE_NETWORK_STEERING); - } else { - log_i("Restart network formation (status: %s)", esp_err_to_name(err_status)); - esp_zb_scheduler_alarm((esp_zb_callback_t)bdb_start_top_level_commissioning_cb, ESP_ZB_BDB_MODE_NETWORK_FORMATION, 1000); - } - break; - case ESP_ZB_BDB_SIGNAL_STEERING: - if (err_status == ESP_OK) { - log_i("Network steering started"); - } - break; - case ESP_ZB_ZDO_SIGNAL_DEVICE_ANNCE: - dev_annce_params = (esp_zb_zdo_signal_device_annce_params_t *)esp_zb_app_signal_get_params(p_sg_p); - log_i("New device commissioned or rejoined (short: 0x%04hx)", dev_annce_params->device_short_addr); - esp_zb_zdo_match_desc_req_param_t cmd_req; - cmd_req.dst_nwk_addr = dev_annce_params->device_short_addr; - cmd_req.addr_of_interest = dev_annce_params->device_short_addr; - esp_zb_zdo_find_on_off_light(&cmd_req, user_find_cb, NULL); - break; - case ESP_ZB_NWK_SIGNAL_PERMIT_JOIN_STATUS: - if (err_status == ESP_OK) { - if (*(uint8_t *)esp_zb_app_signal_get_params(p_sg_p)) { - log_i("Network(0x%04hx) is open for %d seconds", esp_zb_get_pan_id(), *(uint8_t *)esp_zb_app_signal_get_params(p_sg_p)); - } else { - log_w("Network(0x%04hx) closed, devices joining not allowed.", esp_zb_get_pan_id()); - } - } - break; - default: log_i("ZDO signal: %s (0x%x), status: %s", esp_zb_zdo_signal_to_string(sig_type), sig_type, esp_err_to_name(err_status)); break; - } -} - -static void esp_zb_task(void *pvParameters) { - esp_zb_cfg_t zb_nwk_cfg = ESP_ZB_ZC_CONFIG(); - esp_zb_init(&zb_nwk_cfg); - esp_zb_on_off_switch_cfg_t switch_cfg = ESP_ZB_DEFAULT_ON_OFF_SWITCH_CONFIG(); - esp_zb_ep_list_t *esp_zb_on_off_switch_ep = esp_zb_on_off_switch_ep_create(HA_ONOFF_SWITCH_ENDPOINT, &switch_cfg); - esp_zb_device_register(esp_zb_on_off_switch_ep); - esp_zb_set_primary_network_channel_set(ESP_ZB_PRIMARY_CHANNEL_MASK); - ESP_ERROR_CHECK(esp_zb_start(false)); - esp_zb_main_loop_iteration(); -} - -/********************* GPIO functions **************************/ -static QueueHandle_t gpio_evt_queue = NULL; - -static void IRAM_ATTR gpio_isr_handler(void *arg) { - xQueueSendFromISR(gpio_evt_queue, (switch_func_pair_t *)arg, NULL); -} - -static void switch_gpios_intr_enabled(bool enabled) { - for (int i = 0; i < PAIR_SIZE(button_func_pair); ++i) { - if (enabled) { - enableInterrupt((button_func_pair[i]).pin); - } else { - disableInterrupt((button_func_pair[i]).pin); - } - } -} - -/********************* Arduino functions **************************/ -void setup() { - // Init Zigbee - esp_zb_platform_config_t config = { - .radio_config = ESP_ZB_DEFAULT_RADIO_CONFIG(), - .host_config = ESP_ZB_DEFAULT_HOST_CONFIG(), - }; - - ESP_ERROR_CHECK(esp_zb_platform_config(&config)); - - // Init button switch - for (int i = 0; i < PAIR_SIZE(button_func_pair); i++) { - pinMode(button_func_pair[i].pin, INPUT_PULLUP); - /* create a queue to handle gpio event from isr */ - gpio_evt_queue = xQueueCreate(10, sizeof(switch_func_pair_t)); - if (gpio_evt_queue == 0) { - log_e("Queue was not created and must not be used"); - while (1); - } - attachInterruptArg(button_func_pair[i].pin, gpio_isr_handler, (void *)(button_func_pair + i), FALLING); - } - - // Start Zigbee task - xTaskCreate(esp_zb_task, "Zigbee_main", 4096, NULL, 5, NULL); -} - -void loop() { - // Handle button switch in loop() - uint8_t pin = 0; - switch_func_pair_t button_func_pair; - static switch_state_t switch_state = SWITCH_IDLE; - bool evt_flag = false; - - /* check if there is any queue received, if yes read out the button_func_pair */ - if (xQueueReceive(gpio_evt_queue, &button_func_pair, portMAX_DELAY)) { - pin = button_func_pair.pin; - switch_gpios_intr_enabled(false); - evt_flag = true; - } - while (evt_flag) { - bool value = digitalRead(pin); - switch (switch_state) { - case SWITCH_IDLE: switch_state = (value == LOW) ? SWITCH_PRESS_DETECTED : SWITCH_IDLE; break; - case SWITCH_PRESS_DETECTED: switch_state = (value == LOW) ? SWITCH_PRESS_DETECTED : SWITCH_RELEASE_DETECTED; break; - case SWITCH_RELEASE_DETECTED: - switch_state = SWITCH_IDLE; - /* callback to button_handler */ - (*esp_zb_buttons_handler)(&button_func_pair); - break; - default: break; - } - if (switch_state == SWITCH_IDLE) { - switch_gpios_intr_enabled(true); - evt_flag = false; - break; - } - vTaskDelay(10 / portTICK_PERIOD_MS); - } -} diff --git a/libraries/ESP32/examples/Zigbee/Zigbee_Light_Switch/ci.json b/libraries/ESP32/examples/Zigbee/Zigbee_Light_Switch/ci.json deleted file mode 100644 index 7cfaa76784d..00000000000 --- a/libraries/ESP32/examples/Zigbee/Zigbee_Light_Switch/ci.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "targets": { - "esp32": false, - "esp32c3": false, - "esp32c6": false, - "esp32h2": false, - "esp32s2": false, - "esp32s3": false - } -} diff --git a/libraries/ESP32/examples/Zigbee/Zigbee_Temperature_Sensor/Zigbee_Temperature_Sensor.ino b/libraries/ESP32/examples/Zigbee/Zigbee_Temperature_Sensor/Zigbee_Temperature_Sensor.ino deleted file mode 100644 index a510c968051..00000000000 --- a/libraries/ESP32/examples/Zigbee/Zigbee_Temperature_Sensor/Zigbee_Temperature_Sensor.ino +++ /dev/null @@ -1,349 +0,0 @@ -// Copyright 2024 Espressif Systems (Shanghai) PTE LTD -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at - -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -/** - * @brief This example demonstrates simple Zigbee temperature sensor. - * - * The example demonstrates how to use ESP Zigbee stack to create a end device temperature sensor. - * The temperature sensor is a Zigbee end device, which is controlled by a Zigbee coordinator. - * - * Proper Zigbee mode must be selected in Tools->Zigbee mode - * and also the correct partition scheme must be selected in Tools->Partition Scheme. - * - * Please check the README.md for instructions and more detailed description. - */ - -#ifndef ZIGBEE_MODE_ED -#error "Zigbee end device mode is not selected in Tools->Zigbee mode" -#endif - -#include "esp_zigbee_core.h" -#include "freertos/FreeRTOS.h" -#include "freertos/task.h" -#include "ha/esp_zigbee_ha_standard.h" - -/* Switch configuration */ -#define GPIO_INPUT_IO_TOGGLE_SWITCH GPIO_NUM_9 -#define PAIR_SIZE(TYPE_STR_PAIR) (sizeof(TYPE_STR_PAIR) / sizeof(TYPE_STR_PAIR[0])) - -typedef enum { - SWITCH_ON_CONTROL, - SWITCH_OFF_CONTROL, - SWITCH_ONOFF_TOGGLE_CONTROL, - SWITCH_LEVEL_UP_CONTROL, - SWITCH_LEVEL_DOWN_CONTROL, - SWITCH_LEVEL_CYCLE_CONTROL, - SWITCH_COLOR_CONTROL, -} switch_func_t; - -typedef struct { - uint8_t pin; - switch_func_t func; -} switch_func_pair_t; - -typedef enum { - SWITCH_IDLE, - SWITCH_PRESS_ARMED, - SWITCH_PRESS_DETECTED, - SWITCH_PRESSED, - SWITCH_RELEASE_DETECTED, -} switch_state_t; - -static switch_func_pair_t button_func_pair[] = {{GPIO_INPUT_IO_TOGGLE_SWITCH, SWITCH_ONOFF_TOGGLE_CONTROL}}; - -/* Default End Device config */ -#define ESP_ZB_ZED_CONFIG() \ - { \ - .esp_zb_role = ESP_ZB_DEVICE_TYPE_ED, .install_code_policy = INSTALLCODE_POLICY_ENABLE, \ - .nwk_cfg = { \ - .zed_cfg = \ - { \ - .ed_timeout = ED_AGING_TIMEOUT, \ - .keep_alive = ED_KEEP_ALIVE, \ - }, \ - }, \ - } - -#define ESP_ZB_DEFAULT_RADIO_CONFIG() \ - { .radio_mode = ZB_RADIO_MODE_NATIVE, } - -#define ESP_ZB_DEFAULT_HOST_CONFIG() \ - { .host_connection_mode = ZB_HOST_CONNECTION_MODE_NONE, } - -/* Zigbee configuration */ -#define INSTALLCODE_POLICY_ENABLE false /* enable the install code policy for security */ -#define ED_AGING_TIMEOUT ESP_ZB_ED_AGING_TIMEOUT_64MIN -#define ED_KEEP_ALIVE 3000 /* 3000 millisecond */ -#define HA_ESP_SENSOR_ENDPOINT 10 /* esp temperature sensor device endpoint, used for temperature measurement */ -#define ESP_ZB_PRIMARY_CHANNEL_MASK ESP_ZB_TRANSCEIVER_ALL_CHANNELS_MASK /* Zigbee primary channel mask use in the example */ - -/* Temperature sensor configuration */ -#define ESP_TEMP_SENSOR_UPDATE_INTERVAL (1) /* Local sensor update interval (second) */ -#define ESP_TEMP_SENSOR_MIN_VALUE (10) /* Local sensor min measured value (degree Celsius) */ -#define ESP_TEMP_SENSOR_MAX_VALUE (50) /* Local sensor max measured value (degree Celsius) */ - -/* Attribute values in ZCL string format - * The string should be started with the length of its own. - */ -#define MANUFACTURER_NAME \ - "\x0B" \ - "ESPRESSIF" -#define MODEL_IDENTIFIER "\x09" CONFIG_IDF_TARGET - -/********************* Zigbee functions **************************/ -static int16_t zb_temperature_to_s16(float temp) { - return (int16_t)(temp * 100); -} - -static void esp_zb_buttons_handler(switch_func_pair_t *button_func_pair) { - if (button_func_pair->func == SWITCH_ONOFF_TOGGLE_CONTROL) { - /* Send report attributes command */ - esp_zb_zcl_report_attr_cmd_t report_attr_cmd; - report_attr_cmd.address_mode = ESP_ZB_APS_ADDR_MODE_DST_ADDR_ENDP_NOT_PRESENT; - report_attr_cmd.attributeID = ESP_ZB_ZCL_ATTR_TEMP_MEASUREMENT_VALUE_ID; - report_attr_cmd.cluster_role = ESP_ZB_ZCL_CLUSTER_SERVER_ROLE; - report_attr_cmd.clusterID = ESP_ZB_ZCL_CLUSTER_ID_TEMP_MEASUREMENT; - report_attr_cmd.zcl_basic_cmd.src_endpoint = HA_ESP_SENSOR_ENDPOINT; - - esp_zb_lock_acquire(portMAX_DELAY); - esp_zb_zcl_report_attr_cmd_req(&report_attr_cmd); - esp_zb_lock_release(); - log_i("Send 'report attributes' command"); - } -} - -static void esp_app_temp_sensor_handler(float temperature) { - int16_t measured_value = zb_temperature_to_s16(temperature); - Serial.println("Updating temperature sensor value..."); - Serial.println(measured_value); - /* Update temperature sensor measured value */ - esp_zb_lock_acquire(portMAX_DELAY); - esp_zb_zcl_set_attribute_val( - HA_ESP_SENSOR_ENDPOINT, ESP_ZB_ZCL_CLUSTER_ID_TEMP_MEASUREMENT, ESP_ZB_ZCL_CLUSTER_SERVER_ROLE, ESP_ZB_ZCL_ATTR_TEMP_MEASUREMENT_VALUE_ID, &measured_value, - false - ); - esp_zb_lock_release(); -} - -static void bdb_start_top_level_commissioning_cb(uint8_t mode_mask) { - ESP_ERROR_CHECK(esp_zb_bdb_start_top_level_commissioning(mode_mask)); -} - -void esp_zb_app_signal_handler(esp_zb_app_signal_t *signal_struct) { - uint32_t *p_sg_p = signal_struct->p_app_signal; - esp_err_t err_status = signal_struct->esp_err_status; - esp_zb_app_signal_type_t sig_type = (esp_zb_app_signal_type_t)*p_sg_p; - switch (sig_type) { - case ESP_ZB_ZDO_SIGNAL_SKIP_STARTUP: - log_i("Zigbee stack initialized"); - esp_zb_bdb_start_top_level_commissioning(ESP_ZB_BDB_MODE_INITIALIZATION); - break; - case ESP_ZB_BDB_SIGNAL_DEVICE_FIRST_START: - case ESP_ZB_BDB_SIGNAL_DEVICE_REBOOT: - if (err_status == ESP_OK) { - log_i("Start network steering"); - log_i("Device started up in %s factory-reset mode", esp_zb_bdb_is_factory_new() ? "" : "non"); - // Start Temperature sensor reading task - xTaskCreate(temp_sensor_value_update, "temp_sensor_update", 2048, NULL, 10, NULL); - if (esp_zb_bdb_is_factory_new()) { - log_i("Start network steering"); - esp_zb_bdb_start_top_level_commissioning(ESP_ZB_BDB_MODE_NETWORK_STEERING); - } else { - log_i("Device rebooted"); - } - } else { - /* commissioning failed */ - log_w("Failed to initialize Zigbee stack (status: %s)", esp_err_to_name(err_status)); - } - break; - case ESP_ZB_BDB_SIGNAL_STEERING: - if (err_status == ESP_OK) { - esp_zb_ieee_addr_t extended_pan_id; - esp_zb_get_extended_pan_id(extended_pan_id); - log_i( - "Joined network successfully (Extended PAN ID: %02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x, PAN ID: 0x%04hx, Channel:%d, Short Address: 0x%04hx)", - extended_pan_id[7], extended_pan_id[6], extended_pan_id[5], extended_pan_id[4], extended_pan_id[3], extended_pan_id[2], extended_pan_id[1], - extended_pan_id[0], esp_zb_get_pan_id(), esp_zb_get_current_channel(), esp_zb_get_short_address() - ); - } else { - log_i("Network steering was not successful (status: %s)", esp_err_to_name(err_status)); - esp_zb_scheduler_alarm((esp_zb_callback_t)bdb_start_top_level_commissioning_cb, ESP_ZB_BDB_MODE_NETWORK_STEERING, 1000); - } - break; - default: log_i("ZDO signal: %s (0x%x), status: %s", esp_zb_zdo_signal_to_string(sig_type), sig_type, esp_err_to_name(err_status)); break; - } -} - -static esp_zb_cluster_list_t *custom_temperature_sensor_clusters_create(esp_zb_temperature_sensor_cfg_t *temperature_sensor) { - esp_zb_cluster_list_t *cluster_list = esp_zb_zcl_cluster_list_create(); - esp_zb_attribute_list_t *basic_cluster = esp_zb_basic_cluster_create(&(temperature_sensor->basic_cfg)); - ESP_ERROR_CHECK(esp_zb_basic_cluster_add_attr(basic_cluster, ESP_ZB_ZCL_ATTR_BASIC_MANUFACTURER_NAME_ID, (void *)MANUFACTURER_NAME)); - ESP_ERROR_CHECK(esp_zb_basic_cluster_add_attr(basic_cluster, ESP_ZB_ZCL_ATTR_BASIC_MODEL_IDENTIFIER_ID, (void *)MODEL_IDENTIFIER)); - ESP_ERROR_CHECK(esp_zb_cluster_list_add_basic_cluster(cluster_list, basic_cluster, ESP_ZB_ZCL_CLUSTER_SERVER_ROLE)); - ESP_ERROR_CHECK( - esp_zb_cluster_list_add_identify_cluster(cluster_list, esp_zb_identify_cluster_create(&(temperature_sensor->identify_cfg)), ESP_ZB_ZCL_CLUSTER_SERVER_ROLE) - ); - ESP_ERROR_CHECK( - esp_zb_cluster_list_add_identify_cluster(cluster_list, esp_zb_zcl_attr_list_create(ESP_ZB_ZCL_CLUSTER_ID_IDENTIFY), ESP_ZB_ZCL_CLUSTER_CLIENT_ROLE) - ); - ESP_ERROR_CHECK(esp_zb_cluster_list_add_temperature_meas_cluster( - cluster_list, esp_zb_temperature_meas_cluster_create(&(temperature_sensor->temp_meas_cfg)), ESP_ZB_ZCL_CLUSTER_SERVER_ROLE - )); - return cluster_list; -} - -static esp_zb_ep_list_t *custom_temperature_sensor_ep_create(uint8_t endpoint_id, esp_zb_temperature_sensor_cfg_t *temperature_sensor) { - esp_zb_ep_list_t *ep_list = esp_zb_ep_list_create(); - esp_zb_endpoint_config_t endpoint_config = { - .endpoint = endpoint_id, .app_profile_id = ESP_ZB_AF_HA_PROFILE_ID, .app_device_id = ESP_ZB_HA_TEMPERATURE_SENSOR_DEVICE_ID, .app_device_version = 0 - }; - esp_zb_ep_list_add_ep(ep_list, custom_temperature_sensor_clusters_create(temperature_sensor), endpoint_config); - return ep_list; -} - -static void esp_zb_task(void *pvParameters) { - esp_zb_cfg_t zb_nwk_cfg = ESP_ZB_ZED_CONFIG(); - esp_zb_init(&zb_nwk_cfg); - /* Create customized temperature sensor endpoint */ - esp_zb_temperature_sensor_cfg_t sensor_cfg = ESP_ZB_DEFAULT_TEMPERATURE_SENSOR_CONFIG(); - /* Set (Min|Max)MeasuredValure */ - sensor_cfg.temp_meas_cfg.min_value = zb_temperature_to_s16(ESP_TEMP_SENSOR_MIN_VALUE); - sensor_cfg.temp_meas_cfg.max_value = zb_temperature_to_s16(ESP_TEMP_SENSOR_MAX_VALUE); - esp_zb_ep_list_t *esp_zb_sensor_ep = custom_temperature_sensor_ep_create(HA_ESP_SENSOR_ENDPOINT, &sensor_cfg); - /* Register the device */ - esp_zb_device_register(esp_zb_sensor_ep); - - /* Config the reporting info */ - esp_zb_zcl_reporting_info_t reporting_info = { - .direction = ESP_ZB_ZCL_CMD_DIRECTION_TO_SRV, - .ep = HA_ESP_SENSOR_ENDPOINT, - .cluster_id = ESP_ZB_ZCL_CLUSTER_ID_TEMP_MEASUREMENT, - .cluster_role = ESP_ZB_ZCL_CLUSTER_SERVER_ROLE, - .attr_id = ESP_ZB_ZCL_ATTR_TEMP_MEASUREMENT_VALUE_ID, - .u = - { - .send_info = - { - .min_interval = 1, - .max_interval = 0, - .delta = - { - .u16 = 100, - }, - .def_min_interval = 1, - .def_max_interval = 0, - }, - }, - .dst = - { - .profile_id = ESP_ZB_AF_HA_PROFILE_ID, - }, - .manuf_code = ESP_ZB_ZCL_ATTR_NON_MANUFACTURER_SPECIFIC, - }; - esp_zb_zcl_update_reporting_info(&reporting_info); - esp_zb_set_primary_network_channel_set(ESP_ZB_PRIMARY_CHANNEL_MASK); - - //Erase NVRAM before creating connection to new Coordinator - //esp_zb_nvram_erase_at_start(true); //Comment out this line to erase NVRAM data if you are connecting to new Coordinator - - ESP_ERROR_CHECK(esp_zb_start(false)); - esp_zb_main_loop_iteration(); -} - -/********************* GPIO functions **************************/ -static QueueHandle_t gpio_evt_queue = NULL; - -static void IRAM_ATTR gpio_isr_handler(void *arg) { - xQueueSendFromISR(gpio_evt_queue, (switch_func_pair_t *)arg, NULL); -} - -static void switch_gpios_intr_enabled(bool enabled) { - for (int i = 0; i < PAIR_SIZE(button_func_pair); ++i) { - if (enabled) { - enableInterrupt((button_func_pair[i]).pin); - } else { - disableInterrupt((button_func_pair[i]).pin); - } - } -} - -/************************ Temp sensor *****************************/ -static void temp_sensor_value_update(void *arg) { - for (;;) { - float tsens_value = temperatureRead(); - esp_app_temp_sensor_handler(tsens_value); - delay(1000); - } -} - -/********************* Arduino functions **************************/ -void setup() { - Serial.begin(115200); - // Init Zigbee - esp_zb_platform_config_t config = { - .radio_config = ESP_ZB_DEFAULT_RADIO_CONFIG(), - .host_config = ESP_ZB_DEFAULT_HOST_CONFIG(), - }; - ESP_ERROR_CHECK(esp_zb_platform_config(&config)); - - // Init button switch - for (int i = 0; i < PAIR_SIZE(button_func_pair); i++) { - pinMode(button_func_pair[i].pin, INPUT_PULLUP); - /* create a queue to handle gpio event from isr */ - gpio_evt_queue = xQueueCreate(10, sizeof(switch_func_pair_t)); - if (gpio_evt_queue == 0) { - log_e("Queue was not created and must not be used"); - while (1); - } - attachInterruptArg(button_func_pair[i].pin, gpio_isr_handler, (void *)(button_func_pair + i), FALLING); - } - - // Start Zigbee task - xTaskCreate(esp_zb_task, "Zigbee_main", 4096, NULL, 5, NULL); -} - -void loop() { - // Handle button switch in loop() - uint8_t pin = 0; - switch_func_pair_t button_func_pair; - static switch_state_t switch_state = SWITCH_IDLE; - bool evt_flag = false; - float temperature; - - /* check if there is any queue received, if yes read out the button_func_pair */ - if (xQueueReceive(gpio_evt_queue, &button_func_pair, portMAX_DELAY)) { - pin = button_func_pair.pin; - switch_gpios_intr_enabled(false); - evt_flag = true; - } - while (evt_flag) { - bool value = digitalRead(pin); - switch (switch_state) { - case SWITCH_IDLE: switch_state = (value == LOW) ? SWITCH_PRESS_DETECTED : SWITCH_IDLE; break; - case SWITCH_PRESS_DETECTED: switch_state = (value == LOW) ? SWITCH_PRESS_DETECTED : SWITCH_RELEASE_DETECTED; break; - case SWITCH_RELEASE_DETECTED: - switch_state = SWITCH_IDLE; - /* callback to button_handler */ - (*esp_zb_buttons_handler)(&button_func_pair); - break; - default: break; - } - if (switch_state == SWITCH_IDLE) { - switch_gpios_intr_enabled(true); - evt_flag = false; - break; - } - delay(10); - } -} diff --git a/libraries/ESP32/examples/Zigbee/Zigbee_Temperature_Sensor/ci.json b/libraries/ESP32/examples/Zigbee/Zigbee_Temperature_Sensor/ci.json deleted file mode 100644 index 7cfaa76784d..00000000000 --- a/libraries/ESP32/examples/Zigbee/Zigbee_Temperature_Sensor/ci.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "targets": { - "esp32": false, - "esp32c3": false, - "esp32c6": false, - "esp32h2": false, - "esp32s2": false, - "esp32s3": false - } -} diff --git a/libraries/ESP32/examples/Zigbee/Zigbee_Thermostat/Zigbee_Thermostat.ino b/libraries/ESP32/examples/Zigbee/Zigbee_Thermostat/Zigbee_Thermostat.ino deleted file mode 100644 index f229b9f10e8..00000000000 --- a/libraries/ESP32/examples/Zigbee/Zigbee_Thermostat/Zigbee_Thermostat.ino +++ /dev/null @@ -1,565 +0,0 @@ -// Copyright 2024 Espressif Systems (Shanghai) PTE LTD -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at - -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -/** - * @brief This example demonstrates simple Zigbee thermostat. - * - * The example demonstrates how to use ESP Zigbee stack to get data from temperature - * sensor end device and act as an thermostat. - * The temperature sensor is a Zigbee end device, which is controlled by a Zigbee coordinator (thermostat). - * Button switch and Zigbee runs in separate tasks. - * - * Proper Zigbee mode must be selected in Tools->Zigbee mode - * and also the correct partition scheme must be selected in Tools->Partition Scheme. - * - * Please check the README.md for instructions and more detailed description. - */ - -#ifndef ZIGBEE_MODE_ZCZR -#error "Zigbee coordinator mode is not selected in Tools->Zigbee mode" -#endif - -#include "esp_zigbee_core.h" -#include "freertos/FreeRTOS.h" -#include "freertos/task.h" -#include "ha/esp_zigbee_ha_standard.h" - -#define ARRAY_LENTH(arr) (sizeof(arr) / sizeof(arr[0])) - -/* Switch configuration */ -#define GPIO_INPUT_IO_TOGGLE_SWITCH GPIO_NUM_9 -#define PAIR_SIZE(TYPE_STR_PAIR) (sizeof(TYPE_STR_PAIR) / sizeof(TYPE_STR_PAIR[0])) - -typedef enum { - SWITCH_ON_CONTROL, - SWITCH_OFF_CONTROL, - SWITCH_ONOFF_TOGGLE_CONTROL, - SWITCH_LEVEL_UP_CONTROL, - SWITCH_LEVEL_DOWN_CONTROL, - SWITCH_LEVEL_CYCLE_CONTROL, - SWITCH_COLOR_CONTROL, -} switch_func_t; - -typedef struct { - uint8_t pin; - switch_func_t func; -} switch_func_pair_t; - -typedef enum { - SWITCH_IDLE, - SWITCH_PRESS_ARMED, - SWITCH_PRESS_DETECTED, - SWITCH_PRESSED, - SWITCH_RELEASE_DETECTED, -} switch_state_t; - -static switch_func_pair_t button_func_pair[] = {{GPIO_INPUT_IO_TOGGLE_SWITCH, SWITCH_ONOFF_TOGGLE_CONTROL}}; - -/* Default Coordinator config */ -#define ESP_ZB_ZC_CONFIG() \ - { \ - .esp_zb_role = ESP_ZB_DEVICE_TYPE_COORDINATOR, .install_code_policy = INSTALLCODE_POLICY_ENABLE, .nwk_cfg = { \ - .zczr_cfg = \ - { \ - .max_children = MAX_CHILDREN, \ - }, \ - } \ - } - -#define ESP_ZB_DEFAULT_RADIO_CONFIG() \ - { .radio_mode = ZB_RADIO_MODE_NATIVE, } - -#define ESP_ZB_DEFAULT_HOST_CONFIG() \ - { .host_connection_mode = ZB_HOST_CONNECTION_MODE_NONE, } - -/* Temperature sensor device parameters */ -typedef struct temp_sensor_device_params_s { - esp_zb_ieee_addr_t ieee_addr; - uint8_t endpoint; - uint16_t short_addr; -} temp_sensor_device_params_t; - -typedef struct zbstring_s { - uint8_t len; - char data[]; -} ESP_ZB_PACKED_STRUCT zbstring_t; - -static temp_sensor_device_params_t temp_sensor; - -/* Zigbee configuration */ -#define MAX_CHILDREN 10 /* the max amount of connected devices */ -#define INSTALLCODE_POLICY_ENABLE false /* enable the install code policy for security */ -#define HA_THERMOSTAT_ENDPOINT 1 /* esp light switch device endpoint */ -#define ESP_ZB_PRIMARY_CHANNEL_MASK ESP_ZB_TRANSCEIVER_ALL_CHANNELS_MASK /* Zigbee primary channel mask use in the example */ - -/* Attribute values in ZCL string format - * The string should be started with the length of its own. - */ -#define MANUFACTURER_NAME \ - "\x0B" \ - "ESPRESSIF" -#define MODEL_IDENTIFIER "\x09" CONFIG_IDF_TARGET - -/********************* Zigbee functions **************************/ -static float zb_s16_to_temperature(int16_t value) { - return 1.0 * value / 100; -} - -static void esp_zb_buttons_handler(switch_func_pair_t *button_func_pair) { - if (button_func_pair->func == SWITCH_ONOFF_TOGGLE_CONTROL) { - /* Send "read attributes" command to the bound sensor */ - esp_zb_zcl_read_attr_cmd_t read_req; - read_req.address_mode = ESP_ZB_APS_ADDR_MODE_DST_ADDR_ENDP_NOT_PRESENT; - read_req.zcl_basic_cmd.src_endpoint = HA_THERMOSTAT_ENDPOINT; - read_req.clusterID = ESP_ZB_ZCL_CLUSTER_ID_TEMP_MEASUREMENT; - - uint16_t attributes[] = { - ESP_ZB_ZCL_ATTR_TEMP_MEASUREMENT_VALUE_ID, ESP_ZB_ZCL_ATTR_TEMP_MEASUREMENT_MIN_VALUE_ID, ESP_ZB_ZCL_ATTR_TEMP_MEASUREMENT_MAX_VALUE_ID, - ESP_ZB_ZCL_ATTR_TEMP_MEASUREMENT_TOLERANCE_ID - }; - read_req.attr_number = ARRAY_LENTH(attributes); - read_req.attr_field = attributes; - - /* Send "configure report attribute" command to the bound sensor */ - esp_zb_zcl_config_report_cmd_t report_cmd; - report_cmd.address_mode = ESP_ZB_APS_ADDR_MODE_DST_ADDR_ENDP_NOT_PRESENT; - report_cmd.zcl_basic_cmd.src_endpoint = HA_THERMOSTAT_ENDPOINT; - report_cmd.clusterID = ESP_ZB_ZCL_CLUSTER_ID_TEMP_MEASUREMENT; - - int16_t report_change = 200; /* report on each 2 degree changes */ - esp_zb_zcl_config_report_record_t records[] = { - { - .direction = ESP_ZB_ZCL_CMD_DIRECTION_TO_SRV, - .attributeID = ESP_ZB_ZCL_ATTR_TEMP_MEASUREMENT_VALUE_ID, - .attrType = ESP_ZB_ZCL_ATTR_TYPE_S16, - .min_interval = 0, - .max_interval = 10, - .reportable_change = &report_change, - }, - }; - report_cmd.record_number = ARRAY_LENTH(records); - report_cmd.record_field = records; - - esp_zb_lock_acquire(portMAX_DELAY); - esp_zb_zcl_config_report_cmd_req(&report_cmd); - esp_zb_lock_release(); - log_i("Send 'configure reporting' command"); - - esp_zb_lock_acquire(portMAX_DELAY); - esp_zb_zcl_read_attr_cmd_req(&read_req); - esp_zb_lock_release(); - log_i("Send 'read attributes' command"); - } -} - -static void bdb_start_top_level_commissioning_cb(uint8_t mode_mask) { - ESP_ERROR_CHECK(esp_zb_bdb_start_top_level_commissioning(mode_mask)); -} - -static void bind_cb(esp_zb_zdp_status_t zdo_status, void *user_ctx) { - esp_zb_zdo_bind_req_param_t *bind_req = (esp_zb_zdo_bind_req_param_t *)user_ctx; - - if (zdo_status == ESP_ZB_ZDP_STATUS_SUCCESS) { - /* Local binding succeeds */ - if (bind_req->req_dst_addr == esp_zb_get_short_address()) { - log_i("Successfully bind the temperature sensor from address(0x%x) on endpoint(%d)", temp_sensor.short_addr, temp_sensor.endpoint); - - /* Read peer Manufacture Name & Model Identifier */ - esp_zb_zcl_read_attr_cmd_t read_req; - read_req.address_mode = ESP_ZB_APS_ADDR_MODE_16_ENDP_PRESENT; - read_req.zcl_basic_cmd.src_endpoint = HA_THERMOSTAT_ENDPOINT; - read_req.zcl_basic_cmd.dst_endpoint = temp_sensor.endpoint; - read_req.zcl_basic_cmd.dst_addr_u.addr_short = temp_sensor.short_addr; - read_req.clusterID = ESP_ZB_ZCL_CLUSTER_ID_BASIC; - - uint16_t attributes[] = { - ESP_ZB_ZCL_ATTR_BASIC_MANUFACTURER_NAME_ID, - ESP_ZB_ZCL_ATTR_BASIC_MODEL_IDENTIFIER_ID, - }; - read_req.attr_number = ARRAY_LENTH(attributes); - read_req.attr_field = attributes; - - esp_zb_zcl_read_attr_cmd_req(&read_req); - } - if (bind_req->req_dst_addr == temp_sensor.short_addr) { - log_i("The temperature sensor from address(0x%x) on endpoint(%d) successfully binds us", temp_sensor.short_addr, temp_sensor.endpoint); - } - free(bind_req); - } else { - /* Bind failed, maybe retry the binding ? */ - - // esp_zb_zdo_device_bind_req(bind_req, bind_cb, bind_req); - } -} - -static void user_find_cb(esp_zb_zdp_status_t zdo_status, uint16_t addr, uint8_t endpoint, void *user_ctx) { - if (zdo_status == ESP_ZB_ZDP_STATUS_SUCCESS) { - log_i("Found temperature sensor"); - /* Store the information of the remote device */ - temp_sensor_device_params_t *sensor = (temp_sensor_device_params_t *)user_ctx; - sensor->endpoint = endpoint; - sensor->short_addr = addr; - esp_zb_ieee_address_by_short(sensor->short_addr, sensor->ieee_addr); - log_d("Temperature sensor found: short address(0x%x), endpoint(%d)", sensor->short_addr, sensor->endpoint); - - /* 1. Send binding request to the sensor */ - esp_zb_zdo_bind_req_param_t *bind_req = (esp_zb_zdo_bind_req_param_t *)calloc(sizeof(esp_zb_zdo_bind_req_param_t), 1); - bind_req->req_dst_addr = addr; - log_d("Request temperature sensor to bind us"); - - /* populate the src information of the binding */ - memcpy(bind_req->src_address, sensor->ieee_addr, sizeof(esp_zb_ieee_addr_t)); - bind_req->src_endp = endpoint; - bind_req->cluster_id = ESP_ZB_ZCL_CLUSTER_ID_TEMP_MEASUREMENT; - log_d("Bind temperature sensor"); - - /* populate the dst information of the binding */ - bind_req->dst_addr_mode = ESP_ZB_ZDO_BIND_DST_ADDR_MODE_64_BIT_EXTENDED; - esp_zb_get_long_address(bind_req->dst_address_u.addr_long); - bind_req->dst_endp = HA_THERMOSTAT_ENDPOINT; - - log_i("Request temperature sensor to bind us"); - esp_zb_zdo_device_bind_req(bind_req, bind_cb, bind_req); - - /* 2. Send binding request to self */ - bind_req = (esp_zb_zdo_bind_req_param_t *)calloc(sizeof(esp_zb_zdo_bind_req_param_t), 1); - bind_req->req_dst_addr = esp_zb_get_short_address(); - - /* populate the src information of the binding */ - esp_zb_get_long_address(bind_req->src_address); - bind_req->src_endp = HA_THERMOSTAT_ENDPOINT; - bind_req->cluster_id = ESP_ZB_ZCL_CLUSTER_ID_TEMP_MEASUREMENT; - - /* populate the dst information of the binding */ - bind_req->dst_addr_mode = ESP_ZB_ZDO_BIND_DST_ADDR_MODE_64_BIT_EXTENDED; - memcpy(bind_req->dst_address_u.addr_long, sensor->ieee_addr, sizeof(esp_zb_ieee_addr_t)); - bind_req->dst_endp = endpoint; - - log_i("Bind temperature sensor"); - esp_zb_zdo_device_bind_req(bind_req, bind_cb, bind_req); - } -} - -static void find_temperature_sensor(esp_zb_zdo_match_desc_req_param_t *param, esp_zb_zdo_match_desc_callback_t user_cb, void *user_ctx) { - uint16_t cluster_list[] = {ESP_ZB_ZCL_CLUSTER_ID_TEMP_MEASUREMENT}; - param->profile_id = ESP_ZB_AF_HA_PROFILE_ID; - param->num_in_clusters = 1; - param->num_out_clusters = 0; - param->cluster_list = cluster_list; - esp_zb_zdo_match_cluster(param, user_cb, (void *)&temp_sensor); -} - -void esp_zb_app_signal_handler(esp_zb_app_signal_t *signal_struct) { - uint32_t *p_sg_p = signal_struct->p_app_signal; - esp_err_t err_status = signal_struct->esp_err_status; - esp_zb_app_signal_type_t sig_type = (esp_zb_app_signal_type_t)*p_sg_p; - esp_zb_zdo_signal_device_annce_params_t *dev_annce_params = NULL; - switch (sig_type) { - case ESP_ZB_ZDO_SIGNAL_SKIP_STARTUP: - log_i("Zigbee stack initialized"); - esp_zb_bdb_start_top_level_commissioning(ESP_ZB_BDB_MODE_INITIALIZATION); - break; - case ESP_ZB_BDB_SIGNAL_DEVICE_FIRST_START: - case ESP_ZB_BDB_SIGNAL_DEVICE_REBOOT: - if (err_status == ESP_OK) { - log_i("Device started up in %s factory-reset mode", esp_zb_bdb_is_factory_new() ? "" : "non"); - if (esp_zb_bdb_is_factory_new()) { - log_i("Start network formation"); - esp_zb_bdb_start_top_level_commissioning(ESP_ZB_BDB_MODE_NETWORK_FORMATION); - } else { - log_i("Device rebooted"); - log_i("Opening network for joining for %d seconds", 180); - esp_zb_bdb_open_network(180); - } - } else { - log_e("Failed to initialize Zigbee stack (status: %s)", esp_err_to_name(err_status)); - } - break; - case ESP_ZB_BDB_SIGNAL_FORMATION: - if (err_status == ESP_OK) { - esp_zb_ieee_addr_t extended_pan_id; - esp_zb_get_extended_pan_id(extended_pan_id); - log_i( - "Formed network successfully (Extended PAN ID: %02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x, PAN ID: 0x%04hx, Channel:%d, Short Address: 0x%04hx)", - extended_pan_id[7], extended_pan_id[6], extended_pan_id[5], extended_pan_id[4], extended_pan_id[3], extended_pan_id[2], extended_pan_id[1], - extended_pan_id[0], esp_zb_get_pan_id(), esp_zb_get_current_channel(), esp_zb_get_short_address() - ); - esp_zb_bdb_start_top_level_commissioning(ESP_ZB_BDB_MODE_NETWORK_STEERING); - } else { - log_i("Restart network formation (status: %s)", esp_err_to_name(err_status)); - esp_zb_scheduler_alarm((esp_zb_callback_t)bdb_start_top_level_commissioning_cb, ESP_ZB_BDB_MODE_NETWORK_FORMATION, 1000); - } - break; - case ESP_ZB_BDB_SIGNAL_STEERING: - if (err_status == ESP_OK) { - log_i("Network steering started"); - } - break; - case ESP_ZB_ZDO_SIGNAL_DEVICE_ANNCE: - dev_annce_params = (esp_zb_zdo_signal_device_annce_params_t *)esp_zb_app_signal_get_params(p_sg_p); - log_i("New device commissioned or rejoined (short: 0x%04hx)", dev_annce_params->device_short_addr); - esp_zb_zdo_match_desc_req_param_t cmd_req; - cmd_req.dst_nwk_addr = dev_annce_params->device_short_addr; - cmd_req.addr_of_interest = dev_annce_params->device_short_addr; - find_temperature_sensor(&cmd_req, user_find_cb, NULL); - break; - case ESP_ZB_NWK_SIGNAL_PERMIT_JOIN_STATUS: - if (err_status == ESP_OK) { - if (*(uint8_t *)esp_zb_app_signal_get_params(p_sg_p)) { - log_i("Network(0x%04hx) is open for %d seconds", esp_zb_get_pan_id(), *(uint8_t *)esp_zb_app_signal_get_params(p_sg_p)); - } else { - log_w("Network(0x%04hx) closed, devices joining not allowed.", esp_zb_get_pan_id()); - } - } - break; - default: log_i("ZDO signal: %s (0x%x), status: %s", esp_zb_zdo_signal_to_string(sig_type), sig_type, esp_err_to_name(err_status)); break; - } -} - -static void esp_app_zb_attribute_handler(uint16_t cluster_id, const esp_zb_zcl_attribute_t *attribute) { - /* Basic cluster attributes */ - if (cluster_id == ESP_ZB_ZCL_CLUSTER_ID_BASIC) { - if (attribute->id == ESP_ZB_ZCL_ATTR_BASIC_MANUFACTURER_NAME_ID && attribute->data.type == ESP_ZB_ZCL_ATTR_TYPE_CHAR_STRING && attribute->data.value) { - zbstring_t *zbstr = (zbstring_t *)attribute->data.value; - char *string = (char *)malloc(zbstr->len + 1); - memcpy(string, zbstr->data, zbstr->len); - string[zbstr->len] = '\0'; - log_i("Peer Manufacturer is \"%s\"", string); - free(string); - } - if (attribute->id == ESP_ZB_ZCL_ATTR_BASIC_MODEL_IDENTIFIER_ID && attribute->data.type == ESP_ZB_ZCL_ATTR_TYPE_CHAR_STRING && attribute->data.value) { - zbstring_t *zbstr = (zbstring_t *)attribute->data.value; - char *string = (char *)malloc(zbstr->len + 1); - memcpy(string, zbstr->data, zbstr->len); - string[zbstr->len] = '\0'; - log_i("Peer Model is \"%s\"", string); - free(string); - } - } - - /* Temperature Measurement cluster attributes */ - if (cluster_id == ESP_ZB_ZCL_CLUSTER_ID_TEMP_MEASUREMENT) { - if (attribute->id == ESP_ZB_ZCL_ATTR_TEMP_MEASUREMENT_VALUE_ID && attribute->data.type == ESP_ZB_ZCL_ATTR_TYPE_S16) { - int16_t value = attribute->data.value ? *(int16_t *)attribute->data.value : 0; - log_i("Measured Value is %.2f degrees Celsius", zb_s16_to_temperature(value)); - } - if (attribute->id == ESP_ZB_ZCL_ATTR_TEMP_MEASUREMENT_MIN_VALUE_ID && attribute->data.type == ESP_ZB_ZCL_ATTR_TYPE_S16) { - int16_t min_value = attribute->data.value ? *(int16_t *)attribute->data.value : 0; - log_i("Min Measured Value is %.2f degrees Celsius", zb_s16_to_temperature(min_value)); - } - if (attribute->id == ESP_ZB_ZCL_ATTR_TEMP_MEASUREMENT_MAX_VALUE_ID && attribute->data.type == ESP_ZB_ZCL_ATTR_TYPE_S16) { - int16_t max_value = attribute->data.value ? *(int16_t *)attribute->data.value : 0; - log_i("Max Measured Value is %.2f degrees Celsius", zb_s16_to_temperature(max_value)); - } - if (attribute->id == ESP_ZB_ZCL_ATTR_TEMP_MEASUREMENT_TOLERANCE_ID && attribute->data.type == ESP_ZB_ZCL_ATTR_TYPE_U16) { - uint16_t tolerance = attribute->data.value ? *(uint16_t *)attribute->data.value : 0; - log_i("Tolerance is %.2f degrees Celsius", 1.0 * tolerance / 100); - } - } -} - -static esp_err_t zb_attribute_reporting_handler(const esp_zb_zcl_report_attr_message_t *message) { - if (!message) { - log_e("Empty message"); - } - if (message->status != ESP_ZB_ZCL_STATUS_SUCCESS) { - log_e("Received message: error status(%d)", message->status); - } - log_i( - "Received report from address(0x%x) src endpoint(%d) to dst endpoint(%d) cluster(0x%x)", message->src_address.u.short_addr, message->src_endpoint, - message->dst_endpoint, message->cluster - ); - esp_app_zb_attribute_handler(message->cluster, &message->attribute); - return ESP_OK; -} - -static esp_err_t zb_read_attr_resp_handler(const esp_zb_zcl_cmd_read_attr_resp_message_t *message) { - if (!message) { - log_e("Empty message"); - } - if (message->info.status != ESP_ZB_ZCL_STATUS_SUCCESS) { - log_e("Received message: error status(%d)", message->info.status); - } - log_i( - "Read attribute response: from address(0x%x) src endpoint(%d) to dst endpoint(%d) cluster(0x%x)", message->info.src_address.u.short_addr, - message->info.src_endpoint, message->info.dst_endpoint, message->info.cluster - ); - - esp_zb_zcl_read_attr_resp_variable_t *variable = message->variables; - while (variable) { - log_i( - "Read attribute response: status(%d), cluster(0x%x), attribute(0x%x), type(0x%x), value(%d)", variable->status, message->info.cluster, - variable->attribute.id, variable->attribute.data.type, variable->attribute.data.value ? *(uint8_t *)variable->attribute.data.value : 0 - ); - if (variable->status == ESP_ZB_ZCL_STATUS_SUCCESS) { - esp_app_zb_attribute_handler(message->info.cluster, &variable->attribute); - } - - variable = variable->next; - } - - return ESP_OK; -} - -static esp_err_t zb_configure_report_resp_handler(const esp_zb_zcl_cmd_config_report_resp_message_t *message) { - if (!message) { - log_e("Empty message"); - } - if (message->info.status != ESP_ZB_ZCL_STATUS_SUCCESS) { - log_e("Received message: error status(%d)", message->info.status); - } - esp_zb_zcl_config_report_resp_variable_t *variable = message->variables; - while (variable) { - log_i( - "Configure report response: status(%d), cluster(0x%x), direction(0x%x), attribute(0x%x)", variable->status, message->info.cluster, variable->direction, - variable->attribute_id - ); - variable = variable->next; - } - - return ESP_OK; -} - -static esp_err_t zb_action_handler(esp_zb_core_action_callback_id_t callback_id, const void *message) { - esp_err_t ret = ESP_OK; - switch (callback_id) { - case ESP_ZB_CORE_REPORT_ATTR_CB_ID: ret = zb_attribute_reporting_handler((esp_zb_zcl_report_attr_message_t *)message); break; - case ESP_ZB_CORE_CMD_READ_ATTR_RESP_CB_ID: ret = zb_read_attr_resp_handler((esp_zb_zcl_cmd_read_attr_resp_message_t *)message); break; - case ESP_ZB_CORE_CMD_REPORT_CONFIG_RESP_CB_ID: ret = zb_configure_report_resp_handler((esp_zb_zcl_cmd_config_report_resp_message_t *)message); break; - default: log_w("Receive Zigbee action(0x%x) callback", callback_id); break; - } - return ret; -} - -static esp_zb_cluster_list_t *custom_thermostat_clusters_create(esp_zb_thermostat_cfg_t *thermostat) { - esp_zb_cluster_list_t *cluster_list = esp_zb_zcl_cluster_list_create(); - esp_zb_attribute_list_t *basic_cluster = esp_zb_basic_cluster_create(&(thermostat->basic_cfg)); - ESP_ERROR_CHECK(esp_zb_basic_cluster_add_attr(basic_cluster, ESP_ZB_ZCL_ATTR_BASIC_MANUFACTURER_NAME_ID, (void *)MANUFACTURER_NAME)); - ESP_ERROR_CHECK(esp_zb_basic_cluster_add_attr(basic_cluster, ESP_ZB_ZCL_ATTR_BASIC_MODEL_IDENTIFIER_ID, (void *)MODEL_IDENTIFIER)); - ESP_ERROR_CHECK(esp_zb_cluster_list_add_basic_cluster(cluster_list, basic_cluster, ESP_ZB_ZCL_CLUSTER_SERVER_ROLE)); - ESP_ERROR_CHECK( - esp_zb_cluster_list_add_identify_cluster(cluster_list, esp_zb_identify_cluster_create(&(thermostat->identify_cfg)), ESP_ZB_ZCL_CLUSTER_SERVER_ROLE) - ); - ESP_ERROR_CHECK( - esp_zb_cluster_list_add_identify_cluster(cluster_list, esp_zb_zcl_attr_list_create(ESP_ZB_ZCL_CLUSTER_ID_IDENTIFY), ESP_ZB_ZCL_CLUSTER_CLIENT_ROLE) - ); - ESP_ERROR_CHECK( - esp_zb_cluster_list_add_thermostat_cluster(cluster_list, esp_zb_thermostat_cluster_create(&(thermostat->thermostat_cfg)), ESP_ZB_ZCL_CLUSTER_SERVER_ROLE) - ); - /* Add temperature measurement cluster for attribute reporting */ - ESP_ERROR_CHECK(esp_zb_cluster_list_add_temperature_meas_cluster(cluster_list, esp_zb_temperature_meas_cluster_create(NULL), ESP_ZB_ZCL_CLUSTER_CLIENT_ROLE)); - return cluster_list; -} - -static esp_zb_ep_list_t *custom_thermostat_ep_create(uint8_t endpoint_id, esp_zb_thermostat_cfg_t *thermostat) { - esp_zb_ep_list_t *ep_list = esp_zb_ep_list_create(); - esp_zb_endpoint_config_t endpoint_config = { - .endpoint = endpoint_id, .app_profile_id = ESP_ZB_AF_HA_PROFILE_ID, .app_device_id = ESP_ZB_HA_THERMOSTAT_DEVICE_ID, .app_device_version = 0 - }; - esp_zb_ep_list_add_ep(ep_list, custom_thermostat_clusters_create(thermostat), endpoint_config); - return ep_list; -} - -static void esp_zb_task(void *pvParameters) { - /* Initialize Zigbee stack */ - esp_zb_cfg_t zb_nwk_cfg = ESP_ZB_ZC_CONFIG(); - esp_zb_init(&zb_nwk_cfg); - /* Create customized thermostat endpoint */ - esp_zb_thermostat_cfg_t thermostat_cfg = ESP_ZB_DEFAULT_THERMOSTAT_CONFIG(); - esp_zb_ep_list_t *esp_zb_thermostat_ep = custom_thermostat_ep_create(HA_THERMOSTAT_ENDPOINT, &thermostat_cfg); - /* Register the device */ - esp_zb_device_register(esp_zb_thermostat_ep); - - esp_zb_core_action_handler_register(zb_action_handler); - esp_zb_set_primary_network_channel_set(ESP_ZB_PRIMARY_CHANNEL_MASK); - ESP_ERROR_CHECK(esp_zb_start(false)); - esp_zb_main_loop_iteration(); -} - -/********************* GPIO functions **************************/ -static QueueHandle_t gpio_evt_queue = NULL; - -static void IRAM_ATTR gpio_isr_handler(void *arg) { - xQueueSendFromISR(gpio_evt_queue, (switch_func_pair_t *)arg, NULL); -} - -static void switch_gpios_intr_enabled(bool enabled) { - for (int i = 0; i < PAIR_SIZE(button_func_pair); ++i) { - if (enabled) { - enableInterrupt((button_func_pair[i]).pin); - } else { - disableInterrupt((button_func_pair[i]).pin); - } - } -} - -/********************* Arduino functions **************************/ -void setup() { - // Init Zigbee - esp_zb_platform_config_t config = { - .radio_config = ESP_ZB_DEFAULT_RADIO_CONFIG(), - .host_config = ESP_ZB_DEFAULT_HOST_CONFIG(), - }; - - ESP_ERROR_CHECK(esp_zb_platform_config(&config)); - - // Init button switch - for (int i = 0; i < PAIR_SIZE(button_func_pair); i++) { - pinMode(button_func_pair[i].pin, INPUT_PULLUP); - /* create a queue to handle gpio event from isr */ - gpio_evt_queue = xQueueCreate(10, sizeof(switch_func_pair_t)); - if (gpio_evt_queue == 0) { - log_e("Queue was not created and must not be used"); - while (1); - } - attachInterruptArg(button_func_pair[i].pin, gpio_isr_handler, (void *)(button_func_pair + i), FALLING); - } - - // Start Zigbee task - xTaskCreate(esp_zb_task, "Zigbee_main", 4096, NULL, 5, NULL); -} - -void loop() { - // Handle button switch in loop() - uint8_t pin = 0; - switch_func_pair_t button_func_pair; - static switch_state_t switch_state = SWITCH_IDLE; - bool evt_flag = false; - - /* check if there is any queue received, if yes read out the button_func_pair */ - if (xQueueReceive(gpio_evt_queue, &button_func_pair, portMAX_DELAY)) { - pin = button_func_pair.pin; - switch_gpios_intr_enabled(false); - evt_flag = true; - } - while (evt_flag) { - bool value = digitalRead(pin); - switch (switch_state) { - case SWITCH_IDLE: switch_state = (value == LOW) ? SWITCH_PRESS_DETECTED : SWITCH_IDLE; break; - case SWITCH_PRESS_DETECTED: switch_state = (value == LOW) ? SWITCH_PRESS_DETECTED : SWITCH_RELEASE_DETECTED; break; - case SWITCH_RELEASE_DETECTED: - switch_state = SWITCH_IDLE; - /* callback to button_handler */ - (*esp_zb_buttons_handler)(&button_func_pair); - break; - default: break; - } - if (switch_state == SWITCH_IDLE) { - switch_gpios_intr_enabled(true); - evt_flag = false; - break; - } - delay(10); - } -} diff --git a/libraries/ESP32/examples/Zigbee/Zigbee_Thermostat/ci.json b/libraries/ESP32/examples/Zigbee/Zigbee_Thermostat/ci.json deleted file mode 100644 index 7cfaa76784d..00000000000 --- a/libraries/ESP32/examples/Zigbee/Zigbee_Thermostat/ci.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "targets": { - "esp32": false, - "esp32c3": false, - "esp32c6": false, - "esp32h2": false, - "esp32s2": false, - "esp32s3": false - } -} diff --git a/libraries/Zigbee/examples/Zigbee_Color_Dimmable_Light/README.md b/libraries/Zigbee/examples/Zigbee_Color_Dimmable_Light/README.md new file mode 100644 index 00000000000..4da23c8c7d2 --- /dev/null +++ b/libraries/Zigbee/examples/Zigbee_Color_Dimmable_Light/README.md @@ -0,0 +1,68 @@ +# Arduino-ESP32 Zigbee Color Dimmable Light Example + +This example shows how to configure the Zigbee end device and use it as a Home Automation (HA) color dimmable light. + +# Supported Targets + +Currently, this example supports the following targets. + +| Supported Targets | ESP32-C6 | ESP32-H2 | +| ----------------- | -------- | -------- | + +## Hardware Required + +* One development board (ESP32-H2 or ESP32-C6) acting as Zigbee coordinator (loaded with Zigbee_Color_Dimmer_Switch example) +* A USB cable for power supply and programming +* Choose another board (ESP32-H2 or ESP32-C6) as Zigbee end device and upload the Zigbee_Color_Dimmable_Light example + +### Configure the Project + +Set the LED GPIO by changing the `LED_PIN` definition. By default, the LED_PIN is `RGB_BUILTIN`. + +#### Using Arduino IDE + +To get more information about the Espressif boards see [Espressif Development Kits](https://www.espressif.com/en/products/devkits). + +* Before Compile/Verify, select the correct board: `Tools -> Board`. +* Select the End device Zigbee mode: `Tools -> Zigbee mode: Zigbee ED (end device)` +* Select Partition Scheme for Zigbee: `Tools -> Partition Scheme: Zigbee 4MB with spiffs` +* Select the COM port: `Tools -> Port: xxx` where the `xxx` is the detected COM port. +* Optional: Set debug level to verbose to see all logs from Zigbee stack: `Tools -> Core Debug Level: Verbose`. + +## Troubleshooting + +If the End device flashed with this example is not connecting to the coordinator, erase the flash of the End device before flashing the example to the board. It is recommended to do this if you re-flash the coordinator. +You can do the following: + +* In the Arduino IDE go to the Tools menu and set `Erase All Flash Before Sketch Upload` to `Enabled`. +* Add to the sketch `Zigbee.factoryReset();` to reset the device and Zigbee stack. + +By default, the coordinator network is closed after rebooting or flashing new firmware. +To open the network you have 2 options: + +* Open network after reboot by setting `Zigbee.setRebootOpenNetwork(time);` before calling `Zigbee.begin();`. +* In application you can anytime call `Zigbee.openNetwork(time);` to open the network for devices to join. + +***Important: Make sure you are using a good quality USB cable and that you have a reliable power source*** + +* **LED not blinking:** Check the wiring connection and the IO selection. +* **Programming Fail:** If the programming/flash procedure fails, try reducing the serial connection speed. +* **COM port not detected:** Check the USB cable and the USB to Serial driver installation. + +If the error persists, you can ask for help at the official [ESP32 forum](https://esp32.com) or see [Contribute](#contribute). + +## Contribute + +To know how to contribute to this project, see [How to contribute.](https://github.com/espressif/arduino-esp32/blob/master/CONTRIBUTING.rst) + +If you have any **feedback** or **issue** to report on this example/library, please open an issue or fix it by creating a new PR. Contributions are more than welcome! + +Before creating a new issue, be sure to try Troubleshooting and check if the same issue was already created by someone else. + +## Resources + +* Official ESP32 Forum: [Link](https://esp32.com) +* Arduino-ESP32 Official Repository: [espressif/arduino-esp32](https://github.com/espressif/arduino-esp32) +* ESP32-C6 Datasheet: [Link to datasheet](https://www.espressif.com/sites/default/files/documentation/esp32-c6_datasheet_en.pdf) +* ESP32-H2 Datasheet: [Link to datasheet](https://www.espressif.com/sites/default/files/documentation/esp32-h2_datasheet_en.pdf) +* Official ESP-IDF documentation: [ESP-IDF](https://idf.espressif.com) diff --git a/libraries/Zigbee/examples/Zigbee_Color_Dimmable_Light/Zigbee_Color_Dimmable_Light.ino b/libraries/Zigbee/examples/Zigbee_Color_Dimmable_Light/Zigbee_Color_Dimmable_Light.ino new file mode 100644 index 00000000000..1ce9ff56816 --- /dev/null +++ b/libraries/Zigbee/examples/Zigbee_Color_Dimmable_Light/Zigbee_Color_Dimmable_Light.ino @@ -0,0 +1,104 @@ +// Copyright 2024 Espressif Systems (Shanghai) PTE LTD +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at + +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/** + * @brief This example demonstrates Zigbee Color Dimmable light bulb. + * + * The example demonstrates how to use Zigbee library to create an end device with + * color dimmable light end point. + * The light bulb is a Zigbee end device, which is controlled by a Zigbee coordinator. + * + * Proper Zigbee mode must be selected in Tools->Zigbee mode + * and also the correct partition scheme must be selected in Tools->Partition Scheme. + * + * Please check the README.md for instructions and more detailed description. + * + * Created by Jan Procházka (https://github.com/P-R-O-C-H-Y/) + */ + +#ifndef ZIGBEE_MODE_ED +#error "Zigbee end device mode is not selected in Tools->Zigbee mode" +#endif + +#include "ZigbeeCore.h" +#include "ep/ZigbeeColorDimmableLight.h" + +#define LED_PIN RGB_BUILTIN +#define BUTTON_PIN 9 // C6/H2 Boot button +#define ZIGBEE_LIGHT_ENDPOINT 10 + +ZigbeeColorDimmableLight zbColorLight = ZigbeeColorDimmableLight(ZIGBEE_LIGHT_ENDPOINT); + +/********************* RGB LED functions **************************/ +void setRGBLight(bool state, uint8_t red, uint8_t green, uint8_t blue, uint8_t level) { + float brightness = (float)level / 255; + rgbLedWrite(LED_PIN, red * brightness, green * brightness, blue * brightness); +} + +// Create a task on identify call to handle the identify function +void identify(uint16_t time) { + static uint8_t blink = 1; + log_d("Identify called for %d seconds", time); + if (time == 0) { + // If identify time is 0, stop blinking and restore light as it was used for identify + zbColorLight.restoreLight(); + return; + } + rgbLedWrite(LED_PIN, 255 * blink, 255 * blink, 255 * blink); + blink = !blink; +} + +/********************* Arduino functions **************************/ +void setup() { + // Init RMT and leave light OFF + rgbLedWrite(LED_PIN, 0, 0, 0); + + // Init button for factory reset + pinMode(BUTTON_PIN, INPUT); + + // Set callback function for light change + zbColorLight.onLightChange(setRGBLight); + + // Optional: Set callback function for device identify + zbColorLight.onIdentify(identify); + + // Optional: Set Zigbee device name and model + zbColorLight.setManufacturerAndModel("Espressif", "ZBColorLightBulb"); + + // Add endpoint to Zigbee Core + log_d("Adding ZigbeeLight endpoint to Zigbee Core"); + Zigbee.addEndpoint(&zbColorLight); + + // When all EPs are registered, start Zigbee. By default acts as ZIGBEE_END_DEVICE + log_d("Calling Zigbee.begin()"); + Zigbee.begin(); +} + +void loop() { + // Checking button for factory reset + if (digitalRead(BUTTON_PIN) == LOW) { // Push button pressed + // Key debounce handling + delay(100); + int startTime = millis(); + while (digitalRead(BUTTON_PIN) == LOW) { + delay(50); + if ((millis() - startTime) > 3000) { + // If key pressed for more than 3secs, factory reset Zigbee and reboot + Serial.printf("Resetting Zigbee to factory settings, reboot.\n"); + Zigbee.factoryReset(); + } + } + } + delay(100); +} diff --git a/libraries/Zigbee/examples/Zigbee_Color_Dimmable_Light/ci.json b/libraries/Zigbee/examples/Zigbee_Color_Dimmable_Light/ci.json new file mode 100644 index 00000000000..3aaf44eb376 --- /dev/null +++ b/libraries/Zigbee/examples/Zigbee_Color_Dimmable_Light/ci.json @@ -0,0 +1,16 @@ +{ + "fqbn": { + "esp32c6": [ + "espressif:esp32:esp32c6:PartitionScheme=zigbee,ZigbeeMode=ed" + ], + "esp32h2": [ + "espressif:esp32:esp32h2:PartitionScheme=zigbee,ZigbeeMode=ed" + ] + }, + "targets": { + "esp32": false, + "esp32c3": false, + "esp32s2": false, + "esp32s3": false + } +} diff --git a/libraries/Zigbee/examples/Zigbee_Color_Dimmer_Switch/README.md b/libraries/Zigbee/examples/Zigbee_Color_Dimmer_Switch/README.md new file mode 100644 index 00000000000..8dd63a78c5e --- /dev/null +++ b/libraries/Zigbee/examples/Zigbee_Color_Dimmer_Switch/README.md @@ -0,0 +1,68 @@ +# Arduino-ESP32 Zigbee Color Dimmer Switch Example + +This example shows how to configure Zigbee Coordinator and use it as a Home Automation (HA) color dimmer light switch. + +# Supported Targets + +Currently, this example supports the following targets. + +| Supported Targets | ESP32-C6 | ESP32-H2 | +| ----------------- | -------- | -------- | + +## Hardware Required + +* One development board (ESP32-H2 or ESP32-C6) acting as Zigbee end device (loaded with Zigbee_Color_Dimmable_Light example). +* A USB cable for power supply and programming. +* Choose another board (ESP32-H2 or ESP32-C6) as Zigbee coordinator and upload the Zigbee_Color_Dimmable_Light example. + +### Configure the Project + +Set the Button Switch GPIO by changing the `GPIO_SWITCH` definition. By default, it's the pin `9` (BOOT button on ESP32-C6 and ESP32-H2). + +#### Using Arduino IDE + +To get more information about the Espressif boards see [Espressif Development Kits](https://www.espressif.com/en/products/devkits). + +* Before Compile/Verify, select the correct board: `Tools -> Board`. +* Select the Coordinator Zigbee mode: `Tools -> Zigbee mode: Zigbee ZCZR (coordinator/router)`. +* Select Partition Scheme for Zigbee: `Tools -> Partition Scheme: Zigbee 4MB with spiffs`. +* Select the COM port: `Tools -> Port: xxx where the `xxx` is the detected COM port. +* Optional: Set debug level to verbose to see all logs from Zigbee stack: `Tools -> Core Debug Level: Verbose`. + +## Troubleshooting + +If the End device flashed with the example `Zigbee_Color_Dimmable_Light` is not connecting to the coordinator, erase the flash of the End device before flashing the example to the board. It is recommended to do this if you re-flash the coordinator. +You can do the following: + +* In the Arduino IDE go to the Tools menu and set `Erase All Flash Before Sketch Upload` to `Enabled`. +* Add to the sketch `Zigbee.factoryReset();` to reset the device and Zigbee stack. + +By default, the coordinator network is closed after rebooting or flashing new firmware. +To open the network you have 2 options: + +* Open network after reboot by setting `Zigbee.setRebootOpenNetwork(time);` before calling `Zigbee.begin();`. +* In application you can anytime call `Zigbee.openNetwork(time);` to open the network for devices to join. + +***Important: Make sure you are using a good quality USB cable and that you have a reliable power source*** + +* **LED not blinking:** Check the wiring connection and the IO selection. +* **Programming Fail:** If the programming/flash procedure fails, try reducing the serial connection speed. +* **COM port not detected:** Check the USB cable and the USB to Serial driver installation. + +If the error persists, you can ask for help at the official [ESP32 forum](https://esp32.com) or see [Contribute](#contribute). + +## Contribute + +To know how to contribute to this project, see [How to contribute.](https://github.com/espressif/arduino-esp32/blob/master/CONTRIBUTING.rst) + +If you have any **feedback** or **issue** to report on this example/library, please open an issue or fix it by creating a new PR. Contributions are more than welcome! + +Before creating a new issue, be sure to try Troubleshooting and check if the same issue was already created by someone else. + +## Resources + +* Official ESP32 Forum: [Link](https://esp32.com) +* Arduino-ESP32 Official Repository: [espressif/arduino-esp32](https://github.com/espressif/arduino-esp32) +* ESP32-C6 Datasheet: [Link to datasheet](https://www.espressif.com/sites/default/files/documentation/esp32-c6_datasheet_en.pdf) +* ESP32-H2 Datasheet: [Link to datasheet](https://www.espressif.com/sites/default/files/documentation/esp32-h2_datasheet_en.pdf) +* Official ESP-IDF documentation: [ESP-IDF](https://idf.espressif.com) diff --git a/libraries/Zigbee/examples/Zigbee_Color_Dimmer_Switch/Zigbee_Color_Dimmer_Switch.ino b/libraries/Zigbee/examples/Zigbee_Color_Dimmer_Switch/Zigbee_Color_Dimmer_Switch.ino new file mode 100644 index 00000000000..a494623e436 --- /dev/null +++ b/libraries/Zigbee/examples/Zigbee_Color_Dimmer_Switch/Zigbee_Color_Dimmer_Switch.ino @@ -0,0 +1,148 @@ +// Copyright 2024 Espressif Systems (Shanghai) PTE LTD +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/** + * @brief This example demonstrates Zigbee color dimmer switch. + * + * The example demonstrates how to use Zigbee library to control a RGB light bulb. + * The RGB light bulb is a Zigbee end device, which is controlled by a Zigbee coordinator (Switch). + * To turn on/off the light, push the button on the switch. + * To change the color or level of the light, send serial commands to the switch. + * + * By setting the switch to allow multiple binding, so it can bind to multiple lights. + * Also every 30 seconds, all bound lights are printed to the serial console. + * + * Proper Zigbee mode must be selected in Tools->Zigbee mode + * and also the correct partition scheme must be selected in Tools->Partition Scheme. + * + * Please check the README.md for instructions and more detailed description. + * + * Created by Jan Procházka (https://github.com/P-R-O-C-H-Y/) + */ + +#ifndef ZIGBEE_MODE_ZCZR +#error "Zigbee coordinator mode is not selected in Tools->Zigbee mode" +#endif + +#include "ZigbeeCore.h" +#include "ep/ZigbeeColorDimmerSwitch.h" + +/* Switch configuration */ +#define SWITCH_PIN 9 // ESP32-C6/H2 Boot button +#define SWITCH_ENDPOINT_NUMBER 5 + +/* Zigbee switch */ +ZigbeeColorDimmerSwitch zbSwitch = ZigbeeColorDimmerSwitch(SWITCH_ENDPOINT_NUMBER); + +/********************* Arduino functions **************************/ +void setup() { + + Serial.begin(115200); + while (!Serial) { + delay(10); + } + + //Init button switch + pinMode(SWITCH_PIN, INPUT); + + //Optional: set Zigbee device name and model + zbSwitch.setManufacturerAndModel("Espressif", "ZigbeeSwitch"); + + //Optional to allow multiple light to bind to the switch + zbSwitch.allowMultipleBinding(true); + + //Add endpoint to Zigbee Core + Zigbee.addEndpoint(&zbSwitch); + + //Open network for 180 seconds after boot + Zigbee.setRebootOpenNetwork(180); + + //When all EPs are registered, start Zigbee with ZIGBEE_COORDINATOR mode + Zigbee.begin(ZIGBEE_COORDINATOR); + + Serial.println("Waiting for Light to bound to the switch"); + //Wait for switch to bound to a light: + while (!zbSwitch.isBound()) { + Serial.printf("."); + delay(500); + } + Serial.println(); +} + +void loop() { + // Handle button switch in loop() + if (digitalRead(SWITCH_PIN) == LOW) { // Push button pressed + // Key debounce handling + while (digitalRead(SWITCH_PIN) == LOW) { + delay(50); + } + // Toggle light + zbSwitch.lightToggle(); + } + // Handle serial input to control color and level of the light + if (Serial.available()) { + String command = Serial.readString(); + + if (command == "on") { + zbSwitch.lightOn(); + } else if (command == "off") { + zbSwitch.lightOff(); + } else if (command == "toggle") { + zbSwitch.lightToggle(); + } else if (command == "red") { + zbSwitch.setLightColor(255, 0, 0); + } else if (command == "green") { + zbSwitch.setLightColor(0, 255, 0); + } else if (command == "blue") { + zbSwitch.setLightColor(0, 0, 255); + } else if (command == "white") { + zbSwitch.setLightColor(255, 255, 255); + } else if (command == "color") { + //wait for color value + Serial.println("Enter red value (0-255):"); + while (!Serial.available()) { + delay(100); + } + int red = Serial.parseInt(); + Serial.println("Enter green value (0-255):"); + while (!Serial.available()) { + delay(100); + } + int green = Serial.parseInt(); + Serial.println("Enter blue value (0-255):"); + while (!Serial.available()) { + delay(100); + } + int blue = Serial.parseInt(); + zbSwitch.setLightColor(red, green, blue); + } else if (command == "level") { + //wait for level value + Serial.println("Enter level value (0-255):"); + while (!Serial.available()) { + delay(100); + } + int level = Serial.parseInt(); + zbSwitch.setLightLevel(level); + } else { + Serial.println("Unknown command"); + } + } + + // print the bound devices (lights) every 30 seconds + static uint32_t last_print = 0; + if (millis() - last_print > 30000) { + last_print = millis(); + zbSwitch.printBoundDevices(); + } +} diff --git a/libraries/Zigbee/examples/Zigbee_Color_Dimmer_Switch/ci.json b/libraries/Zigbee/examples/Zigbee_Color_Dimmer_Switch/ci.json new file mode 100644 index 00000000000..c916121b991 --- /dev/null +++ b/libraries/Zigbee/examples/Zigbee_Color_Dimmer_Switch/ci.json @@ -0,0 +1,16 @@ +{ + "fqbn": { + "esp32c6": [ + "espressif:esp32:esp32c6:PartitionScheme=zigbee_zczr,ZigbeeMode=zczr" + ], + "esp32h2": [ + "espressif:esp32:esp32h2:PartitionScheme=zigbee_zczr,ZigbeeMode=zczr" + ] + }, + "targets": { + "esp32": false, + "esp32c3": false, + "esp32s2": false, + "esp32s3": false + } +} diff --git a/libraries/ESP32/examples/Zigbee/Zigbee_Light_Bulb/README.md b/libraries/Zigbee/examples/Zigbee_On_Off_Light/README.md similarity index 62% rename from libraries/ESP32/examples/Zigbee/Zigbee_Light_Bulb/README.md rename to libraries/Zigbee/examples/Zigbee_On_Off_Light/README.md index 807b8a42ade..e74c7505ddb 100644 --- a/libraries/ESP32/examples/Zigbee/Zigbee_Light_Bulb/README.md +++ b/libraries/Zigbee/examples/Zigbee_On_Off_Light/README.md @@ -1,8 +1,6 @@ -# Arduino-ESP32 Zigbee Light Bulb Example +# Arduino-ESP32 Zigbee On/Off Light Example -This example shows how to configure the Zigbee end device and use it as a Home Automation (HA) on/off light bulb. - -**This example is based on ESP-Zigbee-SDK example esp_zigbee_HA_sample/HA_on_off_light.** +This example shows how to configure the Zigbee end device and use it as a Home Automation (HA) on/off light. # Supported Targets @@ -13,9 +11,9 @@ Currently, this example supports the following targets. ## Hardware Required -* One development board (ESP32-H2 or ESP32-C6) acting as Zigbee coordinator (loaded with Zigbee_Light_switch example) +* One development board (ESP32-H2 or ESP32-C6) acting as Zigbee coordinator (loaded with Zigbee_On_Off_switch example) * A USB cable for power supply and programming -* Choose another board (ESP32-H2 or ESP32-C6) as Zigbee end device (loaded with Zigbee_Light_bulb example) +* Choose another board (ESP32-H2 or ESP32-C6) as Zigbee end device and upload the Zigbee_On_Off_Light example ### Configure the Project @@ -30,17 +28,22 @@ To get more information about the Espressif boards see [Espressif Development Ki * Select the End device Zigbee mode: `Tools -> Zigbee mode: Zigbee ED (end device)` * Select Partition Scheme for Zigbee: `Tools -> Partition Scheme: Zigbee 4MB with spiffs` * Select the COM port: `Tools -> Port: xxx` where the `xxx` is the detected COM port. +* Optional: Set debug level to verbose to see all logs from Zigbee stack: `Tools -> Core Debug Level: Verbose`. ## Troubleshooting -If the End device flashed with this example is not connecting to the coordinator, erase the flash before flashing it to the board. It is recommended to do this if you did changes to the coordinator. +If the End device flashed with this example is not connecting to the coordinator, erase the flash of the End device before flashing the example to the board. It is recommended to do this if you re-flash the coordinator. You can do the following: -* In the Arduino IDE go to the Tools menu and set `Erase All Flash Before Sketch Upload` to `Enabled` -* In the sketch uncomment function `esp_zb_nvram_erase_at_start(true);` located in `esp_zb_task` function. +* In the Arduino IDE go to the Tools menu and set `Erase All Flash Before Sketch Upload` to `Enabled`. +* Add to the sketch `Zigbee.factoryReset();` to reset the device and Zigbee stack. + +By default, the coordinator network is closed after rebooting or flashing new firmware. +To open the network you have 2 options: + +* Open network after reboot by setting `Zigbee.setRebootOpenNetwork(time);` before calling `Zigbee.begin();`. +* In application you can anytime call `Zigbee.openNetwork(time);` to open the network for devices to join. -By default, the coordinator network is open for 180 s after rebooting or flashing new firmware. After that, the network is closed for adding new devices. -You can change it by editing `esp_zb_bdb_open_network(180);` in `esp_zb_app_signal_handler` function. ***Important: Make sure you are using a good quality USB cable and that you have a reliable power source*** @@ -60,14 +63,8 @@ Before creating a new issue, be sure to try Troubleshooting and check if the sam ## Resources -The ESP Zigbee SDK provides more examples: -* ESP Zigbee SDK Docs: [Link](https://docs.espressif.com/projects/esp-zigbee-sdk) -* ESP Zigbee SDK Repo: [Link](https://github.com/espressif/esp-zigbee-sdk) - * Official ESP32 Forum: [Link](https://esp32.com) * Arduino-ESP32 Official Repository: [espressif/arduino-esp32](https://github.com/espressif/arduino-esp32) -* ESP32 Datasheet: [Link to datasheet](https://www.espressif.com/sites/default/files/documentation/esp32_datasheet_en.pdf) -* ESP32-S2 Datasheet: [Link to datasheet](https://www.espressif.com/sites/default/files/documentation/esp32-s2_datasheet_en.pdf) -* ESP32-C3 Datasheet: [Link to datasheet](https://www.espressif.com/sites/default/files/documentation/esp32-c3_datasheet_en.pdf) -* ESP32-S3 Datasheet: [Link to datasheet](https://www.espressif.com/sites/default/files/documentation/esp32-s3_datasheet_en.pdf) +* ESP32-C6 Datasheet: [Link to datasheet](https://www.espressif.com/sites/default/files/documentation/esp32-c6_datasheet_en.pdf) +* ESP32-H2 Datasheet: [Link to datasheet](https://www.espressif.com/sites/default/files/documentation/esp32-h2_datasheet_en.pdf) * Official ESP-IDF documentation: [ESP-IDF](https://idf.espressif.com) diff --git a/libraries/Zigbee/examples/Zigbee_On_Off_Light/Zigbee_On_Off_Light.ino b/libraries/Zigbee/examples/Zigbee_On_Off_Light/Zigbee_On_Off_Light.ino new file mode 100644 index 00000000000..2f13357a156 --- /dev/null +++ b/libraries/Zigbee/examples/Zigbee_On_Off_Light/Zigbee_On_Off_Light.ino @@ -0,0 +1,87 @@ +// Copyright 2024 Espressif Systems (Shanghai) PTE LTD +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at + +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/** + * @brief This example demonstrates simple Zigbee light bulb. + * + * The example demonstrates how to use Zigbee library to create a end device light bulb. + * The light bulb is a Zigbee end device, which is controlled by a Zigbee coordinator. + * + * Proper Zigbee mode must be selected in Tools->Zigbee mode + * and also the correct partition scheme must be selected in Tools->Partition Scheme. + * + * Please check the README.md for instructions and more detailed description. + * + * Created by Jan Procházka (https://github.com/P-R-O-C-H-Y/) + */ + +#ifndef ZIGBEE_MODE_ED +#error "Zigbee end device mode is not selected in Tools->Zigbee mode" +#endif + +#include "ZigbeeCore.h" +#include "ep/ZigbeeLight.h" + +#define LED_PIN RGB_BUILTIN +#define BUTTON_PIN 9 // ESP32-C6/H2 Boot button +#define ZIGBEE_LIGHT_ENDPOINT 10 + +ZigbeeLight zbLight = ZigbeeLight(ZIGBEE_LIGHT_ENDPOINT); + +/********************* RGB LED functions **************************/ +void setLED(bool value) { + digitalWrite(LED_PIN, value); +} + +/********************* Arduino functions **************************/ +void setup() { + // Init LED and turn it OFF (if LED_PIN == RGB_BUILTIN, the rgbLedWrite() will be used under the hood) + pinMode(LED_PIN, OUTPUT); + digitalWrite(LED_PIN, LOW); + + // Init button for factory reset + pinMode(BUTTON_PIN, INPUT); + + //Optional: set Zigbee device name and model + zbLight.setManufacturerAndModel("Espressif", "ZBLightBulb"); + + // Set callback function for light change + zbLight.onLightChange(setLED); + + //Add endpoint to Zigbee Core + log_d("Adding ZigbeeLight endpoint to Zigbee Core"); + Zigbee.addEndpoint(&zbLight); + + // When all EPs are registered, start Zigbee. By default acts as ZIGBEE_END_DEVICE + log_d("Calling Zigbee.begin()"); + Zigbee.begin(); +} + +void loop() { + // Checking button for factory reset + if (digitalRead(BUTTON_PIN) == LOW) { // Push button pressed + // Key debounce handling + delay(100); + int startTime = millis(); + while (digitalRead(BUTTON_PIN) == LOW) { + delay(50); + if ((millis() - startTime) > 3000) { + // If key pressed for more than 3secs, factory reset Zigbee and reboot + Serial.printf("Resetting Zigbee to factory settings, reboot.\n"); + Zigbee.factoryReset(); + } + } + } + delay(100); +} diff --git a/libraries/Zigbee/examples/Zigbee_On_Off_Light/ci.json b/libraries/Zigbee/examples/Zigbee_On_Off_Light/ci.json new file mode 100644 index 00000000000..3aaf44eb376 --- /dev/null +++ b/libraries/Zigbee/examples/Zigbee_On_Off_Light/ci.json @@ -0,0 +1,16 @@ +{ + "fqbn": { + "esp32c6": [ + "espressif:esp32:esp32c6:PartitionScheme=zigbee,ZigbeeMode=ed" + ], + "esp32h2": [ + "espressif:esp32:esp32h2:PartitionScheme=zigbee,ZigbeeMode=ed" + ] + }, + "targets": { + "esp32": false, + "esp32c3": false, + "esp32s2": false, + "esp32s3": false + } +} diff --git a/libraries/ESP32/examples/Zigbee/Zigbee_Light_Switch/README.md b/libraries/Zigbee/examples/Zigbee_On_Off_Switch/README.md similarity index 57% rename from libraries/ESP32/examples/Zigbee/Zigbee_Light_Switch/README.md rename to libraries/Zigbee/examples/Zigbee_On_Off_Switch/README.md index efa7d45cb9c..b70f57d6e89 100644 --- a/libraries/ESP32/examples/Zigbee/Zigbee_Light_Switch/README.md +++ b/libraries/Zigbee/examples/Zigbee_On_Off_Switch/README.md @@ -1,9 +1,7 @@ -# Arduino-ESP32 Zigbee Light Switch Example +# Arduino-ESP32 Zigbee On/Off Light Switch Example This example shows how to configure Zigbee Coordinator and use it as a Home Automation (HA) on/off light switch. -**This example is based on ESP-Zigbee-SDK example esp_zigbee_HA_sample/HA_on_off_switch.** - # Supported Targets Currently, this example supports the following targets. @@ -13,34 +11,37 @@ Currently, this example supports the following targets. ## Hardware Required -* One development board (ESP32-H2 or ESP32-C6) acting as Zigbee end device (loaded with Zigbee_Light_bulb example). +* One development board (ESP32-H2 or ESP32-C6) acting as Zigbee end device (loaded with Zigbee_On_Off_Light example). * A USB cable for power supply and programming. -* Choose another board (ESP32-H2 or ESP32-C6) as Zigbee coordinator (loaded with Zigbee_Light_switch example). +* Choose another board (ESP32-H2 or ESP32-C6) as Zigbee coordinator and upload the Zigbee_On_Off_Switch example. ### Configure the Project -Set the Button Switch GPIO by changing the `GPIO_INPUT_IO_TOGGLE_SWITCH` definition. By default, the LED_PIN is `GPIO_NUM_9`. +Set the Button Switch GPIO by changing the `GPIO_INPUT_IO_TOGGLE_SWITCH` definition. By default, it's the pin `9` (BOOT button on ESP32-C6 and ESP32-H2). #### Using Arduino IDE To get more information about the Espressif boards see [Espressif Development Kits](https://www.espressif.com/en/products/devkits). * Before Compile/Verify, select the correct board: `Tools -> Board`. -* Select the Coordinator Zigbee mode: `Tools -> Zigbee mode: Zigbee ZCZR (coordinator)`. +* Select the Coordinator Zigbee mode: `Tools -> Zigbee mode: Zigbee ZCZR (coordinator/router)`. * Select Partition Scheme for Zigbee: `Tools -> Partition Scheme: Zigbee 4MB with spiffs`. * Select the COM port: `Tools -> Port: xxx where the `xxx` is the detected COM port. -* Optional: Set debug level to info to see logs from Zigbee stack: `Tools -> Core Debug Level: Info`. +* Optional: Set debug level to verbose to see all logs from Zigbee stack: `Tools -> Core Debug Level: Verbose`. ## Troubleshooting -If the End device flashed with the example `Zigbee_Light_Bulb` is not connecting to the coordinator, erase the flash of the End device before flashing the example to the board. It is recommended to do this if you re-flash the coordinator. +If the End device flashed with the example `Zigbee_On_Off_Light` is not connecting to the coordinator, erase the flash of the End device before flashing the example to the board. It is recommended to do this if you re-flash the coordinator. You can do the following: * In the Arduino IDE go to the Tools menu and set `Erase All Flash Before Sketch Upload` to `Enabled`. -* In the `Zigbee_Light_Bulb` example sketch uncomment function `esp_zb_nvram_erase_at_start(true);` located in `esp_zb_task` function. +* In the `Zigbee_On_Off_Light` example sketch call `Zigbee.factoryReset();`. + +By default, the coordinator network is closed after rebooting or flashing new firmware. +To open the network you have 2 options: -By default, the coordinator network is open for 180 s after rebooting or flashing new firmware. After that, the network is closed for adding new devices. -You can change it by editing `esp_zb_bdb_open_network(180);` in `esp_zb_app_signal_handler` function. +* Open network after reboot by setting `Zigbee.setRebootOpenNetwork(time);` before calling `Zigbee.begin();`. +* In application you can anytime call `Zigbee.openNetwork(time);` to open the network for devices to join. ***Important: Make sure you are using a good quality USB cable and that you have a reliable power source*** @@ -60,14 +61,8 @@ Before creating a new issue, be sure to try Troubleshooting and check if the sam ## Resources -The ESP Zigbee SDK provides more examples: -* ESP Zigbee SDK Docs: [Link](https://docs.espressif.com/projects/esp-zigbee-sdk) -* ESP Zigbee SDK Repo: [Link](https://github.com/espressif/esp-zigbee-sdk) - * Official ESP32 Forum: [Link](https://esp32.com) * Arduino-ESP32 Official Repository: [espressif/arduino-esp32](https://github.com/espressif/arduino-esp32) -* ESP32 Datasheet: [Link to datasheet](https://www.espressif.com/sites/default/files/documentation/esp32_datasheet_en.pdf) -* ESP32-S2 Datasheet: [Link to datasheet](https://www.espressif.com/sites/default/files/documentation/esp32-s2_datasheet_en.pdf) -* ESP32-C3 Datasheet: [Link to datasheet](https://www.espressif.com/sites/default/files/documentation/esp32-c3_datasheet_en.pdf) -* ESP32-S3 Datasheet: [Link to datasheet](https://www.espressif.com/sites/default/files/documentation/esp32-s3_datasheet_en.pdf) +* ESP32-C6 Datasheet: [Link to datasheet](https://www.espressif.com/sites/default/files/documentation/esp32-c6_datasheet_en.pdf) +* ESP32-H2 Datasheet: [Link to datasheet](https://www.espressif.com/sites/default/files/documentation/esp32-h2_datasheet_en.pdf) * Official ESP-IDF documentation: [ESP-IDF](https://idf.espressif.com) diff --git a/libraries/Zigbee/examples/Zigbee_On_Off_Switch/Zigbee_On_Off_Switch.ino b/libraries/Zigbee/examples/Zigbee_On_Off_Switch/Zigbee_On_Off_Switch.ino new file mode 100644 index 00000000000..09487dea05d --- /dev/null +++ b/libraries/Zigbee/examples/Zigbee_On_Off_Switch/Zigbee_On_Off_Switch.ino @@ -0,0 +1,194 @@ +// Copyright 2024 Espressif Systems (Shanghai) PTE LTD +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/** + * @brief This example demonstrates simple Zigbee light switch. + * + * The example demonstrates how to use Zigbee library to control a light bulb. + * The light bulb is a Zigbee end device, which is controlled by a Zigbee coordinator (Switch). + * Button switch and Zigbee runs in separate tasks. + * + * Proper Zigbee mode must be selected in Tools->Zigbee mode + * and also the correct partition scheme must be selected in Tools->Partition Scheme. + * + * Please check the README.md for instructions and more detailed description. + * + * Created by Jan Procházka (https://github.com/P-R-O-C-H-Y/) + */ + +#ifndef ZIGBEE_MODE_ZCZR +#error "Zigbee coordinator mode is not selected in Tools->Zigbee mode" +#endif + +#include "ZigbeeCore.h" +#include "ep/ZigbeeSwitch.h" + +#define SWITCH_ENDPOINT_NUMBER 5 + +/* Switch configuration */ +#define GPIO_INPUT_IO_TOGGLE_SWITCH 9 +#define PAIR_SIZE(TYPE_STR_PAIR) (sizeof(TYPE_STR_PAIR) / sizeof(TYPE_STR_PAIR[0])) + +typedef enum { + SWITCH_ON_CONTROL, + SWITCH_OFF_CONTROL, + SWITCH_ONOFF_TOGGLE_CONTROL, + SWITCH_LEVEL_UP_CONTROL, + SWITCH_LEVEL_DOWN_CONTROL, + SWITCH_LEVEL_CYCLE_CONTROL, + SWITCH_COLOR_CONTROL, +} SwitchFunction; + +typedef struct { + uint8_t pin; + SwitchFunction func; +} SwitchData; + +typedef enum { + SWITCH_IDLE, + SWITCH_PRESS_ARMED, + SWITCH_PRESS_DETECTED, + SWITCH_PRESSED, + SWITCH_RELEASE_DETECTED, +} SwitchState; + +static SwitchData buttonFunctionPair[] = {{GPIO_INPUT_IO_TOGGLE_SWITCH, SWITCH_ONOFF_TOGGLE_CONTROL}}; + +ZigbeeSwitch zbSwitch = ZigbeeSwitch(SWITCH_ENDPOINT_NUMBER); + +/********************* Zigbee functions **************************/ +static void onZbButton(SwitchData *button_func_pair) { + if (button_func_pair->func == SWITCH_ONOFF_TOGGLE_CONTROL) { + // Send toggle command to the light + zbSwitch.lightToggle(); + } +} + +/********************* GPIO functions **************************/ +static QueueHandle_t gpio_evt_queue = NULL; + +static void IRAM_ATTR onGpioInterrupt(void *arg) { + xQueueSendFromISR(gpio_evt_queue, (SwitchData *)arg, NULL); +} + +static void enableGpioInterrupt(bool enabled) { + for (int i = 0; i < PAIR_SIZE(buttonFunctionPair); ++i) { + if (enabled) { + enableInterrupt((buttonFunctionPair[i]).pin); + } else { + disableInterrupt((buttonFunctionPair[i]).pin); + } + } +} + +/********************* Arduino functions **************************/ +void setup() { + + Serial.begin(115200); + while (!Serial) { + delay(10); + } + + //Optional: set Zigbee device name and model + zbSwitch.setManufacturerAndModel("Espressif", "ZigbeeSwitch"); + + //Optional to allow multiple light to bind to the switch + zbSwitch.allowMultipleBinding(true); + + //Add endpoint to Zigbee Core + log_d("Adding ZigbeeSwitch endpoint to Zigbee Core"); + Zigbee.addEndpoint(&zbSwitch); + + //Open network for 180 seconds after boot + Zigbee.setRebootOpenNetwork(180); + + // Init button switch + for (int i = 0; i < PAIR_SIZE(buttonFunctionPair); i++) { + pinMode(buttonFunctionPair[i].pin, INPUT_PULLUP); + /* create a queue to handle gpio event from isr */ + gpio_evt_queue = xQueueCreate(10, sizeof(SwitchData)); + if (gpio_evt_queue == 0) { + log_e("Queue was not created and must not be used"); + while (1); + } + attachInterruptArg(buttonFunctionPair[i].pin, onGpioInterrupt, (void *)(buttonFunctionPair + i), FALLING); + } + + // When all EPs are registered, start Zigbee with ZIGBEE_COORDINATOR mode + log_d("Calling Zigbee.begin()"); + Zigbee.begin(ZIGBEE_COORDINATOR); + + Serial.println("Waiting for Light to bound to the switch"); + //Wait for switch to bound to a light: + while (!zbSwitch.isBound()) { + Serial.printf("."); + delay(500); + } + + // Optional: read manufacturer and model name from the bound light + std::list boundLights = zbSwitch.getBoundDevices(); + //List all bound lights + for (const auto &device : boundLights) { + Serial.printf("Device on endpoint %d, short address: 0x%x\n", device->endpoint, device->short_addr); + Serial.printf( + "IEEE Address: %02X:%02X:%02X:%02X:%02X:%02X:%02X:%02X\n", device->ieee_addr[0], device->ieee_addr[1], device->ieee_addr[2], device->ieee_addr[3], + device->ieee_addr[4], device->ieee_addr[5], device->ieee_addr[6], device->ieee_addr[7] + ); + Serial.printf("Light manufacturer: %s", zbSwitch.readManufacturer(device->endpoint, device->short_addr)); + Serial.printf("Light model: %s", zbSwitch.readModel(device->endpoint, device->short_addr)); + } + + Serial.println(); +} + +void loop() { + // Handle button switch in loop() + uint8_t pin = 0; + SwitchData buttonSwitch; + static SwitchState buttonState = SWITCH_IDLE; + bool eventFlag = false; + + /* check if there is any queue received, if yes read out the buttonSwitch */ + if (xQueueReceive(gpio_evt_queue, &buttonSwitch, portMAX_DELAY)) { + pin = buttonSwitch.pin; + enableGpioInterrupt(false); + eventFlag = true; + } + while (eventFlag) { + bool value = digitalRead(pin); + switch (buttonState) { + case SWITCH_IDLE: buttonState = (value == LOW) ? SWITCH_PRESS_DETECTED : SWITCH_IDLE; break; + case SWITCH_PRESS_DETECTED: buttonState = (value == LOW) ? SWITCH_PRESS_DETECTED : SWITCH_RELEASE_DETECTED; break; + case SWITCH_RELEASE_DETECTED: + buttonState = SWITCH_IDLE; + /* callback to button_handler */ + (*onZbButton)(&buttonSwitch); + break; + default: break; + } + if (buttonState == SWITCH_IDLE) { + enableGpioInterrupt(true); + eventFlag = false; + break; + } + vTaskDelay(10 / portTICK_PERIOD_MS); + } + + // print the bound lights every 10 seconds + static uint32_t lastPrint = 0; + if (millis() - lastPrint > 10000) { + lastPrint = millis(); + zbSwitch.printBoundDevices(); + } +} diff --git a/libraries/Zigbee/examples/Zigbee_On_Off_Switch/ci.json b/libraries/Zigbee/examples/Zigbee_On_Off_Switch/ci.json new file mode 100644 index 00000000000..c916121b991 --- /dev/null +++ b/libraries/Zigbee/examples/Zigbee_On_Off_Switch/ci.json @@ -0,0 +1,16 @@ +{ + "fqbn": { + "esp32c6": [ + "espressif:esp32:esp32c6:PartitionScheme=zigbee_zczr,ZigbeeMode=zczr" + ], + "esp32h2": [ + "espressif:esp32:esp32h2:PartitionScheme=zigbee_zczr,ZigbeeMode=zczr" + ] + }, + "targets": { + "esp32": false, + "esp32c3": false, + "esp32s2": false, + "esp32s3": false + } +} diff --git a/libraries/Zigbee/examples/Zigbee_Scan_Networks/README.md b/libraries/Zigbee/examples/Zigbee_Scan_Networks/README.md new file mode 100644 index 00000000000..0b2b2f94695 --- /dev/null +++ b/libraries/Zigbee/examples/Zigbee_Scan_Networks/README.md @@ -0,0 +1,71 @@ +# Arduino-ESP32 Zigbee Networks Scan Example + +This example shows how to scan Zigbee Networks. + +# Supported Targets + +Currently, this example supports the following targets. + +| Supported Targets | ESP32-C6 | ESP32-H2 | +| ----------------- | -------- | -------- | + +## Example Output + + Setup done + Loop running... + Loop running... + Loop running... + Loop running... + + Scan done + 2 networks found: + Nr | PAN ID | CH | Permit Joining | Router Capacity | End Device Capacity | Extended PAN ID + 1 | 0xe6f0 | 14 | Yes | Yes | Yes | f0:f5:bd:ff:fe:02:3f:24 + 2 | 0xa9bb | 24 | No | Yes | Yes | 60:55:f9:00:00:f7:52:d0 + +## Hardware Required + +* One development board (ESP32-H2 or ESP32-C6) acting as Zigbee coordinator (loaded with `Zigbee_Thermostat` example) +* A USB cable for power supply and programming +* Choose another board (ESP32-H2 or ESP32-C6) as Zigbee end device (loaded with `Zigbee_Temperature_Sensor` example) + +### Configure the Project + +In this example, the internal temperature sensor task is reading the chip temperature. +Set the Button Switch GPIO by changing the `GPIO_INPUT_IO_TOGGLE_SWITCH` definition. By default, it's the `GPIO_NUM_9` (BOOT button on ESP32-C6 and ESP32-H2). + +#### Using Arduino IDE + +To get more information about the Espressif boards see [Espressif Development Kits](https://www.espressif.com/en/products/devkits). + +* Before Compile/Verify, select the correct board: `Tools -> Board`. +* Select the End device Zigbee mode: `Tools -> Zigbee mode: Zigbee ED (end device)` +* Select Partition Scheme for Zigbee: `Tools -> Partition Scheme: Zigbee 4MB with spiffs` +* Select the COM port: `Tools -> Port: xxx` where the `xxx` is the detected COM port. +* Optional: Set debug level to verbose to see all logs from Zigbee stack: `Tools -> Core Debug Level: Verbose`. + +## Troubleshooting + +***Important: Make sure you are using a good quality USB cable and that you have a reliable power source*** + +* **LED not blinking:** Check the wiring connection and the IO selection. +* **Programming Fail:** If the programming/flash procedure fails, try reducing the serial connection speed. +* **COM port not detected:** Check the USB cable and the USB to Serial driver installation. + +If the error persists, you can ask for help at the official [ESP32 forum](https://esp32.com) or see [Contribute](#contribute). + +## Contribute + +To know how to contribute to this project, see [How to contribute.](https://github.com/espressif/arduino-esp32/blob/master/CONTRIBUTING.rst) + +If you have any **feedback** or **issue** to report on this example/library, please open an issue or fix it by creating a new PR. Contributions are more than welcome! + +Before creating a new issue, be sure to try Troubleshooting and check if the same issue was already created by someone else. + +## Resources + +* Official ESP32 Forum: [Link](https://esp32.com) +* Arduino-ESP32 Official Repository: [espressif/arduino-esp32](https://github.com/espressif/arduino-esp32) +* ESP32-C6 Datasheet: [Link to datasheet](https://www.espressif.com/sites/default/files/documentation/esp32-c6_datasheet_en.pdf) +* ESP32-H2 Datasheet: [Link to datasheet](https://www.espressif.com/sites/default/files/documentation/esp32-h2_datasheet_en.pdf) +* Official ESP-IDF documentation: [ESP-IDF](https://idf.espressif.com) diff --git a/libraries/Zigbee/examples/Zigbee_Scan_Networks/Zigbee_Scan_Networks.ino b/libraries/Zigbee/examples/Zigbee_Scan_Networks/Zigbee_Scan_Networks.ino new file mode 100644 index 00000000000..a72ade201ae --- /dev/null +++ b/libraries/Zigbee/examples/Zigbee_Scan_Networks/Zigbee_Scan_Networks.ino @@ -0,0 +1,113 @@ +// Copyright 2024 Espressif Systems (Shanghai) PTE LTD +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at + +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/** + * @brief This example demonstrates Zigbee Network Scanning. + * + * The example demonstrates how to use ESP Zigbee stack to scan for Zigbee networks. + * + * Any Zigbee mode can be selected in Tools->Zigbee mode + * with proper Zigbee partition scheme in Tools->Partition Scheme. + * + * Please check the README.md for instructions and more detailed description. + * + * Created by Jan Procházka (https://github.com/P-R-O-C-H-Y/) + */ + +#if !defined(ZIGBEE_MODE_ED) && !defined(ZIGBEE_MODE_ZCZR) +#error "Zigbee device mode is not selected in Tools->Zigbee mode" +#endif + +#include "ZigbeeCore.h" + +#ifdef ZIGBEE_MODE_ZCZR +zigbee_role_t role = ZIGBEE_ROUTER; // or can be ZIGBEE_COORDINATOR, but it wont scan itself +#else +zigbee_role_t role = ZIGBEE_END_DEVICE; +#endif + +void printScannedNetworks(uint16_t networksFound) { + if (networksFound == 0) { + Serial.println("No networks found"); + } else { + zigbee_scan_result_t *scan_result = Zigbee.getScanResult(); + Serial.println("\nScan done"); + Serial.print(networksFound); + Serial.println(" networks found:"); + Serial.println("Nr | PAN ID | CH | Permit Joining | Router Capacity | End Device Capacity | Extended PAN ID"); + for (int i = 0; i < networksFound; ++i) { + // Print all available info for each network found + Serial.printf("%2d", i + 1); + Serial.print(" | "); + Serial.printf("0x%04hx", scan_result[i].short_pan_id); + Serial.print(" | "); + Serial.printf("%2d", scan_result[i].logic_channel); + Serial.print(" | "); + Serial.printf("%-14.14s", scan_result[i].permit_joining ? "Yes" : "No"); + Serial.print(" | "); + Serial.printf("%-15.15s", scan_result[i].router_capacity ? "Yes" : "No"); + Serial.print(" | "); + Serial.printf("%-19.19s", scan_result[i].end_device_capacity ? "Yes" : "No"); + Serial.print(" | "); + Serial.printf( + "%02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x", scan_result[i].extended_pan_id[7], scan_result[i].extended_pan_id[6], scan_result[i].extended_pan_id[5], + scan_result[i].extended_pan_id[4], scan_result[i].extended_pan_id[3], scan_result[i].extended_pan_id[2], scan_result[i].extended_pan_id[1], + scan_result[i].extended_pan_id[0] + ); + Serial.println(); + delay(10); + } + Serial.println(""); + // Delete the scan result to free memory for code below. + Zigbee.scanDelete(); + } +} + +void setup() { + Serial.begin(115200); + while (!Serial) { + delay(10); + } + + // Initialize Zigbee stack without any EPs just for scanning + Zigbee.begin(role); + + // Waint until Zigbee stack is ready + while (!Zigbee.isStarted()) { + delay(100); + } + + Serial.println("Setup done"); + // Start Zigbee Network Scan with default parameters (all channels, scan time 5) + Zigbee.scanNetworks(); +} + +void loop() { + // check Zigbee Network Scan process + int16_t ZigbeeScanStatus = Zigbee.scanComplete(); + if (ZigbeeScanStatus < 0) { // it is busy scanning or got an error + if (ZigbeeScanStatus == ZB_SCAN_FAILED) { + Serial.println("WiFi Scan has failed. Starting again."); + Zigbee.scanNetworks(); + } + // other option is status ZB_SCAN_RUNNING - just wait. + } else { // Found Zero or more Wireless Networks + printScannedNetworks(ZigbeeScanStatus); + Zigbee.scanNetworks(); // start over... + } + + // Loop can do something else... + delay(500); + Serial.println("Loop running..."); +} diff --git a/libraries/Zigbee/examples/Zigbee_Scan_Networks/ci.json b/libraries/Zigbee/examples/Zigbee_Scan_Networks/ci.json new file mode 100644 index 00000000000..3aaf44eb376 --- /dev/null +++ b/libraries/Zigbee/examples/Zigbee_Scan_Networks/ci.json @@ -0,0 +1,16 @@ +{ + "fqbn": { + "esp32c6": [ + "espressif:esp32:esp32c6:PartitionScheme=zigbee,ZigbeeMode=ed" + ], + "esp32h2": [ + "espressif:esp32:esp32h2:PartitionScheme=zigbee,ZigbeeMode=ed" + ] + }, + "targets": { + "esp32": false, + "esp32c3": false, + "esp32s2": false, + "esp32s3": false + } +} diff --git a/libraries/ESP32/examples/Zigbee/Zigbee_Temperature_Sensor/README.md b/libraries/Zigbee/examples/Zigbee_Temperature_Sensor/README.md similarity index 59% rename from libraries/ESP32/examples/Zigbee/Zigbee_Temperature_Sensor/README.md rename to libraries/Zigbee/examples/Zigbee_Temperature_Sensor/README.md index f8177082a8a..f3dd9248f87 100644 --- a/libraries/ESP32/examples/Zigbee/Zigbee_Temperature_Sensor/README.md +++ b/libraries/Zigbee/examples/Zigbee_Temperature_Sensor/README.md @@ -2,8 +2,6 @@ This example shows how to configure the Zigbee end device and use it as a Home Automation (HA) temperature sensor. -**This example is based on ESP-Zigbee-SDK example esp_zigbee_HA_sample/HA_temperature_sensor.** - # Supported Targets Currently, this example supports the following targets. @@ -14,23 +12,23 @@ Currently, this example supports the following targets. ## Temperature Sensor Functions Note: - * This board means the board (e.g. ESP32-H2) loaded with `Zigbee_Temperature_Sensor` example. - * The remote board means the board (e.g. ESP32-H2) loaded with `Zigbee_Thermostat` example. + * This board means the board (e.g. ESP32-H2 / C6) loaded with `Zigbee_Temperature_Sensor` example. + * The remote board means the board (e.g. ESP32-H2 / C6) loaded with `Zigbee_Thermostat` example. Functions: * After this board first starts up, it would be configured locally to report the temperature on 1 degree change and no periodic reporting to the remote board. - * By clicking the switch button (BOOT) on this board, this board will immediately send a report of the current measured temperature to the remote board. + * By clicking the button (BOOT) on this board, this board will immediately send a report of the current measured temperature to the remote board. ## Hardware Required * One development board (ESP32-H2 or ESP32-C6) acting as Zigbee coordinator (loaded with `Zigbee_Thermostat` example) * A USB cable for power supply and programming -* Choose another board (ESP32-H2 or ESP32-C6) as Zigbee end device (loaded with `Zigbee_Temperature_Sensor` example) +* Choose another board (ESP32-H2 or ESP32-C6) as Zigbee end device and upload the `Zigbee_Temperature_Sensor` example ### Configure the Project In this example, the internal temperature sensor task is reading the chip temperature. -Set the Button Switch GPIO by changing the `GPIO_INPUT_IO_TOGGLE_SWITCH` definition. By default, it's the `GPIO_NUM_9` (BOOT button on ESP32-C6 and ESP32-H2). +Set the Button GPIO by changing the `BUTTON_PIN` definition. By default, it's the pin `9` (BOOT button on ESP32-C6 and ESP32-H2). #### Using Arduino IDE @@ -40,17 +38,21 @@ To get more information about the Espressif boards see [Espressif Development Ki * Select the End device Zigbee mode: `Tools -> Zigbee mode: Zigbee ED (end device)` * Select Partition Scheme for Zigbee: `Tools -> Partition Scheme: Zigbee 4MB with spiffs` * Select the COM port: `Tools -> Port: xxx` where the `xxx` is the detected COM port. +* Optional: Set debug level to verbose to see all logs from Zigbee stack: `Tools -> Core Debug Level: Verbose`. ## Troubleshooting -If the End device flashed with this example is not connecting to the coordinator, erase the flash before flashing it to the board. It is recommended to do this if you did changes to the coordinator. +If the End device flashed with this example is not connecting to the coordinator, erase the flash of the End device before flashing the example to the board. It is recommended to do this if you re-flash the coordinator. You can do the following: -* In the Arduino IDE go to the Tools menu and set `Erase All Flash Before Sketch Upload` to `Enabled` -* In the sketch uncomment function `esp_zb_nvram_erase_at_start(true);` located in `esp_zb_task` function. +* In the Arduino IDE go to the Tools menu and set `Erase All Flash Before Sketch Upload` to `Enabled`. +* Add to the sketch `Zigbee.factoryReset();` to reset the device and Zigbee stack. + +By default, the coordinator network is closed after rebooting or flashing new firmware. +To open the network you have 2 options: -By default, the coordinator network is open for 180 s after rebooting or flashing new firmware. After that, the network is closed for adding new devices. -You can change it by editing `esp_zb_bdb_open_network(180);` in `esp_zb_app_signal_handler` function. +* Open network after reboot by setting `Zigbee.setRebootOpenNetwork(time);` before calling `Zigbee.begin();`. +* In application you can anytime call `Zigbee.openNetwork(time);` to open the network for devices to join. ***Important: Make sure you are using a good quality USB cable and that you have a reliable power source*** @@ -70,14 +72,8 @@ Before creating a new issue, be sure to try Troubleshooting and check if the sam ## Resources -The ESP Zigbee SDK provides more examples: -* ESP Zigbee SDK Docs: [Link](https://docs.espressif.com/projects/esp-zigbee-sdk) -* ESP Zigbee SDK Repo: [Link](https://github.com/espressif/esp-zigbee-sdk) - * Official ESP32 Forum: [Link](https://esp32.com) * Arduino-ESP32 Official Repository: [espressif/arduino-esp32](https://github.com/espressif/arduino-esp32) -* ESP32 Datasheet: [Link to datasheet](https://www.espressif.com/sites/default/files/documentation/esp32_datasheet_en.pdf) -* ESP32-S2 Datasheet: [Link to datasheet](https://www.espressif.com/sites/default/files/documentation/esp32-s2_datasheet_en.pdf) -* ESP32-C3 Datasheet: [Link to datasheet](https://www.espressif.com/sites/default/files/documentation/esp32-c3_datasheet_en.pdf) -* ESP32-S3 Datasheet: [Link to datasheet](https://www.espressif.com/sites/default/files/documentation/esp32-s3_datasheet_en.pdf) +* ESP32-C6 Datasheet: [Link to datasheet](https://www.espressif.com/sites/default/files/documentation/esp32-c6_datasheet_en.pdf) +* ESP32-H2 Datasheet: [Link to datasheet](https://www.espressif.com/sites/default/files/documentation/esp32-h2_datasheet_en.pdf) * Official ESP-IDF documentation: [ESP-IDF](https://idf.espressif.com) diff --git a/libraries/Zigbee/examples/Zigbee_Temperature_Sensor/Zigbee_Temperature_Sensor.ino b/libraries/Zigbee/examples/Zigbee_Temperature_Sensor/Zigbee_Temperature_Sensor.ino new file mode 100644 index 00000000000..92249e980ab --- /dev/null +++ b/libraries/Zigbee/examples/Zigbee_Temperature_Sensor/Zigbee_Temperature_Sensor.ino @@ -0,0 +1,107 @@ +// Copyright 2024 Espressif Systems (Shanghai) PTE LTD +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/** + * @brief This example demonstrates Zigbee temperature sensor. + * + * The example demonstrates how to use Zigbee library to create a end device temperature sensor. + * The temperature sensor is a Zigbee end device, which is controlled by a Zigbee coordinator. + * + * Proper Zigbee mode must be selected in Tools->Zigbee mode + * and also the correct partition scheme must be selected in Tools->Partition Scheme. + * + * Please check the README.md for instructions and more detailed description. + * + * Created by Jan Procházka (https://github.com/P-R-O-C-H-Y/) + */ + +#ifndef ZIGBEE_MODE_ED +#error "Zigbee coordinator mode is not selected in Tools->Zigbee mode" +#endif + +#include "ZigbeeCore.h" +#include "ep/ZigbeeTempSensor.h" + +#define BUTTON_PIN 9 //Boot button for C6/H2 +#define TEMP_SENSOR_ENDPOINT_NUMBER 10 + +ZigbeeTempSensor zbTempSensor = ZigbeeTempSensor(TEMP_SENSOR_ENDPOINT_NUMBER); + +/************************ Temp sensor *****************************/ +static void temp_sensor_value_update(void *arg) { + for (;;) { + // Read temperature sensor value + float tsens_value = temperatureRead(); + log_v("Temperature sensor value: %.2f°C", tsens_value); + // Update temperature value in Temperature sensor EP + zbTempSensor.setTemperature(tsens_value); + delay(1000); + } +} + +/********************* Arduino functions **************************/ +void setup() { + + Serial.begin(115200); + while (!Serial) { + delay(10); + } + + // Init button switch + pinMode(BUTTON_PIN, INPUT); + + // Optional: set Zigbee device name and model + zbTempSensor.setManufacturerAndModel("Espressif", "ZigbeeTempSensor"); + + // Set minimum and maximum temperature measurement value (10-50°C is default range for chip temperature measurement) + zbTempSensor.setMinMaxValue(10, 50); + + // Set tolerance for temperature measurement in °C (lowest possible value is 0.01°C) + zbTempSensor.setTolerance(1); + + // Add endpoint to Zigbee Core + Zigbee.addEndpoint(&zbTempSensor); + + // When all EPs are registered, start Zigbee in End Device mode + Zigbee.begin(); + + // Start Temperature sensor reading task + xTaskCreate(temp_sensor_value_update, "temp_sensor_update", 2048, NULL, 10, NULL); + + // Set reporting interval for temperature measurement in seconds, must be called after Zigbee.begin() + // min_interval and max_interval in seconds, delta (temp change in °C) + // if min = 1 and max = 0, reporting is sent only when temperature changes by delta + // if min = 0 and max = 10, reporting is sent every 10 seconds or temperature changes by delta + // if min = 0, max = 10 and delta = 0, reporting is sent every 10 seconds regardless of temperature change + zbTempSensor.setReporting(1, 0, 1); +} + +void loop() { + // Checking button for factory reset + if (digitalRead(BUTTON_PIN) == LOW) { // Push button pressed + // Key debounce handling + delay(100); + int startTime = millis(); + while (digitalRead(BUTTON_PIN) == LOW) { + delay(50); + if ((millis() - startTime) > 3000) { + // If key pressed for more than 3secs, factory reset Zigbee and reboot + Serial.printf("Resetting Zigbee to factory settings, reboot.\n"); + Zigbee.factoryReset(); + } + } + zbTempSensor.reportTemperature(); + } + delay(100); +} diff --git a/libraries/Zigbee/examples/Zigbee_Temperature_Sensor/ci.json b/libraries/Zigbee/examples/Zigbee_Temperature_Sensor/ci.json new file mode 100644 index 00000000000..3aaf44eb376 --- /dev/null +++ b/libraries/Zigbee/examples/Zigbee_Temperature_Sensor/ci.json @@ -0,0 +1,16 @@ +{ + "fqbn": { + "esp32c6": [ + "espressif:esp32:esp32c6:PartitionScheme=zigbee,ZigbeeMode=ed" + ], + "esp32h2": [ + "espressif:esp32:esp32h2:PartitionScheme=zigbee,ZigbeeMode=ed" + ] + }, + "targets": { + "esp32": false, + "esp32c3": false, + "esp32s2": false, + "esp32s3": false + } +} diff --git a/libraries/ESP32/examples/Zigbee/Zigbee_Thermostat/README.md b/libraries/Zigbee/examples/Zigbee_Thermostat/README.md similarity index 64% rename from libraries/ESP32/examples/Zigbee/Zigbee_Thermostat/README.md rename to libraries/Zigbee/examples/Zigbee_Thermostat/README.md index 5c88feda311..e61173f6f4d 100644 --- a/libraries/ESP32/examples/Zigbee/Zigbee_Thermostat/README.md +++ b/libraries/Zigbee/examples/Zigbee_Thermostat/README.md @@ -18,7 +18,7 @@ Note: * The remote board means the board (e.g. ESP32-H2) loaded with `Zigbee_Temperature_Sensor` example. Functions: - * By clicking the switch button (BOOT) on this board, this board will read temperature value, temperature measurement range and temperature tolerance from the remote board. Also, this board will configure the remote board to report the measured temperature value every 10 seconds or every 2 degree changes. + * By clicking the button (BOOT) on this board, this board will read temperature value, temperature measurement range and temperature tolerance from the remote board. Also, this board will configure the remote board to report the measured temperature value every 10 seconds or every 2 degree changes. ## Hardware Required @@ -28,17 +28,17 @@ Functions: ### Configure the Project -Set the Button Switch GPIO by changing the `GPIO_INPUT_IO_TOGGLE_SWITCH` definition. By default, it's the `GPIO_NUM_9` (BOOT button on ESP32-C6 and ESP32-H2). +Set the Button GPIO by changing the `BUTTON_PIN` definition. By default, it's the pin `9` (BOOT button on ESP32-C6 and ESP32-H2). #### Using Arduino IDE To get more information about the Espressif boards see [Espressif Development Kits](https://www.espressif.com/en/products/devkits). * Before Compile/Verify, select the correct board: `Tools -> Board`. -* Select the Coordinator Zigbee mode: `Tools -> Zigbee mode: Zigbee ZCZR (coordinator)`. +* Select the Coordinator Zigbee mode: `Tools -> Zigbee mode: Zigbee ZCZR (coordinator/router)`. * Select Partition Scheme for Zigbee: `Tools -> Partition Scheme: Zigbee 4MB with spiffs`. * Select the COM port: `Tools -> Port: xxx where the `xxx` is the detected COM port. -* Optional: Set debug level to info to see logs from Zigbee stack: `Tools -> Core Debug Level: Info`. +* Optional: Set debug level to verbose to see all logs from Zigbee stack: `Tools -> Core Debug Level: Verbose`. ## Troubleshooting @@ -46,10 +46,13 @@ If the End device flashed with the example `Zigbee_Temperature_Sensor` is not co You can do the following: * In the Arduino IDE go to the Tools menu and set `Erase All Flash Before Sketch Upload` to `Enabled`. -* In the `Zigbee_Temperature_Sensor` example sketch uncomment function `esp_zb_nvram_erase_at_start(true);` located in `esp_zb_task` function. +* In the `Zigbee_Temperature_Sensor` example sketch call `Zigbee.factoryReset();`. -By default, the coordinator network is open for 180 s after rebooting or flashing new firmware. After that, the network is closed for adding new devices. -You can change it by editing `esp_zb_bdb_open_network(180);` in `esp_zb_app_signal_handler` function. +By default, the coordinator network is closed after rebooting or flashing new firmware. +To open the network you have 2 options: + +* Open network after reboot by setting `Zigbee.setRebootOpenNetwork(time);` before calling `Zigbee.begin();`. +* In application you can anytime call `Zigbee.openNetwork(time);` to open the network for devices to join. ***Important: Make sure you are using a good quality USB cable and that you have a reliable power source*** @@ -69,14 +72,8 @@ Before creating a new issue, be sure to try Troubleshooting and check if the sam ## Resources -The ESP Zigbee SDK provides more examples: -* ESP Zigbee SDK Docs: [Link](https://docs.espressif.com/projects/esp-zigbee-sdk) -* ESP Zigbee SDK Repo: [Link](https://github.com/espressif/esp-zigbee-sdk) - * Official ESP32 Forum: [Link](https://esp32.com) * Arduino-ESP32 Official Repository: [espressif/arduino-esp32](https://github.com/espressif/arduino-esp32) -* ESP32 Datasheet: [Link to datasheet](https://www.espressif.com/sites/default/files/documentation/esp32_datasheet_en.pdf) -* ESP32-S2 Datasheet: [Link to datasheet](https://www.espressif.com/sites/default/files/documentation/esp32-s2_datasheet_en.pdf) -* ESP32-C3 Datasheet: [Link to datasheet](https://www.espressif.com/sites/default/files/documentation/esp32-c3_datasheet_en.pdf) -* ESP32-S3 Datasheet: [Link to datasheet](https://www.espressif.com/sites/default/files/documentation/esp32-s3_datasheet_en.pdf) +* ESP32-C6 Datasheet: [Link to datasheet](https://www.espressif.com/sites/default/files/documentation/esp32-c6_datasheet_en.pdf) +* ESP32-H2 Datasheet: [Link to datasheet](https://www.espressif.com/sites/default/files/documentation/esp32-h2_datasheet_en.pdf) * Official ESP-IDF documentation: [ESP-IDF](https://idf.espressif.com) diff --git a/libraries/Zigbee/examples/Zigbee_Thermostat/Zigbee_Thermostat.ino b/libraries/Zigbee/examples/Zigbee_Thermostat/Zigbee_Thermostat.ino new file mode 100644 index 00000000000..8f4ea0b543d --- /dev/null +++ b/libraries/Zigbee/examples/Zigbee_Thermostat/Zigbee_Thermostat.ino @@ -0,0 +1,119 @@ +// Copyright 2024 Espressif Systems (Shanghai) PTE LTD +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/** + * @brief This example demonstrates simple Zigbee thermostat. + * + * The example demonstrates how to use Zigbee library to get data from temperature + * sensor end device and act as an thermostat. + * The temperature sensor is a Zigbee end device, which is controlled by a Zigbee coordinator (thermostat). + * + * Proper Zigbee mode must be selected in Tools->Zigbee mode + * and also the correct partition scheme must be selected in Tools->Partition Scheme. + * + * Please check the README.md for instructions and more detailed description. + * + * Created by Jan Procházka (https://github.com/P-R-O-C-H-Y/) + */ + +#ifndef ZIGBEE_MODE_ZCZR +#error "Zigbee coordinator mode is not selected in Tools->Zigbee mode" +#endif + +#include "ZigbeeCore.h" +#include "ep/ZigbeeThermostat.h" + +#define BUTTON_PIN 9 // Boot button for C6/H2 +#define THERMOSTAT_ENDPOINT_NUMBER 5 + +ZigbeeThermostat zbThermostat = ZigbeeThermostat(THERMOSTAT_ENDPOINT_NUMBER); + +// Save temperature sensor data +float sensor_temp; +float sensor_max_temp; +float sensor_min_temp; +float sensor_tolerance; + +/****************** Temperature sensor handling *******************/ +void recieveSensorTemp(float temperature) { + Serial.printf("Temperature sensor value: %.2f°C\n", temperature); + sensor_temp = temperature; +} + +void recieveSensorConfig(float min_temp, float max_temp, float tolerance) { + Serial.printf("Temperature sensor settings: min %.2f°C, max %.2f°C, tolerance %.2f°C\n", min_temp, max_temp, tolerance); + sensor_min_temp = min_temp; + sensor_max_temp = max_temp; + sensor_tolerance = tolerance; +} +/********************* Arduino functions **************************/ +void setup() { + Serial.begin(115200); + while (!Serial) { + delay(10); + } + + // Init button switch + pinMode(BUTTON_PIN, INPUT); + + // Set callback functions for temperature and configuration receive + zbThermostat.onTempRecieve(recieveSensorTemp); + zbThermostat.onConfigRecieve(recieveSensorConfig); + + //Optional: set Zigbee device name and model + zbThermostat.setManufacturerAndModel("Espressif", "ZigbeeThermostat"); + + //Add endpoint to Zigbee Core + Zigbee.addEndpoint(&zbThermostat); + + //Open network for 180 seconds after boot + Zigbee.setRebootOpenNetwork(180); + + // When all EPs are registered, start Zigbee with ZIGBEE_COORDINATOR mode + Zigbee.begin(ZIGBEE_COORDINATOR); + + Serial.println("Waiting for Temperature sensor to bound to the switch"); + + //Wait for switch to bound to a light: + while (!zbThermostat.isBound()) { + Serial.printf("."); + delay(500); + } + + // Get temperature sensor configuration + zbThermostat.getSensorSettings(); + Serial.println(); +} + +void loop() { + // Handle button switch in loop() + if (digitalRead(BUTTON_PIN) == LOW) { // Push button pressed + + // Key debounce handling + while (digitalRead(BUTTON_PIN) == LOW) { + delay(50); + } + + // Set reporting interval for temperature sensor + zbThermostat.setTemperatureReporting(0, 10, 2); + } + + // Print temperature sensor data each 10 seconds + static uint32_t last_print = 0; + if (millis() - last_print > 10000) { + last_print = millis(); + int temp_percent = (int)((sensor_temp - sensor_min_temp) / (sensor_max_temp - sensor_min_temp) * 100); + Serial.printf("Loop temperature info: %.2f°C (%d %%)\n", sensor_temp, temp_percent); + } +} diff --git a/libraries/Zigbee/examples/Zigbee_Thermostat/ci.json b/libraries/Zigbee/examples/Zigbee_Thermostat/ci.json new file mode 100644 index 00000000000..c916121b991 --- /dev/null +++ b/libraries/Zigbee/examples/Zigbee_Thermostat/ci.json @@ -0,0 +1,16 @@ +{ + "fqbn": { + "esp32c6": [ + "espressif:esp32:esp32c6:PartitionScheme=zigbee_zczr,ZigbeeMode=zczr" + ], + "esp32h2": [ + "espressif:esp32:esp32h2:PartitionScheme=zigbee_zczr,ZigbeeMode=zczr" + ] + }, + "targets": { + "esp32": false, + "esp32c3": false, + "esp32s2": false, + "esp32s3": false + } +} diff --git a/libraries/Zigbee/keywords.txt b/libraries/Zigbee/keywords.txt new file mode 100644 index 00000000000..53ce5fffe2a --- /dev/null +++ b/libraries/Zigbee/keywords.txt @@ -0,0 +1,105 @@ +####################################### +# Syntax Coloring Map For Zigbee +####################################### + +####################################### +# Datatypes (KEYWORD1) +####################################### + +# Base Classes +ZigbeeCore KEYWORD1 +Zigbee KEYWORD1 +ZigbeeEP KEYWORD1 + +# Endpoint Classes +ZigbeeLight KEYWORD1 +ZigbeeSwitch KEYWORD1 +ZigbeeColorDimmableLight KEYWORD1 +ZigbeeColorDimmerSwitch KEYWORD1 +ZigbeeTempSensor KEYWORD1 +ZigbeeThermostat KEYWORD1 + +# Other +zigbee_role_t KEYWORD1 +zbstring_t KEYWORD1 +zb_device_params_t KEYWORD1 +zigbee_scan_result_t KEYWORD1 + +####################################### +# Methods and Functions (KEYWORD2) +####################################### + +# ZigbeeCore +isStarted KEYWORD2 +addEndpoint KEYWORD2 +setRadioConfig KEYWORD2 +setHostConfig KEYWORD2 +getRadioConfig KEYWORD2 +getHostConfig KEYWORD2 +setPrimaryChannelMask KEYWORD2 +setRebootOpenNetwork KEYWORD2 +scanNetworks KEYWORD2 +scanComplete KEYWORD2 +getScanResult KEYWORD2 +scanDelete KEYWORD2 +factoryReset KEYWORD2 + +# Common ZigbeeEP +setVersion KEYWORD2 +setManufacturerAndModel KEYWORD2 +is_bound KEYWORD2 +printBoundDevices KEYWORD2 +allowMultipleBinding KEYWORD2 + +# ZigbeeLight + ZigbeeColorDimmableLight +setOnOff KEYWORD2 +sceneControl KEYWORD2 +setOnOffTime KEYWORD2 +setOffWaitTime KEYWORD2 +setLevel KEYWORD2 +setColor KEYWORD2 +setColorSaturation KEYWORD2 +setColorHue KEYWORD2 + +# ZigbeeSwitch + ZigbeeColorDimmerSwitch +lightToggle KEYWORD2 +lightOn KEYWORD2 +lightOff KEYWORD2 +lightOffWithEffect KEYWORD2 +lightOnWithTimedOff KEYWORD2 +lightOnWithSceneRecall KEYWORD2 +setLightLevel KEYWORD2 +setLightColor KEYWORD2 +setLightColorSaturation KEYWORD2 +setLightColorHue KEYWORD2 + +# ZigbeeTempSensor +setTemperature KEYWORD2 +setMinMaxValue KEYWORD2 +setTolerance KEYWORD2 +setReporting KEYWORD2 +reportTemperature KEYWORD2 + +# ZigbeeThermostat +temperatureRead KEYWORD2 +temperatureMin KEYWORD2 +temperatureMax KEYWORD2 +temperatureTolerance KEYWORD2 +getTemperature KEYWORD2 +setTemperatureReporting KEYWORD2 + +####################################### +# Constants (LITERAL1) +####################################### + +ZIGBEE_COORDINATOR LITERAL1 +ZIGBEE_ROUTER LITERAL1 +ZIGBEE_END_DEVICE LITERAL1 +ZIGBEE_DEFAULT_ED_CONFIG LITERAL1 +ZIGBEE_DEFAULT_ROUTER_CONFIG LITERAL1 +ZIGBEE_DEFAULT_COORDINATOR_CONFIG LITERAL1 +ZIGBEE_DEFAULT_RADIO_CONFIG LITERAL1 +ZIGBEE_DEFAULT_HOST_CONFIG LITERAL1 +ZB_ARRAY_LENTH LITERAL1 +XYZ_TO_RGB LITERAL1 +RGB_TO_XYZ LITERAL1 diff --git a/libraries/Zigbee/library.properties b/libraries/Zigbee/library.properties new file mode 100644 index 00000000000..4d66f470378 --- /dev/null +++ b/libraries/Zigbee/library.properties @@ -0,0 +1,9 @@ +name=Zigbee +version=3.0.5 +author=P-R-O-C-H-Y +maintainer=Jan Procházka +sentence=Enables zigbee connection with the ESP32 +paragraph=With this library you can create zigbee end devices, routers, coordinators and connect them to the zigbee network. +category=Communication +url= +architectures=esp32 diff --git a/libraries/Zigbee/src/ZigbeeCore.cpp b/libraries/Zigbee/src/ZigbeeCore.cpp new file mode 100644 index 00000000000..9edbe737cfe --- /dev/null +++ b/libraries/Zigbee/src/ZigbeeCore.cpp @@ -0,0 +1,396 @@ +/* Zigbee Core Functions */ + +#include "ZigbeeCore.h" +#if SOC_IEEE802154_SUPPORTED + +#include "ZigbeeHandlers.cpp" +#include "Arduino.h" + +ZigbeeCore::ZigbeeCore() { + _radio_config.radio_mode = ZB_RADIO_MODE_NATIVE; // Use the native 15.4 radio + _host_config.host_connection_mode = ZB_HOST_CONNECTION_MODE_NONE; // Disable host connection + _zb_ep_list = esp_zb_ep_list_create(); + _primary_channel_mask = ESP_ZB_TRANSCEIVER_ALL_CHANNELS_MASK; + _open_network = 0; + _scan_status = ZB_SCAN_FAILED; + _started = false; +} +ZigbeeCore::~ZigbeeCore() {} + +//forward declaration +static esp_err_t zb_action_handler(esp_zb_core_action_callback_id_t callback_id, const void *message); + +bool ZigbeeCore::begin(esp_zb_cfg_t *role_cfg, bool erase_nvs) { + if (!zigbeeInit(role_cfg, erase_nvs)) { + return false; + } + _role = (zigbee_role_t)role_cfg->esp_zb_role; + return true; +} + +bool ZigbeeCore::begin(zigbee_role_t role, bool erase_nvs) { + bool status = true; + switch (role) { + case ZIGBEE_COORDINATOR: + { + _role = ZIGBEE_COORDINATOR; + esp_zb_cfg_t zb_nwk_cfg = ZIGBEE_DEFAULT_COORDINATOR_CONFIG(); + status = zigbeeInit(&zb_nwk_cfg, erase_nvs); + break; + } + case ZIGBEE_ROUTER: + { + _role = ZIGBEE_ROUTER; + esp_zb_cfg_t zb_nwk_cfg = ZIGBEE_DEFAULT_ROUTER_CONFIG(); + status = zigbeeInit(&zb_nwk_cfg, erase_nvs); + break; + } + case ZIGBEE_END_DEVICE: + { + _role = ZIGBEE_END_DEVICE; + esp_zb_cfg_t zb_nwk_cfg = ZIGBEE_DEFAULT_ED_CONFIG(); + status = zigbeeInit(&zb_nwk_cfg, erase_nvs); + break; + } + default: log_e("Invalid Zigbee Role"); return false; + } + return status; +} + +void ZigbeeCore::addEndpoint(ZigbeeEP *ep) { + ep_objects.push_back(ep); + + log_d("Endpoint: %d, Device ID: 0x%04x", ep->_endpoint, ep->_device_id); + //Register clusters and ep_list to the ZigbeeCore class's ep_list + if (ep->_ep_config.endpoint == 0 || ep->_cluster_list == nullptr) { + log_e("Endpoint config or Cluster list is not initialized, EP not added to ZigbeeCore's EP list"); + return; + } + + esp_zb_ep_list_add_ep(_zb_ep_list, ep->_cluster_list, ep->_ep_config); +} + +static void esp_zb_task(void *pvParameters) { + /* initialize Zigbee stack */ + ESP_ERROR_CHECK(esp_zb_start(false)); + esp_zb_stack_main_loop(); +} + +// Zigbee core init function +bool ZigbeeCore::zigbeeInit(esp_zb_cfg_t *zb_cfg, bool erase_nvs) { + // Zigbee platform configuration + esp_zb_platform_config_t platform_config = { + .radio_config = _radio_config, + .host_config = _host_config, + }; + + esp_err_t err = esp_zb_platform_config(&platform_config); + if (err != ESP_OK) { + log_e("Failed to configure Zigbee platform"); + return false; + } + + // Initialize Zigbee stack + log_d("Initialize Zigbee stack"); + esp_zb_init(zb_cfg); + + // Register all Zigbee EPs in list + if (ep_objects.empty()) { + log_w("No Zigbee EPs to register"); + } else { + log_d("Register all Zigbee EPs in list"); + err = esp_zb_device_register(_zb_ep_list); + if (err != ESP_OK) { + log_e("Failed to register Zigbee EPs"); + return false; + } + + //print the list of Zigbee EPs from ep_objects + log_i("List of registered Zigbee EPs:"); + for (std::list::iterator it = ep_objects.begin(); it != ep_objects.end(); ++it) { + log_i("Device type: %s, Endpoint: %d, Device ID: 0x%04x", getDeviceTypeString((*it)->_device_id), (*it)->_endpoint, (*it)->_device_id); + } + } + // Register Zigbee action handler + esp_zb_core_action_handler_register(zb_action_handler); + err = esp_zb_set_primary_network_channel_set(_primary_channel_mask); + if (err != ESP_OK) { + log_e("Failed to set primary network channel mask"); + return false; + } + + //Erase NVRAM before creating connection to new Coordinator + if (erase_nvs) { + esp_zb_nvram_erase_at_start(true); + } + + // Create Zigbee task and start Zigbee stack + xTaskCreate(esp_zb_task, "Zigbee_main", 4096, NULL, 5, NULL); + + return true; +} + +void ZigbeeCore::setRadioConfig(esp_zb_radio_config_t config) { + _radio_config = config; +} + +esp_zb_radio_config_t ZigbeeCore::getRadioConfig() { + return _radio_config; +} + +void ZigbeeCore::setHostConfig(esp_zb_host_config_t config) { + _host_config = config; +} + +esp_zb_host_config_t ZigbeeCore::getHostConfig() { + return _host_config; +} + +void ZigbeeCore::setPrimaryChannelMask(uint32_t mask) { + _primary_channel_mask = mask; +} + +void ZigbeeCore::setRebootOpenNetwork(uint8_t time) { + _open_network = time; +} + +void ZigbeeCore::openNetwork(uint8_t time) { + if (_started) { + log_v("Opening network for joining for %d seconds", time); + esp_zb_bdb_open_network(time); + } +} + +static void bdb_start_top_level_commissioning_cb(uint8_t mode_mask) { + ESP_ERROR_CHECK(esp_zb_bdb_start_top_level_commissioning(mode_mask)); +} + +void esp_zb_app_signal_handler(esp_zb_app_signal_t *signal_struct) { + //common variables + uint32_t *p_sg_p = signal_struct->p_app_signal; + esp_err_t err_status = signal_struct->esp_err_status; + esp_zb_app_signal_type_t sig_type = (esp_zb_app_signal_type_t)*p_sg_p; + //coordinator variables + esp_zb_zdo_signal_device_annce_params_t *dev_annce_params = NULL; + + //main switch + switch (sig_type) { + case ESP_ZB_ZDO_SIGNAL_SKIP_STARTUP: // Common + log_i("Zigbee stack initialized"); + esp_zb_bdb_start_top_level_commissioning(ESP_ZB_BDB_MODE_INITIALIZATION); + break; + case ESP_ZB_BDB_SIGNAL_DEVICE_FIRST_START: // Common + case ESP_ZB_BDB_SIGNAL_DEVICE_REBOOT: // Common + if (err_status == ESP_OK) { + log_i("Device started up in %s factory-reset mode", esp_zb_bdb_is_factory_new() ? "" : "non"); + if (esp_zb_bdb_is_factory_new()) { + // Role specific code + if ((zigbee_role_t)Zigbee.getRole() == ZIGBEE_COORDINATOR) { + log_i("Start network formation"); + esp_zb_bdb_start_top_level_commissioning(ESP_ZB_BDB_MODE_NETWORK_FORMATION); + } else { + log_i("Start network steering"); + esp_zb_bdb_start_top_level_commissioning(ESP_ZB_BDB_MODE_NETWORK_STEERING); + } + //----------------- + + } else { + log_i("Device rebooted"); + Zigbee._started = true; + if ((zigbee_role_t)Zigbee.getRole() == ZIGBEE_COORDINATOR && Zigbee._open_network > 0) { + log_i("Opening network for joining for %d seconds", Zigbee._open_network); + esp_zb_bdb_open_network(Zigbee._open_network); + } + } + } else { + /* commissioning failed */ + log_e("Failed to initialize Zigbee stack (status: %s)", esp_err_to_name(err_status)); + } + break; + case ESP_ZB_BDB_SIGNAL_FORMATION: // Coordinator + if ((zigbee_role_t)Zigbee.getRole() == ZIGBEE_COORDINATOR) { + if (err_status == ESP_OK) { + esp_zb_ieee_addr_t extended_pan_id; + esp_zb_get_extended_pan_id(extended_pan_id); + log_i( + "Formed network successfully (Extended PAN ID: %02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x, PAN ID: 0x%04hx, Channel:%d, Short Address: 0x%04hx)", + extended_pan_id[7], extended_pan_id[6], extended_pan_id[5], extended_pan_id[4], extended_pan_id[3], extended_pan_id[2], extended_pan_id[1], + extended_pan_id[0], esp_zb_get_pan_id(), esp_zb_get_current_channel(), esp_zb_get_short_address() + ); + esp_zb_bdb_start_top_level_commissioning(ESP_ZB_BDB_MODE_NETWORK_STEERING); + } else { + log_i("Restart network formation (status: %s)", esp_err_to_name(err_status)); + esp_zb_scheduler_alarm((esp_zb_callback_t)bdb_start_top_level_commissioning_cb, ESP_ZB_BDB_MODE_NETWORK_FORMATION, 1000); + } + } + break; + case ESP_ZB_BDB_SIGNAL_STEERING: // Router and End Device + Zigbee._started = true; + if ((zigbee_role_t)Zigbee.getRole() == ZIGBEE_COORDINATOR) { + if (err_status == ESP_OK) { + log_i("Network steering started"); + } + } else { + if (err_status == ESP_OK) { + esp_zb_ieee_addr_t extended_pan_id; + esp_zb_get_extended_pan_id(extended_pan_id); + log_i( + "Joined network successfully (Extended PAN ID: %02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x, PAN ID: 0x%04hx, Channel:%d, Short Address: 0x%04hx)", + extended_pan_id[7], extended_pan_id[6], extended_pan_id[5], extended_pan_id[4], extended_pan_id[3], extended_pan_id[2], extended_pan_id[1], + extended_pan_id[0], esp_zb_get_pan_id(), esp_zb_get_current_channel(), esp_zb_get_short_address() + ); + } else { + log_i("Network steering was not successful (status: %s)", esp_err_to_name(err_status)); + esp_zb_scheduler_alarm((esp_zb_callback_t)bdb_start_top_level_commissioning_cb, ESP_ZB_BDB_MODE_NETWORK_STEERING, 1000); + } + } + break; + case ESP_ZB_ZDO_SIGNAL_DEVICE_ANNCE: // Coordinator + if ((zigbee_role_t)Zigbee.getRole() == ZIGBEE_COORDINATOR) { + dev_annce_params = (esp_zb_zdo_signal_device_annce_params_t *)esp_zb_app_signal_get_params(p_sg_p); + log_i("New device commissioned or rejoined (short: 0x%04hx)", dev_annce_params->device_short_addr); + esp_zb_zdo_match_desc_req_param_t cmd_req; + cmd_req.dst_nwk_addr = dev_annce_params->device_short_addr; + cmd_req.addr_of_interest = dev_annce_params->device_short_addr; + log_v("Device capabilities: 0x%02x", dev_annce_params->capability); + /* + capability: + Bit 0 – Alternate PAN Coordinator + Bit 1 – Device type: 1- ZigBee Router; 0 – End Device + Bit 2 – Power Source: 1 Main powered + Bit 3 – Receiver on when Idle + Bit 4 – Reserved + Bit 5 – Reserved + Bit 6 – Security capability + Bit 7 – Reserved + */ + + // for each endpoint in the list call the findEndpoint function if not bounded or allowed to bind multiple devices + for (std::list::iterator it = Zigbee.ep_objects.begin(); it != Zigbee.ep_objects.end(); ++it) { + if (!(*it)->isBound() || (*it)->epAllowMultipleBinding()) { + (*it)->findEndpoint(&cmd_req); + } + } + } + break; + case ESP_ZB_NWK_SIGNAL_PERMIT_JOIN_STATUS: // Coordinator + if ((zigbee_role_t)Zigbee.getRole() == ZIGBEE_COORDINATOR) { + if (err_status == ESP_OK) { + if (*(uint8_t *)esp_zb_app_signal_get_params(p_sg_p)) { + log_i("Network(0x%04hx) is open for %d seconds", esp_zb_get_pan_id(), *(uint8_t *)esp_zb_app_signal_get_params(p_sg_p)); + } else { + log_i("Network(0x%04hx) closed, devices joining not allowed.", esp_zb_get_pan_id()); + } + } + } + break; + default: log_v("ZDO signal: %s (0x%x), status: %s", esp_zb_zdo_signal_to_string(sig_type), sig_type, esp_err_to_name(err_status)); break; + } +} + +void ZigbeeCore::factoryReset() { + log_v("Factory resetting Zigbee stack, device will reboot"); + esp_zb_factory_reset(); +} + +void ZigbeeCore::scanCompleteCallback(esp_zb_zdp_status_t zdo_status, uint8_t count, esp_zb_network_descriptor_t *nwk_descriptor) { + log_v("Zigbee network scan complete"); + if (zdo_status == ESP_ZB_ZDP_STATUS_SUCCESS) { + log_v("Found %d networks", count); + //print Zigbee networks + for (int i = 0; i < count; i++) { + log_v( + "Network %d: PAN ID: 0x%04hx, Permit Joining: %s, Extended PAN ID: %02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x, Channel: %d, Router Capacity: %s, End " + "Device Capacity: %s", + i, nwk_descriptor[i].short_pan_id, nwk_descriptor[i].permit_joining ? "Yes" : "No", nwk_descriptor[i].extended_pan_id[7], + nwk_descriptor[i].extended_pan_id[6], nwk_descriptor[i].extended_pan_id[5], nwk_descriptor[i].extended_pan_id[4], nwk_descriptor[i].extended_pan_id[3], + nwk_descriptor[i].extended_pan_id[2], nwk_descriptor[i].extended_pan_id[1], nwk_descriptor[i].extended_pan_id[0], nwk_descriptor[i].logic_channel, + nwk_descriptor[i].router_capacity ? "Yes" : "No", nwk_descriptor[i].end_device_capacity ? "Yes" : "No" + ); + } + //save scan result and update scan status + //copy network descriptor to _scan_result to keep the data after the callback + Zigbee._scan_result = (esp_zb_network_descriptor_t *)malloc(count * sizeof(esp_zb_network_descriptor_t)); + memcpy(Zigbee._scan_result, nwk_descriptor, count * sizeof(esp_zb_network_descriptor_t)); + Zigbee._scan_status = count; + } else { + log_e("Failed to scan Zigbee network (status: 0x%x)", zdo_status); + Zigbee._scan_status = ZB_SCAN_FAILED; + Zigbee._scan_result = nullptr; + } +} + +void ZigbeeCore::scanNetworks(u_int32_t channel_mask, u_int8_t scan_duration) { + if (!_started) { + log_e("Zigbee stack is not started, cannot scan networks"); + return; + } + log_v("Scanning Zigbee networks"); + esp_zb_zdo_active_scan_request(channel_mask, scan_duration, scanCompleteCallback); + _scan_status = ZB_SCAN_RUNNING; +} + +int16_t ZigbeeCore::scanComplete() { + return _scan_status; +} + +zigbee_scan_result_t *ZigbeeCore::getScanResult() { + return _scan_result; +} + +void ZigbeeCore::scanDelete() { + if (_scan_result != nullptr) { + free(_scan_result); + _scan_result = nullptr; + } + _scan_status = ZB_SCAN_FAILED; +} + +// Function to convert enum value to string +const char *ZigbeeCore::getDeviceTypeString(esp_zb_ha_standard_devices_t deviceId) { + switch (deviceId) { + case ESP_ZB_HA_ON_OFF_SWITCH_DEVICE_ID: return "General On/Off switch"; + case ESP_ZB_HA_LEVEL_CONTROL_SWITCH_DEVICE_ID: return "Level Control Switch"; + case ESP_ZB_HA_ON_OFF_OUTPUT_DEVICE_ID: return "General On/Off output"; + case ESP_ZB_HA_LEVEL_CONTROLLABLE_OUTPUT_DEVICE_ID: return "Level Controllable Output"; + case ESP_ZB_HA_SCENE_SELECTOR_DEVICE_ID: return "Scene Selector"; + case ESP_ZB_HA_CONFIGURATION_TOOL_DEVICE_ID: return "Configuration Tool"; + case ESP_ZB_HA_REMOTE_CONTROL_DEVICE_ID: return "Remote Control"; + case ESP_ZB_HA_COMBINED_INTERFACE_DEVICE_ID: return "Combined Interface"; + case ESP_ZB_HA_RANGE_EXTENDER_DEVICE_ID: return "Range Extender"; + case ESP_ZB_HA_MAINS_POWER_OUTLET_DEVICE_ID: return "Mains Power Outlet"; + case ESP_ZB_HA_DOOR_LOCK_DEVICE_ID: return "Door lock client"; + case ESP_ZB_HA_DOOR_LOCK_CONTROLLER_DEVICE_ID: return "Door lock controller"; + case ESP_ZB_HA_SIMPLE_SENSOR_DEVICE_ID: return "Simple Sensor device"; + case ESP_ZB_HA_CONSUMPTION_AWARENESS_DEVICE_ID: return "Consumption Awareness Device"; + case ESP_ZB_HA_HOME_GATEWAY_DEVICE_ID: return "Home Gateway"; + case ESP_ZB_HA_SMART_PLUG_DEVICE_ID: return "Smart plug"; + case ESP_ZB_HA_WHITE_GOODS_DEVICE_ID: return "White Goods"; + case ESP_ZB_HA_METER_INTERFACE_DEVICE_ID: return "Meter Interface"; + case ESP_ZB_HA_ON_OFF_LIGHT_DEVICE_ID: return "On/Off Light Device"; + case ESP_ZB_HA_DIMMABLE_LIGHT_DEVICE_ID: return "Dimmable Light Device"; + case ESP_ZB_HA_COLOR_DIMMABLE_LIGHT_DEVICE_ID: return "Color Dimmable Light Device"; + case ESP_ZB_HA_DIMMER_SWITCH_DEVICE_ID: return "Dimmer Switch Device"; + case ESP_ZB_HA_COLOR_DIMMER_SWITCH_DEVICE_ID: return "Color Dimmer Switch Device"; + case ESP_ZB_HA_LIGHT_SENSOR_DEVICE_ID: return "Light Sensor"; + case ESP_ZB_HA_SHADE_DEVICE_ID: return "Shade"; + case ESP_ZB_HA_SHADE_CONTROLLER_DEVICE_ID: return "Shade controller"; + case ESP_ZB_HA_WINDOW_COVERING_DEVICE_ID: return "Window Covering client"; + case ESP_ZB_HA_WINDOW_COVERING_CONTROLLER_DEVICE_ID: return "Window Covering controller"; + case ESP_ZB_HA_HEATING_COOLING_UNIT_DEVICE_ID: return "Heating/Cooling Unit device"; + case ESP_ZB_HA_THERMOSTAT_DEVICE_ID: return "Thermostat Device"; + case ESP_ZB_HA_TEMPERATURE_SENSOR_DEVICE_ID: return "Temperature Sensor"; + case ESP_ZB_HA_IAS_CONTROL_INDICATING_EQUIPMENT_ID: return "IAS Control and Indicating Equipment"; + case ESP_ZB_HA_IAS_ANCILLARY_CONTROL_EQUIPMENT_ID: return "IAS Ancillary Control Equipment"; + case ESP_ZB_HA_IAS_ZONE_ID: return "IAS Zone"; + case ESP_ZB_HA_IAS_WARNING_DEVICE_ID: return "IAS Warning Device"; + case ESP_ZB_HA_TEST_DEVICE_ID: return "Custom HA device for test"; + case ESP_ZB_HA_CUSTOM_TUNNEL_DEVICE_ID: return "Custom Tunnel device"; + case ESP_ZB_HA_CUSTOM_ATTR_DEVICE_ID: return "Custom Attributes Device"; + default: return "Unknown device type"; + } +} + +ZigbeeCore Zigbee = ZigbeeCore(); + +#endif //SOC_IEEE802154_SUPPORTED diff --git a/libraries/Zigbee/src/ZigbeeCore.h b/libraries/Zigbee/src/ZigbeeCore.h new file mode 100644 index 00000000000..1044a9c737c --- /dev/null +++ b/libraries/Zigbee/src/ZigbeeCore.h @@ -0,0 +1,125 @@ +/* Zigbee core class */ + +#pragma once + +#include "soc/soc_caps.h" +#if SOC_IEEE802154_SUPPORTED + +#include "esp_zigbee_core.h" +#include "zdo/esp_zigbee_zdo_common.h" +#include +#include +#include "ZigbeeEP.h" +class ZigbeeEP; + +typedef void (*voidFuncPtr)(void); +typedef void (*voidFuncPtrArg)(void *); + +typedef esp_zb_network_descriptor_t zigbee_scan_result_t; + +// enum of Zigbee Roles +typedef enum { + ZIGBEE_COORDINATOR = 0, + ZIGBEE_ROUTER = 1, + ZIGBEE_END_DEVICE = 2 +} zigbee_role_t; + +#define ZB_SCAN_RUNNING (-1) +#define ZB_SCAN_FAILED (-2) + +#define ZIGBEE_DEFAULT_ED_CONFIG() \ + { \ + .esp_zb_role = ESP_ZB_DEVICE_TYPE_ED, .install_code_policy = false, \ + .nwk_cfg = { \ + .zed_cfg = \ + { \ + .ed_timeout = ESP_ZB_ED_AGING_TIMEOUT_64MIN, \ + .keep_alive = 3000, \ + }, \ + }, \ + } + +#define ZIGBEE_DEFAULT_ROUTER_CONFIG() \ + { \ + .esp_zb_role = ESP_ZB_DEVICE_TYPE_ROUTER, .install_code_policy = false, .nwk_cfg = { \ + .zczr_cfg = \ + { \ + .max_children = 10, \ + }, \ + } \ + } + +#define ZIGBEE_DEFAULT_COORDINATOR_CONFIG() \ + { \ + .esp_zb_role = ESP_ZB_DEVICE_TYPE_COORDINATOR, .install_code_policy = false, .nwk_cfg = { \ + .zczr_cfg = \ + { \ + .max_children = 10, \ + }, \ + } \ + } + +class ZigbeeCore { +private: + esp_zb_radio_config_t _radio_config; + esp_zb_host_config_t _host_config; + uint32_t _primary_channel_mask; + int16_t _scan_status; + + esp_zb_ep_list_t *_zb_ep_list; + zigbee_role_t _role; + bool _started; + + uint8_t _open_network; + zigbee_scan_result_t *_scan_result; + + bool zigbeeInit(esp_zb_cfg_t *zb_cfg, bool erase_nvs); + static void scanCompleteCallback(esp_zb_zdp_status_t zdo_status, uint8_t count, esp_zb_network_descriptor_t *nwk_descriptor); + const char *getDeviceTypeString(esp_zb_ha_standard_devices_t deviceId); + +public: + ZigbeeCore(); + ~ZigbeeCore(); + + std::list ep_objects; + + bool begin(zigbee_role_t role = ZIGBEE_END_DEVICE, bool erase_nvs = false); + bool begin(esp_zb_cfg_t *role_cfg, bool erase_nvs = false); + // bool end(); + + bool isStarted() { + return _started; + } + zigbee_role_t getRole() { + return _role; + } + + void addEndpoint(ZigbeeEP *ep); + //void removeEndpoint(ZigbeeEP *ep); + + void setRadioConfig(esp_zb_radio_config_t config); + esp_zb_radio_config_t getRadioConfig(); + + void setHostConfig(esp_zb_host_config_t config); + esp_zb_host_config_t getHostConfig(); + + void setPrimaryChannelMask(uint32_t mask); + void setRebootOpenNetwork(uint8_t time); + void openNetwork(uint8_t time); + + //scan_duration Time spent scanning each channel, in units of ((1 << scan_duration) + 1) * a beacon time. (15.36 microseconds) + void scanNetworks(uint32_t channel_mask = ESP_ZB_TRANSCEIVER_ALL_CHANNELS_MASK, uint8_t scan_duration = 5); + // Zigbee scan complete status check, -2: failed or not started, -1: running, 0: no networks found, >0: number of networks found + int16_t scanComplete(); + zigbee_scan_result_t *getScanResult(); + void scanDelete(); + + void factoryReset(); + + // Friend function declaration to allow access to private members + friend void esp_zb_app_signal_handler(esp_zb_app_signal_t *signal_struct); +}; + +extern ZigbeeCore Zigbee; + +#endif //SOC_IEEE802154_SUPPORTED diff --git a/libraries/Zigbee/src/ZigbeeEP.cpp b/libraries/Zigbee/src/ZigbeeEP.cpp new file mode 100644 index 00000000000..af237739327 --- /dev/null +++ b/libraries/Zigbee/src/ZigbeeEP.cpp @@ -0,0 +1,162 @@ +/* Common Class for Zigbee End Point */ + +#include "ZigbeeEP.h" + +#if SOC_IEEE802154_SUPPORTED + +#include "esp_zigbee_cluster.h" + +uint8_t ZigbeeEP::_endpoint = 0; +bool ZigbeeEP::_is_bound = false; +bool ZigbeeEP::_allow_multiple_binding = false; + +/* Zigbee End Device Class */ +ZigbeeEP::ZigbeeEP(uint8_t endpoint) { + _endpoint = endpoint; + _ep_config.endpoint = 0; + _cluster_list = nullptr; +#if !CONFIG_DISABLE_HAL_LOCKS + if (!lock) { + lock = xSemaphoreCreateBinary(); + if (lock == NULL) { + log_e("Semaphore creation failed"); + } + } +#endif +} + +ZigbeeEP::~ZigbeeEP() {} + +void ZigbeeEP::setVersion(uint8_t version) { + _ep_config.app_device_version = version; +} + +void ZigbeeEP::setManufacturerAndModel(const char *name, const char *model) { + // Convert manufacturer to ZCL string + size_t length = strlen(name); + if (length > 32) { + log_e("Manufacturer name is too long"); + return; + } + // Allocate a new array of size length + 2 (1 for the length, 1 for null terminator) + char *zb_name = new char[length + 2]; + // Store the length as the first element + zb_name[0] = static_cast(length); // Cast size_t to char + // Use memcpy to copy the characters to the result array + memcpy(zb_name + 1, name, length); + // Null-terminate the array + zb_name[length + 1] = '\0'; + + // Convert model to ZCL string + length = strlen(model); + if (length > 32) { + log_e("Model name is too long"); + delete[] zb_name; + return; + } + char *zb_model = new char[length + 2]; + zb_model[0] = static_cast(length); + memcpy(zb_model + 1, model, length); + zb_model[length + 1] = '\0'; + + // Get the basic cluster and update the manufacturer and model attributes + esp_zb_attribute_list_t *basic_cluster = esp_zb_cluster_list_get_cluster(_cluster_list, ESP_ZB_ZCL_CLUSTER_ID_BASIC, ESP_ZB_ZCL_CLUSTER_SERVER_ROLE); + esp_zb_basic_cluster_add_attr(basic_cluster, ESP_ZB_ZCL_ATTR_BASIC_MANUFACTURER_NAME_ID, (void *)zb_name); + esp_zb_basic_cluster_add_attr(basic_cluster, ESP_ZB_ZCL_ATTR_BASIC_MODEL_IDENTIFIER_ID, (void *)zb_model); +} + +char *ZigbeeEP::readManufacturer(uint8_t endpoint, uint16_t short_addr) { + /* Read peer Manufacture Name & Model Identifier */ + esp_zb_zcl_read_attr_cmd_t read_req; + read_req.address_mode = ESP_ZB_APS_ADDR_MODE_16_ENDP_PRESENT; + read_req.zcl_basic_cmd.src_endpoint = _endpoint; + read_req.zcl_basic_cmd.dst_endpoint = endpoint; + read_req.zcl_basic_cmd.dst_addr_u.addr_short = short_addr; + read_req.clusterID = ESP_ZB_ZCL_CLUSTER_ID_BASIC; + + uint16_t attributes[] = { + ESP_ZB_ZCL_ATTR_BASIC_MANUFACTURER_NAME_ID, + }; + read_req.attr_number = ZB_ARRAY_LENTH(attributes); + read_req.attr_field = attributes; + + // clear read manufacturer + _read_manufacturer = nullptr; + + esp_zb_zcl_read_attr_cmd_req(&read_req); + + //Wait for response or timeout + if (xSemaphoreTake(lock, portMAX_DELAY) != pdTRUE) { + log_e("Error while reading manufacturer"); + } + return _read_manufacturer; +} + +char *ZigbeeEP::readModel(uint8_t endpoint, uint16_t short_addr) { + /* Read peer Manufacture Name & Model Identifier */ + esp_zb_zcl_read_attr_cmd_t read_req; + read_req.address_mode = ESP_ZB_APS_ADDR_MODE_16_ENDP_PRESENT; + read_req.zcl_basic_cmd.src_endpoint = _endpoint; + read_req.zcl_basic_cmd.dst_endpoint = endpoint; + read_req.zcl_basic_cmd.dst_addr_u.addr_short = short_addr; + read_req.clusterID = ESP_ZB_ZCL_CLUSTER_ID_BASIC; + + uint16_t attributes[] = { + ESP_ZB_ZCL_ATTR_BASIC_MODEL_IDENTIFIER_ID, + }; + read_req.attr_number = ZB_ARRAY_LENTH(attributes); + read_req.attr_field = attributes; + + // clear read model + _read_model = nullptr; + + esp_zb_zcl_read_attr_cmd_req(&read_req); + + //Wait for response or timeout + //Semaphore take + if (xSemaphoreTake(lock, portMAX_DELAY) != pdTRUE) { + log_e("Error while reading model"); + } + return _read_model; +} + +void ZigbeeEP::printBoundDevices() { + log_i("Bound devices:"); + for ([[maybe_unused]] + const auto &device : _bound_devices) { + log_i("Device on endpoint %d, short address: 0x%x", device->endpoint, device->short_addr); + print_ieee_addr(device->ieee_addr); + } +} + +void ZigbeeEP::zbReadBasicCluster(const esp_zb_zcl_attribute_t *attribute) { + /* Basic cluster attributes */ + if (attribute->id == ESP_ZB_ZCL_ATTR_BASIC_MANUFACTURER_NAME_ID && attribute->data.type == ESP_ZB_ZCL_ATTR_TYPE_CHAR_STRING && attribute->data.value) { + zbstring_t *zbstr = (zbstring_t *)attribute->data.value; + char *string = (char *)malloc(zbstr->len + 1); + memcpy(string, zbstr->data, zbstr->len); + string[zbstr->len] = '\0'; + log_i("Peer Manufacturer is \"%s\"", string); + _read_manufacturer = string; + xSemaphoreGive(lock); + } + if (attribute->id == ESP_ZB_ZCL_ATTR_BASIC_MODEL_IDENTIFIER_ID && attribute->data.type == ESP_ZB_ZCL_ATTR_TYPE_CHAR_STRING && attribute->data.value) { + zbstring_t *zbstr = (zbstring_t *)attribute->data.value; + char *string = (char *)malloc(zbstr->len + 1); + memcpy(string, zbstr->data, zbstr->len); + string[zbstr->len] = '\0'; + log_i("Peer Model is \"%s\"", string); + _read_model = string; + xSemaphoreGive(lock); + } +} + +void ZigbeeEP::zbIdentify(const esp_zb_zcl_set_attr_value_message_t *message) { + if (message->attribute.id == ESP_ZB_ZCL_CMD_IDENTIFY_IDENTIFY_ID && message->attribute.data.type == ESP_ZB_ZCL_ATTR_TYPE_U16) { + _on_identify(*(uint16_t *)message->attribute.data.value); + } else { + log_w("Other identify commands are not implemented yet."); + } +} + +#endif //SOC_IEEE802154_SUPPORTED diff --git a/libraries/Zigbee/src/ZigbeeEP.h b/libraries/Zigbee/src/ZigbeeEP.h new file mode 100644 index 00000000000..e7deefdb32e --- /dev/null +++ b/libraries/Zigbee/src/ZigbeeEP.h @@ -0,0 +1,124 @@ +/* Common Class for Zigbee End point */ + +#pragma once + +#include "ZigbeeCore.h" +#if SOC_IEEE802154_SUPPORTED + +#include + +/* Useful defines */ +#define ZB_ARRAY_LENTH(arr) (sizeof(arr) / sizeof(arr[0])) +#define print_ieee_addr(addr) \ + log_i("IEEE Address: %02X:%02X:%02X:%02X:%02X:%02X:%02X:%02X", addr[0], addr[1], addr[2], addr[3], addr[4], addr[5], addr[6], addr[7]) +#define XYZ_TO_RGB(X, Y, Z, r, g, b) \ + { \ + r = (float)(3.240479 * (X) - 1.537150 * (Y) - 0.498535 * (Z)); \ + g = (float)(-0.969256 * (X) + 1.875992 * (Y) + 0.041556 * (Z)); \ + b = (float)(0.055648 * (X) - 0.204043 * (Y) + 1.057311 * (Z)); \ + if (r > 1) { \ + r = 1; \ + } \ + if (g > 1) { \ + g = 1; \ + } \ + if (b > 1) { \ + b = 1; \ + } \ + } + +#define RGB_TO_XYZ(r, g, b, X, Y, Z) \ + { \ + X = (float)(0.412453 * (r) + 0.357580 * (g) + 0.180423 * (b)); \ + Y = (float)(0.212671 * (r) + 0.715160 * (g) + 0.072169 * (b)); \ + Z = (float)(0.019334 * (r) + 0.119193 * (g) + 0.950227 * (b)); \ + } + +typedef struct zbstring_s { + uint8_t len; + char data[]; +} ESP_ZB_PACKED_STRUCT zbstring_t; + +typedef struct zb_device_params_s { + esp_zb_ieee_addr_t ieee_addr; + uint8_t endpoint; + uint16_t short_addr; +} zb_device_params_t; + +typedef enum { + SINGLE_COLOR = 0, + RGB = 1 +} zb_identify_led_type_t; + +/* Zigbee End Device Class */ +class ZigbeeEP { +public: + ZigbeeEP(uint8_t endpoint = 10); + ~ZigbeeEP(); + + // Set ep config and cluster list + void setEpConfig(esp_zb_endpoint_config_t ep_config, esp_zb_cluster_list_t *cluster_list) { + _ep_config = ep_config; + _cluster_list = cluster_list; + } + + void setVersion(uint8_t version); + uint8_t getEndpoint() { + return _endpoint; + } + + void printBoundDevices(); + std::list getBoundDevices() const { + return _bound_devices; + } + + static bool isBound() { + return _is_bound; + } + static void allowMultipleBinding(bool bind) { + _allow_multiple_binding = bind; + } + + // Manufacturer name and model implemented + void setManufacturerAndModel(const char *name, const char *model); + + // Methods to read manufacturer and model name from selected endpoint and short address + char *readManufacturer(uint8_t endpoint, uint16_t short_addr); + char *readModel(uint8_t endpoint, uint16_t short_addr); + + bool epAllowMultipleBinding() { + return _allow_multiple_binding; + } + + // findEndpoind may be implemented by EPs to find and bind devices + virtual void findEndpoint(esp_zb_zdo_match_desc_req_param_t *cmd_req) {}; + + //list of all handlers function calls, to be override by EPs implementation + virtual void zbAttributeSet(const esp_zb_zcl_set_attr_value_message_t *message) {}; + virtual void zbAttributeRead(uint16_t cluster_id, const esp_zb_zcl_attribute_t *attribute) {}; + virtual void zbReadBasicCluster(const esp_zb_zcl_attribute_t *attribute); //already implemented + virtual void zbIdentify(const esp_zb_zcl_set_attr_value_message_t *message); + + void onIdentify(void (*callback)(uint16_t)) { + _on_identify = callback; + } + +private: + static bool _allow_multiple_binding; + char *_read_manufacturer; + char *_read_model; + void (*_on_identify)(uint16_t time); + +protected: + static uint8_t _endpoint; + esp_zb_ha_standard_devices_t _device_id; + esp_zb_endpoint_config_t _ep_config; + esp_zb_cluster_list_t *_cluster_list; + static bool _is_bound; + std::list _bound_devices; + SemaphoreHandle_t lock; + + friend class ZigbeeCore; +}; + +#endif //SOC_IEEE802154_SUPPORTED diff --git a/libraries/Zigbee/src/ZigbeeHandlers.cpp b/libraries/Zigbee/src/ZigbeeHandlers.cpp new file mode 100644 index 00000000000..9522b0ba1a8 --- /dev/null +++ b/libraries/Zigbee/src/ZigbeeHandlers.cpp @@ -0,0 +1,141 @@ +/* Zigbee Common Functions */ +#include "ZigbeeCore.h" +#include "Arduino.h" + +#if SOC_IEEE802154_SUPPORTED + +// forward declaration of all implemented handlers +static esp_err_t zb_attribute_set_handler(const esp_zb_zcl_set_attr_value_message_t *message); +static esp_err_t zb_attribute_reporting_handler(const esp_zb_zcl_report_attr_message_t *message); +static esp_err_t zb_cmd_read_attr_resp_handler(const esp_zb_zcl_cmd_read_attr_resp_message_t *message); +static esp_err_t zb_configure_report_resp_handler(const esp_zb_zcl_cmd_config_report_resp_message_t *message); +static esp_err_t zb_cmd_default_resp_handler(const esp_zb_zcl_cmd_default_resp_message_t *message); + +// Zigbee action handlers +[[maybe_unused]] +static esp_err_t zb_action_handler(esp_zb_core_action_callback_id_t callback_id, const void *message) { + esp_err_t ret = ESP_OK; + switch (callback_id) { + case ESP_ZB_CORE_SET_ATTR_VALUE_CB_ID: ret = zb_attribute_set_handler((esp_zb_zcl_set_attr_value_message_t *)message); break; + case ESP_ZB_CORE_REPORT_ATTR_CB_ID: ret = zb_attribute_reporting_handler((esp_zb_zcl_report_attr_message_t *)message); break; + case ESP_ZB_CORE_CMD_READ_ATTR_RESP_CB_ID: ret = zb_cmd_read_attr_resp_handler((esp_zb_zcl_cmd_read_attr_resp_message_t *)message); break; + case ESP_ZB_CORE_CMD_REPORT_CONFIG_RESP_CB_ID: ret = zb_configure_report_resp_handler((esp_zb_zcl_cmd_config_report_resp_message_t *)message); break; + case ESP_ZB_CORE_CMD_DEFAULT_RESP_CB_ID: ret = zb_cmd_default_resp_handler((esp_zb_zcl_cmd_default_resp_message_t *)message); break; + default: log_w("Receive unhandled Zigbee action(0x%x) callback", callback_id); break; + } + return ret; +} + +static esp_err_t zb_attribute_set_handler(const esp_zb_zcl_set_attr_value_message_t *message) { + if (!message) { + log_e("Empty message"); + } + if (message->info.status != ESP_ZB_ZCL_STATUS_SUCCESS) { + log_e("Received message: error status(%d)", message->info.status); + } + + log_v( + "Received message: endpoint(%d), cluster(0x%x), attribute(0x%x), data size(%d)", message->info.dst_endpoint, message->info.cluster, message->attribute.id, + message->attribute.data.size + ); + + // List through all Zigbee EPs and call the callback function, with the message + for (std::list::iterator it = Zigbee.ep_objects.begin(); it != Zigbee.ep_objects.end(); ++it) { + if (message->info.dst_endpoint == (*it)->getEndpoint()) { + if (message->info.cluster == ESP_ZB_ZCL_CLUSTER_ID_IDENTIFY) { + (*it)->zbIdentify(message); //method zbIdentify implemented in the common EP class + } else { + (*it)->zbAttributeSet(message); //method zbAttributeSet must be implemented in specific EP class + } + } + } + return ESP_OK; +} + +static esp_err_t zb_attribute_reporting_handler(const esp_zb_zcl_report_attr_message_t *message) { + if (!message) { + log_e("Empty message"); + } + if (message->status != ESP_ZB_ZCL_STATUS_SUCCESS) { + log_e("Received message: error status(%d)", message->status); + } + log_v( + "Received report from address(0x%x) src endpoint(%d) to dst endpoint(%d) cluster(0x%x)", message->src_address.u.short_addr, message->src_endpoint, + message->dst_endpoint, message->cluster + ); + // List through all Zigbee EPs and call the callback function, with the message + for (std::list::iterator it = Zigbee.ep_objects.begin(); it != Zigbee.ep_objects.end(); ++it) { + if (message->dst_endpoint == (*it)->getEndpoint()) { + (*it)->zbAttributeRead(message->cluster, &message->attribute); //method zbAttributeRead must be implemented in specific EP class + } + } + return ESP_OK; +} + +static esp_err_t zb_cmd_read_attr_resp_handler(const esp_zb_zcl_cmd_read_attr_resp_message_t *message) { + if (!message) { + log_e("Empty message"); + } + if (message->info.status != ESP_ZB_ZCL_STATUS_SUCCESS) { + log_e("Received message: error status(%d)", message->info.status); + } + log_v( + "Read attribute response: from address(0x%x) src endpoint(%d) to dst endpoint(%d) cluster(0x%x)", message->info.src_address.u.short_addr, + message->info.src_endpoint, message->info.dst_endpoint, message->info.cluster + ); + + for (std::list::iterator it = Zigbee.ep_objects.begin(); it != Zigbee.ep_objects.end(); ++it) { + if (message->info.dst_endpoint == (*it)->getEndpoint()) { + esp_zb_zcl_read_attr_resp_variable_t *variable = message->variables; + while (variable) { + log_v( + "Read attribute response: status(%d), cluster(0x%x), attribute(0x%x), type(0x%x), value(%d)", variable->status, message->info.cluster, + variable->attribute.id, variable->attribute.data.type, variable->attribute.data.value ? *(uint8_t *)variable->attribute.data.value : 0 + ); + if (variable->status == ESP_ZB_ZCL_STATUS_SUCCESS) { + if (message->info.cluster == ESP_ZB_ZCL_CLUSTER_ID_BASIC) { + (*it)->zbReadBasicCluster(&variable->attribute); //method zbReadBasicCluster implemented in the common EP class + } else { + (*it)->zbAttributeRead(message->info.cluster, &variable->attribute); //method zbAttributeRead must be implemented in specific EP class + } + } + variable = variable->next; + } + } + } + return ESP_OK; +} + +static esp_err_t zb_configure_report_resp_handler(const esp_zb_zcl_cmd_config_report_resp_message_t *message) { + if (!message) { + log_e("Empty message"); + } + if (message->info.status != ESP_ZB_ZCL_STATUS_SUCCESS) { + log_e("Received message: error status(%d)", message->info.status); + } + esp_zb_zcl_config_report_resp_variable_t *variable = message->variables; + while (variable) { + log_v( + "Configure report response: status(%d), cluster(0x%x), direction(0x%x), attribute(0x%x)", variable->status, message->info.cluster, variable->direction, + variable->attribute_id + ); + variable = variable->next; + } + return ESP_OK; +} + +static esp_err_t zb_cmd_default_resp_handler(const esp_zb_zcl_cmd_default_resp_message_t *message) { + if (!message) { + log_e("Empty message"); + } + if (message->info.status != ESP_ZB_ZCL_STATUS_SUCCESS) { + log_e("Received message: error status(%d)", message->info.status); + } + log_v( + "Received default response: from address(0x%x), src_endpoint(%d) to dst_endpoint(%d), cluster(0x%x) with status 0x%x", + message->info.src_address.u.short_addr, message->info.src_endpoint, message->info.dst_endpoint, message->info.cluster, message->status_code + ); + return ESP_OK; +} + +#endif //SOC_IEEE802154_SUPPORTED diff --git a/libraries/Zigbee/src/ep/ZigbeeColorDimmableLight.cpp b/libraries/Zigbee/src/ep/ZigbeeColorDimmableLight.cpp new file mode 100644 index 00000000000..841d9c7f122 --- /dev/null +++ b/libraries/Zigbee/src/ep/ZigbeeColorDimmableLight.cpp @@ -0,0 +1,112 @@ +#include "ZigbeeColorDimmableLight.h" +#if SOC_IEEE802154_SUPPORTED + +ZigbeeColorDimmableLight::ZigbeeColorDimmableLight(uint8_t endpoint) : ZigbeeEP(endpoint) { + _device_id = ESP_ZB_HA_COLOR_DIMMABLE_LIGHT_DEVICE_ID; + + esp_zb_color_dimmable_light_cfg_t light_cfg = ESP_ZB_DEFAULT_COLOR_DIMMABLE_LIGHT_CONFIG(); + _cluster_list = esp_zb_color_dimmable_light_clusters_create(&light_cfg); + _ep_config = { + .endpoint = _endpoint, .app_profile_id = ESP_ZB_AF_HA_PROFILE_ID, .app_device_id = ESP_ZB_HA_COLOR_DIMMABLE_LIGHT_DEVICE_ID, .app_device_version = 0 + }; + + //set default values + _current_state = false; + _current_level = 255; + _current_red = 255; + _current_green = 255; + _current_blue = 255; +} + +uint16_t ZigbeeColorDimmableLight::getCurrentColorX() { + return (*(uint16_t *)esp_zb_zcl_get_attribute( + _endpoint, ESP_ZB_ZCL_CLUSTER_ID_COLOR_CONTROL, ESP_ZB_ZCL_CLUSTER_SERVER_ROLE, ESP_ZB_ZCL_ATTR_COLOR_CONTROL_CURRENT_X_ID + ) + ->data_p); +} + +uint16_t ZigbeeColorDimmableLight::getCurrentColorY() { + return (*(uint16_t *)esp_zb_zcl_get_attribute( + _endpoint, ESP_ZB_ZCL_CLUSTER_ID_COLOR_CONTROL, ESP_ZB_ZCL_CLUSTER_SERVER_ROLE, ESP_ZB_ZCL_ATTR_COLOR_CONTROL_CURRENT_Y_ID + ) + ->data_p); +} + +void ZigbeeColorDimmableLight::calculateRGB(uint16_t x, uint16_t y, uint8_t &red, uint8_t &green, uint8_t &blue) { + float r, g, b, color_x, color_y; + color_x = (float)x / 65535; + color_y = (float)y / 65535; + + float color_X = color_x / color_y; + float color_Z = (1 - color_x - color_y) / color_y; + + XYZ_TO_RGB(color_X, 1, color_Z, r, g, b); + + red = (uint8_t)(r * (float)255); + green = (uint8_t)(g * (float)255); + blue = (uint8_t)(b * (float)255); +} + +//set attribute method -> method overridden in child class +void ZigbeeColorDimmableLight::zbAttributeSet(const esp_zb_zcl_set_attr_value_message_t *message) { + //check the data and call right method + if (message->info.cluster == ESP_ZB_ZCL_CLUSTER_ID_ON_OFF) { + if (message->attribute.id == ESP_ZB_ZCL_ATTR_ON_OFF_ON_OFF_ID && message->attribute.data.type == ESP_ZB_ZCL_ATTR_TYPE_BOOL) { + if (_current_state != *(bool *)message->attribute.data.value) { + _current_state = *(bool *)message->attribute.data.value; + lightChanged(); + } + return; + } else { + log_w("Received message ignored. Attribute ID: %d not supported for On/Off Light", message->attribute.id); + } + } else if (message->info.cluster == ESP_ZB_ZCL_CLUSTER_ID_LEVEL_CONTROL) { + if (message->attribute.id == ESP_ZB_ZCL_ATTR_LEVEL_CONTROL_CURRENT_LEVEL_ID && message->attribute.data.type == ESP_ZB_ZCL_ATTR_TYPE_U8) { + if (_current_level != *(uint8_t *)message->attribute.data.value) { + _current_level = *(uint8_t *)message->attribute.data.value; + lightChanged(); + } + return; + } else { + log_w("Received message ignored. Attribute ID: %d not supported for Level Control", message->attribute.id); + //TODO: implement more attributes -> includes/zcl/esp_zigbee_zcl_level.h + } + } else if (message->info.cluster == ESP_ZB_ZCL_CLUSTER_ID_COLOR_CONTROL) { + if (message->attribute.id == ESP_ZB_ZCL_ATTR_COLOR_CONTROL_CURRENT_X_ID && message->attribute.data.type == ESP_ZB_ZCL_ATTR_TYPE_U16) { + uint16_t light_color_x = (*(uint16_t *)message->attribute.data.value); + uint16_t light_color_y = getCurrentColorY(); + //calculate RGB from XY and call setColor() + uint8_t red, green, blue; + calculateRGB(light_color_x, light_color_y, red, green, blue); + _current_blue = blue; + _current_green = green; + _current_red = red; + lightChanged(); + return; + + } else if (message->attribute.id == ESP_ZB_ZCL_ATTR_COLOR_CONTROL_CURRENT_Y_ID && message->attribute.data.type == ESP_ZB_ZCL_ATTR_TYPE_U16) { + uint16_t light_color_x = getCurrentColorX(); + uint16_t light_color_y = (*(uint16_t *)message->attribute.data.value); + //calculate RGB from XY and call setColor() + uint8_t red, green, blue; + calculateRGB(light_color_x, light_color_y, red, green, blue); + _current_blue = blue; + _current_green = green; + _current_red = red; + lightChanged(); + return; + } else { + log_w("Received message ignored. Attribute ID: %d not supported for Color Control", message->attribute.id); + } + } else { + log_w("Received message ignored. Cluster ID: %d not supported for Color dimmable Light", message->info.cluster); + } +} + +void ZigbeeColorDimmableLight::lightChanged() { + if (_on_light_change) { + _on_light_change(_current_state, _current_red, _current_green, _current_blue, _current_level); + } +} + +#endif //SOC_IEEE802154_SUPPORTED diff --git a/libraries/Zigbee/src/ep/ZigbeeColorDimmableLight.h b/libraries/Zigbee/src/ep/ZigbeeColorDimmableLight.h new file mode 100644 index 00000000000..992c2573654 --- /dev/null +++ b/libraries/Zigbee/src/ep/ZigbeeColorDimmableLight.h @@ -0,0 +1,41 @@ +/* Class of Zigbee On/Off Light endpoint inherited from common EP class */ + +#pragma once + +#include "soc/soc_caps.h" +#if SOC_IEEE802154_SUPPORTED + +#include "ZigbeeEP.h" +#include "ha/esp_zigbee_ha_standard.h" + +class ZigbeeColorDimmableLight : public ZigbeeEP { +public: + ZigbeeColorDimmableLight(uint8_t endpoint); + ~ZigbeeColorDimmableLight(); + + void onLightChange(void (*callback)(bool, uint8_t, uint8_t, uint8_t, uint8_t)) { + _on_light_change = callback; + } + void restoreLight() { + lightChanged(); + } + +private: + void zbAttributeSet(const esp_zb_zcl_set_attr_value_message_t *message) override; + void calculateRGB(uint16_t x, uint16_t y, uint8_t &red, uint8_t &green, uint8_t &blue); + + uint16_t getCurrentColorX(); + uint16_t getCurrentColorY(); + + void lightChanged(); + //callback function to be called on light change (State, R, G, B, Level) + void (*_on_light_change)(bool, uint8_t, uint8_t, uint8_t, uint8_t); + + bool _current_state; + uint8_t _current_level; + uint16_t _current_red; + uint16_t _current_green; + uint16_t _current_blue; +}; + +#endif //SOC_IEEE802154_SUPPORTED diff --git a/libraries/Zigbee/src/ep/ZigbeeColorDimmerSwitch.cpp b/libraries/Zigbee/src/ep/ZigbeeColorDimmerSwitch.cpp new file mode 100644 index 00000000000..c30599aadac --- /dev/null +++ b/libraries/Zigbee/src/ep/ZigbeeColorDimmerSwitch.cpp @@ -0,0 +1,403 @@ +#include "ZigbeeColorDimmerSwitch.h" +#if SOC_IEEE802154_SUPPORTED + +// Initialize the static instance pointer +ZigbeeColorDimmerSwitch *ZigbeeColorDimmerSwitch::_instance = nullptr; + +ZigbeeColorDimmerSwitch::ZigbeeColorDimmerSwitch(uint8_t endpoint) : ZigbeeEP(endpoint) { + _device_id = ESP_ZB_HA_COLOR_DIMMER_SWITCH_DEVICE_ID; + _instance = this; // Set the static pointer to this instance + + esp_zb_color_dimmable_switch_cfg_t switch_cfg = ESP_ZB_DEFAULT_COLOR_DIMMABLE_SWITCH_CONFIG(); + _cluster_list = esp_zb_color_dimmable_switch_clusters_create(&switch_cfg); + + _ep_config = { + .endpoint = _endpoint, .app_profile_id = ESP_ZB_AF_HA_PROFILE_ID, .app_device_id = ESP_ZB_HA_COLOR_DIMMER_SWITCH_DEVICE_ID, .app_device_version = 0 + }; +} + +void ZigbeeColorDimmerSwitch::calculateXY(uint8_t red, uint8_t green, uint8_t blue, uint16_t &x, uint16_t &y) { + // Convert RGB to XYZ + float r = (float)red / 255.0f; + float g = (float)green / 255.0f; + float b = (float)blue / 255.0f; + + float X, Y, Z; + RGB_TO_XYZ(r, g, b, X, Y, Z); + + // Convert XYZ to xy chromaticity coordinates + float color_x = X / (X + Y + Z); + float color_y = Y / (X + Y + Z); + + // Convert normalized xy to 16-bit values + x = (uint16_t)(color_x * 65535.0f); + y = (uint16_t)(color_y * 65535.0f); +} + +void ZigbeeColorDimmerSwitch::bindCb(esp_zb_zdp_status_t zdo_status, void *user_ctx) { + if (zdo_status == ESP_ZB_ZDP_STATUS_SUCCESS) { + log_i("Bound successfully!"); + if (user_ctx) { + zb_device_params_t *light = (zb_device_params_t *)user_ctx; + log_i("The light originating from address(0x%x) on endpoint(%d)", light->short_addr, light->endpoint); + _instance->_bound_devices.push_back(light); + } + _is_bound = true; + } else { + log_e("Binding failed!"); + } +} + +void ZigbeeColorDimmerSwitch::findCb(esp_zb_zdp_status_t zdo_status, uint16_t addr, uint8_t endpoint, void *user_ctx) { + if (zdo_status == ESP_ZB_ZDP_STATUS_SUCCESS) { + log_d("Found light endpoint"); + esp_zb_zdo_bind_req_param_t bind_req; + zb_device_params_t *light = (zb_device_params_t *)malloc(sizeof(zb_device_params_t)); + light->endpoint = endpoint; + light->short_addr = addr; + esp_zb_ieee_address_by_short(light->short_addr, light->ieee_addr); + esp_zb_get_long_address(bind_req.src_address); + bind_req.src_endp = _endpoint; + bind_req.cluster_id = ESP_ZB_ZCL_CLUSTER_ID_ON_OFF; + bind_req.dst_addr_mode = ESP_ZB_ZDO_BIND_DST_ADDR_MODE_64_BIT_EXTENDED; + memcpy(bind_req.dst_address_u.addr_long, light->ieee_addr, sizeof(esp_zb_ieee_addr_t)); + bind_req.dst_endp = endpoint; + bind_req.req_dst_addr = esp_zb_get_short_address(); + log_v("Try to bind on/off control of dimmable light"); + esp_zb_zdo_device_bind_req(&bind_req, bindCb, NULL); + bind_req.cluster_id = ESP_ZB_ZCL_CLUSTER_ID_LEVEL_CONTROL; + log_v("Try to bind level control of dimmable light"); + esp_zb_zdo_device_bind_req(&bind_req, bindCb, NULL); + bind_req.cluster_id = ESP_ZB_ZCL_CLUSTER_ID_COLOR_CONTROL; + log_v("Try to bind color control of dimmable light"); + esp_zb_zdo_device_bind_req(&bind_req, bindCb, (void *)light); + } else { + log_v("No color dimmable light endpoint found"); + } +} + +// find on_off light endpoint +void ZigbeeColorDimmerSwitch::findEndpoint(esp_zb_zdo_match_desc_req_param_t *cmd_req) { + uint16_t cluster_list[] = {ESP_ZB_ZCL_CLUSTER_ID_ON_OFF, ESP_ZB_ZCL_CLUSTER_ID_LEVEL_CONTROL, ESP_ZB_ZCL_CLUSTER_ID_COLOR_CONTROL, + ESP_ZB_ZCL_CLUSTER_ID_ON_OFF, ESP_ZB_ZCL_CLUSTER_ID_LEVEL_CONTROL, ESP_ZB_ZCL_CLUSTER_ID_COLOR_CONTROL}; + esp_zb_zdo_match_desc_req_param_t color_dimmable_light_req = { + .dst_nwk_addr = cmd_req->dst_nwk_addr, + .addr_of_interest = cmd_req->addr_of_interest, + .profile_id = ESP_ZB_AF_HA_PROFILE_ID, + .num_in_clusters = 3, + .num_out_clusters = 3, + .cluster_list = cluster_list, + }; + esp_zb_zdo_match_cluster(&color_dimmable_light_req, findCb, NULL); +} + +// Methods to control the light +void ZigbeeColorDimmerSwitch::lightToggle() { + if (_is_bound) { + esp_zb_zcl_on_off_cmd_t cmd_req; + cmd_req.zcl_basic_cmd.src_endpoint = _endpoint; + cmd_req.address_mode = ESP_ZB_APS_ADDR_MODE_DST_ADDR_ENDP_NOT_PRESENT; + cmd_req.on_off_cmd_id = ESP_ZB_ZCL_CMD_ON_OFF_TOGGLE_ID; + log_i("Sending 'light toggle' command"); + //esp_zb_lock_acquire(portMAX_DELAY); + esp_zb_zcl_on_off_cmd_req(&cmd_req); + //esp_zb_lock_release(); + } else { + log_e("Light not bound"); + } +} + +void ZigbeeColorDimmerSwitch::lightToggle(uint16_t group_addr) { + if (_is_bound) { + esp_zb_zcl_on_off_cmd_t cmd_req; + cmd_req.zcl_basic_cmd.src_endpoint = _endpoint; + cmd_req.zcl_basic_cmd.dst_addr_u.addr_short = group_addr; + cmd_req.address_mode = ESP_ZB_APS_ADDR_MODE_16_GROUP_ENDP_NOT_PRESENT; + cmd_req.on_off_cmd_id = ESP_ZB_ZCL_CMD_ON_OFF_TOGGLE_ID; + log_i("Sending 'light toggle' command to group address 0x%x", group_addr); + esp_zb_lock_acquire(portMAX_DELAY); + esp_zb_zcl_on_off_cmd_req(&cmd_req); + esp_zb_lock_release(); + } else { + log_e("Light not bound"); + } +} + +void ZigbeeColorDimmerSwitch::lightToggle(uint8_t endpoint, uint16_t short_addr) { + if (_is_bound) { + esp_zb_zcl_on_off_cmd_t cmd_req; + cmd_req.zcl_basic_cmd.src_endpoint = _endpoint; + cmd_req.zcl_basic_cmd.dst_endpoint = endpoint; + cmd_req.zcl_basic_cmd.dst_addr_u.addr_short = short_addr; + cmd_req.address_mode = ESP_ZB_APS_ADDR_MODE_16_ENDP_PRESENT; + cmd_req.on_off_cmd_id = ESP_ZB_ZCL_CMD_ON_OFF_TOGGLE_ID; + log_i("Sending 'light toggle' command to endpoint %d, address 0x%x", endpoint, short_addr); + esp_zb_lock_acquire(portMAX_DELAY); + esp_zb_zcl_on_off_cmd_req(&cmd_req); + esp_zb_lock_release(); + } else { + log_e("Light not bound"); + } +} + +void ZigbeeColorDimmerSwitch::lightOn() { + if (_is_bound) { + esp_zb_zcl_on_off_cmd_t cmd_req; + cmd_req.zcl_basic_cmd.src_endpoint = _endpoint; + cmd_req.address_mode = ESP_ZB_APS_ADDR_MODE_DST_ADDR_ENDP_NOT_PRESENT; + cmd_req.on_off_cmd_id = ESP_ZB_ZCL_CMD_ON_OFF_ON_ID; + log_i("Sending 'light on' command"); + esp_zb_lock_acquire(portMAX_DELAY); + esp_zb_zcl_on_off_cmd_req(&cmd_req); + esp_zb_lock_release(); + } else { + log_e("Light not bound"); + } +} + +void ZigbeeColorDimmerSwitch::lightOn(uint16_t group_addr) { + if (_is_bound) { + esp_zb_zcl_on_off_cmd_t cmd_req; + cmd_req.zcl_basic_cmd.src_endpoint = _endpoint; + cmd_req.zcl_basic_cmd.dst_addr_u.addr_short = group_addr; + cmd_req.address_mode = ESP_ZB_APS_ADDR_MODE_16_GROUP_ENDP_NOT_PRESENT; + cmd_req.on_off_cmd_id = ESP_ZB_ZCL_CMD_ON_OFF_ON_ID; + log_i("Sending 'light on' command to group address 0x%x", group_addr); + esp_zb_lock_acquire(portMAX_DELAY); + esp_zb_zcl_on_off_cmd_req(&cmd_req); + esp_zb_lock_release(); + } else { + log_e("Light not bound"); + } +} + +void ZigbeeColorDimmerSwitch::lightOn(uint8_t endpoint, uint16_t short_addr) { + if (_is_bound) { + esp_zb_zcl_on_off_cmd_t cmd_req; + cmd_req.zcl_basic_cmd.src_endpoint = _endpoint; + cmd_req.zcl_basic_cmd.dst_endpoint = endpoint; + cmd_req.zcl_basic_cmd.dst_addr_u.addr_short = short_addr; + cmd_req.address_mode = ESP_ZB_APS_ADDR_MODE_16_ENDP_PRESENT; + cmd_req.on_off_cmd_id = ESP_ZB_ZCL_CMD_ON_OFF_ON_ID; + log_i("Sending 'light on' command to endpoint %d, address 0x%x", endpoint, short_addr); + esp_zb_lock_acquire(portMAX_DELAY); + esp_zb_zcl_on_off_cmd_req(&cmd_req); + esp_zb_lock_release(); + } else { + log_e("Light not bound"); + } +} + +void ZigbeeColorDimmerSwitch::lightOff() { + if (_is_bound) { + esp_zb_zcl_on_off_cmd_t cmd_req; + cmd_req.zcl_basic_cmd.src_endpoint = _endpoint; + cmd_req.address_mode = ESP_ZB_APS_ADDR_MODE_DST_ADDR_ENDP_NOT_PRESENT; + cmd_req.on_off_cmd_id = ESP_ZB_ZCL_CMD_ON_OFF_OFF_ID; + log_i("Sending 'light off' command"); + esp_zb_lock_acquire(portMAX_DELAY); + esp_zb_zcl_on_off_cmd_req(&cmd_req); + esp_zb_lock_release(); + } else { + log_e("Light not bound"); + } +} + +void ZigbeeColorDimmerSwitch::lightOff(uint16_t group_addr) { + if (_is_bound) { + esp_zb_zcl_on_off_cmd_t cmd_req; + cmd_req.zcl_basic_cmd.src_endpoint = _endpoint; + cmd_req.zcl_basic_cmd.dst_addr_u.addr_short = group_addr; + cmd_req.address_mode = ESP_ZB_APS_ADDR_MODE_16_GROUP_ENDP_NOT_PRESENT; + cmd_req.on_off_cmd_id = ESP_ZB_ZCL_CMD_ON_OFF_OFF_ID; + log_i("Sending 'light off' command to group address 0x%x", group_addr); + esp_zb_lock_acquire(portMAX_DELAY); + esp_zb_zcl_on_off_cmd_req(&cmd_req); + esp_zb_lock_release(); + } else { + log_e("Light not bound"); + } +} + +void ZigbeeColorDimmerSwitch::lightOff(uint8_t endpoint, uint16_t short_addr) { + if (_is_bound) { + esp_zb_zcl_on_off_cmd_t cmd_req; + cmd_req.zcl_basic_cmd.src_endpoint = _endpoint; + cmd_req.zcl_basic_cmd.dst_endpoint = endpoint; + cmd_req.zcl_basic_cmd.dst_addr_u.addr_short = short_addr; + cmd_req.address_mode = ESP_ZB_APS_ADDR_MODE_16_ENDP_PRESENT; + cmd_req.on_off_cmd_id = ESP_ZB_ZCL_CMD_ON_OFF_OFF_ID; + log_i("Sending 'light off' command to endpoint %d, address 0x%x", endpoint, short_addr); + esp_zb_lock_acquire(portMAX_DELAY); + esp_zb_zcl_on_off_cmd_req(&cmd_req); + esp_zb_lock_release(); + } else { + log_e("Light not bound"); + } +} + +void ZigbeeColorDimmerSwitch::lightOffWithEffect(uint8_t effect_id, uint8_t effect_variant) { + if (_is_bound) { + esp_zb_zcl_on_off_off_with_effect_cmd_t cmd_req; + cmd_req.zcl_basic_cmd.src_endpoint = _endpoint; + cmd_req.address_mode = ESP_ZB_APS_ADDR_MODE_DST_ADDR_ENDP_NOT_PRESENT; + cmd_req.effect_id = effect_id; + cmd_req.effect_variant = effect_variant; + log_i("Sending 'light off with effect' command"); + esp_zb_lock_acquire(portMAX_DELAY); + esp_zb_zcl_on_off_off_with_effect_cmd_req(&cmd_req); + esp_zb_lock_release(); + } else { + log_e("Light not bound"); + } +} + +void ZigbeeColorDimmerSwitch::lightOnWithSceneRecall() { + if (_is_bound) { + esp_zb_zcl_on_off_on_with_recall_global_scene_cmd_t cmd_req; + cmd_req.zcl_basic_cmd.src_endpoint = _endpoint; + cmd_req.address_mode = ESP_ZB_APS_ADDR_MODE_DST_ADDR_ENDP_NOT_PRESENT; + log_i("Sending 'light on with scene recall' command"); + esp_zb_lock_acquire(portMAX_DELAY); + esp_zb_zcl_on_off_on_with_recall_global_scene_cmd_req(&cmd_req); + esp_zb_lock_release(); + } else { + log_e("Light not bound"); + } +} + +void ZigbeeColorDimmerSwitch::lightOnWithTimedOff(uint8_t on_off_control, uint16_t time_on, uint16_t time_off) { + if (_is_bound) { + esp_zb_zcl_on_off_on_with_timed_off_cmd_t cmd_req; + cmd_req.zcl_basic_cmd.src_endpoint = _endpoint; + cmd_req.address_mode = ESP_ZB_APS_ADDR_MODE_DST_ADDR_ENDP_NOT_PRESENT; + cmd_req.on_off_control = on_off_control; //TODO: Test how it works, then maybe change API + cmd_req.on_time = time_on; + cmd_req.off_wait_time = time_off; + log_i("Sending 'light on with time off' command"); + esp_zb_lock_acquire(portMAX_DELAY); + esp_zb_zcl_on_off_on_with_timed_off_cmd_req(&cmd_req); + esp_zb_lock_release(); + } else { + log_e("Light not bound"); + } +} + +void ZigbeeColorDimmerSwitch::setLightLevel(uint8_t level) { + if (_is_bound) { + esp_zb_zcl_move_to_level_cmd_t cmd_req; + cmd_req.zcl_basic_cmd.src_endpoint = _endpoint; + cmd_req.address_mode = ESP_ZB_APS_ADDR_MODE_DST_ADDR_ENDP_NOT_PRESENT; + cmd_req.level = level; + cmd_req.transition_time = 0xffff; + log_i("Sending 'set light level' command"); + esp_zb_lock_acquire(portMAX_DELAY); + esp_zb_zcl_level_move_to_level_cmd_req(&cmd_req); + esp_zb_lock_release(); + } else { + log_e("Light not bound"); + } +} + +void ZigbeeColorDimmerSwitch::setLightLevel(uint8_t level, uint16_t group_addr) { + if (_is_bound) { + esp_zb_zcl_move_to_level_cmd_t cmd_req; + cmd_req.zcl_basic_cmd.src_endpoint = _endpoint; + cmd_req.zcl_basic_cmd.dst_addr_u.addr_short = group_addr; + cmd_req.address_mode = ESP_ZB_APS_ADDR_MODE_16_GROUP_ENDP_NOT_PRESENT; + cmd_req.level = level; + cmd_req.transition_time = 0xffff; + log_i("Sending 'set light level' command to group address 0x%x", group_addr); + esp_zb_lock_acquire(portMAX_DELAY); + esp_zb_zcl_level_move_to_level_cmd_req(&cmd_req); + esp_zb_lock_release(); + } else { + log_e("Light not bound"); + } +} + +void ZigbeeColorDimmerSwitch::setLightLevel(uint8_t level, uint8_t endpoint, uint16_t short_addr) { + if (_is_bound) { + esp_zb_zcl_move_to_level_cmd_t cmd_req; + cmd_req.zcl_basic_cmd.src_endpoint = _endpoint; + cmd_req.zcl_basic_cmd.dst_endpoint = endpoint; + cmd_req.zcl_basic_cmd.dst_addr_u.addr_short = short_addr; + cmd_req.address_mode = ESP_ZB_APS_ADDR_MODE_16_ENDP_PRESENT; + cmd_req.level = level; + cmd_req.transition_time = 0xffff; + log_i("Sending 'set light level' command to endpoint %d, address 0x%x", endpoint, short_addr); + esp_zb_lock_acquire(portMAX_DELAY); + esp_zb_zcl_level_move_to_level_cmd_req(&cmd_req); + esp_zb_lock_release(); + } else { + log_e("Light not bound"); + } +} + +void ZigbeeColorDimmerSwitch::setLightColor(uint8_t red, uint8_t green, uint8_t blue) { + if (_is_bound) { + //Convert RGB to XY + uint16_t color_x, color_y; + calculateXY(red, green, blue, color_x, color_y); + + esp_zb_zcl_color_move_to_color_cmd_t cmd_req; + cmd_req.zcl_basic_cmd.src_endpoint = _endpoint; + cmd_req.address_mode = ESP_ZB_APS_ADDR_MODE_DST_ADDR_ENDP_NOT_PRESENT; + cmd_req.color_x = color_x; + cmd_req.color_y = color_y; + cmd_req.transition_time = 0; + log_i("Sending 'set light color' command"); + esp_zb_lock_acquire(portMAX_DELAY); + esp_zb_zcl_color_move_to_color_cmd_req(&cmd_req); + esp_zb_lock_release(); + } else { + log_e("Light not bound"); + } +} + +void ZigbeeColorDimmerSwitch::setLightColor(uint8_t red, uint8_t green, uint8_t blue, uint16_t group_addr) { + if (_is_bound) { + //Convert RGB to XY + uint16_t color_x, color_y; + calculateXY(red, green, blue, color_x, color_y); + + esp_zb_zcl_color_move_to_color_cmd_t cmd_req; + cmd_req.zcl_basic_cmd.src_endpoint = _endpoint; + cmd_req.zcl_basic_cmd.dst_addr_u.addr_short = group_addr; + cmd_req.address_mode = ESP_ZB_APS_ADDR_MODE_16_GROUP_ENDP_NOT_PRESENT; + cmd_req.color_x = color_x; + cmd_req.color_y = color_y; + cmd_req.transition_time = 0; + log_i("Sending 'set light color' command to group address 0x%x", group_addr); + esp_zb_lock_acquire(portMAX_DELAY); + esp_zb_zcl_color_move_to_color_cmd_req(&cmd_req); + esp_zb_lock_release(); + } else { + log_e("Light not bound"); + } +} + +void ZigbeeColorDimmerSwitch::setLightColor(uint8_t red, uint8_t green, uint8_t blue, uint8_t endpoint, uint16_t short_addr) { + if (_is_bound) { + //Convert RGB to XY + uint16_t color_x, color_y; + calculateXY(red, green, blue, color_x, color_y); + + esp_zb_zcl_color_move_to_color_cmd_t cmd_req; + cmd_req.zcl_basic_cmd.src_endpoint = _endpoint; + cmd_req.zcl_basic_cmd.dst_endpoint = endpoint; + cmd_req.zcl_basic_cmd.dst_addr_u.addr_short = short_addr; + cmd_req.address_mode = ESP_ZB_APS_ADDR_MODE_16_ENDP_PRESENT; + cmd_req.color_x = color_x; + cmd_req.color_y = color_y; + cmd_req.transition_time = 0; + log_i("Sending 'set light color' command to endpoint %d, address 0x%x", endpoint, short_addr); + esp_zb_lock_acquire(portMAX_DELAY); + esp_zb_zcl_color_move_to_color_cmd_req(&cmd_req); + esp_zb_lock_release(); + } else { + log_e("Light not bound"); + } +} + +#endif //SOC_IEEE802154_SUPPORTED diff --git a/libraries/Zigbee/src/ep/ZigbeeColorDimmerSwitch.h b/libraries/Zigbee/src/ep/ZigbeeColorDimmerSwitch.h new file mode 100644 index 00000000000..2263f3235ca --- /dev/null +++ b/libraries/Zigbee/src/ep/ZigbeeColorDimmerSwitch.h @@ -0,0 +1,60 @@ +/* Class of Zigbee On/Off Switch endpoint inherited from common EP class */ + +#pragma once + +#include "soc/soc_caps.h" +#if SOC_IEEE802154_SUPPORTED + +#include "ZigbeeEP.h" +#include "ha/esp_zigbee_ha_standard.h" + +class ZigbeeColorDimmerSwitch : public ZigbeeEP { +public: + ZigbeeColorDimmerSwitch(uint8_t endpoint); + ~ZigbeeColorDimmerSwitch(); + + // methods to control the color dimmable light + void lightToggle(); + void lightToggle(uint16_t group_addr); + void lightToggle(uint8_t endpoint, uint16_t short_addr); + + void lightOn(); + void lightOn(uint16_t group_addr); + void lightOn(uint8_t endpoint, uint16_t short_addr); + + void lightOff(); + void lightOff(uint16_t group_addr); + void lightOff(uint8_t endpoint, uint16_t short_addr); + + void lightOffWithEffect(uint8_t effect_id, uint8_t effect_variant); + void lightOnWithTimedOff(uint8_t on_off_control, uint16_t time_on, uint16_t time_off); + void lightOnWithSceneRecall(); + + void setLightLevel(uint8_t level); + void setLightLevel(uint8_t level, uint16_t group_addr); + void setLightLevel(uint8_t level, uint8_t endpoint, uint16_t short_addr); + + void setLightColor(uint8_t red, uint8_t green, uint8_t blue); + void setLightColor(uint8_t red, uint8_t green, uint8_t blue, uint16_t group_addr); + void setLightColor(uint8_t red, uint8_t green, uint8_t blue, uint8_t endpoint, uint16_t short_addr); + + void setLightColorSaturation(uint8_t value); + void setLightColorSaturation(uint8_t value, uint16_t group_addr); + void setLightColorSaturation(uint8_t value, uint8_t endpoint, uint16_t short_addr); + + void setLightColorHue(uint8_t value); + void setLightColorHue(uint8_t value, uint16_t group_addr); + void setLightColorHue(uint8_t value, uint8_t endpoint, uint16_t short_addr); + +private: + // save instance of the class in order to use it in static functions + static ZigbeeColorDimmerSwitch *_instance; + + void findEndpoint(esp_zb_zdo_match_desc_req_param_t *cmd_req); + static void bindCb(esp_zb_zdp_status_t zdo_status, void *user_ctx); + static void findCb(esp_zb_zdp_status_t zdo_status, uint16_t addr, uint8_t endpoint, void *user_ctx); + + void calculateXY(uint8_t red, uint8_t green, uint8_t blue, uint16_t &x, uint16_t &y); +}; + +#endif //SOC_IEEE802154_SUPPORTED diff --git a/libraries/Zigbee/src/ep/ZigbeeLight.cpp b/libraries/Zigbee/src/ep/ZigbeeLight.cpp new file mode 100644 index 00000000000..0577ede1788 --- /dev/null +++ b/libraries/Zigbee/src/ep/ZigbeeLight.cpp @@ -0,0 +1,35 @@ +#include "ZigbeeLight.h" +#if SOC_IEEE802154_SUPPORTED + +ZigbeeLight::ZigbeeLight(uint8_t endpoint) : ZigbeeEP(endpoint) { + _device_id = ESP_ZB_HA_ON_OFF_LIGHT_DEVICE_ID; + + esp_zb_on_off_light_cfg_t light_cfg = ESP_ZB_DEFAULT_ON_OFF_LIGHT_CONFIG(); + _cluster_list = esp_zb_on_off_light_clusters_create(&light_cfg); // use esp_zb_zcl_cluster_list_create() instead of esp_zb_on_off_light_clusters_create() + _ep_config = {.endpoint = _endpoint, .app_profile_id = ESP_ZB_AF_HA_PROFILE_ID, .app_device_id = ESP_ZB_HA_ON_OFF_LIGHT_DEVICE_ID, .app_device_version = 0}; +} + +//set attribute method -> method overridden in child class +void ZigbeeLight::zbAttributeSet(const esp_zb_zcl_set_attr_value_message_t *message) { + //check the data and call right method + if (message->info.cluster == ESP_ZB_ZCL_CLUSTER_ID_ON_OFF) { + if (message->attribute.id == ESP_ZB_ZCL_ATTR_ON_OFF_ON_OFF_ID && message->attribute.data.type == ESP_ZB_ZCL_ATTR_TYPE_BOOL) { + _current_state = *(bool *)message->attribute.data.value; + lightChanged(); + } else { + log_w("Received message ignored. Attribute ID: %d not supported for On/Off Light", message->attribute.id); + } + } else { + log_w("Received message ignored. Cluster ID: %d not supported for On/Off Light", message->info.cluster); + } +} + +void ZigbeeLight::lightChanged() { + if (_on_light_change) { + _on_light_change(_current_state); + } else { + log_w("No callback function set for light change"); + } +} + +#endif //SOC_IEEE802154_SUPPORTED diff --git a/libraries/Zigbee/src/ep/ZigbeeLight.h b/libraries/Zigbee/src/ep/ZigbeeLight.h new file mode 100644 index 00000000000..32e4e8c9bdc --- /dev/null +++ b/libraries/Zigbee/src/ep/ZigbeeLight.h @@ -0,0 +1,33 @@ +/* Class of Zigbee On/Off Light endpoint inherited from common EP class */ + +#pragma once + +#include "soc/soc_caps.h" +#if SOC_IEEE802154_SUPPORTED + +#include "ZigbeeEP.h" +#include "ha/esp_zigbee_ha_standard.h" + +class ZigbeeLight : public ZigbeeEP { +public: + ZigbeeLight(uint8_t endpoint); + ~ZigbeeLight(); + + // Use tp set a cb function to be called on light change + void onLightChange(void (*callback)(bool)) { + _on_light_change = callback; + } + void restoreLight() { + lightChanged(); + } + +private: + void zbAttributeSet(const esp_zb_zcl_set_attr_value_message_t *message) override; + //callback function to be called on light change + void (*_on_light_change)(bool); + void lightChanged(); + + bool _current_state; +}; + +#endif //SOC_IEEE802154_SUPPORTED diff --git a/libraries/Zigbee/src/ep/ZigbeeSwitch.cpp b/libraries/Zigbee/src/ep/ZigbeeSwitch.cpp new file mode 100644 index 00000000000..9152732e376 --- /dev/null +++ b/libraries/Zigbee/src/ep/ZigbeeSwitch.cpp @@ -0,0 +1,233 @@ +#include "ZigbeeSwitch.h" +#if SOC_IEEE802154_SUPPORTED + +// Initialize the static instance pointer +ZigbeeSwitch *ZigbeeSwitch::_instance = nullptr; + +ZigbeeSwitch::ZigbeeSwitch(uint8_t endpoint) : ZigbeeEP(endpoint) { + _device_id = ESP_ZB_HA_ON_OFF_SWITCH_DEVICE_ID; + _instance = this; // Set the static pointer to this instance + + esp_zb_on_off_switch_cfg_t switch_cfg = ESP_ZB_DEFAULT_ON_OFF_SWITCH_CONFIG(); + _cluster_list = esp_zb_on_off_switch_clusters_create(&switch_cfg); + + _ep_config = {.endpoint = _endpoint, .app_profile_id = ESP_ZB_AF_HA_PROFILE_ID, .app_device_id = ESP_ZB_HA_ON_OFF_SWITCH_DEVICE_ID, .app_device_version = 0}; +} + +void ZigbeeSwitch::bindCb(esp_zb_zdp_status_t zdo_status, void *user_ctx) { + if (zdo_status == ESP_ZB_ZDP_STATUS_SUCCESS) { + log_i("Bound successfully!"); + if (user_ctx) { + zb_device_params_t *light = (zb_device_params_t *)user_ctx; + log_i("The light originating from address(0x%x) on endpoint(%d)", light->short_addr, light->endpoint); + _instance->_bound_devices.push_back(light); + } + _is_bound = true; + } +} + +void ZigbeeSwitch::findCb(esp_zb_zdp_status_t zdo_status, uint16_t addr, uint8_t endpoint, void *user_ctx) { + if (zdo_status == ESP_ZB_ZDP_STATUS_SUCCESS) { + log_d("Found light endpoint"); + esp_zb_zdo_bind_req_param_t bind_req; + zb_device_params_t *light = (zb_device_params_t *)malloc(sizeof(zb_device_params_t)); + light->endpoint = endpoint; + light->short_addr = addr; + esp_zb_ieee_address_by_short(light->short_addr, light->ieee_addr); + esp_zb_get_long_address(bind_req.src_address); + bind_req.src_endp = _endpoint; //_dev_endpoint; + bind_req.cluster_id = ESP_ZB_ZCL_CLUSTER_ID_ON_OFF; + bind_req.dst_addr_mode = ESP_ZB_ZDO_BIND_DST_ADDR_MODE_64_BIT_EXTENDED; + memcpy(bind_req.dst_address_u.addr_long, light->ieee_addr, sizeof(esp_zb_ieee_addr_t)); + bind_req.dst_endp = endpoint; + bind_req.req_dst_addr = esp_zb_get_short_address(); + log_i("Try to bind On/Off"); + esp_zb_zdo_device_bind_req(&bind_req, bindCb, (void *)light); + } else { + log_d("No light endpoint found"); + } +} + +// find on_off light endpoint +void ZigbeeSwitch::findEndpoint(esp_zb_zdo_match_desc_req_param_t *cmd_req) { + uint16_t cluster_list[] = {ESP_ZB_ZCL_CLUSTER_ID_ON_OFF, ESP_ZB_ZCL_CLUSTER_ID_ON_OFF}; + esp_zb_zdo_match_desc_req_param_t on_off_req = { + .dst_nwk_addr = cmd_req->dst_nwk_addr, + .addr_of_interest = cmd_req->addr_of_interest, + .profile_id = ESP_ZB_AF_HA_PROFILE_ID, + .num_in_clusters = 1, + .num_out_clusters = 1, + .cluster_list = cluster_list, + }; + + esp_zb_zdo_match_cluster(&on_off_req, findCb, NULL); +} + +// Methods to control the light +void ZigbeeSwitch::lightToggle() { + if (_is_bound) { + esp_zb_zcl_on_off_cmd_t cmd_req; + cmd_req.zcl_basic_cmd.src_endpoint = _endpoint; + cmd_req.address_mode = ESP_ZB_APS_ADDR_MODE_DST_ADDR_ENDP_NOT_PRESENT; + cmd_req.on_off_cmd_id = ESP_ZB_ZCL_CMD_ON_OFF_TOGGLE_ID; + log_i("Sending 'light toggle' command"); + esp_zb_zcl_on_off_cmd_req(&cmd_req); + } else { + log_e("Light not bound"); + } +} + +void ZigbeeSwitch::lightToggle(uint16_t group_addr) { + if (_is_bound) { + esp_zb_zcl_on_off_cmd_t cmd_req; + cmd_req.zcl_basic_cmd.src_endpoint = _endpoint; + cmd_req.zcl_basic_cmd.dst_addr_u.addr_short = group_addr; + cmd_req.address_mode = ESP_ZB_APS_ADDR_MODE_16_GROUP_ENDP_NOT_PRESENT; + cmd_req.on_off_cmd_id = ESP_ZB_ZCL_CMD_ON_OFF_TOGGLE_ID; + log_i("Sending 'light toggle' command to group address 0x%x", group_addr); + esp_zb_zcl_on_off_cmd_req(&cmd_req); + } else { + log_e("Light not bound"); + } +} + +void ZigbeeSwitch::lightToggle(uint8_t endpoint, uint16_t short_addr) { + if (_is_bound) { + esp_zb_zcl_on_off_cmd_t cmd_req; + cmd_req.zcl_basic_cmd.src_endpoint = _endpoint; + cmd_req.zcl_basic_cmd.dst_endpoint = endpoint; + cmd_req.zcl_basic_cmd.dst_addr_u.addr_short = short_addr; + cmd_req.address_mode = ESP_ZB_APS_ADDR_MODE_16_ENDP_PRESENT; + cmd_req.on_off_cmd_id = ESP_ZB_ZCL_CMD_ON_OFF_TOGGLE_ID; + log_i("Sending 'light toggle' command to endpoint %d, address 0x%x", endpoint, short_addr); + esp_zb_zcl_on_off_cmd_req(&cmd_req); + } else { + log_e("Light not bound"); + } +} + +void ZigbeeSwitch::lightOn() { + if (_is_bound) { + esp_zb_zcl_on_off_cmd_t cmd_req; + cmd_req.zcl_basic_cmd.src_endpoint = _endpoint; + cmd_req.address_mode = ESP_ZB_APS_ADDR_MODE_DST_ADDR_ENDP_NOT_PRESENT; + cmd_req.on_off_cmd_id = ESP_ZB_ZCL_CMD_ON_OFF_ON_ID; + log_i("Sending 'light on' command"); + esp_zb_zcl_on_off_cmd_req(&cmd_req); + } else { + log_e("Light not bound"); + } +} + +void ZigbeeSwitch::lightOn(uint16_t group_addr) { + if (_is_bound) { + esp_zb_zcl_on_off_cmd_t cmd_req; + cmd_req.zcl_basic_cmd.src_endpoint = _endpoint; + cmd_req.zcl_basic_cmd.dst_addr_u.addr_short = group_addr; + cmd_req.address_mode = ESP_ZB_APS_ADDR_MODE_16_GROUP_ENDP_NOT_PRESENT; + cmd_req.on_off_cmd_id = ESP_ZB_ZCL_CMD_ON_OFF_ON_ID; + log_i("Sending 'light on' command to group address 0x%x", group_addr); + esp_zb_zcl_on_off_cmd_req(&cmd_req); + } else { + log_e("Light not bound"); + } +} + +void ZigbeeSwitch::lightOn(uint8_t endpoint, uint16_t short_addr) { + if (_is_bound) { + esp_zb_zcl_on_off_cmd_t cmd_req; + cmd_req.zcl_basic_cmd.src_endpoint = _endpoint; + cmd_req.zcl_basic_cmd.dst_endpoint = endpoint; + cmd_req.zcl_basic_cmd.dst_addr_u.addr_short = short_addr; + cmd_req.address_mode = ESP_ZB_APS_ADDR_MODE_16_ENDP_PRESENT; + cmd_req.on_off_cmd_id = ESP_ZB_ZCL_CMD_ON_OFF_ON_ID; + log_i("Sending 'light on' command to endpoint %d, address 0x%x", endpoint, short_addr); + esp_zb_zcl_on_off_cmd_req(&cmd_req); + } else { + log_e("Light not bound"); + } +} + +void ZigbeeSwitch::lightOff() { + if (_is_bound) { + esp_zb_zcl_on_off_cmd_t cmd_req; + cmd_req.zcl_basic_cmd.src_endpoint = _endpoint; + cmd_req.address_mode = ESP_ZB_APS_ADDR_MODE_DST_ADDR_ENDP_NOT_PRESENT; + cmd_req.on_off_cmd_id = ESP_ZB_ZCL_CMD_ON_OFF_OFF_ID; + log_i("Sending 'light off' command"); + esp_zb_zcl_on_off_cmd_req(&cmd_req); + } else { + log_e("Light not bound"); + } +} + +void ZigbeeSwitch::lightOff(uint16_t group_addr) { + if (_is_bound) { + esp_zb_zcl_on_off_cmd_t cmd_req; + cmd_req.zcl_basic_cmd.src_endpoint = _endpoint; + cmd_req.zcl_basic_cmd.dst_addr_u.addr_short = group_addr; + cmd_req.address_mode = ESP_ZB_APS_ADDR_MODE_16_GROUP_ENDP_NOT_PRESENT; + cmd_req.on_off_cmd_id = ESP_ZB_ZCL_CMD_ON_OFF_OFF_ID; + log_i("Sending 'light off' command to group address 0x%x", group_addr); + esp_zb_zcl_on_off_cmd_req(&cmd_req); + } else { + log_e("Light not bound"); + } +} + +void ZigbeeSwitch::lightOff(uint8_t endpoint, uint16_t short_addr) { + if (_is_bound) { + esp_zb_zcl_on_off_cmd_t cmd_req; + cmd_req.zcl_basic_cmd.src_endpoint = _endpoint; + cmd_req.zcl_basic_cmd.dst_endpoint = endpoint; + cmd_req.zcl_basic_cmd.dst_addr_u.addr_short = short_addr; + cmd_req.address_mode = ESP_ZB_APS_ADDR_MODE_16_ENDP_PRESENT; + cmd_req.on_off_cmd_id = ESP_ZB_ZCL_CMD_ON_OFF_OFF_ID; + log_i("Sending 'light off' command to endpoint %d, address 0x%x", endpoint, short_addr); + esp_zb_zcl_on_off_cmd_req(&cmd_req); + } else { + log_e("Light not bound"); + } +} + +void ZigbeeSwitch::lightOffWithEffect(uint8_t effect_id, uint8_t effect_variant) { + if (_is_bound) { + esp_zb_zcl_on_off_off_with_effect_cmd_t cmd_req; + cmd_req.zcl_basic_cmd.src_endpoint = _endpoint; + cmd_req.address_mode = ESP_ZB_APS_ADDR_MODE_DST_ADDR_ENDP_NOT_PRESENT; + cmd_req.effect_id = effect_id; + cmd_req.effect_variant = effect_variant; + log_i("Sending 'light off with effect' command"); + esp_zb_zcl_on_off_off_with_effect_cmd_req(&cmd_req); + } else { + log_e("Light not bound"); + } +} + +void ZigbeeSwitch::lightOnWithSceneRecall() { + if (_is_bound) { + esp_zb_zcl_on_off_on_with_recall_global_scene_cmd_t cmd_req; + cmd_req.zcl_basic_cmd.src_endpoint = _endpoint; + cmd_req.address_mode = ESP_ZB_APS_ADDR_MODE_DST_ADDR_ENDP_NOT_PRESENT; + log_i("Sending 'light on with scene recall' command"); + esp_zb_zcl_on_off_on_with_recall_global_scene_cmd_req(&cmd_req); + } else { + log_e("Light not bound"); + } +} +void ZigbeeSwitch::lightOnWithTimedOff(uint8_t on_off_control, uint16_t time_on, uint16_t time_off) { + if (_is_bound) { + esp_zb_zcl_on_off_on_with_timed_off_cmd_t cmd_req; + cmd_req.zcl_basic_cmd.src_endpoint = _endpoint; + cmd_req.address_mode = ESP_ZB_APS_ADDR_MODE_DST_ADDR_ENDP_NOT_PRESENT; + cmd_req.on_off_control = on_off_control; //TODO: Test how it works, then maybe change API + cmd_req.on_time = time_on; + cmd_req.off_wait_time = time_off; + log_i("Sending 'light on with time off' command"); + esp_zb_zcl_on_off_on_with_timed_off_cmd_req(&cmd_req); + } else { + log_e("Light not bound"); + } +} + +#endif //SOC_IEEE802154_SUPPORTED diff --git a/libraries/Zigbee/src/ep/ZigbeeSwitch.h b/libraries/Zigbee/src/ep/ZigbeeSwitch.h new file mode 100644 index 00000000000..bbc6c0a91dc --- /dev/null +++ b/libraries/Zigbee/src/ep/ZigbeeSwitch.h @@ -0,0 +1,42 @@ +/* Class of Zigbee On/Off Switch endpoint inherited from common EP class */ + +#pragma once + +#include "soc/soc_caps.h" +#if SOC_IEEE802154_SUPPORTED + +#include "ZigbeeEP.h" +#include "ha/esp_zigbee_ha_standard.h" + +class ZigbeeSwitch : public ZigbeeEP { +public: + ZigbeeSwitch(uint8_t endpoint); + ~ZigbeeSwitch(); + + // methods to control the on/off light + void lightToggle(); + void lightToggle(uint16_t group_addr); + void lightToggle(uint8_t endpoint, uint16_t short_addr); + + void lightOn(); + void lightOn(uint16_t group_addr); + void lightOn(uint8_t endpoint, uint16_t short_addr); + + void lightOff(); + void lightOff(uint16_t group_addr); + void lightOff(uint8_t endpoint, uint16_t short_addr); + + void lightOffWithEffect(uint8_t effect_id, uint8_t effect_variant); + void lightOnWithTimedOff(uint8_t on_off_control, uint16_t time_on, uint16_t time_off); + void lightOnWithSceneRecall(); + +private: + // save instance of the class in order to use it in static functions + static ZigbeeSwitch *_instance; + + void findEndpoint(esp_zb_zdo_match_desc_req_param_t *cmd_req); + static void bindCb(esp_zb_zdp_status_t zdo_status, void *user_ctx); + static void findCb(esp_zb_zdp_status_t zdo_status, uint16_t addr, uint8_t endpoint, void *user_ctx); +}; + +#endif //SOC_IEEE802154_SUPPORTED diff --git a/libraries/Zigbee/src/ep/ZigbeeTempSensor.cpp b/libraries/Zigbee/src/ep/ZigbeeTempSensor.cpp new file mode 100644 index 00000000000..e0dba03da5c --- /dev/null +++ b/libraries/Zigbee/src/ep/ZigbeeTempSensor.cpp @@ -0,0 +1,93 @@ +#include "ZigbeeTempSensor.h" +#if SOC_IEEE802154_SUPPORTED + +ZigbeeTempSensor::ZigbeeTempSensor(uint8_t endpoint) : ZigbeeEP(endpoint) { + _device_id = ESP_ZB_HA_TEMPERATURE_SENSOR_DEVICE_ID; + + esp_zb_temperature_sensor_cfg_t temp_sensor_cfg = ESP_ZB_DEFAULT_TEMPERATURE_SENSOR_CONFIG(); + _cluster_list = esp_zb_temperature_sensor_clusters_create(&temp_sensor_cfg); + + _ep_config = { + .endpoint = _endpoint, .app_profile_id = ESP_ZB_AF_HA_PROFILE_ID, .app_device_id = ESP_ZB_HA_TEMPERATURE_SENSOR_DEVICE_ID, .app_device_version = 0 + }; +} + +static int16_t zb_temperature_to_s16(float temp) { + return (int16_t)(temp * 100); +} + +void ZigbeeTempSensor::setMinMaxValue(float min, float max) { + int16_t zb_min = zb_temperature_to_s16(min); + int16_t zb_max = zb_temperature_to_s16(max); + esp_zb_attribute_list_t *temp_measure_cluster = + esp_zb_cluster_list_get_cluster(_cluster_list, ESP_ZB_ZCL_CLUSTER_ID_TEMP_MEASUREMENT, ESP_ZB_ZCL_CLUSTER_SERVER_ROLE); + esp_zb_cluster_update_attr(temp_measure_cluster, ESP_ZB_ZCL_ATTR_TEMP_MEASUREMENT_MIN_VALUE_ID, (void *)&zb_min); + esp_zb_cluster_update_attr(temp_measure_cluster, ESP_ZB_ZCL_ATTR_TEMP_MEASUREMENT_MAX_VALUE_ID, (void *)&zb_max); +} + +void ZigbeeTempSensor::setTolerance(float tolerance) { + // Convert tolerance to ZCL uint16_t + uint16_t zb_tolerance = (uint16_t)(tolerance * 100); + esp_zb_attribute_list_t *temp_measure_cluster = + esp_zb_cluster_list_get_cluster(_cluster_list, ESP_ZB_ZCL_CLUSTER_ID_TEMP_MEASUREMENT, ESP_ZB_ZCL_CLUSTER_SERVER_ROLE); + esp_zb_temperature_meas_cluster_add_attr(temp_measure_cluster, ESP_ZB_ZCL_ATTR_TEMP_MEASUREMENT_TOLERANCE_ID, (void *)&zb_tolerance); +} + +void ZigbeeTempSensor::setReporting(uint16_t min_interval, uint16_t max_interval, float delta) { + esp_zb_zcl_reporting_info_t reporting_info = { + .direction = ESP_ZB_ZCL_CMD_DIRECTION_TO_SRV, + .ep = _endpoint, + .cluster_id = ESP_ZB_ZCL_CLUSTER_ID_TEMP_MEASUREMENT, + .cluster_role = ESP_ZB_ZCL_CLUSTER_SERVER_ROLE, + .attr_id = ESP_ZB_ZCL_ATTR_TEMP_MEASUREMENT_VALUE_ID, + .u = + { + .send_info = + { + .min_interval = min_interval, + .max_interval = max_interval, + .delta = + { + .u16 = (uint16_t)(delta * 100), // Convert delta to ZCL uint16_t + }, + .def_min_interval = min_interval, + .def_max_interval = max_interval, + }, + }, + .dst = + { + .profile_id = ESP_ZB_AF_HA_PROFILE_ID, + }, + .manuf_code = ESP_ZB_ZCL_ATTR_NON_MANUFACTURER_SPECIFIC, + }; + esp_zb_zcl_update_reporting_info(&reporting_info); +} + +void ZigbeeTempSensor::setTemperature(float temperature) { + int16_t zb_temperature = zb_temperature_to_s16(temperature); + log_v("Updating temperature sensor value..."); + /* Update temperature sensor measured value */ + log_d("Setting temperature to %d", zb_temperature); + esp_zb_lock_acquire(portMAX_DELAY); + esp_zb_zcl_set_attribute_val( + _endpoint, ESP_ZB_ZCL_CLUSTER_ID_TEMP_MEASUREMENT, ESP_ZB_ZCL_CLUSTER_SERVER_ROLE, ESP_ZB_ZCL_ATTR_TEMP_MEASUREMENT_VALUE_ID, &zb_temperature, false + ); + esp_zb_lock_release(); +} + +void ZigbeeTempSensor::reportTemperature() { + /* Send report attributes command */ + esp_zb_zcl_report_attr_cmd_t report_attr_cmd; + report_attr_cmd.address_mode = ESP_ZB_APS_ADDR_MODE_DST_ADDR_ENDP_NOT_PRESENT; + report_attr_cmd.attributeID = ESP_ZB_ZCL_ATTR_TEMP_MEASUREMENT_VALUE_ID; + report_attr_cmd.cluster_role = ESP_ZB_ZCL_CLUSTER_SERVER_ROLE; + report_attr_cmd.clusterID = ESP_ZB_ZCL_CLUSTER_ID_TEMP_MEASUREMENT; + report_attr_cmd.zcl_basic_cmd.src_endpoint = _endpoint; + + esp_zb_lock_acquire(portMAX_DELAY); + esp_zb_zcl_report_attr_cmd_req(&report_attr_cmd); + esp_zb_lock_release(); + log_v("Temperature report sent"); +} + +#endif //SOC_IEEE802154_SUPPORTED diff --git a/libraries/Zigbee/src/ep/ZigbeeTempSensor.h b/libraries/Zigbee/src/ep/ZigbeeTempSensor.h new file mode 100644 index 00000000000..22317721fc4 --- /dev/null +++ b/libraries/Zigbee/src/ep/ZigbeeTempSensor.h @@ -0,0 +1,30 @@ +/* Class of Zigbee Temperature sensor endpoint inherited from common EP class */ + +#pragma once + +#include "soc/soc_caps.h" +#if SOC_IEEE802154_SUPPORTED + +#include "ZigbeeEP.h" +#include "ha/esp_zigbee_ha_standard.h" + +class ZigbeeTempSensor : public ZigbeeEP { +public: + ZigbeeTempSensor(uint8_t endpoint); + ~ZigbeeTempSensor(); + + // Set the temperature value in 0,01°C + void setTemperature(float value); + + // Set the min and max value for the temperature sensor in 0,01°C + void setMinMaxValue(float min, float max); + + // Set the tolerance value for the temperature sensor in 0,01°C + void setTolerance(float tolerance); + + // Set the reporting interval for temperature measurement in seconds and delta (temp change in 0,01 °C) + void setReporting(uint16_t min_interval, uint16_t max_interval, float delta); + void reportTemperature(); +}; + +#endif //SOC_IEEE802154_SUPPORTED diff --git a/libraries/Zigbee/src/ep/ZigbeeThermostat.cpp b/libraries/Zigbee/src/ep/ZigbeeThermostat.cpp new file mode 100644 index 00000000000..28ed2a70cd2 --- /dev/null +++ b/libraries/Zigbee/src/ep/ZigbeeThermostat.cpp @@ -0,0 +1,205 @@ +#include "ZigbeeThermostat.h" +#if SOC_IEEE802154_SUPPORTED + +static float zb_s16_to_temperature(int16_t value) { + return 1.0 * value / 100; +} + +// Initialize the static instance of the class +ZigbeeThermostat *ZigbeeThermostat::_instance = nullptr; + +ZigbeeThermostat::ZigbeeThermostat(uint8_t endpoint) : ZigbeeEP(endpoint) { + _device_id = ESP_ZB_HA_THERMOSTAT_DEVICE_ID; + _instance = this; // Set the static pointer to this instance + + //use custom config to avoid narrowing error -> must be fixed in zigbee-sdk + esp_zb_thermostat_cfg_t thermostat_cfg = ZB_DEFAULT_THERMOSTAT_CONFIG(); + + //use custom cluster creating to accept reportings from temperature sensor + _cluster_list = esp_zb_zcl_cluster_list_create(); + esp_zb_attribute_list_t *basic_cluster = esp_zb_basic_cluster_create(&(thermostat_cfg.basic_cfg)); + esp_zb_cluster_list_add_basic_cluster(_cluster_list, basic_cluster, ESP_ZB_ZCL_CLUSTER_SERVER_ROLE); + esp_zb_cluster_list_add_identify_cluster(_cluster_list, esp_zb_identify_cluster_create(&(thermostat_cfg.identify_cfg)), ESP_ZB_ZCL_CLUSTER_SERVER_ROLE); + esp_zb_cluster_list_add_identify_cluster(_cluster_list, esp_zb_zcl_attr_list_create(ESP_ZB_ZCL_CLUSTER_ID_IDENTIFY), ESP_ZB_ZCL_CLUSTER_CLIENT_ROLE); + esp_zb_cluster_list_add_thermostat_cluster(_cluster_list, esp_zb_thermostat_cluster_create(&(thermostat_cfg.thermostat_cfg)), ESP_ZB_ZCL_CLUSTER_SERVER_ROLE); + /* Add temperature measurement cluster for attribute reporting */ + esp_zb_cluster_list_add_temperature_meas_cluster(_cluster_list, esp_zb_temperature_meas_cluster_create(NULL), ESP_ZB_ZCL_CLUSTER_CLIENT_ROLE); + + _ep_config = {.endpoint = _endpoint, .app_profile_id = ESP_ZB_AF_HA_PROFILE_ID, .app_device_id = ESP_ZB_HA_THERMOSTAT_DEVICE_ID, .app_device_version = 0}; +} + +void ZigbeeThermostat::bindCb(esp_zb_zdp_status_t zdo_status, void *user_ctx) { + if (zdo_status == ESP_ZB_ZDP_STATUS_SUCCESS) { + if (user_ctx) { + zb_device_params_t *sensor = (zb_device_params_t *)user_ctx; + log_i("The temperature sensor originating from address(0x%x) on endpoint(%d)", sensor->short_addr, sensor->endpoint); + _instance->_bound_devices.push_back(sensor); + } else { + log_v("Local binding success"); + } + _is_bound = true; + } else { + log_e("Binding failed!"); + } +} + +void ZigbeeThermostat::findCb(esp_zb_zdp_status_t zdo_status, uint16_t addr, uint8_t endpoint, void *user_ctx) { + if (zdo_status == ESP_ZB_ZDP_STATUS_SUCCESS) { + log_i("Found temperature sensor"); + esp_zb_zdo_bind_req_param_t bind_req; + /* Store the information of the remote device */ + zb_device_params_t *sensor = (zb_device_params_t *)malloc(sizeof(zb_device_params_t)); + sensor->endpoint = endpoint; + sensor->short_addr = addr; + esp_zb_ieee_address_by_short(sensor->short_addr, sensor->ieee_addr); + log_d("Temperature sensor found: short address(0x%x), endpoint(%d)", sensor->short_addr, sensor->endpoint); + + /* 1. Send binding request to the sensor */ + bind_req.req_dst_addr = addr; + log_d("Request temperature sensor to bind us"); + + /* populate the src information of the binding */ + memcpy(bind_req.src_address, sensor->ieee_addr, sizeof(esp_zb_ieee_addr_t)); + bind_req.src_endp = endpoint; + bind_req.cluster_id = ESP_ZB_ZCL_CLUSTER_ID_TEMP_MEASUREMENT; + log_d("Bind temperature sensor"); + + /* populate the dst information of the binding */ + bind_req.dst_addr_mode = ESP_ZB_ZDO_BIND_DST_ADDR_MODE_64_BIT_EXTENDED; + esp_zb_get_long_address(bind_req.dst_address_u.addr_long); + bind_req.dst_endp = _endpoint; + + log_i("Request temperature sensor to bind us"); + esp_zb_zdo_device_bind_req(&bind_req, bindCb, NULL); + + /* 2. Send binding request to self */ + bind_req.req_dst_addr = esp_zb_get_short_address(); + + /* populate the src information of the binding */ + esp_zb_get_long_address(bind_req.src_address); + bind_req.src_endp = _endpoint; + bind_req.cluster_id = ESP_ZB_ZCL_CLUSTER_ID_TEMP_MEASUREMENT; + + /* populate the dst information of the binding */ + bind_req.dst_addr_mode = ESP_ZB_ZDO_BIND_DST_ADDR_MODE_64_BIT_EXTENDED; + memcpy(bind_req.dst_address_u.addr_long, sensor->ieee_addr, sizeof(esp_zb_ieee_addr_t)); + bind_req.dst_endp = endpoint; + + log_i("Bind temperature sensor"); + esp_zb_zdo_device_bind_req(&bind_req, bindCb, (void *)sensor); + } +} + +void ZigbeeThermostat::findEndpoint(esp_zb_zdo_match_desc_req_param_t *param) { + uint16_t cluster_list[] = {ESP_ZB_ZCL_CLUSTER_ID_TEMP_MEASUREMENT}; + param->profile_id = ESP_ZB_AF_HA_PROFILE_ID; + param->num_in_clusters = 1; + param->num_out_clusters = 0; + param->cluster_list = cluster_list; + esp_zb_zdo_match_cluster(param, findCb, NULL); +} + +void ZigbeeThermostat::zbAttributeRead(uint16_t cluster_id, const esp_zb_zcl_attribute_t *attribute) { + static uint8_t read_config = 0; + if (cluster_id == ESP_ZB_ZCL_CLUSTER_ID_TEMP_MEASUREMENT) { + if (attribute->id == ESP_ZB_ZCL_ATTR_TEMP_MEASUREMENT_VALUE_ID && attribute->data.type == ESP_ZB_ZCL_ATTR_TYPE_S16) { + int16_t value = attribute->data.value ? *(int16_t *)attribute->data.value : 0; + if (_on_temp_recieve) { + _on_temp_recieve(zb_s16_to_temperature(value)); + } + } + if (attribute->id == ESP_ZB_ZCL_ATTR_TEMP_MEASUREMENT_MIN_VALUE_ID && attribute->data.type == ESP_ZB_ZCL_ATTR_TYPE_S16) { + int16_t min_value = attribute->data.value ? *(int16_t *)attribute->data.value : 0; + _min_temp = zb_s16_to_temperature(min_value); + read_config++; + } + if (attribute->id == ESP_ZB_ZCL_ATTR_TEMP_MEASUREMENT_MAX_VALUE_ID && attribute->data.type == ESP_ZB_ZCL_ATTR_TYPE_S16) { + int16_t max_value = attribute->data.value ? *(int16_t *)attribute->data.value : 0; + _max_temp = zb_s16_to_temperature(max_value); + read_config++; + } + if (attribute->id == ESP_ZB_ZCL_ATTR_TEMP_MEASUREMENT_TOLERANCE_ID && attribute->data.type == ESP_ZB_ZCL_ATTR_TYPE_U16) { + uint16_t tolerance = attribute->data.value ? *(uint16_t *)attribute->data.value : 0; + _tolerance = 1.0 * tolerance / 100; + read_config++; + } + if (read_config == 3) { + read_config = 0; + xSemaphoreGive(lock); + } + } +} + +void ZigbeeThermostat::getTemperature() { + /* Send "read attributes" command to the bound sensor */ + esp_zb_zcl_read_attr_cmd_t read_req; + read_req.address_mode = ESP_ZB_APS_ADDR_MODE_DST_ADDR_ENDP_NOT_PRESENT; + read_req.zcl_basic_cmd.src_endpoint = _endpoint; + read_req.clusterID = ESP_ZB_ZCL_CLUSTER_ID_TEMP_MEASUREMENT; + + uint16_t attributes[] = {ESP_ZB_ZCL_ATTR_TEMP_MEASUREMENT_VALUE_ID}; + read_req.attr_number = ZB_ARRAY_LENTH(attributes); + read_req.attr_field = attributes; + + log_i("Sending 'read temperature' command"); + esp_zb_lock_acquire(portMAX_DELAY); + esp_zb_zcl_read_attr_cmd_req(&read_req); + esp_zb_lock_release(); +} + +void ZigbeeThermostat::getSensorSettings() { + /* Send "read attributes" command to the bound sensor */ + esp_zb_zcl_read_attr_cmd_t read_req; + read_req.address_mode = ESP_ZB_APS_ADDR_MODE_DST_ADDR_ENDP_NOT_PRESENT; + read_req.zcl_basic_cmd.src_endpoint = _endpoint; + read_req.clusterID = ESP_ZB_ZCL_CLUSTER_ID_TEMP_MEASUREMENT; + + uint16_t attributes[] = { + ESP_ZB_ZCL_ATTR_TEMP_MEASUREMENT_MIN_VALUE_ID, ESP_ZB_ZCL_ATTR_TEMP_MEASUREMENT_MAX_VALUE_ID, ESP_ZB_ZCL_ATTR_TEMP_MEASUREMENT_TOLERANCE_ID + }; + read_req.attr_number = ZB_ARRAY_LENTH(attributes); + read_req.attr_field = attributes; + + log_i("Sending 'read temperature' command"); + esp_zb_lock_acquire(portMAX_DELAY); + esp_zb_zcl_read_attr_cmd_req(&read_req); + esp_zb_lock_release(); + + //Take semaphore to wait for response of all attributes + if (xSemaphoreTake(lock, portMAX_DELAY) != pdTRUE) { + log_e("Error while reading attributes"); + return; + } else { + //Call the callback function when all attributes are read + _on_config_recieve(_min_temp, _max_temp, _tolerance); + } +} + +void ZigbeeThermostat::setTemperatureReporting(uint16_t min_interval, uint16_t max_interval, float delta) { + /* Send "configure report attribute" command to the bound sensor */ + esp_zb_zcl_config_report_cmd_t report_cmd; + report_cmd.address_mode = ESP_ZB_APS_ADDR_MODE_DST_ADDR_ENDP_NOT_PRESENT; + report_cmd.zcl_basic_cmd.src_endpoint = _endpoint; + report_cmd.clusterID = ESP_ZB_ZCL_CLUSTER_ID_TEMP_MEASUREMENT; + + int16_t report_change = (int16_t)delta * 100; + esp_zb_zcl_config_report_record_t records[] = { + { + .direction = ESP_ZB_ZCL_CMD_DIRECTION_TO_SRV, + .attributeID = ESP_ZB_ZCL_ATTR_TEMP_MEASUREMENT_VALUE_ID, + .attrType = ESP_ZB_ZCL_ATTR_TYPE_S16, + .min_interval = min_interval, + .max_interval = max_interval, + .reportable_change = &report_change, + }, + }; + report_cmd.record_number = ZB_ARRAY_LENTH(records); + report_cmd.record_field = records; + + log_i("Sending 'configure reporting' command"); + esp_zb_lock_acquire(portMAX_DELAY); + esp_zb_zcl_config_report_cmd_req(&report_cmd); + esp_zb_lock_release(); +} + +#endif //SOC_IEEE802154_SUPPORTED diff --git a/libraries/Zigbee/src/ep/ZigbeeThermostat.h b/libraries/Zigbee/src/ep/ZigbeeThermostat.h new file mode 100644 index 00000000000..7d63cd9f726 --- /dev/null +++ b/libraries/Zigbee/src/ep/ZigbeeThermostat.h @@ -0,0 +1,64 @@ +/* Class of Zigbee Temperature sensor endpoint inherited from common EP class */ + +#pragma once + +#include "soc/soc_caps.h" +#if SOC_IEEE802154_SUPPORTED + +#include "ZigbeeEP.h" +#include "ha/esp_zigbee_ha_standard.h" + +//define the thermostat configuration to avoid narrowing conversion issue in zigbee-sdk +#define ZB_DEFAULT_THERMOSTAT_CONFIG() \ + { \ + .basic_cfg = \ + { \ + .zcl_version = ESP_ZB_ZCL_BASIC_ZCL_VERSION_DEFAULT_VALUE, \ + .power_source = ESP_ZB_ZCL_BASIC_POWER_SOURCE_DEFAULT_VALUE, \ + }, \ + .identify_cfg = \ + { \ + .identify_time = ESP_ZB_ZCL_IDENTIFY_IDENTIFY_TIME_DEFAULT_VALUE, \ + }, \ + .thermostat_cfg = { \ + .local_temperature = (int16_t)ESP_ZB_ZCL_THERMOSTAT_LOCAL_TEMPERATURE_DEFAULT_VALUE, \ + .occupied_cooling_setpoint = ESP_ZB_ZCL_THERMOSTAT_OCCUPIED_COOLING_SETPOINT_DEFAULT_VALUE, \ + .occupied_heating_setpoint = ESP_ZB_ZCL_THERMOSTAT_OCCUPIED_HEATING_SETPOINT_DEFAULT_VALUE, \ + .control_sequence_of_operation = ESP_ZB_ZCL_THERMOSTAT_CONTROL_SEQ_OF_OPERATION_DEFAULT_VALUE, \ + .system_mode = ESP_ZB_ZCL_THERMOSTAT_CONTROL_SYSTEM_MODE_DEFAULT_VALUE, \ + }, \ + } +class ZigbeeThermostat : public ZigbeeEP { +public: + ZigbeeThermostat(uint8_t endpoint); + ~ZigbeeThermostat(); + + void onTempRecieve(void (*callback)(float)) { + _on_temp_recieve = callback; + } + void onConfigRecieve(void (*callback)(float, float, float)) { + _on_config_recieve = callback; + } + + void getTemperature(); + void getSensorSettings(); + void setTemperatureReporting(uint16_t min_interval, uint16_t max_interval, float delta); + +private: + // save instance of the class in order to use it in static functions + static ZigbeeThermostat *_instance; + + void (*_on_temp_recieve)(float); + void (*_on_config_recieve)(float, float, float); + float _min_temp; + float _max_temp; + float _tolerance; + + void findEndpoint(esp_zb_zdo_match_desc_req_param_t *cmd_req); + static void bindCb(esp_zb_zdp_status_t zdo_status, void *user_ctx); + static void findCb(esp_zb_zdp_status_t zdo_status, uint16_t addr, uint8_t endpoint, void *user_ctx); + + void zbAttributeRead(uint16_t cluster_id, const esp_zb_zcl_attribute_t *attribute) override; +}; + +#endif //SOC_IEEE802154_SUPPORTED From b067cd6d7f92bd171546a42ec28d646c52a6053c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Proch=C3=A1zka?= <90197375+P-R-O-C-H-Y@users.noreply.github.com> Date: Wed, 2 Oct 2024 17:25:15 +0200 Subject: [PATCH 068/146] fix(example): Skip zigbee build for P4 --- libraries/Zigbee/examples/Zigbee_Color_Dimmable_Light/ci.json | 3 ++- libraries/Zigbee/examples/Zigbee_Color_Dimmer_Switch/ci.json | 3 ++- libraries/Zigbee/examples/Zigbee_On_Off_Light/ci.json | 3 ++- libraries/Zigbee/examples/Zigbee_On_Off_Switch/ci.json | 3 ++- libraries/Zigbee/examples/Zigbee_Scan_Networks/ci.json | 3 ++- libraries/Zigbee/examples/Zigbee_Temperature_Sensor/ci.json | 3 ++- libraries/Zigbee/examples/Zigbee_Thermostat/ci.json | 3 ++- 7 files changed, 14 insertions(+), 7 deletions(-) diff --git a/libraries/Zigbee/examples/Zigbee_Color_Dimmable_Light/ci.json b/libraries/Zigbee/examples/Zigbee_Color_Dimmable_Light/ci.json index 3aaf44eb376..f6e4a17c15d 100644 --- a/libraries/Zigbee/examples/Zigbee_Color_Dimmable_Light/ci.json +++ b/libraries/Zigbee/examples/Zigbee_Color_Dimmable_Light/ci.json @@ -11,6 +11,7 @@ "esp32": false, "esp32c3": false, "esp32s2": false, - "esp32s3": false + "esp32s3": false, + "esp32p4": false } } diff --git a/libraries/Zigbee/examples/Zigbee_Color_Dimmer_Switch/ci.json b/libraries/Zigbee/examples/Zigbee_Color_Dimmer_Switch/ci.json index c916121b991..e51a291ca49 100644 --- a/libraries/Zigbee/examples/Zigbee_Color_Dimmer_Switch/ci.json +++ b/libraries/Zigbee/examples/Zigbee_Color_Dimmer_Switch/ci.json @@ -11,6 +11,7 @@ "esp32": false, "esp32c3": false, "esp32s2": false, - "esp32s3": false + "esp32s3": false, + "esp32p4": false } } diff --git a/libraries/Zigbee/examples/Zigbee_On_Off_Light/ci.json b/libraries/Zigbee/examples/Zigbee_On_Off_Light/ci.json index 3aaf44eb376..f6e4a17c15d 100644 --- a/libraries/Zigbee/examples/Zigbee_On_Off_Light/ci.json +++ b/libraries/Zigbee/examples/Zigbee_On_Off_Light/ci.json @@ -11,6 +11,7 @@ "esp32": false, "esp32c3": false, "esp32s2": false, - "esp32s3": false + "esp32s3": false, + "esp32p4": false } } diff --git a/libraries/Zigbee/examples/Zigbee_On_Off_Switch/ci.json b/libraries/Zigbee/examples/Zigbee_On_Off_Switch/ci.json index c916121b991..e51a291ca49 100644 --- a/libraries/Zigbee/examples/Zigbee_On_Off_Switch/ci.json +++ b/libraries/Zigbee/examples/Zigbee_On_Off_Switch/ci.json @@ -11,6 +11,7 @@ "esp32": false, "esp32c3": false, "esp32s2": false, - "esp32s3": false + "esp32s3": false, + "esp32p4": false } } diff --git a/libraries/Zigbee/examples/Zigbee_Scan_Networks/ci.json b/libraries/Zigbee/examples/Zigbee_Scan_Networks/ci.json index 3aaf44eb376..f6e4a17c15d 100644 --- a/libraries/Zigbee/examples/Zigbee_Scan_Networks/ci.json +++ b/libraries/Zigbee/examples/Zigbee_Scan_Networks/ci.json @@ -11,6 +11,7 @@ "esp32": false, "esp32c3": false, "esp32s2": false, - "esp32s3": false + "esp32s3": false, + "esp32p4": false } } diff --git a/libraries/Zigbee/examples/Zigbee_Temperature_Sensor/ci.json b/libraries/Zigbee/examples/Zigbee_Temperature_Sensor/ci.json index 3aaf44eb376..f6e4a17c15d 100644 --- a/libraries/Zigbee/examples/Zigbee_Temperature_Sensor/ci.json +++ b/libraries/Zigbee/examples/Zigbee_Temperature_Sensor/ci.json @@ -11,6 +11,7 @@ "esp32": false, "esp32c3": false, "esp32s2": false, - "esp32s3": false + "esp32s3": false, + "esp32p4": false } } diff --git a/libraries/Zigbee/examples/Zigbee_Thermostat/ci.json b/libraries/Zigbee/examples/Zigbee_Thermostat/ci.json index c916121b991..e51a291ca49 100644 --- a/libraries/Zigbee/examples/Zigbee_Thermostat/ci.json +++ b/libraries/Zigbee/examples/Zigbee_Thermostat/ci.json @@ -11,6 +11,7 @@ "esp32": false, "esp32c3": false, "esp32s2": false, - "esp32s3": false + "esp32s3": false, + "esp32p4": false } } From c5047286a1d743e62d441b8bf23cf5aeda74bac3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Proch=C3=A1zka?= <90197375+P-R-O-C-H-Y@users.noreply.github.com> Date: Wed, 2 Oct 2024 18:40:04 +0200 Subject: [PATCH 069/146] fix(example): Use requires instead of target in ci.json --- .../examples/Zigbee_Color_Dimmable_Light/ci.json | 10 +++------- .../Zigbee/examples/Zigbee_Color_Dimmer_Switch/ci.json | 10 +++------- libraries/Zigbee/examples/Zigbee_On_Off_Light/ci.json | 10 +++------- libraries/Zigbee/examples/Zigbee_On_Off_Switch/ci.json | 10 +++------- libraries/Zigbee/examples/Zigbee_Scan_Networks/ci.json | 10 +++------- .../Zigbee/examples/Zigbee_Temperature_Sensor/ci.json | 10 +++------- libraries/Zigbee/examples/Zigbee_Thermostat/ci.json | 10 +++------- 7 files changed, 21 insertions(+), 49 deletions(-) diff --git a/libraries/Zigbee/examples/Zigbee_Color_Dimmable_Light/ci.json b/libraries/Zigbee/examples/Zigbee_Color_Dimmable_Light/ci.json index f6e4a17c15d..d3573967de0 100644 --- a/libraries/Zigbee/examples/Zigbee_Color_Dimmable_Light/ci.json +++ b/libraries/Zigbee/examples/Zigbee_Color_Dimmable_Light/ci.json @@ -7,11 +7,7 @@ "espressif:esp32:esp32h2:PartitionScheme=zigbee,ZigbeeMode=ed" ] }, - "targets": { - "esp32": false, - "esp32c3": false, - "esp32s2": false, - "esp32s3": false, - "esp32p4": false - } + "requires": [ + "CONFIG_SOC_IEEE802154_SUPPORTED=y" + ] } diff --git a/libraries/Zigbee/examples/Zigbee_Color_Dimmer_Switch/ci.json b/libraries/Zigbee/examples/Zigbee_Color_Dimmer_Switch/ci.json index e51a291ca49..3a5d7026228 100644 --- a/libraries/Zigbee/examples/Zigbee_Color_Dimmer_Switch/ci.json +++ b/libraries/Zigbee/examples/Zigbee_Color_Dimmer_Switch/ci.json @@ -7,11 +7,7 @@ "espressif:esp32:esp32h2:PartitionScheme=zigbee_zczr,ZigbeeMode=zczr" ] }, - "targets": { - "esp32": false, - "esp32c3": false, - "esp32s2": false, - "esp32s3": false, - "esp32p4": false - } + "requires": [ + "CONFIG_SOC_IEEE802154_SUPPORTED=y" + ] } diff --git a/libraries/Zigbee/examples/Zigbee_On_Off_Light/ci.json b/libraries/Zigbee/examples/Zigbee_On_Off_Light/ci.json index f6e4a17c15d..d3573967de0 100644 --- a/libraries/Zigbee/examples/Zigbee_On_Off_Light/ci.json +++ b/libraries/Zigbee/examples/Zigbee_On_Off_Light/ci.json @@ -7,11 +7,7 @@ "espressif:esp32:esp32h2:PartitionScheme=zigbee,ZigbeeMode=ed" ] }, - "targets": { - "esp32": false, - "esp32c3": false, - "esp32s2": false, - "esp32s3": false, - "esp32p4": false - } + "requires": [ + "CONFIG_SOC_IEEE802154_SUPPORTED=y" + ] } diff --git a/libraries/Zigbee/examples/Zigbee_On_Off_Switch/ci.json b/libraries/Zigbee/examples/Zigbee_On_Off_Switch/ci.json index e51a291ca49..3a5d7026228 100644 --- a/libraries/Zigbee/examples/Zigbee_On_Off_Switch/ci.json +++ b/libraries/Zigbee/examples/Zigbee_On_Off_Switch/ci.json @@ -7,11 +7,7 @@ "espressif:esp32:esp32h2:PartitionScheme=zigbee_zczr,ZigbeeMode=zczr" ] }, - "targets": { - "esp32": false, - "esp32c3": false, - "esp32s2": false, - "esp32s3": false, - "esp32p4": false - } + "requires": [ + "CONFIG_SOC_IEEE802154_SUPPORTED=y" + ] } diff --git a/libraries/Zigbee/examples/Zigbee_Scan_Networks/ci.json b/libraries/Zigbee/examples/Zigbee_Scan_Networks/ci.json index f6e4a17c15d..d3573967de0 100644 --- a/libraries/Zigbee/examples/Zigbee_Scan_Networks/ci.json +++ b/libraries/Zigbee/examples/Zigbee_Scan_Networks/ci.json @@ -7,11 +7,7 @@ "espressif:esp32:esp32h2:PartitionScheme=zigbee,ZigbeeMode=ed" ] }, - "targets": { - "esp32": false, - "esp32c3": false, - "esp32s2": false, - "esp32s3": false, - "esp32p4": false - } + "requires": [ + "CONFIG_SOC_IEEE802154_SUPPORTED=y" + ] } diff --git a/libraries/Zigbee/examples/Zigbee_Temperature_Sensor/ci.json b/libraries/Zigbee/examples/Zigbee_Temperature_Sensor/ci.json index f6e4a17c15d..d3573967de0 100644 --- a/libraries/Zigbee/examples/Zigbee_Temperature_Sensor/ci.json +++ b/libraries/Zigbee/examples/Zigbee_Temperature_Sensor/ci.json @@ -7,11 +7,7 @@ "espressif:esp32:esp32h2:PartitionScheme=zigbee,ZigbeeMode=ed" ] }, - "targets": { - "esp32": false, - "esp32c3": false, - "esp32s2": false, - "esp32s3": false, - "esp32p4": false - } + "requires": [ + "CONFIG_SOC_IEEE802154_SUPPORTED=y" + ] } diff --git a/libraries/Zigbee/examples/Zigbee_Thermostat/ci.json b/libraries/Zigbee/examples/Zigbee_Thermostat/ci.json index e51a291ca49..3a5d7026228 100644 --- a/libraries/Zigbee/examples/Zigbee_Thermostat/ci.json +++ b/libraries/Zigbee/examples/Zigbee_Thermostat/ci.json @@ -7,11 +7,7 @@ "espressif:esp32:esp32h2:PartitionScheme=zigbee_zczr,ZigbeeMode=zczr" ] }, - "targets": { - "esp32": false, - "esp32c3": false, - "esp32s2": false, - "esp32s3": false, - "esp32p4": false - } + "requires": [ + "CONFIG_SOC_IEEE802154_SUPPORTED=y" + ] } From c3aa74f60ab0d6377d17d5ef14a8ddd08c380be1 Mon Sep 17 00:00:00 2001 From: me-no-dev Date: Wed, 2 Oct 2024 19:26:33 +0300 Subject: [PATCH 070/146] fix(spiram): Fix OPI PSRAM init --- cores/esp32/esp32-hal-misc.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/cores/esp32/esp32-hal-misc.c b/cores/esp32/esp32-hal-misc.c index 1fb1d2af9df..0bce548bdd2 100644 --- a/cores/esp32/esp32-hal-misc.c +++ b/cores/esp32/esp32-hal-misc.c @@ -253,13 +253,11 @@ extern bool btInUse(); #endif #if CONFIG_SPIRAM_SUPPORT || CONFIG_SPIRAM -#ifndef CONFIG_SPIRAM_BOOT_INIT ESP_SYSTEM_INIT_FN(init_psram_new, CORE, BIT(0), 99) { psramInit(); return ESP_OK; } #endif -#endif void initArduino() { //init proper ref tick value for PLL (uncomment if REF_TICK is different than 1MHz) From 01b256ca1cd6d341b53758591eaa905818ff4aaa Mon Sep 17 00:00:00 2001 From: me-no-dev Date: Wed, 2 Oct 2024 21:08:49 +0300 Subject: [PATCH 071/146] fix(usb): Enable TinyUSB mode for ESP32-P4 --- .github/scripts/sketch_utils.sh | 2 +- boards.txt | 27 ++++++++++++++++++++++----- platform.txt | 2 +- 3 files changed, 24 insertions(+), 7 deletions(-) diff --git a/.github/scripts/sketch_utils.sh b/.github/scripts/sketch_utils.sh index eae5c139428..b19a0ab67a9 100755 --- a/.github/scripts/sketch_utils.sh +++ b/.github/scripts/sketch_utils.sh @@ -91,7 +91,7 @@ function build_sketch(){ # build_sketch [ex esp32c3_opts="PartitionScheme=huge_app,FlashMode=dio" esp32c6_opts="PartitionScheme=huge_app,FlashMode=dio" esp32h2_opts="PartitionScheme=huge_app,FlashMode=dio" - esp32p4_opts="PartitionScheme=huge_app,FlashMode=dio" + esp32p4_opts="PartitionScheme=huge_app,FlashMode=dio,USBMode=default" # Select the common part of the FQBN based on the target. The rest will be # appended depending on the passed options. diff --git a/boards.txt b/boards.txt index 0ff823bd4e0..51b4adfd868 100644 --- a/boards.txt +++ b/boards.txt @@ -212,21 +212,38 @@ esp32p4.menu.JTAGAdapter.bridge=ESP USB Bridge esp32p4.menu.JTAGAdapter.bridge.build.openocdscript=esp32p4-bridge.cfg esp32p4.menu.JTAGAdapter.bridge.build.copy_jtag_files=1 -esp32p4.menu.CDCOnBoot.default=Disabled -esp32p4.menu.CDCOnBoot.default.build.cdc_on_boot=0 -esp32p4.menu.CDCOnBoot.cdc=Enabled -esp32p4.menu.CDCOnBoot.cdc.build.cdc_on_boot=1 - esp32p4.menu.PSRAM.disabled=Disabled esp32p4.menu.PSRAM.disabled.build.defines= esp32p4.menu.PSRAM.enabled=Enabled esp32p4.menu.PSRAM.enabled.build.defines=-DBOARD_HAS_PSRAM +esp32p4.menu.USBMode.hwcdc=Hardware CDC and JTAG +esp32p4.menu.USBMode.hwcdc.build.usb_mode=1 +esp32p4.menu.USBMode.default=USB-OTG (TinyUSB) +esp32p4.menu.USBMode.default.build.usb_mode=0 + esp32p4.menu.CDCOnBoot.default=Disabled esp32p4.menu.CDCOnBoot.default.build.cdc_on_boot=0 esp32p4.menu.CDCOnBoot.cdc=Enabled esp32p4.menu.CDCOnBoot.cdc.build.cdc_on_boot=1 +esp32p4.menu.MSCOnBoot.default=Disabled +esp32p4.menu.MSCOnBoot.default.build.msc_on_boot=0 +esp32p4.menu.MSCOnBoot.msc=Enabled (Requires USB-OTG Mode) +esp32p4.menu.MSCOnBoot.msc.build.msc_on_boot=1 + +esp32p4.menu.DFUOnBoot.default=Disabled +esp32p4.menu.DFUOnBoot.default.build.dfu_on_boot=0 +esp32p4.menu.DFUOnBoot.dfu=Enabled (Requires USB-OTG Mode) +esp32p4.menu.DFUOnBoot.dfu.build.dfu_on_boot=1 + +esp32p4.menu.UploadMode.default=UART0 / Hardware CDC +esp32p4.menu.UploadMode.default.upload.use_1200bps_touch=false +esp32p4.menu.UploadMode.default.upload.wait_for_upload_port=false +esp32p4.menu.UploadMode.cdc=USB-OTG CDC (TinyUSB) +esp32p4.menu.UploadMode.cdc.upload.use_1200bps_touch=true +esp32p4.menu.UploadMode.cdc.upload.wait_for_upload_port=true + esp32p4.menu.PartitionScheme.default=Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS) esp32p4.menu.PartitionScheme.default.build.partitions=default esp32p4.menu.PartitionScheme.defaultffat=Default 4MB with ffat (1.2MB APP/1.5MB FATFS) diff --git a/platform.txt b/platform.txt index b9c31d4337f..8d918d3dea7 100644 --- a/platform.txt +++ b/platform.txt @@ -84,7 +84,7 @@ build.extra_flags.esp32c2=-DARDUINO_USB_CDC_ON_BOOT=0 build.extra_flags.esp32c3=-DARDUINO_USB_MODE=1 -DARDUINO_USB_CDC_ON_BOOT={build.cdc_on_boot} build.extra_flags.esp32c6=-DARDUINO_USB_MODE=1 -DARDUINO_USB_CDC_ON_BOOT={build.cdc_on_boot} build.extra_flags.esp32h2=-DARDUINO_USB_MODE=1 -DARDUINO_USB_CDC_ON_BOOT={build.cdc_on_boot} -build.extra_flags.esp32p4=-DARDUINO_USB_MODE=1 -DARDUINO_USB_CDC_ON_BOOT={build.cdc_on_boot} +build.extra_flags.esp32p4=-DARDUINO_USB_MODE={build.usb_mode} -DARDUINO_USB_CDC_ON_BOOT={build.cdc_on_boot} -DARDUINO_USB_MSC_ON_BOOT={build.msc_on_boot} -DARDUINO_USB_DFU_ON_BOOT={build.dfu_on_boot} # This can be overriden in boards.txt build.zigbee_mode= From ea50cf6f5f83ed4ea4048ada08728c9827609a49 Mon Sep 17 00:00:00 2001 From: Me No Dev Date: Wed, 2 Oct 2024 22:18:17 +0300 Subject: [PATCH 072/146] fix(spiram): Fix OPI PSRAM init (#10406) --- cores/esp32/esp32-hal-misc.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/cores/esp32/esp32-hal-misc.c b/cores/esp32/esp32-hal-misc.c index dd7a87a4f22..86140144613 100644 --- a/cores/esp32/esp32-hal-misc.c +++ b/cores/esp32/esp32-hal-misc.c @@ -251,13 +251,11 @@ extern bool btInUse(); #endif #if CONFIG_SPIRAM_SUPPORT || CONFIG_SPIRAM -#ifndef CONFIG_SPIRAM_BOOT_INIT ESP_SYSTEM_INIT_FN(init_psram_new, BIT(0), 99) { psramInit(); return ESP_OK; } #endif -#endif void initArduino() { //init proper ref tick value for PLL (uncomment if REF_TICK is different than 1MHz) From 157b4c864388fe8461471f2abaf85da70259537f Mon Sep 17 00:00:00 2001 From: Me No Dev Date: Wed, 2 Oct 2024 22:26:26 +0300 Subject: [PATCH 073/146] IDF release/v5.3 (#10403) IDF release/v5.3 707d097b --- package/package_esp32_index.template.json | 68 +++++++++++------------ 1 file changed, 34 insertions(+), 34 deletions(-) diff --git a/package/package_esp32_index.template.json b/package/package_esp32_index.template.json index 4df82b26bee..ea85072b9cb 100644 --- a/package/package_esp32_index.template.json +++ b/package/package_esp32_index.template.json @@ -42,7 +42,7 @@ { "packager": "esp32", "name": "esp32-arduino-libs", - "version": "idf-release_v5.3-4d0db704" + "version": "idf-release_v5.3-707d097b" }, { "packager": "esp32", @@ -95,63 +95,63 @@ "tools": [ { "name": "esp32-arduino-libs", - "version": "idf-release_v5.3-4d0db704", + "version": "idf-release_v5.3-707d097b", "systems": [ { "host": "i686-mingw32", - "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-4d0db704.zip", - "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-4d0db704.zip", - "checksum": "SHA-256:645b7579d22e7de73c87cce1d52629f9780de9f18be5b5b066ac0f2c210e9bef", - "size": "360076736" + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-707d097b.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-707d097b.zip", + "checksum": "SHA-256:7af392cc8c0079f3eea5e49706f3ea296bd42c4ce89d48909a135310caa69c96", + "size": "399730073" }, { "host": "x86_64-mingw32", - "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-4d0db704.zip", - "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-4d0db704.zip", - "checksum": "SHA-256:645b7579d22e7de73c87cce1d52629f9780de9f18be5b5b066ac0f2c210e9bef", - "size": "360076736" + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-707d097b.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-707d097b.zip", + "checksum": "SHA-256:7af392cc8c0079f3eea5e49706f3ea296bd42c4ce89d48909a135310caa69c96", + "size": "399730073" }, { "host": "arm64-apple-darwin", - "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-4d0db704.zip", - "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-4d0db704.zip", - "checksum": "SHA-256:645b7579d22e7de73c87cce1d52629f9780de9f18be5b5b066ac0f2c210e9bef", - "size": "360076736" + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-707d097b.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-707d097b.zip", + "checksum": "SHA-256:7af392cc8c0079f3eea5e49706f3ea296bd42c4ce89d48909a135310caa69c96", + "size": "399730073" }, { "host": "x86_64-apple-darwin", - "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-4d0db704.zip", - "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-4d0db704.zip", - "checksum": "SHA-256:645b7579d22e7de73c87cce1d52629f9780de9f18be5b5b066ac0f2c210e9bef", - "size": "360076736" + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-707d097b.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-707d097b.zip", + "checksum": "SHA-256:7af392cc8c0079f3eea5e49706f3ea296bd42c4ce89d48909a135310caa69c96", + "size": "399730073" }, { "host": "x86_64-pc-linux-gnu", - "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-4d0db704.zip", - "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-4d0db704.zip", - "checksum": "SHA-256:645b7579d22e7de73c87cce1d52629f9780de9f18be5b5b066ac0f2c210e9bef", - "size": "360076736" + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-707d097b.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-707d097b.zip", + "checksum": "SHA-256:7af392cc8c0079f3eea5e49706f3ea296bd42c4ce89d48909a135310caa69c96", + "size": "399730073" }, { "host": "i686-pc-linux-gnu", - "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-4d0db704.zip", - "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-4d0db704.zip", - "checksum": "SHA-256:645b7579d22e7de73c87cce1d52629f9780de9f18be5b5b066ac0f2c210e9bef", - "size": "360076736" + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-707d097b.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-707d097b.zip", + "checksum": "SHA-256:7af392cc8c0079f3eea5e49706f3ea296bd42c4ce89d48909a135310caa69c96", + "size": "399730073" }, { "host": "aarch64-linux-gnu", - "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-4d0db704.zip", - "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-4d0db704.zip", - "checksum": "SHA-256:645b7579d22e7de73c87cce1d52629f9780de9f18be5b5b066ac0f2c210e9bef", - "size": "360076736" + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-707d097b.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-707d097b.zip", + "checksum": "SHA-256:7af392cc8c0079f3eea5e49706f3ea296bd42c4ce89d48909a135310caa69c96", + "size": "399730073" }, { "host": "arm-linux-gnueabihf", - "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-4d0db704.zip", - "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-4d0db704.zip", - "checksum": "SHA-256:645b7579d22e7de73c87cce1d52629f9780de9f18be5b5b066ac0f2c210e9bef", - "size": "360076736" + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-707d097b.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-707d097b.zip", + "checksum": "SHA-256:7af392cc8c0079f3eea5e49706f3ea296bd42c4ce89d48909a135310caa69c96", + "size": "399730073" } ] }, From 733373a049d8a06fab00628bcae585550fac6d07 Mon Sep 17 00:00:00 2001 From: Rodrigo Garcia Date: Thu, 3 Oct 2024 03:37:44 -0300 Subject: [PATCH 074/146] Update FreeRTOS Symbols in OThreadCLI (#10412) * Update OThreadCLI.cpp * feat(openthread): change FreeRTOS names and types * feat(openthread): change FreeRTOS names and types QueueHandle_t instead of xQueueHandle --- libraries/OpenThread/README.md | 2 +- libraries/OpenThread/src/OThreadCLI.cpp | 6 +++--- libraries/OpenThread/src/OThreadCLI.h | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/libraries/OpenThread/README.md b/libraries/OpenThread/README.md index f8ea94f1cf5..cd9deb9ebf6 100644 --- a/libraries/OpenThread/README.md +++ b/libraries/OpenThread/README.md @@ -19,7 +19,7 @@ Below are the details of the class: ```cpp class OpenThreadCLI : public Stream { private: - static size_t setBuffer(xQueueHandle &queue, size_t len); + static size_t setBuffer(QueueHandle_t &queue, size_t len); bool otStarted = false; public: diff --git a/libraries/OpenThread/src/OThreadCLI.cpp b/libraries/OpenThread/src/OThreadCLI.cpp index cb29584c17b..9190f09bc6b 100644 --- a/libraries/OpenThread/src/OThreadCLI.cpp +++ b/libraries/OpenThread/src/OThreadCLI.cpp @@ -21,8 +21,8 @@ static TaskHandle_t s_cli_task = NULL; static TaskHandle_t s_console_cli_task = NULL; -static xQueueHandle rx_queue = NULL; -static xQueueHandle tx_queue = NULL; +static QueueHandle_t rx_queue = NULL; +static QueueHandle_t tx_queue = NULL; static esp_openthread_platform_config_t ot_native_config; static TaskHandle_t s_ot_task = NULL; @@ -389,7 +389,7 @@ size_t OpenThreadCLI::write(uint8_t c) { return 1; } -size_t OpenThreadCLI::setBuffer(xQueueHandle &queue, size_t queue_len) { +size_t OpenThreadCLI::setBuffer(QueueHandle_t &queue, size_t queue_len) { if (queue) { vQueueDelete(queue); queue = NULL; diff --git a/libraries/OpenThread/src/OThreadCLI.h b/libraries/OpenThread/src/OThreadCLI.h index 3d18589a07d..689b4a5672b 100644 --- a/libraries/OpenThread/src/OThreadCLI.h +++ b/libraries/OpenThread/src/OThreadCLI.h @@ -22,7 +22,7 @@ typedef std::function OnReceiveCb_t; class OpenThreadCLI : public Stream { private: - static size_t setBuffer(xQueueHandle &queue, size_t len); + static size_t setBuffer(QueueHandle_t &queue, size_t len); bool otStarted = false; public: From 341dc18079245c62dc66d397825058a5b59805fd Mon Sep 17 00:00:00 2001 From: me-no-dev Date: Thu, 3 Oct 2024 13:47:24 +0300 Subject: [PATCH 075/146] fix(usb): Add support for HighSpeed USB This commit adds support for HighSpeed USB as present on ESP32-P4 --- cores/esp32/USBCDC.cpp | 2 +- cores/esp32/USBMSC.cpp | 2 +- cores/esp32/esp32-hal-tinyusb.c | 10 +++++++++- cores/esp32/esp32-hal-tinyusb.h | 8 ++++++++ libraries/USB/src/USBHID.cpp | 2 +- libraries/USB/src/USBMIDI.cpp | 2 +- libraries/USB/src/USBVendor.cpp | 11 +++++++---- libraries/USB/src/USBVendor.h | 2 +- 8 files changed, 29 insertions(+), 10 deletions(-) diff --git a/cores/esp32/USBCDC.cpp b/cores/esp32/USBCDC.cpp index 2689086013a..795a17dc0b8 100644 --- a/cores/esp32/USBCDC.cpp +++ b/cores/esp32/USBCDC.cpp @@ -31,7 +31,7 @@ USBCDC *devices[MAX_USB_CDC_DEVICES] = {NULL, NULL}; static uint16_t load_cdc_descriptor(uint8_t *dst, uint8_t *itf) { uint8_t str_index = tinyusb_add_string_descriptor("TinyUSB CDC"); uint8_t descriptor[TUD_CDC_DESC_LEN] = {// Interface number, string index, EP notification address and size, EP data address (out, in) and size. - TUD_CDC_DESCRIPTOR(*itf, str_index, 0x85, 64, 0x03, 0x84, 64) + TUD_CDC_DESCRIPTOR(*itf, str_index, 0x85, CFG_TUD_ENDOINT_SIZE, 0x03, 0x84, CFG_TUD_ENDOINT_SIZE) }; *itf += 2; memcpy(dst, descriptor, TUD_CDC_DESC_LEN); diff --git a/cores/esp32/USBMSC.cpp b/cores/esp32/USBMSC.cpp index eeaf3026535..aeb79883f0d 100644 --- a/cores/esp32/USBMSC.cpp +++ b/cores/esp32/USBMSC.cpp @@ -24,7 +24,7 @@ extern "C" uint16_t tusb_msc_load_descriptor(uint8_t *dst, uint8_t *itf) { uint8_t ep_num = tinyusb_get_free_duplex_endpoint(); TU_VERIFY(ep_num != 0); uint8_t descriptor[TUD_MSC_DESC_LEN] = {// Interface number, string index, EP Out & EP In address, EP size - TUD_MSC_DESCRIPTOR(*itf, str_index, ep_num, (uint8_t)(0x80 | ep_num), 64) + TUD_MSC_DESCRIPTOR(*itf, str_index, ep_num, (uint8_t)(0x80 | ep_num), CFG_TUD_ENDOINT_SIZE) }; *itf += 1; memcpy(dst, descriptor, TUD_MSC_DESC_LEN); diff --git a/cores/esp32/esp32-hal-tinyusb.c b/cores/esp32/esp32-hal-tinyusb.c index 4247a299df0..c69fca08fc7 100644 --- a/cores/esp32/esp32-hal-tinyusb.c +++ b/cores/esp32/esp32-hal-tinyusb.c @@ -131,7 +131,11 @@ esp_err_t init_usb_hal(bool external_phy) { .controller = USB_PHY_CTRL_OTG, .target = USB_PHY_TARGET_INT, .otg_mode = USB_OTG_MODE_DEVICE, +#if CONFIG_IDF_TARGET_ESP32P4 + .otg_speed = USB_PHY_SPEED_HIGH, +#else .otg_speed = USB_PHY_SPEED_FULL, +#endif .ext_io_conf = NULL, .otg_io_conf = NULL, }; @@ -169,7 +173,11 @@ void deinit_usb_hal() { esp_err_t tinyusb_driver_install(const tinyusb_config_t *config) { init_usb_hal(config->external_phy); - if (!tusb_init()) { +#if CONFIG_IDF_TARGET_ESP32P4 + if (!tud_init(1)) { +#else + if (!tud_init(0)) { +#endif log_e("Can't initialize the TinyUSB stack."); return ESP_FAIL; } diff --git a/cores/esp32/esp32-hal-tinyusb.h b/cores/esp32/esp32-hal-tinyusb.h index 9e9d044f80e..0b42760e69f 100644 --- a/cores/esp32/esp32-hal-tinyusb.h +++ b/cores/esp32/esp32-hal-tinyusb.h @@ -31,6 +31,14 @@ extern "C" { #define USB_ESPRESSIF_VID 0x303A #define USB_STRING_DESCRIPTOR_ARRAY_SIZE 10 +#ifndef CFG_TUD_ENDOINT_SIZE +#if CONFIG_IDF_TARGET_ESP32P4 +#define CFG_TUD_ENDOINT_SIZE 512 +#else +#define CFG_TUD_ENDOINT_SIZE 64 +#endif +#endif + typedef struct { uint16_t vid; uint16_t pid; diff --git a/libraries/USB/src/USBHID.cpp b/libraries/USB/src/USBHID.cpp index 75f37ef5df3..4bc555b8e30 100644 --- a/libraries/USB/src/USBHID.cpp +++ b/libraries/USB/src/USBHID.cpp @@ -206,7 +206,7 @@ extern "C" uint16_t tusb_hid_load_descriptor(uint8_t *dst, uint8_t *itf) { uint8_t descriptor[TUD_HID_INOUT_DESC_LEN] = { // HID Input & Output descriptor // Interface number, string index, protocol, report descriptor len, EP OUT & IN address, size & polling interval - TUD_HID_INOUT_DESCRIPTOR(*itf, str_index, tinyusb_interface_protocol, tinyusb_hid_device_descriptor_len, ep_out, (uint8_t)(0x80 | ep_in), 64, 1) + TUD_HID_INOUT_DESCRIPTOR(*itf, str_index, tinyusb_interface_protocol, tinyusb_hid_device_descriptor_len, ep_out, (uint8_t)(0x80 | ep_in), CFG_TUD_ENDOINT_SIZE, 1) }; *itf += 1; memcpy(dst, descriptor, TUD_HID_INOUT_DESC_LEN); diff --git a/libraries/USB/src/USBMIDI.cpp b/libraries/USB/src/USBMIDI.cpp index cfc40e7b154..8a9571855e1 100644 --- a/libraries/USB/src/USBMIDI.cpp +++ b/libraries/USB/src/USBMIDI.cpp @@ -24,7 +24,7 @@ extern "C" uint16_t tusb_midi_load_descriptor(uint8_t *dst, uint8_t *itf) { uint8_t ep_out = tinyusb_get_free_out_endpoint(); TU_VERIFY(ep_out != 0); uint8_t descriptor[TUD_MIDI_DESC_LEN] = { - TUD_MIDI_DESCRIPTOR(*itf, str_index, ep_out, (uint8_t)(0x80 | ep_in), 64), + TUD_MIDI_DESCRIPTOR(*itf, str_index, ep_out, (uint8_t)(0x80 | ep_in), CFG_TUD_ENDOINT_SIZE), }; *itf += 2; memcpy(dst, descriptor, TUD_MIDI_DESC_LEN); diff --git a/libraries/USB/src/USBVendor.cpp b/libraries/USB/src/USBVendor.cpp index 293d5866945..70fac5770ae 100644 --- a/libraries/USB/src/USBVendor.cpp +++ b/libraries/USB/src/USBVendor.cpp @@ -24,7 +24,7 @@ esp_err_t arduino_usb_event_handler_register_with(esp_event_base_t event_base, i static USBVendor *_Vendor = NULL; static QueueHandle_t rx_queue = NULL; -static uint8_t USB_VENDOR_ENDPOINT_SIZE = 64; +static uint16_t USB_VENDOR_ENDPOINT_SIZE = CFG_TUD_ENDOINT_SIZE; uint16_t tusb_vendor_load_descriptor(uint8_t *dst, uint8_t *itf) { uint8_t str_index = tinyusb_add_string_descriptor("TinyUSB Vendor"); @@ -68,10 +68,13 @@ extern "C" bool tinyusb_vendor_control_request_cb(uint8_t rhport, uint8_t stage, return false; } -USBVendor::USBVendor(uint8_t endpoint_size) : itf(0), cb(NULL) { +USBVendor::USBVendor(uint16_t endpoint_size) : itf(0), cb(NULL) { if (!_Vendor) { _Vendor = this; - if (endpoint_size <= 64) { + if (endpoint_size == 0) { + endpoint_size = CFG_TUD_ENDOINT_SIZE; + } + if (endpoint_size <= CFG_TUD_ENDOINT_SIZE) { USB_VENDOR_ENDPOINT_SIZE = endpoint_size; } tinyusb_enable_interface(USB_INTERFACE_VENDOR, TUD_VENDOR_DESC_LEN, tusb_vendor_load_descriptor); @@ -97,7 +100,7 @@ size_t USBVendor::setRxBufferSize(size_t rx_queue_len) { } void USBVendor::begin() { - setRxBufferSize(256); //default if not preset + setRxBufferSize(512); //default if not preset } void USBVendor::end() { diff --git a/libraries/USB/src/USBVendor.h b/libraries/USB/src/USBVendor.h index e3e22281939..4990e466321 100644 --- a/libraries/USB/src/USBVendor.h +++ b/libraries/USB/src/USBVendor.h @@ -74,7 +74,7 @@ class USBVendor : public Stream { arduino_usb_vendor_control_request_handler_t cb; public: - USBVendor(uint8_t endpoint_size = 64); + USBVendor(uint16_t endpoint_size = 0); void begin(void); void end(void); size_t setRxBufferSize(size_t); From 6d6a8f8d3207c0f34cb6ad66b92a071fe1215d0b Mon Sep 17 00:00:00 2001 From: Me No Dev Date: Thu, 3 Oct 2024 16:35:39 +0300 Subject: [PATCH 076/146] IDF release/v5.3 707d097b (#10416) --- package/package_esp32_index.template.json | 32 +++++++++++------------ 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/package/package_esp32_index.template.json b/package/package_esp32_index.template.json index ea85072b9cb..ea66c5a816d 100644 --- a/package/package_esp32_index.template.json +++ b/package/package_esp32_index.template.json @@ -101,57 +101,57 @@ "host": "i686-mingw32", "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-707d097b.zip", "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-707d097b.zip", - "checksum": "SHA-256:7af392cc8c0079f3eea5e49706f3ea296bd42c4ce89d48909a135310caa69c96", - "size": "399730073" + "checksum": "SHA-256:f8624bf7eab91e0a3bb3be4cc385fef5a05a725bc6ff978f3d4e2562f2805b1e", + "size": "399729605" }, { "host": "x86_64-mingw32", "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-707d097b.zip", "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-707d097b.zip", - "checksum": "SHA-256:7af392cc8c0079f3eea5e49706f3ea296bd42c4ce89d48909a135310caa69c96", - "size": "399730073" + "checksum": "SHA-256:f8624bf7eab91e0a3bb3be4cc385fef5a05a725bc6ff978f3d4e2562f2805b1e", + "size": "399729605" }, { "host": "arm64-apple-darwin", "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-707d097b.zip", "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-707d097b.zip", - "checksum": "SHA-256:7af392cc8c0079f3eea5e49706f3ea296bd42c4ce89d48909a135310caa69c96", - "size": "399730073" + "checksum": "SHA-256:f8624bf7eab91e0a3bb3be4cc385fef5a05a725bc6ff978f3d4e2562f2805b1e", + "size": "399729605" }, { "host": "x86_64-apple-darwin", "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-707d097b.zip", "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-707d097b.zip", - "checksum": "SHA-256:7af392cc8c0079f3eea5e49706f3ea296bd42c4ce89d48909a135310caa69c96", - "size": "399730073" + "checksum": "SHA-256:f8624bf7eab91e0a3bb3be4cc385fef5a05a725bc6ff978f3d4e2562f2805b1e", + "size": "399729605" }, { "host": "x86_64-pc-linux-gnu", "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-707d097b.zip", "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-707d097b.zip", - "checksum": "SHA-256:7af392cc8c0079f3eea5e49706f3ea296bd42c4ce89d48909a135310caa69c96", - "size": "399730073" + "checksum": "SHA-256:f8624bf7eab91e0a3bb3be4cc385fef5a05a725bc6ff978f3d4e2562f2805b1e", + "size": "399729605" }, { "host": "i686-pc-linux-gnu", "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-707d097b.zip", "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-707d097b.zip", - "checksum": "SHA-256:7af392cc8c0079f3eea5e49706f3ea296bd42c4ce89d48909a135310caa69c96", - "size": "399730073" + "checksum": "SHA-256:f8624bf7eab91e0a3bb3be4cc385fef5a05a725bc6ff978f3d4e2562f2805b1e", + "size": "399729605" }, { "host": "aarch64-linux-gnu", "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-707d097b.zip", "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-707d097b.zip", - "checksum": "SHA-256:7af392cc8c0079f3eea5e49706f3ea296bd42c4ce89d48909a135310caa69c96", - "size": "399730073" + "checksum": "SHA-256:f8624bf7eab91e0a3bb3be4cc385fef5a05a725bc6ff978f3d4e2562f2805b1e", + "size": "399729605" }, { "host": "arm-linux-gnueabihf", "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-707d097b.zip", "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-707d097b.zip", - "checksum": "SHA-256:7af392cc8c0079f3eea5e49706f3ea296bd42c4ce89d48909a135310caa69c96", - "size": "399730073" + "checksum": "SHA-256:f8624bf7eab91e0a3bb3be4cc385fef5a05a725bc6ff978f3d4e2562f2805b1e", + "size": "399729605" } ] }, From 5d873c0787fa96675f74b68d16b9b8a3a2a048ea Mon Sep 17 00:00:00 2001 From: sivar2311 Date: Fri, 4 Oct 2024 12:49:55 +0200 Subject: [PATCH 077/146] Add conditional compilation for second I2C interface based on SOC_I2C_NUM (#10408) The ESP32, ESP32-S and ESP32-H series have two I2C interfaces, while the ESP32-C series has only one. --- libraries/Wire/src/Wire.cpp | 2 ++ libraries/Wire/src/Wire.h | 2 ++ 2 files changed, 4 insertions(+) diff --git a/libraries/Wire/src/Wire.cpp b/libraries/Wire/src/Wire.cpp index 047795f949a..8ac0c25595d 100644 --- a/libraries/Wire/src/Wire.cpp +++ b/libraries/Wire/src/Wire.cpp @@ -646,6 +646,8 @@ void TwoWire::onRequestService(uint8_t num, void *arg) { #endif /* SOC_I2C_SUPPORT_SLAVE */ TwoWire Wire = TwoWire(0); +#if SOC_I2C_NUM > 1 TwoWire Wire1 = TwoWire(1); +#endif /* SOC_I2C_NUM */ #endif /* SOC_I2C_SUPPORTED */ diff --git a/libraries/Wire/src/Wire.h b/libraries/Wire/src/Wire.h index fcf94313d52..cf720d48234 100644 --- a/libraries/Wire/src/Wire.h +++ b/libraries/Wire/src/Wire.h @@ -144,7 +144,9 @@ class TwoWire : public HardwareI2C { }; extern TwoWire Wire; +#if SOC_I2C_NUM > 1 extern TwoWire Wire1; +#endif /* SOC_I2C_NUM */ #endif /* SOC_I2C_SUPPORTED */ #endif /* TwoWire_h */ From 13511a6b6559634ff77550ed0719114183b8d910 Mon Sep 17 00:00:00 2001 From: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com> Date: Fri, 4 Oct 2024 07:51:47 -0300 Subject: [PATCH 078/146] ci(tests): Add linpack FPU tests (#10389) * ci(tests): Add linpack FPU tests * fix(linpack): Change prints to log_d * fix(linpack): Fix number of runs check * ci(pre-commit): Apply automatic fixes * fix(spelling): Correct spelling mistakes --------- Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> --- tests/performance/linpack_double/ci.json | 6 + .../linpack_double/linpack_double.ino | 1094 +++++++++++++++++ .../linpack_double/test_linpack_double.py | 61 + tests/performance/linpack_float/ci.json | 6 + .../linpack_float/linpack_float.ino | 1094 +++++++++++++++++ .../linpack_float/test_linpack_float.py | 61 + 6 files changed, 2322 insertions(+) create mode 100644 tests/performance/linpack_double/ci.json create mode 100644 tests/performance/linpack_double/linpack_double.ino create mode 100644 tests/performance/linpack_double/test_linpack_double.py create mode 100644 tests/performance/linpack_float/ci.json create mode 100644 tests/performance/linpack_float/linpack_float.ino create mode 100644 tests/performance/linpack_float/test_linpack_float.py diff --git a/tests/performance/linpack_double/ci.json b/tests/performance/linpack_double/ci.json new file mode 100644 index 00000000000..accee2b2135 --- /dev/null +++ b/tests/performance/linpack_double/ci.json @@ -0,0 +1,6 @@ +{ + "platforms": { + "qemu": false, + "wokwi": false + } +} diff --git a/tests/performance/linpack_double/linpack_double.ino b/tests/performance/linpack_double/linpack_double.ino new file mode 100644 index 00000000000..5148b6ef591 --- /dev/null +++ b/tests/performance/linpack_double/linpack_double.ino @@ -0,0 +1,1094 @@ +/* + Linpack test for Arduino and ESP32. + Based on https://github.com/VioletGiraffe/EmbeddedLinpack + Created by Violet Giraffe, 2018 + Adapted by Lucas Saavedra Vaz, 2024 +*/ + +#include +#include + +// Number of runs to average +#define N_RUNS 1000 + +using floating_point_t = double; +bool type_float; + +floating_point_t benchmark(void); +floating_point_t cpu_time(void); +void daxpy(int n, floating_point_t da, floating_point_t dx[], int incx, floating_point_t dy[], int incy); +floating_point_t ddot(int n, floating_point_t dx[], int incx, floating_point_t dy[], int incy); +int dgefa(floating_point_t a[], int lda, int n, int ipvt[]); +void dgesl(floating_point_t a[], int lda, int n, int ipvt[], floating_point_t b[], int job); +void dscal(int n, floating_point_t sa, floating_point_t x[], int incx); +int idamax(int n, floating_point_t dx[], int incx); +floating_point_t r8_abs(floating_point_t x); +floating_point_t r8_epsilon(void); +floating_point_t r8_max(floating_point_t x, floating_point_t y); +floating_point_t r8_random(int iseed[4]); +void r8mat_gen(int lda, int n, floating_point_t *a); + +void setup() { + Serial.begin(115200); + while (!Serial) { + delay(10); + } + + String data_type; + + if (sizeof(floating_point_t) == sizeof(float)) { + data_type = "float"; + type_float = true; + } else if (sizeof(floating_point_t) == sizeof(double)) { + data_type = "double"; + type_float = false; + } else { + data_type = "unknown"; + log_e("Unknown data type size. Aborting."); + while (1); + } + + log_d("Starting Linpack %s test", data_type.c_str()); + Serial.printf("Runs: %d\n", N_RUNS); + Serial.printf("Type: %s\n", data_type.c_str()); + Serial.flush(); + int i = 0; + + floating_point_t minMflops = 1000000000.0, maxMflops = 0.0, avgMflops = 0.0; + for (i = 0; i < N_RUNS; ++i) { + Serial.printf("Run %d\n", i); + const auto mflops = benchmark(); + avgMflops += mflops; + minMflops = fmin(mflops, minMflops); + maxMflops = fmax(mflops, maxMflops); + Serial.flush(); + } + + avgMflops /= N_RUNS; + Serial.println(String("Runs completed: ") + i); + Serial.println(String("Average MFLOPS: ") + avgMflops); + Serial.println(String("Min MFLOPS: ") + minMflops); + Serial.println(String("Max MFLOPS: ") + maxMflops); + Serial.flush(); +} + +void loop() { + vTaskDelete(NULL); +} + +/******************************************************************************/ + +floating_point_t benchmark(void) + +/******************************************************************************/ +/* + Purpose: + + MAIN is the main program for LINPACK_BENCH. + + Discussion: + + LINPACK_BENCH drives the floating_point_t precision LINPACK benchmark program. + + Modified: + + 25 July 2008 + + Parameters: + + N is the problem size. +*/ +{ +#define N 8 +#define LDA (N + 1) + + static floating_point_t a[N * LDA]; + static floating_point_t a_max; + static floating_point_t b[N]; + static floating_point_t b_max; + const floating_point_t cray = 0.056; + static floating_point_t eps; + int i; + int info; + static int ipvt[N]; + int j; + int job; + floating_point_t ops; + static floating_point_t resid[N]; + floating_point_t resid_max; + [[maybe_unused]] + floating_point_t residn; + static floating_point_t rhs[N]; + floating_point_t t1; + floating_point_t t2; + static floating_point_t time[6]; + floating_point_t total; + floating_point_t x[N]; + + log_d("LINPACK_BENCH"); + log_d(" C version"); + log_d(" The LINPACK benchmark."); + log_d(" Language: C"); + if (!type_float) { + log_d(" Datatype: Double precision real"); + } else if (type_float) { + log_d(" Datatype: Single precision real"); + } else { + log_d(" Datatype: unknown"); + } + log_d(" Matrix order N = %d", N); + log_d(" Leading matrix dimension LDA = %d", LDA); + + ops = (floating_point_t)(2L * N * N * N) / 3.0 + 2.0 * (floating_point_t)((long)N * N); + + /* + Allocate space for arrays. +*/ + r8mat_gen(LDA, N, a); + + a_max = 0.0; + for (j = 0; j < N; j++) { + for (i = 0; i < N; i++) { + a_max = r8_max(a_max, a[i + j * LDA]); + } + } + + for (i = 0; i < N; i++) { + x[i] = 1.0; + } + + for (i = 0; i < N; i++) { + b[i] = 0.0; + for (j = 0; j < N; j++) { + b[i] = b[i] + a[i + j * LDA] * x[j]; + } + } + t1 = cpu_time(); + + info = dgefa(a, LDA, N, ipvt); + + if (info != 0) { + log_d("LINPACK_BENCH - Fatal error!"); + log_d(" The matrix A is apparently singular."); + log_d(" Abnormal end of execution."); + return 1; + } + + t2 = cpu_time(); + time[0] = t2 - t1; + + t1 = cpu_time(); + + job = 0; + dgesl(a, LDA, N, ipvt, b, job); + + t2 = cpu_time(); + time[1] = t2 - t1; + + total = time[0] + time[1]; + + /* + Compute a residual to verify results. +*/ + r8mat_gen(LDA, N, a); + + for (i = 0; i < N; i++) { + x[i] = 1.0; + } + + for (i = 0; i < N; i++) { + rhs[i] = 0.0; + for (j = 0; j < N; j++) { + rhs[i] = rhs[i] + a[i + j * LDA] * x[j]; + } + } + + for (i = 0; i < N; i++) { + resid[i] = -rhs[i]; + for (j = 0; j < N; j++) { + resid[i] = resid[i] + a[i + j * LDA] * b[j]; + } + } + + resid_max = 0.0; + for (i = 0; i < N; i++) { + resid_max = r8_max(resid_max, r8_abs(resid[i])); + } + + b_max = 0.0; + for (i = 0; i < N; i++) { + b_max = r8_max(b_max, r8_abs(b[i])); + } + + eps = r8_epsilon(); + + residn = resid_max / (floating_point_t)N / a_max / b_max / eps; + + time[2] = total; + if (0.0 < total) { + time[3] = ops / (1.0E+06 * total); + } else { + time[3] = -1.0; + } + time[4] = 2.0 / time[3]; + time[5] = total / cray; + + log_d(""); + log_d(" Norm. Resid Resid MACHEP X[1] X[N]"); + log_d(" %14f %14f %14e %14f %14f", residn, resid_max, eps, b[0], b[N - 1]); + log_d(""); + log_d(" Factor Solve Total MFLOPS Unit Cray-Ratio"); + log_d(" %9f %9f %9f %9f %9f %9f", time[0], time[1], time[2], time[3], time[4], time[5]); + + /* + Terminate. +*/ + log_d(""); + log_d("LINPACK_BENCH"); + log_d(" Normal end of execution."); + log_d(""); + + return time[3]; +#undef LDA +#undef N +} +/******************************************************************************/ + +floating_point_t cpu_time(void) + +/******************************************************************************/ +/* + Purpose: + + CPU_TIME returns the current reading on the CPU clock. + + Discussion: + + The CPU time measurements available through this routine are often + not very accurate. In some cases, the accuracy is no better than + a hundredth of a second. + + Licensing: + + This code is distributed under the GNU LGPL license. + + Modified: + + 06 June 2005 + + Author: + + John Burkardt + + Parameters: + + Output, floating_point_t CPU_TIME, the current reading of the CPU clock, in seconds. +*/ +{ + floating_point_t value; + + value = (floating_point_t)micros() / (floating_point_t)1000000; + + return value; +} +/******************************************************************************/ + +void daxpy(int n, floating_point_t da, floating_point_t dx[], int incx, floating_point_t dy[], int incy) + +/******************************************************************************/ +/* + Purpose: + + DAXPY computes constant times a vector plus a vector. + + Discussion: + + This routine uses unrolled loops for increments equal to one. + + Modified: + + 30 March 2007 + + Author: + + FORTRAN77 original by Jack Dongarra, Cleve Moler, Jim Bunch, Pete Stewart. + C version by John Burkardt + + Reference: + + Jack Dongarra, Cleve Moler, Jim Bunch, Pete Stewart, + LINPACK User's Guide, + SIAM, 1979. + + Charles Lawson, Richard Hanson, David Kincaid, Fred Krogh, + Basic Linear Algebra Subprograms for Fortran Usage, + Algorithm 539, + ACM Transactions on Mathematical Software, + Volume 5, Number 3, September 1979, pages 308-323. + + Parameters: + + Input, int N, the number of elements in DX and DY. + + Input, floating_point_t DA, the multiplier of DX. + + Input, floating_point_t DX[*], the first vector. + + Input, int INCX, the increment between successive entries of DX. + + Input/output, floating_point_t DY[*], the second vector. + On output, DY[*] has been replaced by DY[*] + DA * DX[*]. + + Input, int INCY, the increment between successive entries of DY. +*/ +{ + int i; + int ix; + int iy; + int m; + + if (n <= 0) { + return; + } + + if (da == 0.0) { + return; + } + /* + Code for unequal increments or equal increments + not equal to 1. +*/ + if (incx != 1 || incy != 1) { + if (0 <= incx) { + ix = 0; + } else { + ix = (-n + 1) * incx; + } + + if (0 <= incy) { + iy = 0; + } else { + iy = (-n + 1) * incy; + } + + for (i = 0; i < n; i++) { + dy[iy] = dy[iy] + da * dx[ix]; + ix = ix + incx; + iy = iy + incy; + } + } + /* + Code for both increments equal to 1. +*/ + else { + m = n % 4; + + for (i = 0; i < m; i++) { + dy[i] = dy[i] + da * dx[i]; + } + + for (i = m; i < n; i = i + 4) { + dy[i] = dy[i] + da * dx[i]; + dy[i + 1] = dy[i + 1] + da * dx[i + 1]; + dy[i + 2] = dy[i + 2] + da * dx[i + 2]; + dy[i + 3] = dy[i + 3] + da * dx[i + 3]; + } + } + return; +} +/******************************************************************************/ + +floating_point_t ddot(int n, floating_point_t dx[], int incx, floating_point_t dy[], int incy) + +/******************************************************************************/ +/* + Purpose: + + DDOT forms the dot product of two vectors. + + Discussion: + + This routine uses unrolled loops for increments equal to one. + + Modified: + + 30 March 2007 + + Author: + + FORTRAN77 original by Jack Dongarra, Cleve Moler, Jim Bunch, Pete Stewart. + C version by John Burkardt + + Reference: + + Jack Dongarra, Cleve Moler, Jim Bunch, Pete Stewart, + LINPACK User's Guide, + SIAM, 1979. + + Charles Lawson, Richard Hanson, David Kincaid, Fred Krogh, + Basic Linear Algebra Subprograms for Fortran Usage, + Algorithm 539, + ACM Transactions on Mathematical Software, + Volume 5, Number 3, September 1979, pages 308-323. + + Parameters: + + Input, int N, the number of entries in the vectors. + + Input, floating_point_t DX[*], the first vector. + + Input, int INCX, the increment between successive entries in DX. + + Input, floating_point_t DY[*], the second vector. + + Input, int INCY, the increment between successive entries in DY. + + Output, floating_point_t DDOT, the sum of the product of the corresponding + entries of DX and DY. +*/ +{ + floating_point_t dtemp; + int i; + int ix; + int iy; + int m; + + dtemp = 0.0; + + if (n <= 0) { + return dtemp; + } + /* + Code for unequal increments or equal increments + not equal to 1. +*/ + if (incx != 1 || incy != 1) { + if (0 <= incx) { + ix = 0; + } else { + ix = (-n + 1) * incx; + } + + if (0 <= incy) { + iy = 0; + } else { + iy = (-n + 1) * incy; + } + + for (i = 0; i < n; i++) { + dtemp = dtemp + dx[ix] * dy[iy]; + ix = ix + incx; + iy = iy + incy; + } + } + /* + Code for both increments equal to 1. +*/ + else { + m = n % 5; + + for (i = 0; i < m; i++) { + dtemp = dtemp + dx[i] * dy[i]; + } + + for (i = m; i < n; i = i + 5) { + dtemp = dtemp + dx[i] * dy[i] + dx[i + 1] * dy[i + 1] + dx[i + 2] * dy[i + 2] + dx[i + 3] * dy[i + 3] + dx[i + 4] * dy[i + 4]; + } + } + return dtemp; +} +/******************************************************************************/ + +int dgefa(floating_point_t a[], int lda, int n, int ipvt[]) + +/******************************************************************************/ +/* + Purpose: + + DGEFA factors a real general matrix. + + Modified: + + 16 May 2005 + + Author: + + C version by John Burkardt. + + Reference: + + Jack Dongarra, Cleve Moler, Jim Bunch and Pete Stewart, + LINPACK User's Guide, + SIAM, (Society for Industrial and Applied Mathematics), + 3600 University City Science Center, + Philadelphia, PA, 19104-2688. + ISBN 0-89871-172-X + + Parameters: + + Input/output, floating_point_t A[LDA*N]. + On input, the matrix to be factored. + On output, an upper triangular matrix and the multipliers used to obtain + it. The factorization can be written A=L*U, where L is a product of + permutation and unit lower triangular matrices, and U is upper triangular. + + Input, int LDA, the leading dimension of A. + + Input, int N, the order of the matrix A. + + Output, int IPVT[N], the pivot indices. + + Output, int DGEFA, singularity indicator. + 0, normal value. + K, if U(K,K) == 0. This is not an error condition for this subroutine, + but it does indicate that DGESL or DGEDI will divide by zero if called. + Use RCOND in DGECO for a reliable indication of singularity. +*/ +{ + int info; + int j; + int k; + int l; + floating_point_t t; + /* + Gaussian elimination with partial pivoting. +*/ + info = 0; + + for (k = 1; k <= n - 1; k++) { + /* + Find L = pivot index. +*/ + l = idamax(n - k + 1, a + (k - 1) + (k - 1) * lda, 1) + k - 1; + ipvt[k - 1] = l; + /* + Zero pivot implies this column already triangularized. +*/ + if (a[l - 1 + (k - 1) * lda] == 0.0) { + info = k; + continue; + } + /* + Interchange if necessary. +*/ + if (l != k) { + t = a[l - 1 + (k - 1) * lda]; + a[l - 1 + (k - 1) * lda] = a[k - 1 + (k - 1) * lda]; + a[k - 1 + (k - 1) * lda] = t; + } + /* + Compute multipliers. +*/ + t = -1.0 / a[k - 1 + (k - 1) * lda]; + + dscal(n - k, t, a + k + (k - 1) * lda, 1); + /* + Row elimination with column indexing. +*/ + for (j = k + 1; j <= n; j++) { + t = a[l - 1 + (j - 1) * lda]; + if (l != k) { + a[l - 1 + (j - 1) * lda] = a[k - 1 + (j - 1) * lda]; + a[k - 1 + (j - 1) * lda] = t; + } + daxpy(n - k, t, a + k + (k - 1) * lda, 1, a + k + (j - 1) * lda, 1); + } + } + + ipvt[n - 1] = n; + + if (a[n - 1 + (n - 1) * lda] == 0.0) { + info = n; + } + + return info; +} +/******************************************************************************/ + +void dgesl(floating_point_t a[], int lda, int n, int ipvt[], floating_point_t b[], int job) + +/******************************************************************************/ +/* + Purpose: + + DGESL solves a real general linear system A * X = B. + + Discussion: + + DGESL can solve either of the systems A * X = B or A' * X = B. + + The system matrix must have been factored by DGECO or DGEFA. + + A division by zero will occur if the input factor contains a + zero on the diagonal. Technically this indicates singularity + but it is often caused by improper arguments or improper + setting of LDA. It will not occur if the subroutines are + called correctly and if DGECO has set 0.0 < RCOND + or DGEFA has set INFO == 0. + + Modified: + + 16 May 2005 + + Author: + + C version by John Burkardt. + + Reference: + + Jack Dongarra, Cleve Moler, Jim Bunch and Pete Stewart, + LINPACK User's Guide, + SIAM, (Society for Industrial and Applied Mathematics), + 3600 University City Science Center, + Philadelphia, PA, 19104-2688. + ISBN 0-89871-172-X + + Parameters: + + Input, floating_point_t A[LDA*N], the output from DGECO or DGEFA. + + Input, int LDA, the leading dimension of A. + + Input, int N, the order of the matrix A. + + Input, int IPVT[N], the pivot vector from DGECO or DGEFA. + + Input/output, floating_point_t B[N]. + On input, the right hand side vector. + On output, the solution vector. + + Input, int JOB. + 0, solve A * X = B; + nonzero, solve A' * X = B. +*/ +{ + int k; + int l; + floating_point_t t; + /* + Solve A * X = B. +*/ + if (job == 0) { + for (k = 1; k <= n - 1; k++) { + l = ipvt[k - 1]; + t = b[l - 1]; + + if (l != k) { + b[l - 1] = b[k - 1]; + b[k - 1] = t; + } + + daxpy(n - k, t, a + k + (k - 1) * lda, 1, b + k, 1); + } + + for (k = n; 1 <= k; k--) { + b[k - 1] = b[k - 1] / a[k - 1 + (k - 1) * lda]; + t = -b[k - 1]; + daxpy(k - 1, t, a + 0 + (k - 1) * lda, 1, b, 1); + } + } + /* + Solve A' * X = B. +*/ + else { + for (k = 1; k <= n; k++) { + t = ddot(k - 1, a + 0 + (k - 1) * lda, 1, b, 1); + b[k - 1] = (b[k - 1] - t) / a[k - 1 + (k - 1) * lda]; + } + + for (k = n - 1; 1 <= k; k--) { + b[k - 1] = b[k - 1] + ddot(n - k, a + k + (k - 1) * lda, 1, b + k, 1); + l = ipvt[k - 1]; + + if (l != k) { + t = b[l - 1]; + b[l - 1] = b[k - 1]; + b[k - 1] = t; + } + } + } + return; +} +/******************************************************************************/ + +void dscal(int n, floating_point_t sa, floating_point_t x[], int incx) + +/******************************************************************************/ +/* + Purpose: + + DSCAL scales a vector by a constant. + + Modified: + + 30 March 2007 + + Author: + + FORTRAN77 original by Jack Dongarra, Cleve Moler, Jim Bunch, Pete Stewart. + C version by John Burkardt + + Reference: + + Jack Dongarra, Cleve Moler, Jim Bunch, Pete Stewart, + LINPACK User's Guide, + SIAM, 1979. + + Charles Lawson, Richard Hanson, David Kincaid, Fred Krogh, + Basic Linear Algebra Subprograms for Fortran Usage, + Algorithm 539, + ACM Transactions on Mathematical Software, + Volume 5, Number 3, September 1979, pages 308-323. + + Parameters: + + Input, int N, the number of entries in the vector. + + Input, floating_point_t SA, the multiplier. + + Input/output, floating_point_t X[*], the vector to be scaled. + + Input, int INCX, the increment between successive entries of X. +*/ +{ + int i; + int ix; + int m; + + if (n <= 0) { + } else if (incx == 1) { + m = n % 5; + + for (i = 0; i < m; i++) { + x[i] = sa * x[i]; + } + + for (i = m; i < n; i = i + 5) { + x[i] = sa * x[i]; + x[i + 1] = sa * x[i + 1]; + x[i + 2] = sa * x[i + 2]; + x[i + 3] = sa * x[i + 3]; + x[i + 4] = sa * x[i + 4]; + } + } else { + if (0 <= incx) { + ix = 0; + } else { + ix = (-n + 1) * incx; + } + + for (i = 0; i < n; i++) { + x[ix] = sa * x[ix]; + ix = ix + incx; + } + } + return; +} +/******************************************************************************/ + +int idamax(int n, floating_point_t dx[], int incx) + +/******************************************************************************/ +/* + Purpose: + + IDAMAX finds the index of the vector element of maximum absolute value. + + Discussion: + + WARNING: This index is a 1-based index, not a 0-based index! + + Modified: + + 30 March 2007 + + Author: + + FORTRAN77 original by Jack Dongarra, Cleve Moler, Jim Bunch, Pete Stewart. + C version by John Burkardt + + Reference: + + Jack Dongarra, Cleve Moler, Jim Bunch, Pete Stewart, + LINPACK User's Guide, + SIAM, 1979. + + Charles Lawson, Richard Hanson, David Kincaid, Fred Krogh, + Basic Linear Algebra Subprograms for Fortran Usage, + Algorithm 539, + ACM Transactions on Mathematical Software, + Volume 5, Number 3, September 1979, pages 308-323. + + Parameters: + + Input, int N, the number of entries in the vector. + + Input, floating_point_t X[*], the vector to be examined. + + Input, int INCX, the increment between successive entries of SX. + + Output, int IDAMAX, the index of the element of maximum + absolute value. +*/ +{ + floating_point_t dmax; + int i; + int ix; + int value; + + value = 0; + + if (n < 1 || incx <= 0) { + return value; + } + + value = 1; + + if (n == 1) { + return value; + } + + if (incx == 1) { + dmax = r8_abs(dx[0]); + + for (i = 1; i < n; i++) { + if (dmax < r8_abs(dx[i])) { + value = i + 1; + dmax = r8_abs(dx[i]); + } + } + } else { + ix = 0; + dmax = r8_abs(dx[0]); + ix = ix + incx; + + for (i = 1; i < n; i++) { + if (dmax < r8_abs(dx[ix])) { + value = i + 1; + dmax = r8_abs(dx[ix]); + } + ix = ix + incx; + } + } + + return value; +} +/******************************************************************************/ + +floating_point_t r8_abs(floating_point_t x) + +/******************************************************************************/ +/* + Purpose: + + R8_ABS returns the absolute value of a R8. + + Modified: + + 02 April 2005 + + Author: + + John Burkardt + + Parameters: + + Input, floating_point_t X, the quantity whose absolute value is desired. + + Output, floating_point_t R8_ABS, the absolute value of X. +*/ +{ + floating_point_t value; + + if (0.0 <= x) { + value = x; + } else { + value = -x; + } + return value; +} +/******************************************************************************/ + +floating_point_t r8_epsilon(void) + +/******************************************************************************/ +/* + Purpose: + + R8_EPSILON returns the R8 round off unit. + + Discussion: + + R8_EPSILON is a number R which is a power of 2 with the property that, + to the precision of the computer's arithmetic, + 1 < 1 + R + but + 1 = ( 1 + R / 2 ) + + Licensing: + + This code is distributed under the GNU LGPL license. + + Modified: + + 08 May 2006 + + Author: + + John Burkardt + + Parameters: + + Output, floating_point_t R8_EPSILON, the floating_point_t precision round-off unit. +*/ +{ + floating_point_t r; + + r = 1.0; + + while (1.0 < (floating_point_t)(1.0 + r)) { + r = r / 2.0; + } + r = 2.0 * r; + + return r; +} +/******************************************************************************/ + +floating_point_t r8_max(floating_point_t x, floating_point_t y) + +/******************************************************************************/ +/* + Purpose: + + R8_MAX returns the maximum of two R8's. + + Modified: + + 18 August 2004 + + Author: + + John Burkardt + + Parameters: + + Input, floating_point_t X, Y, the quantities to compare. + + Output, floating_point_t R8_MAX, the maximum of X and Y. +*/ +{ + floating_point_t value; + + if (y < x) { + value = x; + } else { + value = y; + } + return value; +} +/******************************************************************************/ + +floating_point_t r8_random(int iseed[4]) + +/******************************************************************************/ +/* + Purpose: + + R8_RANDOM returns a uniformly distributed random number between 0 and 1. + + Discussion: + + This routine uses a multiplicative congruential method with modulus + 2**48 and multiplier 33952834046453 (see G.S.Fishman, + 'Multiplicative congruential random number generators with modulus + 2**b: an exhaustive analysis for b = 32 and a partial analysis for + b = 48', Math. Comp. 189, pp 331-344, 1990). + + 48-bit integers are stored in 4 integer array elements with 12 bits + per element. Hence the routine is portable across machines with + integers of 32 bits or more. + + Parameters: + + Input/output, integer ISEED(4). + On entry, the seed of the random number generator; the array + elements must be between 0 and 4095, and ISEED(4) must be odd. + On exit, the seed is updated. + + Output, floating_point_t R8_RANDOM, the next pseudorandom number. +*/ +{ + int ipw2 = 4096; + int it1; + int it2; + int it3; + int it4; + int m1 = 494; + int m2 = 322; + int m3 = 2508; + int m4 = 2549; + floating_point_t r = 1.0 / 4096.0; + floating_point_t value; + /* + Multiply the seed by the multiplier modulo 2**48. +*/ + it4 = iseed[3] * m4; + it3 = it4 / ipw2; + it4 = it4 - ipw2 * it3; + it3 = it3 + iseed[2] * m4 + iseed[3] * m3; + it2 = it3 / ipw2; + it3 = it3 - ipw2 * it2; + it2 = it2 + iseed[1] * m4 + iseed[2] * m3 + iseed[3] * m2; + it1 = it2 / ipw2; + it2 = it2 - ipw2 * it1; + it1 = it1 + iseed[0] * m4 + iseed[1] * m3 + iseed[2] * m2 + iseed[3] * m1; + it1 = (it1 % ipw2); + /* + Return updated seed +*/ + iseed[0] = it1; + iseed[1] = it2; + iseed[2] = it3; + iseed[3] = it4; + /* + Convert 48-bit integer to a real number in the interval (0,1) +*/ + value = r * ((floating_point_t)(it1) + r * ((floating_point_t)(it2) + r * ((floating_point_t)(it3) + r * ((floating_point_t)(it4))))); + + return value; +} +/******************************************************************************/ + +void r8mat_gen(int lda, int n, floating_point_t *a) + +/******************************************************************************/ +/* + Purpose: + + R8MAT_GEN generates a random R8MAT. + + Modified: + + 06 June 2005 + + Parameters: + + Input, integer LDA, the leading dimension of the matrix. + + Input, integer N, the order of the matrix. + + Output, floating_point_t R8MAT_GEN[LDA*N], the N by N matrix. +*/ +{ + int i; + int init[4] = {1, 2, 3, 1325}; + int j; + + for (j = 1; j <= n; j++) { + for (i = 1; i <= n; i++) { + a[i - 1 + (j - 1) * lda] = r8_random(init) - 0.5; + } + } +} +/******************************************************************************/ diff --git a/tests/performance/linpack_double/test_linpack_double.py b/tests/performance/linpack_double/test_linpack_double.py new file mode 100644 index 00000000000..0a6e2f90ef3 --- /dev/null +++ b/tests/performance/linpack_double/test_linpack_double.py @@ -0,0 +1,61 @@ +import json +import logging +import os + + +def test_linpack_double(dut, request): + LOGGER = logging.getLogger(__name__) + + # Match "Runs: %d" + res = dut.expect(r"Runs: (\d+)", timeout=60) + runs = int(res.group(0).decode("utf-8").split(" ")[1]) + LOGGER.info("Number of runs: {}".format(runs)) + assert runs > 0, "Invalid number of runs" + + # Match "Type: %s" + res = dut.expect(r"Type: (\w+)", timeout=60) + data_type = res.group(0).decode("utf-8").split(" ")[1] + LOGGER.info("Data type: {}".format(data_type)) + assert data_type == "double", "Invalid data type" + + # Match "Runs completed: %d" + res = dut.expect(r"Runs completed: (\d+)", timeout=120) + runs_completed = int(res.group(0).decode("utf-8").split(" ")[2]) + LOGGER.info("Runs completed: {}".format(runs_completed)) + assert runs_completed == runs, "Invalid number of runs completed" + + # Match "Average MFLOPS: %f" + res = dut.expect(r"Average MFLOPS: (\d+\.\d+)", timeout=120) + avg_score = float(res.group(0).decode("utf-8").split(" ")[2]) + LOGGER.info("Average MFLOPS: {}".format(avg_score)) + assert avg_score > 0, "Invalid average MFLOPS" + + # Match "Min MFLOPS: %f" + res = dut.expect(r"Min MFLOPS: (\d+\.\d+)", timeout=120) + min_score = float(res.group(0).decode("utf-8").split(" ")[2]) + LOGGER.info("Min MFLOPS: {}".format(min_score)) + assert min_score > 0 and min_score < 1000000000.0, "Invalid min MFLOPS" + + # Match "Max MFLOPS: %f" + res = dut.expect(r"Max MFLOPS: (\d+\.\d+)", timeout=120) + max_score = float(res.group(0).decode("utf-8").split(" ")[2]) + LOGGER.info("Max MFLOPS: {}".format(max_score)) + assert max_score > 0, "Invalid max MFLOPS" + + # Create JSON with results and write it to file + # Always create a JSON with this format (so it can be merged later on): + # { TEST_NAME_STR: TEST_RESULTS_DICT } + results = {"linpack_double": {"runs": runs, "avg_score": avg_score, "min_score": min_score, "max_score": max_score}} + + current_folder = os.path.dirname(request.path) + file_index = 0 + report_file = os.path.join(current_folder, "result_linpack_double" + str(file_index) + ".json") + while os.path.exists(report_file): + report_file = report_file.replace(str(file_index) + ".json", str(file_index + 1) + ".json") + file_index += 1 + + with open(report_file, "w") as f: + try: + f.write(json.dumps(results)) + except Exception as e: + LOGGER.warning("Failed to write results to file: {}".format(e)) diff --git a/tests/performance/linpack_float/ci.json b/tests/performance/linpack_float/ci.json new file mode 100644 index 00000000000..accee2b2135 --- /dev/null +++ b/tests/performance/linpack_float/ci.json @@ -0,0 +1,6 @@ +{ + "platforms": { + "qemu": false, + "wokwi": false + } +} diff --git a/tests/performance/linpack_float/linpack_float.ino b/tests/performance/linpack_float/linpack_float.ino new file mode 100644 index 00000000000..24dd9e7c461 --- /dev/null +++ b/tests/performance/linpack_float/linpack_float.ino @@ -0,0 +1,1094 @@ +/* + Linpack test for Arduino and ESP32. + Based on https://github.com/VioletGiraffe/EmbeddedLinpack + Created by Violet Giraffe, 2018 + Adapted by Lucas Saavedra Vaz, 2024 +*/ + +#include +#include + +// Number of runs to average +#define N_RUNS 1000 + +using floating_point_t = float; +bool type_float; + +floating_point_t benchmark(void); +floating_point_t cpu_time(void); +void daxpy(int n, floating_point_t da, floating_point_t dx[], int incx, floating_point_t dy[], int incy); +floating_point_t ddot(int n, floating_point_t dx[], int incx, floating_point_t dy[], int incy); +int dgefa(floating_point_t a[], int lda, int n, int ipvt[]); +void dgesl(floating_point_t a[], int lda, int n, int ipvt[], floating_point_t b[], int job); +void dscal(int n, floating_point_t sa, floating_point_t x[], int incx); +int idamax(int n, floating_point_t dx[], int incx); +floating_point_t r8_abs(floating_point_t x); +floating_point_t r8_epsilon(void); +floating_point_t r8_max(floating_point_t x, floating_point_t y); +floating_point_t r8_random(int iseed[4]); +void r8mat_gen(int lda, int n, floating_point_t *a); + +void setup() { + Serial.begin(115200); + while (!Serial) { + delay(10); + } + + String data_type; + + if (sizeof(floating_point_t) == sizeof(float)) { + data_type = "float"; + type_float = true; + } else if (sizeof(floating_point_t) == sizeof(double)) { + data_type = "double"; + type_float = false; + } else { + data_type = "unknown"; + log_e("Unknown data type size. Aborting."); + while (1); + } + + log_d("Starting Linpack %s test", data_type.c_str()); + Serial.printf("Runs: %d\n", N_RUNS); + Serial.printf("Type: %s\n", data_type.c_str()); + Serial.flush(); + int i = 0; + + floating_point_t minMflops = 1000000000.0, maxMflops = 0.0, avgMflops = 0.0; + for (i = 0; i < N_RUNS; ++i) { + Serial.printf("Run %d\n", i); + const auto mflops = benchmark(); + avgMflops += mflops; + minMflops = fmin(mflops, minMflops); + maxMflops = fmax(mflops, maxMflops); + Serial.flush(); + } + + avgMflops /= N_RUNS; + Serial.println(String("Runs completed: ") + i); + Serial.println(String("Average MFLOPS: ") + avgMflops); + Serial.println(String("Min MFLOPS: ") + minMflops); + Serial.println(String("Max MFLOPS: ") + maxMflops); + Serial.flush(); +} + +void loop() { + vTaskDelete(NULL); +} + +/******************************************************************************/ + +floating_point_t benchmark(void) + +/******************************************************************************/ +/* + Purpose: + + MAIN is the main program for LINPACK_BENCH. + + Discussion: + + LINPACK_BENCH drives the floating_point_t precision LINPACK benchmark program. + + Modified: + + 25 July 2008 + + Parameters: + + N is the problem size. +*/ +{ +#define N 8 +#define LDA (N + 1) + + static floating_point_t a[N * LDA]; + static floating_point_t a_max; + static floating_point_t b[N]; + static floating_point_t b_max; + const floating_point_t cray = 0.056; + static floating_point_t eps; + int i; + int info; + static int ipvt[N]; + int j; + int job; + floating_point_t ops; + static floating_point_t resid[N]; + floating_point_t resid_max; + [[maybe_unused]] + floating_point_t residn; + static floating_point_t rhs[N]; + floating_point_t t1; + floating_point_t t2; + static floating_point_t time[6]; + floating_point_t total; + floating_point_t x[N]; + + log_d("LINPACK_BENCH"); + log_d(" C version"); + log_d(" The LINPACK benchmark."); + log_d(" Language: C"); + if (!type_float) { + log_d(" Datatype: Double precision real"); + } else if (type_float) { + log_d(" Datatype: Single precision real"); + } else { + log_d(" Datatype: unknown"); + } + log_d(" Matrix order N = %d", N); + log_d(" Leading matrix dimension LDA = %d", LDA); + + ops = (floating_point_t)(2L * N * N * N) / 3.0 + 2.0 * (floating_point_t)((long)N * N); + + /* + Allocate space for arrays. +*/ + r8mat_gen(LDA, N, a); + + a_max = 0.0; + for (j = 0; j < N; j++) { + for (i = 0; i < N; i++) { + a_max = r8_max(a_max, a[i + j * LDA]); + } + } + + for (i = 0; i < N; i++) { + x[i] = 1.0; + } + + for (i = 0; i < N; i++) { + b[i] = 0.0; + for (j = 0; j < N; j++) { + b[i] = b[i] + a[i + j * LDA] * x[j]; + } + } + t1 = cpu_time(); + + info = dgefa(a, LDA, N, ipvt); + + if (info != 0) { + log_d("LINPACK_BENCH - Fatal error!"); + log_d(" The matrix A is apparently singular."); + log_d(" Abnormal end of execution."); + return 1; + } + + t2 = cpu_time(); + time[0] = t2 - t1; + + t1 = cpu_time(); + + job = 0; + dgesl(a, LDA, N, ipvt, b, job); + + t2 = cpu_time(); + time[1] = t2 - t1; + + total = time[0] + time[1]; + + /* + Compute a residual to verify results. +*/ + r8mat_gen(LDA, N, a); + + for (i = 0; i < N; i++) { + x[i] = 1.0; + } + + for (i = 0; i < N; i++) { + rhs[i] = 0.0; + for (j = 0; j < N; j++) { + rhs[i] = rhs[i] + a[i + j * LDA] * x[j]; + } + } + + for (i = 0; i < N; i++) { + resid[i] = -rhs[i]; + for (j = 0; j < N; j++) { + resid[i] = resid[i] + a[i + j * LDA] * b[j]; + } + } + + resid_max = 0.0; + for (i = 0; i < N; i++) { + resid_max = r8_max(resid_max, r8_abs(resid[i])); + } + + b_max = 0.0; + for (i = 0; i < N; i++) { + b_max = r8_max(b_max, r8_abs(b[i])); + } + + eps = r8_epsilon(); + + residn = resid_max / (floating_point_t)N / a_max / b_max / eps; + + time[2] = total; + if (0.0 < total) { + time[3] = ops / (1.0E+06 * total); + } else { + time[3] = -1.0; + } + time[4] = 2.0 / time[3]; + time[5] = total / cray; + + log_d(""); + log_d(" Norm. Resid Resid MACHEP X[1] X[N]"); + log_d(" %14f %14f %14e %14f %14f", residn, resid_max, eps, b[0], b[N - 1]); + log_d(""); + log_d(" Factor Solve Total MFLOPS Unit Cray-Ratio"); + log_d(" %9f %9f %9f %9f %9f %9f", time[0], time[1], time[2], time[3], time[4], time[5]); + + /* + Terminate. +*/ + log_d(""); + log_d("LINPACK_BENCH"); + log_d(" Normal end of execution."); + log_d(""); + + return time[3]; +#undef LDA +#undef N +} +/******************************************************************************/ + +floating_point_t cpu_time(void) + +/******************************************************************************/ +/* + Purpose: + + CPU_TIME returns the current reading on the CPU clock. + + Discussion: + + The CPU time measurements available through this routine are often + not very accurate. In some cases, the accuracy is no better than + a hundredth of a second. + + Licensing: + + This code is distributed under the GNU LGPL license. + + Modified: + + 06 June 2005 + + Author: + + John Burkardt + + Parameters: + + Output, floating_point_t CPU_TIME, the current reading of the CPU clock, in seconds. +*/ +{ + floating_point_t value; + + value = (floating_point_t)micros() / (floating_point_t)1000000; + + return value; +} +/******************************************************************************/ + +void daxpy(int n, floating_point_t da, floating_point_t dx[], int incx, floating_point_t dy[], int incy) + +/******************************************************************************/ +/* + Purpose: + + DAXPY computes constant times a vector plus a vector. + + Discussion: + + This routine uses unrolled loops for increments equal to one. + + Modified: + + 30 March 2007 + + Author: + + FORTRAN77 original by Jack Dongarra, Cleve Moler, Jim Bunch, Pete Stewart. + C version by John Burkardt + + Reference: + + Jack Dongarra, Cleve Moler, Jim Bunch, Pete Stewart, + LINPACK User's Guide, + SIAM, 1979. + + Charles Lawson, Richard Hanson, David Kincaid, Fred Krogh, + Basic Linear Algebra Subprograms for Fortran Usage, + Algorithm 539, + ACM Transactions on Mathematical Software, + Volume 5, Number 3, September 1979, pages 308-323. + + Parameters: + + Input, int N, the number of elements in DX and DY. + + Input, floating_point_t DA, the multiplier of DX. + + Input, floating_point_t DX[*], the first vector. + + Input, int INCX, the increment between successive entries of DX. + + Input/output, floating_point_t DY[*], the second vector. + On output, DY[*] has been replaced by DY[*] + DA * DX[*]. + + Input, int INCY, the increment between successive entries of DY. +*/ +{ + int i; + int ix; + int iy; + int m; + + if (n <= 0) { + return; + } + + if (da == 0.0) { + return; + } + /* + Code for unequal increments or equal increments + not equal to 1. +*/ + if (incx != 1 || incy != 1) { + if (0 <= incx) { + ix = 0; + } else { + ix = (-n + 1) * incx; + } + + if (0 <= incy) { + iy = 0; + } else { + iy = (-n + 1) * incy; + } + + for (i = 0; i < n; i++) { + dy[iy] = dy[iy] + da * dx[ix]; + ix = ix + incx; + iy = iy + incy; + } + } + /* + Code for both increments equal to 1. +*/ + else { + m = n % 4; + + for (i = 0; i < m; i++) { + dy[i] = dy[i] + da * dx[i]; + } + + for (i = m; i < n; i = i + 4) { + dy[i] = dy[i] + da * dx[i]; + dy[i + 1] = dy[i + 1] + da * dx[i + 1]; + dy[i + 2] = dy[i + 2] + da * dx[i + 2]; + dy[i + 3] = dy[i + 3] + da * dx[i + 3]; + } + } + return; +} +/******************************************************************************/ + +floating_point_t ddot(int n, floating_point_t dx[], int incx, floating_point_t dy[], int incy) + +/******************************************************************************/ +/* + Purpose: + + DDOT forms the dot product of two vectors. + + Discussion: + + This routine uses unrolled loops for increments equal to one. + + Modified: + + 30 March 2007 + + Author: + + FORTRAN77 original by Jack Dongarra, Cleve Moler, Jim Bunch, Pete Stewart. + C version by John Burkardt + + Reference: + + Jack Dongarra, Cleve Moler, Jim Bunch, Pete Stewart, + LINPACK User's Guide, + SIAM, 1979. + + Charles Lawson, Richard Hanson, David Kincaid, Fred Krogh, + Basic Linear Algebra Subprograms for Fortran Usage, + Algorithm 539, + ACM Transactions on Mathematical Software, + Volume 5, Number 3, September 1979, pages 308-323. + + Parameters: + + Input, int N, the number of entries in the vectors. + + Input, floating_point_t DX[*], the first vector. + + Input, int INCX, the increment between successive entries in DX. + + Input, floating_point_t DY[*], the second vector. + + Input, int INCY, the increment between successive entries in DY. + + Output, floating_point_t DDOT, the sum of the product of the corresponding + entries of DX and DY. +*/ +{ + floating_point_t dtemp; + int i; + int ix; + int iy; + int m; + + dtemp = 0.0; + + if (n <= 0) { + return dtemp; + } + /* + Code for unequal increments or equal increments + not equal to 1. +*/ + if (incx != 1 || incy != 1) { + if (0 <= incx) { + ix = 0; + } else { + ix = (-n + 1) * incx; + } + + if (0 <= incy) { + iy = 0; + } else { + iy = (-n + 1) * incy; + } + + for (i = 0; i < n; i++) { + dtemp = dtemp + dx[ix] * dy[iy]; + ix = ix + incx; + iy = iy + incy; + } + } + /* + Code for both increments equal to 1. +*/ + else { + m = n % 5; + + for (i = 0; i < m; i++) { + dtemp = dtemp + dx[i] * dy[i]; + } + + for (i = m; i < n; i = i + 5) { + dtemp = dtemp + dx[i] * dy[i] + dx[i + 1] * dy[i + 1] + dx[i + 2] * dy[i + 2] + dx[i + 3] * dy[i + 3] + dx[i + 4] * dy[i + 4]; + } + } + return dtemp; +} +/******************************************************************************/ + +int dgefa(floating_point_t a[], int lda, int n, int ipvt[]) + +/******************************************************************************/ +/* + Purpose: + + DGEFA factors a real general matrix. + + Modified: + + 16 May 2005 + + Author: + + C version by John Burkardt. + + Reference: + + Jack Dongarra, Cleve Moler, Jim Bunch and Pete Stewart, + LINPACK User's Guide, + SIAM, (Society for Industrial and Applied Mathematics), + 3600 University City Science Center, + Philadelphia, PA, 19104-2688. + ISBN 0-89871-172-X + + Parameters: + + Input/output, floating_point_t A[LDA*N]. + On input, the matrix to be factored. + On output, an upper triangular matrix and the multipliers used to obtain + it. The factorization can be written A=L*U, where L is a product of + permutation and unit lower triangular matrices, and U is upper triangular. + + Input, int LDA, the leading dimension of A. + + Input, int N, the order of the matrix A. + + Output, int IPVT[N], the pivot indices. + + Output, int DGEFA, singularity indicator. + 0, normal value. + K, if U(K,K) == 0. This is not an error condition for this subroutine, + but it does indicate that DGESL or DGEDI will divide by zero if called. + Use RCOND in DGECO for a reliable indication of singularity. +*/ +{ + int info; + int j; + int k; + int l; + floating_point_t t; + /* + Gaussian elimination with partial pivoting. +*/ + info = 0; + + for (k = 1; k <= n - 1; k++) { + /* + Find L = pivot index. +*/ + l = idamax(n - k + 1, a + (k - 1) + (k - 1) * lda, 1) + k - 1; + ipvt[k - 1] = l; + /* + Zero pivot implies this column already triangularized. +*/ + if (a[l - 1 + (k - 1) * lda] == 0.0) { + info = k; + continue; + } + /* + Interchange if necessary. +*/ + if (l != k) { + t = a[l - 1 + (k - 1) * lda]; + a[l - 1 + (k - 1) * lda] = a[k - 1 + (k - 1) * lda]; + a[k - 1 + (k - 1) * lda] = t; + } + /* + Compute multipliers. +*/ + t = -1.0 / a[k - 1 + (k - 1) * lda]; + + dscal(n - k, t, a + k + (k - 1) * lda, 1); + /* + Row elimination with column indexing. +*/ + for (j = k + 1; j <= n; j++) { + t = a[l - 1 + (j - 1) * lda]; + if (l != k) { + a[l - 1 + (j - 1) * lda] = a[k - 1 + (j - 1) * lda]; + a[k - 1 + (j - 1) * lda] = t; + } + daxpy(n - k, t, a + k + (k - 1) * lda, 1, a + k + (j - 1) * lda, 1); + } + } + + ipvt[n - 1] = n; + + if (a[n - 1 + (n - 1) * lda] == 0.0) { + info = n; + } + + return info; +} +/******************************************************************************/ + +void dgesl(floating_point_t a[], int lda, int n, int ipvt[], floating_point_t b[], int job) + +/******************************************************************************/ +/* + Purpose: + + DGESL solves a real general linear system A * X = B. + + Discussion: + + DGESL can solve either of the systems A * X = B or A' * X = B. + + The system matrix must have been factored by DGECO or DGEFA. + + A division by zero will occur if the input factor contains a + zero on the diagonal. Technically this indicates singularity + but it is often caused by improper arguments or improper + setting of LDA. It will not occur if the subroutines are + called correctly and if DGECO has set 0.0 < RCOND + or DGEFA has set INFO == 0. + + Modified: + + 16 May 2005 + + Author: + + C version by John Burkardt. + + Reference: + + Jack Dongarra, Cleve Moler, Jim Bunch and Pete Stewart, + LINPACK User's Guide, + SIAM, (Society for Industrial and Applied Mathematics), + 3600 University City Science Center, + Philadelphia, PA, 19104-2688. + ISBN 0-89871-172-X + + Parameters: + + Input, floating_point_t A[LDA*N], the output from DGECO or DGEFA. + + Input, int LDA, the leading dimension of A. + + Input, int N, the order of the matrix A. + + Input, int IPVT[N], the pivot vector from DGECO or DGEFA. + + Input/output, floating_point_t B[N]. + On input, the right hand side vector. + On output, the solution vector. + + Input, int JOB. + 0, solve A * X = B; + nonzero, solve A' * X = B. +*/ +{ + int k; + int l; + floating_point_t t; + /* + Solve A * X = B. +*/ + if (job == 0) { + for (k = 1; k <= n - 1; k++) { + l = ipvt[k - 1]; + t = b[l - 1]; + + if (l != k) { + b[l - 1] = b[k - 1]; + b[k - 1] = t; + } + + daxpy(n - k, t, a + k + (k - 1) * lda, 1, b + k, 1); + } + + for (k = n; 1 <= k; k--) { + b[k - 1] = b[k - 1] / a[k - 1 + (k - 1) * lda]; + t = -b[k - 1]; + daxpy(k - 1, t, a + 0 + (k - 1) * lda, 1, b, 1); + } + } + /* + Solve A' * X = B. +*/ + else { + for (k = 1; k <= n; k++) { + t = ddot(k - 1, a + 0 + (k - 1) * lda, 1, b, 1); + b[k - 1] = (b[k - 1] - t) / a[k - 1 + (k - 1) * lda]; + } + + for (k = n - 1; 1 <= k; k--) { + b[k - 1] = b[k - 1] + ddot(n - k, a + k + (k - 1) * lda, 1, b + k, 1); + l = ipvt[k - 1]; + + if (l != k) { + t = b[l - 1]; + b[l - 1] = b[k - 1]; + b[k - 1] = t; + } + } + } + return; +} +/******************************************************************************/ + +void dscal(int n, floating_point_t sa, floating_point_t x[], int incx) + +/******************************************************************************/ +/* + Purpose: + + DSCAL scales a vector by a constant. + + Modified: + + 30 March 2007 + + Author: + + FORTRAN77 original by Jack Dongarra, Cleve Moler, Jim Bunch, Pete Stewart. + C version by John Burkardt + + Reference: + + Jack Dongarra, Cleve Moler, Jim Bunch, Pete Stewart, + LINPACK User's Guide, + SIAM, 1979. + + Charles Lawson, Richard Hanson, David Kincaid, Fred Krogh, + Basic Linear Algebra Subprograms for Fortran Usage, + Algorithm 539, + ACM Transactions on Mathematical Software, + Volume 5, Number 3, September 1979, pages 308-323. + + Parameters: + + Input, int N, the number of entries in the vector. + + Input, floating_point_t SA, the multiplier. + + Input/output, floating_point_t X[*], the vector to be scaled. + + Input, int INCX, the increment between successive entries of X. +*/ +{ + int i; + int ix; + int m; + + if (n <= 0) { + } else if (incx == 1) { + m = n % 5; + + for (i = 0; i < m; i++) { + x[i] = sa * x[i]; + } + + for (i = m; i < n; i = i + 5) { + x[i] = sa * x[i]; + x[i + 1] = sa * x[i + 1]; + x[i + 2] = sa * x[i + 2]; + x[i + 3] = sa * x[i + 3]; + x[i + 4] = sa * x[i + 4]; + } + } else { + if (0 <= incx) { + ix = 0; + } else { + ix = (-n + 1) * incx; + } + + for (i = 0; i < n; i++) { + x[ix] = sa * x[ix]; + ix = ix + incx; + } + } + return; +} +/******************************************************************************/ + +int idamax(int n, floating_point_t dx[], int incx) + +/******************************************************************************/ +/* + Purpose: + + IDAMAX finds the index of the vector element of maximum absolute value. + + Discussion: + + WARNING: This index is a 1-based index, not a 0-based index! + + Modified: + + 30 March 2007 + + Author: + + FORTRAN77 original by Jack Dongarra, Cleve Moler, Jim Bunch, Pete Stewart. + C version by John Burkardt + + Reference: + + Jack Dongarra, Cleve Moler, Jim Bunch, Pete Stewart, + LINPACK User's Guide, + SIAM, 1979. + + Charles Lawson, Richard Hanson, David Kincaid, Fred Krogh, + Basic Linear Algebra Subprograms for Fortran Usage, + Algorithm 539, + ACM Transactions on Mathematical Software, + Volume 5, Number 3, September 1979, pages 308-323. + + Parameters: + + Input, int N, the number of entries in the vector. + + Input, floating_point_t X[*], the vector to be examined. + + Input, int INCX, the increment between successive entries of SX. + + Output, int IDAMAX, the index of the element of maximum + absolute value. +*/ +{ + floating_point_t dmax; + int i; + int ix; + int value; + + value = 0; + + if (n < 1 || incx <= 0) { + return value; + } + + value = 1; + + if (n == 1) { + return value; + } + + if (incx == 1) { + dmax = r8_abs(dx[0]); + + for (i = 1; i < n; i++) { + if (dmax < r8_abs(dx[i])) { + value = i + 1; + dmax = r8_abs(dx[i]); + } + } + } else { + ix = 0; + dmax = r8_abs(dx[0]); + ix = ix + incx; + + for (i = 1; i < n; i++) { + if (dmax < r8_abs(dx[ix])) { + value = i + 1; + dmax = r8_abs(dx[ix]); + } + ix = ix + incx; + } + } + + return value; +} +/******************************************************************************/ + +floating_point_t r8_abs(floating_point_t x) + +/******************************************************************************/ +/* + Purpose: + + R8_ABS returns the absolute value of a R8. + + Modified: + + 02 April 2005 + + Author: + + John Burkardt + + Parameters: + + Input, floating_point_t X, the quantity whose absolute value is desired. + + Output, floating_point_t R8_ABS, the absolute value of X. +*/ +{ + floating_point_t value; + + if (0.0 <= x) { + value = x; + } else { + value = -x; + } + return value; +} +/******************************************************************************/ + +floating_point_t r8_epsilon(void) + +/******************************************************************************/ +/* + Purpose: + + R8_EPSILON returns the R8 round off unit. + + Discussion: + + R8_EPSILON is a number R which is a power of 2 with the property that, + to the precision of the computer's arithmetic, + 1 < 1 + R + but + 1 = ( 1 + R / 2 ) + + Licensing: + + This code is distributed under the GNU LGPL license. + + Modified: + + 08 May 2006 + + Author: + + John Burkardt + + Parameters: + + Output, floating_point_t R8_EPSILON, the floating_point_t precision round-off unit. +*/ +{ + floating_point_t r; + + r = 1.0; + + while (1.0 < (floating_point_t)(1.0 + r)) { + r = r / 2.0; + } + r = 2.0 * r; + + return r; +} +/******************************************************************************/ + +floating_point_t r8_max(floating_point_t x, floating_point_t y) + +/******************************************************************************/ +/* + Purpose: + + R8_MAX returns the maximum of two R8's. + + Modified: + + 18 August 2004 + + Author: + + John Burkardt + + Parameters: + + Input, floating_point_t X, Y, the quantities to compare. + + Output, floating_point_t R8_MAX, the maximum of X and Y. +*/ +{ + floating_point_t value; + + if (y < x) { + value = x; + } else { + value = y; + } + return value; +} +/******************************************************************************/ + +floating_point_t r8_random(int iseed[4]) + +/******************************************************************************/ +/* + Purpose: + + R8_RANDOM returns a uniformly distributed random number between 0 and 1. + + Discussion: + + This routine uses a multiplicative congruential method with modulus + 2**48 and multiplier 33952834046453 (see G.S.Fishman, + 'Multiplicative congruential random number generators with modulus + 2**b: an exhaustive analysis for b = 32 and a partial analysis for + b = 48', Math. Comp. 189, pp 331-344, 1990). + + 48-bit integers are stored in 4 integer array elements with 12 bits + per element. Hence the routine is portable across machines with + integers of 32 bits or more. + + Parameters: + + Input/output, integer ISEED(4). + On entry, the seed of the random number generator; the array + elements must be between 0 and 4095, and ISEED(4) must be odd. + On exit, the seed is updated. + + Output, floating_point_t R8_RANDOM, the next pseudorandom number. +*/ +{ + int ipw2 = 4096; + int it1; + int it2; + int it3; + int it4; + int m1 = 494; + int m2 = 322; + int m3 = 2508; + int m4 = 2549; + floating_point_t r = 1.0 / 4096.0; + floating_point_t value; + /* + Multiply the seed by the multiplier modulo 2**48. +*/ + it4 = iseed[3] * m4; + it3 = it4 / ipw2; + it4 = it4 - ipw2 * it3; + it3 = it3 + iseed[2] * m4 + iseed[3] * m3; + it2 = it3 / ipw2; + it3 = it3 - ipw2 * it2; + it2 = it2 + iseed[1] * m4 + iseed[2] * m3 + iseed[3] * m2; + it1 = it2 / ipw2; + it2 = it2 - ipw2 * it1; + it1 = it1 + iseed[0] * m4 + iseed[1] * m3 + iseed[2] * m2 + iseed[3] * m1; + it1 = (it1 % ipw2); + /* + Return updated seed +*/ + iseed[0] = it1; + iseed[1] = it2; + iseed[2] = it3; + iseed[3] = it4; + /* + Convert 48-bit integer to a real number in the interval (0,1) +*/ + value = r * ((floating_point_t)(it1) + r * ((floating_point_t)(it2) + r * ((floating_point_t)(it3) + r * ((floating_point_t)(it4))))); + + return value; +} +/******************************************************************************/ + +void r8mat_gen(int lda, int n, floating_point_t *a) + +/******************************************************************************/ +/* + Purpose: + + R8MAT_GEN generates a random R8MAT. + + Modified: + + 06 June 2005 + + Parameters: + + Input, integer LDA, the leading dimension of the matrix. + + Input, integer N, the order of the matrix. + + Output, floating_point_t R8MAT_GEN[LDA*N], the N by N matrix. +*/ +{ + int i; + int init[4] = {1, 2, 3, 1325}; + int j; + + for (j = 1; j <= n; j++) { + for (i = 1; i <= n; i++) { + a[i - 1 + (j - 1) * lda] = r8_random(init) - 0.5; + } + } +} +/******************************************************************************/ diff --git a/tests/performance/linpack_float/test_linpack_float.py b/tests/performance/linpack_float/test_linpack_float.py new file mode 100644 index 00000000000..d11f6c74136 --- /dev/null +++ b/tests/performance/linpack_float/test_linpack_float.py @@ -0,0 +1,61 @@ +import json +import logging +import os + + +def test_linpack_float(dut, request): + LOGGER = logging.getLogger(__name__) + + # Match "Runs: %d" + res = dut.expect(r"Runs: (\d+)", timeout=60) + runs = int(res.group(0).decode("utf-8").split(" ")[1]) + LOGGER.info("Number of runs: {}".format(runs)) + assert runs > 0, "Invalid number of runs" + + # Match "Type: %s" + res = dut.expect(r"Type: (\w+)", timeout=60) + data_type = res.group(0).decode("utf-8").split(" ")[1] + LOGGER.info("Data type: {}".format(data_type)) + assert data_type == "float", "Invalid data type" + + # Match "Runs completed: %d" + res = dut.expect(r"Runs completed: (\d+)", timeout=120) + runs_completed = int(res.group(0).decode("utf-8").split(" ")[2]) + LOGGER.info("Runs completed: {}".format(runs_completed)) + assert runs_completed == runs, "Invalid number of runs completed" + + # Match "Average MFLOPS: %f" + res = dut.expect(r"Average MFLOPS: (\d+\.\d+)", timeout=120) + avg_score = float(res.group(0).decode("utf-8").split(" ")[2]) + LOGGER.info("Average MFLOPS: {}".format(avg_score)) + assert avg_score > 0, "Invalid average MFLOPS" + + # Match "Min MFLOPS: %f" + res = dut.expect(r"Min MFLOPS: (\d+\.\d+)", timeout=120) + min_score = float(res.group(0).decode("utf-8").split(" ")[2]) + LOGGER.info("Min MFLOPS: {}".format(min_score)) + assert min_score > 0 and min_score < 1000000000.0, "Invalid min MFLOPS" + + # Match "Max MFLOPS: %f" + res = dut.expect(r"Max MFLOPS: (\d+\.\d+)", timeout=120) + max_score = float(res.group(0).decode("utf-8").split(" ")[2]) + LOGGER.info("Max MFLOPS: {}".format(max_score)) + assert max_score > 0, "Invalid max MFLOPS" + + # Create JSON with results and write it to file + # Always create a JSON with this format (so it can be merged later on): + # { TEST_NAME_STR: TEST_RESULTS_DICT } + results = {"linpack_float": {"runs": runs, "avg_score": avg_score, "min_score": min_score, "max_score": max_score}} + + current_folder = os.path.dirname(request.path) + file_index = 0 + report_file = os.path.join(current_folder, "result_linpack_float" + str(file_index) + ".json") + while os.path.exists(report_file): + report_file = report_file.replace(str(file_index) + ".json", str(file_index + 1) + ".json") + file_index += 1 + + with open(report_file, "w") as f: + try: + f.write(json.dumps(results)) + except Exception as e: + LOGGER.warning("Failed to write results to file: {}".format(e)) From 5fd7826d9f2847041a1fe5391612f41e6410743e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Proch=C3=A1zka?= <90197375+P-R-O-C-H-Y@users.noreply.github.com> Date: Fri, 4 Oct 2024 12:52:07 +0200 Subject: [PATCH 079/146] fix(boards): Remove partition scheme from FlashSize (#10400) --- boards.txt | 122 ----------------------------------------------------- 1 file changed, 122 deletions(-) diff --git a/boards.txt b/boards.txt index c785e4d80a4..c73d81b6f31 100644 --- a/boards.txt +++ b/boards.txt @@ -123,7 +123,6 @@ esp32c2.menu.FlashFreq.30.build.flash_freq=30m esp32c2.menu.FlashSize.2M=2MB (16Mb) esp32c2.menu.FlashSize.2M.build.flash_size=2MB -esp32c2.menu.FlashSize.2M.build.partitions=minimal esp32c2.menu.FlashSize.4M=4MB (32Mb) esp32c2.menu.FlashSize.4M.build.flash_size=4MB @@ -293,10 +292,8 @@ esp32h2.menu.FlashSize.4M=4MB (32Mb) esp32h2.menu.FlashSize.4M.build.flash_size=4MB esp32h2.menu.FlashSize.8M=8MB (64Mb) esp32h2.menu.FlashSize.8M.build.flash_size=8MB -esp32h2.menu.FlashSize.8M.build.partitions=default_8MB esp32h2.menu.FlashSize.2M=2MB (16Mb) esp32h2.menu.FlashSize.2M.build.flash_size=2MB -esp32h2.menu.FlashSize.2M.build.partitions=minimal esp32h2.menu.FlashSize.16M=16MB (128Mb) esp32h2.menu.FlashSize.16M.build.flash_size=16MB @@ -487,10 +484,8 @@ esp32c6.menu.FlashSize.4M=4MB (32Mb) esp32c6.menu.FlashSize.4M.build.flash_size=4MB esp32c6.menu.FlashSize.8M=8MB (64Mb) esp32c6.menu.FlashSize.8M.build.flash_size=8MB -esp32c6.menu.FlashSize.8M.build.partitions=default_8MB esp32c6.menu.FlashSize.2M=2MB (16Mb) esp32c6.menu.FlashSize.2M.build.flash_size=2MB -esp32c6.menu.FlashSize.2M.build.partitions=minimal esp32c6.menu.FlashSize.16M=16MB (128Mb) esp32c6.menu.FlashSize.16M.build.flash_size=16MB @@ -634,12 +629,10 @@ esp32s3.menu.FlashSize.4M=4MB (32Mb) esp32s3.menu.FlashSize.4M.build.flash_size=4MB esp32s3.menu.FlashSize.8M=8MB (64Mb) esp32s3.menu.FlashSize.8M.build.flash_size=8MB -esp32s3.menu.FlashSize.8M.build.partitions=default_8MB esp32s3.menu.FlashSize.16M=16MB (128Mb) esp32s3.menu.FlashSize.16M.build.flash_size=16MB esp32s3.menu.FlashSize.32M=32MB (256Mb) esp32s3.menu.FlashSize.32M.build.flash_size=32MB -esp32s3.menu.FlashSize.32M.build.partitions=app5M_fat24M_32MB esp32s3.menu.LoopCore.1=Core 1 esp32s3.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1 @@ -928,10 +921,8 @@ esp32c3.menu.FlashSize.4M=4MB (32Mb) esp32c3.menu.FlashSize.4M.build.flash_size=4MB esp32c3.menu.FlashSize.8M=8MB (64Mb) esp32c3.menu.FlashSize.8M.build.flash_size=8MB -esp32c3.menu.FlashSize.8M.build.partitions=default_8MB esp32c3.menu.FlashSize.2M=2MB (16Mb) esp32c3.menu.FlashSize.2M.build.flash_size=2MB -esp32c3.menu.FlashSize.2M.build.partitions=minimal esp32c3.menu.FlashSize.16M=16MB (128Mb) esp32c3.menu.FlashSize.16M.build.flash_size=16MB @@ -1137,10 +1128,8 @@ esp32s2.menu.FlashSize.4M=4MB (32Mb) esp32s2.menu.FlashSize.4M.build.flash_size=4MB esp32s2.menu.FlashSize.8M=8MB (64Mb) esp32s2.menu.FlashSize.8M.build.flash_size=8MB -esp32s2.menu.FlashSize.8M.build.partitions=default_8MB esp32s2.menu.FlashSize.2M=2MB (16Mb) esp32s2.menu.FlashSize.2M.build.flash_size=2MB -esp32s2.menu.FlashSize.2M.build.partitions=minimal esp32s2.menu.FlashSize.16M=16MB (128Mb) esp32s2.menu.FlashSize.16M.build.flash_size=16MB @@ -1323,10 +1312,8 @@ esp32.menu.FlashSize.4M=4MB (32Mb) esp32.menu.FlashSize.4M.build.flash_size=4MB esp32.menu.FlashSize.8M=8MB (64Mb) esp32.menu.FlashSize.8M.build.flash_size=8MB -esp32.menu.FlashSize.8M.build.partitions=default_8MB esp32.menu.FlashSize.2M=2MB (16Mb) esp32.menu.FlashSize.2M.build.flash_size=2MB -esp32.menu.FlashSize.2M.build.partitions=minimal esp32.menu.FlashSize.16M=16MB (128Mb) esp32.menu.FlashSize.16M.build.flash_size=16MB @@ -1499,7 +1486,6 @@ esp32da.menu.FlashSize.4M=4MB (32Mb) esp32da.menu.FlashSize.4M.build.flash_size=4MB esp32da.menu.FlashSize.8M=8MB (64Mb) esp32da.menu.FlashSize.8M.build.flash_size=8MB -esp32da.menu.FlashSize.8M.build.partitions=default_8MB esp32da.menu.FlashSize.16M=16MB (128Mb) esp32da.menu.FlashSize.16M.build.flash_size=16MB @@ -1841,12 +1827,10 @@ esp32s3-octal.menu.FlashSize.4M=4MB (32Mb) esp32s3-octal.menu.FlashSize.4M.build.flash_size=4MB esp32s3-octal.menu.FlashSize.8M=8MB (64Mb) esp32s3-octal.menu.FlashSize.8M.build.flash_size=8MB -esp32s3-octal.menu.FlashSize.8M.build.partitions=default_8MB esp32s3-octal.menu.FlashSize.16M=16MB (128Mb) esp32s3-octal.menu.FlashSize.16M.build.flash_size=16MB esp32s3-octal.menu.FlashSize.32M=32MB (256Mb) esp32s3-octal.menu.FlashSize.32M.build.flash_size=32MB -esp32s3-octal.menu.FlashSize.32M.build.partitions=app5M_fat24M_32MB esp32s3-octal.menu.LoopCore.1=Core 1 esp32s3-octal.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1 @@ -2367,7 +2351,6 @@ esp32s2usb.menu.FlashSize.4M=4MB (32Mb) esp32s2usb.menu.FlashSize.4M.build.flash_size=4MB esp32s2usb.menu.FlashSize.8M=8MB (64Mb) esp32s2usb.menu.FlashSize.8M.build.flash_size=8MB -esp32s2usb.menu.FlashSize.8M.build.partitions=default_8MB esp32s2usb.menu.FlashSize.16M=16MB (128Mb) esp32s2usb.menu.FlashSize.16M.build.flash_size=16MB @@ -2461,13 +2444,10 @@ esp32wroverkit.menu.FlashSize.4M=4MB (32Mb) esp32wroverkit.menu.FlashSize.4M.build.flash_size=4MB esp32wroverkit.menu.FlashSize.8M=8MB (64Mb) esp32wroverkit.menu.FlashSize.8M.build.flash_size=8MB -esp32wroverkit.menu.FlashSize.8M.build.partitions=default_8MB esp32wroverkit.menu.FlashSize.2M=2MB (16Mb) esp32wroverkit.menu.FlashSize.2M.build.flash_size=2MB -esp32wroverkit.menu.FlashSize.2M.build.partitions=minimal esp32wroverkit.menu.FlashSize.16M=16MB (128Mb) esp32wroverkit.menu.FlashSize.16M.build.flash_size=16MB -esp32wroverkit.menu.FlashSize.16M.build.partitions=default_16MB esp32wroverkit.menu.PSRAM.enabled=Enabled esp32wroverkit.menu.PSRAM.enabled.build.defines=-DBOARD_HAS_PSRAM -mfix-esp32-psram-cache-issue -mfix-esp32-psram-cache-strategy=memw @@ -3069,10 +3049,8 @@ um_feathers2.menu.FlashSize.4M=4MB (32Mb) um_feathers2.menu.FlashSize.4M.build.flash_size=4MB um_feathers2.menu.FlashSize.8M=8MB (64Mb) um_feathers2.menu.FlashSize.8M.build.flash_size=8MB -um_feathers2.menu.FlashSize.8M.build.partitions=default_8MB um_feathers2.menu.FlashSize.2M=2MB (16Mb) um_feathers2.menu.FlashSize.2M.build.flash_size=2MB -um_feathers2.menu.FlashSize.2M.build.partitions=minimal um_feathers2.menu.UploadSpeed.921600=921600 um_feathers2.menu.UploadSpeed.921600.upload.speed=921600 @@ -3211,7 +3189,6 @@ um_feathers2neo.menu.FlashSize.4M=4MB (32Mb) um_feathers2neo.menu.FlashSize.4M.build.flash_size=4MB um_feathers2neo.menu.FlashSize.2M=2MB (16Mb) um_feathers2neo.menu.FlashSize.2M.build.flash_size=2MB -um_feathers2neo.menu.FlashSize.2M.build.partitions=minimal um_feathers2neo.menu.UploadSpeed.921600=921600 um_feathers2neo.menu.UploadSpeed.921600.upload.speed=921600 @@ -4246,7 +4223,6 @@ um_tinyc6.menu.FlashFreq.40.build.flash_freq=40m um_tinyc6.menu.FlashSize.8M=8MB (64Mb) um_tinyc6.menu.FlashSize.8M.build.flash_size=8MB -um_tinyc6.menu.FlashSize.8M.build.partitions=default_8MB um_tinyc6.menu.UploadSpeed.921600=921600 um_tinyc6.menu.UploadSpeed.921600.upload.speed=921600 @@ -4400,7 +4376,6 @@ um_tinys2.menu.FlashSize.4M=4MB (32Mb) um_tinys2.menu.FlashSize.4M.build.flash_size=4MB um_tinys2.menu.FlashSize.2M=2MB (16Mb) um_tinys2.menu.FlashSize.2M.build.flash_size=2MB -um_tinys2.menu.FlashSize.2M.build.partitions=minimal um_tinys2.menu.UploadSpeed.921600=921600 um_tinys2.menu.UploadSpeed.921600.upload.speed=921600 @@ -5669,10 +5644,8 @@ micros2.menu.FlashSize.4M=4MB (32Mb) micros2.menu.FlashSize.4M.build.flash_size=4MB micros2.menu.FlashSize.8M=8MB (64Mb) micros2.menu.FlashSize.8M.build.flash_size=8MB -micros2.menu.FlashSize.8M.build.partitions=default_8MB micros2.menu.FlashSize.2M=2MB (16Mb) micros2.menu.FlashSize.2M.build.flash_size=2MB -micros2.menu.FlashSize.2M.build.partitions=minimal micros2.menu.UploadSpeed.921600=921600 micros2.menu.UploadSpeed.921600.upload.speed=921600 @@ -6003,10 +5976,8 @@ ttgo-t1.menu.FlashSize.4M=4MB (32Mb) ttgo-t1.menu.FlashSize.4M.build.flash_size=4MB ttgo-t1.menu.FlashSize.2M=2MB (16Mb) ttgo-t1.menu.FlashSize.2M.build.flash_size=2MB -ttgo-t1.menu.FlashSize.2M.build.partitions=minimal ttgo-t1.menu.FlashSize.16M=16MB (128Mb) ttgo-t1.menu.FlashSize.16M.build.flash_size=16MB -ttgo-t1.menu.FlashSize.16M.build.partitions=ffat ttgo-t1.menu.UploadSpeed.921600=921600 ttgo-t1.menu.UploadSpeed.921600.upload.speed=921600 @@ -6463,7 +6434,6 @@ cw02.menu.FlashSize.4M=4MB (32Mb) cw02.menu.FlashSize.4M.build.flash_size=4MB cw02.menu.FlashSize.2M=2MB (16Mb) cw02.menu.FlashSize.2M.build.flash_size=2MB -cw02.menu.FlashSize.2M.build.partitions=minimal cw02.menu.UploadSpeed.921600=921600 cw02.menu.UploadSpeed.921600.upload.speed=921600 @@ -6864,10 +6834,8 @@ sparkfun_esp32s2_thing_plus.menu.FlashSize.4M=4MB (32Mb) sparkfun_esp32s2_thing_plus.menu.FlashSize.4M.build.flash_size=4MB sparkfun_esp32s2_thing_plus.menu.FlashSize.8M=8MB (64Mb) sparkfun_esp32s2_thing_plus.menu.FlashSize.8M.build.flash_size=8MB -sparkfun_esp32s2_thing_plus.menu.FlashSize.8M.build.partitions=default_8MB sparkfun_esp32s2_thing_plus.menu.FlashSize.2M=2MB (16Mb) sparkfun_esp32s2_thing_plus.menu.FlashSize.2M.build.flash_size=2MB -sparkfun_esp32s2_thing_plus.menu.FlashSize.2M.build.partitions=minimal sparkfun_esp32s2_thing_plus.menu.FlashSize.16M=16MB (128Mb) sparkfun_esp32s2_thing_plus.menu.FlashSize.16M.build.flash_size=16MB @@ -7256,10 +7224,8 @@ sparkfun_esp32c6_thing_plus.menu.FlashSize.4M=4MB (32Mb) sparkfun_esp32c6_thing_plus.menu.FlashSize.4M.build.flash_size=4MB sparkfun_esp32c6_thing_plus.menu.FlashSize.8M=8MB (64Mb) sparkfun_esp32c6_thing_plus.menu.FlashSize.8M.build.flash_size=8MB -sparkfun_esp32c6_thing_plus.menu.FlashSize.8M.build.partitions=default_8MB sparkfun_esp32c6_thing_plus.menu.FlashSize.2M=2MB (16Mb) sparkfun_esp32c6_thing_plus.menu.FlashSize.2M.build.flash_size=2MB -sparkfun_esp32c6_thing_plus.menu.FlashSize.2M.build.partitions=minimal sparkfun_esp32c6_thing_plus.menu.FlashSize.16M=16MB (128Mb) sparkfun_esp32c6_thing_plus.menu.FlashSize.16M.build.flash_size=16MB @@ -7417,10 +7383,8 @@ esp32micromod.menu.FlashSize.4M=4MB (32Mb) esp32micromod.menu.FlashSize.4M.build.flash_size=4MB esp32micromod.menu.FlashSize.8M=8MB (64Mb) esp32micromod.menu.FlashSize.8M.build.flash_size=8MB -esp32micromod.menu.FlashSize.8M.build.partitions=default_8MB esp32micromod.menu.FlashSize.2M=2MB (16Mb) esp32micromod.menu.FlashSize.2M.build.flash_size=2MB -esp32micromod.menu.FlashSize.2M.build.partitions=minimal esp32micromod.menu.FlashSize.16M=16MB (128Mb) esp32micromod.menu.FlashSize.16M.build.flash_size=16MB @@ -7670,10 +7634,8 @@ sparkfun_esp32_iot_redboard.menu.FlashSize.4M=4MB (32Mb) sparkfun_esp32_iot_redboard.menu.FlashSize.4M.build.flash_size=4MB sparkfun_esp32_iot_redboard.menu.FlashSize.8M=8MB (64Mb) sparkfun_esp32_iot_redboard.menu.FlashSize.8M.build.flash_size=8MB -sparkfun_esp32_iot_redboard.menu.FlashSize.8M.build.partitions=default_8MB sparkfun_esp32_iot_redboard.menu.FlashSize.2M=2MB (16Mb) sparkfun_esp32_iot_redboard.menu.FlashSize.2M.build.flash_size=2MB -sparkfun_esp32_iot_redboard.menu.FlashSize.2M.build.partitions=minimal sparkfun_esp32_iot_redboard.menu.FlashSize.16M=16MB (128Mb) sparkfun_esp32_iot_redboard.menu.FlashSize.16M.build.flash_size=16MB @@ -7855,10 +7817,8 @@ sparkfun_esp32c6_qwiic_pocket.menu.FlashSize.4M=4MB (32Mb) sparkfun_esp32c6_qwiic_pocket.menu.FlashSize.4M.build.flash_size=4MB sparkfun_esp32c6_qwiic_pocket.menu.FlashSize.8M=8MB (64Mb) sparkfun_esp32c6_qwiic_pocket.menu.FlashSize.8M.build.flash_size=8MB -sparkfun_esp32c6_qwiic_pocket.menu.FlashSize.8M.build.partitions=default_8MB sparkfun_esp32c6_qwiic_pocket.menu.FlashSize.2M=2MB (16Mb) sparkfun_esp32c6_qwiic_pocket.menu.FlashSize.2M.build.flash_size=2MB -sparkfun_esp32c6_qwiic_pocket.menu.FlashSize.2M.build.partitions=minimal sparkfun_esp32c6_qwiic_pocket.menu.FlashSize.16M=16MB (128Mb) sparkfun_esp32c6_qwiic_pocket.menu.FlashSize.16M.build.flash_size=16MB @@ -8111,13 +8071,10 @@ nina_w10.menu.UploadSpeed.512000.upload.speed=512000 nina_w10.menu.FlashSize.2M=2MB (16Mb, NINA-W101/W102) nina_w10.menu.FlashSize.2M.build.flash_size=2MB -nina_w10.menu.FlashSize.2M.build.partitions=minimal nina_w10.menu.FlashSize.4M=4MB (32Mb, NINA-W106-00B) nina_w10.menu.FlashSize.4M.build.flash_size=4MB -nina_w10.menu.FlashSize.4M.build.partitions=default nina_w10.menu.FlashSize.8M=8MB (64Mb, NINA-W106-10B) nina_w10.menu.FlashSize.8M.build.flash_size=8MB -nina_w10.menu.FlashSize.8M.build.partitions=default_8MB nina_w10.menu.FlashFreq.80=80MHz nina_w10.menu.FlashFreq.80.build.flash_freq=80m @@ -8287,7 +8244,6 @@ nora_w10.menu.FlashSize.4M=4MB (32Mb) nora_w10.menu.FlashSize.4M.build.flash_size=4MB nora_w10.menu.FlashSize.8M=8MB (64Mb) nora_w10.menu.FlashSize.8M.build.flash_size=8MB -nora_w10.menu.FlashSize.8M.build.partitions=default_8MB #nora_w10.menu.FlashSize.16M=16MB (128Mb) #nora_w10.menu.FlashSize.16M.build.flash_size=16MB #nora_w10.menu.FlashSize.32M=32MB (256Mb) @@ -11261,10 +11217,8 @@ dfrobot_firebeetle2_esp32e.menu.FlashSize.4M=4MB (32Mb) dfrobot_firebeetle2_esp32e.menu.FlashSize.4M.build.flash_size=4MB dfrobot_firebeetle2_esp32e.menu.FlashSize.8M=8MB (64Mb) dfrobot_firebeetle2_esp32e.menu.FlashSize.8M.build.flash_size=8MB -dfrobot_firebeetle2_esp32e.menu.FlashSize.8M.build.partitions=default_8MB dfrobot_firebeetle2_esp32e.menu.FlashSize.2M=2MB (16Mb) dfrobot_firebeetle2_esp32e.menu.FlashSize.2M.build.flash_size=2MB -dfrobot_firebeetle2_esp32e.menu.FlashSize.2M.build.partitions=minimal dfrobot_firebeetle2_esp32e.menu.FlashSize.16M=16MB (128Mb) dfrobot_firebeetle2_esp32e.menu.FlashSize.16M.build.flash_size=16MB @@ -11398,7 +11352,6 @@ dfrobot_firebeetle2_esp32s3.menu.FlashSize.4M=4MB (32Mb) dfrobot_firebeetle2_esp32s3.menu.FlashSize.4M.build.flash_size=4MB dfrobot_firebeetle2_esp32s3.menu.FlashSize.8M=8MB (64Mb) dfrobot_firebeetle2_esp32s3.menu.FlashSize.8M.build.flash_size=8MB -dfrobot_firebeetle2_esp32s3.menu.FlashSize.8M.build.partitions=default_8MB dfrobot_firebeetle2_esp32s3.menu.FlashSize.16M=16MB (128Mb) dfrobot_firebeetle2_esp32s3.menu.FlashSize.16M.build.flash_size=16MB #dfrobot_firebeetle2_esp32s3.menu.FlashSize.32M=32MB (256Mb) @@ -16564,7 +16517,6 @@ nologo_esp32s3_pico.menu.FlashMode.opi.build.flash_freq=80m nologo_esp32s3_pico.menu.FlashSize.8M=8MB (64Mb) nologo_esp32s3_pico.menu.FlashSize.8M.build.flash_size=8MB -nologo_esp32s3_pico.menu.FlashSize.8M.build.partitions=default_8MB nologo_esp32s3_pico.menu.FlashSize.16M=16MB (128Mb) nologo_esp32s3_pico.menu.FlashSize.16M.build.flash_size=16MB @@ -17826,10 +17778,8 @@ esp32s2-devkitlipo.menu.FlashSize.4M=4MB (32Mb) esp32s2-devkitlipo.menu.FlashSize.4M.build.flash_size=4MB esp32s2-devkitlipo.menu.FlashSize.8M=8MB (64Mb) esp32s2-devkitlipo.menu.FlashSize.8M.build.flash_size=8MB -esp32s2-devkitlipo.menu.FlashSize.8M.build.partitions=default_8MB esp32s2-devkitlipo.menu.FlashSize.2M=2MB (16Mb) esp32s2-devkitlipo.menu.FlashSize.2M.build.flash_size=2MB -esp32s2-devkitlipo.menu.FlashSize.2M.build.partitions=minimal esp32s2-devkitlipo.menu.FlashSize.16M=16MB (128Mb) esp32s2-devkitlipo.menu.FlashSize.16M.build.flash_size=16MB @@ -18023,10 +17973,8 @@ esp32s2-devkitlipo-usb.menu.FlashSize.4M=4MB (32Mb) esp32s2-devkitlipo-usb.menu.FlashSize.4M.build.flash_size=4MB esp32s2-devkitlipo-usb.menu.FlashSize.8M=8MB (64Mb) esp32s2-devkitlipo-usb.menu.FlashSize.8M.build.flash_size=8MB -esp32s2-devkitlipo-usb.menu.FlashSize.8M.build.partitions=default_8MB esp32s2-devkitlipo-usb.menu.FlashSize.2M=2MB (16Mb) esp32s2-devkitlipo-usb.menu.FlashSize.2M.build.flash_size=2MB -esp32s2-devkitlipo-usb.menu.FlashSize.2M.build.partitions=minimal esp32s2-devkitlipo-usb.menu.FlashSize.16M=16MB (128Mb) esp32s2-devkitlipo-usb.menu.FlashSize.16M.build.flash_size=16MB @@ -18157,12 +18105,10 @@ esp32s3-devkitlipo.menu.FlashSize.4M=4MB (32Mb) esp32s3-devkitlipo.menu.FlashSize.4M.build.flash_size=4MB esp32s3-devkitlipo.menu.FlashSize.8M=8MB (64Mb) esp32s3-devkitlipo.menu.FlashSize.8M.build.flash_size=8MB -esp32s3-devkitlipo.menu.FlashSize.8M.build.partitions=default_8MB esp32s3-devkitlipo.menu.FlashSize.16M=16MB (128Mb) esp32s3-devkitlipo.menu.FlashSize.16M.build.flash_size=16MB esp32s3-devkitlipo.menu.FlashSize.32M=32MB (256Mb) esp32s3-devkitlipo.menu.FlashSize.32M.build.flash_size=32MB -esp32s3-devkitlipo.menu.FlashSize.32M.build.partitions=app5M_fat24M_32MB esp32s3-devkitlipo.menu.LoopCore.1=Core 1 esp32s3-devkitlipo.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1 @@ -18438,10 +18384,8 @@ esp32c3-devkitlipo.menu.FlashSize.4M=4MB (32Mb) esp32c3-devkitlipo.menu.FlashSize.4M.build.flash_size=4MB esp32c3-devkitlipo.menu.FlashSize.8M=8MB (64Mb) esp32c3-devkitlipo.menu.FlashSize.8M.build.flash_size=8MB -esp32c3-devkitlipo.menu.FlashSize.8M.build.partitions=default_8MB esp32c3-devkitlipo.menu.FlashSize.2M=2MB (16Mb) esp32c3-devkitlipo.menu.FlashSize.2M.build.flash_size=2MB -esp32c3-devkitlipo.menu.FlashSize.2M.build.partitions=minimal esp32c3-devkitlipo.menu.FlashSize.16M=16MB (128Mb) esp32c3-devkitlipo.menu.FlashSize.16M.build.flash_size=16MB @@ -18613,10 +18557,8 @@ esp32c6-evb.menu.FlashSize.4M=4MB (32Mb) esp32c6-evb.menu.FlashSize.4M.build.flash_size=4MB esp32c6-evb.menu.FlashSize.8M=8MB (64Mb) esp32c6-evb.menu.FlashSize.8M.build.flash_size=8MB -esp32c6-evb.menu.FlashSize.8M.build.partitions=default_8MB esp32c6-evb.menu.FlashSize.2M=2MB (16Mb) esp32c6-evb.menu.FlashSize.2M.build.flash_size=2MB -esp32c6-evb.menu.FlashSize.2M.build.partitions=minimal esp32c6-evb.menu.FlashSize.16M=16MB (128Mb) esp32c6-evb.menu.FlashSize.16M.build.flash_size=16MB @@ -18795,10 +18737,8 @@ esp32h2-devkitlipo.menu.FlashSize.4M=4MB (32Mb) esp32h2-devkitlipo.menu.FlashSize.4M.build.flash_size=4MB esp32h2-devkitlipo.menu.FlashSize.8M=8MB (64Mb) esp32h2-devkitlipo.menu.FlashSize.8M.build.flash_size=8MB -esp32h2-devkitlipo.menu.FlashSize.8M.build.partitions=default_8MB esp32h2-devkitlipo.menu.FlashSize.2M=2MB (16Mb) esp32h2-devkitlipo.menu.FlashSize.2M.build.flash_size=2MB -esp32h2-devkitlipo.menu.FlashSize.2M.build.partitions=minimal esp32h2-devkitlipo.menu.FlashSize.16M=16MB (128Mb) esp32h2-devkitlipo.menu.FlashSize.16M.build.flash_size=16MB @@ -18984,10 +18924,8 @@ esp32-sbc-fabgl.menu.FlashSize.4M=4MB (32Mb) esp32-sbc-fabgl.menu.FlashSize.4M.build.flash_size=4MB esp32-sbc-fabgl.menu.FlashSize.8M=8MB (64Mb) esp32-sbc-fabgl.menu.FlashSize.8M.build.flash_size=8MB -esp32-sbc-fabgl.menu.FlashSize.8M.build.partitions=default_8MB esp32-sbc-fabgl.menu.FlashSize.2M=2MB (16Mb) esp32-sbc-fabgl.menu.FlashSize.2M.build.flash_size=2MB -esp32-sbc-fabgl.menu.FlashSize.2M.build.partitions=minimal esp32-sbc-fabgl.menu.FlashSize.16M=16MB (128Mb) esp32-sbc-fabgl.menu.FlashSize.16M.build.flash_size=16MB @@ -20686,7 +20624,6 @@ m5stack_atoms3.menu.FlashMode.opi.build.flash_freq=80m m5stack_atoms3.menu.FlashSize.8M=8MB (64Mb) m5stack_atoms3.menu.FlashSize.8M.build.flash_size=8MB -m5stack_atoms3.menu.FlashSize.8M.build.partitions=default_8MB m5stack_atoms3.menu.LoopCore.1=Core 1 m5stack_atoms3.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1 @@ -20920,7 +20857,6 @@ m5stack_cores3.menu.FlashSize.16M=16MB (128Mb) m5stack_cores3.menu.FlashSize.16M.build.flash_size=16MB m5stack_cores3.menu.FlashSize.32M=32MB (256Mb) m5stack_cores3.menu.FlashSize.32M.build.flash_size=32MB -m5stack_cores3.menu.FlashSize.32M.build.partitions=app5M_fat24M_32MB m5stack_cores3.menu.LoopCore.1=Core 1 m5stack_cores3.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1 @@ -21463,7 +21399,6 @@ m5stack_unit_cams3.menu.FlashSize.16M=16MB (128Mb) m5stack_unit_cams3.menu.FlashSize.16M.build.flash_size=16MB m5stack_unit_cams3.menu.FlashSize.32M=32MB (256Mb) m5stack_unit_cams3.menu.FlashSize.32M.build.flash_size=32MB -m5stack_unit_cams3.menu.FlashSize.32M.build.partitions=app5M_fat24M_32MB m5stack_unit_cams3.menu.LoopCore.1=Core 1 m5stack_unit_cams3.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1 @@ -22475,12 +22410,10 @@ m5stack_stamp_s3.menu.FlashSize.4M=4MB (32Mb) m5stack_stamp_s3.menu.FlashSize.4M.build.flash_size=4MB m5stack_stamp_s3.menu.FlashSize.8M=8MB (64Mb) m5stack_stamp_s3.menu.FlashSize.8M.build.flash_size=8MB -m5stack_stamp_s3.menu.FlashSize.8M.build.partitions=default_8MB m5stack_stamp_s3.menu.FlashSize.16M=16MB (128Mb) m5stack_stamp_s3.menu.FlashSize.16M.build.flash_size=16MB m5stack_stamp_s3.menu.FlashSize.32M=32MB (256Mb) m5stack_stamp_s3.menu.FlashSize.32M.build.flash_size=32MB -m5stack_stamp_s3.menu.FlashSize.32M.build.partitions=app5M_fat24M_32MB m5stack_stamp_s3.menu.LoopCore.1=Core 1 m5stack_stamp_s3.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1 @@ -22714,12 +22647,10 @@ m5stack_capsule.menu.FlashSize.4M=4MB (32Mb) m5stack_capsule.menu.FlashSize.4M.build.flash_size=4MB m5stack_capsule.menu.FlashSize.8M=8MB (64Mb) m5stack_capsule.menu.FlashSize.8M.build.flash_size=8MB -m5stack_capsule.menu.FlashSize.8M.build.partitions=default_8MB m5stack_capsule.menu.FlashSize.16M=16MB (128Mb) m5stack_capsule.menu.FlashSize.16M.build.flash_size=16MB m5stack_capsule.menu.FlashSize.32M=32MB (256Mb) m5stack_capsule.menu.FlashSize.32M.build.flash_size=32MB -m5stack_capsule.menu.FlashSize.32M.build.partitions=app5M_fat24M_32MB m5stack_capsule.menu.LoopCore.1=Core 1 m5stack_capsule.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1 @@ -22956,12 +22887,10 @@ m5stack_cardputer.menu.FlashSize.4M=4MB (32Mb) m5stack_cardputer.menu.FlashSize.4M.build.flash_size=4MB m5stack_cardputer.menu.FlashSize.8M=8MB (64Mb) m5stack_cardputer.menu.FlashSize.8M.build.flash_size=8MB -m5stack_cardputer.menu.FlashSize.8M.build.partitions=default_8MB m5stack_cardputer.menu.FlashSize.16M=16MB (128Mb) m5stack_cardputer.menu.FlashSize.16M.build.flash_size=16MB m5stack_cardputer.menu.FlashSize.32M=32MB (256Mb) m5stack_cardputer.menu.FlashSize.32M.build.flash_size=32MB -m5stack_cardputer.menu.FlashSize.32M.build.partitions=app5M_fat24M_32MB m5stack_cardputer.menu.LoopCore.1=Core 1 m5stack_cardputer.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1 @@ -23195,12 +23124,10 @@ m5stack_dial.menu.FlashSize.4M=4MB (32Mb) m5stack_dial.menu.FlashSize.4M.build.flash_size=4MB m5stack_dial.menu.FlashSize.8M=8MB (64Mb) m5stack_dial.menu.FlashSize.8M.build.flash_size=8MB -m5stack_dial.menu.FlashSize.8M.build.partitions=default_8MB m5stack_dial.menu.FlashSize.16M=16MB (128Mb) m5stack_dial.menu.FlashSize.16M.build.flash_size=16MB m5stack_dial.menu.FlashSize.32M=32MB (256Mb) m5stack_dial.menu.FlashSize.32M.build.flash_size=32MB -m5stack_dial.menu.FlashSize.32M.build.partitions=app5M_fat24M_32MB m5stack_dial.menu.LoopCore.1=Core 1 m5stack_dial.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1 @@ -23434,12 +23361,10 @@ m5stack_dinmeter.menu.FlashSize.4M=4MB (32Mb) m5stack_dinmeter.menu.FlashSize.4M.build.flash_size=4MB m5stack_dinmeter.menu.FlashSize.8M=8MB (64Mb) m5stack_dinmeter.menu.FlashSize.8M.build.flash_size=8MB -m5stack_dinmeter.menu.FlashSize.8M.build.partitions=default_8MB m5stack_dinmeter.menu.FlashSize.16M=16MB (128Mb) m5stack_dinmeter.menu.FlashSize.16M.build.flash_size=16MB m5stack_dinmeter.menu.FlashSize.32M=32MB (256Mb) m5stack_dinmeter.menu.FlashSize.32M.build.flash_size=32MB -m5stack_dinmeter.menu.FlashSize.32M.build.partitions=app5M_fat24M_32MB m5stack_dinmeter.menu.LoopCore.1=Core 1 m5stack_dinmeter.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1 @@ -26516,7 +26441,6 @@ espectro32.menu.FlashSize.4M=4MB (32Mb) espectro32.menu.FlashSize.4M.build.flash_size=4MB espectro32.menu.FlashSize.2M=2MB (16Mb) espectro32.menu.FlashSize.2M.build.flash_size=2MB -espectro32.menu.FlashSize.2M.build.partitions=minimal espectro32.menu.UploadSpeed.921600=921600 espectro32.menu.UploadSpeed.921600.upload.speed=921600 @@ -26745,10 +26669,8 @@ alksesp32.menu.FlashSize.4M=4MB (32Mb) alksesp32.menu.FlashSize.4M.build.flash_size=4MB alksesp32.menu.FlashSize.2M=2MB (16Mb) alksesp32.menu.FlashSize.2M.build.flash_size=2MB -alksesp32.menu.FlashSize.2M.build.partitions=minimal alksesp32.menu.FlashSize.16M=16MB (128Mb) alksesp32.menu.FlashSize.16M.build.flash_size=16MB -alksesp32.menu.FlashSize.16M.build.partitions=ffat alksesp32.menu.UploadSpeed.921600=921600 alksesp32.menu.UploadSpeed.921600.upload.speed=921600 @@ -27265,7 +27187,6 @@ bpi_leaf_s3.menu.FlashMode.opi.build.flash_freq=80m bpi_leaf_s3.menu.FlashSize.8M=8MB (64Mb) bpi_leaf_s3.menu.FlashSize.8M.build.flash_size=8MB -bpi_leaf_s3.menu.FlashSize.8M.build.partitions=default_8MB bpi_leaf_s3.menu.FlashSize.4M=4MB (32Mb) bpi_leaf_s3.menu.FlashSize.4M.build.flash_size=4MB bpi_leaf_s3.menu.FlashSize.16M=16MB (128Mb) @@ -28222,7 +28143,6 @@ frogboard.menu.FlashSize.4M=4MB (32Mb) frogboard.menu.FlashSize.4M.build.flash_size=4MB frogboard.menu.FlashSize.2M=2MB (16Mb) frogboard.menu.FlashSize.2M.build.flash_size=2MB -frogboard.menu.FlashSize.2M.build.partitions=minimal frogboard.menu.UploadSpeed.921600=921600 frogboard.menu.UploadSpeed.921600.upload.speed=921600 @@ -28819,10 +28739,8 @@ vintlabs-devkit-v1.menu.FlashSize.4M=4MB (32Mb) vintlabs-devkit-v1.menu.FlashSize.4M.build.flash_size=4MB vintlabs-devkit-v1.menu.FlashSize.8M=8MB (64Mb) vintlabs-devkit-v1.menu.FlashSize.8M.build.flash_size=8MB -vintlabs-devkit-v1.menu.FlashSize.8M.build.partitions=default_8MB vintlabs-devkit-v1.menu.FlashSize.2M=2MB (16Mb) vintlabs-devkit-v1.menu.FlashSize.2M.build.flash_size=2MB -vintlabs-devkit-v1.menu.FlashSize.2M.build.partitions=minimal vintlabs-devkit-v1.menu.FlashSize.16M=16MB (128Mb) vintlabs-devkit-v1.menu.FlashSize.16M.build.flash_size=16MB @@ -29023,10 +28941,8 @@ mgbot-iotik32a.menu.FlashSize.4M=4MB (32Mb) mgbot-iotik32a.menu.FlashSize.4M.build.flash_size=4MB mgbot-iotik32a.menu.FlashSize.8M=8MB (64Mb) mgbot-iotik32a.menu.FlashSize.8M.build.flash_size=8MB -mgbot-iotik32a.menu.FlashSize.8M.build.partitions=default_8MB mgbot-iotik32a.menu.FlashSize.2M=2MB (16Mb) mgbot-iotik32a.menu.FlashSize.2M.build.flash_size=2MB -mgbot-iotik32a.menu.FlashSize.2M.build.partitions=minimal mgbot-iotik32a.menu.FlashSize.16M=16MB (128Mb) mgbot-iotik32a.menu.FlashSize.16M.build.flash_size=16MB @@ -29172,10 +29088,8 @@ mgbot-iotik32b.menu.FlashSize.4M=4MB (32Mb) mgbot-iotik32b.menu.FlashSize.4M.build.flash_size=4MB mgbot-iotik32b.menu.FlashSize.8M=8MB (64Mb) mgbot-iotik32b.menu.FlashSize.8M.build.flash_size=8MB -mgbot-iotik32b.menu.FlashSize.8M.build.partitions=default_8MB mgbot-iotik32b.menu.FlashSize.2M=2MB (16Mb) mgbot-iotik32b.menu.FlashSize.2M.build.flash_size=2MB -mgbot-iotik32b.menu.FlashSize.2M.build.partitions=minimal mgbot-iotik32b.menu.FlashSize.16M=16MB (128Mb) mgbot-iotik32b.menu.FlashSize.16M.build.flash_size=16MB @@ -29911,10 +29825,8 @@ wifiduino32c3.menu.FlashSize.4M=4MB (32Mb) wifiduino32c3.menu.FlashSize.4M.build.flash_size=4MB wifiduino32c3.menu.FlashSize.8M=8MB (64Mb) wifiduino32c3.menu.FlashSize.8M.build.flash_size=8MB -wifiduino32c3.menu.FlashSize.8M.build.partitions=default_8MB wifiduino32c3.menu.FlashSize.2M=2MB (16Mb) wifiduino32c3.menu.FlashSize.2M.build.flash_size=2MB -wifiduino32c3.menu.FlashSize.2M.build.partitions=minimal wifiduino32c3.menu.FlashSize.16M=16MB (128Mb) wifiduino32c3.menu.FlashSize.16M.build.flash_size=16MB @@ -30032,7 +29944,6 @@ wifiduino32s3.menu.FlashSize.4M=4MB (32Mb) wifiduino32s3.menu.FlashSize.4M.build.flash_size=4MB wifiduino32s3.menu.FlashSize.8M=8MB (64Mb) wifiduino32s3.menu.FlashSize.8M.build.flash_size=8MB -wifiduino32s3.menu.FlashSize.8M.build.partitions=default_8MB wifiduino32s3.menu.FlashSize.16M=16MB (128Mb) wifiduino32s3.menu.FlashSize.16M.build.flash_size=16MB #wifiduino32s3.menu.FlashSize.32M=32MB (256Mb) @@ -31364,10 +31275,8 @@ kb32.menu.FlashSize.4M=4MB (32Mb) kb32.menu.FlashSize.4M.build.flash_size=4MB kb32.menu.FlashSize.8M=8MB (64Mb) kb32.menu.FlashSize.8M.build.flash_size=8MB -kb32.menu.FlashSize.8M.build.partitions=default_8MB kb32.menu.FlashSize.2M=2MB (16Mb) kb32.menu.FlashSize.2M.build.flash_size=2MB -kb32.menu.FlashSize.2M.build.partitions=minimal kb32.menu.FlashSize.16M=16MB (128Mb) kb32.menu.FlashSize.16M.build.flash_size=16MB @@ -31544,10 +31453,8 @@ deneyapkart.menu.FlashSize.4M=4MB (32Mb) deneyapkart.menu.FlashSize.4M.build.flash_size=4MB deneyapkart.menu.FlashSize.8M=8MB (64Mb) deneyapkart.menu.FlashSize.8M.build.flash_size=8MB -deneyapkart.menu.FlashSize.8M.build.partitions=default_8MB deneyapkart.menu.FlashSize.2M=2MB (16Mb) deneyapkart.menu.FlashSize.2M.build.flash_size=2MB -deneyapkart.menu.FlashSize.2M.build.partitions=minimal deneyapkart.menu.FlashSize.16M=16MB (128Mb) deneyapkart.menu.FlashSize.16M.build.flash_size=16MB @@ -31724,10 +31631,8 @@ deneyapkart1A.menu.FlashSize.4M=4MB (32Mb) deneyapkart1A.menu.FlashSize.4M.build.flash_size=4MB deneyapkart1A.menu.FlashSize.8M=8MB (64Mb) deneyapkart1A.menu.FlashSize.8M.build.flash_size=8MB -deneyapkart1A.menu.FlashSize.8M.build.partitions=default_8MB deneyapkart1A.menu.FlashSize.2M=2MB (16Mb) deneyapkart1A.menu.FlashSize.2M.build.flash_size=2MB -deneyapkart1A.menu.FlashSize.2M.build.partitions=minimal deneyapkart1A.menu.FlashSize.16M=16MB (128Mb) deneyapkart1A.menu.FlashSize.16M.build.flash_size=16MB @@ -31871,7 +31776,6 @@ deneyapkart1Av2.menu.FlashSize.4M=4MB (32Mb) deneyapkart1Av2.menu.FlashSize.4M.build.flash_size=4MB deneyapkart1Av2.menu.FlashSize.8M=8MB (64Mb) deneyapkart1Av2.menu.FlashSize.8M.build.flash_size=8MB -deneyapkart1Av2.menu.FlashSize.8M.build.partitions=default_8MB deneyapkart1Av2.menu.FlashSize.16M=16MB (128Mb) deneyapkart1Av2.menu.FlashSize.16M.build.flash_size=16MB #deneyapkart1Av2.menu.FlashSize.32M=32MB (256Mb) @@ -32155,10 +32059,8 @@ deneyapmini.menu.FlashSize.4M=4MB (32Mb) deneyapmini.menu.FlashSize.4M.build.flash_size=4MB deneyapmini.menu.FlashSize.8M=8MB (64Mb) deneyapmini.menu.FlashSize.8M.build.flash_size=8MB -deneyapmini.menu.FlashSize.8M.build.partitions=default_8MB deneyapmini.menu.FlashSize.2M=2MB (16Mb) deneyapmini.menu.FlashSize.2M.build.flash_size=2MB -deneyapmini.menu.FlashSize.2M.build.partitions=minimal deneyapmini.menu.FlashSize.16M=16MB (128Mb) deneyapmini.menu.FlashSize.16M.build.flash_size=16MB @@ -32347,10 +32249,8 @@ deneyapminiv2.menu.FlashSize.4M=4MB (32Mb) deneyapminiv2.menu.FlashSize.4M.build.flash_size=4MB deneyapminiv2.menu.FlashSize.8M=8MB (64Mb) deneyapminiv2.menu.FlashSize.8M.build.flash_size=8MB -deneyapminiv2.menu.FlashSize.8M.build.partitions=default_8MB deneyapminiv2.menu.FlashSize.2M=2MB (16Mb) deneyapminiv2.menu.FlashSize.2M.build.flash_size=2MB -deneyapminiv2.menu.FlashSize.2M.build.partitions=minimal deneyapminiv2.menu.FlashSize.16M=16MB (128Mb) deneyapminiv2.menu.FlashSize.16M.build.flash_size=16MB @@ -32516,10 +32416,8 @@ deneyapkartg.menu.FlashSize.4M=4MB (32Mb) deneyapkartg.menu.FlashSize.4M.build.flash_size=4MB deneyapkartg.menu.FlashSize.8M=8MB (64Mb) deneyapkartg.menu.FlashSize.8M.build.flash_size=8MB -deneyapkartg.menu.FlashSize.8M.build.partitions=default_8MB deneyapkartg.menu.FlashSize.2M=2MB (16Mb) deneyapkartg.menu.FlashSize.2M.build.flash_size=2MB -deneyapkartg.menu.FlashSize.2M.build.partitions=minimal deneyapkartg.menu.FlashSize.16M=16MB (128Mb) deneyapkartg.menu.FlashSize.16M.build.flash_size=16MB @@ -32823,10 +32721,8 @@ atmegazero_esp32s2.menu.FlashSize.4M=4MB (32Mb) atmegazero_esp32s2.menu.FlashSize.4M.build.flash_size=4MB atmegazero_esp32s2.menu.FlashSize.8M=8MB (64Mb) atmegazero_esp32s2.menu.FlashSize.8M.build.flash_size=8MB -atmegazero_esp32s2.menu.FlashSize.8M.build.partitions=default_8MB atmegazero_esp32s2.menu.FlashSize.2M=2MB (16Mb) atmegazero_esp32s2.menu.FlashSize.2M.build.flash_size=2MB -atmegazero_esp32s2.menu.FlashSize.2M.build.partitions=minimal atmegazero_esp32s2.menu.FlashSize.16M=16MB (128Mb) atmegazero_esp32s2.menu.FlashSize.16M.build.flash_size=16MB @@ -32915,7 +32811,6 @@ franzininho_wifi_esp32s2.menu.FlashSize.4M=4MB (32Mb) franzininho_wifi_esp32s2.menu.FlashSize.4M.build.flash_size=4MB franzininho_wifi_esp32s2.menu.FlashSize.8M=8MB (64Mb) franzininho_wifi_esp32s2.menu.FlashSize.8M.build.flash_size=8MB -franzininho_wifi_esp32s2.menu.FlashSize.8M.build.partitions=default_8MB franzininho_wifi_esp32s2.menu.FlashSize.16M=16MB (128Mb) franzininho_wifi_esp32s2.menu.FlashSize.16M.build.flash_size=16MB @@ -33023,7 +32918,6 @@ franzininho_wifi_msc_esp32s2.menu.FlashSize.4M=4MB (32Mb) franzininho_wifi_msc_esp32s2.menu.FlashSize.4M.build.flash_size=4MB franzininho_wifi_msc_esp32s2.menu.FlashSize.8M=8MB (64Mb) franzininho_wifi_msc_esp32s2.menu.FlashSize.8M.build.flash_size=8MB -franzininho_wifi_msc_esp32s2.menu.FlashSize.8M.build.partitions=default_8MB franzininho_wifi_msc_esp32s2.menu.FlashSize.16M=16MB (128Mb) franzininho_wifi_msc_esp32s2.menu.FlashSize.16M.build.flash_size=16MB @@ -33160,7 +33054,6 @@ tamc_termod_s3.menu.FlashSize.4M=4MB (32Mb) tamc_termod_s3.menu.FlashSize.4M.build.flash_size=4MB tamc_termod_s3.menu.FlashSize.8M=8MB (64Mb) tamc_termod_s3.menu.FlashSize.8M.build.flash_size=8MB -tamc_termod_s3.menu.FlashSize.8M.build.partitions=default_8MB tamc_termod_s3.menu.FlashSize.16M=16MB (128Mb) tamc_termod_s3.menu.FlashSize.16M.build.flash_size=16MB @@ -33622,7 +33515,6 @@ lionbit.menu.FlashFreq.40.build.flash_freq=40m lionbit.menu.FlashSize.4M=4MB (32Mb) lionbit.menu.FlashSize.4M.build.flash_size=4MB -lionbit.menu.FlashSize.4M.build.partitions=default @@ -33970,10 +33862,8 @@ XIAO_ESP32C3.menu.FlashSize.4M=4MB (32Mb) XIAO_ESP32C3.menu.FlashSize.4M.build.flash_size=4MB XIAO_ESP32C3.menu.FlashSize.8M=8MB (64Mb) XIAO_ESP32C3.menu.FlashSize.8M.build.flash_size=8MB -XIAO_ESP32C3.menu.FlashSize.8M.build.partitions=default_8MB XIAO_ESP32C3.menu.FlashSize.2M=2MB (16Mb) XIAO_ESP32C3.menu.FlashSize.2M.build.flash_size=2MB -XIAO_ESP32C3.menu.FlashSize.2M.build.partitions=minimal XIAO_ESP32C3.menu.FlashSize.16M=16MB (128Mb) XIAO_ESP32C3.menu.FlashSize.16M.build.flash_size=16MB @@ -34246,7 +34136,6 @@ XIAO_ESP32S3.menu.FlashMode.dio.build.flash_freq=80m XIAO_ESP32S3.menu.FlashSize.8M=8MB (64Mb) XIAO_ESP32S3.menu.FlashSize.8M.build.flash_size=8MB -XIAO_ESP32S3.menu.FlashSize.8M.build.partitions=default_8MB XIAO_ESP32S3.menu.LoopCore.1=Core 1 XIAO_ESP32S3.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1 @@ -34669,10 +34558,8 @@ department_of_alchemy_minimain_esp32s2.menu.FlashSize.4M=4MB (32Mb) department_of_alchemy_minimain_esp32s2.menu.FlashSize.4M.build.flash_size=4MB department_of_alchemy_minimain_esp32s2.menu.FlashSize.8M=8MB (64Mb) department_of_alchemy_minimain_esp32s2.menu.FlashSize.8M.build.flash_size=8MB -department_of_alchemy_minimain_esp32s2.menu.FlashSize.8M.build.partitions=default_8MB department_of_alchemy_minimain_esp32s2.menu.FlashSize.2M=2MB (16Mb) department_of_alchemy_minimain_esp32s2.menu.FlashSize.2M.build.flash_size=2MB -department_of_alchemy_minimain_esp32s2.menu.FlashSize.2M.build.partitions=minimal department_of_alchemy_minimain_esp32s2.menu.FlashSize.16M=16MB (128Mb) department_of_alchemy_minimain_esp32s2.menu.FlashSize.16M.build.flash_size=16MB @@ -36413,10 +36300,8 @@ VALTRACK_V4_VTS_ESP32_C3.menu.FlashSize.4M=4MB (32Mb) VALTRACK_V4_VTS_ESP32_C3.menu.FlashSize.4M.build.flash_size=4MB VALTRACK_V4_VTS_ESP32_C3.menu.FlashSize.8M=8MB (64Mb) VALTRACK_V4_VTS_ESP32_C3.menu.FlashSize.8M.build.flash_size=8MB -VALTRACK_V4_VTS_ESP32_C3.menu.FlashSize.8M.build.partitions=default_8MB VALTRACK_V4_VTS_ESP32_C3.menu.FlashSize.2M=2MB (16Mb) VALTRACK_V4_VTS_ESP32_C3.menu.FlashSize.2M.build.flash_size=2MB -VALTRACK_V4_VTS_ESP32_C3.menu.FlashSize.2M.build.partitions=minimal VALTRACK_V4_VTS_ESP32_C3.menu.FlashSize.16M=16MB (128Mb) VALTRACK_V4_VTS_ESP32_C3.menu.FlashSize.16M.build.flash_size=16MB @@ -36566,10 +36451,8 @@ VALTRACK_V4_MFW_ESP32_C3.menu.FlashSize.4M=4MB (32Mb) VALTRACK_V4_MFW_ESP32_C3.menu.FlashSize.4M.build.flash_size=4MB VALTRACK_V4_MFW_ESP32_C3.menu.FlashSize.8M=8MB (64Mb) VALTRACK_V4_MFW_ESP32_C3.menu.FlashSize.8M.build.flash_size=8MB -VALTRACK_V4_MFW_ESP32_C3.menu.FlashSize.8M.build.partitions=default_8MB VALTRACK_V4_MFW_ESP32_C3.menu.FlashSize.2M=2MB (16Mb) VALTRACK_V4_MFW_ESP32_C3.menu.FlashSize.2M.build.flash_size=2MB -VALTRACK_V4_MFW_ESP32_C3.menu.FlashSize.2M.build.partitions=minimal VALTRACK_V4_MFW_ESP32_C3.menu.FlashSize.16M=16MB (128Mb) VALTRACK_V4_MFW_ESP32_C3.menu.FlashSize.16M.build.flash_size=16MB @@ -36687,7 +36570,6 @@ Edgebox-ESP-100.menu.FlashSize.4M=4MB (32Mb) Edgebox-ESP-100.menu.FlashSize.4M.build.flash_size=4MB Edgebox-ESP-100.menu.FlashSize.8M=8MB (64Mb) Edgebox-ESP-100.menu.FlashSize.8M.build.flash_size=8MB -Edgebox-ESP-100.menu.FlashSize.8M.build.partitions=default_8MB Edgebox-ESP-100.menu.FlashSize.16M=16MB (128Mb) Edgebox-ESP-100.menu.FlashSize.16M.build.flash_size=16MB #Edgebox-ESP-100.menu.FlashSize.32M=32MB (256Mb) @@ -37060,7 +36942,6 @@ nebulas3.menu.FlashSize.4M=4MB (32Mb) nebulas3.menu.FlashSize.4M.build.flash_size=4MB nebulas3.menu.FlashSize.8M=8MB (64Mb) nebulas3.menu.FlashSize.8M.build.flash_size=8MB -nebulas3.menu.FlashSize.8M.build.partitions=default_8MB nebulas3.menu.FlashSize.16M=16MB (128Mb) nebulas3.menu.FlashSize.16M.build.flash_size=16MB @@ -37285,7 +37166,6 @@ lionbits3.menu.FlashSize.4M=4MB (32Mb) lionbits3.menu.FlashSize.4M.build.flash_size=4MB lionbits3.menu.FlashSize.8M=8MB (64Mb) lionbits3.menu.FlashSize.8M.build.flash_size=8MB -lionbits3.menu.FlashSize.8M.build.partitions=default_8MB lionbits3.menu.FlashSize.16M=16MB (128Mb) lionbits3.menu.FlashSize.16M.build.flash_size=16MB #lionbits3.menu.FlashSize.32M=32MB (256Mb) @@ -39314,7 +39194,6 @@ epulse_feather_c6.menu.FlashSize.4M=4MB (32Mb) epulse_feather_c6.menu.FlashSize.4M.build.flash_size=4MB epulse_feather_c6.menu.FlashSize.2M=2MB (16Mb) epulse_feather_c6.menu.FlashSize.2M.build.flash_size=2MB -epulse_feather_c6.menu.FlashSize.2M.build.partitions=minimal epulse_feather_c6.menu.UploadSpeed.921600=921600 epulse_feather_c6.menu.UploadSpeed.921600.upload.speed=921600 @@ -39457,7 +39336,6 @@ Geekble_ESP32C3.menu.FlashSize.4M=4MB (Default) Geekble_ESP32C3.menu.FlashSize.4M.build.flash_size=4MB Geekble_ESP32C3.menu.FlashSize.2M=2MB Geekble_ESP32C3.menu.FlashSize.2M.build.flash_size=2MB -Geekble_ESP32C3.menu.FlashSize.2M.build.partitions=minimal Geekble_ESP32C3.menu.UploadSpeed.921600=921600 (Default) Geekble_ESP32C3.menu.UploadSpeed.921600.upload.speed=921600 From 8ce5f775fe928dc4541b0fecaf710de58aa3d198 Mon Sep 17 00:00:00 2001 From: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com> Date: Fri, 4 Oct 2024 10:57:08 -0300 Subject: [PATCH 080/146] ci(compilation): Use default partition and add append to FQBN option (#10392) * ci(partitions): Use default partition for compilation in CI * fix(ci): Fix paths for sdkconfig * Fix build of camera web server * fix(ci): Fix test requirements check * ci(append): Add option to append to all FQBNs * fix(json): Fix JSON files to compile examples * fix(example): Use requires instead of target in ci.json fix(zigbee): Improve JSON files Co-authored-by: Jan Prochazka <90197375+P-R-O-C-H-Y@users.noreply.github.com> * fix(regex): Trim argument before grep * docs(ci): Add documentation about FQBNs in CI * fix(json): Remove redundant FQBNs * fix(json): Skip requirements if libs are not installed * fix(partitions): Use rainmaker specific partitions --------- Co-authored-by: me-no-dev Co-authored-by: Jan Prochazka <90197375+P-R-O-C-H-Y@users.noreply.github.com> --- .github/scripts/install-platformio-esp32.sh | 8 ++- .github/scripts/sketch_utils.sh | 60 ++++++++++++------- .github/scripts/tests_run.sh | 31 ++++++---- .github/workflows/tests_build.yml | 3 + .github/workflows/tests_hw.yml | 4 -- docs/en/contributing.rst | 46 +++++++++++++- .../examples/Camera/CameraWebServer/ci.json | 15 +++++ .../Camera/CameraWebServer/partitions.csv | 5 +- .../RainMaker/examples/RMakerCustom/ci.json | 3 +- .../examples/RMakerCustomAirCooler/ci.json | 3 +- .../examples/RMakerSonoffDualR3/ci.json | 3 +- .../RainMaker/examples/RMakerSwitch/ci.json | 3 +- libraries/WiFiProv/examples/WiFiProv/ci.json | 1 + .../Zigbee_Color_Dimmable_Light/ci.json | 18 ++---- .../Zigbee_Color_Dimmer_Switch/ci.json | 18 ++---- .../examples/Zigbee_On_Off_Light/ci.json | 18 ++---- .../examples/Zigbee_On_Off_Switch/ci.json | 18 ++---- .../examples/Zigbee_Scan_Networks/ci.json | 18 ++---- .../Zigbee_Temperature_Sensor/ci.json | 18 ++---- .../Zigbee/examples/Zigbee_Thermostat/ci.json | 18 ++---- platform.txt | 4 ++ 21 files changed, 168 insertions(+), 147 deletions(-) diff --git a/.github/scripts/install-platformio-esp32.sh b/.github/scripts/install-platformio-esp32.sh index 393c9f3a7d6..a9aab496e19 100755 --- a/.github/scripts/install-platformio-esp32.sh +++ b/.github/scripts/install-platformio-esp32.sh @@ -6,7 +6,7 @@ PLATFORMIO_ESP32_URL="https://github.com/platformio/platform-espressif32.git" TOOLCHAIN_VERSION="12.2.0+20230208" ESPTOOLPY_VERSION="~1.40501.0" ESPRESSIF_ORGANIZATION_NAME="espressif" -LIBS_DIR="tools/esp32-arduino-libs" +SDKCONFIG_DIR="$PLATFORMIO_ESP32_PATH/tools/esp32-arduino-libs" echo "Installing Python Wheel ..." pip install wheel > /dev/null 2>&1 @@ -100,7 +100,8 @@ function count_sketches(){ # count_sketches requirements=$(jq -r '.requires[]? // empty' $sketchdir/ci.json) if [[ "$requirements" != "null" ]] || [[ "$requirements" != "" ]]; then for requirement in $requirements; do - found_line=$(grep -E "^$requirement" $LIBS_DIR/esp32/sdkconfig) + requirement=$(echo $requirement | xargs) + found_line=$(grep -E "^$requirement" "$SDKCONFIG_DIR/esp32/sdkconfig") if [[ "$found_line" == "" ]]; then continue 2 fi @@ -190,7 +191,8 @@ function build_pio_sketches(){ # build_pio_sketches [extra-options] while [ ! -z "$1" ]; do @@ -83,14 +89,21 @@ function build_sketch(){ # build_sketch [ex len=1 + if [ -f $sketchdir/ci.json ]; then + fqbn_append=`jq -r '.fqbn_append' $sketchdir/ci.json` + if [ $fqbn_append == "null" ]; then + fqbn_append="" + fi + fi + # Default FQBN options if none were passed in the command line. - esp32_opts="PSRAM=enabled,PartitionScheme=huge_app,FlashMode=dio" - esp32s2_opts="PSRAM=enabled,PartitionScheme=huge_app,FlashMode=dio" - esp32s3_opts="PSRAM=opi,USBMode=default,PartitionScheme=huge_app,FlashMode=dio" - esp32c3_opts="PartitionScheme=huge_app,FlashMode=dio" - esp32c6_opts="PartitionScheme=huge_app,FlashMode=dio" - esp32h2_opts="PartitionScheme=huge_app,FlashMode=dio" + esp32_opts="PSRAM=enabled,FlashMode=dio${fqbn_append:+,$fqbn_append}" + esp32s2_opts="PSRAM=enabled,FlashMode=dio${fqbn_append:+,$fqbn_append}" + esp32s3_opts="PSRAM=opi,USBMode=default,FlashMode=dio${fqbn_append:+,$fqbn_append}" + esp32c3_opts="FlashMode=dio${fqbn_append:+,$fqbn_append}" + esp32c6_opts="FlashMode=dio${fqbn_append:+,$fqbn_append}" + esp32h2_opts="FlashMode=dio${fqbn_append:+,$fqbn_append}" # Select the common part of the FQBN based on the target. The rest will be # appended depending on the passed options. @@ -154,7 +167,8 @@ function build_sketch(){ # build_sketch [ex requirements=$(jq -r '.requires[]? // empty' $sketchdir/ci.json) if [[ "$requirements" != "null" ]] || [[ "$requirements" != "" ]]; then for requirement in $requirements; do - found_line=$(grep -E "^$requirement" $LIBS_DIR/$target/sdkconfig) + requirement=$(echo $requirement | xargs) + found_line=$(grep -E "^$requirement" "$SDKCONFIG_DIR/$target/sdkconfig") if [[ "$found_line" == "" ]]; then echo "Target $target does not meet the requirement $requirement for $sketchname. Skipping." exit 0 @@ -270,10 +284,11 @@ function build_sketch(){ # build_sketch [ex unset options } -function count_sketches(){ # count_sketches [target] [file] +function count_sketches(){ # count_sketches [target] [file] [ignore-requirements] local path=$1 local target=$2 - local file=$3 + local ignore_requirements=$3 + local file=$4 if [ $# -lt 1 ]; then echo "ERROR: Illegal number of parameters" @@ -286,7 +301,7 @@ function count_sketches(){ # count_sketches [target] [file] return 0 fi - if [ -n "$file" ]; then + if [ -f "$file" ]; then local sketches=$(cat $file) else local sketches=$(find $path -name *.ino | sort) @@ -306,15 +321,18 @@ function count_sketches(){ # count_sketches [target] [file] continue fi - # Check if the sketch requires any configuration options - requirements=$(jq -r '.requires[]? // empty' $sketchdir/ci.json) - if [[ "$requirements" != "null" ]] || [[ "$requirements" != "" ]]; then - for requirement in $requirements; do - found_line=$(grep -E "^$requirement" $LIBS_DIR/$target/sdkconfig) - if [[ "$found_line" == "" ]]; then - continue 2 - fi - done + if [ "$ignore_requirements" != "1" ]; then + # Check if the sketch requires any configuration options + requirements=$(jq -r '.requires[]? // empty' $sketchdir/ci.json) + if [[ "$requirements" != "null" ]] || [[ "$requirements" != "" ]]; then + for requirement in $requirements; do + requirement=$(echo $requirement | xargs) + found_line=$(grep -E "^$requirement" $SDKCONFIG_DIR/$target/sdkconfig) + if [[ "$found_line" == "" ]]; then + continue 2 + fi + done + fi fi fi echo $sketch >> sketches.txt @@ -392,7 +410,7 @@ function build_sketches(){ # build_sketches `_ - are used if this field is not specified. + are used if this field is not specified. This overrides the default FQBNs and the ``fqbn_append`` field. The ``wifi`` test suite is a good example of how to use the ``ci.json`` file: diff --git a/libraries/ESP32/examples/Camera/CameraWebServer/ci.json b/libraries/ESP32/examples/Camera/CameraWebServer/ci.json index 7e0f3c89986..35c3056dda8 100644 --- a/libraries/ESP32/examples/Camera/CameraWebServer/ci.json +++ b/libraries/ESP32/examples/Camera/CameraWebServer/ci.json @@ -1,4 +1,19 @@ { + "fqbn": { + "esp32": [ + "espressif:esp32:esp32:PSRAM=enabled,PartitionScheme=custom,FlashMode=dio", + "espressif:esp32:esp32:PSRAM=disabled,PartitionScheme=custom,FlashMode=dio" + ], + "esp32s2": [ + "espressif:esp32:esp32s2:PSRAM=enabled,PartitionScheme=custom,FlashMode=dio", + "espressif:esp32:esp32s2:PSRAM=disabled,PartitionScheme=custom,FlashMode=dio" + ], + "esp32s3": [ + "espressif:esp32:esp32s3:PSRAM=opi,USBMode=default,PartitionScheme=custom,FlashMode=qio", + "espressif:esp32:esp32s3:PSRAM=enabled,USBMode=default,PartitionScheme=custom,FlashMode=qio", + "espressif:esp32:esp32s3:PSRAM=disabled,USBMode=default,PartitionScheme=custom,FlashMode=qio" + ] + }, "requires": [ "CONFIG_CAMERA_TASK_STACK_SIZE=[0-9]+" ] diff --git a/libraries/ESP32/examples/Camera/CameraWebServer/partitions.csv b/libraries/ESP32/examples/Camera/CameraWebServer/partitions.csv index 4f76ca6d746..b9f18c465a7 100644 --- a/libraries/ESP32/examples/Camera/CameraWebServer/partitions.csv +++ b/libraries/ESP32/examples/Camera/CameraWebServer/partitions.csv @@ -1,5 +1,6 @@ # Name, Type, SubType, Offset, Size, Flags nvs, data, nvs, 0x9000, 0x5000, otadata, data, ota, 0xe000, 0x2000, -app0, app, ota_0, 0x10000, 0x3d0000, -fr, data, , 0x3e0000, 0x20000, +app0, app, ota_0, 0x10000, 0x3c0000, +fr, data, , 0x3d0000, 0x20000, +coredump, data, coredump,0x3f0000, 0x10000, diff --git a/libraries/RainMaker/examples/RMakerCustom/ci.json b/libraries/RainMaker/examples/RMakerCustom/ci.json index de4e92436d7..833a13f0860 100644 --- a/libraries/RainMaker/examples/RMakerCustom/ci.json +++ b/libraries/RainMaker/examples/RMakerCustom/ci.json @@ -1,6 +1,7 @@ { + "fqbn_append": "PartitionScheme=rainmaker_4MB", "requires": [ "CONFIG_SOC_WIFI_SUPPORTED=y", - "CONFIG_ESP_RMAKER_WORK_QUEUE_TASK_STACK" + "CONFIG_ESP_RMAKER_WORK_QUEUE_TASK_STACK=[1-9][0-9]*" ] } diff --git a/libraries/RainMaker/examples/RMakerCustomAirCooler/ci.json b/libraries/RainMaker/examples/RMakerCustomAirCooler/ci.json index de4e92436d7..833a13f0860 100644 --- a/libraries/RainMaker/examples/RMakerCustomAirCooler/ci.json +++ b/libraries/RainMaker/examples/RMakerCustomAirCooler/ci.json @@ -1,6 +1,7 @@ { + "fqbn_append": "PartitionScheme=rainmaker_4MB", "requires": [ "CONFIG_SOC_WIFI_SUPPORTED=y", - "CONFIG_ESP_RMAKER_WORK_QUEUE_TASK_STACK" + "CONFIG_ESP_RMAKER_WORK_QUEUE_TASK_STACK=[1-9][0-9]*" ] } diff --git a/libraries/RainMaker/examples/RMakerSonoffDualR3/ci.json b/libraries/RainMaker/examples/RMakerSonoffDualR3/ci.json index de4e92436d7..833a13f0860 100644 --- a/libraries/RainMaker/examples/RMakerSonoffDualR3/ci.json +++ b/libraries/RainMaker/examples/RMakerSonoffDualR3/ci.json @@ -1,6 +1,7 @@ { + "fqbn_append": "PartitionScheme=rainmaker_4MB", "requires": [ "CONFIG_SOC_WIFI_SUPPORTED=y", - "CONFIG_ESP_RMAKER_WORK_QUEUE_TASK_STACK" + "CONFIG_ESP_RMAKER_WORK_QUEUE_TASK_STACK=[1-9][0-9]*" ] } diff --git a/libraries/RainMaker/examples/RMakerSwitch/ci.json b/libraries/RainMaker/examples/RMakerSwitch/ci.json index de4e92436d7..833a13f0860 100644 --- a/libraries/RainMaker/examples/RMakerSwitch/ci.json +++ b/libraries/RainMaker/examples/RMakerSwitch/ci.json @@ -1,6 +1,7 @@ { + "fqbn_append": "PartitionScheme=rainmaker_4MB", "requires": [ "CONFIG_SOC_WIFI_SUPPORTED=y", - "CONFIG_ESP_RMAKER_WORK_QUEUE_TASK_STACK" + "CONFIG_ESP_RMAKER_WORK_QUEUE_TASK_STACK=[1-9][0-9]*" ] } diff --git a/libraries/WiFiProv/examples/WiFiProv/ci.json b/libraries/WiFiProv/examples/WiFiProv/ci.json index 36babb82730..04eb62b977a 100644 --- a/libraries/WiFiProv/examples/WiFiProv/ci.json +++ b/libraries/WiFiProv/examples/WiFiProv/ci.json @@ -1,4 +1,5 @@ { + "fqbn_append": "PartitionScheme=huge_app", "requires": [ "CONFIG_SOC_WIFI_SUPPORTED=y" ] diff --git a/libraries/Zigbee/examples/Zigbee_Color_Dimmable_Light/ci.json b/libraries/Zigbee/examples/Zigbee_Color_Dimmable_Light/ci.json index 3aaf44eb376..7b7ccef8ed7 100644 --- a/libraries/Zigbee/examples/Zigbee_Color_Dimmable_Light/ci.json +++ b/libraries/Zigbee/examples/Zigbee_Color_Dimmable_Light/ci.json @@ -1,16 +1,6 @@ { - "fqbn": { - "esp32c6": [ - "espressif:esp32:esp32c6:PartitionScheme=zigbee,ZigbeeMode=ed" - ], - "esp32h2": [ - "espressif:esp32:esp32h2:PartitionScheme=zigbee,ZigbeeMode=ed" - ] - }, - "targets": { - "esp32": false, - "esp32c3": false, - "esp32s2": false, - "esp32s3": false - } + "fqbn_append": "PartitionScheme=zigbee,ZigbeeMode=ed", + "requires": [ + "CONFIG_SOC_IEEE802154_SUPPORTED=y" + ] } diff --git a/libraries/Zigbee/examples/Zigbee_Color_Dimmer_Switch/ci.json b/libraries/Zigbee/examples/Zigbee_Color_Dimmer_Switch/ci.json index c916121b991..e79a477da11 100644 --- a/libraries/Zigbee/examples/Zigbee_Color_Dimmer_Switch/ci.json +++ b/libraries/Zigbee/examples/Zigbee_Color_Dimmer_Switch/ci.json @@ -1,16 +1,6 @@ { - "fqbn": { - "esp32c6": [ - "espressif:esp32:esp32c6:PartitionScheme=zigbee_zczr,ZigbeeMode=zczr" - ], - "esp32h2": [ - "espressif:esp32:esp32h2:PartitionScheme=zigbee_zczr,ZigbeeMode=zczr" - ] - }, - "targets": { - "esp32": false, - "esp32c3": false, - "esp32s2": false, - "esp32s3": false - } + "fqbn_append": "PartitionScheme=zigbee_zczr,ZigbeeMode=zczr", + "requires": [ + "CONFIG_SOC_IEEE802154_SUPPORTED=y" + ] } diff --git a/libraries/Zigbee/examples/Zigbee_On_Off_Light/ci.json b/libraries/Zigbee/examples/Zigbee_On_Off_Light/ci.json index 3aaf44eb376..7b7ccef8ed7 100644 --- a/libraries/Zigbee/examples/Zigbee_On_Off_Light/ci.json +++ b/libraries/Zigbee/examples/Zigbee_On_Off_Light/ci.json @@ -1,16 +1,6 @@ { - "fqbn": { - "esp32c6": [ - "espressif:esp32:esp32c6:PartitionScheme=zigbee,ZigbeeMode=ed" - ], - "esp32h2": [ - "espressif:esp32:esp32h2:PartitionScheme=zigbee,ZigbeeMode=ed" - ] - }, - "targets": { - "esp32": false, - "esp32c3": false, - "esp32s2": false, - "esp32s3": false - } + "fqbn_append": "PartitionScheme=zigbee,ZigbeeMode=ed", + "requires": [ + "CONFIG_SOC_IEEE802154_SUPPORTED=y" + ] } diff --git a/libraries/Zigbee/examples/Zigbee_On_Off_Switch/ci.json b/libraries/Zigbee/examples/Zigbee_On_Off_Switch/ci.json index c916121b991..e79a477da11 100644 --- a/libraries/Zigbee/examples/Zigbee_On_Off_Switch/ci.json +++ b/libraries/Zigbee/examples/Zigbee_On_Off_Switch/ci.json @@ -1,16 +1,6 @@ { - "fqbn": { - "esp32c6": [ - "espressif:esp32:esp32c6:PartitionScheme=zigbee_zczr,ZigbeeMode=zczr" - ], - "esp32h2": [ - "espressif:esp32:esp32h2:PartitionScheme=zigbee_zczr,ZigbeeMode=zczr" - ] - }, - "targets": { - "esp32": false, - "esp32c3": false, - "esp32s2": false, - "esp32s3": false - } + "fqbn_append": "PartitionScheme=zigbee_zczr,ZigbeeMode=zczr", + "requires": [ + "CONFIG_SOC_IEEE802154_SUPPORTED=y" + ] } diff --git a/libraries/Zigbee/examples/Zigbee_Scan_Networks/ci.json b/libraries/Zigbee/examples/Zigbee_Scan_Networks/ci.json index 3aaf44eb376..7b7ccef8ed7 100644 --- a/libraries/Zigbee/examples/Zigbee_Scan_Networks/ci.json +++ b/libraries/Zigbee/examples/Zigbee_Scan_Networks/ci.json @@ -1,16 +1,6 @@ { - "fqbn": { - "esp32c6": [ - "espressif:esp32:esp32c6:PartitionScheme=zigbee,ZigbeeMode=ed" - ], - "esp32h2": [ - "espressif:esp32:esp32h2:PartitionScheme=zigbee,ZigbeeMode=ed" - ] - }, - "targets": { - "esp32": false, - "esp32c3": false, - "esp32s2": false, - "esp32s3": false - } + "fqbn_append": "PartitionScheme=zigbee,ZigbeeMode=ed", + "requires": [ + "CONFIG_SOC_IEEE802154_SUPPORTED=y" + ] } diff --git a/libraries/Zigbee/examples/Zigbee_Temperature_Sensor/ci.json b/libraries/Zigbee/examples/Zigbee_Temperature_Sensor/ci.json index 3aaf44eb376..7b7ccef8ed7 100644 --- a/libraries/Zigbee/examples/Zigbee_Temperature_Sensor/ci.json +++ b/libraries/Zigbee/examples/Zigbee_Temperature_Sensor/ci.json @@ -1,16 +1,6 @@ { - "fqbn": { - "esp32c6": [ - "espressif:esp32:esp32c6:PartitionScheme=zigbee,ZigbeeMode=ed" - ], - "esp32h2": [ - "espressif:esp32:esp32h2:PartitionScheme=zigbee,ZigbeeMode=ed" - ] - }, - "targets": { - "esp32": false, - "esp32c3": false, - "esp32s2": false, - "esp32s3": false - } + "fqbn_append": "PartitionScheme=zigbee,ZigbeeMode=ed", + "requires": [ + "CONFIG_SOC_IEEE802154_SUPPORTED=y" + ] } diff --git a/libraries/Zigbee/examples/Zigbee_Thermostat/ci.json b/libraries/Zigbee/examples/Zigbee_Thermostat/ci.json index c916121b991..e79a477da11 100644 --- a/libraries/Zigbee/examples/Zigbee_Thermostat/ci.json +++ b/libraries/Zigbee/examples/Zigbee_Thermostat/ci.json @@ -1,16 +1,6 @@ { - "fqbn": { - "esp32c6": [ - "espressif:esp32:esp32c6:PartitionScheme=zigbee_zczr,ZigbeeMode=zczr" - ], - "esp32h2": [ - "espressif:esp32:esp32h2:PartitionScheme=zigbee_zczr,ZigbeeMode=zczr" - ] - }, - "targets": { - "esp32": false, - "esp32c3": false, - "esp32s2": false, - "esp32s3": false - } + "fqbn_append": "PartitionScheme=zigbee_zczr,ZigbeeMode=zczr", + "requires": [ + "CONFIG_SOC_IEEE802154_SUPPORTED=y" + ] } diff --git a/platform.txt b/platform.txt index 873e27b0ecb..a1574e2f776 100644 --- a/platform.txt +++ b/platform.txt @@ -143,6 +143,10 @@ recipe.hooks.prebuild.7.pattern.windows=cmd /c type nul > "{file_opts.path}" recipe.hooks.core.prebuild.1.pattern.windows=cmd /c echo "-DARDUINO_CORE_BUILD" > "{file_opts.path}" recipe.hooks.core.postbuild.1.pattern.windows=cmd /c type nul > "{file_opts.path}" +# Copy sdkconfig to build folder +recipe.hooks.prebuild.8.pattern=/usr/bin/env bash -c "cp -f "{runtime.platform.path}"/tools/esp32-arduino-libs/{build.mcu}/sdkconfig "{build.path}"/sdkconfig" +recipe.hooks.prebuild.8.pattern.windows=cmd /c COPY /y "{runtime.platform.path}\tools\esp32-arduino-libs\{build.mcu}\sdkconfig" "{build.path}\sdkconfig" + ## Compile c files recipe.c.o.pattern="{compiler.path}{compiler.c.cmd}" {compiler.c.extra_flags} {compiler.c.flags} -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} -DARDUINO_BOARD="{build.board}" -DARDUINO_VARIANT="{build.variant}" -DARDUINO_PARTITION_{build.partitions} {build.extra_flags} {compiler.cpreprocessor.flags} {includes} "@{build.opt.path}" "@{file_opts.path}" "{source_file}" -o "{object_file}" From 765173372f5e1fde9285b4180982589e4289aa9b Mon Sep 17 00:00:00 2001 From: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com> Date: Fri, 4 Oct 2024 11:33:27 -0300 Subject: [PATCH 081/146] Add P4 to chip info --- cores/esp32/Esp.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/cores/esp32/Esp.cpp b/cores/esp32/Esp.cpp index 6a6ed11e463..aa189516469 100644 --- a/cores/esp32/Esp.cpp +++ b/cores/esp32/Esp.cpp @@ -300,6 +300,7 @@ const char *EspClass::getChipModel(void) { case CHIP_ESP32C2: return "ESP32-C2"; case CHIP_ESP32C6: return "ESP32-C6"; case CHIP_ESP32H2: return "ESP32-H2"; + case CHIP_ESP32P4: return "ESP32-P4"; default: return "UNKNOWN"; } #endif From 630377f7d3f8c859698529e4e1448d4551a9fa67 Mon Sep 17 00:00:00 2001 From: Bharat Pi <133974527+Bharat-Pi@users.noreply.github.com> Date: Mon, 7 Oct 2024 16:13:51 +0530 Subject: [PATCH 082/146] =?UTF-8?q?feat(Variants):=20Add=20Arduino=20libra?= =?UTF-8?q?ries=20for=20Lora=204G=20Module=20and=20Node=20Wifi=20o?= =?UTF-8?q?=E2=80=A6=20(#10402)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat(esp32): Added support for BharatPi 4G, LoRa & NodeWifi Boards * fix(variant): Fixed review comments for SPI and I2C Pins * fix(variant): Fixed review comments and Lora build fix * fix(variant): Fixed review comments for board name * fix(review): Fixed review comment for CI * ci(pre-commit): Apply automatic fixes --------- Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> --- boards.txt | 473 +++++++++++++++++++++ variants/BharatPi-A7672S-4G/pins_arduino.h | 31 ++ variants/BharatPi-LoRa/pins_arduino.h | 35 ++ variants/BharatPi-Node-Wifi/pins_arduino.h | 35 ++ 4 files changed, 574 insertions(+) create mode 100644 variants/BharatPi-A7672S-4G/pins_arduino.h create mode 100644 variants/BharatPi-LoRa/pins_arduino.h create mode 100644 variants/BharatPi-Node-Wifi/pins_arduino.h diff --git a/boards.txt b/boards.txt index c73d81b6f31..971f99a0cbc 100644 --- a/boards.txt +++ b/boards.txt @@ -2780,6 +2780,479 @@ aventen_s3_sync.menu.EraseFlash.all.upload.erase_cmd=-e ############################################################## +BharatPi-Node-Wifi.name=BharatPi Node Wifi Module + +BharatPi-Node-Wifi.bootloader.tool=esptool_py +BharatPi-Node-Wifi.bootloader.tool.default=esptool_py + +BharatPi-Node-Wifi.upload.tool=esptool_py +BharatPi-Node-Wifi.upload.tool.default=esptool_py +BharatPi-Node-Wifi.upload.tool.network=esp_ota + +BharatPi-Node-Wifi.upload.maximum_size=1310720 +BharatPi-Node-Wifi.upload.maximum_data_size=327680 +BharatPi-Node-Wifi.upload.flags= +BharatPi-Node-Wifi.upload.extra_flags= + +BharatPi-Node-Wifi.serial.disableDTR=true +BharatPi-Node-Wifi.serial.disableRTS=true + +BharatPi-Node-Wifi.build.tarch=xtensa +BharatPi-Node-Wifi.build.bootloader_addr=0x1000 +BharatPi-Node-Wifi.build.target=esp32 +BharatPi-Node-Wifi.build.mcu=esp32 +BharatPi-Node-Wifi.build.core=esp32 +BharatPi-Node-Wifi.build.variant=BharatPi-Node-Wifi +BharatPi-Node-Wifi.build.board=BHARATPI_NODE_WIFI + +BharatPi-Node-Wifi.build.f_cpu=240000000L +BharatPi-Node-Wifi.build.flash_size=4MB +BharatPi-Node-Wifi.build.flash_freq=40m +BharatPi-Node-Wifi.build.flash_mode=dio +BharatPi-Node-Wifi.build.boot=dio +BharatPi-Node-Wifi.build.partitions=default +BharatPi-Node-Wifi.build.defines= +BharatPi-Node-Wifi.build.loop_core= +BharatPi-Node-Wifi.build.event_core= + +BharatPi-Node-Wifi.menu.PartitionScheme.default=Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS) +BharatPi-Node-Wifi.menu.PartitionScheme.default.build.partitions=default +BharatPi-Node-Wifi.menu.PartitionScheme.defaultffat=Default 4MB with ffat (1.2MB APP/1.5MB FATFS) +BharatPi-Node-Wifi.menu.PartitionScheme.defaultffat.build.partitions=default_ffat +BharatPi-Node-Wifi.menu.PartitionScheme.default_8MB=8M with spiffs (3MB APP/1.5MB SPIFFS) +BharatPi-Node-Wifi.menu.PartitionScheme.default_8MB.build.partitions=default_8MB +BharatPi-Node-Wifi.menu.PartitionScheme.default_8MB.upload.maximum_size=3342336 +BharatPi-Node-Wifi.menu.PartitionScheme.minimal=Minimal (1.3MB APP/700KB SPIFFS) +BharatPi-Node-Wifi.menu.PartitionScheme.minimal.build.partitions=minimal +BharatPi-Node-Wifi.menu.PartitionScheme.no_ota=No OTA (2MB APP/2MB SPIFFS) +BharatPi-Node-Wifi.menu.PartitionScheme.no_ota.build.partitions=no_ota +BharatPi-Node-Wifi.menu.PartitionScheme.no_ota.upload.maximum_size=2097152 +BharatPi-Node-Wifi.menu.PartitionScheme.noota_3g=No OTA (1MB APP/3MB SPIFFS) +BharatPi-Node-Wifi.menu.PartitionScheme.noota_3g.build.partitions=noota_3g +BharatPi-Node-Wifi.menu.PartitionScheme.noota_3g.upload.maximum_size=1048576 +BharatPi-Node-Wifi.menu.PartitionScheme.noota_ffat=No OTA (2MB APP/2MB FATFS) +BharatPi-Node-Wifi.menu.PartitionScheme.noota_ffat.build.partitions=noota_ffat +BharatPi-Node-Wifi.menu.PartitionScheme.noota_ffat.upload.maximum_size=2097152 +BharatPi-Node-Wifi.menu.PartitionScheme.noota_3gffat=No OTA (1MB APP/3MB FATFS) +BharatPi-Node-Wifi.menu.PartitionScheme.noota_3gffat.build.partitions=noota_3gffat +BharatPi-Node-Wifi.menu.PartitionScheme.noota_3gffat.upload.maximum_size=1048576 +BharatPi-Node-Wifi.menu.PartitionScheme.huge_app=Huge APP (3MB No OTA/1MB SPIFFS) +BharatPi-Node-Wifi.menu.PartitionScheme.huge_app.build.partitions=huge_app +BharatPi-Node-Wifi.menu.PartitionScheme.huge_app.upload.maximum_size=3145728 +BharatPi-Node-Wifi.menu.PartitionScheme.min_spiffs=Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS) +BharatPi-Node-Wifi.menu.PartitionScheme.min_spiffs.build.partitions=min_spiffs +BharatPi-Node-Wifi.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080 +BharatPi-Node-Wifi.menu.PartitionScheme.fatflash=16M Flash (2MB APP/12.5MB FATFS) +BharatPi-Node-Wifi.menu.PartitionScheme.fatflash.build.partitions=ffat +BharatPi-Node-Wifi.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 +BharatPi-Node-Wifi.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) +BharatPi-Node-Wifi.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB +BharatPi-Node-Wifi.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 +BharatPi-Node-Wifi.menu.PartitionScheme.rainmaker=RainMaker +BharatPi-Node-Wifi.menu.PartitionScheme.rainmaker.build.partitions=rainmaker +BharatPi-Node-Wifi.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +BharatPi-Node-Wifi.menu.PartitionScheme.custom=Custom +BharatPi-Node-Wifi.menu.PartitionScheme.custom.build.partitions= +BharatPi-Node-Wifi.menu.PartitionScheme.custom.upload.maximum_size=16777216 + +BharatPi-Node-Wifi.menu.CPUFreq.240=240MHz (WiFi/BT) +BharatPi-Node-Wifi.menu.CPUFreq.240.build.f_cpu=240000000L +BharatPi-Node-Wifi.menu.CPUFreq.160=160MHz (WiFi/BT) +BharatPi-Node-Wifi.menu.CPUFreq.160.build.f_cpu=160000000L +BharatPi-Node-Wifi.menu.CPUFreq.80=80MHz (WiFi/BT) +BharatPi-Node-Wifi.menu.CPUFreq.80.build.f_cpu=80000000L +BharatPi-Node-Wifi.menu.CPUFreq.40=40MHz (40MHz XTAL) +BharatPi-Node-Wifi.menu.CPUFreq.40.build.f_cpu=40000000L +BharatPi-Node-Wifi.menu.CPUFreq.26=26MHz (26MHz XTAL) +BharatPi-Node-Wifi.menu.CPUFreq.26.build.f_cpu=26000000L +BharatPi-Node-Wifi.menu.CPUFreq.20=20MHz (40MHz XTAL) +BharatPi-Node-Wifi.menu.CPUFreq.20.build.f_cpu=20000000L +BharatPi-Node-Wifi.menu.CPUFreq.13=13MHz (26MHz XTAL) +BharatPi-Node-Wifi.menu.CPUFreq.13.build.f_cpu=13000000L +BharatPi-Node-Wifi.menu.CPUFreq.10=10MHz (40MHz XTAL) +BharatPi-Node-Wifi.menu.CPUFreq.10.build.f_cpu=10000000L + +BharatPi-Node-Wifi.menu.FlashMode.qio=QIO +BharatPi-Node-Wifi.menu.FlashMode.qio.build.flash_mode=dio +BharatPi-Node-Wifi.menu.FlashMode.qio.build.boot=qio +BharatPi-Node-Wifi.menu.FlashMode.dio=DIO +BharatPi-Node-Wifi.menu.FlashMode.dio.build.flash_mode=dio +BharatPi-Node-Wifi.menu.FlashMode.dio.build.boot=dio + +BharatPi-Node-Wifi.menu.FlashFreq.80=80MHz +BharatPi-Node-Wifi.menu.FlashFreq.80.build.flash_freq=80m +BharatPi-Node-Wifi.menu.FlashFreq.40=40MHz +BharatPi-Node-Wifi.menu.FlashFreq.40.build.flash_freq=40m + +BharatPi-Node-Wifi.menu.FlashSize.4M=4MB (32Mb) +BharatPi-Node-Wifi.menu.FlashSize.4M.build.flash_size=4MB +BharatPi-Node-Wifi.menu.FlashSize.8M=8MB (64Mb) +BharatPi-Node-Wifi.menu.FlashSize.8M.build.flash_size=8MB +BharatPi-Node-Wifi.menu.FlashSize.8M.build.partitions=default_8MB +BharatPi-Node-Wifi.menu.FlashSize.16M=16MB (128Mb) +BharatPi-Node-Wifi.menu.FlashSize.16M.build.flash_size=16MB + +BharatPi-Node-Wifi.menu.UploadSpeed.921600=921600 +BharatPi-Node-Wifi.menu.UploadSpeed.921600.upload.speed=921600 +BharatPi-Node-Wifi.menu.UploadSpeed.115200=115200 +BharatPi-Node-Wifi.menu.UploadSpeed.115200.upload.speed=115200 +BharatPi-Node-Wifi.menu.UploadSpeed.256000.windows=256000 +BharatPi-Node-Wifi.menu.UploadSpeed.256000.upload.speed=256000 +BharatPi-Node-Wifi.menu.UploadSpeed.230400.windows.upload.speed=256000 +BharatPi-Node-Wifi.menu.UploadSpeed.230400=230400 +BharatPi-Node-Wifi.menu.UploadSpeed.230400.upload.speed=230400 +BharatPi-Node-Wifi.menu.UploadSpeed.460800.linux=460800 +BharatPi-Node-Wifi.menu.UploadSpeed.460800.macosx=460800 +BharatPi-Node-Wifi.menu.UploadSpeed.460800.upload.speed=460800 +BharatPi-Node-Wifi.menu.UploadSpeed.512000.windows=512000 +BharatPi-Node-Wifi.menu.UploadSpeed.512000.upload.speed=512000 + +BharatPi-Node-Wifi.menu.LoopCore.1=Core 1 +BharatPi-Node-Wifi.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1 +BharatPi-Node-Wifi.menu.LoopCore.0=Core 0 +BharatPi-Node-Wifi.menu.LoopCore.0.build.loop_core=-DARDUINO_RUNNING_CORE=0 + +BharatPi-Node-Wifi.menu.EventsCore.1=Core 1 +BharatPi-Node-Wifi.menu.EventsCore.1.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=1 +BharatPi-Node-Wifi.menu.EventsCore.0=Core 0 +BharatPi-Node-Wifi.menu.EventsCore.0.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=0 + +BharatPi-Node-Wifi.menu.DebugLevel.none=None +BharatPi-Node-Wifi.menu.DebugLevel.none.build.code_debug=0 +BharatPi-Node-Wifi.menu.DebugLevel.error=Error +BharatPi-Node-Wifi.menu.DebugLevel.error.build.code_debug=1 +BharatPi-Node-Wifi.menu.DebugLevel.warn=Warn +BharatPi-Node-Wifi.menu.DebugLevel.warn.build.code_debug=2 +BharatPi-Node-Wifi.menu.DebugLevel.info=Info +BharatPi-Node-Wifi.menu.DebugLevel.info.build.code_debug=3 +BharatPi-Node-Wifi.menu.DebugLevel.debug=Debug +BharatPi-Node-Wifi.menu.DebugLevel.debug.build.code_debug=4 +BharatPi-Node-Wifi.menu.DebugLevel.verbose=Verbose +BharatPi-Node-Wifi.menu.DebugLevel.verbose.build.code_debug=5 + +BharatPi-Node-Wifi.menu.EraseFlash.none=Disabled +BharatPi-Node-Wifi.menu.EraseFlash.none.upload.erase_cmd= +BharatPi-Node-Wifi.menu.EraseFlash.all=Enabled +BharatPi-Node-Wifi.menu.EraseFlash.all.upload.erase_cmd=-e + +############################################################## + + +BharatPi-A7672S-4G.name=BharatPi A7672S 4G Module + +BharatPi-A7672S-4G.bootloader.tool=esptool_py +BharatPi-A7672S-4G.bootloader.tool.default=esptool_py + +BharatPi-A7672S-4G.upload.tool=esptool_py +BharatPi-A7672S-4G.upload.tool.default=esptool_py +BharatPi-A7672S-4G.upload.tool.network=esp_ota + +BharatPi-A7672S-4G.upload.maximum_size=1310720 +BharatPi-A7672S-4G.upload.maximum_data_size=327680 +BharatPi-A7672S-4G.upload.flags= +BharatPi-A7672S-4G.upload.extra_flags= + +BharatPi-A7672S-4G.serial.disableDTR=true +BharatPi-A7672S-4G.serial.disableRTS=true + +BharatPi-A7672S-4G.build.tarch=xtensa +BharatPi-A7672S-4G.build.bootloader_addr=0x1000 +BharatPi-A7672S-4G.build.target=esp32 +BharatPi-A7672S-4G.build.mcu=esp32 +BharatPi-A7672S-4G.build.core=esp32 +BharatPi-A7672S-4G.build.variant=BharatPi-A7672S-4G +BharatPi-A7672S-4G.build.board=BHARATPI_A7672S_4G + +BharatPi-A7672S-4G.build.f_cpu=240000000L +BharatPi-A7672S-4G.build.flash_size=4MB +BharatPi-A7672S-4G.build.flash_freq=40m +BharatPi-A7672S-4G.build.flash_mode=dio +BharatPi-A7672S-4G.build.boot=dio +BharatPi-A7672S-4G.build.partitions=default +BharatPi-A7672S-4G.build.defines= +BharatPi-A7672S-4G.build.loop_core= +BharatPi-A7672S-4G.build.event_core= + +BharatPi-A7672S-4G.menu.PartitionScheme.default=Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS) +BharatPi-A7672S-4G.menu.PartitionScheme.default.build.partitions=default +BharatPi-A7672S-4G.menu.PartitionScheme.defaultffat=Default 4MB with ffat (1.2MB APP/1.5MB FATFS) +BharatPi-A7672S-4G.menu.PartitionScheme.defaultffat.build.partitions=default_ffat +BharatPi-A7672S-4G.menu.PartitionScheme.default_8MB=8M with spiffs (3MB APP/1.5MB SPIFFS) +BharatPi-A7672S-4G.menu.PartitionScheme.default_8MB.build.partitions=default_8MB +BharatPi-A7672S-4G.menu.PartitionScheme.default_8MB.upload.maximum_size=3342336 +BharatPi-A7672S-4G.menu.PartitionScheme.minimal=Minimal (1.3MB APP/700KB SPIFFS) +BharatPi-A7672S-4G.menu.PartitionScheme.minimal.build.partitions=minimal +BharatPi-A7672S-4G.menu.PartitionScheme.no_ota=No OTA (2MB APP/2MB SPIFFS) +BharatPi-A7672S-4G.menu.PartitionScheme.no_ota.build.partitions=no_ota +BharatPi-A7672S-4G.menu.PartitionScheme.no_ota.upload.maximum_size=2097152 +BharatPi-A7672S-4G.menu.PartitionScheme.noota_3g=No OTA (1MB APP/3MB SPIFFS) +BharatPi-A7672S-4G.menu.PartitionScheme.noota_3g.build.partitions=noota_3g +BharatPi-A7672S-4G.menu.PartitionScheme.noota_3g.upload.maximum_size=1048576 +BharatPi-A7672S-4G.menu.PartitionScheme.noota_ffat=No OTA (2MB APP/2MB FATFS) +BharatPi-A7672S-4G.menu.PartitionScheme.noota_ffat.build.partitions=noota_ffat +BharatPi-A7672S-4G.menu.PartitionScheme.noota_ffat.upload.maximum_size=2097152 +BharatPi-A7672S-4G.menu.PartitionScheme.noota_3gffat=No OTA (1MB APP/3MB FATFS) +BharatPi-A7672S-4G.menu.PartitionScheme.noota_3gffat.build.partitions=noota_3gffat +BharatPi-A7672S-4G.menu.PartitionScheme.noota_3gffat.upload.maximum_size=1048576 +BharatPi-A7672S-4G.menu.PartitionScheme.huge_app=Huge APP (3MB No OTA/1MB SPIFFS) +BharatPi-A7672S-4G.menu.PartitionScheme.huge_app.build.partitions=huge_app +BharatPi-A7672S-4G.menu.PartitionScheme.huge_app.upload.maximum_size=3145728 +BharatPi-A7672S-4G.menu.PartitionScheme.min_spiffs=Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS) +BharatPi-A7672S-4G.menu.PartitionScheme.min_spiffs.build.partitions=min_spiffs +BharatPi-A7672S-4G.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080 +BharatPi-A7672S-4G.menu.PartitionScheme.fatflash=16M Flash (2MB APP/12.5MB FATFS) +BharatPi-A7672S-4G.menu.PartitionScheme.fatflash.build.partitions=ffat +BharatPi-A7672S-4G.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 +BharatPi-A7672S-4G.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) +BharatPi-A7672S-4G.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB +BharatPi-A7672S-4G.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 +BharatPi-A7672S-4G.menu.PartitionScheme.rainmaker=RainMaker +BharatPi-A7672S-4G.menu.PartitionScheme.rainmaker.build.partitions=rainmaker +BharatPi-A7672S-4G.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +BharatPi-A7672S-4G.menu.PartitionScheme.custom=Custom +BharatPi-A7672S-4G.menu.PartitionScheme.custom.build.partitions= +BharatPi-A7672S-4G.menu.PartitionScheme.custom.upload.maximum_size=16777216 + +BharatPi-A7672S-4G.menu.CPUFreq.240=240MHz (WiFi/BT) +BharatPi-A7672S-4G.menu.CPUFreq.240.build.f_cpu=240000000L +BharatPi-A7672S-4G.menu.CPUFreq.160=160MHz (WiFi/BT) +BharatPi-A7672S-4G.menu.CPUFreq.160.build.f_cpu=160000000L +BharatPi-A7672S-4G.menu.CPUFreq.80=80MHz (WiFi/BT) +BharatPi-A7672S-4G.menu.CPUFreq.80.build.f_cpu=80000000L +BharatPi-A7672S-4G.menu.CPUFreq.40=40MHz (40MHz XTAL) +BharatPi-A7672S-4G.menu.CPUFreq.40.build.f_cpu=40000000L +BharatPi-A7672S-4G.menu.CPUFreq.26=26MHz (26MHz XTAL) +BharatPi-A7672S-4G.menu.CPUFreq.26.build.f_cpu=26000000L +BharatPi-A7672S-4G.menu.CPUFreq.20=20MHz (40MHz XTAL) +BharatPi-A7672S-4G.menu.CPUFreq.20.build.f_cpu=20000000L +BharatPi-A7672S-4G.menu.CPUFreq.13=13MHz (26MHz XTAL) +BharatPi-A7672S-4G.menu.CPUFreq.13.build.f_cpu=13000000L +BharatPi-A7672S-4G.menu.CPUFreq.10=10MHz (40MHz XTAL) +BharatPi-A7672S-4G.menu.CPUFreq.10.build.f_cpu=10000000L + +BharatPi-A7672S-4G.menu.FlashMode.qio=QIO +BharatPi-A7672S-4G.menu.FlashMode.qio.build.flash_mode=dio +BharatPi-A7672S-4G.menu.FlashMode.qio.build.boot=qio +BharatPi-A7672S-4G.menu.FlashMode.dio=DIO +BharatPi-A7672S-4G.menu.FlashMode.dio.build.flash_mode=dio +BharatPi-A7672S-4G.menu.FlashMode.dio.build.boot=dio + +BharatPi-A7672S-4G.menu.FlashFreq.80=80MHz +BharatPi-A7672S-4G.menu.FlashFreq.80.build.flash_freq=80m +BharatPi-A7672S-4G.menu.FlashFreq.40=40MHz +BharatPi-A7672S-4G.menu.FlashFreq.40.build.flash_freq=40m + +BharatPi-A7672S-4G.menu.FlashSize.4M=4MB (32Mb) +BharatPi-A7672S-4G.menu.FlashSize.4M.build.flash_size=4MB +BharatPi-A7672S-4G.menu.FlashSize.8M=8MB (64Mb) +BharatPi-A7672S-4G.menu.FlashSize.8M.build.flash_size=8MB +BharatPi-A7672S-4G.menu.FlashSize.8M.build.partitions=default_8MB +BharatPi-A7672S-4G.menu.FlashSize.16M=16MB (128Mb) +BharatPi-A7672S-4G.menu.FlashSize.16M.build.flash_size=16MB + +BharatPi-A7672S-4G.menu.UploadSpeed.921600=921600 +BharatPi-A7672S-4G.menu.UploadSpeed.921600.upload.speed=921600 +BharatPi-A7672S-4G.menu.UploadSpeed.115200=115200 +BharatPi-A7672S-4G.menu.UploadSpeed.115200.upload.speed=115200 +BharatPi-A7672S-4G.menu.UploadSpeed.256000.windows=256000 +BharatPi-A7672S-4G.menu.UploadSpeed.256000.upload.speed=256000 +BharatPi-A7672S-4G.menu.UploadSpeed.230400.windows.upload.speed=256000 +BharatPi-A7672S-4G.menu.UploadSpeed.230400=230400 +BharatPi-A7672S-4G.menu.UploadSpeed.230400.upload.speed=230400 +BharatPi-A7672S-4G.menu.UploadSpeed.460800.linux=460800 +BharatPi-A7672S-4G.menu.UploadSpeed.460800.macosx=460800 +BharatPi-A7672S-4G.menu.UploadSpeed.460800.upload.speed=460800 +BharatPi-A7672S-4G.menu.UploadSpeed.512000.windows=512000 +BharatPi-A7672S-4G.menu.UploadSpeed.512000.upload.speed=512000 + +BharatPi-A7672S-4G.menu.LoopCore.1=Core 1 +BharatPi-A7672S-4G.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1 +BharatPi-A7672S-4G.menu.LoopCore.0=Core 0 +BharatPi-A7672S-4G.menu.LoopCore.0.build.loop_core=-DARDUINO_RUNNING_CORE=0 + +BharatPi-A7672S-4G.menu.EventsCore.1=Core 1 +BharatPi-A7672S-4G.menu.EventsCore.1.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=1 +BharatPi-A7672S-4G.menu.EventsCore.0=Core 0 +BharatPi-A7672S-4G.menu.EventsCore.0.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=0 + +BharatPi-A7672S-4G.menu.DebugLevel.none=None +BharatPi-A7672S-4G.menu.DebugLevel.none.build.code_debug=0 +BharatPi-A7672S-4G.menu.DebugLevel.error=Error +BharatPi-A7672S-4G.menu.DebugLevel.error.build.code_debug=1 +BharatPi-A7672S-4G.menu.DebugLevel.warn=Warn +BharatPi-A7672S-4G.menu.DebugLevel.warn.build.code_debug=2 +BharatPi-A7672S-4G.menu.DebugLevel.info=Info +BharatPi-A7672S-4G.menu.DebugLevel.info.build.code_debug=3 +BharatPi-A7672S-4G.menu.DebugLevel.debug=Debug +BharatPi-A7672S-4G.menu.DebugLevel.debug.build.code_debug=4 +BharatPi-A7672S-4G.menu.DebugLevel.verbose=Verbose +BharatPi-A7672S-4G.menu.DebugLevel.verbose.build.code_debug=5 + +BharatPi-A7672S-4G.menu.EraseFlash.none=Disabled +BharatPi-A7672S-4G.menu.EraseFlash.none.upload.erase_cmd= +BharatPi-A7672S-4G.menu.EraseFlash.all=Enabled +BharatPi-A7672S-4G.menu.EraseFlash.all.upload.erase_cmd=-e + +############################################################## + + +BharatPi-LoRa.name=BharatPi LoRa Module + +BharatPi-LoRa.bootloader.tool=esptool_py +BharatPi-LoRa.bootloader.tool.default=esptool_py + +BharatPi-LoRa.upload.tool=esptool_py +BharatPi-LoRa.upload.tool.default=esptool_py +BharatPi-LoRa.upload.tool.network=esp_ota + +BharatPi-LoRa.upload.maximum_size=1310720 +BharatPi-LoRa.upload.maximum_data_size=327680 +BharatPi-LoRa.upload.flags= +BharatPi-LoRa.upload.extra_flags= + +BharatPi-LoRa.serial.disableDTR=true +BharatPi-LoRa.serial.disableRTS=true + +BharatPi-LoRa.build.tarch=xtensa +BharatPi-LoRa.build.bootloader_addr=0x1000 +BharatPi-LoRa.build.target=esp32 +BharatPi-LoRa.build.mcu=esp32 +BharatPi-LoRa.build.core=esp32 +BharatPi-LoRa.build.variant=BharatPi-LoRa +BharatPi-LoRa.build.board=BHARATPI_LORA + +BharatPi-LoRa.build.f_cpu=240000000L +BharatPi-LoRa.build.flash_size=4MB +BharatPi-LoRa.build.flash_freq=40m +BharatPi-LoRa.build.flash_mode=dio +BharatPi-LoRa.build.boot=dio +BharatPi-LoRa.build.partitions=default +BharatPi-LoRa.build.defines= +BharatPi-LoRa.build.loop_core= +BharatPi-LoRa.build.event_core= + +BharatPi-LoRa.menu.PartitionScheme.default=Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS) +BharatPi-LoRa.menu.PartitionScheme.default.build.partitions=default +BharatPi-LoRa.menu.PartitionScheme.defaultffat=Default 4MB with ffat (1.2MB APP/1.5MB FATFS) +BharatPi-LoRa.menu.PartitionScheme.defaultffat.build.partitions=default_ffat +BharatPi-LoRa.menu.PartitionScheme.default_8MB=8M with spiffs (3MB APP/1.5MB SPIFFS) +BharatPi-LoRa.menu.PartitionScheme.default_8MB.build.partitions=default_8MB +BharatPi-LoRa.menu.PartitionScheme.default_8MB.upload.maximum_size=3342336 +BharatPi-LoRa.menu.PartitionScheme.minimal=Minimal (1.3MB APP/700KB SPIFFS) +BharatPi-LoRa.menu.PartitionScheme.minimal.build.partitions=minimal +BharatPi-LoRa.menu.PartitionScheme.no_ota=No OTA (2MB APP/2MB SPIFFS) +BharatPi-LoRa.menu.PartitionScheme.no_ota.build.partitions=no_ota +BharatPi-LoRa.menu.PartitionScheme.no_ota.upload.maximum_size=2097152 +BharatPi-LoRa.menu.PartitionScheme.noota_3g=No OTA (1MB APP/3MB SPIFFS) +BharatPi-LoRa.menu.PartitionScheme.noota_3g.build.partitions=noota_3g +BharatPi-LoRa.menu.PartitionScheme.noota_3g.upload.maximum_size=1048576 +BharatPi-LoRa.menu.PartitionScheme.noota_ffat=No OTA (2MB APP/2MB FATFS) +BharatPi-LoRa.menu.PartitionScheme.noota_ffat.build.partitions=noota_ffat +BharatPi-LoRa.menu.PartitionScheme.noota_ffat.upload.maximum_size=2097152 +BharatPi-LoRa.menu.PartitionScheme.noota_3gffat=No OTA (1MB APP/3MB FATFS) +BharatPi-LoRa.menu.PartitionScheme.noota_3gffat.build.partitions=noota_3gffat +BharatPi-LoRa.menu.PartitionScheme.noota_3gffat.upload.maximum_size=1048576 +BharatPi-LoRa.menu.PartitionScheme.huge_app=Huge APP (3MB No OTA/1MB SPIFFS) +BharatPi-LoRa.menu.PartitionScheme.huge_app.build.partitions=huge_app +BharatPi-LoRa.menu.PartitionScheme.huge_app.upload.maximum_size=3145728 +BharatPi-LoRa.menu.PartitionScheme.min_spiffs=Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS) +BharatPi-LoRa.menu.PartitionScheme.min_spiffs.build.partitions=min_spiffs +BharatPi-LoRa.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080 +BharatPi-LoRa.menu.PartitionScheme.fatflash=16M Flash (2MB APP/12.5MB FATFS) +BharatPi-LoRa.menu.PartitionScheme.fatflash.build.partitions=ffat +BharatPi-LoRa.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 +BharatPi-LoRa.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) +BharatPi-LoRa.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB +BharatPi-LoRa.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 +BharatPi-LoRa.menu.PartitionScheme.rainmaker=RainMaker +BharatPi-LoRa.menu.PartitionScheme.rainmaker.build.partitions=rainmaker +BharatPi-LoRa.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728 +BharatPi-LoRa.menu.PartitionScheme.custom=Custom +BharatPi-LoRa.menu.PartitionScheme.custom.build.partitions= +BharatPi-LoRa.menu.PartitionScheme.custom.upload.maximum_size=16777216 + +BharatPi-LoRa.menu.CPUFreq.240=240MHz (WiFi/BT) +BharatPi-LoRa.menu.CPUFreq.240.build.f_cpu=240000000L +BharatPi-LoRa.menu.CPUFreq.160=160MHz (WiFi/BT) +BharatPi-LoRa.menu.CPUFreq.160.build.f_cpu=160000000L +BharatPi-LoRa.menu.CPUFreq.80=80MHz (WiFi/BT) +BharatPi-LoRa.menu.CPUFreq.80.build.f_cpu=80000000L +BharatPi-LoRa.menu.CPUFreq.40=40MHz (40MHz XTAL) +BharatPi-LoRa.menu.CPUFreq.40.build.f_cpu=40000000L +BharatPi-LoRa.menu.CPUFreq.26=26MHz (26MHz XTAL) +BharatPi-LoRa.menu.CPUFreq.26.build.f_cpu=26000000L +BharatPi-LoRa.menu.CPUFreq.20=20MHz (40MHz XTAL) +BharatPi-LoRa.menu.CPUFreq.20.build.f_cpu=20000000L +BharatPi-LoRa.menu.CPUFreq.13=13MHz (26MHz XTAL) +BharatPi-LoRa.menu.CPUFreq.13.build.f_cpu=13000000L +BharatPi-LoRa.menu.CPUFreq.10=10MHz (40MHz XTAL) +BharatPi-LoRa.menu.CPUFreq.10.build.f_cpu=10000000L + +BharatPi-LoRa.menu.FlashMode.qio=QIO +BharatPi-LoRa.menu.FlashMode.qio.build.flash_mode=dio +BharatPi-LoRa.menu.FlashMode.qio.build.boot=qio +BharatPi-LoRa.menu.FlashMode.dio=DIO +BharatPi-LoRa.menu.FlashMode.dio.build.flash_mode=dio +BharatPi-LoRa.menu.FlashMode.dio.build.boot=dio + +BharatPi-LoRa.menu.FlashFreq.80=80MHz +BharatPi-LoRa.menu.FlashFreq.80.build.flash_freq=80m +BharatPi-LoRa.menu.FlashFreq.40=40MHz +BharatPi-LoRa.menu.FlashFreq.40.build.flash_freq=40m + +BharatPi-LoRa.menu.FlashSize.4M=4MB (32Mb) +BharatPi-LoRa.menu.FlashSize.4M.build.flash_size=4MB +BharatPi-LoRa.menu.FlashSize.8M=8MB (64Mb) +BharatPi-LoRa.menu.FlashSize.8M.build.flash_size=8MB +BharatPi-LoRa.menu.FlashSize.8M.build.partitions=default_8MB +BharatPi-LoRa.menu.FlashSize.16M=16MB (128Mb) +BharatPi-LoRa.menu.FlashSize.16M.build.flash_size=16MB + +BharatPi-LoRa.menu.UploadSpeed.921600=921600 +BharatPi-LoRa.menu.UploadSpeed.921600.upload.speed=921600 +BharatPi-LoRa.menu.UploadSpeed.115200=115200 +BharatPi-LoRa.menu.UploadSpeed.115200.upload.speed=115200 +BharatPi-LoRa.menu.UploadSpeed.256000.windows=256000 +BharatPi-LoRa.menu.UploadSpeed.256000.upload.speed=256000 +BharatPi-LoRa.menu.UploadSpeed.230400.windows.upload.speed=256000 +BharatPi-LoRa.menu.UploadSpeed.230400=230400 +BharatPi-LoRa.menu.UploadSpeed.230400.upload.speed=230400 +BharatPi-LoRa.menu.UploadSpeed.460800.linux=460800 +BharatPi-LoRa.menu.UploadSpeed.460800.macosx=460800 +BharatPi-LoRa.menu.UploadSpeed.460800.upload.speed=460800 +BharatPi-LoRa.menu.UploadSpeed.512000.windows=512000 +BharatPi-LoRa.menu.UploadSpeed.512000.upload.speed=512000 + +BharatPi-LoRa.menu.LoopCore.1=Core 1 +BharatPi-LoRa.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1 +BharatPi-LoRa.menu.LoopCore.0=Core 0 +BharatPi-LoRa.menu.LoopCore.0.build.loop_core=-DARDUINO_RUNNING_CORE=0 + +BharatPi-LoRa.menu.EventsCore.1=Core 1 +BharatPi-LoRa.menu.EventsCore.1.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=1 +BharatPi-LoRa.menu.EventsCore.0=Core 0 +BharatPi-LoRa.menu.EventsCore.0.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=0 + +BharatPi-LoRa.menu.DebugLevel.none=None +BharatPi-LoRa.menu.DebugLevel.none.build.code_debug=0 +BharatPi-LoRa.menu.DebugLevel.error=Error +BharatPi-LoRa.menu.DebugLevel.error.build.code_debug=1 +BharatPi-LoRa.menu.DebugLevel.warn=Warn +BharatPi-LoRa.menu.DebugLevel.warn.build.code_debug=2 +BharatPi-LoRa.menu.DebugLevel.info=Info +BharatPi-LoRa.menu.DebugLevel.info.build.code_debug=3 +BharatPi-LoRa.menu.DebugLevel.debug=Debug +BharatPi-LoRa.menu.DebugLevel.debug.build.code_debug=4 +BharatPi-LoRa.menu.DebugLevel.verbose=Verbose +BharatPi-LoRa.menu.DebugLevel.verbose.build.code_debug=5 + +BharatPi-LoRa.menu.EraseFlash.none=Disabled +BharatPi-LoRa.menu.EraseFlash.none.upload.erase_cmd= +BharatPi-LoRa.menu.EraseFlash.all=Enabled +BharatPi-LoRa.menu.EraseFlash.all.upload.erase_cmd=-e + +############################################################## + um_bling.name=UM BLING um_bling.vid.0=0x303a um_bling.pid.0=0x817F diff --git a/variants/BharatPi-A7672S-4G/pins_arduino.h b/variants/BharatPi-A7672S-4G/pins_arduino.h new file mode 100644 index 00000000000..bf1fab09ddc --- /dev/null +++ b/variants/BharatPi-A7672S-4G/pins_arduino.h @@ -0,0 +1,31 @@ +#ifndef Pins_Arduino_h +#define Pins_Arduino_h + +#include + +static const uint8_t LED_BUILTIN = 2; +#define BUILTIN_LED LED_BUILTIN // backward compatibility +#define LED_BUILTIN LED_BUILTIN // allow testing #ifdef LED_BUILTIN + +static const uint8_t A0 = 14; +static const uint8_t A1 = 13; +static const uint8_t A2 = 12; +static const uint8_t A3 = 4; +static const uint8_t A4 = 2; +static const uint8_t A5 = 0; + +static const uint8_t TX = 1; +static const uint8_t RX = 3; + +static const uint8_t TX_4G = 17; +static const uint8_t RX_4G = 16; + +static const uint8_t SDA = 21; +static const uint8_t SCL = 22; + +static const uint8_t SS = 5; +static const uint8_t MOSI = 23; +static const uint8_t MISO = 19; +static const uint8_t SCK = 18; + +#endif /* Pins_Arduino_h */ diff --git a/variants/BharatPi-LoRa/pins_arduino.h b/variants/BharatPi-LoRa/pins_arduino.h new file mode 100644 index 00000000000..a42e5834a3a --- /dev/null +++ b/variants/BharatPi-LoRa/pins_arduino.h @@ -0,0 +1,35 @@ +#ifndef Pins_Arduino_h +#define Pins_Arduino_h + +#include + +static const uint8_t LED_BUILTIN = 2; +#define BUILTIN_LED LED_BUILTIN // backward compatibility +#define LED_BUILTIN LED_BUILTIN // allow testing #ifdef LED_BUILTIN + +static const uint8_t A0 = 14; +static const uint8_t A1 = 13; +static const uint8_t A2 = 12; +static const uint8_t A3 = 4; +static const uint8_t A4 = 2; +static const uint8_t A5 = 0; + +static const uint8_t TX = 1; +static const uint8_t RX = 3; + +static const uint8_t TX2 = 17; +static const uint8_t RX2 = 16; + +static const uint8_t LORA_SS = 4; +static const uint8_t RST = 14; +static const uint8_t DIO0 = 2; + +static const uint8_t SDA = 21; +static const uint8_t SCL = 22; + +static const uint8_t SS = 5; +static const uint8_t MOSI = 23; +static const uint8_t MISO = 19; +static const uint8_t SCK = 18; + +#endif /* Pins_Arduino_h */ diff --git a/variants/BharatPi-Node-Wifi/pins_arduino.h b/variants/BharatPi-Node-Wifi/pins_arduino.h new file mode 100644 index 00000000000..3b151289f44 --- /dev/null +++ b/variants/BharatPi-Node-Wifi/pins_arduino.h @@ -0,0 +1,35 @@ +#ifndef Pins_Arduino_h +#define Pins_Arduino_h + +#include + +static const uint8_t LED_BUILTIN = 2; +#define BUILTIN_LED LED_BUILTIN // backward compatibility +#define LED_BUILTIN LED_BUILTIN // allow testing #ifdef LED_BUILTIN + +static const uint8_t SAFFRON_LED = 12; +static const uint8_t WHITE_LED = 2; +static const uint8_t GREEN_LED = 13; + +static const uint8_t A0 = 14; +static const uint8_t A1 = 13; +static const uint8_t A2 = 12; +static const uint8_t A3 = 4; +static const uint8_t A4 = 2; +static const uint8_t A5 = 0; + +static const uint8_t TX = 1; +static const uint8_t RX = 3; + +static const uint8_t TX2 = 17; +static const uint8_t RX2 = 16; + +static const uint8_t SDA = 21; +static const uint8_t SCL = 22; + +static const uint8_t SS = 5; +static const uint8_t MOSI = 23; +static const uint8_t MISO = 19; +static const uint8_t SCK = 18; + +#endif /* Pins_Arduino_h */ From 4d1c9bcfa33533946622a9359391150478f38290 Mon Sep 17 00:00:00 2001 From: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com> Date: Mon, 7 Oct 2024 09:54:04 -0300 Subject: [PATCH 083/146] Fix partitions for examples --- libraries/BLE/examples/BLE5_extended_scan/ci.json | 1 + libraries/BLE/examples/BLE5_multi_advertising/ci.json | 1 + libraries/BLE/examples/BLE5_periodic_advertising/ci.json | 1 + libraries/BLE/examples/BLE5_periodic_sync/ci.json | 1 + libraries/BLE/examples/Beacon_Scanner/ci.json | 1 + libraries/BLE/examples/Client/ci.json | 1 + libraries/BLE/examples/EddystoneTLM_Beacon/ci.json | 1 + libraries/BLE/examples/EddystoneURL_Beacon/ci.json | 1 + libraries/BLE/examples/Notify/ci.json | 1 + libraries/BLE/examples/Scan/ci.json | 1 + libraries/BLE/examples/Server/ci.json | 1 + libraries/BLE/examples/Server_multiconnect/ci.json | 1 + libraries/BLE/examples/UART/ci.json | 1 + libraries/BLE/examples/Write/ci.json | 1 + libraries/BLE/examples/iBeacon/ci.json | 1 + libraries/BluetoothSerial/examples/DiscoverConnect/ci.json | 1 + libraries/BluetoothSerial/examples/GetLocalMAC/ci.json | 1 + libraries/BluetoothSerial/examples/SerialToSerialBT/ci.json | 1 + libraries/BluetoothSerial/examples/SerialToSerialBTM/ci.json | 1 + .../BluetoothSerial/examples/SerialToSerialBT_Legacy/ci.json | 1 + libraries/BluetoothSerial/examples/SerialToSerialBT_SSP/ci.json | 1 + .../BluetoothSerial/examples/bt_classic_device_discovery/ci.json | 1 + .../BluetoothSerial/examples/bt_remove_paired_devices/ci.json | 1 + libraries/HTTPClient/examples/HTTPClientEnterprise/ci.json | 1 + libraries/HTTPUpdate/examples/httpUpdateSecure/ci.json | 1 + libraries/NetworkClientSecure/examples/WiFiClientSecure/ci.json | 1 + .../examples/WiFiClientSecureEnterprise/ci.json | 1 + 27 files changed, 27 insertions(+) diff --git a/libraries/BLE/examples/BLE5_extended_scan/ci.json b/libraries/BLE/examples/BLE5_extended_scan/ci.json index 9f7646a74a6..184cc25a2b0 100644 --- a/libraries/BLE/examples/BLE5_extended_scan/ci.json +++ b/libraries/BLE/examples/BLE5_extended_scan/ci.json @@ -1,4 +1,5 @@ { + "fqbn_append": "PartitionScheme=huge_app", "requires": [ "CONFIG_SOC_BLE_50_SUPPORTED=y" ] diff --git a/libraries/BLE/examples/BLE5_multi_advertising/ci.json b/libraries/BLE/examples/BLE5_multi_advertising/ci.json index 9f7646a74a6..184cc25a2b0 100644 --- a/libraries/BLE/examples/BLE5_multi_advertising/ci.json +++ b/libraries/BLE/examples/BLE5_multi_advertising/ci.json @@ -1,4 +1,5 @@ { + "fqbn_append": "PartitionScheme=huge_app", "requires": [ "CONFIG_SOC_BLE_50_SUPPORTED=y" ] diff --git a/libraries/BLE/examples/BLE5_periodic_advertising/ci.json b/libraries/BLE/examples/BLE5_periodic_advertising/ci.json index 9f7646a74a6..184cc25a2b0 100644 --- a/libraries/BLE/examples/BLE5_periodic_advertising/ci.json +++ b/libraries/BLE/examples/BLE5_periodic_advertising/ci.json @@ -1,4 +1,5 @@ { + "fqbn_append": "PartitionScheme=huge_app", "requires": [ "CONFIG_SOC_BLE_50_SUPPORTED=y" ] diff --git a/libraries/BLE/examples/BLE5_periodic_sync/ci.json b/libraries/BLE/examples/BLE5_periodic_sync/ci.json index 9f7646a74a6..184cc25a2b0 100644 --- a/libraries/BLE/examples/BLE5_periodic_sync/ci.json +++ b/libraries/BLE/examples/BLE5_periodic_sync/ci.json @@ -1,4 +1,5 @@ { + "fqbn_append": "PartitionScheme=huge_app", "requires": [ "CONFIG_SOC_BLE_50_SUPPORTED=y" ] diff --git a/libraries/BLE/examples/Beacon_Scanner/ci.json b/libraries/BLE/examples/Beacon_Scanner/ci.json index c23553ec084..abe13a7ebbb 100644 --- a/libraries/BLE/examples/Beacon_Scanner/ci.json +++ b/libraries/BLE/examples/Beacon_Scanner/ci.json @@ -1,4 +1,5 @@ { + "fqbn_append": "PartitionScheme=huge_app", "requires": [ "CONFIG_SOC_BLE_SUPPORTED=y" ] diff --git a/libraries/BLE/examples/Client/ci.json b/libraries/BLE/examples/Client/ci.json index c23553ec084..abe13a7ebbb 100644 --- a/libraries/BLE/examples/Client/ci.json +++ b/libraries/BLE/examples/Client/ci.json @@ -1,4 +1,5 @@ { + "fqbn_append": "PartitionScheme=huge_app", "requires": [ "CONFIG_SOC_BLE_SUPPORTED=y" ] diff --git a/libraries/BLE/examples/EddystoneTLM_Beacon/ci.json b/libraries/BLE/examples/EddystoneTLM_Beacon/ci.json index c23553ec084..abe13a7ebbb 100644 --- a/libraries/BLE/examples/EddystoneTLM_Beacon/ci.json +++ b/libraries/BLE/examples/EddystoneTLM_Beacon/ci.json @@ -1,4 +1,5 @@ { + "fqbn_append": "PartitionScheme=huge_app", "requires": [ "CONFIG_SOC_BLE_SUPPORTED=y" ] diff --git a/libraries/BLE/examples/EddystoneURL_Beacon/ci.json b/libraries/BLE/examples/EddystoneURL_Beacon/ci.json index c23553ec084..abe13a7ebbb 100644 --- a/libraries/BLE/examples/EddystoneURL_Beacon/ci.json +++ b/libraries/BLE/examples/EddystoneURL_Beacon/ci.json @@ -1,4 +1,5 @@ { + "fqbn_append": "PartitionScheme=huge_app", "requires": [ "CONFIG_SOC_BLE_SUPPORTED=y" ] diff --git a/libraries/BLE/examples/Notify/ci.json b/libraries/BLE/examples/Notify/ci.json index c23553ec084..abe13a7ebbb 100644 --- a/libraries/BLE/examples/Notify/ci.json +++ b/libraries/BLE/examples/Notify/ci.json @@ -1,4 +1,5 @@ { + "fqbn_append": "PartitionScheme=huge_app", "requires": [ "CONFIG_SOC_BLE_SUPPORTED=y" ] diff --git a/libraries/BLE/examples/Scan/ci.json b/libraries/BLE/examples/Scan/ci.json index c23553ec084..abe13a7ebbb 100644 --- a/libraries/BLE/examples/Scan/ci.json +++ b/libraries/BLE/examples/Scan/ci.json @@ -1,4 +1,5 @@ { + "fqbn_append": "PartitionScheme=huge_app", "requires": [ "CONFIG_SOC_BLE_SUPPORTED=y" ] diff --git a/libraries/BLE/examples/Server/ci.json b/libraries/BLE/examples/Server/ci.json index c23553ec084..abe13a7ebbb 100644 --- a/libraries/BLE/examples/Server/ci.json +++ b/libraries/BLE/examples/Server/ci.json @@ -1,4 +1,5 @@ { + "fqbn_append": "PartitionScheme=huge_app", "requires": [ "CONFIG_SOC_BLE_SUPPORTED=y" ] diff --git a/libraries/BLE/examples/Server_multiconnect/ci.json b/libraries/BLE/examples/Server_multiconnect/ci.json index c23553ec084..abe13a7ebbb 100644 --- a/libraries/BLE/examples/Server_multiconnect/ci.json +++ b/libraries/BLE/examples/Server_multiconnect/ci.json @@ -1,4 +1,5 @@ { + "fqbn_append": "PartitionScheme=huge_app", "requires": [ "CONFIG_SOC_BLE_SUPPORTED=y" ] diff --git a/libraries/BLE/examples/UART/ci.json b/libraries/BLE/examples/UART/ci.json index c23553ec084..abe13a7ebbb 100644 --- a/libraries/BLE/examples/UART/ci.json +++ b/libraries/BLE/examples/UART/ci.json @@ -1,4 +1,5 @@ { + "fqbn_append": "PartitionScheme=huge_app", "requires": [ "CONFIG_SOC_BLE_SUPPORTED=y" ] diff --git a/libraries/BLE/examples/Write/ci.json b/libraries/BLE/examples/Write/ci.json index c23553ec084..abe13a7ebbb 100644 --- a/libraries/BLE/examples/Write/ci.json +++ b/libraries/BLE/examples/Write/ci.json @@ -1,4 +1,5 @@ { + "fqbn_append": "PartitionScheme=huge_app", "requires": [ "CONFIG_SOC_BLE_SUPPORTED=y" ] diff --git a/libraries/BLE/examples/iBeacon/ci.json b/libraries/BLE/examples/iBeacon/ci.json index c23553ec084..abe13a7ebbb 100644 --- a/libraries/BLE/examples/iBeacon/ci.json +++ b/libraries/BLE/examples/iBeacon/ci.json @@ -1,4 +1,5 @@ { + "fqbn_append": "PartitionScheme=huge_app", "requires": [ "CONFIG_SOC_BLE_SUPPORTED=y" ] diff --git a/libraries/BluetoothSerial/examples/DiscoverConnect/ci.json b/libraries/BluetoothSerial/examples/DiscoverConnect/ci.json index 98fda4381b1..b5097688f52 100644 --- a/libraries/BluetoothSerial/examples/DiscoverConnect/ci.json +++ b/libraries/BluetoothSerial/examples/DiscoverConnect/ci.json @@ -1,4 +1,5 @@ { + "fqbn_append": "PartitionScheme=huge_app", "requires": [ "CONFIG_BT_SPP_ENABLED=y" ] diff --git a/libraries/BluetoothSerial/examples/GetLocalMAC/ci.json b/libraries/BluetoothSerial/examples/GetLocalMAC/ci.json index 98fda4381b1..b5097688f52 100644 --- a/libraries/BluetoothSerial/examples/GetLocalMAC/ci.json +++ b/libraries/BluetoothSerial/examples/GetLocalMAC/ci.json @@ -1,4 +1,5 @@ { + "fqbn_append": "PartitionScheme=huge_app", "requires": [ "CONFIG_BT_SPP_ENABLED=y" ] diff --git a/libraries/BluetoothSerial/examples/SerialToSerialBT/ci.json b/libraries/BluetoothSerial/examples/SerialToSerialBT/ci.json index 98fda4381b1..b5097688f52 100644 --- a/libraries/BluetoothSerial/examples/SerialToSerialBT/ci.json +++ b/libraries/BluetoothSerial/examples/SerialToSerialBT/ci.json @@ -1,4 +1,5 @@ { + "fqbn_append": "PartitionScheme=huge_app", "requires": [ "CONFIG_BT_SPP_ENABLED=y" ] diff --git a/libraries/BluetoothSerial/examples/SerialToSerialBTM/ci.json b/libraries/BluetoothSerial/examples/SerialToSerialBTM/ci.json index 98fda4381b1..b5097688f52 100644 --- a/libraries/BluetoothSerial/examples/SerialToSerialBTM/ci.json +++ b/libraries/BluetoothSerial/examples/SerialToSerialBTM/ci.json @@ -1,4 +1,5 @@ { + "fqbn_append": "PartitionScheme=huge_app", "requires": [ "CONFIG_BT_SPP_ENABLED=y" ] diff --git a/libraries/BluetoothSerial/examples/SerialToSerialBT_Legacy/ci.json b/libraries/BluetoothSerial/examples/SerialToSerialBT_Legacy/ci.json index 98fda4381b1..b5097688f52 100644 --- a/libraries/BluetoothSerial/examples/SerialToSerialBT_Legacy/ci.json +++ b/libraries/BluetoothSerial/examples/SerialToSerialBT_Legacy/ci.json @@ -1,4 +1,5 @@ { + "fqbn_append": "PartitionScheme=huge_app", "requires": [ "CONFIG_BT_SPP_ENABLED=y" ] diff --git a/libraries/BluetoothSerial/examples/SerialToSerialBT_SSP/ci.json b/libraries/BluetoothSerial/examples/SerialToSerialBT_SSP/ci.json index 98fda4381b1..b5097688f52 100644 --- a/libraries/BluetoothSerial/examples/SerialToSerialBT_SSP/ci.json +++ b/libraries/BluetoothSerial/examples/SerialToSerialBT_SSP/ci.json @@ -1,4 +1,5 @@ { + "fqbn_append": "PartitionScheme=huge_app", "requires": [ "CONFIG_BT_SPP_ENABLED=y" ] diff --git a/libraries/BluetoothSerial/examples/bt_classic_device_discovery/ci.json b/libraries/BluetoothSerial/examples/bt_classic_device_discovery/ci.json index 98fda4381b1..b5097688f52 100644 --- a/libraries/BluetoothSerial/examples/bt_classic_device_discovery/ci.json +++ b/libraries/BluetoothSerial/examples/bt_classic_device_discovery/ci.json @@ -1,4 +1,5 @@ { + "fqbn_append": "PartitionScheme=huge_app", "requires": [ "CONFIG_BT_SPP_ENABLED=y" ] diff --git a/libraries/BluetoothSerial/examples/bt_remove_paired_devices/ci.json b/libraries/BluetoothSerial/examples/bt_remove_paired_devices/ci.json index 98fda4381b1..b5097688f52 100644 --- a/libraries/BluetoothSerial/examples/bt_remove_paired_devices/ci.json +++ b/libraries/BluetoothSerial/examples/bt_remove_paired_devices/ci.json @@ -1,4 +1,5 @@ { + "fqbn_append": "PartitionScheme=huge_app", "requires": [ "CONFIG_BT_SPP_ENABLED=y" ] diff --git a/libraries/HTTPClient/examples/HTTPClientEnterprise/ci.json b/libraries/HTTPClient/examples/HTTPClientEnterprise/ci.json index 36babb82730..04eb62b977a 100644 --- a/libraries/HTTPClient/examples/HTTPClientEnterprise/ci.json +++ b/libraries/HTTPClient/examples/HTTPClientEnterprise/ci.json @@ -1,4 +1,5 @@ { + "fqbn_append": "PartitionScheme=huge_app", "requires": [ "CONFIG_SOC_WIFI_SUPPORTED=y" ] diff --git a/libraries/HTTPUpdate/examples/httpUpdateSecure/ci.json b/libraries/HTTPUpdate/examples/httpUpdateSecure/ci.json index 36babb82730..04eb62b977a 100644 --- a/libraries/HTTPUpdate/examples/httpUpdateSecure/ci.json +++ b/libraries/HTTPUpdate/examples/httpUpdateSecure/ci.json @@ -1,4 +1,5 @@ { + "fqbn_append": "PartitionScheme=huge_app", "requires": [ "CONFIG_SOC_WIFI_SUPPORTED=y" ] diff --git a/libraries/NetworkClientSecure/examples/WiFiClientSecure/ci.json b/libraries/NetworkClientSecure/examples/WiFiClientSecure/ci.json index 36babb82730..04eb62b977a 100644 --- a/libraries/NetworkClientSecure/examples/WiFiClientSecure/ci.json +++ b/libraries/NetworkClientSecure/examples/WiFiClientSecure/ci.json @@ -1,4 +1,5 @@ { + "fqbn_append": "PartitionScheme=huge_app", "requires": [ "CONFIG_SOC_WIFI_SUPPORTED=y" ] diff --git a/libraries/NetworkClientSecure/examples/WiFiClientSecureEnterprise/ci.json b/libraries/NetworkClientSecure/examples/WiFiClientSecureEnterprise/ci.json index 36babb82730..04eb62b977a 100644 --- a/libraries/NetworkClientSecure/examples/WiFiClientSecureEnterprise/ci.json +++ b/libraries/NetworkClientSecure/examples/WiFiClientSecureEnterprise/ci.json @@ -1,4 +1,5 @@ { + "fqbn_append": "PartitionScheme=huge_app", "requires": [ "CONFIG_SOC_WIFI_SUPPORTED=y" ] From 0d5d50eb4186cb5ef0b7c108f87fae1cb688b84f Mon Sep 17 00:00:00 2001 From: Rodrigo Garcia Date: Mon, 7 Oct 2024 09:56:04 -0300 Subject: [PATCH 084/146] feat(uart): eliminates nonexistent functions (#10428) loop() calls Serial Events functions when those are declared. The way it was declared was forcing to alway call avalable() to then call an empty function. This commit fixes it. --- cores/esp32/HardwareSerial.cpp | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/cores/esp32/HardwareSerial.cpp b/cores/esp32/HardwareSerial.cpp index 2e1f2701e9a..c82cbb43d3b 100644 --- a/cores/esp32/HardwareSerial.cpp +++ b/cores/esp32/HardwareSerial.cpp @@ -24,16 +24,13 @@ #endif void serialEvent(void) __attribute__((weak)); -void serialEvent(void) {} #if SOC_UART_NUM > 1 void serialEvent1(void) __attribute__((weak)); -void serialEvent1(void) {} #endif /* SOC_UART_NUM > 1 */ #if SOC_UART_NUM > 2 void serialEvent2(void) __attribute__((weak)); -void serialEvent2(void) {} #endif /* SOC_UART_NUM > 2 */ #if !defined(NO_GLOBAL_INSTANCES) && !defined(NO_GLOBAL_SERIAL) @@ -48,37 +45,35 @@ HardwareSerial Serial2(2); #if HWCDC_SERIAL_IS_DEFINED == 1 // Hardware JTAG CDC Event extern void HWCDCSerialEvent(void) __attribute__((weak)); -void HWCDCSerialEvent(void) {} #endif #if USB_SERIAL_IS_DEFINED == 1 // Native USB CDC Event // Used by Hardware Serial for USB CDC events extern void USBSerialEvent(void) __attribute__((weak)); -void USBSerialEvent(void) {} #endif void serialEventRun(void) { #if HWCDC_SERIAL_IS_DEFINED == 1 // Hardware JTAG CDC Event - if (HWCDCSerial.available()) { + if (HWCDCSerialEvent && HWCDCSerial.available()) { HWCDCSerialEvent(); } #endif #if USB_SERIAL_IS_DEFINED == 1 // Native USB CDC Event - if (USBSerial.available()) { + if (USBSerialEvent && USBSerial.available()) { USBSerialEvent(); } #endif // UART0 is default serialEvent() - if (Serial0.available()) { + if (serialEvent && Serial0.available()) { serialEvent(); } #if SOC_UART_NUM > 1 - if (Serial1.available()) { + if (serialEvent1 && Serial1.available()) { serialEvent1(); } #endif #if SOC_UART_NUM > 2 - if (Serial2.available()) { + if (serialEvent2 && Serial2.available()) { serialEvent2(); } #endif From 3445164e2d9042189f79f76568a548d4e7ff9a81 Mon Sep 17 00:00:00 2001 From: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com> Date: Mon, 7 Oct 2024 09:56:41 -0300 Subject: [PATCH 085/146] test(psram): Add PSRAM test (#10409) * test(psram): Add PSRAM test * fix(test): Hide pointer arithmetic warning * ci(pre-commit): Apply automatic fixes * fix(json): Remove FQBNs for the test --------- Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> --- tests/validation/psram/ci.json | 14 ++++ tests/validation/psram/psram.ino | 112 +++++++++++++++++++++++++++ tests/validation/psram/test_psram.py | 2 + 3 files changed, 128 insertions(+) create mode 100644 tests/validation/psram/ci.json create mode 100644 tests/validation/psram/psram.ino create mode 100644 tests/validation/psram/test_psram.py diff --git a/tests/validation/psram/ci.json b/tests/validation/psram/ci.json new file mode 100644 index 00000000000..fc34574cf37 --- /dev/null +++ b/tests/validation/psram/ci.json @@ -0,0 +1,14 @@ +{ + "platforms": { + "qemu": false, + "wokwi": false + }, + "requires": [ + "CONFIG_SPIRAM=y" + ], + "targets": { + "esp32c3": false, + "esp32c6": false, + "esp32h2": false + } +} diff --git a/tests/validation/psram/psram.ino b/tests/validation/psram/psram.ino new file mode 100644 index 00000000000..1304fe85cc1 --- /dev/null +++ b/tests/validation/psram/psram.ino @@ -0,0 +1,112 @@ +#include +#include + +#define MAX_TEST_SIZE 512 * 1024 // 512KB + +void *buf = NULL; + +void test_malloc_success(void) { + buf = ps_malloc(MAX_TEST_SIZE); + TEST_ASSERT_NOT_NULL(buf); + free(buf); + buf = NULL; +} + +void test_calloc_success(void) { + buf = ps_calloc(MAX_TEST_SIZE, 1); + TEST_ASSERT_NOT_NULL(buf); + free(buf); + buf = NULL; +} + +void test_realloc_success(void) { + buf = ps_malloc(MAX_TEST_SIZE); + TEST_ASSERT_NOT_NULL(buf); + buf = ps_realloc(buf, MAX_TEST_SIZE + 1024); + TEST_ASSERT_NOT_NULL(buf); + free(buf); + buf = NULL; +} + +void test_malloc_fail(void) { + buf = ps_malloc(0xFFFFFFFF); + TEST_ASSERT_NULL(buf); +} + +void test_memset_all_zeroes(void) { + memset(buf, 0, MAX_TEST_SIZE); + for (size_t i = 0; i < MAX_TEST_SIZE; i++) { + TEST_ASSERT_EQUAL(0, ((uint8_t *)buf)[i]); + } +} + +void test_memset_all_ones(void) { + memset(buf, 0xFF, MAX_TEST_SIZE); + for (size_t i = 0; i < MAX_TEST_SIZE; i++) { + TEST_ASSERT_EQUAL(0xFF, ((uint8_t *)buf)[i]); + } +} + +void test_memset_alternating(void) { + for (size_t i = 0; i < MAX_TEST_SIZE; i++) { + ((uint8_t *)buf)[i] = i % 2 == 0 ? 0x00 : 0xFF; + } + memset(buf, 0xAA, MAX_TEST_SIZE); + for (size_t i = 0; i < MAX_TEST_SIZE; i++) { + TEST_ASSERT_EQUAL(0xAA, ((uint8_t *)buf)[i]); + } +} + +void test_memset_random(void) { + for (size_t i = 0; i < MAX_TEST_SIZE; i++) { + ((uint8_t *)buf)[i] = random(0, 256); + } + memset(buf, 0x55, MAX_TEST_SIZE); + for (size_t i = 0; i < MAX_TEST_SIZE; i++) { + TEST_ASSERT_EQUAL(0x55, ((uint8_t *)buf)[i]); + } +} + +void test_memcpy(void) { + void *buf2 = malloc(1024); // 1KB + TEST_ASSERT_NOT_NULL(buf2); + memset(buf, 0x55, MAX_TEST_SIZE); + memset(buf2, 0xAA, 1024); + +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wpointer-arith" + + for (size_t i = 0; i < MAX_TEST_SIZE; i += 1024) { + memcpy(buf + i, buf2, 1024); + } + + for (size_t i = 0; i < MAX_TEST_SIZE; i += 1024) { + TEST_ASSERT_NULL(memcmp(buf + i, buf2, 1024)); + } + +#pragma GCC diagnostic pop + + free(buf2); +} + +void setup() { + Serial.begin(115200); + while (!Serial) { + delay(10); + } + + UNITY_BEGIN(); + RUN_TEST(test_malloc_success); + RUN_TEST(test_malloc_fail); + RUN_TEST(test_calloc_success); + RUN_TEST(test_realloc_success); + buf = ps_malloc(MAX_TEST_SIZE); + RUN_TEST(test_memset_all_zeroes); + RUN_TEST(test_memset_all_ones); + RUN_TEST(test_memset_alternating); + RUN_TEST(test_memset_random); + RUN_TEST(test_memcpy); + UNITY_END(); +} + +void loop() {} diff --git a/tests/validation/psram/test_psram.py b/tests/validation/psram/test_psram.py new file mode 100644 index 00000000000..7bd1d9d735d --- /dev/null +++ b/tests/validation/psram/test_psram.py @@ -0,0 +1,2 @@ +def test_psram(dut): + dut.expect_unity_test_output(timeout=120) From ba9a3a1dbd5247f662932d4d505b9b1da6ae369c Mon Sep 17 00:00:00 2001 From: Rodrigo Garcia Date: Mon, 7 Oct 2024 10:58:41 -0300 Subject: [PATCH 086/146] fix(arduino): adds ESP32-P4 to the package description (#10426) * fix(arduino): adds ESP32-P4 to the package description Updates the Package description to add the P4 in 3.1.0 * fix(arduino): update readme title to add the P4 Adds ESP32-P$ to the list of supported SoC in README.md for Core 3.1.0 --- README.md | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index d3dca34aafe..1ee43fa0537 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Arduino core for the ESP32, ESP32-S2, ESP32-S3, ESP32-C3, ESP32-C6 and ESP32-H2 +# Arduino core for the ESP32, ESP32-P4, ESP32-S2, ESP32-S3, ESP32-C3, ESP32-C6 and ESP32-H2 [![Build Status](https://github.com/espressif/arduino-esp32/actions/workflows/push.yml/badge.svg?branch=master&event=push)](https://github.com/espressif/arduino-esp32/actions/workflows/push.yml) [![External Libraries Test](https://github.com/espressif/arduino-esp32/actions/workflows/lib.yml/badge.svg?branch=master&event=schedule)](https://github.com/espressif/arduino-esp32/blob/gh-pages/LIBRARIES_TEST.md) [![Hardware Tests](https://github.com/espressif/arduino-esp32/blob/gh-pages/runtime-tests-results/badge.svg)](https://github.com/espressif/arduino-esp32/actions/workflows/tests_results.yml) diff --git a/package.json b/package.json index 2e53f41d4c8..e13a446bd98 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "framework-arduinoespressif32", "version": "3.1.0", - "description": "Arduino Wiring-based Framework for the Espressif ESP32, ESP32-S and ESP32-C series of SoCs", + "description": "Arduino Wiring-based Framework for the Espressif ESP32, ESP32-P4, ESP32-S and ESP32-C series of SoCs", "keywords": [ "framework", "arduino", From f083e2df8d9d58a59e86fd2c089ca60490f898b5 Mon Sep 17 00:00:00 2001 From: Hamza Hajeir <32960423+HamzaHajeir@users.noreply.github.com> Date: Mon, 7 Oct 2024 19:15:42 +0300 Subject: [PATCH 087/146] fix(asyncudp): Fixes and implements tcpip thread locking (#10415) * fix(asyncudp): Fixes and implements tcpip thread locking * fix(asyncudp): Adds missing unlock * ci(pre-commit): Apply automatic fixes --------- Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> --- libraries/AsyncUDP/src/AsyncUDP.cpp | 39 ++++++++++++++++------------- 1 file changed, 21 insertions(+), 18 deletions(-) diff --git a/libraries/AsyncUDP/src/AsyncUDP.cpp b/libraries/AsyncUDP/src/AsyncUDP.cpp index 4f799b4d4a4..5549276de44 100644 --- a/libraries/AsyncUDP/src/AsyncUDP.cpp +++ b/libraries/AsyncUDP/src/AsyncUDP.cpp @@ -15,6 +15,21 @@ extern "C" { #include "lwip/priv/tcpip_priv.h" +#ifdef CONFIG_LWIP_TCPIP_CORE_LOCKING +#define UDP_MUTEX_LOCK() \ + if (!sys_thread_tcpip(LWIP_CORE_LOCK_QUERY_HOLDER)) { \ + LOCK_TCPIP_CORE(); \ + } + +#define UDP_MUTEX_UNLOCK() \ + if (sys_thread_tcpip(LWIP_CORE_LOCK_QUERY_HOLDER)) { \ + UNLOCK_TCPIP_CORE(); \ + } +#else // CONFIG_LWIP_TCPIP_CORE_LOCKING +#define UDP_MUTEX_LOCK() +#define UDP_MUTEX_UNLOCK() +#endif // CONFIG_LWIP_TCPIP_CORE_LOCKING + static const char *netif_ifkeys[TCPIP_ADAPTER_IF_MAX] = {"WIFI_STA_DEF", "WIFI_AP_DEF", "ETH_DEF", "PPP_DEF"}; static esp_err_t tcpip_adapter_get_netif(tcpip_adapter_if_t tcpip_if, void **netif) { @@ -28,7 +43,9 @@ static esp_err_t tcpip_adapter_get_netif(tcpip_adapter_if_t tcpip_if, void **net if (netif_index < 0) { return ESP_FAIL; } + UDP_MUTEX_LOCK(); *netif = (void *)netif_get_by_index(netif_index); + UDP_MUTEX_UNLOCK(); } else { *netif = netif_default; } @@ -232,9 +249,6 @@ static bool _udp_task_stop(){ } */ -#define UDP_MUTEX_LOCK() //xSemaphoreTake(_lock, portMAX_DELAY) -#define UDP_MUTEX_UNLOCK() //xSemaphoreGive(_lock) - AsyncUDPMessage::AsyncUDPMessage(size_t size) { _index = 0; if (size > CONFIG_TCP_MSS) { @@ -473,12 +487,14 @@ bool AsyncUDP::_init() { if (_pcb) { return true; } + UDP_MUTEX_LOCK(); _pcb = udp_new(); if (!_pcb) { + UDP_MUTEX_UNLOCK(); return false; } - //_lock = xSemaphoreCreateMutex(); udp_recv(_pcb, &_udp_recv, (void *)this); + UDP_MUTEX_UNLOCK(); return true; } @@ -493,14 +509,12 @@ AsyncUDP::~AsyncUDP() { close(); UDP_MUTEX_LOCK(); udp_recv(_pcb, NULL, NULL); + UDP_MUTEX_UNLOCK(); _udp_remove(_pcb); _pcb = NULL; - UDP_MUTEX_UNLOCK(); - //vSemaphoreDelete(_lock); } void AsyncUDP::close() { - UDP_MUTEX_LOCK(); if (_pcb != NULL) { if (_connected) { _udp_disconnect(_pcb); @@ -508,7 +522,6 @@ void AsyncUDP::close() { _connected = false; //todo: unjoin multicast group } - UDP_MUTEX_UNLOCK(); } bool AsyncUDP::connect(const ip_addr_t *addr, uint16_t port) { @@ -520,14 +533,11 @@ bool AsyncUDP::connect(const ip_addr_t *addr, uint16_t port) { return false; } close(); - UDP_MUTEX_LOCK(); _lastErr = _udp_connect(_pcb, addr, port); if (_lastErr != ERR_OK) { - UDP_MUTEX_UNLOCK(); return false; } _connected = true; - UDP_MUTEX_UNLOCK(); return true; } @@ -544,13 +554,10 @@ bool AsyncUDP::listen(const ip_addr_t *addr, uint16_t port) { IP_SET_TYPE_VAL(_pcb->local_ip, addr->type); IP_SET_TYPE_VAL(_pcb->remote_ip, addr->type); } - UDP_MUTEX_LOCK(); if (_udp_bind(_pcb, addr, port) != ERR_OK) { - UDP_MUTEX_UNLOCK(); return false; } _connected = true; - UDP_MUTEX_UNLOCK(); return true; } @@ -624,12 +631,10 @@ bool AsyncUDP::listenMulticast(const ip_addr_t *addr, uint16_t port, uint8_t ttl return false; } - UDP_MUTEX_LOCK(); _pcb->mcast_ttl = ttl; _pcb->remote_port = port; ip_addr_copy(_pcb->remote_ip, *addr); //ip_addr_copy(_pcb->remote_ip, ip_addr_any_type); - UDP_MUTEX_UNLOCK(); return true; } @@ -651,7 +656,6 @@ size_t AsyncUDP::writeTo(const uint8_t *data, size_t len, const ip_addr_t *addr, if (pbt != NULL) { uint8_t *dst = reinterpret_cast(pbt->payload); memcpy(dst, data, len); - UDP_MUTEX_LOCK(); if (tcpip_if < TCPIP_ADAPTER_IF_MAX) { void *nif = NULL; tcpip_adapter_get_netif((tcpip_adapter_if_t)tcpip_if, &nif); @@ -663,7 +667,6 @@ size_t AsyncUDP::writeTo(const uint8_t *data, size_t len, const ip_addr_t *addr, } else { _lastErr = _udp_sendto(_pcb, pbt, addr, port); } - UDP_MUTEX_UNLOCK(); pbuf_free(pbt); if (_lastErr < ERR_OK) { return 0; From af4099202dba9acbb2653f3579e6441e65556bf4 Mon Sep 17 00:00:00 2001 From: Me No Dev Date: Thu, 10 Oct 2024 17:22:39 +0300 Subject: [PATCH 088/146] IDF release/v5.3 (#10444) * IDF release/v5.3 707d097b * fix(camera): Remove support for face detection and recognition --- .../Camera/CameraWebServer/app_httpd.cpp | 520 +----------------- package/package_esp32_index.template.json | 32 +- 2 files changed, 37 insertions(+), 515 deletions(-) diff --git a/libraries/ESP32/examples/Camera/CameraWebServer/app_httpd.cpp b/libraries/ESP32/examples/Camera/CameraWebServer/app_httpd.cpp index af3d38ad544..6b62ee9b6cf 100644 --- a/libraries/ESP32/examples/Camera/CameraWebServer/app_httpd.cpp +++ b/libraries/ESP32/examples/Camera/CameraWebServer/app_httpd.cpp @@ -24,55 +24,6 @@ #include "esp32-hal-log.h" #endif -// Face Detection will not work on boards without (or with disabled) PSRAM -#ifdef BOARD_HAS_PSRAM -// Face Recognition takes upward from 15 seconds per frame on chips other than ESP32S3 -// Makes no sense to have it enabled for them -#if CONFIG_IDF_TARGET_ESP32S3 -#define CONFIG_ESP_FACE_RECOGNITION_ENABLED 1 -#define CONFIG_ESP_FACE_DETECT_ENABLED 1 -#else -#define CONFIG_ESP_FACE_RECOGNITION_ENABLED 0 -#define CONFIG_ESP_FACE_DETECT_ENABLED 0 -#endif -#else -#define CONFIG_ESP_FACE_DETECT_ENABLED 0 -#define CONFIG_ESP_FACE_RECOGNITION_ENABLED 0 -#endif - -#if CONFIG_ESP_FACE_DETECT_ENABLED - -#include -#include "human_face_detect_msr01.hpp" -#include "human_face_detect_mnp01.hpp" - -#define TWO_STAGE 1 /* very large firmware, very slow, reboots when streaming... - -#define FACE_ID_SAVE_NUMBER 7 -#endif - -#define FACE_COLOR_WHITE 0x00FFFFFF -#define FACE_COLOR_BLACK 0x00000000 -#define FACE_COLOR_RED 0x000000FF -#define FACE_COLOR_GREEN 0x0000FF00 -#define FACE_COLOR_BLUE 0x00FF0000 -#define FACE_COLOR_YELLOW (FACE_COLOR_RED | FACE_COLOR_GREEN) -#define FACE_COLOR_CYAN (FACE_COLOR_BLUE | FACE_COLOR_GREEN) -#define FACE_COLOR_PURPLE (FACE_COLOR_BLUE | FACE_COLOR_RED) -#endif - // Enable LED FLASH setting #define CONFIG_LED_ILLUMINATOR_ENABLED 1 @@ -100,32 +51,6 @@ static const char *_STREAM_PART = "Content-Type: image/jpeg\r\nContent-Length: % httpd_handle_t stream_httpd = NULL; httpd_handle_t camera_httpd = NULL; -#if CONFIG_ESP_FACE_DETECT_ENABLED - -static int8_t detection_enabled = 0; - -// #if TWO_STAGE -// static HumanFaceDetectMSR01 s1(0.1F, 0.5F, 10, 0.2F); -// static HumanFaceDetectMNP01 s2(0.5F, 0.3F, 5); -// #else -// static HumanFaceDetectMSR01 s1(0.3F, 0.5F, 10, 0.2F); -// #endif - -#if CONFIG_ESP_FACE_RECOGNITION_ENABLED -static int8_t recognition_enabled = 0; -static int8_t is_enrolling = 0; - -#if QUANT_TYPE -// S16 model -FaceRecognition112V1S16 recognizer; -#else -// S8 model -FaceRecognition112V1S8 recognizer; -#endif -#endif - -#endif - typedef struct { size_t size; //number of values used for filtering size_t index; //current value index @@ -166,105 +91,6 @@ static int ra_filter_run(ra_filter_t *filter, int value) { } #endif -#if CONFIG_ESP_FACE_DETECT_ENABLED -#if CONFIG_ESP_FACE_RECOGNITION_ENABLED -static void rgb_print(fb_data_t *fb, uint32_t color, const char *str) { - fb_gfx_print(fb, (fb->width - (strlen(str) * 14)) / 2, 10, color, str); -} - -static int rgb_printf(fb_data_t *fb, uint32_t color, const char *format, ...) { - char loc_buf[64]; - char *temp = loc_buf; - int len; - va_list arg; - va_list copy; - va_start(arg, format); - va_copy(copy, arg); - len = vsnprintf(loc_buf, sizeof(loc_buf), format, arg); - va_end(copy); - if (len >= sizeof(loc_buf)) { - temp = (char *)malloc(len + 1); - if (temp == NULL) { - return 0; - } - } - vsnprintf(temp, len + 1, format, arg); - va_end(arg); - rgb_print(fb, color, temp); - if (len > 64) { - free(temp); - } - return len; -} -#endif -static void draw_face_boxes(fb_data_t *fb, std::list *results, int face_id) { - int x, y, w, h; - uint32_t color = FACE_COLOR_YELLOW; - if (face_id < 0) { - color = FACE_COLOR_RED; - } else if (face_id > 0) { - color = FACE_COLOR_GREEN; - } - if (fb->bytes_per_pixel == 2) { - //color = ((color >> 8) & 0xF800) | ((color >> 3) & 0x07E0) | (color & 0x001F); - color = ((color >> 16) & 0x001F) | ((color >> 3) & 0x07E0) | ((color << 8) & 0xF800); - } - int i = 0; - for (std::list::iterator prediction = results->begin(); prediction != results->end(); prediction++, i++) { - // rectangle box - x = (int)prediction->box[0]; - y = (int)prediction->box[1]; - w = (int)prediction->box[2] - x + 1; - h = (int)prediction->box[3] - y + 1; - if ((x + w) > fb->width) { - w = fb->width - x; - } - if ((y + h) > fb->height) { - h = fb->height - y; - } - fb_gfx_drawFastHLine(fb, x, y, w, color); - fb_gfx_drawFastHLine(fb, x, y + h - 1, w, color); - fb_gfx_drawFastVLine(fb, x, y, h, color); - fb_gfx_drawFastVLine(fb, x + w - 1, y, h, color); -#if TWO_STAGE - // landmarks (left eye, mouth left, nose, right eye, mouth right) - int x0, y0, j; - for (j = 0; j < 10; j += 2) { - x0 = (int)prediction->keypoint[j]; - y0 = (int)prediction->keypoint[j + 1]; - fb_gfx_fillRect(fb, x0, y0, 3, 3, color); - } -#endif - } -} - -#if CONFIG_ESP_FACE_RECOGNITION_ENABLED -static int run_face_recognition(fb_data_t *fb, std::list *results) { - std::vector landmarks = results->front().keypoint; - int id = -1; - - Tensor tensor; - tensor.set_element((uint8_t *)fb->data).set_shape({fb->height, fb->width, 3}).set_auto_free(false); - - int enrolled_count = recognizer.get_enrolled_id_num(); - - if (enrolled_count < FACE_ID_SAVE_NUMBER && is_enrolling) { - id = recognizer.enroll_id(tensor, landmarks, "", true); - log_i("Enrolled ID: %d", id); - rgb_printf(fb, FACE_COLOR_CYAN, "ID[%u]", id); - } - - face_info_t recognize = recognizer.recognize(tensor, landmarks); - if (recognize.id >= 0) { - rgb_printf(fb, FACE_COLOR_GREEN, "ID[%u]: %.2f", recognize.id, recognize.similarity); - } else { - rgb_print(fb, FACE_COLOR_RED, "Intruder Alert!"); - } - return recognize.id; -} -#endif -#endif - #if CONFIG_LED_ILLUMINATOR_ENABLED void enable_led(bool en) { // Turn LED On or Off int duty = en ? led_duty : 0; @@ -359,134 +185,28 @@ static esp_err_t capture_handler(httpd_req_t *req) { snprintf(ts, 32, "%lld.%06ld", fb->timestamp.tv_sec, fb->timestamp.tv_usec); httpd_resp_set_hdr(req, "X-Timestamp", (const char *)ts); -#if CONFIG_ESP_FACE_DETECT_ENABLED - size_t out_len, out_width, out_height; - uint8_t *out_buf; - bool s; -#if ARDUHAL_LOG_LEVEL >= ARDUHAL_LOG_LEVEL_INFO - bool detected = false; -#endif - int face_id = 0; - if (!detection_enabled || fb->width > 400) { -#endif #if ARDUHAL_LOG_LEVEL >= ARDUHAL_LOG_LEVEL_INFO - size_t fb_len = 0; + size_t fb_len = 0; #endif - if (fb->format == PIXFORMAT_JPEG) { + if (fb->format == PIXFORMAT_JPEG) { #if ARDUHAL_LOG_LEVEL >= ARDUHAL_LOG_LEVEL_INFO - fb_len = fb->len; + fb_len = fb->len; #endif - res = httpd_resp_send(req, (const char *)fb->buf, fb->len); - } else { - jpg_chunking_t jchunk = {req, 0}; - res = frame2jpg_cb(fb, 80, jpg_encode_stream, &jchunk) ? ESP_OK : ESP_FAIL; - httpd_resp_send_chunk(req, NULL, 0); -#if ARDUHAL_LOG_LEVEL >= ARDUHAL_LOG_LEVEL_INFO - fb_len = jchunk.len; -#endif - } - esp_camera_fb_return(fb); -#if ARDUHAL_LOG_LEVEL >= ARDUHAL_LOG_LEVEL_INFO - int64_t fr_end = esp_timer_get_time(); -#endif - log_i("JPG: %uB %ums", (uint32_t)(fb_len), (uint32_t)((fr_end - fr_start) / 1000)); - return res; -#if CONFIG_ESP_FACE_DETECT_ENABLED - } - - jpg_chunking_t jchunk = {req, 0}; - - if (fb->format == PIXFORMAT_RGB565 -#if CONFIG_ESP_FACE_RECOGNITION_ENABLED - && !recognition_enabled -#endif - ) { -#if TWO_STAGE - HumanFaceDetectMSR01 s1(0.1F, 0.5F, 10, 0.2F); - HumanFaceDetectMNP01 s2(0.5F, 0.3F, 5); - std::list &candidates = s1.infer((uint16_t *)fb->buf, {(int)fb->height, (int)fb->width, 3}); - std::list &results = s2.infer((uint16_t *)fb->buf, {(int)fb->height, (int)fb->width, 3}, candidates); -#else - HumanFaceDetectMSR01 s1(0.3F, 0.5F, 10, 0.2F); - std::list &results = s1.infer((uint16_t *)fb->buf, {(int)fb->height, (int)fb->width, 3}); -#endif - if (results.size() > 0) { - fb_data_t rfb; - rfb.width = fb->width; - rfb.height = fb->height; - rfb.data = fb->buf; - rfb.bytes_per_pixel = 2; - rfb.format = FB_RGB565; -#if ARDUHAL_LOG_LEVEL >= ARDUHAL_LOG_LEVEL_INFO - detected = true; -#endif - draw_face_boxes(&rfb, &results, face_id); - } - s = fmt2jpg_cb(fb->buf, fb->len, fb->width, fb->height, PIXFORMAT_RGB565, 90, jpg_encode_stream, &jchunk); - esp_camera_fb_return(fb); + res = httpd_resp_send(req, (const char *)fb->buf, fb->len); } else { - out_len = fb->width * fb->height * 3; - out_width = fb->width; - out_height = fb->height; - out_buf = (uint8_t *)malloc(out_len); - if (!out_buf) { - log_e("out_buf malloc failed"); - httpd_resp_send_500(req); - return ESP_FAIL; - } - s = fmt2rgb888(fb->buf, fb->len, fb->format, out_buf); - esp_camera_fb_return(fb); - if (!s) { - free(out_buf); - log_e("To rgb888 failed"); - httpd_resp_send_500(req); - return ESP_FAIL; - } - - fb_data_t rfb; - rfb.width = out_width; - rfb.height = out_height; - rfb.data = out_buf; - rfb.bytes_per_pixel = 3; - rfb.format = FB_BGR888; - -#if TWO_STAGE - HumanFaceDetectMSR01 s1(0.1F, 0.5F, 10, 0.2F); - HumanFaceDetectMNP01 s2(0.5F, 0.3F, 5); - std::list &candidates = s1.infer((uint8_t *)out_buf, {(int)out_height, (int)out_width, 3}); - std::list &results = s2.infer((uint8_t *)out_buf, {(int)out_height, (int)out_width, 3}, candidates); -#else - HumanFaceDetectMSR01 s1(0.3F, 0.5F, 10, 0.2F); - std::list &results = s1.infer((uint8_t *)out_buf, {(int)out_height, (int)out_width, 3}); -#endif - - if (results.size() > 0) { + jpg_chunking_t jchunk = {req, 0}; + res = frame2jpg_cb(fb, 80, jpg_encode_stream, &jchunk) ? ESP_OK : ESP_FAIL; + httpd_resp_send_chunk(req, NULL, 0); #if ARDUHAL_LOG_LEVEL >= ARDUHAL_LOG_LEVEL_INFO - detected = true; + fb_len = jchunk.len; #endif -#if CONFIG_ESP_FACE_RECOGNITION_ENABLED - if (recognition_enabled) { - face_id = run_face_recognition(&rfb, &results); - } -#endif - draw_face_boxes(&rfb, &results, face_id); - } - - s = fmt2jpg_cb(out_buf, out_len, out_width, out_height, PIXFORMAT_RGB888, 90, jpg_encode_stream, &jchunk); - free(out_buf); - } - - if (!s) { - log_e("JPEG compression failed"); - httpd_resp_send_500(req); - return ESP_FAIL; } + esp_camera_fb_return(fb); #if ARDUHAL_LOG_LEVEL >= ARDUHAL_LOG_LEVEL_INFO int64_t fr_end = esp_timer_get_time(); #endif - log_i("FACE: %uB %ums %s%d", (uint32_t)(jchunk.len), (uint32_t)((fr_end - fr_start) / 1000), detected ? "DETECTED " : "", face_id); + log_i("JPG: %uB %ums", (uint32_t)(fb_len), (uint32_t)((fr_end - fr_start) / 1000)); return res; -#endif } static esp_err_t stream_handler(httpd_req_t *req) { @@ -496,26 +216,6 @@ static esp_err_t stream_handler(httpd_req_t *req) { size_t _jpg_buf_len = 0; uint8_t *_jpg_buf = NULL; char *part_buf[128]; -#if CONFIG_ESP_FACE_DETECT_ENABLED -#if ARDUHAL_LOG_LEVEL >= ARDUHAL_LOG_LEVEL_INFO - bool detected = false; - int64_t fr_ready = 0; - int64_t fr_recognize = 0; - int64_t fr_encode = 0; - int64_t fr_face = 0; - int64_t fr_start = 0; -#endif - int face_id = 0; - size_t out_len = 0, out_width = 0, out_height = 0; - uint8_t *out_buf = NULL; - bool s = false; -#if TWO_STAGE - HumanFaceDetectMSR01 s1(0.1F, 0.5F, 10, 0.2F); - HumanFaceDetectMNP01 s2(0.5F, 0.3F, 5); -#else - HumanFaceDetectMSR01 s1(0.3F, 0.5F, 10, 0.2F); -#endif -#endif static int64_t last_frame = 0; if (!last_frame) { @@ -536,13 +236,6 @@ static esp_err_t stream_handler(httpd_req_t *req) { #endif while (true) { -#if CONFIG_ESP_FACE_DETECT_ENABLED -#if ARDUHAL_LOG_LEVEL >= ARDUHAL_LOG_LEVEL_INFO - detected = false; -#endif - face_id = 0; -#endif - fb = esp_camera_fb_get(); if (!fb) { log_e("Camera capture failed"); @@ -550,138 +243,18 @@ static esp_err_t stream_handler(httpd_req_t *req) { } else { _timestamp.tv_sec = fb->timestamp.tv_sec; _timestamp.tv_usec = fb->timestamp.tv_usec; -#if CONFIG_ESP_FACE_DETECT_ENABLED -#if ARDUHAL_LOG_LEVEL >= ARDUHAL_LOG_LEVEL_INFO - fr_start = esp_timer_get_time(); - fr_ready = fr_start; - fr_encode = fr_start; - fr_recognize = fr_start; - fr_face = fr_start; -#endif - if (!detection_enabled || fb->width > 400) { -#endif - if (fb->format != PIXFORMAT_JPEG) { - bool jpeg_converted = frame2jpg(fb, 80, &_jpg_buf, &_jpg_buf_len); - esp_camera_fb_return(fb); - fb = NULL; - if (!jpeg_converted) { - log_e("JPEG compression failed"); - res = ESP_FAIL; - } - } else { - _jpg_buf_len = fb->len; - _jpg_buf = fb->buf; + if (fb->format != PIXFORMAT_JPEG) { + bool jpeg_converted = frame2jpg(fb, 80, &_jpg_buf, &_jpg_buf_len); + esp_camera_fb_return(fb); + fb = NULL; + if (!jpeg_converted) { + log_e("JPEG compression failed"); + res = ESP_FAIL; } -#if CONFIG_ESP_FACE_DETECT_ENABLED } else { - if (fb->format == PIXFORMAT_RGB565 -#if CONFIG_ESP_FACE_RECOGNITION_ENABLED - && !recognition_enabled -#endif - ) { -#if ARDUHAL_LOG_LEVEL >= ARDUHAL_LOG_LEVEL_INFO - fr_ready = esp_timer_get_time(); -#endif -#if TWO_STAGE - std::list &candidates = s1.infer((uint16_t *)fb->buf, {(int)fb->height, (int)fb->width, 3}); - std::list &results = s2.infer((uint16_t *)fb->buf, {(int)fb->height, (int)fb->width, 3}, candidates); -#else - std::list &results = s1.infer((uint16_t *)fb->buf, {(int)fb->height, (int)fb->width, 3}); -#endif -#if CONFIG_ESP_FACE_DETECT_ENABLED && ARDUHAL_LOG_LEVEL >= ARDUHAL_LOG_LEVEL_INFO - fr_face = esp_timer_get_time(); - fr_recognize = fr_face; -#endif - if (results.size() > 0) { - fb_data_t rfb; - rfb.width = fb->width; - rfb.height = fb->height; - rfb.data = fb->buf; - rfb.bytes_per_pixel = 2; - rfb.format = FB_RGB565; -#if ARDUHAL_LOG_LEVEL >= ARDUHAL_LOG_LEVEL_INFO - detected = true; -#endif - draw_face_boxes(&rfb, &results, face_id); - } - s = fmt2jpg(fb->buf, fb->len, fb->width, fb->height, PIXFORMAT_RGB565, 80, &_jpg_buf, &_jpg_buf_len); - esp_camera_fb_return(fb); - fb = NULL; - if (!s) { - log_e("fmt2jpg failed"); - res = ESP_FAIL; - } -#if CONFIG_ESP_FACE_DETECT_ENABLED && ARDUHAL_LOG_LEVEL >= ARDUHAL_LOG_LEVEL_INFO - fr_encode = esp_timer_get_time(); -#endif - } else { - out_len = fb->width * fb->height * 3; - out_width = fb->width; - out_height = fb->height; - out_buf = (uint8_t *)malloc(out_len); - if (!out_buf) { - log_e("out_buf malloc failed"); - res = ESP_FAIL; - } else { - s = fmt2rgb888(fb->buf, fb->len, fb->format, out_buf); - esp_camera_fb_return(fb); - fb = NULL; - if (!s) { - free(out_buf); - log_e("To rgb888 failed"); - res = ESP_FAIL; - } else { -#if ARDUHAL_LOG_LEVEL >= ARDUHAL_LOG_LEVEL_INFO - fr_ready = esp_timer_get_time(); -#endif - - fb_data_t rfb; - rfb.width = out_width; - rfb.height = out_height; - rfb.data = out_buf; - rfb.bytes_per_pixel = 3; - rfb.format = FB_BGR888; - -#if TWO_STAGE - std::list &candidates = s1.infer((uint8_t *)out_buf, {(int)out_height, (int)out_width, 3}); - std::list &results = s2.infer((uint8_t *)out_buf, {(int)out_height, (int)out_width, 3}, candidates); -#else - std::list &results = s1.infer((uint8_t *)out_buf, {(int)out_height, (int)out_width, 3}); -#endif - -#if CONFIG_ESP_FACE_DETECT_ENABLED && ARDUHAL_LOG_LEVEL >= ARDUHAL_LOG_LEVEL_INFO - fr_face = esp_timer_get_time(); - fr_recognize = fr_face; -#endif - - if (results.size() > 0) { -#if ARDUHAL_LOG_LEVEL >= ARDUHAL_LOG_LEVEL_INFO - detected = true; -#endif -#if CONFIG_ESP_FACE_RECOGNITION_ENABLED - if (recognition_enabled) { - face_id = run_face_recognition(&rfb, &results); -#if ARDUHAL_LOG_LEVEL >= ARDUHAL_LOG_LEVEL_INFO - fr_recognize = esp_timer_get_time(); -#endif - } -#endif - draw_face_boxes(&rfb, &results, face_id); - } - s = fmt2jpg(out_buf, out_len, out_width, out_height, PIXFORMAT_RGB888, 90, &_jpg_buf, &_jpg_buf_len); - free(out_buf); - if (!s) { - log_e("fmt2jpg failed"); - res = ESP_FAIL; - } -#if CONFIG_ESP_FACE_DETECT_ENABLED && ARDUHAL_LOG_LEVEL >= ARDUHAL_LOG_LEVEL_INFO - fr_encode = esp_timer_get_time(); -#endif - } - } - } + _jpg_buf_len = fb->len; + _jpg_buf = fb->buf; } -#endif } if (res == ESP_OK) { res = httpd_resp_send_chunk(req, _STREAM_BOUNDARY, strlen(_STREAM_BOUNDARY)); @@ -707,30 +280,14 @@ static esp_err_t stream_handler(httpd_req_t *req) { } int64_t fr_end = esp_timer_get_time(); -#if CONFIG_ESP_FACE_DETECT_ENABLED && ARDUHAL_LOG_LEVEL >= ARDUHAL_LOG_LEVEL_INFO - int64_t ready_time = (fr_ready - fr_start) / 1000; - int64_t face_time = (fr_face - fr_ready) / 1000; - int64_t recognize_time = (fr_recognize - fr_face) / 1000; - int64_t encode_time = (fr_encode - fr_recognize) / 1000; - int64_t process_time = (fr_encode - fr_start) / 1000; -#endif - int64_t frame_time = fr_end - last_frame; frame_time /= 1000; #if ARDUHAL_LOG_LEVEL >= ARDUHAL_LOG_LEVEL_INFO uint32_t avg_frame_time = ra_filter_run(&ra_filter, frame_time); #endif log_i( - "MJPG: %uB %ums (%.1ffps), AVG: %ums (%.1ffps)" -#if CONFIG_ESP_FACE_DETECT_ENABLED - ", %u+%u+%u+%u=%u %s%d" -#endif - , - (uint32_t)(_jpg_buf_len), (uint32_t)frame_time, 1000.0 / (uint32_t)frame_time, avg_frame_time, 1000.0 / avg_frame_time -#if CONFIG_ESP_FACE_DETECT_ENABLED - , - (uint32_t)ready_time, (uint32_t)face_time, (uint32_t)recognize_time, (uint32_t)encode_time, (uint32_t)process_time, (detected) ? "DETECTED " : "", face_id -#endif + "MJPG: %uB %ums (%.1ffps), AVG: %ums (%.1ffps)", (uint32_t)(_jpg_buf_len), (uint32_t)frame_time, 1000.0 / (uint32_t)frame_time, avg_frame_time, + 1000.0 / avg_frame_time ); } @@ -841,28 +398,6 @@ static esp_err_t cmd_handler(httpd_req_t *req) { enable_led(true); } } -#endif - -#if CONFIG_ESP_FACE_DETECT_ENABLED - else if (!strcmp(variable, "face_detect")) { - detection_enabled = val; -#if CONFIG_ESP_FACE_RECOGNITION_ENABLED - if (!detection_enabled) { - recognition_enabled = 0; - } -#endif - } -#if CONFIG_ESP_FACE_RECOGNITION_ENABLED - else if (!strcmp(variable, "face_enroll")) { - is_enrolling = !is_enrolling; - log_i("Enrolling: %s", is_enrolling ? "true" : "false"); - } else if (!strcmp(variable, "face_recognize")) { - recognition_enabled = val; - if (recognition_enabled) { - detection_enabled = val; - } - } -#endif #endif else { log_i("Unknown command: %s", variable); @@ -947,13 +482,6 @@ static esp_err_t status_handler(httpd_req_t *req) { p += sprintf(p, ",\"led_intensity\":%u", led_duty); #else p += sprintf(p, ",\"led_intensity\":%d", -1); -#endif -#if CONFIG_ESP_FACE_DETECT_ENABLED - p += sprintf(p, ",\"face_detect\":%u", detection_enabled); -#if CONFIG_ESP_FACE_RECOGNITION_ENABLED - p += sprintf(p, ",\"face_enroll\":%u,", is_enrolling); - p += sprintf(p, "\"face_recognize\":%u", recognition_enabled); -#endif #endif *p++ = '}'; *p++ = 0; @@ -1289,12 +817,6 @@ void startCameraServer() { ra_filter_init(&ra_filter, 20); -#if CONFIG_ESP_FACE_RECOGNITION_ENABLED - recognizer.set_partition(ESP_PARTITION_TYPE_DATA, ESP_PARTITION_SUBTYPE_ANY, "fr"); - - // load ids from flash partition - recognizer.set_ids_from_flash(); -#endif log_i("Starting web server on port: '%d'", config.server_port); if (httpd_start(&camera_httpd, &config) == ESP_OK) { httpd_register_uri_handler(camera_httpd, &index_uri); diff --git a/package/package_esp32_index.template.json b/package/package_esp32_index.template.json index ea66c5a816d..413419a9b1c 100644 --- a/package/package_esp32_index.template.json +++ b/package/package_esp32_index.template.json @@ -101,57 +101,57 @@ "host": "i686-mingw32", "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-707d097b.zip", "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-707d097b.zip", - "checksum": "SHA-256:f8624bf7eab91e0a3bb3be4cc385fef5a05a725bc6ff978f3d4e2562f2805b1e", - "size": "399729605" + "checksum": "SHA-256:b4d431c8e6e9eb26c78cb187b9082055544956a4dac8e224ff884f770e5f0e5a", + "size": "351074410" }, { "host": "x86_64-mingw32", "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-707d097b.zip", "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-707d097b.zip", - "checksum": "SHA-256:f8624bf7eab91e0a3bb3be4cc385fef5a05a725bc6ff978f3d4e2562f2805b1e", - "size": "399729605" + "checksum": "SHA-256:b4d431c8e6e9eb26c78cb187b9082055544956a4dac8e224ff884f770e5f0e5a", + "size": "351074410" }, { "host": "arm64-apple-darwin", "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-707d097b.zip", "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-707d097b.zip", - "checksum": "SHA-256:f8624bf7eab91e0a3bb3be4cc385fef5a05a725bc6ff978f3d4e2562f2805b1e", - "size": "399729605" + "checksum": "SHA-256:b4d431c8e6e9eb26c78cb187b9082055544956a4dac8e224ff884f770e5f0e5a", + "size": "351074410" }, { "host": "x86_64-apple-darwin", "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-707d097b.zip", "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-707d097b.zip", - "checksum": "SHA-256:f8624bf7eab91e0a3bb3be4cc385fef5a05a725bc6ff978f3d4e2562f2805b1e", - "size": "399729605" + "checksum": "SHA-256:b4d431c8e6e9eb26c78cb187b9082055544956a4dac8e224ff884f770e5f0e5a", + "size": "351074410" }, { "host": "x86_64-pc-linux-gnu", "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-707d097b.zip", "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-707d097b.zip", - "checksum": "SHA-256:f8624bf7eab91e0a3bb3be4cc385fef5a05a725bc6ff978f3d4e2562f2805b1e", - "size": "399729605" + "checksum": "SHA-256:b4d431c8e6e9eb26c78cb187b9082055544956a4dac8e224ff884f770e5f0e5a", + "size": "351074410" }, { "host": "i686-pc-linux-gnu", "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-707d097b.zip", "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-707d097b.zip", - "checksum": "SHA-256:f8624bf7eab91e0a3bb3be4cc385fef5a05a725bc6ff978f3d4e2562f2805b1e", - "size": "399729605" + "checksum": "SHA-256:b4d431c8e6e9eb26c78cb187b9082055544956a4dac8e224ff884f770e5f0e5a", + "size": "351074410" }, { "host": "aarch64-linux-gnu", "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-707d097b.zip", "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-707d097b.zip", - "checksum": "SHA-256:f8624bf7eab91e0a3bb3be4cc385fef5a05a725bc6ff978f3d4e2562f2805b1e", - "size": "399729605" + "checksum": "SHA-256:b4d431c8e6e9eb26c78cb187b9082055544956a4dac8e224ff884f770e5f0e5a", + "size": "351074410" }, { "host": "arm-linux-gnueabihf", "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-707d097b.zip", "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-707d097b.zip", - "checksum": "SHA-256:f8624bf7eab91e0a3bb3be4cc385fef5a05a725bc6ff978f3d4e2562f2805b1e", - "size": "399729605" + "checksum": "SHA-256:b4d431c8e6e9eb26c78cb187b9082055544956a4dac8e224ff884f770e5f0e5a", + "size": "351074410" } ] }, From 81d2cbca961fd7718f7af350677cb5e6561d7784 Mon Sep 17 00:00:00 2001 From: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com> Date: Thu, 10 Oct 2024 14:27:04 -0300 Subject: [PATCH 089/146] fix(uart): Add missing HP UARTs for ESP32-P4 (#10447) * fix(uart): Add missing HP UARTs for ESP32-P4 * fix(comment): Fix macro in comment * fix(uart): Fix macro guard --- cores/esp32/HardwareSerial.cpp | 32 ++++++++++++++++++++++++++++---- cores/esp32/HardwareSerial.h | 6 ++++++ cores/esp32/esp32-hal-uart.c | 32 ++++++++++++++++++++++++++++++++ 3 files changed, 66 insertions(+), 4 deletions(-) diff --git a/cores/esp32/HardwareSerial.cpp b/cores/esp32/HardwareSerial.cpp index f515e833925..a6a7573f6e3 100644 --- a/cores/esp32/HardwareSerial.cpp +++ b/cores/esp32/HardwareSerial.cpp @@ -27,11 +27,19 @@ void serialEvent(void) __attribute__((weak)); #if SOC_UART_HP_NUM > 1 void serialEvent1(void) __attribute__((weak)); -#endif /* SOC_UART_NUM > 1 */ +#endif /* SOC_UART_HP_NUM > 1 */ #if SOC_UART_HP_NUM > 2 void serialEvent2(void) __attribute__((weak)); -#endif /* SOC_UART_NUM > 2 */ +#endif /* SOC_UART_HP_NUM > 2 */ + +#if SOC_UART_HP_NUM > 3 +void serialEvent3(void) __attribute__((weak)); +#endif /* SOC_UART_HP_NUM > 3 */ + +#if SOC_UART_HP_NUM > 4 +void serialEvent4(void) __attribute__((weak)); +#endif /* SOC_UART_HP_NUM > 4 */ #if !defined(NO_GLOBAL_INSTANCES) && !defined(NO_GLOBAL_SERIAL) // There is always Seria0 for UART0 @@ -42,6 +50,12 @@ HardwareSerial Serial1(1); #if SOC_UART_HP_NUM > 2 HardwareSerial Serial2(2); #endif +#if SOC_UART_HP_NUM > 3 +HardwareSerial Serial3(3); +#endif +#if SOC_UART_HP_NUM > 4 +HardwareSerial Serial4(4); +#endif #if HWCDC_SERIAL_IS_DEFINED == 1 // Hardware JTAG CDC Event extern void HWCDCSerialEvent(void) __attribute__((weak)); @@ -67,16 +81,26 @@ void serialEventRun(void) { if (serialEvent && Serial0.available()) { serialEvent(); } -#if SOC_UART_NUM > 1 +#if SOC_UART_HP_NUM > 1 if (serialEvent1 && Serial1.available()) { serialEvent1(); } #endif -#if SOC_UART_NUM > 2 +#if SOC_UART_HP_NUM > 2 if (serialEvent2 && Serial2.available()) { serialEvent2(); } #endif +#if SOC_UART_HP_NUM > 3 + if (serialEvent3 && Serial3.available()) { + serialEvent3(); + } +#endif +#if SOC_UART_HP_NUM > 4 + if (serialEvent4 && Serial4.available()) { + serialEvent4(); + } +#endif } #endif diff --git a/cores/esp32/HardwareSerial.h b/cores/esp32/HardwareSerial.h index fc5dd92440d..8eb7f2c91a6 100644 --- a/cores/esp32/HardwareSerial.h +++ b/cores/esp32/HardwareSerial.h @@ -375,6 +375,12 @@ extern HardwareSerial Serial1; #if SOC_UART_HP_NUM > 2 extern HardwareSerial Serial2; #endif +#if SOC_UART_HP_NUM > 3 +extern HardwareSerial Serial3; +#endif +#if SOC_UART_HP_NUM > 4 +extern HardwareSerial Serial4; +#endif #endif //!defined(NO_GLOBAL_INSTANCES) && !defined(NO_GLOBAL_SERIAL) #endif // HardwareSerial_h diff --git a/cores/esp32/esp32-hal-uart.c b/cores/esp32/esp32-hal-uart.c index 82c9d8808d0..706124c7451 100644 --- a/cores/esp32/esp32-hal-uart.c +++ b/cores/esp32/esp32-hal-uart.c @@ -67,6 +67,12 @@ static uart_t _uart_bus_array[] = { #if SOC_UART_HP_NUM > 2 {2, false, 0, NULL, -1, -1, -1, -1, 0, 0, 0, 0, false, 0}, #endif +#if SOC_UART_HP_NUM > 3 + {3, false, 0, NULL, -1, -1, -1, -1, 0, 0, 0, 0, false, 0}, +#endif +#if SOC_UART_HP_NUM > 4 + {4, false, 0, NULL, -1, -1, -1, -1, 0, 0, 0, 0, false, 0}, +#endif }; #else @@ -87,6 +93,12 @@ static uart_t _uart_bus_array[] = { #if SOC_UART_HP_NUM > 2 {NULL, 2, false, 0, NULL, -1, -1, -1, -1, 0, 0, 0, 0, false, 0}, #endif +#if SOC_UART_HP_NUM > 3 + {NULL, 3, false, 0, NULL, -1, -1, -1, -1, 0, 0, 0, 0, false, 0}, +#endif +#if SOC_UART_HP_NUM > 4 + {NULL, 4, false, 0, NULL, -1, -1, -1, -1, 0, 0, 0, 0, false, 0}, +#endif }; #endif @@ -835,6 +847,20 @@ static void ARDUINO_ISR_ATTR uart2_write_char(char c) { } #endif +#if SOC_UART_HP_NUM > 3 +static void ARDUINO_ISR_ATTR uart3_write_char(char c) { + while (uart_ll_get_txfifo_len(&UART3) == 0); + uart_ll_write_txfifo(&UART3, (const uint8_t *)&c, 1); +} +#endif + +#if SOC_UART_HP_NUM > 4 +static void ARDUINO_ISR_ATTR uart4_write_char(char c) { + while (uart_ll_get_txfifo_len(&UART4) == 0); + uart_ll_write_txfifo(&UART4, (const uint8_t *)&c, 1); +} +#endif + void uart_install_putc() { switch (s_uart_debug_nr) { case 0: ets_install_putc1((void (*)(char)) & uart0_write_char); break; @@ -843,6 +869,12 @@ void uart_install_putc() { #endif #if SOC_UART_HP_NUM > 2 case 2: ets_install_putc1((void (*)(char)) & uart2_write_char); break; +#endif +#if SOC_UART_HP_NUM > 3 + case 3: ets_install_putc1((void (*)(char)) & uart3_write_char); break; +#endif +#if SOC_UART_HP_NUM > 4 + case 4: ets_install_putc1((void (*)(char)) & uart4_write_char); break; #endif default: ets_install_putc1(NULL); break; } From 3733c87c832dd7d2743fda5a42b3ff866f4c47f8 Mon Sep 17 00:00:00 2001 From: Jason2866 <24528715+Jason2866@users.noreply.github.com> Date: Fri, 11 Oct 2024 15:33:49 +0200 Subject: [PATCH 090/146] replace outdated wrong `SOC_I2C_NUM` and use `SOC_HP_I2C_NUM` (#10452) * SOC_HP_I2C_NUM * SOC_HP_I2C_NUM --- libraries/Wire/src/Wire.cpp | 4 ++-- libraries/Wire/src/Wire.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/libraries/Wire/src/Wire.cpp b/libraries/Wire/src/Wire.cpp index 8ac0c25595d..24b0eb7c0a3 100644 --- a/libraries/Wire/src/Wire.cpp +++ b/libraries/Wire/src/Wire.cpp @@ -646,8 +646,8 @@ void TwoWire::onRequestService(uint8_t num, void *arg) { #endif /* SOC_I2C_SUPPORT_SLAVE */ TwoWire Wire = TwoWire(0); -#if SOC_I2C_NUM > 1 +#if SOC_HP_I2C_NUM > 1 TwoWire Wire1 = TwoWire(1); -#endif /* SOC_I2C_NUM */ +#endif /* SOC_HP_I2C_NUM */ #endif /* SOC_I2C_SUPPORTED */ diff --git a/libraries/Wire/src/Wire.h b/libraries/Wire/src/Wire.h index cf720d48234..45f30c81ffc 100644 --- a/libraries/Wire/src/Wire.h +++ b/libraries/Wire/src/Wire.h @@ -144,9 +144,9 @@ class TwoWire : public HardwareI2C { }; extern TwoWire Wire; -#if SOC_I2C_NUM > 1 +#if SOC_HP_I2C_NUM > 1 extern TwoWire Wire1; -#endif /* SOC_I2C_NUM */ +#endif /* SOC_HP_I2C_NUM */ #endif /* SOC_I2C_SUPPORTED */ #endif /* TwoWire_h */ From e27a050f5ad72ab2dc666dbe68dc0342c46308e7 Mon Sep 17 00:00:00 2001 From: Y_hsiao_ch'un <66012385+Y1hsiaochunnn@users.noreply.github.com> Date: Fri, 11 Oct 2024 21:35:58 +0800 Subject: [PATCH 091/146] Added variant for Waveshare ESP32-S3-Touch-AMOLED-1.8 (#10433) --- boards.txt | 199 ++++++++++++++++++ .../pins_arduino.h | 87 ++++++++ 2 files changed, 286 insertions(+) create mode 100644 variants/waveshare_esp32_s3_touch_amoled_18/pins_arduino.h diff --git a/boards.txt b/boards.txt index 971f99a0cbc..42070a41a1c 100644 --- a/boards.txt +++ b/boards.txt @@ -40431,6 +40431,205 @@ waveshare_esp32_s3_touch_lcd_169.menu.EraseFlash.all.upload.erase_cmd=-e ############################################################## +waveshare_esp32_s3_touch_amoled_18.name=Waveshare ESP32-S3-Touch-AMOLED-1.8 +waveshare_esp32_s3_touch_amoled_18.vid.0=0x303a +waveshare_esp32_s3_touch_amoled_18.pid.0=0x8255 +waveshare_esp32_s3_touch_amoled_18.upload_port.0.vid=0x303a +waveshare_esp32_s3_touch_amoled_18.upload_port.0.pid=0x8255 + +waveshare_esp32_s3_touch_amoled_18.bootloader.tool=esptool_py +waveshare_esp32_s3_touch_amoled_18.bootloader.tool.default=esptool_py + +waveshare_esp32_s3_touch_amoled_18.upload.tool=esptool_py +waveshare_esp32_s3_touch_amoled_18.upload.tool.default=esptool_py +waveshare_esp32_s3_touch_amoled_18.upload.tool.network=esp_ota + +waveshare_esp32_s3_touch_amoled_18.upload.maximum_size=1310720 + +waveshare_esp32_s3_touch_amoled_18.upload.maximum_data_size=327680 +waveshare_esp32_s3_touch_amoled_18.upload.flags= +waveshare_esp32_s3_touch_amoled_18.upload.extra_flags= +waveshare_esp32_s3_touch_amoled_18.upload.use_1200bps_touch=false +waveshare_esp32_s3_touch_amoled_18.upload.wait_for_upload_port=false + +waveshare_esp32_s3_touch_amoled_18.serial.disableDTR=false +waveshare_esp32_s3_touch_amoled_18.serial.disableRTS=false + +waveshare_esp32_s3_touch_amoled_18.build.tarch=xtensa +waveshare_esp32_s3_touch_amoled_18.build.bootloader_addr=0x0 +waveshare_esp32_s3_touch_amoled_18.build.target=esp32s3 +waveshare_esp32_s3_touch_amoled_18.build.mcu=esp32s3 +waveshare_esp32_s3_touch_amoled_18.build.core=esp32 +waveshare_esp32_s3_touch_amoled_18.build.variant=waveshare_esp32_s3_touch_amoled_18 +waveshare_esp32_s3_touch_amoled_18.build.board=WAVESHARE_ESP32_S3_TOUCH_AMOLED_18 + +waveshare_esp32_s3_touch_amoled_18.build.usb_mode=1 +waveshare_esp32_s3_touch_amoled_18.build.cdc_on_boot=0 +waveshare_esp32_s3_touch_amoled_18.build.msc_on_boot=0 +waveshare_esp32_s3_touch_amoled_18.build.dfu_on_boot=0 +waveshare_esp32_s3_touch_amoled_18.build.f_cpu=240000000L +waveshare_esp32_s3_touch_amoled_18.build.flash_size=16MB +waveshare_esp32_s3_touch_amoled_18.build.flash_freq=80m +waveshare_esp32_s3_touch_amoled_18.build.flash_mode=dio +waveshare_esp32_s3_touch_amoled_18.build.boot=qio +waveshare_esp32_s3_touch_amoled_18.build.boot_freq=80m +waveshare_esp32_s3_touch_amoled_18.build.partitions=default +waveshare_esp32_s3_touch_amoled_18.build.defines= +waveshare_esp32_s3_touch_amoled_18.build.loop_core= +waveshare_esp32_s3_touch_amoled_18.build.event_core= +waveshare_esp32_s3_touch_amoled_18.build.psram_type=qspi +waveshare_esp32_s3_touch_amoled_18.build.memory_type={build.boot}_{build.psram_type} + +waveshare_esp32_s3_touch_amoled_18.menu.PSRAM.disabled=Disabled +waveshare_esp32_s3_touch_amoled_18.menu.PSRAM.disabled.build.defines= +waveshare_esp32_s3_touch_amoled_18.menu.PSRAM.disabled.build.psram_type=qspi +waveshare_esp32_s3_touch_amoled_18.menu.PSRAM.enabled=Enabled +waveshare_esp32_s3_touch_amoled_18.menu.PSRAM.enabled.build.defines=-DBOARD_HAS_PSRAM +waveshare_esp32_s3_touch_amoled_18.menu.PSRAM.enabled.build.psram_type=opi + +waveshare_esp32_s3_touch_amoled_18.menu.FlashMode.qio=QIO 80MHz +waveshare_esp32_s3_touch_amoled_18.menu.FlashMode.qio.build.flash_mode=dio +waveshare_esp32_s3_touch_amoled_18.menu.FlashMode.qio.build.boot=qio +waveshare_esp32_s3_touch_amoled_18.menu.FlashMode.qio.build.boot_freq=80m +waveshare_esp32_s3_touch_amoled_18.menu.FlashMode.qio.build.flash_freq=80m +waveshare_esp32_s3_touch_amoled_18.menu.FlashMode.qio120=QIO 120MHz +waveshare_esp32_s3_touch_amoled_18.menu.FlashMode.qio120.build.flash_mode=dio +waveshare_esp32_s3_touch_amoled_18.menu.FlashMode.qio120.build.boot=qio +waveshare_esp32_s3_touch_amoled_18.menu.FlashMode.qio120.build.boot_freq=120m +waveshare_esp32_s3_touch_amoled_18.menu.FlashMode.qio120.build.flash_freq=80m + +waveshare_esp32_s3_touch_amoled_18.menu.LoopCore.1=Core 1 +waveshare_esp32_s3_touch_amoled_18.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1 +waveshare_esp32_s3_touch_amoled_18.menu.LoopCore.0=Core 0 +waveshare_esp32_s3_touch_amoled_18.menu.LoopCore.0.build.loop_core=-DARDUINO_RUNNING_CORE=0 + +waveshare_esp32_s3_touch_amoled_18.menu.EventsCore.1=Core 1 +waveshare_esp32_s3_touch_amoled_18.menu.EventsCore.1.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=1 +waveshare_esp32_s3_touch_amoled_18.menu.EventsCore.0=Core 0 +waveshare_esp32_s3_touch_amoled_18.menu.EventsCore.0.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=0 + +waveshare_esp32_s3_touch_amoled_18.menu.USBMode.hwcdc=Hardware CDC and JTAG +waveshare_esp32_s3_touch_amoled_18.menu.USBMode.hwcdc.build.usb_mode=1 +waveshare_esp32_s3_touch_amoled_18.menu.USBMode.default=USB-OTG (TinyUSB) +waveshare_esp32_s3_touch_amoled_18.menu.USBMode.default.build.usb_mode=0 + +waveshare_esp32_s3_touch_amoled_18.menu.CDCOnBoot.default=Disabled +waveshare_esp32_s3_touch_amoled_18.menu.CDCOnBoot.default.build.cdc_on_boot=0 +waveshare_esp32_s3_touch_amoled_18.menu.CDCOnBoot.cdc=Enabled +waveshare_esp32_s3_touch_amoled_18.menu.CDCOnBoot.cdc.build.cdc_on_boot=1 + +waveshare_esp32_s3_touch_amoled_18.menu.MSCOnBoot.default=Disabled +waveshare_esp32_s3_touch_amoled_18.menu.MSCOnBoot.default.build.msc_on_boot=0 +waveshare_esp32_s3_touch_amoled_18.menu.MSCOnBoot.msc=Enabled (Requires USB-OTG Mode) +waveshare_esp32_s3_touch_amoled_18.menu.MSCOnBoot.msc.build.msc_on_boot=1 + +waveshare_esp32_s3_touch_amoled_18.menu.DFUOnBoot.default=Disabled +waveshare_esp32_s3_touch_amoled_18.menu.DFUOnBoot.default.build.dfu_on_boot=0 +waveshare_esp32_s3_touch_amoled_18.menu.DFUOnBoot.dfu=Enabled (Requires USB-OTG Mode) +waveshare_esp32_s3_touch_amoled_18.menu.DFUOnBoot.dfu.build.dfu_on_boot=1 + +waveshare_esp32_s3_touch_amoled_18.menu.UploadMode.default=UART0 / Hardware CDC +waveshare_esp32_s3_touch_amoled_18.menu.UploadMode.default.upload.use_1200bps_touch=false +waveshare_esp32_s3_touch_amoled_18.menu.UploadMode.default.upload.wait_for_upload_port=false +waveshare_esp32_s3_touch_amoled_18.menu.UploadMode.cdc=USB-OTG CDC (TinyUSB) +waveshare_esp32_s3_touch_amoled_18.menu.UploadMode.cdc.upload.use_1200bps_touch=true +waveshare_esp32_s3_touch_amoled_18.menu.UploadMode.cdc.upload.wait_for_upload_port=true + +waveshare_esp32_s3_touch_amoled_18.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) +waveshare_esp32_s3_touch_amoled_18.menu.PartitionScheme.default=Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS) +waveshare_esp32_s3_touch_amoled_18.menu.PartitionScheme.default.build.partitions=default +waveshare_esp32_s3_touch_amoled_18.menu.PartitionScheme.defaultffat=Default 4MB with ffat (1.2MB APP/1.5MB FATFS) +waveshare_esp32_s3_touch_amoled_18.menu.PartitionScheme.defaultffat.build.partitions=default_ffat +waveshare_esp32_s3_touch_amoled_18.menu.PartitionScheme.no_ota=No OTA (2MB APP/2MB SPIFFS) +waveshare_esp32_s3_touch_amoled_18.menu.PartitionScheme.no_ota.build.partitions=no_ota +waveshare_esp32_s3_touch_amoled_18.menu.PartitionScheme.no_ota.upload.maximum_size=2097152 +waveshare_esp32_s3_touch_amoled_18.menu.PartitionScheme.noota_3g=No OTA (1MB APP/3MB SPIFFS) +waveshare_esp32_s3_touch_amoled_18.menu.PartitionScheme.noota_3g.build.partitions=noota_3g +waveshare_esp32_s3_touch_amoled_18.menu.PartitionScheme.noota_3g.upload.maximum_size=1048576 +waveshare_esp32_s3_touch_amoled_18.menu.PartitionScheme.noota_ffat=No OTA (2MB APP/2MB FATFS) +waveshare_esp32_s3_touch_amoled_18.menu.PartitionScheme.noota_ffat.build.partitions=noota_ffat +waveshare_esp32_s3_touch_amoled_18.menu.PartitionScheme.noota_ffat.upload.maximum_size=2097152 +waveshare_esp32_s3_touch_amoled_18.menu.PartitionScheme.noota_3gffat=No OTA (1MB APP/3MB FATFS) +waveshare_esp32_s3_touch_amoled_18.menu.PartitionScheme.noota_3gffat.build.partitions=noota_3gffat +waveshare_esp32_s3_touch_amoled_18.menu.PartitionScheme.noota_3gffat.upload.maximum_size=1048576 +waveshare_esp32_s3_touch_amoled_18.menu.PartitionScheme.huge_app=Huge APP (3MB No OTA/1MB SPIFFS) +waveshare_esp32_s3_touch_amoled_18.menu.PartitionScheme.huge_app.build.partitions=huge_app +waveshare_esp32_s3_touch_amoled_18.menu.PartitionScheme.huge_app.upload.maximum_size=3145728 +waveshare_esp32_s3_touch_amoled_18.menu.PartitionScheme.min_spiffs=Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS) +waveshare_esp32_s3_touch_amoled_18.menu.PartitionScheme.min_spiffs.build.partitions=min_spiffs +waveshare_esp32_s3_touch_amoled_18.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080 +waveshare_esp32_s3_touch_amoled_18.menu.PartitionScheme.rainmaker=RainMaker 4MB +waveshare_esp32_s3_touch_amoled_18.menu.PartitionScheme.rainmaker.build.partitions=rainmaker +waveshare_esp32_s3_touch_amoled_18.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +waveshare_esp32_s3_touch_amoled_18.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +waveshare_esp32_s3_touch_amoled_18.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +waveshare_esp32_s3_touch_amoled_18.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 +waveshare_esp32_s3_touch_amoled_18.menu.PartitionScheme.fatflash=16M Flash (2MB APP/12.5MB FATFS) +waveshare_esp32_s3_touch_amoled_18.menu.PartitionScheme.fatflash.build.partitions=ffat +waveshare_esp32_s3_touch_amoled_18.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 +waveshare_esp32_s3_touch_amoled_18.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) +waveshare_esp32_s3_touch_amoled_18.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB +waveshare_esp32_s3_touch_amoled_18.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 + +waveshare_esp32_s3_touch_amoled_18.menu.PartitionScheme.otanofs=OTA no FS (2MB APP with OTA) +waveshare_esp32_s3_touch_amoled_18.menu.PartitionScheme.otanofs.build.custom_partitions=partitions_otanofs_4MB +waveshare_esp32_s3_touch_amoled_18.menu.PartitionScheme.otanofs.upload.maximum_size=2031616 +waveshare_esp32_s3_touch_amoled_18.menu.PartitionScheme.all_app=Max APP (4MB APP no OTA) +waveshare_esp32_s3_touch_amoled_18.menu.PartitionScheme.all_app.build.custom_partitions=partitions_all_app_4MB +waveshare_esp32_s3_touch_amoled_18.menu.PartitionScheme.all_app.upload.maximum_size=4128768 + +waveshare_esp32_s3_touch_amoled_18.menu.PartitionScheme.custom=Custom +waveshare_esp32_s3_touch_amoled_18.menu.PartitionScheme.custom.build.partitions= +waveshare_esp32_s3_touch_amoled_18.menu.PartitionScheme.custom.upload.maximum_size=16777216 + +waveshare_esp32_s3_touch_amoled_18.menu.CPUFreq.240=240MHz (WiFi) +waveshare_esp32_s3_touch_amoled_18.menu.CPUFreq.240.build.f_cpu=240000000L +waveshare_esp32_s3_touch_amoled_18.menu.CPUFreq.160=160MHz (WiFi) +waveshare_esp32_s3_touch_amoled_18.menu.CPUFreq.160.build.f_cpu=160000000L +waveshare_esp32_s3_touch_amoled_18.menu.CPUFreq.80=80MHz (WiFi) +waveshare_esp32_s3_touch_amoled_18.menu.CPUFreq.80.build.f_cpu=80000000L +waveshare_esp32_s3_touch_amoled_18.menu.CPUFreq.40=40MHz +waveshare_esp32_s3_touch_amoled_18.menu.CPUFreq.40.build.f_cpu=40000000L +waveshare_esp32_s3_touch_amoled_18.menu.CPUFreq.20=20MHz +waveshare_esp32_s3_touch_amoled_18.menu.CPUFreq.20.build.f_cpu=20000000L +waveshare_esp32_s3_touch_amoled_18.menu.CPUFreq.10=10MHz +waveshare_esp32_s3_touch_amoled_18.menu.CPUFreq.10.build.f_cpu=10000000L + +waveshare_esp32_s3_touch_amoled_18.menu.UploadSpeed.921600=921600 +waveshare_esp32_s3_touch_amoled_18.menu.UploadSpeed.921600.upload.speed=921600 +waveshare_esp32_s3_touch_amoled_18.menu.UploadSpeed.115200=115200 +waveshare_esp32_s3_touch_amoled_18.menu.UploadSpeed.115200.upload.speed=115200 +waveshare_esp32_s3_touch_amoled_18.menu.UploadSpeed.256000.windows=256000 +waveshare_esp32_s3_touch_amoled_18.menu.UploadSpeed.256000.upload.speed=256000 +waveshare_esp32_s3_touch_amoled_18.menu.UploadSpeed.230400.windows.upload.speed=256000 +waveshare_esp32_s3_touch_amoled_18.menu.UploadSpeed.230400=230400 +waveshare_esp32_s3_touch_amoled_18.menu.UploadSpeed.230400.upload.speed=230400 +waveshare_esp32_s3_touch_amoled_18.menu.UploadSpeed.460800.linux=460800 +waveshare_esp32_s3_touch_amoled_18.menu.UploadSpeed.460800.macosx=460800 +waveshare_esp32_s3_touch_amoled_18.menu.UploadSpeed.460800.upload.speed=460800 +waveshare_esp32_s3_touch_amoled_18.menu.UploadSpeed.512000.windows=512000 +waveshare_esp32_s3_touch_amoled_18.menu.UploadSpeed.512000.upload.speed=512000 + +waveshare_esp32_s3_touch_amoled_18.menu.DebugLevel.none=None +waveshare_esp32_s3_touch_amoled_18.menu.DebugLevel.none.build.code_debug=0 +waveshare_esp32_s3_touch_amoled_18.menu.DebugLevel.error=Error +waveshare_esp32_s3_touch_amoled_18.menu.DebugLevel.error.build.code_debug=1 +waveshare_esp32_s3_touch_amoled_18.menu.DebugLevel.warn=Warn +waveshare_esp32_s3_touch_amoled_18.menu.DebugLevel.warn.build.code_debug=2 +waveshare_esp32_s3_touch_amoled_18.menu.DebugLevel.info=Info +waveshare_esp32_s3_touch_amoled_18.menu.DebugLevel.info.build.code_debug=3 +waveshare_esp32_s3_touch_amoled_18.menu.DebugLevel.debug=Debug +waveshare_esp32_s3_touch_amoled_18.menu.DebugLevel.debug.build.code_debug=4 +waveshare_esp32_s3_touch_amoled_18.menu.DebugLevel.verbose=Verbose +waveshare_esp32_s3_touch_amoled_18.menu.DebugLevel.verbose.build.code_debug=5 + +waveshare_esp32_s3_touch_amoled_18.menu.EraseFlash.none=Disabled +waveshare_esp32_s3_touch_amoled_18.menu.EraseFlash.none.upload.erase_cmd= +waveshare_esp32_s3_touch_amoled_18.menu.EraseFlash.all=Enabled +waveshare_esp32_s3_touch_amoled_18.menu.EraseFlash.all.upload.erase_cmd=-e + +############################################################## + waveshare_esp32_s3_lcd_169.name=Waveshare ESP32-S3-LCD-1.69 waveshare_esp32_s3_lcd_169.vid.0=0x303a waveshare_esp32_s3_lcd_169.pid.0=0x8221 diff --git a/variants/waveshare_esp32_s3_touch_amoled_18/pins_arduino.h b/variants/waveshare_esp32_s3_touch_amoled_18/pins_arduino.h new file mode 100644 index 00000000000..de8bcaec2d9 --- /dev/null +++ b/variants/waveshare_esp32_s3_touch_amoled_18/pins_arduino.h @@ -0,0 +1,87 @@ + +#ifndef Pins_Arduino_h +#define Pins_Arduino_h + +#include +#include "soc/soc_caps.h" + +// BN: ESP32 Family Device +#define USB_VID 0x303a +#define USB_PID 0x8255 + +#define USB_MANUFACTURER "Waveshare" +#define USB_PRODUCT "ESP32-S3-Touch-AMOLED-1.8" +#define USB_SERIAL "" + +// display for SH8601 +#define WS_LCD_CS 12 +#define WS_QSPI_SIO0 4 +#define WS_QSPI_SI1 5 +#define WS_QSPI_SI2 6 +#define WS_QSPI_SI3 7 +#define WS_QSPI_SCL 11 + +// Touch for FT3168 +#define WS_TP_INT 21 + +// Onboard Electric buzzer & Custom buttons +// GPIO and PSRAM conflict, need to pay attention when using + +// UART0 pins +static const uint8_t TX = 43; +static const uint8_t RX = 44; + +// Def for I2C that shares the IMU I2C pins +static const uint8_t SDA = 14; +static const uint8_t SCL = 15; + +// Mapping based on the ESP32S3 data sheet - alternate for SPI2 +static const uint8_t SS = 34; // FSPICS0 +static const uint8_t MOSI = 35; // FSPID +static const uint8_t MISO = 37; // FSPIQ +static const uint8_t SCK = 36; // FSPICLK + +// Mapping based on the ESP32S3 data sheet - alternate for OUTPUT +static const uint8_t OUTPUT_IO2 = 2; +static const uint8_t OUTPUT_IO3 = 3; +static const uint8_t OUTPUT_IO17 = 17; +static const uint8_t OUTPUT_IO18 = 18; + +// Analog capable pins on the header +static const uint8_t A0 = 1; +static const uint8_t A1 = 2; +static const uint8_t A2 = 3; +static const uint8_t A3 = 4; +static const uint8_t A4 = 5; +static const uint8_t A5 = 6; +static const uint8_t A6 = 7; + +// GPIO capable pins on the header +static const uint8_t D0 = 7; +static const uint8_t D1 = 6; +static const uint8_t D2 = 5; +static const uint8_t D3 = 4; +static const uint8_t D4 = 3; +static const uint8_t D5 = 2; +static const uint8_t D6 = 1; +static const uint8_t D7 = 44; +static const uint8_t D8 = 43; +static const uint8_t D9 = 40; +static const uint8_t D10 = 39; +static const uint8_t D11 = 38; +static const uint8_t D12 = 37; +static const uint8_t D13 = 36; +static const uint8_t D14 = 35; +static const uint8_t D15 = 34; +static const uint8_t D16 = 33; + +// Touch input capable pins on the header +static const uint8_t T1 = 1; +static const uint8_t T2 = 2; +static const uint8_t T3 = 3; +static const uint8_t T4 = 4; +static const uint8_t T5 = 5; +static const uint8_t T6 = 6; +static const uint8_t T7 = 7; + +#endif /* Pins_Arduino_h */ From 3edf5188250ddb4b4edbb44583b473105fb2e40f Mon Sep 17 00:00:00 2001 From: Me No Dev Date: Tue, 15 Oct 2024 17:25:45 +0300 Subject: [PATCH 092/146] Add support for WiFi to ESP32-P4 (#10463) * feat(p4): Add support for WiFi to ESP32-P4 Implements support for external MCU connected through SDIO * fix(p4): Init SDIO host properly on Network boot esp-hosted has one function marked as "constructor" that did not run in the boot phase of the chip. This calls the function when network is started --- idf_component.yml | 20 ++++++++++++++------ libraries/Network/src/NetworkEvents.cpp | 2 +- libraries/Network/src/NetworkEvents.h | 13 ++++++++----- libraries/Network/src/NetworkManager.cpp | 7 +++++++ libraries/WiFi/src/AP.cpp | 2 +- libraries/WiFi/src/STA.cpp | 2 +- libraries/WiFi/src/WiFi.cpp | 2 +- libraries/WiFi/src/WiFi.h | 3 ++- libraries/WiFi/src/WiFiAP.cpp | 2 +- libraries/WiFi/src/WiFiAP.h | 2 +- libraries/WiFi/src/WiFiGeneric.cpp | 15 +++++++++++++-- libraries/WiFi/src/WiFiGeneric.h | 2 +- libraries/WiFi/src/WiFiMulti.cpp | 2 +- libraries/WiFi/src/WiFiMulti.h | 2 +- libraries/WiFi/src/WiFiSTA.cpp | 2 +- libraries/WiFi/src/WiFiSTA.h | 2 +- libraries/WiFi/src/WiFiScan.cpp | 2 +- libraries/WiFi/src/WiFiScan.h | 2 +- libraries/WiFi/src/WiFiType.h | 2 +- 19 files changed, 58 insertions(+), 28 deletions(-) diff --git a/idf_component.yml b/idf_component.yml index 3b83650bf5b..5570f5d47a5 100644 --- a/idf_component.yml +++ b/idf_component.yml @@ -56,11 +56,11 @@ dependencies: espressif/esp-zboss-lib: version: "^1.0.1" rules: - - if: "target != esp32c2" + - if: "target not in [esp32c2, esp32p4]" espressif/esp-zigbee-lib: version: "^1.0.1" rules: - - if: "target != esp32c2" + - if: "target not in [esp32c2, esp32p4]" espressif/esp-dsp: version: "^1.3.4" rules: @@ -68,23 +68,31 @@ dependencies: espressif/esp_rainmaker: version: "^1.0.0" rules: - - if: "target != esp32c2" + - if: "target not in [esp32c2, esp32p4]" espressif/rmaker_common: version: "^1.4.6" rules: - - if: "target != esp32c2" + - if: "target not in [esp32c2, esp32p4]" espressif/esp_insights: version: "^1.0.1" rules: - - if: "target != esp32c2" + - if: "target not in [esp32c2, esp32p4]" espressif/qrcode: version: "^0.1.0~1" rules: - - if: "target != esp32c2" + - if: "target not in [esp32c2, esp32p4]" espressif/esp-sr: version: "^1.4.2" rules: - if: "target in [esp32s3]" + espressif/esp_hosted: + version: "^0.0.22" + rules: + - if: "target == esp32p4" + espressif/esp_wifi_remote: + version: "^0.4.1" + rules: + - if: "target == esp32p4" espressif/libsodium: version: "^1.0.20~1" require: public diff --git a/libraries/Network/src/NetworkEvents.cpp b/libraries/Network/src/NetworkEvents.cpp index bb02282e9b3..4863e346a10 100644 --- a/libraries/Network/src/NetworkEvents.cpp +++ b/libraries/Network/src/NetworkEvents.cpp @@ -423,7 +423,7 @@ const char *NetworkEvents::eventName(arduino_event_id_t id) { case ARDUINO_EVENT_PPP_GOT_IP: return "PPP_GOT_IP"; case ARDUINO_EVENT_PPP_LOST_IP: return "PPP_LOST_IP"; case ARDUINO_EVENT_PPP_GOT_IP6: return "PPP_GOT_IP6"; -#if SOC_WIFI_SUPPORTED +#if SOC_WIFI_SUPPORTED || CONFIG_ESP_WIFI_REMOTE_ENABLED case ARDUINO_EVENT_WIFI_OFF: return "WIFI_OFF"; case ARDUINO_EVENT_WIFI_READY: return "WIFI_READY"; case ARDUINO_EVENT_WIFI_SCAN_DONE: return "SCAN_DONE"; diff --git a/libraries/Network/src/NetworkEvents.h b/libraries/Network/src/NetworkEvents.h index ac324d19841..b49951b1824 100644 --- a/libraries/Network/src/NetworkEvents.h +++ b/libraries/Network/src/NetworkEvents.h @@ -16,14 +16,15 @@ #include "freertos/queue.h" #include "freertos/semphr.h" #include "freertos/event_groups.h" +#include "sdkconfig.h" -#if SOC_WIFI_SUPPORTED +#if SOC_WIFI_SUPPORTED || CONFIG_ESP_WIFI_REMOTE_ENABLED #include "esp_wifi_types.h" #include "esp_smartconfig.h" #include "network_provisioning/network_config.h" #endif -#if SOC_WIFI_SUPPORTED +#if SOC_WIFI_SUPPORTED || CONFIG_ESP_WIFI_REMOTE_ENABLED static const int WIFI_SCANNING_BIT = BIT0; static const int WIFI_SCAN_DONE_BIT = BIT1; #endif @@ -41,7 +42,7 @@ typedef enum { ARDUINO_EVENT_ETH_GOT_IP, ARDUINO_EVENT_ETH_LOST_IP, ARDUINO_EVENT_ETH_GOT_IP6, -#if SOC_WIFI_SUPPORTED +#if SOC_WIFI_SUPPORTED || CONFIG_ESP_WIFI_REMOTE_ENABLED ARDUINO_EVENT_WIFI_OFF, ARDUINO_EVENT_WIFI_READY, ARDUINO_EVENT_WIFI_SCAN_DONE, @@ -93,7 +94,7 @@ typedef union { ip_event_got_ip_t got_ip; ip_event_got_ip6_t got_ip6; esp_eth_handle_t eth_connected; -#if SOC_WIFI_SUPPORTED +#if SOC_WIFI_SUPPORTED || CONFIG_ESP_WIFI_REMOTE_ENABLED wifi_event_sta_scan_done_t wifi_scan_done; wifi_event_sta_authmode_change_t wifi_sta_authmode_change; wifi_event_sta_connected_t wifi_sta_connected; @@ -104,6 +105,8 @@ typedef union { wifi_event_ap_staconnected_t wifi_ap_staconnected; wifi_event_ap_stadisconnected_t wifi_ap_stadisconnected; wifi_event_ftm_report_t wifi_ftm_report; +#endif +#if SOC_WIFI_SUPPORTED wifi_sta_config_t prov_cred_recv; network_prov_wifi_sta_fail_reason_t prov_fail_reason; smartconfig_event_got_ssid_pswd_t sc_got_ssid_pswd; @@ -147,7 +150,7 @@ class NetworkEvents { friend class ESP_NetworkInterface; friend class ETHClass; friend class PPPClass; -#if SOC_WIFI_SUPPORTED +#if SOC_WIFI_SUPPORTED || CONFIG_ESP_WIFI_REMOTE_ENABLED friend class STAClass; friend class APClass; friend class WiFiGenericClass; diff --git a/libraries/Network/src/NetworkManager.cpp b/libraries/Network/src/NetworkManager.cpp index 88059a60562..b429c482825 100644 --- a/libraries/Network/src/NetworkManager.cpp +++ b/libraries/Network/src/NetworkManager.cpp @@ -10,6 +10,10 @@ #include "esp_mac.h" #include "netdb.h" +#if CONFIG_ESP_WIFI_REMOTE_ENABLED +extern "C" esp_err_t esp_hosted_init(void *); +#endif + NetworkManager::NetworkManager() {} NetworkInterface *getNetifByID(Network_Interface_ID id); @@ -18,6 +22,9 @@ bool NetworkManager::begin() { static bool initialized = false; if (!initialized) { initialized = true; +#if CONFIG_ESP_WIFI_REMOTE_ENABLED + esp_hosted_init(NULL); +#endif #if CONFIG_IDF_TARGET_ESP32 uint8_t mac[8]; if (esp_efuse_mac_get_default(mac) == ESP_OK) { diff --git a/libraries/WiFi/src/AP.cpp b/libraries/WiFi/src/AP.cpp index a61be662495..9cba6e90f10 100644 --- a/libraries/WiFi/src/AP.cpp +++ b/libraries/WiFi/src/AP.cpp @@ -7,7 +7,7 @@ #include "WiFi.h" #include "WiFiGeneric.h" #include "WiFiAP.h" -#if SOC_WIFI_SUPPORTED +#if SOC_WIFI_SUPPORTED || CONFIG_ESP_WIFI_REMOTE_ENABLED #include #include #include diff --git a/libraries/WiFi/src/STA.cpp b/libraries/WiFi/src/STA.cpp index 443d2621957..004ce161058 100644 --- a/libraries/WiFi/src/STA.cpp +++ b/libraries/WiFi/src/STA.cpp @@ -6,7 +6,7 @@ #include "WiFi.h" #include "WiFiGeneric.h" #include "WiFiSTA.h" -#if SOC_WIFI_SUPPORTED +#if SOC_WIFI_SUPPORTED || CONFIG_ESP_WIFI_REMOTE_ENABLED #include #include #include diff --git a/libraries/WiFi/src/WiFi.cpp b/libraries/WiFi/src/WiFi.cpp index a854cb0ceb7..7fb0ed16459 100644 --- a/libraries/WiFi/src/WiFi.cpp +++ b/libraries/WiFi/src/WiFi.cpp @@ -22,7 +22,7 @@ */ #include "WiFi.h" -#if SOC_WIFI_SUPPORTED +#if SOC_WIFI_SUPPORTED || CONFIG_ESP_WIFI_REMOTE_ENABLED extern "C" { #include diff --git a/libraries/WiFi/src/WiFi.h b/libraries/WiFi/src/WiFi.h index a823dabd864..ea2efd97697 100644 --- a/libraries/WiFi/src/WiFi.h +++ b/libraries/WiFi/src/WiFi.h @@ -22,7 +22,8 @@ #pragma once #include "soc/soc_caps.h" -#if SOC_WIFI_SUPPORTED +#include "sdkconfig.h" +#if SOC_WIFI_SUPPORTED || CONFIG_ESP_WIFI_REMOTE_ENABLED #include diff --git a/libraries/WiFi/src/WiFiAP.cpp b/libraries/WiFi/src/WiFiAP.cpp index fac84dc8512..7282daac995 100644 --- a/libraries/WiFi/src/WiFiAP.cpp +++ b/libraries/WiFi/src/WiFiAP.cpp @@ -25,7 +25,7 @@ #include "WiFi.h" #include "WiFiGeneric.h" #include "WiFiAP.h" -#if SOC_WIFI_SUPPORTED +#if SOC_WIFI_SUPPORTED || CONFIG_ESP_WIFI_REMOTE_ENABLED #include #include diff --git a/libraries/WiFi/src/WiFiAP.h b/libraries/WiFi/src/WiFiAP.h index 9acd124c27e..4573e92ecf0 100644 --- a/libraries/WiFi/src/WiFiAP.h +++ b/libraries/WiFi/src/WiFiAP.h @@ -23,7 +23,7 @@ #pragma once #include "soc/soc_caps.h" -#if SOC_WIFI_SUPPORTED +#if SOC_WIFI_SUPPORTED || CONFIG_ESP_WIFI_REMOTE_ENABLED #include "esp_wifi_types.h" #include "WiFiType.h" diff --git a/libraries/WiFi/src/WiFiGeneric.cpp b/libraries/WiFi/src/WiFiGeneric.cpp index ccc9518132b..d096c2e3d6e 100644 --- a/libraries/WiFi/src/WiFiGeneric.cpp +++ b/libraries/WiFi/src/WiFiGeneric.cpp @@ -24,7 +24,7 @@ #include "WiFi.h" #include "WiFiGeneric.h" -#if SOC_WIFI_SUPPORTED +#if SOC_WIFI_SUPPORTED || CONFIG_ESP_WIFI_REMOTE_ENABLED extern "C" { #include @@ -39,7 +39,9 @@ extern "C" { #include #include #include +#if SOC_WIFI_SUPPORTED #include +#endif #include "lwip/ip_addr.h" #include "lwip/opt.h" #include "lwip/err.h" @@ -103,6 +105,7 @@ static void _arduino_event_cb(void *arg, esp_event_base_t event_base, int32_t ev arduino_event.event_id = ARDUINO_EVENT_WIFI_FTM_REPORT; memcpy(&arduino_event.event_info.wifi_ftm_report, event_data, sizeof(wifi_event_ftm_report_t)); +#if !CONFIG_ESP_WIFI_REMOTE_ENABLED /* * SMART CONFIG * */ @@ -157,6 +160,7 @@ static void _arduino_event_cb(void *arg, esp_event_base_t event_base, int32_t ev } else if (event_base == NETWORK_PROV_EVENT && event_id == NETWORK_PROV_WIFI_CRED_SUCCESS) { log_v("Provisioning Success!"); arduino_event.event_id = ARDUINO_EVENT_PROV_CRED_SUCCESS; +#endif } if (arduino_event.event_id < ARDUINO_EVENT_MAX) { @@ -170,6 +174,7 @@ static bool initWiFiEvents() { return false; } +#if !CONFIG_ESP_WIFI_REMOTE_ENABLED if (esp_event_handler_instance_register(SC_EVENT, ESP_EVENT_ANY_ID, &_arduino_event_cb, NULL, NULL)) { log_e("event_handler_instance_register for SC_EVENT Failed!"); return false; @@ -179,6 +184,7 @@ static bool initWiFiEvents() { log_e("event_handler_instance_register for NETWORK_PROV_EVENT Failed!"); return false; } +#endif return true; } @@ -189,6 +195,7 @@ static bool deinitWiFiEvents() { return false; } +#if !CONFIG_ESP_WIFI_REMOTE_ENABLED if (esp_event_handler_unregister(SC_EVENT, ESP_EVENT_ANY_ID, &_arduino_event_cb)) { log_e("esp_event_handler_unregister for SC_EVENT Failed!"); return false; @@ -198,6 +205,7 @@ static bool deinitWiFiEvents() { log_e("esp_event_handler_unregister for NETWORK_PROV_EVENT Failed!"); return false; } +#endif return true; } @@ -370,6 +378,7 @@ void WiFiGenericClass::_eventCallback(arduino_event_t *event) { // log_d("Arduino Event: %d - %s", event->event_id, WiFi.eventName(event->event_id)); if (event->event_id == ARDUINO_EVENT_WIFI_SCAN_DONE) { WiFiScanClass::_scanDone(); +#if !CONFIG_ESP_WIFI_REMOTE_ENABLED } else if (event->event_id == ARDUINO_EVENT_SC_GOT_SSID_PSWD) { WiFi.begin( (const char *)event->event_info.sc_got_ssid_pswd.ssid, (const char *)event->event_info.sc_got_ssid_pswd.password, 0, @@ -378,6 +387,7 @@ void WiFiGenericClass::_eventCallback(arduino_event_t *event) { } else if (event->event_id == ARDUINO_EVENT_SC_SEND_ACK_DONE) { esp_smartconfig_stop(); WiFiSTAClass::_smartConfigDone = true; +#endif } } @@ -693,6 +703,7 @@ bool WiFiGenericClass::initiateFTM(uint8_t frm_count, uint16_t burst_period, uin * @return true on success */ bool WiFiGenericClass::setDualAntennaConfig(uint8_t gpio_ant1, uint8_t gpio_ant2, wifi_rx_ant_t rx_mode, wifi_tx_ant_t tx_mode) { +#if !CONFIG_ESP_WIFI_REMOTE_ENABLED esp_phy_ant_gpio_config_t wifi_ant_io; @@ -759,7 +770,7 @@ bool WiFiGenericClass::setDualAntennaConfig(uint8_t gpio_ant1, uint8_t gpio_ant2 log_e("Failed to set antenna configuration"); return false; } - +#endif return true; } diff --git a/libraries/WiFi/src/WiFiGeneric.h b/libraries/WiFi/src/WiFiGeneric.h index 2a5ca812999..fe929236a4b 100644 --- a/libraries/WiFi/src/WiFiGeneric.h +++ b/libraries/WiFi/src/WiFiGeneric.h @@ -23,7 +23,7 @@ #pragma once #include "soc/soc_caps.h" -#if SOC_WIFI_SUPPORTED +#if SOC_WIFI_SUPPORTED || CONFIG_ESP_WIFI_REMOTE_ENABLED #include "esp_err.h" #include "esp_event.h" diff --git a/libraries/WiFi/src/WiFiMulti.cpp b/libraries/WiFi/src/WiFiMulti.cpp index a438919f792..f99ce185252 100644 --- a/libraries/WiFi/src/WiFiMulti.cpp +++ b/libraries/WiFi/src/WiFiMulti.cpp @@ -24,7 +24,7 @@ */ #include "WiFiMulti.h" -#if SOC_WIFI_SUPPORTED +#if SOC_WIFI_SUPPORTED || CONFIG_ESP_WIFI_REMOTE_ENABLED #include #include #include diff --git a/libraries/WiFi/src/WiFiMulti.h b/libraries/WiFi/src/WiFiMulti.h index 1e11ff13f51..bda053b32d2 100644 --- a/libraries/WiFi/src/WiFiMulti.h +++ b/libraries/WiFi/src/WiFiMulti.h @@ -26,7 +26,7 @@ #pragma once #include "soc/soc_caps.h" -#if SOC_WIFI_SUPPORTED +#if SOC_WIFI_SUPPORTED || CONFIG_ESP_WIFI_REMOTE_ENABLED #include "WiFi.h" #include diff --git a/libraries/WiFi/src/WiFiSTA.cpp b/libraries/WiFi/src/WiFiSTA.cpp index 1c1ce42c12f..18c8b7207a4 100644 --- a/libraries/WiFi/src/WiFiSTA.cpp +++ b/libraries/WiFi/src/WiFiSTA.cpp @@ -25,7 +25,7 @@ #include "WiFi.h" #include "WiFiGeneric.h" #include "WiFiSTA.h" -#if SOC_WIFI_SUPPORTED +#if SOC_WIFI_SUPPORTED || CONFIG_ESP_WIFI_REMOTE_ENABLED #include #include diff --git a/libraries/WiFi/src/WiFiSTA.h b/libraries/WiFi/src/WiFiSTA.h index 2c046c4c4b9..b3176ed17ca 100644 --- a/libraries/WiFi/src/WiFiSTA.h +++ b/libraries/WiFi/src/WiFiSTA.h @@ -23,7 +23,7 @@ #pragma once #include "soc/soc_caps.h" -#if SOC_WIFI_SUPPORTED +#if SOC_WIFI_SUPPORTED || CONFIG_ESP_WIFI_REMOTE_ENABLED #include "WiFiType.h" #include "WiFiGeneric.h" diff --git a/libraries/WiFi/src/WiFiScan.cpp b/libraries/WiFi/src/WiFiScan.cpp index ffacc57f093..27d9edcc70c 100644 --- a/libraries/WiFi/src/WiFiScan.cpp +++ b/libraries/WiFi/src/WiFiScan.cpp @@ -25,7 +25,7 @@ #include "WiFi.h" #include "WiFiGeneric.h" #include "WiFiScan.h" -#if SOC_WIFI_SUPPORTED +#if SOC_WIFI_SUPPORTED || CONFIG_ESP_WIFI_REMOTE_ENABLED extern "C" { #include diff --git a/libraries/WiFi/src/WiFiScan.h b/libraries/WiFi/src/WiFiScan.h index 0648885292f..5e1097f3ae2 100644 --- a/libraries/WiFi/src/WiFiScan.h +++ b/libraries/WiFi/src/WiFiScan.h @@ -23,7 +23,7 @@ #pragma once #include "soc/soc_caps.h" -#if SOC_WIFI_SUPPORTED +#if SOC_WIFI_SUPPORTED || CONFIG_ESP_WIFI_REMOTE_ENABLED #include "WiFiType.h" #include "WiFiGeneric.h" diff --git a/libraries/WiFi/src/WiFiType.h b/libraries/WiFi/src/WiFiType.h index 1d721d33963..83eed72f4cb 100644 --- a/libraries/WiFi/src/WiFiType.h +++ b/libraries/WiFi/src/WiFiType.h @@ -22,7 +22,7 @@ #pragma once #include "soc/soc_caps.h" -#if SOC_WIFI_SUPPORTED +#if SOC_WIFI_SUPPORTED || CONFIG_ESP_WIFI_REMOTE_ENABLED #include "esp_wifi_types.h" From f8e03cfaac337731ffaad0a7af0d45e91adab1a4 Mon Sep 17 00:00:00 2001 From: Mahesh Tupe Date: Tue, 15 Oct 2024 20:36:20 +0530 Subject: [PATCH 093/146] Update esp-insights version (#10456) --- idf_component.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/idf_component.yml b/idf_component.yml index 9c06ef0fb72..abacb442ef2 100644 --- a/idf_component.yml +++ b/idf_component.yml @@ -72,7 +72,7 @@ dependencies: rules: - if: "target != esp32c2" espressif/esp_insights: - version: "^1.0.1" + version: "^1.2.1" rules: - if: "target != esp32c2" espressif/qrcode: From c6bf1b48160935c789b84b64f71bd1da4b8c2ee3 Mon Sep 17 00:00:00 2001 From: Mahesh Tupe Date: Tue, 15 Oct 2024 20:36:20 +0530 Subject: [PATCH 094/146] Update esp-insights version (#10456) --- idf_component.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/idf_component.yml b/idf_component.yml index 5570f5d47a5..d1772d0ddb9 100644 --- a/idf_component.yml +++ b/idf_component.yml @@ -74,7 +74,7 @@ dependencies: rules: - if: "target not in [esp32c2, esp32p4]" espressif/esp_insights: - version: "^1.0.1" + version: "^1.2.1" rules: - if: "target not in [esp32c2, esp32p4]" espressif/qrcode: From a3f2568a198cac05a0c784856ba6b99e202ce2a9 Mon Sep 17 00:00:00 2001 From: Me No Dev Date: Tue, 15 Oct 2024 20:20:04 +0300 Subject: [PATCH 095/146] IDF release/v5.3 (#10465) * fix(usb): Update tinyusb init call * Update esp-insights version (#10456) * Add support for WiFi to ESP32-P4 (#10463) * feat(p4): Add support for WiFi to ESP32-P4 Implements support for external MCU connected through SDIO * fix(p4): Init SDIO host properly on Network boot esp-hosted has one function marked as "constructor" that did not run in the boot phase of the chip. This calls the function when network is started * Fix RainMaker dependent versions because Matter requires Insights 1.0.1 * IDF release/v5.3 707d097b * ci(pre-commit): Apply automatic fixes --------- Co-authored-by: Mahesh Tupe Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> --- cores/esp32/esp32-hal-tinyusb.c | 19 +++++++------- idf_component.yml | 27 ++++++++++++++----- package/package_esp32_index.template.json | 32 +++++++++++------------ 3 files changed, 46 insertions(+), 32 deletions(-) diff --git a/cores/esp32/esp32-hal-tinyusb.c b/cores/esp32/esp32-hal-tinyusb.c index c69fca08fc7..eca7e5d176c 100644 --- a/cores/esp32/esp32-hal-tinyusb.c +++ b/cores/esp32/esp32-hal-tinyusb.c @@ -174,9 +174,9 @@ void deinit_usb_hal() { esp_err_t tinyusb_driver_install(const tinyusb_config_t *config) { init_usb_hal(config->external_phy); #if CONFIG_IDF_TARGET_ESP32P4 - if (!tud_init(1)) { + if (!tusb_init(1, TUSB_ROLE_DEVICE)) { #else - if (!tud_init(0)) { + if (!tusb_init(0, TUSB_ROLE_DEVICE)) { #endif log_e("Can't initialize the TinyUSB stack."); return ESP_FAIL; @@ -287,15 +287,14 @@ enum { VENDOR_REQUEST_MICROSOFT = 2 }; -static uint8_t const tinyusb_bos_descriptor[] = { - // total length, number of device caps - TUD_BOS_DESCRIPTOR(BOS_TOTAL_LEN, 2), +static uint8_t const tinyusb_bos_descriptor[] = {// total length, number of device caps + TUD_BOS_DESCRIPTOR(BOS_TOTAL_LEN, 2), - // Vendor Code, iLandingPage - TUD_BOS_WEBUSB_DESCRIPTOR(VENDOR_REQUEST_WEBUSB, 1), + // Vendor Code, iLandingPage + TUD_BOS_WEBUSB_DESCRIPTOR(VENDOR_REQUEST_WEBUSB, 1), - // Microsoft OS 2.0 descriptor - TUD_BOS_MS_OS_20_DESCRIPTOR(MS_OS_20_DESC_LEN, VENDOR_REQUEST_MICROSOFT) + // Microsoft OS 2.0 descriptor + TUD_BOS_MS_OS_20_DESCRIPTOR(MS_OS_20_DESC_LEN, VENDOR_REQUEST_MICROSOFT) }; /* @@ -831,7 +830,7 @@ esp_err_t tinyusb_init(tinyusb_device_config_t *config) { periph_ll_enable_clk_clear_rst(PERIPH_USB_MODULE); } #endif - + tinyusb_config_t tusb_cfg = { .external_phy = false // In the most cases you need to use a `false` value }; diff --git a/idf_component.yml b/idf_component.yml index d1772d0ddb9..12bfe66e739 100644 --- a/idf_component.yml +++ b/idf_component.yml @@ -51,8 +51,6 @@ dependencies: require: public espressif/esp_modem: version: "^1.1.0" - espressif/network_provisioning: - version: "~1.0.0" espressif/esp-zboss-lib: version: "^1.0.1" rules: @@ -65,22 +63,39 @@ dependencies: version: "^1.3.4" rules: - if: "target != esp32c2" + # RainMaker Start (Fixed versions, because Matter supports only Insights 1.0.1) + espressif/network_provisioning: + version: "1.0.2" espressif/esp_rainmaker: - version: "^1.0.0" + version: "1.5.0" rules: - if: "target not in [esp32c2, esp32p4]" espressif/rmaker_common: - version: "^1.4.6" + version: "1.4.6" rules: - if: "target not in [esp32c2, esp32p4]" espressif/esp_insights: - version: "^1.2.1" + version: "1.0.1" + rules: + - if: "target not in [esp32c2, esp32p4]" + # New version breaks esp_insights 1.0.1 + espressif/esp_diag_data_store: + version: "1.0.1" + rules: + - if: "target not in [esp32c2, esp32p4]" + espressif/esp_diagnostics: + version: "1.0.2" + rules: + - if: "target not in [esp32c2, esp32p4]" + espressif/cbor: + version: "0.6.0~1" rules: - if: "target not in [esp32c2, esp32p4]" espressif/qrcode: - version: "^0.1.0~1" + version: "0.1.0~2" rules: - if: "target not in [esp32c2, esp32p4]" + # RainMaker End espressif/esp-sr: version: "^1.4.2" rules: diff --git a/package/package_esp32_index.template.json b/package/package_esp32_index.template.json index 413419a9b1c..9227a89034d 100644 --- a/package/package_esp32_index.template.json +++ b/package/package_esp32_index.template.json @@ -101,57 +101,57 @@ "host": "i686-mingw32", "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-707d097b.zip", "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-707d097b.zip", - "checksum": "SHA-256:b4d431c8e6e9eb26c78cb187b9082055544956a4dac8e224ff884f770e5f0e5a", - "size": "351074410" + "checksum": "SHA-256:8a3f8ba621b187a53635deef36e335aa72f18d15c89170a32ce401bedee946be", + "size": "350992761" }, { "host": "x86_64-mingw32", "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-707d097b.zip", "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-707d097b.zip", - "checksum": "SHA-256:b4d431c8e6e9eb26c78cb187b9082055544956a4dac8e224ff884f770e5f0e5a", - "size": "351074410" + "checksum": "SHA-256:8a3f8ba621b187a53635deef36e335aa72f18d15c89170a32ce401bedee946be", + "size": "350992761" }, { "host": "arm64-apple-darwin", "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-707d097b.zip", "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-707d097b.zip", - "checksum": "SHA-256:b4d431c8e6e9eb26c78cb187b9082055544956a4dac8e224ff884f770e5f0e5a", - "size": "351074410" + "checksum": "SHA-256:8a3f8ba621b187a53635deef36e335aa72f18d15c89170a32ce401bedee946be", + "size": "350992761" }, { "host": "x86_64-apple-darwin", "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-707d097b.zip", "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-707d097b.zip", - "checksum": "SHA-256:b4d431c8e6e9eb26c78cb187b9082055544956a4dac8e224ff884f770e5f0e5a", - "size": "351074410" + "checksum": "SHA-256:8a3f8ba621b187a53635deef36e335aa72f18d15c89170a32ce401bedee946be", + "size": "350992761" }, { "host": "x86_64-pc-linux-gnu", "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-707d097b.zip", "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-707d097b.zip", - "checksum": "SHA-256:b4d431c8e6e9eb26c78cb187b9082055544956a4dac8e224ff884f770e5f0e5a", - "size": "351074410" + "checksum": "SHA-256:8a3f8ba621b187a53635deef36e335aa72f18d15c89170a32ce401bedee946be", + "size": "350992761" }, { "host": "i686-pc-linux-gnu", "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-707d097b.zip", "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-707d097b.zip", - "checksum": "SHA-256:b4d431c8e6e9eb26c78cb187b9082055544956a4dac8e224ff884f770e5f0e5a", - "size": "351074410" + "checksum": "SHA-256:8a3f8ba621b187a53635deef36e335aa72f18d15c89170a32ce401bedee946be", + "size": "350992761" }, { "host": "aarch64-linux-gnu", "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-707d097b.zip", "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-707d097b.zip", - "checksum": "SHA-256:b4d431c8e6e9eb26c78cb187b9082055544956a4dac8e224ff884f770e5f0e5a", - "size": "351074410" + "checksum": "SHA-256:8a3f8ba621b187a53635deef36e335aa72f18d15c89170a32ce401bedee946be", + "size": "350992761" }, { "host": "arm-linux-gnueabihf", "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-707d097b.zip", "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-707d097b.zip", - "checksum": "SHA-256:b4d431c8e6e9eb26c78cb187b9082055544956a4dac8e224ff884f770e5f0e5a", - "size": "351074410" + "checksum": "SHA-256:8a3f8ba621b187a53635deef36e335aa72f18d15c89170a32ce401bedee946be", + "size": "350992761" } ] }, From f706c276711dd1d19fcb3390a6c1df92657be1bf Mon Sep 17 00:00:00 2001 From: me-no-dev Date: Tue, 15 Oct 2024 20:42:26 +0300 Subject: [PATCH 096/146] Update TinyUSB init method --- cores/esp32/esp32-hal-tinyusb.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/cores/esp32/esp32-hal-tinyusb.c b/cores/esp32/esp32-hal-tinyusb.c index eca7e5d176c..f83e8b61bd2 100644 --- a/cores/esp32/esp32-hal-tinyusb.c +++ b/cores/esp32/esp32-hal-tinyusb.c @@ -173,10 +173,15 @@ void deinit_usb_hal() { esp_err_t tinyusb_driver_install(const tinyusb_config_t *config) { init_usb_hal(config->external_phy); + tusb_rhport_init_t tinit; + memset(&tinit, 0, sizeof(tusb_rhport_init_t)); + tinit.role = TUSB_ROLE_DEVICE; #if CONFIG_IDF_TARGET_ESP32P4 - if (!tusb_init(1, TUSB_ROLE_DEVICE)) { + tinit.speed = TUSB_SPEED_HIGH; + if (!tusb_init(1, &tinit)) { #else - if (!tusb_init(0, TUSB_ROLE_DEVICE)) { + tinit.speed = TUSB_SPEED_FULL; + if (!tusb_init(0, &tinit)) { #endif log_e("Can't initialize the TinyUSB stack."); return ESP_FAIL; From c676ce7dc0860056459e87eeb5a8bac8d730866d Mon Sep 17 00:00:00 2001 From: me-no-dev Date: Tue, 15 Oct 2024 21:06:31 +0300 Subject: [PATCH 097/146] fix(p4): Move ESP-HOSTED init to WiFiGeneric @P-R-O-C-H-Y will add the configured pins to periman, so that they can not be assigned to anything else --- libraries/Network/src/NetworkManager.cpp | 7 ------ libraries/WiFi/src/WiFiGeneric.cpp | 32 ++++++++++++++++++++++++ 2 files changed, 32 insertions(+), 7 deletions(-) diff --git a/libraries/Network/src/NetworkManager.cpp b/libraries/Network/src/NetworkManager.cpp index b429c482825..88059a60562 100644 --- a/libraries/Network/src/NetworkManager.cpp +++ b/libraries/Network/src/NetworkManager.cpp @@ -10,10 +10,6 @@ #include "esp_mac.h" #include "netdb.h" -#if CONFIG_ESP_WIFI_REMOTE_ENABLED -extern "C" esp_err_t esp_hosted_init(void *); -#endif - NetworkManager::NetworkManager() {} NetworkInterface *getNetifByID(Network_Interface_ID id); @@ -22,9 +18,6 @@ bool NetworkManager::begin() { static bool initialized = false; if (!initialized) { initialized = true; -#if CONFIG_ESP_WIFI_REMOTE_ENABLED - esp_hosted_init(NULL); -#endif #if CONFIG_IDF_TARGET_ESP32 uint8_t mac[8]; if (esp_efuse_mac_get_default(mac) == ESP_OK) { diff --git a/libraries/WiFi/src/WiFiGeneric.cpp b/libraries/WiFi/src/WiFiGeneric.cpp index d096c2e3d6e..f3b27365cb6 100644 --- a/libraries/WiFi/src/WiFiGeneric.cpp +++ b/libraries/WiFi/src/WiFiGeneric.cpp @@ -233,9 +233,41 @@ void WiFiGenericClass::useStaticBuffers(bool bufferMode) { extern "C" void phy_bbpll_en_usb(bool en); #endif +#if CONFIG_ESP_WIFI_REMOTE_ENABLED +extern "C" esp_err_t esp_hosted_init(void *); + +static bool wifiHostedInit() { + static bool initialized = false; + if (!initialized) { + initialized = true; + if (esp_hosted_init(NULL) != ESP_OK) { + log_e("esp_hosted_init failed!"); + return false; + } + } + // Attach pins to periman here + // Slave chip model is CONFIG_IDF_SLAVE_TARGET + // CONFIG_ESP_SDIO_PIN_CMD + // CONFIG_ESP_SDIO_PIN_CLK + // CONFIG_ESP_SDIO_PIN_D0 + // CONFIG_ESP_SDIO_PIN_D1 + // CONFIG_ESP_SDIO_PIN_D2 + // CONFIG_ESP_SDIO_PIN_D3 + // CONFIG_ESP_SDIO_GPIO_RESET_SLAVE + + return true; +} +#endif + bool wifiLowLevelInit(bool persistent) { if (!lowLevelInitDone) { lowLevelInitDone = true; +#if CONFIG_ESP_WIFI_REMOTE_ENABLED + if (!wifiHostedInit()) { + lowLevelInitDone = false; + return lowLevelInitDone; + } +#endif if (!Network.begin()) { lowLevelInitDone = false; return lowLevelInitDone; From 9dea05b17f27551c26f455a9517da25b9c10ca7f Mon Sep 17 00:00:00 2001 From: Me No Dev Date: Thu, 17 Oct 2024 02:38:25 +0300 Subject: [PATCH 098/146] IDF release/v5.3 707d097b (#10473) --- package/package_esp32_index.template.json | 32 +++++++++++------------ 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/package/package_esp32_index.template.json b/package/package_esp32_index.template.json index 9227a89034d..89ec0cebf8e 100644 --- a/package/package_esp32_index.template.json +++ b/package/package_esp32_index.template.json @@ -101,57 +101,57 @@ "host": "i686-mingw32", "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-707d097b.zip", "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-707d097b.zip", - "checksum": "SHA-256:8a3f8ba621b187a53635deef36e335aa72f18d15c89170a32ce401bedee946be", - "size": "350992761" + "checksum": "SHA-256:c75625cbb80f0f9ea437840c7ee00d937e4443af6903b6903bfe98928e36618e", + "size": "343593768" }, { "host": "x86_64-mingw32", "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-707d097b.zip", "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-707d097b.zip", - "checksum": "SHA-256:8a3f8ba621b187a53635deef36e335aa72f18d15c89170a32ce401bedee946be", - "size": "350992761" + "checksum": "SHA-256:c75625cbb80f0f9ea437840c7ee00d937e4443af6903b6903bfe98928e36618e", + "size": "343593768" }, { "host": "arm64-apple-darwin", "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-707d097b.zip", "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-707d097b.zip", - "checksum": "SHA-256:8a3f8ba621b187a53635deef36e335aa72f18d15c89170a32ce401bedee946be", - "size": "350992761" + "checksum": "SHA-256:c75625cbb80f0f9ea437840c7ee00d937e4443af6903b6903bfe98928e36618e", + "size": "343593768" }, { "host": "x86_64-apple-darwin", "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-707d097b.zip", "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-707d097b.zip", - "checksum": "SHA-256:8a3f8ba621b187a53635deef36e335aa72f18d15c89170a32ce401bedee946be", - "size": "350992761" + "checksum": "SHA-256:c75625cbb80f0f9ea437840c7ee00d937e4443af6903b6903bfe98928e36618e", + "size": "343593768" }, { "host": "x86_64-pc-linux-gnu", "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-707d097b.zip", "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-707d097b.zip", - "checksum": "SHA-256:8a3f8ba621b187a53635deef36e335aa72f18d15c89170a32ce401bedee946be", - "size": "350992761" + "checksum": "SHA-256:c75625cbb80f0f9ea437840c7ee00d937e4443af6903b6903bfe98928e36618e", + "size": "343593768" }, { "host": "i686-pc-linux-gnu", "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-707d097b.zip", "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-707d097b.zip", - "checksum": "SHA-256:8a3f8ba621b187a53635deef36e335aa72f18d15c89170a32ce401bedee946be", - "size": "350992761" + "checksum": "SHA-256:c75625cbb80f0f9ea437840c7ee00d937e4443af6903b6903bfe98928e36618e", + "size": "343593768" }, { "host": "aarch64-linux-gnu", "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-707d097b.zip", "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-707d097b.zip", - "checksum": "SHA-256:8a3f8ba621b187a53635deef36e335aa72f18d15c89170a32ce401bedee946be", - "size": "350992761" + "checksum": "SHA-256:c75625cbb80f0f9ea437840c7ee00d937e4443af6903b6903bfe98928e36618e", + "size": "343593768" }, { "host": "arm-linux-gnueabihf", "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-707d097b.zip", "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-707d097b.zip", - "checksum": "SHA-256:8a3f8ba621b187a53635deef36e335aa72f18d15c89170a32ce401bedee946be", - "size": "350992761" + "checksum": "SHA-256:c75625cbb80f0f9ea437840c7ee00d937e4443af6903b6903bfe98928e36618e", + "size": "343593768" } ] }, From bda8fcb457189c82a195565c44ef3bedf60c5979 Mon Sep 17 00:00:00 2001 From: ws-hsw <81347510+H-sw123@users.noreply.github.com> Date: Thu, 17 Oct 2024 07:39:23 +0800 Subject: [PATCH 099/146] addition(3rd_party_board): Add Waveshare-S3-touch-lcd (#10434) * add waveshare_touch_lcd * waveshare_touch_lcd * waveshare_touch_lcd * ci(pre-commit): Apply automatic fixes --------- Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> --- boards.txt | 1204 +++++++++++++++++ .../pins_arduino.h | 73 + .../pins_arduino.h | 116 ++ .../pins_arduino.h | 116 ++ .../pins_arduino.h | 116 ++ .../pins_arduino.h | 116 ++ .../pins_arduino.h | 116 ++ 7 files changed, 1857 insertions(+) create mode 100644 variants/waveshare_esp32_s3_touch_lcd_4/pins_arduino.h create mode 100644 variants/waveshare_esp32_s3_touch_lcd_43/pins_arduino.h create mode 100644 variants/waveshare_esp32_s3_touch_lcd_43b/pins_arduino.h create mode 100644 variants/waveshare_esp32_s3_touch_lcd_5/pins_arduino.h create mode 100644 variants/waveshare_esp32_s3_touch_lcd_5b/pins_arduino.h create mode 100644 variants/waveshare_esp32_s3_touch_lcd_7/pins_arduino.h diff --git a/boards.txt b/boards.txt index 42070a41a1c..b267f20cb1b 100644 --- a/boards.txt +++ b/boards.txt @@ -42395,3 +42395,1207 @@ waveshare_esp32_s3_touch_amoled_241.menu.EraseFlash.all=Enabled waveshare_esp32_s3_touch_amoled_241.menu.EraseFlash.all.upload.erase_cmd=-e ############################################################## + +waveshare_esp32_s3_touch_lcd_43.name=Waveshare ESP32-S3-Touch-LCD-4.3 +waveshare_esp32_s3_touch_lcd_43.vid.0=0x303a +waveshare_esp32_s3_touch_lcd_43.pid.0=0x822E +waveshare_esp32_s3_touch_lcd_43.upload_port.0.vid=0x303a +waveshare_esp32_s3_touch_lcd_43.upload_port.0.pid=0x822E + +waveshare_esp32_s3_touch_lcd_43.bootloader.tool=esptool_py +waveshare_esp32_s3_touch_lcd_43.bootloader.tool.default=esptool_py + +waveshare_esp32_s3_touch_lcd_43.upload.tool=esptool_py +waveshare_esp32_s3_touch_lcd_43.upload.tool.default=esptool_py +waveshare_esp32_s3_touch_lcd_43.upload.tool.network=esp_ota + +waveshare_esp32_s3_touch_lcd_43.upload.maximum_size=1310720 + +waveshare_esp32_s3_touch_lcd_43.upload.maximum_data_size=327680 +waveshare_esp32_s3_touch_lcd_43.upload.flags= +waveshare_esp32_s3_touch_lcd_43.upload.extra_flags= +waveshare_esp32_s3_touch_lcd_43.upload.use_1200bps_touch=false +waveshare_esp32_s3_touch_lcd_43.upload.wait_for_upload_port=false + +waveshare_esp32_s3_touch_lcd_43.serial.disableDTR=false +waveshare_esp32_s3_touch_lcd_43.serial.disableRTS=false + +waveshare_esp32_s3_touch_lcd_43.build.tarch=xtensa +waveshare_esp32_s3_touch_lcd_43.build.bootloader_addr=0x0 +waveshare_esp32_s3_touch_lcd_43.build.target=esp32s3 +waveshare_esp32_s3_touch_lcd_43.build.mcu=esp32s3 +waveshare_esp32_s3_touch_lcd_43.build.core=esp32 +waveshare_esp32_s3_touch_lcd_43.build.variant=waveshare_esp32_s3_touch_lcd_43 +waveshare_esp32_s3_touch_lcd_43.build.board=WAVESHARE_ESP32_S3_TOUCH_LCD_43 + +waveshare_esp32_s3_touch_lcd_43.build.usb_mode=1 +waveshare_esp32_s3_touch_lcd_43.build.cdc_on_boot=0 +waveshare_esp32_s3_touch_lcd_43.build.msc_on_boot=0 +waveshare_esp32_s3_touch_lcd_43.build.dfu_on_boot=0 +waveshare_esp32_s3_touch_lcd_43.build.f_cpu=240000000L +waveshare_esp32_s3_touch_lcd_43.build.flash_size=8MB +waveshare_esp32_s3_touch_lcd_43.build.flash_freq=80m +waveshare_esp32_s3_touch_lcd_43.build.flash_mode=dio +waveshare_esp32_s3_touch_lcd_43.build.boot=qio +waveshare_esp32_s3_touch_lcd_43.build.boot_freq=80m +waveshare_esp32_s3_touch_lcd_43.build.partitions=default +waveshare_esp32_s3_touch_lcd_43.build.defines= +waveshare_esp32_s3_touch_lcd_43.build.loop_core= +waveshare_esp32_s3_touch_lcd_43.build.event_core= +waveshare_esp32_s3_touch_lcd_43.build.psram_type=qspi +waveshare_esp32_s3_touch_lcd_43.build.memory_type={build.boot}_{build.psram_type} + +waveshare_esp32_s3_touch_lcd_43.menu.PSRAM.disabled=Disabled +waveshare_esp32_s3_touch_lcd_43.menu.PSRAM.disabled.build.defines= +waveshare_esp32_s3_touch_lcd_43.menu.PSRAM.disabled.build.psram_type=qspi +waveshare_esp32_s3_touch_lcd_43.menu.PSRAM.enabled=Enabled +waveshare_esp32_s3_touch_lcd_43.menu.PSRAM.enabled.build.defines=-DBOARD_HAS_PSRAM +waveshare_esp32_s3_touch_lcd_43.menu.PSRAM.enabled.build.psram_type=opi + +waveshare_esp32_s3_touch_lcd_43.menu.FlashMode.qio=QIO 80MHz +waveshare_esp32_s3_touch_lcd_43.menu.FlashMode.qio.build.flash_mode=dio +waveshare_esp32_s3_touch_lcd_43.menu.FlashMode.qio.build.boot=qio +waveshare_esp32_s3_touch_lcd_43.menu.FlashMode.qio.build.boot_freq=80m +waveshare_esp32_s3_touch_lcd_43.menu.FlashMode.qio.build.flash_freq=80m +waveshare_esp32_s3_touch_lcd_43.menu.FlashMode.qio120=QIO 120MHz +waveshare_esp32_s3_touch_lcd_43.menu.FlashMode.qio120.build.flash_mode=dio +waveshare_esp32_s3_touch_lcd_43.menu.FlashMode.qio120.build.boot=qio +waveshare_esp32_s3_touch_lcd_43.menu.FlashMode.qio120.build.boot_freq=120m +waveshare_esp32_s3_touch_lcd_43.menu.FlashMode.qio120.build.flash_freq=80m + +waveshare_esp32_s3_touch_lcd_43.menu.FlashSize.8M=8MB (64Mb) +waveshare_esp32_s3_touch_lcd_43.menu.FlashSize.8M.build.flash_size=8MB +waveshare_esp32_s3_touch_lcd_43.menu.FlashSize.16M=16MB (128Mb) +waveshare_esp32_s3_touch_lcd_43.menu.FlashSize.16M.build.flash_size=16MB + +waveshare_esp32_s3_touch_lcd_43.menu.LoopCore.1=Core 1 +waveshare_esp32_s3_touch_lcd_43.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1 +waveshare_esp32_s3_touch_lcd_43.menu.LoopCore.0=Core 0 +waveshare_esp32_s3_touch_lcd_43.menu.LoopCore.0.build.loop_core=-DARDUINO_RUNNING_CORE=0 + +waveshare_esp32_s3_touch_lcd_43.menu.EventsCore.1=Core 1 +waveshare_esp32_s3_touch_lcd_43.menu.EventsCore.1.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=1 +waveshare_esp32_s3_touch_lcd_43.menu.EventsCore.0=Core 0 +waveshare_esp32_s3_touch_lcd_43.menu.EventsCore.0.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=0 + +waveshare_esp32_s3_touch_lcd_43.menu.USBMode.hwcdc=Hardware CDC and JTAG +waveshare_esp32_s3_touch_lcd_43.menu.USBMode.hwcdc.build.usb_mode=1 +waveshare_esp32_s3_touch_lcd_43.menu.USBMode.default=USB-OTG (TinyUSB) +waveshare_esp32_s3_touch_lcd_43.menu.USBMode.default.build.usb_mode=0 + +waveshare_esp32_s3_touch_lcd_43.menu.CDCOnBoot.default=Disabled +waveshare_esp32_s3_touch_lcd_43.menu.CDCOnBoot.default.build.cdc_on_boot=0 +waveshare_esp32_s3_touch_lcd_43.menu.CDCOnBoot.cdc=Enabled +waveshare_esp32_s3_touch_lcd_43.menu.CDCOnBoot.cdc.build.cdc_on_boot=1 + +waveshare_esp32_s3_touch_lcd_43.menu.MSCOnBoot.default=Disabled +waveshare_esp32_s3_touch_lcd_43.menu.MSCOnBoot.default.build.msc_on_boot=0 +waveshare_esp32_s3_touch_lcd_43.menu.MSCOnBoot.msc=Enabled (Requires USB-OTG Mode) +waveshare_esp32_s3_touch_lcd_43.menu.MSCOnBoot.msc.build.msc_on_boot=1 + +waveshare_esp32_s3_touch_lcd_43.menu.DFUOnBoot.default=Disabled +waveshare_esp32_s3_touch_lcd_43.menu.DFUOnBoot.default.build.dfu_on_boot=0 +waveshare_esp32_s3_touch_lcd_43.menu.DFUOnBoot.dfu=Enabled (Requires USB-OTG Mode) +waveshare_esp32_s3_touch_lcd_43.menu.DFUOnBoot.dfu.build.dfu_on_boot=1 + +waveshare_esp32_s3_touch_lcd_43.menu.UploadMode.default=UART0 / Hardware CDC +waveshare_esp32_s3_touch_lcd_43.menu.UploadMode.default.upload.use_1200bps_touch=false +waveshare_esp32_s3_touch_lcd_43.menu.UploadMode.default.upload.wait_for_upload_port=false +waveshare_esp32_s3_touch_lcd_43.menu.UploadMode.cdc=USB-OTG CDC (TinyUSB) +waveshare_esp32_s3_touch_lcd_43.menu.UploadMode.cdc.upload.use_1200bps_touch=true +waveshare_esp32_s3_touch_lcd_43.menu.UploadMode.cdc.upload.wait_for_upload_port=true + +waveshare_esp32_s3_touch_lcd_43.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) +waveshare_esp32_s3_touch_lcd_43.menu.PartitionScheme.default=Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS) +waveshare_esp32_s3_touch_lcd_43.menu.PartitionScheme.default.build.partitions=default +waveshare_esp32_s3_touch_lcd_43.menu.PartitionScheme.defaultffat=Default 4MB with ffat (1.2MB APP/1.5MB FATFS) +waveshare_esp32_s3_touch_lcd_43.menu.PartitionScheme.defaultffat.build.partitions=default_ffat +waveshare_esp32_s3_touch_lcd_43.menu.PartitionScheme.no_ota=No OTA (2MB APP/2MB SPIFFS) +waveshare_esp32_s3_touch_lcd_43.menu.PartitionScheme.no_ota.build.partitions=no_ota +waveshare_esp32_s3_touch_lcd_43.menu.PartitionScheme.no_ota.upload.maximum_size=2097152 +waveshare_esp32_s3_touch_lcd_43.menu.PartitionScheme.noota_3g=No OTA (1MB APP/3MB SPIFFS) +waveshare_esp32_s3_touch_lcd_43.menu.PartitionScheme.noota_3g.build.partitions=noota_3g +waveshare_esp32_s3_touch_lcd_43.menu.PartitionScheme.noota_3g.upload.maximum_size=1048576 +waveshare_esp32_s3_touch_lcd_43.menu.PartitionScheme.noota_ffat=No OTA (2MB APP/2MB FATFS) +waveshare_esp32_s3_touch_lcd_43.menu.PartitionScheme.noota_ffat.build.partitions=noota_ffat +waveshare_esp32_s3_touch_lcd_43.menu.PartitionScheme.noota_ffat.upload.maximum_size=2097152 +waveshare_esp32_s3_touch_lcd_43.menu.PartitionScheme.noota_3gffat=No OTA (1MB APP/3MB FATFS) +waveshare_esp32_s3_touch_lcd_43.menu.PartitionScheme.noota_3gffat.build.partitions=noota_3gffat +waveshare_esp32_s3_touch_lcd_43.menu.PartitionScheme.noota_3gffat.upload.maximum_size=1048576 +waveshare_esp32_s3_touch_lcd_43.menu.PartitionScheme.huge_app=Huge APP (3MB No OTA/1MB SPIFFS) +waveshare_esp32_s3_touch_lcd_43.menu.PartitionScheme.huge_app.build.partitions=huge_app +waveshare_esp32_s3_touch_lcd_43.menu.PartitionScheme.huge_app.upload.maximum_size=3145728 +waveshare_esp32_s3_touch_lcd_43.menu.PartitionScheme.min_spiffs=Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS) +waveshare_esp32_s3_touch_lcd_43.menu.PartitionScheme.min_spiffs.build.partitions=min_spiffs +waveshare_esp32_s3_touch_lcd_43.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080 +waveshare_esp32_s3_touch_lcd_43.menu.PartitionScheme.rainmaker=RainMaker 4MB +waveshare_esp32_s3_touch_lcd_43.menu.PartitionScheme.rainmaker.build.partitions=rainmaker +waveshare_esp32_s3_touch_lcd_43.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +waveshare_esp32_s3_touch_lcd_43.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +waveshare_esp32_s3_touch_lcd_43.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +waveshare_esp32_s3_touch_lcd_43.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 +waveshare_esp32_s3_touch_lcd_43.menu.PartitionScheme.fatflash=16M Flash (2MB APP/12.5MB FATFS) +waveshare_esp32_s3_touch_lcd_43.menu.PartitionScheme.fatflash.build.partitions=ffat +waveshare_esp32_s3_touch_lcd_43.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 +waveshare_esp32_s3_touch_lcd_43.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) +waveshare_esp32_s3_touch_lcd_43.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB +waveshare_esp32_s3_touch_lcd_43.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 + +waveshare_esp32_s3_touch_lcd_43.menu.PartitionScheme.otanofs=OTA no FS (2MB APP with OTA) +waveshare_esp32_s3_touch_lcd_43.menu.PartitionScheme.otanofs.build.custom_partitions=partitions_otanofs_4MB +waveshare_esp32_s3_touch_lcd_43.menu.PartitionScheme.otanofs.upload.maximum_size=2031616 +waveshare_esp32_s3_touch_lcd_43.menu.PartitionScheme.all_app=Max APP (4MB APP no OTA) +waveshare_esp32_s3_touch_lcd_43.menu.PartitionScheme.all_app.build.custom_partitions=partitions_all_app_4MB +waveshare_esp32_s3_touch_lcd_43.menu.PartitionScheme.all_app.upload.maximum_size=4128768 + +waveshare_esp32_s3_touch_lcd_43.menu.PartitionScheme.custom=Custom +waveshare_esp32_s3_touch_lcd_43.menu.PartitionScheme.custom.build.partitions= +waveshare_esp32_s3_touch_lcd_43.menu.PartitionScheme.custom.upload.maximum_size=16777216 + +waveshare_esp32_s3_touch_lcd_43.menu.CPUFreq.240=240MHz (WiFi) +waveshare_esp32_s3_touch_lcd_43.menu.CPUFreq.240.build.f_cpu=240000000L +waveshare_esp32_s3_touch_lcd_43.menu.CPUFreq.160=160MHz (WiFi) +waveshare_esp32_s3_touch_lcd_43.menu.CPUFreq.160.build.f_cpu=160000000L +waveshare_esp32_s3_touch_lcd_43.menu.CPUFreq.80=80MHz (WiFi) +waveshare_esp32_s3_touch_lcd_43.menu.CPUFreq.80.build.f_cpu=80000000L +waveshare_esp32_s3_touch_lcd_43.menu.CPUFreq.40=40MHz +waveshare_esp32_s3_touch_lcd_43.menu.CPUFreq.40.build.f_cpu=40000000L +waveshare_esp32_s3_touch_lcd_43.menu.CPUFreq.20=20MHz +waveshare_esp32_s3_touch_lcd_43.menu.CPUFreq.20.build.f_cpu=20000000L +waveshare_esp32_s3_touch_lcd_43.menu.CPUFreq.10=10MHz +waveshare_esp32_s3_touch_lcd_43.menu.CPUFreq.10.build.f_cpu=10000000L + +waveshare_esp32_s3_touch_lcd_43.menu.UploadSpeed.921600=921600 +waveshare_esp32_s3_touch_lcd_43.menu.UploadSpeed.921600.upload.speed=921600 +waveshare_esp32_s3_touch_lcd_43.menu.UploadSpeed.115200=115200 +waveshare_esp32_s3_touch_lcd_43.menu.UploadSpeed.115200.upload.speed=115200 +waveshare_esp32_s3_touch_lcd_43.menu.UploadSpeed.256000.windows=256000 +waveshare_esp32_s3_touch_lcd_43.menu.UploadSpeed.256000.upload.speed=256000 +waveshare_esp32_s3_touch_lcd_43.menu.UploadSpeed.230400.windows.upload.speed=256000 +waveshare_esp32_s3_touch_lcd_43.menu.UploadSpeed.230400=230400 +waveshare_esp32_s3_touch_lcd_43.menu.UploadSpeed.230400.upload.speed=230400 +waveshare_esp32_s3_touch_lcd_43.menu.UploadSpeed.460800.linux=460800 +waveshare_esp32_s3_touch_lcd_43.menu.UploadSpeed.460800.macosx=460800 +waveshare_esp32_s3_touch_lcd_43.menu.UploadSpeed.460800.upload.speed=460800 +waveshare_esp32_s3_touch_lcd_43.menu.UploadSpeed.512000.windows=512000 +waveshare_esp32_s3_touch_lcd_43.menu.UploadSpeed.512000.upload.speed=512000 + +waveshare_esp32_s3_touch_lcd_43.menu.DebugLevel.none=None +waveshare_esp32_s3_touch_lcd_43.menu.DebugLevel.none.build.code_debug=0 +waveshare_esp32_s3_touch_lcd_43.menu.DebugLevel.error=Error +waveshare_esp32_s3_touch_lcd_43.menu.DebugLevel.error.build.code_debug=1 +waveshare_esp32_s3_touch_lcd_43.menu.DebugLevel.warn=Warn +waveshare_esp32_s3_touch_lcd_43.menu.DebugLevel.warn.build.code_debug=2 +waveshare_esp32_s3_touch_lcd_43.menu.DebugLevel.info=Info +waveshare_esp32_s3_touch_lcd_43.menu.DebugLevel.info.build.code_debug=3 +waveshare_esp32_s3_touch_lcd_43.menu.DebugLevel.debug=Debug +waveshare_esp32_s3_touch_lcd_43.menu.DebugLevel.debug.build.code_debug=4 +waveshare_esp32_s3_touch_lcd_43.menu.DebugLevel.verbose=Verbose +waveshare_esp32_s3_touch_lcd_43.menu.DebugLevel.verbose.build.code_debug=5 + +waveshare_esp32_s3_touch_lcd_43.menu.EraseFlash.none=Disabled +waveshare_esp32_s3_touch_lcd_43.menu.EraseFlash.none.upload.erase_cmd= +waveshare_esp32_s3_touch_lcd_43.menu.EraseFlash.all=Enabled +waveshare_esp32_s3_touch_lcd_43.menu.EraseFlash.all.upload.erase_cmd=-e + +############################################################## + +waveshare_esp32_s3_touch_lcd_43B.name=Waveshare ESP32-S3-Touch-LCD-4.3B +waveshare_esp32_s3_touch_lcd_43B.vid.0=0x303a +waveshare_esp32_s3_touch_lcd_43B.pid.0=0x8231 +waveshare_esp32_s3_touch_lcd_43B.upload_port.0.vid=0x303a +waveshare_esp32_s3_touch_lcd_43B.upload_port.0.pid=0x8231 + +waveshare_esp32_s3_touch_lcd_43B.bootloader.tool=esptool_py +waveshare_esp32_s3_touch_lcd_43B.bootloader.tool.default=esptool_py + +waveshare_esp32_s3_touch_lcd_43B.upload.tool=esptool_py +waveshare_esp32_s3_touch_lcd_43B.upload.tool.default=esptool_py +waveshare_esp32_s3_touch_lcd_43B.upload.tool.network=esp_ota + +waveshare_esp32_s3_touch_lcd_43B.upload.maximum_size=1310720 + +waveshare_esp32_s3_touch_lcd_43B.upload.maximum_data_size=327680 +waveshare_esp32_s3_touch_lcd_43B.upload.flags= +waveshare_esp32_s3_touch_lcd_43B.upload.extra_flags= +waveshare_esp32_s3_touch_lcd_43B.upload.use_1200bps_touch=false +waveshare_esp32_s3_touch_lcd_43B.upload.wait_for_upload_port=false + +waveshare_esp32_s3_touch_lcd_43B.serial.disableDTR=false +waveshare_esp32_s3_touch_lcd_43B.serial.disableRTS=false + +waveshare_esp32_s3_touch_lcd_43B.build.tarch=xtensa +waveshare_esp32_s3_touch_lcd_43B.build.bootloader_addr=0x0 +waveshare_esp32_s3_touch_lcd_43B.build.target=esp32s3 +waveshare_esp32_s3_touch_lcd_43B.build.mcu=esp32s3 +waveshare_esp32_s3_touch_lcd_43B.build.core=esp32 +waveshare_esp32_s3_touch_lcd_43B.build.variant=waveshare_esp32_s3_touch_lcd_43b +waveshare_esp32_s3_touch_lcd_43B.build.board=WAVESHARE_ESP32_S3_TOUCH_LCD_43B + +waveshare_esp32_s3_touch_lcd_43B.build.usb_mode=1 +waveshare_esp32_s3_touch_lcd_43B.build.cdc_on_boot=0 +waveshare_esp32_s3_touch_lcd_43B.build.msc_on_boot=0 +waveshare_esp32_s3_touch_lcd_43B.build.dfu_on_boot=0 +waveshare_esp32_s3_touch_lcd_43B.build.f_cpu=240000000L +waveshare_esp32_s3_touch_lcd_43B.build.flash_size=16MB +waveshare_esp32_s3_touch_lcd_43B.build.flash_freq=80m +waveshare_esp32_s3_touch_lcd_43B.build.flash_mode=dio +waveshare_esp32_s3_touch_lcd_43B.build.boot=qio +waveshare_esp32_s3_touch_lcd_43B.build.boot_freq=80m +waveshare_esp32_s3_touch_lcd_43B.build.partitions=default +waveshare_esp32_s3_touch_lcd_43B.build.defines= +waveshare_esp32_s3_touch_lcd_43B.build.loop_core= +waveshare_esp32_s3_touch_lcd_43B.build.event_core= +waveshare_esp32_s3_touch_lcd_43B.build.psram_type=qspi +waveshare_esp32_s3_touch_lcd_43B.build.memory_type={build.boot}_{build.psram_type} + +waveshare_esp32_s3_touch_lcd_43B.menu.PSRAM.disabled=Disabled +waveshare_esp32_s3_touch_lcd_43B.menu.PSRAM.disabled.build.defines= +waveshare_esp32_s3_touch_lcd_43B.menu.PSRAM.disabled.build.psram_type=qspi +waveshare_esp32_s3_touch_lcd_43B.menu.PSRAM.enabled=Enabled +waveshare_esp32_s3_touch_lcd_43B.menu.PSRAM.enabled.build.defines=-DBOARD_HAS_PSRAM +waveshare_esp32_s3_touch_lcd_43B.menu.PSRAM.enabled.build.psram_type=opi + +waveshare_esp32_s3_touch_lcd_43B.menu.FlashMode.qio=QIO 80MHz +waveshare_esp32_s3_touch_lcd_43B.menu.FlashMode.qio.build.flash_mode=dio +waveshare_esp32_s3_touch_lcd_43B.menu.FlashMode.qio.build.boot=qio +waveshare_esp32_s3_touch_lcd_43B.menu.FlashMode.qio.build.boot_freq=80m +waveshare_esp32_s3_touch_lcd_43B.menu.FlashMode.qio.build.flash_freq=80m +waveshare_esp32_s3_touch_lcd_43B.menu.FlashMode.qio120=QIO 120MHz +waveshare_esp32_s3_touch_lcd_43B.menu.FlashMode.qio120.build.flash_mode=dio +waveshare_esp32_s3_touch_lcd_43B.menu.FlashMode.qio120.build.boot=qio +waveshare_esp32_s3_touch_lcd_43B.menu.FlashMode.qio120.build.boot_freq=120m +waveshare_esp32_s3_touch_lcd_43B.menu.FlashMode.qio120.build.flash_freq=80m + +waveshare_esp32_s3_touch_lcd_43B.menu.LoopCore.1=Core 1 +waveshare_esp32_s3_touch_lcd_43B.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1 +waveshare_esp32_s3_touch_lcd_43B.menu.LoopCore.0=Core 0 +waveshare_esp32_s3_touch_lcd_43B.menu.LoopCore.0.build.loop_core=-DARDUINO_RUNNING_CORE=0 + +waveshare_esp32_s3_touch_lcd_43B.menu.EventsCore.1=Core 1 +waveshare_esp32_s3_touch_lcd_43B.menu.EventsCore.1.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=1 +waveshare_esp32_s3_touch_lcd_43B.menu.EventsCore.0=Core 0 +waveshare_esp32_s3_touch_lcd_43B.menu.EventsCore.0.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=0 + +waveshare_esp32_s3_touch_lcd_43B.menu.USBMode.hwcdc=Hardware CDC and JTAG +waveshare_esp32_s3_touch_lcd_43B.menu.USBMode.hwcdc.build.usb_mode=1 +waveshare_esp32_s3_touch_lcd_43B.menu.USBMode.default=USB-OTG (TinyUSB) +waveshare_esp32_s3_touch_lcd_43B.menu.USBMode.default.build.usb_mode=0 + +waveshare_esp32_s3_touch_lcd_43B.menu.CDCOnBoot.default=Disabled +waveshare_esp32_s3_touch_lcd_43B.menu.CDCOnBoot.default.build.cdc_on_boot=0 +waveshare_esp32_s3_touch_lcd_43B.menu.CDCOnBoot.cdc=Enabled +waveshare_esp32_s3_touch_lcd_43B.menu.CDCOnBoot.cdc.build.cdc_on_boot=1 + +waveshare_esp32_s3_touch_lcd_43B.menu.MSCOnBoot.default=Disabled +waveshare_esp32_s3_touch_lcd_43B.menu.MSCOnBoot.default.build.msc_on_boot=0 +waveshare_esp32_s3_touch_lcd_43B.menu.MSCOnBoot.msc=Enabled (Requires USB-OTG Mode) +waveshare_esp32_s3_touch_lcd_43B.menu.MSCOnBoot.msc.build.msc_on_boot=1 + +waveshare_esp32_s3_touch_lcd_43B.menu.DFUOnBoot.default=Disabled +waveshare_esp32_s3_touch_lcd_43B.menu.DFUOnBoot.default.build.dfu_on_boot=0 +waveshare_esp32_s3_touch_lcd_43B.menu.DFUOnBoot.dfu=Enabled (Requires USB-OTG Mode) +waveshare_esp32_s3_touch_lcd_43B.menu.DFUOnBoot.dfu.build.dfu_on_boot=1 + +waveshare_esp32_s3_touch_lcd_43B.menu.UploadMode.default=UART0 / Hardware CDC +waveshare_esp32_s3_touch_lcd_43B.menu.UploadMode.default.upload.use_1200bps_touch=false +waveshare_esp32_s3_touch_lcd_43B.menu.UploadMode.default.upload.wait_for_upload_port=false +waveshare_esp32_s3_touch_lcd_43B.menu.UploadMode.cdc=USB-OTG CDC (TinyUSB) +waveshare_esp32_s3_touch_lcd_43B.menu.UploadMode.cdc.upload.use_1200bps_touch=true +waveshare_esp32_s3_touch_lcd_43B.menu.UploadMode.cdc.upload.wait_for_upload_port=true + +waveshare_esp32_s3_touch_lcd_43B.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) +waveshare_esp32_s3_touch_lcd_43B.menu.PartitionScheme.default=Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS) +waveshare_esp32_s3_touch_lcd_43B.menu.PartitionScheme.default.build.partitions=default +waveshare_esp32_s3_touch_lcd_43B.menu.PartitionScheme.defaultffat=Default 4MB with ffat (1.2MB APP/1.5MB FATFS) +waveshare_esp32_s3_touch_lcd_43B.menu.PartitionScheme.defaultffat.build.partitions=default_ffat +waveshare_esp32_s3_touch_lcd_43B.menu.PartitionScheme.no_ota=No OTA (2MB APP/2MB SPIFFS) +waveshare_esp32_s3_touch_lcd_43B.menu.PartitionScheme.no_ota.build.partitions=no_ota +waveshare_esp32_s3_touch_lcd_43B.menu.PartitionScheme.no_ota.upload.maximum_size=2097152 +waveshare_esp32_s3_touch_lcd_43B.menu.PartitionScheme.noota_3g=No OTA (1MB APP/3MB SPIFFS) +waveshare_esp32_s3_touch_lcd_43B.menu.PartitionScheme.noota_3g.build.partitions=noota_3g +waveshare_esp32_s3_touch_lcd_43B.menu.PartitionScheme.noota_3g.upload.maximum_size=1048576 +waveshare_esp32_s3_touch_lcd_43B.menu.PartitionScheme.noota_ffat=No OTA (2MB APP/2MB FATFS) +waveshare_esp32_s3_touch_lcd_43B.menu.PartitionScheme.noota_ffat.build.partitions=noota_ffat +waveshare_esp32_s3_touch_lcd_43B.menu.PartitionScheme.noota_ffat.upload.maximum_size=2097152 +waveshare_esp32_s3_touch_lcd_43B.menu.PartitionScheme.noota_3gffat=No OTA (1MB APP/3MB FATFS) +waveshare_esp32_s3_touch_lcd_43B.menu.PartitionScheme.noota_3gffat.build.partitions=noota_3gffat +waveshare_esp32_s3_touch_lcd_43B.menu.PartitionScheme.noota_3gffat.upload.maximum_size=1048576 +waveshare_esp32_s3_touch_lcd_43B.menu.PartitionScheme.huge_app=Huge APP (3MB No OTA/1MB SPIFFS) +waveshare_esp32_s3_touch_lcd_43B.menu.PartitionScheme.huge_app.build.partitions=huge_app +waveshare_esp32_s3_touch_lcd_43B.menu.PartitionScheme.huge_app.upload.maximum_size=3145728 +waveshare_esp32_s3_touch_lcd_43B.menu.PartitionScheme.min_spiffs=Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS) +waveshare_esp32_s3_touch_lcd_43B.menu.PartitionScheme.min_spiffs.build.partitions=min_spiffs +waveshare_esp32_s3_touch_lcd_43B.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080 +waveshare_esp32_s3_touch_lcd_43B.menu.PartitionScheme.rainmaker=RainMaker 4MB +waveshare_esp32_s3_touch_lcd_43B.menu.PartitionScheme.rainmaker.build.partitions=rainmaker +waveshare_esp32_s3_touch_lcd_43B.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +waveshare_esp32_s3_touch_lcd_43B.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +waveshare_esp32_s3_touch_lcd_43B.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +waveshare_esp32_s3_touch_lcd_43B.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 +waveshare_esp32_s3_touch_lcd_43B.menu.PartitionScheme.fatflash=16M Flash (2MB APP/12.5MB FATFS) +waveshare_esp32_s3_touch_lcd_43B.menu.PartitionScheme.fatflash.build.partitions=ffat +waveshare_esp32_s3_touch_lcd_43B.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 +waveshare_esp32_s3_touch_lcd_43B.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) +waveshare_esp32_s3_touch_lcd_43B.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB +waveshare_esp32_s3_touch_lcd_43B.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 + +waveshare_esp32_s3_touch_lcd_43B.menu.PartitionScheme.otanofs=OTA no FS (2MB APP with OTA) +waveshare_esp32_s3_touch_lcd_43B.menu.PartitionScheme.otanofs.build.custom_partitions=partitions_otanofs_4MB +waveshare_esp32_s3_touch_lcd_43B.menu.PartitionScheme.otanofs.upload.maximum_size=2031616 +waveshare_esp32_s3_touch_lcd_43B.menu.PartitionScheme.all_app=Max APP (4MB APP no OTA) +waveshare_esp32_s3_touch_lcd_43B.menu.PartitionScheme.all_app.build.custom_partitions=partitions_all_app_4MB +waveshare_esp32_s3_touch_lcd_43B.menu.PartitionScheme.all_app.upload.maximum_size=4128768 + +waveshare_esp32_s3_touch_lcd_43B.menu.PartitionScheme.custom=Custom +waveshare_esp32_s3_touch_lcd_43B.menu.PartitionScheme.custom.build.partitions= +waveshare_esp32_s3_touch_lcd_43B.menu.PartitionScheme.custom.upload.maximum_size=16777216 + +waveshare_esp32_s3_touch_lcd_43B.menu.CPUFreq.240=240MHz (WiFi) +waveshare_esp32_s3_touch_lcd_43B.menu.CPUFreq.240.build.f_cpu=240000000L +waveshare_esp32_s3_touch_lcd_43B.menu.CPUFreq.160=160MHz (WiFi) +waveshare_esp32_s3_touch_lcd_43B.menu.CPUFreq.160.build.f_cpu=160000000L +waveshare_esp32_s3_touch_lcd_43B.menu.CPUFreq.80=80MHz (WiFi) +waveshare_esp32_s3_touch_lcd_43B.menu.CPUFreq.80.build.f_cpu=80000000L +waveshare_esp32_s3_touch_lcd_43B.menu.CPUFreq.40=40MHz +waveshare_esp32_s3_touch_lcd_43B.menu.CPUFreq.40.build.f_cpu=40000000L +waveshare_esp32_s3_touch_lcd_43B.menu.CPUFreq.20=20MHz +waveshare_esp32_s3_touch_lcd_43B.menu.CPUFreq.20.build.f_cpu=20000000L +waveshare_esp32_s3_touch_lcd_43B.menu.CPUFreq.10=10MHz +waveshare_esp32_s3_touch_lcd_43B.menu.CPUFreq.10.build.f_cpu=10000000L + +waveshare_esp32_s3_touch_lcd_43B.menu.UploadSpeed.921600=921600 +waveshare_esp32_s3_touch_lcd_43B.menu.UploadSpeed.921600.upload.speed=921600 +waveshare_esp32_s3_touch_lcd_43B.menu.UploadSpeed.115200=115200 +waveshare_esp32_s3_touch_lcd_43B.menu.UploadSpeed.115200.upload.speed=115200 +waveshare_esp32_s3_touch_lcd_43B.menu.UploadSpeed.256000.windows=256000 +waveshare_esp32_s3_touch_lcd_43B.menu.UploadSpeed.256000.upload.speed=256000 +waveshare_esp32_s3_touch_lcd_43B.menu.UploadSpeed.230400.windows.upload.speed=256000 +waveshare_esp32_s3_touch_lcd_43B.menu.UploadSpeed.230400=230400 +waveshare_esp32_s3_touch_lcd_43B.menu.UploadSpeed.230400.upload.speed=230400 +waveshare_esp32_s3_touch_lcd_43B.menu.UploadSpeed.460800.linux=460800 +waveshare_esp32_s3_touch_lcd_43B.menu.UploadSpeed.460800.macosx=460800 +waveshare_esp32_s3_touch_lcd_43B.menu.UploadSpeed.460800.upload.speed=460800 +waveshare_esp32_s3_touch_lcd_43B.menu.UploadSpeed.512000.windows=512000 +waveshare_esp32_s3_touch_lcd_43B.menu.UploadSpeed.512000.upload.speed=512000 + +waveshare_esp32_s3_touch_lcd_43B.menu.DebugLevel.none=None +waveshare_esp32_s3_touch_lcd_43B.menu.DebugLevel.none.build.code_debug=0 +waveshare_esp32_s3_touch_lcd_43B.menu.DebugLevel.error=Error +waveshare_esp32_s3_touch_lcd_43B.menu.DebugLevel.error.build.code_debug=1 +waveshare_esp32_s3_touch_lcd_43B.menu.DebugLevel.warn=Warn +waveshare_esp32_s3_touch_lcd_43B.menu.DebugLevel.warn.build.code_debug=2 +waveshare_esp32_s3_touch_lcd_43B.menu.DebugLevel.info=Info +waveshare_esp32_s3_touch_lcd_43B.menu.DebugLevel.info.build.code_debug=3 +waveshare_esp32_s3_touch_lcd_43B.menu.DebugLevel.debug=Debug +waveshare_esp32_s3_touch_lcd_43B.menu.DebugLevel.debug.build.code_debug=4 +waveshare_esp32_s3_touch_lcd_43B.menu.DebugLevel.verbose=Verbose +waveshare_esp32_s3_touch_lcd_43B.menu.DebugLevel.verbose.build.code_debug=5 + +waveshare_esp32_s3_touch_lcd_43B.menu.EraseFlash.none=Disabled +waveshare_esp32_s3_touch_lcd_43B.menu.EraseFlash.none.upload.erase_cmd= +waveshare_esp32_s3_touch_lcd_43B.menu.EraseFlash.all=Enabled +waveshare_esp32_s3_touch_lcd_43B.menu.EraseFlash.all.upload.erase_cmd=-e + +############################################################## + +waveshare_esp32_s3_touch_lcd_7.name=Waveshare ESP32-S3-Touch-LCD-7 +waveshare_esp32_s3_touch_lcd_7.vid.0=0x303a +waveshare_esp32_s3_touch_lcd_7.pid.0=0x8234 +waveshare_esp32_s3_touch_lcd_7.upload_port.0.vid=0x303a +waveshare_esp32_s3_touch_lcd_7.upload_port.0.pid=0x8234 + +waveshare_esp32_s3_touch_lcd_7.bootloader.tool=esptool_py +waveshare_esp32_s3_touch_lcd_7.bootloader.tool.default=esptool_py + +waveshare_esp32_s3_touch_lcd_7.upload.tool=esptool_py +waveshare_esp32_s3_touch_lcd_7.upload.tool.default=esptool_py +waveshare_esp32_s3_touch_lcd_7.upload.tool.network=esp_ota + +waveshare_esp32_s3_touch_lcd_7.upload.maximum_size=1310720 + +waveshare_esp32_s3_touch_lcd_7.upload.maximum_data_size=327680 +waveshare_esp32_s3_touch_lcd_7.upload.flags= +waveshare_esp32_s3_touch_lcd_7.upload.extra_flags= +waveshare_esp32_s3_touch_lcd_7.upload.use_1200bps_touch=false +waveshare_esp32_s3_touch_lcd_7.upload.wait_for_upload_port=false + +waveshare_esp32_s3_touch_lcd_7.serial.disableDTR=false +waveshare_esp32_s3_touch_lcd_7.serial.disableRTS=false + +waveshare_esp32_s3_touch_lcd_7.build.tarch=xtensa +waveshare_esp32_s3_touch_lcd_7.build.bootloader_addr=0x0 +waveshare_esp32_s3_touch_lcd_7.build.target=esp32s3 +waveshare_esp32_s3_touch_lcd_7.build.mcu=esp32s3 +waveshare_esp32_s3_touch_lcd_7.build.core=esp32 +waveshare_esp32_s3_touch_lcd_7.build.variant=waveshare_esp32_s3_touch_lcd_7 +waveshare_esp32_s3_touch_lcd_7.build.board=WAVESHARE_ESP32_S3_TOUCH_LCD_7 + +waveshare_esp32_s3_touch_lcd_7.build.usb_mode=1 +waveshare_esp32_s3_touch_lcd_7.build.cdc_on_boot=0 +waveshare_esp32_s3_touch_lcd_7.build.msc_on_boot=0 +waveshare_esp32_s3_touch_lcd_7.build.dfu_on_boot=0 +waveshare_esp32_s3_touch_lcd_7.build.f_cpu=240000000L +waveshare_esp32_s3_touch_lcd_7.build.flash_size=8MB +waveshare_esp32_s3_touch_lcd_7.build.flash_freq=80m +waveshare_esp32_s3_touch_lcd_7.build.flash_mode=dio +waveshare_esp32_s3_touch_lcd_7.build.boot=qio +waveshare_esp32_s3_touch_lcd_7.build.boot_freq=80m +waveshare_esp32_s3_touch_lcd_7.build.partitions=default +waveshare_esp32_s3_touch_lcd_7.build.defines= +waveshare_esp32_s3_touch_lcd_7.build.loop_core= +waveshare_esp32_s3_touch_lcd_7.build.event_core= +waveshare_esp32_s3_touch_lcd_7.build.psram_type=qspi +waveshare_esp32_s3_touch_lcd_7.build.memory_type={build.boot}_{build.psram_type} + +waveshare_esp32_s3_touch_lcd_7.menu.PSRAM.disabled=Disabled +waveshare_esp32_s3_touch_lcd_7.menu.PSRAM.disabled.build.defines= +waveshare_esp32_s3_touch_lcd_7.menu.PSRAM.disabled.build.psram_type=qspi +waveshare_esp32_s3_touch_lcd_7.menu.PSRAM.enabled=Enabled +waveshare_esp32_s3_touch_lcd_7.menu.PSRAM.enabled.build.defines=-DBOARD_HAS_PSRAM +waveshare_esp32_s3_touch_lcd_7.menu.PSRAM.enabled.build.psram_type=opi + +waveshare_esp32_s3_touch_lcd_7.menu.FlashMode.qio=QIO 80MHz +waveshare_esp32_s3_touch_lcd_7.menu.FlashMode.qio.build.flash_mode=dio +waveshare_esp32_s3_touch_lcd_7.menu.FlashMode.qio.build.boot=qio +waveshare_esp32_s3_touch_lcd_7.menu.FlashMode.qio.build.boot_freq=80m +waveshare_esp32_s3_touch_lcd_7.menu.FlashMode.qio.build.flash_freq=80m +waveshare_esp32_s3_touch_lcd_7.menu.FlashMode.qio120=QIO 120MHz +waveshare_esp32_s3_touch_lcd_7.menu.FlashMode.qio120.build.flash_mode=dio +waveshare_esp32_s3_touch_lcd_7.menu.FlashMode.qio120.build.boot=qio +waveshare_esp32_s3_touch_lcd_7.menu.FlashMode.qio120.build.boot_freq=120m +waveshare_esp32_s3_touch_lcd_7.menu.FlashMode.qio120.build.flash_freq=80m + +waveshare_esp32_s3_touch_lcd_7.menu.FlashSize.8M=8MB (64Mb) +waveshare_esp32_s3_touch_lcd_7.menu.FlashSize.8M.build.flash_size=8MB +waveshare_esp32_s3_touch_lcd_7.menu.FlashSize.16M=16MB (128Mb) +waveshare_esp32_s3_touch_lcd_7.menu.FlashSize.16M.build.flash_size=16MB + +waveshare_esp32_s3_touch_lcd_7.menu.LoopCore.1=Core 1 +waveshare_esp32_s3_touch_lcd_7.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1 +waveshare_esp32_s3_touch_lcd_7.menu.LoopCore.0=Core 0 +waveshare_esp32_s3_touch_lcd_7.menu.LoopCore.0.build.loop_core=-DARDUINO_RUNNING_CORE=0 + +waveshare_esp32_s3_touch_lcd_7.menu.EventsCore.1=Core 1 +waveshare_esp32_s3_touch_lcd_7.menu.EventsCore.1.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=1 +waveshare_esp32_s3_touch_lcd_7.menu.EventsCore.0=Core 0 +waveshare_esp32_s3_touch_lcd_7.menu.EventsCore.0.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=0 + +waveshare_esp32_s3_touch_lcd_7.menu.USBMode.hwcdc=Hardware CDC and JTAG +waveshare_esp32_s3_touch_lcd_7.menu.USBMode.hwcdc.build.usb_mode=1 +waveshare_esp32_s3_touch_lcd_7.menu.USBMode.default=USB-OTG (TinyUSB) +waveshare_esp32_s3_touch_lcd_7.menu.USBMode.default.build.usb_mode=0 + +waveshare_esp32_s3_touch_lcd_7.menu.CDCOnBoot.default=Disabled +waveshare_esp32_s3_touch_lcd_7.menu.CDCOnBoot.default.build.cdc_on_boot=0 +waveshare_esp32_s3_touch_lcd_7.menu.CDCOnBoot.cdc=Enabled +waveshare_esp32_s3_touch_lcd_7.menu.CDCOnBoot.cdc.build.cdc_on_boot=1 + +waveshare_esp32_s3_touch_lcd_7.menu.MSCOnBoot.default=Disabled +waveshare_esp32_s3_touch_lcd_7.menu.MSCOnBoot.default.build.msc_on_boot=0 +waveshare_esp32_s3_touch_lcd_7.menu.MSCOnBoot.msc=Enabled (Requires USB-OTG Mode) +waveshare_esp32_s3_touch_lcd_7.menu.MSCOnBoot.msc.build.msc_on_boot=1 + +waveshare_esp32_s3_touch_lcd_7.menu.DFUOnBoot.default=Disabled +waveshare_esp32_s3_touch_lcd_7.menu.DFUOnBoot.default.build.dfu_on_boot=0 +waveshare_esp32_s3_touch_lcd_7.menu.DFUOnBoot.dfu=Enabled (Requires USB-OTG Mode) +waveshare_esp32_s3_touch_lcd_7.menu.DFUOnBoot.dfu.build.dfu_on_boot=1 + +waveshare_esp32_s3_touch_lcd_7.menu.UploadMode.default=UART0 / Hardware CDC +waveshare_esp32_s3_touch_lcd_7.menu.UploadMode.default.upload.use_1200bps_touch=false +waveshare_esp32_s3_touch_lcd_7.menu.UploadMode.default.upload.wait_for_upload_port=false +waveshare_esp32_s3_touch_lcd_7.menu.UploadMode.cdc=USB-OTG CDC (TinyUSB) +waveshare_esp32_s3_touch_lcd_7.menu.UploadMode.cdc.upload.use_1200bps_touch=true +waveshare_esp32_s3_touch_lcd_7.menu.UploadMode.cdc.upload.wait_for_upload_port=true + +waveshare_esp32_s3_touch_lcd_7.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) +waveshare_esp32_s3_touch_lcd_7.menu.PartitionScheme.default=Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS) +waveshare_esp32_s3_touch_lcd_7.menu.PartitionScheme.default.build.partitions=default +waveshare_esp32_s3_touch_lcd_7.menu.PartitionScheme.defaultffat=Default 4MB with ffat (1.2MB APP/1.5MB FATFS) +waveshare_esp32_s3_touch_lcd_7.menu.PartitionScheme.defaultffat.build.partitions=default_ffat +waveshare_esp32_s3_touch_lcd_7.menu.PartitionScheme.no_ota=No OTA (2MB APP/2MB SPIFFS) +waveshare_esp32_s3_touch_lcd_7.menu.PartitionScheme.no_ota.build.partitions=no_ota +waveshare_esp32_s3_touch_lcd_7.menu.PartitionScheme.no_ota.upload.maximum_size=2097152 +waveshare_esp32_s3_touch_lcd_7.menu.PartitionScheme.noota_3g=No OTA (1MB APP/3MB SPIFFS) +waveshare_esp32_s3_touch_lcd_7.menu.PartitionScheme.noota_3g.build.partitions=noota_3g +waveshare_esp32_s3_touch_lcd_7.menu.PartitionScheme.noota_3g.upload.maximum_size=1048576 +waveshare_esp32_s3_touch_lcd_7.menu.PartitionScheme.noota_ffat=No OTA (2MB APP/2MB FATFS) +waveshare_esp32_s3_touch_lcd_7.menu.PartitionScheme.noota_ffat.build.partitions=noota_ffat +waveshare_esp32_s3_touch_lcd_7.menu.PartitionScheme.noota_ffat.upload.maximum_size=2097152 +waveshare_esp32_s3_touch_lcd_7.menu.PartitionScheme.noota_3gffat=No OTA (1MB APP/3MB FATFS) +waveshare_esp32_s3_touch_lcd_7.menu.PartitionScheme.noota_3gffat.build.partitions=noota_3gffat +waveshare_esp32_s3_touch_lcd_7.menu.PartitionScheme.noota_3gffat.upload.maximum_size=1048576 +waveshare_esp32_s3_touch_lcd_7.menu.PartitionScheme.huge_app=Huge APP (3MB No OTA/1MB SPIFFS) +waveshare_esp32_s3_touch_lcd_7.menu.PartitionScheme.huge_app.build.partitions=huge_app +waveshare_esp32_s3_touch_lcd_7.menu.PartitionScheme.huge_app.upload.maximum_size=3145728 +waveshare_esp32_s3_touch_lcd_7.menu.PartitionScheme.min_spiffs=Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS) +waveshare_esp32_s3_touch_lcd_7.menu.PartitionScheme.min_spiffs.build.partitions=min_spiffs +waveshare_esp32_s3_touch_lcd_7.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080 +waveshare_esp32_s3_touch_lcd_7.menu.PartitionScheme.rainmaker=RainMaker 4MB +waveshare_esp32_s3_touch_lcd_7.menu.PartitionScheme.rainmaker.build.partitions=rainmaker +waveshare_esp32_s3_touch_lcd_7.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +waveshare_esp32_s3_touch_lcd_7.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +waveshare_esp32_s3_touch_lcd_7.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +waveshare_esp32_s3_touch_lcd_7.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 +waveshare_esp32_s3_touch_lcd_7.menu.PartitionScheme.fatflash=16M Flash (2MB APP/12.5MB FATFS) +waveshare_esp32_s3_touch_lcd_7.menu.PartitionScheme.fatflash.build.partitions=ffat +waveshare_esp32_s3_touch_lcd_7.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 +waveshare_esp32_s3_touch_lcd_7.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) +waveshare_esp32_s3_touch_lcd_7.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB +waveshare_esp32_s3_touch_lcd_7.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 + +waveshare_esp32_s3_touch_lcd_7.menu.PartitionScheme.otanofs=OTA no FS (2MB APP with OTA) +waveshare_esp32_s3_touch_lcd_7.menu.PartitionScheme.otanofs.build.custom_partitions=partitions_otanofs_4MB +waveshare_esp32_s3_touch_lcd_7.menu.PartitionScheme.otanofs.upload.maximum_size=2031616 +waveshare_esp32_s3_touch_lcd_7.menu.PartitionScheme.all_app=Max APP (4MB APP no OTA) +waveshare_esp32_s3_touch_lcd_7.menu.PartitionScheme.all_app.build.custom_partitions=partitions_all_app_4MB +waveshare_esp32_s3_touch_lcd_7.menu.PartitionScheme.all_app.upload.maximum_size=4128768 + +waveshare_esp32_s3_touch_lcd_7.menu.PartitionScheme.custom=Custom +waveshare_esp32_s3_touch_lcd_7.menu.PartitionScheme.custom.build.partitions= +waveshare_esp32_s3_touch_lcd_7.menu.PartitionScheme.custom.upload.maximum_size=16777216 + +waveshare_esp32_s3_touch_lcd_7.menu.CPUFreq.240=240MHz (WiFi) +waveshare_esp32_s3_touch_lcd_7.menu.CPUFreq.240.build.f_cpu=240000000L +waveshare_esp32_s3_touch_lcd_7.menu.CPUFreq.160=160MHz (WiFi) +waveshare_esp32_s3_touch_lcd_7.menu.CPUFreq.160.build.f_cpu=160000000L +waveshare_esp32_s3_touch_lcd_7.menu.CPUFreq.80=80MHz (WiFi) +waveshare_esp32_s3_touch_lcd_7.menu.CPUFreq.80.build.f_cpu=80000000L +waveshare_esp32_s3_touch_lcd_7.menu.CPUFreq.40=40MHz +waveshare_esp32_s3_touch_lcd_7.menu.CPUFreq.40.build.f_cpu=40000000L +waveshare_esp32_s3_touch_lcd_7.menu.CPUFreq.20=20MHz +waveshare_esp32_s3_touch_lcd_7.menu.CPUFreq.20.build.f_cpu=20000000L +waveshare_esp32_s3_touch_lcd_7.menu.CPUFreq.10=10MHz +waveshare_esp32_s3_touch_lcd_7.menu.CPUFreq.10.build.f_cpu=10000000L + +waveshare_esp32_s3_touch_lcd_7.menu.UploadSpeed.921600=921600 +waveshare_esp32_s3_touch_lcd_7.menu.UploadSpeed.921600.upload.speed=921600 +waveshare_esp32_s3_touch_lcd_7.menu.UploadSpeed.115200=115200 +waveshare_esp32_s3_touch_lcd_7.menu.UploadSpeed.115200.upload.speed=115200 +waveshare_esp32_s3_touch_lcd_7.menu.UploadSpeed.256000.windows=256000 +waveshare_esp32_s3_touch_lcd_7.menu.UploadSpeed.256000.upload.speed=256000 +waveshare_esp32_s3_touch_lcd_7.menu.UploadSpeed.230400.windows.upload.speed=256000 +waveshare_esp32_s3_touch_lcd_7.menu.UploadSpeed.230400=230400 +waveshare_esp32_s3_touch_lcd_7.menu.UploadSpeed.230400.upload.speed=230400 +waveshare_esp32_s3_touch_lcd_7.menu.UploadSpeed.460800.linux=460800 +waveshare_esp32_s3_touch_lcd_7.menu.UploadSpeed.460800.macosx=460800 +waveshare_esp32_s3_touch_lcd_7.menu.UploadSpeed.460800.upload.speed=460800 +waveshare_esp32_s3_touch_lcd_7.menu.UploadSpeed.512000.windows=512000 +waveshare_esp32_s3_touch_lcd_7.menu.UploadSpeed.512000.upload.speed=512000 + +waveshare_esp32_s3_touch_lcd_7.menu.DebugLevel.none=None +waveshare_esp32_s3_touch_lcd_7.menu.DebugLevel.none.build.code_debug=0 +waveshare_esp32_s3_touch_lcd_7.menu.DebugLevel.error=Error +waveshare_esp32_s3_touch_lcd_7.menu.DebugLevel.error.build.code_debug=1 +waveshare_esp32_s3_touch_lcd_7.menu.DebugLevel.warn=Warn +waveshare_esp32_s3_touch_lcd_7.menu.DebugLevel.warn.build.code_debug=2 +waveshare_esp32_s3_touch_lcd_7.menu.DebugLevel.info=Info +waveshare_esp32_s3_touch_lcd_7.menu.DebugLevel.info.build.code_debug=3 +waveshare_esp32_s3_touch_lcd_7.menu.DebugLevel.debug=Debug +waveshare_esp32_s3_touch_lcd_7.menu.DebugLevel.debug.build.code_debug=4 +waveshare_esp32_s3_touch_lcd_7.menu.DebugLevel.verbose=Verbose +waveshare_esp32_s3_touch_lcd_7.menu.DebugLevel.verbose.build.code_debug=5 + +waveshare_esp32_s3_touch_lcd_7.menu.EraseFlash.none=Disabled +waveshare_esp32_s3_touch_lcd_7.menu.EraseFlash.none.upload.erase_cmd= +waveshare_esp32_s3_touch_lcd_7.menu.EraseFlash.all=Enabled +waveshare_esp32_s3_touch_lcd_7.menu.EraseFlash.all.upload.erase_cmd=-e + +############################################################## + +waveshare_esp32_s3_touch_lcd_5.name=Waveshare ESP32-S3-Touch-LCD-5 +waveshare_esp32_s3_touch_lcd_5.vid.0=0x303a +waveshare_esp32_s3_touch_lcd_5.pid.0=0x8237 +waveshare_esp32_s3_touch_lcd_5.upload_port.0.vid=0x303a +waveshare_esp32_s3_touch_lcd_5.upload_port.0.pid=0x8237 + +waveshare_esp32_s3_touch_lcd_5.bootloader.tool=esptool_py +waveshare_esp32_s3_touch_lcd_5.bootloader.tool.default=esptool_py + +waveshare_esp32_s3_touch_lcd_5.upload.tool=esptool_py +waveshare_esp32_s3_touch_lcd_5.upload.tool.default=esptool_py +waveshare_esp32_s3_touch_lcd_5.upload.tool.network=esp_ota + +waveshare_esp32_s3_touch_lcd_5.upload.maximum_size=1310720 + +waveshare_esp32_s3_touch_lcd_5.upload.maximum_data_size=327680 +waveshare_esp32_s3_touch_lcd_5.upload.flags= +waveshare_esp32_s3_touch_lcd_5.upload.extra_flags= +waveshare_esp32_s3_touch_lcd_5.upload.use_1200bps_touch=false +waveshare_esp32_s3_touch_lcd_5.upload.wait_for_upload_port=false + +waveshare_esp32_s3_touch_lcd_5.serial.disableDTR=false +waveshare_esp32_s3_touch_lcd_5.serial.disableRTS=false + +waveshare_esp32_s3_touch_lcd_5.build.tarch=xtensa +waveshare_esp32_s3_touch_lcd_5.build.bootloader_addr=0x0 +waveshare_esp32_s3_touch_lcd_5.build.target=esp32s3 +waveshare_esp32_s3_touch_lcd_5.build.mcu=esp32s3 +waveshare_esp32_s3_touch_lcd_5.build.core=esp32 +waveshare_esp32_s3_touch_lcd_5.build.variant=waveshare_esp32_s3_touch_lcd_5 +waveshare_esp32_s3_touch_lcd_5.build.board=WAVESHARE_ESP32_S3_TOUCH_LCD_5 + +waveshare_esp32_s3_touch_lcd_5.build.usb_mode=1 +waveshare_esp32_s3_touch_lcd_5.build.cdc_on_boot=0 +waveshare_esp32_s3_touch_lcd_5.build.msc_on_boot=0 +waveshare_esp32_s3_touch_lcd_5.build.dfu_on_boot=0 +waveshare_esp32_s3_touch_lcd_5.build.f_cpu=240000000L +waveshare_esp32_s3_touch_lcd_5.build.flash_size=16MB +waveshare_esp32_s3_touch_lcd_5.build.flash_freq=80m +waveshare_esp32_s3_touch_lcd_5.build.flash_mode=dio +waveshare_esp32_s3_touch_lcd_5.build.boot=qio +waveshare_esp32_s3_touch_lcd_5.build.boot_freq=80m +waveshare_esp32_s3_touch_lcd_5.build.partitions=default +waveshare_esp32_s3_touch_lcd_5.build.defines= +waveshare_esp32_s3_touch_lcd_5.build.loop_core= +waveshare_esp32_s3_touch_lcd_5.build.event_core= +waveshare_esp32_s3_touch_lcd_5.build.psram_type=qspi +waveshare_esp32_s3_touch_lcd_5.build.memory_type={build.boot}_{build.psram_type} + +waveshare_esp32_s3_touch_lcd_5.menu.PSRAM.disabled=Disabled +waveshare_esp32_s3_touch_lcd_5.menu.PSRAM.disabled.build.defines= +waveshare_esp32_s3_touch_lcd_5.menu.PSRAM.disabled.build.psram_type=qspi +waveshare_esp32_s3_touch_lcd_5.menu.PSRAM.enabled=Enabled +waveshare_esp32_s3_touch_lcd_5.menu.PSRAM.enabled.build.defines=-DBOARD_HAS_PSRAM +waveshare_esp32_s3_touch_lcd_5.menu.PSRAM.enabled.build.psram_type=opi + +waveshare_esp32_s3_touch_lcd_5.menu.FlashMode.qio=QIO 80MHz +waveshare_esp32_s3_touch_lcd_5.menu.FlashMode.qio.build.flash_mode=dio +waveshare_esp32_s3_touch_lcd_5.menu.FlashMode.qio.build.boot=qio +waveshare_esp32_s3_touch_lcd_5.menu.FlashMode.qio.build.boot_freq=80m +waveshare_esp32_s3_touch_lcd_5.menu.FlashMode.qio.build.flash_freq=80m +waveshare_esp32_s3_touch_lcd_5.menu.FlashMode.qio120=QIO 120MHz +waveshare_esp32_s3_touch_lcd_5.menu.FlashMode.qio120.build.flash_mode=dio +waveshare_esp32_s3_touch_lcd_5.menu.FlashMode.qio120.build.boot=qio +waveshare_esp32_s3_touch_lcd_5.menu.FlashMode.qio120.build.boot_freq=120m +waveshare_esp32_s3_touch_lcd_5.menu.FlashMode.qio120.build.flash_freq=80m + +waveshare_esp32_s3_touch_lcd_5.menu.LoopCore.1=Core 1 +waveshare_esp32_s3_touch_lcd_5.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1 +waveshare_esp32_s3_touch_lcd_5.menu.LoopCore.0=Core 0 +waveshare_esp32_s3_touch_lcd_5.menu.LoopCore.0.build.loop_core=-DARDUINO_RUNNING_CORE=0 + +waveshare_esp32_s3_touch_lcd_5.menu.EventsCore.1=Core 1 +waveshare_esp32_s3_touch_lcd_5.menu.EventsCore.1.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=1 +waveshare_esp32_s3_touch_lcd_5.menu.EventsCore.0=Core 0 +waveshare_esp32_s3_touch_lcd_5.menu.EventsCore.0.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=0 + +waveshare_esp32_s3_touch_lcd_5.menu.USBMode.hwcdc=Hardware CDC and JTAG +waveshare_esp32_s3_touch_lcd_5.menu.USBMode.hwcdc.build.usb_mode=1 +waveshare_esp32_s3_touch_lcd_5.menu.USBMode.default=USB-OTG (TinyUSB) +waveshare_esp32_s3_touch_lcd_5.menu.USBMode.default.build.usb_mode=0 + +waveshare_esp32_s3_touch_lcd_5.menu.CDCOnBoot.default=Disabled +waveshare_esp32_s3_touch_lcd_5.menu.CDCOnBoot.default.build.cdc_on_boot=0 +waveshare_esp32_s3_touch_lcd_5.menu.CDCOnBoot.cdc=Enabled +waveshare_esp32_s3_touch_lcd_5.menu.CDCOnBoot.cdc.build.cdc_on_boot=1 + +waveshare_esp32_s3_touch_lcd_5.menu.MSCOnBoot.default=Disabled +waveshare_esp32_s3_touch_lcd_5.menu.MSCOnBoot.default.build.msc_on_boot=0 +waveshare_esp32_s3_touch_lcd_5.menu.MSCOnBoot.msc=Enabled (Requires USB-OTG Mode) +waveshare_esp32_s3_touch_lcd_5.menu.MSCOnBoot.msc.build.msc_on_boot=1 + +waveshare_esp32_s3_touch_lcd_5.menu.DFUOnBoot.default=Disabled +waveshare_esp32_s3_touch_lcd_5.menu.DFUOnBoot.default.build.dfu_on_boot=0 +waveshare_esp32_s3_touch_lcd_5.menu.DFUOnBoot.dfu=Enabled (Requires USB-OTG Mode) +waveshare_esp32_s3_touch_lcd_5.menu.DFUOnBoot.dfu.build.dfu_on_boot=1 + +waveshare_esp32_s3_touch_lcd_5.menu.UploadMode.default=UART0 / Hardware CDC +waveshare_esp32_s3_touch_lcd_5.menu.UploadMode.default.upload.use_1200bps_touch=false +waveshare_esp32_s3_touch_lcd_5.menu.UploadMode.default.upload.wait_for_upload_port=false +waveshare_esp32_s3_touch_lcd_5.menu.UploadMode.cdc=USB-OTG CDC (TinyUSB) +waveshare_esp32_s3_touch_lcd_5.menu.UploadMode.cdc.upload.use_1200bps_touch=true +waveshare_esp32_s3_touch_lcd_5.menu.UploadMode.cdc.upload.wait_for_upload_port=true + +waveshare_esp32_s3_touch_lcd_5.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) +waveshare_esp32_s3_touch_lcd_5.menu.PartitionScheme.default=Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS) +waveshare_esp32_s3_touch_lcd_5.menu.PartitionScheme.default.build.partitions=default +waveshare_esp32_s3_touch_lcd_5.menu.PartitionScheme.defaultffat=Default 4MB with ffat (1.2MB APP/1.5MB FATFS) +waveshare_esp32_s3_touch_lcd_5.menu.PartitionScheme.defaultffat.build.partitions=default_ffat +waveshare_esp32_s3_touch_lcd_5.menu.PartitionScheme.no_ota=No OTA (2MB APP/2MB SPIFFS) +waveshare_esp32_s3_touch_lcd_5.menu.PartitionScheme.no_ota.build.partitions=no_ota +waveshare_esp32_s3_touch_lcd_5.menu.PartitionScheme.no_ota.upload.maximum_size=2097152 +waveshare_esp32_s3_touch_lcd_5.menu.PartitionScheme.noota_3g=No OTA (1MB APP/3MB SPIFFS) +waveshare_esp32_s3_touch_lcd_5.menu.PartitionScheme.noota_3g.build.partitions=noota_3g +waveshare_esp32_s3_touch_lcd_5.menu.PartitionScheme.noota_3g.upload.maximum_size=1048576 +waveshare_esp32_s3_touch_lcd_5.menu.PartitionScheme.noota_ffat=No OTA (2MB APP/2MB FATFS) +waveshare_esp32_s3_touch_lcd_5.menu.PartitionScheme.noota_ffat.build.partitions=noota_ffat +waveshare_esp32_s3_touch_lcd_5.menu.PartitionScheme.noota_ffat.upload.maximum_size=2097152 +waveshare_esp32_s3_touch_lcd_5.menu.PartitionScheme.noota_3gffat=No OTA (1MB APP/3MB FATFS) +waveshare_esp32_s3_touch_lcd_5.menu.PartitionScheme.noota_3gffat.build.partitions=noota_3gffat +waveshare_esp32_s3_touch_lcd_5.menu.PartitionScheme.noota_3gffat.upload.maximum_size=1048576 +waveshare_esp32_s3_touch_lcd_5.menu.PartitionScheme.huge_app=Huge APP (3MB No OTA/1MB SPIFFS) +waveshare_esp32_s3_touch_lcd_5.menu.PartitionScheme.huge_app.build.partitions=huge_app +waveshare_esp32_s3_touch_lcd_5.menu.PartitionScheme.huge_app.upload.maximum_size=3145728 +waveshare_esp32_s3_touch_lcd_5.menu.PartitionScheme.min_spiffs=Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS) +waveshare_esp32_s3_touch_lcd_5.menu.PartitionScheme.min_spiffs.build.partitions=min_spiffs +waveshare_esp32_s3_touch_lcd_5.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080 +waveshare_esp32_s3_touch_lcd_5.menu.PartitionScheme.rainmaker=RainMaker 4MB +waveshare_esp32_s3_touch_lcd_5.menu.PartitionScheme.rainmaker.build.partitions=rainmaker +waveshare_esp32_s3_touch_lcd_5.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +waveshare_esp32_s3_touch_lcd_5.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +waveshare_esp32_s3_touch_lcd_5.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +waveshare_esp32_s3_touch_lcd_5.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 +waveshare_esp32_s3_touch_lcd_5.menu.PartitionScheme.fatflash=16M Flash (2MB APP/12.5MB FATFS) +waveshare_esp32_s3_touch_lcd_5.menu.PartitionScheme.fatflash.build.partitions=ffat +waveshare_esp32_s3_touch_lcd_5.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 +waveshare_esp32_s3_touch_lcd_5.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) +waveshare_esp32_s3_touch_lcd_5.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB +waveshare_esp32_s3_touch_lcd_5.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 + +waveshare_esp32_s3_touch_lcd_5.menu.PartitionScheme.otanofs=OTA no FS (2MB APP with OTA) +waveshare_esp32_s3_touch_lcd_5.menu.PartitionScheme.otanofs.build.custom_partitions=partitions_otanofs_4MB +waveshare_esp32_s3_touch_lcd_5.menu.PartitionScheme.otanofs.upload.maximum_size=2031616 +waveshare_esp32_s3_touch_lcd_5.menu.PartitionScheme.all_app=Max APP (4MB APP no OTA) +waveshare_esp32_s3_touch_lcd_5.menu.PartitionScheme.all_app.build.custom_partitions=partitions_all_app_4MB +waveshare_esp32_s3_touch_lcd_5.menu.PartitionScheme.all_app.upload.maximum_size=4128768 + +waveshare_esp32_s3_touch_lcd_5.menu.PartitionScheme.custom=Custom +waveshare_esp32_s3_touch_lcd_5.menu.PartitionScheme.custom.build.partitions= +waveshare_esp32_s3_touch_lcd_5.menu.PartitionScheme.custom.upload.maximum_size=16777216 + +waveshare_esp32_s3_touch_lcd_5.menu.CPUFreq.240=240MHz (WiFi) +waveshare_esp32_s3_touch_lcd_5.menu.CPUFreq.240.build.f_cpu=240000000L +waveshare_esp32_s3_touch_lcd_5.menu.CPUFreq.160=160MHz (WiFi) +waveshare_esp32_s3_touch_lcd_5.menu.CPUFreq.160.build.f_cpu=160000000L +waveshare_esp32_s3_touch_lcd_5.menu.CPUFreq.80=80MHz (WiFi) +waveshare_esp32_s3_touch_lcd_5.menu.CPUFreq.80.build.f_cpu=80000000L +waveshare_esp32_s3_touch_lcd_5.menu.CPUFreq.40=40MHz +waveshare_esp32_s3_touch_lcd_5.menu.CPUFreq.40.build.f_cpu=40000000L +waveshare_esp32_s3_touch_lcd_5.menu.CPUFreq.20=20MHz +waveshare_esp32_s3_touch_lcd_5.menu.CPUFreq.20.build.f_cpu=20000000L +waveshare_esp32_s3_touch_lcd_5.menu.CPUFreq.10=10MHz +waveshare_esp32_s3_touch_lcd_5.menu.CPUFreq.10.build.f_cpu=10000000L + +waveshare_esp32_s3_touch_lcd_5.menu.UploadSpeed.921600=921600 +waveshare_esp32_s3_touch_lcd_5.menu.UploadSpeed.921600.upload.speed=921600 +waveshare_esp32_s3_touch_lcd_5.menu.UploadSpeed.115200=115200 +waveshare_esp32_s3_touch_lcd_5.menu.UploadSpeed.115200.upload.speed=115200 +waveshare_esp32_s3_touch_lcd_5.menu.UploadSpeed.256000.windows=256000 +waveshare_esp32_s3_touch_lcd_5.menu.UploadSpeed.256000.upload.speed=256000 +waveshare_esp32_s3_touch_lcd_5.menu.UploadSpeed.230400.windows.upload.speed=256000 +waveshare_esp32_s3_touch_lcd_5.menu.UploadSpeed.230400=230400 +waveshare_esp32_s3_touch_lcd_5.menu.UploadSpeed.230400.upload.speed=230400 +waveshare_esp32_s3_touch_lcd_5.menu.UploadSpeed.460800.linux=460800 +waveshare_esp32_s3_touch_lcd_5.menu.UploadSpeed.460800.macosx=460800 +waveshare_esp32_s3_touch_lcd_5.menu.UploadSpeed.460800.upload.speed=460800 +waveshare_esp32_s3_touch_lcd_5.menu.UploadSpeed.512000.windows=512000 +waveshare_esp32_s3_touch_lcd_5.menu.UploadSpeed.512000.upload.speed=512000 + +waveshare_esp32_s3_touch_lcd_5.menu.DebugLevel.none=None +waveshare_esp32_s3_touch_lcd_5.menu.DebugLevel.none.build.code_debug=0 +waveshare_esp32_s3_touch_lcd_5.menu.DebugLevel.error=Error +waveshare_esp32_s3_touch_lcd_5.menu.DebugLevel.error.build.code_debug=1 +waveshare_esp32_s3_touch_lcd_5.menu.DebugLevel.warn=Warn +waveshare_esp32_s3_touch_lcd_5.menu.DebugLevel.warn.build.code_debug=2 +waveshare_esp32_s3_touch_lcd_5.menu.DebugLevel.info=Info +waveshare_esp32_s3_touch_lcd_5.menu.DebugLevel.info.build.code_debug=3 +waveshare_esp32_s3_touch_lcd_5.menu.DebugLevel.debug=Debug +waveshare_esp32_s3_touch_lcd_5.menu.DebugLevel.debug.build.code_debug=4 +waveshare_esp32_s3_touch_lcd_5.menu.DebugLevel.verbose=Verbose +waveshare_esp32_s3_touch_lcd_5.menu.DebugLevel.verbose.build.code_debug=5 + +waveshare_esp32_s3_touch_lcd_5.menu.EraseFlash.none=Disabled +waveshare_esp32_s3_touch_lcd_5.menu.EraseFlash.none.upload.erase_cmd= +waveshare_esp32_s3_touch_lcd_5.menu.EraseFlash.all=Enabled +waveshare_esp32_s3_touch_lcd_5.menu.EraseFlash.all.upload.erase_cmd=-e + +############################################################## + +waveshare_esp32_s3_touch_lcd_5B.name=Waveshare ESP32-S3-Touch-LCD-5B +waveshare_esp32_s3_touch_lcd_5B.vid.0=0x303a +waveshare_esp32_s3_touch_lcd_5B.pid.0=0x823A +waveshare_esp32_s3_touch_lcd_5B.upload_port.0.vid=0x303a +waveshare_esp32_s3_touch_lcd_5B.upload_port.0.pid=0x823A + +waveshare_esp32_s3_touch_lcd_5B.bootloader.tool=esptool_py +waveshare_esp32_s3_touch_lcd_5B.bootloader.tool.default=esptool_py + +waveshare_esp32_s3_touch_lcd_5B.upload.tool=esptool_py +waveshare_esp32_s3_touch_lcd_5B.upload.tool.default=esptool_py +waveshare_esp32_s3_touch_lcd_5B.upload.tool.network=esp_ota + +waveshare_esp32_s3_touch_lcd_5B.upload.maximum_size=1310720 + +waveshare_esp32_s3_touch_lcd_5B.upload.maximum_data_size=327680 +waveshare_esp32_s3_touch_lcd_5B.upload.flags= +waveshare_esp32_s3_touch_lcd_5B.upload.extra_flags= +waveshare_esp32_s3_touch_lcd_5B.upload.use_1200bps_touch=false +waveshare_esp32_s3_touch_lcd_5B.upload.wait_for_upload_port=false + +waveshare_esp32_s3_touch_lcd_5B.serial.disableDTR=false +waveshare_esp32_s3_touch_lcd_5B.serial.disableRTS=false + +waveshare_esp32_s3_touch_lcd_5B.build.tarch=xtensa +waveshare_esp32_s3_touch_lcd_5B.build.bootloader_addr=0x0 +waveshare_esp32_s3_touch_lcd_5B.build.target=esp32s3 +waveshare_esp32_s3_touch_lcd_5B.build.mcu=esp32s3 +waveshare_esp32_s3_touch_lcd_5B.build.core=esp32 +waveshare_esp32_s3_touch_lcd_5B.build.variant=waveshare_esp32_s3_touch_lcd_5b +waveshare_esp32_s3_touch_lcd_5B.build.board=WAVESHARE_ESP32_S3_TOUCH_LCD_5B + +waveshare_esp32_s3_touch_lcd_5B.build.usb_mode=1 +waveshare_esp32_s3_touch_lcd_5B.build.cdc_on_boot=0 +waveshare_esp32_s3_touch_lcd_5B.build.msc_on_boot=0 +waveshare_esp32_s3_touch_lcd_5B.build.dfu_on_boot=0 +waveshare_esp32_s3_touch_lcd_5B.build.f_cpu=240000000L +waveshare_esp32_s3_touch_lcd_5B.build.flash_size=16MB +waveshare_esp32_s3_touch_lcd_5B.build.flash_freq=80m +waveshare_esp32_s3_touch_lcd_5B.build.flash_mode=dio +waveshare_esp32_s3_touch_lcd_5B.build.boot=qio +waveshare_esp32_s3_touch_lcd_5B.build.boot_freq=80m +waveshare_esp32_s3_touch_lcd_5B.build.partitions=default +waveshare_esp32_s3_touch_lcd_5B.build.defines= +waveshare_esp32_s3_touch_lcd_5B.build.loop_core= +waveshare_esp32_s3_touch_lcd_5B.build.event_core= +waveshare_esp32_s3_touch_lcd_5B.build.psram_type=qspi +waveshare_esp32_s3_touch_lcd_5B.build.memory_type={build.boot}_{build.psram_type} + +waveshare_esp32_s3_touch_lcd_5B.menu.PSRAM.disabled=Disabled +waveshare_esp32_s3_touch_lcd_5B.menu.PSRAM.disabled.build.defines= +waveshare_esp32_s3_touch_lcd_5B.menu.PSRAM.disabled.build.psram_type=qspi +waveshare_esp32_s3_touch_lcd_5B.menu.PSRAM.enabled=Enabled +waveshare_esp32_s3_touch_lcd_5B.menu.PSRAM.enabled.build.defines=-DBOARD_HAS_PSRAM +waveshare_esp32_s3_touch_lcd_5B.menu.PSRAM.enabled.build.psram_type=opi + +waveshare_esp32_s3_touch_lcd_5B.menu.FlashMode.qio=QIO 80MHz +waveshare_esp32_s3_touch_lcd_5B.menu.FlashMode.qio.build.flash_mode=dio +waveshare_esp32_s3_touch_lcd_5B.menu.FlashMode.qio.build.boot=qio +waveshare_esp32_s3_touch_lcd_5B.menu.FlashMode.qio.build.boot_freq=80m +waveshare_esp32_s3_touch_lcd_5B.menu.FlashMode.qio.build.flash_freq=80m +waveshare_esp32_s3_touch_lcd_5B.menu.FlashMode.qio120=QIO 120MHz +waveshare_esp32_s3_touch_lcd_5B.menu.FlashMode.qio120.build.flash_mode=dio +waveshare_esp32_s3_touch_lcd_5B.menu.FlashMode.qio120.build.boot=qio +waveshare_esp32_s3_touch_lcd_5B.menu.FlashMode.qio120.build.boot_freq=120m +waveshare_esp32_s3_touch_lcd_5B.menu.FlashMode.qio120.build.flash_freq=80m + +waveshare_esp32_s3_touch_lcd_5B.menu.LoopCore.1=Core 1 +waveshare_esp32_s3_touch_lcd_5B.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1 +waveshare_esp32_s3_touch_lcd_5B.menu.LoopCore.0=Core 0 +waveshare_esp32_s3_touch_lcd_5B.menu.LoopCore.0.build.loop_core=-DARDUINO_RUNNING_CORE=0 + +waveshare_esp32_s3_touch_lcd_5B.menu.EventsCore.1=Core 1 +waveshare_esp32_s3_touch_lcd_5B.menu.EventsCore.1.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=1 +waveshare_esp32_s3_touch_lcd_5B.menu.EventsCore.0=Core 0 +waveshare_esp32_s3_touch_lcd_5B.menu.EventsCore.0.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=0 + +waveshare_esp32_s3_touch_lcd_5B.menu.USBMode.hwcdc=Hardware CDC and JTAG +waveshare_esp32_s3_touch_lcd_5B.menu.USBMode.hwcdc.build.usb_mode=1 +waveshare_esp32_s3_touch_lcd_5B.menu.USBMode.default=USB-OTG (TinyUSB) +waveshare_esp32_s3_touch_lcd_5B.menu.USBMode.default.build.usb_mode=0 + +waveshare_esp32_s3_touch_lcd_5B.menu.CDCOnBoot.default=Disabled +waveshare_esp32_s3_touch_lcd_5B.menu.CDCOnBoot.default.build.cdc_on_boot=0 +waveshare_esp32_s3_touch_lcd_5B.menu.CDCOnBoot.cdc=Enabled +waveshare_esp32_s3_touch_lcd_5B.menu.CDCOnBoot.cdc.build.cdc_on_boot=1 + +waveshare_esp32_s3_touch_lcd_5B.menu.MSCOnBoot.default=Disabled +waveshare_esp32_s3_touch_lcd_5B.menu.MSCOnBoot.default.build.msc_on_boot=0 +waveshare_esp32_s3_touch_lcd_5B.menu.MSCOnBoot.msc=Enabled (Requires USB-OTG Mode) +waveshare_esp32_s3_touch_lcd_5B.menu.MSCOnBoot.msc.build.msc_on_boot=1 + +waveshare_esp32_s3_touch_lcd_5B.menu.DFUOnBoot.default=Disabled +waveshare_esp32_s3_touch_lcd_5B.menu.DFUOnBoot.default.build.dfu_on_boot=0 +waveshare_esp32_s3_touch_lcd_5B.menu.DFUOnBoot.dfu=Enabled (Requires USB-OTG Mode) +waveshare_esp32_s3_touch_lcd_5B.menu.DFUOnBoot.dfu.build.dfu_on_boot=1 + +waveshare_esp32_s3_touch_lcd_5B.menu.UploadMode.default=UART0 / Hardware CDC +waveshare_esp32_s3_touch_lcd_5B.menu.UploadMode.default.upload.use_1200bps_touch=false +waveshare_esp32_s3_touch_lcd_5B.menu.UploadMode.default.upload.wait_for_upload_port=false +waveshare_esp32_s3_touch_lcd_5B.menu.UploadMode.cdc=USB-OTG CDC (TinyUSB) +waveshare_esp32_s3_touch_lcd_5B.menu.UploadMode.cdc.upload.use_1200bps_touch=true +waveshare_esp32_s3_touch_lcd_5B.menu.UploadMode.cdc.upload.wait_for_upload_port=true + +waveshare_esp32_s3_touch_lcd_5B.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) +waveshare_esp32_s3_touch_lcd_5B.menu.PartitionScheme.default=Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS) +waveshare_esp32_s3_touch_lcd_5B.menu.PartitionScheme.default.build.partitions=default +waveshare_esp32_s3_touch_lcd_5B.menu.PartitionScheme.defaultffat=Default 4MB with ffat (1.2MB APP/1.5MB FATFS) +waveshare_esp32_s3_touch_lcd_5B.menu.PartitionScheme.defaultffat.build.partitions=default_ffat +waveshare_esp32_s3_touch_lcd_5B.menu.PartitionScheme.no_ota=No OTA (2MB APP/2MB SPIFFS) +waveshare_esp32_s3_touch_lcd_5B.menu.PartitionScheme.no_ota.build.partitions=no_ota +waveshare_esp32_s3_touch_lcd_5B.menu.PartitionScheme.no_ota.upload.maximum_size=2097152 +waveshare_esp32_s3_touch_lcd_5B.menu.PartitionScheme.noota_3g=No OTA (1MB APP/3MB SPIFFS) +waveshare_esp32_s3_touch_lcd_5B.menu.PartitionScheme.noota_3g.build.partitions=noota_3g +waveshare_esp32_s3_touch_lcd_5B.menu.PartitionScheme.noota_3g.upload.maximum_size=1048576 +waveshare_esp32_s3_touch_lcd_5B.menu.PartitionScheme.noota_ffat=No OTA (2MB APP/2MB FATFS) +waveshare_esp32_s3_touch_lcd_5B.menu.PartitionScheme.noota_ffat.build.partitions=noota_ffat +waveshare_esp32_s3_touch_lcd_5B.menu.PartitionScheme.noota_ffat.upload.maximum_size=2097152 +waveshare_esp32_s3_touch_lcd_5B.menu.PartitionScheme.noota_3gffat=No OTA (1MB APP/3MB FATFS) +waveshare_esp32_s3_touch_lcd_5B.menu.PartitionScheme.noota_3gffat.build.partitions=noota_3gffat +waveshare_esp32_s3_touch_lcd_5B.menu.PartitionScheme.noota_3gffat.upload.maximum_size=1048576 +waveshare_esp32_s3_touch_lcd_5B.menu.PartitionScheme.huge_app=Huge APP (3MB No OTA/1MB SPIFFS) +waveshare_esp32_s3_touch_lcd_5B.menu.PartitionScheme.huge_app.build.partitions=huge_app +waveshare_esp32_s3_touch_lcd_5B.menu.PartitionScheme.huge_app.upload.maximum_size=3145728 +waveshare_esp32_s3_touch_lcd_5B.menu.PartitionScheme.min_spiffs=Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS) +waveshare_esp32_s3_touch_lcd_5B.menu.PartitionScheme.min_spiffs.build.partitions=min_spiffs +waveshare_esp32_s3_touch_lcd_5B.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080 +waveshare_esp32_s3_touch_lcd_5B.menu.PartitionScheme.rainmaker=RainMaker 4MB +waveshare_esp32_s3_touch_lcd_5B.menu.PartitionScheme.rainmaker.build.partitions=rainmaker +waveshare_esp32_s3_touch_lcd_5B.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +waveshare_esp32_s3_touch_lcd_5B.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +waveshare_esp32_s3_touch_lcd_5B.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +waveshare_esp32_s3_touch_lcd_5B.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 +waveshare_esp32_s3_touch_lcd_5B.menu.PartitionScheme.fatflash=16M Flash (2MB APP/12.5MB FATFS) +waveshare_esp32_s3_touch_lcd_5B.menu.PartitionScheme.fatflash.build.partitions=ffat +waveshare_esp32_s3_touch_lcd_5B.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 +waveshare_esp32_s3_touch_lcd_5B.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) +waveshare_esp32_s3_touch_lcd_5B.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB +waveshare_esp32_s3_touch_lcd_5B.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 + +waveshare_esp32_s3_touch_lcd_5B.menu.PartitionScheme.otanofs=OTA no FS (2MB APP with OTA) +waveshare_esp32_s3_touch_lcd_5B.menu.PartitionScheme.otanofs.build.custom_partitions=partitions_otanofs_4MB +waveshare_esp32_s3_touch_lcd_5B.menu.PartitionScheme.otanofs.upload.maximum_size=2031616 +waveshare_esp32_s3_touch_lcd_5B.menu.PartitionScheme.all_app=Max APP (4MB APP no OTA) +waveshare_esp32_s3_touch_lcd_5B.menu.PartitionScheme.all_app.build.custom_partitions=partitions_all_app_4MB +waveshare_esp32_s3_touch_lcd_5B.menu.PartitionScheme.all_app.upload.maximum_size=4128768 + +waveshare_esp32_s3_touch_lcd_5B.menu.PartitionScheme.custom=Custom +waveshare_esp32_s3_touch_lcd_5B.menu.PartitionScheme.custom.build.partitions= +waveshare_esp32_s3_touch_lcd_5B.menu.PartitionScheme.custom.upload.maximum_size=16777216 + +waveshare_esp32_s3_touch_lcd_5B.menu.CPUFreq.240=240MHz (WiFi) +waveshare_esp32_s3_touch_lcd_5B.menu.CPUFreq.240.build.f_cpu=240000000L +waveshare_esp32_s3_touch_lcd_5B.menu.CPUFreq.160=160MHz (WiFi) +waveshare_esp32_s3_touch_lcd_5B.menu.CPUFreq.160.build.f_cpu=160000000L +waveshare_esp32_s3_touch_lcd_5B.menu.CPUFreq.80=80MHz (WiFi) +waveshare_esp32_s3_touch_lcd_5B.menu.CPUFreq.80.build.f_cpu=80000000L +waveshare_esp32_s3_touch_lcd_5B.menu.CPUFreq.40=40MHz +waveshare_esp32_s3_touch_lcd_5B.menu.CPUFreq.40.build.f_cpu=40000000L +waveshare_esp32_s3_touch_lcd_5B.menu.CPUFreq.20=20MHz +waveshare_esp32_s3_touch_lcd_5B.menu.CPUFreq.20.build.f_cpu=20000000L +waveshare_esp32_s3_touch_lcd_5B.menu.CPUFreq.10=10MHz +waveshare_esp32_s3_touch_lcd_5B.menu.CPUFreq.10.build.f_cpu=10000000L + +waveshare_esp32_s3_touch_lcd_5B.menu.UploadSpeed.921600=921600 +waveshare_esp32_s3_touch_lcd_5B.menu.UploadSpeed.921600.upload.speed=921600 +waveshare_esp32_s3_touch_lcd_5B.menu.UploadSpeed.115200=115200 +waveshare_esp32_s3_touch_lcd_5B.menu.UploadSpeed.115200.upload.speed=115200 +waveshare_esp32_s3_touch_lcd_5B.menu.UploadSpeed.256000.windows=256000 +waveshare_esp32_s3_touch_lcd_5B.menu.UploadSpeed.256000.upload.speed=256000 +waveshare_esp32_s3_touch_lcd_5B.menu.UploadSpeed.230400.windows.upload.speed=256000 +waveshare_esp32_s3_touch_lcd_5B.menu.UploadSpeed.230400=230400 +waveshare_esp32_s3_touch_lcd_5B.menu.UploadSpeed.230400.upload.speed=230400 +waveshare_esp32_s3_touch_lcd_5B.menu.UploadSpeed.460800.linux=460800 +waveshare_esp32_s3_touch_lcd_5B.menu.UploadSpeed.460800.macosx=460800 +waveshare_esp32_s3_touch_lcd_5B.menu.UploadSpeed.460800.upload.speed=460800 +waveshare_esp32_s3_touch_lcd_5B.menu.UploadSpeed.512000.windows=512000 +waveshare_esp32_s3_touch_lcd_5B.menu.UploadSpeed.512000.upload.speed=512000 + +waveshare_esp32_s3_touch_lcd_5B.menu.DebugLevel.none=None +waveshare_esp32_s3_touch_lcd_5B.menu.DebugLevel.none.build.code_debug=0 +waveshare_esp32_s3_touch_lcd_5B.menu.DebugLevel.error=Error +waveshare_esp32_s3_touch_lcd_5B.menu.DebugLevel.error.build.code_debug=1 +waveshare_esp32_s3_touch_lcd_5B.menu.DebugLevel.warn=Warn +waveshare_esp32_s3_touch_lcd_5B.menu.DebugLevel.warn.build.code_debug=2 +waveshare_esp32_s3_touch_lcd_5B.menu.DebugLevel.info=Info +waveshare_esp32_s3_touch_lcd_5B.menu.DebugLevel.info.build.code_debug=3 +waveshare_esp32_s3_touch_lcd_5B.menu.DebugLevel.debug=Debug +waveshare_esp32_s3_touch_lcd_5B.menu.DebugLevel.debug.build.code_debug=4 +waveshare_esp32_s3_touch_lcd_5B.menu.DebugLevel.verbose=Verbose +waveshare_esp32_s3_touch_lcd_5B.menu.DebugLevel.verbose.build.code_debug=5 + +waveshare_esp32_s3_touch_lcd_5B.menu.EraseFlash.none=Disabled +waveshare_esp32_s3_touch_lcd_5B.menu.EraseFlash.none.upload.erase_cmd= +waveshare_esp32_s3_touch_lcd_5B.menu.EraseFlash.all=Enabled +waveshare_esp32_s3_touch_lcd_5B.menu.EraseFlash.all.upload.erase_cmd=-e + +############################################################## + +waveshare_esp32_s3_touch_lcd_4.name=Waveshare ESP32-S3-Touch-LCD-4 +waveshare_esp32_s3_touch_lcd_4.vid.0=0x303a +waveshare_esp32_s3_touch_lcd_4.pid.0=0x823D +waveshare_esp32_s3_touch_lcd_4.upload_port.0.vid=0x303a +waveshare_esp32_s3_touch_lcd_4.upload_port.0.pid=0x823D + +waveshare_esp32_s3_touch_lcd_4.bootloader.tool=esptool_py +waveshare_esp32_s3_touch_lcd_4.bootloader.tool.default=esptool_py + +waveshare_esp32_s3_touch_lcd_4.upload.tool=esptool_py +waveshare_esp32_s3_touch_lcd_4.upload.tool.default=esptool_py +waveshare_esp32_s3_touch_lcd_4.upload.tool.network=esp_ota + +waveshare_esp32_s3_touch_lcd_4.upload.maximum_size=1310720 + +waveshare_esp32_s3_touch_lcd_4.upload.maximum_data_size=327680 +waveshare_esp32_s3_touch_lcd_4.upload.flags= +waveshare_esp32_s3_touch_lcd_4.upload.extra_flags= +waveshare_esp32_s3_touch_lcd_4.upload.use_1200bps_touch=false +waveshare_esp32_s3_touch_lcd_4.upload.wait_for_upload_port=false + +waveshare_esp32_s3_touch_lcd_4.serial.disableDTR=false +waveshare_esp32_s3_touch_lcd_4.serial.disableRTS=false + +waveshare_esp32_s3_touch_lcd_4.build.tarch=xtensa +waveshare_esp32_s3_touch_lcd_4.build.bootloader_addr=0x0 +waveshare_esp32_s3_touch_lcd_4.build.target=esp32s3 +waveshare_esp32_s3_touch_lcd_4.build.mcu=esp32s3 +waveshare_esp32_s3_touch_lcd_4.build.core=esp32 +waveshare_esp32_s3_touch_lcd_4.build.variant=waveshare_esp32_s3_touch_lcd_4 +waveshare_esp32_s3_touch_lcd_4.build.board=WAVESHARE_ESP32_S3_TOUCH_LCD_4 + +waveshare_esp32_s3_touch_lcd_4.build.usb_mode=1 +waveshare_esp32_s3_touch_lcd_4.build.cdc_on_boot=0 +waveshare_esp32_s3_touch_lcd_4.build.msc_on_boot=0 +waveshare_esp32_s3_touch_lcd_4.build.dfu_on_boot=0 +waveshare_esp32_s3_touch_lcd_4.build.f_cpu=240000000L +waveshare_esp32_s3_touch_lcd_4.build.flash_size=16MB +waveshare_esp32_s3_touch_lcd_4.build.flash_freq=80m +waveshare_esp32_s3_touch_lcd_4.build.flash_mode=dio +waveshare_esp32_s3_touch_lcd_4.build.boot=qio +waveshare_esp32_s3_touch_lcd_4.build.boot_freq=80m +waveshare_esp32_s3_touch_lcd_4.build.partitions=default +waveshare_esp32_s3_touch_lcd_4.build.defines= +waveshare_esp32_s3_touch_lcd_4.build.loop_core= +waveshare_esp32_s3_touch_lcd_4.build.event_core= +waveshare_esp32_s3_touch_lcd_4.build.psram_type=qspi +waveshare_esp32_s3_touch_lcd_4.build.memory_type={build.boot}_{build.psram_type} + +waveshare_esp32_s3_touch_lcd_4.menu.PSRAM.disabled=Disabled +waveshare_esp32_s3_touch_lcd_4.menu.PSRAM.disabled.build.defines= +waveshare_esp32_s3_touch_lcd_4.menu.PSRAM.disabled.build.psram_type=qspi +waveshare_esp32_s3_touch_lcd_4.menu.PSRAM.enabled=Enabled +waveshare_esp32_s3_touch_lcd_4.menu.PSRAM.enabled.build.defines=-DBOARD_HAS_PSRAM +waveshare_esp32_s3_touch_lcd_4.menu.PSRAM.enabled.build.psram_type=opi + +waveshare_esp32_s3_touch_lcd_4.menu.FlashMode.qio=QIO 80MHz +waveshare_esp32_s3_touch_lcd_4.menu.FlashMode.qio.build.flash_mode=dio +waveshare_esp32_s3_touch_lcd_4.menu.FlashMode.qio.build.boot=qio +waveshare_esp32_s3_touch_lcd_4.menu.FlashMode.qio.build.boot_freq=80m +waveshare_esp32_s3_touch_lcd_4.menu.FlashMode.qio.build.flash_freq=80m +waveshare_esp32_s3_touch_lcd_4.menu.FlashMode.qio120=QIO 120MHz +waveshare_esp32_s3_touch_lcd_4.menu.FlashMode.qio120.build.flash_mode=dio +waveshare_esp32_s3_touch_lcd_4.menu.FlashMode.qio120.build.boot=qio +waveshare_esp32_s3_touch_lcd_4.menu.FlashMode.qio120.build.boot_freq=120m +waveshare_esp32_s3_touch_lcd_4.menu.FlashMode.qio120.build.flash_freq=80m + +waveshare_esp32_s3_touch_lcd_4.menu.LoopCore.1=Core 1 +waveshare_esp32_s3_touch_lcd_4.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1 +waveshare_esp32_s3_touch_lcd_4.menu.LoopCore.0=Core 0 +waveshare_esp32_s3_touch_lcd_4.menu.LoopCore.0.build.loop_core=-DARDUINO_RUNNING_CORE=0 + +waveshare_esp32_s3_touch_lcd_4.menu.EventsCore.1=Core 1 +waveshare_esp32_s3_touch_lcd_4.menu.EventsCore.1.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=1 +waveshare_esp32_s3_touch_lcd_4.menu.EventsCore.0=Core 0 +waveshare_esp32_s3_touch_lcd_4.menu.EventsCore.0.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=0 + +waveshare_esp32_s3_touch_lcd_4.menu.USBMode.hwcdc=Hardware CDC and JTAG +waveshare_esp32_s3_touch_lcd_4.menu.USBMode.hwcdc.build.usb_mode=1 +waveshare_esp32_s3_touch_lcd_4.menu.USBMode.default=USB-OTG (TinyUSB) +waveshare_esp32_s3_touch_lcd_4.menu.USBMode.default.build.usb_mode=0 + +waveshare_esp32_s3_touch_lcd_4.menu.CDCOnBoot.default=Disabled +waveshare_esp32_s3_touch_lcd_4.menu.CDCOnBoot.default.build.cdc_on_boot=0 +waveshare_esp32_s3_touch_lcd_4.menu.CDCOnBoot.cdc=Enabled +waveshare_esp32_s3_touch_lcd_4.menu.CDCOnBoot.cdc.build.cdc_on_boot=1 + +waveshare_esp32_s3_touch_lcd_4.menu.MSCOnBoot.default=Disabled +waveshare_esp32_s3_touch_lcd_4.menu.MSCOnBoot.default.build.msc_on_boot=0 +waveshare_esp32_s3_touch_lcd_4.menu.MSCOnBoot.msc=Enabled (Requires USB-OTG Mode) +waveshare_esp32_s3_touch_lcd_4.menu.MSCOnBoot.msc.build.msc_on_boot=1 + +waveshare_esp32_s3_touch_lcd_4.menu.DFUOnBoot.default=Disabled +waveshare_esp32_s3_touch_lcd_4.menu.DFUOnBoot.default.build.dfu_on_boot=0 +waveshare_esp32_s3_touch_lcd_4.menu.DFUOnBoot.dfu=Enabled (Requires USB-OTG Mode) +waveshare_esp32_s3_touch_lcd_4.menu.DFUOnBoot.dfu.build.dfu_on_boot=1 + +waveshare_esp32_s3_touch_lcd_4.menu.UploadMode.default=UART0 / Hardware CDC +waveshare_esp32_s3_touch_lcd_4.menu.UploadMode.default.upload.use_1200bps_touch=false +waveshare_esp32_s3_touch_lcd_4.menu.UploadMode.default.upload.wait_for_upload_port=false +waveshare_esp32_s3_touch_lcd_4.menu.UploadMode.cdc=USB-OTG CDC (TinyUSB) +waveshare_esp32_s3_touch_lcd_4.menu.UploadMode.cdc.upload.use_1200bps_touch=true +waveshare_esp32_s3_touch_lcd_4.menu.UploadMode.cdc.upload.wait_for_upload_port=true + +waveshare_esp32_s3_touch_lcd_4.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) +waveshare_esp32_s3_touch_lcd_4.menu.PartitionScheme.default=Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS) +waveshare_esp32_s3_touch_lcd_4.menu.PartitionScheme.default.build.partitions=default +waveshare_esp32_s3_touch_lcd_4.menu.PartitionScheme.defaultffat=Default 4MB with ffat (1.2MB APP/1.5MB FATFS) +waveshare_esp32_s3_touch_lcd_4.menu.PartitionScheme.defaultffat.build.partitions=default_ffat +waveshare_esp32_s3_touch_lcd_4.menu.PartitionScheme.no_ota=No OTA (2MB APP/2MB SPIFFS) +waveshare_esp32_s3_touch_lcd_4.menu.PartitionScheme.no_ota.build.partitions=no_ota +waveshare_esp32_s3_touch_lcd_4.menu.PartitionScheme.no_ota.upload.maximum_size=2097152 +waveshare_esp32_s3_touch_lcd_4.menu.PartitionScheme.noota_3g=No OTA (1MB APP/3MB SPIFFS) +waveshare_esp32_s3_touch_lcd_4.menu.PartitionScheme.noota_3g.build.partitions=noota_3g +waveshare_esp32_s3_touch_lcd_4.menu.PartitionScheme.noota_3g.upload.maximum_size=1048576 +waveshare_esp32_s3_touch_lcd_4.menu.PartitionScheme.noota_ffat=No OTA (2MB APP/2MB FATFS) +waveshare_esp32_s3_touch_lcd_4.menu.PartitionScheme.noota_ffat.build.partitions=noota_ffat +waveshare_esp32_s3_touch_lcd_4.menu.PartitionScheme.noota_ffat.upload.maximum_size=2097152 +waveshare_esp32_s3_touch_lcd_4.menu.PartitionScheme.noota_3gffat=No OTA (1MB APP/3MB FATFS) +waveshare_esp32_s3_touch_lcd_4.menu.PartitionScheme.noota_3gffat.build.partitions=noota_3gffat +waveshare_esp32_s3_touch_lcd_4.menu.PartitionScheme.noota_3gffat.upload.maximum_size=1048576 +waveshare_esp32_s3_touch_lcd_4.menu.PartitionScheme.huge_app=Huge APP (3MB No OTA/1MB SPIFFS) +waveshare_esp32_s3_touch_lcd_4.menu.PartitionScheme.huge_app.build.partitions=huge_app +waveshare_esp32_s3_touch_lcd_4.menu.PartitionScheme.huge_app.upload.maximum_size=3145728 +waveshare_esp32_s3_touch_lcd_4.menu.PartitionScheme.min_spiffs=Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS) +waveshare_esp32_s3_touch_lcd_4.menu.PartitionScheme.min_spiffs.build.partitions=min_spiffs +waveshare_esp32_s3_touch_lcd_4.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080 +waveshare_esp32_s3_touch_lcd_4.menu.PartitionScheme.rainmaker=RainMaker 4MB +waveshare_esp32_s3_touch_lcd_4.menu.PartitionScheme.rainmaker.build.partitions=rainmaker +waveshare_esp32_s3_touch_lcd_4.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +waveshare_esp32_s3_touch_lcd_4.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +waveshare_esp32_s3_touch_lcd_4.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +waveshare_esp32_s3_touch_lcd_4.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 +waveshare_esp32_s3_touch_lcd_4.menu.PartitionScheme.fatflash=16M Flash (2MB APP/12.5MB FATFS) +waveshare_esp32_s3_touch_lcd_4.menu.PartitionScheme.fatflash.build.partitions=ffat +waveshare_esp32_s3_touch_lcd_4.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 +waveshare_esp32_s3_touch_lcd_4.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) +waveshare_esp32_s3_touch_lcd_4.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB +waveshare_esp32_s3_touch_lcd_4.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 + +waveshare_esp32_s3_touch_lcd_4.menu.PartitionScheme.otanofs=OTA no FS (2MB APP with OTA) +waveshare_esp32_s3_touch_lcd_4.menu.PartitionScheme.otanofs.build.custom_partitions=partitions_otanofs_4MB +waveshare_esp32_s3_touch_lcd_4.menu.PartitionScheme.otanofs.upload.maximum_size=2031616 +waveshare_esp32_s3_touch_lcd_4.menu.PartitionScheme.all_app=Max APP (4MB APP no OTA) +waveshare_esp32_s3_touch_lcd_4.menu.PartitionScheme.all_app.build.custom_partitions=partitions_all_app_4MB +waveshare_esp32_s3_touch_lcd_4.menu.PartitionScheme.all_app.upload.maximum_size=4128768 + +waveshare_esp32_s3_touch_lcd_4.menu.PartitionScheme.custom=Custom +waveshare_esp32_s3_touch_lcd_4.menu.PartitionScheme.custom.build.partitions= +waveshare_esp32_s3_touch_lcd_4.menu.PartitionScheme.custom.upload.maximum_size=16777216 + +waveshare_esp32_s3_touch_lcd_4.menu.CPUFreq.240=240MHz (WiFi) +waveshare_esp32_s3_touch_lcd_4.menu.CPUFreq.240.build.f_cpu=240000000L +waveshare_esp32_s3_touch_lcd_4.menu.CPUFreq.160=160MHz (WiFi) +waveshare_esp32_s3_touch_lcd_4.menu.CPUFreq.160.build.f_cpu=160000000L +waveshare_esp32_s3_touch_lcd_4.menu.CPUFreq.80=80MHz (WiFi) +waveshare_esp32_s3_touch_lcd_4.menu.CPUFreq.80.build.f_cpu=80000000L +waveshare_esp32_s3_touch_lcd_4.menu.CPUFreq.40=40MHz +waveshare_esp32_s3_touch_lcd_4.menu.CPUFreq.40.build.f_cpu=40000000L +waveshare_esp32_s3_touch_lcd_4.menu.CPUFreq.20=20MHz +waveshare_esp32_s3_touch_lcd_4.menu.CPUFreq.20.build.f_cpu=20000000L +waveshare_esp32_s3_touch_lcd_4.menu.CPUFreq.10=10MHz +waveshare_esp32_s3_touch_lcd_4.menu.CPUFreq.10.build.f_cpu=10000000L + +waveshare_esp32_s3_touch_lcd_4.menu.UploadSpeed.921600=921600 +waveshare_esp32_s3_touch_lcd_4.menu.UploadSpeed.921600.upload.speed=921600 +waveshare_esp32_s3_touch_lcd_4.menu.UploadSpeed.115200=115200 +waveshare_esp32_s3_touch_lcd_4.menu.UploadSpeed.115200.upload.speed=115200 +waveshare_esp32_s3_touch_lcd_4.menu.UploadSpeed.256000.windows=256000 +waveshare_esp32_s3_touch_lcd_4.menu.UploadSpeed.256000.upload.speed=256000 +waveshare_esp32_s3_touch_lcd_4.menu.UploadSpeed.230400.windows.upload.speed=256000 +waveshare_esp32_s3_touch_lcd_4.menu.UploadSpeed.230400=230400 +waveshare_esp32_s3_touch_lcd_4.menu.UploadSpeed.230400.upload.speed=230400 +waveshare_esp32_s3_touch_lcd_4.menu.UploadSpeed.460800.linux=460800 +waveshare_esp32_s3_touch_lcd_4.menu.UploadSpeed.460800.macosx=460800 +waveshare_esp32_s3_touch_lcd_4.menu.UploadSpeed.460800.upload.speed=460800 +waveshare_esp32_s3_touch_lcd_4.menu.UploadSpeed.512000.windows=512000 +waveshare_esp32_s3_touch_lcd_4.menu.UploadSpeed.512000.upload.speed=512000 + +waveshare_esp32_s3_touch_lcd_4.menu.DebugLevel.none=None +waveshare_esp32_s3_touch_lcd_4.menu.DebugLevel.none.build.code_debug=0 +waveshare_esp32_s3_touch_lcd_4.menu.DebugLevel.error=Error +waveshare_esp32_s3_touch_lcd_4.menu.DebugLevel.error.build.code_debug=1 +waveshare_esp32_s3_touch_lcd_4.menu.DebugLevel.warn=Warn +waveshare_esp32_s3_touch_lcd_4.menu.DebugLevel.warn.build.code_debug=2 +waveshare_esp32_s3_touch_lcd_4.menu.DebugLevel.info=Info +waveshare_esp32_s3_touch_lcd_4.menu.DebugLevel.info.build.code_debug=3 +waveshare_esp32_s3_touch_lcd_4.menu.DebugLevel.debug=Debug +waveshare_esp32_s3_touch_lcd_4.menu.DebugLevel.debug.build.code_debug=4 +waveshare_esp32_s3_touch_lcd_4.menu.DebugLevel.verbose=Verbose +waveshare_esp32_s3_touch_lcd_4.menu.DebugLevel.verbose.build.code_debug=5 + +waveshare_esp32_s3_touch_lcd_4.menu.EraseFlash.none=Disabled +waveshare_esp32_s3_touch_lcd_4.menu.EraseFlash.none.upload.erase_cmd= +waveshare_esp32_s3_touch_lcd_4.menu.EraseFlash.all=Enabled +waveshare_esp32_s3_touch_lcd_4.menu.EraseFlash.all.upload.erase_cmd=-e + +############################################################## diff --git a/variants/waveshare_esp32_s3_touch_lcd_4/pins_arduino.h b/variants/waveshare_esp32_s3_touch_lcd_4/pins_arduino.h new file mode 100644 index 00000000000..f4a08ea7945 --- /dev/null +++ b/variants/waveshare_esp32_s3_touch_lcd_4/pins_arduino.h @@ -0,0 +1,73 @@ + +#ifndef Pins_Arduino_h +#define Pins_Arduino_h + +#include +#include "soc/soc_caps.h" + +// BN: ESP32 Family Device +#define USB_VID 0x303a +#define USB_PID 0x823D + +#define USB_MANUFACTURER "Waveshare" +#define USB_PRODUCT "ESP32-S3-Touch-LCD-4" +#define USB_SERIAL "" + +// UART0 pins +static const uint8_t TX = 43; +static const uint8_t RX = 44; + +// Def for I2C that shares the IMU I2C pins +static const uint8_t SDA = -1; +static const uint8_t SCL = -1; + +// Mapping based on the ESP32S3 data sheet - alternate for SPI2 +static const uint8_t SS = 34; // FSPICS0 +static const uint8_t MOSI = 35; // FSPID +static const uint8_t MISO = 37; // FSPIQ +static const uint8_t SCK = 36; // FSPICLK + +// Mapping based on the ESP32S3 data sheet - alternate for OUTPUT +static const uint8_t OUTPUT_IO2 = 2; +static const uint8_t OUTPUT_IO3 = 3; +static const uint8_t OUTPUT_IO17 = 17; +static const uint8_t OUTPUT_IO18 = 18; + +// Analog capable pins on the header +static const uint8_t A0 = 1; +static const uint8_t A1 = 2; +static const uint8_t A2 = 3; +static const uint8_t A3 = 4; +static const uint8_t A4 = 5; +static const uint8_t A5 = 6; +static const uint8_t A6 = 7; + +// GPIO capable pins on the header +static const uint8_t D0 = 7; +static const uint8_t D1 = 6; +static const uint8_t D2 = 5; +static const uint8_t D3 = 4; +static const uint8_t D4 = 3; +static const uint8_t D5 = 2; +static const uint8_t D6 = 1; +static const uint8_t D7 = 44; +static const uint8_t D8 = 43; +static const uint8_t D9 = 40; +static const uint8_t D10 = 39; +static const uint8_t D11 = 38; +static const uint8_t D12 = 37; +static const uint8_t D13 = 36; +static const uint8_t D14 = 35; +static const uint8_t D15 = 34; +static const uint8_t D16 = 33; + +// Touch input capable pins on the header +static const uint8_t T1 = 1; +static const uint8_t T2 = 2; +static const uint8_t T3 = 3; +static const uint8_t T4 = 4; +static const uint8_t T5 = 5; +static const uint8_t T6 = 6; +static const uint8_t T7 = 7; + +#endif /* Pins_Arduino_h */ diff --git a/variants/waveshare_esp32_s3_touch_lcd_43/pins_arduino.h b/variants/waveshare_esp32_s3_touch_lcd_43/pins_arduino.h new file mode 100644 index 00000000000..9b60b50e0c1 --- /dev/null +++ b/variants/waveshare_esp32_s3_touch_lcd_43/pins_arduino.h @@ -0,0 +1,116 @@ + +#ifndef Pins_Arduino_h +#define Pins_Arduino_h + +#include +#include "soc/soc_caps.h" + +// BN: ESP32 Family Device +#define USB_VID 0x303a +#define USB_PID 0x822E + +#define USB_MANUFACTURER "Waveshare" +#define USB_PRODUCT "ESP32-S3-Touch-LCD-4.3" +#define USB_SERIAL "" + +// display for ST7262 +#define WS_LCD_B3 14 +#define WS_LCD_B4 38 +#define WS_LCD_B5 18 +#define WS_LCD_B6 17 +#define WS_LCD_B7 10 + +#define WS_LCD_G2 39 +#define WS_LCD_G3 0 +#define WS_LCD_G4 45 +#define WS_LCD_G5 48 +#define WS_LCD_G6 47 +#define WS_LCD_G7 21 + +#define WS_LCD_R3 1 +#define WS_LCD_R4 2 +#define WS_LCD_R5 42 +#define WS_LCD_R6 41 +#define WS_LCD_R7 40 + +#define WS_LCD_VSYNC 3 +#define WS_LCD_HSYNC 46 +#define WS_LCD_PCLK 7 +#define WS_LCD_DE 5 + +// Touch for gt911 +#define WS_TP_SDA 8 +#define WS_TP_SCL 9 +#define WS_TP_RST -1 +#define WS_TP_INT 4 + +//RS485 +#define WS_RS485_RXD 16 +#define WS_RS485_TXD 15 + +//CAN +#define WS_CAN_RXD 19 +#define WS_CAN_TXD 20 + +//Onboard CH422G IO expander +#define WS_CH422G_SDA 8 +#define WS_CH422G_SCL 9 + +// UART0 pins +static const uint8_t TX = 43; +static const uint8_t RX = 44; + +// Def for I2C that shares the IMU I2C pins +static const uint8_t SDA = 11; +static const uint8_t SCL = 10; + +// Mapping based on the ESP32S3 data sheet - alternate for SPI2 +static const uint8_t SS = 34; // FSPICS0 +static const uint8_t MOSI = 35; // FSPID +static const uint8_t MISO = 37; // FSPIQ +static const uint8_t SCK = 36; // FSPICLK + +// Mapping based on the ESP32S3 data sheet - alternate for OUTPUT +static const uint8_t OUTPUT_IO2 = 2; +static const uint8_t OUTPUT_IO3 = 3; +static const uint8_t OUTPUT_IO17 = 17; +static const uint8_t OUTPUT_IO18 = 18; + +// Analog capable pins on the header +static const uint8_t A0 = 1; +static const uint8_t A1 = 2; +static const uint8_t A2 = 3; +static const uint8_t A3 = 4; +static const uint8_t A4 = 5; +static const uint8_t A5 = 6; +static const uint8_t A6 = 7; + +// GPIO capable pins on the header +static const uint8_t D0 = 7; +static const uint8_t D1 = 6; +static const uint8_t D2 = 5; +static const uint8_t D3 = 4; +static const uint8_t D4 = 3; +static const uint8_t D5 = 2; +static const uint8_t D6 = 1; +static const uint8_t D7 = 44; +static const uint8_t D8 = 43; +static const uint8_t D9 = 40; +static const uint8_t D10 = 39; +static const uint8_t D11 = 38; +static const uint8_t D12 = 37; +static const uint8_t D13 = 36; +static const uint8_t D14 = 35; +static const uint8_t D15 = 34; +static const uint8_t D16 = 33; + +// Touch input capable pins on the header +static const uint8_t T1 = 1; +static const uint8_t T2 = 2; +static const uint8_t T3 = 3; +static const uint8_t T4 = 4; +static const uint8_t T5 = 5; +static const uint8_t T6 = 6; +static const uint8_t T7 = 7; + +#endif /* Pins_Arduino_h */ diff --git a/variants/waveshare_esp32_s3_touch_lcd_43b/pins_arduino.h b/variants/waveshare_esp32_s3_touch_lcd_43b/pins_arduino.h new file mode 100644 index 00000000000..f3bcb406d4c --- /dev/null +++ b/variants/waveshare_esp32_s3_touch_lcd_43b/pins_arduino.h @@ -0,0 +1,116 @@ + +#ifndef Pins_Arduino_h +#define Pins_Arduino_h + +#include +#include "soc/soc_caps.h" + +// BN: ESP32 Family Device +#define USB_VID 0x303a +#define USB_PID 0x8231 + +#define USB_MANUFACTURER "Waveshare" +#define USB_PRODUCT "ESP32-S3-Touch-LCD-4.3B" +#define USB_SERIAL "" + +// display for ST7262 +#define WS_LCD_B3 14 +#define WS_LCD_B4 38 +#define WS_LCD_B5 18 +#define WS_LCD_B6 17 +#define WS_LCD_B7 10 + +#define WS_LCD_G2 39 +#define WS_LCD_G3 0 +#define WS_LCD_G4 45 +#define WS_LCD_G5 48 +#define WS_LCD_G6 47 +#define WS_LCD_G7 21 + +#define WS_LCD_R3 1 +#define WS_LCD_R4 2 +#define WS_LCD_R5 42 +#define WS_LCD_R6 41 +#define WS_LCD_R7 40 + +#define WS_LCD_VSYNC 3 +#define WS_LCD_HSYNC 46 +#define WS_LCD_PCLK 7 +#define WS_LCD_DE 5 + +// Touch for gt911 +#define WS_TP_SDA 8 +#define WS_TP_SCL 9 +#define WS_TP_RST -1 +#define WS_TP_INT 4 + +//RS485 +#define WS_RS485_RXD 43 +#define WS_RS485_TXD 44 + +//CAN +#define WS_CAN_RXD 15 +#define WS_CAN_TXD 16 + +//Onboard CH422G IO expander +#define WS_CH422G_SDA 8 +#define WS_CH422G_SCL 9 + +// UART0 pins +static const uint8_t TX = 43; +static const uint8_t RX = 44; + +// Def for I2C that shares the IMU I2C pins +static const uint8_t SDA = 11; +static const uint8_t SCL = 10; + +// Mapping based on the ESP32S3 data sheet - alternate for SPI2 +static const uint8_t SS = 34; // FSPICS0 +static const uint8_t MOSI = 35; // FSPID +static const uint8_t MISO = 37; // FSPIQ +static const uint8_t SCK = 36; // FSPICLK + +// Mapping based on the ESP32S3 data sheet - alternate for OUTPUT +static const uint8_t OUTPUT_IO2 = 2; +static const uint8_t OUTPUT_IO3 = 3; +static const uint8_t OUTPUT_IO17 = 17; +static const uint8_t OUTPUT_IO18 = 18; + +// Analog capable pins on the header +static const uint8_t A0 = 1; +static const uint8_t A1 = 2; +static const uint8_t A2 = 3; +static const uint8_t A3 = 4; +static const uint8_t A4 = 5; +static const uint8_t A5 = 6; +static const uint8_t A6 = 7; + +// GPIO capable pins on the header +static const uint8_t D0 = 7; +static const uint8_t D1 = 6; +static const uint8_t D2 = 5; +static const uint8_t D3 = 4; +static const uint8_t D4 = 3; +static const uint8_t D5 = 2; +static const uint8_t D6 = 1; +static const uint8_t D7 = 44; +static const uint8_t D8 = 43; +static const uint8_t D9 = 40; +static const uint8_t D10 = 39; +static const uint8_t D11 = 38; +static const uint8_t D12 = 37; +static const uint8_t D13 = 36; +static const uint8_t D14 = 35; +static const uint8_t D15 = 34; +static const uint8_t D16 = 33; + +// Touch input capable pins on the header +static const uint8_t T1 = 1; +static const uint8_t T2 = 2; +static const uint8_t T3 = 3; +static const uint8_t T4 = 4; +static const uint8_t T5 = 5; +static const uint8_t T6 = 6; +static const uint8_t T7 = 7; + +#endif /* Pins_Arduino_h */ diff --git a/variants/waveshare_esp32_s3_touch_lcd_5/pins_arduino.h b/variants/waveshare_esp32_s3_touch_lcd_5/pins_arduino.h new file mode 100644 index 00000000000..135dc0d0895 --- /dev/null +++ b/variants/waveshare_esp32_s3_touch_lcd_5/pins_arduino.h @@ -0,0 +1,116 @@ + +#ifndef Pins_Arduino_h +#define Pins_Arduino_h + +#include +#include "soc/soc_caps.h" + +// BN: ESP32 Family Device +#define USB_VID 0x303a +#define USB_PID 0x8237 + +#define USB_MANUFACTURER "Waveshare" +#define USB_PRODUCT "ESP32-S3-Touch-LCD-5" +#define USB_SERIAL "" + +// display for ST7262 +#define WS_LCD_B3 14 +#define WS_LCD_B4 38 +#define WS_LCD_B5 18 +#define WS_LCD_B6 17 +#define WS_LCD_B7 10 + +#define WS_LCD_G2 39 +#define WS_LCD_G3 0 +#define WS_LCD_G4 45 +#define WS_LCD_G5 48 +#define WS_LCD_G6 47 +#define WS_LCD_G7 21 + +#define WS_LCD_R3 1 +#define WS_LCD_R4 2 +#define WS_LCD_R5 42 +#define WS_LCD_R6 41 +#define WS_LCD_R7 40 + +#define WS_LCD_VSYNC 3 +#define WS_LCD_HSYNC 46 +#define WS_LCD_PCLK 7 +#define WS_LCD_DE 5 + +// Touch for gt911 +#define WS_TP_SDA 8 +#define WS_TP_SCL 9 +#define WS_TP_RST -1 +#define WS_TP_INT 4 + +//RS485 +#define WS_RS485_RXD 43 +#define WS_RS485_TXD 44 + +//CAN +#define WS_CAN_RXD 15 +#define WS_CAN_TXD 16 + +//Onboard CH422G IO expander +#define WS_CH422G_SDA 8 +#define WS_CH422G_SCL 9 + +// UART0 pins +static const uint8_t TX = 43; +static const uint8_t RX = 44; + +// Def for I2C that shares the IMU I2C pins +static const uint8_t SDA = 11; +static const uint8_t SCL = 10; + +// Mapping based on the ESP32S3 data sheet - alternate for SPI2 +static const uint8_t SS = 34; // FSPICS0 +static const uint8_t MOSI = 35; // FSPID +static const uint8_t MISO = 37; // FSPIQ +static const uint8_t SCK = 36; // FSPICLK + +// Mapping based on the ESP32S3 data sheet - alternate for OUTPUT +static const uint8_t OUTPUT_IO2 = 2; +static const uint8_t OUTPUT_IO3 = 3; +static const uint8_t OUTPUT_IO17 = 17; +static const uint8_t OUTPUT_IO18 = 18; + +// Analog capable pins on the header +static const uint8_t A0 = 1; +static const uint8_t A1 = 2; +static const uint8_t A2 = 3; +static const uint8_t A3 = 4; +static const uint8_t A4 = 5; +static const uint8_t A5 = 6; +static const uint8_t A6 = 7; + +// GPIO capable pins on the header +static const uint8_t D0 = 7; +static const uint8_t D1 = 6; +static const uint8_t D2 = 5; +static const uint8_t D3 = 4; +static const uint8_t D4 = 3; +static const uint8_t D5 = 2; +static const uint8_t D6 = 1; +static const uint8_t D7 = 44; +static const uint8_t D8 = 43; +static const uint8_t D9 = 40; +static const uint8_t D10 = 39; +static const uint8_t D11 = 38; +static const uint8_t D12 = 37; +static const uint8_t D13 = 36; +static const uint8_t D14 = 35; +static const uint8_t D15 = 34; +static const uint8_t D16 = 33; + +// Touch input capable pins on the header +static const uint8_t T1 = 1; +static const uint8_t T2 = 2; +static const uint8_t T3 = 3; +static const uint8_t T4 = 4; +static const uint8_t T5 = 5; +static const uint8_t T6 = 6; +static const uint8_t T7 = 7; + +#endif /* Pins_Arduino_h */ diff --git a/variants/waveshare_esp32_s3_touch_lcd_5b/pins_arduino.h b/variants/waveshare_esp32_s3_touch_lcd_5b/pins_arduino.h new file mode 100644 index 00000000000..e8829608a26 --- /dev/null +++ b/variants/waveshare_esp32_s3_touch_lcd_5b/pins_arduino.h @@ -0,0 +1,116 @@ + +#ifndef Pins_Arduino_h +#define Pins_Arduino_h + +#include +#include "soc/soc_caps.h" + +// BN: ESP32 Family Device +#define USB_VID 0x303a +#define USB_PID 0x823A + +#define USB_MANUFACTURER "Waveshare" +#define USB_PRODUCT "ESP32-S3-Touch-LCD-5B" +#define USB_SERIAL "" + +// display for ST7262 +#define WS_LCD_B3 14 +#define WS_LCD_B4 38 +#define WS_LCD_B5 18 +#define WS_LCD_B6 17 +#define WS_LCD_B7 10 + +#define WS_LCD_G2 39 +#define WS_LCD_G3 0 +#define WS_LCD_G4 45 +#define WS_LCD_G5 48 +#define WS_LCD_G6 47 +#define WS_LCD_G7 21 + +#define WS_LCD_R3 1 +#define WS_LCD_R4 2 +#define WS_LCD_R5 42 +#define WS_LCD_R6 41 +#define WS_LCD_R7 40 + +#define WS_LCD_VSYNC 3 +#define WS_LCD_HSYNC 46 +#define WS_LCD_PCLK 7 +#define WS_LCD_DE 5 + +// Touch for gt911 +#define WS_TP_SDA 8 +#define WS_TP_SCL 9 +#define WS_TP_RST -1 +#define WS_TP_INT 4 + +//RS485 +#define WS_RS485_RXD 43 +#define WS_RS485_TXD 44 + +//CAN +#define WS_CAN_RXD 15 +#define WS_CAN_TXD 16 + +//Onboard CH422G IO expander +#define WS_CH422G_SDA 8 +#define WS_CH422G_SCL 9 + +// UART0 pins +static const uint8_t TX = 43; +static const uint8_t RX = 44; + +// Def for I2C that shares the IMU I2C pins +static const uint8_t SDA = 11; +static const uint8_t SCL = 10; + +// Mapping based on the ESP32S3 data sheet - alternate for SPI2 +static const uint8_t SS = 34; // FSPICS0 +static const uint8_t MOSI = 35; // FSPID +static const uint8_t MISO = 37; // FSPIQ +static const uint8_t SCK = 36; // FSPICLK + +// Mapping based on the ESP32S3 data sheet - alternate for OUTPUT +static const uint8_t OUTPUT_IO2 = 2; +static const uint8_t OUTPUT_IO3 = 3; +static const uint8_t OUTPUT_IO17 = 17; +static const uint8_t OUTPUT_IO18 = 18; + +// Analog capable pins on the header +static const uint8_t A0 = 1; +static const uint8_t A1 = 2; +static const uint8_t A2 = 3; +static const uint8_t A3 = 4; +static const uint8_t A4 = 5; +static const uint8_t A5 = 6; +static const uint8_t A6 = 7; + +// GPIO capable pins on the header +static const uint8_t D0 = 7; +static const uint8_t D1 = 6; +static const uint8_t D2 = 5; +static const uint8_t D3 = 4; +static const uint8_t D4 = 3; +static const uint8_t D5 = 2; +static const uint8_t D6 = 1; +static const uint8_t D7 = 44; +static const uint8_t D8 = 43; +static const uint8_t D9 = 40; +static const uint8_t D10 = 39; +static const uint8_t D11 = 38; +static const uint8_t D12 = 37; +static const uint8_t D13 = 36; +static const uint8_t D14 = 35; +static const uint8_t D15 = 34; +static const uint8_t D16 = 33; + +// Touch input capable pins on the header +static const uint8_t T1 = 1; +static const uint8_t T2 = 2; +static const uint8_t T3 = 3; +static const uint8_t T4 = 4; +static const uint8_t T5 = 5; +static const uint8_t T6 = 6; +static const uint8_t T7 = 7; + +#endif /* Pins_Arduino_h */ diff --git a/variants/waveshare_esp32_s3_touch_lcd_7/pins_arduino.h b/variants/waveshare_esp32_s3_touch_lcd_7/pins_arduino.h new file mode 100644 index 00000000000..357edf78c34 --- /dev/null +++ b/variants/waveshare_esp32_s3_touch_lcd_7/pins_arduino.h @@ -0,0 +1,116 @@ + +#ifndef Pins_Arduino_h +#define Pins_Arduino_h + +#include +#include "soc/soc_caps.h" + +// BN: ESP32 Family Device +#define USB_VID 0x303a +#define USB_PID 0x8234 + +#define USB_MANUFACTURER "Waveshare" +#define USB_PRODUCT "ESP32-S3-Touch-LCD-7" +#define USB_SERIAL "" + +// display for ST7262 +#define WS_LCD_B3 14 +#define WS_LCD_B4 38 +#define WS_LCD_B5 18 +#define WS_LCD_B6 17 +#define WS_LCD_B7 10 + +#define WS_LCD_G2 39 +#define WS_LCD_G3 0 +#define WS_LCD_G4 45 +#define WS_LCD_G5 48 +#define WS_LCD_G6 47 +#define WS_LCD_G7 21 + +#define WS_LCD_R3 1 +#define WS_LCD_R4 2 +#define WS_LCD_R5 42 +#define WS_LCD_R6 41 +#define WS_LCD_R7 40 + +#define WS_LCD_VSYNC 3 +#define WS_LCD_HSYNC 46 +#define WS_LCD_PCLK 7 +#define WS_LCD_DE 5 + +// Touch for gt911 +#define WS_TP_SDA 8 +#define WS_TP_SCL 9 +#define WS_TP_RST -1 +#define WS_TP_INT 4 + +//RS485 +#define WS_RS485_RXD 16 +#define WS_RS485_TXD 15 + +//CAN +#define WS_CAN_RXD 19 +#define WS_CAN_TXD 20 + +//Onboard CH422G IO expander +#define WS_CH422G_SDA 8 +#define WS_CH422G_SCL 9 + +// UART0 pins +static const uint8_t TX = 43; +static const uint8_t RX = 44; + +// Def for I2C that shares the IMU I2C pins +static const uint8_t SDA = 11; +static const uint8_t SCL = 10; + +// Mapping based on the ESP32S3 data sheet - alternate for SPI2 +static const uint8_t SS = 34; // FSPICS0 +static const uint8_t MOSI = 35; // FSPID +static const uint8_t MISO = 37; // FSPIQ +static const uint8_t SCK = 36; // FSPICLK + +// Mapping based on the ESP32S3 data sheet - alternate for OUTPUT +static const uint8_t OUTPUT_IO2 = 2; +static const uint8_t OUTPUT_IO3 = 3; +static const uint8_t OUTPUT_IO17 = 17; +static const uint8_t OUTPUT_IO18 = 18; + +// Analog capable pins on the header +static const uint8_t A0 = 1; +static const uint8_t A1 = 2; +static const uint8_t A2 = 3; +static const uint8_t A3 = 4; +static const uint8_t A4 = 5; +static const uint8_t A5 = 6; +static const uint8_t A6 = 7; + +// GPIO capable pins on the header +static const uint8_t D0 = 7; +static const uint8_t D1 = 6; +static const uint8_t D2 = 5; +static const uint8_t D3 = 4; +static const uint8_t D4 = 3; +static const uint8_t D5 = 2; +static const uint8_t D6 = 1; +static const uint8_t D7 = 44; +static const uint8_t D8 = 43; +static const uint8_t D9 = 40; +static const uint8_t D10 = 39; +static const uint8_t D11 = 38; +static const uint8_t D12 = 37; +static const uint8_t D13 = 36; +static const uint8_t D14 = 35; +static const uint8_t D15 = 34; +static const uint8_t D16 = 33; + +// Touch input capable pins on the header +static const uint8_t T1 = 1; +static const uint8_t T2 = 2; +static const uint8_t T3 = 3; +static const uint8_t T4 = 4; +static const uint8_t T5 = 5; +static const uint8_t T6 = 6; +static const uint8_t T7 = 7; + +#endif /* Pins_Arduino_h */ From 7849a7943535bc2e093a5bbb9a70cae3b5f84597 Mon Sep 17 00:00:00 2001 From: Max Date: Thu, 17 Oct 2024 06:44:47 +0700 Subject: [PATCH 100/146] Add IOXESP32-C6 and ATD3.5-S3 board (#10471) Co-authored-by: Max <7087907+maxpromer@users.noreply.github.com> --- boards.txt | 358 +++++++++++++++++++++++++++++ variants/atd35s3/pins_arduino.h | 78 +++++++ variants/ioxesp32c6/pins_arduino.h | 35 +++ 3 files changed, 471 insertions(+) create mode 100644 variants/atd35s3/pins_arduino.h create mode 100644 variants/ioxesp32c6/pins_arduino.h diff --git a/boards.txt b/boards.txt index b267f20cb1b..4e82ba796d6 100644 --- a/boards.txt +++ b/boards.txt @@ -38494,6 +38494,8 @@ namino_bianco.menu.EraseFlash.all=Enabled namino_bianco.menu.EraseFlash.all.upload.erase_cmd=-e ############################################################## +# IOXESP32, IOXESP32U + ioxesp32.name=IOXESP32 ioxesp32.bootloader.tool=esptool_py @@ -38604,6 +38606,7 @@ ioxesp32.menu.EraseFlash.all=Enabled ioxesp32.menu.EraseFlash.all.upload.erase_cmd=-e ############################################################## +# IOXESP32PS ioxesp32ps.name=IOXESP32PS @@ -38715,6 +38718,178 @@ ioxesp32ps.menu.EraseFlash.all=Enabled ioxesp32ps.menu.EraseFlash.all.upload.erase_cmd=-e ############################################################## +# IOXESP32-C6 + +ioxesp32c6.name=IOXESP32-C6 + +ioxesp32c6.bootloader.tool=esptool_py +ioxesp32c6.bootloader.tool.default=esptool_py + +ioxesp32c6.upload.tool=esptool_py +ioxesp32c6.upload.tool.default=esptool_py +ioxesp32c6.upload.tool.network=esp_ota + +ioxesp32c6.upload.maximum_size=1310720 +ioxesp32c6.upload.maximum_data_size=327680 +ioxesp32c6.upload.flags= +ioxesp32c6.upload.extra_flags= +ioxesp32c6.upload.use_1200bps_touch=false +ioxesp32c6.upload.wait_for_upload_port=false + +ioxesp32c6.serial.disableDTR=false +ioxesp32c6.serial.disableRTS=false + +ioxesp32c6.build.tarch=riscv32 +ioxesp32c6.build.target=esp +ioxesp32c6.build.mcu=esp32c6 +ioxesp32c6.build.core=esp32 +ioxesp32c6.build.variant=ioxesp32c6 +ioxesp32c6.build.board=ESP32C6_DEV +ioxesp32c6.build.bootloader_addr=0x0 + +ioxesp32c6.build.cdc_on_boot=0 +ioxesp32c6.build.f_cpu=160000000L +ioxesp32c6.build.flash_size=4MB +ioxesp32c6.build.flash_freq=80m +ioxesp32c6.build.flash_mode=qio +ioxesp32c6.build.boot=qio +ioxesp32c6.build.partitions=default +ioxesp32c6.build.defines= + +## IDE 2.0 Seems to not update the value +ioxesp32c6.menu.JTAGAdapter.default=Disabled +ioxesp32c6.menu.JTAGAdapter.default.build.copy_jtag_files=0 +ioxesp32c6.menu.JTAGAdapter.builtin=Integrated USB JTAG +ioxesp32c6.menu.JTAGAdapter.builtin.build.openocdscript=esp32c6-builtin.cfg +ioxesp32c6.menu.JTAGAdapter.builtin.build.copy_jtag_files=1 +ioxesp32c6.menu.JTAGAdapter.external=FTDI Adapter +ioxesp32c6.menu.JTAGAdapter.external.build.openocdscript=esp32c6-ftdi.cfg +ioxesp32c6.menu.JTAGAdapter.external.build.copy_jtag_files=1 +ioxesp32c6.menu.JTAGAdapter.bridge=ESP USB Bridge +ioxesp32c6.menu.JTAGAdapter.bridge.build.openocdscript=esp32c6-bridge.cfg +ioxesp32c6.menu.JTAGAdapter.bridge.build.copy_jtag_files=1 + +ioxesp32c6.menu.CDCOnBoot.default=Disabled +ioxesp32c6.menu.CDCOnBoot.default.build.cdc_on_boot=0 +ioxesp32c6.menu.CDCOnBoot.cdc=Enabled +ioxesp32c6.menu.CDCOnBoot.cdc.build.cdc_on_boot=1 + +ioxesp32c6.menu.PartitionScheme.default=Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS) +ioxesp32c6.menu.PartitionScheme.default.build.partitions=default +ioxesp32c6.menu.PartitionScheme.defaultffat=Default 4MB with ffat (1.2MB APP/1.5MB FATFS) +ioxesp32c6.menu.PartitionScheme.defaultffat.build.partitions=default_ffat +ioxesp32c6.menu.PartitionScheme.minimal=Minimal (1.3MB APP/700KB SPIFFS) +ioxesp32c6.menu.PartitionScheme.minimal.build.partitions=minimal +ioxesp32c6.menu.PartitionScheme.no_fs=No FS 4MB (2MB APP x2) +ioxesp32c6.menu.PartitionScheme.no_fs.build.partitions=no_fs +ioxesp32c6.menu.PartitionScheme.no_fs.upload.maximum_size=2031616 +ioxesp32c6.menu.PartitionScheme.no_ota=No OTA (2MB APP/2MB SPIFFS) +ioxesp32c6.menu.PartitionScheme.no_ota.build.partitions=no_ota +ioxesp32c6.menu.PartitionScheme.no_ota.upload.maximum_size=2097152 +ioxesp32c6.menu.PartitionScheme.noota_3g=No OTA (1MB APP/3MB SPIFFS) +ioxesp32c6.menu.PartitionScheme.noota_3g.build.partitions=noota_3g +ioxesp32c6.menu.PartitionScheme.noota_3g.upload.maximum_size=1048576 +ioxesp32c6.menu.PartitionScheme.noota_ffat=No OTA (2MB APP/2MB FATFS) +ioxesp32c6.menu.PartitionScheme.noota_ffat.build.partitions=noota_ffat +ioxesp32c6.menu.PartitionScheme.noota_ffat.upload.maximum_size=2097152 +ioxesp32c6.menu.PartitionScheme.noota_3gffat=No OTA (1MB APP/3MB FATFS) +ioxesp32c6.menu.PartitionScheme.noota_3gffat.build.partitions=noota_3gffat +ioxesp32c6.menu.PartitionScheme.noota_3gffat.upload.maximum_size=1048576 +ioxesp32c6.menu.PartitionScheme.huge_app=Huge APP (3MB No OTA/1MB SPIFFS) +ioxesp32c6.menu.PartitionScheme.huge_app.build.partitions=huge_app +ioxesp32c6.menu.PartitionScheme.huge_app.upload.maximum_size=3145728 +ioxesp32c6.menu.PartitionScheme.min_spiffs=Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS) +ioxesp32c6.menu.PartitionScheme.min_spiffs.build.partitions=min_spiffs +ioxesp32c6.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080 +ioxesp32c6.menu.PartitionScheme.rainmaker=RainMaker 4MB +ioxesp32c6.menu.PartitionScheme.rainmaker.build.partitions=rainmaker +ioxesp32c6.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +ioxesp32c6.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +ioxesp32c6.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +ioxesp32c6.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +ioxesp32c6.menu.PartitionScheme.zigbee=Zigbee 4MB with spiffs +ioxesp32c6.menu.PartitionScheme.zigbee.build.partitions=zigbee +ioxesp32c6.menu.PartitionScheme.zigbee.upload.maximum_size=1310720 +ioxesp32c6.menu.PartitionScheme.zigbee_zczr=Zigbee ZCZR 4MB with spiffs +ioxesp32c6.menu.PartitionScheme.zigbee_zczr.build.partitions=zigbee_zczr +ioxesp32c6.menu.PartitionScheme.zigbee_zczr.upload.maximum_size=1310720 +ioxesp32c6.menu.PartitionScheme.custom=Custom +ioxesp32c6.menu.PartitionScheme.custom.build.partitions= +ioxesp32c6.menu.PartitionScheme.custom.upload.maximum_size=16777216 + +ioxesp32c6.menu.CPUFreq.160=160MHz (WiFi) +ioxesp32c6.menu.CPUFreq.160.build.f_cpu=160000000L +ioxesp32c6.menu.CPUFreq.120=120MHz (WiFi) +ioxesp32c6.menu.CPUFreq.120.build.f_cpu=120000000L +ioxesp32c6.menu.CPUFreq.80=80MHz (WiFi) +ioxesp32c6.menu.CPUFreq.80.build.f_cpu=80000000L +ioxesp32c6.menu.CPUFreq.40=40MHz +ioxesp32c6.menu.CPUFreq.40.build.f_cpu=40000000L +ioxesp32c6.menu.CPUFreq.20=20MHz +ioxesp32c6.menu.CPUFreq.20.build.f_cpu=20000000L +ioxesp32c6.menu.CPUFreq.10=10MHz +ioxesp32c6.menu.CPUFreq.10.build.f_cpu=10000000L + +ioxesp32c6.menu.FlashMode.qio=QIO +ioxesp32c6.menu.FlashMode.qio.build.flash_mode=dio +ioxesp32c6.menu.FlashMode.qio.build.boot=qio +ioxesp32c6.menu.FlashMode.dio=DIO +ioxesp32c6.menu.FlashMode.dio.build.flash_mode=dio +ioxesp32c6.menu.FlashMode.dio.build.boot=dio + +ioxesp32c6.menu.FlashFreq.80=80MHz +ioxesp32c6.menu.FlashFreq.80.build.flash_freq=80m +ioxesp32c6.menu.FlashFreq.40=40MHz +ioxesp32c6.menu.FlashFreq.40.build.flash_freq=40m + +ioxesp32c6.menu.UploadSpeed.921600=921600 +ioxesp32c6.menu.UploadSpeed.921600.upload.speed=921600 +ioxesp32c6.menu.UploadSpeed.115200=115200 +ioxesp32c6.menu.UploadSpeed.115200.upload.speed=115200 +ioxesp32c6.menu.UploadSpeed.256000.windows=256000 +ioxesp32c6.menu.UploadSpeed.256000.upload.speed=256000 +ioxesp32c6.menu.UploadSpeed.230400.windows.upload.speed=256000 +ioxesp32c6.menu.UploadSpeed.230400=230400 +ioxesp32c6.menu.UploadSpeed.230400.upload.speed=230400 +ioxesp32c6.menu.UploadSpeed.460800.linux=460800 +ioxesp32c6.menu.UploadSpeed.460800.macosx=460800 +ioxesp32c6.menu.UploadSpeed.460800.upload.speed=460800 +ioxesp32c6.menu.UploadSpeed.512000.windows=512000 +ioxesp32c6.menu.UploadSpeed.512000.upload.speed=512000 + +ioxesp32c6.menu.DebugLevel.none=None +ioxesp32c6.menu.DebugLevel.none.build.code_debug=0 +ioxesp32c6.menu.DebugLevel.error=Error +ioxesp32c6.menu.DebugLevel.error.build.code_debug=1 +ioxesp32c6.menu.DebugLevel.warn=Warn +ioxesp32c6.menu.DebugLevel.warn.build.code_debug=2 +ioxesp32c6.menu.DebugLevel.info=Info +ioxesp32c6.menu.DebugLevel.info.build.code_debug=3 +ioxesp32c6.menu.DebugLevel.debug=Debug +ioxesp32c6.menu.DebugLevel.debug.build.code_debug=4 +ioxesp32c6.menu.DebugLevel.verbose=Verbose +ioxesp32c6.menu.DebugLevel.verbose.build.code_debug=5 + +ioxesp32c6.menu.EraseFlash.none=Disabled +ioxesp32c6.menu.EraseFlash.none.upload.erase_cmd= +ioxesp32c6.menu.EraseFlash.all=Enabled +ioxesp32c6.menu.EraseFlash.all.upload.erase_cmd=-e + +ioxesp32c6.menu.ZigbeeMode.default=Disabled +ioxesp32c6.menu.ZigbeeMode.default.build.zigbee_mode= +ioxesp32c6.menu.ZigbeeMode.default.build.zigbee_libs= +ioxesp32c6.menu.ZigbeeMode.ed=Zigbee ED (end device) +ioxesp32c6.menu.ZigbeeMode.ed.build.zigbee_mode=-DZIGBEE_MODE_ED +ioxesp32c6.menu.ZigbeeMode.ed.build.zigbee_libs=-lesp_zb_api_ed -lesp_zb_cli_command -lzboss_stack.ed -lzboss_port +ioxesp32c6.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator) +ioxesp32c6.menu.ZigbeeMode.zczr.build.zigbee_mode=-DZIGBEE_MODE_ZCZR +ioxesp32c6.menu.ZigbeeMode.zczr.build.zigbee_libs=-lesp_zb_api_zczr -lesp_zb_cli_command -lzboss_stack.zczr -lzboss_port +ioxesp32c6.menu.ZigbeeMode.rcp=Zigbee RCP (radio co-processor) +ioxesp32c6.menu.ZigbeeMode.rcp.build.zigbee_mode=-DZIGBEE_MODE_RCP +ioxesp32c6.menu.ZigbeeMode.rcp.build.zigbee_libs=-lesp_zb_api_rcp -lesp_zb_cli_command -lzboss_stack.rcp -lzboss_port + +############################################################## +# ATD1.47-S3 atd147_s3.name=ATD1.47-S3 @@ -38896,6 +39071,189 @@ atd147_s3.menu.EraseFlash.none.upload.erase_cmd= atd147_s3.menu.EraseFlash.all=Enabled atd147_s3.menu.EraseFlash.all.upload.erase_cmd=-e +############################################################## +# ATD3.5-S3 + +atd35s3.name=ATD3.5-S3 + +atd35s3.bootloader.tool=esptool_py +atd35s3.bootloader.tool.default=esptool_py + +atd35s3.upload.tool=esptool_py +atd35s3.upload.tool.default=esptool_py +atd35s3.upload.tool.network=esp_ota + +atd35s3.upload.maximum_size=1310720 +atd35s3.upload.maximum_data_size=327680 +atd35s3.upload.flags= +atd35s3.upload.extra_flags= +atd35s3.upload.use_1200bps_touch=false +atd35s3.upload.wait_for_upload_port=false + +atd35s3.serial.disableDTR=false +atd35s3.serial.disableRTS=false + +atd35s3.build.tarch=xtensa +atd35s3.build.bootloader_addr=0x0 +atd35s3.build.target=esp32s3 +atd35s3.build.mcu=esp32s3 +atd35s3.build.core=esp32 +atd35s3.build.variant=atd35s3 +atd35s3.build.board=ATD143_S3 + +atd35s3.build.usb_mode=1 +atd35s3.build.cdc_on_boot=0 +atd35s3.build.msc_on_boot=0 +atd35s3.build.dfu_on_boot=0 +atd35s3.build.f_cpu=240000000L +atd35s3.build.flash_size=8MB +atd35s3.build.flash_freq=80m +atd35s3.build.flash_mode=dio +atd35s3.build.boot=qio +atd35s3.build.boot_freq=80m +atd35s3.build.partitions=default_8MB +atd35s3.build.defines= +atd35s3.build.loop_core= +atd35s3.build.event_core= +atd35s3.build.psram_type=opi +atd35s3.build.memory_type={build.boot}_{build.psram_type} + +## IDE 2.0 Seems to not update the value +atd35s3.menu.JTAGAdapter.default=Disabled +atd35s3.menu.JTAGAdapter.default.build.copy_jtag_files=0 +atd35s3.menu.JTAGAdapter.builtin=Integrated USB JTAG +atd35s3.menu.JTAGAdapter.builtin.build.openocdscript=esp32s3-builtin.cfg +atd35s3.menu.JTAGAdapter.builtin.build.copy_jtag_files=1 +atd35s3.menu.JTAGAdapter.external=FTDI Adapter +atd35s3.menu.JTAGAdapter.external.build.openocdscript=esp32s3-ftdi.cfg +atd35s3.menu.JTAGAdapter.external.build.copy_jtag_files=1 +atd35s3.menu.JTAGAdapter.bridge=ESP USB Bridge +atd35s3.menu.JTAGAdapter.bridge.build.openocdscript=esp32s3-bridge.cfg +atd35s3.menu.JTAGAdapter.bridge.build.copy_jtag_files=1 + +atd35s3.menu.PSRAM.disabled=Disabled +atd35s3.menu.PSRAM.disabled.build.defines= +atd35s3.menu.PSRAM.disabled.build.psram_type=opi +atd35s3.menu.PSRAM.enabled=Enable +atd35s3.menu.PSRAM.enabled.build.defines=-DBOARD_HAS_PSRAM +atd35s3.menu.PSRAM.enabled.build.psram_type=opi + +atd35s3.menu.LoopCore.1=Core 1 +atd35s3.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1 +atd35s3.menu.LoopCore.0=Core 0 +atd35s3.menu.LoopCore.0.build.loop_core=-DARDUINO_RUNNING_CORE=0 + +atd35s3.menu.EventsCore.1=Core 1 +atd35s3.menu.EventsCore.1.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=1 +atd35s3.menu.EventsCore.0=Core 0 +atd35s3.menu.EventsCore.0.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=0 + +atd35s3.menu.USBMode.hwcdc=Hardware CDC and JTAG +atd35s3.menu.USBMode.hwcdc.build.usb_mode=1 +atd35s3.menu.USBMode.default=USB-OTG (TinyUSB) +atd35s3.menu.USBMode.default.build.usb_mode=0 + +atd35s3.menu.CDCOnBoot.default=Disabled +atd35s3.menu.CDCOnBoot.default.build.cdc_on_boot=0 +atd35s3.menu.CDCOnBoot.cdc=Enabled +atd35s3.menu.CDCOnBoot.cdc.build.cdc_on_boot=1 + +atd35s3.menu.MSCOnBoot.default=Disabled +atd35s3.menu.MSCOnBoot.default.build.msc_on_boot=0 +atd35s3.menu.MSCOnBoot.msc=Enabled (Requires USB-OTG Mode) +atd35s3.menu.MSCOnBoot.msc.build.msc_on_boot=1 + +atd35s3.menu.DFUOnBoot.default=Disabled +atd35s3.menu.DFUOnBoot.default.build.dfu_on_boot=0 +atd35s3.menu.DFUOnBoot.dfu=Enabled (Requires USB-OTG Mode) +atd35s3.menu.DFUOnBoot.dfu.build.dfu_on_boot=1 + +atd35s3.menu.UploadMode.default=UART0 / Hardware CDC +atd35s3.menu.UploadMode.default.upload.use_1200bps_touch=false +atd35s3.menu.UploadMode.default.upload.wait_for_upload_port=false +atd35s3.menu.UploadMode.cdc=USB-OTG CDC (TinyUSB) +atd35s3.menu.UploadMode.cdc.upload.use_1200bps_touch=true +atd35s3.menu.UploadMode.cdc.upload.wait_for_upload_port=true + +atd35s3.menu.PartitionScheme.default_8MB=8M with spiffs (3MB APP/1.5MB SPIFFS) +atd35s3.menu.PartitionScheme.default_8MB.build.partitions=default_8MB +atd35s3.menu.PartitionScheme.default_8MB.upload.maximum_size=3342336 +atd35s3.menu.PartitionScheme.minimal=Minimal (1.3MB APP/700KB SPIFFS) +atd35s3.menu.PartitionScheme.minimal.build.partitions=minimal +atd35s3.menu.PartitionScheme.no_ota=No OTA (2MB APP/2MB SPIFFS) +atd35s3.menu.PartitionScheme.no_ota.build.partitions=no_ota +atd35s3.menu.PartitionScheme.no_ota.upload.maximum_size=2097152 +atd35s3.menu.PartitionScheme.noota_3g=No OTA (1MB APP/3MB SPIFFS) +atd35s3.menu.PartitionScheme.noota_3g.build.partitions=noota_3g +atd35s3.menu.PartitionScheme.noota_3g.upload.maximum_size=1048576 +atd35s3.menu.PartitionScheme.noota_ffat=No OTA (2MB APP/2MB FATFS) +atd35s3.menu.PartitionScheme.noota_ffat.build.partitions=noota_ffat +atd35s3.menu.PartitionScheme.noota_ffat.upload.maximum_size=2097152 +atd35s3.menu.PartitionScheme.noota_3gffat=No OTA (1MB APP/3MB FATFS) +atd35s3.menu.PartitionScheme.noota_3gffat.build.partitions=noota_3gffat +atd35s3.menu.PartitionScheme.noota_3gffat.upload.maximum_size=1048576 +atd35s3.menu.PartitionScheme.huge_app=Huge APP (3MB No OTA/1MB SPIFFS) +atd35s3.menu.PartitionScheme.huge_app.build.partitions=huge_app +atd35s3.menu.PartitionScheme.huge_app.upload.maximum_size=3145728 +atd35s3.menu.PartitionScheme.min_spiffs=Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS) +atd35s3.menu.PartitionScheme.min_spiffs.build.partitions=min_spiffs +atd35s3.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080 +atd35s3.menu.PartitionScheme.rainmaker=RainMaker 4MB +atd35s3.menu.PartitionScheme.rainmaker.build.partitions=rainmaker +atd35s3.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +atd35s3.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +atd35s3.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +atd35s3.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +atd35s3.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +atd35s3.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +atd35s3.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 + +atd35s3.menu.CPUFreq.240=240MHz (WiFi) +atd35s3.menu.CPUFreq.240.build.f_cpu=240000000L +atd35s3.menu.CPUFreq.160=160MHz (WiFi) +atd35s3.menu.CPUFreq.160.build.f_cpu=160000000L +atd35s3.menu.CPUFreq.80=80MHz (WiFi) +atd35s3.menu.CPUFreq.80.build.f_cpu=80000000L +atd35s3.menu.CPUFreq.40=40MHz +atd35s3.menu.CPUFreq.40.build.f_cpu=40000000L +atd35s3.menu.CPUFreq.20=20MHz +atd35s3.menu.CPUFreq.20.build.f_cpu=20000000L +atd35s3.menu.CPUFreq.10=10MHz +atd35s3.menu.CPUFreq.10.build.f_cpu=10000000L + +atd35s3.menu.UploadSpeed.921600=921600 +atd35s3.menu.UploadSpeed.921600.upload.speed=921600 +atd35s3.menu.UploadSpeed.115200=115200 +atd35s3.menu.UploadSpeed.115200.upload.speed=115200 +atd35s3.menu.UploadSpeed.256000.windows=256000 +atd35s3.menu.UploadSpeed.256000.upload.speed=256000 +atd35s3.menu.UploadSpeed.230400.windows.upload.speed=256000 +atd35s3.menu.UploadSpeed.230400=230400 +atd35s3.menu.UploadSpeed.230400.upload.speed=230400 +atd35s3.menu.UploadSpeed.460800.linux=460800 +atd35s3.menu.UploadSpeed.460800.macosx=460800 +atd35s3.menu.UploadSpeed.460800.upload.speed=460800 +atd35s3.menu.UploadSpeed.512000.windows=512000 +atd35s3.menu.UploadSpeed.512000.upload.speed=512000 + +atd35s3.menu.DebugLevel.none=None +atd35s3.menu.DebugLevel.none.build.code_debug=0 +atd35s3.menu.DebugLevel.error=Error +atd35s3.menu.DebugLevel.error.build.code_debug=1 +atd35s3.menu.DebugLevel.warn=Warn +atd35s3.menu.DebugLevel.warn.build.code_debug=2 +atd35s3.menu.DebugLevel.info=Info +atd35s3.menu.DebugLevel.info.build.code_debug=3 +atd35s3.menu.DebugLevel.debug=Debug +atd35s3.menu.DebugLevel.debug.build.code_debug=4 +atd35s3.menu.DebugLevel.verbose=Verbose +atd35s3.menu.DebugLevel.verbose.build.code_debug=5 + +atd35s3.menu.EraseFlash.none=Disabled +atd35s3.menu.EraseFlash.none.upload.erase_cmd= +atd35s3.menu.EraseFlash.all=Enabled +atd35s3.menu.EraseFlash.all.upload.erase_cmd=-e + ############################################################## # ESP32-S3 PowerFeather diff --git a/variants/atd35s3/pins_arduino.h b/variants/atd35s3/pins_arduino.h new file mode 100644 index 00000000000..c973693b71c --- /dev/null +++ b/variants/atd35s3/pins_arduino.h @@ -0,0 +1,78 @@ +#ifndef Pins_Arduino_h +#define Pins_Arduino_h + +#include + +#define USB_VID 0x303a +#define USB_PID 0x1001 + +static const uint8_t TX = 43; +static const uint8_t RX = 44; + +static const uint8_t SDA = 8; +static const uint8_t SCL = 9; + +static const uint8_t SS = 10; +static const uint8_t MOSI = 11; +static const uint8_t MISO = 13; +static const uint8_t SCK = 12; + +// LCD pin +#define LCD_CS SS +#define LCD_SCK SCK +#define LCD_SDA MOSI +static const uint8_t LCD_DC = 21; +static const uint8_t LCD_RES = 14; +static const uint8_t LCD_BL = 3; + +// MicroSD Card pin +static const uint8_t SD_CS = 18; +static const uint8_t SD_CD = 17; + +static const uint8_t BTN_A = 4; +#define KEY_BUILTIN BTN_A + +static const uint8_t LED_BUILTIN = 5; + +// DAC pin +static const uint8_t DAC_DIN = 47; +static const uint8_t DAC_BCLK = 48; +static const uint8_t DAC_WS = 45; + +static const uint8_t A0 = 1; +static const uint8_t A1 = 2; +static const uint8_t A2 = 3; +static const uint8_t A3 = 4; +static const uint8_t A4 = 5; +static const uint8_t A5 = 6; +static const uint8_t A6 = 7; +static const uint8_t A7 = 8; +static const uint8_t A8 = 9; +static const uint8_t A9 = 10; +static const uint8_t A10 = 11; +static const uint8_t A11 = 12; +static const uint8_t A12 = 13; +static const uint8_t A13 = 14; +static const uint8_t A14 = 15; +static const uint8_t A15 = 16; +static const uint8_t A16 = 17; +static const uint8_t A17 = 18; +static const uint8_t A18 = 19; +static const uint8_t A19 = 20; + +static const uint8_t T1 = 1; +static const uint8_t T2 = 2; +static const uint8_t T3 = 3; +static const uint8_t T4 = 4; +static const uint8_t T5 = 5; +static const uint8_t T6 = 6; +static const uint8_t T7 = 7; +static const uint8_t T8 = 8; +static const uint8_t T9 = 9; +static const uint8_t T10 = 10; +static const uint8_t T11 = 11; +static const uint8_t T12 = 12; +static const uint8_t T13 = 13; +static const uint8_t T14 = 14; + +#endif /* Pins_Arduino_h */ diff --git a/variants/ioxesp32c6/pins_arduino.h b/variants/ioxesp32c6/pins_arduino.h new file mode 100644 index 00000000000..bcd20119514 --- /dev/null +++ b/variants/ioxesp32c6/pins_arduino.h @@ -0,0 +1,35 @@ +#ifndef Pins_Arduino_h +#define Pins_Arduino_h + +#include +#include "soc/soc_caps.h" + +#define PIN_RGB_LED 8 +// BUILTIN_LED can be used in new Arduino API digitalWrite() like in Blink.ino +static const uint8_t LED_BUILTIN = SOC_GPIO_PIN_COUNT + PIN_RGB_LED; +#define BUILTIN_LED LED_BUILTIN // backward compatibility +#define LED_BUILTIN LED_BUILTIN // allow testing #ifdef LED_BUILTIN +// RGB_BUILTIN and RGB_BRIGHTNESS can be used in new Arduino API rgbLedWrite() +#define RGB_BUILTIN LED_BUILTIN +#define RGB_BRIGHTNESS 64 + +static const uint8_t TX = 16; +static const uint8_t RX = 17; + +static const uint8_t SDA = 21; +static const uint8_t SCL = 22; + +static const uint8_t SS = 18; +static const uint8_t MOSI = 23; +static const uint8_t MISO = 20; +static const uint8_t SCK = 19; + +static const uint8_t A0 = 0; +static const uint8_t A1 = 1; +static const uint8_t A2 = 2; +static const uint8_t A3 = 3; +static const uint8_t A4 = 4; +static const uint8_t A5 = 5; +static const uint8_t A6 = 6; + +#endif /* Pins_Arduino_h */ From 51b2fb356da3a8c30b7a4809dff0db3d31362da8 Mon Sep 17 00:00:00 2001 From: Dogus Cendek Date: Thu, 17 Oct 2024 10:43:21 +0300 Subject: [PATCH 101/146] Add our new board "cezerio dev ESP32C6" (#10462) * Add cezerio dev ESP32-C6 * Modify pin number of cezerio dev ESP32C6 Modify pin number of cezerio dev ESP32C6 * Update boards.txt * Update USB_PID Update USB_PID * Update boards.txt Deleted flash and partition options related in flash size bigger than 4MB * Update pins_arduino.h * Merge manually to solve conflicts * Resolve Conflicts * Add cezerio dev ESP32-C6 * Modify pin number of cezerio dev ESP32C6 Modify pin number of cezerio dev ESP32C6 * Update boards.txt * Update USB_PID Update USB_PID * Update pins_arduino.h * Add cezerio dev ESP32C6 * Update pins_arduino.h * Update pins_arduino.h * Update pins_arduino.h --- boards.txt | 173 ++++++++++++++++++++ variants/cezerio_dev_esp32c6/pins_arduino.h | 52 ++++++ 2 files changed, 225 insertions(+) create mode 100644 variants/cezerio_dev_esp32c6/pins_arduino.h diff --git a/boards.txt b/boards.txt index 4e82ba796d6..d1813a7d22a 100644 --- a/boards.txt +++ b/boards.txt @@ -43957,3 +43957,176 @@ waveshare_esp32_s3_touch_lcd_4.menu.EraseFlash.all=Enabled waveshare_esp32_s3_touch_lcd_4.menu.EraseFlash.all.upload.erase_cmd=-e ############################################################## + +cezerio_dev_esp32c6.name=cezerio dev ESP32C6 + +cezerio_dev_esp32c6.bootloader.tool=esptool_py +cezerio_dev_esp32c6.bootloader.tool.default=esptool_py + +cezerio_dev_esp32c6.upload.tool=esptool_py +cezerio_dev_esp32c6.upload.tool.default=esptool_py +cezerio_dev_esp32c6.upload.tool.network=esp_ota + +cezerio_dev_esp32c6.upload.maximum_size=1310720 +cezerio_dev_esp32c6.upload.maximum_data_size=327680 +cezerio_dev_esp32c6.upload.flags= +cezerio_dev_esp32c6.upload.extra_flags= +cezerio_dev_esp32c6.upload.use_1200bps_touch=false +cezerio_dev_esp32c6.upload.wait_for_upload_port=false + +cezerio_dev_esp32c6.serial.disableDTR=false +cezerio_dev_esp32c6.serial.disableRTS=false + +cezerio_dev_esp32c6.build.tarch=riscv32 +cezerio_dev_esp32c6.build.target=esp +cezerio_dev_esp32c6.build.mcu=esp32c6 +cezerio_dev_esp32c6.build.core=esp32 +cezerio_dev_esp32c6.build.variant=cezerio_dev_esp32c6 +cezerio_dev_esp32c6.build.board=CEZERIO_DEV_ESP32C6 +cezerio_dev_esp32c6.build.bootloader_addr=0x0 + +cezerio_dev_esp32c6.build.cdc_on_boot=0 +cezerio_dev_esp32c6.build.f_cpu=160000000L +cezerio_dev_esp32c6.build.flash_size=4MB +cezerio_dev_esp32c6.build.flash_freq=80m +cezerio_dev_esp32c6.build.flash_mode=qio +cezerio_dev_esp32c6.build.boot=qio +cezerio_dev_esp32c6.build.partitions=default +cezerio_dev_esp32c6.build.defines= + +## IDE 2.0 Seems to not update the value +cezerio_dev_esp32c6.menu.JTAGAdapter.default=Disabled +cezerio_dev_esp32c6.menu.JTAGAdapter.default.build.copy_jtag_files=0 +cezerio_dev_esp32c6.menu.JTAGAdapter.builtin=Integrated USB JTAG +cezerio_dev_esp32c6.menu.JTAGAdapter.builtin.build.openocdscript=esp32c6-builtin.cfg +cezerio_dev_esp32c6.menu.JTAGAdapter.builtin.build.copy_jtag_files=1 +cezerio_dev_esp32c6.menu.JTAGAdapter.external=FTDI Adapter +cezerio_dev_esp32c6.menu.JTAGAdapter.external.build.openocdscript=esp32c6-ftdi.cfg +cezerio_dev_esp32c6.menu.JTAGAdapter.external.build.copy_jtag_files=1 +cezerio_dev_esp32c6.menu.JTAGAdapter.bridge=ESP USB Bridge +cezerio_dev_esp32c6.menu.JTAGAdapter.bridge.build.openocdscript=esp32c6-bridge.cfg +cezerio_dev_esp32c6.menu.JTAGAdapter.bridge.build.copy_jtag_files=1 + +cezerio_dev_esp32c6.menu.CDCOnBoot.default=Enabled +cezerio_dev_esp32c6.menu.CDCOnBoot.default.build.cdc_on_boot=1 +cezerio_dev_esp32c6.menu.CDCOnBoot.cdc=Disabled +cezerio_dev_esp32c6.menu.CDCOnBoot.cdc.build.cdc_on_boot=0 + +cezerio_dev_esp32c6.menu.PartitionScheme.default=Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS) +cezerio_dev_esp32c6.menu.PartitionScheme.default.build.partitions=default +cezerio_dev_esp32c6.menu.PartitionScheme.defaultffat=Default 4MB with ffat (1.2MB APP/1.5MB FATFS) +cezerio_dev_esp32c6.menu.PartitionScheme.defaultffat.build.partitions=default_ffat +cezerio_dev_esp32c6.menu.PartitionScheme.minimal=Minimal (1.3MB APP/700KB SPIFFS) +cezerio_dev_esp32c6.menu.PartitionScheme.minimal.build.partitions=minimal +cezerio_dev_esp32c6.menu.PartitionScheme.no_fs=No FS 4MB (2MB APP x2) +cezerio_dev_esp32c6.menu.PartitionScheme.no_fs.build.partitions=no_fs +cezerio_dev_esp32c6.menu.PartitionScheme.no_fs.upload.maximum_size=2031616 +cezerio_dev_esp32c6.menu.PartitionScheme.no_ota=No OTA (2MB APP/2MB SPIFFS) +cezerio_dev_esp32c6.menu.PartitionScheme.no_ota.build.partitions=no_ota +cezerio_dev_esp32c6.menu.PartitionScheme.no_ota.upload.maximum_size=2097152 +cezerio_dev_esp32c6.menu.PartitionScheme.noota_3g=No OTA (1MB APP/3MB SPIFFS) +cezerio_dev_esp32c6.menu.PartitionScheme.noota_3g.build.partitions=noota_3g +cezerio_dev_esp32c6.menu.PartitionScheme.noota_3g.upload.maximum_size=1048576 +cezerio_dev_esp32c6.menu.PartitionScheme.noota_ffat=No OTA (2MB APP/2MB FATFS) +cezerio_dev_esp32c6.menu.PartitionScheme.noota_ffat.build.partitions=noota_ffat +cezerio_dev_esp32c6.menu.PartitionScheme.noota_ffat.upload.maximum_size=2097152 +cezerio_dev_esp32c6.menu.PartitionScheme.noota_3gffat=No OTA (1MB APP/3MB FATFS) +cezerio_dev_esp32c6.menu.PartitionScheme.noota_3gffat.build.partitions=noota_3gffat +cezerio_dev_esp32c6.menu.PartitionScheme.noota_3gffat.upload.maximum_size=1048576 +cezerio_dev_esp32c6.menu.PartitionScheme.huge_app=Huge APP (3MB No OTA/1MB SPIFFS) +cezerio_dev_esp32c6.menu.PartitionScheme.huge_app.build.partitions=huge_app +cezerio_dev_esp32c6.menu.PartitionScheme.huge_app.upload.maximum_size=3145728 +cezerio_dev_esp32c6.menu.PartitionScheme.min_spiffs=Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS) +cezerio_dev_esp32c6.menu.PartitionScheme.min_spiffs.build.partitions=min_spiffs +cezerio_dev_esp32c6.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080 +cezerio_dev_esp32c6.menu.PartitionScheme.rainmaker=RainMaker 4MB +cezerio_dev_esp32c6.menu.PartitionScheme.rainmaker.build.partitions=rainmaker +cezerio_dev_esp32c6.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +cezerio_dev_esp32c6.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +cezerio_dev_esp32c6.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +cezerio_dev_esp32c6.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +cezerio_dev_esp32c6.menu.PartitionScheme.zigbee=Zigbee 4MB with spiffs +cezerio_dev_esp32c6.menu.PartitionScheme.zigbee.build.partitions=zigbee +cezerio_dev_esp32c6.menu.PartitionScheme.zigbee.upload.maximum_size=1310720 +cezerio_dev_esp32c6.menu.PartitionScheme.zigbee_zczr=Zigbee ZCZR 4MB with spiffs +cezerio_dev_esp32c6.menu.PartitionScheme.zigbee_zczr.build.partitions=zigbee_zczr +cezerio_dev_esp32c6.menu.PartitionScheme.zigbee_zczr.upload.maximum_size=1310720 +cezerio_dev_esp32c6.menu.PartitionScheme.custom=Custom +cezerio_dev_esp32c6.menu.PartitionScheme.custom.build.partitions= +cezerio_dev_esp32c6.menu.PartitionScheme.custom.upload.maximum_size=16777216 + +cezerio_dev_esp32c6.menu.CPUFreq.160=160MHz (WiFi) +cezerio_dev_esp32c6.menu.CPUFreq.160.build.f_cpu=160000000L +cezerio_dev_esp32c6.menu.CPUFreq.120=120MHz (WiFi) +cezerio_dev_esp32c6.menu.CPUFreq.120.build.f_cpu=120000000L +cezerio_dev_esp32c6.menu.CPUFreq.80=80MHz (WiFi) +cezerio_dev_esp32c6.menu.CPUFreq.80.build.f_cpu=80000000L +cezerio_dev_esp32c6.menu.CPUFreq.40=40MHz +cezerio_dev_esp32c6.menu.CPUFreq.40.build.f_cpu=40000000L +cezerio_dev_esp32c6.menu.CPUFreq.20=20MHz +cezerio_dev_esp32c6.menu.CPUFreq.20.build.f_cpu=20000000L +cezerio_dev_esp32c6.menu.CPUFreq.10=10MHz +cezerio_dev_esp32c6.menu.CPUFreq.10.build.f_cpu=10000000L + +cezerio_dev_esp32c6.menu.FlashMode.qio=QIO +cezerio_dev_esp32c6.menu.FlashMode.qio.build.flash_mode=dio +cezerio_dev_esp32c6.menu.FlashMode.qio.build.boot=qio +cezerio_dev_esp32c6.menu.FlashMode.dio=DIO +cezerio_dev_esp32c6.menu.FlashMode.dio.build.flash_mode=dio +cezerio_dev_esp32c6.menu.FlashMode.dio.build.boot=dio + +cezerio_dev_esp32c6.menu.FlashFreq.80=80MHz +cezerio_dev_esp32c6.menu.FlashFreq.80.build.flash_freq=80m +cezerio_dev_esp32c6.menu.FlashFreq.40=40MHz +cezerio_dev_esp32c6.menu.FlashFreq.40.build.flash_freq=40m + +cezerio_dev_esp32c6.menu.FlashSize.4M=4MB (32Mb) +cezerio_dev_esp32c6.menu.FlashSize.4M.build.flash_size=4MB + +cezerio_dev_esp32c6.menu.UploadSpeed.921600=921600 +cezerio_dev_esp32c6.menu.UploadSpeed.921600.upload.speed=921600 +cezerio_dev_esp32c6.menu.UploadSpeed.115200=115200 +cezerio_dev_esp32c6.menu.UploadSpeed.115200.upload.speed=115200 +cezerio_dev_esp32c6.menu.UploadSpeed.256000.windows=256000 +cezerio_dev_esp32c6.menu.UploadSpeed.256000.upload.speed=256000 +cezerio_dev_esp32c6.menu.UploadSpeed.230400.windows.upload.speed=256000 +cezerio_dev_esp32c6.menu.UploadSpeed.230400=230400 +cezerio_dev_esp32c6.menu.UploadSpeed.230400.upload.speed=230400 +cezerio_dev_esp32c6.menu.UploadSpeed.460800.linux=460800 +cezerio_dev_esp32c6.menu.UploadSpeed.460800.macosx=460800 +cezerio_dev_esp32c6.menu.UploadSpeed.460800.upload.speed=460800 +cezerio_dev_esp32c6.menu.UploadSpeed.512000.windows=512000 +cezerio_dev_esp32c6.menu.UploadSpeed.512000.upload.speed=512000 + +cezerio_dev_esp32c6.menu.DebugLevel.none=None +cezerio_dev_esp32c6.menu.DebugLevel.none.build.code_debug=0 +cezerio_dev_esp32c6.menu.DebugLevel.error=Error +cezerio_dev_esp32c6.menu.DebugLevel.error.build.code_debug=1 +cezerio_dev_esp32c6.menu.DebugLevel.warn=Warn +cezerio_dev_esp32c6.menu.DebugLevel.warn.build.code_debug=2 +cezerio_dev_esp32c6.menu.DebugLevel.info=Info +cezerio_dev_esp32c6.menu.DebugLevel.info.build.code_debug=3 +cezerio_dev_esp32c6.menu.DebugLevel.debug=Debug +cezerio_dev_esp32c6.menu.DebugLevel.debug.build.code_debug=4 +cezerio_dev_esp32c6.menu.DebugLevel.verbose=Verbose +cezerio_dev_esp32c6.menu.DebugLevel.verbose.build.code_debug=5 + +cezerio_dev_esp32c6.menu.EraseFlash.none=Disabled +cezerio_dev_esp32c6.menu.EraseFlash.none.upload.erase_cmd= +cezerio_dev_esp32c6.menu.EraseFlash.all=Enabled +cezerio_dev_esp32c6.menu.EraseFlash.all.upload.erase_cmd=-e + +cezerio_dev_esp32c6.menu.ZigbeeMode.default=Disabled +cezerio_dev_esp32c6.menu.ZigbeeMode.default.build.zigbee_mode= +cezerio_dev_esp32c6.menu.ZigbeeMode.default.build.zigbee_libs= +cezerio_dev_esp32c6.menu.ZigbeeMode.ed=Zigbee ED (end device) +cezerio_dev_esp32c6.menu.ZigbeeMode.ed.build.zigbee_mode=-DZIGBEE_MODE_ED +cezerio_dev_esp32c6.menu.ZigbeeMode.ed.build.zigbee_libs=-lesp_zb_api_ed -lesp_zb_cli_command -lzboss_stack.ed -lzboss_port +cezerio_dev_esp32c6.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator) +cezerio_dev_esp32c6.menu.ZigbeeMode.zczr.build.zigbee_mode=-DZIGBEE_MODE_ZCZR +cezerio_dev_esp32c6.menu.ZigbeeMode.zczr.build.zigbee_libs=-lesp_zb_api_zczr -lesp_zb_cli_command -lzboss_stack.zczr -lzboss_port +cezerio_dev_esp32c6.menu.ZigbeeMode.rcp=Zigbee RCP (radio co-processor) +cezerio_dev_esp32c6.menu.ZigbeeMode.rcp.build.zigbee_mode=-DZIGBEE_MODE_RCP +cezerio_dev_esp32c6.menu.ZigbeeMode.rcp.build.zigbee_libs=-lesp_zb_api_rcp -lesp_zb_cli_command -lzboss_stack.rcp -lzboss_port + +############################################################## diff --git a/variants/cezerio_dev_esp32c6/pins_arduino.h b/variants/cezerio_dev_esp32c6/pins_arduino.h new file mode 100644 index 00000000000..3ffc59aee6f --- /dev/null +++ b/variants/cezerio_dev_esp32c6/pins_arduino.h @@ -0,0 +1,52 @@ +#ifndef Pins_Arduino_h +#define Pins_Arduino_h + +#include +#include "soc/soc_caps.h" + +#define USB_VID 0x303A +#define USB_PID 0x1001 +#define USB_MANUFACTURER "RFtek Electronics" +#define USB_PRODUCT "cezerio dev ESP32C6" +#define USB_SERIAL "" + +#define PIN_RGB_LED 3 +// BUILTIN_LED can be used in new Arduino API digitalWrite() like in Blink.ino +static const uint8_t LED_BUILTIN = SOC_GPIO_PIN_COUNT + PIN_RGB_LED; +#define BUILTIN_LED LED_BUILTIN // backward compatibility +#define LED_BUILTIN LED_BUILTIN // allow testing #ifdef LED_BUILTIN +// RGB_BUILTIN and RGB_BRIGHTNESS can be used in new Arduino API rgbLedWrite() +#define RGB_BUILTIN LED_BUILTIN +#define RGBLED LED_BUILTIN +#define RGB_BRIGHTNESS 64 + +static const uint8_t BUT_BUILTIN = 9; +#define BUILTIN_BUT BUT_BUILTIN // backward compatibility +#define BUT_BUILTIN BUT_BUILTIN // allow testing #ifdef BUT_BUILTIN +#define BOOT BUT_BUILTIN + +static const uint8_t TX = 16; +static const uint8_t RX = 17; + +static const uint8_t SDA = 8; +static const uint8_t SCL = 7; + +static const uint8_t SS = 14; +static const uint8_t MOSI = 22; +static const uint8_t MISO = 23; +static const uint8_t SCK = 21; + +static const uint8_t A0 = 0; +static const uint8_t A1 = 1; +static const uint8_t A2 = 2; +static const uint8_t A3 = 3; +static const uint8_t A4 = 4; +static const uint8_t A5 = 5; +static const uint8_t A6 = 6; + +static const uint8_t MATRIX = 18; + +static const uint8_t IMUSD = 8; +static const uint8_t IMUSC = 7; + +#endif /* Pins_Arduino_h */ From 955b277497b4529b685fb0193ba4f7dcc61d11c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Proch=C3=A1zka?= <90197375+P-R-O-C-H-Y@users.noreply.github.com> Date: Thu, 17 Oct 2024 09:43:47 +0200 Subject: [PATCH 102/146] fix(example): print correct fade direction (#10450) * fix(example): print correct fade direction * fix(example): Change to fade in out * fix(example): Codespell fix --- .../ESP32/examples/AnalogOut/LEDCFade/LEDCFade.ino | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/libraries/ESP32/examples/AnalogOut/LEDCFade/LEDCFade.ino b/libraries/ESP32/examples/AnalogOut/LEDCFade/LEDCFade.ino index dc152a63ea4..7155d2791cb 100644 --- a/libraries/ESP32/examples/AnalogOut/LEDCFade/LEDCFade.ino +++ b/libraries/ESP32/examples/AnalogOut/LEDCFade/LEDCFade.ino @@ -21,7 +21,7 @@ #define LEDC_FADE_TIME (3000) bool fade_ended = false; // status of LED fade -bool fade_on = true; +bool fade_in = true; void ARDUINO_ISR_ATTR LED_FADE_ISR() { fade_ended = true; @@ -55,15 +55,15 @@ void loop() { Serial.println("LED fade ended"); fade_ended = false; - // Check if last fade was fade on - if (fade_on) { + // Check what fade should be started next + if (fade_in) { ledcFadeWithInterrupt(LED_PIN, LEDC_START_DUTY, LEDC_TARGET_DUTY, LEDC_FADE_TIME, LED_FADE_ISR); - Serial.println("LED Fade off started."); - fade_on = false; + Serial.println("LED Fade in started."); + fade_in = false; } else { ledcFadeWithInterrupt(LED_PIN, LEDC_TARGET_DUTY, LEDC_START_DUTY, LEDC_FADE_TIME, LED_FADE_ISR); - Serial.println("LED Fade on started."); - fade_on = true; + Serial.println("LED Fade out started."); + fade_in = true; } } } From 612fc4c4bbc48d6f52725ac7d14798976650123f Mon Sep 17 00:00:00 2001 From: me-no-dev Date: Thu, 17 Oct 2024 12:12:44 +0300 Subject: [PATCH 103/146] fix(pins): Adjust P4 SPI pins to ones that are available --- variants/esp32p4/pins_arduino.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/variants/esp32p4/pins_arduino.h b/variants/esp32p4/pins_arduino.h index caba8995222..f227de428ef 100644 --- a/variants/esp32p4/pins_arduino.h +++ b/variants/esp32p4/pins_arduino.h @@ -22,10 +22,10 @@ static const uint8_t RX = 38; static const uint8_t SDA = 7; static const uint8_t SCL = 8; -static const uint8_t SS = 10; -static const uint8_t MOSI = 11; -static const uint8_t MISO = 12; -static const uint8_t SCK = 13; +static const uint8_t SS = 27; +static const uint8_t MOSI = 46; +static const uint8_t MISO = 47; +static const uint8_t SCK = 48; static const uint8_t A0 = 16; static const uint8_t A1 = 17; From ee1bc6ba0a7a4bb59d3b1e45760acffaa9603e43 Mon Sep 17 00:00:00 2001 From: Me No Dev Date: Thu, 17 Oct 2024 14:30:48 +0300 Subject: [PATCH 104/146] Add RMII Ethernet support for ESP32-P4 (#10479) * fix(eth): Add ETH support for ESP32-P4 Also adds configuration to pins_arduino.h * fix(eth): Enable TLK110 Example on P4 * fix(eth): Fix Ethernet examples * ci(pre-commit): Apply automatic fixes --------- Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> --- boards.txt | 7 +++-- .../examples/ETH_LAN8720/ETH_LAN8720.ino | 12 ++++++-- .../examples/ETH_TLK110/ETH_TLK110.ino | 12 ++++++-- .../Ethernet/examples/ETH_TLK110/ci.json | 5 +--- .../ETH_W5500_Arduino_SPI.ino | 4 +-- .../ETH_W5500_IDF_SPI/ETH_W5500_IDF_SPI.ino | 4 +-- libraries/Ethernet/src/ETH.cpp | 28 +++++++++++++++++-- libraries/Ethernet/src/ETH.h | 26 +++++++++++++++++ variants/esp32p4/pins_arduino.h | 14 ++++++++++ 9 files changed, 96 insertions(+), 16 deletions(-) diff --git a/boards.txt b/boards.txt index fd71c2e80c2..62d66fdc828 100644 --- a/boards.txt +++ b/boards.txt @@ -188,7 +188,10 @@ esp32p4.build.variant=esp32p4 esp32p4.build.board=ESP32P4_DEV esp32p4.build.bootloader_addr=0x2000 +esp32p4.build.usb_mode=0 esp32p4.build.cdc_on_boot=0 +esp32p4.build.msc_on_boot=0 +esp32p4.build.dfu_on_boot=0 esp32p4.build.f_cpu=360000000L esp32p4.build.flash_size=4MB esp32p4.build.flash_freq=80m @@ -216,10 +219,10 @@ esp32p4.menu.PSRAM.disabled.build.defines= esp32p4.menu.PSRAM.enabled=Enabled esp32p4.menu.PSRAM.enabled.build.defines=-DBOARD_HAS_PSRAM -esp32p4.menu.USBMode.hwcdc=Hardware CDC and JTAG -esp32p4.menu.USBMode.hwcdc.build.usb_mode=1 esp32p4.menu.USBMode.default=USB-OTG (TinyUSB) esp32p4.menu.USBMode.default.build.usb_mode=0 +esp32p4.menu.USBMode.hwcdc=Hardware CDC and JTAG +esp32p4.menu.USBMode.hwcdc.build.usb_mode=1 esp32p4.menu.CDCOnBoot.default=Disabled esp32p4.menu.CDCOnBoot.default.build.cdc_on_boot=0 diff --git a/libraries/Ethernet/examples/ETH_LAN8720/ETH_LAN8720.ino b/libraries/Ethernet/examples/ETH_LAN8720/ETH_LAN8720.ino index 1453df63434..59a32750bf6 100644 --- a/libraries/Ethernet/examples/ETH_LAN8720/ETH_LAN8720.ino +++ b/libraries/Ethernet/examples/ETH_LAN8720/ETH_LAN8720.ino @@ -5,13 +5,21 @@ // Important to be defined BEFORE including ETH.h for ETH.begin() to work. // Example RMII LAN8720 (Olimex, etc.) -#ifndef ETH_PHY_TYPE -#define ETH_PHY_TYPE ETH_PHY_LAN8720 +#ifndef ETH_PHY_MDC +#define ETH_PHY_TYPE ETH_PHY_LAN8720 +#if CONFIG_IDF_TARGET_ESP32 #define ETH_PHY_ADDR 0 #define ETH_PHY_MDC 23 #define ETH_PHY_MDIO 18 #define ETH_PHY_POWER -1 #define ETH_CLK_MODE ETH_CLOCK_GPIO0_IN +#elif CONFIG_IDF_TARGET_ESP32P4 +#define ETH_PHY_ADDR 0 +#define ETH_PHY_MDC 31 +#define ETH_PHY_MDIO 52 +#define ETH_PHY_POWER 51 +#define ETH_CLK_MODE EMAC_CLK_EXT_IN +#endif #endif #include diff --git a/libraries/Ethernet/examples/ETH_TLK110/ETH_TLK110.ino b/libraries/Ethernet/examples/ETH_TLK110/ETH_TLK110.ino index 3252cd120f4..242281c3997 100644 --- a/libraries/Ethernet/examples/ETH_TLK110/ETH_TLK110.ino +++ b/libraries/Ethernet/examples/ETH_TLK110/ETH_TLK110.ino @@ -5,13 +5,21 @@ #include -#ifndef ETH_PHY_TYPE -#define ETH_PHY_TYPE ETH_PHY_TLK110 +#ifndef ETH_PHY_MDC +#define ETH_PHY_TYPE ETH_PHY_TLK110 +#if CONFIG_IDF_TARGET_ESP32 #define ETH_PHY_ADDR 31 #define ETH_PHY_MDC 23 #define ETH_PHY_MDIO 18 #define ETH_PHY_POWER 17 #define ETH_CLK_MODE ETH_CLOCK_GPIO0_IN +#elif CONFIG_IDF_TARGET_ESP32P4 +#define ETH_PHY_ADDR 1 +#define ETH_PHY_MDC 31 +#define ETH_PHY_MDIO 52 +#define ETH_PHY_POWER 51 +#define ETH_CLK_MODE EMAC_CLK_EXT_IN +#endif #endif static bool eth_connected = false; diff --git a/libraries/Ethernet/examples/ETH_TLK110/ci.json b/libraries/Ethernet/examples/ETH_TLK110/ci.json index 0eab13b8841..dcdfd06db51 100644 --- a/libraries/Ethernet/examples/ETH_TLK110/ci.json +++ b/libraries/Ethernet/examples/ETH_TLK110/ci.json @@ -1,8 +1,5 @@ { "requires": [ "CONFIG_ETH_USE_ESP32_EMAC=y" - ], - "targets": { - "esp32p4": false - } + ] } diff --git a/libraries/Ethernet/examples/ETH_W5500_Arduino_SPI/ETH_W5500_Arduino_SPI.ino b/libraries/Ethernet/examples/ETH_W5500_Arduino_SPI/ETH_W5500_Arduino_SPI.ino index d4bc78a1c07..d5d57333a55 100644 --- a/libraries/Ethernet/examples/ETH_W5500_Arduino_SPI/ETH_W5500_Arduino_SPI.ino +++ b/libraries/Ethernet/examples/ETH_W5500_Arduino_SPI/ETH_W5500_Arduino_SPI.ino @@ -9,7 +9,7 @@ // Set this to 1 to enable dual Ethernet support #define USE_TWO_ETH_PORTS 0 -#ifndef ETH_PHY_TYPE +#ifndef ETH_PHY_CS #define ETH_PHY_TYPE ETH_PHY_W5500 #define ETH_PHY_ADDR 1 #define ETH_PHY_CS 15 @@ -24,7 +24,7 @@ #if USE_TWO_ETH_PORTS // Second port on shared SPI bus -#ifndef ETH1_PHY_TYPE +#ifndef ETH1_PHY_CS #define ETH1_PHY_TYPE ETH_PHY_W5500 #define ETH1_PHY_ADDR 1 #define ETH1_PHY_CS 32 diff --git a/libraries/Ethernet/examples/ETH_W5500_IDF_SPI/ETH_W5500_IDF_SPI.ino b/libraries/Ethernet/examples/ETH_W5500_IDF_SPI/ETH_W5500_IDF_SPI.ino index 512bb78ff5e..dad54a745b7 100644 --- a/libraries/Ethernet/examples/ETH_W5500_IDF_SPI/ETH_W5500_IDF_SPI.ino +++ b/libraries/Ethernet/examples/ETH_W5500_IDF_SPI/ETH_W5500_IDF_SPI.ino @@ -8,7 +8,7 @@ // Set this to 1 to enable dual Ethernet support #define USE_TWO_ETH_PORTS 0 -#ifndef ETH_PHY_TYPE +#ifndef ETH_PHY_CS #define ETH_PHY_TYPE ETH_PHY_W5500 #define ETH_PHY_ADDR 1 #define ETH_PHY_CS 15 @@ -22,7 +22,7 @@ #if USE_TWO_ETH_PORTS // Second port on shared SPI bus -#ifndef ETH1_PHY_TYPE +#ifndef ETH1_PHY_CS #define ETH1_PHY_TYPE ETH_PHY_W5500 #define ETH1_PHY_ADDR 1 #define ETH1_PHY_CS 32 diff --git a/libraries/Ethernet/src/ETH.cpp b/libraries/Ethernet/src/ETH.cpp index 13f9c11f7fe..4ef184ac97a 100644 --- a/libraries/Ethernet/src/ETH.cpp +++ b/libraries/Ethernet/src/ETH.cpp @@ -148,7 +148,27 @@ void ETHClass::setTaskStackSize(size_t size) { _task_stack_size = size; } -#if (CONFIG_ETH_USE_ESP32_EMAC && !defined(CONFIG_IDF_TARGET_ESP32P4)) +#if CONFIG_ETH_USE_ESP32_EMAC +#if CONFIG_IDF_TARGET_ESP32 +#define ETH_EMAC_DEFAULT_CONFIG() ETH_ESP32_EMAC_DEFAULT_CONFIG() +#elif CONFIG_IDF_TARGET_ESP32P4 +#define ETH_EMAC_DEFAULT_CONFIG() \ + { \ + .smi_gpio = {.mdc_num = 31, .mdio_num = 52}, .interface = EMAC_DATA_INTERFACE_RMII, \ + .clock_config = {.rmii = {.clock_mode = EMAC_CLK_EXT_IN, .clock_gpio = (emac_rmii_clock_gpio_t)ETH_RMII_CLK}}, .dma_burst_len = ETH_DMA_BURST_LEN_32, \ + .intr_priority = 0, \ + .emac_dataif_gpio = \ + {.rmii = \ + {.tx_en_num = ETH_RMII_TX_EN, \ + .txd0_num = ETH_RMII_TX0, \ + .txd1_num = ETH_RMII_TX1, \ + .crs_dv_num = ETH_RMII_CRS_DV, \ + .rxd0_num = ETH_RMII_RX0, \ + .rxd1_num = ETH_RMII_RX1_EN}}, \ + .clock_config_out_in = {.rmii = {.clock_mode = EMAC_CLK_EXT_IN, .clock_gpio = (emac_rmii_clock_gpio_t) - 1}}, \ + } +#endif + bool ETHClass::begin(eth_phy_type_t type, int32_t phy_addr, int mdc, int mdio, int power, eth_clock_mode_t clock_mode) { esp_err_t ret = ESP_OK; if (_eth_index > 2) { @@ -177,12 +197,16 @@ bool ETHClass::begin(eth_phy_type_t type, int32_t phy_addr, int mdc, int mdio, i #define DEFAULT_RMII_CLK_GPIO (emac_rmii_clock_gpio_t)(CONFIG_ETH_RMII_CLK_IN_GPIO) #endif - eth_esp32_emac_config_t mac_config = ETH_ESP32_EMAC_DEFAULT_CONFIG(); + eth_esp32_emac_config_t mac_config = ETH_EMAC_DEFAULT_CONFIG(); +#if CONFIG_IDF_TARGET_ESP32 mac_config.clock_config.rmii.clock_mode = (clock_mode) ? EMAC_CLK_OUT : EMAC_CLK_EXT_IN; mac_config.clock_config.rmii.clock_gpio = (1 == clock_mode) ? EMAC_APPL_CLK_OUT_GPIO : (2 == clock_mode) ? EMAC_CLK_OUT_GPIO : (3 == clock_mode) ? EMAC_CLK_OUT_180_GPIO : EMAC_CLK_IN_GPIO; +#elif CONFIG_IDF_TARGET_ESP32P4 + mac_config.clock_config.rmii.clock_mode = (emac_rmii_clock_mode_t)clock_mode; +#endif mac_config.smi_gpio.mdc_num = digitalPinToGPIONumber(mdc); mac_config.smi_gpio.mdio_num = digitalPinToGPIONumber(mdio); diff --git a/libraries/Ethernet/src/ETH.h b/libraries/Ethernet/src/ETH.h index 14d2d042614..10d6b504c2a 100644 --- a/libraries/Ethernet/src/ETH.h +++ b/libraries/Ethernet/src/ETH.h @@ -75,6 +75,7 @@ #if CONFIG_ETH_USE_ESP32_EMAC #define ETH_PHY_IP101 ETH_PHY_TLK110 +#if CONFIG_IDF_TARGET_ESP32 typedef enum { ETH_CLOCK_GPIO0_IN, ETH_CLOCK_GPIO0_OUT, @@ -88,6 +89,31 @@ typedef enum { #define ETH_RMII_RX0 25 #define ETH_RMII_RX1_EN 26 #define ETH_RMII_CRS_DV 27 +#elif CONFIG_IDF_TARGET_ESP32P4 +typedef emac_rmii_clock_mode_t eth_clock_mode_t; +#include "pins_arduino.h" +#ifndef ETH_RMII_TX_EN +#define ETH_RMII_TX_EN 49 +#endif +#ifndef ETH_RMII_TX0 +#define ETH_RMII_TX0 34 +#endif +#ifndef ETH_RMII_TX1 +#define ETH_RMII_TX1 35 +#endif +#ifndef ETH_RMII_RX0 +#define ETH_RMII_RX0 29 +#endif +#ifndef ETH_RMII_RX1_EN +#define ETH_RMII_RX1_EN 30 +#endif +#ifndef ETH_RMII_CRS_DV +#define ETH_RMII_CRS_DV 28 +#endif +#ifndef ETH_RMII_CLK +#define ETH_RMII_CLK 50 +#endif +#endif #endif /* CONFIG_ETH_USE_ESP32_EMAC */ #ifndef ETH_PHY_SPI_FREQ_MHZ diff --git a/variants/esp32p4/pins_arduino.h b/variants/esp32p4/pins_arduino.h index f227de428ef..980e7bdb527 100644 --- a/variants/esp32p4/pins_arduino.h +++ b/variants/esp32p4/pins_arduino.h @@ -57,4 +57,18 @@ static const uint8_t T11 = 13; static const uint8_t T12 = 14; static const uint8_t T13 = 15; +#define ETH_PHY_TYPE ETH_PHY_TLK110 +#define ETH_PHY_ADDR 1 +#define ETH_PHY_MDC 31 +#define ETH_PHY_MDIO 52 +#define ETH_PHY_POWER 51 +#define ETH_RMII_TX_EN 49 +#define ETH_RMII_TX0 34 +#define ETH_RMII_TX1 35 +#define ETH_RMII_RX0 29 +#define ETH_RMII_RX1_EN 30 +#define ETH_RMII_CRS_DV 28 +#define ETH_RMII_CLK 50 +#define ETH_CLK_MODE EMAC_CLK_EXT_IN + #endif /* Pins_Arduino_h */ From ee8931d151665ffc6bb52e3edb9509a6d8e5c401 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BA=8C=E4=B9=9D?= <153150268+Sail-211010@users.noreply.github.com> Date: Thu, 17 Oct 2024 19:31:46 +0800 Subject: [PATCH 105/146] Add the Waveshare ESP32-S3-Touch-LCD-1.85 board (#10477) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Delete boards.txt Delete old files * Add files via upload Add the Waveshare ESP32-S3-Touch-LCD-1.85 board * Add files via upload Add the Waveshare ESP32-S3-Touch-LCD-1.85 board * Update pins_arduino.h Modify the pin definition * Add files via upload Add the Waveshare ESP32-S3-Touch-LCD-1.85 board * Update pins_arduino.h Modify the pin definition * feat(board): Add waweshare s3 rouch lcd 185 * ci(pre-commit): Apply automatic fixes --------- Co-authored-by: Jan Procházka <90197375+P-R-O-C-H-Y@users.noreply.github.com> Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> --- boards.txt | 237 ++++++++++++++++++ .../pins_arduino.h | 64 +++++ 2 files changed, 301 insertions(+) create mode 100644 variants/waveshare_esp32_s3_touch_lcd_185/pins_arduino.h diff --git a/boards.txt b/boards.txt index d1813a7d22a..74d709ec1e1 100644 --- a/boards.txt +++ b/boards.txt @@ -43958,6 +43958,243 @@ waveshare_esp32_s3_touch_lcd_4.menu.EraseFlash.all.upload.erase_cmd=-e ############################################################## +waveshare_esp32_s3_touch_lcd_185.name=Waveshare ESP32-S3-Touch-LCD-1.85 +waveshare_esp32_s3_touch_lcd_185.vid.0=0x303a +waveshare_esp32_s3_touch_lcd_185.pid.0=0x8290 +waveshare_esp32_s3_touch_lcd_185.upload_port.0.vid=0x303a +waveshare_esp32_s3_touch_lcd_185.upload_port.0.pid=0x8290 + +waveshare_esp32_s3_touch_lcd_185.bootloader.tool=esptool_py +waveshare_esp32_s3_touch_lcd_185.bootloader.tool.default=esptool_py + +waveshare_esp32_s3_touch_lcd_185.upload.tool=esptool_py +waveshare_esp32_s3_touch_lcd_185.upload.tool.default=esptool_py +waveshare_esp32_s3_touch_lcd_185.upload.tool.network=esp_ota + +waveshare_esp32_s3_touch_lcd_185.upload.maximum_size=1310720 +waveshare_esp32_s3_touch_lcd_185.upload.maximum_data_size=327680 +waveshare_esp32_s3_touch_lcd_185.upload.flags= +waveshare_esp32_s3_touch_lcd_185.upload.extra_flags= +waveshare_esp32_s3_touch_lcd_185.upload.use_1200bps_touch=false +waveshare_esp32_s3_touch_lcd_185.upload.wait_for_upload_port=false + +waveshare_esp32_s3_touch_lcd_185.serial.disableDTR=false +waveshare_esp32_s3_touch_lcd_185.serial.disableRTS=false + +waveshare_esp32_s3_touch_lcd_185.build.tarch=xtensa +waveshare_esp32_s3_touch_lcd_185.build.bootloader_addr=0x0 +waveshare_esp32_s3_touch_lcd_185.build.target=esp32s3 +waveshare_esp32_s3_touch_lcd_185.build.mcu=esp32s3 +waveshare_esp32_s3_touch_lcd_185.build.core=esp32 +waveshare_esp32_s3_touch_lcd_185.build.variant=waveshare_esp32_s3_touch_lcd_185 +waveshare_esp32_s3_touch_lcd_185.build.board=WAVESHARE_ESP32_S3_TOUCH_LCD_185 + +waveshare_esp32_s3_touch_lcd_185.build.usb_mode=1 +waveshare_esp32_s3_touch_lcd_185.build.cdc_on_boot=0 +waveshare_esp32_s3_touch_lcd_185.build.msc_on_boot=0 +waveshare_esp32_s3_touch_lcd_185.build.dfu_on_boot=0 +waveshare_esp32_s3_touch_lcd_185.build.f_cpu=240000000L +waveshare_esp32_s3_touch_lcd_185.build.flash_size=16MB +waveshare_esp32_s3_touch_lcd_185.build.flash_freq=120m +waveshare_esp32_s3_touch_lcd_185.build.flash_mode=qio +waveshare_esp32_s3_touch_lcd_185.build.boot=qio +waveshare_esp32_s3_touch_lcd_185.build.boot_freq=80m +waveshare_esp32_s3_touch_lcd_185.build.partitions=default +waveshare_esp32_s3_touch_lcd_185.build.defines= +waveshare_esp32_s3_touch_lcd_185.build.loop_core= +waveshare_esp32_s3_touch_lcd_185.build.event_core= +waveshare_esp32_s3_touch_lcd_185.build.psram_type=opi +waveshare_esp32_s3_touch_lcd_185.build.memory_type={build.boot}_{build.psram_type} + +## IDE 2.0 Seems to not update the value +waveshare_esp32_s3_touch_lcd_185.menu.JTAGAdapter.default=Disabled +waveshare_esp32_s3_touch_lcd_185.menu.JTAGAdapter.default.build.copy_jtag_files=0 +waveshare_esp32_s3_touch_lcd_185.menu.JTAGAdapter.builtin=Integrated USB JTAG +waveshare_esp32_s3_touch_lcd_185.menu.JTAGAdapter.builtin.build.openocdscript=esp32s3-builtin.cfg +waveshare_esp32_s3_touch_lcd_185.menu.JTAGAdapter.builtin.build.copy_jtag_files=1 +waveshare_esp32_s3_touch_lcd_185.menu.JTAGAdapter.external=FTDI Adapter +waveshare_esp32_s3_touch_lcd_185.menu.JTAGAdapter.external.build.openocdscript=esp32s3-ftdi.cfg +waveshare_esp32_s3_touch_lcd_185.menu.JTAGAdapter.external.build.copy_jtag_files=1 +waveshare_esp32_s3_touch_lcd_185.menu.JTAGAdapter.bridge=ESP USB Bridge +waveshare_esp32_s3_touch_lcd_185.menu.JTAGAdapter.bridge.build.openocdscript=esp32s3-bridge.cfg +waveshare_esp32_s3_touch_lcd_185.menu.JTAGAdapter.bridge.build.copy_jtag_files=1 + +waveshare_esp32_s3_touch_lcd_185.menu.PSRAM.enabled=Enabled +waveshare_esp32_s3_touch_lcd_185.menu.PSRAM.enabled.build.defines=-DBOARD_HAS_PSRAM +waveshare_esp32_s3_touch_lcd_185.menu.PSRAM.enabled.build.psram_type=opi +waveshare_esp32_s3_touch_lcd_185.menu.PSRAM.disabled=Disabled +waveshare_esp32_s3_touch_lcd_185.menu.PSRAM.disabled.build.defines= +waveshare_esp32_s3_touch_lcd_185.menu.PSRAM.disabled.build.psram_type=qspi + +waveshare_esp32_s3_touch_lcd_185.menu.FlashMode.qio120=QIO 120MHz +waveshare_esp32_s3_touch_lcd_185.menu.FlashMode.qio120.build.flash_mode=dio +waveshare_esp32_s3_touch_lcd_185.menu.FlashMode.qio120.build.boot=qio +waveshare_esp32_s3_touch_lcd_185.menu.FlashMode.qio120.build.boot_freq=120m +waveshare_esp32_s3_touch_lcd_185.menu.FlashMode.qio120.build.flash_freq=80m +waveshare_esp32_s3_touch_lcd_185.menu.FlashMode.qio=QIO 80MHz +waveshare_esp32_s3_touch_lcd_185.menu.FlashMode.qio.build.flash_mode=dio +waveshare_esp32_s3_touch_lcd_185.menu.FlashMode.qio.build.boot=qio +waveshare_esp32_s3_touch_lcd_185.menu.FlashMode.qio.build.boot_freq=80m +waveshare_esp32_s3_touch_lcd_185.menu.FlashMode.qio.build.flash_freq=80m +waveshare_esp32_s3_touch_lcd_185.menu.FlashMode.dio=DIO 80MHz +waveshare_esp32_s3_touch_lcd_185.menu.FlashMode.dio.build.flash_mode=dio +waveshare_esp32_s3_touch_lcd_185.menu.FlashMode.dio.build.boot=dio +waveshare_esp32_s3_touch_lcd_185.menu.FlashMode.dio.build.boot_freq=80m +waveshare_esp32_s3_touch_lcd_185.menu.FlashMode.dio.build.flash_freq=80m +waveshare_esp32_s3_touch_lcd_185.menu.FlashMode.opi=OPI 80MHz +waveshare_esp32_s3_touch_lcd_185.menu.FlashMode.opi.build.flash_mode=dout +waveshare_esp32_s3_touch_lcd_185.menu.FlashMode.opi.build.boot=opi +waveshare_esp32_s3_touch_lcd_185.menu.FlashMode.opi.build.boot_freq=80m +waveshare_esp32_s3_touch_lcd_185.menu.FlashMode.opi.build.flash_freq=80m + +waveshare_esp32_s3_touch_lcd_185.menu.LoopCore.1=Core 1 +waveshare_esp32_s3_touch_lcd_185.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1 +waveshare_esp32_s3_touch_lcd_185.menu.LoopCore.0=Core 0 +waveshare_esp32_s3_touch_lcd_185.menu.LoopCore.0.build.loop_core=-DARDUINO_RUNNING_CORE=0 + +waveshare_esp32_s3_touch_lcd_185.menu.EventsCore.0=Core 0 +waveshare_esp32_s3_touch_lcd_185.menu.EventsCore.0.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=0 +waveshare_esp32_s3_touch_lcd_185.menu.EventsCore.1=Core 1 +waveshare_esp32_s3_touch_lcd_185.menu.EventsCore.1.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=1 + +waveshare_esp32_s3_touch_lcd_185.menu.USBMode.hwcdc=Hardware CDC and JTAG +waveshare_esp32_s3_touch_lcd_185.menu.USBMode.hwcdc.build.usb_mode=1 +waveshare_esp32_s3_touch_lcd_185.menu.USBMode.default=USB-OTG (TinyUSB) +waveshare_esp32_s3_touch_lcd_185.menu.USBMode.default.build.usb_mode=0 + +waveshare_esp32_s3_touch_lcd_185.menu.CDCOnBoot.default=Disabled +waveshare_esp32_s3_touch_lcd_185.menu.CDCOnBoot.default.build.cdc_on_boot=0 +waveshare_esp32_s3_touch_lcd_185.menu.CDCOnBoot.cdc=Enabled +waveshare_esp32_s3_touch_lcd_185.menu.CDCOnBoot.cdc.build.cdc_on_boot=1 + +waveshare_esp32_s3_touch_lcd_185.menu.MSCOnBoot.default=Disabled +waveshare_esp32_s3_touch_lcd_185.menu.MSCOnBoot.default.build.msc_on_boot=0 +waveshare_esp32_s3_touch_lcd_185.menu.MSCOnBoot.msc=Enabled (Requires USB-OTG Mode) +waveshare_esp32_s3_touch_lcd_185.menu.MSCOnBoot.msc.build.msc_on_boot=1 + +waveshare_esp32_s3_touch_lcd_185.menu.DFUOnBoot.default=Disabled +waveshare_esp32_s3_touch_lcd_185.menu.DFUOnBoot.default.build.dfu_on_boot=0 +waveshare_esp32_s3_touch_lcd_185.menu.DFUOnBoot.dfu=Enabled (Requires USB-OTG Mode) +waveshare_esp32_s3_touch_lcd_185.menu.DFUOnBoot.dfu.build.dfu_on_boot=1 + +waveshare_esp32_s3_touch_lcd_185.menu.UploadMode.default=UART0 / Hardware CDC +waveshare_esp32_s3_touch_lcd_185.menu.UploadMode.default.upload.use_1200bps_touch=false +waveshare_esp32_s3_touch_lcd_185.menu.UploadMode.default.upload.wait_for_upload_port=false +waveshare_esp32_s3_touch_lcd_185.menu.UploadMode.cdc=USB-OTG CDC (TinyUSB) +waveshare_esp32_s3_touch_lcd_185.menu.UploadMode.cdc.upload.use_1200bps_touch=true +waveshare_esp32_s3_touch_lcd_185.menu.UploadMode.cdc.upload.wait_for_upload_port=true + +waveshare_esp32_s3_touch_lcd_185.menu.PartitionScheme.esp_sr_16=ESP SR 16M (3MB APP/7MB SPIFFS/2.9MB MODEL) +waveshare_esp32_s3_touch_lcd_185.menu.PartitionScheme.esp_sr_16.upload.maximum_size=3145728 +waveshare_esp32_s3_touch_lcd_185.menu.PartitionScheme.esp_sr_16.upload.extra_flags=0xD10000 {build.path}/srmodels.bin +waveshare_esp32_s3_touch_lcd_185.menu.PartitionScheme.esp_sr_16.build.partitions=esp_sr_16 +waveshare_esp32_s3_touch_lcd_185.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) +waveshare_esp32_s3_touch_lcd_185.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB +waveshare_esp32_s3_touch_lcd_185.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 +waveshare_esp32_s3_touch_lcd_185.menu.PartitionScheme.fatflash=16M Flash (2MB APP/12.5MB FATFS) +waveshare_esp32_s3_touch_lcd_185.menu.PartitionScheme.fatflash.build.partitions=ffat +waveshare_esp32_s3_touch_lcd_185.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 +waveshare_esp32_s3_touch_lcd_185.menu.PartitionScheme.default_8MB=8M with spiffs (3MB APP/1.5MB SPIFFS) +waveshare_esp32_s3_touch_lcd_185.menu.PartitionScheme.default_8MB.build.partitions=default_8MB +waveshare_esp32_s3_touch_lcd_185.menu.PartitionScheme.default_8MB.upload.maximum_size=3342336 +waveshare_esp32_s3_touch_lcd_185.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +waveshare_esp32_s3_touch_lcd_185.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +waveshare_esp32_s3_touch_lcd_185.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 +waveshare_esp32_s3_touch_lcd_185.menu.PartitionScheme.default=Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS) +waveshare_esp32_s3_touch_lcd_185.menu.PartitionScheme.default.build.partitions=default +waveshare_esp32_s3_touch_lcd_185.menu.PartitionScheme.defaultffat=Default 4MB with ffat (1.2MB APP/1.5MB FATFS) +waveshare_esp32_s3_touch_lcd_185.menu.PartitionScheme.defaultffat.build.partitions=default_ffat +waveshare_esp32_s3_touch_lcd_185.menu.PartitionScheme.rainmaker=RainMaker 4MB +waveshare_esp32_s3_touch_lcd_185.menu.PartitionScheme.rainmaker.build.partitions=rainmaker +waveshare_esp32_s3_touch_lcd_185.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +waveshare_esp32_s3_touch_lcd_185.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +waveshare_esp32_s3_touch_lcd_185.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +waveshare_esp32_s3_touch_lcd_185.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +waveshare_esp32_s3_touch_lcd_185.menu.PartitionScheme.huge_app=Huge APP (3MB No OTA/1MB SPIFFS) +waveshare_esp32_s3_touch_lcd_185.menu.PartitionScheme.huge_app.build.partitions=huge_app +waveshare_esp32_s3_touch_lcd_185.menu.PartitionScheme.huge_app.upload.maximum_size=3145728 +waveshare_esp32_s3_touch_lcd_185.menu.PartitionScheme.min_spiffs=Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS) +waveshare_esp32_s3_touch_lcd_185.menu.PartitionScheme.min_spiffs.build.partitions=min_spiffs +waveshare_esp32_s3_touch_lcd_185.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080 +waveshare_esp32_s3_touch_lcd_185.menu.PartitionScheme.minimal=Minimal (1.3MB APP/700KB SPIFFS) +waveshare_esp32_s3_touch_lcd_185.menu.PartitionScheme.minimal.build.partitions=minimal +waveshare_esp32_s3_touch_lcd_185.menu.PartitionScheme.no_fs=No FS 4MB (2MB APP x2) +waveshare_esp32_s3_touch_lcd_185.menu.PartitionScheme.no_fs.build.partitions=no_fs +waveshare_esp32_s3_touch_lcd_185.menu.PartitionScheme.no_fs.upload.maximum_size=2031616 +waveshare_esp32_s3_touch_lcd_185.menu.PartitionScheme.no_ota=No OTA (2MB APP/2MB SPIFFS) +waveshare_esp32_s3_touch_lcd_185.menu.PartitionScheme.no_ota.build.partitions=no_ota +waveshare_esp32_s3_touch_lcd_185.menu.PartitionScheme.no_ota.upload.maximum_size=2097152 +waveshare_esp32_s3_touch_lcd_185.menu.PartitionScheme.noota_3g=No OTA (1MB APP/3MB SPIFFS) +waveshare_esp32_s3_touch_lcd_185.menu.PartitionScheme.noota_3g.build.partitions=noota_3g +waveshare_esp32_s3_touch_lcd_185.menu.PartitionScheme.noota_3g.upload.maximum_size=1048576 +waveshare_esp32_s3_touch_lcd_185.menu.PartitionScheme.noota_ffat=No OTA (2MB APP/2MB FATFS) +waveshare_esp32_s3_touch_lcd_185.menu.PartitionScheme.noota_ffat.build.partitions=noota_ffat +waveshare_esp32_s3_touch_lcd_185.menu.PartitionScheme.noota_ffat.upload.maximum_size=2097152 +waveshare_esp32_s3_touch_lcd_185.menu.PartitionScheme.noota_3gffat=No OTA (1MB APP/3MB FATFS) +waveshare_esp32_s3_touch_lcd_185.menu.PartitionScheme.noota_3gffat.build.partitions=noota_3gffat +waveshare_esp32_s3_touch_lcd_185.menu.PartitionScheme.noota_3gffat.upload.maximum_size=1048576 +waveshare_esp32_s3_touch_lcd_185.menu.PartitionScheme.zigbee_zczr=Zigbee ZCZR 4MB with spiffs +waveshare_esp32_s3_touch_lcd_185.menu.PartitionScheme.zigbee_zczr.build.partitions=zigbee_zczr +waveshare_esp32_s3_touch_lcd_185.menu.PartitionScheme.zigbee_zczr.upload.maximum_size=1310720 +waveshare_esp32_s3_touch_lcd_185.menu.PartitionScheme.custom=Custom +waveshare_esp32_s3_touch_lcd_185.menu.PartitionScheme.custom.build.partitions= +waveshare_esp32_s3_touch_lcd_185.menu.PartitionScheme.custom.upload.maximum_size=16777216 + +waveshare_esp32_s3_touch_lcd_185.menu.CPUFreq.240=240MHz (WiFi) +waveshare_esp32_s3_touch_lcd_185.menu.CPUFreq.240.build.f_cpu=240000000L +waveshare_esp32_s3_touch_lcd_185.menu.CPUFreq.160=160MHz (WiFi) +waveshare_esp32_s3_touch_lcd_185.menu.CPUFreq.160.build.f_cpu=160000000L +waveshare_esp32_s3_touch_lcd_185.menu.CPUFreq.80=80MHz (WiFi) +waveshare_esp32_s3_touch_lcd_185.menu.CPUFreq.80.build.f_cpu=80000000L +waveshare_esp32_s3_touch_lcd_185.menu.CPUFreq.40=40MHz +waveshare_esp32_s3_touch_lcd_185.menu.CPUFreq.40.build.f_cpu=40000000L +waveshare_esp32_s3_touch_lcd_185.menu.CPUFreq.20=20MHz +waveshare_esp32_s3_touch_lcd_185.menu.CPUFreq.20.build.f_cpu=20000000L +waveshare_esp32_s3_touch_lcd_185.menu.CPUFreq.10=10MHz +waveshare_esp32_s3_touch_lcd_185.menu.CPUFreq.10.build.f_cpu=10000000L + +waveshare_esp32_s3_touch_lcd_185.menu.UploadSpeed.921600=921600 +waveshare_esp32_s3_touch_lcd_185.menu.UploadSpeed.921600.upload.speed=921600 +waveshare_esp32_s3_touch_lcd_185.menu.UploadSpeed.115200=115200 +waveshare_esp32_s3_touch_lcd_185.menu.UploadSpeed.115200.upload.speed=115200 +waveshare_esp32_s3_touch_lcd_185.menu.UploadSpeed.256000.windows=256000 +waveshare_esp32_s3_touch_lcd_185.menu.UploadSpeed.256000.upload.speed=256000 +waveshare_esp32_s3_touch_lcd_185.menu.UploadSpeed.230400.windows.upload.speed=256000 +waveshare_esp32_s3_touch_lcd_185.menu.UploadSpeed.230400=230400 +waveshare_esp32_s3_touch_lcd_185.menu.UploadSpeed.230400.upload.speed=230400 +waveshare_esp32_s3_touch_lcd_185.menu.UploadSpeed.460800.linux=460800 +waveshare_esp32_s3_touch_lcd_185.menu.UploadSpeed.460800.macosx=460800 +waveshare_esp32_s3_touch_lcd_185.menu.UploadSpeed.460800.upload.speed=460800 +waveshare_esp32_s3_touch_lcd_185.menu.UploadSpeed.512000.windows=512000 +waveshare_esp32_s3_touch_lcd_185.menu.UploadSpeed.512000.upload.speed=512000 + +waveshare_esp32_s3_touch_lcd_185.menu.DebugLevel.none=None +waveshare_esp32_s3_touch_lcd_185.menu.DebugLevel.none.build.code_debug=0 +waveshare_esp32_s3_touch_lcd_185.menu.DebugLevel.error=Error +waveshare_esp32_s3_touch_lcd_185.menu.DebugLevel.error.build.code_debug=1 +waveshare_esp32_s3_touch_lcd_185.menu.DebugLevel.warn=Warn +waveshare_esp32_s3_touch_lcd_185.menu.DebugLevel.warn.build.code_debug=2 +waveshare_esp32_s3_touch_lcd_185.menu.DebugLevel.info=Info +waveshare_esp32_s3_touch_lcd_185.menu.DebugLevel.info.build.code_debug=3 +waveshare_esp32_s3_touch_lcd_185.menu.DebugLevel.debug=Debug +waveshare_esp32_s3_touch_lcd_185.menu.DebugLevel.debug.build.code_debug=4 +waveshare_esp32_s3_touch_lcd_185.menu.DebugLevel.verbose=Verbose +waveshare_esp32_s3_touch_lcd_185.menu.DebugLevel.verbose.build.code_debug=5 + +waveshare_esp32_s3_touch_lcd_185.menu.EraseFlash.none=Disabled +waveshare_esp32_s3_touch_lcd_185.menu.EraseFlash.none.upload.erase_cmd= +waveshare_esp32_s3_touch_lcd_185.menu.EraseFlash.all=Enabled +waveshare_esp32_s3_touch_lcd_185.menu.EraseFlash.all.upload.erase_cmd=-e + +waveshare_esp32_s3_touch_lcd_185.menu.ZigbeeMode.default=Disabled +waveshare_esp32_s3_touch_lcd_185.menu.ZigbeeMode.default.build.zigbee_mode= +waveshare_esp32_s3_touch_lcd_185.menu.ZigbeeMode.default.build.zigbee_libs= +waveshare_esp32_s3_touch_lcd_185.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator/router) +waveshare_esp32_s3_touch_lcd_185.menu.ZigbeeMode.zczr.build.zigbee_mode=-DZIGBEE_MODE_ZCZR +waveshare_esp32_s3_touch_lcd_185.menu.ZigbeeMode.zczr.build.zigbee_libs=-lesp_zb_api_zczr -lesp_zb_cli_command -lzboss_stack.zczr -lzboss_port + +############################################################## + cezerio_dev_esp32c6.name=cezerio dev ESP32C6 cezerio_dev_esp32c6.bootloader.tool=esptool_py diff --git a/variants/waveshare_esp32_s3_touch_lcd_185/pins_arduino.h b/variants/waveshare_esp32_s3_touch_lcd_185/pins_arduino.h new file mode 100644 index 00000000000..863590e321a --- /dev/null +++ b/variants/waveshare_esp32_s3_touch_lcd_185/pins_arduino.h @@ -0,0 +1,64 @@ +#ifndef Pins_Arduino_h +#define Pins_Arduino_h + +#include +#include "soc/soc_caps.h" + +// BN: ESP32 Family Device +#define USB_VID 0x303a +#define USB_PID 0x8290 + +#define USB_MANUFACTURER "Waveshare" +#define USB_PRODUCT "ESP32-S3-Touch-LCD-1.85" +#define USB_SERIAL "" + +// I2C pins +static const uint8_t SCL = 10; +static const uint8_t SDA = 11; + +static const uint8_t TX = 43; +static const uint8_t RX = 44; + +// Mapping based on the ESP32S3 data sheet - alternate for SPI2 +static const uint8_t SS = 34; // FSPICS0 +static const uint8_t MOSI = 35; // FSPID +static const uint8_t MISO = 37; // FSPIQ +static const uint8_t SCK = 36; // FSPICLK + +static const uint8_t A0 = 1; +static const uint8_t A1 = 2; +static const uint8_t A2 = 3; +static const uint8_t A3 = 4; +static const uint8_t A4 = 5; +static const uint8_t A5 = 6; +static const uint8_t A6 = 7; +static const uint8_t A7 = 8; +static const uint8_t A8 = 9; +static const uint8_t A9 = 10; +static const uint8_t A10 = 11; +static const uint8_t A11 = 12; +static const uint8_t A12 = 13; +static const uint8_t A13 = 14; +static const uint8_t A14 = 15; +static const uint8_t A15 = 16; +static const uint8_t A16 = 17; +static const uint8_t A17 = 18; +static const uint8_t A18 = 19; +static const uint8_t A19 = 20; + +static const uint8_t T1 = 1; +static const uint8_t T2 = 2; +static const uint8_t T3 = 3; +static const uint8_t T4 = 4; +static const uint8_t T5 = 5; +static const uint8_t T6 = 6; +static const uint8_t T7 = 7; +static const uint8_t T8 = 8; +static const uint8_t T9 = 9; +static const uint8_t T10 = 10; +static const uint8_t T11 = 11; +static const uint8_t T12 = 12; +static const uint8_t T13 = 13; +static const uint8_t T14 = 14; + +#endif /* Pins_Arduino_h */ From 9e48d9f2388a82d0b198f31c214b8becd0ecb204 Mon Sep 17 00:00:00 2001 From: me-no-dev Date: Thu, 17 Oct 2024 16:13:59 +0300 Subject: [PATCH 106/146] fix(spi): Fix P4 SPI Pin definitions Use GPIOs 36 or lower to avoid LDO power issues --- cores/esp32/esp32-hal-spi.c | 2 +- variants/esp32p4/pins_arduino.h | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/cores/esp32/esp32-hal-spi.c b/cores/esp32/esp32-hal-spi.c index af3fd7b5f06..80928309670 100644 --- a/cores/esp32/esp32-hal-spi.c +++ b/cores/esp32/esp32-hal-spi.c @@ -65,7 +65,7 @@ #endif struct spi_struct_t { - spi_dev_t *dev; + volatile spi_dev_t *dev; #if !CONFIG_DISABLE_HAL_LOCKS SemaphoreHandle_t lock; #endif diff --git a/variants/esp32p4/pins_arduino.h b/variants/esp32p4/pins_arduino.h index 980e7bdb527..792146f5ca2 100644 --- a/variants/esp32p4/pins_arduino.h +++ b/variants/esp32p4/pins_arduino.h @@ -22,10 +22,11 @@ static const uint8_t RX = 38; static const uint8_t SDA = 7; static const uint8_t SCL = 8; -static const uint8_t SS = 27; -static const uint8_t MOSI = 46; -static const uint8_t MISO = 47; -static const uint8_t SCK = 48; +// Use GPIOs 36 or lower on the P4 DevKit to avoid LDO power issues with high numbered GPIOs. +static const uint8_t SS = 26; +static const uint8_t MOSI = 32; +static const uint8_t MISO = 33; +static const uint8_t SCK = 36; static const uint8_t A0 = 16; static const uint8_t A1 = 17; From 8570b3d270470c6ff6582aca75a1d9df95364828 Mon Sep 17 00:00:00 2001 From: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com> Date: Thu, 17 Oct 2024 10:21:08 -0300 Subject: [PATCH 107/146] Fix formatting in ETH and USB --- libraries/Ethernet/src/ETH.cpp | 44 +++++++++++++++++++++++----------- libraries/USB/src/USBHID.cpp | 4 +++- 2 files changed, 33 insertions(+), 15 deletions(-) diff --git a/libraries/Ethernet/src/ETH.cpp b/libraries/Ethernet/src/ETH.cpp index 4ef184ac97a..e04174fd490 100644 --- a/libraries/Ethernet/src/ETH.cpp +++ b/libraries/Ethernet/src/ETH.cpp @@ -152,22 +152,38 @@ void ETHClass::setTaskStackSize(size_t size) { #if CONFIG_IDF_TARGET_ESP32 #define ETH_EMAC_DEFAULT_CONFIG() ETH_ESP32_EMAC_DEFAULT_CONFIG() #elif CONFIG_IDF_TARGET_ESP32P4 -#define ETH_EMAC_DEFAULT_CONFIG() \ - { \ - .smi_gpio = {.mdc_num = 31, .mdio_num = 52}, .interface = EMAC_DATA_INTERFACE_RMII, \ - .clock_config = {.rmii = {.clock_mode = EMAC_CLK_EXT_IN, .clock_gpio = (emac_rmii_clock_gpio_t)ETH_RMII_CLK}}, .dma_burst_len = ETH_DMA_BURST_LEN_32, \ - .intr_priority = 0, \ - .emac_dataif_gpio = \ - {.rmii = \ - {.tx_en_num = ETH_RMII_TX_EN, \ - .txd0_num = ETH_RMII_TX0, \ - .txd1_num = ETH_RMII_TX1, \ - .crs_dv_num = ETH_RMII_CRS_DV, \ - .rxd0_num = ETH_RMII_RX0, \ - .rxd1_num = ETH_RMII_RX1_EN}}, \ - .clock_config_out_in = {.rmii = {.clock_mode = EMAC_CLK_EXT_IN, .clock_gpio = (emac_rmii_clock_gpio_t) - 1}}, \ +// clang-format off +#define ETH_EMAC_DEFAULT_CONFIG() \ + { \ + .smi_gpio = {.mdc_num = 31, .mdio_num = 52}, \ + .interface = EMAC_DATA_INTERFACE_RMII, \ + .clock_config = { \ + .rmii = { \ + .clock_mode = EMAC_CLK_EXT_IN, \ + .clock_gpio = (emac_rmii_clock_gpio_t)ETH_RMII_CLK \ + } \ + }, \ + .dma_burst_len = ETH_DMA_BURST_LEN_32, \ + .intr_priority = 0, \ + .emac_dataif_gpio = { \ + .rmii = { \ + .tx_en_num = ETH_RMII_TX_EN, \ + .txd0_num = ETH_RMII_TX0, \ + .txd1_num = ETH_RMII_TX1, \ + .crs_dv_num = ETH_RMII_CRS_DV, \ + .rxd0_num = ETH_RMII_RX0, \ + .rxd1_num = ETH_RMII_RX1_EN \ + } \ + }, \ + .clock_config_out_in = { \ + .rmii = { \ + .clock_mode = EMAC_CLK_EXT_IN, \ + .clock_gpio = (emac_rmii_clock_gpio_t) - 1 \ + } \ + }, \ } #endif +// clang-format on bool ETHClass::begin(eth_phy_type_t type, int32_t phy_addr, int mdc, int mdio, int power, eth_clock_mode_t clock_mode) { esp_err_t ret = ESP_OK; diff --git a/libraries/USB/src/USBHID.cpp b/libraries/USB/src/USBHID.cpp index 4bc555b8e30..1d5d86fb3a3 100644 --- a/libraries/USB/src/USBHID.cpp +++ b/libraries/USB/src/USBHID.cpp @@ -206,7 +206,9 @@ extern "C" uint16_t tusb_hid_load_descriptor(uint8_t *dst, uint8_t *itf) { uint8_t descriptor[TUD_HID_INOUT_DESC_LEN] = { // HID Input & Output descriptor // Interface number, string index, protocol, report descriptor len, EP OUT & IN address, size & polling interval - TUD_HID_INOUT_DESCRIPTOR(*itf, str_index, tinyusb_interface_protocol, tinyusb_hid_device_descriptor_len, ep_out, (uint8_t)(0x80 | ep_in), CFG_TUD_ENDOINT_SIZE, 1) + TUD_HID_INOUT_DESCRIPTOR( + *itf, str_index, tinyusb_interface_protocol, tinyusb_hid_device_descriptor_len, ep_out, (uint8_t)(0x80 | ep_in), CFG_TUD_ENDOINT_SIZE, 1 + ) }; *itf += 1; memcpy(dst, descriptor, TUD_HID_INOUT_DESC_LEN); From edb4ee13d24688d50d2dd6b3979dac6d981f0d53 Mon Sep 17 00:00:00 2001 From: Me No Dev Date: Thu, 17 Oct 2024 19:46:14 +0300 Subject: [PATCH 108/146] IDF release/v5.3 707d097b (#10480) --- package/package_esp32_index.template.json | 32 +++++++++++------------ 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/package/package_esp32_index.template.json b/package/package_esp32_index.template.json index 89ec0cebf8e..dc32ddae953 100644 --- a/package/package_esp32_index.template.json +++ b/package/package_esp32_index.template.json @@ -101,57 +101,57 @@ "host": "i686-mingw32", "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-707d097b.zip", "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-707d097b.zip", - "checksum": "SHA-256:c75625cbb80f0f9ea437840c7ee00d937e4443af6903b6903bfe98928e36618e", - "size": "343593768" + "checksum": "SHA-256:e09d25302eeb1d0e40001280c8fb17e87974496046b929536bb56a50007aa0eb", + "size": "343601720" }, { "host": "x86_64-mingw32", "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-707d097b.zip", "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-707d097b.zip", - "checksum": "SHA-256:c75625cbb80f0f9ea437840c7ee00d937e4443af6903b6903bfe98928e36618e", - "size": "343593768" + "checksum": "SHA-256:e09d25302eeb1d0e40001280c8fb17e87974496046b929536bb56a50007aa0eb", + "size": "343601720" }, { "host": "arm64-apple-darwin", "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-707d097b.zip", "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-707d097b.zip", - "checksum": "SHA-256:c75625cbb80f0f9ea437840c7ee00d937e4443af6903b6903bfe98928e36618e", - "size": "343593768" + "checksum": "SHA-256:e09d25302eeb1d0e40001280c8fb17e87974496046b929536bb56a50007aa0eb", + "size": "343601720" }, { "host": "x86_64-apple-darwin", "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-707d097b.zip", "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-707d097b.zip", - "checksum": "SHA-256:c75625cbb80f0f9ea437840c7ee00d937e4443af6903b6903bfe98928e36618e", - "size": "343593768" + "checksum": "SHA-256:e09d25302eeb1d0e40001280c8fb17e87974496046b929536bb56a50007aa0eb", + "size": "343601720" }, { "host": "x86_64-pc-linux-gnu", "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-707d097b.zip", "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-707d097b.zip", - "checksum": "SHA-256:c75625cbb80f0f9ea437840c7ee00d937e4443af6903b6903bfe98928e36618e", - "size": "343593768" + "checksum": "SHA-256:e09d25302eeb1d0e40001280c8fb17e87974496046b929536bb56a50007aa0eb", + "size": "343601720" }, { "host": "i686-pc-linux-gnu", "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-707d097b.zip", "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-707d097b.zip", - "checksum": "SHA-256:c75625cbb80f0f9ea437840c7ee00d937e4443af6903b6903bfe98928e36618e", - "size": "343593768" + "checksum": "SHA-256:e09d25302eeb1d0e40001280c8fb17e87974496046b929536bb56a50007aa0eb", + "size": "343601720" }, { "host": "aarch64-linux-gnu", "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-707d097b.zip", "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-707d097b.zip", - "checksum": "SHA-256:c75625cbb80f0f9ea437840c7ee00d937e4443af6903b6903bfe98928e36618e", - "size": "343593768" + "checksum": "SHA-256:e09d25302eeb1d0e40001280c8fb17e87974496046b929536bb56a50007aa0eb", + "size": "343601720" }, { "host": "arm-linux-gnueabihf", "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-707d097b.zip", "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-707d097b.zip", - "checksum": "SHA-256:c75625cbb80f0f9ea437840c7ee00d937e4443af6903b6903bfe98928e36618e", - "size": "343593768" + "checksum": "SHA-256:e09d25302eeb1d0e40001280c8fb17e87974496046b929536bb56a50007aa0eb", + "size": "343601720" } ] }, From 064d1c4d972f82c936ce05db22b69ecfc928fcab Mon Sep 17 00:00:00 2001 From: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com> Date: Fri, 18 Oct 2024 14:29:14 -0300 Subject: [PATCH 109/146] fix(build): Fix sdkconfig copy for Arduino CLI (#10484) --- platform.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/platform.txt b/platform.txt index a1574e2f776..d1c3fb3a3dd 100644 --- a/platform.txt +++ b/platform.txt @@ -144,8 +144,8 @@ recipe.hooks.core.prebuild.1.pattern.windows=cmd /c echo "-DARDUINO_CORE_BUILD" recipe.hooks.core.postbuild.1.pattern.windows=cmd /c type nul > "{file_opts.path}" # Copy sdkconfig to build folder -recipe.hooks.prebuild.8.pattern=/usr/bin/env bash -c "cp -f "{runtime.platform.path}"/tools/esp32-arduino-libs/{build.mcu}/sdkconfig "{build.path}"/sdkconfig" -recipe.hooks.prebuild.8.pattern.windows=cmd /c COPY /y "{runtime.platform.path}\tools\esp32-arduino-libs\{build.mcu}\sdkconfig" "{build.path}\sdkconfig" +recipe.hooks.prebuild.8.pattern=/usr/bin/env bash -c "cp -f "{compiler.sdk.path}"/sdkconfig "{build.path}"/sdkconfig" +recipe.hooks.prebuild.8.pattern.windows=cmd /c COPY /y "{compiler.sdk.path}\sdkconfig" "{build.path}\sdkconfig" ## Compile c files recipe.c.o.pattern="{compiler.path}{compiler.c.cmd}" {compiler.c.extra_flags} {compiler.c.flags} -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} -DARDUINO_BOARD="{build.board}" -DARDUINO_VARIANT="{build.variant}" -DARDUINO_PARTITION_{build.partitions} {build.extra_flags} {compiler.cpreprocessor.flags} {includes} "@{build.opt.path}" "@{file_opts.path}" "{source_file}" -o "{object_file}" From 4ca635a3b6234a5dca5dfc3f44647235666b431d Mon Sep 17 00:00:00 2001 From: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com> Date: Sat, 19 Oct 2024 06:00:48 -0300 Subject: [PATCH 110/146] ci(json): Add requires_any field and use QIO by default to match IDE (#10472) * ci(FQBN): Use QIO as default as DIO can be used on demand now * fix(indentation): Fix default indentation for bash files * fix(compilation): Make errors appear on CI fail * ci(json): Add requires_any field to JSON and fix comparison --- .editorconfig | 2 +- .github/scripts/install-platformio-esp32.sh | 42 +++++++++-- .github/scripts/sketch_utils.sh | 79 ++++++++++++++++----- .github/scripts/tests_run.sh | 23 +++++- docs/en/contributing.rst | 16 +++-- 5 files changed, 130 insertions(+), 32 deletions(-) diff --git a/.editorconfig b/.editorconfig index eda8544321b..e22936cb1fe 100644 --- a/.editorconfig +++ b/.editorconfig @@ -18,7 +18,7 @@ indent_size = 2 indent_style = space [*.{bash,sh}] -indent_size = 2 +indent_size = 4 indent_style = space [*.{c,cc,cp,cpp,cxx,h,hh,hpp,hxx,ii,inl,ino,ixx,pde,tpl,tpp,txx}] diff --git a/.github/scripts/install-platformio-esp32.sh b/.github/scripts/install-platformio-esp32.sh index a9aab496e19..5091ea69353 100755 --- a/.github/scripts/install-platformio-esp32.sh +++ b/.github/scripts/install-platformio-esp32.sh @@ -96,9 +96,9 @@ function count_sketches(){ # count_sketches continue fi - # Check if the sketch requires any configuration options + # Check if the sketch requires any configuration options (AND) requirements=$(jq -r '.requires[]? // empty' $sketchdir/ci.json) - if [[ "$requirements" != "null" ]] || [[ "$requirements" != "" ]]; then + if [[ "$requirements" != "null" && "$requirements" != "" ]]; then for requirement in $requirements; do requirement=$(echo $requirement | xargs) found_line=$(grep -E "^$requirement" "$SDKCONFIG_DIR/esp32/sdkconfig") @@ -107,6 +107,23 @@ function count_sketches(){ # count_sketches fi done fi + + # Check if the sketch requires any configuration options (OR) + requirements_or=$(jq -r '.requires_any[]? // empty' $sketchdir/ci.json) + if [[ "$requirements_or" != "null" && "$requirements_or" != "" ]]; then + found=false + for requirement in $requirements_or; do + requirement=$(echo $requirement | xargs) + found_line=$(grep -E "^$requirement" "$SDKCONFIG_DIR/esp32/sdkconfig") + if [[ "$found_line" != "" ]]; then + found=true + break + fi + done + if [[ "$found" == "false" ]]; then + continue + fi + fi fi echo $sketch >> sketches.txt @@ -187,9 +204,9 @@ function build_pio_sketches(){ # build_pio_sketches [ex # Default FQBN options if none were passed in the command line. - esp32_opts="PSRAM=enabled,FlashMode=dio${fqbn_append:+,$fqbn_append}" - esp32s2_opts="PSRAM=enabled,FlashMode=dio${fqbn_append:+,$fqbn_append}" - esp32s3_opts="PSRAM=opi,USBMode=default,FlashMode=dio${fqbn_append:+,$fqbn_append}" - esp32c3_opts="FlashMode=dio${fqbn_append:+,$fqbn_append}" - esp32c6_opts="FlashMode=dio${fqbn_append:+,$fqbn_append}" - esp32h2_opts="FlashMode=dio${fqbn_append:+,$fqbn_append}" + esp32_opts="PSRAM=enabled${fqbn_append:+,$fqbn_append}" + esp32s2_opts="PSRAM=enabled${fqbn_append:+,$fqbn_append}" + esp32s3_opts="PSRAM=opi,USBMode=default${fqbn_append:+,$fqbn_append}" + esp32c3_opts="$fqbn_append" + esp32c6_opts="$fqbn_append" + esp32h2_opts="$fqbn_append" # Select the common part of the FQBN based on the target. The rest will be # appended depending on the passed options. + opt="" + case "$target" in "esp32") - fqbn="espressif:esp32:esp32:${options:-$esp32_opts}" + [ -n "${options:-$esp32_opts}" ] && opt=":${options:-$esp32_opts}" + fqbn="espressif:esp32:esp32$opt" ;; "esp32s2") - fqbn="espressif:esp32:esp32s2:${options:-$esp32s2_opts}" + [ -n "${options:-$esp32s2_opts}" ] && opt=":${options:-$esp32s2_opts}" + fqbn="espressif:esp32:esp32s2$opt" ;; "esp32c3") - fqbn="espressif:esp32:esp32c3:${options:-$esp32c3_opts}" + [ -n "${options:-$esp32c3_opts}" ] && opt=":${options:-$esp32c3_opts}" + fqbn="espressif:esp32:esp32c3$opt" ;; "esp32s3") - fqbn="espressif:esp32:esp32s3:${options:-$esp32s3_opts}" + [ -n "${options:-$esp32s3_opts}" ] && opt=":${options:-$esp32s3_opts}" + fqbn="espressif:esp32:esp32s3$opt" ;; "esp32c6") - fqbn="espressif:esp32:esp32c6:${options:-$esp32c6_opts}" + [ -n "${options:-$esp32c6_opts}" ] && opt=":${options:-$esp32c6_opts}" + fqbn="espressif:esp32:esp32c6$opt" ;; "esp32h2") - fqbn="espressif:esp32:esp32h2:${options:-$esp32h2_opts}" + [ -n "${options:-$esp32h2_opts}" ] && opt=":${options:-$esp32h2_opts}" + fqbn="espressif:esp32:esp32h2$opt" ;; esac @@ -163,9 +171,9 @@ function build_sketch(){ # build_sketch [ex exit 0 fi - # Check if the sketch requires any configuration options + # Check if the sketch requires any configuration options (AND) requirements=$(jq -r '.requires[]? // empty' $sketchdir/ci.json) - if [[ "$requirements" != "null" ]] || [[ "$requirements" != "" ]]; then + if [[ "$requirements" != "null" && "$requirements" != "" ]]; then for requirement in $requirements; do requirement=$(echo $requirement | xargs) found_line=$(grep -E "^$requirement" "$SDKCONFIG_DIR/$target/sdkconfig") @@ -175,6 +183,24 @@ function build_sketch(){ # build_sketch [ex fi done fi + + # Check if the sketch excludes any configuration options (OR) + requirements_or=$(jq -r '.requires_any[]? // empty' $sketchdir/ci.json) + if [[ "$requirements_or" != "null" && "$requirements_or" != "" ]]; then + found=false + for requirement in $requirements_or; do + requirement=$(echo $requirement | xargs) + found_line=$(grep -E "^$requirement" "$SDKCONFIG_DIR/$target/sdkconfig") + if [[ "$found_line" != "" ]]; then + found=true + break + fi + done + if [[ "$found" == "false" ]]; then + echo "Target $target meets none of the requirements in requires_any for $sketchname. Skipping." + exit 0 + fi + fi fi ARDUINO_CACHE_DIR="$HOME/.arduino/cache.tmp" @@ -213,9 +239,9 @@ function build_sketch(){ # build_sketch [ex --build-cache-path "$ARDUINO_CACHE_DIR" \ --build-path "$build_dir" \ $xtra_opts "${sketchdir}" \ - > $output_file + 2>&1 | tee $output_file - exit_status=$? + exit_status=${PIPESTATUS[0]} if [ $exit_status -ne 0 ]; then echo "ERROR: Compilation failed with error code $exit_status" exit $exit_status @@ -322,9 +348,9 @@ function count_sketches(){ # count_sketches [target] [file] [ignore-requi fi if [ "$ignore_requirements" != "1" ]; then - # Check if the sketch requires any configuration options + # Check if the sketch requires any configuration options (AND) requirements=$(jq -r '.requires[]? // empty' $sketchdir/ci.json) - if [[ "$requirements" != "null" ]] || [[ "$requirements" != "" ]]; then + if [[ "$requirements" != "null" && "$requirements" != "" ]]; then for requirement in $requirements; do requirement=$(echo $requirement | xargs) found_line=$(grep -E "^$requirement" $SDKCONFIG_DIR/$target/sdkconfig) @@ -333,6 +359,23 @@ function count_sketches(){ # count_sketches [target] [file] [ignore-requi fi done fi + + # Check if the sketch excludes any configuration options (OR) + requirements_or=$(jq -r '.requires_any[]? // empty' $sketchdir/ci.json) + if [[ "$requirements_or" != "null" && "$requirements_or" != "" ]]; then + found=false + for requirement in $requirements_or; do + requirement=$(echo $requirement | xargs) + found_line=$(grep -E "^$requirement" $SDKCONFIG_DIR/$target/sdkconfig) + if [[ "$found_line" != "" ]]; then + found=true + break + fi + done + if [[ "$found" == "false" ]]; then + continue 2 + fi + fi fi fi echo $sketch >> sketches.txt diff --git a/.github/scripts/tests_run.sh b/.github/scripts/tests_run.sh index 63ab2ca6dad..f4a9b9d6dd4 100755 --- a/.github/scripts/tests_run.sh +++ b/.github/scripts/tests_run.sh @@ -36,9 +36,9 @@ function run_test() { return 0 fi - # Check if the sketch requires any configuration options + # Check if the sketch requires any configuration options (AND) requirements=$(jq -r '.requires[]? // empty' $sketchdir/ci.json) - if [[ "$requirements" != "null" ]] || [[ "$requirements" != "" ]]; then + if [[ "$requirements" != "null" && "$requirements" != "" ]]; then for requirement in $requirements; do requirement=$(echo $requirement | xargs) found_line=$(grep -E "^$requirement" "$SDKCONFIG_PATH") @@ -49,6 +49,25 @@ function run_test() { fi done fi + + # Check if the sketch requires any configuration options (OR) + requirements_or=$(jq -r '.requires_any[]? // empty' $sketchdir/ci.json) + if [[ "$requirements_or" != "null" && "$requirements_or" != "" ]]; then + found=false + for requirement in $requirements_or; do + requirement=$(echo $requirement | xargs) + found_line=$(grep -E "^$requirement" "$SDKCONFIG_PATH") + if [[ "$found_line" != "" ]]; then + found=true + break + fi + done + if [[ "$found" == "false" ]]; then + printf "\033[93mTarget $target meets none of the requirements in requires_any for $sketchname. Skipping.\033[0m\n" + printf "\n\n\n" + return 0 + fi + fi fi if [ $len -eq 1 ]; then diff --git a/docs/en/contributing.rst b/docs/en/contributing.rst index f4ed6c34761..bc3e2e89674 100644 --- a/docs/en/contributing.rst +++ b/docs/en/contributing.rst @@ -172,12 +172,12 @@ And in the ``README.md`` file: By default, the CI system will use the FQBNs specified in the ``.github/scripts/sketch_utils.sh`` file to compile the sketches. Currently, the default FQBNs are: -* ``espressif:esp32:esp32:PSRAM=enabled,FlashMode=dio`` -* ``espressif:esp32:esp32s2:PSRAM=enabled,FlashMode=dio`` -* ``espressif:esp32:esp32s3:PSRAM=opi,USBMode=default,FlashMode=dio`` -* ``espressif:esp32:esp32c3:FlashMode=dio`` -* ``espressif:esp32:esp32c6:FlashMode=dio`` -* ``espressif:esp32:esp32h2:FlashMode=dio`` +* ``espressif:esp32:esp32:PSRAM=enabled`` +* ``espressif:esp32:esp32s2:PSRAM=enabled`` +* ``espressif:esp32:esp32s3:PSRAM=opi,USBMode=default`` +* ``espressif:esp32:esp32c3`` +* ``espressif:esp32:esp32c6`` +* ``espressif:esp32:esp32h2`` There are two ways to alter the FQBNs used to compile the sketches: by using the ``fqbn`` or ``fqbn_append`` fields in the ``ci.json`` file. @@ -408,7 +408,9 @@ CI JSON File The ``ci.json`` file is used to specify how the test suite and sketches will handled by the CI system. It can contain the following fields: * ``requires``: A list of configurations in ``sdkconfig`` that are required to run the test suite. The test suite will only run on the targets - that have the required configurations. By default, no configurations are required. + that have **ALL** the required configurations. By default, no configurations are required. +* ``requires_any``: A list of configurations in ``sdkconfig`` that are required to run the test suite. The test suite will only run on the targets + that have **ANY** of the required configurations. By default, no configurations are required. * ``targets``: A dictionary that specifies the targets for which the tests will be run. The key is the target name and the value is a boolean that specifies if the test should be run for that target. By default, all targets are enabled as long as they have the required configurations specified in the ``requires`` field. This field is also valid for examples. From a7d9b670a8655778c08d745c061e6a6f9f223061 Mon Sep 17 00:00:00 2001 From: Me No Dev Date: Mon, 21 Oct 2024 11:56:01 +0300 Subject: [PATCH 111/146] Add missing versions to ISSUE_REPORT Versions 3.0.5 and 3.0.6 were added --- .github/ISSUE_TEMPLATE/Issue-report.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/ISSUE_TEMPLATE/Issue-report.yml b/.github/ISSUE_TEMPLATE/Issue-report.yml index 17a3f7f2612..d5b756085c7 100644 --- a/.github/ISSUE_TEMPLATE/Issue-report.yml +++ b/.github/ISSUE_TEMPLATE/Issue-report.yml @@ -41,6 +41,8 @@ body: options: - latest master (checkout manually) - latest development Release Candidate (RC-X) + - v3.0.6 + - v3.0.5 - v3.0.4 - v3.0.3 - v3.0.2 From 7cfe470d8d36e2ca45783f0e9b5a80bd3268e5a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Proch=C3=A1zka?= <90197375+P-R-O-C-H-Y@users.noreply.github.com> Date: Mon, 21 Oct 2024 12:29:01 +0200 Subject: [PATCH 112/146] feat(touch): Support NG touch driver for P4 (#10448) * feat(touch): Support NG touch driver for P4 * fix(ci): Touch test + IDF compilation fixes * fix(ci): remove debug prints from touch test * fix(ci): Fix touch test for esp32 * ci(pre-commit): Apply automatic fixes --------- Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> --- CMakeLists.txt | 5 + cores/esp32/esp32-hal-touch-ng.c | 453 ++++++++++++++++++ cores/esp32/esp32-hal-touch-ng.h | 91 ++++ cores/esp32/esp32-hal-touch.c | 27 +- cores/esp32/esp32-hal-touch.h | 4 +- cores/esp32/esp32-hal.h | 1 + cores/esp32/io_pin_remap.h | 2 +- .../DeepSleep/TouchWakeUp/TouchWakeUp.ino | 8 +- .../examples/DeepSleep/TouchWakeUp/ci.json | 3 +- .../Touch/TouchInterrupt/TouchInterrupt.ino | 5 + .../examples/Touch/TouchInterrupt/ci.json | 5 +- .../ESP32/examples/Touch/TouchRead/ci.json | 5 +- tests/validation/touch/ci.json | 5 +- tests/validation/touch/touch.ino | 75 ++- 14 files changed, 643 insertions(+), 46 deletions(-) create mode 100644 cores/esp32/esp32-hal-touch-ng.c create mode 100644 cores/esp32/esp32-hal-touch-ng.h diff --git a/CMakeLists.txt b/CMakeLists.txt index a06f815c9d8..6688a97803d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -45,6 +45,7 @@ set(CORE_SRCS cores/esp32/esp32-hal-timer.c cores/esp32/esp32-hal-tinyusb.c cores/esp32/esp32-hal-touch.c + cores/esp32/esp32-hal-touch-ng.c cores/esp32/esp32-hal-uart.c cores/esp32/esp32-hal-rmt.c cores/esp32/Esp.cpp @@ -317,6 +318,10 @@ if(NOT CONFIG_ARDUINO_SELECTIVE_COMPILATION OR CONFIG_ARDUINO_SELECTIVE_OpenThre endif() endif() +if(IDF_TARGET STREQUAL "esp32p4") + list(APPEND requires esp_driver_touch_sens) +endif() + idf_component_register(INCLUDE_DIRS ${includedirs} PRIV_INCLUDE_DIRS ${priv_includes} SRCS ${srcs} REQUIRES ${requires} PRIV_REQUIRES ${priv_requires}) if(NOT CONFIG_FREERTOS_HZ EQUAL 1000 AND NOT "$ENV{ARDUINO_SKIP_TICK_CHECK}") diff --git a/cores/esp32/esp32-hal-touch-ng.c b/cores/esp32/esp32-hal-touch-ng.c new file mode 100644 index 00000000000..888a299ec0c --- /dev/null +++ b/cores/esp32/esp32-hal-touch-ng.c @@ -0,0 +1,453 @@ +// Copyright 2024 Espressif Systems (Shanghai) PTE LTD +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at + +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +#include "soc/soc_caps.h" + +#if SOC_TOUCH_SENSOR_SUPPORTED +#if SOC_TOUCH_SENSOR_VERSION == 3 // ESP32P4 for now + +#include "driver/touch_sens.h" +#include "esp32-hal-touch-ng.h" +#include "esp32-hal-periman.h" + +/* + Internal Private Touch Data Structure and Functions +*/ + +typedef void (*voidFuncPtr)(void); +typedef void (*voidArgFuncPtr)(void *); + +typedef struct { + voidFuncPtr fn; + bool callWithArgs; + void *arg; + bool lastStatusIsPressed; +} TouchInterruptHandle_t; + +static TouchInterruptHandle_t __touchInterruptHandlers[SOC_TOUCH_SENSOR_NUM] = { + 0, +}; + +static uint8_t _sample_num = 1; +static uint32_t _div_num = 1; +static uint8_t _coarse_freq_tune = 1; +static uint8_t _fine_freq_tune = 1; +static uint8_t used_pads = 0; + +static uint32_t __touchSleepTime = 256; +static float __touchMeasureTime = 32.0f; + +static touch_sensor_config_t sensor_config; + +static bool initialized = false; +static bool enabled = false; +static bool running = false; +static bool channels_initialized[SOC_TOUCH_SENSOR_NUM] = {false}; + +static touch_sensor_handle_t touch_sensor_handle = NULL; +static touch_channel_handle_t touch_channel_handle[SOC_TOUCH_SENSOR_NUM] = {}; + +// Active threshold to benchmark ratio. (i.e., touch will be activated when data >= benchmark * (1 + ratio)) +static float s_thresh2bm_ratio = 0.015f; // 1.5% for all channels + +static bool ARDUINO_ISR_ATTR __touchOnActiveISR(touch_sensor_handle_t sens_handle, const touch_active_event_data_t *event, void *user_ctx) { + uint8_t pad_num = (uint8_t)event->chan_id; + __touchInterruptHandlers[pad_num].lastStatusIsPressed = true; + if (__touchInterruptHandlers[pad_num].fn) { + // keeping backward compatibility with "void cb(void)" and with new "void cb(void *)" + if (__touchInterruptHandlers[pad_num].callWithArgs) { + ((voidArgFuncPtr)__touchInterruptHandlers[pad_num].fn)(__touchInterruptHandlers[pad_num].arg); + } else { + __touchInterruptHandlers[pad_num].fn(); + } + } + return false; +} + +static bool ARDUINO_ISR_ATTR __touchOnInactiveISR(touch_sensor_handle_t sens_handle, const touch_inactive_event_data_t *event, void *user_ctx) { + uint8_t pad_num = (uint8_t)event->chan_id; + __touchInterruptHandlers[pad_num].lastStatusIsPressed = false; + if (__touchInterruptHandlers[pad_num].fn) { + // keeping backward compatibility with "void cb(void)" and with new "void cb(void *)" + if (__touchInterruptHandlers[pad_num].callWithArgs) { + ((voidArgFuncPtr)__touchInterruptHandlers[pad_num].fn)(__touchInterruptHandlers[pad_num].arg); + } else { + __touchInterruptHandlers[pad_num].fn(); + } + } + return false; +} + +bool touchStop() { + if (!running) { // Already stopped + return true; + } + if (touch_sensor_stop_continuous_scanning(touch_sensor_handle) != ESP_OK) { + log_e("Touch sensor stop scanning failed!"); + return false; + } + running = false; + return true; +} + +bool touchDisable() { + if (!enabled) { // Already disabled + return true; + } + if (!running && (touch_sensor_disable(touch_sensor_handle) != ESP_OK)) { + log_e("Touch sensor still running or disable failed!"); + return false; + } + enabled = false; + return true; +} + +bool touchStart() { + if (running) { // Already running + return true; + } + if (enabled && (touch_sensor_start_continuous_scanning(touch_sensor_handle) != ESP_OK)) { + log_e("Touch sensor not enabled or failed to start continuous scanning failed!"); + return false; + } + running = true; + return true; +} + +bool touchEnable() { + if (enabled) { // Already enabled + return true; + } + if (touch_sensor_enable(touch_sensor_handle) != ESP_OK) { + log_e("Touch sensor enable failed!"); + return false; + } + enabled = true; + return true; +} + +bool touchBenchmarkThreshold(uint8_t pad) { + if (!touchEnable()) { + return false; + } + + /* Scan the enabled touch channels for several times, to make sure the initial channel data is stable */ + for (int i = 0; i < 3; i++) { + if (touch_sensor_trigger_oneshot_scanning(touch_sensor_handle, 2000) != ESP_OK) { + log_e("Touch sensor trigger oneshot scanning failed!"); + return false; + } + } + + /* Disable the touch channel to rollback the state */ + if (!touchDisable()) { + return false; + } + + // Reconfigure passed pad with new threshold + uint32_t benchmark[_sample_num] = {}; + if (touch_channel_read_data(touch_channel_handle[pad], TOUCH_CHAN_DATA_TYPE_BENCHMARK, benchmark) != ESP_OK) { + log_e("Touch channel read data failed!"); + return false; + } + /* Calculate the proper active thresholds regarding the initial benchmark */ + touch_channel_config_t chan_cfg = {}; + for (int i = 0; i < _sample_num; i++) { + chan_cfg.active_thresh[i] = (uint32_t)(benchmark[i] * s_thresh2bm_ratio); + log_v("Configured [CH %d] sample %d: benchmark = %" PRIu32 ", threshold = %" PRIu32 "\t", pad, i, benchmark[i], chan_cfg.active_thresh[i]); + } + /* Update the channel configuration */ + if (touch_sensor_reconfig_channel(touch_channel_handle[pad], &chan_cfg) != ESP_OK) { + log_e("Touch sensor threshold reconfig channel failed!"); + return false; + } + return true; +} + +static bool touchDetachBus(void *pin) { + int8_t pad = digitalPinToTouchChannel((int)(pin - 1)); + channels_initialized[pad] = false; + //disable touch pad and delete the channel + touch_sensor_del_channel(touch_channel_handle[pad]); + used_pads--; + if (used_pads == 0) { + touchStop(); + touchDisable(); + if (touch_sensor_del_controller(touch_sensor_handle) != ESP_OK) //deinit touch module, as no pads are used + { + log_e("Touch module deinit failed!"); + return false; + } + initialized = false; + } + return true; +} + +static void __touchInit() { + if (initialized) { + return; + } + // Support only one sample configuration for now + touch_sensor_sample_config_t single_sample_cfg = TOUCH_SENSOR_V3_DEFAULT_SAMPLE_CONFIG(_div_num, _coarse_freq_tune, _fine_freq_tune); + touch_sensor_sample_config_t sample_cfg[_sample_num] = {}; + sample_cfg[0] = single_sample_cfg; + + /* Allocate new touch controller handle */ + touch_sensor_config_t sens_cfg = { + .power_on_wait_us = __touchSleepTime, + .meas_interval_us = __touchMeasureTime, + .max_meas_time_us = 0, + .output_mode = TOUCH_PAD_OUT_AS_CLOCK, + .sample_cfg_num = _sample_num, + .sample_cfg = sample_cfg, + }; + + // touch_sensor_config_t sens_cfg = TOUCH_SENSOR_DEFAULT_BASIC_CONFIG(_sample_num, sample_cfg); + if (touch_sensor_new_controller(&sens_cfg, &touch_sensor_handle) != ESP_OK) { + goto err; + } + + sensor_config = sens_cfg; + /* Configure the touch sensor filter */ + touch_sensor_filter_config_t filter_cfg = TOUCH_SENSOR_DEFAULT_FILTER_CONFIG(); + if (touch_sensor_config_filter(touch_sensor_handle, &filter_cfg) != ESP_OK) { + goto err; + } + + /* Register the touch sensor on_active and on_inactive callbacks */ + touch_event_callbacks_t callbacks = { + .on_active = __touchOnActiveISR, + .on_inactive = __touchOnInactiveISR, + .on_measure_done = NULL, + .on_scan_done = NULL, + .on_timeout = NULL, + .on_proximity_meas_done = NULL, + }; + if (touch_sensor_register_callbacks(touch_sensor_handle, &callbacks, NULL) != ESP_OK) { + goto err; + } + + initialized = true; + return; +err: + log_e(" Touch sensor initialization error."); + initialized = false; + return; +} + +static void __touchChannelInit(int pad) { + if (channels_initialized[pad]) { + return; + } + + // Initial setup with default Threshold + __touchInterruptHandlers[pad].fn = NULL; + + touch_channel_config_t chan_cfg = { + .active_thresh = {1000} // default threshold, will be updated after benchmark + }; + + if (!touchStop() || !touchDisable()) { + log_e("Touch sensor stop and disable failed!"); + return; + } + + if (touch_sensor_new_channel(touch_sensor_handle, pad, &chan_cfg, &touch_channel_handle[pad]) != ESP_OK) { + log_e("Touch sensor new channel failed!"); + return; + } + + // Benchmark active threshold and reconfigure pad + if (!touchBenchmarkThreshold(pad)) { + log_e("Touch sensor benchmark threshold failed!"); + return; + } + + channels_initialized[pad] = true; + used_pads++; + + if (!touchEnable() || !touchStart()) { + log_e("Touch sensor enable and start failed!"); + } +} + +static touch_value_t __touchRead(uint8_t pin) { + int8_t pad = digitalPinToTouchChannel(pin); + if (pad < 0) { + log_e(" No touch pad on selected pin!"); + return 0; + } + + if (perimanGetPinBus(pin, ESP32_BUS_TYPE_TOUCH) == NULL) { + perimanSetBusDeinit(ESP32_BUS_TYPE_TOUCH, touchDetachBus); + if (!perimanClearPinBus(pin)) { + return 0; + } + __touchInit(); + __touchChannelInit(pad); + + if (!perimanSetPinBus(pin, ESP32_BUS_TYPE_TOUCH, (void *)(pin + 1), -1, pad)) { + touchDetachBus((void *)(pin + 1)); + return 0; + } + } + + uint32_t touch_read[_sample_num] = {}; + touch_channel_read_data(touch_channel_handle[pad], TOUCH_CHAN_DATA_TYPE_SMOOTH, touch_read); + touch_value_t touch_value = touch_read[0]; // only one sample configuration for now + + return touch_value; +} + +static void __touchConfigInterrupt(uint8_t pin, void (*userFunc)(void), void *Args, bool callWithArgs, touch_value_t threshold) { + int8_t pad = digitalPinToTouchChannel(pin); + if (pad < 0) { + log_e(" No touch pad on selected pin!"); + return; + } + + if (userFunc == NULL) { + // detach ISR User Call + __touchInterruptHandlers[pad].fn = NULL; + __touchInterruptHandlers[pad].callWithArgs = false; + __touchInterruptHandlers[pad].arg = NULL; + } else { + // attach ISR User Call + __touchInit(); + __touchChannelInit(pad); + __touchInterruptHandlers[pad].fn = userFunc; + __touchInterruptHandlers[pad].callWithArgs = callWithArgs; + __touchInterruptHandlers[pad].arg = Args; + } + + if (threshold != 0) { + if (!touchStop() || !touchDisable()) { + log_e("Touch sensor stop and disable failed!"); + return; + } + + touch_channel_config_t chan_cfg = {}; + for (int i = 0; i < _sample_num; i++) { + chan_cfg.active_thresh[i] = threshold; + } + + if (touch_sensor_reconfig_channel(touch_channel_handle[pad], &chan_cfg) != ESP_OK) { + log_e("Touch sensor threshold reconfig channel failed!"); + } + + if (!touchEnable() || !touchStart()) { + log_e("Touch sensor enable and start failed!"); + } + } +} + +// it keeps backwards compatibility +static void __touchAttachInterrupt(uint8_t pin, void (*userFunc)(void), touch_value_t threshold) { + __touchConfigInterrupt(pin, userFunc, NULL, threshold, false); +} + +// new additional version of the API with User Args +static void __touchAttachArgsInterrupt(uint8_t pin, void (*userFunc)(void), void *args, touch_value_t threshold) { + __touchConfigInterrupt(pin, userFunc, args, threshold, true); +} + +// new additional API to detach touch ISR +static void __touchDettachInterrupt(uint8_t pin) { + __touchConfigInterrupt(pin, NULL, NULL, 0, false); // userFunc as NULL acts as detaching +} + +// /* +// External Public Touch API Functions +// */ + +bool touchInterruptGetLastStatus(uint8_t pin) { + int8_t pad = digitalPinToTouchChannel(pin); + if (pad < 0) { + return false; + } + + return __touchInterruptHandlers[pad].lastStatusIsPressed; +} + +void touchSleepWakeUpEnable(uint8_t pin, touch_value_t threshold) { + int8_t pad = digitalPinToTouchChannel(pin); + if (pad < 0) { + log_e(" No touch pad on selected pin!"); + return; + } + + if (perimanGetPinBus(pin, ESP32_BUS_TYPE_TOUCH) == NULL) { + perimanSetBusDeinit(ESP32_BUS_TYPE_TOUCH, touchDetachBus); + __touchInit(); + __touchChannelInit(pad); + if (!perimanSetPinBus(pin, ESP32_BUS_TYPE_TOUCH, (void *)(pin + 1), -1, pad)) { + log_e("Failed to set bus to Peripheral manager"); + touchDetachBus((void *)(pin + 1)); + return; + } + } + + log_v("Touch sensor deep sleep wake-up configuration for pad %d with threshold %d", pad, threshold); + if (!touchStop() || !touchDisable()) { + log_e("Touch sensor stop and disable failed!"); + return; + } + + touch_sleep_config_t deep_slp_cfg = { + .slp_wakeup_lvl = TOUCH_DEEP_SLEEP_WAKEUP, + .deep_slp_chan = touch_channel_handle[pad], + .deep_slp_thresh = {threshold}, + .deep_slp_sens_cfg = NULL, // Use the original touch sensor configuration + }; + + // Register the deep sleep wake-up + if (touch_sensor_config_sleep_wakeup(touch_sensor_handle, &deep_slp_cfg) != ESP_OK) { + log_e("Touch sensor deep sleep wake-up failed!"); + return; + } + + if (!touchEnable() || !touchStart()) { + log_e("Touch sensor enable and start failed!"); + } +} + +void touchSetDefaultThreshold(float percentage) { + s_thresh2bm_ratio = (float)percentage / 100.0f; +} + +void touchSetTiming(float measure, uint32_t sleep) { + if (initialized) { + log_e("Touch sensor already initialized. Cannot set cycles."); + return; + } + __touchSleepTime = sleep; + __touchMeasureTime = measure; +} + +void touchSetConfig(uint32_t div_num, uint8_t coarse_freq_tune, uint8_t fine_freq_tune) { + if (initialized) { + log_e("Touch sensor already initialized. Cannot set configuration."); + return; + } + _div_num = div_num; + _coarse_freq_tune = coarse_freq_tune; + _fine_freq_tune = fine_freq_tune; +} + +extern touch_value_t touchRead(uint8_t) __attribute__((weak, alias("__touchRead"))); +extern void touchAttachInterrupt(uint8_t, voidFuncPtr, touch_value_t) __attribute__((weak, alias("__touchAttachInterrupt"))); +extern void touchAttachInterruptArg(uint8_t, voidArgFuncPtr, void *, touch_value_t) __attribute__((weak, alias("__touchAttachArgsInterrupt"))); +extern void touchDetachInterrupt(uint8_t) __attribute__((weak, alias("__touchDettachInterrupt"))); + +#endif /* SOC_TOUCH_SENSOR_VERSION == 3 */ +#endif /* SOC_TOUCH_SENSOR_SUPPORTED */ diff --git a/cores/esp32/esp32-hal-touch-ng.h b/cores/esp32/esp32-hal-touch-ng.h new file mode 100644 index 00000000000..0d4eb79ac58 --- /dev/null +++ b/cores/esp32/esp32-hal-touch-ng.h @@ -0,0 +1,91 @@ +/* + Arduino.h - Main include file for the Arduino SDK + Copyright (c) 2005-2013 Arduino Team. All right reserved. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef MAIN_ESP32_HAL_TOUCH_NEW_H_ +#define MAIN_ESP32_HAL_TOUCH_NEW_H_ + +#include "soc/soc_caps.h" +#if SOC_TOUCH_SENSOR_SUPPORTED +#if SOC_TOUCH_SENSOR_VERSION == 3 // ESP32P4 + +#ifdef __cplusplus +extern "C" { +#endif + +#include "esp32-hal.h" + +typedef uint32_t touch_value_t; + +/* + * Set time in us that measurement operation takes + * The result from touchRead, threshold and detection + * accuracy depend on these values. + * Note: must be called before setting up touch pads + **/ +void touchSetTiming(float measure, uint32_t sleep); + +/* + * Tune the touch pad frequency. + * Note: Must be called before setting up touch pads +*/ +void touchSetConfig(uint32_t _div_num, uint8_t coarse_freq_tune, uint8_t fine_freq_tune); + +/* + * Read touch pad value. + * You can use this method to chose a good threshold value + * to use as value for touchAttachInterrupt. + * */ +touch_value_t touchRead(uint8_t pin); + +/* + * Set function to be called if touch pad value rises by given increment (threshold). + * Use touchRead to determine a proper threshold between touched and untouched state. + * */ +void touchAttachInterrupt(uint8_t pin, void (*userFunc)(void), touch_value_t threshold); +void touchAttachInterruptArg(uint8_t pin, void (*userFunc)(void *), void *arg, touch_value_t threshold); +void touchDetachInterrupt(uint8_t pin); + +/* + * Returns true when the latest ISR status for the Touchpad is that it is touched (Active) + * and false when the Touchpad is untoouched (Inactive). + * This function can be used in conjunction with ISR User callback in order to take action + * as soon as the touchpad is touched and/or released. + **/ +bool touchInterruptGetLastStatus(uint8_t pin); + +/* + * Set the default threshold for touch pads. + * The threshold is a percentage of the benchmark value. + * The default value is 1.5%. + **/ +void touchSetDefaultThreshold(float percentage); + +/* + * Setup touch pad wake up from deep sleep /light sleep with given threshold. + * When light sleep is used, all used touch pads will be able to wake up the chip. + **/ +void touchSleepWakeUpEnable(uint8_t pin, touch_value_t threshold); + +#ifdef __cplusplus +} +#endif + +#endif /* SOC_TOUCH_SENSOR_VERSION == 3 */ +#endif /* SOC_TOUCH_SENSOR_SUPPORTED */ +#endif /* MAIN_ESP32_HAL_TOUCH_H_ */ diff --git a/cores/esp32/esp32-hal-touch.c b/cores/esp32/esp32-hal-touch.c index 93e0cb1c4ac..701bf6d16c9 100644 --- a/cores/esp32/esp32-hal-touch.c +++ b/cores/esp32/esp32-hal-touch.c @@ -14,10 +14,8 @@ #include "soc/soc_caps.h" #if SOC_TOUCH_SENSOR_SUPPORTED -#if SOC_TOUCH_SENSOR_VERSION == 3 // ESP32P4 -// ToDo: Implement touch sensor for ESP32P4 -#warning "Touch sensor not implemented for ESP32P4 yet" -#else +#if SOC_TOUCH_SENSOR_VERSION <= 2 // ESP32, ESP32S2, ESP32S3 + #include "driver/touch_sensor.h" #include "esp32-hal-touch.h" #include "esp32-hal-periman.h" @@ -26,10 +24,10 @@ Internal Private Touch Data Structure and Functions */ -#if SOC_TOUCH_SENSOR_VERSION == 1 // ESP32 +#if SOC_TOUCH_SENSOR_VERSION == 1 // ESP32 static uint16_t __touchSleepCycles = 0x1000; static uint16_t __touchMeasureCycles = 0x1000; -#elif SOC_TOUCH_SENSOR_VERSION >= 2 // ESP32S2, ESP32S3, ESP32P4 +#elif SOC_TOUCH_SENSOR_VERSION == 2 // ESP32S2, ESP32S3 static uint16_t __touchSleepCycles = TOUCH_PAD_SLEEP_CYCLE_DEFAULT; static uint16_t __touchMeasureCycles = TOUCH_PAD_MEASURE_CYCLE_DEFAULT; #endif @@ -55,7 +53,7 @@ static bool initialized = false; static bool channels_initialized[SOC_TOUCH_SENSOR_NUM] = {false}; static void ARDUINO_ISR_ATTR __touchISR(void *arg) { -#if SOC_TOUCH_SENSOR_VERSION == 1 // ESP32 +#if SOC_TOUCH_SENSOR_VERSION == 1 // ESP32 uint32_t pad_intr = touch_pad_get_status(); //clear interrupt touch_pad_clear_status(); @@ -97,7 +95,7 @@ static void ARDUINO_ISR_ATTR __touchISR(void *arg) { static void __touchSetCycles(uint16_t measure, uint16_t sleep) { __touchSleepCycles = sleep; __touchMeasureCycles = measure; -#if SOC_TOUCH_SENSOR_VERSION == 1 // ESP32 +#if SOC_TOUCH_SENSOR_VERSION == 1 // ESP32 touch_pad_set_measurement_clock_cycles(measure); #elif SOC_TOUCH_SENSOR_VERSION == 2 // ESP32S2, ESP32S3 touch_pad_set_charge_discharge_times(measure); @@ -127,7 +125,7 @@ static void __touchInit() { esp_err_t err = ESP_OK; -#if SOC_TOUCH_SENSOR_VERSION == 1 // ESP32 +#if SOC_TOUCH_SENSOR_VERSION == 1 // ESP32 err = touch_pad_init(); if (err != ESP_OK) { goto err; @@ -147,7 +145,7 @@ static void __touchInit() { if (err != ESP_OK) { goto err; } - touch_pad_intr_enable(); // returns ESP_OK + touch_pad_intr_enable(); // returns ESP_OK #elif SOC_TOUCH_SENSOR_VERSION == 2 // ESP32S2, ESP32S3 err = touch_pad_init(); if (err != ESP_OK) { @@ -169,7 +167,6 @@ static void __touchInit() { touch_pad_fsm_start(); // returns ESP_OK //ISR setup moved to __touchChannelInit #endif - initialized = true; return; err: @@ -183,11 +180,11 @@ static void __touchChannelInit(int pad) { return; } -#if SOC_TOUCH_SENSOR_VERSION == 1 // ESP32 +#if SOC_TOUCH_SENSOR_VERSION == 1 // ESP32 // Initial no Threshold and setup __touchInterruptHandlers[pad].fn = NULL; touch_pad_config(pad, TOUCH_PAD_THRESHOLD_MAX); // returns ESP_OK -#elif SOC_TOUCH_SENSOR_VERSION == 2 // ESP32S2, ESP32S3 +#elif SOC_TOUCH_SENSOR_VERSION == 2 // ESP32S2, ESP32S3 // Initial no Threshold and setup __touchInterruptHandlers[pad].fn = NULL; touch_pad_config(pad); // returns ESP_OK @@ -274,7 +271,7 @@ static void __touchDettachInterrupt(uint8_t pin) { External Public Touch API Functions */ -#if SOC_TOUCH_SENSOR_VERSION == 1 // Only for ESP32 SoC +#if SOC_TOUCH_SENSOR_VERSION == 1 // Only for ESP32 SoC void touchInterruptSetThresholdDirection(bool mustbeLower) { if (mustbeLower) { touch_pad_set_trigger_mode(TOUCH_TRIGGER_BELOW); @@ -328,5 +325,5 @@ extern void touchAttachInterruptArg(uint8_t, voidArgFuncPtr, void *, touch_value extern void touchDetachInterrupt(uint8_t) __attribute__((weak, alias("__touchDettachInterrupt"))); extern void touchSetCycles(uint16_t, uint16_t) __attribute__((weak, alias("__touchSetCycles"))); -#endif /* SOC_TOUCH_SENSOR_VERSION == 3 */ +#endif /* SOC_TOUCH_SENSOR_VERSION <= 2 */ #endif /* SOC_TOUCH_SENSOR_SUPPORTED */ diff --git a/cores/esp32/esp32-hal-touch.h b/cores/esp32/esp32-hal-touch.h index cc140d81bb0..4b06c7db766 100644 --- a/cores/esp32/esp32-hal-touch.h +++ b/cores/esp32/esp32-hal-touch.h @@ -22,6 +22,7 @@ #include "soc/soc_caps.h" #if SOC_TOUCH_SENSOR_SUPPORTED +#if SOC_TOUCH_SENSOR_VERSION <= 2 // ESP32 ESP32S2 ESP32S3 #ifdef __cplusplus extern "C" { @@ -37,8 +38,6 @@ extern "C" { typedef uint16_t touch_value_t; #elif SOC_TOUCH_SENSOR_VERSION == 2 // ESP32S2 ESP32S3 typedef uint32_t touch_value_t; -#elif SOC_TOUCH_SENSOR_VERSION == 3 // ESP32P4 -typedef uint32_t touch_value_t; #endif /* @@ -99,5 +98,6 @@ void touchSleepWakeUpEnable(uint8_t pin, touch_value_t threshold); } #endif +#endif /* SOC_TOUCH_SENSOR_VERSION <= 2 */ #endif /* SOC_TOUCH_SENSOR_SUPPORTED */ #endif /* MAIN_ESP32_HAL_TOUCH_H_ */ diff --git a/cores/esp32/esp32-hal.h b/cores/esp32/esp32-hal.h index 60350ae960b..d80bf2f15de 100644 --- a/cores/esp32/esp32-hal.h +++ b/cores/esp32/esp32-hal.h @@ -74,6 +74,7 @@ void yield(void); #include "esp32-hal-uart.h" #include "esp32-hal-gpio.h" #include "esp32-hal-touch.h" +#include "esp32-hal-touch-ng.h" #include "esp32-hal-dac.h" #include "esp32-hal-adc.h" #include "esp32-hal-spi.h" diff --git a/cores/esp32/io_pin_remap.h b/cores/esp32/io_pin_remap.h index 73789a585e3..10f11a5bf4c 100644 --- a/cores/esp32/io_pin_remap.h +++ b/cores/esp32/io_pin_remap.h @@ -106,7 +106,7 @@ int8_t gpioNumberToDigitalPin(int8_t gpioNumber); #define spiAttachMOSI(spi, mosi) spiAttachMOSI(spi, digitalPinToGPIONumber(mosi)) #define spiAttachSS(spi, cs_num, ss) spiAttachSS(spi, cs_num, digitalPinToGPIONumber(ss)) -// cores/esp32/esp32-hal-touch.h +// cores/esp32/esp32-hal-touch.h && cores/esp32/esp32-hal-touch-ng.h #define touchInterruptGetLastStatus(pin) touchInterruptGetLastStatus(digitalPinToGPIONumber(pin)) #define touchRead(pin) touchRead(digitalPinToGPIONumber(pin)) #define touchAttachInterruptArg(pin, userFunc, arg, threshold) touchAttachInterruptArg(digitalPinToGPIONumber(pin), userFunc, arg, threshold) diff --git a/libraries/ESP32/examples/DeepSleep/TouchWakeUp/TouchWakeUp.ino b/libraries/ESP32/examples/DeepSleep/TouchWakeUp/TouchWakeUp.ino index 5aacf1baaf0..9d2b248ba44 100644 --- a/libraries/ESP32/examples/DeepSleep/TouchWakeUp/TouchWakeUp.ino +++ b/libraries/ESP32/examples/DeepSleep/TouchWakeUp/TouchWakeUp.ino @@ -15,9 +15,11 @@ Pranav Cherukupalli */ #if CONFIG_IDF_TARGET_ESP32 -#define THRESHOLD 40 /* Greater the value, more the sensitivity */ -#else //ESP32-S2 and ESP32-S3 + default for other chips (to be adjusted) */ +#define THRESHOLD 40 /* Greater the value, more the sensitivity */ +#elif (CONFIG_IDF_TARGET_ESP32S2 || CONFIG_IDF_TARGET_ESP32S3) #define THRESHOLD 5000 /* Lower the value, more the sensitivity */ +#else // ESP32-P4 + default for other chips (to be adjusted) */ +#define THRESHOLD 500 /* Lower the value, more the sensitivity */ #endif RTC_DATA_ATTR int bootCount = 0; @@ -88,7 +90,7 @@ void setup() { touchSleepWakeUpEnable(T3, THRESHOLD); touchSleepWakeUpEnable(T7, THRESHOLD); -#else //ESP32-S2 + ESP32-S3 +#else //ESP32-S2 + ESP32-S3 + ESP32-P4 //Setup sleep wakeup on Touch Pad 3 (GPIO3) touchSleepWakeUpEnable(T3, THRESHOLD); diff --git a/libraries/ESP32/examples/DeepSleep/TouchWakeUp/ci.json b/libraries/ESP32/examples/DeepSleep/TouchWakeUp/ci.json index cd679adefad..25c42144223 100644 --- a/libraries/ESP32/examples/DeepSleep/TouchWakeUp/ci.json +++ b/libraries/ESP32/examples/DeepSleep/TouchWakeUp/ci.json @@ -2,7 +2,6 @@ "targets": { "esp32c3": false, "esp32c6": false, - "esp32h2": false, - "esp32p4": false + "esp32h2": false } } diff --git a/libraries/ESP32/examples/Touch/TouchInterrupt/TouchInterrupt.ino b/libraries/ESP32/examples/Touch/TouchInterrupt/TouchInterrupt.ino index 0f0880902fb..3b4e5f0b9e9 100644 --- a/libraries/ESP32/examples/Touch/TouchInterrupt/TouchInterrupt.ino +++ b/libraries/ESP32/examples/Touch/TouchInterrupt/TouchInterrupt.ino @@ -3,7 +3,12 @@ This is an example how to use Touch Intrrerupts The bigger the threshold, the more sensible is the touch */ +#if CONFIG_IDF_TARGET_ESP32P4 +int threshold = 0; // when 0 is used, the benchmarked value will be used +#else int threshold = 40; +#endif + bool touch1detected = false; bool touch2detected = false; diff --git a/libraries/ESP32/examples/Touch/TouchInterrupt/ci.json b/libraries/ESP32/examples/Touch/TouchInterrupt/ci.json index 4363987f4d6..c0ecf9fc0a5 100644 --- a/libraries/ESP32/examples/Touch/TouchInterrupt/ci.json +++ b/libraries/ESP32/examples/Touch/TouchInterrupt/ci.json @@ -1,8 +1,5 @@ { "requires": [ "CONFIG_SOC_TOUCH_SENSOR_SUPPORTED=y" - ], - "targets": { - "esp32p4": false - } + ] } diff --git a/libraries/ESP32/examples/Touch/TouchRead/ci.json b/libraries/ESP32/examples/Touch/TouchRead/ci.json index 4363987f4d6..c0ecf9fc0a5 100644 --- a/libraries/ESP32/examples/Touch/TouchRead/ci.json +++ b/libraries/ESP32/examples/Touch/TouchRead/ci.json @@ -1,8 +1,5 @@ { "requires": [ "CONFIG_SOC_TOUCH_SENSOR_SUPPORTED=y" - ], - "targets": { - "esp32p4": false - } + ] } diff --git a/tests/validation/touch/ci.json b/tests/validation/touch/ci.json index 1abbabeae0c..855e9bd964d 100644 --- a/tests/validation/touch/ci.json +++ b/tests/validation/touch/ci.json @@ -5,8 +5,5 @@ }, "requires": [ "CONFIG_SOC_TOUCH_SENSOR_SUPPORTED=y" - ], - "targets": { - "esp32p4": false - } + ] } diff --git a/tests/validation/touch/touch.ino b/tests/validation/touch/touch.ino index 60f6e7f7966..97aac8a65e6 100644 --- a/tests/validation/touch/touch.ino +++ b/tests/validation/touch/touch.ino @@ -2,6 +2,10 @@ #include "soc/soc_caps.h" #include "driver/touch_pad.h" +#if SOC_TOUCH_SENSOR_VERSION == 3 +#include "hal/touch_sensor_ll.h" +#endif + #if CONFIG_IDF_TARGET_ESP32 #define TEST_TOUCH_CHANNEL (9) @@ -15,11 +19,7 @@ uint8_t TOUCH_GPIOS[] = {4, 2, 15, 13, 12, 14, 27, 33, 32}; #define NO_TOUCH_GPIO 25 -#define RELEASED_VALUE 75 //75+ read value to pass test -#define PRESSED_VALUE 20 //20- read value to pass test -#define INTERRUPT_THRESHOLD 40 - -#else //ESP32S2 and ESP32S3 +#elif (CONFIG_IDF_TARGET_ESP32S2 || CONFIG_IDF_TARGET_ESP32S3) #define TEST_TOUCH_CHANNEL (12) //14 static touch_pad_t touch_list[TEST_TOUCH_CHANNEL] = { @@ -33,7 +33,25 @@ uint8_t TOUCH_GPIOS[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 /*,13,14*/}; #define NO_TOUCH_GPIO 17 -#if CONFIG_IDF_TARGET_ESP32S2 +#else //ESP32P4 + +#define TEST_TOUCH_CHANNEL (5) //14 +static touch_pad_t touch_list[TEST_TOUCH_CHANNEL] = { + TOUCH_PAD_NUM0, TOUCH_PAD_NUM1, TOUCH_PAD_NUM2, + TOUCH_PAD_NUM3, TOUCH_PAD_NUM4, /* TOUCH_PAD_NUM5, TOUCH_PAD_NUM6, + TOUCH_PAD_NUM7, TOUCH_PAD_NUM8, TOUCH_PAD_NUM9, TOUCH_PAD_NUM10, TOUCH_PAD_NUM11, TOUCH_PAD_NUM12, TOUCH_PAD_NUM13*/ +}; + +uint8_t TOUCH_GPIOS[] = {2, 3, 4, 5, 6 /*, 7, 8, 9, 10, 11, 12 ,13, 14, 15*/}; + +#define NO_TOUCH_GPIO 17 +#endif + +#if CONFIG_IDF_TARGET_ESP32 +#define RELEASED_VALUE 75 //75+ read value to pass test +#define PRESSED_VALUE 20 //20- read value to pass test +#define INTERRUPT_THRESHOLD 40 +#elif CONFIG_IDF_TARGET_ESP32S2 #define RELEASED_VALUE 10000 //10000- read value to pass test #define PRESSED_VALUE 42000 //40000+ read value to pass test #define INTERRUPT_THRESHOLD 30000 @@ -41,12 +59,13 @@ uint8_t TOUCH_GPIOS[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 /*,13,14*/}; #define RELEASED_VALUE 25000 //25000- read value to pass test #define PRESSED_VALUE 90000 //90000+ read value to pass test #define INTERRUPT_THRESHOLD 80000 +#elif CONFIG_IDF_TARGET_ESP32P4 +#define PRESSED_VALUE_DIFFERENCE 200 //200+ read value difference against the unpressed value +#define INTERRUPT_THRESHOLD 0 // Use benchmarked threshold #else #error Test not currently supported on this chip. Please adjust and try again! #endif -#endif - bool touch1detected = false; bool touch2detected = false; @@ -59,17 +78,25 @@ void gotTouch2() { } /* - * Change the slope to get larger value from touch sensor. + * Change the slope to get larger value from touch sensor. (Capacitor for ESP32P4) */ static void test_press_fake(touch_pad_t pad_num) { +#if SOC_TOUCH_SENSOR_VERSION <= 2 touch_pad_set_cnt_mode(pad_num, TOUCH_PAD_SLOPE_1, TOUCH_PAD_TIE_OPT_DEFAULT); +#else + touch_ll_set_internal_capacitor(0x7f); +#endif } /* - * Change the slope to get smaller value from touch sensor. + * Change the slope to get smaller value from touch sensor. (Capacitor for ESP32P4) */ static void test_release_fake(touch_pad_t pad_num) { +#if SOC_TOUCH_SENSOR_VERSION <= 2 touch_pad_set_cnt_mode(pad_num, TOUCH_PAD_SLOPE_7, TOUCH_PAD_TIE_OPT_DEFAULT); +#else + touch_ll_set_internal_capacitor(0); +#endif } /* These functions are intended to be called before and after each test. */ @@ -87,6 +114,7 @@ void tearDown(void) { */ void test_touch_read(void) { +#if SOC_TOUCH_SENSOR_VERSION <= 2 //TEST RELEASE STATE for (int i = 0; i < sizeof(TOUCH_GPIOS); i++) { #ifdef CONFIG_IDF_TARGET_ESP32 @@ -109,6 +137,29 @@ void test_touch_read(void) { TEST_ASSERT_GREATER_THAN(PRESSED_VALUE, touchRead(TOUCH_GPIOS[k])); #endif } +#else //TOUCH V3 + //TEST RELEASE STATE + touch_value_t touch_unpressed[sizeof(TOUCH_GPIOS)]; + for (int i = 0; i < sizeof(TOUCH_GPIOS); i++) { + touch_unpressed[i] = touchRead(TOUCH_GPIOS[i]); + } + + // TEST PRESS STATE + for (int j = 0; j < TEST_TOUCH_CHANNEL; j++) { + test_press_fake(touch_list[j]); + } + delay(100); + + touch_value_t touch_pressed[sizeof(TOUCH_GPIOS)]; + for (int k = 0; k < sizeof(TOUCH_GPIOS); k++) { + touch_pressed[k] = touchRead(TOUCH_GPIOS[k]); + } + + // COMPARE PRESSED > UNPRESSED + for (int l = 0; l < sizeof(TOUCH_GPIOS); l++) { + TEST_ASSERT_GREATER_THAN((touch_unpressed[l] + PRESSED_VALUE_DIFFERENCE), touch_pressed[l]); + } +#endif } void test_touch_interrtupt(void) { @@ -146,4 +197,6 @@ void setup() { UNITY_END(); } -void loop() {} +void loop() { + delay(10); +} From 83d35683c3736178de595a0ad0424ea3e8f5a4fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Proch=C3=A1zka?= <90197375+P-R-O-C-H-Y@users.noreply.github.com> Date: Mon, 21 Oct 2024 14:03:44 +0200 Subject: [PATCH 113/146] feat(sdmmc): Add SDMMC support for P4 + remove BUILTIN LED (#10460) * feat(sdmmc): Add support for P4 * fix(board): Remove builtin led * Update libraries/SD_MMC/examples/SDMMC_Test/SDMMC_Test.ino Add missing note about power pin for P4 Co-authored-by: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com> * ci(pre-commit): Apply automatic fixes * feat(sdmmc): Option to set power channel * feat(sdmmc): Update pins_arduino.h * feat(sdmmc): remove sdmmc power from periman * fix(sdmmc): use corrent variable * fix(sdmmc): Remove periman * feat(sdmmc): Toggle power pin if defined * feat(sdmmc): setPowerChannel available only when supported * feat(sdmmc): Toggle sd power pin for 200ms * fix(example): Remove p4 pins as they are listed already * feat(sdmmc): Check if power channel is specified * ci(pre-commit): Apply automatic fixes * fix(ci): codespell fix --------- Co-authored-by: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com> Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> --- .../SD_MMC/examples/SDMMC_Test/SDMMC_Test.ino | 20 ++-- .../SD_MMC/examples/SDMMC_time/SDMMC_time.ino | 1 + libraries/SD_MMC/src/SD_MMC.cpp | 106 ++++++++++++++++-- libraries/SD_MMC/src/SD_MMC.h | 6 + variants/esp32p4/pins_arduino.h | 28 +++-- 5 files changed, 138 insertions(+), 23 deletions(-) diff --git a/libraries/SD_MMC/examples/SDMMC_Test/SDMMC_Test.ino b/libraries/SD_MMC/examples/SDMMC_Test/SDMMC_Test.ino index 030caae759c..e03f5ceb25e 100644 --- a/libraries/SD_MMC/examples/SDMMC_Test/SDMMC_Test.ino +++ b/libraries/SD_MMC/examples/SDMMC_Test/SDMMC_Test.ino @@ -14,6 +14,7 @@ * Connections for ║ ║ ╔═══╩═║═║═══╗ ║ ║ ║ * full-sized ║ ║ ║ ╔═╝ ║ ║ ║ ║ ║ * SD card ║ ║ ║ ║ ║ ║ ║ ║ ║ + * ESP32-P4 Func EV | 40 39 GND 43 3V3 GND 44 43 42 | SLOT 0 (IO_MUX) * ESP32-S3 DevKit | 21 47 GND 39 3V3 GND 40 41 42 | * ESP32-S3-USB-OTG | 38 37 GND 36 3V3 GND 35 34 33 | * ESP32 | 4 2 GND 14 3V3 GND 15 13 12 | @@ -42,6 +43,7 @@ #include "FS.h" #include "SD_MMC.h" +#ifdef CONFIG_IDF_TARGET_ESP32S3 // Default pins for ESP-S3 // Warning: ESP32-S3-WROOM-2 is using most of the default GPIOs (33-37) to interface with on-board OPI flash. // If the SD_MMC is initialized with default pins it will result in rebooting loop - please @@ -54,6 +56,7 @@ int d0 = 37; int d1 = 38; int d2 = 33; int d3 = 39; // GPIO 34 is not broken-out on ESP32-S3-DevKitC-1 v1.1 +#endif void listDir(fs::FS &fs, const char *dirname, uint8_t levels) { Serial.printf("Listing directory: %s\n", dirname); @@ -211,15 +214,16 @@ void testFileIO(fs::FS &fs, const char *path) { void setup() { Serial.begin(115200); /* - // If you want to change the pin assignment on ESP32-S3 uncomment this block and the appropriate + // If you want to change the pin assignment or you get an error that some pins + // are not assigned on ESP32-S3/ESP32-P4 uncomment this block and the appropriate // line depending if you want to use 1-bit or 4-bit line. - // Please note that ESP32 does not allow pin change and will always fail. + // Please note that ESP32 does not allow pin change and setPins() will always fail. //if(! SD_MMC.setPins(clk, cmd, d0)){ //if(! SD_MMC.setPins(clk, cmd, d0, d1, d2, d3)){ - Serial.println("Pin change failed!"); - return; - } - */ + // Serial.println("Pin change failed!"); + // return; + //} + */ if (!SD_MMC.begin()) { Serial.println("Card Mount Failed"); @@ -262,4 +266,6 @@ void setup() { Serial.printf("Used space: %lluMB\n", SD_MMC.usedBytes() / (1024 * 1024)); } -void loop() {} +void loop() { + delay(10); +} diff --git a/libraries/SD_MMC/examples/SDMMC_time/SDMMC_time.ino b/libraries/SD_MMC/examples/SDMMC_time/SDMMC_time.ino index bd9f150f3e8..d1e933e4f4b 100644 --- a/libraries/SD_MMC/examples/SDMMC_time/SDMMC_time.ino +++ b/libraries/SD_MMC/examples/SDMMC_time/SDMMC_time.ino @@ -14,6 +14,7 @@ * Connections for ║ ║ ╔═══╩═║═║═══╗ ║ ║ ║ * full-sized ║ ║ ║ ╔═╝ ║ ║ ║ ║ ║ * SD card ║ ║ ║ ║ ║ ║ ║ ║ ║ + * ESP32-P4 Func EV | 40 39 GND 43 3V3 GND 44 43 42 | SLOT 0 (IO_MUX) * ESP32-S3 DevKit | 21 47 GND 39 3V3 GND 40 41 42 | * ESP32-S3-USB-OTG | 38 37 GND 36 3V3 GND 35 34 33 | * ESP32 | 4 2 GND 14 3V3 GND 15 13 12 | diff --git a/libraries/SD_MMC/src/SD_MMC.cpp b/libraries/SD_MMC/src/SD_MMC.cpp index 80cb150baa2..4a0962ff7e4 100644 --- a/libraries/SD_MMC/src/SD_MMC.cpp +++ b/libraries/SD_MMC/src/SD_MMC.cpp @@ -32,11 +32,14 @@ #include "ff.h" #include "esp32-hal-periman.h" +#if SOC_SDMMC_IO_POWER_EXTERNAL +#include "sd_pwr_ctrl_by_on_chip_ldo.h" +#endif + using namespace fs; SDMMCFS::SDMMCFS(FSImplPtr impl) : FS(impl), _card(nullptr) { -#if !defined(CONFIG_IDF_TARGET_ESP32P4) -#if defined(SOC_SDMMC_USE_GPIO_MATRIX) && defined(BOARD_HAS_SDMMC) +#if defined(SOC_SDMMC_USE_GPIO_MATRIX) && defined(BOARD_HAS_SDMMC) && !defined(CONFIG_IDF_TARGET_ESP32P4) _pin_clk = SDMMC_CLK; _pin_cmd = SDMMC_CMD; _pin_d0 = SDMMC_D0; @@ -45,9 +48,8 @@ SDMMCFS::SDMMCFS(FSImplPtr impl) : FS(impl), _card(nullptr) { _pin_d2 = SDMMC_D2; _pin_d3 = SDMMC_D3; #endif // BOARD_HAS_1BIT_SDMMC -#endif // !defined(CONFIG_IDF_TARGET_ESP32P4) -#elif SOC_SDMMC_USE_IOMUX && defined(BOARD_HAS_SDMMC) && defined(CONFIG_IDF_TARGET_ESP32) +#elif defined(SOC_SDMMC_USE_IOMUX) && defined(BOARD_HAS_SDMMC) && defined(CONFIG_IDF_TARGET_ESP32) _pin_clk = SDMMC_SLOT1_IOMUX_PIN_NUM_CLK; _pin_cmd = SDMMC_SLOT1_IOMUX_PIN_NUM_CMD; _pin_d0 = SDMMC_SLOT1_IOMUX_PIN_NUM_D0; @@ -57,7 +59,9 @@ SDMMCFS::SDMMCFS(FSImplPtr impl) : FS(impl), _card(nullptr) { _pin_d3 = SDMMC_SLOT1_IOMUX_PIN_NUM_D3; #endif // BOARD_HAS_1BIT_SDMMC -#elif SOC_SDMMC_USE_IOMUX && defined(BOARD_HAS_SDMMC) && defined(CONFIG_IDF_TARGET_ESP32P4) +// ESP32-P4 can use either IOMUX or GPIO matrix +#elif defined(BOARD_HAS_SDMMC) && defined(CONFIG_IDF_TARGET_ESP32P4) +#if defined(BOARD_SDMMC_SLOT) && (BOARD_SDMMC_SLOT == 0) _pin_clk = SDMMC_SLOT0_IOMUX_PIN_NUM_CLK; _pin_cmd = SDMMC_SLOT0_IOMUX_PIN_NUM_CMD; _pin_d0 = SDMMC_SLOT0_IOMUX_PIN_NUM_D0; @@ -66,6 +70,19 @@ SDMMCFS::SDMMCFS(FSImplPtr impl) : FS(impl), _card(nullptr) { _pin_d2 = SDMMC_SLOT0_IOMUX_PIN_NUM_D2; _pin_d3 = SDMMC_SLOT0_IOMUX_PIN_NUM_D3; #endif // BOARD_HAS_1BIT_SDMMC +#else + _pin_clk = SDMMC_CLK; + _pin_cmd = SDMMC_CMD; + _pin_d0 = SDMMC_D0; +#ifndef BOARD_HAS_1BIT_SDMMC + _pin_d1 = SDMMC_D1; + _pin_d2 = SDMMC_D2; + _pin_d3 = SDMMC_D3; +#endif // BOARD_HAS_1BIT_SDMMC +#endif // BOARD_SDMMC_SLOT_NO +#endif +#if defined(SOC_SDMMC_IO_POWER_EXTERNAL) && defined(BOARD_SDMMC_POWER_CHANNEL) + _power_channel = BOARD_SDMMC_POWER_CHANNEL; #endif } @@ -95,7 +112,7 @@ bool SDMMCFS::setPins(int clk, int cmd, int d0, int d1, int d2, int d3) { d2 = digitalPinToGPIONumber(d2); d3 = digitalPinToGPIONumber(d3); -#ifdef SOC_SDMMC_USE_GPIO_MATRIX +#if defined(SOC_SDMMC_USE_GPIO_MATRIX) && !defined(CONFIG_IDF_TARGET_ESP32P4) // SoC supports SDMMC pin configuration via GPIO matrix. Save the pins for later use in SDMMCFS::begin. _pin_clk = (int8_t)clk; _pin_cmd = (int8_t)cmd; @@ -116,11 +133,42 @@ bool SDMMCFS::setPins(int clk, int cmd, int d0, int d1, int d2, int d3) { return false; } return true; +#elif defined(CONFIG_IDF_TARGET_ESP32P4) +#if defined(BOARD_SDMMC_SLOT) && (BOARD_SDMMC_SLOT == 0) + // ESP32-P4 can use either IOMUX or GPIO matrix + bool pins_ok = + (clk == (int)SDMMC_SLOT0_IOMUX_PIN_NUM_CLK) && (cmd == (int)SDMMC_SLOT0_IOMUX_PIN_NUM_CMD) && (d0 == (int)SDMMC_SLOT0_IOMUX_PIN_NUM_D0) + && (((d1 == -1) && (d2 == -1) && (d3 == -1)) || ((d1 == (int)SDMMC_SLOT0_IOMUX_PIN_NUM_D1) && (d2 == (int)SDMMC_SLOT0_IOMUX_PIN_NUM_D2) && (d3 == (int)SDMMC_SLOT0_IOMUX_PIN_NUM_D3))); + if (!pins_ok) { + log_e("SDMMCFS: specified pins are not supported when using IOMUX (SDMMC SLOT 0)."); + return false; + } + return true; +#else + _pin_clk = (int8_t)clk; + _pin_cmd = (int8_t)cmd; + _pin_d0 = (int8_t)d0; + _pin_d1 = (int8_t)d1; + _pin_d2 = (int8_t)d2; + _pin_d3 = (int8_t)d3; + return true; +#endif #else #error SoC not supported #endif } +#ifdef SOC_SDMMC_IO_POWER_EXTERNAL +bool SDMMCFS::setPowerChannel(int power_channel) { + if (_card != nullptr) { + log_e("SD_MMC.setPowerChannel must be called before SD_MMC.begin"); + return false; + } + _power_channel = power_channel; + return true; +} +#endif + bool SDMMCFS::begin(const char *mountpoint, bool mode1bit, bool format_if_mount_failed, int sdmmc_frequency, uint8_t maxOpenFiles) { if (_card) { return true; @@ -135,7 +183,9 @@ bool SDMMCFS::begin(const char *mountpoint, bool mode1bit, bool format_if_mount_ } //mount sdmmc_slot_config_t slot_config = SDMMC_SLOT_CONFIG_DEFAULT(); -#ifdef SOC_SDMMC_USE_GPIO_MATRIX +#if (defined(SOC_SDMMC_USE_GPIO_MATRIX) && !defined(CONFIG_IDF_TARGET_ESP32P4)) \ + || (defined(CONFIG_IDF_TARGET_ESP32P4) && ((defined(BOARD_SDMMC_SLOT) && (BOARD_SDMMC_SLOT == 1)) || !defined(BOARD_HAS_SDMMC))) + log_d("pin_cmd: %d, pin_clk: %d, pin_d0: %d, pin_d1: %d, pin_d2: %d, pin_d3: %d", _pin_cmd, _pin_clk, _pin_d0, _pin_d1, _pin_d2, _pin_d3); // SoC supports SDMMC pin configuration via GPIO matrix. // Check that the pins have been set either in the constructor or setPins function. if (_pin_cmd == -1 || _pin_clk == -1 || _pin_d0 == -1 || (!mode1bit && (_pin_d1 == -1 || _pin_d2 == -1 || _pin_d3 == -1))) { @@ -175,7 +225,18 @@ bool SDMMCFS::begin(const char *mountpoint, bool mode1bit, bool format_if_mount_ sdmmc_host_t host = SDMMC_HOST_DEFAULT(); host.flags = SDMMC_HOST_FLAG_4BIT; +#if defined(CONFIG_IDF_TARGET_ESP32P4) && defined(BOARD_SDMMC_SLOT) && (BOARD_SDMMC_SLOT == 0) + host.slot = SDMMC_HOST_SLOT_0; + // reconfigure slot_config to remove all pins in order to use IO_MUX + slot_config = { + .cd = SDMMC_SLOT_NO_CD, + .wp = SDMMC_SLOT_NO_WP, + .width = 4, + .flags = 0, + }; +#else host.slot = SDMMC_HOST_SLOT_1; +#endif host.max_freq_khz = sdmmc_frequency; #ifdef BOARD_HAS_1BIT_SDMMC mode1bit = true; @@ -186,6 +247,34 @@ bool SDMMCFS::begin(const char *mountpoint, bool mode1bit, bool format_if_mount_ } _mode1bit = mode1bit; +#ifdef SOC_SDMMC_IO_POWER_EXTERNAL + if (_power_channel == -1) { + log_i("On-chip power channel specified, use external power for SDMMC"); + } else { + sd_pwr_ctrl_ldo_config_t ldo_config = { + .ldo_chan_id = _power_channel, + }; + sd_pwr_ctrl_handle_t pwr_ctrl_handle = NULL; + + if (sd_pwr_ctrl_new_on_chip_ldo(&ldo_config, &pwr_ctrl_handle) != ESP_OK) { + log_e("Failed to create a new on-chip LDO power control driver"); + return false; + } + host.pwr_ctrl_handle = pwr_ctrl_handle; + } +#endif + +#if defined(BOARD_SDMMC_POWER_PIN) +#ifndef BOARD_SDMMC_POWER_ON_LEVEL +#error "BOARD_SDMMC_POWER_ON_LEVEL not defined, please define it in pins_arduino.h" +#endif + pinMode(BOARD_SDMMC_POWER_PIN, OUTPUT); + digitalWrite(BOARD_SDMMC_POWER_PIN, !BOARD_SDMMC_POWER_ON_LEVEL); + delay(200); + digitalWrite(BOARD_SDMMC_POWER_PIN, BOARD_SDMMC_POWER_ON_LEVEL); + perimanSetPinBusExtraType(BOARD_SDMMC_POWER_PIN, "SDMMC_POWER"); +#endif + esp_vfs_fat_sdmmc_mount_config_t mount_config = { .format_if_mount_failed = format_if_mount_failed, .max_files = maxOpenFiles, @@ -252,6 +341,9 @@ void SDMMCFS::end() { perimanClearPinBus(_pin_d2); perimanClearPinBus(_pin_d3); } +#if defined(BOARD_SDMMC_POWER_PIN) + perimanClearPinBus(BOARD_SDMMC_POWER_PIN); +#endif } } diff --git a/libraries/SD_MMC/src/SD_MMC.h b/libraries/SD_MMC/src/SD_MMC.h index a2bc12aed64..b6fe13a0d24 100644 --- a/libraries/SD_MMC/src/SD_MMC.h +++ b/libraries/SD_MMC/src/SD_MMC.h @@ -44,6 +44,9 @@ class SDMMCFS : public FS { int8_t _pin_d1 = -1; int8_t _pin_d2 = -1; int8_t _pin_d3 = -1; +#ifdef SOC_SDMMC_IO_POWER_EXTERNAL + int8_t _power_channel = -1; +#endif uint8_t _pdrv = 0xFF; bool _mode1bit = false; @@ -51,6 +54,9 @@ class SDMMCFS : public FS { SDMMCFS(FSImplPtr impl); bool setPins(int clk, int cmd, int d0); bool setPins(int clk, int cmd, int d0, int d1, int d2, int d3); +#ifdef SOC_SDMMC_IO_POWER_EXTERNAL + bool setPowerChannel(int power_channel); +#endif bool begin( const char *mountpoint = "/sdcard", bool mode1bit = false, bool format_if_mount_failed = false, int sdmmc_frequency = BOARD_MAX_SDMMC_FREQ, uint8_t maxOpenFiles = 5 diff --git a/variants/esp32p4/pins_arduino.h b/variants/esp32p4/pins_arduino.h index 792146f5ca2..cbb1e871ae5 100644 --- a/variants/esp32p4/pins_arduino.h +++ b/variants/esp32p4/pins_arduino.h @@ -4,15 +4,6 @@ #include #include "soc/soc_caps.h" -#define PIN_NEOPIXEL 44 -// BUILTIN_LED can be used in new Arduino API digitalWrite() like in Blink.ino -static const uint8_t LED_BUILTIN = SOC_GPIO_PIN_COUNT + PIN_NEOPIXEL; -#define BUILTIN_LED LED_BUILTIN // backward compatibility -#define LED_BUILTIN LED_BUILTIN // allow testing #ifdef LED_BUILTIN -// RGB_BUILTIN and RGB_BRIGHTNESS can be used in new Arduino API rgbLedWrite() -#define RGB_BUILTIN LED_BUILTIN -#define RGB_BRIGHTNESS 64 - // BOOT_MODE 35 // BOOT_MODE2 36 pullup @@ -58,6 +49,8 @@ static const uint8_t T11 = 13; static const uint8_t T12 = 14; static const uint8_t T13 = 15; +/* ESP32-P4 EV Function board specific definitions */ +//ETH #define ETH_PHY_TYPE ETH_PHY_TLK110 #define ETH_PHY_ADDR 1 #define ETH_PHY_MDC 31 @@ -72,4 +65,21 @@ static const uint8_t T13 = 15; #define ETH_RMII_CLK 50 #define ETH_CLK_MODE EMAC_CLK_EXT_IN +//SDMMC +#define BOARD_HAS_SDMMC +#define BOARD_SDMMC_SLOT 0 +#define BOARD_SDMMC_POWER_CHANNEL 4 +#define BOARD_SDMMC_POWER_PIN 45 +#define BOARD_SDMMC_POWER_ON_LEVEL LOW + +//WIFI - ESP32C6 +#define BOARD_HAS_SDIO_ESP_HOSTED +#define BOARD_SDIO_ESP_HOSTED_CLK 18 +#define BOARD_SDIO_ESP_HOSTED_CMD 19 +#define BOARD_SDIO_ESP_HOSTED_D0 14 +#define BOARD_SDIO_ESP_HOSTED_D1 15 +#define BOARD_SDIO_ESP_HOSTED_D2 16 +#define BOARD_SDIO_ESP_HOSTED_D3 17 +#define BOARD_SDIO_ESP_HOSTED_RESET 54 + #endif /* Pins_Arduino_h */ From 9e643c08a700a62415a5c3f311788e1b1edd64fe Mon Sep 17 00:00:00 2001 From: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com> Date: Mon, 21 Oct 2024 09:45:59 -0300 Subject: [PATCH 114/146] fix(testing): Checkout proper branch for Wokwi tests and small QoL improvements (#10435) * fix(tests): Add missing newlines to output * fix(tests): Improve fibonacci test * fix(tests): Remove redundant targets from json * fix(wokwi): Checkout proper base branch for wokwi tests * feat(logging): Add logging to some tests to improve debugging * fix(ci): Make CI more permissive and improve messages * fix(tests): Bump pytest-embedded version to support P4 --- .github/scripts/tests_matrix.sh | 26 +++++++++++++ .github/workflows/dangerjs.yml | 4 +- .github/workflows/tests.yml | 38 +++++++++---------- .github/workflows/tests_results.yml | 1 + .github/workflows/tests_wokwi.yml | 36 ++++++++++++++++-- tests/performance/coremark/coremark.ino | 2 +- tests/performance/fibonacci/fibonacci.ino | 2 +- tests/performance/fibonacci/test_fibonacci.py | 33 ++++++++-------- tests/performance/psramspeed/ci.json | 8 ++-- tests/performance/psramspeed/psramspeed.ino | 2 +- tests/performance/ramspeed/ramspeed.ino | 2 +- tests/performance/superpi/superpi.ino | 2 +- tests/requirements.txt | 8 ++-- tests/validation/gpio/test_gpio.py | 10 +++++ tests/validation/nvs/test_nvs.py | 9 +++++ tests/validation/periman/test_periman.py | 8 +++- tests/validation/psram/ci.json | 7 +--- tests/validation/wifi/test_wifi.py | 9 +++++ 18 files changed, 143 insertions(+), 64 deletions(-) create mode 100644 .github/scripts/tests_matrix.sh diff --git a/.github/scripts/tests_matrix.sh b/.github/scripts/tests_matrix.sh new file mode 100644 index 00000000000..ca0b6eb8684 --- /dev/null +++ b/.github/scripts/tests_matrix.sh @@ -0,0 +1,26 @@ +#!/bin/bash + +build_types="'validation'" +hw_types="'validation'" +wokwi_types="'validation'" +qemu_types="'validation'" + +if [[ $IS_PR != 'true' ]] || [[ $PERFORMANCE_ENABLED == 'true' ]]; then + build_types+=",'performance'" + hw_types+=",'performance'" + #wokwi_types+=",'performance'" + #qemu_types+=",'performance'" +fi + +targets="'esp32','esp32s2','esp32s3','esp32c3','esp32c6','esp32h2'" + +mkdir -p info + +echo "[$wokwi_types]" > info/wokwi_types.txt +echo "[$targets]" > info/targets.txt + +echo "build-types=[$build_types]" >> $GITHUB_OUTPUT +echo "hw-types=[$hw_types]" >> $GITHUB_OUTPUT +echo "wokwi-types=[$wokwi_types]" >> $GITHUB_OUTPUT +echo "qemu-types=[$qemu_types]" >> $GITHUB_OUTPUT +echo "targets=[$targets]" >> $GITHUB_OUTPUT diff --git a/.github/workflows/dangerjs.yml b/.github/workflows/dangerjs.yml index 9f7360bc34f..75c046731f3 100644 --- a/.github/workflows/dangerjs.yml +++ b/.github/workflows/dangerjs.yml @@ -19,4 +19,6 @@ jobs: - name: DangerJS pull request linter uses: espressif/shared-github-dangerjs@v1 env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + rule-max-commits: 'false' + commit-messages-min-summary-length: '10' diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 26de19d8f10..ab8baa6d14c 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -57,29 +57,25 @@ jobs: hw-types: ${{ steps.set-matrix.outputs.hw-types }} wokwi-types: ${{ steps.set-matrix.outputs.wokwi-types }} qemu-types: ${{ steps.set-matrix.outputs.qemu-types }} + targets: ${{ steps.set-matrix.outputs.targets }} + env: + IS_PR: ${{ github.event.pull_request.number != null }} + PERFORMANCE_ENABLED: ${{ contains(github.event.pull_request.labels.*.name, 'perf_test') }} steps: + - name: Checkout + uses: actions/checkout@v4 + with: + sparse-checkout: .github/scripts/tests_matrix.sh + - name: Set matrix id: set-matrix - run: | - build_types='["validation"' - hw_types='["validation"' - wokwi_types='["validation"' - qemu_types='["validation"' - - is_pr=${{ github.event.pull_request.number != null }} - is_performance_enabled=${{ contains(github.event.pull_request.labels.*.name, 'perf_test') }} - - if [[ $is_pr != 'true' ]] || [[ $is_performance_enabled == 'true' ]]; then - build_types+=',"performance"' - hw_types+=',"performance"' - #wokwi_types+=',"performance"' - #qemu_types+=',"performance"' - fi + run: bash .github/scripts/tests_matrix.sh - echo "build-types=$build_types]" >> $GITHUB_OUTPUT - echo "hw-types=$hw_types]" >> $GITHUB_OUTPUT - echo "wokwi-types=$wokwi_types]" >> $GITHUB_OUTPUT - echo "qemu-types=$qemu_types]" >> $GITHUB_OUTPUT + - name: Upload + uses: actions/upload-artifact@v4 + with: + name: matrix_info + path: info/* call-build-tests: name: Build @@ -88,7 +84,7 @@ jobs: strategy: matrix: type: ${{ fromJson(needs.gen-matrix.outputs.build-types) }} - chip: ['esp32', 'esp32s2', 'esp32s3', 'esp32c3', 'esp32c6', 'esp32h2'] + chip: ${{ fromJson(needs.gen-matrix.outputs.targets) }} with: type: ${{ matrix.type }} chip: ${{ matrix.chip }} @@ -105,7 +101,7 @@ jobs: fail-fast: false matrix: type: ${{ fromJson(needs.gen-matrix.outputs.hw-types) }} - chip: ['esp32', 'esp32s2', 'esp32s3', 'esp32c3', 'esp32c6', 'esp32h2'] + chip: ${{ fromJson(needs.gen-matrix.outputs.targets) }} with: type: ${{ matrix.type }} chip: ${{ matrix.chip }} diff --git a/.github/workflows/tests_results.yml b/.github/workflows/tests_results.yml index a255016c413..f9c572bf546 100644 --- a/.github/workflows/tests_results.yml +++ b/.github/workflows/tests_results.yml @@ -79,6 +79,7 @@ jobs: event_name: ${{ env.original_event }} files: ./artifacts/**/*.xml action_fail: true + compare_to_earlier_commit: false - name: Fail if tests failed if: ${{ env.original_conclusion == 'failure' || env.original_conclusion == 'timed_out' || github.event.workflow_run.conclusion == 'failure' || github.event.workflow_run.conclusion == 'timed_out' }} diff --git a/.github/workflows/tests_wokwi.yml b/.github/workflows/tests_wokwi.yml index f016cad25e0..a891ca89dfd 100644 --- a/.github/workflows/tests_wokwi.yml +++ b/.github/workflows/tests_wokwi.yml @@ -22,6 +22,9 @@ jobs: outputs: pr_num: ${{ steps.set-ref.outputs.pr_num }} ref: ${{ steps.set-ref.outputs.ref }} + base: ${{ steps.set-ref.outputs.base }} + targets: ${{ steps.set-ref.outputs.targets }} + types: ${{ steps.set-ref.outputs.types }} steps: - name: Report pending uses: actions/github-script@v7 @@ -51,10 +54,18 @@ jobs: name: event_file path: artifacts/event_file + - name: Download and extract matrix info + uses: actions/download-artifact@v4 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + run-id: ${{ github.event.workflow_run.id }} + name: matrix_info + path: artifacts/matrix_info + - name: Try to read PR number id: set-ref run: | - pr_num=$(jq -r '.pull_request.number' artifacts/event_file/event.json) + pr_num=$(jq -r '.pull_request.number' artifacts/event_file/event.json | tr -cd "[:digit:]") if [ -z "$pr_num" ] || [ "$pr_num" == "null" ]; then pr_num="" fi @@ -64,11 +75,22 @@ jobs: ref=${{ github.ref }} fi - action=$(jq -r '.action' artifacts/event_file/event.json) + action=$(jq -r '.action' artifacts/event_file/event.json | tr -cd "[:alpha:]_") if [ "$action" == "null" ]; then action="" fi + base=$(jq -r '.pull_request.base.ref' artifacts/event_file/event.json | tr -cd "[:alnum:]/_.-") + if [ -z "$base" ] || [ "$base" == "null" ]; then + base=${{ github.ref }} + fi + + types=$(cat artifacts/matrix_info/wokwi_types.txt | tr -cd "[:alpha:],[]'") + targets=$(cat artifacts/matrix_info/targets.txt | tr -cd "[:alnum:],[]'") + + echo "base = $base" + echo "targets = $targets" + echo "types = $types" echo "pr_num = $pr_num" printf "$ref" >> artifacts/ref.txt @@ -98,6 +120,9 @@ jobs: cat artifacts/conclusion.txt echo "pr_num=$pr_num" >> $GITHUB_OUTPUT + echo "base=$base" >> $GITHUB_OUTPUT + echo "targets=$targets" >> $GITHUB_OUTPUT + echo "types=$types" >> $GITHUB_OUTPUT echo "ref=$ref" >> $GITHUB_OUTPUT - name: Download and extract parent hardware results @@ -164,8 +189,8 @@ jobs: strategy: fail-fast: false matrix: - type: ['validation'] - chip: ['esp32', 'esp32s2', 'esp32s3', 'esp32c3', 'esp32c6', 'esp32h2'] + type: ${{ fromJson(needs.get-artifacts.outputs.types) }} + chip: ${{ fromJson(needs.get-artifacts.outputs.targets) }} steps: - name: Report pending uses: actions/github-script@v7 @@ -211,9 +236,12 @@ jobs: echo "enabled=$enabled" >> $GITHUB_OUTPUT # Note that changes to the workflows and tests will only be picked up after the PR is merged + # DO NOT CHECKOUT THE USER'S REPOSITORY IN THIS WORKFLOW. IT HAS HIGH SECURITY RISKS. - name: Checkout repository if: ${{ steps.check-tests.outputs.enabled == 'true' }} uses: actions/checkout@v4 + with: + ref: ${{ needs.get-artifacts.outputs.base || github.ref }} - uses: actions/setup-python@v5 if: ${{ steps.check-tests.outputs.enabled == 'true' }} diff --git a/tests/performance/coremark/coremark.ino b/tests/performance/coremark/coremark.ino index 776db7874db..872b53050f0 100644 --- a/tests/performance/coremark/coremark.ino +++ b/tests/performance/coremark/coremark.ino @@ -40,7 +40,7 @@ void setup() { Serial.printf("Cores: %d\n", CONFIG_SOC_CPU_CORES_NUM); Serial.flush(); for (int i = 0; i < N_RUNS; i++) { - Serial.printf("Run %d", i); + Serial.printf("Run %d\n", i); coremark_main(); Serial.flush(); } diff --git a/tests/performance/fibonacci/fibonacci.ino b/tests/performance/fibonacci/fibonacci.ino index 01fd6f7bee2..c82fd6b70d8 100644 --- a/tests/performance/fibonacci/fibonacci.ino +++ b/tests/performance/fibonacci/fibonacci.ino @@ -31,7 +31,7 @@ void setup() { Serial.printf("N: %d\n", FIB_N); Serial.flush(); for (int i = 0; i < N_RUNS; i++) { - Serial.printf("Run %d", i); + Serial.printf("Run %d\n", i); unsigned long start = millis(); fibonacci = fib(FIB_N); unsigned long elapsed = millis() - start; diff --git a/tests/performance/fibonacci/test_fibonacci.py b/tests/performance/fibonacci/test_fibonacci.py index 622ea77ee4b..ced9368184e 100644 --- a/tests/performance/fibonacci/test_fibonacci.py +++ b/tests/performance/fibonacci/test_fibonacci.py @@ -2,24 +2,21 @@ import logging import os +fib_results = {} + +def fib(n): + if n < 2: + return n + elif str(n) in fib_results: + return fib_results[str(n)] + else: + fib_results[str(n)] = fib(n - 1) + fib(n - 2) + return fib_results[str(n)] + def test_fibonacci(dut, request): LOGGER = logging.getLogger(__name__) - # Fibonacci results starting from fib(35) to fib(45) - fib_results = [ - 9227465, - 14930352, - 24157817, - 39088169, - 63245986, - 102334155, - 165580141, - 267914296, - 433494437, - 701408733, - ] - # Match "Runs: %d" res = dut.expect(r"Runs: (\d+)", timeout=60) runs = int(res.group(0).decode("utf-8").split(" ")[1]) @@ -30,7 +27,11 @@ def test_fibonacci(dut, request): res = dut.expect(r"N: (\d+)", timeout=300) fib_n = int(res.group(0).decode("utf-8").split(" ")[1]) LOGGER.info("Calculating Fibonacci({})".format(fib_n)) - assert fib_n > 30 and fib_n < 50, "Invalid Fibonacci number" + assert fib_n > 0, "Invalid Fibonacci number" + + # Calculate Fibonacci results + expected_result = fib(fib_n) + LOGGER.info("Expected Fibonacci result: {}".format(expected_result)) list_time = [] @@ -48,7 +49,7 @@ def test_fibonacci(dut, request): assert fib_result > 0, "Invalid Fibonacci result" # Check if the result is correct - assert fib_result == fib_results[fib_n - 35] + assert fib_result == expected_result # Match "Time: %lu.%03lu s" res = dut.expect(r"Time: (\d+)\.(\d+) s", timeout=300) diff --git a/tests/performance/psramspeed/ci.json b/tests/performance/psramspeed/ci.json index 8d58dbf5250..341df103671 100644 --- a/tests/performance/psramspeed/ci.json +++ b/tests/performance/psramspeed/ci.json @@ -3,9 +3,7 @@ "qemu": false, "wokwi": false }, - "targets": { - "esp32c3": false, - "esp32c6": false, - "esp32h2": false - } + "requires": [ + "CONFIG_SPIRAM=y" + ] } diff --git a/tests/performance/psramspeed/psramspeed.ino b/tests/performance/psramspeed/psramspeed.ino index 81175e6b3a5..be91733abfc 100644 --- a/tests/performance/psramspeed/psramspeed.ino +++ b/tests/performance/psramspeed/psramspeed.ino @@ -252,7 +252,7 @@ void setup() { Serial.printf("Max test size: %d\n", MAX_TEST_SIZE); Serial.flush(); for (int i = 0; i < N_RUNS; i++) { - Serial.printf("Run %d", i); + Serial.printf("Run %d\n", i); memcpy_speed_test(dest, src, MAX_TEST_SIZE, N_COPIES); Serial.flush(); memset_speed_test(dest, FILL_VALUE, MAX_TEST_SIZE, N_COPIES); diff --git a/tests/performance/ramspeed/ramspeed.ino b/tests/performance/ramspeed/ramspeed.ino index e0ab0db4c5f..776f6540679 100644 --- a/tests/performance/ramspeed/ramspeed.ino +++ b/tests/performance/ramspeed/ramspeed.ino @@ -248,7 +248,7 @@ void setup() { Serial.printf("Max test size: %d\n", MAX_TEST_SIZE); Serial.flush(); for (int i = 0; i < N_RUNS; i++) { - Serial.printf("Run %d", i); + Serial.printf("Run %d\n", i); memcpy_speed_test(dest, src, MAX_TEST_SIZE, N_COPIES); Serial.flush(); memset_speed_test(dest, FILL_VALUE, MAX_TEST_SIZE, N_COPIES); diff --git a/tests/performance/superpi/superpi.ino b/tests/performance/superpi/superpi.ino index ffa6c932b35..7ac4b2f13d7 100644 --- a/tests/performance/superpi/superpi.ino +++ b/tests/performance/superpi/superpi.ino @@ -25,7 +25,7 @@ void setup() { Serial.printf("Digits: %d\n", DIGITS); Serial.flush(); for (int i = 0; i < N_RUNS; i++) { - Serial.printf("Run %d", i); + Serial.printf("Run %d\n", i); unsigned long start = millis(); pi_calc(DIGITS); unsigned long elapsed = millis() - start; diff --git a/tests/requirements.txt b/tests/requirements.txt index 1b43a6104f2..63d204a96b0 100644 --- a/tests/requirements.txt +++ b/tests/requirements.txt @@ -1,7 +1,7 @@ cryptography==43.0.1 --only-binary cryptography pytest-cov==5.0.0 -pytest-embedded-serial-esp==1.11.5 -pytest-embedded-arduino==1.11.5 -pytest-embedded-wokwi==1.11.5 -pytest-embedded-qemu==1.11.5 +pytest-embedded-serial-esp==1.11.6 +pytest-embedded-arduino==1.11.6 +pytest-embedded-wokwi==1.11.6 +pytest-embedded-qemu==1.11.6 diff --git a/tests/validation/gpio/test_gpio.py b/tests/validation/gpio/test_gpio.py index e36282561b5..f11b9fd99cc 100644 --- a/tests/validation/gpio/test_gpio.py +++ b/tests/validation/gpio/test_gpio.py @@ -1,5 +1,15 @@ +import logging + def test_gpio(dut): + LOGGER = logging.getLogger(__name__) + dut.expect_exact("Button test") + + LOGGER.info("Expecting button press 1") dut.expect_exact("Button pressed 1 times") + + LOGGER.info("Expecting button press 2") dut.expect_exact("Button pressed 2 times") + + LOGGER.info("Expecting button press 3") dut.expect_exact("Button pressed 3 times") diff --git a/tests/validation/nvs/test_nvs.py b/tests/validation/nvs/test_nvs.py index 364df56de1c..a2b4842fa91 100644 --- a/tests/validation/nvs/test_nvs.py +++ b/tests/validation/nvs/test_nvs.py @@ -1,4 +1,13 @@ +import logging + def test_nvs(dut): + LOGGER = logging.getLogger(__name__) + + LOGGER.info("Expecting counter value 0") dut.expect_exact("Current counter value: 0") + + LOGGER.info("Expecting counter value 1") dut.expect_exact("Current counter value: 1") + + LOGGER.info("Expecting counter value 2") dut.expect_exact("Current counter value: 2") diff --git a/tests/validation/periman/test_periman.py b/tests/validation/periman/test_periman.py index d8dc4b8eeb5..a2d25f5ba09 100644 --- a/tests/validation/periman/test_periman.py +++ b/tests/validation/periman/test_periman.py @@ -1,4 +1,7 @@ +import logging + def test_periman(dut): + LOGGER = logging.getLogger(__name__) peripherals = [ "GPIO", "SigmaDelta", @@ -29,9 +32,10 @@ def test_periman(dut): if peripheral in peripherals: if "not" in console_output: - assert False, f"Peripheral {peripheral} printed when it should not" + assert False, f"Output printed when it should not after peripheral {peripheral}" + LOGGER.info(f"Correct output after peripheral: {peripheral}") peripherals.remove(peripheral) else: assert False, f"Unknown peripheral: {peripheral}" - assert peripherals == [], f"Missing peripherals output: {peripherals}" + assert peripherals == [], f"Missing output after peripherals: {peripherals}" diff --git a/tests/validation/psram/ci.json b/tests/validation/psram/ci.json index fc34574cf37..341df103671 100644 --- a/tests/validation/psram/ci.json +++ b/tests/validation/psram/ci.json @@ -5,10 +5,5 @@ }, "requires": [ "CONFIG_SPIRAM=y" - ], - "targets": { - "esp32c3": false, - "esp32c6": false, - "esp32h2": false - } + ] } diff --git a/tests/validation/wifi/test_wifi.py b/tests/validation/wifi/test_wifi.py index 49dd22797d2..769283b06bd 100644 --- a/tests/validation/wifi/test_wifi.py +++ b/tests/validation/wifi/test_wifi.py @@ -1,6 +1,15 @@ +import logging + def test_wifi(dut): + LOGGER = logging.getLogger(__name__) + + LOGGER.info("Starting WiFi Scan") dut.expect_exact("Scan start") dut.expect_exact("Scan done") dut.expect_exact("Wokwi-GUEST") + LOGGER.info("WiFi Scan done") + + LOGGER.info("Connecting to WiFi") dut.expect_exact("WiFi connected") dut.expect_exact("IP address:") + LOGGER.info("WiFi connected") From f668557b547ddd25e464977bfbdc3d41afbdc319 Mon Sep 17 00:00:00 2001 From: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com> Date: Mon, 21 Oct 2024 10:22:02 -0300 Subject: [PATCH 115/146] Enable tests for ESP32P4 --- .github/scripts/tests_matrix.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/scripts/tests_matrix.sh b/.github/scripts/tests_matrix.sh index ca0b6eb8684..74fece91f8e 100644 --- a/.github/scripts/tests_matrix.sh +++ b/.github/scripts/tests_matrix.sh @@ -12,7 +12,7 @@ if [[ $IS_PR != 'true' ]] || [[ $PERFORMANCE_ENABLED == 'true' ]]; then #qemu_types+=",'performance'" fi -targets="'esp32','esp32s2','esp32s3','esp32c3','esp32c6','esp32h2'" +targets="'esp32','esp32s2','esp32s3','esp32c3','esp32c6','esp32h2','esp32p4'" mkdir -p info From c40444ab338e6c33c5160ee12dfe36246c482025 Mon Sep 17 00:00:00 2001 From: Rodrigo Garcia Date: Mon, 21 Oct 2024 10:42:43 -0300 Subject: [PATCH 116/146] feat(matter): initial commit with arduino matter lib (#10467) * feat(matter): initial commit with arduino matter lib * feat(matter): add matter library to cmakelists.txt * fix(matter): add correct guard for ci * fix(matter): using correct ci requirements in ci.json * fix(matter): using correct ci requirements in header files * fix(matter): using correct ci requirements header and examples * fix(typo): typo and commentaries * fix(typo): typo and commentaries * fix(typo): typo and commentaries * fix(commentary): longer explanation * feat(matter): api simplification with begin * feat(matter): testing flashmode=qio in CI * feat(matter): testing flashmode=qio in CI * fix(matter): changes CI FQBN * fix(matte): include all fqbn in ci.json using qio * fix(matter): revert ci and guard changes * fix(matter): typo and commentaties * feat(matter): adds a light toggle switch button * feat(matter): improved the button control * feat(matter): using switch instead of if() for attibute change * fix(matter): switch/case scope * fix(matter): problems found after pressing reset * feat(matter): improve example using preferences * fix(pre-commit): Fix and apply pre-commit hooks --------- Co-authored-by: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com> --- .pre-commit-config.yaml | 1 + CMakeLists.txt | 5 + .../MatterCommissionTest.ino | 65 +++++++ .../examples/MatterCommissionTest/ci.json | 7 + .../MatterComposedLights.ino | 94 ++++++++++ .../examples/MatterComposedLights/ci.json | 7 + .../MatterOnOffLight/MatterOnOffLight.ino | 138 +++++++++++++++ .../Matter/examples/MatterOnOffLight/ci.json | 7 + libraries/Matter/keywords.txt | 35 ++++ libraries/Matter/library.properties | 9 + libraries/Matter/src/Matter.cpp | 163 ++++++++++++++++++ libraries/Matter/src/Matter.h | 40 +++++ libraries/Matter/src/MatterEndPoint.h | 23 +++ libraries/Matter/src/MatterOnOffLight.cpp | 107 ++++++++++++ libraries/Matter/src/MatterOnOffLight.h | 34 ++++ 15 files changed, 735 insertions(+) create mode 100644 libraries/Matter/examples/MatterCommissionTest/MatterCommissionTest.ino create mode 100644 libraries/Matter/examples/MatterCommissionTest/ci.json create mode 100644 libraries/Matter/examples/MatterComposedLights/MatterComposedLights.ino create mode 100644 libraries/Matter/examples/MatterComposedLights/ci.json create mode 100644 libraries/Matter/examples/MatterOnOffLight/MatterOnOffLight.ino create mode 100644 libraries/Matter/examples/MatterOnOffLight/ci.json create mode 100644 libraries/Matter/keywords.txt create mode 100644 libraries/Matter/library.properties create mode 100644 libraries/Matter/src/Matter.cpp create mode 100644 libraries/Matter/src/Matter.h create mode 100644 libraries/Matter/src/MatterEndPoint.h create mode 100644 libraries/Matter/src/MatterOnOffLight.cpp create mode 100644 libraries/Matter/src/MatterOnOffLight.h diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 0aff5b6f07b..6a949631bd9 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -26,6 +26,7 @@ repos: - id: trailing-whitespace args: [--markdown-linebreak-ext=md] - id: pretty-format-json + stages: [manual] args: [--autofix] types_or: [json] exclude: | diff --git a/CMakeLists.txt b/CMakeLists.txt index 6688a97803d..e552299b8aa 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -94,6 +94,7 @@ set(ARDUINO_ALL_LIBRARIES HTTPUpdate Insights LittleFS + Matter NetBIOS Network OpenThread @@ -165,6 +166,10 @@ set(ARDUINO_LIBRARY_OpenThread_SRCS libraries/OpenThread/src/OThreadCLI.cpp libraries/OpenThread/src/OThreadCLI_Util.cpp) +set(ARDUINO_LIBRARY_Matter_SRCS + libraries/Matter/src/MatterOnOffLight.cpp + libraries/Matter/src/Matter.cpp) + set(ARDUINO_LIBRARY_PPP_SRCS libraries/PPP/src/PPP.cpp libraries/PPP/src/ppp.c) diff --git a/libraries/Matter/examples/MatterCommissionTest/MatterCommissionTest.ino b/libraries/Matter/examples/MatterCommissionTest/MatterCommissionTest.ino new file mode 100644 index 00000000000..a9afb0c4484 --- /dev/null +++ b/libraries/Matter/examples/MatterCommissionTest/MatterCommissionTest.ino @@ -0,0 +1,65 @@ +// Matter Manager +#include +#include + +// List of Matter Endpoints for this Node +// On/Off Light Endpoint +#include +MatterOnOffLight OnOffLight; + +// WiFi is manually set and started + +const char *ssid = "your-ssid"; // Change this to your WiFi SSID +const char *password = "your-password"; // Change this to your WiFi password + +void setup() { + Serial.begin(115200); + while (!Serial) { + delay(100); + } + + // We start by connecting to a WiFi network + Serial.print("Connecting to "); + Serial.println(ssid); + // enable IPv6 + WiFi.enableIPv6(true); + // Manually connect to WiFi + WiFi.begin(ssid, password); + // Wait for connection + while (WiFi.status() != WL_CONNECTED) { + delay(500); + Serial.print("."); + } + Serial.println("\r\nWiFi connected"); + Serial.println("IP address: "); + Serial.println(WiFi.localIP()); + delay(500); + + // Initialize at least one Matter EndPoint + OnOffLight.begin(); + + // Matter beginning - Last step, after all EndPoints are initialized + Matter.begin(); +} + +void loop() { + // Check Matter Commissioning state + if (!Matter.isDeviceCommissioned()) { + Serial.println(""); + Serial.println("Matter Node is not commissioned yet."); + Serial.println("Initiate the device discovery in your Matter environment."); + Serial.println("Commission it to your Matter hub with the manual pairing code or QR code"); + Serial.printf("Manual pairing code: %s\r\n", Matter.getManualPairingCode().c_str()); + Serial.printf("QR code URL: %s\r\n", Matter.getOnboardingQRCodeUrl().c_str()); + // waits for Matter Light Commissioning. + while (!Matter.isDeviceCommissioned()) { + delay(5000); + Serial.println("Matter Fabric not commissioned yet. Waiting for commissioning."); + } + } + Serial.println("Matter Node is commissioned and connected to Wi-Fi."); + Serial.println("====> Decommissioning in 30 seconds. <===="); + delay(30000); + Matter.decommission(); + Serial.println("Matter Node is decommissioned. Commsssioning widget shall start over."); +} diff --git a/libraries/Matter/examples/MatterCommissionTest/ci.json b/libraries/Matter/examples/MatterCommissionTest/ci.json new file mode 100644 index 00000000000..556a8a9ee6b --- /dev/null +++ b/libraries/Matter/examples/MatterCommissionTest/ci.json @@ -0,0 +1,7 @@ +{ + "fqbn_append": "PartitionScheme=huge_app", + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y", + "CONFIG_ESP_MATTER_ENABLE_DATA_MODEL=y" + ] +} diff --git a/libraries/Matter/examples/MatterComposedLights/MatterComposedLights.ino b/libraries/Matter/examples/MatterComposedLights/MatterComposedLights.ino new file mode 100644 index 00000000000..63f154d4492 --- /dev/null +++ b/libraries/Matter/examples/MatterComposedLights/MatterComposedLights.ino @@ -0,0 +1,94 @@ +// Matter Manager +#include +#include + +// List of Matter Endpoints for this Node +// There will be 3 On/Off Light Endpoints in the same Node +#include +MatterOnOffLight OnOffLight1; +MatterOnOffLight OnOffLight2; +MatterOnOffLight OnOffLight3; + +// Matter Protocol Endpoint Callback for each Light Accessory +bool setLightOnOff1(bool state) { + Serial.printf("CB-Light1 changed state to: %s\r\n", state ? "ON" : "OFF"); + return true; +} + +bool setLightOnOff2(bool state) { + Serial.printf("CB-Light2 changed state to: %s\r\n", state ? "ON" : "OFF"); + return true; +} + +bool setLightOnOff3(bool state) { + Serial.printf("CB-Light3 changed state to: %s\r\n", state ? "ON" : "OFF"); + return true; +} + +// WiFi is manually set and started + +const char *ssid = "your-ssid"; // Change this to your WiFi SSID +const char *password = "your-password"; // Change this to your WiFi password + +void setup() { + Serial.begin(115200); + while (!Serial) { + delay(100); + } + + // We start by connecting to a WiFi network + Serial.print("Connecting to "); + Serial.println(ssid); + // enable IPv6 + WiFi.enableIPv6(true); + // Manually connect to WiFi + WiFi.begin(ssid, password); + // Wait for connection + while (WiFi.status() != WL_CONNECTED) { + delay(500); + Serial.print("."); + } + Serial.println("\r\nWiFi connected"); + Serial.println("IP address: "); + Serial.println(WiFi.localIP()); + delay(500); + + // Initialize all 3 Matter EndPoints + OnOffLight1.begin(); + OnOffLight2.begin(); + OnOffLight3.begin(); + OnOffLight1.onChangeOnOff(setLightOnOff1); + OnOffLight2.onChangeOnOff(setLightOnOff2); + OnOffLight3.onChangeOnOff(setLightOnOff3); + + // Matter beginning - Last step, after all EndPoints are initialized + Matter.begin(); +} + +void loop() { + // Check Matter Light Commissioning state + if (!Matter.isDeviceCommissioned()) { + Serial.println(""); + Serial.println("Matter Node is not commissioned yet."); + Serial.println("Initiate the device discovery in your Matter environment."); + Serial.println("Commission it to your Matter hub with the manual pairing code or QR code"); + Serial.printf("Manual pairing code: %s\r\n", Matter.getManualPairingCode().c_str()); + Serial.printf("QR code URL: %s\r\n", Matter.getOnboardingQRCodeUrl().c_str()); + // waits for Matter Light Commissioning. + uint32_t timeCount = 0; + while (!Matter.isDeviceCommissioned()) { + delay(100); + if ((timeCount++ % 50) == 0) { // 50*100ms = 5 sec + Serial.println("Matter Node not commissioned yet. Waiting for commissioning."); + } + } + Serial.println("Matter Node is commissioned and connected to Wi-Fi. Ready for use."); + } + + //displays the Light state every 3 seconds + Serial.println("======================"); + Serial.printf("Matter Light #1 is %s\r\n", OnOffLight1.getOnOff() ? "ON" : "OFF"); + Serial.printf("Matter Light #2 is %s\r\n", OnOffLight2.getOnOff() ? "ON" : "OFF"); + Serial.printf("Matter Light #3 is %s\r\n", OnOffLight3.getOnOff() ? "ON" : "OFF"); + delay(3000); +} diff --git a/libraries/Matter/examples/MatterComposedLights/ci.json b/libraries/Matter/examples/MatterComposedLights/ci.json new file mode 100644 index 00000000000..556a8a9ee6b --- /dev/null +++ b/libraries/Matter/examples/MatterComposedLights/ci.json @@ -0,0 +1,7 @@ +{ + "fqbn_append": "PartitionScheme=huge_app", + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y", + "CONFIG_ESP_MATTER_ENABLE_DATA_MODEL=y" + ] +} diff --git a/libraries/Matter/examples/MatterOnOffLight/MatterOnOffLight.ino b/libraries/Matter/examples/MatterOnOffLight/MatterOnOffLight.ino new file mode 100644 index 00000000000..64981b23a66 --- /dev/null +++ b/libraries/Matter/examples/MatterOnOffLight/MatterOnOffLight.ino @@ -0,0 +1,138 @@ +// Matter Manager +#include +#include +#include + +// List of Matter Endpoints for this Node +// On/Off Light Endpoint +#include +MatterOnOffLight OnOffLight; + +// it will keep last OnOff state stored, using Preferences +Preferences lastStatePref; + +// set your board LED pin here +#ifdef LED_BUILTIN +const uint8_t ledPin = LED_BUILTIN; +#else +const uint8_t ledPin = 2; // Set your pin here if your board has not defined LED_BUILTIN +#warning "Do not forget to set the LED pin" +#endif + +// set your board USER BUTTON pin here +const uint8_t buttonPin = 0; // Set your pin here. Using BOOT Button. C6/C3 use GPIO9. + +// Matter Protocol Endpoint Callback +bool setLightOnOff(bool state) { + Serial.printf("User Callback :: New Light State = %s\r\n", state ? "ON" : "OFF"); + if (state) { + digitalWrite(ledPin, HIGH); + } else { + digitalWrite(ledPin, LOW); + } + // store last OnOff state for when the Light is restarted / power goes off + lastStatePref.putBool("lastOnOffState", state); + // This callback must return the success state to Matter core + return true; +} + +// WiFi is manually set and started + +const char *ssid = "Apartment B15"; // Change this to your WiFi SSID +const char *password = "flat-pony-body"; // Change this to your WiFi password + +void setup() { + // Initialize the USER BUTTON (Boot button) GPIO that will act as a toggle switch + pinMode(buttonPin, INPUT_PULLUP); + // Initialize the LED (light) GPIO and Matter End Point + pinMode(ledPin, OUTPUT); + + Serial.begin(115200); + while (!Serial) { + delay(100); + } + + // We start by connecting to a WiFi network + Serial.print("Connecting to "); + Serial.println(ssid); + // enable IPv6 + WiFi.enableIPv6(true); + // Manually connect to WiFi + WiFi.begin(ssid, password); + // Wait for connection + while (WiFi.status() != WL_CONNECTED) { + delay(500); + Serial.print("."); + } + Serial.println("\r\nWiFi connected"); + Serial.println("IP address: "); + Serial.println(WiFi.localIP()); + delay(500); + + // Initialize Matter EndPoint + lastStatePref.begin("matterLight", false); + bool lastOnOffState = lastStatePref.getBool("lastOnOffState", true); + OnOffLight.begin(lastOnOffState); + OnOffLight.onChangeOnOff(setLightOnOff); + + // Matter beginning - Last step, after all EndPoints are initialized + Matter.begin(); + // This may be a restart of a already commissioned Matter accessory + if (Matter.isDeviceCommissioned()) { + Serial.println("Matter Node is commissioned and connected to Wi-Fi. Ready for use."); + Serial.printf("Initial state: %s\r\n", OnOffLight.getOnOff() ? "ON" : "OFF"); + setLightOnOff(OnOffLight.getOnOff()); // configure the Light based on initial state + } +} +// Button control +uint32_t button_time_stamp = 0; // debouncing control +bool button_state = false; // false = released | true = pressed +const uint32_t debouceTime = 250; // button debouncing time (ms) +const uint32_t decommissioningTimeout = 10000; // keep the button pressed for 10s to decommission the light + +void loop() { + // Check Matter Light Commissioning state, which may change during execution of loop() + if (!Matter.isDeviceCommissioned()) { + Serial.println(""); + Serial.println("Matter Node is not commissioned yet."); + Serial.println("Initiate the device discovery in your Matter environment."); + Serial.println("Commission it to your Matter hub with the manual pairing code or QR code"); + Serial.printf("Manual pairing code: %s\r\n", Matter.getManualPairingCode().c_str()); + Serial.printf("QR code URL: %s\r\n", Matter.getOnboardingQRCodeUrl().c_str()); + // waits for Matter Light Commissioning. + uint32_t timeCount = 0; + while (!Matter.isDeviceCommissioned()) { + delay(100); + if ((timeCount++ % 50) == 0) { // 50*100ms = 5 sec + Serial.println("Matter Node not commissioned yet. Waiting for commissioning."); + } + } + Serial.printf("Initial state: %s\r\n", OnOffLight.getOnOff() ? "ON" : "OFF"); + setLightOnOff(OnOffLight.getOnOff()); // configure the Light based on initial state + Serial.println("Matter Node is commissioned and connected to Wi-Fi. Ready for use."); + } + + // A button is also used to control the light + // Check if the button has been pressed + if (digitalRead(buttonPin) == LOW && !button_state) { + // deals with button debouncing + button_time_stamp = millis(); // record the time while the button is pressed. + button_state = true; // pressed. + } + + // Onboard User Button is used as a Light toggle switch or to decommission it + uint32_t time_diff = millis() - button_time_stamp; + if (button_state && time_diff > debouceTime && digitalRead(buttonPin) == HIGH) { + button_state = false; // released + // Toggle button is released - toggle the light + Serial.println("User button released. Toggling Light!"); + OnOffLight.toggle(); // Matter Controller also can see the change + + // Factory reset is triggered if the button is pressed longer than 10 seconds + if (time_diff > decommissioningTimeout) { + Serial.println("Decommissioning the Light Matter Accessory. It shall be commissioned again."); + OnOffLight.setOnOff(false); // turn the light off + Matter.decommission(); + } + } +} diff --git a/libraries/Matter/examples/MatterOnOffLight/ci.json b/libraries/Matter/examples/MatterOnOffLight/ci.json new file mode 100644 index 00000000000..556a8a9ee6b --- /dev/null +++ b/libraries/Matter/examples/MatterOnOffLight/ci.json @@ -0,0 +1,7 @@ +{ + "fqbn_append": "PartitionScheme=huge_app", + "requires": [ + "CONFIG_SOC_WIFI_SUPPORTED=y", + "CONFIG_ESP_MATTER_ENABLE_DATA_MODEL=y" + ] +} diff --git a/libraries/Matter/keywords.txt b/libraries/Matter/keywords.txt new file mode 100644 index 00000000000..7ff3e90f3b4 --- /dev/null +++ b/libraries/Matter/keywords.txt @@ -0,0 +1,35 @@ +####################################### +# Syntax Coloring Map For OpenThread +####################################### + +####################################### +# Datatypes (KEYWORD1) +####################################### + +Matter KEYWORD1 +MatterOnOffLight KEYWORD1 +MatterEndPoint KEYWORD1 + +####################################### +# Methods and Functions (KEYWORD2) +####################################### + +begin KEYWORD2 +end KEYWORD2 +start KEYWORD2 +getManualPairingCode KEYWORD2 +getOnboardingQRCodeUrl KEYWORD2 +isDeviceCommissioned KEYWORD2 +isWiFiConnected KEYWORD2 +isThreadConnected KEYWORD2 +isDeviceConnected KEYWORD2 +decommission KEYWORD2 +attributeChangeCB KEYWORD2 +setOnOff KEYWORD2 +getOnOff KEYWORD2 +toggle KEYWORD2 +onChangeOnOff KEYWORD2 + +####################################### +# Constants (LITERAL1) +####################################### diff --git a/libraries/Matter/library.properties b/libraries/Matter/library.properties new file mode 100644 index 00000000000..e08c750fb59 --- /dev/null +++ b/libraries/Matter/library.properties @@ -0,0 +1,9 @@ +name=Matter +version=3.1.0 +author=Rodrigo Garcia | GitHub @SuGlider +maintainer=Rodrigo Garcia +sentence=Library for supporting Matter environment on ESP32. +paragraph=This library implements Matter accessories using WiFi network. +category=Communication +url=https://github.com/espressif/arduino-esp32/ +architectures=esp32 diff --git a/libraries/Matter/src/Matter.cpp b/libraries/Matter/src/Matter.cpp new file mode 100644 index 00000000000..49504babac0 --- /dev/null +++ b/libraries/Matter/src/Matter.cpp @@ -0,0 +1,163 @@ +#include +#ifdef CONFIG_ESP_MATTER_ENABLE_DATA_MODEL + +#include +#include +#include "MatterEndPoint.h" + +using namespace esp_matter; +using namespace esp_matter::attribute; +using namespace esp_matter::endpoint; +using namespace chip::app::Clusters; + +constexpr auto k_timeout_seconds = 300; + +static bool _matter_has_started = false; +static node::config_t node_config; +static node_t *deviceNode = NULL; + +typedef void *app_driver_handle_t; +esp_err_t matter_light_attribute_update( + app_driver_handle_t driver_handle, uint16_t endpoint_id, uint32_t cluster_id, uint32_t attribute_id, esp_matter_attr_val_t *val +); + +// This callback is called for every attribute update. The callback implementation shall +// handle the desired attributes and return an appropriate error code. If the attribute +// is not of your interest, please do not return an error code and strictly return ESP_OK. +static esp_err_t app_attribute_update_cb( + attribute::callback_type_t type, uint16_t endpoint_id, uint32_t cluster_id, uint32_t attribute_id, esp_matter_attr_val_t *val, void *priv_data +) { + esp_err_t err = ESP_OK; + MatterEndPoint *ep = (MatterEndPoint *)priv_data; // endpoint pointer to base class + switch (type) { + case PRE_UPDATE: // Callback before updating the value in the database + log_i("Attribute update callback: PRE_UPDATE"); + if (ep != NULL) { + err = ep->attributeChangeCB(endpoint_id, cluster_id, attribute_id, val) ? ESP_OK : ESP_FAIL; + } + break; + case POST_UPDATE: // Callback after updating the value in the database + log_i("Attribute update callback: POST_UPDATE"); + break; + case READ: // Callback for reading the attribute value. This is used when the `ATTRIBUTE_FLAG_OVERRIDE` is set. + log_i("Attribute update callback: READ"); + break; + case WRITE: // Callback for writing the attribute value. This is used when the `ATTRIBUTE_FLAG_OVERRIDE` is set. + log_i("Attribute update callback: WRITE"); + break; + default: log_i("Attribute update callback: Unknown type %d", type); + } + return err; +} + +// This callback is invoked when clients interact with the Identify Cluster. +// In the callback implementation, an endpoint can identify itself. (e.g., by flashing an LED or light). +static esp_err_t app_identification_cb(identification::callback_type_t type, uint16_t endpoint_id, uint8_t effect_id, uint8_t effect_variant, void *priv_data) { + log_i("Identification callback: type: %u, effect: %u, variant: %u", type, effect_id, effect_variant); + return ESP_OK; +} + +// This callback is invoked for all Matter events. The application can handle the events as required. +static void app_event_cb(const ChipDeviceEvent *event, intptr_t arg) { + switch (event->Type) { + case chip::DeviceLayer::DeviceEventType::kInterfaceIpAddressChanged: + log_i( + "Interface %s Address changed", event->InterfaceIpAddressChanged.Type == chip::DeviceLayer::InterfaceIpChangeType::kIpV4_Assigned ? "IPv4" : "IPV6" + ); + break; + case chip::DeviceLayer::DeviceEventType::kCommissioningComplete: log_i("Commissioning complete"); break; + case chip::DeviceLayer::DeviceEventType::kFailSafeTimerExpired: log_i("Commissioning failed, fail safe timer expired"); break; + case chip::DeviceLayer::DeviceEventType::kCommissioningSessionStarted: log_i("Commissioning session started"); break; + case chip::DeviceLayer::DeviceEventType::kCommissioningSessionStopped: log_i("Commissioning session stopped"); break; + case chip::DeviceLayer::DeviceEventType::kCommissioningWindowOpened: log_i("Commissioning window opened"); break; + case chip::DeviceLayer::DeviceEventType::kCommissioningWindowClosed: log_i("Commissioning window closed"); break; + case chip::DeviceLayer::DeviceEventType::kFabricRemoved: + { + log_i("Fabric removed successfully"); + if (chip::Server::GetInstance().GetFabricTable().FabricCount() == 0) { + log_i("No fabric left, opening commissioning window"); + chip::CommissioningWindowManager &commissionMgr = chip::Server::GetInstance().GetCommissioningWindowManager(); + constexpr auto kTimeoutSeconds = chip::System::Clock::Seconds16(k_timeout_seconds); + if (!commissionMgr.IsCommissioningWindowOpen()) { + // After removing last fabric, it does not remove the Wi-Fi credentials and still has IP connectivity so, only advertising on DNS-SD. + CHIP_ERROR err = commissionMgr.OpenBasicCommissioningWindow(kTimeoutSeconds, chip::CommissioningWindowAdvertisement::kDnssdOnly); + if (err != CHIP_NO_ERROR) { + log_e("Failed to open commissioning window, err:%" CHIP_ERROR_FORMAT, err.Format()); + } + } + } + break; + } + case chip::DeviceLayer::DeviceEventType::kFabricWillBeRemoved: log_i("Fabric will be removed"); break; + case chip::DeviceLayer::DeviceEventType::kFabricUpdated: log_i("Fabric is updated"); break; + case chip::DeviceLayer::DeviceEventType::kFabricCommitted: log_i("Fabric is committed"); break; + case chip::DeviceLayer::DeviceEventType::kBLEDeinitialized: log_i("BLE deinitialized and memory reclaimed"); break; + default: break; + } +} + +void ArduinoMatter::_init() { + if (_matter_has_started) { + return; + } + + // Create a Matter node and add the mandatory Root Node device type on endpoint 0 + // node handle can be used to add/modify other endpoints. + deviceNode = node::create(&node_config, app_attribute_update_cb, app_identification_cb); + if (deviceNode == nullptr) { + log_e("Failed to create Matter node"); + return; + } + + _matter_has_started = true; +} + +void ArduinoMatter::begin() { + if (!_matter_has_started) { + log_w("No Matter endpoint has been created. Please create an endpoint first."); + return; + } + + /* Matter start */ + esp_err_t err = esp_matter::start(app_event_cb); + if (err != ESP_OK) { + log_e("Failed to start Matter, err:%d", err); + _matter_has_started = false; + } +} + +#if CHIP_DEVICE_CONFIG_ENABLE_THREAD +bool ArduinoMatter::isThreadConnected() { + return false; // Thread Network TBD +} +#endif + +bool ArduinoMatter::isDeviceCommissioned() { + return chip::Server::GetInstance().GetFabricTable().FabricCount() > 0; +} + +#if CHIP_DEVICE_CONFIG_ENABLE_WIFI_STATION +bool ArduinoMatter::isWiFiConnected() { + return chip::DeviceLayer::ConnectivityMgr().IsWiFiStationConnected(); +} +#endif + +bool ArduinoMatter::isDeviceConnected() { + bool retCode = false; +#if CHIP_DEVICE_CONFIG_ENABLE_THREAD + retCode |= ArduinoMatter::isThreadConnected(); +#endif +#if CHIP_DEVICE_CONFIG_ENABLE_WIFI_STATION + retCode |= ArduinoMatter::isWiFiConnected(); +#endif + return retCode; +} + +void ArduinoMatter::decommission() { + esp_matter::factory_reset(); +} + +// Global Matter Object +ArduinoMatter Matter; + +#endif /* CONFIG_ESP_MATTER_ENABLE_DATA_MODEL */ diff --git a/libraries/Matter/src/Matter.h b/libraries/Matter/src/Matter.h new file mode 100644 index 00000000000..a1ce0f2f644 --- /dev/null +++ b/libraries/Matter/src/Matter.h @@ -0,0 +1,40 @@ +#pragma once +#include +#ifdef CONFIG_ESP_MATTER_ENABLE_DATA_MODEL + +#include +#include + +using namespace esp_matter; + +class ArduinoMatter { +public: + static inline String getManualPairingCode() { + // return the pairing code for manual pairing + return String("34970112332"); + } + static inline String getOnboardingQRCodeUrl() { + // return the URL for the QR code for onboarding + return String("https://project-chip.github.io/connectedhomeip/qrcode.html?data=MT:Y.K9042C00KA0648G00"); + } + static void begin(); + static bool isDeviceCommissioned(); +#if CHIP_DEVICE_CONFIG_ENABLE_WIFI_STATION + static bool isWiFiConnected(); +#endif +#if CHIP_DEVICE_CONFIG_ENABLE_THREAD + static bool isThreadConnected(); +#endif + static bool isDeviceConnected(); + static void decommission(); + + // list of Matter EndPoints Friend Classes + friend class MatterOnOffLight; + +protected: + static void _init(); +}; + +extern ArduinoMatter Matter; + +#endif /* CONFIG_ESP_MATTER_ENABLE_DATA_MODEL */ diff --git a/libraries/Matter/src/MatterEndPoint.h b/libraries/Matter/src/MatterEndPoint.h new file mode 100644 index 00000000000..2be5bf5bb5d --- /dev/null +++ b/libraries/Matter/src/MatterEndPoint.h @@ -0,0 +1,23 @@ +#pragma once +#include +#ifdef CONFIG_ESP_MATTER_ENABLE_DATA_MODEL + +#include +#include + +// Matter Endpoint Base Class. Controls the endpoint ID and allows the child class to overwrite attribute change call +class MatterEndPoint { +public: + uint16_t getEndPointId() { + return endpoint_id; + } + void setEndPointId(uint16_t ep) { + endpoint_id = ep; + } + + virtual bool attributeChangeCB(uint16_t endpoint_id, uint32_t cluster_id, uint32_t attribute_id, esp_matter_attr_val_t *val) = 0; + +protected: + uint16_t endpoint_id = 0; +}; +#endif /* CONFIG_ESP_MATTER_ENABLE_DATA_MODEL */ diff --git a/libraries/Matter/src/MatterOnOffLight.cpp b/libraries/Matter/src/MatterOnOffLight.cpp new file mode 100644 index 00000000000..7e8926ffdef --- /dev/null +++ b/libraries/Matter/src/MatterOnOffLight.cpp @@ -0,0 +1,107 @@ +#include +#ifdef CONFIG_ESP_MATTER_ENABLE_DATA_MODEL + +#include +#include +#include + +using namespace esp_matter; +using namespace esp_matter::endpoint; +using namespace chip::app::Clusters; + +bool MatterOnOffLight::attributeChangeCB(uint16_t endpoint_id, uint32_t cluster_id, uint32_t attribute_id, esp_matter_attr_val_t *val) { + bool ret = true; + if (!started) { + log_w("Matter On-Off Light device has not begun."); + return false; + } + + if (endpoint_id == getEndPointId()) { + if (cluster_id == OnOff::Id) { + if (attribute_id == OnOff::Attributes::OnOff::Id) { + if (_onChangeCB != NULL) { + ret = _onChangeCB(val->val.b); + log_d("OnOffLight state changed to %d", val->val.b); + if (ret == true) { + state = val->val.b; + } + } + } + } + } + return ret; +} + +MatterOnOffLight::MatterOnOffLight() {} + +MatterOnOffLight::~MatterOnOffLight() { + end(); +} + +bool MatterOnOffLight::begin(bool initialState) { + ArduinoMatter::_init(); + on_off_light::config_t light_config; + light_config.on_off.on_off = initialState; + state = initialState; + light_config.on_off.lighting.start_up_on_off = nullptr; + + // endpoint handles can be used to add/modify clusters. + endpoint_t *endpoint = on_off_light::create(node::get(), &light_config, ENDPOINT_FLAG_NONE, (void *)this); + if (endpoint == nullptr) { + log_e("Failed to create on-off light endpoint"); + return false; + } + + setEndPointId(endpoint::get_id(endpoint)); + log_i("On-Off Light created with endpoint_id %d", getEndPointId()); + started = true; + return true; +} + +void MatterOnOffLight::end() { + started = false; +} + +bool MatterOnOffLight::setOnOff(bool newState) { + if (!started) { + log_w("Matter On-Off Light device has not begun."); + return false; + } + + // avoid processing the a "no-change" + if (state == newState) { + return true; + } + + state = newState; + + endpoint_t *endpoint = endpoint::get(node::get(), endpoint_id); + cluster_t *cluster = cluster::get(endpoint, OnOff::Id); + attribute_t *attribute = attribute::get(cluster, OnOff::Attributes::OnOff::Id); + + esp_matter_attr_val_t val = esp_matter_invalid(NULL); + attribute::get_val(attribute, &val); + + if (val.val.b != state) { + val.val.b = state; + attribute::update(endpoint_id, OnOff::Id, OnOff::Attributes::OnOff::Id, &val); + } + return true; +} + +bool MatterOnOffLight::getOnOff() { + return state; +} + +bool MatterOnOffLight::toggle() { + return setOnOff(!state); +} + +MatterOnOffLight::operator bool() { + return getOnOff(); +} + +void MatterOnOffLight::operator=(bool newState) { + setOnOff(newState); +} +#endif /* CONFIG_ESP_MATTER_ENABLE_DATA_MODEL */ diff --git a/libraries/Matter/src/MatterOnOffLight.h b/libraries/Matter/src/MatterOnOffLight.h new file mode 100644 index 00000000000..39220652e21 --- /dev/null +++ b/libraries/Matter/src/MatterOnOffLight.h @@ -0,0 +1,34 @@ +#pragma once +#include +#ifdef CONFIG_ESP_MATTER_ENABLE_DATA_MODEL + +#include +#include + +class MatterOnOffLight : public MatterEndPoint { +public: + MatterOnOffLight(); + ~MatterOnOffLight(); + virtual bool begin(bool initialState = false); // default initial state is off + void end(); // this will just stop processing Light Matter events + + bool setOnOff(bool newState); // returns true if successful + bool getOnOff(); // returns current light state + bool toggle(); // returns true if successful + + operator bool(); // returns current light state + void operator=(bool state); // turns light on or off + // this function is called by Matter internal event processor. It could be overwritten by the application, if necessary. + bool attributeChangeCB(uint16_t endpoint_id, uint32_t cluster_id, uint32_t attribute_id, esp_matter_attr_val_t *val); + // User Callback for whenever the Light state is changed by the Matter Controller + using EndPointCB = std::function; + void onChangeOnOff(EndPointCB onChangeCB) { + _onChangeCB = onChangeCB; + } + +protected: + bool started = false; + bool state = false; // default initial state is off, but it can be changed by begin(bool) + EndPointCB _onChangeCB = NULL; +}; +#endif /* CONFIG_ESP_MATTER_ENABLE_DATA_MODEL */ From 01789a7a894bee8c75e25a6c99b5059174c9b8a5 Mon Sep 17 00:00:00 2001 From: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com> Date: Mon, 21 Oct 2024 12:29:05 -0300 Subject: [PATCH 117/146] fix(formatting): Fix formatting and disable JSON hook (#10492) --- .pre-commit-config.yaml | 1 + tests/performance/fibonacci/test_fibonacci.py | 1 + tests/validation/gpio/test_gpio.py | 1 + tests/validation/nvs/test_nvs.py | 1 + tests/validation/periman/test_periman.py | 1 + tests/validation/wifi/test_wifi.py | 1 + 6 files changed, 6 insertions(+) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 0aff5b6f07b..6a949631bd9 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -26,6 +26,7 @@ repos: - id: trailing-whitespace args: [--markdown-linebreak-ext=md] - id: pretty-format-json + stages: [manual] args: [--autofix] types_or: [json] exclude: | diff --git a/tests/performance/fibonacci/test_fibonacci.py b/tests/performance/fibonacci/test_fibonacci.py index ced9368184e..cf560d9691c 100644 --- a/tests/performance/fibonacci/test_fibonacci.py +++ b/tests/performance/fibonacci/test_fibonacci.py @@ -4,6 +4,7 @@ fib_results = {} + def fib(n): if n < 2: return n diff --git a/tests/validation/gpio/test_gpio.py b/tests/validation/gpio/test_gpio.py index f11b9fd99cc..8aa3a42dcc6 100644 --- a/tests/validation/gpio/test_gpio.py +++ b/tests/validation/gpio/test_gpio.py @@ -1,5 +1,6 @@ import logging + def test_gpio(dut): LOGGER = logging.getLogger(__name__) diff --git a/tests/validation/nvs/test_nvs.py b/tests/validation/nvs/test_nvs.py index a2b4842fa91..424095a49ba 100644 --- a/tests/validation/nvs/test_nvs.py +++ b/tests/validation/nvs/test_nvs.py @@ -1,5 +1,6 @@ import logging + def test_nvs(dut): LOGGER = logging.getLogger(__name__) diff --git a/tests/validation/periman/test_periman.py b/tests/validation/periman/test_periman.py index a2d25f5ba09..2728abcef80 100644 --- a/tests/validation/periman/test_periman.py +++ b/tests/validation/periman/test_periman.py @@ -1,5 +1,6 @@ import logging + def test_periman(dut): LOGGER = logging.getLogger(__name__) peripherals = [ diff --git a/tests/validation/wifi/test_wifi.py b/tests/validation/wifi/test_wifi.py index 769283b06bd..5049aae7b85 100644 --- a/tests/validation/wifi/test_wifi.py +++ b/tests/validation/wifi/test_wifi.py @@ -1,5 +1,6 @@ import logging + def test_wifi(dut): LOGGER = logging.getLogger(__name__) From f1f0e4d4f302f10c663beac581bda7bdb8039270 Mon Sep 17 00:00:00 2001 From: Rodrigo Garcia Date: Mon, 21 Oct 2024 14:43:54 -0300 Subject: [PATCH 118/146] Update MatterOnOffLight.ino --- .../Matter/examples/MatterOnOffLight/MatterOnOffLight.ino | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/libraries/Matter/examples/MatterOnOffLight/MatterOnOffLight.ino b/libraries/Matter/examples/MatterOnOffLight/MatterOnOffLight.ino index 64981b23a66..736e033e3d2 100644 --- a/libraries/Matter/examples/MatterOnOffLight/MatterOnOffLight.ino +++ b/libraries/Matter/examples/MatterOnOffLight/MatterOnOffLight.ino @@ -37,9 +37,8 @@ bool setLightOnOff(bool state) { } // WiFi is manually set and started - -const char *ssid = "Apartment B15"; // Change this to your WiFi SSID -const char *password = "flat-pony-body"; // Change this to your WiFi password +const char *ssid = "your-ssid"; // Change this to your WiFi SSID +const char *password = "your-password"; // Change this to your WiFi password void setup() { // Initialize the USER BUTTON (Boot button) GPIO that will act as a toggle switch From e509d33d27a6933223679d5813245e10481ab5a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Proch=C3=A1zka?= <90197375+P-R-O-C-H-Y@users.noreply.github.com> Date: Mon, 21 Oct 2024 23:56:18 +0200 Subject: [PATCH 119/146] fix(ci): Chnage approach in listing the changed boards (#10495) --- .github/scripts/find_new_boards.sh | 54 +++++++++--------------------- 1 file changed, 16 insertions(+), 38 deletions(-) diff --git a/.github/scripts/find_new_boards.sh b/.github/scripts/find_new_boards.sh index 77c98877d2a..083f1448e83 100755 --- a/.github/scripts/find_new_boards.sh +++ b/.github/scripts/find_new_boards.sh @@ -8,53 +8,32 @@ url="https://api.github.com/repos/$owner_repository/pulls/$pr_number/files" echo $url # Get changes in boards.txt file from PR -Patch=$(curl $url | jq -r '.[] | select(.filename == "boards.txt") | .patch ') +Boards_modified_url=$(curl -s $url | jq -r '.[] | select(.filename == "boards.txt") | .raw_url') -# Extract only changed lines number and count -substring_patch=$(echo "$Patch" | grep -o '@@[^@]*@@') +# Echo the modified boards.txt file URL +echo "Modified boards.txt file URL:" +echo $Boards_modified_url -params_array=() +# Download the modified boards.txt file +curl -L -o boards_pr.txt $Boards_modified_url -IFS=$'\n' read -d '' -ra params <<< $(echo "$substring_patch" | grep -oE '[-+][0-9]+,[0-9]+') +# Compare boards.txt file in the repo with the modified file +diff=$(diff -u boards.txt boards_pr.txt) -for param in "${params[@]}" -do - echo "The parameter is $param" - params_array+=("$param") -done +# Extract added or modified lines (lines starting with '+' or '-') +modified_lines=$(echo "$diff" | grep -E '^[+-][^+-]') boards_array=() previous_board="" file="boards.txt" -# Loop through boards.txt file and extract all boards that were added -for (( c=0; c<${#params_array[@]}; c+=2 )) +# Extract board names from the modified lines, and add them to the boards_array +while read -r line do - deletion_count=$( echo "${params_array[c]}" | cut -d',' -f2 | cut -d' ' -f1 ) - addition_line=$( echo "${params_array[c+1]}" | cut -d'+' -f2 | cut -d',' -f1 ) - addition_count=$( echo "${params_array[c+1]}" | cut -d'+' -f2 | cut -d',' -f2 | cut -d' ' -f1 ) - addition_end=$(($addition_line+$addition_count)) - - addition_line=$(($addition_line + 3)) - addition_end=$(($addition_end - $deletion_count)) - - echo $addition_line - echo $addition_end - - i=0 - - while read -r line - do - i=$((i+1)) - if [ $i -lt $addition_line ] - then - continue - elif [ $i -gt $addition_end ] - then - break - fi board_name=$(echo "$line" | cut -d '.' -f1 | cut -d '#' -f1) - if [ "$board_name" != "" ] && [ "$board_name" != "esp32_family" ] + # remove + or - from the board name at the beginning + board_name=$(echo "$board_name" | sed 's/^[+-]//') + if [ "$board_name" != "" ] && [ "$board_name" != "+" ] && [ "$board_name" != "-" ] && [ "$board_name" != "esp32_family" ] then if [ "$board_name" != "$previous_board" ] then @@ -63,8 +42,7 @@ do echo "Added 'espressif:esp32:$board_name' to array" fi fi - done < "$file" -done +done <<< "$modified_lines" # Create JSON like string with all boards found and pass it to env variable board_count=${#boards_array[@]} From 0045cfa658a4cbcbb800462b9e986966c32ed198 Mon Sep 17 00:00:00 2001 From: Rodrigo Garcia Date: Mon, 21 Oct 2024 19:23:28 -0300 Subject: [PATCH 120/146] fix(matter): change place of wifi credentials in code --- .../Matter/examples/MatterOnOffLight/MatterOnOffLight.ino | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libraries/Matter/examples/MatterOnOffLight/MatterOnOffLight.ino b/libraries/Matter/examples/MatterOnOffLight/MatterOnOffLight.ino index 736e033e3d2..751bcb3d99e 100644 --- a/libraries/Matter/examples/MatterOnOffLight/MatterOnOffLight.ino +++ b/libraries/Matter/examples/MatterOnOffLight/MatterOnOffLight.ino @@ -22,6 +22,10 @@ const uint8_t ledPin = 2; // Set your pin here if your board has not defined LE // set your board USER BUTTON pin here const uint8_t buttonPin = 0; // Set your pin here. Using BOOT Button. C6/C3 use GPIO9. +// WiFi is manually set and started +const char *ssid = "your-ssid"; // Change this to your WiFi SSID +const char *password = "your-password"; // Change this to your WiFi password + // Matter Protocol Endpoint Callback bool setLightOnOff(bool state) { Serial.printf("User Callback :: New Light State = %s\r\n", state ? "ON" : "OFF"); @@ -36,10 +40,6 @@ bool setLightOnOff(bool state) { return true; } -// WiFi is manually set and started -const char *ssid = "your-ssid"; // Change this to your WiFi SSID -const char *password = "your-password"; // Change this to your WiFi password - void setup() { // Initialize the USER BUTTON (Boot button) GPIO that will act as a toggle switch pinMode(buttonPin, INPUT_PULLUP); From 7a33a9eeffd9ff69aaad72aead4d79d532cc1235 Mon Sep 17 00:00:00 2001 From: Rodrigo Garcia Date: Mon, 21 Oct 2024 19:25:20 -0300 Subject: [PATCH 121/146] fix(matter): change the place of wifi credentials in the code --- .../MatterComposedLights/MatterComposedLights.ino | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/libraries/Matter/examples/MatterComposedLights/MatterComposedLights.ino b/libraries/Matter/examples/MatterComposedLights/MatterComposedLights.ino index 63f154d4492..5d4acb557f5 100644 --- a/libraries/Matter/examples/MatterComposedLights/MatterComposedLights.ino +++ b/libraries/Matter/examples/MatterComposedLights/MatterComposedLights.ino @@ -9,6 +9,10 @@ MatterOnOffLight OnOffLight1; MatterOnOffLight OnOffLight2; MatterOnOffLight OnOffLight3; +// WiFi is manually set and started +const char *ssid = "your-ssid"; // Change this to your WiFi SSID +const char *password = "your-password"; // Change this to your WiFi password + // Matter Protocol Endpoint Callback for each Light Accessory bool setLightOnOff1(bool state) { Serial.printf("CB-Light1 changed state to: %s\r\n", state ? "ON" : "OFF"); @@ -25,11 +29,6 @@ bool setLightOnOff3(bool state) { return true; } -// WiFi is manually set and started - -const char *ssid = "your-ssid"; // Change this to your WiFi SSID -const char *password = "your-password"; // Change this to your WiFi password - void setup() { Serial.begin(115200); while (!Serial) { From 8ac076c44c45a80b9f02ed197340241d6894fd41 Mon Sep 17 00:00:00 2001 From: Rodrigo Garcia Date: Mon, 21 Oct 2024 19:26:34 -0300 Subject: [PATCH 122/146] fix(matter): empty line removing - style --- .../examples/MatterCommissionTest/MatterCommissionTest.ino | 1 - 1 file changed, 1 deletion(-) diff --git a/libraries/Matter/examples/MatterCommissionTest/MatterCommissionTest.ino b/libraries/Matter/examples/MatterCommissionTest/MatterCommissionTest.ino index a9afb0c4484..48ec0355092 100644 --- a/libraries/Matter/examples/MatterCommissionTest/MatterCommissionTest.ino +++ b/libraries/Matter/examples/MatterCommissionTest/MatterCommissionTest.ino @@ -8,7 +8,6 @@ MatterOnOffLight OnOffLight; // WiFi is manually set and started - const char *ssid = "your-ssid"; // Change this to your WiFi SSID const char *password = "your-password"; // Change this to your WiFi password From 20a28b58bc3fd5ff613e2860d65e0953446f264b Mon Sep 17 00:00:00 2001 From: me-no-dev Date: Tue, 22 Oct 2024 12:13:04 +0300 Subject: [PATCH 123/146] fix(net): Do not use netif_index_to_name Causes error on recent IDF builds --- cores/esp32/IPAddress.cpp | 14 +++++++------- libraries/Network/src/NetworkInterface.cpp | 8 ++------ 2 files changed, 9 insertions(+), 13 deletions(-) diff --git a/cores/esp32/IPAddress.cpp b/cores/esp32/IPAddress.cpp index b4fc4c3f7e0..74fabaf0f9c 100644 --- a/cores/esp32/IPAddress.cpp +++ b/cores/esp32/IPAddress.cpp @@ -344,13 +344,13 @@ size_t IPAddress::printTo(Print &p, bool includeZone) const { n += p.print(':'); } } - // add a zone if zone-id is non-zero - if (_zone > 0 && includeZone) { - n += p.print('%'); - char if_name[NETIF_NAMESIZE]; - netif_index_to_name(_zone, if_name); - n += p.print(if_name); - } + // add a zone if zone-id is non-zero (causes exception on recent IDF builds) + // if (_zone > 0 && includeZone) { + // n += p.print('%'); + // char if_name[NETIF_NAMESIZE]; + // netif_index_to_name(_zone, if_name); + // n += p.print(if_name); + // } return n; } diff --git a/libraries/Network/src/NetworkInterface.cpp b/libraries/Network/src/NetworkInterface.cpp index f4bb1d48392..e699d609ca1 100644 --- a/libraries/Network/src/NetworkInterface.cpp +++ b/libraries/Network/src/NetworkInterface.cpp @@ -115,14 +115,10 @@ void NetworkInterface::_onIpEvent(int32_t event_id, void *event_data) { setStatusBits(ESP_NETIF_HAS_LOCAL_IP6_BIT); } #if ARDUHAL_LOG_LEVEL >= ARDUHAL_LOG_LEVEL_VERBOSE - char if_name[NETIF_NAMESIZE] = { - 0, - }; - netif_index_to_name(event->ip6_info.ip.zone, if_name); static const char *addr_types[] = {"UNKNOWN", "GLOBAL", "LINK_LOCAL", "SITE_LOCAL", "UNIQUE_LOCAL", "IPV4_MAPPED_IPV6"}; log_v( - "IF %s Got IPv6: Interface: %d, IP Index: %d, Type: %s, Zone: %d (%s), Address: " IPV6STR, desc(), _interface_id, event->ip_index, addr_types[addr_type], - event->ip6_info.ip.zone, if_name, IPV62STR(event->ip6_info.ip) + "IF %s Got IPv6: Interface: %d, IP Index: %d, Type: %s, Zone: %d, Address: " IPV6STR, desc(), _interface_id, event->ip_index, addr_types[addr_type], + event->ip6_info.ip.zone, IPV62STR(event->ip6_info.ip) ); #endif memcpy(&arduino_event.event_info.got_ip6, event_data, sizeof(ip_event_got_ip6_t)); From 774201ade36955bad468d616170006c8dbdf747f Mon Sep 17 00:00:00 2001 From: me-no-dev Date: Tue, 22 Oct 2024 15:19:24 +0300 Subject: [PATCH 124/146] fix(build): Require main component to include all components --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e552299b8aa..5a8955248ad 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -312,7 +312,7 @@ endforeach() set(includedirs variants/${CONFIG_ARDUINO_VARIANT}/ cores/esp32/ ${ARDUINO_LIBRARIES_INCLUDEDIRS}) set(srcs ${CORE_SRCS} ${ARDUINO_LIBRARIES_SRCS}) set(priv_includes cores/esp32/libb64) -set(requires spi_flash esp_partition mbedtls wpa_supplicant esp_adc esp_eth http_parser esp_ringbuf esp_driver_gptimer esp_driver_usb_serial_jtag driver espressif__network_provisioning) +set(requires main spi_flash esp_partition mbedtls wpa_supplicant esp_adc esp_eth http_parser esp_ringbuf esp_driver_gptimer esp_driver_usb_serial_jtag driver espressif__network_provisioning) set(priv_requires fatfs nvs_flash app_update spiffs bootloader_support bt esp_hid usb esp_psram ${ARDUINO_LIBRARIES_REQUIRES}) if(NOT CONFIG_ARDUINO_SELECTIVE_COMPILATION OR CONFIG_ARDUINO_SELECTIVE_OpenThread) From 16314664269019a57665d221a39e655190224e06 Mon Sep 17 00:00:00 2001 From: me-no-dev Date: Tue, 22 Oct 2024 15:55:37 +0300 Subject: [PATCH 125/146] fix(build): Update required components and menu --- CMakeLists.txt | 8 +++++++- Kconfig.projbuild | 30 ++++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5a8955248ad..57220990c1f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -312,7 +312,7 @@ endforeach() set(includedirs variants/${CONFIG_ARDUINO_VARIANT}/ cores/esp32/ ${ARDUINO_LIBRARIES_INCLUDEDIRS}) set(srcs ${CORE_SRCS} ${ARDUINO_LIBRARIES_SRCS}) set(priv_includes cores/esp32/libb64) -set(requires main spi_flash esp_partition mbedtls wpa_supplicant esp_adc esp_eth http_parser esp_ringbuf esp_driver_gptimer esp_driver_usb_serial_jtag driver espressif__network_provisioning) +set(requires spi_flash esp_partition mbedtls wpa_supplicant esp_adc esp_eth http_parser esp_ringbuf esp_driver_gptimer esp_driver_usb_serial_jtag driver espressif__network_provisioning) set(priv_requires fatfs nvs_flash app_update spiffs bootloader_support bt esp_hid usb esp_psram ${ARDUINO_LIBRARIES_REQUIRES}) if(NOT CONFIG_ARDUINO_SELECTIVE_COMPILATION OR CONFIG_ARDUINO_SELECTIVE_OpenThread) @@ -372,3 +372,9 @@ endif() if(NOT CONFIG_ARDUINO_SELECTIVE_COMPILATION OR CONFIG_ARDUINO_SELECTIVE_ArduinoOTA) maybe_add_component(esp_https_ota) endif() +if(NOT CONFIG_ARDUINO_SELECTIVE_COMPILATION OR CONFIG_ARDUINO_SELECTIVE_ESP_SR) + maybe_add_component(espressif__esp_sr) +endif() +if(NOT CONFIG_ARDUINO_SELECTIVE_COMPILATION OR CONFIG_ARDUINO_SELECTIVE_Matter) + maybe_add_component(espressif__esp_matter) +endif() diff --git a/Kconfig.projbuild b/Kconfig.projbuild index 2085a11ea7d..9966463f8c1 100644 --- a/Kconfig.projbuild +++ b/Kconfig.projbuild @@ -266,6 +266,11 @@ config ARDUINO_SELECTIVE_Wire depends on ARDUINO_SELECTIVE_COMPILATION default y +config ARDUINO_SELECTIVE_ESP_SR + bool "Enable ESP-SR" + depends on ARDUINO_SELECTIVE_COMPILATION + default y + config ARDUINO_SELECTIVE_EEPROM bool "Enable EEPROM" depends on ARDUINO_SELECTIVE_COMPILATION @@ -286,6 +291,11 @@ config ARDUINO_SELECTIVE_Update depends on ARDUINO_SELECTIVE_COMPILATION default y +config ARDUINO_SELECTIVE_Zigbee + bool "Enable Zigbee" + depends on ARDUINO_SELECTIVE_COMPILATION + default y + config ARDUINO_SELECTIVE_FS bool "Enable FS" depends on ARDUINO_SELECTIVE_COMPILATION @@ -358,6 +368,11 @@ config ARDUINO_SELECTIVE_HTTPClient select ARDUINO_SELECTIVE_NetworkClientSecure default y +config ARDUINO_SELECTIVE_Matter + bool "Enable Matter" + depends on ARDUINO_SELECTIVE_COMPILATION && ARDUINO_SELECTIVE_Network + default y + config ARDUINO_SELECTIVE_NetBIOS bool "Enable NetBIOS" depends on ARDUINO_SELECTIVE_COMPILATION && ARDUINO_SELECTIVE_Network @@ -399,4 +414,19 @@ config ARDUINO_SELECTIVE_SimpleBLE depends on ARDUINO_SELECTIVE_COMPILATION default y +config ARDUINO_SELECTIVE_RainMaker + bool "Enable RainMaker" + depends on ARDUINO_SELECTIVE_COMPILATION + default y + +config ARDUINO_SELECTIVE_OpenThread + bool "Enable OpenThread" + depends on ARDUINO_SELECTIVE_COMPILATION + default y + +config ARDUINO_SELECTIVE_Insights + bool "Enable Insights" + depends on ARDUINO_SELECTIVE_COMPILATION + default y + endmenu From aefe8a55d35469a8d8e7022971c89627dc6a1015 Mon Sep 17 00:00:00 2001 From: Me No Dev Date: Tue, 22 Oct 2024 17:40:11 +0300 Subject: [PATCH 126/146] IDF release/v5.3 59550599 (#10498) --- package/package_esp32_index.template.json | 68 +++++++++++------------ 1 file changed, 34 insertions(+), 34 deletions(-) diff --git a/package/package_esp32_index.template.json b/package/package_esp32_index.template.json index dc32ddae953..b1c7e23734c 100644 --- a/package/package_esp32_index.template.json +++ b/package/package_esp32_index.template.json @@ -42,7 +42,7 @@ { "packager": "esp32", "name": "esp32-arduino-libs", - "version": "idf-release_v5.3-707d097b" + "version": "idf-release_v5.3-59550599" }, { "packager": "esp32", @@ -95,63 +95,63 @@ "tools": [ { "name": "esp32-arduino-libs", - "version": "idf-release_v5.3-707d097b", + "version": "idf-release_v5.3-59550599", "systems": [ { "host": "i686-mingw32", - "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-707d097b.zip", - "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-707d097b.zip", - "checksum": "SHA-256:e09d25302eeb1d0e40001280c8fb17e87974496046b929536bb56a50007aa0eb", - "size": "343601720" + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-59550599.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-59550599.zip", + "checksum": "SHA-256:d8edd2fcf990c5af4627c9446efd8c5badb34cfcccfcc3b63bb117d1da77bfae", + "size": "343729890" }, { "host": "x86_64-mingw32", - "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-707d097b.zip", - "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-707d097b.zip", - "checksum": "SHA-256:e09d25302eeb1d0e40001280c8fb17e87974496046b929536bb56a50007aa0eb", - "size": "343601720" + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-59550599.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-59550599.zip", + "checksum": "SHA-256:d8edd2fcf990c5af4627c9446efd8c5badb34cfcccfcc3b63bb117d1da77bfae", + "size": "343729890" }, { "host": "arm64-apple-darwin", - "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-707d097b.zip", - "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-707d097b.zip", - "checksum": "SHA-256:e09d25302eeb1d0e40001280c8fb17e87974496046b929536bb56a50007aa0eb", - "size": "343601720" + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-59550599.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-59550599.zip", + "checksum": "SHA-256:d8edd2fcf990c5af4627c9446efd8c5badb34cfcccfcc3b63bb117d1da77bfae", + "size": "343729890" }, { "host": "x86_64-apple-darwin", - "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-707d097b.zip", - "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-707d097b.zip", - "checksum": "SHA-256:e09d25302eeb1d0e40001280c8fb17e87974496046b929536bb56a50007aa0eb", - "size": "343601720" + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-59550599.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-59550599.zip", + "checksum": "SHA-256:d8edd2fcf990c5af4627c9446efd8c5badb34cfcccfcc3b63bb117d1da77bfae", + "size": "343729890" }, { "host": "x86_64-pc-linux-gnu", - "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-707d097b.zip", - "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-707d097b.zip", - "checksum": "SHA-256:e09d25302eeb1d0e40001280c8fb17e87974496046b929536bb56a50007aa0eb", - "size": "343601720" + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-59550599.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-59550599.zip", + "checksum": "SHA-256:d8edd2fcf990c5af4627c9446efd8c5badb34cfcccfcc3b63bb117d1da77bfae", + "size": "343729890" }, { "host": "i686-pc-linux-gnu", - "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-707d097b.zip", - "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-707d097b.zip", - "checksum": "SHA-256:e09d25302eeb1d0e40001280c8fb17e87974496046b929536bb56a50007aa0eb", - "size": "343601720" + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-59550599.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-59550599.zip", + "checksum": "SHA-256:d8edd2fcf990c5af4627c9446efd8c5badb34cfcccfcc3b63bb117d1da77bfae", + "size": "343729890" }, { "host": "aarch64-linux-gnu", - "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-707d097b.zip", - "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-707d097b.zip", - "checksum": "SHA-256:e09d25302eeb1d0e40001280c8fb17e87974496046b929536bb56a50007aa0eb", - "size": "343601720" + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-59550599.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-59550599.zip", + "checksum": "SHA-256:d8edd2fcf990c5af4627c9446efd8c5badb34cfcccfcc3b63bb117d1da77bfae", + "size": "343729890" }, { "host": "arm-linux-gnueabihf", - "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-707d097b.zip", - "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-707d097b.zip", - "checksum": "SHA-256:e09d25302eeb1d0e40001280c8fb17e87974496046b929536bb56a50007aa0eb", - "size": "343601720" + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-59550599.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-59550599.zip", + "checksum": "SHA-256:d8edd2fcf990c5af4627c9446efd8c5badb34cfcccfcc3b63bb117d1da77bfae", + "size": "343729890" } ] }, From 0eee5c4a13c6808faef0c9476073d422ed326db4 Mon Sep 17 00:00:00 2001 From: Me No Dev Date: Tue, 22 Oct 2024 20:17:40 +0300 Subject: [PATCH 127/146] fix(arduino): Move extra_flags to flags (#10493) This will help external library developers --- platform.txt | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/platform.txt b/platform.txt index c97c374e75d..00052ec807e 100644 --- a/platform.txt +++ b/platform.txt @@ -50,10 +50,10 @@ compiler.common_werror_flags=-Werror=return-type # Compile Flags compiler.cpreprocessor.flags="@{compiler.sdk.path}/flags/defines" "-I{build.source.path}" -iprefix "{compiler.sdk.path}/include/" "@{compiler.sdk.path}/flags/includes" "-I{compiler.sdk.path}/{build.memory_type}/include" -compiler.c.flags="@{compiler.sdk.path}/flags/c_flags" {compiler.warning_flags} {compiler.optimization_flags} {compiler.common_werror_flags} -compiler.cpp.flags="@{compiler.sdk.path}/flags/cpp_flags" {compiler.warning_flags} {compiler.optimization_flags} {compiler.common_werror_flags} -compiler.S.flags="@{compiler.sdk.path}/flags/S_flags" {compiler.warning_flags} {compiler.optimization_flags} -compiler.c.elf.flags="@{compiler.sdk.path}/flags/ld_flags" "@{compiler.sdk.path}/flags/ld_scripts" +compiler.c.flags=-MMD -c "@{compiler.sdk.path}/flags/c_flags" {compiler.warning_flags} {compiler.optimization_flags} {compiler.common_werror_flags} +compiler.cpp.flags=-MMD -c "@{compiler.sdk.path}/flags/cpp_flags" {compiler.warning_flags} {compiler.optimization_flags} {compiler.common_werror_flags} +compiler.S.flags=-MMD -c -x assembler-with-cpp "@{compiler.sdk.path}/flags/S_flags" {compiler.warning_flags} {compiler.optimization_flags} +compiler.c.elf.flags="-Wl,--Map={build.path}/{build.project_name}.map" "-L{compiler.sdk.path}/lib" "-L{compiler.sdk.path}/ld" "-L{compiler.sdk.path}/{build.memory_type}" "-Wl,--wrap=esp_panic_handler" "@{compiler.sdk.path}/flags/ld_flags" "@{compiler.sdk.path}/flags/ld_scripts" compiler.c.elf.libs="@{compiler.sdk.path}/flags/ld_libs" compiler.ar.flags=cr @@ -67,10 +67,10 @@ compiler.ar.cmd={compiler.prefix}gcc-ar compiler.size.cmd={compiler.prefix}size # These can be overridden in platform.local.txt -compiler.c.extra_flags=-MMD -c -compiler.cpp.extra_flags=-MMD -c -compiler.S.extra_flags=-MMD -c -x assembler-with-cpp -compiler.c.elf.extra_flags="-Wl,--Map={build.path}/{build.project_name}.map" "-L{compiler.sdk.path}/lib" "-L{compiler.sdk.path}/ld" "-L{compiler.sdk.path}/{build.memory_type}" "-Wl,--wrap=esp_panic_handler" +compiler.c.extra_flags= +compiler.cpp.extra_flags= +compiler.S.extra_flags= +compiler.c.elf.extra_flags= compiler.ar.extra_flags= compiler.objcopy.eep.extra_flags= compiler.elf2hex.extra_flags= From 4944dd0df3dcf452b86a72e652ef3bc08eb7da83 Mon Sep 17 00:00:00 2001 From: clashman Date: Tue, 22 Oct 2024 19:22:15 +0200 Subject: [PATCH 128/146] fix(littlefs): Add missing dependency (#10496) --- CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9a858ee79cd..16639e689c7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -157,6 +157,7 @@ set(ARDUINO_LIBRARY_HTTPUpdate_SRCS libraries/HTTPUpdate/src/HTTPUpdate.cpp) set(ARDUINO_LIBRARY_Insights_SRCS libraries/Insights/src/Insights.cpp) set(ARDUINO_LIBRARY_LittleFS_SRCS libraries/LittleFS/src/LittleFS.cpp) +set(ARDUINO_LIBRARY_LittleFS_REQUIRES esp_littlefs) set(ARDUINO_LIBRARY_NetBIOS_SRCS libraries/NetBIOS/src/NetBIOS.cpp) From 4285912a46d6b5283a55d2342a7ca5ed1b926e15 Mon Sep 17 00:00:00 2001 From: Me No Dev Date: Tue, 22 Oct 2024 20:40:15 +0300 Subject: [PATCH 129/146] fix(cmake): Use proper name for LittleFS component --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 16639e689c7..d7e5ae83b35 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -157,7 +157,7 @@ set(ARDUINO_LIBRARY_HTTPUpdate_SRCS libraries/HTTPUpdate/src/HTTPUpdate.cpp) set(ARDUINO_LIBRARY_Insights_SRCS libraries/Insights/src/Insights.cpp) set(ARDUINO_LIBRARY_LittleFS_SRCS libraries/LittleFS/src/LittleFS.cpp) -set(ARDUINO_LIBRARY_LittleFS_REQUIRES esp_littlefs) +set(ARDUINO_LIBRARY_LittleFS_REQUIRES joltwallet__littlefs) set(ARDUINO_LIBRARY_NetBIOS_SRCS libraries/NetBIOS/src/NetBIOS.cpp) From dc1a49e6f0c51eeae0179e909cc9cc3afa82d802 Mon Sep 17 00:00:00 2001 From: Me No Dev Date: Wed, 23 Oct 2024 02:04:03 +0300 Subject: [PATCH 130/146] IDF release/v5.3 (#10503) * fix(psram): Do not disable PSRAM when used as component Information: https://github.com/espressif/arduino-esp32/issues/10500 * IDF release/v5.3 59550599 --- cores/esp32/esp32-hal-psram.h | 3 ++- package/package_esp32_index.template.json | 32 +++++++++++------------ 2 files changed, 18 insertions(+), 17 deletions(-) diff --git a/cores/esp32/esp32-hal-psram.h b/cores/esp32/esp32-hal-psram.h index e82af1342c2..69c1c625157 100644 --- a/cores/esp32/esp32-hal-psram.h +++ b/cores/esp32/esp32-hal-psram.h @@ -21,7 +21,8 @@ extern "C" { #include "sdkconfig.h" -#ifndef BOARD_HAS_PSRAM +// Clear flags in Arduino IDE when PSRAM is disabled +#if defined(ESP32_ARDUINO_LIB_BUILDER) && !defined(BOARD_HAS_PSRAM) #ifdef CONFIG_SPIRAM_SUPPORT #undef CONFIG_SPIRAM_SUPPORT #endif diff --git a/package/package_esp32_index.template.json b/package/package_esp32_index.template.json index b1c7e23734c..ad941e841f6 100644 --- a/package/package_esp32_index.template.json +++ b/package/package_esp32_index.template.json @@ -101,57 +101,57 @@ "host": "i686-mingw32", "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-59550599.zip", "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-59550599.zip", - "checksum": "SHA-256:d8edd2fcf990c5af4627c9446efd8c5badb34cfcccfcc3b63bb117d1da77bfae", - "size": "343729890" + "checksum": "SHA-256:d2f18131dc7220c2d89ece7f8594fa3866523f8183612af37112ed0177f41af7", + "size": "343730097" }, { "host": "x86_64-mingw32", "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-59550599.zip", "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-59550599.zip", - "checksum": "SHA-256:d8edd2fcf990c5af4627c9446efd8c5badb34cfcccfcc3b63bb117d1da77bfae", - "size": "343729890" + "checksum": "SHA-256:d2f18131dc7220c2d89ece7f8594fa3866523f8183612af37112ed0177f41af7", + "size": "343730097" }, { "host": "arm64-apple-darwin", "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-59550599.zip", "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-59550599.zip", - "checksum": "SHA-256:d8edd2fcf990c5af4627c9446efd8c5badb34cfcccfcc3b63bb117d1da77bfae", - "size": "343729890" + "checksum": "SHA-256:d2f18131dc7220c2d89ece7f8594fa3866523f8183612af37112ed0177f41af7", + "size": "343730097" }, { "host": "x86_64-apple-darwin", "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-59550599.zip", "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-59550599.zip", - "checksum": "SHA-256:d8edd2fcf990c5af4627c9446efd8c5badb34cfcccfcc3b63bb117d1da77bfae", - "size": "343729890" + "checksum": "SHA-256:d2f18131dc7220c2d89ece7f8594fa3866523f8183612af37112ed0177f41af7", + "size": "343730097" }, { "host": "x86_64-pc-linux-gnu", "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-59550599.zip", "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-59550599.zip", - "checksum": "SHA-256:d8edd2fcf990c5af4627c9446efd8c5badb34cfcccfcc3b63bb117d1da77bfae", - "size": "343729890" + "checksum": "SHA-256:d2f18131dc7220c2d89ece7f8594fa3866523f8183612af37112ed0177f41af7", + "size": "343730097" }, { "host": "i686-pc-linux-gnu", "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-59550599.zip", "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-59550599.zip", - "checksum": "SHA-256:d8edd2fcf990c5af4627c9446efd8c5badb34cfcccfcc3b63bb117d1da77bfae", - "size": "343729890" + "checksum": "SHA-256:d2f18131dc7220c2d89ece7f8594fa3866523f8183612af37112ed0177f41af7", + "size": "343730097" }, { "host": "aarch64-linux-gnu", "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-59550599.zip", "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-59550599.zip", - "checksum": "SHA-256:d8edd2fcf990c5af4627c9446efd8c5badb34cfcccfcc3b63bb117d1da77bfae", - "size": "343729890" + "checksum": "SHA-256:d2f18131dc7220c2d89ece7f8594fa3866523f8183612af37112ed0177f41af7", + "size": "343730097" }, { "host": "arm-linux-gnueabihf", "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-59550599.zip", "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-59550599.zip", - "checksum": "SHA-256:d8edd2fcf990c5af4627c9446efd8c5badb34cfcccfcc3b63bb117d1da77bfae", - "size": "343729890" + "checksum": "SHA-256:d2f18131dc7220c2d89ece7f8594fa3866523f8183612af37112ed0177f41af7", + "size": "343730097" } ] }, From 0f5219df0e3222d9188334187b6bd0f11b7e2316 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Proch=C3=A1zka?= <90197375+P-R-O-C-H-Y@users.noreply.github.com> Date: Wed, 23 Oct 2024 09:24:36 +0200 Subject: [PATCH 131/146] fix(ci): Get correct file for the diff (#10507) --- .github/scripts/find_new_boards.sh | 31 +++++++++++++++--------------- .github/workflows/boards.yml | 2 +- 2 files changed, 17 insertions(+), 16 deletions(-) diff --git a/.github/scripts/find_new_boards.sh b/.github/scripts/find_new_boards.sh index 083f1448e83..706676b4a4c 100755 --- a/.github/scripts/find_new_boards.sh +++ b/.github/scripts/find_new_boards.sh @@ -2,30 +2,31 @@ # Get inputs from command owner_repository=$1 -pr_number=$2 +base_ref=$2 -url="https://api.github.com/repos/$owner_repository/pulls/$pr_number/files" -echo $url +# Download the boards.txt file from the base branch +curl -L -o boards_base.txt https://raw.githubusercontent.com/$owner_repository/$base_ref/boards.txt -# Get changes in boards.txt file from PR -Boards_modified_url=$(curl -s $url | jq -r '.[] | select(.filename == "boards.txt") | .raw_url') +# Compare boards.txt file in the repo with the modified file from PR +diff=$(diff -u boards_base.txt boards.txt) -# Echo the modified boards.txt file URL -echo "Modified boards.txt file URL:" -echo $Boards_modified_url - -# Download the modified boards.txt file -curl -L -o boards_pr.txt $Boards_modified_url - -# Compare boards.txt file in the repo with the modified file -diff=$(diff -u boards.txt boards_pr.txt) +# Check if the diff is empty +if [ -z "$diff" ] +then + echo "No changes in boards.txt file" + echo "FQBNS=" + exit 0 +fi # Extract added or modified lines (lines starting with '+' or '-') modified_lines=$(echo "$diff" | grep -E '^[+-][^+-]') +# Print the modified lines for debugging +echo "Modified lines:" +echo "$modified_lines" + boards_array=() previous_board="" -file="boards.txt" # Extract board names from the modified lines, and add them to the boards_array while read -r line diff --git a/.github/workflows/boards.yml b/.github/workflows/boards.yml index 8d5868b083b..a14f57508c6 100644 --- a/.github/workflows/boards.yml +++ b/.github/workflows/boards.yml @@ -29,7 +29,7 @@ jobs: - name: Get board name run: - bash .github/scripts/find_new_boards.sh ${{ github.repository }} ${{github.event.number}} + bash .github/scripts/find_new_boards.sh ${{ github.repository }} ${{github.base_ref}} test-boards: needs: find-boards From a0139bc37d63efe28fabb2ef57d1e369b4ad38c7 Mon Sep 17 00:00:00 2001 From: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com> Date: Wed, 23 Oct 2024 05:45:30 -0300 Subject: [PATCH 132/146] fix(tests): Add missing files to compilation tests (#10501) * fix(tests): Add CMakeLists file to compilation tests * fix(tests): Add variant files that are used in compilation * fix(c2): Move C2 as it is only tested as component --------- Co-authored-by: Me No Dev --- .github/workflows/push.yml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml index 0f76fe81fb8..19e53b844f2 100644 --- a/.github/workflows/push.yml +++ b/.github/workflows/push.yml @@ -21,12 +21,20 @@ on: - 'idf_component.yml' - 'Kconfig.projbuild' - 'package.json' + - 'CMakeLists.txt' - '.github/workflows/push.yml' - '.github/scripts/**' - '!.github/scripts/find_*' - '!.github/scripts/on-release.sh' - '!.github/scripts/tests_*' - '!.github/scripts/upload_*' + - "variants/esp32/**/*" + - "variants/esp32s2/**/*" + - "variants/esp32s3/**/*" + - "variants/esp32c2/**/*" + - "variants/esp32c3/**/*" + - "variants/esp32c6/**/*" + - "variants/esp32h2/**/*" concurrency: group: build-${{github.event.pull_request.number || github.ref}} @@ -74,6 +82,12 @@ jobs: - '!tools/platformio-build.py' - 'platform.txt' - 'programmers.txt' + - "variants/esp32/**/*" + - "variants/esp32s2/**/*" + - "variants/esp32s3/**/*" + - "variants/esp32c3/**/*" + - "variants/esp32c6/**/*" + - "variants/esp32h2/**/*" libraries: - 'libraries/**/examples/**' - 'libraries/**/src/**' @@ -92,6 +106,8 @@ jobs: idf: - 'idf_component.yml' - 'Kconfig.projbuild' + - 'CMakeLists.txt' + - "variants/esp32c2/**/*" platformio: - 'package.json' - '.github/scripts/install-platformio-esp32.sh' From 1756bd567cca0c25cc155999bcc15387099ceb29 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20BOU=C3=89?= Date: Wed, 23 Oct 2024 10:46:04 +0200 Subject: [PATCH 133/146] fix(zigbee): Enable internal pull-up resistor (#10491) Enable the internal pull-up resistor for BUTTON_PIN --- .../Zigbee_Color_Dimmable_Light/Zigbee_Color_Dimmable_Light.ino | 2 +- .../Zigbee_Color_Dimmer_Switch/Zigbee_Color_Dimmer_Switch.ino | 2 +- .../Zigbee/examples/Zigbee_On_Off_Light/Zigbee_On_Off_Light.ino | 2 +- .../Zigbee_Temperature_Sensor/Zigbee_Temperature_Sensor.ino | 2 +- .../Zigbee/examples/Zigbee_Thermostat/Zigbee_Thermostat.ino | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/libraries/Zigbee/examples/Zigbee_Color_Dimmable_Light/Zigbee_Color_Dimmable_Light.ino b/libraries/Zigbee/examples/Zigbee_Color_Dimmable_Light/Zigbee_Color_Dimmable_Light.ino index 1ce9ff56816..01e8c24900f 100644 --- a/libraries/Zigbee/examples/Zigbee_Color_Dimmable_Light/Zigbee_Color_Dimmable_Light.ino +++ b/libraries/Zigbee/examples/Zigbee_Color_Dimmable_Light/Zigbee_Color_Dimmable_Light.ino @@ -65,7 +65,7 @@ void setup() { rgbLedWrite(LED_PIN, 0, 0, 0); // Init button for factory reset - pinMode(BUTTON_PIN, INPUT); + pinMode(BUTTON_PIN, INPUT_PULLUP); // Set callback function for light change zbColorLight.onLightChange(setRGBLight); diff --git a/libraries/Zigbee/examples/Zigbee_Color_Dimmer_Switch/Zigbee_Color_Dimmer_Switch.ino b/libraries/Zigbee/examples/Zigbee_Color_Dimmer_Switch/Zigbee_Color_Dimmer_Switch.ino index a494623e436..0514464e8e9 100644 --- a/libraries/Zigbee/examples/Zigbee_Color_Dimmer_Switch/Zigbee_Color_Dimmer_Switch.ino +++ b/libraries/Zigbee/examples/Zigbee_Color_Dimmer_Switch/Zigbee_Color_Dimmer_Switch.ino @@ -54,7 +54,7 @@ void setup() { } //Init button switch - pinMode(SWITCH_PIN, INPUT); + pinMode(SWITCH_PIN, INPUT_PULLUP); //Optional: set Zigbee device name and model zbSwitch.setManufacturerAndModel("Espressif", "ZigbeeSwitch"); diff --git a/libraries/Zigbee/examples/Zigbee_On_Off_Light/Zigbee_On_Off_Light.ino b/libraries/Zigbee/examples/Zigbee_On_Off_Light/Zigbee_On_Off_Light.ino index 2f13357a156..e0bc3747eb3 100644 --- a/libraries/Zigbee/examples/Zigbee_On_Off_Light/Zigbee_On_Off_Light.ino +++ b/libraries/Zigbee/examples/Zigbee_On_Off_Light/Zigbee_On_Off_Light.ino @@ -51,7 +51,7 @@ void setup() { digitalWrite(LED_PIN, LOW); // Init button for factory reset - pinMode(BUTTON_PIN, INPUT); + pinMode(BUTTON_PIN, INPUT_PULLUP); //Optional: set Zigbee device name and model zbLight.setManufacturerAndModel("Espressif", "ZBLightBulb"); diff --git a/libraries/Zigbee/examples/Zigbee_Temperature_Sensor/Zigbee_Temperature_Sensor.ino b/libraries/Zigbee/examples/Zigbee_Temperature_Sensor/Zigbee_Temperature_Sensor.ino index 92249e980ab..b614b136bef 100644 --- a/libraries/Zigbee/examples/Zigbee_Temperature_Sensor/Zigbee_Temperature_Sensor.ino +++ b/libraries/Zigbee/examples/Zigbee_Temperature_Sensor/Zigbee_Temperature_Sensor.ino @@ -59,7 +59,7 @@ void setup() { } // Init button switch - pinMode(BUTTON_PIN, INPUT); + pinMode(BUTTON_PIN, INPUT_PULLUP); // Optional: set Zigbee device name and model zbTempSensor.setManufacturerAndModel("Espressif", "ZigbeeTempSensor"); diff --git a/libraries/Zigbee/examples/Zigbee_Thermostat/Zigbee_Thermostat.ino b/libraries/Zigbee/examples/Zigbee_Thermostat/Zigbee_Thermostat.ino index 8f4ea0b543d..ac7b023d6d9 100644 --- a/libraries/Zigbee/examples/Zigbee_Thermostat/Zigbee_Thermostat.ino +++ b/libraries/Zigbee/examples/Zigbee_Thermostat/Zigbee_Thermostat.ino @@ -65,7 +65,7 @@ void setup() { } // Init button switch - pinMode(BUTTON_PIN, INPUT); + pinMode(BUTTON_PIN, INPUT_PULLUP); // Set callback functions for temperature and configuration receive zbThermostat.onTempRecieve(recieveSensorTemp); From bcc357c0cac2710d41820961167e8383ecb1aadc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Proch=C3=A1zka?= <90197375+P-R-O-C-H-Y@users.noreply.github.com> Date: Wed, 23 Oct 2024 10:47:50 +0200 Subject: [PATCH 134/146] fix(ci): Boards test set fail-fast to false (#10508) --- .github/workflows/boards.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/boards.yml b/.github/workflows/boards.yml index a14f57508c6..a309e4ed2ce 100644 --- a/.github/workflows/boards.yml +++ b/.github/workflows/boards.yml @@ -42,6 +42,7 @@ jobs: name: "espressif:esp32" strategy: + fail-fast: false matrix: ${{ fromJson(needs.find-boards.outputs.fqbns) }} steps: From 3502b9c7a9c9fcecc51c1f40ea0180a8563f44cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BA=8C=E4=B9=9D?= <153150268+Sail-211010@users.noreply.github.com> Date: Wed, 23 Oct 2024 20:16:12 +0800 Subject: [PATCH 135/146] Add multiple boards of the Waveshare ESP32-S3-Touch-LCD-1.46 type (#10482) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Delete boards.txt Delete old files * Add files via upload Add new board * Add files via upload Add new board * Delete boards.txt Delete old files, modify the definition of the case error * Add files via upload Modify the definition of the case error * ci(pre-commit): Apply automatic fixes * ci(pre-commit): Apply automatic fixes --------- Co-authored-by: Jan Procházka <90197375+P-R-O-C-H-Y@users.noreply.github.com> Co-authored-by: Me No Dev Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> Co-authored-by: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com> --- boards.txt | 1899 +++++++++++++++++ .../waveshare_esp32_s3_lcd_146/pins_arduino.h | 64 + .../waveshare_esp32_s3_lcd_147/pins_arduino.h | 64 + .../waveshare_esp32_s3_lcd_185/pins_arduino.h | 64 + .../pins_arduino.h | 64 + .../pins_arduino.h | 64 + .../pins_arduino.h | 64 + .../pins_arduino.h | 64 + .../pins_arduino.h | 64 + 9 files changed, 2411 insertions(+) create mode 100644 variants/waveshare_esp32_s3_lcd_146/pins_arduino.h create mode 100644 variants/waveshare_esp32_s3_lcd_147/pins_arduino.h create mode 100644 variants/waveshare_esp32_s3_lcd_185/pins_arduino.h create mode 100644 variants/waveshare_esp32_s3_relay_6ch/pins_arduino.h create mode 100644 variants/waveshare_esp32_s3_touch_lcd_146/pins_arduino.h create mode 100644 variants/waveshare_esp32_s3_touch_lcd_185_box/pins_arduino.h create mode 100644 variants/waveshare_esp32_s3_touch_lcd_21/pins_arduino.h create mode 100644 variants/waveshare_esp32_s3_touch_lcd_28/pins_arduino.h diff --git a/boards.txt b/boards.txt index 74d709ec1e1..8d4cc529ed7 100644 --- a/boards.txt +++ b/boards.txt @@ -44367,3 +44367,1902 @@ cezerio_dev_esp32c6.menu.ZigbeeMode.rcp.build.zigbee_mode=-DZIGBEE_MODE_RCP cezerio_dev_esp32c6.menu.ZigbeeMode.rcp.build.zigbee_libs=-lesp_zb_api_rcp -lesp_zb_cli_command -lzboss_stack.rcp -lzboss_port ############################################################## + +waveshare_esp32_s3_lcd_185.name=Waveshare ESP32-S3-LCD-1.85 +waveshare_esp32_s3_lcd_185.vid.0=0x303a +waveshare_esp32_s3_lcd_185.pid.0=0x8242 +waveshare_esp32_s3_lcd_185.upload_port.0.vid=0x303a +waveshare_esp32_s3_lcd_185.upload_port.0.pid=0x8242 + +waveshare_esp32_s3_lcd_185.bootloader.tool=esptool_py +waveshare_esp32_s3_lcd_185.bootloader.tool.default=esptool_py + +waveshare_esp32_s3_lcd_185.upload.tool=esptool_py +waveshare_esp32_s3_lcd_185.upload.tool.default=esptool_py +waveshare_esp32_s3_lcd_185.upload.tool.network=esp_ota + +waveshare_esp32_s3_lcd_185.upload.maximum_size=1310720 +waveshare_esp32_s3_lcd_185.upload.maximum_data_size=327680 +waveshare_esp32_s3_lcd_185.upload.flags= +waveshare_esp32_s3_lcd_185.upload.extra_flags= +waveshare_esp32_s3_lcd_185.upload.use_1200bps_touch=false +waveshare_esp32_s3_lcd_185.upload.wait_for_upload_port=false + +waveshare_esp32_s3_lcd_185.serial.disableDTR=false +waveshare_esp32_s3_lcd_185.serial.disableRTS=false + +waveshare_esp32_s3_lcd_185.build.tarch=xtensa +waveshare_esp32_s3_lcd_185.build.bootloader_addr=0x0 +waveshare_esp32_s3_lcd_185.build.target=esp32s3 +waveshare_esp32_s3_lcd_185.build.mcu=esp32s3 +waveshare_esp32_s3_lcd_185.build.core=esp32 +waveshare_esp32_s3_lcd_185.build.variant=waveshare_esp32_s3_lcd_185 +waveshare_esp32_s3_lcd_185.build.board=WAVESHARE_ESP32_S3_LCD_185 + +waveshare_esp32_s3_lcd_185.build.usb_mode=1 +waveshare_esp32_s3_lcd_185.build.cdc_on_boot=0 +waveshare_esp32_s3_lcd_185.build.msc_on_boot=0 +waveshare_esp32_s3_lcd_185.build.dfu_on_boot=0 +waveshare_esp32_s3_lcd_185.build.f_cpu=240000000L +waveshare_esp32_s3_lcd_185.build.flash_size=16MB +waveshare_esp32_s3_lcd_185.build.flash_freq=120m +waveshare_esp32_s3_lcd_185.build.flash_mode=qio +waveshare_esp32_s3_lcd_185.build.boot=qio +waveshare_esp32_s3_lcd_185.build.boot_freq=80m +waveshare_esp32_s3_lcd_185.build.partitions=default +waveshare_esp32_s3_lcd_185.build.defines= +waveshare_esp32_s3_lcd_185.build.loop_core= +waveshare_esp32_s3_lcd_185.build.event_core= +waveshare_esp32_s3_lcd_185.build.psram_type=opi +waveshare_esp32_s3_lcd_185.build.memory_type={build.boot}_{build.psram_type} + +## IDE 2.0 Seems to not update the value +waveshare_esp32_s3_lcd_185.menu.JTAGAdapter.default=Disabled +waveshare_esp32_s3_lcd_185.menu.JTAGAdapter.default.build.copy_jtag_files=0 +waveshare_esp32_s3_lcd_185.menu.JTAGAdapter.builtin=Integrated USB JTAG +waveshare_esp32_s3_lcd_185.menu.JTAGAdapter.builtin.build.openocdscript=esp32s3-builtin.cfg +waveshare_esp32_s3_lcd_185.menu.JTAGAdapter.builtin.build.copy_jtag_files=1 +waveshare_esp32_s3_lcd_185.menu.JTAGAdapter.external=FTDI Adapter +waveshare_esp32_s3_lcd_185.menu.JTAGAdapter.external.build.openocdscript=esp32s3-ftdi.cfg +waveshare_esp32_s3_lcd_185.menu.JTAGAdapter.external.build.copy_jtag_files=1 +waveshare_esp32_s3_lcd_185.menu.JTAGAdapter.bridge=ESP USB Bridge +waveshare_esp32_s3_lcd_185.menu.JTAGAdapter.bridge.build.openocdscript=esp32s3-bridge.cfg +waveshare_esp32_s3_lcd_185.menu.JTAGAdapter.bridge.build.copy_jtag_files=1 + +waveshare_esp32_s3_lcd_185.menu.PSRAM.enabled=Enabled +waveshare_esp32_s3_lcd_185.menu.PSRAM.enabled.build.defines=-DBOARD_HAS_PSRAM +waveshare_esp32_s3_lcd_185.menu.PSRAM.enabled.build.psram_type=opi +waveshare_esp32_s3_lcd_185.menu.PSRAM.disabled=Disabled +waveshare_esp32_s3_lcd_185.menu.PSRAM.disabled.build.defines= +waveshare_esp32_s3_lcd_185.menu.PSRAM.disabled.build.psram_type=qspi + +waveshare_esp32_s3_lcd_185.menu.FlashMode.qio120=QIO 120MHz +waveshare_esp32_s3_lcd_185.menu.FlashMode.qio120.build.flash_mode=dio +waveshare_esp32_s3_lcd_185.menu.FlashMode.qio120.build.boot=qio +waveshare_esp32_s3_lcd_185.menu.FlashMode.qio120.build.boot_freq=120m +waveshare_esp32_s3_lcd_185.menu.FlashMode.qio120.build.flash_freq=80m +waveshare_esp32_s3_lcd_185.menu.FlashMode.qio=QIO 80MHz +waveshare_esp32_s3_lcd_185.menu.FlashMode.qio.build.flash_mode=dio +waveshare_esp32_s3_lcd_185.menu.FlashMode.qio.build.boot=qio +waveshare_esp32_s3_lcd_185.menu.FlashMode.qio.build.boot_freq=80m +waveshare_esp32_s3_lcd_185.menu.FlashMode.qio.build.flash_freq=80m +waveshare_esp32_s3_lcd_185.menu.FlashMode.dio=DIO 80MHz +waveshare_esp32_s3_lcd_185.menu.FlashMode.dio.build.flash_mode=dio +waveshare_esp32_s3_lcd_185.menu.FlashMode.dio.build.boot=dio +waveshare_esp32_s3_lcd_185.menu.FlashMode.dio.build.boot_freq=80m +waveshare_esp32_s3_lcd_185.menu.FlashMode.dio.build.flash_freq=80m +waveshare_esp32_s3_lcd_185.menu.FlashMode.opi=OPI 80MHz +waveshare_esp32_s3_lcd_185.menu.FlashMode.opi.build.flash_mode=dout +waveshare_esp32_s3_lcd_185.menu.FlashMode.opi.build.boot=opi +waveshare_esp32_s3_lcd_185.menu.FlashMode.opi.build.boot_freq=80m +waveshare_esp32_s3_lcd_185.menu.FlashMode.opi.build.flash_freq=80m + +waveshare_esp32_s3_lcd_185.menu.LoopCore.1=Core 1 +waveshare_esp32_s3_lcd_185.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1 +waveshare_esp32_s3_lcd_185.menu.LoopCore.0=Core 0 +waveshare_esp32_s3_lcd_185.menu.LoopCore.0.build.loop_core=-DARDUINO_RUNNING_CORE=0 + +waveshare_esp32_s3_lcd_185.menu.EventsCore.0=Core 0 +waveshare_esp32_s3_lcd_185.menu.EventsCore.0.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=0 +waveshare_esp32_s3_lcd_185.menu.EventsCore.1=Core 1 +waveshare_esp32_s3_lcd_185.menu.EventsCore.1.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=1 + +waveshare_esp32_s3_lcd_185.menu.USBMode.hwcdc=Hardware CDC and JTAG +waveshare_esp32_s3_lcd_185.menu.USBMode.hwcdc.build.usb_mode=1 +waveshare_esp32_s3_lcd_185.menu.USBMode.default=USB-OTG (TinyUSB) +waveshare_esp32_s3_lcd_185.menu.USBMode.default.build.usb_mode=0 + +waveshare_esp32_s3_lcd_185.menu.CDCOnBoot.default=Disabled +waveshare_esp32_s3_lcd_185.menu.CDCOnBoot.default.build.cdc_on_boot=0 +waveshare_esp32_s3_lcd_185.menu.CDCOnBoot.cdc=Enabled +waveshare_esp32_s3_lcd_185.menu.CDCOnBoot.cdc.build.cdc_on_boot=1 + +waveshare_esp32_s3_lcd_185.menu.MSCOnBoot.default=Disabled +waveshare_esp32_s3_lcd_185.menu.MSCOnBoot.default.build.msc_on_boot=0 +waveshare_esp32_s3_lcd_185.menu.MSCOnBoot.msc=Enabled (Requires USB-OTG Mode) +waveshare_esp32_s3_lcd_185.menu.MSCOnBoot.msc.build.msc_on_boot=1 + +waveshare_esp32_s3_lcd_185.menu.DFUOnBoot.default=Disabled +waveshare_esp32_s3_lcd_185.menu.DFUOnBoot.default.build.dfu_on_boot=0 +waveshare_esp32_s3_lcd_185.menu.DFUOnBoot.dfu=Enabled (Requires USB-OTG Mode) +waveshare_esp32_s3_lcd_185.menu.DFUOnBoot.dfu.build.dfu_on_boot=1 + +waveshare_esp32_s3_lcd_185.menu.UploadMode.default=UART0 / Hardware CDC +waveshare_esp32_s3_lcd_185.menu.UploadMode.default.upload.use_1200bps_touch=false +waveshare_esp32_s3_lcd_185.menu.UploadMode.default.upload.wait_for_upload_port=false +waveshare_esp32_s3_lcd_185.menu.UploadMode.cdc=USB-OTG CDC (TinyUSB) +waveshare_esp32_s3_lcd_185.menu.UploadMode.cdc.upload.use_1200bps_touch=true +waveshare_esp32_s3_lcd_185.menu.UploadMode.cdc.upload.wait_for_upload_port=true + +waveshare_esp32_s3_lcd_185.menu.PartitionScheme.esp_sr_16=ESP SR 16M (3MB APP/7MB SPIFFS/2.9MB MODEL) +waveshare_esp32_s3_lcd_185.menu.PartitionScheme.esp_sr_16.upload.maximum_size=3145728 +waveshare_esp32_s3_lcd_185.menu.PartitionScheme.esp_sr_16.upload.extra_flags=0xD10000 {build.path}/srmodels.bin +waveshare_esp32_s3_lcd_185.menu.PartitionScheme.esp_sr_16.build.partitions=esp_sr_16 +waveshare_esp32_s3_lcd_185.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) +waveshare_esp32_s3_lcd_185.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB +waveshare_esp32_s3_lcd_185.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 +waveshare_esp32_s3_lcd_185.menu.PartitionScheme.fatflash=16M Flash (2MB APP/12.5MB FATFS) +waveshare_esp32_s3_lcd_185.menu.PartitionScheme.fatflash.build.partitions=ffat +waveshare_esp32_s3_lcd_185.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 +waveshare_esp32_s3_lcd_185.menu.PartitionScheme.default_8MB=8M with spiffs (3MB APP/1.5MB SPIFFS) +waveshare_esp32_s3_lcd_185.menu.PartitionScheme.default_8MB.build.partitions=default_8MB +waveshare_esp32_s3_lcd_185.menu.PartitionScheme.default_8MB.upload.maximum_size=3342336 +waveshare_esp32_s3_lcd_185.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +waveshare_esp32_s3_lcd_185.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +waveshare_esp32_s3_lcd_185.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 +waveshare_esp32_s3_lcd_185.menu.PartitionScheme.default=Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS) +waveshare_esp32_s3_lcd_185.menu.PartitionScheme.default.build.partitions=default +waveshare_esp32_s3_lcd_185.menu.PartitionScheme.defaultffat=Default 4MB with ffat (1.2MB APP/1.5MB FATFS) +waveshare_esp32_s3_lcd_185.menu.PartitionScheme.defaultffat.build.partitions=default_ffat +waveshare_esp32_s3_lcd_185.menu.PartitionScheme.rainmaker=RainMaker 4MB +waveshare_esp32_s3_lcd_185.menu.PartitionScheme.rainmaker.build.partitions=rainmaker +waveshare_esp32_s3_lcd_185.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +waveshare_esp32_s3_lcd_185.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +waveshare_esp32_s3_lcd_185.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +waveshare_esp32_s3_lcd_185.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +waveshare_esp32_s3_lcd_185.menu.PartitionScheme.huge_app=Huge APP (3MB No OTA/1MB SPIFFS) +waveshare_esp32_s3_lcd_185.menu.PartitionScheme.huge_app.build.partitions=huge_app +waveshare_esp32_s3_lcd_185.menu.PartitionScheme.huge_app.upload.maximum_size=3145728 +waveshare_esp32_s3_lcd_185.menu.PartitionScheme.min_spiffs=Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS) +waveshare_esp32_s3_lcd_185.menu.PartitionScheme.min_spiffs.build.partitions=min_spiffs +waveshare_esp32_s3_lcd_185.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080 +waveshare_esp32_s3_lcd_185.menu.PartitionScheme.minimal=Minimal (1.3MB APP/700KB SPIFFS) +waveshare_esp32_s3_lcd_185.menu.PartitionScheme.minimal.build.partitions=minimal +waveshare_esp32_s3_lcd_185.menu.PartitionScheme.no_fs=No FS 4MB (2MB APP x2) +waveshare_esp32_s3_lcd_185.menu.PartitionScheme.no_fs.build.partitions=no_fs +waveshare_esp32_s3_lcd_185.menu.PartitionScheme.no_fs.upload.maximum_size=2031616 +waveshare_esp32_s3_lcd_185.menu.PartitionScheme.no_ota=No OTA (2MB APP/2MB SPIFFS) +waveshare_esp32_s3_lcd_185.menu.PartitionScheme.no_ota.build.partitions=no_ota +waveshare_esp32_s3_lcd_185.menu.PartitionScheme.no_ota.upload.maximum_size=2097152 +waveshare_esp32_s3_lcd_185.menu.PartitionScheme.noota_3g=No OTA (1MB APP/3MB SPIFFS) +waveshare_esp32_s3_lcd_185.menu.PartitionScheme.noota_3g.build.partitions=noota_3g +waveshare_esp32_s3_lcd_185.menu.PartitionScheme.noota_3g.upload.maximum_size=1048576 +waveshare_esp32_s3_lcd_185.menu.PartitionScheme.noota_ffat=No OTA (2MB APP/2MB FATFS) +waveshare_esp32_s3_lcd_185.menu.PartitionScheme.noota_ffat.build.partitions=noota_ffat +waveshare_esp32_s3_lcd_185.menu.PartitionScheme.noota_ffat.upload.maximum_size=2097152 +waveshare_esp32_s3_lcd_185.menu.PartitionScheme.noota_3gffat=No OTA (1MB APP/3MB FATFS) +waveshare_esp32_s3_lcd_185.menu.PartitionScheme.noota_3gffat.build.partitions=noota_3gffat +waveshare_esp32_s3_lcd_185.menu.PartitionScheme.noota_3gffat.upload.maximum_size=1048576 +waveshare_esp32_s3_lcd_185.menu.PartitionScheme.zigbee_zczr=Zigbee ZCZR 4MB with spiffs +waveshare_esp32_s3_lcd_185.menu.PartitionScheme.zigbee_zczr.build.partitions=zigbee_zczr +waveshare_esp32_s3_lcd_185.menu.PartitionScheme.zigbee_zczr.upload.maximum_size=1310720 +waveshare_esp32_s3_lcd_185.menu.PartitionScheme.custom=Custom +waveshare_esp32_s3_lcd_185.menu.PartitionScheme.custom.build.partitions= +waveshare_esp32_s3_lcd_185.menu.PartitionScheme.custom.upload.maximum_size=16777216 + +waveshare_esp32_s3_lcd_185.menu.CPUFreq.240=240MHz (WiFi) +waveshare_esp32_s3_lcd_185.menu.CPUFreq.240.build.f_cpu=240000000L +waveshare_esp32_s3_lcd_185.menu.CPUFreq.160=160MHz (WiFi) +waveshare_esp32_s3_lcd_185.menu.CPUFreq.160.build.f_cpu=160000000L +waveshare_esp32_s3_lcd_185.menu.CPUFreq.80=80MHz (WiFi) +waveshare_esp32_s3_lcd_185.menu.CPUFreq.80.build.f_cpu=80000000L +waveshare_esp32_s3_lcd_185.menu.CPUFreq.40=40MHz +waveshare_esp32_s3_lcd_185.menu.CPUFreq.40.build.f_cpu=40000000L +waveshare_esp32_s3_lcd_185.menu.CPUFreq.20=20MHz +waveshare_esp32_s3_lcd_185.menu.CPUFreq.20.build.f_cpu=20000000L +waveshare_esp32_s3_lcd_185.menu.CPUFreq.10=10MHz +waveshare_esp32_s3_lcd_185.menu.CPUFreq.10.build.f_cpu=10000000L + +waveshare_esp32_s3_lcd_185.menu.UploadSpeed.921600=921600 +waveshare_esp32_s3_lcd_185.menu.UploadSpeed.921600.upload.speed=921600 +waveshare_esp32_s3_lcd_185.menu.UploadSpeed.115200=115200 +waveshare_esp32_s3_lcd_185.menu.UploadSpeed.115200.upload.speed=115200 +waveshare_esp32_s3_lcd_185.menu.UploadSpeed.256000.windows=256000 +waveshare_esp32_s3_lcd_185.menu.UploadSpeed.256000.upload.speed=256000 +waveshare_esp32_s3_lcd_185.menu.UploadSpeed.230400.windows.upload.speed=256000 +waveshare_esp32_s3_lcd_185.menu.UploadSpeed.230400=230400 +waveshare_esp32_s3_lcd_185.menu.UploadSpeed.230400.upload.speed=230400 +waveshare_esp32_s3_lcd_185.menu.UploadSpeed.460800.linux=460800 +waveshare_esp32_s3_lcd_185.menu.UploadSpeed.460800.macosx=460800 +waveshare_esp32_s3_lcd_185.menu.UploadSpeed.460800.upload.speed=460800 +waveshare_esp32_s3_lcd_185.menu.UploadSpeed.512000.windows=512000 +waveshare_esp32_s3_lcd_185.menu.UploadSpeed.512000.upload.speed=512000 + +waveshare_esp32_s3_lcd_185.menu.DebugLevel.none=None +waveshare_esp32_s3_lcd_185.menu.DebugLevel.none.build.code_debug=0 +waveshare_esp32_s3_lcd_185.menu.DebugLevel.error=Error +waveshare_esp32_s3_lcd_185.menu.DebugLevel.error.build.code_debug=1 +waveshare_esp32_s3_lcd_185.menu.DebugLevel.warn=Warn +waveshare_esp32_s3_lcd_185.menu.DebugLevel.warn.build.code_debug=2 +waveshare_esp32_s3_lcd_185.menu.DebugLevel.info=Info +waveshare_esp32_s3_lcd_185.menu.DebugLevel.info.build.code_debug=3 +waveshare_esp32_s3_lcd_185.menu.DebugLevel.debug=Debug +waveshare_esp32_s3_lcd_185.menu.DebugLevel.debug.build.code_debug=4 +waveshare_esp32_s3_lcd_185.menu.DebugLevel.verbose=Verbose +waveshare_esp32_s3_lcd_185.menu.DebugLevel.verbose.build.code_debug=5 + +waveshare_esp32_s3_lcd_185.menu.EraseFlash.none=Disabled +waveshare_esp32_s3_lcd_185.menu.EraseFlash.none.upload.erase_cmd= +waveshare_esp32_s3_lcd_185.menu.EraseFlash.all=Enabled +waveshare_esp32_s3_lcd_185.menu.EraseFlash.all.upload.erase_cmd=-e + +waveshare_esp32_s3_lcd_185.menu.ZigbeeMode.default=Disabled +waveshare_esp32_s3_lcd_185.menu.ZigbeeMode.default.build.zigbee_mode= +waveshare_esp32_s3_lcd_185.menu.ZigbeeMode.default.build.zigbee_libs= +waveshare_esp32_s3_lcd_185.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator/router) +waveshare_esp32_s3_lcd_185.menu.ZigbeeMode.zczr.build.zigbee_mode=-DZIGBEE_MODE_ZCZR +waveshare_esp32_s3_lcd_185.menu.ZigbeeMode.zczr.build.zigbee_libs=-lesp_zb_api_zczr -lesp_zb_cli_command -lzboss_stack.zczr -lzboss_port + +############################################################## + +waveshare_esp32_s3_touch_lcd_146.name=Waveshare ESP32-S3-Touch-LCD-1.46 +waveshare_esp32_s3_touch_lcd_146.vid.0=0x303a +waveshare_esp32_s3_touch_lcd_146.pid.0=0x8242 +waveshare_esp32_s3_touch_lcd_146.upload_port.0.vid=0x303a +waveshare_esp32_s3_touch_lcd_146.upload_port.0.pid=0x8242 + +waveshare_esp32_s3_touch_lcd_146.bootloader.tool=esptool_py +waveshare_esp32_s3_touch_lcd_146.bootloader.tool.default=esptool_py + +waveshare_esp32_s3_touch_lcd_146.upload.tool=esptool_py +waveshare_esp32_s3_touch_lcd_146.upload.tool.default=esptool_py +waveshare_esp32_s3_touch_lcd_146.upload.tool.network=esp_ota + +waveshare_esp32_s3_touch_lcd_146.upload.maximum_size=1310720 +waveshare_esp32_s3_touch_lcd_146.upload.maximum_data_size=327680 +waveshare_esp32_s3_touch_lcd_146.upload.flags= +waveshare_esp32_s3_touch_lcd_146.upload.extra_flags= +waveshare_esp32_s3_touch_lcd_146.upload.use_1200bps_touch=false +waveshare_esp32_s3_touch_lcd_146.upload.wait_for_upload_port=false + +waveshare_esp32_s3_touch_lcd_146.serial.disableDTR=false +waveshare_esp32_s3_touch_lcd_146.serial.disableRTS=false + +waveshare_esp32_s3_touch_lcd_146.build.tarch=xtensa +waveshare_esp32_s3_touch_lcd_146.build.bootloader_addr=0x0 +waveshare_esp32_s3_touch_lcd_146.build.target=esp32s3 +waveshare_esp32_s3_touch_lcd_146.build.mcu=esp32s3 +waveshare_esp32_s3_touch_lcd_146.build.core=esp32 +waveshare_esp32_s3_touch_lcd_146.build.variant=waveshare_esp32_s3_touch_lcd_146 +waveshare_esp32_s3_touch_lcd_146.build.board=WAVESHARE_ESP32_S3_TOUCH_LCD_146 + +waveshare_esp32_s3_touch_lcd_146.build.usb_mode=1 +waveshare_esp32_s3_touch_lcd_146.build.cdc_on_boot=0 +waveshare_esp32_s3_touch_lcd_146.build.msc_on_boot=0 +waveshare_esp32_s3_touch_lcd_146.build.dfu_on_boot=0 +waveshare_esp32_s3_touch_lcd_146.build.f_cpu=240000000L +waveshare_esp32_s3_touch_lcd_146.build.flash_size=16MB +waveshare_esp32_s3_touch_lcd_146.build.flash_freq=120m +waveshare_esp32_s3_touch_lcd_146.build.flash_mode=qio +waveshare_esp32_s3_touch_lcd_146.build.boot=qio +waveshare_esp32_s3_touch_lcd_146.build.boot_freq=80m +waveshare_esp32_s3_touch_lcd_146.build.partitions=default +waveshare_esp32_s3_touch_lcd_146.build.defines= +waveshare_esp32_s3_touch_lcd_146.build.loop_core= +waveshare_esp32_s3_touch_lcd_146.build.event_core= +waveshare_esp32_s3_touch_lcd_146.build.psram_type=opi +waveshare_esp32_s3_touch_lcd_146.build.memory_type={build.boot}_{build.psram_type} + +## IDE 2.0 Seems to not update the value +waveshare_esp32_s3_touch_lcd_146.menu.JTAGAdapter.default=Disabled +waveshare_esp32_s3_touch_lcd_146.menu.JTAGAdapter.default.build.copy_jtag_files=0 +waveshare_esp32_s3_touch_lcd_146.menu.JTAGAdapter.builtin=Integrated USB JTAG +waveshare_esp32_s3_touch_lcd_146.menu.JTAGAdapter.builtin.build.openocdscript=esp32s3-builtin.cfg +waveshare_esp32_s3_touch_lcd_146.menu.JTAGAdapter.builtin.build.copy_jtag_files=1 +waveshare_esp32_s3_touch_lcd_146.menu.JTAGAdapter.external=FTDI Adapter +waveshare_esp32_s3_touch_lcd_146.menu.JTAGAdapter.external.build.openocdscript=esp32s3-ftdi.cfg +waveshare_esp32_s3_touch_lcd_146.menu.JTAGAdapter.external.build.copy_jtag_files=1 +waveshare_esp32_s3_touch_lcd_146.menu.JTAGAdapter.bridge=ESP USB Bridge +waveshare_esp32_s3_touch_lcd_146.menu.JTAGAdapter.bridge.build.openocdscript=esp32s3-bridge.cfg +waveshare_esp32_s3_touch_lcd_146.menu.JTAGAdapter.bridge.build.copy_jtag_files=1 + +waveshare_esp32_s3_touch_lcd_146.menu.PSRAM.enabled=Enabled +waveshare_esp32_s3_touch_lcd_146.menu.PSRAM.enabled.build.defines=-DBOARD_HAS_PSRAM +waveshare_esp32_s3_touch_lcd_146.menu.PSRAM.enabled.build.psram_type=opi +waveshare_esp32_s3_touch_lcd_146.menu.PSRAM.disabled=Disabled +waveshare_esp32_s3_touch_lcd_146.menu.PSRAM.disabled.build.defines= +waveshare_esp32_s3_touch_lcd_146.menu.PSRAM.disabled.build.psram_type=qspi + +waveshare_esp32_s3_touch_lcd_146.menu.FlashMode.qio120=QIO 120MHz +waveshare_esp32_s3_touch_lcd_146.menu.FlashMode.qio120.build.flash_mode=dio +waveshare_esp32_s3_touch_lcd_146.menu.FlashMode.qio120.build.boot=qio +waveshare_esp32_s3_touch_lcd_146.menu.FlashMode.qio120.build.boot_freq=120m +waveshare_esp32_s3_touch_lcd_146.menu.FlashMode.qio120.build.flash_freq=80m +waveshare_esp32_s3_touch_lcd_146.menu.FlashMode.qio=QIO 80MHz +waveshare_esp32_s3_touch_lcd_146.menu.FlashMode.qio.build.flash_mode=dio +waveshare_esp32_s3_touch_lcd_146.menu.FlashMode.qio.build.boot=qio +waveshare_esp32_s3_touch_lcd_146.menu.FlashMode.qio.build.boot_freq=80m +waveshare_esp32_s3_touch_lcd_146.menu.FlashMode.qio.build.flash_freq=80m +waveshare_esp32_s3_touch_lcd_146.menu.FlashMode.dio=DIO 80MHz +waveshare_esp32_s3_touch_lcd_146.menu.FlashMode.dio.build.flash_mode=dio +waveshare_esp32_s3_touch_lcd_146.menu.FlashMode.dio.build.boot=dio +waveshare_esp32_s3_touch_lcd_146.menu.FlashMode.dio.build.boot_freq=80m +waveshare_esp32_s3_touch_lcd_146.menu.FlashMode.dio.build.flash_freq=80m +waveshare_esp32_s3_touch_lcd_146.menu.FlashMode.opi=OPI 80MHz +waveshare_esp32_s3_touch_lcd_146.menu.FlashMode.opi.build.flash_mode=dout +waveshare_esp32_s3_touch_lcd_146.menu.FlashMode.opi.build.boot=opi +waveshare_esp32_s3_touch_lcd_146.menu.FlashMode.opi.build.boot_freq=80m +waveshare_esp32_s3_touch_lcd_146.menu.FlashMode.opi.build.flash_freq=80m + +waveshare_esp32_s3_touch_lcd_146.menu.LoopCore.1=Core 1 +waveshare_esp32_s3_touch_lcd_146.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1 +waveshare_esp32_s3_touch_lcd_146.menu.LoopCore.0=Core 0 +waveshare_esp32_s3_touch_lcd_146.menu.LoopCore.0.build.loop_core=-DARDUINO_RUNNING_CORE=0 + +waveshare_esp32_s3_touch_lcd_146.menu.EventsCore.0=Core 0 +waveshare_esp32_s3_touch_lcd_146.menu.EventsCore.0.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=0 +waveshare_esp32_s3_touch_lcd_146.menu.EventsCore.1=Core 1 +waveshare_esp32_s3_touch_lcd_146.menu.EventsCore.1.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=1 + +waveshare_esp32_s3_touch_lcd_146.menu.USBMode.hwcdc=Hardware CDC and JTAG +waveshare_esp32_s3_touch_lcd_146.menu.USBMode.hwcdc.build.usb_mode=1 +waveshare_esp32_s3_touch_lcd_146.menu.USBMode.default=USB-OTG (TinyUSB) +waveshare_esp32_s3_touch_lcd_146.menu.USBMode.default.build.usb_mode=0 + +waveshare_esp32_s3_touch_lcd_146.menu.CDCOnBoot.default=Disabled +waveshare_esp32_s3_touch_lcd_146.menu.CDCOnBoot.default.build.cdc_on_boot=0 +waveshare_esp32_s3_touch_lcd_146.menu.CDCOnBoot.cdc=Enabled +waveshare_esp32_s3_touch_lcd_146.menu.CDCOnBoot.cdc.build.cdc_on_boot=1 + +waveshare_esp32_s3_touch_lcd_146.menu.MSCOnBoot.default=Disabled +waveshare_esp32_s3_touch_lcd_146.menu.MSCOnBoot.default.build.msc_on_boot=0 +waveshare_esp32_s3_touch_lcd_146.menu.MSCOnBoot.msc=Enabled (Requires USB-OTG Mode) +waveshare_esp32_s3_touch_lcd_146.menu.MSCOnBoot.msc.build.msc_on_boot=1 + +waveshare_esp32_s3_touch_lcd_146.menu.DFUOnBoot.default=Disabled +waveshare_esp32_s3_touch_lcd_146.menu.DFUOnBoot.default.build.dfu_on_boot=0 +waveshare_esp32_s3_touch_lcd_146.menu.DFUOnBoot.dfu=Enabled (Requires USB-OTG Mode) +waveshare_esp32_s3_touch_lcd_146.menu.DFUOnBoot.dfu.build.dfu_on_boot=1 + +waveshare_esp32_s3_touch_lcd_146.menu.UploadMode.default=UART0 / Hardware CDC +waveshare_esp32_s3_touch_lcd_146.menu.UploadMode.default.upload.use_1200bps_touch=false +waveshare_esp32_s3_touch_lcd_146.menu.UploadMode.default.upload.wait_for_upload_port=false +waveshare_esp32_s3_touch_lcd_146.menu.UploadMode.cdc=USB-OTG CDC (TinyUSB) +waveshare_esp32_s3_touch_lcd_146.menu.UploadMode.cdc.upload.use_1200bps_touch=true +waveshare_esp32_s3_touch_lcd_146.menu.UploadMode.cdc.upload.wait_for_upload_port=true + +waveshare_esp32_s3_touch_lcd_146.menu.PartitionScheme.esp_sr_16=ESP SR 16M (3MB APP/7MB SPIFFS/2.9MB MODEL) +waveshare_esp32_s3_touch_lcd_146.menu.PartitionScheme.esp_sr_16.upload.maximum_size=3145728 +waveshare_esp32_s3_touch_lcd_146.menu.PartitionScheme.esp_sr_16.upload.extra_flags=0xD10000 {build.path}/srmodels.bin +waveshare_esp32_s3_touch_lcd_146.menu.PartitionScheme.esp_sr_16.build.partitions=esp_sr_16 +waveshare_esp32_s3_touch_lcd_146.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) +waveshare_esp32_s3_touch_lcd_146.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB +waveshare_esp32_s3_touch_lcd_146.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 +waveshare_esp32_s3_touch_lcd_146.menu.PartitionScheme.fatflash=16M Flash (2MB APP/12.5MB FATFS) +waveshare_esp32_s3_touch_lcd_146.menu.PartitionScheme.fatflash.build.partitions=ffat +waveshare_esp32_s3_touch_lcd_146.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 +waveshare_esp32_s3_touch_lcd_146.menu.PartitionScheme.default_8MB=8M with spiffs (3MB APP/1.5MB SPIFFS) +waveshare_esp32_s3_touch_lcd_146.menu.PartitionScheme.default_8MB.build.partitions=default_8MB +waveshare_esp32_s3_touch_lcd_146.menu.PartitionScheme.default_8MB.upload.maximum_size=3342336 +waveshare_esp32_s3_touch_lcd_146.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +waveshare_esp32_s3_touch_lcd_146.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +waveshare_esp32_s3_touch_lcd_146.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 +waveshare_esp32_s3_touch_lcd_146.menu.PartitionScheme.default=Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS) +waveshare_esp32_s3_touch_lcd_146.menu.PartitionScheme.default.build.partitions=default +waveshare_esp32_s3_touch_lcd_146.menu.PartitionScheme.defaultffat=Default 4MB with ffat (1.2MB APP/1.5MB FATFS) +waveshare_esp32_s3_touch_lcd_146.menu.PartitionScheme.defaultffat.build.partitions=default_ffat +waveshare_esp32_s3_touch_lcd_146.menu.PartitionScheme.rainmaker=RainMaker 4MB +waveshare_esp32_s3_touch_lcd_146.menu.PartitionScheme.rainmaker.build.partitions=rainmaker +waveshare_esp32_s3_touch_lcd_146.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +waveshare_esp32_s3_touch_lcd_146.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +waveshare_esp32_s3_touch_lcd_146.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +waveshare_esp32_s3_touch_lcd_146.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +waveshare_esp32_s3_touch_lcd_146.menu.PartitionScheme.huge_app=Huge APP (3MB No OTA/1MB SPIFFS) +waveshare_esp32_s3_touch_lcd_146.menu.PartitionScheme.huge_app.build.partitions=huge_app +waveshare_esp32_s3_touch_lcd_146.menu.PartitionScheme.huge_app.upload.maximum_size=3145728 +waveshare_esp32_s3_touch_lcd_146.menu.PartitionScheme.min_spiffs=Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS) +waveshare_esp32_s3_touch_lcd_146.menu.PartitionScheme.min_spiffs.build.partitions=min_spiffs +waveshare_esp32_s3_touch_lcd_146.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080 +waveshare_esp32_s3_touch_lcd_146.menu.PartitionScheme.minimal=Minimal (1.3MB APP/700KB SPIFFS) +waveshare_esp32_s3_touch_lcd_146.menu.PartitionScheme.minimal.build.partitions=minimal +waveshare_esp32_s3_touch_lcd_146.menu.PartitionScheme.no_fs=No FS 4MB (2MB APP x2) +waveshare_esp32_s3_touch_lcd_146.menu.PartitionScheme.no_fs.build.partitions=no_fs +waveshare_esp32_s3_touch_lcd_146.menu.PartitionScheme.no_fs.upload.maximum_size=2031616 +waveshare_esp32_s3_touch_lcd_146.menu.PartitionScheme.no_ota=No OTA (2MB APP/2MB SPIFFS) +waveshare_esp32_s3_touch_lcd_146.menu.PartitionScheme.no_ota.build.partitions=no_ota +waveshare_esp32_s3_touch_lcd_146.menu.PartitionScheme.no_ota.upload.maximum_size=2097152 +waveshare_esp32_s3_touch_lcd_146.menu.PartitionScheme.noota_3g=No OTA (1MB APP/3MB SPIFFS) +waveshare_esp32_s3_touch_lcd_146.menu.PartitionScheme.noota_3g.build.partitions=noota_3g +waveshare_esp32_s3_touch_lcd_146.menu.PartitionScheme.noota_3g.upload.maximum_size=1048576 +waveshare_esp32_s3_touch_lcd_146.menu.PartitionScheme.noota_ffat=No OTA (2MB APP/2MB FATFS) +waveshare_esp32_s3_touch_lcd_146.menu.PartitionScheme.noota_ffat.build.partitions=noota_ffat +waveshare_esp32_s3_touch_lcd_146.menu.PartitionScheme.noota_ffat.upload.maximum_size=2097152 +waveshare_esp32_s3_touch_lcd_146.menu.PartitionScheme.noota_3gffat=No OTA (1MB APP/3MB FATFS) +waveshare_esp32_s3_touch_lcd_146.menu.PartitionScheme.noota_3gffat.build.partitions=noota_3gffat +waveshare_esp32_s3_touch_lcd_146.menu.PartitionScheme.noota_3gffat.upload.maximum_size=1048576 +waveshare_esp32_s3_touch_lcd_146.menu.PartitionScheme.zigbee_zczr=Zigbee ZCZR 4MB with spiffs +waveshare_esp32_s3_touch_lcd_146.menu.PartitionScheme.zigbee_zczr.build.partitions=zigbee_zczr +waveshare_esp32_s3_touch_lcd_146.menu.PartitionScheme.zigbee_zczr.upload.maximum_size=1310720 +waveshare_esp32_s3_touch_lcd_146.menu.PartitionScheme.custom=Custom +waveshare_esp32_s3_touch_lcd_146.menu.PartitionScheme.custom.build.partitions= +waveshare_esp32_s3_touch_lcd_146.menu.PartitionScheme.custom.upload.maximum_size=16777216 + +waveshare_esp32_s3_touch_lcd_146.menu.CPUFreq.240=240MHz (WiFi) +waveshare_esp32_s3_touch_lcd_146.menu.CPUFreq.240.build.f_cpu=240000000L +waveshare_esp32_s3_touch_lcd_146.menu.CPUFreq.160=160MHz (WiFi) +waveshare_esp32_s3_touch_lcd_146.menu.CPUFreq.160.build.f_cpu=160000000L +waveshare_esp32_s3_touch_lcd_146.menu.CPUFreq.80=80MHz (WiFi) +waveshare_esp32_s3_touch_lcd_146.menu.CPUFreq.80.build.f_cpu=80000000L +waveshare_esp32_s3_touch_lcd_146.menu.CPUFreq.40=40MHz +waveshare_esp32_s3_touch_lcd_146.menu.CPUFreq.40.build.f_cpu=40000000L +waveshare_esp32_s3_touch_lcd_146.menu.CPUFreq.20=20MHz +waveshare_esp32_s3_touch_lcd_146.menu.CPUFreq.20.build.f_cpu=20000000L +waveshare_esp32_s3_touch_lcd_146.menu.CPUFreq.10=10MHz +waveshare_esp32_s3_touch_lcd_146.menu.CPUFreq.10.build.f_cpu=10000000L + +waveshare_esp32_s3_touch_lcd_146.menu.UploadSpeed.921600=921600 +waveshare_esp32_s3_touch_lcd_146.menu.UploadSpeed.921600.upload.speed=921600 +waveshare_esp32_s3_touch_lcd_146.menu.UploadSpeed.115200=115200 +waveshare_esp32_s3_touch_lcd_146.menu.UploadSpeed.115200.upload.speed=115200 +waveshare_esp32_s3_touch_lcd_146.menu.UploadSpeed.256000.windows=256000 +waveshare_esp32_s3_touch_lcd_146.menu.UploadSpeed.256000.upload.speed=256000 +waveshare_esp32_s3_touch_lcd_146.menu.UploadSpeed.230400.windows.upload.speed=256000 +waveshare_esp32_s3_touch_lcd_146.menu.UploadSpeed.230400=230400 +waveshare_esp32_s3_touch_lcd_146.menu.UploadSpeed.230400.upload.speed=230400 +waveshare_esp32_s3_touch_lcd_146.menu.UploadSpeed.460800.linux=460800 +waveshare_esp32_s3_touch_lcd_146.menu.UploadSpeed.460800.macosx=460800 +waveshare_esp32_s3_touch_lcd_146.menu.UploadSpeed.460800.upload.speed=460800 +waveshare_esp32_s3_touch_lcd_146.menu.UploadSpeed.512000.windows=512000 +waveshare_esp32_s3_touch_lcd_146.menu.UploadSpeed.512000.upload.speed=512000 + +waveshare_esp32_s3_touch_lcd_146.menu.DebugLevel.none=None +waveshare_esp32_s3_touch_lcd_146.menu.DebugLevel.none.build.code_debug=0 +waveshare_esp32_s3_touch_lcd_146.menu.DebugLevel.error=Error +waveshare_esp32_s3_touch_lcd_146.menu.DebugLevel.error.build.code_debug=1 +waveshare_esp32_s3_touch_lcd_146.menu.DebugLevel.warn=Warn +waveshare_esp32_s3_touch_lcd_146.menu.DebugLevel.warn.build.code_debug=2 +waveshare_esp32_s3_touch_lcd_146.menu.DebugLevel.info=Info +waveshare_esp32_s3_touch_lcd_146.menu.DebugLevel.info.build.code_debug=3 +waveshare_esp32_s3_touch_lcd_146.menu.DebugLevel.debug=Debug +waveshare_esp32_s3_touch_lcd_146.menu.DebugLevel.debug.build.code_debug=4 +waveshare_esp32_s3_touch_lcd_146.menu.DebugLevel.verbose=Verbose +waveshare_esp32_s3_touch_lcd_146.menu.DebugLevel.verbose.build.code_debug=5 + +waveshare_esp32_s3_touch_lcd_146.menu.EraseFlash.none=Disabled +waveshare_esp32_s3_touch_lcd_146.menu.EraseFlash.none.upload.erase_cmd= +waveshare_esp32_s3_touch_lcd_146.menu.EraseFlash.all=Enabled +waveshare_esp32_s3_touch_lcd_146.menu.EraseFlash.all.upload.erase_cmd=-e + +waveshare_esp32_s3_touch_lcd_146.menu.ZigbeeMode.default=Disabled +waveshare_esp32_s3_touch_lcd_146.menu.ZigbeeMode.default.build.zigbee_mode= +waveshare_esp32_s3_touch_lcd_146.menu.ZigbeeMode.default.build.zigbee_libs= +waveshare_esp32_s3_touch_lcd_146.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator/router) +waveshare_esp32_s3_touch_lcd_146.menu.ZigbeeMode.zczr.build.zigbee_mode=-DZIGBEE_MODE_ZCZR +waveshare_esp32_s3_touch_lcd_146.menu.ZigbeeMode.zczr.build.zigbee_libs=-lesp_zb_api_zczr -lesp_zb_cli_command -lzboss_stack.zczr -lzboss_port + +############################################################## + +waveshare_esp32_s3_lcd_146.name=Waveshare ESP32-S3-LCD-1.46 +waveshare_esp32_s3_lcd_146.vid.0=0x303a +waveshare_esp32_s3_lcd_146.pid.0=0x8242 +waveshare_esp32_s3_lcd_146.upload_port.0.vid=0x303a +waveshare_esp32_s3_lcd_146.upload_port.0.pid=0x8242 + +waveshare_esp32_s3_lcd_146.bootloader.tool=esptool_py +waveshare_esp32_s3_lcd_146.bootloader.tool.default=esptool_py + +waveshare_esp32_s3_lcd_146.upload.tool=esptool_py +waveshare_esp32_s3_lcd_146.upload.tool.default=esptool_py +waveshare_esp32_s3_lcd_146.upload.tool.network=esp_ota + +waveshare_esp32_s3_lcd_146.upload.maximum_size=1310720 +waveshare_esp32_s3_lcd_146.upload.maximum_data_size=327680 +waveshare_esp32_s3_lcd_146.upload.flags= +waveshare_esp32_s3_lcd_146.upload.extra_flags= +waveshare_esp32_s3_lcd_146.upload.use_1200bps_touch=false +waveshare_esp32_s3_lcd_146.upload.wait_for_upload_port=false + +waveshare_esp32_s3_lcd_146.serial.disableDTR=false +waveshare_esp32_s3_lcd_146.serial.disableRTS=false + +waveshare_esp32_s3_lcd_146.build.tarch=xtensa +waveshare_esp32_s3_lcd_146.build.bootloader_addr=0x0 +waveshare_esp32_s3_lcd_146.build.target=esp32s3 +waveshare_esp32_s3_lcd_146.build.mcu=esp32s3 +waveshare_esp32_s3_lcd_146.build.core=esp32 +waveshare_esp32_s3_lcd_146.build.variant=waveshare_esp32_s3_lcd_146 +waveshare_esp32_s3_lcd_146.build.board=WAVESHARE_ESP32_S3_LCD_146 + +waveshare_esp32_s3_lcd_146.build.usb_mode=1 +waveshare_esp32_s3_lcd_146.build.cdc_on_boot=0 +waveshare_esp32_s3_lcd_146.build.msc_on_boot=0 +waveshare_esp32_s3_lcd_146.build.dfu_on_boot=0 +waveshare_esp32_s3_lcd_146.build.f_cpu=240000000L +waveshare_esp32_s3_lcd_146.build.flash_size=16MB +waveshare_esp32_s3_lcd_146.build.flash_freq=120m +waveshare_esp32_s3_lcd_146.build.flash_mode=qio +waveshare_esp32_s3_lcd_146.build.boot=qio +waveshare_esp32_s3_lcd_146.build.boot_freq=80m +waveshare_esp32_s3_lcd_146.build.partitions=default +waveshare_esp32_s3_lcd_146.build.defines= +waveshare_esp32_s3_lcd_146.build.loop_core= +waveshare_esp32_s3_lcd_146.build.event_core= +waveshare_esp32_s3_lcd_146.build.psram_type=opi +waveshare_esp32_s3_lcd_146.build.memory_type={build.boot}_{build.psram_type} + +## IDE 2.0 Seems to not update the value +waveshare_esp32_s3_lcd_146.menu.JTAGAdapter.default=Disabled +waveshare_esp32_s3_lcd_146.menu.JTAGAdapter.default.build.copy_jtag_files=0 +waveshare_esp32_s3_lcd_146.menu.JTAGAdapter.builtin=Integrated USB JTAG +waveshare_esp32_s3_lcd_146.menu.JTAGAdapter.builtin.build.openocdscript=esp32s3-builtin.cfg +waveshare_esp32_s3_lcd_146.menu.JTAGAdapter.builtin.build.copy_jtag_files=1 +waveshare_esp32_s3_lcd_146.menu.JTAGAdapter.external=FTDI Adapter +waveshare_esp32_s3_lcd_146.menu.JTAGAdapter.external.build.openocdscript=esp32s3-ftdi.cfg +waveshare_esp32_s3_lcd_146.menu.JTAGAdapter.external.build.copy_jtag_files=1 +waveshare_esp32_s3_lcd_146.menu.JTAGAdapter.bridge=ESP USB Bridge +waveshare_esp32_s3_lcd_146.menu.JTAGAdapter.bridge.build.openocdscript=esp32s3-bridge.cfg +waveshare_esp32_s3_lcd_146.menu.JTAGAdapter.bridge.build.copy_jtag_files=1 + +waveshare_esp32_s3_lcd_146.menu.PSRAM.enabled=Enabled +waveshare_esp32_s3_lcd_146.menu.PSRAM.enabled.build.defines=-DBOARD_HAS_PSRAM +waveshare_esp32_s3_lcd_146.menu.PSRAM.enabled.build.psram_type=opi +waveshare_esp32_s3_lcd_146.menu.PSRAM.disabled=Disabled +waveshare_esp32_s3_lcd_146.menu.PSRAM.disabled.build.defines= +waveshare_esp32_s3_lcd_146.menu.PSRAM.disabled.build.psram_type=qspi + +waveshare_esp32_s3_lcd_146.menu.FlashMode.qio120=QIO 120MHz +waveshare_esp32_s3_lcd_146.menu.FlashMode.qio120.build.flash_mode=dio +waveshare_esp32_s3_lcd_146.menu.FlashMode.qio120.build.boot=qio +waveshare_esp32_s3_lcd_146.menu.FlashMode.qio120.build.boot_freq=120m +waveshare_esp32_s3_lcd_146.menu.FlashMode.qio120.build.flash_freq=80m +waveshare_esp32_s3_lcd_146.menu.FlashMode.qio=QIO 80MHz +waveshare_esp32_s3_lcd_146.menu.FlashMode.qio.build.flash_mode=dio +waveshare_esp32_s3_lcd_146.menu.FlashMode.qio.build.boot=qio +waveshare_esp32_s3_lcd_146.menu.FlashMode.qio.build.boot_freq=80m +waveshare_esp32_s3_lcd_146.menu.FlashMode.qio.build.flash_freq=80m +waveshare_esp32_s3_lcd_146.menu.FlashMode.dio=DIO 80MHz +waveshare_esp32_s3_lcd_146.menu.FlashMode.dio.build.flash_mode=dio +waveshare_esp32_s3_lcd_146.menu.FlashMode.dio.build.boot=dio +waveshare_esp32_s3_lcd_146.menu.FlashMode.dio.build.boot_freq=80m +waveshare_esp32_s3_lcd_146.menu.FlashMode.dio.build.flash_freq=80m +waveshare_esp32_s3_lcd_146.menu.FlashMode.opi=OPI 80MHz +waveshare_esp32_s3_lcd_146.menu.FlashMode.opi.build.flash_mode=dout +waveshare_esp32_s3_lcd_146.menu.FlashMode.opi.build.boot=opi +waveshare_esp32_s3_lcd_146.menu.FlashMode.opi.build.boot_freq=80m +waveshare_esp32_s3_lcd_146.menu.FlashMode.opi.build.flash_freq=80m + +waveshare_esp32_s3_lcd_146.menu.LoopCore.1=Core 1 +waveshare_esp32_s3_lcd_146.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1 +waveshare_esp32_s3_lcd_146.menu.LoopCore.0=Core 0 +waveshare_esp32_s3_lcd_146.menu.LoopCore.0.build.loop_core=-DARDUINO_RUNNING_CORE=0 + +waveshare_esp32_s3_lcd_146.menu.EventsCore.0=Core 0 +waveshare_esp32_s3_lcd_146.menu.EventsCore.0.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=0 +waveshare_esp32_s3_lcd_146.menu.EventsCore.1=Core 1 +waveshare_esp32_s3_lcd_146.menu.EventsCore.1.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=1 + +waveshare_esp32_s3_lcd_146.menu.USBMode.hwcdc=Hardware CDC and JTAG +waveshare_esp32_s3_lcd_146.menu.USBMode.hwcdc.build.usb_mode=1 +waveshare_esp32_s3_lcd_146.menu.USBMode.default=USB-OTG (TinyUSB) +waveshare_esp32_s3_lcd_146.menu.USBMode.default.build.usb_mode=0 + +waveshare_esp32_s3_lcd_146.menu.CDCOnBoot.default=Disabled +waveshare_esp32_s3_lcd_146.menu.CDCOnBoot.default.build.cdc_on_boot=0 +waveshare_esp32_s3_lcd_146.menu.CDCOnBoot.cdc=Enabled +waveshare_esp32_s3_lcd_146.menu.CDCOnBoot.cdc.build.cdc_on_boot=1 + +waveshare_esp32_s3_lcd_146.menu.MSCOnBoot.default=Disabled +waveshare_esp32_s3_lcd_146.menu.MSCOnBoot.default.build.msc_on_boot=0 +waveshare_esp32_s3_lcd_146.menu.MSCOnBoot.msc=Enabled (Requires USB-OTG Mode) +waveshare_esp32_s3_lcd_146.menu.MSCOnBoot.msc.build.msc_on_boot=1 + +waveshare_esp32_s3_lcd_146.menu.DFUOnBoot.default=Disabled +waveshare_esp32_s3_lcd_146.menu.DFUOnBoot.default.build.dfu_on_boot=0 +waveshare_esp32_s3_lcd_146.menu.DFUOnBoot.dfu=Enabled (Requires USB-OTG Mode) +waveshare_esp32_s3_lcd_146.menu.DFUOnBoot.dfu.build.dfu_on_boot=1 + +waveshare_esp32_s3_lcd_146.menu.UploadMode.default=UART0 / Hardware CDC +waveshare_esp32_s3_lcd_146.menu.UploadMode.default.upload.use_1200bps_touch=false +waveshare_esp32_s3_lcd_146.menu.UploadMode.default.upload.wait_for_upload_port=false +waveshare_esp32_s3_lcd_146.menu.UploadMode.cdc=USB-OTG CDC (TinyUSB) +waveshare_esp32_s3_lcd_146.menu.UploadMode.cdc.upload.use_1200bps_touch=true +waveshare_esp32_s3_lcd_146.menu.UploadMode.cdc.upload.wait_for_upload_port=true + +waveshare_esp32_s3_lcd_146.menu.PartitionScheme.esp_sr_16=ESP SR 16M (3MB APP/7MB SPIFFS/2.9MB MODEL) +waveshare_esp32_s3_lcd_146.menu.PartitionScheme.esp_sr_16.upload.maximum_size=3145728 +waveshare_esp32_s3_lcd_146.menu.PartitionScheme.esp_sr_16.upload.extra_flags=0xD10000 {build.path}/srmodels.bin +waveshare_esp32_s3_lcd_146.menu.PartitionScheme.esp_sr_16.build.partitions=esp_sr_16 +waveshare_esp32_s3_lcd_146.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) +waveshare_esp32_s3_lcd_146.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB +waveshare_esp32_s3_lcd_146.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 +waveshare_esp32_s3_lcd_146.menu.PartitionScheme.fatflash=16M Flash (2MB APP/12.5MB FATFS) +waveshare_esp32_s3_lcd_146.menu.PartitionScheme.fatflash.build.partitions=ffat +waveshare_esp32_s3_lcd_146.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 +waveshare_esp32_s3_lcd_146.menu.PartitionScheme.default_8MB=8M with spiffs (3MB APP/1.5MB SPIFFS) +waveshare_esp32_s3_lcd_146.menu.PartitionScheme.default_8MB.build.partitions=default_8MB +waveshare_esp32_s3_lcd_146.menu.PartitionScheme.default_8MB.upload.maximum_size=3342336 +waveshare_esp32_s3_lcd_146.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +waveshare_esp32_s3_lcd_146.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +waveshare_esp32_s3_lcd_146.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 +waveshare_esp32_s3_lcd_146.menu.PartitionScheme.default=Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS) +waveshare_esp32_s3_lcd_146.menu.PartitionScheme.default.build.partitions=default +waveshare_esp32_s3_lcd_146.menu.PartitionScheme.defaultffat=Default 4MB with ffat (1.2MB APP/1.5MB FATFS) +waveshare_esp32_s3_lcd_146.menu.PartitionScheme.defaultffat.build.partitions=default_ffat +waveshare_esp32_s3_lcd_146.menu.PartitionScheme.rainmaker=RainMaker 4MB +waveshare_esp32_s3_lcd_146.menu.PartitionScheme.rainmaker.build.partitions=rainmaker +waveshare_esp32_s3_lcd_146.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +waveshare_esp32_s3_lcd_146.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +waveshare_esp32_s3_lcd_146.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +waveshare_esp32_s3_lcd_146.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +waveshare_esp32_s3_lcd_146.menu.PartitionScheme.huge_app=Huge APP (3MB No OTA/1MB SPIFFS) +waveshare_esp32_s3_lcd_146.menu.PartitionScheme.huge_app.build.partitions=huge_app +waveshare_esp32_s3_lcd_146.menu.PartitionScheme.huge_app.upload.maximum_size=3145728 +waveshare_esp32_s3_lcd_146.menu.PartitionScheme.min_spiffs=Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS) +waveshare_esp32_s3_lcd_146.menu.PartitionScheme.min_spiffs.build.partitions=min_spiffs +waveshare_esp32_s3_lcd_146.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080 +waveshare_esp32_s3_lcd_146.menu.PartitionScheme.minimal=Minimal (1.3MB APP/700KB SPIFFS) +waveshare_esp32_s3_lcd_146.menu.PartitionScheme.minimal.build.partitions=minimal +waveshare_esp32_s3_lcd_146.menu.PartitionScheme.no_fs=No FS 4MB (2MB APP x2) +waveshare_esp32_s3_lcd_146.menu.PartitionScheme.no_fs.build.partitions=no_fs +waveshare_esp32_s3_lcd_146.menu.PartitionScheme.no_fs.upload.maximum_size=2031616 +waveshare_esp32_s3_lcd_146.menu.PartitionScheme.no_ota=No OTA (2MB APP/2MB SPIFFS) +waveshare_esp32_s3_lcd_146.menu.PartitionScheme.no_ota.build.partitions=no_ota +waveshare_esp32_s3_lcd_146.menu.PartitionScheme.no_ota.upload.maximum_size=2097152 +waveshare_esp32_s3_lcd_146.menu.PartitionScheme.noota_3g=No OTA (1MB APP/3MB SPIFFS) +waveshare_esp32_s3_lcd_146.menu.PartitionScheme.noota_3g.build.partitions=noota_3g +waveshare_esp32_s3_lcd_146.menu.PartitionScheme.noota_3g.upload.maximum_size=1048576 +waveshare_esp32_s3_lcd_146.menu.PartitionScheme.noota_ffat=No OTA (2MB APP/2MB FATFS) +waveshare_esp32_s3_lcd_146.menu.PartitionScheme.noota_ffat.build.partitions=noota_ffat +waveshare_esp32_s3_lcd_146.menu.PartitionScheme.noota_ffat.upload.maximum_size=2097152 +waveshare_esp32_s3_lcd_146.menu.PartitionScheme.noota_3gffat=No OTA (1MB APP/3MB FATFS) +waveshare_esp32_s3_lcd_146.menu.PartitionScheme.noota_3gffat.build.partitions=noota_3gffat +waveshare_esp32_s3_lcd_146.menu.PartitionScheme.noota_3gffat.upload.maximum_size=1048576 +waveshare_esp32_s3_lcd_146.menu.PartitionScheme.zigbee_zczr=Zigbee ZCZR 4MB with spiffs +waveshare_esp32_s3_lcd_146.menu.PartitionScheme.zigbee_zczr.build.partitions=zigbee_zczr +waveshare_esp32_s3_lcd_146.menu.PartitionScheme.zigbee_zczr.upload.maximum_size=1310720 +waveshare_esp32_s3_lcd_146.menu.PartitionScheme.custom=Custom +waveshare_esp32_s3_lcd_146.menu.PartitionScheme.custom.build.partitions= +waveshare_esp32_s3_lcd_146.menu.PartitionScheme.custom.upload.maximum_size=16777216 + +waveshare_esp32_s3_lcd_146.menu.CPUFreq.240=240MHz (WiFi) +waveshare_esp32_s3_lcd_146.menu.CPUFreq.240.build.f_cpu=240000000L +waveshare_esp32_s3_lcd_146.menu.CPUFreq.160=160MHz (WiFi) +waveshare_esp32_s3_lcd_146.menu.CPUFreq.160.build.f_cpu=160000000L +waveshare_esp32_s3_lcd_146.menu.CPUFreq.80=80MHz (WiFi) +waveshare_esp32_s3_lcd_146.menu.CPUFreq.80.build.f_cpu=80000000L +waveshare_esp32_s3_lcd_146.menu.CPUFreq.40=40MHz +waveshare_esp32_s3_lcd_146.menu.CPUFreq.40.build.f_cpu=40000000L +waveshare_esp32_s3_lcd_146.menu.CPUFreq.20=20MHz +waveshare_esp32_s3_lcd_146.menu.CPUFreq.20.build.f_cpu=20000000L +waveshare_esp32_s3_lcd_146.menu.CPUFreq.10=10MHz +waveshare_esp32_s3_lcd_146.menu.CPUFreq.10.build.f_cpu=10000000L + +waveshare_esp32_s3_lcd_146.menu.UploadSpeed.921600=921600 +waveshare_esp32_s3_lcd_146.menu.UploadSpeed.921600.upload.speed=921600 +waveshare_esp32_s3_lcd_146.menu.UploadSpeed.115200=115200 +waveshare_esp32_s3_lcd_146.menu.UploadSpeed.115200.upload.speed=115200 +waveshare_esp32_s3_lcd_146.menu.UploadSpeed.256000.windows=256000 +waveshare_esp32_s3_lcd_146.menu.UploadSpeed.256000.upload.speed=256000 +waveshare_esp32_s3_lcd_146.menu.UploadSpeed.230400.windows.upload.speed=256000 +waveshare_esp32_s3_lcd_146.menu.UploadSpeed.230400=230400 +waveshare_esp32_s3_lcd_146.menu.UploadSpeed.230400.upload.speed=230400 +waveshare_esp32_s3_lcd_146.menu.UploadSpeed.460800.linux=460800 +waveshare_esp32_s3_lcd_146.menu.UploadSpeed.460800.macosx=460800 +waveshare_esp32_s3_lcd_146.menu.UploadSpeed.460800.upload.speed=460800 +waveshare_esp32_s3_lcd_146.menu.UploadSpeed.512000.windows=512000 +waveshare_esp32_s3_lcd_146.menu.UploadSpeed.512000.upload.speed=512000 + +waveshare_esp32_s3_lcd_146.menu.DebugLevel.none=None +waveshare_esp32_s3_lcd_146.menu.DebugLevel.none.build.code_debug=0 +waveshare_esp32_s3_lcd_146.menu.DebugLevel.error=Error +waveshare_esp32_s3_lcd_146.menu.DebugLevel.error.build.code_debug=1 +waveshare_esp32_s3_lcd_146.menu.DebugLevel.warn=Warn +waveshare_esp32_s3_lcd_146.menu.DebugLevel.warn.build.code_debug=2 +waveshare_esp32_s3_lcd_146.menu.DebugLevel.info=Info +waveshare_esp32_s3_lcd_146.menu.DebugLevel.info.build.code_debug=3 +waveshare_esp32_s3_lcd_146.menu.DebugLevel.debug=Debug +waveshare_esp32_s3_lcd_146.menu.DebugLevel.debug.build.code_debug=4 +waveshare_esp32_s3_lcd_146.menu.DebugLevel.verbose=Verbose +waveshare_esp32_s3_lcd_146.menu.DebugLevel.verbose.build.code_debug=5 + +waveshare_esp32_s3_lcd_146.menu.EraseFlash.none=Disabled +waveshare_esp32_s3_lcd_146.menu.EraseFlash.none.upload.erase_cmd= +waveshare_esp32_s3_lcd_146.menu.EraseFlash.all=Enabled +waveshare_esp32_s3_lcd_146.menu.EraseFlash.all.upload.erase_cmd=-e + +waveshare_esp32_s3_lcd_146.menu.ZigbeeMode.default=Disabled +waveshare_esp32_s3_lcd_146.menu.ZigbeeMode.default.build.zigbee_mode= +waveshare_esp32_s3_lcd_146.menu.ZigbeeMode.default.build.zigbee_libs= +waveshare_esp32_s3_lcd_146.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator/router) +waveshare_esp32_s3_lcd_146.menu.ZigbeeMode.zczr.build.zigbee_mode=-DZIGBEE_MODE_ZCZR +waveshare_esp32_s3_lcd_146.menu.ZigbeeMode.zczr.build.zigbee_libs=-lesp_zb_api_zczr -lesp_zb_cli_command -lzboss_stack.zczr -lzboss_port + +############################################################## + +waveshare_esp32_s3_touch_lcd_185_box.name=Waveshare ESP32-S3-Touch-LCD-1.85-BOX +waveshare_esp32_s3_touch_lcd_185_box.vid.0=0x303a +waveshare_esp32_s3_touch_lcd_185_box.pid.0=0x8242 +waveshare_esp32_s3_touch_lcd_185_box.upload_port.0.vid=0x303a +waveshare_esp32_s3_touch_lcd_185_box.upload_port.0.pid=0x8242 + +waveshare_esp32_s3_touch_lcd_185_box.bootloader.tool=esptool_py +waveshare_esp32_s3_touch_lcd_185_box.bootloader.tool.default=esptool_py + +waveshare_esp32_s3_touch_lcd_185_box.upload.tool=esptool_py +waveshare_esp32_s3_touch_lcd_185_box.upload.tool.default=esptool_py +waveshare_esp32_s3_touch_lcd_185_box.upload.tool.network=esp_ota + +waveshare_esp32_s3_touch_lcd_185_box.upload.maximum_size=1310720 +waveshare_esp32_s3_touch_lcd_185_box.upload.maximum_data_size=327680 +waveshare_esp32_s3_touch_lcd_185_box.upload.flags= +waveshare_esp32_s3_touch_lcd_185_box.upload.extra_flags= +waveshare_esp32_s3_touch_lcd_185_box.upload.use_1200bps_touch=false +waveshare_esp32_s3_touch_lcd_185_box.upload.wait_for_upload_port=false + +waveshare_esp32_s3_touch_lcd_185_box.serial.disableDTR=false +waveshare_esp32_s3_touch_lcd_185_box.serial.disableRTS=false + +waveshare_esp32_s3_touch_lcd_185_box.build.tarch=xtensa +waveshare_esp32_s3_touch_lcd_185_box.build.bootloader_addr=0x0 +waveshare_esp32_s3_touch_lcd_185_box.build.target=esp32s3 +waveshare_esp32_s3_touch_lcd_185_box.build.mcu=esp32s3 +waveshare_esp32_s3_touch_lcd_185_box.build.core=esp32 +waveshare_esp32_s3_touch_lcd_185_box.build.variant=waveshare_esp32_s3_touch_lcd_185_box +waveshare_esp32_s3_touch_lcd_185_box.build.board=WAVESHARE_ESP32_S3_TOUCH_LCD_185_BOX + +waveshare_esp32_s3_touch_lcd_185_box.build.usb_mode=1 +waveshare_esp32_s3_touch_lcd_185_box.build.cdc_on_boot=0 +waveshare_esp32_s3_touch_lcd_185_box.build.msc_on_boot=0 +waveshare_esp32_s3_touch_lcd_185_box.build.dfu_on_boot=0 +waveshare_esp32_s3_touch_lcd_185_box.build.f_cpu=240000000L +waveshare_esp32_s3_touch_lcd_185_box.build.flash_size=16MB +waveshare_esp32_s3_touch_lcd_185_box.build.flash_freq=120m +waveshare_esp32_s3_touch_lcd_185_box.build.flash_mode=qio +waveshare_esp32_s3_touch_lcd_185_box.build.boot=qio +waveshare_esp32_s3_touch_lcd_185_box.build.boot_freq=80m +waveshare_esp32_s3_touch_lcd_185_box.build.partitions=default +waveshare_esp32_s3_touch_lcd_185_box.build.defines= +waveshare_esp32_s3_touch_lcd_185_box.build.loop_core= +waveshare_esp32_s3_touch_lcd_185_box.build.event_core= +waveshare_esp32_s3_touch_lcd_185_box.build.psram_type=opi +waveshare_esp32_s3_touch_lcd_185_box.build.memory_type={build.boot}_{build.psram_type} + +## IDE 2.0 Seems to not update the value +waveshare_esp32_s3_touch_lcd_185_box.menu.JTAGAdapter.default=Disabled +waveshare_esp32_s3_touch_lcd_185_box.menu.JTAGAdapter.default.build.copy_jtag_files=0 +waveshare_esp32_s3_touch_lcd_185_box.menu.JTAGAdapter.builtin=Integrated USB JTAG +waveshare_esp32_s3_touch_lcd_185_box.menu.JTAGAdapter.builtin.build.openocdscript=esp32s3-builtin.cfg +waveshare_esp32_s3_touch_lcd_185_box.menu.JTAGAdapter.builtin.build.copy_jtag_files=1 +waveshare_esp32_s3_touch_lcd_185_box.menu.JTAGAdapter.external=FTDI Adapter +waveshare_esp32_s3_touch_lcd_185_box.menu.JTAGAdapter.external.build.openocdscript=esp32s3-ftdi.cfg +waveshare_esp32_s3_touch_lcd_185_box.menu.JTAGAdapter.external.build.copy_jtag_files=1 +waveshare_esp32_s3_touch_lcd_185_box.menu.JTAGAdapter.bridge=ESP USB Bridge +waveshare_esp32_s3_touch_lcd_185_box.menu.JTAGAdapter.bridge.build.openocdscript=esp32s3-bridge.cfg +waveshare_esp32_s3_touch_lcd_185_box.menu.JTAGAdapter.bridge.build.copy_jtag_files=1 + +waveshare_esp32_s3_touch_lcd_185_box.menu.PSRAM.enabled=Enabled +waveshare_esp32_s3_touch_lcd_185_box.menu.PSRAM.enabled.build.defines=-DBOARD_HAS_PSRAM +waveshare_esp32_s3_touch_lcd_185_box.menu.PSRAM.enabled.build.psram_type=opi +waveshare_esp32_s3_touch_lcd_185_box.menu.PSRAM.disabled=Disabled +waveshare_esp32_s3_touch_lcd_185_box.menu.PSRAM.disabled.build.defines= +waveshare_esp32_s3_touch_lcd_185_box.menu.PSRAM.disabled.build.psram_type=qspi + +waveshare_esp32_s3_touch_lcd_185_box.menu.FlashMode.qio120=QIO 120MHz +waveshare_esp32_s3_touch_lcd_185_box.menu.FlashMode.qio120.build.flash_mode=dio +waveshare_esp32_s3_touch_lcd_185_box.menu.FlashMode.qio120.build.boot=qio +waveshare_esp32_s3_touch_lcd_185_box.menu.FlashMode.qio120.build.boot_freq=120m +waveshare_esp32_s3_touch_lcd_185_box.menu.FlashMode.qio120.build.flash_freq=80m +waveshare_esp32_s3_touch_lcd_185_box.menu.FlashMode.qio=QIO 80MHz +waveshare_esp32_s3_touch_lcd_185_box.menu.FlashMode.qio.build.flash_mode=dio +waveshare_esp32_s3_touch_lcd_185_box.menu.FlashMode.qio.build.boot=qio +waveshare_esp32_s3_touch_lcd_185_box.menu.FlashMode.qio.build.boot_freq=80m +waveshare_esp32_s3_touch_lcd_185_box.menu.FlashMode.qio.build.flash_freq=80m +waveshare_esp32_s3_touch_lcd_185_box.menu.FlashMode.dio=DIO 80MHz +waveshare_esp32_s3_touch_lcd_185_box.menu.FlashMode.dio.build.flash_mode=dio +waveshare_esp32_s3_touch_lcd_185_box.menu.FlashMode.dio.build.boot=dio +waveshare_esp32_s3_touch_lcd_185_box.menu.FlashMode.dio.build.boot_freq=80m +waveshare_esp32_s3_touch_lcd_185_box.menu.FlashMode.dio.build.flash_freq=80m +waveshare_esp32_s3_touch_lcd_185_box.menu.FlashMode.opi=OPI 80MHz +waveshare_esp32_s3_touch_lcd_185_box.menu.FlashMode.opi.build.flash_mode=dout +waveshare_esp32_s3_touch_lcd_185_box.menu.FlashMode.opi.build.boot=opi +waveshare_esp32_s3_touch_lcd_185_box.menu.FlashMode.opi.build.boot_freq=80m +waveshare_esp32_s3_touch_lcd_185_box.menu.FlashMode.opi.build.flash_freq=80m + +waveshare_esp32_s3_touch_lcd_185_box.menu.LoopCore.1=Core 1 +waveshare_esp32_s3_touch_lcd_185_box.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1 +waveshare_esp32_s3_touch_lcd_185_box.menu.LoopCore.0=Core 0 +waveshare_esp32_s3_touch_lcd_185_box.menu.LoopCore.0.build.loop_core=-DARDUINO_RUNNING_CORE=0 + +waveshare_esp32_s3_touch_lcd_185_box.menu.EventsCore.0=Core 0 +waveshare_esp32_s3_touch_lcd_185_box.menu.EventsCore.0.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=0 +waveshare_esp32_s3_touch_lcd_185_box.menu.EventsCore.1=Core 1 +waveshare_esp32_s3_touch_lcd_185_box.menu.EventsCore.1.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=1 + +waveshare_esp32_s3_touch_lcd_185_box.menu.USBMode.hwcdc=Hardware CDC and JTAG +waveshare_esp32_s3_touch_lcd_185_box.menu.USBMode.hwcdc.build.usb_mode=1 +waveshare_esp32_s3_touch_lcd_185_box.menu.USBMode.default=USB-OTG (TinyUSB) +waveshare_esp32_s3_touch_lcd_185_box.menu.USBMode.default.build.usb_mode=0 + +waveshare_esp32_s3_touch_lcd_185_box.menu.CDCOnBoot.default=Disabled +waveshare_esp32_s3_touch_lcd_185_box.menu.CDCOnBoot.default.build.cdc_on_boot=0 +waveshare_esp32_s3_touch_lcd_185_box.menu.CDCOnBoot.cdc=Enabled +waveshare_esp32_s3_touch_lcd_185_box.menu.CDCOnBoot.cdc.build.cdc_on_boot=1 + +waveshare_esp32_s3_touch_lcd_185_box.menu.MSCOnBoot.default=Disabled +waveshare_esp32_s3_touch_lcd_185_box.menu.MSCOnBoot.default.build.msc_on_boot=0 +waveshare_esp32_s3_touch_lcd_185_box.menu.MSCOnBoot.msc=Enabled (Requires USB-OTG Mode) +waveshare_esp32_s3_touch_lcd_185_box.menu.MSCOnBoot.msc.build.msc_on_boot=1 + +waveshare_esp32_s3_touch_lcd_185_box.menu.DFUOnBoot.default=Disabled +waveshare_esp32_s3_touch_lcd_185_box.menu.DFUOnBoot.default.build.dfu_on_boot=0 +waveshare_esp32_s3_touch_lcd_185_box.menu.DFUOnBoot.dfu=Enabled (Requires USB-OTG Mode) +waveshare_esp32_s3_touch_lcd_185_box.menu.DFUOnBoot.dfu.build.dfu_on_boot=1 + +waveshare_esp32_s3_touch_lcd_185_box.menu.UploadMode.default=UART0 / Hardware CDC +waveshare_esp32_s3_touch_lcd_185_box.menu.UploadMode.default.upload.use_1200bps_touch=false +waveshare_esp32_s3_touch_lcd_185_box.menu.UploadMode.default.upload.wait_for_upload_port=false +waveshare_esp32_s3_touch_lcd_185_box.menu.UploadMode.cdc=USB-OTG CDC (TinyUSB) +waveshare_esp32_s3_touch_lcd_185_box.menu.UploadMode.cdc.upload.use_1200bps_touch=true +waveshare_esp32_s3_touch_lcd_185_box.menu.UploadMode.cdc.upload.wait_for_upload_port=true + +waveshare_esp32_s3_touch_lcd_185_box.menu.PartitionScheme.esp_sr_16=ESP SR 16M (3MB APP/7MB SPIFFS/2.9MB MODEL) +waveshare_esp32_s3_touch_lcd_185_box.menu.PartitionScheme.esp_sr_16.upload.maximum_size=3145728 +waveshare_esp32_s3_touch_lcd_185_box.menu.PartitionScheme.esp_sr_16.upload.extra_flags=0xD10000 {build.path}/srmodels.bin +waveshare_esp32_s3_touch_lcd_185_box.menu.PartitionScheme.esp_sr_16.build.partitions=esp_sr_16 +waveshare_esp32_s3_touch_lcd_185_box.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) +waveshare_esp32_s3_touch_lcd_185_box.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB +waveshare_esp32_s3_touch_lcd_185_box.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 +waveshare_esp32_s3_touch_lcd_185_box.menu.PartitionScheme.fatflash=16M Flash (2MB APP/12.5MB FATFS) +waveshare_esp32_s3_touch_lcd_185_box.menu.PartitionScheme.fatflash.build.partitions=ffat +waveshare_esp32_s3_touch_lcd_185_box.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 +waveshare_esp32_s3_touch_lcd_185_box.menu.PartitionScheme.default_8MB=8M with spiffs (3MB APP/1.5MB SPIFFS) +waveshare_esp32_s3_touch_lcd_185_box.menu.PartitionScheme.default_8MB.build.partitions=default_8MB +waveshare_esp32_s3_touch_lcd_185_box.menu.PartitionScheme.default_8MB.upload.maximum_size=3342336 +waveshare_esp32_s3_touch_lcd_185_box.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +waveshare_esp32_s3_touch_lcd_185_box.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +waveshare_esp32_s3_touch_lcd_185_box.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 +waveshare_esp32_s3_touch_lcd_185_box.menu.PartitionScheme.default=Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS) +waveshare_esp32_s3_touch_lcd_185_box.menu.PartitionScheme.default.build.partitions=default +waveshare_esp32_s3_touch_lcd_185_box.menu.PartitionScheme.defaultffat=Default 4MB with ffat (1.2MB APP/1.5MB FATFS) +waveshare_esp32_s3_touch_lcd_185_box.menu.PartitionScheme.defaultffat.build.partitions=default_ffat +waveshare_esp32_s3_touch_lcd_185_box.menu.PartitionScheme.rainmaker=RainMaker 4MB +waveshare_esp32_s3_touch_lcd_185_box.menu.PartitionScheme.rainmaker.build.partitions=rainmaker +waveshare_esp32_s3_touch_lcd_185_box.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +waveshare_esp32_s3_touch_lcd_185_box.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +waveshare_esp32_s3_touch_lcd_185_box.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +waveshare_esp32_s3_touch_lcd_185_box.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +waveshare_esp32_s3_touch_lcd_185_box.menu.PartitionScheme.huge_app=Huge APP (3MB No OTA/1MB SPIFFS) +waveshare_esp32_s3_touch_lcd_185_box.menu.PartitionScheme.huge_app.build.partitions=huge_app +waveshare_esp32_s3_touch_lcd_185_box.menu.PartitionScheme.huge_app.upload.maximum_size=3145728 +waveshare_esp32_s3_touch_lcd_185_box.menu.PartitionScheme.min_spiffs=Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS) +waveshare_esp32_s3_touch_lcd_185_box.menu.PartitionScheme.min_spiffs.build.partitions=min_spiffs +waveshare_esp32_s3_touch_lcd_185_box.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080 +waveshare_esp32_s3_touch_lcd_185_box.menu.PartitionScheme.minimal=Minimal (1.3MB APP/700KB SPIFFS) +waveshare_esp32_s3_touch_lcd_185_box.menu.PartitionScheme.minimal.build.partitions=minimal +waveshare_esp32_s3_touch_lcd_185_box.menu.PartitionScheme.no_fs=No FS 4MB (2MB APP x2) +waveshare_esp32_s3_touch_lcd_185_box.menu.PartitionScheme.no_fs.build.partitions=no_fs +waveshare_esp32_s3_touch_lcd_185_box.menu.PartitionScheme.no_fs.upload.maximum_size=2031616 +waveshare_esp32_s3_touch_lcd_185_box.menu.PartitionScheme.no_ota=No OTA (2MB APP/2MB SPIFFS) +waveshare_esp32_s3_touch_lcd_185_box.menu.PartitionScheme.no_ota.build.partitions=no_ota +waveshare_esp32_s3_touch_lcd_185_box.menu.PartitionScheme.no_ota.upload.maximum_size=2097152 +waveshare_esp32_s3_touch_lcd_185_box.menu.PartitionScheme.noota_3g=No OTA (1MB APP/3MB SPIFFS) +waveshare_esp32_s3_touch_lcd_185_box.menu.PartitionScheme.noota_3g.build.partitions=noota_3g +waveshare_esp32_s3_touch_lcd_185_box.menu.PartitionScheme.noota_3g.upload.maximum_size=1048576 +waveshare_esp32_s3_touch_lcd_185_box.menu.PartitionScheme.noota_ffat=No OTA (2MB APP/2MB FATFS) +waveshare_esp32_s3_touch_lcd_185_box.menu.PartitionScheme.noota_ffat.build.partitions=noota_ffat +waveshare_esp32_s3_touch_lcd_185_box.menu.PartitionScheme.noota_ffat.upload.maximum_size=2097152 +waveshare_esp32_s3_touch_lcd_185_box.menu.PartitionScheme.noota_3gffat=No OTA (1MB APP/3MB FATFS) +waveshare_esp32_s3_touch_lcd_185_box.menu.PartitionScheme.noota_3gffat.build.partitions=noota_3gffat +waveshare_esp32_s3_touch_lcd_185_box.menu.PartitionScheme.noota_3gffat.upload.maximum_size=1048576 +waveshare_esp32_s3_touch_lcd_185_box.menu.PartitionScheme.zigbee_zczr=Zigbee ZCZR 4MB with spiffs +waveshare_esp32_s3_touch_lcd_185_box.menu.PartitionScheme.zigbee_zczr.build.partitions=zigbee_zczr +waveshare_esp32_s3_touch_lcd_185_box.menu.PartitionScheme.zigbee_zczr.upload.maximum_size=1310720 +waveshare_esp32_s3_touch_lcd_185_box.menu.PartitionScheme.custom=Custom +waveshare_esp32_s3_touch_lcd_185_box.menu.PartitionScheme.custom.build.partitions= +waveshare_esp32_s3_touch_lcd_185_box.menu.PartitionScheme.custom.upload.maximum_size=16777216 + +waveshare_esp32_s3_touch_lcd_185_box.menu.CPUFreq.240=240MHz (WiFi) +waveshare_esp32_s3_touch_lcd_185_box.menu.CPUFreq.240.build.f_cpu=240000000L +waveshare_esp32_s3_touch_lcd_185_box.menu.CPUFreq.160=160MHz (WiFi) +waveshare_esp32_s3_touch_lcd_185_box.menu.CPUFreq.160.build.f_cpu=160000000L +waveshare_esp32_s3_touch_lcd_185_box.menu.CPUFreq.80=80MHz (WiFi) +waveshare_esp32_s3_touch_lcd_185_box.menu.CPUFreq.80.build.f_cpu=80000000L +waveshare_esp32_s3_touch_lcd_185_box.menu.CPUFreq.40=40MHz +waveshare_esp32_s3_touch_lcd_185_box.menu.CPUFreq.40.build.f_cpu=40000000L +waveshare_esp32_s3_touch_lcd_185_box.menu.CPUFreq.20=20MHz +waveshare_esp32_s3_touch_lcd_185_box.menu.CPUFreq.20.build.f_cpu=20000000L +waveshare_esp32_s3_touch_lcd_185_box.menu.CPUFreq.10=10MHz +waveshare_esp32_s3_touch_lcd_185_box.menu.CPUFreq.10.build.f_cpu=10000000L + +waveshare_esp32_s3_touch_lcd_185_box.menu.UploadSpeed.921600=921600 +waveshare_esp32_s3_touch_lcd_185_box.menu.UploadSpeed.921600.upload.speed=921600 +waveshare_esp32_s3_touch_lcd_185_box.menu.UploadSpeed.115200=115200 +waveshare_esp32_s3_touch_lcd_185_box.menu.UploadSpeed.115200.upload.speed=115200 +waveshare_esp32_s3_touch_lcd_185_box.menu.UploadSpeed.256000.windows=256000 +waveshare_esp32_s3_touch_lcd_185_box.menu.UploadSpeed.256000.upload.speed=256000 +waveshare_esp32_s3_touch_lcd_185_box.menu.UploadSpeed.230400.windows.upload.speed=256000 +waveshare_esp32_s3_touch_lcd_185_box.menu.UploadSpeed.230400=230400 +waveshare_esp32_s3_touch_lcd_185_box.menu.UploadSpeed.230400.upload.speed=230400 +waveshare_esp32_s3_touch_lcd_185_box.menu.UploadSpeed.460800.linux=460800 +waveshare_esp32_s3_touch_lcd_185_box.menu.UploadSpeed.460800.macosx=460800 +waveshare_esp32_s3_touch_lcd_185_box.menu.UploadSpeed.460800.upload.speed=460800 +waveshare_esp32_s3_touch_lcd_185_box.menu.UploadSpeed.512000.windows=512000 +waveshare_esp32_s3_touch_lcd_185_box.menu.UploadSpeed.512000.upload.speed=512000 + +waveshare_esp32_s3_touch_lcd_185_box.menu.DebugLevel.none=None +waveshare_esp32_s3_touch_lcd_185_box.menu.DebugLevel.none.build.code_debug=0 +waveshare_esp32_s3_touch_lcd_185_box.menu.DebugLevel.error=Error +waveshare_esp32_s3_touch_lcd_185_box.menu.DebugLevel.error.build.code_debug=1 +waveshare_esp32_s3_touch_lcd_185_box.menu.DebugLevel.warn=Warn +waveshare_esp32_s3_touch_lcd_185_box.menu.DebugLevel.warn.build.code_debug=2 +waveshare_esp32_s3_touch_lcd_185_box.menu.DebugLevel.info=Info +waveshare_esp32_s3_touch_lcd_185_box.menu.DebugLevel.info.build.code_debug=3 +waveshare_esp32_s3_touch_lcd_185_box.menu.DebugLevel.debug=Debug +waveshare_esp32_s3_touch_lcd_185_box.menu.DebugLevel.debug.build.code_debug=4 +waveshare_esp32_s3_touch_lcd_185_box.menu.DebugLevel.verbose=Verbose +waveshare_esp32_s3_touch_lcd_185_box.menu.DebugLevel.verbose.build.code_debug=5 + +waveshare_esp32_s3_touch_lcd_185_box.menu.EraseFlash.none=Disabled +waveshare_esp32_s3_touch_lcd_185_box.menu.EraseFlash.none.upload.erase_cmd= +waveshare_esp32_s3_touch_lcd_185_box.menu.EraseFlash.all=Enabled +waveshare_esp32_s3_touch_lcd_185_box.menu.EraseFlash.all.upload.erase_cmd=-e + +waveshare_esp32_s3_touch_lcd_185_box.menu.ZigbeeMode.default=Disabled +waveshare_esp32_s3_touch_lcd_185_box.menu.ZigbeeMode.default.build.zigbee_mode= +waveshare_esp32_s3_touch_lcd_185_box.menu.ZigbeeMode.default.build.zigbee_libs= +waveshare_esp32_s3_touch_lcd_185_box.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator/router) +waveshare_esp32_s3_touch_lcd_185_box.menu.ZigbeeMode.zczr.build.zigbee_mode=-DZIGBEE_MODE_ZCZR +waveshare_esp32_s3_touch_lcd_185_box.menu.ZigbeeMode.zczr.build.zigbee_libs=-lesp_zb_api_zczr -lesp_zb_cli_command -lzboss_stack.zczr -lzboss_port + +############################################################## + +waveshare_esp32_s3_lcd_147.name=Waveshare ESP32-S3-LCD-1.47 +waveshare_esp32_s3_lcd_147.vid.0=0x303a +waveshare_esp32_s3_lcd_147.pid.0=0x8242 +waveshare_esp32_s3_lcd_147.upload_port.0.vid=0x303a +waveshare_esp32_s3_lcd_147.upload_port.0.pid=0x8242 + +waveshare_esp32_s3_lcd_147.bootloader.tool=esptool_py +waveshare_esp32_s3_lcd_147.bootloader.tool.default=esptool_py + +waveshare_esp32_s3_lcd_147.upload.tool=esptool_py +waveshare_esp32_s3_lcd_147.upload.tool.default=esptool_py +waveshare_esp32_s3_lcd_147.upload.tool.network=esp_ota + +waveshare_esp32_s3_lcd_147.upload.maximum_size=1310720 +waveshare_esp32_s3_lcd_147.upload.maximum_data_size=327680 +waveshare_esp32_s3_lcd_147.upload.flags= +waveshare_esp32_s3_lcd_147.upload.extra_flags= +waveshare_esp32_s3_lcd_147.upload.use_1200bps_touch=false +waveshare_esp32_s3_lcd_147.upload.wait_for_upload_port=false + +waveshare_esp32_s3_lcd_147.serial.disableDTR=false +waveshare_esp32_s3_lcd_147.serial.disableRTS=false + +waveshare_esp32_s3_lcd_147.build.tarch=xtensa +waveshare_esp32_s3_lcd_147.build.bootloader_addr=0x0 +waveshare_esp32_s3_lcd_147.build.target=esp32s3 +waveshare_esp32_s3_lcd_147.build.mcu=esp32s3 +waveshare_esp32_s3_lcd_147.build.core=esp32 +waveshare_esp32_s3_lcd_147.build.variant=waveshare_esp32_s3_lcd_147 +waveshare_esp32_s3_lcd_147.build.board=WAVESHARE_ESP32_S3_LCD_147 + +waveshare_esp32_s3_lcd_147.build.usb_mode=1 +waveshare_esp32_s3_lcd_147.build.cdc_on_boot=0 +waveshare_esp32_s3_lcd_147.build.msc_on_boot=0 +waveshare_esp32_s3_lcd_147.build.dfu_on_boot=0 +waveshare_esp32_s3_lcd_147.build.f_cpu=240000000L +waveshare_esp32_s3_lcd_147.build.flash_size=16MB +waveshare_esp32_s3_lcd_147.build.flash_freq=80m +waveshare_esp32_s3_lcd_147.build.flash_mode=qio +waveshare_esp32_s3_lcd_147.build.boot=qio +waveshare_esp32_s3_lcd_147.build.boot_freq=80m +waveshare_esp32_s3_lcd_147.build.partitions=default +waveshare_esp32_s3_lcd_147.build.defines= +waveshare_esp32_s3_lcd_147.build.loop_core= +waveshare_esp32_s3_lcd_147.build.event_core= +waveshare_esp32_s3_lcd_147.build.psram_type=opi +waveshare_esp32_s3_lcd_147.build.memory_type={build.boot}_{build.psram_type} + +## IDE 2.0 Seems to not update the value +waveshare_esp32_s3_lcd_147.menu.JTAGAdapter.default=Disabled +waveshare_esp32_s3_lcd_147.menu.JTAGAdapter.default.build.copy_jtag_files=0 +waveshare_esp32_s3_lcd_147.menu.JTAGAdapter.builtin=Integrated USB JTAG +waveshare_esp32_s3_lcd_147.menu.JTAGAdapter.builtin.build.openocdscript=esp32s3-builtin.cfg +waveshare_esp32_s3_lcd_147.menu.JTAGAdapter.builtin.build.copy_jtag_files=1 +waveshare_esp32_s3_lcd_147.menu.JTAGAdapter.external=FTDI Adapter +waveshare_esp32_s3_lcd_147.menu.JTAGAdapter.external.build.openocdscript=esp32s3-ftdi.cfg +waveshare_esp32_s3_lcd_147.menu.JTAGAdapter.external.build.copy_jtag_files=1 +waveshare_esp32_s3_lcd_147.menu.JTAGAdapter.bridge=ESP USB Bridge +waveshare_esp32_s3_lcd_147.menu.JTAGAdapter.bridge.build.openocdscript=esp32s3-bridge.cfg +waveshare_esp32_s3_lcd_147.menu.JTAGAdapter.bridge.build.copy_jtag_files=1 + +waveshare_esp32_s3_lcd_147.menu.PSRAM.enabled=Enabled +waveshare_esp32_s3_lcd_147.menu.PSRAM.enabled.build.defines=-DBOARD_HAS_PSRAM +waveshare_esp32_s3_lcd_147.menu.PSRAM.enabled.build.psram_type=opi +waveshare_esp32_s3_lcd_147.menu.PSRAM.disabled=Disabled +waveshare_esp32_s3_lcd_147.menu.PSRAM.disabled.build.defines= +waveshare_esp32_s3_lcd_147.menu.PSRAM.disabled.build.psram_type=qspi + +waveshare_esp32_s3_lcd_147.menu.FlashMode.qio=QIO 80MHz +waveshare_esp32_s3_lcd_147.menu.FlashMode.qio.build.flash_mode=dio +waveshare_esp32_s3_lcd_147.menu.FlashMode.qio.build.boot=qio +waveshare_esp32_s3_lcd_147.menu.FlashMode.qio.build.boot_freq=80m +waveshare_esp32_s3_lcd_147.menu.FlashMode.qio.build.flash_freq=80m +waveshare_esp32_s3_lcd_147.menu.FlashMode.qio120=QIO 120MHz +waveshare_esp32_s3_lcd_147.menu.FlashMode.qio120.build.flash_mode=dio +waveshare_esp32_s3_lcd_147.menu.FlashMode.qio120.build.boot=qio +waveshare_esp32_s3_lcd_147.menu.FlashMode.qio120.build.boot_freq=120m +waveshare_esp32_s3_lcd_147.menu.FlashMode.qio120.build.flash_freq=80m +waveshare_esp32_s3_lcd_147.menu.FlashMode.dio=DIO 80MHz +waveshare_esp32_s3_lcd_147.menu.FlashMode.dio.build.flash_mode=dio +waveshare_esp32_s3_lcd_147.menu.FlashMode.dio.build.boot=dio +waveshare_esp32_s3_lcd_147.menu.FlashMode.dio.build.boot_freq=80m +waveshare_esp32_s3_lcd_147.menu.FlashMode.dio.build.flash_freq=80m +waveshare_esp32_s3_lcd_147.menu.FlashMode.opi=OPI 80MHz +waveshare_esp32_s3_lcd_147.menu.FlashMode.opi.build.flash_mode=dout +waveshare_esp32_s3_lcd_147.menu.FlashMode.opi.build.boot=opi +waveshare_esp32_s3_lcd_147.menu.FlashMode.opi.build.boot_freq=80m +waveshare_esp32_s3_lcd_147.menu.FlashMode.opi.build.flash_freq=80m + +waveshare_esp32_s3_lcd_147.menu.LoopCore.1=Core 1 +waveshare_esp32_s3_lcd_147.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1 +waveshare_esp32_s3_lcd_147.menu.LoopCore.0=Core 0 +waveshare_esp32_s3_lcd_147.menu.LoopCore.0.build.loop_core=-DARDUINO_RUNNING_CORE=0 + +waveshare_esp32_s3_lcd_147.menu.EventsCore.1=Core 1 +waveshare_esp32_s3_lcd_147.menu.EventsCore.1.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=1 +waveshare_esp32_s3_lcd_147.menu.EventsCore.0=Core 0 +waveshare_esp32_s3_lcd_147.menu.EventsCore.0.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=0 + +waveshare_esp32_s3_lcd_147.menu.USBMode.hwcdc=Hardware CDC and JTAG +waveshare_esp32_s3_lcd_147.menu.USBMode.hwcdc.build.usb_mode=1 +waveshare_esp32_s3_lcd_147.menu.USBMode.default=USB-OTG (TinyUSB) +waveshare_esp32_s3_lcd_147.menu.USBMode.default.build.usb_mode=0 + +waveshare_esp32_s3_lcd_147.menu.CDCOnBoot.default=Disabled +waveshare_esp32_s3_lcd_147.menu.CDCOnBoot.default.build.cdc_on_boot=0 +waveshare_esp32_s3_lcd_147.menu.CDCOnBoot.cdc=Enabled +waveshare_esp32_s3_lcd_147.menu.CDCOnBoot.cdc.build.cdc_on_boot=1 + +waveshare_esp32_s3_lcd_147.menu.MSCOnBoot.default=Disabled +waveshare_esp32_s3_lcd_147.menu.MSCOnBoot.default.build.msc_on_boot=0 +waveshare_esp32_s3_lcd_147.menu.MSCOnBoot.msc=Enabled (Requires USB-OTG Mode) +waveshare_esp32_s3_lcd_147.menu.MSCOnBoot.msc.build.msc_on_boot=1 + +waveshare_esp32_s3_lcd_147.menu.DFUOnBoot.default=Disabled +waveshare_esp32_s3_lcd_147.menu.DFUOnBoot.default.build.dfu_on_boot=0 +waveshare_esp32_s3_lcd_147.menu.DFUOnBoot.dfu=Enabled (Requires USB-OTG Mode) +waveshare_esp32_s3_lcd_147.menu.DFUOnBoot.dfu.build.dfu_on_boot=1 + +waveshare_esp32_s3_lcd_147.menu.UploadMode.default=UART0 / Hardware CDC +waveshare_esp32_s3_lcd_147.menu.UploadMode.default.upload.use_1200bps_touch=false +waveshare_esp32_s3_lcd_147.menu.UploadMode.default.upload.wait_for_upload_port=false +waveshare_esp32_s3_lcd_147.menu.UploadMode.cdc=USB-OTG CDC (TinyUSB) +waveshare_esp32_s3_lcd_147.menu.UploadMode.cdc.upload.use_1200bps_touch=true +waveshare_esp32_s3_lcd_147.menu.UploadMode.cdc.upload.wait_for_upload_port=true + +waveshare_esp32_s3_lcd_147.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) +waveshare_esp32_s3_lcd_147.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB +waveshare_esp32_s3_lcd_147.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 +waveshare_esp32_s3_lcd_147.menu.PartitionScheme.fatflash=16M Flash (2MB APP/12.5MB FATFS) +waveshare_esp32_s3_lcd_147.menu.PartitionScheme.fatflash.build.partitions=ffat +waveshare_esp32_s3_lcd_147.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 +waveshare_esp32_s3_lcd_147.menu.PartitionScheme.default_8MB=8M with spiffs (3MB APP/1.5MB SPIFFS) +waveshare_esp32_s3_lcd_147.menu.PartitionScheme.default_8MB.build.partitions=default_8MB +waveshare_esp32_s3_lcd_147.menu.PartitionScheme.default_8MB.upload.maximum_size=3342336 +waveshare_esp32_s3_lcd_147.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +waveshare_esp32_s3_lcd_147.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +waveshare_esp32_s3_lcd_147.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 +waveshare_esp32_s3_lcd_147.menu.PartitionScheme.default=Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS) +waveshare_esp32_s3_lcd_147.menu.PartitionScheme.default.build.partitions=default +waveshare_esp32_s3_lcd_147.menu.PartitionScheme.defaultffat=Default 4MB with ffat (1.2MB APP/1.5MB FATFS) +waveshare_esp32_s3_lcd_147.menu.PartitionScheme.defaultffat.build.partitions=default_ffat +waveshare_esp32_s3_lcd_147.menu.PartitionScheme.rainmaker=RainMaker 4MB +waveshare_esp32_s3_lcd_147.menu.PartitionScheme.rainmaker.build.partitions=rainmaker +waveshare_esp32_s3_lcd_147.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +waveshare_esp32_s3_lcd_147.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +waveshare_esp32_s3_lcd_147.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +waveshare_esp32_s3_lcd_147.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +waveshare_esp32_s3_lcd_147.menu.PartitionScheme.huge_app=Huge APP (3MB No OTA/1MB SPIFFS) +waveshare_esp32_s3_lcd_147.menu.PartitionScheme.huge_app.build.partitions=huge_app +waveshare_esp32_s3_lcd_147.menu.PartitionScheme.huge_app.upload.maximum_size=3145728 +waveshare_esp32_s3_lcd_147.menu.PartitionScheme.min_spiffs=Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS) +waveshare_esp32_s3_lcd_147.menu.PartitionScheme.min_spiffs.build.partitions=min_spiffs +waveshare_esp32_s3_lcd_147.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080 +waveshare_esp32_s3_lcd_147.menu.PartitionScheme.minimal=Minimal (1.3MB APP/700KB SPIFFS) +waveshare_esp32_s3_lcd_147.menu.PartitionScheme.minimal.build.partitions=minimal +waveshare_esp32_s3_lcd_147.menu.PartitionScheme.no_fs=No FS 4MB (2MB APP x2) +waveshare_esp32_s3_lcd_147.menu.PartitionScheme.no_fs.build.partitions=no_fs +waveshare_esp32_s3_lcd_147.menu.PartitionScheme.no_fs.upload.maximum_size=2031616 +waveshare_esp32_s3_lcd_147.menu.PartitionScheme.no_ota=No OTA (2MB APP/2MB SPIFFS) +waveshare_esp32_s3_lcd_147.menu.PartitionScheme.no_ota.build.partitions=no_ota +waveshare_esp32_s3_lcd_147.menu.PartitionScheme.no_ota.upload.maximum_size=2097152 +waveshare_esp32_s3_lcd_147.menu.PartitionScheme.noota_3g=No OTA (1MB APP/3MB SPIFFS) +waveshare_esp32_s3_lcd_147.menu.PartitionScheme.noota_3g.build.partitions=noota_3g +waveshare_esp32_s3_lcd_147.menu.PartitionScheme.noota_3g.upload.maximum_size=1048576 +waveshare_esp32_s3_lcd_147.menu.PartitionScheme.noota_ffat=No OTA (2MB APP/2MB FATFS) +waveshare_esp32_s3_lcd_147.menu.PartitionScheme.noota_ffat.build.partitions=noota_ffat +waveshare_esp32_s3_lcd_147.menu.PartitionScheme.noota_ffat.upload.maximum_size=2097152 +waveshare_esp32_s3_lcd_147.menu.PartitionScheme.noota_3gffat=No OTA (1MB APP/3MB FATFS) +waveshare_esp32_s3_lcd_147.menu.PartitionScheme.noota_3gffat.build.partitions=noota_3gffat +waveshare_esp32_s3_lcd_147.menu.PartitionScheme.noota_3gffat.upload.maximum_size=1048576 +waveshare_esp32_s3_lcd_147.menu.PartitionScheme.esp_sr_16=ESP SR 16M (3MB APP/7MB SPIFFS/2.9MB MODEL) +waveshare_esp32_s3_lcd_147.menu.PartitionScheme.esp_sr_16.upload.maximum_size=3145728 +waveshare_esp32_s3_lcd_147.menu.PartitionScheme.esp_sr_16.upload.extra_flags=0xD10000 {build.path}/srmodels.bin +waveshare_esp32_s3_lcd_147.menu.PartitionScheme.esp_sr_16.build.partitions=esp_sr_16 +waveshare_esp32_s3_lcd_147.menu.PartitionScheme.zigbee_zczr=Zigbee ZCZR 4MB with spiffs +waveshare_esp32_s3_lcd_147.menu.PartitionScheme.zigbee_zczr.build.partitions=zigbee_zczr +waveshare_esp32_s3_lcd_147.menu.PartitionScheme.zigbee_zczr.upload.maximum_size=1310720 +waveshare_esp32_s3_lcd_147.menu.PartitionScheme.custom=Custom +waveshare_esp32_s3_lcd_147.menu.PartitionScheme.custom.build.partitions= +waveshare_esp32_s3_lcd_147.menu.PartitionScheme.custom.upload.maximum_size=16777216 + +waveshare_esp32_s3_lcd_147.menu.CPUFreq.240=240MHz (WiFi) +waveshare_esp32_s3_lcd_147.menu.CPUFreq.240.build.f_cpu=240000000L +waveshare_esp32_s3_lcd_147.menu.CPUFreq.160=160MHz (WiFi) +waveshare_esp32_s3_lcd_147.menu.CPUFreq.160.build.f_cpu=160000000L +waveshare_esp32_s3_lcd_147.menu.CPUFreq.80=80MHz (WiFi) +waveshare_esp32_s3_lcd_147.menu.CPUFreq.80.build.f_cpu=80000000L +waveshare_esp32_s3_lcd_147.menu.CPUFreq.40=40MHz +waveshare_esp32_s3_lcd_147.menu.CPUFreq.40.build.f_cpu=40000000L +waveshare_esp32_s3_lcd_147.menu.CPUFreq.20=20MHz +waveshare_esp32_s3_lcd_147.menu.CPUFreq.20.build.f_cpu=20000000L +waveshare_esp32_s3_lcd_147.menu.CPUFreq.10=10MHz +waveshare_esp32_s3_lcd_147.menu.CPUFreq.10.build.f_cpu=10000000L + +waveshare_esp32_s3_lcd_147.menu.UploadSpeed.921600=921600 +waveshare_esp32_s3_lcd_147.menu.UploadSpeed.921600.upload.speed=921600 +waveshare_esp32_s3_lcd_147.menu.UploadSpeed.115200=115200 +waveshare_esp32_s3_lcd_147.menu.UploadSpeed.115200.upload.speed=115200 +waveshare_esp32_s3_lcd_147.menu.UploadSpeed.256000.windows=256000 +waveshare_esp32_s3_lcd_147.menu.UploadSpeed.256000.upload.speed=256000 +waveshare_esp32_s3_lcd_147.menu.UploadSpeed.230400.windows.upload.speed=256000 +waveshare_esp32_s3_lcd_147.menu.UploadSpeed.230400=230400 +waveshare_esp32_s3_lcd_147.menu.UploadSpeed.230400.upload.speed=230400 +waveshare_esp32_s3_lcd_147.menu.UploadSpeed.460800.linux=460800 +waveshare_esp32_s3_lcd_147.menu.UploadSpeed.460800.macosx=460800 +waveshare_esp32_s3_lcd_147.menu.UploadSpeed.460800.upload.speed=460800 +waveshare_esp32_s3_lcd_147.menu.UploadSpeed.512000.windows=512000 +waveshare_esp32_s3_lcd_147.menu.UploadSpeed.512000.upload.speed=512000 + +waveshare_esp32_s3_lcd_147.menu.DebugLevel.none=None +waveshare_esp32_s3_lcd_147.menu.DebugLevel.none.build.code_debug=0 +waveshare_esp32_s3_lcd_147.menu.DebugLevel.error=Error +waveshare_esp32_s3_lcd_147.menu.DebugLevel.error.build.code_debug=1 +waveshare_esp32_s3_lcd_147.menu.DebugLevel.warn=Warn +waveshare_esp32_s3_lcd_147.menu.DebugLevel.warn.build.code_debug=2 +waveshare_esp32_s3_lcd_147.menu.DebugLevel.info=Info +waveshare_esp32_s3_lcd_147.menu.DebugLevel.info.build.code_debug=3 +waveshare_esp32_s3_lcd_147.menu.DebugLevel.debug=Debug +waveshare_esp32_s3_lcd_147.menu.DebugLevel.debug.build.code_debug=4 +waveshare_esp32_s3_lcd_147.menu.DebugLevel.verbose=Verbose +waveshare_esp32_s3_lcd_147.menu.DebugLevel.verbose.build.code_debug=5 + +waveshare_esp32_s3_lcd_147.menu.EraseFlash.none=Disabled +waveshare_esp32_s3_lcd_147.menu.EraseFlash.none.upload.erase_cmd= +waveshare_esp32_s3_lcd_147.menu.EraseFlash.all=Enabled +waveshare_esp32_s3_lcd_147.menu.EraseFlash.all.upload.erase_cmd=-e + +waveshare_esp32_s3_lcd_147.menu.ZigbeeMode.default=Disabled +waveshare_esp32_s3_lcd_147.menu.ZigbeeMode.default.build.zigbee_mode= +waveshare_esp32_s3_lcd_147.menu.ZigbeeMode.default.build.zigbee_libs= +waveshare_esp32_s3_lcd_147.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator/router) +waveshare_esp32_s3_lcd_147.menu.ZigbeeMode.zczr.build.zigbee_mode=-DZIGBEE_MODE_ZCZR +waveshare_esp32_s3_lcd_147.menu.ZigbeeMode.zczr.build.zigbee_libs=-lesp_zb_api_zczr -lesp_zb_cli_command -lzboss_stack.zczr -lzboss_port + +############################################################## + +waveshare_esp32_s3_touch_lcd_21.name=Waveshare ESP32-S3-Touch-LCD-2.1 +waveshare_esp32_s3_touch_lcd_21.vid.0=0x303a +waveshare_esp32_s3_touch_lcd_21.pid.0=0x8242 +waveshare_esp32_s3_touch_lcd_21.upload_port.0.vid=0x303a +waveshare_esp32_s3_touch_lcd_21.upload_port.0.pid=0x8242 + +waveshare_esp32_s3_touch_lcd_21.bootloader.tool=esptool_py +waveshare_esp32_s3_touch_lcd_21.bootloader.tool.default=esptool_py + +waveshare_esp32_s3_touch_lcd_21.upload.tool=esptool_py +waveshare_esp32_s3_touch_lcd_21.upload.tool.default=esptool_py +waveshare_esp32_s3_touch_lcd_21.upload.tool.network=esp_ota + +waveshare_esp32_s3_touch_lcd_21.upload.maximum_size=1310720 +waveshare_esp32_s3_touch_lcd_21.upload.maximum_data_size=327680 +waveshare_esp32_s3_touch_lcd_21.upload.flags= +waveshare_esp32_s3_touch_lcd_21.upload.extra_flags= +waveshare_esp32_s3_touch_lcd_21.upload.use_1200bps_touch=false +waveshare_esp32_s3_touch_lcd_21.upload.wait_for_upload_port=false + +waveshare_esp32_s3_touch_lcd_21.serial.disableDTR=false +waveshare_esp32_s3_touch_lcd_21.serial.disableRTS=false + +waveshare_esp32_s3_touch_lcd_21.build.tarch=xtensa +waveshare_esp32_s3_touch_lcd_21.build.bootloader_addr=0x0 +waveshare_esp32_s3_touch_lcd_21.build.target=esp32s3 +waveshare_esp32_s3_touch_lcd_21.build.mcu=esp32s3 +waveshare_esp32_s3_touch_lcd_21.build.core=esp32 +waveshare_esp32_s3_touch_lcd_21.build.variant=waveshare_esp32_s3_touch_lcd_21 +waveshare_esp32_s3_touch_lcd_21.build.board=WAVESHARE_ESP32_S3_TOUCH_LCD_21 + +waveshare_esp32_s3_touch_lcd_21.build.usb_mode=1 +waveshare_esp32_s3_touch_lcd_21.build.cdc_on_boot=0 +waveshare_esp32_s3_touch_lcd_21.build.msc_on_boot=0 +waveshare_esp32_s3_touch_lcd_21.build.dfu_on_boot=0 +waveshare_esp32_s3_touch_lcd_21.build.f_cpu=240000000L +waveshare_esp32_s3_touch_lcd_21.build.flash_size=16MB +waveshare_esp32_s3_touch_lcd_21.build.flash_freq=80m +waveshare_esp32_s3_touch_lcd_21.build.flash_mode=qio +waveshare_esp32_s3_touch_lcd_21.build.boot=qio +waveshare_esp32_s3_touch_lcd_21.build.boot_freq=80m +waveshare_esp32_s3_touch_lcd_21.build.partitions=default +waveshare_esp32_s3_touch_lcd_21.build.defines= +waveshare_esp32_s3_touch_lcd_21.build.loop_core= +waveshare_esp32_s3_touch_lcd_21.build.event_core= +waveshare_esp32_s3_touch_lcd_21.build.psram_type=opi +waveshare_esp32_s3_touch_lcd_21.build.memory_type={build.boot}_{build.psram_type} + +## IDE 2.0 Seems to not update the value +waveshare_esp32_s3_touch_lcd_21.menu.JTAGAdapter.default=Disabled +waveshare_esp32_s3_touch_lcd_21.menu.JTAGAdapter.default.build.copy_jtag_files=0 +waveshare_esp32_s3_touch_lcd_21.menu.JTAGAdapter.builtin=Integrated USB JTAG +waveshare_esp32_s3_touch_lcd_21.menu.JTAGAdapter.builtin.build.openocdscript=esp32s3-builtin.cfg +waveshare_esp32_s3_touch_lcd_21.menu.JTAGAdapter.builtin.build.copy_jtag_files=1 +waveshare_esp32_s3_touch_lcd_21.menu.JTAGAdapter.external=FTDI Adapter +waveshare_esp32_s3_touch_lcd_21.menu.JTAGAdapter.external.build.openocdscript=esp32s3-ftdi.cfg +waveshare_esp32_s3_touch_lcd_21.menu.JTAGAdapter.external.build.copy_jtag_files=1 +waveshare_esp32_s3_touch_lcd_21.menu.JTAGAdapter.bridge=ESP USB Bridge +waveshare_esp32_s3_touch_lcd_21.menu.JTAGAdapter.bridge.build.openocdscript=esp32s3-bridge.cfg +waveshare_esp32_s3_touch_lcd_21.menu.JTAGAdapter.bridge.build.copy_jtag_files=1 + +waveshare_esp32_s3_touch_lcd_21.menu.PSRAM.enabled=Enabled +waveshare_esp32_s3_touch_lcd_21.menu.PSRAM.enabled.build.defines=-DBOARD_HAS_PSRAM +waveshare_esp32_s3_touch_lcd_21.menu.PSRAM.enabled.build.psram_type=opi +waveshare_esp32_s3_touch_lcd_21.menu.PSRAM.disabled=Disabled +waveshare_esp32_s3_touch_lcd_21.menu.PSRAM.disabled.build.defines= +waveshare_esp32_s3_touch_lcd_21.menu.PSRAM.disabled.build.psram_type=qspi + +waveshare_esp32_s3_touch_lcd_21.menu.FlashMode.qio=QIO 80MHz +waveshare_esp32_s3_touch_lcd_21.menu.FlashMode.qio.build.flash_mode=dio +waveshare_esp32_s3_touch_lcd_21.menu.FlashMode.qio.build.boot=qio +waveshare_esp32_s3_touch_lcd_21.menu.FlashMode.qio.build.boot_freq=80m +waveshare_esp32_s3_touch_lcd_21.menu.FlashMode.qio.build.flash_freq=80m +waveshare_esp32_s3_touch_lcd_21.menu.FlashMode.qio120=QIO 120MHz +waveshare_esp32_s3_touch_lcd_21.menu.FlashMode.qio120.build.flash_mode=dio +waveshare_esp32_s3_touch_lcd_21.menu.FlashMode.qio120.build.boot=qio +waveshare_esp32_s3_touch_lcd_21.menu.FlashMode.qio120.build.boot_freq=120m +waveshare_esp32_s3_touch_lcd_21.menu.FlashMode.qio120.build.flash_freq=80m +waveshare_esp32_s3_touch_lcd_21.menu.FlashMode.dio=DIO 80MHz +waveshare_esp32_s3_touch_lcd_21.menu.FlashMode.dio.build.flash_mode=dio +waveshare_esp32_s3_touch_lcd_21.menu.FlashMode.dio.build.boot=dio +waveshare_esp32_s3_touch_lcd_21.menu.FlashMode.dio.build.boot_freq=80m +waveshare_esp32_s3_touch_lcd_21.menu.FlashMode.dio.build.flash_freq=80m +waveshare_esp32_s3_touch_lcd_21.menu.FlashMode.opi=OPI 80MHz +waveshare_esp32_s3_touch_lcd_21.menu.FlashMode.opi.build.flash_mode=dout +waveshare_esp32_s3_touch_lcd_21.menu.FlashMode.opi.build.boot=opi +waveshare_esp32_s3_touch_lcd_21.menu.FlashMode.opi.build.boot_freq=80m +waveshare_esp32_s3_touch_lcd_21.menu.FlashMode.opi.build.flash_freq=80m + +waveshare_esp32_s3_touch_lcd_21.menu.LoopCore.1=Core 1 +waveshare_esp32_s3_touch_lcd_21.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1 +waveshare_esp32_s3_touch_lcd_21.menu.LoopCore.0=Core 0 +waveshare_esp32_s3_touch_lcd_21.menu.LoopCore.0.build.loop_core=-DARDUINO_RUNNING_CORE=0 + +waveshare_esp32_s3_touch_lcd_21.menu.EventsCore.1=Core 1 +waveshare_esp32_s3_touch_lcd_21.menu.EventsCore.1.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=1 +waveshare_esp32_s3_touch_lcd_21.menu.EventsCore.0=Core 0 +waveshare_esp32_s3_touch_lcd_21.menu.EventsCore.0.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=0 + +waveshare_esp32_s3_touch_lcd_21.menu.USBMode.hwcdc=Hardware CDC and JTAG +waveshare_esp32_s3_touch_lcd_21.menu.USBMode.hwcdc.build.usb_mode=1 +waveshare_esp32_s3_touch_lcd_21.menu.USBMode.default=USB-OTG (TinyUSB) +waveshare_esp32_s3_touch_lcd_21.menu.USBMode.default.build.usb_mode=0 + +waveshare_esp32_s3_touch_lcd_21.menu.CDCOnBoot.default=Disabled +waveshare_esp32_s3_touch_lcd_21.menu.CDCOnBoot.default.build.cdc_on_boot=0 +waveshare_esp32_s3_touch_lcd_21.menu.CDCOnBoot.cdc=Enabled +waveshare_esp32_s3_touch_lcd_21.menu.CDCOnBoot.cdc.build.cdc_on_boot=1 + +waveshare_esp32_s3_touch_lcd_21.menu.MSCOnBoot.default=Disabled +waveshare_esp32_s3_touch_lcd_21.menu.MSCOnBoot.default.build.msc_on_boot=0 +waveshare_esp32_s3_touch_lcd_21.menu.MSCOnBoot.msc=Enabled (Requires USB-OTG Mode) +waveshare_esp32_s3_touch_lcd_21.menu.MSCOnBoot.msc.build.msc_on_boot=1 + +waveshare_esp32_s3_touch_lcd_21.menu.DFUOnBoot.default=Disabled +waveshare_esp32_s3_touch_lcd_21.menu.DFUOnBoot.default.build.dfu_on_boot=0 +waveshare_esp32_s3_touch_lcd_21.menu.DFUOnBoot.dfu=Enabled (Requires USB-OTG Mode) +waveshare_esp32_s3_touch_lcd_21.menu.DFUOnBoot.dfu.build.dfu_on_boot=1 + +waveshare_esp32_s3_touch_lcd_21.menu.UploadMode.default=UART0 / Hardware CDC +waveshare_esp32_s3_touch_lcd_21.menu.UploadMode.default.upload.use_1200bps_touch=false +waveshare_esp32_s3_touch_lcd_21.menu.UploadMode.default.upload.wait_for_upload_port=false +waveshare_esp32_s3_touch_lcd_21.menu.UploadMode.cdc=USB-OTG CDC (TinyUSB) +waveshare_esp32_s3_touch_lcd_21.menu.UploadMode.cdc.upload.use_1200bps_touch=true +waveshare_esp32_s3_touch_lcd_21.menu.UploadMode.cdc.upload.wait_for_upload_port=true + +waveshare_esp32_s3_touch_lcd_21.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) +waveshare_esp32_s3_touch_lcd_21.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB +waveshare_esp32_s3_touch_lcd_21.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 +waveshare_esp32_s3_touch_lcd_21.menu.PartitionScheme.fatflash=16M Flash (2MB APP/12.5MB FATFS) +waveshare_esp32_s3_touch_lcd_21.menu.PartitionScheme.fatflash.build.partitions=ffat +waveshare_esp32_s3_touch_lcd_21.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 +waveshare_esp32_s3_touch_lcd_21.menu.PartitionScheme.default_8MB=8M with spiffs (3MB APP/1.5MB SPIFFS) +waveshare_esp32_s3_touch_lcd_21.menu.PartitionScheme.default_8MB.build.partitions=default_8MB +waveshare_esp32_s3_touch_lcd_21.menu.PartitionScheme.default_8MB.upload.maximum_size=3342336 +waveshare_esp32_s3_touch_lcd_21.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +waveshare_esp32_s3_touch_lcd_21.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +waveshare_esp32_s3_touch_lcd_21.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 +waveshare_esp32_s3_touch_lcd_21.menu.PartitionScheme.default=Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS) +waveshare_esp32_s3_touch_lcd_21.menu.PartitionScheme.default.build.partitions=default +waveshare_esp32_s3_touch_lcd_21.menu.PartitionScheme.defaultffat=Default 4MB with ffat (1.2MB APP/1.5MB FATFS) +waveshare_esp32_s3_touch_lcd_21.menu.PartitionScheme.defaultffat.build.partitions=default_ffat +waveshare_esp32_s3_touch_lcd_21.menu.PartitionScheme.rainmaker=RainMaker 4MB +waveshare_esp32_s3_touch_lcd_21.menu.PartitionScheme.rainmaker.build.partitions=rainmaker +waveshare_esp32_s3_touch_lcd_21.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +waveshare_esp32_s3_touch_lcd_21.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +waveshare_esp32_s3_touch_lcd_21.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +waveshare_esp32_s3_touch_lcd_21.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +waveshare_esp32_s3_touch_lcd_21.menu.PartitionScheme.huge_app=Huge APP (3MB No OTA/1MB SPIFFS) +waveshare_esp32_s3_touch_lcd_21.menu.PartitionScheme.huge_app.build.partitions=huge_app +waveshare_esp32_s3_touch_lcd_21.menu.PartitionScheme.huge_app.upload.maximum_size=3145728 +waveshare_esp32_s3_touch_lcd_21.menu.PartitionScheme.min_spiffs=Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS) +waveshare_esp32_s3_touch_lcd_21.menu.PartitionScheme.min_spiffs.build.partitions=min_spiffs +waveshare_esp32_s3_touch_lcd_21.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080 +waveshare_esp32_s3_touch_lcd_21.menu.PartitionScheme.minimal=Minimal (1.3MB APP/700KB SPIFFS) +waveshare_esp32_s3_touch_lcd_21.menu.PartitionScheme.minimal.build.partitions=minimal +waveshare_esp32_s3_touch_lcd_21.menu.PartitionScheme.no_fs=No FS 4MB (2MB APP x2) +waveshare_esp32_s3_touch_lcd_21.menu.PartitionScheme.no_fs.build.partitions=no_fs +waveshare_esp32_s3_touch_lcd_21.menu.PartitionScheme.no_fs.upload.maximum_size=2031616 +waveshare_esp32_s3_touch_lcd_21.menu.PartitionScheme.no_ota=No OTA (2MB APP/2MB SPIFFS) +waveshare_esp32_s3_touch_lcd_21.menu.PartitionScheme.no_ota.build.partitions=no_ota +waveshare_esp32_s3_touch_lcd_21.menu.PartitionScheme.no_ota.upload.maximum_size=2097152 +waveshare_esp32_s3_touch_lcd_21.menu.PartitionScheme.noota_3g=No OTA (1MB APP/3MB SPIFFS) +waveshare_esp32_s3_touch_lcd_21.menu.PartitionScheme.noota_3g.build.partitions=noota_3g +waveshare_esp32_s3_touch_lcd_21.menu.PartitionScheme.noota_3g.upload.maximum_size=1048576 +waveshare_esp32_s3_touch_lcd_21.menu.PartitionScheme.noota_ffat=No OTA (2MB APP/2MB FATFS) +waveshare_esp32_s3_touch_lcd_21.menu.PartitionScheme.noota_ffat.build.partitions=noota_ffat +waveshare_esp32_s3_touch_lcd_21.menu.PartitionScheme.noota_ffat.upload.maximum_size=2097152 +waveshare_esp32_s3_touch_lcd_21.menu.PartitionScheme.noota_3gffat=No OTA (1MB APP/3MB FATFS) +waveshare_esp32_s3_touch_lcd_21.menu.PartitionScheme.noota_3gffat.build.partitions=noota_3gffat +waveshare_esp32_s3_touch_lcd_21.menu.PartitionScheme.noota_3gffat.upload.maximum_size=1048576 +waveshare_esp32_s3_touch_lcd_21.menu.PartitionScheme.esp_sr_16=ESP SR 16M (3MB APP/7MB SPIFFS/2.9MB MODEL) +waveshare_esp32_s3_touch_lcd_21.menu.PartitionScheme.esp_sr_16.upload.maximum_size=3145728 +waveshare_esp32_s3_touch_lcd_21.menu.PartitionScheme.esp_sr_16.upload.extra_flags=0xD10000 {build.path}/srmodels.bin +waveshare_esp32_s3_touch_lcd_21.menu.PartitionScheme.esp_sr_16.build.partitions=esp_sr_16 +waveshare_esp32_s3_touch_lcd_21.menu.PartitionScheme.zigbee_zczr=Zigbee ZCZR 4MB with spiffs +waveshare_esp32_s3_touch_lcd_21.menu.PartitionScheme.zigbee_zczr.build.partitions=zigbee_zczr +waveshare_esp32_s3_touch_lcd_21.menu.PartitionScheme.zigbee_zczr.upload.maximum_size=1310720 +waveshare_esp32_s3_touch_lcd_21.menu.PartitionScheme.custom=Custom +waveshare_esp32_s3_touch_lcd_21.menu.PartitionScheme.custom.build.partitions= +waveshare_esp32_s3_touch_lcd_21.menu.PartitionScheme.custom.upload.maximum_size=16777216 + +waveshare_esp32_s3_touch_lcd_21.menu.CPUFreq.240=240MHz (WiFi) +waveshare_esp32_s3_touch_lcd_21.menu.CPUFreq.240.build.f_cpu=240000000L +waveshare_esp32_s3_touch_lcd_21.menu.CPUFreq.160=160MHz (WiFi) +waveshare_esp32_s3_touch_lcd_21.menu.CPUFreq.160.build.f_cpu=160000000L +waveshare_esp32_s3_touch_lcd_21.menu.CPUFreq.80=80MHz (WiFi) +waveshare_esp32_s3_touch_lcd_21.menu.CPUFreq.80.build.f_cpu=80000000L +waveshare_esp32_s3_touch_lcd_21.menu.CPUFreq.40=40MHz +waveshare_esp32_s3_touch_lcd_21.menu.CPUFreq.40.build.f_cpu=40000000L +waveshare_esp32_s3_touch_lcd_21.menu.CPUFreq.20=20MHz +waveshare_esp32_s3_touch_lcd_21.menu.CPUFreq.20.build.f_cpu=20000000L +waveshare_esp32_s3_touch_lcd_21.menu.CPUFreq.10=10MHz +waveshare_esp32_s3_touch_lcd_21.menu.CPUFreq.10.build.f_cpu=10000000L + +waveshare_esp32_s3_touch_lcd_21.menu.UploadSpeed.921600=921600 +waveshare_esp32_s3_touch_lcd_21.menu.UploadSpeed.921600.upload.speed=921600 +waveshare_esp32_s3_touch_lcd_21.menu.UploadSpeed.115200=115200 +waveshare_esp32_s3_touch_lcd_21.menu.UploadSpeed.115200.upload.speed=115200 +waveshare_esp32_s3_touch_lcd_21.menu.UploadSpeed.256000.windows=256000 +waveshare_esp32_s3_touch_lcd_21.menu.UploadSpeed.256000.upload.speed=256000 +waveshare_esp32_s3_touch_lcd_21.menu.UploadSpeed.230400.windows.upload.speed=256000 +waveshare_esp32_s3_touch_lcd_21.menu.UploadSpeed.230400=230400 +waveshare_esp32_s3_touch_lcd_21.menu.UploadSpeed.230400.upload.speed=230400 +waveshare_esp32_s3_touch_lcd_21.menu.UploadSpeed.460800.linux=460800 +waveshare_esp32_s3_touch_lcd_21.menu.UploadSpeed.460800.macosx=460800 +waveshare_esp32_s3_touch_lcd_21.menu.UploadSpeed.460800.upload.speed=460800 +waveshare_esp32_s3_touch_lcd_21.menu.UploadSpeed.512000.windows=512000 +waveshare_esp32_s3_touch_lcd_21.menu.UploadSpeed.512000.upload.speed=512000 + +waveshare_esp32_s3_touch_lcd_21.menu.DebugLevel.none=None +waveshare_esp32_s3_touch_lcd_21.menu.DebugLevel.none.build.code_debug=0 +waveshare_esp32_s3_touch_lcd_21.menu.DebugLevel.error=Error +waveshare_esp32_s3_touch_lcd_21.menu.DebugLevel.error.build.code_debug=1 +waveshare_esp32_s3_touch_lcd_21.menu.DebugLevel.warn=Warn +waveshare_esp32_s3_touch_lcd_21.menu.DebugLevel.warn.build.code_debug=2 +waveshare_esp32_s3_touch_lcd_21.menu.DebugLevel.info=Info +waveshare_esp32_s3_touch_lcd_21.menu.DebugLevel.info.build.code_debug=3 +waveshare_esp32_s3_touch_lcd_21.menu.DebugLevel.debug=Debug +waveshare_esp32_s3_touch_lcd_21.menu.DebugLevel.debug.build.code_debug=4 +waveshare_esp32_s3_touch_lcd_21.menu.DebugLevel.verbose=Verbose +waveshare_esp32_s3_touch_lcd_21.menu.DebugLevel.verbose.build.code_debug=5 + +waveshare_esp32_s3_touch_lcd_21.menu.EraseFlash.none=Disabled +waveshare_esp32_s3_touch_lcd_21.menu.EraseFlash.none.upload.erase_cmd= +waveshare_esp32_s3_touch_lcd_21.menu.EraseFlash.all=Enabled +waveshare_esp32_s3_touch_lcd_21.menu.EraseFlash.all.upload.erase_cmd=-e + +waveshare_esp32_s3_touch_lcd_21.menu.ZigbeeMode.default=Disabled +waveshare_esp32_s3_touch_lcd_21.menu.ZigbeeMode.default.build.zigbee_mode= +waveshare_esp32_s3_touch_lcd_21.menu.ZigbeeMode.default.build.zigbee_libs= +waveshare_esp32_s3_touch_lcd_21.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator/router) +waveshare_esp32_s3_touch_lcd_21.menu.ZigbeeMode.zczr.build.zigbee_mode=-DZIGBEE_MODE_ZCZR +waveshare_esp32_s3_touch_lcd_21.menu.ZigbeeMode.zczr.build.zigbee_libs=-lesp_zb_api_zczr -lesp_zb_cli_command -lzboss_stack.zczr -lzboss_port + +############################################################## + +waveshare_esp32_s3_touch_lcd_28.name=Waveshare ESP32-S3-Touch-LCD-2.8 +waveshare_esp32_s3_touch_lcd_28.vid.0=0x303a +waveshare_esp32_s3_touch_lcd_28.pid.0=0x8242 +waveshare_esp32_s3_touch_lcd_28.upload_port.0.vid=0x303a +waveshare_esp32_s3_touch_lcd_28.upload_port.0.pid=0x8242 + +waveshare_esp32_s3_touch_lcd_28.bootloader.tool=esptool_py +waveshare_esp32_s3_touch_lcd_28.bootloader.tool.default=esptool_py + +waveshare_esp32_s3_touch_lcd_28.upload.tool=esptool_py +waveshare_esp32_s3_touch_lcd_28.upload.tool.default=esptool_py +waveshare_esp32_s3_touch_lcd_28.upload.tool.network=esp_ota + +waveshare_esp32_s3_touch_lcd_28.upload.maximum_size=1310720 +waveshare_esp32_s3_touch_lcd_28.upload.maximum_data_size=327680 +waveshare_esp32_s3_touch_lcd_28.upload.flags= +waveshare_esp32_s3_touch_lcd_28.upload.extra_flags= +waveshare_esp32_s3_touch_lcd_28.upload.use_1200bps_touch=false +waveshare_esp32_s3_touch_lcd_28.upload.wait_for_upload_port=false + +waveshare_esp32_s3_touch_lcd_28.serial.disableDTR=false +waveshare_esp32_s3_touch_lcd_28.serial.disableRTS=false + +waveshare_esp32_s3_touch_lcd_28.build.tarch=xtensa +waveshare_esp32_s3_touch_lcd_28.build.bootloader_addr=0x0 +waveshare_esp32_s3_touch_lcd_28.build.target=esp32s3 +waveshare_esp32_s3_touch_lcd_28.build.mcu=esp32s3 +waveshare_esp32_s3_touch_lcd_28.build.core=esp32 +waveshare_esp32_s3_touch_lcd_28.build.variant=waveshare_esp32_s3_touch_lcd_28 +waveshare_esp32_s3_touch_lcd_28.build.board=WAVESHARE_ESP32_S3_TOUCH_LCD_28 + +waveshare_esp32_s3_touch_lcd_28.build.usb_mode=1 +waveshare_esp32_s3_touch_lcd_28.build.cdc_on_boot=0 +waveshare_esp32_s3_touch_lcd_28.build.msc_on_boot=0 +waveshare_esp32_s3_touch_lcd_28.build.dfu_on_boot=0 +waveshare_esp32_s3_touch_lcd_28.build.f_cpu=240000000L +waveshare_esp32_s3_touch_lcd_28.build.flash_size=16MB +waveshare_esp32_s3_touch_lcd_28.build.flash_freq=120m +waveshare_esp32_s3_touch_lcd_28.build.flash_mode=qio +waveshare_esp32_s3_touch_lcd_28.build.boot=qio +waveshare_esp32_s3_touch_lcd_28.build.boot_freq=80m +waveshare_esp32_s3_touch_lcd_28.build.partitions=default +waveshare_esp32_s3_touch_lcd_28.build.defines= +waveshare_esp32_s3_touch_lcd_28.build.loop_core= +waveshare_esp32_s3_touch_lcd_28.build.event_core= +waveshare_esp32_s3_touch_lcd_28.build.psram_type=opi +waveshare_esp32_s3_touch_lcd_28.build.memory_type={build.boot}_{build.psram_type} + +## IDE 2.0 Seems to not update the value +waveshare_esp32_s3_touch_lcd_28.menu.JTAGAdapter.default=Disabled +waveshare_esp32_s3_touch_lcd_28.menu.JTAGAdapter.default.build.copy_jtag_files=0 +waveshare_esp32_s3_touch_lcd_28.menu.JTAGAdapter.builtin=Integrated USB JTAG +waveshare_esp32_s3_touch_lcd_28.menu.JTAGAdapter.builtin.build.openocdscript=esp32s3-builtin.cfg +waveshare_esp32_s3_touch_lcd_28.menu.JTAGAdapter.builtin.build.copy_jtag_files=1 +waveshare_esp32_s3_touch_lcd_28.menu.JTAGAdapter.external=FTDI Adapter +waveshare_esp32_s3_touch_lcd_28.menu.JTAGAdapter.external.build.openocdscript=esp32s3-ftdi.cfg +waveshare_esp32_s3_touch_lcd_28.menu.JTAGAdapter.external.build.copy_jtag_files=1 +waveshare_esp32_s3_touch_lcd_28.menu.JTAGAdapter.bridge=ESP USB Bridge +waveshare_esp32_s3_touch_lcd_28.menu.JTAGAdapter.bridge.build.openocdscript=esp32s3-bridge.cfg +waveshare_esp32_s3_touch_lcd_28.menu.JTAGAdapter.bridge.build.copy_jtag_files=1 + +waveshare_esp32_s3_touch_lcd_28.menu.PSRAM.enabled=Enabled +waveshare_esp32_s3_touch_lcd_28.menu.PSRAM.enabled.build.defines=-DBOARD_HAS_PSRAM +waveshare_esp32_s3_touch_lcd_28.menu.PSRAM.enabled.build.psram_type=opi +waveshare_esp32_s3_touch_lcd_28.menu.PSRAM.disabled=Disabled +waveshare_esp32_s3_touch_lcd_28.menu.PSRAM.disabled.build.defines= +waveshare_esp32_s3_touch_lcd_28.menu.PSRAM.disabled.build.psram_type=qspi + +waveshare_esp32_s3_touch_lcd_28.menu.FlashMode.qio120=QIO 120MHz +waveshare_esp32_s3_touch_lcd_28.menu.FlashMode.qio120.build.flash_mode=dio +waveshare_esp32_s3_touch_lcd_28.menu.FlashMode.qio120.build.boot=qio +waveshare_esp32_s3_touch_lcd_28.menu.FlashMode.qio120.build.boot_freq=120m +waveshare_esp32_s3_touch_lcd_28.menu.FlashMode.qio120.build.flash_freq=80m +waveshare_esp32_s3_touch_lcd_28.menu.FlashMode.qio=QIO 80MHz +waveshare_esp32_s3_touch_lcd_28.menu.FlashMode.qio.build.flash_mode=dio +waveshare_esp32_s3_touch_lcd_28.menu.FlashMode.qio.build.boot=qio +waveshare_esp32_s3_touch_lcd_28.menu.FlashMode.qio.build.boot_freq=80m +waveshare_esp32_s3_touch_lcd_28.menu.FlashMode.qio.build.flash_freq=80m +waveshare_esp32_s3_touch_lcd_28.menu.FlashMode.dio=DIO 80MHz +waveshare_esp32_s3_touch_lcd_28.menu.FlashMode.dio.build.flash_mode=dio +waveshare_esp32_s3_touch_lcd_28.menu.FlashMode.dio.build.boot=dio +waveshare_esp32_s3_touch_lcd_28.menu.FlashMode.dio.build.boot_freq=80m +waveshare_esp32_s3_touch_lcd_28.menu.FlashMode.dio.build.flash_freq=80m +waveshare_esp32_s3_touch_lcd_28.menu.FlashMode.opi=OPI 80MHz +waveshare_esp32_s3_touch_lcd_28.menu.FlashMode.opi.build.flash_mode=dout +waveshare_esp32_s3_touch_lcd_28.menu.FlashMode.opi.build.boot=opi +waveshare_esp32_s3_touch_lcd_28.menu.FlashMode.opi.build.boot_freq=80m +waveshare_esp32_s3_touch_lcd_28.menu.FlashMode.opi.build.flash_freq=80m + +waveshare_esp32_s3_touch_lcd_28.menu.LoopCore.1=Core 1 +waveshare_esp32_s3_touch_lcd_28.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1 +waveshare_esp32_s3_touch_lcd_28.menu.LoopCore.0=Core 0 +waveshare_esp32_s3_touch_lcd_28.menu.LoopCore.0.build.loop_core=-DARDUINO_RUNNING_CORE=0 + +waveshare_esp32_s3_touch_lcd_28.menu.EventsCore.0=Core 0 +waveshare_esp32_s3_touch_lcd_28.menu.EventsCore.0.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=0 +waveshare_esp32_s3_touch_lcd_28.menu.EventsCore.1=Core 1 +waveshare_esp32_s3_touch_lcd_28.menu.EventsCore.1.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=1 + +waveshare_esp32_s3_touch_lcd_28.menu.USBMode.hwcdc=Hardware CDC and JTAG +waveshare_esp32_s3_touch_lcd_28.menu.USBMode.hwcdc.build.usb_mode=1 +waveshare_esp32_s3_touch_lcd_28.menu.USBMode.default=USB-OTG (TinyUSB) +waveshare_esp32_s3_touch_lcd_28.menu.USBMode.default.build.usb_mode=0 + +waveshare_esp32_s3_touch_lcd_28.menu.CDCOnBoot.default=Disabled +waveshare_esp32_s3_touch_lcd_28.menu.CDCOnBoot.default.build.cdc_on_boot=0 +waveshare_esp32_s3_touch_lcd_28.menu.CDCOnBoot.cdc=Enabled +waveshare_esp32_s3_touch_lcd_28.menu.CDCOnBoot.cdc.build.cdc_on_boot=1 + +waveshare_esp32_s3_touch_lcd_28.menu.MSCOnBoot.default=Disabled +waveshare_esp32_s3_touch_lcd_28.menu.MSCOnBoot.default.build.msc_on_boot=0 +waveshare_esp32_s3_touch_lcd_28.menu.MSCOnBoot.msc=Enabled (Requires USB-OTG Mode) +waveshare_esp32_s3_touch_lcd_28.menu.MSCOnBoot.msc.build.msc_on_boot=1 + +waveshare_esp32_s3_touch_lcd_28.menu.DFUOnBoot.default=Disabled +waveshare_esp32_s3_touch_lcd_28.menu.DFUOnBoot.default.build.dfu_on_boot=0 +waveshare_esp32_s3_touch_lcd_28.menu.DFUOnBoot.dfu=Enabled (Requires USB-OTG Mode) +waveshare_esp32_s3_touch_lcd_28.menu.DFUOnBoot.dfu.build.dfu_on_boot=1 + +waveshare_esp32_s3_touch_lcd_28.menu.UploadMode.default=UART0 / Hardware CDC +waveshare_esp32_s3_touch_lcd_28.menu.UploadMode.default.upload.use_1200bps_touch=false +waveshare_esp32_s3_touch_lcd_28.menu.UploadMode.default.upload.wait_for_upload_port=false +waveshare_esp32_s3_touch_lcd_28.menu.UploadMode.cdc=USB-OTG CDC (TinyUSB) +waveshare_esp32_s3_touch_lcd_28.menu.UploadMode.cdc.upload.use_1200bps_touch=true +waveshare_esp32_s3_touch_lcd_28.menu.UploadMode.cdc.upload.wait_for_upload_port=true + +waveshare_esp32_s3_touch_lcd_28.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) +waveshare_esp32_s3_touch_lcd_28.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB +waveshare_esp32_s3_touch_lcd_28.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 +waveshare_esp32_s3_touch_lcd_28.menu.PartitionScheme.fatflash=16M Flash (2MB APP/12.5MB FATFS) +waveshare_esp32_s3_touch_lcd_28.menu.PartitionScheme.fatflash.build.partitions=ffat +waveshare_esp32_s3_touch_lcd_28.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 +waveshare_esp32_s3_touch_lcd_28.menu.PartitionScheme.default_8MB=8M with spiffs (3MB APP/1.5MB SPIFFS) +waveshare_esp32_s3_touch_lcd_28.menu.PartitionScheme.default_8MB.build.partitions=default_8MB +waveshare_esp32_s3_touch_lcd_28.menu.PartitionScheme.default_8MB.upload.maximum_size=3342336 +waveshare_esp32_s3_touch_lcd_28.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +waveshare_esp32_s3_touch_lcd_28.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +waveshare_esp32_s3_touch_lcd_28.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 +waveshare_esp32_s3_touch_lcd_28.menu.PartitionScheme.default=Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS) +waveshare_esp32_s3_touch_lcd_28.menu.PartitionScheme.default.build.partitions=default +waveshare_esp32_s3_touch_lcd_28.menu.PartitionScheme.defaultffat=Default 4MB with ffat (1.2MB APP/1.5MB FATFS) +waveshare_esp32_s3_touch_lcd_28.menu.PartitionScheme.defaultffat.build.partitions=default_ffat +waveshare_esp32_s3_touch_lcd_28.menu.PartitionScheme.rainmaker=RainMaker 4MB +waveshare_esp32_s3_touch_lcd_28.menu.PartitionScheme.rainmaker.build.partitions=rainmaker +waveshare_esp32_s3_touch_lcd_28.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +waveshare_esp32_s3_touch_lcd_28.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +waveshare_esp32_s3_touch_lcd_28.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +waveshare_esp32_s3_touch_lcd_28.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +waveshare_esp32_s3_touch_lcd_28.menu.PartitionScheme.huge_app=Huge APP (3MB No OTA/1MB SPIFFS) +waveshare_esp32_s3_touch_lcd_28.menu.PartitionScheme.huge_app.build.partitions=huge_app +waveshare_esp32_s3_touch_lcd_28.menu.PartitionScheme.huge_app.upload.maximum_size=3145728 +waveshare_esp32_s3_touch_lcd_28.menu.PartitionScheme.min_spiffs=Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS) +waveshare_esp32_s3_touch_lcd_28.menu.PartitionScheme.min_spiffs.build.partitions=min_spiffs +waveshare_esp32_s3_touch_lcd_28.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080 +waveshare_esp32_s3_touch_lcd_28.menu.PartitionScheme.minimal=Minimal (1.3MB APP/700KB SPIFFS) +waveshare_esp32_s3_touch_lcd_28.menu.PartitionScheme.minimal.build.partitions=minimal +waveshare_esp32_s3_touch_lcd_28.menu.PartitionScheme.no_fs=No FS 4MB (2MB APP x2) +waveshare_esp32_s3_touch_lcd_28.menu.PartitionScheme.no_fs.build.partitions=no_fs +waveshare_esp32_s3_touch_lcd_28.menu.PartitionScheme.no_fs.upload.maximum_size=2031616 +waveshare_esp32_s3_touch_lcd_28.menu.PartitionScheme.no_ota=No OTA (2MB APP/2MB SPIFFS) +waveshare_esp32_s3_touch_lcd_28.menu.PartitionScheme.no_ota.build.partitions=no_ota +waveshare_esp32_s3_touch_lcd_28.menu.PartitionScheme.no_ota.upload.maximum_size=2097152 +waveshare_esp32_s3_touch_lcd_28.menu.PartitionScheme.noota_3g=No OTA (1MB APP/3MB SPIFFS) +waveshare_esp32_s3_touch_lcd_28.menu.PartitionScheme.noota_3g.build.partitions=noota_3g +waveshare_esp32_s3_touch_lcd_28.menu.PartitionScheme.noota_3g.upload.maximum_size=1048576 +waveshare_esp32_s3_touch_lcd_28.menu.PartitionScheme.noota_ffat=No OTA (2MB APP/2MB FATFS) +waveshare_esp32_s3_touch_lcd_28.menu.PartitionScheme.noota_ffat.build.partitions=noota_ffat +waveshare_esp32_s3_touch_lcd_28.menu.PartitionScheme.noota_ffat.upload.maximum_size=2097152 +waveshare_esp32_s3_touch_lcd_28.menu.PartitionScheme.noota_3gffat=No OTA (1MB APP/3MB FATFS) +waveshare_esp32_s3_touch_lcd_28.menu.PartitionScheme.noota_3gffat.build.partitions=noota_3gffat +waveshare_esp32_s3_touch_lcd_28.menu.PartitionScheme.noota_3gffat.upload.maximum_size=1048576 +waveshare_esp32_s3_touch_lcd_28.menu.PartitionScheme.esp_sr_16=ESP SR 16M (3MB APP/7MB SPIFFS/2.9MB MODEL) +waveshare_esp32_s3_touch_lcd_28.menu.PartitionScheme.esp_sr_16.upload.maximum_size=3145728 +waveshare_esp32_s3_touch_lcd_28.menu.PartitionScheme.esp_sr_16.upload.extra_flags=0xD10000 {build.path}/srmodels.bin +waveshare_esp32_s3_touch_lcd_28.menu.PartitionScheme.esp_sr_16.build.partitions=esp_sr_16 +waveshare_esp32_s3_touch_lcd_28.menu.PartitionScheme.zigbee_zczr=Zigbee ZCZR 4MB with spiffs +waveshare_esp32_s3_touch_lcd_28.menu.PartitionScheme.zigbee_zczr.build.partitions=zigbee_zczr +waveshare_esp32_s3_touch_lcd_28.menu.PartitionScheme.zigbee_zczr.upload.maximum_size=1310720 +waveshare_esp32_s3_touch_lcd_28.menu.PartitionScheme.custom=Custom +waveshare_esp32_s3_touch_lcd_28.menu.PartitionScheme.custom.build.partitions= +waveshare_esp32_s3_touch_lcd_28.menu.PartitionScheme.custom.upload.maximum_size=16777216 + +waveshare_esp32_s3_touch_lcd_28.menu.CPUFreq.240=240MHz (WiFi) +waveshare_esp32_s3_touch_lcd_28.menu.CPUFreq.240.build.f_cpu=240000000L +waveshare_esp32_s3_touch_lcd_28.menu.CPUFreq.160=160MHz (WiFi) +waveshare_esp32_s3_touch_lcd_28.menu.CPUFreq.160.build.f_cpu=160000000L +waveshare_esp32_s3_touch_lcd_28.menu.CPUFreq.80=80MHz (WiFi) +waveshare_esp32_s3_touch_lcd_28.menu.CPUFreq.80.build.f_cpu=80000000L +waveshare_esp32_s3_touch_lcd_28.menu.CPUFreq.40=40MHz +waveshare_esp32_s3_touch_lcd_28.menu.CPUFreq.40.build.f_cpu=40000000L +waveshare_esp32_s3_touch_lcd_28.menu.CPUFreq.20=20MHz +waveshare_esp32_s3_touch_lcd_28.menu.CPUFreq.20.build.f_cpu=20000000L +waveshare_esp32_s3_touch_lcd_28.menu.CPUFreq.10=10MHz +waveshare_esp32_s3_touch_lcd_28.menu.CPUFreq.10.build.f_cpu=10000000L + +waveshare_esp32_s3_touch_lcd_28.menu.UploadSpeed.921600=921600 +waveshare_esp32_s3_touch_lcd_28.menu.UploadSpeed.921600.upload.speed=921600 +waveshare_esp32_s3_touch_lcd_28.menu.UploadSpeed.115200=115200 +waveshare_esp32_s3_touch_lcd_28.menu.UploadSpeed.115200.upload.speed=115200 +waveshare_esp32_s3_touch_lcd_28.menu.UploadSpeed.256000.windows=256000 +waveshare_esp32_s3_touch_lcd_28.menu.UploadSpeed.256000.upload.speed=256000 +waveshare_esp32_s3_touch_lcd_28.menu.UploadSpeed.230400.windows.upload.speed=256000 +waveshare_esp32_s3_touch_lcd_28.menu.UploadSpeed.230400=230400 +waveshare_esp32_s3_touch_lcd_28.menu.UploadSpeed.230400.upload.speed=230400 +waveshare_esp32_s3_touch_lcd_28.menu.UploadSpeed.460800.linux=460800 +waveshare_esp32_s3_touch_lcd_28.menu.UploadSpeed.460800.macosx=460800 +waveshare_esp32_s3_touch_lcd_28.menu.UploadSpeed.460800.upload.speed=460800 +waveshare_esp32_s3_touch_lcd_28.menu.UploadSpeed.512000.windows=512000 +waveshare_esp32_s3_touch_lcd_28.menu.UploadSpeed.512000.upload.speed=512000 + +waveshare_esp32_s3_touch_lcd_28.menu.DebugLevel.none=None +waveshare_esp32_s3_touch_lcd_28.menu.DebugLevel.none.build.code_debug=0 +waveshare_esp32_s3_touch_lcd_28.menu.DebugLevel.error=Error +waveshare_esp32_s3_touch_lcd_28.menu.DebugLevel.error.build.code_debug=1 +waveshare_esp32_s3_touch_lcd_28.menu.DebugLevel.warn=Warn +waveshare_esp32_s3_touch_lcd_28.menu.DebugLevel.warn.build.code_debug=2 +waveshare_esp32_s3_touch_lcd_28.menu.DebugLevel.info=Info +waveshare_esp32_s3_touch_lcd_28.menu.DebugLevel.info.build.code_debug=3 +waveshare_esp32_s3_touch_lcd_28.menu.DebugLevel.debug=Debug +waveshare_esp32_s3_touch_lcd_28.menu.DebugLevel.debug.build.code_debug=4 +waveshare_esp32_s3_touch_lcd_28.menu.DebugLevel.verbose=Verbose +waveshare_esp32_s3_touch_lcd_28.menu.DebugLevel.verbose.build.code_debug=5 + +waveshare_esp32_s3_touch_lcd_28.menu.EraseFlash.none=Disabled +waveshare_esp32_s3_touch_lcd_28.menu.EraseFlash.none.upload.erase_cmd= +waveshare_esp32_s3_touch_lcd_28.menu.EraseFlash.all=Enabled +waveshare_esp32_s3_touch_lcd_28.menu.EraseFlash.all.upload.erase_cmd=-e + +waveshare_esp32_s3_touch_lcd_28.menu.ZigbeeMode.default=Disabled +waveshare_esp32_s3_touch_lcd_28.menu.ZigbeeMode.default.build.zigbee_mode= +waveshare_esp32_s3_touch_lcd_28.menu.ZigbeeMode.default.build.zigbee_libs= +waveshare_esp32_s3_touch_lcd_28.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator/router) +waveshare_esp32_s3_touch_lcd_28.menu.ZigbeeMode.zczr.build.zigbee_mode=-DZIGBEE_MODE_ZCZR +waveshare_esp32_s3_touch_lcd_28.menu.ZigbeeMode.zczr.build.zigbee_libs=-lesp_zb_api_zczr -lesp_zb_cli_command -lzboss_stack.zczr -lzboss_port + +############################################################## + +waveshare_esp32_s3_relay_6ch.name=Waveshare ESP32-S3-Relay-6CH +waveshare_esp32_s3_relay_6ch.vid.0=0x303a +waveshare_esp32_s3_relay_6ch.pid.0=0x8242 +waveshare_esp32_s3_relay_6ch.upload_port.0.vid=0x303a +waveshare_esp32_s3_relay_6ch.upload_port.0.pid=0x8242 + +waveshare_esp32_s3_relay_6ch.bootloader.tool=esptool_py +waveshare_esp32_s3_relay_6ch.bootloader.tool.default=esptool_py + +waveshare_esp32_s3_relay_6ch.upload.tool=esptool_py +waveshare_esp32_s3_relay_6ch.upload.tool.default=esptool_py +waveshare_esp32_s3_relay_6ch.upload.tool.network=esp_ota + +waveshare_esp32_s3_relay_6ch.upload.maximum_size=1310720 +waveshare_esp32_s3_relay_6ch.upload.maximum_data_size=327680 +waveshare_esp32_s3_relay_6ch.upload.flags= +waveshare_esp32_s3_relay_6ch.upload.extra_flags= +waveshare_esp32_s3_relay_6ch.upload.use_1200bps_touch=false +waveshare_esp32_s3_relay_6ch.upload.wait_for_upload_port=false + +waveshare_esp32_s3_relay_6ch.serial.disableDTR=false +waveshare_esp32_s3_relay_6ch.serial.disableRTS=false + +waveshare_esp32_s3_relay_6ch.build.tarch=xtensa +waveshare_esp32_s3_relay_6ch.build.bootloader_addr=0x0 +waveshare_esp32_s3_relay_6ch.build.target=esp32s3 +waveshare_esp32_s3_relay_6ch.build.mcu=esp32s3 +waveshare_esp32_s3_relay_6ch.build.core=esp32 +waveshare_esp32_s3_relay_6ch.build.variant=waveshare_esp32_s3_relay_6ch +waveshare_esp32_s3_relay_6ch.build.board=WAVESHARE_ESP32_S3_RELAY_6CH + +waveshare_esp32_s3_relay_6ch.build.usb_mode=1 +waveshare_esp32_s3_relay_6ch.build.cdc_on_boot=0 +waveshare_esp32_s3_relay_6ch.build.msc_on_boot=0 +waveshare_esp32_s3_relay_6ch.build.dfu_on_boot=0 +waveshare_esp32_s3_relay_6ch.build.f_cpu=240000000L +waveshare_esp32_s3_relay_6ch.build.flash_size=8MB +waveshare_esp32_s3_relay_6ch.build.flash_freq=80m +waveshare_esp32_s3_relay_6ch.build.flash_mode=qio +waveshare_esp32_s3_relay_6ch.build.boot=qio +waveshare_esp32_s3_relay_6ch.build.boot_freq=80m +waveshare_esp32_s3_relay_6ch.build.partitions=default +waveshare_esp32_s3_relay_6ch.build.defines= +waveshare_esp32_s3_relay_6ch.build.loop_core= +waveshare_esp32_s3_relay_6ch.build.event_core= +waveshare_esp32_s3_relay_6ch.build.psram_type= +waveshare_esp32_s3_relay_6ch.build.memory_type={build.boot}_{build.psram_type} + +## IDE 2.0 Seems to not update the value +waveshare_esp32_s3_relay_6ch.menu.JTAGAdapter.default=Disabled +waveshare_esp32_s3_relay_6ch.menu.JTAGAdapter.default.build.copy_jtag_files=0 +waveshare_esp32_s3_relay_6ch.menu.JTAGAdapter.builtin=Integrated USB JTAG +waveshare_esp32_s3_relay_6ch.menu.JTAGAdapter.builtin.build.openocdscript=esp32s3-builtin.cfg +waveshare_esp32_s3_relay_6ch.menu.JTAGAdapter.builtin.build.copy_jtag_files=1 +waveshare_esp32_s3_relay_6ch.menu.JTAGAdapter.external=FTDI Adapter +waveshare_esp32_s3_relay_6ch.menu.JTAGAdapter.external.build.openocdscript=esp32s3-ftdi.cfg +waveshare_esp32_s3_relay_6ch.menu.JTAGAdapter.external.build.copy_jtag_files=1 +waveshare_esp32_s3_relay_6ch.menu.JTAGAdapter.bridge=ESP USB Bridge +waveshare_esp32_s3_relay_6ch.menu.JTAGAdapter.bridge.build.openocdscript=esp32s3-bridge.cfg +waveshare_esp32_s3_relay_6ch.menu.JTAGAdapter.bridge.build.copy_jtag_files=1 + +waveshare_esp32_s3_relay_6ch.menu.PSRAM.disabled=Disabled +waveshare_esp32_s3_relay_6ch.menu.PSRAM.disabled.build.defines= +waveshare_esp32_s3_relay_6ch.menu.PSRAM.disabled.build.psram_type=qspi + +waveshare_esp32_s3_relay_6ch.menu.FlashMode.qio=QIO 80MHz +waveshare_esp32_s3_relay_6ch.menu.FlashMode.qio.build.flash_mode=dio +waveshare_esp32_s3_relay_6ch.menu.FlashMode.qio.build.boot=qio +waveshare_esp32_s3_relay_6ch.menu.FlashMode.qio.build.boot_freq=80m +waveshare_esp32_s3_relay_6ch.menu.FlashMode.qio.build.flash_freq=80m +waveshare_esp32_s3_relay_6ch.menu.FlashMode.qio120=QIO 120MHz +waveshare_esp32_s3_relay_6ch.menu.FlashMode.qio120.build.flash_mode=dio +waveshare_esp32_s3_relay_6ch.menu.FlashMode.qio120.build.boot=qio +waveshare_esp32_s3_relay_6ch.menu.FlashMode.qio120.build.boot_freq=120m +waveshare_esp32_s3_relay_6ch.menu.FlashMode.qio120.build.flash_freq=80m +waveshare_esp32_s3_relay_6ch.menu.FlashMode.dio=DIO 80MHz +waveshare_esp32_s3_relay_6ch.menu.FlashMode.dio.build.flash_mode=dio +waveshare_esp32_s3_relay_6ch.menu.FlashMode.dio.build.boot=dio +waveshare_esp32_s3_relay_6ch.menu.FlashMode.dio.build.boot_freq=80m +waveshare_esp32_s3_relay_6ch.menu.FlashMode.dio.build.flash_freq=80m +waveshare_esp32_s3_relay_6ch.menu.FlashMode.opi=OPI 80MHz +waveshare_esp32_s3_relay_6ch.menu.FlashMode.opi.build.flash_mode=dout +waveshare_esp32_s3_relay_6ch.menu.FlashMode.opi.build.boot=opi +waveshare_esp32_s3_relay_6ch.menu.FlashMode.opi.build.boot_freq=80m +waveshare_esp32_s3_relay_6ch.menu.FlashMode.opi.build.flash_freq=80m + +waveshare_esp32_s3_relay_6ch.menu.FlashSize.8M=8MB (64Mb) +waveshare_esp32_s3_relay_6ch.menu.FlashSize.8M.build.flash_size=8MB +waveshare_esp32_s3_relay_6ch.menu.FlashSize.8M.build.partitions=default_8MB +waveshare_esp32_s3_relay_6ch.menu.FlashSize.16M=16MB (128Mb) +waveshare_esp32_s3_relay_6ch.menu.FlashSize.16M.build.flash_size=16MB + +waveshare_esp32_s3_relay_6ch.menu.LoopCore.1=Core 1 +waveshare_esp32_s3_relay_6ch.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1 +waveshare_esp32_s3_relay_6ch.menu.LoopCore.0=Core 0 +waveshare_esp32_s3_relay_6ch.menu.LoopCore.0.build.loop_core=-DARDUINO_RUNNING_CORE=0 + +waveshare_esp32_s3_relay_6ch.menu.EventsCore.1=Core 1 +waveshare_esp32_s3_relay_6ch.menu.EventsCore.1.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=1 +waveshare_esp32_s3_relay_6ch.menu.EventsCore.0=Core 0 +waveshare_esp32_s3_relay_6ch.menu.EventsCore.0.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=0 + +waveshare_esp32_s3_relay_6ch.menu.USBMode.hwcdc=Hardware CDC and JTAG +waveshare_esp32_s3_relay_6ch.menu.USBMode.hwcdc.build.usb_mode=1 +waveshare_esp32_s3_relay_6ch.menu.USBMode.default=USB-OTG (TinyUSB) +waveshare_esp32_s3_relay_6ch.menu.USBMode.default.build.usb_mode=0 + +waveshare_esp32_s3_relay_6ch.menu.CDCOnBoot.default=Disabled +waveshare_esp32_s3_relay_6ch.menu.CDCOnBoot.default.build.cdc_on_boot=0 +waveshare_esp32_s3_relay_6ch.menu.CDCOnBoot.cdc=Enabled +waveshare_esp32_s3_relay_6ch.menu.CDCOnBoot.cdc.build.cdc_on_boot=1 + +waveshare_esp32_s3_relay_6ch.menu.MSCOnBoot.default=Disabled +waveshare_esp32_s3_relay_6ch.menu.MSCOnBoot.default.build.msc_on_boot=0 +waveshare_esp32_s3_relay_6ch.menu.MSCOnBoot.msc=Enabled (Requires USB-OTG Mode) +waveshare_esp32_s3_relay_6ch.menu.MSCOnBoot.msc.build.msc_on_boot=1 + +waveshare_esp32_s3_relay_6ch.menu.DFUOnBoot.default=Disabled +waveshare_esp32_s3_relay_6ch.menu.DFUOnBoot.default.build.dfu_on_boot=0 +waveshare_esp32_s3_relay_6ch.menu.DFUOnBoot.dfu=Enabled (Requires USB-OTG Mode) +waveshare_esp32_s3_relay_6ch.menu.DFUOnBoot.dfu.build.dfu_on_boot=1 + +waveshare_esp32_s3_relay_6ch.menu.UploadMode.default=UART0 / Hardware CDC +waveshare_esp32_s3_relay_6ch.menu.UploadMode.default.upload.use_1200bps_touch=false +waveshare_esp32_s3_relay_6ch.menu.UploadMode.default.upload.wait_for_upload_port=false +waveshare_esp32_s3_relay_6ch.menu.UploadMode.cdc=USB-OTG CDC (TinyUSB) +waveshare_esp32_s3_relay_6ch.menu.UploadMode.cdc.upload.use_1200bps_touch=true +waveshare_esp32_s3_relay_6ch.menu.UploadMode.cdc.upload.wait_for_upload_port=true + +waveshare_esp32_s3_relay_6ch.menu.PartitionScheme.default_8MB=8M with spiffs (3MB APP/1.5MB SPIFFS) +waveshare_esp32_s3_relay_6ch.menu.PartitionScheme.default_8MB.build.partitions=default_8MB +waveshare_esp32_s3_relay_6ch.menu.PartitionScheme.default_8MB.upload.maximum_size=3342336 +waveshare_esp32_s3_relay_6ch.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +waveshare_esp32_s3_relay_6ch.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +waveshare_esp32_s3_relay_6ch.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 +waveshare_esp32_s3_relay_6ch.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) +waveshare_esp32_s3_relay_6ch.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB +waveshare_esp32_s3_relay_6ch.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 +waveshare_esp32_s3_relay_6ch.menu.PartitionScheme.fatflash=16M Flash (2MB APP/12.5MB FATFS) +waveshare_esp32_s3_relay_6ch.menu.PartitionScheme.fatflash.build.partitions=ffat +waveshare_esp32_s3_relay_6ch.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 +waveshare_esp32_s3_relay_6ch.menu.PartitionScheme.default=Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS) +waveshare_esp32_s3_relay_6ch.menu.PartitionScheme.default.build.partitions=default +waveshare_esp32_s3_relay_6ch.menu.PartitionScheme.defaultffat=Default 4MB with ffat (1.2MB APP/1.5MB FATFS) +waveshare_esp32_s3_relay_6ch.menu.PartitionScheme.defaultffat.build.partitions=default_ffat +waveshare_esp32_s3_relay_6ch.menu.PartitionScheme.rainmaker=RainMaker 4MB +waveshare_esp32_s3_relay_6ch.menu.PartitionScheme.rainmaker.build.partitions=rainmaker +waveshare_esp32_s3_relay_6ch.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +waveshare_esp32_s3_relay_6ch.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA +waveshare_esp32_s3_relay_6ch.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota +waveshare_esp32_s3_relay_6ch.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656 +waveshare_esp32_s3_relay_6ch.menu.PartitionScheme.huge_app=Huge APP (3MB No OTA/1MB SPIFFS) +waveshare_esp32_s3_relay_6ch.menu.PartitionScheme.huge_app.build.partitions=huge_app +waveshare_esp32_s3_relay_6ch.menu.PartitionScheme.huge_app.upload.maximum_size=3145728 +waveshare_esp32_s3_relay_6ch.menu.PartitionScheme.min_spiffs=Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS) +waveshare_esp32_s3_relay_6ch.menu.PartitionScheme.min_spiffs.build.partitions=min_spiffs +waveshare_esp32_s3_relay_6ch.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080 +waveshare_esp32_s3_relay_6ch.menu.PartitionScheme.minimal=Minimal (1.3MB APP/700KB SPIFFS) +waveshare_esp32_s3_relay_6ch.menu.PartitionScheme.minimal.build.partitions=minimal +waveshare_esp32_s3_relay_6ch.menu.PartitionScheme.no_fs=No FS 4MB (2MB APP x2) +waveshare_esp32_s3_relay_6ch.menu.PartitionScheme.no_fs.build.partitions=no_fs +waveshare_esp32_s3_relay_6ch.menu.PartitionScheme.no_fs.upload.maximum_size=2031616 +waveshare_esp32_s3_relay_6ch.menu.PartitionScheme.no_ota=No OTA (2MB APP/2MB SPIFFS) +waveshare_esp32_s3_relay_6ch.menu.PartitionScheme.no_ota.build.partitions=no_ota +waveshare_esp32_s3_relay_6ch.menu.PartitionScheme.no_ota.upload.maximum_size=2097152 +waveshare_esp32_s3_relay_6ch.menu.PartitionScheme.noota_3g=No OTA (1MB APP/3MB SPIFFS) +waveshare_esp32_s3_relay_6ch.menu.PartitionScheme.noota_3g.build.partitions=noota_3g +waveshare_esp32_s3_relay_6ch.menu.PartitionScheme.noota_3g.upload.maximum_size=1048576 +waveshare_esp32_s3_relay_6ch.menu.PartitionScheme.noota_ffat=No OTA (2MB APP/2MB FATFS) +waveshare_esp32_s3_relay_6ch.menu.PartitionScheme.noota_ffat.build.partitions=noota_ffat +waveshare_esp32_s3_relay_6ch.menu.PartitionScheme.noota_ffat.upload.maximum_size=2097152 +waveshare_esp32_s3_relay_6ch.menu.PartitionScheme.noota_3gffat=No OTA (1MB APP/3MB FATFS) +waveshare_esp32_s3_relay_6ch.menu.PartitionScheme.noota_3gffat.build.partitions=noota_3gffat +waveshare_esp32_s3_relay_6ch.menu.PartitionScheme.noota_3gffat.upload.maximum_size=1048576 +waveshare_esp32_s3_relay_6ch.menu.PartitionScheme.esp_sr_16=ESP SR 16M (3MB APP/7MB SPIFFS/2.9MB MODEL) +waveshare_esp32_s3_relay_6ch.menu.PartitionScheme.esp_sr_16.upload.maximum_size=3145728 +waveshare_esp32_s3_relay_6ch.menu.PartitionScheme.esp_sr_16.upload.extra_flags=0xD10000 {build.path}/srmodels.bin +waveshare_esp32_s3_relay_6ch.menu.PartitionScheme.esp_sr_16.build.partitions=esp_sr_16 +waveshare_esp32_s3_relay_6ch.menu.PartitionScheme.zigbee_zczr=Zigbee ZCZR 4MB with spiffs +waveshare_esp32_s3_relay_6ch.menu.PartitionScheme.zigbee_zczr.build.partitions=zigbee_zczr +waveshare_esp32_s3_relay_6ch.menu.PartitionScheme.zigbee_zczr.upload.maximum_size=1310720 +waveshare_esp32_s3_relay_6ch.menu.PartitionScheme.custom=Custom +waveshare_esp32_s3_relay_6ch.menu.PartitionScheme.custom.build.partitions= +waveshare_esp32_s3_relay_6ch.menu.PartitionScheme.custom.upload.maximum_size=16777216 + +waveshare_esp32_s3_relay_6ch.menu.CPUFreq.240=240MHz (WiFi) +waveshare_esp32_s3_relay_6ch.menu.CPUFreq.240.build.f_cpu=240000000L +waveshare_esp32_s3_relay_6ch.menu.CPUFreq.160=160MHz (WiFi) +waveshare_esp32_s3_relay_6ch.menu.CPUFreq.160.build.f_cpu=160000000L +waveshare_esp32_s3_relay_6ch.menu.CPUFreq.80=80MHz (WiFi) +waveshare_esp32_s3_relay_6ch.menu.CPUFreq.80.build.f_cpu=80000000L +waveshare_esp32_s3_relay_6ch.menu.CPUFreq.40=40MHz +waveshare_esp32_s3_relay_6ch.menu.CPUFreq.40.build.f_cpu=40000000L +waveshare_esp32_s3_relay_6ch.menu.CPUFreq.20=20MHz +waveshare_esp32_s3_relay_6ch.menu.CPUFreq.20.build.f_cpu=20000000L +waveshare_esp32_s3_relay_6ch.menu.CPUFreq.10=10MHz +waveshare_esp32_s3_relay_6ch.menu.CPUFreq.10.build.f_cpu=10000000L + +waveshare_esp32_s3_relay_6ch.menu.UploadSpeed.921600=921600 +waveshare_esp32_s3_relay_6ch.menu.UploadSpeed.921600.upload.speed=921600 +waveshare_esp32_s3_relay_6ch.menu.UploadSpeed.115200=115200 +waveshare_esp32_s3_relay_6ch.menu.UploadSpeed.115200.upload.speed=115200 +waveshare_esp32_s3_relay_6ch.menu.UploadSpeed.256000.windows=256000 +waveshare_esp32_s3_relay_6ch.menu.UploadSpeed.256000.upload.speed=256000 +waveshare_esp32_s3_relay_6ch.menu.UploadSpeed.230400.windows.upload.speed=256000 +waveshare_esp32_s3_relay_6ch.menu.UploadSpeed.230400=230400 +waveshare_esp32_s3_relay_6ch.menu.UploadSpeed.230400.upload.speed=230400 +waveshare_esp32_s3_relay_6ch.menu.UploadSpeed.460800.linux=460800 +waveshare_esp32_s3_relay_6ch.menu.UploadSpeed.460800.macosx=460800 +waveshare_esp32_s3_relay_6ch.menu.UploadSpeed.460800.upload.speed=460800 +waveshare_esp32_s3_relay_6ch.menu.UploadSpeed.512000.windows=512000 +waveshare_esp32_s3_relay_6ch.menu.UploadSpeed.512000.upload.speed=512000 + +waveshare_esp32_s3_relay_6ch.menu.DebugLevel.none=None +waveshare_esp32_s3_relay_6ch.menu.DebugLevel.none.build.code_debug=0 +waveshare_esp32_s3_relay_6ch.menu.DebugLevel.error=Error +waveshare_esp32_s3_relay_6ch.menu.DebugLevel.error.build.code_debug=1 +waveshare_esp32_s3_relay_6ch.menu.DebugLevel.warn=Warn +waveshare_esp32_s3_relay_6ch.menu.DebugLevel.warn.build.code_debug=2 +waveshare_esp32_s3_relay_6ch.menu.DebugLevel.info=Info +waveshare_esp32_s3_relay_6ch.menu.DebugLevel.info.build.code_debug=3 +waveshare_esp32_s3_relay_6ch.menu.DebugLevel.debug=Debug +waveshare_esp32_s3_relay_6ch.menu.DebugLevel.debug.build.code_debug=4 +waveshare_esp32_s3_relay_6ch.menu.DebugLevel.verbose=Verbose +waveshare_esp32_s3_relay_6ch.menu.DebugLevel.verbose.build.code_debug=5 + +waveshare_esp32_s3_relay_6ch.menu.EraseFlash.none=Disabled +waveshare_esp32_s3_relay_6ch.menu.EraseFlash.none.upload.erase_cmd= +waveshare_esp32_s3_relay_6ch.menu.EraseFlash.all=Enabled +waveshare_esp32_s3_relay_6ch.menu.EraseFlash.all.upload.erase_cmd=-e + +waveshare_esp32_s3_relay_6ch.menu.ZigbeeMode.default=Disabled +waveshare_esp32_s3_relay_6ch.menu.ZigbeeMode.default.build.zigbee_mode= +waveshare_esp32_s3_relay_6ch.menu.ZigbeeMode.default.build.zigbee_libs= +waveshare_esp32_s3_relay_6ch.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator/router) +waveshare_esp32_s3_relay_6ch.menu.ZigbeeMode.zczr.build.zigbee_mode=-DZIGBEE_MODE_ZCZR +waveshare_esp32_s3_relay_6ch.menu.ZigbeeMode.zczr.build.zigbee_libs=-lesp_zb_api_zczr -lesp_zb_cli_command -lzboss_stack.zczr -lzboss_port + +############################################################## diff --git a/variants/waveshare_esp32_s3_lcd_146/pins_arduino.h b/variants/waveshare_esp32_s3_lcd_146/pins_arduino.h new file mode 100644 index 00000000000..2539f207bd0 --- /dev/null +++ b/variants/waveshare_esp32_s3_lcd_146/pins_arduino.h @@ -0,0 +1,64 @@ +#ifndef Pins_Arduino_h +#define Pins_Arduino_h + +#include +#include "soc/soc_caps.h" + +// BN: ESP32 Family Device +#define USB_VID 0x303a +#define USB_PID 0x8258 + +#define USB_MANUFACTURER "Waveshare" +#define USB_PRODUCT "ESP32-S3-Touch-LCD-1.46" +#define USB_SERIAL "" + +// I2C pins +static const uint8_t SCL = 10; +static const uint8_t SDA = 11; + +static const uint8_t TX = 43; +static const uint8_t RX = 44; + +// Mapping based on the ESP32S3 data sheet - alternate for SPI2 +static const uint8_t SS = 34; // FSPICS0 +static const uint8_t MOSI = 35; // FSPID +static const uint8_t MISO = 37; // FSPIQ +static const uint8_t SCK = 36; // FSPICLK + +static const uint8_t A0 = 1; +static const uint8_t A1 = 2; +static const uint8_t A2 = 3; +static const uint8_t A3 = 4; +static const uint8_t A4 = 5; +static const uint8_t A5 = 6; +static const uint8_t A6 = 7; +static const uint8_t A7 = 8; +static const uint8_t A8 = 9; +static const uint8_t A9 = 10; +static const uint8_t A10 = 11; +static const uint8_t A11 = 12; +static const uint8_t A12 = 13; +static const uint8_t A13 = 14; +static const uint8_t A14 = 15; +static const uint8_t A15 = 16; +static const uint8_t A16 = 17; +static const uint8_t A17 = 18; +static const uint8_t A18 = 19; +static const uint8_t A19 = 20; + +static const uint8_t T1 = 1; +static const uint8_t T2 = 2; +static const uint8_t T3 = 3; +static const uint8_t T4 = 4; +static const uint8_t T5 = 5; +static const uint8_t T6 = 6; +static const uint8_t T7 = 7; +static const uint8_t T8 = 8; +static const uint8_t T9 = 9; +static const uint8_t T10 = 10; +static const uint8_t T11 = 11; +static const uint8_t T12 = 12; +static const uint8_t T13 = 13; +static const uint8_t T14 = 14; + +#endif /* Pins_Arduino_h */ diff --git a/variants/waveshare_esp32_s3_lcd_147/pins_arduino.h b/variants/waveshare_esp32_s3_lcd_147/pins_arduino.h new file mode 100644 index 00000000000..b79a970c1ef --- /dev/null +++ b/variants/waveshare_esp32_s3_lcd_147/pins_arduino.h @@ -0,0 +1,64 @@ +#ifndef Pins_Arduino_h +#define Pins_Arduino_h + +#include +#include "soc/soc_caps.h" + +// BN: ESP32 Family Device +#define USB_VID 0x303a +#define USB_PID 0x828A + +#define USB_MANUFACTURER "Waveshare" +#define USB_PRODUCT "ESP32-S3-LCD-1.47" +#define USB_SERIAL "" + +#define PIN_RGB_LED 38 + +static const uint8_t TX = 43; +static const uint8_t RX = 44; + +static const uint8_t SDA = 8; +static const uint8_t SCL = 9; + +static const uint8_t SS = 10; +static const uint8_t MOSI = 11; +static const uint8_t MISO = 13; +static const uint8_t SCK = 12; + +static const uint8_t A0 = 1; +static const uint8_t A1 = 2; +static const uint8_t A2 = 3; +static const uint8_t A3 = 4; +static const uint8_t A4 = 5; +static const uint8_t A5 = 6; +static const uint8_t A6 = 7; +static const uint8_t A7 = 8; +static const uint8_t A8 = 9; +static const uint8_t A9 = 10; +static const uint8_t A10 = 11; +static const uint8_t A11 = 12; +static const uint8_t A12 = 13; +static const uint8_t A13 = 14; +static const uint8_t A14 = 15; +static const uint8_t A15 = 16; +static const uint8_t A16 = 17; +static const uint8_t A17 = 18; +static const uint8_t A18 = 19; +static const uint8_t A19 = 20; + +static const uint8_t T1 = 1; +static const uint8_t T2 = 2; +static const uint8_t T3 = 3; +static const uint8_t T4 = 4; +static const uint8_t T5 = 5; +static const uint8_t T6 = 6; +static const uint8_t T7 = 7; +static const uint8_t T8 = 8; +static const uint8_t T9 = 9; +static const uint8_t T10 = 10; +static const uint8_t T11 = 11; +static const uint8_t T12 = 12; +static const uint8_t T13 = 13; +static const uint8_t T14 = 14; + +#endif /* Pins_Arduino_h */ diff --git a/variants/waveshare_esp32_s3_lcd_185/pins_arduino.h b/variants/waveshare_esp32_s3_lcd_185/pins_arduino.h new file mode 100644 index 00000000000..f8542f014e7 --- /dev/null +++ b/variants/waveshare_esp32_s3_lcd_185/pins_arduino.h @@ -0,0 +1,64 @@ +#ifndef Pins_Arduino_h +#define Pins_Arduino_h + +#include +#include "soc/soc_caps.h" + +// BN: ESP32 Family Device +#define USB_VID 0x303a +#define USB_PID 0x8290 + +#define USB_MANUFACTURER "Waveshare" +#define USB_PRODUCT "ESP32-S3-LCD-1.85" +#define USB_SERIAL "" + +// I2C pins +static const uint8_t SCL = 10; +static const uint8_t SDA = 11; + +static const uint8_t TX = 43; +static const uint8_t RX = 44; + +// Mapping based on the ESP32S3 data sheet - alternate for SPI2 +static const uint8_t SS = 34; // FSPICS0 +static const uint8_t MOSI = 35; // FSPID +static const uint8_t MISO = 37; // FSPIQ +static const uint8_t SCK = 36; // FSPICLK + +static const uint8_t A0 = 1; +static const uint8_t A1 = 2; +static const uint8_t A2 = 3; +static const uint8_t A3 = 4; +static const uint8_t A4 = 5; +static const uint8_t A5 = 6; +static const uint8_t A6 = 7; +static const uint8_t A7 = 8; +static const uint8_t A8 = 9; +static const uint8_t A9 = 10; +static const uint8_t A10 = 11; +static const uint8_t A11 = 12; +static const uint8_t A12 = 13; +static const uint8_t A13 = 14; +static const uint8_t A14 = 15; +static const uint8_t A15 = 16; +static const uint8_t A16 = 17; +static const uint8_t A17 = 18; +static const uint8_t A18 = 19; +static const uint8_t A19 = 20; + +static const uint8_t T1 = 1; +static const uint8_t T2 = 2; +static const uint8_t T3 = 3; +static const uint8_t T4 = 4; +static const uint8_t T5 = 5; +static const uint8_t T6 = 6; +static const uint8_t T7 = 7; +static const uint8_t T8 = 8; +static const uint8_t T9 = 9; +static const uint8_t T10 = 10; +static const uint8_t T11 = 11; +static const uint8_t T12 = 12; +static const uint8_t T13 = 13; +static const uint8_t T14 = 14; + +#endif /* Pins_Arduino_h */ diff --git a/variants/waveshare_esp32_s3_relay_6ch/pins_arduino.h b/variants/waveshare_esp32_s3_relay_6ch/pins_arduino.h new file mode 100644 index 00000000000..f389f5e1358 --- /dev/null +++ b/variants/waveshare_esp32_s3_relay_6ch/pins_arduino.h @@ -0,0 +1,64 @@ +#ifndef Pins_Arduino_h +#define Pins_Arduino_h + +#include +#include "soc/soc_caps.h" + +// BN: ESP32 Family Device +#define USB_VID 0x303a +#define USB_PID 0x8273 + +#define USB_MANUFACTURER "Waveshare" +#define USB_PRODUCT "ESP32-S3-Relay-6CH" +#define USB_SERIAL "" + +#define PIN_RGB_LED 38 + +static const uint8_t SDA = 8; +static const uint8_t SCL = 9; + +static const uint8_t TX = 43; +static const uint8_t RX = 44; + +static const uint8_t SS = 10; +static const uint8_t MOSI = 11; +static const uint8_t MISO = 13; +static const uint8_t SCK = 12; + +static const uint8_t A0 = 1; +static const uint8_t A1 = 2; +static const uint8_t A2 = 3; +static const uint8_t A3 = 4; +static const uint8_t A4 = 5; +static const uint8_t A5 = 6; +static const uint8_t A6 = 7; +static const uint8_t A7 = 8; +static const uint8_t A8 = 9; +static const uint8_t A9 = 10; +static const uint8_t A10 = 11; +static const uint8_t A11 = 12; +static const uint8_t A12 = 13; +static const uint8_t A13 = 14; +static const uint8_t A14 = 15; +static const uint8_t A15 = 16; +static const uint8_t A16 = 17; +static const uint8_t A17 = 18; +static const uint8_t A18 = 19; +static const uint8_t A19 = 20; + +static const uint8_t T1 = 1; +static const uint8_t T2 = 2; +static const uint8_t T3 = 3; +static const uint8_t T4 = 4; +static const uint8_t T5 = 5; +static const uint8_t T6 = 6; +static const uint8_t T7 = 7; +static const uint8_t T8 = 8; +static const uint8_t T9 = 9; +static const uint8_t T10 = 10; +static const uint8_t T11 = 11; +static const uint8_t T12 = 12; +static const uint8_t T13 = 13; +static const uint8_t T14 = 14; + +#endif /* Pins_Arduino_h */ diff --git a/variants/waveshare_esp32_s3_touch_lcd_146/pins_arduino.h b/variants/waveshare_esp32_s3_touch_lcd_146/pins_arduino.h new file mode 100644 index 00000000000..1c14bfe6714 --- /dev/null +++ b/variants/waveshare_esp32_s3_touch_lcd_146/pins_arduino.h @@ -0,0 +1,64 @@ +#ifndef Pins_Arduino_h +#define Pins_Arduino_h + +#include +#include "soc/soc_caps.h" + +// BN: ESP32 Family Device +#define USB_VID 0x303a +#define USB_PID 0x8287 + +#define USB_MANUFACTURER "Waveshare" +#define USB_PRODUCT "ESP32-S3-Touch-LCD-1.85-Box" +#define USB_SERIAL "" + +// I2C pins +static const uint8_t SCL = 10; +static const uint8_t SDA = 11; + +static const uint8_t TX = 43; +static const uint8_t RX = 44; + +// Mapping based on the ESP32S3 data sheet - alternate for SPI2 +static const uint8_t SS = 34; // FSPICS0 +static const uint8_t MOSI = 35; // FSPID +static const uint8_t MISO = 37; // FSPIQ +static const uint8_t SCK = 36; // FSPICLK + +static const uint8_t A0 = 1; +static const uint8_t A1 = 2; +static const uint8_t A2 = 3; +static const uint8_t A3 = 4; +static const uint8_t A4 = 5; +static const uint8_t A5 = 6; +static const uint8_t A6 = 7; +static const uint8_t A7 = 8; +static const uint8_t A8 = 9; +static const uint8_t A9 = 10; +static const uint8_t A10 = 11; +static const uint8_t A11 = 12; +static const uint8_t A12 = 13; +static const uint8_t A13 = 14; +static const uint8_t A14 = 15; +static const uint8_t A15 = 16; +static const uint8_t A16 = 17; +static const uint8_t A17 = 18; +static const uint8_t A18 = 19; +static const uint8_t A19 = 20; + +static const uint8_t T1 = 1; +static const uint8_t T2 = 2; +static const uint8_t T3 = 3; +static const uint8_t T4 = 4; +static const uint8_t T5 = 5; +static const uint8_t T6 = 6; +static const uint8_t T7 = 7; +static const uint8_t T8 = 8; +static const uint8_t T9 = 9; +static const uint8_t T10 = 10; +static const uint8_t T11 = 11; +static const uint8_t T12 = 12; +static const uint8_t T13 = 13; +static const uint8_t T14 = 14; + +#endif /* Pins_Arduino_h */ diff --git a/variants/waveshare_esp32_s3_touch_lcd_185_box/pins_arduino.h b/variants/waveshare_esp32_s3_touch_lcd_185_box/pins_arduino.h new file mode 100644 index 00000000000..438da04025a --- /dev/null +++ b/variants/waveshare_esp32_s3_touch_lcd_185_box/pins_arduino.h @@ -0,0 +1,64 @@ +#ifndef Pins_Arduino_h +#define Pins_Arduino_h + +#include +#include "soc/soc_caps.h" + +// BN: ESP32 Family Device +#define USB_VID 0x303a +#define USB_PID 0x825B + +#define USB_MANUFACTURER "Waveshare" +#define USB_PRODUCT "ESP32-S3-Touch-LCD-2.1" +#define USB_SERIAL "" + +// I2C pins +static const uint8_t SCL = 7; +static const uint8_t SDA = 15; + +static const uint8_t TX = 43; +static const uint8_t RX = 44; + +// Mapping based on the ESP32S3 data sheet - alternate for SPI2 +static const uint8_t SS = 34; // FSPICS0 +static const uint8_t MOSI = 35; // FSPID +static const uint8_t MISO = 37; // FSPIQ +static const uint8_t SCK = 36; // FSPICLK + +static const uint8_t A0 = 1; +static const uint8_t A1 = 2; +static const uint8_t A2 = 3; +static const uint8_t A3 = 4; +static const uint8_t A4 = 5; +static const uint8_t A5 = 6; +static const uint8_t A6 = 7; +static const uint8_t A7 = 8; +static const uint8_t A8 = 9; +static const uint8_t A9 = 10; +static const uint8_t A10 = 11; +static const uint8_t A11 = 12; +static const uint8_t A12 = 13; +static const uint8_t A13 = 14; +static const uint8_t A14 = 15; +static const uint8_t A15 = 16; +static const uint8_t A16 = 17; +static const uint8_t A17 = 18; +static const uint8_t A18 = 19; +static const uint8_t A19 = 20; + +static const uint8_t T1 = 1; +static const uint8_t T2 = 2; +static const uint8_t T3 = 3; +static const uint8_t T4 = 4; +static const uint8_t T5 = 5; +static const uint8_t T6 = 6; +static const uint8_t T7 = 7; +static const uint8_t T8 = 8; +static const uint8_t T9 = 9; +static const uint8_t T10 = 10; +static const uint8_t T11 = 11; +static const uint8_t T12 = 12; +static const uint8_t T13 = 13; +static const uint8_t T14 = 14; + +#endif /* Pins_Arduino_h */ diff --git a/variants/waveshare_esp32_s3_touch_lcd_21/pins_arduino.h b/variants/waveshare_esp32_s3_touch_lcd_21/pins_arduino.h new file mode 100644 index 00000000000..a6c76a7ff34 --- /dev/null +++ b/variants/waveshare_esp32_s3_touch_lcd_21/pins_arduino.h @@ -0,0 +1,64 @@ +#ifndef Pins_Arduino_h +#define Pins_Arduino_h + +#include +#include "soc/soc_caps.h" + +// BN: ESP32 Family Device +#define USB_VID 0x303a +#define USB_PID 0x825E + +#define USB_MANUFACTURER "Waveshare" +#define USB_PRODUCT "ESP32-S3-Touch-LCD-2.8" +#define USB_SERIAL "" + +// I2C pins +static const uint8_t SCL = 10; +static const uint8_t SDA = 11; + +static const uint8_t TX = 43; +static const uint8_t RX = 44; + +// Mapping based on the ESP32S3 data sheet - alternate for SPI2 +static const uint8_t SS = 34; // FSPICS0 +static const uint8_t MOSI = 35; // FSPID +static const uint8_t MISO = 37; // FSPIQ +static const uint8_t SCK = 36; // FSPICLK + +static const uint8_t A0 = 1; +static const uint8_t A1 = 2; +static const uint8_t A2 = 3; +static const uint8_t A3 = 4; +static const uint8_t A4 = 5; +static const uint8_t A5 = 6; +static const uint8_t A6 = 7; +static const uint8_t A7 = 8; +static const uint8_t A8 = 9; +static const uint8_t A9 = 10; +static const uint8_t A10 = 11; +static const uint8_t A11 = 12; +static const uint8_t A12 = 13; +static const uint8_t A13 = 14; +static const uint8_t A14 = 15; +static const uint8_t A15 = 16; +static const uint8_t A16 = 17; +static const uint8_t A17 = 18; +static const uint8_t A18 = 19; +static const uint8_t A19 = 20; + +static const uint8_t T1 = 1; +static const uint8_t T2 = 2; +static const uint8_t T3 = 3; +static const uint8_t T4 = 4; +static const uint8_t T5 = 5; +static const uint8_t T6 = 6; +static const uint8_t T7 = 7; +static const uint8_t T8 = 8; +static const uint8_t T9 = 9; +static const uint8_t T10 = 10; +static const uint8_t T11 = 11; +static const uint8_t T12 = 12; +static const uint8_t T13 = 13; +static const uint8_t T14 = 14; + +#endif /* Pins_Arduino_h */ diff --git a/variants/waveshare_esp32_s3_touch_lcd_28/pins_arduino.h b/variants/waveshare_esp32_s3_touch_lcd_28/pins_arduino.h new file mode 100644 index 00000000000..a6c76a7ff34 --- /dev/null +++ b/variants/waveshare_esp32_s3_touch_lcd_28/pins_arduino.h @@ -0,0 +1,64 @@ +#ifndef Pins_Arduino_h +#define Pins_Arduino_h + +#include +#include "soc/soc_caps.h" + +// BN: ESP32 Family Device +#define USB_VID 0x303a +#define USB_PID 0x825E + +#define USB_MANUFACTURER "Waveshare" +#define USB_PRODUCT "ESP32-S3-Touch-LCD-2.8" +#define USB_SERIAL "" + +// I2C pins +static const uint8_t SCL = 10; +static const uint8_t SDA = 11; + +static const uint8_t TX = 43; +static const uint8_t RX = 44; + +// Mapping based on the ESP32S3 data sheet - alternate for SPI2 +static const uint8_t SS = 34; // FSPICS0 +static const uint8_t MOSI = 35; // FSPID +static const uint8_t MISO = 37; // FSPIQ +static const uint8_t SCK = 36; // FSPICLK + +static const uint8_t A0 = 1; +static const uint8_t A1 = 2; +static const uint8_t A2 = 3; +static const uint8_t A3 = 4; +static const uint8_t A4 = 5; +static const uint8_t A5 = 6; +static const uint8_t A6 = 7; +static const uint8_t A7 = 8; +static const uint8_t A8 = 9; +static const uint8_t A9 = 10; +static const uint8_t A10 = 11; +static const uint8_t A11 = 12; +static const uint8_t A12 = 13; +static const uint8_t A13 = 14; +static const uint8_t A14 = 15; +static const uint8_t A15 = 16; +static const uint8_t A16 = 17; +static const uint8_t A17 = 18; +static const uint8_t A18 = 19; +static const uint8_t A19 = 20; + +static const uint8_t T1 = 1; +static const uint8_t T2 = 2; +static const uint8_t T3 = 3; +static const uint8_t T4 = 4; +static const uint8_t T5 = 5; +static const uint8_t T6 = 6; +static const uint8_t T7 = 7; +static const uint8_t T8 = 8; +static const uint8_t T9 = 9; +static const uint8_t T10 = 10; +static const uint8_t T11 = 11; +static const uint8_t T12 = 12; +static const uint8_t T13 = 13; +static const uint8_t T14 = 14; + +#endif /* Pins_Arduino_h */ From 6e88445ba90e2eb8bdfb14f128b1d1773c0bdabb Mon Sep 17 00:00:00 2001 From: Me No Dev Date: Wed, 23 Oct 2024 15:30:30 +0300 Subject: [PATCH 136/146] fix(i2s): Use separate variables when reading and writing (#10509) --- libraries/ESP_I2S/src/ESP_I2S.cpp | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/libraries/ESP_I2S/src/ESP_I2S.cpp b/libraries/ESP_I2S/src/ESP_I2S.cpp index 395c7b587ed..f4bd92b52d5 100644 --- a/libraries/ESP_I2S/src/ESP_I2S.cpp +++ b/libraries/ESP_I2S/src/ESP_I2S.cpp @@ -806,17 +806,19 @@ bool I2SClass::configureRX(uint32_t rate, i2s_data_bit_width_t bits_cfg, i2s_slo size_t I2SClass::readBytes(char *buffer, size_t size) { size_t bytes_read = 0; + size_t bytes_to_read = 0; size_t total_size = 0; last_error = ESP_FAIL; if (rx_chan == NULL) { return total_size; } while (total_size < size) { - bytes_read = size - total_size; - if (rx_transform_buf != NULL && bytes_read > I2S_READ_CHUNK_SIZE) { - bytes_read = I2S_READ_CHUNK_SIZE; + bytes_read = 0; + bytes_to_read = size - total_size; + if (rx_transform_buf != NULL && bytes_to_read > I2S_READ_CHUNK_SIZE) { + bytes_to_read = I2S_READ_CHUNK_SIZE; } - I2S_ERROR_CHECK_RETURN(rx_fn(rx_chan, rx_transform_buf, (char *)(buffer + total_size), bytes_read, &bytes_read, _timeout), 0); + I2S_ERROR_CHECK_RETURN(rx_fn(rx_chan, rx_transform_buf, (char *)(buffer + total_size), bytes_to_read, &bytes_read, _timeout), 0); total_size += bytes_read; } return total_size; @@ -825,13 +827,15 @@ size_t I2SClass::readBytes(char *buffer, size_t size) { size_t I2SClass::write(const uint8_t *buffer, size_t size) { size_t written = 0; size_t bytes_sent = 0; + size_t bytes_to_send = 0; last_error = ESP_FAIL; if (tx_chan == NULL) { return written; } while (written < size) { - bytes_sent = size - written; - esp_err_t err = i2s_channel_write(tx_chan, (char *)(buffer + written), bytes_sent, &bytes_sent, _timeout); + bytes_sent = 0; + bytes_to_send = size - written; + esp_err_t err = i2s_channel_write(tx_chan, (char *)(buffer + written), bytes_to_send, &bytes_sent, _timeout); setWriteError(err); I2S_ERROR_CHECK_RETURN(err, written); written += bytes_sent; From cb83cda06a621b095e52029edbfa4049a9a84bb9 Mon Sep 17 00:00:00 2001 From: Thomas Weller Date: Wed, 23 Oct 2024 19:39:12 +0200 Subject: [PATCH 137/146] Fix comments for AD types in advertising (#10512) --- libraries/BLE/src/BLEAdvertising.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libraries/BLE/src/BLEAdvertising.cpp b/libraries/BLE/src/BLEAdvertising.cpp index 1f2e6cd2887..2d71c4d7478 100644 --- a/libraries/BLE/src/BLEAdvertising.cpp +++ b/libraries/BLE/src/BLEAdvertising.cpp @@ -352,7 +352,7 @@ void BLEAdvertisementData::setCompleteServices(BLEUUID uuid) { switch (uuid.bitSize()) { case 16: { - // [Len] [0x02] [LL] [HH] + // [Len] [0x03] [LL] [HH] cdata[0] = 3; cdata[1] = ESP_BLE_AD_TYPE_16SRV_CMPL; // 0x03 addData(String(cdata, 2) + String((char *)&uuid.getNative()->uuid.uuid16, 2)); @@ -361,7 +361,7 @@ void BLEAdvertisementData::setCompleteServices(BLEUUID uuid) { case 32: { - // [Len] [0x04] [LL] [LL] [HH] [HH] + // [Len] [0x05] [LL] [LL] [HH] [HH] cdata[0] = 5; cdata[1] = ESP_BLE_AD_TYPE_32SRV_CMPL; // 0x05 addData(String(cdata, 2) + String((char *)&uuid.getNative()->uuid.uuid32, 4)); @@ -370,7 +370,7 @@ void BLEAdvertisementData::setCompleteServices(BLEUUID uuid) { case 128: { - // [Len] [0x04] [0] [1] ... [15] + // [Len] [0x07] [0] [1] ... [15] cdata[0] = 17; cdata[1] = ESP_BLE_AD_TYPE_128SRV_CMPL; // 0x07 addData(String(cdata, 2) + String((char *)uuid.getNative()->uuid.uuid128, 16)); @@ -453,7 +453,7 @@ void BLEAdvertisementData::setPartialServices(BLEUUID uuid) { case 128: { - // [Len] [0x04] [0] [1] ... [15] + // [Len] [0x06] [0] [1] ... [15] cdata[0] = 17; cdata[1] = ESP_BLE_AD_TYPE_128SRV_PART; // 0x06 addData(String(cdata, 2) + String((char *)&uuid.getNative()->uuid.uuid128, 16)); From 6dfd95898387bf10eb6348a22c2499073efb9f16 Mon Sep 17 00:00:00 2001 From: Me No Dev Date: Thu, 24 Oct 2024 00:46:01 +0300 Subject: [PATCH 138/146] fix(eth): Set default clock in pin value to zero (#10513) When Arduino is used as component, `CONFIG_ETH_RMII_CLK_IN_GPIO` might not be defined, so we set it to const `0` to clear the issue. --- libraries/Ethernet/src/ETH.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/Ethernet/src/ETH.cpp b/libraries/Ethernet/src/ETH.cpp index e04174fd490..e3f2197221c 100644 --- a/libraries/Ethernet/src/ETH.cpp +++ b/libraries/Ethernet/src/ETH.cpp @@ -210,7 +210,7 @@ bool ETHClass::begin(eth_phy_type_t type, int32_t phy_addr, int mdc, int mdio, i #if CONFIG_IDF_TARGET_ESP32 #undef DEFAULT_RMII_CLK_GPIO -#define DEFAULT_RMII_CLK_GPIO (emac_rmii_clock_gpio_t)(CONFIG_ETH_RMII_CLK_IN_GPIO) +#define DEFAULT_RMII_CLK_GPIO (emac_rmii_clock_gpio_t)(0) #endif eth_esp32_emac_config_t mac_config = ETH_EMAC_DEFAULT_CONFIG(); From 330beb40a501f2006abfbc9241fd81dc306d676b Mon Sep 17 00:00:00 2001 From: zinkett <96108358+zinkett@users.noreply.github.com> Date: Thu, 24 Oct 2024 13:31:54 +0200 Subject: [PATCH 139/146] Update lib - User can choose if calc MD5 from encrypted or decrypted file (#10510) * User can choose if calc MD5 from decrypted file At the present moment, if user want use OTA, the function calculate MD5 of the decrypted file, but if file is encrypted from source, could be more useful to know the MD5 of the encrypted file. * md5 * Update Updater.cpp * Update libraries/Update/src/Update.h Co-authored-by: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com> * Update libraries/Update/src/Update.h Co-authored-by: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com> * Update libraries/Update/src/Updater.cpp Co-authored-by: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com> * Update libraries/Update/src/Updater.cpp Co-authored-by: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com> * ci(pre-commit): Apply automatic fixes --------- Co-authored-by: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com> Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> --- libraries/Update/src/Update.h | 4 +++- libraries/Update/src/Updater.cpp | 12 ++++++++++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/libraries/Update/src/Update.h b/libraries/Update/src/Update.h index 7ae5e980751..5832846fd28 100644 --- a/libraries/Update/src/Update.h +++ b/libraries/Update/src/Update.h @@ -137,8 +137,9 @@ class UpdateClass { /* sets the expected MD5 for the firmware (hexString) + If calc_post_decryption is true, the update library will calculate the MD5 after the decryption, if false the calculation occurs before the decryption */ - bool setMD5(const char *expected_md5); + bool setMD5(const char *expected_md5, bool calc_post_decryption = true); /* returns the MD5 String of the successfully ended firmware @@ -257,6 +258,7 @@ class UpdateClass { const esp_partition_t *_partition; String _target_md5; + bool _target_md5_decrypted = true; MD5Builder _md5; int _ledPin; diff --git a/libraries/Update/src/Updater.cpp b/libraries/Update/src/Updater.cpp index 78f93602cde..e92f84d4599 100644 --- a/libraries/Update/src/Updater.cpp +++ b/libraries/Update/src/Updater.cpp @@ -348,6 +348,11 @@ bool UpdateClass::_writeBuffer() { log_d("Decrypting OTA Image"); } } + + if (!_target_md5_decrypted) { + _md5.add(_buffer, _bufferLen); + } + //check if data in buffer needs decrypting if (_cryptMode & U_AES_IMAGE_DECRYPTING_BIT) { if (!_decryptBuffer()) { @@ -404,7 +409,9 @@ bool UpdateClass::_writeBuffer() { if (!_progress && _command == U_FLASH) { _buffer[0] = ESP_IMAGE_HEADER_MAGIC; } - _md5.add(_buffer, _bufferLen); + if (_target_md5_decrypted) { + _md5.add(_buffer, _bufferLen); + } _progress += _bufferLen; _bufferLen = 0; if (_progress_callback) { @@ -446,12 +453,13 @@ bool UpdateClass::_verifyEnd() { return false; } -bool UpdateClass::setMD5(const char *expected_md5) { +bool UpdateClass::setMD5(const char *expected_md5, bool calc_post_decryption) { if (strlen(expected_md5) != 32) { return false; } _target_md5 = expected_md5; _target_md5.toLowerCase(); + _target_md5_decrypted = calc_post_decryption; return true; } From 07c510e3adc0dfe4a284d0f47d6ecd07286c712f Mon Sep 17 00:00:00 2001 From: vortigont Date: Thu, 24 Oct 2024 21:15:13 +0900 Subject: [PATCH 140/146] fix (NetworkEvents lib) remove checks for duplicated event handlers (#10376) * lib Network: add cpp syntax to structs * [Network] deprecate NetworkEvents::removeEvent() for std::function callbacks removing event callback via std::function pointer does not work as expected for lambdas (issue #10365) here mark NetworkEvents::removeEvent(NetworkEventFuncCb cbEvent, arduino_event_id_t event = ARDUINO_EVENT_MAX) as deprecated in favor of removing by callback's id for NetworkEvents::onEvent remove checking for dublicate event handler, this does not work for lambdas too remove NetworkEvents::find methods as unnecessary move cbEventList container inside the class declare NetworkEventCbList_t as a cpp struct with constructor, allows using std::vector.emplace() when adding new items to container optimize NetworkEvents::remove() calls to use erase-remove idiom for std::vector * [Network] hide event task under private member of NetworkEvents class prevent checkForEvent loop to be callable from outside the task's thread * refactor(NetworkEvents) code polishing and comments - rename NetworkEvents::cbEventList as private member NetworkEvents_cbEventList - NetworkEvents::getStatusBits() add const qualifier - turn statics into constexpr - add indexes to enum::arduino_event_id_t to make events indexing consistent for SOCs with/without WiFi also leave some index gaps to minimize renumbering on adding new events - add doxygen help to NetworkEvents:: methods - declare NetworkEvents::eventName() as static, that could be used without creating class scope - potential mem leak in postEvent * refactor(NetworkEvents) add (optional) mutex lock for container operations provide thread safety for dual core SoCs since std::mutex brings additional componetns of libstdc++ lib it impacts resulting image size significantly (around 50k) Might be enabled on-demand if thread-safety is required * ci(pre-commit): Apply automatic fixes * fix(spelling): Fix spelling mistakes --------- Co-authored-by: Rodrigo Garcia Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> Co-authored-by: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com> --- libraries/Network/src/NetworkEvents.cpp | 325 ++++++++++-------------- libraries/Network/src/NetworkEvents.h | 180 +++++++++++-- 2 files changed, 289 insertions(+), 216 deletions(-) diff --git a/libraries/Network/src/NetworkEvents.cpp b/libraries/Network/src/NetworkEvents.cpp index bb02282e9b3..5a7e7c49afa 100644 --- a/libraries/Network/src/NetworkEvents.cpp +++ b/libraries/Network/src/NetworkEvents.cpp @@ -8,28 +8,6 @@ #include "esp_task.h" #include "esp32-hal.h" -typedef struct NetworkEventCbList { - static network_event_handle_t current_id; - network_event_handle_t id; - NetworkEventCb cb; - NetworkEventFuncCb fcb; - NetworkEventSysCb scb; - arduino_event_id_t event; - - NetworkEventCbList() : id(current_id++), cb(NULL), fcb(NULL), scb(NULL), event(ARDUINO_EVENT_NONE) {} -} NetworkEventCbList_t; -network_event_handle_t NetworkEventCbList::current_id = 1; - -// arduino dont like std::vectors move static here -static std::vector cbEventList; - -static void _network_event_task(void *arg) { - for (;;) { - ((NetworkEvents *)arg)->checkForEvent(); - } - vTaskDelete(NULL); -} - NetworkEvents::NetworkEvents() : _arduino_event_group(NULL), _arduino_event_queue(NULL), _arduino_event_task_handle(NULL) {} NetworkEvents::~NetworkEvents() { @@ -43,8 +21,9 @@ NetworkEvents::~NetworkEvents() { } if (_arduino_event_queue != NULL) { arduino_event_t *event = NULL; + // consume queue while (xQueueReceive(_arduino_event_queue, &event, 0) == pdTRUE) { - free(event); + delete event; } vQueueDelete(_arduino_event_queue); _arduino_event_queue = NULL; @@ -78,7 +57,14 @@ bool NetworkEvents::initNetworkEvents() { } if (!_arduino_event_task_handle) { - xTaskCreateUniversal(_network_event_task, "arduino_events", 4096, this, ESP_TASKD_EVENT_PRIO - 1, &_arduino_event_task_handle, ARDUINO_EVENT_RUNNING_CORE); + xTaskCreateUniversal( + [](void *self) { + static_cast(self)->_checkForEvent(); + }, + "arduino_events", // label + 4096, // event task's stack size + this, ESP_TASKD_EVENT_PRIO - 1, &_arduino_event_task_handle, ARDUINO_EVENT_RUNNING_CORE + ); if (!_arduino_event_task_handle) { log_e("Network Event Task Start Failed!"); return false; @@ -88,66 +74,76 @@ bool NetworkEvents::initNetworkEvents() { return true; } -bool NetworkEvents::postEvent(arduino_event_t *data) { +bool NetworkEvents::postEvent(const arduino_event_t *data) { if (data == NULL || _arduino_event_queue == NULL) { return false; } - arduino_event_t *event = (arduino_event_t *)malloc(sizeof(arduino_event_t)); + arduino_event_t *event = new arduino_event_t(); if (event == NULL) { log_e("Arduino Event Malloc Failed!"); return false; } + memcpy(event, data, sizeof(arduino_event_t)); if (xQueueSend(_arduino_event_queue, &event, portMAX_DELAY) != pdPASS) { log_e("Arduino Event Send Failed!"); + delete event; // release mem on error return false; } return true; } -void NetworkEvents::checkForEvent() { - arduino_event_t *event = NULL; +void NetworkEvents::_checkForEvent() { + // this task can't run without the queue if (_arduino_event_queue == NULL) { + _arduino_event_task_handle = NULL; + vTaskDelete(NULL); return; } - if (xQueueReceive(_arduino_event_queue, &event, portMAX_DELAY) != pdTRUE) { - return; - } - if (event == NULL) { - return; - } - log_v("Network Event: %d - %s", event->event_id, eventName(event->event_id)); - for (uint32_t i = 0; i < cbEventList.size(); i++) { - NetworkEventCbList_t entry = cbEventList[i]; - if (entry.cb || entry.fcb || entry.scb) { - if (entry.event == (arduino_event_id_t)event->event_id || entry.event == ARDUINO_EVENT_MAX) { - if (entry.cb) { - entry.cb((arduino_event_id_t)event->event_id); - } else if (entry.fcb) { - entry.fcb((arduino_event_id_t)event->event_id, (arduino_event_info_t)event->event_info); - } else { - entry.scb(event); + + for (;;) { + arduino_event_t *event = NULL; + // wait for an event on a queue + if (xQueueReceive(_arduino_event_queue, &event, portMAX_DELAY) != pdTRUE) { + continue; + } + if (event == NULL) { + continue; + } + log_v("Network Event: %d - %s", event->event_id, eventName(event->event_id)); + +#if defined NETWORK_EVENTS_MUTEX && SOC_CPU_CORES_NUM > 1 + std::unique_lock lock(_mtx); +#endif // defined NETWORK_EVENTS_MUTEX && SOC_CPU_CORES_NUM > 1 + + // iterate over registered callbacks + for (auto &i : _cbEventList) { + if (i.cb || i.fcb || i.scb) { + if (i.event == (arduino_event_id_t)event->event_id || i.event == ARDUINO_EVENT_MAX) { + if (i.cb) { + i.cb((arduino_event_id_t)event->event_id); + continue; + } + + if (i.fcb) { + i.fcb((arduino_event_id_t)event->event_id, (arduino_event_info_t)event->event_info); + continue; + } + + i.scb(event); } } } - } - free(event); -} -uint32_t NetworkEvents::findEvent(NetworkEventCb cbEvent, arduino_event_id_t event) { - uint32_t i; +#if defined NETWORK_EVENTS_MUTEX && SOC_CPU_CORES_NUM > 1 + lock.unlock(); +#endif // defined NETWORK_EVENTS_MUTEX && SOC_CPU_CORES_NUM > 1 - if (!cbEvent) { - return cbEventList.size(); + // release the event object's memory + delete event; } - for (i = 0; i < cbEventList.size(); i++) { - NetworkEventCbList_t entry = cbEventList[i]; - if (entry.cb == cbEvent && entry.event == event) { - break; - } - } - return i; + vTaskDelete(NULL); } template static size_t getStdFunctionAddress(std::function f) { @@ -159,55 +155,17 @@ template static size_t getStdFunctionAddress(std::fun return (size_t)fnPointer; } -uint32_t NetworkEvents::findEvent(NetworkEventFuncCb cbEvent, arduino_event_id_t event) { - uint32_t i; - - if (!cbEvent) { - return cbEventList.size(); - } - - for (i = 0; i < cbEventList.size(); i++) { - NetworkEventCbList_t entry = cbEventList[i]; - if (getStdFunctionAddress(entry.fcb) == getStdFunctionAddress(cbEvent) && entry.event == event) { - break; - } - } - return i; -} - -uint32_t NetworkEvents::findEvent(NetworkEventSysCb cbEvent, arduino_event_id_t event) { - uint32_t i; - - if (!cbEvent) { - return cbEventList.size(); - } - - for (i = 0; i < cbEventList.size(); i++) { - NetworkEventCbList_t entry = cbEventList[i]; - if (entry.scb == cbEvent && entry.event == event) { - break; - } - } - return i; -} - network_event_handle_t NetworkEvents::onEvent(NetworkEventCb cbEvent, arduino_event_id_t event) { if (!cbEvent) { return 0; } - if (findEvent(cbEvent, event) < cbEventList.size()) { - log_w("Attempt to add duplicate event handler!"); - return 0; - } +#if defined NETWORK_EVENTS_MUTEX && SOC_CPU_CORES_NUM > 1 + std::lock_guard lock(_mtx); +#endif // defined NETWORK_EVENTS_MUTEX && SOC_CPU_CORES_NUM > 1 - NetworkEventCbList_t newEventHandler; - newEventHandler.cb = cbEvent; - newEventHandler.fcb = NULL; - newEventHandler.scb = NULL; - newEventHandler.event = event; - cbEventList.push_back(newEventHandler); - return newEventHandler.id; + _cbEventList.emplace_back(++_current_id, cbEvent, nullptr, nullptr, event); + return _cbEventList.back().id; } network_event_handle_t NetworkEvents::onEvent(NetworkEventFuncCb cbEvent, arduino_event_id_t event) { @@ -215,18 +173,12 @@ network_event_handle_t NetworkEvents::onEvent(NetworkEventFuncCb cbEvent, arduin return 0; } - if (findEvent(cbEvent, event) < cbEventList.size()) { - log_w("Attempt to add duplicate event handler!"); - return 0; - } +#if defined NETWORK_EVENTS_MUTEX && SOC_CPU_CORES_NUM > 1 + std::lock_guard lock(_mtx); +#endif // defined NETWORK_EVENTS_MUTEX && SOC_CPU_CORES_NUM > 1 - NetworkEventCbList_t newEventHandler; - newEventHandler.cb = NULL; - newEventHandler.fcb = cbEvent; - newEventHandler.scb = NULL; - newEventHandler.event = event; - cbEventList.push_back(newEventHandler); - return newEventHandler.id; + _cbEventList.emplace_back(++_current_id, nullptr, cbEvent, nullptr, event); + return _cbEventList.back().id; } network_event_handle_t NetworkEvents::onEvent(NetworkEventSysCb cbEvent, arduino_event_id_t event) { @@ -234,18 +186,12 @@ network_event_handle_t NetworkEvents::onEvent(NetworkEventSysCb cbEvent, arduino return 0; } - if (findEvent(cbEvent, event) < cbEventList.size()) { - log_w("Attempt to add duplicate event handler!"); - return 0; - } +#if defined NETWORK_EVENTS_MUTEX && SOC_CPU_CORES_NUM > 1 + std::lock_guard lock(_mtx); +#endif // defined NETWORK_EVENTS_MUTEX && SOC_CPU_CORES_NUM > 1 - NetworkEventCbList_t newEventHandler; - newEventHandler.cb = NULL; - newEventHandler.fcb = NULL; - newEventHandler.scb = cbEvent; - newEventHandler.event = event; - cbEventList.push_back(newEventHandler); - return newEventHandler.id; + _cbEventList.emplace_back(++_current_id, nullptr, nullptr, cbEvent, event); + return _cbEventList.back().id; } network_event_handle_t NetworkEvents::onSysEvent(NetworkEventCb cbEvent, arduino_event_id_t event) { @@ -253,18 +199,12 @@ network_event_handle_t NetworkEvents::onSysEvent(NetworkEventCb cbEvent, arduino return 0; } - if (findEvent(cbEvent, event) < cbEventList.size()) { - log_w("Attempt to add duplicate event handler!"); - return 0; - } +#if defined NETWORK_EVENTS_MUTEX && SOC_CPU_CORES_NUM > 1 + std::lock_guard lock(_mtx); +#endif // defined NETWORK_EVENTS_MUTEX && SOC_CPU_CORES_NUM > 1 - NetworkEventCbList_t newEventHandler; - newEventHandler.cb = cbEvent; - newEventHandler.fcb = NULL; - newEventHandler.scb = NULL; - newEventHandler.event = event; - cbEventList.insert(cbEventList.begin(), newEventHandler); - return newEventHandler.id; + _cbEventList.emplace(_cbEventList.begin(), ++_current_id, cbEvent, nullptr, nullptr, event); + return _cbEventList.front().id; } network_event_handle_t NetworkEvents::onSysEvent(NetworkEventFuncCb cbEvent, arduino_event_id_t event) { @@ -272,18 +212,12 @@ network_event_handle_t NetworkEvents::onSysEvent(NetworkEventFuncCb cbEvent, ard return 0; } - if (findEvent(cbEvent, event) < cbEventList.size()) { - log_w("Attempt to add duplicate event handler!"); - return 0; - } +#if defined NETWORK_EVENTS_MUTEX && SOC_CPU_CORES_NUM > 1 + std::lock_guard lock(_mtx); +#endif // defined NETWORK_EVENTS_MUTEX && SOC_CPU_CORES_NUM > 1 - NetworkEventCbList_t newEventHandler; - newEventHandler.cb = NULL; - newEventHandler.fcb = cbEvent; - newEventHandler.scb = NULL; - newEventHandler.event = event; - cbEventList.insert(cbEventList.begin(), newEventHandler); - return newEventHandler.id; + _cbEventList.emplace(_cbEventList.begin(), ++_current_id, nullptr, cbEvent, nullptr, event); + return _cbEventList.front().id; } network_event_handle_t NetworkEvents::onSysEvent(NetworkEventSysCb cbEvent, arduino_event_id_t event) { @@ -291,77 +225,88 @@ network_event_handle_t NetworkEvents::onSysEvent(NetworkEventSysCb cbEvent, ardu return 0; } - if (findEvent(cbEvent, event) < cbEventList.size()) { - log_w("Attempt to add duplicate event handler!"); - return 0; - } +#if defined NETWORK_EVENTS_MUTEX && SOC_CPU_CORES_NUM > 1 + std::lock_guard lock(_mtx); +#endif // defined NETWORK_EVENTS_MUTEX && SOC_CPU_CORES_NUM > 1 - NetworkEventCbList_t newEventHandler; - newEventHandler.cb = NULL; - newEventHandler.fcb = NULL; - newEventHandler.scb = cbEvent; - newEventHandler.event = event; - cbEventList.insert(cbEventList.begin(), newEventHandler); - return newEventHandler.id; + _cbEventList.emplace(_cbEventList.begin(), ++_current_id, nullptr, nullptr, cbEvent, event); + return _cbEventList.front().id; } void NetworkEvents::removeEvent(NetworkEventCb cbEvent, arduino_event_id_t event) { - uint32_t i; - if (!cbEvent) { return; } - i = findEvent(cbEvent, event); - if (i >= cbEventList.size()) { - log_w("Event handler not found!"); - return; - } +#if defined NETWORK_EVENTS_MUTEX && SOC_CPU_CORES_NUM > 1 + std::lock_guard lock(_mtx); +#endif // defined NETWORK_EVENTS_MUTEX && SOC_CPU_CORES_NUM > 1 - cbEventList.erase(cbEventList.begin() + i); + _cbEventList.erase( + std::remove_if( + _cbEventList.begin(), _cbEventList.end(), + [cbEvent, event](const NetworkEventCbList_t &e) { + return e.cb == cbEvent && e.event == event; + } + ), + _cbEventList.end() + ); } void NetworkEvents::removeEvent(NetworkEventFuncCb cbEvent, arduino_event_id_t event) { - uint32_t i; - if (!cbEvent) { return; } - i = findEvent(cbEvent, event); - if (i >= cbEventList.size()) { - log_w("Event handler not found!"); - return; - } +#if defined NETWORK_EVENTS_MUTEX && SOC_CPU_CORES_NUM > 1 + std::lock_guard lock(_mtx); +#endif // defined NETWORK_EVENTS_MUTEX && SOC_CPU_CORES_NUM > 1 - cbEventList.erase(cbEventList.begin() + i); + _cbEventList.erase( + std::remove_if( + _cbEventList.begin(), _cbEventList.end(), + [cbEvent, event](const NetworkEventCbList_t &e) { + return getStdFunctionAddress(e.fcb) == getStdFunctionAddress(cbEvent) && e.event == event; + } + ), + _cbEventList.end() + ); } void NetworkEvents::removeEvent(NetworkEventSysCb cbEvent, arduino_event_id_t event) { - uint32_t i; - if (!cbEvent) { return; } - i = findEvent(cbEvent, event); - if (i >= cbEventList.size()) { - log_w("Event handler not found!"); - return; - } +#if defined NETWORK_EVENTS_MUTEX && SOC_CPU_CORES_NUM > 1 + std::lock_guard lock(_mtx); +#endif // defined NETWORK_EVENTS_MUTEX && SOC_CPU_CORES_NUM > 1 - cbEventList.erase(cbEventList.begin() + i); + _cbEventList.erase( + std::remove_if( + _cbEventList.begin(), _cbEventList.end(), + [cbEvent, event](const NetworkEventCbList_t &e) { + return e.scb == cbEvent && e.event == event; + } + ), + _cbEventList.end() + ); } void NetworkEvents::removeEvent(network_event_handle_t id) { - for (uint32_t i = 0; i < cbEventList.size(); i++) { - NetworkEventCbList_t entry = cbEventList[i]; - if (entry.id == id) { - cbEventList.erase(cbEventList.begin() + i); - return; - } - } - log_w("Event handler not found!"); +#if defined NETWORK_EVENTS_MUTEX && SOC_CPU_CORES_NUM > 1 + std::lock_guard lock(_mtx); +#endif // defined NETWORK_EVENTS_MUTEX && SOC_CPU_CORES_NUM > 1 + + _cbEventList.erase( + std::remove_if( + _cbEventList.begin(), _cbEventList.end(), + [id](const NetworkEventCbList_t &e) { + return e.id == id; + } + ), + _cbEventList.end() + ); } int NetworkEvents::setStatusBits(int bits) { @@ -380,7 +325,7 @@ int NetworkEvents::clearStatusBits(int bits) { return xEventGroupClearBits(_arduino_event_group, bits); } -int NetworkEvents::getStatusBits() { +int NetworkEvents::getStatusBits() const { if (!_arduino_event_group) { return _initial_bits; } diff --git a/libraries/Network/src/NetworkEvents.h b/libraries/Network/src/NetworkEvents.h index ac324d19841..e134d6816a2 100644 --- a/libraries/Network/src/NetworkEvents.h +++ b/libraries/Network/src/NetworkEvents.h @@ -16,6 +16,9 @@ #include "freertos/queue.h" #include "freertos/semphr.h" #include "freertos/event_groups.h" +#if defined NETWORK_EVENTS_MUTEX && SOC_CPU_CORES_NUM > 1 +#include +#endif // defined NETWORK_EVENTS_MUTEX && SOC_CPU_CORES_NUM > 1 #if SOC_WIFI_SUPPORTED #include "esp_wifi_types.h" @@ -24,8 +27,8 @@ #endif #if SOC_WIFI_SUPPORTED -static const int WIFI_SCANNING_BIT = BIT0; -static const int WIFI_SCAN_DONE_BIT = BIT1; +constexpr int WIFI_SCANNING_BIT = BIT0; +constexpr int WIFI_SCAN_DONE_BIT = BIT1; #endif #define NET_HAS_IP6_GLOBAL_BIT 0 @@ -33,7 +36,7 @@ static const int WIFI_SCAN_DONE_BIT = BIT1; ESP_EVENT_DECLARE_BASE(ARDUINO_EVENTS); typedef enum { - ARDUINO_EVENT_NONE, + ARDUINO_EVENT_NONE = 0, ARDUINO_EVENT_ETH_START, ARDUINO_EVENT_ETH_STOP, ARDUINO_EVENT_ETH_CONNECTED, @@ -42,10 +45,11 @@ typedef enum { ARDUINO_EVENT_ETH_LOST_IP, ARDUINO_EVENT_ETH_GOT_IP6, #if SOC_WIFI_SUPPORTED - ARDUINO_EVENT_WIFI_OFF, + ARDUINO_EVENT_WIFI_OFF = 100, ARDUINO_EVENT_WIFI_READY, ARDUINO_EVENT_WIFI_SCAN_DONE, - ARDUINO_EVENT_WIFI_STA_START, + ARDUINO_EVENT_WIFI_FTM_REPORT, + ARDUINO_EVENT_WIFI_STA_START = 110, ARDUINO_EVENT_WIFI_STA_STOP, ARDUINO_EVENT_WIFI_STA_CONNECTED, ARDUINO_EVENT_WIFI_STA_DISCONNECTED, @@ -53,24 +57,23 @@ typedef enum { ARDUINO_EVENT_WIFI_STA_GOT_IP, ARDUINO_EVENT_WIFI_STA_GOT_IP6, ARDUINO_EVENT_WIFI_STA_LOST_IP, - ARDUINO_EVENT_WIFI_AP_START, + ARDUINO_EVENT_WIFI_AP_START = 130, ARDUINO_EVENT_WIFI_AP_STOP, ARDUINO_EVENT_WIFI_AP_STACONNECTED, ARDUINO_EVENT_WIFI_AP_STADISCONNECTED, ARDUINO_EVENT_WIFI_AP_STAIPASSIGNED, ARDUINO_EVENT_WIFI_AP_PROBEREQRECVED, ARDUINO_EVENT_WIFI_AP_GOT_IP6, - ARDUINO_EVENT_WIFI_FTM_REPORT, - ARDUINO_EVENT_WPS_ER_SUCCESS, + ARDUINO_EVENT_WPS_ER_SUCCESS = 140, ARDUINO_EVENT_WPS_ER_FAILED, ARDUINO_EVENT_WPS_ER_TIMEOUT, ARDUINO_EVENT_WPS_ER_PIN, ARDUINO_EVENT_WPS_ER_PBC_OVERLAP, - ARDUINO_EVENT_SC_SCAN_DONE, + ARDUINO_EVENT_SC_SCAN_DONE = 150, ARDUINO_EVENT_SC_FOUND_CHANNEL, ARDUINO_EVENT_SC_GOT_SSID_PSWD, ARDUINO_EVENT_SC_SEND_ACK_DONE, - ARDUINO_EVENT_PROV_INIT, + ARDUINO_EVENT_PROV_INIT = 160, ARDUINO_EVENT_PROV_DEINIT, ARDUINO_EVENT_PROV_START, ARDUINO_EVENT_PROV_END, @@ -78,7 +81,7 @@ typedef enum { ARDUINO_EVENT_PROV_CRED_FAIL, ARDUINO_EVENT_PROV_CRED_SUCCESS, #endif - ARDUINO_EVENT_PPP_START, + ARDUINO_EVENT_PPP_START = 200, ARDUINO_EVENT_PPP_STOP, ARDUINO_EVENT_PPP_CONNECTED, ARDUINO_EVENT_PPP_DISCONNECTED, @@ -110,36 +113,123 @@ typedef union { #endif } arduino_event_info_t; -typedef struct { +/** + * @brief struct combines arduino event id and event's data object + * + */ +struct arduino_event_t { arduino_event_id_t event_id; arduino_event_info_t event_info; -} arduino_event_t; - -typedef void (*NetworkEventCb)(arduino_event_id_t event); -typedef std::function NetworkEventFuncCb; -typedef void (*NetworkEventSysCb)(arduino_event_t *event); +}; -typedef size_t network_event_handle_t; +// type aliases +using NetworkEventCb = void (*)(arduino_event_id_t event); +using NetworkEventFuncCb = std::function; +using NetworkEventSysCb = void (*)(arduino_event_t *event); +using network_event_handle_t = size_t; +/** + * @brief Class that provides network events callback handling + * it registers user callback functions for event handling, + * maintains the queue of events and propagates the event among subscribed callbacks + * callback are called in the context of a dedicated task consuming the queue + * + */ class NetworkEvents { public: NetworkEvents(); ~NetworkEvents(); + /** + * @brief register callback function to be executed on arduino event(s) + * @note if same handler is registered twice or more than same handler would be called twice or more times + * + * @param cbEvent static callback function + * @param event event to process, any event by default + * @return network_event_handle_t + */ network_event_handle_t onEvent(NetworkEventCb cbEvent, arduino_event_id_t event = ARDUINO_EVENT_MAX); + + /** + * @brief register functional callback to be executed on arduino event(s) + * also used for lambda callbacks + * @note if same handler is registered twice or more than same handler would be called twice or more times + * + * @param cbEvent static callback function + * @param event event to process, any event by default + * @return network_event_handle_t + */ network_event_handle_t onEvent(NetworkEventFuncCb cbEvent, arduino_event_id_t event = ARDUINO_EVENT_MAX); + + /** + * @brief register static system callback to be executed on arduino event(s) + * callback function would be supplied with a pointer to arduino_event_t structure as an argument + * + * @note if same handler is registered twice or more than same handler would be called twice or more times + * + * @param cbEvent static callback function + * @param event event to process, any event by default + * @return network_event_handle_t + */ network_event_handle_t onEvent(NetworkEventSysCb cbEvent, arduino_event_id_t event = ARDUINO_EVENT_MAX); + + /** + * @brief unregister static function callback + * @note a better way to unregister callbacks is to save/unregister via network_event_handle_t + * + * @param cbEvent static callback function + * @param event event to process, any event by default + */ void removeEvent(NetworkEventCb cbEvent, arduino_event_id_t event = ARDUINO_EVENT_MAX); - void removeEvent(NetworkEventFuncCb cbEvent, arduino_event_id_t event = ARDUINO_EVENT_MAX); + + /** + * @brief unregister functional callback + * @note a better way to unregister callbacks is to save/unregister via network_event_handle_t + * @note this does not work for lambda's! Do unregister via network_event_handle_t + * + * @param cbEvent functional callback + * @param event event to process, any event by default + */ + void removeEvent(NetworkEventFuncCb cbEvent, arduino_event_id_t event = ARDUINO_EVENT_MAX) + __attribute__((deprecated("removing functional callbacks via pointer is deprecated, use removeEvent(network_event_handle_t) instead"))); + + /** + * @brief unregister static system function callback + * @note a better way to unregister callbacks is to save/unregister via network_event_handle_t + * + * @param cbEvent static callback function + * @param event event to process, any event by default + */ void removeEvent(NetworkEventSysCb cbEvent, arduino_event_id_t event = ARDUINO_EVENT_MAX); + + /** + * @brief unregister event callback via handler + * + * @param cbEvent static callback function + * @param event event to process, any event by default + */ void removeEvent(network_event_handle_t event_handle); - const char *eventName(arduino_event_id_t id); + /** + * @brief get a human-readable name of an event by it's id + * + * @param id event id code + * @return const char* event name string + */ + static const char *eventName(arduino_event_id_t id); - void checkForEvent(); - bool postEvent(arduino_event_t *event); + /** + * @brief post an event to the queue + * and propagade and event to subscribed handlers + * @note posting an event will trigger context switch from a lower priority task + * + * @param event a pointer to arduino_event_t struct + * @return true if event was queued susccessfuly + * @return false on memrory allocation error or queue is full + */ + bool postEvent(const arduino_event_t *event); - int getStatusBits(); + int getStatusBits() const; int waitStatusBits(int bits, uint32_t timeout_ms); int setStatusBits(int bits); int clearStatusBits(int bits); @@ -155,15 +245,53 @@ class NetworkEvents { protected: bool initNetworkEvents(); - uint32_t findEvent(NetworkEventCb cbEvent, arduino_event_id_t event); - uint32_t findEvent(NetworkEventFuncCb cbEvent, arduino_event_id_t event); - uint32_t findEvent(NetworkEventSysCb cbEvent, arduino_event_id_t event); + // same as onEvent() but places newly added handler at the beginning of registered events list network_event_handle_t onSysEvent(NetworkEventCb cbEvent, arduino_event_id_t event = ARDUINO_EVENT_MAX); + // same as onEvent() but places newly added handler at the beginning of registered events list network_event_handle_t onSysEvent(NetworkEventFuncCb cbEvent, arduino_event_id_t event = ARDUINO_EVENT_MAX); + // same as onEvent() but places newly added handler at the beginning of registered events list network_event_handle_t onSysEvent(NetworkEventSysCb cbEvent, arduino_event_id_t event = ARDUINO_EVENT_MAX); private: + /** + * @brief an object holds callback's definitions: + * - callback id + * - callback function pointers + * - binded event id + * + */ + struct NetworkEventCbList_t { + network_event_handle_t id; + NetworkEventCb cb; + NetworkEventFuncCb fcb; + NetworkEventSysCb scb; + arduino_event_id_t event; + + explicit NetworkEventCbList_t( + network_event_handle_t id, NetworkEventCb cb = nullptr, NetworkEventFuncCb fcb = nullptr, NetworkEventSysCb scb = nullptr, + arduino_event_id_t event = ARDUINO_EVENT_MAX + ) + : id(id), cb(cb), fcb(fcb), scb(scb), event(event) {} + }; + + // define initial id's value + network_event_handle_t _current_id{0}; + EventGroupHandle_t _arduino_event_group; QueueHandle_t _arduino_event_queue; TaskHandle_t _arduino_event_task_handle; + + // registered events callbacks container + std::vector _cbEventList; + +#if defined NETWORK_EVENTS_MUTEX && SOC_CPU_CORES_NUM > 1 + // container access mutex + std::mutex _mtx; +#endif // defined NETWORK_EVENTS_MUTEX && SOC_CPU_CORES_NUM > 1 + + /** + * @brief task function that picks events from an event queue and calls registered callbacks + * + */ + void _checkForEvent(); }; From a3ee37669eaecbff6ef7180c675bf83cd94c4dc6 Mon Sep 17 00:00:00 2001 From: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com> Date: Thu, 24 Oct 2024 10:56:45 -0300 Subject: [PATCH 141/146] Update readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1ee43fa0537..5b1b1865efa 100644 --- a/README.md +++ b/README.md @@ -59,7 +59,7 @@ Here are the ESP32 series supported by the Arduino-ESP32 project: | ESP32-S3 | Yes | Yes | [ESP32-S3](https://www.espressif.com/sites/default/files/documentation/esp32-s3_datasheet_en.pdf) | | ESP32-C6 | Yes | Yes | [ESP32-C6](https://www.espressif.com/sites/default/files/documentation/esp32-c6_datasheet_en.pdf) | | ESP32-H2 | Yes | Yes | [ESP32-H2](https://www.espressif.com/sites/default/files/documentation/esp32-h2_datasheet_en.pdf) | -| ESP32-P4 | No | No | [ESP32-P4](https://www.espressif.com/sites/default/files/documentation/esp32-p4_datasheet_en.pdf) | +| ESP32-P4 | No | Yes | [ESP32-P4](https://www.espressif.com/sites/default/files/documentation/esp32-p4_datasheet_en.pdf) | > [!NOTE] > ESP32-C2 is also supported by Arduino-ESP32 but requires rebuilding the static libraries. This is not trivial and requires a good understanding of the ESP-IDF From 9ac705e5f2889a9cb425e8d24bb90ba4b1e092a2 Mon Sep 17 00:00:00 2001 From: Me No Dev Date: Fri, 25 Oct 2024 14:53:35 +0300 Subject: [PATCH 142/146] IDF release/v5.3 a0f798cf (#10522) --- package/package_esp32_index.template.json | 128 +++++++++++----------- 1 file changed, 64 insertions(+), 64 deletions(-) diff --git a/package/package_esp32_index.template.json b/package/package_esp32_index.template.json index ad941e841f6..aafaa211eba 100644 --- a/package/package_esp32_index.template.json +++ b/package/package_esp32_index.template.json @@ -42,7 +42,7 @@ { "packager": "esp32", "name": "esp32-arduino-libs", - "version": "idf-release_v5.3-59550599" + "version": "idf-release_v5.3-a0f798cf" }, { "packager": "esp32", @@ -67,7 +67,7 @@ { "packager": "esp32", "name": "openocd-esp32", - "version": "v0.12.0-esp32-20240821" + "version": "v0.12.0-esp32-20241016" }, { "packager": "esp32", @@ -95,63 +95,63 @@ "tools": [ { "name": "esp32-arduino-libs", - "version": "idf-release_v5.3-59550599", + "version": "idf-release_v5.3-a0f798cf", "systems": [ { "host": "i686-mingw32", - "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-59550599.zip", - "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-59550599.zip", - "checksum": "SHA-256:d2f18131dc7220c2d89ece7f8594fa3866523f8183612af37112ed0177f41af7", - "size": "343730097" + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-a0f798cf.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-a0f798cf.zip", + "checksum": "SHA-256:cc0c44739a2ae9b4d17b0026907132592a3888fdf3bb910c2ad730931fc6c9dc", + "size": "344062217" }, { "host": "x86_64-mingw32", - "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-59550599.zip", - "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-59550599.zip", - "checksum": "SHA-256:d2f18131dc7220c2d89ece7f8594fa3866523f8183612af37112ed0177f41af7", - "size": "343730097" + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-a0f798cf.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-a0f798cf.zip", + "checksum": "SHA-256:cc0c44739a2ae9b4d17b0026907132592a3888fdf3bb910c2ad730931fc6c9dc", + "size": "344062217" }, { "host": "arm64-apple-darwin", - "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-59550599.zip", - "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-59550599.zip", - "checksum": "SHA-256:d2f18131dc7220c2d89ece7f8594fa3866523f8183612af37112ed0177f41af7", - "size": "343730097" + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-a0f798cf.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-a0f798cf.zip", + "checksum": "SHA-256:cc0c44739a2ae9b4d17b0026907132592a3888fdf3bb910c2ad730931fc6c9dc", + "size": "344062217" }, { "host": "x86_64-apple-darwin", - "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-59550599.zip", - "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-59550599.zip", - "checksum": "SHA-256:d2f18131dc7220c2d89ece7f8594fa3866523f8183612af37112ed0177f41af7", - "size": "343730097" + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-a0f798cf.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-a0f798cf.zip", + "checksum": "SHA-256:cc0c44739a2ae9b4d17b0026907132592a3888fdf3bb910c2ad730931fc6c9dc", + "size": "344062217" }, { "host": "x86_64-pc-linux-gnu", - "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-59550599.zip", - "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-59550599.zip", - "checksum": "SHA-256:d2f18131dc7220c2d89ece7f8594fa3866523f8183612af37112ed0177f41af7", - "size": "343730097" + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-a0f798cf.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-a0f798cf.zip", + "checksum": "SHA-256:cc0c44739a2ae9b4d17b0026907132592a3888fdf3bb910c2ad730931fc6c9dc", + "size": "344062217" }, { "host": "i686-pc-linux-gnu", - "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-59550599.zip", - "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-59550599.zip", - "checksum": "SHA-256:d2f18131dc7220c2d89ece7f8594fa3866523f8183612af37112ed0177f41af7", - "size": "343730097" + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-a0f798cf.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-a0f798cf.zip", + "checksum": "SHA-256:cc0c44739a2ae9b4d17b0026907132592a3888fdf3bb910c2ad730931fc6c9dc", + "size": "344062217" }, { "host": "aarch64-linux-gnu", - "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-59550599.zip", - "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-59550599.zip", - "checksum": "SHA-256:d2f18131dc7220c2d89ece7f8594fa3866523f8183612af37112ed0177f41af7", - "size": "343730097" + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-a0f798cf.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-a0f798cf.zip", + "checksum": "SHA-256:cc0c44739a2ae9b4d17b0026907132592a3888fdf3bb910c2ad730931fc6c9dc", + "size": "344062217" }, { "host": "arm-linux-gnueabihf", - "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-59550599.zip", - "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-59550599.zip", - "checksum": "SHA-256:d2f18131dc7220c2d89ece7f8594fa3866523f8183612af37112ed0177f41af7", - "size": "343730097" + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-a0f798cf.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-a0f798cf.zip", + "checksum": "SHA-256:cc0c44739a2ae9b4d17b0026907132592a3888fdf3bb910c2ad730931fc6c9dc", + "size": "344062217" } ] }, @@ -405,56 +405,56 @@ }, { "name": "openocd-esp32", - "version": "v0.12.0-esp32-20240821", + "version": "v0.12.0-esp32-20241016", "systems": [ { "host": "x86_64-pc-linux-gnu", - "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240821/openocd-esp32-linux-amd64-0.12.0-esp32-20240821.tar.gz", - "archiveFileName": "openocd-esp32-linux-amd64-0.12.0-esp32-20240821.tar.gz", - "checksum": "SHA-256:f8c68541fa38307bc0c0763b7e1e3fe4e943d5d45da07d817a73b492e103b652", - "size": "2373094" + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20241016/openocd-esp32-linux-amd64-0.12.0-esp32-20241016.tar.gz", + "archiveFileName": "openocd-esp32-linux-amd64-0.12.0-esp32-20241016.tar.gz", + "checksum": "SHA-256:e82b0f036dc99244bead5f09a86e91bb2365cbcd1122ac68261e5647942485df", + "size": "2398717" }, { "host": "aarch64-linux-gnu", - "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240821/openocd-esp32-linux-arm64-0.12.0-esp32-20240821.tar.gz", - "archiveFileName": "openocd-esp32-linux-arm64-0.12.0-esp32-20240821.tar.gz", - "checksum": "SHA-256:4d6e263d84e447354dc685848557d6c284dda7fe007ee451f729a7edfa7baad7", - "size": "2251272" + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20241016/openocd-esp32-linux-arm64-0.12.0-esp32-20241016.tar.gz", + "archiveFileName": "openocd-esp32-linux-arm64-0.12.0-esp32-20241016.tar.gz", + "checksum": "SHA-256:8f8daf5bd22ec5d2fa9257b0862ec33da18ee677e023fb9a9eb17f74ce208c76", + "size": "2271584" }, { "host": "arm-linux-gnueabihf", - "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240821/openocd-esp32-linux-armel-0.12.0-esp32-20240821.tar.gz", - "archiveFileName": "openocd-esp32-linux-armel-0.12.0-esp32-20240821.tar.gz", - "checksum": "SHA-256:9d45679f2c4cf450d5e2350047cf57bb76dde2487d30cebce0a72c9173b5c45b", - "size": "2390074" + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20241016/openocd-esp32-linux-armel-0.12.0-esp32-20241016.tar.gz", + "archiveFileName": "openocd-esp32-linux-armel-0.12.0-esp32-20241016.tar.gz", + "checksum": "SHA-256:bc9c020ecf20e2000f76cffa44305fd5bc44d2e688ea78cce423399d33f19767", + "size": "2414206" }, { "host": "x86_64-apple-darwin", - "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240821/openocd-esp32-macos-0.12.0-esp32-20240821.tar.gz", - "archiveFileName": "openocd-esp32-macos-0.12.0-esp32-20240821.tar.gz", - "checksum": "SHA-256:565c8fabc5f19a6e7a0864a294d74b307eec30b9291d16d3fc90e273f0330cb4", - "size": "2485320" + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20241016/openocd-esp32-macos-0.12.0-esp32-20241016.tar.gz", + "archiveFileName": "openocd-esp32-macos-0.12.0-esp32-20241016.tar.gz", + "checksum": "SHA-256:02a2dffe801a2d005fa9e614d80ff8173395b2cb0b5d3118d0229d094a9946a7", + "size": "2508089" }, { "host": "arm64-apple-darwin", - "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240821/openocd-esp32-macos-arm64-0.12.0-esp32-20240821.tar.gz", - "archiveFileName": "openocd-esp32-macos-arm64-0.12.0-esp32-20240821.tar.gz", - "checksum": "SHA-256:68c5c7cf3d15b9810939a5edabc6ff2c9f4fc32262de91fc292a180bc5cc0637", - "size": "2530336" + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20241016/openocd-esp32-macos-arm64-0.12.0-esp32-20241016.tar.gz", + "archiveFileName": "openocd-esp32-macos-arm64-0.12.0-esp32-20241016.tar.gz", + "checksum": "SHA-256:c382f9e884d6565cb6089bff5f200f4810994667d885f062c3d3c5625a0fa9d6", + "size": "2552569" }, { "host": "i686-mingw32", - "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240821/openocd-esp32-win32-0.12.0-esp32-20240821.zip", - "archiveFileName": "openocd-esp32-win32-0.12.0-esp32-20240821.zip", - "checksum": "SHA-256:463fc2903ddaf03f86ff50836c5c63cc696550b0446140159eddfd2e85570c5d", - "size": "2916409" + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20241016/openocd-esp32-win32-0.12.0-esp32-20241016.zip", + "archiveFileName": "openocd-esp32-win32-0.12.0-esp32-20241016.zip", + "checksum": "SHA-256:3b5d615e0a72cc771a45dd469031312d5881c01d7b6bc9edb29b8b6bda8c2e90", + "size": "2946244" }, { "host": "x86_64-mingw32", - "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240821/openocd-esp32-win64-0.12.0-esp32-20240821.zip", - "archiveFileName": "openocd-esp32-win64-0.12.0-esp32-20240821.zip", - "checksum": "SHA-256:550f57369f1f1f6cc600b5dffa3378fd6164d8ea8db7c567cf41091771f090cb", - "size": "2916408" + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20241016/openocd-esp32-win64-0.12.0-esp32-20241016.zip", + "archiveFileName": "openocd-esp32-win64-0.12.0-esp32-20241016.zip", + "checksum": "SHA-256:5e7b2fd1947d3a8625f6a11db7a2340cf2f41ff4c61284c022c7d7c32b18780a", + "size": "2946244" } ] }, From 38a4c29fedf3c0f681ce8850c107c9d0011a80ec Mon Sep 17 00:00:00 2001 From: Me No Dev Date: Fri, 25 Oct 2024 14:57:21 +0300 Subject: [PATCH 143/146] feature(rtos): Add Tasks status print function (#10515) * feature(rtos): Add Tasks status print function * fix(cmake): Add the new cpp file to CMakeLists * fix(stats): Adjust size of Load column * fix(format): Fix print of runtime formatting * fix(stats): Add license, usage note and C++ guards * fix(stats): Fix formatting and variable names * ci(pre-commit): Apply automatic fixes --------- Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> --- CMakeLists.txt | 1 + cores/esp32/Arduino.h | 1 + cores/esp32/freertos_stats.cpp | 111 +++++++++++++++++++++++++++++++++ cores/esp32/freertos_stats.h | 28 +++++++++ 4 files changed, 141 insertions(+) create mode 100644 cores/esp32/freertos_stats.cpp create mode 100644 cores/esp32/freertos_stats.h diff --git a/CMakeLists.txt b/CMakeLists.txt index 9964d85abd0..591b0b31568 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -49,6 +49,7 @@ set(CORE_SRCS cores/esp32/esp32-hal-uart.c cores/esp32/esp32-hal-rmt.c cores/esp32/Esp.cpp + cores/esp32/freertos_stats.cpp cores/esp32/FunctionalInterrupt.cpp cores/esp32/HardwareSerial.cpp cores/esp32/HEXBuilder.cpp diff --git a/cores/esp32/Arduino.h b/cores/esp32/Arduino.h index 2b115505cff..ab7e497dcf6 100644 --- a/cores/esp32/Arduino.h +++ b/cores/esp32/Arduino.h @@ -199,6 +199,7 @@ void shiftOut(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder, uint8_t val); #include "Udp.h" #include "HardwareSerial.h" #include "Esp.h" +#include "freertos_stats.h" // Use float-compatible stl abs() and round(), we don't use Arduino macros to avoid issues with the C++ libraries using std::abs; diff --git a/cores/esp32/freertos_stats.cpp b/cores/esp32/freertos_stats.cpp new file mode 100644 index 00000000000..50a98bf502b --- /dev/null +++ b/cores/esp32/freertos_stats.cpp @@ -0,0 +1,111 @@ +// Copyright 2024 Espressif Systems (Shanghai) PTE LTD +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#include "freertos_stats.h" +#include "sdkconfig.h" + +#if CONFIG_FREERTOS_USE_TRACE_FACILITY +#include "freertos/FreeRTOS.h" +#include "freertos/task.h" +#include "freertos/portable.h" +#endif /* CONFIG_FREERTOS_USE_TRACE_FACILITY */ + +void printRunningTasks(Print &printer) { +#if CONFIG_FREERTOS_USE_TRACE_FACILITY +#if CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS +#define FREERTOS_TASK_NUMBER_MAX_NUM 256 // RunTime stats for how many Tasks to be stored + static configRUN_TIME_COUNTER_TYPE ulRunTimeCounters[FREERTOS_TASK_NUMBER_MAX_NUM]; + static configRUN_TIME_COUNTER_TYPE ulLastRunTime = 0; + configRUN_TIME_COUNTER_TYPE ulCurrentRunTime = 0, ulTaskRunTime = 0; +#endif + configRUN_TIME_COUNTER_TYPE ulTotalRunTime = 0; + TaskStatus_t *pxTaskStatusArray = NULL; + volatile UBaseType_t uxArraySize = 0, x = 0; + const char *taskStates[] = {"Running", "Ready", "Blocked", "Suspended", "Deleted", "Invalid"}; + + // Take a snapshot of the number of tasks in case it changes while this function is executing. + uxArraySize = uxTaskGetNumberOfTasks(); + + // Allocate a TaskStatus_t structure for each task. + pxTaskStatusArray = (TaskStatus_t *)pvPortMalloc(uxArraySize * sizeof(TaskStatus_t)); + + if (pxTaskStatusArray != NULL) { + // Generate raw status information about each task. + uxArraySize = uxTaskGetSystemState(pxTaskStatusArray, uxArraySize, &ulTotalRunTime); + +#if CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS + ulCurrentRunTime = ulTotalRunTime - ulLastRunTime; + ulLastRunTime = ulTotalRunTime; +#endif + printer.printf( + "Tasks: %u" +#if CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS + ", Runtime: %lus, Period: %luus" +#endif + "\n", + uxArraySize +#if CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS + , + ulTotalRunTime / 1000000, ulCurrentRunTime +#endif + ); + printer.printf("Num\t Name" +#if CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS + "\tLoad" +#endif + "\tPrio\t Free" +#if CONFIG_FREERTOS_VTASKLIST_INCLUDE_COREID + "\tCore" +#endif + "\tState\r\n"); + for (x = 0; x < uxArraySize; x++) { +#if CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS + if (pxTaskStatusArray[x].xTaskNumber < FREERTOS_TASK_NUMBER_MAX_NUM) { + ulTaskRunTime = (pxTaskStatusArray[x].ulRunTimeCounter - ulRunTimeCounters[pxTaskStatusArray[x].xTaskNumber]); + ulRunTimeCounters[pxTaskStatusArray[x].xTaskNumber] = pxTaskStatusArray[x].ulRunTimeCounter; + ulTaskRunTime = (ulTaskRunTime * 100) / ulCurrentRunTime; // in percentage + } else { + ulTaskRunTime = 0; + } +#endif + printer.printf( + "%3u\t%16s" +#if CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS + "\t%3lu%%" +#endif + "\t%4u\t%5lu" +#if CONFIG_FREERTOS_VTASKLIST_INCLUDE_COREID + "\t%4c" +#endif + "\t%s\r\n", + pxTaskStatusArray[x].xTaskNumber, pxTaskStatusArray[x].pcTaskName, +#if CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS + ulTaskRunTime, +#endif + pxTaskStatusArray[x].uxCurrentPriority, pxTaskStatusArray[x].usStackHighWaterMark, +#if CONFIG_FREERTOS_VTASKLIST_INCLUDE_COREID + (pxTaskStatusArray[x].xCoreID == tskNO_AFFINITY) ? '*' : ('0' + pxTaskStatusArray[x].xCoreID), +#endif + taskStates[pxTaskStatusArray[x].eCurrentState] + ); + } + + // The array is no longer needed, free the memory it consumes. + vPortFree(pxTaskStatusArray); + printer.println(); + } +#else + printer.println("FreeRTOS trace facility is not enabled."); +#endif /* CONFIG_FREERTOS_USE_TRACE_FACILITY */ +} diff --git a/cores/esp32/freertos_stats.h b/cores/esp32/freertos_stats.h new file mode 100644 index 00000000000..ea9e1a55a21 --- /dev/null +++ b/cores/esp32/freertos_stats.h @@ -0,0 +1,28 @@ +// Copyright 2024 Espressif Systems (Shanghai) PTE LTD +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#pragma once + +#ifdef __cplusplus + +#include "Print.h" + +/* + * Executing this function will cause interrupts and + * the scheduler to be blocked for some time. + * Please use only for debugging purposes. + */ +void printRunningTasks(Print &printer); + +#endif From 9aeb1ba548636070495c132f7e7e82df78387c34 Mon Sep 17 00:00:00 2001 From: Rodrigo Garcia Date: Fri, 25 Oct 2024 09:07:37 -0300 Subject: [PATCH 144/146] ESP32-P4 UART Pin Definitions (#10521) * feat(uart): allow pins_arduino.h to define esp32-p4 uart pins ESP32-P4 has UART default pins only for UART0 and UART1. This PR allows the board definition from pins_arduino.h to define RX2 ... RX4 and TX2 ... TX4 if necessary. It also solves the issue of begin(baud) with no pins for UART2...4 by just sending a error message and returning. * feat(uart): removes the uart2 pin definitions - not existant * fix(uart): solves the case when uart has already been initialized * ci(pre-commit): Apply automatic fixes * fix(ci): uart definition for esp32-p4 uart2 rx,tx pins --------- Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> --- cores/esp32/HardwareSerial.cpp | 42 ++++++++++++++++++++++++++++++++++ cores/esp32/HardwareSerial.h | 4 ---- tests/validation/uart/uart.ino | 8 +++++++ 3 files changed, 50 insertions(+), 4 deletions(-) diff --git a/cores/esp32/HardwareSerial.cpp b/cores/esp32/HardwareSerial.cpp index a6a7573f6e3..fb93dad1c47 100644 --- a/cores/esp32/HardwareSerial.cpp +++ b/cores/esp32/HardwareSerial.cpp @@ -313,6 +313,11 @@ void HardwareSerial::begin(unsigned long baud, uint32_t config, int8_t rxPin, in // map logical pins to GPIO numbers rxPin = digitalPinToGPIONumber(rxPin); txPin = digitalPinToGPIONumber(txPin); + int8_t _rxPin = uart_get_RxPin(_uart_nr); + int8_t _txPin = uart_get_TxPin(_uart_nr); + + rxPin = rxPin < 0 ? _rxPin : rxPin; + txPin = txPin < 0 ? _txPin : txPin; HSERIAL_MUTEX_LOCK(); // First Time or after end() --> set default Pins @@ -341,14 +346,51 @@ void HardwareSerial::begin(unsigned long baud, uint32_t config, int8_t rxPin, in case UART_NUM_2: if (rxPin < 0 && txPin < 0) { // do not change RX2/TX2 if it has already been set before +#ifdef RX2 rxPin = _rxPin < 0 ? (int8_t)RX2 : _rxPin; +#endif +#ifdef TX2 txPin = _txPin < 0 ? (int8_t)TX2 : _txPin; +#endif + } + break; +#endif +#if SOC_UART_HP_NUM > 3 // may save some flash bytes... + case UART_NUM_3: + if (rxPin < 0 && txPin < 0) { + // do not change RX2/TX2 if it has already been set before +#ifdef RX3 + rxPin = _rxPin < 0 ? (int8_t)RX3 : _rxPin; +#endif +#ifdef TX3 + txPin = _txPin < 0 ? (int8_t)TX3 : _txPin; +#endif + } + break; +#endif +#if SOC_UART_HP_NUM > 4 // may save some flash bytes... + case UART_NUM_4: + if (rxPin < 0 && txPin < 0) { + // do not change RX2/TX2 if it has already been set before +#ifdef RX4 + rxPin = _rxPin < 0 ? (int8_t)RX4 : _rxPin; +#endif +#ifdef TX4 + txPin = _txPin < 0 ? (int8_t)TX4 : _txPin; +#endif } break; #endif } } + // if no RX/TX pins are defined, it will not start the UART driver + if (rxPin < 0 && txPin < 0) { + log_e("No RX/TX pins defined. Please set RX/TX pins."); + HSERIAL_MUTEX_UNLOCK(); + return; + } + // IDF UART driver keeps Pin setting on restarting. Negative Pin number will keep it unmodified. // it will detach previous UART attached pins diff --git a/cores/esp32/HardwareSerial.h b/cores/esp32/HardwareSerial.h index 8eb7f2c91a6..a33d5def34d 100644 --- a/cores/esp32/HardwareSerial.h +++ b/cores/esp32/HardwareSerial.h @@ -200,8 +200,6 @@ typedef enum { #define RX2 (gpio_num_t)4 #elif CONFIG_IDF_TARGET_ESP32S3 #define RX2 (gpio_num_t)19 -#elif CONFIG_IDF_TARGET_ESP32P4 -#define RX2 (gpio_num_t)15 #endif #endif @@ -210,8 +208,6 @@ typedef enum { #define TX2 (gpio_num_t)25 #elif CONFIG_IDF_TARGET_ESP32S3 #define TX2 (gpio_num_t)20 -#elif CONFIG_IDF_TARGET_ESP32P4 -#define TX2 (gpio_num_t)14 #endif #endif #endif /* SOC_UART_HP_NUM > 2 */ diff --git a/tests/validation/uart/uart.ino b/tests/validation/uart/uart.ino index e5fa0a8285f..01c449867db 100644 --- a/tests/validation/uart/uart.ino +++ b/tests/validation/uart/uart.ino @@ -52,6 +52,14 @@ #define NEW_TX1 10 #endif +// ESP32-P4 has no UART pin definition for RX2, TX2, RX3, TX3, RX4, TX4 +#ifndef RX2 +#define RX2 RX1 +#endif +#ifndef TX2 +#define TX2 RX1 +#endif + /* Utility global variables */ static String recv_msg = ""; From 74e4a744ce0bae127cd2eeac04e62c2bf45a9c93 Mon Sep 17 00:00:00 2001 From: Rodrigo Garcia Date: Fri, 25 Oct 2024 14:48:35 -0300 Subject: [PATCH 145/146] feat(uart): uart break example improvement (#10525) prints the HEXA and CHAR in order to allow the user to see why there is 1 extra char (0x00) when BREAK is received. --- .../OnReceiveError_BREAK_Demo/OnReceiveError_BREAK_Demo.ino | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/libraries/ESP32/examples/Serial/OnReceiveError_BREAK_Demo/OnReceiveError_BREAK_Demo.ino b/libraries/ESP32/examples/Serial/OnReceiveError_BREAK_Demo/OnReceiveError_BREAK_Demo.ino index fb7af04c5f5..209cf8922be 100644 --- a/libraries/ESP32/examples/Serial/OnReceiveError_BREAK_Demo/OnReceiveError_BREAK_Demo.ino +++ b/libraries/ESP32/examples/Serial/OnReceiveError_BREAK_Demo/OnReceiveError_BREAK_Demo.ino @@ -80,7 +80,11 @@ void onReceiveFunction() { received_bytes = received_bytes + available; Serial.printf("onReceive Callback:: There are %d bytes available: {", available); while (available--) { - Serial.print((char)Serial1.read()); + char c = Serial1.read(); + Serial.printf("0x%x='%c'", c, c); + if (available) { + Serial.print(" "); + } } Serial.println("}"); } From a805e0696c6564d356b2a1dc616af08394d082d4 Mon Sep 17 00:00:00 2001 From: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com> Date: Fri, 25 Oct 2024 14:49:05 -0300 Subject: [PATCH 146/146] feat(esptool): Update esptool to v4.8.1 (#10524) * feat(esptool): Update esptool to v4.8.1 * fix(archives): Fix checksums --- package/package_esp32_index.template.json | 44 +++++++++++------------ 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/package/package_esp32_index.template.json b/package/package_esp32_index.template.json index aafaa211eba..9681cf54c98 100644 --- a/package/package_esp32_index.template.json +++ b/package/package_esp32_index.template.json @@ -72,7 +72,7 @@ { "packager": "esp32", "name": "esptool_py", - "version": "4.6" + "version": "4.8.1" }, { "packager": "esp32", @@ -460,42 +460,42 @@ }, { "name": "esptool_py", - "version": "4.8.0", + "version": "4.8.1", "systems": [ { "host": "x86_64-pc-linux-gnu", - "url": "https://github.com/espressif/esptool/releases/download/v4.8.0/esptool-v4.8.0-linux-amd64.zip", - "archiveFileName": "esptool-v4.8.0-linux-amd64.zip", - "checksum": "SHA-256:e637adc204b74b980013e89dafce6e056401ec26c94e205b0158075a836c56c6", - "size": "64617780" + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.1.0-RC1/esptool-v4.8.1-linux-amd64.tar.gz", + "archiveFileName": "esptool-v4.8.1-linux-amd64.tar.gz", + "checksum": "SHA-256:aaaaa25e1c64442ae93604812376783dbc50f34536221b5897456e12f01e1bfd", + "size": "64635657" }, { "host": "aarch64-linux-gnu", - "url": "https://github.com/espressif/esptool/releases/download/v4.8.0/esptool-v4.8.0-linux-arm64.zip", - "archiveFileName": "esptool-v4.8.0-linux-arm64.zip", - "checksum": "SHA-256:c3a7749bed8d1929b0ad35743cc5557d60ecb81a10ffac28cb55ed1545e0223a", - "size": "54432155" + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.1.0-RC1/esptool-v4.8.1-linux-arm64.tar.gz", + "archiveFileName": "esptool-v4.8.1-linux-arm64.tar.gz", + "checksum": "SHA-256:76170a9282bdc52fddd75e4498fd6bee55fe19088a34ab363b3aeff800d73f60", + "size": "54449306" }, { "host": "arm-linux-gnueabihf", - "url": "https://github.com/espressif/esptool/releases/download/v4.8.0/esptool-v4.8.0-linux-arm32.zip", - "archiveFileName": "esptool-v4.8.0-linux-arm32.zip", - "checksum": "SHA-256:b781a86b53a17d24e02996c0a7958f9b76f6873fc1cc07c64ab6326e19395570", - "size": "45858426" + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.1.0-RC1/esptool-v4.8.1-linux-arm32.tar.gz", + "archiveFileName": "esptool-v4.8.1-linux-arm32.tar.gz", + "checksum": "SHA-256:26b842e22a66b3d01e830a4784686a69cfb107d774a4093327ec6bba7bb17794", + "size": "45868720" }, { "host": "x86_64-apple-darwin", - "url": "https://github.com/espressif/esptool/releases/download/v4.8.0/esptool-v4.8.0-macos.zip", - "archiveFileName": "esptool-v4.8.0-macos.zip", - "checksum": "SHA-256:73bba755d2da15ef18b8b8d8fe37c459d296648efb02d5449a3fc0035930306a", - "size": "29821710" + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.1.0-RC1/esptool-v4.8.1-macos.tar.gz", + "archiveFileName": "esptool-v4.8.1-macos.tar.gz", + "checksum": "SHA-256:6e1fc5ea04490e849c925c48d5cee590164fcf9b9bd419a7b014c2fb48a13743", + "size": "29828542" }, { "host": "x86_64-mingw32", - "url": "https://github.com/espressif/esptool/releases/download/v4.8.0/esptool-v4.8.0-win64.zip", - "archiveFileName": "esptool-v4.8.0-win64.zip", - "checksum": "SHA-256:5575beabfe8c1c1ea7c1a0f1bd42ee97ac3f4c4dae5fc74cda58be0e23016da3", - "size": "33608471" + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.1.0-RC1/esptool-v4.8.1-win64.zip", + "archiveFileName": "esptool-v4.8.1-win64.zip", + "checksum": "SHA-256:3e97fb990fdd721b923b478eaaa046967c7919dbc9cbd04c445307571177918a", + "size": "33612728" } ] },

    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 literal 157728 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 From 2853b7c0a48469a792cc7356971edf879b48406a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Proch=C3=A1zka?= <90197375+P-R-O-C-H-Y@users.noreply.github.com> Date: Mon, 9 Sep 2024 11:44:52 +0200 Subject: [PATCH 019/146] fix(ci): Log default FQBN if not passed (#10302) --- .github/scripts/sketch_utils.sh | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.github/scripts/sketch_utils.sh b/.github/scripts/sketch_utils.sh index cdf334a4fc6..813f61210cd 100755 --- a/.github/scripts/sketch_utils.sh +++ b/.github/scripts/sketch_utils.sh @@ -416,10 +416,17 @@ function build_sketches(){ # build_sketches > "$sizes_file" fi From 532d5f2fad4e569f54988ff62510857c881b3396 Mon Sep 17 00:00:00 2001 From: Rodrigo Garcia Date: Mon, 9 Sep 2024 06:45:13 -0300 Subject: [PATCH 020/146] feat(tone): missing set tone channel implementation (#10305) Adds the implementation to setToneChannel() declared in Arduino.h, but removed when movin from Arduino 2.x to 3.x. --- cores/esp32/Tone.cpp | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/cores/esp32/Tone.cpp b/cores/esp32/Tone.cpp index bb1e8d745c0..ec8587d8de3 100644 --- a/cores/esp32/Tone.cpp +++ b/cores/esp32/Tone.cpp @@ -4,9 +4,11 @@ #include "freertos/queue.h" #include "freertos/semphr.h" +#if SOC_LEDC_SUPPORTED static TaskHandle_t _tone_task = NULL; static QueueHandle_t _tone_queue = NULL; static int8_t _pin = -1; +static uint8_t _channel = 255; typedef enum { TONE_START, @@ -20,6 +22,12 @@ typedef struct { unsigned long duration; } tone_msg_t; +#ifdef SOC_LEDC_SUPPORT_HS_MODE +#define LEDC_CHANNELS (SOC_LEDC_CHANNEL_NUM << 1) +#else +#define LEDC_CHANNELS (SOC_LEDC_CHANNEL_NUM) +#endif + static void tone_task(void *) { tone_msg_t tone_msg; while (1) { @@ -29,7 +37,13 @@ static void tone_task(void *) { log_d("Task received from queue TONE_START: pin=%d, frequency=%u Hz, duration=%lu ms", tone_msg.pin, tone_msg.frequency, tone_msg.duration); if (_pin == -1) { - if (ledcAttach(tone_msg.pin, tone_msg.frequency, 10) == 0) { + bool ret = true; + if (_channel == 255) { + ret = ledcAttach(tone_msg.pin, tone_msg.frequency, 10); + } else { + ret = ledcAttachChannel(tone_msg.pin, tone_msg.frequency, 10, _channel); + } + if (!ret) { log_e("Tone start failed"); break; } @@ -73,7 +87,7 @@ static int tone_init() { "toneTask", // Name of the task 3500, // Stack size in words NULL, // Task input parameter - 1, // Priority of the task + 10, // Priority of the task must be higher than Arduino task &_tone_task // Task handle. ); if (_tone_task == NULL) { @@ -126,3 +140,13 @@ void tone(uint8_t pin, unsigned int frequency, unsigned long duration) { return; } } + +void setToneChannel(uint8_t channel) { + if (channel >= LEDC_CHANNELS) { + log_e("Channel %u is not available (maximum %u)!", channel, LEDC_CHANNELS); + return; + } + _channel = channel; +} + +#endif /* SOC_LEDC_SUPPORTED */ From cbe0f2ff0dd772edaf6aabfa4cc018021c0e3364 Mon Sep 17 00:00:00 2001 From: Rodrigo Garcia Date: Mon, 9 Sep 2024 10:19:14 -0300 Subject: [PATCH 021/146] OpenThread Example Improvement (#10299) * feat(openthread): add extended example Creates a new example that mixes different APIs * feat(openthread): create cj.json file Adds neessary CI file * feat(openthread): improve the example Update ExtendedRoterNode.ino with more use of API * feat(openthread): improve the example Adds OpenThread Native calls to the example * feat(openthread): improve the example Update LeaderNode.ino example to add OpenThread Native calls. * fix(openthread): bad formatting using space Update keywords.txt to use TAB instead of SPACE in order to recognize correctly the keywords. * fix(openthread): bad example file name - typo Changed ExtendedRoterNode to ExtendedRouterNode - Typo error. * feat(openthread): add extended example ci.json file Added CI file to the example. * fix(openthread): deleted bad file names in the example Delete libraries/OpenThread/examples/SimpleThreadNetwork/ExtendedRoterNode directory * fix(openthread): typo in commentaries * fix(openthread): typo in commentaries * ci(pre-commit): Apply automatic fixes --------- Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> --- .../ExtendedRouterNode/ExtendedRouterNode.ino | 65 +++++++++++++++++ .../ExtendedRouterNode/ci.json | 9 +++ .../LeaderNode/LeaderNode.ino | 72 ++++++++++++++++--- .../RouterNode/RouterNode.ino | 70 +++++++++++++++--- libraries/OpenThread/keywords.txt | 6 +- 5 files changed, 198 insertions(+), 24 deletions(-) create mode 100644 libraries/OpenThread/examples/SimpleThreadNetwork/ExtendedRouterNode/ExtendedRouterNode.ino create mode 100644 libraries/OpenThread/examples/SimpleThreadNetwork/ExtendedRouterNode/ci.json diff --git a/libraries/OpenThread/examples/SimpleThreadNetwork/ExtendedRouterNode/ExtendedRouterNode.ino b/libraries/OpenThread/examples/SimpleThreadNetwork/ExtendedRouterNode/ExtendedRouterNode.ino new file mode 100644 index 00000000000..249ba2a3fe0 --- /dev/null +++ b/libraries/OpenThread/examples/SimpleThreadNetwork/ExtendedRouterNode/ExtendedRouterNode.ino @@ -0,0 +1,65 @@ +#include "OThreadCLI.h" +#include "OThreadCLI_Util.h" + +// Leader node shall use the same Network Key and channel +#define CLI_NETWORK_KEY "00112233445566778899aabbccddeeff" +#define CLI_NETWORK_CHANEL "24" +bool otStatus = true; + +void setup() { + Serial.begin(115200); + OThreadCLI.begin(false); // No AutoStart - fresh start + Serial.println("Setting up OpenThread Node as Router/Child"); + Serial.println("Make sure the Leader Node is already running"); + + otStatus &= otExecCommand("dataset", "clear"); + otStatus &= otExecCommand("dataset networkkey", CLI_NETWORK_KEY); + otStatus &= otExecCommand("dataset channel", CLI_NETWORK_CHANEL); + otStatus &= otExecCommand("dataset", "commit active"); + otStatus &= otExecCommand("ifconfig", "up"); + otStatus &= otExecCommand("thread", "start"); + + if (!otStatus) { + Serial.println("\r\n\t===> Failed starting Thread Network!"); + return; + } + // wait for the node to enter in the router state + uint32_t timeout = millis() + 90000; // waits 90 seconds to + while (otGetDeviceRole() != OT_ROLE_CHILD && otGetDeviceRole() != OT_ROLE_ROUTER) { + Serial.print("."); + if (millis() > timeout) { + Serial.println("\r\n\t===> Timeout! Failed."); + otStatus = false; + break; + } + delay(500); + } + + if (otStatus) { + // print the PanID using 2 methods + + // CLI + char resp[256]; + if (otGetRespCmd("panid", resp)) { + Serial.printf("\r\nPanID[using CLI]: %s\r\n", resp); + } else { + Serial.printf("\r\nPanID[using CLI]: FAILED!\r\n"); + } + + // OpenThread API + Serial.printf("PanID[using OT API]: 0x%x\r\n", (uint16_t)otLinkGetPanId(esp_openthread_get_instance())); + } + Serial.println("\r\n"); +} + +void loop() { + if (otStatus) { + Serial.println("Thread NetworkInformation: "); + Serial.println("---------------------------"); + otPrintNetworkInformation(Serial); + Serial.println("---------------------------"); + } else { + Serial.println("Some OpenThread operation has failed..."); + } + delay(10000); +} diff --git a/libraries/OpenThread/examples/SimpleThreadNetwork/ExtendedRouterNode/ci.json b/libraries/OpenThread/examples/SimpleThreadNetwork/ExtendedRouterNode/ci.json new file mode 100644 index 00000000000..10def841de0 --- /dev/null +++ b/libraries/OpenThread/examples/SimpleThreadNetwork/ExtendedRouterNode/ci.json @@ -0,0 +1,9 @@ +{ + "targets": { + "esp32": false, + "esp32c2": false, + "esp32c3": false, + "esp32s2": false, + "esp32s3": false + } + } diff --git a/libraries/OpenThread/examples/SimpleThreadNetwork/LeaderNode/LeaderNode.ino b/libraries/OpenThread/examples/SimpleThreadNetwork/LeaderNode/LeaderNode.ino index 6439c5ec4bd..e2342426a7a 100644 --- a/libraries/OpenThread/examples/SimpleThreadNetwork/LeaderNode/LeaderNode.ino +++ b/libraries/OpenThread/examples/SimpleThreadNetwork/LeaderNode/LeaderNode.ino @@ -1,15 +1,15 @@ /* - * OpenThread.begin(false) will not automatically start a node in a Thread Network - * A Leader node is the first device, that has a complete dataset, to start Thread - * A complete dataset is easily achieved by using the OpenThread CLI command "dataset init new" - * - * In order to allow other node to join the network, - * all of them shall use the same network master key - * The network master key is a 16-byte key that is used to secure the network - * - * Using the same channel will make the process faster - * - */ + OpenThread.begin(false) will not automatically start a node in a Thread Network + A Leader node is the first device, that has a complete dataset, to start Thread + A complete dataset is easily achieved by using the OpenThread CLI command "dataset init new" + + In order to allow other node to join the network, + all of them shall use the same network master key + The network master key is a 16-byte key that is used to secure the network + + Using the same channel will make the process faster + +*/ #include "OThreadCLI.h" #include "OThreadCLI_Util.h" @@ -17,10 +17,14 @@ #define CLI_NETWORK_KEY "dataset networkkey 00112233445566778899aabbccddeeff" #define CLI_NETWORK_CHANEL "dataset channel 24" +otInstance *aInstance = NULL; + void setup() { Serial.begin(115200); OThreadCLI.begin(false); // No AutoStart - fresh start + Serial.println(); Serial.println("Setting up OpenThread Node as Leader"); + aInstance = esp_openthread_get_instance(); OThreadCLI.println("dataset init new"); OThreadCLI.println(CLI_NETWORK_KEY); @@ -31,7 +35,53 @@ void setup() { } void loop() { + Serial.println("============================================="); Serial.print("Thread Node State: "); Serial.println(otGetStringDeviceRole()); + + // Native OpenThread API calls: + // wait until the node become Child or Router + if (otGetDeviceRole() == OT_ROLE_LEADER) { + // Network Name + const char *networkName = otThreadGetNetworkName(aInstance); + Serial.printf("Network Name: %s\r\n", networkName); + // Channel + uint8_t channel = otLinkGetChannel(aInstance); + Serial.printf("Channel: %d\r\n", channel); + // PAN ID + uint16_t panId = otLinkGetPanId(aInstance); + Serial.printf("PanID: 0x%04x\r\n", panId); + // Extended PAN ID + const otExtendedPanId *extPanId = otThreadGetExtendedPanId(aInstance); + Serial.printf("Extended PAN ID: "); + for (int i = 0; i < OT_EXT_PAN_ID_SIZE; i++) { + Serial.printf("%02x", extPanId->m8[i]); + } + Serial.println(); + // Network Key + otNetworkKey networkKey; + otThreadGetNetworkKey(aInstance, &networkKey); + Serial.printf("Network Key: "); + for (int i = 0; i < OT_NETWORK_KEY_SIZE; i++) { + Serial.printf("%02x", networkKey.m8[i]); + } + Serial.println(); + // IP Addresses + char buf[OT_IP6_ADDRESS_STRING_SIZE]; + const otNetifAddress *address = otIp6GetUnicastAddresses(aInstance); + while (address != NULL) { + otIp6AddressToString(&address->mAddress, buf, sizeof(buf)); + Serial.printf("IP Address: %s\r\n", buf); + address = address->mNext; + } + // Multicast IP Addresses + const otNetifMulticastAddress *mAddress = otIp6GetMulticastAddresses(aInstance); + while (mAddress != NULL) { + otIp6AddressToString(&mAddress->mAddress, buf, sizeof(buf)); + printf("Multicast IP Address: %s\n", buf); + mAddress = mAddress->mNext; + } + } + delay(5000); } diff --git a/libraries/OpenThread/examples/SimpleThreadNetwork/RouterNode/RouterNode.ino b/libraries/OpenThread/examples/SimpleThreadNetwork/RouterNode/RouterNode.ino index 8b393893386..8ec01344d7a 100644 --- a/libraries/OpenThread/examples/SimpleThreadNetwork/RouterNode/RouterNode.ino +++ b/libraries/OpenThread/examples/SimpleThreadNetwork/RouterNode/RouterNode.ino @@ -1,14 +1,14 @@ /* - * OpenThread.begin(false) will not automatically start a node in a Thread Network - * A Router/Child node is the device that will join an existing Thread Network - * - * In order to allow this node to join the network, - * it shall use the same network master key as used by the Leader Node - * The network master key is a 16-byte key that is used to secure the network - * - * Using the same channel will make the process faster - * - */ + OpenThread.begin(false) will not automatically start a node in a Thread Network + A Router/Child node is the device that will join an existing Thread Network + + In order to allow this node to join the network, + it shall use the same network master key as used by the Leader Node + The network master key is a 16-byte key that is used to secure the network + + Using the same channel will make the process faster + +*/ #include "OThreadCLI.h" #include "OThreadCLI_Util.h" @@ -16,11 +16,15 @@ #define CLI_NETWORK_KEY "dataset networkkey 00112233445566778899aabbccddeeff" #define CLI_NETWORK_CHANEL "dataset channel 24" +otInstance *aInstance = NULL; + void setup() { Serial.begin(115200); OThreadCLI.begin(false); // No AutoStart - fresh start + Serial.println(); Serial.println("Setting up OpenThread Node as Router/Child"); Serial.println("Make sure the Leader Node is already running"); + aInstance = esp_openthread_get_instance(); OThreadCLI.println("dataset clear"); OThreadCLI.println(CLI_NETWORK_KEY); @@ -31,7 +35,53 @@ void setup() { } void loop() { + Serial.println("============================================="); Serial.print("Thread Node State: "); Serial.println(otGetStringDeviceRole()); + + // Native OpenThread API calls: + // wait until the node become Child or Router + if (otGetDeviceRole() == OT_ROLE_CHILD || otGetDeviceRole() == OT_ROLE_ROUTER) { + // Network Name + const char *networkName = otThreadGetNetworkName(aInstance); + Serial.printf("Network Name: %s\r\n", networkName); + // Channel + uint8_t channel = otLinkGetChannel(aInstance); + Serial.printf("Channel: %d\r\n", channel); + // PAN ID + uint16_t panId = otLinkGetPanId(aInstance); + Serial.printf("PanID: 0x%04x\r\n", panId); + // Extended PAN ID + const otExtendedPanId *extPanId = otThreadGetExtendedPanId(aInstance); + Serial.printf("Extended PAN ID: "); + for (int i = 0; i < OT_EXT_PAN_ID_SIZE; i++) { + Serial.printf("%02x", extPanId->m8[i]); + } + Serial.println(); + // Network Key + otNetworkKey networkKey; + otThreadGetNetworkKey(aInstance, &networkKey); + Serial.printf("Network Key: "); + for (int i = 0; i < OT_NETWORK_KEY_SIZE; i++) { + Serial.printf("%02x", networkKey.m8[i]); + } + Serial.println(); + // IP Addresses + char buf[OT_IP6_ADDRESS_STRING_SIZE]; + const otNetifAddress *address = otIp6GetUnicastAddresses(aInstance); + while (address != NULL) { + otIp6AddressToString(&address->mAddress, buf, sizeof(buf)); + Serial.printf("IP Address: %s\r\n", buf); + address = address->mNext; + } + // Multicast IP Addresses + const otNetifMulticastAddress *mAddress = otIp6GetMulticastAddresses(aInstance); + while (mAddress != NULL) { + otIp6AddressToString(&mAddress->mAddress, buf, sizeof(buf)); + printf("Multicast IP Address: %s\n", buf); + mAddress = mAddress->mNext; + } + } + delay(5000); } diff --git a/libraries/OpenThread/keywords.txt b/libraries/OpenThread/keywords.txt index b7135522d05..d7193de188d 100644 --- a/libraries/OpenThread/keywords.txt +++ b/libraries/OpenThread/keywords.txt @@ -31,10 +31,10 @@ peek KEYWORD2 flush KEYWORD2 otGetDeviceRole KEYWORD2 otGetStringDeviceRole KEYWORD2 -otGetRespCmd KEYWORD2 +otGetRespCmd KEYWORD2 otExecCommand KEYWORD2 -otPrintRespCLI KEYWORD2 -otPrintNetworkInformation KEYWORD2 +otPrintRespCLI KEYWORD2 +otPrintNetworkInformation KEYWORD2 ####################################### # Constants (LITERAL1) From ef23d52d9b16f61fb77213509efa0f287047bd92 Mon Sep 17 00:00:00 2001 From: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com> Date: Tue, 10 Sep 2024 10:16:29 -0300 Subject: [PATCH 022/146] docs(contrib): Add instructions on how to test changes (#10221) * docs(contrib): Add instructions on how to test changes * fix(path): Fix file path * Remove manual hooks as they do not exist anymore in the repo * Fix typo --- docs/en/contributing.rst | 310 +++++++++++++++++++++++++-- docs/en/guides/docs_contributing.rst | 2 +- 2 files changed, 289 insertions(+), 23 deletions(-) diff --git a/docs/en/contributing.rst b/docs/en/contributing.rst index 1c2b27c98bf..acea254c3e3 100644 --- a/docs/en/contributing.rst +++ b/docs/en/contributing.rst @@ -15,7 +15,8 @@ Before Contributing Before sending us a Pull Request, please consider this: -* Is the contribution entirely your own work, or is it already licensed under an LGPL 2.1 compatible Open Source License? If not, cannot accept it. +* Is the contribution entirely your own work, or is it already licensed under an LGPL 2.1 compatible Open Source License? + If not, cannot accept it. * Is the code adequately commented and can people understand how it is structured? @@ -25,9 +26,10 @@ Before sending us a Pull Request, please consider this: * Example contributions are also welcome. - * If you are contributing by adding a new example, please use the `Arduino style guide`_ and the example guideline below. + * If you are contributing by adding a new example, please use the `Arduino style guide`_ and the example guideline below. -* If the contribution contains multiple commits, are they grouped together into logical changes (one major change per pull request)? Are any commits with names like "fixed typo" `squashed into previous commits `_? +* If the contribution contains multiple commits, are they grouped together into logical changes (one major change per pull request)? + Are any commits with names like "fixed typo" `squashed into previous commits `_? If you're unsure about any of these points, please open the Pull Request anyhow and then ask us for feedback. @@ -49,20 +51,22 @@ Checklist * Check if your example proposal has no similarities to the project (**already existing examples**) * Use the `Arduino style guide`_ * Add the header to all source files -* Add the `README.md` file +* Add the ``README.md`` file * Add inline comments if needed * Test the example Header ****** -All the source files must include the header with the example name and license, if applicable. You can change this header as you wish, but it will be reviewed by the community and may not be accepted. +All the source files must include the header with the example name and license, if applicable. You can change this header as you wish, +but it will be reviewed by the community and may not be accepted. -Ideally, you can add some description about the example, links to the documentation, or the author's name. Just have in mind to keep it simple and short. +Ideally, you can add some description about the example, links to the documentation, or the author's name. +Just have in mind to keep it simple and short. **Header Example** -.. code-block:: arduino +.. code-block:: arduino /* Wi-Fi FTM Initiator Arduino Example @@ -77,9 +81,9 @@ Ideally, you can add some description about the example, links to the documentat README file *********** -The **README.md** file should contain the example details. +The ``README.md`` file should contain the example details. -Please see the recommended **README.md** file in the `example template folder `_. +Please see the recommended ``README.md`` file in the `example template folder `_. Inline Comments *************** @@ -88,17 +92,16 @@ Inline comments are important if the example contains complex algorithms or spec Brief and clear inline comments are really helpful for the example understanding and it's fast usage. -**Example** +See the `FTM example `_ +as a reference: -See the `FTM example `_ as a reference. - -.. code-block:: arduino +.. code-block:: arduino // Number of FTM frames requested in terms of 4 or 8 bursts (allowed values - 0 (No pref), 16, 24, 32, 64) -and +Also: -.. code-block:: arduino +.. code-block:: arduino const char * WIFI_FTM_SSID = "WiFi_FTM_Responder"; // SSID of AP that has FTM Enabled const char * WIFI_FTM_PASS = "ftm_responder"; // STA Password @@ -106,19 +109,33 @@ and Testing ******* -Be sure you have tested the example in all the supported targets. If the example works only with specific targets, add this information in the **README.md** file on the **Supported Targets** and in the example code as an inline comment. +Be sure you have tested the example in all the supported targets. If the example works only with specific targets, +edit/add the ``ci.json`` in the same folder as the sketch to specify the supported targets. By default, +all targets are assumed to be supported. + +Here is an example of the ``ci.json`` file where the example does not support ESP32-H2 and ESP32-S2: + +.. code-block:: json -**Example** + { + "targets": { + "esp32h2": false, + "esp32s2": false + } + } -.. code-block:: arduino +You also need to add this information in the ``README.md`` file, on the **Supported Targets**, and in the example code as an inline comment. +For example, in the sketch: + +.. code-block:: arduino /* THIS FEATURE IS SUPPORTED ONLY BY ESP32-S2 AND ESP32-C3 */ -and +And in the ``README.md`` file: -.. code-block:: markdown +.. code-block:: markdown Currently, this example supports the following targets. @@ -128,11 +145,260 @@ and Example Template **************** -The example template can be found `here `_ and can be used as a reference. +The example template can be found `here `_ +and can be used as a reference. + +Documentation +------------- + +If you are contributing to the documentation, please follow the instructions described in the +`documentation guidelines `_ to properly format and test your changes. + +Testing and CI +-------------- + +After you have made your changes, you should test them. You can do this in different ways depending on the type of change you have made. + +Examples +******** + +The easiest way to test an example is to load it into the Arduino IDE and run it on your board. If you have multiple boards, +you should test it on all of them to ensure that the example works on all supported targets. + +You can refer to the `Example Contribution Guideline`_ section for more information on how to write and test examples. + +Library Changes +*************** + +If you have made changes to a library, you should test it on all supported targets. You can do this by loading the library examples (or creating new ones) +into the Arduino IDE and running them on your board. If you have multiple boards, you should test it on all of them to ensure that the library +works as expected on all targets. + +You can also add a new test suite to automatically check the library. You can refer to the `Adding a New Test Suite`_ section for more information. + +Core Changes +************ + +If you have made changes to the core, it is important to ensure that the changes do not break the existing functionality. You can do this by running the +tests on all supported targets. You can refer to the `Runtime Tests`_ section for more information. + +CI +** + +In our repository, we have a Continuous Integration (CI) system that runs tests and fixes on every Pull Request. This system will run the tests +on all supported targets and check if everything is working as expected. + +We have many types of tests and checks, including: + +* Compilation tests; +* Runtime tests; +* Documentation checks; +* Code style checks; +* And more. + +Let's go deeper into each type of test in the CI system: + +Compilation Tests +^^^^^^^^^^^^^^^^^ + +The compilation tests are the first type of tests in the CI system. They check if the code compiles on all supported targets. +If the code does not compile, the CI system will fail the test and the Pull Request will not be merged. +This is important to ensure that the code is compatible with all supported targets and no broken code is merged. + +It will go through all the sketches in the repository and check if they compile on all supported targets. This process is automated and controlled +by GitHub Actions. The CI system will run the ``arduino-cli`` tool to compile the sketches on all supported targets. + +Testing it locally using the CI scripts would be too time consuming, so we recommend running the tests locally using the Arduino IDE with +a sketch that uses the changes you made (you can also add the sketch as an example if your change is not covered by the existing ones). +Make sure to set ``Compiler Warnings`` to ``All`` in the Arduino IDE to catch any potential issues. + +Runtime Tests +^^^^^^^^^^^^^ + +Another type of test is the runtime tests. They check if the code runs and behaves as expected on all supported targets. If the +code does not run as expected, the CI system will fail the test and the Pull Request will not be merged. This is important to ensure that the code +works as expected on all supported targets and no unintended crashes or bugs are introduced. + +These tests are specialized sketches that run on the target board and check if the code behaves as expected. This process is automated and +controlled by the ``pytest_embedded`` tool. You can read more about this tool in its +`documentation `_. + +The tests are divided into two categories inside the ``tests`` folder: + +* ``validation``: These tests are used to validate the behavior of the Arduino core and libraries. They are used to check if the core and libraries + are working as expected; +* ``performance``: These tests are used to check the performance of the Arduino core and libraries. They are used to check if the changes made + to the core and libraries have any big impact on the performance. These tests usually run for a longer time than the validation tests and include + common benchmark tools like `CoreMark `_. + +To run the runtime tests locally, first install the required dependencies by running: + +.. code-block:: bash + + pip install -U -r tests/requirements.txt + +Before running the test, we need to build it by running: + +.. code-block:: bash + + ./.github/scripts/tests_build.sh -s -t + +The ```` is the name of the test you want to run (you can check the available tests in the ``tests/validation`` and +``tests/performance`` folders), and the ```` is the target board you want to run the test on. For example, to run the ``uart`` test on the +ESP32-C3 target, you would run: + +.. code-block:: bash + + ./.github/scripts/tests_build.sh -s uart -t esp32c3 + +You should see the output of the build process and the test binary should be generated in the ``~/.arduino/tests//build.tmp`` folder. + +Now that the test is built, you can run it in the target board. Connect the target board to your computer and run: + +.. code-block:: bash + + ./.github/scripts/tests_run.sh -s -t + +For example, to run the ``uart`` test on the ESP32-C3 target, you would run: + +.. code-block:: bash + + ./.github/scripts/tests_run.sh -s uart -t esp32c3 + +The test will run on the target board and you should see the output of the test in the terminal: + +.. code-block:: bash + + lucassvaz@Lucas--MacBook-Pro esp32 % ./.github/scripts/tests_run.sh -s uart -t esp32c3 + Sketch uart test type: validation + Running test: uart -- Config: Default + pytest tests --build-dir /Users/lucassvaz/.arduino/tests/uart/build.tmp -k test_uart --junit-xml=/Users/lucassvaz/Espressif/Arduino/hardware/espressif/esp32/tests/validation/uart/esp32c3/uart.xml --embedded-services esp,arduino + =============================================================================================== test session starts ================================================================================================ + platform darwin -- Python 3.12.3, pytest-8.2.2, pluggy-1.5.0 + rootdir: /Users/lucassvaz/Espressif/Arduino/hardware/espressif/esp32/tests + configfile: pytest.ini + plugins: cov-5.0.0, embedded-1.11.5, anyio-4.4.0 + collected 15 items / 14 deselected / 1 selected + + tests/validation/uart/test_uart.py::test_uart + -------------------------------------------------------------------------------------------------- live log setup -------------------------------------------------------------------------------------------------- + 2024-08-22 11:49:30 INFO Target: esp32c3, Port: /dev/cu.usbserial-2120 + PASSED [100%] + ------------------------------------------------------------------------------------------------ live log teardown ------------------------------------------------------------------------------------------------- + 2024-08-22 11:49:52 INFO Created unity output junit report: /private/var/folders/vp/g9wctsvn7b91k3pv_7cwpt_h0000gn/T/pytest-embedded/2024-08-22_14-49-30-392993/test_uart/dut.xml + + + ---------------------------------------------- generated xml file: /Users/lucassvaz/Espressif/Arduino/hardware/espressif/esp32/tests/validation/uart/esp32c3/uart.xml ---------------------------------------------- + ======================================================================================== 1 passed, 14 deselected in 22.18s ========================================================================================= + +After the test is finished, you can check the output in the terminal and the generated XML file in the test folder. +Additionally, for performance tests, you can check the generated JSON file in the same folder. + +You can also run the tests in `Wokwi `_ or `Espressif's QEMU `_ +by using the ``-W `` and ``-Q`` flags respectively. You will need to have the Wokwi and/or QEMU installed in your system +and set the ``WOKWI_CLI_TOKEN`` and/or ``QEMU_PATH`` environment variables. The ``WOKWI_CLI_TOKEN`` is the CI token that can be obtained from the +`Wokwi website `_ and the ``QEMU_PATH`` is the path to the QEMU binary. + +For example, to run the ``uart`` test using Wokwi, you would run: + +.. code-block:: bash + + WOKWI_CLI_TOKEN= ./.github/scripts/tests_run.sh -s uart -t esp32c3 -W + +And to run the ``uart`` test using QEMU, you would run: + +.. code-block:: bash + + QEMU_PATH= ./.github/scripts/tests_run.sh -s uart -t esp32c3 -Q + +.. note:: + + Not all tests are supported by Wokwi and QEMU. QEMU is only supported for ESP32 and ESP32-C3 targets. + Wokwi support depends on the `currently implemented peripherals `_. + +Adding a New Test Suite +####################### + +If you want to add a new test suite, you can create a new folder inside ``tests/validation`` or ``tests/performance`` with the name of the test suite. +You can use the ``hello_world`` test suite as a starting point and the other test suites as a reference. + +A test suite contains the following files: + +* ``test_.py``: The test file that contains the test cases. Required. +* ``.ino``: The sketch that will be tested. Required. +* ``ci.json``: The file that specifies how the test suite will be run in the CI system. Optional. +* ``diagram..json``: The diagram file that specifies the connections between the components in Wokwi. Optional. +* ``scenario.yaml``: The scenario file that specifies how Wokwi will interact with the components. Optional. +* Any other files that are needed for the test suite. + +You can read more about the test python API in the `pytest-embedded documentation `_. +For more information about the Unity testing framework, you can check the `Unity documentation `_. + +After creating the test suite, make sure to test it locally and run it in the CI system to ensure that it works as expected. + +CI JSON File +############ + +The ``ci.json`` file is used to specify how the test suite and sketches will handled by the CI system. It can contain the following fields: + +* ``targets``: A dictionary that specifies the supported targets. The key is the target name and the value is a boolean that specifies if the + target is supported. By default, all targets are assumed to be supported. This field is also valid for examples. +* ``platforms``: A dictionary that specifies the supported platforms. The key is the platform name and the value is a boolean that specifies if + the platform is supported. By default, all platforms are assumed to be supported. +* ``extra_tags``: A list of extra tags that the runner will require when running the test suite in hardware. By default, no extra tags are required. +* ``fqbn``: A dictionary that specifies the FQBNs that will be used to compile the sketch. The key is the target name and the value is a list + of FQBNs. The `default FQBNs `_ + are used if this field is not specified. + +The ``wifi`` test suite is a good example of how to use the ``ci.json`` file: + +.. literalinclude:: ../../tests/validation/wifi/ci.json + :language: json + +Documentation Checks +^^^^^^^^^^^^^^^^^^^^ + +The CI also checks the documentation for any compilation errors. This is important to ensure that the documentation layout is not broken. +To build the documentation locally, please refer to the `documentation guidelines `_. + +Code Style Checks +^^^^^^^^^^^^^^^^^ + +For checking the code style and other code quality checks, we use pre-commit hooks. +These hooks will be automatically run by the CI when a Pull Request is marked as ``Status: Pending Merge``. +You can check which hooks are being run in the ``.pre-commit-config.yaml`` file. + +You can read more about the pre-commit hooks in the `pre-commit documentation `_. + +If you want to run the pre-commit hooks locally, you first need to install the required dependencies by running: + +.. code-block:: bash + + pip install -U -r tools/pre-commit/requirements.txt + +Then, you can run the pre-commit hooks staging your changes and running: + +.. code-block:: bash + + pre-commit run + +To run a specific hook, you can use the hook name as an argument. For example, to run the ``codespell`` hook, you would run: + +.. code-block:: bash + + pre-commit run codespell + +If you want to run the pre-commit hooks automatically against the changed files on every ``git commit``, +you can install the pre-commit hooks by running: + +.. code-block:: bash + + pre-commit install Legal Part ---------- -Before a contribution can be accepted, you will need to sign our contributor agreement. You will be prompted for this automatically as part of the Pull Request process. +Before a contribution can be accepted, you will need to sign our contributor agreement. You will be prompted for this automatically as part of +the Pull Request process. .. _Arduino style guide: https://docs.arduino.cc/learn/contributions/arduino-writing-style-guide diff --git a/docs/en/guides/docs_contributing.rst b/docs/en/guides/docs_contributing.rst index 9ac087ab8f3..20dc4c84cab 100644 --- a/docs/en/guides/docs_contributing.rst +++ b/docs/en/guides/docs_contributing.rst @@ -104,7 +104,7 @@ If everything is ok, you will see some output logs similar to this one: dumping object inventory... done build succeeded. -The HTML pages are in `_build/en/generic/html`. +The HTML pages are in ``_build/en/generic/html``. Sections -------- From 2c4ce95e16a0f453505df2388c07160a3c437fe3 Mon Sep 17 00:00:00 2001 From: Me No Dev Date: Tue, 10 Sep 2024 16:18:16 +0300 Subject: [PATCH 023/146] fix(i2c): Ensure that semaphore is properly given if init fails (#10313) Currently code can return before semaphore is given, which can cause the bus to lock. Change makes sure that it's properly given in case of failure. --- cores/esp32/esp32-hal-i2c.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/cores/esp32/esp32-hal-i2c.c b/cores/esp32/esp32-hal-i2c.c index 1ecef5bfb0d..419ce66bb9b 100644 --- a/cores/esp32/esp32-hal-i2c.c +++ b/cores/esp32/esp32-hal-i2c.c @@ -71,6 +71,7 @@ bool i2cIsInit(uint8_t i2c_num) { } esp_err_t i2cInit(uint8_t i2c_num, int8_t sda, int8_t scl, uint32_t frequency) { + esp_err_t ret = ESP_OK; if (i2c_num >= SOC_I2C_NUM) { return ESP_ERR_INVALID_ARG; } @@ -90,7 +91,8 @@ esp_err_t i2cInit(uint8_t i2c_num, int8_t sda, int8_t scl, uint32_t frequency) { #endif if (bus[i2c_num].initialized) { log_e("bus is already initialized"); - return ESP_FAIL; + ret = ESP_FAIL; + goto init_fail; } if (!frequency) { @@ -103,7 +105,8 @@ esp_err_t i2cInit(uint8_t i2c_num, int8_t sda, int8_t scl, uint32_t frequency) { perimanSetBusDeinit(ESP32_BUS_TYPE_I2C_MASTER_SCL, i2cDetachBus); if (!perimanClearPinBus(sda) || !perimanClearPinBus(scl)) { - return false; + ret = ESP_FAIL; + goto init_fail; } log_i("Initializing I2C Master: sda=%d scl=%d freq=%d", sda, scl, frequency); @@ -117,7 +120,7 @@ esp_err_t i2cInit(uint8_t i2c_num, int8_t sda, int8_t scl, uint32_t frequency) { conf.master.clk_speed = frequency; conf.clk_flags = I2C_SCLK_SRC_FLAG_FOR_NOMAL; //Any one clock source that is available for the specified frequency may be chosen - esp_err_t ret = i2c_param_config((i2c_port_t)i2c_num, &conf); + ret = i2c_param_config((i2c_port_t)i2c_num, &conf); if (ret != ESP_OK) { log_e("i2c_param_config failed"); } else { @@ -133,11 +136,16 @@ esp_err_t i2cInit(uint8_t i2c_num, int8_t sda, int8_t scl, uint32_t frequency) { i2c_set_timeout((i2c_port_t)i2c_num, I2C_LL_MAX_TIMEOUT); if (!perimanSetPinBus(sda, ESP32_BUS_TYPE_I2C_MASTER_SDA, (void *)(i2c_num + 1), i2c_num, -1) || !perimanSetPinBus(scl, ESP32_BUS_TYPE_I2C_MASTER_SCL, (void *)(i2c_num + 1), i2c_num, -1)) { +#if !CONFIG_DISABLE_HAL_LOCKS + //release lock so that i2cDetachBus can execute i2cDeinit + xSemaphoreGive(bus[i2c_num].lock); +#endif i2cDetachBus((void *)(i2c_num + 1)); - return false; + return ESP_FAIL; } } } +init_fail: #if !CONFIG_DISABLE_HAL_LOCKS //release lock xSemaphoreGive(bus[i2c_num].lock); From d84631134450b83bfbce4ed3d5c3828a9d5e7f41 Mon Sep 17 00:00:00 2001 From: Me No Dev Date: Tue, 10 Sep 2024 16:18:48 +0300 Subject: [PATCH 024/146] fix(scan): Make sure that we do not leak memory if reading the APs fails (#10312) As it was written, it was possible to leak the scan result array if esp_wifi_scan_get_ap_records() failed. Change will ensure that the array is deleted in that case. --- libraries/WiFi/src/WiFiScan.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/libraries/WiFi/src/WiFiScan.cpp b/libraries/WiFi/src/WiFiScan.cpp index 62e849dbc76..9ebf28f8fde 100644 --- a/libraries/WiFi/src/WiFiScan.cpp +++ b/libraries/WiFi/src/WiFiScan.cpp @@ -119,7 +119,11 @@ void WiFiScanClass::_scanDone() { esp_wifi_scan_get_ap_num(&(WiFiScanClass::_scanCount)); if (WiFiScanClass::_scanCount) { WiFiScanClass::_scanResult = new wifi_ap_record_t[WiFiScanClass::_scanCount]; - if (!WiFiScanClass::_scanResult || esp_wifi_scan_get_ap_records(&(WiFiScanClass::_scanCount), (wifi_ap_record_t *)_scanResult) != ESP_OK) { + if (!WiFiScanClass::_scanResult) { + WiFiScanClass::_scanCount = 0; + } else if (esp_wifi_scan_get_ap_records(&(WiFiScanClass::_scanCount), (wifi_ap_record_t *)_scanResult) != ESP_OK) { + delete[] reinterpret_cast(WiFiScanClass::_scanResult); + WiFiScanClass::_scanResult = 0; WiFiScanClass::_scanCount = 0; } } From 1e04762e3ad316b53618987d2815256c65fb67f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Proch=C3=A1zka?= <90197375+P-R-O-C-H-Y@users.noreply.github.com> Date: Tue, 10 Sep 2024 15:25:18 +0200 Subject: [PATCH 025/146] fix(example): Fix compilation warnings in examples (#10311) * fix(example): Fix compilation warnings in examples * ci(pre-commit): Apply automatic fixes --------- Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> --- .../FreeRTOS/BasicMultiThreading/BasicMultiThreading.ino | 6 +++--- libraries/ESP32/examples/HWCDC_Events/ci.json | 5 +++++ .../Legacy_RMT_Driver_Compatible.ino | 2 +- libraries/ESP_SR/examples/Basic/ci.json | 5 +++++ .../examples/DiagnosticsSmokeTest/DiagnosticsSmokeTest.ino | 2 +- libraries/USB/examples/MIDI/MidiInterface/MidiInterface.ino | 2 +- libraries/USB/examples/MIDI/ReceiveMidi/ReceiveMidi.ino | 2 +- .../Update/examples/AWS_S3_OTA_Update/AWS_S3_OTA_Update.ino | 4 ++-- .../HttpAuthCallbackInline/HttpAuthCallbackInline.ino | 4 ++-- 9 files changed, 21 insertions(+), 11 deletions(-) diff --git a/libraries/ESP32/examples/FreeRTOS/BasicMultiThreading/BasicMultiThreading.ino b/libraries/ESP32/examples/FreeRTOS/BasicMultiThreading/BasicMultiThreading.ino index 9e26ca69416..8704568dbeb 100644 --- a/libraries/ESP32/examples/FreeRTOS/BasicMultiThreading/BasicMultiThreading.ino +++ b/libraries/ESP32/examples/FreeRTOS/BasicMultiThreading/BasicMultiThreading.ino @@ -7,9 +7,9 @@ // Please read file README.md in the folder containing this example. #if CONFIG_FREERTOS_UNICORE -#define ARDUINO_RUNNING_CORE 0 +#define TASK_RUNNING_CORE 0 #else -#define ARDUINO_RUNNING_CORE 1 +#define TASK_RUNNING_CORE 1 #endif #define ANALOG_INPUT_PIN A0 @@ -51,7 +51,7 @@ void setup() { , &analog_read_task_handle // With task handle we will be able to manipulate with this task. , - ARDUINO_RUNNING_CORE // Core on which the task will run + TASK_RUNNING_CORE // Core on which the task will run ); Serial.printf("Basic Multi Threading Arduino Example\n"); diff --git a/libraries/ESP32/examples/HWCDC_Events/ci.json b/libraries/ESP32/examples/HWCDC_Events/ci.json index edef5051e09..dbc4c35cbd5 100644 --- a/libraries/ESP32/examples/HWCDC_Events/ci.json +++ b/libraries/ESP32/examples/HWCDC_Events/ci.json @@ -2,5 +2,10 @@ "targets": { "esp32": false, "esp32s2": false + }, + "fqbn": { + "esp32s3": [ + "espressif:esp32:esp32s3:USBMode=hwcdc,PartitionScheme=huge_app,FlashMode=dio" + ] } } diff --git a/libraries/ESP32/examples/RMT/Legacy_RMT_Driver_Compatible/Legacy_RMT_Driver_Compatible.ino b/libraries/ESP32/examples/RMT/Legacy_RMT_Driver_Compatible/Legacy_RMT_Driver_Compatible.ino index f00e1dce92e..5744cf884a7 100644 --- a/libraries/ESP32/examples/RMT/Legacy_RMT_Driver_Compatible/Legacy_RMT_Driver_Compatible.ino +++ b/libraries/ESP32/examples/RMT/Legacy_RMT_Driver_Compatible/Legacy_RMT_Driver_Compatible.ino @@ -10,7 +10,7 @@ #ifndef ESP32_ARDUINO_NO_RGB_BUILTIN // add the file "build_opt.h" to your Arduino project folder with "-DESP32_ARDUINO_NO_RGB_BUILTIN" to use the RMT Legacy driver -#error "ESP32_ARDUINO_NO_RGB_BUILTIN is not defined, this example is intended to demonstrate the RMT Legacy driver. +#error "ESP32_ARDUINO_NO_RGB_BUILTIN is not defined, this example is intended to demonstrate the RMT Legacy driver." #error "Please add the file 'build_opt.h' with '-DESP32_ARDUINO_NO_RGB_BUILTIN' to your Arduino project folder." #error "Another way to disable the RGB_BUILTIN is to define it in the platformio.ini file, for instance: '-D ESP32_ARDUINO_NO_RGB_BUILTIN'" diff --git a/libraries/ESP_SR/examples/Basic/ci.json b/libraries/ESP_SR/examples/Basic/ci.json index 97ae5ee5616..90425f61c02 100644 --- a/libraries/ESP_SR/examples/Basic/ci.json +++ b/libraries/ESP_SR/examples/Basic/ci.json @@ -5,5 +5,10 @@ "esp32c6": false, "esp32h2": false, "esp32s2": false + }, + "fqbn": { + "esp32s3": [ + "espressif:esp32:esp32s3:USBMode=default,PartitionScheme=esp_sr_16,FlashSize=16M,FlashMode=dio" + ] } } diff --git a/libraries/Insights/examples/DiagnosticsSmokeTest/DiagnosticsSmokeTest.ino b/libraries/Insights/examples/DiagnosticsSmokeTest/DiagnosticsSmokeTest.ino index 2178c9bcd17..52019a703b7 100644 --- a/libraries/Insights/examples/DiagnosticsSmokeTest/DiagnosticsSmokeTest.ino +++ b/libraries/Insights/examples/DiagnosticsSmokeTest/DiagnosticsSmokeTest.ino @@ -36,7 +36,7 @@ static void smoke_test() { Insights.event(TAG, "[count][%d]", count); } else { log_e("[count][%d] [crash_count][%" PRIu32 "] [excvaddr][0x0f] Crashing...", count, s_reset_count); - *(int *)0x0F = 0x10; + abort(); } } diff --git a/libraries/USB/examples/MIDI/MidiInterface/MidiInterface.ino b/libraries/USB/examples/MIDI/MidiInterface/MidiInterface.ino index 7088e9b03f0..e3ad1c4e028 100644 --- a/libraries/USB/examples/MIDI/MidiInterface/MidiInterface.ino +++ b/libraries/USB/examples/MIDI/MidiInterface/MidiInterface.ino @@ -50,7 +50,7 @@ void loop() { } // USB MIDI 1.0 to MIDI Serial 1.0 - midiEventPacket_t midi_packet_in = {0}; + midiEventPacket_t midi_packet_in = {0, 0, 0, 0}; // See Chapter 4: USB-MIDI Event Packets (page 16) of the spec. int8_t cin_to_midix_size[16] = {-1, -1, 2, 3, 3, 1, 2, 3, 3, 3, 3, 3, 2, 2, 3, 1}; diff --git a/libraries/USB/examples/MIDI/ReceiveMidi/ReceiveMidi.ino b/libraries/USB/examples/MIDI/ReceiveMidi/ReceiveMidi.ino index 75078d163c8..09a3e2a7b5c 100644 --- a/libraries/USB/examples/MIDI/ReceiveMidi/ReceiveMidi.ino +++ b/libraries/USB/examples/MIDI/ReceiveMidi/ReceiveMidi.ino @@ -28,7 +28,7 @@ void setup() { } void loop() { - midiEventPacket_t midi_packet_in = {0}; + midiEventPacket_t midi_packet_in = {0, 0, 0, 0}; if (MIDI.readPacket(&midi_packet_in)) { printDetails(midi_packet_in); diff --git a/libraries/Update/examples/AWS_S3_OTA_Update/AWS_S3_OTA_Update.ino b/libraries/Update/examples/AWS_S3_OTA_Update/AWS_S3_OTA_Update.ino index c51fcf478bf..08c0a5a9ff0 100644 --- a/libraries/Update/examples/AWS_S3_OTA_Update/AWS_S3_OTA_Update.ino +++ b/libraries/Update/examples/AWS_S3_OTA_Update/AWS_S3_OTA_Update.ino @@ -178,11 +178,11 @@ void execOTA() { // Understand the partitions and // space availability Serial.println("Not enough space to begin OTA"); - client.flush(); + client.clear(); } } else { Serial.println("There was no content in the response"); - client.flush(); + client.clear(); } } diff --git a/libraries/WebServer/examples/HttpAuthCallbackInline/HttpAuthCallbackInline.ino b/libraries/WebServer/examples/HttpAuthCallbackInline/HttpAuthCallbackInline.ino index 48cbaa93dac..3a69f1db413 100644 --- a/libraries/WebServer/examples/HttpAuthCallbackInline/HttpAuthCallbackInline.ino +++ b/libraries/WebServer/examples/HttpAuthCallbackInline/HttpAuthCallbackInline.ino @@ -9,8 +9,8 @@ const char *password = "........"; WebServer server(80); typedef struct credentials_t { - char *username; - char *password; + const char *username; + const char *password; } credentials_t; credentials_t passwdfile[] = {{"admin", "esp32"}, {"fred", "41234123"}, {"charlie", "sdfsd"}, {"alice", "vambdnkuhj"}, {"bob", "svcdbjhws12"}, {NULL, NULL}}; From 4e9eb35752a36bd4e03739dc7e1c3ac246c49d3c Mon Sep 17 00:00:00 2001 From: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com> Date: Wed, 11 Sep 2024 09:18:03 -0300 Subject: [PATCH 026/146] feat(pre-commit): Add JSON formatter to pre-commit hooks (#10324) --- .pre-commit-config.yaml | 9 ++++++ libraries/ESP32/examples/HWCDC_Events/ci.json | 8 +++--- libraries/ESP_SR/examples/Basic/ci.json | 10 +++---- .../examples/COAP/coap_lamp/ci.json | 14 +++++----- .../examples/COAP/coap_switch/ci.json | 14 +++++----- .../OpenThread/examples/SimpleCLI/ci.json | 14 +++++----- .../OpenThread/examples/SimpleNode/ci.json | 14 +++++----- .../ExtendedRouterNode/ci.json | 14 +++++----- .../SimpleThreadNetwork/LeaderNode/ci.json | 14 +++++----- .../SimpleThreadNetwork/RouterNode/ci.json | 14 +++++----- .../OpenThread/examples/ThreadScan/ci.json | 14 +++++----- .../OpenThread/examples/onReceive/ci.json | 14 +++++----- libraries/SD_MMC/examples/SD2USBMSC/ci.json | 4 +-- tests/performance/psramspeed/ci.json | 1 - tests/performance/ramspeed/ci.json | 9 +++--- tests/validation/democfg/ci.json | 28 +++++++++---------- tests/validation/gpio/ci.json | 2 +- tests/validation/nvs/ci.json | 25 ++++++++--------- tests/validation/touch/ci.json | 1 - tests/validation/wifi/ci.json | 17 +++++------ 20 files changed, 120 insertions(+), 120 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 538bc4be9fd..0aff5b6f07b 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -25,6 +25,15 @@ repos: args: [--fix=lf] - id: trailing-whitespace args: [--markdown-linebreak-ext=md] + - id: pretty-format-json + args: [--autofix] + types_or: [json] + exclude: | + (?x)( + diagram\..*\.json$| + package\.json$| + ^package\/.*$ + ) - repo: https://github.com/codespell-project/codespell rev: "v2.3.0" hooks: diff --git a/libraries/ESP32/examples/HWCDC_Events/ci.json b/libraries/ESP32/examples/HWCDC_Events/ci.json index dbc4c35cbd5..d6c4351c868 100644 --- a/libraries/ESP32/examples/HWCDC_Events/ci.json +++ b/libraries/ESP32/examples/HWCDC_Events/ci.json @@ -1,11 +1,11 @@ { - "targets": { - "esp32": false, - "esp32s2": false - }, "fqbn": { "esp32s3": [ "espressif:esp32:esp32s3:USBMode=hwcdc,PartitionScheme=huge_app,FlashMode=dio" ] + }, + "targets": { + "esp32": false, + "esp32s2": false } } diff --git a/libraries/ESP_SR/examples/Basic/ci.json b/libraries/ESP_SR/examples/Basic/ci.json index 90425f61c02..dca52699ab3 100644 --- a/libraries/ESP_SR/examples/Basic/ci.json +++ b/libraries/ESP_SR/examples/Basic/ci.json @@ -1,14 +1,14 @@ { + "fqbn": { + "esp32s3": [ + "espressif:esp32:esp32s3:USBMode=default,PartitionScheme=esp_sr_16,FlashSize=16M,FlashMode=dio" + ] + }, "targets": { "esp32": false, "esp32c3": false, "esp32c6": false, "esp32h2": false, "esp32s2": false - }, - "fqbn": { - "esp32s3": [ - "espressif:esp32:esp32s3:USBMode=default,PartitionScheme=esp_sr_16,FlashSize=16M,FlashMode=dio" - ] } } diff --git a/libraries/OpenThread/examples/COAP/coap_lamp/ci.json b/libraries/OpenThread/examples/COAP/coap_lamp/ci.json index 10def841de0..c60d9179992 100644 --- a/libraries/OpenThread/examples/COAP/coap_lamp/ci.json +++ b/libraries/OpenThread/examples/COAP/coap_lamp/ci.json @@ -1,9 +1,9 @@ { - "targets": { - "esp32": false, - "esp32c2": false, - "esp32c3": false, - "esp32s2": false, - "esp32s3": false - } + "targets": { + "esp32": false, + "esp32c2": false, + "esp32c3": false, + "esp32s2": false, + "esp32s3": false } +} diff --git a/libraries/OpenThread/examples/COAP/coap_switch/ci.json b/libraries/OpenThread/examples/COAP/coap_switch/ci.json index 10def841de0..c60d9179992 100644 --- a/libraries/OpenThread/examples/COAP/coap_switch/ci.json +++ b/libraries/OpenThread/examples/COAP/coap_switch/ci.json @@ -1,9 +1,9 @@ { - "targets": { - "esp32": false, - "esp32c2": false, - "esp32c3": false, - "esp32s2": false, - "esp32s3": false - } + "targets": { + "esp32": false, + "esp32c2": false, + "esp32c3": false, + "esp32s2": false, + "esp32s3": false } +} diff --git a/libraries/OpenThread/examples/SimpleCLI/ci.json b/libraries/OpenThread/examples/SimpleCLI/ci.json index 10def841de0..c60d9179992 100644 --- a/libraries/OpenThread/examples/SimpleCLI/ci.json +++ b/libraries/OpenThread/examples/SimpleCLI/ci.json @@ -1,9 +1,9 @@ { - "targets": { - "esp32": false, - "esp32c2": false, - "esp32c3": false, - "esp32s2": false, - "esp32s3": false - } + "targets": { + "esp32": false, + "esp32c2": false, + "esp32c3": false, + "esp32s2": false, + "esp32s3": false } +} diff --git a/libraries/OpenThread/examples/SimpleNode/ci.json b/libraries/OpenThread/examples/SimpleNode/ci.json index 10def841de0..c60d9179992 100644 --- a/libraries/OpenThread/examples/SimpleNode/ci.json +++ b/libraries/OpenThread/examples/SimpleNode/ci.json @@ -1,9 +1,9 @@ { - "targets": { - "esp32": false, - "esp32c2": false, - "esp32c3": false, - "esp32s2": false, - "esp32s3": false - } + "targets": { + "esp32": false, + "esp32c2": false, + "esp32c3": false, + "esp32s2": false, + "esp32s3": false } +} diff --git a/libraries/OpenThread/examples/SimpleThreadNetwork/ExtendedRouterNode/ci.json b/libraries/OpenThread/examples/SimpleThreadNetwork/ExtendedRouterNode/ci.json index 10def841de0..c60d9179992 100644 --- a/libraries/OpenThread/examples/SimpleThreadNetwork/ExtendedRouterNode/ci.json +++ b/libraries/OpenThread/examples/SimpleThreadNetwork/ExtendedRouterNode/ci.json @@ -1,9 +1,9 @@ { - "targets": { - "esp32": false, - "esp32c2": false, - "esp32c3": false, - "esp32s2": false, - "esp32s3": false - } + "targets": { + "esp32": false, + "esp32c2": false, + "esp32c3": false, + "esp32s2": false, + "esp32s3": false } +} diff --git a/libraries/OpenThread/examples/SimpleThreadNetwork/LeaderNode/ci.json b/libraries/OpenThread/examples/SimpleThreadNetwork/LeaderNode/ci.json index 10def841de0..c60d9179992 100644 --- a/libraries/OpenThread/examples/SimpleThreadNetwork/LeaderNode/ci.json +++ b/libraries/OpenThread/examples/SimpleThreadNetwork/LeaderNode/ci.json @@ -1,9 +1,9 @@ { - "targets": { - "esp32": false, - "esp32c2": false, - "esp32c3": false, - "esp32s2": false, - "esp32s3": false - } + "targets": { + "esp32": false, + "esp32c2": false, + "esp32c3": false, + "esp32s2": false, + "esp32s3": false } +} diff --git a/libraries/OpenThread/examples/SimpleThreadNetwork/RouterNode/ci.json b/libraries/OpenThread/examples/SimpleThreadNetwork/RouterNode/ci.json index 10def841de0..c60d9179992 100644 --- a/libraries/OpenThread/examples/SimpleThreadNetwork/RouterNode/ci.json +++ b/libraries/OpenThread/examples/SimpleThreadNetwork/RouterNode/ci.json @@ -1,9 +1,9 @@ { - "targets": { - "esp32": false, - "esp32c2": false, - "esp32c3": false, - "esp32s2": false, - "esp32s3": false - } + "targets": { + "esp32": false, + "esp32c2": false, + "esp32c3": false, + "esp32s2": false, + "esp32s3": false } +} diff --git a/libraries/OpenThread/examples/ThreadScan/ci.json b/libraries/OpenThread/examples/ThreadScan/ci.json index 10def841de0..c60d9179992 100644 --- a/libraries/OpenThread/examples/ThreadScan/ci.json +++ b/libraries/OpenThread/examples/ThreadScan/ci.json @@ -1,9 +1,9 @@ { - "targets": { - "esp32": false, - "esp32c2": false, - "esp32c3": false, - "esp32s2": false, - "esp32s3": false - } + "targets": { + "esp32": false, + "esp32c2": false, + "esp32c3": false, + "esp32s2": false, + "esp32s3": false } +} diff --git a/libraries/OpenThread/examples/onReceive/ci.json b/libraries/OpenThread/examples/onReceive/ci.json index 10def841de0..c60d9179992 100644 --- a/libraries/OpenThread/examples/onReceive/ci.json +++ b/libraries/OpenThread/examples/onReceive/ci.json @@ -1,9 +1,9 @@ { - "targets": { - "esp32": false, - "esp32c2": false, - "esp32c3": false, - "esp32s2": false, - "esp32s3": false - } + "targets": { + "esp32": false, + "esp32c2": false, + "esp32c3": false, + "esp32s2": false, + "esp32s3": false } +} diff --git a/libraries/SD_MMC/examples/SD2USBMSC/ci.json b/libraries/SD_MMC/examples/SD2USBMSC/ci.json index 2a5ca52e079..97ae5ee5616 100644 --- a/libraries/SD_MMC/examples/SD2USBMSC/ci.json +++ b/libraries/SD_MMC/examples/SD2USBMSC/ci.json @@ -1,9 +1,9 @@ { "targets": { "esp32": false, - "esp32s2": false, "esp32c3": false, "esp32c6": false, - "esp32h2": false + "esp32h2": false, + "esp32s2": false } } diff --git a/tests/performance/psramspeed/ci.json b/tests/performance/psramspeed/ci.json index 275da6cf4d5..8d58dbf5250 100644 --- a/tests/performance/psramspeed/ci.json +++ b/tests/performance/psramspeed/ci.json @@ -3,7 +3,6 @@ "qemu": false, "wokwi": false }, - "targets": { "esp32c3": false, "esp32c6": false, diff --git a/tests/performance/ramspeed/ci.json b/tests/performance/ramspeed/ci.json index e0614d1870f..d880ca64dfb 100644 --- a/tests/performance/ramspeed/ci.json +++ b/tests/performance/ramspeed/ci.json @@ -1,9 +1,4 @@ { - "platform": { - "qemu": false, - "wokwi": false - }, - "fqbn": { "esp32": [ "espressif:esp32:esp32:PSRAM=disabled,PartitionScheme=huge_app" @@ -14,5 +9,9 @@ "esp32s3": [ "espressif:esp32:esp32s3:PSRAM=disabled,USBMode=default,PartitionScheme=huge_app" ] + }, + "platform": { + "qemu": false, + "wokwi": false } } diff --git a/tests/validation/democfg/ci.json b/tests/validation/democfg/ci.json index e3270117dc6..f74aa4e7eda 100644 --- a/tests/validation/democfg/ci.json +++ b/tests/validation/democfg/ci.json @@ -1,19 +1,4 @@ { - "platforms": { - "qemu": false, - "hardware": true, - "wokwi": true - }, - - "targets": { - "esp32": true, - "esp32s2": true, - "esp32s3": true, - "esp32c3": true, - "esp32c6": true, - "esp32h2": false - }, - "fqbn": { "esp32": [ "espressif:esp32:esp32:PSRAM=enabled,PartitionScheme=huge_app,FlashMode=dio", @@ -25,5 +10,18 @@ "esp32s3": [ "espressif:esp32:esp32s3:PSRAM=opi,USBMode=default,PartitionScheme=huge_app" ] + }, + "platforms": { + "hardware": true, + "qemu": false, + "wokwi": true + }, + "targets": { + "esp32": true, + "esp32c3": true, + "esp32c6": true, + "esp32h2": false, + "esp32s2": true, + "esp32s3": true } } diff --git a/tests/validation/gpio/ci.json b/tests/validation/gpio/ci.json index 13a4b8c1a31..f03ec83b39d 100644 --- a/tests/validation/gpio/ci.json +++ b/tests/validation/gpio/ci.json @@ -1,7 +1,7 @@ { "platforms": { - "qemu": false, "hardware": false, + "qemu": false, "wokwi": false } } diff --git a/tests/validation/nvs/ci.json b/tests/validation/nvs/ci.json index 4bc2893da08..bddf221e3c0 100644 --- a/tests/validation/nvs/ci.json +++ b/tests/validation/nvs/ci.json @@ -1,26 +1,13 @@ { - "platforms": { - "qemu": false - }, - "fqbn": { "esp32": [ "espressif:esp32:esp32:PSRAM=enabled,PartitionScheme=huge_app,FlashMode=dio", "espressif:esp32:esp32:PSRAM=enabled,PartitionScheme=huge_app,FlashMode=qio" ], - "esp32s2": [ - "espressif:esp32:esp32s2:PSRAM=enabled,PartitionScheme=huge_app,FlashMode=dio", - "espressif:esp32:esp32s2:PSRAM=enabled,PartitionScheme=huge_app,FlashMode=qio" - ], "esp32c3": [ "espressif:esp32:esp32c3:PartitionScheme=huge_app,FlashMode=dio", "espressif:esp32:esp32c3:PartitionScheme=huge_app,FlashMode=qio" ], - "esp32s3": [ - "espressif:esp32:esp32s3:PSRAM=opi,USBMode=default,PartitionScheme=huge_app,FlashMode=qio", - "espressif:esp32:esp32s3:PSRAM=opi,USBMode=default,PartitionScheme=huge_app,FlashMode=qio120", - "espressif:esp32:esp32s3:PSRAM=opi,USBMode=default,PartitionScheme=huge_app,FlashMode=dio" - ], "esp32c6": [ "espressif:esp32:esp32c6:PartitionScheme=huge_app,FlashMode=dio", "espressif:esp32:esp32c6:PartitionScheme=huge_app,FlashMode=dio,FlashFreq=40", @@ -32,6 +19,18 @@ "espressif:esp32:esp32h2:PartitionScheme=huge_app,FlashMode=dio,FlashFreq=16", "espressif:esp32:esp32h2:PartitionScheme=huge_app,FlashMode=qio", "espressif:esp32:esp32h2:PartitionScheme=huge_app,FlashMode=qio,FlashFreq=16" + ], + "esp32s2": [ + "espressif:esp32:esp32s2:PSRAM=enabled,PartitionScheme=huge_app,FlashMode=dio", + "espressif:esp32:esp32s2:PSRAM=enabled,PartitionScheme=huge_app,FlashMode=qio" + ], + "esp32s3": [ + "espressif:esp32:esp32s3:PSRAM=opi,USBMode=default,PartitionScheme=huge_app,FlashMode=qio", + "espressif:esp32:esp32s3:PSRAM=opi,USBMode=default,PartitionScheme=huge_app,FlashMode=qio120", + "espressif:esp32:esp32s3:PSRAM=opi,USBMode=default,PartitionScheme=huge_app,FlashMode=dio" ] + }, + "platforms": { + "qemu": false } } diff --git a/tests/validation/touch/ci.json b/tests/validation/touch/ci.json index 275da6cf4d5..8d58dbf5250 100644 --- a/tests/validation/touch/ci.json +++ b/tests/validation/touch/ci.json @@ -3,7 +3,6 @@ "qemu": false, "wokwi": false }, - "targets": { "esp32c3": false, "esp32c6": false, diff --git a/tests/validation/wifi/ci.json b/tests/validation/wifi/ci.json index b36524cced9..ff2c1d7c9ce 100644 --- a/tests/validation/wifi/ci.json +++ b/tests/validation/wifi/ci.json @@ -1,17 +1,7 @@ { - "platforms": { - "qemu": false, - "hardware": false - }, - - "targets": { - "esp32h2": false - }, - "extra_tags": [ "wifi" ], - "fqbn": { "esp32": [ "espressif:esp32:esp32:PSRAM=enabled,PartitionScheme=huge_app,FlashMode=dio", @@ -26,5 +16,12 @@ "espressif:esp32:esp32s3:PSRAM=disabled,USBMode=default,PartitionScheme=huge_app,FlashMode=qio", "espressif:esp32:esp32s3:PSRAM=enabled,USBMode=default,PartitionScheme=huge_app,FlashMode=qio" ] + }, + "platforms": { + "hardware": false, + "qemu": false + }, + "targets": { + "esp32h2": false } } From eda6d21d872831b052bf02fb57774b1252cf4930 Mon Sep 17 00:00:00 2001 From: Me No Dev Date: Fri, 13 Sep 2024 10:49:28 +0300 Subject: [PATCH 027/146] fix(events): Fix crash in getStdFunctionAddress (#10321) --- libraries/Network/src/NetworkEvents.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libraries/Network/src/NetworkEvents.cpp b/libraries/Network/src/NetworkEvents.cpp index 9ebf00b476a..3643734b413 100644 --- a/libraries/Network/src/NetworkEvents.cpp +++ b/libraries/Network/src/NetworkEvents.cpp @@ -228,7 +228,10 @@ void NetworkEvents::removeEvent(NetworkEventCb cbEvent, arduino_event_id_t event template static size_t getStdFunctionAddress(std::function f) { typedef T(fnType)(U...); fnType **fnPointer = f.template target(); - return (size_t)*fnPointer; + if (fnPointer != nullptr) { + return (size_t)*fnPointer; + } + return (size_t)fnPointer; } void NetworkEvents::removeEvent(NetworkEventFuncCb cbEvent, arduino_event_id_t event) { From 648094c733d94919b71effe9c25b6dfd5e582340 Mon Sep 17 00:00:00 2001 From: Me No Dev Date: Fri, 13 Sep 2024 10:49:49 +0300 Subject: [PATCH 028/146] fix(api): Update Arduino Stream class (#10328) * fix(api): Update Arduino Stream class Upstream code contains some fixes * Update Stream.h * ci(pre-commit): Apply automatic fixes --------- Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> --- cores/esp32/Stream.cpp | 243 ++++++++++++++++++++--------------------- cores/esp32/Stream.h | 119 +++++++++++--------- 2 files changed, 186 insertions(+), 176 deletions(-) diff --git a/cores/esp32/Stream.cpp b/cores/esp32/Stream.cpp index 1eb8e512a32..5c2060eaa35 100644 --- a/cores/esp32/Stream.cpp +++ b/cores/esp32/Stream.cpp @@ -18,14 +18,14 @@ Created July 2011 parsing functions based on TextFinder library by Michael Margolis + + findMulti/findUntil routines written by Jim Leonard/Xuth */ #include "Arduino.h" #include "Stream.h" -#include "esp32-hal.h" #define PARSE_TIMEOUT 1000 // default number of milli-seconds to wait -#define NO_SKIP_CHAR 1 // a magic char not found in a valid ASCII numeric field // private method to read stream with timeout int Stream::timedRead() { @@ -55,18 +55,26 @@ int Stream::timedPeek() { // returns peek of the next digit in the stream or -1 if timeout // discards non-numeric characters -int Stream::peekNextDigit() { +int Stream::peekNextDigit(LookaheadMode lookahead, bool detectDecimal) { int c; while (1) { c = timedPeek(); - if (c < 0) { - return c; // timeout - } - if (c == '-') { + + if (c < 0 || c == '-' || (c >= '0' && c <= '9') || (detectDecimal && c == '.')) { return c; } - if (c >= '0' && c <= '9') { - return c; + + switch (lookahead) { + case SKIP_NONE: return -1; // Fail code. + case SKIP_WHITESPACE: + switch (c) { + case ' ': + case '\t': + case '\r': + case '\n': break; + default: return -1; // Fail code. + } + case SKIP_ALL: break; } read(); // discard non-numeric } @@ -79,9 +87,6 @@ void Stream::setTimeout(unsigned long timeout) // sets the maximum number of mi { _timeout = timeout; } -unsigned long Stream::getTimeout(void) { - return _timeout; -} // find returns true if the target string is found bool Stream::find(const char *target) { @@ -105,107 +110,32 @@ bool Stream::findUntil(const char *target, const char *terminator) { bool Stream::findUntil(const char *target, size_t targetLen, const char *terminator, size_t termLen) { if (terminator == NULL) { MultiTarget t[1] = {{target, targetLen, 0}}; - return findMulti(t, 1) == 0 ? true : false; + return findMulti(t, 1) == 0; } else { MultiTarget t[2] = {{target, targetLen, 0}, {terminator, termLen, 0}}; - return findMulti(t, 2) == 0 ? true : false; + return findMulti(t, 2) == 0; } } -int Stream::findMulti(struct Stream::MultiTarget *targets, int tCount) { - // any zero length target string automatically matches and would make - // a mess of the rest of the algorithm. - for (struct MultiTarget *t = targets; t < targets + tCount; ++t) { - if (t->len <= 0) { - return t - targets; - } - } - - while (1) { - int c = timedRead(); - if (c < 0) { - return -1; - } - - for (struct MultiTarget *t = targets; t < targets + tCount; ++t) { - // the simple case is if we match, deal with that first. - if (c == t->str[t->index]) { - if (++t->index == t->len) { - return t - targets; - } else { - continue; - } - } - - // if not we need to walk back and see if we could have matched further - // down the stream (ie '1112' doesn't match the first position in '11112' - // but it will match the second position so we can't just reset the current - // index to 0 when we find a mismatch. - if (t->index == 0) { - continue; - } - - int origIndex = t->index; - do { - --t->index; - // first check if current char works against the new current index - if (c != t->str[t->index]) { - continue; - } - - // if it's the only char then we're good, nothing more to check - if (t->index == 0) { - t->index++; - break; - } - - // otherwise we need to check the rest of the found string - int diff = origIndex - t->index; - size_t i; - for (i = 0; i < t->index; ++i) { - if (t->str[i] != t->str[i + diff]) { - break; - } - } - - // if we successfully got through the previous loop then our current - // index is good. - if (i == t->index) { - t->index++; - break; - } - - // otherwise we just try the next index - } while (t->index); - } - } - // unreachable - return -1; -} - // returns the first valid (long) integer value from the current position. -// initial characters that are not digits (or the minus sign) are skipped -// function is terminated by the first character that is not a digit. -long Stream::parseInt() { - return parseInt(NO_SKIP_CHAR); // terminate on first non-digit character (or timeout) -} - -// as above but a given skipChar is ignored -// this allows format characters (typically commas) in values to be ignored -long Stream::parseInt(char skipChar) { - boolean isNegative = false; +// lookahead determines how parseInt looks ahead in the stream. +// See LookaheadMode enumeration at the top of the file. +// Lookahead is terminated by the first character that is not a valid part of an integer. +// Once parsing commences, 'ignore' will be skipped in the stream. +long Stream::parseInt(LookaheadMode lookahead, char ignore) { + bool isNegative = false; long value = 0; int c; - c = peekNextDigit(); + c = peekNextDigit(lookahead, false); // ignore non numeric leading characters if (c < 0) { return 0; // zero returned if timeout } do { - if (c == skipChar) { - } // ignore this character + if ((char)c == ignore) + ; // ignore this character else if (c == '-') { isNegative = true; } else if (c >= '0' && c <= '9') { // is c a digit? @@ -213,7 +143,7 @@ long Stream::parseInt(char skipChar) { } read(); // consume the character we got with peek c = timedPeek(); - } while ((c >= '0' && c <= '9') || c == skipChar); + } while ((c >= '0' && c <= '9') || (char)c == ignore); if (isNegative) { value = -value; @@ -222,50 +152,43 @@ long Stream::parseInt(char skipChar) { } // as parseInt but returns a floating point value -float Stream::parseFloat() { - return parseFloat(NO_SKIP_CHAR); -} - -// as above but the given skipChar is ignored -// this allows format characters (typically commas) in values to be ignored -float Stream::parseFloat(char skipChar) { - boolean isNegative = false; - boolean isFraction = false; - long value = 0; +float Stream::parseFloat(LookaheadMode lookahead, char ignore) { + bool isNegative = false; + bool isFraction = false; + double value = 0.0; int c; - float fraction = 1.0; + double fraction = 1.0; - c = peekNextDigit(); + c = peekNextDigit(lookahead, true); // ignore non numeric leading characters if (c < 0) { return 0; // zero returned if timeout } do { - if (c == skipChar) { - } // ignore + if ((char)c == ignore) + ; // ignore else if (c == '-') { isNegative = true; } else if (c == '.') { isFraction = true; } else if (c >= '0' && c <= '9') { // is c a digit? - value = value * 10 + c - '0'; if (isFraction) { - fraction *= 0.1f; + fraction *= 0.1; + value = value + fraction * (c - '0'); + } else { + value = value * 10 + c - '0'; } } read(); // consume the character we got with peek c = timedPeek(); - } while ((c >= '0' && c <= '9') || c == '.' || c == skipChar); + } while ((c >= '0' && c <= '9') || (c == '.' && !isFraction) || (char)c == ignore); if (isNegative) { value = -value; } - if (isFraction) { - return value * fraction; - } else { - return value; - } + + return value; } // read characters from stream into buffer @@ -291,13 +214,10 @@ size_t Stream::readBytes(char *buffer, size_t length) { // returns the number of characters placed in the buffer (0 means no valid data found) size_t Stream::readBytesUntil(char terminator, char *buffer, size_t length) { - if (length < 1) { - return 0; - } size_t index = 0; while (index < length) { int c = timedRead(); - if (c < 0 || c == terminator) { + if (c < 0 || (char)c == terminator) { break; } *buffer++ = (char)c; @@ -319,9 +239,80 @@ String Stream::readString() { String Stream::readStringUntil(char terminator) { String ret; int c = timedRead(); - while (c >= 0 && c != terminator) { + while (c >= 0 && (char)c != terminator) { ret += (char)c; c = timedRead(); } return ret; } + +int Stream::findMulti(struct Stream::MultiTarget *targets, int tCount) { + // any zero length target string automatically matches and would make + // a mess of the rest of the algorithm. + for (struct MultiTarget *t = targets; t < targets + tCount; ++t) { + if (t->len <= 0) { + return t - targets; + } + } + + while (1) { + int c = timedRead(); + if (c < 0) { + return -1; + } + + for (struct MultiTarget *t = targets; t < targets + tCount; ++t) { + // the simple case is if we match, deal with that first. + if ((char)c == t->str[t->index]) { + if (++t->index == t->len) { + return t - targets; + } else { + continue; + } + } + + // if not we need to walk back and see if we could have matched further + // down the stream (ie '1112' doesn't match the first position in '11112' + // but it will match the second position so we can't just reset the current + // index to 0 when we find a mismatch. + if (t->index == 0) { + continue; + } + + int origIndex = t->index; + do { + --t->index; + // first check if current char works against the new current index + if ((char)c != t->str[t->index]) { + continue; + } + + // if it's the only char then we're good, nothing more to check + if (t->index == 0) { + t->index++; + break; + } + + // otherwise we need to check the rest of the found string + int diff = origIndex - t->index; + size_t i; + for (i = 0; i < t->index; ++i) { + if (t->str[i] != t->str[i + diff]) { + break; + } + } + + // if we successfully got through the previous loop then our current + // index is good. + if (i == t->index) { + t->index++; + break; + } + + // otherwise we just try the next index + } while (t->index); + } + } + // unreachable + return -1; +} diff --git a/cores/esp32/Stream.h b/cores/esp32/Stream.h index 5a83747a55f..123694f6fc6 100644 --- a/cores/esp32/Stream.h +++ b/cores/esp32/Stream.h @@ -1,72 +1,83 @@ /* - Stream.h - base class for character-based streams. - Copyright (c) 2010 David A. Mellis. All right reserved. + Stream.h - base class for character-based streams. + Copyright (c) 2010 David A. Mellis. All right reserved. - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - parsing functions based on TextFinder library by Michael Margolis - */ + parsing functions based on TextFinder library by Michael Margolis +*/ -#ifndef Stream_h -#define Stream_h +#pragma once #include #include "Print.h" // compatibility macros for testing /* - #define getInt() parseInt() - #define getInt(skipChar) parseInt(skipchar) - #define getFloat() parseFloat() - #define getFloat(skipChar) parseFloat(skipChar) - #define getString( pre_string, post_string, buffer, length) - readBytesBetween( pre_string, terminator, buffer, length) - */ +#define getInt() parseInt() +#define getInt(ignore) parseInt(ignore) +#define getFloat() parseFloat() +#define getFloat(ignore) parseFloat(ignore) +#define getString( pre_string, post_string, buffer, length) +readBytesBetween( pre_string, terminator, buffer, length) +*/ + +// This enumeration provides the lookahead options for parseInt(), parseFloat() +// The rules set out here are used until either the first valid character is found +// or a time out occurs due to lack of input. +enum LookaheadMode { + SKIP_ALL, // All invalid characters are ignored. + SKIP_NONE, // Nothing is skipped, and the stream is not touched unless the first waiting character is valid. + SKIP_WHITESPACE // Only tabs, spaces, line feeds & carriage returns are skipped. +}; + +#define NO_IGNORE_CHAR '\x01' // a char not found in a valid ASCII numeric field class Stream : public Print { protected: - unsigned long _timeout; // number of milliseconds to wait for the next char before aborting timed read - unsigned long _startMillis; // used for timeout measurement - int timedRead(); // private method to read stream with timeout - int timedPeek(); // private method to peek stream with timeout - int peekNextDigit(); // returns the next numeric digit in the stream or -1 if timeout + unsigned long _timeout; // number of milliseconds to wait for the next char before aborting timed read + unsigned long _startMillis; // used for timeout measurement + int timedRead(); // private method to read stream with timeout + int timedPeek(); // private method to peek stream with timeout + int peekNextDigit(LookaheadMode lookahead, bool detectDecimal); // returns the next numeric digit in the stream or -1 if timeout public: virtual int available() = 0; virtual int read() = 0; virtual int peek() = 0; - Stream() : _startMillis(0) { + Stream() { _timeout = 1000; } - virtual ~Stream() {} // parsing methods void setTimeout(unsigned long timeout); // sets maximum milliseconds to wait for stream data, default is 1 second - unsigned long getTimeout(void); + unsigned long getTimeout(void) { + return _timeout; + } bool find(const char *target); // reads data from the stream until the target string is found - bool find(uint8_t *target) { - return find((char *)target); + bool find(const uint8_t *target) { + return find((const char *)target); } // returns true if target string is found, false if timed out (see setTimeout) bool find(const char *target, size_t length); // reads data from the stream until the target string of given length is found bool find(const uint8_t *target, size_t length) { - return find((char *)target, length); + return find((const char *)target, length); } // returns true if target string is found, false if timed out @@ -76,22 +87,26 @@ class Stream : public Print { bool findUntil(const char *target, const char *terminator); // as find but search ends if the terminator string is found bool findUntil(const uint8_t *target, const char *terminator) { - return findUntil((char *)target, terminator); + return findUntil((const char *)target, terminator); } bool findUntil(const char *target, size_t targetLen, const char *terminate, size_t termLen); // as above but search ends if the terminate string is found bool findUntil(const uint8_t *target, size_t targetLen, const char *terminate, size_t termLen) { - return findUntil((char *)target, targetLen, terminate, termLen); + return findUntil((const char *)target, targetLen, terminate, termLen); } - long parseInt(); // returns the first valid (long) integer value from the current position. - // initial characters that are not digits (or the minus sign) are skipped - // integer is terminated by the first character that is not a digit. + long parseInt(LookaheadMode lookahead = SKIP_ALL, char ignore = NO_IGNORE_CHAR); + // returns the first valid (long) integer value from the current position. + // lookahead determines how parseInt looks ahead in the stream. + // See LookaheadMode enumeration at the top of the file. + // Lookahead is terminated by the first character that is not a valid part of an integer. + // Once parsing commences, 'ignore' will be skipped in the stream. - float parseFloat(); // float version of parseInt + float parseFloat(LookaheadMode lookahead = SKIP_ALL, char ignore = NO_IGNORE_CHAR); + // float version of parseInt - virtual size_t readBytes(char *buffer, size_t length); // read chars from stream into buffer - virtual size_t readBytes(uint8_t *buffer, size_t length) { + size_t readBytes(char *buffer, size_t length); // read chars from stream into buffer + size_t readBytes(uint8_t *buffer, size_t length) { return readBytes((char *)buffer, length); } // terminates if length characters have been read or timeout (see setTimeout) @@ -105,15 +120,19 @@ class Stream : public Print { // returns the number of characters placed in the buffer (0 means no valid data found) // Arduino String functions to be added here - virtual String readString(); + String readString(); String readStringUntil(char terminator); protected: - long parseInt(char skipChar); // as above but the given skipChar is ignored - // as above but the given skipChar is ignored - // this allows format characters (typically commas) in values to be ignored - - float parseFloat(char skipChar); // as above but the given skipChar is ignored + long parseInt(char ignore) { + return parseInt(SKIP_ALL, ignore); + } + float parseFloat(char ignore) { + return parseFloat(SKIP_ALL, ignore); + } + // These overload exists for compatibility with any class that has derived + // Stream and used parseFloat/Int with a custom ignore character. To keep + // the public API simple, these overload remains protected. struct MultiTarget { const char *str; // string you're searching for @@ -126,4 +145,4 @@ class Stream : public Print { int findMulti(struct MultiTarget *targets, int tCount); }; -#endif +#undef NO_IGNORE_CHAR From 8a87df3b952a1149d8fb5caa8006700ce89b25d4 Mon Sep 17 00:00:00 2001 From: TD-er Date: Fri, 13 Sep 2024 09:50:06 +0200 Subject: [PATCH 029/146] NetworkClientRxBuffer::clear() may not always clear (#10288) (#10331) Fixes: #10288 --- libraries/Network/src/NetworkClient.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/libraries/Network/src/NetworkClient.cpp b/libraries/Network/src/NetworkClient.cpp index 614a310de83..0782b74f2a9 100644 --- a/libraries/Network/src/NetworkClient.cpp +++ b/libraries/Network/src/NetworkClient.cpp @@ -148,9 +148,13 @@ class NetworkClientRxBuffer { void clear() { if (r_available()) { - fillBuffer(); + _pos = _fill; + while (fillBuffer()) { + _pos = _fill; + } } - _pos = _fill; + _pos = 0; + _fill = 0; } }; From 8c25325e181b3ec0717187c66bba15e7c2af2494 Mon Sep 17 00:00:00 2001 From: me-no-dev Date: Fri, 13 Sep 2024 11:10:12 +0300 Subject: [PATCH 030/146] fix(webserver): OTHER_AUTH will leak memory --- libraries/WebServer/src/WebServer.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/libraries/WebServer/src/WebServer.cpp b/libraries/WebServer/src/WebServer.cpp index 3996d3bdb0e..4f010b8391b 100644 --- a/libraries/WebServer/src/WebServer.cpp +++ b/libraries/WebServer/src/WebServer.cpp @@ -268,6 +268,7 @@ bool WebServer::authenticate(THandlerFunctionAuthCheck fn) { String *ret = fn(OTHER_AUTH, authReq, {}); if (ret) { log_v("Authentication Success"); + delete ret; return true; } } From ac0de431e7d2c27fe9c44f3003a5b54f71f031f8 Mon Sep 17 00:00:00 2001 From: Rodrigo Garcia Date: Fri, 13 Sep 2024 05:30:38 -0300 Subject: [PATCH 031/146] fix(arduino): rain maker common version (#10338) Fixes Arduino components for Windows 11 with IDF 5.1.4 when building Arduino as IDF component. --- idf_component.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/idf_component.yml b/idf_component.yml index 18742001118..21ec39b4d4a 100644 --- a/idf_component.yml +++ b/idf_component.yml @@ -68,7 +68,7 @@ dependencies: rules: - if: "target != esp32c2" espressif/rmaker_common: - version: "^1.4.3" + version: "^1.4.6" rules: - if: "target != esp32c2" espressif/esp_insights: From 9e60bbe4bc05e8d27050d23ce3a61a955c1851eb Mon Sep 17 00:00:00 2001 From: TD-er Date: Fri, 13 Sep 2024 10:39:54 +0200 Subject: [PATCH 032/146] [WebServer] Mark functions as const + reduce copy of strings (#10339) * [WebServer] Mark functions as const + reduce copy of strings * ci(pre-commit): Apply automatic fixes --------- Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> --- libraries/WebServer/src/Parsing.cpp | 4 ++-- libraries/WebServer/src/WebServer.cpp | 24 +++++++++---------- libraries/WebServer/src/WebServer.h | 34 +++++++++++++-------------- 3 files changed, 31 insertions(+), 31 deletions(-) diff --git a/libraries/WebServer/src/Parsing.cpp b/libraries/WebServer/src/Parsing.cpp index 3cb7b84a49a..875ca305753 100644 --- a/libraries/WebServer/src/Parsing.cpp +++ b/libraries/WebServer/src/Parsing.cpp @@ -280,7 +280,7 @@ bool WebServer::_collectHeader(const char *headerName, const char *headerValue) return false; } -void WebServer::_parseArguments(String data) { +void WebServer::_parseArguments(const String &data) { log_v("args: %s", data.c_str()); if (_currentArgs) { delete[] _currentArgs; @@ -387,7 +387,7 @@ int WebServer::_uploadReadByte(NetworkClient &client) { return res; } -bool WebServer::_parseForm(NetworkClient &client, String boundary, uint32_t len) { +bool WebServer::_parseForm(NetworkClient &client, const String &boundary, uint32_t len) { (void)len; log_v("Parse Form: Boundary: %s Length: %d", boundary.c_str(), len); String line; diff --git a/libraries/WebServer/src/WebServer.cpp b/libraries/WebServer/src/WebServer.cpp index 4f010b8391b..53c575d2c56 100644 --- a/libraries/WebServer/src/WebServer.cpp +++ b/libraries/WebServer/src/WebServer.cpp @@ -674,14 +674,14 @@ void WebServer::_streamFileCore(const size_t fileSize, const String &fileName, c send(code, contentType, ""); } -String WebServer::pathArg(unsigned int i) { +String WebServer::pathArg(unsigned int i) const { if (_currentHandler != nullptr) { return _currentHandler->pathArg(i); } return ""; } -String WebServer::arg(String name) { +String WebServer::arg(const String &name) const { for (int j = 0; j < _postArgsLen; ++j) { if (_postArgs[j].key == name) { return _postArgs[j].value; @@ -695,25 +695,25 @@ String WebServer::arg(String name) { return ""; } -String WebServer::arg(int i) { +String WebServer::arg(int i) const { if (i < _currentArgCount) { return _currentArgs[i].value; } return ""; } -String WebServer::argName(int i) { +String WebServer::argName(int i) const { if (i < _currentArgCount) { return _currentArgs[i].key; } return ""; } -int WebServer::args() { +int WebServer::args() const { return _currentArgCount; } -bool WebServer::hasArg(String name) { +bool WebServer::hasArg(const String &name) const { for (int j = 0; j < _postArgsLen; ++j) { if (_postArgs[j].key == name) { return true; @@ -727,7 +727,7 @@ bool WebServer::hasArg(String name) { return false; } -String WebServer::header(String name) { +String WebServer::header(const String &name) const { for (int i = 0; i < _headerKeysCount; ++i) { if (_currentHeaders[i].key.equalsIgnoreCase(name)) { return _currentHeaders[i].value; @@ -749,25 +749,25 @@ void WebServer::collectHeaders(const char *headerKeys[], const size_t headerKeys } } -String WebServer::header(int i) { +String WebServer::header(int i) const { if (i < _headerKeysCount) { return _currentHeaders[i].value; } return ""; } -String WebServer::headerName(int i) { +String WebServer::headerName(int i) const { if (i < _headerKeysCount) { return _currentHeaders[i].key; } return ""; } -int WebServer::headers() { +int WebServer::headers() const { return _headerKeysCount; } -bool WebServer::hasHeader(String name) { +bool WebServer::hasHeader(const String &name) const { for (int i = 0; i < _headerKeysCount; ++i) { if ((_currentHeaders[i].key.equalsIgnoreCase(name)) && (_currentHeaders[i].value.length() > 0)) { return true; @@ -776,7 +776,7 @@ bool WebServer::hasHeader(String name) { return false; } -String WebServer::hostHeader() { +String WebServer::hostHeader() const { return _hostHeader; } diff --git a/libraries/WebServer/src/WebServer.h b/libraries/WebServer/src/WebServer.h index a107e223b34..0f3405430a7 100644 --- a/libraries/WebServer/src/WebServer.h +++ b/libraries/WebServer/src/WebServer.h @@ -158,10 +158,10 @@ class WebServer { void onNotFound(THandlerFunction fn); //called when handler is not assigned void onFileUpload(THandlerFunction ufn); //handle file uploads - String uri() { + String uri() const { return _currentUri; } - HTTPMethod method() { + HTTPMethod method() const { return _currentMethod; } virtual NetworkClient &client() { @@ -174,24 +174,24 @@ class WebServer { return *_currentRaw; } - String pathArg(unsigned int i); // get request path argument by number - String arg(String name); // get request argument value by name - String arg(int i); // get request argument value by number - String argName(int i); // get request argument name by number - int args(); // get arguments count - bool hasArg(String name); // check if argument exists + String pathArg(unsigned int i) const; // get request path argument by number + String arg(const String &name) const; // get request argument value by name + String arg(int i) const; // get request argument value by number + String argName(int i) const; // get request argument name by number + int args() const; // get arguments count + bool hasArg(const String &name) const; // check if argument exists void collectHeaders(const char *headerKeys[], const size_t headerKeysCount); // set the request headers to collect - String header(String name); // get request header value by name - String header(int i); // get request header value by number - String headerName(int i); // get request header name by number - int headers(); // get header count - bool hasHeader(String name); // check if header exists + String header(const String &name) const; // get request header value by name + String header(int i) const; // get request header value by number + String headerName(int i) const; // get request header name by number + int headers() const; // get header count + bool hasHeader(const String &name) const; // check if header exists - int clientContentLength() { + int clientContentLength() const { return _clientContentLength; } // return "content-length" of incoming HTTP header from "_currentClient" - String hostHeader(); // get request host header if available or empty String if not + String hostHeader() const; // get request host header if available or empty String if not // send response to the client // code - HTTP response code, can be 200 or 404 @@ -240,9 +240,9 @@ class WebServer { void _handleRequest(); void _finalizeResponse(); bool _parseRequest(NetworkClient &client); - void _parseArguments(String data); + void _parseArguments(const String &data); static String _responseCodeToString(int code); - bool _parseForm(NetworkClient &client, String boundary, uint32_t len); + bool _parseForm(NetworkClient &client, const String &boundary, uint32_t len); bool _parseFormUploadAborted(); void _uploadWriteByte(uint8_t b); int _uploadReadByte(NetworkClient &client); From a7cec020df8f1a815bd8dfd2559f51a2216bcf1c Mon Sep 17 00:00:00 2001 From: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com> Date: Sun, 15 Sep 2024 20:15:24 -0300 Subject: [PATCH 033/146] Merge commit from fork --- .github/workflows/tests_results.yml | 26 ++++++++++++++++++---- .github/workflows/upload-idf-component.yml | 9 +++++++- 2 files changed, 30 insertions(+), 5 deletions(-) diff --git a/.github/workflows/tests_results.yml b/.github/workflows/tests_results.yml index 8dbe3d937ad..a255016c413 100644 --- a/.github/workflows/tests_results.yml +++ b/.github/workflows/tests_results.yml @@ -41,6 +41,24 @@ jobs: original_sha=$(cat ./artifacts/parent-artifacts/sha.txt) original_ref=$(cat ./artifacts/parent-artifacts/ref.txt) original_conclusion=$(cat ./artifacts/parent-artifacts/conclusion.txt) + + # Sanitize the values to avoid security issues + + # Event: Allow alphabetical characters and underscores + original_event=$(echo "$original_event" | tr -cd '[:alpha:]_') + + # Action: Allow alphabetical characters and underscores + original_action=$(echo "$original_action" | tr -cd '[:alpha:]_') + + # SHA: Allow alphanumeric characters + original_sha=$(echo "$original_sha" | tr -cd '[:alnum:]') + + # Ref: Allow alphanumeric characters, slashes, underscores, dots, and dashes + original_ref=$(echo "$original_ref" | tr -cd '[:alnum:]/_.-') + + # Conclusion: Allow alphabetical characters and underscores + original_conclusion=$(echo "$original_conclusion" | tr -cd '[:alpha:]_') + echo "original_event=$original_event" >> $GITHUB_ENV echo "original_action=$original_action" >> $GITHUB_ENV echo "original_sha=$original_sha" >> $GITHUB_ENV @@ -71,10 +89,10 @@ jobs: uses: actions/github-script@v7 with: script: | - const ref = '${{ env.original_ref }}'; + const ref = process.env.original_ref; const key_prefix = 'tests-' + ref + '-'; - if ('${{ env.original_event }}' == 'pull_request' && '${{ env.original_action }}' != 'closed') { + if (process.env.original_event == 'pull_request' && process.env.original_action != 'closed') { console.log('Skipping cache cleanup for open PR'); return; } @@ -104,12 +122,12 @@ jobs: script: | const owner = '${{ github.repository_owner }}'; const repo = '${{ github.repository }}'.split('/')[1]; - const sha = '${{ env.original_sha }}'; + const sha = process.env.original_sha; core.debug(`owner: ${owner}`); core.debug(`repo: ${repo}`); core.debug(`sha: ${sha}`); const { context: name, state } = (await github.rest.repos.createCommitStatus({ - context: 'Runtime Tests / Report results (${{ env.original_event }} -> workflow_run -> workflow_run)', + context: `Runtime Tests / Report results (${process.env.original_event} -> workflow_run -> workflow_run)`, owner: owner, repo: repo, sha: sha, diff --git a/.github/workflows/upload-idf-component.yml b/.github/workflows/upload-idf-component.yml index 22912de6da0..c716e8144c2 100644 --- a/.github/workflows/upload-idf-component.yml +++ b/.github/workflows/upload-idf-component.yml @@ -6,18 +6,25 @@ on: types: - completed +permissions: + contents: read + jobs: upload_components: runs-on: ubuntu-latest steps: - name: Get the release tag + env: + head_branch: ${{ github.event.workflow_run.head_branch }} run: | if [ "${{ github.event.workflow_run.conclusion }}" != "success" ]; then echo "Release workflow failed. Exiting..." exit 1 fi - branch=${{ github.event.workflow_run.head_branch }} + # Read and sanitize the branch/tag name + branch=$(echo "$head_branch" | tr -cd '[:alnum:]/_.-') + if [[ $branch == refs/tags/* ]]; then tag="${branch#refs/tags/}" elif [[ $branch =~ ^[0-9]+\.[0-9]+\.[0-9]+.*$ ]]; then From 44a484475c940b7b212b745b3c39798869589343 Mon Sep 17 00:00:00 2001 From: wurongmin <55608753+wurongmin@users.noreply.github.com> Date: Mon, 16 Sep 2024 17:26:21 +0800 Subject: [PATCH 034/146] add waveshare_esp32_touch_amoled_241 (#10342) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat(variants): add waveshare_esp32_touch_amoled_241 * feat(boards variants): add waveshare_esp32_touch_amoled_241 * ci(pre-commit): Apply automatic fixes --------- Co-authored-by: Jan Procházka <90197375+P-R-O-C-H-Y@users.noreply.github.com> Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> --- boards.txt | 202 ++++++++++++++++++ .../pins_arduino.h | 60 ++++++ 2 files changed, 262 insertions(+) create mode 100644 variants/waveshare_esp32_touch_amoled_241/pins_arduino.h diff --git a/boards.txt b/boards.txt index 55f8743a91f..ecb66378e8d 100644 --- a/boards.txt +++ b/boards.txt @@ -41426,3 +41426,205 @@ jczn_2432s028r.menu.ZigbeeMode.zczr.build.zigbee_mode=-DZIGBEE_MODE_ZCZR jczn_2432s028r.menu.ZigbeeMode.zczr.build.zigbee_libs=-lesp_zb_api_zczr -lesp_zb_cli_command -lzboss_stack.zczr -lzboss_port ############################################################## + +waveshare_esp32_touch_amoled_241.name=Waveshare ESP32-Touch-AMOLED-2.41 +waveshare_esp32_touch_amoled_241.vid.0=0x303a +waveshare_esp32_touch_amoled_241.pid.0=0x8242 +waveshare_esp32_touch_amoled_241.upload_port.0.vid=0x303a +waveshare_esp32_touch_amoled_241.upload_port.0.pid=0x8242 + +waveshare_esp32_touch_amoled_241.bootloader.tool=esptool_py +waveshare_esp32_touch_amoled_241.bootloader.tool.default=esptool_py + +waveshare_esp32_touch_amoled_241.upload.tool=esptool_py +waveshare_esp32_touch_amoled_241.upload.tool.default=esptool_py +waveshare_esp32_touch_amoled_241.upload.tool.network=esp_ota + +waveshare_esp32_touch_amoled_241.upload.maximum_size=1310720 + +waveshare_esp32_touch_amoled_241.upload.maximum_data_size=327680 +waveshare_esp32_touch_amoled_241.upload.flags= +waveshare_esp32_touch_amoled_241.upload.extra_flags= +waveshare_esp32_touch_amoled_241.upload.use_1200bps_touch=false +waveshare_esp32_touch_amoled_241.upload.wait_for_upload_port=false + +waveshare_esp32_touch_amoled_241.serial.disableDTR=false +waveshare_esp32_touch_amoled_241.serial.disableRTS=false + +waveshare_esp32_touch_amoled_241.build.tarch=xtensa +waveshare_esp32_touch_amoled_241.build.bootloader_addr=0x0 +waveshare_esp32_touch_amoled_241.build.target=esp32s3 +waveshare_esp32_touch_amoled_241.build.mcu=esp32s3 +waveshare_esp32_touch_amoled_241.build.core=esp32 +waveshare_esp32_touch_amoled_241.build.variant=waveshare_esp32_touch_amoled_241 +waveshare_esp32_touch_amoled_241.build.board=WAVESHARE_ESP32_TOUCH_AMOLED_241 + +waveshare_esp32_touch_amoled_241.build.usb_mode=1 +waveshare_esp32_touch_amoled_241.build.cdc_on_boot=0 +waveshare_esp32_touch_amoled_241.build.msc_on_boot=0 +waveshare_esp32_touch_amoled_241.build.dfu_on_boot=0 +waveshare_esp32_touch_amoled_241.build.f_cpu=240000000L +waveshare_esp32_touch_amoled_241.build.flash_size=16MB + +waveshare_esp32_touch_amoled_241.build.flash_freq=80m +waveshare_esp32_touch_amoled_241.build.flash_mode=dio +waveshare_esp32_touch_amoled_241.build.boot=qio +waveshare_esp32_touch_amoled_241.build.boot_freq=80m +waveshare_esp32_touch_amoled_241.build.partitions=default +waveshare_esp32_touch_amoled_241.build.defines= +waveshare_esp32_touch_amoled_241.build.loop_core= +waveshare_esp32_touch_amoled_241.build.event_core= +waveshare_esp32_touch_amoled_241.build.psram_type=qspi +waveshare_esp32_touch_amoled_241.build.memory_type={build.boot}_{build.psram_type} + +waveshare_esp32_touch_amoled_241.menu.PSRAM.disabled=Disabled +waveshare_esp32_touch_amoled_241.menu.PSRAM.disabled.build.defines= +waveshare_esp32_touch_amoled_241.menu.PSRAM.disabled.build.psram_type=qspi +waveshare_esp32_touch_amoled_241.menu.PSRAM.enabled=Enabled +waveshare_esp32_touch_amoled_241.menu.PSRAM.enabled.build.defines=-DBOARD_HAS_PSRAM +waveshare_esp32_touch_amoled_241.menu.PSRAM.enabled.build.psram_type=opi + +waveshare_esp32_touch_amoled_241.menu.FlashMode.qio=QIO 80MHz +waveshare_esp32_touch_amoled_241.menu.FlashMode.qio.build.flash_mode=dio +waveshare_esp32_touch_amoled_241.menu.FlashMode.qio.build.boot=qio +waveshare_esp32_touch_amoled_241.menu.FlashMode.qio.build.boot_freq=80m +waveshare_esp32_touch_amoled_241.menu.FlashMode.qio.build.flash_freq=80m +waveshare_esp32_touch_amoled_241.menu.FlashMode.qio120=QIO 120MHz +waveshare_esp32_touch_amoled_241.menu.FlashMode.qio120.build.flash_mode=dio +waveshare_esp32_touch_amoled_241.menu.FlashMode.qio120.build.boot=qio +waveshare_esp32_touch_amoled_241.menu.FlashMode.qio120.build.boot_freq=120m +waveshare_esp32_touch_amoled_241.menu.FlashMode.qio120.build.flash_freq=80m + +waveshare_esp32_touch_amoled_241.menu.LoopCore.1=Core 1 +waveshare_esp32_touch_amoled_241.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1 +waveshare_esp32_touch_amoled_241.menu.LoopCore.0=Core 0 +waveshare_esp32_touch_amoled_241.menu.LoopCore.0.build.loop_core=-DARDUINO_RUNNING_CORE=0 + +waveshare_esp32_touch_amoled_241.menu.EventsCore.1=Core 1 +waveshare_esp32_touch_amoled_241.menu.EventsCore.1.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=1 +waveshare_esp32_touch_amoled_241.menu.EventsCore.0=Core 0 +waveshare_esp32_touch_amoled_241.menu.EventsCore.0.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=0 + +waveshare_esp32_touch_amoled_241.menu.USBMode.hwcdc=Hardware CDC and JTAG +waveshare_esp32_touch_amoled_241.menu.USBMode.hwcdc.build.usb_mode=1 +waveshare_esp32_touch_amoled_241.menu.USBMode.default=USB-OTG (TinyUSB) +waveshare_esp32_touch_amoled_241.menu.USBMode.default.build.usb_mode=0 + +waveshare_esp32_touch_amoled_241.menu.CDCOnBoot.default=Disabled +waveshare_esp32_touch_amoled_241.menu.CDCOnBoot.default.build.cdc_on_boot=0 +waveshare_esp32_touch_amoled_241.menu.CDCOnBoot.cdc=Enabled +waveshare_esp32_touch_amoled_241.menu.CDCOnBoot.cdc.build.cdc_on_boot=1 + +waveshare_esp32_touch_amoled_241.menu.MSCOnBoot.default=Disabled +waveshare_esp32_touch_amoled_241.menu.MSCOnBoot.default.build.msc_on_boot=0 +waveshare_esp32_touch_amoled_241.menu.MSCOnBoot.msc=Enabled (Requires USB-OTG Mode) +waveshare_esp32_touch_amoled_241.menu.MSCOnBoot.msc.build.msc_on_boot=1 + +waveshare_esp32_touch_amoled_241.menu.DFUOnBoot.default=Disabled +waveshare_esp32_touch_amoled_241.menu.DFUOnBoot.default.build.dfu_on_boot=0 +waveshare_esp32_touch_amoled_241.menu.DFUOnBoot.dfu=Enabled (Requires USB-OTG Mode) +waveshare_esp32_touch_amoled_241.menu.DFUOnBoot.dfu.build.dfu_on_boot=1 + +waveshare_esp32_touch_amoled_241.menu.UploadMode.default=UART0 / Hardware CDC +waveshare_esp32_touch_amoled_241.menu.UploadMode.default.upload.use_1200bps_touch=false +waveshare_esp32_touch_amoled_241.menu.UploadMode.default.upload.wait_for_upload_port=false +waveshare_esp32_touch_amoled_241.menu.UploadMode.cdc=USB-OTG CDC (TinyUSB) +waveshare_esp32_touch_amoled_241.menu.UploadMode.cdc.upload.use_1200bps_touch=true +waveshare_esp32_touch_amoled_241.menu.UploadMode.cdc.upload.wait_for_upload_port=true + +waveshare_esp32_touch_amoled_241.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) +waveshare_esp32_touch_amoled_241.menu.PartitionScheme.default=Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS) +waveshare_esp32_touch_amoled_241.menu.PartitionScheme.default.build.partitions=default +waveshare_esp32_touch_amoled_241.menu.PartitionScheme.defaultffat=Default 4MB with ffat (1.2MB APP/1.5MB FATFS) + +waveshare_esp32_touch_amoled_241.menu.PartitionScheme.defaultffat.build.partitions=default_ffat +waveshare_esp32_touch_amoled_241.menu.PartitionScheme.no_ota=No OTA (2MB APP/2MB SPIFFS) +waveshare_esp32_touch_amoled_241.menu.PartitionScheme.no_ota.build.partitions=no_ota +waveshare_esp32_touch_amoled_241.menu.PartitionScheme.no_ota.upload.maximum_size=2097152 +waveshare_esp32_touch_amoled_241.menu.PartitionScheme.noota_3g=No OTA (1MB APP/3MB SPIFFS) +waveshare_esp32_touch_amoled_241.menu.PartitionScheme.noota_3g.build.partitions=noota_3g +waveshare_esp32_touch_amoled_241.menu.PartitionScheme.noota_3g.upload.maximum_size=1048576 +waveshare_esp32_touch_amoled_241.menu.PartitionScheme.noota_ffat=No OTA (2MB APP/2MB FATFS) +waveshare_esp32_touch_amoled_241.menu.PartitionScheme.noota_ffat.build.partitions=noota_ffat +waveshare_esp32_touch_amoled_241.menu.PartitionScheme.noota_ffat.upload.maximum_size=2097152 +waveshare_esp32_touch_amoled_241.menu.PartitionScheme.noota_3gffat=No OTA (1MB APP/3MB FATFS) +waveshare_esp32_touch_amoled_241.menu.PartitionScheme.noota_3gffat.build.partitions=noota_3gffat +waveshare_esp32_touch_amoled_241.menu.PartitionScheme.noota_3gffat.upload.maximum_size=1048576 +waveshare_esp32_touch_amoled_241.menu.PartitionScheme.huge_app=Huge APP (3MB No OTA/1MB SPIFFS) +waveshare_esp32_touch_amoled_241.menu.PartitionScheme.huge_app.build.partitions=huge_app +waveshare_esp32_touch_amoled_241.menu.PartitionScheme.huge_app.upload.maximum_size=3145728 +waveshare_esp32_touch_amoled_241.menu.PartitionScheme.min_spiffs=Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS) +waveshare_esp32_touch_amoled_241.menu.PartitionScheme.min_spiffs.build.partitions=min_spiffs +waveshare_esp32_touch_amoled_241.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080 +waveshare_esp32_touch_amoled_241.menu.PartitionScheme.rainmaker=RainMaker 4MB +waveshare_esp32_touch_amoled_241.menu.PartitionScheme.rainmaker.build.partitions=rainmaker +waveshare_esp32_touch_amoled_241.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +waveshare_esp32_touch_amoled_241.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +waveshare_esp32_touch_amoled_241.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +waveshare_esp32_touch_amoled_241.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 +waveshare_esp32_touch_amoled_241.menu.PartitionScheme.fatflash=16M Flash (2MB APP/12.5MB FATFS) +waveshare_esp32_touch_amoled_241.menu.PartitionScheme.fatflash.build.partitions=ffat +waveshare_esp32_touch_amoled_241.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 + +waveshare_esp32_touch_amoled_241.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) +waveshare_esp32_touch_amoled_241.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB +waveshare_esp32_touch_amoled_241.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 + +waveshare_esp32_touch_amoled_241.menu.PartitionScheme.otanofs=OTA no FS (2MB APP with OTA) +waveshare_esp32_touch_amoled_241.menu.PartitionScheme.otanofs.build.custom_partitions=partitions_otanofs_4MB +waveshare_esp32_touch_amoled_241.menu.PartitionScheme.otanofs.upload.maximum_size=2031616 +waveshare_esp32_touch_amoled_241.menu.PartitionScheme.all_app=Max APP (4MB APP no OTA) +waveshare_esp32_touch_amoled_241.menu.PartitionScheme.all_app.build.custom_partitions=partitions_all_app_4MB +waveshare_esp32_touch_amoled_241.menu.PartitionScheme.all_app.upload.maximum_size=4128768 + +waveshare_esp32_touch_amoled_241.menu.PartitionScheme.custom=Custom +waveshare_esp32_touch_amoled_241.menu.PartitionScheme.custom.build.partitions= +waveshare_esp32_touch_amoled_241.menu.PartitionScheme.custom.upload.maximum_size=16777216 + +waveshare_esp32_touch_amoled_241.menu.CPUFreq.240=240MHz (WiFi) +waveshare_esp32_touch_amoled_241.menu.CPUFreq.240.build.f_cpu=240000000L +waveshare_esp32_touch_amoled_241.menu.CPUFreq.160=160MHz (WiFi) +waveshare_esp32_touch_amoled_241.menu.CPUFreq.160.build.f_cpu=160000000L +waveshare_esp32_touch_amoled_241.menu.CPUFreq.80=80MHz (WiFi) +waveshare_esp32_touch_amoled_241.menu.CPUFreq.80.build.f_cpu=80000000L +waveshare_esp32_touch_amoled_241.menu.CPUFreq.40=40MHz +waveshare_esp32_touch_amoled_241.menu.CPUFreq.40.build.f_cpu=40000000L +waveshare_esp32_touch_amoled_241.menu.CPUFreq.20=20MHz +waveshare_esp32_touch_amoled_241.menu.CPUFreq.20.build.f_cpu=20000000L +waveshare_esp32_touch_amoled_241.menu.CPUFreq.10=10MHz +waveshare_esp32_touch_amoled_241.menu.CPUFreq.10.build.f_cpu=10000000L + +waveshare_esp32_touch_amoled_241.menu.UploadSpeed.921600=921600 +waveshare_esp32_touch_amoled_241.menu.UploadSpeed.921600.upload.speed=921600 +waveshare_esp32_touch_amoled_241.menu.UploadSpeed.115200=115200 +waveshare_esp32_touch_amoled_241.menu.UploadSpeed.115200.upload.speed=115200 +waveshare_esp32_touch_amoled_241.menu.UploadSpeed.256000.windows=256000 +waveshare_esp32_touch_amoled_241.menu.UploadSpeed.256000.upload.speed=256000 +waveshare_esp32_touch_amoled_241.menu.UploadSpeed.230400.windows.upload.speed=256000 +waveshare_esp32_touch_amoled_241.menu.UploadSpeed.230400=230400 +waveshare_esp32_touch_amoled_241.menu.UploadSpeed.230400.upload.speed=230400 +waveshare_esp32_touch_amoled_241.menu.UploadSpeed.460800.linux=460800 +waveshare_esp32_touch_amoled_241.menu.UploadSpeed.460800.macosx=460800 +waveshare_esp32_touch_amoled_241.menu.UploadSpeed.460800.upload.speed=460800 +waveshare_esp32_touch_amoled_241.menu.UploadSpeed.512000.windows=512000 +waveshare_esp32_touch_amoled_241.menu.UploadSpeed.512000.upload.speed=512000 + +waveshare_esp32_touch_amoled_241.menu.DebugLevel.none=None +waveshare_esp32_touch_amoled_241.menu.DebugLevel.none.build.code_debug=0 +waveshare_esp32_touch_amoled_241.menu.DebugLevel.error=Error +waveshare_esp32_touch_amoled_241.menu.DebugLevel.error.build.code_debug=1 +waveshare_esp32_touch_amoled_241.menu.DebugLevel.warn=Warn +waveshare_esp32_touch_amoled_241.menu.DebugLevel.warn.build.code_debug=2 +waveshare_esp32_touch_amoled_241.menu.DebugLevel.info=Info +waveshare_esp32_touch_amoled_241.menu.DebugLevel.info.build.code_debug=3 +waveshare_esp32_touch_amoled_241.menu.DebugLevel.debug=Debug +waveshare_esp32_touch_amoled_241.menu.DebugLevel.debug.build.code_debug=4 +waveshare_esp32_touch_amoled_241.menu.DebugLevel.verbose=Verbose +waveshare_esp32_touch_amoled_241.menu.DebugLevel.verbose.build.code_debug=5 + +waveshare_esp32_touch_amoled_241.menu.EraseFlash.none=Disabled +waveshare_esp32_touch_amoled_241.menu.EraseFlash.none.upload.erase_cmd= +waveshare_esp32_touch_amoled_241.menu.EraseFlash.all=Enabled +waveshare_esp32_touch_amoled_241.menu.EraseFlash.all.upload.erase_cmd=-e + +############################################################## diff --git a/variants/waveshare_esp32_touch_amoled_241/pins_arduino.h b/variants/waveshare_esp32_touch_amoled_241/pins_arduino.h new file mode 100644 index 00000000000..7c26553fc4c --- /dev/null +++ b/variants/waveshare_esp32_touch_amoled_241/pins_arduino.h @@ -0,0 +1,60 @@ +#ifndef Pins_Arduino_h +#define Pins_Arduino_h + +#include +#include "soc/soc_caps.h" + +// BN: ESP32 Family Device +#define USB_VID 0x303a +#define USB_PID 0x8242 + +#define USB_MANUFACTURER "Waveshare" +#define USB_PRODUCT "ESP32-Touch-AMOLED-2.41" +#define USB_SERIAL "" + +// display QSPI SPI2 +#define QSPI_CS 9 +#define QSPI_SCK 10 +#define QSPI_D0 11 +#define QSPI_D1 12 +#define QSPI_D2 13 +#define QSPI_D3 14 +#define AMOLED_RESET 21 +#define AMOLED_TE -1 +#define AMOLED_PWR_EN -1 + +// Touch I2C +#define TP_SCL 48 +#define TP_SDA 47 +#define TP_RST -1 +#define TP_INT -1 + +// Onboard RTC for PCF85063 +#define RTC_SCL 48 +#define RTC_SDA 47 +#define RTC_ADDRESS 0x51 +#define RTC_INT -1 + +// Onboard QMI8658 IMU +#define QMI8658_SDA 47 +#define QMI8658_SCL 48 +#define QMI8658_ADDRESS 0x6b +#define QMI8658_INT1 -1 + +// Partial voltage measurement method +#define BAT_ADC 17 + +// Def for I2C that shares the IMU I2C pins +static const uint8_t SDA = 47; +static const uint8_t SCL = 48; + +// UART0 pins +static const uint8_t TX = 43; +static const uint8_t RX = 44; + +//esp32s3-PSFlash SPI1/SPI0 +static const uint8_t SS = 34; // FSPICS0 +static const uint8_t MOSI = 35; // FSPID +static const uint8_t MISO = 37; // FSPIQ +static const uint8_t SCK = 36; // FSPICLK +#endif /* Pins_Arduino_h */ From 3978870f9f1250c18c01db14f69bcbbccfbeffaf Mon Sep 17 00:00:00 2001 From: TD-er Date: Mon, 16 Sep 2024 11:26:43 +0200 Subject: [PATCH 035/146] [WiFiScan] Allow allocation in _scanDone() to fail and prevent memory leak (#10335) * [WiFiScan] Allow allocation to fail and prevent memory leak When there are many AP's seen during a scan, the allocation of `_scanResult` may fail. Thus add `(std::nothrow)` to the `new` call. Also it is possible the array was still present before allocating a new one. * [WiFiScan] Use nullptr instead of 0 As suggested by @me-no-dev --- libraries/WiFi/src/WiFiScan.cpp | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/libraries/WiFi/src/WiFiScan.cpp b/libraries/WiFi/src/WiFiScan.cpp index 9ebf28f8fde..ffacc57f093 100644 --- a/libraries/WiFi/src/WiFiScan.cpp +++ b/libraries/WiFi/src/WiFiScan.cpp @@ -48,7 +48,7 @@ uint32_t WiFiScanClass::_scanTimeout = 60000; uint16_t WiFiScanClass::_scanCount = 0; uint32_t WiFiScanClass::_scanActiveMinTime = 100; -void *WiFiScanClass::_scanResult = 0; +void *WiFiScanClass::_scanResult = nullptr; void WiFiScanClass::setScanTimeout(uint32_t ms) { WiFiScanClass::_scanTimeout = ms; @@ -117,13 +117,18 @@ int16_t */ void WiFiScanClass::_scanDone() { esp_wifi_scan_get_ap_num(&(WiFiScanClass::_scanCount)); + if (WiFiScanClass::_scanResult) { + delete[] reinterpret_cast(WiFiScanClass::_scanResult); + WiFiScanClass::_scanResult = nullptr; + } + if (WiFiScanClass::_scanCount) { - WiFiScanClass::_scanResult = new wifi_ap_record_t[WiFiScanClass::_scanCount]; + WiFiScanClass::_scanResult = new (std::nothrow) wifi_ap_record_t[WiFiScanClass::_scanCount]; if (!WiFiScanClass::_scanResult) { WiFiScanClass::_scanCount = 0; } else if (esp_wifi_scan_get_ap_records(&(WiFiScanClass::_scanCount), (wifi_ap_record_t *)_scanResult) != ESP_OK) { delete[] reinterpret_cast(WiFiScanClass::_scanResult); - WiFiScanClass::_scanResult = 0; + WiFiScanClass::_scanResult = nullptr; WiFiScanClass::_scanCount = 0; } } @@ -176,7 +181,7 @@ void WiFiScanClass::scanDelete() { WiFiGenericClass::clearStatusBits(WIFI_SCAN_DONE_BIT); if (WiFiScanClass::_scanResult) { delete[] reinterpret_cast(WiFiScanClass::_scanResult); - WiFiScanClass::_scanResult = 0; + WiFiScanClass::_scanResult = nullptr; WiFiScanClass::_scanCount = 0; } } From 2f8902654013d153753e59ac02ba4ff769be94bf Mon Sep 17 00:00:00 2001 From: Lee Leahy <58274669+LeeLeahy2@users.noreply.github.com> Date: Sun, 15 Sep 2024 23:28:26 -1000 Subject: [PATCH 036/146] =?UTF-8?q?Fix(NetworkEvents):=20Don't=20skip=20ev?= =?UTF-8?q?ent=20callbacks=20in=20NetworkEvents::remo=E2=80=A6=20(#10337)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Fix(NetworkEvents): Don't skip event callbacks in NetworkEvents::removeEvent Fixes Issue 10318 Includes pull request 10321 that fixes 10316 This change: * Adds code to find the event callbacks * Issues error when duplicate callbacks insertion attempts are made * Issues error when callbacks are not found during removal * Fix(NetworkEvents): Don't skip event callbacks in NetworkEvents::removeEvent Fixes Issue 10318 Includes pull request 10321 that fixes 10316 This change: * Adds code to find the event callbacks * Issues warning when duplicate callbacks insertion attempts are made * Issues warning when callbacks are not found during removal --------- Co-authored-by: Me No Dev --- libraries/Network/src/NetworkEvents.cpp | 141 ++++++++++++++++++++---- libraries/Network/src/NetworkEvents.h | 3 + 2 files changed, 121 insertions(+), 23 deletions(-) diff --git a/libraries/Network/src/NetworkEvents.cpp b/libraries/Network/src/NetworkEvents.cpp index 3643734b413..bb02282e9b3 100644 --- a/libraries/Network/src/NetworkEvents.cpp +++ b/libraries/Network/src/NetworkEvents.cpp @@ -134,10 +134,73 @@ void NetworkEvents::checkForEvent() { free(event); } +uint32_t NetworkEvents::findEvent(NetworkEventCb cbEvent, arduino_event_id_t event) { + uint32_t i; + + if (!cbEvent) { + return cbEventList.size(); + } + + for (i = 0; i < cbEventList.size(); i++) { + NetworkEventCbList_t entry = cbEventList[i]; + if (entry.cb == cbEvent && entry.event == event) { + break; + } + } + return i; +} + +template static size_t getStdFunctionAddress(std::function f) { + typedef T(fnType)(U...); + fnType **fnPointer = f.template target(); + if (fnPointer != nullptr) { + return (size_t)*fnPointer; + } + return (size_t)fnPointer; +} + +uint32_t NetworkEvents::findEvent(NetworkEventFuncCb cbEvent, arduino_event_id_t event) { + uint32_t i; + + if (!cbEvent) { + return cbEventList.size(); + } + + for (i = 0; i < cbEventList.size(); i++) { + NetworkEventCbList_t entry = cbEventList[i]; + if (getStdFunctionAddress(entry.fcb) == getStdFunctionAddress(cbEvent) && entry.event == event) { + break; + } + } + return i; +} + +uint32_t NetworkEvents::findEvent(NetworkEventSysCb cbEvent, arduino_event_id_t event) { + uint32_t i; + + if (!cbEvent) { + return cbEventList.size(); + } + + for (i = 0; i < cbEventList.size(); i++) { + NetworkEventCbList_t entry = cbEventList[i]; + if (entry.scb == cbEvent && entry.event == event) { + break; + } + } + return i; +} + network_event_handle_t NetworkEvents::onEvent(NetworkEventCb cbEvent, arduino_event_id_t event) { if (!cbEvent) { return 0; } + + if (findEvent(cbEvent, event) < cbEventList.size()) { + log_w("Attempt to add duplicate event handler!"); + return 0; + } + NetworkEventCbList_t newEventHandler; newEventHandler.cb = cbEvent; newEventHandler.fcb = NULL; @@ -151,6 +214,12 @@ network_event_handle_t NetworkEvents::onEvent(NetworkEventFuncCb cbEvent, arduin if (!cbEvent) { return 0; } + + if (findEvent(cbEvent, event) < cbEventList.size()) { + log_w("Attempt to add duplicate event handler!"); + return 0; + } + NetworkEventCbList_t newEventHandler; newEventHandler.cb = NULL; newEventHandler.fcb = cbEvent; @@ -164,6 +233,12 @@ network_event_handle_t NetworkEvents::onEvent(NetworkEventSysCb cbEvent, arduino if (!cbEvent) { return 0; } + + if (findEvent(cbEvent, event) < cbEventList.size()) { + log_w("Attempt to add duplicate event handler!"); + return 0; + } + NetworkEventCbList_t newEventHandler; newEventHandler.cb = NULL; newEventHandler.fcb = NULL; @@ -177,6 +252,12 @@ network_event_handle_t NetworkEvents::onSysEvent(NetworkEventCb cbEvent, arduino if (!cbEvent) { return 0; } + + if (findEvent(cbEvent, event) < cbEventList.size()) { + log_w("Attempt to add duplicate event handler!"); + return 0; + } + NetworkEventCbList_t newEventHandler; newEventHandler.cb = cbEvent; newEventHandler.fcb = NULL; @@ -190,6 +271,12 @@ network_event_handle_t NetworkEvents::onSysEvent(NetworkEventFuncCb cbEvent, ard if (!cbEvent) { return 0; } + + if (findEvent(cbEvent, event) < cbEventList.size()) { + log_w("Attempt to add duplicate event handler!"); + return 0; + } + NetworkEventCbList_t newEventHandler; newEventHandler.cb = NULL; newEventHandler.fcb = cbEvent; @@ -203,6 +290,12 @@ network_event_handle_t NetworkEvents::onSysEvent(NetworkEventSysCb cbEvent, ardu if (!cbEvent) { return 0; } + + if (findEvent(cbEvent, event) < cbEventList.size()) { + log_w("Attempt to add duplicate event handler!"); + return 0; + } + NetworkEventCbList_t newEventHandler; newEventHandler.cb = NULL; newEventHandler.fcb = NULL; @@ -213,51 +306,51 @@ network_event_handle_t NetworkEvents::onSysEvent(NetworkEventSysCb cbEvent, ardu } void NetworkEvents::removeEvent(NetworkEventCb cbEvent, arduino_event_id_t event) { + uint32_t i; + if (!cbEvent) { return; } - for (uint32_t i = 0; i < cbEventList.size(); i++) { - NetworkEventCbList_t entry = cbEventList[i]; - if (entry.cb == cbEvent && entry.event == event) { - cbEventList.erase(cbEventList.begin() + i); - } + i = findEvent(cbEvent, event); + if (i >= cbEventList.size()) { + log_w("Event handler not found!"); + return; } -} -template static size_t getStdFunctionAddress(std::function f) { - typedef T(fnType)(U...); - fnType **fnPointer = f.template target(); - if (fnPointer != nullptr) { - return (size_t)*fnPointer; - } - return (size_t)fnPointer; + cbEventList.erase(cbEventList.begin() + i); } void NetworkEvents::removeEvent(NetworkEventFuncCb cbEvent, arduino_event_id_t event) { + uint32_t i; + if (!cbEvent) { return; } - for (uint32_t i = 0; i < cbEventList.size(); i++) { - NetworkEventCbList_t entry = cbEventList[i]; - if (getStdFunctionAddress(entry.fcb) == getStdFunctionAddress(cbEvent) && entry.event == event) { - cbEventList.erase(cbEventList.begin() + i); - } + i = findEvent(cbEvent, event); + if (i >= cbEventList.size()) { + log_w("Event handler not found!"); + return; } + + cbEventList.erase(cbEventList.begin() + i); } void NetworkEvents::removeEvent(NetworkEventSysCb cbEvent, arduino_event_id_t event) { + uint32_t i; + if (!cbEvent) { return; } - for (uint32_t i = 0; i < cbEventList.size(); i++) { - NetworkEventCbList_t entry = cbEventList[i]; - if (entry.scb == cbEvent && entry.event == event) { - cbEventList.erase(cbEventList.begin() + i); - } + i = findEvent(cbEvent, event); + if (i >= cbEventList.size()) { + log_w("Event handler not found!"); + return; } + + cbEventList.erase(cbEventList.begin() + i); } void NetworkEvents::removeEvent(network_event_handle_t id) { @@ -265,8 +358,10 @@ void NetworkEvents::removeEvent(network_event_handle_t id) { NetworkEventCbList_t entry = cbEventList[i]; if (entry.id == id) { cbEventList.erase(cbEventList.begin() + i); + return; } } + log_w("Event handler not found!"); } int NetworkEvents::setStatusBits(int bits) { diff --git a/libraries/Network/src/NetworkEvents.h b/libraries/Network/src/NetworkEvents.h index a68fde59572..ac324d19841 100644 --- a/libraries/Network/src/NetworkEvents.h +++ b/libraries/Network/src/NetworkEvents.h @@ -155,6 +155,9 @@ class NetworkEvents { protected: bool initNetworkEvents(); + uint32_t findEvent(NetworkEventCb cbEvent, arduino_event_id_t event); + uint32_t findEvent(NetworkEventFuncCb cbEvent, arduino_event_id_t event); + uint32_t findEvent(NetworkEventSysCb cbEvent, arduino_event_id_t event); network_event_handle_t onSysEvent(NetworkEventCb cbEvent, arduino_event_id_t event = ARDUINO_EVENT_MAX); network_event_handle_t onSysEvent(NetworkEventFuncCb cbEvent, arduino_event_id_t event = ARDUINO_EVENT_MAX); network_event_handle_t onSysEvent(NetworkEventSysCb cbEvent, arduino_event_id_t event = ARDUINO_EVENT_MAX); From e989445b621a27b72be7064bd6b609f1f1895377 Mon Sep 17 00:00:00 2001 From: TD-er Date: Tue, 17 Sep 2024 10:54:48 +0200 Subject: [PATCH 037/146] Fix missing virtual declarations in Stream.h (#10348) * Fix missing virtual declarations in Stream.h Fixes some changes made in PR #10328 * Remove the virtual destructor as Print class has one As pointed out by @JAndrassy --- cores/esp32/Stream.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cores/esp32/Stream.h b/cores/esp32/Stream.h index 123694f6fc6..37346cdb99f 100644 --- a/cores/esp32/Stream.h +++ b/cores/esp32/Stream.h @@ -105,8 +105,8 @@ class Stream : public Print { float parseFloat(LookaheadMode lookahead = SKIP_ALL, char ignore = NO_IGNORE_CHAR); // float version of parseInt - size_t readBytes(char *buffer, size_t length); // read chars from stream into buffer - size_t readBytes(uint8_t *buffer, size_t length) { + virtual size_t readBytes(char *buffer, size_t length); // read chars from stream into buffer + virtual size_t readBytes(uint8_t *buffer, size_t length) { return readBytes((char *)buffer, length); } // terminates if length characters have been read or timeout (see setTimeout) @@ -120,7 +120,7 @@ class Stream : public Print { // returns the number of characters placed in the buffer (0 means no valid data found) // Arduino String functions to be added here - String readString(); + virtual String readString(); String readStringUntil(char terminator); protected: From c55f5aa5065b6ebfc0c1e8f5ef7f36b7e1605f71 Mon Sep 17 00:00:00 2001 From: ClockeNessMnstr Date: Tue, 17 Sep 2024 07:58:01 -0400 Subject: [PATCH 038/146] change(esp_now_serial): No teardown on retry limit (#10293) * change(ESP_NOW_Serial): No teardown on retry limit After max retries is met once the ESP_NOW_Serial_Class performs "end()". This removes the peer from ESP_NOW. Further messages to and from ESP_NOW_Serial are not received or sent. Peer should stay in ESP_NOW to re-establish connection even with data loss. This change will "retry and drop" the data piece by piece instead of aborting the connection. * feat(espnow): Add remove on fail parameter * feat(espnow): By default keep the peer when sending fails --------- Co-authored-by: Jan Prochazka <90197375+P-R-O-C-H-Y@users.noreply.github.com> --- libraries/ESP_NOW/src/ESP32_NOW_Serial.cpp | 13 ++++++++++--- libraries/ESP_NOW/src/ESP32_NOW_Serial.h | 3 ++- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/libraries/ESP_NOW/src/ESP32_NOW_Serial.cpp b/libraries/ESP_NOW/src/ESP32_NOW_Serial.cpp index e4220d45675..17740d1331a 100644 --- a/libraries/ESP_NOW/src/ESP32_NOW_Serial.cpp +++ b/libraries/ESP_NOW/src/ESP32_NOW_Serial.cpp @@ -11,7 +11,7 @@ * */ -ESP_NOW_Serial_Class::ESP_NOW_Serial_Class(const uint8_t *mac_addr, uint8_t channel, wifi_interface_t iface, const uint8_t *lmk) +ESP_NOW_Serial_Class::ESP_NOW_Serial_Class(const uint8_t *mac_addr, uint8_t channel, wifi_interface_t iface, const uint8_t *lmk, bool remove_on_fail) : ESP_NOW_Peer(mac_addr, channel, iface, lmk) { tx_ring_buf = NULL; rx_queue = NULL; @@ -19,6 +19,7 @@ ESP_NOW_Serial_Class::ESP_NOW_Serial_Class(const uint8_t *mac_addr, uint8_t chan queued_size = 0; queued_buff = NULL; resend_count = 0; + _remove_on_fail = remove_on_fail; } ESP_NOW_Serial_Class::~ESP_NOW_Serial_Class() { @@ -264,9 +265,15 @@ void ESP_NOW_Serial_Class::onSent(bool success) { //the data is lost in this case vRingbufferReturnItem(tx_ring_buf, queued_buff); queued_buff = NULL; - xSemaphoreGive(tx_sem); - end(); log_e(MACSTR " : RE-SEND_MAX[%u]", MAC2STR(addr()), resend_count); + //if we are not able to send the data and remove_on_fail is set, remove the peer + if (_remove_on_fail) { + xSemaphoreGive(tx_sem); + end(); + return; + } + //log_d(MACSTR ": NEXT", MAC2STR(addr())); + checkForTxData(); } } } diff --git a/libraries/ESP_NOW/src/ESP32_NOW_Serial.h b/libraries/ESP_NOW/src/ESP32_NOW_Serial.h index 42349f6c20b..b1f41456320 100644 --- a/libraries/ESP_NOW/src/ESP32_NOW_Serial.h +++ b/libraries/ESP_NOW/src/ESP32_NOW_Serial.h @@ -17,12 +17,13 @@ class ESP_NOW_Serial_Class : public Stream, public ESP_NOW_Peer { size_t queued_size; uint8_t *queued_buff; size_t resend_count; + bool _remove_on_fail; bool checkForTxData(); size_t tryToSend(); public: - ESP_NOW_Serial_Class(const uint8_t *mac_addr, uint8_t channel, wifi_interface_t iface = WIFI_IF_AP, const uint8_t *lmk = NULL); + ESP_NOW_Serial_Class(const uint8_t *mac_addr, uint8_t channel, wifi_interface_t iface = WIFI_IF_AP, const uint8_t *lmk = NULL, bool remove_on_fail = false); ~ESP_NOW_Serial_Class(); size_t setRxBufferSize(size_t); size_t setTxBufferSize(size_t); From 100b3c67cf8c6857a5ac7e45dce5fb0ad817a824 Mon Sep 17 00:00:00 2001 From: TD-er Date: Wed, 18 Sep 2024 10:20:19 +0200 Subject: [PATCH 039/146] Reduce copy of Strings in WebServer RequestHandler (#10345) * Reduce copy of Strings in WebServer RequestHandler * ci(pre-commit): Apply automatic fixes --------- Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> --- .../examples/WebServer/WebServer.ino | 8 ++--- .../WebServer/src/detail/RequestHandler.h | 18 ++++++------ .../src/detail/RequestHandlersImpl.h | 29 ++++++++++--------- 3 files changed, 28 insertions(+), 27 deletions(-) diff --git a/libraries/WebServer/examples/WebServer/WebServer.ino b/libraries/WebServer/examples/WebServer/WebServer.ino index 9871826bb6f..809a95ce1f3 100644 --- a/libraries/WebServer/examples/WebServer/WebServer.ino +++ b/libraries/WebServer/examples/WebServer/WebServer.ino @@ -146,16 +146,16 @@ public: // @param requestMethod method of the http request line. // @param requestUri request resource from the http request line. // @return true when method can be handled. - bool canHandle(WebServer &server, HTTPMethod requestMethod, String uri) override { + bool canHandle(WebServer &server, HTTPMethod requestMethod, const String &uri) override { return ((requestMethod == HTTP_POST) || (requestMethod == HTTP_DELETE)); } // canHandle() - bool canUpload(WebServer &server, String uri) override { + bool canUpload(WebServer &server, const String &uri) override { // only allow upload on root fs level. return (uri == "/"); } // canUpload() - bool handle(WebServer &server, HTTPMethod requestMethod, String requestUri) override { + bool handle(WebServer &server, HTTPMethod requestMethod, const String &requestUri) override { // ensure that filename starts with '/' String fName = requestUri; if (!fName.startsWith("/")) { @@ -177,7 +177,7 @@ public: } // handle() // uploading process - void upload(WebServer UNUSED &server, String requestUri, HTTPUpload &upload) override { + void upload(WebServer UNUSED &server, const String &requestUri, HTTPUpload &upload) override { // ensure that filename starts with '/' static size_t uploadSize; diff --git a/libraries/WebServer/src/detail/RequestHandler.h b/libraries/WebServer/src/detail/RequestHandler.h index f19e7ab4613..c730ce25bcb 100644 --- a/libraries/WebServer/src/detail/RequestHandler.h +++ b/libraries/WebServer/src/detail/RequestHandler.h @@ -12,16 +12,16 @@ class RequestHandler { note: old handler API for backward compatibility */ - virtual bool canHandle(HTTPMethod method, String uri) { + virtual bool canHandle(HTTPMethod method, const String &uri) { (void)method; (void)uri; return false; } - virtual bool canUpload(String uri) { + virtual bool canUpload(const String &uri) { (void)uri; return false; } - virtual bool canRaw(String uri) { + virtual bool canRaw(const String &uri) { (void)uri; return false; } @@ -30,34 +30,34 @@ class RequestHandler { note: new handler API with support for filters etc. */ - virtual bool canHandle(WebServer &server, HTTPMethod method, String uri) { + virtual bool canHandle(WebServer &server, HTTPMethod method, const String &uri) { (void)server; (void)method; (void)uri; return false; } - virtual bool canUpload(WebServer &server, String uri) { + virtual bool canUpload(WebServer &server, const String &uri) { (void)server; (void)uri; return false; } - virtual bool canRaw(WebServer &server, String uri) { + virtual bool canRaw(WebServer &server, const String &uri) { (void)server; (void)uri; return false; } - virtual bool handle(WebServer &server, HTTPMethod requestMethod, String requestUri) { + virtual bool handle(WebServer &server, HTTPMethod requestMethod, const String &requestUri) { (void)server; (void)requestMethod; (void)requestUri; return false; } - virtual void upload(WebServer &server, String requestUri, HTTPUpload &upload) { + virtual void upload(WebServer &server, const String &requestUri, HTTPUpload &upload) { (void)server; (void)requestUri; (void)upload; } - virtual void raw(WebServer &server, String requestUri, HTTPRaw &raw) { + virtual void raw(WebServer &server, const String &requestUri, HTTPRaw &raw) { (void)server; (void)requestUri; (void)raw; diff --git a/libraries/WebServer/src/detail/RequestHandlersImpl.h b/libraries/WebServer/src/detail/RequestHandlersImpl.h index b6eae6adea0..c66c294dd33 100644 --- a/libraries/WebServer/src/detail/RequestHandlersImpl.h +++ b/libraries/WebServer/src/detail/RequestHandlersImpl.h @@ -21,7 +21,7 @@ class FunctionRequestHandler : public RequestHandler { delete _uri; } - bool canHandle(HTTPMethod requestMethod, String requestUri) override { + bool canHandle(HTTPMethod requestMethod, const String &requestUri) override { if (_method != HTTP_ANY && _method != requestMethod) { return false; } @@ -29,7 +29,7 @@ class FunctionRequestHandler : public RequestHandler { return _uri->canHandle(requestUri, pathArgs); } - bool canUpload(String requestUri) override { + bool canUpload(const String &requestUri) override { if (!_ufn || !canHandle(HTTP_POST, requestUri)) { return false; } @@ -37,7 +37,7 @@ class FunctionRequestHandler : public RequestHandler { return true; } - bool canRaw(String requestUri) override { + bool canRaw(const String &requestUri) override { if (!_ufn || _method == HTTP_GET) { return false; } @@ -45,7 +45,7 @@ class FunctionRequestHandler : public RequestHandler { return true; } - bool canHandle(WebServer &server, HTTPMethod requestMethod, String requestUri) override { + bool canHandle(WebServer &server, HTTPMethod requestMethod, const String &requestUri) override { if (_method != HTTP_ANY && _method != requestMethod) { return false; } @@ -53,7 +53,7 @@ class FunctionRequestHandler : public RequestHandler { return _uri->canHandle(requestUri, pathArgs) && (_filter != NULL ? _filter(server) : true); } - bool canUpload(WebServer &server, String requestUri) override { + bool canUpload(WebServer &server, const String &requestUri) override { if (!_ufn || !canHandle(server, HTTP_POST, requestUri)) { return false; } @@ -61,7 +61,7 @@ class FunctionRequestHandler : public RequestHandler { return true; } - bool canRaw(WebServer &server, String requestUri) override { + bool canRaw(WebServer &server, const String &requestUri) override { if (!_ufn || _method == HTTP_GET || (_filter != NULL ? _filter(server) == false : false)) { return false; } @@ -69,7 +69,7 @@ class FunctionRequestHandler : public RequestHandler { return true; } - bool handle(WebServer &server, HTTPMethod requestMethod, String requestUri) override { + bool handle(WebServer &server, HTTPMethod requestMethod, const String &requestUri) override { if (!canHandle(server, requestMethod, requestUri)) { return false; } @@ -78,14 +78,14 @@ class FunctionRequestHandler : public RequestHandler { return true; } - void upload(WebServer &server, String requestUri, HTTPUpload &upload) override { + void upload(WebServer &server, const String &requestUri, HTTPUpload &upload) override { (void)upload; if (canUpload(server, requestUri)) { _ufn(); } } - void raw(WebServer &server, String requestUri, HTTPRaw &raw) override { + void raw(WebServer &server, const String &requestUri, HTTPRaw &raw) override { (void)raw; if (canRaw(server, requestUri)) { _ufn(); @@ -118,7 +118,7 @@ class StaticRequestHandler : public RequestHandler { _baseUriLength = _uri.length(); } - bool canHandle(HTTPMethod requestMethod, String requestUri) override { + bool canHandle(HTTPMethod requestMethod, const String &requestUri) override { if (requestMethod != HTTP_GET) { return false; } @@ -130,7 +130,7 @@ class StaticRequestHandler : public RequestHandler { return true; } - bool canHandle(WebServer &server, HTTPMethod requestMethod, String requestUri) override { + bool canHandle(WebServer &server, HTTPMethod requestMethod, const String &requestUri) override { if (requestMethod != HTTP_GET) { return false; } @@ -146,7 +146,7 @@ class StaticRequestHandler : public RequestHandler { return true; } - bool handle(WebServer &server, HTTPMethod requestMethod, String requestUri) override { + bool handle(WebServer &server, HTTPMethod requestMethod, const String &requestUri) override { if (!canHandle(server, requestMethod, requestUri)) { return false; } @@ -154,13 +154,12 @@ class StaticRequestHandler : public RequestHandler { log_v("StaticRequestHandler::handle: request=%s _uri=%s\r\n", requestUri.c_str(), _uri.c_str()); String path(_path); - String eTagCode; if (!_isFile) { // Base URI doesn't point to a file. // If a directory is requested, look for index file. if (requestUri.endsWith("/")) { - requestUri += "index.htm"; + return handle(server, requestMethod, String(requestUri + "index.htm")); } // Append whatever follows this URI in request to get the file path. @@ -184,6 +183,8 @@ class StaticRequestHandler : public RequestHandler { return false; } + String eTagCode; + if (server._eTagEnabled) { if (server._eTagFunction) { eTagCode = (server._eTagFunction)(_fs, path); From 462870df2404eb1a5693a627474c2aa5c2da5e78 Mon Sep 17 00:00:00 2001 From: wurongmin <55608753+wurongmin@users.noreply.github.com> Date: Wed, 18 Sep 2024 16:20:36 +0800 Subject: [PATCH 040/146] fix(variant): Rename waveshare esp32-s3 board. (#10355) * feat(variants): modify the one I successfully merged earlier * ci(pre-commit): Apply automatic fixes --------- Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> --- boards.txt | 398 +++++++++--------- .../pins_arduino.h | 2 +- 2 files changed, 200 insertions(+), 200 deletions(-) rename variants/{waveshare_esp32_touch_amoled_241 => waveshare_esp32_s3_touch_amoled_241}/pins_arduino.h (96%) diff --git a/boards.txt b/boards.txt index ecb66378e8d..88fb110b099 100644 --- a/boards.txt +++ b/boards.txt @@ -41427,204 +41427,204 @@ jczn_2432s028r.menu.ZigbeeMode.zczr.build.zigbee_libs=-lesp_zb_api_zczr -lesp_zb ############################################################## -waveshare_esp32_touch_amoled_241.name=Waveshare ESP32-Touch-AMOLED-2.41 -waveshare_esp32_touch_amoled_241.vid.0=0x303a -waveshare_esp32_touch_amoled_241.pid.0=0x8242 -waveshare_esp32_touch_amoled_241.upload_port.0.vid=0x303a -waveshare_esp32_touch_amoled_241.upload_port.0.pid=0x8242 - -waveshare_esp32_touch_amoled_241.bootloader.tool=esptool_py -waveshare_esp32_touch_amoled_241.bootloader.tool.default=esptool_py - -waveshare_esp32_touch_amoled_241.upload.tool=esptool_py -waveshare_esp32_touch_amoled_241.upload.tool.default=esptool_py -waveshare_esp32_touch_amoled_241.upload.tool.network=esp_ota - -waveshare_esp32_touch_amoled_241.upload.maximum_size=1310720 - -waveshare_esp32_touch_amoled_241.upload.maximum_data_size=327680 -waveshare_esp32_touch_amoled_241.upload.flags= -waveshare_esp32_touch_amoled_241.upload.extra_flags= -waveshare_esp32_touch_amoled_241.upload.use_1200bps_touch=false -waveshare_esp32_touch_amoled_241.upload.wait_for_upload_port=false - -waveshare_esp32_touch_amoled_241.serial.disableDTR=false -waveshare_esp32_touch_amoled_241.serial.disableRTS=false - -waveshare_esp32_touch_amoled_241.build.tarch=xtensa -waveshare_esp32_touch_amoled_241.build.bootloader_addr=0x0 -waveshare_esp32_touch_amoled_241.build.target=esp32s3 -waveshare_esp32_touch_amoled_241.build.mcu=esp32s3 -waveshare_esp32_touch_amoled_241.build.core=esp32 -waveshare_esp32_touch_amoled_241.build.variant=waveshare_esp32_touch_amoled_241 -waveshare_esp32_touch_amoled_241.build.board=WAVESHARE_ESP32_TOUCH_AMOLED_241 - -waveshare_esp32_touch_amoled_241.build.usb_mode=1 -waveshare_esp32_touch_amoled_241.build.cdc_on_boot=0 -waveshare_esp32_touch_amoled_241.build.msc_on_boot=0 -waveshare_esp32_touch_amoled_241.build.dfu_on_boot=0 -waveshare_esp32_touch_amoled_241.build.f_cpu=240000000L -waveshare_esp32_touch_amoled_241.build.flash_size=16MB - -waveshare_esp32_touch_amoled_241.build.flash_freq=80m -waveshare_esp32_touch_amoled_241.build.flash_mode=dio -waveshare_esp32_touch_amoled_241.build.boot=qio -waveshare_esp32_touch_amoled_241.build.boot_freq=80m -waveshare_esp32_touch_amoled_241.build.partitions=default -waveshare_esp32_touch_amoled_241.build.defines= -waveshare_esp32_touch_amoled_241.build.loop_core= -waveshare_esp32_touch_amoled_241.build.event_core= -waveshare_esp32_touch_amoled_241.build.psram_type=qspi -waveshare_esp32_touch_amoled_241.build.memory_type={build.boot}_{build.psram_type} - -waveshare_esp32_touch_amoled_241.menu.PSRAM.disabled=Disabled -waveshare_esp32_touch_amoled_241.menu.PSRAM.disabled.build.defines= -waveshare_esp32_touch_amoled_241.menu.PSRAM.disabled.build.psram_type=qspi -waveshare_esp32_touch_amoled_241.menu.PSRAM.enabled=Enabled -waveshare_esp32_touch_amoled_241.menu.PSRAM.enabled.build.defines=-DBOARD_HAS_PSRAM -waveshare_esp32_touch_amoled_241.menu.PSRAM.enabled.build.psram_type=opi - -waveshare_esp32_touch_amoled_241.menu.FlashMode.qio=QIO 80MHz -waveshare_esp32_touch_amoled_241.menu.FlashMode.qio.build.flash_mode=dio -waveshare_esp32_touch_amoled_241.menu.FlashMode.qio.build.boot=qio -waveshare_esp32_touch_amoled_241.menu.FlashMode.qio.build.boot_freq=80m -waveshare_esp32_touch_amoled_241.menu.FlashMode.qio.build.flash_freq=80m -waveshare_esp32_touch_amoled_241.menu.FlashMode.qio120=QIO 120MHz -waveshare_esp32_touch_amoled_241.menu.FlashMode.qio120.build.flash_mode=dio -waveshare_esp32_touch_amoled_241.menu.FlashMode.qio120.build.boot=qio -waveshare_esp32_touch_amoled_241.menu.FlashMode.qio120.build.boot_freq=120m -waveshare_esp32_touch_amoled_241.menu.FlashMode.qio120.build.flash_freq=80m - -waveshare_esp32_touch_amoled_241.menu.LoopCore.1=Core 1 -waveshare_esp32_touch_amoled_241.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1 -waveshare_esp32_touch_amoled_241.menu.LoopCore.0=Core 0 -waveshare_esp32_touch_amoled_241.menu.LoopCore.0.build.loop_core=-DARDUINO_RUNNING_CORE=0 - -waveshare_esp32_touch_amoled_241.menu.EventsCore.1=Core 1 -waveshare_esp32_touch_amoled_241.menu.EventsCore.1.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=1 -waveshare_esp32_touch_amoled_241.menu.EventsCore.0=Core 0 -waveshare_esp32_touch_amoled_241.menu.EventsCore.0.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=0 - -waveshare_esp32_touch_amoled_241.menu.USBMode.hwcdc=Hardware CDC and JTAG -waveshare_esp32_touch_amoled_241.menu.USBMode.hwcdc.build.usb_mode=1 -waveshare_esp32_touch_amoled_241.menu.USBMode.default=USB-OTG (TinyUSB) -waveshare_esp32_touch_amoled_241.menu.USBMode.default.build.usb_mode=0 - -waveshare_esp32_touch_amoled_241.menu.CDCOnBoot.default=Disabled -waveshare_esp32_touch_amoled_241.menu.CDCOnBoot.default.build.cdc_on_boot=0 -waveshare_esp32_touch_amoled_241.menu.CDCOnBoot.cdc=Enabled -waveshare_esp32_touch_amoled_241.menu.CDCOnBoot.cdc.build.cdc_on_boot=1 - -waveshare_esp32_touch_amoled_241.menu.MSCOnBoot.default=Disabled -waveshare_esp32_touch_amoled_241.menu.MSCOnBoot.default.build.msc_on_boot=0 -waveshare_esp32_touch_amoled_241.menu.MSCOnBoot.msc=Enabled (Requires USB-OTG Mode) -waveshare_esp32_touch_amoled_241.menu.MSCOnBoot.msc.build.msc_on_boot=1 - -waveshare_esp32_touch_amoled_241.menu.DFUOnBoot.default=Disabled -waveshare_esp32_touch_amoled_241.menu.DFUOnBoot.default.build.dfu_on_boot=0 -waveshare_esp32_touch_amoled_241.menu.DFUOnBoot.dfu=Enabled (Requires USB-OTG Mode) -waveshare_esp32_touch_amoled_241.menu.DFUOnBoot.dfu.build.dfu_on_boot=1 - -waveshare_esp32_touch_amoled_241.menu.UploadMode.default=UART0 / Hardware CDC -waveshare_esp32_touch_amoled_241.menu.UploadMode.default.upload.use_1200bps_touch=false -waveshare_esp32_touch_amoled_241.menu.UploadMode.default.upload.wait_for_upload_port=false -waveshare_esp32_touch_amoled_241.menu.UploadMode.cdc=USB-OTG CDC (TinyUSB) -waveshare_esp32_touch_amoled_241.menu.UploadMode.cdc.upload.use_1200bps_touch=true -waveshare_esp32_touch_amoled_241.menu.UploadMode.cdc.upload.wait_for_upload_port=true - -waveshare_esp32_touch_amoled_241.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) -waveshare_esp32_touch_amoled_241.menu.PartitionScheme.default=Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS) -waveshare_esp32_touch_amoled_241.menu.PartitionScheme.default.build.partitions=default -waveshare_esp32_touch_amoled_241.menu.PartitionScheme.defaultffat=Default 4MB with ffat (1.2MB APP/1.5MB FATFS) - -waveshare_esp32_touch_amoled_241.menu.PartitionScheme.defaultffat.build.partitions=default_ffat -waveshare_esp32_touch_amoled_241.menu.PartitionScheme.no_ota=No OTA (2MB APP/2MB SPIFFS) -waveshare_esp32_touch_amoled_241.menu.PartitionScheme.no_ota.build.partitions=no_ota -waveshare_esp32_touch_amoled_241.menu.PartitionScheme.no_ota.upload.maximum_size=2097152 -waveshare_esp32_touch_amoled_241.menu.PartitionScheme.noota_3g=No OTA (1MB APP/3MB SPIFFS) -waveshare_esp32_touch_amoled_241.menu.PartitionScheme.noota_3g.build.partitions=noota_3g -waveshare_esp32_touch_amoled_241.menu.PartitionScheme.noota_3g.upload.maximum_size=1048576 -waveshare_esp32_touch_amoled_241.menu.PartitionScheme.noota_ffat=No OTA (2MB APP/2MB FATFS) -waveshare_esp32_touch_amoled_241.menu.PartitionScheme.noota_ffat.build.partitions=noota_ffat -waveshare_esp32_touch_amoled_241.menu.PartitionScheme.noota_ffat.upload.maximum_size=2097152 -waveshare_esp32_touch_amoled_241.menu.PartitionScheme.noota_3gffat=No OTA (1MB APP/3MB FATFS) -waveshare_esp32_touch_amoled_241.menu.PartitionScheme.noota_3gffat.build.partitions=noota_3gffat -waveshare_esp32_touch_amoled_241.menu.PartitionScheme.noota_3gffat.upload.maximum_size=1048576 -waveshare_esp32_touch_amoled_241.menu.PartitionScheme.huge_app=Huge APP (3MB No OTA/1MB SPIFFS) -waveshare_esp32_touch_amoled_241.menu.PartitionScheme.huge_app.build.partitions=huge_app -waveshare_esp32_touch_amoled_241.menu.PartitionScheme.huge_app.upload.maximum_size=3145728 -waveshare_esp32_touch_amoled_241.menu.PartitionScheme.min_spiffs=Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS) -waveshare_esp32_touch_amoled_241.menu.PartitionScheme.min_spiffs.build.partitions=min_spiffs -waveshare_esp32_touch_amoled_241.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080 -waveshare_esp32_touch_amoled_241.menu.PartitionScheme.rainmaker=RainMaker 4MB -waveshare_esp32_touch_amoled_241.menu.PartitionScheme.rainmaker.build.partitions=rainmaker -waveshare_esp32_touch_amoled_241.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 -waveshare_esp32_touch_amoled_241.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB -waveshare_esp32_touch_amoled_241.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB -waveshare_esp32_touch_amoled_241.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 -waveshare_esp32_touch_amoled_241.menu.PartitionScheme.fatflash=16M Flash (2MB APP/12.5MB FATFS) -waveshare_esp32_touch_amoled_241.menu.PartitionScheme.fatflash.build.partitions=ffat -waveshare_esp32_touch_amoled_241.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 - -waveshare_esp32_touch_amoled_241.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) -waveshare_esp32_touch_amoled_241.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB -waveshare_esp32_touch_amoled_241.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 - -waveshare_esp32_touch_amoled_241.menu.PartitionScheme.otanofs=OTA no FS (2MB APP with OTA) -waveshare_esp32_touch_amoled_241.menu.PartitionScheme.otanofs.build.custom_partitions=partitions_otanofs_4MB -waveshare_esp32_touch_amoled_241.menu.PartitionScheme.otanofs.upload.maximum_size=2031616 -waveshare_esp32_touch_amoled_241.menu.PartitionScheme.all_app=Max APP (4MB APP no OTA) -waveshare_esp32_touch_amoled_241.menu.PartitionScheme.all_app.build.custom_partitions=partitions_all_app_4MB -waveshare_esp32_touch_amoled_241.menu.PartitionScheme.all_app.upload.maximum_size=4128768 - -waveshare_esp32_touch_amoled_241.menu.PartitionScheme.custom=Custom -waveshare_esp32_touch_amoled_241.menu.PartitionScheme.custom.build.partitions= -waveshare_esp32_touch_amoled_241.menu.PartitionScheme.custom.upload.maximum_size=16777216 - -waveshare_esp32_touch_amoled_241.menu.CPUFreq.240=240MHz (WiFi) -waveshare_esp32_touch_amoled_241.menu.CPUFreq.240.build.f_cpu=240000000L -waveshare_esp32_touch_amoled_241.menu.CPUFreq.160=160MHz (WiFi) -waveshare_esp32_touch_amoled_241.menu.CPUFreq.160.build.f_cpu=160000000L -waveshare_esp32_touch_amoled_241.menu.CPUFreq.80=80MHz (WiFi) -waveshare_esp32_touch_amoled_241.menu.CPUFreq.80.build.f_cpu=80000000L -waveshare_esp32_touch_amoled_241.menu.CPUFreq.40=40MHz -waveshare_esp32_touch_amoled_241.menu.CPUFreq.40.build.f_cpu=40000000L -waveshare_esp32_touch_amoled_241.menu.CPUFreq.20=20MHz -waveshare_esp32_touch_amoled_241.menu.CPUFreq.20.build.f_cpu=20000000L -waveshare_esp32_touch_amoled_241.menu.CPUFreq.10=10MHz -waveshare_esp32_touch_amoled_241.menu.CPUFreq.10.build.f_cpu=10000000L - -waveshare_esp32_touch_amoled_241.menu.UploadSpeed.921600=921600 -waveshare_esp32_touch_amoled_241.menu.UploadSpeed.921600.upload.speed=921600 -waveshare_esp32_touch_amoled_241.menu.UploadSpeed.115200=115200 -waveshare_esp32_touch_amoled_241.menu.UploadSpeed.115200.upload.speed=115200 -waveshare_esp32_touch_amoled_241.menu.UploadSpeed.256000.windows=256000 -waveshare_esp32_touch_amoled_241.menu.UploadSpeed.256000.upload.speed=256000 -waveshare_esp32_touch_amoled_241.menu.UploadSpeed.230400.windows.upload.speed=256000 -waveshare_esp32_touch_amoled_241.menu.UploadSpeed.230400=230400 -waveshare_esp32_touch_amoled_241.menu.UploadSpeed.230400.upload.speed=230400 -waveshare_esp32_touch_amoled_241.menu.UploadSpeed.460800.linux=460800 -waveshare_esp32_touch_amoled_241.menu.UploadSpeed.460800.macosx=460800 -waveshare_esp32_touch_amoled_241.menu.UploadSpeed.460800.upload.speed=460800 -waveshare_esp32_touch_amoled_241.menu.UploadSpeed.512000.windows=512000 -waveshare_esp32_touch_amoled_241.menu.UploadSpeed.512000.upload.speed=512000 - -waveshare_esp32_touch_amoled_241.menu.DebugLevel.none=None -waveshare_esp32_touch_amoled_241.menu.DebugLevel.none.build.code_debug=0 -waveshare_esp32_touch_amoled_241.menu.DebugLevel.error=Error -waveshare_esp32_touch_amoled_241.menu.DebugLevel.error.build.code_debug=1 -waveshare_esp32_touch_amoled_241.menu.DebugLevel.warn=Warn -waveshare_esp32_touch_amoled_241.menu.DebugLevel.warn.build.code_debug=2 -waveshare_esp32_touch_amoled_241.menu.DebugLevel.info=Info -waveshare_esp32_touch_amoled_241.menu.DebugLevel.info.build.code_debug=3 -waveshare_esp32_touch_amoled_241.menu.DebugLevel.debug=Debug -waveshare_esp32_touch_amoled_241.menu.DebugLevel.debug.build.code_debug=4 -waveshare_esp32_touch_amoled_241.menu.DebugLevel.verbose=Verbose -waveshare_esp32_touch_amoled_241.menu.DebugLevel.verbose.build.code_debug=5 - -waveshare_esp32_touch_amoled_241.menu.EraseFlash.none=Disabled -waveshare_esp32_touch_amoled_241.menu.EraseFlash.none.upload.erase_cmd= -waveshare_esp32_touch_amoled_241.menu.EraseFlash.all=Enabled -waveshare_esp32_touch_amoled_241.menu.EraseFlash.all.upload.erase_cmd=-e +waveshare_esp32_s3_touch_amoled_241.name=Waveshare ESP32-S3-Touch-AMOLED-2.41 +waveshare_esp32_s3_touch_amoled_241.vid.0=0x303a +waveshare_esp32_s3_touch_amoled_241.pid.0=0x8242 +waveshare_esp32_s3_touch_amoled_241.upload_port.0.vid=0x303a +waveshare_esp32_s3_touch_amoled_241.upload_port.0.pid=0x8242 + +waveshare_esp32_s3_touch_amoled_241.bootloader.tool=esptool_py +waveshare_esp32_s3_touch_amoled_241.bootloader.tool.default=esptool_py + +waveshare_esp32_s3_touch_amoled_241.upload.tool=esptool_py +waveshare_esp32_s3_touch_amoled_241.upload.tool.default=esptool_py +waveshare_esp32_s3_touch_amoled_241.upload.tool.network=esp_ota + +waveshare_esp32_s3_touch_amoled_241.upload.maximum_size=1310720 + +waveshare_esp32_s3_touch_amoled_241.upload.maximum_data_size=327680 +waveshare_esp32_s3_touch_amoled_241.upload.flags= +waveshare_esp32_s3_touch_amoled_241.upload.extra_flags= +waveshare_esp32_s3_touch_amoled_241.upload.use_1200bps_touch=false +waveshare_esp32_s3_touch_amoled_241.upload.wait_for_upload_port=false + +waveshare_esp32_s3_touch_amoled_241.serial.disableDTR=false +waveshare_esp32_s3_touch_amoled_241.serial.disableRTS=false + +waveshare_esp32_s3_touch_amoled_241.build.tarch=xtensa +waveshare_esp32_s3_touch_amoled_241.build.bootloader_addr=0x0 +waveshare_esp32_s3_touch_amoled_241.build.target=esp32s3 +waveshare_esp32_s3_touch_amoled_241.build.mcu=esp32s3 +waveshare_esp32_s3_touch_amoled_241.build.core=esp32 +waveshare_esp32_s3_touch_amoled_241.build.variant=waveshare_esp32_s3_touch_amoled_241 +waveshare_esp32_s3_touch_amoled_241.build.board=WAVESHARE_ESP32_S3_TOUCH_AMOLED_241 + +waveshare_esp32_s3_touch_amoled_241.build.usb_mode=1 +waveshare_esp32_s3_touch_amoled_241.build.cdc_on_boot=0 +waveshare_esp32_s3_touch_amoled_241.build.msc_on_boot=0 +waveshare_esp32_s3_touch_amoled_241.build.dfu_on_boot=0 +waveshare_esp32_s3_touch_amoled_241.build.f_cpu=240000000L +waveshare_esp32_s3_touch_amoled_241.build.flash_size=16MB + +waveshare_esp32_s3_touch_amoled_241.build.flash_freq=80m +waveshare_esp32_s3_touch_amoled_241.build.flash_mode=dio +waveshare_esp32_s3_touch_amoled_241.build.boot=qio +waveshare_esp32_s3_touch_amoled_241.build.boot_freq=80m +waveshare_esp32_s3_touch_amoled_241.build.partitions=default +waveshare_esp32_s3_touch_amoled_241.build.defines= +waveshare_esp32_s3_touch_amoled_241.build.loop_core= +waveshare_esp32_s3_touch_amoled_241.build.event_core= +waveshare_esp32_s3_touch_amoled_241.build.psram_type=qspi +waveshare_esp32_s3_touch_amoled_241.build.memory_type={build.boot}_{build.psram_type} + +waveshare_esp32_s3_touch_amoled_241.menu.PSRAM.disabled=Disabled +waveshare_esp32_s3_touch_amoled_241.menu.PSRAM.disabled.build.defines= +waveshare_esp32_s3_touch_amoled_241.menu.PSRAM.disabled.build.psram_type=qspi +waveshare_esp32_s3_touch_amoled_241.menu.PSRAM.enabled=Enabled +waveshare_esp32_s3_touch_amoled_241.menu.PSRAM.enabled.build.defines=-DBOARD_HAS_PSRAM +waveshare_esp32_s3_touch_amoled_241.menu.PSRAM.enabled.build.psram_type=opi + +waveshare_esp32_s3_touch_amoled_241.menu.FlashMode.qio=QIO 80MHz +waveshare_esp32_s3_touch_amoled_241.menu.FlashMode.qio.build.flash_mode=dio +waveshare_esp32_s3_touch_amoled_241.menu.FlashMode.qio.build.boot=qio +waveshare_esp32_s3_touch_amoled_241.menu.FlashMode.qio.build.boot_freq=80m +waveshare_esp32_s3_touch_amoled_241.menu.FlashMode.qio.build.flash_freq=80m +waveshare_esp32_s3_touch_amoled_241.menu.FlashMode.qio120=QIO 120MHz +waveshare_esp32_s3_touch_amoled_241.menu.FlashMode.qio120.build.flash_mode=dio +waveshare_esp32_s3_touch_amoled_241.menu.FlashMode.qio120.build.boot=qio +waveshare_esp32_s3_touch_amoled_241.menu.FlashMode.qio120.build.boot_freq=120m +waveshare_esp32_s3_touch_amoled_241.menu.FlashMode.qio120.build.flash_freq=80m + +waveshare_esp32_s3_touch_amoled_241.menu.LoopCore.1=Core 1 +waveshare_esp32_s3_touch_amoled_241.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1 +waveshare_esp32_s3_touch_amoled_241.menu.LoopCore.0=Core 0 +waveshare_esp32_s3_touch_amoled_241.menu.LoopCore.0.build.loop_core=-DARDUINO_RUNNING_CORE=0 + +waveshare_esp32_s3_touch_amoled_241.menu.EventsCore.1=Core 1 +waveshare_esp32_s3_touch_amoled_241.menu.EventsCore.1.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=1 +waveshare_esp32_s3_touch_amoled_241.menu.EventsCore.0=Core 0 +waveshare_esp32_s3_touch_amoled_241.menu.EventsCore.0.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=0 + +waveshare_esp32_s3_touch_amoled_241.menu.USBMode.hwcdc=Hardware CDC and JTAG +waveshare_esp32_s3_touch_amoled_241.menu.USBMode.hwcdc.build.usb_mode=1 +waveshare_esp32_s3_touch_amoled_241.menu.USBMode.default=USB-OTG (TinyUSB) +waveshare_esp32_s3_touch_amoled_241.menu.USBMode.default.build.usb_mode=0 + +waveshare_esp32_s3_touch_amoled_241.menu.CDCOnBoot.default=Disabled +waveshare_esp32_s3_touch_amoled_241.menu.CDCOnBoot.default.build.cdc_on_boot=0 +waveshare_esp32_s3_touch_amoled_241.menu.CDCOnBoot.cdc=Enabled +waveshare_esp32_s3_touch_amoled_241.menu.CDCOnBoot.cdc.build.cdc_on_boot=1 + +waveshare_esp32_s3_touch_amoled_241.menu.MSCOnBoot.default=Disabled +waveshare_esp32_s3_touch_amoled_241.menu.MSCOnBoot.default.build.msc_on_boot=0 +waveshare_esp32_s3_touch_amoled_241.menu.MSCOnBoot.msc=Enabled (Requires USB-OTG Mode) +waveshare_esp32_s3_touch_amoled_241.menu.MSCOnBoot.msc.build.msc_on_boot=1 + +waveshare_esp32_s3_touch_amoled_241.menu.DFUOnBoot.default=Disabled +waveshare_esp32_s3_touch_amoled_241.menu.DFUOnBoot.default.build.dfu_on_boot=0 +waveshare_esp32_s3_touch_amoled_241.menu.DFUOnBoot.dfu=Enabled (Requires USB-OTG Mode) +waveshare_esp32_s3_touch_amoled_241.menu.DFUOnBoot.dfu.build.dfu_on_boot=1 + +waveshare_esp32_s3_touch_amoled_241.menu.UploadMode.default=UART0 / Hardware CDC +waveshare_esp32_s3_touch_amoled_241.menu.UploadMode.default.upload.use_1200bps_touch=false +waveshare_esp32_s3_touch_amoled_241.menu.UploadMode.default.upload.wait_for_upload_port=false +waveshare_esp32_s3_touch_amoled_241.menu.UploadMode.cdc=USB-OTG CDC (TinyUSB) +waveshare_esp32_s3_touch_amoled_241.menu.UploadMode.cdc.upload.use_1200bps_touch=true +waveshare_esp32_s3_touch_amoled_241.menu.UploadMode.cdc.upload.wait_for_upload_port=true + +waveshare_esp32_s3_touch_amoled_241.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) +waveshare_esp32_s3_touch_amoled_241.menu.PartitionScheme.default=Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS) +waveshare_esp32_s3_touch_amoled_241.menu.PartitionScheme.default.build.partitions=default +waveshare_esp32_s3_touch_amoled_241.menu.PartitionScheme.defaultffat=Default 4MB with ffat (1.2MB APP/1.5MB FATFS) + +waveshare_esp32_s3_touch_amoled_241.menu.PartitionScheme.defaultffat.build.partitions=default_ffat +waveshare_esp32_s3_touch_amoled_241.menu.PartitionScheme.no_ota=No OTA (2MB APP/2MB SPIFFS) +waveshare_esp32_s3_touch_amoled_241.menu.PartitionScheme.no_ota.build.partitions=no_ota +waveshare_esp32_s3_touch_amoled_241.menu.PartitionScheme.no_ota.upload.maximum_size=2097152 +waveshare_esp32_s3_touch_amoled_241.menu.PartitionScheme.noota_3g=No OTA (1MB APP/3MB SPIFFS) +waveshare_esp32_s3_touch_amoled_241.menu.PartitionScheme.noota_3g.build.partitions=noota_3g +waveshare_esp32_s3_touch_amoled_241.menu.PartitionScheme.noota_3g.upload.maximum_size=1048576 +waveshare_esp32_s3_touch_amoled_241.menu.PartitionScheme.noota_ffat=No OTA (2MB APP/2MB FATFS) +waveshare_esp32_s3_touch_amoled_241.menu.PartitionScheme.noota_ffat.build.partitions=noota_ffat +waveshare_esp32_s3_touch_amoled_241.menu.PartitionScheme.noota_ffat.upload.maximum_size=2097152 +waveshare_esp32_s3_touch_amoled_241.menu.PartitionScheme.noota_3gffat=No OTA (1MB APP/3MB FATFS) +waveshare_esp32_s3_touch_amoled_241.menu.PartitionScheme.noota_3gffat.build.partitions=noota_3gffat +waveshare_esp32_s3_touch_amoled_241.menu.PartitionScheme.noota_3gffat.upload.maximum_size=1048576 +waveshare_esp32_s3_touch_amoled_241.menu.PartitionScheme.huge_app=Huge APP (3MB No OTA/1MB SPIFFS) +waveshare_esp32_s3_touch_amoled_241.menu.PartitionScheme.huge_app.build.partitions=huge_app +waveshare_esp32_s3_touch_amoled_241.menu.PartitionScheme.huge_app.upload.maximum_size=3145728 +waveshare_esp32_s3_touch_amoled_241.menu.PartitionScheme.min_spiffs=Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS) +waveshare_esp32_s3_touch_amoled_241.menu.PartitionScheme.min_spiffs.build.partitions=min_spiffs +waveshare_esp32_s3_touch_amoled_241.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080 +waveshare_esp32_s3_touch_amoled_241.menu.PartitionScheme.rainmaker=RainMaker 4MB +waveshare_esp32_s3_touch_amoled_241.menu.PartitionScheme.rainmaker.build.partitions=rainmaker +waveshare_esp32_s3_touch_amoled_241.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080 +waveshare_esp32_s3_touch_amoled_241.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB +waveshare_esp32_s3_touch_amoled_241.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB +waveshare_esp32_s3_touch_amoled_241.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480 +waveshare_esp32_s3_touch_amoled_241.menu.PartitionScheme.fatflash=16M Flash (2MB APP/12.5MB FATFS) +waveshare_esp32_s3_touch_amoled_241.menu.PartitionScheme.fatflash.build.partitions=ffat +waveshare_esp32_s3_touch_amoled_241.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 + +waveshare_esp32_s3_touch_amoled_241.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) +waveshare_esp32_s3_touch_amoled_241.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB +waveshare_esp32_s3_touch_amoled_241.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 + +waveshare_esp32_s3_touch_amoled_241.menu.PartitionScheme.otanofs=OTA no FS (2MB APP with OTA) +waveshare_esp32_s3_touch_amoled_241.menu.PartitionScheme.otanofs.build.custom_partitions=partitions_otanofs_4MB +waveshare_esp32_s3_touch_amoled_241.menu.PartitionScheme.otanofs.upload.maximum_size=2031616 +waveshare_esp32_s3_touch_amoled_241.menu.PartitionScheme.all_app=Max APP (4MB APP no OTA) +waveshare_esp32_s3_touch_amoled_241.menu.PartitionScheme.all_app.build.custom_partitions=partitions_all_app_4MB +waveshare_esp32_s3_touch_amoled_241.menu.PartitionScheme.all_app.upload.maximum_size=4128768 + +waveshare_esp32_s3_touch_amoled_241.menu.PartitionScheme.custom=Custom +waveshare_esp32_s3_touch_amoled_241.menu.PartitionScheme.custom.build.partitions= +waveshare_esp32_s3_touch_amoled_241.menu.PartitionScheme.custom.upload.maximum_size=16777216 + +waveshare_esp32_s3_touch_amoled_241.menu.CPUFreq.240=240MHz (WiFi) +waveshare_esp32_s3_touch_amoled_241.menu.CPUFreq.240.build.f_cpu=240000000L +waveshare_esp32_s3_touch_amoled_241.menu.CPUFreq.160=160MHz (WiFi) +waveshare_esp32_s3_touch_amoled_241.menu.CPUFreq.160.build.f_cpu=160000000L +waveshare_esp32_s3_touch_amoled_241.menu.CPUFreq.80=80MHz (WiFi) +waveshare_esp32_s3_touch_amoled_241.menu.CPUFreq.80.build.f_cpu=80000000L +waveshare_esp32_s3_touch_amoled_241.menu.CPUFreq.40=40MHz +waveshare_esp32_s3_touch_amoled_241.menu.CPUFreq.40.build.f_cpu=40000000L +waveshare_esp32_s3_touch_amoled_241.menu.CPUFreq.20=20MHz +waveshare_esp32_s3_touch_amoled_241.menu.CPUFreq.20.build.f_cpu=20000000L +waveshare_esp32_s3_touch_amoled_241.menu.CPUFreq.10=10MHz +waveshare_esp32_s3_touch_amoled_241.menu.CPUFreq.10.build.f_cpu=10000000L + +waveshare_esp32_s3_touch_amoled_241.menu.UploadSpeed.921600=921600 +waveshare_esp32_s3_touch_amoled_241.menu.UploadSpeed.921600.upload.speed=921600 +waveshare_esp32_s3_touch_amoled_241.menu.UploadSpeed.115200=115200 +waveshare_esp32_s3_touch_amoled_241.menu.UploadSpeed.115200.upload.speed=115200 +waveshare_esp32_s3_touch_amoled_241.menu.UploadSpeed.256000.windows=256000 +waveshare_esp32_s3_touch_amoled_241.menu.UploadSpeed.256000.upload.speed=256000 +waveshare_esp32_s3_touch_amoled_241.menu.UploadSpeed.230400.windows.upload.speed=256000 +waveshare_esp32_s3_touch_amoled_241.menu.UploadSpeed.230400=230400 +waveshare_esp32_s3_touch_amoled_241.menu.UploadSpeed.230400.upload.speed=230400 +waveshare_esp32_s3_touch_amoled_241.menu.UploadSpeed.460800.linux=460800 +waveshare_esp32_s3_touch_amoled_241.menu.UploadSpeed.460800.macosx=460800 +waveshare_esp32_s3_touch_amoled_241.menu.UploadSpeed.460800.upload.speed=460800 +waveshare_esp32_s3_touch_amoled_241.menu.UploadSpeed.512000.windows=512000 +waveshare_esp32_s3_touch_amoled_241.menu.UploadSpeed.512000.upload.speed=512000 + +waveshare_esp32_s3_touch_amoled_241.menu.DebugLevel.none=None +waveshare_esp32_s3_touch_amoled_241.menu.DebugLevel.none.build.code_debug=0 +waveshare_esp32_s3_touch_amoled_241.menu.DebugLevel.error=Error +waveshare_esp32_s3_touch_amoled_241.menu.DebugLevel.error.build.code_debug=1 +waveshare_esp32_s3_touch_amoled_241.menu.DebugLevel.warn=Warn +waveshare_esp32_s3_touch_amoled_241.menu.DebugLevel.warn.build.code_debug=2 +waveshare_esp32_s3_touch_amoled_241.menu.DebugLevel.info=Info +waveshare_esp32_s3_touch_amoled_241.menu.DebugLevel.info.build.code_debug=3 +waveshare_esp32_s3_touch_amoled_241.menu.DebugLevel.debug=Debug +waveshare_esp32_s3_touch_amoled_241.menu.DebugLevel.debug.build.code_debug=4 +waveshare_esp32_s3_touch_amoled_241.menu.DebugLevel.verbose=Verbose +waveshare_esp32_s3_touch_amoled_241.menu.DebugLevel.verbose.build.code_debug=5 + +waveshare_esp32_s3_touch_amoled_241.menu.EraseFlash.none=Disabled +waveshare_esp32_s3_touch_amoled_241.menu.EraseFlash.none.upload.erase_cmd= +waveshare_esp32_s3_touch_amoled_241.menu.EraseFlash.all=Enabled +waveshare_esp32_s3_touch_amoled_241.menu.EraseFlash.all.upload.erase_cmd=-e ############################################################## diff --git a/variants/waveshare_esp32_touch_amoled_241/pins_arduino.h b/variants/waveshare_esp32_s3_touch_amoled_241/pins_arduino.h similarity index 96% rename from variants/waveshare_esp32_touch_amoled_241/pins_arduino.h rename to variants/waveshare_esp32_s3_touch_amoled_241/pins_arduino.h index 7c26553fc4c..cb6c5f40ac1 100644 --- a/variants/waveshare_esp32_touch_amoled_241/pins_arduino.h +++ b/variants/waveshare_esp32_s3_touch_amoled_241/pins_arduino.h @@ -9,7 +9,7 @@ #define USB_PID 0x8242 #define USB_MANUFACTURER "Waveshare" -#define USB_PRODUCT "ESP32-Touch-AMOLED-2.41" +#define USB_PRODUCT "ESP32-S3-Touch-AMOLED-2.41" #define USB_SERIAL "" // display QSPI SPI2 From 8d772d5e8912dc49c7f9167087a78b57a0613727 Mon Sep 17 00:00:00 2001 From: Rodrigo Garcia Date: Wed, 18 Sep 2024 08:51:46 -0300 Subject: [PATCH 041/146] ESP Matter + Arduino as IDF Component Light example (#10290) * feat(matter): partition file for matter The declaration includes a partition for keys and SSL certificates. * feat(matter): matter light source code Adds necessary Matter + Arduino source code that will create a Matter compatible Light. * feat(matter): adds sdkconfig and CMake files Adds target sdkconfig files and the CMakeLists.txt in orde to build the application using Arduino+Matter as IDF component * fix(matter): wrong folder name * feat(matter): include example into registry * fix(matter): error with type in wrong place A declaration was incorrect due to a typo error. Sintax was corrected by deleting `BuiltInLED`. * feat(matter): add readme documentation * feat(matter): remove soc with no wifi or no ble * feat(matter): adjust all sdkconfig files * feat(matter): improve code and led status * feat(matter): add button and led gpio with kconfig * fix(matter): remove commented lines * fix(matter): remove commented lines * feat(matter): added a 2.4GHz SSID note Both the ESP32 device and the Smartphone running the Matter APP shall be in the same WiFi Network in order to achieve a successful commissioning process. * feat(matter): arduino managed comonent version Preparing the Arduino Managed Component to use Core version 3.0.5 or higher. * feat(matter): adds information about google Goggle Home Assistant requires special configurtation in order to allow the Light to show up in the GHA APP. * feat(matter): arduino component version Set final Arduino Managed Component to 3.0.5 necessary because of -DESP32=ESP32, in order to compile the project. * ci(pre-commit): Apply automatic fixes * fix(typo): typo and commentaries * fix(typo): typo and commentaries * fix(typo): typo and commentaries * fix(typo): typo and commentaries * fix(typo): typo and commentaries * fix(typo): typo and commentaries * fix(typo): typo and commentaries * fix(typo): typo and commentaries * fix(typo): typo and commentaries * fix(typo): typo and commentaries * fix(typo): typo and commentaries * fix(typo): typo and commentaries * fix(typo): typo and commentaries * fix(typo): typo and commentaries * fix(typo): typo and commentaries * fix(typo): typo and commentaries * fix(typo): typo and commentaries * fix(typo): typo and commentaries * fix(matter): spell check ignore for CI * ci(pre-commit): Apply automatic fixes * fix(matter): spell check ignore for CI * fix(matter): spell check ignore for CI * fix(matter): spell check ignore for CI * ci(pre-commit): Apply automatic fixes --------- Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> --- idf_component.yml | 1 + .../esp_matter_light/CMakeLists.txt | 27 ++ .../esp_matter_light/README.md | 90 ++++ .../esp_matter_light/main/CMakeLists.txt | 5 + .../esp_matter_light/main/Kconfig.projbuild | 102 +++++ .../esp_matter_light/main/builtinLED.cpp | 237 +++++++++++ .../esp_matter_light/main/builtinLED.h | 74 ++++ .../esp_matter_light/main/idf_component.yml | 12 + .../main/matter_accessory_driver.cpp | 89 ++++ .../main/matter_accessory_driver.h | 47 +++ .../esp_matter_light/main/matter_light.cpp | 384 ++++++++++++++++++ .../esp_matter_light/partitions.csv | 10 + .../sdkconfig.defaults.c6_thread | 79 ++++ .../sdkconfig.defaults.esp32c3 | 64 +++ .../sdkconfig.defaults.esp32c6 | 79 ++++ .../sdkconfig.defaults.esp32s3 | 64 +++ 16 files changed, 1364 insertions(+) create mode 100644 idf_component_examples/esp_matter_light/CMakeLists.txt create mode 100644 idf_component_examples/esp_matter_light/README.md create mode 100644 idf_component_examples/esp_matter_light/main/CMakeLists.txt create mode 100644 idf_component_examples/esp_matter_light/main/Kconfig.projbuild create mode 100644 idf_component_examples/esp_matter_light/main/builtinLED.cpp create mode 100644 idf_component_examples/esp_matter_light/main/builtinLED.h create mode 100644 idf_component_examples/esp_matter_light/main/idf_component.yml create mode 100644 idf_component_examples/esp_matter_light/main/matter_accessory_driver.cpp create mode 100644 idf_component_examples/esp_matter_light/main/matter_accessory_driver.h create mode 100644 idf_component_examples/esp_matter_light/main/matter_light.cpp create mode 100644 idf_component_examples/esp_matter_light/partitions.csv create mode 100644 idf_component_examples/esp_matter_light/sdkconfig.defaults.c6_thread create mode 100644 idf_component_examples/esp_matter_light/sdkconfig.defaults.esp32c3 create mode 100644 idf_component_examples/esp_matter_light/sdkconfig.defaults.esp32c6 create mode 100644 idf_component_examples/esp_matter_light/sdkconfig.defaults.esp32s3 diff --git a/idf_component.yml b/idf_component.yml index 21ec39b4d4a..9c06ef0fb72 100644 --- a/idf_component.yml +++ b/idf_component.yml @@ -97,3 +97,4 @@ dependencies: examples: - path: ./idf_component_examples/hello_world - path: ./idf_component_examples/hw_cdc_hello_world + - path: ./idf_component_examples/esp_matter_light diff --git a/idf_component_examples/esp_matter_light/CMakeLists.txt b/idf_component_examples/esp_matter_light/CMakeLists.txt new file mode 100644 index 00000000000..16a7533f2a5 --- /dev/null +++ b/idf_component_examples/esp_matter_light/CMakeLists.txt @@ -0,0 +1,27 @@ +# The following lines of boilerplate have to be in your project's +# CMakeLists in this exact order for cmake to work correctly +cmake_minimum_required(VERSION 3.5) + +set(PROJECT_VER "1.0") +set(PROJECT_VER_NUMBER 1) + +# This should be done before using the IDF_TARGET variable. +include($ENV{IDF_PATH}/tools/cmake/project.cmake) + +project(arduino_managed_component_light) + +# WARNING: This is just an example for using key for decrypting the encrypted OTA image +# Please do not use it as is. +if(CONFIG_ENABLE_ENCRYPTED_OTA) + target_add_binary_data(light.elf "esp_image_encryption_key.pem" TEXT) +endif() + +if(CONFIG_IDF_TARGET_ESP32C2) + include(relinker) +endif() + +idf_build_set_property(CXX_COMPILE_OPTIONS "-std=gnu++17;-Os;-DCHIP_HAVE_CONFIG_H" APPEND) +idf_build_set_property(C_COMPILE_OPTIONS "-Os" APPEND) +# For RISCV chips, project_include.cmake sets -Wno-format, but does not clear various +# flags that depend on -Wformat +idf_build_set_property(COMPILE_OPTIONS "-Wno-format-nonliteral;-Wno-format-security" APPEND) diff --git a/idf_component_examples/esp_matter_light/README.md b/idf_component_examples/esp_matter_light/README.md new file mode 100644 index 00000000000..13a55f8ef64 --- /dev/null +++ b/idf_component_examples/esp_matter_light/README.md @@ -0,0 +1,90 @@ +| Supported Targets | ESP32-S3 | ESP32-C3 | ESP32-C6 | +| ----------------- | -------- | -------- | -------- | + + +# Managed Component Light + +This example is configured by default to work with the ESP32-S3, which has the RGB LED GPIO set as pin 48 and the BOOT button on GPIO 0. + +This example creates a Color Temperature Light device using the esp_matter component downloaded from the [Espressif Component Registry](https://components.espressif.com/) instead of an extra component locally, so the example can work without setting up the esp-matter environment. + +See the [docs](https://docs.espressif.com/projects/esp-matter/en/latest/esp32/developing.html) for more information about building and flashing the firmware. + +The code is based on the Arduino API and uses Arduino as an IDF Component. + +## How to use it + +Once the device runs for the first time, it must be commissioned to the Matter Fabric of the available Matter Environment. +Possible Matter Environments are: +- Amazon Alexa +- Google Home Assistant (*) +- Apple Home +- Open Source Home Assistant + +(*) Google Home Assistant requires the user to set up a Matter Light using the [Google Home Developer Console](https://developers.home.google.com/codelabs/matter-device#2). It is necessary to create a Matter Light device with VID = 0xFFF1 and PID = 0x8000. Otherwise, the Light won't show up in the GHA APP. This action is necessary because the Firmware uses Testing credentials and Google requires the user to create the testing device before using it. + +There is no QR Code to be used when the Smartphone APP wants to add the Matter Device. +Please enter the code manually: `34970112332` + +The devboard has a built-in LED that will be used as the Matter Light. +The default setting of the code uses pin 48 for the ESP32-S3. +Please change it in `main/matter_accessory_driver.h` or in the `sdkconfig.defaults.` file. + +## LED Status and Factory Mode + +The WS2812b built-in LED will turn purple as soon as the device is flashed and runs for the first time. +The purple color indicates that the Matter Accessory has not been commissioned yet. +After using a Matter provider Smartphone APP to add a Matter device to your Home Application, it may turn orange to indicate that it has no Wi-Fi connection. + +Once it connects to the Wi-Fi network, the LED will turn white to indicate that Matter is working and the device is connected to the Matter Environment. +Please note that Matter over Wi-Fi using an ESP32 device will connect to a 2.4 GHz Wi-Fi SSID, therefore the Commissioner APP Smartphone shall be connected to this SSID. + +The Matter and Wi-Fi configuration will be stored in NVS to ensure that it will connect to the Matter Fabric and Wi-Fi Network again once it is reset. + +The Matter Smartphone APP will control the light state (ON/OFF), temperature (Warm/Cold White), and brightness. + +## On Board Light toggle button + +The built-in BOOT button will toggle On/Off and replicate the new state to the Matter Environment, making it visible in the Matter Smartphone APP as well. + +## Returning to the Factory State + +Holding the BOOT button pressed for more than 10 seconds and then releasing it will erase all Matter and Wi-Fi configuration, forcing it to reset to factory state. After that, the device needs to be commissioned again. Previous setups done in the Smartphone APP won't work again; therefore, the virtual device shall be removed from the APP. + +## Building the Application using Wi-Fi and Matter + +Use ESP-IDF 5.1.4 from https://github.com/espressif/esp-idf/tree/release/v5.1 +This example has been tested with Arduino Core 3.0.4 + +The project will download all necessary components, including the Arduino Core. +Run `idf.py SDKCONFIG_DEFAULTS="sdkconfig.defaults..idf" -p flash monitor` + +Example for ESP32-S3/Linux | macOS: +`idf.py SDKCONFIG_DEFAULTS="sdkconfig.defaults.esp32s3" -p /dev/ttyACM0 flash monitor` +Example for ESP32-C3/Windows: +`idf.py -D SDKCONFIG_DEFAULTS="sdkconfig.defaults.esp32c3" -p com3 flash monitor` + +It may be necessary to delete some folders and files before running `idf.py` +Linux/macOS: `rm -rf build managed_components sdkconfig dependencies.lock` +Windows: `rmdir /s/q build managed_components` and `del sdkconfig dependencies.lock` + +There is a configuration file for these SoC: esp32s3, esp32c3, esp32c6. +Those are the tested devices that have a WS2812 RGB LED and can run BLE, Wi-Fi and Matter. + +In case it is necessary to change the Button Pin or the REG LED Pin, please use the `menuconfig` +`idf.py menuconfig` and change the Menu Option `Light Matter Accessory` + +## Using OpenThread with Matter + +This is possible with the ESP32-C6. +It is neessasy to have a Thread Border Routed in the Matter Environment. Check you matter hardware provider. +In order to build the application that will use Thread Networking instead of Wi-Fi, please execute: + +Example for ESP32-S3/Linux | macOS: +`idf.py SDKCONFIG_DEFAULTS="sdkconfig.defaults.c6_thread" -p /dev/ttyACM0 flash monitor` +Example for ESP32-C3/Windows: +`idf.py -D SDKCONFIG_DEFAULTS="sdkconfig.defaults.c6_thread" -p com3 flash monitor` + +It may be necessary to delete some folders and files before running `idf.py` +Linux/macOS: `rm -rf build managed_components sdkconfig dependencies.lock` +Windows: `rmdir /s/q build managed_components` and `del sdkconfig dependencies.lock` diff --git a/idf_component_examples/esp_matter_light/main/CMakeLists.txt b/idf_component_examples/esp_matter_light/main/CMakeLists.txt new file mode 100644 index 00000000000..6b91a8cf510 --- /dev/null +++ b/idf_component_examples/esp_matter_light/main/CMakeLists.txt @@ -0,0 +1,5 @@ +idf_component_register(SRC_DIRS "." + INCLUDE_DIRS ".") + +set_property(TARGET ${COMPONENT_LIB} PROPERTY CXX_STANDARD 17) +target_compile_options(${COMPONENT_LIB} PRIVATE "-DCHIP_HAVE_CONFIG_H") diff --git a/idf_component_examples/esp_matter_light/main/Kconfig.projbuild b/idf_component_examples/esp_matter_light/main/Kconfig.projbuild new file mode 100644 index 00000000000..6e6abcb7fcf --- /dev/null +++ b/idf_component_examples/esp_matter_light/main/Kconfig.projbuild @@ -0,0 +1,102 @@ +menu "Light Matter Accessory" + menu "On Board Light ON/OFF Button" + config BUTTON_PIN + int + prompt "Button 1 GPIO" + default ENV_GPIO_BOOT_BUTTON + range -1 ENV_GPIO_IN_RANGE_MAX + help + The GPIO pin for button that will be used to turn on/off the Matter Light. It shall be connected to a push button. It can use the BOOT button of the development board. + endmenu + + + menu "LEDs" + config WS2812_PIN + int + prompt "WS2812 RGB LED GPIO" + default ENV_GPIO_RGB_LED + range -1 ENV_GPIO_OUT_RANGE_MAX + help + The GPIO pin for the Matter Light that will be driven by RMT. It shall be connected to one single WS2812 RGB LED. + endmenu + + # TARGET CONFIGURATION + if IDF_TARGET_ESP32C3 + config ENV_GPIO_RANGE_MIN + int + default 0 + + config ENV_GPIO_RANGE_MAX + int + default 19 + # GPIOs 20/21 are always used by UART in examples + + config ENV_GPIO_IN_RANGE_MAX + int + default ENV_GPIO_RANGE_MAX + + config ENV_GPIO_OUT_RANGE_MAX + int + default ENV_GPIO_RANGE_MAX + + config ENV_GPIO_BOOT_BUTTON + int + default 9 + + config ENV_GPIO_RGB_LED + int + default 8 + endif + if IDF_TARGET_ESP32C6 + config ENV_GPIO_RANGE_MIN + int + default 0 + + config ENV_GPIO_RANGE_MAX + int + default 30 + # GPIOs 16/17 are always used by UART in examples + + config ENV_GPIO_IN_RANGE_MAX + int + default ENV_GPIO_RANGE_MAX + + config ENV_GPIO_OUT_RANGE_MAX + int + default ENV_GPIO_RANGE_MAX + + config ENV_GPIO_BOOT_BUTTON + int + default 9 + + config ENV_GPIO_RGB_LED + int + default 8 + endif + if IDF_TARGET_ESP32S3 + config ENV_GPIO_RANGE_MIN + int + default 0 + + config ENV_GPIO_RANGE_MAX + int + default 48 + + config ENV_GPIO_IN_RANGE_MAX + int + default ENV_GPIO_RANGE_MAX + + config ENV_GPIO_OUT_RANGE_MAX + int + default ENV_GPIO_RANGE_MAX + + config ENV_GPIO_BOOT_BUTTON + int + default 0 + + config ENV_GPIO_RGB_LED + int + default 48 + endif + +endmenu diff --git a/idf_component_examples/esp_matter_light/main/builtinLED.cpp b/idf_component_examples/esp_matter_light/main/builtinLED.cpp new file mode 100644 index 00000000000..8795dde2756 --- /dev/null +++ b/idf_component_examples/esp_matter_light/main/builtinLED.cpp @@ -0,0 +1,237 @@ +/* + This example code is in the Public Domain (or CC0 licensed, at your option.) + Unless required by applicable law or agreed to in writing, this + software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR + CONDITIONS OF ANY KIND, either express or implied. + This will implement the onboard WS2812b LED as a LED indicator + It can be used to indicate some state or status of the device + The LED can be controlled using RGB, HSV or color temperature, brightness + + In this example, the LED Indicator class is used as the Matter light accessory +*/ + +#include "builtinLED.h" + +typedef struct { + uint16_t hue; + uint8_t saturation; +} HS_color_t; + +static const HS_color_t temperatureTable[] = { + {4, 100}, {8, 100}, {11, 100}, {14, 100}, {16, 100}, {18, 100}, {20, 100}, {22, 100}, {24, 100}, {25, 100}, {27, 100}, {28, 100}, {30, 100}, {31, 100}, + {31, 95}, {30, 89}, {30, 85}, {29, 80}, {29, 76}, {29, 73}, {29, 69}, {28, 66}, {28, 63}, {28, 60}, {28, 57}, {28, 54}, {28, 52}, {27, 49}, + {27, 47}, {27, 45}, {27, 43}, {27, 41}, {27, 39}, {27, 37}, {27, 35}, {27, 33}, {27, 31}, {27, 30}, {27, 28}, {27, 26}, {27, 25}, {27, 23}, + {27, 22}, {27, 21}, {27, 19}, {27, 18}, {27, 17}, {27, 15}, {28, 14}, {28, 13}, {28, 12}, {29, 10}, {29, 9}, {30, 8}, {31, 7}, {32, 6}, + {34, 5}, {36, 4}, {41, 3}, {49, 2}, {0, 0}, {294, 2}, {265, 3}, {251, 4}, {242, 5}, {237, 6}, {233, 7}, {231, 8}, {229, 9}, {228, 10}, + {227, 11}, {226, 11}, {226, 12}, {225, 13}, {225, 13}, {224, 14}, {224, 14}, {224, 15}, {224, 15}, {223, 16}, {223, 16}, {223, 17}, {223, 17}, {223, 17}, + {222, 18}, {222, 18}, {222, 19}, {222, 19}, {222, 19}, {222, 19}, {222, 20}, {222, 20}, {222, 20}, {222, 21}, {222, 21} +}; + +/* step brightness table: gamma = 2.3 */ +static const uint8_t gamma_table[MAX_PROGRESS] = { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, + 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 8, + 8, 8, 9, 9, 9, 10, 10, 10, 11, 11, 12, 12, 13, 13, 13, 14, 14, 15, 15, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, + 21, 22, 22, 23, 23, 24, 25, 25, 26, 26, 27, 28, 28, 29, 30, 30, 31, 32, 33, 33, 34, 35, 36, 36, 37, 38, 39, 40, 40, + 41, 42, 43, 44, 45, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 72, 74, 75, 76, 77, 78, 79, 81, 82, 83, 84, 86, 87, 88, 89, 91, 92, 93, 95, 96, 97, 99, 100, 101, 103, 104, + 105, 107, 108, 110, 111, 112, 114, 115, 117, 118, 120, 121, 123, 124, 126, 128, 129, 131, 132, 134, 135, 137, 139, 140, 142, 144, 145, 147, 149, + 150, 152, 154, 156, 157, 159, 161, 163, 164, 166, 168, 170, 172, 174, 175, 177, 179, 181, 183, 185, 187, 189, 191, 193, 195, 197, 199, 201, 203, + 205, 207, 209, 211, 213, 215, 217, 219, 221, 223, 226, 228, 230, 232, 234, 236, 239, 241, 243, 245, 248, 250, 252, 255, +}; + +BuiltInLED::BuiltInLED() { + pin_number = (uint8_t)-1; // no pin number + state = false; // LED is off + hsv_color.value = 0; // black color +} + +BuiltInLED::~BuiltInLED() { + end(); +} + +led_indicator_color_hsv_t BuiltInLED::rgb2hsv(led_indicator_color_rgb_t rgb) { + led_indicator_color_hsv_t hsv; + uint8_t minRGB, maxRGB; + uint8_t delta; + + minRGB = rgb.r < rgb.g ? (rgb.r < rgb.b ? rgb.r : rgb.b) : (rgb.g < rgb.b ? rgb.g : rgb.b); + maxRGB = rgb.r > rgb.g ? (rgb.r > rgb.b ? rgb.r : rgb.b) : (rgb.g > rgb.b ? rgb.g : rgb.b); + hsv.value = 0; + hsv.v = maxRGB; + delta = maxRGB - minRGB; + + if (delta == 0) { + hsv.h = 0; + hsv.s = 0; + } else { + hsv.s = delta * 255 / maxRGB; + + if (rgb.r == maxRGB) { + hsv.h = (60 * (rgb.g - rgb.b) / delta + 360) % 360; + } else if (rgb.g == maxRGB) { + hsv.h = (60 * (rgb.b - rgb.r) / delta + 120); + } else { + hsv.h = (60 * (rgb.r - rgb.g) / delta + 240); + } + } + return hsv; +} + +led_indicator_color_rgb_t BuiltInLED::hsv2rgb(led_indicator_color_hsv_t hsv) { + led_indicator_color_rgb_t rgb; + uint8_t rgb_max = hsv.v; + uint8_t rgb_min = rgb_max * (255 - hsv.s) / 255.0f; + + uint8_t i = hsv.h / 60; + uint8_t diff = hsv.h % 60; + + // RGB adjustment amount by hue + uint8_t rgb_adj = (rgb_max - rgb_min) * diff / 60; + rgb.value = 0; + switch (i) { + case 0: + rgb.r = rgb_max; + rgb.g = rgb_min + rgb_adj; + rgb.b = rgb_min; + break; + case 1: + rgb.r = rgb_max - rgb_adj; + rgb.g = rgb_max; + rgb.b = rgb_min; + break; + case 2: + rgb.r = rgb_min; + rgb.g = rgb_max; + rgb.b = rgb_min + rgb_adj; + break; + case 3: + rgb.r = rgb_min; + rgb.g = rgb_max - rgb_adj; + rgb.b = rgb_max; + break; + case 4: + rgb.r = rgb_min + rgb_adj; + rgb.g = rgb_min; + rgb.b = rgb_max; + break; + default: + rgb.r = rgb_max; + rgb.g = rgb_min; + rgb.b = rgb_max - rgb_adj; + break; + } + + // gamma correction + rgb.r = gamma_table[rgb.r]; + rgb.g = gamma_table[rgb.g]; + rgb.b = gamma_table[rgb.b]; + return rgb; +} + +void BuiltInLED::begin(uint8_t pin) { + if (pin < NUM_DIGITAL_PINS) { + pin_number = pin; + log_i("Initializing pin %d", pin); + } else { + log_e("Invalid pin (%d) number", pin); + } +} +void BuiltInLED::end() { + state = false; + write(); // turn off the LED + if (pin_number < NUM_DIGITAL_PINS) { + if (!rmtDeinit(pin_number)) { + log_e("Failed to deinitialize RMT"); + } + } +} + +void BuiltInLED::on() { + state = true; +} + +void BuiltInLED::off() { + state = false; +} + +void BuiltInLED::toggle() { + state = !state; +} + +bool BuiltInLED::getState() { + return state; +} + +bool BuiltInLED::write() { + led_indicator_color_rgb_t rgb_color = getRGB(); + log_d("Writing to pin %d with state = %s", pin_number, state ? "ON" : "OFF"); + log_d("HSV: %d, %d, %d", hsv_color.h, hsv_color.s, hsv_color.v); + log_d("RGB: %d, %d, %d", rgb_color.r, rgb_color.g, rgb_color.b); + if (pin_number < NUM_DIGITAL_PINS) { + if (state) { + rgbLedWrite(pin_number, rgb_color.r, rgb_color.g, rgb_color.b); + } else { + rgbLedWrite(pin_number, 0, 0, 0); + } + return true; + } else { + log_e("Invalid pin (%d) number", pin_number); + return false; + } +} + +void BuiltInLED::setBrightness(uint8_t brightness) { + hsv_color.v = brightness; +} + +uint8_t BuiltInLED::getBrightness() { + return hsv_color.v; +} + +void BuiltInLED::setHSV(led_indicator_color_hsv_t hsv) { + if (hsv.h > MAX_HUE) { + hsv.h = MAX_HUE; + } + hsv_color.value = hsv.value; +} + +led_indicator_color_hsv_t BuiltInLED::getHSV() { + return hsv_color; +} + +void BuiltInLED::setRGB(led_indicator_color_rgb_t rgb_color) { + hsv_color = rgb2hsv(rgb_color); +} + +led_indicator_color_rgb_t BuiltInLED::getRGB() { + return hsv2rgb(hsv_color); +} + +void BuiltInLED::setTemperature(uint32_t temperature) { + uint16_t hue; + uint8_t saturation; + + log_d("Requested Temperature: %ld", temperature); + //hsv_color.v = gamma_table[((temperature >> 25) & 0x7F)]; + temperature &= 0xFFFFFF; + if (temperature < 600) { + hue = 0; + saturation = 100; + } else { + if (temperature > 10000) { + hue = 222; + saturation = 21 + (temperature - 10000) * 41 / 990000; + } else { + temperature -= 600; + temperature /= 100; + hue = temperatureTable[temperature].hue; + saturation = temperatureTable[temperature].saturation; + } + } + saturation = (saturation * 255) / 100; + // brightness is not changed + hsv_color.h = hue; + hsv_color.s = saturation; + log_d("Calculated Temperature: %ld, Hue: %d, Saturation: %d, Brightness: %d", temperature, hue, saturation, hsv_color.v); +} diff --git a/idf_component_examples/esp_matter_light/main/builtinLED.h b/idf_component_examples/esp_matter_light/main/builtinLED.h new file mode 100644 index 00000000000..1ca8c935569 --- /dev/null +++ b/idf_component_examples/esp_matter_light/main/builtinLED.h @@ -0,0 +1,74 @@ +/* + This example code is in the Public Domain (or CC0 licensed, at your option.) + Unless required by applicable law or agreed to in writing, this + software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR + CONDITIONS OF ANY KIND, either express or implied. + This will implement the onboard WS2812b LED as a LED indicator + It can be used to indicate some state or status of the device + The LED can be controlled using RGB, HSV or color temperature, brightness + + In this example, the BuiltInLED class is used as the Matter light accessory +*/ + +#pragma once + +#include + +#define MAX_HUE 360 +#define MAX_SATURATION 255 +#define MAX_BRIGHTNESS 255 +#define MAX_PROGRESS 256 + +typedef struct { + union { + struct { + uint32_t v : 8; /*!< Brightness/Value of the LED. 0-255 */ + uint32_t s : 8; /*!< Saturation of the LED. 0-255 */ + uint32_t h : 9; /*!< Hue of the LED. 0-360 */ + }; + uint32_t value; /*!< IHSV value of the LED. */ + }; +} led_indicator_color_hsv_t; + +typedef struct { + union { + struct { + uint32_t r : 8; /*!< Red component of the LED color. Range: 0-255. */ + uint32_t g : 8; /*!< Green component of the LED color. Range: 0-255. */ + uint32_t b : 8; /*!< Blue component of the LED color. Range: 0-255. */ + }; + uint32_t value; /*!< Combined RGB value of the LED color. */ + }; +} led_indicator_color_rgb_t; + +class BuiltInLED { +private: + uint8_t pin_number; + bool state; + led_indicator_color_hsv_t hsv_color; + +public: + BuiltInLED(); + ~BuiltInLED(); + + static led_indicator_color_hsv_t rgb2hsv(led_indicator_color_rgb_t rgb_value); + static led_indicator_color_rgb_t hsv2rgb(led_indicator_color_hsv_t hsv); + + void begin(uint8_t pin); + void end(); + + void on(); + void off(); + void toggle(); + bool getState(); + + bool write(); + + void setBrightness(uint8_t brightness); + uint8_t getBrightness(); + void setHSV(led_indicator_color_hsv_t hsv); + led_indicator_color_hsv_t getHSV(); + void setRGB(led_indicator_color_rgb_t color); + led_indicator_color_rgb_t getRGB(); + void setTemperature(uint32_t temperature); +}; diff --git a/idf_component_examples/esp_matter_light/main/idf_component.yml b/idf_component_examples/esp_matter_light/main/idf_component.yml new file mode 100644 index 00000000000..2b4ae4b34a4 --- /dev/null +++ b/idf_component_examples/esp_matter_light/main/idf_component.yml @@ -0,0 +1,12 @@ +dependencies: + espressif/esp_matter: + version: "^1.3.0" + # Adds Arduino Core from GitHub repository using main branch + espressif/arduino-esp32: + version: "^3.0.5" + override_path: "../../../" + pre_release: true + + # testing - using Arduino from the repository + # version: "master" # branch or commit + # git: https://github.com/espressif/arduino-esp32.git diff --git a/idf_component_examples/esp_matter_light/main/matter_accessory_driver.cpp b/idf_component_examples/esp_matter_light/main/matter_accessory_driver.cpp new file mode 100644 index 00000000000..523c38e6855 --- /dev/null +++ b/idf_component_examples/esp_matter_light/main/matter_accessory_driver.cpp @@ -0,0 +1,89 @@ +/* + This example code is in the Public Domain (or CC0 licensed, at your option.) + Unless required by applicable law or agreed to in writing, this + software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR + CONDITIONS OF ANY KIND, either express or implied. +*/ +#include +#include +#include +#include "builtinLED.h" +#include "matter_accessory_driver.h" + +/* Do any conversions/remapping for the actual value here */ +esp_err_t light_accessory_set_power(void *led, uint8_t val) { + BuiltInLED *builtinLED = (BuiltInLED *)led; + esp_err_t err = ESP_OK; + if (val) { + builtinLED->on(); + } else { + builtinLED->off(); + } + if (!builtinLED->write()) { + err = ESP_FAIL; + } + log_i("LED set power: %d", val); + return err; +} + +esp_err_t light_accessory_set_brightness(void *led, uint8_t val) { + esp_err_t err = ESP_OK; + BuiltInLED *builtinLED = (BuiltInLED *)led; + int value = REMAP_TO_RANGE(val, MATTER_BRIGHTNESS, STANDARD_BRIGHTNESS); + + builtinLED->setBrightness(value); + if (!builtinLED->write()) { + err = ESP_FAIL; + } + log_i("LED set brightness: %d", value); + return err; +} + +esp_err_t light_accessory_set_hue(void *led, uint8_t val) { + esp_err_t err = ESP_OK; + BuiltInLED *builtinLED = (BuiltInLED *)led; + int value = REMAP_TO_RANGE(val, MATTER_HUE, STANDARD_HUE); + led_indicator_color_hsv_t hsv = builtinLED->getHSV(); + hsv.h = value; + builtinLED->setHSV(hsv); + if (!builtinLED->write()) { + err = ESP_FAIL; + } + log_i("LED set hue: %d", value); + return err; +} + +esp_err_t light_accessory_set_saturation(void *led, uint8_t val) { + esp_err_t err = ESP_OK; + BuiltInLED *builtinLED = (BuiltInLED *)led; + int value = REMAP_TO_RANGE(val, MATTER_SATURATION, STANDARD_SATURATION); + led_indicator_color_hsv_t hsv = builtinLED->getHSV(); + hsv.s = value; + builtinLED->setHSV(hsv); + if (!builtinLED->write()) { + err = ESP_FAIL; + } + log_i("LED set saturation: %d", value); + return err; +} + +esp_err_t light_accessory_set_temperature(void *led, uint16_t val) { + esp_err_t err = ESP_OK; + BuiltInLED *builtinLED = (BuiltInLED *)led; + uint32_t value = REMAP_TO_RANGE_INVERSE(val, STANDARD_TEMPERATURE_FACTOR); + builtinLED->setTemperature(value); + if (!builtinLED->write()) { + err = ESP_FAIL; + } + log_i("LED set temperature: %ld", value); + return err; +} + +app_driver_handle_t light_accessory_init() { + /* Initialize led */ + static BuiltInLED builtinLED; + + const uint8_t pin = WS2812_PIN; // set your board WS2812b pin here + builtinLED.begin(pin); + return (app_driver_handle_t)&builtinLED; +} diff --git a/idf_component_examples/esp_matter_light/main/matter_accessory_driver.h b/idf_component_examples/esp_matter_light/main/matter_accessory_driver.h new file mode 100644 index 00000000000..3bf6655ab16 --- /dev/null +++ b/idf_component_examples/esp_matter_light/main/matter_accessory_driver.h @@ -0,0 +1,47 @@ +#include +#include + +// set your board WS2812b pin here (e.g. 48 is the default pin for the ESP32-S3 devkit) +#ifndef CONFIG_WS2812_PIN +#define WS2812_PIN 48 // ESP32-S3 DevKitC built-in LED +#else +#define WS2812_PIN CONFIG_WS2812_PIN // From sdkconfig.defaults. +#endif + +#ifndef RGB_BUILTIN +#define RGB_BUILTIN WS2812_PIN +#endif + +// Set your board button pin here (e.g. 0 is the default pin for the ESP32-S3 devkit) +#ifndef CONFIG_BUTTON_PIN +#define BUTTON_PIN 0 // ESP32-S3 DevKitC built-in button +#else +#define BUTTON_PIN CONFIG_BUTTON_PIN // From sdkconfig.defaults. +#endif + +/** Standard max values (used for remapping attributes) */ +#define STANDARD_BRIGHTNESS 255 +#define STANDARD_HUE 360 +#define STANDARD_SATURATION 255 +#define STANDARD_TEMPERATURE_FACTOR 1000000 + +/** Matter max values (used for remapping attributes) */ +#define MATTER_BRIGHTNESS 254 +#define MATTER_HUE 254 +#define MATTER_SATURATION 254 +#define MATTER_TEMPERATURE_FACTOR 1000000 + +/** Default attribute values used during initialization */ +#define DEFAULT_POWER true +#define DEFAULT_BRIGHTNESS 64 +#define DEFAULT_HUE 128 +#define DEFAULT_SATURATION 254 + +typedef void *app_driver_handle_t; + +esp_err_t light_accessory_set_power(void *led, uint8_t val); +esp_err_t light_accessory_set_brightness(void *led, uint8_t val); +esp_err_t light_accessory_set_hue(void *led, uint8_t val); +esp_err_t light_accessory_set_saturation(void *led, uint8_t val); +esp_err_t light_accessory_set_temperature(void *led, uint16_t val); +app_driver_handle_t light_accessory_init(); diff --git a/idf_component_examples/esp_matter_light/main/matter_light.cpp b/idf_component_examples/esp_matter_light/main/matter_light.cpp new file mode 100644 index 00000000000..6079ce46add --- /dev/null +++ b/idf_component_examples/esp_matter_light/main/matter_light.cpp @@ -0,0 +1,384 @@ +/* + This example code is in the Public Domain (or CC0 licensed, at your option.) + Unless required by applicable law or agreed to in writing, this + software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR + CONDITIONS OF ANY KIND, either express or implied. +*/ +#include +#include "matter_accessory_driver.h" + +#include + +#include +#include +#include + +#include +#include + +#if CHIP_DEVICE_CONFIG_ENABLE_THREAD +#include +#include "esp_openthread_types.h" + +#define ESP_OPENTHREAD_DEFAULT_RADIO_CONFIG() \ + { .radio_mode = RADIO_MODE_NATIVE, } + +#define ESP_OPENTHREAD_DEFAULT_HOST_CONFIG() \ + { .host_connection_mode = HOST_CONNECTION_MODE_NONE, } + +#define ESP_OPENTHREAD_DEFAULT_PORT_CONFIG() \ + { .storage_partition_name = "nvs", .netif_queue_size = 10, .task_queue_size = 10, } +#endif + +// set your board button pin here +const uint8_t button_gpio = BUTTON_PIN; // GPIO BOOT Button + +uint16_t light_endpoint_id = 0; + +using namespace esp_matter; +using namespace esp_matter::attribute; +using namespace esp_matter::endpoint; +using namespace chip::app::Clusters; + +constexpr auto k_timeout_seconds = 300; + +#if CONFIG_ENABLE_ENCRYPTED_OTA +extern const char decryption_key_start[] asm("_binary_esp_image_encryption_key_pem_start"); +extern const char decryption_key_end[] asm("_binary_esp_image_encryption_key_pem_end"); + +static const char *s_decryption_key = decryption_key_start; +static const uint16_t s_decryption_key_len = decryption_key_end - decryption_key_start; +#endif // CONFIG_ENABLE_ENCRYPTED_OTA + +bool isAccessoryCommissioned() { + return chip::Server::GetInstance().GetFabricTable().FabricCount() > 0; +} + +#if CHIP_DEVICE_CONFIG_ENABLE_WIFI_STATION +bool isWifiConnected() { + return chip::DeviceLayer::ConnectivityMgr().IsWiFiStationConnected(); +} +#endif + +#if CHIP_DEVICE_CONFIG_ENABLE_THREAD +bool isThreadConnected() { + return chip::DeviceLayer::ConnectivityMgr().IsThreadAttached(); +} +#endif + +static void app_event_cb(const ChipDeviceEvent *event, intptr_t arg) { + switch (event->Type) { + case chip::DeviceLayer::DeviceEventType::kInterfaceIpAddressChanged: + log_i( + "Interface %s Address changed", event->InterfaceIpAddressChanged.Type == chip::DeviceLayer::InterfaceIpChangeType::kIpV4_Assigned ? "IPv4" : "IPV6" + ); + break; + + case chip::DeviceLayer::DeviceEventType::kCommissioningComplete: log_i("Commissioning complete"); break; + + case chip::DeviceLayer::DeviceEventType::kFailSafeTimerExpired: log_i("Commissioning failed, fail safe timer expired"); break; + + case chip::DeviceLayer::DeviceEventType::kCommissioningSessionStarted: log_i("Commissioning session started"); break; + + case chip::DeviceLayer::DeviceEventType::kCommissioningSessionStopped: log_i("Commissioning session stopped"); break; + + case chip::DeviceLayer::DeviceEventType::kCommissioningWindowOpened: log_i("Commissioning window opened"); break; + + case chip::DeviceLayer::DeviceEventType::kCommissioningWindowClosed: log_i("Commissioning window closed"); break; + + case chip::DeviceLayer::DeviceEventType::kFabricRemoved: + { + log_i("Fabric removed successfully"); + if (chip::Server::GetInstance().GetFabricTable().FabricCount() == 0) { + chip::CommissioningWindowManager &commissionMgr = chip::Server::GetInstance().GetCommissioningWindowManager(); + constexpr auto kTimeoutSeconds = chip::System::Clock::Seconds16(k_timeout_seconds); + if (!commissionMgr.IsCommissioningWindowOpen()) { + /* After removing last fabric, this example does not remove the Wi-Fi credentials + * and still has IP connectivity so, only advertising on DNS-SD. + */ + CHIP_ERROR err = commissionMgr.OpenBasicCommissioningWindow(kTimeoutSeconds, chip::CommissioningWindowAdvertisement::kDnssdOnly); + if (err != CHIP_NO_ERROR) { + log_e("Failed to open commissioning window, err:%" CHIP_ERROR_FORMAT, err.Format()); + } + } + } + break; + } + + case chip::DeviceLayer::DeviceEventType::kFabricWillBeRemoved: log_i("Fabric will be removed"); break; + + case chip::DeviceLayer::DeviceEventType::kFabricUpdated: log_i("Fabric is updated"); break; + + case chip::DeviceLayer::DeviceEventType::kFabricCommitted: log_i("Fabric is committed"); break; + + case chip::DeviceLayer::DeviceEventType::kBLEDeinitialized: log_i("BLE deinitialized and memory reclaimed"); break; + + default: break; + } +} + +esp_err_t matter_light_attribute_update( + app_driver_handle_t driver_handle, uint16_t endpoint_id, uint32_t cluster_id, uint32_t attribute_id, esp_matter_attr_val_t *val +) { + esp_err_t err = ESP_OK; + if (endpoint_id == light_endpoint_id) { + void *led = (void *)driver_handle; + if (cluster_id == OnOff::Id) { + if (attribute_id == OnOff::Attributes::OnOff::Id) { + err = light_accessory_set_power(led, val->val.b); + } + } else if (cluster_id == LevelControl::Id) { + if (attribute_id == LevelControl::Attributes::CurrentLevel::Id) { + err = light_accessory_set_brightness(led, val->val.u8); + } + } else if (cluster_id == ColorControl::Id) { + if (attribute_id == ColorControl::Attributes::CurrentHue::Id) { + err = light_accessory_set_hue(led, val->val.u8); + } else if (attribute_id == ColorControl::Attributes::CurrentSaturation::Id) { + err = light_accessory_set_saturation(led, val->val.u8); + } else if (attribute_id == ColorControl::Attributes::ColorTemperatureMireds::Id) { + err = light_accessory_set_temperature(led, val->val.u16); + } + } + } + return err; +} + +esp_err_t matter_light_set_defaults(uint16_t endpoint_id) { + esp_err_t err = ESP_OK; + + void *led = endpoint::get_priv_data(endpoint_id); + node_t *node = node::get(); + endpoint_t *endpoint = endpoint::get(node, endpoint_id); + cluster_t *cluster = NULL; + attribute_t *attribute = NULL; + esp_matter_attr_val_t val = esp_matter_invalid(NULL); + + /* Setting brightness */ + cluster = cluster::get(endpoint, LevelControl::Id); + attribute = attribute::get(cluster, LevelControl::Attributes::CurrentLevel::Id); + attribute::get_val(attribute, &val); + err |= light_accessory_set_brightness(led, val.val.u8); + + /* Setting color */ + cluster = cluster::get(endpoint, ColorControl::Id); + attribute = attribute::get(cluster, ColorControl::Attributes::ColorMode::Id); + attribute::get_val(attribute, &val); + if (val.val.u8 == (uint8_t)ColorControl::ColorMode::kCurrentHueAndCurrentSaturation) { + /* Setting hue */ + attribute = attribute::get(cluster, ColorControl::Attributes::CurrentHue::Id); + attribute::get_val(attribute, &val); + err |= light_accessory_set_hue(led, val.val.u8); + /* Setting saturation */ + attribute = attribute::get(cluster, ColorControl::Attributes::CurrentSaturation::Id); + attribute::get_val(attribute, &val); + err |= light_accessory_set_saturation(led, val.val.u8); + } else if (val.val.u8 == (uint8_t)ColorControl::ColorMode::kColorTemperature) { + /* Setting temperature */ + attribute = attribute::get(cluster, ColorControl::Attributes::ColorTemperatureMireds::Id); + attribute::get_val(attribute, &val); + err |= light_accessory_set_temperature(led, val.val.u16); + } else { + log_e("Color mode not supported"); + } + + /* Setting power */ + cluster = cluster::get(endpoint, OnOff::Id); + attribute = attribute::get(cluster, OnOff::Attributes::OnOff::Id); + attribute::get_val(attribute, &val); + err |= light_accessory_set_power(led, val.val.b); + + return err; +} + +void button_driver_init() { + /* Initialize button */ + pinMode(button_gpio, INPUT_PULLUP); +} + +// This callback is called for every attribute update. The callback implementation shall +// handle the desired attributes and return an appropriate error code. If the attribute +// is not of your interest, please do not return an error code and strictly return ESP_OK. +static esp_err_t app_attribute_update_cb( + attribute::callback_type_t type, uint16_t endpoint_id, uint32_t cluster_id, uint32_t attribute_id, esp_matter_attr_val_t *val, void *priv_data +) { + esp_err_t err = ESP_OK; + + if (type == PRE_UPDATE) { + /* Driver update */ + app_driver_handle_t driver_handle = (app_driver_handle_t)priv_data; + err = matter_light_attribute_update(driver_handle, endpoint_id, cluster_id, attribute_id, val); + } + + return err; +} + +// This callback is invoked when clients interact with the Identify Cluster. +// In the callback implementation, an endpoint can identify itself. (e.g., by flashing an LED or light). +static esp_err_t app_identification_cb(identification::callback_type_t type, uint16_t endpoint_id, uint8_t effect_id, uint8_t effect_variant, void *priv_data) { + log_i("Identification callback: type: %u, effect: %u, variant: %u", type, effect_id, effect_variant); + return ESP_OK; +} + +void setup() { + esp_err_t err = ESP_OK; + + /* Initialize driver */ + app_driver_handle_t light_handle = light_accessory_init(); + button_driver_init(); + + /* Create a Matter node and add the mandatory Root Node device type on endpoint 0 */ + node::config_t node_config; + + // node handle can be used to add/modify other endpoints. + node_t *node = node::create(&node_config, app_attribute_update_cb, app_identification_cb); + if (node == nullptr) { + log_e("Failed to create Matter node"); + abort(); + } + + extended_color_light::config_t light_config; + light_config.on_off.on_off = DEFAULT_POWER; + light_config.on_off.lighting.start_up_on_off = nullptr; + light_config.level_control.current_level = DEFAULT_BRIGHTNESS; + light_config.level_control.lighting.start_up_current_level = DEFAULT_BRIGHTNESS; + light_config.color_control.color_mode = (uint8_t)ColorControl::ColorMode::kColorTemperature; + light_config.color_control.enhanced_color_mode = (uint8_t)ColorControl::ColorMode::kColorTemperature; + light_config.color_control.color_temperature.startup_color_temperature_mireds = nullptr; + + // endpoint handles can be used to add/modify clusters. + endpoint_t *endpoint = extended_color_light::create(node, &light_config, ENDPOINT_FLAG_NONE, light_handle); + if (endpoint == nullptr) { + log_e("Failed to create extended color light endpoint"); + abort(); + } + + light_endpoint_id = endpoint::get_id(endpoint); + log_i("Light created with endpoint_id %d", light_endpoint_id); + + /* Mark deferred persistence for some attributes that might be changed rapidly */ + cluster_t *level_control_cluster = cluster::get(endpoint, LevelControl::Id); + attribute_t *current_level_attribute = attribute::get(level_control_cluster, LevelControl::Attributes::CurrentLevel::Id); + attribute::set_deferred_persistence(current_level_attribute); + + cluster_t *color_control_cluster = cluster::get(endpoint, ColorControl::Id); + attribute_t *current_x_attribute = attribute::get(color_control_cluster, ColorControl::Attributes::CurrentX::Id); + attribute::set_deferred_persistence(current_x_attribute); + attribute_t *current_y_attribute = attribute::get(color_control_cluster, ColorControl::Attributes::CurrentY::Id); // codespell:ignore + attribute::set_deferred_persistence(current_y_attribute); + attribute_t *color_temp_attribute = attribute::get(color_control_cluster, ColorControl::Attributes::ColorTemperatureMireds::Id); + attribute::set_deferred_persistence(color_temp_attribute); + +#if CHIP_DEVICE_CONFIG_ENABLE_THREAD + /* Set OpenThread platform config */ + esp_openthread_platform_config_t config = { + .radio_config = ESP_OPENTHREAD_DEFAULT_RADIO_CONFIG(), + .host_config = ESP_OPENTHREAD_DEFAULT_HOST_CONFIG(), + .port_config = ESP_OPENTHREAD_DEFAULT_PORT_CONFIG(), + }; + set_openthread_platform_config(&config); +#endif + + /* Matter start */ + err = esp_matter::start(app_event_cb); + if (err != ESP_OK) { + log_e("Failed to start Matter, err:%d", err); + abort(); + } + +#if CONFIG_ENABLE_ENCRYPTED_OTA + err = esp_matter_ota_requestor_encrypted_init(s_decryption_key, s_decryption_key_len); + if (err != ESP_OK) { + log_e("Failed to initialized the encrypted OTA, err: %d", err); + abort(); + } +#endif // CONFIG_ENABLE_ENCRYPTED_OTA + +#if CONFIG_ENABLE_CHIP_SHELL + esp_matter::console::diagnostics_register_commands(); + esp_matter::console::wifi_register_commands(); +#if CONFIG_OPENTHREAD_CLI + esp_matter::console::otcli_register_commands(); +#endif + esp_matter::console::init(); +#endif +} + +void loop() { + static uint32_t button_time_stamp = 0; + static bool button_state = false; + static bool started = false; + + if (!isAccessoryCommissioned()) { + log_w("Accessory not commissioned yet. Waiting for commissioning."); +#ifdef RGB_BUILTIN + rgbLedWrite(RGB_BUILTIN, 48, 0, 20); // Purple indicates accessory not commissioned +#endif + delay(5000); + return; + } + +#if CHIP_DEVICE_CONFIG_ENABLE_WIFI_STATION + if (!isWifiConnected()) { + log_w("Wi-Fi not connected yet. Waiting for connection."); +#ifdef RGB_BUILTIN + rgbLedWrite(RGB_BUILTIN, 48, 20, 0); // Orange indicates accessory not connected to Wi-Fi +#endif + delay(5000); + return; + } +#endif + +#if CHIP_DEVICE_CONFIG_ENABLE_THREAD + if (!isThreadConnected()) { + log_w("Thread not connected yet. Waiting for connection."); +#ifdef RGB_BUILTIN + rgbLedWrite(RGB_BUILTIN, 0, 20, 48); // Blue indicates accessory not connected to Trhead +#endif + delay(5000); + return; + } +#endif + + // Once all network connections are established, the accessory is ready for use + // Run it only once + if (!started) { + log_i("Accessory is commissioned and connected to Wi-Fi. Ready for use."); + started = true; + // Starting driver with default values + matter_light_set_defaults(light_endpoint_id); + } + + // Check if the button is pressed and toggle the light right away + if (digitalRead(button_gpio) == LOW && !button_state) { + // deals with button debounce + button_time_stamp = millis(); // record the time while the button is pressed. + button_state = true; // pressed. + + // Toggle button is pressed - toggle the light + log_i("Toggle button pressed"); + + endpoint_t *endpoint = endpoint::get(node::get(), light_endpoint_id); + cluster_t *cluster = cluster::get(endpoint, OnOff::Id); + attribute_t *attribute = attribute::get(cluster, OnOff::Attributes::OnOff::Id); + + esp_matter_attr_val_t val = esp_matter_invalid(NULL); + attribute::get_val(attribute, &val); + val.val.b = !val.val.b; + attribute::update(light_endpoint_id, OnOff::Id, OnOff::Attributes::OnOff::Id, &val); + } + + // Check if the button is released and handle the factory reset + uint32_t time_diff = millis() - button_time_stamp; + if (button_state && time_diff > 100 && digitalRead(button_gpio) == HIGH) { + button_state = false; // released. It can be pressed again after 100ms debounce. + + // Factory reset is triggered if the button is pressed for more than 10 seconds + if (time_diff > 10000) { + log_i("Factory reset triggered. Light will restored to factory settings."); + esp_matter::factory_reset(); + } + } + + delay(50); // WDT is happier with a delay +} diff --git a/idf_component_examples/esp_matter_light/partitions.csv b/idf_component_examples/esp_matter_light/partitions.csv new file mode 100644 index 00000000000..ffe5f242e76 --- /dev/null +++ b/idf_component_examples/esp_matter_light/partitions.csv @@ -0,0 +1,10 @@ +# Name, Type, SubType, Offset, Size, Flags +# Note: Firmware partition offset needs to be 64K aligned, initial 36K (9 sectors) are reserved for bootloader and partition table +esp_secure_cert, 0x3F, ,0xd000, 0x2000, encrypted +nvs, data, nvs, 0x10000, 0xC000, +nvs_keys, data, nvs_keys,, 0x1000, encrypted +otadata, data, ota, , 0x2000 +phy_init, data, phy, , 0x1000, +ota_0, app, ota_0, 0x20000, 0x1E0000, +ota_1, app, ota_1, 0x200000, 0x1E0000, +fctry, data, nvs, 0x3E0000, 0x6000 diff --git a/idf_component_examples/esp_matter_light/sdkconfig.defaults.c6_thread b/idf_component_examples/esp_matter_light/sdkconfig.defaults.c6_thread new file mode 100644 index 00000000000..502480f94b1 --- /dev/null +++ b/idf_component_examples/esp_matter_light/sdkconfig.defaults.c6_thread @@ -0,0 +1,79 @@ +CONFIG_IDF_TARGET="esp32c6" + +# Arduino Settings +CONFIG_FREERTOS_HZ=1000 +CONFIG_AUTOSTART_ARDUINO=y + +# Log Levels +# Boot Messages - Log level +CONFIG_BOOTLOADER_LOG_LEVEL_ERROR=y +# Arduino Log Level +CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_INFO=y +# IDF Log Level +CONFIG_LOG_DEFAULT_LEVEL_ERROR=y + +# Default to 921600 baud when flashing and monitoring device +CONFIG_ESPTOOLPY_BAUD_921600B=y +CONFIG_ESPTOOLPY_BAUD=921600 +CONFIG_ESPTOOLPY_COMPRESSED=y +CONFIG_ESPTOOLPY_MONITOR_BAUD_115200B=y +CONFIG_ESPTOOLPY_MONITOR_BAUD=115200 +CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y + +# libsodium +CONFIG_LIBSODIUM_USE_MBEDTLS_SHA=y + +# NIMBLE +CONFIG_BT_ENABLED=y +CONFIG_BT_NIMBLE_ENABLED=y +CONFIG_BT_NIMBLE_EXT_ADV=n +CONFIG_BT_NIMBLE_HCI_EVT_BUF_SIZE=70 +CONFIG_USE_BLE_ONLY_FOR_COMMISSIONING=n + +# FreeRTOS should use legacy API +CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY=y + +# Enable OpenThread +CONFIG_OPENTHREAD_ENABLED=y +CONFIG_OPENTHREAD_SRP_CLIENT=y +CONFIG_OPENTHREAD_DNS_CLIENT=y +CONFIG_OPENTHREAD_LOG_LEVEL_DYNAMIC=n +CONFIG_OPENTHREAD_LOG_LEVEL_NOTE=y +CONFIG_OPENTHREAD_CLI=n + +# Disable lwip ipv6 autoconfig +CONFIG_LWIP_IPV6_AUTOCONFIG=n + +# Use a custom partition table +CONFIG_PARTITION_TABLE_CUSTOM=y +CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv" + +# LwIP config for OpenThread +CONFIG_LWIP_IPV6_NUM_ADDRESSES=8 +CONFIG_LWIP_MULTICAST_PING=y + +# MDNS platform +CONFIG_USE_MINIMAL_MDNS=n +CONFIG_ENABLE_EXTENDED_DISCOVERY=y + +# Enable OTA Requester +CONFIG_ENABLE_OTA_REQUESTOR=n + +# Disable STA and AP for ESP32C6 +CONFIG_ENABLE_WIFI_STATION=n +CONFIG_ENABLE_WIFI_AP=n + +# Enable chip shell +CONFIG_ENABLE_CHIP_SHELL=n + +# Disable persist subscriptions +CONFIG_ENABLE_PERSIST_SUBSCRIPTIONS=n + +# MRP configs +CONFIG_MRP_LOCAL_ACTIVE_RETRY_INTERVAL_FOR_THREAD=5000 +CONFIG_MRP_LOCAL_IDLE_RETRY_INTERVAL_FOR_THREAD=5000 +CONFIG_MRP_RETRY_INTERVAL_SENDER_BOOST_FOR_THREAD=5000 +CONFIG_MRP_MAX_RETRANS=3 + +# Enable HKDF in mbedtls +CONFIG_MBEDTLS_HKDF_C=y diff --git a/idf_component_examples/esp_matter_light/sdkconfig.defaults.esp32c3 b/idf_component_examples/esp_matter_light/sdkconfig.defaults.esp32c3 new file mode 100644 index 00000000000..df6d6b0d585 --- /dev/null +++ b/idf_component_examples/esp_matter_light/sdkconfig.defaults.esp32c3 @@ -0,0 +1,64 @@ +CONFIG_IDF_TARGET="esp32c3" + +# Arduino Settings +CONFIG_FREERTOS_HZ=1000 +CONFIG_AUTOSTART_ARDUINO=y + +# Log Levels +# Boot Messages - Log level +CONFIG_BOOTLOADER_LOG_LEVEL_ERROR=y +# Arduino Log Level +CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_INFO=y +# IDF Log Level +CONFIG_LOG_DEFAULT_LEVEL_ERROR=y + +# Default to 921600 baud when flashing and monitoring device +CONFIG_ESPTOOLPY_BAUD_921600B=y +CONFIG_ESPTOOLPY_BAUD=921600 +CONFIG_ESPTOOLPY_COMPRESSED=y +CONFIG_ESPTOOLPY_MONITOR_BAUD_115200B=y +CONFIG_ESPTOOLPY_MONITOR_BAUD=115200 +CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y + +#enable BT +CONFIG_BT_ENABLED=y +CONFIG_BT_NIMBLE_ENABLED=y + +#disable BT connection reattempt +CONFIG_BT_NIMBLE_ENABLE_CONN_REATTEMPT=n + +#enable lwip ipv6 autoconfig +CONFIG_LWIP_IPV6_AUTOCONFIG=y + +# Use a custom partition table +CONFIG_PARTITION_TABLE_CUSTOM=y +CONFIG_PARTITION_TABLE_FILENAME="partitions.csv" +CONFIG_PARTITION_TABLE_OFFSET=0xC000 + +# Disable chip shell +CONFIG_ENABLE_CHIP_SHELL=n + +# Enable OTA Requester +CONFIG_ENABLE_OTA_REQUESTOR=n + +#enable lwIP route hooks +CONFIG_LWIP_HOOK_IP6_ROUTE_DEFAULT=y +CONFIG_LWIP_HOOK_ND6_GET_GW_DEFAULT=y + +# disable softap by default +CONFIG_ESP_WIFI_SOFTAP_SUPPORT=n +CONFIG_ENABLE_WIFI_STATION=y +CONFIG_ENABLE_WIFI_AP=n + +# Disable DS Peripheral +CONFIG_ESP_SECURE_CERT_DS_PERIPHERAL=n + +# Use compact attribute storage mode +CONFIG_ESP_MATTER_NVS_USE_COMPACT_ATTR_STORAGE=y + +# Enable HKDF in mbedtls +CONFIG_MBEDTLS_HKDF_C=y + +# Increase LwIP IPv6 address number to 6 (MAX_FABRIC + 1) +# unique local addresses for fabrics(MAX_FABRIC), a link local address(1) +CONFIG_LWIP_IPV6_NUM_ADDRESSES=6 diff --git a/idf_component_examples/esp_matter_light/sdkconfig.defaults.esp32c6 b/idf_component_examples/esp_matter_light/sdkconfig.defaults.esp32c6 new file mode 100644 index 00000000000..f228f3158c8 --- /dev/null +++ b/idf_component_examples/esp_matter_light/sdkconfig.defaults.esp32c6 @@ -0,0 +1,79 @@ +CONFIG_IDF_TARGET="esp32c6" + +# Arduino Settings +CONFIG_FREERTOS_HZ=1000 +CONFIG_AUTOSTART_ARDUINO=y + +# Log Levels +# Boot Messages - Log level +CONFIG_BOOTLOADER_LOG_LEVEL_ERROR=y +# Arduino Log Level +CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_INFO=y +# IDF Log Level +CONFIG_LOG_DEFAULT_LEVEL_ERROR=y + +# Default to 921600 baud when flashing and monitoring device +CONFIG_ESPTOOLPY_BAUD_921600B=y +CONFIG_ESPTOOLPY_BAUD=921600 +CONFIG_ESPTOOLPY_COMPRESSED=y +CONFIG_ESPTOOLPY_MONITOR_BAUD_115200B=y +CONFIG_ESPTOOLPY_MONITOR_BAUD=115200 +CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y + +#enable BT +CONFIG_BT_ENABLED=y +CONFIG_BT_NIMBLE_ENABLED=y + +#disable BT connection reattempt +CONFIG_BT_NIMBLE_ENABLE_CONN_REATTEMPT=n + +#enable lwip ipv6 autoconfig +CONFIG_LWIP_IPV6_AUTOCONFIG=y + +# Use a custom partition table +CONFIG_PARTITION_TABLE_CUSTOM=y +CONFIG_PARTITION_TABLE_FILENAME="partitions.csv" +CONFIG_PARTITION_TABLE_OFFSET=0xC000 + +# Disable chip shell +CONFIG_ENABLE_CHIP_SHELL=n + +# Enable OTA Requester +CONFIG_ENABLE_OTA_REQUESTOR=n + +#enable lwIP route hooks +CONFIG_LWIP_HOOK_IP6_ROUTE_DEFAULT=y +CONFIG_LWIP_HOOK_ND6_GET_GW_DEFAULT=y + +# disable softap by default +CONFIG_ESP_WIFI_SOFTAP_SUPPORT=n +CONFIG_ENABLE_WIFI_STATION=y +CONFIG_ENABLE_WIFI_AP=n + +# Disable DS Peripheral +CONFIG_ESP_SECURE_CERT_DS_PERIPHERAL=n + +# Use compact attribute storage mode +CONFIG_ESP_MATTER_NVS_USE_COMPACT_ATTR_STORAGE=y + +# Enable HKDF in mbedtls +CONFIG_MBEDTLS_HKDF_C=y + +# Increase LwIP IPv6 address number to 6 (MAX_FABRIC + 1) +# unique local addresses for fabrics(MAX_FABRIC), a link local address(1) +CONFIG_LWIP_IPV6_NUM_ADDRESSES=6 + +# libsodium +CONFIG_LIBSODIUM_USE_MBEDTLS_SHA=y + +# NIMBLE +CONFIG_BT_NIMBLE_EXT_ADV=n +CONFIG_BT_NIMBLE_HCI_EVT_BUF_SIZE=70 +CONFIG_USE_BLE_ONLY_FOR_COMMISSIONING=y + +# FreeRTOS should use legacy API +CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY=y + +# Use minimal mDNS +CONFIG_USE_MINIMAL_MDNS=y +CONFIG_ENABLE_EXTENDED_DISCOVERY=y diff --git a/idf_component_examples/esp_matter_light/sdkconfig.defaults.esp32s3 b/idf_component_examples/esp_matter_light/sdkconfig.defaults.esp32s3 new file mode 100644 index 00000000000..9c1aa36b6c9 --- /dev/null +++ b/idf_component_examples/esp_matter_light/sdkconfig.defaults.esp32s3 @@ -0,0 +1,64 @@ +CONFIG_IDF_TARGET="esp32s3" + +# Arduino Settings +CONFIG_FREERTOS_HZ=1000 +CONFIG_AUTOSTART_ARDUINO=y + +# Log Levels +# Boot Messages - Log level +CONFIG_BOOTLOADER_LOG_LEVEL_ERROR=y +# Arduino Log Level +CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_INFO=y +# IDF Log Level +CONFIG_LOG_DEFAULT_LEVEL_ERROR=y + +# Default to 921600 baud when flashing and monitoring device +CONFIG_ESPTOOLPY_BAUD_921600B=y +CONFIG_ESPTOOLPY_BAUD=921600 +CONFIG_ESPTOOLPY_COMPRESSED=y +CONFIG_ESPTOOLPY_MONITOR_BAUD_115200B=y +CONFIG_ESPTOOLPY_MONITOR_BAUD=115200 +CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y + +#enable BT +CONFIG_BT_ENABLED=y +CONFIG_BT_NIMBLE_ENABLED=y + +#disable BT connection reattempt +CONFIG_BT_NIMBLE_ENABLE_CONN_REATTEMPT=n + +#enable lwip ipv6 autoconfig +CONFIG_LWIP_IPV6_AUTOCONFIG=y + +# Use a custom partition table +CONFIG_PARTITION_TABLE_CUSTOM=y +CONFIG_PARTITION_TABLE_FILENAME="partitions.csv" +CONFIG_PARTITION_TABLE_OFFSET=0xC000 + +# Disable chip shell +CONFIG_ENABLE_CHIP_SHELL=n + +# Enable OTA Requester +CONFIG_ENABLE_OTA_REQUESTOR=n + +#enable lwIP route hooks +CONFIG_LWIP_HOOK_IP6_ROUTE_DEFAULT=y +CONFIG_LWIP_HOOK_ND6_GET_GW_DEFAULT=y + +# disable softap by default +CONFIG_ESP_WIFI_SOFTAP_SUPPORT=n +CONFIG_ENABLE_WIFI_STATION=y +CONFIG_ENABLE_WIFI_AP=n + +# Disable DS Peripheral +CONFIG_ESP_SECURE_CERT_DS_PERIPHERAL=n + +# Use compact attribute storage mode +CONFIG_ESP_MATTER_NVS_USE_COMPACT_ATTR_STORAGE=y + +# Enable HKDF in mbedtls +CONFIG_MBEDTLS_HKDF_C=y + +# Increase LwIP IPv6 address number to 6 (MAX_FABRIC + 1) +# unique local addresses for fabrics(MAX_FABRIC), a link local address(1) +CONFIG_LWIP_IPV6_NUM_ADDRESSES=6 From ab951cf08a363b4dcf4479325b1cfed300128c1d Mon Sep 17 00:00:00 2001 From: Me No Dev Date: Wed, 18 Sep 2024 14:52:03 +0300 Subject: [PATCH 042/146] IDF release/v5.1 (#10320) * IDF release/v5.1 e026fd1f * IDF release/v5.1 99775566 * IDF release/v5.1 8af42a08 * IDF release/v5.1 33fbade6 * ci(pre-commit): Apply automatic fixes --------- Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> --- package/package_esp32_index.template.json | 128 +++++++++++----------- 1 file changed, 64 insertions(+), 64 deletions(-) diff --git a/package/package_esp32_index.template.json b/package/package_esp32_index.template.json index 8ea4f6cb47d..751617ee152 100644 --- a/package/package_esp32_index.template.json +++ b/package/package_esp32_index.template.json @@ -42,7 +42,7 @@ { "packager": "esp32", "name": "esp32-arduino-libs", - "version": "idf-release_v5.1-e026fd1f" + "version": "idf-release_v5.1-33fbade6" }, { "packager": "esp32", @@ -77,7 +77,7 @@ { "packager": "esp32", "name": "openocd-esp32", - "version": "v0.12.0-esp32-20240726" + "version": "v0.12.0-esp32-20240821" }, { "packager": "esp32", @@ -105,63 +105,63 @@ "tools": [ { "name": "esp32-arduino-libs", - "version": "idf-release_v5.1-e026fd1f", + "version": "idf-release_v5.1-33fbade6", "systems": [ { "host": "i686-mingw32", - "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-e026fd1f.zip", - "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-e026fd1f.zip", - "checksum": "SHA-256:4d2ab6f04042f7b3ca7f84564306ed901be2eb48874d38e992b548c78aad5d08", - "size": "308534003" + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "checksum": "SHA-256:578f325fa9fca635d9c6c3b19726cb26077751e3155b677317bde2e0b371df7d", + "size": "309285463" }, { "host": "x86_64-mingw32", - "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-e026fd1f.zip", - "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-e026fd1f.zip", - "checksum": "SHA-256:4d2ab6f04042f7b3ca7f84564306ed901be2eb48874d38e992b548c78aad5d08", - "size": "308534003" + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "checksum": "SHA-256:578f325fa9fca635d9c6c3b19726cb26077751e3155b677317bde2e0b371df7d", + "size": "309285463" }, { "host": "arm64-apple-darwin", - "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-e026fd1f.zip", - "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-e026fd1f.zip", - "checksum": "SHA-256:4d2ab6f04042f7b3ca7f84564306ed901be2eb48874d38e992b548c78aad5d08", - "size": "308534003" + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "checksum": "SHA-256:578f325fa9fca635d9c6c3b19726cb26077751e3155b677317bde2e0b371df7d", + "size": "309285463" }, { "host": "x86_64-apple-darwin", - "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-e026fd1f.zip", - "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-e026fd1f.zip", - "checksum": "SHA-256:4d2ab6f04042f7b3ca7f84564306ed901be2eb48874d38e992b548c78aad5d08", - "size": "308534003" + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "checksum": "SHA-256:578f325fa9fca635d9c6c3b19726cb26077751e3155b677317bde2e0b371df7d", + "size": "309285463" }, { "host": "x86_64-pc-linux-gnu", - "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-e026fd1f.zip", - "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-e026fd1f.zip", - "checksum": "SHA-256:4d2ab6f04042f7b3ca7f84564306ed901be2eb48874d38e992b548c78aad5d08", - "size": "308534003" + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "checksum": "SHA-256:578f325fa9fca635d9c6c3b19726cb26077751e3155b677317bde2e0b371df7d", + "size": "309285463" }, { "host": "i686-pc-linux-gnu", - "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-e026fd1f.zip", - "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-e026fd1f.zip", - "checksum": "SHA-256:4d2ab6f04042f7b3ca7f84564306ed901be2eb48874d38e992b548c78aad5d08", - "size": "308534003" + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "checksum": "SHA-256:578f325fa9fca635d9c6c3b19726cb26077751e3155b677317bde2e0b371df7d", + "size": "309285463" }, { "host": "aarch64-linux-gnu", - "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-e026fd1f.zip", - "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-e026fd1f.zip", - "checksum": "SHA-256:4d2ab6f04042f7b3ca7f84564306ed901be2eb48874d38e992b548c78aad5d08", - "size": "308534003" + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "checksum": "SHA-256:578f325fa9fca635d9c6c3b19726cb26077751e3155b677317bde2e0b371df7d", + "size": "309285463" }, { "host": "arm-linux-gnueabihf", - "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-e026fd1f.zip", - "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-e026fd1f.zip", - "checksum": "SHA-256:4d2ab6f04042f7b3ca7f84564306ed901be2eb48874d38e992b548c78aad5d08", - "size": "308534003" + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "checksum": "SHA-256:578f325fa9fca635d9c6c3b19726cb26077751e3155b677317bde2e0b371df7d", + "size": "309285463" } ] }, @@ -539,56 +539,56 @@ }, { "name": "openocd-esp32", - "version": "v0.12.0-esp32-20240726", + "version": "v0.12.0-esp32-20240821", "systems": [ { "host": "x86_64-pc-linux-gnu", - "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240726/openocd-esp32-linux-amd64-0.12.0-esp32-20240726.tar.gz", - "archiveFileName": "openocd-esp32-linux-amd64-0.12.0-esp32-20240726.tar.gz", - "checksum": "SHA-256:31fabbda5f39262ea4ed8cbba8adedc1d39838f01043cfab95435743c126ac56", - "size": "2368175" + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240821/openocd-esp32-linux-amd64-0.12.0-esp32-20240821.tar.gz", + "archiveFileName": "openocd-esp32-linux-amd64-0.12.0-esp32-20240821.tar.gz", + "checksum": "SHA-256:f8c68541fa38307bc0c0763b7e1e3fe4e943d5d45da07d817a73b492e103b652", + "size": "2373094" }, { "host": "aarch64-linux-gnu", - "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240726/openocd-esp32-linux-arm64-0.12.0-esp32-20240726.tar.gz", - "archiveFileName": "openocd-esp32-linux-arm64-0.12.0-esp32-20240726.tar.gz", - "checksum": "SHA-256:05589effadc93440ecca4a8ecc64e78dc94185a4ab72bc54634751dd7b6060d0", - "size": "2239793" + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240821/openocd-esp32-linux-arm64-0.12.0-esp32-20240821.tar.gz", + "archiveFileName": "openocd-esp32-linux-arm64-0.12.0-esp32-20240821.tar.gz", + "checksum": "SHA-256:4d6e263d84e447354dc685848557d6c284dda7fe007ee451f729a7edfa7baad7", + "size": "2251272" }, { "host": "arm-linux-gnueabihf", - "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240726/openocd-esp32-linux-armel-0.12.0-esp32-20240726.tar.gz", - "archiveFileName": "openocd-esp32-linux-armel-0.12.0-esp32-20240726.tar.gz", - "checksum": "SHA-256:25d241fd7467cc5aa8ec3256f2efca27d86bde7cf5577c32f742ad1cc598ad7d", - "size": "2388355" + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240821/openocd-esp32-linux-armel-0.12.0-esp32-20240821.tar.gz", + "archiveFileName": "openocd-esp32-linux-armel-0.12.0-esp32-20240821.tar.gz", + "checksum": "SHA-256:9d45679f2c4cf450d5e2350047cf57bb76dde2487d30cebce0a72c9173b5c45b", + "size": "2390074" }, { "host": "x86_64-apple-darwin", - "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240726/openocd-esp32-macos-0.12.0-esp32-20240726.tar.gz", - "archiveFileName": "openocd-esp32-macos-0.12.0-esp32-20240726.tar.gz", - "checksum": "SHA-256:c3fb8209dd046f83e9fe98b054649020991aea0ac95cf175a41967d446330148", - "size": "2478569" + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240821/openocd-esp32-macos-0.12.0-esp32-20240821.tar.gz", + "archiveFileName": "openocd-esp32-macos-0.12.0-esp32-20240821.tar.gz", + "checksum": "SHA-256:565c8fabc5f19a6e7a0864a294d74b307eec30b9291d16d3fc90e273f0330cb4", + "size": "2485320" }, { "host": "arm64-apple-darwin", - "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240726/openocd-esp32-macos-arm64-0.12.0-esp32-20240726.tar.gz", - "archiveFileName": "openocd-esp32-macos-arm64-0.12.0-esp32-20240726.tar.gz", - "checksum": "SHA-256:45b317f233ae7bf3059a93db925d8794affd393b170ef496da08fa3f2b360ac7", - "size": "2522358" + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240821/openocd-esp32-macos-arm64-0.12.0-esp32-20240821.tar.gz", + "archiveFileName": "openocd-esp32-macos-arm64-0.12.0-esp32-20240821.tar.gz", + "checksum": "SHA-256:68c5c7cf3d15b9810939a5edabc6ff2c9f4fc32262de91fc292a180bc5cc0637", + "size": "2530336" }, { "host": "i686-mingw32", - "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240726/openocd-esp32-win32-0.12.0-esp32-20240726.zip", - "archiveFileName": "openocd-esp32-win32-0.12.0-esp32-20240726.zip", - "checksum": "SHA-256:9735c9ada83bab1ff2b306f06b96421572fa12d01a751e09e10f243222fd95c4", - "size": "2907592" + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240821/openocd-esp32-win32-0.12.0-esp32-20240821.zip", + "archiveFileName": "openocd-esp32-win32-0.12.0-esp32-20240821.zip", + "checksum": "SHA-256:463fc2903ddaf03f86ff50836c5c63cc696550b0446140159eddfd2e85570c5d", + "size": "2916409" }, { "host": "x86_64-mingw32", - "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240726/openocd-esp32-win64-0.12.0-esp32-20240726.zip", - "archiveFileName": "openocd-esp32-win64-0.12.0-esp32-20240726.zip", - "checksum": "SHA-256:139d5ae128ea12023793e8bccdde7dd14383ad38c265cf66c9c6cc7c804e1333", - "size": "2907591" + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240821/openocd-esp32-win64-0.12.0-esp32-20240821.zip", + "archiveFileName": "openocd-esp32-win64-0.12.0-esp32-20240821.zip", + "checksum": "SHA-256:550f57369f1f1f6cc600b5dffa3378fd6164d8ea8db7c567cf41091771f090cb", + "size": "2916408" } ] }, From 7018cd114d00249674567846c9d67fbb3a1240a3 Mon Sep 17 00:00:00 2001 From: me-no-dev Date: Wed, 18 Sep 2024 14:54:00 +0300 Subject: [PATCH 043/146] Update core version to 3.0.5 --- cores/esp32/esp_arduino_version.h | 2 +- libraries/ArduinoOTA/library.properties | 2 +- libraries/AsyncUDP/library.properties | 2 +- libraries/BLE/library.properties | 2 +- libraries/BluetoothSerial/library.properties | 2 +- libraries/DNSServer/library.properties | 2 +- libraries/EEPROM/library.properties | 2 +- libraries/ESP32/library.properties | 2 +- libraries/ESP_I2S/library.properties | 2 +- libraries/ESP_NOW/library.properties | 2 +- libraries/ESP_SR/library.properties | 2 +- libraries/ESPmDNS/library.properties | 2 +- libraries/Ethernet/library.properties | 2 +- libraries/FFat/library.properties | 2 +- libraries/FS/library.properties | 2 +- libraries/HTTPClient/library.properties | 2 +- libraries/HTTPUpdate/library.properties | 2 +- libraries/HTTPUpdateServer/library.properties | 2 +- libraries/Insights/library.properties | 2 +- libraries/LittleFS/library.properties | 2 +- libraries/NetBIOS/library.properties | 2 +- libraries/Network/library.properties | 2 +- libraries/NetworkClientSecure/library.properties | 2 +- libraries/OpenThread/library.properties | 2 +- libraries/PPP/library.properties | 2 +- libraries/Preferences/library.properties | 2 +- libraries/RainMaker/library.properties | 2 +- libraries/SD/library.properties | 2 +- libraries/SD_MMC/library.properties | 2 +- libraries/SPI/library.properties | 2 +- libraries/SPIFFS/library.properties | 2 +- libraries/SimpleBLE/library.properties | 2 +- libraries/TFLiteMicro/library.properties | 2 +- libraries/Ticker/library.properties | 2 +- libraries/USB/library.properties | 2 +- libraries/Update/library.properties | 2 +- libraries/WebServer/library.properties | 2 +- libraries/WiFi/library.properties | 2 +- libraries/WiFiProv/library.properties | 2 +- libraries/Wire/library.properties | 2 +- package.json | 2 +- platform.txt | 2 +- 42 files changed, 42 insertions(+), 42 deletions(-) diff --git a/cores/esp32/esp_arduino_version.h b/cores/esp32/esp_arduino_version.h index adc8415dbd9..d541b534ab4 100644 --- a/cores/esp32/esp_arduino_version.h +++ b/cores/esp32/esp_arduino_version.h @@ -23,7 +23,7 @@ extern "C" { /** Minor version number (x.X.x) */ #define ESP_ARDUINO_VERSION_MINOR 0 /** Patch version number (x.x.X) */ -#define ESP_ARDUINO_VERSION_PATCH 4 +#define ESP_ARDUINO_VERSION_PATCH 5 /** * Macro to convert ARDUINO version number into an integer diff --git a/libraries/ArduinoOTA/library.properties b/libraries/ArduinoOTA/library.properties index a8336230f79..d3d9d08494b 100644 --- a/libraries/ArduinoOTA/library.properties +++ b/libraries/ArduinoOTA/library.properties @@ -1,5 +1,5 @@ name=ArduinoOTA -version=3.0.4 +version=3.0.5 author=Ivan Grokhotkov and Hristo Gochkov maintainer=Hristo Gochkov sentence=Enables Over The Air upgrades, via wifi and espota.py UDP request/TCP download. diff --git a/libraries/AsyncUDP/library.properties b/libraries/AsyncUDP/library.properties index 92332f78599..ba0cb838673 100644 --- a/libraries/AsyncUDP/library.properties +++ b/libraries/AsyncUDP/library.properties @@ -1,5 +1,5 @@ name=ESP32 Async UDP -version=3.0.4 +version=3.0.5 author=Me-No-Dev maintainer=Me-No-Dev sentence=Async UDP Library for ESP32 diff --git a/libraries/BLE/library.properties b/libraries/BLE/library.properties index 82395a1f6d5..74dbf9c8514 100644 --- a/libraries/BLE/library.properties +++ b/libraries/BLE/library.properties @@ -1,5 +1,5 @@ name=BLE -version=3.0.4 +version=3.0.5 author=Neil Kolban maintainer=Dariusz Krempa sentence=BLE functions for ESP32 diff --git a/libraries/BluetoothSerial/library.properties b/libraries/BluetoothSerial/library.properties index a91e8455e05..b7595ef3d1f 100644 --- a/libraries/BluetoothSerial/library.properties +++ b/libraries/BluetoothSerial/library.properties @@ -1,5 +1,5 @@ name=BluetoothSerial -version=3.0.4 +version=3.0.5 author=Evandro Copercini maintainer=Evandro Copercini sentence=Simple UART to Classical Bluetooth bridge for ESP32 diff --git a/libraries/DNSServer/library.properties b/libraries/DNSServer/library.properties index bb4ed950fad..fc1ce2d9107 100644 --- a/libraries/DNSServer/library.properties +++ b/libraries/DNSServer/library.properties @@ -1,5 +1,5 @@ name=DNSServer -version=3.0.4 +version=3.0.5 author=Kristijan Novoselić maintainer=Kristijan Novoselić, sentence=A simple DNS server for ESP32. diff --git a/libraries/EEPROM/library.properties b/libraries/EEPROM/library.properties index 6297bedcb22..d82b97dcf3d 100644 --- a/libraries/EEPROM/library.properties +++ b/libraries/EEPROM/library.properties @@ -1,5 +1,5 @@ name=EEPROM -version=3.0.4 +version=3.0.5 author=Ivan Grokhotkov maintainer=Paolo Becchi sentence=Enables reading and writing data a sequential, addressable FLASH storage diff --git a/libraries/ESP32/library.properties b/libraries/ESP32/library.properties index c0897f23eee..0f79f5cf010 100644 --- a/libraries/ESP32/library.properties +++ b/libraries/ESP32/library.properties @@ -1,5 +1,5 @@ name=ESP32 -version=3.0.4 +version=3.0.5 author=Hristo Gochkov, Ivan Grokhtkov maintainer=Hristo Gochkov sentence=ESP32 sketches examples diff --git a/libraries/ESP_I2S/library.properties b/libraries/ESP_I2S/library.properties index ad0e4fbdc59..d165941af0f 100644 --- a/libraries/ESP_I2S/library.properties +++ b/libraries/ESP_I2S/library.properties @@ -1,5 +1,5 @@ name=ESP_I2S -version=3.0.4 +version=3.0.5 author=me-no-dev maintainer=me-no-dev sentence=Library for ESP I2S communication diff --git a/libraries/ESP_NOW/library.properties b/libraries/ESP_NOW/library.properties index 1d1dc8926a1..262454bb069 100644 --- a/libraries/ESP_NOW/library.properties +++ b/libraries/ESP_NOW/library.properties @@ -1,5 +1,5 @@ name=ESP_NOW -version=3.0.4 +version=3.0.5 author=me-no-dev maintainer=P-R-O-C-H-Y sentence=Library for ESP_NOW diff --git a/libraries/ESP_SR/library.properties b/libraries/ESP_SR/library.properties index bf3ab3a14ba..6f0d447d29b 100644 --- a/libraries/ESP_SR/library.properties +++ b/libraries/ESP_SR/library.properties @@ -1,5 +1,5 @@ name=ESP_SR -version=3.0.4 +version=3.0.5 author=me-no-dev maintainer=me-no-dev sentence=Library for ESP Sound Recognition diff --git a/libraries/ESPmDNS/library.properties b/libraries/ESPmDNS/library.properties index 64ff66c3a1e..32a2fe24695 100644 --- a/libraries/ESPmDNS/library.properties +++ b/libraries/ESPmDNS/library.properties @@ -1,5 +1,5 @@ name=ESPmDNS -version=3.0.4 +version=3.0.5 author=Hristo Gochkov, Ivan Grokhtkov maintainer=Hristo Gochkov sentence=ESP32 mDNS Library diff --git a/libraries/Ethernet/library.properties b/libraries/Ethernet/library.properties index 1fc7df2192d..ea92455fe37 100644 --- a/libraries/Ethernet/library.properties +++ b/libraries/Ethernet/library.properties @@ -1,5 +1,5 @@ name=Ethernet -version=3.0.4 +version=3.0.5 author=Hristo Gochkov maintainer=Hristo Gochkov sentence=Enables network connection (local and Internet) using the ESP32 Ethernet. diff --git a/libraries/FFat/library.properties b/libraries/FFat/library.properties index 87dda7b1299..e01f1e2f2a7 100644 --- a/libraries/FFat/library.properties +++ b/libraries/FFat/library.properties @@ -1,5 +1,5 @@ name=FFat -version=3.0.4 +version=3.0.5 author=Hristo Gochkov, Ivan Grokhtkov, Larry Bernstone maintainer=Hristo Gochkov sentence=ESP32 FAT on Flash File System diff --git a/libraries/FS/library.properties b/libraries/FS/library.properties index 676faf43e99..9bdcdb83573 100644 --- a/libraries/FS/library.properties +++ b/libraries/FS/library.properties @@ -1,5 +1,5 @@ name=FS -version=3.0.4 +version=3.0.5 author=Hristo Gochkov, Ivan Grokhtkov maintainer=Hristo Gochkov sentence=ESP32 File System diff --git a/libraries/HTTPClient/library.properties b/libraries/HTTPClient/library.properties index 40da6a0cde9..2c1e160efee 100644 --- a/libraries/HTTPClient/library.properties +++ b/libraries/HTTPClient/library.properties @@ -1,5 +1,5 @@ name=HTTPClient -version=3.0.4 +version=3.0.5 author=Markus Sattler maintainer=Markus Sattler sentence=HTTP Client for ESP32 diff --git a/libraries/HTTPUpdate/library.properties b/libraries/HTTPUpdate/library.properties index ab7e9b6f872..aca3f392795 100644 --- a/libraries/HTTPUpdate/library.properties +++ b/libraries/HTTPUpdate/library.properties @@ -1,5 +1,5 @@ name=HTTPUpdate -version=3.0.4 +version=3.0.5 author=Markus Sattler maintainer=Markus Sattler sentence=Http Update for ESP32 diff --git a/libraries/HTTPUpdateServer/library.properties b/libraries/HTTPUpdateServer/library.properties index 249eb5ea173..03f6b299bf9 100644 --- a/libraries/HTTPUpdateServer/library.properties +++ b/libraries/HTTPUpdateServer/library.properties @@ -1,5 +1,5 @@ name=HTTPUpdateServer -version=3.0.4 +version=3.0.5 author=Hristo Kapanakov maintainer= sentence=Simple HTTP Update server based on the WebServer diff --git a/libraries/Insights/library.properties b/libraries/Insights/library.properties index cabf05f2806..a948dbe7ad1 100644 --- a/libraries/Insights/library.properties +++ b/libraries/Insights/library.properties @@ -1,5 +1,5 @@ name=ESP Insights -version=3.0.4 +version=3.0.5 author=Sanket Wadekar maintainer=Sanket Wadekar sentence=ESP Insights diff --git a/libraries/LittleFS/library.properties b/libraries/LittleFS/library.properties index f443b70bc2f..fac629fab31 100644 --- a/libraries/LittleFS/library.properties +++ b/libraries/LittleFS/library.properties @@ -1,5 +1,5 @@ name=LittleFS -version=3.0.4 +version=3.0.5 author= maintainer= sentence=LittleFS for esp32 diff --git a/libraries/NetBIOS/library.properties b/libraries/NetBIOS/library.properties index fdf9b63a0d2..c073252d6f2 100644 --- a/libraries/NetBIOS/library.properties +++ b/libraries/NetBIOS/library.properties @@ -1,5 +1,5 @@ name=NetBIOS -version=3.0.4 +version=3.0.5 author=Pablo@xpablo.cz maintainer=Hristo Gochkov sentence=Enables NBNS (NetBIOS) name resolution. diff --git a/libraries/Network/library.properties b/libraries/Network/library.properties index 49aadb7b874..2a80ad844ea 100644 --- a/libraries/Network/library.properties +++ b/libraries/Network/library.properties @@ -1,5 +1,5 @@ name=Networking -version=3.0.4 +version=3.0.5 author=Hristo Gochkov maintainer=Hristo Gochkov sentence=General network management library. diff --git a/libraries/NetworkClientSecure/library.properties b/libraries/NetworkClientSecure/library.properties index 2a0ca88ffbe..f71bc7ef0d8 100644 --- a/libraries/NetworkClientSecure/library.properties +++ b/libraries/NetworkClientSecure/library.properties @@ -1,5 +1,5 @@ name=NetworkClientSecure -version=3.0.4 +version=3.0.5 author=Evandro Luis Copercini maintainer=Github Community sentence=Enables secure network connection (local and Internet) using the ESP32 built-in WiFi. diff --git a/libraries/OpenThread/library.properties b/libraries/OpenThread/library.properties index 6a16dabddd0..39c6329725e 100644 --- a/libraries/OpenThread/library.properties +++ b/libraries/OpenThread/library.properties @@ -1,5 +1,5 @@ name=OpenThread -version=3.0.4 +version=3.0.5 author=Rodrigo Garcia | GitHub @SuGlider maintainer=Rodrigo Garcia sentence=Library for OpenThread Network on ESP32. diff --git a/libraries/PPP/library.properties b/libraries/PPP/library.properties index 0403b576df2..47264f1fd8c 100644 --- a/libraries/PPP/library.properties +++ b/libraries/PPP/library.properties @@ -1,5 +1,5 @@ name=PPP -version=3.0.4 +version=3.0.5 author=Hristo Gochkov maintainer=Hristo Gochkov sentence=Enables network connection using GSM Modem. diff --git a/libraries/Preferences/library.properties b/libraries/Preferences/library.properties index 8437425c04d..1923e59fc40 100644 --- a/libraries/Preferences/library.properties +++ b/libraries/Preferences/library.properties @@ -1,5 +1,5 @@ name=Preferences -version=3.0.4 +version=3.0.5 author=Hristo Gochkov maintainer=Hristo Gochkov sentence=Provides friendly access to ESP32's Non-Volatile Storage diff --git a/libraries/RainMaker/library.properties b/libraries/RainMaker/library.properties index e6bdd2f4579..cf67e9772e1 100644 --- a/libraries/RainMaker/library.properties +++ b/libraries/RainMaker/library.properties @@ -1,5 +1,5 @@ name=ESP RainMaker -version=3.0.4 +version=3.0.5 author=Sweety Mhaiske maintainer=Hristo Gochkov sentence=ESP RainMaker Support diff --git a/libraries/SD/library.properties b/libraries/SD/library.properties index 98d93943a7f..ca73443684f 100644 --- a/libraries/SD/library.properties +++ b/libraries/SD/library.properties @@ -1,5 +1,5 @@ name=SD -version=3.0.4 +version=3.0.5 author=Arduino, SparkFun maintainer=Arduino sentence=Enables reading and writing on SD cards. For all Arduino boards. diff --git a/libraries/SD_MMC/library.properties b/libraries/SD_MMC/library.properties index 242fc62ecac..176947e4017 100644 --- a/libraries/SD_MMC/library.properties +++ b/libraries/SD_MMC/library.properties @@ -1,5 +1,5 @@ name=SD_MMC -version=3.0.4 +version=3.0.5 author=Hristo Gochkov, Ivan Grokhtkov maintainer=Hristo Gochkov sentence=ESP32 SDMMC File System diff --git a/libraries/SPI/library.properties b/libraries/SPI/library.properties index 804f86e93c2..8d704b2667e 100644 --- a/libraries/SPI/library.properties +++ b/libraries/SPI/library.properties @@ -1,5 +1,5 @@ name=SPI -version=3.0.4 +version=3.0.5 author=Hristo Gochkov maintainer=Hristo Gochkov sentence=Enables the communication with devices that use the Serial Peripheral Interface (SPI) Bus. For all Arduino boards, BUT Arduino DUE. diff --git a/libraries/SPIFFS/library.properties b/libraries/SPIFFS/library.properties index 9aaf1d9c575..a901b32effd 100644 --- a/libraries/SPIFFS/library.properties +++ b/libraries/SPIFFS/library.properties @@ -1,5 +1,5 @@ name=SPIFFS -version=3.0.4 +version=3.0.5 author=Hristo Gochkov, Ivan Grokhtkov maintainer=Hristo Gochkov sentence=ESP32 SPIFFS File System diff --git a/libraries/SimpleBLE/library.properties b/libraries/SimpleBLE/library.properties index c49cd51b389..ab634e30461 100644 --- a/libraries/SimpleBLE/library.properties +++ b/libraries/SimpleBLE/library.properties @@ -1,5 +1,5 @@ name=SimpleBLE -version=3.0.4 +version=3.0.5 author=Hristo Gochkov maintainer=Hristo Gochkov sentence=Provides really simple BLE advertizer with just on and off diff --git a/libraries/TFLiteMicro/library.properties b/libraries/TFLiteMicro/library.properties index 1a966476619..026411cd30e 100644 --- a/libraries/TFLiteMicro/library.properties +++ b/libraries/TFLiteMicro/library.properties @@ -1,5 +1,5 @@ name=TFLite Micro -version=3.0.4 +version=3.0.5 author=Sanket Wadekar maintainer=Sanket Wadekar sentence=TensorFlow Lite for Microcontrollers diff --git a/libraries/Ticker/library.properties b/libraries/Ticker/library.properties index 297e3221b1d..3486c45fb09 100644 --- a/libraries/Ticker/library.properties +++ b/libraries/Ticker/library.properties @@ -1,5 +1,5 @@ name=Ticker -version=3.0.4 +version=3.0.5 author=Bert Melis maintainer=Hristo Gochkov sentence=Allows to call functions with a given interval. diff --git a/libraries/USB/library.properties b/libraries/USB/library.properties index 209fca7ebc3..abfa263769f 100644 --- a/libraries/USB/library.properties +++ b/libraries/USB/library.properties @@ -1,5 +1,5 @@ name=USB -version=3.0.4 +version=3.0.5 author=Hristo Gochkov maintainer=Hristo Gochkov sentence=ESP32S2 USB Library diff --git a/libraries/Update/library.properties b/libraries/Update/library.properties index b70add08cad..1aece5b163e 100644 --- a/libraries/Update/library.properties +++ b/libraries/Update/library.properties @@ -1,5 +1,5 @@ name=Update -version=3.0.4 +version=3.0.5 author=Hristo Gochkov maintainer=Hristo Gochkov sentence=ESP32 Sketch Update Library diff --git a/libraries/WebServer/library.properties b/libraries/WebServer/library.properties index 10dc2ff1a4f..8985e6f5179 100644 --- a/libraries/WebServer/library.properties +++ b/libraries/WebServer/library.properties @@ -1,5 +1,5 @@ name=WebServer -version=3.0.4 +version=3.0.5 author=Ivan Grokhotkov maintainer=Ivan Grokhtkov sentence=Simple web server library diff --git a/libraries/WiFi/library.properties b/libraries/WiFi/library.properties index 5acbee86744..fa63459c166 100644 --- a/libraries/WiFi/library.properties +++ b/libraries/WiFi/library.properties @@ -1,5 +1,5 @@ name=WiFi -version=3.0.4 +version=3.0.5 author=Hristo Gochkov maintainer=Hristo Gochkov sentence=Enables network connection (local and Internet) using the ESP32 built-in WiFi. diff --git a/libraries/WiFiProv/library.properties b/libraries/WiFiProv/library.properties index 886697c9af9..cbba5a3fbeb 100644 --- a/libraries/WiFiProv/library.properties +++ b/libraries/WiFiProv/library.properties @@ -1,5 +1,5 @@ name=WiFiProv -version=3.0.4 +version=3.0.5 author=Switi Mhaiske maintainer=Hristo Gochkov sentence=Enables provisioning. diff --git a/libraries/Wire/library.properties b/libraries/Wire/library.properties index 0c7fa749a7b..2d4ef887e34 100644 --- a/libraries/Wire/library.properties +++ b/libraries/Wire/library.properties @@ -1,5 +1,5 @@ name=Wire -version=3.0.4 +version=3.0.5 author=Hristo Gochkov maintainer=Hristo Gochkov sentence=Allows the communication between devices or sensors connected via Two Wire Interface Bus. For esp8266 boards. diff --git a/package.json b/package.json index 487bcc77a2c..6dbb69ad305 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "framework-arduinoespressif32", - "version": "3.0.4", + "version": "3.0.5", "description": "Arduino Wiring-based Framework for the Espressif ESP32, ESP32-S and ESP32-C series of SoCs", "keywords": [ "framework", diff --git a/platform.txt b/platform.txt index 0c1ff5bf573..073d5fd41c7 100644 --- a/platform.txt +++ b/platform.txt @@ -1,5 +1,5 @@ name=ESP32 Arduino -version=3.0.4 +version=3.0.5 tools.esp32-arduino-libs.path={runtime.platform.path}/tools/esp32-arduino-libs tools.esp32-arduino-libs.path.windows={runtime.platform.path}\tools\esp32-arduino-libs From 67682088cabc60f2b4f6d459d5635245c9ff9ca6 Mon Sep 17 00:00:00 2001 From: Me No Dev Date: Wed, 18 Sep 2024 15:56:37 +0300 Subject: [PATCH 044/146] IDF release/v5.3 (#10272) * IDF release/v5.3 2c46030b * IDF release/v5.3 cc3203dc * IDF release/v5.3 4d0db704 --- package/package_esp32_index.template.json | 128 +++++++++++----------- 1 file changed, 64 insertions(+), 64 deletions(-) diff --git a/package/package_esp32_index.template.json b/package/package_esp32_index.template.json index d14b71a7491..701e77b3b21 100644 --- a/package/package_esp32_index.template.json +++ b/package/package_esp32_index.template.json @@ -42,7 +42,7 @@ { "packager": "esp32", "name": "esp32-arduino-libs", - "version": "idf-release_v5.3-0bbd7281" + "version": "idf-release_v5.3-4d0db704" }, { "packager": "esp32", @@ -67,7 +67,7 @@ { "packager": "esp32", "name": "openocd-esp32", - "version": "v0.12.0-esp32-20240318" + "version": "v0.12.0-esp32-20240821" }, { "packager": "esp32", @@ -95,63 +95,63 @@ "tools": [ { "name": "esp32-arduino-libs", - "version": "idf-release_v5.3-0bbd7281", + "version": "idf-release_v5.3-4d0db704", "systems": [ { "host": "i686-mingw32", - "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-0bbd7281.zip", - "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-0bbd7281.zip", - "checksum": "SHA-256:e436e8ba703cf78ec81d80e956d2ae4a5e754f280950520ad7c425bb56738a80", - "size": "319140606" + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-4d0db704.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-4d0db704.zip", + "checksum": "SHA-256:fba40f59a2c1ed89bb3fb17c655ea312c9d6a9c3be102fbcb25f27e96ddc2bc6", + "size": "320072134" }, { "host": "x86_64-mingw32", - "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-0bbd7281.zip", - "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-0bbd7281.zip", - "checksum": "SHA-256:e436e8ba703cf78ec81d80e956d2ae4a5e754f280950520ad7c425bb56738a80", - "size": "319140606" + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-4d0db704.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-4d0db704.zip", + "checksum": "SHA-256:fba40f59a2c1ed89bb3fb17c655ea312c9d6a9c3be102fbcb25f27e96ddc2bc6", + "size": "320072134" }, { "host": "arm64-apple-darwin", - "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-0bbd7281.zip", - "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-0bbd7281.zip", - "checksum": "SHA-256:e436e8ba703cf78ec81d80e956d2ae4a5e754f280950520ad7c425bb56738a80", - "size": "319140606" + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-4d0db704.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-4d0db704.zip", + "checksum": "SHA-256:fba40f59a2c1ed89bb3fb17c655ea312c9d6a9c3be102fbcb25f27e96ddc2bc6", + "size": "320072134" }, { "host": "x86_64-apple-darwin", - "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-0bbd7281.zip", - "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-0bbd7281.zip", - "checksum": "SHA-256:e436e8ba703cf78ec81d80e956d2ae4a5e754f280950520ad7c425bb56738a80", - "size": "319140606" + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-4d0db704.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-4d0db704.zip", + "checksum": "SHA-256:fba40f59a2c1ed89bb3fb17c655ea312c9d6a9c3be102fbcb25f27e96ddc2bc6", + "size": "320072134" }, { "host": "x86_64-pc-linux-gnu", - "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-0bbd7281.zip", - "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-0bbd7281.zip", - "checksum": "SHA-256:e436e8ba703cf78ec81d80e956d2ae4a5e754f280950520ad7c425bb56738a80", - "size": "319140606" + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-4d0db704.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-4d0db704.zip", + "checksum": "SHA-256:fba40f59a2c1ed89bb3fb17c655ea312c9d6a9c3be102fbcb25f27e96ddc2bc6", + "size": "320072134" }, { "host": "i686-pc-linux-gnu", - "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-0bbd7281.zip", - "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-0bbd7281.zip", - "checksum": "SHA-256:e436e8ba703cf78ec81d80e956d2ae4a5e754f280950520ad7c425bb56738a80", - "size": "319140606" + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-4d0db704.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-4d0db704.zip", + "checksum": "SHA-256:fba40f59a2c1ed89bb3fb17c655ea312c9d6a9c3be102fbcb25f27e96ddc2bc6", + "size": "320072134" }, { "host": "aarch64-linux-gnu", - "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-0bbd7281.zip", - "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-0bbd7281.zip", - "checksum": "SHA-256:e436e8ba703cf78ec81d80e956d2ae4a5e754f280950520ad7c425bb56738a80", - "size": "319140606" + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-4d0db704.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-4d0db704.zip", + "checksum": "SHA-256:fba40f59a2c1ed89bb3fb17c655ea312c9d6a9c3be102fbcb25f27e96ddc2bc6", + "size": "320072134" }, { "host": "arm-linux-gnueabihf", - "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-0bbd7281.zip", - "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-0bbd7281.zip", - "checksum": "SHA-256:e436e8ba703cf78ec81d80e956d2ae4a5e754f280950520ad7c425bb56738a80", - "size": "319140606" + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-4d0db704.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-4d0db704.zip", + "checksum": "SHA-256:fba40f59a2c1ed89bb3fb17c655ea312c9d6a9c3be102fbcb25f27e96ddc2bc6", + "size": "320072134" } ] }, @@ -405,56 +405,56 @@ }, { "name": "openocd-esp32", - "version": "v0.12.0-esp32-20240318", + "version": "v0.12.0-esp32-20240821", "systems": [ { "host": "x86_64-pc-linux-gnu", - "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240318/openocd-esp32-linux-amd64-0.12.0-esp32-20240318.tar.gz", - "archiveFileName": "openocd-esp32-linux-amd64-0.12.0-esp32-20240318.tar.gz", - "checksum": "SHA-256:cf26c5cef4f6b04aa23cd2778675604e5a74a4ce4d8d17b854d05fbcb782d52c", - "size": "2252682" + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240821/openocd-esp32-linux-amd64-0.12.0-esp32-20240821.tar.gz", + "archiveFileName": "openocd-esp32-linux-amd64-0.12.0-esp32-20240821.tar.gz", + "checksum": "SHA-256:f8c68541fa38307bc0c0763b7e1e3fe4e943d5d45da07d817a73b492e103b652", + "size": "2373094" }, { "host": "aarch64-linux-gnu", - "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240318/openocd-esp32-linux-arm64-0.12.0-esp32-20240318.tar.gz", - "archiveFileName": "openocd-esp32-linux-arm64-0.12.0-esp32-20240318.tar.gz", - "checksum": "SHA-256:9b97a37aa2cab94424a778c25c0b4aa0f90d6ef9cda764a1d9289d061305f4b7", - "size": "2132904" + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240821/openocd-esp32-linux-arm64-0.12.0-esp32-20240821.tar.gz", + "archiveFileName": "openocd-esp32-linux-arm64-0.12.0-esp32-20240821.tar.gz", + "checksum": "SHA-256:4d6e263d84e447354dc685848557d6c284dda7fe007ee451f729a7edfa7baad7", + "size": "2251272" }, { "host": "arm-linux-gnueabihf", - "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240318/openocd-esp32-linux-armel-0.12.0-esp32-20240318.tar.gz", - "archiveFileName": "openocd-esp32-linux-armel-0.12.0-esp32-20240318.tar.gz", - "checksum": "SHA-256:b7e82776ec374983807d3389df09c632ad9bc8341f2075690b6b500319dfeaf4", - "size": "2271761" + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240821/openocd-esp32-linux-armel-0.12.0-esp32-20240821.tar.gz", + "archiveFileName": "openocd-esp32-linux-armel-0.12.0-esp32-20240821.tar.gz", + "checksum": "SHA-256:9d45679f2c4cf450d5e2350047cf57bb76dde2487d30cebce0a72c9173b5c45b", + "size": "2390074" }, { "host": "x86_64-apple-darwin", - "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240318/openocd-esp32-macos-0.12.0-esp32-20240318.tar.gz", - "archiveFileName": "openocd-esp32-macos-0.12.0-esp32-20240318.tar.gz", - "checksum": "SHA-256:b16c3082c94df1079367c44d99f7a8605534cd48aabc18898e46e94a2c8c57e7", - "size": "2365588" + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240821/openocd-esp32-macos-0.12.0-esp32-20240821.tar.gz", + "archiveFileName": "openocd-esp32-macos-0.12.0-esp32-20240821.tar.gz", + "checksum": "SHA-256:565c8fabc5f19a6e7a0864a294d74b307eec30b9291d16d3fc90e273f0330cb4", + "size": "2485320" }, { "host": "arm64-apple-darwin", - "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240318/openocd-esp32-macos-arm64-0.12.0-esp32-20240318.tar.gz", - "archiveFileName": "openocd-esp32-macos-arm64-0.12.0-esp32-20240318.tar.gz", - "checksum": "SHA-256:534ec925ae6e35e869e4e4e6e4d2c4a1eb081f97ebcc2dd5efdc52d12f4c2f86", - "size": "2406377" + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240821/openocd-esp32-macos-arm64-0.12.0-esp32-20240821.tar.gz", + "archiveFileName": "openocd-esp32-macos-arm64-0.12.0-esp32-20240821.tar.gz", + "checksum": "SHA-256:68c5c7cf3d15b9810939a5edabc6ff2c9f4fc32262de91fc292a180bc5cc0637", + "size": "2530336" }, { "host": "i686-mingw32", - "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240318/openocd-esp32-win32-0.12.0-esp32-20240318.zip", - "archiveFileName": "openocd-esp32-win32-0.12.0-esp32-20240318.zip", - "checksum": "SHA-256:d379329eba052435173ab0d69c9b15bc164a6ce489e2a67cd11169d2dabff633", - "size": "2783915" + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240821/openocd-esp32-win32-0.12.0-esp32-20240821.zip", + "archiveFileName": "openocd-esp32-win32-0.12.0-esp32-20240821.zip", + "checksum": "SHA-256:463fc2903ddaf03f86ff50836c5c63cc696550b0446140159eddfd2e85570c5d", + "size": "2916409" }, { "host": "x86_64-mingw32", - "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240318/openocd-esp32-win32-0.12.0-esp32-20240318.zip", - "archiveFileName": "openocd-esp32-win32-0.12.0-esp32-20240318.zip", - "checksum": "SHA-256:d379329eba052435173ab0d69c9b15bc164a6ce489e2a67cd11169d2dabff633", - "size": "2783915" + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240821/openocd-esp32-win64-0.12.0-esp32-20240821.zip", + "archiveFileName": "openocd-esp32-win64-0.12.0-esp32-20240821.zip", + "checksum": "SHA-256:550f57369f1f1f6cc600b5dffa3378fd6164d8ea8db7c567cf41091771f090cb", + "size": "2916408" } ] }, From ae052f414ae6eb0f927b1acfb25fa23fa4f91524 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20BOU=C3=89?= Date: Tue, 24 Sep 2024 17:26:34 +0200 Subject: [PATCH 045/146] Update Matter Light README.md (#10357) * Update Matter Light README.md Update Matter Light README.md * fix(matter): information in the commentaries from SuGlider * feat(matter): extended formating used the same formatting for the whole document and changed a few expresssions. * fix(matter): missing option idf.py --------- Co-authored-by: Rodrigo Garcia --- .../esp_matter_light/README.md | 65 +++++++++++++------ 1 file changed, 44 insertions(+), 21 deletions(-) diff --git a/idf_component_examples/esp_matter_light/README.md b/idf_component_examples/esp_matter_light/README.md index 13a55f8ef64..06a22cdceac 100644 --- a/idf_component_examples/esp_matter_light/README.md +++ b/idf_component_examples/esp_matter_light/README.md @@ -4,11 +4,11 @@ # Managed Component Light -This example is configured by default to work with the ESP32-S3, which has the RGB LED GPIO set as pin 48 and the BOOT button on GPIO 0. +This example sets automatically the RGB LED GPIO and BOOT Button GPIO based on the default pin used by the selected Devkit Board. This example creates a Color Temperature Light device using the esp_matter component downloaded from the [Espressif Component Registry](https://components.espressif.com/) instead of an extra component locally, so the example can work without setting up the esp-matter environment. -See the [docs](https://docs.espressif.com/projects/esp-matter/en/latest/esp32/developing.html) for more information about building and flashing the firmware. +Read the [documentation](https://docs.espressif.com/projects/esp-matter/en/latest/esp32/developing.html) for more information about building and flashing the firmware. The code is based on the Arduino API and uses Arduino as an IDF Component. @@ -23,12 +23,13 @@ Possible Matter Environments are: (*) Google Home Assistant requires the user to set up a Matter Light using the [Google Home Developer Console](https://developers.home.google.com/codelabs/matter-device#2). It is necessary to create a Matter Light device with VID = 0xFFF1 and PID = 0x8000. Otherwise, the Light won't show up in the GHA APP. This action is necessary because the Firmware uses Testing credentials and Google requires the user to create the testing device before using it. -There is no QR Code to be used when the Smartphone APP wants to add the Matter Device. +**There is no QR Code** to be used when the Smartphone APP wants to add the Matter Device. Please enter the code manually: `34970112332` -The devboard has a built-in LED that will be used as the Matter Light. -The default setting of the code uses pin 48 for the ESP32-S3. -Please change it in `main/matter_accessory_driver.h` or in the `sdkconfig.defaults.` file. +Each Devkit Board has a built-in LED that will be used as the Matter Light. +The default setting for ESP32-S3 is pin 48, for ESP32-C3 and ESP32-C6, it is pin 8. +The BOOT Button pin of ESP32-S3 is GPIO 0, by toher hand, the ESP32-C3 and ESP32-C6 use GPIO 9. +Please change it in using the MenuConfig executing `idf.py menuconfig` and selecting `Menu->Light Matter Accessory` options. ## LED Status and Factory Mode @@ -49,7 +50,8 @@ The built-in BOOT button will toggle On/Off and replicate the new state to the M ## Returning to the Factory State -Holding the BOOT button pressed for more than 10 seconds and then releasing it will erase all Matter and Wi-Fi configuration, forcing it to reset to factory state. After that, the device needs to be commissioned again. Previous setups done in the Smartphone APP won't work again; therefore, the virtual device shall be removed from the APP. +Holding the BOOT button pressed for more than 10 seconds and then releasing it will erase all Matter and Wi-Fi configuration, forcing it to reset to factory state. After that, the device needs to be commissioned again. +Previous setups done in the Smartphone APP won't work again; therefore, the virtual device shall be removed from the APP. ## Building the Application using Wi-Fi and Matter @@ -57,16 +59,26 @@ Use ESP-IDF 5.1.4 from https://github.com/espressif/esp-idf/tree/release/v5.1 This example has been tested with Arduino Core 3.0.4 The project will download all necessary components, including the Arduino Core. -Run `idf.py SDKCONFIG_DEFAULTS="sdkconfig.defaults..idf" -p flash monitor` +Run `idf.py -D SDKCONFIG_DEFAULTS="sdkconfig.defaults..idf" -p flash monitor` Example for ESP32-S3/Linux | macOS: -`idf.py SDKCONFIG_DEFAULTS="sdkconfig.defaults.esp32s3" -p /dev/ttyACM0 flash monitor` +``` +idf.py -D SDKCONFIG_DEFAULTS="sdkconfig.defaults.esp32s3" -p /dev/ttyACM0 flash monitor +``` Example for ESP32-C3/Windows: -`idf.py -D SDKCONFIG_DEFAULTS="sdkconfig.defaults.esp32c3" -p com3 flash monitor` +``` +idf.py -D SDKCONFIG_DEFAULTS="sdkconfig.defaults.esp32c3" -p com3 flash monitor +``` It may be necessary to delete some folders and files before running `idf.py` -Linux/macOS: `rm -rf build managed_components sdkconfig dependencies.lock` -Windows: `rmdir /s/q build managed_components` and `del sdkconfig dependencies.lock` +- Linux/macOS: + ``` + rm -rf build managed_components sdkconfig dependencies.lock + ``` +- Windows: + ``` + rmdir /s/q build managed_components && del sdkconfig dependencies.lock + ``` There is a configuration file for these SoC: esp32s3, esp32c3, esp32c6. Those are the tested devices that have a WS2812 RGB LED and can run BLE, Wi-Fi and Matter. @@ -74,17 +86,28 @@ Those are the tested devices that have a WS2812 RGB LED and can run BLE, Wi-Fi a In case it is necessary to change the Button Pin or the REG LED Pin, please use the `menuconfig` `idf.py menuconfig` and change the Menu Option `Light Matter Accessory` -## Using OpenThread with Matter +## Building the Application using OpenThread and Matter -This is possible with the ESP32-C6. -It is neessasy to have a Thread Border Routed in the Matter Environment. Check you matter hardware provider. +This is possible with the ESP32-C6. +It is necessary to have a Thread Border Router in the Matter Environment. +Check your Matter hardware provider. In order to build the application that will use Thread Networking instead of Wi-Fi, please execute: -Example for ESP32-S3/Linux | macOS: -`idf.py SDKCONFIG_DEFAULTS="sdkconfig.defaults.c6_thread" -p /dev/ttyACM0 flash monitor` -Example for ESP32-C3/Windows: -`idf.py -D SDKCONFIG_DEFAULTS="sdkconfig.defaults.c6_thread" -p com3 flash monitor` +Example for ESP32-C6/Linux | macOS: +``` +idf.py -D SDKCONFIG_DEFAULTS="sdkconfig.defaults.c6_thread" -p /dev/ttyACM0 flash monitor +``` +Example for ESP32-C6/Windows: +``` +idf.py -D SDKCONFIG_DEFAULTS="sdkconfig.defaults.c6_thread" -p com3 flash monitor +``` It may be necessary to delete some folders and files before running `idf.py` -Linux/macOS: `rm -rf build managed_components sdkconfig dependencies.lock` -Windows: `rmdir /s/q build managed_components` and `del sdkconfig dependencies.lock` +- Linux/macOS + ``` + rm -rf build managed_components sdkconfig dependencies.lock + ``` +- Windows + ``` + rmdir /s/q build managed_components && del sdkconfig dependencies.lock + ``` From a4c33e3897facd6e6f85547c746d33e9019bb0b2 Mon Sep 17 00:00:00 2001 From: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com> Date: Tue, 24 Sep 2024 15:18:28 -0300 Subject: [PATCH 046/146] feat(esp32p4): Add initial ESP32-P4 support (#10358) * feat(esp32p4): Initial changes required for ESP32-P4 * esp32-p4: Initial changes to build with Arduino Signed-off-by: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com> * fix(esp32p4): Fix lib builder errors * change(esp32p4): Unhide board * ci(esp32p4): Add ESP32-P4 to workflow * change(esptool): Update esptool to 4.8.0 * fix(build): Fix redefinition errors * fix(build): Remove old commands * change(esptool): Remove unsupported 32-bit tools * fix(get.py): Force exe generation * Revert "fix(get.py): Force exe generation" This reverts commit 979b16b3b19d02917ddccf0139c6913cca618714. * fix(get.py): Fix system check * change(tools): Push generated binaries to PR * ci(esp32p4): Add missing ESP32-P4 entries * fix(esp32p4): Add chip info * fix(esp32p4): Fix build commands * docs(esp32p4): Add missing references to P4 * fix(esp32p4): Fix clock sources definitions * fix(esp32p4): Set CPU frequency to 360 MHz so it is stable in all chips * refactor(esp32p4): Change preprocessor conditionals for maintainability Co-authored-by: me-no-dev * fix(esp32p4): Add missing menu options * fix(esp32p4): Mark as not in development json in readme * fix(esp32p4): Add P4 to ci.json files * ci(pre-commit): Apply automatic fixes * fix(get.py): Remove unused include * ci(pre-commit): Apply automatic fixes * change(tools): Push generated binaries to PR * ci(pre-commit): Apply automatic fixes * fix(ci.json): Fix formatting --------- Signed-off-by: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com> Co-authored-by: Jason2866 <24528715+Jason2866@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: me-no-dev Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> --- .github/scripts/on-push.sh | 1 + .github/scripts/sketch_utils.sh | 4 + .github/workflows/lib.yml | 3 + .github/workflows/push.yml | 2 +- .github/workflows/tests.yml | 4 +- .github/workflows/tests_wokwi.yml | 2 +- README.md | 1 + boards.txt | 91 +- cores/esp32/Esp.cpp | 6 + cores/esp32/HardwareSerial.h | 12 + cores/esp32/chip-debug-report.cpp | 6 + cores/esp32/esp32-hal-adc.c | 10 +- cores/esp32/esp32-hal-cpu.c | 33 +- cores/esp32/esp32-hal-i2c-slave.c | 802 +++++++++--------- cores/esp32/esp32-hal-i2c.c | 17 +- cores/esp32/esp32-hal-ledc.c | 5 + cores/esp32/esp32-hal-matrix.c | 2 + cores/esp32/esp32-hal-misc.c | 4 +- cores/esp32/esp32-hal-psram.c | 2 + cores/esp32/esp32-hal-spi.c | 252 +++--- cores/esp32/esp32-hal-spi.h | 8 +- cores/esp32/esp32-hal-touch.c | 21 +- cores/esp32/esp32-hal-touch.h | 2 + cores/esp32/esp32-hal-uart.c | 20 +- docs/en/lib_builder.rst | 1 + idf_component.yml | 1 + .../ArduinoOTA/examples/BasicOTA/ci.json | 3 +- .../AsyncUDP/examples/AsyncUDPClient/ci.json | 3 +- .../examples/AsyncUDPMulticastServer/ci.json | 3 +- .../AsyncUDP/examples/AsyncUDPServer/ci.json | 3 +- .../BLE/examples/BLE5_extended_scan/ci.json | 1 + .../examples/BLE5_multi_advertising/ci.json | 2 +- .../BLE5_periodic_advertising/ci.json | 6 +- .../BLE/examples/BLE5_periodic_sync/ci.json | 4 + libraries/BLE/examples/Beacon_Scanner/ci.json | 4 + libraries/BLE/examples/Client/ci.json | 2 + .../BLE/examples/EddystoneTLM_Beacon/ci.json | 1 + .../BLE/examples/EddystoneURL_Beacon/ci.json | 1 + libraries/BLE/examples/Notify/ci.json | 2 + libraries/BLE/examples/Scan/ci.json | 1 + libraries/BLE/examples/Server/ci.json | 7 +- .../BLE/examples/Server_multiconnect/ci.json | 5 + libraries/BLE/examples/UART/ci.json | 4 + libraries/BLE/examples/Write/ci.json | 2 + libraries/BLE/examples/iBeacon/ci.json | 2 + .../examples/DiscoverConnect/ci.json | 1 + .../examples/GetLocalMAC/ci.json | 1 + .../examples/SerialToSerialBT/ci.json | 1 + .../examples/SerialToSerialBTM/ci.json | 1 + .../examples/SerialToSerialBT_Legacy/ci.json | 1 + .../examples/SerialToSerialBT_SSP/ci.json | 1 + .../bt_classic_device_discovery/ci.json | 1 + .../examples/bt_remove_paired_devices/ci.json | 1 + .../DNSServer/examples/CaptivePortal/ci.json | 3 +- .../examples/Camera/CameraWebServer/ci.json | 3 +- .../examples/DeepSleep/ExternalWakeUp/ci.json | 3 +- .../DeepSleep/SmoothBlink_ULP_Code/ci.json | 1 + .../examples/RMT/RMTLoopback/RMTLoopback.ino | 2 +- .../ResetReason/ResetReason/ResetReason.ino | 2 + .../ESP32/examples/Time/SimpleTime/ci.json | 3 +- .../examples/Zigbee/Zigbee_Light_Bulb/ci.json | 1 + .../Zigbee/Zigbee_Light_Switch/ci.json | 1 + .../Zigbee/Zigbee_Temperature_Sensor/ci.json | 1 + .../examples/Zigbee/Zigbee_Thermostat/ci.json | 1 + .../examples/ESP_NOW_Broadcast_Master/ci.json | 3 +- .../examples/ESP_NOW_Broadcast_Slave/ci.json | 3 +- .../ESP_NOW/examples/ESP_NOW_Network/ci.json | 3 +- .../ESP_NOW/examples/ESP_NOW_Serial/ci.json | 3 +- libraries/ESP_SR/examples/Basic/ci.json | 1 + .../ESPmDNS/examples/mDNS-SD_Extended/ci.json | 3 +- .../ESPmDNS/examples/mDNS_Web_Server/ci.json | 3 +- .../Ethernet/examples/ETH_WIFI_BRIDGE/ci.json | 3 +- libraries/Ethernet/src/ETH.cpp | 6 +- libraries/FFat/examples/FFat_time/ci.json | 3 +- .../HTTPClient/examples/Authorization/ci.json | 3 +- .../examples/BasicHttpClient/ci.json | 3 +- .../examples/BasicHttpsClient/ci.json | 3 +- .../examples/HTTPClientEnterprise/ci.json | 3 +- .../examples/ReuseConnection/ci.json | 3 +- .../examples/StreamHttpClient/ci.json | 3 +- .../HTTPUpdate/examples/httpUpdate/ci.json | 3 +- .../examples/httpUpdateSPIFFS/ci.json | 3 +- .../examples/httpUpdateSecure/ci.json | 3 +- .../examples/WebUpdater/ci.json | 3 +- .../examples/DiagnosticsSmokeTest/ci.json | 3 +- .../examples/MinimalDiagnostics/ci.json | 3 +- .../LittleFS/examples/LITTLEFS_time/ci.json | 3 +- libraries/NetBIOS/examples/ESP_NBNST/ci.json | 3 +- .../examples/WiFiClientInsecure/ci.json | 3 +- .../examples/WiFiClientPSK/ci.json | 3 +- .../examples/WiFiClientSecure/ci.json | 3 +- .../WiFiClientSecureEnterprise/ci.json | 3 +- .../WiFiClientSecureProtocolUpgrade/ci.json | 3 +- .../WiFiClientShowPeerCredentials/ci.json | 3 +- .../WiFiClientTrustOnFirstUse/ci.json | 3 +- .../examples/COAP/coap_lamp/ci.json | 1 + .../examples/COAP/coap_switch/ci.json | 7 +- .../OpenThread/examples/SimpleCLI/ci.json | 8 +- .../OpenThread/examples/SimpleNode/ci.json | 6 +- .../ExtendedRouterNode/ci.json | 8 +- .../SimpleThreadNetwork/LeaderNode/ci.json | 1 + .../SimpleThreadNetwork/RouterNode/ci.json | 1 + .../OpenThread/examples/ThreadScan/ci.json | 1 + .../OpenThread/examples/onReceive/ci.json | 1 + .../PPP/examples/PPP_WIFI_BRIDGE/ci.json | 3 +- libraries/PPP/src/PPP.cpp | 6 +- .../RainMaker/examples/RMakerCustom/ci.json | 3 +- .../examples/RMakerCustomAirCooler/ci.json | 3 +- .../examples/RMakerSonoffDualR3/ci.json | 3 +- .../RainMaker/examples/RMakerSwitch/ci.json | 3 +- libraries/SD/examples/SD_time/ci.json | 3 +- libraries/SD_MMC/examples/SD2USBMSC/ci.json | 1 + libraries/SD_MMC/examples/SDMMC_Test/ci.json | 1 + libraries/SD_MMC/examples/SDMMC_time/ci.json | 1 + libraries/SD_MMC/src/SD_MMC.cpp | 14 +- libraries/SPI/src/SPI.cpp | 2 +- libraries/SPIFFS/examples/SPIFFS_time/ci.json | 3 +- .../examples/SimpleBleDevice/ci.json | 1 + .../Update/examples/AWS_S3_OTA_Update/ci.json | 3 +- .../Update/examples/HTTPS_OTA_Update/ci.json | 3 +- .../HTTP_Client_AES_OTA_Update/ci.json | 3 +- .../HTTP_Server_AES_OTA_Update/ci.json | 3 +- .../Update/examples/OTAWebUpdater/ci.json | 3 +- .../examples/AdvancedWebServer/ci.json | 3 +- .../WebServer/examples/FSBrowser/ci.json | 3 +- libraries/WebServer/examples/Filters/ci.json | 3 +- .../WebServer/examples/HelloServer/ci.json | 3 +- .../examples/HttpAdvancedAuth/ci.json | 3 +- .../examples/HttpAuthCallback/ci.json | 3 +- .../examples/HttpAuthCallbackInline/ci.json | 3 +- .../WebServer/examples/HttpBasicAuth/ci.json | 3 +- .../examples/HttpBasicAuthSHA1/ci.json | 3 +- .../HttpBasicAuthSHA1orBearerToken/ci.json | 3 +- .../examples/MultiHomedServers/ci.json | 3 +- .../WebServer/examples/PathArgServer/ci.json | 3 +- .../WebServer/examples/SDWebServer/ci.json | 3 +- .../examples/SimpleAuthentification/ci.json | 3 +- .../WebServer/examples/UploadHugeFile/ci.json | 3 +- .../WebServer/examples/WebServer/ci.json | 3 +- .../WebServer/examples/WebUpdate/ci.json | 3 +- .../WiFi/examples/FTM/FTM_Initiator/ci.json | 3 +- .../WiFi/examples/FTM/FTM_Responder/ci.json | 3 +- .../WiFi/examples/SimpleWiFiServer/ci.json | 3 +- libraries/WiFi/examples/WPS/ci.json | 3 +- .../WiFi/examples/WiFiAccessPoint/ci.json | 3 +- .../WiFi/examples/WiFiBlueToothSwitch/ci.json | 1 + libraries/WiFi/examples/WiFiClient/ci.json | 3 +- .../WiFi/examples/WiFiClientBasic/ci.json | 3 +- .../WiFi/examples/WiFiClientConnect/ci.json | 3 +- .../examples/WiFiClientEnterprise/ci.json | 3 +- .../WiFi/examples/WiFiClientEvents/ci.json | 3 +- .../WiFi/examples/WiFiClientStaticIP/ci.json | 3 +- libraries/WiFi/examples/WiFiExtender/ci.json | 3 +- libraries/WiFi/examples/WiFiIPv6/ci.json | 3 +- libraries/WiFi/examples/WiFiMulti/ci.json | 3 +- .../WiFi/examples/WiFiMultiAdvanced/ci.json | 3 +- libraries/WiFi/examples/WiFiScan/ci.json | 3 +- libraries/WiFi/examples/WiFiScanAsync/ci.json | 3 +- .../WiFi/examples/WiFiScanDualAntenna/ci.json | 3 +- libraries/WiFi/examples/WiFiScanTime/ci.json | 3 +- .../WiFi/examples/WiFiSmartConfig/ci.json | 3 +- .../WiFi/examples/WiFiTelnetToSerial/ci.json | 3 +- libraries/WiFi/examples/WiFiUDPClient/ci.json | 3 +- libraries/WiFiProv/examples/WiFiProv/ci.json | 3 +- package/package_esp32_index.template.json | 56 +- platform.txt | 11 +- tools/get.exe | Bin 6930008 -> 6943192 bytes tools/get.py | 8 + tools/platformio-build.py | 2 +- 169 files changed, 1079 insertions(+), 706 deletions(-) diff --git a/.github/scripts/on-push.sh b/.github/scripts/on-push.sh index 08ff505f1c0..73d9eeee398 100755 --- a/.github/scripts/on-push.sh +++ b/.github/scripts/on-push.sh @@ -91,6 +91,7 @@ if [ "$BUILD_PIO" -eq 0 ]; then fi #build sketches for different targets + build "esp32p4" "$CHUNK_INDEX" "$CHUNKS_CNT" "$BUILD_LOG" "$SKETCHES_FILE" "$SKETCHES_ESP32" build "esp32s3" "$CHUNK_INDEX" "$CHUNKS_CNT" "$BUILD_LOG" "$SKETCHES_FILE" "$SKETCHES_ESP32" build "esp32s2" "$CHUNK_INDEX" "$CHUNKS_CNT" "$BUILD_LOG" "$SKETCHES_FILE" "$SKETCHES_ESP32" build "esp32c3" "$CHUNK_INDEX" "$CHUNKS_CNT" "$BUILD_LOG" "$SKETCHES_FILE" "$SKETCHES_ESP32" diff --git a/.github/scripts/sketch_utils.sh b/.github/scripts/sketch_utils.sh index 813f61210cd..5af47dcb138 100755 --- a/.github/scripts/sketch_utils.sh +++ b/.github/scripts/sketch_utils.sh @@ -89,6 +89,7 @@ function build_sketch(){ # build_sketch [ex esp32c3_opts="PartitionScheme=huge_app,FlashMode=dio" esp32c6_opts="PartitionScheme=huge_app,FlashMode=dio" esp32h2_opts="PartitionScheme=huge_app,FlashMode=dio" + esp32p4_opts="PartitionScheme=huge_app,FlashMode=dio" # Select the common part of the FQBN based on the target. The rest will be # appended depending on the passed options. @@ -112,6 +113,9 @@ function build_sketch(){ # build_sketch [ex "esp32h2") fqbn="espressif:esp32:esp32h2:${options:-$esp32h2_opts}" ;; + "esp32p4") + fqbn="espressif:esp32:esp32p4:${options:-$esp32p4_opts}" + ;; esac # Make it look like a JSON array. diff --git a/.github/workflows/lib.yml b/.github/workflows/lib.yml index 894df61f4fd..7a7b863095d 100644 --- a/.github/workflows/lib.yml +++ b/.github/workflows/lib.yml @@ -42,6 +42,7 @@ jobs: - esp32s3 - esp32c6 - esp32h2 + - esp32p4 include: - target: esp32 @@ -56,6 +57,8 @@ jobs: fqbn: espressif:esp32:esp32c6 - target: esp32h2 fqbn: espressif:esp32:esp32h2 + - target: esp32p4 + fqbn: espressif:esp32:esp32p4 steps: diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml index d5c12c6d3e9..8d25b1a234d 100644 --- a/.github/workflows/push.yml +++ b/.github/workflows/push.yml @@ -233,7 +233,7 @@ jobs: # https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/tools/idf-docker-image.html # for details. idf_ver: ["release-v5.3"] - idf_target: ["esp32", "esp32s2", "esp32s3", "esp32c2", "esp32c3", "esp32c6", "esp32h2"] + idf_target: ["esp32", "esp32s2", "esp32s3", "esp32c2", "esp32c3", "esp32c6", "esp32h2", "esp32p4"] container: espressif/idf:${{ matrix.idf_ver }} steps: - name: Check out arduino-esp32 as a component diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 26de19d8f10..1ae748923b5 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -88,7 +88,7 @@ jobs: strategy: matrix: type: ${{ fromJson(needs.gen-matrix.outputs.build-types) }} - chip: ['esp32', 'esp32s2', 'esp32s3', 'esp32c3', 'esp32c6', 'esp32h2'] + chip: ['esp32', 'esp32s2', 'esp32s3', 'esp32c3', 'esp32c6', 'esp32h2', 'esp32p4'] with: type: ${{ matrix.type }} chip: ${{ matrix.chip }} @@ -105,7 +105,7 @@ jobs: fail-fast: false matrix: type: ${{ fromJson(needs.gen-matrix.outputs.hw-types) }} - chip: ['esp32', 'esp32s2', 'esp32s3', 'esp32c3', 'esp32c6', 'esp32h2'] + chip: ['esp32', 'esp32s2', 'esp32s3', 'esp32c3', 'esp32c6', 'esp32h2', 'esp32p4'] with: type: ${{ matrix.type }} chip: ${{ matrix.chip }} diff --git a/.github/workflows/tests_wokwi.yml b/.github/workflows/tests_wokwi.yml index f016cad25e0..14f85ee606e 100644 --- a/.github/workflows/tests_wokwi.yml +++ b/.github/workflows/tests_wokwi.yml @@ -165,7 +165,7 @@ jobs: fail-fast: false matrix: type: ['validation'] - chip: ['esp32', 'esp32s2', 'esp32s3', 'esp32c3', 'esp32c6', 'esp32h2'] + chip: ['esp32', 'esp32s2', 'esp32s3', 'esp32c3', 'esp32c6', 'esp32h2', 'esp32p4'] steps: - name: Report pending uses: actions/github-script@v7 diff --git a/README.md b/README.md index ee1880b8d05..d3dca34aafe 100644 --- a/README.md +++ b/README.md @@ -59,6 +59,7 @@ Here are the ESP32 series supported by the Arduino-ESP32 project: | ESP32-S3 | Yes | Yes | [ESP32-S3](https://www.espressif.com/sites/default/files/documentation/esp32-s3_datasheet_en.pdf) | | ESP32-C6 | Yes | Yes | [ESP32-C6](https://www.espressif.com/sites/default/files/documentation/esp32-c6_datasheet_en.pdf) | | ESP32-H2 | Yes | Yes | [ESP32-H2](https://www.espressif.com/sites/default/files/documentation/esp32-h2_datasheet_en.pdf) | +| ESP32-P4 | No | No | [ESP32-P4](https://www.espressif.com/sites/default/files/documentation/esp32-p4_datasheet_en.pdf) | > [!NOTE] > ESP32-C2 is also supported by Arduino-ESP32 but requires rebuilding the static libraries. This is not trivial and requires a good understanding of the ESP-IDF diff --git a/boards.txt b/boards.txt index ad47e0df455..f95cf4c21d3 100644 --- a/boards.txt +++ b/boards.txt @@ -163,7 +163,6 @@ esp32c2.menu.EraseFlash.all.upload.erase_cmd=-e ############################################################## esp32p4.name=ESP32P4 Dev Module -esp32p4.hide=true esp32p4.bootloader.tool=esptool_py esp32p4.bootloader.tool.default=esptool_py @@ -188,10 +187,10 @@ esp32p4.build.mcu=esp32p4 esp32p4.build.core=esp32 esp32p4.build.variant=esp32p4 esp32p4.build.board=ESP32P4_DEV -esp32p4.build.bootloader_addr=0x0 +esp32p4.build.bootloader_addr=0x2000 esp32p4.build.cdc_on_boot=0 -esp32p4.build.f_cpu=400000000L +esp32p4.build.f_cpu=360000000L esp32p4.build.flash_size=4MB esp32p4.build.flash_freq=80m esp32p4.build.img_freq=80m @@ -203,6 +202,25 @@ esp32p4.build.defines= ## IDE 2.0 Seems to not update the value esp32p4.menu.JTAGAdapter.default=Disabled esp32p4.menu.JTAGAdapter.default.build.copy_jtag_files=0 +esp32p4.menu.JTAGAdapter.builtin=Integrated USB JTAG +esp32p4.menu.JTAGAdapter.builtin.build.openocdscript=esp32p4-builtin.cfg +esp32p4.menu.JTAGAdapter.builtin.build.copy_jtag_files=1 +esp32p4.menu.JTAGAdapter.external=FTDI Adapter +esp32p4.menu.JTAGAdapter.external.build.openocdscript=esp32p4-ftdi.cfg +esp32p4.menu.JTAGAdapter.external.build.copy_jtag_files=1 +esp32p4.menu.JTAGAdapter.bridge=ESP USB Bridge +esp32p4.menu.JTAGAdapter.bridge.build.openocdscript=esp32p4-bridge.cfg +esp32p4.menu.JTAGAdapter.bridge.build.copy_jtag_files=1 + +esp32p4.menu.CDCOnBoot.default=Disabled +esp32p4.menu.CDCOnBoot.default.build.cdc_on_boot=0 +esp32p4.menu.CDCOnBoot.cdc=Enabled +esp32p4.menu.CDCOnBoot.cdc.build.cdc_on_boot=1 + +esp32p4.menu.PSRAM.disabled=Disabled +esp32p4.menu.PSRAM.disabled.build.defines= +esp32p4.menu.PSRAM.enabled=Enabled +esp32p4.menu.PSRAM.enabled.build.defines=-DBOARD_HAS_PSRAM esp32p4.menu.CDCOnBoot.default=Disabled esp32p4.menu.CDCOnBoot.default.build.cdc_on_boot=0 @@ -211,20 +229,87 @@ esp32p4.menu.CDCOnBoot.cdc.build.cdc_on_boot=1 esp32p4.menu.PartitionScheme.default=Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS) esp32p4.menu.PartitionScheme.default.build.partitions=default +esp32p4.menu.PartitionScheme.defaultffat=Default 4MB with ffat (1.2MB APP/1.5MB FATFS) +esp32p4.menu.PartitionScheme.defaultffat.build.partitions=default_ffat +esp32p4.menu.PartitionScheme.default_8MB=8M with spiffs (3MB APP/1.5MB SPIFFS) +esp32p4.menu.PartitionScheme.default_8MB.build.partitions=default_8MB +esp32p4.menu.PartitionScheme.default_8MB.upload.maximum_size=3342336 +esp32p4.menu.PartitionScheme.minimal=Minimal (1.3MB APP/700KB SPIFFS) +esp32p4.menu.PartitionScheme.minimal.build.partitions=minimal esp32p4.menu.PartitionScheme.no_fs=No FS 4MB (2MB APP x2) esp32p4.menu.PartitionScheme.no_fs.build.partitions=no_fs esp32p4.menu.PartitionScheme.no_fs.upload.maximum_size=2031616 +esp32p4.menu.PartitionScheme.no_ota=No OTA (2MB APP/2MB SPIFFS) +esp32p4.menu.PartitionScheme.no_ota.build.partitions=no_ota +esp32p4.menu.PartitionScheme.no_ota.upload.maximum_size=2097152 +esp32p4.menu.PartitionScheme.noota_3g=No OTA (1MB APP/3MB SPIFFS) +esp32p4.menu.PartitionScheme.noota_3g.build.partitions=noota_3g +esp32p4.menu.PartitionScheme.noota_3g.upload.maximum_size=1048576 +esp32p4.menu.PartitionScheme.noota_ffat=No OTA (2MB APP/2MB FATFS) +esp32p4.menu.PartitionScheme.noota_ffat.build.partitions=noota_ffat +esp32p4.menu.PartitionScheme.noota_ffat.upload.maximum_size=2097152 +esp32p4.menu.PartitionScheme.noota_3gffat=No OTA (1MB APP/3MB FATFS) +esp32p4.menu.PartitionScheme.noota_3gffat.build.partitions=noota_3gffat +esp32p4.menu.PartitionScheme.noota_3gffat.upload.maximum_size=1048576 esp32p4.menu.PartitionScheme.huge_app=Huge APP (3MB No OTA/1MB SPIFFS) esp32p4.menu.PartitionScheme.huge_app.build.partitions=huge_app esp32p4.menu.PartitionScheme.huge_app.upload.maximum_size=3145728 +esp32p4.menu.PartitionScheme.min_spiffs=Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS) +esp32p4.menu.PartitionScheme.min_spiffs.build.partitions=min_spiffs +esp32p4.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080 +esp32p4.menu.PartitionScheme.fatflash=16M Flash (2MB APP/12.5MB FATFS) +esp32p4.menu.PartitionScheme.fatflash.build.partitions=ffat +esp32p4.menu.PartitionScheme.fatflash.upload.maximum_size=2097152 +esp32p4.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS) +esp32p4.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB +esp32p4.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728 esp32p4.menu.PartitionScheme.custom=Custom esp32p4.menu.PartitionScheme.custom.build.partitions= esp32p4.menu.PartitionScheme.custom.upload.maximum_size=16777216 +## From https://docs.espressif.com/projects/esp-idf/en/latest/esp32p4/api-reference/kconfig.html#config-esp-default-cpu-freq-mhz +esp32p4.menu.CPUFreq.360=360MHz +esp32p4.menu.CPUFreq.360.build.f_cpu=360000000L +esp32p4.menu.CPUFreq.40=40MHz +esp32p4.menu.CPUFreq.40.build.f_cpu=40000000L + +esp32p4.menu.FlashMode.qio=QIO +esp32p4.menu.FlashMode.qio.build.flash_mode=dio +esp32p4.menu.FlashMode.qio.build.boot=qio +esp32p4.menu.FlashMode.dio=DIO +esp32p4.menu.FlashMode.dio.build.flash_mode=dio +esp32p4.menu.FlashMode.dio.build.boot=dio + +esp32p4.menu.FlashFreq.80=80MHz +esp32p4.menu.FlashFreq.80.build.flash_freq=80m +esp32p4.menu.FlashFreq.40=40MHz +esp32p4.menu.FlashFreq.40.build.flash_freq=40m + +esp32p4.menu.FlashSize.4M=4MB (32Mb) +esp32p4.menu.FlashSize.4M.build.flash_size=4MB +esp32p4.menu.FlashSize.8M=8MB (64Mb) +esp32p4.menu.FlashSize.8M.build.flash_size=8MB +esp32p4.menu.FlashSize.8M.build.partitions=default_8MB +esp32p4.menu.FlashSize.2M=2MB (16Mb) +esp32p4.menu.FlashSize.2M.build.flash_size=2MB +esp32p4.menu.FlashSize.2M.build.partitions=minimal +esp32p4.menu.FlashSize.16M=16MB (128Mb) +esp32p4.menu.FlashSize.16M.build.flash_size=16MB + esp32p4.menu.UploadSpeed.921600=921600 esp32p4.menu.UploadSpeed.921600.upload.speed=921600 esp32p4.menu.UploadSpeed.115200=115200 esp32p4.menu.UploadSpeed.115200.upload.speed=115200 +esp32p4.menu.UploadSpeed.256000.windows=256000 +esp32p4.menu.UploadSpeed.256000.upload.speed=256000 +esp32p4.menu.UploadSpeed.230400.windows.upload.speed=256000 +esp32p4.menu.UploadSpeed.230400=230400 +esp32p4.menu.UploadSpeed.230400.upload.speed=230400 +esp32p4.menu.UploadSpeed.460800.linux=460800 +esp32p4.menu.UploadSpeed.460800.macosx=460800 +esp32p4.menu.UploadSpeed.460800.upload.speed=460800 +esp32p4.menu.UploadSpeed.512000.windows=512000 +esp32p4.menu.UploadSpeed.512000.upload.speed=512000 esp32p4.menu.DebugLevel.none=None esp32p4.menu.DebugLevel.none.build.code_debug=0 diff --git a/cores/esp32/Esp.cpp b/cores/esp32/Esp.cpp index 483e888f64f..6a6ed11e463 100644 --- a/cores/esp32/Esp.cpp +++ b/cores/esp32/Esp.cpp @@ -60,6 +60,9 @@ extern "C" { #elif CONFIG_IDF_TARGET_ESP32H2 #include "esp32h2/rom/spi_flash.h" #define ESP_FLASH_IMAGE_BASE 0x0000 // Esp32h2 is located at 0x0000 +#elif CONFIG_IDF_TARGET_ESP32P4 +#include "esp32p4/rom/spi_flash.h" +#define ESP_FLASH_IMAGE_BASE 0x2000 // Esp32p4 is located at 0x2000 #else #error Target CONFIG_IDF_TARGET is not supported #endif @@ -335,6 +338,8 @@ uint32_t EspClass::getFlashChipSpeed(void) { return magicFlashChipSpeed(fhdr.spi_speed); } +// FIXME for P4 +#if !defined(CONFIG_IDF_TARGET_ESP32P4) FlashMode_t EspClass::getFlashChipMode(void) { #if CONFIG_IDF_TARGET_ESP32S2 uint32_t spi_ctrl = REG_READ(PERIPHS_SPI_FLASH_CTRL); @@ -361,6 +366,7 @@ FlashMode_t EspClass::getFlashChipMode(void) { } return (FM_DOUT); } +#endif // if !defined(CONFIG_IDF_TARGET_ESP32P4) uint32_t EspClass::magicFlashChipSize(uint8_t byte) { /* diff --git a/cores/esp32/HardwareSerial.h b/cores/esp32/HardwareSerial.h index 23a8823dff7..fc5dd92440d 100644 --- a/cores/esp32/HardwareSerial.h +++ b/cores/esp32/HardwareSerial.h @@ -125,6 +125,8 @@ typedef enum { #define SOC_RX0 (gpio_num_t)17 #elif CONFIG_IDF_TARGET_ESP32H2 #define SOC_RX0 (gpio_num_t)23 +#elif CONFIG_IDF_TARGET_ESP32P4 +#define SOC_RX0 (gpio_num_t)38 #endif #endif @@ -141,6 +143,8 @@ typedef enum { #define SOC_TX0 (gpio_num_t)16 #elif CONFIG_IDF_TARGET_ESP32H2 #define SOC_TX0 (gpio_num_t)24 +#elif CONFIG_IDF_TARGET_ESP32P4 +#define SOC_TX0 (gpio_num_t)37 #endif #endif @@ -162,6 +166,8 @@ typedef enum { #define RX1 (gpio_num_t)4 #elif CONFIG_IDF_TARGET_ESP32H2 #define RX1 (gpio_num_t)0 +#elif CONFIG_IDF_TARGET_ESP32P4 +#define RX1 (gpio_num_t)11 #endif #endif @@ -180,6 +186,8 @@ typedef enum { #define TX1 (gpio_num_t)5 #elif CONFIG_IDF_TARGET_ESP32H2 #define TX1 (gpio_num_t)1 +#elif CONFIG_IDF_TARGET_ESP32P4 +#define TX1 (gpio_num_t)10 #endif #endif #endif /* SOC_UART_HP_NUM > 1 */ @@ -192,6 +200,8 @@ typedef enum { #define RX2 (gpio_num_t)4 #elif CONFIG_IDF_TARGET_ESP32S3 #define RX2 (gpio_num_t)19 +#elif CONFIG_IDF_TARGET_ESP32P4 +#define RX2 (gpio_num_t)15 #endif #endif @@ -200,6 +210,8 @@ typedef enum { #define TX2 (gpio_num_t)25 #elif CONFIG_IDF_TARGET_ESP32S3 #define TX2 (gpio_num_t)20 +#elif CONFIG_IDF_TARGET_ESP32P4 +#define TX2 (gpio_num_t)14 #endif #endif #endif /* SOC_UART_HP_NUM > 2 */ diff --git a/cores/esp32/chip-debug-report.cpp b/cores/esp32/chip-debug-report.cpp index 239ae3e97c9..daafef3cab9 100644 --- a/cores/esp32/chip-debug-report.cpp +++ b/cores/esp32/chip-debug-report.cpp @@ -64,6 +64,9 @@ static void printPkgVersion(void) { #elif CONFIG_IDF_TARGET_ESP32H2 uint32_t pkg_ver = REG_GET_FIELD(EFUSE_RD_MAC_SYS_4_REG, EFUSE_PKG_VERSION); chip_report_printf("%lu", pkg_ver); +#elif CONFIG_IDF_TARGET_ESP32P4 + uint32_t pkg_ver = REG_GET_FIELD(EFUSE_RD_MAC_SYS_2_REG, EFUSE_PKG_VERSION); + chip_report_printf("%lu", pkg_ver); #else chip_report_printf("Unknown"); #endif @@ -84,6 +87,7 @@ static void printChipInfo(void) { case CHIP_ESP32C3: chip_report_printf("ESP32-C3\n"); break; case CHIP_ESP32C6: chip_report_printf("ESP32-C6\n"); break; case CHIP_ESP32H2: chip_report_printf("ESP32-H2\n"); break; + case CHIP_ESP32P4: chip_report_printf("ESP32-P4\n"); break; default: chip_report_printf("Unknown %d\n", info.model); break; } printPkgVersion(); @@ -105,6 +109,8 @@ static void printChipInfo(void) { static void printFlashInfo(void) { #if CONFIG_IDF_TARGET_ESP32 || CONFIG_IDF_TARGET_ESP32S2 #define ESP_FLASH_IMAGE_BASE 0x1000 +#elif CONFIG_IDF_TARGET_ESP32P4 +#define ESP_FLASH_IMAGE_BASE 0x2000 #else #define ESP_FLASH_IMAGE_BASE 0x0000 #endif diff --git a/cores/esp32/esp32-hal-adc.c b/cores/esp32/esp32-hal-adc.c index ee9cd02a623..c7cc1f5d556 100644 --- a/cores/esp32/esp32-hal-adc.c +++ b/cores/esp32/esp32-hal-adc.c @@ -75,7 +75,7 @@ static bool adcDetachBus(void *pin) { if (err != ESP_OK) { return false; } -#elif !defined(CONFIG_IDF_TARGET_ESP32H2) +#elif (!defined(CONFIG_IDF_TARGET_ESP32H2) && !defined(CONFIG_IDF_TARGET_ESP32P4)) err = adc_cali_delete_scheme_line_fitting(adc_handle[adc_unit].adc_cali_handle); if (err != ESP_OK) { return false; @@ -127,7 +127,7 @@ esp_err_t __analogChannelConfig(adc_bitwidth_t width, adc_attenuation_t atten, i log_e("adc_cali_create_scheme_curve_fitting failed with error: %d", err); return err; } -#elif !defined(CONFIG_IDF_TARGET_ESP32H2) //ADC_CALI_SCHEME_LINE_FITTING_SUPPORTED +#elif (!defined(CONFIG_IDF_TARGET_ESP32H2) && !defined(CONFIG_IDF_TARGET_ESP32P4)) //ADC_CALI_SCHEME_LINE_FITTING_SUPPORTED log_d("Deleting ADC_UNIT_%d line cali handle", adc_unit); err = adc_cali_delete_scheme_line_fitting(adc_handle[adc_unit].adc_cali_handle); if (err != ESP_OK) { @@ -310,7 +310,7 @@ uint32_t __analogReadMilliVolts(uint8_t pin) { .bitwidth = __analogWidth, }; err = adc_cali_create_scheme_curve_fitting(&cali_config, &adc_handle[adc_unit].adc_cali_handle); -#elif !defined(CONFIG_IDF_TARGET_ESP32H2) //ADC_CALI_SCHEME_LINE_FITTING_SUPPORTED +#elif (!defined(CONFIG_IDF_TARGET_ESP32H2) && !defined(CONFIG_IDF_TARGET_ESP32P4)) //ADC_CALI_SCHEME_LINE_FITTING_SUPPORTED adc_cali_line_fitting_config_t cali_config = { .unit_id = adc_unit, .bitwidth = __analogWidth, @@ -379,7 +379,7 @@ static bool adcContinuousDetachBus(void *adc_unit_number) { if (err != ESP_OK) { return false; } -#elif !defined(CONFIG_IDF_TARGET_ESP32H2) +#elif (!defined(CONFIG_IDF_TARGET_ESP32H2) && !defined(CONFIG_IDF_TARGET_ESP32P4)) err = adc_cali_delete_scheme_line_fitting(adc_handle[adc_unit].adc_cali_handle); if (err != ESP_OK) { return false; @@ -552,7 +552,7 @@ bool analogContinuous(const uint8_t pins[], size_t pins_count, uint32_t conversi .bitwidth = __adcContinuousWidth, }; err = adc_cali_create_scheme_curve_fitting(&cali_config, &adc_handle[adc_unit].adc_cali_handle); -#elif !defined(CONFIG_IDF_TARGET_ESP32H2) //ADC_CALI_SCHEME_LINE_FITTING_SUPPORTED +#elif (!defined(CONFIG_IDF_TARGET_ESP32H2) && !defined(CONFIG_IDF_TARGET_ESP32P4)) //ADC_CALI_SCHEME_LINE_FITTING_SUPPORTED adc_cali_line_fitting_config_t cali_config = { .unit_id = adc_unit, .bitwidth = __adcContinuousWidth, diff --git a/cores/esp32/esp32-hal-cpu.c b/cores/esp32/esp32-hal-cpu.c index 2420dfbeeb0..f0a30b50afc 100644 --- a/cores/esp32/esp32-hal-cpu.c +++ b/cores/esp32/esp32-hal-cpu.c @@ -19,7 +19,7 @@ #include "esp_attr.h" #include "esp_log.h" #include "soc/rtc.h" -#if !defined(CONFIG_IDF_TARGET_ESP32C2) && !defined(CONFIG_IDF_TARGET_ESP32C6) && !defined(CONFIG_IDF_TARGET_ESP32H2) +#if !defined(CONFIG_IDF_TARGET_ESP32C2) && !defined(CONFIG_IDF_TARGET_ESP32C6) && !defined(CONFIG_IDF_TARGET_ESP32H2) && !defined(CONFIG_IDF_TARGET_ESP32P4) #include "soc/rtc_cntl_reg.h" #include "soc/syscon_reg.h" #endif @@ -46,6 +46,8 @@ #include "esp32c6/rom/rtc.h" #elif CONFIG_IDF_TARGET_ESP32H2 #include "esp32h2/rom/rtc.h" +#elif CONFIG_IDF_TARGET_ESP32P4 +#include "esp32p4/rom/rtc.h" #else #error Target CONFIG_IDF_TARGET is not supported #endif @@ -161,13 +163,13 @@ bool removeApbChangeCallback(void *arg, apb_change_cb_t cb) { } static uint32_t calculateApb(rtc_cpu_freq_config_t *conf) { -#if CONFIG_IDF_TARGET_ESP32C2 || CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32S3 || CONFIG_IDF_TARGET_ESP32H2 - return APB_CLK_FREQ; -#else +#if CONFIG_IDF_TARGET_ESP32 || CONFIG_IDF_TARGET_ESP32S2 if (conf->freq_mhz >= 80) { return 80 * MHZ; } return (conf->source_freq_mhz * MHZ) / conf->div; +#else + return APB_CLK_FREQ; #endif } @@ -177,7 +179,7 @@ bool setCpuFrequencyMhz(uint32_t cpu_freq_mhz) { rtc_cpu_freq_config_t conf, cconf; uint32_t capb, apb; //Get XTAL Frequency and calculate min CPU MHz -#ifndef CONFIG_IDF_TARGET_ESP32H2 +#if (!defined(CONFIG_IDF_TARGET_ESP32H2) && !defined(CONFIG_IDF_TARGET_ESP32P4)) rtc_xtal_freq_t xtal = rtc_clk_xtal_freq_get(); #endif #if CONFIG_IDF_TARGET_ESP32 @@ -193,7 +195,7 @@ bool setCpuFrequencyMhz(uint32_t cpu_freq_mhz) { } } #endif -#ifndef CONFIG_IDF_TARGET_ESP32H2 +#if (!defined(CONFIG_IDF_TARGET_ESP32H2) && !defined(CONFIG_IDF_TARGET_ESP32P4)) if (cpu_freq_mhz > xtal && cpu_freq_mhz != 240 && cpu_freq_mhz != 160 && cpu_freq_mhz != 120 && cpu_freq_mhz != 80) { if (xtal >= RTC_XTAL_FREQ_40M) { log_e("Bad frequency: %u MHz! Options are: 240, 160, 120, 80, %u, %u and %u MHz", cpu_freq_mhz, xtal, xtal / 2, xtal / 4); @@ -235,7 +237,7 @@ bool setCpuFrequencyMhz(uint32_t cpu_freq_mhz) { } //Make the frequency change rtc_clk_cpu_freq_set_config_fast(&conf); -#if !defined(CONFIG_IDF_TARGET_ESP32C2) && !defined(CONFIG_IDF_TARGET_ESP32C6) && !defined(CONFIG_IDF_TARGET_ESP32H2) +#if defined(CONFIG_IDF_TARGET_ESP32) || defined(CONFIG_IDF_TARGET_ESP32S2) || defined(CONFIG_IDF_TARGET_ESP32S3) || defined(CONFIG_IDF_TARGET_ESP32C3) if (capb != apb) { //Update REF_TICK (uncomment if REF_TICK is different than 1MHz) //if(conf.freq_mhz < 80){ @@ -248,11 +250,8 @@ bool setCpuFrequencyMhz(uint32_t cpu_freq_mhz) { } #endif //Update FreeRTOS Tick Divisor -#if CONFIG_IDF_TARGET_ESP32C2 || CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 -#elif CONFIG_IDF_TARGET_ESP32S3 - -#else +#if CONFIG_IDF_TARGET_ESP32 || CONFIG_IDF_TARGET_ESP32S2 uint32_t fcpu = (conf.freq_mhz >= 80) ? (conf.freq_mhz * MHZ) : (apb); _xt_tick_divisor = fcpu / XT_TICK_PER_SEC; #endif @@ -263,13 +262,19 @@ bool setCpuFrequencyMhz(uint32_t cpu_freq_mhz) { #ifdef SOC_CLK_APLL_SUPPORTED log_d( "%s: %u / %u = %u Mhz, APB: %u Hz", - (conf.source == RTC_CPU_FREQ_SRC_PLL) ? "PLL" - : ((conf.source == RTC_CPU_FREQ_SRC_APLL) ? "APLL" : ((conf.source == RTC_CPU_FREQ_SRC_XTAL) ? "XTAL" : "8M")), + (conf.source == SOC_CPU_CLK_SRC_PLL) ? "PLL" + : ((conf.source == SOC_CPU_CLK_SRC_APLL) ? "APLL" + : ((conf.source == SOC_CPU_CLK_SRC_XTAL) ? "XTAL" +#ifdef CONFIG_IDF_TARGET_ESP32P4 + : "17.5M"), +#else + : "8M")), +#endif conf.source_freq_mhz, conf.div, conf.freq_mhz, apb ); #else log_d( - "%s: %u / %u = %u Mhz, APB: %u Hz", (conf.source == RTC_CPU_FREQ_SRC_PLL) ? "PLL" : ((conf.source == RTC_CPU_FREQ_SRC_XTAL) ? "XTAL" : "17.5M"), + "%s: %u / %u = %u Mhz, APB: %u Hz", (conf.source == SOC_CPU_CLK_SRC_PLL) ? "PLL" : ((conf.source == SOC_CPU_CLK_SRC_XTAL) ? "XTAL" : "17.5M"), conf.source_freq_mhz, conf.div, conf.freq_mhz, apb ); #endif diff --git a/cores/esp32/esp32-hal-i2c-slave.c b/cores/esp32/esp32-hal-i2c-slave.c index 5504fd62adf..14da815455b 100644 --- a/cores/esp32/esp32-hal-i2c-slave.c +++ b/cores/esp32/esp32-hal-i2c-slave.c @@ -41,14 +41,32 @@ #include "esp_intr_alloc.h" #include "soc/i2c_reg.h" #include "soc/i2c_struct.h" +#include "soc/periph_defs.h" #include "hal/i2c_ll.h" #include "hal/clk_gate_ll.h" #include "esp32-hal-log.h" #include "esp32-hal-i2c-slave.h" #include "esp32-hal-periman.h" +#include "esp_private/periph_ctrl.h" + +#if SOC_PERIPH_CLK_CTRL_SHARED +#define I2C_CLOCK_SRC_ATOMIC() PERIPH_RCC_ATOMIC() +#else +#define I2C_CLOCK_SRC_ATOMIC() +#endif + +#if !SOC_RCC_IS_INDEPENDENT +#define I2C_RCC_ATOMIC() PERIPH_RCC_ATOMIC() +#else +#define I2C_RCC_ATOMIC() +#endif #define I2C_SLAVE_USE_RX_QUEUE 0 // 1: Queue, 0: RingBuffer +#ifdef CONFIG_IDF_TARGET_ESP32P4 +#define I2C_SCL_IDX(p) ((p == 0) ? I2C0_SCL_PAD_OUT_IDX : ((p == 1) ? I2C1_SCL_PAD_OUT_IDX : 0)) +#define I2C_SDA_IDX(p) ((p == 0) ? I2C0_SDA_PAD_OUT_IDX : ((p == 1) ? I2C1_SDA_PAD_OUT_IDX : 0)) +#else #if SOC_HP_I2C_NUM > 1 #define I2C_SCL_IDX(p) ((p == 0) ? I2CEXT0_SCL_OUT_IDX : ((p == 1) ? I2CEXT1_SCL_OUT_IDX : 0)) #define I2C_SDA_IDX(p) ((p == 0) ? I2CEXT0_SDA_OUT_IDX : ((p == 1) ? I2CEXT1_SDA_OUT_IDX : 0)) @@ -56,6 +74,7 @@ #define I2C_SCL_IDX(p) I2CEXT0_SCL_OUT_IDX #define I2C_SDA_IDX(p) I2CEXT0_SDA_OUT_IDX #endif +#endif // ifdef CONFIG_IDF_TARGET_ESP32P4 #if CONFIG_IDF_TARGET_ESP32 #define I2C_TXFIFO_WM_INT_ENA I2C_TXFIFO_EMPTY_INT_ENA @@ -173,19 +192,19 @@ static inline void i2c_ll_stretch_clr(i2c_dev_t *hw) { } static inline bool i2c_ll_slave_addressed(i2c_dev_t *hw) { -#if CONFIG_IDF_TARGET_ESP32C2 || CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32S3 || CONFIG_IDF_TARGET_ESP32H2 - return hw->sr.slave_addressed; -#else +#if CONFIG_IDF_TARGET_ESP32 || CONFIG_IDF_TARGET_ESP32S2 return hw->status_reg.slave_addressed; +#else + return hw->sr.slave_addressed; #endif } static inline bool i2c_ll_slave_rw(i2c_dev_t *hw) //not exposed by hal_ll { -#if CONFIG_IDF_TARGET_ESP32C2 || CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32S3 || CONFIG_IDF_TARGET_ESP32H2 - return hw->sr.slave_rw; -#else +#if CONFIG_IDF_TARGET_ESP32 || CONFIG_IDF_TARGET_ESP32S2 return hw->status_reg.slave_rw; +#else + return hw->sr.slave_rw; #endif } @@ -306,7 +325,7 @@ esp_err_t i2cSlaveInit(uint8_t num, int sda, int scl, uint16_t slaveID, uint32_t frequency = 100000L; } frequency = (frequency * 5) / 4; - +#if !defined(CONFIG_IDF_TARGET_ESP32P4) if (i2c->num == 0) { periph_ll_enable_clk_clear_rst(PERIPH_I2C0_MODULE); #if SOC_HP_I2C_NUM > 1 @@ -314,6 +333,7 @@ esp_err_t i2cSlaveInit(uint8_t num, int sda, int scl, uint16_t slaveID, uint32_t periph_ll_enable_clk_clear_rst(PERIPH_I2C1_MODULE); #endif } +#endif // !defined(CONFIG_IDF_TARGET_ESP32P4) i2c_ll_slave_init(i2c->dev); i2c_ll_slave_set_fifo_mode(i2c->dev, true); @@ -341,145 +361,155 @@ esp_err_t i2cSlaveInit(uint8_t num, int sda, int scl, uint16_t slaveID, uint32_t if (!i2c->intr_handle) { uint32_t flags = ESP_INTR_FLAG_LOWMED | ESP_INTR_FLAG_SHARED; +#if !defined(CONFIG_IDF_TARGET_ESP32P4) if (i2c->num == 0) { ret = esp_intr_alloc(ETS_I2C_EXT0_INTR_SOURCE, flags, &i2c_slave_isr_handler, i2c, &i2c->intr_handle); #if SOC_HP_I2C_NUM > 1 } else { ret = esp_intr_alloc(ETS_I2C_EXT1_INTR_SOURCE, flags, &i2c_slave_isr_handler, i2c, &i2c->intr_handle); #endif - } +#endif // !defined(CONFIG_IDF_TARGET_ESP32P4) +#ifdef CONFIG_IDF_TARGET_ESP32P4 + if (i2c->num == 0) { + ret = esp_intr_alloc(ETS_I2C0_INTR_SOURCE, flags, &i2c_slave_isr_handler, i2c, &i2c->intr_handle); +#if SOC_I2C_NUM > 1 + } else { + ret = esp_intr_alloc(ETS_I2C1_INTR_SOURCE, flags, &i2c_slave_isr_handler, i2c, &i2c->intr_handle); +#endif +#endif // #ifdef CONFIG_IDF_TARGET_ESP32P4 + } - if (ret != ESP_OK) { - log_e("install interrupt handler Failed=%d", ret); - goto fail; + if (ret != ESP_OK) { + log_e("install interrupt handler Failed=%d", ret); + goto fail; + } } - } - i2c_ll_txfifo_rst(i2c->dev); - i2c_ll_rxfifo_rst(i2c->dev); - i2c_ll_slave_enable_rx_it(i2c->dev); - i2c_ll_set_stretch(i2c->dev, 0x3FF); - i2c_ll_update(i2c->dev); - if (!perimanSetPinBus(sda, ESP32_BUS_TYPE_I2C_SLAVE_SDA, (void *)(i2c->num + 1), i2c->num, -1) - || !perimanSetPinBus(scl, ESP32_BUS_TYPE_I2C_SLAVE_SCL, (void *)(i2c->num + 1), i2c->num, -1)) { - i2cSlaveDetachBus((void *)(i2c->num + 1)); - ret = ESP_FAIL; - } - I2C_SLAVE_MUTEX_UNLOCK(); - return ret; + i2c_ll_txfifo_rst(i2c->dev); + i2c_ll_rxfifo_rst(i2c->dev); + i2c_ll_slave_enable_rx_it(i2c->dev); + i2c_ll_set_stretch(i2c->dev, 0x3FF); + i2c_ll_update(i2c->dev); + if (!perimanSetPinBus(sda, ESP32_BUS_TYPE_I2C_SLAVE_SDA, (void *)(i2c->num + 1), i2c->num, -1) + || !perimanSetPinBus(scl, ESP32_BUS_TYPE_I2C_SLAVE_SCL, (void *)(i2c->num + 1), i2c->num, -1)) { + i2cSlaveDetachBus((void *)(i2c->num + 1)); + ret = ESP_FAIL; + } + I2C_SLAVE_MUTEX_UNLOCK(); + return ret; fail: - i2c_slave_free_resources(i2c); - I2C_SLAVE_MUTEX_UNLOCK(); - return ret; -} - -esp_err_t i2cSlaveDeinit(uint8_t num) { - if (num >= SOC_HP_I2C_NUM) { - log_e("Invalid port num: %u", num); - return ESP_ERR_INVALID_ARG; + i2c_slave_free_resources(i2c); + I2C_SLAVE_MUTEX_UNLOCK(); + return ret; } - i2c_slave_struct_t *i2c = &_i2c_bus_array[num]; + esp_err_t i2cSlaveDeinit(uint8_t num) { + if (num >= SOC_HP_I2C_NUM) { + log_e("Invalid port num: %u", num); + return ESP_ERR_INVALID_ARG; + } + + i2c_slave_struct_t *i2c = &_i2c_bus_array[num]; #if !CONFIG_DISABLE_HAL_LOCKS - if (!i2c->lock) { - log_e("Lock is not initialized! Did you call i2c_slave_init()?"); - return ESP_ERR_NO_MEM; - } + if (!i2c->lock) { + log_e("Lock is not initialized! Did you call i2c_slave_init()?"); + return ESP_ERR_NO_MEM; + } #endif - I2C_SLAVE_MUTEX_LOCK(); - int scl = i2c->scl; - int sda = i2c->sda; - i2c_slave_free_resources(i2c); - perimanClearPinBus(scl); - perimanClearPinBus(sda); - I2C_SLAVE_MUTEX_UNLOCK(); - return ESP_OK; -} - -size_t i2cSlaveWrite(uint8_t num, const uint8_t *buf, uint32_t len, uint32_t timeout_ms) { - if (num >= SOC_HP_I2C_NUM) { - log_e("Invalid port num: %u", num); - return 0; - } - uint32_t to_queue = 0, to_fifo = 0; - i2c_slave_struct_t *i2c = &_i2c_bus_array[num]; + I2C_SLAVE_MUTEX_LOCK(); + int scl = i2c->scl; + int sda = i2c->sda; + i2c_slave_free_resources(i2c); + perimanClearPinBus(scl); + perimanClearPinBus(sda); + I2C_SLAVE_MUTEX_UNLOCK(); + return ESP_OK; + } + + size_t i2cSlaveWrite(uint8_t num, const uint8_t *buf, uint32_t len, uint32_t timeout_ms) { + if (num >= SOC_HP_I2C_NUM) { + log_e("Invalid port num: %u", num); + return 0; + } + uint32_t to_queue = 0, to_fifo = 0; + i2c_slave_struct_t *i2c = &_i2c_bus_array[num]; #if !CONFIG_DISABLE_HAL_LOCKS - if (!i2c->lock) { - log_e("Lock is not initialized! Did you call i2c_slave_init()?"); - return ESP_ERR_NO_MEM; - } + if (!i2c->lock) { + log_e("Lock is not initialized! Did you call i2c_slave_init()?"); + return ESP_ERR_NO_MEM; + } #endif - if (!i2c->tx_queue) { - return 0; - } - I2C_SLAVE_MUTEX_LOCK(); + if (!i2c->tx_queue) { + return 0; + } + I2C_SLAVE_MUTEX_LOCK(); #if CONFIG_IDF_TARGET_ESP32 - i2c_ll_slave_disable_tx_it(i2c->dev); - uint32_t txfifo_len = 0; - i2c_ll_get_txfifo_len(i2c->dev, &txfifo_len); - if (txfifo_len < SOC_I2C_FIFO_LEN) { - i2c_ll_txfifo_rst(i2c->dev); - } + i2c_ll_slave_disable_tx_it(i2c->dev); + uint32_t txfifo_len = 0; + i2c_ll_get_txfifo_len(i2c->dev, &txfifo_len); + if (txfifo_len < SOC_I2C_FIFO_LEN) { + i2c_ll_txfifo_rst(i2c->dev); + } #endif - i2c_ll_get_txfifo_len(i2c->dev, &to_fifo); - if (to_fifo) { - if (len < to_fifo) { - to_fifo = len; - } - i2c_ll_write_txfifo(i2c->dev, (uint8_t *)buf, to_fifo); - buf += to_fifo; - len -= to_fifo; - //reset tx_queue - xQueueReset(i2c->tx_queue); - //write the rest of the bytes to the queue - if (len) { - to_queue = uxQueueSpacesAvailable(i2c->tx_queue); - if (len < to_queue) { - to_queue = len; + i2c_ll_get_txfifo_len(i2c->dev, &to_fifo); + if (to_fifo) { + if (len < to_fifo) { + to_fifo = len; } - for (size_t i = 0; i < to_queue; i++) { - if (xQueueSend(i2c->tx_queue, &buf[i], timeout_ms / portTICK_PERIOD_MS) != pdTRUE) { - xQueueReset(i2c->tx_queue); - to_queue = 0; - break; + i2c_ll_write_txfifo(i2c->dev, (uint8_t *)buf, to_fifo); + buf += to_fifo; + len -= to_fifo; + //reset tx_queue + xQueueReset(i2c->tx_queue); + //write the rest of the bytes to the queue + if (len) { + to_queue = uxQueueSpacesAvailable(i2c->tx_queue); + if (len < to_queue) { + to_queue = len; + } + for (size_t i = 0; i < to_queue; i++) { + if (xQueueSend(i2c->tx_queue, &buf[i], timeout_ms / portTICK_PERIOD_MS) != pdTRUE) { + xQueueReset(i2c->tx_queue); + to_queue = 0; + break; + } + } + //no need to enable TX_EMPTY if tx_queue is empty + if (to_queue) { + i2c_ll_slave_enable_tx_it(i2c->dev); } - } - //no need to enable TX_EMPTY if tx_queue is empty - if (to_queue) { - i2c_ll_slave_enable_tx_it(i2c->dev); } } + I2C_SLAVE_MUTEX_UNLOCK(); + return to_queue + to_fifo; } - I2C_SLAVE_MUTEX_UNLOCK(); - return to_queue + to_fifo; -} -//===================================================================================================================== -//-------------------------------------- Private Functions ------------------------------------------------------------ -//===================================================================================================================== + //===================================================================================================================== + //-------------------------------------- Private Functions ------------------------------------------------------------ + //===================================================================================================================== -static void i2c_slave_free_resources(i2c_slave_struct_t *i2c) { - i2c_slave_detach_gpio(i2c); - i2c_ll_set_slave_addr(i2c->dev, 0, false); - i2c_ll_disable_intr_mask(i2c->dev, I2C_LL_INTR_MASK); - i2c_ll_clear_intr_mask(i2c->dev, I2C_LL_INTR_MASK); + static void i2c_slave_free_resources(i2c_slave_struct_t * i2c) { + i2c_slave_detach_gpio(i2c); + i2c_ll_set_slave_addr(i2c->dev, 0, false); + i2c_ll_disable_intr_mask(i2c->dev, I2C_LL_INTR_MASK); + i2c_ll_clear_intr_mask(i2c->dev, I2C_LL_INTR_MASK); - if (i2c->intr_handle) { - esp_intr_free(i2c->intr_handle); - i2c->intr_handle = NULL; - } + if (i2c->intr_handle) { + esp_intr_free(i2c->intr_handle); + i2c->intr_handle = NULL; + } - if (i2c->task_handle) { - vTaskDelete(i2c->task_handle); - i2c->task_handle = NULL; - } + if (i2c->task_handle) { + vTaskDelete(i2c->task_handle); + i2c->task_handle = NULL; + } #if I2C_SLAVE_USE_RX_QUEUE - if (i2c->rx_queue) { - vQueueDelete(i2c->rx_queue); - i2c->rx_queue = NULL; - } + if (i2c->rx_queue) { + vQueueDelete(i2c->rx_queue); + i2c->rx_queue = NULL; + } #else if (i2c->rx_ring_buf) { vRingbufferDelete(i2c->rx_ring_buf); @@ -487,198 +517,202 @@ static void i2c_slave_free_resources(i2c_slave_struct_t *i2c) { } #endif - if (i2c->tx_queue) { - vQueueDelete(i2c->tx_queue); - i2c->tx_queue = NULL; - } - - if (i2c->event_queue) { - vQueueDelete(i2c->event_queue); - i2c->event_queue = NULL; - } + if (i2c->tx_queue) { + vQueueDelete(i2c->tx_queue); + i2c->tx_queue = NULL; + } - i2c->rx_data_count = 0; -} + if (i2c->event_queue) { + vQueueDelete(i2c->event_queue); + i2c->event_queue = NULL; + } -static bool i2c_slave_set_frequency(i2c_slave_struct_t *i2c, uint32_t clk_speed) { - if (i2c == NULL) { - log_e("no control buffer"); - return false; - } - if (clk_speed > 1100000UL) { - clk_speed = 1100000UL; + i2c->rx_data_count = 0; } - // Adjust Fifo thresholds based on frequency - uint32_t a = (clk_speed / 50000L) + 2; - log_d("Fifo thresholds: rx_fifo_full = %d, tx_fifo_empty = %d", SOC_I2C_FIFO_LEN - a, a); + static bool i2c_slave_set_frequency(i2c_slave_struct_t * i2c, uint32_t clk_speed) { + if (i2c == NULL) { + log_e("no control buffer"); + return false; + } + if (clk_speed > 1100000UL) { + clk_speed = 1100000UL; + } + + // Adjust Fifo thresholds based on frequency + uint32_t a = (clk_speed / 50000L) + 2; + log_d("Fifo thresholds: rx_fifo_full = %d, tx_fifo_empty = %d", SOC_I2C_FIFO_LEN - a, a); - i2c_hal_clk_config_t clk_cal; + i2c_hal_clk_config_t clk_cal; #if SOC_I2C_SUPPORT_APB - i2c_ll_master_cal_bus_clk(APB_CLK_FREQ, clk_speed, &clk_cal); - i2c_ll_set_source_clk(i2c->dev, SOC_MOD_CLK_APB); /*!< I2C source clock from APB, 80M*/ + i2c_ll_master_cal_bus_clk(APB_CLK_FREQ, clk_speed, &clk_cal); + I2C_CLOCK_SRC_ATOMIC() { + i2c_ll_set_source_clk(i2c->dev, SOC_MOD_CLK_APB); /*!< I2C source clock from APB, 80M*/ + } #elif SOC_I2C_SUPPORT_XTAL i2c_ll_master_cal_bus_clk(XTAL_CLK_FREQ, clk_speed, &clk_cal); - i2c_ll_set_source_clk(i2c->dev, SOC_MOD_CLK_XTAL); /*!< I2C source clock from XTAL, 40M */ + I2C_CLOCK_SRC_ATOMIC() { + i2c_ll_set_source_clk(i2c->dev, SOC_MOD_CLK_XTAL); /*!< I2C source clock from XTAL, 40M */ + } #endif - i2c_ll_set_txfifo_empty_thr(i2c->dev, a); - i2c_ll_set_rxfifo_full_thr(i2c->dev, SOC_I2C_FIFO_LEN - a); - i2c_ll_master_set_bus_timing(i2c->dev, &clk_cal); - i2c_ll_master_set_filter(i2c->dev, 3); - return true; -} + i2c_ll_set_txfifo_empty_thr(i2c->dev, a); + i2c_ll_set_rxfifo_full_thr(i2c->dev, SOC_I2C_FIFO_LEN - a); + i2c_ll_master_set_bus_timing(i2c->dev, &clk_cal); + i2c_ll_master_set_filter(i2c->dev, 3); + return true; + } -static void i2c_slave_delay_us(uint64_t us) { - uint64_t m = esp_timer_get_time(); - if (us) { - uint64_t e = (m + us); - if (m > e) { //overflow - while ((uint64_t)esp_timer_get_time() > e); + static void i2c_slave_delay_us(uint64_t us) { + uint64_t m = esp_timer_get_time(); + if (us) { + uint64_t e = (m + us); + if (m > e) { //overflow + while ((uint64_t)esp_timer_get_time() > e); + } + while ((uint64_t)esp_timer_get_time() < e); } - while ((uint64_t)esp_timer_get_time() < e); } -} -static void i2c_slave_gpio_mode(int8_t pin, gpio_mode_t mode) { - gpio_config_t conf = { - .pin_bit_mask = 1LL << pin, .mode = mode, .pull_up_en = GPIO_PULLUP_ENABLE, .pull_down_en = GPIO_PULLDOWN_DISABLE, .intr_type = GPIO_INTR_DISABLE - }; - gpio_config(&conf); -} + static void i2c_slave_gpio_mode(int8_t pin, gpio_mode_t mode) { + gpio_config_t conf = { + .pin_bit_mask = 1LL << pin, .mode = mode, .pull_up_en = GPIO_PULLUP_ENABLE, .pull_down_en = GPIO_PULLDOWN_DISABLE, .intr_type = GPIO_INTR_DISABLE + }; + gpio_config(&conf); + } -static bool i2c_slave_check_line_state(int8_t sda, int8_t scl) { - if (sda < 0 || scl < 0) { - return false; //return false since there is nothing to do - } - // if the bus is not 'clear' try the cycling SCL until SDA goes High or 9 cycles - gpio_set_level(sda, 1); - gpio_set_level(scl, 1); - i2c_slave_gpio_mode(sda, GPIO_MODE_INPUT | GPIO_MODE_DEF_OD); - i2c_slave_gpio_mode(scl, GPIO_MODE_INPUT | GPIO_MODE_DEF_OD); - gpio_set_level(scl, 1); - - if (!gpio_get_level(sda) || !gpio_get_level(scl)) { // bus in busy state - log_w("invalid state sda(%d)=%d, scl(%d)=%d", sda, gpio_get_level(sda), scl, gpio_get_level(scl)); - for (uint8_t a = 0; a < 9; a++) { - i2c_slave_delay_us(5); - if (gpio_get_level(sda) && gpio_get_level(scl)) { // bus recovered - log_w("Recovered after %d Cycles", a); - gpio_set_level(sda, 0); // start + static bool i2c_slave_check_line_state(int8_t sda, int8_t scl) { + if (sda < 0 || scl < 0) { + return false; //return false since there is nothing to do + } + // if the bus is not 'clear' try the cycling SCL until SDA goes High or 9 cycles + gpio_set_level(sda, 1); + gpio_set_level(scl, 1); + i2c_slave_gpio_mode(sda, GPIO_MODE_INPUT | GPIO_MODE_DEF_OD); + i2c_slave_gpio_mode(scl, GPIO_MODE_INPUT | GPIO_MODE_DEF_OD); + gpio_set_level(scl, 1); + + if (!gpio_get_level(sda) || !gpio_get_level(scl)) { // bus in busy state + log_w("invalid state sda(%d)=%d, scl(%d)=%d", sda, gpio_get_level(sda), scl, gpio_get_level(scl)); + for (uint8_t a = 0; a < 9; a++) { i2c_slave_delay_us(5); - for (uint8_t a = 0; a < 9; a++) { - gpio_set_level(scl, 1); + if (gpio_get_level(sda) && gpio_get_level(scl)) { // bus recovered + log_w("Recovered after %d Cycles", a); + gpio_set_level(sda, 0); // start i2c_slave_delay_us(5); - gpio_set_level(scl, 0); + for (uint8_t a = 0; a < 9; a++) { + gpio_set_level(scl, 1); + i2c_slave_delay_us(5); + gpio_set_level(scl, 0); + i2c_slave_delay_us(5); + } + gpio_set_level(scl, 1); i2c_slave_delay_us(5); + gpio_set_level(sda, 1); // stop + break; } - gpio_set_level(scl, 1); + gpio_set_level(scl, 0); i2c_slave_delay_us(5); - gpio_set_level(sda, 1); // stop - break; + gpio_set_level(scl, 1); } - gpio_set_level(scl, 0); - i2c_slave_delay_us(5); - gpio_set_level(scl, 1); } - } - - if (!gpio_get_level(sda) || !gpio_get_level(scl)) { // bus in busy state - log_e("Bus Invalid State, Can't init sda=%d, scl=%d", gpio_get_level(sda), gpio_get_level(scl)); - return false; // bus is busy - } - return true; -} -static bool i2c_slave_attach_gpio(i2c_slave_struct_t *i2c, int8_t sda, int8_t scl) { - if (i2c == NULL) { - log_e("no control block"); - return false; + if (!gpio_get_level(sda) || !gpio_get_level(scl)) { // bus in busy state + log_e("Bus Invalid State, Can't init sda=%d, scl=%d", gpio_get_level(sda), gpio_get_level(scl)); + return false; // bus is busy + } + return true; } - if ((sda < 0) || (scl < 0)) { - log_e("bad pins sda=%d, scl=%d", sda, scl); - return false; - } + static bool i2c_slave_attach_gpio(i2c_slave_struct_t * i2c, int8_t sda, int8_t scl) { + if (i2c == NULL) { + log_e("no control block"); + return false; + } - i2c->scl = scl; - gpio_set_level(scl, 1); - i2c_slave_gpio_mode(scl, GPIO_MODE_INPUT_OUTPUT_OD); - gpio_matrix_out(scl, I2C_SCL_IDX(i2c->num), false, false); - gpio_matrix_in(scl, I2C_SCL_IDX(i2c->num), false); + if ((sda < 0) || (scl < 0)) { + log_e("bad pins sda=%d, scl=%d", sda, scl); + return false; + } - i2c->sda = sda; - gpio_set_level(sda, 1); - i2c_slave_gpio_mode(sda, GPIO_MODE_INPUT_OUTPUT_OD); - gpio_matrix_out(sda, I2C_SDA_IDX(i2c->num), false, false); - gpio_matrix_in(sda, I2C_SDA_IDX(i2c->num), false); + i2c->scl = scl; + gpio_set_level(scl, 1); + i2c_slave_gpio_mode(scl, GPIO_MODE_INPUT_OUTPUT_OD); + gpio_matrix_out(scl, I2C_SCL_IDX(i2c->num), false, false); + gpio_matrix_in(scl, I2C_SCL_IDX(i2c->num), false); - return true; -} + i2c->sda = sda; + gpio_set_level(sda, 1); + i2c_slave_gpio_mode(sda, GPIO_MODE_INPUT_OUTPUT_OD); + gpio_matrix_out(sda, I2C_SDA_IDX(i2c->num), false, false); + gpio_matrix_in(sda, I2C_SDA_IDX(i2c->num), false); -static bool i2c_slave_detach_gpio(i2c_slave_struct_t *i2c) { - if (i2c == NULL) { - log_e("no control Block"); - return false; - } - if (i2c->scl >= 0) { - gpio_matrix_out(i2c->scl, 0x100, false, false); - gpio_matrix_in(0x30, I2C_SCL_IDX(i2c->num), false); - i2c_slave_gpio_mode(i2c->scl, GPIO_MODE_INPUT); - i2c->scl = -1; // un attached - } - if (i2c->sda >= 0) { - gpio_matrix_out(i2c->sda, 0x100, false, false); - gpio_matrix_in(0x30, I2C_SDA_IDX(i2c->num), false); - i2c_slave_gpio_mode(i2c->sda, GPIO_MODE_INPUT); - i2c->sda = -1; // un attached + return true; } - return true; -} -static bool i2c_slave_send_event(i2c_slave_struct_t *i2c, i2c_slave_queue_event_t *event) { - bool pxHigherPriorityTaskWoken = false; - if (i2c->event_queue) { - if (xQueueSendFromISR(i2c->event_queue, event, (BaseType_t *const)&pxHigherPriorityTaskWoken) != pdTRUE) { - //log_e("event_queue_full"); + static bool i2c_slave_detach_gpio(i2c_slave_struct_t * i2c) { + if (i2c == NULL) { + log_e("no control Block"); + return false; + } + if (i2c->scl >= 0) { + gpio_matrix_out(i2c->scl, 0x100, false, false); + gpio_matrix_in(0x30, I2C_SCL_IDX(i2c->num), false); + i2c_slave_gpio_mode(i2c->scl, GPIO_MODE_INPUT); + i2c->scl = -1; // un attached } + if (i2c->sda >= 0) { + gpio_matrix_out(i2c->sda, 0x100, false, false); + gpio_matrix_in(0x30, I2C_SDA_IDX(i2c->num), false); + i2c_slave_gpio_mode(i2c->sda, GPIO_MODE_INPUT); + i2c->sda = -1; // un attached + } + return true; } - return pxHigherPriorityTaskWoken; -} -static bool i2c_slave_handle_tx_fifo_empty(i2c_slave_struct_t *i2c) { - bool pxHigherPriorityTaskWoken = false; - uint32_t d = 0, moveCnt = 0; - i2c_ll_get_txfifo_len(i2c->dev, &moveCnt); - while (moveCnt > 0) { // read tx queue until Fifo is full or queue is empty - if (xQueueReceiveFromISR(i2c->tx_queue, &d, (BaseType_t *const)&pxHigherPriorityTaskWoken) == pdTRUE) { - i2c_ll_write_txfifo(i2c->dev, (uint8_t *)&d, 1); - moveCnt--; - } else { - i2c_ll_slave_disable_tx_it(i2c->dev); - break; + static bool i2c_slave_send_event(i2c_slave_struct_t * i2c, i2c_slave_queue_event_t * event) { + bool pxHigherPriorityTaskWoken = false; + if (i2c->event_queue) { + if (xQueueSendFromISR(i2c->event_queue, event, (BaseType_t *const)&pxHigherPriorityTaskWoken) != pdTRUE) { + //log_e("event_queue_full"); + } + } + return pxHigherPriorityTaskWoken; + } + + static bool i2c_slave_handle_tx_fifo_empty(i2c_slave_struct_t * i2c) { + bool pxHigherPriorityTaskWoken = false; + uint32_t d = 0, moveCnt = 0; + i2c_ll_get_txfifo_len(i2c->dev, &moveCnt); + while (moveCnt > 0) { // read tx queue until Fifo is full or queue is empty + if (xQueueReceiveFromISR(i2c->tx_queue, &d, (BaseType_t *const)&pxHigherPriorityTaskWoken) == pdTRUE) { + i2c_ll_write_txfifo(i2c->dev, (uint8_t *)&d, 1); + moveCnt--; + } else { + i2c_ll_slave_disable_tx_it(i2c->dev); + break; + } } + return pxHigherPriorityTaskWoken; } - return pxHigherPriorityTaskWoken; -} -static bool i2c_slave_handle_rx_fifo_full(i2c_slave_struct_t *i2c, uint32_t len) { + static bool i2c_slave_handle_rx_fifo_full(i2c_slave_struct_t * i2c, uint32_t len) { #if I2C_SLAVE_USE_RX_QUEUE - uint32_t d = 0; + uint32_t d = 0; #else uint8_t data[SOC_I2C_FIFO_LEN]; #endif - bool pxHigherPriorityTaskWoken = false; + bool pxHigherPriorityTaskWoken = false; #if I2C_SLAVE_USE_RX_QUEUE - while (len > 0) { - i2c_ll_read_rxfifo(i2c->dev, (uint8_t *)&d, 1); - if (xQueueSendFromISR(i2c->rx_queue, &d, (BaseType_t *const)&pxHigherPriorityTaskWoken) != pdTRUE) { - log_e("rx_queue_full"); - } else { - i2c->rx_data_count++; - } - if (--len == 0) { - len = i2c_ll_get_rxfifo_cnt(i2c->dev); - } + while (len > 0) { + i2c_ll_read_rxfifo(i2c->dev, (uint8_t *)&d, 1); + if (xQueueSendFromISR(i2c->rx_queue, &d, (BaseType_t *const)&pxHigherPriorityTaskWoken) != pdTRUE) { + log_e("rx_queue_full"); + } else { + i2c->rx_data_count++; + } + if (--len == 0) { + len = i2c_ll_get_rxfifo_cnt(i2c->dev); + } #else if (len) { i2c_ll_read_rxfifo(i2c->dev, data, len); @@ -688,109 +722,109 @@ static bool i2c_slave_handle_rx_fifo_full(i2c_slave_struct_t *i2c, uint32_t len) i2c->rx_data_count += len; } #endif + } + return pxHigherPriorityTaskWoken; } - return pxHigherPriorityTaskWoken; -} - -static void i2c_slave_isr_handler(void *arg) { - bool pxHigherPriorityTaskWoken = false; - i2c_slave_struct_t *i2c = (i2c_slave_struct_t *)arg; // recover data - uint32_t activeInt = 0; - i2c_ll_get_intr_mask(i2c->dev, &activeInt); - i2c_ll_clear_intr_mask(i2c->dev, activeInt); - uint32_t rx_fifo_len = 0; - i2c_ll_get_rxfifo_cnt(i2c->dev, &rx_fifo_len); - bool slave_rw = i2c_ll_slave_rw(i2c->dev); + static void i2c_slave_isr_handler(void *arg) { + bool pxHigherPriorityTaskWoken = false; + i2c_slave_struct_t *i2c = (i2c_slave_struct_t *)arg; // recover data - if (activeInt & I2C_RXFIFO_WM_INT_ENA) { // RX FiFo Full - pxHigherPriorityTaskWoken |= i2c_slave_handle_rx_fifo_full(i2c, rx_fifo_len); - i2c_ll_slave_enable_rx_it(i2c->dev); //is this necessary? - } + uint32_t activeInt = 0; + i2c_ll_get_intr_mask(i2c->dev, &activeInt); + i2c_ll_clear_intr_mask(i2c->dev, activeInt); + uint32_t rx_fifo_len = 0; + i2c_ll_get_rxfifo_cnt(i2c->dev, &rx_fifo_len); + bool slave_rw = i2c_ll_slave_rw(i2c->dev); - if (activeInt & I2C_TRANS_COMPLETE_INT_ENA) { // STOP - if (rx_fifo_len) { //READ RX FIFO + if (activeInt & I2C_RXFIFO_WM_INT_ENA) { // RX FiFo Full pxHigherPriorityTaskWoken |= i2c_slave_handle_rx_fifo_full(i2c, rx_fifo_len); + i2c_ll_slave_enable_rx_it(i2c->dev); //is this necessary? } - if (i2c->rx_data_count) { //WRITE or RepeatedStart - //SEND RX Event - i2c_slave_queue_event_t event; - event.event = I2C_SLAVE_EVT_RX; - event.stop = !slave_rw; - event.param = i2c->rx_data_count; - pxHigherPriorityTaskWoken |= i2c_slave_send_event(i2c, &event); - //Zero RX count - i2c->rx_data_count = 0; - } - if (slave_rw) { // READ -#if CONFIG_IDF_TARGET_ESP32 - if (i2c->dev->status_reg.scl_main_state_last == 6) { - //SEND TX Event + + if (activeInt & I2C_TRANS_COMPLETE_INT_ENA) { // STOP + if (rx_fifo_len) { //READ RX FIFO + pxHigherPriorityTaskWoken |= i2c_slave_handle_rx_fifo_full(i2c, rx_fifo_len); + } + if (i2c->rx_data_count) { //WRITE or RepeatedStart + //SEND RX Event i2c_slave_queue_event_t event; - event.event = I2C_SLAVE_EVT_TX; + event.event = I2C_SLAVE_EVT_RX; + event.stop = !slave_rw; + event.param = i2c->rx_data_count; pxHigherPriorityTaskWoken |= i2c_slave_send_event(i2c, &event); + //Zero RX count + i2c->rx_data_count = 0; } + if (slave_rw) { // READ +#if CONFIG_IDF_TARGET_ESP32 + if (i2c->dev->status_reg.scl_main_state_last == 6) { + //SEND TX Event + i2c_slave_queue_event_t event; + event.event = I2C_SLAVE_EVT_TX; + pxHigherPriorityTaskWoken |= i2c_slave_send_event(i2c, &event); + } #else //reset TX data i2c_ll_txfifo_rst(i2c->dev); uint8_t d; while (xQueueReceiveFromISR(i2c->tx_queue, &d, (BaseType_t *const)&pxHigherPriorityTaskWoken) == pdTRUE); //flush partial write #endif + } } - } #ifndef CONFIG_IDF_TARGET_ESP32 - if (activeInt & I2C_SLAVE_STRETCH_INT_ENA) { // STRETCH - i2c_stretch_cause_t cause = i2c_ll_stretch_cause(i2c->dev); - if (cause == I2C_STRETCH_CAUSE_MASTER_READ) { - //on C3 RX data disappears with repeated start, so we need to get it here - if (rx_fifo_len) { + if (activeInt & I2C_SLAVE_STRETCH_INT_ENA) { // STRETCH + i2c_stretch_cause_t cause = i2c_ll_stretch_cause(i2c->dev); + if (cause == I2C_STRETCH_CAUSE_MASTER_READ) { + //on C3 RX data disappears with repeated start, so we need to get it here + if (rx_fifo_len) { + pxHigherPriorityTaskWoken |= i2c_slave_handle_rx_fifo_full(i2c, rx_fifo_len); + } + //SEND TX Event + i2c_slave_queue_event_t event; + event.event = I2C_SLAVE_EVT_TX; + pxHigherPriorityTaskWoken |= i2c_slave_send_event(i2c, &event); + //will clear after execution + } else if (cause == I2C_STRETCH_CAUSE_TX_FIFO_EMPTY) { + pxHigherPriorityTaskWoken |= i2c_slave_handle_tx_fifo_empty(i2c); + i2c_ll_stretch_clr(i2c->dev); + } else if (cause == I2C_STRETCH_CAUSE_RX_FIFO_FULL) { pxHigherPriorityTaskWoken |= i2c_slave_handle_rx_fifo_full(i2c, rx_fifo_len); + i2c_ll_stretch_clr(i2c->dev); } - //SEND TX Event - i2c_slave_queue_event_t event; - event.event = I2C_SLAVE_EVT_TX; - pxHigherPriorityTaskWoken |= i2c_slave_send_event(i2c, &event); - //will clear after execution - } else if (cause == I2C_STRETCH_CAUSE_TX_FIFO_EMPTY) { - pxHigherPriorityTaskWoken |= i2c_slave_handle_tx_fifo_empty(i2c); - i2c_ll_stretch_clr(i2c->dev); - } else if (cause == I2C_STRETCH_CAUSE_RX_FIFO_FULL) { - pxHigherPriorityTaskWoken |= i2c_slave_handle_rx_fifo_full(i2c, rx_fifo_len); - i2c_ll_stretch_clr(i2c->dev); } - } #endif - if (activeInt & I2C_TXFIFO_WM_INT_ENA) { // TX FiFo Empty - pxHigherPriorityTaskWoken |= i2c_slave_handle_tx_fifo_empty(i2c); - } + if (activeInt & I2C_TXFIFO_WM_INT_ENA) { // TX FiFo Empty + pxHigherPriorityTaskWoken |= i2c_slave_handle_tx_fifo_empty(i2c); + } - if (pxHigherPriorityTaskWoken) { - portYIELD_FROM_ISR(); + if (pxHigherPriorityTaskWoken) { + portYIELD_FROM_ISR(); + } } -} -static size_t i2c_slave_read_rx(i2c_slave_struct_t *i2c, uint8_t *data, size_t len) { - if (!len) { - return 0; - } -#if I2C_SLAVE_USE_RX_QUEUE - uint8_t d = 0; - BaseType_t res = pdTRUE; - for (size_t i = 0; i < len; i++) { - if (data) { - res = xQueueReceive(i2c->rx_queue, &data[i], 0); - } else { - res = xQueueReceive(i2c->rx_queue, &d, 0); + static size_t i2c_slave_read_rx(i2c_slave_struct_t * i2c, uint8_t * data, size_t len) { + if (!len) { + return 0; } - if (res != pdTRUE) { - log_e("Read Queue(%u) Failed", i); - len = i; - break; +#if I2C_SLAVE_USE_RX_QUEUE + uint8_t d = 0; + BaseType_t res = pdTRUE; + for (size_t i = 0; i < len; i++) { + if (data) { + res = xQueueReceive(i2c->rx_queue, &data[i], 0); + } else { + res = xQueueReceive(i2c->rx_queue, &d, 0); + } + if (res != pdTRUE) { + log_e("Read Queue(%u) Failed", i); + len = i; + break; + } } - } - return (data) ? len : 0; + return (data) ? len : 0; #else size_t dlen = 0, to_read = len, so_far = 0, available = 0; uint8_t *rx_data = NULL; @@ -817,55 +851,55 @@ static size_t i2c_slave_read_rx(i2c_slave_struct_t *i2c, uint8_t *data, size_t l } return (data) ? so_far : 0; #endif -} - -static void i2c_slave_task(void *pv_args) { - i2c_slave_struct_t *i2c = (i2c_slave_struct_t *)pv_args; - i2c_slave_queue_event_t event; - size_t len = 0; - bool stop = false; - uint8_t *data = NULL; - for (;;) { - if (xQueueReceive(i2c->event_queue, &event, portMAX_DELAY) == pdTRUE) { - // Write - if (event.event == I2C_SLAVE_EVT_RX) { - len = event.param; - stop = event.stop; - data = (len > 0) ? (uint8_t *)malloc(len) : NULL; - - if (len && data == NULL) { - log_e("Malloc (%u) Failed", len); - } - len = i2c_slave_read_rx(i2c, data, len); - if (i2c->receive_callback) { - i2c->receive_callback(i2c->num, data, len, stop, i2c->arg); - } - free(data); + } - // Read - } else if (event.event == I2C_SLAVE_EVT_TX) { - if (i2c->request_callback) { - i2c->request_callback(i2c->num, i2c->arg); + static void i2c_slave_task(void *pv_args) { + i2c_slave_struct_t *i2c = (i2c_slave_struct_t *)pv_args; + i2c_slave_queue_event_t event; + size_t len = 0; + bool stop = false; + uint8_t *data = NULL; + for (;;) { + if (xQueueReceive(i2c->event_queue, &event, portMAX_DELAY) == pdTRUE) { + // Write + if (event.event == I2C_SLAVE_EVT_RX) { + len = event.param; + stop = event.stop; + data = (len > 0) ? (uint8_t *)malloc(len) : NULL; + + if (len && data == NULL) { + log_e("Malloc (%u) Failed", len); + } + len = i2c_slave_read_rx(i2c, data, len); + if (i2c->receive_callback) { + i2c->receive_callback(i2c->num, data, len, stop, i2c->arg); + } + free(data); + + // Read + } else if (event.event == I2C_SLAVE_EVT_TX) { + if (i2c->request_callback) { + i2c->request_callback(i2c->num, i2c->arg); + } + i2c_ll_stretch_clr(i2c->dev); } - i2c_ll_stretch_clr(i2c->dev); } } + vTaskDelete(NULL); } - vTaskDelete(NULL); -} -static bool i2cSlaveDetachBus(void *bus_i2c_num) { - uint8_t num = (int)bus_i2c_num - 1; - i2c_slave_struct_t *i2c = &_i2c_bus_array[num]; - if (i2c->scl == -1 && i2c->sda == -1) { + static bool i2cSlaveDetachBus(void *bus_i2c_num) { + uint8_t num = (int)bus_i2c_num - 1; + i2c_slave_struct_t *i2c = &_i2c_bus_array[num]; + if (i2c->scl == -1 && i2c->sda == -1) { + return true; + } + esp_err_t err = i2cSlaveDeinit(num); + if (err != ESP_OK) { + log_e("i2cSlaveDeinit failed with error: %d", err); + return false; + } return true; } - esp_err_t err = i2cSlaveDeinit(num); - if (err != ESP_OK) { - log_e("i2cSlaveDeinit failed with error: %d", err); - return false; - } - return true; -} #endif /* SOC_I2C_SUPPORT_SLAVE */ diff --git a/cores/esp32/esp32-hal-i2c.c b/cores/esp32/esp32-hal-i2c.c index 419ce66bb9b..359b2161201 100644 --- a/cores/esp32/esp32-hal-i2c.c +++ b/cores/esp32/esp32-hal-i2c.c @@ -29,6 +29,19 @@ #include "hal/i2c_ll.h" #include "driver/i2c.h" #include "esp32-hal-periman.h" +#include "esp_private/periph_ctrl.h" + +#if SOC_PERIPH_CLK_CTRL_SHARED +#define I2C_CLOCK_SRC_ATOMIC() PERIPH_RCC_ATOMIC() +#else +#define I2C_CLOCK_SRC_ATOMIC() +#endif + +#if !SOC_RCC_IS_INDEPENDENT +#define I2C_RCC_ATOMIC() PERIPH_RCC_ATOMIC() +#else +#define I2C_RCC_ATOMIC() +#endif #if SOC_I2C_SUPPORT_APB || SOC_I2C_SUPPORT_XTAL #include "esp_private/esp_clk.h" @@ -388,7 +401,9 @@ esp_err_t i2cSetClock(uint8_t i2c_num, uint32_t frequency) { periph_rtc_dig_clk8m_enable(); } #endif - i2c_hal_set_bus_timing(&(hal), frequency, i2c_clk_alloc[src_clk].clk, i2c_clk_alloc[src_clk].clk_freq); + I2C_CLOCK_SRC_ATOMIC() { + i2c_hal_set_bus_timing(&(hal), frequency, i2c_clk_alloc[src_clk].clk, i2c_clk_alloc[src_clk].clk_freq); + } bus[i2c_num].frequency = frequency; //Clock Stretching Timeout: 20b:esp32, 5b:esp32-c3, 24b:esp32-s2 i2c_set_timeout((i2c_port_t)i2c_num, I2C_LL_MAX_TIMEOUT); diff --git a/cores/esp32/esp32-hal-ledc.c b/cores/esp32/esp32-hal-ledc.c index 7d748f98a56..0a3ec5a60c7 100644 --- a/cores/esp32/esp32-hal-ledc.c +++ b/cores/esp32/esp32-hal-ledc.c @@ -323,11 +323,16 @@ bool ledcOutputInvert(uint8_t pin, bool out_invert) { ledc_channel_handle_t *bus = (ledc_channel_handle_t *)perimanGetPinBus(pin, ESP32_BUS_TYPE_LEDC); if (bus != NULL) { gpio_set_level(pin, out_invert); + +#ifdef CONFIG_IDF_TARGET_ESP32P4 + esp_rom_gpio_connect_out_signal(pin, LEDC_LS_SIG_OUT_PAD_OUT0_IDX + ((bus->channel) % 8), out_invert, 0); +#else #ifdef SOC_LEDC_SUPPORT_HS_MODE esp_rom_gpio_connect_out_signal(pin, ((bus->channel / 8 == 0) ? LEDC_HS_SIG_OUT0_IDX : LEDC_LS_SIG_OUT0_IDX) + ((bus->channel) % 8), out_invert, 0); #else esp_rom_gpio_connect_out_signal(pin, LEDC_LS_SIG_OUT0_IDX + ((bus->channel) % 8), out_invert, 0); #endif +#endif // ifdef CONFIG_IDF_TARGET_ESP32P4 return true; } return false; diff --git a/cores/esp32/esp32-hal-matrix.c b/cores/esp32/esp32-hal-matrix.c index fba044d0c85..7cddb4e04db 100644 --- a/cores/esp32/esp32-hal-matrix.c +++ b/cores/esp32/esp32-hal-matrix.c @@ -32,6 +32,8 @@ #include "esp32c6/rom/gpio.h" #elif CONFIG_IDF_TARGET_ESP32H2 #include "esp32h2/rom/gpio.h" +#elif CONFIG_IDF_TARGET_ESP32P4 +#include "esp32p4/rom/gpio.h" #else #error Target CONFIG_IDF_TARGET is not supported #endif diff --git a/cores/esp32/esp32-hal-misc.c b/cores/esp32/esp32-hal-misc.c index 7dfca6134b2..ab46eba3d09 100644 --- a/cores/esp32/esp32-hal-misc.c +++ b/cores/esp32/esp32-hal-misc.c @@ -29,7 +29,7 @@ #endif //CONFIG_BT_ENABLED #include #include "soc/rtc.h" -#if !defined(CONFIG_IDF_TARGET_ESP32C2) && !defined(CONFIG_IDF_TARGET_ESP32C6) && !defined(CONFIG_IDF_TARGET_ESP32H2) +#if !defined(CONFIG_IDF_TARGET_ESP32C2) && !defined(CONFIG_IDF_TARGET_ESP32C6) && !defined(CONFIG_IDF_TARGET_ESP32H2) && !defined(CONFIG_IDF_TARGET_ESP32P4) #include "soc/rtc_cntl_reg.h" #include "soc/syscon_reg.h" #endif @@ -53,6 +53,8 @@ #include "esp32c6/rom/rtc.h" #elif CONFIG_IDF_TARGET_ESP32H2 #include "esp32h2/rom/rtc.h" +#elif CONFIG_IDF_TARGET_ESP32P4 +#include "esp32p4/rom/rtc.h" #else #error Target CONFIG_IDF_TARGET is not supported diff --git a/cores/esp32/esp32-hal-psram.c b/cores/esp32/esp32-hal-psram.c index 5a741908f07..f28095a6fd8 100644 --- a/cores/esp32/esp32-hal-psram.c +++ b/cores/esp32/esp32-hal-psram.c @@ -27,6 +27,8 @@ #include "esp32s2/rom/cache.h" #elif CONFIG_IDF_TARGET_ESP32S3 #include "esp32s3/rom/cache.h" +#elif CONFIG_IDF_TARGET_ESP32P4 +#include "esp32p4/rom/cache.h" #else #error Target CONFIG_IDF_TARGET is not supported #endif diff --git a/cores/esp32/esp32-hal-spi.c b/cores/esp32/esp32-hal-spi.c index 857c3d4bb2e..8c8ce0b7705 100644 --- a/cores/esp32/esp32-hal-spi.c +++ b/cores/esp32/esp32-hal-spi.c @@ -22,11 +22,13 @@ #include "esp_attr.h" #include "soc/spi_reg.h" #include "soc/spi_struct.h" +#include "soc/periph_defs.h" #include "soc/io_mux_reg.h" #include "soc/gpio_sig_map.h" #include "soc/rtc.h" #include "hal/clk_gate_ll.h" #include "esp32-hal-periman.h" +#include "esp_private/periph_ctrl.h" #include "esp_system.h" #include "esp_intr_alloc.h" @@ -55,6 +57,9 @@ #elif CONFIG_IDF_TARGET_ESP32H2 #include "esp32h2/rom/ets_sys.h" #include "esp32h2/rom/gpio.h" +#elif CONFIG_IDF_TARGET_ESP32P4 +#include "esp32p4/rom/ets_sys.h" +#include "esp32p4/rom/gpio.h" #else #error Target CONFIG_IDF_TARGET is not supported #endif @@ -96,6 +101,24 @@ struct spi_struct_t { #define SPI_FSPI_SS_IDX(n) ((n == 0) ? FSPICS0_OUT_IDX : ((n == 1) ? FSPICS1_OUT_IDX : 0)) #define SPI_SS_IDX(p, n) ((p == 0) ? SPI_FSPI_SS_IDX(n) : ((p == 1) ? SPI_HSPI_SS_IDX(n) : 0)) +#elif CONFIG_IDF_TARGET_ESP32P4 +// ESP32P4 +#define SPI_COUNT (2) // SPI2 and SPI3. SPI0 and SPI1 are reserved for flash and PSRAM + +#define SPI_CLK_IDX(p) ((p == 0) ? SPI2_CK_PAD_OUT_IDX : ((p == 1) ? SPI3_CK_PAD_OUT_IDX : 0)) +#define SPI_MISO_IDX(p) ((p == 0) ? SPI2_Q_PAD_OUT_IDX : ((p == 1) ? SPI3_QO_PAD_OUT_IDX : 0)) +#define SPI_MOSI_IDX(p) ((p == 0) ? SPI2_D_PAD_IN_IDX : ((p == 1) ? SPI3_D_PAD_IN_IDX : 0)) + +#define SPI_HSPI_SS_IDX(n) ((n == 0) ? SPI3_CS_PAD_OUT_IDX : ((n == 1) ? SPI3_CS1_PAD_OUT_IDX : ((n == 2) ? SPI3_CS2_PAD_OUT_IDX : 0))) + +#define SPI_FSPI_SS_IDX(n) \ + ((n == 0) ? SPI2_CS_PAD_OUT_IDX \ + : ((n == 1) ? SPI2_CS1_PAD_OUT_IDX \ + : ((n == 2) ? SPI2_CS2_PAD_OUT_IDX \ + : ((n == 3) ? SPI2_CS3_PAD_OUT_IDX : ((n == 4) ? SPI2_CS4_PAD_OUT_IDX : ((n == 5) ? SPI2_CS5_PAD_OUT_IDX : 0)))))) + +#define SPI_SS_IDX(p, n) ((p == 0) ? SPI_FSPI_SS_IDX(n) : ((p == 1) ? SPI_HSPI_SS_IDX(n) : 0)) + #elif CONFIG_IDF_TARGET_ESP32C2 || CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 // ESP32C3 #define SPI_COUNT (1) @@ -125,13 +148,12 @@ struct spi_struct_t { #if CONFIG_DISABLE_HAL_LOCKS #define SPI_MUTEX_LOCK() #define SPI_MUTEX_UNLOCK() - -static spi_t _spi_bus_array[] = { ++ static spi_t _spi_bus_array[] = { #if CONFIG_IDF_TARGET_ESP32S2 {(volatile spi_dev_t *)(DR_REG_SPI1_BASE), 0, -1, -1, -1, -1}, {(volatile spi_dev_t *)(DR_REG_SPI2_BASE), 1, -1, -1, -1, -1}, {(volatile spi_dev_t *)(DR_REG_SPI3_BASE), 2, -1, -1, -1, -1} -#elif CONFIG_IDF_TARGET_ESP32S3 +#elif CONFIG_IDF_TARGET_ESP32S3 || CONFIG_IDF_TARGET_ESP32P4 {(volatile spi_dev_t *)(DR_REG_SPI2_BASE), 0, -1, -1, -1, -1}, {(volatile spi_dev_t *)(DR_REG_SPI3_BASE), 1, -1, -1, -1, -1} #elif CONFIG_IDF_TARGET_ESP32C2 {(volatile spi_dev_t *)(DR_REG_SPI2_BASE), 0, -1, -1, -1, -1} @@ -157,7 +179,7 @@ static spi_t _spi_bus_array[] = { {(volatile spi_dev_t *)(DR_REG_SPI1_BASE), NULL, 0, -1, -1, -1, -1}, {(volatile spi_dev_t *)(DR_REG_SPI2_BASE), NULL, 1, -1, -1, -1, -1}, {(volatile spi_dev_t *)(DR_REG_SPI3_BASE), NULL, 2, -1, -1, -1, -1} -#elif CONFIG_IDF_TARGET_ESP32S3 +#elif CONFIG_IDF_TARGET_ESP32S3 || CONFIG_IDF_TARGET_ESP32P4 {(volatile spi_dev_t *)(DR_REG_SPI2_BASE), NULL, 0, -1, -1, -1, -1}, {(volatile spi_dev_t *)(DR_REG_SPI3_BASE), NULL, 1, -1, -1, -1, -1} #elif CONFIG_IDF_TARGET_ESP32C2 {(volatile spi_dev_t *)(DR_REG_SPI2_BASE), NULL, 0, -1, -1, -1, -1} @@ -369,11 +391,10 @@ void spiEnableSSPins(spi_t *spi, uint8_t ss_mask) { return; } SPI_MUTEX_LOCK(); -#if CONFIG_IDF_TARGET_ESP32S2 || CONFIG_IDF_TARGET_ESP32S3 || CONFIG_IDF_TARGET_ESP32C2 || CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32C6 \ - || CONFIG_IDF_TARGET_ESP32H2 - spi->dev->misc.val &= ~(ss_mask & SPI_SS_MASK_ALL); -#else +#if CONFIG_IDF_TARGET_ESP32 spi->dev->pin.val &= ~(ss_mask & SPI_SS_MASK_ALL); +#else + spi->dev->misc.val &= ~(ss_mask & SPI_SS_MASK_ALL); #endif SPI_MUTEX_UNLOCK(); } @@ -383,11 +404,10 @@ void spiDisableSSPins(spi_t *spi, uint8_t ss_mask) { return; } SPI_MUTEX_LOCK(); -#if CONFIG_IDF_TARGET_ESP32S2 || CONFIG_IDF_TARGET_ESP32S3 || CONFIG_IDF_TARGET_ESP32C2 || CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32C6 \ - || CONFIG_IDF_TARGET_ESP32H2 - spi->dev->misc.val |= (ss_mask & SPI_SS_MASK_ALL); -#else +#if CONFIG_IDF_TARGET_ESP32 spi->dev->pin.val |= (ss_mask & SPI_SS_MASK_ALL); +#else + spi->dev->misc.val |= (ss_mask & SPI_SS_MASK_ALL); #endif SPI_MUTEX_UNLOCK(); } @@ -417,11 +437,10 @@ void spiSSSet(spi_t *spi) { return; } SPI_MUTEX_LOCK(); -#if CONFIG_IDF_TARGET_ESP32S2 || CONFIG_IDF_TARGET_ESP32S3 || CONFIG_IDF_TARGET_ESP32C2 || CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32C6 \ - || CONFIG_IDF_TARGET_ESP32H2 - spi->dev->misc.cs_keep_active = 1; -#else +#if CONFIG_IDF_TARGET_ESP32 spi->dev->pin.cs_keep_active = 1; +#else + spi->dev->misc.cs_keep_active = 1; #endif SPI_MUTEX_UNLOCK(); } @@ -431,11 +450,10 @@ void spiSSClear(spi_t *spi) { return; } SPI_MUTEX_LOCK(); -#if CONFIG_IDF_TARGET_ESP32S2 || CONFIG_IDF_TARGET_ESP32S3 || CONFIG_IDF_TARGET_ESP32C2 || CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32C6 \ - || CONFIG_IDF_TARGET_ESP32H2 - spi->dev->misc.cs_keep_active = 0; -#else +#if CONFIG_IDF_TARGET_ESP32 spi->dev->pin.cs_keep_active = 0; +#else + spi->dev->misc.cs_keep_active = 0; #endif SPI_MUTEX_UNLOCK(); } @@ -460,11 +478,10 @@ uint8_t spiGetDataMode(spi_t *spi) { if (!spi) { return 0; } -#if CONFIG_IDF_TARGET_ESP32S2 || CONFIG_IDF_TARGET_ESP32S3 || CONFIG_IDF_TARGET_ESP32C2 || CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32C6 \ - || CONFIG_IDF_TARGET_ESP32H2 - bool idleEdge = spi->dev->misc.ck_idle_edge; -#else +#if CONFIG_IDF_TARGET_ESP32 bool idleEdge = spi->dev->pin.ck_idle_edge; +#else + bool idleEdge = spi->dev->misc.ck_idle_edge; #endif bool outEdge = spi->dev->user.ck_out_edge; if (idleEdge) { @@ -486,39 +503,35 @@ void spiSetDataMode(spi_t *spi, uint8_t dataMode) { SPI_MUTEX_LOCK(); switch (dataMode) { case SPI_MODE1: -#if CONFIG_IDF_TARGET_ESP32S2 || CONFIG_IDF_TARGET_ESP32S3 || CONFIG_IDF_TARGET_ESP32C2 || CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32C6 \ - || CONFIG_IDF_TARGET_ESP32H2 - spi->dev->misc.ck_idle_edge = 0; -#else +#if CONFIG_IDF_TARGET_ESP32 spi->dev->pin.ck_idle_edge = 0; +#else + spi->dev->misc.ck_idle_edge = 0; #endif spi->dev->user.ck_out_edge = 1; break; case SPI_MODE2: -#if CONFIG_IDF_TARGET_ESP32S2 || CONFIG_IDF_TARGET_ESP32S3 || CONFIG_IDF_TARGET_ESP32C2 || CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32C6 \ - || CONFIG_IDF_TARGET_ESP32H2 - spi->dev->misc.ck_idle_edge = 1; -#else +#if CONFIG_IDF_TARGET_ESP32 spi->dev->pin.ck_idle_edge = 1; +#else + spi->dev->misc.ck_idle_edge = 1; #endif spi->dev->user.ck_out_edge = 1; break; case SPI_MODE3: -#if CONFIG_IDF_TARGET_ESP32S2 || CONFIG_IDF_TARGET_ESP32S3 || CONFIG_IDF_TARGET_ESP32C2 || CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32C6 \ - || CONFIG_IDF_TARGET_ESP32H2 - spi->dev->misc.ck_idle_edge = 1; -#else +#if CONFIG_IDF_TARGET_ESP32 spi->dev->pin.ck_idle_edge = 1; +#else + spi->dev->misc.ck_idle_edge = 1; #endif spi->dev->user.ck_out_edge = 0; break; case SPI_MODE0: default: -#if CONFIG_IDF_TARGET_ESP32S2 || CONFIG_IDF_TARGET_ESP32S3 || CONFIG_IDF_TARGET_ESP32C2 || CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32C6 \ - || CONFIG_IDF_TARGET_ESP32H2 - spi->dev->misc.ck_idle_edge = 0; -#else +#if CONFIG_IDF_TARGET_ESP32 spi->dev->pin.ck_idle_edge = 0; +#else + spi->dev->misc.ck_idle_edge = 0; #endif spi->dev->user.ck_out_edge = 0; break; @@ -564,11 +577,10 @@ static void spiInitBus(spi_t *spi) { spi->dev->slave.trans_done = 0; #endif spi->dev->slave.val = 0; -#if CONFIG_IDF_TARGET_ESP32S2 || CONFIG_IDF_TARGET_ESP32S3 || CONFIG_IDF_TARGET_ESP32C2 || CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32C6 \ - || CONFIG_IDF_TARGET_ESP32H2 - spi->dev->misc.val = 0; -#else +#if CONFIG_IDF_TARGET_ESP32 spi->dev->pin.val = 0; +#else + spi->dev->misc.val = 0; #endif spi->dev->user.val = 0; spi->dev->user1.val = 0; @@ -648,18 +660,18 @@ spi_t *spiStartBus(uint8_t spi_num, uint32_t clockDiv, uint8_t dataMode, uint8_t DPORT_SET_PERI_REG_MASK(DPORT_PERIP_CLK_EN_REG, DPORT_SPI01_CLK_EN); DPORT_CLEAR_PERI_REG_MASK(DPORT_PERIP_RST_EN_REG, DPORT_SPI01_RST); } -#elif CONFIG_IDF_TARGET_ESP32C2 || CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 +#elif defined(__PERIPH_CTRL_ALLOW_LEGACY_API) periph_ll_reset(PERIPH_SPI2_MODULE); periph_ll_enable_clk_clear_rst(PERIPH_SPI2_MODULE); #endif SPI_MUTEX_LOCK(); spiInitBus(spi); -#if CONFIG_IDF_TARGET_ESP32C2 || CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32S3 || CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 +#if !defined(CONFIG_IDF_TARGET_ESP32) && !defined(CONFIG_IDF_TARGET_ESP32S2) spi->dev->clk_gate.clk_en = 1; spi->dev->clk_gate.mst_clk_sel = 1; spi->dev->clk_gate.mst_clk_active = 1; -#if !CONFIG_IDF_TARGET_ESP32C6 && !CONFIG_IDF_TARGET_ESP32H2 +#if defined(CONFIG_IDF_TARGET_ESP32S3) || defined(CONFIG_IDF_TARGET_ESP32C2) || defined(CONFIG_IDF_TARGET_ESP32C3) spi->dev->dma_conf.tx_seg_trans_clr_en = 1; spi->dev->dma_conf.rx_seg_trans_clr_en = 1; spi->dev->dma_conf.dma_seg_trans_en = 0; @@ -670,7 +682,7 @@ spi_t *spiStartBus(uint8_t spi_num, uint32_t clockDiv, uint8_t dataMode, uint8_t spi->dev->user.doutdin = 1; int i; for (i = 0; i < 16; i++) { -#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 +#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 || CONFIG_IDF_TARGET_ESP32P4 spi->dev->data_buf[i].val = 0x00000000; #else spi->dev->data_buf[i] = 0x00000000; @@ -697,7 +709,7 @@ void spiWaitReady(spi_t *spi) { #if CONFIG_IDF_TARGET_ESP32S2 #define usr_mosi_dbitlen usr_mosi_bit_len #define usr_miso_dbitlen usr_miso_bit_len -#elif CONFIG_IDF_TARGET_ESP32C2 || CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32S3 || CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 +#elif !defined(CONFIG_IDF_TARGET_ESP32) #define usr_mosi_dbitlen ms_data_bitlen #define usr_miso_dbitlen ms_data_bitlen #define mosi_dlen ms_dlen @@ -718,13 +730,13 @@ void spiWrite(spi_t *spi, const uint32_t *data, uint8_t len) { spi->dev->miso_dlen.usr_miso_dbitlen = 0; #endif for (i = 0; i < len; i++) { -#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 +#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 || CONFIG_IDF_TARGET_ESP32P4 spi->dev->data_buf[i].val = data[i]; #else spi->dev->data_buf[i] = data[i]; #endif } -#if CONFIG_IDF_TARGET_ESP32C2 || CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32S3 || CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 +#if !defined(CONFIG_IDF_TARGET_ESP32) && !defined(CONFIG_IDF_TARGET_ESP32S2) spi->dev->cmd.update = 1; while (spi->dev->cmd.update); #endif @@ -745,20 +757,20 @@ void spiTransfer(spi_t *spi, uint32_t *data, uint8_t len) { spi->dev->mosi_dlen.usr_mosi_dbitlen = (len * 32) - 1; spi->dev->miso_dlen.usr_miso_dbitlen = (len * 32) - 1; for (i = 0; i < len; i++) { -#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 +#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 || CONFIG_IDF_TARGET_ESP32P4 spi->dev->data_buf[i].val = data[i]; #else spi->dev->data_buf[i] = data[i]; #endif } -#if CONFIG_IDF_TARGET_ESP32C2 || CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32S3 || CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 +#if !defined(CONFIG_IDF_TARGET_ESP32) && !defined(CONFIG_IDF_TARGET_ESP32S2) spi->dev->cmd.update = 1; while (spi->dev->cmd.update); #endif spi->dev->cmd.usr = 1; while (spi->dev->cmd.usr); for (i = 0; i < len; i++) { -#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 +#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 || CONFIG_IDF_TARGET_ESP32P4 data[i] = spi->dev->data_buf[i].val; #else data[i] = spi->dev->data_buf[i]; @@ -776,13 +788,13 @@ void spiWriteByte(spi_t *spi, uint8_t data) { #if CONFIG_IDF_TARGET_ESP32S2 || CONFIG_IDF_TARGET_ESP32 spi->dev->miso_dlen.usr_miso_dbitlen = 0; #endif -#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 +#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 || CONFIG_IDF_TARGET_ESP32P4 spi->dev->data_buf[0].val = data; #else spi->dev->data_buf[0] = data; #endif -#if CONFIG_IDF_TARGET_ESP32C2 || CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32S3 || CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 +#if !defined(CONFIG_IDF_TARGET_ESP32) && !defined(CONFIG_IDF_TARGET_ESP32S2) spi->dev->cmd.update = 1; while (spi->dev->cmd.update); #endif @@ -798,18 +810,18 @@ uint8_t spiTransferByte(spi_t *spi, uint8_t data) { SPI_MUTEX_LOCK(); spi->dev->mosi_dlen.usr_mosi_dbitlen = 7; spi->dev->miso_dlen.usr_miso_dbitlen = 7; -#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 +#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 || CONFIG_IDF_TARGET_ESP32P4 spi->dev->data_buf[0].val = data; #else spi->dev->data_buf[0] = data; #endif -#if CONFIG_IDF_TARGET_ESP32C2 || CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32S3 || CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 +#if !defined(CONFIG_IDF_TARGET_ESP32) && !defined(CONFIG_IDF_TARGET_ESP32S2) spi->dev->cmd.update = 1; while (spi->dev->cmd.update); #endif spi->dev->cmd.usr = 1; while (spi->dev->cmd.usr); -#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 +#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 || CONFIG_IDF_TARGET_ESP32P4 data = spi->dev->data_buf[0].val & 0xFF; #else data = spi->dev->data_buf[0] & 0xFF; @@ -839,12 +851,12 @@ void spiWriteWord(spi_t *spi, uint16_t data) { #if CONFIG_IDF_TARGET_ESP32S2 || CONFIG_IDF_TARGET_ESP32 spi->dev->miso_dlen.usr_miso_dbitlen = 0; #endif -#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 +#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 || CONFIG_IDF_TARGET_ESP32P4 spi->dev->data_buf[0].val = data; #else spi->dev->data_buf[0] = data; #endif -#if CONFIG_IDF_TARGET_ESP32C2 || CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32S3 || CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 +#if !defined(CONFIG_IDF_TARGET_ESP32) && !defined(CONFIG_IDF_TARGET_ESP32S2) spi->dev->cmd.update = 1; while (spi->dev->cmd.update); #endif @@ -863,18 +875,18 @@ uint16_t spiTransferWord(spi_t *spi, uint16_t data) { SPI_MUTEX_LOCK(); spi->dev->mosi_dlen.usr_mosi_dbitlen = 15; spi->dev->miso_dlen.usr_miso_dbitlen = 15; -#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 +#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 || CONFIG_IDF_TARGET_ESP32P4 spi->dev->data_buf[0].val = data; #else spi->dev->data_buf[0] = data; #endif -#if CONFIG_IDF_TARGET_ESP32C2 || CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32S3 || CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 +#if !defined(CONFIG_IDF_TARGET_ESP32) && !defined(CONFIG_IDF_TARGET_ESP32S2) spi->dev->cmd.update = 1; while (spi->dev->cmd.update); #endif spi->dev->cmd.usr = 1; while (spi->dev->cmd.usr); -#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 +#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 || CONFIG_IDF_TARGET_ESP32P4 data = spi->dev->data_buf[0].val; #else data = spi->dev->data_buf[0]; @@ -898,12 +910,12 @@ void spiWriteLong(spi_t *spi, uint32_t data) { #if CONFIG_IDF_TARGET_ESP32S2 || CONFIG_IDF_TARGET_ESP32 spi->dev->miso_dlen.usr_miso_dbitlen = 0; #endif -#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 +#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 || CONFIG_IDF_TARGET_ESP32P4 spi->dev->data_buf[0].val = data; #else spi->dev->data_buf[0] = data; #endif -#if CONFIG_IDF_TARGET_ESP32C2 || CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32S3 || CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 +#if !defined(CONFIG_IDF_TARGET_ESP32) && !defined(CONFIG_IDF_TARGET_ESP32S2) spi->dev->cmd.update = 1; while (spi->dev->cmd.update); #endif @@ -922,18 +934,18 @@ uint32_t spiTransferLong(spi_t *spi, uint32_t data) { SPI_MUTEX_LOCK(); spi->dev->mosi_dlen.usr_mosi_dbitlen = 31; spi->dev->miso_dlen.usr_miso_dbitlen = 31; -#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 +#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 || CONFIG_IDF_TARGET_ESP32P4 spi->dev->data_buf[0].val = data; #else spi->dev->data_buf[0] = data; #endif -#if CONFIG_IDF_TARGET_ESP32C2 || CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32S3 || CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 +#if !defined(CONFIG_IDF_TARGET_ESP32) && !defined(CONFIG_IDF_TARGET_ESP32S2) spi->dev->cmd.update = 1; while (spi->dev->cmd.update); #endif spi->dev->cmd.usr = 1; while (spi->dev->cmd.usr); -#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 +#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 || CONFIG_IDF_TARGET_ESP32P4 data = spi->dev->data_buf[0].val; #else data = spi->dev->data_buf[0]; @@ -972,14 +984,14 @@ static void __spiTransferBytes(spi_t *spi, const uint8_t *data, uint8_t *out, ui spi->dev->miso_dlen.usr_miso_dbitlen = ((bytes * 8) - 1); for (i = 0; i < words; i++) { -#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 +#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 || CONFIG_IDF_TARGET_ESP32P4 spi->dev->data_buf[i].val = wordsBuf[i]; //copy buffer to spi fifo #else spi->dev->data_buf[i] = wordsBuf[i]; //copy buffer to spi fifo #endif } -#if CONFIG_IDF_TARGET_ESP32C2 || CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32S3 || CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 +#if !defined(CONFIG_IDF_TARGET_ESP32) && !defined(CONFIG_IDF_TARGET_ESP32S2) spi->dev->cmd.update = 1; while (spi->dev->cmd.update); #endif @@ -989,7 +1001,7 @@ static void __spiTransferBytes(spi_t *spi, const uint8_t *data, uint8_t *out, ui if (out) { for (i = 0; i < words; i++) { -#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 +#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 || CONFIG_IDF_TARGET_ESP32P4 wordsBuf[i] = spi->dev->data_buf[i].val; //copy spi fifo to buffer #else wordsBuf[i] = spi->dev->data_buf[i]; //copy spi fifo to buffer @@ -1061,39 +1073,35 @@ void spiTransaction(spi_t *spi, uint32_t clockDiv, uint8_t dataMode, uint8_t bit spi->dev->clock.val = clockDiv; switch (dataMode) { case SPI_MODE1: -#if CONFIG_IDF_TARGET_ESP32S2 || CONFIG_IDF_TARGET_ESP32S3 || CONFIG_IDF_TARGET_ESP32C2 || CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32C6 \ - || CONFIG_IDF_TARGET_ESP32H2 - spi->dev->misc.ck_idle_edge = 0; -#else +#if CONFIG_IDF_TARGET_ESP32 spi->dev->pin.ck_idle_edge = 0; +#else + spi->dev->misc.ck_idle_edge = 0; #endif spi->dev->user.ck_out_edge = 1; break; case SPI_MODE2: -#if CONFIG_IDF_TARGET_ESP32S2 || CONFIG_IDF_TARGET_ESP32S3 || CONFIG_IDF_TARGET_ESP32C2 || CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32C6 \ - || CONFIG_IDF_TARGET_ESP32H2 - spi->dev->misc.ck_idle_edge = 1; -#else +#if CONFIG_IDF_TARGET_ESP32 spi->dev->pin.ck_idle_edge = 1; +#else + spi->dev->misc.ck_idle_edge = 1; #endif spi->dev->user.ck_out_edge = 1; break; case SPI_MODE3: -#if CONFIG_IDF_TARGET_ESP32S2 || CONFIG_IDF_TARGET_ESP32S3 || CONFIG_IDF_TARGET_ESP32C2 || CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32C6 \ - || CONFIG_IDF_TARGET_ESP32H2 - spi->dev->misc.ck_idle_edge = 1; -#else +#if CONFIG_IDF_TARGET_ESP32 spi->dev->pin.ck_idle_edge = 1; +#else + spi->dev->misc.ck_idle_edge = 1; #endif spi->dev->user.ck_out_edge = 0; break; case SPI_MODE0: default: -#if CONFIG_IDF_TARGET_ESP32S2 || CONFIG_IDF_TARGET_ESP32S3 || CONFIG_IDF_TARGET_ESP32C2 || CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32C6 \ - || CONFIG_IDF_TARGET_ESP32H2 - spi->dev->misc.ck_idle_edge = 0; -#else +#if CONFIG_IDF_TARGET_ESP32 spi->dev->pin.ck_idle_edge = 0; +#else + spi->dev->misc.ck_idle_edge = 0; #endif spi->dev->user.ck_out_edge = 0; break; @@ -1105,7 +1113,7 @@ void spiTransaction(spi_t *spi, uint32_t clockDiv, uint8_t dataMode, uint8_t bit spi->dev->ctrl.wr_bit_order = 1; spi->dev->ctrl.rd_bit_order = 1; } -#if CONFIG_IDF_TARGET_ESP32S3 || CONFIG_IDF_TARGET_ESP32C2 || CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 +#if !defined(CONFIG_IDF_TARGET_ESP32) && !defined(CONFIG_IDF_TARGET_ESP32S2) // Sync new config with hardware, fixes https://github.com/espressif/arduino-esp32/issues/9221 spi->dev->cmd.update = 1; while (spi->dev->cmd.update); @@ -1134,12 +1142,12 @@ void ARDUINO_ISR_ATTR spiWriteByteNL(spi_t *spi, uint8_t data) { #if CONFIG_IDF_TARGET_ESP32S2 || CONFIG_IDF_TARGET_ESP32 spi->dev->miso_dlen.usr_miso_dbitlen = 0; #endif -#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 +#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 || CONFIG_IDF_TARGET_ESP32P4 spi->dev->data_buf[0].val = data; #else spi->dev->data_buf[0] = data; #endif -#if CONFIG_IDF_TARGET_ESP32C2 || CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32S3 || CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 +#if !defined(CONFIG_IDF_TARGET_ESP32) && !defined(CONFIG_IDF_TARGET_ESP32S2) spi->dev->cmd.update = 1; while (spi->dev->cmd.update); #endif @@ -1153,18 +1161,18 @@ uint8_t spiTransferByteNL(spi_t *spi, uint8_t data) { } spi->dev->mosi_dlen.usr_mosi_dbitlen = 7; spi->dev->miso_dlen.usr_miso_dbitlen = 7; -#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 +#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 || CONFIG_IDF_TARGET_ESP32P4 spi->dev->data_buf[0].val = data; #else spi->dev->data_buf[0] = data; #endif -#if CONFIG_IDF_TARGET_ESP32C2 || CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32S3 || CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 +#if !defined(CONFIG_IDF_TARGET_ESP32) && !defined(CONFIG_IDF_TARGET_ESP32S2) spi->dev->cmd.update = 1; while (spi->dev->cmd.update); #endif spi->dev->cmd.usr = 1; while (spi->dev->cmd.usr); -#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 +#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 || CONFIG_IDF_TARGET_ESP32P4 data = spi->dev->data_buf[0].val & 0xFF; #else data = spi->dev->data_buf[0] & 0xFF; @@ -1183,12 +1191,12 @@ void ARDUINO_ISR_ATTR spiWriteShortNL(spi_t *spi, uint16_t data) { #if CONFIG_IDF_TARGET_ESP32S2 || CONFIG_IDF_TARGET_ESP32 spi->dev->miso_dlen.usr_miso_dbitlen = 0; #endif -#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 +#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 || CONFIG_IDF_TARGET_ESP32P4 spi->dev->data_buf[0].val = data; #else spi->dev->data_buf[0] = data; #endif -#if CONFIG_IDF_TARGET_ESP32C2 || CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32S3 || CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 +#if !defined(CONFIG_IDF_TARGET_ESP32) && !defined(CONFIG_IDF_TARGET_ESP32S2) spi->dev->cmd.update = 1; while (spi->dev->cmd.update); #endif @@ -1205,18 +1213,18 @@ uint16_t spiTransferShortNL(spi_t *spi, uint16_t data) { } spi->dev->mosi_dlen.usr_mosi_dbitlen = 15; spi->dev->miso_dlen.usr_miso_dbitlen = 15; -#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 +#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 || CONFIG_IDF_TARGET_ESP32P4 spi->dev->data_buf[0].val = data; #else spi->dev->data_buf[0] = data; #endif -#if CONFIG_IDF_TARGET_ESP32C2 || CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32S3 || CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 +#if !defined(CONFIG_IDF_TARGET_ESP32) && !defined(CONFIG_IDF_TARGET_ESP32S2) spi->dev->cmd.update = 1; while (spi->dev->cmd.update); #endif spi->dev->cmd.usr = 1; while (spi->dev->cmd.usr); -#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 +#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 || CONFIG_IDF_TARGET_ESP32P4 data = spi->dev->data_buf[0].val & 0xFFFF; #else data = spi->dev->data_buf[0] & 0xFFFF; @@ -1238,12 +1246,12 @@ void ARDUINO_ISR_ATTR spiWriteLongNL(spi_t *spi, uint32_t data) { #if CONFIG_IDF_TARGET_ESP32S2 || CONFIG_IDF_TARGET_ESP32 spi->dev->miso_dlen.usr_miso_dbitlen = 0; #endif -#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 +#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 || CONFIG_IDF_TARGET_ESP32P4 spi->dev->data_buf[0].val = data; #else spi->dev->data_buf[0] = data; #endif -#if CONFIG_IDF_TARGET_ESP32C2 || CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32S3 || CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 +#if !defined(CONFIG_IDF_TARGET_ESP32) && !defined(CONFIG_IDF_TARGET_ESP32S2) spi->dev->cmd.update = 1; while (spi->dev->cmd.update); #endif @@ -1260,18 +1268,18 @@ uint32_t spiTransferLongNL(spi_t *spi, uint32_t data) { } spi->dev->mosi_dlen.usr_mosi_dbitlen = 31; spi->dev->miso_dlen.usr_miso_dbitlen = 31; -#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 +#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 || CONFIG_IDF_TARGET_ESP32P4 spi->dev->data_buf[0].val = data; #else spi->dev->data_buf[0] = data; #endif -#if CONFIG_IDF_TARGET_ESP32C2 || CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32S3 || CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 +#if !defined(CONFIG_IDF_TARGET_ESP32) && !defined(CONFIG_IDF_TARGET_ESP32S2) spi->dev->cmd.update = 1; while (spi->dev->cmd.update); #endif spi->dev->cmd.usr = 1; while (spi->dev->cmd.usr); -#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 +#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 || CONFIG_IDF_TARGET_ESP32P4 data = spi->dev->data_buf[0].val; #else data = spi->dev->data_buf[0]; @@ -1302,13 +1310,13 @@ void spiWriteNL(spi_t *spi, const void *data_in, uint32_t len) { spi->dev->miso_dlen.usr_miso_dbitlen = 0; #endif for (size_t i = 0; i < c_longs; i++) { -#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 +#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 || CONFIG_IDF_TARGET_ESP32P4 spi->dev->data_buf[i].val = data[i]; #else spi->dev->data_buf[i] = data[i]; #endif } -#if CONFIG_IDF_TARGET_ESP32C2 || CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32S3 || CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 +#if !defined(CONFIG_IDF_TARGET_ESP32) && !defined(CONFIG_IDF_TARGET_ESP32S2) spi->dev->cmd.update = 1; while (spi->dev->cmd.update); #endif @@ -1341,7 +1349,7 @@ void spiTransferBytesNL(spi_t *spi, const void *data_in, uint8_t *data_out, uint spi->dev->miso_dlen.usr_miso_dbitlen = (c_len * 8) - 1; if (data) { for (size_t i = 0; i < c_longs; i++) { -#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 +#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 || CONFIG_IDF_TARGET_ESP32P4 spi->dev->data_buf[i].val = data[i]; #else spi->dev->data_buf[i] = data[i]; @@ -1349,14 +1357,14 @@ void spiTransferBytesNL(spi_t *spi, const void *data_in, uint8_t *data_out, uint } } else { for (size_t i = 0; i < c_longs; i++) { -#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 +#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 || CONFIG_IDF_TARGET_ESP32P4 spi->dev->data_buf[i].val = 0xFFFFFFFF; #else spi->dev->data_buf[i] = 0xFFFFFFFF; #endif } } -#if CONFIG_IDF_TARGET_ESP32C2 || CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32S3 || CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 +#if !defined(CONFIG_IDF_TARGET_ESP32) && !defined(CONFIG_IDF_TARGET_ESP32S2) spi->dev->cmd.update = 1; while (spi->dev->cmd.update); #endif @@ -1365,13 +1373,13 @@ void spiTransferBytesNL(spi_t *spi, const void *data_in, uint8_t *data_out, uint if (result) { if (c_len & 3) { for (size_t i = 0; i < (c_longs - 1); i++) { -#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 +#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 || CONFIG_IDF_TARGET_ESP32P4 result[i] = spi->dev->data_buf[i].val; #else result[i] = spi->dev->data_buf[i]; #endif } -#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 +#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 || CONFIG_IDF_TARGET_ESP32P4 uint32_t last_data = spi->dev->data_buf[c_longs - 1].val; #else uint32_t last_data = spi->dev->data_buf[c_longs - 1]; @@ -1383,7 +1391,7 @@ void spiTransferBytesNL(spi_t *spi, const void *data_in, uint8_t *data_out, uint } } else { for (size_t i = 0; i < c_longs; i++) { -#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 +#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 || CONFIG_IDF_TARGET_ESP32P4 result[i] = spi->dev->data_buf[i].val; #else result[i] = spi->dev->data_buf[i]; @@ -1425,18 +1433,18 @@ void spiTransferBitsNL(spi_t *spi, uint32_t data, uint32_t *out, uint8_t bits) { spi->dev->mosi_dlen.usr_mosi_dbitlen = (bits - 1); spi->dev->miso_dlen.usr_miso_dbitlen = (bits - 1); -#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 +#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 || CONFIG_IDF_TARGET_ESP32P4 spi->dev->data_buf[0].val = data; #else spi->dev->data_buf[0] = data; #endif -#if CONFIG_IDF_TARGET_ESP32C2 || CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32S3 || CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 +#if !defined(CONFIG_IDF_TARGET_ESP32) && !defined(CONFIG_IDF_TARGET_ESP32S2) spi->dev->cmd.update = 1; while (spi->dev->cmd.update); #endif spi->dev->cmd.usr = 1; while (spi->dev->cmd.usr); -#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 +#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 || CONFIG_IDF_TARGET_ESP32P4 data = spi->dev->data_buf[0].val; #else data = spi->dev->data_buf[0]; @@ -1477,34 +1485,34 @@ void ARDUINO_ISR_ATTR spiWritePixelsNL(spi_t *spi, const void *data_in, uint32_t if (msb) { if (l_bytes && i == (c_longs - 1)) { if (l_bytes == 2) { -#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 +#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 || CONFIG_IDF_TARGET_ESP32P4 MSB_16_SET(spi->dev->data_buf[i].val, data[i]); #else MSB_16_SET(spi->dev->data_buf[i], data[i]); #endif } else { -#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 +#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 || CONFIG_IDF_TARGET_ESP32P4 spi->dev->data_buf[i].val = data[i] & 0xFF; #else spi->dev->data_buf[i] = data[i] & 0xFF; #endif } } else { -#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 +#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 || CONFIG_IDF_TARGET_ESP32P4 MSB_PIX_SET(spi->dev->data_buf[i].val, data[i]); #else MSB_PIX_SET(spi->dev->data_buf[i], data[i]); #endif } } else { -#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 +#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 || CONFIG_IDF_TARGET_ESP32P4 spi->dev->data_buf[i].val = data[i]; #else spi->dev->data_buf[i] = data[i]; #endif } } -#if CONFIG_IDF_TARGET_ESP32C2 || CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32S3 || CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 +#if !defined(CONFIG_IDF_TARGET_ESP32) && !defined(CONFIG_IDF_TARGET_ESP32S2) spi->dev->cmd.update = 1; while (spi->dev->cmd.update); #endif @@ -1528,7 +1536,7 @@ typedef union { uint32_t clkcnt_l : 6; /*it must be equal to spi_clkcnt_N.*/ uint32_t clkcnt_h : 6; /*it must be floor((spi_clkcnt_N+1)/2-1).*/ uint32_t clkcnt_n : 6; /*it is the divider of spi_clk. So spi_clk frequency is system/(spi_clkdiv_pre+1)/(spi_clkcnt_N+1)*/ -#if CONFIG_IDF_TARGET_ESP32C2 || CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32S3 || CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 +#if !defined(CONFIG_IDF_TARGET_ESP32) && !defined(CONFIG_IDF_TARGET_ESP32S2) uint32_t clkdiv_pre : 4; /*it is pre-divider of spi_clk.*/ uint32_t reserved : 9; /*reserved*/ #else @@ -1573,7 +1581,7 @@ uint32_t spiFrequencyToClockDiv(uint32_t freq) { while (calPreVari++ <= 1) { calPre = (((apb_freq / (reg.clkcnt_n + 1)) / freq) - 1) + calPreVari; -#if CONFIG_IDF_TARGET_ESP32C2 || CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32S3 || CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 +#if !defined(CONFIG_IDF_TARGET_ESP32) && !defined(CONFIG_IDF_TARGET_ESP32S2) if (calPre > 0xF) { reg.clkdiv_pre = 0xF; #else diff --git a/cores/esp32/esp32-hal-spi.h b/cores/esp32/esp32-hal-spi.h index a238cada87d..b77abff7854 100644 --- a/cores/esp32/esp32-hal-spi.h +++ b/cores/esp32/esp32-hal-spi.h @@ -28,10 +28,7 @@ extern "C" { #define SPI_HAS_TRANSACTION -#if CONFIG_IDF_TARGET_ESP32C2 || CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 || CONFIG_IDF_TARGET_ESP32S3 -#define FSPI 0 -#define HSPI 1 -#elif CONFIG_IDF_TARGET_ESP32S2 +#ifdef CONFIG_IDF_TARGET_ESP32S2 #define FSPI 1 //SPI 1 bus. ESP32S2: for external memory only (can use the same data lines but different SS) #define HSPI 2 //SPI 2 bus. ESP32S2: external memory or device - it can be matrixed to any pins #define SPI2 2 // Another name for ESP32S2 SPI 2 @@ -40,6 +37,9 @@ extern "C" { #define FSPI 1 //SPI 1 bus attached to the flash (can use the same data lines but different SS) #define HSPI 2 //SPI 2 bus normally mapped to pins 12 - 15, but can be matrixed to any pins #define VSPI 3 //SPI 3 bus normally attached to pins 5, 18, 19 and 23, but can be matrixed to any pins +#else +#define FSPI 0 +#define HSPI 1 #endif // This defines are not representing the real Divider of the ESP32 diff --git a/cores/esp32/esp32-hal-touch.c b/cores/esp32/esp32-hal-touch.c index 764b7dbb73f..4c0ed92656c 100644 --- a/cores/esp32/esp32-hal-touch.c +++ b/cores/esp32/esp32-hal-touch.c @@ -14,6 +14,10 @@ #include "soc/soc_caps.h" #if SOC_TOUCH_SENSOR_SUPPORTED +#if SOC_TOUCH_SENSOR_VERSION == 3 // ESP32P4 +// ToDo: Implement touch sensor for ESP32P4 +#warning "Touch sensor not implemented for ESP32P4 yet" +#else #include "driver/touch_sensor.h" #include "esp32-hal-touch.h" #include "esp32-hal-periman.h" @@ -22,7 +26,7 @@ Internal Private Touch Data Structure and Functions */ -#if SOC_TOUCH_SENSOR_VERSION == 1 // ESP32 +#if SOC_TOUCH_SENSOR_VERSION == 1 // ESP32 static uint16_t __touchSleepCycles = 0x1000; static uint16_t __touchMeasureCycles = 0x1000; #elif SOC_TOUCH_SENSOR_VERSION == 2 // ESP32S2, ESP32S3 @@ -51,7 +55,7 @@ static bool initialized = false; static bool channels_initialized[SOC_TOUCH_SENSOR_NUM] = {false}; static void ARDUINO_ISR_ATTR __touchISR(void *arg) { -#if SOC_TOUCH_SENSOR_VERSION == 1 // ESP32 +#if SOC_TOUCH_SENSOR_VERSION == 1 // ESP32 uint32_t pad_intr = touch_pad_get_status(); //clear interrupt touch_pad_clear_status(); @@ -93,7 +97,7 @@ static void ARDUINO_ISR_ATTR __touchISR(void *arg) { static void __touchSetCycles(uint16_t measure, uint16_t sleep) { __touchSleepCycles = sleep; __touchMeasureCycles = measure; -#if SOC_TOUCH_SENSOR_VERSION == 1 // ESP32 +#if SOC_TOUCH_SENSOR_VERSION == 1 // ESP32 touch_pad_set_measurement_clock_cycles(measure); #elif SOC_TOUCH_SENSOR_VERSION == 2 // ESP32S2, ESP32S3 touch_pad_set_charge_discharge_times(measure); @@ -123,7 +127,7 @@ static void __touchInit() { esp_err_t err = ESP_OK; -#if SOC_TOUCH_SENSOR_VERSION == 1 // ESP32 +#if SOC_TOUCH_SENSOR_VERSION == 1 // ESP32 err = touch_pad_init(); if (err != ESP_OK) { goto err; @@ -143,7 +147,7 @@ static void __touchInit() { if (err != ESP_OK) { goto err; } - touch_pad_intr_enable(); // returns ESP_OK + touch_pad_intr_enable(); // returns ESP_OK #elif SOC_TOUCH_SENSOR_VERSION == 2 // ESP32S2, ESP32S3 err = touch_pad_init(); if (err != ESP_OK) { @@ -179,11 +183,11 @@ static void __touchChannelInit(int pad) { return; } -#if SOC_TOUCH_SENSOR_VERSION == 1 // ESP32 +#if SOC_TOUCH_SENSOR_VERSION == 1 // ESP32 // Initial no Threshold and setup __touchInterruptHandlers[pad].fn = NULL; touch_pad_config(pad, TOUCH_PAD_THRESHOLD_MAX); // returns ESP_OK -#elif SOC_TOUCH_SENSOR_VERSION == 2 // ESP32S2, ESP32S3 +#elif SOC_TOUCH_SENSOR_VERSION == 2 // ESP32S2, ESP32S3 // Initial no Threshold and setup __touchInterruptHandlers[pad].fn = NULL; touch_pad_config(pad); // returns ESP_OK @@ -270,7 +274,7 @@ static void __touchDettachInterrupt(uint8_t pin) { External Public Touch API Functions */ -#if SOC_TOUCH_SENSOR_VERSION == 1 // Only for ESP32 SoC +#if SOC_TOUCH_SENSOR_VERSION == 1 // Only for ESP32 SoC void touchInterruptSetThresholdDirection(bool mustbeLower) { if (mustbeLower) { touch_pad_set_trigger_mode(TOUCH_TRIGGER_BELOW); @@ -324,4 +328,5 @@ extern void touchAttachInterruptArg(uint8_t, voidArgFuncPtr, void *, touch_value extern void touchDetachInterrupt(uint8_t) __attribute__((weak, alias("__touchDettachInterrupt"))); extern void touchSetCycles(uint16_t, uint16_t) __attribute__((weak, alias("__touchSetCycles"))); +#endif /* SOC_TOUCH_SENSOR_VERSION == 3 */ #endif /* SOC_TOUCH_SENSOR_SUPPORTED */ diff --git a/cores/esp32/esp32-hal-touch.h b/cores/esp32/esp32-hal-touch.h index 115d6cdc9cf..cc140d81bb0 100644 --- a/cores/esp32/esp32-hal-touch.h +++ b/cores/esp32/esp32-hal-touch.h @@ -37,6 +37,8 @@ extern "C" { typedef uint16_t touch_value_t; #elif SOC_TOUCH_SENSOR_VERSION == 2 // ESP32S2 ESP32S3 typedef uint32_t touch_value_t; +#elif SOC_TOUCH_SENSOR_VERSION == 3 // ESP32P4 +typedef uint32_t touch_value_t; #endif /* diff --git a/cores/esp32/esp32-hal-uart.c b/cores/esp32/esp32-hal-uart.c index 2af23e075cc..82c9d8808d0 100644 --- a/cores/esp32/esp32-hal-uart.c +++ b/cores/esp32/esp32-hal-uart.c @@ -625,7 +625,7 @@ void uartSetRxInvert(uart_t *uart, bool invert) { if (uart == NULL) { return; } -#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 +#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 || CONFIG_IDF_TARGET_ESP32P4 // POTENTIAL ISSUE :: original code only set/reset rxd_inv bit // IDF or LL set/reset the whole inv_mask! // if (invert) @@ -898,7 +898,7 @@ int log_printfv(const char *format, va_list arg) { #endif */ #if (ARDUINO_USB_CDC_ON_BOOT == 1 && ARDUINO_USB_MODE == 0) || CONFIG_IDF_TARGET_ESP32C3 \ - || ((CONFIG_IDF_TARGET_ESP32H2 || CONFIG_IDF_TARGET_ESP32C6) && ARDUINO_USB_CDC_ON_BOOT == 1) + || ((CONFIG_IDF_TARGET_ESP32H2 || CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32P4) && ARDUINO_USB_CDC_ON_BOOT == 1) vsnprintf(temp, len + 1, format, arg); ets_printf("%s", temp); #else @@ -1105,6 +1105,20 @@ unsigned long uartDetectBaudrate(uart_t *uart) { */ // gets the right TX or RX SIGNAL, based on the UART number from gpio_sig_map.h +#ifdef CONFIG_IDF_TARGET_ESP32P4 +#define UART_TX_SIGNAL(uartNumber) \ + (uartNumber == UART_NUM_0 \ + ? UART0_TXD_PAD_OUT_IDX \ + : (uartNumber == UART_NUM_1 \ + ? UART1_TXD_PAD_OUT_IDX \ + : (uartNumber == UART_NUM_2 ? UART2_TXD_PAD_OUT_IDX : (uartNumber == UART_NUM_3 ? UART3_TXD_PAD_OUT_IDX : UART4_TXD_PAD_OUT_IDX)))) +#define UART_RX_SIGNAL(uartNumber) \ + (uartNumber == UART_NUM_0 \ + ? UART0_RXD_PAD_IN_IDX \ + : (uartNumber == UART_NUM_1 \ + ? UART1_RXD_PAD_IN_IDX \ + : (uartNumber == UART_NUM_2 ? UART2_RXD_PAD_IN_IDX : (uartNumber == UART_NUM_3 ? UART3_RXD_PAD_IN_IDX : UART4_RXD_PAD_IN_IDX)))) +#else #if SOC_UART_HP_NUM > 2 #define UART_TX_SIGNAL(uartNumber) (uartNumber == UART_NUM_0 ? U0TXD_OUT_IDX : (uartNumber == UART_NUM_1 ? U1TXD_OUT_IDX : U2TXD_OUT_IDX)) #define UART_RX_SIGNAL(uartNumber) (uartNumber == UART_NUM_0 ? U0RXD_IN_IDX : (uartNumber == UART_NUM_1 ? U1RXD_IN_IDX : U2RXD_IN_IDX)) @@ -1112,6 +1126,8 @@ unsigned long uartDetectBaudrate(uart_t *uart) { #define UART_TX_SIGNAL(uartNumber) (uartNumber == UART_NUM_0 ? U0TXD_OUT_IDX : U1TXD_OUT_IDX) #define UART_RX_SIGNAL(uartNumber) (uartNumber == UART_NUM_0 ? U0RXD_IN_IDX : U1RXD_IN_IDX) #endif +#endif // ifdef CONFIG_IDF_TARGET_ESP32P4 + /* This function internally binds defined UARTs TX signal with defined RX pin of any UART (same or different). This creates a loop that lets us receive anything we send on the UART without external wires. diff --git a/docs/en/lib_builder.rst b/docs/en/lib_builder.rst index 3d28761ab2d..fc488566878 100644 --- a/docs/en/lib_builder.rst +++ b/docs/en/lib_builder.rst @@ -157,6 +157,7 @@ This build command will build for the ESP32-S3 target. You can specify other tar * esp32c3 * esp32c6 * esp32h2 +* esp32p4 Set Build Type ^^^^^^^^^^^^^^ diff --git a/idf_component.yml b/idf_component.yml index 4b3e582d256..3b83650bf5b 100644 --- a/idf_component.yml +++ b/idf_component.yml @@ -21,6 +21,7 @@ files: - "variants/esp32c3/**/*" - "variants/esp32c6/**/*" - "variants/esp32h2/**/*" + - "variants/esp32p4/**/*" exclude: - "docs/" - "docs/**/*" diff --git a/libraries/ArduinoOTA/examples/BasicOTA/ci.json b/libraries/ArduinoOTA/examples/BasicOTA/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/ArduinoOTA/examples/BasicOTA/ci.json +++ b/libraries/ArduinoOTA/examples/BasicOTA/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/AsyncUDP/examples/AsyncUDPClient/ci.json b/libraries/AsyncUDP/examples/AsyncUDPClient/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/AsyncUDP/examples/AsyncUDPClient/ci.json +++ b/libraries/AsyncUDP/examples/AsyncUDPClient/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/AsyncUDP/examples/AsyncUDPMulticastServer/ci.json b/libraries/AsyncUDP/examples/AsyncUDPMulticastServer/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/AsyncUDP/examples/AsyncUDPMulticastServer/ci.json +++ b/libraries/AsyncUDP/examples/AsyncUDPMulticastServer/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/AsyncUDP/examples/AsyncUDPServer/ci.json b/libraries/AsyncUDP/examples/AsyncUDPServer/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/AsyncUDP/examples/AsyncUDPServer/ci.json +++ b/libraries/AsyncUDP/examples/AsyncUDPServer/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/BLE/examples/BLE5_extended_scan/ci.json b/libraries/BLE/examples/BLE5_extended_scan/ci.json index edef5051e09..e97e4cf7fea 100644 --- a/libraries/BLE/examples/BLE5_extended_scan/ci.json +++ b/libraries/BLE/examples/BLE5_extended_scan/ci.json @@ -1,6 +1,7 @@ { "targets": { "esp32": false, + "esp32p4": false, "esp32s2": false } } diff --git a/libraries/BLE/examples/BLE5_multi_advertising/ci.json b/libraries/BLE/examples/BLE5_multi_advertising/ci.json index edef5051e09..fc9f75986fe 100644 --- a/libraries/BLE/examples/BLE5_multi_advertising/ci.json +++ b/libraries/BLE/examples/BLE5_multi_advertising/ci.json @@ -1,6 +1,6 @@ { "targets": { - "esp32": false, + "esp32p4": false, "esp32s2": false } } diff --git a/libraries/BLE/examples/BLE5_periodic_advertising/ci.json b/libraries/BLE/examples/BLE5_periodic_advertising/ci.json index edef5051e09..a034e239a3f 100644 --- a/libraries/BLE/examples/BLE5_periodic_advertising/ci.json +++ b/libraries/BLE/examples/BLE5_periodic_advertising/ci.json @@ -1,6 +1,10 @@ { "targets": { "esp32": false, - "esp32s2": false + "esp32c2": false, + "esp32c3": false, + "esp32p4": false, + "esp32s2": false, + "esp32s3": false } } diff --git a/libraries/BLE/examples/BLE5_periodic_sync/ci.json b/libraries/BLE/examples/BLE5_periodic_sync/ci.json index edef5051e09..715becda6cb 100644 --- a/libraries/BLE/examples/BLE5_periodic_sync/ci.json +++ b/libraries/BLE/examples/BLE5_periodic_sync/ci.json @@ -1,6 +1,10 @@ { "targets": { "esp32": false, + "esp32c3": false, + "esp32c6": false, + "esp32h2": false, + "esp32p4": false, "esp32s2": false } } diff --git a/libraries/BLE/examples/Beacon_Scanner/ci.json b/libraries/BLE/examples/Beacon_Scanner/ci.json index 1443137ab0d..ee810400be6 100644 --- a/libraries/BLE/examples/Beacon_Scanner/ci.json +++ b/libraries/BLE/examples/Beacon_Scanner/ci.json @@ -1,5 +1,9 @@ { "targets": { + "esp32c3": false, + "esp32c6": false, + "esp32h2": false, + "esp32p4": false, "esp32s2": false } } diff --git a/libraries/BLE/examples/Client/ci.json b/libraries/BLE/examples/Client/ci.json index 1443137ab0d..eb6596c4a37 100644 --- a/libraries/BLE/examples/Client/ci.json +++ b/libraries/BLE/examples/Client/ci.json @@ -1,5 +1,7 @@ { "targets": { + "esp32c3": false, + "esp32p4": false, "esp32s2": false } } diff --git a/libraries/BLE/examples/EddystoneTLM_Beacon/ci.json b/libraries/BLE/examples/EddystoneTLM_Beacon/ci.json index 521ae8f5ff1..156dda6560c 100644 --- a/libraries/BLE/examples/EddystoneTLM_Beacon/ci.json +++ b/libraries/BLE/examples/EddystoneTLM_Beacon/ci.json @@ -1,6 +1,7 @@ { "targets": { "esp32h2": false, + "esp32p4": false, "esp32s2": false } } diff --git a/libraries/BLE/examples/EddystoneURL_Beacon/ci.json b/libraries/BLE/examples/EddystoneURL_Beacon/ci.json index 521ae8f5ff1..156dda6560c 100644 --- a/libraries/BLE/examples/EddystoneURL_Beacon/ci.json +++ b/libraries/BLE/examples/EddystoneURL_Beacon/ci.json @@ -1,6 +1,7 @@ { "targets": { "esp32h2": false, + "esp32p4": false, "esp32s2": false } } diff --git a/libraries/BLE/examples/Notify/ci.json b/libraries/BLE/examples/Notify/ci.json index 1443137ab0d..156dda6560c 100644 --- a/libraries/BLE/examples/Notify/ci.json +++ b/libraries/BLE/examples/Notify/ci.json @@ -1,5 +1,7 @@ { "targets": { + "esp32h2": false, + "esp32p4": false, "esp32s2": false } } diff --git a/libraries/BLE/examples/Scan/ci.json b/libraries/BLE/examples/Scan/ci.json index 1443137ab0d..fc9f75986fe 100644 --- a/libraries/BLE/examples/Scan/ci.json +++ b/libraries/BLE/examples/Scan/ci.json @@ -1,5 +1,6 @@ { "targets": { + "esp32p4": false, "esp32s2": false } } diff --git a/libraries/BLE/examples/Server/ci.json b/libraries/BLE/examples/Server/ci.json index 1443137ab0d..a034e239a3f 100644 --- a/libraries/BLE/examples/Server/ci.json +++ b/libraries/BLE/examples/Server/ci.json @@ -1,5 +1,10 @@ { "targets": { - "esp32s2": false + "esp32": false, + "esp32c2": false, + "esp32c3": false, + "esp32p4": false, + "esp32s2": false, + "esp32s3": false } } diff --git a/libraries/BLE/examples/Server_multiconnect/ci.json b/libraries/BLE/examples/Server_multiconnect/ci.json index 1443137ab0d..715becda6cb 100644 --- a/libraries/BLE/examples/Server_multiconnect/ci.json +++ b/libraries/BLE/examples/Server_multiconnect/ci.json @@ -1,5 +1,10 @@ { "targets": { + "esp32": false, + "esp32c3": false, + "esp32c6": false, + "esp32h2": false, + "esp32p4": false, "esp32s2": false } } diff --git a/libraries/BLE/examples/UART/ci.json b/libraries/BLE/examples/UART/ci.json index 1443137ab0d..ee810400be6 100644 --- a/libraries/BLE/examples/UART/ci.json +++ b/libraries/BLE/examples/UART/ci.json @@ -1,5 +1,9 @@ { "targets": { + "esp32c3": false, + "esp32c6": false, + "esp32h2": false, + "esp32p4": false, "esp32s2": false } } diff --git a/libraries/BLE/examples/Write/ci.json b/libraries/BLE/examples/Write/ci.json index 1443137ab0d..eb6596c4a37 100644 --- a/libraries/BLE/examples/Write/ci.json +++ b/libraries/BLE/examples/Write/ci.json @@ -1,5 +1,7 @@ { "targets": { + "esp32c3": false, + "esp32p4": false, "esp32s2": false } } diff --git a/libraries/BLE/examples/iBeacon/ci.json b/libraries/BLE/examples/iBeacon/ci.json index 1443137ab0d..156dda6560c 100644 --- a/libraries/BLE/examples/iBeacon/ci.json +++ b/libraries/BLE/examples/iBeacon/ci.json @@ -1,5 +1,7 @@ { "targets": { + "esp32h2": false, + "esp32p4": false, "esp32s2": false } } diff --git a/libraries/BluetoothSerial/examples/DiscoverConnect/ci.json b/libraries/BluetoothSerial/examples/DiscoverConnect/ci.json index 1af543242e3..6afa60f44c4 100644 --- a/libraries/BluetoothSerial/examples/DiscoverConnect/ci.json +++ b/libraries/BluetoothSerial/examples/DiscoverConnect/ci.json @@ -3,6 +3,7 @@ "esp32c3": false, "esp32c6": false, "esp32h2": false, + "esp32p4": false, "esp32s2": false, "esp32s3": false } diff --git a/libraries/BluetoothSerial/examples/GetLocalMAC/ci.json b/libraries/BluetoothSerial/examples/GetLocalMAC/ci.json index 1af543242e3..6afa60f44c4 100644 --- a/libraries/BluetoothSerial/examples/GetLocalMAC/ci.json +++ b/libraries/BluetoothSerial/examples/GetLocalMAC/ci.json @@ -3,6 +3,7 @@ "esp32c3": false, "esp32c6": false, "esp32h2": false, + "esp32p4": false, "esp32s2": false, "esp32s3": false } diff --git a/libraries/BluetoothSerial/examples/SerialToSerialBT/ci.json b/libraries/BluetoothSerial/examples/SerialToSerialBT/ci.json index 1af543242e3..6afa60f44c4 100644 --- a/libraries/BluetoothSerial/examples/SerialToSerialBT/ci.json +++ b/libraries/BluetoothSerial/examples/SerialToSerialBT/ci.json @@ -3,6 +3,7 @@ "esp32c3": false, "esp32c6": false, "esp32h2": false, + "esp32p4": false, "esp32s2": false, "esp32s3": false } diff --git a/libraries/BluetoothSerial/examples/SerialToSerialBTM/ci.json b/libraries/BluetoothSerial/examples/SerialToSerialBTM/ci.json index 1af543242e3..6afa60f44c4 100644 --- a/libraries/BluetoothSerial/examples/SerialToSerialBTM/ci.json +++ b/libraries/BluetoothSerial/examples/SerialToSerialBTM/ci.json @@ -3,6 +3,7 @@ "esp32c3": false, "esp32c6": false, "esp32h2": false, + "esp32p4": false, "esp32s2": false, "esp32s3": false } diff --git a/libraries/BluetoothSerial/examples/SerialToSerialBT_Legacy/ci.json b/libraries/BluetoothSerial/examples/SerialToSerialBT_Legacy/ci.json index 1af543242e3..6afa60f44c4 100644 --- a/libraries/BluetoothSerial/examples/SerialToSerialBT_Legacy/ci.json +++ b/libraries/BluetoothSerial/examples/SerialToSerialBT_Legacy/ci.json @@ -3,6 +3,7 @@ "esp32c3": false, "esp32c6": false, "esp32h2": false, + "esp32p4": false, "esp32s2": false, "esp32s3": false } diff --git a/libraries/BluetoothSerial/examples/SerialToSerialBT_SSP/ci.json b/libraries/BluetoothSerial/examples/SerialToSerialBT_SSP/ci.json index 1af543242e3..6afa60f44c4 100644 --- a/libraries/BluetoothSerial/examples/SerialToSerialBT_SSP/ci.json +++ b/libraries/BluetoothSerial/examples/SerialToSerialBT_SSP/ci.json @@ -3,6 +3,7 @@ "esp32c3": false, "esp32c6": false, "esp32h2": false, + "esp32p4": false, "esp32s2": false, "esp32s3": false } diff --git a/libraries/BluetoothSerial/examples/bt_classic_device_discovery/ci.json b/libraries/BluetoothSerial/examples/bt_classic_device_discovery/ci.json index 1af543242e3..6afa60f44c4 100644 --- a/libraries/BluetoothSerial/examples/bt_classic_device_discovery/ci.json +++ b/libraries/BluetoothSerial/examples/bt_classic_device_discovery/ci.json @@ -3,6 +3,7 @@ "esp32c3": false, "esp32c6": false, "esp32h2": false, + "esp32p4": false, "esp32s2": false, "esp32s3": false } diff --git a/libraries/BluetoothSerial/examples/bt_remove_paired_devices/ci.json b/libraries/BluetoothSerial/examples/bt_remove_paired_devices/ci.json index 1af543242e3..6afa60f44c4 100644 --- a/libraries/BluetoothSerial/examples/bt_remove_paired_devices/ci.json +++ b/libraries/BluetoothSerial/examples/bt_remove_paired_devices/ci.json @@ -3,6 +3,7 @@ "esp32c3": false, "esp32c6": false, "esp32h2": false, + "esp32p4": false, "esp32s2": false, "esp32s3": false } diff --git a/libraries/DNSServer/examples/CaptivePortal/ci.json b/libraries/DNSServer/examples/CaptivePortal/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/DNSServer/examples/CaptivePortal/ci.json +++ b/libraries/DNSServer/examples/CaptivePortal/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/ESP32/examples/Camera/CameraWebServer/ci.json b/libraries/ESP32/examples/Camera/CameraWebServer/ci.json index 25c42144223..cd679adefad 100644 --- a/libraries/ESP32/examples/Camera/CameraWebServer/ci.json +++ b/libraries/ESP32/examples/Camera/CameraWebServer/ci.json @@ -2,6 +2,7 @@ "targets": { "esp32c3": false, "esp32c6": false, - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/ESP32/examples/DeepSleep/ExternalWakeUp/ci.json b/libraries/ESP32/examples/DeepSleep/ExternalWakeUp/ci.json index 25c42144223..cd679adefad 100644 --- a/libraries/ESP32/examples/DeepSleep/ExternalWakeUp/ci.json +++ b/libraries/ESP32/examples/DeepSleep/ExternalWakeUp/ci.json @@ -2,6 +2,7 @@ "targets": { "esp32c3": false, "esp32c6": false, - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/ESP32/examples/DeepSleep/SmoothBlink_ULP_Code/ci.json b/libraries/ESP32/examples/DeepSleep/SmoothBlink_ULP_Code/ci.json index 1af543242e3..6afa60f44c4 100644 --- a/libraries/ESP32/examples/DeepSleep/SmoothBlink_ULP_Code/ci.json +++ b/libraries/ESP32/examples/DeepSleep/SmoothBlink_ULP_Code/ci.json @@ -3,6 +3,7 @@ "esp32c3": false, "esp32c6": false, "esp32h2": false, + "esp32p4": false, "esp32s2": false, "esp32s3": false } diff --git a/libraries/ESP32/examples/RMT/RMTLoopback/RMTLoopback.ino b/libraries/ESP32/examples/RMT/RMTLoopback/RMTLoopback.ino index eada1c7ea6b..17e7af290bf 100644 --- a/libraries/ESP32/examples/RMT/RMTLoopback/RMTLoopback.ino +++ b/libraries/ESP32/examples/RMT/RMTLoopback/RMTLoopback.ino @@ -21,7 +21,7 @@ * */ -#if CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 +#if CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 || CONFIG_IDF_TARGET_ESP32P4 // ESP32 C3 has only 2 channels for RX and 2 for TX, thus MAX RMT_MEM is 128 #define RMT_TX_PIN 4 #define RMT_RX_PIN 5 diff --git a/libraries/ESP32/examples/ResetReason/ResetReason/ResetReason.ino b/libraries/ESP32/examples/ResetReason/ResetReason/ResetReason.ino index 3c9dbb9b12f..0104c6422f2 100644 --- a/libraries/ESP32/examples/ResetReason/ResetReason/ResetReason.ino +++ b/libraries/ESP32/examples/ResetReason/ResetReason/ResetReason.ino @@ -26,6 +26,8 @@ #include "esp32c6/rom/rtc.h" #elif CONFIG_IDF_TARGET_ESP32H2 #include "esp32h2/rom/rtc.h" +#elif CONFIG_IDF_TARGET_ESP32P4 +#include "esp32p4/rom/rtc.h" #else #error Target CONFIG_IDF_TARGET is not supported #endif diff --git a/libraries/ESP32/examples/Time/SimpleTime/ci.json b/libraries/ESP32/examples/Time/SimpleTime/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/ESP32/examples/Time/SimpleTime/ci.json +++ b/libraries/ESP32/examples/Time/SimpleTime/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/ESP32/examples/Zigbee/Zigbee_Light_Bulb/ci.json b/libraries/ESP32/examples/Zigbee/Zigbee_Light_Bulb/ci.json index 7cfaa76784d..7b73237d754 100644 --- a/libraries/ESP32/examples/Zigbee/Zigbee_Light_Bulb/ci.json +++ b/libraries/ESP32/examples/Zigbee/Zigbee_Light_Bulb/ci.json @@ -4,6 +4,7 @@ "esp32c3": false, "esp32c6": false, "esp32h2": false, + "esp32p4": false, "esp32s2": false, "esp32s3": false } diff --git a/libraries/ESP32/examples/Zigbee/Zigbee_Light_Switch/ci.json b/libraries/ESP32/examples/Zigbee/Zigbee_Light_Switch/ci.json index 7cfaa76784d..7b73237d754 100644 --- a/libraries/ESP32/examples/Zigbee/Zigbee_Light_Switch/ci.json +++ b/libraries/ESP32/examples/Zigbee/Zigbee_Light_Switch/ci.json @@ -4,6 +4,7 @@ "esp32c3": false, "esp32c6": false, "esp32h2": false, + "esp32p4": false, "esp32s2": false, "esp32s3": false } diff --git a/libraries/ESP32/examples/Zigbee/Zigbee_Temperature_Sensor/ci.json b/libraries/ESP32/examples/Zigbee/Zigbee_Temperature_Sensor/ci.json index 7cfaa76784d..7b73237d754 100644 --- a/libraries/ESP32/examples/Zigbee/Zigbee_Temperature_Sensor/ci.json +++ b/libraries/ESP32/examples/Zigbee/Zigbee_Temperature_Sensor/ci.json @@ -4,6 +4,7 @@ "esp32c3": false, "esp32c6": false, "esp32h2": false, + "esp32p4": false, "esp32s2": false, "esp32s3": false } diff --git a/libraries/ESP32/examples/Zigbee/Zigbee_Thermostat/ci.json b/libraries/ESP32/examples/Zigbee/Zigbee_Thermostat/ci.json index 7cfaa76784d..7b73237d754 100644 --- a/libraries/ESP32/examples/Zigbee/Zigbee_Thermostat/ci.json +++ b/libraries/ESP32/examples/Zigbee/Zigbee_Thermostat/ci.json @@ -4,6 +4,7 @@ "esp32c3": false, "esp32c6": false, "esp32h2": false, + "esp32p4": false, "esp32s2": false, "esp32s3": false } diff --git a/libraries/ESP_NOW/examples/ESP_NOW_Broadcast_Master/ci.json b/libraries/ESP_NOW/examples/ESP_NOW_Broadcast_Master/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/ESP_NOW/examples/ESP_NOW_Broadcast_Master/ci.json +++ b/libraries/ESP_NOW/examples/ESP_NOW_Broadcast_Master/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/ESP_NOW/examples/ESP_NOW_Broadcast_Slave/ci.json b/libraries/ESP_NOW/examples/ESP_NOW_Broadcast_Slave/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/ESP_NOW/examples/ESP_NOW_Broadcast_Slave/ci.json +++ b/libraries/ESP_NOW/examples/ESP_NOW_Broadcast_Slave/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/ESP_NOW/examples/ESP_NOW_Network/ci.json b/libraries/ESP_NOW/examples/ESP_NOW_Network/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/ESP_NOW/examples/ESP_NOW_Network/ci.json +++ b/libraries/ESP_NOW/examples/ESP_NOW_Network/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/ESP_NOW/examples/ESP_NOW_Serial/ci.json b/libraries/ESP_NOW/examples/ESP_NOW_Serial/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/ESP_NOW/examples/ESP_NOW_Serial/ci.json +++ b/libraries/ESP_NOW/examples/ESP_NOW_Serial/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/ESP_SR/examples/Basic/ci.json b/libraries/ESP_SR/examples/Basic/ci.json index dca52699ab3..98703e79183 100644 --- a/libraries/ESP_SR/examples/Basic/ci.json +++ b/libraries/ESP_SR/examples/Basic/ci.json @@ -9,6 +9,7 @@ "esp32c3": false, "esp32c6": false, "esp32h2": false, + "esp32p4": false, "esp32s2": false } } diff --git a/libraries/ESPmDNS/examples/mDNS-SD_Extended/ci.json b/libraries/ESPmDNS/examples/mDNS-SD_Extended/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/ESPmDNS/examples/mDNS-SD_Extended/ci.json +++ b/libraries/ESPmDNS/examples/mDNS-SD_Extended/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/ESPmDNS/examples/mDNS_Web_Server/ci.json b/libraries/ESPmDNS/examples/mDNS_Web_Server/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/ESPmDNS/examples/mDNS_Web_Server/ci.json +++ b/libraries/ESPmDNS/examples/mDNS_Web_Server/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/Ethernet/examples/ETH_WIFI_BRIDGE/ci.json b/libraries/Ethernet/examples/ETH_WIFI_BRIDGE/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/Ethernet/examples/ETH_WIFI_BRIDGE/ci.json +++ b/libraries/Ethernet/examples/ETH_WIFI_BRIDGE/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/Ethernet/src/ETH.cpp b/libraries/Ethernet/src/ETH.cpp index bc5a94484da..13f9c11f7fe 100644 --- a/libraries/Ethernet/src/ETH.cpp +++ b/libraries/Ethernet/src/ETH.cpp @@ -30,7 +30,9 @@ #include "driver/gpio.h" #include "driver/spi_master.h" #if CONFIG_ETH_USE_ESP32_EMAC +#if defined __has_include && __has_include("soc/emac_ext_struct.h") #include "soc/emac_ext_struct.h" +#endif /* __has_include("soc/emac_ext_struct.h" */ #include "soc/rtc.h" #endif /* CONFIG_ETH_USE_ESP32_EMAC */ #include "esp32-hal-periman.h" @@ -146,7 +148,7 @@ void ETHClass::setTaskStackSize(size_t size) { _task_stack_size = size; } -#if CONFIG_ETH_USE_ESP32_EMAC +#if (CONFIG_ETH_USE_ESP32_EMAC && !defined(CONFIG_IDF_TARGET_ESP32P4)) bool ETHClass::begin(eth_phy_type_t type, int32_t phy_addr, int mdc, int mdio, int power, eth_clock_mode_t clock_mode) { esp_err_t ret = ESP_OK; if (_eth_index > 2) { @@ -898,7 +900,7 @@ void ETHClass::end(void) { #if ETH_SPI_SUPPORTS_CUSTOM _spi = NULL; #endif -#if CONFIG_ETH_USE_ESP32_EMAC +#if (CONFIG_ETH_USE_ESP32_EMAC && !defined(CONFIG_IDF_TARGET_ESP32P4)) perimanSetBusDeinit(ESP32_BUS_TYPE_ETHERNET_RMII, empty_ethDetachBus); perimanSetBusDeinit(ESP32_BUS_TYPE_ETHERNET_CLK, empty_ethDetachBus); perimanSetBusDeinit(ESP32_BUS_TYPE_ETHERNET_MCD, empty_ethDetachBus); diff --git a/libraries/FFat/examples/FFat_time/ci.json b/libraries/FFat/examples/FFat_time/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/FFat/examples/FFat_time/ci.json +++ b/libraries/FFat/examples/FFat_time/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/HTTPClient/examples/Authorization/ci.json b/libraries/HTTPClient/examples/Authorization/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/HTTPClient/examples/Authorization/ci.json +++ b/libraries/HTTPClient/examples/Authorization/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/HTTPClient/examples/BasicHttpClient/ci.json b/libraries/HTTPClient/examples/BasicHttpClient/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/HTTPClient/examples/BasicHttpClient/ci.json +++ b/libraries/HTTPClient/examples/BasicHttpClient/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/HTTPClient/examples/BasicHttpsClient/ci.json b/libraries/HTTPClient/examples/BasicHttpsClient/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/HTTPClient/examples/BasicHttpsClient/ci.json +++ b/libraries/HTTPClient/examples/BasicHttpsClient/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/HTTPClient/examples/HTTPClientEnterprise/ci.json b/libraries/HTTPClient/examples/HTTPClientEnterprise/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/HTTPClient/examples/HTTPClientEnterprise/ci.json +++ b/libraries/HTTPClient/examples/HTTPClientEnterprise/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/HTTPClient/examples/ReuseConnection/ci.json b/libraries/HTTPClient/examples/ReuseConnection/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/HTTPClient/examples/ReuseConnection/ci.json +++ b/libraries/HTTPClient/examples/ReuseConnection/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/HTTPClient/examples/StreamHttpClient/ci.json b/libraries/HTTPClient/examples/StreamHttpClient/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/HTTPClient/examples/StreamHttpClient/ci.json +++ b/libraries/HTTPClient/examples/StreamHttpClient/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/HTTPUpdate/examples/httpUpdate/ci.json b/libraries/HTTPUpdate/examples/httpUpdate/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/HTTPUpdate/examples/httpUpdate/ci.json +++ b/libraries/HTTPUpdate/examples/httpUpdate/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/HTTPUpdate/examples/httpUpdateSPIFFS/ci.json b/libraries/HTTPUpdate/examples/httpUpdateSPIFFS/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/HTTPUpdate/examples/httpUpdateSPIFFS/ci.json +++ b/libraries/HTTPUpdate/examples/httpUpdateSPIFFS/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/HTTPUpdate/examples/httpUpdateSecure/ci.json b/libraries/HTTPUpdate/examples/httpUpdateSecure/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/HTTPUpdate/examples/httpUpdateSecure/ci.json +++ b/libraries/HTTPUpdate/examples/httpUpdateSecure/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/HTTPUpdateServer/examples/WebUpdater/ci.json b/libraries/HTTPUpdateServer/examples/WebUpdater/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/HTTPUpdateServer/examples/WebUpdater/ci.json +++ b/libraries/HTTPUpdateServer/examples/WebUpdater/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/Insights/examples/DiagnosticsSmokeTest/ci.json b/libraries/Insights/examples/DiagnosticsSmokeTest/ci.json index 90f5ecfe4d2..0d8130e329a 100644 --- a/libraries/Insights/examples/DiagnosticsSmokeTest/ci.json +++ b/libraries/Insights/examples/DiagnosticsSmokeTest/ci.json @@ -1,6 +1,7 @@ { "targets": { "esp32c6": false, - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/Insights/examples/MinimalDiagnostics/ci.json b/libraries/Insights/examples/MinimalDiagnostics/ci.json index 90f5ecfe4d2..0d8130e329a 100644 --- a/libraries/Insights/examples/MinimalDiagnostics/ci.json +++ b/libraries/Insights/examples/MinimalDiagnostics/ci.json @@ -1,6 +1,7 @@ { "targets": { "esp32c6": false, - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/LittleFS/examples/LITTLEFS_time/ci.json b/libraries/LittleFS/examples/LITTLEFS_time/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/LittleFS/examples/LITTLEFS_time/ci.json +++ b/libraries/LittleFS/examples/LITTLEFS_time/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/NetBIOS/examples/ESP_NBNST/ci.json b/libraries/NetBIOS/examples/ESP_NBNST/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/NetBIOS/examples/ESP_NBNST/ci.json +++ b/libraries/NetBIOS/examples/ESP_NBNST/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/NetworkClientSecure/examples/WiFiClientInsecure/ci.json b/libraries/NetworkClientSecure/examples/WiFiClientInsecure/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/NetworkClientSecure/examples/WiFiClientInsecure/ci.json +++ b/libraries/NetworkClientSecure/examples/WiFiClientInsecure/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/NetworkClientSecure/examples/WiFiClientPSK/ci.json b/libraries/NetworkClientSecure/examples/WiFiClientPSK/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/NetworkClientSecure/examples/WiFiClientPSK/ci.json +++ b/libraries/NetworkClientSecure/examples/WiFiClientPSK/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/NetworkClientSecure/examples/WiFiClientSecure/ci.json b/libraries/NetworkClientSecure/examples/WiFiClientSecure/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/NetworkClientSecure/examples/WiFiClientSecure/ci.json +++ b/libraries/NetworkClientSecure/examples/WiFiClientSecure/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/NetworkClientSecure/examples/WiFiClientSecureEnterprise/ci.json b/libraries/NetworkClientSecure/examples/WiFiClientSecureEnterprise/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/NetworkClientSecure/examples/WiFiClientSecureEnterprise/ci.json +++ b/libraries/NetworkClientSecure/examples/WiFiClientSecureEnterprise/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/NetworkClientSecure/examples/WiFiClientSecureProtocolUpgrade/ci.json b/libraries/NetworkClientSecure/examples/WiFiClientSecureProtocolUpgrade/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/NetworkClientSecure/examples/WiFiClientSecureProtocolUpgrade/ci.json +++ b/libraries/NetworkClientSecure/examples/WiFiClientSecureProtocolUpgrade/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/NetworkClientSecure/examples/WiFiClientShowPeerCredentials/ci.json b/libraries/NetworkClientSecure/examples/WiFiClientShowPeerCredentials/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/NetworkClientSecure/examples/WiFiClientShowPeerCredentials/ci.json +++ b/libraries/NetworkClientSecure/examples/WiFiClientShowPeerCredentials/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/NetworkClientSecure/examples/WiFiClientTrustOnFirstUse/ci.json b/libraries/NetworkClientSecure/examples/WiFiClientTrustOnFirstUse/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/NetworkClientSecure/examples/WiFiClientTrustOnFirstUse/ci.json +++ b/libraries/NetworkClientSecure/examples/WiFiClientTrustOnFirstUse/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/OpenThread/examples/COAP/coap_lamp/ci.json b/libraries/OpenThread/examples/COAP/coap_lamp/ci.json index c60d9179992..a034e239a3f 100644 --- a/libraries/OpenThread/examples/COAP/coap_lamp/ci.json +++ b/libraries/OpenThread/examples/COAP/coap_lamp/ci.json @@ -3,6 +3,7 @@ "esp32": false, "esp32c2": false, "esp32c3": false, + "esp32p4": false, "esp32s2": false, "esp32s3": false } diff --git a/libraries/OpenThread/examples/COAP/coap_switch/ci.json b/libraries/OpenThread/examples/COAP/coap_switch/ci.json index c60d9179992..715becda6cb 100644 --- a/libraries/OpenThread/examples/COAP/coap_switch/ci.json +++ b/libraries/OpenThread/examples/COAP/coap_switch/ci.json @@ -1,9 +1,10 @@ { "targets": { "esp32": false, - "esp32c2": false, "esp32c3": false, - "esp32s2": false, - "esp32s3": false + "esp32c6": false, + "esp32h2": false, + "esp32p4": false, + "esp32s2": false } } diff --git a/libraries/OpenThread/examples/SimpleCLI/ci.json b/libraries/OpenThread/examples/SimpleCLI/ci.json index c60d9179992..ee810400be6 100644 --- a/libraries/OpenThread/examples/SimpleCLI/ci.json +++ b/libraries/OpenThread/examples/SimpleCLI/ci.json @@ -1,9 +1,9 @@ { "targets": { - "esp32": false, - "esp32c2": false, "esp32c3": false, - "esp32s2": false, - "esp32s3": false + "esp32c6": false, + "esp32h2": false, + "esp32p4": false, + "esp32s2": false } } diff --git a/libraries/OpenThread/examples/SimpleNode/ci.json b/libraries/OpenThread/examples/SimpleNode/ci.json index c60d9179992..eb6596c4a37 100644 --- a/libraries/OpenThread/examples/SimpleNode/ci.json +++ b/libraries/OpenThread/examples/SimpleNode/ci.json @@ -1,9 +1,7 @@ { "targets": { - "esp32": false, - "esp32c2": false, "esp32c3": false, - "esp32s2": false, - "esp32s3": false + "esp32p4": false, + "esp32s2": false } } diff --git a/libraries/OpenThread/examples/SimpleThreadNetwork/ExtendedRouterNode/ci.json b/libraries/OpenThread/examples/SimpleThreadNetwork/ExtendedRouterNode/ci.json index c60d9179992..156dda6560c 100644 --- a/libraries/OpenThread/examples/SimpleThreadNetwork/ExtendedRouterNode/ci.json +++ b/libraries/OpenThread/examples/SimpleThreadNetwork/ExtendedRouterNode/ci.json @@ -1,9 +1,7 @@ { "targets": { - "esp32": false, - "esp32c2": false, - "esp32c3": false, - "esp32s2": false, - "esp32s3": false + "esp32h2": false, + "esp32p4": false, + "esp32s2": false } } diff --git a/libraries/OpenThread/examples/SimpleThreadNetwork/LeaderNode/ci.json b/libraries/OpenThread/examples/SimpleThreadNetwork/LeaderNode/ci.json index c60d9179992..a034e239a3f 100644 --- a/libraries/OpenThread/examples/SimpleThreadNetwork/LeaderNode/ci.json +++ b/libraries/OpenThread/examples/SimpleThreadNetwork/LeaderNode/ci.json @@ -3,6 +3,7 @@ "esp32": false, "esp32c2": false, "esp32c3": false, + "esp32p4": false, "esp32s2": false, "esp32s3": false } diff --git a/libraries/OpenThread/examples/SimpleThreadNetwork/RouterNode/ci.json b/libraries/OpenThread/examples/SimpleThreadNetwork/RouterNode/ci.json index c60d9179992..a034e239a3f 100644 --- a/libraries/OpenThread/examples/SimpleThreadNetwork/RouterNode/ci.json +++ b/libraries/OpenThread/examples/SimpleThreadNetwork/RouterNode/ci.json @@ -3,6 +3,7 @@ "esp32": false, "esp32c2": false, "esp32c3": false, + "esp32p4": false, "esp32s2": false, "esp32s3": false } diff --git a/libraries/OpenThread/examples/ThreadScan/ci.json b/libraries/OpenThread/examples/ThreadScan/ci.json index c60d9179992..a034e239a3f 100644 --- a/libraries/OpenThread/examples/ThreadScan/ci.json +++ b/libraries/OpenThread/examples/ThreadScan/ci.json @@ -3,6 +3,7 @@ "esp32": false, "esp32c2": false, "esp32c3": false, + "esp32p4": false, "esp32s2": false, "esp32s3": false } diff --git a/libraries/OpenThread/examples/onReceive/ci.json b/libraries/OpenThread/examples/onReceive/ci.json index c60d9179992..a034e239a3f 100644 --- a/libraries/OpenThread/examples/onReceive/ci.json +++ b/libraries/OpenThread/examples/onReceive/ci.json @@ -3,6 +3,7 @@ "esp32": false, "esp32c2": false, "esp32c3": false, + "esp32p4": false, "esp32s2": false, "esp32s3": false } diff --git a/libraries/PPP/examples/PPP_WIFI_BRIDGE/ci.json b/libraries/PPP/examples/PPP_WIFI_BRIDGE/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/PPP/examples/PPP_WIFI_BRIDGE/ci.json +++ b/libraries/PPP/examples/PPP_WIFI_BRIDGE/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/PPP/src/PPP.cpp b/libraries/PPP/src/PPP.cpp index 28d6ddd8396..e77a78b77b7 100644 --- a/libraries/PPP/src/PPP.cpp +++ b/libraries/PPP/src/PPP.cpp @@ -7,6 +7,7 @@ #include #include "driver/uart.h" #include "hal/uart_ll.h" +#include "esp_private/uart_share_hw_ctrl.h" #define PPP_CMD_MODE_CHECK(x) \ if (_dce == NULL) { \ @@ -653,7 +654,10 @@ bool PPPClass::setBaudrate(int baudrate) { log_e("uart_get_sclk_freq failed with %d %s", err, esp_err_to_name(err)); return false; } - uart_ll_set_baudrate(UART_LL_GET_HW(_uart_num), (uint32_t)baudrate, sclk_freq); + + HP_UART_SRC_CLK_ATOMIC() { + uart_ll_set_baudrate(UART_LL_GET_HW(_uart_num), (uint32_t)baudrate, sclk_freq); + } return true; } diff --git a/libraries/RainMaker/examples/RMakerCustom/ci.json b/libraries/RainMaker/examples/RMakerCustom/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/RainMaker/examples/RMakerCustom/ci.json +++ b/libraries/RainMaker/examples/RMakerCustom/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/RainMaker/examples/RMakerCustomAirCooler/ci.json b/libraries/RainMaker/examples/RMakerCustomAirCooler/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/RainMaker/examples/RMakerCustomAirCooler/ci.json +++ b/libraries/RainMaker/examples/RMakerCustomAirCooler/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/RainMaker/examples/RMakerSonoffDualR3/ci.json b/libraries/RainMaker/examples/RMakerSonoffDualR3/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/RainMaker/examples/RMakerSonoffDualR3/ci.json +++ b/libraries/RainMaker/examples/RMakerSonoffDualR3/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/RainMaker/examples/RMakerSwitch/ci.json b/libraries/RainMaker/examples/RMakerSwitch/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/RainMaker/examples/RMakerSwitch/ci.json +++ b/libraries/RainMaker/examples/RMakerSwitch/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/SD/examples/SD_time/ci.json b/libraries/SD/examples/SD_time/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/SD/examples/SD_time/ci.json +++ b/libraries/SD/examples/SD_time/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/SD_MMC/examples/SD2USBMSC/ci.json b/libraries/SD_MMC/examples/SD2USBMSC/ci.json index 97ae5ee5616..715becda6cb 100644 --- a/libraries/SD_MMC/examples/SD2USBMSC/ci.json +++ b/libraries/SD_MMC/examples/SD2USBMSC/ci.json @@ -4,6 +4,7 @@ "esp32c3": false, "esp32c6": false, "esp32h2": false, + "esp32p4": false, "esp32s2": false } } diff --git a/libraries/SD_MMC/examples/SDMMC_Test/ci.json b/libraries/SD_MMC/examples/SDMMC_Test/ci.json index 35b6e255471..ee810400be6 100644 --- a/libraries/SD_MMC/examples/SDMMC_Test/ci.json +++ b/libraries/SD_MMC/examples/SDMMC_Test/ci.json @@ -3,6 +3,7 @@ "esp32c3": false, "esp32c6": false, "esp32h2": false, + "esp32p4": false, "esp32s2": false } } diff --git a/libraries/SD_MMC/examples/SDMMC_time/ci.json b/libraries/SD_MMC/examples/SDMMC_time/ci.json index 35b6e255471..ee810400be6 100644 --- a/libraries/SD_MMC/examples/SDMMC_time/ci.json +++ b/libraries/SD_MMC/examples/SDMMC_time/ci.json @@ -3,6 +3,7 @@ "esp32c3": false, "esp32c6": false, "esp32h2": false, + "esp32p4": false, "esp32s2": false } } diff --git a/libraries/SD_MMC/src/SD_MMC.cpp b/libraries/SD_MMC/src/SD_MMC.cpp index 6bbcf44d010..80cb150baa2 100644 --- a/libraries/SD_MMC/src/SD_MMC.cpp +++ b/libraries/SD_MMC/src/SD_MMC.cpp @@ -35,6 +35,7 @@ using namespace fs; SDMMCFS::SDMMCFS(FSImplPtr impl) : FS(impl), _card(nullptr) { +#if !defined(CONFIG_IDF_TARGET_ESP32P4) #if defined(SOC_SDMMC_USE_GPIO_MATRIX) && defined(BOARD_HAS_SDMMC) _pin_clk = SDMMC_CLK; _pin_cmd = SDMMC_CMD; @@ -44,8 +45,9 @@ SDMMCFS::SDMMCFS(FSImplPtr impl) : FS(impl), _card(nullptr) { _pin_d2 = SDMMC_D2; _pin_d3 = SDMMC_D3; #endif // BOARD_HAS_1BIT_SDMMC +#endif // !defined(CONFIG_IDF_TARGET_ESP32P4) -#elif SOC_SDMMC_USE_IOMUX +#elif SOC_SDMMC_USE_IOMUX && defined(BOARD_HAS_SDMMC) && defined(CONFIG_IDF_TARGET_ESP32) _pin_clk = SDMMC_SLOT1_IOMUX_PIN_NUM_CLK; _pin_cmd = SDMMC_SLOT1_IOMUX_PIN_NUM_CMD; _pin_d0 = SDMMC_SLOT1_IOMUX_PIN_NUM_D0; @@ -54,6 +56,16 @@ SDMMCFS::SDMMCFS(FSImplPtr impl) : FS(impl), _card(nullptr) { _pin_d2 = SDMMC_SLOT1_IOMUX_PIN_NUM_D2; _pin_d3 = SDMMC_SLOT1_IOMUX_PIN_NUM_D3; #endif // BOARD_HAS_1BIT_SDMMC + +#elif SOC_SDMMC_USE_IOMUX && defined(BOARD_HAS_SDMMC) && defined(CONFIG_IDF_TARGET_ESP32P4) + _pin_clk = SDMMC_SLOT0_IOMUX_PIN_NUM_CLK; + _pin_cmd = SDMMC_SLOT0_IOMUX_PIN_NUM_CMD; + _pin_d0 = SDMMC_SLOT0_IOMUX_PIN_NUM_D0; +#ifndef BOARD_HAS_1BIT_SDMMC + _pin_d1 = SDMMC_SLOT0_IOMUX_PIN_NUM_D1; + _pin_d2 = SDMMC_SLOT0_IOMUX_PIN_NUM_D2; + _pin_d3 = SDMMC_SLOT0_IOMUX_PIN_NUM_D3; +#endif // BOARD_HAS_1BIT_SDMMC #endif } diff --git a/libraries/SPI/src/SPI.cpp b/libraries/SPI/src/SPI.cpp index 93c686a0d13..35e52f43e4d 100644 --- a/libraries/SPI/src/SPI.cpp +++ b/libraries/SPI/src/SPI.cpp @@ -83,7 +83,7 @@ void SPIClass::begin(int8_t sck, int8_t miso, int8_t mosi, int8_t ss) { _miso = (_spi_num == FSPI) ? MISO : -1; _mosi = (_spi_num == FSPI) ? MOSI : -1; _ss = (_spi_num == FSPI) ? SS : -1; -#elif CONFIG_IDF_TARGET_ESP32C2 || CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 +#elif CONFIG_IDF_TARGET_ESP32C2 || CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2 || CONFIG_IDF_TARGET_ESP32P4 _sck = SCK; _miso = MISO; _mosi = MOSI; diff --git a/libraries/SPIFFS/examples/SPIFFS_time/ci.json b/libraries/SPIFFS/examples/SPIFFS_time/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/SPIFFS/examples/SPIFFS_time/ci.json +++ b/libraries/SPIFFS/examples/SPIFFS_time/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/SimpleBLE/examples/SimpleBleDevice/ci.json b/libraries/SimpleBLE/examples/SimpleBleDevice/ci.json index a571a89a877..eb6596c4a37 100644 --- a/libraries/SimpleBLE/examples/SimpleBleDevice/ci.json +++ b/libraries/SimpleBLE/examples/SimpleBleDevice/ci.json @@ -1,6 +1,7 @@ { "targets": { "esp32c3": false, + "esp32p4": false, "esp32s2": false } } diff --git a/libraries/Update/examples/AWS_S3_OTA_Update/ci.json b/libraries/Update/examples/AWS_S3_OTA_Update/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/Update/examples/AWS_S3_OTA_Update/ci.json +++ b/libraries/Update/examples/AWS_S3_OTA_Update/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/Update/examples/HTTPS_OTA_Update/ci.json b/libraries/Update/examples/HTTPS_OTA_Update/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/Update/examples/HTTPS_OTA_Update/ci.json +++ b/libraries/Update/examples/HTTPS_OTA_Update/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/Update/examples/HTTP_Client_AES_OTA_Update/ci.json b/libraries/Update/examples/HTTP_Client_AES_OTA_Update/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/Update/examples/HTTP_Client_AES_OTA_Update/ci.json +++ b/libraries/Update/examples/HTTP_Client_AES_OTA_Update/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/Update/examples/HTTP_Server_AES_OTA_Update/ci.json b/libraries/Update/examples/HTTP_Server_AES_OTA_Update/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/Update/examples/HTTP_Server_AES_OTA_Update/ci.json +++ b/libraries/Update/examples/HTTP_Server_AES_OTA_Update/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/Update/examples/OTAWebUpdater/ci.json b/libraries/Update/examples/OTAWebUpdater/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/Update/examples/OTAWebUpdater/ci.json +++ b/libraries/Update/examples/OTAWebUpdater/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/WebServer/examples/AdvancedWebServer/ci.json b/libraries/WebServer/examples/AdvancedWebServer/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/WebServer/examples/AdvancedWebServer/ci.json +++ b/libraries/WebServer/examples/AdvancedWebServer/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/WebServer/examples/FSBrowser/ci.json b/libraries/WebServer/examples/FSBrowser/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/WebServer/examples/FSBrowser/ci.json +++ b/libraries/WebServer/examples/FSBrowser/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/WebServer/examples/Filters/ci.json b/libraries/WebServer/examples/Filters/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/WebServer/examples/Filters/ci.json +++ b/libraries/WebServer/examples/Filters/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/WebServer/examples/HelloServer/ci.json b/libraries/WebServer/examples/HelloServer/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/WebServer/examples/HelloServer/ci.json +++ b/libraries/WebServer/examples/HelloServer/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/WebServer/examples/HttpAdvancedAuth/ci.json b/libraries/WebServer/examples/HttpAdvancedAuth/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/WebServer/examples/HttpAdvancedAuth/ci.json +++ b/libraries/WebServer/examples/HttpAdvancedAuth/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/WebServer/examples/HttpAuthCallback/ci.json b/libraries/WebServer/examples/HttpAuthCallback/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/WebServer/examples/HttpAuthCallback/ci.json +++ b/libraries/WebServer/examples/HttpAuthCallback/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/WebServer/examples/HttpAuthCallbackInline/ci.json b/libraries/WebServer/examples/HttpAuthCallbackInline/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/WebServer/examples/HttpAuthCallbackInline/ci.json +++ b/libraries/WebServer/examples/HttpAuthCallbackInline/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/WebServer/examples/HttpBasicAuth/ci.json b/libraries/WebServer/examples/HttpBasicAuth/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/WebServer/examples/HttpBasicAuth/ci.json +++ b/libraries/WebServer/examples/HttpBasicAuth/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/WebServer/examples/HttpBasicAuthSHA1/ci.json b/libraries/WebServer/examples/HttpBasicAuthSHA1/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/WebServer/examples/HttpBasicAuthSHA1/ci.json +++ b/libraries/WebServer/examples/HttpBasicAuthSHA1/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/WebServer/examples/HttpBasicAuthSHA1orBearerToken/ci.json b/libraries/WebServer/examples/HttpBasicAuthSHA1orBearerToken/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/WebServer/examples/HttpBasicAuthSHA1orBearerToken/ci.json +++ b/libraries/WebServer/examples/HttpBasicAuthSHA1orBearerToken/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/WebServer/examples/MultiHomedServers/ci.json b/libraries/WebServer/examples/MultiHomedServers/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/WebServer/examples/MultiHomedServers/ci.json +++ b/libraries/WebServer/examples/MultiHomedServers/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/WebServer/examples/PathArgServer/ci.json b/libraries/WebServer/examples/PathArgServer/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/WebServer/examples/PathArgServer/ci.json +++ b/libraries/WebServer/examples/PathArgServer/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/WebServer/examples/SDWebServer/ci.json b/libraries/WebServer/examples/SDWebServer/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/WebServer/examples/SDWebServer/ci.json +++ b/libraries/WebServer/examples/SDWebServer/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/WebServer/examples/SimpleAuthentification/ci.json b/libraries/WebServer/examples/SimpleAuthentification/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/WebServer/examples/SimpleAuthentification/ci.json +++ b/libraries/WebServer/examples/SimpleAuthentification/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/WebServer/examples/UploadHugeFile/ci.json b/libraries/WebServer/examples/UploadHugeFile/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/WebServer/examples/UploadHugeFile/ci.json +++ b/libraries/WebServer/examples/UploadHugeFile/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/WebServer/examples/WebServer/ci.json b/libraries/WebServer/examples/WebServer/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/WebServer/examples/WebServer/ci.json +++ b/libraries/WebServer/examples/WebServer/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/WebServer/examples/WebUpdate/ci.json b/libraries/WebServer/examples/WebUpdate/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/WebServer/examples/WebUpdate/ci.json +++ b/libraries/WebServer/examples/WebUpdate/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/WiFi/examples/FTM/FTM_Initiator/ci.json b/libraries/WiFi/examples/FTM/FTM_Initiator/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/WiFi/examples/FTM/FTM_Initiator/ci.json +++ b/libraries/WiFi/examples/FTM/FTM_Initiator/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/WiFi/examples/FTM/FTM_Responder/ci.json b/libraries/WiFi/examples/FTM/FTM_Responder/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/WiFi/examples/FTM/FTM_Responder/ci.json +++ b/libraries/WiFi/examples/FTM/FTM_Responder/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/WiFi/examples/SimpleWiFiServer/ci.json b/libraries/WiFi/examples/SimpleWiFiServer/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/WiFi/examples/SimpleWiFiServer/ci.json +++ b/libraries/WiFi/examples/SimpleWiFiServer/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/WiFi/examples/WPS/ci.json b/libraries/WiFi/examples/WPS/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/WiFi/examples/WPS/ci.json +++ b/libraries/WiFi/examples/WPS/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/WiFi/examples/WiFiAccessPoint/ci.json b/libraries/WiFi/examples/WiFiAccessPoint/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/WiFi/examples/WiFiAccessPoint/ci.json +++ b/libraries/WiFi/examples/WiFiAccessPoint/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/WiFi/examples/WiFiBlueToothSwitch/ci.json b/libraries/WiFi/examples/WiFiBlueToothSwitch/ci.json index 521ae8f5ff1..156dda6560c 100644 --- a/libraries/WiFi/examples/WiFiBlueToothSwitch/ci.json +++ b/libraries/WiFi/examples/WiFiBlueToothSwitch/ci.json @@ -1,6 +1,7 @@ { "targets": { "esp32h2": false, + "esp32p4": false, "esp32s2": false } } diff --git a/libraries/WiFi/examples/WiFiClient/ci.json b/libraries/WiFi/examples/WiFiClient/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/WiFi/examples/WiFiClient/ci.json +++ b/libraries/WiFi/examples/WiFiClient/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/WiFi/examples/WiFiClientBasic/ci.json b/libraries/WiFi/examples/WiFiClientBasic/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/WiFi/examples/WiFiClientBasic/ci.json +++ b/libraries/WiFi/examples/WiFiClientBasic/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/WiFi/examples/WiFiClientConnect/ci.json b/libraries/WiFi/examples/WiFiClientConnect/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/WiFi/examples/WiFiClientConnect/ci.json +++ b/libraries/WiFi/examples/WiFiClientConnect/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/WiFi/examples/WiFiClientEnterprise/ci.json b/libraries/WiFi/examples/WiFiClientEnterprise/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/WiFi/examples/WiFiClientEnterprise/ci.json +++ b/libraries/WiFi/examples/WiFiClientEnterprise/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/WiFi/examples/WiFiClientEvents/ci.json b/libraries/WiFi/examples/WiFiClientEvents/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/WiFi/examples/WiFiClientEvents/ci.json +++ b/libraries/WiFi/examples/WiFiClientEvents/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/WiFi/examples/WiFiClientStaticIP/ci.json b/libraries/WiFi/examples/WiFiClientStaticIP/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/WiFi/examples/WiFiClientStaticIP/ci.json +++ b/libraries/WiFi/examples/WiFiClientStaticIP/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/WiFi/examples/WiFiExtender/ci.json b/libraries/WiFi/examples/WiFiExtender/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/WiFi/examples/WiFiExtender/ci.json +++ b/libraries/WiFi/examples/WiFiExtender/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/WiFi/examples/WiFiIPv6/ci.json b/libraries/WiFi/examples/WiFiIPv6/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/WiFi/examples/WiFiIPv6/ci.json +++ b/libraries/WiFi/examples/WiFiIPv6/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/WiFi/examples/WiFiMulti/ci.json b/libraries/WiFi/examples/WiFiMulti/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/WiFi/examples/WiFiMulti/ci.json +++ b/libraries/WiFi/examples/WiFiMulti/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/WiFi/examples/WiFiMultiAdvanced/ci.json b/libraries/WiFi/examples/WiFiMultiAdvanced/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/WiFi/examples/WiFiMultiAdvanced/ci.json +++ b/libraries/WiFi/examples/WiFiMultiAdvanced/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/WiFi/examples/WiFiScan/ci.json b/libraries/WiFi/examples/WiFiScan/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/WiFi/examples/WiFiScan/ci.json +++ b/libraries/WiFi/examples/WiFiScan/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/WiFi/examples/WiFiScanAsync/ci.json b/libraries/WiFi/examples/WiFiScanAsync/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/WiFi/examples/WiFiScanAsync/ci.json +++ b/libraries/WiFi/examples/WiFiScanAsync/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/WiFi/examples/WiFiScanDualAntenna/ci.json b/libraries/WiFi/examples/WiFiScanDualAntenna/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/WiFi/examples/WiFiScanDualAntenna/ci.json +++ b/libraries/WiFi/examples/WiFiScanDualAntenna/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/WiFi/examples/WiFiScanTime/ci.json b/libraries/WiFi/examples/WiFiScanTime/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/WiFi/examples/WiFiScanTime/ci.json +++ b/libraries/WiFi/examples/WiFiScanTime/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/WiFi/examples/WiFiSmartConfig/ci.json b/libraries/WiFi/examples/WiFiSmartConfig/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/WiFi/examples/WiFiSmartConfig/ci.json +++ b/libraries/WiFi/examples/WiFiSmartConfig/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/WiFi/examples/WiFiTelnetToSerial/ci.json b/libraries/WiFi/examples/WiFiTelnetToSerial/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/WiFi/examples/WiFiTelnetToSerial/ci.json +++ b/libraries/WiFi/examples/WiFiTelnetToSerial/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/WiFi/examples/WiFiUDPClient/ci.json b/libraries/WiFi/examples/WiFiUDPClient/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/WiFi/examples/WiFiUDPClient/ci.json +++ b/libraries/WiFi/examples/WiFiUDPClient/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/libraries/WiFiProv/examples/WiFiProv/ci.json b/libraries/WiFiProv/examples/WiFiProv/ci.json index d8b3664bc65..ed63a39b4c0 100644 --- a/libraries/WiFiProv/examples/WiFiProv/ci.json +++ b/libraries/WiFiProv/examples/WiFiProv/ci.json @@ -1,5 +1,6 @@ { "targets": { - "esp32h2": false + "esp32h2": false, + "esp32p4": false } } diff --git a/package/package_esp32_index.template.json b/package/package_esp32_index.template.json index 701e77b3b21..21b3635bfcc 100644 --- a/package/package_esp32_index.template.json +++ b/package/package_esp32_index.template.json @@ -460,56 +460,42 @@ }, { "name": "esptool_py", - "version": "4.6", + "version": "4.8.0", "systems": [ { "host": "x86_64-pc-linux-gnu", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.9/esptool-v4.6-src.tar.gz", - "archiveFileName": "esptool-v4.6-src.tar.gz", - "checksum": "SHA-256:22f9bad0cd1cea14e554ac1f4a6d8f67415ff7029a66ce9130756276e7264e5a", - "size": "99141" - }, - { - "host": "i686-pc-linux-gnu", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.9/esptool-v4.6-src.tar.gz", - "archiveFileName": "esptool-v4.6-src.tar.gz", - "checksum": "SHA-256:22f9bad0cd1cea14e554ac1f4a6d8f67415ff7029a66ce9130756276e7264e5a", - "size": "99141" + "url": "https://github.com/espressif/esptool/releases/download/v4.8.0/esptool-v4.8.0-linux-amd64.zip", + "archiveFileName": "esptool-v4.8.0-linux-amd64.zip", + "checksum": "SHA-256:e637adc204b74b980013e89dafce6e056401ec26c94e205b0158075a836c56c6", + "size": "64617780" }, { "host": "aarch64-linux-gnu", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.9/esptool-v4.6-src.tar.gz", - "archiveFileName": "esptool-v4.6-src.tar.gz", - "checksum": "SHA-256:22f9bad0cd1cea14e554ac1f4a6d8f67415ff7029a66ce9130756276e7264e5a", - "size": "99141" + "url": "https://github.com/espressif/esptool/releases/download/v4.8.0/esptool-v4.8.0-linux-arm64.zip", + "archiveFileName": "esptool-v4.8.0-linux-arm64.zip", + "checksum": "SHA-256:c3a7749bed8d1929b0ad35743cc5557d60ecb81a10ffac28cb55ed1545e0223a", + "size": "54432155" }, { "host": "arm-linux-gnueabihf", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.9/esptool-v4.6-src.tar.gz", - "archiveFileName": "esptool-v4.6-src.tar.gz", - "checksum": "SHA-256:22f9bad0cd1cea14e554ac1f4a6d8f67415ff7029a66ce9130756276e7264e5a", - "size": "99141" + "url": "https://github.com/espressif/esptool/releases/download/v4.8.0/esptool-v4.8.0-linux-arm32.zip", + "archiveFileName": "esptool-v4.8.0-linux-arm32.zip", + "checksum": "SHA-256:b781a86b53a17d24e02996c0a7958f9b76f6873fc1cc07c64ab6326e19395570", + "size": "45858426" }, { "host": "x86_64-apple-darwin", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.9/esptool-v4.6-macos.tar.gz", - "archiveFileName": "esptool-v4.6-macos.tar.gz", - "checksum": "SHA-256:885ec69fcffdcb9e7c6eacd2589f13a45ce6bcb6742bea368ec3a73bcca6dd59", - "size": "5851297" + "url": "https://github.com/espressif/esptool/releases/download/v4.8.0/esptool-v4.8.0-macos.zip", + "archiveFileName": "esptool-v4.8.0-macos.zip", + "checksum": "SHA-256:73bba755d2da15ef18b8b8d8fe37c459d296648efb02d5449a3fc0035930306a", + "size": "29821710" }, { "host": "x86_64-mingw32", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.9/esptool-v4.6-win64.zip", - "archiveFileName": "esptool-v4.6-win64.zip", - "checksum": "SHA-256:c7c68cd1aa520cbfce488ff6a77818ece272272eb012831b9d9ab1280a7c393f", - "size": "6638480" - }, - { - "host": "i686-mingw32", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.9/esptool-v4.6-win64.zip", - "archiveFileName": "esptool-v4.6-win64.zip", - "checksum": "SHA-256:c7c68cd1aa520cbfce488ff6a77818ece272272eb012831b9d9ab1280a7c393f", - "size": "6638480" + "url": "https://github.com/espressif/esptool/releases/download/v4.8.0/esptool-v4.8.0-win64.zip", + "archiveFileName": "esptool-v4.8.0-win64.zip", + "checksum": "SHA-256:5575beabfe8c1c1ea7c1a0f1bd42ee97ac3f4c4dae5fc74cda58be0e23016da3", + "size": "33608471" } ] }, diff --git a/platform.txt b/platform.txt index ebc8d23a5c7..b9c31d4337f 100644 --- a/platform.txt +++ b/platform.txt @@ -10,7 +10,7 @@ tools.riscv32-esp-elf-gdb.path={runtime.platform.path}/tools/riscv32-esp-elf-gdb tools.esptool_py.path={runtime.platform.path}/tools/esptool tools.esptool_py.cmd=esptool -tools.esptool_py.cmd.linux=esptool.py +tools.esptool_py.cmd.linux=esptool tools.esptool_py.cmd.windows=esptool.exe tools.esptool_py.network_cmd=python3 "{runtime.platform.path}/tools/espota.py" -r @@ -84,6 +84,7 @@ build.extra_flags.esp32c2=-DARDUINO_USB_CDC_ON_BOOT=0 build.extra_flags.esp32c3=-DARDUINO_USB_MODE=1 -DARDUINO_USB_CDC_ON_BOOT={build.cdc_on_boot} build.extra_flags.esp32c6=-DARDUINO_USB_MODE=1 -DARDUINO_USB_CDC_ON_BOOT={build.cdc_on_boot} build.extra_flags.esp32h2=-DARDUINO_USB_MODE=1 -DARDUINO_USB_CDC_ON_BOOT={build.cdc_on_boot} +build.extra_flags.esp32p4=-DARDUINO_USB_MODE=1 -DARDUINO_USB_CDC_ON_BOOT={build.cdc_on_boot} # This can be overriden in boards.txt build.zigbee_mode= @@ -101,7 +102,7 @@ build.code_debug=0 build.defines= build.loop_core= build.event_core= -build.extra_flags=-DARDUINO_HOST_OS="{runtime.os}" -DARDUINO_FQBN="{build.fqbn}" -DESP32 -DCORE_DEBUG_LEVEL={build.code_debug} {build.loop_core} {build.event_core} {build.defines} {build.extra_flags.{build.mcu}} {build.zigbee_mode} +build.extra_flags=-DARDUINO_HOST_OS="{runtime.os}" -DARDUINO_FQBN="{build.fqbn}" -DESP32=ESP32 -DCORE_DEBUG_LEVEL={build.code_debug} {build.loop_core} {build.event_core} {build.defines} {build.extra_flags.{build.mcu}} {build.zigbee_mode} build.extra_libs= build.memory_type={build.boot}_qspi @@ -121,7 +122,6 @@ recipe.hooks.prebuild.3.pattern.windows=cmd /c if not exist "{build.path}\partit # Check if custom bootloader exist: source > variant > build.boot recipe.hooks.prebuild.4.pattern_args=--chip {build.mcu} elf2image --flash_mode {build.flash_mode} --flash_freq {build.img_freq} --flash_size {build.flash_size} -o recipe.hooks.prebuild.4.pattern=/usr/bin/env bash -c "[ -f "{build.source.path}"/bootloader.bin ] && cp -f "{build.source.path}"/bootloader.bin "{build.path}"/{build.project_name}.bootloader.bin || ( [ -f "{build.variant.path}"/{build.custom_bootloader}.bin ] && cp "{build.variant.path}"/{build.custom_bootloader}.bin "{build.path}"/{build.project_name}.bootloader.bin || "{tools.esptool_py.path}"/{tools.esptool_py.cmd} {recipe.hooks.prebuild.4.pattern_args} "{build.path}"/{build.project_name}.bootloader.bin "{compiler.sdk.path}"/bin/bootloader_{build.boot}_{build.boot_freq}.elf )" -recipe.hooks.prebuild.4.pattern.linux=/usr/bin/env bash -c "[ -f "{build.source.path}"/bootloader.bin ] && cp -f "{build.source.path}"/bootloader.bin "{build.path}"/{build.project_name}.bootloader.bin || ( [ -f "{build.variant.path}"/{build.custom_bootloader}.bin ] && cp "{build.variant.path}"/{build.custom_bootloader}.bin "{build.path}"/{build.project_name}.bootloader.bin || python3 "{tools.esptool_py.path}"/{tools.esptool_py.cmd} {recipe.hooks.prebuild.4.pattern_args} "{build.path}"/{build.project_name}.bootloader.bin "{compiler.sdk.path}"/bin/bootloader_{build.boot}_{build.boot_freq}.elf )" recipe.hooks.prebuild.4.pattern.windows=cmd /c IF EXIST "{build.source.path}\bootloader.bin" ( COPY /y "{build.source.path}\bootloader.bin" "{build.path}\{build.project_name}.bootloader.bin" ) ELSE ( IF EXIST "{build.variant.path}\{build.custom_bootloader}.bin" ( COPY "{build.variant.path}\{build.custom_bootloader}.bin" "{build.path}\{build.project_name}.bootloader.bin" ) ELSE ( "{tools.esptool_py.path}\{tools.esptool_py.cmd}" {recipe.hooks.prebuild.4.pattern_args} "{build.path}\{build.project_name}.bootloader.bin" "{compiler.sdk.path}\bin\bootloader_{build.boot}_{build.boot_freq}.elf" ) ) # Check if custom build options exist in the sketch folder @@ -162,7 +162,6 @@ recipe.objcopy.partitions.bin.pattern={tools.gen_esp32part.cmd} -q "{build.path} ## Create bin recipe.objcopy.bin.pattern_args=--chip {build.mcu} elf2image --flash_mode "{build.flash_mode}" --flash_freq "{build.img_freq}" --flash_size "{build.flash_size}" --elf-sha256-offset 0xb0 -o "{build.path}/{build.project_name}.bin" "{build.path}/{build.project_name}.elf" recipe.objcopy.bin.pattern="{tools.esptool_py.path}/{tools.esptool_py.cmd}" {recipe.objcopy.bin.pattern_args} -recipe.objcopy.bin.pattern.linux=python3 "{tools.esptool_py.path}/{tools.esptool_py.cmd}" {recipe.objcopy.bin.pattern_args} ## Create Insights Firmware Package recipe.hooks.objcopy.postobjcopy.1.pattern_args={build.path} {build.project_name} "{build.source.path}" @@ -176,7 +175,6 @@ recipe.hooks.objcopy.postobjcopy.2.pattern.windows=cmd /c if exist "{build.path} # Create merged binary recipe.hooks.objcopy.postobjcopy.3.pattern_args=--chip {build.mcu} merge_bin -o "{build.path}/{build.project_name}.merged.bin" --fill-flash-size {build.flash_size} --flash_mode keep --flash_freq keep --flash_size keep {build.bootloader_addr} "{build.path}/{build.project_name}.bootloader.bin" 0x8000 "{build.path}/{build.project_name}.partitions.bin" 0xe000 "{runtime.platform.path}/tools/partitions/boot_app0.bin" 0x10000 "{build.path}/{build.project_name}.bin" recipe.hooks.objcopy.postobjcopy.3.pattern="{tools.esptool_py.path}/{tools.esptool_py.cmd}" {recipe.hooks.objcopy.postobjcopy.3.pattern_args} -recipe.hooks.objcopy.postobjcopy.3.pattern.linux=python3 "{tools.esptool_py.path}/{tools.esptool_py.cmd}" {recipe.hooks.objcopy.postobjcopy.3.pattern_args} ## Save bin recipe.output.tmp_file={build.project_name}.bin @@ -286,7 +284,6 @@ tools.esptool_py.upload.params.verbose= tools.esptool_py.upload.params.quiet= tools.esptool_py.upload.pattern_args=--chip {build.mcu} --port "{serial.port}" --baud {upload.speed} {upload.flags} --before default_reset --after hard_reset write_flash {upload.erase_cmd} -z --flash_mode keep --flash_freq keep --flash_size keep {build.bootloader_addr} "{build.path}/{build.project_name}.bootloader.bin" 0x8000 "{build.path}/{build.project_name}.partitions.bin" 0xe000 "{runtime.platform.path}/tools/partitions/boot_app0.bin" 0x10000 "{build.path}/{build.project_name}.bin" {upload.extra_flags} tools.esptool_py.upload.pattern="{path}/{cmd}" {upload.pattern_args} -tools.esptool_py.upload.pattern.linux=python3 "{path}/{cmd}" {upload.pattern_args} ## Program Application ## ------------------- @@ -294,7 +291,6 @@ tools.esptool_py.program.params.verbose= tools.esptool_py.program.params.quiet= tools.esptool_py.program.pattern_args=--chip {build.mcu} --port "{serial.port}" --baud {upload.speed} {upload.flags} --before default_reset --after hard_reset write_flash -z --flash_mode keep --flash_freq keep --flash_size keep 0x10000 "{build.path}/{build.project_name}.bin" tools.esptool_py.program.pattern="{path}/{cmd}" {program.pattern_args} -tools.esptool_py.program.pattern.linux=python3 "{path}/{cmd}" {program.pattern_args} ## Erase Chip (before burning the bootloader) ## ------------------------------------------ @@ -303,7 +299,6 @@ tools.esptool_py.erase.params.verbose= tools.esptool_py.erase.params.quiet= tools.esptool_py.erase.pattern_args=--chip {build.mcu} --port "{serial.port}" --baud {upload.speed} {upload.flags} --before default_reset --after hard_reset erase_flash tools.esptool_py.erase.pattern="{path}/{cmd}" {erase.pattern_args} -tools.esptool_py.erase.pattern.linux=python3 "{path}/{cmd}" {erase.pattern_args} ## Burn Bootloader ## --------------- diff --git a/tools/get.exe b/tools/get.exe index 161cb193cae89e3dbc84006a7c7332e2683eb329..2082c7a4b68b6438c4f43a736a9d1b6aedda614f 100644 GIT binary patch delta 152918 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%0D~;^TD=O|_$| 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%0A>a{X`r!Y>BZm9cf8micfd^!e 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 Sd-fMqkN#Bl=76&1#Qz4CRDfat diff --git a/variants/adafruit_feather_esp32s3/bootloader-tinyuf2.bin b/variants/adafruit_feather_esp32s3/bootloader-tinyuf2.bin index 01e821012114f108ec44c8fae26f960484347d8f..8a04549dad5639e90fe0a9c22ca0ad9cab52f76a 100644 GIT binary patch literal 22816 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 R%oD0T-!xrW_*mAN{{uz^=ePg> diff --git a/variants/adafruit_feather_esp32s3/tinyuf2.bin b/variants/adafruit_feather_esp32s3/tinyuf2.bin index 5f9d486d3f9f5bc025476b0c9f2d31b5fbe5ffeb..d76bd75c2973e48bcf729ce5a2f8f9d4996a1d73 100644 GIT binary patch literal 196208 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 z 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 literal 165520 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