From 206fc4a1770ad8c43c89b480cdd3be5a8ae0ca72 Mon Sep 17 00:00:00 2001 From: nullstalgia Date: Fri, 9 Jan 2026 03:14:34 -0800 Subject: [PATCH 01/91] Use different RGB patterns for Active Clearing vs Awaiting Release EStop --- src/VisualStateManager.cpp | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/src/VisualStateManager.cpp b/src/VisualStateManager.cpp index 3c61738f..673981f6 100644 --- a/src/VisualStateManager.cpp +++ b/src/VisualStateManager.cpp @@ -22,11 +22,12 @@ const char* const TAG = "VisualStateManager"; const uint64_t kCriticalErrorFlag = 1 << 0; const uint64_t kEmergencyStoppedFlag = 1 << 1; -const uint64_t kEmergencyStopAwaitingReleaseFlag = 1 << 2; -const uint64_t kWebSocketConnectedFlag = 1 << 3; -const uint64_t kHasIpAddressFlag = 1 << 4; -const uint64_t kWiFiConnectedFlag = 1 << 5; -const uint64_t kWiFiScanningFlag = 1 << 6; +const uint64_t kEmergencyStopActiveClearingFlag = 1 << 2; +const uint64_t kEmergencyStopAwaitingReleaseFlag = 1 << 3; +const uint64_t kWebSocketConnectedFlag = 1 << 4; +const uint64_t kHasIpAddressFlag = 1 << 5; +const uint64_t kWiFiConnectedFlag = 1 << 6; +const uint64_t kWiFiScanningFlag = 1 << 7; // Bitmask of when the system is running normally const uint64_t kStatusOKMask = kWebSocketConnectedFlag | kHasIpAddressFlag | kWiFiConnectedFlag; @@ -73,6 +74,17 @@ const PinPatternManager::State kEmergencyStopAwaitingReleasePattern[] = { { true, 150}, {false, 150} }; +const RGBPatternManager::RGBState kEmergencyStopActiveClearingRGBPattern[] = { + {0, 0, 0, 50}, + {64, 0, 0, 50}, + {128, 0, 0, 50}, + {192, 0, 0, 50}, + {255, 0, 0, 50}, + {192, 0, 0, 50}, + {128, 0, 0, 50}, + {64, 0, 0, 50}, +}; + const RGBPatternManager::RGBState kEmergencyStopAwaitingReleaseRGBPattern[] = { {0, 255, 0, 150}, {0, 0, 0, 150} @@ -188,6 +200,7 @@ void _updateVisualStateGPIO() { CSR_PATTERN(s_builtInLedManager, kCriticalErrorFlag, kCriticalErrorPattern); CSR_PATTERN(s_builtInLedManager, kEmergencyStopAwaitingReleaseFlag, kEmergencyStopAwaitingReleasePattern); + CSR_PATTERN(s_builtInLedManager, kEmergencyStopActiveClearingFlag, kEmergencyStopAwaitingReleasePattern); CSR_PATTERN(s_builtInLedManager, kEmergencyStoppedFlag, kEmergencyStoppedPattern); CSR_PATTERN(s_builtInLedManager, kWebSocketConnectedFlag, kWebSocketConnectedPattern); CSR_PATTERN(s_builtInLedManager, kHasIpAddressFlag, kWiFiConnectedWithoutWSPattern); @@ -200,6 +213,7 @@ void _updateVisualStateRGB() { CSR_PATTERN(s_RGBLedManager, kCriticalErrorFlag, kCriticalErrorRGBPattern); CSR_PATTERN(s_RGBLedManager, kEmergencyStopAwaitingReleaseFlag, kEmergencyStopAwaitingReleaseRGBPattern); + CSR_PATTERN(s_RGBLedManager, kEmergencyStopActiveClearingFlag, kEmergencyStopActiveClearingRGBPattern); CSR_PATTERN(s_RGBLedManager, kEmergencyStoppedFlag, kEmergencyStoppedRGBPattern); CSR_PATTERN(s_RGBLedManager, kWebSocketConnectedFlag, kWebSocketConnectedRGBPattern); CSR_PATTERN(s_RGBLedManager, kHasIpAddressFlag, kWiFiConnectedWithoutWSRGBPattern); @@ -298,7 +312,8 @@ void _handleOpenShockEStopStateChanged(void* event_data) auto state = *reinterpret_cast(event_data); _setStateFlag(kEmergencyStoppedFlag, state != EStopState::Idle); - _setStateFlag(kEmergencyStopAwaitingReleaseFlag, state == EStopState::ActiveClearing); + _setStateFlag(kEmergencyStopActiveClearingFlag, state == EStopState::ActiveClearing); + _setStateFlag(kEmergencyStopAwaitingReleaseFlag, state == EStopState::AwaitingRelease); } void _handleOpenShockGatewayStateChanged(void* event_data) From 9e4cf09009fc226a77921aaa21df27ba04886420 Mon Sep 17 00:00:00 2001 From: nullstalgia Date: Fri, 9 Jan 2026 03:25:03 -0800 Subject: [PATCH 02/91] Use Yellow for Active Clearing. I'd prefer to be able to distinguish between the different types easily in support chat. --- src/VisualStateManager.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/VisualStateManager.cpp b/src/VisualStateManager.cpp index 673981f6..7e720921 100644 --- a/src/VisualStateManager.cpp +++ b/src/VisualStateManager.cpp @@ -75,14 +75,14 @@ const PinPatternManager::State kEmergencyStopAwaitingReleasePattern[] = { {false, 150} }; const RGBPatternManager::RGBState kEmergencyStopActiveClearingRGBPattern[] = { - {0, 0, 0, 50}, - {64, 0, 0, 50}, - {128, 0, 0, 50}, - {192, 0, 0, 50}, - {255, 0, 0, 50}, - {192, 0, 0, 50}, - {128, 0, 0, 50}, - {64, 0, 0, 50}, + { 0, 0, 0, 50}, + { 64, 69, 0, 50}, + {128, 101, 0, 50}, + {192, 133, 0, 50}, + {255, 165, 0, 50}, + {192, 133, 0, 50}, + {128, 101, 0, 50}, + { 64, 69, 0, 50}, }; const RGBPatternManager::RGBState kEmergencyStopAwaitingReleaseRGBPattern[] = { From a9b66ef466a86e684e790b16700f3133382729e2 Mon Sep 17 00:00:00 2001 From: nullstalgia Date: Fri, 23 Jan 2026 04:17:15 -0800 Subject: [PATCH 03/91] Bruteforcing Arduino 3.0 support --- include/Hashing.h | 18 +++++++++--------- include/RGBPatternManager.h | 1 - include/radio/RFTransmitter.h | 3 +-- include/span.h | 1 + platformio.ini | 4 ++-- src/CaptivePortal.cpp | 6 ++++-- src/OtaUpdateManager.cpp | 10 ++++++++-- src/RGBPatternManager.cpp | 20 ++++++++++++-------- src/VisualStateManager.cpp | 2 ++ src/http/HTTPRequestManager.cpp | 1 + src/radio/RFTransmitter.cpp | 27 +++++++++++++++------------ 11 files changed, 55 insertions(+), 38 deletions(-) diff --git a/include/Hashing.h b/include/Hashing.h index 709cab69..ece6d119 100644 --- a/include/Hashing.h +++ b/include/Hashing.h @@ -19,10 +19,10 @@ namespace OpenShock { MD5() { mbedtls_md5_init(&ctx); } ~MD5() { mbedtls_md5_free(&ctx); } - inline bool begin() { return mbedtls_md5_starts_ret(&ctx) == 0; } - inline bool update(const uint8_t* data, std::size_t dataLen) { return mbedtls_md5_update_ret(&ctx, data, dataLen) == 0; } + inline bool begin() { return mbedtls_md5_starts(&ctx) == 0; } + inline bool update(const uint8_t* data, std::size_t dataLen) { return mbedtls_md5_update(&ctx, data, dataLen) == 0; } inline bool update(std::string_view data) { return update(reinterpret_cast(data.data()), data.length()); } - inline bool finish(std::array& hash) { return mbedtls_md5_finish_ret(&ctx, hash.data()) == 0; } + inline bool finish(std::array& hash) { return mbedtls_md5_finish(&ctx, hash.data()) == 0; } private: mbedtls_md5_context ctx; @@ -35,10 +35,10 @@ namespace OpenShock { SHA1() { mbedtls_sha1_init(&ctx); } ~SHA1() { mbedtls_sha1_free(&ctx); } - inline bool begin() { return mbedtls_sha1_starts_ret(&ctx) == 0; } - inline bool update(const uint8_t* data, std::size_t dataLen) { return mbedtls_sha1_update_ret(&ctx, data, dataLen) == 0; } + inline bool begin() { return mbedtls_sha1_starts(&ctx) == 0; } + inline bool update(const uint8_t* data, std::size_t dataLen) { return mbedtls_sha1_update(&ctx, data, dataLen) == 0; } inline bool update(std::string_view data) { return update(reinterpret_cast(data.data()), data.length()); } - inline bool finish(std::array& hash) { return mbedtls_sha1_finish_ret(&ctx, hash.data()) == 0; } + inline bool finish(std::array& hash) { return mbedtls_sha1_finish(&ctx, hash.data()) == 0; } private: mbedtls_sha1_context ctx; @@ -51,10 +51,10 @@ namespace OpenShock { SHA256() { mbedtls_sha256_init(&ctx); } ~SHA256() { mbedtls_sha256_free(&ctx); } - inline bool begin() { return mbedtls_sha256_starts_ret(&ctx, 0) == 0; } - inline bool update(const uint8_t* data, std::size_t dataLen) { return mbedtls_sha256_update_ret(&ctx, data, dataLen) == 0; } + inline bool begin() { return mbedtls_sha256_starts(&ctx, 0) == 0; } + inline bool update(const uint8_t* data, std::size_t dataLen) { return mbedtls_sha256_update(&ctx, data, dataLen) == 0; } inline bool update(std::string_view data) { return update(reinterpret_cast(data.data()), data.length()); } - inline bool finish(std::array& hash) { return mbedtls_sha256_finish_ret(&ctx, hash.data()) == 0; } + inline bool finish(std::array& hash) { return mbedtls_sha256_finish(&ctx, hash.data()) == 0; } private: mbedtls_sha256_context ctx; diff --git a/include/RGBPatternManager.h b/include/RGBPatternManager.h index f2cc4114..5c5e6b9a 100644 --- a/include/RGBPatternManager.h +++ b/include/RGBPatternManager.h @@ -47,7 +47,6 @@ namespace OpenShock { gpio_num_t m_gpioPin; uint8_t m_brightness; // 0-255 std::vector m_pattern; - rmt_obj_t* m_rmtHandle; TaskHandle_t m_taskHandle; SimpleMutex m_taskMutex; }; diff --git a/include/radio/RFTransmitter.h b/include/radio/RFTransmitter.h index af0f3198..7e37fb0c 100644 --- a/include/radio/RFTransmitter.h +++ b/include/radio/RFTransmitter.h @@ -23,7 +23,7 @@ namespace OpenShock { inline gpio_num_t GetTxPin() const { return m_txPin; } - inline bool ok() const { return m_rmtHandle != nullptr && m_queueHandle != nullptr && m_taskHandle != nullptr; } + inline bool ok() const { return m_txPin != GPIO_NUM_NC && m_queueHandle != nullptr && m_taskHandle != nullptr; } bool SendCommand(ShockerModelType model, uint16_t shockerId, ShockerCommandType type, uint8_t intensity, uint16_t durationMs, bool overwriteExisting = true); void ClearPendingCommands(); @@ -35,7 +35,6 @@ namespace OpenShock { struct Command; gpio_num_t m_txPin; - rmt_obj_t* m_rmtHandle; QueueHandle_t m_queueHandle; TaskHandle_t m_taskHandle; }; diff --git a/include/span.h b/include/span.h index 3803f03a..058219ae 100644 --- a/include/span.h +++ b/include/span.h @@ -14,6 +14,7 @@ This is an implementation of C++20's std::span #include #include #include +#include #ifndef TCB_SPAN_NO_EXCEPTIONS // Attempt to discover whether we're being compiled with exception support diff --git a/platformio.ini b/platformio.ini index f64c29b7..0a881111 100644 --- a/platformio.ini +++ b/platformio.ini @@ -9,7 +9,7 @@ ; https://docs.platformio.org/page/projectconf.html [env] -platform = espressif32 @ 6.12.0 +platform = https://github.com/pioarduino/platform-espressif32/releases/download/55.03.36/platform-espressif32.zip board = az-delivery-devkit-v4 ; Overridden per board framework = arduino @@ -54,7 +54,7 @@ build_src_flags = lib_deps = https://github.com/google/flatbuffers#8b02fe6178427b96aea25396b53ea4ae8cadd7d8 https://github.com/OpenShock/ESPAsyncWebServer#469816c6bd287e3ecdda9e519c2532db019aa3c1 - https://github.com/OpenShock/BadWebSockets#ec5eae735d94b3774498f8fd7564dce1cd5a5339 + https://github.com/OpenShock/BadWebSockets#93de92a3a64f87f9a7cd24e6abf8f67f076f2f16 custom_openshock.flash_size = 4MB; Can be overridden per board board_build.filesystem = littlefs board_build.embed_files = certificates/x509_crt_bundle diff --git a/src/CaptivePortal.cpp b/src/CaptivePortal.cpp index e3e26249..44993c9c 100644 --- a/src/CaptivePortal.cpp +++ b/src/CaptivePortal.cpp @@ -4,6 +4,7 @@ const char* const TAG = "CaptivePortal"; +#include "CaptivePortalConfig.h" #include "CaptivePortalInstance.h" #include "CommandHandler.h" #include "config/Config.h" @@ -155,9 +156,10 @@ bool CaptivePortal::Init() void CaptivePortal::SetAlwaysEnabled(bool alwaysEnabled) { s_alwaysEnabled = alwaysEnabled; - Config::SetCaptivePortalConfig({ + CaptivePortalConfig config = { .alwaysEnabled = alwaysEnabled, - }); + }; + Config::SetCaptivePortalConfig(config); } bool CaptivePortal::IsAlwaysEnabled() { diff --git a/src/OtaUpdateManager.cpp b/src/OtaUpdateManager.cpp index 77c5ed40..bc270016 100644 --- a/src/OtaUpdateManager.cpp +++ b/src/OtaUpdateManager.cpp @@ -393,7 +393,12 @@ static void otaum_updatetask(void* arg) // Increase task watchdog timeout. // Prevents panics on some ESP32s when clearing large partitions. - esp_task_wdt_init(15, true); + esp_task_wdt_config_t twdt_config = { + .timeout_ms = 15, + .idle_core_mask = (1 << CONFIG_FREERTOS_NUMBER_OF_CORES) - 1, // Bitmask of all cores + .trigger_panic = true, + }; + ESP_ERROR_CHECK(esp_task_wdt_init(&twdt_config)); // Flash app and filesystem partitions. if (!_flashFilesystemPartition(filesystemPartition, release.filesystemBinaryUrl, release.filesystemBinaryHash)) continue; @@ -407,7 +412,8 @@ static void otaum_updatetask(void* arg) } // Set task watchdog timeout back to default. - esp_task_wdt_init(5, true); + twdt_config.timeout_ms = 5; + ESP_ERROR_CHECK(esp_task_wdt_init(&twdt_config)); // Send reboot message. _sendProgressMessage(Serialization::Types::OtaUpdateProgressTask::Rebooting, 0.0f); diff --git a/src/RGBPatternManager.cpp b/src/RGBPatternManager.cpp index ee509538..e843b0d6 100644 --- a/src/RGBPatternManager.cpp +++ b/src/RGBPatternManager.cpp @@ -16,11 +16,12 @@ using namespace OpenShock; // TODO: Support multiple LEDs ? // TODO: Support other LED types ? +const int32_t kRmtTimeoutMs = 100; + RGBPatternManager::RGBPatternManager(gpio_num_t gpioPin) : m_gpioPin(GPIO_NUM_NC) , m_brightness(255) , m_pattern() - , m_rmtHandle(nullptr) , m_taskHandle(nullptr) , m_taskMutex() { @@ -34,14 +35,17 @@ RGBPatternManager::RGBPatternManager(gpio_num_t gpioPin) return; } - m_rmtHandle = rmtInit(gpioPin, RMT_TX_MODE, RMT_MEM_64); - if (m_rmtHandle == NULL) { + bool success = rmtInit(gpioPin, RMT_TX_MODE, RMT_MEM_NUM_BLOCKS_1, 10'000'000); // RMT_MEM_64, 10MHz + if (!success) { OS_LOGE(TAG, "Failed to initialize RMT for pin %hhi", gpioPin); return; } - float realTick = rmtSetTick(m_rmtHandle, 100.F); - OS_LOGD(TAG, "RMT tick is %f ns for pin %hhi", realTick, gpioPin); + success = rmtSetEOT(gpioPin, 0); + if (!success) { + OS_LOGE(TAG, "Failed to set EOT level for pin %hhi", gpioPin); + return; + } SetBrightness(20); @@ -52,7 +56,7 @@ RGBPatternManager::~RGBPatternManager() { ClearPattern(); - rmtDeinit(m_rmtHandle); + rmtDeinit(m_gpioPin); } void RGBPatternManager::SetPattern(const RGBState* pattern, std::size_t patternLength) @@ -106,8 +110,8 @@ void RGBPatternManager::RunPattern(void* arg) { RGBPatternManager* thisPtr = reinterpret_cast(arg); - rmt_obj_t* rmtHandle = thisPtr->m_rmtHandle; uint8_t brightness = thisPtr->m_brightness; + gpio_num_t gpioPin = thisPtr->m_gpioPin; std::vector& pattern = thisPtr->m_pattern; std::array led_data; // 24 bits per LED (8 bits per color * 3 colors) @@ -143,7 +147,7 @@ void RGBPatternManager::RunPattern(void* arg) } // Send the data - rmtWriteBlocking(rmtHandle, led_data.data(), led_data.size()); + rmtWrite(gpioPin, led_data.data(), led_data.size(), kRmtTimeoutMs); vTaskDelay(pdMS_TO_TICKS(state.duration)); } } diff --git a/src/VisualStateManager.cpp b/src/VisualStateManager.cpp index 7e720921..01cf6b94 100644 --- a/src/VisualStateManager.cpp +++ b/src/VisualStateManager.cpp @@ -13,6 +13,8 @@ const char* const TAG = "VisualStateManager"; #include +#include "esp_wifi.h" + #ifndef OPENSHOCK_LED_GPIO #define OPENSHOCK_LED_GPIO GPIO_NUM_NC #endif // OPENSHOCK_LED_GPIO diff --git a/src/http/HTTPRequestManager.cpp b/src/http/HTTPRequestManager.cpp index 63dfe9ba..d8daba13 100644 --- a/src/http/HTTPRequestManager.cpp +++ b/src/http/HTTPRequestManager.cpp @@ -11,6 +11,7 @@ const char* const TAG = "HTTPRequestManager"; #include "util/StringUtils.h" #include +#include #include #include diff --git a/src/radio/RFTransmitter.cpp b/src/radio/RFTransmitter.cpp index 95b510fe..556a3766 100644 --- a/src/radio/RFTransmitter.cpp +++ b/src/radio/RFTransmitter.cpp @@ -18,6 +18,7 @@ const BaseType_t kTaskPriority = 1; const uint32_t kTaskStackSize = 4096; // PROFILED: 1.4KB stack usage const float kTickrateNs = 1000; const int64_t kTerminatorDurationMs = 300; +const int32_t kRmtTimeoutMs = 100; const uint8_t kFlagOverwrite = 1 << 0; const uint8_t kFlagDeleteTask = 1 << 1; const TickType_t kTaskIdleDelay = pdMS_TO_TICKS(5); @@ -35,21 +36,24 @@ struct RFTransmitter::Command { RFTransmitter::RFTransmitter(gpio_num_t gpioPin) : m_txPin(gpioPin) - , m_rmtHandle(nullptr) , m_queueHandle(nullptr) , m_taskHandle(nullptr) { OS_LOGD(TAG, "[pin-%hhi] Creating RFTransmitter", m_txPin); - m_rmtHandle = rmtInit(static_cast(m_txPin), RMT_TX_MODE, RMT_MEM_64); - if (m_rmtHandle == nullptr) { + bool success = rmtInit(gpioPin, RMT_TX_MODE, RMT_MEM_NUM_BLOCKS_1, 1'000'000); // RMT_MEM_64, 1MHz + if (!success) { OS_LOGE(TAG, "[pin-%hhi] Failed to create rmt object", m_txPin); destroy(); return; } - float realTick = rmtSetTick(m_rmtHandle, kTickrateNs); - OS_LOGD(TAG, "[pin-%hhi] real tick set to: %fns", m_txPin, realTick); + success = rmtSetEOT(gpioPin, 0); + if (!success) { + OS_LOGE(TAG, "Failed to set EOT level for pin %hhi", gpioPin); + destroy(); + return; + } m_queueHandle = xQueueCreate(kQueueSize, sizeof(Command)); if (m_queueHandle == nullptr) { @@ -144,9 +148,8 @@ void RFTransmitter::destroy() vQueueDelete(m_queueHandle); m_queueHandle = nullptr; } - if (m_rmtHandle != nullptr) { - rmtDeinit(m_rmtHandle); - m_rmtHandle = nullptr; + if (m_txPin != GPIO_NUM_NC) { + rmtDeinit(m_txPin); } } @@ -175,7 +178,7 @@ static bool modifySequence(std::vector& sequences, ShockerModelTy return false; } -static void writeSequences(rmt_obj_t* rmt_handle, std::vector& sequences) +static void writeSequences(gpio_num_t m_txPin, std::vector& sequences) { // Send queued commands for (auto seq = sequences.begin(); seq != sequences.end();) { @@ -183,7 +186,7 @@ static void writeSequences(rmt_obj_t* rmt_handle, std::vector& se if (timeToLive > 0) { // Send the command - rmtWriteBlocking(rmt_handle, seq->payload(), seq->size()); + rmtWrite(m_txPin, seq->payload(), seq->size(), kRmtTimeoutMs); } else { // Remove command if it has sent out its termination sequence for long enough if (timeToLive <= -kTerminatorDurationMs) { @@ -192,7 +195,7 @@ static void writeSequences(rmt_obj_t* rmt_handle, std::vector& se } // Send the termination sequence to stop the shocker - rmtWriteBlocking(rmt_handle, seq->terminator(), seq->size()); + rmtWrite(m_txPin, seq->terminator(), seq->size(), kRmtTimeoutMs); } // Move to the next command @@ -242,6 +245,6 @@ void RFTransmitter::TransmitTask() } } - writeSequences(m_rmtHandle, sequences); + writeSequences(m_txPin, sequences); } } From 08897d4503d45b34da7e99b8bd5245214ed1a44c Mon Sep 17 00:00:00 2001 From: HeavenVR Date: Fri, 23 Jan 2026 14:59:03 +0100 Subject: [PATCH 04/91] fix captiveportal include path and config struct construction --- src/CaptivePortal.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/CaptivePortal.cpp b/src/CaptivePortal.cpp index 44993c9c..eebfccfc 100644 --- a/src/CaptivePortal.cpp +++ b/src/CaptivePortal.cpp @@ -4,7 +4,7 @@ const char* const TAG = "CaptivePortal"; -#include "CaptivePortalConfig.h" +#include "config/CaptivePortalConfig.h" #include "CaptivePortalInstance.h" #include "CommandHandler.h" #include "config/Config.h" @@ -156,10 +156,9 @@ bool CaptivePortal::Init() void CaptivePortal::SetAlwaysEnabled(bool alwaysEnabled) { s_alwaysEnabled = alwaysEnabled; - CaptivePortalConfig config = { - .alwaysEnabled = alwaysEnabled, - }; - Config::SetCaptivePortalConfig(config); + Config::SetCaptivePortalConfig(Config::CaptivePortalConfig( + alwaysEnabled + )); } bool CaptivePortal::IsAlwaysEnabled() { From 4096bfcb9dba11e5bdc290e2bd39270cfea8fb9a Mon Sep 17 00:00:00 2001 From: nullstalgia Date: Fri, 23 Jan 2026 19:01:30 -0800 Subject: [PATCH 05/91] Rename OpenShock::Serial -> OpenShock::SerialCmds --- .../serial/command_handlers/CommandEntry.h | 2 +- include/serial/command_handlers/index.h | 36 +++++++++---------- src/serial/SerialInputHandler.cpp | 16 ++++----- src/serial/command_handlers/CommandEntry.cpp | 2 +- src/serial/command_handlers/authtoken.cpp | 4 +-- src/serial/command_handlers/domain.cpp | 6 ++-- src/serial/command_handlers/echo.cpp | 4 +-- src/serial/command_handlers/estop.cpp | 4 +-- src/serial/command_handlers/factoryreset.cpp | 4 +-- src/serial/command_handlers/hostname.cpp | 6 ++-- src/serial/command_handlers/jsonconfig.cpp | 4 +-- src/serial/command_handlers/keepalive.cpp | 4 +-- src/serial/command_handlers/networks.cpp | 6 ++-- src/serial/command_handlers/rawconfig.cpp | 4 +-- src/serial/command_handlers/restart.cpp | 4 +-- src/serial/command_handlers/rftransmit.cpp | 4 +-- src/serial/command_handlers/rftxpin.cpp | 4 +-- src/serial/command_handlers/sysinfo.cpp | 4 +-- src/serial/command_handlers/validgpios.cpp | 4 +-- src/serial/command_handlers/version.cpp | 4 +-- 20 files changed, 63 insertions(+), 63 deletions(-) diff --git a/include/serial/command_handlers/CommandEntry.h b/include/serial/command_handlers/CommandEntry.h index fec99a80..7fdc301e 100644 --- a/include/serial/command_handlers/CommandEntry.h +++ b/include/serial/command_handlers/CommandEntry.h @@ -3,7 +3,7 @@ #include #include -namespace OpenShock::Serial { +namespace OpenShock::SerialCmds { typedef void (*CommandHandler)(std::string_view arg, bool isAutomated); class CommandArgument { diff --git a/include/serial/command_handlers/index.h b/include/serial/command_handlers/index.h index c5b879c0..094fe41c 100644 --- a/include/serial/command_handlers/index.h +++ b/include/serial/command_handlers/index.h @@ -4,25 +4,25 @@ #include -namespace OpenShock::Serial::CommandHandlers { - OpenShock::Serial::CommandGroup VersionHandler(); - OpenShock::Serial::CommandGroup RestartHandler(); - OpenShock::Serial::CommandGroup SysInfoHandler(); - OpenShock::Serial::CommandGroup EchoHandler(); - OpenShock::Serial::CommandGroup ValidGpiosHandler(); - OpenShock::Serial::CommandGroup RfTxPinHandler(); - OpenShock::Serial::CommandGroup EStopHandler(); - OpenShock::Serial::CommandGroup DomainHandler(); - OpenShock::Serial::CommandGroup AuthTokenHandler(); - OpenShock::Serial::CommandGroup HostnameHandler(); - OpenShock::Serial::CommandGroup NetworksHandler(); - OpenShock::Serial::CommandGroup KeepAliveHandler(); - OpenShock::Serial::CommandGroup JsonConfigHandler(); - OpenShock::Serial::CommandGroup RawConfigHandler(); - OpenShock::Serial::CommandGroup RfTransmitHandler(); - OpenShock::Serial::CommandGroup FactoryResetHandler(); +namespace OpenShock::SerialCmds::CommandHandlers { + OpenShock::SerialCmds::CommandGroup VersionHandler(); + OpenShock::SerialCmds::CommandGroup RestartHandler(); + OpenShock::SerialCmds::CommandGroup SysInfoHandler(); + OpenShock::SerialCmds::CommandGroup EchoHandler(); + OpenShock::SerialCmds::CommandGroup ValidGpiosHandler(); + OpenShock::SerialCmds::CommandGroup RfTxPinHandler(); + OpenShock::SerialCmds::CommandGroup EStopHandler(); + OpenShock::SerialCmds::CommandGroup DomainHandler(); + OpenShock::SerialCmds::CommandGroup AuthTokenHandler(); + OpenShock::SerialCmds::CommandGroup HostnameHandler(); + OpenShock::SerialCmds::CommandGroup NetworksHandler(); + OpenShock::SerialCmds::CommandGroup KeepAliveHandler(); + OpenShock::SerialCmds::CommandGroup JsonConfigHandler(); + OpenShock::SerialCmds::CommandGroup RawConfigHandler(); + OpenShock::SerialCmds::CommandGroup RfTransmitHandler(); + OpenShock::SerialCmds::CommandGroup FactoryResetHandler(); - inline std::vector AllCommandHandlers() + inline std::vector AllCommandHandlers() { return { VersionHandler(), diff --git a/src/serial/SerialInputHandler.cpp b/src/serial/SerialInputHandler.cpp index 5a0c5023..295bce31 100644 --- a/src/serial/SerialInputHandler.cpp +++ b/src/serial/SerialInputHandler.cpp @@ -63,8 +63,8 @@ const int64_t PASTE_INTERVAL_THRESHOLD_MS = 20; const std::size_t SERIAL_BUFFER_CLEAR_THRESHOLD = 512; static bool s_echoEnabled = true; -static std::vector s_commandGroups; -static std::unordered_map s_commandHandlers; +static std::vector s_commandGroups; +static std::unordered_map s_commandHandlers; void _printCompleteHelp() { @@ -126,7 +126,7 @@ void _printCompleteHelp() ::Serial.print(buffer.data()); } -void _printCommandHelp(Serial::CommandGroup& group) +void _printCommandHelp(SerialCmds::CommandGroup& group) { std::size_t size = 0; for (const auto& command : group.commands()) { @@ -277,7 +277,7 @@ void _handleHelpCommand(std::string_view arg, bool isAutomated) SERPR_ERROR("Command \"%.*s\" not found", arg.length(), arg.data()); } -void RegisterCommandHandler(const OpenShock::Serial::CommandGroup& handler) +void RegisterCommandHandler(const OpenShock::SerialCmds::CommandGroup& handler) { s_commandHandlers[handler.name()] = handler; } @@ -505,7 +505,7 @@ void _processSerialLine(std::string_view line) // If the first argument is not empty, try to find a subcommand that matches if (!firstArg.empty()) { - for (Serial::CommandEntry& cmd : it->second.commands()) { + for (SerialCmds::CommandEntry& cmd : it->second.commands()) { // Check subcommand name if (cmd.name() != firstArg) { continue; @@ -527,7 +527,7 @@ void _processSerialLine(std::string_view line) } // If no subcommand was found, try to find a default command - for (Serial::CommandEntry& cmd : it->second.commands()) { + for (SerialCmds::CommandEntry& cmd : it->second.commands()) { // Skip subcommands if (!cmd.name().empty()) { continue; @@ -585,13 +585,13 @@ bool SerialInputHandler::Init() { static bool s_initialized = false; if (s_initialized) { - OS_LOGW(TAG, "Serial input handler already initialized"); + OS_LOGW(TAG, "SerialCmds input handler already initialized"); return false; } s_initialized = true; // Register command handlers - s_commandGroups = OpenShock::Serial::CommandHandlers::AllCommandHandlers(); + s_commandGroups = OpenShock::SerialCmds::CommandHandlers::AllCommandHandlers(); for (const auto& handler : s_commandGroups) { OS_LOGV(TAG, "Registering command handler: %.*s", handler.name().size(), handler.name().data()); RegisterCommandHandler(handler); diff --git a/src/serial/command_handlers/CommandEntry.cpp b/src/serial/command_handlers/CommandEntry.cpp index 3282fe21..b7e0da01 100644 --- a/src/serial/command_handlers/CommandEntry.cpp +++ b/src/serial/command_handlers/CommandEntry.cpp @@ -1,6 +1,6 @@ #include "serial/command_handlers/CommandEntry.h" -using namespace OpenShock::Serial; +using namespace OpenShock::SerialCmds; CommandEntry::CommandEntry(std::string_view description, CommandHandler commandHandler) : m_description(description) diff --git a/src/serial/command_handlers/authtoken.cpp b/src/serial/command_handlers/authtoken.cpp index 18c9ade6..3d661747 100644 --- a/src/serial/command_handlers/authtoken.cpp +++ b/src/serial/command_handlers/authtoken.cpp @@ -35,8 +35,8 @@ void _handleAuthtokenCommand(std::string_view arg, bool isAutomated) { } } -OpenShock::Serial::CommandGroup OpenShock::Serial::CommandHandlers::AuthTokenHandler() { - auto group = OpenShock::Serial::CommandGroup("authtoken"sv); +OpenShock::SerialCmds::CommandGroup OpenShock::SerialCmds::CommandHandlers::AuthTokenHandler() { + auto group = OpenShock::SerialCmds::CommandGroup("authtoken"sv); auto& getCommand = group.addCommand("Get the backend auth token"sv, _handleAuthtokenCommand); diff --git a/src/serial/command_handlers/domain.cpp b/src/serial/command_handlers/domain.cpp index 91185593..a645e70d 100644 --- a/src/serial/command_handlers/domain.cpp +++ b/src/serial/command_handlers/domain.cpp @@ -8,7 +8,7 @@ #include -const char* const TAG = "Serial::CommandHandlers::Domain"; +const char* const TAG = "SerialCmds::CommandHandlers::Domain"; void _handleDomainCommand(std::string_view arg, bool isAutomated) { if (arg.empty()) { @@ -62,8 +62,8 @@ void _handleDomainCommand(std::string_view arg, bool isAutomated) { esp_restart(); } -OpenShock::Serial::CommandGroup OpenShock::Serial::CommandHandlers::DomainHandler() { - auto group = OpenShock::Serial::CommandGroup("domain"sv); +OpenShock::SerialCmds::CommandGroup OpenShock::SerialCmds::CommandHandlers::DomainHandler() { + auto group = OpenShock::SerialCmds::CommandGroup("domain"sv); auto& getCommand = group.addCommand("Get the backend domain."sv, _handleDomainCommand); diff --git a/src/serial/command_handlers/echo.cpp b/src/serial/command_handlers/echo.cpp index 0b111dc6..d889724d 100644 --- a/src/serial/command_handlers/echo.cpp +++ b/src/serial/command_handlers/echo.cpp @@ -29,8 +29,8 @@ void _handleSerialEchoCommand(std::string_view arg, bool isAutomated) { } } -OpenShock::Serial::CommandGroup OpenShock::Serial::CommandHandlers::EchoHandler() { - auto group = OpenShock::Serial::CommandGroup("echo"sv); +OpenShock::SerialCmds::CommandGroup OpenShock::SerialCmds::CommandHandlers::EchoHandler() { + auto group = OpenShock::SerialCmds::CommandGroup("echo"sv); auto& getCommand = group.addCommand("Get the serial echo status"sv, _handleSerialEchoCommand); diff --git a/src/serial/command_handlers/estop.cpp b/src/serial/command_handlers/estop.cpp index 6efc52a0..183ac326 100644 --- a/src/serial/command_handlers/estop.cpp +++ b/src/serial/command_handlers/estop.cpp @@ -68,9 +68,9 @@ void _handleEStopPinCommand(std::string_view arg, bool isAutomated) SERPR_SUCCESS("Saved config"); } -OpenShock::Serial::CommandGroup OpenShock::Serial::CommandHandlers::EStopHandler() +OpenShock::SerialCmds::CommandGroup OpenShock::SerialCmds::CommandHandlers::EStopHandler() { - auto group = OpenShock::Serial::CommandGroup("estop"sv); + auto group = OpenShock::SerialCmds::CommandGroup("estop"sv); auto& getEnabledCommand = group.addCommand("enabled"sv, "Get the E-Stop enabled state."sv, _handleEStopEnabledCommand); auto& setEnabledCommand = group.addCommand("enabled"sv, "Set the E-Stop enabled state."sv, _handleEStopEnabledCommand); diff --git a/src/serial/command_handlers/factoryreset.cpp b/src/serial/command_handlers/factoryreset.cpp index bf973821..01e4ee81 100644 --- a/src/serial/command_handlers/factoryreset.cpp +++ b/src/serial/command_handlers/factoryreset.cpp @@ -14,9 +14,9 @@ void _handleFactoryResetCommand(std::string_view arg, bool isAutomated) esp_restart(); } -OpenShock::Serial::CommandGroup OpenShock::Serial::CommandHandlers::FactoryResetHandler() +OpenShock::SerialCmds::CommandGroup OpenShock::SerialCmds::CommandHandlers::FactoryResetHandler() { - auto group = OpenShock::Serial::CommandGroup("factoryreset"sv); + auto group = OpenShock::SerialCmds::CommandGroup("factoryreset"sv); auto& cmd = group.addCommand("Reset the hub to factory defaults and restart"sv, _handleFactoryResetCommand); diff --git a/src/serial/command_handlers/hostname.cpp b/src/serial/command_handlers/hostname.cpp index 92295955..73268404 100644 --- a/src/serial/command_handlers/hostname.cpp +++ b/src/serial/command_handlers/hostname.cpp @@ -6,7 +6,7 @@ #include -const char* const TAG = "Serial::CommandHandlers::Domain"; +const char* const TAG = "SerialCmds::CommandHandlers::Domain"; void _handleHostnameCommand(std::string_view arg, bool isAutomated) { if (arg.empty()) { @@ -29,8 +29,8 @@ void _handleHostnameCommand(std::string_view arg, bool isAutomated) { } } -OpenShock::Serial::CommandGroup OpenShock::Serial::CommandHandlers::HostnameHandler() { - auto group = OpenShock::Serial::CommandGroup("hostname"sv); +OpenShock::SerialCmds::CommandGroup OpenShock::SerialCmds::CommandHandlers::HostnameHandler() { + auto group = OpenShock::SerialCmds::CommandGroup("hostname"sv); auto& getCommand = group.addCommand("Get the network hostname."sv, _handleHostnameCommand); diff --git a/src/serial/command_handlers/jsonconfig.cpp b/src/serial/command_handlers/jsonconfig.cpp index e0e2b1f9..feafa984 100644 --- a/src/serial/command_handlers/jsonconfig.cpp +++ b/src/serial/command_handlers/jsonconfig.cpp @@ -23,8 +23,8 @@ void _handleJsonConfigCommand(std::string_view arg, bool isAutomated) { esp_restart(); } -OpenShock::Serial::CommandGroup OpenShock::Serial::CommandHandlers::JsonConfigHandler() { - auto group = OpenShock::Serial::CommandGroup("jsonconfig"sv); +OpenShock::SerialCmds::CommandGroup OpenShock::SerialCmds::CommandHandlers::JsonConfigHandler() { + auto group = OpenShock::SerialCmds::CommandGroup("jsonconfig"sv); auto& getCommand = group.addCommand("Get the configuration as JSON"sv, _handleJsonConfigCommand); diff --git a/src/serial/command_handlers/keepalive.cpp b/src/serial/command_handlers/keepalive.cpp index eecfe868..c7b53833 100644 --- a/src/serial/command_handlers/keepalive.cpp +++ b/src/serial/command_handlers/keepalive.cpp @@ -33,8 +33,8 @@ void _handleKeepAliveCommand(std::string_view arg, bool isAutomated) { } } -OpenShock::Serial::CommandGroup OpenShock::Serial::CommandHandlers::KeepAliveHandler() { - auto group = OpenShock::Serial::CommandGroup("keepalive"sv); +OpenShock::SerialCmds::CommandGroup OpenShock::SerialCmds::CommandHandlers::KeepAliveHandler() { + auto group = OpenShock::SerialCmds::CommandGroup("keepalive"sv); auto& getCommand = group.addCommand("Get the shocker keep-alive status"sv, _handleKeepAliveCommand); diff --git a/src/serial/command_handlers/networks.cpp b/src/serial/command_handlers/networks.cpp index 639deae7..38d07e31 100644 --- a/src/serial/command_handlers/networks.cpp +++ b/src/serial/command_handlers/networks.cpp @@ -7,7 +7,7 @@ #include -const char* const TAG = "Serial::CommandHandlers::Networks"; +const char* const TAG = "SerialCmds::CommandHandlers::Networks"; void _handleNetworksCommand(std::string_view arg, bool isAutomated) { @@ -80,9 +80,9 @@ void _handleNetworksCommand(std::string_view arg, bool isAutomated) OpenShock::WiFiManager::RefreshNetworkCredentials(); } -OpenShock::Serial::CommandGroup OpenShock::Serial::CommandHandlers::NetworksHandler() +OpenShock::SerialCmds::CommandGroup OpenShock::SerialCmds::CommandHandlers::NetworksHandler() { - auto group = OpenShock::Serial::CommandGroup("networks"sv); + auto group = OpenShock::SerialCmds::CommandGroup("networks"sv); auto& getCommand = group.addCommand("Get all saved networks."sv, _handleNetworksCommand); diff --git a/src/serial/command_handlers/rawconfig.cpp b/src/serial/command_handlers/rawconfig.cpp index 2deb0408..b61be077 100644 --- a/src/serial/command_handlers/rawconfig.cpp +++ b/src/serial/command_handlers/rawconfig.cpp @@ -44,8 +44,8 @@ void _handleRawConfigCommand(std::string_view arg, bool isAutomated) { esp_restart(); } -OpenShock::Serial::CommandGroup OpenShock::Serial::CommandHandlers::RawConfigHandler() { - auto group = OpenShock::Serial::CommandGroup("rawconfig"sv); +OpenShock::SerialCmds::CommandGroup OpenShock::SerialCmds::CommandHandlers::RawConfigHandler() { + auto group = OpenShock::SerialCmds::CommandGroup("rawconfig"sv); auto& getCommand = group.addCommand("Get the raw binary config"sv, _handleRawConfigCommand); diff --git a/src/serial/command_handlers/restart.cpp b/src/serial/command_handlers/restart.cpp index 9ea94df7..914ad4b9 100644 --- a/src/serial/command_handlers/restart.cpp +++ b/src/serial/command_handlers/restart.cpp @@ -9,8 +9,8 @@ void _handleRestartCommand(std::string_view arg, bool isAutomated) { esp_restart(); } -OpenShock::Serial::CommandGroup OpenShock::Serial::CommandHandlers::RestartHandler() { - auto group = OpenShock::Serial::CommandGroup("restart"sv); +OpenShock::SerialCmds::CommandGroup OpenShock::SerialCmds::CommandHandlers::RestartHandler() { + auto group = OpenShock::SerialCmds::CommandGroup("restart"sv); auto& cmd = group.addCommand("Restart the board"sv, _handleRestartCommand); diff --git a/src/serial/command_handlers/rftransmit.cpp b/src/serial/command_handlers/rftransmit.cpp index 6b4905a1..bb1a32e4 100644 --- a/src/serial/command_handlers/rftransmit.cpp +++ b/src/serial/command_handlers/rftransmit.cpp @@ -33,9 +33,9 @@ void _handleRFTransmitCommand(std::string_view arg, bool isAutomated) SERPR_SUCCESS("Command sent"); } -OpenShock::Serial::CommandGroup OpenShock::Serial::CommandHandlers::RfTransmitHandler() +OpenShock::SerialCmds::CommandGroup OpenShock::SerialCmds::CommandHandlers::RfTransmitHandler() { - auto group = OpenShock::Serial::CommandGroup("rftransmit"sv); + auto group = OpenShock::SerialCmds::CommandGroup("rftransmit"sv); auto& cmd = group.addCommand("Transmit a RF command"sv, _handleRFTransmitCommand); cmd.addArgument( diff --git a/src/serial/command_handlers/rftxpin.cpp b/src/serial/command_handlers/rftxpin.cpp index 0155f3ea..f5a1aa77 100644 --- a/src/serial/command_handlers/rftxpin.cpp +++ b/src/serial/command_handlers/rftxpin.cpp @@ -45,9 +45,9 @@ void _handleRfTxPinCommand(std::string_view arg, bool isAutomated) } } -OpenShock::Serial::CommandGroup OpenShock::Serial::CommandHandlers::RfTxPinHandler() +OpenShock::SerialCmds::CommandGroup OpenShock::SerialCmds::CommandHandlers::RfTxPinHandler() { - auto group = OpenShock::Serial::CommandGroup("rftxpin"sv); + auto group = OpenShock::SerialCmds::CommandGroup("rftxpin"sv); auto& getCommand = group.addCommand("Get the GPIO pin used for the radio transmitter"sv, _handleRfTxPinCommand); diff --git a/src/serial/command_handlers/sysinfo.cpp b/src/serial/command_handlers/sysinfo.cpp index fca7ac8d..5442d29f 100644 --- a/src/serial/command_handlers/sysinfo.cpp +++ b/src/serial/command_handlers/sysinfo.cpp @@ -35,8 +35,8 @@ void _handleDebugInfoCommand(std::string_view arg, bool isAutomated) { } } -OpenShock::Serial::CommandGroup OpenShock::Serial::CommandHandlers::SysInfoHandler() { - auto group = OpenShock::Serial::CommandGroup("sysinfo"sv); +OpenShock::SerialCmds::CommandGroup OpenShock::SerialCmds::CommandHandlers::SysInfoHandler() { + auto group = OpenShock::SerialCmds::CommandGroup("sysinfo"sv); auto& cmd = group.addCommand("Get system information from RTOS, WiFi, etc."sv, _handleDebugInfoCommand); diff --git a/src/serial/command_handlers/validgpios.cpp b/src/serial/command_handlers/validgpios.cpp index 24e16913..cc8d5cb6 100644 --- a/src/serial/command_handlers/validgpios.cpp +++ b/src/serial/command_handlers/validgpios.cpp @@ -29,8 +29,8 @@ void _handleValidGpiosCommand(std::string_view arg, bool isAutomated) { SERPR_RESPONSE("ValidGPIOs|%s", buffer.c_str()); } -OpenShock::Serial::CommandGroup OpenShock::Serial::CommandHandlers::ValidGpiosHandler() { - auto group = OpenShock::Serial::CommandGroup("validgpios"sv); +OpenShock::SerialCmds::CommandGroup OpenShock::SerialCmds::CommandHandlers::ValidGpiosHandler() { + auto group = OpenShock::SerialCmds::CommandGroup("validgpios"sv); auto& cmd = group.addCommand("List all valid GPIO pins"sv, _handleValidGpiosCommand); diff --git a/src/serial/command_handlers/version.cpp b/src/serial/command_handlers/version.cpp index 52bd4dae..d8d7b690 100644 --- a/src/serial/command_handlers/version.cpp +++ b/src/serial/command_handlers/version.cpp @@ -11,8 +11,8 @@ void _handleVersionCommand(std::string_view arg, bool isAutomated) { OpenShock::SerialInputHandler::PrintVersionInfo(); } -OpenShock::Serial::CommandGroup OpenShock::Serial::CommandHandlers::VersionHandler() { - auto group = OpenShock::Serial::CommandGroup("version"sv); +OpenShock::SerialCmds::CommandGroup OpenShock::SerialCmds::CommandHandlers::VersionHandler() { + auto group = OpenShock::SerialCmds::CommandGroup("version"sv); auto cmd = group.addCommand("Print version information"sv, _handleVersionCommand); From 67c4e3134448c31e26c55f57d28855a604f6a98c Mon Sep 17 00:00:00 2001 From: nullstalgia Date: Fri, 23 Jan 2026 19:02:40 -0800 Subject: [PATCH 06/91] Use Arduino 3.0 WiFi AP class --- src/CaptivePortal.cpp | 12 +++++++++--- src/wifi/WiFiManager.cpp | 2 +- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/CaptivePortal.cpp b/src/CaptivePortal.cpp index eebfccfc..6020dfd6 100644 --- a/src/CaptivePortal.cpp +++ b/src/CaptivePortal.cpp @@ -37,24 +37,30 @@ static bool captiveportal_start() OS_LOGI(TAG, "Starting captive portal"); - if (!WiFi.enableAP(true)) { + if (!WiFi.AP.begin()) { OS_LOGE(TAG, "Failed to enable AP mode"); return false; } - if (!WiFi.softAP((OPENSHOCK_FW_AP_PREFIX + WiFi.macAddress()).c_str())) { + if (!WiFi.AP.create((OPENSHOCK_FW_AP_PREFIX + WiFi.macAddress()).c_str())) { OS_LOGE(TAG, "Failed to start AP"); WiFi.enableAP(false); return false; } IPAddress apIP(10, 10, 10, 10); - if (!WiFi.softAPConfig(apIP, apIP, IPAddress(255, 255, 255, 0))) { + if (!WiFi.AP.config(apIP, apIP, IPAddress(255, 255, 255, 0))) { OS_LOGE(TAG, "Failed to configure AP"); WiFi.softAPdisconnect(true); return false; } + if (!WiFi.AP.enableDhcpCaptivePortal()) { + OS_LOGE(TAG, "Failed to enable captive portal mode"); + WiFi.softAPdisconnect(true); + return false; + } + esp_err_t err = mdns_init(); if (err != ESP_OK) { OS_LOGE(TAG, "Failed to initialize mDNS"); diff --git a/src/wifi/WiFiManager.cpp b/src/wifi/WiFiManager.cpp index 9dbf4655..9dd65f94 100644 --- a/src/wifi/WiFiManager.cpp +++ b/src/wifi/WiFiManager.cpp @@ -396,7 +396,7 @@ bool WiFiManager::Init() hostname = OPENSHOCK_FW_HOSTNAME; } - WiFi.setAutoConnect(false); + // WiFi.setAutoConnect(false); WiFi.setAutoReconnect(false); WiFi.enableSTA(true); WiFi.setHostname(hostname.c_str()); From 55000a5afeae48de52a1b56985847dbdf7d2feb3 Mon Sep 17 00:00:00 2001 From: nullstalgia Date: Fri, 23 Jan 2026 19:04:01 -0800 Subject: [PATCH 07/91] Captive portal: fix use-after-free and DNS Server not being invoked --- src/CaptivePortalInstance.cpp | 18 +++++++++++++----- src/wifi/WiFiManager.cpp | 2 +- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/src/CaptivePortalInstance.cpp b/src/CaptivePortalInstance.cpp index 6a5d536c..21738909 100644 --- a/src/CaptivePortalInstance.cpp +++ b/src/CaptivePortalInstance.cpp @@ -69,10 +69,15 @@ CaptivePortalInstance::CaptivePortalInstance() { m_socketServer.onEvent(std::bind(&WebSocketDeFragger::handler, &m_socketDeFragger, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3, std::placeholders::_4)); m_socketServer.begin(); + m_socketServer.enableHeartbeat(WEBSOCKET_PING_INTERVAL, WEBSOCKET_PING_TIMEOUT, WEBSOCKET_PING_RETRIES); OS_LOGI(TAG, "Setting up DNS server"); - m_dnsServer.start(DNS_PORT, "*", WiFi.softAPIP()); + bool dnsStarted = m_dnsServer.start(DNS_PORT, "*", WiFi.softAPIP()); + + if (!dnsStarted) { + OS_LOGE(TAG, "Failed to start DNS server!"); + } bool fsOk = true; @@ -97,14 +102,17 @@ CaptivePortalInstance::CaptivePortalInstance() OS_LOGI(TAG, "Serving files from LittleFS"); OS_LOGI(TAG, "Filesystem hash: %s", fsHash); - char softAPURL[64]; - snprintf(softAPURL, sizeof(softAPURL), "http://%s", WiFi.softAPIP().toString().c_str()); // TODO: this is wasteful, optimize this // Serving the captive portal files from LittleFS m_webServer.serveStatic("/", m_fileSystem, "/www/", "max-age=3600").setDefaultFile("index.html").setSharedEtag(fsHash); // Redirecting connection tests to the captive portal, triggering the "login to network" prompt - m_webServer.onNotFound([&softAPURL](AsyncWebServerRequest* request) { request->redirect(softAPURL); }); + m_webServer.onNotFound([](AsyncWebServerRequest* request) { + String redirect_target = String("http://") + WiFi.softAPIP().toString(); + request->redirect(redirect_target); + OS_LOGE(TAG, "%s", redirect_target.c_str()); + }); + } else { OS_LOGE(TAG, "/www/index.html or hash files not found, serving error page"); @@ -149,7 +157,7 @@ void CaptivePortalInstance::task() { while (true) { m_socketServer.loop(); - // instance->m_dnsServer.processNextRequest(); + m_dnsServer.processNextRequest(); vTaskDelay(pdMS_TO_TICKS(WEBSOCKET_UPDATE_INTERVAL)); } } diff --git a/src/wifi/WiFiManager.cpp b/src/wifi/WiFiManager.cpp index 9dd65f94..343e815f 100644 --- a/src/wifi/WiFiManager.cpp +++ b/src/wifi/WiFiManager.cpp @@ -364,7 +364,7 @@ void _wifimanagerUpdateTask(void*) if (s_wifiState == WiFiState::Disconnected && !WiFiScanManager::IsScanning()) { if (!_tryConnect()) { int64_t now = OpenShock::millis(); - if (lastScanRequest == 0 || now - lastScanRequest > 30'000) { + if (lastScanRequest == 0 || now - lastScanRequest > 120'000) { // Auto-scan at boot and then every 2 mins lastScanRequest = now; OS_LOGV(TAG, "No networks to connect to, starting scan..."); From 50c8320d7b041d27105c586172d66fcf42861296 Mon Sep 17 00:00:00 2001 From: nullstalgia Date: Fri, 23 Jan 2026 19:04:38 -0800 Subject: [PATCH 08/91] Captive portal: Pause scan on user websocket connect to reduce d/c risk --- frontend/src/lib/MessageHandlers/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/lib/MessageHandlers/index.ts b/frontend/src/lib/MessageHandlers/index.ts index 55499d6a..99128fbb 100644 --- a/frontend/src/lib/MessageHandlers/index.ts +++ b/frontend/src/lib/MessageHandlers/index.ts @@ -55,7 +55,7 @@ PayloadHandlers[HubToLocalMessagePayload.ReadyMessage] = (cli, msg) => { return store; }); - const data = SerializeWifiScanCommand(true); + const data = SerializeWifiScanCommand(false); cli.Send(data); toast.success('Websocket connection established'); From 71c3128ca63b85cf7be45901505bd1ca64cd9aba Mon Sep 17 00:00:00 2001 From: nullstalgia Date: Fri, 23 Jan 2026 19:05:20 -0800 Subject: [PATCH 09/91] Fix template deduction errs --- include/http/HTTPRequestManager.h | 4 ++++ src/http/HTTPRequestManager.cpp | 5 +++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/include/http/HTTPRequestManager.h b/include/http/HTTPRequestManager.h index 19ef5564..122a4822 100644 --- a/include/http/HTTPRequestManager.h +++ b/include/http/HTTPRequestManager.h @@ -6,6 +6,7 @@ #include #include +#include #include #include "span.h" @@ -29,6 +30,9 @@ namespace OpenShock::HTTP { int code; T data; + Response(RequestResult r, int c, T d) + : result(r), code(c), data(std::move(d)) {} + inline const char* ResultToString() const { switch (result) { diff --git a/src/http/HTTPRequestManager.cpp b/src/http/HTTPRequestManager.cpp index d8daba13..b086420e 100644 --- a/src/http/HTTPRequestManager.cpp +++ b/src/http/HTTPRequestManager.cpp @@ -16,6 +16,7 @@ const char* const TAG = "HTTPRequestManager"; #include #include #include +#include #include #include @@ -480,8 +481,8 @@ HTTP::Response HTTP::GetString(std::string_view url, const std::map auto response = Download(url, headers, allocator, writer, acceptedCodes, timeoutMs); if (response.result != RequestResult::Success) { - return {response.result, response.code, {}}; + return Response{response.result, response.code, {}}; } - return {response.result, response.code, result}; + return Response{response.result, response.code, result}; } From 5b2bdf639372ef9d3658e4a6b5fb23866f36e170 Mon Sep 17 00:00:00 2001 From: nullstalgia Date: Fri, 23 Jan 2026 19:05:55 -0800 Subject: [PATCH 10/91] Temporarily comment out IPv6 logic (as type now has combined v4 and v6) --- include/wifi/WiFiManager.h | 8 ++++---- src/serial/command_handlers/sysinfo.cpp | 4 ++-- src/wifi/WiFiManager.cpp | 23 +++++------------------ 3 files changed, 11 insertions(+), 24 deletions(-) diff --git a/include/wifi/WiFiManager.h b/include/wifi/WiFiManager.h index e3f94ef1..34fe70ee 100644 --- a/include/wifi/WiFiManager.h +++ b/include/wifi/WiFiManager.h @@ -59,10 +59,10 @@ namespace OpenShock::WiFiManager { /// @return True if the hub is connected to a network bool GetIPAddress(char* ipAddress); - /// @brief Gets the hubs IP address if it's connected to a network (IPv6) - /// @param ipAddress Variable to store the IP address in - /// @return True if the hub is connected to a network - bool GetIPv6Address(char* ipAddress); + // /// @brief Gets the hubs IP address if it's connected to a network (IPv6) + // /// @param ipAddress Variable to store the IP address in + // /// @return True if the hub is connected to a network + // bool GetIPv6Address(char* ipAddress); /// @brief Gets a copy of the vector of discovered WiFi networks /// @return Vector of discovered WiFiNetworks diff --git a/src/serial/command_handlers/sysinfo.cpp b/src/serial/command_handlers/sysinfo.cpp index 5442d29f..bdd03e8e 100644 --- a/src/serial/command_handlers/sysinfo.cpp +++ b/src/serial/command_handlers/sysinfo.cpp @@ -30,8 +30,8 @@ void _handleDebugInfoCommand(std::string_view arg, bool isAutomated) { char ipAddressBuffer[64]; OpenShock::WiFiManager::GetIPAddress(ipAddressBuffer); SERPR_RESPONSE("WiFiInfo|IPv4|%s", ipAddressBuffer); - OpenShock::WiFiManager::GetIPv6Address(ipAddressBuffer); - SERPR_RESPONSE("WiFiInfo|IPv6|%s", ipAddressBuffer); + // OpenShock::WiFiManager::GetIPv6Address(ipAddressBuffer); + // SERPR_RESPONSE("WiFiInfo|IPv6|%s", ipAddressBuffer); } } diff --git a/src/wifi/WiFiManager.cpp b/src/wifi/WiFiManager.cpp index 343e815f..334efdb7 100644 --- a/src/wifi/WiFiManager.cpp +++ b/src/wifi/WiFiManager.cpp @@ -411,10 +411,10 @@ bool WiFiManager::Init() } } - if (set_esp_interface_dns(ESP_IF_WIFI_STA, IPAddress(1, 1, 1, 1), IPAddress(8, 8, 8, 8), IPAddress(9, 9, 9, 9)) != ESP_OK) { - OS_LOGE(TAG, "Failed to set DNS servers"); - return false; - } + // if (set_esp_interface_dns(ESP_IF_WIFI_STA, IPAddress(1, 1, 1, 1), IPAddress(8, 8, 8, 8), IPAddress(9, 9, 9, 9)) != ESP_OK) { + // OS_LOGE(TAG, "Failed to set DNS servers"); + // return false; + // } if (TaskUtils::TaskCreateUniversal(_wifimanagerUpdateTask, TAG, 2048, nullptr, 5, nullptr, 1) != pdPASS) { // Profiled: 1.716KB stack usage OS_LOGE(TAG, "Failed to create WiFiManager update task"); @@ -581,20 +581,7 @@ bool WiFiManager::GetIPAddress(char* ipAddress) } IPAddress ip = WiFi.localIP(); - snprintf(ipAddress, IPV4ADDR_FMT_LEN + 1, IPV4ADDR_FMT, IPV4ADDR_ARG(ip)); - - return true; -} - -bool WiFiManager::GetIPv6Address(char* ipAddress) -{ - if (!IsConnected()) { - return false; - } - - IPv6Address ip = WiFi.localIPv6(); - const uint8_t* ipPtr = ip; // Using the implicit conversion operator of IPv6Address - snprintf(ipAddress, IPV6ADDR_FMT_LEN + 1, IPV6ADDR_FMT, IPV6ADDR_ARG(ipPtr)); + snprintf(ipAddress, IPV6ADDR_FMT_LEN + 1, "%s", ip.toString()); return true; } From 4f83d813dd01dc68a0a1a0530a8bf8b729b4f4d6 Mon Sep 17 00:00:00 2001 From: nullstalgia Date: Fri, 23 Jan 2026 19:12:35 -0800 Subject: [PATCH 11/91] Temporarily comment out error pragma --- include/Checksum.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/Checksum.h b/include/Checksum.h index 0a2abe15..07213d26 100644 --- a/include/Checksum.h +++ b/include/Checksum.h @@ -4,7 +4,7 @@ #include #if __cplusplus >= 202'002L -#error Take into use C++20 std::integral instead of this macro logic +// #error Take into use C++20 std::integral instead of this macro logic #endif #define SUM8_INT_FN(Type) \ From d87d3000c9a419ea5c1b4c058157a2ff3c5acf94 Mon Sep 17 00:00:00 2001 From: nullstalgia Date: Fri, 23 Jan 2026 20:55:48 -0800 Subject: [PATCH 12/91] Captive portal: Samsung devices beginning to respond correctly --- src/CaptivePortal.cpp | 2 +- src/CaptivePortalInstance.cpp | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/CaptivePortal.cpp b/src/CaptivePortal.cpp index 6020dfd6..b7249891 100644 --- a/src/CaptivePortal.cpp +++ b/src/CaptivePortal.cpp @@ -48,7 +48,7 @@ static bool captiveportal_start() return false; } - IPAddress apIP(10, 10, 10, 10); + IPAddress apIP(4,3,2,1); if (!WiFi.AP.config(apIP, apIP, IPAddress(255, 255, 255, 0))) { OS_LOGE(TAG, "Failed to configure AP"); WiFi.softAPdisconnect(true); diff --git a/src/CaptivePortalInstance.cpp b/src/CaptivePortalInstance.cpp index 21738909..9166751c 100644 --- a/src/CaptivePortalInstance.cpp +++ b/src/CaptivePortalInstance.cpp @@ -108,7 +108,8 @@ CaptivePortalInstance::CaptivePortalInstance() // Redirecting connection tests to the captive portal, triggering the "login to network" prompt m_webServer.onNotFound([](AsyncWebServerRequest* request) { - String redirect_target = String("http://") + WiFi.softAPIP().toString(); + // String redirect_target = String("http://") + WiFi.softAPIP().toString(); + String redirect_target = String("/"); request->redirect(redirect_target); OS_LOGE(TAG, "%s", redirect_target.c_str()); }); From cb06a40c202b1c7bb5c9155c289c56cb94f92cfe Mon Sep 17 00:00:00 2001 From: nullstalgia Date: Fri, 23 Jan 2026 23:22:07 -0800 Subject: [PATCH 13/91] Captive portal: non-empty redirect --- src/CaptivePortalInstance.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/CaptivePortalInstance.cpp b/src/CaptivePortalInstance.cpp index 9166751c..7951a468 100644 --- a/src/CaptivePortalInstance.cpp +++ b/src/CaptivePortalInstance.cpp @@ -110,8 +110,13 @@ CaptivePortalInstance::CaptivePortalInstance() m_webServer.onNotFound([](AsyncWebServerRequest* request) { // String redirect_target = String("http://") + WiFi.softAPIP().toString(); String redirect_target = String("/"); - request->redirect(redirect_target); - OS_LOGE(TAG, "%s", redirect_target.c_str()); + // request->redirect(redirect_target); + AsyncWebServerResponse *response = request->beginResponse(302, "text/html", "Redirecting..."); + response->addHeader(asyncsrv::T_LOCATION, redirect_target); + request->send(response); + // send(response); + String localme = WiFi.softAPIP().toString(); + OS_LOGE(TAG, "%s", localme.c_str()); }); } else { From 549051053405fd3d2a6d05a06de53e2d420136e9 Mon Sep 17 00:00:00 2001 From: nullstalgia Date: Fri, 23 Jan 2026 23:22:41 -0800 Subject: [PATCH 14/91] Add xtensa-esp-elf-gdb and openocd-esp32 to platform_packages --- platformio.ini | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/platformio.ini b/platformio.ini index 0a881111..200f7032 100644 --- a/platformio.ini +++ b/platformio.ini @@ -13,6 +13,10 @@ platform = https://github.com/pioarduino/platform-espressif32/releases/download/ board = az-delivery-devkit-v4 ; Overridden per board framework = arduino +platform_packages = + platformio/tool-xtensa-esp-elf-gdb + platformio/tool-openocd-esp32 + build_flags = -std=c++2a -std=gnu++2a From b731c7457d7f3548ad75a0da924d01016c1ecf8f Mon Sep 17 00:00:00 2001 From: nullstalgia Date: Sun, 25 Jan 2026 00:15:36 -0800 Subject: [PATCH 15/91] Improve GPIO LED EStop interaction blink patterns --- src/VisualStateManager.cpp | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/VisualStateManager.cpp b/src/VisualStateManager.cpp index 7e720921..f7746ce6 100644 --- a/src/VisualStateManager.cpp +++ b/src/VisualStateManager.cpp @@ -70,10 +70,11 @@ const RGBPatternManager::RGBState kEmergencyStoppedRGBPattern[] = { { 0, 0, 0, 500} }; -const PinPatternManager::State kEmergencyStopAwaitingReleasePattern[] = { - { true, 150}, - {false, 150} +const PinPatternManager::State kEmergencyStopActiveClearingPattern[] = { + { true, 200}, + {false, 200} }; + const RGBPatternManager::RGBState kEmergencyStopActiveClearingRGBPattern[] = { { 0, 0, 0, 50}, { 64, 69, 0, 50}, @@ -85,6 +86,11 @@ const RGBPatternManager::RGBState kEmergencyStopActiveClearingRGBPattern[] = { { 64, 69, 0, 50}, }; +const PinPatternManager::State kEmergencyStopAwaitingReleasePattern[] = { + { true, 100}, + {false, 100} +}; + const RGBPatternManager::RGBState kEmergencyStopAwaitingReleaseRGBPattern[] = { {0, 255, 0, 150}, {0, 0, 0, 150} @@ -200,7 +206,7 @@ void _updateVisualStateGPIO() { CSR_PATTERN(s_builtInLedManager, kCriticalErrorFlag, kCriticalErrorPattern); CSR_PATTERN(s_builtInLedManager, kEmergencyStopAwaitingReleaseFlag, kEmergencyStopAwaitingReleasePattern); - CSR_PATTERN(s_builtInLedManager, kEmergencyStopActiveClearingFlag, kEmergencyStopAwaitingReleasePattern); + CSR_PATTERN(s_builtInLedManager, kEmergencyStopActiveClearingFlag, kEmergencyStopActiveClearingPattern); CSR_PATTERN(s_builtInLedManager, kEmergencyStoppedFlag, kEmergencyStoppedPattern); CSR_PATTERN(s_builtInLedManager, kWebSocketConnectedFlag, kWebSocketConnectedPattern); CSR_PATTERN(s_builtInLedManager, kHasIpAddressFlag, kWiFiConnectedWithoutWSPattern); From 51596b2cb61f310b059d029625872b14a51fdc7b Mon Sep 17 00:00:00 2001 From: hhvrc Date: Mon, 16 Feb 2026 04:31:08 +0100 Subject: [PATCH 16/91] Fix more stuff --- include/Common.h | 14 +- include/GatewayClient.h | 4 +- include/GatewayConnectionManager.h | 4 +- include/TinyVec.h | 10 +- include/WebSocketDeFragger.h | 4 +- include/captiveportal/CaptivePortalInstance.h | 8 +- include/captiveportal/Manager.h | 7 +- include/http/HTTPRequestManager.h | 15 +- include/message_handlers/WebSocket.h | 7 +- .../serial/command_handlers/CommandEntry.h | 2 +- include/serial/command_handlers/index.h | 2 +- include/serialization/CallbackFn.h | 5 +- include/span.h | 540 ------------------ include/util/Base64Utils.h | 4 +- platformio.ini | 2 +- requirements.txt | Bin 112 -> 55 bytes src/GatewayClient.cpp | 6 +- src/GatewayConnectionManager.cpp | 2 +- src/RGBPatternManager.cpp | 4 +- src/WebSocketDeFragger.cpp | 2 +- src/http/HTTPRequestManager.cpp | 10 +- src/message_handlers/websocket/Gateway.cpp | 2 +- src/message_handlers/websocket/Local.cpp | 2 +- src/radio/RFTransmitter.cpp | 2 +- src/util/Base64Utils.cpp | 2 +- 25 files changed, 64 insertions(+), 596 deletions(-) delete mode 100644 include/span.h diff --git a/include/Common.h b/include/Common.h index 6dbab1d6..a15e4d06 100644 --- a/include/Common.h +++ b/include/Common.h @@ -48,19 +48,19 @@ #if __cplusplus >= 202'302L #warning "C++23 compiler detected" #elif __cplusplus >= 202'002L -#warning "C++20 compiler detected" +// C++20 :3 #elif __cplusplus >= 201'703L -// C++17 :3 +#error "C++17 compiler detected, OpenShock requires a C++20 compliant compiler" #elif __cplusplus >= 201'402L -#error "C++14 compiler detected, OpenShock requires a C++17 compliant compiler" +#error "C++14 compiler detected, OpenShock requires a C++20 compliant compiler" #elif __cplusplus >= 201'103L -#error "C++11 compiler detected, OpenShock requires a C++17 compliant compiler" +#error "C++11 compiler detected, OpenShock requires a C++20 compliant compiler" #elif __cplusplus >= 199'711L -#error "C++98 compiler detected, OpenShock requires a C++17 compliant compiler" +#error "C++98 compiler detected, OpenShock requires a C++20 compliant compiler" #elif __cplusplus == 1 -#error "Pre-C++98 compiler detected, OpenShock requires a C++17 compliant compiler" +#error "Pre-C++98 compiler detected, OpenShock requires a C++20 compliant compiler" #else -#error "Unknown C++ standard detected, OpenShock requires a C++17 compliant compiler" +#error "Unknown C++ standard detected, OpenShock requires a C++20 compliant compiler" #endif namespace OpenShock::Constants { diff --git a/include/GatewayClient.h b/include/GatewayClient.h index 9d516723..2a4ead97 100644 --- a/include/GatewayClient.h +++ b/include/GatewayClient.h @@ -2,11 +2,11 @@ #include "Common.h" #include "GatewayClientState.h" -#include "span.h" #include #include +#include #include #include #include @@ -26,7 +26,7 @@ namespace OpenShock { void disconnect(); bool sendMessageTXT(std::string_view data); - bool sendMessageBIN(tcb::span data); + bool sendMessageBIN(std::span data); bool loop(); diff --git a/include/GatewayConnectionManager.h b/include/GatewayConnectionManager.h index fdff763d..ccd4e0d5 100644 --- a/include/GatewayConnectionManager.h +++ b/include/GatewayConnectionManager.h @@ -1,10 +1,10 @@ #pragma once #include "AccountLinkResultCode.h" -#include "span.h" #include #include +#include #include namespace OpenShock::GatewayConnectionManager { @@ -17,7 +17,7 @@ namespace OpenShock::GatewayConnectionManager { void UnLink(); bool SendMessageTXT(std::string_view data); - bool SendMessageBIN(tcb::span data); + bool SendMessageBIN(std::span data); void Update(); } // namespace OpenShock::GatewayConnectionManager diff --git a/include/TinyVec.h b/include/TinyVec.h index 54027e3a..6b4aa855 100644 --- a/include/TinyVec.h +++ b/include/TinyVec.h @@ -8,7 +8,7 @@ #include #include #include -#include +#include #include #include @@ -68,6 +68,14 @@ class TinyVec { T& operator[](SizeType i) noexcept { return _data[i]; } const T& operator[](SizeType i) const noexcept { return _data[i]; } + T* begin() noexcept { return _data; } + const T* begin() const noexcept { return _data; } + T* end() noexcept { return _data + _len; } + const T* end() const noexcept { return _data + _len; } + + operator std::span() noexcept { return {_data, static_cast(_len)}; } + operator std::span() const noexcept { return {_data, static_cast(_len)}; } + void reserve(SizeType new_cap) { if (new_cap <= _cap) return; diff --git a/include/WebSocketDeFragger.h b/include/WebSocketDeFragger.h index 2954a1a7..96aefa4d 100644 --- a/include/WebSocketDeFragger.h +++ b/include/WebSocketDeFragger.h @@ -1,7 +1,6 @@ #pragma once #include "Common.h" -#include "span.h" #include "TinyVec.h" #include "WebSocketMessageType.h" @@ -10,6 +9,7 @@ #include #include #include +#include namespace OpenShock { class WebSocketDeFragger { @@ -17,7 +17,7 @@ namespace OpenShock { DISABLE_MOVE(WebSocketDeFragger); public: - typedef std::function data)> EventCallback; + typedef std::function data)> EventCallback; WebSocketDeFragger(EventCallback callback); ~WebSocketDeFragger(); diff --git a/include/captiveportal/CaptivePortalInstance.h b/include/captiveportal/CaptivePortalInstance.h index cf756601..7e7a8984 100644 --- a/include/captiveportal/CaptivePortalInstance.h +++ b/include/captiveportal/CaptivePortalInstance.h @@ -1,7 +1,6 @@ #pragma once #include "Common.h" -#include "span.h" #include "WebSocketDeFragger.h" #include @@ -12,6 +11,7 @@ #include #include +#include #include namespace OpenShock::CaptivePortal { @@ -24,15 +24,15 @@ namespace OpenShock::CaptivePortal { ~CaptivePortalInstance(); bool sendMessageTXT(uint8_t socketId, std::string_view data) { return m_socketServer.sendTXT(socketId, data.data(), data.length()); } - bool sendMessageBIN(uint8_t socketId, tcb::span data) { return m_socketServer.sendBIN(socketId, data.data(), data.size()); } + bool sendMessageBIN(uint8_t socketId, std::span data) { return m_socketServer.sendBIN(socketId, data.data(), data.size()); } bool broadcastMessageTXT(std::string_view data) { return m_socketServer.broadcastTXT(data.data(), data.length()); } - bool broadcastMessageBIN(tcb::span data) { return m_socketServer.broadcastBIN(data.data(), data.size()); } + bool broadcastMessageBIN(std::span data) { return m_socketServer.broadcastBIN(data.data(), data.size()); } private: void task(); void handleWebSocketClientConnected(uint8_t socketId); void handleWebSocketClientDisconnected(uint8_t socketId); - void handleWebSocketEvent(uint8_t socketId, WebSocketMessageType type, tcb::span payload); + void handleWebSocketEvent(uint8_t socketId, WebSocketMessageType type, std::span payload); AsyncWebServer m_webServer; WebSocketsServer m_socketServer; diff --git a/include/captiveportal/Manager.h b/include/captiveportal/Manager.h index 8f544b65..8eb04607 100644 --- a/include/captiveportal/Manager.h +++ b/include/captiveportal/Manager.h @@ -1,10 +1,9 @@ #pragma once #include +#include #include -#include "span.h" - namespace OpenShock::CaptivePortal { [[nodiscard]] bool Init(); @@ -16,8 +15,8 @@ namespace OpenShock::CaptivePortal { bool IsRunning(); bool SendMessageTXT(uint8_t socketId, std::string_view data); - bool SendMessageBIN(uint8_t socketId, tcb::span data); + bool SendMessageBIN(uint8_t socketId, std::span data); bool BroadcastMessageTXT(std::string_view data); - bool BroadcastMessageBIN(tcb::span data); + bool BroadcastMessageBIN(std::span data); } // namespace OpenShock::CaptivePortal diff --git a/include/http/HTTPRequestManager.h b/include/http/HTTPRequestManager.h index c305a102..9914d3bf 100644 --- a/include/http/HTTPRequestManager.h +++ b/include/http/HTTPRequestManager.h @@ -6,11 +6,10 @@ #include #include +#include #include #include -#include "span.h" - namespace OpenShock::HTTP { enum class RequestResult : uint8_t { InternalError, // Internal error @@ -31,7 +30,11 @@ namespace OpenShock::HTTP { T data; Response(RequestResult r, int c, T d) - : result(r), code(c), data(std::move(d)) {} + : result(r) + , code(c) + , data(std::move(d)) + { + } inline const char* ResultToString() const { @@ -65,11 +68,11 @@ namespace OpenShock::HTTP { using GotContentLengthCallback = std::function; using DownloadCallback = std::function; - Response Download(std::string_view url, const std::map& headers, GotContentLengthCallback contentLengthCallback, DownloadCallback downloadCallback, tcb::span acceptedCodes, uint32_t timeoutMs = 10'000); - Response GetString(std::string_view url, const std::map& headers, tcb::span acceptedCodes, uint32_t timeoutMs = 10'000); + Response Download(std::string_view url, const std::map& headers, GotContentLengthCallback contentLengthCallback, DownloadCallback downloadCallback, std::span acceptedCodes, uint32_t timeoutMs = 10'000); + Response GetString(std::string_view url, const std::map& headers, std::span acceptedCodes, uint32_t timeoutMs = 10'000); template - Response GetJSON(std::string_view url, const std::map& headers, JsonParser jsonParser, tcb::span acceptedCodes, uint32_t timeoutMs = 10'000) + Response GetJSON(std::string_view url, const std::map& headers, JsonParser jsonParser, std::span acceptedCodes, uint32_t timeoutMs = 10'000) { auto response = GetString(url, headers, acceptedCodes, timeoutMs); if (response.result != RequestResult::Success) { diff --git a/include/message_handlers/WebSocket.h b/include/message_handlers/WebSocket.h index 5b00c4c5..51fd9a3f 100644 --- a/include/message_handlers/WebSocket.h +++ b/include/message_handlers/WebSocket.h @@ -1,10 +1,9 @@ #pragma once -#include "span.h" - #include +#include namespace OpenShock::MessageHandlers::WebSocket { - void HandleGatewayBinary(tcb::span data); - void HandleLocalBinary(uint8_t socketId, tcb::span data); + void HandleGatewayBinary(std::span data); + void HandleLocalBinary(uint8_t socketId, std::span data); } diff --git a/include/serial/command_handlers/CommandEntry.h b/include/serial/command_handlers/CommandEntry.h index 7fdc301e..6539ec97 100644 --- a/include/serial/command_handlers/CommandEntry.h +++ b/include/serial/command_handlers/CommandEntry.h @@ -53,4 +53,4 @@ namespace OpenShock::SerialCmds { std::string_view m_name; std::vector m_commands; }; -} // namespace OpenShock::Serial +} // namespace OpenShock::SerialCmds diff --git a/include/serial/command_handlers/index.h b/include/serial/command_handlers/index.h index 094fe41c..b3c39060 100644 --- a/include/serial/command_handlers/index.h +++ b/include/serial/command_handlers/index.h @@ -43,4 +43,4 @@ namespace OpenShock::SerialCmds::CommandHandlers { FactoryResetHandler(), }; } -} // namespace OpenShock::Serial::CommandHandlers +} // namespace OpenShock::SerialCmds::CommandHandlers diff --git a/include/serialization/CallbackFn.h b/include/serialization/CallbackFn.h index 9d677c94..664b0305 100644 --- a/include/serialization/CallbackFn.h +++ b/include/serialization/CallbackFn.h @@ -2,9 +2,8 @@ #include #include - -#include "span.h" +#include namespace OpenShock::Serialization::Common { - typedef std::function data)> SerializationCallbackFn; + typedef std::function data)> SerializationCallbackFn; } diff --git a/include/span.h b/include/span.h deleted file mode 100644 index e7478f10..00000000 --- a/include/span.h +++ /dev/null @@ -1,540 +0,0 @@ -#pragma once - -/* -This is an implementation of C++20's std::span -http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/n4820.pdf -*/ - -// Copyright Tristan Brindle 2018. -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file ../../LICENSE_1_0.txt or copy at -// https://www.boost.org/LICENSE_1_0.txt) - -#include -#include -#include -#include -#include - -#ifndef TCB_SPAN_NO_EXCEPTIONS -// Attempt to discover whether we're being compiled with exception support -#if !(defined(__cpp_exceptions) || defined(__EXCEPTIONS) || defined(_CPPUNWIND)) -#define TCB_SPAN_NO_EXCEPTIONS -#endif -#endif - -#ifndef TCB_SPAN_NO_EXCEPTIONS -#include -#include -#endif - -// Various feature test macros - -#ifndef TCB_SPAN_NAMESPACE_NAME -#define TCB_SPAN_NAMESPACE_NAME tcb -#endif - -#if __cplusplus >= 201'703L || (defined(_MSVC_LANG) && _MSVC_LANG >= 201'703L) -#define TCB_SPAN_HAVE_CPP17 -#endif - -#if __cplusplus >= 201'402L || (defined(_MSVC_LANG) && _MSVC_LANG >= 201'402L) -#define TCB_SPAN_HAVE_CPP14 -#endif - -namespace TCB_SPAN_NAMESPACE_NAME { - -// Establish default contract checking behavior -#if !defined(TCB_SPAN_THROW_ON_CONTRACT_VIOLATION) && !defined(TCB_SPAN_TERMINATE_ON_CONTRACT_VIOLATION) && !defined(TCB_SPAN_NO_CONTRACT_CHECKING) -#if defined(NDEBUG) || !defined(TCB_SPAN_HAVE_CPP14) -#define TCB_SPAN_NO_CONTRACT_CHECKING -#else -#define TCB_SPAN_TERMINATE_ON_CONTRACT_VIOLATION -#endif -#endif - -#if defined(TCB_SPAN_THROW_ON_CONTRACT_VIOLATION) - struct contract_violation_error : std::logic_error { - explicit contract_violation_error(const char* msg) - : std::logic_error(msg) - { - } - }; - - inline void contract_violation(const char* msg) - { - throw contract_violation_error(msg); - } - -#elif defined(TCB_SPAN_TERMINATE_ON_CONTRACT_VIOLATION) - [[noreturn]] inline void contract_violation(const char* /*unused*/) - { - std::terminate(); - } -#endif - -#if !defined(TCB_SPAN_NO_CONTRACT_CHECKING) -#define TCB_SPAN_STRINGIFY(cond) #cond -#define TCB_SPAN_EXPECT(cond) cond ? (void)0 : contract_violation("Expected " TCB_SPAN_STRINGIFY(cond)) -#else -#define TCB_SPAN_EXPECT(cond) -#endif - -#if defined(TCB_SPAN_HAVE_CPP17) || defined(__cpp_inline_variables) -#define TCB_SPAN_INLINE_VAR inline -#else -#define TCB_SPAN_INLINE_VAR -#endif - -#if defined(TCB_SPAN_HAVE_CPP14) || (defined(__cpp_constexpr) && __cpp_constexpr >= 201'304) -#define TCB_SPAN_HAVE_CPP14_CONSTEXPR -#endif - -#if defined(TCB_SPAN_HAVE_CPP14_CONSTEXPR) -#define TCB_SPAN_CONSTEXPR14 constexpr -#else -#define TCB_SPAN_CONSTEXPR14 -#endif - -#if defined(TCB_SPAN_HAVE_CPP14_CONSTEXPR) && (!defined(_MSC_VER) || _MSC_VER > 1900) -#define TCB_SPAN_CONSTEXPR_ASSIGN constexpr -#else -#define TCB_SPAN_CONSTEXPR_ASSIGN -#endif - -#if defined(TCB_SPAN_NO_CONTRACT_CHECKING) -#define TCB_SPAN_CONSTEXPR11 constexpr -#else -#define TCB_SPAN_CONSTEXPR11 TCB_SPAN_CONSTEXPR14 -#endif - -#if defined(TCB_SPAN_HAVE_CPP17) || defined(__cpp_deduction_guides) -#define TCB_SPAN_HAVE_DEDUCTION_GUIDES -#endif - -#if defined(TCB_SPAN_HAVE_CPP17) || defined(__cpp_lib_byte) -#define TCB_SPAN_HAVE_STD_BYTE -#endif - -#if defined(TCB_SPAN_HAVE_CPP17) || defined(__cpp_lib_array_constexpr) -#define TCB_SPAN_HAVE_CONSTEXPR_STD_ARRAY_ETC -#endif - -#if defined(TCB_SPAN_HAVE_CONSTEXPR_STD_ARRAY_ETC) -#define TCB_SPAN_ARRAY_CONSTEXPR constexpr -#else -#define TCB_SPAN_ARRAY_CONSTEXPR -#endif - -#ifdef TCB_SPAN_HAVE_STD_BYTE - using byte = std::byte; -#else - using byte = unsigned char; -#endif - -#if defined(TCB_SPAN_HAVE_CPP17) -#define TCB_SPAN_NODISCARD [[nodiscard]] -#else -#define TCB_SPAN_NODISCARD -#endif - - TCB_SPAN_INLINE_VAR constexpr std::size_t dynamic_extent = SIZE_MAX; - - template - class span; - - namespace detail { - - template - struct span_storage { - constexpr span_storage() noexcept = default; - - constexpr span_storage(E* p_ptr, std::size_t /*unused*/) noexcept - : ptr(p_ptr) - { - } - - E* ptr = nullptr; - static constexpr std::size_t size = S; - }; - - template - struct span_storage { - constexpr span_storage() noexcept = default; - - constexpr span_storage(E* p_ptr, std::size_t p_size) noexcept - : ptr(p_ptr) - , size(p_size) - { - } - - E* ptr = nullptr; - std::size_t size = 0; - }; - -// Reimplementation of C++17 std::size() and std::data() -#if defined(TCB_SPAN_HAVE_CPP17) || defined(__cpp_lib_nonmember_container_access) - using std::data; - using std::size; -#else - template - constexpr auto size(const C& c) -> decltype(c.size()) - { - return c.size(); - } - - template - constexpr std::size_t size(const T (&)[N]) noexcept - { - return N; - } - - template - constexpr auto data(C& c) -> decltype(c.data()) - { - return c.data(); - } - - template - constexpr auto data(const C& c) -> decltype(c.data()) - { - return c.data(); - } - - template - constexpr T* data(T (&array)[N]) noexcept - { - return array; - } - - template - constexpr const E* data(std::initializer_list il) noexcept - { - return il.begin(); - } -#endif // TCB_SPAN_HAVE_CPP17 - -#if defined(TCB_SPAN_HAVE_CPP17) || defined(__cpp_lib_void_t) - using std::void_t; -#else - template - using void_t = void; -#endif - - template - using uncvref_t = typename std::remove_cv::type>::type; - - template - struct is_span : std::false_type { }; - - template - struct is_span> : std::true_type { }; - - template - struct is_std_array : std::false_type { }; - - template - struct is_std_array> : std::true_type { }; - - template - struct has_size_and_data : std::false_type { }; - - template - struct has_size_and_data())), decltype(detail::data(std::declval()))>> : std::true_type { }; - - template> - struct is_container { - static constexpr bool value = !is_span::value && !is_std_array::value && !std::is_array::value && has_size_and_data::value; - }; - - template - using remove_pointer_t = typename std::remove_pointer::type; - - template - struct is_container_element_type_compatible : std::false_type { }; - - template - struct is_container_element_type_compatible< - T, - E, - typename std::enable_if()))>::type, void>::value && std::is_convertible()))> (*)[], E (*)[]>::value>::type> - : std::true_type { }; - - template - struct is_complete : std::false_type { }; - - template - struct is_complete : std::true_type { }; - - } // namespace detail - - template - class span { - static_assert( - std::is_object::value, - "A span's ElementType must be an object type (not a " - "reference type or void)" - ); - static_assert( - detail::is_complete::value, - "A span's ElementType must be a complete type (not a forward " - "declaration)" - ); - static_assert(!std::is_abstract::value, "A span's ElementType cannot be an abstract class type"); - - using storage_type = detail::span_storage; - - public: - // constants and types - using element_type = ElementType; - using value_type = typename std::remove_cv::type; - using size_type = std::size_t; - using difference_type = std::ptrdiff_t; - using pointer = element_type*; - using const_pointer = const element_type*; - using reference = element_type&; - using const_reference = const element_type&; - using iterator = pointer; - using reverse_iterator = std::reverse_iterator; - - static constexpr size_type extent = Extent; - - // [span.cons], span constructors, copy, assignment, and destructor - template::type = 0> - constexpr span() noexcept - { - } - - TCB_SPAN_CONSTEXPR11 span(pointer ptr, size_type count) - : storage_(ptr, count) - { - TCB_SPAN_EXPECT(extent == dynamic_extent || count == extent); - } - - TCB_SPAN_CONSTEXPR11 span(pointer first_elem, pointer last_elem) - : storage_(first_elem, last_elem - first_elem) - { - TCB_SPAN_EXPECT(extent == dynamic_extent || last_elem - first_elem == static_cast(extent)); - } - - template::value, int>::type = 0> - constexpr span(element_type (&arr)[N]) noexcept - : storage_(arr, N) - { - } - - template&, ElementType>::value, int>::type = 0> - TCB_SPAN_ARRAY_CONSTEXPR span(std::array& arr) noexcept - : storage_(arr.data(), N) - { - } - - template&, ElementType>::value, int>::type = 0> - TCB_SPAN_ARRAY_CONSTEXPR span(const std::array& arr) noexcept - : storage_(arr.data(), N) - { - } - - template::value && detail::is_container_element_type_compatible::value, int>::type = 0> - constexpr span(Container& cont) - : storage_(detail::data(cont), detail::size(cont)) - { - } - - template::value && detail::is_container_element_type_compatible::value, int>::type = 0> - constexpr span(const Container& cont) - : storage_(detail::data(cont), detail::size(cont)) - { - } - - constexpr span(const span& other) noexcept = default; - - template< - typename OtherElementType, - std::size_t OtherExtent, - typename std::enable_if<(Extent == dynamic_extent || OtherExtent == dynamic_extent || Extent == OtherExtent) && std::is_convertible::value, int>::type = 0> - constexpr span(const span& other) noexcept - : storage_(other.data(), other.size()) - { - } - - ~span() noexcept = default; - - TCB_SPAN_CONSTEXPR_ASSIGN span& operator=(const span& other) noexcept = default; - - // [span.sub], span subviews - template - TCB_SPAN_CONSTEXPR11 span first() const - { - TCB_SPAN_EXPECT(Count <= size()); - return {data(), Count}; - } - - template - TCB_SPAN_CONSTEXPR11 span last() const - { - TCB_SPAN_EXPECT(Count <= size()); - return {data() + (size() - Count), Count}; - } - - template - using subspan_return_t = span; - - template - TCB_SPAN_CONSTEXPR11 subspan_return_t subspan() const - { - TCB_SPAN_EXPECT(Offset <= size() && (Count == dynamic_extent || Offset + Count <= size())); - return {data() + Offset, Count != dynamic_extent ? Count : size() - Offset}; - } - - TCB_SPAN_CONSTEXPR11 span first(size_type count) const - { - TCB_SPAN_EXPECT(count <= size()); - return {data(), count}; - } - - TCB_SPAN_CONSTEXPR11 span last(size_type count) const - { - TCB_SPAN_EXPECT(count <= size()); - return {data() + (size() - count), count}; - } - - TCB_SPAN_CONSTEXPR11 span subspan(size_type offset, size_type count = dynamic_extent) const - { - TCB_SPAN_EXPECT(offset <= size() && (count == dynamic_extent || offset + count <= size())); - return {data() + offset, count == dynamic_extent ? size() - offset : count}; - } - - // [span.obs], span observers - constexpr size_type size() const noexcept { return storage_.size; } - - constexpr size_type size_bytes() const noexcept { return size() * sizeof(element_type); } - - TCB_SPAN_NODISCARD constexpr bool empty() const noexcept { return size() == 0; } - - // [span.elem], span element access - TCB_SPAN_CONSTEXPR11 reference operator[](size_type idx) const - { - TCB_SPAN_EXPECT(idx < size()); - return *(data() + idx); - } - - TCB_SPAN_CONSTEXPR11 reference front() const - { - TCB_SPAN_EXPECT(!empty()); - return *data(); - } - - TCB_SPAN_CONSTEXPR11 reference back() const - { - TCB_SPAN_EXPECT(!empty()); - return *(data() + (size() - 1)); - } - - constexpr pointer data() const noexcept { return storage_.ptr; } - - // [span.iterators], span iterator support - constexpr iterator begin() const noexcept { return data(); } - - constexpr iterator end() const noexcept { return data() + size(); } - - TCB_SPAN_ARRAY_CONSTEXPR reverse_iterator rbegin() const noexcept { return reverse_iterator(end()); } - - TCB_SPAN_ARRAY_CONSTEXPR reverse_iterator rend() const noexcept { return reverse_iterator(begin()); } - - private: - storage_type storage_ {}; - }; - -#ifdef TCB_SPAN_HAVE_DEDUCTION_GUIDES - - /* Deduction Guides */ - template - span(T (&)[N]) -> span; - - template - span(std::array&) -> span; - - template - span(const std::array&) -> span; - - template - span(Container&) -> span()))>::type>; - - template - span(const Container&) -> span; - -#endif // TCB_HAVE_DEDUCTION_GUIDES - - template - constexpr span make_span(span s) noexcept - { - return s; - } - - template - constexpr span make_span(T (&arr)[N]) noexcept - { - return {arr}; - } - - template - TCB_SPAN_ARRAY_CONSTEXPR span make_span(std::array& arr) noexcept - { - return {arr}; - } - - template - TCB_SPAN_ARRAY_CONSTEXPR span make_span(const std::array& arr) noexcept - { - return {arr}; - } - - template - constexpr span()))>::type> make_span(Container& cont) - { - return {cont}; - } - - template - constexpr span make_span(const Container& cont) - { - return {cont}; - } - - template - span as_bytes(span s) noexcept - { - return {reinterpret_cast(s.data()), s.size_bytes()}; - } - - template::value, int>::type = 0> - span as_writable_bytes(span s) noexcept - { - return {reinterpret_cast(s.data()), s.size_bytes()}; - } - - template - constexpr auto get(span s) -> decltype(s[N]) - { - return s[N]; - } - -} // namespace TCB_SPAN_NAMESPACE_NAME - -namespace std { - - template - class tuple_size> : public integral_constant { }; - - template - class tuple_size>; // not defined - - template - class tuple_element> { - public: - static_assert(Extent != TCB_SPAN_NAMESPACE_NAME::dynamic_extent && I < Extent, ""); - using type = ElementType; - }; - -} // end namespace std diff --git a/include/util/Base64Utils.h b/include/util/Base64Utils.h index cb94cc29..75792941 100644 --- a/include/util/Base64Utils.h +++ b/include/util/Base64Utils.h @@ -2,10 +2,10 @@ #include #include +#include #include #include -#include "span.h" #include "TinyVec.h" namespace OpenShock::Base64Utils { @@ -14,7 +14,7 @@ namespace OpenShock::Base64Utils { /// @param dataLen The size of the data to encode. /// @param output The output string to write to. /// @return The amount of bytes written to the output buffer. - bool Encode(tcb::span data, std::string& output); + bool Encode(std::span data, std::string& output); /// @brief Decodes a base64 string. /// @param data The data to decode. diff --git a/platformio.ini b/platformio.ini index de443f2c..8e5deb01 100644 --- a/platformio.ini +++ b/platformio.ini @@ -9,7 +9,7 @@ ; https://docs.platformio.org/page/projectconf.html [env] -platform = https://github.com/pioarduino/platform-espressif32/releases/download/55.03.36/platform-espressif32.zip +platform = https://github.com/pioarduino/platform-espressif32/releases/download/55.03.37/platform-espressif32.zip board = az-delivery-devkit-v4 ; Overridden per board framework = arduino diff --git a/requirements.txt b/requirements.txt index ee9664c953bf154663f4909b8625a6872b7120ec..b1418ae10a50ce9d611924695c42f4abfe845a9b 100644 GIT binary patch literal 55 zcmXTONi0drFUrl#x3x9XGt@J*iz+W@k-))7Vq;~|?SzJc%Glx< f*vU#IA)4>yl}1Oe=K1-Pbda9)d3S35q}R>^-2M|l diff --git a/src/GatewayClient.cpp b/src/GatewayClient.cpp index a19952ae..bbf3d31b 100644 --- a/src/GatewayClient.cpp +++ b/src/GatewayClient.cpp @@ -81,7 +81,7 @@ bool GatewayClient::sendMessageTXT(std::string_view data) return m_webSocket.sendTXT(data.data(), data.length()); } -bool GatewayClient::sendMessageBIN(tcb::span data) +bool GatewayClient::sendMessageBIN(std::span data) { if (m_state != GatewayClientState::Connected) { return false; @@ -144,7 +144,7 @@ void GatewayClient::_sendBootStatus() return; } - s_bootStatusSent = Serialization::Gateway::SerializeBootStatusMessage(updateId, OtaUpdateManager::GetFirmwareBootType(), [this](tcb::span data) { return m_webSocket.sendBIN(data.data(), data.size()); }); + s_bootStatusSent = Serialization::Gateway::SerializeBootStatusMessage(updateId, OtaUpdateManager::GetFirmwareBootType(), [this](std::span data) { return m_webSocket.sendBIN(data.data(), data.size()); }); if (s_bootStatusSent && updateStep != OpenShock::OtaUpdateStep::None) { if (!Config::SetOtaUpdateStep(OpenShock::OtaUpdateStep::None)) { @@ -181,7 +181,7 @@ void GatewayClient::_handleEvent(WStype_t type, uint8_t* payload, std::size_t le OS_LOGD(TAG, "Received fragment fin from API"); break; case WStype_BIN: - MessageHandlers::WebSocket::HandleGatewayBinary(tcb::span(payload, length)); + MessageHandlers::WebSocket::HandleGatewayBinary(std::span(payload, length)); break; case WStype_FRAGMENT_BIN_START: OS_LOGE(TAG, "Received binary fragment start from API, this is not supported!"); diff --git a/src/GatewayConnectionManager.cpp b/src/GatewayConnectionManager.cpp index fb00f5c7..22ce6705 100644 --- a/src/GatewayConnectionManager.cpp +++ b/src/GatewayConnectionManager.cpp @@ -157,7 +157,7 @@ bool GatewayConnectionManager::SendMessageTXT(std::string_view data) return s_wsClient->sendMessageTXT(data); } -bool GatewayConnectionManager::SendMessageBIN(tcb::span data) +bool GatewayConnectionManager::SendMessageBIN(std::span data) { if (s_wsClient == nullptr) { return false; diff --git a/src/RGBPatternManager.cpp b/src/RGBPatternManager.cpp index e843b0d6..985de046 100644 --- a/src/RGBPatternManager.cpp +++ b/src/RGBPatternManager.cpp @@ -16,7 +16,7 @@ using namespace OpenShock; // TODO: Support multiple LEDs ? // TODO: Support other LED types ? -const int32_t kRmtTimeoutMs = 100; +const int32_t kRmtTimeoutMs = 100; RGBPatternManager::RGBPatternManager(gpio_num_t gpioPin) : m_gpioPin(GPIO_NUM_NC) @@ -35,7 +35,7 @@ RGBPatternManager::RGBPatternManager(gpio_num_t gpioPin) return; } - bool success = rmtInit(gpioPin, RMT_TX_MODE, RMT_MEM_NUM_BLOCKS_1, 10'000'000); // RMT_MEM_64, 10MHz + bool success = rmtInit(gpioPin, RMT_TX_MODE, RMT_MEM_NUM_BLOCKS_1, 10'000'000); // RMT_MEM_64, 10MHz if (!success) { OS_LOGE(TAG, "Failed to initialize RMT for pin %hhi", gpioPin); return; diff --git a/src/WebSocketDeFragger.cpp b/src/WebSocketDeFragger.cpp index 14007752..9b3c3243 100644 --- a/src/WebSocketDeFragger.cpp +++ b/src/WebSocketDeFragger.cpp @@ -64,7 +64,7 @@ void WebSocketDeFragger::handler(uint8_t socketId, WStype_t type, const uint8_t* return; } - m_callback(socketId, messageType, tcb::span(payload, length)); + m_callback(socketId, messageType, std::span(payload, length)); } void WebSocketDeFragger::onEvent(const EventCallback& callback) diff --git a/src/http/HTTPRequestManager.cpp b/src/http/HTTPRequestManager.cpp index 9e5c5a49..5e569f2e 100644 --- a/src/http/HTTPRequestManager.cpp +++ b/src/http/HTTPRequestManager.cpp @@ -359,7 +359,7 @@ HTTP::Response _doGetStream( HTTPClient& client, std::string_view url, const std::map& headers, - tcb::span acceptedCodes, + std::span acceptedCodes, std::shared_ptr rateLimiter, HTTP::GotContentLengthCallback contentLengthCallback, HTTP::DownloadCallback downloadCallback, @@ -449,7 +449,7 @@ HTTP::Response _doGetStream( } HTTP::Response - HTTP::Download(std::string_view url, const std::map& headers, HTTP::GotContentLengthCallback contentLengthCallback, HTTP::DownloadCallback downloadCallback, tcb::span acceptedCodes, uint32_t timeoutMs) + HTTP::Download(std::string_view url, const std::map& headers, HTTP::GotContentLengthCallback contentLengthCallback, HTTP::DownloadCallback downloadCallback, std::span acceptedCodes, uint32_t timeoutMs) { std::shared_ptr rateLimiter = _getRateLimiter(url); if (rateLimiter == nullptr) { @@ -466,7 +466,7 @@ HTTP::Response return _doGetStream(client, url, headers, acceptedCodes, rateLimiter, contentLengthCallback, downloadCallback, timeoutMs); } -HTTP::Response HTTP::GetString(std::string_view url, const std::map& headers, tcb::span acceptedCodes, uint32_t timeoutMs) +HTTP::Response HTTP::GetString(std::string_view url, const std::map& headers, std::span acceptedCodes, uint32_t timeoutMs) { std::string result; @@ -481,8 +481,8 @@ HTTP::Response HTTP::GetString(std::string_view url, const std::map auto response = Download(url, headers, allocator, writer, acceptedCodes, timeoutMs); if (response.result != RequestResult::Success) { - return Response{response.result, response.code, {}}; + return Response {response.result, response.code, {}}; } - return Response{response.result, response.code, result}; + return Response {response.result, response.code, result}; } diff --git a/src/message_handlers/websocket/Gateway.cpp b/src/message_handlers/websocket/Gateway.cpp index f9c2bf56..7622752a 100644 --- a/src/message_handlers/websocket/Gateway.cpp +++ b/src/message_handlers/websocket/Gateway.cpp @@ -37,7 +37,7 @@ static std::array s_serverHandlers = []() #undef SET_HANDLER -void MessageHandlers::WebSocket::HandleGatewayBinary(tcb::span data) +void MessageHandlers::WebSocket::HandleGatewayBinary(std::span data) { // Deserialize auto msg = flatbuffers::GetRoot(data.data()); diff --git a/src/message_handlers/websocket/Local.cpp b/src/message_handlers/websocket/Local.cpp index c9174cf2..e8e5aafa 100644 --- a/src/message_handlers/websocket/Local.cpp +++ b/src/message_handlers/websocket/Local.cpp @@ -49,7 +49,7 @@ static std::array s_localHandlers = []() { return handlers; }(); -void MessageHandlers::WebSocket::HandleLocalBinary(uint8_t socketId, tcb::span data) +void MessageHandlers::WebSocket::HandleLocalBinary(uint8_t socketId, std::span data) { // Deserialize auto msg = flatbuffers::GetRoot(data.data()); diff --git a/src/radio/RFTransmitter.cpp b/src/radio/RFTransmitter.cpp index 9c5dad51..5d5945d1 100644 --- a/src/radio/RFTransmitter.cpp +++ b/src/radio/RFTransmitter.cpp @@ -43,7 +43,7 @@ RFTransmitter::RFTransmitter(gpio_num_t gpioPin) { OS_LOGD(TAG, "[pin-%hhi] Creating RFTransmitter", m_txPin); - bool success = rmtInit(gpioPin, RMT_TX_MODE, RMT_MEM_NUM_BLOCKS_1, 1'000'000); // RMT_MEM_64, 1MHz + bool success = rmtInit(gpioPin, RMT_TX_MODE, RMT_MEM_NUM_BLOCKS_1, 1'000'000); // RMT_MEM_64, 1MHz if (!success) { OS_LOGE(TAG, "[pin-%hhi] Failed to create rmt object", m_txPin); destroy(); diff --git a/src/util/Base64Utils.cpp b/src/util/Base64Utils.cpp index 027350f5..0c81d34a 100644 --- a/src/util/Base64Utils.cpp +++ b/src/util/Base64Utils.cpp @@ -18,7 +18,7 @@ constexpr std::size_t CalculateDecodedSize(std::size_t size) noexcept return ((size / 4) * 3) + 3; // +3 guards against missing padding variants } -bool Base64Utils::Encode(tcb::span data, std::string& output) +bool Base64Utils::Encode(std::span data, std::string& output) { std::size_t requiredLen = CalculateEncodedSize(data.size()); From 72b491a5ec2f91da8b6ee006392da76f2c33c9e8 Mon Sep 17 00:00:00 2001 From: hhvrc Date: Mon, 16 Feb 2026 06:11:51 +0100 Subject: [PATCH 17/91] More fixes --- include/Checksum.h | 48 ++++++++++++---------- include/wifi/WiFiManager.h | 5 --- src/serial/command_handlers/authtoken.cpp | 4 +- src/serial/command_handlers/domain.cpp | 4 +- src/serial/command_handlers/echo.cpp | 4 +- src/serial/command_handlers/hostname.cpp | 4 +- src/serial/command_handlers/jsonconfig.cpp | 4 +- src/serial/command_handlers/keepalive.cpp | 4 +- src/serial/command_handlers/rawconfig.cpp | 4 +- src/serial/command_handlers/restart.cpp | 4 +- src/serial/command_handlers/sysinfo.cpp | 6 +-- src/serial/command_handlers/validgpios.cpp | 4 +- src/serial/command_handlers/version.cpp | 4 +- 13 files changed, 49 insertions(+), 50 deletions(-) diff --git a/include/Checksum.h b/include/Checksum.h index 95d1ce98..3a33f7eb 100644 --- a/include/Checksum.h +++ b/include/Checksum.h @@ -1,23 +1,16 @@ #pragma once +#include +#include +#include #include #include -#if __cplusplus >= 202'002L -// #error Take into use C++20 std::integral instead of this macro logic -#endif - -#define SUM8_INT_FN(Type) \ - constexpr uint8_t Sum8(Type data) \ - { \ - uint8_t result = 0; \ - for (int i = 0; i < sizeof(Type); ++i) { \ - result += static_cast((data >> (i * 8)) & 0xFF); \ - } \ - return result; \ - } - namespace OpenShock::Checksum { + + // ------------------------------------------------------------ + // Raw byte span checksum + // ------------------------------------------------------------ constexpr uint8_t Sum8(const uint8_t* data, std::size_t size) { uint8_t checksum = 0; @@ -26,19 +19,32 @@ namespace OpenShock::Checksum { } return checksum; } + + // ------------------------------------------------------------ + // Generic integral overload (C++20 concepts) + // ------------------------------------------------------------ + template + constexpr uint8_t Sum8(T value) + { + uint8_t result = 0; + + for (std::size_t i = 0; i < sizeof(T); ++i) { + result += static_cast((value >> (i * 8)) & 0xFF); + } + + return result; + } + + // ------------------------------------------------------------ + // Generic trivially copyable object overload + // ------------------------------------------------------------ template + requires(!std::integral && std::is_trivially_copyable_v) constexpr uint8_t Sum8(const T& data) { return Sum8(reinterpret_cast(std::addressof(data)), sizeof(T)); } - SUM8_INT_FN(int16_t) - SUM8_INT_FN(uint16_t) - SUM8_INT_FN(int32_t) - SUM8_INT_FN(uint32_t) - SUM8_INT_FN(int64_t) - SUM8_INT_FN(uint64_t) - /** * Make sure the uint8 only has its high bits (0x0F) set before using this function */ diff --git a/include/wifi/WiFiManager.h b/include/wifi/WiFiManager.h index 34fe70ee..6f165c7e 100644 --- a/include/wifi/WiFiManager.h +++ b/include/wifi/WiFiManager.h @@ -59,11 +59,6 @@ namespace OpenShock::WiFiManager { /// @return True if the hub is connected to a network bool GetIPAddress(char* ipAddress); - // /// @brief Gets the hubs IP address if it's connected to a network (IPv6) - // /// @param ipAddress Variable to store the IP address in - // /// @return True if the hub is connected to a network - // bool GetIPv6Address(char* ipAddress); - /// @brief Gets a copy of the vector of discovered WiFi networks /// @return Vector of discovered WiFiNetworks std::vector GetDiscoveredWiFiNetworks(); diff --git a/src/serial/command_handlers/authtoken.cpp b/src/serial/command_handlers/authtoken.cpp index c0c5aea6..ddc360e7 100644 --- a/src/serial/command_handlers/authtoken.cpp +++ b/src/serial/command_handlers/authtoken.cpp @@ -36,9 +36,9 @@ void _handleAuthtokenCommand(std::string_view arg, bool isAutomated) } } -OpenShock::Serial::CommandGroup OpenShock::Serial::CommandHandlers::AuthTokenHandler() +OpenShock::SerialCmds::CommandGroup OpenShock::SerialCmds::CommandHandlers::AuthTokenHandler() { - auto group = OpenShock::Serial::CommandGroup("authtoken"sv); + auto group = OpenShock::SerialCmds::CommandGroup("authtoken"sv); auto& getCommand = group.addCommand("Get the backend auth token"sv, _handleAuthtokenCommand); diff --git a/src/serial/command_handlers/domain.cpp b/src/serial/command_handlers/domain.cpp index 89d49201..04bc99a1 100644 --- a/src/serial/command_handlers/domain.cpp +++ b/src/serial/command_handlers/domain.cpp @@ -63,9 +63,9 @@ void _handleDomainCommand(std::string_view arg, bool isAutomated) esp_restart(); } -OpenShock::Serial::CommandGroup OpenShock::Serial::CommandHandlers::DomainHandler() +OpenShock::SerialCmds::CommandGroup OpenShock::SerialCmds::CommandHandlers::DomainHandler() { - auto group = OpenShock::Serial::CommandGroup("domain"sv); + auto group = OpenShock::SerialCmds::CommandGroup("domain"sv); auto& getCommand = group.addCommand("Get the backend domain."sv, _handleDomainCommand); diff --git a/src/serial/command_handlers/echo.cpp b/src/serial/command_handlers/echo.cpp index 271620ca..81a9399f 100644 --- a/src/serial/command_handlers/echo.cpp +++ b/src/serial/command_handlers/echo.cpp @@ -30,9 +30,9 @@ void _handleSerialEchoCommand(std::string_view arg, bool isAutomated) } } -OpenShock::Serial::CommandGroup OpenShock::Serial::CommandHandlers::EchoHandler() +OpenShock::SerialCmds::CommandGroup OpenShock::SerialCmds::CommandHandlers::EchoHandler() { - auto group = OpenShock::Serial::CommandGroup("echo"sv); + auto group = OpenShock::SerialCmds::CommandGroup("echo"sv); auto& getCommand = group.addCommand("Get the serial echo status"sv, _handleSerialEchoCommand); diff --git a/src/serial/command_handlers/hostname.cpp b/src/serial/command_handlers/hostname.cpp index c78233b0..d393d65a 100644 --- a/src/serial/command_handlers/hostname.cpp +++ b/src/serial/command_handlers/hostname.cpp @@ -30,9 +30,9 @@ void _handleHostnameCommand(std::string_view arg, bool isAutomated) } } -OpenShock::Serial::CommandGroup OpenShock::Serial::CommandHandlers::HostnameHandler() +OpenShock::SerialCmds::CommandGroup OpenShock::SerialCmds::CommandHandlers::HostnameHandler() { - auto group = OpenShock::Serial::CommandGroup("hostname"sv); + auto group = OpenShock::SerialCmds::CommandGroup("hostname"sv); auto& getCommand = group.addCommand("Get the network hostname."sv, _handleHostnameCommand); diff --git a/src/serial/command_handlers/jsonconfig.cpp b/src/serial/command_handlers/jsonconfig.cpp index 91f21e91..d6448651 100644 --- a/src/serial/command_handlers/jsonconfig.cpp +++ b/src/serial/command_handlers/jsonconfig.cpp @@ -24,9 +24,9 @@ void _handleJsonConfigCommand(std::string_view arg, bool isAutomated) esp_restart(); } -OpenShock::Serial::CommandGroup OpenShock::Serial::CommandHandlers::JsonConfigHandler() +OpenShock::SerialCmds::CommandGroup OpenShock::SerialCmds::CommandHandlers::JsonConfigHandler() { - auto group = OpenShock::Serial::CommandGroup("jsonconfig"sv); + auto group = OpenShock::SerialCmds::CommandGroup("jsonconfig"sv); auto& getCommand = group.addCommand("Get the configuration as JSON"sv, _handleJsonConfigCommand); diff --git a/src/serial/command_handlers/keepalive.cpp b/src/serial/command_handlers/keepalive.cpp index cc0b8bdd..8666edb7 100644 --- a/src/serial/command_handlers/keepalive.cpp +++ b/src/serial/command_handlers/keepalive.cpp @@ -34,9 +34,9 @@ void _handleKeepAliveCommand(std::string_view arg, bool isAutomated) } } -OpenShock::Serial::CommandGroup OpenShock::Serial::CommandHandlers::KeepAliveHandler() +OpenShock::SerialCmds::CommandGroup OpenShock::SerialCmds::CommandHandlers::KeepAliveHandler() { - auto group = OpenShock::Serial::CommandGroup("keepalive"sv); + auto group = OpenShock::SerialCmds::CommandGroup("keepalive"sv); auto& getCommand = group.addCommand("Get the shocker keep-alive status"sv, _handleKeepAliveCommand); diff --git a/src/serial/command_handlers/rawconfig.cpp b/src/serial/command_handlers/rawconfig.cpp index 3b2f1e04..33e84798 100644 --- a/src/serial/command_handlers/rawconfig.cpp +++ b/src/serial/command_handlers/rawconfig.cpp @@ -45,9 +45,9 @@ void _handleRawConfigCommand(std::string_view arg, bool isAutomated) esp_restart(); } -OpenShock::Serial::CommandGroup OpenShock::Serial::CommandHandlers::RawConfigHandler() +OpenShock::SerialCmds::CommandGroup OpenShock::SerialCmds::CommandHandlers::RawConfigHandler() { - auto group = OpenShock::Serial::CommandGroup("rawconfig"sv); + auto group = OpenShock::SerialCmds::CommandGroup("rawconfig"sv); auto& getCommand = group.addCommand("Get the raw binary config"sv, _handleRawConfigCommand); diff --git a/src/serial/command_handlers/restart.cpp b/src/serial/command_handlers/restart.cpp index 6da94f60..6e6142bd 100644 --- a/src/serial/command_handlers/restart.cpp +++ b/src/serial/command_handlers/restart.cpp @@ -11,9 +11,9 @@ void _handleRestartCommand(std::string_view arg, bool isAutomated) esp_restart(); } -OpenShock::Serial::CommandGroup OpenShock::Serial::CommandHandlers::RestartHandler() +OpenShock::SerialCmds::CommandGroup OpenShock::SerialCmds::CommandHandlers::RestartHandler() { - auto group = OpenShock::Serial::CommandGroup("restart"sv); + auto group = OpenShock::SerialCmds::CommandGroup("restart"sv); auto& cmd = group.addCommand("Restart the board"sv, _handleRestartCommand); diff --git a/src/serial/command_handlers/sysinfo.cpp b/src/serial/command_handlers/sysinfo.cpp index ca68074a..5100974b 100644 --- a/src/serial/command_handlers/sysinfo.cpp +++ b/src/serial/command_handlers/sysinfo.cpp @@ -31,14 +31,12 @@ void _handleDebugInfoCommand(std::string_view arg, bool isAutomated) char ipAddressBuffer[64]; OpenShock::WiFiManager::GetIPAddress(ipAddressBuffer); SERPR_RESPONSE("WiFiInfo|IPv4|%s", ipAddressBuffer); - OpenShock::WiFiManager::GetIPv6Address(ipAddressBuffer); - SERPR_RESPONSE("WiFiInfo|IPv6|%s", ipAddressBuffer); } } -OpenShock::Serial::CommandGroup OpenShock::Serial::CommandHandlers::SysInfoHandler() +OpenShock::SerialCmds::CommandGroup OpenShock::SerialCmds::CommandHandlers::SysInfoHandler() { - auto group = OpenShock::Serial::CommandGroup("sysinfo"sv); + auto group = OpenShock::SerialCmds::CommandGroup("sysinfo"sv); auto& cmd = group.addCommand("Get system information from RTOS, WiFi, etc."sv, _handleDebugInfoCommand); diff --git a/src/serial/command_handlers/validgpios.cpp b/src/serial/command_handlers/validgpios.cpp index be3e20b2..f37bc3f9 100644 --- a/src/serial/command_handlers/validgpios.cpp +++ b/src/serial/command_handlers/validgpios.cpp @@ -30,9 +30,9 @@ void _handleValidGpiosCommand(std::string_view arg, bool isAutomated) SERPR_RESPONSE("ValidGPIOs|%s", buffer.c_str()); } -OpenShock::Serial::CommandGroup OpenShock::Serial::CommandHandlers::ValidGpiosHandler() +OpenShock::SerialCmds::CommandGroup OpenShock::SerialCmds::CommandHandlers::ValidGpiosHandler() { - auto group = OpenShock::Serial::CommandGroup("validgpios"sv); + auto group = OpenShock::SerialCmds::CommandGroup("validgpios"sv); auto& cmd = group.addCommand("List all valid GPIO pins"sv, _handleValidGpiosCommand); diff --git a/src/serial/command_handlers/version.cpp b/src/serial/command_handlers/version.cpp index 711659c0..6e507e13 100644 --- a/src/serial/command_handlers/version.cpp +++ b/src/serial/command_handlers/version.cpp @@ -12,9 +12,9 @@ void _handleVersionCommand(std::string_view arg, bool isAutomated) OpenShock::SerialInputHandler::PrintVersionInfo(); } -OpenShock::Serial::CommandGroup OpenShock::Serial::CommandHandlers::VersionHandler() +OpenShock::SerialCmds::CommandGroup OpenShock::SerialCmds::CommandHandlers::VersionHandler() { - auto group = OpenShock::Serial::CommandGroup("version"sv); + auto group = OpenShock::SerialCmds::CommandGroup("version"sv); auto cmd = group.addCommand("Print version information"sv, _handleVersionCommand); From c2c4a87298e7ab9d08dde96e8da375c65db0e9df Mon Sep 17 00:00:00 2001 From: HeavenVR Date: Fri, 27 Mar 2026 08:10:00 +0100 Subject: [PATCH 18/91] wip: merge develop and fix span migration for Arduino 3.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Merge develop into feat/arduino-3.0. Replace remaining tcb::span with std::span, add missing WiFi.h include. Build not yet clean — remaining issues: Serial namespace rename (SerialCmds), USBSerial API, and CaptivePortalConfig struct changes. Co-Authored-By: Claude Opus 4.6 (1M context) --- include/captiveportal/CaptivePortalInstance.h | 8 ++++---- src/captiveportal/Manager.cpp | 4 ++-- src/http/HTTPRequestManager.cpp | 5 +++-- src/message_handlers/websocket/Gateway.cpp | 2 +- 4 files changed, 10 insertions(+), 9 deletions(-) diff --git a/include/captiveportal/CaptivePortalInstance.h b/include/captiveportal/CaptivePortalInstance.h index 09f3a53c..b441daf8 100644 --- a/include/captiveportal/CaptivePortalInstance.h +++ b/include/captiveportal/CaptivePortalInstance.h @@ -1,7 +1,7 @@ #pragma once #include "Common.h" -#include "span.h" +#include #include "WebSocketDeFragger.h" #include @@ -25,16 +25,16 @@ namespace OpenShock::CaptivePortal { ~CaptivePortalInstance(); bool sendMessageTXT(uint8_t socketId, std::string_view data) { return m_socketServer.sendTXT(socketId, data.data(), data.length()); } - bool sendMessageBIN(uint8_t socketId, tcb::span data) { return m_socketServer.sendBIN(socketId, data.data(), data.size()); } + bool sendMessageBIN(uint8_t socketId, std::span data) { return m_socketServer.sendBIN(socketId, data.data(), data.size()); } bool broadcastMessageTXT(std::string_view data) { return m_socketServer.broadcastTXT(data.data(), data.length()); } - bool broadcastMessageBIN(tcb::span data) { return m_socketServer.broadcastBIN(data.data(), data.size()); } + bool broadcastMessageBIN(std::span data) { return m_socketServer.broadcastBIN(data.data(), data.size()); } bool hasClients() { return m_socketServer.connectedClients() > 0; } private: void task(); void handleWebSocketClientConnected(uint8_t socketId); void handleWebSocketClientDisconnected(uint8_t socketId); - void handleWebSocketEvent(uint8_t socketId, WebSocketMessageType type, tcb::span payload); + void handleWebSocketEvent(uint8_t socketId, WebSocketMessageType type, std::span payload); AsyncWebServer m_webServer; WebSocketsServer m_socketServer; diff --git a/src/captiveportal/Manager.cpp b/src/captiveportal/Manager.cpp index ea21ed5e..56cfa4a6 100644 --- a/src/captiveportal/Manager.cpp +++ b/src/captiveportal/Manager.cpp @@ -267,7 +267,7 @@ bool CaptivePortal::SendMessageTXT(uint8_t socketId, std::string_view data) return true; } -bool CaptivePortal::SendMessageBIN(uint8_t socketId, tcb::span data) +bool CaptivePortal::SendMessageBIN(uint8_t socketId, std::span data) { auto instance = GetInstance(); if (instance == nullptr) return false; @@ -286,7 +286,7 @@ bool CaptivePortal::BroadcastMessageTXT(std::string_view data) return true; } -bool CaptivePortal::BroadcastMessageBIN(tcb::span data) +bool CaptivePortal::BroadcastMessageBIN(std::span data) { auto instance = GetInstance(); if (instance == nullptr) return false; diff --git a/src/http/HTTPRequestManager.cpp b/src/http/HTTPRequestManager.cpp index be18fbae..cfaeb15e 100644 --- a/src/http/HTTPRequestManager.cpp +++ b/src/http/HTTPRequestManager.cpp @@ -11,6 +11,7 @@ const char* const TAG = "HTTPRequestManager"; #include "util/StringUtils.h" #include +#include #include #include @@ -350,7 +351,7 @@ static StreamReaderResult readHttpStreamData(HTTPClient& client, WiFiClient* str } HTTP::Response - HTTP::Download(std::string_view url, const std::map& headers, HTTP::GotContentLengthCallback contentLengthCallback, HTTP::DownloadCallback downloadCallback, tcb::span acceptedCodes, uint32_t timeoutMs) + HTTP::Download(std::string_view url, const std::map& headers, HTTP::GotContentLengthCallback contentLengthCallback, HTTP::DownloadCallback downloadCallback, std::span acceptedCodes, uint32_t timeoutMs) { std::shared_ptr rateLimiter = createRateLimiterForURL(url); if (rateLimiter == nullptr) { @@ -450,7 +451,7 @@ HTTP::Response return {result.result, responseCode, result.nWritten}; } -HTTP::Response HTTP::GetString(std::string_view url, const std::map& headers, tcb::span acceptedCodes, uint32_t timeoutMs) +HTTP::Response HTTP::GetString(std::string_view url, const std::map& headers, std::span acceptedCodes, uint32_t timeoutMs) { std::string result; diff --git a/src/message_handlers/websocket/Gateway.cpp b/src/message_handlers/websocket/Gateway.cpp index 711604ca..1cf229ec 100644 --- a/src/message_handlers/websocket/Gateway.cpp +++ b/src/message_handlers/websocket/Gateway.cpp @@ -37,7 +37,7 @@ static std::array s_serverHandlers = []() return handlers; }(); -void MessageHandlers::WebSocket::HandleGatewayBinary(tcb::span data) +void MessageHandlers::WebSocket::HandleGatewayBinary(std::span data) { if (data.size() < sizeof(flatbuffers::uoffset_t)) { OS_LOGE(TAG, "Message too small to be a valid FlatBuffer"); From 350bd741d69ed80b49daa793dc952782a9f2ce04 Mon Sep 17 00:00:00 2001 From: HeavenVR Date: Mon, 20 Apr 2026 11:04:29 +0200 Subject: [PATCH 19/91] Bump platform version --- platformio.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platformio.ini b/platformio.ini index 30853273..33e7baec 100644 --- a/platformio.ini +++ b/platformio.ini @@ -9,7 +9,7 @@ ; https://docs.platformio.org/page/projectconf.html [env] -platform = https://github.com/pioarduino/platform-espressif32/releases/download/55.03.37/platform-espressif32.zip +platform = https://github.com/pioarduino/platform-espressif32/releases/download/55.03.38-1/platform-espressif32.zip board = az-delivery-devkit-v4 ; Overridden per board framework = arduino From 83e7a8cec0cd2858b27e9ee5129e2e22da109ab5 Mon Sep 17 00:00:00 2001 From: HeavenVR Date: Thu, 23 Apr 2026 22:24:22 +0200 Subject: [PATCH 20/91] Start modularizing firmware --- .gitignore | 7 +- CMakeLists.txt | 3 + FLATBUFFERS_CHANGES.md | 32 - components/chipset/CMakeLists.txt | 16 + .../chipset/include}/Chipset.h | 2 +- .../chipset/src}/CompatibilityChecks.cpp | 2 +- components/common/CMakeLists.txt | 13 + .../common/include}/FormatHelpers.h | 0 .../common/include/OpenShock.h | 27 - .../common/src/ArduinoExistanceCheck.cpp | 5 + .../common/src/LanguageVersionCheck.cpp | 17 + components/concurrency/CMakeLists.txt | 14 + .../concurrency/include}/ReadWriteMutex.h | 2 +- .../concurrency/include}/SimpleMutex.h | 2 +- .../concurrency/src}/ReadWriteMutex.cpp | 0 .../concurrency/src}/SimpleMutex.cpp | 0 components/http/CMakeLists.txt | 20 + .../http/include}/http/ContentTypes.h | 0 .../http/include}/http/HTTPRequestManager.h | 0 .../http/src}/HTTPRequestManager.cpp | 2 +- components/led_drivers/CMakeLists.txt | 23 + .../include/led_drivers}/MonoLedDriver.h | 2 +- .../include/led_drivers}/RgbLedDriver.h | 2 +- .../led_drivers/src}/MonoLedDriver.cpp | 2 +- .../led_drivers/src}/RgbLedDriver.cpp | 18 +- components/logging/CMakeLists.txt | 17 + .../logging/include}/Logging.h | 0 components/time/CMakeLists.txt | 9 + {include => components/time/include}/Core.h | 0 components/util/CMakeLists.txt | 23 + .../util/include}/Checksum.h | 0 .../util/include}/Convert.h | 0 .../util/include}/Hashing.h | 2 +- .../util/include}/RateLimiter.h | 2 +- {include => components/util/include}/SemVer.h | 0 .../util/include}/TinyVec.h | 2 +- .../util/include}/util/Base64Utils.h | 0 .../util/include}/util/DigitCounter.h | 0 .../util/include}/util/FnProxy.h | 0 .../util/include}/util/HexUtils.h | 0 .../util/include}/util/IPAddressUtils.h | 0 .../util/include}/util/PartitionUtils.h | 0 .../util/include}/util/StringUtils.h | 0 .../util/include}/util/TaskUtils.h | 0 .../util/src}/Base64Utils.cpp | 0 {src => components/util/src}/Convert.cpp | 0 .../util/src}/DigitCounter.cpp | 0 .../util/src}/IPAddressUtils.cpp | 0 .../util/src}/ParitionUtils.cpp | 0 {src => components/util/src}/RateLimiter.cpp | 0 {src => components/util/src}/SemVer.cpp | 0 .../util/src}/StringUtils.cpp | 0 .../util/src}/TaskUtils.cpp | 0 dependencies.lock | 365 ++ include/GatewayClient.h | 2 +- include/WebSocketDeFragger.h | 2 +- include/captiveportal/CaptivePortalInstance.h | 2 +- include/radio/RFTransmitter.h | 2 +- include/radio/rmt/Sequence.h | 2 +- include/serial/SerialInputHandler.h | 21 +- include/serial/command_handlers/common.h | 2 +- include/serial/command_handlers/index.h | 40 +- platformio.ini | 8 +- sdkconfig.NodeMCU-32S | 4185 ++++++++++++++ sdkconfig.OpenShock-Core-V2 | 4786 +++++++++++++++++ sdkconfig.Wemos-D1-Mini-ESP32 | 4185 ++++++++++++++ sdkconfig.ci-build | 4780 ++++++++++++++++ sdkconfig.defaults | 22 + src/CMakeLists.txt | 6 + src/CommandHandler.cpp | 2 +- src/GatewayClient.cpp | 2 +- src/OtaUpdateManager.cpp | 2 +- src/captiveportal/Manager.cpp | 4 +- src/config/Config.cpp | 2 +- src/config/EStopConfig.cpp | 2 +- src/config/RFConfig.cpp | 2 +- src/http/JsonAPI.cpp | 2 +- src/main.cpp | 4 +- src/serial/SerialInputHandler.cpp | 6 +- src/serial/command_handlers/ledtest.cpp | 4 +- src/visual/VisualStateManager.cpp | 7 +- 81 files changed, 18577 insertions(+), 138 deletions(-) create mode 100644 CMakeLists.txt delete mode 100644 FLATBUFFERS_CHANGES.md create mode 100644 components/chipset/CMakeLists.txt rename {include => components/chipset/include}/Chipset.h (99%) rename {src => components/chipset/src}/CompatibilityChecks.cpp (98%) create mode 100644 components/common/CMakeLists.txt rename {include => components/common/include}/FormatHelpers.h (100%) rename include/Common.h => components/common/include/OpenShock.h (51%) create mode 100644 components/common/src/ArduinoExistanceCheck.cpp create mode 100644 components/common/src/LanguageVersionCheck.cpp create mode 100644 components/concurrency/CMakeLists.txt rename {include => components/concurrency/include}/ReadWriteMutex.h (98%) rename {include => components/concurrency/include}/SimpleMutex.h (98%) rename {src => components/concurrency/src}/ReadWriteMutex.cpp (100%) rename {src => components/concurrency/src}/SimpleMutex.cpp (100%) create mode 100644 components/http/CMakeLists.txt rename {include => components/http/include}/http/ContentTypes.h (100%) rename {include => components/http/include}/http/HTTPRequestManager.h (100%) rename {src/http => components/http/src}/HTTPRequestManager.cpp (99%) create mode 100644 components/led_drivers/CMakeLists.txt rename {include/visual => components/led_drivers/include/led_drivers}/MonoLedDriver.h (97%) rename {include/visual => components/led_drivers/include/led_drivers}/RgbLedDriver.h (98%) rename {src/visual => components/led_drivers/src}/MonoLedDriver.cpp (98%) rename {src/visual => components/led_drivers/src}/RgbLedDriver.cpp (90%) create mode 100644 components/logging/CMakeLists.txt rename {include => components/logging/include}/Logging.h (100%) create mode 100644 components/time/CMakeLists.txt rename {include => components/time/include}/Core.h (100%) create mode 100644 components/util/CMakeLists.txt rename {include => components/util/include}/Checksum.h (100%) rename {include => components/util/include}/Convert.h (100%) rename {include => components/util/include}/Hashing.h (98%) rename {include => components/util/include}/RateLimiter.h (96%) rename {include => components/util/include}/SemVer.h (100%) rename {include => components/util/include}/TinyVec.h (99%) rename {include => components/util/include}/util/Base64Utils.h (100%) rename {include => components/util/include}/util/DigitCounter.h (100%) rename {include => components/util/include}/util/FnProxy.h (100%) rename {include => components/util/include}/util/HexUtils.h (100%) rename {include => components/util/include}/util/IPAddressUtils.h (100%) rename {include => components/util/include}/util/PartitionUtils.h (100%) rename {include => components/util/include}/util/StringUtils.h (100%) rename {include => components/util/include}/util/TaskUtils.h (100%) rename {src/util => components/util/src}/Base64Utils.cpp (100%) rename {src => components/util/src}/Convert.cpp (100%) rename {src/util => components/util/src}/DigitCounter.cpp (100%) rename {src/util => components/util/src}/IPAddressUtils.cpp (100%) rename {src/util => components/util/src}/ParitionUtils.cpp (100%) rename {src => components/util/src}/RateLimiter.cpp (100%) rename {src => components/util/src}/SemVer.cpp (100%) rename {src/util => components/util/src}/StringUtils.cpp (100%) rename {src/util => components/util/src}/TaskUtils.cpp (100%) create mode 100644 dependencies.lock create mode 100644 sdkconfig.NodeMCU-32S create mode 100644 sdkconfig.OpenShock-Core-V2 create mode 100644 sdkconfig.Wemos-D1-Mini-ESP32 create mode 100644 sdkconfig.ci-build create mode 100644 sdkconfig.defaults create mode 100644 src/CMakeLists.txt diff --git a/.gitignore b/.gitignore index ee94259f..a1b61192 100644 --- a/.gitignore +++ b/.gitignore @@ -6,18 +6,19 @@ .vscode/ipch *.bin -# data/www is autogenerated by the build process, ignore it: +# data/www is autogenerated by the build process data/www !data/**/*.bin -# ignore local config files +# local config files *.local -# ignore generated files +# generated files .vs packages *.sln compile_commands.json +managed_components # Claude Code .claude/settings.local.json \ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 00000000..2fd4ee40 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,3 @@ +cmake_minimum_required(VERSION 3.16.0) +include($ENV{IDF_PATH}/tools/cmake/project.cmake) +project(firmware) diff --git a/FLATBUFFERS_CHANGES.md b/FLATBUFFERS_CHANGES.md deleted file mode 100644 index d7bf3ce0..00000000 --- a/FLATBUFFERS_CHANGES.md +++ /dev/null @@ -1,32 +0,0 @@ -# FlatBuffers Schema Changes - -**Repository:** https://github.com/OpenShock/flatbuffers-schemas -**Branch:** `local-comms-revamp` - -These schema changes have been applied to the submodule and are tracked by this branch. They are breaking changes that accompany the WS-to-REST migration. - -## Applied Changes - -### `HubToLocalMessage.fbs` -- Removed all command result types (`AccountLinkCommandResult`, `SetRfTxPinCommandResult`, `SetEstopPinCommandResult`, `SetEstopEnabledCommandResult`, `SetGPIOResultCode`, `AccountLinkResultCode`) -- Removed all WS command types from `HubToLocalMessagePayload` union that were migrated to REST -- Added `AccountLinkStatusEvent` — broadcast when auth token is validated on gateway connect -- Added `has_standardized_pins` field to `ReadyMessage` - -### `LocalToHubMessage.fbs` -- Removed all command types except `Common_ShockerCommandList` (WiFi, OTA, Account, GPIO commands moved to REST) -- `ShockerCommandList` moved to `Common` namespace, shared between gateway and local - -### `HubConfig.fbs` -- Added `MacAddress` struct (6-byte fixed-size array) -- Added `auth_mode` (WifiAuthMode enum) and `bssid` (MacAddress) fields to `WiFiCredentials` for security pinning - -### `Common/ShockerCommand.fbs` (new) -- Extracted `ShockerCommand` and `ShockerCommandList` tables into shared Common namespace - -### `GatewayToHubMessage.fbs` -- Updated `ShockerCommandList` reference to `Common_ShockerCommandList` - -## Pending -- Push `local-comms-revamp` branch to schemas repo and create PR -- After merge, update submodule pointer in firmware repo diff --git a/components/chipset/CMakeLists.txt b/components/chipset/CMakeLists.txt new file mode 100644 index 00000000..9314974b --- /dev/null +++ b/components/chipset/CMakeLists.txt @@ -0,0 +1,16 @@ +# OpenShock chipset utilities — GPIO validation, compile-time pin assertions. +# +# Public surface: +# Chipset.h — OpenShock::IsValidInputPin / IsValidOutputPin per IDF_TARGET +# +# CompatibilityChecks.cpp contains static_asserts that fail the build if any +# board config (OPENSHOCK_ESTOP_PIN, OPENSHOCK_RF_TX_GPIO, etc.) resolves to +# an invalid pin for the current chip. It has to be in the link for the +# asserts to run; no runtime code. + +idf_component_register( + SRCS "src/CompatibilityChecks.cpp" + INCLUDE_DIRS "include" + REQUIRES common # Common.h + driver # driver/gpio.h +) diff --git a/include/Chipset.h b/components/chipset/include/Chipset.h similarity index 99% rename from include/Chipset.h rename to components/chipset/include/Chipset.h index 61ffbfde..35e3d2cc 100644 --- a/include/Chipset.h +++ b/components/chipset/include/Chipset.h @@ -1,6 +1,6 @@ #pragma once -#include "Common.h" +#include "OpenShock.h" #include diff --git a/src/CompatibilityChecks.cpp b/components/chipset/src/CompatibilityChecks.cpp similarity index 98% rename from src/CompatibilityChecks.cpp rename to components/chipset/src/CompatibilityChecks.cpp index 4e77a35b..9270a6b8 100644 --- a/src/CompatibilityChecks.cpp +++ b/components/chipset/src/CompatibilityChecks.cpp @@ -1,5 +1,5 @@ #include "Chipset.h" -#include "Common.h" +#include "OpenShock.h" const bool kIsValidOrUndefinedRfTxPin = OpenShock::IsValidOutputPin(OPENSHOCK_RF_TX_GPIO) || OPENSHOCK_RF_TX_GPIO == OPENSHOCK_GPIO_INVALID; static_assert(kIsValidOrUndefinedRfTxPin, "OPENSHOCK_RF_TX_GPIO is not a valid output GPIO, and is not declared as bypassed by board specific definitions, refusing to compile"); diff --git a/components/common/CMakeLists.txt b/components/common/CMakeLists.txt new file mode 100644 index 00000000..b6ce091f --- /dev/null +++ b/components/common/CMakeLists.txt @@ -0,0 +1,13 @@ +# OpenShock foundation headers — pure language-level utilities. +# +# Header-only. No SRCS. Arduino-free. Consumers pick these up by `REQUIRES common`. +# +# Public surface: +# Common.h — basic defines, DISABLE_DEFAULT/COPY/MOVE macros +# FormatHelpers.h — format string helpers + +idf_component_register( + SRCS "src/LanguageVersionCheck.cpp" + "src/ArduinoExistanceCheck.cpp" + INCLUDE_DIRS "include" +) diff --git a/include/FormatHelpers.h b/components/common/include/FormatHelpers.h similarity index 100% rename from include/FormatHelpers.h rename to components/common/include/FormatHelpers.h diff --git a/include/Common.h b/components/common/include/OpenShock.h similarity index 51% rename from include/Common.h rename to components/common/include/OpenShock.h index 556dd0ec..c228d7ee 100644 --- a/include/Common.h +++ b/components/common/include/OpenShock.h @@ -1,8 +1,5 @@ #pragma once -#include -#include - #define DISABLE_DEFAULT(TypeName) TypeName() = delete #define DISABLE_COPY(TypeName) \ TypeName(const TypeName&) = delete; \ @@ -39,30 +36,6 @@ #define OPENSHOCK_FW_USERAGENT OPENSHOCK_FW_HOSTNAME "/" OPENSHOCK_FW_VERSION " (arduino-esp32; " OPENSHOCK_FW_BOARD "; " OPENSHOCK_FW_CHIP "; Espressif)" #endif -// Check if Arduino.h exists, if not instruct the developer to remove "arduino-esp32" from the useragent and replace it with "ESP-IDF", after which the developer may remove this warning. -#if defined(__has_include) && !__has_include("Arduino.h") -#warning \ - "Let it be known that Arduino hath finally been cast aside in favor of the noble ESP-IDF! I beseech thee, kind sir or madam, wouldst thou kindly partake in the honors of expunging 'arduino-esp32' from yonder useragent aloft, and in its stead, bestow the illustrious 'ESP-IDF'?" -#endif - -#if __cplusplus >= 202302L -#warning "C++23 compiler detected" -#elif __cplusplus >= 202002L -// C++20 :3 -#elif __cplusplus >= 201703L -#error "C++17 compiler detected, OpenShock requires a C++20 compliant compiler" -#elif __cplusplus >= 201402L -#error "C++14 compiler detected, OpenShock requires a C++20 compliant compiler" -#elif __cplusplus >= 201103L -#error "C++11 compiler detected, OpenShock requires a C++20 compliant compiler" -#elif __cplusplus >= 199711L -#error "C++98 compiler detected, OpenShock requires a C++20 compliant compiler" -#elif __cplusplus == 1 -#error "Pre-C++98 compiler detected, OpenShock requires a C++20 compliant compiler" -#else -#error "Unknown C++ standard detected, OpenShock requires a C++20 compliant compiler" -#endif - namespace OpenShock::Constants { const char* const FW_USERAGENT = OPENSHOCK_FW_USERAGENT; } // namespace OpenShock::Constants diff --git a/components/common/src/ArduinoExistanceCheck.cpp b/components/common/src/ArduinoExistanceCheck.cpp new file mode 100644 index 00000000..d0f769b1 --- /dev/null +++ b/components/common/src/ArduinoExistanceCheck.cpp @@ -0,0 +1,5 @@ +// Check if Arduino.h exists, if not instruct the developer to remove "arduino-esp32" from the useragent and replace it with "ESP-IDF", after which the developer may remove this warning. +#if defined(__has_include) && !__has_include("Arduino.h") +#warning \ + "Let it be known that Arduino hath finally been cast aside in favor of the noble ESP-IDF! I beseech thee, kind sir or madam, wouldst thou kindly partake in the honors of expunging 'arduino-esp32' from yonder useragent aloft, and in its stead, bestow the illustrious 'ESP-IDF'?" +#endif \ No newline at end of file diff --git a/components/common/src/LanguageVersionCheck.cpp b/components/common/src/LanguageVersionCheck.cpp new file mode 100644 index 00000000..49214a8a --- /dev/null +++ b/components/common/src/LanguageVersionCheck.cpp @@ -0,0 +1,17 @@ +#if __cplusplus >= 202302L +// C++23 :3 +#elif __cplusplus >= 202002L +#error "C++20 compiler detected, OpenShock requires a C++23 compliant compiler" +#elif __cplusplus >= 201703L +#error "C++17 compiler detected, OpenShock requires a C++23 compliant compiler" +#elif __cplusplus >= 201402L +#error "C++14 compiler detected, OpenShock requires a C++23 compliant compiler" +#elif __cplusplus >= 201103L +#error "C++11 compiler detected, OpenShock requires a C++23 compliant compiler" +#elif __cplusplus >= 199711L +#error "C++98 compiler detected, OpenShock requires a C++23 compliant compiler" +#elif __cplusplus == 1 +#error "Pre-C++98 compiler detected, OpenShock requires a C++23 compliant compiler" +#else +#error "Unknown C++ standard detected, OpenShock requires a C++23 compliant compiler" +#endif \ No newline at end of file diff --git a/components/concurrency/CMakeLists.txt b/components/concurrency/CMakeLists.txt new file mode 100644 index 00000000..9eaa03a6 --- /dev/null +++ b/components/concurrency/CMakeLists.txt @@ -0,0 +1,14 @@ +# OpenShock concurrency primitives on top of FreeRTOS semaphores. +# +# Public surface: +# SimpleMutex.h — scoped binary mutex (ScopedLock) +# ReadWriteMutex.h — single-writer/multi-reader counting mutex + +idf_component_register( + SRCS "src/SimpleMutex.cpp" + "src/ReadWriteMutex.cpp" + INCLUDE_DIRS "include" + REQUIRES freertos + common # Common.h + logging # Logging.h (ReadWriteMutex uses OS_LOG*) +) diff --git a/include/ReadWriteMutex.h b/components/concurrency/include/ReadWriteMutex.h similarity index 98% rename from include/ReadWriteMutex.h rename to components/concurrency/include/ReadWriteMutex.h index 70768e45..3eb79f40 100644 --- a/include/ReadWriteMutex.h +++ b/components/concurrency/include/ReadWriteMutex.h @@ -2,7 +2,7 @@ #include -#include "Common.h" +#include "OpenShock.h" namespace OpenShock { class ReadWriteMutex { diff --git a/include/SimpleMutex.h b/components/concurrency/include/SimpleMutex.h similarity index 98% rename from include/SimpleMutex.h rename to components/concurrency/include/SimpleMutex.h index bd6df741..08cfc45d 100644 --- a/include/SimpleMutex.h +++ b/components/concurrency/include/SimpleMutex.h @@ -2,7 +2,7 @@ #include -#include "Common.h" +#include "OpenShock.h" namespace OpenShock { class SimpleMutex { diff --git a/src/ReadWriteMutex.cpp b/components/concurrency/src/ReadWriteMutex.cpp similarity index 100% rename from src/ReadWriteMutex.cpp rename to components/concurrency/src/ReadWriteMutex.cpp diff --git a/src/SimpleMutex.cpp b/components/concurrency/src/SimpleMutex.cpp similarity index 100% rename from src/SimpleMutex.cpp rename to components/concurrency/src/SimpleMutex.cpp diff --git a/components/http/CMakeLists.txt b/components/http/CMakeLists.txt new file mode 100644 index 00000000..c65d811e --- /dev/null +++ b/components/http/CMakeLists.txt @@ -0,0 +1,20 @@ +# OpenShock HTTP client manager + content type helpers. +# +# Public surface: +# include/http/HTTPRequestManager.h — rate-limited HTTP/HTTPS client +# include/http/ContentTypes.h — MIME type constants +# +# JsonAPI.{h,cpp} intentionally stays in main because it depends on +# serialization/ + config/ (flatbuffers-heavy) which haven't been extracted. + +idf_component_register( + SRCS "src/HTTPRequestManager.cpp" + INCLUDE_DIRS "include" + REQUIRES json # cJSON.h in public header + framework-arduinoespressif32 # Arduino.h in public header + PRIV_REQUIRES common # Common.h (internal) + time # Core.h (internal) + logging # Logging.h (internal) + concurrency # SimpleMutex (internal) + util # RateLimiter, HexUtils, StringUtils +) diff --git a/include/http/ContentTypes.h b/components/http/include/http/ContentTypes.h similarity index 100% rename from include/http/ContentTypes.h rename to components/http/include/http/ContentTypes.h diff --git a/include/http/HTTPRequestManager.h b/components/http/include/http/HTTPRequestManager.h similarity index 100% rename from include/http/HTTPRequestManager.h rename to components/http/include/http/HTTPRequestManager.h diff --git a/src/http/HTTPRequestManager.cpp b/components/http/src/HTTPRequestManager.cpp similarity index 99% rename from src/http/HTTPRequestManager.cpp rename to components/http/src/HTTPRequestManager.cpp index cfaeb15e..2a451a13 100644 --- a/src/http/HTTPRequestManager.cpp +++ b/components/http/src/HTTPRequestManager.cpp @@ -2,7 +2,7 @@ const char* const TAG = "HTTPRequestManager"; -#include "Common.h" +#include "OpenShock.h" #include "Core.h" #include "Logging.h" #include "RateLimiter.h" diff --git a/components/led_drivers/CMakeLists.txt b/components/led_drivers/CMakeLists.txt new file mode 100644 index 00000000..7ea148ca --- /dev/null +++ b/components/led_drivers/CMakeLists.txt @@ -0,0 +1,23 @@ +# OpenShock LED drivers — both mono (PWM via LEDC) and RGB (WS2812B via +# Arduino-ESP32's RMT HAL). +# +# Public surface: +# led_drivers/MonoLedDriver.h +# led_drivers/RgbLedDriver.h +# +# Note: this is driver-level only. The VisualStateManager that picks patterns +# based on estop/gateway/wifi state is a separate concern and lives in main. + +idf_component_register( + SRCS "src/MonoLedDriver.cpp" + "src/RgbLedDriver.cpp" + INCLUDE_DIRS "include" + REQUIRES common # Common.h in public headers + concurrency # SimpleMutex in public headers + freertos # TaskHandle_t in public headers + framework-arduinoespressif32 # esp32-hal-rmt.h in RgbLedDriver.h + PRIV_REQUIRES chipset # IsValidOutputPin + logging # OS_LOG* + util # FnProxy, TaskUtils + esp_driver_ledc # driver/ledc.h (mono PWM) +) diff --git a/include/visual/MonoLedDriver.h b/components/led_drivers/include/led_drivers/MonoLedDriver.h similarity index 97% rename from include/visual/MonoLedDriver.h rename to components/led_drivers/include/led_drivers/MonoLedDriver.h index 6c9acbd8..af28cef8 100644 --- a/include/visual/MonoLedDriver.h +++ b/components/led_drivers/include/led_drivers/MonoLedDriver.h @@ -1,6 +1,6 @@ #pragma once -#include "Common.h" +#include "OpenShock.h" #include "SimpleMutex.h" #include diff --git a/include/visual/RgbLedDriver.h b/components/led_drivers/include/led_drivers/RgbLedDriver.h similarity index 98% rename from include/visual/RgbLedDriver.h rename to components/led_drivers/include/led_drivers/RgbLedDriver.h index 619c0aa7..9ce8902f 100644 --- a/include/visual/RgbLedDriver.h +++ b/components/led_drivers/include/led_drivers/RgbLedDriver.h @@ -1,6 +1,6 @@ #pragma once -#include "Common.h" +#include "OpenShock.h" #include "SimpleMutex.h" #include diff --git a/src/visual/MonoLedDriver.cpp b/components/led_drivers/src/MonoLedDriver.cpp similarity index 98% rename from src/visual/MonoLedDriver.cpp rename to components/led_drivers/src/MonoLedDriver.cpp index d5e6f6d1..f1bf7e9c 100644 --- a/src/visual/MonoLedDriver.cpp +++ b/components/led_drivers/src/MonoLedDriver.cpp @@ -1,6 +1,6 @@ #include -#include "visual/MonoLedDriver.h" +#include "led_drivers/MonoLedDriver.h" const char* const TAG = "MonoLedDriver"; diff --git a/src/visual/RgbLedDriver.cpp b/components/led_drivers/src/RgbLedDriver.cpp similarity index 90% rename from src/visual/RgbLedDriver.cpp rename to components/led_drivers/src/RgbLedDriver.cpp index f2f3ea79..1e3e1e25 100644 --- a/src/visual/RgbLedDriver.cpp +++ b/components/led_drivers/src/RgbLedDriver.cpp @@ -1,6 +1,6 @@ #include -#include "visual/RgbLedDriver.h" +#include "led_drivers/RgbLedDriver.h" const char* const TAG = "RGBLedDriver"; @@ -21,7 +21,6 @@ RgbLedDriver::RgbLedDriver(gpio_num_t gpioPin) : m_gpioPin(GPIO_NUM_NC) , m_brightness(255) , m_pattern() - , m_rmtHandle(nullptr) , m_taskHandle(nullptr) , m_taskMutex() { @@ -35,15 +34,12 @@ RgbLedDriver::RgbLedDriver(gpio_num_t gpioPin) return; } - m_rmtHandle = rmtInit(gpioPin, RMT_TX_MODE, RMT_MEM_64); - if (m_rmtHandle == NULL) { + // Arduino-ESP32 3.x RMT: frequency_Hz replaces rmtSetTick. 10 MHz => 100 ns tick (WS2812B timing). + if (!rmtInit(gpioPin, RMT_TX_MODE, RMT_MEM_NUM_BLOCKS_1, 10'000'000)) { OS_LOGE(TAG, "Failed to initialize RMT for pin %hhi", gpioPin); return; } - float realTick = rmtSetTick(m_rmtHandle, 100.F); - OS_LOGD(TAG, "RMT tick is %f ns for pin %hhi", realTick, gpioPin); - m_gpioPin = gpioPin; } @@ -51,7 +47,9 @@ RgbLedDriver::~RgbLedDriver() { ClearPattern(); - rmtDeinit(m_rmtHandle); + if (m_gpioPin != GPIO_NUM_NC) { + rmtDeinit(m_gpioPin); + } } void RgbLedDriver::SetPattern(const RGBState* pattern, std::size_t patternLength) @@ -139,8 +137,8 @@ void RgbLedDriver::RunPattern() } } - // Send the data - rmtWriteBlocking(m_rmtHandle, led_data.data(), led_data.size()); + // Send the data (blocking, wait up to 10ms per frame) + rmtWrite(m_gpioPin, led_data.data(), led_data.size(), 10); // Chunked delay so cooperative shutdown can interrupt long waits uint32_t remaining = state.duration; diff --git a/components/logging/CMakeLists.txt b/components/logging/CMakeLists.txt new file mode 100644 index 00000000..e1e77e36 --- /dev/null +++ b/components/logging/CMakeLists.txt @@ -0,0 +1,17 @@ +# OpenShock logging macros — OS_LOG*, OS_PANIC*. +# +# Split from `common` because it pulls Arduino's esp32-hal-uart.h and +# transitively requires the framework-arduinoespressif32 component. Keeping +# `common` Arduino-clean lets us reach pure IDF faster; merge back once Arduino +# is no longer in the link. log_printf symbol is resolved at final link from +# framework-arduinoespressif32/cores/esp32/esp32-hal-log-wrapper.c. + +idf_component_register( + INCLUDE_DIRS "include" + REQUIRES time # Core.h -> OpenShock::millis() + log # esp_log.h (IDF's own logging) + app_update # esp_ota_ops.h (panic-ota macro) + esp_system # esp_restart + freertos # OS_PANIC -> vTaskDelay + framework-arduinoespressif32 # esp32-hal-uart.h (log_printf) +) diff --git a/include/Logging.h b/components/logging/include/Logging.h similarity index 100% rename from include/Logging.h rename to components/logging/include/Logging.h diff --git a/components/time/CMakeLists.txt b/components/time/CMakeLists.txt new file mode 100644 index 00000000..dd9a6a1a --- /dev/null +++ b/components/time/CMakeLists.txt @@ -0,0 +1,9 @@ +# OpenShock time helpers — OpenShock::millis(), OpenShock::micros(). +# +# Thin header-only wrapper over esp_timer. Split from common so that logging +# and other components can depend on it without pulling everything else in. + +idf_component_register( + INCLUDE_DIRS "include" + REQUIRES esp_timer +) diff --git a/include/Core.h b/components/time/include/Core.h similarity index 100% rename from include/Core.h rename to components/time/include/Core.h diff --git a/components/util/CMakeLists.txt b/components/util/CMakeLists.txt new file mode 100644 index 00000000..03aa3318 --- /dev/null +++ b/components/util/CMakeLists.txt @@ -0,0 +1,23 @@ +# OpenShock leaf utilities — format conversions, hashing, containers, etc. +# +# Public surface under include/ (flat top-level files) and include/util/ (nested). + +idf_component_register( + SRCS "src/Base64Utils.cpp" + "src/Convert.cpp" + "src/DigitCounter.cpp" + "src/IPAddressUtils.cpp" + "src/ParitionUtils.cpp" + "src/RateLimiter.cpp" + "src/SemVer.cpp" + "src/StringUtils.cpp" + "src/TaskUtils.cpp" + INCLUDE_DIRS "include" + REQUIRES common # Common.h, TinyVec.h in public headers + logging # Logging.h (OS_LOG* used inline in headers) + time # Core.h used in header (RateLimiter) + concurrency # SimpleMutex used in header (RateLimiter) + mbedtls # Hashing (md5/sha1/sha256) uses mbedtls types in headers + PRIV_REQUIRES http # ParitionUtils.cpp uses HTTPRequestManager (internal) + freertos # TaskUtils implementation +) diff --git a/include/Checksum.h b/components/util/include/Checksum.h similarity index 100% rename from include/Checksum.h rename to components/util/include/Checksum.h diff --git a/include/Convert.h b/components/util/include/Convert.h similarity index 100% rename from include/Convert.h rename to components/util/include/Convert.h diff --git a/include/Hashing.h b/components/util/include/Hashing.h similarity index 98% rename from include/Hashing.h rename to components/util/include/Hashing.h index ece6d119..0ce8f8b3 100644 --- a/include/Hashing.h +++ b/components/util/include/Hashing.h @@ -1,6 +1,6 @@ #pragma once -#include "Common.h" +#include "OpenShock.h" #include #include diff --git a/include/RateLimiter.h b/components/util/include/RateLimiter.h similarity index 96% rename from include/RateLimiter.h rename to components/util/include/RateLimiter.h index 906943c7..d25461df 100644 --- a/include/RateLimiter.h +++ b/components/util/include/RateLimiter.h @@ -1,6 +1,6 @@ #pragma once -#include "Common.h" +#include "OpenShock.h" #include "SimpleMutex.h" #include diff --git a/include/SemVer.h b/components/util/include/SemVer.h similarity index 100% rename from include/SemVer.h rename to components/util/include/SemVer.h diff --git a/include/TinyVec.h b/components/util/include/TinyVec.h similarity index 99% rename from include/TinyVec.h rename to components/util/include/TinyVec.h index 6b4aa855..8fc0e6f5 100644 --- a/include/TinyVec.h +++ b/components/util/include/TinyVec.h @@ -1,6 +1,6 @@ #pragma once -#include "Common.h" +#include "OpenShock.h" #include "Logging.h" #include diff --git a/include/util/Base64Utils.h b/components/util/include/util/Base64Utils.h similarity index 100% rename from include/util/Base64Utils.h rename to components/util/include/util/Base64Utils.h diff --git a/include/util/DigitCounter.h b/components/util/include/util/DigitCounter.h similarity index 100% rename from include/util/DigitCounter.h rename to components/util/include/util/DigitCounter.h diff --git a/include/util/FnProxy.h b/components/util/include/util/FnProxy.h similarity index 100% rename from include/util/FnProxy.h rename to components/util/include/util/FnProxy.h diff --git a/include/util/HexUtils.h b/components/util/include/util/HexUtils.h similarity index 100% rename from include/util/HexUtils.h rename to components/util/include/util/HexUtils.h diff --git a/include/util/IPAddressUtils.h b/components/util/include/util/IPAddressUtils.h similarity index 100% rename from include/util/IPAddressUtils.h rename to components/util/include/util/IPAddressUtils.h diff --git a/include/util/PartitionUtils.h b/components/util/include/util/PartitionUtils.h similarity index 100% rename from include/util/PartitionUtils.h rename to components/util/include/util/PartitionUtils.h diff --git a/include/util/StringUtils.h b/components/util/include/util/StringUtils.h similarity index 100% rename from include/util/StringUtils.h rename to components/util/include/util/StringUtils.h diff --git a/include/util/TaskUtils.h b/components/util/include/util/TaskUtils.h similarity index 100% rename from include/util/TaskUtils.h rename to components/util/include/util/TaskUtils.h diff --git a/src/util/Base64Utils.cpp b/components/util/src/Base64Utils.cpp similarity index 100% rename from src/util/Base64Utils.cpp rename to components/util/src/Base64Utils.cpp diff --git a/src/Convert.cpp b/components/util/src/Convert.cpp similarity index 100% rename from src/Convert.cpp rename to components/util/src/Convert.cpp diff --git a/src/util/DigitCounter.cpp b/components/util/src/DigitCounter.cpp similarity index 100% rename from src/util/DigitCounter.cpp rename to components/util/src/DigitCounter.cpp diff --git a/src/util/IPAddressUtils.cpp b/components/util/src/IPAddressUtils.cpp similarity index 100% rename from src/util/IPAddressUtils.cpp rename to components/util/src/IPAddressUtils.cpp diff --git a/src/util/ParitionUtils.cpp b/components/util/src/ParitionUtils.cpp similarity index 100% rename from src/util/ParitionUtils.cpp rename to components/util/src/ParitionUtils.cpp diff --git a/src/RateLimiter.cpp b/components/util/src/RateLimiter.cpp similarity index 100% rename from src/RateLimiter.cpp rename to components/util/src/RateLimiter.cpp diff --git a/src/SemVer.cpp b/components/util/src/SemVer.cpp similarity index 100% rename from src/SemVer.cpp rename to components/util/src/SemVer.cpp diff --git a/src/util/StringUtils.cpp b/components/util/src/StringUtils.cpp similarity index 100% rename from src/util/StringUtils.cpp rename to components/util/src/StringUtils.cpp diff --git a/src/util/TaskUtils.cpp b/components/util/src/TaskUtils.cpp similarity index 100% rename from src/util/TaskUtils.cpp rename to components/util/src/TaskUtils.cpp diff --git a/dependencies.lock b/dependencies.lock new file mode 100644 index 00000000..355a1e23 --- /dev/null +++ b/dependencies.lock @@ -0,0 +1,365 @@ +dependencies: + chmorgan/esp-libhelix-mp3: + component_hash: cbb76089dc2c5749f7b470e2e70aedc44c9da519e04eb9a67d4c7ec275229e53 + dependencies: + - name: idf + require: private + version: '>=4.1.0' + source: + registry_url: https://components.espressif.com/ + type: service + version: 1.0.3 + espressif/cbor: + component_hash: dad9ca860963e930366510a10b422b3125a4fb27b979712ed65efcbcd742de50 + dependencies: + - name: idf + require: private + version: '>=5.0' + source: + registry_url: https://components.espressif.com/ + type: service + version: 0.6.1~4 + espressif/cjson: + component_hash: e788323270d90738662d66fffa910bfe1fba019bba087f01557e70c40485b469 + dependencies: + - name: idf + require: private + version: '>=5.0' + source: + registry_url: https://components.espressif.com + type: service + version: 1.7.19~2 + espressif/dl_fft: + component_hash: 7dadbd644c0d7ba4733cc3726ec4cff6edf27b043725e1115861dec1609a3d28 + dependencies: + - name: idf + require: private + version: '>=5.0' + source: + registry_url: https://components.espressif.com + type: service + version: 0.3.1 + espressif/esp-dsp: + component_hash: 12e44db246517a627bc0fe2b255b8335410c0215c98bfba2df5a8e3edea839ef + dependencies: + - name: idf + require: private + version: '>=4.2' + source: + registry_url: https://components.espressif.com/ + type: service + version: 1.8.0 + espressif/esp-modbus: + component_hash: 5d5e90b9e55721a8a194b301ad8102d4affb647f47b74cd413ff7d1ce2c1169c + dependencies: + - name: idf + require: private + version: '>=4.3' + source: + registry_url: https://components.espressif.com/ + type: service + version: 1.0.18 + espressif/esp-serial-flasher: + component_hash: dcc42a16712a1a636509cf0bf90e14032d7f2141784b533613b267b6aa318d52 + dependencies: [] + source: + registry_url: https://components.espressif.com + type: service + version: 0.0.11 + espressif/esp-sr: + component_hash: 91f54718b22328546502ed96c6b2e53033cb90d83a3fd87bc60d0b27a7cc841a + dependencies: + - name: espressif/cjson + registry_url: https://components.espressif.com + require: private + version: ^1.7.19 + - name: espressif/dl_fft + registry_url: https://components.espressif.com + require: private + version: '>=0.2.0' + - name: espressif/esp-dsp + registry_url: https://components.espressif.com + require: private + version: 1.8.0 + - name: idf + require: private + version: '>=5.0' + source: + registry_url: https://components.espressif.com/ + type: service + version: 2.4.2 + espressif/esp-zboss-lib: + component_hash: 321883d142421f65009972408287441794250057668a11abbdfd8bec77c3309a + dependencies: + - name: idf + require: private + version: '>=5.0' + source: + registry_url: https://components.espressif.com/ + type: service + version: 1.6.4 + espressif/esp-zigbee-lib: + component_hash: fa0812e6743e2a7d999af9f44ccdcea17ccb1e80f98d6b2956f44687503a88fd + dependencies: + - name: idf + require: private + version: '>=5.0' + source: + registry_url: https://components.espressif.com/ + type: service + version: 1.6.8 + espressif/esp_diag_data_store: + component_hash: c1e5cf62f545d2b136db299f4df1b228b9840be5bc3410c9ad2d2a882b5c0d64 + dependencies: + - name: idf + require: private + version: '>=4.1' + source: + registry_url: https://components.espressif.com/ + type: service + version: 1.0.2 + espressif/esp_diagnostics: + component_hash: 5ea8e8da8217ed9ed778db3973139e726e17cd27ef5cf6429c787d19226c79f3 + dependencies: + - name: idf + require: private + version: '>=4.1' + - name: espressif/rmaker_common + registry_url: https://components.espressif.com + require: private + version: ~1.4.0 + source: + registry_url: https://components.espressif.com/ + type: service + version: 1.2.1 + espressif/esp_insights: + component_hash: 4015c524b9955528f941268cf080174076b195800de910d061efc46113bc2e0c + dependencies: + - name: idf + require: private + version: '>=4.1' + - name: espressif/cbor + registry_url: https://components.espressif.com + require: private + rules: + - if: idf_version >=5.0 + version: ~0.6 + - name: espressif/esp_diag_data_store + registry_url: https://components.espressif.com + require: private + version: 1.0.2 + - name: espressif/esp_diagnostics + registry_url: https://components.espressif.com + require: private + version: 1.2.1 + - name: espressif/rmaker_common + registry_url: https://components.espressif.com + require: private + version: ~1.4.0 + source: + registry_url: https://components.espressif.com/ + type: service + version: 1.2.2 + espressif/esp_modem: + component_hash: f4fa6dab2496af2673a68881132bb7ce0f05bf62e30e5bd0d45b607066378a28 + dependencies: + - name: idf + require: private + version: '>=4.1' + source: + registry_url: https://components.espressif.com/ + type: service + version: 2.0.1 + espressif/esp_rainmaker: + component_hash: f6fe458fc7a0102ee2879f0247da4b41419e6c07de12031f66e5e9454d25baaa + dependencies: + - name: espressif/esp_rcp_update + registry_url: https://components.espressif.com + require: private + rules: + - if: idf_version >= 5.1 + version: ~1.2.0 + - name: espressif/esp_schedule + registry_url: https://components.espressif.com + require: private + version: ~1.2.0 + - name: espressif/esp_secure_cert_mgr + registry_url: https://components.espressif.com + require: private + rules: + - if: idf_version >=4.3 + version: ^2.2.1 + - name: espressif/json_generator + registry_url: https://components.espressif.com + require: private + version: ~1.1.1 + - name: espressif/json_parser + registry_url: https://components.espressif.com + require: private + version: ~1.0.3 + - name: espressif/mdns + registry_url: https://components.espressif.com + require: private + rules: + - if: idf_version >=5.0 + version: ^1.2.0 + - name: espressif/network_provisioning + registry_url: https://components.espressif.com + require: private + rules: + - if: idf_version >= 5.1 + version: ~1.0.0 + - name: espressif/rmaker_common + registry_url: https://components.espressif.com + require: private + version: ~1.4.6 + source: + registry_url: https://components.espressif.com/ + type: service + version: 1.5.2 + espressif/esp_rcp_update: + component_hash: c10afbd54a17f27eed880e61262b161656e6d36ad63376c307f9273e99d0abcd + dependencies: + - name: espressif/esp-serial-flasher + registry_url: https://components.espressif.com + require: private + version: ~0.0.0 + - name: idf + require: private + version: '>=5.0' + source: + registry_url: https://components.espressif.com + type: service + version: 1.2.0 + espressif/esp_schedule: + component_hash: e202a9c688f7f1ab601efb91d682e4bcfaebc508dcceee1a1e0a0d2d1ca75a26 + dependencies: + - name: espressif/rmaker_common + registry_url: https://components.espressif.com + require: private + version: ~1.4.2 + source: + registry_url: https://components.espressif.com + type: service + version: 1.2.0 + espressif/esp_secure_cert_mgr: + component_hash: 40a986c1f45d91eb6d339ca51dcab90c4ecce2a6622c268edaaa05887852d464 + dependencies: + - name: idf + require: private + version: '>=4.3' + source: + registry_url: https://components.espressif.com + type: service + version: 2.9.2 + espressif/jsmn: + component_hash: d80350c41bbaa827c98a25b6072df00884e72f54885996fab4a4f0aebce6b6c3 + dependencies: + - name: idf + require: private + version: '>=4.3' + source: + registry_url: https://components.espressif.com + type: service + version: 1.1.0 + espressif/json_generator: + component_hash: 45033e1c199b13f1c8c1b544fb7d4e2df6a8e3071ebdcb1b22582b61a7974ff2 + dependencies: [] + source: + registry_url: https://components.espressif.com + type: service + version: 1.1.2 + espressif/json_parser: + component_hash: d74b81729ad06ec11ff5eb5b1b0d7df1d00e6027fc11471f4b139c70dcf1b1e4 + dependencies: + - name: espressif/jsmn + registry_url: https://components.espressif.com + require: private + rules: + - if: idf_version >=5.0 + version: ~1.1 + source: + registry_url: https://components.espressif.com + type: service + version: 1.0.3 + espressif/libsodium: + component_hash: b51f5836f044d8b7fbb1784257605c47ff7356f701377b005912fe6a2f12db37 + dependencies: + - name: idf + require: private + version: '>=4.2' + source: + registry_url: https://components.espressif.com/ + type: service + version: 1.0.21 + espressif/mdns: + component_hash: 8bcf12e37c58c1d584aef32a02b92548124c7a3a9fcf548d3235c844a035e0f0 + dependencies: + - name: idf + require: private + version: '>=5.0' + source: + registry_url: https://components.espressif.com/ + type: service + version: 1.11.1 + espressif/network_provisioning: + component_hash: ef2e10182fd1861e68b821491916327c25416ca7ae70e5a6e43313dbc71fe993 + dependencies: + - name: idf + require: private + version: '>=5.1' + source: + registry_url: https://components.espressif.com/ + type: service + version: 1.0.2 + espressif/qrcode: + component_hash: 3b493771bc5d6ad30cbf87c25bf784aada8a08c941504355b55d6b75518ed7bc + dependencies: [] + source: + registry_url: https://components.espressif.com/ + type: service + version: 0.1.0~2 + espressif/rmaker_common: + component_hash: a3a1df881278d0351fc850b77792fe8a196ddd6dcacbea203d606329cc6a0239 + dependencies: [] + source: + registry_url: https://components.espressif.com/ + type: service + version: 1.4.6 + idf: + source: + type: idf + version: 5.5.4 + joltwallet/littlefs: + component_hash: 29eff7921c4e8bce021aeb7fff2723bfcafed661756de700646ea0f6223c2a32 + dependencies: + - name: idf + require: private + version: '>=5.0' + source: + registry_url: https://components.espressif.com/ + type: service + version: 1.21.1 +direct_dependencies: +- chmorgan/esp-libhelix-mp3 +- espressif/cbor +- espressif/esp-dsp +- espressif/esp-modbus +- espressif/esp-sr +- espressif/esp-zboss-lib +- espressif/esp-zigbee-lib +- espressif/esp_diag_data_store +- espressif/esp_diagnostics +- espressif/esp_insights +- espressif/esp_modem +- espressif/esp_rainmaker +- espressif/libsodium +- espressif/mdns +- espressif/network_provisioning +- espressif/qrcode +- espressif/rmaker_common +- idf +- joltwallet/littlefs +manifest_hash: 5bf89e7dd0ab3452a9daa1d8772af70abf4fb9b22fdc3fd59e39a10bc5fd375f +target: esp32s3 +version: 2.0.0 diff --git a/include/GatewayClient.h b/include/GatewayClient.h index 2a4ead97..95cbab41 100644 --- a/include/GatewayClient.h +++ b/include/GatewayClient.h @@ -1,6 +1,6 @@ #pragma once -#include "Common.h" +#include "OpenShock.h" #include "GatewayClientState.h" #include diff --git a/include/WebSocketDeFragger.h b/include/WebSocketDeFragger.h index 96aefa4d..3a824818 100644 --- a/include/WebSocketDeFragger.h +++ b/include/WebSocketDeFragger.h @@ -1,6 +1,6 @@ #pragma once -#include "Common.h" +#include "OpenShock.h" #include "TinyVec.h" #include "WebSocketMessageType.h" diff --git a/include/captiveportal/CaptivePortalInstance.h b/include/captiveportal/CaptivePortalInstance.h index b441daf8..056197b2 100644 --- a/include/captiveportal/CaptivePortalInstance.h +++ b/include/captiveportal/CaptivePortalInstance.h @@ -1,6 +1,6 @@ #pragma once -#include "Common.h" +#include "OpenShock.h" #include #include "WebSocketDeFragger.h" diff --git a/include/radio/RFTransmitter.h b/include/radio/RFTransmitter.h index 7e37fb0c..96d323ff 100644 --- a/include/radio/RFTransmitter.h +++ b/include/radio/RFTransmitter.h @@ -1,6 +1,6 @@ #pragma once -#include "Common.h" +#include "OpenShock.h" #include "ShockerCommandType.h" #include "ShockerModelType.h" diff --git a/include/radio/rmt/Sequence.h b/include/radio/rmt/Sequence.h index ba043258..9bb79024 100644 --- a/include/radio/rmt/Sequence.h +++ b/include/radio/rmt/Sequence.h @@ -1,6 +1,6 @@ #pragma once -#include "Common.h" +#include "OpenShock.h" #include "ShockerCommandType.h" #include "ShockerModelType.h" diff --git a/include/serial/SerialInputHandler.h b/include/serial/SerialInputHandler.h index 99aeaa38..4089cdf2 100644 --- a/include/serial/SerialInputHandler.h +++ b/include/serial/SerialInputHandler.h @@ -1,20 +1,23 @@ #pragma once +#include + #include -// Making sense of the ESP32 Arduino core #defines -#if ARDUINO_USB_MODE && ARDUINO_USB_CDC_ON_BOOT +// Arduino-ESP32 3.x only declares the USB CDC global (HWCDCSerial or USBSerial) when +// ARDUINO_USB_CDC_ON_BOOT=1. When CDC is on boot, `Serial` macro-aliases to that global +// and UART0 remains available as Serial0. When CDC is off boot, `Serial` is UART0 and +// no USB CDC global is instantiated. +#if ARDUINO_USB_CDC_ON_BOOT #define OS_SERIAL ::Serial0 -#define OS_SERIAL_USB ::Serial -#elif ARDUINO_USB_MODE -#define OS_SERIAL ::Serial -#define OS_SERIAL_USB ::USBSerial +#define OS_SERIAL_USB ::Serial // expands to HWCDCSerial or USBSerial +#define OS_HAS_USB_SERIAL 1 #else -#define OS_SERIAL ::Serial -// Variant lacks USB Serial +#define OS_SERIAL ::Serial // expands to Serial0 +// No USB serial active on boot #endif -#if ARDUINO_USB_MODE +#if OS_HAS_USB_SERIAL #define OS_SERIAL_PRINT(...) \ { \ OS_SERIAL.print(__VA_ARGS__); \ diff --git a/include/serial/command_handlers/common.h b/include/serial/command_handlers/common.h index 17ab3563..e88cd15d 100644 --- a/include/serial/command_handlers/common.h +++ b/include/serial/command_handlers/common.h @@ -7,7 +7,7 @@ #include -#if ARDUINO_USB_MODE +#if OS_HAS_USB_SERIAL #define SERPR_SYS(format, ...) \ { \ OS_SERIAL.printf("$SYS$|" format "\r\n", ##__VA_ARGS__); \ diff --git a/include/serial/command_handlers/index.h b/include/serial/command_handlers/index.h index ecfdac5e..471c9189 100644 --- a/include/serial/command_handlers/index.h +++ b/include/serial/command_handlers/index.h @@ -4,26 +4,26 @@ #include -namespace OpenShock::Serial::CommandHandlers { - OpenShock::Serial::CommandGroup VersionHandler(); - OpenShock::Serial::CommandGroup RestartHandler(); - OpenShock::Serial::CommandGroup SysInfoHandler(); - OpenShock::Serial::CommandGroup EchoHandler(); - OpenShock::Serial::CommandGroup ValidGpiosHandler(); - OpenShock::Serial::CommandGroup RfTxPinHandler(); - OpenShock::Serial::CommandGroup EStopHandler(); - OpenShock::Serial::CommandGroup DomainHandler(); - OpenShock::Serial::CommandGroup AuthTokenHandler(); - OpenShock::Serial::CommandGroup HostnameHandler(); - OpenShock::Serial::CommandGroup NetworksHandler(); - OpenShock::Serial::CommandGroup KeepAliveHandler(); - OpenShock::Serial::CommandGroup JsonConfigHandler(); - OpenShock::Serial::CommandGroup RawConfigHandler(); - OpenShock::Serial::CommandGroup RfTransmitHandler(); - OpenShock::Serial::CommandGroup FactoryResetHandler(); - OpenShock::Serial::CommandGroup LedTestHandler(); +namespace OpenShock::SerialCmds::CommandHandlers { + OpenShock::SerialCmds::CommandGroup VersionHandler(); + OpenShock::SerialCmds::CommandGroup RestartHandler(); + OpenShock::SerialCmds::CommandGroup SysInfoHandler(); + OpenShock::SerialCmds::CommandGroup EchoHandler(); + OpenShock::SerialCmds::CommandGroup ValidGpiosHandler(); + OpenShock::SerialCmds::CommandGroup RfTxPinHandler(); + OpenShock::SerialCmds::CommandGroup EStopHandler(); + OpenShock::SerialCmds::CommandGroup DomainHandler(); + OpenShock::SerialCmds::CommandGroup AuthTokenHandler(); + OpenShock::SerialCmds::CommandGroup HostnameHandler(); + OpenShock::SerialCmds::CommandGroup NetworksHandler(); + OpenShock::SerialCmds::CommandGroup KeepAliveHandler(); + OpenShock::SerialCmds::CommandGroup JsonConfigHandler(); + OpenShock::SerialCmds::CommandGroup RawConfigHandler(); + OpenShock::SerialCmds::CommandGroup RfTransmitHandler(); + OpenShock::SerialCmds::CommandGroup FactoryResetHandler(); + OpenShock::SerialCmds::CommandGroup LedTestHandler(); - inline std::vector AllCommandHandlers() + inline std::vector AllCommandHandlers() { return { VersionHandler(), @@ -45,4 +45,4 @@ namespace OpenShock::Serial::CommandHandlers { LedTestHandler(), }; } -} // namespace OpenShock::Serial::CommandHandlers +} // namespace OpenShock::SerialCmds::CommandHandlers diff --git a/platformio.ini b/platformio.ini index 33e7baec..5a09b6b2 100644 --- a/platformio.ini +++ b/platformio.ini @@ -11,7 +11,7 @@ [env] platform = https://github.com/pioarduino/platform-espressif32/releases/download/55.03.38-1/platform-espressif32.zip board = az-delivery-devkit-v4 ; Overridden per board -framework = arduino +framework = arduino, espidf platform_packages = platformio/tool-xtensa-esp-elf-gdb @@ -59,6 +59,12 @@ lib_deps = https://github.com/google/flatbuffers#03fffb25e2d777462b719cb4964249c30b19d58f https://github.com/OpenShock/ESPAsyncWebServer#e13f2a4c69aefa003ded7bcad76ff42735200dab https://github.com/OpenShock/BadWebSockets#74cadf4a771ea75693fdb860c7ce0b9a2b616fbd +; Under framework=arduino,espidf the Arduino libraries are already compiled as part +; of the framework-arduinoespressif32 IDF component. PIO's LDF must not also pull +; them in from lib/libdeps or we get split translation units (e.g. NetworkClientSecure +; linked without ssl_client symbols). Restrict LDF to explicit lib_deps only. +lib_ldf_mode = chain +lib_compat_mode = strict custom_openshock.flash_size = 4MB; Can be overridden per board board_build.filesystem = littlefs board_build.embed_files = certificates/x509_crt_bundle diff --git a/sdkconfig.NodeMCU-32S b/sdkconfig.NodeMCU-32S new file mode 100644 index 00000000..dc402bf4 --- /dev/null +++ b/sdkconfig.NodeMCU-32S @@ -0,0 +1,4185 @@ +# +# Automatically generated file. DO NOT EDIT. +# Espressif IoT Development Framework (ESP-IDF) 5.5.4 Project Configuration +# +# default: +CONFIG_SOC_CAPS_ECO_VER_MAX=301 +# default: +CONFIG_SOC_ADC_SUPPORTED=y +# default: +CONFIG_SOC_DAC_SUPPORTED=y +# default: +CONFIG_SOC_UART_SUPPORTED=y +# default: +CONFIG_SOC_MCPWM_SUPPORTED=y +# default: +CONFIG_SOC_GPTIMER_SUPPORTED=y +# default: +CONFIG_SOC_SDMMC_HOST_SUPPORTED=y +# default: +CONFIG_SOC_BT_SUPPORTED=y +# default: +CONFIG_SOC_PCNT_SUPPORTED=y +# default: +CONFIG_SOC_PHY_SUPPORTED=y +# default: +CONFIG_SOC_WIFI_SUPPORTED=y +# default: +CONFIG_SOC_SDIO_SLAVE_SUPPORTED=y +# default: +CONFIG_SOC_TWAI_SUPPORTED=y +# default: +CONFIG_SOC_EFUSE_SUPPORTED=y +# default: +CONFIG_SOC_EMAC_SUPPORTED=y +# default: +CONFIG_SOC_ULP_SUPPORTED=y +# default: +CONFIG_SOC_CCOMP_TIMER_SUPPORTED=y +# default: +CONFIG_SOC_RTC_FAST_MEM_SUPPORTED=y +# default: +CONFIG_SOC_RTC_SLOW_MEM_SUPPORTED=y +# default: +CONFIG_SOC_RTC_MEM_SUPPORTED=y +# default: +CONFIG_SOC_I2S_SUPPORTED=y +# default: +CONFIG_SOC_RMT_SUPPORTED=y +# default: +CONFIG_SOC_SDM_SUPPORTED=y +# default: +CONFIG_SOC_GPSPI_SUPPORTED=y +# default: +CONFIG_SOC_LEDC_SUPPORTED=y +# default: +CONFIG_SOC_I2C_SUPPORTED=y +# default: +CONFIG_SOC_SUPPORT_COEXISTENCE=y +# default: +CONFIG_SOC_AES_SUPPORTED=y +# default: +CONFIG_SOC_MPI_SUPPORTED=y +# default: +CONFIG_SOC_SHA_SUPPORTED=y +# default: +CONFIG_SOC_FLASH_ENC_SUPPORTED=y +# default: +CONFIG_SOC_SECURE_BOOT_SUPPORTED=y +# default: +CONFIG_SOC_TOUCH_SENSOR_SUPPORTED=y +# default: +CONFIG_SOC_BOD_SUPPORTED=y +# default: +CONFIG_SOC_ULP_FSM_SUPPORTED=y +# default: +CONFIG_SOC_CLK_TREE_SUPPORTED=y +# default: +CONFIG_SOC_MPU_SUPPORTED=y +# default: +CONFIG_SOC_WDT_SUPPORTED=y +# default: +CONFIG_SOC_SPI_FLASH_SUPPORTED=y +# default: +CONFIG_SOC_RNG_SUPPORTED=y +# default: +CONFIG_SOC_LIGHT_SLEEP_SUPPORTED=y +# default: +CONFIG_SOC_DEEP_SLEEP_SUPPORTED=y +# default: +CONFIG_SOC_LP_PERIPH_SHARE_INTERRUPT=y +# default: +CONFIG_SOC_PM_SUPPORTED=y +# default: +CONFIG_SOC_DPORT_WORKAROUND_DIS_INTERRUPT_LVL=5 +# default: +CONFIG_SOC_XTAL_SUPPORT_26M=y +# default: +CONFIG_SOC_XTAL_SUPPORT_40M=y +# default: +CONFIG_SOC_XTAL_SUPPORT_AUTO_DETECT=y +# default: +CONFIG_SOC_ADC_RTC_CTRL_SUPPORTED=y +# default: +CONFIG_SOC_ADC_DIG_CTRL_SUPPORTED=y +# default: +CONFIG_SOC_ADC_DMA_SUPPORTED=y +# default: +CONFIG_SOC_ADC_PERIPH_NUM=2 +# default: +CONFIG_SOC_ADC_MAX_CHANNEL_NUM=10 +# default: +CONFIG_SOC_ADC_ATTEN_NUM=4 +# default: +CONFIG_SOC_ADC_DIGI_CONTROLLER_NUM=2 +# default: +CONFIG_SOC_ADC_PATT_LEN_MAX=16 +# default: +CONFIG_SOC_ADC_DIGI_MIN_BITWIDTH=9 +# default: +CONFIG_SOC_ADC_DIGI_MAX_BITWIDTH=12 +# default: +CONFIG_SOC_ADC_DIGI_RESULT_BYTES=2 +# default: +CONFIG_SOC_ADC_DIGI_DATA_BYTES_PER_CONV=4 +# default: +CONFIG_SOC_ADC_DIGI_MONITOR_NUM=0 +# default: +CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_HIGH=2 +# default: +CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_LOW=20 +# default: +CONFIG_SOC_ADC_RTC_MIN_BITWIDTH=9 +# default: +CONFIG_SOC_ADC_RTC_MAX_BITWIDTH=12 +# default: +CONFIG_SOC_ADC_SHARED_POWER=y +# default: +CONFIG_SOC_BROWNOUT_RESET_SUPPORTED=y +# default: +CONFIG_SOC_SHARED_IDCACHE_SUPPORTED=y +# default: +CONFIG_SOC_IDCACHE_PER_CORE=y +# default: +CONFIG_SOC_CPU_CORES_NUM=2 +# default: +CONFIG_SOC_CPU_INTR_NUM=32 +# default: +CONFIG_SOC_CPU_HAS_FPU=y +# default: +CONFIG_SOC_HP_CPU_HAS_MULTIPLE_CORES=y +# default: +CONFIG_SOC_CPU_BREAKPOINTS_NUM=2 +# default: +CONFIG_SOC_CPU_WATCHPOINTS_NUM=2 +# default: +CONFIG_SOC_CPU_WATCHPOINT_MAX_REGION_SIZE=0x40 +# default: +CONFIG_SOC_DAC_CHAN_NUM=2 +# default: +CONFIG_SOC_DAC_RESOLUTION=8 +# default: +CONFIG_SOC_DAC_DMA_16BIT_ALIGN=y +# default: +CONFIG_SOC_GPIO_PORT=1 +# default: +CONFIG_SOC_GPIO_PIN_COUNT=40 +# default: +CONFIG_SOC_GPIO_VALID_GPIO_MASK=0xFFFFFFFFFF +# default: +CONFIG_SOC_GPIO_IN_RANGE_MAX=39 +# default: +CONFIG_SOC_GPIO_OUT_RANGE_MAX=33 +# default: +CONFIG_SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK=0xEF0FEA +# default: +CONFIG_SOC_GPIO_CLOCKOUT_BY_IO_MUX=y +# default: +CONFIG_SOC_GPIO_CLOCKOUT_CHANNEL_NUM=3 +# default: +CONFIG_SOC_I2C_NUM=2 +# default: +CONFIG_SOC_HP_I2C_NUM=2 +# default: +CONFIG_SOC_I2C_FIFO_LEN=32 +# default: +CONFIG_SOC_I2C_CMD_REG_NUM=16 +# default: +CONFIG_SOC_I2C_SUPPORT_SLAVE=y +# default: +CONFIG_SOC_I2C_SUPPORT_APB=y +# default: +CONFIG_SOC_I2C_SUPPORT_10BIT_ADDR=y +# default: +CONFIG_SOC_I2C_STOP_INDEPENDENT=y +# default: +CONFIG_SOC_I2S_NUM=2 +# default: +CONFIG_SOC_I2S_HW_VERSION_1=y +# default: +CONFIG_SOC_I2S_SUPPORTS_APLL=y +# default: +CONFIG_SOC_I2S_SUPPORTS_PLL_F160M=y +# default: +CONFIG_SOC_I2S_SUPPORTS_PDM=y +# default: +CONFIG_SOC_I2S_SUPPORTS_PDM_TX=y +# default: +CONFIG_SOC_I2S_SUPPORTS_PCM2PDM=y +# default: +CONFIG_SOC_I2S_SUPPORTS_PDM_RX=y +# default: +CONFIG_SOC_I2S_SUPPORTS_PDM2PCM=y +# default: +CONFIG_SOC_I2S_PDM_MAX_TX_LINES=1 +# default: +CONFIG_SOC_I2S_PDM_MAX_RX_LINES=1 +# default: +CONFIG_SOC_I2S_SUPPORTS_ADC_DAC=y +# default: +CONFIG_SOC_I2S_SUPPORTS_ADC=y +# default: +CONFIG_SOC_I2S_SUPPORTS_DAC=y +# default: +CONFIG_SOC_I2S_SUPPORTS_LCD_CAMERA=y +# default: +CONFIG_SOC_I2S_MAX_DATA_WIDTH=24 +# default: +CONFIG_SOC_I2S_TRANS_SIZE_ALIGN_WORD=y +# default: +CONFIG_SOC_I2S_LCD_I80_VARIANT=y +# default: +CONFIG_SOC_LCD_I80_SUPPORTED=y +# default: +CONFIG_SOC_LCD_I80_BUSES=2 +# default: +CONFIG_SOC_LCD_I80_BUS_WIDTH=24 +# default: +CONFIG_SOC_LEDC_HAS_TIMER_SPECIFIC_MUX=y +# default: +CONFIG_SOC_LEDC_SUPPORT_APB_CLOCK=y +# default: +CONFIG_SOC_LEDC_SUPPORT_REF_TICK=y +# default: +CONFIG_SOC_LEDC_SUPPORT_HS_MODE=y +# default: +CONFIG_SOC_LEDC_TIMER_NUM=4 +# default: +CONFIG_SOC_LEDC_CHANNEL_NUM=8 +# default: +CONFIG_SOC_LEDC_TIMER_BIT_WIDTH=20 +# default: +CONFIG_SOC_MCPWM_GROUPS=2 +# default: +CONFIG_SOC_MCPWM_TIMERS_PER_GROUP=3 +# default: +CONFIG_SOC_MCPWM_OPERATORS_PER_GROUP=3 +# default: +CONFIG_SOC_MCPWM_COMPARATORS_PER_OPERATOR=2 +# default: +CONFIG_SOC_MCPWM_GENERATORS_PER_OPERATOR=2 +# default: +CONFIG_SOC_MCPWM_TRIGGERS_PER_OPERATOR=2 +# default: +CONFIG_SOC_MCPWM_GPIO_FAULTS_PER_GROUP=3 +# default: +CONFIG_SOC_MCPWM_CAPTURE_TIMERS_PER_GROUP=y +# default: +CONFIG_SOC_MCPWM_CAPTURE_CHANNELS_PER_TIMER=3 +# default: +CONFIG_SOC_MCPWM_GPIO_SYNCHROS_PER_GROUP=3 +# default: +CONFIG_SOC_MMU_PERIPH_NUM=2 +# default: +CONFIG_SOC_MMU_LINEAR_ADDRESS_REGION_NUM=3 +# default: +CONFIG_SOC_MPU_MIN_REGION_SIZE=0x20000000 +# default: +CONFIG_SOC_MPU_REGIONS_MAX_NUM=8 +# default: +CONFIG_SOC_PCNT_GROUPS=1 +# default: +CONFIG_SOC_PCNT_UNITS_PER_GROUP=8 +# default: +CONFIG_SOC_PCNT_CHANNELS_PER_UNIT=2 +# default: +CONFIG_SOC_PCNT_THRES_POINT_PER_UNIT=2 +# default: +CONFIG_SOC_RMT_GROUPS=1 +# default: +CONFIG_SOC_RMT_TX_CANDIDATES_PER_GROUP=8 +# default: +CONFIG_SOC_RMT_RX_CANDIDATES_PER_GROUP=8 +# default: +CONFIG_SOC_RMT_CHANNELS_PER_GROUP=8 +# default: +CONFIG_SOC_RMT_MEM_WORDS_PER_CHANNEL=64 +# default: +CONFIG_SOC_RMT_SUPPORT_REF_TICK=y +# default: +CONFIG_SOC_RMT_SUPPORT_APB=y +# default: +CONFIG_SOC_RMT_CHANNEL_CLK_INDEPENDENT=y +# default: +CONFIG_SOC_RTCIO_PIN_COUNT=18 +# default: +CONFIG_SOC_RTCIO_INPUT_OUTPUT_SUPPORTED=y +# default: +CONFIG_SOC_RTCIO_HOLD_SUPPORTED=y +# default: +CONFIG_SOC_RTCIO_WAKE_SUPPORTED=y +# default: +CONFIG_SOC_RTC_CNTL_NEEDS_ATOMIC_ACCESS=y +# default: +CONFIG_SOC_SDM_GROUPS=1 +# default: +CONFIG_SOC_SDM_CHANNELS_PER_GROUP=8 +# default: +CONFIG_SOC_SDM_CLK_SUPPORT_APB=y +# default: +CONFIG_SOC_SPI_HD_BOTH_INOUT_SUPPORTED=y +# default: +CONFIG_SOC_SPI_AS_CS_SUPPORTED=y +# default: +CONFIG_SOC_SPI_PERIPH_NUM=3 +# default: +CONFIG_SOC_SPI_DMA_CHAN_NUM=2 +# default: +CONFIG_SOC_SPI_MAX_CS_NUM=3 +# default: +CONFIG_SOC_SPI_SUPPORT_CLK_APB=y +# default: +CONFIG_SOC_SPI_MAXIMUM_BUFFER_SIZE=64 +# default: +CONFIG_SOC_SPI_MAX_PRE_DIVIDER=8192 +# default: +CONFIG_SOC_TIMER_GROUPS=2 +# default: +CONFIG_SOC_TIMER_GROUP_TIMERS_PER_GROUP=2 +# default: +CONFIG_SOC_TIMER_GROUP_COUNTER_BIT_WIDTH=64 +# default: +CONFIG_SOC_TIMER_GROUP_TOTAL_TIMERS=4 +# default: +CONFIG_SOC_TIMER_GROUP_SUPPORT_APB=y +# default: +CONFIG_SOC_LP_TIMER_BIT_WIDTH_LO=32 +# default: +CONFIG_SOC_LP_TIMER_BIT_WIDTH_HI=16 +# default: +CONFIG_SOC_TOUCH_SENSOR_VERSION=1 +# default: +CONFIG_SOC_TOUCH_SENSOR_NUM=10 +# default: +CONFIG_SOC_TOUCH_MIN_CHAN_ID=0 +# default: +CONFIG_SOC_TOUCH_MAX_CHAN_ID=9 +# default: +CONFIG_SOC_TOUCH_SUPPORT_SLEEP_WAKEUP=y +# default: +CONFIG_SOC_TOUCH_SAMPLE_CFG_NUM=1 +# default: +CONFIG_SOC_TWAI_CONTROLLER_NUM=1 +# default: +CONFIG_SOC_TWAI_MASK_FILTER_NUM=1 +# default: +CONFIG_SOC_TWAI_BRP_MIN=2 +# default: +CONFIG_SOC_TWAI_CLK_SUPPORT_APB=y +# default: +CONFIG_SOC_TWAI_SUPPORT_MULTI_ADDRESS_LAYOUT=y +# default: +CONFIG_SOC_UART_NUM=3 +# default: +CONFIG_SOC_UART_HP_NUM=3 +# default: +CONFIG_SOC_UART_SUPPORT_APB_CLK=y +# default: +CONFIG_SOC_UART_SUPPORT_REF_TICK=y +# default: +CONFIG_SOC_UART_FIFO_LEN=128 +# default: +CONFIG_SOC_UART_BITRATE_MAX=5000000 +# default: +CONFIG_SOC_UART_WAKEUP_SUPPORT_ACTIVE_THRESH_MODE=y +# default: +CONFIG_SOC_SPIRAM_SUPPORTED=y +# default: +CONFIG_SOC_SPI_MEM_SUPPORT_CONFIG_GPIO_BY_EFUSE=y +# default: +CONFIG_SOC_SHA_SUPPORT_PARALLEL_ENG=y +# default: +CONFIG_SOC_SHA_ENDIANNESS_BE=y +# default: +CONFIG_SOC_SHA_SUPPORT_SHA1=y +# default: +CONFIG_SOC_SHA_SUPPORT_SHA256=y +# default: +CONFIG_SOC_SHA_SUPPORT_SHA384=y +# default: +CONFIG_SOC_SHA_SUPPORT_SHA512=y +# default: +CONFIG_SOC_MPI_MEM_BLOCKS_NUM=4 +# default: +CONFIG_SOC_MPI_OPERATIONS_NUM=1 +# default: +CONFIG_SOC_RSA_MAX_BIT_LEN=4096 +# default: +CONFIG_SOC_AES_SUPPORT_AES_128=y +# default: +CONFIG_SOC_AES_SUPPORT_AES_192=y +# default: +CONFIG_SOC_AES_SUPPORT_AES_256=y +# default: +CONFIG_SOC_SECURE_BOOT_V1=y +# default: +CONFIG_SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS=1 +# default: +CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX=32 +# default: +CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE=21 +# default: +CONFIG_SOC_PM_SUPPORT_EXT0_WAKEUP=y +# default: +CONFIG_SOC_PM_SUPPORT_EXT1_WAKEUP=y +# default: +CONFIG_SOC_PM_SUPPORT_EXT_WAKEUP=y +# default: +CONFIG_SOC_PM_SUPPORT_TOUCH_SENSOR_WAKEUP=y +# default: +CONFIG_SOC_PM_SUPPORT_RTC_PERIPH_PD=y +# default: +CONFIG_SOC_PM_SUPPORT_RTC_FAST_MEM_PD=y +# default: +CONFIG_SOC_PM_SUPPORT_RTC_SLOW_MEM_PD=y +# default: +CONFIG_SOC_PM_SUPPORT_RC_FAST_PD=y +# default: +CONFIG_SOC_PM_SUPPORT_VDDSDIO_PD=y +# default: +CONFIG_SOC_PM_SUPPORT_MODEM_PD=y +# default: +CONFIG_SOC_CONFIGURABLE_VDDSDIO_SUPPORTED=y +# default: +CONFIG_SOC_PM_MODEM_PD_BY_SW=y +# default: +CONFIG_SOC_CLK_APLL_SUPPORTED=y +# default: +CONFIG_SOC_CLK_RC_FAST_D256_SUPPORTED=y +# default: +CONFIG_SOC_RTC_SLOW_CLK_SUPPORT_RC_FAST_D256=y +# default: +CONFIG_SOC_CLK_RC_FAST_SUPPORT_CALIBRATION=y +# default: +CONFIG_SOC_CLK_XTAL32K_SUPPORTED=y +# default: +CONFIG_SOC_CLK_LP_FAST_SUPPORT_XTAL_D4=y +# default: +CONFIG_SOC_SDMMC_USE_IOMUX=y +# default: +CONFIG_SOC_SDMMC_NUM_SLOTS=2 +# default: +CONFIG_SOC_WIFI_WAPI_SUPPORT=y +# default: +CONFIG_SOC_WIFI_CSI_SUPPORT=y +# default: +CONFIG_SOC_WIFI_MESH_SUPPORT=y +# default: +CONFIG_SOC_WIFI_SUPPORT_VARIABLE_BEACON_WINDOW=y +# default: +CONFIG_SOC_WIFI_NAN_SUPPORT=y +# default: +CONFIG_SOC_BLE_SUPPORTED=y +# default: +CONFIG_SOC_BLE_MESH_SUPPORTED=y +# default: +CONFIG_SOC_BT_CLASSIC_SUPPORTED=y +# default: +CONFIG_SOC_BLUFI_SUPPORTED=y +# default: +CONFIG_SOC_BT_H2C_ENC_KEY_CTRL_ENH_VSC_SUPPORTED=y +# default: +CONFIG_SOC_BLE_MULTI_CONN_OPTIMIZATION=y +# default: +CONFIG_SOC_ULP_HAS_ADC=y +# default: +CONFIG_SOC_PHY_COMBO_MODULE=y +# default: +CONFIG_SOC_EMAC_RMII_CLK_OUT_INTERNAL_LOOPBACK=y +# default: +CONFIG_IDF_CMAKE=y +# default: +CONFIG_IDF_TOOLCHAIN="gcc" +# default: +CONFIG_IDF_TOOLCHAIN_GCC=y +# default: +CONFIG_IDF_TARGET_ARCH_XTENSA=y +# default: +CONFIG_IDF_TARGET_ARCH="xtensa" +# default: +CONFIG_IDF_TARGET="esp32" +# default: +CONFIG_IDF_INIT_VERSION="5.5.4" +# default: +CONFIG_IDF_TARGET_ESP32=y +# default: +CONFIG_IDF_FIRMWARE_CHIP_ID=0x0000 + +# +# Build type +# +# default: +CONFIG_APP_BUILD_TYPE_APP_2NDBOOT=y +# default: +# CONFIG_APP_BUILD_TYPE_RAM is not set +# default: +CONFIG_APP_BUILD_GENERATE_BINARIES=y +# default: +CONFIG_APP_BUILD_BOOTLOADER=y +# default: +CONFIG_APP_BUILD_USE_FLASH_SECTIONS=y +# default: +# CONFIG_APP_REPRODUCIBLE_BUILD is not set +# default: +# CONFIG_APP_NO_BLOBS is not set +# default: +# CONFIG_APP_COMPATIBLE_PRE_V2_1_BOOTLOADERS is not set +# default: +# CONFIG_APP_COMPATIBLE_PRE_V3_1_BOOTLOADERS is not set +# end of Build type + +# +# Bootloader config +# + +# +# Bootloader manager +# +# default: +CONFIG_BOOTLOADER_COMPILE_TIME_DATE=y +# default: +CONFIG_BOOTLOADER_PROJECT_VER=1 +# end of Bootloader manager + +# +# Application Rollback +# +# default: +# CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE is not set +# end of Application Rollback + +# +# Recovery Bootloader and Rollback +# +# end of Recovery Bootloader and Rollback + +# default: +CONFIG_BOOTLOADER_OFFSET_IN_FLASH=0x1000 +# default: +CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y +# default: +# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_DEBUG is not set +# default: +# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_PERF is not set +# default: +# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_NONE is not set + +# +# Log +# +# default: +CONFIG_BOOTLOADER_LOG_VERSION_1=y +# default: +CONFIG_BOOTLOADER_LOG_VERSION=1 +# default: +# CONFIG_BOOTLOADER_LOG_LEVEL_NONE is not set +# default: +# CONFIG_BOOTLOADER_LOG_LEVEL_ERROR is not set +# default: +# CONFIG_BOOTLOADER_LOG_LEVEL_WARN is not set +# default: +CONFIG_BOOTLOADER_LOG_LEVEL_INFO=y +# default: +# CONFIG_BOOTLOADER_LOG_LEVEL_DEBUG is not set +# default: +# CONFIG_BOOTLOADER_LOG_LEVEL_VERBOSE is not set +# default: +CONFIG_BOOTLOADER_LOG_LEVEL=3 + +# +# Format +# +# default: +# CONFIG_BOOTLOADER_LOG_COLORS is not set +# default: +CONFIG_BOOTLOADER_LOG_TIMESTAMP_SOURCE_CPU_TICKS=y +# end of Format + +# +# Settings +# +# default: +CONFIG_BOOTLOADER_LOG_MODE_TEXT_EN=y +# default: +CONFIG_BOOTLOADER_LOG_MODE_TEXT=y +# end of Settings +# end of Log + +# +# Serial Flash Configurations +# +# default: +# CONFIG_BOOTLOADER_FLASH_DC_AWARE is not set +# default: +CONFIG_BOOTLOADER_FLASH_XMC_SUPPORT=y +# end of Serial Flash Configurations + +# default: +# CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_8V is not set +# default: +CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_9V=y +# default: +# CONFIG_BOOTLOADER_FACTORY_RESET is not set +# default: +# CONFIG_BOOTLOADER_APP_TEST is not set +# default: +CONFIG_BOOTLOADER_REGION_PROTECTION_ENABLE=y +# default: +CONFIG_BOOTLOADER_WDT_ENABLE=y +# default: +# CONFIG_BOOTLOADER_WDT_DISABLE_IN_USER_CODE is not set +# default: +CONFIG_BOOTLOADER_WDT_TIME_MS=9000 +# default: +# CONFIG_BOOTLOADER_SKIP_VALIDATE_IN_DEEP_SLEEP is not set +# default: +# CONFIG_BOOTLOADER_SKIP_VALIDATE_ON_POWER_ON is not set +# default: +# CONFIG_BOOTLOADER_SKIP_VALIDATE_ALWAYS is not set +# default: +CONFIG_BOOTLOADER_RESERVE_RTC_SIZE=0 +# default: +# CONFIG_BOOTLOADER_CUSTOM_RESERVE_RTC is not set +# end of Bootloader config + +# +# Security features +# +# default: +CONFIG_SECURE_BOOT_V1_SUPPORTED=y +# default: +# CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT is not set +# default: +# CONFIG_SECURE_BOOT is not set +# default: +# CONFIG_SECURE_FLASH_ENC_ENABLED is not set +# end of Security features + +# +# Application manager +# +# default: +CONFIG_APP_COMPILE_TIME_DATE=y +# default: +# CONFIG_APP_EXCLUDE_PROJECT_VER_VAR is not set +# default: +# CONFIG_APP_EXCLUDE_PROJECT_NAME_VAR is not set +# default: +# CONFIG_APP_PROJECT_VER_FROM_CONFIG is not set +# default: +CONFIG_APP_RETRIEVE_LEN_ELF_SHA=9 +# end of Application manager + +# default: +CONFIG_ESP_ROM_HAS_CRC_LE=y +# default: +CONFIG_ESP_ROM_HAS_CRC_BE=y +# default: +CONFIG_ESP_ROM_HAS_MZ_CRC32=y +# default: +CONFIG_ESP_ROM_HAS_JPEG_DECODE=y +# default: +CONFIG_ESP_ROM_HAS_UART_BUF_SWITCH=y +# default: +CONFIG_ESP_ROM_NEEDS_SWSETUP_WORKAROUND=y +# default: +CONFIG_ESP_ROM_HAS_NEWLIB=y +# default: +CONFIG_ESP_ROM_HAS_NEWLIB_NANO_FORMAT=y +# default: +CONFIG_ESP_ROM_HAS_NEWLIB_32BIT_TIME=y +# default: +CONFIG_ESP_ROM_HAS_SW_FLOAT=y +# default: +CONFIG_ESP_ROM_USB_OTG_NUM=-1 +# default: +CONFIG_ESP_ROM_USB_SERIAL_DEVICE_NUM=-1 +# default: +CONFIG_ESP_ROM_SUPPORT_DEEP_SLEEP_WAKEUP_STUB=y +# default: +CONFIG_ESP_ROM_HAS_OUTPUT_PUTC_FUNC=y + +# +# Serial flasher config +# +# default: +# CONFIG_ESPTOOLPY_NO_STUB is not set +# default: +# CONFIG_ESPTOOLPY_FLASHMODE_QIO is not set +# default: +# CONFIG_ESPTOOLPY_FLASHMODE_QOUT is not set +# default: +CONFIG_ESPTOOLPY_FLASHMODE_DIO=y +# default: +# CONFIG_ESPTOOLPY_FLASHMODE_DOUT is not set +# default: +CONFIG_ESPTOOLPY_FLASH_SAMPLE_MODE_STR=y +# default: +CONFIG_ESPTOOLPY_FLASHMODE="dio" +# default: +# CONFIG_ESPTOOLPY_FLASHFREQ_80M is not set +# default: +CONFIG_ESPTOOLPY_FLASHFREQ_40M=y +# default: +# CONFIG_ESPTOOLPY_FLASHFREQ_26M is not set +# default: +# CONFIG_ESPTOOLPY_FLASHFREQ_20M is not set +# default: +CONFIG_ESPTOOLPY_FLASHFREQ="40m" +# default: +# CONFIG_ESPTOOLPY_FLASHSIZE_1MB is not set +# default: +CONFIG_ESPTOOLPY_FLASHSIZE_2MB=y +# default: +# CONFIG_ESPTOOLPY_FLASHSIZE_4MB is not set +# default: +# CONFIG_ESPTOOLPY_FLASHSIZE_8MB is not set +# default: +# CONFIG_ESPTOOLPY_FLASHSIZE_16MB is not set +# default: +# CONFIG_ESPTOOLPY_FLASHSIZE_32MB is not set +# default: +# CONFIG_ESPTOOLPY_FLASHSIZE_64MB is not set +# default: +# CONFIG_ESPTOOLPY_FLASHSIZE_128MB is not set +# default: +CONFIG_ESPTOOLPY_FLASHSIZE="2MB" +# default: +# CONFIG_ESPTOOLPY_HEADER_FLASHSIZE_UPDATE is not set +# default: +CONFIG_ESPTOOLPY_BEFORE_RESET=y +# default: +# CONFIG_ESPTOOLPY_BEFORE_NORESET is not set +# default: +CONFIG_ESPTOOLPY_BEFORE="default_reset" +# default: +CONFIG_ESPTOOLPY_AFTER_RESET=y +# default: +# CONFIG_ESPTOOLPY_AFTER_NORESET is not set +# default: +CONFIG_ESPTOOLPY_AFTER="hard_reset" +# default: +CONFIG_ESPTOOLPY_MONITOR_BAUD=115200 +# end of Serial flasher config + +# +# Partition Table +# +# default: +CONFIG_PARTITION_TABLE_SINGLE_APP=y +# default: +# CONFIG_PARTITION_TABLE_SINGLE_APP_LARGE is not set +# default: +# CONFIG_PARTITION_TABLE_TWO_OTA is not set +# default: +# CONFIG_PARTITION_TABLE_TWO_OTA_LARGE is not set +# default: +# CONFIG_PARTITION_TABLE_CUSTOM is not set +# default: +CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv" +# default: +CONFIG_PARTITION_TABLE_FILENAME="partitions_singleapp.csv" +# default: +CONFIG_PARTITION_TABLE_OFFSET=0x8000 +# default: +CONFIG_PARTITION_TABLE_MD5=y +# end of Partition Table + +# +# Arduino Configuration +# +# default: +CONFIG_ARDUINO_VARIANT="esp32" +# default: +CONFIG_ENABLE_ARDUINO_DEPENDS=y +CONFIG_AUTOSTART_ARDUINO=y +# default: +# CONFIG_ARDUINO_RUN_CORE0 is not set +# default: +CONFIG_ARDUINO_RUN_CORE1=y +# default: +# CONFIG_ARDUINO_RUN_NO_AFFINITY is not set +# default: +CONFIG_ARDUINO_RUNNING_CORE=1 +# default: +CONFIG_ARDUINO_LOOP_STACK_SIZE=8192 +# default: +# CONFIG_ARDUINO_EVENT_RUN_CORE0 is not set +# default: +CONFIG_ARDUINO_EVENT_RUN_CORE1=y +# default: +# CONFIG_ARDUINO_EVENT_RUN_NO_AFFINITY is not set +# default: +CONFIG_ARDUINO_EVENT_RUNNING_CORE=1 +# default: +# CONFIG_ARDUINO_SERIAL_EVENT_RUN_CORE0 is not set +# default: +# CONFIG_ARDUINO_SERIAL_EVENT_RUN_CORE1 is not set +# default: +CONFIG_ARDUINO_SERIAL_EVENT_RUN_NO_AFFINITY=y +# default: +CONFIG_ARDUINO_SERIAL_EVENT_TASK_RUNNING_CORE=-1 +# default: +CONFIG_ARDUINO_SERIAL_EVENT_TASK_STACK_SIZE=2048 +# default: +CONFIG_ARDUINO_SERIAL_EVENT_TASK_PRIORITY=24 +# default: +CONFIG_ARDUINO_UDP_RUN_CORE0=y +# default: +# CONFIG_ARDUINO_UDP_RUN_CORE1 is not set +# default: +# CONFIG_ARDUINO_UDP_RUN_NO_AFFINITY is not set +# default: +CONFIG_ARDUINO_UDP_RUNNING_CORE=0 +# default: +CONFIG_ARDUINO_UDP_TASK_PRIORITY=3 +# default: +CONFIG_ARDUINO_UDP_TASK_STACK_SIZE=4096 +# default: +# CONFIG_ARDUINO_ISR_IRAM is not set +# default: +# CONFIG_DISABLE_HAL_LOCKS is not set + +# +# Debug Log Configuration +# +# default: +# CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_NONE is not set +# default: +CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_ERROR=y +# default: +# CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_WARN is not set +# default: +# CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_INFO is not set +# default: +# CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_DEBUG is not set +# default: +# CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_VERBOSE is not set +# default: +CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL=1 +# default: +# CONFIG_ARDUHAL_LOG_COLORS is not set +# default: +# CONFIG_ARDUHAL_ESP_LOG is not set +# end of Debug Log Configuration + +# default: +CONFIG_ARDUHAL_PARTITION_SCHEME_DEFAULT=y +# default: +# CONFIG_ARDUHAL_PARTITION_SCHEME_MINIMAL is not set +# default: +# CONFIG_ARDUHAL_PARTITION_SCHEME_NO_OTA is not set +# default: +# CONFIG_ARDUHAL_PARTITION_SCHEME_HUGE_APP is not set +# default: +# CONFIG_ARDUHAL_PARTITION_SCHEME_MIN_SPIFFS is not set +# default: +CONFIG_ARDUHAL_PARTITION_SCHEME="default" +# default: +# CONFIG_AUTOCONNECT_WIFI is not set +# default: +# CONFIG_ARDUINO_SELECTIVE_COMPILATION is not set +# end of Arduino Configuration + +# +# ESP RainMaker Config +# +# default: +CONFIG_ESP_RMAKER_NO_CLAIM=y +# default: +# CONFIG_ESP_RMAKER_USE_ESP_SECURE_CERT_MGR is not set +# default: +CONFIG_ESP_RMAKER_USE_NVS=y +# default: +CONFIG_ESP_RMAKER_CLAIM_TYPE=0 +# default: +# CONFIG_ESP_RMAKER_READ_MQTT_HOST_FROM_CONFIG is not set +# default: +# CONFIG_ESP_RMAKER_READ_NODE_ID_FROM_CERT_CN is not set +# default: +CONFIG_ESP_RMAKER_MQTT_USE_BASIC_INGEST_TOPICS=y +# default: +CONFIG_ESP_RMAKER_MQTT_ENABLE_BUDGETING=y +# default: +CONFIG_ESP_RMAKER_MQTT_DEFAULT_BUDGET=100 +# default: +CONFIG_ESP_RMAKER_MQTT_MAX_BUDGET=1024 +# default: +CONFIG_ESP_RMAKER_MQTT_BUDGET_REVIVE_PERIOD=5 +# default: +CONFIG_ESP_RMAKER_MQTT_BUDGET_REVIVE_COUNT=1 +# default: +CONFIG_ESP_RMAKER_MAX_PARAM_DATA_SIZE=1024 +# default: +# CONFIG_ESP_RMAKER_DISABLE_USER_MAPPING_PROV is not set +# default: +# CONFIG_ESP_RMAKER_USER_ID_CHECK is not set +# default: +# CONFIG_RMAKER_NAME_PARAM_CB is not set +# default: +# CONFIG_ESP_RMAKER_LOCAL_CTRL_FEATURE_ENABLE is not set +# default: +# CONFIG_ESP_RMAKER_LOCAL_CTRL_AUTO_ENABLE is not set +# default: +CONFIG_ESP_RMAKER_CONSOLE_UART_NUM_0=y +# default: +# CONFIG_ESP_RMAKER_CONSOLE_UART_NUM_1 is not set +# default: +CONFIG_ESP_RMAKER_CONSOLE_UART_NUM=0 +# default: +CONFIG_ESP_RMAKER_USE_CERT_BUNDLE=y + +# +# ESP RainMaker OTA Config +# +# default: +CONFIG_ESP_RMAKER_OTA_AUTOFETCH=y +# default: +CONFIG_ESP_RMAKER_OTA_AUTOFETCH_PERIOD=0 +# default: +# CONFIG_ESP_RMAKER_SKIP_COMMON_NAME_CHECK is not set +# default: +# CONFIG_ESP_RMAKER_SKIP_VERSION_CHECK is not set +# default: +# CONFIG_ESP_RMAKER_SKIP_SECURE_VERSION_CHECK is not set +# default: +# CONFIG_ESP_RMAKER_SKIP_PROJECT_NAME_CHECK is not set +# default: +CONFIG_ESP_RMAKER_OTA_HTTP_RX_BUFFER_SIZE=1024 +# default: +CONFIG_ESP_RMAKER_OTA_ROLLBACK_WAIT_PERIOD=90 +# default: +# CONFIG_ESP_RMAKER_OTA_DISABLE_AUTO_REBOOT is not set +# default: +CONFIG_ESP_RMAKER_OTA_TIME_SUPPORT=y +# end of ESP RainMaker OTA Config + +# +# ESP RainMaker Scheduling +# +# default: +CONFIG_ESP_RMAKER_SCHEDULING_MAX_SCHEDULES=10 +# end of ESP RainMaker Scheduling + +# +# ESP RainMaker Scenes +# +# default: +CONFIG_ESP_RMAKER_SCENES_MAX_SCENES=10 +# default: +# CONFIG_ESP_RMAKER_SCENES_DEACTIVATE_SUPPORT is not set +# end of ESP RainMaker Scenes + +# +# ESP RainMaker Command-Response +# +# default: +CONFIG_ESP_RMAKER_CMD_RESP_ENABLE=y +# default: +# CONFIG_ESP_RMAKER_CMD_RESP_TEST_ENABLE is not set +# end of ESP RainMaker Command-Response + +# default: +CONFIG_ESP_RMAKER_USING_NETWORK_PROV=y +# end of ESP RainMaker Config + +# +# Compiler options +# +# default: +CONFIG_COMPILER_OPTIMIZATION_DEBUG=y +# default: +# CONFIG_COMPILER_OPTIMIZATION_SIZE is not set +# default: +# CONFIG_COMPILER_OPTIMIZATION_PERF is not set +# default: +# CONFIG_COMPILER_OPTIMIZATION_NONE is not set +# default: +CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE=y +# default: +# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT is not set +# default: +# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE is not set +# default: +CONFIG_COMPILER_ASSERT_NDEBUG_EVALUATE=y +# default: +CONFIG_COMPILER_FLOAT_LIB_FROM_GCCLIB=y +# default: +CONFIG_COMPILER_OPTIMIZATION_ASSERTION_LEVEL=2 +# default: +# CONFIG_COMPILER_OPTIMIZATION_CHECKS_SILENT is not set +# default: +CONFIG_COMPILER_HIDE_PATHS_MACROS=y +# CONFIG_COMPILER_CXX_EXCEPTIONS is not set +# default: +# CONFIG_COMPILER_CXX_RTTI is not set +# default: +CONFIG_COMPILER_STACK_CHECK_MODE_NONE=y +# default: +# CONFIG_COMPILER_STACK_CHECK_MODE_NORM is not set +# default: +# CONFIG_COMPILER_STACK_CHECK_MODE_STRONG is not set +# default: +# CONFIG_COMPILER_STACK_CHECK_MODE_ALL is not set +# default: +# CONFIG_COMPILER_NO_MERGE_CONSTANTS is not set +# default: +# CONFIG_COMPILER_WARN_WRITE_STRINGS is not set +# default: +CONFIG_COMPILER_DISABLE_DEFAULT_ERRORS=y +# default: +# CONFIG_COMPILER_DISABLE_GCC12_WARNINGS is not set +# default: +# CONFIG_COMPILER_DISABLE_GCC13_WARNINGS is not set +# default: +# CONFIG_COMPILER_DISABLE_GCC14_WARNINGS is not set +# default: +# CONFIG_COMPILER_DUMP_RTL_FILES is not set +# default: +CONFIG_COMPILER_RT_LIB_GCCLIB=y +# default: +CONFIG_COMPILER_RT_LIB_NAME="gcc" +# default: +CONFIG_COMPILER_ORPHAN_SECTIONS_WARNING=y +# default: +# CONFIG_COMPILER_ORPHAN_SECTIONS_PLACE is not set +# default: +# CONFIG_COMPILER_STATIC_ANALYZER is not set +# end of Compiler options + +# +# Component config +# + +# +# Application Level Tracing +# +# default: +# CONFIG_APPTRACE_DEST_JTAG is not set +# default: +CONFIG_APPTRACE_DEST_NONE=y +# default: +# CONFIG_APPTRACE_DEST_UART1 is not set +# default: +# CONFIG_APPTRACE_DEST_UART2 is not set +# default: +CONFIG_APPTRACE_DEST_UART_NONE=y +# default: +CONFIG_APPTRACE_UART_TASK_PRIO=1 +# default: +CONFIG_APPTRACE_LOCK_ENABLE=y +# end of Application Level Tracing + +# +# Bluetooth +# +# default: +# CONFIG_BT_ENABLED is not set + +# +# Common Options +# + +# +# BLE Log +# +# default: +# CONFIG_BLE_LOG_ENABLED is not set +# end of BLE Log + +# default: +# CONFIG_BT_BLE_LOG_SPI_OUT_ENABLED is not set +# default: +# CONFIG_BT_BLE_LOG_UHCI_OUT_ENABLED is not set +# default: +# CONFIG_BT_LE_USED_MEM_STATISTICS_ENABLED is not set +# end of Common Options +# end of Bluetooth + +# +# Console Library +# +# default: +# CONFIG_CONSOLE_SORTED_HELP is not set +# end of Console Library + +# +# Driver Configurations +# + +# +# Legacy TWAI Driver Configurations +# +# default: +# CONFIG_TWAI_SKIP_LEGACY_CONFLICT_CHECK is not set +# default: +CONFIG_TWAI_ERRATA_FIX_BUS_OFF_REC=y +# default: +CONFIG_TWAI_ERRATA_FIX_TX_INTR_LOST=y +# default: +CONFIG_TWAI_ERRATA_FIX_RX_FRAME_INVALID=y +# default: +CONFIG_TWAI_ERRATA_FIX_RX_FIFO_CORRUPT=y +# default: +CONFIG_TWAI_ERRATA_FIX_LISTEN_ONLY_DOM=y +# end of Legacy TWAI Driver Configurations + +# +# Legacy ADC Driver Configuration +# +# default: +CONFIG_ADC_DISABLE_DAC=y +# default: +# CONFIG_ADC_SUPPRESS_DEPRECATE_WARN is not set +# default: +# CONFIG_ADC_SKIP_LEGACY_CONFLICT_CHECK is not set + +# +# Legacy ADC Calibration Configuration +# +# default: +CONFIG_ADC_CAL_EFUSE_TP_ENABLE=y +# default: +CONFIG_ADC_CAL_EFUSE_VREF_ENABLE=y +# default: +CONFIG_ADC_CAL_LUT_ENABLE=y +# default: +# CONFIG_ADC_CALI_SUPPRESS_DEPRECATE_WARN is not set +# end of Legacy ADC Calibration Configuration +# end of Legacy ADC Driver Configuration + +# +# Legacy DAC Driver Configurations +# +# default: +# CONFIG_DAC_SUPPRESS_DEPRECATE_WARN is not set +# default: +# CONFIG_DAC_SKIP_LEGACY_CONFLICT_CHECK is not set +# end of Legacy DAC Driver Configurations + +# +# Legacy MCPWM Driver Configurations +# +# default: +# CONFIG_MCPWM_SUPPRESS_DEPRECATE_WARN is not set +# default: +# CONFIG_MCPWM_SKIP_LEGACY_CONFLICT_CHECK is not set +# end of Legacy MCPWM Driver Configurations + +# +# Legacy Timer Group Driver Configurations +# +# default: +# CONFIG_GPTIMER_SUPPRESS_DEPRECATE_WARN is not set +# default: +# CONFIG_GPTIMER_SKIP_LEGACY_CONFLICT_CHECK is not set +# end of Legacy Timer Group Driver Configurations + +# +# Legacy RMT Driver Configurations +# +# default: +# CONFIG_RMT_SUPPRESS_DEPRECATE_WARN is not set +# default: +# CONFIG_RMT_SKIP_LEGACY_CONFLICT_CHECK is not set +# end of Legacy RMT Driver Configurations + +# +# Legacy I2S Driver Configurations +# +# default: +# CONFIG_I2S_SUPPRESS_DEPRECATE_WARN is not set +# default: +# CONFIG_I2S_SKIP_LEGACY_CONFLICT_CHECK is not set +# end of Legacy I2S Driver Configurations + +# +# Legacy I2C Driver Configurations +# +# default: +# CONFIG_I2C_SKIP_LEGACY_CONFLICT_CHECK is not set +# end of Legacy I2C Driver Configurations + +# +# Legacy PCNT Driver Configurations +# +# default: +# CONFIG_PCNT_SUPPRESS_DEPRECATE_WARN is not set +# default: +# CONFIG_PCNT_SKIP_LEGACY_CONFLICT_CHECK is not set +# end of Legacy PCNT Driver Configurations + +# +# Legacy SDM Driver Configurations +# +# default: +# CONFIG_SDM_SUPPRESS_DEPRECATE_WARN is not set +# default: +# CONFIG_SDM_SKIP_LEGACY_CONFLICT_CHECK is not set +# end of Legacy SDM Driver Configurations + +# +# Legacy Touch Sensor Driver Configurations +# +# default: +# CONFIG_TOUCH_SUPPRESS_DEPRECATE_WARN is not set +# default: +# CONFIG_TOUCH_SKIP_LEGACY_CONFLICT_CHECK is not set +# end of Legacy Touch Sensor Driver Configurations +# end of Driver Configurations + +# +# eFuse Bit Manager +# +# default: +# CONFIG_EFUSE_CUSTOM_TABLE is not set +# default: +# CONFIG_EFUSE_VIRTUAL is not set +# default: +# CONFIG_EFUSE_CODE_SCHEME_COMPAT_NONE is not set +# default: +CONFIG_EFUSE_CODE_SCHEME_COMPAT_3_4=y +# default: +# CONFIG_EFUSE_CODE_SCHEME_COMPAT_REPEAT is not set +# default: +CONFIG_EFUSE_MAX_BLK_LEN=192 +# end of eFuse Bit Manager + +# +# ESP-TLS +# +# default: +CONFIG_ESP_TLS_USING_MBEDTLS=y +# default: +# CONFIG_ESP_TLS_USE_SECURE_ELEMENT is not set +# default: +# CONFIG_ESP_TLS_CLIENT_SESSION_TICKETS is not set +# default: +# CONFIG_ESP_TLS_SERVER_SESSION_TICKETS is not set +# default: +# CONFIG_ESP_TLS_SERVER_CERT_SELECT_HOOK is not set +# default: +# CONFIG_ESP_TLS_SERVER_MIN_AUTH_MODE_OPTIONAL is not set +# default: +# CONFIG_ESP_TLS_PSK_VERIFICATION is not set +# default: +# CONFIG_ESP_TLS_INSECURE is not set +# default: +CONFIG_ESP_TLS_DYN_BUF_STRATEGY_SUPPORTED=y +# end of ESP-TLS + +# +# ADC and ADC Calibration +# +# default: +# CONFIG_ADC_ONESHOT_CTRL_FUNC_IN_IRAM is not set +# default: +# CONFIG_ADC_CONTINUOUS_ISR_IRAM_SAFE is not set + +# +# ADC Calibration Configurations +# +# default: +CONFIG_ADC_CALI_EFUSE_TP_ENABLE=y +# default: +CONFIG_ADC_CALI_EFUSE_VREF_ENABLE=y +# default: +CONFIG_ADC_CALI_LUT_ENABLE=y +# end of ADC Calibration Configurations + +# default: +CONFIG_ADC_DISABLE_DAC_OUTPUT=y +# default: +# CONFIG_ADC_ENABLE_DEBUG_LOG is not set +# end of ADC and ADC Calibration + +# +# Wireless Coexistence +# +# default: +CONFIG_ESP_COEX_ENABLED=y +# default: +# CONFIG_ESP_COEX_GPIO_DEBUG is not set +# end of Wireless Coexistence + +# +# Common ESP-related +# +# default: +CONFIG_ESP_ERR_TO_NAME_LOOKUP=y +# end of Common ESP-related + +# +# ESP-Driver:DAC Configurations +# +# default: +# CONFIG_DAC_CTRL_FUNC_IN_IRAM is not set +# default: +# CONFIG_DAC_ISR_IRAM_SAFE is not set +# default: +# CONFIG_DAC_ENABLE_DEBUG_LOG is not set +# default: +CONFIG_DAC_DMA_AUTO_16BIT_ALIGN=y +# end of ESP-Driver:DAC Configurations + +# +# ESP-Driver:GPIO Configurations +# +# default: +# CONFIG_GPIO_ESP32_SUPPORT_SWITCH_SLP_PULL is not set +# default: +# CONFIG_GPIO_CTRL_FUNC_IN_IRAM is not set +# end of ESP-Driver:GPIO Configurations + +# +# ESP-Driver:GPTimer Configurations +# +# default: +CONFIG_GPTIMER_ISR_HANDLER_IN_IRAM=y +# default: +# CONFIG_GPTIMER_CTRL_FUNC_IN_IRAM is not set +# default: +# CONFIG_GPTIMER_ISR_CACHE_SAFE is not set +# default: +CONFIG_GPTIMER_OBJ_CACHE_SAFE=y +# default: +# CONFIG_GPTIMER_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:GPTimer Configurations + +# +# ESP-Driver:I2C Configurations +# +# default: +# CONFIG_I2C_ISR_IRAM_SAFE is not set +# default: +# CONFIG_I2C_ENABLE_DEBUG_LOG is not set +# default: +# CONFIG_I2C_ENABLE_SLAVE_DRIVER_VERSION_2 is not set +# default: +CONFIG_I2C_MASTER_ISR_HANDLER_IN_IRAM=y +# end of ESP-Driver:I2C Configurations + +# +# ESP-Driver:I2S Configurations +# +# default: +# CONFIG_I2S_ISR_IRAM_SAFE is not set +# default: +# CONFIG_I2S_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:I2S Configurations + +# +# ESP-Driver:LEDC Configurations +# +# default: +# CONFIG_LEDC_CTRL_FUNC_IN_IRAM is not set +# end of ESP-Driver:LEDC Configurations + +# +# ESP-Driver:MCPWM Configurations +# +# default: +CONFIG_MCPWM_ISR_HANDLER_IN_IRAM=y +# default: +# CONFIG_MCPWM_ISR_CACHE_SAFE is not set +# default: +# CONFIG_MCPWM_CTRL_FUNC_IN_IRAM is not set +# default: +CONFIG_MCPWM_OBJ_CACHE_SAFE=y +# default: +# CONFIG_MCPWM_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:MCPWM Configurations + +# +# ESP-Driver:PCNT Configurations +# +# default: +# CONFIG_PCNT_CTRL_FUNC_IN_IRAM is not set +# default: +# CONFIG_PCNT_ISR_IRAM_SAFE is not set +# default: +# CONFIG_PCNT_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:PCNT Configurations + +# +# ESP-Driver:RMT Configurations +# +# default: +CONFIG_RMT_ENCODER_FUNC_IN_IRAM=y +# default: +CONFIG_RMT_TX_ISR_HANDLER_IN_IRAM=y +# default: +CONFIG_RMT_RX_ISR_HANDLER_IN_IRAM=y +# default: +# CONFIG_RMT_RECV_FUNC_IN_IRAM is not set +# default: +# CONFIG_RMT_TX_ISR_CACHE_SAFE is not set +# default: +# CONFIG_RMT_RX_ISR_CACHE_SAFE is not set +# default: +CONFIG_RMT_OBJ_CACHE_SAFE=y +# default: +# CONFIG_RMT_ENABLE_DEBUG_LOG is not set +# default: +# CONFIG_RMT_ISR_IRAM_SAFE is not set +# end of ESP-Driver:RMT Configurations + +# +# ESP-Driver:Sigma Delta Modulator Configurations +# +# default: +# CONFIG_SDM_CTRL_FUNC_IN_IRAM is not set +# default: +# CONFIG_SDM_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:Sigma Delta Modulator Configurations + +# +# ESP-Driver:SPI Configurations +# +# default: +# CONFIG_SPI_MASTER_IN_IRAM is not set +# default: +CONFIG_SPI_MASTER_ISR_IN_IRAM=y +# default: +# CONFIG_SPI_SLAVE_IN_IRAM is not set +# default: +CONFIG_SPI_SLAVE_ISR_IN_IRAM=y +# end of ESP-Driver:SPI Configurations + +# +# ESP-Driver:Touch Sensor Configurations +# +# default: +# CONFIG_TOUCH_CTRL_FUNC_IN_IRAM is not set +# default: +# CONFIG_TOUCH_ISR_IRAM_SAFE is not set +# default: +# CONFIG_TOUCH_ENABLE_DEBUG_LOG is not set +# default: +# CONFIG_TOUCH_SKIP_FSM_CHECK is not set +# end of ESP-Driver:Touch Sensor Configurations + +# +# ESP-Driver:TWAI Configurations +# +# default: +# CONFIG_TWAI_ISR_IN_IRAM is not set +# default: +# CONFIG_TWAI_IO_FUNC_IN_IRAM is not set +# default: +# CONFIG_TWAI_ISR_CACHE_SAFE is not set +# default: +# CONFIG_TWAI_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:TWAI Configurations + +# +# ESP-Driver:UART Configurations +# +# default: +# CONFIG_UART_ISR_IN_IRAM is not set +# end of ESP-Driver:UART Configurations + +# +# ESP-Driver:UHCI Configurations +# +# default: +# CONFIG_UHCI_ISR_HANDLER_IN_IRAM is not set +# default: +# CONFIG_UHCI_ISR_CACHE_SAFE is not set +# default: +# CONFIG_UHCI_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:UHCI Configurations + +# +# Ethernet +# +# default: +CONFIG_ETH_ENABLED=y +# default: +CONFIG_ETH_USE_ESP32_EMAC=y +# default: +CONFIG_ETH_PHY_INTERFACE_RMII=y +# default: +CONFIG_ETH_RMII_CLK_INPUT=y +# default: +# CONFIG_ETH_RMII_CLK_OUTPUT is not set +# default: +CONFIG_ETH_RMII_CLK_IN_GPIO=0 +# default: +CONFIG_ETH_DMA_BUFFER_SIZE=512 +# default: +CONFIG_ETH_DMA_RX_BUFFER_NUM=10 +# default: +CONFIG_ETH_DMA_TX_BUFFER_NUM=10 +# default: +# CONFIG_ETH_IRAM_OPTIMIZATION is not set +# default: +CONFIG_ETH_USE_SPI_ETHERNET=y +# default: +# CONFIG_ETH_SPI_ETHERNET_DM9051 is not set +# default: +# CONFIG_ETH_SPI_ETHERNET_W5500 is not set +# default: +# CONFIG_ETH_SPI_ETHERNET_KSZ8851SNL is not set +# default: +# CONFIG_ETH_USE_OPENETH is not set +# default: +# CONFIG_ETH_TRANSMIT_MUTEX is not set +# end of Ethernet + +# +# Event Loop Library +# +# default: +# CONFIG_ESP_EVENT_LOOP_PROFILING is not set +# default: +CONFIG_ESP_EVENT_POST_FROM_ISR=y +# default: +CONFIG_ESP_EVENT_POST_FROM_IRAM_ISR=y +# end of Event Loop Library + +# +# GDB Stub +# +# default: +CONFIG_ESP_GDBSTUB_ENABLED=y +# default: +# CONFIG_ESP_SYSTEM_GDBSTUB_RUNTIME is not set +# default: +CONFIG_ESP_GDBSTUB_SUPPORT_TASKS=y +# default: +CONFIG_ESP_GDBSTUB_MAX_TASKS=32 +# end of GDB Stub + +# +# ESP HID +# +# default: +CONFIG_ESPHID_TASK_SIZE_BT=2048 +# default: +CONFIG_ESPHID_TASK_SIZE_BLE=4096 +# end of ESP HID + +# +# ESP HTTP client +# +# default: +CONFIG_ESP_HTTP_CLIENT_ENABLE_HTTPS=y +# default: +# CONFIG_ESP_HTTP_CLIENT_ENABLE_BASIC_AUTH is not set +# default: +# CONFIG_ESP_HTTP_CLIENT_ENABLE_DIGEST_AUTH is not set +# default: +# CONFIG_ESP_HTTP_CLIENT_ENABLE_CUSTOM_TRANSPORT is not set +# default: +CONFIG_ESP_HTTP_CLIENT_EVENT_POST_TIMEOUT=2000 +# end of ESP HTTP client + +# +# HTTP Server +# +# default: +CONFIG_HTTPD_MAX_REQ_HDR_LEN=1024 +# default: +CONFIG_HTTPD_MAX_URI_LEN=512 +# default: +CONFIG_HTTPD_ERR_RESP_NO_DELAY=y +# default: +CONFIG_HTTPD_PURGE_BUF_LEN=32 +# default: +# CONFIG_HTTPD_LOG_PURGE_DATA is not set +# default: +# CONFIG_HTTPD_WS_SUPPORT is not set +# default: +# CONFIG_HTTPD_QUEUE_WORK_BLOCKING is not set +# default: +CONFIG_HTTPD_SERVER_EVENT_POST_TIMEOUT=2000 +# end of HTTP Server + +# +# ESP HTTPS OTA +# +# default: +# CONFIG_ESP_HTTPS_OTA_DECRYPT_CB is not set +# default: +# CONFIG_ESP_HTTPS_OTA_ALLOW_HTTP is not set +# default: +CONFIG_ESP_HTTPS_OTA_EVENT_POST_TIMEOUT=2000 +# end of ESP HTTPS OTA + +# +# ESP HTTPS server +# +# default: +# CONFIG_ESP_HTTPS_SERVER_ENABLE is not set +# default: +CONFIG_ESP_HTTPS_SERVER_EVENT_POST_TIMEOUT=2000 +# default: +# CONFIG_ESP_HTTPS_SERVER_CERT_SELECT_HOOK is not set +# end of ESP HTTPS server + +# +# Hardware Settings +# +# default: +CONFIG_ESP_HW_SUPPORT_FUNC_IN_IRAM=y + +# +# Chip revision +# +# default: +CONFIG_ESP32_REV_MIN_0=y +# default: +# CONFIG_ESP32_REV_MIN_1 is not set +# default: +# CONFIG_ESP32_REV_MIN_1_1 is not set +# default: +# CONFIG_ESP32_REV_MIN_2 is not set +# default: +# CONFIG_ESP32_REV_MIN_3 is not set +# default: +# CONFIG_ESP32_REV_MIN_3_1 is not set +# default: +CONFIG_ESP32_REV_MIN=0 +# default: +CONFIG_ESP32_REV_MIN_FULL=0 +# default: +CONFIG_ESP_REV_MIN_FULL=0 + +# +# Maximum Supported ESP32 Revision (Rev v3.99) +# +# default: +CONFIG_ESP32_REV_MAX_FULL=399 +# default: +CONFIG_ESP_REV_MAX_FULL=399 +# default: +CONFIG_ESP_EFUSE_BLOCK_REV_MIN_FULL=0 +# default: +CONFIG_ESP_EFUSE_BLOCK_REV_MAX_FULL=99 + +# +# Maximum Supported ESP32 eFuse Block Revision (eFuse Block Rev v0.99) +# +# end of Chip revision + +# +# MAC Config +# +# default: +CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_STA=y +# default: +CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_AP=y +# default: +CONFIG_ESP_MAC_ADDR_UNIVERSE_BT=y +# default: +CONFIG_ESP_MAC_ADDR_UNIVERSE_ETH=y +# default: +CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES_FOUR=y +# default: +CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES=4 +# default: +# CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_TWO is not set +# default: +CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_FOUR=y +# default: +CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES=4 +# default: +# CONFIG_ESP_MAC_IGNORE_MAC_CRC_ERROR is not set +# default: +# CONFIG_ESP_MAC_USE_CUSTOM_MAC_AS_BASE_MAC is not set +# end of MAC Config + +# +# Sleep Config +# +# default: +# CONFIG_ESP_SLEEP_POWER_DOWN_FLASH is not set +# default: +CONFIG_ESP_SLEEP_FLASH_LEAKAGE_WORKAROUND=y +# default: +# CONFIG_ESP_SLEEP_MSPI_NEED_ALL_IO_PU is not set +# default: +CONFIG_ESP_SLEEP_RTC_BUS_ISO_WORKAROUND=y +# default: +# CONFIG_ESP_SLEEP_GPIO_RESET_WORKAROUND is not set +# default: +CONFIG_ESP_SLEEP_WAIT_FLASH_READY_EXTRA_DELAY=2000 +# default: +# CONFIG_ESP_SLEEP_CACHE_SAFE_ASSERTION is not set +# default: +# CONFIG_ESP_SLEEP_DEBUG is not set +# default: +CONFIG_ESP_SLEEP_GPIO_ENABLE_INTERNAL_RESISTORS=y +# end of Sleep Config + +# +# RTC Clock Config +# +# default: +CONFIG_RTC_CLK_SRC_INT_RC=y +# default: +# CONFIG_RTC_CLK_SRC_EXT_CRYS is not set +# default: +# CONFIG_RTC_CLK_SRC_EXT_OSC is not set +# default: +# CONFIG_RTC_CLK_SRC_INT_8MD256 is not set +# default: +CONFIG_RTC_CLK_CAL_CYCLES=1024 +# default: +CONFIG_RTC_CLK_FUNC_IN_IRAM=y +# default: +CONFIG_RTC_TIME_FUNC_IN_IRAM=y +# end of RTC Clock Config + +# +# Peripheral Control +# +# default: +CONFIG_ESP_PERIPH_CTRL_FUNC_IN_IRAM=y +# default: +CONFIG_ESP_REGI2C_CTRL_FUNC_IN_IRAM=y +# end of Peripheral Control + +# +# Main XTAL Config +# +# default: +# CONFIG_XTAL_FREQ_26 is not set +# default: +# CONFIG_XTAL_FREQ_32 is not set +# default: +CONFIG_XTAL_FREQ_40=y +# default: +# CONFIG_XTAL_FREQ_AUTO is not set +# default: +CONFIG_XTAL_FREQ=40 +# end of Main XTAL Config + +# +# Power Supplier +# + +# +# Brownout Detector +# +# default: +CONFIG_ESP_BROWNOUT_DET=y +# default: +CONFIG_ESP_BROWNOUT_DET_LVL_SEL_0=y +# default: +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_1 is not set +# default: +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_2 is not set +# default: +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_3 is not set +# default: +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_4 is not set +# default: +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_5 is not set +# default: +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_6 is not set +# default: +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_7 is not set +# default: +CONFIG_ESP_BROWNOUT_DET_LVL=0 +# default: +CONFIG_ESP_BROWNOUT_USE_INTR=y +# end of Brownout Detector +# end of Power Supplier + +# default: +CONFIG_ESP_SPI_BUS_LOCK_ISR_FUNCS_IN_IRAM=y +# default: +CONFIG_ESP_INTR_IN_IRAM=y +# end of Hardware Settings + +# +# ESP-Driver:LCD Controller Configurations +# +# default: +# CONFIG_LCD_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:LCD Controller Configurations + +# +# ESP-MM: Memory Management Configurations +# +# end of ESP-MM: Memory Management Configurations + +# +# ESP NETIF Adapter +# +# default: +CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120 +# default: +# CONFIG_ESP_NETIF_PROVIDE_CUSTOM_IMPLEMENTATION is not set +# default: +CONFIG_ESP_NETIF_TCPIP_LWIP=y +# default: +# CONFIG_ESP_NETIF_LOOPBACK is not set +# default: +CONFIG_ESP_NETIF_USES_TCPIP_WITH_BSD_API=y +# default: +CONFIG_ESP_NETIF_REPORT_DATA_TRAFFIC=y +# default: +# CONFIG_ESP_NETIF_RECEIVE_REPORT_ERRORS is not set +# default: +# CONFIG_ESP_NETIF_L2_TAP is not set +# default: +# CONFIG_ESP_NETIF_BRIDGE_EN is not set +# default: +# CONFIG_ESP_NETIF_SET_DNS_PER_DEFAULT_NETIF is not set +# end of ESP NETIF Adapter + +# +# Partition API Configuration +# +# end of Partition API Configuration + +# +# PHY +# +# default: +CONFIG_ESP_PHY_ENABLED=y +# default: +CONFIG_ESP_PHY_CALIBRATION_AND_DATA_STORAGE=y +# default: +# CONFIG_ESP_PHY_INIT_DATA_IN_PARTITION is not set +# default: +CONFIG_ESP_PHY_MAX_WIFI_TX_POWER=20 +# default: +CONFIG_ESP_PHY_MAX_TX_POWER=20 +# default: +# CONFIG_ESP_PHY_REDUCE_TX_POWER is not set +# default: +# CONFIG_ESP_PHY_ENABLE_CERT_TEST is not set +# default: +CONFIG_ESP_PHY_RF_CAL_PARTIAL=y +# default: +# CONFIG_ESP_PHY_RF_CAL_NONE is not set +# default: +# CONFIG_ESP_PHY_RF_CAL_FULL is not set +# default: +CONFIG_ESP_PHY_CALIBRATION_MODE=0 +# default: +CONFIG_ESP_PHY_PLL_TRACK_PERIOD_MS=1000 +# default: +# CONFIG_ESP_PHY_PLL_TRACK_DEBUG is not set +# default: +# CONFIG_ESP_PHY_RECORD_USED_TIME is not set +# default: +CONFIG_ESP_PHY_IRAM_OPT=y +# default: +# CONFIG_ESP_PHY_DEBUG is not set +# end of PHY + +# +# Power Management +# +# default: +# CONFIG_PM_SLEEP_FUNC_IN_IRAM is not set +# default: +# CONFIG_PM_ENABLE is not set +# default: +# CONFIG_PM_SLP_IRAM_OPT is not set +# end of Power Management + +# +# ESP PSRAM +# +# default: +# CONFIG_SPIRAM is not set +# end of ESP PSRAM + +# +# ESP Ringbuf +# +# default: +# CONFIG_RINGBUF_PLACE_FUNCTIONS_INTO_FLASH is not set +# end of ESP Ringbuf + +# +# ESP-ROM +# +# default: +CONFIG_ESP_ROM_PRINT_IN_IRAM=y +# end of ESP-ROM + +# +# ESP Security Specific +# +# end of ESP Security Specific + +# +# ESP System Settings +# +# default: +# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_80 is not set +# default: +CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_160=y +# default: +# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240 is not set +# default: +CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=160 + +# +# Memory +# +# default: +# CONFIG_ESP32_USE_FIXED_STATIC_RAM_SIZE is not set + +# +# Non-backward compatible options +# +# default: +# CONFIG_ESP_SYSTEM_ESP32_SRAM1_REGION_AS_IRAM is not set +# end of Non-backward compatible options +# end of Memory + +# +# Trace memory +# +# default: +# CONFIG_ESP32_TRAX is not set +# default: +CONFIG_ESP32_TRACEMEM_RESERVE_DRAM=0x0 +# end of Trace memory + +# default: +CONFIG_ESP_SYSTEM_IN_IRAM=y +# default: +# CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT is not set +# default: +CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT=y +# default: +# CONFIG_ESP_SYSTEM_PANIC_SILENT_REBOOT is not set +# default: +# CONFIG_ESP_SYSTEM_PANIC_GDBSTUB is not set +# default: +CONFIG_ESP_SYSTEM_PANIC_REBOOT_DELAY_SECONDS=0 + +# +# Memory protection +# +# end of Memory protection + +# default: +CONFIG_ESP_SYSTEM_EVENT_QUEUE_SIZE=32 +# default: +CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=2304 +CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192 +# default: +CONFIG_ESP_MAIN_TASK_AFFINITY_CPU0=y +# default: +# CONFIG_ESP_MAIN_TASK_AFFINITY_CPU1 is not set +# default: +# CONFIG_ESP_MAIN_TASK_AFFINITY_NO_AFFINITY is not set +# default: +CONFIG_ESP_MAIN_TASK_AFFINITY=0x0 +# default: +CONFIG_ESP_MINIMAL_SHARED_STACK_SIZE=2048 +# default: +CONFIG_ESP_CONSOLE_UART_DEFAULT=y +# default: +# CONFIG_ESP_CONSOLE_UART_CUSTOM is not set +# default: +# CONFIG_ESP_CONSOLE_NONE is not set +# default: +CONFIG_ESP_CONSOLE_UART=y +# default: +CONFIG_ESP_CONSOLE_UART_NUM=0 +# default: +CONFIG_ESP_CONSOLE_ROM_SERIAL_PORT_NUM=0 +# default: +CONFIG_ESP_CONSOLE_UART_BAUDRATE=115200 +# default: +CONFIG_ESP_INT_WDT=y +# default: +CONFIG_ESP_INT_WDT_TIMEOUT_MS=300 +# default: +CONFIG_ESP_INT_WDT_CHECK_CPU1=y +# default: +CONFIG_ESP_TASK_WDT_EN=y +# default: +CONFIG_ESP_TASK_WDT_INIT=y +# default: +# CONFIG_ESP_TASK_WDT_PANIC is not set +# default: +CONFIG_ESP_TASK_WDT_TIMEOUT_S=5 +# default: +CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0=y +# default: +CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU1=y +# default: +# CONFIG_ESP_PANIC_HANDLER_IRAM is not set +# default: +# CONFIG_ESP_DEBUG_STUBS_ENABLE is not set +# default: +CONFIG_ESP_DEBUG_OCDAWARE=y +# default: +# CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_5 is not set +# default: +CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_4=y +# default: +# CONFIG_ESP32_DISABLE_BASIC_ROM_CONSOLE is not set +# end of ESP System Settings + +# +# IPC (Inter-Processor Call) +# +# default: +CONFIG_ESP_IPC_ENABLE=y +# default: +CONFIG_ESP_IPC_TASK_STACK_SIZE=1024 +# default: +CONFIG_ESP_IPC_USES_CALLERS_PRIORITY=y +# default: +CONFIG_ESP_IPC_ISR_ENABLE=y +# end of IPC (Inter-Processor Call) + +# +# ESP Timer (High Resolution Timer) +# +# default: +CONFIG_ESP_TIMER_IN_IRAM=y +# default: +# CONFIG_ESP_TIMER_PROFILING is not set +# default: +CONFIG_ESP_TIME_FUNCS_USE_RTC_TIMER=y +# default: +CONFIG_ESP_TIME_FUNCS_USE_ESP_TIMER=y +# default: +CONFIG_ESP_TIMER_TASK_STACK_SIZE=3584 +# default: +CONFIG_ESP_TIMER_INTERRUPT_LEVEL=1 +# default: +# CONFIG_ESP_TIMER_SHOW_EXPERIMENTAL is not set +# default: +CONFIG_ESP_TIMER_TASK_AFFINITY=0x0 +# default: +CONFIG_ESP_TIMER_TASK_AFFINITY_CPU0=y +# default: +CONFIG_ESP_TIMER_ISR_AFFINITY_CPU0=y +# default: +# CONFIG_ESP_TIMER_SUPPORTS_ISR_DISPATCH_METHOD is not set +# default: +CONFIG_ESP_TIMER_IMPL_TG0_LAC=y +# end of ESP Timer (High Resolution Timer) + +# +# Wi-Fi +# +# default: +CONFIG_ESP_WIFI_ENABLED=y +# default: +CONFIG_ESP_WIFI_STATIC_RX_BUFFER_NUM=10 +# default: +CONFIG_ESP_WIFI_DYNAMIC_RX_BUFFER_NUM=32 +# default: +# CONFIG_ESP_WIFI_STATIC_TX_BUFFER is not set +# default: +CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER=y +# default: +CONFIG_ESP_WIFI_TX_BUFFER_TYPE=1 +# default: +CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER_NUM=32 +# default: +CONFIG_ESP_WIFI_STATIC_RX_MGMT_BUFFER=y +# default: +# CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUFFER is not set +# default: +CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUF=0 +# default: +CONFIG_ESP_WIFI_RX_MGMT_BUF_NUM_DEF=5 +# default: +# CONFIG_ESP_WIFI_CSI_ENABLED is not set +# default: +CONFIG_ESP_WIFI_AMPDU_TX_ENABLED=y +# default: +CONFIG_ESP_WIFI_TX_BA_WIN=6 +# default: +CONFIG_ESP_WIFI_AMPDU_RX_ENABLED=y +# default: +CONFIG_ESP_WIFI_RX_BA_WIN=6 +# default: +CONFIG_ESP_WIFI_NVS_ENABLED=y +# default: +CONFIG_ESP_WIFI_TASK_PINNED_TO_CORE_0=y +# default: +# CONFIG_ESP_WIFI_TASK_PINNED_TO_CORE_1 is not set +# default: +CONFIG_ESP_WIFI_SOFTAP_BEACON_MAX_LEN=752 +# default: +CONFIG_ESP_WIFI_MGMT_SBUF_NUM=32 +# default: +CONFIG_ESP_WIFI_IRAM_OPT=y +# default: +# CONFIG_ESP_WIFI_EXTRA_IRAM_OPT is not set +# default: +CONFIG_ESP_WIFI_RX_IRAM_OPT=y +# default: +CONFIG_ESP_WIFI_ENABLE_WPA3_SAE=y +# default: +CONFIG_ESP_WIFI_ENABLE_SAE_PK=y +# default: +CONFIG_ESP_WIFI_ENABLE_SAE_H2E=y +# default: +CONFIG_ESP_WIFI_SOFTAP_SAE_SUPPORT=y +# default: +CONFIG_ESP_WIFI_ENABLE_WPA3_OWE_STA=y +# default: +# CONFIG_ESP_WIFI_SLP_IRAM_OPT is not set +# default: +CONFIG_ESP_WIFI_SLP_DEFAULT_MIN_ACTIVE_TIME=50 +# default: +# CONFIG_ESP_WIFI_BSS_MAX_IDLE_SUPPORT is not set +# default: +CONFIG_ESP_WIFI_SLP_DEFAULT_MAX_ACTIVE_TIME=10 +# default: +CONFIG_ESP_WIFI_SLP_DEFAULT_WAIT_BROADCAST_DATA_TIME=15 +# default: +CONFIG_ESP_WIFI_STA_DISCONNECTED_PM_ENABLE=y +# default: +CONFIG_ESP_WIFI_GMAC_SUPPORT=y +# default: +CONFIG_ESP_WIFI_SOFTAP_SUPPORT=y +# default: +# CONFIG_ESP_WIFI_SLP_BEACON_LOST_OPT is not set +# default: +CONFIG_ESP_WIFI_ESPNOW_MAX_ENCRYPT_NUM=7 +# default: +# CONFIG_ESP_WIFI_NAN_ENABLE is not set +# default: +CONFIG_ESP_WIFI_MBEDTLS_CRYPTO=y +# default: +CONFIG_ESP_WIFI_MBEDTLS_TLS_CLIENT=y +# default: +# CONFIG_ESP_WIFI_WAPI_PSK is not set +# default: +# CONFIG_ESP_WIFI_11KV_SUPPORT is not set +# default: +# CONFIG_ESP_WIFI_MBO_SUPPORT is not set +# default: +# CONFIG_ESP_WIFI_DPP_SUPPORT is not set +# default: +# CONFIG_ESP_WIFI_11R_SUPPORT is not set +# default: +# CONFIG_ESP_WIFI_WPS_SOFTAP_REGISTRAR is not set + +# +# WPS Configuration Options +# +# default: +# CONFIG_ESP_WIFI_WPS_STRICT is not set +# default: +# CONFIG_ESP_WIFI_WPS_PASSPHRASE is not set +# default: +# CONFIG_ESP_WIFI_WPS_RECONNECT_ON_FAIL is not set +# end of WPS Configuration Options + +# default: +# CONFIG_ESP_WIFI_DEBUG_PRINT is not set +# default: +CONFIG_ESP_WIFI_ENTERPRISE_SUPPORT=y +# default: +# CONFIG_ESP_WIFI_ENT_FREE_DYNAMIC_BUFFER is not set +# end of Wi-Fi + +# +# Core dump +# +# default: +# CONFIG_ESP_COREDUMP_ENABLE_TO_FLASH is not set +# default: +# CONFIG_ESP_COREDUMP_ENABLE_TO_UART is not set +# default: +CONFIG_ESP_COREDUMP_ENABLE_TO_NONE=y +# end of Core dump + +# +# FAT Filesystem support +# +# default: +CONFIG_FATFS_VOLUME_COUNT=2 +# default: +CONFIG_FATFS_LFN_NONE=y +# default: +# CONFIG_FATFS_LFN_HEAP is not set +# default: +# CONFIG_FATFS_LFN_STACK is not set +# default: +# CONFIG_FATFS_SECTOR_512 is not set +# default: +CONFIG_FATFS_SECTOR_4096=y +# default: +# CONFIG_FATFS_CODEPAGE_DYNAMIC is not set +# default: +CONFIG_FATFS_CODEPAGE_437=y +# default: +# CONFIG_FATFS_CODEPAGE_720 is not set +# default: +# CONFIG_FATFS_CODEPAGE_737 is not set +# default: +# CONFIG_FATFS_CODEPAGE_771 is not set +# default: +# CONFIG_FATFS_CODEPAGE_775 is not set +# default: +# CONFIG_FATFS_CODEPAGE_850 is not set +# default: +# CONFIG_FATFS_CODEPAGE_852 is not set +# default: +# CONFIG_FATFS_CODEPAGE_855 is not set +# default: +# CONFIG_FATFS_CODEPAGE_857 is not set +# default: +# CONFIG_FATFS_CODEPAGE_860 is not set +# default: +# CONFIG_FATFS_CODEPAGE_861 is not set +# default: +# CONFIG_FATFS_CODEPAGE_862 is not set +# default: +# CONFIG_FATFS_CODEPAGE_863 is not set +# default: +# CONFIG_FATFS_CODEPAGE_864 is not set +# default: +# CONFIG_FATFS_CODEPAGE_865 is not set +# default: +# CONFIG_FATFS_CODEPAGE_866 is not set +# default: +# CONFIG_FATFS_CODEPAGE_869 is not set +# default: +# CONFIG_FATFS_CODEPAGE_932 is not set +# default: +# CONFIG_FATFS_CODEPAGE_936 is not set +# default: +# CONFIG_FATFS_CODEPAGE_949 is not set +# default: +# CONFIG_FATFS_CODEPAGE_950 is not set +# default: +CONFIG_FATFS_CODEPAGE=437 +# default: +CONFIG_FATFS_FS_LOCK=0 +# default: +CONFIG_FATFS_TIMEOUT_MS=10000 +# default: +CONFIG_FATFS_PER_FILE_CACHE=y +# default: +# CONFIG_FATFS_USE_FASTSEEK is not set +# default: +CONFIG_FATFS_USE_STRFUNC_NONE=y +# default: +# CONFIG_FATFS_USE_STRFUNC_WITHOUT_CRLF_CONV is not set +# default: +# CONFIG_FATFS_USE_STRFUNC_WITH_CRLF_CONV is not set +# default: +CONFIG_FATFS_VFS_FSTAT_BLKSIZE=0 +# default: +# CONFIG_FATFS_IMMEDIATE_FSYNC is not set +# default: +# CONFIG_FATFS_USE_LABEL is not set +# default: +CONFIG_FATFS_LINK_LOCK=y +# default: +# CONFIG_FATFS_USE_DYN_BUFFERS is not set + +# +# File system free space calculation behavior +# +# default: +CONFIG_FATFS_DONT_TRUST_FREE_CLUSTER_CNT=0 +# default: +CONFIG_FATFS_DONT_TRUST_LAST_ALLOC=0 +# end of File system free space calculation behavior +# end of FAT Filesystem support + +# +# FreeRTOS +# + +# +# Kernel +# +# default: +# CONFIG_FREERTOS_SMP is not set +# default: +# CONFIG_FREERTOS_UNICORE is not set +CONFIG_FREERTOS_HZ=1000 +# default: +# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_NONE is not set +# default: +# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_PTRVAL is not set +# default: +CONFIG_FREERTOS_CHECK_STACKOVERFLOW_CANARY=y +# default: +CONFIG_FREERTOS_THREAD_LOCAL_STORAGE_POINTERS=1 +# default: +CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1536 +# default: +# CONFIG_FREERTOS_USE_IDLE_HOOK is not set +# default: +# CONFIG_FREERTOS_USE_TICK_HOOK is not set +# default: +CONFIG_FREERTOS_MAX_TASK_NAME_LEN=16 +# default: +# CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY is not set +# default: +CONFIG_FREERTOS_USE_TIMERS=y +# default: +CONFIG_FREERTOS_TIMER_SERVICE_TASK_NAME="Tmr Svc" +# default: +# CONFIG_FREERTOS_TIMER_TASK_AFFINITY_CPU0 is not set +# default: +# CONFIG_FREERTOS_TIMER_TASK_AFFINITY_CPU1 is not set +# default: +CONFIG_FREERTOS_TIMER_TASK_NO_AFFINITY=y +# default: +CONFIG_FREERTOS_TIMER_SERVICE_TASK_CORE_AFFINITY=0x7FFFFFFF +# default: +CONFIG_FREERTOS_TIMER_TASK_PRIORITY=1 +# default: +CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=2048 +# default: +CONFIG_FREERTOS_TIMER_QUEUE_LENGTH=10 +# default: +CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE=0 +# default: +CONFIG_FREERTOS_TASK_NOTIFICATION_ARRAY_ENTRIES=1 +# default: +# CONFIG_FREERTOS_USE_TRACE_FACILITY is not set +# default: +# CONFIG_FREERTOS_USE_LIST_DATA_INTEGRITY_CHECK_BYTES is not set +# default: +# CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS is not set +# default: +# CONFIG_FREERTOS_USE_APPLICATION_TASK_TAG is not set +# end of Kernel + +# +# Port +# +# default: +CONFIG_FREERTOS_TASK_FUNCTION_WRAPPER=y +# default: +# CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK is not set +# default: +CONFIG_FREERTOS_TLSP_DELETION_CALLBACKS=y +# default: +# CONFIG_FREERTOS_TASK_PRE_DELETION_HOOK is not set +# default: +# CONFIG_FREERTOS_ENABLE_STATIC_TASK_CLEAN_UP is not set +# default: +CONFIG_FREERTOS_CHECK_MUTEX_GIVEN_BY_OWNER=y +# default: +CONFIG_FREERTOS_ISR_STACKSIZE=1536 +# default: +CONFIG_FREERTOS_INTERRUPT_BACKTRACE=y +# default: +# CONFIG_FREERTOS_FPU_IN_ISR is not set +# default: +CONFIG_FREERTOS_TICK_SUPPORT_CORETIMER=y +# default: +CONFIG_FREERTOS_CORETIMER_0=y +# default: +# CONFIG_FREERTOS_CORETIMER_1 is not set +# default: +CONFIG_FREERTOS_SYSTICK_USES_CCOUNT=y +# default: +# CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH is not set +# default: +# CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE is not set +# end of Port + +# +# Extra +# +# end of Extra + +# default: +CONFIG_FREERTOS_PORT=y +# default: +CONFIG_FREERTOS_NO_AFFINITY=0x7FFFFFFF +# default: +CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION=y +# default: +CONFIG_FREERTOS_DEBUG_OCDAWARE=y +# default: +CONFIG_FREERTOS_ENABLE_TASK_SNAPSHOT=y +# default: +CONFIG_FREERTOS_PLACE_SNAPSHOT_FUNS_INTO_FLASH=y +# default: +CONFIG_FREERTOS_NUMBER_OF_CORES=2 +# default: +CONFIG_FREERTOS_IN_IRAM=y +# end of FreeRTOS + +# +# Hardware Abstraction Layer (HAL) and Low Level (LL) +# +# default: +CONFIG_HAL_ASSERTION_EQUALS_SYSTEM=y +# default: +# CONFIG_HAL_ASSERTION_DISABLE is not set +# default: +# CONFIG_HAL_ASSERTION_SILENT is not set +# default: +# CONFIG_HAL_ASSERTION_ENABLE is not set +# default: +CONFIG_HAL_DEFAULT_ASSERTION_LEVEL=2 +# end of Hardware Abstraction Layer (HAL) and Low Level (LL) + +# +# Heap memory debugging +# +# default: +CONFIG_HEAP_POISONING_DISABLED=y +# default: +# CONFIG_HEAP_POISONING_LIGHT is not set +# default: +# CONFIG_HEAP_POISONING_COMPREHENSIVE is not set +# default: +CONFIG_HEAP_TRACING_OFF=y +# default: +# CONFIG_HEAP_TRACING_STANDALONE is not set +# default: +# CONFIG_HEAP_TRACING_TOHOST is not set +# default: +# CONFIG_HEAP_USE_HOOKS is not set +# default: +# CONFIG_HEAP_TASK_TRACKING is not set +# default: +# CONFIG_HEAP_ABORT_WHEN_ALLOCATION_FAILS is not set +# default: +# CONFIG_HEAP_PLACE_FUNCTION_INTO_FLASH is not set +# end of Heap memory debugging + +# +# Log +# +# default: +CONFIG_LOG_VERSION_1=y +# default: +# CONFIG_LOG_VERSION_2 is not set +# default: +CONFIG_LOG_VERSION=1 + +# +# Log Level +# +# default: +# CONFIG_LOG_DEFAULT_LEVEL_NONE is not set +# default: +# CONFIG_LOG_DEFAULT_LEVEL_ERROR is not set +# default: +# CONFIG_LOG_DEFAULT_LEVEL_WARN is not set +# default: +CONFIG_LOG_DEFAULT_LEVEL_INFO=y +# default: +# CONFIG_LOG_DEFAULT_LEVEL_DEBUG is not set +# default: +# CONFIG_LOG_DEFAULT_LEVEL_VERBOSE is not set +# default: +CONFIG_LOG_DEFAULT_LEVEL=3 +# default: +CONFIG_LOG_MAXIMUM_EQUALS_DEFAULT=y +# default: +# CONFIG_LOG_MAXIMUM_LEVEL_DEBUG is not set +# default: +# CONFIG_LOG_MAXIMUM_LEVEL_VERBOSE is not set +# default: +CONFIG_LOG_MAXIMUM_LEVEL=3 + +# +# Level Settings +# +# default: +# CONFIG_LOG_MASTER_LEVEL is not set +# default: +CONFIG_LOG_DYNAMIC_LEVEL_CONTROL=y +# default: +# CONFIG_LOG_TAG_LEVEL_IMPL_NONE is not set +# default: +# CONFIG_LOG_TAG_LEVEL_IMPL_LINKED_LIST is not set +# default: +CONFIG_LOG_TAG_LEVEL_IMPL_CACHE_AND_LINKED_LIST=y +# default: +# CONFIG_LOG_TAG_LEVEL_CACHE_ARRAY is not set +# default: +CONFIG_LOG_TAG_LEVEL_CACHE_BINARY_MIN_HEAP=y +# default: +CONFIG_LOG_TAG_LEVEL_IMPL_CACHE_SIZE=31 +# end of Level Settings +# end of Log Level + +# +# Format +# +# default: +# CONFIG_LOG_COLORS is not set +# default: +CONFIG_LOG_TIMESTAMP_SOURCE_RTOS=y +# default: +# CONFIG_LOG_TIMESTAMP_SOURCE_SYSTEM is not set +# end of Format + +# +# Settings +# +# default: +CONFIG_LOG_MODE_TEXT_EN=y +# default: +CONFIG_LOG_MODE_TEXT=y +# end of Settings + +# default: +CONFIG_LOG_IN_IRAM=y +# end of Log + +# +# LWIP +# +# default: +CONFIG_LWIP_ENABLE=y +# default: +CONFIG_LWIP_LOCAL_HOSTNAME="espressif" +# default: +CONFIG_LWIP_TCPIP_TASK_PRIO=18 +# default: +# CONFIG_LWIP_TCPIP_CORE_LOCKING is not set +# default: +# CONFIG_LWIP_CHECK_THREAD_SAFETY is not set +# default: +CONFIG_LWIP_DNS_SUPPORT_MDNS_QUERIES=y +# default: +# CONFIG_LWIP_L2_TO_L3_COPY is not set +# default: +# CONFIG_LWIP_IRAM_OPTIMIZATION is not set +# default: +# CONFIG_LWIP_EXTRA_IRAM_OPTIMIZATION is not set +# default: +CONFIG_LWIP_TIMERS_ONDEMAND=y +# default: +CONFIG_LWIP_ND6=y +# default: +# CONFIG_LWIP_FORCE_ROUTER_FORWARDING is not set +# default: +CONFIG_LWIP_MAX_SOCKETS=10 +# default: +# CONFIG_LWIP_USE_ONLY_LWIP_SELECT is not set +# default: +# CONFIG_LWIP_SO_LINGER is not set +# default: +CONFIG_LWIP_SO_REUSE=y +# default: +CONFIG_LWIP_SO_REUSE_RXTOALL=y +CONFIG_LWIP_SO_RCVBUF=y +# default: +# CONFIG_LWIP_NETBUF_RECVINFO is not set +# default: +CONFIG_LWIP_IP_DEFAULT_TTL=64 +# default: +CONFIG_LWIP_IP4_FRAG=y +# default: +CONFIG_LWIP_IP6_FRAG=y +# default: +# CONFIG_LWIP_IP4_REASSEMBLY is not set +# default: +# CONFIG_LWIP_IP6_REASSEMBLY is not set +# default: +CONFIG_LWIP_IP_REASS_MAX_PBUFS=10 +# default: +# CONFIG_LWIP_IP_FORWARD is not set +# default: +# CONFIG_LWIP_STATS is not set +# default: +CONFIG_LWIP_ESP_GRATUITOUS_ARP=y +# default: +CONFIG_LWIP_GARP_TMR_INTERVAL=60 +# default: +CONFIG_LWIP_ESP_MLDV6_REPORT=y +# default: +CONFIG_LWIP_MLDV6_TMR_INTERVAL=40 +# default: +CONFIG_LWIP_TCPIP_RECVMBOX_SIZE=32 +# default: +CONFIG_LWIP_DHCP_DOES_ARP_CHECK=y +# default: +# CONFIG_LWIP_DHCP_DOES_ACD_CHECK is not set +# default: +# CONFIG_LWIP_DHCP_DOES_NOT_CHECK_OFFERED_IP is not set +# default: +# CONFIG_LWIP_DHCP_DISABLE_CLIENT_ID is not set +# default: +CONFIG_LWIP_DHCP_DISABLE_VENDOR_CLASS_ID=y +# default: +# CONFIG_LWIP_DHCP_RESTORE_LAST_IP is not set +# default: +CONFIG_LWIP_DHCP_OPTIONS_LEN=69 +# default: +CONFIG_LWIP_NUM_NETIF_CLIENT_DATA=0 +# default: +CONFIG_LWIP_DHCP_COARSE_TIMER_SECS=1 + +# +# DHCP server +# +# default: +CONFIG_LWIP_DHCPS=y +# default: +CONFIG_LWIP_DHCPS_LEASE_UNIT=60 +# default: +CONFIG_LWIP_DHCPS_MAX_STATION_NUM=8 +# default: +CONFIG_LWIP_DHCPS_STATIC_ENTRIES=y +# default: +CONFIG_LWIP_DHCPS_ADD_DNS=y +# end of DHCP server + +# default: +# CONFIG_LWIP_AUTOIP is not set +# default: +CONFIG_LWIP_IPV4=y +# default: +CONFIG_LWIP_IPV6=y +# default: +# CONFIG_LWIP_IPV6_AUTOCONFIG is not set +# default: +CONFIG_LWIP_IPV6_NUM_ADDRESSES=3 +# default: +# CONFIG_LWIP_IPV6_FORWARD is not set +# default: +# CONFIG_LWIP_NETIF_STATUS_CALLBACK is not set +# default: +CONFIG_LWIP_NETIF_LOOPBACK=y +# default: +CONFIG_LWIP_LOOPBACK_MAX_PBUFS=8 + +# +# TCP +# +# default: +CONFIG_LWIP_MAX_ACTIVE_TCP=16 +# default: +CONFIG_LWIP_MAX_LISTENING_TCP=16 +# default: +CONFIG_LWIP_TCP_HIGH_SPEED_RETRANSMISSION=y +# default: +CONFIG_LWIP_TCP_MAXRTX=12 +# default: +CONFIG_LWIP_TCP_SYNMAXRTX=12 +# default: +CONFIG_LWIP_TCP_MSS=1440 +# default: +CONFIG_LWIP_TCP_TMR_INTERVAL=250 +# default: +CONFIG_LWIP_TCP_MSL=60000 +# default: +CONFIG_LWIP_TCP_FIN_WAIT_TIMEOUT=20000 +# default: +CONFIG_LWIP_TCP_SND_BUF_DEFAULT=5760 +# default: +CONFIG_LWIP_TCP_WND_DEFAULT=5760 +# default: +CONFIG_LWIP_TCP_RECVMBOX_SIZE=6 +# default: +CONFIG_LWIP_TCP_ACCEPTMBOX_SIZE=6 +# default: +CONFIG_LWIP_TCP_QUEUE_OOSEQ=y +# default: +CONFIG_LWIP_TCP_OOSEQ_TIMEOUT=6 +# default: +CONFIG_LWIP_TCP_OOSEQ_MAX_PBUFS=4 +# default: +# CONFIG_LWIP_TCP_SACK_OUT is not set +# default: +CONFIG_LWIP_TCP_OVERSIZE_MSS=y +# default: +# CONFIG_LWIP_TCP_OVERSIZE_QUARTER_MSS is not set +# default: +# CONFIG_LWIP_TCP_OVERSIZE_DISABLE is not set +# default: +CONFIG_LWIP_TCP_RTO_TIME=1500 +# end of TCP + +# +# UDP +# +# default: +CONFIG_LWIP_MAX_UDP_PCBS=16 +# default: +CONFIG_LWIP_UDP_RECVMBOX_SIZE=6 +# end of UDP + +# +# Checksums +# +# default: +# CONFIG_LWIP_CHECKSUM_CHECK_IP is not set +# default: +# CONFIG_LWIP_CHECKSUM_CHECK_UDP is not set +# default: +CONFIG_LWIP_CHECKSUM_CHECK_ICMP=y +# end of Checksums + +# default: +CONFIG_LWIP_TCPIP_TASK_STACK_SIZE=3072 +# default: +CONFIG_LWIP_TCPIP_TASK_AFFINITY_NO_AFFINITY=y +# default: +# CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU0 is not set +# default: +# CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU1 is not set +# default: +CONFIG_LWIP_TCPIP_TASK_AFFINITY=0x7FFFFFFF +# default: +CONFIG_LWIP_IPV6_MEMP_NUM_ND6_QUEUE=3 +# default: +CONFIG_LWIP_IPV6_ND6_NUM_NEIGHBORS=5 +# default: +CONFIG_LWIP_IPV6_ND6_NUM_PREFIXES=5 +# default: +CONFIG_LWIP_IPV6_ND6_NUM_ROUTERS=3 +# default: +CONFIG_LWIP_IPV6_ND6_NUM_DESTINATIONS=10 +# default: +# CONFIG_LWIP_IPV6_ND6_ROUTE_INFO_OPTION_SUPPORT is not set +# default: +CONFIG_LWIP_PPP_SUPPORT=y +# default: +CONFIG_LWIP_PPP_ENABLE_IPV4=y +# default: +CONFIG_LWIP_PPP_ENABLE_IPV6=y +# default: +# CONFIG_LWIP_PPP_NOTIFY_PHASE_SUPPORT is not set +# default: +# CONFIG_LWIP_PPP_PAP_SUPPORT is not set +# default: +# CONFIG_LWIP_PPP_CHAP_SUPPORT is not set +# default: +# CONFIG_LWIP_PPP_MSCHAP_SUPPORT is not set +# default: +# CONFIG_LWIP_PPP_MPPE_SUPPORT is not set +# default: +# CONFIG_LWIP_PPP_SERVER_SUPPORT is not set +# default: +CONFIG_LWIP_PPP_VJ_HEADER_COMPRESSION=y +# default: +# CONFIG_LWIP_ENABLE_LCP_ECHO is not set +# default: +# CONFIG_LWIP_PPP_DEBUG_ON is not set +# default: +# CONFIG_LWIP_USE_EXTERNAL_MBEDTLS is not set +# default: +# CONFIG_LWIP_SLIP_SUPPORT is not set + +# +# ICMP +# +# default: +CONFIG_LWIP_ICMP=y +# default: +# CONFIG_LWIP_MULTICAST_PING is not set +# default: +# CONFIG_LWIP_BROADCAST_PING is not set +# end of ICMP + +# +# LWIP RAW API +# +# default: +CONFIG_LWIP_MAX_RAW_PCBS=16 +# end of LWIP RAW API + +# +# SNTP +# +# default: +CONFIG_LWIP_SNTP_MAX_SERVERS=1 +# default: +# CONFIG_LWIP_DHCP_GET_NTP_SRV is not set +# default: +CONFIG_LWIP_SNTP_UPDATE_DELAY=3600000 +# default: +CONFIG_LWIP_SNTP_STARTUP_DELAY=y +# default: +CONFIG_LWIP_SNTP_MAXIMUM_STARTUP_DELAY=5000 +# end of SNTP + +# +# DNS +# +# default: +CONFIG_LWIP_DNS_MAX_HOST_IP=1 +# default: +CONFIG_LWIP_DNS_MAX_SERVERS=3 +# default: +# CONFIG_LWIP_FALLBACK_DNS_SERVER_SUPPORT is not set +# default: +# CONFIG_LWIP_DNS_SETSERVER_WITH_NETIF is not set +# default: +# CONFIG_LWIP_USE_ESP_GETADDRINFO is not set +# end of DNS + +# default: +CONFIG_LWIP_BRIDGEIF_MAX_PORTS=7 +# default: +CONFIG_LWIP_ESP_LWIP_ASSERT=y + +# +# Hooks +# +# default: +# CONFIG_LWIP_HOOK_TCP_ISN_NONE is not set +# default: +CONFIG_LWIP_HOOK_TCP_ISN_DEFAULT=y +# default: +# CONFIG_LWIP_HOOK_TCP_ISN_CUSTOM is not set +# default: +CONFIG_LWIP_HOOK_IP6_ROUTE_NONE=y +# default: +# CONFIG_LWIP_HOOK_IP6_ROUTE_DEFAULT is not set +# default: +# CONFIG_LWIP_HOOK_IP6_ROUTE_CUSTOM is not set +# default: +CONFIG_LWIP_HOOK_ND6_GET_GW_NONE=y +# default: +# CONFIG_LWIP_HOOK_ND6_GET_GW_DEFAULT is not set +# default: +# CONFIG_LWIP_HOOK_ND6_GET_GW_CUSTOM is not set +# default: +CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_NONE=y +# default: +# CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_DEFAULT is not set +# default: +# CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_CUSTOM is not set +# default: +CONFIG_LWIP_HOOK_DHCP_EXTRA_OPTION_NONE=y +# default: +# CONFIG_LWIP_HOOK_DHCP_EXTRA_OPTION_DEFAULT is not set +# default: +# CONFIG_LWIP_HOOK_DHCP_EXTRA_OPTION_CUSTOM is not set +# default: +CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_NONE=y +# default: +# CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_DEFAULT is not set +# default: +# CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_CUSTOM is not set +# default: +CONFIG_LWIP_HOOK_DNS_EXT_RESOLVE_NONE=y +# default: +# CONFIG_LWIP_HOOK_DNS_EXT_RESOLVE_CUSTOM is not set +# default: +# CONFIG_LWIP_HOOK_IP6_INPUT_NONE is not set +# default: +CONFIG_LWIP_HOOK_IP6_INPUT_DEFAULT=y +# default: +# CONFIG_LWIP_HOOK_IP6_INPUT_CUSTOM is not set +# end of Hooks + +# default: +# CONFIG_LWIP_DEBUG is not set +# end of LWIP + +# +# mbedTLS +# +# default: +CONFIG_MBEDTLS_INTERNAL_MEM_ALLOC=y +# default: +# CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC is not set +# default: +# CONFIG_MBEDTLS_CUSTOM_MEM_ALLOC is not set +# default: +CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN=y +# default: +CONFIG_MBEDTLS_SSL_IN_CONTENT_LEN=16384 +# default: +CONFIG_MBEDTLS_SSL_OUT_CONTENT_LEN=4096 +# default: +# CONFIG_MBEDTLS_DYNAMIC_BUFFER is not set +# default: +# CONFIG_MBEDTLS_DEBUG is not set + +# +# mbedTLS v3.x related +# +# default: +# CONFIG_MBEDTLS_SSL_PROTO_TLS1_3 is not set +# default: +# CONFIG_MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH is not set +# default: +# CONFIG_MBEDTLS_X509_TRUSTED_CERT_CALLBACK is not set +# default: +# CONFIG_MBEDTLS_SSL_CONTEXT_SERIALIZATION is not set +# default: +CONFIG_MBEDTLS_SSL_KEEP_PEER_CERTIFICATE=y +# default: +# CONFIG_MBEDTLS_SSL_KEYING_MATERIAL_EXPORT is not set +# default: +CONFIG_MBEDTLS_PKCS7_C=y +# end of mbedTLS v3.x related + +# +# Certificate Bundle +# +# default: +CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=y +# default: +CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_FULL=y +# default: +# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_CMN is not set +# default: +# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_NONE is not set +# default: +# CONFIG_MBEDTLS_CUSTOM_CERTIFICATE_BUNDLE is not set +# default: +# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEPRECATED_LIST is not set +# default: +CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_MAX_CERTS=200 +# end of Certificate Bundle + +# default: +# CONFIG_MBEDTLS_ECP_RESTARTABLE is not set +# default: +CONFIG_MBEDTLS_CMAC_C=y +# default: +CONFIG_MBEDTLS_HARDWARE_AES=y +# default: +CONFIG_MBEDTLS_GCM_SUPPORT_NON_AES_CIPHER=y +# default: +CONFIG_MBEDTLS_HARDWARE_MPI=y +# default: +# CONFIG_MBEDTLS_LARGE_KEY_SOFTWARE_MPI is not set +# default: +CONFIG_MBEDTLS_HARDWARE_SHA=y +# default: +CONFIG_MBEDTLS_ROM_MD5=y +# default: +# CONFIG_MBEDTLS_ATCA_HW_ECDSA_SIGN is not set +# default: +# CONFIG_MBEDTLS_ATCA_HW_ECDSA_VERIFY is not set +# default: +CONFIG_MBEDTLS_HAVE_TIME=y +# default: +# CONFIG_MBEDTLS_PLATFORM_TIME_ALT is not set +# default: +# CONFIG_MBEDTLS_HAVE_TIME_DATE is not set +# default: +CONFIG_MBEDTLS_ECDSA_DETERMINISTIC=y +# default: +CONFIG_MBEDTLS_SHA1_C=y +# default: +CONFIG_MBEDTLS_SHA512_C=y +# default: +# CONFIG_MBEDTLS_SHA3_C is not set +# default: +CONFIG_MBEDTLS_TLS_SERVER_AND_CLIENT=y +# default: +# CONFIG_MBEDTLS_TLS_SERVER_ONLY is not set +# default: +# CONFIG_MBEDTLS_TLS_CLIENT_ONLY is not set +# default: +# CONFIG_MBEDTLS_TLS_DISABLED is not set +# default: +CONFIG_MBEDTLS_TLS_SERVER=y +# default: +CONFIG_MBEDTLS_TLS_CLIENT=y +# default: +CONFIG_MBEDTLS_TLS_ENABLED=y + +# +# TLS Key Exchange Methods +# +CONFIG_MBEDTLS_PSK_MODES=y +CONFIG_MBEDTLS_KEY_EXCHANGE_PSK=y +# default: +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_PSK=y +# default: +CONFIG_MBEDTLS_KEY_EXCHANGE_RSA_PSK=y +# default: +CONFIG_MBEDTLS_KEY_EXCHANGE_RSA=y +# default: +CONFIG_MBEDTLS_KEY_EXCHANGE_ELLIPTIC_CURVE=y +# default: +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_RSA=y +# default: +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA=y +# default: +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA=y +# default: +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_RSA=y +# end of TLS Key Exchange Methods + +# default: +CONFIG_MBEDTLS_SSL_RENEGOTIATION=y +# default: +CONFIG_MBEDTLS_SSL_PROTO_TLS1_2=y +# default: +# CONFIG_MBEDTLS_SSL_PROTO_GMTSSL1_1 is not set +# default: +# CONFIG_MBEDTLS_SSL_PROTO_DTLS is not set +# default: +CONFIG_MBEDTLS_SSL_ALPN=y +# default: +CONFIG_MBEDTLS_CLIENT_SSL_SESSION_TICKETS=y +# default: +CONFIG_MBEDTLS_SERVER_SSL_SESSION_TICKETS=y + +# +# Symmetric Ciphers +# +# default: +CONFIG_MBEDTLS_AES_C=y +# default: +# CONFIG_MBEDTLS_CAMELLIA_C is not set +# default: +# CONFIG_MBEDTLS_DES_C is not set +# default: +# CONFIG_MBEDTLS_BLOWFISH_C is not set +# default: +# CONFIG_MBEDTLS_XTEA_C is not set +# default: +CONFIG_MBEDTLS_CCM_C=y +# default: +CONFIG_MBEDTLS_GCM_C=y +# default: +# CONFIG_MBEDTLS_NIST_KW_C is not set +# end of Symmetric Ciphers + +# default: +# CONFIG_MBEDTLS_RIPEMD160_C is not set + +# +# Certificates +# +# default: +CONFIG_MBEDTLS_PEM_PARSE_C=y +# default: +CONFIG_MBEDTLS_PEM_WRITE_C=y +# default: +CONFIG_MBEDTLS_X509_CRL_PARSE_C=y +# default: +CONFIG_MBEDTLS_X509_CSR_PARSE_C=y +# end of Certificates + +# default: +CONFIG_MBEDTLS_ECP_C=y +# default: +CONFIG_MBEDTLS_PK_PARSE_EC_EXTENDED=y +# default: +CONFIG_MBEDTLS_PK_PARSE_EC_COMPRESSED=y +# default: +# CONFIG_MBEDTLS_DHM_C is not set +# default: +CONFIG_MBEDTLS_ECDH_C=y +# default: +CONFIG_MBEDTLS_ECDSA_C=y +# default: +# CONFIG_MBEDTLS_ECJPAKE_C is not set +# default: +CONFIG_MBEDTLS_ECP_DP_SECP192R1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_SECP224R1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_SECP256R1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_SECP384R1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_SECP521R1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_SECP192K1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_SECP224K1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_SECP256K1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_BP256R1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_BP384R1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_BP512R1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_CURVE25519_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_NIST_OPTIM=y +# default: +# CONFIG_MBEDTLS_ECP_FIXED_POINT_OPTIM is not set +# default: +# CONFIG_MBEDTLS_POLY1305_C is not set +# default: +# CONFIG_MBEDTLS_CHACHA20_C is not set +# default: +# CONFIG_MBEDTLS_HKDF_C is not set +# default: +# CONFIG_MBEDTLS_THREADING_C is not set +# default: +CONFIG_MBEDTLS_ERROR_STRINGS=y +# default: +CONFIG_MBEDTLS_FS_IO=y +# default: +# CONFIG_MBEDTLS_ALLOW_WEAK_CERTIFICATE_VERIFICATION is not set +# end of mbedTLS + +# +# ESP-MQTT Configurations +# +# default: +CONFIG_MQTT_PROTOCOL_311=y +# default: +# CONFIG_MQTT_PROTOCOL_5 is not set +# default: +CONFIG_MQTT_TRANSPORT_SSL=y +# default: +CONFIG_MQTT_TRANSPORT_WEBSOCKET=y +# default: +CONFIG_MQTT_TRANSPORT_WEBSOCKET_SECURE=y +# default: +# CONFIG_MQTT_MSG_ID_INCREMENTAL is not set +# default: +# CONFIG_MQTT_SKIP_PUBLISH_IF_DISCONNECTED is not set +# default: +# CONFIG_MQTT_REPORT_DELETED_MESSAGES is not set +# default: +# CONFIG_MQTT_USE_CUSTOM_CONFIG is not set +# default: +# CONFIG_MQTT_TASK_CORE_SELECTION_ENABLED is not set +# default: +# CONFIG_MQTT_CUSTOM_OUTBOX is not set +# end of ESP-MQTT Configurations + +# +# LibC +# +# default: +CONFIG_LIBC_NEWLIB=y +# default: +# CONFIG_LIBC_PICOLIBC is not set +# default: +CONFIG_LIBC_MISC_IN_IRAM=y +# default: +CONFIG_LIBC_LOCKS_PLACE_IN_IRAM=y +# default: +CONFIG_LIBC_STDOUT_LINE_ENDING_CRLF=y +# default: +# CONFIG_LIBC_STDOUT_LINE_ENDING_LF is not set +# default: +# CONFIG_LIBC_STDOUT_LINE_ENDING_CR is not set +# default: +# CONFIG_LIBC_STDIN_LINE_ENDING_CRLF is not set +# default: +# CONFIG_LIBC_STDIN_LINE_ENDING_LF is not set +# default: +CONFIG_LIBC_STDIN_LINE_ENDING_CR=y +# default: +# CONFIG_LIBC_NEWLIB_NANO_FORMAT is not set +# default: +CONFIG_LIBC_TIME_SYSCALL_USE_RTC_HRT=y +# default: +# CONFIG_LIBC_TIME_SYSCALL_USE_RTC is not set +# default: +# CONFIG_LIBC_TIME_SYSCALL_USE_HRT is not set +# default: +# CONFIG_LIBC_TIME_SYSCALL_USE_NONE is not set +# default: +CONFIG_LIBC_ASSERT_BUFFER_SIZE=200 +# end of LibC + +# +# NVS +# +# default: +# CONFIG_NVS_ASSERT_ERROR_CHECK is not set +# default: +# CONFIG_NVS_LEGACY_DUP_KEYS_COMPATIBILITY is not set +# end of NVS + +# +# OpenThread +# +# default: +# CONFIG_OPENTHREAD_ENABLED is not set + +# +# OpenThread Spinel +# +# default: +# CONFIG_OPENTHREAD_SPINEL_ONLY is not set +# end of OpenThread Spinel + +# default: +# CONFIG_OPENTHREAD_DEBUG is not set +# end of OpenThread + +# +# Protocomm +# +# default: +CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_0=y +# default: +CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_1=y +# default: +CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_2=y +# default: +CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_PATCH_VERSION=y +# end of Protocomm + +# +# PThreads +# +# default: +CONFIG_PTHREAD_TASK_PRIO_DEFAULT=5 +# default: +CONFIG_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 +# default: +CONFIG_PTHREAD_STACK_MIN=768 +# default: +CONFIG_PTHREAD_DEFAULT_CORE_NO_AFFINITY=y +# default: +# CONFIG_PTHREAD_DEFAULT_CORE_0 is not set +# default: +# CONFIG_PTHREAD_DEFAULT_CORE_1 is not set +# default: +CONFIG_PTHREAD_TASK_CORE_DEFAULT=-1 +# default: +CONFIG_PTHREAD_TASK_NAME_DEFAULT="pthread" +# end of PThreads + +# +# MMU Config +# +# default: +CONFIG_MMU_PAGE_SIZE_64KB=y +# default: +CONFIG_MMU_PAGE_MODE="64KB" +# default: +CONFIG_MMU_PAGE_SIZE=0x10000 +# end of MMU Config + +# +# Main Flash configuration +# + +# +# SPI Flash behavior when brownout +# +# default: +CONFIG_SPI_FLASH_BROWNOUT_RESET_XMC=y +# default: +CONFIG_SPI_FLASH_BROWNOUT_RESET=y +# end of SPI Flash behavior when brownout + +# +# Optional and Experimental Features (READ DOCS FIRST) +# + +# +# Features here require specific hardware (READ DOCS FIRST!) +# +# default: +CONFIG_SPI_FLASH_SUSPEND_TSUS_VAL_US=50 +# default: +# CONFIG_SPI_FLASH_FORCE_ENABLE_XMC_C_SUSPEND is not set +# default: +# CONFIG_SPI_FLASH_FORCE_ENABLE_C6_H2_SUSPEND is not set +# default: +CONFIG_SPI_FLASH_PLACE_FUNCTIONS_IN_IRAM=y +# end of Optional and Experimental Features (READ DOCS FIRST) +# end of Main Flash configuration + +# +# SPI Flash driver +# +# default: +# CONFIG_SPI_FLASH_VERIFY_WRITE is not set +# default: +# CONFIG_SPI_FLASH_ENABLE_COUNTERS is not set +# default: +CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=y +# default: +CONFIG_SPI_FLASH_DANGEROUS_WRITE_ABORTS=y +# default: +# CONFIG_SPI_FLASH_DANGEROUS_WRITE_FAILS is not set +# default: +# CONFIG_SPI_FLASH_DANGEROUS_WRITE_ALLOWED is not set +# default: +# CONFIG_SPI_FLASH_SHARE_SPI1_BUS is not set +# default: +# CONFIG_SPI_FLASH_BYPASS_BLOCK_ERASE is not set +# default: +CONFIG_SPI_FLASH_YIELD_DURING_ERASE=y +# default: +CONFIG_SPI_FLASH_ERASE_YIELD_DURATION_MS=20 +# default: +CONFIG_SPI_FLASH_ERASE_YIELD_TICKS=1 +# default: +CONFIG_SPI_FLASH_WRITE_CHUNK_SIZE=8192 +# default: +# CONFIG_SPI_FLASH_SIZE_OVERRIDE is not set +# default: +# CONFIG_SPI_FLASH_CHECK_ERASE_TIMEOUT_DISABLED is not set +# default: +# CONFIG_SPI_FLASH_OVERRIDE_CHIP_DRIVER_LIST is not set + +# +# Auto-detect flash chips +# +# default: +CONFIG_SPI_FLASH_VENDOR_XMC_SUPPORT_ENABLED=y +# default: +CONFIG_SPI_FLASH_VENDOR_GD_SUPPORT_ENABLED=y +# default: +CONFIG_SPI_FLASH_VENDOR_ISSI_SUPPORT_ENABLED=y +# default: +CONFIG_SPI_FLASH_VENDOR_MXIC_SUPPORT_ENABLED=y +# default: +CONFIG_SPI_FLASH_VENDOR_WINBOND_SUPPORT_ENABLED=y +# default: +CONFIG_SPI_FLASH_SUPPORT_ISSI_CHIP=y +# default: +CONFIG_SPI_FLASH_SUPPORT_MXIC_CHIP=y +# default: +CONFIG_SPI_FLASH_SUPPORT_GD_CHIP=y +# default: +CONFIG_SPI_FLASH_SUPPORT_WINBOND_CHIP=y +# default: +# CONFIG_SPI_FLASH_SUPPORT_BOYA_CHIP is not set +# default: +# CONFIG_SPI_FLASH_SUPPORT_TH_CHIP is not set +# end of Auto-detect flash chips + +# default: +CONFIG_SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE=y +# end of SPI Flash driver + +# +# SPIFFS Configuration +# +# default: +CONFIG_SPIFFS_MAX_PARTITIONS=3 + +# +# SPIFFS Cache Configuration +# +# default: +CONFIG_SPIFFS_CACHE=y +# default: +CONFIG_SPIFFS_CACHE_WR=y +# default: +# CONFIG_SPIFFS_CACHE_STATS is not set +# end of SPIFFS Cache Configuration + +# default: +CONFIG_SPIFFS_PAGE_CHECK=y +# default: +CONFIG_SPIFFS_GC_MAX_RUNS=10 +# default: +# CONFIG_SPIFFS_GC_STATS is not set +# default: +CONFIG_SPIFFS_PAGE_SIZE=256 +# default: +CONFIG_SPIFFS_OBJ_NAME_LEN=32 +# default: +# CONFIG_SPIFFS_FOLLOW_SYMLINKS is not set +# default: +CONFIG_SPIFFS_USE_MAGIC=y +# default: +CONFIG_SPIFFS_USE_MAGIC_LENGTH=y +# default: +CONFIG_SPIFFS_META_LENGTH=4 +# default: +CONFIG_SPIFFS_USE_MTIME=y + +# +# Debug Configuration +# +# default: +# CONFIG_SPIFFS_DBG is not set +# default: +# CONFIG_SPIFFS_API_DBG is not set +# default: +# CONFIG_SPIFFS_GC_DBG is not set +# default: +# CONFIG_SPIFFS_CACHE_DBG is not set +# default: +# CONFIG_SPIFFS_CHECK_DBG is not set +# default: +# CONFIG_SPIFFS_TEST_VISUALISATION is not set +# end of Debug Configuration +# end of SPIFFS Configuration + +# +# TCP Transport +# + +# +# Websocket +# +# default: +CONFIG_WS_TRANSPORT=y +# default: +CONFIG_WS_BUFFER_SIZE=1024 +# default: +# CONFIG_WS_DYNAMIC_BUFFER is not set +# end of Websocket +# end of TCP Transport + +# +# Ultra Low Power (ULP) Co-processor +# +# default: +# CONFIG_ULP_COPROC_ENABLED is not set + +# +# ULP Debugging Options +# +# end of ULP Debugging Options +# end of Ultra Low Power (ULP) Co-processor + +# +# Unity unit testing library +# +# default: +CONFIG_UNITY_ENABLE_FLOAT=y +# default: +CONFIG_UNITY_ENABLE_DOUBLE=y +# default: +# CONFIG_UNITY_ENABLE_64BIT is not set +# default: +# CONFIG_UNITY_ENABLE_COLOR is not set +# default: +CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER=y +# default: +# CONFIG_UNITY_ENABLE_FIXTURE is not set +# default: +# CONFIG_UNITY_ENABLE_BACKTRACE_ON_FAIL is not set +# default: +# CONFIG_UNITY_TEST_ORDER_BY_FILE_PATH_AND_LINE is not set +# end of Unity unit testing library + +# +# Virtual file system +# +# default: +CONFIG_VFS_SUPPORT_IO=y +# default: +CONFIG_VFS_SUPPORT_DIR=y +# default: +CONFIG_VFS_SUPPORT_SELECT=y +# default: +CONFIG_VFS_SUPPRESS_SELECT_DEBUG_OUTPUT=y +# default: +# CONFIG_VFS_SELECT_IN_RAM is not set +# default: +CONFIG_VFS_SUPPORT_TERMIOS=y +# default: +CONFIG_VFS_MAX_COUNT=8 + +# +# Host File System I/O (Semihosting) +# +# default: +CONFIG_VFS_SEMIHOSTFS_MAX_MOUNT_POINTS=1 +# end of Host File System I/O (Semihosting) + +# default: +CONFIG_VFS_INITIALIZE_DEV_NULL=y +# end of Virtual file system + +# +# Wear Levelling +# +# default: +# CONFIG_WL_SECTOR_SIZE_512 is not set +# default: +CONFIG_WL_SECTOR_SIZE_4096=y +# default: +CONFIG_WL_SECTOR_SIZE=4096 +# end of Wear Levelling + +# +# Wi-Fi Provisioning Manager +# +# default: +CONFIG_WIFI_PROV_SCAN_MAX_ENTRIES=16 +# default: +CONFIG_WIFI_PROV_AUTOSTOP_TIMEOUT=30 +# default: +CONFIG_WIFI_PROV_STA_ALL_CHANNEL_SCAN=y +# default: +# CONFIG_WIFI_PROV_STA_FAST_SCAN is not set +# end of Wi-Fi Provisioning Manager + +# +# DSP Library +# +# default: +CONFIG_DSP_OPTIMIZATIONS_SUPPORTED=y +# default: +# CONFIG_DSP_ANSI is not set +# default: +CONFIG_DSP_OPTIMIZED=y +# default: +CONFIG_DSP_OPTIMIZATION=1 +# default: +# CONFIG_DSP_MAX_FFT_SIZE_512 is not set +# default: +# CONFIG_DSP_MAX_FFT_SIZE_1024 is not set +# default: +# CONFIG_DSP_MAX_FFT_SIZE_2048 is not set +# default: +CONFIG_DSP_MAX_FFT_SIZE_4096=y +# default: +# CONFIG_DSP_MAX_FFT_SIZE_8192 is not set +# default: +# CONFIG_DSP_MAX_FFT_SIZE_16384 is not set +# default: +# CONFIG_DSP_MAX_FFT_SIZE_32768 is not set +# default: +CONFIG_DSP_MAX_FFT_SIZE=4096 +# end of DSP Library + +# +# Modbus configuration +# +# default: +CONFIG_FMB_COMM_MODE_TCP_EN=y +# default: +CONFIG_FMB_TCP_PORT_DEFAULT=502 +# default: +CONFIG_FMB_TCP_PORT_MAX_CONN=5 +# default: +CONFIG_FMB_TCP_CONNECTION_TOUT_SEC=20 +# default: +# CONFIG_FMB_TCP_UID_ENABLED is not set +# default: +CONFIG_FMB_COMM_MODE_RTU_EN=y +# default: +CONFIG_FMB_COMM_MODE_ASCII_EN=y +# default: +CONFIG_FMB_MASTER_TIMEOUT_MS_RESPOND=3000 +# default: +CONFIG_FMB_MASTER_DELAY_MS_CONVERT=200 +# default: +CONFIG_FMB_QUEUE_LENGTH=20 +# default: +CONFIG_FMB_PORT_TASK_STACK_SIZE=4096 +# default: +CONFIG_FMB_SERIAL_BUF_SIZE=256 +# default: +CONFIG_FMB_SERIAL_ASCII_BITS_PER_SYMB=8 +# default: +CONFIG_FMB_ASCII_TIMEOUT_WAIT_BEFORE_SEND_MS=0 +# default: +CONFIG_FMB_SERIAL_ASCII_TIMEOUT_RESPOND_MS=1000 +# default: +CONFIG_FMB_PORT_TASK_PRIO=10 +# default: +# CONFIG_FMB_PORT_TASK_AFFINITY_NO_AFFINITY is not set +# default: +CONFIG_FMB_PORT_TASK_AFFINITY_CPU0=y +# default: +# CONFIG_FMB_PORT_TASK_AFFINITY_CPU1 is not set +# default: +CONFIG_FMB_PORT_TASK_AFFINITY=0x0 +# default: +CONFIG_FMB_CONTROLLER_SLAVE_ID_SUPPORT=y +# default: +CONFIG_FMB_CONTROLLER_SLAVE_ID=0x00112233 +# default: +CONFIG_FMB_CONTROLLER_SLAVE_ID_MAX_SIZE=32 +# default: +CONFIG_FMB_CONTROLLER_NOTIFY_TIMEOUT=20 +# default: +CONFIG_FMB_CONTROLLER_NOTIFY_QUEUE_SIZE=20 +# default: +CONFIG_FMB_CONTROLLER_STACK_SIZE=4096 +# default: +CONFIG_FMB_EVENT_QUEUE_TIMEOUT=20 +# default: +# CONFIG_FMB_TIMER_PORT_ENABLED is not set +# default: +# CONFIG_FMB_TIMER_USE_ISR_DISPATCH_METHOD is not set +# default: +# CONFIG_FMB_EXT_TYPE_SUPPORT is not set +# end of Modbus configuration + +# +# ESP serial flasher +# +# default: +CONFIG_SERIAL_FLASHER_MD5_ENABLED=y +# default: +CONFIG_SERIAL_FLASHER_RESET_HOLD_TIME_MS=100 +# default: +CONFIG_SERIAL_FLASHER_BOOT_HOLD_TIME_MS=50 +# end of ESP serial flasher + +# +# Zigbee +# +# default: +# CONFIG_ZB_ENABLED is not set +# end of Zigbee + +# +# Diagnostics data store +# +# default: +CONFIG_DIAG_DATA_STORE_RTC=y +# default: +# CONFIG_DIAG_DATA_STORE_FLASH is not set +# default: +# CONFIG_DIAG_DATA_STORE_DBG_PRINTS is not set +# default: +CONFIG_DIAG_DATA_STORE_REPORTING_WATERMARK_PERCENT=80 + +# +# RTC Store +# +# default: +CONFIG_RTC_STORE_DATA_SIZE=3072 +# default: +CONFIG_RTC_STORE_CRITICAL_DATA_SIZE=2048 +# end of RTC Store +# end of Diagnostics data store + +# +# Diagnostics +# +# default: +CONFIG_DIAG_LOG_MSG_ARG_FORMAT_TLV=y +# default: +# CONFIG_DIAG_LOG_MSG_ARG_FORMAT_STRING is not set +# default: +CONFIG_DIAG_LOG_MSG_ARG_MAX_SIZE=64 +# default: +CONFIG_DIAG_LOG_DROP_WIFI_LOGS=y +# default: +CONFIG_DIAG_ENABLE_METRICS=y +# default: +CONFIG_DIAG_METRICS_MAX_COUNT=20 +# default: +CONFIG_DIAG_ENABLE_HEAP_METRICS=y +# default: +CONFIG_DIAG_ENABLE_WIFI_METRICS=y +# default: +CONFIG_DIAG_ENABLE_VARIABLES=y +# default: +CONFIG_DIAG_VARIABLES_MAX_COUNT=20 +# default: +CONFIG_DIAG_ENABLE_NETWORK_VARIABLES=y +# default: +# CONFIG_DIAG_MORE_NETWORK_VARS is not set +# default: +# CONFIG_DIAG_USE_EXTERNAL_LOG_WRAP is not set +# end of Diagnostics + +# +# ESP Insights +# +# default: +# CONFIG_ESP_INSIGHTS_ENABLED is not set +# default: +# CONFIG_ESP_INSIGHTS_TRANSPORT_MQTT is not set +# default: +CONFIG_ESP_INSIGHTS_TRANSPORT_HTTPS=y +# default: +CONFIG_ESP_INSIGHTS_TRANSPORT_HTTPS_HOST="https://client.insights.espressif.com" +# default: +CONFIG_ESP_INSIGHTS_CLOUD_POST_MIN_INTERVAL_SEC=60 +# default: +CONFIG_ESP_INSIGHTS_CLOUD_POST_MAX_INTERVAL_SEC=240 +# default: +CONFIG_ESP_INSIGHTS_META_VERSION_10=y +# end of ESP Insights + +# +# esp-modem +# +# default: +CONFIG_ESP_MODEM_CMUX_DEFRAGMENT_PAYLOAD=y +# default: +# CONFIG_ESP_MODEM_USE_INFLATABLE_BUFFER_IF_NEEDED is not set +# default: +CONFIG_ESP_MODEM_CMUX_DELAY_AFTER_DLCI_SETUP=0 +# default: +# CONFIG_ESP_MODEM_CMUX_USE_SHORT_PAYLOADS_ONLY is not set +# default: +# CONFIG_ESP_MODEM_ADD_CUSTOM_MODULE is not set +# default: +CONFIG_ESP_MODEM_C_API_STR_MAX=128 +# default: +# CONFIG_ESP_MODEM_URC_HANDLER is not set +# default: +# CONFIG_ESP_MODEM_PPP_ESCAPE_BEFORE_EXIT is not set +# default: +# CONFIG_ESP_MODEM_ADD_DEBUG_LOGS is not set +# default: +# CONFIG_ESP_MODEM_ENABLE_DEVELOPMENT_MODE is not set +# default: +CONFIG_ESP_MODEM_USE_PPP_MODE=y +# end of esp-modem + +# +# OpenThread RCP Update +# +# default: +# CONFIG_AUTO_UPDATE_RCP is not set +# default: +# CONFIG_CREATE_OTA_IMAGE_WITH_RCP_FW is not set +# end of OpenThread RCP Update + +# +# ESP Secure Cert Manager +# +# default: +# CONFIG_ESP_SECURE_CERT_SUPPORT_LEGACY_FORMATS is not set +# default: +# CONFIG_ESP_SECURE_CERT_WRITE_ENABLE_LOGGING is not set +# end of ESP Secure Cert Manager + +# +# jsmn +# +# default: +# CONFIG_JSMN_PARENT_LINKS is not set +# default: +# CONFIG_JSMN_STRICT is not set +# default: +# CONFIG_JSMN_STATIC is not set +# end of jsmn + +# +# libsodium +# +# default: +CONFIG_LIBSODIUM_USE_MBEDTLS_SHA=y +# end of libsodium + +# +# mDNS +# +# default: +CONFIG_MDNS_MAX_INTERFACES=3 +# default: +CONFIG_MDNS_MAX_SERVICES=10 +# default: +CONFIG_MDNS_TASK_PRIORITY=1 +# default: +CONFIG_MDNS_ACTION_QUEUE_LEN=16 +# default: +CONFIG_MDNS_TASK_STACK_SIZE=4096 +# default: +# CONFIG_MDNS_TASK_AFFINITY_NO_AFFINITY is not set +# default: +CONFIG_MDNS_TASK_AFFINITY_CPU0=y +# default: +# CONFIG_MDNS_TASK_AFFINITY_CPU1 is not set +# default: +CONFIG_MDNS_TASK_AFFINITY=0x0 + +# +# MDNS Memory Configuration +# +# default: +CONFIG_MDNS_TASK_CREATE_FROM_INTERNAL=y +# default: +CONFIG_MDNS_MEMORY_ALLOC_INTERNAL=y +# default: +# CONFIG_MDNS_MEMORY_CUSTOM_IMPL is not set +# end of MDNS Memory Configuration + +# default: +CONFIG_MDNS_SERVICE_ADD_TIMEOUT_MS=2000 +# default: +CONFIG_MDNS_TIMER_PERIOD_MS=100 +# default: +# CONFIG_MDNS_NETWORKING_SOCKET is not set +# default: +# CONFIG_MDNS_SKIP_SUPPRESSING_OWN_QUERIES is not set +# default: +# CONFIG_MDNS_ENABLE_DEBUG_PRINTS is not set +# default: +CONFIG_MDNS_ENABLE_CONSOLE_CLI=y +# default: +# CONFIG_MDNS_RESPOND_REVERSE_QUERIES is not set +# default: +CONFIG_MDNS_MULTIPLE_INSTANCE=y + +# +# MDNS Predefined interfaces +# +# default: +CONFIG_MDNS_PREDEF_NETIF_STA=y +# default: +CONFIG_MDNS_PREDEF_NETIF_AP=y +# default: +CONFIG_MDNS_PREDEF_NETIF_ETH=y +# end of MDNS Predefined interfaces +# end of mDNS + +# +# Network Provisioning Manager +# +# default: +CONFIG_NETWORK_PROV_NETWORK_TYPE_WIFI=y +# default: +CONFIG_NETWORK_PROV_SCAN_MAX_ENTRIES=16 +# default: +CONFIG_NETWORK_PROV_AUTOSTOP_TIMEOUT=30 +# default: +# CONFIG_NETWORK_PROV_BLE_FORCE_ENCRYPTION is not set +# default: +CONFIG_NETWORK_PROV_WIFI_STA_ALL_CHANNEL_SCAN=y +# default: +# CONFIG_NETWORK_PROV_WIFI_STA_FAST_SCAN is not set +# end of Network Provisioning Manager + +# +# ESP RainMaker Common +# +# default: +CONFIG_ESP_RMAKER_LIB_ESP_MQTT=y +# default: +# CONFIG_ESP_RMAKER_LIB_AWS_IOT is not set +# default: +CONFIG_ESP_RMAKER_MQTT_GLUE_LIB=1 +# default: +CONFIG_ESP_RMAKER_MQTT_PORT_443=y +# default: +# CONFIG_ESP_RMAKER_MQTT_PORT_8883 is not set +# default: +CONFIG_ESP_RMAKER_MQTT_PORT=1 +# default: +# CONFIG_ESP_RMAKER_MQTT_PERSISTENT_SESSION is not set +# default: +CONFIG_ESP_RMAKER_MQTT_SEND_USERNAME=y +# default: +CONFIG_ESP_RMAKER_MQTT_PRODUCT_NAME="RMDev" +# default: +CONFIG_ESP_RMAKER_MQTT_PRODUCT_VERSION="1x0" +# default: +CONFIG_ESP_RMAKER_MQTT_PRODUCT_SKU="EX00" +# default: +CONFIG_ESP_RMAKER_MQTT_USE_CERT_BUNDLE=y +# default: +CONFIG_ESP_RMAKER_MAX_MQTT_SUBSCRIPTIONS=10 +# default: +CONFIG_ESP_RMAKER_MQTT_KEEP_ALIVE_INTERVAL=120 +# default: +CONFIG_ESP_RMAKER_NETWORK_OVER_WIFI=y +# default: +CONFIG_ESP_RMAKER_WORK_QUEUE_TASK_STACK=4096 +# default: +CONFIG_ESP_RMAKER_WORK_QUEUE_TASK_PRIORITY=5 +# default: +CONFIG_ESP_RMAKER_FACTORY_PARTITION_NAME="fctry" +# default: +CONFIG_ESP_RMAKER_FACTORY_NAMESPACE="rmaker_creds" +# default: +CONFIG_ESP_RMAKER_DEF_TIMEZONE="Asia/Shanghai" +# default: +CONFIG_ESP_RMAKER_SNTP_SERVER_NAME="pool.ntp.org" +# default: +CONFIG_ESP_RMAKER_MAX_COMMANDS=10 +# end of ESP RainMaker Common + +# +# LittleFS +# +# default: +# CONFIG_LITTLEFS_SDMMC_SUPPORT is not set +# default: +CONFIG_LITTLEFS_MAX_PARTITIONS=3 +# default: +CONFIG_LITTLEFS_PAGE_SIZE=256 +# default: +CONFIG_LITTLEFS_OBJ_NAME_LEN=64 +# default: +CONFIG_LITTLEFS_READ_SIZE=128 +# default: +CONFIG_LITTLEFS_WRITE_SIZE=128 +# default: +CONFIG_LITTLEFS_LOOKAHEAD_SIZE=128 +# default: +CONFIG_LITTLEFS_CACHE_SIZE=512 +# default: +CONFIG_LITTLEFS_BLOCK_CYCLES=512 +# default: +CONFIG_LITTLEFS_USE_MTIME=y +# default: +# CONFIG_LITTLEFS_USE_ONLY_HASH is not set +# default: +# CONFIG_LITTLEFS_HUMAN_READABLE is not set +# default: +CONFIG_LITTLEFS_MTIME_USE_SECONDS=y +# default: +# CONFIG_LITTLEFS_MTIME_USE_NONCE is not set +# default: +# CONFIG_LITTLEFS_SPIFFS_COMPAT is not set +# default: +# CONFIG_LITTLEFS_FLUSH_FILE_EVERY_WRITE is not set +# default: +# CONFIG_LITTLEFS_FCNTL_GET_PATH is not set +# default: +# CONFIG_LITTLEFS_MULTIVERSION is not set +# default: +# CONFIG_LITTLEFS_MALLOC_STRATEGY_DISABLE is not set +# default: +CONFIG_LITTLEFS_MALLOC_STRATEGY_DEFAULT=y +# default: +# CONFIG_LITTLEFS_MALLOC_STRATEGY_INTERNAL is not set +# default: +CONFIG_LITTLEFS_ASSERTS=y +# default: +# CONFIG_LITTLEFS_MMAP_PARTITION is not set +# default: +# CONFIG_LITTLEFS_WDT_RESET is not set +# end of LittleFS +# end of Component config + +# default: +# CONFIG_IDF_EXPERIMENTAL_FEATURES is not set + +# Deprecated options for backward compatibility +# CONFIG_APP_BUILD_TYPE_ELF_RAM is not set +# CONFIG_NO_BLOBS is not set +# CONFIG_ESP32_NO_BLOBS is not set +# CONFIG_ESP32_COMPATIBLE_PRE_V2_1_BOOTLOADERS is not set +# CONFIG_ESP32_COMPATIBLE_PRE_V3_1_BOOTLOADERS is not set +# CONFIG_APP_ROLLBACK_ENABLE is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_NONE is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_ERROR is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_WARN is not set +CONFIG_LOG_BOOTLOADER_LEVEL_INFO=y +# CONFIG_LOG_BOOTLOADER_LEVEL_DEBUG is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_VERBOSE is not set +CONFIG_LOG_BOOTLOADER_LEVEL=3 +# CONFIG_FLASH_ENCRYPTION_ENABLED is not set +# CONFIG_FLASHMODE_QIO is not set +# CONFIG_FLASHMODE_QOUT is not set +CONFIG_FLASHMODE_DIO=y +# CONFIG_FLASHMODE_DOUT is not set +CONFIG_MONITOR_BAUD=115200 +# CONFIG_ESP_RMAKER_LOCAL_CTRL_ENABLE is not set +CONFIG_OPTIMIZATION_LEVEL_DEBUG=y +CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG=y +CONFIG_COMPILER_OPTIMIZATION_DEFAULT=y +# CONFIG_OPTIMIZATION_LEVEL_RELEASE is not set +# CONFIG_COMPILER_OPTIMIZATION_LEVEL_RELEASE is not set +CONFIG_OPTIMIZATION_ASSERTIONS_ENABLED=y +# CONFIG_OPTIMIZATION_ASSERTIONS_SILENT is not set +# CONFIG_OPTIMIZATION_ASSERTIONS_DISABLED is not set +CONFIG_OPTIMIZATION_ASSERTION_LEVEL=2 +# CONFIG_CXX_EXCEPTIONS is not set +CONFIG_STACK_CHECK_NONE=y +# CONFIG_STACK_CHECK_NORM is not set +# CONFIG_STACK_CHECK_STRONG is not set +# CONFIG_STACK_CHECK_ALL is not set +# CONFIG_WARN_WRITE_STRINGS is not set +# CONFIG_ESP32_APPTRACE_DEST_TRAX is not set +CONFIG_ESP32_APPTRACE_DEST_NONE=y +CONFIG_ESP32_APPTRACE_LOCK_ENABLE=y +CONFIG_ADC2_DISABLE_DAC=y +# CONFIG_GPTIMER_ISR_IRAM_SAFE is not set +# CONFIG_MCPWM_ISR_IRAM_SAFE is not set +# CONFIG_EVENT_LOOP_PROFILING is not set +CONFIG_POST_EVENTS_FROM_ISR=y +CONFIG_POST_EVENTS_FROM_IRAM_ISR=y +CONFIG_GDBSTUB_SUPPORT_TASKS=y +CONFIG_GDBSTUB_MAX_TASKS=32 +# CONFIG_OTA_ALLOW_HTTP is not set +# CONFIG_TWO_UNIVERSAL_MAC_ADDRESS is not set +CONFIG_FOUR_UNIVERSAL_MAC_ADDRESS=y +CONFIG_NUMBER_OF_UNIVERSAL_MAC_ADDRESS=4 +# CONFIG_ESP_SYSTEM_PD_FLASH is not set +CONFIG_ESP32_DEEP_SLEEP_WAKEUP_DELAY=2000 +CONFIG_ESP_SLEEP_DEEP_SLEEP_WAKEUP_DELAY=2000 +CONFIG_ESP32_RTC_CLK_SRC_INT_RC=y +CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_RC=y +# CONFIG_ESP32_RTC_CLK_SRC_EXT_CRYS is not set +# CONFIG_ESP32_RTC_CLOCK_SOURCE_EXTERNAL_CRYSTAL is not set +# CONFIG_ESP32_RTC_CLK_SRC_EXT_OSC is not set +# CONFIG_ESP32_RTC_CLOCK_SOURCE_EXTERNAL_OSC is not set +# CONFIG_ESP32_RTC_CLK_SRC_INT_8MD256 is not set +# CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_8MD256 is not set +CONFIG_ESP32_RTC_CLK_CAL_CYCLES=1024 +CONFIG_PERIPH_CTRL_FUNC_IN_IRAM=y +# CONFIG_ESP32_XTAL_FREQ_26 is not set +CONFIG_ESP32_XTAL_FREQ_40=y +# CONFIG_ESP32_XTAL_FREQ_AUTO is not set +CONFIG_ESP32_XTAL_FREQ=40 +CONFIG_BROWNOUT_DET=y +CONFIG_ESP32_BROWNOUT_DET=y +CONFIG_BROWNOUT_DET_LVL_SEL_0=y +CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_0=y +# CONFIG_BROWNOUT_DET_LVL_SEL_1 is not set +# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_1 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_2 is not set +# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_2 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_3 is not set +# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_3 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_4 is not set +# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_4 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_5 is not set +# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_5 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_6 is not set +# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_6 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_7 is not set +# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_7 is not set +CONFIG_BROWNOUT_DET_LVL=0 +CONFIG_ESP32_BROWNOUT_DET_LVL=0 +CONFIG_ESP_SYSTEM_BROWNOUT_INTR=y +CONFIG_ESP32_PHY_CALIBRATION_AND_DATA_STORAGE=y +# CONFIG_ESP32_PHY_INIT_DATA_IN_PARTITION is not set +CONFIG_ESP32_PHY_MAX_WIFI_TX_POWER=20 +CONFIG_ESP32_PHY_MAX_TX_POWER=20 +# CONFIG_REDUCE_PHY_TX_POWER is not set +# CONFIG_ESP32_REDUCE_PHY_TX_POWER is not set +# CONFIG_SPIRAM_SUPPORT is not set +# CONFIG_ESP32_SPIRAM_SUPPORT is not set +# CONFIG_ESP32_DEFAULT_CPU_FREQ_80 is not set +CONFIG_ESP32_DEFAULT_CPU_FREQ_160=y +# CONFIG_ESP32_DEFAULT_CPU_FREQ_240 is not set +CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ=160 +CONFIG_TRACEMEM_RESERVE_DRAM=0x0 +# CONFIG_ESP32_PANIC_PRINT_HALT is not set +CONFIG_ESP32_PANIC_PRINT_REBOOT=y +# CONFIG_ESP32_PANIC_SILENT_REBOOT is not set +# CONFIG_ESP32_PANIC_GDBSTUB is not set +CONFIG_SYSTEM_EVENT_QUEUE_SIZE=32 +CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE=2304 +CONFIG_MAIN_TASK_STACK_SIZE=8192 +CONFIG_CONSOLE_UART_DEFAULT=y +# CONFIG_CONSOLE_UART_CUSTOM is not set +# CONFIG_CONSOLE_UART_NONE is not set +# CONFIG_ESP_CONSOLE_UART_NONE is not set +CONFIG_CONSOLE_UART=y +CONFIG_CONSOLE_UART_NUM=0 +CONFIG_CONSOLE_UART_BAUDRATE=115200 +CONFIG_INT_WDT=y +CONFIG_INT_WDT_TIMEOUT_MS=300 +CONFIG_INT_WDT_CHECK_CPU1=y +CONFIG_TASK_WDT=y +CONFIG_ESP_TASK_WDT=y +# CONFIG_TASK_WDT_PANIC is not set +CONFIG_TASK_WDT_TIMEOUT_S=5 +CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU0=y +CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU1=y +# CONFIG_ESP32_DEBUG_STUBS_ENABLE is not set +CONFIG_ESP32_DEBUG_OCDAWARE=y +# CONFIG_DISABLE_BASIC_ROM_CONSOLE is not set +CONFIG_IPC_TASK_STACK_SIZE=1024 +CONFIG_TIMER_TASK_STACK_SIZE=3584 +CONFIG_ESP32_WIFI_ENABLED=y +CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=10 +CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=32 +# CONFIG_ESP32_WIFI_STATIC_TX_BUFFER is not set +CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER=y +CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=1 +CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER_NUM=32 +# CONFIG_ESP32_WIFI_CSI_ENABLED is not set +CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED=y +CONFIG_ESP32_WIFI_TX_BA_WIN=6 +CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y +CONFIG_ESP32_WIFI_RX_BA_WIN=6 +CONFIG_ESP32_WIFI_NVS_ENABLED=y +CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_0=y +# CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_1 is not set +CONFIG_ESP32_WIFI_SOFTAP_BEACON_MAX_LEN=752 +CONFIG_ESP32_WIFI_MGMT_SBUF_NUM=32 +CONFIG_ESP32_WIFI_IRAM_OPT=y +CONFIG_ESP32_WIFI_RX_IRAM_OPT=y +CONFIG_ESP32_WIFI_ENABLE_WPA3_SAE=y +CONFIG_ESP32_WIFI_ENABLE_WPA3_OWE_STA=y +CONFIG_WPA_MBEDTLS_CRYPTO=y +CONFIG_WPA_MBEDTLS_TLS_CLIENT=y +# CONFIG_WPA_WAPI_PSK is not set +# CONFIG_WPA_11KV_SUPPORT is not set +# CONFIG_WPA_MBO_SUPPORT is not set +# CONFIG_WPA_DPP_SUPPORT is not set +# CONFIG_WPA_11R_SUPPORT is not set +# CONFIG_WPA_WPS_SOFTAP_REGISTRAR is not set +# CONFIG_WPA_WPS_STRICT is not set +# CONFIG_WPA_DEBUG_PRINT is not set +# CONFIG_ESP32_ENABLE_COREDUMP_TO_FLASH is not set +# CONFIG_ESP32_ENABLE_COREDUMP_TO_UART is not set +CONFIG_ESP32_ENABLE_COREDUMP_TO_NONE=y +CONFIG_TIMER_TASK_PRIORITY=1 +CONFIG_TIMER_TASK_STACK_DEPTH=2048 +CONFIG_TIMER_QUEUE_LENGTH=10 +# CONFIG_ENABLE_STATIC_TASK_CLEAN_UP_HOOK is not set +# CONFIG_HAL_ASSERTION_SILIENT is not set +# CONFIG_L2_TO_L3_COPY is not set +CONFIG_ESP_GRATUITOUS_ARP=y +CONFIG_GARP_TMR_INTERVAL=60 +CONFIG_TCPIP_RECVMBOX_SIZE=32 +CONFIG_TCP_MAXRTX=12 +CONFIG_TCP_SYNMAXRTX=12 +CONFIG_TCP_MSS=1440 +CONFIG_TCP_MSL=60000 +CONFIG_TCP_SND_BUF_DEFAULT=5760 +CONFIG_TCP_WND_DEFAULT=5760 +CONFIG_TCP_RECVMBOX_SIZE=6 +CONFIG_TCP_QUEUE_OOSEQ=y +CONFIG_TCP_OVERSIZE_MSS=y +# CONFIG_TCP_OVERSIZE_QUARTER_MSS is not set +# CONFIG_TCP_OVERSIZE_DISABLE is not set +CONFIG_UDP_RECVMBOX_SIZE=6 +CONFIG_TCPIP_TASK_STACK_SIZE=3072 +CONFIG_TCPIP_TASK_AFFINITY_NO_AFFINITY=y +# CONFIG_TCPIP_TASK_AFFINITY_CPU0 is not set +# CONFIG_TCPIP_TASK_AFFINITY_CPU1 is not set +CONFIG_TCPIP_TASK_AFFINITY=0x7FFFFFFF +CONFIG_PPP_SUPPORT=y +# CONFIG_PPP_NOTIFY_PHASE_SUPPORT is not set +# CONFIG_PPP_PAP_SUPPORT is not set +# CONFIG_PPP_CHAP_SUPPORT is not set +# CONFIG_PPP_MSCHAP_SUPPORT is not set +# CONFIG_PPP_MPPE_SUPPORT is not set +# CONFIG_PPP_DEBUG_ON is not set +CONFIG_NEWLIB_STDOUT_LINE_ENDING_CRLF=y +# CONFIG_NEWLIB_STDOUT_LINE_ENDING_LF is not set +# CONFIG_NEWLIB_STDOUT_LINE_ENDING_CR is not set +# CONFIG_NEWLIB_STDIN_LINE_ENDING_CRLF is not set +# CONFIG_NEWLIB_STDIN_LINE_ENDING_LF is not set +CONFIG_NEWLIB_STDIN_LINE_ENDING_CR=y +# CONFIG_NEWLIB_NANO_FORMAT is not set +CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC_HRT=y +CONFIG_ESP32_TIME_SYSCALL_USE_RTC_HRT=y +CONFIG_ESP32_TIME_SYSCALL_USE_RTC_FRC1=y +# CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC is not set +# CONFIG_ESP32_TIME_SYSCALL_USE_RTC is not set +# CONFIG_NEWLIB_TIME_SYSCALL_USE_HRT is not set +# CONFIG_ESP32_TIME_SYSCALL_USE_HRT is not set +# CONFIG_ESP32_TIME_SYSCALL_USE_FRC1 is not set +# CONFIG_NEWLIB_TIME_SYSCALL_USE_NONE is not set +# CONFIG_ESP32_TIME_SYSCALL_USE_NONE is not set +CONFIG_ESP32_PTHREAD_TASK_PRIO_DEFAULT=5 +CONFIG_ESP32_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 +CONFIG_ESP32_PTHREAD_STACK_MIN=768 +CONFIG_ESP32_DEFAULT_PTHREAD_CORE_NO_AFFINITY=y +# CONFIG_ESP32_DEFAULT_PTHREAD_CORE_0 is not set +# CONFIG_ESP32_DEFAULT_PTHREAD_CORE_1 is not set +CONFIG_ESP32_PTHREAD_TASK_CORE_DEFAULT=-1 +CONFIG_ESP32_PTHREAD_TASK_NAME_DEFAULT="pthread" +CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ABORTS=y +# CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_FAILS is not set +# CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ALLOWED is not set +# CONFIG_ESP32_ULP_COPROC_ENABLED is not set +CONFIG_SUPPRESS_SELECT_DEBUG_OUTPUT=y +CONFIG_SUPPORT_TERMIOS=y +CONFIG_SEMIHOSTFS_MAX_MOUNT_POINTS=1 +CONFIG_MB_MASTER_TIMEOUT_MS_RESPOND=3000 +CONFIG_MB_MASTER_DELAY_MS_CONVERT=200 +CONFIG_MB_QUEUE_LENGTH=20 +CONFIG_MB_SERIAL_TASK_STACK_SIZE=4096 +CONFIG_MB_SERIAL_BUF_SIZE=256 +CONFIG_MB_SERIAL_TASK_PRIO=10 +CONFIG_MB_CONTROLLER_SLAVE_ID_SUPPORT=y +CONFIG_MB_CONTROLLER_SLAVE_ID=0x00112233 +CONFIG_MB_CONTROLLER_NOTIFY_TIMEOUT=20 +CONFIG_MB_CONTROLLER_NOTIFY_QUEUE_SIZE=20 +CONFIG_MB_CONTROLLER_STACK_SIZE=4096 +CONFIG_MB_EVENT_QUEUE_TIMEOUT=20 +# CONFIG_MB_TIMER_PORT_ENABLED is not set +# End of deprecated options diff --git a/sdkconfig.OpenShock-Core-V2 b/sdkconfig.OpenShock-Core-V2 new file mode 100644 index 00000000..8daacc90 --- /dev/null +++ b/sdkconfig.OpenShock-Core-V2 @@ -0,0 +1,4786 @@ +# +# Automatically generated file. DO NOT EDIT. +# Espressif IoT Development Framework (ESP-IDF) 5.5.4 Project Configuration +# +# default: +CONFIG_SOC_ADC_SUPPORTED=y +# default: +CONFIG_SOC_UART_SUPPORTED=y +# default: +CONFIG_SOC_PCNT_SUPPORTED=y +# default: +CONFIG_SOC_PHY_SUPPORTED=y +# default: +CONFIG_SOC_WIFI_SUPPORTED=y +# default: +CONFIG_SOC_TWAI_SUPPORTED=y +# default: +CONFIG_SOC_GDMA_SUPPORTED=y +# default: +CONFIG_SOC_UHCI_SUPPORTED=y +# default: +CONFIG_SOC_AHB_GDMA_SUPPORTED=y +# default: +CONFIG_SOC_GPTIMER_SUPPORTED=y +# default: +CONFIG_SOC_LCDCAM_SUPPORTED=y +# default: +CONFIG_SOC_LCDCAM_CAM_SUPPORTED=y +# default: +CONFIG_SOC_LCDCAM_I80_LCD_SUPPORTED=y +# default: +CONFIG_SOC_LCDCAM_RGB_LCD_SUPPORTED=y +# default: +CONFIG_SOC_MCPWM_SUPPORTED=y +# default: +CONFIG_SOC_DEDICATED_GPIO_SUPPORTED=y +# default: +CONFIG_SOC_CACHE_SUPPORT_WRAP=y +# default: +CONFIG_SOC_ULP_SUPPORTED=y +# default: +CONFIG_SOC_ULP_FSM_SUPPORTED=y +# default: +CONFIG_SOC_RISCV_COPROC_SUPPORTED=y +# default: +CONFIG_SOC_BT_SUPPORTED=y +# default: +CONFIG_SOC_USB_OTG_SUPPORTED=y +# default: +CONFIG_SOC_USB_SERIAL_JTAG_SUPPORTED=y +# default: +CONFIG_SOC_CCOMP_TIMER_SUPPORTED=y +# default: +CONFIG_SOC_ASYNC_MEMCPY_SUPPORTED=y +# default: +CONFIG_SOC_SUPPORTS_SECURE_DL_MODE=y +# default: +CONFIG_SOC_EFUSE_KEY_PURPOSE_FIELD=y +# default: +CONFIG_SOC_EFUSE_SUPPORTED=y +# default: +CONFIG_SOC_SDMMC_HOST_SUPPORTED=y +# default: +CONFIG_SOC_RTC_FAST_MEM_SUPPORTED=y +# default: +CONFIG_SOC_RTC_SLOW_MEM_SUPPORTED=y +# default: +CONFIG_SOC_RTC_MEM_SUPPORTED=y +# default: +CONFIG_SOC_PSRAM_DMA_CAPABLE=y +# default: +CONFIG_SOC_XT_WDT_SUPPORTED=y +# default: +CONFIG_SOC_I2S_SUPPORTED=y +# default: +CONFIG_SOC_RMT_SUPPORTED=y +# default: +CONFIG_SOC_SDM_SUPPORTED=y +# default: +CONFIG_SOC_GPSPI_SUPPORTED=y +# default: +CONFIG_SOC_LEDC_SUPPORTED=y +# default: +CONFIG_SOC_I2C_SUPPORTED=y +# default: +CONFIG_SOC_SYSTIMER_SUPPORTED=y +# default: +CONFIG_SOC_SUPPORT_COEXISTENCE=y +# default: +CONFIG_SOC_TEMP_SENSOR_SUPPORTED=y +# default: +CONFIG_SOC_AES_SUPPORTED=y +# default: +CONFIG_SOC_MPI_SUPPORTED=y +# default: +CONFIG_SOC_SHA_SUPPORTED=y +# default: +CONFIG_SOC_HMAC_SUPPORTED=y +# default: +CONFIG_SOC_DIG_SIGN_SUPPORTED=y +# default: +CONFIG_SOC_FLASH_ENC_SUPPORTED=y +# default: +CONFIG_SOC_SECURE_BOOT_SUPPORTED=y +# default: +CONFIG_SOC_MEMPROT_SUPPORTED=y +# default: +CONFIG_SOC_TOUCH_SENSOR_SUPPORTED=y +# default: +CONFIG_SOC_BOD_SUPPORTED=y +# default: +CONFIG_SOC_CLK_TREE_SUPPORTED=y +# default: +CONFIG_SOC_MPU_SUPPORTED=y +# default: +CONFIG_SOC_WDT_SUPPORTED=y +# default: +CONFIG_SOC_SPI_FLASH_SUPPORTED=y +# default: +CONFIG_SOC_RNG_SUPPORTED=y +# default: +CONFIG_SOC_LIGHT_SLEEP_SUPPORTED=y +# default: +CONFIG_SOC_DEEP_SLEEP_SUPPORTED=y +# default: +CONFIG_SOC_LP_PERIPH_SHARE_INTERRUPT=y +# default: +CONFIG_SOC_PM_SUPPORTED=y +# default: +CONFIG_SOC_SIMD_INSTRUCTION_SUPPORTED=y +# default: +CONFIG_SOC_XTAL_SUPPORT_40M=y +# default: +CONFIG_SOC_APPCPU_HAS_CLOCK_GATING_BUG=y +# default: +CONFIG_SOC_ADC_RTC_CTRL_SUPPORTED=y +# default: +CONFIG_SOC_ADC_DIG_CTRL_SUPPORTED=y +# default: +CONFIG_SOC_ADC_ARBITER_SUPPORTED=y +# default: +CONFIG_SOC_ADC_DIG_IIR_FILTER_SUPPORTED=y +# default: +CONFIG_SOC_ADC_MONITOR_SUPPORTED=y +# default: +CONFIG_SOC_ADC_DMA_SUPPORTED=y +# default: +CONFIG_SOC_ADC_PERIPH_NUM=2 +# default: +CONFIG_SOC_ADC_MAX_CHANNEL_NUM=10 +# default: +CONFIG_SOC_ADC_ATTEN_NUM=4 +# default: +CONFIG_SOC_ADC_DIGI_CONTROLLER_NUM=2 +# default: +CONFIG_SOC_ADC_PATT_LEN_MAX=24 +# default: +CONFIG_SOC_ADC_DIGI_MIN_BITWIDTH=12 +# default: +CONFIG_SOC_ADC_DIGI_MAX_BITWIDTH=12 +# default: +CONFIG_SOC_ADC_DIGI_RESULT_BYTES=4 +# default: +CONFIG_SOC_ADC_DIGI_DATA_BYTES_PER_CONV=4 +# default: +CONFIG_SOC_ADC_DIGI_IIR_FILTER_NUM=2 +# default: +CONFIG_SOC_ADC_DIGI_MONITOR_NUM=2 +# default: +CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_HIGH=83333 +# default: +CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_LOW=611 +# default: +CONFIG_SOC_ADC_RTC_MIN_BITWIDTH=12 +# default: +CONFIG_SOC_ADC_RTC_MAX_BITWIDTH=12 +# default: +CONFIG_SOC_ADC_CALIBRATION_V1_SUPPORTED=y +# default: +CONFIG_SOC_ADC_SELF_HW_CALI_SUPPORTED=y +# default: +CONFIG_SOC_ADC_SHARED_POWER=y +# default: +CONFIG_SOC_APB_BACKUP_DMA=y +# default: +CONFIG_SOC_BROWNOUT_RESET_SUPPORTED=y +# default: +CONFIG_SOC_CACHE_WRITEBACK_SUPPORTED=y +# default: +CONFIG_SOC_CACHE_FREEZE_SUPPORTED=y +# default: +CONFIG_SOC_CACHE_ACS_INVALID_STATE_ON_PANIC=y +# default: +CONFIG_SOC_CPU_CORES_NUM=2 +# default: +CONFIG_SOC_CPU_INTR_NUM=32 +# default: +CONFIG_SOC_CPU_HAS_FPU=y +# default: +CONFIG_SOC_HP_CPU_HAS_MULTIPLE_CORES=y +# default: +CONFIG_SOC_CPU_BREAKPOINTS_NUM=2 +# default: +CONFIG_SOC_CPU_WATCHPOINTS_NUM=2 +# default: +CONFIG_SOC_CPU_WATCHPOINT_MAX_REGION_SIZE=0x40 +# default: +CONFIG_SOC_SIMD_PREFERRED_DATA_ALIGNMENT=16 +# default: +CONFIG_SOC_DS_SIGNATURE_MAX_BIT_LEN=4096 +# default: +CONFIG_SOC_DS_KEY_PARAM_MD_IV_LENGTH=16 +# default: +CONFIG_SOC_DS_KEY_CHECK_MAX_WAIT_US=1100 +# default: +CONFIG_SOC_AHB_GDMA_VERSION=1 +# default: +CONFIG_SOC_GDMA_NUM_GROUPS_MAX=1 +# default: +CONFIG_SOC_GDMA_PAIRS_PER_GROUP=5 +# default: +CONFIG_SOC_GDMA_PAIRS_PER_GROUP_MAX=5 +# default: +CONFIG_SOC_AHB_GDMA_SUPPORT_PSRAM=y +# default: +CONFIG_SOC_GPIO_PORT=1 +# default: +CONFIG_SOC_GPIO_PIN_COUNT=49 +# default: +CONFIG_SOC_GPIO_SUPPORT_PIN_GLITCH_FILTER=y +# default: +CONFIG_SOC_GPIO_FILTER_CLK_SUPPORT_APB=y +# default: +CONFIG_SOC_GPIO_SUPPORT_RTC_INDEPENDENT=y +# default: +CONFIG_SOC_GPIO_SUPPORT_FORCE_HOLD=y +# default: +CONFIG_SOC_GPIO_VALID_GPIO_MASK=0x1FFFFFFFFFFFF +# default: +CONFIG_SOC_GPIO_IN_RANGE_MAX=48 +# default: +CONFIG_SOC_GPIO_OUT_RANGE_MAX=48 +# default: +CONFIG_SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK=0x0001FFFFFC000000 +# default: +CONFIG_SOC_GPIO_CLOCKOUT_BY_IO_MUX=y +# default: +CONFIG_SOC_GPIO_CLOCKOUT_CHANNEL_NUM=3 +# default: +CONFIG_SOC_DEDIC_GPIO_OUT_CHANNELS_NUM=8 +# default: +CONFIG_SOC_DEDIC_GPIO_IN_CHANNELS_NUM=8 +# default: +CONFIG_SOC_DEDIC_GPIO_OUT_AUTO_ENABLE=y +# default: +CONFIG_SOC_I2C_NUM=2 +# default: +CONFIG_SOC_HP_I2C_NUM=2 +# default: +CONFIG_SOC_I2C_FIFO_LEN=32 +# default: +CONFIG_SOC_I2C_CMD_REG_NUM=8 +# default: +CONFIG_SOC_I2C_SUPPORT_SLAVE=y +# default: +CONFIG_SOC_I2C_SUPPORT_HW_CLR_BUS=y +# default: +CONFIG_SOC_I2C_SUPPORT_XTAL=y +# default: +CONFIG_SOC_I2C_SUPPORT_RTC=y +# default: +CONFIG_SOC_I2C_SUPPORT_10BIT_ADDR=y +# default: +CONFIG_SOC_I2C_SLAVE_SUPPORT_BROADCAST=y +# default: +CONFIG_SOC_I2C_SLAVE_SUPPORT_I2CRAM_ACCESS=y +# default: +CONFIG_SOC_I2C_SLAVE_CAN_GET_STRETCH_CAUSE=y +# default: +CONFIG_SOC_I2S_NUM=2 +# default: +CONFIG_SOC_I2S_HW_VERSION_2=y +# default: +CONFIG_SOC_I2S_SUPPORTS_XTAL=y +# default: +CONFIG_SOC_I2S_SUPPORTS_PLL_F160M=y +# default: +CONFIG_SOC_I2S_SUPPORTS_PCM=y +# default: +CONFIG_SOC_I2S_SUPPORTS_PDM=y +# default: +CONFIG_SOC_I2S_SUPPORTS_PDM_TX=y +# default: +CONFIG_SOC_I2S_SUPPORTS_PCM2PDM=y +# default: +CONFIG_SOC_I2S_SUPPORTS_PDM_RX=y +# default: +CONFIG_SOC_I2S_SUPPORTS_PDM2PCM=y +# default: +CONFIG_SOC_I2S_PDM_MAX_TX_LINES=2 +# default: +CONFIG_SOC_I2S_PDM_MAX_RX_LINES=4 +# default: +CONFIG_SOC_I2S_SUPPORTS_TDM=y +# default: +CONFIG_SOC_LEDC_SUPPORT_APB_CLOCK=y +# default: +CONFIG_SOC_LEDC_SUPPORT_XTAL_CLOCK=y +# default: +CONFIG_SOC_LEDC_TIMER_NUM=4 +# default: +CONFIG_SOC_LEDC_CHANNEL_NUM=8 +# default: +CONFIG_SOC_LEDC_TIMER_BIT_WIDTH=14 +# default: +CONFIG_SOC_LEDC_SUPPORT_FADE_STOP=y +# default: +CONFIG_SOC_MCPWM_GROUPS=2 +# default: +CONFIG_SOC_MCPWM_TIMERS_PER_GROUP=3 +# default: +CONFIG_SOC_MCPWM_OPERATORS_PER_GROUP=3 +# default: +CONFIG_SOC_MCPWM_COMPARATORS_PER_OPERATOR=2 +# default: +CONFIG_SOC_MCPWM_GENERATORS_PER_OPERATOR=2 +# default: +CONFIG_SOC_MCPWM_TRIGGERS_PER_OPERATOR=2 +# default: +CONFIG_SOC_MCPWM_GPIO_FAULTS_PER_GROUP=3 +# default: +CONFIG_SOC_MCPWM_CAPTURE_TIMERS_PER_GROUP=y +# default: +CONFIG_SOC_MCPWM_CAPTURE_CHANNELS_PER_TIMER=3 +# default: +CONFIG_SOC_MCPWM_GPIO_SYNCHROS_PER_GROUP=3 +# default: +CONFIG_SOC_MCPWM_SWSYNC_CAN_PROPAGATE=y +# default: +CONFIG_SOC_MMU_LINEAR_ADDRESS_REGION_NUM=1 +# default: +CONFIG_SOC_MMU_PERIPH_NUM=1 +# default: +CONFIG_SOC_MPU_MIN_REGION_SIZE=0x20000000 +# default: +CONFIG_SOC_MPU_REGIONS_MAX_NUM=8 +# default: +CONFIG_SOC_PCNT_GROUPS=1 +# default: +CONFIG_SOC_PCNT_UNITS_PER_GROUP=4 +# default: +CONFIG_SOC_PCNT_CHANNELS_PER_UNIT=2 +# default: +CONFIG_SOC_PCNT_THRES_POINT_PER_UNIT=2 +# default: +CONFIG_SOC_RMT_GROUPS=1 +# default: +CONFIG_SOC_RMT_TX_CANDIDATES_PER_GROUP=4 +# default: +CONFIG_SOC_RMT_RX_CANDIDATES_PER_GROUP=4 +# default: +CONFIG_SOC_RMT_CHANNELS_PER_GROUP=8 +# default: +CONFIG_SOC_RMT_MEM_WORDS_PER_CHANNEL=48 +# default: +CONFIG_SOC_RMT_SUPPORT_RX_PINGPONG=y +# default: +CONFIG_SOC_RMT_SUPPORT_RX_DEMODULATION=y +# default: +CONFIG_SOC_RMT_SUPPORT_ASYNC_STOP=y +# default: +CONFIG_SOC_RMT_SUPPORT_TX_LOOP_COUNT=y +# default: +CONFIG_SOC_RMT_SUPPORT_TX_LOOP_AUTO_STOP=y +# default: +CONFIG_SOC_RMT_SUPPORT_TX_SYNCHRO=y +# default: +CONFIG_SOC_RMT_SUPPORT_TX_CARRIER_DATA_ONLY=y +# default: +CONFIG_SOC_RMT_SUPPORT_XTAL=y +# default: +CONFIG_SOC_RMT_SUPPORT_RC_FAST=y +# default: +CONFIG_SOC_RMT_SUPPORT_APB=y +# default: +CONFIG_SOC_RMT_SUPPORT_DMA=y +# default: +CONFIG_SOC_LCD_I80_SUPPORTED=y +# default: +CONFIG_SOC_LCD_RGB_SUPPORTED=y +# default: +CONFIG_SOC_LCD_I80_BUSES=1 +# default: +CONFIG_SOC_LCD_RGB_PANELS=1 +# default: +CONFIG_SOC_LCD_I80_BUS_WIDTH=16 +# default: +CONFIG_SOC_LCD_RGB_DATA_WIDTH=16 +# default: +CONFIG_SOC_LCD_SUPPORT_RGB_YUV_CONV=y +# default: +CONFIG_SOC_LCDCAM_I80_NUM_BUSES=1 +# default: +CONFIG_SOC_LCDCAM_I80_BUS_WIDTH=16 +# default: +CONFIG_SOC_LCDCAM_RGB_NUM_PANELS=1 +# default: +CONFIG_SOC_LCDCAM_RGB_DATA_WIDTH=16 +# default: +CONFIG_SOC_RTC_CNTL_CPU_PD_DMA_BUS_WIDTH=128 +# default: +CONFIG_SOC_RTC_CNTL_CPU_PD_REG_FILE_NUM=549 +# default: +CONFIG_SOC_RTC_CNTL_TAGMEM_PD_DMA_BUS_WIDTH=128 +# default: +CONFIG_SOC_RTC_CNTL_NEEDS_ATOMIC_ACCESS=y +# default: +CONFIG_SOC_RTCIO_PIN_COUNT=22 +# default: +CONFIG_SOC_RTCIO_INPUT_OUTPUT_SUPPORTED=y +# default: +CONFIG_SOC_RTCIO_HOLD_SUPPORTED=y +# default: +CONFIG_SOC_RTCIO_WAKE_SUPPORTED=y +# default: +CONFIG_SOC_LP_IO_CLOCK_IS_INDEPENDENT=y +# default: +CONFIG_SOC_SDM_GROUPS=1 +# default: +CONFIG_SOC_SDM_CHANNELS_PER_GROUP=8 +# default: +CONFIG_SOC_SDM_CLK_SUPPORT_APB=y +# default: +CONFIG_SOC_SPI_PERIPH_NUM=3 +# default: +CONFIG_SOC_SPI_MAX_CS_NUM=6 +# default: +CONFIG_SOC_SPI_MAXIMUM_BUFFER_SIZE=64 +# default: +CONFIG_SOC_SPI_SUPPORT_DDRCLK=y +# default: +CONFIG_SOC_SPI_SLAVE_SUPPORT_SEG_TRANS=y +# default: +CONFIG_SOC_SPI_SUPPORT_CD_SIG=y +# default: +CONFIG_SOC_SPI_SUPPORT_CONTINUOUS_TRANS=y +# default: +CONFIG_SOC_SPI_SUPPORT_SLAVE_HD_VER2=y +# default: +CONFIG_SOC_SPI_SUPPORT_CLK_APB=y +# default: +CONFIG_SOC_SPI_SUPPORT_CLK_XTAL=y +# default: +CONFIG_SOC_SPI_PERIPH_SUPPORT_CONTROL_DUMMY_OUT=y +# default: +CONFIG_SOC_MEMSPI_IS_INDEPENDENT=y +# default: +CONFIG_SOC_SPI_MAX_PRE_DIVIDER=16 +# default: +CONFIG_SOC_SPI_SUPPORT_OCT=y +# default: +CONFIG_SOC_SPI_SCT_SUPPORTED=y +# default: +CONFIG_SOC_SPI_SCT_REG_NUM=14 +# default: +CONFIG_SOC_SPI_SCT_BUFFER_NUM_MAX=y +# default: +CONFIG_SOC_SPI_SCT_CONF_BITLEN_MAX=0x3FFFA +# default: +CONFIG_SOC_SPIRAM_SUPPORTED=y +# default: +CONFIG_SOC_SPIRAM_XIP_SUPPORTED=y +# default: +CONFIG_SOC_SYSTIMER_COUNTER_NUM=2 +# default: +CONFIG_SOC_SYSTIMER_ALARM_NUM=3 +# default: +CONFIG_SOC_SYSTIMER_BIT_WIDTH_LO=32 +# default: +CONFIG_SOC_SYSTIMER_BIT_WIDTH_HI=20 +# default: +CONFIG_SOC_SYSTIMER_FIXED_DIVIDER=y +# default: +CONFIG_SOC_SYSTIMER_INT_LEVEL=y +# default: +CONFIG_SOC_SYSTIMER_ALARM_MISS_COMPENSATE=y +# default: +CONFIG_SOC_TIMER_GROUPS=2 +# default: +CONFIG_SOC_TIMER_GROUP_TIMERS_PER_GROUP=2 +# default: +CONFIG_SOC_TIMER_GROUP_COUNTER_BIT_WIDTH=54 +# default: +CONFIG_SOC_TIMER_GROUP_SUPPORT_XTAL=y +# default: +CONFIG_SOC_TIMER_GROUP_SUPPORT_APB=y +# default: +CONFIG_SOC_TIMER_GROUP_TOTAL_TIMERS=4 +# default: +CONFIG_SOC_LP_TIMER_BIT_WIDTH_LO=32 +# default: +CONFIG_SOC_LP_TIMER_BIT_WIDTH_HI=16 +# default: +CONFIG_SOC_TOUCH_SENSOR_VERSION=2 +# default: +CONFIG_SOC_TOUCH_SENSOR_NUM=15 +# default: +CONFIG_SOC_TOUCH_MIN_CHAN_ID=1 +# default: +CONFIG_SOC_TOUCH_MAX_CHAN_ID=14 +# default: +CONFIG_SOC_TOUCH_SUPPORT_BENCHMARK=y +# default: +CONFIG_SOC_TOUCH_SUPPORT_SLEEP_WAKEUP=y +# default: +CONFIG_SOC_TOUCH_SUPPORT_WATERPROOF=y +# default: +CONFIG_SOC_TOUCH_SUPPORT_PROX_SENSING=y +# default: +CONFIG_SOC_TOUCH_SUPPORT_DENOISE_CHAN=y +# default: +CONFIG_SOC_TOUCH_PROXIMITY_CHANNEL_NUM=3 +# default: +CONFIG_SOC_TOUCH_PROXIMITY_MEAS_DONE_SUPPORTED=y +# default: +CONFIG_SOC_TOUCH_SAMPLE_CFG_NUM=1 +# default: +CONFIG_SOC_TWAI_CONTROLLER_NUM=1 +# default: +CONFIG_SOC_TWAI_MASK_FILTER_NUM=1 +# default: +CONFIG_SOC_TWAI_CLK_SUPPORT_APB=y +# default: +CONFIG_SOC_TWAI_BRP_MIN=2 +# default: +CONFIG_SOC_TWAI_BRP_MAX=16384 +# default: +CONFIG_SOC_TWAI_SUPPORTS_RX_STATUS=y +# default: +CONFIG_SOC_UART_NUM=3 +# default: +CONFIG_SOC_UART_HP_NUM=3 +# default: +CONFIG_SOC_UART_FIFO_LEN=128 +# default: +CONFIG_SOC_UART_BITRATE_MAX=5000000 +# default: +CONFIG_SOC_UART_SUPPORT_FSM_TX_WAIT_SEND=y +# default: +CONFIG_SOC_UART_SUPPORT_WAKEUP_INT=y +# default: +CONFIG_SOC_UART_SUPPORT_APB_CLK=y +# default: +CONFIG_SOC_UART_SUPPORT_RTC_CLK=y +# default: +CONFIG_SOC_UART_SUPPORT_XTAL_CLK=y +# default: +CONFIG_SOC_UART_WAKEUP_SUPPORT_ACTIVE_THRESH_MODE=y +# default: +CONFIG_SOC_UHCI_NUM=1 +# default: +CONFIG_SOC_USB_OTG_PERIPH_NUM=1 +# default: +CONFIG_SOC_SHA_DMA_MAX_BUFFER_SIZE=3968 +# default: +CONFIG_SOC_SHA_SUPPORT_DMA=y +# default: +CONFIG_SOC_SHA_SUPPORT_RESUME=y +# default: +CONFIG_SOC_SHA_GDMA=y +# default: +CONFIG_SOC_SHA_SUPPORT_SHA1=y +# default: +CONFIG_SOC_SHA_SUPPORT_SHA224=y +# default: +CONFIG_SOC_SHA_SUPPORT_SHA256=y +# default: +CONFIG_SOC_SHA_SUPPORT_SHA384=y +# default: +CONFIG_SOC_SHA_SUPPORT_SHA512=y +# default: +CONFIG_SOC_SHA_SUPPORT_SHA512_224=y +# default: +CONFIG_SOC_SHA_SUPPORT_SHA512_256=y +# default: +CONFIG_SOC_SHA_SUPPORT_SHA512_T=y +# default: +CONFIG_SOC_MPI_MEM_BLOCKS_NUM=4 +# default: +CONFIG_SOC_MPI_OPERATIONS_NUM=3 +# default: +CONFIG_SOC_RSA_MAX_BIT_LEN=4096 +# default: +CONFIG_SOC_AES_SUPPORT_DMA=y +# default: +CONFIG_SOC_AES_GDMA=y +# default: +CONFIG_SOC_AES_SUPPORT_AES_128=y +# default: +CONFIG_SOC_AES_SUPPORT_AES_256=y +# default: +CONFIG_SOC_PM_SUPPORT_EXT0_WAKEUP=y +# default: +CONFIG_SOC_PM_SUPPORT_EXT1_WAKEUP=y +# default: +CONFIG_SOC_PM_SUPPORT_EXT_WAKEUP=y +# default: +CONFIG_SOC_PM_SUPPORT_WIFI_WAKEUP=y +# default: +CONFIG_SOC_PM_SUPPORT_BT_WAKEUP=y +# default: +CONFIG_SOC_PM_SUPPORT_TOUCH_SENSOR_WAKEUP=y +# default: +CONFIG_SOC_PM_SUPPORT_CPU_PD=y +# default: +CONFIG_SOC_PM_SUPPORT_TAGMEM_PD=y +# default: +CONFIG_SOC_PM_SUPPORT_RTC_PERIPH_PD=y +# default: +CONFIG_SOC_PM_SUPPORT_RC_FAST_PD=y +# default: +CONFIG_SOC_PM_SUPPORT_VDDSDIO_PD=y +# default: +CONFIG_SOC_PM_SUPPORT_MAC_BB_PD=y +# default: +CONFIG_SOC_PM_SUPPORT_MODEM_PD=y +# default: +CONFIG_SOC_CONFIGURABLE_VDDSDIO_SUPPORTED=y +# default: +CONFIG_SOC_PM_SUPPORT_DEEPSLEEP_CHECK_STUB_ONLY=y +# default: +CONFIG_SOC_PM_CPU_RETENTION_BY_RTCCNTL=y +# default: +CONFIG_SOC_PM_MODEM_RETENTION_BY_BACKUPDMA=y +# default: +CONFIG_SOC_PM_MODEM_PD_BY_SW=y +# default: +CONFIG_SOC_CLK_RC_FAST_D256_SUPPORTED=y +# default: +CONFIG_SOC_RTC_SLOW_CLK_SUPPORT_RC_FAST_D256=y +# default: +CONFIG_SOC_CLK_RC_FAST_SUPPORT_CALIBRATION=y +# default: +CONFIG_SOC_CLK_XTAL32K_SUPPORTED=y +# default: +CONFIG_SOC_CLK_LP_FAST_SUPPORT_XTAL_D2=y +# default: +CONFIG_SOC_EFUSE_DIS_DOWNLOAD_ICACHE=y +# default: +CONFIG_SOC_EFUSE_DIS_DOWNLOAD_DCACHE=y +# default: +CONFIG_SOC_EFUSE_HARD_DIS_JTAG=y +# default: +CONFIG_SOC_EFUSE_DIS_USB_JTAG=y +# default: +CONFIG_SOC_EFUSE_SOFT_DIS_JTAG=y +# default: +CONFIG_SOC_EFUSE_DIS_DIRECT_BOOT=y +# default: +CONFIG_SOC_EFUSE_DIS_ICACHE=y +# default: +CONFIG_SOC_EFUSE_BLOCK9_KEY_PURPOSE_QUIRK=y +# default: +CONFIG_SOC_SECURE_BOOT_V2_RSA=y +# default: +CONFIG_SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS=3 +# default: +CONFIG_SOC_EFUSE_REVOKE_BOOT_KEY_DIGESTS=y +# default: +CONFIG_SOC_SUPPORT_SECURE_BOOT_REVOKE_KEY=y +# default: +CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX=64 +# default: +CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES=y +# default: +CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_OPTIONS=y +# default: +CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_128=y +# default: +CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_256=y +# default: +CONFIG_SOC_MEMPROT_CPU_PREFETCH_PAD_SIZE=16 +# default: +CONFIG_SOC_MEMPROT_MEM_ALIGN_SIZE=256 +# default: +CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE=21 +# default: +CONFIG_SOC_MAC_BB_PD_MEM_SIZE=192 +# default: +CONFIG_SOC_WIFI_LIGHT_SLEEP_CLK_WIDTH=12 +# default: +CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_WAIT_IDLE=y +# default: +CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_SUSPEND=y +# default: +CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_RESUME=y +# default: +CONFIG_SOC_SPI_MEM_SUPPORT_SW_SUSPEND=y +# default: +CONFIG_SOC_SPI_MEM_SUPPORT_FLASH_OPI_MODE=y +# default: +CONFIG_SOC_SPI_MEM_SUPPORT_TIMING_TUNING=y +# default: +CONFIG_SOC_SPI_MEM_SUPPORT_CONFIG_GPIO_BY_EFUSE=y +# default: +CONFIG_SOC_SPI_MEM_SUPPORT_WRAP=y +# default: +CONFIG_SOC_MEMSPI_TIMING_TUNING_BY_MSPI_DELAY=y +# default: +CONFIG_SOC_MEMSPI_CORE_CLK_SHARED_WITH_PSRAM=y +# default: +CONFIG_SOC_SPI_MEM_SUPPORT_CACHE_32BIT_ADDR_MAP=y +# default: +CONFIG_SOC_SPI_MEM_FLASH_SUPPORT_HPM=y +# default: +CONFIG_SOC_COEX_HW_PTI=y +# default: +CONFIG_SOC_EXTERNAL_COEX_LEADER_TX_LINE=y +# default: +CONFIG_SOC_SDMMC_USE_GPIO_MATRIX=y +# default: +CONFIG_SOC_SDMMC_NUM_SLOTS=2 +# default: +CONFIG_SOC_SDMMC_SUPPORT_XTAL_CLOCK=y +# default: +CONFIG_SOC_SDMMC_DELAY_PHASE_NUM=4 +# default: +CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_FAST_RC=y +# default: +CONFIG_SOC_WIFI_HW_TSF=y +# default: +CONFIG_SOC_WIFI_FTM_SUPPORT=y +# default: +CONFIG_SOC_WIFI_GCMP_SUPPORT=y +# default: +CONFIG_SOC_WIFI_WAPI_SUPPORT=y +# default: +CONFIG_SOC_WIFI_TXOP_SUPPORT=y +# default: +CONFIG_SOC_WIFI_CSI_SUPPORT=y +# default: +CONFIG_SOC_WIFI_MESH_SUPPORT=y +# default: +CONFIG_SOC_WIFI_SUPPORT_VARIABLE_BEACON_WINDOW=y +# default: +CONFIG_SOC_WIFI_PHY_NEEDS_USB_WORKAROUND=y +# default: +CONFIG_SOC_BLE_SUPPORTED=y +# default: +CONFIG_SOC_BLE_MESH_SUPPORTED=y +# default: +CONFIG_SOC_BLE_50_SUPPORTED=y +# default: +CONFIG_SOC_BLE_DEVICE_PRIVACY_SUPPORTED=y +# default: +CONFIG_SOC_BLUFI_SUPPORTED=y +# default: +CONFIG_SOC_ULP_HAS_ADC=y +# default: +CONFIG_SOC_PHY_COMBO_MODULE=y +# default: +CONFIG_SOC_LCDCAM_CAM_SUPPORT_RGB_YUV_CONV=y +# default: +CONFIG_SOC_LCDCAM_CAM_PERIPH_NUM=1 +# default: +CONFIG_SOC_LCDCAM_CAM_DATA_WIDTH_MAX=16 +# default: +CONFIG_IDF_CMAKE=y +# default: +CONFIG_IDF_TOOLCHAIN="gcc" +# default: +CONFIG_IDF_TOOLCHAIN_GCC=y +# default: +CONFIG_IDF_TARGET_ARCH_XTENSA=y +# default: +CONFIG_IDF_TARGET_ARCH="xtensa" +# default: +CONFIG_IDF_TARGET="esp32s3" +# default: +CONFIG_IDF_INIT_VERSION="5.5.4" +# default: +CONFIG_IDF_TARGET_ESP32S3=y +# default: +CONFIG_IDF_FIRMWARE_CHIP_ID=0x0009 + +# +# Build type +# +# default: +CONFIG_APP_BUILD_TYPE_APP_2NDBOOT=y +# default: +# CONFIG_APP_BUILD_TYPE_RAM is not set +# default: +CONFIG_APP_BUILD_GENERATE_BINARIES=y +# default: +CONFIG_APP_BUILD_BOOTLOADER=y +# default: +CONFIG_APP_BUILD_USE_FLASH_SECTIONS=y +# default: +# CONFIG_APP_REPRODUCIBLE_BUILD is not set +# default: +# CONFIG_APP_NO_BLOBS is not set +# end of Build type + +# +# Bootloader config +# + +# +# Bootloader manager +# +# default: +CONFIG_BOOTLOADER_COMPILE_TIME_DATE=y +# default: +CONFIG_BOOTLOADER_PROJECT_VER=1 +# end of Bootloader manager + +# +# Application Rollback +# +# default: +# CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE is not set +# end of Application Rollback + +# +# Recovery Bootloader and Rollback +# +# end of Recovery Bootloader and Rollback + +# default: +CONFIG_BOOTLOADER_OFFSET_IN_FLASH=0x0 +# default: +CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y +# default: +# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_DEBUG is not set +# default: +# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_PERF is not set +# default: +# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_NONE is not set + +# +# Log +# +# default: +CONFIG_BOOTLOADER_LOG_VERSION_1=y +# default: +CONFIG_BOOTLOADER_LOG_VERSION=1 +# default: +# CONFIG_BOOTLOADER_LOG_LEVEL_NONE is not set +# default: +# CONFIG_BOOTLOADER_LOG_LEVEL_ERROR is not set +# default: +# CONFIG_BOOTLOADER_LOG_LEVEL_WARN is not set +# default: +CONFIG_BOOTLOADER_LOG_LEVEL_INFO=y +# default: +# CONFIG_BOOTLOADER_LOG_LEVEL_DEBUG is not set +# default: +# CONFIG_BOOTLOADER_LOG_LEVEL_VERBOSE is not set +# default: +CONFIG_BOOTLOADER_LOG_LEVEL=3 + +# +# Format +# +# default: +# CONFIG_BOOTLOADER_LOG_COLORS is not set +# default: +CONFIG_BOOTLOADER_LOG_TIMESTAMP_SOURCE_CPU_TICKS=y +# end of Format + +# +# Settings +# +# default: +CONFIG_BOOTLOADER_LOG_MODE_TEXT_EN=y +# default: +CONFIG_BOOTLOADER_LOG_MODE_TEXT=y +# end of Settings +# end of Log + +# +# Serial Flash Configurations +# +# default: +# CONFIG_BOOTLOADER_FLASH_DC_AWARE is not set +# default: +CONFIG_BOOTLOADER_FLASH_XMC_SUPPORT=y +# end of Serial Flash Configurations + +# default: +CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_9V=y +# default: +# CONFIG_BOOTLOADER_FACTORY_RESET is not set +# default: +# CONFIG_BOOTLOADER_APP_TEST is not set +# default: +CONFIG_BOOTLOADER_REGION_PROTECTION_ENABLE=y +# default: +CONFIG_BOOTLOADER_WDT_ENABLE=y +# default: +# CONFIG_BOOTLOADER_WDT_DISABLE_IN_USER_CODE is not set +# default: +CONFIG_BOOTLOADER_WDT_TIME_MS=9000 +# default: +# CONFIG_BOOTLOADER_SKIP_VALIDATE_IN_DEEP_SLEEP is not set +# default: +# CONFIG_BOOTLOADER_SKIP_VALIDATE_ON_POWER_ON is not set +# default: +# CONFIG_BOOTLOADER_SKIP_VALIDATE_ALWAYS is not set +# default: +CONFIG_BOOTLOADER_RESERVE_RTC_SIZE=0 +# default: +# CONFIG_BOOTLOADER_CUSTOM_RESERVE_RTC is not set +# end of Bootloader config + +# +# Security features +# +# default: +CONFIG_SECURE_BOOT_V2_RSA_SUPPORTED=y +# default: +CONFIG_SECURE_BOOT_V2_PREFERRED=y +# default: +# CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT is not set +# default: +# CONFIG_SECURE_BOOT is not set +# default: +# CONFIG_SECURE_FLASH_ENC_ENABLED is not set +# default: +CONFIG_SECURE_ROM_DL_MODE_ENABLED=y +# end of Security features + +# +# Application manager +# +# default: +CONFIG_APP_COMPILE_TIME_DATE=y +# default: +# CONFIG_APP_EXCLUDE_PROJECT_VER_VAR is not set +# default: +# CONFIG_APP_EXCLUDE_PROJECT_NAME_VAR is not set +# default: +# CONFIG_APP_PROJECT_VER_FROM_CONFIG is not set +# default: +CONFIG_APP_RETRIEVE_LEN_ELF_SHA=9 +# end of Application manager + +# default: +CONFIG_ESP_ROM_HAS_CRC_LE=y +# default: +CONFIG_ESP_ROM_HAS_CRC_BE=y +# default: +CONFIG_ESP_ROM_HAS_MZ_CRC32=y +# default: +CONFIG_ESP_ROM_HAS_JPEG_DECODE=y +# default: +CONFIG_ESP_ROM_UART_CLK_IS_XTAL=y +# default: +CONFIG_ESP_ROM_HAS_RETARGETABLE_LOCKING=y +# default: +CONFIG_ESP_ROM_USB_OTG_NUM=3 +# default: +CONFIG_ESP_ROM_USB_SERIAL_DEVICE_NUM=4 +# default: +CONFIG_ESP_ROM_HAS_ERASE_0_REGION_BUG=y +# default: +CONFIG_ESP_ROM_HAS_ENCRYPTED_WRITES_USING_LEGACY_DRV=y +# default: +CONFIG_ESP_ROM_GET_CLK_FREQ=y +# default: +CONFIG_ESP_ROM_HAS_HAL_WDT=y +# default: +CONFIG_ESP_ROM_NEEDS_SWSETUP_WORKAROUND=y +# default: +CONFIG_ESP_ROM_HAS_LAYOUT_TABLE=y +# default: +CONFIG_ESP_ROM_HAS_SPI_FLASH=y +# default: +CONFIG_ESP_ROM_HAS_SPI_FLASH_MMAP=y +# default: +CONFIG_ESP_ROM_HAS_ETS_PRINTF_BUG=y +# default: +CONFIG_ESP_ROM_HAS_NEWLIB=y +# default: +CONFIG_ESP_ROM_HAS_NEWLIB_NANO_FORMAT=y +# default: +CONFIG_ESP_ROM_HAS_NEWLIB_32BIT_TIME=y +# default: +CONFIG_ESP_ROM_NEEDS_SET_CACHE_MMU_SIZE=y +# default: +CONFIG_ESP_ROM_RAM_APP_NEEDS_MMU_INIT=y +# default: +CONFIG_ESP_ROM_HAS_FLASH_COUNT_PAGES_BUG=y +# default: +CONFIG_ESP_ROM_HAS_CACHE_SUSPEND_WAITI_BUG=y +# default: +CONFIG_ESP_ROM_HAS_CACHE_WRITEBACK_BUG=y +# default: +CONFIG_ESP_ROM_HAS_SW_FLOAT=y +# default: +CONFIG_ESP_ROM_HAS_VERSION=y +# default: +CONFIG_ESP_ROM_SUPPORT_DEEP_SLEEP_WAKEUP_STUB=y +# default: +CONFIG_ESP_ROM_HAS_OUTPUT_PUTC_FUNC=y +# default: +CONFIG_ESP_ROM_CONSOLE_OUTPUT_SECONDARY=y + +# +# Boot ROM Behavior +# +# default: +CONFIG_BOOT_ROM_LOG_ALWAYS_ON=y +# default: +# CONFIG_BOOT_ROM_LOG_ALWAYS_OFF is not set +# default: +# CONFIG_BOOT_ROM_LOG_ON_GPIO_HIGH is not set +# default: +# CONFIG_BOOT_ROM_LOG_ON_GPIO_LOW is not set +# end of Boot ROM Behavior + +# +# Serial flasher config +# +# default: +# CONFIG_ESPTOOLPY_NO_STUB is not set +# default: +# CONFIG_ESPTOOLPY_OCT_FLASH is not set +# default: +CONFIG_ESPTOOLPY_FLASH_MODE_AUTO_DETECT=y +# default: +# CONFIG_ESPTOOLPY_FLASHMODE_QIO is not set +# default: +# CONFIG_ESPTOOLPY_FLASHMODE_QOUT is not set +# default: +CONFIG_ESPTOOLPY_FLASHMODE_DIO=y +# default: +# CONFIG_ESPTOOLPY_FLASHMODE_DOUT is not set +# default: +CONFIG_ESPTOOLPY_FLASH_SAMPLE_MODE_STR=y +# default: +CONFIG_ESPTOOLPY_FLASHMODE="dio" +# default: +# CONFIG_ESPTOOLPY_FLASHFREQ_120M is not set +# default: +CONFIG_ESPTOOLPY_FLASHFREQ_80M=y +# default: +# CONFIG_ESPTOOLPY_FLASHFREQ_40M is not set +# default: +# CONFIG_ESPTOOLPY_FLASHFREQ_20M is not set +# default: +CONFIG_ESPTOOLPY_FLASHFREQ="80m" +# default: +# CONFIG_ESPTOOLPY_FLASHSIZE_1MB is not set +# default: +CONFIG_ESPTOOLPY_FLASHSIZE_2MB=y +# default: +# CONFIG_ESPTOOLPY_FLASHSIZE_4MB is not set +# default: +# CONFIG_ESPTOOLPY_FLASHSIZE_8MB is not set +# default: +# CONFIG_ESPTOOLPY_FLASHSIZE_16MB is not set +# default: +# CONFIG_ESPTOOLPY_FLASHSIZE_32MB is not set +# default: +# CONFIG_ESPTOOLPY_FLASHSIZE_64MB is not set +# default: +# CONFIG_ESPTOOLPY_FLASHSIZE_128MB is not set +# default: +CONFIG_ESPTOOLPY_FLASHSIZE="2MB" +# default: +# CONFIG_ESPTOOLPY_HEADER_FLASHSIZE_UPDATE is not set +# default: +CONFIG_ESPTOOLPY_BEFORE_RESET=y +# default: +# CONFIG_ESPTOOLPY_BEFORE_NORESET is not set +# default: +CONFIG_ESPTOOLPY_BEFORE="default_reset" +# default: +CONFIG_ESPTOOLPY_AFTER_RESET=y +# default: +# CONFIG_ESPTOOLPY_AFTER_NORESET is not set +# default: +CONFIG_ESPTOOLPY_AFTER="hard_reset" +# default: +CONFIG_ESPTOOLPY_MONITOR_BAUD=115200 +# end of Serial flasher config + +# +# Partition Table +# +# default: +CONFIG_PARTITION_TABLE_SINGLE_APP=y +# default: +# CONFIG_PARTITION_TABLE_SINGLE_APP_LARGE is not set +# default: +# CONFIG_PARTITION_TABLE_TWO_OTA is not set +# default: +# CONFIG_PARTITION_TABLE_TWO_OTA_LARGE is not set +# default: +# CONFIG_PARTITION_TABLE_CUSTOM is not set +# default: +CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv" +# default: +CONFIG_PARTITION_TABLE_FILENAME="partitions_singleapp.csv" +# default: +CONFIG_PARTITION_TABLE_OFFSET=0x8000 +# default: +CONFIG_PARTITION_TABLE_MD5=y +# end of Partition Table + +# +# Arduino Configuration +# +# default: +CONFIG_ARDUINO_VARIANT="esp32s3" +# default: +CONFIG_ENABLE_ARDUINO_DEPENDS=y +CONFIG_AUTOSTART_ARDUINO=y +# default: +# CONFIG_ARDUINO_RUN_CORE0 is not set +# default: +CONFIG_ARDUINO_RUN_CORE1=y +# default: +# CONFIG_ARDUINO_RUN_NO_AFFINITY is not set +# default: +CONFIG_ARDUINO_RUNNING_CORE=1 +# default: +CONFIG_ARDUINO_LOOP_STACK_SIZE=8192 +# default: +# CONFIG_ARDUINO_EVENT_RUN_CORE0 is not set +# default: +CONFIG_ARDUINO_EVENT_RUN_CORE1=y +# default: +# CONFIG_ARDUINO_EVENT_RUN_NO_AFFINITY is not set +# default: +CONFIG_ARDUINO_EVENT_RUNNING_CORE=1 +# default: +# CONFIG_ARDUINO_SERIAL_EVENT_RUN_CORE0 is not set +# default: +# CONFIG_ARDUINO_SERIAL_EVENT_RUN_CORE1 is not set +# default: +CONFIG_ARDUINO_SERIAL_EVENT_RUN_NO_AFFINITY=y +# default: +CONFIG_ARDUINO_SERIAL_EVENT_TASK_RUNNING_CORE=-1 +# default: +CONFIG_ARDUINO_SERIAL_EVENT_TASK_STACK_SIZE=2048 +# default: +CONFIG_ARDUINO_SERIAL_EVENT_TASK_PRIORITY=24 +# default: +CONFIG_ARDUINO_UDP_RUN_CORE0=y +# default: +# CONFIG_ARDUINO_UDP_RUN_CORE1 is not set +# default: +# CONFIG_ARDUINO_UDP_RUN_NO_AFFINITY is not set +# default: +CONFIG_ARDUINO_UDP_RUNNING_CORE=0 +# default: +CONFIG_ARDUINO_UDP_TASK_PRIORITY=3 +# default: +CONFIG_ARDUINO_UDP_TASK_STACK_SIZE=4096 +# default: +# CONFIG_ARDUINO_ISR_IRAM is not set +# default: +# CONFIG_DISABLE_HAL_LOCKS is not set + +# +# Debug Log Configuration +# +# default: +# CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_NONE is not set +# default: +CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_ERROR=y +# default: +# CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_WARN is not set +# default: +# CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_INFO is not set +# default: +# CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_DEBUG is not set +# default: +# CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_VERBOSE is not set +# default: +CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL=1 +# default: +# CONFIG_ARDUHAL_LOG_COLORS is not set +# default: +# CONFIG_ARDUHAL_ESP_LOG is not set +# end of Debug Log Configuration + +# default: +CONFIG_ARDUHAL_PARTITION_SCHEME_DEFAULT=y +# default: +# CONFIG_ARDUHAL_PARTITION_SCHEME_MINIMAL is not set +# default: +# CONFIG_ARDUHAL_PARTITION_SCHEME_NO_OTA is not set +# default: +# CONFIG_ARDUHAL_PARTITION_SCHEME_HUGE_APP is not set +# default: +# CONFIG_ARDUHAL_PARTITION_SCHEME_MIN_SPIFFS is not set +# default: +CONFIG_ARDUHAL_PARTITION_SCHEME="default" +# default: +# CONFIG_AUTOCONNECT_WIFI is not set +# default: +# CONFIG_ARDUINO_SELECTIVE_COMPILATION is not set +# end of Arduino Configuration + +# +# ESP Speech Recognition +# +# default: +CONFIG_MODEL_IN_FLASH=y +# default: +# CONFIG_MODEL_IN_SDCARD is not set +# default: +CONFIG_AFE_INTERFACE_V1=y +# default: +CONFIG_SR_NSN_WEBRTC=y +# default: +# CONFIG_SR_NSN_NSNET2 is not set +# default: +CONFIG_SR_VADN_WEBRTC=y +# default: +# CONFIG_SR_VADN_VADNET1_MEDIUM is not set + +# +# Load Multiple Wake Words (WakeNet9s) +# +# default: +# CONFIG_SR_WN_WN9S_HILEXIN is not set +# default: +# CONFIG_SR_WN_WN9S_HIESP is not set +# default: +# CONFIG_SR_WN_WN9S_NIHAOXIAOZHI is not set +# default: +# CONFIG_SR_WN_WN9S_HIJASON is not set +# end of Load Multiple Wake Words (WakeNet9s) + +# +# Load Multiple Wake Words (WakeNet9) +# +# default: +# CONFIG_SR_WN_WN9_HILEXIN is not set +# default: +# CONFIG_SR_WN_WN9_HIESP is not set +# default: +# CONFIG_SR_WN_WN9L_JA_KONNICHIHAESP_TTS3 is not set +# default: +# CONFIG_SR_WN_WN9L_FR_BONJOURESP_TTS3 is not set +# default: +# CONFIG_SR_WN_WN9_NIHAOMIAOBAN_TTS2 is not set +# default: +# CONFIG_SR_WN_WN9_XIAOAITONGXUE is not set +# default: +# CONFIG_SR_WN_WN9L_XIAOAITONGXUE is not set +# default: +# CONFIG_SR_WN_WN9_NIHAOXIAOZHI_TTS is not set +# default: +# CONFIG_SR_WN_WN9L_NIHAOXIAOZHI_TTS3 is not set +# default: +# CONFIG_SR_WN_WN9_ALEXA is not set +# default: +# CONFIG_SR_WN_WN9_JARVIS_TTS is not set +# default: +# CONFIG_SR_WN_WN9_COMPUTER_TTS is not set +# default: +# CONFIG_SR_WN_WN9_HEYWILLOW_TTS is not set +# default: +# CONFIG_SR_WN_WN9_HIMFIVE is not set +# default: +# CONFIG_SR_WN_WN9_SOPHIA_TTS is not set +# default: +# CONFIG_SR_WN_WN9_HEYWANDA_TTS is not set +# default: +# CONFIG_SR_WN_WN9_HIJOLLY_TTS2 is not set +# default: +# CONFIG_SR_WN_WN9_HIFAIRY_TTS2 is not set +# default: +# CONFIG_SR_WN_WN9_HEYPRINTER_TTS is not set +# default: +# CONFIG_SR_WN_WN9_MYCROFT_TTS is not set +# default: +# CONFIG_SR_WN_WN9_HIJOY_TTS is not set +# default: +# CONFIG_SR_WN_WN9_HIJASON_TTS2 is not set +# default: +# CONFIG_SR_WN_WN9_ASTROLABE_TTS is not set +# default: +# CONFIG_SR_WN_WN9_HEYILY_TTS2 is not set +# default: +# CONFIG_SR_WN_WN9_BLUECHIP_TTS2 is not set +# default: +# CONFIG_SR_WN_WN9_HIANDY_TTS2 is not set +# default: +# CONFIG_SR_WN_WN9_HEYIVY_TTS2 is not set +# default: +# CONFIG_SR_WN_WN9L_HISTACKCHAN_TTS3 is not set +# default: +# CONFIG_SR_WN_WN9_HEYKIRA_TTS3 is not set +# default: +# CONFIG_SR_WN_WN9L_HEYGIGI_TTS3 is not set +# default: +# CONFIG_SR_WN_WN9_XIAOLONGXIAOLONG_TTS is not set +# default: +# CONFIG_SR_WN_WN9_HIMIAOMIAO_TTS is not set +# default: +# CONFIG_SR_WN_WN9_MIAOMIAOTONGXUE_TTS is not set +# default: +# CONFIG_SR_WN_WN9_NIHAOXIAOXIN_TTS is not set +# default: +# CONFIG_SR_WN_WN9_XIAOMEITONGXUE_TTS is not set +# default: +# CONFIG_SR_WN_WN9_HILILI_TTS is not set +# default: +# CONFIG_SR_WN_WN9_HITELLY_TTS is not set +# default: +# CONFIG_SR_WN_WN9_XIAOBINXIAOBIN_TTS is not set +# default: +# CONFIG_SR_WN_WN9_HAIXIAOWU_TTS is not set +# default: +# CONFIG_SR_WN_WN9_XIAOYAXIAOYA_TTS2 is not set +# default: +# CONFIG_SR_WN_WN9_LINAIBAN_TTS2 is not set +# default: +# CONFIG_SR_WN_WN9_XIAOSUROU_TTS2 is not set +# default: +# CONFIG_SR_WN_WN9_XIAOYUTONGXUE_TTS2 is not set +# default: +# CONFIG_SR_WN_WN9_XIAOMINGTONGXUE_TTS2 is not set +# default: +# CONFIG_SR_WN_WN9_XIAOKANGTONGXUE_TTS2 is not set +# default: +# CONFIG_SR_WN_WN9_XIAOJIANXIAOJIAN_TTS2 is not set +# default: +# CONFIG_SR_WN_WN9_XIAOTEXIAOTE_TTS2 is not set +# default: +# CONFIG_SR_WN_WN9_NIHAOXIAOYI_TTS2 is not set +# default: +# CONFIG_SR_WN_WN9_NIHAOBAIYING_TTS2 is not set +# default: +# CONFIG_SR_WN_WN9_NIHAODONGDONG_TTS2 is not set +# default: +# CONFIG_SR_WN_WN9_HIWALLE_TTS2 is not set +# default: +# CONFIG_SR_WN_WN9_XIAOLUXIAOLU_TTS2 is not set +# default: +# CONFIG_SR_WN_WN9_NIHAOXIAOAN_TTS2 is not set +# default: +# CONFIG_SR_WN_WN9_NI3HAO3XIAO3MAI4_TTS2 is not set +# default: +# CONFIG_SR_WN_WN9_NI3HAO3XIAO3RUI4_TTS3 is not set +# default: +# CONFIG_SR_WN_WN9_HAI1XIAO3OU1_TTS3 is not set +# default: +# CONFIG_SR_WN_WN9_XIAO3JIA1XIAO3JIA1_TTS3 is not set +# default: +# CONFIG_SR_WN_WN9_XIAO3FENG1XIAO3FENG1_TTS3 is not set +# default: +# CONFIG_SR_WN_WN9_HAI1XIAO3XIANG4_TTS3 is not set +# default: +# CONFIG_SR_WN_WN9L_NI3HAO3XING1BAO3_TTS3 is not set +# end of Load Multiple Wake Words (WakeNet9) + +# default: +CONFIG_SR_MN_CN_NONE=y +# default: +# CONFIG_SR_MN_CN_MULTINET5_RECOGNITION_QUANT8 is not set +# default: +# CONFIG_SR_MN_CN_MULTINET6_QUANT is not set +# default: +# CONFIG_SR_MN_CN_MULTINET6_AC_QUANT is not set +# default: +# CONFIG_SR_MN_CN_MULTINET7_QUANT is not set +# default: +# CONFIG_SR_MN_CN_MULTINET7_AC_QUANT is not set +# default: +CONFIG_SR_MN_EN_NONE=y +# default: +# CONFIG_SR_MN_EN_MULTINET5_SINGLE_RECOGNITION_QUANT8 is not set +# default: +# CONFIG_SR_MN_EN_MULTINET6_QUANT is not set +# default: +# CONFIG_SR_MN_EN_MULTINET7_QUANT is not set +# default: +CONFIG_ESP_SR_EXTERNAL_MODEL_PATH="" +# end of ESP Speech Recognition + +# +# ESP RainMaker Config +# +# default: +# CONFIG_ESP_RMAKER_NO_CLAIM is not set +# default: +CONFIG_ESP_RMAKER_SELF_CLAIM=y +# default: +CONFIG_ESP_RMAKER_USE_NVS=y +# default: +CONFIG_ESP_RMAKER_CLAIM_TYPE=1 +# default: +CONFIG_ESP_RMAKER_CLAIM_SERVICE_BASE_URL="https://esp-claiming.rainmaker.espressif.com" +# default: +# CONFIG_ESP_RMAKER_READ_MQTT_HOST_FROM_CONFIG is not set +# default: +# CONFIG_ESP_RMAKER_READ_NODE_ID_FROM_CERT_CN is not set +# default: +CONFIG_ESP_RMAKER_MQTT_HOST="a1p72mufdu6064-ats.iot.us-east-1.amazonaws.com" +# default: +CONFIG_ESP_RMAKER_MQTT_USE_BASIC_INGEST_TOPICS=y +# default: +CONFIG_ESP_RMAKER_MQTT_ENABLE_BUDGETING=y +# default: +CONFIG_ESP_RMAKER_MQTT_DEFAULT_BUDGET=100 +# default: +CONFIG_ESP_RMAKER_MQTT_MAX_BUDGET=1024 +# default: +CONFIG_ESP_RMAKER_MQTT_BUDGET_REVIVE_PERIOD=5 +# default: +CONFIG_ESP_RMAKER_MQTT_BUDGET_REVIVE_COUNT=1 +# default: +CONFIG_ESP_RMAKER_MAX_PARAM_DATA_SIZE=1024 +# default: +# CONFIG_ESP_RMAKER_DISABLE_USER_MAPPING_PROV is not set +# default: +# CONFIG_ESP_RMAKER_USER_ID_CHECK is not set +# default: +# CONFIG_RMAKER_NAME_PARAM_CB is not set +# default: +# CONFIG_ESP_RMAKER_LOCAL_CTRL_FEATURE_ENABLE is not set +# default: +# CONFIG_ESP_RMAKER_LOCAL_CTRL_AUTO_ENABLE is not set +# default: +CONFIG_ESP_RMAKER_CONSOLE_UART_NUM_0=y +# default: +# CONFIG_ESP_RMAKER_CONSOLE_UART_NUM_1 is not set +# default: +CONFIG_ESP_RMAKER_CONSOLE_UART_NUM=0 +# default: +CONFIG_ESP_RMAKER_USE_CERT_BUNDLE=y + +# +# ESP RainMaker OTA Config +# +# default: +CONFIG_ESP_RMAKER_OTA_AUTOFETCH=y +# default: +CONFIG_ESP_RMAKER_OTA_AUTOFETCH_PERIOD=0 +# default: +# CONFIG_ESP_RMAKER_SKIP_COMMON_NAME_CHECK is not set +# default: +# CONFIG_ESP_RMAKER_SKIP_VERSION_CHECK is not set +# default: +# CONFIG_ESP_RMAKER_SKIP_SECURE_VERSION_CHECK is not set +# default: +# CONFIG_ESP_RMAKER_SKIP_PROJECT_NAME_CHECK is not set +# default: +CONFIG_ESP_RMAKER_OTA_HTTP_RX_BUFFER_SIZE=1024 +# default: +CONFIG_ESP_RMAKER_OTA_ROLLBACK_WAIT_PERIOD=90 +# default: +# CONFIG_ESP_RMAKER_OTA_DISABLE_AUTO_REBOOT is not set +# default: +CONFIG_ESP_RMAKER_OTA_TIME_SUPPORT=y +# end of ESP RainMaker OTA Config + +# +# ESP RainMaker Scheduling +# +# default: +CONFIG_ESP_RMAKER_SCHEDULING_MAX_SCHEDULES=10 +# end of ESP RainMaker Scheduling + +# +# ESP RainMaker Scenes +# +# default: +CONFIG_ESP_RMAKER_SCENES_MAX_SCENES=10 +# default: +# CONFIG_ESP_RMAKER_SCENES_DEACTIVATE_SUPPORT is not set +# end of ESP RainMaker Scenes + +# +# ESP RainMaker Command-Response +# +# default: +CONFIG_ESP_RMAKER_CMD_RESP_ENABLE=y +# default: +# CONFIG_ESP_RMAKER_CMD_RESP_TEST_ENABLE is not set +# end of ESP RainMaker Command-Response + +# default: +CONFIG_ESP_RMAKER_USING_NETWORK_PROV=y +# end of ESP RainMaker Config + +# +# Compiler options +# +# default: +CONFIG_COMPILER_OPTIMIZATION_DEBUG=y +# default: +# CONFIG_COMPILER_OPTIMIZATION_SIZE is not set +# default: +# CONFIG_COMPILER_OPTIMIZATION_PERF is not set +# default: +# CONFIG_COMPILER_OPTIMIZATION_NONE is not set +# default: +CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE=y +# default: +# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT is not set +# default: +# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE is not set +# default: +CONFIG_COMPILER_ASSERT_NDEBUG_EVALUATE=y +# default: +CONFIG_COMPILER_FLOAT_LIB_FROM_GCCLIB=y +# default: +CONFIG_COMPILER_OPTIMIZATION_ASSERTION_LEVEL=2 +# default: +# CONFIG_COMPILER_OPTIMIZATION_CHECKS_SILENT is not set +# default: +CONFIG_COMPILER_HIDE_PATHS_MACROS=y +# CONFIG_COMPILER_CXX_EXCEPTIONS is not set +# default: +# CONFIG_COMPILER_CXX_RTTI is not set +# default: +CONFIG_COMPILER_STACK_CHECK_MODE_NONE=y +# default: +# CONFIG_COMPILER_STACK_CHECK_MODE_NORM is not set +# default: +# CONFIG_COMPILER_STACK_CHECK_MODE_STRONG is not set +# default: +# CONFIG_COMPILER_STACK_CHECK_MODE_ALL is not set +# default: +# CONFIG_COMPILER_NO_MERGE_CONSTANTS is not set +# default: +# CONFIG_COMPILER_WARN_WRITE_STRINGS is not set +# default: +CONFIG_COMPILER_DISABLE_DEFAULT_ERRORS=y +# default: +# CONFIG_COMPILER_DISABLE_GCC12_WARNINGS is not set +# default: +# CONFIG_COMPILER_DISABLE_GCC13_WARNINGS is not set +# default: +# CONFIG_COMPILER_DISABLE_GCC14_WARNINGS is not set +# default: +# CONFIG_COMPILER_DUMP_RTL_FILES is not set +# default: +CONFIG_COMPILER_RT_LIB_GCCLIB=y +# default: +CONFIG_COMPILER_RT_LIB_NAME="gcc" +# default: +CONFIG_COMPILER_ORPHAN_SECTIONS_WARNING=y +# default: +# CONFIG_COMPILER_ORPHAN_SECTIONS_PLACE is not set +# default: +# CONFIG_COMPILER_STATIC_ANALYZER is not set +# end of Compiler options + +# +# Component config +# + +# +# Application Level Tracing +# +# default: +# CONFIG_APPTRACE_DEST_JTAG is not set +# default: +CONFIG_APPTRACE_DEST_NONE=y +# default: +# CONFIG_APPTRACE_DEST_UART1 is not set +# default: +# CONFIG_APPTRACE_DEST_UART2 is not set +# default: +# CONFIG_APPTRACE_DEST_USB_CDC is not set +# default: +CONFIG_APPTRACE_DEST_UART_NONE=y +# default: +CONFIG_APPTRACE_UART_TASK_PRIO=1 +# default: +CONFIG_APPTRACE_LOCK_ENABLE=y +# end of Application Level Tracing + +# +# Bluetooth +# +# default: +# CONFIG_BT_ENABLED is not set + +# +# Common Options +# + +# +# BLE Log +# +# default: +# CONFIG_BLE_LOG_ENABLED is not set +# end of BLE Log + +# default: +# CONFIG_BT_BLE_LOG_SPI_OUT_ENABLED is not set +# default: +# CONFIG_BT_BLE_LOG_UHCI_OUT_ENABLED is not set +# default: +# CONFIG_BT_LE_USED_MEM_STATISTICS_ENABLED is not set +# end of Common Options +# end of Bluetooth + +# +# Console Library +# +# default: +# CONFIG_CONSOLE_SORTED_HELP is not set +# end of Console Library + +# +# Driver Configurations +# + +# +# Legacy TWAI Driver Configurations +# +# default: +# CONFIG_TWAI_SKIP_LEGACY_CONFLICT_CHECK is not set +# default: +CONFIG_TWAI_ERRATA_FIX_LISTEN_ONLY_DOM=y +# end of Legacy TWAI Driver Configurations + +# +# Legacy ADC Driver Configuration +# +# default: +# CONFIG_ADC_SUPPRESS_DEPRECATE_WARN is not set +# default: +# CONFIG_ADC_SKIP_LEGACY_CONFLICT_CHECK is not set + +# +# Legacy ADC Calibration Configuration +# +# default: +# CONFIG_ADC_CALI_SUPPRESS_DEPRECATE_WARN is not set +# end of Legacy ADC Calibration Configuration +# end of Legacy ADC Driver Configuration + +# +# Legacy MCPWM Driver Configurations +# +# default: +# CONFIG_MCPWM_SUPPRESS_DEPRECATE_WARN is not set +# default: +# CONFIG_MCPWM_SKIP_LEGACY_CONFLICT_CHECK is not set +# end of Legacy MCPWM Driver Configurations + +# +# Legacy Timer Group Driver Configurations +# +# default: +# CONFIG_GPTIMER_SUPPRESS_DEPRECATE_WARN is not set +# default: +# CONFIG_GPTIMER_SKIP_LEGACY_CONFLICT_CHECK is not set +# end of Legacy Timer Group Driver Configurations + +# +# Legacy RMT Driver Configurations +# +# default: +# CONFIG_RMT_SUPPRESS_DEPRECATE_WARN is not set +# default: +# CONFIG_RMT_SKIP_LEGACY_CONFLICT_CHECK is not set +# end of Legacy RMT Driver Configurations + +# +# Legacy I2S Driver Configurations +# +# default: +# CONFIG_I2S_SUPPRESS_DEPRECATE_WARN is not set +# default: +# CONFIG_I2S_SKIP_LEGACY_CONFLICT_CHECK is not set +# end of Legacy I2S Driver Configurations + +# +# Legacy I2C Driver Configurations +# +# default: +# CONFIG_I2C_SKIP_LEGACY_CONFLICT_CHECK is not set +# end of Legacy I2C Driver Configurations + +# +# Legacy PCNT Driver Configurations +# +# default: +# CONFIG_PCNT_SUPPRESS_DEPRECATE_WARN is not set +# default: +# CONFIG_PCNT_SKIP_LEGACY_CONFLICT_CHECK is not set +# end of Legacy PCNT Driver Configurations + +# +# Legacy SDM Driver Configurations +# +# default: +# CONFIG_SDM_SUPPRESS_DEPRECATE_WARN is not set +# default: +# CONFIG_SDM_SKIP_LEGACY_CONFLICT_CHECK is not set +# end of Legacy SDM Driver Configurations + +# +# Legacy Temperature Sensor Driver Configurations +# +# default: +# CONFIG_TEMP_SENSOR_SUPPRESS_DEPRECATE_WARN is not set +# default: +# CONFIG_TEMP_SENSOR_SKIP_LEGACY_CONFLICT_CHECK is not set +# end of Legacy Temperature Sensor Driver Configurations + +# +# Legacy Touch Sensor Driver Configurations +# +# default: +# CONFIG_TOUCH_SUPPRESS_DEPRECATE_WARN is not set +# default: +# CONFIG_TOUCH_SKIP_LEGACY_CONFLICT_CHECK is not set +# end of Legacy Touch Sensor Driver Configurations +# end of Driver Configurations + +# +# eFuse Bit Manager +# +# default: +# CONFIG_EFUSE_CUSTOM_TABLE is not set +# default: +# CONFIG_EFUSE_VIRTUAL is not set +# default: +CONFIG_EFUSE_MAX_BLK_LEN=256 +# end of eFuse Bit Manager + +# +# ESP-TLS +# +# default: +CONFIG_ESP_TLS_USING_MBEDTLS=y +# default: +# CONFIG_ESP_TLS_USE_SECURE_ELEMENT is not set +# default: +CONFIG_ESP_TLS_USE_DS_PERIPHERAL=y +# default: +# CONFIG_ESP_TLS_CLIENT_SESSION_TICKETS is not set +# default: +# CONFIG_ESP_TLS_SERVER_SESSION_TICKETS is not set +# default: +# CONFIG_ESP_TLS_SERVER_CERT_SELECT_HOOK is not set +# default: +# CONFIG_ESP_TLS_SERVER_MIN_AUTH_MODE_OPTIONAL is not set +# default: +# CONFIG_ESP_TLS_PSK_VERIFICATION is not set +# default: +# CONFIG_ESP_TLS_INSECURE is not set +# default: +CONFIG_ESP_TLS_DYN_BUF_STRATEGY_SUPPORTED=y +# end of ESP-TLS + +# +# ADC and ADC Calibration +# +# default: +# CONFIG_ADC_ONESHOT_CTRL_FUNC_IN_IRAM is not set +# default: +# CONFIG_ADC_CONTINUOUS_ISR_IRAM_SAFE is not set +# default: +# CONFIG_ADC_CONTINUOUS_FORCE_USE_ADC2_ON_C3_S3 is not set +# default: +# CONFIG_ADC_ENABLE_DEBUG_LOG is not set +# end of ADC and ADC Calibration + +# +# Wireless Coexistence +# +# default: +CONFIG_ESP_COEX_ENABLED=y +# default: +# CONFIG_ESP_COEX_EXTERNAL_COEXIST_ENABLE is not set +# default: +# CONFIG_ESP_COEX_GPIO_DEBUG is not set +# end of Wireless Coexistence + +# +# Common ESP-related +# +# default: +CONFIG_ESP_ERR_TO_NAME_LOOKUP=y +# end of Common ESP-related + +# +# ESP-Driver:Camera Controller Configurations +# +# default: +# CONFIG_CAM_CTLR_DVP_CAM_ISR_CACHE_SAFE is not set +# end of ESP-Driver:Camera Controller Configurations + +# +# ESP-Driver:GPIO Configurations +# +# default: +# CONFIG_GPIO_CTRL_FUNC_IN_IRAM is not set +# end of ESP-Driver:GPIO Configurations + +# +# ESP-Driver:GPTimer Configurations +# +# default: +CONFIG_GPTIMER_ISR_HANDLER_IN_IRAM=y +# default: +# CONFIG_GPTIMER_CTRL_FUNC_IN_IRAM is not set +# default: +# CONFIG_GPTIMER_ISR_CACHE_SAFE is not set +# default: +CONFIG_GPTIMER_OBJ_CACHE_SAFE=y +# default: +# CONFIG_GPTIMER_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:GPTimer Configurations + +# +# ESP-Driver:I2C Configurations +# +# default: +# CONFIG_I2C_ISR_IRAM_SAFE is not set +# default: +# CONFIG_I2C_ENABLE_DEBUG_LOG is not set +# default: +# CONFIG_I2C_ENABLE_SLAVE_DRIVER_VERSION_2 is not set +# default: +CONFIG_I2C_MASTER_ISR_HANDLER_IN_IRAM=y +# end of ESP-Driver:I2C Configurations + +# +# ESP-Driver:I2S Configurations +# +# default: +# CONFIG_I2S_ISR_IRAM_SAFE is not set +# default: +# CONFIG_I2S_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:I2S Configurations + +# +# ESP-Driver:LEDC Configurations +# +# default: +# CONFIG_LEDC_CTRL_FUNC_IN_IRAM is not set +# end of ESP-Driver:LEDC Configurations + +# +# ESP-Driver:MCPWM Configurations +# +# default: +CONFIG_MCPWM_ISR_HANDLER_IN_IRAM=y +# default: +# CONFIG_MCPWM_ISR_CACHE_SAFE is not set +# default: +# CONFIG_MCPWM_CTRL_FUNC_IN_IRAM is not set +# default: +CONFIG_MCPWM_OBJ_CACHE_SAFE=y +# default: +# CONFIG_MCPWM_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:MCPWM Configurations + +# +# ESP-Driver:PCNT Configurations +# +# default: +# CONFIG_PCNT_CTRL_FUNC_IN_IRAM is not set +# default: +# CONFIG_PCNT_ISR_IRAM_SAFE is not set +# default: +# CONFIG_PCNT_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:PCNT Configurations + +# +# ESP-Driver:RMT Configurations +# +# default: +CONFIG_RMT_ENCODER_FUNC_IN_IRAM=y +# default: +CONFIG_RMT_TX_ISR_HANDLER_IN_IRAM=y +# default: +CONFIG_RMT_RX_ISR_HANDLER_IN_IRAM=y +# default: +# CONFIG_RMT_RECV_FUNC_IN_IRAM is not set +# default: +# CONFIG_RMT_TX_ISR_CACHE_SAFE is not set +# default: +# CONFIG_RMT_RX_ISR_CACHE_SAFE is not set +# default: +CONFIG_RMT_OBJ_CACHE_SAFE=y +# default: +# CONFIG_RMT_ENABLE_DEBUG_LOG is not set +# default: +# CONFIG_RMT_ISR_IRAM_SAFE is not set +# end of ESP-Driver:RMT Configurations + +# +# ESP-Driver:Sigma Delta Modulator Configurations +# +# default: +# CONFIG_SDM_CTRL_FUNC_IN_IRAM is not set +# default: +# CONFIG_SDM_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:Sigma Delta Modulator Configurations + +# +# ESP-Driver:SPI Configurations +# +# default: +# CONFIG_SPI_MASTER_IN_IRAM is not set +# default: +CONFIG_SPI_MASTER_ISR_IN_IRAM=y +# default: +# CONFIG_SPI_SLAVE_IN_IRAM is not set +# default: +CONFIG_SPI_SLAVE_ISR_IN_IRAM=y +# end of ESP-Driver:SPI Configurations + +# +# ESP-Driver:Touch Sensor Configurations +# +# default: +# CONFIG_TOUCH_CTRL_FUNC_IN_IRAM is not set +# default: +# CONFIG_TOUCH_ISR_IRAM_SAFE is not set +# default: +# CONFIG_TOUCH_ENABLE_DEBUG_LOG is not set +# default: +# CONFIG_TOUCH_SKIP_FSM_CHECK is not set +# end of ESP-Driver:Touch Sensor Configurations + +# +# ESP-Driver:Temperature Sensor Configurations +# +# default: +# CONFIG_TEMP_SENSOR_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:Temperature Sensor Configurations + +# +# ESP-Driver:TWAI Configurations +# +# default: +# CONFIG_TWAI_ISR_IN_IRAM is not set +# default: +# CONFIG_TWAI_IO_FUNC_IN_IRAM is not set +# default: +# CONFIG_TWAI_ISR_CACHE_SAFE is not set +# default: +# CONFIG_TWAI_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:TWAI Configurations + +# +# ESP-Driver:UART Configurations +# +# default: +# CONFIG_UART_ISR_IN_IRAM is not set +# end of ESP-Driver:UART Configurations + +# +# ESP-Driver:UHCI Configurations +# +# default: +# CONFIG_UHCI_ISR_HANDLER_IN_IRAM is not set +# default: +# CONFIG_UHCI_ISR_CACHE_SAFE is not set +# default: +# CONFIG_UHCI_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:UHCI Configurations + +# +# ESP-Driver:USB Serial/JTAG Configuration +# +# default: +CONFIG_USJ_ENABLE_USB_SERIAL_JTAG=y +# end of ESP-Driver:USB Serial/JTAG Configuration + +# +# Ethernet +# +# default: +CONFIG_ETH_ENABLED=y +# default: +CONFIG_ETH_USE_SPI_ETHERNET=y +# default: +# CONFIG_ETH_SPI_ETHERNET_DM9051 is not set +# default: +# CONFIG_ETH_SPI_ETHERNET_W5500 is not set +# default: +# CONFIG_ETH_SPI_ETHERNET_KSZ8851SNL is not set +# default: +# CONFIG_ETH_USE_OPENETH is not set +# default: +# CONFIG_ETH_TRANSMIT_MUTEX is not set +# end of Ethernet + +# +# Event Loop Library +# +# default: +# CONFIG_ESP_EVENT_LOOP_PROFILING is not set +# default: +CONFIG_ESP_EVENT_POST_FROM_ISR=y +# default: +CONFIG_ESP_EVENT_POST_FROM_IRAM_ISR=y +# end of Event Loop Library + +# +# GDB Stub +# +# default: +CONFIG_ESP_GDBSTUB_ENABLED=y +# default: +# CONFIG_ESP_SYSTEM_GDBSTUB_RUNTIME is not set +# default: +CONFIG_ESP_GDBSTUB_SUPPORT_TASKS=y +# default: +CONFIG_ESP_GDBSTUB_MAX_TASKS=32 +# end of GDB Stub + +# +# ESP HID +# +# default: +CONFIG_ESPHID_TASK_SIZE_BT=2048 +# default: +CONFIG_ESPHID_TASK_SIZE_BLE=4096 +# end of ESP HID + +# +# ESP HTTP client +# +# default: +CONFIG_ESP_HTTP_CLIENT_ENABLE_HTTPS=y +# default: +# CONFIG_ESP_HTTP_CLIENT_ENABLE_BASIC_AUTH is not set +# default: +# CONFIG_ESP_HTTP_CLIENT_ENABLE_DIGEST_AUTH is not set +# default: +# CONFIG_ESP_HTTP_CLIENT_ENABLE_CUSTOM_TRANSPORT is not set +# default: +CONFIG_ESP_HTTP_CLIENT_EVENT_POST_TIMEOUT=2000 +# end of ESP HTTP client + +# +# HTTP Server +# +# default: +CONFIG_HTTPD_MAX_REQ_HDR_LEN=1024 +# default: +CONFIG_HTTPD_MAX_URI_LEN=512 +# default: +CONFIG_HTTPD_ERR_RESP_NO_DELAY=y +# default: +CONFIG_HTTPD_PURGE_BUF_LEN=32 +# default: +# CONFIG_HTTPD_LOG_PURGE_DATA is not set +# default: +# CONFIG_HTTPD_WS_SUPPORT is not set +# default: +# CONFIG_HTTPD_QUEUE_WORK_BLOCKING is not set +# default: +CONFIG_HTTPD_SERVER_EVENT_POST_TIMEOUT=2000 +# end of HTTP Server + +# +# ESP HTTPS OTA +# +# default: +# CONFIG_ESP_HTTPS_OTA_DECRYPT_CB is not set +# default: +# CONFIG_ESP_HTTPS_OTA_ALLOW_HTTP is not set +# default: +CONFIG_ESP_HTTPS_OTA_EVENT_POST_TIMEOUT=2000 +# end of ESP HTTPS OTA + +# +# ESP HTTPS server +# +# default: +# CONFIG_ESP_HTTPS_SERVER_ENABLE is not set +# default: +CONFIG_ESP_HTTPS_SERVER_EVENT_POST_TIMEOUT=2000 +# default: +# CONFIG_ESP_HTTPS_SERVER_CERT_SELECT_HOOK is not set +# end of ESP HTTPS server + +# +# Hardware Settings +# +# default: +CONFIG_ESP_HW_SUPPORT_FUNC_IN_IRAM=y + +# +# Chip revision +# +# default: +CONFIG_ESP32S3_REV_MIN_0=y +# default: +# CONFIG_ESP32S3_REV_MIN_1 is not set +# default: +# CONFIG_ESP32S3_REV_MIN_2 is not set +# default: +CONFIG_ESP32S3_REV_MIN_FULL=0 +# default: +CONFIG_ESP_REV_MIN_FULL=0 + +# +# Maximum Supported ESP32-S3 Revision (Rev v0.99) +# +# default: +CONFIG_ESP32S3_REV_MAX_FULL=99 +# default: +CONFIG_ESP_REV_MAX_FULL=99 +# default: +CONFIG_ESP_EFUSE_BLOCK_REV_MIN_FULL=0 +# default: +CONFIG_ESP_EFUSE_BLOCK_REV_MAX_FULL=199 + +# +# Maximum Supported ESP32-S3 eFuse Block Revision (eFuse Block Rev v1.99) +# +# end of Chip revision + +# +# MAC Config +# +# default: +CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_STA=y +# default: +CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_AP=y +# default: +CONFIG_ESP_MAC_ADDR_UNIVERSE_BT=y +# default: +CONFIG_ESP_MAC_ADDR_UNIVERSE_ETH=y +# default: +CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES_FOUR=y +# default: +CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES=4 +# default: +# CONFIG_ESP32S3_UNIVERSAL_MAC_ADDRESSES_TWO is not set +# default: +CONFIG_ESP32S3_UNIVERSAL_MAC_ADDRESSES_FOUR=y +# default: +CONFIG_ESP32S3_UNIVERSAL_MAC_ADDRESSES=4 +# default: +# CONFIG_ESP_MAC_USE_CUSTOM_MAC_AS_BASE_MAC is not set +# end of MAC Config + +# +# Sleep Config +# +# default: +# CONFIG_ESP_SLEEP_POWER_DOWN_FLASH is not set +# default: +CONFIG_ESP_SLEEP_FLASH_LEAKAGE_WORKAROUND=y +# default: +CONFIG_ESP_SLEEP_MSPI_NEED_ALL_IO_PU=y +# default: +CONFIG_ESP_SLEEP_RTC_BUS_ISO_WORKAROUND=y +# default: +CONFIG_ESP_SLEEP_GPIO_RESET_WORKAROUND=y +# default: +CONFIG_ESP_SLEEP_WAIT_FLASH_READY_EXTRA_DELAY=2000 +# default: +# CONFIG_ESP_SLEEP_CACHE_SAFE_ASSERTION is not set +# default: +# CONFIG_ESP_SLEEP_DEBUG is not set +# default: +CONFIG_ESP_SLEEP_GPIO_ENABLE_INTERNAL_RESISTORS=y +# end of Sleep Config + +# +# RTC Clock Config +# +# default: +CONFIG_RTC_CLK_SRC_INT_RC=y +# default: +# CONFIG_RTC_CLK_SRC_EXT_CRYS is not set +# default: +# CONFIG_RTC_CLK_SRC_EXT_OSC is not set +# default: +# CONFIG_RTC_CLK_SRC_INT_8MD256 is not set +# default: +CONFIG_RTC_CLK_CAL_CYCLES=1024 +# default: +CONFIG_RTC_CLK_FUNC_IN_IRAM=y +# default: +CONFIG_RTC_TIME_FUNC_IN_IRAM=y +# end of RTC Clock Config + +# +# Peripheral Control +# +# default: +CONFIG_ESP_PERIPH_CTRL_FUNC_IN_IRAM=y +# default: +CONFIG_ESP_REGI2C_CTRL_FUNC_IN_IRAM=y +# end of Peripheral Control + +# +# GDMA Configurations +# +# default: +CONFIG_GDMA_CTRL_FUNC_IN_IRAM=y +# default: +CONFIG_GDMA_ISR_HANDLER_IN_IRAM=y +# default: +CONFIG_GDMA_OBJ_DRAM_SAFE=y +# default: +# CONFIG_GDMA_ENABLE_DEBUG_LOG is not set +# default: +# CONFIG_GDMA_ISR_IRAM_SAFE is not set +# end of GDMA Configurations + +# +# Main XTAL Config +# +# default: +CONFIG_XTAL_FREQ_40=y +# default: +CONFIG_XTAL_FREQ=40 +# end of Main XTAL Config + +# +# Power Supplier +# + +# +# Brownout Detector +# +# default: +CONFIG_ESP_BROWNOUT_DET=y +# default: +CONFIG_ESP_BROWNOUT_DET_LVL_SEL_7=y +# default: +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_6 is not set +# default: +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_5 is not set +# default: +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_4 is not set +# default: +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_3 is not set +# default: +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_2 is not set +# default: +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_1 is not set +# default: +CONFIG_ESP_BROWNOUT_DET_LVL=7 +# default: +CONFIG_ESP_BROWNOUT_USE_INTR=y +# end of Brownout Detector +# end of Power Supplier + +# default: +CONFIG_ESP_SPI_BUS_LOCK_ISR_FUNCS_IN_IRAM=y +# default: +CONFIG_ESP_INTR_IN_IRAM=y +# end of Hardware Settings + +# +# ESP-Driver:LCD Controller Configurations +# +# default: +# CONFIG_LCD_RGB_ISR_IRAM_SAFE is not set +# default: +# CONFIG_LCD_RGB_RESTART_IN_VSYNC is not set +# default: +# CONFIG_LCD_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:LCD Controller Configurations + +# +# ESP-MM: Memory Management Configurations +# +# default: +# CONFIG_ESP_MM_CACHE_MSYNC_C2M_CHUNKED_OPS is not set +# end of ESP-MM: Memory Management Configurations + +# +# ESP NETIF Adapter +# +# default: +CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120 +# default: +# CONFIG_ESP_NETIF_PROVIDE_CUSTOM_IMPLEMENTATION is not set +# default: +CONFIG_ESP_NETIF_TCPIP_LWIP=y +# default: +# CONFIG_ESP_NETIF_LOOPBACK is not set +# default: +CONFIG_ESP_NETIF_USES_TCPIP_WITH_BSD_API=y +# default: +CONFIG_ESP_NETIF_REPORT_DATA_TRAFFIC=y +# default: +# CONFIG_ESP_NETIF_RECEIVE_REPORT_ERRORS is not set +# default: +# CONFIG_ESP_NETIF_L2_TAP is not set +# default: +# CONFIG_ESP_NETIF_BRIDGE_EN is not set +# default: +# CONFIG_ESP_NETIF_SET_DNS_PER_DEFAULT_NETIF is not set +# end of ESP NETIF Adapter + +# +# Partition API Configuration +# +# end of Partition API Configuration + +# +# PHY +# +# default: +CONFIG_ESP_PHY_ENABLED=y +# default: +CONFIG_ESP_PHY_CALIBRATION_AND_DATA_STORAGE=y +# default: +# CONFIG_ESP_PHY_INIT_DATA_IN_PARTITION is not set +# default: +CONFIG_ESP_PHY_MAX_WIFI_TX_POWER=20 +# default: +CONFIG_ESP_PHY_MAX_TX_POWER=20 +# default: +# CONFIG_ESP_PHY_REDUCE_TX_POWER is not set +# default: +CONFIG_ESP_PHY_ENABLE_USB=y +# default: +# CONFIG_ESP_PHY_ENABLE_CERT_TEST is not set +# default: +CONFIG_ESP_PHY_RF_CAL_PARTIAL=y +# default: +# CONFIG_ESP_PHY_RF_CAL_NONE is not set +# default: +# CONFIG_ESP_PHY_RF_CAL_FULL is not set +# default: +CONFIG_ESP_PHY_CALIBRATION_MODE=0 +# default: +CONFIG_ESP_PHY_PLL_TRACK_PERIOD_MS=1000 +# default: +# CONFIG_ESP_PHY_PLL_TRACK_DEBUG is not set +# default: +# CONFIG_ESP_PHY_RECORD_USED_TIME is not set +# default: +CONFIG_ESP_PHY_IRAM_OPT=y +# default: +# CONFIG_ESP_PHY_DEBUG is not set +# end of PHY + +# +# Power Management +# +# default: +# CONFIG_PM_SLEEP_FUNC_IN_IRAM is not set +# default: +# CONFIG_PM_ENABLE is not set +# default: +# CONFIG_PM_SLP_IRAM_OPT is not set +# default: +CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP=y +# default: +CONFIG_PM_RESTORE_CACHE_TAGMEM_AFTER_LIGHT_SLEEP=y +# end of Power Management + +# +# ESP PSRAM +# +# default: +# CONFIG_SPIRAM is not set +# end of ESP PSRAM + +# +# ESP Ringbuf +# +# default: +# CONFIG_RINGBUF_PLACE_FUNCTIONS_INTO_FLASH is not set +# end of ESP Ringbuf + +# +# ESP-ROM +# +# default: +CONFIG_ESP_ROM_PRINT_IN_IRAM=y +# end of ESP-ROM + +# +# ESP Security Specific +# +# end of ESP Security Specific + +# +# ESP System Settings +# +# default: +# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_80 is not set +# default: +CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_160=y +# default: +# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240 is not set +# default: +CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=160 + +# +# Cache config +# +# default: +CONFIG_ESP32S3_INSTRUCTION_CACHE_16KB=y +# default: +# CONFIG_ESP32S3_INSTRUCTION_CACHE_32KB is not set +# default: +CONFIG_ESP32S3_INSTRUCTION_CACHE_SIZE=0x4000 +# default: +# CONFIG_ESP32S3_INSTRUCTION_CACHE_4WAYS is not set +# default: +CONFIG_ESP32S3_INSTRUCTION_CACHE_8WAYS=y +# default: +CONFIG_ESP32S3_ICACHE_ASSOCIATED_WAYS=8 +# default: +# CONFIG_ESP32S3_INSTRUCTION_CACHE_LINE_16B is not set +# default: +CONFIG_ESP32S3_INSTRUCTION_CACHE_LINE_32B=y +# default: +CONFIG_ESP32S3_INSTRUCTION_CACHE_LINE_SIZE=32 +# default: +# CONFIG_ESP32S3_DATA_CACHE_16KB is not set +# default: +CONFIG_ESP32S3_DATA_CACHE_32KB=y +# default: +# CONFIG_ESP32S3_DATA_CACHE_64KB is not set +# default: +CONFIG_ESP32S3_DATA_CACHE_SIZE=0x8000 +# default: +# CONFIG_ESP32S3_DATA_CACHE_4WAYS is not set +# default: +CONFIG_ESP32S3_DATA_CACHE_8WAYS=y +# default: +CONFIG_ESP32S3_DCACHE_ASSOCIATED_WAYS=8 +# default: +# CONFIG_ESP32S3_DATA_CACHE_LINE_16B is not set +# default: +CONFIG_ESP32S3_DATA_CACHE_LINE_32B=y +# default: +# CONFIG_ESP32S3_DATA_CACHE_LINE_64B is not set +# default: +CONFIG_ESP32S3_DATA_CACHE_LINE_SIZE=32 +# end of Cache config + +# +# Memory +# +# default: +# CONFIG_ESP32S3_RTCDATA_IN_FAST_MEM is not set +# default: +# CONFIG_ESP32S3_USE_FIXED_STATIC_RAM_SIZE is not set +# end of Memory + +# +# Trace memory +# +# default: +# CONFIG_ESP32S3_TRAX is not set +# default: +CONFIG_ESP32S3_TRACEMEM_RESERVE_DRAM=0x0 +# end of Trace memory + +# default: +CONFIG_ESP_SYSTEM_IN_IRAM=y +# default: +# CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT is not set +# default: +CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT=y +# default: +# CONFIG_ESP_SYSTEM_PANIC_SILENT_REBOOT is not set +# default: +# CONFIG_ESP_SYSTEM_PANIC_GDBSTUB is not set +# default: +CONFIG_ESP_SYSTEM_PANIC_REBOOT_DELAY_SECONDS=0 +# default: +CONFIG_ESP_SYSTEM_RTC_FAST_MEM_AS_HEAP_DEPCHECK=y +# default: +CONFIG_ESP_SYSTEM_ALLOW_RTC_FAST_MEM_AS_HEAP=y + +# +# Memory protection +# +# default: +CONFIG_ESP_SYSTEM_MEMPROT_FEATURE=y +# default: +CONFIG_ESP_SYSTEM_MEMPROT_FEATURE_LOCK=y +# end of Memory protection + +# default: +CONFIG_ESP_SYSTEM_EVENT_QUEUE_SIZE=32 +# default: +CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=2304 +CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192 +# default: +CONFIG_ESP_MAIN_TASK_AFFINITY_CPU0=y +# default: +# CONFIG_ESP_MAIN_TASK_AFFINITY_CPU1 is not set +# default: +# CONFIG_ESP_MAIN_TASK_AFFINITY_NO_AFFINITY is not set +# default: +CONFIG_ESP_MAIN_TASK_AFFINITY=0x0 +# default: +CONFIG_ESP_MINIMAL_SHARED_STACK_SIZE=2048 +# default: +CONFIG_ESP_CONSOLE_UART_DEFAULT=y +# default: +# CONFIG_ESP_CONSOLE_USB_CDC is not set +# default: +# CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG is not set +# default: +# CONFIG_ESP_CONSOLE_UART_CUSTOM is not set +# default: +# CONFIG_ESP_CONSOLE_NONE is not set +# default: +# CONFIG_ESP_CONSOLE_SECONDARY_NONE is not set +# default: +CONFIG_ESP_CONSOLE_SECONDARY_USB_SERIAL_JTAG=y +# default: +CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG_ENABLED=y +# default: +CONFIG_ESP_CONSOLE_UART=y +# default: +CONFIG_ESP_CONSOLE_UART_NUM=0 +# default: +CONFIG_ESP_CONSOLE_ROM_SERIAL_PORT_NUM=0 +# default: +CONFIG_ESP_CONSOLE_UART_BAUDRATE=115200 +# default: +CONFIG_ESP_INT_WDT=y +# default: +CONFIG_ESP_INT_WDT_TIMEOUT_MS=300 +# default: +CONFIG_ESP_INT_WDT_CHECK_CPU1=y +# default: +CONFIG_ESP_TASK_WDT_EN=y +# default: +CONFIG_ESP_TASK_WDT_INIT=y +# default: +# CONFIG_ESP_TASK_WDT_PANIC is not set +# default: +CONFIG_ESP_TASK_WDT_TIMEOUT_S=5 +# default: +CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0=y +# default: +CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU1=y +# default: +# CONFIG_ESP_PANIC_HANDLER_IRAM is not set +# default: +# CONFIG_ESP_DEBUG_STUBS_ENABLE is not set +# default: +CONFIG_ESP_DEBUG_OCDAWARE=y +# default: +CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_4=y +# default: +CONFIG_ESP_SYSTEM_BBPLL_RECALIB=y +# end of ESP System Settings + +# +# IPC (Inter-Processor Call) +# +# default: +CONFIG_ESP_IPC_ENABLE=y +# default: +CONFIG_ESP_IPC_TASK_STACK_SIZE=1280 +# default: +CONFIG_ESP_IPC_USES_CALLERS_PRIORITY=y +# default: +CONFIG_ESP_IPC_ISR_ENABLE=y +# end of IPC (Inter-Processor Call) + +# +# ESP Timer (High Resolution Timer) +# +# default: +CONFIG_ESP_TIMER_IN_IRAM=y +# default: +# CONFIG_ESP_TIMER_PROFILING is not set +# default: +CONFIG_ESP_TIME_FUNCS_USE_RTC_TIMER=y +# default: +CONFIG_ESP_TIME_FUNCS_USE_ESP_TIMER=y +# default: +CONFIG_ESP_TIMER_TASK_STACK_SIZE=3584 +# default: +CONFIG_ESP_TIMER_INTERRUPT_LEVEL=1 +# default: +# CONFIG_ESP_TIMER_SHOW_EXPERIMENTAL is not set +# default: +CONFIG_ESP_TIMER_TASK_AFFINITY=0x0 +# default: +CONFIG_ESP_TIMER_TASK_AFFINITY_CPU0=y +# default: +CONFIG_ESP_TIMER_ISR_AFFINITY_CPU0=y +# default: +# CONFIG_ESP_TIMER_SUPPORTS_ISR_DISPATCH_METHOD is not set +# default: +CONFIG_ESP_TIMER_IMPL_SYSTIMER=y +# end of ESP Timer (High Resolution Timer) + +# +# Wi-Fi +# +# default: +CONFIG_ESP_WIFI_ENABLED=y +# default: +CONFIG_ESP_WIFI_STATIC_RX_BUFFER_NUM=10 +# default: +CONFIG_ESP_WIFI_DYNAMIC_RX_BUFFER_NUM=32 +# default: +# CONFIG_ESP_WIFI_STATIC_TX_BUFFER is not set +# default: +CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER=y +# default: +CONFIG_ESP_WIFI_TX_BUFFER_TYPE=1 +# default: +CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER_NUM=32 +# default: +CONFIG_ESP_WIFI_STATIC_RX_MGMT_BUFFER=y +# default: +# CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUFFER is not set +# default: +CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUF=0 +# default: +CONFIG_ESP_WIFI_RX_MGMT_BUF_NUM_DEF=5 +# default: +# CONFIG_ESP_WIFI_CSI_ENABLED is not set +# default: +CONFIG_ESP_WIFI_AMPDU_TX_ENABLED=y +# default: +CONFIG_ESP_WIFI_TX_BA_WIN=6 +# default: +CONFIG_ESP_WIFI_AMPDU_RX_ENABLED=y +# default: +CONFIG_ESP_WIFI_RX_BA_WIN=6 +# default: +CONFIG_ESP_WIFI_NVS_ENABLED=y +# default: +CONFIG_ESP_WIFI_TASK_PINNED_TO_CORE_0=y +# default: +# CONFIG_ESP_WIFI_TASK_PINNED_TO_CORE_1 is not set +# default: +CONFIG_ESP_WIFI_SOFTAP_BEACON_MAX_LEN=752 +# default: +CONFIG_ESP_WIFI_MGMT_SBUF_NUM=32 +# default: +CONFIG_ESP_WIFI_IRAM_OPT=y +# default: +# CONFIG_ESP_WIFI_EXTRA_IRAM_OPT is not set +# default: +CONFIG_ESP_WIFI_RX_IRAM_OPT=y +# default: +CONFIG_ESP_WIFI_ENABLE_WPA3_SAE=y +# default: +CONFIG_ESP_WIFI_ENABLE_SAE_PK=y +# default: +CONFIG_ESP_WIFI_ENABLE_SAE_H2E=y +# default: +CONFIG_ESP_WIFI_SOFTAP_SAE_SUPPORT=y +# default: +CONFIG_ESP_WIFI_ENABLE_WPA3_OWE_STA=y +# default: +# CONFIG_ESP_WIFI_SLP_IRAM_OPT is not set +# default: +CONFIG_ESP_WIFI_SLP_DEFAULT_MIN_ACTIVE_TIME=50 +# default: +# CONFIG_ESP_WIFI_BSS_MAX_IDLE_SUPPORT is not set +# default: +CONFIG_ESP_WIFI_SLP_DEFAULT_MAX_ACTIVE_TIME=10 +# default: +CONFIG_ESP_WIFI_SLP_DEFAULT_WAIT_BROADCAST_DATA_TIME=15 +# default: +# CONFIG_ESP_WIFI_FTM_ENABLE is not set +# default: +CONFIG_ESP_WIFI_STA_DISCONNECTED_PM_ENABLE=y +# default: +# CONFIG_ESP_WIFI_GCMP_SUPPORT is not set +# default: +CONFIG_ESP_WIFI_GMAC_SUPPORT=y +# default: +CONFIG_ESP_WIFI_SOFTAP_SUPPORT=y +# default: +# CONFIG_ESP_WIFI_SLP_BEACON_LOST_OPT is not set +# default: +CONFIG_ESP_WIFI_ESPNOW_MAX_ENCRYPT_NUM=7 +# default: +CONFIG_ESP_WIFI_MBEDTLS_CRYPTO=y +# default: +CONFIG_ESP_WIFI_MBEDTLS_TLS_CLIENT=y +# default: +# CONFIG_ESP_WIFI_WAPI_PSK is not set +# default: +# CONFIG_ESP_WIFI_SUITE_B_192 is not set +# default: +# CONFIG_ESP_WIFI_11KV_SUPPORT is not set +# default: +# CONFIG_ESP_WIFI_MBO_SUPPORT is not set +# default: +# CONFIG_ESP_WIFI_DPP_SUPPORT is not set +# default: +# CONFIG_ESP_WIFI_11R_SUPPORT is not set +# default: +# CONFIG_ESP_WIFI_WPS_SOFTAP_REGISTRAR is not set + +# +# WPS Configuration Options +# +# default: +# CONFIG_ESP_WIFI_WPS_STRICT is not set +# default: +# CONFIG_ESP_WIFI_WPS_PASSPHRASE is not set +# default: +# CONFIG_ESP_WIFI_WPS_RECONNECT_ON_FAIL is not set +# end of WPS Configuration Options + +# default: +# CONFIG_ESP_WIFI_DEBUG_PRINT is not set +# default: +CONFIG_ESP_WIFI_ENTERPRISE_SUPPORT=y +# default: +# CONFIG_ESP_WIFI_ENT_FREE_DYNAMIC_BUFFER is not set +# end of Wi-Fi + +# +# Core dump +# +# default: +# CONFIG_ESP_COREDUMP_ENABLE_TO_FLASH is not set +# default: +# CONFIG_ESP_COREDUMP_ENABLE_TO_UART is not set +# default: +CONFIG_ESP_COREDUMP_ENABLE_TO_NONE=y +# end of Core dump + +# +# FAT Filesystem support +# +# default: +CONFIG_FATFS_VOLUME_COUNT=2 +# default: +CONFIG_FATFS_LFN_NONE=y +# default: +# CONFIG_FATFS_LFN_HEAP is not set +# default: +# CONFIG_FATFS_LFN_STACK is not set +# default: +# CONFIG_FATFS_SECTOR_512 is not set +# default: +CONFIG_FATFS_SECTOR_4096=y +# default: +# CONFIG_FATFS_CODEPAGE_DYNAMIC is not set +# default: +CONFIG_FATFS_CODEPAGE_437=y +# default: +# CONFIG_FATFS_CODEPAGE_720 is not set +# default: +# CONFIG_FATFS_CODEPAGE_737 is not set +# default: +# CONFIG_FATFS_CODEPAGE_771 is not set +# default: +# CONFIG_FATFS_CODEPAGE_775 is not set +# default: +# CONFIG_FATFS_CODEPAGE_850 is not set +# default: +# CONFIG_FATFS_CODEPAGE_852 is not set +# default: +# CONFIG_FATFS_CODEPAGE_855 is not set +# default: +# CONFIG_FATFS_CODEPAGE_857 is not set +# default: +# CONFIG_FATFS_CODEPAGE_860 is not set +# default: +# CONFIG_FATFS_CODEPAGE_861 is not set +# default: +# CONFIG_FATFS_CODEPAGE_862 is not set +# default: +# CONFIG_FATFS_CODEPAGE_863 is not set +# default: +# CONFIG_FATFS_CODEPAGE_864 is not set +# default: +# CONFIG_FATFS_CODEPAGE_865 is not set +# default: +# CONFIG_FATFS_CODEPAGE_866 is not set +# default: +# CONFIG_FATFS_CODEPAGE_869 is not set +# default: +# CONFIG_FATFS_CODEPAGE_932 is not set +# default: +# CONFIG_FATFS_CODEPAGE_936 is not set +# default: +# CONFIG_FATFS_CODEPAGE_949 is not set +# default: +# CONFIG_FATFS_CODEPAGE_950 is not set +# default: +CONFIG_FATFS_CODEPAGE=437 +# default: +CONFIG_FATFS_FS_LOCK=0 +# default: +CONFIG_FATFS_TIMEOUT_MS=10000 +# default: +CONFIG_FATFS_PER_FILE_CACHE=y +# default: +# CONFIG_FATFS_USE_FASTSEEK is not set +# default: +CONFIG_FATFS_USE_STRFUNC_NONE=y +# default: +# CONFIG_FATFS_USE_STRFUNC_WITHOUT_CRLF_CONV is not set +# default: +# CONFIG_FATFS_USE_STRFUNC_WITH_CRLF_CONV is not set +# default: +CONFIG_FATFS_VFS_FSTAT_BLKSIZE=0 +# default: +# CONFIG_FATFS_IMMEDIATE_FSYNC is not set +# default: +# CONFIG_FATFS_USE_LABEL is not set +# default: +CONFIG_FATFS_LINK_LOCK=y +# default: +# CONFIG_FATFS_USE_DYN_BUFFERS is not set + +# +# File system free space calculation behavior +# +# default: +CONFIG_FATFS_DONT_TRUST_FREE_CLUSTER_CNT=0 +# default: +CONFIG_FATFS_DONT_TRUST_LAST_ALLOC=0 +# end of File system free space calculation behavior +# end of FAT Filesystem support + +# +# FreeRTOS +# + +# +# Kernel +# +# default: +# CONFIG_FREERTOS_SMP is not set +# default: +# CONFIG_FREERTOS_UNICORE is not set +CONFIG_FREERTOS_HZ=1000 +# default: +# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_NONE is not set +# default: +# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_PTRVAL is not set +# default: +CONFIG_FREERTOS_CHECK_STACKOVERFLOW_CANARY=y +# default: +CONFIG_FREERTOS_THREAD_LOCAL_STORAGE_POINTERS=1 +# default: +CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1536 +# default: +# CONFIG_FREERTOS_USE_IDLE_HOOK is not set +# default: +# CONFIG_FREERTOS_USE_TICK_HOOK is not set +# default: +CONFIG_FREERTOS_MAX_TASK_NAME_LEN=16 +# default: +# CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY is not set +# default: +CONFIG_FREERTOS_USE_TIMERS=y +# default: +CONFIG_FREERTOS_TIMER_SERVICE_TASK_NAME="Tmr Svc" +# default: +# CONFIG_FREERTOS_TIMER_TASK_AFFINITY_CPU0 is not set +# default: +# CONFIG_FREERTOS_TIMER_TASK_AFFINITY_CPU1 is not set +# default: +CONFIG_FREERTOS_TIMER_TASK_NO_AFFINITY=y +# default: +CONFIG_FREERTOS_TIMER_SERVICE_TASK_CORE_AFFINITY=0x7FFFFFFF +# default: +CONFIG_FREERTOS_TIMER_TASK_PRIORITY=1 +# default: +CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=2048 +# default: +CONFIG_FREERTOS_TIMER_QUEUE_LENGTH=10 +# default: +CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE=0 +# default: +CONFIG_FREERTOS_TASK_NOTIFICATION_ARRAY_ENTRIES=1 +# default: +# CONFIG_FREERTOS_USE_TRACE_FACILITY is not set +# default: +# CONFIG_FREERTOS_USE_LIST_DATA_INTEGRITY_CHECK_BYTES is not set +# default: +# CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS is not set +# default: +# CONFIG_FREERTOS_USE_APPLICATION_TASK_TAG is not set +# end of Kernel + +# +# Port +# +# default: +CONFIG_FREERTOS_TASK_FUNCTION_WRAPPER=y +# default: +# CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK is not set +# default: +CONFIG_FREERTOS_TLSP_DELETION_CALLBACKS=y +# default: +# CONFIG_FREERTOS_TASK_PRE_DELETION_HOOK is not set +# default: +# CONFIG_FREERTOS_ENABLE_STATIC_TASK_CLEAN_UP is not set +# default: +CONFIG_FREERTOS_CHECK_MUTEX_GIVEN_BY_OWNER=y +# default: +CONFIG_FREERTOS_ISR_STACKSIZE=1536 +# default: +CONFIG_FREERTOS_INTERRUPT_BACKTRACE=y +# default: +# CONFIG_FREERTOS_FPU_IN_ISR is not set +# default: +CONFIG_FREERTOS_TICK_SUPPORT_SYSTIMER=y +# default: +CONFIG_FREERTOS_CORETIMER_SYSTIMER_LVL1=y +# default: +# CONFIG_FREERTOS_CORETIMER_SYSTIMER_LVL3 is not set +# default: +CONFIG_FREERTOS_SYSTICK_USES_SYSTIMER=y +# default: +# CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH is not set +# default: +# CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE is not set +# end of Port + +# +# Extra +# +# end of Extra + +# default: +CONFIG_FREERTOS_PORT=y +# default: +CONFIG_FREERTOS_NO_AFFINITY=0x7FFFFFFF +# default: +CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION=y +# default: +CONFIG_FREERTOS_DEBUG_OCDAWARE=y +# default: +CONFIG_FREERTOS_ENABLE_TASK_SNAPSHOT=y +# default: +CONFIG_FREERTOS_PLACE_SNAPSHOT_FUNS_INTO_FLASH=y +# default: +CONFIG_FREERTOS_NUMBER_OF_CORES=2 +# default: +CONFIG_FREERTOS_IN_IRAM=y +# end of FreeRTOS + +# +# Hardware Abstraction Layer (HAL) and Low Level (LL) +# +# default: +CONFIG_HAL_ASSERTION_EQUALS_SYSTEM=y +# default: +# CONFIG_HAL_ASSERTION_DISABLE is not set +# default: +# CONFIG_HAL_ASSERTION_SILENT is not set +# default: +# CONFIG_HAL_ASSERTION_ENABLE is not set +# default: +CONFIG_HAL_DEFAULT_ASSERTION_LEVEL=2 +# default: +CONFIG_HAL_WDT_USE_ROM_IMPL=y +# end of Hardware Abstraction Layer (HAL) and Low Level (LL) + +# +# Heap memory debugging +# +# default: +CONFIG_HEAP_POISONING_DISABLED=y +# default: +# CONFIG_HEAP_POISONING_LIGHT is not set +# default: +# CONFIG_HEAP_POISONING_COMPREHENSIVE is not set +# default: +CONFIG_HEAP_TRACING_OFF=y +# default: +# CONFIG_HEAP_TRACING_STANDALONE is not set +# default: +# CONFIG_HEAP_TRACING_TOHOST is not set +# default: +# CONFIG_HEAP_USE_HOOKS is not set +# default: +# CONFIG_HEAP_TASK_TRACKING is not set +# default: +# CONFIG_HEAP_ABORT_WHEN_ALLOCATION_FAILS is not set +# default: +# CONFIG_HEAP_PLACE_FUNCTION_INTO_FLASH is not set +# end of Heap memory debugging + +# +# Log +# +# default: +CONFIG_LOG_VERSION_1=y +# default: +# CONFIG_LOG_VERSION_2 is not set +# default: +CONFIG_LOG_VERSION=1 + +# +# Log Level +# +# default: +# CONFIG_LOG_DEFAULT_LEVEL_NONE is not set +# default: +# CONFIG_LOG_DEFAULT_LEVEL_ERROR is not set +# default: +# CONFIG_LOG_DEFAULT_LEVEL_WARN is not set +# default: +CONFIG_LOG_DEFAULT_LEVEL_INFO=y +# default: +# CONFIG_LOG_DEFAULT_LEVEL_DEBUG is not set +# default: +# CONFIG_LOG_DEFAULT_LEVEL_VERBOSE is not set +# default: +CONFIG_LOG_DEFAULT_LEVEL=3 +# default: +CONFIG_LOG_MAXIMUM_EQUALS_DEFAULT=y +# default: +# CONFIG_LOG_MAXIMUM_LEVEL_DEBUG is not set +# default: +# CONFIG_LOG_MAXIMUM_LEVEL_VERBOSE is not set +# default: +CONFIG_LOG_MAXIMUM_LEVEL=3 + +# +# Level Settings +# +# default: +# CONFIG_LOG_MASTER_LEVEL is not set +# default: +CONFIG_LOG_DYNAMIC_LEVEL_CONTROL=y +# default: +# CONFIG_LOG_TAG_LEVEL_IMPL_NONE is not set +# default: +# CONFIG_LOG_TAG_LEVEL_IMPL_LINKED_LIST is not set +# default: +CONFIG_LOG_TAG_LEVEL_IMPL_CACHE_AND_LINKED_LIST=y +# default: +# CONFIG_LOG_TAG_LEVEL_CACHE_ARRAY is not set +# default: +CONFIG_LOG_TAG_LEVEL_CACHE_BINARY_MIN_HEAP=y +# default: +CONFIG_LOG_TAG_LEVEL_IMPL_CACHE_SIZE=31 +# end of Level Settings +# end of Log Level + +# +# Format +# +# default: +# CONFIG_LOG_COLORS is not set +# default: +CONFIG_LOG_TIMESTAMP_SOURCE_RTOS=y +# default: +# CONFIG_LOG_TIMESTAMP_SOURCE_SYSTEM is not set +# end of Format + +# +# Settings +# +# default: +CONFIG_LOG_MODE_TEXT_EN=y +# default: +CONFIG_LOG_MODE_TEXT=y +# end of Settings + +# default: +CONFIG_LOG_IN_IRAM=y +# end of Log + +# +# LWIP +# +# default: +CONFIG_LWIP_ENABLE=y +# default: +CONFIG_LWIP_LOCAL_HOSTNAME="espressif" +# default: +CONFIG_LWIP_TCPIP_TASK_PRIO=18 +# default: +# CONFIG_LWIP_TCPIP_CORE_LOCKING is not set +# default: +# CONFIG_LWIP_CHECK_THREAD_SAFETY is not set +# default: +CONFIG_LWIP_DNS_SUPPORT_MDNS_QUERIES=y +# default: +# CONFIG_LWIP_L2_TO_L3_COPY is not set +# default: +# CONFIG_LWIP_IRAM_OPTIMIZATION is not set +# default: +# CONFIG_LWIP_EXTRA_IRAM_OPTIMIZATION is not set +# default: +CONFIG_LWIP_TIMERS_ONDEMAND=y +# default: +CONFIG_LWIP_ND6=y +# default: +# CONFIG_LWIP_FORCE_ROUTER_FORWARDING is not set +# default: +CONFIG_LWIP_MAX_SOCKETS=10 +# default: +# CONFIG_LWIP_USE_ONLY_LWIP_SELECT is not set +# default: +# CONFIG_LWIP_SO_LINGER is not set +# default: +CONFIG_LWIP_SO_REUSE=y +# default: +CONFIG_LWIP_SO_REUSE_RXTOALL=y +CONFIG_LWIP_SO_RCVBUF=y +# default: +# CONFIG_LWIP_NETBUF_RECVINFO is not set +# default: +CONFIG_LWIP_IP_DEFAULT_TTL=64 +# default: +CONFIG_LWIP_IP4_FRAG=y +# default: +CONFIG_LWIP_IP6_FRAG=y +# default: +# CONFIG_LWIP_IP4_REASSEMBLY is not set +# default: +# CONFIG_LWIP_IP6_REASSEMBLY is not set +# default: +CONFIG_LWIP_IP_REASS_MAX_PBUFS=10 +# default: +# CONFIG_LWIP_IP_FORWARD is not set +# default: +# CONFIG_LWIP_STATS is not set +# default: +CONFIG_LWIP_ESP_GRATUITOUS_ARP=y +# default: +CONFIG_LWIP_GARP_TMR_INTERVAL=60 +# default: +CONFIG_LWIP_ESP_MLDV6_REPORT=y +# default: +CONFIG_LWIP_MLDV6_TMR_INTERVAL=40 +# default: +CONFIG_LWIP_TCPIP_RECVMBOX_SIZE=32 +# default: +CONFIG_LWIP_DHCP_DOES_ARP_CHECK=y +# default: +# CONFIG_LWIP_DHCP_DOES_ACD_CHECK is not set +# default: +# CONFIG_LWIP_DHCP_DOES_NOT_CHECK_OFFERED_IP is not set +# default: +# CONFIG_LWIP_DHCP_DISABLE_CLIENT_ID is not set +# default: +CONFIG_LWIP_DHCP_DISABLE_VENDOR_CLASS_ID=y +# default: +# CONFIG_LWIP_DHCP_RESTORE_LAST_IP is not set +# default: +CONFIG_LWIP_DHCP_OPTIONS_LEN=69 +# default: +CONFIG_LWIP_NUM_NETIF_CLIENT_DATA=0 +# default: +CONFIG_LWIP_DHCP_COARSE_TIMER_SECS=1 + +# +# DHCP server +# +# default: +CONFIG_LWIP_DHCPS=y +# default: +CONFIG_LWIP_DHCPS_LEASE_UNIT=60 +# default: +CONFIG_LWIP_DHCPS_MAX_STATION_NUM=8 +# default: +CONFIG_LWIP_DHCPS_STATIC_ENTRIES=y +# default: +CONFIG_LWIP_DHCPS_ADD_DNS=y +# end of DHCP server + +# default: +# CONFIG_LWIP_AUTOIP is not set +# default: +CONFIG_LWIP_IPV4=y +# default: +CONFIG_LWIP_IPV6=y +# default: +# CONFIG_LWIP_IPV6_AUTOCONFIG is not set +# default: +CONFIG_LWIP_IPV6_NUM_ADDRESSES=3 +# default: +# CONFIG_LWIP_IPV6_FORWARD is not set +# default: +# CONFIG_LWIP_NETIF_STATUS_CALLBACK is not set +# default: +CONFIG_LWIP_NETIF_LOOPBACK=y +# default: +CONFIG_LWIP_LOOPBACK_MAX_PBUFS=8 + +# +# TCP +# +# default: +CONFIG_LWIP_MAX_ACTIVE_TCP=16 +# default: +CONFIG_LWIP_MAX_LISTENING_TCP=16 +# default: +CONFIG_LWIP_TCP_HIGH_SPEED_RETRANSMISSION=y +# default: +CONFIG_LWIP_TCP_MAXRTX=12 +# default: +CONFIG_LWIP_TCP_SYNMAXRTX=12 +# default: +CONFIG_LWIP_TCP_MSS=1440 +# default: +CONFIG_LWIP_TCP_TMR_INTERVAL=250 +# default: +CONFIG_LWIP_TCP_MSL=60000 +# default: +CONFIG_LWIP_TCP_FIN_WAIT_TIMEOUT=20000 +# default: +CONFIG_LWIP_TCP_SND_BUF_DEFAULT=5760 +# default: +CONFIG_LWIP_TCP_WND_DEFAULT=5760 +# default: +CONFIG_LWIP_TCP_RECVMBOX_SIZE=6 +# default: +CONFIG_LWIP_TCP_ACCEPTMBOX_SIZE=6 +# default: +CONFIG_LWIP_TCP_QUEUE_OOSEQ=y +# default: +CONFIG_LWIP_TCP_OOSEQ_TIMEOUT=6 +# default: +CONFIG_LWIP_TCP_OOSEQ_MAX_PBUFS=4 +# default: +# CONFIG_LWIP_TCP_SACK_OUT is not set +# default: +CONFIG_LWIP_TCP_OVERSIZE_MSS=y +# default: +# CONFIG_LWIP_TCP_OVERSIZE_QUARTER_MSS is not set +# default: +# CONFIG_LWIP_TCP_OVERSIZE_DISABLE is not set +# default: +CONFIG_LWIP_TCP_RTO_TIME=1500 +# end of TCP + +# +# UDP +# +# default: +CONFIG_LWIP_MAX_UDP_PCBS=16 +# default: +CONFIG_LWIP_UDP_RECVMBOX_SIZE=6 +# end of UDP + +# +# Checksums +# +# default: +# CONFIG_LWIP_CHECKSUM_CHECK_IP is not set +# default: +# CONFIG_LWIP_CHECKSUM_CHECK_UDP is not set +# default: +CONFIG_LWIP_CHECKSUM_CHECK_ICMP=y +# end of Checksums + +# default: +CONFIG_LWIP_TCPIP_TASK_STACK_SIZE=3072 +# default: +CONFIG_LWIP_TCPIP_TASK_AFFINITY_NO_AFFINITY=y +# default: +# CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU0 is not set +# default: +# CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU1 is not set +# default: +CONFIG_LWIP_TCPIP_TASK_AFFINITY=0x7FFFFFFF +# default: +CONFIG_LWIP_IPV6_MEMP_NUM_ND6_QUEUE=3 +# default: +CONFIG_LWIP_IPV6_ND6_NUM_NEIGHBORS=5 +# default: +CONFIG_LWIP_IPV6_ND6_NUM_PREFIXES=5 +# default: +CONFIG_LWIP_IPV6_ND6_NUM_ROUTERS=3 +# default: +CONFIG_LWIP_IPV6_ND6_NUM_DESTINATIONS=10 +# default: +# CONFIG_LWIP_IPV6_ND6_ROUTE_INFO_OPTION_SUPPORT is not set +# default: +CONFIG_LWIP_PPP_SUPPORT=y +# default: +CONFIG_LWIP_PPP_ENABLE_IPV4=y +# default: +CONFIG_LWIP_PPP_ENABLE_IPV6=y +# default: +# CONFIG_LWIP_PPP_NOTIFY_PHASE_SUPPORT is not set +# default: +# CONFIG_LWIP_PPP_PAP_SUPPORT is not set +# default: +# CONFIG_LWIP_PPP_CHAP_SUPPORT is not set +# default: +# CONFIG_LWIP_PPP_MSCHAP_SUPPORT is not set +# default: +# CONFIG_LWIP_PPP_MPPE_SUPPORT is not set +# default: +# CONFIG_LWIP_PPP_SERVER_SUPPORT is not set +# default: +CONFIG_LWIP_PPP_VJ_HEADER_COMPRESSION=y +# default: +# CONFIG_LWIP_ENABLE_LCP_ECHO is not set +# default: +# CONFIG_LWIP_PPP_DEBUG_ON is not set +# default: +# CONFIG_LWIP_USE_EXTERNAL_MBEDTLS is not set +# default: +# CONFIG_LWIP_SLIP_SUPPORT is not set + +# +# ICMP +# +# default: +CONFIG_LWIP_ICMP=y +# default: +# CONFIG_LWIP_MULTICAST_PING is not set +# default: +# CONFIG_LWIP_BROADCAST_PING is not set +# end of ICMP + +# +# LWIP RAW API +# +# default: +CONFIG_LWIP_MAX_RAW_PCBS=16 +# end of LWIP RAW API + +# +# SNTP +# +# default: +CONFIG_LWIP_SNTP_MAX_SERVERS=1 +# default: +# CONFIG_LWIP_DHCP_GET_NTP_SRV is not set +# default: +CONFIG_LWIP_SNTP_UPDATE_DELAY=3600000 +# default: +CONFIG_LWIP_SNTP_STARTUP_DELAY=y +# default: +CONFIG_LWIP_SNTP_MAXIMUM_STARTUP_DELAY=5000 +# end of SNTP + +# +# DNS +# +# default: +CONFIG_LWIP_DNS_MAX_HOST_IP=1 +# default: +CONFIG_LWIP_DNS_MAX_SERVERS=3 +# default: +# CONFIG_LWIP_FALLBACK_DNS_SERVER_SUPPORT is not set +# default: +# CONFIG_LWIP_DNS_SETSERVER_WITH_NETIF is not set +# default: +# CONFIG_LWIP_USE_ESP_GETADDRINFO is not set +# end of DNS + +# default: +CONFIG_LWIP_BRIDGEIF_MAX_PORTS=7 +# default: +CONFIG_LWIP_ESP_LWIP_ASSERT=y + +# +# Hooks +# +# default: +# CONFIG_LWIP_HOOK_TCP_ISN_NONE is not set +# default: +CONFIG_LWIP_HOOK_TCP_ISN_DEFAULT=y +# default: +# CONFIG_LWIP_HOOK_TCP_ISN_CUSTOM is not set +# default: +CONFIG_LWIP_HOOK_IP6_ROUTE_NONE=y +# default: +# CONFIG_LWIP_HOOK_IP6_ROUTE_DEFAULT is not set +# default: +# CONFIG_LWIP_HOOK_IP6_ROUTE_CUSTOM is not set +# default: +CONFIG_LWIP_HOOK_ND6_GET_GW_NONE=y +# default: +# CONFIG_LWIP_HOOK_ND6_GET_GW_DEFAULT is not set +# default: +# CONFIG_LWIP_HOOK_ND6_GET_GW_CUSTOM is not set +# default: +CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_NONE=y +# default: +# CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_DEFAULT is not set +# default: +# CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_CUSTOM is not set +# default: +CONFIG_LWIP_HOOK_DHCP_EXTRA_OPTION_NONE=y +# default: +# CONFIG_LWIP_HOOK_DHCP_EXTRA_OPTION_DEFAULT is not set +# default: +# CONFIG_LWIP_HOOK_DHCP_EXTRA_OPTION_CUSTOM is not set +# default: +CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_NONE=y +# default: +# CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_DEFAULT is not set +# default: +# CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_CUSTOM is not set +# default: +CONFIG_LWIP_HOOK_DNS_EXT_RESOLVE_NONE=y +# default: +# CONFIG_LWIP_HOOK_DNS_EXT_RESOLVE_CUSTOM is not set +# default: +# CONFIG_LWIP_HOOK_IP6_INPUT_NONE is not set +# default: +CONFIG_LWIP_HOOK_IP6_INPUT_DEFAULT=y +# default: +# CONFIG_LWIP_HOOK_IP6_INPUT_CUSTOM is not set +# end of Hooks + +# default: +# CONFIG_LWIP_DEBUG is not set +# end of LWIP + +# +# mbedTLS +# +# default: +CONFIG_MBEDTLS_INTERNAL_MEM_ALLOC=y +# default: +# CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC is not set +# default: +# CONFIG_MBEDTLS_CUSTOM_MEM_ALLOC is not set +# default: +CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN=y +# default: +CONFIG_MBEDTLS_SSL_IN_CONTENT_LEN=16384 +# default: +CONFIG_MBEDTLS_SSL_OUT_CONTENT_LEN=4096 +# default: +# CONFIG_MBEDTLS_DYNAMIC_BUFFER is not set +# default: +# CONFIG_MBEDTLS_DEBUG is not set + +# +# mbedTLS v3.x related +# +# default: +# CONFIG_MBEDTLS_SSL_PROTO_TLS1_3 is not set +# default: +# CONFIG_MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH is not set +# default: +# CONFIG_MBEDTLS_X509_TRUSTED_CERT_CALLBACK is not set +# default: +# CONFIG_MBEDTLS_SSL_CONTEXT_SERIALIZATION is not set +# default: +CONFIG_MBEDTLS_SSL_KEEP_PEER_CERTIFICATE=y +# default: +# CONFIG_MBEDTLS_SSL_KEYING_MATERIAL_EXPORT is not set +# default: +CONFIG_MBEDTLS_PKCS7_C=y +# end of mbedTLS v3.x related + +# +# Certificate Bundle +# +# default: +CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=y +# default: +CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_FULL=y +# default: +# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_CMN is not set +# default: +# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_NONE is not set +# default: +# CONFIG_MBEDTLS_CUSTOM_CERTIFICATE_BUNDLE is not set +# default: +# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEPRECATED_LIST is not set +# default: +CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_MAX_CERTS=200 +# end of Certificate Bundle + +# default: +# CONFIG_MBEDTLS_ECP_RESTARTABLE is not set +# default: +CONFIG_MBEDTLS_CMAC_C=y +# default: +CONFIG_MBEDTLS_HARDWARE_AES=y +# default: +CONFIG_MBEDTLS_AES_USE_INTERRUPT=y +# default: +CONFIG_MBEDTLS_AES_INTERRUPT_LEVEL=0 +# default: +CONFIG_MBEDTLS_GCM_SUPPORT_NON_AES_CIPHER=y +# default: +CONFIG_MBEDTLS_HARDWARE_MPI=y +# default: +# CONFIG_MBEDTLS_LARGE_KEY_SOFTWARE_MPI is not set +# default: +CONFIG_MBEDTLS_MPI_USE_INTERRUPT=y +# default: +CONFIG_MBEDTLS_MPI_INTERRUPT_LEVEL=0 +# default: +CONFIG_MBEDTLS_HARDWARE_SHA=y +# default: +CONFIG_MBEDTLS_ROM_MD5=y +# default: +# CONFIG_MBEDTLS_ATCA_HW_ECDSA_SIGN is not set +# default: +# CONFIG_MBEDTLS_ATCA_HW_ECDSA_VERIFY is not set +# default: +CONFIG_MBEDTLS_HAVE_TIME=y +# default: +# CONFIG_MBEDTLS_PLATFORM_TIME_ALT is not set +# default: +# CONFIG_MBEDTLS_HAVE_TIME_DATE is not set +# default: +CONFIG_MBEDTLS_ECDSA_DETERMINISTIC=y +# default: +CONFIG_MBEDTLS_SHA1_C=y +# default: +CONFIG_MBEDTLS_SHA512_C=y +# default: +# CONFIG_MBEDTLS_SHA3_C is not set +# default: +CONFIG_MBEDTLS_TLS_SERVER_AND_CLIENT=y +# default: +# CONFIG_MBEDTLS_TLS_SERVER_ONLY is not set +# default: +# CONFIG_MBEDTLS_TLS_CLIENT_ONLY is not set +# default: +# CONFIG_MBEDTLS_TLS_DISABLED is not set +# default: +CONFIG_MBEDTLS_TLS_SERVER=y +# default: +CONFIG_MBEDTLS_TLS_CLIENT=y +# default: +CONFIG_MBEDTLS_TLS_ENABLED=y + +# +# TLS Key Exchange Methods +# +CONFIG_MBEDTLS_PSK_MODES=y +CONFIG_MBEDTLS_KEY_EXCHANGE_PSK=y +# default: +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_PSK=y +# default: +CONFIG_MBEDTLS_KEY_EXCHANGE_RSA_PSK=y +# default: +CONFIG_MBEDTLS_KEY_EXCHANGE_RSA=y +# default: +CONFIG_MBEDTLS_KEY_EXCHANGE_ELLIPTIC_CURVE=y +# default: +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_RSA=y +# default: +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA=y +# default: +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA=y +# default: +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_RSA=y +# end of TLS Key Exchange Methods + +# default: +CONFIG_MBEDTLS_SSL_RENEGOTIATION=y +# default: +CONFIG_MBEDTLS_SSL_PROTO_TLS1_2=y +# default: +# CONFIG_MBEDTLS_SSL_PROTO_GMTSSL1_1 is not set +# default: +# CONFIG_MBEDTLS_SSL_PROTO_DTLS is not set +# default: +CONFIG_MBEDTLS_SSL_ALPN=y +# default: +CONFIG_MBEDTLS_CLIENT_SSL_SESSION_TICKETS=y +# default: +CONFIG_MBEDTLS_SERVER_SSL_SESSION_TICKETS=y + +# +# Symmetric Ciphers +# +# default: +CONFIG_MBEDTLS_AES_C=y +# default: +# CONFIG_MBEDTLS_CAMELLIA_C is not set +# default: +# CONFIG_MBEDTLS_DES_C is not set +# default: +# CONFIG_MBEDTLS_BLOWFISH_C is not set +# default: +# CONFIG_MBEDTLS_XTEA_C is not set +# default: +CONFIG_MBEDTLS_CCM_C=y +# default: +CONFIG_MBEDTLS_GCM_C=y +# default: +# CONFIG_MBEDTLS_NIST_KW_C is not set +# end of Symmetric Ciphers + +# default: +# CONFIG_MBEDTLS_RIPEMD160_C is not set + +# +# Certificates +# +# default: +CONFIG_MBEDTLS_PEM_PARSE_C=y +# default: +CONFIG_MBEDTLS_PEM_WRITE_C=y +# default: +CONFIG_MBEDTLS_X509_CRL_PARSE_C=y +# default: +CONFIG_MBEDTLS_X509_CSR_PARSE_C=y +# end of Certificates + +# default: +CONFIG_MBEDTLS_ECP_C=y +# default: +CONFIG_MBEDTLS_PK_PARSE_EC_EXTENDED=y +# default: +CONFIG_MBEDTLS_PK_PARSE_EC_COMPRESSED=y +# default: +# CONFIG_MBEDTLS_DHM_C is not set +# default: +CONFIG_MBEDTLS_ECDH_C=y +# default: +CONFIG_MBEDTLS_ECDSA_C=y +# default: +# CONFIG_MBEDTLS_ECJPAKE_C is not set +# default: +CONFIG_MBEDTLS_ECP_DP_SECP192R1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_SECP224R1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_SECP256R1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_SECP384R1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_SECP521R1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_SECP192K1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_SECP224K1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_SECP256K1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_BP256R1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_BP384R1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_BP512R1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_CURVE25519_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_NIST_OPTIM=y +# default: +# CONFIG_MBEDTLS_ECP_FIXED_POINT_OPTIM is not set +# default: +# CONFIG_MBEDTLS_POLY1305_C is not set +# default: +# CONFIG_MBEDTLS_CHACHA20_C is not set +# default: +# CONFIG_MBEDTLS_HKDF_C is not set +# default: +# CONFIG_MBEDTLS_THREADING_C is not set +# default: +CONFIG_MBEDTLS_ERROR_STRINGS=y +# default: +CONFIG_MBEDTLS_FS_IO=y +# default: +# CONFIG_MBEDTLS_ALLOW_WEAK_CERTIFICATE_VERIFICATION is not set +# end of mbedTLS + +# +# ESP-MQTT Configurations +# +# default: +CONFIG_MQTT_PROTOCOL_311=y +# default: +# CONFIG_MQTT_PROTOCOL_5 is not set +# default: +CONFIG_MQTT_TRANSPORT_SSL=y +# default: +CONFIG_MQTT_TRANSPORT_WEBSOCKET=y +# default: +CONFIG_MQTT_TRANSPORT_WEBSOCKET_SECURE=y +# default: +# CONFIG_MQTT_MSG_ID_INCREMENTAL is not set +# default: +# CONFIG_MQTT_SKIP_PUBLISH_IF_DISCONNECTED is not set +# default: +# CONFIG_MQTT_REPORT_DELETED_MESSAGES is not set +# default: +# CONFIG_MQTT_USE_CUSTOM_CONFIG is not set +# default: +# CONFIG_MQTT_TASK_CORE_SELECTION_ENABLED is not set +# default: +# CONFIG_MQTT_CUSTOM_OUTBOX is not set +# end of ESP-MQTT Configurations + +# +# LibC +# +# default: +CONFIG_LIBC_NEWLIB=y +# default: +# CONFIG_LIBC_PICOLIBC is not set +# default: +CONFIG_LIBC_MISC_IN_IRAM=y +# default: +CONFIG_LIBC_LOCKS_PLACE_IN_IRAM=y +# default: +CONFIG_LIBC_STDOUT_LINE_ENDING_CRLF=y +# default: +# CONFIG_LIBC_STDOUT_LINE_ENDING_LF is not set +# default: +# CONFIG_LIBC_STDOUT_LINE_ENDING_CR is not set +# default: +# CONFIG_LIBC_STDIN_LINE_ENDING_CRLF is not set +# default: +# CONFIG_LIBC_STDIN_LINE_ENDING_LF is not set +# default: +CONFIG_LIBC_STDIN_LINE_ENDING_CR=y +# default: +# CONFIG_LIBC_NEWLIB_NANO_FORMAT is not set +# default: +CONFIG_LIBC_TIME_SYSCALL_USE_RTC_HRT=y +# default: +# CONFIG_LIBC_TIME_SYSCALL_USE_RTC is not set +# default: +# CONFIG_LIBC_TIME_SYSCALL_USE_HRT is not set +# default: +# CONFIG_LIBC_TIME_SYSCALL_USE_NONE is not set +# default: +CONFIG_LIBC_ASSERT_BUFFER_SIZE=200 +# end of LibC + +# +# NVS +# +# default: +# CONFIG_NVS_ENCRYPTION is not set +# default: +# CONFIG_NVS_ASSERT_ERROR_CHECK is not set +# default: +# CONFIG_NVS_LEGACY_DUP_KEYS_COMPATIBILITY is not set +# end of NVS + +# +# OpenThread +# +# default: +# CONFIG_OPENTHREAD_ENABLED is not set + +# +# OpenThread Spinel +# +# default: +# CONFIG_OPENTHREAD_SPINEL_ONLY is not set +# end of OpenThread Spinel + +# default: +# CONFIG_OPENTHREAD_DEBUG is not set +# end of OpenThread + +# +# Protocomm +# +# default: +CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_0=y +# default: +CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_1=y +# default: +CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_2=y +# default: +CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_PATCH_VERSION=y +# end of Protocomm + +# +# PThreads +# +# default: +CONFIG_PTHREAD_TASK_PRIO_DEFAULT=5 +# default: +CONFIG_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 +# default: +CONFIG_PTHREAD_STACK_MIN=768 +# default: +CONFIG_PTHREAD_DEFAULT_CORE_NO_AFFINITY=y +# default: +# CONFIG_PTHREAD_DEFAULT_CORE_0 is not set +# default: +# CONFIG_PTHREAD_DEFAULT_CORE_1 is not set +# default: +CONFIG_PTHREAD_TASK_CORE_DEFAULT=-1 +# default: +CONFIG_PTHREAD_TASK_NAME_DEFAULT="pthread" +# end of PThreads + +# +# MMU Config +# +# default: +CONFIG_MMU_PAGE_SIZE_64KB=y +# default: +CONFIG_MMU_PAGE_MODE="64KB" +# default: +CONFIG_MMU_PAGE_SIZE=0x10000 +# end of MMU Config + +# +# Main Flash configuration +# + +# +# SPI Flash behavior when brownout +# +# default: +CONFIG_SPI_FLASH_BROWNOUT_RESET_XMC=y +# default: +CONFIG_SPI_FLASH_BROWNOUT_RESET=y +# end of SPI Flash behavior when brownout + +# +# Optional and Experimental Features (READ DOCS FIRST) +# + +# +# Features here require specific hardware (READ DOCS FIRST!) +# +# default: +# CONFIG_SPI_FLASH_HPM_ENA is not set +# default: +CONFIG_SPI_FLASH_HPM_AUTO=y +# default: +# CONFIG_SPI_FLASH_HPM_DIS is not set +# default: +CONFIG_SPI_FLASH_HPM_ON=y +# default: +CONFIG_SPI_FLASH_HPM_DC_AUTO=y +# default: +# CONFIG_SPI_FLASH_HPM_DC_DISABLE is not set +# default: +# CONFIG_SPI_FLASH_AUTO_SUSPEND is not set +# default: +CONFIG_SPI_FLASH_SUSPEND_TSUS_VAL_US=50 +# default: +# CONFIG_SPI_FLASH_FORCE_ENABLE_XMC_C_SUSPEND is not set +# default: +# CONFIG_SPI_FLASH_FORCE_ENABLE_C6_H2_SUSPEND is not set +# default: +CONFIG_SPI_FLASH_PLACE_FUNCTIONS_IN_IRAM=y +# end of Optional and Experimental Features (READ DOCS FIRST) +# end of Main Flash configuration + +# +# SPI Flash driver +# +# default: +# CONFIG_SPI_FLASH_VERIFY_WRITE is not set +# default: +# CONFIG_SPI_FLASH_ENABLE_COUNTERS is not set +# default: +CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=y +# default: +# CONFIG_SPI_FLASH_ROM_IMPL is not set +# default: +CONFIG_SPI_FLASH_DANGEROUS_WRITE_ABORTS=y +# default: +# CONFIG_SPI_FLASH_DANGEROUS_WRITE_FAILS is not set +# default: +# CONFIG_SPI_FLASH_DANGEROUS_WRITE_ALLOWED is not set +# default: +# CONFIG_SPI_FLASH_BYPASS_BLOCK_ERASE is not set +# default: +CONFIG_SPI_FLASH_YIELD_DURING_ERASE=y +# default: +CONFIG_SPI_FLASH_ERASE_YIELD_DURATION_MS=20 +# default: +CONFIG_SPI_FLASH_ERASE_YIELD_TICKS=1 +# default: +CONFIG_SPI_FLASH_WRITE_CHUNK_SIZE=8192 +# default: +# CONFIG_SPI_FLASH_SIZE_OVERRIDE is not set +# default: +# CONFIG_SPI_FLASH_CHECK_ERASE_TIMEOUT_DISABLED is not set +# default: +# CONFIG_SPI_FLASH_OVERRIDE_CHIP_DRIVER_LIST is not set + +# +# Auto-detect flash chips +# +# default: +CONFIG_SPI_FLASH_VENDOR_XMC_SUPPORT_ENABLED=y +# default: +CONFIG_SPI_FLASH_VENDOR_GD_SUPPORT_ENABLED=y +# default: +CONFIG_SPI_FLASH_VENDOR_ISSI_SUPPORT_ENABLED=y +# default: +CONFIG_SPI_FLASH_VENDOR_MXIC_SUPPORT_ENABLED=y +# default: +CONFIG_SPI_FLASH_VENDOR_WINBOND_SUPPORT_ENABLED=y +# default: +CONFIG_SPI_FLASH_VENDOR_BOYA_SUPPORT_ENABLED=y +# default: +CONFIG_SPI_FLASH_VENDOR_TH_SUPPORT_ENABLED=y +# default: +CONFIG_SPI_FLASH_SUPPORT_ISSI_CHIP=y +# default: +CONFIG_SPI_FLASH_SUPPORT_MXIC_CHIP=y +# default: +CONFIG_SPI_FLASH_SUPPORT_GD_CHIP=y +# default: +CONFIG_SPI_FLASH_SUPPORT_WINBOND_CHIP=y +# default: +CONFIG_SPI_FLASH_SUPPORT_BOYA_CHIP=y +# default: +CONFIG_SPI_FLASH_SUPPORT_TH_CHIP=y +# default: +CONFIG_SPI_FLASH_SUPPORT_MXIC_OPI_CHIP=y +# end of Auto-detect flash chips + +# default: +CONFIG_SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE=y +# end of SPI Flash driver + +# +# SPIFFS Configuration +# +# default: +CONFIG_SPIFFS_MAX_PARTITIONS=3 + +# +# SPIFFS Cache Configuration +# +# default: +CONFIG_SPIFFS_CACHE=y +# default: +CONFIG_SPIFFS_CACHE_WR=y +# default: +# CONFIG_SPIFFS_CACHE_STATS is not set +# end of SPIFFS Cache Configuration + +# default: +CONFIG_SPIFFS_PAGE_CHECK=y +# default: +CONFIG_SPIFFS_GC_MAX_RUNS=10 +# default: +# CONFIG_SPIFFS_GC_STATS is not set +# default: +CONFIG_SPIFFS_PAGE_SIZE=256 +# default: +CONFIG_SPIFFS_OBJ_NAME_LEN=32 +# default: +# CONFIG_SPIFFS_FOLLOW_SYMLINKS is not set +# default: +CONFIG_SPIFFS_USE_MAGIC=y +# default: +CONFIG_SPIFFS_USE_MAGIC_LENGTH=y +# default: +CONFIG_SPIFFS_META_LENGTH=4 +# default: +CONFIG_SPIFFS_USE_MTIME=y + +# +# Debug Configuration +# +# default: +# CONFIG_SPIFFS_DBG is not set +# default: +# CONFIG_SPIFFS_API_DBG is not set +# default: +# CONFIG_SPIFFS_GC_DBG is not set +# default: +# CONFIG_SPIFFS_CACHE_DBG is not set +# default: +# CONFIG_SPIFFS_CHECK_DBG is not set +# default: +# CONFIG_SPIFFS_TEST_VISUALISATION is not set +# end of Debug Configuration +# end of SPIFFS Configuration + +# +# TCP Transport +# + +# +# Websocket +# +# default: +CONFIG_WS_TRANSPORT=y +# default: +CONFIG_WS_BUFFER_SIZE=1024 +# default: +# CONFIG_WS_DYNAMIC_BUFFER is not set +# end of Websocket +# end of TCP Transport + +# +# Ultra Low Power (ULP) Co-processor +# +# default: +# CONFIG_ULP_COPROC_ENABLED is not set + +# +# ULP Debugging Options +# +# end of ULP Debugging Options +# end of Ultra Low Power (ULP) Co-processor + +# +# Unity unit testing library +# +# default: +CONFIG_UNITY_ENABLE_FLOAT=y +# default: +CONFIG_UNITY_ENABLE_DOUBLE=y +# default: +# CONFIG_UNITY_ENABLE_64BIT is not set +# default: +# CONFIG_UNITY_ENABLE_COLOR is not set +# default: +CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER=y +# default: +# CONFIG_UNITY_ENABLE_FIXTURE is not set +# default: +# CONFIG_UNITY_ENABLE_BACKTRACE_ON_FAIL is not set +# default: +# CONFIG_UNITY_TEST_ORDER_BY_FILE_PATH_AND_LINE is not set +# end of Unity unit testing library + +# +# USB-OTG +# +# default: +CONFIG_USB_HOST_CONTROL_TRANSFER_MAX_SIZE=256 +# default: +CONFIG_USB_HOST_HW_BUFFER_BIAS_BALANCED=y +# default: +# CONFIG_USB_HOST_HW_BUFFER_BIAS_IN is not set +# default: +# CONFIG_USB_HOST_HW_BUFFER_BIAS_PERIODIC_OUT is not set + +# +# Hub Driver Configuration +# + +# +# Root Port configuration +# +# default: +CONFIG_USB_HOST_DEBOUNCE_DELAY_MS=250 +# default: +CONFIG_USB_HOST_RESET_HOLD_MS=30 +# default: +CONFIG_USB_HOST_RESET_RECOVERY_MS=30 +# default: +CONFIG_USB_HOST_SET_ADDR_RECOVERY_MS=10 +# end of Root Port configuration + +# default: +# CONFIG_USB_HOST_HUBS_SUPPORTED is not set +# end of Hub Driver Configuration + +# default: +# CONFIG_USB_HOST_ENABLE_ENUM_FILTER_CALLBACK is not set +# default: +CONFIG_USB_OTG_SUPPORTED=y +# end of USB-OTG + +# +# Virtual file system +# +# default: +CONFIG_VFS_SUPPORT_IO=y +# default: +CONFIG_VFS_SUPPORT_DIR=y +# default: +CONFIG_VFS_SUPPORT_SELECT=y +# default: +CONFIG_VFS_SUPPRESS_SELECT_DEBUG_OUTPUT=y +# default: +# CONFIG_VFS_SELECT_IN_RAM is not set +# default: +CONFIG_VFS_SUPPORT_TERMIOS=y +# default: +CONFIG_VFS_MAX_COUNT=8 + +# +# Host File System I/O (Semihosting) +# +# default: +CONFIG_VFS_SEMIHOSTFS_MAX_MOUNT_POINTS=1 +# end of Host File System I/O (Semihosting) + +# default: +CONFIG_VFS_INITIALIZE_DEV_NULL=y +# end of Virtual file system + +# +# Wear Levelling +# +# default: +# CONFIG_WL_SECTOR_SIZE_512 is not set +# default: +CONFIG_WL_SECTOR_SIZE_4096=y +# default: +CONFIG_WL_SECTOR_SIZE=4096 +# end of Wear Levelling + +# +# Wi-Fi Provisioning Manager +# +# default: +CONFIG_WIFI_PROV_SCAN_MAX_ENTRIES=16 +# default: +CONFIG_WIFI_PROV_AUTOSTOP_TIMEOUT=30 +# default: +CONFIG_WIFI_PROV_STA_ALL_CHANNEL_SCAN=y +# default: +# CONFIG_WIFI_PROV_STA_FAST_SCAN is not set +# end of Wi-Fi Provisioning Manager + +# +# cJSON +# +# default: +CONFIG_CJSON_NESTING_LIMIT=1000 +# default: +CONFIG_CJSON_CIRCULAR_LIMIT=10000 +# end of cJSON + +# +# DSP Library +# +# default: +CONFIG_DSP_OPTIMIZATIONS_SUPPORTED=y +# default: +# CONFIG_DSP_ANSI is not set +# default: +CONFIG_DSP_OPTIMIZED=y +# default: +CONFIG_DSP_OPTIMIZATION=1 +# default: +# CONFIG_DSP_MAX_FFT_SIZE_512 is not set +# default: +# CONFIG_DSP_MAX_FFT_SIZE_1024 is not set +# default: +# CONFIG_DSP_MAX_FFT_SIZE_2048 is not set +# default: +CONFIG_DSP_MAX_FFT_SIZE_4096=y +# default: +# CONFIG_DSP_MAX_FFT_SIZE_8192 is not set +# default: +# CONFIG_DSP_MAX_FFT_SIZE_16384 is not set +# default: +# CONFIG_DSP_MAX_FFT_SIZE_32768 is not set +# default: +CONFIG_DSP_MAX_FFT_SIZE=4096 +# end of DSP Library + +# +# Modbus configuration +# +# default: +CONFIG_FMB_COMM_MODE_TCP_EN=y +# default: +CONFIG_FMB_TCP_PORT_DEFAULT=502 +# default: +CONFIG_FMB_TCP_PORT_MAX_CONN=5 +# default: +CONFIG_FMB_TCP_CONNECTION_TOUT_SEC=20 +# default: +# CONFIG_FMB_TCP_UID_ENABLED is not set +# default: +CONFIG_FMB_COMM_MODE_RTU_EN=y +# default: +CONFIG_FMB_COMM_MODE_ASCII_EN=y +# default: +CONFIG_FMB_MASTER_TIMEOUT_MS_RESPOND=3000 +# default: +CONFIG_FMB_MASTER_DELAY_MS_CONVERT=200 +# default: +CONFIG_FMB_QUEUE_LENGTH=20 +# default: +CONFIG_FMB_PORT_TASK_STACK_SIZE=4096 +# default: +CONFIG_FMB_SERIAL_BUF_SIZE=256 +# default: +CONFIG_FMB_SERIAL_ASCII_BITS_PER_SYMB=8 +# default: +CONFIG_FMB_ASCII_TIMEOUT_WAIT_BEFORE_SEND_MS=0 +# default: +CONFIG_FMB_SERIAL_ASCII_TIMEOUT_RESPOND_MS=1000 +# default: +CONFIG_FMB_PORT_TASK_PRIO=10 +# default: +# CONFIG_FMB_PORT_TASK_AFFINITY_NO_AFFINITY is not set +# default: +CONFIG_FMB_PORT_TASK_AFFINITY_CPU0=y +# default: +# CONFIG_FMB_PORT_TASK_AFFINITY_CPU1 is not set +# default: +CONFIG_FMB_PORT_TASK_AFFINITY=0x0 +# default: +CONFIG_FMB_CONTROLLER_SLAVE_ID_SUPPORT=y +# default: +CONFIG_FMB_CONTROLLER_SLAVE_ID=0x00112233 +# default: +CONFIG_FMB_CONTROLLER_SLAVE_ID_MAX_SIZE=32 +# default: +CONFIG_FMB_CONTROLLER_NOTIFY_TIMEOUT=20 +# default: +CONFIG_FMB_CONTROLLER_NOTIFY_QUEUE_SIZE=20 +# default: +CONFIG_FMB_CONTROLLER_STACK_SIZE=4096 +# default: +CONFIG_FMB_EVENT_QUEUE_TIMEOUT=20 +# default: +# CONFIG_FMB_TIMER_PORT_ENABLED is not set +# default: +# CONFIG_FMB_TIMER_USE_ISR_DISPATCH_METHOD is not set +# default: +# CONFIG_FMB_EXT_TYPE_SUPPORT is not set +# end of Modbus configuration + +# +# ESP serial flasher +# +# default: +CONFIG_SERIAL_FLASHER_MD5_ENABLED=y +# default: +CONFIG_SERIAL_FLASHER_RESET_HOLD_TIME_MS=100 +# default: +CONFIG_SERIAL_FLASHER_BOOT_HOLD_TIME_MS=50 +# end of ESP serial flasher + +# +# Zigbee +# +# default: +# CONFIG_ZB_ENABLED is not set +# end of Zigbee + +# +# Diagnostics data store +# +# default: +CONFIG_DIAG_DATA_STORE_RTC=y +# default: +# CONFIG_DIAG_DATA_STORE_FLASH is not set +# default: +# CONFIG_DIAG_DATA_STORE_DBG_PRINTS is not set +# default: +CONFIG_DIAG_DATA_STORE_REPORTING_WATERMARK_PERCENT=80 + +# +# RTC Store +# +# default: +CONFIG_RTC_STORE_DATA_SIZE=6144 +# default: +CONFIG_RTC_STORE_CRITICAL_DATA_SIZE=4096 +# end of RTC Store +# end of Diagnostics data store + +# +# Diagnostics +# +# default: +CONFIG_DIAG_LOG_MSG_ARG_FORMAT_TLV=y +# default: +# CONFIG_DIAG_LOG_MSG_ARG_FORMAT_STRING is not set +# default: +CONFIG_DIAG_LOG_MSG_ARG_MAX_SIZE=64 +# default: +CONFIG_DIAG_LOG_DROP_WIFI_LOGS=y +# default: +CONFIG_DIAG_ENABLE_METRICS=y +# default: +CONFIG_DIAG_METRICS_MAX_COUNT=20 +# default: +CONFIG_DIAG_ENABLE_HEAP_METRICS=y +# default: +CONFIG_DIAG_ENABLE_WIFI_METRICS=y +# default: +CONFIG_DIAG_ENABLE_VARIABLES=y +# default: +CONFIG_DIAG_VARIABLES_MAX_COUNT=20 +# default: +CONFIG_DIAG_ENABLE_NETWORK_VARIABLES=y +# default: +# CONFIG_DIAG_MORE_NETWORK_VARS is not set +# default: +# CONFIG_DIAG_USE_EXTERNAL_LOG_WRAP is not set +# end of Diagnostics + +# +# ESP Insights +# +# default: +# CONFIG_ESP_INSIGHTS_ENABLED is not set +# default: +# CONFIG_ESP_INSIGHTS_TRANSPORT_MQTT is not set +# default: +CONFIG_ESP_INSIGHTS_TRANSPORT_HTTPS=y +# default: +CONFIG_ESP_INSIGHTS_TRANSPORT_HTTPS_HOST="https://client.insights.espressif.com" +# default: +CONFIG_ESP_INSIGHTS_CLOUD_POST_MIN_INTERVAL_SEC=60 +# default: +CONFIG_ESP_INSIGHTS_CLOUD_POST_MAX_INTERVAL_SEC=240 +# default: +CONFIG_ESP_INSIGHTS_META_VERSION_10=y +# end of ESP Insights + +# +# esp-modem +# +# default: +CONFIG_ESP_MODEM_CMUX_DEFRAGMENT_PAYLOAD=y +# default: +# CONFIG_ESP_MODEM_USE_INFLATABLE_BUFFER_IF_NEEDED is not set +# default: +CONFIG_ESP_MODEM_CMUX_DELAY_AFTER_DLCI_SETUP=0 +# default: +# CONFIG_ESP_MODEM_CMUX_USE_SHORT_PAYLOADS_ONLY is not set +# default: +# CONFIG_ESP_MODEM_ADD_CUSTOM_MODULE is not set +# default: +CONFIG_ESP_MODEM_C_API_STR_MAX=128 +# default: +# CONFIG_ESP_MODEM_URC_HANDLER is not set +# default: +# CONFIG_ESP_MODEM_PPP_ESCAPE_BEFORE_EXIT is not set +# default: +# CONFIG_ESP_MODEM_ADD_DEBUG_LOGS is not set +# default: +# CONFIG_ESP_MODEM_ENABLE_DEVELOPMENT_MODE is not set +# default: +CONFIG_ESP_MODEM_USE_PPP_MODE=y +# end of esp-modem + +# +# OpenThread RCP Update +# +# default: +# CONFIG_AUTO_UPDATE_RCP is not set +# default: +# CONFIG_CREATE_OTA_IMAGE_WITH_RCP_FW is not set +# end of OpenThread RCP Update + +# +# ESP Secure Cert Manager +# +# default: +CONFIG_ESP_SECURE_CERT_DS_PERIPHERAL=y +# default: +# CONFIG_ESP_SECURE_CERT_SUPPORT_LEGACY_FORMATS is not set +# default: +# CONFIG_ESP_SECURE_CERT_WRITE_ENABLE_LOGGING is not set +# end of ESP Secure Cert Manager + +# +# jsmn +# +# default: +# CONFIG_JSMN_PARENT_LINKS is not set +# default: +# CONFIG_JSMN_STRICT is not set +# default: +# CONFIG_JSMN_STATIC is not set +# end of jsmn + +# +# libsodium +# +# default: +CONFIG_LIBSODIUM_USE_MBEDTLS_SHA=y +# end of libsodium + +# +# mDNS +# +# default: +CONFIG_MDNS_MAX_INTERFACES=3 +# default: +CONFIG_MDNS_MAX_SERVICES=10 +# default: +CONFIG_MDNS_TASK_PRIORITY=1 +# default: +CONFIG_MDNS_ACTION_QUEUE_LEN=16 +# default: +CONFIG_MDNS_TASK_STACK_SIZE=4096 +# default: +# CONFIG_MDNS_TASK_AFFINITY_NO_AFFINITY is not set +# default: +CONFIG_MDNS_TASK_AFFINITY_CPU0=y +# default: +# CONFIG_MDNS_TASK_AFFINITY_CPU1 is not set +# default: +CONFIG_MDNS_TASK_AFFINITY=0x0 + +# +# MDNS Memory Configuration +# +# default: +CONFIG_MDNS_TASK_CREATE_FROM_INTERNAL=y +# default: +CONFIG_MDNS_MEMORY_ALLOC_INTERNAL=y +# default: +# CONFIG_MDNS_MEMORY_CUSTOM_IMPL is not set +# end of MDNS Memory Configuration + +# default: +CONFIG_MDNS_SERVICE_ADD_TIMEOUT_MS=2000 +# default: +CONFIG_MDNS_TIMER_PERIOD_MS=100 +# default: +# CONFIG_MDNS_NETWORKING_SOCKET is not set +# default: +# CONFIG_MDNS_SKIP_SUPPRESSING_OWN_QUERIES is not set +# default: +# CONFIG_MDNS_ENABLE_DEBUG_PRINTS is not set +# default: +CONFIG_MDNS_ENABLE_CONSOLE_CLI=y +# default: +# CONFIG_MDNS_RESPOND_REVERSE_QUERIES is not set +# default: +CONFIG_MDNS_MULTIPLE_INSTANCE=y + +# +# MDNS Predefined interfaces +# +# default: +CONFIG_MDNS_PREDEF_NETIF_STA=y +# default: +CONFIG_MDNS_PREDEF_NETIF_AP=y +# default: +CONFIG_MDNS_PREDEF_NETIF_ETH=y +# end of MDNS Predefined interfaces +# end of mDNS + +# +# Network Provisioning Manager +# +# default: +CONFIG_NETWORK_PROV_NETWORK_TYPE_WIFI=y +# default: +CONFIG_NETWORK_PROV_SCAN_MAX_ENTRIES=16 +# default: +CONFIG_NETWORK_PROV_AUTOSTOP_TIMEOUT=30 +# default: +# CONFIG_NETWORK_PROV_BLE_FORCE_ENCRYPTION is not set +# default: +CONFIG_NETWORK_PROV_WIFI_STA_ALL_CHANNEL_SCAN=y +# default: +# CONFIG_NETWORK_PROV_WIFI_STA_FAST_SCAN is not set +# end of Network Provisioning Manager + +# +# ESP RainMaker Common +# +# default: +CONFIG_ESP_RMAKER_LIB_ESP_MQTT=y +# default: +# CONFIG_ESP_RMAKER_LIB_AWS_IOT is not set +# default: +CONFIG_ESP_RMAKER_MQTT_GLUE_LIB=1 +# default: +CONFIG_ESP_RMAKER_MQTT_PORT_443=y +# default: +# CONFIG_ESP_RMAKER_MQTT_PORT_8883 is not set +# default: +CONFIG_ESP_RMAKER_MQTT_PORT=1 +# default: +# CONFIG_ESP_RMAKER_MQTT_PERSISTENT_SESSION is not set +# default: +CONFIG_ESP_RMAKER_MQTT_SEND_USERNAME=y +# default: +CONFIG_ESP_RMAKER_MQTT_PRODUCT_NAME="RMDev" +# default: +CONFIG_ESP_RMAKER_MQTT_PRODUCT_VERSION="1x0" +# default: +CONFIG_ESP_RMAKER_MQTT_PRODUCT_SKU="EX00" +# default: +CONFIG_ESP_RMAKER_MQTT_USE_CERT_BUNDLE=y +# default: +CONFIG_ESP_RMAKER_MAX_MQTT_SUBSCRIPTIONS=10 +# default: +CONFIG_ESP_RMAKER_MQTT_KEEP_ALIVE_INTERVAL=120 +# default: +CONFIG_ESP_RMAKER_NETWORK_OVER_WIFI=y +# default: +CONFIG_ESP_RMAKER_WORK_QUEUE_TASK_STACK=4096 +# default: +CONFIG_ESP_RMAKER_WORK_QUEUE_TASK_PRIORITY=5 +# default: +CONFIG_ESP_RMAKER_FACTORY_PARTITION_NAME="fctry" +# default: +CONFIG_ESP_RMAKER_FACTORY_NAMESPACE="rmaker_creds" +# default: +CONFIG_ESP_RMAKER_DEF_TIMEZONE="Asia/Shanghai" +# default: +CONFIG_ESP_RMAKER_SNTP_SERVER_NAME="pool.ntp.org" +# default: +CONFIG_ESP_RMAKER_MAX_COMMANDS=10 +# end of ESP RainMaker Common + +# +# LittleFS +# +# default: +# CONFIG_LITTLEFS_SDMMC_SUPPORT is not set +# default: +CONFIG_LITTLEFS_MAX_PARTITIONS=3 +# default: +CONFIG_LITTLEFS_PAGE_SIZE=256 +# default: +CONFIG_LITTLEFS_OBJ_NAME_LEN=64 +# default: +CONFIG_LITTLEFS_READ_SIZE=128 +# default: +CONFIG_LITTLEFS_WRITE_SIZE=128 +# default: +CONFIG_LITTLEFS_LOOKAHEAD_SIZE=128 +# default: +CONFIG_LITTLEFS_CACHE_SIZE=512 +# default: +CONFIG_LITTLEFS_BLOCK_CYCLES=512 +# default: +CONFIG_LITTLEFS_USE_MTIME=y +# default: +# CONFIG_LITTLEFS_USE_ONLY_HASH is not set +# default: +# CONFIG_LITTLEFS_HUMAN_READABLE is not set +# default: +CONFIG_LITTLEFS_MTIME_USE_SECONDS=y +# default: +# CONFIG_LITTLEFS_MTIME_USE_NONCE is not set +# default: +# CONFIG_LITTLEFS_SPIFFS_COMPAT is not set +# default: +# CONFIG_LITTLEFS_FLUSH_FILE_EVERY_WRITE is not set +# default: +# CONFIG_LITTLEFS_FCNTL_GET_PATH is not set +# default: +# CONFIG_LITTLEFS_MULTIVERSION is not set +# default: +# CONFIG_LITTLEFS_MALLOC_STRATEGY_DISABLE is not set +# default: +CONFIG_LITTLEFS_MALLOC_STRATEGY_DEFAULT=y +# default: +# CONFIG_LITTLEFS_MALLOC_STRATEGY_INTERNAL is not set +# default: +CONFIG_LITTLEFS_ASSERTS=y +# default: +# CONFIG_LITTLEFS_MMAP_PARTITION is not set +# default: +# CONFIG_LITTLEFS_WDT_RESET is not set +# end of LittleFS +# end of Component config + +# default: +# CONFIG_IDF_EXPERIMENTAL_FEATURES is not set + +# Deprecated options for backward compatibility +# CONFIG_APP_BUILD_TYPE_ELF_RAM is not set +# CONFIG_NO_BLOBS is not set +# CONFIG_APP_ROLLBACK_ENABLE is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_NONE is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_ERROR is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_WARN is not set +CONFIG_LOG_BOOTLOADER_LEVEL_INFO=y +# CONFIG_LOG_BOOTLOADER_LEVEL_DEBUG is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_VERBOSE is not set +CONFIG_LOG_BOOTLOADER_LEVEL=3 +# CONFIG_FLASH_ENCRYPTION_ENABLED is not set +# CONFIG_FLASHMODE_QIO is not set +# CONFIG_FLASHMODE_QOUT is not set +CONFIG_FLASHMODE_DIO=y +# CONFIG_FLASHMODE_DOUT is not set +CONFIG_MONITOR_BAUD=115200 +# CONFIG_ESP_RMAKER_LOCAL_CTRL_ENABLE is not set +CONFIG_OPTIMIZATION_LEVEL_DEBUG=y +CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG=y +CONFIG_COMPILER_OPTIMIZATION_DEFAULT=y +# CONFIG_OPTIMIZATION_LEVEL_RELEASE is not set +# CONFIG_COMPILER_OPTIMIZATION_LEVEL_RELEASE is not set +CONFIG_OPTIMIZATION_ASSERTIONS_ENABLED=y +# CONFIG_OPTIMIZATION_ASSERTIONS_SILENT is not set +# CONFIG_OPTIMIZATION_ASSERTIONS_DISABLED is not set +CONFIG_OPTIMIZATION_ASSERTION_LEVEL=2 +# CONFIG_CXX_EXCEPTIONS is not set +CONFIG_STACK_CHECK_NONE=y +# CONFIG_STACK_CHECK_NORM is not set +# CONFIG_STACK_CHECK_STRONG is not set +# CONFIG_STACK_CHECK_ALL is not set +# CONFIG_WARN_WRITE_STRINGS is not set +# CONFIG_ESP32_APPTRACE_DEST_TRAX is not set +CONFIG_ESP32_APPTRACE_DEST_NONE=y +CONFIG_ESP32_APPTRACE_LOCK_ENABLE=y +# CONFIG_EXTERNAL_COEX_ENABLE is not set +# CONFIG_ESP_WIFI_EXTERNAL_COEXIST_ENABLE is not set +# CONFIG_CAM_CTLR_DVP_CAM_ISR_IRAM_SAFE is not set +# CONFIG_GPTIMER_ISR_IRAM_SAFE is not set +# CONFIG_MCPWM_ISR_IRAM_SAFE is not set +# CONFIG_EVENT_LOOP_PROFILING is not set +CONFIG_POST_EVENTS_FROM_ISR=y +CONFIG_POST_EVENTS_FROM_IRAM_ISR=y +CONFIG_GDBSTUB_SUPPORT_TASKS=y +CONFIG_GDBSTUB_MAX_TASKS=32 +# CONFIG_OTA_ALLOW_HTTP is not set +# CONFIG_ESP_SYSTEM_PD_FLASH is not set +CONFIG_ESP32S3_DEEP_SLEEP_WAKEUP_DELAY=2000 +CONFIG_ESP_SLEEP_DEEP_SLEEP_WAKEUP_DELAY=2000 +CONFIG_ESP32S3_RTC_CLK_SRC_INT_RC=y +# CONFIG_ESP32S3_RTC_CLK_SRC_EXT_CRYS is not set +# CONFIG_ESP32S3_RTC_CLK_SRC_EXT_OSC is not set +# CONFIG_ESP32S3_RTC_CLK_SRC_INT_8MD256 is not set +CONFIG_ESP32S3_RTC_CLK_CAL_CYCLES=1024 +CONFIG_PERIPH_CTRL_FUNC_IN_IRAM=y +CONFIG_BROWNOUT_DET=y +CONFIG_ESP32S3_BROWNOUT_DET=y +CONFIG_BROWNOUT_DET_LVL_SEL_7=y +CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_7=y +# CONFIG_BROWNOUT_DET_LVL_SEL_6 is not set +# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_6 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_5 is not set +# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_5 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_4 is not set +# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_4 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_3 is not set +# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_3 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_2 is not set +# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_2 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_1 is not set +# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_1 is not set +CONFIG_BROWNOUT_DET_LVL=7 +CONFIG_ESP32S3_BROWNOUT_DET_LVL=7 +CONFIG_ESP_SYSTEM_BROWNOUT_INTR=y +CONFIG_ESP32_PHY_CALIBRATION_AND_DATA_STORAGE=y +# CONFIG_ESP32_PHY_INIT_DATA_IN_PARTITION is not set +CONFIG_ESP32_PHY_MAX_WIFI_TX_POWER=20 +CONFIG_ESP32_PHY_MAX_TX_POWER=20 +# CONFIG_REDUCE_PHY_TX_POWER is not set +# CONFIG_ESP32_REDUCE_PHY_TX_POWER is not set +CONFIG_ESP_SYSTEM_PM_POWER_DOWN_CPU=y +CONFIG_PM_POWER_DOWN_TAGMEM_IN_LIGHT_SLEEP=y +# CONFIG_ESP32S3_SPIRAM_SUPPORT is not set +# CONFIG_ESP32S3_DEFAULT_CPU_FREQ_80 is not set +CONFIG_ESP32S3_DEFAULT_CPU_FREQ_160=y +# CONFIG_ESP32S3_DEFAULT_CPU_FREQ_240 is not set +CONFIG_ESP32S3_DEFAULT_CPU_FREQ_MHZ=160 +CONFIG_SYSTEM_EVENT_QUEUE_SIZE=32 +CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE=2304 +CONFIG_MAIN_TASK_STACK_SIZE=8192 +CONFIG_CONSOLE_UART_DEFAULT=y +# CONFIG_CONSOLE_UART_CUSTOM is not set +# CONFIG_CONSOLE_UART_NONE is not set +# CONFIG_ESP_CONSOLE_UART_NONE is not set +CONFIG_CONSOLE_UART=y +CONFIG_CONSOLE_UART_NUM=0 +CONFIG_CONSOLE_UART_BAUDRATE=115200 +CONFIG_INT_WDT=y +CONFIG_INT_WDT_TIMEOUT_MS=300 +CONFIG_INT_WDT_CHECK_CPU1=y +CONFIG_TASK_WDT=y +CONFIG_ESP_TASK_WDT=y +# CONFIG_TASK_WDT_PANIC is not set +CONFIG_TASK_WDT_TIMEOUT_S=5 +CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU0=y +CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU1=y +# CONFIG_ESP32_DEBUG_STUBS_ENABLE is not set +CONFIG_ESP32S3_DEBUG_OCDAWARE=y +CONFIG_IPC_TASK_STACK_SIZE=1280 +CONFIG_TIMER_TASK_STACK_SIZE=3584 +CONFIG_ESP32_WIFI_ENABLED=y +CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=10 +CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=32 +# CONFIG_ESP32_WIFI_STATIC_TX_BUFFER is not set +CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER=y +CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=1 +CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER_NUM=32 +# CONFIG_ESP32_WIFI_CSI_ENABLED is not set +CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED=y +CONFIG_ESP32_WIFI_TX_BA_WIN=6 +CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y +CONFIG_ESP32_WIFI_RX_BA_WIN=6 +CONFIG_ESP32_WIFI_NVS_ENABLED=y +CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_0=y +# CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_1 is not set +CONFIG_ESP32_WIFI_SOFTAP_BEACON_MAX_LEN=752 +CONFIG_ESP32_WIFI_MGMT_SBUF_NUM=32 +CONFIG_ESP32_WIFI_IRAM_OPT=y +CONFIG_ESP32_WIFI_RX_IRAM_OPT=y +CONFIG_ESP32_WIFI_ENABLE_WPA3_SAE=y +CONFIG_ESP32_WIFI_ENABLE_WPA3_OWE_STA=y +CONFIG_WPA_MBEDTLS_CRYPTO=y +CONFIG_WPA_MBEDTLS_TLS_CLIENT=y +# CONFIG_WPA_WAPI_PSK is not set +# CONFIG_WPA_SUITE_B_192 is not set +# CONFIG_WPA_11KV_SUPPORT is not set +# CONFIG_WPA_MBO_SUPPORT is not set +# CONFIG_WPA_DPP_SUPPORT is not set +# CONFIG_WPA_11R_SUPPORT is not set +# CONFIG_WPA_WPS_SOFTAP_REGISTRAR is not set +# CONFIG_WPA_WPS_STRICT is not set +# CONFIG_WPA_DEBUG_PRINT is not set +# CONFIG_ESP32_ENABLE_COREDUMP_TO_FLASH is not set +# CONFIG_ESP32_ENABLE_COREDUMP_TO_UART is not set +CONFIG_ESP32_ENABLE_COREDUMP_TO_NONE=y +CONFIG_TIMER_TASK_PRIORITY=1 +CONFIG_TIMER_TASK_STACK_DEPTH=2048 +CONFIG_TIMER_QUEUE_LENGTH=10 +# CONFIG_ENABLE_STATIC_TASK_CLEAN_UP_HOOK is not set +# CONFIG_HAL_ASSERTION_SILIENT is not set +# CONFIG_L2_TO_L3_COPY is not set +CONFIG_ESP_GRATUITOUS_ARP=y +CONFIG_GARP_TMR_INTERVAL=60 +CONFIG_TCPIP_RECVMBOX_SIZE=32 +CONFIG_TCP_MAXRTX=12 +CONFIG_TCP_SYNMAXRTX=12 +CONFIG_TCP_MSS=1440 +CONFIG_TCP_MSL=60000 +CONFIG_TCP_SND_BUF_DEFAULT=5760 +CONFIG_TCP_WND_DEFAULT=5760 +CONFIG_TCP_RECVMBOX_SIZE=6 +CONFIG_TCP_QUEUE_OOSEQ=y +CONFIG_TCP_OVERSIZE_MSS=y +# CONFIG_TCP_OVERSIZE_QUARTER_MSS is not set +# CONFIG_TCP_OVERSIZE_DISABLE is not set +CONFIG_UDP_RECVMBOX_SIZE=6 +CONFIG_TCPIP_TASK_STACK_SIZE=3072 +CONFIG_TCPIP_TASK_AFFINITY_NO_AFFINITY=y +# CONFIG_TCPIP_TASK_AFFINITY_CPU0 is not set +# CONFIG_TCPIP_TASK_AFFINITY_CPU1 is not set +CONFIG_TCPIP_TASK_AFFINITY=0x7FFFFFFF +CONFIG_PPP_SUPPORT=y +# CONFIG_PPP_NOTIFY_PHASE_SUPPORT is not set +# CONFIG_PPP_PAP_SUPPORT is not set +# CONFIG_PPP_CHAP_SUPPORT is not set +# CONFIG_PPP_MSCHAP_SUPPORT is not set +# CONFIG_PPP_MPPE_SUPPORT is not set +# CONFIG_PPP_DEBUG_ON is not set +CONFIG_NEWLIB_STDOUT_LINE_ENDING_CRLF=y +# CONFIG_NEWLIB_STDOUT_LINE_ENDING_LF is not set +# CONFIG_NEWLIB_STDOUT_LINE_ENDING_CR is not set +# CONFIG_NEWLIB_STDIN_LINE_ENDING_CRLF is not set +# CONFIG_NEWLIB_STDIN_LINE_ENDING_LF is not set +CONFIG_NEWLIB_STDIN_LINE_ENDING_CR=y +# CONFIG_NEWLIB_NANO_FORMAT is not set +CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC_HRT=y +CONFIG_ESP32S3_TIME_SYSCALL_USE_RTC_SYSTIMER=y +CONFIG_ESP32S3_TIME_SYSCALL_USE_RTC_FRC1=y +# CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC is not set +# CONFIG_ESP32S3_TIME_SYSCALL_USE_RTC is not set +# CONFIG_NEWLIB_TIME_SYSCALL_USE_HRT is not set +# CONFIG_ESP32S3_TIME_SYSCALL_USE_SYSTIMER is not set +# CONFIG_ESP32S3_TIME_SYSCALL_USE_FRC1 is not set +# CONFIG_NEWLIB_TIME_SYSCALL_USE_NONE is not set +# CONFIG_ESP32S3_TIME_SYSCALL_USE_NONE is not set +CONFIG_ESP32_PTHREAD_TASK_PRIO_DEFAULT=5 +CONFIG_ESP32_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 +CONFIG_ESP32_PTHREAD_STACK_MIN=768 +CONFIG_ESP32_DEFAULT_PTHREAD_CORE_NO_AFFINITY=y +# CONFIG_ESP32_DEFAULT_PTHREAD_CORE_0 is not set +# CONFIG_ESP32_DEFAULT_PTHREAD_CORE_1 is not set +CONFIG_ESP32_PTHREAD_TASK_CORE_DEFAULT=-1 +CONFIG_ESP32_PTHREAD_TASK_NAME_DEFAULT="pthread" +CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ABORTS=y +# CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_FAILS is not set +# CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ALLOWED is not set +CONFIG_SUPPRESS_SELECT_DEBUG_OUTPUT=y +CONFIG_SUPPORT_TERMIOS=y +CONFIG_SEMIHOSTFS_MAX_MOUNT_POINTS=1 +CONFIG_MB_MASTER_TIMEOUT_MS_RESPOND=3000 +CONFIG_MB_MASTER_DELAY_MS_CONVERT=200 +CONFIG_MB_QUEUE_LENGTH=20 +CONFIG_MB_SERIAL_TASK_STACK_SIZE=4096 +CONFIG_MB_SERIAL_BUF_SIZE=256 +CONFIG_MB_SERIAL_TASK_PRIO=10 +CONFIG_MB_CONTROLLER_SLAVE_ID_SUPPORT=y +CONFIG_MB_CONTROLLER_SLAVE_ID=0x00112233 +CONFIG_MB_CONTROLLER_NOTIFY_TIMEOUT=20 +CONFIG_MB_CONTROLLER_NOTIFY_QUEUE_SIZE=20 +CONFIG_MB_CONTROLLER_STACK_SIZE=4096 +CONFIG_MB_EVENT_QUEUE_TIMEOUT=20 +# CONFIG_MB_TIMER_PORT_ENABLED is not set +# End of deprecated options diff --git a/sdkconfig.Wemos-D1-Mini-ESP32 b/sdkconfig.Wemos-D1-Mini-ESP32 new file mode 100644 index 00000000..dc402bf4 --- /dev/null +++ b/sdkconfig.Wemos-D1-Mini-ESP32 @@ -0,0 +1,4185 @@ +# +# Automatically generated file. DO NOT EDIT. +# Espressif IoT Development Framework (ESP-IDF) 5.5.4 Project Configuration +# +# default: +CONFIG_SOC_CAPS_ECO_VER_MAX=301 +# default: +CONFIG_SOC_ADC_SUPPORTED=y +# default: +CONFIG_SOC_DAC_SUPPORTED=y +# default: +CONFIG_SOC_UART_SUPPORTED=y +# default: +CONFIG_SOC_MCPWM_SUPPORTED=y +# default: +CONFIG_SOC_GPTIMER_SUPPORTED=y +# default: +CONFIG_SOC_SDMMC_HOST_SUPPORTED=y +# default: +CONFIG_SOC_BT_SUPPORTED=y +# default: +CONFIG_SOC_PCNT_SUPPORTED=y +# default: +CONFIG_SOC_PHY_SUPPORTED=y +# default: +CONFIG_SOC_WIFI_SUPPORTED=y +# default: +CONFIG_SOC_SDIO_SLAVE_SUPPORTED=y +# default: +CONFIG_SOC_TWAI_SUPPORTED=y +# default: +CONFIG_SOC_EFUSE_SUPPORTED=y +# default: +CONFIG_SOC_EMAC_SUPPORTED=y +# default: +CONFIG_SOC_ULP_SUPPORTED=y +# default: +CONFIG_SOC_CCOMP_TIMER_SUPPORTED=y +# default: +CONFIG_SOC_RTC_FAST_MEM_SUPPORTED=y +# default: +CONFIG_SOC_RTC_SLOW_MEM_SUPPORTED=y +# default: +CONFIG_SOC_RTC_MEM_SUPPORTED=y +# default: +CONFIG_SOC_I2S_SUPPORTED=y +# default: +CONFIG_SOC_RMT_SUPPORTED=y +# default: +CONFIG_SOC_SDM_SUPPORTED=y +# default: +CONFIG_SOC_GPSPI_SUPPORTED=y +# default: +CONFIG_SOC_LEDC_SUPPORTED=y +# default: +CONFIG_SOC_I2C_SUPPORTED=y +# default: +CONFIG_SOC_SUPPORT_COEXISTENCE=y +# default: +CONFIG_SOC_AES_SUPPORTED=y +# default: +CONFIG_SOC_MPI_SUPPORTED=y +# default: +CONFIG_SOC_SHA_SUPPORTED=y +# default: +CONFIG_SOC_FLASH_ENC_SUPPORTED=y +# default: +CONFIG_SOC_SECURE_BOOT_SUPPORTED=y +# default: +CONFIG_SOC_TOUCH_SENSOR_SUPPORTED=y +# default: +CONFIG_SOC_BOD_SUPPORTED=y +# default: +CONFIG_SOC_ULP_FSM_SUPPORTED=y +# default: +CONFIG_SOC_CLK_TREE_SUPPORTED=y +# default: +CONFIG_SOC_MPU_SUPPORTED=y +# default: +CONFIG_SOC_WDT_SUPPORTED=y +# default: +CONFIG_SOC_SPI_FLASH_SUPPORTED=y +# default: +CONFIG_SOC_RNG_SUPPORTED=y +# default: +CONFIG_SOC_LIGHT_SLEEP_SUPPORTED=y +# default: +CONFIG_SOC_DEEP_SLEEP_SUPPORTED=y +# default: +CONFIG_SOC_LP_PERIPH_SHARE_INTERRUPT=y +# default: +CONFIG_SOC_PM_SUPPORTED=y +# default: +CONFIG_SOC_DPORT_WORKAROUND_DIS_INTERRUPT_LVL=5 +# default: +CONFIG_SOC_XTAL_SUPPORT_26M=y +# default: +CONFIG_SOC_XTAL_SUPPORT_40M=y +# default: +CONFIG_SOC_XTAL_SUPPORT_AUTO_DETECT=y +# default: +CONFIG_SOC_ADC_RTC_CTRL_SUPPORTED=y +# default: +CONFIG_SOC_ADC_DIG_CTRL_SUPPORTED=y +# default: +CONFIG_SOC_ADC_DMA_SUPPORTED=y +# default: +CONFIG_SOC_ADC_PERIPH_NUM=2 +# default: +CONFIG_SOC_ADC_MAX_CHANNEL_NUM=10 +# default: +CONFIG_SOC_ADC_ATTEN_NUM=4 +# default: +CONFIG_SOC_ADC_DIGI_CONTROLLER_NUM=2 +# default: +CONFIG_SOC_ADC_PATT_LEN_MAX=16 +# default: +CONFIG_SOC_ADC_DIGI_MIN_BITWIDTH=9 +# default: +CONFIG_SOC_ADC_DIGI_MAX_BITWIDTH=12 +# default: +CONFIG_SOC_ADC_DIGI_RESULT_BYTES=2 +# default: +CONFIG_SOC_ADC_DIGI_DATA_BYTES_PER_CONV=4 +# default: +CONFIG_SOC_ADC_DIGI_MONITOR_NUM=0 +# default: +CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_HIGH=2 +# default: +CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_LOW=20 +# default: +CONFIG_SOC_ADC_RTC_MIN_BITWIDTH=9 +# default: +CONFIG_SOC_ADC_RTC_MAX_BITWIDTH=12 +# default: +CONFIG_SOC_ADC_SHARED_POWER=y +# default: +CONFIG_SOC_BROWNOUT_RESET_SUPPORTED=y +# default: +CONFIG_SOC_SHARED_IDCACHE_SUPPORTED=y +# default: +CONFIG_SOC_IDCACHE_PER_CORE=y +# default: +CONFIG_SOC_CPU_CORES_NUM=2 +# default: +CONFIG_SOC_CPU_INTR_NUM=32 +# default: +CONFIG_SOC_CPU_HAS_FPU=y +# default: +CONFIG_SOC_HP_CPU_HAS_MULTIPLE_CORES=y +# default: +CONFIG_SOC_CPU_BREAKPOINTS_NUM=2 +# default: +CONFIG_SOC_CPU_WATCHPOINTS_NUM=2 +# default: +CONFIG_SOC_CPU_WATCHPOINT_MAX_REGION_SIZE=0x40 +# default: +CONFIG_SOC_DAC_CHAN_NUM=2 +# default: +CONFIG_SOC_DAC_RESOLUTION=8 +# default: +CONFIG_SOC_DAC_DMA_16BIT_ALIGN=y +# default: +CONFIG_SOC_GPIO_PORT=1 +# default: +CONFIG_SOC_GPIO_PIN_COUNT=40 +# default: +CONFIG_SOC_GPIO_VALID_GPIO_MASK=0xFFFFFFFFFF +# default: +CONFIG_SOC_GPIO_IN_RANGE_MAX=39 +# default: +CONFIG_SOC_GPIO_OUT_RANGE_MAX=33 +# default: +CONFIG_SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK=0xEF0FEA +# default: +CONFIG_SOC_GPIO_CLOCKOUT_BY_IO_MUX=y +# default: +CONFIG_SOC_GPIO_CLOCKOUT_CHANNEL_NUM=3 +# default: +CONFIG_SOC_I2C_NUM=2 +# default: +CONFIG_SOC_HP_I2C_NUM=2 +# default: +CONFIG_SOC_I2C_FIFO_LEN=32 +# default: +CONFIG_SOC_I2C_CMD_REG_NUM=16 +# default: +CONFIG_SOC_I2C_SUPPORT_SLAVE=y +# default: +CONFIG_SOC_I2C_SUPPORT_APB=y +# default: +CONFIG_SOC_I2C_SUPPORT_10BIT_ADDR=y +# default: +CONFIG_SOC_I2C_STOP_INDEPENDENT=y +# default: +CONFIG_SOC_I2S_NUM=2 +# default: +CONFIG_SOC_I2S_HW_VERSION_1=y +# default: +CONFIG_SOC_I2S_SUPPORTS_APLL=y +# default: +CONFIG_SOC_I2S_SUPPORTS_PLL_F160M=y +# default: +CONFIG_SOC_I2S_SUPPORTS_PDM=y +# default: +CONFIG_SOC_I2S_SUPPORTS_PDM_TX=y +# default: +CONFIG_SOC_I2S_SUPPORTS_PCM2PDM=y +# default: +CONFIG_SOC_I2S_SUPPORTS_PDM_RX=y +# default: +CONFIG_SOC_I2S_SUPPORTS_PDM2PCM=y +# default: +CONFIG_SOC_I2S_PDM_MAX_TX_LINES=1 +# default: +CONFIG_SOC_I2S_PDM_MAX_RX_LINES=1 +# default: +CONFIG_SOC_I2S_SUPPORTS_ADC_DAC=y +# default: +CONFIG_SOC_I2S_SUPPORTS_ADC=y +# default: +CONFIG_SOC_I2S_SUPPORTS_DAC=y +# default: +CONFIG_SOC_I2S_SUPPORTS_LCD_CAMERA=y +# default: +CONFIG_SOC_I2S_MAX_DATA_WIDTH=24 +# default: +CONFIG_SOC_I2S_TRANS_SIZE_ALIGN_WORD=y +# default: +CONFIG_SOC_I2S_LCD_I80_VARIANT=y +# default: +CONFIG_SOC_LCD_I80_SUPPORTED=y +# default: +CONFIG_SOC_LCD_I80_BUSES=2 +# default: +CONFIG_SOC_LCD_I80_BUS_WIDTH=24 +# default: +CONFIG_SOC_LEDC_HAS_TIMER_SPECIFIC_MUX=y +# default: +CONFIG_SOC_LEDC_SUPPORT_APB_CLOCK=y +# default: +CONFIG_SOC_LEDC_SUPPORT_REF_TICK=y +# default: +CONFIG_SOC_LEDC_SUPPORT_HS_MODE=y +# default: +CONFIG_SOC_LEDC_TIMER_NUM=4 +# default: +CONFIG_SOC_LEDC_CHANNEL_NUM=8 +# default: +CONFIG_SOC_LEDC_TIMER_BIT_WIDTH=20 +# default: +CONFIG_SOC_MCPWM_GROUPS=2 +# default: +CONFIG_SOC_MCPWM_TIMERS_PER_GROUP=3 +# default: +CONFIG_SOC_MCPWM_OPERATORS_PER_GROUP=3 +# default: +CONFIG_SOC_MCPWM_COMPARATORS_PER_OPERATOR=2 +# default: +CONFIG_SOC_MCPWM_GENERATORS_PER_OPERATOR=2 +# default: +CONFIG_SOC_MCPWM_TRIGGERS_PER_OPERATOR=2 +# default: +CONFIG_SOC_MCPWM_GPIO_FAULTS_PER_GROUP=3 +# default: +CONFIG_SOC_MCPWM_CAPTURE_TIMERS_PER_GROUP=y +# default: +CONFIG_SOC_MCPWM_CAPTURE_CHANNELS_PER_TIMER=3 +# default: +CONFIG_SOC_MCPWM_GPIO_SYNCHROS_PER_GROUP=3 +# default: +CONFIG_SOC_MMU_PERIPH_NUM=2 +# default: +CONFIG_SOC_MMU_LINEAR_ADDRESS_REGION_NUM=3 +# default: +CONFIG_SOC_MPU_MIN_REGION_SIZE=0x20000000 +# default: +CONFIG_SOC_MPU_REGIONS_MAX_NUM=8 +# default: +CONFIG_SOC_PCNT_GROUPS=1 +# default: +CONFIG_SOC_PCNT_UNITS_PER_GROUP=8 +# default: +CONFIG_SOC_PCNT_CHANNELS_PER_UNIT=2 +# default: +CONFIG_SOC_PCNT_THRES_POINT_PER_UNIT=2 +# default: +CONFIG_SOC_RMT_GROUPS=1 +# default: +CONFIG_SOC_RMT_TX_CANDIDATES_PER_GROUP=8 +# default: +CONFIG_SOC_RMT_RX_CANDIDATES_PER_GROUP=8 +# default: +CONFIG_SOC_RMT_CHANNELS_PER_GROUP=8 +# default: +CONFIG_SOC_RMT_MEM_WORDS_PER_CHANNEL=64 +# default: +CONFIG_SOC_RMT_SUPPORT_REF_TICK=y +# default: +CONFIG_SOC_RMT_SUPPORT_APB=y +# default: +CONFIG_SOC_RMT_CHANNEL_CLK_INDEPENDENT=y +# default: +CONFIG_SOC_RTCIO_PIN_COUNT=18 +# default: +CONFIG_SOC_RTCIO_INPUT_OUTPUT_SUPPORTED=y +# default: +CONFIG_SOC_RTCIO_HOLD_SUPPORTED=y +# default: +CONFIG_SOC_RTCIO_WAKE_SUPPORTED=y +# default: +CONFIG_SOC_RTC_CNTL_NEEDS_ATOMIC_ACCESS=y +# default: +CONFIG_SOC_SDM_GROUPS=1 +# default: +CONFIG_SOC_SDM_CHANNELS_PER_GROUP=8 +# default: +CONFIG_SOC_SDM_CLK_SUPPORT_APB=y +# default: +CONFIG_SOC_SPI_HD_BOTH_INOUT_SUPPORTED=y +# default: +CONFIG_SOC_SPI_AS_CS_SUPPORTED=y +# default: +CONFIG_SOC_SPI_PERIPH_NUM=3 +# default: +CONFIG_SOC_SPI_DMA_CHAN_NUM=2 +# default: +CONFIG_SOC_SPI_MAX_CS_NUM=3 +# default: +CONFIG_SOC_SPI_SUPPORT_CLK_APB=y +# default: +CONFIG_SOC_SPI_MAXIMUM_BUFFER_SIZE=64 +# default: +CONFIG_SOC_SPI_MAX_PRE_DIVIDER=8192 +# default: +CONFIG_SOC_TIMER_GROUPS=2 +# default: +CONFIG_SOC_TIMER_GROUP_TIMERS_PER_GROUP=2 +# default: +CONFIG_SOC_TIMER_GROUP_COUNTER_BIT_WIDTH=64 +# default: +CONFIG_SOC_TIMER_GROUP_TOTAL_TIMERS=4 +# default: +CONFIG_SOC_TIMER_GROUP_SUPPORT_APB=y +# default: +CONFIG_SOC_LP_TIMER_BIT_WIDTH_LO=32 +# default: +CONFIG_SOC_LP_TIMER_BIT_WIDTH_HI=16 +# default: +CONFIG_SOC_TOUCH_SENSOR_VERSION=1 +# default: +CONFIG_SOC_TOUCH_SENSOR_NUM=10 +# default: +CONFIG_SOC_TOUCH_MIN_CHAN_ID=0 +# default: +CONFIG_SOC_TOUCH_MAX_CHAN_ID=9 +# default: +CONFIG_SOC_TOUCH_SUPPORT_SLEEP_WAKEUP=y +# default: +CONFIG_SOC_TOUCH_SAMPLE_CFG_NUM=1 +# default: +CONFIG_SOC_TWAI_CONTROLLER_NUM=1 +# default: +CONFIG_SOC_TWAI_MASK_FILTER_NUM=1 +# default: +CONFIG_SOC_TWAI_BRP_MIN=2 +# default: +CONFIG_SOC_TWAI_CLK_SUPPORT_APB=y +# default: +CONFIG_SOC_TWAI_SUPPORT_MULTI_ADDRESS_LAYOUT=y +# default: +CONFIG_SOC_UART_NUM=3 +# default: +CONFIG_SOC_UART_HP_NUM=3 +# default: +CONFIG_SOC_UART_SUPPORT_APB_CLK=y +# default: +CONFIG_SOC_UART_SUPPORT_REF_TICK=y +# default: +CONFIG_SOC_UART_FIFO_LEN=128 +# default: +CONFIG_SOC_UART_BITRATE_MAX=5000000 +# default: +CONFIG_SOC_UART_WAKEUP_SUPPORT_ACTIVE_THRESH_MODE=y +# default: +CONFIG_SOC_SPIRAM_SUPPORTED=y +# default: +CONFIG_SOC_SPI_MEM_SUPPORT_CONFIG_GPIO_BY_EFUSE=y +# default: +CONFIG_SOC_SHA_SUPPORT_PARALLEL_ENG=y +# default: +CONFIG_SOC_SHA_ENDIANNESS_BE=y +# default: +CONFIG_SOC_SHA_SUPPORT_SHA1=y +# default: +CONFIG_SOC_SHA_SUPPORT_SHA256=y +# default: +CONFIG_SOC_SHA_SUPPORT_SHA384=y +# default: +CONFIG_SOC_SHA_SUPPORT_SHA512=y +# default: +CONFIG_SOC_MPI_MEM_BLOCKS_NUM=4 +# default: +CONFIG_SOC_MPI_OPERATIONS_NUM=1 +# default: +CONFIG_SOC_RSA_MAX_BIT_LEN=4096 +# default: +CONFIG_SOC_AES_SUPPORT_AES_128=y +# default: +CONFIG_SOC_AES_SUPPORT_AES_192=y +# default: +CONFIG_SOC_AES_SUPPORT_AES_256=y +# default: +CONFIG_SOC_SECURE_BOOT_V1=y +# default: +CONFIG_SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS=1 +# default: +CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX=32 +# default: +CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE=21 +# default: +CONFIG_SOC_PM_SUPPORT_EXT0_WAKEUP=y +# default: +CONFIG_SOC_PM_SUPPORT_EXT1_WAKEUP=y +# default: +CONFIG_SOC_PM_SUPPORT_EXT_WAKEUP=y +# default: +CONFIG_SOC_PM_SUPPORT_TOUCH_SENSOR_WAKEUP=y +# default: +CONFIG_SOC_PM_SUPPORT_RTC_PERIPH_PD=y +# default: +CONFIG_SOC_PM_SUPPORT_RTC_FAST_MEM_PD=y +# default: +CONFIG_SOC_PM_SUPPORT_RTC_SLOW_MEM_PD=y +# default: +CONFIG_SOC_PM_SUPPORT_RC_FAST_PD=y +# default: +CONFIG_SOC_PM_SUPPORT_VDDSDIO_PD=y +# default: +CONFIG_SOC_PM_SUPPORT_MODEM_PD=y +# default: +CONFIG_SOC_CONFIGURABLE_VDDSDIO_SUPPORTED=y +# default: +CONFIG_SOC_PM_MODEM_PD_BY_SW=y +# default: +CONFIG_SOC_CLK_APLL_SUPPORTED=y +# default: +CONFIG_SOC_CLK_RC_FAST_D256_SUPPORTED=y +# default: +CONFIG_SOC_RTC_SLOW_CLK_SUPPORT_RC_FAST_D256=y +# default: +CONFIG_SOC_CLK_RC_FAST_SUPPORT_CALIBRATION=y +# default: +CONFIG_SOC_CLK_XTAL32K_SUPPORTED=y +# default: +CONFIG_SOC_CLK_LP_FAST_SUPPORT_XTAL_D4=y +# default: +CONFIG_SOC_SDMMC_USE_IOMUX=y +# default: +CONFIG_SOC_SDMMC_NUM_SLOTS=2 +# default: +CONFIG_SOC_WIFI_WAPI_SUPPORT=y +# default: +CONFIG_SOC_WIFI_CSI_SUPPORT=y +# default: +CONFIG_SOC_WIFI_MESH_SUPPORT=y +# default: +CONFIG_SOC_WIFI_SUPPORT_VARIABLE_BEACON_WINDOW=y +# default: +CONFIG_SOC_WIFI_NAN_SUPPORT=y +# default: +CONFIG_SOC_BLE_SUPPORTED=y +# default: +CONFIG_SOC_BLE_MESH_SUPPORTED=y +# default: +CONFIG_SOC_BT_CLASSIC_SUPPORTED=y +# default: +CONFIG_SOC_BLUFI_SUPPORTED=y +# default: +CONFIG_SOC_BT_H2C_ENC_KEY_CTRL_ENH_VSC_SUPPORTED=y +# default: +CONFIG_SOC_BLE_MULTI_CONN_OPTIMIZATION=y +# default: +CONFIG_SOC_ULP_HAS_ADC=y +# default: +CONFIG_SOC_PHY_COMBO_MODULE=y +# default: +CONFIG_SOC_EMAC_RMII_CLK_OUT_INTERNAL_LOOPBACK=y +# default: +CONFIG_IDF_CMAKE=y +# default: +CONFIG_IDF_TOOLCHAIN="gcc" +# default: +CONFIG_IDF_TOOLCHAIN_GCC=y +# default: +CONFIG_IDF_TARGET_ARCH_XTENSA=y +# default: +CONFIG_IDF_TARGET_ARCH="xtensa" +# default: +CONFIG_IDF_TARGET="esp32" +# default: +CONFIG_IDF_INIT_VERSION="5.5.4" +# default: +CONFIG_IDF_TARGET_ESP32=y +# default: +CONFIG_IDF_FIRMWARE_CHIP_ID=0x0000 + +# +# Build type +# +# default: +CONFIG_APP_BUILD_TYPE_APP_2NDBOOT=y +# default: +# CONFIG_APP_BUILD_TYPE_RAM is not set +# default: +CONFIG_APP_BUILD_GENERATE_BINARIES=y +# default: +CONFIG_APP_BUILD_BOOTLOADER=y +# default: +CONFIG_APP_BUILD_USE_FLASH_SECTIONS=y +# default: +# CONFIG_APP_REPRODUCIBLE_BUILD is not set +# default: +# CONFIG_APP_NO_BLOBS is not set +# default: +# CONFIG_APP_COMPATIBLE_PRE_V2_1_BOOTLOADERS is not set +# default: +# CONFIG_APP_COMPATIBLE_PRE_V3_1_BOOTLOADERS is not set +# end of Build type + +# +# Bootloader config +# + +# +# Bootloader manager +# +# default: +CONFIG_BOOTLOADER_COMPILE_TIME_DATE=y +# default: +CONFIG_BOOTLOADER_PROJECT_VER=1 +# end of Bootloader manager + +# +# Application Rollback +# +# default: +# CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE is not set +# end of Application Rollback + +# +# Recovery Bootloader and Rollback +# +# end of Recovery Bootloader and Rollback + +# default: +CONFIG_BOOTLOADER_OFFSET_IN_FLASH=0x1000 +# default: +CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y +# default: +# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_DEBUG is not set +# default: +# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_PERF is not set +# default: +# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_NONE is not set + +# +# Log +# +# default: +CONFIG_BOOTLOADER_LOG_VERSION_1=y +# default: +CONFIG_BOOTLOADER_LOG_VERSION=1 +# default: +# CONFIG_BOOTLOADER_LOG_LEVEL_NONE is not set +# default: +# CONFIG_BOOTLOADER_LOG_LEVEL_ERROR is not set +# default: +# CONFIG_BOOTLOADER_LOG_LEVEL_WARN is not set +# default: +CONFIG_BOOTLOADER_LOG_LEVEL_INFO=y +# default: +# CONFIG_BOOTLOADER_LOG_LEVEL_DEBUG is not set +# default: +# CONFIG_BOOTLOADER_LOG_LEVEL_VERBOSE is not set +# default: +CONFIG_BOOTLOADER_LOG_LEVEL=3 + +# +# Format +# +# default: +# CONFIG_BOOTLOADER_LOG_COLORS is not set +# default: +CONFIG_BOOTLOADER_LOG_TIMESTAMP_SOURCE_CPU_TICKS=y +# end of Format + +# +# Settings +# +# default: +CONFIG_BOOTLOADER_LOG_MODE_TEXT_EN=y +# default: +CONFIG_BOOTLOADER_LOG_MODE_TEXT=y +# end of Settings +# end of Log + +# +# Serial Flash Configurations +# +# default: +# CONFIG_BOOTLOADER_FLASH_DC_AWARE is not set +# default: +CONFIG_BOOTLOADER_FLASH_XMC_SUPPORT=y +# end of Serial Flash Configurations + +# default: +# CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_8V is not set +# default: +CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_9V=y +# default: +# CONFIG_BOOTLOADER_FACTORY_RESET is not set +# default: +# CONFIG_BOOTLOADER_APP_TEST is not set +# default: +CONFIG_BOOTLOADER_REGION_PROTECTION_ENABLE=y +# default: +CONFIG_BOOTLOADER_WDT_ENABLE=y +# default: +# CONFIG_BOOTLOADER_WDT_DISABLE_IN_USER_CODE is not set +# default: +CONFIG_BOOTLOADER_WDT_TIME_MS=9000 +# default: +# CONFIG_BOOTLOADER_SKIP_VALIDATE_IN_DEEP_SLEEP is not set +# default: +# CONFIG_BOOTLOADER_SKIP_VALIDATE_ON_POWER_ON is not set +# default: +# CONFIG_BOOTLOADER_SKIP_VALIDATE_ALWAYS is not set +# default: +CONFIG_BOOTLOADER_RESERVE_RTC_SIZE=0 +# default: +# CONFIG_BOOTLOADER_CUSTOM_RESERVE_RTC is not set +# end of Bootloader config + +# +# Security features +# +# default: +CONFIG_SECURE_BOOT_V1_SUPPORTED=y +# default: +# CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT is not set +# default: +# CONFIG_SECURE_BOOT is not set +# default: +# CONFIG_SECURE_FLASH_ENC_ENABLED is not set +# end of Security features + +# +# Application manager +# +# default: +CONFIG_APP_COMPILE_TIME_DATE=y +# default: +# CONFIG_APP_EXCLUDE_PROJECT_VER_VAR is not set +# default: +# CONFIG_APP_EXCLUDE_PROJECT_NAME_VAR is not set +# default: +# CONFIG_APP_PROJECT_VER_FROM_CONFIG is not set +# default: +CONFIG_APP_RETRIEVE_LEN_ELF_SHA=9 +# end of Application manager + +# default: +CONFIG_ESP_ROM_HAS_CRC_LE=y +# default: +CONFIG_ESP_ROM_HAS_CRC_BE=y +# default: +CONFIG_ESP_ROM_HAS_MZ_CRC32=y +# default: +CONFIG_ESP_ROM_HAS_JPEG_DECODE=y +# default: +CONFIG_ESP_ROM_HAS_UART_BUF_SWITCH=y +# default: +CONFIG_ESP_ROM_NEEDS_SWSETUP_WORKAROUND=y +# default: +CONFIG_ESP_ROM_HAS_NEWLIB=y +# default: +CONFIG_ESP_ROM_HAS_NEWLIB_NANO_FORMAT=y +# default: +CONFIG_ESP_ROM_HAS_NEWLIB_32BIT_TIME=y +# default: +CONFIG_ESP_ROM_HAS_SW_FLOAT=y +# default: +CONFIG_ESP_ROM_USB_OTG_NUM=-1 +# default: +CONFIG_ESP_ROM_USB_SERIAL_DEVICE_NUM=-1 +# default: +CONFIG_ESP_ROM_SUPPORT_DEEP_SLEEP_WAKEUP_STUB=y +# default: +CONFIG_ESP_ROM_HAS_OUTPUT_PUTC_FUNC=y + +# +# Serial flasher config +# +# default: +# CONFIG_ESPTOOLPY_NO_STUB is not set +# default: +# CONFIG_ESPTOOLPY_FLASHMODE_QIO is not set +# default: +# CONFIG_ESPTOOLPY_FLASHMODE_QOUT is not set +# default: +CONFIG_ESPTOOLPY_FLASHMODE_DIO=y +# default: +# CONFIG_ESPTOOLPY_FLASHMODE_DOUT is not set +# default: +CONFIG_ESPTOOLPY_FLASH_SAMPLE_MODE_STR=y +# default: +CONFIG_ESPTOOLPY_FLASHMODE="dio" +# default: +# CONFIG_ESPTOOLPY_FLASHFREQ_80M is not set +# default: +CONFIG_ESPTOOLPY_FLASHFREQ_40M=y +# default: +# CONFIG_ESPTOOLPY_FLASHFREQ_26M is not set +# default: +# CONFIG_ESPTOOLPY_FLASHFREQ_20M is not set +# default: +CONFIG_ESPTOOLPY_FLASHFREQ="40m" +# default: +# CONFIG_ESPTOOLPY_FLASHSIZE_1MB is not set +# default: +CONFIG_ESPTOOLPY_FLASHSIZE_2MB=y +# default: +# CONFIG_ESPTOOLPY_FLASHSIZE_4MB is not set +# default: +# CONFIG_ESPTOOLPY_FLASHSIZE_8MB is not set +# default: +# CONFIG_ESPTOOLPY_FLASHSIZE_16MB is not set +# default: +# CONFIG_ESPTOOLPY_FLASHSIZE_32MB is not set +# default: +# CONFIG_ESPTOOLPY_FLASHSIZE_64MB is not set +# default: +# CONFIG_ESPTOOLPY_FLASHSIZE_128MB is not set +# default: +CONFIG_ESPTOOLPY_FLASHSIZE="2MB" +# default: +# CONFIG_ESPTOOLPY_HEADER_FLASHSIZE_UPDATE is not set +# default: +CONFIG_ESPTOOLPY_BEFORE_RESET=y +# default: +# CONFIG_ESPTOOLPY_BEFORE_NORESET is not set +# default: +CONFIG_ESPTOOLPY_BEFORE="default_reset" +# default: +CONFIG_ESPTOOLPY_AFTER_RESET=y +# default: +# CONFIG_ESPTOOLPY_AFTER_NORESET is not set +# default: +CONFIG_ESPTOOLPY_AFTER="hard_reset" +# default: +CONFIG_ESPTOOLPY_MONITOR_BAUD=115200 +# end of Serial flasher config + +# +# Partition Table +# +# default: +CONFIG_PARTITION_TABLE_SINGLE_APP=y +# default: +# CONFIG_PARTITION_TABLE_SINGLE_APP_LARGE is not set +# default: +# CONFIG_PARTITION_TABLE_TWO_OTA is not set +# default: +# CONFIG_PARTITION_TABLE_TWO_OTA_LARGE is not set +# default: +# CONFIG_PARTITION_TABLE_CUSTOM is not set +# default: +CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv" +# default: +CONFIG_PARTITION_TABLE_FILENAME="partitions_singleapp.csv" +# default: +CONFIG_PARTITION_TABLE_OFFSET=0x8000 +# default: +CONFIG_PARTITION_TABLE_MD5=y +# end of Partition Table + +# +# Arduino Configuration +# +# default: +CONFIG_ARDUINO_VARIANT="esp32" +# default: +CONFIG_ENABLE_ARDUINO_DEPENDS=y +CONFIG_AUTOSTART_ARDUINO=y +# default: +# CONFIG_ARDUINO_RUN_CORE0 is not set +# default: +CONFIG_ARDUINO_RUN_CORE1=y +# default: +# CONFIG_ARDUINO_RUN_NO_AFFINITY is not set +# default: +CONFIG_ARDUINO_RUNNING_CORE=1 +# default: +CONFIG_ARDUINO_LOOP_STACK_SIZE=8192 +# default: +# CONFIG_ARDUINO_EVENT_RUN_CORE0 is not set +# default: +CONFIG_ARDUINO_EVENT_RUN_CORE1=y +# default: +# CONFIG_ARDUINO_EVENT_RUN_NO_AFFINITY is not set +# default: +CONFIG_ARDUINO_EVENT_RUNNING_CORE=1 +# default: +# CONFIG_ARDUINO_SERIAL_EVENT_RUN_CORE0 is not set +# default: +# CONFIG_ARDUINO_SERIAL_EVENT_RUN_CORE1 is not set +# default: +CONFIG_ARDUINO_SERIAL_EVENT_RUN_NO_AFFINITY=y +# default: +CONFIG_ARDUINO_SERIAL_EVENT_TASK_RUNNING_CORE=-1 +# default: +CONFIG_ARDUINO_SERIAL_EVENT_TASK_STACK_SIZE=2048 +# default: +CONFIG_ARDUINO_SERIAL_EVENT_TASK_PRIORITY=24 +# default: +CONFIG_ARDUINO_UDP_RUN_CORE0=y +# default: +# CONFIG_ARDUINO_UDP_RUN_CORE1 is not set +# default: +# CONFIG_ARDUINO_UDP_RUN_NO_AFFINITY is not set +# default: +CONFIG_ARDUINO_UDP_RUNNING_CORE=0 +# default: +CONFIG_ARDUINO_UDP_TASK_PRIORITY=3 +# default: +CONFIG_ARDUINO_UDP_TASK_STACK_SIZE=4096 +# default: +# CONFIG_ARDUINO_ISR_IRAM is not set +# default: +# CONFIG_DISABLE_HAL_LOCKS is not set + +# +# Debug Log Configuration +# +# default: +# CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_NONE is not set +# default: +CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_ERROR=y +# default: +# CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_WARN is not set +# default: +# CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_INFO is not set +# default: +# CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_DEBUG is not set +# default: +# CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_VERBOSE is not set +# default: +CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL=1 +# default: +# CONFIG_ARDUHAL_LOG_COLORS is not set +# default: +# CONFIG_ARDUHAL_ESP_LOG is not set +# end of Debug Log Configuration + +# default: +CONFIG_ARDUHAL_PARTITION_SCHEME_DEFAULT=y +# default: +# CONFIG_ARDUHAL_PARTITION_SCHEME_MINIMAL is not set +# default: +# CONFIG_ARDUHAL_PARTITION_SCHEME_NO_OTA is not set +# default: +# CONFIG_ARDUHAL_PARTITION_SCHEME_HUGE_APP is not set +# default: +# CONFIG_ARDUHAL_PARTITION_SCHEME_MIN_SPIFFS is not set +# default: +CONFIG_ARDUHAL_PARTITION_SCHEME="default" +# default: +# CONFIG_AUTOCONNECT_WIFI is not set +# default: +# CONFIG_ARDUINO_SELECTIVE_COMPILATION is not set +# end of Arduino Configuration + +# +# ESP RainMaker Config +# +# default: +CONFIG_ESP_RMAKER_NO_CLAIM=y +# default: +# CONFIG_ESP_RMAKER_USE_ESP_SECURE_CERT_MGR is not set +# default: +CONFIG_ESP_RMAKER_USE_NVS=y +# default: +CONFIG_ESP_RMAKER_CLAIM_TYPE=0 +# default: +# CONFIG_ESP_RMAKER_READ_MQTT_HOST_FROM_CONFIG is not set +# default: +# CONFIG_ESP_RMAKER_READ_NODE_ID_FROM_CERT_CN is not set +# default: +CONFIG_ESP_RMAKER_MQTT_USE_BASIC_INGEST_TOPICS=y +# default: +CONFIG_ESP_RMAKER_MQTT_ENABLE_BUDGETING=y +# default: +CONFIG_ESP_RMAKER_MQTT_DEFAULT_BUDGET=100 +# default: +CONFIG_ESP_RMAKER_MQTT_MAX_BUDGET=1024 +# default: +CONFIG_ESP_RMAKER_MQTT_BUDGET_REVIVE_PERIOD=5 +# default: +CONFIG_ESP_RMAKER_MQTT_BUDGET_REVIVE_COUNT=1 +# default: +CONFIG_ESP_RMAKER_MAX_PARAM_DATA_SIZE=1024 +# default: +# CONFIG_ESP_RMAKER_DISABLE_USER_MAPPING_PROV is not set +# default: +# CONFIG_ESP_RMAKER_USER_ID_CHECK is not set +# default: +# CONFIG_RMAKER_NAME_PARAM_CB is not set +# default: +# CONFIG_ESP_RMAKER_LOCAL_CTRL_FEATURE_ENABLE is not set +# default: +# CONFIG_ESP_RMAKER_LOCAL_CTRL_AUTO_ENABLE is not set +# default: +CONFIG_ESP_RMAKER_CONSOLE_UART_NUM_0=y +# default: +# CONFIG_ESP_RMAKER_CONSOLE_UART_NUM_1 is not set +# default: +CONFIG_ESP_RMAKER_CONSOLE_UART_NUM=0 +# default: +CONFIG_ESP_RMAKER_USE_CERT_BUNDLE=y + +# +# ESP RainMaker OTA Config +# +# default: +CONFIG_ESP_RMAKER_OTA_AUTOFETCH=y +# default: +CONFIG_ESP_RMAKER_OTA_AUTOFETCH_PERIOD=0 +# default: +# CONFIG_ESP_RMAKER_SKIP_COMMON_NAME_CHECK is not set +# default: +# CONFIG_ESP_RMAKER_SKIP_VERSION_CHECK is not set +# default: +# CONFIG_ESP_RMAKER_SKIP_SECURE_VERSION_CHECK is not set +# default: +# CONFIG_ESP_RMAKER_SKIP_PROJECT_NAME_CHECK is not set +# default: +CONFIG_ESP_RMAKER_OTA_HTTP_RX_BUFFER_SIZE=1024 +# default: +CONFIG_ESP_RMAKER_OTA_ROLLBACK_WAIT_PERIOD=90 +# default: +# CONFIG_ESP_RMAKER_OTA_DISABLE_AUTO_REBOOT is not set +# default: +CONFIG_ESP_RMAKER_OTA_TIME_SUPPORT=y +# end of ESP RainMaker OTA Config + +# +# ESP RainMaker Scheduling +# +# default: +CONFIG_ESP_RMAKER_SCHEDULING_MAX_SCHEDULES=10 +# end of ESP RainMaker Scheduling + +# +# ESP RainMaker Scenes +# +# default: +CONFIG_ESP_RMAKER_SCENES_MAX_SCENES=10 +# default: +# CONFIG_ESP_RMAKER_SCENES_DEACTIVATE_SUPPORT is not set +# end of ESP RainMaker Scenes + +# +# ESP RainMaker Command-Response +# +# default: +CONFIG_ESP_RMAKER_CMD_RESP_ENABLE=y +# default: +# CONFIG_ESP_RMAKER_CMD_RESP_TEST_ENABLE is not set +# end of ESP RainMaker Command-Response + +# default: +CONFIG_ESP_RMAKER_USING_NETWORK_PROV=y +# end of ESP RainMaker Config + +# +# Compiler options +# +# default: +CONFIG_COMPILER_OPTIMIZATION_DEBUG=y +# default: +# CONFIG_COMPILER_OPTIMIZATION_SIZE is not set +# default: +# CONFIG_COMPILER_OPTIMIZATION_PERF is not set +# default: +# CONFIG_COMPILER_OPTIMIZATION_NONE is not set +# default: +CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE=y +# default: +# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT is not set +# default: +# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE is not set +# default: +CONFIG_COMPILER_ASSERT_NDEBUG_EVALUATE=y +# default: +CONFIG_COMPILER_FLOAT_LIB_FROM_GCCLIB=y +# default: +CONFIG_COMPILER_OPTIMIZATION_ASSERTION_LEVEL=2 +# default: +# CONFIG_COMPILER_OPTIMIZATION_CHECKS_SILENT is not set +# default: +CONFIG_COMPILER_HIDE_PATHS_MACROS=y +# CONFIG_COMPILER_CXX_EXCEPTIONS is not set +# default: +# CONFIG_COMPILER_CXX_RTTI is not set +# default: +CONFIG_COMPILER_STACK_CHECK_MODE_NONE=y +# default: +# CONFIG_COMPILER_STACK_CHECK_MODE_NORM is not set +# default: +# CONFIG_COMPILER_STACK_CHECK_MODE_STRONG is not set +# default: +# CONFIG_COMPILER_STACK_CHECK_MODE_ALL is not set +# default: +# CONFIG_COMPILER_NO_MERGE_CONSTANTS is not set +# default: +# CONFIG_COMPILER_WARN_WRITE_STRINGS is not set +# default: +CONFIG_COMPILER_DISABLE_DEFAULT_ERRORS=y +# default: +# CONFIG_COMPILER_DISABLE_GCC12_WARNINGS is not set +# default: +# CONFIG_COMPILER_DISABLE_GCC13_WARNINGS is not set +# default: +# CONFIG_COMPILER_DISABLE_GCC14_WARNINGS is not set +# default: +# CONFIG_COMPILER_DUMP_RTL_FILES is not set +# default: +CONFIG_COMPILER_RT_LIB_GCCLIB=y +# default: +CONFIG_COMPILER_RT_LIB_NAME="gcc" +# default: +CONFIG_COMPILER_ORPHAN_SECTIONS_WARNING=y +# default: +# CONFIG_COMPILER_ORPHAN_SECTIONS_PLACE is not set +# default: +# CONFIG_COMPILER_STATIC_ANALYZER is not set +# end of Compiler options + +# +# Component config +# + +# +# Application Level Tracing +# +# default: +# CONFIG_APPTRACE_DEST_JTAG is not set +# default: +CONFIG_APPTRACE_DEST_NONE=y +# default: +# CONFIG_APPTRACE_DEST_UART1 is not set +# default: +# CONFIG_APPTRACE_DEST_UART2 is not set +# default: +CONFIG_APPTRACE_DEST_UART_NONE=y +# default: +CONFIG_APPTRACE_UART_TASK_PRIO=1 +# default: +CONFIG_APPTRACE_LOCK_ENABLE=y +# end of Application Level Tracing + +# +# Bluetooth +# +# default: +# CONFIG_BT_ENABLED is not set + +# +# Common Options +# + +# +# BLE Log +# +# default: +# CONFIG_BLE_LOG_ENABLED is not set +# end of BLE Log + +# default: +# CONFIG_BT_BLE_LOG_SPI_OUT_ENABLED is not set +# default: +# CONFIG_BT_BLE_LOG_UHCI_OUT_ENABLED is not set +# default: +# CONFIG_BT_LE_USED_MEM_STATISTICS_ENABLED is not set +# end of Common Options +# end of Bluetooth + +# +# Console Library +# +# default: +# CONFIG_CONSOLE_SORTED_HELP is not set +# end of Console Library + +# +# Driver Configurations +# + +# +# Legacy TWAI Driver Configurations +# +# default: +# CONFIG_TWAI_SKIP_LEGACY_CONFLICT_CHECK is not set +# default: +CONFIG_TWAI_ERRATA_FIX_BUS_OFF_REC=y +# default: +CONFIG_TWAI_ERRATA_FIX_TX_INTR_LOST=y +# default: +CONFIG_TWAI_ERRATA_FIX_RX_FRAME_INVALID=y +# default: +CONFIG_TWAI_ERRATA_FIX_RX_FIFO_CORRUPT=y +# default: +CONFIG_TWAI_ERRATA_FIX_LISTEN_ONLY_DOM=y +# end of Legacy TWAI Driver Configurations + +# +# Legacy ADC Driver Configuration +# +# default: +CONFIG_ADC_DISABLE_DAC=y +# default: +# CONFIG_ADC_SUPPRESS_DEPRECATE_WARN is not set +# default: +# CONFIG_ADC_SKIP_LEGACY_CONFLICT_CHECK is not set + +# +# Legacy ADC Calibration Configuration +# +# default: +CONFIG_ADC_CAL_EFUSE_TP_ENABLE=y +# default: +CONFIG_ADC_CAL_EFUSE_VREF_ENABLE=y +# default: +CONFIG_ADC_CAL_LUT_ENABLE=y +# default: +# CONFIG_ADC_CALI_SUPPRESS_DEPRECATE_WARN is not set +# end of Legacy ADC Calibration Configuration +# end of Legacy ADC Driver Configuration + +# +# Legacy DAC Driver Configurations +# +# default: +# CONFIG_DAC_SUPPRESS_DEPRECATE_WARN is not set +# default: +# CONFIG_DAC_SKIP_LEGACY_CONFLICT_CHECK is not set +# end of Legacy DAC Driver Configurations + +# +# Legacy MCPWM Driver Configurations +# +# default: +# CONFIG_MCPWM_SUPPRESS_DEPRECATE_WARN is not set +# default: +# CONFIG_MCPWM_SKIP_LEGACY_CONFLICT_CHECK is not set +# end of Legacy MCPWM Driver Configurations + +# +# Legacy Timer Group Driver Configurations +# +# default: +# CONFIG_GPTIMER_SUPPRESS_DEPRECATE_WARN is not set +# default: +# CONFIG_GPTIMER_SKIP_LEGACY_CONFLICT_CHECK is not set +# end of Legacy Timer Group Driver Configurations + +# +# Legacy RMT Driver Configurations +# +# default: +# CONFIG_RMT_SUPPRESS_DEPRECATE_WARN is not set +# default: +# CONFIG_RMT_SKIP_LEGACY_CONFLICT_CHECK is not set +# end of Legacy RMT Driver Configurations + +# +# Legacy I2S Driver Configurations +# +# default: +# CONFIG_I2S_SUPPRESS_DEPRECATE_WARN is not set +# default: +# CONFIG_I2S_SKIP_LEGACY_CONFLICT_CHECK is not set +# end of Legacy I2S Driver Configurations + +# +# Legacy I2C Driver Configurations +# +# default: +# CONFIG_I2C_SKIP_LEGACY_CONFLICT_CHECK is not set +# end of Legacy I2C Driver Configurations + +# +# Legacy PCNT Driver Configurations +# +# default: +# CONFIG_PCNT_SUPPRESS_DEPRECATE_WARN is not set +# default: +# CONFIG_PCNT_SKIP_LEGACY_CONFLICT_CHECK is not set +# end of Legacy PCNT Driver Configurations + +# +# Legacy SDM Driver Configurations +# +# default: +# CONFIG_SDM_SUPPRESS_DEPRECATE_WARN is not set +# default: +# CONFIG_SDM_SKIP_LEGACY_CONFLICT_CHECK is not set +# end of Legacy SDM Driver Configurations + +# +# Legacy Touch Sensor Driver Configurations +# +# default: +# CONFIG_TOUCH_SUPPRESS_DEPRECATE_WARN is not set +# default: +# CONFIG_TOUCH_SKIP_LEGACY_CONFLICT_CHECK is not set +# end of Legacy Touch Sensor Driver Configurations +# end of Driver Configurations + +# +# eFuse Bit Manager +# +# default: +# CONFIG_EFUSE_CUSTOM_TABLE is not set +# default: +# CONFIG_EFUSE_VIRTUAL is not set +# default: +# CONFIG_EFUSE_CODE_SCHEME_COMPAT_NONE is not set +# default: +CONFIG_EFUSE_CODE_SCHEME_COMPAT_3_4=y +# default: +# CONFIG_EFUSE_CODE_SCHEME_COMPAT_REPEAT is not set +# default: +CONFIG_EFUSE_MAX_BLK_LEN=192 +# end of eFuse Bit Manager + +# +# ESP-TLS +# +# default: +CONFIG_ESP_TLS_USING_MBEDTLS=y +# default: +# CONFIG_ESP_TLS_USE_SECURE_ELEMENT is not set +# default: +# CONFIG_ESP_TLS_CLIENT_SESSION_TICKETS is not set +# default: +# CONFIG_ESP_TLS_SERVER_SESSION_TICKETS is not set +# default: +# CONFIG_ESP_TLS_SERVER_CERT_SELECT_HOOK is not set +# default: +# CONFIG_ESP_TLS_SERVER_MIN_AUTH_MODE_OPTIONAL is not set +# default: +# CONFIG_ESP_TLS_PSK_VERIFICATION is not set +# default: +# CONFIG_ESP_TLS_INSECURE is not set +# default: +CONFIG_ESP_TLS_DYN_BUF_STRATEGY_SUPPORTED=y +# end of ESP-TLS + +# +# ADC and ADC Calibration +# +# default: +# CONFIG_ADC_ONESHOT_CTRL_FUNC_IN_IRAM is not set +# default: +# CONFIG_ADC_CONTINUOUS_ISR_IRAM_SAFE is not set + +# +# ADC Calibration Configurations +# +# default: +CONFIG_ADC_CALI_EFUSE_TP_ENABLE=y +# default: +CONFIG_ADC_CALI_EFUSE_VREF_ENABLE=y +# default: +CONFIG_ADC_CALI_LUT_ENABLE=y +# end of ADC Calibration Configurations + +# default: +CONFIG_ADC_DISABLE_DAC_OUTPUT=y +# default: +# CONFIG_ADC_ENABLE_DEBUG_LOG is not set +# end of ADC and ADC Calibration + +# +# Wireless Coexistence +# +# default: +CONFIG_ESP_COEX_ENABLED=y +# default: +# CONFIG_ESP_COEX_GPIO_DEBUG is not set +# end of Wireless Coexistence + +# +# Common ESP-related +# +# default: +CONFIG_ESP_ERR_TO_NAME_LOOKUP=y +# end of Common ESP-related + +# +# ESP-Driver:DAC Configurations +# +# default: +# CONFIG_DAC_CTRL_FUNC_IN_IRAM is not set +# default: +# CONFIG_DAC_ISR_IRAM_SAFE is not set +# default: +# CONFIG_DAC_ENABLE_DEBUG_LOG is not set +# default: +CONFIG_DAC_DMA_AUTO_16BIT_ALIGN=y +# end of ESP-Driver:DAC Configurations + +# +# ESP-Driver:GPIO Configurations +# +# default: +# CONFIG_GPIO_ESP32_SUPPORT_SWITCH_SLP_PULL is not set +# default: +# CONFIG_GPIO_CTRL_FUNC_IN_IRAM is not set +# end of ESP-Driver:GPIO Configurations + +# +# ESP-Driver:GPTimer Configurations +# +# default: +CONFIG_GPTIMER_ISR_HANDLER_IN_IRAM=y +# default: +# CONFIG_GPTIMER_CTRL_FUNC_IN_IRAM is not set +# default: +# CONFIG_GPTIMER_ISR_CACHE_SAFE is not set +# default: +CONFIG_GPTIMER_OBJ_CACHE_SAFE=y +# default: +# CONFIG_GPTIMER_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:GPTimer Configurations + +# +# ESP-Driver:I2C Configurations +# +# default: +# CONFIG_I2C_ISR_IRAM_SAFE is not set +# default: +# CONFIG_I2C_ENABLE_DEBUG_LOG is not set +# default: +# CONFIG_I2C_ENABLE_SLAVE_DRIVER_VERSION_2 is not set +# default: +CONFIG_I2C_MASTER_ISR_HANDLER_IN_IRAM=y +# end of ESP-Driver:I2C Configurations + +# +# ESP-Driver:I2S Configurations +# +# default: +# CONFIG_I2S_ISR_IRAM_SAFE is not set +# default: +# CONFIG_I2S_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:I2S Configurations + +# +# ESP-Driver:LEDC Configurations +# +# default: +# CONFIG_LEDC_CTRL_FUNC_IN_IRAM is not set +# end of ESP-Driver:LEDC Configurations + +# +# ESP-Driver:MCPWM Configurations +# +# default: +CONFIG_MCPWM_ISR_HANDLER_IN_IRAM=y +# default: +# CONFIG_MCPWM_ISR_CACHE_SAFE is not set +# default: +# CONFIG_MCPWM_CTRL_FUNC_IN_IRAM is not set +# default: +CONFIG_MCPWM_OBJ_CACHE_SAFE=y +# default: +# CONFIG_MCPWM_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:MCPWM Configurations + +# +# ESP-Driver:PCNT Configurations +# +# default: +# CONFIG_PCNT_CTRL_FUNC_IN_IRAM is not set +# default: +# CONFIG_PCNT_ISR_IRAM_SAFE is not set +# default: +# CONFIG_PCNT_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:PCNT Configurations + +# +# ESP-Driver:RMT Configurations +# +# default: +CONFIG_RMT_ENCODER_FUNC_IN_IRAM=y +# default: +CONFIG_RMT_TX_ISR_HANDLER_IN_IRAM=y +# default: +CONFIG_RMT_RX_ISR_HANDLER_IN_IRAM=y +# default: +# CONFIG_RMT_RECV_FUNC_IN_IRAM is not set +# default: +# CONFIG_RMT_TX_ISR_CACHE_SAFE is not set +# default: +# CONFIG_RMT_RX_ISR_CACHE_SAFE is not set +# default: +CONFIG_RMT_OBJ_CACHE_SAFE=y +# default: +# CONFIG_RMT_ENABLE_DEBUG_LOG is not set +# default: +# CONFIG_RMT_ISR_IRAM_SAFE is not set +# end of ESP-Driver:RMT Configurations + +# +# ESP-Driver:Sigma Delta Modulator Configurations +# +# default: +# CONFIG_SDM_CTRL_FUNC_IN_IRAM is not set +# default: +# CONFIG_SDM_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:Sigma Delta Modulator Configurations + +# +# ESP-Driver:SPI Configurations +# +# default: +# CONFIG_SPI_MASTER_IN_IRAM is not set +# default: +CONFIG_SPI_MASTER_ISR_IN_IRAM=y +# default: +# CONFIG_SPI_SLAVE_IN_IRAM is not set +# default: +CONFIG_SPI_SLAVE_ISR_IN_IRAM=y +# end of ESP-Driver:SPI Configurations + +# +# ESP-Driver:Touch Sensor Configurations +# +# default: +# CONFIG_TOUCH_CTRL_FUNC_IN_IRAM is not set +# default: +# CONFIG_TOUCH_ISR_IRAM_SAFE is not set +# default: +# CONFIG_TOUCH_ENABLE_DEBUG_LOG is not set +# default: +# CONFIG_TOUCH_SKIP_FSM_CHECK is not set +# end of ESP-Driver:Touch Sensor Configurations + +# +# ESP-Driver:TWAI Configurations +# +# default: +# CONFIG_TWAI_ISR_IN_IRAM is not set +# default: +# CONFIG_TWAI_IO_FUNC_IN_IRAM is not set +# default: +# CONFIG_TWAI_ISR_CACHE_SAFE is not set +# default: +# CONFIG_TWAI_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:TWAI Configurations + +# +# ESP-Driver:UART Configurations +# +# default: +# CONFIG_UART_ISR_IN_IRAM is not set +# end of ESP-Driver:UART Configurations + +# +# ESP-Driver:UHCI Configurations +# +# default: +# CONFIG_UHCI_ISR_HANDLER_IN_IRAM is not set +# default: +# CONFIG_UHCI_ISR_CACHE_SAFE is not set +# default: +# CONFIG_UHCI_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:UHCI Configurations + +# +# Ethernet +# +# default: +CONFIG_ETH_ENABLED=y +# default: +CONFIG_ETH_USE_ESP32_EMAC=y +# default: +CONFIG_ETH_PHY_INTERFACE_RMII=y +# default: +CONFIG_ETH_RMII_CLK_INPUT=y +# default: +# CONFIG_ETH_RMII_CLK_OUTPUT is not set +# default: +CONFIG_ETH_RMII_CLK_IN_GPIO=0 +# default: +CONFIG_ETH_DMA_BUFFER_SIZE=512 +# default: +CONFIG_ETH_DMA_RX_BUFFER_NUM=10 +# default: +CONFIG_ETH_DMA_TX_BUFFER_NUM=10 +# default: +# CONFIG_ETH_IRAM_OPTIMIZATION is not set +# default: +CONFIG_ETH_USE_SPI_ETHERNET=y +# default: +# CONFIG_ETH_SPI_ETHERNET_DM9051 is not set +# default: +# CONFIG_ETH_SPI_ETHERNET_W5500 is not set +# default: +# CONFIG_ETH_SPI_ETHERNET_KSZ8851SNL is not set +# default: +# CONFIG_ETH_USE_OPENETH is not set +# default: +# CONFIG_ETH_TRANSMIT_MUTEX is not set +# end of Ethernet + +# +# Event Loop Library +# +# default: +# CONFIG_ESP_EVENT_LOOP_PROFILING is not set +# default: +CONFIG_ESP_EVENT_POST_FROM_ISR=y +# default: +CONFIG_ESP_EVENT_POST_FROM_IRAM_ISR=y +# end of Event Loop Library + +# +# GDB Stub +# +# default: +CONFIG_ESP_GDBSTUB_ENABLED=y +# default: +# CONFIG_ESP_SYSTEM_GDBSTUB_RUNTIME is not set +# default: +CONFIG_ESP_GDBSTUB_SUPPORT_TASKS=y +# default: +CONFIG_ESP_GDBSTUB_MAX_TASKS=32 +# end of GDB Stub + +# +# ESP HID +# +# default: +CONFIG_ESPHID_TASK_SIZE_BT=2048 +# default: +CONFIG_ESPHID_TASK_SIZE_BLE=4096 +# end of ESP HID + +# +# ESP HTTP client +# +# default: +CONFIG_ESP_HTTP_CLIENT_ENABLE_HTTPS=y +# default: +# CONFIG_ESP_HTTP_CLIENT_ENABLE_BASIC_AUTH is not set +# default: +# CONFIG_ESP_HTTP_CLIENT_ENABLE_DIGEST_AUTH is not set +# default: +# CONFIG_ESP_HTTP_CLIENT_ENABLE_CUSTOM_TRANSPORT is not set +# default: +CONFIG_ESP_HTTP_CLIENT_EVENT_POST_TIMEOUT=2000 +# end of ESP HTTP client + +# +# HTTP Server +# +# default: +CONFIG_HTTPD_MAX_REQ_HDR_LEN=1024 +# default: +CONFIG_HTTPD_MAX_URI_LEN=512 +# default: +CONFIG_HTTPD_ERR_RESP_NO_DELAY=y +# default: +CONFIG_HTTPD_PURGE_BUF_LEN=32 +# default: +# CONFIG_HTTPD_LOG_PURGE_DATA is not set +# default: +# CONFIG_HTTPD_WS_SUPPORT is not set +# default: +# CONFIG_HTTPD_QUEUE_WORK_BLOCKING is not set +# default: +CONFIG_HTTPD_SERVER_EVENT_POST_TIMEOUT=2000 +# end of HTTP Server + +# +# ESP HTTPS OTA +# +# default: +# CONFIG_ESP_HTTPS_OTA_DECRYPT_CB is not set +# default: +# CONFIG_ESP_HTTPS_OTA_ALLOW_HTTP is not set +# default: +CONFIG_ESP_HTTPS_OTA_EVENT_POST_TIMEOUT=2000 +# end of ESP HTTPS OTA + +# +# ESP HTTPS server +# +# default: +# CONFIG_ESP_HTTPS_SERVER_ENABLE is not set +# default: +CONFIG_ESP_HTTPS_SERVER_EVENT_POST_TIMEOUT=2000 +# default: +# CONFIG_ESP_HTTPS_SERVER_CERT_SELECT_HOOK is not set +# end of ESP HTTPS server + +# +# Hardware Settings +# +# default: +CONFIG_ESP_HW_SUPPORT_FUNC_IN_IRAM=y + +# +# Chip revision +# +# default: +CONFIG_ESP32_REV_MIN_0=y +# default: +# CONFIG_ESP32_REV_MIN_1 is not set +# default: +# CONFIG_ESP32_REV_MIN_1_1 is not set +# default: +# CONFIG_ESP32_REV_MIN_2 is not set +# default: +# CONFIG_ESP32_REV_MIN_3 is not set +# default: +# CONFIG_ESP32_REV_MIN_3_1 is not set +# default: +CONFIG_ESP32_REV_MIN=0 +# default: +CONFIG_ESP32_REV_MIN_FULL=0 +# default: +CONFIG_ESP_REV_MIN_FULL=0 + +# +# Maximum Supported ESP32 Revision (Rev v3.99) +# +# default: +CONFIG_ESP32_REV_MAX_FULL=399 +# default: +CONFIG_ESP_REV_MAX_FULL=399 +# default: +CONFIG_ESP_EFUSE_BLOCK_REV_MIN_FULL=0 +# default: +CONFIG_ESP_EFUSE_BLOCK_REV_MAX_FULL=99 + +# +# Maximum Supported ESP32 eFuse Block Revision (eFuse Block Rev v0.99) +# +# end of Chip revision + +# +# MAC Config +# +# default: +CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_STA=y +# default: +CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_AP=y +# default: +CONFIG_ESP_MAC_ADDR_UNIVERSE_BT=y +# default: +CONFIG_ESP_MAC_ADDR_UNIVERSE_ETH=y +# default: +CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES_FOUR=y +# default: +CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES=4 +# default: +# CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_TWO is not set +# default: +CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_FOUR=y +# default: +CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES=4 +# default: +# CONFIG_ESP_MAC_IGNORE_MAC_CRC_ERROR is not set +# default: +# CONFIG_ESP_MAC_USE_CUSTOM_MAC_AS_BASE_MAC is not set +# end of MAC Config + +# +# Sleep Config +# +# default: +# CONFIG_ESP_SLEEP_POWER_DOWN_FLASH is not set +# default: +CONFIG_ESP_SLEEP_FLASH_LEAKAGE_WORKAROUND=y +# default: +# CONFIG_ESP_SLEEP_MSPI_NEED_ALL_IO_PU is not set +# default: +CONFIG_ESP_SLEEP_RTC_BUS_ISO_WORKAROUND=y +# default: +# CONFIG_ESP_SLEEP_GPIO_RESET_WORKAROUND is not set +# default: +CONFIG_ESP_SLEEP_WAIT_FLASH_READY_EXTRA_DELAY=2000 +# default: +# CONFIG_ESP_SLEEP_CACHE_SAFE_ASSERTION is not set +# default: +# CONFIG_ESP_SLEEP_DEBUG is not set +# default: +CONFIG_ESP_SLEEP_GPIO_ENABLE_INTERNAL_RESISTORS=y +# end of Sleep Config + +# +# RTC Clock Config +# +# default: +CONFIG_RTC_CLK_SRC_INT_RC=y +# default: +# CONFIG_RTC_CLK_SRC_EXT_CRYS is not set +# default: +# CONFIG_RTC_CLK_SRC_EXT_OSC is not set +# default: +# CONFIG_RTC_CLK_SRC_INT_8MD256 is not set +# default: +CONFIG_RTC_CLK_CAL_CYCLES=1024 +# default: +CONFIG_RTC_CLK_FUNC_IN_IRAM=y +# default: +CONFIG_RTC_TIME_FUNC_IN_IRAM=y +# end of RTC Clock Config + +# +# Peripheral Control +# +# default: +CONFIG_ESP_PERIPH_CTRL_FUNC_IN_IRAM=y +# default: +CONFIG_ESP_REGI2C_CTRL_FUNC_IN_IRAM=y +# end of Peripheral Control + +# +# Main XTAL Config +# +# default: +# CONFIG_XTAL_FREQ_26 is not set +# default: +# CONFIG_XTAL_FREQ_32 is not set +# default: +CONFIG_XTAL_FREQ_40=y +# default: +# CONFIG_XTAL_FREQ_AUTO is not set +# default: +CONFIG_XTAL_FREQ=40 +# end of Main XTAL Config + +# +# Power Supplier +# + +# +# Brownout Detector +# +# default: +CONFIG_ESP_BROWNOUT_DET=y +# default: +CONFIG_ESP_BROWNOUT_DET_LVL_SEL_0=y +# default: +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_1 is not set +# default: +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_2 is not set +# default: +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_3 is not set +# default: +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_4 is not set +# default: +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_5 is not set +# default: +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_6 is not set +# default: +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_7 is not set +# default: +CONFIG_ESP_BROWNOUT_DET_LVL=0 +# default: +CONFIG_ESP_BROWNOUT_USE_INTR=y +# end of Brownout Detector +# end of Power Supplier + +# default: +CONFIG_ESP_SPI_BUS_LOCK_ISR_FUNCS_IN_IRAM=y +# default: +CONFIG_ESP_INTR_IN_IRAM=y +# end of Hardware Settings + +# +# ESP-Driver:LCD Controller Configurations +# +# default: +# CONFIG_LCD_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:LCD Controller Configurations + +# +# ESP-MM: Memory Management Configurations +# +# end of ESP-MM: Memory Management Configurations + +# +# ESP NETIF Adapter +# +# default: +CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120 +# default: +# CONFIG_ESP_NETIF_PROVIDE_CUSTOM_IMPLEMENTATION is not set +# default: +CONFIG_ESP_NETIF_TCPIP_LWIP=y +# default: +# CONFIG_ESP_NETIF_LOOPBACK is not set +# default: +CONFIG_ESP_NETIF_USES_TCPIP_WITH_BSD_API=y +# default: +CONFIG_ESP_NETIF_REPORT_DATA_TRAFFIC=y +# default: +# CONFIG_ESP_NETIF_RECEIVE_REPORT_ERRORS is not set +# default: +# CONFIG_ESP_NETIF_L2_TAP is not set +# default: +# CONFIG_ESP_NETIF_BRIDGE_EN is not set +# default: +# CONFIG_ESP_NETIF_SET_DNS_PER_DEFAULT_NETIF is not set +# end of ESP NETIF Adapter + +# +# Partition API Configuration +# +# end of Partition API Configuration + +# +# PHY +# +# default: +CONFIG_ESP_PHY_ENABLED=y +# default: +CONFIG_ESP_PHY_CALIBRATION_AND_DATA_STORAGE=y +# default: +# CONFIG_ESP_PHY_INIT_DATA_IN_PARTITION is not set +# default: +CONFIG_ESP_PHY_MAX_WIFI_TX_POWER=20 +# default: +CONFIG_ESP_PHY_MAX_TX_POWER=20 +# default: +# CONFIG_ESP_PHY_REDUCE_TX_POWER is not set +# default: +# CONFIG_ESP_PHY_ENABLE_CERT_TEST is not set +# default: +CONFIG_ESP_PHY_RF_CAL_PARTIAL=y +# default: +# CONFIG_ESP_PHY_RF_CAL_NONE is not set +# default: +# CONFIG_ESP_PHY_RF_CAL_FULL is not set +# default: +CONFIG_ESP_PHY_CALIBRATION_MODE=0 +# default: +CONFIG_ESP_PHY_PLL_TRACK_PERIOD_MS=1000 +# default: +# CONFIG_ESP_PHY_PLL_TRACK_DEBUG is not set +# default: +# CONFIG_ESP_PHY_RECORD_USED_TIME is not set +# default: +CONFIG_ESP_PHY_IRAM_OPT=y +# default: +# CONFIG_ESP_PHY_DEBUG is not set +# end of PHY + +# +# Power Management +# +# default: +# CONFIG_PM_SLEEP_FUNC_IN_IRAM is not set +# default: +# CONFIG_PM_ENABLE is not set +# default: +# CONFIG_PM_SLP_IRAM_OPT is not set +# end of Power Management + +# +# ESP PSRAM +# +# default: +# CONFIG_SPIRAM is not set +# end of ESP PSRAM + +# +# ESP Ringbuf +# +# default: +# CONFIG_RINGBUF_PLACE_FUNCTIONS_INTO_FLASH is not set +# end of ESP Ringbuf + +# +# ESP-ROM +# +# default: +CONFIG_ESP_ROM_PRINT_IN_IRAM=y +# end of ESP-ROM + +# +# ESP Security Specific +# +# end of ESP Security Specific + +# +# ESP System Settings +# +# default: +# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_80 is not set +# default: +CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_160=y +# default: +# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240 is not set +# default: +CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=160 + +# +# Memory +# +# default: +# CONFIG_ESP32_USE_FIXED_STATIC_RAM_SIZE is not set + +# +# Non-backward compatible options +# +# default: +# CONFIG_ESP_SYSTEM_ESP32_SRAM1_REGION_AS_IRAM is not set +# end of Non-backward compatible options +# end of Memory + +# +# Trace memory +# +# default: +# CONFIG_ESP32_TRAX is not set +# default: +CONFIG_ESP32_TRACEMEM_RESERVE_DRAM=0x0 +# end of Trace memory + +# default: +CONFIG_ESP_SYSTEM_IN_IRAM=y +# default: +# CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT is not set +# default: +CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT=y +# default: +# CONFIG_ESP_SYSTEM_PANIC_SILENT_REBOOT is not set +# default: +# CONFIG_ESP_SYSTEM_PANIC_GDBSTUB is not set +# default: +CONFIG_ESP_SYSTEM_PANIC_REBOOT_DELAY_SECONDS=0 + +# +# Memory protection +# +# end of Memory protection + +# default: +CONFIG_ESP_SYSTEM_EVENT_QUEUE_SIZE=32 +# default: +CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=2304 +CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192 +# default: +CONFIG_ESP_MAIN_TASK_AFFINITY_CPU0=y +# default: +# CONFIG_ESP_MAIN_TASK_AFFINITY_CPU1 is not set +# default: +# CONFIG_ESP_MAIN_TASK_AFFINITY_NO_AFFINITY is not set +# default: +CONFIG_ESP_MAIN_TASK_AFFINITY=0x0 +# default: +CONFIG_ESP_MINIMAL_SHARED_STACK_SIZE=2048 +# default: +CONFIG_ESP_CONSOLE_UART_DEFAULT=y +# default: +# CONFIG_ESP_CONSOLE_UART_CUSTOM is not set +# default: +# CONFIG_ESP_CONSOLE_NONE is not set +# default: +CONFIG_ESP_CONSOLE_UART=y +# default: +CONFIG_ESP_CONSOLE_UART_NUM=0 +# default: +CONFIG_ESP_CONSOLE_ROM_SERIAL_PORT_NUM=0 +# default: +CONFIG_ESP_CONSOLE_UART_BAUDRATE=115200 +# default: +CONFIG_ESP_INT_WDT=y +# default: +CONFIG_ESP_INT_WDT_TIMEOUT_MS=300 +# default: +CONFIG_ESP_INT_WDT_CHECK_CPU1=y +# default: +CONFIG_ESP_TASK_WDT_EN=y +# default: +CONFIG_ESP_TASK_WDT_INIT=y +# default: +# CONFIG_ESP_TASK_WDT_PANIC is not set +# default: +CONFIG_ESP_TASK_WDT_TIMEOUT_S=5 +# default: +CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0=y +# default: +CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU1=y +# default: +# CONFIG_ESP_PANIC_HANDLER_IRAM is not set +# default: +# CONFIG_ESP_DEBUG_STUBS_ENABLE is not set +# default: +CONFIG_ESP_DEBUG_OCDAWARE=y +# default: +# CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_5 is not set +# default: +CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_4=y +# default: +# CONFIG_ESP32_DISABLE_BASIC_ROM_CONSOLE is not set +# end of ESP System Settings + +# +# IPC (Inter-Processor Call) +# +# default: +CONFIG_ESP_IPC_ENABLE=y +# default: +CONFIG_ESP_IPC_TASK_STACK_SIZE=1024 +# default: +CONFIG_ESP_IPC_USES_CALLERS_PRIORITY=y +# default: +CONFIG_ESP_IPC_ISR_ENABLE=y +# end of IPC (Inter-Processor Call) + +# +# ESP Timer (High Resolution Timer) +# +# default: +CONFIG_ESP_TIMER_IN_IRAM=y +# default: +# CONFIG_ESP_TIMER_PROFILING is not set +# default: +CONFIG_ESP_TIME_FUNCS_USE_RTC_TIMER=y +# default: +CONFIG_ESP_TIME_FUNCS_USE_ESP_TIMER=y +# default: +CONFIG_ESP_TIMER_TASK_STACK_SIZE=3584 +# default: +CONFIG_ESP_TIMER_INTERRUPT_LEVEL=1 +# default: +# CONFIG_ESP_TIMER_SHOW_EXPERIMENTAL is not set +# default: +CONFIG_ESP_TIMER_TASK_AFFINITY=0x0 +# default: +CONFIG_ESP_TIMER_TASK_AFFINITY_CPU0=y +# default: +CONFIG_ESP_TIMER_ISR_AFFINITY_CPU0=y +# default: +# CONFIG_ESP_TIMER_SUPPORTS_ISR_DISPATCH_METHOD is not set +# default: +CONFIG_ESP_TIMER_IMPL_TG0_LAC=y +# end of ESP Timer (High Resolution Timer) + +# +# Wi-Fi +# +# default: +CONFIG_ESP_WIFI_ENABLED=y +# default: +CONFIG_ESP_WIFI_STATIC_RX_BUFFER_NUM=10 +# default: +CONFIG_ESP_WIFI_DYNAMIC_RX_BUFFER_NUM=32 +# default: +# CONFIG_ESP_WIFI_STATIC_TX_BUFFER is not set +# default: +CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER=y +# default: +CONFIG_ESP_WIFI_TX_BUFFER_TYPE=1 +# default: +CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER_NUM=32 +# default: +CONFIG_ESP_WIFI_STATIC_RX_MGMT_BUFFER=y +# default: +# CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUFFER is not set +# default: +CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUF=0 +# default: +CONFIG_ESP_WIFI_RX_MGMT_BUF_NUM_DEF=5 +# default: +# CONFIG_ESP_WIFI_CSI_ENABLED is not set +# default: +CONFIG_ESP_WIFI_AMPDU_TX_ENABLED=y +# default: +CONFIG_ESP_WIFI_TX_BA_WIN=6 +# default: +CONFIG_ESP_WIFI_AMPDU_RX_ENABLED=y +# default: +CONFIG_ESP_WIFI_RX_BA_WIN=6 +# default: +CONFIG_ESP_WIFI_NVS_ENABLED=y +# default: +CONFIG_ESP_WIFI_TASK_PINNED_TO_CORE_0=y +# default: +# CONFIG_ESP_WIFI_TASK_PINNED_TO_CORE_1 is not set +# default: +CONFIG_ESP_WIFI_SOFTAP_BEACON_MAX_LEN=752 +# default: +CONFIG_ESP_WIFI_MGMT_SBUF_NUM=32 +# default: +CONFIG_ESP_WIFI_IRAM_OPT=y +# default: +# CONFIG_ESP_WIFI_EXTRA_IRAM_OPT is not set +# default: +CONFIG_ESP_WIFI_RX_IRAM_OPT=y +# default: +CONFIG_ESP_WIFI_ENABLE_WPA3_SAE=y +# default: +CONFIG_ESP_WIFI_ENABLE_SAE_PK=y +# default: +CONFIG_ESP_WIFI_ENABLE_SAE_H2E=y +# default: +CONFIG_ESP_WIFI_SOFTAP_SAE_SUPPORT=y +# default: +CONFIG_ESP_WIFI_ENABLE_WPA3_OWE_STA=y +# default: +# CONFIG_ESP_WIFI_SLP_IRAM_OPT is not set +# default: +CONFIG_ESP_WIFI_SLP_DEFAULT_MIN_ACTIVE_TIME=50 +# default: +# CONFIG_ESP_WIFI_BSS_MAX_IDLE_SUPPORT is not set +# default: +CONFIG_ESP_WIFI_SLP_DEFAULT_MAX_ACTIVE_TIME=10 +# default: +CONFIG_ESP_WIFI_SLP_DEFAULT_WAIT_BROADCAST_DATA_TIME=15 +# default: +CONFIG_ESP_WIFI_STA_DISCONNECTED_PM_ENABLE=y +# default: +CONFIG_ESP_WIFI_GMAC_SUPPORT=y +# default: +CONFIG_ESP_WIFI_SOFTAP_SUPPORT=y +# default: +# CONFIG_ESP_WIFI_SLP_BEACON_LOST_OPT is not set +# default: +CONFIG_ESP_WIFI_ESPNOW_MAX_ENCRYPT_NUM=7 +# default: +# CONFIG_ESP_WIFI_NAN_ENABLE is not set +# default: +CONFIG_ESP_WIFI_MBEDTLS_CRYPTO=y +# default: +CONFIG_ESP_WIFI_MBEDTLS_TLS_CLIENT=y +# default: +# CONFIG_ESP_WIFI_WAPI_PSK is not set +# default: +# CONFIG_ESP_WIFI_11KV_SUPPORT is not set +# default: +# CONFIG_ESP_WIFI_MBO_SUPPORT is not set +# default: +# CONFIG_ESP_WIFI_DPP_SUPPORT is not set +# default: +# CONFIG_ESP_WIFI_11R_SUPPORT is not set +# default: +# CONFIG_ESP_WIFI_WPS_SOFTAP_REGISTRAR is not set + +# +# WPS Configuration Options +# +# default: +# CONFIG_ESP_WIFI_WPS_STRICT is not set +# default: +# CONFIG_ESP_WIFI_WPS_PASSPHRASE is not set +# default: +# CONFIG_ESP_WIFI_WPS_RECONNECT_ON_FAIL is not set +# end of WPS Configuration Options + +# default: +# CONFIG_ESP_WIFI_DEBUG_PRINT is not set +# default: +CONFIG_ESP_WIFI_ENTERPRISE_SUPPORT=y +# default: +# CONFIG_ESP_WIFI_ENT_FREE_DYNAMIC_BUFFER is not set +# end of Wi-Fi + +# +# Core dump +# +# default: +# CONFIG_ESP_COREDUMP_ENABLE_TO_FLASH is not set +# default: +# CONFIG_ESP_COREDUMP_ENABLE_TO_UART is not set +# default: +CONFIG_ESP_COREDUMP_ENABLE_TO_NONE=y +# end of Core dump + +# +# FAT Filesystem support +# +# default: +CONFIG_FATFS_VOLUME_COUNT=2 +# default: +CONFIG_FATFS_LFN_NONE=y +# default: +# CONFIG_FATFS_LFN_HEAP is not set +# default: +# CONFIG_FATFS_LFN_STACK is not set +# default: +# CONFIG_FATFS_SECTOR_512 is not set +# default: +CONFIG_FATFS_SECTOR_4096=y +# default: +# CONFIG_FATFS_CODEPAGE_DYNAMIC is not set +# default: +CONFIG_FATFS_CODEPAGE_437=y +# default: +# CONFIG_FATFS_CODEPAGE_720 is not set +# default: +# CONFIG_FATFS_CODEPAGE_737 is not set +# default: +# CONFIG_FATFS_CODEPAGE_771 is not set +# default: +# CONFIG_FATFS_CODEPAGE_775 is not set +# default: +# CONFIG_FATFS_CODEPAGE_850 is not set +# default: +# CONFIG_FATFS_CODEPAGE_852 is not set +# default: +# CONFIG_FATFS_CODEPAGE_855 is not set +# default: +# CONFIG_FATFS_CODEPAGE_857 is not set +# default: +# CONFIG_FATFS_CODEPAGE_860 is not set +# default: +# CONFIG_FATFS_CODEPAGE_861 is not set +# default: +# CONFIG_FATFS_CODEPAGE_862 is not set +# default: +# CONFIG_FATFS_CODEPAGE_863 is not set +# default: +# CONFIG_FATFS_CODEPAGE_864 is not set +# default: +# CONFIG_FATFS_CODEPAGE_865 is not set +# default: +# CONFIG_FATFS_CODEPAGE_866 is not set +# default: +# CONFIG_FATFS_CODEPAGE_869 is not set +# default: +# CONFIG_FATFS_CODEPAGE_932 is not set +# default: +# CONFIG_FATFS_CODEPAGE_936 is not set +# default: +# CONFIG_FATFS_CODEPAGE_949 is not set +# default: +# CONFIG_FATFS_CODEPAGE_950 is not set +# default: +CONFIG_FATFS_CODEPAGE=437 +# default: +CONFIG_FATFS_FS_LOCK=0 +# default: +CONFIG_FATFS_TIMEOUT_MS=10000 +# default: +CONFIG_FATFS_PER_FILE_CACHE=y +# default: +# CONFIG_FATFS_USE_FASTSEEK is not set +# default: +CONFIG_FATFS_USE_STRFUNC_NONE=y +# default: +# CONFIG_FATFS_USE_STRFUNC_WITHOUT_CRLF_CONV is not set +# default: +# CONFIG_FATFS_USE_STRFUNC_WITH_CRLF_CONV is not set +# default: +CONFIG_FATFS_VFS_FSTAT_BLKSIZE=0 +# default: +# CONFIG_FATFS_IMMEDIATE_FSYNC is not set +# default: +# CONFIG_FATFS_USE_LABEL is not set +# default: +CONFIG_FATFS_LINK_LOCK=y +# default: +# CONFIG_FATFS_USE_DYN_BUFFERS is not set + +# +# File system free space calculation behavior +# +# default: +CONFIG_FATFS_DONT_TRUST_FREE_CLUSTER_CNT=0 +# default: +CONFIG_FATFS_DONT_TRUST_LAST_ALLOC=0 +# end of File system free space calculation behavior +# end of FAT Filesystem support + +# +# FreeRTOS +# + +# +# Kernel +# +# default: +# CONFIG_FREERTOS_SMP is not set +# default: +# CONFIG_FREERTOS_UNICORE is not set +CONFIG_FREERTOS_HZ=1000 +# default: +# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_NONE is not set +# default: +# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_PTRVAL is not set +# default: +CONFIG_FREERTOS_CHECK_STACKOVERFLOW_CANARY=y +# default: +CONFIG_FREERTOS_THREAD_LOCAL_STORAGE_POINTERS=1 +# default: +CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1536 +# default: +# CONFIG_FREERTOS_USE_IDLE_HOOK is not set +# default: +# CONFIG_FREERTOS_USE_TICK_HOOK is not set +# default: +CONFIG_FREERTOS_MAX_TASK_NAME_LEN=16 +# default: +# CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY is not set +# default: +CONFIG_FREERTOS_USE_TIMERS=y +# default: +CONFIG_FREERTOS_TIMER_SERVICE_TASK_NAME="Tmr Svc" +# default: +# CONFIG_FREERTOS_TIMER_TASK_AFFINITY_CPU0 is not set +# default: +# CONFIG_FREERTOS_TIMER_TASK_AFFINITY_CPU1 is not set +# default: +CONFIG_FREERTOS_TIMER_TASK_NO_AFFINITY=y +# default: +CONFIG_FREERTOS_TIMER_SERVICE_TASK_CORE_AFFINITY=0x7FFFFFFF +# default: +CONFIG_FREERTOS_TIMER_TASK_PRIORITY=1 +# default: +CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=2048 +# default: +CONFIG_FREERTOS_TIMER_QUEUE_LENGTH=10 +# default: +CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE=0 +# default: +CONFIG_FREERTOS_TASK_NOTIFICATION_ARRAY_ENTRIES=1 +# default: +# CONFIG_FREERTOS_USE_TRACE_FACILITY is not set +# default: +# CONFIG_FREERTOS_USE_LIST_DATA_INTEGRITY_CHECK_BYTES is not set +# default: +# CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS is not set +# default: +# CONFIG_FREERTOS_USE_APPLICATION_TASK_TAG is not set +# end of Kernel + +# +# Port +# +# default: +CONFIG_FREERTOS_TASK_FUNCTION_WRAPPER=y +# default: +# CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK is not set +# default: +CONFIG_FREERTOS_TLSP_DELETION_CALLBACKS=y +# default: +# CONFIG_FREERTOS_TASK_PRE_DELETION_HOOK is not set +# default: +# CONFIG_FREERTOS_ENABLE_STATIC_TASK_CLEAN_UP is not set +# default: +CONFIG_FREERTOS_CHECK_MUTEX_GIVEN_BY_OWNER=y +# default: +CONFIG_FREERTOS_ISR_STACKSIZE=1536 +# default: +CONFIG_FREERTOS_INTERRUPT_BACKTRACE=y +# default: +# CONFIG_FREERTOS_FPU_IN_ISR is not set +# default: +CONFIG_FREERTOS_TICK_SUPPORT_CORETIMER=y +# default: +CONFIG_FREERTOS_CORETIMER_0=y +# default: +# CONFIG_FREERTOS_CORETIMER_1 is not set +# default: +CONFIG_FREERTOS_SYSTICK_USES_CCOUNT=y +# default: +# CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH is not set +# default: +# CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE is not set +# end of Port + +# +# Extra +# +# end of Extra + +# default: +CONFIG_FREERTOS_PORT=y +# default: +CONFIG_FREERTOS_NO_AFFINITY=0x7FFFFFFF +# default: +CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION=y +# default: +CONFIG_FREERTOS_DEBUG_OCDAWARE=y +# default: +CONFIG_FREERTOS_ENABLE_TASK_SNAPSHOT=y +# default: +CONFIG_FREERTOS_PLACE_SNAPSHOT_FUNS_INTO_FLASH=y +# default: +CONFIG_FREERTOS_NUMBER_OF_CORES=2 +# default: +CONFIG_FREERTOS_IN_IRAM=y +# end of FreeRTOS + +# +# Hardware Abstraction Layer (HAL) and Low Level (LL) +# +# default: +CONFIG_HAL_ASSERTION_EQUALS_SYSTEM=y +# default: +# CONFIG_HAL_ASSERTION_DISABLE is not set +# default: +# CONFIG_HAL_ASSERTION_SILENT is not set +# default: +# CONFIG_HAL_ASSERTION_ENABLE is not set +# default: +CONFIG_HAL_DEFAULT_ASSERTION_LEVEL=2 +# end of Hardware Abstraction Layer (HAL) and Low Level (LL) + +# +# Heap memory debugging +# +# default: +CONFIG_HEAP_POISONING_DISABLED=y +# default: +# CONFIG_HEAP_POISONING_LIGHT is not set +# default: +# CONFIG_HEAP_POISONING_COMPREHENSIVE is not set +# default: +CONFIG_HEAP_TRACING_OFF=y +# default: +# CONFIG_HEAP_TRACING_STANDALONE is not set +# default: +# CONFIG_HEAP_TRACING_TOHOST is not set +# default: +# CONFIG_HEAP_USE_HOOKS is not set +# default: +# CONFIG_HEAP_TASK_TRACKING is not set +# default: +# CONFIG_HEAP_ABORT_WHEN_ALLOCATION_FAILS is not set +# default: +# CONFIG_HEAP_PLACE_FUNCTION_INTO_FLASH is not set +# end of Heap memory debugging + +# +# Log +# +# default: +CONFIG_LOG_VERSION_1=y +# default: +# CONFIG_LOG_VERSION_2 is not set +# default: +CONFIG_LOG_VERSION=1 + +# +# Log Level +# +# default: +# CONFIG_LOG_DEFAULT_LEVEL_NONE is not set +# default: +# CONFIG_LOG_DEFAULT_LEVEL_ERROR is not set +# default: +# CONFIG_LOG_DEFAULT_LEVEL_WARN is not set +# default: +CONFIG_LOG_DEFAULT_LEVEL_INFO=y +# default: +# CONFIG_LOG_DEFAULT_LEVEL_DEBUG is not set +# default: +# CONFIG_LOG_DEFAULT_LEVEL_VERBOSE is not set +# default: +CONFIG_LOG_DEFAULT_LEVEL=3 +# default: +CONFIG_LOG_MAXIMUM_EQUALS_DEFAULT=y +# default: +# CONFIG_LOG_MAXIMUM_LEVEL_DEBUG is not set +# default: +# CONFIG_LOG_MAXIMUM_LEVEL_VERBOSE is not set +# default: +CONFIG_LOG_MAXIMUM_LEVEL=3 + +# +# Level Settings +# +# default: +# CONFIG_LOG_MASTER_LEVEL is not set +# default: +CONFIG_LOG_DYNAMIC_LEVEL_CONTROL=y +# default: +# CONFIG_LOG_TAG_LEVEL_IMPL_NONE is not set +# default: +# CONFIG_LOG_TAG_LEVEL_IMPL_LINKED_LIST is not set +# default: +CONFIG_LOG_TAG_LEVEL_IMPL_CACHE_AND_LINKED_LIST=y +# default: +# CONFIG_LOG_TAG_LEVEL_CACHE_ARRAY is not set +# default: +CONFIG_LOG_TAG_LEVEL_CACHE_BINARY_MIN_HEAP=y +# default: +CONFIG_LOG_TAG_LEVEL_IMPL_CACHE_SIZE=31 +# end of Level Settings +# end of Log Level + +# +# Format +# +# default: +# CONFIG_LOG_COLORS is not set +# default: +CONFIG_LOG_TIMESTAMP_SOURCE_RTOS=y +# default: +# CONFIG_LOG_TIMESTAMP_SOURCE_SYSTEM is not set +# end of Format + +# +# Settings +# +# default: +CONFIG_LOG_MODE_TEXT_EN=y +# default: +CONFIG_LOG_MODE_TEXT=y +# end of Settings + +# default: +CONFIG_LOG_IN_IRAM=y +# end of Log + +# +# LWIP +# +# default: +CONFIG_LWIP_ENABLE=y +# default: +CONFIG_LWIP_LOCAL_HOSTNAME="espressif" +# default: +CONFIG_LWIP_TCPIP_TASK_PRIO=18 +# default: +# CONFIG_LWIP_TCPIP_CORE_LOCKING is not set +# default: +# CONFIG_LWIP_CHECK_THREAD_SAFETY is not set +# default: +CONFIG_LWIP_DNS_SUPPORT_MDNS_QUERIES=y +# default: +# CONFIG_LWIP_L2_TO_L3_COPY is not set +# default: +# CONFIG_LWIP_IRAM_OPTIMIZATION is not set +# default: +# CONFIG_LWIP_EXTRA_IRAM_OPTIMIZATION is not set +# default: +CONFIG_LWIP_TIMERS_ONDEMAND=y +# default: +CONFIG_LWIP_ND6=y +# default: +# CONFIG_LWIP_FORCE_ROUTER_FORWARDING is not set +# default: +CONFIG_LWIP_MAX_SOCKETS=10 +# default: +# CONFIG_LWIP_USE_ONLY_LWIP_SELECT is not set +# default: +# CONFIG_LWIP_SO_LINGER is not set +# default: +CONFIG_LWIP_SO_REUSE=y +# default: +CONFIG_LWIP_SO_REUSE_RXTOALL=y +CONFIG_LWIP_SO_RCVBUF=y +# default: +# CONFIG_LWIP_NETBUF_RECVINFO is not set +# default: +CONFIG_LWIP_IP_DEFAULT_TTL=64 +# default: +CONFIG_LWIP_IP4_FRAG=y +# default: +CONFIG_LWIP_IP6_FRAG=y +# default: +# CONFIG_LWIP_IP4_REASSEMBLY is not set +# default: +# CONFIG_LWIP_IP6_REASSEMBLY is not set +# default: +CONFIG_LWIP_IP_REASS_MAX_PBUFS=10 +# default: +# CONFIG_LWIP_IP_FORWARD is not set +# default: +# CONFIG_LWIP_STATS is not set +# default: +CONFIG_LWIP_ESP_GRATUITOUS_ARP=y +# default: +CONFIG_LWIP_GARP_TMR_INTERVAL=60 +# default: +CONFIG_LWIP_ESP_MLDV6_REPORT=y +# default: +CONFIG_LWIP_MLDV6_TMR_INTERVAL=40 +# default: +CONFIG_LWIP_TCPIP_RECVMBOX_SIZE=32 +# default: +CONFIG_LWIP_DHCP_DOES_ARP_CHECK=y +# default: +# CONFIG_LWIP_DHCP_DOES_ACD_CHECK is not set +# default: +# CONFIG_LWIP_DHCP_DOES_NOT_CHECK_OFFERED_IP is not set +# default: +# CONFIG_LWIP_DHCP_DISABLE_CLIENT_ID is not set +# default: +CONFIG_LWIP_DHCP_DISABLE_VENDOR_CLASS_ID=y +# default: +# CONFIG_LWIP_DHCP_RESTORE_LAST_IP is not set +# default: +CONFIG_LWIP_DHCP_OPTIONS_LEN=69 +# default: +CONFIG_LWIP_NUM_NETIF_CLIENT_DATA=0 +# default: +CONFIG_LWIP_DHCP_COARSE_TIMER_SECS=1 + +# +# DHCP server +# +# default: +CONFIG_LWIP_DHCPS=y +# default: +CONFIG_LWIP_DHCPS_LEASE_UNIT=60 +# default: +CONFIG_LWIP_DHCPS_MAX_STATION_NUM=8 +# default: +CONFIG_LWIP_DHCPS_STATIC_ENTRIES=y +# default: +CONFIG_LWIP_DHCPS_ADD_DNS=y +# end of DHCP server + +# default: +# CONFIG_LWIP_AUTOIP is not set +# default: +CONFIG_LWIP_IPV4=y +# default: +CONFIG_LWIP_IPV6=y +# default: +# CONFIG_LWIP_IPV6_AUTOCONFIG is not set +# default: +CONFIG_LWIP_IPV6_NUM_ADDRESSES=3 +# default: +# CONFIG_LWIP_IPV6_FORWARD is not set +# default: +# CONFIG_LWIP_NETIF_STATUS_CALLBACK is not set +# default: +CONFIG_LWIP_NETIF_LOOPBACK=y +# default: +CONFIG_LWIP_LOOPBACK_MAX_PBUFS=8 + +# +# TCP +# +# default: +CONFIG_LWIP_MAX_ACTIVE_TCP=16 +# default: +CONFIG_LWIP_MAX_LISTENING_TCP=16 +# default: +CONFIG_LWIP_TCP_HIGH_SPEED_RETRANSMISSION=y +# default: +CONFIG_LWIP_TCP_MAXRTX=12 +# default: +CONFIG_LWIP_TCP_SYNMAXRTX=12 +# default: +CONFIG_LWIP_TCP_MSS=1440 +# default: +CONFIG_LWIP_TCP_TMR_INTERVAL=250 +# default: +CONFIG_LWIP_TCP_MSL=60000 +# default: +CONFIG_LWIP_TCP_FIN_WAIT_TIMEOUT=20000 +# default: +CONFIG_LWIP_TCP_SND_BUF_DEFAULT=5760 +# default: +CONFIG_LWIP_TCP_WND_DEFAULT=5760 +# default: +CONFIG_LWIP_TCP_RECVMBOX_SIZE=6 +# default: +CONFIG_LWIP_TCP_ACCEPTMBOX_SIZE=6 +# default: +CONFIG_LWIP_TCP_QUEUE_OOSEQ=y +# default: +CONFIG_LWIP_TCP_OOSEQ_TIMEOUT=6 +# default: +CONFIG_LWIP_TCP_OOSEQ_MAX_PBUFS=4 +# default: +# CONFIG_LWIP_TCP_SACK_OUT is not set +# default: +CONFIG_LWIP_TCP_OVERSIZE_MSS=y +# default: +# CONFIG_LWIP_TCP_OVERSIZE_QUARTER_MSS is not set +# default: +# CONFIG_LWIP_TCP_OVERSIZE_DISABLE is not set +# default: +CONFIG_LWIP_TCP_RTO_TIME=1500 +# end of TCP + +# +# UDP +# +# default: +CONFIG_LWIP_MAX_UDP_PCBS=16 +# default: +CONFIG_LWIP_UDP_RECVMBOX_SIZE=6 +# end of UDP + +# +# Checksums +# +# default: +# CONFIG_LWIP_CHECKSUM_CHECK_IP is not set +# default: +# CONFIG_LWIP_CHECKSUM_CHECK_UDP is not set +# default: +CONFIG_LWIP_CHECKSUM_CHECK_ICMP=y +# end of Checksums + +# default: +CONFIG_LWIP_TCPIP_TASK_STACK_SIZE=3072 +# default: +CONFIG_LWIP_TCPIP_TASK_AFFINITY_NO_AFFINITY=y +# default: +# CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU0 is not set +# default: +# CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU1 is not set +# default: +CONFIG_LWIP_TCPIP_TASK_AFFINITY=0x7FFFFFFF +# default: +CONFIG_LWIP_IPV6_MEMP_NUM_ND6_QUEUE=3 +# default: +CONFIG_LWIP_IPV6_ND6_NUM_NEIGHBORS=5 +# default: +CONFIG_LWIP_IPV6_ND6_NUM_PREFIXES=5 +# default: +CONFIG_LWIP_IPV6_ND6_NUM_ROUTERS=3 +# default: +CONFIG_LWIP_IPV6_ND6_NUM_DESTINATIONS=10 +# default: +# CONFIG_LWIP_IPV6_ND6_ROUTE_INFO_OPTION_SUPPORT is not set +# default: +CONFIG_LWIP_PPP_SUPPORT=y +# default: +CONFIG_LWIP_PPP_ENABLE_IPV4=y +# default: +CONFIG_LWIP_PPP_ENABLE_IPV6=y +# default: +# CONFIG_LWIP_PPP_NOTIFY_PHASE_SUPPORT is not set +# default: +# CONFIG_LWIP_PPP_PAP_SUPPORT is not set +# default: +# CONFIG_LWIP_PPP_CHAP_SUPPORT is not set +# default: +# CONFIG_LWIP_PPP_MSCHAP_SUPPORT is not set +# default: +# CONFIG_LWIP_PPP_MPPE_SUPPORT is not set +# default: +# CONFIG_LWIP_PPP_SERVER_SUPPORT is not set +# default: +CONFIG_LWIP_PPP_VJ_HEADER_COMPRESSION=y +# default: +# CONFIG_LWIP_ENABLE_LCP_ECHO is not set +# default: +# CONFIG_LWIP_PPP_DEBUG_ON is not set +# default: +# CONFIG_LWIP_USE_EXTERNAL_MBEDTLS is not set +# default: +# CONFIG_LWIP_SLIP_SUPPORT is not set + +# +# ICMP +# +# default: +CONFIG_LWIP_ICMP=y +# default: +# CONFIG_LWIP_MULTICAST_PING is not set +# default: +# CONFIG_LWIP_BROADCAST_PING is not set +# end of ICMP + +# +# LWIP RAW API +# +# default: +CONFIG_LWIP_MAX_RAW_PCBS=16 +# end of LWIP RAW API + +# +# SNTP +# +# default: +CONFIG_LWIP_SNTP_MAX_SERVERS=1 +# default: +# CONFIG_LWIP_DHCP_GET_NTP_SRV is not set +# default: +CONFIG_LWIP_SNTP_UPDATE_DELAY=3600000 +# default: +CONFIG_LWIP_SNTP_STARTUP_DELAY=y +# default: +CONFIG_LWIP_SNTP_MAXIMUM_STARTUP_DELAY=5000 +# end of SNTP + +# +# DNS +# +# default: +CONFIG_LWIP_DNS_MAX_HOST_IP=1 +# default: +CONFIG_LWIP_DNS_MAX_SERVERS=3 +# default: +# CONFIG_LWIP_FALLBACK_DNS_SERVER_SUPPORT is not set +# default: +# CONFIG_LWIP_DNS_SETSERVER_WITH_NETIF is not set +# default: +# CONFIG_LWIP_USE_ESP_GETADDRINFO is not set +# end of DNS + +# default: +CONFIG_LWIP_BRIDGEIF_MAX_PORTS=7 +# default: +CONFIG_LWIP_ESP_LWIP_ASSERT=y + +# +# Hooks +# +# default: +# CONFIG_LWIP_HOOK_TCP_ISN_NONE is not set +# default: +CONFIG_LWIP_HOOK_TCP_ISN_DEFAULT=y +# default: +# CONFIG_LWIP_HOOK_TCP_ISN_CUSTOM is not set +# default: +CONFIG_LWIP_HOOK_IP6_ROUTE_NONE=y +# default: +# CONFIG_LWIP_HOOK_IP6_ROUTE_DEFAULT is not set +# default: +# CONFIG_LWIP_HOOK_IP6_ROUTE_CUSTOM is not set +# default: +CONFIG_LWIP_HOOK_ND6_GET_GW_NONE=y +# default: +# CONFIG_LWIP_HOOK_ND6_GET_GW_DEFAULT is not set +# default: +# CONFIG_LWIP_HOOK_ND6_GET_GW_CUSTOM is not set +# default: +CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_NONE=y +# default: +# CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_DEFAULT is not set +# default: +# CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_CUSTOM is not set +# default: +CONFIG_LWIP_HOOK_DHCP_EXTRA_OPTION_NONE=y +# default: +# CONFIG_LWIP_HOOK_DHCP_EXTRA_OPTION_DEFAULT is not set +# default: +# CONFIG_LWIP_HOOK_DHCP_EXTRA_OPTION_CUSTOM is not set +# default: +CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_NONE=y +# default: +# CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_DEFAULT is not set +# default: +# CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_CUSTOM is not set +# default: +CONFIG_LWIP_HOOK_DNS_EXT_RESOLVE_NONE=y +# default: +# CONFIG_LWIP_HOOK_DNS_EXT_RESOLVE_CUSTOM is not set +# default: +# CONFIG_LWIP_HOOK_IP6_INPUT_NONE is not set +# default: +CONFIG_LWIP_HOOK_IP6_INPUT_DEFAULT=y +# default: +# CONFIG_LWIP_HOOK_IP6_INPUT_CUSTOM is not set +# end of Hooks + +# default: +# CONFIG_LWIP_DEBUG is not set +# end of LWIP + +# +# mbedTLS +# +# default: +CONFIG_MBEDTLS_INTERNAL_MEM_ALLOC=y +# default: +# CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC is not set +# default: +# CONFIG_MBEDTLS_CUSTOM_MEM_ALLOC is not set +# default: +CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN=y +# default: +CONFIG_MBEDTLS_SSL_IN_CONTENT_LEN=16384 +# default: +CONFIG_MBEDTLS_SSL_OUT_CONTENT_LEN=4096 +# default: +# CONFIG_MBEDTLS_DYNAMIC_BUFFER is not set +# default: +# CONFIG_MBEDTLS_DEBUG is not set + +# +# mbedTLS v3.x related +# +# default: +# CONFIG_MBEDTLS_SSL_PROTO_TLS1_3 is not set +# default: +# CONFIG_MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH is not set +# default: +# CONFIG_MBEDTLS_X509_TRUSTED_CERT_CALLBACK is not set +# default: +# CONFIG_MBEDTLS_SSL_CONTEXT_SERIALIZATION is not set +# default: +CONFIG_MBEDTLS_SSL_KEEP_PEER_CERTIFICATE=y +# default: +# CONFIG_MBEDTLS_SSL_KEYING_MATERIAL_EXPORT is not set +# default: +CONFIG_MBEDTLS_PKCS7_C=y +# end of mbedTLS v3.x related + +# +# Certificate Bundle +# +# default: +CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=y +# default: +CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_FULL=y +# default: +# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_CMN is not set +# default: +# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_NONE is not set +# default: +# CONFIG_MBEDTLS_CUSTOM_CERTIFICATE_BUNDLE is not set +# default: +# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEPRECATED_LIST is not set +# default: +CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_MAX_CERTS=200 +# end of Certificate Bundle + +# default: +# CONFIG_MBEDTLS_ECP_RESTARTABLE is not set +# default: +CONFIG_MBEDTLS_CMAC_C=y +# default: +CONFIG_MBEDTLS_HARDWARE_AES=y +# default: +CONFIG_MBEDTLS_GCM_SUPPORT_NON_AES_CIPHER=y +# default: +CONFIG_MBEDTLS_HARDWARE_MPI=y +# default: +# CONFIG_MBEDTLS_LARGE_KEY_SOFTWARE_MPI is not set +# default: +CONFIG_MBEDTLS_HARDWARE_SHA=y +# default: +CONFIG_MBEDTLS_ROM_MD5=y +# default: +# CONFIG_MBEDTLS_ATCA_HW_ECDSA_SIGN is not set +# default: +# CONFIG_MBEDTLS_ATCA_HW_ECDSA_VERIFY is not set +# default: +CONFIG_MBEDTLS_HAVE_TIME=y +# default: +# CONFIG_MBEDTLS_PLATFORM_TIME_ALT is not set +# default: +# CONFIG_MBEDTLS_HAVE_TIME_DATE is not set +# default: +CONFIG_MBEDTLS_ECDSA_DETERMINISTIC=y +# default: +CONFIG_MBEDTLS_SHA1_C=y +# default: +CONFIG_MBEDTLS_SHA512_C=y +# default: +# CONFIG_MBEDTLS_SHA3_C is not set +# default: +CONFIG_MBEDTLS_TLS_SERVER_AND_CLIENT=y +# default: +# CONFIG_MBEDTLS_TLS_SERVER_ONLY is not set +# default: +# CONFIG_MBEDTLS_TLS_CLIENT_ONLY is not set +# default: +# CONFIG_MBEDTLS_TLS_DISABLED is not set +# default: +CONFIG_MBEDTLS_TLS_SERVER=y +# default: +CONFIG_MBEDTLS_TLS_CLIENT=y +# default: +CONFIG_MBEDTLS_TLS_ENABLED=y + +# +# TLS Key Exchange Methods +# +CONFIG_MBEDTLS_PSK_MODES=y +CONFIG_MBEDTLS_KEY_EXCHANGE_PSK=y +# default: +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_PSK=y +# default: +CONFIG_MBEDTLS_KEY_EXCHANGE_RSA_PSK=y +# default: +CONFIG_MBEDTLS_KEY_EXCHANGE_RSA=y +# default: +CONFIG_MBEDTLS_KEY_EXCHANGE_ELLIPTIC_CURVE=y +# default: +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_RSA=y +# default: +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA=y +# default: +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA=y +# default: +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_RSA=y +# end of TLS Key Exchange Methods + +# default: +CONFIG_MBEDTLS_SSL_RENEGOTIATION=y +# default: +CONFIG_MBEDTLS_SSL_PROTO_TLS1_2=y +# default: +# CONFIG_MBEDTLS_SSL_PROTO_GMTSSL1_1 is not set +# default: +# CONFIG_MBEDTLS_SSL_PROTO_DTLS is not set +# default: +CONFIG_MBEDTLS_SSL_ALPN=y +# default: +CONFIG_MBEDTLS_CLIENT_SSL_SESSION_TICKETS=y +# default: +CONFIG_MBEDTLS_SERVER_SSL_SESSION_TICKETS=y + +# +# Symmetric Ciphers +# +# default: +CONFIG_MBEDTLS_AES_C=y +# default: +# CONFIG_MBEDTLS_CAMELLIA_C is not set +# default: +# CONFIG_MBEDTLS_DES_C is not set +# default: +# CONFIG_MBEDTLS_BLOWFISH_C is not set +# default: +# CONFIG_MBEDTLS_XTEA_C is not set +# default: +CONFIG_MBEDTLS_CCM_C=y +# default: +CONFIG_MBEDTLS_GCM_C=y +# default: +# CONFIG_MBEDTLS_NIST_KW_C is not set +# end of Symmetric Ciphers + +# default: +# CONFIG_MBEDTLS_RIPEMD160_C is not set + +# +# Certificates +# +# default: +CONFIG_MBEDTLS_PEM_PARSE_C=y +# default: +CONFIG_MBEDTLS_PEM_WRITE_C=y +# default: +CONFIG_MBEDTLS_X509_CRL_PARSE_C=y +# default: +CONFIG_MBEDTLS_X509_CSR_PARSE_C=y +# end of Certificates + +# default: +CONFIG_MBEDTLS_ECP_C=y +# default: +CONFIG_MBEDTLS_PK_PARSE_EC_EXTENDED=y +# default: +CONFIG_MBEDTLS_PK_PARSE_EC_COMPRESSED=y +# default: +# CONFIG_MBEDTLS_DHM_C is not set +# default: +CONFIG_MBEDTLS_ECDH_C=y +# default: +CONFIG_MBEDTLS_ECDSA_C=y +# default: +# CONFIG_MBEDTLS_ECJPAKE_C is not set +# default: +CONFIG_MBEDTLS_ECP_DP_SECP192R1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_SECP224R1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_SECP256R1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_SECP384R1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_SECP521R1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_SECP192K1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_SECP224K1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_SECP256K1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_BP256R1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_BP384R1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_BP512R1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_CURVE25519_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_NIST_OPTIM=y +# default: +# CONFIG_MBEDTLS_ECP_FIXED_POINT_OPTIM is not set +# default: +# CONFIG_MBEDTLS_POLY1305_C is not set +# default: +# CONFIG_MBEDTLS_CHACHA20_C is not set +# default: +# CONFIG_MBEDTLS_HKDF_C is not set +# default: +# CONFIG_MBEDTLS_THREADING_C is not set +# default: +CONFIG_MBEDTLS_ERROR_STRINGS=y +# default: +CONFIG_MBEDTLS_FS_IO=y +# default: +# CONFIG_MBEDTLS_ALLOW_WEAK_CERTIFICATE_VERIFICATION is not set +# end of mbedTLS + +# +# ESP-MQTT Configurations +# +# default: +CONFIG_MQTT_PROTOCOL_311=y +# default: +# CONFIG_MQTT_PROTOCOL_5 is not set +# default: +CONFIG_MQTT_TRANSPORT_SSL=y +# default: +CONFIG_MQTT_TRANSPORT_WEBSOCKET=y +# default: +CONFIG_MQTT_TRANSPORT_WEBSOCKET_SECURE=y +# default: +# CONFIG_MQTT_MSG_ID_INCREMENTAL is not set +# default: +# CONFIG_MQTT_SKIP_PUBLISH_IF_DISCONNECTED is not set +# default: +# CONFIG_MQTT_REPORT_DELETED_MESSAGES is not set +# default: +# CONFIG_MQTT_USE_CUSTOM_CONFIG is not set +# default: +# CONFIG_MQTT_TASK_CORE_SELECTION_ENABLED is not set +# default: +# CONFIG_MQTT_CUSTOM_OUTBOX is not set +# end of ESP-MQTT Configurations + +# +# LibC +# +# default: +CONFIG_LIBC_NEWLIB=y +# default: +# CONFIG_LIBC_PICOLIBC is not set +# default: +CONFIG_LIBC_MISC_IN_IRAM=y +# default: +CONFIG_LIBC_LOCKS_PLACE_IN_IRAM=y +# default: +CONFIG_LIBC_STDOUT_LINE_ENDING_CRLF=y +# default: +# CONFIG_LIBC_STDOUT_LINE_ENDING_LF is not set +# default: +# CONFIG_LIBC_STDOUT_LINE_ENDING_CR is not set +# default: +# CONFIG_LIBC_STDIN_LINE_ENDING_CRLF is not set +# default: +# CONFIG_LIBC_STDIN_LINE_ENDING_LF is not set +# default: +CONFIG_LIBC_STDIN_LINE_ENDING_CR=y +# default: +# CONFIG_LIBC_NEWLIB_NANO_FORMAT is not set +# default: +CONFIG_LIBC_TIME_SYSCALL_USE_RTC_HRT=y +# default: +# CONFIG_LIBC_TIME_SYSCALL_USE_RTC is not set +# default: +# CONFIG_LIBC_TIME_SYSCALL_USE_HRT is not set +# default: +# CONFIG_LIBC_TIME_SYSCALL_USE_NONE is not set +# default: +CONFIG_LIBC_ASSERT_BUFFER_SIZE=200 +# end of LibC + +# +# NVS +# +# default: +# CONFIG_NVS_ASSERT_ERROR_CHECK is not set +# default: +# CONFIG_NVS_LEGACY_DUP_KEYS_COMPATIBILITY is not set +# end of NVS + +# +# OpenThread +# +# default: +# CONFIG_OPENTHREAD_ENABLED is not set + +# +# OpenThread Spinel +# +# default: +# CONFIG_OPENTHREAD_SPINEL_ONLY is not set +# end of OpenThread Spinel + +# default: +# CONFIG_OPENTHREAD_DEBUG is not set +# end of OpenThread + +# +# Protocomm +# +# default: +CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_0=y +# default: +CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_1=y +# default: +CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_2=y +# default: +CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_PATCH_VERSION=y +# end of Protocomm + +# +# PThreads +# +# default: +CONFIG_PTHREAD_TASK_PRIO_DEFAULT=5 +# default: +CONFIG_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 +# default: +CONFIG_PTHREAD_STACK_MIN=768 +# default: +CONFIG_PTHREAD_DEFAULT_CORE_NO_AFFINITY=y +# default: +# CONFIG_PTHREAD_DEFAULT_CORE_0 is not set +# default: +# CONFIG_PTHREAD_DEFAULT_CORE_1 is not set +# default: +CONFIG_PTHREAD_TASK_CORE_DEFAULT=-1 +# default: +CONFIG_PTHREAD_TASK_NAME_DEFAULT="pthread" +# end of PThreads + +# +# MMU Config +# +# default: +CONFIG_MMU_PAGE_SIZE_64KB=y +# default: +CONFIG_MMU_PAGE_MODE="64KB" +# default: +CONFIG_MMU_PAGE_SIZE=0x10000 +# end of MMU Config + +# +# Main Flash configuration +# + +# +# SPI Flash behavior when brownout +# +# default: +CONFIG_SPI_FLASH_BROWNOUT_RESET_XMC=y +# default: +CONFIG_SPI_FLASH_BROWNOUT_RESET=y +# end of SPI Flash behavior when brownout + +# +# Optional and Experimental Features (READ DOCS FIRST) +# + +# +# Features here require specific hardware (READ DOCS FIRST!) +# +# default: +CONFIG_SPI_FLASH_SUSPEND_TSUS_VAL_US=50 +# default: +# CONFIG_SPI_FLASH_FORCE_ENABLE_XMC_C_SUSPEND is not set +# default: +# CONFIG_SPI_FLASH_FORCE_ENABLE_C6_H2_SUSPEND is not set +# default: +CONFIG_SPI_FLASH_PLACE_FUNCTIONS_IN_IRAM=y +# end of Optional and Experimental Features (READ DOCS FIRST) +# end of Main Flash configuration + +# +# SPI Flash driver +# +# default: +# CONFIG_SPI_FLASH_VERIFY_WRITE is not set +# default: +# CONFIG_SPI_FLASH_ENABLE_COUNTERS is not set +# default: +CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=y +# default: +CONFIG_SPI_FLASH_DANGEROUS_WRITE_ABORTS=y +# default: +# CONFIG_SPI_FLASH_DANGEROUS_WRITE_FAILS is not set +# default: +# CONFIG_SPI_FLASH_DANGEROUS_WRITE_ALLOWED is not set +# default: +# CONFIG_SPI_FLASH_SHARE_SPI1_BUS is not set +# default: +# CONFIG_SPI_FLASH_BYPASS_BLOCK_ERASE is not set +# default: +CONFIG_SPI_FLASH_YIELD_DURING_ERASE=y +# default: +CONFIG_SPI_FLASH_ERASE_YIELD_DURATION_MS=20 +# default: +CONFIG_SPI_FLASH_ERASE_YIELD_TICKS=1 +# default: +CONFIG_SPI_FLASH_WRITE_CHUNK_SIZE=8192 +# default: +# CONFIG_SPI_FLASH_SIZE_OVERRIDE is not set +# default: +# CONFIG_SPI_FLASH_CHECK_ERASE_TIMEOUT_DISABLED is not set +# default: +# CONFIG_SPI_FLASH_OVERRIDE_CHIP_DRIVER_LIST is not set + +# +# Auto-detect flash chips +# +# default: +CONFIG_SPI_FLASH_VENDOR_XMC_SUPPORT_ENABLED=y +# default: +CONFIG_SPI_FLASH_VENDOR_GD_SUPPORT_ENABLED=y +# default: +CONFIG_SPI_FLASH_VENDOR_ISSI_SUPPORT_ENABLED=y +# default: +CONFIG_SPI_FLASH_VENDOR_MXIC_SUPPORT_ENABLED=y +# default: +CONFIG_SPI_FLASH_VENDOR_WINBOND_SUPPORT_ENABLED=y +# default: +CONFIG_SPI_FLASH_SUPPORT_ISSI_CHIP=y +# default: +CONFIG_SPI_FLASH_SUPPORT_MXIC_CHIP=y +# default: +CONFIG_SPI_FLASH_SUPPORT_GD_CHIP=y +# default: +CONFIG_SPI_FLASH_SUPPORT_WINBOND_CHIP=y +# default: +# CONFIG_SPI_FLASH_SUPPORT_BOYA_CHIP is not set +# default: +# CONFIG_SPI_FLASH_SUPPORT_TH_CHIP is not set +# end of Auto-detect flash chips + +# default: +CONFIG_SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE=y +# end of SPI Flash driver + +# +# SPIFFS Configuration +# +# default: +CONFIG_SPIFFS_MAX_PARTITIONS=3 + +# +# SPIFFS Cache Configuration +# +# default: +CONFIG_SPIFFS_CACHE=y +# default: +CONFIG_SPIFFS_CACHE_WR=y +# default: +# CONFIG_SPIFFS_CACHE_STATS is not set +# end of SPIFFS Cache Configuration + +# default: +CONFIG_SPIFFS_PAGE_CHECK=y +# default: +CONFIG_SPIFFS_GC_MAX_RUNS=10 +# default: +# CONFIG_SPIFFS_GC_STATS is not set +# default: +CONFIG_SPIFFS_PAGE_SIZE=256 +# default: +CONFIG_SPIFFS_OBJ_NAME_LEN=32 +# default: +# CONFIG_SPIFFS_FOLLOW_SYMLINKS is not set +# default: +CONFIG_SPIFFS_USE_MAGIC=y +# default: +CONFIG_SPIFFS_USE_MAGIC_LENGTH=y +# default: +CONFIG_SPIFFS_META_LENGTH=4 +# default: +CONFIG_SPIFFS_USE_MTIME=y + +# +# Debug Configuration +# +# default: +# CONFIG_SPIFFS_DBG is not set +# default: +# CONFIG_SPIFFS_API_DBG is not set +# default: +# CONFIG_SPIFFS_GC_DBG is not set +# default: +# CONFIG_SPIFFS_CACHE_DBG is not set +# default: +# CONFIG_SPIFFS_CHECK_DBG is not set +# default: +# CONFIG_SPIFFS_TEST_VISUALISATION is not set +# end of Debug Configuration +# end of SPIFFS Configuration + +# +# TCP Transport +# + +# +# Websocket +# +# default: +CONFIG_WS_TRANSPORT=y +# default: +CONFIG_WS_BUFFER_SIZE=1024 +# default: +# CONFIG_WS_DYNAMIC_BUFFER is not set +# end of Websocket +# end of TCP Transport + +# +# Ultra Low Power (ULP) Co-processor +# +# default: +# CONFIG_ULP_COPROC_ENABLED is not set + +# +# ULP Debugging Options +# +# end of ULP Debugging Options +# end of Ultra Low Power (ULP) Co-processor + +# +# Unity unit testing library +# +# default: +CONFIG_UNITY_ENABLE_FLOAT=y +# default: +CONFIG_UNITY_ENABLE_DOUBLE=y +# default: +# CONFIG_UNITY_ENABLE_64BIT is not set +# default: +# CONFIG_UNITY_ENABLE_COLOR is not set +# default: +CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER=y +# default: +# CONFIG_UNITY_ENABLE_FIXTURE is not set +# default: +# CONFIG_UNITY_ENABLE_BACKTRACE_ON_FAIL is not set +# default: +# CONFIG_UNITY_TEST_ORDER_BY_FILE_PATH_AND_LINE is not set +# end of Unity unit testing library + +# +# Virtual file system +# +# default: +CONFIG_VFS_SUPPORT_IO=y +# default: +CONFIG_VFS_SUPPORT_DIR=y +# default: +CONFIG_VFS_SUPPORT_SELECT=y +# default: +CONFIG_VFS_SUPPRESS_SELECT_DEBUG_OUTPUT=y +# default: +# CONFIG_VFS_SELECT_IN_RAM is not set +# default: +CONFIG_VFS_SUPPORT_TERMIOS=y +# default: +CONFIG_VFS_MAX_COUNT=8 + +# +# Host File System I/O (Semihosting) +# +# default: +CONFIG_VFS_SEMIHOSTFS_MAX_MOUNT_POINTS=1 +# end of Host File System I/O (Semihosting) + +# default: +CONFIG_VFS_INITIALIZE_DEV_NULL=y +# end of Virtual file system + +# +# Wear Levelling +# +# default: +# CONFIG_WL_SECTOR_SIZE_512 is not set +# default: +CONFIG_WL_SECTOR_SIZE_4096=y +# default: +CONFIG_WL_SECTOR_SIZE=4096 +# end of Wear Levelling + +# +# Wi-Fi Provisioning Manager +# +# default: +CONFIG_WIFI_PROV_SCAN_MAX_ENTRIES=16 +# default: +CONFIG_WIFI_PROV_AUTOSTOP_TIMEOUT=30 +# default: +CONFIG_WIFI_PROV_STA_ALL_CHANNEL_SCAN=y +# default: +# CONFIG_WIFI_PROV_STA_FAST_SCAN is not set +# end of Wi-Fi Provisioning Manager + +# +# DSP Library +# +# default: +CONFIG_DSP_OPTIMIZATIONS_SUPPORTED=y +# default: +# CONFIG_DSP_ANSI is not set +# default: +CONFIG_DSP_OPTIMIZED=y +# default: +CONFIG_DSP_OPTIMIZATION=1 +# default: +# CONFIG_DSP_MAX_FFT_SIZE_512 is not set +# default: +# CONFIG_DSP_MAX_FFT_SIZE_1024 is not set +# default: +# CONFIG_DSP_MAX_FFT_SIZE_2048 is not set +# default: +CONFIG_DSP_MAX_FFT_SIZE_4096=y +# default: +# CONFIG_DSP_MAX_FFT_SIZE_8192 is not set +# default: +# CONFIG_DSP_MAX_FFT_SIZE_16384 is not set +# default: +# CONFIG_DSP_MAX_FFT_SIZE_32768 is not set +# default: +CONFIG_DSP_MAX_FFT_SIZE=4096 +# end of DSP Library + +# +# Modbus configuration +# +# default: +CONFIG_FMB_COMM_MODE_TCP_EN=y +# default: +CONFIG_FMB_TCP_PORT_DEFAULT=502 +# default: +CONFIG_FMB_TCP_PORT_MAX_CONN=5 +# default: +CONFIG_FMB_TCP_CONNECTION_TOUT_SEC=20 +# default: +# CONFIG_FMB_TCP_UID_ENABLED is not set +# default: +CONFIG_FMB_COMM_MODE_RTU_EN=y +# default: +CONFIG_FMB_COMM_MODE_ASCII_EN=y +# default: +CONFIG_FMB_MASTER_TIMEOUT_MS_RESPOND=3000 +# default: +CONFIG_FMB_MASTER_DELAY_MS_CONVERT=200 +# default: +CONFIG_FMB_QUEUE_LENGTH=20 +# default: +CONFIG_FMB_PORT_TASK_STACK_SIZE=4096 +# default: +CONFIG_FMB_SERIAL_BUF_SIZE=256 +# default: +CONFIG_FMB_SERIAL_ASCII_BITS_PER_SYMB=8 +# default: +CONFIG_FMB_ASCII_TIMEOUT_WAIT_BEFORE_SEND_MS=0 +# default: +CONFIG_FMB_SERIAL_ASCII_TIMEOUT_RESPOND_MS=1000 +# default: +CONFIG_FMB_PORT_TASK_PRIO=10 +# default: +# CONFIG_FMB_PORT_TASK_AFFINITY_NO_AFFINITY is not set +# default: +CONFIG_FMB_PORT_TASK_AFFINITY_CPU0=y +# default: +# CONFIG_FMB_PORT_TASK_AFFINITY_CPU1 is not set +# default: +CONFIG_FMB_PORT_TASK_AFFINITY=0x0 +# default: +CONFIG_FMB_CONTROLLER_SLAVE_ID_SUPPORT=y +# default: +CONFIG_FMB_CONTROLLER_SLAVE_ID=0x00112233 +# default: +CONFIG_FMB_CONTROLLER_SLAVE_ID_MAX_SIZE=32 +# default: +CONFIG_FMB_CONTROLLER_NOTIFY_TIMEOUT=20 +# default: +CONFIG_FMB_CONTROLLER_NOTIFY_QUEUE_SIZE=20 +# default: +CONFIG_FMB_CONTROLLER_STACK_SIZE=4096 +# default: +CONFIG_FMB_EVENT_QUEUE_TIMEOUT=20 +# default: +# CONFIG_FMB_TIMER_PORT_ENABLED is not set +# default: +# CONFIG_FMB_TIMER_USE_ISR_DISPATCH_METHOD is not set +# default: +# CONFIG_FMB_EXT_TYPE_SUPPORT is not set +# end of Modbus configuration + +# +# ESP serial flasher +# +# default: +CONFIG_SERIAL_FLASHER_MD5_ENABLED=y +# default: +CONFIG_SERIAL_FLASHER_RESET_HOLD_TIME_MS=100 +# default: +CONFIG_SERIAL_FLASHER_BOOT_HOLD_TIME_MS=50 +# end of ESP serial flasher + +# +# Zigbee +# +# default: +# CONFIG_ZB_ENABLED is not set +# end of Zigbee + +# +# Diagnostics data store +# +# default: +CONFIG_DIAG_DATA_STORE_RTC=y +# default: +# CONFIG_DIAG_DATA_STORE_FLASH is not set +# default: +# CONFIG_DIAG_DATA_STORE_DBG_PRINTS is not set +# default: +CONFIG_DIAG_DATA_STORE_REPORTING_WATERMARK_PERCENT=80 + +# +# RTC Store +# +# default: +CONFIG_RTC_STORE_DATA_SIZE=3072 +# default: +CONFIG_RTC_STORE_CRITICAL_DATA_SIZE=2048 +# end of RTC Store +# end of Diagnostics data store + +# +# Diagnostics +# +# default: +CONFIG_DIAG_LOG_MSG_ARG_FORMAT_TLV=y +# default: +# CONFIG_DIAG_LOG_MSG_ARG_FORMAT_STRING is not set +# default: +CONFIG_DIAG_LOG_MSG_ARG_MAX_SIZE=64 +# default: +CONFIG_DIAG_LOG_DROP_WIFI_LOGS=y +# default: +CONFIG_DIAG_ENABLE_METRICS=y +# default: +CONFIG_DIAG_METRICS_MAX_COUNT=20 +# default: +CONFIG_DIAG_ENABLE_HEAP_METRICS=y +# default: +CONFIG_DIAG_ENABLE_WIFI_METRICS=y +# default: +CONFIG_DIAG_ENABLE_VARIABLES=y +# default: +CONFIG_DIAG_VARIABLES_MAX_COUNT=20 +# default: +CONFIG_DIAG_ENABLE_NETWORK_VARIABLES=y +# default: +# CONFIG_DIAG_MORE_NETWORK_VARS is not set +# default: +# CONFIG_DIAG_USE_EXTERNAL_LOG_WRAP is not set +# end of Diagnostics + +# +# ESP Insights +# +# default: +# CONFIG_ESP_INSIGHTS_ENABLED is not set +# default: +# CONFIG_ESP_INSIGHTS_TRANSPORT_MQTT is not set +# default: +CONFIG_ESP_INSIGHTS_TRANSPORT_HTTPS=y +# default: +CONFIG_ESP_INSIGHTS_TRANSPORT_HTTPS_HOST="https://client.insights.espressif.com" +# default: +CONFIG_ESP_INSIGHTS_CLOUD_POST_MIN_INTERVAL_SEC=60 +# default: +CONFIG_ESP_INSIGHTS_CLOUD_POST_MAX_INTERVAL_SEC=240 +# default: +CONFIG_ESP_INSIGHTS_META_VERSION_10=y +# end of ESP Insights + +# +# esp-modem +# +# default: +CONFIG_ESP_MODEM_CMUX_DEFRAGMENT_PAYLOAD=y +# default: +# CONFIG_ESP_MODEM_USE_INFLATABLE_BUFFER_IF_NEEDED is not set +# default: +CONFIG_ESP_MODEM_CMUX_DELAY_AFTER_DLCI_SETUP=0 +# default: +# CONFIG_ESP_MODEM_CMUX_USE_SHORT_PAYLOADS_ONLY is not set +# default: +# CONFIG_ESP_MODEM_ADD_CUSTOM_MODULE is not set +# default: +CONFIG_ESP_MODEM_C_API_STR_MAX=128 +# default: +# CONFIG_ESP_MODEM_URC_HANDLER is not set +# default: +# CONFIG_ESP_MODEM_PPP_ESCAPE_BEFORE_EXIT is not set +# default: +# CONFIG_ESP_MODEM_ADD_DEBUG_LOGS is not set +# default: +# CONFIG_ESP_MODEM_ENABLE_DEVELOPMENT_MODE is not set +# default: +CONFIG_ESP_MODEM_USE_PPP_MODE=y +# end of esp-modem + +# +# OpenThread RCP Update +# +# default: +# CONFIG_AUTO_UPDATE_RCP is not set +# default: +# CONFIG_CREATE_OTA_IMAGE_WITH_RCP_FW is not set +# end of OpenThread RCP Update + +# +# ESP Secure Cert Manager +# +# default: +# CONFIG_ESP_SECURE_CERT_SUPPORT_LEGACY_FORMATS is not set +# default: +# CONFIG_ESP_SECURE_CERT_WRITE_ENABLE_LOGGING is not set +# end of ESP Secure Cert Manager + +# +# jsmn +# +# default: +# CONFIG_JSMN_PARENT_LINKS is not set +# default: +# CONFIG_JSMN_STRICT is not set +# default: +# CONFIG_JSMN_STATIC is not set +# end of jsmn + +# +# libsodium +# +# default: +CONFIG_LIBSODIUM_USE_MBEDTLS_SHA=y +# end of libsodium + +# +# mDNS +# +# default: +CONFIG_MDNS_MAX_INTERFACES=3 +# default: +CONFIG_MDNS_MAX_SERVICES=10 +# default: +CONFIG_MDNS_TASK_PRIORITY=1 +# default: +CONFIG_MDNS_ACTION_QUEUE_LEN=16 +# default: +CONFIG_MDNS_TASK_STACK_SIZE=4096 +# default: +# CONFIG_MDNS_TASK_AFFINITY_NO_AFFINITY is not set +# default: +CONFIG_MDNS_TASK_AFFINITY_CPU0=y +# default: +# CONFIG_MDNS_TASK_AFFINITY_CPU1 is not set +# default: +CONFIG_MDNS_TASK_AFFINITY=0x0 + +# +# MDNS Memory Configuration +# +# default: +CONFIG_MDNS_TASK_CREATE_FROM_INTERNAL=y +# default: +CONFIG_MDNS_MEMORY_ALLOC_INTERNAL=y +# default: +# CONFIG_MDNS_MEMORY_CUSTOM_IMPL is not set +# end of MDNS Memory Configuration + +# default: +CONFIG_MDNS_SERVICE_ADD_TIMEOUT_MS=2000 +# default: +CONFIG_MDNS_TIMER_PERIOD_MS=100 +# default: +# CONFIG_MDNS_NETWORKING_SOCKET is not set +# default: +# CONFIG_MDNS_SKIP_SUPPRESSING_OWN_QUERIES is not set +# default: +# CONFIG_MDNS_ENABLE_DEBUG_PRINTS is not set +# default: +CONFIG_MDNS_ENABLE_CONSOLE_CLI=y +# default: +# CONFIG_MDNS_RESPOND_REVERSE_QUERIES is not set +# default: +CONFIG_MDNS_MULTIPLE_INSTANCE=y + +# +# MDNS Predefined interfaces +# +# default: +CONFIG_MDNS_PREDEF_NETIF_STA=y +# default: +CONFIG_MDNS_PREDEF_NETIF_AP=y +# default: +CONFIG_MDNS_PREDEF_NETIF_ETH=y +# end of MDNS Predefined interfaces +# end of mDNS + +# +# Network Provisioning Manager +# +# default: +CONFIG_NETWORK_PROV_NETWORK_TYPE_WIFI=y +# default: +CONFIG_NETWORK_PROV_SCAN_MAX_ENTRIES=16 +# default: +CONFIG_NETWORK_PROV_AUTOSTOP_TIMEOUT=30 +# default: +# CONFIG_NETWORK_PROV_BLE_FORCE_ENCRYPTION is not set +# default: +CONFIG_NETWORK_PROV_WIFI_STA_ALL_CHANNEL_SCAN=y +# default: +# CONFIG_NETWORK_PROV_WIFI_STA_FAST_SCAN is not set +# end of Network Provisioning Manager + +# +# ESP RainMaker Common +# +# default: +CONFIG_ESP_RMAKER_LIB_ESP_MQTT=y +# default: +# CONFIG_ESP_RMAKER_LIB_AWS_IOT is not set +# default: +CONFIG_ESP_RMAKER_MQTT_GLUE_LIB=1 +# default: +CONFIG_ESP_RMAKER_MQTT_PORT_443=y +# default: +# CONFIG_ESP_RMAKER_MQTT_PORT_8883 is not set +# default: +CONFIG_ESP_RMAKER_MQTT_PORT=1 +# default: +# CONFIG_ESP_RMAKER_MQTT_PERSISTENT_SESSION is not set +# default: +CONFIG_ESP_RMAKER_MQTT_SEND_USERNAME=y +# default: +CONFIG_ESP_RMAKER_MQTT_PRODUCT_NAME="RMDev" +# default: +CONFIG_ESP_RMAKER_MQTT_PRODUCT_VERSION="1x0" +# default: +CONFIG_ESP_RMAKER_MQTT_PRODUCT_SKU="EX00" +# default: +CONFIG_ESP_RMAKER_MQTT_USE_CERT_BUNDLE=y +# default: +CONFIG_ESP_RMAKER_MAX_MQTT_SUBSCRIPTIONS=10 +# default: +CONFIG_ESP_RMAKER_MQTT_KEEP_ALIVE_INTERVAL=120 +# default: +CONFIG_ESP_RMAKER_NETWORK_OVER_WIFI=y +# default: +CONFIG_ESP_RMAKER_WORK_QUEUE_TASK_STACK=4096 +# default: +CONFIG_ESP_RMAKER_WORK_QUEUE_TASK_PRIORITY=5 +# default: +CONFIG_ESP_RMAKER_FACTORY_PARTITION_NAME="fctry" +# default: +CONFIG_ESP_RMAKER_FACTORY_NAMESPACE="rmaker_creds" +# default: +CONFIG_ESP_RMAKER_DEF_TIMEZONE="Asia/Shanghai" +# default: +CONFIG_ESP_RMAKER_SNTP_SERVER_NAME="pool.ntp.org" +# default: +CONFIG_ESP_RMAKER_MAX_COMMANDS=10 +# end of ESP RainMaker Common + +# +# LittleFS +# +# default: +# CONFIG_LITTLEFS_SDMMC_SUPPORT is not set +# default: +CONFIG_LITTLEFS_MAX_PARTITIONS=3 +# default: +CONFIG_LITTLEFS_PAGE_SIZE=256 +# default: +CONFIG_LITTLEFS_OBJ_NAME_LEN=64 +# default: +CONFIG_LITTLEFS_READ_SIZE=128 +# default: +CONFIG_LITTLEFS_WRITE_SIZE=128 +# default: +CONFIG_LITTLEFS_LOOKAHEAD_SIZE=128 +# default: +CONFIG_LITTLEFS_CACHE_SIZE=512 +# default: +CONFIG_LITTLEFS_BLOCK_CYCLES=512 +# default: +CONFIG_LITTLEFS_USE_MTIME=y +# default: +# CONFIG_LITTLEFS_USE_ONLY_HASH is not set +# default: +# CONFIG_LITTLEFS_HUMAN_READABLE is not set +# default: +CONFIG_LITTLEFS_MTIME_USE_SECONDS=y +# default: +# CONFIG_LITTLEFS_MTIME_USE_NONCE is not set +# default: +# CONFIG_LITTLEFS_SPIFFS_COMPAT is not set +# default: +# CONFIG_LITTLEFS_FLUSH_FILE_EVERY_WRITE is not set +# default: +# CONFIG_LITTLEFS_FCNTL_GET_PATH is not set +# default: +# CONFIG_LITTLEFS_MULTIVERSION is not set +# default: +# CONFIG_LITTLEFS_MALLOC_STRATEGY_DISABLE is not set +# default: +CONFIG_LITTLEFS_MALLOC_STRATEGY_DEFAULT=y +# default: +# CONFIG_LITTLEFS_MALLOC_STRATEGY_INTERNAL is not set +# default: +CONFIG_LITTLEFS_ASSERTS=y +# default: +# CONFIG_LITTLEFS_MMAP_PARTITION is not set +# default: +# CONFIG_LITTLEFS_WDT_RESET is not set +# end of LittleFS +# end of Component config + +# default: +# CONFIG_IDF_EXPERIMENTAL_FEATURES is not set + +# Deprecated options for backward compatibility +# CONFIG_APP_BUILD_TYPE_ELF_RAM is not set +# CONFIG_NO_BLOBS is not set +# CONFIG_ESP32_NO_BLOBS is not set +# CONFIG_ESP32_COMPATIBLE_PRE_V2_1_BOOTLOADERS is not set +# CONFIG_ESP32_COMPATIBLE_PRE_V3_1_BOOTLOADERS is not set +# CONFIG_APP_ROLLBACK_ENABLE is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_NONE is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_ERROR is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_WARN is not set +CONFIG_LOG_BOOTLOADER_LEVEL_INFO=y +# CONFIG_LOG_BOOTLOADER_LEVEL_DEBUG is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_VERBOSE is not set +CONFIG_LOG_BOOTLOADER_LEVEL=3 +# CONFIG_FLASH_ENCRYPTION_ENABLED is not set +# CONFIG_FLASHMODE_QIO is not set +# CONFIG_FLASHMODE_QOUT is not set +CONFIG_FLASHMODE_DIO=y +# CONFIG_FLASHMODE_DOUT is not set +CONFIG_MONITOR_BAUD=115200 +# CONFIG_ESP_RMAKER_LOCAL_CTRL_ENABLE is not set +CONFIG_OPTIMIZATION_LEVEL_DEBUG=y +CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG=y +CONFIG_COMPILER_OPTIMIZATION_DEFAULT=y +# CONFIG_OPTIMIZATION_LEVEL_RELEASE is not set +# CONFIG_COMPILER_OPTIMIZATION_LEVEL_RELEASE is not set +CONFIG_OPTIMIZATION_ASSERTIONS_ENABLED=y +# CONFIG_OPTIMIZATION_ASSERTIONS_SILENT is not set +# CONFIG_OPTIMIZATION_ASSERTIONS_DISABLED is not set +CONFIG_OPTIMIZATION_ASSERTION_LEVEL=2 +# CONFIG_CXX_EXCEPTIONS is not set +CONFIG_STACK_CHECK_NONE=y +# CONFIG_STACK_CHECK_NORM is not set +# CONFIG_STACK_CHECK_STRONG is not set +# CONFIG_STACK_CHECK_ALL is not set +# CONFIG_WARN_WRITE_STRINGS is not set +# CONFIG_ESP32_APPTRACE_DEST_TRAX is not set +CONFIG_ESP32_APPTRACE_DEST_NONE=y +CONFIG_ESP32_APPTRACE_LOCK_ENABLE=y +CONFIG_ADC2_DISABLE_DAC=y +# CONFIG_GPTIMER_ISR_IRAM_SAFE is not set +# CONFIG_MCPWM_ISR_IRAM_SAFE is not set +# CONFIG_EVENT_LOOP_PROFILING is not set +CONFIG_POST_EVENTS_FROM_ISR=y +CONFIG_POST_EVENTS_FROM_IRAM_ISR=y +CONFIG_GDBSTUB_SUPPORT_TASKS=y +CONFIG_GDBSTUB_MAX_TASKS=32 +# CONFIG_OTA_ALLOW_HTTP is not set +# CONFIG_TWO_UNIVERSAL_MAC_ADDRESS is not set +CONFIG_FOUR_UNIVERSAL_MAC_ADDRESS=y +CONFIG_NUMBER_OF_UNIVERSAL_MAC_ADDRESS=4 +# CONFIG_ESP_SYSTEM_PD_FLASH is not set +CONFIG_ESP32_DEEP_SLEEP_WAKEUP_DELAY=2000 +CONFIG_ESP_SLEEP_DEEP_SLEEP_WAKEUP_DELAY=2000 +CONFIG_ESP32_RTC_CLK_SRC_INT_RC=y +CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_RC=y +# CONFIG_ESP32_RTC_CLK_SRC_EXT_CRYS is not set +# CONFIG_ESP32_RTC_CLOCK_SOURCE_EXTERNAL_CRYSTAL is not set +# CONFIG_ESP32_RTC_CLK_SRC_EXT_OSC is not set +# CONFIG_ESP32_RTC_CLOCK_SOURCE_EXTERNAL_OSC is not set +# CONFIG_ESP32_RTC_CLK_SRC_INT_8MD256 is not set +# CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_8MD256 is not set +CONFIG_ESP32_RTC_CLK_CAL_CYCLES=1024 +CONFIG_PERIPH_CTRL_FUNC_IN_IRAM=y +# CONFIG_ESP32_XTAL_FREQ_26 is not set +CONFIG_ESP32_XTAL_FREQ_40=y +# CONFIG_ESP32_XTAL_FREQ_AUTO is not set +CONFIG_ESP32_XTAL_FREQ=40 +CONFIG_BROWNOUT_DET=y +CONFIG_ESP32_BROWNOUT_DET=y +CONFIG_BROWNOUT_DET_LVL_SEL_0=y +CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_0=y +# CONFIG_BROWNOUT_DET_LVL_SEL_1 is not set +# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_1 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_2 is not set +# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_2 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_3 is not set +# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_3 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_4 is not set +# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_4 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_5 is not set +# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_5 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_6 is not set +# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_6 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_7 is not set +# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_7 is not set +CONFIG_BROWNOUT_DET_LVL=0 +CONFIG_ESP32_BROWNOUT_DET_LVL=0 +CONFIG_ESP_SYSTEM_BROWNOUT_INTR=y +CONFIG_ESP32_PHY_CALIBRATION_AND_DATA_STORAGE=y +# CONFIG_ESP32_PHY_INIT_DATA_IN_PARTITION is not set +CONFIG_ESP32_PHY_MAX_WIFI_TX_POWER=20 +CONFIG_ESP32_PHY_MAX_TX_POWER=20 +# CONFIG_REDUCE_PHY_TX_POWER is not set +# CONFIG_ESP32_REDUCE_PHY_TX_POWER is not set +# CONFIG_SPIRAM_SUPPORT is not set +# CONFIG_ESP32_SPIRAM_SUPPORT is not set +# CONFIG_ESP32_DEFAULT_CPU_FREQ_80 is not set +CONFIG_ESP32_DEFAULT_CPU_FREQ_160=y +# CONFIG_ESP32_DEFAULT_CPU_FREQ_240 is not set +CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ=160 +CONFIG_TRACEMEM_RESERVE_DRAM=0x0 +# CONFIG_ESP32_PANIC_PRINT_HALT is not set +CONFIG_ESP32_PANIC_PRINT_REBOOT=y +# CONFIG_ESP32_PANIC_SILENT_REBOOT is not set +# CONFIG_ESP32_PANIC_GDBSTUB is not set +CONFIG_SYSTEM_EVENT_QUEUE_SIZE=32 +CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE=2304 +CONFIG_MAIN_TASK_STACK_SIZE=8192 +CONFIG_CONSOLE_UART_DEFAULT=y +# CONFIG_CONSOLE_UART_CUSTOM is not set +# CONFIG_CONSOLE_UART_NONE is not set +# CONFIG_ESP_CONSOLE_UART_NONE is not set +CONFIG_CONSOLE_UART=y +CONFIG_CONSOLE_UART_NUM=0 +CONFIG_CONSOLE_UART_BAUDRATE=115200 +CONFIG_INT_WDT=y +CONFIG_INT_WDT_TIMEOUT_MS=300 +CONFIG_INT_WDT_CHECK_CPU1=y +CONFIG_TASK_WDT=y +CONFIG_ESP_TASK_WDT=y +# CONFIG_TASK_WDT_PANIC is not set +CONFIG_TASK_WDT_TIMEOUT_S=5 +CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU0=y +CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU1=y +# CONFIG_ESP32_DEBUG_STUBS_ENABLE is not set +CONFIG_ESP32_DEBUG_OCDAWARE=y +# CONFIG_DISABLE_BASIC_ROM_CONSOLE is not set +CONFIG_IPC_TASK_STACK_SIZE=1024 +CONFIG_TIMER_TASK_STACK_SIZE=3584 +CONFIG_ESP32_WIFI_ENABLED=y +CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=10 +CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=32 +# CONFIG_ESP32_WIFI_STATIC_TX_BUFFER is not set +CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER=y +CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=1 +CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER_NUM=32 +# CONFIG_ESP32_WIFI_CSI_ENABLED is not set +CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED=y +CONFIG_ESP32_WIFI_TX_BA_WIN=6 +CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y +CONFIG_ESP32_WIFI_RX_BA_WIN=6 +CONFIG_ESP32_WIFI_NVS_ENABLED=y +CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_0=y +# CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_1 is not set +CONFIG_ESP32_WIFI_SOFTAP_BEACON_MAX_LEN=752 +CONFIG_ESP32_WIFI_MGMT_SBUF_NUM=32 +CONFIG_ESP32_WIFI_IRAM_OPT=y +CONFIG_ESP32_WIFI_RX_IRAM_OPT=y +CONFIG_ESP32_WIFI_ENABLE_WPA3_SAE=y +CONFIG_ESP32_WIFI_ENABLE_WPA3_OWE_STA=y +CONFIG_WPA_MBEDTLS_CRYPTO=y +CONFIG_WPA_MBEDTLS_TLS_CLIENT=y +# CONFIG_WPA_WAPI_PSK is not set +# CONFIG_WPA_11KV_SUPPORT is not set +# CONFIG_WPA_MBO_SUPPORT is not set +# CONFIG_WPA_DPP_SUPPORT is not set +# CONFIG_WPA_11R_SUPPORT is not set +# CONFIG_WPA_WPS_SOFTAP_REGISTRAR is not set +# CONFIG_WPA_WPS_STRICT is not set +# CONFIG_WPA_DEBUG_PRINT is not set +# CONFIG_ESP32_ENABLE_COREDUMP_TO_FLASH is not set +# CONFIG_ESP32_ENABLE_COREDUMP_TO_UART is not set +CONFIG_ESP32_ENABLE_COREDUMP_TO_NONE=y +CONFIG_TIMER_TASK_PRIORITY=1 +CONFIG_TIMER_TASK_STACK_DEPTH=2048 +CONFIG_TIMER_QUEUE_LENGTH=10 +# CONFIG_ENABLE_STATIC_TASK_CLEAN_UP_HOOK is not set +# CONFIG_HAL_ASSERTION_SILIENT is not set +# CONFIG_L2_TO_L3_COPY is not set +CONFIG_ESP_GRATUITOUS_ARP=y +CONFIG_GARP_TMR_INTERVAL=60 +CONFIG_TCPIP_RECVMBOX_SIZE=32 +CONFIG_TCP_MAXRTX=12 +CONFIG_TCP_SYNMAXRTX=12 +CONFIG_TCP_MSS=1440 +CONFIG_TCP_MSL=60000 +CONFIG_TCP_SND_BUF_DEFAULT=5760 +CONFIG_TCP_WND_DEFAULT=5760 +CONFIG_TCP_RECVMBOX_SIZE=6 +CONFIG_TCP_QUEUE_OOSEQ=y +CONFIG_TCP_OVERSIZE_MSS=y +# CONFIG_TCP_OVERSIZE_QUARTER_MSS is not set +# CONFIG_TCP_OVERSIZE_DISABLE is not set +CONFIG_UDP_RECVMBOX_SIZE=6 +CONFIG_TCPIP_TASK_STACK_SIZE=3072 +CONFIG_TCPIP_TASK_AFFINITY_NO_AFFINITY=y +# CONFIG_TCPIP_TASK_AFFINITY_CPU0 is not set +# CONFIG_TCPIP_TASK_AFFINITY_CPU1 is not set +CONFIG_TCPIP_TASK_AFFINITY=0x7FFFFFFF +CONFIG_PPP_SUPPORT=y +# CONFIG_PPP_NOTIFY_PHASE_SUPPORT is not set +# CONFIG_PPP_PAP_SUPPORT is not set +# CONFIG_PPP_CHAP_SUPPORT is not set +# CONFIG_PPP_MSCHAP_SUPPORT is not set +# CONFIG_PPP_MPPE_SUPPORT is not set +# CONFIG_PPP_DEBUG_ON is not set +CONFIG_NEWLIB_STDOUT_LINE_ENDING_CRLF=y +# CONFIG_NEWLIB_STDOUT_LINE_ENDING_LF is not set +# CONFIG_NEWLIB_STDOUT_LINE_ENDING_CR is not set +# CONFIG_NEWLIB_STDIN_LINE_ENDING_CRLF is not set +# CONFIG_NEWLIB_STDIN_LINE_ENDING_LF is not set +CONFIG_NEWLIB_STDIN_LINE_ENDING_CR=y +# CONFIG_NEWLIB_NANO_FORMAT is not set +CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC_HRT=y +CONFIG_ESP32_TIME_SYSCALL_USE_RTC_HRT=y +CONFIG_ESP32_TIME_SYSCALL_USE_RTC_FRC1=y +# CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC is not set +# CONFIG_ESP32_TIME_SYSCALL_USE_RTC is not set +# CONFIG_NEWLIB_TIME_SYSCALL_USE_HRT is not set +# CONFIG_ESP32_TIME_SYSCALL_USE_HRT is not set +# CONFIG_ESP32_TIME_SYSCALL_USE_FRC1 is not set +# CONFIG_NEWLIB_TIME_SYSCALL_USE_NONE is not set +# CONFIG_ESP32_TIME_SYSCALL_USE_NONE is not set +CONFIG_ESP32_PTHREAD_TASK_PRIO_DEFAULT=5 +CONFIG_ESP32_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 +CONFIG_ESP32_PTHREAD_STACK_MIN=768 +CONFIG_ESP32_DEFAULT_PTHREAD_CORE_NO_AFFINITY=y +# CONFIG_ESP32_DEFAULT_PTHREAD_CORE_0 is not set +# CONFIG_ESP32_DEFAULT_PTHREAD_CORE_1 is not set +CONFIG_ESP32_PTHREAD_TASK_CORE_DEFAULT=-1 +CONFIG_ESP32_PTHREAD_TASK_NAME_DEFAULT="pthread" +CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ABORTS=y +# CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_FAILS is not set +# CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ALLOWED is not set +# CONFIG_ESP32_ULP_COPROC_ENABLED is not set +CONFIG_SUPPRESS_SELECT_DEBUG_OUTPUT=y +CONFIG_SUPPORT_TERMIOS=y +CONFIG_SEMIHOSTFS_MAX_MOUNT_POINTS=1 +CONFIG_MB_MASTER_TIMEOUT_MS_RESPOND=3000 +CONFIG_MB_MASTER_DELAY_MS_CONVERT=200 +CONFIG_MB_QUEUE_LENGTH=20 +CONFIG_MB_SERIAL_TASK_STACK_SIZE=4096 +CONFIG_MB_SERIAL_BUF_SIZE=256 +CONFIG_MB_SERIAL_TASK_PRIO=10 +CONFIG_MB_CONTROLLER_SLAVE_ID_SUPPORT=y +CONFIG_MB_CONTROLLER_SLAVE_ID=0x00112233 +CONFIG_MB_CONTROLLER_NOTIFY_TIMEOUT=20 +CONFIG_MB_CONTROLLER_NOTIFY_QUEUE_SIZE=20 +CONFIG_MB_CONTROLLER_STACK_SIZE=4096 +CONFIG_MB_EVENT_QUEUE_TIMEOUT=20 +# CONFIG_MB_TIMER_PORT_ENABLED is not set +# End of deprecated options diff --git a/sdkconfig.ci-build b/sdkconfig.ci-build new file mode 100644 index 00000000..1d53ca14 --- /dev/null +++ b/sdkconfig.ci-build @@ -0,0 +1,4780 @@ +# +# Automatically generated file. DO NOT EDIT. +# Espressif IoT Development Framework (ESP-IDF) 5.5.4 Project Configuration +# +# default: +CONFIG_SOC_ADC_SUPPORTED=y +# default: +CONFIG_SOC_UART_SUPPORTED=y +# default: +CONFIG_SOC_PCNT_SUPPORTED=y +# default: +CONFIG_SOC_PHY_SUPPORTED=y +# default: +CONFIG_SOC_WIFI_SUPPORTED=y +# default: +CONFIG_SOC_TWAI_SUPPORTED=y +# default: +CONFIG_SOC_GDMA_SUPPORTED=y +# default: +CONFIG_SOC_UHCI_SUPPORTED=y +# default: +CONFIG_SOC_AHB_GDMA_SUPPORTED=y +# default: +CONFIG_SOC_GPTIMER_SUPPORTED=y +# default: +CONFIG_SOC_LCDCAM_SUPPORTED=y +# default: +CONFIG_SOC_LCDCAM_CAM_SUPPORTED=y +# default: +CONFIG_SOC_LCDCAM_I80_LCD_SUPPORTED=y +# default: +CONFIG_SOC_LCDCAM_RGB_LCD_SUPPORTED=y +# default: +CONFIG_SOC_MCPWM_SUPPORTED=y +# default: +CONFIG_SOC_DEDICATED_GPIO_SUPPORTED=y +# default: +CONFIG_SOC_CACHE_SUPPORT_WRAP=y +# default: +CONFIG_SOC_ULP_SUPPORTED=y +# default: +CONFIG_SOC_ULP_FSM_SUPPORTED=y +# default: +CONFIG_SOC_RISCV_COPROC_SUPPORTED=y +# default: +CONFIG_SOC_BT_SUPPORTED=y +# default: +CONFIG_SOC_USB_OTG_SUPPORTED=y +# default: +CONFIG_SOC_USB_SERIAL_JTAG_SUPPORTED=y +# default: +CONFIG_SOC_CCOMP_TIMER_SUPPORTED=y +# default: +CONFIG_SOC_ASYNC_MEMCPY_SUPPORTED=y +# default: +CONFIG_SOC_SUPPORTS_SECURE_DL_MODE=y +# default: +CONFIG_SOC_EFUSE_KEY_PURPOSE_FIELD=y +# default: +CONFIG_SOC_EFUSE_SUPPORTED=y +# default: +CONFIG_SOC_SDMMC_HOST_SUPPORTED=y +# default: +CONFIG_SOC_RTC_FAST_MEM_SUPPORTED=y +# default: +CONFIG_SOC_RTC_SLOW_MEM_SUPPORTED=y +# default: +CONFIG_SOC_RTC_MEM_SUPPORTED=y +# default: +CONFIG_SOC_PSRAM_DMA_CAPABLE=y +# default: +CONFIG_SOC_XT_WDT_SUPPORTED=y +# default: +CONFIG_SOC_I2S_SUPPORTED=y +# default: +CONFIG_SOC_RMT_SUPPORTED=y +# default: +CONFIG_SOC_SDM_SUPPORTED=y +# default: +CONFIG_SOC_GPSPI_SUPPORTED=y +# default: +CONFIG_SOC_LEDC_SUPPORTED=y +# default: +CONFIG_SOC_I2C_SUPPORTED=y +# default: +CONFIG_SOC_SYSTIMER_SUPPORTED=y +# default: +CONFIG_SOC_SUPPORT_COEXISTENCE=y +# default: +CONFIG_SOC_TEMP_SENSOR_SUPPORTED=y +# default: +CONFIG_SOC_AES_SUPPORTED=y +# default: +CONFIG_SOC_MPI_SUPPORTED=y +# default: +CONFIG_SOC_SHA_SUPPORTED=y +# default: +CONFIG_SOC_HMAC_SUPPORTED=y +# default: +CONFIG_SOC_DIG_SIGN_SUPPORTED=y +# default: +CONFIG_SOC_FLASH_ENC_SUPPORTED=y +# default: +CONFIG_SOC_SECURE_BOOT_SUPPORTED=y +# default: +CONFIG_SOC_MEMPROT_SUPPORTED=y +# default: +CONFIG_SOC_TOUCH_SENSOR_SUPPORTED=y +# default: +CONFIG_SOC_BOD_SUPPORTED=y +# default: +CONFIG_SOC_CLK_TREE_SUPPORTED=y +# default: +CONFIG_SOC_MPU_SUPPORTED=y +# default: +CONFIG_SOC_WDT_SUPPORTED=y +# default: +CONFIG_SOC_SPI_FLASH_SUPPORTED=y +# default: +CONFIG_SOC_RNG_SUPPORTED=y +# default: +CONFIG_SOC_LIGHT_SLEEP_SUPPORTED=y +# default: +CONFIG_SOC_DEEP_SLEEP_SUPPORTED=y +# default: +CONFIG_SOC_LP_PERIPH_SHARE_INTERRUPT=y +# default: +CONFIG_SOC_PM_SUPPORTED=y +# default: +CONFIG_SOC_SIMD_INSTRUCTION_SUPPORTED=y +# default: +CONFIG_SOC_XTAL_SUPPORT_40M=y +# default: +CONFIG_SOC_APPCPU_HAS_CLOCK_GATING_BUG=y +# default: +CONFIG_SOC_ADC_RTC_CTRL_SUPPORTED=y +# default: +CONFIG_SOC_ADC_DIG_CTRL_SUPPORTED=y +# default: +CONFIG_SOC_ADC_ARBITER_SUPPORTED=y +# default: +CONFIG_SOC_ADC_DIG_IIR_FILTER_SUPPORTED=y +# default: +CONFIG_SOC_ADC_MONITOR_SUPPORTED=y +# default: +CONFIG_SOC_ADC_DMA_SUPPORTED=y +# default: +CONFIG_SOC_ADC_PERIPH_NUM=2 +# default: +CONFIG_SOC_ADC_MAX_CHANNEL_NUM=10 +# default: +CONFIG_SOC_ADC_ATTEN_NUM=4 +# default: +CONFIG_SOC_ADC_DIGI_CONTROLLER_NUM=2 +# default: +CONFIG_SOC_ADC_PATT_LEN_MAX=24 +# default: +CONFIG_SOC_ADC_DIGI_MIN_BITWIDTH=12 +# default: +CONFIG_SOC_ADC_DIGI_MAX_BITWIDTH=12 +# default: +CONFIG_SOC_ADC_DIGI_RESULT_BYTES=4 +# default: +CONFIG_SOC_ADC_DIGI_DATA_BYTES_PER_CONV=4 +# default: +CONFIG_SOC_ADC_DIGI_IIR_FILTER_NUM=2 +# default: +CONFIG_SOC_ADC_DIGI_MONITOR_NUM=2 +# default: +CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_HIGH=83333 +# default: +CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_LOW=611 +# default: +CONFIG_SOC_ADC_RTC_MIN_BITWIDTH=12 +# default: +CONFIG_SOC_ADC_RTC_MAX_BITWIDTH=12 +# default: +CONFIG_SOC_ADC_CALIBRATION_V1_SUPPORTED=y +# default: +CONFIG_SOC_ADC_SELF_HW_CALI_SUPPORTED=y +# default: +CONFIG_SOC_ADC_SHARED_POWER=y +# default: +CONFIG_SOC_APB_BACKUP_DMA=y +# default: +CONFIG_SOC_BROWNOUT_RESET_SUPPORTED=y +# default: +CONFIG_SOC_CACHE_WRITEBACK_SUPPORTED=y +# default: +CONFIG_SOC_CACHE_FREEZE_SUPPORTED=y +# default: +CONFIG_SOC_CACHE_ACS_INVALID_STATE_ON_PANIC=y +# default: +CONFIG_SOC_CPU_CORES_NUM=2 +# default: +CONFIG_SOC_CPU_INTR_NUM=32 +# default: +CONFIG_SOC_CPU_HAS_FPU=y +# default: +CONFIG_SOC_HP_CPU_HAS_MULTIPLE_CORES=y +# default: +CONFIG_SOC_CPU_BREAKPOINTS_NUM=2 +# default: +CONFIG_SOC_CPU_WATCHPOINTS_NUM=2 +# default: +CONFIG_SOC_CPU_WATCHPOINT_MAX_REGION_SIZE=0x40 +# default: +CONFIG_SOC_SIMD_PREFERRED_DATA_ALIGNMENT=16 +# default: +CONFIG_SOC_DS_SIGNATURE_MAX_BIT_LEN=4096 +# default: +CONFIG_SOC_DS_KEY_PARAM_MD_IV_LENGTH=16 +# default: +CONFIG_SOC_DS_KEY_CHECK_MAX_WAIT_US=1100 +# default: +CONFIG_SOC_AHB_GDMA_VERSION=1 +# default: +CONFIG_SOC_GDMA_NUM_GROUPS_MAX=1 +# default: +CONFIG_SOC_GDMA_PAIRS_PER_GROUP=5 +# default: +CONFIG_SOC_GDMA_PAIRS_PER_GROUP_MAX=5 +# default: +CONFIG_SOC_AHB_GDMA_SUPPORT_PSRAM=y +# default: +CONFIG_SOC_GPIO_PORT=1 +# default: +CONFIG_SOC_GPIO_PIN_COUNT=49 +# default: +CONFIG_SOC_GPIO_SUPPORT_PIN_GLITCH_FILTER=y +# default: +CONFIG_SOC_GPIO_FILTER_CLK_SUPPORT_APB=y +# default: +CONFIG_SOC_GPIO_SUPPORT_RTC_INDEPENDENT=y +# default: +CONFIG_SOC_GPIO_SUPPORT_FORCE_HOLD=y +# default: +CONFIG_SOC_GPIO_VALID_GPIO_MASK=0x1FFFFFFFFFFFF +# default: +CONFIG_SOC_GPIO_IN_RANGE_MAX=48 +# default: +CONFIG_SOC_GPIO_OUT_RANGE_MAX=48 +# default: +CONFIG_SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK=0x0001FFFFFC000000 +# default: +CONFIG_SOC_GPIO_CLOCKOUT_BY_IO_MUX=y +# default: +CONFIG_SOC_GPIO_CLOCKOUT_CHANNEL_NUM=3 +# default: +CONFIG_SOC_DEDIC_GPIO_OUT_CHANNELS_NUM=8 +# default: +CONFIG_SOC_DEDIC_GPIO_IN_CHANNELS_NUM=8 +# default: +CONFIG_SOC_DEDIC_GPIO_OUT_AUTO_ENABLE=y +# default: +CONFIG_SOC_I2C_NUM=2 +# default: +CONFIG_SOC_HP_I2C_NUM=2 +# default: +CONFIG_SOC_I2C_FIFO_LEN=32 +# default: +CONFIG_SOC_I2C_CMD_REG_NUM=8 +# default: +CONFIG_SOC_I2C_SUPPORT_SLAVE=y +# default: +CONFIG_SOC_I2C_SUPPORT_HW_CLR_BUS=y +# default: +CONFIG_SOC_I2C_SUPPORT_XTAL=y +# default: +CONFIG_SOC_I2C_SUPPORT_RTC=y +# default: +CONFIG_SOC_I2C_SUPPORT_10BIT_ADDR=y +# default: +CONFIG_SOC_I2C_SLAVE_SUPPORT_BROADCAST=y +# default: +CONFIG_SOC_I2C_SLAVE_SUPPORT_I2CRAM_ACCESS=y +# default: +CONFIG_SOC_I2C_SLAVE_CAN_GET_STRETCH_CAUSE=y +# default: +CONFIG_SOC_I2S_NUM=2 +# default: +CONFIG_SOC_I2S_HW_VERSION_2=y +# default: +CONFIG_SOC_I2S_SUPPORTS_XTAL=y +# default: +CONFIG_SOC_I2S_SUPPORTS_PLL_F160M=y +# default: +CONFIG_SOC_I2S_SUPPORTS_PCM=y +# default: +CONFIG_SOC_I2S_SUPPORTS_PDM=y +# default: +CONFIG_SOC_I2S_SUPPORTS_PDM_TX=y +# default: +CONFIG_SOC_I2S_SUPPORTS_PCM2PDM=y +# default: +CONFIG_SOC_I2S_SUPPORTS_PDM_RX=y +# default: +CONFIG_SOC_I2S_SUPPORTS_PDM2PCM=y +# default: +CONFIG_SOC_I2S_PDM_MAX_TX_LINES=2 +# default: +CONFIG_SOC_I2S_PDM_MAX_RX_LINES=4 +# default: +CONFIG_SOC_I2S_SUPPORTS_TDM=y +# default: +CONFIG_SOC_LEDC_SUPPORT_APB_CLOCK=y +# default: +CONFIG_SOC_LEDC_SUPPORT_XTAL_CLOCK=y +# default: +CONFIG_SOC_LEDC_TIMER_NUM=4 +# default: +CONFIG_SOC_LEDC_CHANNEL_NUM=8 +# default: +CONFIG_SOC_LEDC_TIMER_BIT_WIDTH=14 +# default: +CONFIG_SOC_LEDC_SUPPORT_FADE_STOP=y +# default: +CONFIG_SOC_MCPWM_GROUPS=2 +# default: +CONFIG_SOC_MCPWM_TIMERS_PER_GROUP=3 +# default: +CONFIG_SOC_MCPWM_OPERATORS_PER_GROUP=3 +# default: +CONFIG_SOC_MCPWM_COMPARATORS_PER_OPERATOR=2 +# default: +CONFIG_SOC_MCPWM_GENERATORS_PER_OPERATOR=2 +# default: +CONFIG_SOC_MCPWM_TRIGGERS_PER_OPERATOR=2 +# default: +CONFIG_SOC_MCPWM_GPIO_FAULTS_PER_GROUP=3 +# default: +CONFIG_SOC_MCPWM_CAPTURE_TIMERS_PER_GROUP=y +# default: +CONFIG_SOC_MCPWM_CAPTURE_CHANNELS_PER_TIMER=3 +# default: +CONFIG_SOC_MCPWM_GPIO_SYNCHROS_PER_GROUP=3 +# default: +CONFIG_SOC_MCPWM_SWSYNC_CAN_PROPAGATE=y +# default: +CONFIG_SOC_MMU_LINEAR_ADDRESS_REGION_NUM=1 +# default: +CONFIG_SOC_MMU_PERIPH_NUM=1 +# default: +CONFIG_SOC_MPU_MIN_REGION_SIZE=0x20000000 +# default: +CONFIG_SOC_MPU_REGIONS_MAX_NUM=8 +# default: +CONFIG_SOC_PCNT_GROUPS=1 +# default: +CONFIG_SOC_PCNT_UNITS_PER_GROUP=4 +# default: +CONFIG_SOC_PCNT_CHANNELS_PER_UNIT=2 +# default: +CONFIG_SOC_PCNT_THRES_POINT_PER_UNIT=2 +# default: +CONFIG_SOC_RMT_GROUPS=1 +# default: +CONFIG_SOC_RMT_TX_CANDIDATES_PER_GROUP=4 +# default: +CONFIG_SOC_RMT_RX_CANDIDATES_PER_GROUP=4 +# default: +CONFIG_SOC_RMT_CHANNELS_PER_GROUP=8 +# default: +CONFIG_SOC_RMT_MEM_WORDS_PER_CHANNEL=48 +# default: +CONFIG_SOC_RMT_SUPPORT_RX_PINGPONG=y +# default: +CONFIG_SOC_RMT_SUPPORT_RX_DEMODULATION=y +# default: +CONFIG_SOC_RMT_SUPPORT_ASYNC_STOP=y +# default: +CONFIG_SOC_RMT_SUPPORT_TX_LOOP_COUNT=y +# default: +CONFIG_SOC_RMT_SUPPORT_TX_LOOP_AUTO_STOP=y +# default: +CONFIG_SOC_RMT_SUPPORT_TX_SYNCHRO=y +# default: +CONFIG_SOC_RMT_SUPPORT_TX_CARRIER_DATA_ONLY=y +# default: +CONFIG_SOC_RMT_SUPPORT_XTAL=y +# default: +CONFIG_SOC_RMT_SUPPORT_RC_FAST=y +# default: +CONFIG_SOC_RMT_SUPPORT_APB=y +# default: +CONFIG_SOC_RMT_SUPPORT_DMA=y +# default: +CONFIG_SOC_LCD_I80_SUPPORTED=y +# default: +CONFIG_SOC_LCD_RGB_SUPPORTED=y +# default: +CONFIG_SOC_LCD_I80_BUSES=1 +# default: +CONFIG_SOC_LCD_RGB_PANELS=1 +# default: +CONFIG_SOC_LCD_I80_BUS_WIDTH=16 +# default: +CONFIG_SOC_LCD_RGB_DATA_WIDTH=16 +# default: +CONFIG_SOC_LCD_SUPPORT_RGB_YUV_CONV=y +# default: +CONFIG_SOC_LCDCAM_I80_NUM_BUSES=1 +# default: +CONFIG_SOC_LCDCAM_I80_BUS_WIDTH=16 +# default: +CONFIG_SOC_LCDCAM_RGB_NUM_PANELS=1 +# default: +CONFIG_SOC_LCDCAM_RGB_DATA_WIDTH=16 +# default: +CONFIG_SOC_RTC_CNTL_CPU_PD_DMA_BUS_WIDTH=128 +# default: +CONFIG_SOC_RTC_CNTL_CPU_PD_REG_FILE_NUM=549 +# default: +CONFIG_SOC_RTC_CNTL_TAGMEM_PD_DMA_BUS_WIDTH=128 +# default: +CONFIG_SOC_RTC_CNTL_NEEDS_ATOMIC_ACCESS=y +# default: +CONFIG_SOC_RTCIO_PIN_COUNT=22 +# default: +CONFIG_SOC_RTCIO_INPUT_OUTPUT_SUPPORTED=y +# default: +CONFIG_SOC_RTCIO_HOLD_SUPPORTED=y +# default: +CONFIG_SOC_RTCIO_WAKE_SUPPORTED=y +# default: +CONFIG_SOC_LP_IO_CLOCK_IS_INDEPENDENT=y +# default: +CONFIG_SOC_SDM_GROUPS=1 +# default: +CONFIG_SOC_SDM_CHANNELS_PER_GROUP=8 +# default: +CONFIG_SOC_SDM_CLK_SUPPORT_APB=y +# default: +CONFIG_SOC_SPI_PERIPH_NUM=3 +# default: +CONFIG_SOC_SPI_MAX_CS_NUM=6 +# default: +CONFIG_SOC_SPI_MAXIMUM_BUFFER_SIZE=64 +# default: +CONFIG_SOC_SPI_SUPPORT_DDRCLK=y +# default: +CONFIG_SOC_SPI_SLAVE_SUPPORT_SEG_TRANS=y +# default: +CONFIG_SOC_SPI_SUPPORT_CD_SIG=y +# default: +CONFIG_SOC_SPI_SUPPORT_CONTINUOUS_TRANS=y +# default: +CONFIG_SOC_SPI_SUPPORT_SLAVE_HD_VER2=y +# default: +CONFIG_SOC_SPI_SUPPORT_CLK_APB=y +# default: +CONFIG_SOC_SPI_SUPPORT_CLK_XTAL=y +# default: +CONFIG_SOC_SPI_PERIPH_SUPPORT_CONTROL_DUMMY_OUT=y +# default: +CONFIG_SOC_MEMSPI_IS_INDEPENDENT=y +# default: +CONFIG_SOC_SPI_MAX_PRE_DIVIDER=16 +# default: +CONFIG_SOC_SPI_SUPPORT_OCT=y +# default: +CONFIG_SOC_SPI_SCT_SUPPORTED=y +# default: +CONFIG_SOC_SPI_SCT_REG_NUM=14 +# default: +CONFIG_SOC_SPI_SCT_BUFFER_NUM_MAX=y +# default: +CONFIG_SOC_SPI_SCT_CONF_BITLEN_MAX=0x3FFFA +# default: +CONFIG_SOC_SPIRAM_SUPPORTED=y +# default: +CONFIG_SOC_SPIRAM_XIP_SUPPORTED=y +# default: +CONFIG_SOC_SYSTIMER_COUNTER_NUM=2 +# default: +CONFIG_SOC_SYSTIMER_ALARM_NUM=3 +# default: +CONFIG_SOC_SYSTIMER_BIT_WIDTH_LO=32 +# default: +CONFIG_SOC_SYSTIMER_BIT_WIDTH_HI=20 +# default: +CONFIG_SOC_SYSTIMER_FIXED_DIVIDER=y +# default: +CONFIG_SOC_SYSTIMER_INT_LEVEL=y +# default: +CONFIG_SOC_SYSTIMER_ALARM_MISS_COMPENSATE=y +# default: +CONFIG_SOC_TIMER_GROUPS=2 +# default: +CONFIG_SOC_TIMER_GROUP_TIMERS_PER_GROUP=2 +# default: +CONFIG_SOC_TIMER_GROUP_COUNTER_BIT_WIDTH=54 +# default: +CONFIG_SOC_TIMER_GROUP_SUPPORT_XTAL=y +# default: +CONFIG_SOC_TIMER_GROUP_SUPPORT_APB=y +# default: +CONFIG_SOC_TIMER_GROUP_TOTAL_TIMERS=4 +# default: +CONFIG_SOC_LP_TIMER_BIT_WIDTH_LO=32 +# default: +CONFIG_SOC_LP_TIMER_BIT_WIDTH_HI=16 +# default: +CONFIG_SOC_TOUCH_SENSOR_VERSION=2 +# default: +CONFIG_SOC_TOUCH_SENSOR_NUM=15 +# default: +CONFIG_SOC_TOUCH_MIN_CHAN_ID=1 +# default: +CONFIG_SOC_TOUCH_MAX_CHAN_ID=14 +# default: +CONFIG_SOC_TOUCH_SUPPORT_BENCHMARK=y +# default: +CONFIG_SOC_TOUCH_SUPPORT_SLEEP_WAKEUP=y +# default: +CONFIG_SOC_TOUCH_SUPPORT_WATERPROOF=y +# default: +CONFIG_SOC_TOUCH_SUPPORT_PROX_SENSING=y +# default: +CONFIG_SOC_TOUCH_SUPPORT_DENOISE_CHAN=y +# default: +CONFIG_SOC_TOUCH_PROXIMITY_CHANNEL_NUM=3 +# default: +CONFIG_SOC_TOUCH_PROXIMITY_MEAS_DONE_SUPPORTED=y +# default: +CONFIG_SOC_TOUCH_SAMPLE_CFG_NUM=1 +# default: +CONFIG_SOC_TWAI_CONTROLLER_NUM=1 +# default: +CONFIG_SOC_TWAI_MASK_FILTER_NUM=1 +# default: +CONFIG_SOC_TWAI_CLK_SUPPORT_APB=y +# default: +CONFIG_SOC_TWAI_BRP_MIN=2 +# default: +CONFIG_SOC_TWAI_BRP_MAX=16384 +# default: +CONFIG_SOC_TWAI_SUPPORTS_RX_STATUS=y +# default: +CONFIG_SOC_UART_NUM=3 +# default: +CONFIG_SOC_UART_HP_NUM=3 +# default: +CONFIG_SOC_UART_FIFO_LEN=128 +# default: +CONFIG_SOC_UART_BITRATE_MAX=5000000 +# default: +CONFIG_SOC_UART_SUPPORT_FSM_TX_WAIT_SEND=y +# default: +CONFIG_SOC_UART_SUPPORT_WAKEUP_INT=y +# default: +CONFIG_SOC_UART_SUPPORT_APB_CLK=y +# default: +CONFIG_SOC_UART_SUPPORT_RTC_CLK=y +# default: +CONFIG_SOC_UART_SUPPORT_XTAL_CLK=y +# default: +CONFIG_SOC_UART_WAKEUP_SUPPORT_ACTIVE_THRESH_MODE=y +# default: +CONFIG_SOC_UHCI_NUM=1 +# default: +CONFIG_SOC_USB_OTG_PERIPH_NUM=1 +# default: +CONFIG_SOC_SHA_DMA_MAX_BUFFER_SIZE=3968 +# default: +CONFIG_SOC_SHA_SUPPORT_DMA=y +# default: +CONFIG_SOC_SHA_SUPPORT_RESUME=y +# default: +CONFIG_SOC_SHA_GDMA=y +# default: +CONFIG_SOC_SHA_SUPPORT_SHA1=y +# default: +CONFIG_SOC_SHA_SUPPORT_SHA224=y +# default: +CONFIG_SOC_SHA_SUPPORT_SHA256=y +# default: +CONFIG_SOC_SHA_SUPPORT_SHA384=y +# default: +CONFIG_SOC_SHA_SUPPORT_SHA512=y +# default: +CONFIG_SOC_SHA_SUPPORT_SHA512_224=y +# default: +CONFIG_SOC_SHA_SUPPORT_SHA512_256=y +# default: +CONFIG_SOC_SHA_SUPPORT_SHA512_T=y +# default: +CONFIG_SOC_MPI_MEM_BLOCKS_NUM=4 +# default: +CONFIG_SOC_MPI_OPERATIONS_NUM=3 +# default: +CONFIG_SOC_RSA_MAX_BIT_LEN=4096 +# default: +CONFIG_SOC_AES_SUPPORT_DMA=y +# default: +CONFIG_SOC_AES_GDMA=y +# default: +CONFIG_SOC_AES_SUPPORT_AES_128=y +# default: +CONFIG_SOC_AES_SUPPORT_AES_256=y +# default: +CONFIG_SOC_PM_SUPPORT_EXT0_WAKEUP=y +# default: +CONFIG_SOC_PM_SUPPORT_EXT1_WAKEUP=y +# default: +CONFIG_SOC_PM_SUPPORT_EXT_WAKEUP=y +# default: +CONFIG_SOC_PM_SUPPORT_WIFI_WAKEUP=y +# default: +CONFIG_SOC_PM_SUPPORT_BT_WAKEUP=y +# default: +CONFIG_SOC_PM_SUPPORT_TOUCH_SENSOR_WAKEUP=y +# default: +CONFIG_SOC_PM_SUPPORT_CPU_PD=y +# default: +CONFIG_SOC_PM_SUPPORT_TAGMEM_PD=y +# default: +CONFIG_SOC_PM_SUPPORT_RTC_PERIPH_PD=y +# default: +CONFIG_SOC_PM_SUPPORT_RC_FAST_PD=y +# default: +CONFIG_SOC_PM_SUPPORT_VDDSDIO_PD=y +# default: +CONFIG_SOC_PM_SUPPORT_MAC_BB_PD=y +# default: +CONFIG_SOC_PM_SUPPORT_MODEM_PD=y +# default: +CONFIG_SOC_CONFIGURABLE_VDDSDIO_SUPPORTED=y +# default: +CONFIG_SOC_PM_SUPPORT_DEEPSLEEP_CHECK_STUB_ONLY=y +# default: +CONFIG_SOC_PM_CPU_RETENTION_BY_RTCCNTL=y +# default: +CONFIG_SOC_PM_MODEM_RETENTION_BY_BACKUPDMA=y +# default: +CONFIG_SOC_PM_MODEM_PD_BY_SW=y +# default: +CONFIG_SOC_CLK_RC_FAST_D256_SUPPORTED=y +# default: +CONFIG_SOC_RTC_SLOW_CLK_SUPPORT_RC_FAST_D256=y +# default: +CONFIG_SOC_CLK_RC_FAST_SUPPORT_CALIBRATION=y +# default: +CONFIG_SOC_CLK_XTAL32K_SUPPORTED=y +# default: +CONFIG_SOC_CLK_LP_FAST_SUPPORT_XTAL_D2=y +# default: +CONFIG_SOC_EFUSE_DIS_DOWNLOAD_ICACHE=y +# default: +CONFIG_SOC_EFUSE_DIS_DOWNLOAD_DCACHE=y +# default: +CONFIG_SOC_EFUSE_HARD_DIS_JTAG=y +# default: +CONFIG_SOC_EFUSE_DIS_USB_JTAG=y +# default: +CONFIG_SOC_EFUSE_SOFT_DIS_JTAG=y +# default: +CONFIG_SOC_EFUSE_DIS_DIRECT_BOOT=y +# default: +CONFIG_SOC_EFUSE_DIS_ICACHE=y +# default: +CONFIG_SOC_EFUSE_BLOCK9_KEY_PURPOSE_QUIRK=y +# default: +CONFIG_SOC_SECURE_BOOT_V2_RSA=y +# default: +CONFIG_SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS=3 +# default: +CONFIG_SOC_EFUSE_REVOKE_BOOT_KEY_DIGESTS=y +# default: +CONFIG_SOC_SUPPORT_SECURE_BOOT_REVOKE_KEY=y +# default: +CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX=64 +# default: +CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES=y +# default: +CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_OPTIONS=y +# default: +CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_128=y +# default: +CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_256=y +# default: +CONFIG_SOC_MEMPROT_CPU_PREFETCH_PAD_SIZE=16 +# default: +CONFIG_SOC_MEMPROT_MEM_ALIGN_SIZE=256 +# default: +CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE=21 +# default: +CONFIG_SOC_MAC_BB_PD_MEM_SIZE=192 +# default: +CONFIG_SOC_WIFI_LIGHT_SLEEP_CLK_WIDTH=12 +# default: +CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_WAIT_IDLE=y +# default: +CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_SUSPEND=y +# default: +CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_RESUME=y +# default: +CONFIG_SOC_SPI_MEM_SUPPORT_SW_SUSPEND=y +# default: +CONFIG_SOC_SPI_MEM_SUPPORT_FLASH_OPI_MODE=y +# default: +CONFIG_SOC_SPI_MEM_SUPPORT_TIMING_TUNING=y +# default: +CONFIG_SOC_SPI_MEM_SUPPORT_CONFIG_GPIO_BY_EFUSE=y +# default: +CONFIG_SOC_SPI_MEM_SUPPORT_WRAP=y +# default: +CONFIG_SOC_MEMSPI_TIMING_TUNING_BY_MSPI_DELAY=y +# default: +CONFIG_SOC_MEMSPI_CORE_CLK_SHARED_WITH_PSRAM=y +# default: +CONFIG_SOC_SPI_MEM_SUPPORT_CACHE_32BIT_ADDR_MAP=y +# default: +CONFIG_SOC_SPI_MEM_FLASH_SUPPORT_HPM=y +# default: +CONFIG_SOC_COEX_HW_PTI=y +# default: +CONFIG_SOC_EXTERNAL_COEX_LEADER_TX_LINE=y +# default: +CONFIG_SOC_SDMMC_USE_GPIO_MATRIX=y +# default: +CONFIG_SOC_SDMMC_NUM_SLOTS=2 +# default: +CONFIG_SOC_SDMMC_SUPPORT_XTAL_CLOCK=y +# default: +CONFIG_SOC_SDMMC_DELAY_PHASE_NUM=4 +# default: +CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_FAST_RC=y +# default: +CONFIG_SOC_WIFI_HW_TSF=y +# default: +CONFIG_SOC_WIFI_FTM_SUPPORT=y +# default: +CONFIG_SOC_WIFI_GCMP_SUPPORT=y +# default: +CONFIG_SOC_WIFI_WAPI_SUPPORT=y +# default: +CONFIG_SOC_WIFI_TXOP_SUPPORT=y +# default: +CONFIG_SOC_WIFI_CSI_SUPPORT=y +# default: +CONFIG_SOC_WIFI_MESH_SUPPORT=y +# default: +CONFIG_SOC_WIFI_SUPPORT_VARIABLE_BEACON_WINDOW=y +# default: +CONFIG_SOC_WIFI_PHY_NEEDS_USB_WORKAROUND=y +# default: +CONFIG_SOC_BLE_SUPPORTED=y +# default: +CONFIG_SOC_BLE_MESH_SUPPORTED=y +# default: +CONFIG_SOC_BLE_50_SUPPORTED=y +# default: +CONFIG_SOC_BLE_DEVICE_PRIVACY_SUPPORTED=y +# default: +CONFIG_SOC_BLUFI_SUPPORTED=y +# default: +CONFIG_SOC_ULP_HAS_ADC=y +# default: +CONFIG_SOC_PHY_COMBO_MODULE=y +# default: +CONFIG_SOC_LCDCAM_CAM_SUPPORT_RGB_YUV_CONV=y +# default: +CONFIG_SOC_LCDCAM_CAM_PERIPH_NUM=1 +# default: +CONFIG_SOC_LCDCAM_CAM_DATA_WIDTH_MAX=16 +# default: +CONFIG_IDF_CMAKE=y +# default: +CONFIG_IDF_TOOLCHAIN="gcc" +# default: +CONFIG_IDF_TOOLCHAIN_GCC=y +# default: +CONFIG_IDF_TARGET_ARCH_XTENSA=y +# default: +CONFIG_IDF_TARGET_ARCH="xtensa" +# default: +CONFIG_IDF_TARGET="esp32s3" +# default: +CONFIG_IDF_INIT_VERSION="5.5.4" +# default: +CONFIG_IDF_TARGET_ESP32S3=y +# default: +CONFIG_IDF_FIRMWARE_CHIP_ID=0x0009 + +# +# Build type +# +# default: +CONFIG_APP_BUILD_TYPE_APP_2NDBOOT=y +# default: +# CONFIG_APP_BUILD_TYPE_RAM is not set +# default: +CONFIG_APP_BUILD_GENERATE_BINARIES=y +# default: +CONFIG_APP_BUILD_BOOTLOADER=y +# default: +CONFIG_APP_BUILD_USE_FLASH_SECTIONS=y +# default: +# CONFIG_APP_REPRODUCIBLE_BUILD is not set +# default: +# CONFIG_APP_NO_BLOBS is not set +# end of Build type + +# +# Bootloader config +# + +# +# Bootloader manager +# +# default: +CONFIG_BOOTLOADER_COMPILE_TIME_DATE=y +# default: +CONFIG_BOOTLOADER_PROJECT_VER=1 +# end of Bootloader manager + +# +# Application Rollback +# +# default: +# CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE is not set +# end of Application Rollback + +# +# Recovery Bootloader and Rollback +# +# end of Recovery Bootloader and Rollback + +# default: +CONFIG_BOOTLOADER_OFFSET_IN_FLASH=0x0 +# default: +CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y +# default: +# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_DEBUG is not set +# default: +# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_PERF is not set +# default: +# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_NONE is not set + +# +# Log +# +# default: +CONFIG_BOOTLOADER_LOG_VERSION_1=y +# default: +CONFIG_BOOTLOADER_LOG_VERSION=1 +# default: +# CONFIG_BOOTLOADER_LOG_LEVEL_NONE is not set +# default: +# CONFIG_BOOTLOADER_LOG_LEVEL_ERROR is not set +# default: +# CONFIG_BOOTLOADER_LOG_LEVEL_WARN is not set +# default: +CONFIG_BOOTLOADER_LOG_LEVEL_INFO=y +# default: +# CONFIG_BOOTLOADER_LOG_LEVEL_DEBUG is not set +# default: +# CONFIG_BOOTLOADER_LOG_LEVEL_VERBOSE is not set +# default: +CONFIG_BOOTLOADER_LOG_LEVEL=3 + +# +# Format +# +# default: +# CONFIG_BOOTLOADER_LOG_COLORS is not set +# default: +CONFIG_BOOTLOADER_LOG_TIMESTAMP_SOURCE_CPU_TICKS=y +# end of Format + +# +# Settings +# +# default: +CONFIG_BOOTLOADER_LOG_MODE_TEXT_EN=y +# default: +CONFIG_BOOTLOADER_LOG_MODE_TEXT=y +# end of Settings +# end of Log + +# +# Serial Flash Configurations +# +# default: +# CONFIG_BOOTLOADER_FLASH_DC_AWARE is not set +# default: +CONFIG_BOOTLOADER_FLASH_XMC_SUPPORT=y +# end of Serial Flash Configurations + +# default: +CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_9V=y +# default: +# CONFIG_BOOTLOADER_FACTORY_RESET is not set +# default: +# CONFIG_BOOTLOADER_APP_TEST is not set +# default: +CONFIG_BOOTLOADER_REGION_PROTECTION_ENABLE=y +# default: +CONFIG_BOOTLOADER_WDT_ENABLE=y +# default: +# CONFIG_BOOTLOADER_WDT_DISABLE_IN_USER_CODE is not set +# default: +CONFIG_BOOTLOADER_WDT_TIME_MS=9000 +# default: +# CONFIG_BOOTLOADER_SKIP_VALIDATE_IN_DEEP_SLEEP is not set +# default: +# CONFIG_BOOTLOADER_SKIP_VALIDATE_ON_POWER_ON is not set +# default: +# CONFIG_BOOTLOADER_SKIP_VALIDATE_ALWAYS is not set +# default: +CONFIG_BOOTLOADER_RESERVE_RTC_SIZE=0 +# default: +# CONFIG_BOOTLOADER_CUSTOM_RESERVE_RTC is not set +# end of Bootloader config + +# +# Security features +# +# default: +CONFIG_SECURE_BOOT_V2_RSA_SUPPORTED=y +# default: +CONFIG_SECURE_BOOT_V2_PREFERRED=y +# default: +# CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT is not set +# default: +# CONFIG_SECURE_BOOT is not set +# default: +# CONFIG_SECURE_FLASH_ENC_ENABLED is not set +# default: +CONFIG_SECURE_ROM_DL_MODE_ENABLED=y +# end of Security features + +# +# Application manager +# +# default: +CONFIG_APP_COMPILE_TIME_DATE=y +# default: +# CONFIG_APP_EXCLUDE_PROJECT_VER_VAR is not set +# default: +# CONFIG_APP_EXCLUDE_PROJECT_NAME_VAR is not set +# default: +# CONFIG_APP_PROJECT_VER_FROM_CONFIG is not set +# default: +CONFIG_APP_RETRIEVE_LEN_ELF_SHA=9 +# end of Application manager + +# default: +CONFIG_ESP_ROM_HAS_CRC_LE=y +# default: +CONFIG_ESP_ROM_HAS_CRC_BE=y +# default: +CONFIG_ESP_ROM_HAS_MZ_CRC32=y +# default: +CONFIG_ESP_ROM_HAS_JPEG_DECODE=y +# default: +CONFIG_ESP_ROM_UART_CLK_IS_XTAL=y +# default: +CONFIG_ESP_ROM_HAS_RETARGETABLE_LOCKING=y +# default: +CONFIG_ESP_ROM_USB_OTG_NUM=3 +# default: +CONFIG_ESP_ROM_USB_SERIAL_DEVICE_NUM=4 +# default: +CONFIG_ESP_ROM_HAS_ERASE_0_REGION_BUG=y +# default: +CONFIG_ESP_ROM_HAS_ENCRYPTED_WRITES_USING_LEGACY_DRV=y +# default: +CONFIG_ESP_ROM_GET_CLK_FREQ=y +# default: +CONFIG_ESP_ROM_HAS_HAL_WDT=y +# default: +CONFIG_ESP_ROM_NEEDS_SWSETUP_WORKAROUND=y +# default: +CONFIG_ESP_ROM_HAS_LAYOUT_TABLE=y +# default: +CONFIG_ESP_ROM_HAS_SPI_FLASH=y +# default: +CONFIG_ESP_ROM_HAS_SPI_FLASH_MMAP=y +# default: +CONFIG_ESP_ROM_HAS_ETS_PRINTF_BUG=y +# default: +CONFIG_ESP_ROM_HAS_NEWLIB=y +# default: +CONFIG_ESP_ROM_HAS_NEWLIB_NANO_FORMAT=y +# default: +CONFIG_ESP_ROM_HAS_NEWLIB_32BIT_TIME=y +# default: +CONFIG_ESP_ROM_NEEDS_SET_CACHE_MMU_SIZE=y +# default: +CONFIG_ESP_ROM_RAM_APP_NEEDS_MMU_INIT=y +# default: +CONFIG_ESP_ROM_HAS_FLASH_COUNT_PAGES_BUG=y +# default: +CONFIG_ESP_ROM_HAS_CACHE_SUSPEND_WAITI_BUG=y +# default: +CONFIG_ESP_ROM_HAS_CACHE_WRITEBACK_BUG=y +# default: +CONFIG_ESP_ROM_HAS_SW_FLOAT=y +# default: +CONFIG_ESP_ROM_HAS_VERSION=y +# default: +CONFIG_ESP_ROM_SUPPORT_DEEP_SLEEP_WAKEUP_STUB=y +# default: +CONFIG_ESP_ROM_HAS_OUTPUT_PUTC_FUNC=y +# default: +CONFIG_ESP_ROM_CONSOLE_OUTPUT_SECONDARY=y + +# +# Boot ROM Behavior +# +# default: +CONFIG_BOOT_ROM_LOG_ALWAYS_ON=y +# default: +# CONFIG_BOOT_ROM_LOG_ALWAYS_OFF is not set +# default: +# CONFIG_BOOT_ROM_LOG_ON_GPIO_HIGH is not set +# default: +# CONFIG_BOOT_ROM_LOG_ON_GPIO_LOW is not set +# end of Boot ROM Behavior + +# +# Serial flasher config +# +# default: +# CONFIG_ESPTOOLPY_NO_STUB is not set +# default: +# CONFIG_ESPTOOLPY_OCT_FLASH is not set +# default: +CONFIG_ESPTOOLPY_FLASH_MODE_AUTO_DETECT=y +# default: +# CONFIG_ESPTOOLPY_FLASHMODE_QIO is not set +# default: +# CONFIG_ESPTOOLPY_FLASHMODE_QOUT is not set +# default: +CONFIG_ESPTOOLPY_FLASHMODE_DIO=y +# default: +# CONFIG_ESPTOOLPY_FLASHMODE_DOUT is not set +# default: +CONFIG_ESPTOOLPY_FLASH_SAMPLE_MODE_STR=y +# default: +CONFIG_ESPTOOLPY_FLASHMODE="dio" +# default: +# CONFIG_ESPTOOLPY_FLASHFREQ_120M is not set +# default: +CONFIG_ESPTOOLPY_FLASHFREQ_80M=y +# default: +# CONFIG_ESPTOOLPY_FLASHFREQ_40M is not set +# default: +# CONFIG_ESPTOOLPY_FLASHFREQ_20M is not set +# default: +CONFIG_ESPTOOLPY_FLASHFREQ="80m" +# default: +# CONFIG_ESPTOOLPY_FLASHSIZE_1MB is not set +# default: +CONFIG_ESPTOOLPY_FLASHSIZE_2MB=y +# default: +# CONFIG_ESPTOOLPY_FLASHSIZE_4MB is not set +# default: +# CONFIG_ESPTOOLPY_FLASHSIZE_8MB is not set +# default: +# CONFIG_ESPTOOLPY_FLASHSIZE_16MB is not set +# default: +# CONFIG_ESPTOOLPY_FLASHSIZE_32MB is not set +# default: +# CONFIG_ESPTOOLPY_FLASHSIZE_64MB is not set +# default: +# CONFIG_ESPTOOLPY_FLASHSIZE_128MB is not set +# default: +CONFIG_ESPTOOLPY_FLASHSIZE="2MB" +# default: +# CONFIG_ESPTOOLPY_HEADER_FLASHSIZE_UPDATE is not set +# default: +CONFIG_ESPTOOLPY_BEFORE_RESET=y +# default: +# CONFIG_ESPTOOLPY_BEFORE_NORESET is not set +# default: +CONFIG_ESPTOOLPY_BEFORE="default_reset" +# default: +CONFIG_ESPTOOLPY_AFTER_RESET=y +# default: +# CONFIG_ESPTOOLPY_AFTER_NORESET is not set +# default: +CONFIG_ESPTOOLPY_AFTER="hard_reset" +# default: +CONFIG_ESPTOOLPY_MONITOR_BAUD=115200 +# end of Serial flasher config + +# +# Partition Table +# +# default: +CONFIG_PARTITION_TABLE_SINGLE_APP=y +# default: +# CONFIG_PARTITION_TABLE_SINGLE_APP_LARGE is not set +# default: +# CONFIG_PARTITION_TABLE_TWO_OTA is not set +# default: +# CONFIG_PARTITION_TABLE_TWO_OTA_LARGE is not set +# default: +# CONFIG_PARTITION_TABLE_CUSTOM is not set +# default: +CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv" +# default: +CONFIG_PARTITION_TABLE_FILENAME="partitions_singleapp.csv" +# default: +CONFIG_PARTITION_TABLE_OFFSET=0x8000 +# default: +CONFIG_PARTITION_TABLE_MD5=y +# end of Partition Table + +# +# Arduino Configuration +# +# default: +CONFIG_ARDUINO_VARIANT="esp32s3" +# default: +CONFIG_ENABLE_ARDUINO_DEPENDS=y +CONFIG_AUTOSTART_ARDUINO=y +# default: +# CONFIG_ARDUINO_RUN_CORE0 is not set +# default: +CONFIG_ARDUINO_RUN_CORE1=y +# default: +# CONFIG_ARDUINO_RUN_NO_AFFINITY is not set +# default: +CONFIG_ARDUINO_RUNNING_CORE=1 +# default: +CONFIG_ARDUINO_LOOP_STACK_SIZE=8192 +# default: +# CONFIG_ARDUINO_EVENT_RUN_CORE0 is not set +# default: +CONFIG_ARDUINO_EVENT_RUN_CORE1=y +# default: +# CONFIG_ARDUINO_EVENT_RUN_NO_AFFINITY is not set +# default: +CONFIG_ARDUINO_EVENT_RUNNING_CORE=1 +# default: +# CONFIG_ARDUINO_SERIAL_EVENT_RUN_CORE0 is not set +# default: +# CONFIG_ARDUINO_SERIAL_EVENT_RUN_CORE1 is not set +# default: +CONFIG_ARDUINO_SERIAL_EVENT_RUN_NO_AFFINITY=y +# default: +CONFIG_ARDUINO_SERIAL_EVENT_TASK_RUNNING_CORE=-1 +# default: +CONFIG_ARDUINO_SERIAL_EVENT_TASK_STACK_SIZE=2048 +# default: +CONFIG_ARDUINO_SERIAL_EVENT_TASK_PRIORITY=24 +# default: +CONFIG_ARDUINO_UDP_RUN_CORE0=y +# default: +# CONFIG_ARDUINO_UDP_RUN_CORE1 is not set +# default: +# CONFIG_ARDUINO_UDP_RUN_NO_AFFINITY is not set +# default: +CONFIG_ARDUINO_UDP_RUNNING_CORE=0 +# default: +CONFIG_ARDUINO_UDP_TASK_PRIORITY=3 +# default: +CONFIG_ARDUINO_UDP_TASK_STACK_SIZE=4096 +# default: +# CONFIG_ARDUINO_ISR_IRAM is not set +# default: +# CONFIG_DISABLE_HAL_LOCKS is not set + +# +# Debug Log Configuration +# +# default: +# CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_NONE is not set +# default: +CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_ERROR=y +# default: +# CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_WARN is not set +# default: +# CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_INFO is not set +# default: +# CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_DEBUG is not set +# default: +# CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_VERBOSE is not set +# default: +CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL=1 +# default: +# CONFIG_ARDUHAL_LOG_COLORS is not set +# default: +# CONFIG_ARDUHAL_ESP_LOG is not set +# end of Debug Log Configuration + +# default: +CONFIG_ARDUHAL_PARTITION_SCHEME_DEFAULT=y +# default: +# CONFIG_ARDUHAL_PARTITION_SCHEME_MINIMAL is not set +# default: +# CONFIG_ARDUHAL_PARTITION_SCHEME_NO_OTA is not set +# default: +# CONFIG_ARDUHAL_PARTITION_SCHEME_HUGE_APP is not set +# default: +# CONFIG_ARDUHAL_PARTITION_SCHEME_MIN_SPIFFS is not set +# default: +CONFIG_ARDUHAL_PARTITION_SCHEME="default" +# default: +# CONFIG_AUTOCONNECT_WIFI is not set +# default: +# CONFIG_ARDUINO_SELECTIVE_COMPILATION is not set +# end of Arduino Configuration + +# +# ESP Speech Recognition +# +# default: +CONFIG_MODEL_IN_FLASH=y +# default: +# CONFIG_MODEL_IN_SDCARD is not set +# default: +CONFIG_AFE_INTERFACE_V1=y +# default: +CONFIG_SR_NSN_WEBRTC=y +# default: +# CONFIG_SR_NSN_NSNET2 is not set +# default: +CONFIG_SR_VADN_WEBRTC=y +# default: +# CONFIG_SR_VADN_VADNET1_MEDIUM is not set + +# +# Load Multiple Wake Words (WakeNet9s) +# +# default: +# CONFIG_SR_WN_WN9S_HILEXIN is not set +# default: +# CONFIG_SR_WN_WN9S_HIESP is not set +# default: +# CONFIG_SR_WN_WN9S_NIHAOXIAOZHI is not set +# default: +# CONFIG_SR_WN_WN9S_HIJASON is not set +# end of Load Multiple Wake Words (WakeNet9s) + +# +# Load Multiple Wake Words (WakeNet9) +# +# default: +# CONFIG_SR_WN_WN9_HILEXIN is not set +# default: +# CONFIG_SR_WN_WN9_NIHAOMIAOBAN_TTS2 is not set +# default: +# CONFIG_SR_WN_WN9_XIAOAITONGXUE is not set +# default: +# CONFIG_SR_WN_WN9L_XIAOAITONGXUE is not set +# default: +# CONFIG_SR_WN_WN9_NIHAOXIAOZHI_TTS is not set +# default: +# CONFIG_SR_WN_WN9L_NIHAOXIAOZHI_TTS3 is not set +# default: +# CONFIG_SR_WN_WN9_ALEXA is not set +# default: +# CONFIG_SR_WN_WN9_HIESP is not set +# default: +# CONFIG_SR_WN_WN9_JARVIS_TTS is not set +# default: +# CONFIG_SR_WN_WN9_COMPUTER_TTS is not set +# default: +# CONFIG_SR_WN_WN9_HEYWILLOW_TTS is not set +# default: +# CONFIG_SR_WN_WN9_HIMFIVE is not set +# default: +# CONFIG_SR_WN_WN9_SOPHIA_TTS is not set +# default: +# CONFIG_SR_WN_WN9_HEYWANDA_TTS is not set +# default: +# CONFIG_SR_WN_WN9_HIJOLLY_TTS2 is not set +# default: +# CONFIG_SR_WN_WN9_HIFAIRY_TTS2 is not set +# default: +# CONFIG_SR_WN_WN9_HEYPRINTER_TTS is not set +# default: +# CONFIG_SR_WN_WN9_MYCROFT_TTS is not set +# default: +# CONFIG_SR_WN_WN9_HIJOY_TTS is not set +# default: +# CONFIG_SR_WN_WN9_HIJASON_TTS2 is not set +# default: +# CONFIG_SR_WN_WN9_ASTROLABE_TTS is not set +# default: +# CONFIG_SR_WN_WN9_HEYILY_TTS2 is not set +# default: +# CONFIG_SR_WN_WN9_BLUECHIP_TTS2 is not set +# default: +# CONFIG_SR_WN_WN9_HIANDY_TTS2 is not set +# default: +# CONFIG_SR_WN_WN9_HEYIVY_TTS2 is not set +# default: +# CONFIG_SR_WN_WN9L_HISTACKCHAN_TTS3 is not set +# default: +# CONFIG_SR_WN_WN9_HEYKIRA_TTS3 is not set +# default: +# CONFIG_SR_WN_WN9L_HEYGIGI_TTS3 is not set +# default: +# CONFIG_SR_WN_WN9_XIAOLONGXIAOLONG_TTS is not set +# default: +# CONFIG_SR_WN_WN9_HIMIAOMIAO_TTS is not set +# default: +# CONFIG_SR_WN_WN9_MIAOMIAOTONGXUE_TTS is not set +# default: +# CONFIG_SR_WN_WN9_NIHAOXIAOXIN_TTS is not set +# default: +# CONFIG_SR_WN_WN9_XIAOMEITONGXUE_TTS is not set +# default: +# CONFIG_SR_WN_WN9_HILILI_TTS is not set +# default: +# CONFIG_SR_WN_WN9_HITELLY_TTS is not set +# default: +# CONFIG_SR_WN_WN9_XIAOBINXIAOBIN_TTS is not set +# default: +# CONFIG_SR_WN_WN9_HAIXIAOWU_TTS is not set +# default: +# CONFIG_SR_WN_WN9_XIAOYAXIAOYA_TTS2 is not set +# default: +# CONFIG_SR_WN_WN9_LINAIBAN_TTS2 is not set +# default: +# CONFIG_SR_WN_WN9_XIAOSUROU_TTS2 is not set +# default: +# CONFIG_SR_WN_WN9_XIAOYUTONGXUE_TTS2 is not set +# default: +# CONFIG_SR_WN_WN9_XIAOMINGTONGXUE_TTS2 is not set +# default: +# CONFIG_SR_WN_WN9_XIAOKANGTONGXUE_TTS2 is not set +# default: +# CONFIG_SR_WN_WN9_XIAOJIANXIAOJIAN_TTS2 is not set +# default: +# CONFIG_SR_WN_WN9_XIAOTEXIAOTE_TTS2 is not set +# default: +# CONFIG_SR_WN_WN9_NIHAOXIAOYI_TTS2 is not set +# default: +# CONFIG_SR_WN_WN9_NIHAOBAIYING_TTS2 is not set +# default: +# CONFIG_SR_WN_WN9_NIHAODONGDONG_TTS2 is not set +# default: +# CONFIG_SR_WN_WN9_HIWALLE_TTS2 is not set +# default: +# CONFIG_SR_WN_WN9_XIAOLUXIAOLU_TTS2 is not set +# default: +# CONFIG_SR_WN_WN9_NIHAOXIAOAN_TTS2 is not set +# default: +# CONFIG_SR_WN_WN9_NI3HAO3XIAO3MAI4_TTS2 is not set +# default: +# CONFIG_SR_WN_WN9_NI3HAO3XIAO3RUI4_TTS3 is not set +# default: +# CONFIG_SR_WN_WN9_HAI1XIAO3OU1_TTS3 is not set +# default: +# CONFIG_SR_WN_WN9_XIAO3JIA1XIAO3JIA1_TTS3 is not set +# default: +# CONFIG_SR_WN_WN9_XIAO3FENG1XIAO3FENG1_TTS3 is not set +# default: +# CONFIG_SR_WN_WN9_HAI1XIAO3XIANG4_TTS3 is not set +# end of Load Multiple Wake Words (WakeNet9) + +# default: +CONFIG_SR_MN_CN_NONE=y +# default: +# CONFIG_SR_MN_CN_MULTINET5_RECOGNITION_QUANT8 is not set +# default: +# CONFIG_SR_MN_CN_MULTINET6_QUANT is not set +# default: +# CONFIG_SR_MN_CN_MULTINET6_AC_QUANT is not set +# default: +# CONFIG_SR_MN_CN_MULTINET7_QUANT is not set +# default: +# CONFIG_SR_MN_CN_MULTINET7_AC_QUANT is not set +# default: +CONFIG_SR_MN_EN_NONE=y +# default: +# CONFIG_SR_MN_EN_MULTINET5_SINGLE_RECOGNITION_QUANT8 is not set +# default: +# CONFIG_SR_MN_EN_MULTINET6_QUANT is not set +# default: +# CONFIG_SR_MN_EN_MULTINET7_QUANT is not set +# default: +CONFIG_ESP_SR_EXTERNAL_MODEL_PATH="" +# end of ESP Speech Recognition + +# +# ESP RainMaker Config +# +# default: +# CONFIG_ESP_RMAKER_NO_CLAIM is not set +# default: +CONFIG_ESP_RMAKER_SELF_CLAIM=y +# default: +CONFIG_ESP_RMAKER_USE_NVS=y +# default: +CONFIG_ESP_RMAKER_CLAIM_TYPE=1 +# default: +CONFIG_ESP_RMAKER_CLAIM_SERVICE_BASE_URL="https://esp-claiming.rainmaker.espressif.com" +# default: +# CONFIG_ESP_RMAKER_READ_MQTT_HOST_FROM_CONFIG is not set +# default: +# CONFIG_ESP_RMAKER_READ_NODE_ID_FROM_CERT_CN is not set +# default: +CONFIG_ESP_RMAKER_MQTT_HOST="a1p72mufdu6064-ats.iot.us-east-1.amazonaws.com" +# default: +CONFIG_ESP_RMAKER_MQTT_USE_BASIC_INGEST_TOPICS=y +# default: +CONFIG_ESP_RMAKER_MQTT_ENABLE_BUDGETING=y +# default: +CONFIG_ESP_RMAKER_MQTT_DEFAULT_BUDGET=100 +# default: +CONFIG_ESP_RMAKER_MQTT_MAX_BUDGET=1024 +# default: +CONFIG_ESP_RMAKER_MQTT_BUDGET_REVIVE_PERIOD=5 +# default: +CONFIG_ESP_RMAKER_MQTT_BUDGET_REVIVE_COUNT=1 +# default: +CONFIG_ESP_RMAKER_MAX_PARAM_DATA_SIZE=1024 +# default: +# CONFIG_ESP_RMAKER_DISABLE_USER_MAPPING_PROV is not set +# default: +# CONFIG_ESP_RMAKER_USER_ID_CHECK is not set +# default: +# CONFIG_RMAKER_NAME_PARAM_CB is not set +# default: +# CONFIG_ESP_RMAKER_LOCAL_CTRL_FEATURE_ENABLE is not set +# default: +# CONFIG_ESP_RMAKER_LOCAL_CTRL_AUTO_ENABLE is not set +# default: +CONFIG_ESP_RMAKER_CONSOLE_UART_NUM_0=y +# default: +# CONFIG_ESP_RMAKER_CONSOLE_UART_NUM_1 is not set +# default: +CONFIG_ESP_RMAKER_CONSOLE_UART_NUM=0 +# default: +CONFIG_ESP_RMAKER_USE_CERT_BUNDLE=y + +# +# ESP RainMaker OTA Config +# +# default: +CONFIG_ESP_RMAKER_OTA_AUTOFETCH=y +# default: +CONFIG_ESP_RMAKER_OTA_AUTOFETCH_PERIOD=0 +# default: +# CONFIG_ESP_RMAKER_SKIP_COMMON_NAME_CHECK is not set +# default: +# CONFIG_ESP_RMAKER_SKIP_VERSION_CHECK is not set +# default: +# CONFIG_ESP_RMAKER_SKIP_SECURE_VERSION_CHECK is not set +# default: +# CONFIG_ESP_RMAKER_SKIP_PROJECT_NAME_CHECK is not set +# default: +CONFIG_ESP_RMAKER_OTA_HTTP_RX_BUFFER_SIZE=1024 +# default: +CONFIG_ESP_RMAKER_OTA_ROLLBACK_WAIT_PERIOD=90 +# default: +# CONFIG_ESP_RMAKER_OTA_DISABLE_AUTO_REBOOT is not set +# default: +CONFIG_ESP_RMAKER_OTA_TIME_SUPPORT=y +# end of ESP RainMaker OTA Config + +# +# ESP RainMaker Scheduling +# +# default: +CONFIG_ESP_RMAKER_SCHEDULING_MAX_SCHEDULES=10 +# end of ESP RainMaker Scheduling + +# +# ESP RainMaker Scenes +# +# default: +CONFIG_ESP_RMAKER_SCENES_MAX_SCENES=10 +# default: +# CONFIG_ESP_RMAKER_SCENES_DEACTIVATE_SUPPORT is not set +# end of ESP RainMaker Scenes + +# +# ESP RainMaker Command-Response +# +# default: +CONFIG_ESP_RMAKER_CMD_RESP_ENABLE=y +# default: +# CONFIG_ESP_RMAKER_CMD_RESP_TEST_ENABLE is not set +# end of ESP RainMaker Command-Response + +# default: +CONFIG_ESP_RMAKER_USING_NETWORK_PROV=y +# end of ESP RainMaker Config + +# +# Compiler options +# +# default: +CONFIG_COMPILER_OPTIMIZATION_DEBUG=y +# default: +# CONFIG_COMPILER_OPTIMIZATION_SIZE is not set +# default: +# CONFIG_COMPILER_OPTIMIZATION_PERF is not set +# default: +# CONFIG_COMPILER_OPTIMIZATION_NONE is not set +# default: +CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE=y +# default: +# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT is not set +# default: +# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE is not set +# default: +CONFIG_COMPILER_ASSERT_NDEBUG_EVALUATE=y +# default: +CONFIG_COMPILER_FLOAT_LIB_FROM_GCCLIB=y +# default: +CONFIG_COMPILER_OPTIMIZATION_ASSERTION_LEVEL=2 +# default: +# CONFIG_COMPILER_OPTIMIZATION_CHECKS_SILENT is not set +# default: +CONFIG_COMPILER_HIDE_PATHS_MACROS=y +# CONFIG_COMPILER_CXX_EXCEPTIONS is not set +# default: +# CONFIG_COMPILER_CXX_RTTI is not set +# default: +CONFIG_COMPILER_STACK_CHECK_MODE_NONE=y +# default: +# CONFIG_COMPILER_STACK_CHECK_MODE_NORM is not set +# default: +# CONFIG_COMPILER_STACK_CHECK_MODE_STRONG is not set +# default: +# CONFIG_COMPILER_STACK_CHECK_MODE_ALL is not set +# default: +# CONFIG_COMPILER_NO_MERGE_CONSTANTS is not set +# default: +# CONFIG_COMPILER_WARN_WRITE_STRINGS is not set +# default: +CONFIG_COMPILER_DISABLE_DEFAULT_ERRORS=y +# default: +# CONFIG_COMPILER_DISABLE_GCC12_WARNINGS is not set +# default: +# CONFIG_COMPILER_DISABLE_GCC13_WARNINGS is not set +# default: +# CONFIG_COMPILER_DISABLE_GCC14_WARNINGS is not set +# default: +# CONFIG_COMPILER_DUMP_RTL_FILES is not set +# default: +CONFIG_COMPILER_RT_LIB_GCCLIB=y +# default: +CONFIG_COMPILER_RT_LIB_NAME="gcc" +# default: +CONFIG_COMPILER_ORPHAN_SECTIONS_WARNING=y +# default: +# CONFIG_COMPILER_ORPHAN_SECTIONS_PLACE is not set +# default: +# CONFIG_COMPILER_STATIC_ANALYZER is not set +# end of Compiler options + +# +# Component config +# + +# +# Application Level Tracing +# +# default: +# CONFIG_APPTRACE_DEST_JTAG is not set +# default: +CONFIG_APPTRACE_DEST_NONE=y +# default: +# CONFIG_APPTRACE_DEST_UART1 is not set +# default: +# CONFIG_APPTRACE_DEST_UART2 is not set +# default: +# CONFIG_APPTRACE_DEST_USB_CDC is not set +# default: +CONFIG_APPTRACE_DEST_UART_NONE=y +# default: +CONFIG_APPTRACE_UART_TASK_PRIO=1 +# default: +CONFIG_APPTRACE_LOCK_ENABLE=y +# end of Application Level Tracing + +# +# Bluetooth +# +# default: +# CONFIG_BT_ENABLED is not set + +# +# Common Options +# + +# +# BLE Log +# +# default: +# CONFIG_BLE_LOG_ENABLED is not set +# end of BLE Log + +# default: +# CONFIG_BT_BLE_LOG_SPI_OUT_ENABLED is not set +# default: +# CONFIG_BT_BLE_LOG_UHCI_OUT_ENABLED is not set +# default: +# CONFIG_BT_LE_USED_MEM_STATISTICS_ENABLED is not set +# end of Common Options +# end of Bluetooth + +# +# Console Library +# +# default: +# CONFIG_CONSOLE_SORTED_HELP is not set +# end of Console Library + +# +# Driver Configurations +# + +# +# Legacy TWAI Driver Configurations +# +# default: +# CONFIG_TWAI_SKIP_LEGACY_CONFLICT_CHECK is not set +# default: +CONFIG_TWAI_ERRATA_FIX_LISTEN_ONLY_DOM=y +# end of Legacy TWAI Driver Configurations + +# +# Legacy ADC Driver Configuration +# +# default: +# CONFIG_ADC_SUPPRESS_DEPRECATE_WARN is not set +# default: +# CONFIG_ADC_SKIP_LEGACY_CONFLICT_CHECK is not set + +# +# Legacy ADC Calibration Configuration +# +# default: +# CONFIG_ADC_CALI_SUPPRESS_DEPRECATE_WARN is not set +# end of Legacy ADC Calibration Configuration +# end of Legacy ADC Driver Configuration + +# +# Legacy MCPWM Driver Configurations +# +# default: +# CONFIG_MCPWM_SUPPRESS_DEPRECATE_WARN is not set +# default: +# CONFIG_MCPWM_SKIP_LEGACY_CONFLICT_CHECK is not set +# end of Legacy MCPWM Driver Configurations + +# +# Legacy Timer Group Driver Configurations +# +# default: +# CONFIG_GPTIMER_SUPPRESS_DEPRECATE_WARN is not set +# default: +# CONFIG_GPTIMER_SKIP_LEGACY_CONFLICT_CHECK is not set +# end of Legacy Timer Group Driver Configurations + +# +# Legacy RMT Driver Configurations +# +# default: +# CONFIG_RMT_SUPPRESS_DEPRECATE_WARN is not set +# default: +# CONFIG_RMT_SKIP_LEGACY_CONFLICT_CHECK is not set +# end of Legacy RMT Driver Configurations + +# +# Legacy I2S Driver Configurations +# +# default: +# CONFIG_I2S_SUPPRESS_DEPRECATE_WARN is not set +# default: +# CONFIG_I2S_SKIP_LEGACY_CONFLICT_CHECK is not set +# end of Legacy I2S Driver Configurations + +# +# Legacy I2C Driver Configurations +# +# default: +# CONFIG_I2C_SKIP_LEGACY_CONFLICT_CHECK is not set +# end of Legacy I2C Driver Configurations + +# +# Legacy PCNT Driver Configurations +# +# default: +# CONFIG_PCNT_SUPPRESS_DEPRECATE_WARN is not set +# default: +# CONFIG_PCNT_SKIP_LEGACY_CONFLICT_CHECK is not set +# end of Legacy PCNT Driver Configurations + +# +# Legacy SDM Driver Configurations +# +# default: +# CONFIG_SDM_SUPPRESS_DEPRECATE_WARN is not set +# default: +# CONFIG_SDM_SKIP_LEGACY_CONFLICT_CHECK is not set +# end of Legacy SDM Driver Configurations + +# +# Legacy Temperature Sensor Driver Configurations +# +# default: +# CONFIG_TEMP_SENSOR_SUPPRESS_DEPRECATE_WARN is not set +# default: +# CONFIG_TEMP_SENSOR_SKIP_LEGACY_CONFLICT_CHECK is not set +# end of Legacy Temperature Sensor Driver Configurations + +# +# Legacy Touch Sensor Driver Configurations +# +# default: +# CONFIG_TOUCH_SUPPRESS_DEPRECATE_WARN is not set +# default: +# CONFIG_TOUCH_SKIP_LEGACY_CONFLICT_CHECK is not set +# end of Legacy Touch Sensor Driver Configurations +# end of Driver Configurations + +# +# eFuse Bit Manager +# +# default: +# CONFIG_EFUSE_CUSTOM_TABLE is not set +# default: +# CONFIG_EFUSE_VIRTUAL is not set +# default: +CONFIG_EFUSE_MAX_BLK_LEN=256 +# end of eFuse Bit Manager + +# +# ESP-TLS +# +# default: +CONFIG_ESP_TLS_USING_MBEDTLS=y +# default: +# CONFIG_ESP_TLS_USE_SECURE_ELEMENT is not set +# default: +CONFIG_ESP_TLS_USE_DS_PERIPHERAL=y +# default: +# CONFIG_ESP_TLS_CLIENT_SESSION_TICKETS is not set +# default: +# CONFIG_ESP_TLS_SERVER_SESSION_TICKETS is not set +# default: +# CONFIG_ESP_TLS_SERVER_CERT_SELECT_HOOK is not set +# default: +# CONFIG_ESP_TLS_SERVER_MIN_AUTH_MODE_OPTIONAL is not set +# default: +# CONFIG_ESP_TLS_PSK_VERIFICATION is not set +# default: +# CONFIG_ESP_TLS_INSECURE is not set +# default: +CONFIG_ESP_TLS_DYN_BUF_STRATEGY_SUPPORTED=y +# end of ESP-TLS + +# +# ADC and ADC Calibration +# +# default: +# CONFIG_ADC_ONESHOT_CTRL_FUNC_IN_IRAM is not set +# default: +# CONFIG_ADC_CONTINUOUS_ISR_IRAM_SAFE is not set +# default: +# CONFIG_ADC_CONTINUOUS_FORCE_USE_ADC2_ON_C3_S3 is not set +# default: +# CONFIG_ADC_ENABLE_DEBUG_LOG is not set +# end of ADC and ADC Calibration + +# +# Wireless Coexistence +# +# default: +CONFIG_ESP_COEX_ENABLED=y +# default: +# CONFIG_ESP_COEX_EXTERNAL_COEXIST_ENABLE is not set +# default: +# CONFIG_ESP_COEX_GPIO_DEBUG is not set +# end of Wireless Coexistence + +# +# Common ESP-related +# +# default: +CONFIG_ESP_ERR_TO_NAME_LOOKUP=y +# end of Common ESP-related + +# +# ESP-Driver:Camera Controller Configurations +# +# default: +# CONFIG_CAM_CTLR_DVP_CAM_ISR_CACHE_SAFE is not set +# end of ESP-Driver:Camera Controller Configurations + +# +# ESP-Driver:GPIO Configurations +# +# default: +# CONFIG_GPIO_CTRL_FUNC_IN_IRAM is not set +# end of ESP-Driver:GPIO Configurations + +# +# ESP-Driver:GPTimer Configurations +# +# default: +CONFIG_GPTIMER_ISR_HANDLER_IN_IRAM=y +# default: +# CONFIG_GPTIMER_CTRL_FUNC_IN_IRAM is not set +# default: +# CONFIG_GPTIMER_ISR_CACHE_SAFE is not set +# default: +CONFIG_GPTIMER_OBJ_CACHE_SAFE=y +# default: +# CONFIG_GPTIMER_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:GPTimer Configurations + +# +# ESP-Driver:I2C Configurations +# +# default: +# CONFIG_I2C_ISR_IRAM_SAFE is not set +# default: +# CONFIG_I2C_ENABLE_DEBUG_LOG is not set +# default: +# CONFIG_I2C_ENABLE_SLAVE_DRIVER_VERSION_2 is not set +# default: +CONFIG_I2C_MASTER_ISR_HANDLER_IN_IRAM=y +# end of ESP-Driver:I2C Configurations + +# +# ESP-Driver:I2S Configurations +# +# default: +# CONFIG_I2S_ISR_IRAM_SAFE is not set +# default: +# CONFIG_I2S_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:I2S Configurations + +# +# ESP-Driver:LEDC Configurations +# +# default: +# CONFIG_LEDC_CTRL_FUNC_IN_IRAM is not set +# end of ESP-Driver:LEDC Configurations + +# +# ESP-Driver:MCPWM Configurations +# +# default: +CONFIG_MCPWM_ISR_HANDLER_IN_IRAM=y +# default: +# CONFIG_MCPWM_ISR_CACHE_SAFE is not set +# default: +# CONFIG_MCPWM_CTRL_FUNC_IN_IRAM is not set +# default: +CONFIG_MCPWM_OBJ_CACHE_SAFE=y +# default: +# CONFIG_MCPWM_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:MCPWM Configurations + +# +# ESP-Driver:PCNT Configurations +# +# default: +# CONFIG_PCNT_CTRL_FUNC_IN_IRAM is not set +# default: +# CONFIG_PCNT_ISR_IRAM_SAFE is not set +# default: +# CONFIG_PCNT_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:PCNT Configurations + +# +# ESP-Driver:RMT Configurations +# +# default: +CONFIG_RMT_ENCODER_FUNC_IN_IRAM=y +# default: +CONFIG_RMT_TX_ISR_HANDLER_IN_IRAM=y +# default: +CONFIG_RMT_RX_ISR_HANDLER_IN_IRAM=y +# default: +# CONFIG_RMT_RECV_FUNC_IN_IRAM is not set +# default: +# CONFIG_RMT_TX_ISR_CACHE_SAFE is not set +# default: +# CONFIG_RMT_RX_ISR_CACHE_SAFE is not set +# default: +CONFIG_RMT_OBJ_CACHE_SAFE=y +# default: +# CONFIG_RMT_ENABLE_DEBUG_LOG is not set +# default: +# CONFIG_RMT_ISR_IRAM_SAFE is not set +# end of ESP-Driver:RMT Configurations + +# +# ESP-Driver:Sigma Delta Modulator Configurations +# +# default: +# CONFIG_SDM_CTRL_FUNC_IN_IRAM is not set +# default: +# CONFIG_SDM_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:Sigma Delta Modulator Configurations + +# +# ESP-Driver:SPI Configurations +# +# default: +# CONFIG_SPI_MASTER_IN_IRAM is not set +# default: +CONFIG_SPI_MASTER_ISR_IN_IRAM=y +# default: +# CONFIG_SPI_SLAVE_IN_IRAM is not set +# default: +CONFIG_SPI_SLAVE_ISR_IN_IRAM=y +# end of ESP-Driver:SPI Configurations + +# +# ESP-Driver:Touch Sensor Configurations +# +# default: +# CONFIG_TOUCH_CTRL_FUNC_IN_IRAM is not set +# default: +# CONFIG_TOUCH_ISR_IRAM_SAFE is not set +# default: +# CONFIG_TOUCH_ENABLE_DEBUG_LOG is not set +# default: +# CONFIG_TOUCH_SKIP_FSM_CHECK is not set +# end of ESP-Driver:Touch Sensor Configurations + +# +# ESP-Driver:Temperature Sensor Configurations +# +# default: +# CONFIG_TEMP_SENSOR_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:Temperature Sensor Configurations + +# +# ESP-Driver:TWAI Configurations +# +# default: +# CONFIG_TWAI_ISR_IN_IRAM is not set +# default: +# CONFIG_TWAI_IO_FUNC_IN_IRAM is not set +# default: +# CONFIG_TWAI_ISR_CACHE_SAFE is not set +# default: +# CONFIG_TWAI_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:TWAI Configurations + +# +# ESP-Driver:UART Configurations +# +# default: +# CONFIG_UART_ISR_IN_IRAM is not set +# end of ESP-Driver:UART Configurations + +# +# ESP-Driver:UHCI Configurations +# +# default: +# CONFIG_UHCI_ISR_HANDLER_IN_IRAM is not set +# default: +# CONFIG_UHCI_ISR_CACHE_SAFE is not set +# default: +# CONFIG_UHCI_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:UHCI Configurations + +# +# ESP-Driver:USB Serial/JTAG Configuration +# +# default: +CONFIG_USJ_ENABLE_USB_SERIAL_JTAG=y +# end of ESP-Driver:USB Serial/JTAG Configuration + +# +# Ethernet +# +# default: +CONFIG_ETH_ENABLED=y +# default: +CONFIG_ETH_USE_SPI_ETHERNET=y +# default: +# CONFIG_ETH_SPI_ETHERNET_DM9051 is not set +# default: +# CONFIG_ETH_SPI_ETHERNET_W5500 is not set +# default: +# CONFIG_ETH_SPI_ETHERNET_KSZ8851SNL is not set +# default: +# CONFIG_ETH_USE_OPENETH is not set +# default: +# CONFIG_ETH_TRANSMIT_MUTEX is not set +# end of Ethernet + +# +# Event Loop Library +# +# default: +# CONFIG_ESP_EVENT_LOOP_PROFILING is not set +# default: +CONFIG_ESP_EVENT_POST_FROM_ISR=y +# default: +CONFIG_ESP_EVENT_POST_FROM_IRAM_ISR=y +# end of Event Loop Library + +# +# GDB Stub +# +# default: +CONFIG_ESP_GDBSTUB_ENABLED=y +# default: +# CONFIG_ESP_SYSTEM_GDBSTUB_RUNTIME is not set +# default: +CONFIG_ESP_GDBSTUB_SUPPORT_TASKS=y +# default: +CONFIG_ESP_GDBSTUB_MAX_TASKS=32 +# end of GDB Stub + +# +# ESP HID +# +# default: +CONFIG_ESPHID_TASK_SIZE_BT=2048 +# default: +CONFIG_ESPHID_TASK_SIZE_BLE=4096 +# end of ESP HID + +# +# ESP HTTP client +# +# default: +CONFIG_ESP_HTTP_CLIENT_ENABLE_HTTPS=y +# default: +# CONFIG_ESP_HTTP_CLIENT_ENABLE_BASIC_AUTH is not set +# default: +# CONFIG_ESP_HTTP_CLIENT_ENABLE_DIGEST_AUTH is not set +# default: +# CONFIG_ESP_HTTP_CLIENT_ENABLE_CUSTOM_TRANSPORT is not set +# default: +CONFIG_ESP_HTTP_CLIENT_EVENT_POST_TIMEOUT=2000 +# end of ESP HTTP client + +# +# HTTP Server +# +# default: +CONFIG_HTTPD_MAX_REQ_HDR_LEN=1024 +# default: +CONFIG_HTTPD_MAX_URI_LEN=512 +# default: +CONFIG_HTTPD_ERR_RESP_NO_DELAY=y +# default: +CONFIG_HTTPD_PURGE_BUF_LEN=32 +# default: +# CONFIG_HTTPD_LOG_PURGE_DATA is not set +# default: +# CONFIG_HTTPD_WS_SUPPORT is not set +# default: +# CONFIG_HTTPD_QUEUE_WORK_BLOCKING is not set +# default: +CONFIG_HTTPD_SERVER_EVENT_POST_TIMEOUT=2000 +# end of HTTP Server + +# +# ESP HTTPS OTA +# +# default: +# CONFIG_ESP_HTTPS_OTA_DECRYPT_CB is not set +# default: +# CONFIG_ESP_HTTPS_OTA_ALLOW_HTTP is not set +# default: +CONFIG_ESP_HTTPS_OTA_EVENT_POST_TIMEOUT=2000 +# end of ESP HTTPS OTA + +# +# ESP HTTPS server +# +# default: +# CONFIG_ESP_HTTPS_SERVER_ENABLE is not set +# default: +CONFIG_ESP_HTTPS_SERVER_EVENT_POST_TIMEOUT=2000 +# default: +# CONFIG_ESP_HTTPS_SERVER_CERT_SELECT_HOOK is not set +# end of ESP HTTPS server + +# +# Hardware Settings +# +# default: +CONFIG_ESP_HW_SUPPORT_FUNC_IN_IRAM=y + +# +# Chip revision +# +# default: +CONFIG_ESP32S3_REV_MIN_0=y +# default: +# CONFIG_ESP32S3_REV_MIN_1 is not set +# default: +# CONFIG_ESP32S3_REV_MIN_2 is not set +# default: +CONFIG_ESP32S3_REV_MIN_FULL=0 +# default: +CONFIG_ESP_REV_MIN_FULL=0 + +# +# Maximum Supported ESP32-S3 Revision (Rev v0.99) +# +# default: +CONFIG_ESP32S3_REV_MAX_FULL=99 +# default: +CONFIG_ESP_REV_MAX_FULL=99 +# default: +CONFIG_ESP_EFUSE_BLOCK_REV_MIN_FULL=0 +# default: +CONFIG_ESP_EFUSE_BLOCK_REV_MAX_FULL=199 + +# +# Maximum Supported ESP32-S3 eFuse Block Revision (eFuse Block Rev v1.99) +# +# end of Chip revision + +# +# MAC Config +# +# default: +CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_STA=y +# default: +CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_AP=y +# default: +CONFIG_ESP_MAC_ADDR_UNIVERSE_BT=y +# default: +CONFIG_ESP_MAC_ADDR_UNIVERSE_ETH=y +# default: +CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES_FOUR=y +# default: +CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES=4 +# default: +# CONFIG_ESP32S3_UNIVERSAL_MAC_ADDRESSES_TWO is not set +# default: +CONFIG_ESP32S3_UNIVERSAL_MAC_ADDRESSES_FOUR=y +# default: +CONFIG_ESP32S3_UNIVERSAL_MAC_ADDRESSES=4 +# default: +# CONFIG_ESP_MAC_USE_CUSTOM_MAC_AS_BASE_MAC is not set +# end of MAC Config + +# +# Sleep Config +# +# default: +# CONFIG_ESP_SLEEP_POWER_DOWN_FLASH is not set +# default: +CONFIG_ESP_SLEEP_FLASH_LEAKAGE_WORKAROUND=y +# default: +CONFIG_ESP_SLEEP_MSPI_NEED_ALL_IO_PU=y +# default: +CONFIG_ESP_SLEEP_RTC_BUS_ISO_WORKAROUND=y +# default: +CONFIG_ESP_SLEEP_GPIO_RESET_WORKAROUND=y +# default: +CONFIG_ESP_SLEEP_WAIT_FLASH_READY_EXTRA_DELAY=2000 +# default: +# CONFIG_ESP_SLEEP_CACHE_SAFE_ASSERTION is not set +# default: +# CONFIG_ESP_SLEEP_DEBUG is not set +# default: +CONFIG_ESP_SLEEP_GPIO_ENABLE_INTERNAL_RESISTORS=y +# end of Sleep Config + +# +# RTC Clock Config +# +# default: +CONFIG_RTC_CLK_SRC_INT_RC=y +# default: +# CONFIG_RTC_CLK_SRC_EXT_CRYS is not set +# default: +# CONFIG_RTC_CLK_SRC_EXT_OSC is not set +# default: +# CONFIG_RTC_CLK_SRC_INT_8MD256 is not set +# default: +CONFIG_RTC_CLK_CAL_CYCLES=1024 +# default: +CONFIG_RTC_CLK_FUNC_IN_IRAM=y +# default: +CONFIG_RTC_TIME_FUNC_IN_IRAM=y +# end of RTC Clock Config + +# +# Peripheral Control +# +# default: +CONFIG_ESP_PERIPH_CTRL_FUNC_IN_IRAM=y +# default: +CONFIG_ESP_REGI2C_CTRL_FUNC_IN_IRAM=y +# end of Peripheral Control + +# +# GDMA Configurations +# +# default: +CONFIG_GDMA_CTRL_FUNC_IN_IRAM=y +# default: +CONFIG_GDMA_ISR_HANDLER_IN_IRAM=y +# default: +CONFIG_GDMA_OBJ_DRAM_SAFE=y +# default: +# CONFIG_GDMA_ENABLE_DEBUG_LOG is not set +# default: +# CONFIG_GDMA_ISR_IRAM_SAFE is not set +# end of GDMA Configurations + +# +# Main XTAL Config +# +# default: +CONFIG_XTAL_FREQ_40=y +# default: +CONFIG_XTAL_FREQ=40 +# end of Main XTAL Config + +# +# Power Supplier +# + +# +# Brownout Detector +# +# default: +CONFIG_ESP_BROWNOUT_DET=y +# default: +CONFIG_ESP_BROWNOUT_DET_LVL_SEL_7=y +# default: +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_6 is not set +# default: +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_5 is not set +# default: +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_4 is not set +# default: +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_3 is not set +# default: +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_2 is not set +# default: +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_1 is not set +# default: +CONFIG_ESP_BROWNOUT_DET_LVL=7 +# default: +CONFIG_ESP_BROWNOUT_USE_INTR=y +# end of Brownout Detector +# end of Power Supplier + +# default: +CONFIG_ESP_SPI_BUS_LOCK_ISR_FUNCS_IN_IRAM=y +# default: +CONFIG_ESP_INTR_IN_IRAM=y +# end of Hardware Settings + +# +# ESP-Driver:LCD Controller Configurations +# +# default: +# CONFIG_LCD_RGB_ISR_IRAM_SAFE is not set +# default: +# CONFIG_LCD_RGB_RESTART_IN_VSYNC is not set +# default: +# CONFIG_LCD_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:LCD Controller Configurations + +# +# ESP-MM: Memory Management Configurations +# +# default: +# CONFIG_ESP_MM_CACHE_MSYNC_C2M_CHUNKED_OPS is not set +# end of ESP-MM: Memory Management Configurations + +# +# ESP NETIF Adapter +# +# default: +CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120 +# default: +# CONFIG_ESP_NETIF_PROVIDE_CUSTOM_IMPLEMENTATION is not set +# default: +CONFIG_ESP_NETIF_TCPIP_LWIP=y +# default: +# CONFIG_ESP_NETIF_LOOPBACK is not set +# default: +CONFIG_ESP_NETIF_USES_TCPIP_WITH_BSD_API=y +# default: +CONFIG_ESP_NETIF_REPORT_DATA_TRAFFIC=y +# default: +# CONFIG_ESP_NETIF_RECEIVE_REPORT_ERRORS is not set +# default: +# CONFIG_ESP_NETIF_L2_TAP is not set +# default: +# CONFIG_ESP_NETIF_BRIDGE_EN is not set +# default: +# CONFIG_ESP_NETIF_SET_DNS_PER_DEFAULT_NETIF is not set +# end of ESP NETIF Adapter + +# +# Partition API Configuration +# +# end of Partition API Configuration + +# +# PHY +# +# default: +CONFIG_ESP_PHY_ENABLED=y +# default: +CONFIG_ESP_PHY_CALIBRATION_AND_DATA_STORAGE=y +# default: +# CONFIG_ESP_PHY_INIT_DATA_IN_PARTITION is not set +# default: +CONFIG_ESP_PHY_MAX_WIFI_TX_POWER=20 +# default: +CONFIG_ESP_PHY_MAX_TX_POWER=20 +# default: +# CONFIG_ESP_PHY_REDUCE_TX_POWER is not set +# default: +CONFIG_ESP_PHY_ENABLE_USB=y +# default: +# CONFIG_ESP_PHY_ENABLE_CERT_TEST is not set +# default: +CONFIG_ESP_PHY_RF_CAL_PARTIAL=y +# default: +# CONFIG_ESP_PHY_RF_CAL_NONE is not set +# default: +# CONFIG_ESP_PHY_RF_CAL_FULL is not set +# default: +CONFIG_ESP_PHY_CALIBRATION_MODE=0 +# default: +CONFIG_ESP_PHY_PLL_TRACK_PERIOD_MS=1000 +# default: +# CONFIG_ESP_PHY_PLL_TRACK_DEBUG is not set +# default: +# CONFIG_ESP_PHY_RECORD_USED_TIME is not set +# default: +CONFIG_ESP_PHY_IRAM_OPT=y +# default: +# CONFIG_ESP_PHY_DEBUG is not set +# end of PHY + +# +# Power Management +# +# default: +# CONFIG_PM_SLEEP_FUNC_IN_IRAM is not set +# default: +# CONFIG_PM_ENABLE is not set +# default: +# CONFIG_PM_SLP_IRAM_OPT is not set +# default: +CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP=y +# default: +CONFIG_PM_RESTORE_CACHE_TAGMEM_AFTER_LIGHT_SLEEP=y +# end of Power Management + +# +# ESP PSRAM +# +# default: +# CONFIG_SPIRAM is not set +# end of ESP PSRAM + +# +# ESP Ringbuf +# +# default: +# CONFIG_RINGBUF_PLACE_FUNCTIONS_INTO_FLASH is not set +# end of ESP Ringbuf + +# +# ESP-ROM +# +# default: +CONFIG_ESP_ROM_PRINT_IN_IRAM=y +# end of ESP-ROM + +# +# ESP Security Specific +# +# end of ESP Security Specific + +# +# ESP System Settings +# +# default: +# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_80 is not set +# default: +CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_160=y +# default: +# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240 is not set +# default: +CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=160 + +# +# Cache config +# +# default: +CONFIG_ESP32S3_INSTRUCTION_CACHE_16KB=y +# default: +# CONFIG_ESP32S3_INSTRUCTION_CACHE_32KB is not set +# default: +CONFIG_ESP32S3_INSTRUCTION_CACHE_SIZE=0x4000 +# default: +# CONFIG_ESP32S3_INSTRUCTION_CACHE_4WAYS is not set +# default: +CONFIG_ESP32S3_INSTRUCTION_CACHE_8WAYS=y +# default: +CONFIG_ESP32S3_ICACHE_ASSOCIATED_WAYS=8 +# default: +# CONFIG_ESP32S3_INSTRUCTION_CACHE_LINE_16B is not set +# default: +CONFIG_ESP32S3_INSTRUCTION_CACHE_LINE_32B=y +# default: +CONFIG_ESP32S3_INSTRUCTION_CACHE_LINE_SIZE=32 +# default: +# CONFIG_ESP32S3_DATA_CACHE_16KB is not set +# default: +CONFIG_ESP32S3_DATA_CACHE_32KB=y +# default: +# CONFIG_ESP32S3_DATA_CACHE_64KB is not set +# default: +CONFIG_ESP32S3_DATA_CACHE_SIZE=0x8000 +# default: +# CONFIG_ESP32S3_DATA_CACHE_4WAYS is not set +# default: +CONFIG_ESP32S3_DATA_CACHE_8WAYS=y +# default: +CONFIG_ESP32S3_DCACHE_ASSOCIATED_WAYS=8 +# default: +# CONFIG_ESP32S3_DATA_CACHE_LINE_16B is not set +# default: +CONFIG_ESP32S3_DATA_CACHE_LINE_32B=y +# default: +# CONFIG_ESP32S3_DATA_CACHE_LINE_64B is not set +# default: +CONFIG_ESP32S3_DATA_CACHE_LINE_SIZE=32 +# end of Cache config + +# +# Memory +# +# default: +# CONFIG_ESP32S3_RTCDATA_IN_FAST_MEM is not set +# default: +# CONFIG_ESP32S3_USE_FIXED_STATIC_RAM_SIZE is not set +# end of Memory + +# +# Trace memory +# +# default: +# CONFIG_ESP32S3_TRAX is not set +# default: +CONFIG_ESP32S3_TRACEMEM_RESERVE_DRAM=0x0 +# end of Trace memory + +# default: +CONFIG_ESP_SYSTEM_IN_IRAM=y +# default: +# CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT is not set +# default: +CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT=y +# default: +# CONFIG_ESP_SYSTEM_PANIC_SILENT_REBOOT is not set +# default: +# CONFIG_ESP_SYSTEM_PANIC_GDBSTUB is not set +# default: +CONFIG_ESP_SYSTEM_PANIC_REBOOT_DELAY_SECONDS=0 +# default: +CONFIG_ESP_SYSTEM_RTC_FAST_MEM_AS_HEAP_DEPCHECK=y +# default: +CONFIG_ESP_SYSTEM_ALLOW_RTC_FAST_MEM_AS_HEAP=y + +# +# Memory protection +# +# default: +CONFIG_ESP_SYSTEM_MEMPROT_FEATURE=y +# default: +CONFIG_ESP_SYSTEM_MEMPROT_FEATURE_LOCK=y +# end of Memory protection + +# default: +CONFIG_ESP_SYSTEM_EVENT_QUEUE_SIZE=32 +# default: +CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=2304 +CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192 +# default: +CONFIG_ESP_MAIN_TASK_AFFINITY_CPU0=y +# default: +# CONFIG_ESP_MAIN_TASK_AFFINITY_CPU1 is not set +# default: +# CONFIG_ESP_MAIN_TASK_AFFINITY_NO_AFFINITY is not set +# default: +CONFIG_ESP_MAIN_TASK_AFFINITY=0x0 +# default: +CONFIG_ESP_MINIMAL_SHARED_STACK_SIZE=2048 +# default: +CONFIG_ESP_CONSOLE_UART_DEFAULT=y +# default: +# CONFIG_ESP_CONSOLE_USB_CDC is not set +# default: +# CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG is not set +# default: +# CONFIG_ESP_CONSOLE_UART_CUSTOM is not set +# default: +# CONFIG_ESP_CONSOLE_NONE is not set +# default: +# CONFIG_ESP_CONSOLE_SECONDARY_NONE is not set +# default: +CONFIG_ESP_CONSOLE_SECONDARY_USB_SERIAL_JTAG=y +# default: +CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG_ENABLED=y +# default: +CONFIG_ESP_CONSOLE_UART=y +# default: +CONFIG_ESP_CONSOLE_UART_NUM=0 +# default: +CONFIG_ESP_CONSOLE_ROM_SERIAL_PORT_NUM=0 +# default: +CONFIG_ESP_CONSOLE_UART_BAUDRATE=115200 +# default: +CONFIG_ESP_INT_WDT=y +# default: +CONFIG_ESP_INT_WDT_TIMEOUT_MS=300 +# default: +CONFIG_ESP_INT_WDT_CHECK_CPU1=y +# default: +CONFIG_ESP_TASK_WDT_EN=y +# default: +CONFIG_ESP_TASK_WDT_INIT=y +# default: +# CONFIG_ESP_TASK_WDT_PANIC is not set +# default: +CONFIG_ESP_TASK_WDT_TIMEOUT_S=5 +# default: +CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0=y +# default: +CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU1=y +# default: +# CONFIG_ESP_PANIC_HANDLER_IRAM is not set +# default: +# CONFIG_ESP_DEBUG_STUBS_ENABLE is not set +# default: +CONFIG_ESP_DEBUG_OCDAWARE=y +# default: +CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_4=y +# default: +CONFIG_ESP_SYSTEM_BBPLL_RECALIB=y +# end of ESP System Settings + +# +# IPC (Inter-Processor Call) +# +# default: +CONFIG_ESP_IPC_ENABLE=y +# default: +CONFIG_ESP_IPC_TASK_STACK_SIZE=1280 +# default: +CONFIG_ESP_IPC_USES_CALLERS_PRIORITY=y +# default: +CONFIG_ESP_IPC_ISR_ENABLE=y +# end of IPC (Inter-Processor Call) + +# +# ESP Timer (High Resolution Timer) +# +# default: +CONFIG_ESP_TIMER_IN_IRAM=y +# default: +# CONFIG_ESP_TIMER_PROFILING is not set +# default: +CONFIG_ESP_TIME_FUNCS_USE_RTC_TIMER=y +# default: +CONFIG_ESP_TIME_FUNCS_USE_ESP_TIMER=y +# default: +CONFIG_ESP_TIMER_TASK_STACK_SIZE=3584 +# default: +CONFIG_ESP_TIMER_INTERRUPT_LEVEL=1 +# default: +# CONFIG_ESP_TIMER_SHOW_EXPERIMENTAL is not set +# default: +CONFIG_ESP_TIMER_TASK_AFFINITY=0x0 +# default: +CONFIG_ESP_TIMER_TASK_AFFINITY_CPU0=y +# default: +CONFIG_ESP_TIMER_ISR_AFFINITY_CPU0=y +# default: +# CONFIG_ESP_TIMER_SUPPORTS_ISR_DISPATCH_METHOD is not set +# default: +CONFIG_ESP_TIMER_IMPL_SYSTIMER=y +# end of ESP Timer (High Resolution Timer) + +# +# Wi-Fi +# +# default: +CONFIG_ESP_WIFI_ENABLED=y +# default: +CONFIG_ESP_WIFI_STATIC_RX_BUFFER_NUM=10 +# default: +CONFIG_ESP_WIFI_DYNAMIC_RX_BUFFER_NUM=32 +# default: +# CONFIG_ESP_WIFI_STATIC_TX_BUFFER is not set +# default: +CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER=y +# default: +CONFIG_ESP_WIFI_TX_BUFFER_TYPE=1 +# default: +CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER_NUM=32 +# default: +CONFIG_ESP_WIFI_STATIC_RX_MGMT_BUFFER=y +# default: +# CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUFFER is not set +# default: +CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUF=0 +# default: +CONFIG_ESP_WIFI_RX_MGMT_BUF_NUM_DEF=5 +# default: +# CONFIG_ESP_WIFI_CSI_ENABLED is not set +# default: +CONFIG_ESP_WIFI_AMPDU_TX_ENABLED=y +# default: +CONFIG_ESP_WIFI_TX_BA_WIN=6 +# default: +CONFIG_ESP_WIFI_AMPDU_RX_ENABLED=y +# default: +CONFIG_ESP_WIFI_RX_BA_WIN=6 +# default: +CONFIG_ESP_WIFI_NVS_ENABLED=y +# default: +CONFIG_ESP_WIFI_TASK_PINNED_TO_CORE_0=y +# default: +# CONFIG_ESP_WIFI_TASK_PINNED_TO_CORE_1 is not set +# default: +CONFIG_ESP_WIFI_SOFTAP_BEACON_MAX_LEN=752 +# default: +CONFIG_ESP_WIFI_MGMT_SBUF_NUM=32 +# default: +CONFIG_ESP_WIFI_IRAM_OPT=y +# default: +# CONFIG_ESP_WIFI_EXTRA_IRAM_OPT is not set +# default: +CONFIG_ESP_WIFI_RX_IRAM_OPT=y +# default: +CONFIG_ESP_WIFI_ENABLE_WPA3_SAE=y +# default: +CONFIG_ESP_WIFI_ENABLE_SAE_PK=y +# default: +CONFIG_ESP_WIFI_ENABLE_SAE_H2E=y +# default: +CONFIG_ESP_WIFI_SOFTAP_SAE_SUPPORT=y +# default: +CONFIG_ESP_WIFI_ENABLE_WPA3_OWE_STA=y +# default: +# CONFIG_ESP_WIFI_SLP_IRAM_OPT is not set +# default: +CONFIG_ESP_WIFI_SLP_DEFAULT_MIN_ACTIVE_TIME=50 +# default: +# CONFIG_ESP_WIFI_BSS_MAX_IDLE_SUPPORT is not set +# default: +CONFIG_ESP_WIFI_SLP_DEFAULT_MAX_ACTIVE_TIME=10 +# default: +CONFIG_ESP_WIFI_SLP_DEFAULT_WAIT_BROADCAST_DATA_TIME=15 +# default: +# CONFIG_ESP_WIFI_FTM_ENABLE is not set +# default: +CONFIG_ESP_WIFI_STA_DISCONNECTED_PM_ENABLE=y +# default: +# CONFIG_ESP_WIFI_GCMP_SUPPORT is not set +# default: +CONFIG_ESP_WIFI_GMAC_SUPPORT=y +# default: +CONFIG_ESP_WIFI_SOFTAP_SUPPORT=y +# default: +# CONFIG_ESP_WIFI_SLP_BEACON_LOST_OPT is not set +# default: +CONFIG_ESP_WIFI_ESPNOW_MAX_ENCRYPT_NUM=7 +# default: +CONFIG_ESP_WIFI_MBEDTLS_CRYPTO=y +# default: +CONFIG_ESP_WIFI_MBEDTLS_TLS_CLIENT=y +# default: +# CONFIG_ESP_WIFI_WAPI_PSK is not set +# default: +# CONFIG_ESP_WIFI_SUITE_B_192 is not set +# default: +# CONFIG_ESP_WIFI_11KV_SUPPORT is not set +# default: +# CONFIG_ESP_WIFI_MBO_SUPPORT is not set +# default: +# CONFIG_ESP_WIFI_DPP_SUPPORT is not set +# default: +# CONFIG_ESP_WIFI_11R_SUPPORT is not set +# default: +# CONFIG_ESP_WIFI_WPS_SOFTAP_REGISTRAR is not set + +# +# WPS Configuration Options +# +# default: +# CONFIG_ESP_WIFI_WPS_STRICT is not set +# default: +# CONFIG_ESP_WIFI_WPS_PASSPHRASE is not set +# default: +# CONFIG_ESP_WIFI_WPS_RECONNECT_ON_FAIL is not set +# end of WPS Configuration Options + +# default: +# CONFIG_ESP_WIFI_DEBUG_PRINT is not set +# default: +CONFIG_ESP_WIFI_ENTERPRISE_SUPPORT=y +# default: +# CONFIG_ESP_WIFI_ENT_FREE_DYNAMIC_BUFFER is not set +# end of Wi-Fi + +# +# Core dump +# +# default: +# CONFIG_ESP_COREDUMP_ENABLE_TO_FLASH is not set +# default: +# CONFIG_ESP_COREDUMP_ENABLE_TO_UART is not set +# default: +CONFIG_ESP_COREDUMP_ENABLE_TO_NONE=y +# end of Core dump + +# +# FAT Filesystem support +# +# default: +CONFIG_FATFS_VOLUME_COUNT=2 +# default: +CONFIG_FATFS_LFN_NONE=y +# default: +# CONFIG_FATFS_LFN_HEAP is not set +# default: +# CONFIG_FATFS_LFN_STACK is not set +# default: +# CONFIG_FATFS_SECTOR_512 is not set +# default: +CONFIG_FATFS_SECTOR_4096=y +# default: +# CONFIG_FATFS_CODEPAGE_DYNAMIC is not set +# default: +CONFIG_FATFS_CODEPAGE_437=y +# default: +# CONFIG_FATFS_CODEPAGE_720 is not set +# default: +# CONFIG_FATFS_CODEPAGE_737 is not set +# default: +# CONFIG_FATFS_CODEPAGE_771 is not set +# default: +# CONFIG_FATFS_CODEPAGE_775 is not set +# default: +# CONFIG_FATFS_CODEPAGE_850 is not set +# default: +# CONFIG_FATFS_CODEPAGE_852 is not set +# default: +# CONFIG_FATFS_CODEPAGE_855 is not set +# default: +# CONFIG_FATFS_CODEPAGE_857 is not set +# default: +# CONFIG_FATFS_CODEPAGE_860 is not set +# default: +# CONFIG_FATFS_CODEPAGE_861 is not set +# default: +# CONFIG_FATFS_CODEPAGE_862 is not set +# default: +# CONFIG_FATFS_CODEPAGE_863 is not set +# default: +# CONFIG_FATFS_CODEPAGE_864 is not set +# default: +# CONFIG_FATFS_CODEPAGE_865 is not set +# default: +# CONFIG_FATFS_CODEPAGE_866 is not set +# default: +# CONFIG_FATFS_CODEPAGE_869 is not set +# default: +# CONFIG_FATFS_CODEPAGE_932 is not set +# default: +# CONFIG_FATFS_CODEPAGE_936 is not set +# default: +# CONFIG_FATFS_CODEPAGE_949 is not set +# default: +# CONFIG_FATFS_CODEPAGE_950 is not set +# default: +CONFIG_FATFS_CODEPAGE=437 +# default: +CONFIG_FATFS_FS_LOCK=0 +# default: +CONFIG_FATFS_TIMEOUT_MS=10000 +# default: +CONFIG_FATFS_PER_FILE_CACHE=y +# default: +# CONFIG_FATFS_USE_FASTSEEK is not set +# default: +CONFIG_FATFS_USE_STRFUNC_NONE=y +# default: +# CONFIG_FATFS_USE_STRFUNC_WITHOUT_CRLF_CONV is not set +# default: +# CONFIG_FATFS_USE_STRFUNC_WITH_CRLF_CONV is not set +# default: +CONFIG_FATFS_VFS_FSTAT_BLKSIZE=0 +# default: +# CONFIG_FATFS_IMMEDIATE_FSYNC is not set +# default: +# CONFIG_FATFS_USE_LABEL is not set +# default: +CONFIG_FATFS_LINK_LOCK=y +# default: +# CONFIG_FATFS_USE_DYN_BUFFERS is not set + +# +# File system free space calculation behavior +# +# default: +CONFIG_FATFS_DONT_TRUST_FREE_CLUSTER_CNT=0 +# default: +CONFIG_FATFS_DONT_TRUST_LAST_ALLOC=0 +# end of File system free space calculation behavior +# end of FAT Filesystem support + +# +# FreeRTOS +# + +# +# Kernel +# +# default: +# CONFIG_FREERTOS_SMP is not set +# default: +# CONFIG_FREERTOS_UNICORE is not set +CONFIG_FREERTOS_HZ=1000 +# default: +# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_NONE is not set +# default: +# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_PTRVAL is not set +# default: +CONFIG_FREERTOS_CHECK_STACKOVERFLOW_CANARY=y +# default: +CONFIG_FREERTOS_THREAD_LOCAL_STORAGE_POINTERS=1 +# default: +CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1536 +# default: +# CONFIG_FREERTOS_USE_IDLE_HOOK is not set +# default: +# CONFIG_FREERTOS_USE_TICK_HOOK is not set +# default: +CONFIG_FREERTOS_MAX_TASK_NAME_LEN=16 +# default: +# CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY is not set +# default: +CONFIG_FREERTOS_USE_TIMERS=y +# default: +CONFIG_FREERTOS_TIMER_SERVICE_TASK_NAME="Tmr Svc" +# default: +# CONFIG_FREERTOS_TIMER_TASK_AFFINITY_CPU0 is not set +# default: +# CONFIG_FREERTOS_TIMER_TASK_AFFINITY_CPU1 is not set +# default: +CONFIG_FREERTOS_TIMER_TASK_NO_AFFINITY=y +# default: +CONFIG_FREERTOS_TIMER_SERVICE_TASK_CORE_AFFINITY=0x7FFFFFFF +# default: +CONFIG_FREERTOS_TIMER_TASK_PRIORITY=1 +# default: +CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=2048 +# default: +CONFIG_FREERTOS_TIMER_QUEUE_LENGTH=10 +# default: +CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE=0 +# default: +CONFIG_FREERTOS_TASK_NOTIFICATION_ARRAY_ENTRIES=1 +# default: +# CONFIG_FREERTOS_USE_TRACE_FACILITY is not set +# default: +# CONFIG_FREERTOS_USE_LIST_DATA_INTEGRITY_CHECK_BYTES is not set +# default: +# CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS is not set +# default: +# CONFIG_FREERTOS_USE_APPLICATION_TASK_TAG is not set +# end of Kernel + +# +# Port +# +# default: +CONFIG_FREERTOS_TASK_FUNCTION_WRAPPER=y +# default: +# CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK is not set +# default: +CONFIG_FREERTOS_TLSP_DELETION_CALLBACKS=y +# default: +# CONFIG_FREERTOS_TASK_PRE_DELETION_HOOK is not set +# default: +# CONFIG_FREERTOS_ENABLE_STATIC_TASK_CLEAN_UP is not set +# default: +CONFIG_FREERTOS_CHECK_MUTEX_GIVEN_BY_OWNER=y +# default: +CONFIG_FREERTOS_ISR_STACKSIZE=1536 +# default: +CONFIG_FREERTOS_INTERRUPT_BACKTRACE=y +# default: +# CONFIG_FREERTOS_FPU_IN_ISR is not set +# default: +CONFIG_FREERTOS_TICK_SUPPORT_SYSTIMER=y +# default: +CONFIG_FREERTOS_CORETIMER_SYSTIMER_LVL1=y +# default: +# CONFIG_FREERTOS_CORETIMER_SYSTIMER_LVL3 is not set +# default: +CONFIG_FREERTOS_SYSTICK_USES_SYSTIMER=y +# default: +# CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH is not set +# default: +# CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE is not set +# end of Port + +# +# Extra +# +# end of Extra + +# default: +CONFIG_FREERTOS_PORT=y +# default: +CONFIG_FREERTOS_NO_AFFINITY=0x7FFFFFFF +# default: +CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION=y +# default: +CONFIG_FREERTOS_DEBUG_OCDAWARE=y +# default: +CONFIG_FREERTOS_ENABLE_TASK_SNAPSHOT=y +# default: +CONFIG_FREERTOS_PLACE_SNAPSHOT_FUNS_INTO_FLASH=y +# default: +CONFIG_FREERTOS_NUMBER_OF_CORES=2 +# default: +CONFIG_FREERTOS_IN_IRAM=y +# end of FreeRTOS + +# +# Hardware Abstraction Layer (HAL) and Low Level (LL) +# +# default: +CONFIG_HAL_ASSERTION_EQUALS_SYSTEM=y +# default: +# CONFIG_HAL_ASSERTION_DISABLE is not set +# default: +# CONFIG_HAL_ASSERTION_SILENT is not set +# default: +# CONFIG_HAL_ASSERTION_ENABLE is not set +# default: +CONFIG_HAL_DEFAULT_ASSERTION_LEVEL=2 +# default: +CONFIG_HAL_WDT_USE_ROM_IMPL=y +# end of Hardware Abstraction Layer (HAL) and Low Level (LL) + +# +# Heap memory debugging +# +# default: +CONFIG_HEAP_POISONING_DISABLED=y +# default: +# CONFIG_HEAP_POISONING_LIGHT is not set +# default: +# CONFIG_HEAP_POISONING_COMPREHENSIVE is not set +# default: +CONFIG_HEAP_TRACING_OFF=y +# default: +# CONFIG_HEAP_TRACING_STANDALONE is not set +# default: +# CONFIG_HEAP_TRACING_TOHOST is not set +# default: +# CONFIG_HEAP_USE_HOOKS is not set +# default: +# CONFIG_HEAP_TASK_TRACKING is not set +# default: +# CONFIG_HEAP_ABORT_WHEN_ALLOCATION_FAILS is not set +# default: +# CONFIG_HEAP_PLACE_FUNCTION_INTO_FLASH is not set +# end of Heap memory debugging + +# +# Log +# +# default: +CONFIG_LOG_VERSION_1=y +# default: +# CONFIG_LOG_VERSION_2 is not set +# default: +CONFIG_LOG_VERSION=1 + +# +# Log Level +# +# default: +# CONFIG_LOG_DEFAULT_LEVEL_NONE is not set +# default: +# CONFIG_LOG_DEFAULT_LEVEL_ERROR is not set +# default: +# CONFIG_LOG_DEFAULT_LEVEL_WARN is not set +# default: +CONFIG_LOG_DEFAULT_LEVEL_INFO=y +# default: +# CONFIG_LOG_DEFAULT_LEVEL_DEBUG is not set +# default: +# CONFIG_LOG_DEFAULT_LEVEL_VERBOSE is not set +# default: +CONFIG_LOG_DEFAULT_LEVEL=3 +# default: +CONFIG_LOG_MAXIMUM_EQUALS_DEFAULT=y +# default: +# CONFIG_LOG_MAXIMUM_LEVEL_DEBUG is not set +# default: +# CONFIG_LOG_MAXIMUM_LEVEL_VERBOSE is not set +# default: +CONFIG_LOG_MAXIMUM_LEVEL=3 + +# +# Level Settings +# +# default: +# CONFIG_LOG_MASTER_LEVEL is not set +# default: +CONFIG_LOG_DYNAMIC_LEVEL_CONTROL=y +# default: +# CONFIG_LOG_TAG_LEVEL_IMPL_NONE is not set +# default: +# CONFIG_LOG_TAG_LEVEL_IMPL_LINKED_LIST is not set +# default: +CONFIG_LOG_TAG_LEVEL_IMPL_CACHE_AND_LINKED_LIST=y +# default: +# CONFIG_LOG_TAG_LEVEL_CACHE_ARRAY is not set +# default: +CONFIG_LOG_TAG_LEVEL_CACHE_BINARY_MIN_HEAP=y +# default: +CONFIG_LOG_TAG_LEVEL_IMPL_CACHE_SIZE=31 +# end of Level Settings +# end of Log Level + +# +# Format +# +# default: +# CONFIG_LOG_COLORS is not set +# default: +CONFIG_LOG_TIMESTAMP_SOURCE_RTOS=y +# default: +# CONFIG_LOG_TIMESTAMP_SOURCE_SYSTEM is not set +# end of Format + +# +# Settings +# +# default: +CONFIG_LOG_MODE_TEXT_EN=y +# default: +CONFIG_LOG_MODE_TEXT=y +# end of Settings + +# default: +CONFIG_LOG_IN_IRAM=y +# end of Log + +# +# LWIP +# +# default: +CONFIG_LWIP_ENABLE=y +# default: +CONFIG_LWIP_LOCAL_HOSTNAME="espressif" +# default: +CONFIG_LWIP_TCPIP_TASK_PRIO=18 +# default: +# CONFIG_LWIP_TCPIP_CORE_LOCKING is not set +# default: +# CONFIG_LWIP_CHECK_THREAD_SAFETY is not set +# default: +CONFIG_LWIP_DNS_SUPPORT_MDNS_QUERIES=y +# default: +# CONFIG_LWIP_L2_TO_L3_COPY is not set +# default: +# CONFIG_LWIP_IRAM_OPTIMIZATION is not set +# default: +# CONFIG_LWIP_EXTRA_IRAM_OPTIMIZATION is not set +# default: +CONFIG_LWIP_TIMERS_ONDEMAND=y +# default: +CONFIG_LWIP_ND6=y +# default: +# CONFIG_LWIP_FORCE_ROUTER_FORWARDING is not set +# default: +CONFIG_LWIP_MAX_SOCKETS=10 +# default: +# CONFIG_LWIP_USE_ONLY_LWIP_SELECT is not set +# default: +# CONFIG_LWIP_SO_LINGER is not set +# default: +CONFIG_LWIP_SO_REUSE=y +# default: +CONFIG_LWIP_SO_REUSE_RXTOALL=y +CONFIG_LWIP_SO_RCVBUF=y +# default: +# CONFIG_LWIP_NETBUF_RECVINFO is not set +# default: +CONFIG_LWIP_IP_DEFAULT_TTL=64 +# default: +CONFIG_LWIP_IP4_FRAG=y +# default: +CONFIG_LWIP_IP6_FRAG=y +# default: +# CONFIG_LWIP_IP4_REASSEMBLY is not set +# default: +# CONFIG_LWIP_IP6_REASSEMBLY is not set +# default: +CONFIG_LWIP_IP_REASS_MAX_PBUFS=10 +# default: +# CONFIG_LWIP_IP_FORWARD is not set +# default: +# CONFIG_LWIP_STATS is not set +# default: +CONFIG_LWIP_ESP_GRATUITOUS_ARP=y +# default: +CONFIG_LWIP_GARP_TMR_INTERVAL=60 +# default: +CONFIG_LWIP_ESP_MLDV6_REPORT=y +# default: +CONFIG_LWIP_MLDV6_TMR_INTERVAL=40 +# default: +CONFIG_LWIP_TCPIP_RECVMBOX_SIZE=32 +# default: +CONFIG_LWIP_DHCP_DOES_ARP_CHECK=y +# default: +# CONFIG_LWIP_DHCP_DOES_ACD_CHECK is not set +# default: +# CONFIG_LWIP_DHCP_DOES_NOT_CHECK_OFFERED_IP is not set +# default: +# CONFIG_LWIP_DHCP_DISABLE_CLIENT_ID is not set +# default: +CONFIG_LWIP_DHCP_DISABLE_VENDOR_CLASS_ID=y +# default: +# CONFIG_LWIP_DHCP_RESTORE_LAST_IP is not set +# default: +CONFIG_LWIP_DHCP_OPTIONS_LEN=69 +# default: +CONFIG_LWIP_NUM_NETIF_CLIENT_DATA=0 +# default: +CONFIG_LWIP_DHCP_COARSE_TIMER_SECS=1 + +# +# DHCP server +# +# default: +CONFIG_LWIP_DHCPS=y +# default: +CONFIG_LWIP_DHCPS_LEASE_UNIT=60 +# default: +CONFIG_LWIP_DHCPS_MAX_STATION_NUM=8 +# default: +CONFIG_LWIP_DHCPS_STATIC_ENTRIES=y +# default: +CONFIG_LWIP_DHCPS_ADD_DNS=y +# end of DHCP server + +# default: +# CONFIG_LWIP_AUTOIP is not set +# default: +CONFIG_LWIP_IPV4=y +# default: +CONFIG_LWIP_IPV6=y +# default: +# CONFIG_LWIP_IPV6_AUTOCONFIG is not set +# default: +CONFIG_LWIP_IPV6_NUM_ADDRESSES=3 +# default: +# CONFIG_LWIP_IPV6_FORWARD is not set +# default: +# CONFIG_LWIP_NETIF_STATUS_CALLBACK is not set +# default: +CONFIG_LWIP_NETIF_LOOPBACK=y +# default: +CONFIG_LWIP_LOOPBACK_MAX_PBUFS=8 + +# +# TCP +# +# default: +CONFIG_LWIP_MAX_ACTIVE_TCP=16 +# default: +CONFIG_LWIP_MAX_LISTENING_TCP=16 +# default: +CONFIG_LWIP_TCP_HIGH_SPEED_RETRANSMISSION=y +# default: +CONFIG_LWIP_TCP_MAXRTX=12 +# default: +CONFIG_LWIP_TCP_SYNMAXRTX=12 +# default: +CONFIG_LWIP_TCP_MSS=1440 +# default: +CONFIG_LWIP_TCP_TMR_INTERVAL=250 +# default: +CONFIG_LWIP_TCP_MSL=60000 +# default: +CONFIG_LWIP_TCP_FIN_WAIT_TIMEOUT=20000 +# default: +CONFIG_LWIP_TCP_SND_BUF_DEFAULT=5760 +# default: +CONFIG_LWIP_TCP_WND_DEFAULT=5760 +# default: +CONFIG_LWIP_TCP_RECVMBOX_SIZE=6 +# default: +CONFIG_LWIP_TCP_ACCEPTMBOX_SIZE=6 +# default: +CONFIG_LWIP_TCP_QUEUE_OOSEQ=y +# default: +CONFIG_LWIP_TCP_OOSEQ_TIMEOUT=6 +# default: +CONFIG_LWIP_TCP_OOSEQ_MAX_PBUFS=4 +# default: +# CONFIG_LWIP_TCP_SACK_OUT is not set +# default: +CONFIG_LWIP_TCP_OVERSIZE_MSS=y +# default: +# CONFIG_LWIP_TCP_OVERSIZE_QUARTER_MSS is not set +# default: +# CONFIG_LWIP_TCP_OVERSIZE_DISABLE is not set +# default: +CONFIG_LWIP_TCP_RTO_TIME=1500 +# end of TCP + +# +# UDP +# +# default: +CONFIG_LWIP_MAX_UDP_PCBS=16 +# default: +CONFIG_LWIP_UDP_RECVMBOX_SIZE=6 +# end of UDP + +# +# Checksums +# +# default: +# CONFIG_LWIP_CHECKSUM_CHECK_IP is not set +# default: +# CONFIG_LWIP_CHECKSUM_CHECK_UDP is not set +# default: +CONFIG_LWIP_CHECKSUM_CHECK_ICMP=y +# end of Checksums + +# default: +CONFIG_LWIP_TCPIP_TASK_STACK_SIZE=3072 +# default: +CONFIG_LWIP_TCPIP_TASK_AFFINITY_NO_AFFINITY=y +# default: +# CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU0 is not set +# default: +# CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU1 is not set +# default: +CONFIG_LWIP_TCPIP_TASK_AFFINITY=0x7FFFFFFF +# default: +CONFIG_LWIP_IPV6_MEMP_NUM_ND6_QUEUE=3 +# default: +CONFIG_LWIP_IPV6_ND6_NUM_NEIGHBORS=5 +# default: +CONFIG_LWIP_IPV6_ND6_NUM_PREFIXES=5 +# default: +CONFIG_LWIP_IPV6_ND6_NUM_ROUTERS=3 +# default: +CONFIG_LWIP_IPV6_ND6_NUM_DESTINATIONS=10 +# default: +# CONFIG_LWIP_IPV6_ND6_ROUTE_INFO_OPTION_SUPPORT is not set +# default: +CONFIG_LWIP_PPP_SUPPORT=y +# default: +CONFIG_LWIP_PPP_ENABLE_IPV4=y +# default: +CONFIG_LWIP_PPP_ENABLE_IPV6=y +# default: +# CONFIG_LWIP_PPP_NOTIFY_PHASE_SUPPORT is not set +# default: +# CONFIG_LWIP_PPP_PAP_SUPPORT is not set +# default: +# CONFIG_LWIP_PPP_CHAP_SUPPORT is not set +# default: +# CONFIG_LWIP_PPP_MSCHAP_SUPPORT is not set +# default: +# CONFIG_LWIP_PPP_MPPE_SUPPORT is not set +# default: +# CONFIG_LWIP_PPP_SERVER_SUPPORT is not set +# default: +CONFIG_LWIP_PPP_VJ_HEADER_COMPRESSION=y +# default: +# CONFIG_LWIP_ENABLE_LCP_ECHO is not set +# default: +# CONFIG_LWIP_PPP_DEBUG_ON is not set +# default: +# CONFIG_LWIP_USE_EXTERNAL_MBEDTLS is not set +# default: +# CONFIG_LWIP_SLIP_SUPPORT is not set + +# +# ICMP +# +# default: +CONFIG_LWIP_ICMP=y +# default: +# CONFIG_LWIP_MULTICAST_PING is not set +# default: +# CONFIG_LWIP_BROADCAST_PING is not set +# end of ICMP + +# +# LWIP RAW API +# +# default: +CONFIG_LWIP_MAX_RAW_PCBS=16 +# end of LWIP RAW API + +# +# SNTP +# +# default: +CONFIG_LWIP_SNTP_MAX_SERVERS=1 +# default: +# CONFIG_LWIP_DHCP_GET_NTP_SRV is not set +# default: +CONFIG_LWIP_SNTP_UPDATE_DELAY=3600000 +# default: +CONFIG_LWIP_SNTP_STARTUP_DELAY=y +# default: +CONFIG_LWIP_SNTP_MAXIMUM_STARTUP_DELAY=5000 +# end of SNTP + +# +# DNS +# +# default: +CONFIG_LWIP_DNS_MAX_HOST_IP=1 +# default: +CONFIG_LWIP_DNS_MAX_SERVERS=3 +# default: +# CONFIG_LWIP_FALLBACK_DNS_SERVER_SUPPORT is not set +# default: +# CONFIG_LWIP_DNS_SETSERVER_WITH_NETIF is not set +# default: +# CONFIG_LWIP_USE_ESP_GETADDRINFO is not set +# end of DNS + +# default: +CONFIG_LWIP_BRIDGEIF_MAX_PORTS=7 +# default: +CONFIG_LWIP_ESP_LWIP_ASSERT=y + +# +# Hooks +# +# default: +# CONFIG_LWIP_HOOK_TCP_ISN_NONE is not set +# default: +CONFIG_LWIP_HOOK_TCP_ISN_DEFAULT=y +# default: +# CONFIG_LWIP_HOOK_TCP_ISN_CUSTOM is not set +# default: +CONFIG_LWIP_HOOK_IP6_ROUTE_NONE=y +# default: +# CONFIG_LWIP_HOOK_IP6_ROUTE_DEFAULT is not set +# default: +# CONFIG_LWIP_HOOK_IP6_ROUTE_CUSTOM is not set +# default: +CONFIG_LWIP_HOOK_ND6_GET_GW_NONE=y +# default: +# CONFIG_LWIP_HOOK_ND6_GET_GW_DEFAULT is not set +# default: +# CONFIG_LWIP_HOOK_ND6_GET_GW_CUSTOM is not set +# default: +CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_NONE=y +# default: +# CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_DEFAULT is not set +# default: +# CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_CUSTOM is not set +# default: +CONFIG_LWIP_HOOK_DHCP_EXTRA_OPTION_NONE=y +# default: +# CONFIG_LWIP_HOOK_DHCP_EXTRA_OPTION_DEFAULT is not set +# default: +# CONFIG_LWIP_HOOK_DHCP_EXTRA_OPTION_CUSTOM is not set +# default: +CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_NONE=y +# default: +# CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_DEFAULT is not set +# default: +# CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_CUSTOM is not set +# default: +CONFIG_LWIP_HOOK_DNS_EXT_RESOLVE_NONE=y +# default: +# CONFIG_LWIP_HOOK_DNS_EXT_RESOLVE_CUSTOM is not set +# default: +# CONFIG_LWIP_HOOK_IP6_INPUT_NONE is not set +# default: +CONFIG_LWIP_HOOK_IP6_INPUT_DEFAULT=y +# default: +# CONFIG_LWIP_HOOK_IP6_INPUT_CUSTOM is not set +# end of Hooks + +# default: +# CONFIG_LWIP_DEBUG is not set +# end of LWIP + +# +# mbedTLS +# +# default: +CONFIG_MBEDTLS_INTERNAL_MEM_ALLOC=y +# default: +# CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC is not set +# default: +# CONFIG_MBEDTLS_CUSTOM_MEM_ALLOC is not set +# default: +CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN=y +# default: +CONFIG_MBEDTLS_SSL_IN_CONTENT_LEN=16384 +# default: +CONFIG_MBEDTLS_SSL_OUT_CONTENT_LEN=4096 +# default: +# CONFIG_MBEDTLS_DYNAMIC_BUFFER is not set +# default: +# CONFIG_MBEDTLS_DEBUG is not set + +# +# mbedTLS v3.x related +# +# default: +# CONFIG_MBEDTLS_SSL_PROTO_TLS1_3 is not set +# default: +# CONFIG_MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH is not set +# default: +# CONFIG_MBEDTLS_X509_TRUSTED_CERT_CALLBACK is not set +# default: +# CONFIG_MBEDTLS_SSL_CONTEXT_SERIALIZATION is not set +# default: +CONFIG_MBEDTLS_SSL_KEEP_PEER_CERTIFICATE=y +# default: +# CONFIG_MBEDTLS_SSL_KEYING_MATERIAL_EXPORT is not set +# default: +CONFIG_MBEDTLS_PKCS7_C=y +# end of mbedTLS v3.x related + +# +# Certificate Bundle +# +# default: +CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=y +# default: +CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_FULL=y +# default: +# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_CMN is not set +# default: +# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_NONE is not set +# default: +# CONFIG_MBEDTLS_CUSTOM_CERTIFICATE_BUNDLE is not set +# default: +# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEPRECATED_LIST is not set +# default: +CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_MAX_CERTS=200 +# end of Certificate Bundle + +# default: +# CONFIG_MBEDTLS_ECP_RESTARTABLE is not set +# default: +CONFIG_MBEDTLS_CMAC_C=y +# default: +CONFIG_MBEDTLS_HARDWARE_AES=y +# default: +CONFIG_MBEDTLS_AES_USE_INTERRUPT=y +# default: +CONFIG_MBEDTLS_AES_INTERRUPT_LEVEL=0 +# default: +CONFIG_MBEDTLS_GCM_SUPPORT_NON_AES_CIPHER=y +# default: +CONFIG_MBEDTLS_HARDWARE_MPI=y +# default: +# CONFIG_MBEDTLS_LARGE_KEY_SOFTWARE_MPI is not set +# default: +CONFIG_MBEDTLS_MPI_USE_INTERRUPT=y +# default: +CONFIG_MBEDTLS_MPI_INTERRUPT_LEVEL=0 +# default: +CONFIG_MBEDTLS_HARDWARE_SHA=y +# default: +CONFIG_MBEDTLS_ROM_MD5=y +# default: +# CONFIG_MBEDTLS_ATCA_HW_ECDSA_SIGN is not set +# default: +# CONFIG_MBEDTLS_ATCA_HW_ECDSA_VERIFY is not set +# default: +CONFIG_MBEDTLS_HAVE_TIME=y +# default: +# CONFIG_MBEDTLS_PLATFORM_TIME_ALT is not set +# default: +# CONFIG_MBEDTLS_HAVE_TIME_DATE is not set +# default: +CONFIG_MBEDTLS_ECDSA_DETERMINISTIC=y +# default: +CONFIG_MBEDTLS_SHA1_C=y +# default: +CONFIG_MBEDTLS_SHA512_C=y +# default: +# CONFIG_MBEDTLS_SHA3_C is not set +# default: +CONFIG_MBEDTLS_TLS_SERVER_AND_CLIENT=y +# default: +# CONFIG_MBEDTLS_TLS_SERVER_ONLY is not set +# default: +# CONFIG_MBEDTLS_TLS_CLIENT_ONLY is not set +# default: +# CONFIG_MBEDTLS_TLS_DISABLED is not set +# default: +CONFIG_MBEDTLS_TLS_SERVER=y +# default: +CONFIG_MBEDTLS_TLS_CLIENT=y +# default: +CONFIG_MBEDTLS_TLS_ENABLED=y + +# +# TLS Key Exchange Methods +# +CONFIG_MBEDTLS_PSK_MODES=y +CONFIG_MBEDTLS_KEY_EXCHANGE_PSK=y +# default: +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_PSK=y +# default: +CONFIG_MBEDTLS_KEY_EXCHANGE_RSA_PSK=y +# default: +CONFIG_MBEDTLS_KEY_EXCHANGE_RSA=y +# default: +CONFIG_MBEDTLS_KEY_EXCHANGE_ELLIPTIC_CURVE=y +# default: +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_RSA=y +# default: +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA=y +# default: +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA=y +# default: +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_RSA=y +# end of TLS Key Exchange Methods + +# default: +CONFIG_MBEDTLS_SSL_RENEGOTIATION=y +# default: +CONFIG_MBEDTLS_SSL_PROTO_TLS1_2=y +# default: +# CONFIG_MBEDTLS_SSL_PROTO_GMTSSL1_1 is not set +# default: +# CONFIG_MBEDTLS_SSL_PROTO_DTLS is not set +# default: +CONFIG_MBEDTLS_SSL_ALPN=y +# default: +CONFIG_MBEDTLS_CLIENT_SSL_SESSION_TICKETS=y +# default: +CONFIG_MBEDTLS_SERVER_SSL_SESSION_TICKETS=y + +# +# Symmetric Ciphers +# +# default: +CONFIG_MBEDTLS_AES_C=y +# default: +# CONFIG_MBEDTLS_CAMELLIA_C is not set +# default: +# CONFIG_MBEDTLS_DES_C is not set +# default: +# CONFIG_MBEDTLS_BLOWFISH_C is not set +# default: +# CONFIG_MBEDTLS_XTEA_C is not set +# default: +CONFIG_MBEDTLS_CCM_C=y +# default: +CONFIG_MBEDTLS_GCM_C=y +# default: +# CONFIG_MBEDTLS_NIST_KW_C is not set +# end of Symmetric Ciphers + +# default: +# CONFIG_MBEDTLS_RIPEMD160_C is not set + +# +# Certificates +# +# default: +CONFIG_MBEDTLS_PEM_PARSE_C=y +# default: +CONFIG_MBEDTLS_PEM_WRITE_C=y +# default: +CONFIG_MBEDTLS_X509_CRL_PARSE_C=y +# default: +CONFIG_MBEDTLS_X509_CSR_PARSE_C=y +# end of Certificates + +# default: +CONFIG_MBEDTLS_ECP_C=y +# default: +CONFIG_MBEDTLS_PK_PARSE_EC_EXTENDED=y +# default: +CONFIG_MBEDTLS_PK_PARSE_EC_COMPRESSED=y +# default: +# CONFIG_MBEDTLS_DHM_C is not set +# default: +CONFIG_MBEDTLS_ECDH_C=y +# default: +CONFIG_MBEDTLS_ECDSA_C=y +# default: +# CONFIG_MBEDTLS_ECJPAKE_C is not set +# default: +CONFIG_MBEDTLS_ECP_DP_SECP192R1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_SECP224R1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_SECP256R1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_SECP384R1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_SECP521R1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_SECP192K1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_SECP224K1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_SECP256K1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_BP256R1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_BP384R1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_BP512R1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_CURVE25519_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_NIST_OPTIM=y +# default: +# CONFIG_MBEDTLS_ECP_FIXED_POINT_OPTIM is not set +# default: +# CONFIG_MBEDTLS_POLY1305_C is not set +# default: +# CONFIG_MBEDTLS_CHACHA20_C is not set +# default: +# CONFIG_MBEDTLS_HKDF_C is not set +# default: +# CONFIG_MBEDTLS_THREADING_C is not set +# default: +CONFIG_MBEDTLS_ERROR_STRINGS=y +# default: +CONFIG_MBEDTLS_FS_IO=y +# default: +# CONFIG_MBEDTLS_ALLOW_WEAK_CERTIFICATE_VERIFICATION is not set +# end of mbedTLS + +# +# ESP-MQTT Configurations +# +# default: +CONFIG_MQTT_PROTOCOL_311=y +# default: +# CONFIG_MQTT_PROTOCOL_5 is not set +# default: +CONFIG_MQTT_TRANSPORT_SSL=y +# default: +CONFIG_MQTT_TRANSPORT_WEBSOCKET=y +# default: +CONFIG_MQTT_TRANSPORT_WEBSOCKET_SECURE=y +# default: +# CONFIG_MQTT_MSG_ID_INCREMENTAL is not set +# default: +# CONFIG_MQTT_SKIP_PUBLISH_IF_DISCONNECTED is not set +# default: +# CONFIG_MQTT_REPORT_DELETED_MESSAGES is not set +# default: +# CONFIG_MQTT_USE_CUSTOM_CONFIG is not set +# default: +# CONFIG_MQTT_TASK_CORE_SELECTION_ENABLED is not set +# default: +# CONFIG_MQTT_CUSTOM_OUTBOX is not set +# end of ESP-MQTT Configurations + +# +# LibC +# +# default: +CONFIG_LIBC_NEWLIB=y +# default: +# CONFIG_LIBC_PICOLIBC is not set +# default: +CONFIG_LIBC_MISC_IN_IRAM=y +# default: +CONFIG_LIBC_LOCKS_PLACE_IN_IRAM=y +# default: +CONFIG_LIBC_STDOUT_LINE_ENDING_CRLF=y +# default: +# CONFIG_LIBC_STDOUT_LINE_ENDING_LF is not set +# default: +# CONFIG_LIBC_STDOUT_LINE_ENDING_CR is not set +# default: +# CONFIG_LIBC_STDIN_LINE_ENDING_CRLF is not set +# default: +# CONFIG_LIBC_STDIN_LINE_ENDING_LF is not set +# default: +CONFIG_LIBC_STDIN_LINE_ENDING_CR=y +# default: +# CONFIG_LIBC_NEWLIB_NANO_FORMAT is not set +# default: +CONFIG_LIBC_TIME_SYSCALL_USE_RTC_HRT=y +# default: +# CONFIG_LIBC_TIME_SYSCALL_USE_RTC is not set +# default: +# CONFIG_LIBC_TIME_SYSCALL_USE_HRT is not set +# default: +# CONFIG_LIBC_TIME_SYSCALL_USE_NONE is not set +# default: +CONFIG_LIBC_ASSERT_BUFFER_SIZE=200 +# end of LibC + +# +# NVS +# +# default: +# CONFIG_NVS_ENCRYPTION is not set +# default: +# CONFIG_NVS_ASSERT_ERROR_CHECK is not set +# default: +# CONFIG_NVS_LEGACY_DUP_KEYS_COMPATIBILITY is not set +# end of NVS + +# +# OpenThread +# +# default: +# CONFIG_OPENTHREAD_ENABLED is not set + +# +# OpenThread Spinel +# +# default: +# CONFIG_OPENTHREAD_SPINEL_ONLY is not set +# end of OpenThread Spinel + +# default: +# CONFIG_OPENTHREAD_DEBUG is not set +# end of OpenThread + +# +# Protocomm +# +# default: +CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_0=y +# default: +CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_1=y +# default: +CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_2=y +# default: +CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_PATCH_VERSION=y +# end of Protocomm + +# +# PThreads +# +# default: +CONFIG_PTHREAD_TASK_PRIO_DEFAULT=5 +# default: +CONFIG_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 +# default: +CONFIG_PTHREAD_STACK_MIN=768 +# default: +CONFIG_PTHREAD_DEFAULT_CORE_NO_AFFINITY=y +# default: +# CONFIG_PTHREAD_DEFAULT_CORE_0 is not set +# default: +# CONFIG_PTHREAD_DEFAULT_CORE_1 is not set +# default: +CONFIG_PTHREAD_TASK_CORE_DEFAULT=-1 +# default: +CONFIG_PTHREAD_TASK_NAME_DEFAULT="pthread" +# end of PThreads + +# +# MMU Config +# +# default: +CONFIG_MMU_PAGE_SIZE_64KB=y +# default: +CONFIG_MMU_PAGE_MODE="64KB" +# default: +CONFIG_MMU_PAGE_SIZE=0x10000 +# end of MMU Config + +# +# Main Flash configuration +# + +# +# SPI Flash behavior when brownout +# +# default: +CONFIG_SPI_FLASH_BROWNOUT_RESET_XMC=y +# default: +CONFIG_SPI_FLASH_BROWNOUT_RESET=y +# end of SPI Flash behavior when brownout + +# +# Optional and Experimental Features (READ DOCS FIRST) +# + +# +# Features here require specific hardware (READ DOCS FIRST!) +# +# default: +# CONFIG_SPI_FLASH_HPM_ENA is not set +# default: +CONFIG_SPI_FLASH_HPM_AUTO=y +# default: +# CONFIG_SPI_FLASH_HPM_DIS is not set +# default: +CONFIG_SPI_FLASH_HPM_ON=y +# default: +CONFIG_SPI_FLASH_HPM_DC_AUTO=y +# default: +# CONFIG_SPI_FLASH_HPM_DC_DISABLE is not set +# default: +# CONFIG_SPI_FLASH_AUTO_SUSPEND is not set +# default: +CONFIG_SPI_FLASH_SUSPEND_TSUS_VAL_US=50 +# default: +# CONFIG_SPI_FLASH_FORCE_ENABLE_XMC_C_SUSPEND is not set +# default: +# CONFIG_SPI_FLASH_FORCE_ENABLE_C6_H2_SUSPEND is not set +# default: +CONFIG_SPI_FLASH_PLACE_FUNCTIONS_IN_IRAM=y +# end of Optional and Experimental Features (READ DOCS FIRST) +# end of Main Flash configuration + +# +# SPI Flash driver +# +# default: +# CONFIG_SPI_FLASH_VERIFY_WRITE is not set +# default: +# CONFIG_SPI_FLASH_ENABLE_COUNTERS is not set +# default: +CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=y +# default: +# CONFIG_SPI_FLASH_ROM_IMPL is not set +# default: +CONFIG_SPI_FLASH_DANGEROUS_WRITE_ABORTS=y +# default: +# CONFIG_SPI_FLASH_DANGEROUS_WRITE_FAILS is not set +# default: +# CONFIG_SPI_FLASH_DANGEROUS_WRITE_ALLOWED is not set +# default: +# CONFIG_SPI_FLASH_BYPASS_BLOCK_ERASE is not set +# default: +CONFIG_SPI_FLASH_YIELD_DURING_ERASE=y +# default: +CONFIG_SPI_FLASH_ERASE_YIELD_DURATION_MS=20 +# default: +CONFIG_SPI_FLASH_ERASE_YIELD_TICKS=1 +# default: +CONFIG_SPI_FLASH_WRITE_CHUNK_SIZE=8192 +# default: +# CONFIG_SPI_FLASH_SIZE_OVERRIDE is not set +# default: +# CONFIG_SPI_FLASH_CHECK_ERASE_TIMEOUT_DISABLED is not set +# default: +# CONFIG_SPI_FLASH_OVERRIDE_CHIP_DRIVER_LIST is not set + +# +# Auto-detect flash chips +# +# default: +CONFIG_SPI_FLASH_VENDOR_XMC_SUPPORT_ENABLED=y +# default: +CONFIG_SPI_FLASH_VENDOR_GD_SUPPORT_ENABLED=y +# default: +CONFIG_SPI_FLASH_VENDOR_ISSI_SUPPORT_ENABLED=y +# default: +CONFIG_SPI_FLASH_VENDOR_MXIC_SUPPORT_ENABLED=y +# default: +CONFIG_SPI_FLASH_VENDOR_WINBOND_SUPPORT_ENABLED=y +# default: +CONFIG_SPI_FLASH_VENDOR_BOYA_SUPPORT_ENABLED=y +# default: +CONFIG_SPI_FLASH_VENDOR_TH_SUPPORT_ENABLED=y +# default: +CONFIG_SPI_FLASH_SUPPORT_ISSI_CHIP=y +# default: +CONFIG_SPI_FLASH_SUPPORT_MXIC_CHIP=y +# default: +CONFIG_SPI_FLASH_SUPPORT_GD_CHIP=y +# default: +CONFIG_SPI_FLASH_SUPPORT_WINBOND_CHIP=y +# default: +CONFIG_SPI_FLASH_SUPPORT_BOYA_CHIP=y +# default: +CONFIG_SPI_FLASH_SUPPORT_TH_CHIP=y +# default: +CONFIG_SPI_FLASH_SUPPORT_MXIC_OPI_CHIP=y +# end of Auto-detect flash chips + +# default: +CONFIG_SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE=y +# end of SPI Flash driver + +# +# SPIFFS Configuration +# +# default: +CONFIG_SPIFFS_MAX_PARTITIONS=3 + +# +# SPIFFS Cache Configuration +# +# default: +CONFIG_SPIFFS_CACHE=y +# default: +CONFIG_SPIFFS_CACHE_WR=y +# default: +# CONFIG_SPIFFS_CACHE_STATS is not set +# end of SPIFFS Cache Configuration + +# default: +CONFIG_SPIFFS_PAGE_CHECK=y +# default: +CONFIG_SPIFFS_GC_MAX_RUNS=10 +# default: +# CONFIG_SPIFFS_GC_STATS is not set +# default: +CONFIG_SPIFFS_PAGE_SIZE=256 +# default: +CONFIG_SPIFFS_OBJ_NAME_LEN=32 +# default: +# CONFIG_SPIFFS_FOLLOW_SYMLINKS is not set +# default: +CONFIG_SPIFFS_USE_MAGIC=y +# default: +CONFIG_SPIFFS_USE_MAGIC_LENGTH=y +# default: +CONFIG_SPIFFS_META_LENGTH=4 +# default: +CONFIG_SPIFFS_USE_MTIME=y + +# +# Debug Configuration +# +# default: +# CONFIG_SPIFFS_DBG is not set +# default: +# CONFIG_SPIFFS_API_DBG is not set +# default: +# CONFIG_SPIFFS_GC_DBG is not set +# default: +# CONFIG_SPIFFS_CACHE_DBG is not set +# default: +# CONFIG_SPIFFS_CHECK_DBG is not set +# default: +# CONFIG_SPIFFS_TEST_VISUALISATION is not set +# end of Debug Configuration +# end of SPIFFS Configuration + +# +# TCP Transport +# + +# +# Websocket +# +# default: +CONFIG_WS_TRANSPORT=y +# default: +CONFIG_WS_BUFFER_SIZE=1024 +# default: +# CONFIG_WS_DYNAMIC_BUFFER is not set +# end of Websocket +# end of TCP Transport + +# +# Ultra Low Power (ULP) Co-processor +# +# default: +# CONFIG_ULP_COPROC_ENABLED is not set + +# +# ULP Debugging Options +# +# end of ULP Debugging Options +# end of Ultra Low Power (ULP) Co-processor + +# +# Unity unit testing library +# +# default: +CONFIG_UNITY_ENABLE_FLOAT=y +# default: +CONFIG_UNITY_ENABLE_DOUBLE=y +# default: +# CONFIG_UNITY_ENABLE_64BIT is not set +# default: +# CONFIG_UNITY_ENABLE_COLOR is not set +# default: +CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER=y +# default: +# CONFIG_UNITY_ENABLE_FIXTURE is not set +# default: +# CONFIG_UNITY_ENABLE_BACKTRACE_ON_FAIL is not set +# default: +# CONFIG_UNITY_TEST_ORDER_BY_FILE_PATH_AND_LINE is not set +# end of Unity unit testing library + +# +# USB-OTG +# +# default: +CONFIG_USB_HOST_CONTROL_TRANSFER_MAX_SIZE=256 +# default: +CONFIG_USB_HOST_HW_BUFFER_BIAS_BALANCED=y +# default: +# CONFIG_USB_HOST_HW_BUFFER_BIAS_IN is not set +# default: +# CONFIG_USB_HOST_HW_BUFFER_BIAS_PERIODIC_OUT is not set + +# +# Hub Driver Configuration +# + +# +# Root Port configuration +# +# default: +CONFIG_USB_HOST_DEBOUNCE_DELAY_MS=250 +# default: +CONFIG_USB_HOST_RESET_HOLD_MS=30 +# default: +CONFIG_USB_HOST_RESET_RECOVERY_MS=30 +# default: +CONFIG_USB_HOST_SET_ADDR_RECOVERY_MS=10 +# end of Root Port configuration + +# default: +# CONFIG_USB_HOST_HUBS_SUPPORTED is not set +# end of Hub Driver Configuration + +# default: +# CONFIG_USB_HOST_ENABLE_ENUM_FILTER_CALLBACK is not set +# default: +CONFIG_USB_OTG_SUPPORTED=y +# end of USB-OTG + +# +# Virtual file system +# +# default: +CONFIG_VFS_SUPPORT_IO=y +# default: +CONFIG_VFS_SUPPORT_DIR=y +# default: +CONFIG_VFS_SUPPORT_SELECT=y +# default: +CONFIG_VFS_SUPPRESS_SELECT_DEBUG_OUTPUT=y +# default: +# CONFIG_VFS_SELECT_IN_RAM is not set +# default: +CONFIG_VFS_SUPPORT_TERMIOS=y +# default: +CONFIG_VFS_MAX_COUNT=8 + +# +# Host File System I/O (Semihosting) +# +# default: +CONFIG_VFS_SEMIHOSTFS_MAX_MOUNT_POINTS=1 +# end of Host File System I/O (Semihosting) + +# default: +CONFIG_VFS_INITIALIZE_DEV_NULL=y +# end of Virtual file system + +# +# Wear Levelling +# +# default: +# CONFIG_WL_SECTOR_SIZE_512 is not set +# default: +CONFIG_WL_SECTOR_SIZE_4096=y +# default: +CONFIG_WL_SECTOR_SIZE=4096 +# end of Wear Levelling + +# +# Wi-Fi Provisioning Manager +# +# default: +CONFIG_WIFI_PROV_SCAN_MAX_ENTRIES=16 +# default: +CONFIG_WIFI_PROV_AUTOSTOP_TIMEOUT=30 +# default: +CONFIG_WIFI_PROV_STA_ALL_CHANNEL_SCAN=y +# default: +# CONFIG_WIFI_PROV_STA_FAST_SCAN is not set +# end of Wi-Fi Provisioning Manager + +# +# cJSON +# +# default: +CONFIG_CJSON_NESTING_LIMIT=1000 +# default: +CONFIG_CJSON_CIRCULAR_LIMIT=10000 +# end of cJSON + +# +# DSP Library +# +# default: +CONFIG_DSP_OPTIMIZATIONS_SUPPORTED=y +# default: +# CONFIG_DSP_ANSI is not set +# default: +CONFIG_DSP_OPTIMIZED=y +# default: +CONFIG_DSP_OPTIMIZATION=1 +# default: +# CONFIG_DSP_MAX_FFT_SIZE_512 is not set +# default: +# CONFIG_DSP_MAX_FFT_SIZE_1024 is not set +# default: +# CONFIG_DSP_MAX_FFT_SIZE_2048 is not set +# default: +CONFIG_DSP_MAX_FFT_SIZE_4096=y +# default: +# CONFIG_DSP_MAX_FFT_SIZE_8192 is not set +# default: +# CONFIG_DSP_MAX_FFT_SIZE_16384 is not set +# default: +# CONFIG_DSP_MAX_FFT_SIZE_32768 is not set +# default: +CONFIG_DSP_MAX_FFT_SIZE=4096 +# end of DSP Library + +# +# Modbus configuration +# +# default: +CONFIG_FMB_COMM_MODE_TCP_EN=y +# default: +CONFIG_FMB_TCP_PORT_DEFAULT=502 +# default: +CONFIG_FMB_TCP_PORT_MAX_CONN=5 +# default: +CONFIG_FMB_TCP_CONNECTION_TOUT_SEC=20 +# default: +# CONFIG_FMB_TCP_UID_ENABLED is not set +# default: +CONFIG_FMB_COMM_MODE_RTU_EN=y +# default: +CONFIG_FMB_COMM_MODE_ASCII_EN=y +# default: +CONFIG_FMB_MASTER_TIMEOUT_MS_RESPOND=3000 +# default: +CONFIG_FMB_MASTER_DELAY_MS_CONVERT=200 +# default: +CONFIG_FMB_QUEUE_LENGTH=20 +# default: +CONFIG_FMB_PORT_TASK_STACK_SIZE=4096 +# default: +CONFIG_FMB_SERIAL_BUF_SIZE=256 +# default: +CONFIG_FMB_SERIAL_ASCII_BITS_PER_SYMB=8 +# default: +CONFIG_FMB_ASCII_TIMEOUT_WAIT_BEFORE_SEND_MS=0 +# default: +CONFIG_FMB_SERIAL_ASCII_TIMEOUT_RESPOND_MS=1000 +# default: +CONFIG_FMB_PORT_TASK_PRIO=10 +# default: +# CONFIG_FMB_PORT_TASK_AFFINITY_NO_AFFINITY is not set +# default: +CONFIG_FMB_PORT_TASK_AFFINITY_CPU0=y +# default: +# CONFIG_FMB_PORT_TASK_AFFINITY_CPU1 is not set +# default: +CONFIG_FMB_PORT_TASK_AFFINITY=0x0 +# default: +CONFIG_FMB_CONTROLLER_SLAVE_ID_SUPPORT=y +# default: +CONFIG_FMB_CONTROLLER_SLAVE_ID=0x00112233 +# default: +CONFIG_FMB_CONTROLLER_SLAVE_ID_MAX_SIZE=32 +# default: +CONFIG_FMB_CONTROLLER_NOTIFY_TIMEOUT=20 +# default: +CONFIG_FMB_CONTROLLER_NOTIFY_QUEUE_SIZE=20 +# default: +CONFIG_FMB_CONTROLLER_STACK_SIZE=4096 +# default: +CONFIG_FMB_EVENT_QUEUE_TIMEOUT=20 +# default: +# CONFIG_FMB_TIMER_PORT_ENABLED is not set +# default: +# CONFIG_FMB_TIMER_USE_ISR_DISPATCH_METHOD is not set +# default: +# CONFIG_FMB_EXT_TYPE_SUPPORT is not set +# end of Modbus configuration + +# +# ESP serial flasher +# +# default: +CONFIG_SERIAL_FLASHER_MD5_ENABLED=y +# default: +CONFIG_SERIAL_FLASHER_RESET_HOLD_TIME_MS=100 +# default: +CONFIG_SERIAL_FLASHER_BOOT_HOLD_TIME_MS=50 +# end of ESP serial flasher + +# +# Zigbee +# +# default: +# CONFIG_ZB_ENABLED is not set +# end of Zigbee + +# +# Diagnostics data store +# +# default: +CONFIG_DIAG_DATA_STORE_RTC=y +# default: +# CONFIG_DIAG_DATA_STORE_FLASH is not set +# default: +# CONFIG_DIAG_DATA_STORE_DBG_PRINTS is not set +# default: +CONFIG_DIAG_DATA_STORE_REPORTING_WATERMARK_PERCENT=80 + +# +# RTC Store +# +# default: +CONFIG_RTC_STORE_DATA_SIZE=6144 +# default: +CONFIG_RTC_STORE_CRITICAL_DATA_SIZE=4096 +# end of RTC Store +# end of Diagnostics data store + +# +# Diagnostics +# +# default: +CONFIG_DIAG_LOG_MSG_ARG_FORMAT_TLV=y +# default: +# CONFIG_DIAG_LOG_MSG_ARG_FORMAT_STRING is not set +# default: +CONFIG_DIAG_LOG_MSG_ARG_MAX_SIZE=64 +# default: +CONFIG_DIAG_LOG_DROP_WIFI_LOGS=y +# default: +CONFIG_DIAG_ENABLE_METRICS=y +# default: +CONFIG_DIAG_METRICS_MAX_COUNT=20 +# default: +CONFIG_DIAG_ENABLE_HEAP_METRICS=y +# default: +CONFIG_DIAG_ENABLE_WIFI_METRICS=y +# default: +CONFIG_DIAG_ENABLE_VARIABLES=y +# default: +CONFIG_DIAG_VARIABLES_MAX_COUNT=20 +# default: +CONFIG_DIAG_ENABLE_NETWORK_VARIABLES=y +# default: +# CONFIG_DIAG_MORE_NETWORK_VARS is not set +# default: +# CONFIG_DIAG_USE_EXTERNAL_LOG_WRAP is not set +# end of Diagnostics + +# +# ESP Insights +# +# default: +# CONFIG_ESP_INSIGHTS_ENABLED is not set +# default: +# CONFIG_ESP_INSIGHTS_TRANSPORT_MQTT is not set +# default: +CONFIG_ESP_INSIGHTS_TRANSPORT_HTTPS=y +# default: +CONFIG_ESP_INSIGHTS_TRANSPORT_HTTPS_HOST="https://client.insights.espressif.com" +# default: +CONFIG_ESP_INSIGHTS_CLOUD_POST_MIN_INTERVAL_SEC=60 +# default: +CONFIG_ESP_INSIGHTS_CLOUD_POST_MAX_INTERVAL_SEC=240 +# default: +CONFIG_ESP_INSIGHTS_META_VERSION_10=y +# end of ESP Insights + +# +# esp-modem +# +# default: +CONFIG_ESP_MODEM_CMUX_DEFRAGMENT_PAYLOAD=y +# default: +# CONFIG_ESP_MODEM_USE_INFLATABLE_BUFFER_IF_NEEDED is not set +# default: +CONFIG_ESP_MODEM_CMUX_DELAY_AFTER_DLCI_SETUP=0 +# default: +# CONFIG_ESP_MODEM_CMUX_USE_SHORT_PAYLOADS_ONLY is not set +# default: +# CONFIG_ESP_MODEM_ADD_CUSTOM_MODULE is not set +# default: +CONFIG_ESP_MODEM_C_API_STR_MAX=128 +# default: +# CONFIG_ESP_MODEM_URC_HANDLER is not set +# default: +# CONFIG_ESP_MODEM_PPP_ESCAPE_BEFORE_EXIT is not set +# default: +# CONFIG_ESP_MODEM_ADD_DEBUG_LOGS is not set +# default: +# CONFIG_ESP_MODEM_ENABLE_DEVELOPMENT_MODE is not set +# default: +CONFIG_ESP_MODEM_USE_PPP_MODE=y +# end of esp-modem + +# +# OpenThread RCP Update +# +# default: +# CONFIG_AUTO_UPDATE_RCP is not set +# default: +# CONFIG_CREATE_OTA_IMAGE_WITH_RCP_FW is not set +# end of OpenThread RCP Update + +# +# ESP Secure Cert Manager +# +# default: +CONFIG_ESP_SECURE_CERT_DS_PERIPHERAL=y +# default: +# CONFIG_ESP_SECURE_CERT_SUPPORT_LEGACY_FORMATS is not set +# default: +# CONFIG_ESP_SECURE_CERT_WRITE_ENABLE_LOGGING is not set +# end of ESP Secure Cert Manager + +# +# jsmn +# +# default: +# CONFIG_JSMN_PARENT_LINKS is not set +# default: +# CONFIG_JSMN_STRICT is not set +# default: +# CONFIG_JSMN_STATIC is not set +# end of jsmn + +# +# libsodium +# +# default: +CONFIG_LIBSODIUM_USE_MBEDTLS_SHA=y +# end of libsodium + +# +# mDNS +# +# default: +CONFIG_MDNS_MAX_INTERFACES=3 +# default: +CONFIG_MDNS_MAX_SERVICES=10 +# default: +CONFIG_MDNS_TASK_PRIORITY=1 +# default: +CONFIG_MDNS_ACTION_QUEUE_LEN=16 +# default: +CONFIG_MDNS_TASK_STACK_SIZE=4096 +# default: +# CONFIG_MDNS_TASK_AFFINITY_NO_AFFINITY is not set +# default: +CONFIG_MDNS_TASK_AFFINITY_CPU0=y +# default: +# CONFIG_MDNS_TASK_AFFINITY_CPU1 is not set +# default: +CONFIG_MDNS_TASK_AFFINITY=0x0 + +# +# MDNS Memory Configuration +# +# default: +CONFIG_MDNS_TASK_CREATE_FROM_INTERNAL=y +# default: +CONFIG_MDNS_MEMORY_ALLOC_INTERNAL=y +# default: +# CONFIG_MDNS_MEMORY_CUSTOM_IMPL is not set +# end of MDNS Memory Configuration + +# default: +CONFIG_MDNS_SERVICE_ADD_TIMEOUT_MS=2000 +# default: +CONFIG_MDNS_TIMER_PERIOD_MS=100 +# default: +# CONFIG_MDNS_NETWORKING_SOCKET is not set +# default: +# CONFIG_MDNS_SKIP_SUPPRESSING_OWN_QUERIES is not set +# default: +# CONFIG_MDNS_ENABLE_DEBUG_PRINTS is not set +# default: +CONFIG_MDNS_ENABLE_CONSOLE_CLI=y +# default: +# CONFIG_MDNS_RESPOND_REVERSE_QUERIES is not set +# default: +CONFIG_MDNS_MULTIPLE_INSTANCE=y + +# +# MDNS Predefined interfaces +# +# default: +CONFIG_MDNS_PREDEF_NETIF_STA=y +# default: +CONFIG_MDNS_PREDEF_NETIF_AP=y +# default: +CONFIG_MDNS_PREDEF_NETIF_ETH=y +# end of MDNS Predefined interfaces +# end of mDNS + +# +# Network Provisioning Manager +# +# default: +CONFIG_NETWORK_PROV_NETWORK_TYPE_WIFI=y +# default: +CONFIG_NETWORK_PROV_SCAN_MAX_ENTRIES=16 +# default: +CONFIG_NETWORK_PROV_AUTOSTOP_TIMEOUT=30 +# default: +# CONFIG_NETWORK_PROV_BLE_FORCE_ENCRYPTION is not set +# default: +CONFIG_NETWORK_PROV_WIFI_STA_ALL_CHANNEL_SCAN=y +# default: +# CONFIG_NETWORK_PROV_WIFI_STA_FAST_SCAN is not set +# end of Network Provisioning Manager + +# +# ESP RainMaker Common +# +# default: +CONFIG_ESP_RMAKER_LIB_ESP_MQTT=y +# default: +# CONFIG_ESP_RMAKER_LIB_AWS_IOT is not set +# default: +CONFIG_ESP_RMAKER_MQTT_GLUE_LIB=1 +# default: +CONFIG_ESP_RMAKER_MQTT_PORT_443=y +# default: +# CONFIG_ESP_RMAKER_MQTT_PORT_8883 is not set +# default: +CONFIG_ESP_RMAKER_MQTT_PORT=1 +# default: +# CONFIG_ESP_RMAKER_MQTT_PERSISTENT_SESSION is not set +# default: +CONFIG_ESP_RMAKER_MQTT_SEND_USERNAME=y +# default: +CONFIG_ESP_RMAKER_MQTT_PRODUCT_NAME="RMDev" +# default: +CONFIG_ESP_RMAKER_MQTT_PRODUCT_VERSION="1x0" +# default: +CONFIG_ESP_RMAKER_MQTT_PRODUCT_SKU="EX00" +# default: +CONFIG_ESP_RMAKER_MQTT_USE_CERT_BUNDLE=y +# default: +CONFIG_ESP_RMAKER_MAX_MQTT_SUBSCRIPTIONS=10 +# default: +CONFIG_ESP_RMAKER_MQTT_KEEP_ALIVE_INTERVAL=120 +# default: +CONFIG_ESP_RMAKER_NETWORK_OVER_WIFI=y +# default: +CONFIG_ESP_RMAKER_WORK_QUEUE_TASK_STACK=4096 +# default: +CONFIG_ESP_RMAKER_WORK_QUEUE_TASK_PRIORITY=5 +# default: +CONFIG_ESP_RMAKER_FACTORY_PARTITION_NAME="fctry" +# default: +CONFIG_ESP_RMAKER_FACTORY_NAMESPACE="rmaker_creds" +# default: +CONFIG_ESP_RMAKER_DEF_TIMEZONE="Asia/Shanghai" +# default: +CONFIG_ESP_RMAKER_SNTP_SERVER_NAME="pool.ntp.org" +# default: +CONFIG_ESP_RMAKER_MAX_COMMANDS=10 +# end of ESP RainMaker Common + +# +# LittleFS +# +# default: +# CONFIG_LITTLEFS_SDMMC_SUPPORT is not set +# default: +CONFIG_LITTLEFS_MAX_PARTITIONS=3 +# default: +CONFIG_LITTLEFS_PAGE_SIZE=256 +# default: +CONFIG_LITTLEFS_OBJ_NAME_LEN=64 +# default: +CONFIG_LITTLEFS_READ_SIZE=128 +# default: +CONFIG_LITTLEFS_WRITE_SIZE=128 +# default: +CONFIG_LITTLEFS_LOOKAHEAD_SIZE=128 +# default: +CONFIG_LITTLEFS_CACHE_SIZE=512 +# default: +CONFIG_LITTLEFS_BLOCK_CYCLES=512 +# default: +CONFIG_LITTLEFS_USE_MTIME=y +# default: +# CONFIG_LITTLEFS_USE_ONLY_HASH is not set +# default: +# CONFIG_LITTLEFS_HUMAN_READABLE is not set +# default: +CONFIG_LITTLEFS_MTIME_USE_SECONDS=y +# default: +# CONFIG_LITTLEFS_MTIME_USE_NONCE is not set +# default: +# CONFIG_LITTLEFS_SPIFFS_COMPAT is not set +# default: +# CONFIG_LITTLEFS_FLUSH_FILE_EVERY_WRITE is not set +# default: +# CONFIG_LITTLEFS_FCNTL_GET_PATH is not set +# default: +# CONFIG_LITTLEFS_MULTIVERSION is not set +# default: +# CONFIG_LITTLEFS_MALLOC_STRATEGY_DISABLE is not set +# default: +CONFIG_LITTLEFS_MALLOC_STRATEGY_DEFAULT=y +# default: +# CONFIG_LITTLEFS_MALLOC_STRATEGY_INTERNAL is not set +# default: +CONFIG_LITTLEFS_ASSERTS=y +# default: +# CONFIG_LITTLEFS_MMAP_PARTITION is not set +# default: +# CONFIG_LITTLEFS_WDT_RESET is not set +# end of LittleFS +# end of Component config + +# default: +# CONFIG_IDF_EXPERIMENTAL_FEATURES is not set + +# Deprecated options for backward compatibility +# CONFIG_APP_BUILD_TYPE_ELF_RAM is not set +# CONFIG_NO_BLOBS is not set +# CONFIG_APP_ROLLBACK_ENABLE is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_NONE is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_ERROR is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_WARN is not set +CONFIG_LOG_BOOTLOADER_LEVEL_INFO=y +# CONFIG_LOG_BOOTLOADER_LEVEL_DEBUG is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_VERBOSE is not set +CONFIG_LOG_BOOTLOADER_LEVEL=3 +# CONFIG_FLASH_ENCRYPTION_ENABLED is not set +# CONFIG_FLASHMODE_QIO is not set +# CONFIG_FLASHMODE_QOUT is not set +CONFIG_FLASHMODE_DIO=y +# CONFIG_FLASHMODE_DOUT is not set +CONFIG_MONITOR_BAUD=115200 +# CONFIG_ESP_RMAKER_LOCAL_CTRL_ENABLE is not set +CONFIG_OPTIMIZATION_LEVEL_DEBUG=y +CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG=y +CONFIG_COMPILER_OPTIMIZATION_DEFAULT=y +# CONFIG_OPTIMIZATION_LEVEL_RELEASE is not set +# CONFIG_COMPILER_OPTIMIZATION_LEVEL_RELEASE is not set +CONFIG_OPTIMIZATION_ASSERTIONS_ENABLED=y +# CONFIG_OPTIMIZATION_ASSERTIONS_SILENT is not set +# CONFIG_OPTIMIZATION_ASSERTIONS_DISABLED is not set +CONFIG_OPTIMIZATION_ASSERTION_LEVEL=2 +# CONFIG_CXX_EXCEPTIONS is not set +CONFIG_STACK_CHECK_NONE=y +# CONFIG_STACK_CHECK_NORM is not set +# CONFIG_STACK_CHECK_STRONG is not set +# CONFIG_STACK_CHECK_ALL is not set +# CONFIG_WARN_WRITE_STRINGS is not set +# CONFIG_ESP32_APPTRACE_DEST_TRAX is not set +CONFIG_ESP32_APPTRACE_DEST_NONE=y +CONFIG_ESP32_APPTRACE_LOCK_ENABLE=y +# CONFIG_EXTERNAL_COEX_ENABLE is not set +# CONFIG_ESP_WIFI_EXTERNAL_COEXIST_ENABLE is not set +# CONFIG_CAM_CTLR_DVP_CAM_ISR_IRAM_SAFE is not set +# CONFIG_GPTIMER_ISR_IRAM_SAFE is not set +# CONFIG_MCPWM_ISR_IRAM_SAFE is not set +# CONFIG_EVENT_LOOP_PROFILING is not set +CONFIG_POST_EVENTS_FROM_ISR=y +CONFIG_POST_EVENTS_FROM_IRAM_ISR=y +CONFIG_GDBSTUB_SUPPORT_TASKS=y +CONFIG_GDBSTUB_MAX_TASKS=32 +# CONFIG_OTA_ALLOW_HTTP is not set +# CONFIG_ESP_SYSTEM_PD_FLASH is not set +CONFIG_ESP32S3_DEEP_SLEEP_WAKEUP_DELAY=2000 +CONFIG_ESP_SLEEP_DEEP_SLEEP_WAKEUP_DELAY=2000 +CONFIG_ESP32S3_RTC_CLK_SRC_INT_RC=y +# CONFIG_ESP32S3_RTC_CLK_SRC_EXT_CRYS is not set +# CONFIG_ESP32S3_RTC_CLK_SRC_EXT_OSC is not set +# CONFIG_ESP32S3_RTC_CLK_SRC_INT_8MD256 is not set +CONFIG_ESP32S3_RTC_CLK_CAL_CYCLES=1024 +CONFIG_PERIPH_CTRL_FUNC_IN_IRAM=y +CONFIG_BROWNOUT_DET=y +CONFIG_ESP32S3_BROWNOUT_DET=y +CONFIG_BROWNOUT_DET_LVL_SEL_7=y +CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_7=y +# CONFIG_BROWNOUT_DET_LVL_SEL_6 is not set +# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_6 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_5 is not set +# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_5 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_4 is not set +# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_4 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_3 is not set +# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_3 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_2 is not set +# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_2 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_1 is not set +# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_1 is not set +CONFIG_BROWNOUT_DET_LVL=7 +CONFIG_ESP32S3_BROWNOUT_DET_LVL=7 +CONFIG_ESP_SYSTEM_BROWNOUT_INTR=y +CONFIG_ESP32_PHY_CALIBRATION_AND_DATA_STORAGE=y +# CONFIG_ESP32_PHY_INIT_DATA_IN_PARTITION is not set +CONFIG_ESP32_PHY_MAX_WIFI_TX_POWER=20 +CONFIG_ESP32_PHY_MAX_TX_POWER=20 +# CONFIG_REDUCE_PHY_TX_POWER is not set +# CONFIG_ESP32_REDUCE_PHY_TX_POWER is not set +CONFIG_ESP_SYSTEM_PM_POWER_DOWN_CPU=y +CONFIG_PM_POWER_DOWN_TAGMEM_IN_LIGHT_SLEEP=y +# CONFIG_ESP32S3_SPIRAM_SUPPORT is not set +# CONFIG_ESP32S3_DEFAULT_CPU_FREQ_80 is not set +CONFIG_ESP32S3_DEFAULT_CPU_FREQ_160=y +# CONFIG_ESP32S3_DEFAULT_CPU_FREQ_240 is not set +CONFIG_ESP32S3_DEFAULT_CPU_FREQ_MHZ=160 +CONFIG_SYSTEM_EVENT_QUEUE_SIZE=32 +CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE=2304 +CONFIG_MAIN_TASK_STACK_SIZE=8192 +CONFIG_CONSOLE_UART_DEFAULT=y +# CONFIG_CONSOLE_UART_CUSTOM is not set +# CONFIG_CONSOLE_UART_NONE is not set +# CONFIG_ESP_CONSOLE_UART_NONE is not set +CONFIG_CONSOLE_UART=y +CONFIG_CONSOLE_UART_NUM=0 +CONFIG_CONSOLE_UART_BAUDRATE=115200 +CONFIG_INT_WDT=y +CONFIG_INT_WDT_TIMEOUT_MS=300 +CONFIG_INT_WDT_CHECK_CPU1=y +CONFIG_TASK_WDT=y +CONFIG_ESP_TASK_WDT=y +# CONFIG_TASK_WDT_PANIC is not set +CONFIG_TASK_WDT_TIMEOUT_S=5 +CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU0=y +CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU1=y +# CONFIG_ESP32_DEBUG_STUBS_ENABLE is not set +CONFIG_ESP32S3_DEBUG_OCDAWARE=y +CONFIG_IPC_TASK_STACK_SIZE=1280 +CONFIG_TIMER_TASK_STACK_SIZE=3584 +CONFIG_ESP32_WIFI_ENABLED=y +CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=10 +CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=32 +# CONFIG_ESP32_WIFI_STATIC_TX_BUFFER is not set +CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER=y +CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=1 +CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER_NUM=32 +# CONFIG_ESP32_WIFI_CSI_ENABLED is not set +CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED=y +CONFIG_ESP32_WIFI_TX_BA_WIN=6 +CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y +CONFIG_ESP32_WIFI_RX_BA_WIN=6 +CONFIG_ESP32_WIFI_NVS_ENABLED=y +CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_0=y +# CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_1 is not set +CONFIG_ESP32_WIFI_SOFTAP_BEACON_MAX_LEN=752 +CONFIG_ESP32_WIFI_MGMT_SBUF_NUM=32 +CONFIG_ESP32_WIFI_IRAM_OPT=y +CONFIG_ESP32_WIFI_RX_IRAM_OPT=y +CONFIG_ESP32_WIFI_ENABLE_WPA3_SAE=y +CONFIG_ESP32_WIFI_ENABLE_WPA3_OWE_STA=y +CONFIG_WPA_MBEDTLS_CRYPTO=y +CONFIG_WPA_MBEDTLS_TLS_CLIENT=y +# CONFIG_WPA_WAPI_PSK is not set +# CONFIG_WPA_SUITE_B_192 is not set +# CONFIG_WPA_11KV_SUPPORT is not set +# CONFIG_WPA_MBO_SUPPORT is not set +# CONFIG_WPA_DPP_SUPPORT is not set +# CONFIG_WPA_11R_SUPPORT is not set +# CONFIG_WPA_WPS_SOFTAP_REGISTRAR is not set +# CONFIG_WPA_WPS_STRICT is not set +# CONFIG_WPA_DEBUG_PRINT is not set +# CONFIG_ESP32_ENABLE_COREDUMP_TO_FLASH is not set +# CONFIG_ESP32_ENABLE_COREDUMP_TO_UART is not set +CONFIG_ESP32_ENABLE_COREDUMP_TO_NONE=y +CONFIG_TIMER_TASK_PRIORITY=1 +CONFIG_TIMER_TASK_STACK_DEPTH=2048 +CONFIG_TIMER_QUEUE_LENGTH=10 +# CONFIG_ENABLE_STATIC_TASK_CLEAN_UP_HOOK is not set +# CONFIG_HAL_ASSERTION_SILIENT is not set +# CONFIG_L2_TO_L3_COPY is not set +CONFIG_ESP_GRATUITOUS_ARP=y +CONFIG_GARP_TMR_INTERVAL=60 +CONFIG_TCPIP_RECVMBOX_SIZE=32 +CONFIG_TCP_MAXRTX=12 +CONFIG_TCP_SYNMAXRTX=12 +CONFIG_TCP_MSS=1440 +CONFIG_TCP_MSL=60000 +CONFIG_TCP_SND_BUF_DEFAULT=5760 +CONFIG_TCP_WND_DEFAULT=5760 +CONFIG_TCP_RECVMBOX_SIZE=6 +CONFIG_TCP_QUEUE_OOSEQ=y +CONFIG_TCP_OVERSIZE_MSS=y +# CONFIG_TCP_OVERSIZE_QUARTER_MSS is not set +# CONFIG_TCP_OVERSIZE_DISABLE is not set +CONFIG_UDP_RECVMBOX_SIZE=6 +CONFIG_TCPIP_TASK_STACK_SIZE=3072 +CONFIG_TCPIP_TASK_AFFINITY_NO_AFFINITY=y +# CONFIG_TCPIP_TASK_AFFINITY_CPU0 is not set +# CONFIG_TCPIP_TASK_AFFINITY_CPU1 is not set +CONFIG_TCPIP_TASK_AFFINITY=0x7FFFFFFF +CONFIG_PPP_SUPPORT=y +# CONFIG_PPP_NOTIFY_PHASE_SUPPORT is not set +# CONFIG_PPP_PAP_SUPPORT is not set +# CONFIG_PPP_CHAP_SUPPORT is not set +# CONFIG_PPP_MSCHAP_SUPPORT is not set +# CONFIG_PPP_MPPE_SUPPORT is not set +# CONFIG_PPP_DEBUG_ON is not set +CONFIG_NEWLIB_STDOUT_LINE_ENDING_CRLF=y +# CONFIG_NEWLIB_STDOUT_LINE_ENDING_LF is not set +# CONFIG_NEWLIB_STDOUT_LINE_ENDING_CR is not set +# CONFIG_NEWLIB_STDIN_LINE_ENDING_CRLF is not set +# CONFIG_NEWLIB_STDIN_LINE_ENDING_LF is not set +CONFIG_NEWLIB_STDIN_LINE_ENDING_CR=y +# CONFIG_NEWLIB_NANO_FORMAT is not set +CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC_HRT=y +CONFIG_ESP32S3_TIME_SYSCALL_USE_RTC_SYSTIMER=y +CONFIG_ESP32S3_TIME_SYSCALL_USE_RTC_FRC1=y +# CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC is not set +# CONFIG_ESP32S3_TIME_SYSCALL_USE_RTC is not set +# CONFIG_NEWLIB_TIME_SYSCALL_USE_HRT is not set +# CONFIG_ESP32S3_TIME_SYSCALL_USE_SYSTIMER is not set +# CONFIG_ESP32S3_TIME_SYSCALL_USE_FRC1 is not set +# CONFIG_NEWLIB_TIME_SYSCALL_USE_NONE is not set +# CONFIG_ESP32S3_TIME_SYSCALL_USE_NONE is not set +CONFIG_ESP32_PTHREAD_TASK_PRIO_DEFAULT=5 +CONFIG_ESP32_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 +CONFIG_ESP32_PTHREAD_STACK_MIN=768 +CONFIG_ESP32_DEFAULT_PTHREAD_CORE_NO_AFFINITY=y +# CONFIG_ESP32_DEFAULT_PTHREAD_CORE_0 is not set +# CONFIG_ESP32_DEFAULT_PTHREAD_CORE_1 is not set +CONFIG_ESP32_PTHREAD_TASK_CORE_DEFAULT=-1 +CONFIG_ESP32_PTHREAD_TASK_NAME_DEFAULT="pthread" +CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ABORTS=y +# CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_FAILS is not set +# CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ALLOWED is not set +CONFIG_SUPPRESS_SELECT_DEBUG_OUTPUT=y +CONFIG_SUPPORT_TERMIOS=y +CONFIG_SEMIHOSTFS_MAX_MOUNT_POINTS=1 +CONFIG_MB_MASTER_TIMEOUT_MS_RESPOND=3000 +CONFIG_MB_MASTER_DELAY_MS_CONVERT=200 +CONFIG_MB_QUEUE_LENGTH=20 +CONFIG_MB_SERIAL_TASK_STACK_SIZE=4096 +CONFIG_MB_SERIAL_BUF_SIZE=256 +CONFIG_MB_SERIAL_TASK_PRIO=10 +CONFIG_MB_CONTROLLER_SLAVE_ID_SUPPORT=y +CONFIG_MB_CONTROLLER_SLAVE_ID=0x00112233 +CONFIG_MB_CONTROLLER_NOTIFY_TIMEOUT=20 +CONFIG_MB_CONTROLLER_NOTIFY_QUEUE_SIZE=20 +CONFIG_MB_CONTROLLER_STACK_SIZE=4096 +CONFIG_MB_EVENT_QUEUE_TIMEOUT=20 +# CONFIG_MB_TIMER_PORT_ENABLED is not set +# End of deprecated options diff --git a/sdkconfig.defaults b/sdkconfig.defaults new file mode 100644 index 00000000..ccbeb0a5 --- /dev/null +++ b/sdkconfig.defaults @@ -0,0 +1,22 @@ +# Required by Arduino-as-IDF-component +CONFIG_FREERTOS_HZ=1000 +CONFIG_AUTOSTART_ARDUINO=y + +# Keep main task large enough for Arduino setup() / existing init chain +CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192 + +# Arduino expects these selected via ENABLE_ARDUINO_DEPENDS, but be explicit +CONFIG_LWIP_SO_RCVBUF=y + +# Let application use exceptions-free C++ (matches build_flags -fno-exceptions) +CONFIG_COMPILER_CXX_EXCEPTIONS=n + +# Arduino NetworkClientSecure (pulled in transitively by WebSockets/WiFiClientSecure) +# refuses to compile its ssl_client.cpp body unless at least one PSK exchange is +# enabled — otherwise all ssl_* symbols become unresolved at link time. We don't +# actually use PSK, but we need MBEDTLS_KEY_EXCHANGE_SOME_PSK_ENABLED to be defined. +CONFIG_MBEDTLS_PSK_MODES=y +CONFIG_MBEDTLS_KEY_EXCHANGE_PSK=y + +# Partition table — OpenShock uses a custom one; existing partitions stay valid +# (leave PARTITION_TABLE_* at IDF defaults; per-env sdkconfigs can override) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt new file mode 100644 index 00000000..0b39fd2a --- /dev/null +++ b/src/CMakeLists.txt @@ -0,0 +1,6 @@ +FILE(GLOB_RECURSE app_sources ${CMAKE_SOURCE_DIR}/src/*.*) + +idf_component_register( + SRCS ${app_sources} + REQUIRES common time logging concurrency util http chipset led_drivers +) diff --git a/src/CommandHandler.cpp b/src/CommandHandler.cpp index deec3e23..7d8c035d 100644 --- a/src/CommandHandler.cpp +++ b/src/CommandHandler.cpp @@ -5,7 +5,7 @@ const char* const TAG = "CommandHandler"; #include "Chipset.h" -#include "Common.h" +#include "OpenShock.h" #include "config/Config.h" #include "Core.h" #include "estop/EStopManager.h" diff --git a/src/GatewayClient.cpp b/src/GatewayClient.cpp index c7c024b2..2c89f913 100644 --- a/src/GatewayClient.cpp +++ b/src/GatewayClient.cpp @@ -2,7 +2,7 @@ const char* const TAG = "GatewayClient"; -#include "Common.h" +#include "OpenShock.h" #include "config/Config.h" #include "Core.h" #include "events/Events.h" diff --git a/src/OtaUpdateManager.cpp b/src/OtaUpdateManager.cpp index 8412a4e0..0a4eec0d 100644 --- a/src/OtaUpdateManager.cpp +++ b/src/OtaUpdateManager.cpp @@ -3,7 +3,7 @@ const char* const TAG = "OtaUpdateManager"; #include "captiveportal/Manager.h" -#include "Common.h" +#include "OpenShock.h" #include "config/Config.h" #include "Core.h" #include "GatewayConnectionManager.h" diff --git a/src/captiveportal/Manager.cpp b/src/captiveportal/Manager.cpp index 56cfa4a6..3f4ba7f2 100644 --- a/src/captiveportal/Manager.cpp +++ b/src/captiveportal/Manager.cpp @@ -225,9 +225,7 @@ void CaptivePortal::SetUserDone() void CaptivePortal::SetAlwaysEnabled(bool alwaysEnabled) { s_alwaysEnabled = alwaysEnabled; - Config::SetCaptivePortalConfig({ - .alwaysEnabled = alwaysEnabled, - }); + Config::SetCaptivePortalConfig(Config::CaptivePortalConfig(alwaysEnabled)); } bool CaptivePortal::IsAlwaysEnabled() { diff --git a/src/config/Config.cpp b/src/config/Config.cpp index 12d826da..9a9ce322 100644 --- a/src/config/Config.cpp +++ b/src/config/Config.cpp @@ -5,7 +5,7 @@ const char* const TAG = "Config"; #include "Chipset.h" -#include "Common.h" +#include "OpenShock.h" #include "config/RootConfig.h" #include "Logging.h" #include "ReadWriteMutex.h" diff --git a/src/config/EStopConfig.cpp b/src/config/EStopConfig.cpp index df78b092..7145b69d 100644 --- a/src/config/EStopConfig.cpp +++ b/src/config/EStopConfig.cpp @@ -1,7 +1,7 @@ #include "config/EStopConfig.h" #include "Chipset.h" -#include "Common.h" +#include "OpenShock.h" #include "config/internal/utils.h" #include "Logging.h" diff --git a/src/config/RFConfig.cpp b/src/config/RFConfig.cpp index 81d5080b..941c2a76 100644 --- a/src/config/RFConfig.cpp +++ b/src/config/RFConfig.cpp @@ -2,7 +2,7 @@ const char* const TAG = "Config::RFConfig"; -#include "Common.h" +#include "OpenShock.h" #include "config/internal/utils.h" #include "Logging.h" diff --git a/src/http/JsonAPI.cpp b/src/http/JsonAPI.cpp index e2ab0610..c106f879 100644 --- a/src/http/JsonAPI.cpp +++ b/src/http/JsonAPI.cpp @@ -2,7 +2,7 @@ const char* const TAG = "JsonAPI"; -#include "Common.h" +#include "OpenShock.h" #include "Logging.h" #include "config/Config.h" #include "util/StringUtils.h" diff --git a/src/main.cpp b/src/main.cpp index 70b6d53f..63de47c1 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -4,7 +4,7 @@ const char* const TAG = "main"; #include "captiveportal/Manager.h" #include "CommandHandler.h" -#include "Common.h" +#include "OpenShock.h" #include "config/Config.h" #include "estop/EStopManager.h" #include "events/Events.h" @@ -94,7 +94,7 @@ void setup() { OS_SERIAL.begin(115'200); -#if ARDUINO_USB_MODE +#if OS_HAS_USB_SERIAL OS_SERIAL_USB.begin(115'200); #endif diff --git a/src/serial/SerialInputHandler.cpp b/src/serial/SerialInputHandler.cpp index fbeebac7..f46b25ee 100644 --- a/src/serial/SerialInputHandler.cpp +++ b/src/serial/SerialInputHandler.cpp @@ -127,7 +127,7 @@ static void printCompleteHelp() OS_SERIAL_PRINT(buffer.data()); } -static void printCommandHelp(Serial::CommandGroup& group) +static void printCommandHelp(SerialCmds::CommandGroup& group) { std::size_t size = 0; for (const auto& command : group.commands()) { @@ -434,7 +434,7 @@ static void skipSerialWhitespaces(SerialBuffer& buffer) } } -#if ARDUINO_USB_MODE +#if OS_HAS_USB_SERIAL static SerialReadResult tryReadUSBSerialLine(SerialBuffer& buffer) { // Check if there's any data available @@ -647,7 +647,7 @@ static void serialRxTask(void*) break; } -#if ARDUINO_USB_MODE +#if OS_HAS_USB_SERIAL switch (tryReadUSBSerialLine(buffer)) { case SerialReadResult::LineEnd: processSerialLine(buffer); diff --git a/src/serial/command_handlers/ledtest.cpp b/src/serial/command_handlers/ledtest.cpp index 3d902d54..5a05b55c 100644 --- a/src/serial/command_handlers/ledtest.cpp +++ b/src/serial/command_handlers/ledtest.cpp @@ -14,9 +14,9 @@ static void handleSerialLedTestCommand(std::string_view arg, bool isAutomated) SERPR_SUCCESS("LedTest|Complete"); } -OpenShock::Serial::CommandGroup OpenShock::Serial::CommandHandlers::LedTestHandler() +OpenShock::SerialCmds::CommandGroup OpenShock::SerialCmds::CommandHandlers::LedTestHandler() { - auto group = OpenShock::Serial::CommandGroup("ledtest"sv); + auto group = OpenShock::SerialCmds::CommandGroup("ledtest"sv); group.addCommand("Cycle through all LED patterns for visual verification"sv, handleSerialLedTestCommand); diff --git a/src/visual/VisualStateManager.cpp b/src/visual/VisualStateManager.cpp index 66419274..189fb968 100644 --- a/src/visual/VisualStateManager.cpp +++ b/src/visual/VisualStateManager.cpp @@ -8,8 +8,11 @@ const char* const TAG = "VisualStateManager"; #include "events/Events.h" #include "GatewayClientState.h" #include "Logging.h" -#include "visual/MonoLedDriver.h" -#include "visual/RgbLedDriver.h" +#include "led_drivers/MonoLedDriver.h" +#include "led_drivers/RgbLedDriver.h" + +#include +#include #include #include From 8cdbed16033e21c1302afe9150425ab60c4cc08f Mon Sep 17 00:00:00 2001 From: HeavenVR Date: Thu, 23 Apr 2026 23:09:11 +0200 Subject: [PATCH 21/91] Move more stuff --- .../common/include/enums}/AccountLinkResultCode.h | 0 .../common/include/enums}/FirmwareBootType.h | 8 +++++--- .../common/include/enums}/GatewayClientState.h | 0 .../common/include/enums}/OtaUpdateChannel.h | 8 +++++--- .../common/include/enums}/OtaUpdateStep.h | 11 ++++++++--- .../common/include/enums}/SetGPIOResultCode.h | 6 +++--- .../common/include/enums}/ShockerCommandType.h | 0 .../common/include/enums}/ShockerModelType.h | 0 .../common/include/enums}/WebSocketMessageType.h | 0 components/protocols/CMakeLists.txt | 0 .../protocols/include}/CaiXianlinEncoder.h | 0 .../rmt => components/protocols/include}/D80Encoder.h | 0 .../protocols/include}/Petrainer998DREncoder.h | 0 .../protocols/include}/PetrainerEncoder.h | 0 .../rmt => components/protocols/include}/Sequence.h | 0 .../protocols/include}/T330Encoder.h | 0 .../protocols/src}/CaiXianlinEncoder.cpp | 0 .../rmt => components/protocols/src}/D80Encoder.cpp | 0 .../protocols/src}/Petrainer998DREncoder.cpp | 0 .../protocols/src}/PetrainerEncoder.cpp | 0 .../rmt => components/protocols/src}/Sequence.cpp | 0 .../rmt => components/protocols/src}/T330Encoder.cpp | 0 .../protocols/src}/internal/Shared.h | 0 23 files changed, 21 insertions(+), 12 deletions(-) rename {include => components/common/include/enums}/AccountLinkResultCode.h (100%) rename {include => components/common/include/enums}/FirmwareBootType.h (81%) rename {include => components/common/include/enums}/GatewayClientState.h (100%) rename {include => components/common/include/enums}/OtaUpdateChannel.h (80%) rename {include => components/common/include/enums}/OtaUpdateStep.h (86%) rename {include => components/common/include/enums}/SetGPIOResultCode.h (65%) rename {include => components/common/include/enums}/ShockerCommandType.h (100%) rename {include => components/common/include/enums}/ShockerModelType.h (100%) rename {include => components/common/include/enums}/WebSocketMessageType.h (100%) create mode 100644 components/protocols/CMakeLists.txt rename {include/radio/rmt => components/protocols/include}/CaiXianlinEncoder.h (100%) rename {include/radio/rmt => components/protocols/include}/D80Encoder.h (100%) rename {include/radio/rmt => components/protocols/include}/Petrainer998DREncoder.h (100%) rename {include/radio/rmt => components/protocols/include}/PetrainerEncoder.h (100%) rename {include/radio/rmt => components/protocols/include}/Sequence.h (100%) rename {include/radio/rmt => components/protocols/include}/T330Encoder.h (100%) rename {src/radio/rmt => components/protocols/src}/CaiXianlinEncoder.cpp (100%) rename {src/radio/rmt => components/protocols/src}/D80Encoder.cpp (100%) rename {src/radio/rmt => components/protocols/src}/Petrainer998DREncoder.cpp (100%) rename {src/radio/rmt => components/protocols/src}/PetrainerEncoder.cpp (100%) rename {src/radio/rmt => components/protocols/src}/Sequence.cpp (100%) rename {src/radio/rmt => components/protocols/src}/T330Encoder.cpp (100%) rename {include/radio/rmt => components/protocols/src}/internal/Shared.h (100%) diff --git a/include/AccountLinkResultCode.h b/components/common/include/enums/AccountLinkResultCode.h similarity index 100% rename from include/AccountLinkResultCode.h rename to components/common/include/enums/AccountLinkResultCode.h diff --git a/include/FirmwareBootType.h b/components/common/include/enums/FirmwareBootType.h similarity index 81% rename from include/FirmwareBootType.h rename to components/common/include/enums/FirmwareBootType.h index c13aedcf..d41db28c 100644 --- a/include/FirmwareBootType.h +++ b/components/common/include/enums/FirmwareBootType.h @@ -1,12 +1,14 @@ #pragma once -#include "serialization/_fbs/FirmwareBootType_generated.h" - #include #include namespace OpenShock { - typedef OpenShock::Serialization::Types::FirmwareBootType FirmwareBootType; + enum class FirmwareBootType : uint8_t { + Normal, + NewFirmware, + Rollback + }; inline bool TryParseFirmwareBootType(FirmwareBootType& bootType, const char* str) { diff --git a/include/GatewayClientState.h b/components/common/include/enums/GatewayClientState.h similarity index 100% rename from include/GatewayClientState.h rename to components/common/include/enums/GatewayClientState.h diff --git a/include/OtaUpdateChannel.h b/components/common/include/enums/OtaUpdateChannel.h similarity index 80% rename from include/OtaUpdateChannel.h rename to components/common/include/enums/OtaUpdateChannel.h index 3ab942b3..9c9d7877 100644 --- a/include/OtaUpdateChannel.h +++ b/components/common/include/enums/OtaUpdateChannel.h @@ -1,12 +1,14 @@ #pragma once -#include "serialization/_fbs/HubConfig_generated.h" - #include #include namespace OpenShock { - typedef OpenShock::Serialization::Configuration::OtaUpdateChannel OtaUpdateChannel; + enum class OtaUpdateChannel : uint8_t { + Stable, + Beta, + Develop + }; inline bool TryParseOtaUpdateChannel(OtaUpdateChannel& channel, const char* str) { diff --git a/include/OtaUpdateStep.h b/components/common/include/enums/OtaUpdateStep.h similarity index 86% rename from include/OtaUpdateStep.h rename to components/common/include/enums/OtaUpdateStep.h index 8fae996f..069bfa79 100644 --- a/include/OtaUpdateStep.h +++ b/components/common/include/enums/OtaUpdateStep.h @@ -1,12 +1,17 @@ #pragma once -#include "serialization/_fbs/HubConfig_generated.h" - #include #include namespace OpenShock { - typedef OpenShock::Serialization::Configuration::OtaUpdateStep OtaUpdateStep; + enum class OtaUpdateStep : uint8_t { + None, + Updating, + Updated, + Validating, + Validated, + RollingBack + }; inline bool TryParseOtaUpdateStep(OtaUpdateStep& channel, const char* str) { diff --git a/include/SetGPIOResultCode.h b/components/common/include/enums/SetGPIOResultCode.h similarity index 65% rename from include/SetGPIOResultCode.h rename to components/common/include/enums/SetGPIOResultCode.h index 0dcdf443..290ee200 100644 --- a/include/SetGPIOResultCode.h +++ b/components/common/include/enums/SetGPIOResultCode.h @@ -4,8 +4,8 @@ namespace OpenShock { enum class SetGPIOResultCode : uint8_t { - Success = 0, - InvalidPin = 1, - InternalError = 2, + Success, + InvalidPin, + InternalError }; } // namespace OpenShock diff --git a/include/ShockerCommandType.h b/components/common/include/enums/ShockerCommandType.h similarity index 100% rename from include/ShockerCommandType.h rename to components/common/include/enums/ShockerCommandType.h diff --git a/include/ShockerModelType.h b/components/common/include/enums/ShockerModelType.h similarity index 100% rename from include/ShockerModelType.h rename to components/common/include/enums/ShockerModelType.h diff --git a/include/WebSocketMessageType.h b/components/common/include/enums/WebSocketMessageType.h similarity index 100% rename from include/WebSocketMessageType.h rename to components/common/include/enums/WebSocketMessageType.h diff --git a/components/protocols/CMakeLists.txt b/components/protocols/CMakeLists.txt new file mode 100644 index 00000000..e69de29b diff --git a/include/radio/rmt/CaiXianlinEncoder.h b/components/protocols/include/CaiXianlinEncoder.h similarity index 100% rename from include/radio/rmt/CaiXianlinEncoder.h rename to components/protocols/include/CaiXianlinEncoder.h diff --git a/include/radio/rmt/D80Encoder.h b/components/protocols/include/D80Encoder.h similarity index 100% rename from include/radio/rmt/D80Encoder.h rename to components/protocols/include/D80Encoder.h diff --git a/include/radio/rmt/Petrainer998DREncoder.h b/components/protocols/include/Petrainer998DREncoder.h similarity index 100% rename from include/radio/rmt/Petrainer998DREncoder.h rename to components/protocols/include/Petrainer998DREncoder.h diff --git a/include/radio/rmt/PetrainerEncoder.h b/components/protocols/include/PetrainerEncoder.h similarity index 100% rename from include/radio/rmt/PetrainerEncoder.h rename to components/protocols/include/PetrainerEncoder.h diff --git a/include/radio/rmt/Sequence.h b/components/protocols/include/Sequence.h similarity index 100% rename from include/radio/rmt/Sequence.h rename to components/protocols/include/Sequence.h diff --git a/include/radio/rmt/T330Encoder.h b/components/protocols/include/T330Encoder.h similarity index 100% rename from include/radio/rmt/T330Encoder.h rename to components/protocols/include/T330Encoder.h diff --git a/src/radio/rmt/CaiXianlinEncoder.cpp b/components/protocols/src/CaiXianlinEncoder.cpp similarity index 100% rename from src/radio/rmt/CaiXianlinEncoder.cpp rename to components/protocols/src/CaiXianlinEncoder.cpp diff --git a/src/radio/rmt/D80Encoder.cpp b/components/protocols/src/D80Encoder.cpp similarity index 100% rename from src/radio/rmt/D80Encoder.cpp rename to components/protocols/src/D80Encoder.cpp diff --git a/src/radio/rmt/Petrainer998DREncoder.cpp b/components/protocols/src/Petrainer998DREncoder.cpp similarity index 100% rename from src/radio/rmt/Petrainer998DREncoder.cpp rename to components/protocols/src/Petrainer998DREncoder.cpp diff --git a/src/radio/rmt/PetrainerEncoder.cpp b/components/protocols/src/PetrainerEncoder.cpp similarity index 100% rename from src/radio/rmt/PetrainerEncoder.cpp rename to components/protocols/src/PetrainerEncoder.cpp diff --git a/src/radio/rmt/Sequence.cpp b/components/protocols/src/Sequence.cpp similarity index 100% rename from src/radio/rmt/Sequence.cpp rename to components/protocols/src/Sequence.cpp diff --git a/src/radio/rmt/T330Encoder.cpp b/components/protocols/src/T330Encoder.cpp similarity index 100% rename from src/radio/rmt/T330Encoder.cpp rename to components/protocols/src/T330Encoder.cpp diff --git a/include/radio/rmt/internal/Shared.h b/components/protocols/src/internal/Shared.h similarity index 100% rename from include/radio/rmt/internal/Shared.h rename to components/protocols/src/internal/Shared.h From 6460c2557cc66dfa97909f93c342d67ad149d195 Mon Sep 17 00:00:00 2001 From: HeavenVR Date: Mon, 29 Jun 2026 13:50:54 +0200 Subject: [PATCH 22/91] build: make arduino-3.0 component layout compile - Prefix shared-enum includes with enums/ instead of widening common's public include path, so consumers reference enums/.h explicitly. - Register the protocols component (was an empty CMakeLists): move its public headers under include/radio/rmt/ and the private Shared.h under src/radio/rmt/internal/, wire SRCS/INCLUDE_DIRS/REQUIRES, and add protocols to the main component's REQUIRES. - Convert the decoupled domain enums (OtaUpdateChannel/OtaUpdateStep/ FirmwareBootType) to their flatbuffer counterparts at the serialization boundaries with static_cast (values are aligned). --- components/common/CMakeLists.txt | 1 + components/protocols/CMakeLists.txt | 24 +++++++++++++++++++ .../{ => radio/rmt}/CaiXianlinEncoder.h | 2 +- .../include/{ => radio/rmt}/D80Encoder.h | 2 +- .../{ => radio/rmt}/Petrainer998DREncoder.h | 2 +- .../{ => radio/rmt}/PetrainerEncoder.h | 2 +- .../include/{ => radio/rmt}/Sequence.h | 4 ++-- .../include/{ => radio/rmt}/T330Encoder.h | 2 +- .../src/{ => radio/rmt}/internal/Shared.h | 0 include/CommandHandler.h | 6 ++--- include/GatewayClient.h | 2 +- include/GatewayConnectionManager.h | 2 +- include/OtaUpdateManager.h | 4 ++-- include/WebSocketDeFragger.h | 2 +- include/config/OtaUpdateConfig.h | 6 ++--- include/radio/RFTransmitter.h | 4 ++-- include/serialization/JsonAPI.h | 2 +- include/serialization/JsonSerial.h | 4 ++-- include/serialization/WSGateway.h | 2 +- src/CMakeLists.txt | 2 +- src/captiveportal/CaptivePortalInstance.cpp | 2 +- src/config/OtaUpdateConfig.cpp | 10 ++++---- src/message_handlers/ShockerCommandList.cpp | 2 +- src/serial/command_handlers/rftxpin.cpp | 2 +- src/serialization/WSGateway.cpp | 2 +- src/visual/VisualStateManager.cpp | 2 +- 26 files changed, 60 insertions(+), 35 deletions(-) rename components/protocols/include/{ => radio/rmt}/CaiXianlinEncoder.h (87%) rename components/protocols/include/{ => radio/rmt}/D80Encoder.h (85%) rename components/protocols/include/{ => radio/rmt}/Petrainer998DREncoder.h (86%) rename components/protocols/include/{ => radio/rmt}/PetrainerEncoder.h (86%) rename components/protocols/include/{ => radio/rmt}/Sequence.h (96%) rename components/protocols/include/{ => radio/rmt}/T330Encoder.h (86%) rename components/protocols/src/{ => radio/rmt}/internal/Shared.h (100%) diff --git a/components/common/CMakeLists.txt b/components/common/CMakeLists.txt index b6ce091f..8af7c541 100644 --- a/components/common/CMakeLists.txt +++ b/components/common/CMakeLists.txt @@ -5,6 +5,7 @@ # Public surface: # Common.h — basic defines, DISABLE_DEFAULT/COPY/MOVE macros # FormatHelpers.h — format string helpers +# enums/*.h — shared enums (consumers include with the enums/ prefix) idf_component_register( SRCS "src/LanguageVersionCheck.cpp" diff --git a/components/protocols/CMakeLists.txt b/components/protocols/CMakeLists.txt index e69de29b..9b66d006 100644 --- a/components/protocols/CMakeLists.txt +++ b/components/protocols/CMakeLists.txt @@ -0,0 +1,24 @@ +# OpenShock RF shocker protocol encoders (RMT-based). +# +# Public surface: +# radio/rmt/Sequence.h — RMT sequence builder +# radio/rmt/CaiXianlinEncoder.h — CaiXianlin protocol +# radio/rmt/PetrainerEncoder.h — Petrainer protocol +# radio/rmt/Petrainer998DREncoder.h +# radio/rmt/D80Encoder.h +# radio/rmt/T330Encoder.h + +idf_component_register( + SRCS "src/CaiXianlinEncoder.cpp" + "src/D80Encoder.cpp" + "src/Petrainer998DREncoder.cpp" + "src/PetrainerEncoder.cpp" + "src/Sequence.cpp" + "src/T330Encoder.cpp" + INCLUDE_DIRS "include" + PRIV_INCLUDE_DIRS "src" # radio/rmt/internal/Shared.h (private) + REQUIRES common # enums/*, OpenShock.h in public headers + framework-arduinoespressif32 # esp32-hal-rmt.h in public headers + PRIV_REQUIRES util # Checksum.h (internal) + logging # OS_LOG* (internal) +) diff --git a/components/protocols/include/CaiXianlinEncoder.h b/components/protocols/include/radio/rmt/CaiXianlinEncoder.h similarity index 87% rename from components/protocols/include/CaiXianlinEncoder.h rename to components/protocols/include/radio/rmt/CaiXianlinEncoder.h index 36ef4da6..3503064d 100644 --- a/components/protocols/include/CaiXianlinEncoder.h +++ b/components/protocols/include/radio/rmt/CaiXianlinEncoder.h @@ -1,6 +1,6 @@ #pragma once -#include "ShockerCommandType.h" +#include "enums/ShockerCommandType.h" #include diff --git a/components/protocols/include/D80Encoder.h b/components/protocols/include/radio/rmt/D80Encoder.h similarity index 85% rename from components/protocols/include/D80Encoder.h rename to components/protocols/include/radio/rmt/D80Encoder.h index e3c313c8..d4fef03b 100644 --- a/components/protocols/include/D80Encoder.h +++ b/components/protocols/include/radio/rmt/D80Encoder.h @@ -1,6 +1,6 @@ #pragma once -#include "ShockerCommandType.h" +#include "enums/ShockerCommandType.h" #include diff --git a/components/protocols/include/Petrainer998DREncoder.h b/components/protocols/include/radio/rmt/Petrainer998DREncoder.h similarity index 86% rename from components/protocols/include/Petrainer998DREncoder.h rename to components/protocols/include/radio/rmt/Petrainer998DREncoder.h index 717966fd..fad5f04f 100644 --- a/components/protocols/include/Petrainer998DREncoder.h +++ b/components/protocols/include/radio/rmt/Petrainer998DREncoder.h @@ -1,6 +1,6 @@ #pragma once -#include "ShockerCommandType.h" +#include "enums/ShockerCommandType.h" #include diff --git a/components/protocols/include/PetrainerEncoder.h b/components/protocols/include/radio/rmt/PetrainerEncoder.h similarity index 86% rename from components/protocols/include/PetrainerEncoder.h rename to components/protocols/include/radio/rmt/PetrainerEncoder.h index e55b8275..f681a5d6 100644 --- a/components/protocols/include/PetrainerEncoder.h +++ b/components/protocols/include/radio/rmt/PetrainerEncoder.h @@ -1,6 +1,6 @@ #pragma once -#include "ShockerCommandType.h" +#include "enums/ShockerCommandType.h" #include diff --git a/components/protocols/include/Sequence.h b/components/protocols/include/radio/rmt/Sequence.h similarity index 96% rename from components/protocols/include/Sequence.h rename to components/protocols/include/radio/rmt/Sequence.h index 9bb79024..dcf256b1 100644 --- a/components/protocols/include/Sequence.h +++ b/components/protocols/include/radio/rmt/Sequence.h @@ -1,8 +1,8 @@ #pragma once #include "OpenShock.h" -#include "ShockerCommandType.h" -#include "ShockerModelType.h" +#include "enums/ShockerCommandType.h" +#include "enums/ShockerModelType.h" #include diff --git a/components/protocols/include/T330Encoder.h b/components/protocols/include/radio/rmt/T330Encoder.h similarity index 86% rename from components/protocols/include/T330Encoder.h rename to components/protocols/include/radio/rmt/T330Encoder.h index 782a8eaa..8c15c718 100644 --- a/components/protocols/include/T330Encoder.h +++ b/components/protocols/include/radio/rmt/T330Encoder.h @@ -1,6 +1,6 @@ #pragma once -#include "ShockerCommandType.h" +#include "enums/ShockerCommandType.h" #include diff --git a/components/protocols/src/internal/Shared.h b/components/protocols/src/radio/rmt/internal/Shared.h similarity index 100% rename from components/protocols/src/internal/Shared.h rename to components/protocols/src/radio/rmt/internal/Shared.h diff --git a/include/CommandHandler.h b/include/CommandHandler.h index 93f751ab..0baef0a2 100644 --- a/include/CommandHandler.h +++ b/include/CommandHandler.h @@ -1,8 +1,8 @@ #pragma once -#include "SetGPIOResultCode.h" -#include "ShockerCommandType.h" -#include "ShockerModelType.h" +#include "enums/SetGPIOResultCode.h" +#include "enums/ShockerCommandType.h" +#include "enums/ShockerModelType.h" #include diff --git a/include/GatewayClient.h b/include/GatewayClient.h index 07c737f5..00ba170e 100644 --- a/include/GatewayClient.h +++ b/include/GatewayClient.h @@ -1,7 +1,7 @@ #pragma once #include "OpenShock.h" -#include "GatewayClientState.h" +#include "enums/GatewayClientState.h" #include diff --git a/include/GatewayConnectionManager.h b/include/GatewayConnectionManager.h index 7fbd6ef8..5ced56ac 100644 --- a/include/GatewayConnectionManager.h +++ b/include/GatewayConnectionManager.h @@ -1,6 +1,6 @@ #pragma once -#include "AccountLinkResultCode.h" +#include "enums/AccountLinkResultCode.h" #include #include diff --git a/include/OtaUpdateManager.h b/include/OtaUpdateManager.h index 2d319488..3ce3314c 100644 --- a/include/OtaUpdateManager.h +++ b/include/OtaUpdateManager.h @@ -1,7 +1,7 @@ #pragma once -#include "FirmwareBootType.h" -#include "OtaUpdateChannel.h" +#include "enums/FirmwareBootType.h" +#include "enums/OtaUpdateChannel.h" #include "SemVer.h" #include diff --git a/include/WebSocketDeFragger.h b/include/WebSocketDeFragger.h index 3a824818..8e248410 100644 --- a/include/WebSocketDeFragger.h +++ b/include/WebSocketDeFragger.h @@ -2,7 +2,7 @@ #include "OpenShock.h" #include "TinyVec.h" -#include "WebSocketMessageType.h" +#include "enums/WebSocketMessageType.h" #include diff --git a/include/config/OtaUpdateConfig.h b/include/config/OtaUpdateConfig.h index 26fb5f87..1f375dd1 100644 --- a/include/config/OtaUpdateConfig.h +++ b/include/config/OtaUpdateConfig.h @@ -1,9 +1,9 @@ #pragma once #include "config/ConfigBase.h" -#include "FirmwareBootType.h" -#include "OtaUpdateChannel.h" -#include "OtaUpdateStep.h" +#include "enums/FirmwareBootType.h" +#include "enums/OtaUpdateChannel.h" +#include "enums/OtaUpdateStep.h" #include diff --git a/include/radio/RFTransmitter.h b/include/radio/RFTransmitter.h index 96d323ff..fc88d653 100644 --- a/include/radio/RFTransmitter.h +++ b/include/radio/RFTransmitter.h @@ -1,8 +1,8 @@ #pragma once #include "OpenShock.h" -#include "ShockerCommandType.h" -#include "ShockerModelType.h" +#include "enums/ShockerCommandType.h" +#include "enums/ShockerModelType.h" #include #include diff --git a/include/serialization/JsonAPI.h b/include/serialization/JsonAPI.h index 322e8c8b..c1698398 100644 --- a/include/serialization/JsonAPI.h +++ b/include/serialization/JsonAPI.h @@ -1,6 +1,6 @@ #pragma once -#include "ShockerModelType.h" +#include "enums/ShockerModelType.h" #include diff --git a/include/serialization/JsonSerial.h b/include/serialization/JsonSerial.h index 9348a8d3..33db78b4 100644 --- a/include/serialization/JsonSerial.h +++ b/include/serialization/JsonSerial.h @@ -1,7 +1,7 @@ #pragma once -#include "ShockerCommandType.h" -#include "ShockerModelType.h" +#include "enums/ShockerCommandType.h" +#include "enums/ShockerModelType.h" #include diff --git a/include/serialization/WSGateway.h b/include/serialization/WSGateway.h index 768d7665..8bf83a33 100644 --- a/include/serialization/WSGateway.h +++ b/include/serialization/WSGateway.h @@ -1,6 +1,6 @@ #pragma once -#include "FirmwareBootType.h" +#include "enums/FirmwareBootType.h" #include "SemVer.h" #include "serialization/CallbackFn.h" diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 0b39fd2a..1b88d14f 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -2,5 +2,5 @@ FILE(GLOB_RECURSE app_sources ${CMAKE_SOURCE_DIR}/src/*.*) idf_component_register( SRCS ${app_sources} - REQUIRES common time logging concurrency util http chipset led_drivers + REQUIRES common time logging concurrency util http chipset led_drivers protocols ) diff --git a/src/captiveportal/CaptivePortalInstance.cpp b/src/captiveportal/CaptivePortalInstance.cpp index 6753cb0f..7229639d 100644 --- a/src/captiveportal/CaptivePortalInstance.cpp +++ b/src/captiveportal/CaptivePortalInstance.cpp @@ -15,7 +15,7 @@ const char* const TAG = "CaptivePortalInstance"; #include "Logging.h" #include "RateLimiter.h" #include "message_handlers/WebSocket.h" -#include "OtaUpdateChannel.h" +#include "enums/OtaUpdateChannel.h" #include "serialization/WSLocal.h" #include "util/FnProxy.h" #include "util/HexUtils.h" diff --git a/src/config/OtaUpdateConfig.cpp b/src/config/OtaUpdateConfig.cpp index 4ae0735a..4cabc1e8 100644 --- a/src/config/OtaUpdateConfig.cpp +++ b/src/config/OtaUpdateConfig.cpp @@ -61,21 +61,21 @@ bool OtaUpdateConfig::FromFlatbuffers(const Serialization::Configuration::OtaUpd isEnabled = config->is_enabled(); Internal::Utils::FromFbsStr(cdnDomain, config->cdn_domain(), OPENSHOCK_FW_CDN_DOMAIN); - updateChannel = config->update_channel(); + updateChannel = static_cast(config->update_channel()); checkOnStartup = config->check_on_startup(); checkPeriodically = config->check_periodically(); checkInterval = config->check_interval(); allowBackendManagement = config->allow_backend_management(); requireManualApproval = config->require_manual_approval(); updateId = config->update_id(); - updateStep = config->update_step(); + updateStep = static_cast(config->update_step()); return true; } flatbuffers::Offset OtaUpdateConfig::ToFlatbuffers(flatbuffers::FlatBufferBuilder& builder, bool withSensitiveData) const { - return Serialization::Configuration::CreateOtaUpdateConfig(builder, isEnabled, builder.CreateString(cdnDomain), updateChannel, checkOnStartup, checkPeriodically, checkInterval, allowBackendManagement, requireManualApproval, updateId, updateStep); + return Serialization::Configuration::CreateOtaUpdateConfig(builder, isEnabled, builder.CreateString(cdnDomain), static_cast(updateChannel), checkOnStartup, checkPeriodically, checkInterval, allowBackendManagement, requireManualApproval, updateId, static_cast(updateStep)); } bool OtaUpdateConfig::FromJSON(const cJSON* json) @@ -111,14 +111,14 @@ cJSON* OtaUpdateConfig::ToJSON(bool withSensitiveData) const cJSON_AddBoolToObject(root, "isEnabled", isEnabled); cJSON_AddStringToObject(root, "cdnDomain", cdnDomain.c_str()); - cJSON_AddStringToObject(root, "updateChannel", OpenShock::Serialization::Configuration::EnumNameOtaUpdateChannel(updateChannel)); + cJSON_AddStringToObject(root, "updateChannel", OpenShock::Serialization::Configuration::EnumNameOtaUpdateChannel(static_cast(updateChannel))); cJSON_AddBoolToObject(root, "checkOnStartup", checkOnStartup); cJSON_AddBoolToObject(root, "checkPeriodically", checkPeriodically); cJSON_AddNumberToObject(root, "checkInterval", checkInterval); cJSON_AddBoolToObject(root, "allowBackendManagement", allowBackendManagement); cJSON_AddBoolToObject(root, "requireManualApproval", requireManualApproval); cJSON_AddNumberToObject(root, "updateId", updateId); - cJSON_AddStringToObject(root, "updateStep", OpenShock::Serialization::Configuration::EnumNameOtaUpdateStep(updateStep)); + cJSON_AddStringToObject(root, "updateStep", OpenShock::Serialization::Configuration::EnumNameOtaUpdateStep(static_cast(updateStep))); return root; } diff --git a/src/message_handlers/ShockerCommandList.cpp b/src/message_handlers/ShockerCommandList.cpp index 561f50c7..c57adf5e 100644 --- a/src/message_handlers/ShockerCommandList.cpp +++ b/src/message_handlers/ShockerCommandList.cpp @@ -4,7 +4,7 @@ const char* const TAG = "ShockerCommandHandler"; #include "CommandHandler.h" #include "Logging.h" -#include "ShockerModelType.h" +#include "enums/ShockerModelType.h" #include diff --git a/src/serial/command_handlers/rftxpin.cpp b/src/serial/command_handlers/rftxpin.cpp index 569f23e0..4b8adc35 100644 --- a/src/serial/command_handlers/rftxpin.cpp +++ b/src/serial/command_handlers/rftxpin.cpp @@ -3,7 +3,7 @@ #include "CommandHandler.h" #include "config/Config.h" #include "Convert.h" -#include "SetGPIOResultCode.h" +#include "enums/SetGPIOResultCode.h" static void handleRfTxPinCommand(std::string_view arg, bool isAutomated) { diff --git a/src/serialization/WSGateway.cpp b/src/serialization/WSGateway.cpp index cb83e3cf..e41c4d7f 100644 --- a/src/serialization/WSGateway.cpp +++ b/src/serialization/WSGateway.cpp @@ -58,7 +58,7 @@ bool Gateway::SerializeBootStatusMessage(int32_t updateId, OpenShock::FirmwareBo auto fbsVersion = Types::CreateSemVerDirect(builder, OPENSHOCK_FW_VERSION_MAJOR, OPENSHOCK_FW_VERSION_MINOR, OPENSHOCK_FW_VERSION_PATCH, OPENSHOCK_FW_VERSION_PRERELEASE, OPENSHOCK_FW_VERSION_BUILD); - auto fbsBootStatus = Gateway::CreateBootStatus(builder, bootType, fbsVersion, updateId); + auto fbsBootStatus = Gateway::CreateBootStatus(builder, static_cast(bootType), fbsVersion, updateId); auto msg = Gateway::CreateHubToGatewayMessage(builder, Gateway::HubToGatewayMessagePayload::BootStatus, fbsBootStatus.Union()); diff --git a/src/visual/VisualStateManager.cpp b/src/visual/VisualStateManager.cpp index 189fb968..c2161d9a 100644 --- a/src/visual/VisualStateManager.cpp +++ b/src/visual/VisualStateManager.cpp @@ -6,7 +6,7 @@ const char* const TAG = "VisualStateManager"; #include "estop/EStopState.h" #include "events/Events.h" -#include "GatewayClientState.h" +#include "enums/GatewayClientState.h" #include "Logging.h" #include "led_drivers/MonoLedDriver.h" #include "led_drivers/RgbLedDriver.h" From c25a337f66cea6bdfee253f9204fd244922e0f90 Mon Sep 17 00:00:00 2001 From: HeavenVR Date: Mon, 29 Jun 2026 15:02:19 +0200 Subject: [PATCH 23/91] build: sdkconfig defaults+per-chip layering; fix S3-Mini USB serial - Stop committing generated sdkconfig. files (DO NOT EDIT). They are derived by ESP-IDF from sdkconfig.defaults[.]; track only the editable defaults. Untrack the 4 stray per-env files and dependencies.lock, and git-ignore them going forward. - Per-chip overrides use ESP-IDF's native sdkconfig.defaults. auto-layering (kconfig.cmake), no custom scripting. - Wemos-Lolin-S3-Mini: add -DARDUINO_USB_MODE=1 so Serial resolves to the built-in USB-Serial-JTAG (HWCDCSerial) instead of native USB CDC, which would require the TinyUSB component. Brings per-board builds to 12/13. - Document remaining S2-Mini TinyUSB work in BEFORE_MERGE_WORK.md. --- .gitignore | 7 + BEFORE_MERGE_WORK.md | 67 + dependencies.lock | 365 --- platformio.ini | 3 + sdkconfig.NodeMCU-32S | 4185 ---------------------------- sdkconfig.OpenShock-Core-V2 | 4786 --------------------------------- sdkconfig.Wemos-D1-Mini-ESP32 | 4185 ---------------------------- sdkconfig.ci-build | 4780 -------------------------------- 8 files changed, 77 insertions(+), 18301 deletions(-) create mode 100644 BEFORE_MERGE_WORK.md delete mode 100644 dependencies.lock delete mode 100644 sdkconfig.NodeMCU-32S delete mode 100644 sdkconfig.OpenShock-Core-V2 delete mode 100644 sdkconfig.Wemos-D1-Mini-ESP32 delete mode 100644 sdkconfig.ci-build diff --git a/.gitignore b/.gitignore index a1b61192..2d68303b 100644 --- a/.gitignore +++ b/.gitignore @@ -19,6 +19,13 @@ packages *.sln compile_commands.json managed_components +dependencies.lock + +# ESP-IDF: per-env sdkconfig. is generated ("DO NOT EDIT") from +# sdkconfig.defaults[.]. Track only the editable defaults. +/sdkconfig.* +!/sdkconfig.defaults +!/sdkconfig.defaults.* # Claude Code .claude/settings.local.json \ No newline at end of file diff --git a/BEFORE_MERGE_WORK.md b/BEFORE_MERGE_WORK.md new file mode 100644 index 00000000..acc1ac2d --- /dev/null +++ b/BEFORE_MERGE_WORK.md @@ -0,0 +1,67 @@ +# Before-merge work — `feat/arduino-3.0` + +Tracking outstanding items discovered while getting the Arduino 3.0 branch to +build. This branch is the migration vehicle toward the full ESP-IDF endgame +(what `feature/espidf-rewrite` attempted in one shot). + +## Per-board build results — 12/13 pass ✅ + +| ✅ Succeeded (12) | ❌ Failed (1) | +|---|---| +| Wemos-D1-Mini-ESP32, Wemos-Lolin-S3, Wemos-Lolin-S3-Mini, Waveshare_esp32_s3_zero, Pishock-2023, Pishock-Lite-2021, Seeed-Xiao-ESP32C3, Seeed-Xiao-ESP32S3, DFRobot-Firebeetle2-ESP32E, OpenShock-Core-V1, OpenShock-Core-V2, NodeMCU-32S | Wemos-Lolin-S2-Mini | + +The component-layout fixes are sound — all the boards that matter (incl. both +OpenShock-Core revisions) link cleanly. The `ci-build` env passes too. + +**S3-Mini fixed**: added `-DARDUINO_USB_MODE=1` to its env (it has a built-in +USB-Serial-JTAG, so `Serial` becomes `HWCDCSerial` — no extra component needed, +exactly what the `esp32-s3-devkitc-1` board does). + +## The 2 failures are a pre-existing USB-config bug, not the merge + +Both failures are identical: + +``` +HardwareSerial.h:435: error: '::USBSerial' has not been declared +``` + +- Only these two boards set `-DARDUINO_USB_CDC_ON_BOOT=1` (platformio.ini lines + 119/130) — and that flag was already there at `df131af`, before the + component-layout commit. The merge changes (enums prefix, protocols + component, enum casts) don't touch serial/USB. +- With `ARDUINO_USB_CDC_ON_BOOT=1` and `ARDUINO_USB_MODE` unset, `Serial` + resolves to `USBSerial`, which isn't declared because the native USB-CDC + (TinyUSB) stack isn't pulled in under this `arduino,espidf` hybrid build. The + working S3 boards avoid it by not enabling CDC-on-boot (they use UART + `Serial0`). + +`USBSerial` is declared (arduino-esp32 `USBCDC.h`) only when +`SOC_USB_OTG_SUPPORTED && CONFIG_TINYUSB_CDC_ENABLED && !ARDUINO_USB_MODE && +ARDUINO_USB_CDC_ON_BOOT`. The TinyUSB component isn't currently pulled into this +`arduino,espidf` build (no `CONFIG_TINYUSB*` symbols in the generated configs), +so `USBSerial` is never declared. + +- **S3-Mini** — FIXED via `-DARDUINO_USB_MODE=1` (HWCDC / USB-Serial-JTAG path, + no TinyUSB needed). See platformio.ini. +- **S2-Mini** — STILL FAILS. ESP32-S2 has no USB-Serial-JTAG, so HWCDC isn't an + option; it must use native USB CDC, which requires pulling the **TinyUSB + component** into the build (component manager + `CONFIG_TINYUSB_CDC_ENABLED=y` + in `sdkconfig.defaults.esp32s2`). This affects runtime USB/serial behaviour and + wants a hardware-in-hand pass — left as a TODO. + +## sdkconfig management — defaults + per-chip overrides + +Decided structure (implemented): + +- `sdkconfig.defaults` — shared base, **tracked** (the editable source of truth). +- `sdkconfig.defaults.` (e.g. `sdkconfig.defaults.esp32s2`) — per-chip + overrides, **tracked**. ESP-IDF auto-layers these on top of `sdkconfig.defaults` + for each entry in the defaults list (see `tools/cmake/kconfig.cmake`: it appends + `--defaults .${IDF_TARGET}` when the file exists). No custom scripting. +- `sdkconfig.` — generated ("DO NOT EDIT"), now **git-ignored** (was being + committed for 4 envs by accident; those are untracked). `dependencies.lock` is + also generated and now ignored. + +Per-board (finer than per-chip) USB *mode* flags live in each env's `build_flags` +in platformio.ini (e.g. S3-Mini's `ARDUINO_USB_MODE=1`), since they are board +wiring choices, not chip-wide sdkconfig. diff --git a/dependencies.lock b/dependencies.lock deleted file mode 100644 index 355a1e23..00000000 --- a/dependencies.lock +++ /dev/null @@ -1,365 +0,0 @@ -dependencies: - chmorgan/esp-libhelix-mp3: - component_hash: cbb76089dc2c5749f7b470e2e70aedc44c9da519e04eb9a67d4c7ec275229e53 - dependencies: - - name: idf - require: private - version: '>=4.1.0' - source: - registry_url: https://components.espressif.com/ - type: service - version: 1.0.3 - espressif/cbor: - component_hash: dad9ca860963e930366510a10b422b3125a4fb27b979712ed65efcbcd742de50 - dependencies: - - name: idf - require: private - version: '>=5.0' - source: - registry_url: https://components.espressif.com/ - type: service - version: 0.6.1~4 - espressif/cjson: - component_hash: e788323270d90738662d66fffa910bfe1fba019bba087f01557e70c40485b469 - dependencies: - - name: idf - require: private - version: '>=5.0' - source: - registry_url: https://components.espressif.com - type: service - version: 1.7.19~2 - espressif/dl_fft: - component_hash: 7dadbd644c0d7ba4733cc3726ec4cff6edf27b043725e1115861dec1609a3d28 - dependencies: - - name: idf - require: private - version: '>=5.0' - source: - registry_url: https://components.espressif.com - type: service - version: 0.3.1 - espressif/esp-dsp: - component_hash: 12e44db246517a627bc0fe2b255b8335410c0215c98bfba2df5a8e3edea839ef - dependencies: - - name: idf - require: private - version: '>=4.2' - source: - registry_url: https://components.espressif.com/ - type: service - version: 1.8.0 - espressif/esp-modbus: - component_hash: 5d5e90b9e55721a8a194b301ad8102d4affb647f47b74cd413ff7d1ce2c1169c - dependencies: - - name: idf - require: private - version: '>=4.3' - source: - registry_url: https://components.espressif.com/ - type: service - version: 1.0.18 - espressif/esp-serial-flasher: - component_hash: dcc42a16712a1a636509cf0bf90e14032d7f2141784b533613b267b6aa318d52 - dependencies: [] - source: - registry_url: https://components.espressif.com - type: service - version: 0.0.11 - espressif/esp-sr: - component_hash: 91f54718b22328546502ed96c6b2e53033cb90d83a3fd87bc60d0b27a7cc841a - dependencies: - - name: espressif/cjson - registry_url: https://components.espressif.com - require: private - version: ^1.7.19 - - name: espressif/dl_fft - registry_url: https://components.espressif.com - require: private - version: '>=0.2.0' - - name: espressif/esp-dsp - registry_url: https://components.espressif.com - require: private - version: 1.8.0 - - name: idf - require: private - version: '>=5.0' - source: - registry_url: https://components.espressif.com/ - type: service - version: 2.4.2 - espressif/esp-zboss-lib: - component_hash: 321883d142421f65009972408287441794250057668a11abbdfd8bec77c3309a - dependencies: - - name: idf - require: private - version: '>=5.0' - source: - registry_url: https://components.espressif.com/ - type: service - version: 1.6.4 - espressif/esp-zigbee-lib: - component_hash: fa0812e6743e2a7d999af9f44ccdcea17ccb1e80f98d6b2956f44687503a88fd - dependencies: - - name: idf - require: private - version: '>=5.0' - source: - registry_url: https://components.espressif.com/ - type: service - version: 1.6.8 - espressif/esp_diag_data_store: - component_hash: c1e5cf62f545d2b136db299f4df1b228b9840be5bc3410c9ad2d2a882b5c0d64 - dependencies: - - name: idf - require: private - version: '>=4.1' - source: - registry_url: https://components.espressif.com/ - type: service - version: 1.0.2 - espressif/esp_diagnostics: - component_hash: 5ea8e8da8217ed9ed778db3973139e726e17cd27ef5cf6429c787d19226c79f3 - dependencies: - - name: idf - require: private - version: '>=4.1' - - name: espressif/rmaker_common - registry_url: https://components.espressif.com - require: private - version: ~1.4.0 - source: - registry_url: https://components.espressif.com/ - type: service - version: 1.2.1 - espressif/esp_insights: - component_hash: 4015c524b9955528f941268cf080174076b195800de910d061efc46113bc2e0c - dependencies: - - name: idf - require: private - version: '>=4.1' - - name: espressif/cbor - registry_url: https://components.espressif.com - require: private - rules: - - if: idf_version >=5.0 - version: ~0.6 - - name: espressif/esp_diag_data_store - registry_url: https://components.espressif.com - require: private - version: 1.0.2 - - name: espressif/esp_diagnostics - registry_url: https://components.espressif.com - require: private - version: 1.2.1 - - name: espressif/rmaker_common - registry_url: https://components.espressif.com - require: private - version: ~1.4.0 - source: - registry_url: https://components.espressif.com/ - type: service - version: 1.2.2 - espressif/esp_modem: - component_hash: f4fa6dab2496af2673a68881132bb7ce0f05bf62e30e5bd0d45b607066378a28 - dependencies: - - name: idf - require: private - version: '>=4.1' - source: - registry_url: https://components.espressif.com/ - type: service - version: 2.0.1 - espressif/esp_rainmaker: - component_hash: f6fe458fc7a0102ee2879f0247da4b41419e6c07de12031f66e5e9454d25baaa - dependencies: - - name: espressif/esp_rcp_update - registry_url: https://components.espressif.com - require: private - rules: - - if: idf_version >= 5.1 - version: ~1.2.0 - - name: espressif/esp_schedule - registry_url: https://components.espressif.com - require: private - version: ~1.2.0 - - name: espressif/esp_secure_cert_mgr - registry_url: https://components.espressif.com - require: private - rules: - - if: idf_version >=4.3 - version: ^2.2.1 - - name: espressif/json_generator - registry_url: https://components.espressif.com - require: private - version: ~1.1.1 - - name: espressif/json_parser - registry_url: https://components.espressif.com - require: private - version: ~1.0.3 - - name: espressif/mdns - registry_url: https://components.espressif.com - require: private - rules: - - if: idf_version >=5.0 - version: ^1.2.0 - - name: espressif/network_provisioning - registry_url: https://components.espressif.com - require: private - rules: - - if: idf_version >= 5.1 - version: ~1.0.0 - - name: espressif/rmaker_common - registry_url: https://components.espressif.com - require: private - version: ~1.4.6 - source: - registry_url: https://components.espressif.com/ - type: service - version: 1.5.2 - espressif/esp_rcp_update: - component_hash: c10afbd54a17f27eed880e61262b161656e6d36ad63376c307f9273e99d0abcd - dependencies: - - name: espressif/esp-serial-flasher - registry_url: https://components.espressif.com - require: private - version: ~0.0.0 - - name: idf - require: private - version: '>=5.0' - source: - registry_url: https://components.espressif.com - type: service - version: 1.2.0 - espressif/esp_schedule: - component_hash: e202a9c688f7f1ab601efb91d682e4bcfaebc508dcceee1a1e0a0d2d1ca75a26 - dependencies: - - name: espressif/rmaker_common - registry_url: https://components.espressif.com - require: private - version: ~1.4.2 - source: - registry_url: https://components.espressif.com - type: service - version: 1.2.0 - espressif/esp_secure_cert_mgr: - component_hash: 40a986c1f45d91eb6d339ca51dcab90c4ecce2a6622c268edaaa05887852d464 - dependencies: - - name: idf - require: private - version: '>=4.3' - source: - registry_url: https://components.espressif.com - type: service - version: 2.9.2 - espressif/jsmn: - component_hash: d80350c41bbaa827c98a25b6072df00884e72f54885996fab4a4f0aebce6b6c3 - dependencies: - - name: idf - require: private - version: '>=4.3' - source: - registry_url: https://components.espressif.com - type: service - version: 1.1.0 - espressif/json_generator: - component_hash: 45033e1c199b13f1c8c1b544fb7d4e2df6a8e3071ebdcb1b22582b61a7974ff2 - dependencies: [] - source: - registry_url: https://components.espressif.com - type: service - version: 1.1.2 - espressif/json_parser: - component_hash: d74b81729ad06ec11ff5eb5b1b0d7df1d00e6027fc11471f4b139c70dcf1b1e4 - dependencies: - - name: espressif/jsmn - registry_url: https://components.espressif.com - require: private - rules: - - if: idf_version >=5.0 - version: ~1.1 - source: - registry_url: https://components.espressif.com - type: service - version: 1.0.3 - espressif/libsodium: - component_hash: b51f5836f044d8b7fbb1784257605c47ff7356f701377b005912fe6a2f12db37 - dependencies: - - name: idf - require: private - version: '>=4.2' - source: - registry_url: https://components.espressif.com/ - type: service - version: 1.0.21 - espressif/mdns: - component_hash: 8bcf12e37c58c1d584aef32a02b92548124c7a3a9fcf548d3235c844a035e0f0 - dependencies: - - name: idf - require: private - version: '>=5.0' - source: - registry_url: https://components.espressif.com/ - type: service - version: 1.11.1 - espressif/network_provisioning: - component_hash: ef2e10182fd1861e68b821491916327c25416ca7ae70e5a6e43313dbc71fe993 - dependencies: - - name: idf - require: private - version: '>=5.1' - source: - registry_url: https://components.espressif.com/ - type: service - version: 1.0.2 - espressif/qrcode: - component_hash: 3b493771bc5d6ad30cbf87c25bf784aada8a08c941504355b55d6b75518ed7bc - dependencies: [] - source: - registry_url: https://components.espressif.com/ - type: service - version: 0.1.0~2 - espressif/rmaker_common: - component_hash: a3a1df881278d0351fc850b77792fe8a196ddd6dcacbea203d606329cc6a0239 - dependencies: [] - source: - registry_url: https://components.espressif.com/ - type: service - version: 1.4.6 - idf: - source: - type: idf - version: 5.5.4 - joltwallet/littlefs: - component_hash: 29eff7921c4e8bce021aeb7fff2723bfcafed661756de700646ea0f6223c2a32 - dependencies: - - name: idf - require: private - version: '>=5.0' - source: - registry_url: https://components.espressif.com/ - type: service - version: 1.21.1 -direct_dependencies: -- chmorgan/esp-libhelix-mp3 -- espressif/cbor -- espressif/esp-dsp -- espressif/esp-modbus -- espressif/esp-sr -- espressif/esp-zboss-lib -- espressif/esp-zigbee-lib -- espressif/esp_diag_data_store -- espressif/esp_diagnostics -- espressif/esp_insights -- espressif/esp_modem -- espressif/esp_rainmaker -- espressif/libsodium -- espressif/mdns -- espressif/network_provisioning -- espressif/qrcode -- espressif/rmaker_common -- idf -- joltwallet/littlefs -manifest_hash: 5bf89e7dd0ab3452a9daa1d8772af70abf4fb9b22fdc3fd59e39a10bc5fd375f -target: esp32s3 -version: 2.0.0 diff --git a/platformio.ini b/platformio.ini index 5a09b6b2..c57d19e7 100644 --- a/platformio.ini +++ b/platformio.ini @@ -117,6 +117,9 @@ build_flags = ${env.build_flags} -DOPENSHOCK_LED_WS2812B=47 -DOPENSHOCK_LED_SWAP_RG_CHANNELS=1 -DARDUINO_USB_CDC_ON_BOOT=1 + ; ESP32-S3 has a built-in USB-Serial-JTAG; use it for Serial (HWCDCSerial) + ; instead of native USB CDC, which would need the TinyUSB component pulled in. + -DARDUINO_USB_MODE=1 ; https://www.waveshare.com/wiki/ESP32-S3-Zero [env:Waveshare_esp32_s3_zero] diff --git a/sdkconfig.NodeMCU-32S b/sdkconfig.NodeMCU-32S deleted file mode 100644 index dc402bf4..00000000 --- a/sdkconfig.NodeMCU-32S +++ /dev/null @@ -1,4185 +0,0 @@ -# -# Automatically generated file. DO NOT EDIT. -# Espressif IoT Development Framework (ESP-IDF) 5.5.4 Project Configuration -# -# default: -CONFIG_SOC_CAPS_ECO_VER_MAX=301 -# default: -CONFIG_SOC_ADC_SUPPORTED=y -# default: -CONFIG_SOC_DAC_SUPPORTED=y -# default: -CONFIG_SOC_UART_SUPPORTED=y -# default: -CONFIG_SOC_MCPWM_SUPPORTED=y -# default: -CONFIG_SOC_GPTIMER_SUPPORTED=y -# default: -CONFIG_SOC_SDMMC_HOST_SUPPORTED=y -# default: -CONFIG_SOC_BT_SUPPORTED=y -# default: -CONFIG_SOC_PCNT_SUPPORTED=y -# default: -CONFIG_SOC_PHY_SUPPORTED=y -# default: -CONFIG_SOC_WIFI_SUPPORTED=y -# default: -CONFIG_SOC_SDIO_SLAVE_SUPPORTED=y -# default: -CONFIG_SOC_TWAI_SUPPORTED=y -# default: -CONFIG_SOC_EFUSE_SUPPORTED=y -# default: -CONFIG_SOC_EMAC_SUPPORTED=y -# default: -CONFIG_SOC_ULP_SUPPORTED=y -# default: -CONFIG_SOC_CCOMP_TIMER_SUPPORTED=y -# default: -CONFIG_SOC_RTC_FAST_MEM_SUPPORTED=y -# default: -CONFIG_SOC_RTC_SLOW_MEM_SUPPORTED=y -# default: -CONFIG_SOC_RTC_MEM_SUPPORTED=y -# default: -CONFIG_SOC_I2S_SUPPORTED=y -# default: -CONFIG_SOC_RMT_SUPPORTED=y -# default: -CONFIG_SOC_SDM_SUPPORTED=y -# default: -CONFIG_SOC_GPSPI_SUPPORTED=y -# default: -CONFIG_SOC_LEDC_SUPPORTED=y -# default: -CONFIG_SOC_I2C_SUPPORTED=y -# default: -CONFIG_SOC_SUPPORT_COEXISTENCE=y -# default: -CONFIG_SOC_AES_SUPPORTED=y -# default: -CONFIG_SOC_MPI_SUPPORTED=y -# default: -CONFIG_SOC_SHA_SUPPORTED=y -# default: -CONFIG_SOC_FLASH_ENC_SUPPORTED=y -# default: -CONFIG_SOC_SECURE_BOOT_SUPPORTED=y -# default: -CONFIG_SOC_TOUCH_SENSOR_SUPPORTED=y -# default: -CONFIG_SOC_BOD_SUPPORTED=y -# default: -CONFIG_SOC_ULP_FSM_SUPPORTED=y -# default: -CONFIG_SOC_CLK_TREE_SUPPORTED=y -# default: -CONFIG_SOC_MPU_SUPPORTED=y -# default: -CONFIG_SOC_WDT_SUPPORTED=y -# default: -CONFIG_SOC_SPI_FLASH_SUPPORTED=y -# default: -CONFIG_SOC_RNG_SUPPORTED=y -# default: -CONFIG_SOC_LIGHT_SLEEP_SUPPORTED=y -# default: -CONFIG_SOC_DEEP_SLEEP_SUPPORTED=y -# default: -CONFIG_SOC_LP_PERIPH_SHARE_INTERRUPT=y -# default: -CONFIG_SOC_PM_SUPPORTED=y -# default: -CONFIG_SOC_DPORT_WORKAROUND_DIS_INTERRUPT_LVL=5 -# default: -CONFIG_SOC_XTAL_SUPPORT_26M=y -# default: -CONFIG_SOC_XTAL_SUPPORT_40M=y -# default: -CONFIG_SOC_XTAL_SUPPORT_AUTO_DETECT=y -# default: -CONFIG_SOC_ADC_RTC_CTRL_SUPPORTED=y -# default: -CONFIG_SOC_ADC_DIG_CTRL_SUPPORTED=y -# default: -CONFIG_SOC_ADC_DMA_SUPPORTED=y -# default: -CONFIG_SOC_ADC_PERIPH_NUM=2 -# default: -CONFIG_SOC_ADC_MAX_CHANNEL_NUM=10 -# default: -CONFIG_SOC_ADC_ATTEN_NUM=4 -# default: -CONFIG_SOC_ADC_DIGI_CONTROLLER_NUM=2 -# default: -CONFIG_SOC_ADC_PATT_LEN_MAX=16 -# default: -CONFIG_SOC_ADC_DIGI_MIN_BITWIDTH=9 -# default: -CONFIG_SOC_ADC_DIGI_MAX_BITWIDTH=12 -# default: -CONFIG_SOC_ADC_DIGI_RESULT_BYTES=2 -# default: -CONFIG_SOC_ADC_DIGI_DATA_BYTES_PER_CONV=4 -# default: -CONFIG_SOC_ADC_DIGI_MONITOR_NUM=0 -# default: -CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_HIGH=2 -# default: -CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_LOW=20 -# default: -CONFIG_SOC_ADC_RTC_MIN_BITWIDTH=9 -# default: -CONFIG_SOC_ADC_RTC_MAX_BITWIDTH=12 -# default: -CONFIG_SOC_ADC_SHARED_POWER=y -# default: -CONFIG_SOC_BROWNOUT_RESET_SUPPORTED=y -# default: -CONFIG_SOC_SHARED_IDCACHE_SUPPORTED=y -# default: -CONFIG_SOC_IDCACHE_PER_CORE=y -# default: -CONFIG_SOC_CPU_CORES_NUM=2 -# default: -CONFIG_SOC_CPU_INTR_NUM=32 -# default: -CONFIG_SOC_CPU_HAS_FPU=y -# default: -CONFIG_SOC_HP_CPU_HAS_MULTIPLE_CORES=y -# default: -CONFIG_SOC_CPU_BREAKPOINTS_NUM=2 -# default: -CONFIG_SOC_CPU_WATCHPOINTS_NUM=2 -# default: -CONFIG_SOC_CPU_WATCHPOINT_MAX_REGION_SIZE=0x40 -# default: -CONFIG_SOC_DAC_CHAN_NUM=2 -# default: -CONFIG_SOC_DAC_RESOLUTION=8 -# default: -CONFIG_SOC_DAC_DMA_16BIT_ALIGN=y -# default: -CONFIG_SOC_GPIO_PORT=1 -# default: -CONFIG_SOC_GPIO_PIN_COUNT=40 -# default: -CONFIG_SOC_GPIO_VALID_GPIO_MASK=0xFFFFFFFFFF -# default: -CONFIG_SOC_GPIO_IN_RANGE_MAX=39 -# default: -CONFIG_SOC_GPIO_OUT_RANGE_MAX=33 -# default: -CONFIG_SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK=0xEF0FEA -# default: -CONFIG_SOC_GPIO_CLOCKOUT_BY_IO_MUX=y -# default: -CONFIG_SOC_GPIO_CLOCKOUT_CHANNEL_NUM=3 -# default: -CONFIG_SOC_I2C_NUM=2 -# default: -CONFIG_SOC_HP_I2C_NUM=2 -# default: -CONFIG_SOC_I2C_FIFO_LEN=32 -# default: -CONFIG_SOC_I2C_CMD_REG_NUM=16 -# default: -CONFIG_SOC_I2C_SUPPORT_SLAVE=y -# default: -CONFIG_SOC_I2C_SUPPORT_APB=y -# default: -CONFIG_SOC_I2C_SUPPORT_10BIT_ADDR=y -# default: -CONFIG_SOC_I2C_STOP_INDEPENDENT=y -# default: -CONFIG_SOC_I2S_NUM=2 -# default: -CONFIG_SOC_I2S_HW_VERSION_1=y -# default: -CONFIG_SOC_I2S_SUPPORTS_APLL=y -# default: -CONFIG_SOC_I2S_SUPPORTS_PLL_F160M=y -# default: -CONFIG_SOC_I2S_SUPPORTS_PDM=y -# default: -CONFIG_SOC_I2S_SUPPORTS_PDM_TX=y -# default: -CONFIG_SOC_I2S_SUPPORTS_PCM2PDM=y -# default: -CONFIG_SOC_I2S_SUPPORTS_PDM_RX=y -# default: -CONFIG_SOC_I2S_SUPPORTS_PDM2PCM=y -# default: -CONFIG_SOC_I2S_PDM_MAX_TX_LINES=1 -# default: -CONFIG_SOC_I2S_PDM_MAX_RX_LINES=1 -# default: -CONFIG_SOC_I2S_SUPPORTS_ADC_DAC=y -# default: -CONFIG_SOC_I2S_SUPPORTS_ADC=y -# default: -CONFIG_SOC_I2S_SUPPORTS_DAC=y -# default: -CONFIG_SOC_I2S_SUPPORTS_LCD_CAMERA=y -# default: -CONFIG_SOC_I2S_MAX_DATA_WIDTH=24 -# default: -CONFIG_SOC_I2S_TRANS_SIZE_ALIGN_WORD=y -# default: -CONFIG_SOC_I2S_LCD_I80_VARIANT=y -# default: -CONFIG_SOC_LCD_I80_SUPPORTED=y -# default: -CONFIG_SOC_LCD_I80_BUSES=2 -# default: -CONFIG_SOC_LCD_I80_BUS_WIDTH=24 -# default: -CONFIG_SOC_LEDC_HAS_TIMER_SPECIFIC_MUX=y -# default: -CONFIG_SOC_LEDC_SUPPORT_APB_CLOCK=y -# default: -CONFIG_SOC_LEDC_SUPPORT_REF_TICK=y -# default: -CONFIG_SOC_LEDC_SUPPORT_HS_MODE=y -# default: -CONFIG_SOC_LEDC_TIMER_NUM=4 -# default: -CONFIG_SOC_LEDC_CHANNEL_NUM=8 -# default: -CONFIG_SOC_LEDC_TIMER_BIT_WIDTH=20 -# default: -CONFIG_SOC_MCPWM_GROUPS=2 -# default: -CONFIG_SOC_MCPWM_TIMERS_PER_GROUP=3 -# default: -CONFIG_SOC_MCPWM_OPERATORS_PER_GROUP=3 -# default: -CONFIG_SOC_MCPWM_COMPARATORS_PER_OPERATOR=2 -# default: -CONFIG_SOC_MCPWM_GENERATORS_PER_OPERATOR=2 -# default: -CONFIG_SOC_MCPWM_TRIGGERS_PER_OPERATOR=2 -# default: -CONFIG_SOC_MCPWM_GPIO_FAULTS_PER_GROUP=3 -# default: -CONFIG_SOC_MCPWM_CAPTURE_TIMERS_PER_GROUP=y -# default: -CONFIG_SOC_MCPWM_CAPTURE_CHANNELS_PER_TIMER=3 -# default: -CONFIG_SOC_MCPWM_GPIO_SYNCHROS_PER_GROUP=3 -# default: -CONFIG_SOC_MMU_PERIPH_NUM=2 -# default: -CONFIG_SOC_MMU_LINEAR_ADDRESS_REGION_NUM=3 -# default: -CONFIG_SOC_MPU_MIN_REGION_SIZE=0x20000000 -# default: -CONFIG_SOC_MPU_REGIONS_MAX_NUM=8 -# default: -CONFIG_SOC_PCNT_GROUPS=1 -# default: -CONFIG_SOC_PCNT_UNITS_PER_GROUP=8 -# default: -CONFIG_SOC_PCNT_CHANNELS_PER_UNIT=2 -# default: -CONFIG_SOC_PCNT_THRES_POINT_PER_UNIT=2 -# default: -CONFIG_SOC_RMT_GROUPS=1 -# default: -CONFIG_SOC_RMT_TX_CANDIDATES_PER_GROUP=8 -# default: -CONFIG_SOC_RMT_RX_CANDIDATES_PER_GROUP=8 -# default: -CONFIG_SOC_RMT_CHANNELS_PER_GROUP=8 -# default: -CONFIG_SOC_RMT_MEM_WORDS_PER_CHANNEL=64 -# default: -CONFIG_SOC_RMT_SUPPORT_REF_TICK=y -# default: -CONFIG_SOC_RMT_SUPPORT_APB=y -# default: -CONFIG_SOC_RMT_CHANNEL_CLK_INDEPENDENT=y -# default: -CONFIG_SOC_RTCIO_PIN_COUNT=18 -# default: -CONFIG_SOC_RTCIO_INPUT_OUTPUT_SUPPORTED=y -# default: -CONFIG_SOC_RTCIO_HOLD_SUPPORTED=y -# default: -CONFIG_SOC_RTCIO_WAKE_SUPPORTED=y -# default: -CONFIG_SOC_RTC_CNTL_NEEDS_ATOMIC_ACCESS=y -# default: -CONFIG_SOC_SDM_GROUPS=1 -# default: -CONFIG_SOC_SDM_CHANNELS_PER_GROUP=8 -# default: -CONFIG_SOC_SDM_CLK_SUPPORT_APB=y -# default: -CONFIG_SOC_SPI_HD_BOTH_INOUT_SUPPORTED=y -# default: -CONFIG_SOC_SPI_AS_CS_SUPPORTED=y -# default: -CONFIG_SOC_SPI_PERIPH_NUM=3 -# default: -CONFIG_SOC_SPI_DMA_CHAN_NUM=2 -# default: -CONFIG_SOC_SPI_MAX_CS_NUM=3 -# default: -CONFIG_SOC_SPI_SUPPORT_CLK_APB=y -# default: -CONFIG_SOC_SPI_MAXIMUM_BUFFER_SIZE=64 -# default: -CONFIG_SOC_SPI_MAX_PRE_DIVIDER=8192 -# default: -CONFIG_SOC_TIMER_GROUPS=2 -# default: -CONFIG_SOC_TIMER_GROUP_TIMERS_PER_GROUP=2 -# default: -CONFIG_SOC_TIMER_GROUP_COUNTER_BIT_WIDTH=64 -# default: -CONFIG_SOC_TIMER_GROUP_TOTAL_TIMERS=4 -# default: -CONFIG_SOC_TIMER_GROUP_SUPPORT_APB=y -# default: -CONFIG_SOC_LP_TIMER_BIT_WIDTH_LO=32 -# default: -CONFIG_SOC_LP_TIMER_BIT_WIDTH_HI=16 -# default: -CONFIG_SOC_TOUCH_SENSOR_VERSION=1 -# default: -CONFIG_SOC_TOUCH_SENSOR_NUM=10 -# default: -CONFIG_SOC_TOUCH_MIN_CHAN_ID=0 -# default: -CONFIG_SOC_TOUCH_MAX_CHAN_ID=9 -# default: -CONFIG_SOC_TOUCH_SUPPORT_SLEEP_WAKEUP=y -# default: -CONFIG_SOC_TOUCH_SAMPLE_CFG_NUM=1 -# default: -CONFIG_SOC_TWAI_CONTROLLER_NUM=1 -# default: -CONFIG_SOC_TWAI_MASK_FILTER_NUM=1 -# default: -CONFIG_SOC_TWAI_BRP_MIN=2 -# default: -CONFIG_SOC_TWAI_CLK_SUPPORT_APB=y -# default: -CONFIG_SOC_TWAI_SUPPORT_MULTI_ADDRESS_LAYOUT=y -# default: -CONFIG_SOC_UART_NUM=3 -# default: -CONFIG_SOC_UART_HP_NUM=3 -# default: -CONFIG_SOC_UART_SUPPORT_APB_CLK=y -# default: -CONFIG_SOC_UART_SUPPORT_REF_TICK=y -# default: -CONFIG_SOC_UART_FIFO_LEN=128 -# default: -CONFIG_SOC_UART_BITRATE_MAX=5000000 -# default: -CONFIG_SOC_UART_WAKEUP_SUPPORT_ACTIVE_THRESH_MODE=y -# default: -CONFIG_SOC_SPIRAM_SUPPORTED=y -# default: -CONFIG_SOC_SPI_MEM_SUPPORT_CONFIG_GPIO_BY_EFUSE=y -# default: -CONFIG_SOC_SHA_SUPPORT_PARALLEL_ENG=y -# default: -CONFIG_SOC_SHA_ENDIANNESS_BE=y -# default: -CONFIG_SOC_SHA_SUPPORT_SHA1=y -# default: -CONFIG_SOC_SHA_SUPPORT_SHA256=y -# default: -CONFIG_SOC_SHA_SUPPORT_SHA384=y -# default: -CONFIG_SOC_SHA_SUPPORT_SHA512=y -# default: -CONFIG_SOC_MPI_MEM_BLOCKS_NUM=4 -# default: -CONFIG_SOC_MPI_OPERATIONS_NUM=1 -# default: -CONFIG_SOC_RSA_MAX_BIT_LEN=4096 -# default: -CONFIG_SOC_AES_SUPPORT_AES_128=y -# default: -CONFIG_SOC_AES_SUPPORT_AES_192=y -# default: -CONFIG_SOC_AES_SUPPORT_AES_256=y -# default: -CONFIG_SOC_SECURE_BOOT_V1=y -# default: -CONFIG_SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS=1 -# default: -CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX=32 -# default: -CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE=21 -# default: -CONFIG_SOC_PM_SUPPORT_EXT0_WAKEUP=y -# default: -CONFIG_SOC_PM_SUPPORT_EXT1_WAKEUP=y -# default: -CONFIG_SOC_PM_SUPPORT_EXT_WAKEUP=y -# default: -CONFIG_SOC_PM_SUPPORT_TOUCH_SENSOR_WAKEUP=y -# default: -CONFIG_SOC_PM_SUPPORT_RTC_PERIPH_PD=y -# default: -CONFIG_SOC_PM_SUPPORT_RTC_FAST_MEM_PD=y -# default: -CONFIG_SOC_PM_SUPPORT_RTC_SLOW_MEM_PD=y -# default: -CONFIG_SOC_PM_SUPPORT_RC_FAST_PD=y -# default: -CONFIG_SOC_PM_SUPPORT_VDDSDIO_PD=y -# default: -CONFIG_SOC_PM_SUPPORT_MODEM_PD=y -# default: -CONFIG_SOC_CONFIGURABLE_VDDSDIO_SUPPORTED=y -# default: -CONFIG_SOC_PM_MODEM_PD_BY_SW=y -# default: -CONFIG_SOC_CLK_APLL_SUPPORTED=y -# default: -CONFIG_SOC_CLK_RC_FAST_D256_SUPPORTED=y -# default: -CONFIG_SOC_RTC_SLOW_CLK_SUPPORT_RC_FAST_D256=y -# default: -CONFIG_SOC_CLK_RC_FAST_SUPPORT_CALIBRATION=y -# default: -CONFIG_SOC_CLK_XTAL32K_SUPPORTED=y -# default: -CONFIG_SOC_CLK_LP_FAST_SUPPORT_XTAL_D4=y -# default: -CONFIG_SOC_SDMMC_USE_IOMUX=y -# default: -CONFIG_SOC_SDMMC_NUM_SLOTS=2 -# default: -CONFIG_SOC_WIFI_WAPI_SUPPORT=y -# default: -CONFIG_SOC_WIFI_CSI_SUPPORT=y -# default: -CONFIG_SOC_WIFI_MESH_SUPPORT=y -# default: -CONFIG_SOC_WIFI_SUPPORT_VARIABLE_BEACON_WINDOW=y -# default: -CONFIG_SOC_WIFI_NAN_SUPPORT=y -# default: -CONFIG_SOC_BLE_SUPPORTED=y -# default: -CONFIG_SOC_BLE_MESH_SUPPORTED=y -# default: -CONFIG_SOC_BT_CLASSIC_SUPPORTED=y -# default: -CONFIG_SOC_BLUFI_SUPPORTED=y -# default: -CONFIG_SOC_BT_H2C_ENC_KEY_CTRL_ENH_VSC_SUPPORTED=y -# default: -CONFIG_SOC_BLE_MULTI_CONN_OPTIMIZATION=y -# default: -CONFIG_SOC_ULP_HAS_ADC=y -# default: -CONFIG_SOC_PHY_COMBO_MODULE=y -# default: -CONFIG_SOC_EMAC_RMII_CLK_OUT_INTERNAL_LOOPBACK=y -# default: -CONFIG_IDF_CMAKE=y -# default: -CONFIG_IDF_TOOLCHAIN="gcc" -# default: -CONFIG_IDF_TOOLCHAIN_GCC=y -# default: -CONFIG_IDF_TARGET_ARCH_XTENSA=y -# default: -CONFIG_IDF_TARGET_ARCH="xtensa" -# default: -CONFIG_IDF_TARGET="esp32" -# default: -CONFIG_IDF_INIT_VERSION="5.5.4" -# default: -CONFIG_IDF_TARGET_ESP32=y -# default: -CONFIG_IDF_FIRMWARE_CHIP_ID=0x0000 - -# -# Build type -# -# default: -CONFIG_APP_BUILD_TYPE_APP_2NDBOOT=y -# default: -# CONFIG_APP_BUILD_TYPE_RAM is not set -# default: -CONFIG_APP_BUILD_GENERATE_BINARIES=y -# default: -CONFIG_APP_BUILD_BOOTLOADER=y -# default: -CONFIG_APP_BUILD_USE_FLASH_SECTIONS=y -# default: -# CONFIG_APP_REPRODUCIBLE_BUILD is not set -# default: -# CONFIG_APP_NO_BLOBS is not set -# default: -# CONFIG_APP_COMPATIBLE_PRE_V2_1_BOOTLOADERS is not set -# default: -# CONFIG_APP_COMPATIBLE_PRE_V3_1_BOOTLOADERS is not set -# end of Build type - -# -# Bootloader config -# - -# -# Bootloader manager -# -# default: -CONFIG_BOOTLOADER_COMPILE_TIME_DATE=y -# default: -CONFIG_BOOTLOADER_PROJECT_VER=1 -# end of Bootloader manager - -# -# Application Rollback -# -# default: -# CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE is not set -# end of Application Rollback - -# -# Recovery Bootloader and Rollback -# -# end of Recovery Bootloader and Rollback - -# default: -CONFIG_BOOTLOADER_OFFSET_IN_FLASH=0x1000 -# default: -CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y -# default: -# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_DEBUG is not set -# default: -# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_PERF is not set -# default: -# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_NONE is not set - -# -# Log -# -# default: -CONFIG_BOOTLOADER_LOG_VERSION_1=y -# default: -CONFIG_BOOTLOADER_LOG_VERSION=1 -# default: -# CONFIG_BOOTLOADER_LOG_LEVEL_NONE is not set -# default: -# CONFIG_BOOTLOADER_LOG_LEVEL_ERROR is not set -# default: -# CONFIG_BOOTLOADER_LOG_LEVEL_WARN is not set -# default: -CONFIG_BOOTLOADER_LOG_LEVEL_INFO=y -# default: -# CONFIG_BOOTLOADER_LOG_LEVEL_DEBUG is not set -# default: -# CONFIG_BOOTLOADER_LOG_LEVEL_VERBOSE is not set -# default: -CONFIG_BOOTLOADER_LOG_LEVEL=3 - -# -# Format -# -# default: -# CONFIG_BOOTLOADER_LOG_COLORS is not set -# default: -CONFIG_BOOTLOADER_LOG_TIMESTAMP_SOURCE_CPU_TICKS=y -# end of Format - -# -# Settings -# -# default: -CONFIG_BOOTLOADER_LOG_MODE_TEXT_EN=y -# default: -CONFIG_BOOTLOADER_LOG_MODE_TEXT=y -# end of Settings -# end of Log - -# -# Serial Flash Configurations -# -# default: -# CONFIG_BOOTLOADER_FLASH_DC_AWARE is not set -# default: -CONFIG_BOOTLOADER_FLASH_XMC_SUPPORT=y -# end of Serial Flash Configurations - -# default: -# CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_8V is not set -# default: -CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_9V=y -# default: -# CONFIG_BOOTLOADER_FACTORY_RESET is not set -# default: -# CONFIG_BOOTLOADER_APP_TEST is not set -# default: -CONFIG_BOOTLOADER_REGION_PROTECTION_ENABLE=y -# default: -CONFIG_BOOTLOADER_WDT_ENABLE=y -# default: -# CONFIG_BOOTLOADER_WDT_DISABLE_IN_USER_CODE is not set -# default: -CONFIG_BOOTLOADER_WDT_TIME_MS=9000 -# default: -# CONFIG_BOOTLOADER_SKIP_VALIDATE_IN_DEEP_SLEEP is not set -# default: -# CONFIG_BOOTLOADER_SKIP_VALIDATE_ON_POWER_ON is not set -# default: -# CONFIG_BOOTLOADER_SKIP_VALIDATE_ALWAYS is not set -# default: -CONFIG_BOOTLOADER_RESERVE_RTC_SIZE=0 -# default: -# CONFIG_BOOTLOADER_CUSTOM_RESERVE_RTC is not set -# end of Bootloader config - -# -# Security features -# -# default: -CONFIG_SECURE_BOOT_V1_SUPPORTED=y -# default: -# CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT is not set -# default: -# CONFIG_SECURE_BOOT is not set -# default: -# CONFIG_SECURE_FLASH_ENC_ENABLED is not set -# end of Security features - -# -# Application manager -# -# default: -CONFIG_APP_COMPILE_TIME_DATE=y -# default: -# CONFIG_APP_EXCLUDE_PROJECT_VER_VAR is not set -# default: -# CONFIG_APP_EXCLUDE_PROJECT_NAME_VAR is not set -# default: -# CONFIG_APP_PROJECT_VER_FROM_CONFIG is not set -# default: -CONFIG_APP_RETRIEVE_LEN_ELF_SHA=9 -# end of Application manager - -# default: -CONFIG_ESP_ROM_HAS_CRC_LE=y -# default: -CONFIG_ESP_ROM_HAS_CRC_BE=y -# default: -CONFIG_ESP_ROM_HAS_MZ_CRC32=y -# default: -CONFIG_ESP_ROM_HAS_JPEG_DECODE=y -# default: -CONFIG_ESP_ROM_HAS_UART_BUF_SWITCH=y -# default: -CONFIG_ESP_ROM_NEEDS_SWSETUP_WORKAROUND=y -# default: -CONFIG_ESP_ROM_HAS_NEWLIB=y -# default: -CONFIG_ESP_ROM_HAS_NEWLIB_NANO_FORMAT=y -# default: -CONFIG_ESP_ROM_HAS_NEWLIB_32BIT_TIME=y -# default: -CONFIG_ESP_ROM_HAS_SW_FLOAT=y -# default: -CONFIG_ESP_ROM_USB_OTG_NUM=-1 -# default: -CONFIG_ESP_ROM_USB_SERIAL_DEVICE_NUM=-1 -# default: -CONFIG_ESP_ROM_SUPPORT_DEEP_SLEEP_WAKEUP_STUB=y -# default: -CONFIG_ESP_ROM_HAS_OUTPUT_PUTC_FUNC=y - -# -# Serial flasher config -# -# default: -# CONFIG_ESPTOOLPY_NO_STUB is not set -# default: -# CONFIG_ESPTOOLPY_FLASHMODE_QIO is not set -# default: -# CONFIG_ESPTOOLPY_FLASHMODE_QOUT is not set -# default: -CONFIG_ESPTOOLPY_FLASHMODE_DIO=y -# default: -# CONFIG_ESPTOOLPY_FLASHMODE_DOUT is not set -# default: -CONFIG_ESPTOOLPY_FLASH_SAMPLE_MODE_STR=y -# default: -CONFIG_ESPTOOLPY_FLASHMODE="dio" -# default: -# CONFIG_ESPTOOLPY_FLASHFREQ_80M is not set -# default: -CONFIG_ESPTOOLPY_FLASHFREQ_40M=y -# default: -# CONFIG_ESPTOOLPY_FLASHFREQ_26M is not set -# default: -# CONFIG_ESPTOOLPY_FLASHFREQ_20M is not set -# default: -CONFIG_ESPTOOLPY_FLASHFREQ="40m" -# default: -# CONFIG_ESPTOOLPY_FLASHSIZE_1MB is not set -# default: -CONFIG_ESPTOOLPY_FLASHSIZE_2MB=y -# default: -# CONFIG_ESPTOOLPY_FLASHSIZE_4MB is not set -# default: -# CONFIG_ESPTOOLPY_FLASHSIZE_8MB is not set -# default: -# CONFIG_ESPTOOLPY_FLASHSIZE_16MB is not set -# default: -# CONFIG_ESPTOOLPY_FLASHSIZE_32MB is not set -# default: -# CONFIG_ESPTOOLPY_FLASHSIZE_64MB is not set -# default: -# CONFIG_ESPTOOLPY_FLASHSIZE_128MB is not set -# default: -CONFIG_ESPTOOLPY_FLASHSIZE="2MB" -# default: -# CONFIG_ESPTOOLPY_HEADER_FLASHSIZE_UPDATE is not set -# default: -CONFIG_ESPTOOLPY_BEFORE_RESET=y -# default: -# CONFIG_ESPTOOLPY_BEFORE_NORESET is not set -# default: -CONFIG_ESPTOOLPY_BEFORE="default_reset" -# default: -CONFIG_ESPTOOLPY_AFTER_RESET=y -# default: -# CONFIG_ESPTOOLPY_AFTER_NORESET is not set -# default: -CONFIG_ESPTOOLPY_AFTER="hard_reset" -# default: -CONFIG_ESPTOOLPY_MONITOR_BAUD=115200 -# end of Serial flasher config - -# -# Partition Table -# -# default: -CONFIG_PARTITION_TABLE_SINGLE_APP=y -# default: -# CONFIG_PARTITION_TABLE_SINGLE_APP_LARGE is not set -# default: -# CONFIG_PARTITION_TABLE_TWO_OTA is not set -# default: -# CONFIG_PARTITION_TABLE_TWO_OTA_LARGE is not set -# default: -# CONFIG_PARTITION_TABLE_CUSTOM is not set -# default: -CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv" -# default: -CONFIG_PARTITION_TABLE_FILENAME="partitions_singleapp.csv" -# default: -CONFIG_PARTITION_TABLE_OFFSET=0x8000 -# default: -CONFIG_PARTITION_TABLE_MD5=y -# end of Partition Table - -# -# Arduino Configuration -# -# default: -CONFIG_ARDUINO_VARIANT="esp32" -# default: -CONFIG_ENABLE_ARDUINO_DEPENDS=y -CONFIG_AUTOSTART_ARDUINO=y -# default: -# CONFIG_ARDUINO_RUN_CORE0 is not set -# default: -CONFIG_ARDUINO_RUN_CORE1=y -# default: -# CONFIG_ARDUINO_RUN_NO_AFFINITY is not set -# default: -CONFIG_ARDUINO_RUNNING_CORE=1 -# default: -CONFIG_ARDUINO_LOOP_STACK_SIZE=8192 -# default: -# CONFIG_ARDUINO_EVENT_RUN_CORE0 is not set -# default: -CONFIG_ARDUINO_EVENT_RUN_CORE1=y -# default: -# CONFIG_ARDUINO_EVENT_RUN_NO_AFFINITY is not set -# default: -CONFIG_ARDUINO_EVENT_RUNNING_CORE=1 -# default: -# CONFIG_ARDUINO_SERIAL_EVENT_RUN_CORE0 is not set -# default: -# CONFIG_ARDUINO_SERIAL_EVENT_RUN_CORE1 is not set -# default: -CONFIG_ARDUINO_SERIAL_EVENT_RUN_NO_AFFINITY=y -# default: -CONFIG_ARDUINO_SERIAL_EVENT_TASK_RUNNING_CORE=-1 -# default: -CONFIG_ARDUINO_SERIAL_EVENT_TASK_STACK_SIZE=2048 -# default: -CONFIG_ARDUINO_SERIAL_EVENT_TASK_PRIORITY=24 -# default: -CONFIG_ARDUINO_UDP_RUN_CORE0=y -# default: -# CONFIG_ARDUINO_UDP_RUN_CORE1 is not set -# default: -# CONFIG_ARDUINO_UDP_RUN_NO_AFFINITY is not set -# default: -CONFIG_ARDUINO_UDP_RUNNING_CORE=0 -# default: -CONFIG_ARDUINO_UDP_TASK_PRIORITY=3 -# default: -CONFIG_ARDUINO_UDP_TASK_STACK_SIZE=4096 -# default: -# CONFIG_ARDUINO_ISR_IRAM is not set -# default: -# CONFIG_DISABLE_HAL_LOCKS is not set - -# -# Debug Log Configuration -# -# default: -# CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_NONE is not set -# default: -CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_ERROR=y -# default: -# CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_WARN is not set -# default: -# CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_INFO is not set -# default: -# CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_DEBUG is not set -# default: -# CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_VERBOSE is not set -# default: -CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL=1 -# default: -# CONFIG_ARDUHAL_LOG_COLORS is not set -# default: -# CONFIG_ARDUHAL_ESP_LOG is not set -# end of Debug Log Configuration - -# default: -CONFIG_ARDUHAL_PARTITION_SCHEME_DEFAULT=y -# default: -# CONFIG_ARDUHAL_PARTITION_SCHEME_MINIMAL is not set -# default: -# CONFIG_ARDUHAL_PARTITION_SCHEME_NO_OTA is not set -# default: -# CONFIG_ARDUHAL_PARTITION_SCHEME_HUGE_APP is not set -# default: -# CONFIG_ARDUHAL_PARTITION_SCHEME_MIN_SPIFFS is not set -# default: -CONFIG_ARDUHAL_PARTITION_SCHEME="default" -# default: -# CONFIG_AUTOCONNECT_WIFI is not set -# default: -# CONFIG_ARDUINO_SELECTIVE_COMPILATION is not set -# end of Arduino Configuration - -# -# ESP RainMaker Config -# -# default: -CONFIG_ESP_RMAKER_NO_CLAIM=y -# default: -# CONFIG_ESP_RMAKER_USE_ESP_SECURE_CERT_MGR is not set -# default: -CONFIG_ESP_RMAKER_USE_NVS=y -# default: -CONFIG_ESP_RMAKER_CLAIM_TYPE=0 -# default: -# CONFIG_ESP_RMAKER_READ_MQTT_HOST_FROM_CONFIG is not set -# default: -# CONFIG_ESP_RMAKER_READ_NODE_ID_FROM_CERT_CN is not set -# default: -CONFIG_ESP_RMAKER_MQTT_USE_BASIC_INGEST_TOPICS=y -# default: -CONFIG_ESP_RMAKER_MQTT_ENABLE_BUDGETING=y -# default: -CONFIG_ESP_RMAKER_MQTT_DEFAULT_BUDGET=100 -# default: -CONFIG_ESP_RMAKER_MQTT_MAX_BUDGET=1024 -# default: -CONFIG_ESP_RMAKER_MQTT_BUDGET_REVIVE_PERIOD=5 -# default: -CONFIG_ESP_RMAKER_MQTT_BUDGET_REVIVE_COUNT=1 -# default: -CONFIG_ESP_RMAKER_MAX_PARAM_DATA_SIZE=1024 -# default: -# CONFIG_ESP_RMAKER_DISABLE_USER_MAPPING_PROV is not set -# default: -# CONFIG_ESP_RMAKER_USER_ID_CHECK is not set -# default: -# CONFIG_RMAKER_NAME_PARAM_CB is not set -# default: -# CONFIG_ESP_RMAKER_LOCAL_CTRL_FEATURE_ENABLE is not set -# default: -# CONFIG_ESP_RMAKER_LOCAL_CTRL_AUTO_ENABLE is not set -# default: -CONFIG_ESP_RMAKER_CONSOLE_UART_NUM_0=y -# default: -# CONFIG_ESP_RMAKER_CONSOLE_UART_NUM_1 is not set -# default: -CONFIG_ESP_RMAKER_CONSOLE_UART_NUM=0 -# default: -CONFIG_ESP_RMAKER_USE_CERT_BUNDLE=y - -# -# ESP RainMaker OTA Config -# -# default: -CONFIG_ESP_RMAKER_OTA_AUTOFETCH=y -# default: -CONFIG_ESP_RMAKER_OTA_AUTOFETCH_PERIOD=0 -# default: -# CONFIG_ESP_RMAKER_SKIP_COMMON_NAME_CHECK is not set -# default: -# CONFIG_ESP_RMAKER_SKIP_VERSION_CHECK is not set -# default: -# CONFIG_ESP_RMAKER_SKIP_SECURE_VERSION_CHECK is not set -# default: -# CONFIG_ESP_RMAKER_SKIP_PROJECT_NAME_CHECK is not set -# default: -CONFIG_ESP_RMAKER_OTA_HTTP_RX_BUFFER_SIZE=1024 -# default: -CONFIG_ESP_RMAKER_OTA_ROLLBACK_WAIT_PERIOD=90 -# default: -# CONFIG_ESP_RMAKER_OTA_DISABLE_AUTO_REBOOT is not set -# default: -CONFIG_ESP_RMAKER_OTA_TIME_SUPPORT=y -# end of ESP RainMaker OTA Config - -# -# ESP RainMaker Scheduling -# -# default: -CONFIG_ESP_RMAKER_SCHEDULING_MAX_SCHEDULES=10 -# end of ESP RainMaker Scheduling - -# -# ESP RainMaker Scenes -# -# default: -CONFIG_ESP_RMAKER_SCENES_MAX_SCENES=10 -# default: -# CONFIG_ESP_RMAKER_SCENES_DEACTIVATE_SUPPORT is not set -# end of ESP RainMaker Scenes - -# -# ESP RainMaker Command-Response -# -# default: -CONFIG_ESP_RMAKER_CMD_RESP_ENABLE=y -# default: -# CONFIG_ESP_RMAKER_CMD_RESP_TEST_ENABLE is not set -# end of ESP RainMaker Command-Response - -# default: -CONFIG_ESP_RMAKER_USING_NETWORK_PROV=y -# end of ESP RainMaker Config - -# -# Compiler options -# -# default: -CONFIG_COMPILER_OPTIMIZATION_DEBUG=y -# default: -# CONFIG_COMPILER_OPTIMIZATION_SIZE is not set -# default: -# CONFIG_COMPILER_OPTIMIZATION_PERF is not set -# default: -# CONFIG_COMPILER_OPTIMIZATION_NONE is not set -# default: -CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE=y -# default: -# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT is not set -# default: -# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE is not set -# default: -CONFIG_COMPILER_ASSERT_NDEBUG_EVALUATE=y -# default: -CONFIG_COMPILER_FLOAT_LIB_FROM_GCCLIB=y -# default: -CONFIG_COMPILER_OPTIMIZATION_ASSERTION_LEVEL=2 -# default: -# CONFIG_COMPILER_OPTIMIZATION_CHECKS_SILENT is not set -# default: -CONFIG_COMPILER_HIDE_PATHS_MACROS=y -# CONFIG_COMPILER_CXX_EXCEPTIONS is not set -# default: -# CONFIG_COMPILER_CXX_RTTI is not set -# default: -CONFIG_COMPILER_STACK_CHECK_MODE_NONE=y -# default: -# CONFIG_COMPILER_STACK_CHECK_MODE_NORM is not set -# default: -# CONFIG_COMPILER_STACK_CHECK_MODE_STRONG is not set -# default: -# CONFIG_COMPILER_STACK_CHECK_MODE_ALL is not set -# default: -# CONFIG_COMPILER_NO_MERGE_CONSTANTS is not set -# default: -# CONFIG_COMPILER_WARN_WRITE_STRINGS is not set -# default: -CONFIG_COMPILER_DISABLE_DEFAULT_ERRORS=y -# default: -# CONFIG_COMPILER_DISABLE_GCC12_WARNINGS is not set -# default: -# CONFIG_COMPILER_DISABLE_GCC13_WARNINGS is not set -# default: -# CONFIG_COMPILER_DISABLE_GCC14_WARNINGS is not set -# default: -# CONFIG_COMPILER_DUMP_RTL_FILES is not set -# default: -CONFIG_COMPILER_RT_LIB_GCCLIB=y -# default: -CONFIG_COMPILER_RT_LIB_NAME="gcc" -# default: -CONFIG_COMPILER_ORPHAN_SECTIONS_WARNING=y -# default: -# CONFIG_COMPILER_ORPHAN_SECTIONS_PLACE is not set -# default: -# CONFIG_COMPILER_STATIC_ANALYZER is not set -# end of Compiler options - -# -# Component config -# - -# -# Application Level Tracing -# -# default: -# CONFIG_APPTRACE_DEST_JTAG is not set -# default: -CONFIG_APPTRACE_DEST_NONE=y -# default: -# CONFIG_APPTRACE_DEST_UART1 is not set -# default: -# CONFIG_APPTRACE_DEST_UART2 is not set -# default: -CONFIG_APPTRACE_DEST_UART_NONE=y -# default: -CONFIG_APPTRACE_UART_TASK_PRIO=1 -# default: -CONFIG_APPTRACE_LOCK_ENABLE=y -# end of Application Level Tracing - -# -# Bluetooth -# -# default: -# CONFIG_BT_ENABLED is not set - -# -# Common Options -# - -# -# BLE Log -# -# default: -# CONFIG_BLE_LOG_ENABLED is not set -# end of BLE Log - -# default: -# CONFIG_BT_BLE_LOG_SPI_OUT_ENABLED is not set -# default: -# CONFIG_BT_BLE_LOG_UHCI_OUT_ENABLED is not set -# default: -# CONFIG_BT_LE_USED_MEM_STATISTICS_ENABLED is not set -# end of Common Options -# end of Bluetooth - -# -# Console Library -# -# default: -# CONFIG_CONSOLE_SORTED_HELP is not set -# end of Console Library - -# -# Driver Configurations -# - -# -# Legacy TWAI Driver Configurations -# -# default: -# CONFIG_TWAI_SKIP_LEGACY_CONFLICT_CHECK is not set -# default: -CONFIG_TWAI_ERRATA_FIX_BUS_OFF_REC=y -# default: -CONFIG_TWAI_ERRATA_FIX_TX_INTR_LOST=y -# default: -CONFIG_TWAI_ERRATA_FIX_RX_FRAME_INVALID=y -# default: -CONFIG_TWAI_ERRATA_FIX_RX_FIFO_CORRUPT=y -# default: -CONFIG_TWAI_ERRATA_FIX_LISTEN_ONLY_DOM=y -# end of Legacy TWAI Driver Configurations - -# -# Legacy ADC Driver Configuration -# -# default: -CONFIG_ADC_DISABLE_DAC=y -# default: -# CONFIG_ADC_SUPPRESS_DEPRECATE_WARN is not set -# default: -# CONFIG_ADC_SKIP_LEGACY_CONFLICT_CHECK is not set - -# -# Legacy ADC Calibration Configuration -# -# default: -CONFIG_ADC_CAL_EFUSE_TP_ENABLE=y -# default: -CONFIG_ADC_CAL_EFUSE_VREF_ENABLE=y -# default: -CONFIG_ADC_CAL_LUT_ENABLE=y -# default: -# CONFIG_ADC_CALI_SUPPRESS_DEPRECATE_WARN is not set -# end of Legacy ADC Calibration Configuration -# end of Legacy ADC Driver Configuration - -# -# Legacy DAC Driver Configurations -# -# default: -# CONFIG_DAC_SUPPRESS_DEPRECATE_WARN is not set -# default: -# CONFIG_DAC_SKIP_LEGACY_CONFLICT_CHECK is not set -# end of Legacy DAC Driver Configurations - -# -# Legacy MCPWM Driver Configurations -# -# default: -# CONFIG_MCPWM_SUPPRESS_DEPRECATE_WARN is not set -# default: -# CONFIG_MCPWM_SKIP_LEGACY_CONFLICT_CHECK is not set -# end of Legacy MCPWM Driver Configurations - -# -# Legacy Timer Group Driver Configurations -# -# default: -# CONFIG_GPTIMER_SUPPRESS_DEPRECATE_WARN is not set -# default: -# CONFIG_GPTIMER_SKIP_LEGACY_CONFLICT_CHECK is not set -# end of Legacy Timer Group Driver Configurations - -# -# Legacy RMT Driver Configurations -# -# default: -# CONFIG_RMT_SUPPRESS_DEPRECATE_WARN is not set -# default: -# CONFIG_RMT_SKIP_LEGACY_CONFLICT_CHECK is not set -# end of Legacy RMT Driver Configurations - -# -# Legacy I2S Driver Configurations -# -# default: -# CONFIG_I2S_SUPPRESS_DEPRECATE_WARN is not set -# default: -# CONFIG_I2S_SKIP_LEGACY_CONFLICT_CHECK is not set -# end of Legacy I2S Driver Configurations - -# -# Legacy I2C Driver Configurations -# -# default: -# CONFIG_I2C_SKIP_LEGACY_CONFLICT_CHECK is not set -# end of Legacy I2C Driver Configurations - -# -# Legacy PCNT Driver Configurations -# -# default: -# CONFIG_PCNT_SUPPRESS_DEPRECATE_WARN is not set -# default: -# CONFIG_PCNT_SKIP_LEGACY_CONFLICT_CHECK is not set -# end of Legacy PCNT Driver Configurations - -# -# Legacy SDM Driver Configurations -# -# default: -# CONFIG_SDM_SUPPRESS_DEPRECATE_WARN is not set -# default: -# CONFIG_SDM_SKIP_LEGACY_CONFLICT_CHECK is not set -# end of Legacy SDM Driver Configurations - -# -# Legacy Touch Sensor Driver Configurations -# -# default: -# CONFIG_TOUCH_SUPPRESS_DEPRECATE_WARN is not set -# default: -# CONFIG_TOUCH_SKIP_LEGACY_CONFLICT_CHECK is not set -# end of Legacy Touch Sensor Driver Configurations -# end of Driver Configurations - -# -# eFuse Bit Manager -# -# default: -# CONFIG_EFUSE_CUSTOM_TABLE is not set -# default: -# CONFIG_EFUSE_VIRTUAL is not set -# default: -# CONFIG_EFUSE_CODE_SCHEME_COMPAT_NONE is not set -# default: -CONFIG_EFUSE_CODE_SCHEME_COMPAT_3_4=y -# default: -# CONFIG_EFUSE_CODE_SCHEME_COMPAT_REPEAT is not set -# default: -CONFIG_EFUSE_MAX_BLK_LEN=192 -# end of eFuse Bit Manager - -# -# ESP-TLS -# -# default: -CONFIG_ESP_TLS_USING_MBEDTLS=y -# default: -# CONFIG_ESP_TLS_USE_SECURE_ELEMENT is not set -# default: -# CONFIG_ESP_TLS_CLIENT_SESSION_TICKETS is not set -# default: -# CONFIG_ESP_TLS_SERVER_SESSION_TICKETS is not set -# default: -# CONFIG_ESP_TLS_SERVER_CERT_SELECT_HOOK is not set -# default: -# CONFIG_ESP_TLS_SERVER_MIN_AUTH_MODE_OPTIONAL is not set -# default: -# CONFIG_ESP_TLS_PSK_VERIFICATION is not set -# default: -# CONFIG_ESP_TLS_INSECURE is not set -# default: -CONFIG_ESP_TLS_DYN_BUF_STRATEGY_SUPPORTED=y -# end of ESP-TLS - -# -# ADC and ADC Calibration -# -# default: -# CONFIG_ADC_ONESHOT_CTRL_FUNC_IN_IRAM is not set -# default: -# CONFIG_ADC_CONTINUOUS_ISR_IRAM_SAFE is not set - -# -# ADC Calibration Configurations -# -# default: -CONFIG_ADC_CALI_EFUSE_TP_ENABLE=y -# default: -CONFIG_ADC_CALI_EFUSE_VREF_ENABLE=y -# default: -CONFIG_ADC_CALI_LUT_ENABLE=y -# end of ADC Calibration Configurations - -# default: -CONFIG_ADC_DISABLE_DAC_OUTPUT=y -# default: -# CONFIG_ADC_ENABLE_DEBUG_LOG is not set -# end of ADC and ADC Calibration - -# -# Wireless Coexistence -# -# default: -CONFIG_ESP_COEX_ENABLED=y -# default: -# CONFIG_ESP_COEX_GPIO_DEBUG is not set -# end of Wireless Coexistence - -# -# Common ESP-related -# -# default: -CONFIG_ESP_ERR_TO_NAME_LOOKUP=y -# end of Common ESP-related - -# -# ESP-Driver:DAC Configurations -# -# default: -# CONFIG_DAC_CTRL_FUNC_IN_IRAM is not set -# default: -# CONFIG_DAC_ISR_IRAM_SAFE is not set -# default: -# CONFIG_DAC_ENABLE_DEBUG_LOG is not set -# default: -CONFIG_DAC_DMA_AUTO_16BIT_ALIGN=y -# end of ESP-Driver:DAC Configurations - -# -# ESP-Driver:GPIO Configurations -# -# default: -# CONFIG_GPIO_ESP32_SUPPORT_SWITCH_SLP_PULL is not set -# default: -# CONFIG_GPIO_CTRL_FUNC_IN_IRAM is not set -# end of ESP-Driver:GPIO Configurations - -# -# ESP-Driver:GPTimer Configurations -# -# default: -CONFIG_GPTIMER_ISR_HANDLER_IN_IRAM=y -# default: -# CONFIG_GPTIMER_CTRL_FUNC_IN_IRAM is not set -# default: -# CONFIG_GPTIMER_ISR_CACHE_SAFE is not set -# default: -CONFIG_GPTIMER_OBJ_CACHE_SAFE=y -# default: -# CONFIG_GPTIMER_ENABLE_DEBUG_LOG is not set -# end of ESP-Driver:GPTimer Configurations - -# -# ESP-Driver:I2C Configurations -# -# default: -# CONFIG_I2C_ISR_IRAM_SAFE is not set -# default: -# CONFIG_I2C_ENABLE_DEBUG_LOG is not set -# default: -# CONFIG_I2C_ENABLE_SLAVE_DRIVER_VERSION_2 is not set -# default: -CONFIG_I2C_MASTER_ISR_HANDLER_IN_IRAM=y -# end of ESP-Driver:I2C Configurations - -# -# ESP-Driver:I2S Configurations -# -# default: -# CONFIG_I2S_ISR_IRAM_SAFE is not set -# default: -# CONFIG_I2S_ENABLE_DEBUG_LOG is not set -# end of ESP-Driver:I2S Configurations - -# -# ESP-Driver:LEDC Configurations -# -# default: -# CONFIG_LEDC_CTRL_FUNC_IN_IRAM is not set -# end of ESP-Driver:LEDC Configurations - -# -# ESP-Driver:MCPWM Configurations -# -# default: -CONFIG_MCPWM_ISR_HANDLER_IN_IRAM=y -# default: -# CONFIG_MCPWM_ISR_CACHE_SAFE is not set -# default: -# CONFIG_MCPWM_CTRL_FUNC_IN_IRAM is not set -# default: -CONFIG_MCPWM_OBJ_CACHE_SAFE=y -# default: -# CONFIG_MCPWM_ENABLE_DEBUG_LOG is not set -# end of ESP-Driver:MCPWM Configurations - -# -# ESP-Driver:PCNT Configurations -# -# default: -# CONFIG_PCNT_CTRL_FUNC_IN_IRAM is not set -# default: -# CONFIG_PCNT_ISR_IRAM_SAFE is not set -# default: -# CONFIG_PCNT_ENABLE_DEBUG_LOG is not set -# end of ESP-Driver:PCNT Configurations - -# -# ESP-Driver:RMT Configurations -# -# default: -CONFIG_RMT_ENCODER_FUNC_IN_IRAM=y -# default: -CONFIG_RMT_TX_ISR_HANDLER_IN_IRAM=y -# default: -CONFIG_RMT_RX_ISR_HANDLER_IN_IRAM=y -# default: -# CONFIG_RMT_RECV_FUNC_IN_IRAM is not set -# default: -# CONFIG_RMT_TX_ISR_CACHE_SAFE is not set -# default: -# CONFIG_RMT_RX_ISR_CACHE_SAFE is not set -# default: -CONFIG_RMT_OBJ_CACHE_SAFE=y -# default: -# CONFIG_RMT_ENABLE_DEBUG_LOG is not set -# default: -# CONFIG_RMT_ISR_IRAM_SAFE is not set -# end of ESP-Driver:RMT Configurations - -# -# ESP-Driver:Sigma Delta Modulator Configurations -# -# default: -# CONFIG_SDM_CTRL_FUNC_IN_IRAM is not set -# default: -# CONFIG_SDM_ENABLE_DEBUG_LOG is not set -# end of ESP-Driver:Sigma Delta Modulator Configurations - -# -# ESP-Driver:SPI Configurations -# -# default: -# CONFIG_SPI_MASTER_IN_IRAM is not set -# default: -CONFIG_SPI_MASTER_ISR_IN_IRAM=y -# default: -# CONFIG_SPI_SLAVE_IN_IRAM is not set -# default: -CONFIG_SPI_SLAVE_ISR_IN_IRAM=y -# end of ESP-Driver:SPI Configurations - -# -# ESP-Driver:Touch Sensor Configurations -# -# default: -# CONFIG_TOUCH_CTRL_FUNC_IN_IRAM is not set -# default: -# CONFIG_TOUCH_ISR_IRAM_SAFE is not set -# default: -# CONFIG_TOUCH_ENABLE_DEBUG_LOG is not set -# default: -# CONFIG_TOUCH_SKIP_FSM_CHECK is not set -# end of ESP-Driver:Touch Sensor Configurations - -# -# ESP-Driver:TWAI Configurations -# -# default: -# CONFIG_TWAI_ISR_IN_IRAM is not set -# default: -# CONFIG_TWAI_IO_FUNC_IN_IRAM is not set -# default: -# CONFIG_TWAI_ISR_CACHE_SAFE is not set -# default: -# CONFIG_TWAI_ENABLE_DEBUG_LOG is not set -# end of ESP-Driver:TWAI Configurations - -# -# ESP-Driver:UART Configurations -# -# default: -# CONFIG_UART_ISR_IN_IRAM is not set -# end of ESP-Driver:UART Configurations - -# -# ESP-Driver:UHCI Configurations -# -# default: -# CONFIG_UHCI_ISR_HANDLER_IN_IRAM is not set -# default: -# CONFIG_UHCI_ISR_CACHE_SAFE is not set -# default: -# CONFIG_UHCI_ENABLE_DEBUG_LOG is not set -# end of ESP-Driver:UHCI Configurations - -# -# Ethernet -# -# default: -CONFIG_ETH_ENABLED=y -# default: -CONFIG_ETH_USE_ESP32_EMAC=y -# default: -CONFIG_ETH_PHY_INTERFACE_RMII=y -# default: -CONFIG_ETH_RMII_CLK_INPUT=y -# default: -# CONFIG_ETH_RMII_CLK_OUTPUT is not set -# default: -CONFIG_ETH_RMII_CLK_IN_GPIO=0 -# default: -CONFIG_ETH_DMA_BUFFER_SIZE=512 -# default: -CONFIG_ETH_DMA_RX_BUFFER_NUM=10 -# default: -CONFIG_ETH_DMA_TX_BUFFER_NUM=10 -# default: -# CONFIG_ETH_IRAM_OPTIMIZATION is not set -# default: -CONFIG_ETH_USE_SPI_ETHERNET=y -# default: -# CONFIG_ETH_SPI_ETHERNET_DM9051 is not set -# default: -# CONFIG_ETH_SPI_ETHERNET_W5500 is not set -# default: -# CONFIG_ETH_SPI_ETHERNET_KSZ8851SNL is not set -# default: -# CONFIG_ETH_USE_OPENETH is not set -# default: -# CONFIG_ETH_TRANSMIT_MUTEX is not set -# end of Ethernet - -# -# Event Loop Library -# -# default: -# CONFIG_ESP_EVENT_LOOP_PROFILING is not set -# default: -CONFIG_ESP_EVENT_POST_FROM_ISR=y -# default: -CONFIG_ESP_EVENT_POST_FROM_IRAM_ISR=y -# end of Event Loop Library - -# -# GDB Stub -# -# default: -CONFIG_ESP_GDBSTUB_ENABLED=y -# default: -# CONFIG_ESP_SYSTEM_GDBSTUB_RUNTIME is not set -# default: -CONFIG_ESP_GDBSTUB_SUPPORT_TASKS=y -# default: -CONFIG_ESP_GDBSTUB_MAX_TASKS=32 -# end of GDB Stub - -# -# ESP HID -# -# default: -CONFIG_ESPHID_TASK_SIZE_BT=2048 -# default: -CONFIG_ESPHID_TASK_SIZE_BLE=4096 -# end of ESP HID - -# -# ESP HTTP client -# -# default: -CONFIG_ESP_HTTP_CLIENT_ENABLE_HTTPS=y -# default: -# CONFIG_ESP_HTTP_CLIENT_ENABLE_BASIC_AUTH is not set -# default: -# CONFIG_ESP_HTTP_CLIENT_ENABLE_DIGEST_AUTH is not set -# default: -# CONFIG_ESP_HTTP_CLIENT_ENABLE_CUSTOM_TRANSPORT is not set -# default: -CONFIG_ESP_HTTP_CLIENT_EVENT_POST_TIMEOUT=2000 -# end of ESP HTTP client - -# -# HTTP Server -# -# default: -CONFIG_HTTPD_MAX_REQ_HDR_LEN=1024 -# default: -CONFIG_HTTPD_MAX_URI_LEN=512 -# default: -CONFIG_HTTPD_ERR_RESP_NO_DELAY=y -# default: -CONFIG_HTTPD_PURGE_BUF_LEN=32 -# default: -# CONFIG_HTTPD_LOG_PURGE_DATA is not set -# default: -# CONFIG_HTTPD_WS_SUPPORT is not set -# default: -# CONFIG_HTTPD_QUEUE_WORK_BLOCKING is not set -# default: -CONFIG_HTTPD_SERVER_EVENT_POST_TIMEOUT=2000 -# end of HTTP Server - -# -# ESP HTTPS OTA -# -# default: -# CONFIG_ESP_HTTPS_OTA_DECRYPT_CB is not set -# default: -# CONFIG_ESP_HTTPS_OTA_ALLOW_HTTP is not set -# default: -CONFIG_ESP_HTTPS_OTA_EVENT_POST_TIMEOUT=2000 -# end of ESP HTTPS OTA - -# -# ESP HTTPS server -# -# default: -# CONFIG_ESP_HTTPS_SERVER_ENABLE is not set -# default: -CONFIG_ESP_HTTPS_SERVER_EVENT_POST_TIMEOUT=2000 -# default: -# CONFIG_ESP_HTTPS_SERVER_CERT_SELECT_HOOK is not set -# end of ESP HTTPS server - -# -# Hardware Settings -# -# default: -CONFIG_ESP_HW_SUPPORT_FUNC_IN_IRAM=y - -# -# Chip revision -# -# default: -CONFIG_ESP32_REV_MIN_0=y -# default: -# CONFIG_ESP32_REV_MIN_1 is not set -# default: -# CONFIG_ESP32_REV_MIN_1_1 is not set -# default: -# CONFIG_ESP32_REV_MIN_2 is not set -# default: -# CONFIG_ESP32_REV_MIN_3 is not set -# default: -# CONFIG_ESP32_REV_MIN_3_1 is not set -# default: -CONFIG_ESP32_REV_MIN=0 -# default: -CONFIG_ESP32_REV_MIN_FULL=0 -# default: -CONFIG_ESP_REV_MIN_FULL=0 - -# -# Maximum Supported ESP32 Revision (Rev v3.99) -# -# default: -CONFIG_ESP32_REV_MAX_FULL=399 -# default: -CONFIG_ESP_REV_MAX_FULL=399 -# default: -CONFIG_ESP_EFUSE_BLOCK_REV_MIN_FULL=0 -# default: -CONFIG_ESP_EFUSE_BLOCK_REV_MAX_FULL=99 - -# -# Maximum Supported ESP32 eFuse Block Revision (eFuse Block Rev v0.99) -# -# end of Chip revision - -# -# MAC Config -# -# default: -CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_STA=y -# default: -CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_AP=y -# default: -CONFIG_ESP_MAC_ADDR_UNIVERSE_BT=y -# default: -CONFIG_ESP_MAC_ADDR_UNIVERSE_ETH=y -# default: -CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES_FOUR=y -# default: -CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES=4 -# default: -# CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_TWO is not set -# default: -CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_FOUR=y -# default: -CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES=4 -# default: -# CONFIG_ESP_MAC_IGNORE_MAC_CRC_ERROR is not set -# default: -# CONFIG_ESP_MAC_USE_CUSTOM_MAC_AS_BASE_MAC is not set -# end of MAC Config - -# -# Sleep Config -# -# default: -# CONFIG_ESP_SLEEP_POWER_DOWN_FLASH is not set -# default: -CONFIG_ESP_SLEEP_FLASH_LEAKAGE_WORKAROUND=y -# default: -# CONFIG_ESP_SLEEP_MSPI_NEED_ALL_IO_PU is not set -# default: -CONFIG_ESP_SLEEP_RTC_BUS_ISO_WORKAROUND=y -# default: -# CONFIG_ESP_SLEEP_GPIO_RESET_WORKAROUND is not set -# default: -CONFIG_ESP_SLEEP_WAIT_FLASH_READY_EXTRA_DELAY=2000 -# default: -# CONFIG_ESP_SLEEP_CACHE_SAFE_ASSERTION is not set -# default: -# CONFIG_ESP_SLEEP_DEBUG is not set -# default: -CONFIG_ESP_SLEEP_GPIO_ENABLE_INTERNAL_RESISTORS=y -# end of Sleep Config - -# -# RTC Clock Config -# -# default: -CONFIG_RTC_CLK_SRC_INT_RC=y -# default: -# CONFIG_RTC_CLK_SRC_EXT_CRYS is not set -# default: -# CONFIG_RTC_CLK_SRC_EXT_OSC is not set -# default: -# CONFIG_RTC_CLK_SRC_INT_8MD256 is not set -# default: -CONFIG_RTC_CLK_CAL_CYCLES=1024 -# default: -CONFIG_RTC_CLK_FUNC_IN_IRAM=y -# default: -CONFIG_RTC_TIME_FUNC_IN_IRAM=y -# end of RTC Clock Config - -# -# Peripheral Control -# -# default: -CONFIG_ESP_PERIPH_CTRL_FUNC_IN_IRAM=y -# default: -CONFIG_ESP_REGI2C_CTRL_FUNC_IN_IRAM=y -# end of Peripheral Control - -# -# Main XTAL Config -# -# default: -# CONFIG_XTAL_FREQ_26 is not set -# default: -# CONFIG_XTAL_FREQ_32 is not set -# default: -CONFIG_XTAL_FREQ_40=y -# default: -# CONFIG_XTAL_FREQ_AUTO is not set -# default: -CONFIG_XTAL_FREQ=40 -# end of Main XTAL Config - -# -# Power Supplier -# - -# -# Brownout Detector -# -# default: -CONFIG_ESP_BROWNOUT_DET=y -# default: -CONFIG_ESP_BROWNOUT_DET_LVL_SEL_0=y -# default: -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_1 is not set -# default: -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_2 is not set -# default: -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_3 is not set -# default: -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_4 is not set -# default: -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_5 is not set -# default: -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_6 is not set -# default: -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_7 is not set -# default: -CONFIG_ESP_BROWNOUT_DET_LVL=0 -# default: -CONFIG_ESP_BROWNOUT_USE_INTR=y -# end of Brownout Detector -# end of Power Supplier - -# default: -CONFIG_ESP_SPI_BUS_LOCK_ISR_FUNCS_IN_IRAM=y -# default: -CONFIG_ESP_INTR_IN_IRAM=y -# end of Hardware Settings - -# -# ESP-Driver:LCD Controller Configurations -# -# default: -# CONFIG_LCD_ENABLE_DEBUG_LOG is not set -# end of ESP-Driver:LCD Controller Configurations - -# -# ESP-MM: Memory Management Configurations -# -# end of ESP-MM: Memory Management Configurations - -# -# ESP NETIF Adapter -# -# default: -CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120 -# default: -# CONFIG_ESP_NETIF_PROVIDE_CUSTOM_IMPLEMENTATION is not set -# default: -CONFIG_ESP_NETIF_TCPIP_LWIP=y -# default: -# CONFIG_ESP_NETIF_LOOPBACK is not set -# default: -CONFIG_ESP_NETIF_USES_TCPIP_WITH_BSD_API=y -# default: -CONFIG_ESP_NETIF_REPORT_DATA_TRAFFIC=y -# default: -# CONFIG_ESP_NETIF_RECEIVE_REPORT_ERRORS is not set -# default: -# CONFIG_ESP_NETIF_L2_TAP is not set -# default: -# CONFIG_ESP_NETIF_BRIDGE_EN is not set -# default: -# CONFIG_ESP_NETIF_SET_DNS_PER_DEFAULT_NETIF is not set -# end of ESP NETIF Adapter - -# -# Partition API Configuration -# -# end of Partition API Configuration - -# -# PHY -# -# default: -CONFIG_ESP_PHY_ENABLED=y -# default: -CONFIG_ESP_PHY_CALIBRATION_AND_DATA_STORAGE=y -# default: -# CONFIG_ESP_PHY_INIT_DATA_IN_PARTITION is not set -# default: -CONFIG_ESP_PHY_MAX_WIFI_TX_POWER=20 -# default: -CONFIG_ESP_PHY_MAX_TX_POWER=20 -# default: -# CONFIG_ESP_PHY_REDUCE_TX_POWER is not set -# default: -# CONFIG_ESP_PHY_ENABLE_CERT_TEST is not set -# default: -CONFIG_ESP_PHY_RF_CAL_PARTIAL=y -# default: -# CONFIG_ESP_PHY_RF_CAL_NONE is not set -# default: -# CONFIG_ESP_PHY_RF_CAL_FULL is not set -# default: -CONFIG_ESP_PHY_CALIBRATION_MODE=0 -# default: -CONFIG_ESP_PHY_PLL_TRACK_PERIOD_MS=1000 -# default: -# CONFIG_ESP_PHY_PLL_TRACK_DEBUG is not set -# default: -# CONFIG_ESP_PHY_RECORD_USED_TIME is not set -# default: -CONFIG_ESP_PHY_IRAM_OPT=y -# default: -# CONFIG_ESP_PHY_DEBUG is not set -# end of PHY - -# -# Power Management -# -# default: -# CONFIG_PM_SLEEP_FUNC_IN_IRAM is not set -# default: -# CONFIG_PM_ENABLE is not set -# default: -# CONFIG_PM_SLP_IRAM_OPT is not set -# end of Power Management - -# -# ESP PSRAM -# -# default: -# CONFIG_SPIRAM is not set -# end of ESP PSRAM - -# -# ESP Ringbuf -# -# default: -# CONFIG_RINGBUF_PLACE_FUNCTIONS_INTO_FLASH is not set -# end of ESP Ringbuf - -# -# ESP-ROM -# -# default: -CONFIG_ESP_ROM_PRINT_IN_IRAM=y -# end of ESP-ROM - -# -# ESP Security Specific -# -# end of ESP Security Specific - -# -# ESP System Settings -# -# default: -# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_80 is not set -# default: -CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_160=y -# default: -# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240 is not set -# default: -CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=160 - -# -# Memory -# -# default: -# CONFIG_ESP32_USE_FIXED_STATIC_RAM_SIZE is not set - -# -# Non-backward compatible options -# -# default: -# CONFIG_ESP_SYSTEM_ESP32_SRAM1_REGION_AS_IRAM is not set -# end of Non-backward compatible options -# end of Memory - -# -# Trace memory -# -# default: -# CONFIG_ESP32_TRAX is not set -# default: -CONFIG_ESP32_TRACEMEM_RESERVE_DRAM=0x0 -# end of Trace memory - -# default: -CONFIG_ESP_SYSTEM_IN_IRAM=y -# default: -# CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT is not set -# default: -CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT=y -# default: -# CONFIG_ESP_SYSTEM_PANIC_SILENT_REBOOT is not set -# default: -# CONFIG_ESP_SYSTEM_PANIC_GDBSTUB is not set -# default: -CONFIG_ESP_SYSTEM_PANIC_REBOOT_DELAY_SECONDS=0 - -# -# Memory protection -# -# end of Memory protection - -# default: -CONFIG_ESP_SYSTEM_EVENT_QUEUE_SIZE=32 -# default: -CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=2304 -CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192 -# default: -CONFIG_ESP_MAIN_TASK_AFFINITY_CPU0=y -# default: -# CONFIG_ESP_MAIN_TASK_AFFINITY_CPU1 is not set -# default: -# CONFIG_ESP_MAIN_TASK_AFFINITY_NO_AFFINITY is not set -# default: -CONFIG_ESP_MAIN_TASK_AFFINITY=0x0 -# default: -CONFIG_ESP_MINIMAL_SHARED_STACK_SIZE=2048 -# default: -CONFIG_ESP_CONSOLE_UART_DEFAULT=y -# default: -# CONFIG_ESP_CONSOLE_UART_CUSTOM is not set -# default: -# CONFIG_ESP_CONSOLE_NONE is not set -# default: -CONFIG_ESP_CONSOLE_UART=y -# default: -CONFIG_ESP_CONSOLE_UART_NUM=0 -# default: -CONFIG_ESP_CONSOLE_ROM_SERIAL_PORT_NUM=0 -# default: -CONFIG_ESP_CONSOLE_UART_BAUDRATE=115200 -# default: -CONFIG_ESP_INT_WDT=y -# default: -CONFIG_ESP_INT_WDT_TIMEOUT_MS=300 -# default: -CONFIG_ESP_INT_WDT_CHECK_CPU1=y -# default: -CONFIG_ESP_TASK_WDT_EN=y -# default: -CONFIG_ESP_TASK_WDT_INIT=y -# default: -# CONFIG_ESP_TASK_WDT_PANIC is not set -# default: -CONFIG_ESP_TASK_WDT_TIMEOUT_S=5 -# default: -CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0=y -# default: -CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU1=y -# default: -# CONFIG_ESP_PANIC_HANDLER_IRAM is not set -# default: -# CONFIG_ESP_DEBUG_STUBS_ENABLE is not set -# default: -CONFIG_ESP_DEBUG_OCDAWARE=y -# default: -# CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_5 is not set -# default: -CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_4=y -# default: -# CONFIG_ESP32_DISABLE_BASIC_ROM_CONSOLE is not set -# end of ESP System Settings - -# -# IPC (Inter-Processor Call) -# -# default: -CONFIG_ESP_IPC_ENABLE=y -# default: -CONFIG_ESP_IPC_TASK_STACK_SIZE=1024 -# default: -CONFIG_ESP_IPC_USES_CALLERS_PRIORITY=y -# default: -CONFIG_ESP_IPC_ISR_ENABLE=y -# end of IPC (Inter-Processor Call) - -# -# ESP Timer (High Resolution Timer) -# -# default: -CONFIG_ESP_TIMER_IN_IRAM=y -# default: -# CONFIG_ESP_TIMER_PROFILING is not set -# default: -CONFIG_ESP_TIME_FUNCS_USE_RTC_TIMER=y -# default: -CONFIG_ESP_TIME_FUNCS_USE_ESP_TIMER=y -# default: -CONFIG_ESP_TIMER_TASK_STACK_SIZE=3584 -# default: -CONFIG_ESP_TIMER_INTERRUPT_LEVEL=1 -# default: -# CONFIG_ESP_TIMER_SHOW_EXPERIMENTAL is not set -# default: -CONFIG_ESP_TIMER_TASK_AFFINITY=0x0 -# default: -CONFIG_ESP_TIMER_TASK_AFFINITY_CPU0=y -# default: -CONFIG_ESP_TIMER_ISR_AFFINITY_CPU0=y -# default: -# CONFIG_ESP_TIMER_SUPPORTS_ISR_DISPATCH_METHOD is not set -# default: -CONFIG_ESP_TIMER_IMPL_TG0_LAC=y -# end of ESP Timer (High Resolution Timer) - -# -# Wi-Fi -# -# default: -CONFIG_ESP_WIFI_ENABLED=y -# default: -CONFIG_ESP_WIFI_STATIC_RX_BUFFER_NUM=10 -# default: -CONFIG_ESP_WIFI_DYNAMIC_RX_BUFFER_NUM=32 -# default: -# CONFIG_ESP_WIFI_STATIC_TX_BUFFER is not set -# default: -CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER=y -# default: -CONFIG_ESP_WIFI_TX_BUFFER_TYPE=1 -# default: -CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER_NUM=32 -# default: -CONFIG_ESP_WIFI_STATIC_RX_MGMT_BUFFER=y -# default: -# CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUFFER is not set -# default: -CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUF=0 -# default: -CONFIG_ESP_WIFI_RX_MGMT_BUF_NUM_DEF=5 -# default: -# CONFIG_ESP_WIFI_CSI_ENABLED is not set -# default: -CONFIG_ESP_WIFI_AMPDU_TX_ENABLED=y -# default: -CONFIG_ESP_WIFI_TX_BA_WIN=6 -# default: -CONFIG_ESP_WIFI_AMPDU_RX_ENABLED=y -# default: -CONFIG_ESP_WIFI_RX_BA_WIN=6 -# default: -CONFIG_ESP_WIFI_NVS_ENABLED=y -# default: -CONFIG_ESP_WIFI_TASK_PINNED_TO_CORE_0=y -# default: -# CONFIG_ESP_WIFI_TASK_PINNED_TO_CORE_1 is not set -# default: -CONFIG_ESP_WIFI_SOFTAP_BEACON_MAX_LEN=752 -# default: -CONFIG_ESP_WIFI_MGMT_SBUF_NUM=32 -# default: -CONFIG_ESP_WIFI_IRAM_OPT=y -# default: -# CONFIG_ESP_WIFI_EXTRA_IRAM_OPT is not set -# default: -CONFIG_ESP_WIFI_RX_IRAM_OPT=y -# default: -CONFIG_ESP_WIFI_ENABLE_WPA3_SAE=y -# default: -CONFIG_ESP_WIFI_ENABLE_SAE_PK=y -# default: -CONFIG_ESP_WIFI_ENABLE_SAE_H2E=y -# default: -CONFIG_ESP_WIFI_SOFTAP_SAE_SUPPORT=y -# default: -CONFIG_ESP_WIFI_ENABLE_WPA3_OWE_STA=y -# default: -# CONFIG_ESP_WIFI_SLP_IRAM_OPT is not set -# default: -CONFIG_ESP_WIFI_SLP_DEFAULT_MIN_ACTIVE_TIME=50 -# default: -# CONFIG_ESP_WIFI_BSS_MAX_IDLE_SUPPORT is not set -# default: -CONFIG_ESP_WIFI_SLP_DEFAULT_MAX_ACTIVE_TIME=10 -# default: -CONFIG_ESP_WIFI_SLP_DEFAULT_WAIT_BROADCAST_DATA_TIME=15 -# default: -CONFIG_ESP_WIFI_STA_DISCONNECTED_PM_ENABLE=y -# default: -CONFIG_ESP_WIFI_GMAC_SUPPORT=y -# default: -CONFIG_ESP_WIFI_SOFTAP_SUPPORT=y -# default: -# CONFIG_ESP_WIFI_SLP_BEACON_LOST_OPT is not set -# default: -CONFIG_ESP_WIFI_ESPNOW_MAX_ENCRYPT_NUM=7 -# default: -# CONFIG_ESP_WIFI_NAN_ENABLE is not set -# default: -CONFIG_ESP_WIFI_MBEDTLS_CRYPTO=y -# default: -CONFIG_ESP_WIFI_MBEDTLS_TLS_CLIENT=y -# default: -# CONFIG_ESP_WIFI_WAPI_PSK is not set -# default: -# CONFIG_ESP_WIFI_11KV_SUPPORT is not set -# default: -# CONFIG_ESP_WIFI_MBO_SUPPORT is not set -# default: -# CONFIG_ESP_WIFI_DPP_SUPPORT is not set -# default: -# CONFIG_ESP_WIFI_11R_SUPPORT is not set -# default: -# CONFIG_ESP_WIFI_WPS_SOFTAP_REGISTRAR is not set - -# -# WPS Configuration Options -# -# default: -# CONFIG_ESP_WIFI_WPS_STRICT is not set -# default: -# CONFIG_ESP_WIFI_WPS_PASSPHRASE is not set -# default: -# CONFIG_ESP_WIFI_WPS_RECONNECT_ON_FAIL is not set -# end of WPS Configuration Options - -# default: -# CONFIG_ESP_WIFI_DEBUG_PRINT is not set -# default: -CONFIG_ESP_WIFI_ENTERPRISE_SUPPORT=y -# default: -# CONFIG_ESP_WIFI_ENT_FREE_DYNAMIC_BUFFER is not set -# end of Wi-Fi - -# -# Core dump -# -# default: -# CONFIG_ESP_COREDUMP_ENABLE_TO_FLASH is not set -# default: -# CONFIG_ESP_COREDUMP_ENABLE_TO_UART is not set -# default: -CONFIG_ESP_COREDUMP_ENABLE_TO_NONE=y -# end of Core dump - -# -# FAT Filesystem support -# -# default: -CONFIG_FATFS_VOLUME_COUNT=2 -# default: -CONFIG_FATFS_LFN_NONE=y -# default: -# CONFIG_FATFS_LFN_HEAP is not set -# default: -# CONFIG_FATFS_LFN_STACK is not set -# default: -# CONFIG_FATFS_SECTOR_512 is not set -# default: -CONFIG_FATFS_SECTOR_4096=y -# default: -# CONFIG_FATFS_CODEPAGE_DYNAMIC is not set -# default: -CONFIG_FATFS_CODEPAGE_437=y -# default: -# CONFIG_FATFS_CODEPAGE_720 is not set -# default: -# CONFIG_FATFS_CODEPAGE_737 is not set -# default: -# CONFIG_FATFS_CODEPAGE_771 is not set -# default: -# CONFIG_FATFS_CODEPAGE_775 is not set -# default: -# CONFIG_FATFS_CODEPAGE_850 is not set -# default: -# CONFIG_FATFS_CODEPAGE_852 is not set -# default: -# CONFIG_FATFS_CODEPAGE_855 is not set -# default: -# CONFIG_FATFS_CODEPAGE_857 is not set -# default: -# CONFIG_FATFS_CODEPAGE_860 is not set -# default: -# CONFIG_FATFS_CODEPAGE_861 is not set -# default: -# CONFIG_FATFS_CODEPAGE_862 is not set -# default: -# CONFIG_FATFS_CODEPAGE_863 is not set -# default: -# CONFIG_FATFS_CODEPAGE_864 is not set -# default: -# CONFIG_FATFS_CODEPAGE_865 is not set -# default: -# CONFIG_FATFS_CODEPAGE_866 is not set -# default: -# CONFIG_FATFS_CODEPAGE_869 is not set -# default: -# CONFIG_FATFS_CODEPAGE_932 is not set -# default: -# CONFIG_FATFS_CODEPAGE_936 is not set -# default: -# CONFIG_FATFS_CODEPAGE_949 is not set -# default: -# CONFIG_FATFS_CODEPAGE_950 is not set -# default: -CONFIG_FATFS_CODEPAGE=437 -# default: -CONFIG_FATFS_FS_LOCK=0 -# default: -CONFIG_FATFS_TIMEOUT_MS=10000 -# default: -CONFIG_FATFS_PER_FILE_CACHE=y -# default: -# CONFIG_FATFS_USE_FASTSEEK is not set -# default: -CONFIG_FATFS_USE_STRFUNC_NONE=y -# default: -# CONFIG_FATFS_USE_STRFUNC_WITHOUT_CRLF_CONV is not set -# default: -# CONFIG_FATFS_USE_STRFUNC_WITH_CRLF_CONV is not set -# default: -CONFIG_FATFS_VFS_FSTAT_BLKSIZE=0 -# default: -# CONFIG_FATFS_IMMEDIATE_FSYNC is not set -# default: -# CONFIG_FATFS_USE_LABEL is not set -# default: -CONFIG_FATFS_LINK_LOCK=y -# default: -# CONFIG_FATFS_USE_DYN_BUFFERS is not set - -# -# File system free space calculation behavior -# -# default: -CONFIG_FATFS_DONT_TRUST_FREE_CLUSTER_CNT=0 -# default: -CONFIG_FATFS_DONT_TRUST_LAST_ALLOC=0 -# end of File system free space calculation behavior -# end of FAT Filesystem support - -# -# FreeRTOS -# - -# -# Kernel -# -# default: -# CONFIG_FREERTOS_SMP is not set -# default: -# CONFIG_FREERTOS_UNICORE is not set -CONFIG_FREERTOS_HZ=1000 -# default: -# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_NONE is not set -# default: -# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_PTRVAL is not set -# default: -CONFIG_FREERTOS_CHECK_STACKOVERFLOW_CANARY=y -# default: -CONFIG_FREERTOS_THREAD_LOCAL_STORAGE_POINTERS=1 -# default: -CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1536 -# default: -# CONFIG_FREERTOS_USE_IDLE_HOOK is not set -# default: -# CONFIG_FREERTOS_USE_TICK_HOOK is not set -# default: -CONFIG_FREERTOS_MAX_TASK_NAME_LEN=16 -# default: -# CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY is not set -# default: -CONFIG_FREERTOS_USE_TIMERS=y -# default: -CONFIG_FREERTOS_TIMER_SERVICE_TASK_NAME="Tmr Svc" -# default: -# CONFIG_FREERTOS_TIMER_TASK_AFFINITY_CPU0 is not set -# default: -# CONFIG_FREERTOS_TIMER_TASK_AFFINITY_CPU1 is not set -# default: -CONFIG_FREERTOS_TIMER_TASK_NO_AFFINITY=y -# default: -CONFIG_FREERTOS_TIMER_SERVICE_TASK_CORE_AFFINITY=0x7FFFFFFF -# default: -CONFIG_FREERTOS_TIMER_TASK_PRIORITY=1 -# default: -CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=2048 -# default: -CONFIG_FREERTOS_TIMER_QUEUE_LENGTH=10 -# default: -CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE=0 -# default: -CONFIG_FREERTOS_TASK_NOTIFICATION_ARRAY_ENTRIES=1 -# default: -# CONFIG_FREERTOS_USE_TRACE_FACILITY is not set -# default: -# CONFIG_FREERTOS_USE_LIST_DATA_INTEGRITY_CHECK_BYTES is not set -# default: -# CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS is not set -# default: -# CONFIG_FREERTOS_USE_APPLICATION_TASK_TAG is not set -# end of Kernel - -# -# Port -# -# default: -CONFIG_FREERTOS_TASK_FUNCTION_WRAPPER=y -# default: -# CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK is not set -# default: -CONFIG_FREERTOS_TLSP_DELETION_CALLBACKS=y -# default: -# CONFIG_FREERTOS_TASK_PRE_DELETION_HOOK is not set -# default: -# CONFIG_FREERTOS_ENABLE_STATIC_TASK_CLEAN_UP is not set -# default: -CONFIG_FREERTOS_CHECK_MUTEX_GIVEN_BY_OWNER=y -# default: -CONFIG_FREERTOS_ISR_STACKSIZE=1536 -# default: -CONFIG_FREERTOS_INTERRUPT_BACKTRACE=y -# default: -# CONFIG_FREERTOS_FPU_IN_ISR is not set -# default: -CONFIG_FREERTOS_TICK_SUPPORT_CORETIMER=y -# default: -CONFIG_FREERTOS_CORETIMER_0=y -# default: -# CONFIG_FREERTOS_CORETIMER_1 is not set -# default: -CONFIG_FREERTOS_SYSTICK_USES_CCOUNT=y -# default: -# CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH is not set -# default: -# CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE is not set -# end of Port - -# -# Extra -# -# end of Extra - -# default: -CONFIG_FREERTOS_PORT=y -# default: -CONFIG_FREERTOS_NO_AFFINITY=0x7FFFFFFF -# default: -CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION=y -# default: -CONFIG_FREERTOS_DEBUG_OCDAWARE=y -# default: -CONFIG_FREERTOS_ENABLE_TASK_SNAPSHOT=y -# default: -CONFIG_FREERTOS_PLACE_SNAPSHOT_FUNS_INTO_FLASH=y -# default: -CONFIG_FREERTOS_NUMBER_OF_CORES=2 -# default: -CONFIG_FREERTOS_IN_IRAM=y -# end of FreeRTOS - -# -# Hardware Abstraction Layer (HAL) and Low Level (LL) -# -# default: -CONFIG_HAL_ASSERTION_EQUALS_SYSTEM=y -# default: -# CONFIG_HAL_ASSERTION_DISABLE is not set -# default: -# CONFIG_HAL_ASSERTION_SILENT is not set -# default: -# CONFIG_HAL_ASSERTION_ENABLE is not set -# default: -CONFIG_HAL_DEFAULT_ASSERTION_LEVEL=2 -# end of Hardware Abstraction Layer (HAL) and Low Level (LL) - -# -# Heap memory debugging -# -# default: -CONFIG_HEAP_POISONING_DISABLED=y -# default: -# CONFIG_HEAP_POISONING_LIGHT is not set -# default: -# CONFIG_HEAP_POISONING_COMPREHENSIVE is not set -# default: -CONFIG_HEAP_TRACING_OFF=y -# default: -# CONFIG_HEAP_TRACING_STANDALONE is not set -# default: -# CONFIG_HEAP_TRACING_TOHOST is not set -# default: -# CONFIG_HEAP_USE_HOOKS is not set -# default: -# CONFIG_HEAP_TASK_TRACKING is not set -# default: -# CONFIG_HEAP_ABORT_WHEN_ALLOCATION_FAILS is not set -# default: -# CONFIG_HEAP_PLACE_FUNCTION_INTO_FLASH is not set -# end of Heap memory debugging - -# -# Log -# -# default: -CONFIG_LOG_VERSION_1=y -# default: -# CONFIG_LOG_VERSION_2 is not set -# default: -CONFIG_LOG_VERSION=1 - -# -# Log Level -# -# default: -# CONFIG_LOG_DEFAULT_LEVEL_NONE is not set -# default: -# CONFIG_LOG_DEFAULT_LEVEL_ERROR is not set -# default: -# CONFIG_LOG_DEFAULT_LEVEL_WARN is not set -# default: -CONFIG_LOG_DEFAULT_LEVEL_INFO=y -# default: -# CONFIG_LOG_DEFAULT_LEVEL_DEBUG is not set -# default: -# CONFIG_LOG_DEFAULT_LEVEL_VERBOSE is not set -# default: -CONFIG_LOG_DEFAULT_LEVEL=3 -# default: -CONFIG_LOG_MAXIMUM_EQUALS_DEFAULT=y -# default: -# CONFIG_LOG_MAXIMUM_LEVEL_DEBUG is not set -# default: -# CONFIG_LOG_MAXIMUM_LEVEL_VERBOSE is not set -# default: -CONFIG_LOG_MAXIMUM_LEVEL=3 - -# -# Level Settings -# -# default: -# CONFIG_LOG_MASTER_LEVEL is not set -# default: -CONFIG_LOG_DYNAMIC_LEVEL_CONTROL=y -# default: -# CONFIG_LOG_TAG_LEVEL_IMPL_NONE is not set -# default: -# CONFIG_LOG_TAG_LEVEL_IMPL_LINKED_LIST is not set -# default: -CONFIG_LOG_TAG_LEVEL_IMPL_CACHE_AND_LINKED_LIST=y -# default: -# CONFIG_LOG_TAG_LEVEL_CACHE_ARRAY is not set -# default: -CONFIG_LOG_TAG_LEVEL_CACHE_BINARY_MIN_HEAP=y -# default: -CONFIG_LOG_TAG_LEVEL_IMPL_CACHE_SIZE=31 -# end of Level Settings -# end of Log Level - -# -# Format -# -# default: -# CONFIG_LOG_COLORS is not set -# default: -CONFIG_LOG_TIMESTAMP_SOURCE_RTOS=y -# default: -# CONFIG_LOG_TIMESTAMP_SOURCE_SYSTEM is not set -# end of Format - -# -# Settings -# -# default: -CONFIG_LOG_MODE_TEXT_EN=y -# default: -CONFIG_LOG_MODE_TEXT=y -# end of Settings - -# default: -CONFIG_LOG_IN_IRAM=y -# end of Log - -# -# LWIP -# -# default: -CONFIG_LWIP_ENABLE=y -# default: -CONFIG_LWIP_LOCAL_HOSTNAME="espressif" -# default: -CONFIG_LWIP_TCPIP_TASK_PRIO=18 -# default: -# CONFIG_LWIP_TCPIP_CORE_LOCKING is not set -# default: -# CONFIG_LWIP_CHECK_THREAD_SAFETY is not set -# default: -CONFIG_LWIP_DNS_SUPPORT_MDNS_QUERIES=y -# default: -# CONFIG_LWIP_L2_TO_L3_COPY is not set -# default: -# CONFIG_LWIP_IRAM_OPTIMIZATION is not set -# default: -# CONFIG_LWIP_EXTRA_IRAM_OPTIMIZATION is not set -# default: -CONFIG_LWIP_TIMERS_ONDEMAND=y -# default: -CONFIG_LWIP_ND6=y -# default: -# CONFIG_LWIP_FORCE_ROUTER_FORWARDING is not set -# default: -CONFIG_LWIP_MAX_SOCKETS=10 -# default: -# CONFIG_LWIP_USE_ONLY_LWIP_SELECT is not set -# default: -# CONFIG_LWIP_SO_LINGER is not set -# default: -CONFIG_LWIP_SO_REUSE=y -# default: -CONFIG_LWIP_SO_REUSE_RXTOALL=y -CONFIG_LWIP_SO_RCVBUF=y -# default: -# CONFIG_LWIP_NETBUF_RECVINFO is not set -# default: -CONFIG_LWIP_IP_DEFAULT_TTL=64 -# default: -CONFIG_LWIP_IP4_FRAG=y -# default: -CONFIG_LWIP_IP6_FRAG=y -# default: -# CONFIG_LWIP_IP4_REASSEMBLY is not set -# default: -# CONFIG_LWIP_IP6_REASSEMBLY is not set -# default: -CONFIG_LWIP_IP_REASS_MAX_PBUFS=10 -# default: -# CONFIG_LWIP_IP_FORWARD is not set -# default: -# CONFIG_LWIP_STATS is not set -# default: -CONFIG_LWIP_ESP_GRATUITOUS_ARP=y -# default: -CONFIG_LWIP_GARP_TMR_INTERVAL=60 -# default: -CONFIG_LWIP_ESP_MLDV6_REPORT=y -# default: -CONFIG_LWIP_MLDV6_TMR_INTERVAL=40 -# default: -CONFIG_LWIP_TCPIP_RECVMBOX_SIZE=32 -# default: -CONFIG_LWIP_DHCP_DOES_ARP_CHECK=y -# default: -# CONFIG_LWIP_DHCP_DOES_ACD_CHECK is not set -# default: -# CONFIG_LWIP_DHCP_DOES_NOT_CHECK_OFFERED_IP is not set -# default: -# CONFIG_LWIP_DHCP_DISABLE_CLIENT_ID is not set -# default: -CONFIG_LWIP_DHCP_DISABLE_VENDOR_CLASS_ID=y -# default: -# CONFIG_LWIP_DHCP_RESTORE_LAST_IP is not set -# default: -CONFIG_LWIP_DHCP_OPTIONS_LEN=69 -# default: -CONFIG_LWIP_NUM_NETIF_CLIENT_DATA=0 -# default: -CONFIG_LWIP_DHCP_COARSE_TIMER_SECS=1 - -# -# DHCP server -# -# default: -CONFIG_LWIP_DHCPS=y -# default: -CONFIG_LWIP_DHCPS_LEASE_UNIT=60 -# default: -CONFIG_LWIP_DHCPS_MAX_STATION_NUM=8 -# default: -CONFIG_LWIP_DHCPS_STATIC_ENTRIES=y -# default: -CONFIG_LWIP_DHCPS_ADD_DNS=y -# end of DHCP server - -# default: -# CONFIG_LWIP_AUTOIP is not set -# default: -CONFIG_LWIP_IPV4=y -# default: -CONFIG_LWIP_IPV6=y -# default: -# CONFIG_LWIP_IPV6_AUTOCONFIG is not set -# default: -CONFIG_LWIP_IPV6_NUM_ADDRESSES=3 -# default: -# CONFIG_LWIP_IPV6_FORWARD is not set -# default: -# CONFIG_LWIP_NETIF_STATUS_CALLBACK is not set -# default: -CONFIG_LWIP_NETIF_LOOPBACK=y -# default: -CONFIG_LWIP_LOOPBACK_MAX_PBUFS=8 - -# -# TCP -# -# default: -CONFIG_LWIP_MAX_ACTIVE_TCP=16 -# default: -CONFIG_LWIP_MAX_LISTENING_TCP=16 -# default: -CONFIG_LWIP_TCP_HIGH_SPEED_RETRANSMISSION=y -# default: -CONFIG_LWIP_TCP_MAXRTX=12 -# default: -CONFIG_LWIP_TCP_SYNMAXRTX=12 -# default: -CONFIG_LWIP_TCP_MSS=1440 -# default: -CONFIG_LWIP_TCP_TMR_INTERVAL=250 -# default: -CONFIG_LWIP_TCP_MSL=60000 -# default: -CONFIG_LWIP_TCP_FIN_WAIT_TIMEOUT=20000 -# default: -CONFIG_LWIP_TCP_SND_BUF_DEFAULT=5760 -# default: -CONFIG_LWIP_TCP_WND_DEFAULT=5760 -# default: -CONFIG_LWIP_TCP_RECVMBOX_SIZE=6 -# default: -CONFIG_LWIP_TCP_ACCEPTMBOX_SIZE=6 -# default: -CONFIG_LWIP_TCP_QUEUE_OOSEQ=y -# default: -CONFIG_LWIP_TCP_OOSEQ_TIMEOUT=6 -# default: -CONFIG_LWIP_TCP_OOSEQ_MAX_PBUFS=4 -# default: -# CONFIG_LWIP_TCP_SACK_OUT is not set -# default: -CONFIG_LWIP_TCP_OVERSIZE_MSS=y -# default: -# CONFIG_LWIP_TCP_OVERSIZE_QUARTER_MSS is not set -# default: -# CONFIG_LWIP_TCP_OVERSIZE_DISABLE is not set -# default: -CONFIG_LWIP_TCP_RTO_TIME=1500 -# end of TCP - -# -# UDP -# -# default: -CONFIG_LWIP_MAX_UDP_PCBS=16 -# default: -CONFIG_LWIP_UDP_RECVMBOX_SIZE=6 -# end of UDP - -# -# Checksums -# -# default: -# CONFIG_LWIP_CHECKSUM_CHECK_IP is not set -# default: -# CONFIG_LWIP_CHECKSUM_CHECK_UDP is not set -# default: -CONFIG_LWIP_CHECKSUM_CHECK_ICMP=y -# end of Checksums - -# default: -CONFIG_LWIP_TCPIP_TASK_STACK_SIZE=3072 -# default: -CONFIG_LWIP_TCPIP_TASK_AFFINITY_NO_AFFINITY=y -# default: -# CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU0 is not set -# default: -# CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU1 is not set -# default: -CONFIG_LWIP_TCPIP_TASK_AFFINITY=0x7FFFFFFF -# default: -CONFIG_LWIP_IPV6_MEMP_NUM_ND6_QUEUE=3 -# default: -CONFIG_LWIP_IPV6_ND6_NUM_NEIGHBORS=5 -# default: -CONFIG_LWIP_IPV6_ND6_NUM_PREFIXES=5 -# default: -CONFIG_LWIP_IPV6_ND6_NUM_ROUTERS=3 -# default: -CONFIG_LWIP_IPV6_ND6_NUM_DESTINATIONS=10 -# default: -# CONFIG_LWIP_IPV6_ND6_ROUTE_INFO_OPTION_SUPPORT is not set -# default: -CONFIG_LWIP_PPP_SUPPORT=y -# default: -CONFIG_LWIP_PPP_ENABLE_IPV4=y -# default: -CONFIG_LWIP_PPP_ENABLE_IPV6=y -# default: -# CONFIG_LWIP_PPP_NOTIFY_PHASE_SUPPORT is not set -# default: -# CONFIG_LWIP_PPP_PAP_SUPPORT is not set -# default: -# CONFIG_LWIP_PPP_CHAP_SUPPORT is not set -# default: -# CONFIG_LWIP_PPP_MSCHAP_SUPPORT is not set -# default: -# CONFIG_LWIP_PPP_MPPE_SUPPORT is not set -# default: -# CONFIG_LWIP_PPP_SERVER_SUPPORT is not set -# default: -CONFIG_LWIP_PPP_VJ_HEADER_COMPRESSION=y -# default: -# CONFIG_LWIP_ENABLE_LCP_ECHO is not set -# default: -# CONFIG_LWIP_PPP_DEBUG_ON is not set -# default: -# CONFIG_LWIP_USE_EXTERNAL_MBEDTLS is not set -# default: -# CONFIG_LWIP_SLIP_SUPPORT is not set - -# -# ICMP -# -# default: -CONFIG_LWIP_ICMP=y -# default: -# CONFIG_LWIP_MULTICAST_PING is not set -# default: -# CONFIG_LWIP_BROADCAST_PING is not set -# end of ICMP - -# -# LWIP RAW API -# -# default: -CONFIG_LWIP_MAX_RAW_PCBS=16 -# end of LWIP RAW API - -# -# SNTP -# -# default: -CONFIG_LWIP_SNTP_MAX_SERVERS=1 -# default: -# CONFIG_LWIP_DHCP_GET_NTP_SRV is not set -# default: -CONFIG_LWIP_SNTP_UPDATE_DELAY=3600000 -# default: -CONFIG_LWIP_SNTP_STARTUP_DELAY=y -# default: -CONFIG_LWIP_SNTP_MAXIMUM_STARTUP_DELAY=5000 -# end of SNTP - -# -# DNS -# -# default: -CONFIG_LWIP_DNS_MAX_HOST_IP=1 -# default: -CONFIG_LWIP_DNS_MAX_SERVERS=3 -# default: -# CONFIG_LWIP_FALLBACK_DNS_SERVER_SUPPORT is not set -# default: -# CONFIG_LWIP_DNS_SETSERVER_WITH_NETIF is not set -# default: -# CONFIG_LWIP_USE_ESP_GETADDRINFO is not set -# end of DNS - -# default: -CONFIG_LWIP_BRIDGEIF_MAX_PORTS=7 -# default: -CONFIG_LWIP_ESP_LWIP_ASSERT=y - -# -# Hooks -# -# default: -# CONFIG_LWIP_HOOK_TCP_ISN_NONE is not set -# default: -CONFIG_LWIP_HOOK_TCP_ISN_DEFAULT=y -# default: -# CONFIG_LWIP_HOOK_TCP_ISN_CUSTOM is not set -# default: -CONFIG_LWIP_HOOK_IP6_ROUTE_NONE=y -# default: -# CONFIG_LWIP_HOOK_IP6_ROUTE_DEFAULT is not set -# default: -# CONFIG_LWIP_HOOK_IP6_ROUTE_CUSTOM is not set -# default: -CONFIG_LWIP_HOOK_ND6_GET_GW_NONE=y -# default: -# CONFIG_LWIP_HOOK_ND6_GET_GW_DEFAULT is not set -# default: -# CONFIG_LWIP_HOOK_ND6_GET_GW_CUSTOM is not set -# default: -CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_NONE=y -# default: -# CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_DEFAULT is not set -# default: -# CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_CUSTOM is not set -# default: -CONFIG_LWIP_HOOK_DHCP_EXTRA_OPTION_NONE=y -# default: -# CONFIG_LWIP_HOOK_DHCP_EXTRA_OPTION_DEFAULT is not set -# default: -# CONFIG_LWIP_HOOK_DHCP_EXTRA_OPTION_CUSTOM is not set -# default: -CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_NONE=y -# default: -# CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_DEFAULT is not set -# default: -# CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_CUSTOM is not set -# default: -CONFIG_LWIP_HOOK_DNS_EXT_RESOLVE_NONE=y -# default: -# CONFIG_LWIP_HOOK_DNS_EXT_RESOLVE_CUSTOM is not set -# default: -# CONFIG_LWIP_HOOK_IP6_INPUT_NONE is not set -# default: -CONFIG_LWIP_HOOK_IP6_INPUT_DEFAULT=y -# default: -# CONFIG_LWIP_HOOK_IP6_INPUT_CUSTOM is not set -# end of Hooks - -# default: -# CONFIG_LWIP_DEBUG is not set -# end of LWIP - -# -# mbedTLS -# -# default: -CONFIG_MBEDTLS_INTERNAL_MEM_ALLOC=y -# default: -# CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC is not set -# default: -# CONFIG_MBEDTLS_CUSTOM_MEM_ALLOC is not set -# default: -CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN=y -# default: -CONFIG_MBEDTLS_SSL_IN_CONTENT_LEN=16384 -# default: -CONFIG_MBEDTLS_SSL_OUT_CONTENT_LEN=4096 -# default: -# CONFIG_MBEDTLS_DYNAMIC_BUFFER is not set -# default: -# CONFIG_MBEDTLS_DEBUG is not set - -# -# mbedTLS v3.x related -# -# default: -# CONFIG_MBEDTLS_SSL_PROTO_TLS1_3 is not set -# default: -# CONFIG_MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH is not set -# default: -# CONFIG_MBEDTLS_X509_TRUSTED_CERT_CALLBACK is not set -# default: -# CONFIG_MBEDTLS_SSL_CONTEXT_SERIALIZATION is not set -# default: -CONFIG_MBEDTLS_SSL_KEEP_PEER_CERTIFICATE=y -# default: -# CONFIG_MBEDTLS_SSL_KEYING_MATERIAL_EXPORT is not set -# default: -CONFIG_MBEDTLS_PKCS7_C=y -# end of mbedTLS v3.x related - -# -# Certificate Bundle -# -# default: -CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=y -# default: -CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_FULL=y -# default: -# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_CMN is not set -# default: -# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_NONE is not set -# default: -# CONFIG_MBEDTLS_CUSTOM_CERTIFICATE_BUNDLE is not set -# default: -# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEPRECATED_LIST is not set -# default: -CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_MAX_CERTS=200 -# end of Certificate Bundle - -# default: -# CONFIG_MBEDTLS_ECP_RESTARTABLE is not set -# default: -CONFIG_MBEDTLS_CMAC_C=y -# default: -CONFIG_MBEDTLS_HARDWARE_AES=y -# default: -CONFIG_MBEDTLS_GCM_SUPPORT_NON_AES_CIPHER=y -# default: -CONFIG_MBEDTLS_HARDWARE_MPI=y -# default: -# CONFIG_MBEDTLS_LARGE_KEY_SOFTWARE_MPI is not set -# default: -CONFIG_MBEDTLS_HARDWARE_SHA=y -# default: -CONFIG_MBEDTLS_ROM_MD5=y -# default: -# CONFIG_MBEDTLS_ATCA_HW_ECDSA_SIGN is not set -# default: -# CONFIG_MBEDTLS_ATCA_HW_ECDSA_VERIFY is not set -# default: -CONFIG_MBEDTLS_HAVE_TIME=y -# default: -# CONFIG_MBEDTLS_PLATFORM_TIME_ALT is not set -# default: -# CONFIG_MBEDTLS_HAVE_TIME_DATE is not set -# default: -CONFIG_MBEDTLS_ECDSA_DETERMINISTIC=y -# default: -CONFIG_MBEDTLS_SHA1_C=y -# default: -CONFIG_MBEDTLS_SHA512_C=y -# default: -# CONFIG_MBEDTLS_SHA3_C is not set -# default: -CONFIG_MBEDTLS_TLS_SERVER_AND_CLIENT=y -# default: -# CONFIG_MBEDTLS_TLS_SERVER_ONLY is not set -# default: -# CONFIG_MBEDTLS_TLS_CLIENT_ONLY is not set -# default: -# CONFIG_MBEDTLS_TLS_DISABLED is not set -# default: -CONFIG_MBEDTLS_TLS_SERVER=y -# default: -CONFIG_MBEDTLS_TLS_CLIENT=y -# default: -CONFIG_MBEDTLS_TLS_ENABLED=y - -# -# TLS Key Exchange Methods -# -CONFIG_MBEDTLS_PSK_MODES=y -CONFIG_MBEDTLS_KEY_EXCHANGE_PSK=y -# default: -CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_PSK=y -# default: -CONFIG_MBEDTLS_KEY_EXCHANGE_RSA_PSK=y -# default: -CONFIG_MBEDTLS_KEY_EXCHANGE_RSA=y -# default: -CONFIG_MBEDTLS_KEY_EXCHANGE_ELLIPTIC_CURVE=y -# default: -CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_RSA=y -# default: -CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA=y -# default: -CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA=y -# default: -CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_RSA=y -# end of TLS Key Exchange Methods - -# default: -CONFIG_MBEDTLS_SSL_RENEGOTIATION=y -# default: -CONFIG_MBEDTLS_SSL_PROTO_TLS1_2=y -# default: -# CONFIG_MBEDTLS_SSL_PROTO_GMTSSL1_1 is not set -# default: -# CONFIG_MBEDTLS_SSL_PROTO_DTLS is not set -# default: -CONFIG_MBEDTLS_SSL_ALPN=y -# default: -CONFIG_MBEDTLS_CLIENT_SSL_SESSION_TICKETS=y -# default: -CONFIG_MBEDTLS_SERVER_SSL_SESSION_TICKETS=y - -# -# Symmetric Ciphers -# -# default: -CONFIG_MBEDTLS_AES_C=y -# default: -# CONFIG_MBEDTLS_CAMELLIA_C is not set -# default: -# CONFIG_MBEDTLS_DES_C is not set -# default: -# CONFIG_MBEDTLS_BLOWFISH_C is not set -# default: -# CONFIG_MBEDTLS_XTEA_C is not set -# default: -CONFIG_MBEDTLS_CCM_C=y -# default: -CONFIG_MBEDTLS_GCM_C=y -# default: -# CONFIG_MBEDTLS_NIST_KW_C is not set -# end of Symmetric Ciphers - -# default: -# CONFIG_MBEDTLS_RIPEMD160_C is not set - -# -# Certificates -# -# default: -CONFIG_MBEDTLS_PEM_PARSE_C=y -# default: -CONFIG_MBEDTLS_PEM_WRITE_C=y -# default: -CONFIG_MBEDTLS_X509_CRL_PARSE_C=y -# default: -CONFIG_MBEDTLS_X509_CSR_PARSE_C=y -# end of Certificates - -# default: -CONFIG_MBEDTLS_ECP_C=y -# default: -CONFIG_MBEDTLS_PK_PARSE_EC_EXTENDED=y -# default: -CONFIG_MBEDTLS_PK_PARSE_EC_COMPRESSED=y -# default: -# CONFIG_MBEDTLS_DHM_C is not set -# default: -CONFIG_MBEDTLS_ECDH_C=y -# default: -CONFIG_MBEDTLS_ECDSA_C=y -# default: -# CONFIG_MBEDTLS_ECJPAKE_C is not set -# default: -CONFIG_MBEDTLS_ECP_DP_SECP192R1_ENABLED=y -# default: -CONFIG_MBEDTLS_ECP_DP_SECP224R1_ENABLED=y -# default: -CONFIG_MBEDTLS_ECP_DP_SECP256R1_ENABLED=y -# default: -CONFIG_MBEDTLS_ECP_DP_SECP384R1_ENABLED=y -# default: -CONFIG_MBEDTLS_ECP_DP_SECP521R1_ENABLED=y -# default: -CONFIG_MBEDTLS_ECP_DP_SECP192K1_ENABLED=y -# default: -CONFIG_MBEDTLS_ECP_DP_SECP224K1_ENABLED=y -# default: -CONFIG_MBEDTLS_ECP_DP_SECP256K1_ENABLED=y -# default: -CONFIG_MBEDTLS_ECP_DP_BP256R1_ENABLED=y -# default: -CONFIG_MBEDTLS_ECP_DP_BP384R1_ENABLED=y -# default: -CONFIG_MBEDTLS_ECP_DP_BP512R1_ENABLED=y -# default: -CONFIG_MBEDTLS_ECP_DP_CURVE25519_ENABLED=y -# default: -CONFIG_MBEDTLS_ECP_NIST_OPTIM=y -# default: -# CONFIG_MBEDTLS_ECP_FIXED_POINT_OPTIM is not set -# default: -# CONFIG_MBEDTLS_POLY1305_C is not set -# default: -# CONFIG_MBEDTLS_CHACHA20_C is not set -# default: -# CONFIG_MBEDTLS_HKDF_C is not set -# default: -# CONFIG_MBEDTLS_THREADING_C is not set -# default: -CONFIG_MBEDTLS_ERROR_STRINGS=y -# default: -CONFIG_MBEDTLS_FS_IO=y -# default: -# CONFIG_MBEDTLS_ALLOW_WEAK_CERTIFICATE_VERIFICATION is not set -# end of mbedTLS - -# -# ESP-MQTT Configurations -# -# default: -CONFIG_MQTT_PROTOCOL_311=y -# default: -# CONFIG_MQTT_PROTOCOL_5 is not set -# default: -CONFIG_MQTT_TRANSPORT_SSL=y -# default: -CONFIG_MQTT_TRANSPORT_WEBSOCKET=y -# default: -CONFIG_MQTT_TRANSPORT_WEBSOCKET_SECURE=y -# default: -# CONFIG_MQTT_MSG_ID_INCREMENTAL is not set -# default: -# CONFIG_MQTT_SKIP_PUBLISH_IF_DISCONNECTED is not set -# default: -# CONFIG_MQTT_REPORT_DELETED_MESSAGES is not set -# default: -# CONFIG_MQTT_USE_CUSTOM_CONFIG is not set -# default: -# CONFIG_MQTT_TASK_CORE_SELECTION_ENABLED is not set -# default: -# CONFIG_MQTT_CUSTOM_OUTBOX is not set -# end of ESP-MQTT Configurations - -# -# LibC -# -# default: -CONFIG_LIBC_NEWLIB=y -# default: -# CONFIG_LIBC_PICOLIBC is not set -# default: -CONFIG_LIBC_MISC_IN_IRAM=y -# default: -CONFIG_LIBC_LOCKS_PLACE_IN_IRAM=y -# default: -CONFIG_LIBC_STDOUT_LINE_ENDING_CRLF=y -# default: -# CONFIG_LIBC_STDOUT_LINE_ENDING_LF is not set -# default: -# CONFIG_LIBC_STDOUT_LINE_ENDING_CR is not set -# default: -# CONFIG_LIBC_STDIN_LINE_ENDING_CRLF is not set -# default: -# CONFIG_LIBC_STDIN_LINE_ENDING_LF is not set -# default: -CONFIG_LIBC_STDIN_LINE_ENDING_CR=y -# default: -# CONFIG_LIBC_NEWLIB_NANO_FORMAT is not set -# default: -CONFIG_LIBC_TIME_SYSCALL_USE_RTC_HRT=y -# default: -# CONFIG_LIBC_TIME_SYSCALL_USE_RTC is not set -# default: -# CONFIG_LIBC_TIME_SYSCALL_USE_HRT is not set -# default: -# CONFIG_LIBC_TIME_SYSCALL_USE_NONE is not set -# default: -CONFIG_LIBC_ASSERT_BUFFER_SIZE=200 -# end of LibC - -# -# NVS -# -# default: -# CONFIG_NVS_ASSERT_ERROR_CHECK is not set -# default: -# CONFIG_NVS_LEGACY_DUP_KEYS_COMPATIBILITY is not set -# end of NVS - -# -# OpenThread -# -# default: -# CONFIG_OPENTHREAD_ENABLED is not set - -# -# OpenThread Spinel -# -# default: -# CONFIG_OPENTHREAD_SPINEL_ONLY is not set -# end of OpenThread Spinel - -# default: -# CONFIG_OPENTHREAD_DEBUG is not set -# end of OpenThread - -# -# Protocomm -# -# default: -CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_0=y -# default: -CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_1=y -# default: -CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_2=y -# default: -CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_PATCH_VERSION=y -# end of Protocomm - -# -# PThreads -# -# default: -CONFIG_PTHREAD_TASK_PRIO_DEFAULT=5 -# default: -CONFIG_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 -# default: -CONFIG_PTHREAD_STACK_MIN=768 -# default: -CONFIG_PTHREAD_DEFAULT_CORE_NO_AFFINITY=y -# default: -# CONFIG_PTHREAD_DEFAULT_CORE_0 is not set -# default: -# CONFIG_PTHREAD_DEFAULT_CORE_1 is not set -# default: -CONFIG_PTHREAD_TASK_CORE_DEFAULT=-1 -# default: -CONFIG_PTHREAD_TASK_NAME_DEFAULT="pthread" -# end of PThreads - -# -# MMU Config -# -# default: -CONFIG_MMU_PAGE_SIZE_64KB=y -# default: -CONFIG_MMU_PAGE_MODE="64KB" -# default: -CONFIG_MMU_PAGE_SIZE=0x10000 -# end of MMU Config - -# -# Main Flash configuration -# - -# -# SPI Flash behavior when brownout -# -# default: -CONFIG_SPI_FLASH_BROWNOUT_RESET_XMC=y -# default: -CONFIG_SPI_FLASH_BROWNOUT_RESET=y -# end of SPI Flash behavior when brownout - -# -# Optional and Experimental Features (READ DOCS FIRST) -# - -# -# Features here require specific hardware (READ DOCS FIRST!) -# -# default: -CONFIG_SPI_FLASH_SUSPEND_TSUS_VAL_US=50 -# default: -# CONFIG_SPI_FLASH_FORCE_ENABLE_XMC_C_SUSPEND is not set -# default: -# CONFIG_SPI_FLASH_FORCE_ENABLE_C6_H2_SUSPEND is not set -# default: -CONFIG_SPI_FLASH_PLACE_FUNCTIONS_IN_IRAM=y -# end of Optional and Experimental Features (READ DOCS FIRST) -# end of Main Flash configuration - -# -# SPI Flash driver -# -# default: -# CONFIG_SPI_FLASH_VERIFY_WRITE is not set -# default: -# CONFIG_SPI_FLASH_ENABLE_COUNTERS is not set -# default: -CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=y -# default: -CONFIG_SPI_FLASH_DANGEROUS_WRITE_ABORTS=y -# default: -# CONFIG_SPI_FLASH_DANGEROUS_WRITE_FAILS is not set -# default: -# CONFIG_SPI_FLASH_DANGEROUS_WRITE_ALLOWED is not set -# default: -# CONFIG_SPI_FLASH_SHARE_SPI1_BUS is not set -# default: -# CONFIG_SPI_FLASH_BYPASS_BLOCK_ERASE is not set -# default: -CONFIG_SPI_FLASH_YIELD_DURING_ERASE=y -# default: -CONFIG_SPI_FLASH_ERASE_YIELD_DURATION_MS=20 -# default: -CONFIG_SPI_FLASH_ERASE_YIELD_TICKS=1 -# default: -CONFIG_SPI_FLASH_WRITE_CHUNK_SIZE=8192 -# default: -# CONFIG_SPI_FLASH_SIZE_OVERRIDE is not set -# default: -# CONFIG_SPI_FLASH_CHECK_ERASE_TIMEOUT_DISABLED is not set -# default: -# CONFIG_SPI_FLASH_OVERRIDE_CHIP_DRIVER_LIST is not set - -# -# Auto-detect flash chips -# -# default: -CONFIG_SPI_FLASH_VENDOR_XMC_SUPPORT_ENABLED=y -# default: -CONFIG_SPI_FLASH_VENDOR_GD_SUPPORT_ENABLED=y -# default: -CONFIG_SPI_FLASH_VENDOR_ISSI_SUPPORT_ENABLED=y -# default: -CONFIG_SPI_FLASH_VENDOR_MXIC_SUPPORT_ENABLED=y -# default: -CONFIG_SPI_FLASH_VENDOR_WINBOND_SUPPORT_ENABLED=y -# default: -CONFIG_SPI_FLASH_SUPPORT_ISSI_CHIP=y -# default: -CONFIG_SPI_FLASH_SUPPORT_MXIC_CHIP=y -# default: -CONFIG_SPI_FLASH_SUPPORT_GD_CHIP=y -# default: -CONFIG_SPI_FLASH_SUPPORT_WINBOND_CHIP=y -# default: -# CONFIG_SPI_FLASH_SUPPORT_BOYA_CHIP is not set -# default: -# CONFIG_SPI_FLASH_SUPPORT_TH_CHIP is not set -# end of Auto-detect flash chips - -# default: -CONFIG_SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE=y -# end of SPI Flash driver - -# -# SPIFFS Configuration -# -# default: -CONFIG_SPIFFS_MAX_PARTITIONS=3 - -# -# SPIFFS Cache Configuration -# -# default: -CONFIG_SPIFFS_CACHE=y -# default: -CONFIG_SPIFFS_CACHE_WR=y -# default: -# CONFIG_SPIFFS_CACHE_STATS is not set -# end of SPIFFS Cache Configuration - -# default: -CONFIG_SPIFFS_PAGE_CHECK=y -# default: -CONFIG_SPIFFS_GC_MAX_RUNS=10 -# default: -# CONFIG_SPIFFS_GC_STATS is not set -# default: -CONFIG_SPIFFS_PAGE_SIZE=256 -# default: -CONFIG_SPIFFS_OBJ_NAME_LEN=32 -# default: -# CONFIG_SPIFFS_FOLLOW_SYMLINKS is not set -# default: -CONFIG_SPIFFS_USE_MAGIC=y -# default: -CONFIG_SPIFFS_USE_MAGIC_LENGTH=y -# default: -CONFIG_SPIFFS_META_LENGTH=4 -# default: -CONFIG_SPIFFS_USE_MTIME=y - -# -# Debug Configuration -# -# default: -# CONFIG_SPIFFS_DBG is not set -# default: -# CONFIG_SPIFFS_API_DBG is not set -# default: -# CONFIG_SPIFFS_GC_DBG is not set -# default: -# CONFIG_SPIFFS_CACHE_DBG is not set -# default: -# CONFIG_SPIFFS_CHECK_DBG is not set -# default: -# CONFIG_SPIFFS_TEST_VISUALISATION is not set -# end of Debug Configuration -# end of SPIFFS Configuration - -# -# TCP Transport -# - -# -# Websocket -# -# default: -CONFIG_WS_TRANSPORT=y -# default: -CONFIG_WS_BUFFER_SIZE=1024 -# default: -# CONFIG_WS_DYNAMIC_BUFFER is not set -# end of Websocket -# end of TCP Transport - -# -# Ultra Low Power (ULP) Co-processor -# -# default: -# CONFIG_ULP_COPROC_ENABLED is not set - -# -# ULP Debugging Options -# -# end of ULP Debugging Options -# end of Ultra Low Power (ULP) Co-processor - -# -# Unity unit testing library -# -# default: -CONFIG_UNITY_ENABLE_FLOAT=y -# default: -CONFIG_UNITY_ENABLE_DOUBLE=y -# default: -# CONFIG_UNITY_ENABLE_64BIT is not set -# default: -# CONFIG_UNITY_ENABLE_COLOR is not set -# default: -CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER=y -# default: -# CONFIG_UNITY_ENABLE_FIXTURE is not set -# default: -# CONFIG_UNITY_ENABLE_BACKTRACE_ON_FAIL is not set -# default: -# CONFIG_UNITY_TEST_ORDER_BY_FILE_PATH_AND_LINE is not set -# end of Unity unit testing library - -# -# Virtual file system -# -# default: -CONFIG_VFS_SUPPORT_IO=y -# default: -CONFIG_VFS_SUPPORT_DIR=y -# default: -CONFIG_VFS_SUPPORT_SELECT=y -# default: -CONFIG_VFS_SUPPRESS_SELECT_DEBUG_OUTPUT=y -# default: -# CONFIG_VFS_SELECT_IN_RAM is not set -# default: -CONFIG_VFS_SUPPORT_TERMIOS=y -# default: -CONFIG_VFS_MAX_COUNT=8 - -# -# Host File System I/O (Semihosting) -# -# default: -CONFIG_VFS_SEMIHOSTFS_MAX_MOUNT_POINTS=1 -# end of Host File System I/O (Semihosting) - -# default: -CONFIG_VFS_INITIALIZE_DEV_NULL=y -# end of Virtual file system - -# -# Wear Levelling -# -# default: -# CONFIG_WL_SECTOR_SIZE_512 is not set -# default: -CONFIG_WL_SECTOR_SIZE_4096=y -# default: -CONFIG_WL_SECTOR_SIZE=4096 -# end of Wear Levelling - -# -# Wi-Fi Provisioning Manager -# -# default: -CONFIG_WIFI_PROV_SCAN_MAX_ENTRIES=16 -# default: -CONFIG_WIFI_PROV_AUTOSTOP_TIMEOUT=30 -# default: -CONFIG_WIFI_PROV_STA_ALL_CHANNEL_SCAN=y -# default: -# CONFIG_WIFI_PROV_STA_FAST_SCAN is not set -# end of Wi-Fi Provisioning Manager - -# -# DSP Library -# -# default: -CONFIG_DSP_OPTIMIZATIONS_SUPPORTED=y -# default: -# CONFIG_DSP_ANSI is not set -# default: -CONFIG_DSP_OPTIMIZED=y -# default: -CONFIG_DSP_OPTIMIZATION=1 -# default: -# CONFIG_DSP_MAX_FFT_SIZE_512 is not set -# default: -# CONFIG_DSP_MAX_FFT_SIZE_1024 is not set -# default: -# CONFIG_DSP_MAX_FFT_SIZE_2048 is not set -# default: -CONFIG_DSP_MAX_FFT_SIZE_4096=y -# default: -# CONFIG_DSP_MAX_FFT_SIZE_8192 is not set -# default: -# CONFIG_DSP_MAX_FFT_SIZE_16384 is not set -# default: -# CONFIG_DSP_MAX_FFT_SIZE_32768 is not set -# default: -CONFIG_DSP_MAX_FFT_SIZE=4096 -# end of DSP Library - -# -# Modbus configuration -# -# default: -CONFIG_FMB_COMM_MODE_TCP_EN=y -# default: -CONFIG_FMB_TCP_PORT_DEFAULT=502 -# default: -CONFIG_FMB_TCP_PORT_MAX_CONN=5 -# default: -CONFIG_FMB_TCP_CONNECTION_TOUT_SEC=20 -# default: -# CONFIG_FMB_TCP_UID_ENABLED is not set -# default: -CONFIG_FMB_COMM_MODE_RTU_EN=y -# default: -CONFIG_FMB_COMM_MODE_ASCII_EN=y -# default: -CONFIG_FMB_MASTER_TIMEOUT_MS_RESPOND=3000 -# default: -CONFIG_FMB_MASTER_DELAY_MS_CONVERT=200 -# default: -CONFIG_FMB_QUEUE_LENGTH=20 -# default: -CONFIG_FMB_PORT_TASK_STACK_SIZE=4096 -# default: -CONFIG_FMB_SERIAL_BUF_SIZE=256 -# default: -CONFIG_FMB_SERIAL_ASCII_BITS_PER_SYMB=8 -# default: -CONFIG_FMB_ASCII_TIMEOUT_WAIT_BEFORE_SEND_MS=0 -# default: -CONFIG_FMB_SERIAL_ASCII_TIMEOUT_RESPOND_MS=1000 -# default: -CONFIG_FMB_PORT_TASK_PRIO=10 -# default: -# CONFIG_FMB_PORT_TASK_AFFINITY_NO_AFFINITY is not set -# default: -CONFIG_FMB_PORT_TASK_AFFINITY_CPU0=y -# default: -# CONFIG_FMB_PORT_TASK_AFFINITY_CPU1 is not set -# default: -CONFIG_FMB_PORT_TASK_AFFINITY=0x0 -# default: -CONFIG_FMB_CONTROLLER_SLAVE_ID_SUPPORT=y -# default: -CONFIG_FMB_CONTROLLER_SLAVE_ID=0x00112233 -# default: -CONFIG_FMB_CONTROLLER_SLAVE_ID_MAX_SIZE=32 -# default: -CONFIG_FMB_CONTROLLER_NOTIFY_TIMEOUT=20 -# default: -CONFIG_FMB_CONTROLLER_NOTIFY_QUEUE_SIZE=20 -# default: -CONFIG_FMB_CONTROLLER_STACK_SIZE=4096 -# default: -CONFIG_FMB_EVENT_QUEUE_TIMEOUT=20 -# default: -# CONFIG_FMB_TIMER_PORT_ENABLED is not set -# default: -# CONFIG_FMB_TIMER_USE_ISR_DISPATCH_METHOD is not set -# default: -# CONFIG_FMB_EXT_TYPE_SUPPORT is not set -# end of Modbus configuration - -# -# ESP serial flasher -# -# default: -CONFIG_SERIAL_FLASHER_MD5_ENABLED=y -# default: -CONFIG_SERIAL_FLASHER_RESET_HOLD_TIME_MS=100 -# default: -CONFIG_SERIAL_FLASHER_BOOT_HOLD_TIME_MS=50 -# end of ESP serial flasher - -# -# Zigbee -# -# default: -# CONFIG_ZB_ENABLED is not set -# end of Zigbee - -# -# Diagnostics data store -# -# default: -CONFIG_DIAG_DATA_STORE_RTC=y -# default: -# CONFIG_DIAG_DATA_STORE_FLASH is not set -# default: -# CONFIG_DIAG_DATA_STORE_DBG_PRINTS is not set -# default: -CONFIG_DIAG_DATA_STORE_REPORTING_WATERMARK_PERCENT=80 - -# -# RTC Store -# -# default: -CONFIG_RTC_STORE_DATA_SIZE=3072 -# default: -CONFIG_RTC_STORE_CRITICAL_DATA_SIZE=2048 -# end of RTC Store -# end of Diagnostics data store - -# -# Diagnostics -# -# default: -CONFIG_DIAG_LOG_MSG_ARG_FORMAT_TLV=y -# default: -# CONFIG_DIAG_LOG_MSG_ARG_FORMAT_STRING is not set -# default: -CONFIG_DIAG_LOG_MSG_ARG_MAX_SIZE=64 -# default: -CONFIG_DIAG_LOG_DROP_WIFI_LOGS=y -# default: -CONFIG_DIAG_ENABLE_METRICS=y -# default: -CONFIG_DIAG_METRICS_MAX_COUNT=20 -# default: -CONFIG_DIAG_ENABLE_HEAP_METRICS=y -# default: -CONFIG_DIAG_ENABLE_WIFI_METRICS=y -# default: -CONFIG_DIAG_ENABLE_VARIABLES=y -# default: -CONFIG_DIAG_VARIABLES_MAX_COUNT=20 -# default: -CONFIG_DIAG_ENABLE_NETWORK_VARIABLES=y -# default: -# CONFIG_DIAG_MORE_NETWORK_VARS is not set -# default: -# CONFIG_DIAG_USE_EXTERNAL_LOG_WRAP is not set -# end of Diagnostics - -# -# ESP Insights -# -# default: -# CONFIG_ESP_INSIGHTS_ENABLED is not set -# default: -# CONFIG_ESP_INSIGHTS_TRANSPORT_MQTT is not set -# default: -CONFIG_ESP_INSIGHTS_TRANSPORT_HTTPS=y -# default: -CONFIG_ESP_INSIGHTS_TRANSPORT_HTTPS_HOST="https://client.insights.espressif.com" -# default: -CONFIG_ESP_INSIGHTS_CLOUD_POST_MIN_INTERVAL_SEC=60 -# default: -CONFIG_ESP_INSIGHTS_CLOUD_POST_MAX_INTERVAL_SEC=240 -# default: -CONFIG_ESP_INSIGHTS_META_VERSION_10=y -# end of ESP Insights - -# -# esp-modem -# -# default: -CONFIG_ESP_MODEM_CMUX_DEFRAGMENT_PAYLOAD=y -# default: -# CONFIG_ESP_MODEM_USE_INFLATABLE_BUFFER_IF_NEEDED is not set -# default: -CONFIG_ESP_MODEM_CMUX_DELAY_AFTER_DLCI_SETUP=0 -# default: -# CONFIG_ESP_MODEM_CMUX_USE_SHORT_PAYLOADS_ONLY is not set -# default: -# CONFIG_ESP_MODEM_ADD_CUSTOM_MODULE is not set -# default: -CONFIG_ESP_MODEM_C_API_STR_MAX=128 -# default: -# CONFIG_ESP_MODEM_URC_HANDLER is not set -# default: -# CONFIG_ESP_MODEM_PPP_ESCAPE_BEFORE_EXIT is not set -# default: -# CONFIG_ESP_MODEM_ADD_DEBUG_LOGS is not set -# default: -# CONFIG_ESP_MODEM_ENABLE_DEVELOPMENT_MODE is not set -# default: -CONFIG_ESP_MODEM_USE_PPP_MODE=y -# end of esp-modem - -# -# OpenThread RCP Update -# -# default: -# CONFIG_AUTO_UPDATE_RCP is not set -# default: -# CONFIG_CREATE_OTA_IMAGE_WITH_RCP_FW is not set -# end of OpenThread RCP Update - -# -# ESP Secure Cert Manager -# -# default: -# CONFIG_ESP_SECURE_CERT_SUPPORT_LEGACY_FORMATS is not set -# default: -# CONFIG_ESP_SECURE_CERT_WRITE_ENABLE_LOGGING is not set -# end of ESP Secure Cert Manager - -# -# jsmn -# -# default: -# CONFIG_JSMN_PARENT_LINKS is not set -# default: -# CONFIG_JSMN_STRICT is not set -# default: -# CONFIG_JSMN_STATIC is not set -# end of jsmn - -# -# libsodium -# -# default: -CONFIG_LIBSODIUM_USE_MBEDTLS_SHA=y -# end of libsodium - -# -# mDNS -# -# default: -CONFIG_MDNS_MAX_INTERFACES=3 -# default: -CONFIG_MDNS_MAX_SERVICES=10 -# default: -CONFIG_MDNS_TASK_PRIORITY=1 -# default: -CONFIG_MDNS_ACTION_QUEUE_LEN=16 -# default: -CONFIG_MDNS_TASK_STACK_SIZE=4096 -# default: -# CONFIG_MDNS_TASK_AFFINITY_NO_AFFINITY is not set -# default: -CONFIG_MDNS_TASK_AFFINITY_CPU0=y -# default: -# CONFIG_MDNS_TASK_AFFINITY_CPU1 is not set -# default: -CONFIG_MDNS_TASK_AFFINITY=0x0 - -# -# MDNS Memory Configuration -# -# default: -CONFIG_MDNS_TASK_CREATE_FROM_INTERNAL=y -# default: -CONFIG_MDNS_MEMORY_ALLOC_INTERNAL=y -# default: -# CONFIG_MDNS_MEMORY_CUSTOM_IMPL is not set -# end of MDNS Memory Configuration - -# default: -CONFIG_MDNS_SERVICE_ADD_TIMEOUT_MS=2000 -# default: -CONFIG_MDNS_TIMER_PERIOD_MS=100 -# default: -# CONFIG_MDNS_NETWORKING_SOCKET is not set -# default: -# CONFIG_MDNS_SKIP_SUPPRESSING_OWN_QUERIES is not set -# default: -# CONFIG_MDNS_ENABLE_DEBUG_PRINTS is not set -# default: -CONFIG_MDNS_ENABLE_CONSOLE_CLI=y -# default: -# CONFIG_MDNS_RESPOND_REVERSE_QUERIES is not set -# default: -CONFIG_MDNS_MULTIPLE_INSTANCE=y - -# -# MDNS Predefined interfaces -# -# default: -CONFIG_MDNS_PREDEF_NETIF_STA=y -# default: -CONFIG_MDNS_PREDEF_NETIF_AP=y -# default: -CONFIG_MDNS_PREDEF_NETIF_ETH=y -# end of MDNS Predefined interfaces -# end of mDNS - -# -# Network Provisioning Manager -# -# default: -CONFIG_NETWORK_PROV_NETWORK_TYPE_WIFI=y -# default: -CONFIG_NETWORK_PROV_SCAN_MAX_ENTRIES=16 -# default: -CONFIG_NETWORK_PROV_AUTOSTOP_TIMEOUT=30 -# default: -# CONFIG_NETWORK_PROV_BLE_FORCE_ENCRYPTION is not set -# default: -CONFIG_NETWORK_PROV_WIFI_STA_ALL_CHANNEL_SCAN=y -# default: -# CONFIG_NETWORK_PROV_WIFI_STA_FAST_SCAN is not set -# end of Network Provisioning Manager - -# -# ESP RainMaker Common -# -# default: -CONFIG_ESP_RMAKER_LIB_ESP_MQTT=y -# default: -# CONFIG_ESP_RMAKER_LIB_AWS_IOT is not set -# default: -CONFIG_ESP_RMAKER_MQTT_GLUE_LIB=1 -# default: -CONFIG_ESP_RMAKER_MQTT_PORT_443=y -# default: -# CONFIG_ESP_RMAKER_MQTT_PORT_8883 is not set -# default: -CONFIG_ESP_RMAKER_MQTT_PORT=1 -# default: -# CONFIG_ESP_RMAKER_MQTT_PERSISTENT_SESSION is not set -# default: -CONFIG_ESP_RMAKER_MQTT_SEND_USERNAME=y -# default: -CONFIG_ESP_RMAKER_MQTT_PRODUCT_NAME="RMDev" -# default: -CONFIG_ESP_RMAKER_MQTT_PRODUCT_VERSION="1x0" -# default: -CONFIG_ESP_RMAKER_MQTT_PRODUCT_SKU="EX00" -# default: -CONFIG_ESP_RMAKER_MQTT_USE_CERT_BUNDLE=y -# default: -CONFIG_ESP_RMAKER_MAX_MQTT_SUBSCRIPTIONS=10 -# default: -CONFIG_ESP_RMAKER_MQTT_KEEP_ALIVE_INTERVAL=120 -# default: -CONFIG_ESP_RMAKER_NETWORK_OVER_WIFI=y -# default: -CONFIG_ESP_RMAKER_WORK_QUEUE_TASK_STACK=4096 -# default: -CONFIG_ESP_RMAKER_WORK_QUEUE_TASK_PRIORITY=5 -# default: -CONFIG_ESP_RMAKER_FACTORY_PARTITION_NAME="fctry" -# default: -CONFIG_ESP_RMAKER_FACTORY_NAMESPACE="rmaker_creds" -# default: -CONFIG_ESP_RMAKER_DEF_TIMEZONE="Asia/Shanghai" -# default: -CONFIG_ESP_RMAKER_SNTP_SERVER_NAME="pool.ntp.org" -# default: -CONFIG_ESP_RMAKER_MAX_COMMANDS=10 -# end of ESP RainMaker Common - -# -# LittleFS -# -# default: -# CONFIG_LITTLEFS_SDMMC_SUPPORT is not set -# default: -CONFIG_LITTLEFS_MAX_PARTITIONS=3 -# default: -CONFIG_LITTLEFS_PAGE_SIZE=256 -# default: -CONFIG_LITTLEFS_OBJ_NAME_LEN=64 -# default: -CONFIG_LITTLEFS_READ_SIZE=128 -# default: -CONFIG_LITTLEFS_WRITE_SIZE=128 -# default: -CONFIG_LITTLEFS_LOOKAHEAD_SIZE=128 -# default: -CONFIG_LITTLEFS_CACHE_SIZE=512 -# default: -CONFIG_LITTLEFS_BLOCK_CYCLES=512 -# default: -CONFIG_LITTLEFS_USE_MTIME=y -# default: -# CONFIG_LITTLEFS_USE_ONLY_HASH is not set -# default: -# CONFIG_LITTLEFS_HUMAN_READABLE is not set -# default: -CONFIG_LITTLEFS_MTIME_USE_SECONDS=y -# default: -# CONFIG_LITTLEFS_MTIME_USE_NONCE is not set -# default: -# CONFIG_LITTLEFS_SPIFFS_COMPAT is not set -# default: -# CONFIG_LITTLEFS_FLUSH_FILE_EVERY_WRITE is not set -# default: -# CONFIG_LITTLEFS_FCNTL_GET_PATH is not set -# default: -# CONFIG_LITTLEFS_MULTIVERSION is not set -# default: -# CONFIG_LITTLEFS_MALLOC_STRATEGY_DISABLE is not set -# default: -CONFIG_LITTLEFS_MALLOC_STRATEGY_DEFAULT=y -# default: -# CONFIG_LITTLEFS_MALLOC_STRATEGY_INTERNAL is not set -# default: -CONFIG_LITTLEFS_ASSERTS=y -# default: -# CONFIG_LITTLEFS_MMAP_PARTITION is not set -# default: -# CONFIG_LITTLEFS_WDT_RESET is not set -# end of LittleFS -# end of Component config - -# default: -# CONFIG_IDF_EXPERIMENTAL_FEATURES is not set - -# Deprecated options for backward compatibility -# CONFIG_APP_BUILD_TYPE_ELF_RAM is not set -# CONFIG_NO_BLOBS is not set -# CONFIG_ESP32_NO_BLOBS is not set -# CONFIG_ESP32_COMPATIBLE_PRE_V2_1_BOOTLOADERS is not set -# CONFIG_ESP32_COMPATIBLE_PRE_V3_1_BOOTLOADERS is not set -# CONFIG_APP_ROLLBACK_ENABLE is not set -# CONFIG_LOG_BOOTLOADER_LEVEL_NONE is not set -# CONFIG_LOG_BOOTLOADER_LEVEL_ERROR is not set -# CONFIG_LOG_BOOTLOADER_LEVEL_WARN is not set -CONFIG_LOG_BOOTLOADER_LEVEL_INFO=y -# CONFIG_LOG_BOOTLOADER_LEVEL_DEBUG is not set -# CONFIG_LOG_BOOTLOADER_LEVEL_VERBOSE is not set -CONFIG_LOG_BOOTLOADER_LEVEL=3 -# CONFIG_FLASH_ENCRYPTION_ENABLED is not set -# CONFIG_FLASHMODE_QIO is not set -# CONFIG_FLASHMODE_QOUT is not set -CONFIG_FLASHMODE_DIO=y -# CONFIG_FLASHMODE_DOUT is not set -CONFIG_MONITOR_BAUD=115200 -# CONFIG_ESP_RMAKER_LOCAL_CTRL_ENABLE is not set -CONFIG_OPTIMIZATION_LEVEL_DEBUG=y -CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG=y -CONFIG_COMPILER_OPTIMIZATION_DEFAULT=y -# CONFIG_OPTIMIZATION_LEVEL_RELEASE is not set -# CONFIG_COMPILER_OPTIMIZATION_LEVEL_RELEASE is not set -CONFIG_OPTIMIZATION_ASSERTIONS_ENABLED=y -# CONFIG_OPTIMIZATION_ASSERTIONS_SILENT is not set -# CONFIG_OPTIMIZATION_ASSERTIONS_DISABLED is not set -CONFIG_OPTIMIZATION_ASSERTION_LEVEL=2 -# CONFIG_CXX_EXCEPTIONS is not set -CONFIG_STACK_CHECK_NONE=y -# CONFIG_STACK_CHECK_NORM is not set -# CONFIG_STACK_CHECK_STRONG is not set -# CONFIG_STACK_CHECK_ALL is not set -# CONFIG_WARN_WRITE_STRINGS is not set -# CONFIG_ESP32_APPTRACE_DEST_TRAX is not set -CONFIG_ESP32_APPTRACE_DEST_NONE=y -CONFIG_ESP32_APPTRACE_LOCK_ENABLE=y -CONFIG_ADC2_DISABLE_DAC=y -# CONFIG_GPTIMER_ISR_IRAM_SAFE is not set -# CONFIG_MCPWM_ISR_IRAM_SAFE is not set -# CONFIG_EVENT_LOOP_PROFILING is not set -CONFIG_POST_EVENTS_FROM_ISR=y -CONFIG_POST_EVENTS_FROM_IRAM_ISR=y -CONFIG_GDBSTUB_SUPPORT_TASKS=y -CONFIG_GDBSTUB_MAX_TASKS=32 -# CONFIG_OTA_ALLOW_HTTP is not set -# CONFIG_TWO_UNIVERSAL_MAC_ADDRESS is not set -CONFIG_FOUR_UNIVERSAL_MAC_ADDRESS=y -CONFIG_NUMBER_OF_UNIVERSAL_MAC_ADDRESS=4 -# CONFIG_ESP_SYSTEM_PD_FLASH is not set -CONFIG_ESP32_DEEP_SLEEP_WAKEUP_DELAY=2000 -CONFIG_ESP_SLEEP_DEEP_SLEEP_WAKEUP_DELAY=2000 -CONFIG_ESP32_RTC_CLK_SRC_INT_RC=y -CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_RC=y -# CONFIG_ESP32_RTC_CLK_SRC_EXT_CRYS is not set -# CONFIG_ESP32_RTC_CLOCK_SOURCE_EXTERNAL_CRYSTAL is not set -# CONFIG_ESP32_RTC_CLK_SRC_EXT_OSC is not set -# CONFIG_ESP32_RTC_CLOCK_SOURCE_EXTERNAL_OSC is not set -# CONFIG_ESP32_RTC_CLK_SRC_INT_8MD256 is not set -# CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_8MD256 is not set -CONFIG_ESP32_RTC_CLK_CAL_CYCLES=1024 -CONFIG_PERIPH_CTRL_FUNC_IN_IRAM=y -# CONFIG_ESP32_XTAL_FREQ_26 is not set -CONFIG_ESP32_XTAL_FREQ_40=y -# CONFIG_ESP32_XTAL_FREQ_AUTO is not set -CONFIG_ESP32_XTAL_FREQ=40 -CONFIG_BROWNOUT_DET=y -CONFIG_ESP32_BROWNOUT_DET=y -CONFIG_BROWNOUT_DET_LVL_SEL_0=y -CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_0=y -# CONFIG_BROWNOUT_DET_LVL_SEL_1 is not set -# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_1 is not set -# CONFIG_BROWNOUT_DET_LVL_SEL_2 is not set -# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_2 is not set -# CONFIG_BROWNOUT_DET_LVL_SEL_3 is not set -# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_3 is not set -# CONFIG_BROWNOUT_DET_LVL_SEL_4 is not set -# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_4 is not set -# CONFIG_BROWNOUT_DET_LVL_SEL_5 is not set -# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_5 is not set -# CONFIG_BROWNOUT_DET_LVL_SEL_6 is not set -# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_6 is not set -# CONFIG_BROWNOUT_DET_LVL_SEL_7 is not set -# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_7 is not set -CONFIG_BROWNOUT_DET_LVL=0 -CONFIG_ESP32_BROWNOUT_DET_LVL=0 -CONFIG_ESP_SYSTEM_BROWNOUT_INTR=y -CONFIG_ESP32_PHY_CALIBRATION_AND_DATA_STORAGE=y -# CONFIG_ESP32_PHY_INIT_DATA_IN_PARTITION is not set -CONFIG_ESP32_PHY_MAX_WIFI_TX_POWER=20 -CONFIG_ESP32_PHY_MAX_TX_POWER=20 -# CONFIG_REDUCE_PHY_TX_POWER is not set -# CONFIG_ESP32_REDUCE_PHY_TX_POWER is not set -# CONFIG_SPIRAM_SUPPORT is not set -# CONFIG_ESP32_SPIRAM_SUPPORT is not set -# CONFIG_ESP32_DEFAULT_CPU_FREQ_80 is not set -CONFIG_ESP32_DEFAULT_CPU_FREQ_160=y -# CONFIG_ESP32_DEFAULT_CPU_FREQ_240 is not set -CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ=160 -CONFIG_TRACEMEM_RESERVE_DRAM=0x0 -# CONFIG_ESP32_PANIC_PRINT_HALT is not set -CONFIG_ESP32_PANIC_PRINT_REBOOT=y -# CONFIG_ESP32_PANIC_SILENT_REBOOT is not set -# CONFIG_ESP32_PANIC_GDBSTUB is not set -CONFIG_SYSTEM_EVENT_QUEUE_SIZE=32 -CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE=2304 -CONFIG_MAIN_TASK_STACK_SIZE=8192 -CONFIG_CONSOLE_UART_DEFAULT=y -# CONFIG_CONSOLE_UART_CUSTOM is not set -# CONFIG_CONSOLE_UART_NONE is not set -# CONFIG_ESP_CONSOLE_UART_NONE is not set -CONFIG_CONSOLE_UART=y -CONFIG_CONSOLE_UART_NUM=0 -CONFIG_CONSOLE_UART_BAUDRATE=115200 -CONFIG_INT_WDT=y -CONFIG_INT_WDT_TIMEOUT_MS=300 -CONFIG_INT_WDT_CHECK_CPU1=y -CONFIG_TASK_WDT=y -CONFIG_ESP_TASK_WDT=y -# CONFIG_TASK_WDT_PANIC is not set -CONFIG_TASK_WDT_TIMEOUT_S=5 -CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU0=y -CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU1=y -# CONFIG_ESP32_DEBUG_STUBS_ENABLE is not set -CONFIG_ESP32_DEBUG_OCDAWARE=y -# CONFIG_DISABLE_BASIC_ROM_CONSOLE is not set -CONFIG_IPC_TASK_STACK_SIZE=1024 -CONFIG_TIMER_TASK_STACK_SIZE=3584 -CONFIG_ESP32_WIFI_ENABLED=y -CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=10 -CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=32 -# CONFIG_ESP32_WIFI_STATIC_TX_BUFFER is not set -CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER=y -CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=1 -CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER_NUM=32 -# CONFIG_ESP32_WIFI_CSI_ENABLED is not set -CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED=y -CONFIG_ESP32_WIFI_TX_BA_WIN=6 -CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y -CONFIG_ESP32_WIFI_RX_BA_WIN=6 -CONFIG_ESP32_WIFI_NVS_ENABLED=y -CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_0=y -# CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_1 is not set -CONFIG_ESP32_WIFI_SOFTAP_BEACON_MAX_LEN=752 -CONFIG_ESP32_WIFI_MGMT_SBUF_NUM=32 -CONFIG_ESP32_WIFI_IRAM_OPT=y -CONFIG_ESP32_WIFI_RX_IRAM_OPT=y -CONFIG_ESP32_WIFI_ENABLE_WPA3_SAE=y -CONFIG_ESP32_WIFI_ENABLE_WPA3_OWE_STA=y -CONFIG_WPA_MBEDTLS_CRYPTO=y -CONFIG_WPA_MBEDTLS_TLS_CLIENT=y -# CONFIG_WPA_WAPI_PSK is not set -# CONFIG_WPA_11KV_SUPPORT is not set -# CONFIG_WPA_MBO_SUPPORT is not set -# CONFIG_WPA_DPP_SUPPORT is not set -# CONFIG_WPA_11R_SUPPORT is not set -# CONFIG_WPA_WPS_SOFTAP_REGISTRAR is not set -# CONFIG_WPA_WPS_STRICT is not set -# CONFIG_WPA_DEBUG_PRINT is not set -# CONFIG_ESP32_ENABLE_COREDUMP_TO_FLASH is not set -# CONFIG_ESP32_ENABLE_COREDUMP_TO_UART is not set -CONFIG_ESP32_ENABLE_COREDUMP_TO_NONE=y -CONFIG_TIMER_TASK_PRIORITY=1 -CONFIG_TIMER_TASK_STACK_DEPTH=2048 -CONFIG_TIMER_QUEUE_LENGTH=10 -# CONFIG_ENABLE_STATIC_TASK_CLEAN_UP_HOOK is not set -# CONFIG_HAL_ASSERTION_SILIENT is not set -# CONFIG_L2_TO_L3_COPY is not set -CONFIG_ESP_GRATUITOUS_ARP=y -CONFIG_GARP_TMR_INTERVAL=60 -CONFIG_TCPIP_RECVMBOX_SIZE=32 -CONFIG_TCP_MAXRTX=12 -CONFIG_TCP_SYNMAXRTX=12 -CONFIG_TCP_MSS=1440 -CONFIG_TCP_MSL=60000 -CONFIG_TCP_SND_BUF_DEFAULT=5760 -CONFIG_TCP_WND_DEFAULT=5760 -CONFIG_TCP_RECVMBOX_SIZE=6 -CONFIG_TCP_QUEUE_OOSEQ=y -CONFIG_TCP_OVERSIZE_MSS=y -# CONFIG_TCP_OVERSIZE_QUARTER_MSS is not set -# CONFIG_TCP_OVERSIZE_DISABLE is not set -CONFIG_UDP_RECVMBOX_SIZE=6 -CONFIG_TCPIP_TASK_STACK_SIZE=3072 -CONFIG_TCPIP_TASK_AFFINITY_NO_AFFINITY=y -# CONFIG_TCPIP_TASK_AFFINITY_CPU0 is not set -# CONFIG_TCPIP_TASK_AFFINITY_CPU1 is not set -CONFIG_TCPIP_TASK_AFFINITY=0x7FFFFFFF -CONFIG_PPP_SUPPORT=y -# CONFIG_PPP_NOTIFY_PHASE_SUPPORT is not set -# CONFIG_PPP_PAP_SUPPORT is not set -# CONFIG_PPP_CHAP_SUPPORT is not set -# CONFIG_PPP_MSCHAP_SUPPORT is not set -# CONFIG_PPP_MPPE_SUPPORT is not set -# CONFIG_PPP_DEBUG_ON is not set -CONFIG_NEWLIB_STDOUT_LINE_ENDING_CRLF=y -# CONFIG_NEWLIB_STDOUT_LINE_ENDING_LF is not set -# CONFIG_NEWLIB_STDOUT_LINE_ENDING_CR is not set -# CONFIG_NEWLIB_STDIN_LINE_ENDING_CRLF is not set -# CONFIG_NEWLIB_STDIN_LINE_ENDING_LF is not set -CONFIG_NEWLIB_STDIN_LINE_ENDING_CR=y -# CONFIG_NEWLIB_NANO_FORMAT is not set -CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC_HRT=y -CONFIG_ESP32_TIME_SYSCALL_USE_RTC_HRT=y -CONFIG_ESP32_TIME_SYSCALL_USE_RTC_FRC1=y -# CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC is not set -# CONFIG_ESP32_TIME_SYSCALL_USE_RTC is not set -# CONFIG_NEWLIB_TIME_SYSCALL_USE_HRT is not set -# CONFIG_ESP32_TIME_SYSCALL_USE_HRT is not set -# CONFIG_ESP32_TIME_SYSCALL_USE_FRC1 is not set -# CONFIG_NEWLIB_TIME_SYSCALL_USE_NONE is not set -# CONFIG_ESP32_TIME_SYSCALL_USE_NONE is not set -CONFIG_ESP32_PTHREAD_TASK_PRIO_DEFAULT=5 -CONFIG_ESP32_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 -CONFIG_ESP32_PTHREAD_STACK_MIN=768 -CONFIG_ESP32_DEFAULT_PTHREAD_CORE_NO_AFFINITY=y -# CONFIG_ESP32_DEFAULT_PTHREAD_CORE_0 is not set -# CONFIG_ESP32_DEFAULT_PTHREAD_CORE_1 is not set -CONFIG_ESP32_PTHREAD_TASK_CORE_DEFAULT=-1 -CONFIG_ESP32_PTHREAD_TASK_NAME_DEFAULT="pthread" -CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ABORTS=y -# CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_FAILS is not set -# CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ALLOWED is not set -# CONFIG_ESP32_ULP_COPROC_ENABLED is not set -CONFIG_SUPPRESS_SELECT_DEBUG_OUTPUT=y -CONFIG_SUPPORT_TERMIOS=y -CONFIG_SEMIHOSTFS_MAX_MOUNT_POINTS=1 -CONFIG_MB_MASTER_TIMEOUT_MS_RESPOND=3000 -CONFIG_MB_MASTER_DELAY_MS_CONVERT=200 -CONFIG_MB_QUEUE_LENGTH=20 -CONFIG_MB_SERIAL_TASK_STACK_SIZE=4096 -CONFIG_MB_SERIAL_BUF_SIZE=256 -CONFIG_MB_SERIAL_TASK_PRIO=10 -CONFIG_MB_CONTROLLER_SLAVE_ID_SUPPORT=y -CONFIG_MB_CONTROLLER_SLAVE_ID=0x00112233 -CONFIG_MB_CONTROLLER_NOTIFY_TIMEOUT=20 -CONFIG_MB_CONTROLLER_NOTIFY_QUEUE_SIZE=20 -CONFIG_MB_CONTROLLER_STACK_SIZE=4096 -CONFIG_MB_EVENT_QUEUE_TIMEOUT=20 -# CONFIG_MB_TIMER_PORT_ENABLED is not set -# End of deprecated options diff --git a/sdkconfig.OpenShock-Core-V2 b/sdkconfig.OpenShock-Core-V2 deleted file mode 100644 index 8daacc90..00000000 --- a/sdkconfig.OpenShock-Core-V2 +++ /dev/null @@ -1,4786 +0,0 @@ -# -# Automatically generated file. DO NOT EDIT. -# Espressif IoT Development Framework (ESP-IDF) 5.5.4 Project Configuration -# -# default: -CONFIG_SOC_ADC_SUPPORTED=y -# default: -CONFIG_SOC_UART_SUPPORTED=y -# default: -CONFIG_SOC_PCNT_SUPPORTED=y -# default: -CONFIG_SOC_PHY_SUPPORTED=y -# default: -CONFIG_SOC_WIFI_SUPPORTED=y -# default: -CONFIG_SOC_TWAI_SUPPORTED=y -# default: -CONFIG_SOC_GDMA_SUPPORTED=y -# default: -CONFIG_SOC_UHCI_SUPPORTED=y -# default: -CONFIG_SOC_AHB_GDMA_SUPPORTED=y -# default: -CONFIG_SOC_GPTIMER_SUPPORTED=y -# default: -CONFIG_SOC_LCDCAM_SUPPORTED=y -# default: -CONFIG_SOC_LCDCAM_CAM_SUPPORTED=y -# default: -CONFIG_SOC_LCDCAM_I80_LCD_SUPPORTED=y -# default: -CONFIG_SOC_LCDCAM_RGB_LCD_SUPPORTED=y -# default: -CONFIG_SOC_MCPWM_SUPPORTED=y -# default: -CONFIG_SOC_DEDICATED_GPIO_SUPPORTED=y -# default: -CONFIG_SOC_CACHE_SUPPORT_WRAP=y -# default: -CONFIG_SOC_ULP_SUPPORTED=y -# default: -CONFIG_SOC_ULP_FSM_SUPPORTED=y -# default: -CONFIG_SOC_RISCV_COPROC_SUPPORTED=y -# default: -CONFIG_SOC_BT_SUPPORTED=y -# default: -CONFIG_SOC_USB_OTG_SUPPORTED=y -# default: -CONFIG_SOC_USB_SERIAL_JTAG_SUPPORTED=y -# default: -CONFIG_SOC_CCOMP_TIMER_SUPPORTED=y -# default: -CONFIG_SOC_ASYNC_MEMCPY_SUPPORTED=y -# default: -CONFIG_SOC_SUPPORTS_SECURE_DL_MODE=y -# default: -CONFIG_SOC_EFUSE_KEY_PURPOSE_FIELD=y -# default: -CONFIG_SOC_EFUSE_SUPPORTED=y -# default: -CONFIG_SOC_SDMMC_HOST_SUPPORTED=y -# default: -CONFIG_SOC_RTC_FAST_MEM_SUPPORTED=y -# default: -CONFIG_SOC_RTC_SLOW_MEM_SUPPORTED=y -# default: -CONFIG_SOC_RTC_MEM_SUPPORTED=y -# default: -CONFIG_SOC_PSRAM_DMA_CAPABLE=y -# default: -CONFIG_SOC_XT_WDT_SUPPORTED=y -# default: -CONFIG_SOC_I2S_SUPPORTED=y -# default: -CONFIG_SOC_RMT_SUPPORTED=y -# default: -CONFIG_SOC_SDM_SUPPORTED=y -# default: -CONFIG_SOC_GPSPI_SUPPORTED=y -# default: -CONFIG_SOC_LEDC_SUPPORTED=y -# default: -CONFIG_SOC_I2C_SUPPORTED=y -# default: -CONFIG_SOC_SYSTIMER_SUPPORTED=y -# default: -CONFIG_SOC_SUPPORT_COEXISTENCE=y -# default: -CONFIG_SOC_TEMP_SENSOR_SUPPORTED=y -# default: -CONFIG_SOC_AES_SUPPORTED=y -# default: -CONFIG_SOC_MPI_SUPPORTED=y -# default: -CONFIG_SOC_SHA_SUPPORTED=y -# default: -CONFIG_SOC_HMAC_SUPPORTED=y -# default: -CONFIG_SOC_DIG_SIGN_SUPPORTED=y -# default: -CONFIG_SOC_FLASH_ENC_SUPPORTED=y -# default: -CONFIG_SOC_SECURE_BOOT_SUPPORTED=y -# default: -CONFIG_SOC_MEMPROT_SUPPORTED=y -# default: -CONFIG_SOC_TOUCH_SENSOR_SUPPORTED=y -# default: -CONFIG_SOC_BOD_SUPPORTED=y -# default: -CONFIG_SOC_CLK_TREE_SUPPORTED=y -# default: -CONFIG_SOC_MPU_SUPPORTED=y -# default: -CONFIG_SOC_WDT_SUPPORTED=y -# default: -CONFIG_SOC_SPI_FLASH_SUPPORTED=y -# default: -CONFIG_SOC_RNG_SUPPORTED=y -# default: -CONFIG_SOC_LIGHT_SLEEP_SUPPORTED=y -# default: -CONFIG_SOC_DEEP_SLEEP_SUPPORTED=y -# default: -CONFIG_SOC_LP_PERIPH_SHARE_INTERRUPT=y -# default: -CONFIG_SOC_PM_SUPPORTED=y -# default: -CONFIG_SOC_SIMD_INSTRUCTION_SUPPORTED=y -# default: -CONFIG_SOC_XTAL_SUPPORT_40M=y -# default: -CONFIG_SOC_APPCPU_HAS_CLOCK_GATING_BUG=y -# default: -CONFIG_SOC_ADC_RTC_CTRL_SUPPORTED=y -# default: -CONFIG_SOC_ADC_DIG_CTRL_SUPPORTED=y -# default: -CONFIG_SOC_ADC_ARBITER_SUPPORTED=y -# default: -CONFIG_SOC_ADC_DIG_IIR_FILTER_SUPPORTED=y -# default: -CONFIG_SOC_ADC_MONITOR_SUPPORTED=y -# default: -CONFIG_SOC_ADC_DMA_SUPPORTED=y -# default: -CONFIG_SOC_ADC_PERIPH_NUM=2 -# default: -CONFIG_SOC_ADC_MAX_CHANNEL_NUM=10 -# default: -CONFIG_SOC_ADC_ATTEN_NUM=4 -# default: -CONFIG_SOC_ADC_DIGI_CONTROLLER_NUM=2 -# default: -CONFIG_SOC_ADC_PATT_LEN_MAX=24 -# default: -CONFIG_SOC_ADC_DIGI_MIN_BITWIDTH=12 -# default: -CONFIG_SOC_ADC_DIGI_MAX_BITWIDTH=12 -# default: -CONFIG_SOC_ADC_DIGI_RESULT_BYTES=4 -# default: -CONFIG_SOC_ADC_DIGI_DATA_BYTES_PER_CONV=4 -# default: -CONFIG_SOC_ADC_DIGI_IIR_FILTER_NUM=2 -# default: -CONFIG_SOC_ADC_DIGI_MONITOR_NUM=2 -# default: -CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_HIGH=83333 -# default: -CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_LOW=611 -# default: -CONFIG_SOC_ADC_RTC_MIN_BITWIDTH=12 -# default: -CONFIG_SOC_ADC_RTC_MAX_BITWIDTH=12 -# default: -CONFIG_SOC_ADC_CALIBRATION_V1_SUPPORTED=y -# default: -CONFIG_SOC_ADC_SELF_HW_CALI_SUPPORTED=y -# default: -CONFIG_SOC_ADC_SHARED_POWER=y -# default: -CONFIG_SOC_APB_BACKUP_DMA=y -# default: -CONFIG_SOC_BROWNOUT_RESET_SUPPORTED=y -# default: -CONFIG_SOC_CACHE_WRITEBACK_SUPPORTED=y -# default: -CONFIG_SOC_CACHE_FREEZE_SUPPORTED=y -# default: -CONFIG_SOC_CACHE_ACS_INVALID_STATE_ON_PANIC=y -# default: -CONFIG_SOC_CPU_CORES_NUM=2 -# default: -CONFIG_SOC_CPU_INTR_NUM=32 -# default: -CONFIG_SOC_CPU_HAS_FPU=y -# default: -CONFIG_SOC_HP_CPU_HAS_MULTIPLE_CORES=y -# default: -CONFIG_SOC_CPU_BREAKPOINTS_NUM=2 -# default: -CONFIG_SOC_CPU_WATCHPOINTS_NUM=2 -# default: -CONFIG_SOC_CPU_WATCHPOINT_MAX_REGION_SIZE=0x40 -# default: -CONFIG_SOC_SIMD_PREFERRED_DATA_ALIGNMENT=16 -# default: -CONFIG_SOC_DS_SIGNATURE_MAX_BIT_LEN=4096 -# default: -CONFIG_SOC_DS_KEY_PARAM_MD_IV_LENGTH=16 -# default: -CONFIG_SOC_DS_KEY_CHECK_MAX_WAIT_US=1100 -# default: -CONFIG_SOC_AHB_GDMA_VERSION=1 -# default: -CONFIG_SOC_GDMA_NUM_GROUPS_MAX=1 -# default: -CONFIG_SOC_GDMA_PAIRS_PER_GROUP=5 -# default: -CONFIG_SOC_GDMA_PAIRS_PER_GROUP_MAX=5 -# default: -CONFIG_SOC_AHB_GDMA_SUPPORT_PSRAM=y -# default: -CONFIG_SOC_GPIO_PORT=1 -# default: -CONFIG_SOC_GPIO_PIN_COUNT=49 -# default: -CONFIG_SOC_GPIO_SUPPORT_PIN_GLITCH_FILTER=y -# default: -CONFIG_SOC_GPIO_FILTER_CLK_SUPPORT_APB=y -# default: -CONFIG_SOC_GPIO_SUPPORT_RTC_INDEPENDENT=y -# default: -CONFIG_SOC_GPIO_SUPPORT_FORCE_HOLD=y -# default: -CONFIG_SOC_GPIO_VALID_GPIO_MASK=0x1FFFFFFFFFFFF -# default: -CONFIG_SOC_GPIO_IN_RANGE_MAX=48 -# default: -CONFIG_SOC_GPIO_OUT_RANGE_MAX=48 -# default: -CONFIG_SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK=0x0001FFFFFC000000 -# default: -CONFIG_SOC_GPIO_CLOCKOUT_BY_IO_MUX=y -# default: -CONFIG_SOC_GPIO_CLOCKOUT_CHANNEL_NUM=3 -# default: -CONFIG_SOC_DEDIC_GPIO_OUT_CHANNELS_NUM=8 -# default: -CONFIG_SOC_DEDIC_GPIO_IN_CHANNELS_NUM=8 -# default: -CONFIG_SOC_DEDIC_GPIO_OUT_AUTO_ENABLE=y -# default: -CONFIG_SOC_I2C_NUM=2 -# default: -CONFIG_SOC_HP_I2C_NUM=2 -# default: -CONFIG_SOC_I2C_FIFO_LEN=32 -# default: -CONFIG_SOC_I2C_CMD_REG_NUM=8 -# default: -CONFIG_SOC_I2C_SUPPORT_SLAVE=y -# default: -CONFIG_SOC_I2C_SUPPORT_HW_CLR_BUS=y -# default: -CONFIG_SOC_I2C_SUPPORT_XTAL=y -# default: -CONFIG_SOC_I2C_SUPPORT_RTC=y -# default: -CONFIG_SOC_I2C_SUPPORT_10BIT_ADDR=y -# default: -CONFIG_SOC_I2C_SLAVE_SUPPORT_BROADCAST=y -# default: -CONFIG_SOC_I2C_SLAVE_SUPPORT_I2CRAM_ACCESS=y -# default: -CONFIG_SOC_I2C_SLAVE_CAN_GET_STRETCH_CAUSE=y -# default: -CONFIG_SOC_I2S_NUM=2 -# default: -CONFIG_SOC_I2S_HW_VERSION_2=y -# default: -CONFIG_SOC_I2S_SUPPORTS_XTAL=y -# default: -CONFIG_SOC_I2S_SUPPORTS_PLL_F160M=y -# default: -CONFIG_SOC_I2S_SUPPORTS_PCM=y -# default: -CONFIG_SOC_I2S_SUPPORTS_PDM=y -# default: -CONFIG_SOC_I2S_SUPPORTS_PDM_TX=y -# default: -CONFIG_SOC_I2S_SUPPORTS_PCM2PDM=y -# default: -CONFIG_SOC_I2S_SUPPORTS_PDM_RX=y -# default: -CONFIG_SOC_I2S_SUPPORTS_PDM2PCM=y -# default: -CONFIG_SOC_I2S_PDM_MAX_TX_LINES=2 -# default: -CONFIG_SOC_I2S_PDM_MAX_RX_LINES=4 -# default: -CONFIG_SOC_I2S_SUPPORTS_TDM=y -# default: -CONFIG_SOC_LEDC_SUPPORT_APB_CLOCK=y -# default: -CONFIG_SOC_LEDC_SUPPORT_XTAL_CLOCK=y -# default: -CONFIG_SOC_LEDC_TIMER_NUM=4 -# default: -CONFIG_SOC_LEDC_CHANNEL_NUM=8 -# default: -CONFIG_SOC_LEDC_TIMER_BIT_WIDTH=14 -# default: -CONFIG_SOC_LEDC_SUPPORT_FADE_STOP=y -# default: -CONFIG_SOC_MCPWM_GROUPS=2 -# default: -CONFIG_SOC_MCPWM_TIMERS_PER_GROUP=3 -# default: -CONFIG_SOC_MCPWM_OPERATORS_PER_GROUP=3 -# default: -CONFIG_SOC_MCPWM_COMPARATORS_PER_OPERATOR=2 -# default: -CONFIG_SOC_MCPWM_GENERATORS_PER_OPERATOR=2 -# default: -CONFIG_SOC_MCPWM_TRIGGERS_PER_OPERATOR=2 -# default: -CONFIG_SOC_MCPWM_GPIO_FAULTS_PER_GROUP=3 -# default: -CONFIG_SOC_MCPWM_CAPTURE_TIMERS_PER_GROUP=y -# default: -CONFIG_SOC_MCPWM_CAPTURE_CHANNELS_PER_TIMER=3 -# default: -CONFIG_SOC_MCPWM_GPIO_SYNCHROS_PER_GROUP=3 -# default: -CONFIG_SOC_MCPWM_SWSYNC_CAN_PROPAGATE=y -# default: -CONFIG_SOC_MMU_LINEAR_ADDRESS_REGION_NUM=1 -# default: -CONFIG_SOC_MMU_PERIPH_NUM=1 -# default: -CONFIG_SOC_MPU_MIN_REGION_SIZE=0x20000000 -# default: -CONFIG_SOC_MPU_REGIONS_MAX_NUM=8 -# default: -CONFIG_SOC_PCNT_GROUPS=1 -# default: -CONFIG_SOC_PCNT_UNITS_PER_GROUP=4 -# default: -CONFIG_SOC_PCNT_CHANNELS_PER_UNIT=2 -# default: -CONFIG_SOC_PCNT_THRES_POINT_PER_UNIT=2 -# default: -CONFIG_SOC_RMT_GROUPS=1 -# default: -CONFIG_SOC_RMT_TX_CANDIDATES_PER_GROUP=4 -# default: -CONFIG_SOC_RMT_RX_CANDIDATES_PER_GROUP=4 -# default: -CONFIG_SOC_RMT_CHANNELS_PER_GROUP=8 -# default: -CONFIG_SOC_RMT_MEM_WORDS_PER_CHANNEL=48 -# default: -CONFIG_SOC_RMT_SUPPORT_RX_PINGPONG=y -# default: -CONFIG_SOC_RMT_SUPPORT_RX_DEMODULATION=y -# default: -CONFIG_SOC_RMT_SUPPORT_ASYNC_STOP=y -# default: -CONFIG_SOC_RMT_SUPPORT_TX_LOOP_COUNT=y -# default: -CONFIG_SOC_RMT_SUPPORT_TX_LOOP_AUTO_STOP=y -# default: -CONFIG_SOC_RMT_SUPPORT_TX_SYNCHRO=y -# default: -CONFIG_SOC_RMT_SUPPORT_TX_CARRIER_DATA_ONLY=y -# default: -CONFIG_SOC_RMT_SUPPORT_XTAL=y -# default: -CONFIG_SOC_RMT_SUPPORT_RC_FAST=y -# default: -CONFIG_SOC_RMT_SUPPORT_APB=y -# default: -CONFIG_SOC_RMT_SUPPORT_DMA=y -# default: -CONFIG_SOC_LCD_I80_SUPPORTED=y -# default: -CONFIG_SOC_LCD_RGB_SUPPORTED=y -# default: -CONFIG_SOC_LCD_I80_BUSES=1 -# default: -CONFIG_SOC_LCD_RGB_PANELS=1 -# default: -CONFIG_SOC_LCD_I80_BUS_WIDTH=16 -# default: -CONFIG_SOC_LCD_RGB_DATA_WIDTH=16 -# default: -CONFIG_SOC_LCD_SUPPORT_RGB_YUV_CONV=y -# default: -CONFIG_SOC_LCDCAM_I80_NUM_BUSES=1 -# default: -CONFIG_SOC_LCDCAM_I80_BUS_WIDTH=16 -# default: -CONFIG_SOC_LCDCAM_RGB_NUM_PANELS=1 -# default: -CONFIG_SOC_LCDCAM_RGB_DATA_WIDTH=16 -# default: -CONFIG_SOC_RTC_CNTL_CPU_PD_DMA_BUS_WIDTH=128 -# default: -CONFIG_SOC_RTC_CNTL_CPU_PD_REG_FILE_NUM=549 -# default: -CONFIG_SOC_RTC_CNTL_TAGMEM_PD_DMA_BUS_WIDTH=128 -# default: -CONFIG_SOC_RTC_CNTL_NEEDS_ATOMIC_ACCESS=y -# default: -CONFIG_SOC_RTCIO_PIN_COUNT=22 -# default: -CONFIG_SOC_RTCIO_INPUT_OUTPUT_SUPPORTED=y -# default: -CONFIG_SOC_RTCIO_HOLD_SUPPORTED=y -# default: -CONFIG_SOC_RTCIO_WAKE_SUPPORTED=y -# default: -CONFIG_SOC_LP_IO_CLOCK_IS_INDEPENDENT=y -# default: -CONFIG_SOC_SDM_GROUPS=1 -# default: -CONFIG_SOC_SDM_CHANNELS_PER_GROUP=8 -# default: -CONFIG_SOC_SDM_CLK_SUPPORT_APB=y -# default: -CONFIG_SOC_SPI_PERIPH_NUM=3 -# default: -CONFIG_SOC_SPI_MAX_CS_NUM=6 -# default: -CONFIG_SOC_SPI_MAXIMUM_BUFFER_SIZE=64 -# default: -CONFIG_SOC_SPI_SUPPORT_DDRCLK=y -# default: -CONFIG_SOC_SPI_SLAVE_SUPPORT_SEG_TRANS=y -# default: -CONFIG_SOC_SPI_SUPPORT_CD_SIG=y -# default: -CONFIG_SOC_SPI_SUPPORT_CONTINUOUS_TRANS=y -# default: -CONFIG_SOC_SPI_SUPPORT_SLAVE_HD_VER2=y -# default: -CONFIG_SOC_SPI_SUPPORT_CLK_APB=y -# default: -CONFIG_SOC_SPI_SUPPORT_CLK_XTAL=y -# default: -CONFIG_SOC_SPI_PERIPH_SUPPORT_CONTROL_DUMMY_OUT=y -# default: -CONFIG_SOC_MEMSPI_IS_INDEPENDENT=y -# default: -CONFIG_SOC_SPI_MAX_PRE_DIVIDER=16 -# default: -CONFIG_SOC_SPI_SUPPORT_OCT=y -# default: -CONFIG_SOC_SPI_SCT_SUPPORTED=y -# default: -CONFIG_SOC_SPI_SCT_REG_NUM=14 -# default: -CONFIG_SOC_SPI_SCT_BUFFER_NUM_MAX=y -# default: -CONFIG_SOC_SPI_SCT_CONF_BITLEN_MAX=0x3FFFA -# default: -CONFIG_SOC_SPIRAM_SUPPORTED=y -# default: -CONFIG_SOC_SPIRAM_XIP_SUPPORTED=y -# default: -CONFIG_SOC_SYSTIMER_COUNTER_NUM=2 -# default: -CONFIG_SOC_SYSTIMER_ALARM_NUM=3 -# default: -CONFIG_SOC_SYSTIMER_BIT_WIDTH_LO=32 -# default: -CONFIG_SOC_SYSTIMER_BIT_WIDTH_HI=20 -# default: -CONFIG_SOC_SYSTIMER_FIXED_DIVIDER=y -# default: -CONFIG_SOC_SYSTIMER_INT_LEVEL=y -# default: -CONFIG_SOC_SYSTIMER_ALARM_MISS_COMPENSATE=y -# default: -CONFIG_SOC_TIMER_GROUPS=2 -# default: -CONFIG_SOC_TIMER_GROUP_TIMERS_PER_GROUP=2 -# default: -CONFIG_SOC_TIMER_GROUP_COUNTER_BIT_WIDTH=54 -# default: -CONFIG_SOC_TIMER_GROUP_SUPPORT_XTAL=y -# default: -CONFIG_SOC_TIMER_GROUP_SUPPORT_APB=y -# default: -CONFIG_SOC_TIMER_GROUP_TOTAL_TIMERS=4 -# default: -CONFIG_SOC_LP_TIMER_BIT_WIDTH_LO=32 -# default: -CONFIG_SOC_LP_TIMER_BIT_WIDTH_HI=16 -# default: -CONFIG_SOC_TOUCH_SENSOR_VERSION=2 -# default: -CONFIG_SOC_TOUCH_SENSOR_NUM=15 -# default: -CONFIG_SOC_TOUCH_MIN_CHAN_ID=1 -# default: -CONFIG_SOC_TOUCH_MAX_CHAN_ID=14 -# default: -CONFIG_SOC_TOUCH_SUPPORT_BENCHMARK=y -# default: -CONFIG_SOC_TOUCH_SUPPORT_SLEEP_WAKEUP=y -# default: -CONFIG_SOC_TOUCH_SUPPORT_WATERPROOF=y -# default: -CONFIG_SOC_TOUCH_SUPPORT_PROX_SENSING=y -# default: -CONFIG_SOC_TOUCH_SUPPORT_DENOISE_CHAN=y -# default: -CONFIG_SOC_TOUCH_PROXIMITY_CHANNEL_NUM=3 -# default: -CONFIG_SOC_TOUCH_PROXIMITY_MEAS_DONE_SUPPORTED=y -# default: -CONFIG_SOC_TOUCH_SAMPLE_CFG_NUM=1 -# default: -CONFIG_SOC_TWAI_CONTROLLER_NUM=1 -# default: -CONFIG_SOC_TWAI_MASK_FILTER_NUM=1 -# default: -CONFIG_SOC_TWAI_CLK_SUPPORT_APB=y -# default: -CONFIG_SOC_TWAI_BRP_MIN=2 -# default: -CONFIG_SOC_TWAI_BRP_MAX=16384 -# default: -CONFIG_SOC_TWAI_SUPPORTS_RX_STATUS=y -# default: -CONFIG_SOC_UART_NUM=3 -# default: -CONFIG_SOC_UART_HP_NUM=3 -# default: -CONFIG_SOC_UART_FIFO_LEN=128 -# default: -CONFIG_SOC_UART_BITRATE_MAX=5000000 -# default: -CONFIG_SOC_UART_SUPPORT_FSM_TX_WAIT_SEND=y -# default: -CONFIG_SOC_UART_SUPPORT_WAKEUP_INT=y -# default: -CONFIG_SOC_UART_SUPPORT_APB_CLK=y -# default: -CONFIG_SOC_UART_SUPPORT_RTC_CLK=y -# default: -CONFIG_SOC_UART_SUPPORT_XTAL_CLK=y -# default: -CONFIG_SOC_UART_WAKEUP_SUPPORT_ACTIVE_THRESH_MODE=y -# default: -CONFIG_SOC_UHCI_NUM=1 -# default: -CONFIG_SOC_USB_OTG_PERIPH_NUM=1 -# default: -CONFIG_SOC_SHA_DMA_MAX_BUFFER_SIZE=3968 -# default: -CONFIG_SOC_SHA_SUPPORT_DMA=y -# default: -CONFIG_SOC_SHA_SUPPORT_RESUME=y -# default: -CONFIG_SOC_SHA_GDMA=y -# default: -CONFIG_SOC_SHA_SUPPORT_SHA1=y -# default: -CONFIG_SOC_SHA_SUPPORT_SHA224=y -# default: -CONFIG_SOC_SHA_SUPPORT_SHA256=y -# default: -CONFIG_SOC_SHA_SUPPORT_SHA384=y -# default: -CONFIG_SOC_SHA_SUPPORT_SHA512=y -# default: -CONFIG_SOC_SHA_SUPPORT_SHA512_224=y -# default: -CONFIG_SOC_SHA_SUPPORT_SHA512_256=y -# default: -CONFIG_SOC_SHA_SUPPORT_SHA512_T=y -# default: -CONFIG_SOC_MPI_MEM_BLOCKS_NUM=4 -# default: -CONFIG_SOC_MPI_OPERATIONS_NUM=3 -# default: -CONFIG_SOC_RSA_MAX_BIT_LEN=4096 -# default: -CONFIG_SOC_AES_SUPPORT_DMA=y -# default: -CONFIG_SOC_AES_GDMA=y -# default: -CONFIG_SOC_AES_SUPPORT_AES_128=y -# default: -CONFIG_SOC_AES_SUPPORT_AES_256=y -# default: -CONFIG_SOC_PM_SUPPORT_EXT0_WAKEUP=y -# default: -CONFIG_SOC_PM_SUPPORT_EXT1_WAKEUP=y -# default: -CONFIG_SOC_PM_SUPPORT_EXT_WAKEUP=y -# default: -CONFIG_SOC_PM_SUPPORT_WIFI_WAKEUP=y -# default: -CONFIG_SOC_PM_SUPPORT_BT_WAKEUP=y -# default: -CONFIG_SOC_PM_SUPPORT_TOUCH_SENSOR_WAKEUP=y -# default: -CONFIG_SOC_PM_SUPPORT_CPU_PD=y -# default: -CONFIG_SOC_PM_SUPPORT_TAGMEM_PD=y -# default: -CONFIG_SOC_PM_SUPPORT_RTC_PERIPH_PD=y -# default: -CONFIG_SOC_PM_SUPPORT_RC_FAST_PD=y -# default: -CONFIG_SOC_PM_SUPPORT_VDDSDIO_PD=y -# default: -CONFIG_SOC_PM_SUPPORT_MAC_BB_PD=y -# default: -CONFIG_SOC_PM_SUPPORT_MODEM_PD=y -# default: -CONFIG_SOC_CONFIGURABLE_VDDSDIO_SUPPORTED=y -# default: -CONFIG_SOC_PM_SUPPORT_DEEPSLEEP_CHECK_STUB_ONLY=y -# default: -CONFIG_SOC_PM_CPU_RETENTION_BY_RTCCNTL=y -# default: -CONFIG_SOC_PM_MODEM_RETENTION_BY_BACKUPDMA=y -# default: -CONFIG_SOC_PM_MODEM_PD_BY_SW=y -# default: -CONFIG_SOC_CLK_RC_FAST_D256_SUPPORTED=y -# default: -CONFIG_SOC_RTC_SLOW_CLK_SUPPORT_RC_FAST_D256=y -# default: -CONFIG_SOC_CLK_RC_FAST_SUPPORT_CALIBRATION=y -# default: -CONFIG_SOC_CLK_XTAL32K_SUPPORTED=y -# default: -CONFIG_SOC_CLK_LP_FAST_SUPPORT_XTAL_D2=y -# default: -CONFIG_SOC_EFUSE_DIS_DOWNLOAD_ICACHE=y -# default: -CONFIG_SOC_EFUSE_DIS_DOWNLOAD_DCACHE=y -# default: -CONFIG_SOC_EFUSE_HARD_DIS_JTAG=y -# default: -CONFIG_SOC_EFUSE_DIS_USB_JTAG=y -# default: -CONFIG_SOC_EFUSE_SOFT_DIS_JTAG=y -# default: -CONFIG_SOC_EFUSE_DIS_DIRECT_BOOT=y -# default: -CONFIG_SOC_EFUSE_DIS_ICACHE=y -# default: -CONFIG_SOC_EFUSE_BLOCK9_KEY_PURPOSE_QUIRK=y -# default: -CONFIG_SOC_SECURE_BOOT_V2_RSA=y -# default: -CONFIG_SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS=3 -# default: -CONFIG_SOC_EFUSE_REVOKE_BOOT_KEY_DIGESTS=y -# default: -CONFIG_SOC_SUPPORT_SECURE_BOOT_REVOKE_KEY=y -# default: -CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX=64 -# default: -CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES=y -# default: -CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_OPTIONS=y -# default: -CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_128=y -# default: -CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_256=y -# default: -CONFIG_SOC_MEMPROT_CPU_PREFETCH_PAD_SIZE=16 -# default: -CONFIG_SOC_MEMPROT_MEM_ALIGN_SIZE=256 -# default: -CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE=21 -# default: -CONFIG_SOC_MAC_BB_PD_MEM_SIZE=192 -# default: -CONFIG_SOC_WIFI_LIGHT_SLEEP_CLK_WIDTH=12 -# default: -CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_WAIT_IDLE=y -# default: -CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_SUSPEND=y -# default: -CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_RESUME=y -# default: -CONFIG_SOC_SPI_MEM_SUPPORT_SW_SUSPEND=y -# default: -CONFIG_SOC_SPI_MEM_SUPPORT_FLASH_OPI_MODE=y -# default: -CONFIG_SOC_SPI_MEM_SUPPORT_TIMING_TUNING=y -# default: -CONFIG_SOC_SPI_MEM_SUPPORT_CONFIG_GPIO_BY_EFUSE=y -# default: -CONFIG_SOC_SPI_MEM_SUPPORT_WRAP=y -# default: -CONFIG_SOC_MEMSPI_TIMING_TUNING_BY_MSPI_DELAY=y -# default: -CONFIG_SOC_MEMSPI_CORE_CLK_SHARED_WITH_PSRAM=y -# default: -CONFIG_SOC_SPI_MEM_SUPPORT_CACHE_32BIT_ADDR_MAP=y -# default: -CONFIG_SOC_SPI_MEM_FLASH_SUPPORT_HPM=y -# default: -CONFIG_SOC_COEX_HW_PTI=y -# default: -CONFIG_SOC_EXTERNAL_COEX_LEADER_TX_LINE=y -# default: -CONFIG_SOC_SDMMC_USE_GPIO_MATRIX=y -# default: -CONFIG_SOC_SDMMC_NUM_SLOTS=2 -# default: -CONFIG_SOC_SDMMC_SUPPORT_XTAL_CLOCK=y -# default: -CONFIG_SOC_SDMMC_DELAY_PHASE_NUM=4 -# default: -CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_FAST_RC=y -# default: -CONFIG_SOC_WIFI_HW_TSF=y -# default: -CONFIG_SOC_WIFI_FTM_SUPPORT=y -# default: -CONFIG_SOC_WIFI_GCMP_SUPPORT=y -# default: -CONFIG_SOC_WIFI_WAPI_SUPPORT=y -# default: -CONFIG_SOC_WIFI_TXOP_SUPPORT=y -# default: -CONFIG_SOC_WIFI_CSI_SUPPORT=y -# default: -CONFIG_SOC_WIFI_MESH_SUPPORT=y -# default: -CONFIG_SOC_WIFI_SUPPORT_VARIABLE_BEACON_WINDOW=y -# default: -CONFIG_SOC_WIFI_PHY_NEEDS_USB_WORKAROUND=y -# default: -CONFIG_SOC_BLE_SUPPORTED=y -# default: -CONFIG_SOC_BLE_MESH_SUPPORTED=y -# default: -CONFIG_SOC_BLE_50_SUPPORTED=y -# default: -CONFIG_SOC_BLE_DEVICE_PRIVACY_SUPPORTED=y -# default: -CONFIG_SOC_BLUFI_SUPPORTED=y -# default: -CONFIG_SOC_ULP_HAS_ADC=y -# default: -CONFIG_SOC_PHY_COMBO_MODULE=y -# default: -CONFIG_SOC_LCDCAM_CAM_SUPPORT_RGB_YUV_CONV=y -# default: -CONFIG_SOC_LCDCAM_CAM_PERIPH_NUM=1 -# default: -CONFIG_SOC_LCDCAM_CAM_DATA_WIDTH_MAX=16 -# default: -CONFIG_IDF_CMAKE=y -# default: -CONFIG_IDF_TOOLCHAIN="gcc" -# default: -CONFIG_IDF_TOOLCHAIN_GCC=y -# default: -CONFIG_IDF_TARGET_ARCH_XTENSA=y -# default: -CONFIG_IDF_TARGET_ARCH="xtensa" -# default: -CONFIG_IDF_TARGET="esp32s3" -# default: -CONFIG_IDF_INIT_VERSION="5.5.4" -# default: -CONFIG_IDF_TARGET_ESP32S3=y -# default: -CONFIG_IDF_FIRMWARE_CHIP_ID=0x0009 - -# -# Build type -# -# default: -CONFIG_APP_BUILD_TYPE_APP_2NDBOOT=y -# default: -# CONFIG_APP_BUILD_TYPE_RAM is not set -# default: -CONFIG_APP_BUILD_GENERATE_BINARIES=y -# default: -CONFIG_APP_BUILD_BOOTLOADER=y -# default: -CONFIG_APP_BUILD_USE_FLASH_SECTIONS=y -# default: -# CONFIG_APP_REPRODUCIBLE_BUILD is not set -# default: -# CONFIG_APP_NO_BLOBS is not set -# end of Build type - -# -# Bootloader config -# - -# -# Bootloader manager -# -# default: -CONFIG_BOOTLOADER_COMPILE_TIME_DATE=y -# default: -CONFIG_BOOTLOADER_PROJECT_VER=1 -# end of Bootloader manager - -# -# Application Rollback -# -# default: -# CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE is not set -# end of Application Rollback - -# -# Recovery Bootloader and Rollback -# -# end of Recovery Bootloader and Rollback - -# default: -CONFIG_BOOTLOADER_OFFSET_IN_FLASH=0x0 -# default: -CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y -# default: -# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_DEBUG is not set -# default: -# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_PERF is not set -# default: -# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_NONE is not set - -# -# Log -# -# default: -CONFIG_BOOTLOADER_LOG_VERSION_1=y -# default: -CONFIG_BOOTLOADER_LOG_VERSION=1 -# default: -# CONFIG_BOOTLOADER_LOG_LEVEL_NONE is not set -# default: -# CONFIG_BOOTLOADER_LOG_LEVEL_ERROR is not set -# default: -# CONFIG_BOOTLOADER_LOG_LEVEL_WARN is not set -# default: -CONFIG_BOOTLOADER_LOG_LEVEL_INFO=y -# default: -# CONFIG_BOOTLOADER_LOG_LEVEL_DEBUG is not set -# default: -# CONFIG_BOOTLOADER_LOG_LEVEL_VERBOSE is not set -# default: -CONFIG_BOOTLOADER_LOG_LEVEL=3 - -# -# Format -# -# default: -# CONFIG_BOOTLOADER_LOG_COLORS is not set -# default: -CONFIG_BOOTLOADER_LOG_TIMESTAMP_SOURCE_CPU_TICKS=y -# end of Format - -# -# Settings -# -# default: -CONFIG_BOOTLOADER_LOG_MODE_TEXT_EN=y -# default: -CONFIG_BOOTLOADER_LOG_MODE_TEXT=y -# end of Settings -# end of Log - -# -# Serial Flash Configurations -# -# default: -# CONFIG_BOOTLOADER_FLASH_DC_AWARE is not set -# default: -CONFIG_BOOTLOADER_FLASH_XMC_SUPPORT=y -# end of Serial Flash Configurations - -# default: -CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_9V=y -# default: -# CONFIG_BOOTLOADER_FACTORY_RESET is not set -# default: -# CONFIG_BOOTLOADER_APP_TEST is not set -# default: -CONFIG_BOOTLOADER_REGION_PROTECTION_ENABLE=y -# default: -CONFIG_BOOTLOADER_WDT_ENABLE=y -# default: -# CONFIG_BOOTLOADER_WDT_DISABLE_IN_USER_CODE is not set -# default: -CONFIG_BOOTLOADER_WDT_TIME_MS=9000 -# default: -# CONFIG_BOOTLOADER_SKIP_VALIDATE_IN_DEEP_SLEEP is not set -# default: -# CONFIG_BOOTLOADER_SKIP_VALIDATE_ON_POWER_ON is not set -# default: -# CONFIG_BOOTLOADER_SKIP_VALIDATE_ALWAYS is not set -# default: -CONFIG_BOOTLOADER_RESERVE_RTC_SIZE=0 -# default: -# CONFIG_BOOTLOADER_CUSTOM_RESERVE_RTC is not set -# end of Bootloader config - -# -# Security features -# -# default: -CONFIG_SECURE_BOOT_V2_RSA_SUPPORTED=y -# default: -CONFIG_SECURE_BOOT_V2_PREFERRED=y -# default: -# CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT is not set -# default: -# CONFIG_SECURE_BOOT is not set -# default: -# CONFIG_SECURE_FLASH_ENC_ENABLED is not set -# default: -CONFIG_SECURE_ROM_DL_MODE_ENABLED=y -# end of Security features - -# -# Application manager -# -# default: -CONFIG_APP_COMPILE_TIME_DATE=y -# default: -# CONFIG_APP_EXCLUDE_PROJECT_VER_VAR is not set -# default: -# CONFIG_APP_EXCLUDE_PROJECT_NAME_VAR is not set -# default: -# CONFIG_APP_PROJECT_VER_FROM_CONFIG is not set -# default: -CONFIG_APP_RETRIEVE_LEN_ELF_SHA=9 -# end of Application manager - -# default: -CONFIG_ESP_ROM_HAS_CRC_LE=y -# default: -CONFIG_ESP_ROM_HAS_CRC_BE=y -# default: -CONFIG_ESP_ROM_HAS_MZ_CRC32=y -# default: -CONFIG_ESP_ROM_HAS_JPEG_DECODE=y -# default: -CONFIG_ESP_ROM_UART_CLK_IS_XTAL=y -# default: -CONFIG_ESP_ROM_HAS_RETARGETABLE_LOCKING=y -# default: -CONFIG_ESP_ROM_USB_OTG_NUM=3 -# default: -CONFIG_ESP_ROM_USB_SERIAL_DEVICE_NUM=4 -# default: -CONFIG_ESP_ROM_HAS_ERASE_0_REGION_BUG=y -# default: -CONFIG_ESP_ROM_HAS_ENCRYPTED_WRITES_USING_LEGACY_DRV=y -# default: -CONFIG_ESP_ROM_GET_CLK_FREQ=y -# default: -CONFIG_ESP_ROM_HAS_HAL_WDT=y -# default: -CONFIG_ESP_ROM_NEEDS_SWSETUP_WORKAROUND=y -# default: -CONFIG_ESP_ROM_HAS_LAYOUT_TABLE=y -# default: -CONFIG_ESP_ROM_HAS_SPI_FLASH=y -# default: -CONFIG_ESP_ROM_HAS_SPI_FLASH_MMAP=y -# default: -CONFIG_ESP_ROM_HAS_ETS_PRINTF_BUG=y -# default: -CONFIG_ESP_ROM_HAS_NEWLIB=y -# default: -CONFIG_ESP_ROM_HAS_NEWLIB_NANO_FORMAT=y -# default: -CONFIG_ESP_ROM_HAS_NEWLIB_32BIT_TIME=y -# default: -CONFIG_ESP_ROM_NEEDS_SET_CACHE_MMU_SIZE=y -# default: -CONFIG_ESP_ROM_RAM_APP_NEEDS_MMU_INIT=y -# default: -CONFIG_ESP_ROM_HAS_FLASH_COUNT_PAGES_BUG=y -# default: -CONFIG_ESP_ROM_HAS_CACHE_SUSPEND_WAITI_BUG=y -# default: -CONFIG_ESP_ROM_HAS_CACHE_WRITEBACK_BUG=y -# default: -CONFIG_ESP_ROM_HAS_SW_FLOAT=y -# default: -CONFIG_ESP_ROM_HAS_VERSION=y -# default: -CONFIG_ESP_ROM_SUPPORT_DEEP_SLEEP_WAKEUP_STUB=y -# default: -CONFIG_ESP_ROM_HAS_OUTPUT_PUTC_FUNC=y -# default: -CONFIG_ESP_ROM_CONSOLE_OUTPUT_SECONDARY=y - -# -# Boot ROM Behavior -# -# default: -CONFIG_BOOT_ROM_LOG_ALWAYS_ON=y -# default: -# CONFIG_BOOT_ROM_LOG_ALWAYS_OFF is not set -# default: -# CONFIG_BOOT_ROM_LOG_ON_GPIO_HIGH is not set -# default: -# CONFIG_BOOT_ROM_LOG_ON_GPIO_LOW is not set -# end of Boot ROM Behavior - -# -# Serial flasher config -# -# default: -# CONFIG_ESPTOOLPY_NO_STUB is not set -# default: -# CONFIG_ESPTOOLPY_OCT_FLASH is not set -# default: -CONFIG_ESPTOOLPY_FLASH_MODE_AUTO_DETECT=y -# default: -# CONFIG_ESPTOOLPY_FLASHMODE_QIO is not set -# default: -# CONFIG_ESPTOOLPY_FLASHMODE_QOUT is not set -# default: -CONFIG_ESPTOOLPY_FLASHMODE_DIO=y -# default: -# CONFIG_ESPTOOLPY_FLASHMODE_DOUT is not set -# default: -CONFIG_ESPTOOLPY_FLASH_SAMPLE_MODE_STR=y -# default: -CONFIG_ESPTOOLPY_FLASHMODE="dio" -# default: -# CONFIG_ESPTOOLPY_FLASHFREQ_120M is not set -# default: -CONFIG_ESPTOOLPY_FLASHFREQ_80M=y -# default: -# CONFIG_ESPTOOLPY_FLASHFREQ_40M is not set -# default: -# CONFIG_ESPTOOLPY_FLASHFREQ_20M is not set -# default: -CONFIG_ESPTOOLPY_FLASHFREQ="80m" -# default: -# CONFIG_ESPTOOLPY_FLASHSIZE_1MB is not set -# default: -CONFIG_ESPTOOLPY_FLASHSIZE_2MB=y -# default: -# CONFIG_ESPTOOLPY_FLASHSIZE_4MB is not set -# default: -# CONFIG_ESPTOOLPY_FLASHSIZE_8MB is not set -# default: -# CONFIG_ESPTOOLPY_FLASHSIZE_16MB is not set -# default: -# CONFIG_ESPTOOLPY_FLASHSIZE_32MB is not set -# default: -# CONFIG_ESPTOOLPY_FLASHSIZE_64MB is not set -# default: -# CONFIG_ESPTOOLPY_FLASHSIZE_128MB is not set -# default: -CONFIG_ESPTOOLPY_FLASHSIZE="2MB" -# default: -# CONFIG_ESPTOOLPY_HEADER_FLASHSIZE_UPDATE is not set -# default: -CONFIG_ESPTOOLPY_BEFORE_RESET=y -# default: -# CONFIG_ESPTOOLPY_BEFORE_NORESET is not set -# default: -CONFIG_ESPTOOLPY_BEFORE="default_reset" -# default: -CONFIG_ESPTOOLPY_AFTER_RESET=y -# default: -# CONFIG_ESPTOOLPY_AFTER_NORESET is not set -# default: -CONFIG_ESPTOOLPY_AFTER="hard_reset" -# default: -CONFIG_ESPTOOLPY_MONITOR_BAUD=115200 -# end of Serial flasher config - -# -# Partition Table -# -# default: -CONFIG_PARTITION_TABLE_SINGLE_APP=y -# default: -# CONFIG_PARTITION_TABLE_SINGLE_APP_LARGE is not set -# default: -# CONFIG_PARTITION_TABLE_TWO_OTA is not set -# default: -# CONFIG_PARTITION_TABLE_TWO_OTA_LARGE is not set -# default: -# CONFIG_PARTITION_TABLE_CUSTOM is not set -# default: -CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv" -# default: -CONFIG_PARTITION_TABLE_FILENAME="partitions_singleapp.csv" -# default: -CONFIG_PARTITION_TABLE_OFFSET=0x8000 -# default: -CONFIG_PARTITION_TABLE_MD5=y -# end of Partition Table - -# -# Arduino Configuration -# -# default: -CONFIG_ARDUINO_VARIANT="esp32s3" -# default: -CONFIG_ENABLE_ARDUINO_DEPENDS=y -CONFIG_AUTOSTART_ARDUINO=y -# default: -# CONFIG_ARDUINO_RUN_CORE0 is not set -# default: -CONFIG_ARDUINO_RUN_CORE1=y -# default: -# CONFIG_ARDUINO_RUN_NO_AFFINITY is not set -# default: -CONFIG_ARDUINO_RUNNING_CORE=1 -# default: -CONFIG_ARDUINO_LOOP_STACK_SIZE=8192 -# default: -# CONFIG_ARDUINO_EVENT_RUN_CORE0 is not set -# default: -CONFIG_ARDUINO_EVENT_RUN_CORE1=y -# default: -# CONFIG_ARDUINO_EVENT_RUN_NO_AFFINITY is not set -# default: -CONFIG_ARDUINO_EVENT_RUNNING_CORE=1 -# default: -# CONFIG_ARDUINO_SERIAL_EVENT_RUN_CORE0 is not set -# default: -# CONFIG_ARDUINO_SERIAL_EVENT_RUN_CORE1 is not set -# default: -CONFIG_ARDUINO_SERIAL_EVENT_RUN_NO_AFFINITY=y -# default: -CONFIG_ARDUINO_SERIAL_EVENT_TASK_RUNNING_CORE=-1 -# default: -CONFIG_ARDUINO_SERIAL_EVENT_TASK_STACK_SIZE=2048 -# default: -CONFIG_ARDUINO_SERIAL_EVENT_TASK_PRIORITY=24 -# default: -CONFIG_ARDUINO_UDP_RUN_CORE0=y -# default: -# CONFIG_ARDUINO_UDP_RUN_CORE1 is not set -# default: -# CONFIG_ARDUINO_UDP_RUN_NO_AFFINITY is not set -# default: -CONFIG_ARDUINO_UDP_RUNNING_CORE=0 -# default: -CONFIG_ARDUINO_UDP_TASK_PRIORITY=3 -# default: -CONFIG_ARDUINO_UDP_TASK_STACK_SIZE=4096 -# default: -# CONFIG_ARDUINO_ISR_IRAM is not set -# default: -# CONFIG_DISABLE_HAL_LOCKS is not set - -# -# Debug Log Configuration -# -# default: -# CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_NONE is not set -# default: -CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_ERROR=y -# default: -# CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_WARN is not set -# default: -# CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_INFO is not set -# default: -# CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_DEBUG is not set -# default: -# CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_VERBOSE is not set -# default: -CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL=1 -# default: -# CONFIG_ARDUHAL_LOG_COLORS is not set -# default: -# CONFIG_ARDUHAL_ESP_LOG is not set -# end of Debug Log Configuration - -# default: -CONFIG_ARDUHAL_PARTITION_SCHEME_DEFAULT=y -# default: -# CONFIG_ARDUHAL_PARTITION_SCHEME_MINIMAL is not set -# default: -# CONFIG_ARDUHAL_PARTITION_SCHEME_NO_OTA is not set -# default: -# CONFIG_ARDUHAL_PARTITION_SCHEME_HUGE_APP is not set -# default: -# CONFIG_ARDUHAL_PARTITION_SCHEME_MIN_SPIFFS is not set -# default: -CONFIG_ARDUHAL_PARTITION_SCHEME="default" -# default: -# CONFIG_AUTOCONNECT_WIFI is not set -# default: -# CONFIG_ARDUINO_SELECTIVE_COMPILATION is not set -# end of Arduino Configuration - -# -# ESP Speech Recognition -# -# default: -CONFIG_MODEL_IN_FLASH=y -# default: -# CONFIG_MODEL_IN_SDCARD is not set -# default: -CONFIG_AFE_INTERFACE_V1=y -# default: -CONFIG_SR_NSN_WEBRTC=y -# default: -# CONFIG_SR_NSN_NSNET2 is not set -# default: -CONFIG_SR_VADN_WEBRTC=y -# default: -# CONFIG_SR_VADN_VADNET1_MEDIUM is not set - -# -# Load Multiple Wake Words (WakeNet9s) -# -# default: -# CONFIG_SR_WN_WN9S_HILEXIN is not set -# default: -# CONFIG_SR_WN_WN9S_HIESP is not set -# default: -# CONFIG_SR_WN_WN9S_NIHAOXIAOZHI is not set -# default: -# CONFIG_SR_WN_WN9S_HIJASON is not set -# end of Load Multiple Wake Words (WakeNet9s) - -# -# Load Multiple Wake Words (WakeNet9) -# -# default: -# CONFIG_SR_WN_WN9_HILEXIN is not set -# default: -# CONFIG_SR_WN_WN9_HIESP is not set -# default: -# CONFIG_SR_WN_WN9L_JA_KONNICHIHAESP_TTS3 is not set -# default: -# CONFIG_SR_WN_WN9L_FR_BONJOURESP_TTS3 is not set -# default: -# CONFIG_SR_WN_WN9_NIHAOMIAOBAN_TTS2 is not set -# default: -# CONFIG_SR_WN_WN9_XIAOAITONGXUE is not set -# default: -# CONFIG_SR_WN_WN9L_XIAOAITONGXUE is not set -# default: -# CONFIG_SR_WN_WN9_NIHAOXIAOZHI_TTS is not set -# default: -# CONFIG_SR_WN_WN9L_NIHAOXIAOZHI_TTS3 is not set -# default: -# CONFIG_SR_WN_WN9_ALEXA is not set -# default: -# CONFIG_SR_WN_WN9_JARVIS_TTS is not set -# default: -# CONFIG_SR_WN_WN9_COMPUTER_TTS is not set -# default: -# CONFIG_SR_WN_WN9_HEYWILLOW_TTS is not set -# default: -# CONFIG_SR_WN_WN9_HIMFIVE is not set -# default: -# CONFIG_SR_WN_WN9_SOPHIA_TTS is not set -# default: -# CONFIG_SR_WN_WN9_HEYWANDA_TTS is not set -# default: -# CONFIG_SR_WN_WN9_HIJOLLY_TTS2 is not set -# default: -# CONFIG_SR_WN_WN9_HIFAIRY_TTS2 is not set -# default: -# CONFIG_SR_WN_WN9_HEYPRINTER_TTS is not set -# default: -# CONFIG_SR_WN_WN9_MYCROFT_TTS is not set -# default: -# CONFIG_SR_WN_WN9_HIJOY_TTS is not set -# default: -# CONFIG_SR_WN_WN9_HIJASON_TTS2 is not set -# default: -# CONFIG_SR_WN_WN9_ASTROLABE_TTS is not set -# default: -# CONFIG_SR_WN_WN9_HEYILY_TTS2 is not set -# default: -# CONFIG_SR_WN_WN9_BLUECHIP_TTS2 is not set -# default: -# CONFIG_SR_WN_WN9_HIANDY_TTS2 is not set -# default: -# CONFIG_SR_WN_WN9_HEYIVY_TTS2 is not set -# default: -# CONFIG_SR_WN_WN9L_HISTACKCHAN_TTS3 is not set -# default: -# CONFIG_SR_WN_WN9_HEYKIRA_TTS3 is not set -# default: -# CONFIG_SR_WN_WN9L_HEYGIGI_TTS3 is not set -# default: -# CONFIG_SR_WN_WN9_XIAOLONGXIAOLONG_TTS is not set -# default: -# CONFIG_SR_WN_WN9_HIMIAOMIAO_TTS is not set -# default: -# CONFIG_SR_WN_WN9_MIAOMIAOTONGXUE_TTS is not set -# default: -# CONFIG_SR_WN_WN9_NIHAOXIAOXIN_TTS is not set -# default: -# CONFIG_SR_WN_WN9_XIAOMEITONGXUE_TTS is not set -# default: -# CONFIG_SR_WN_WN9_HILILI_TTS is not set -# default: -# CONFIG_SR_WN_WN9_HITELLY_TTS is not set -# default: -# CONFIG_SR_WN_WN9_XIAOBINXIAOBIN_TTS is not set -# default: -# CONFIG_SR_WN_WN9_HAIXIAOWU_TTS is not set -# default: -# CONFIG_SR_WN_WN9_XIAOYAXIAOYA_TTS2 is not set -# default: -# CONFIG_SR_WN_WN9_LINAIBAN_TTS2 is not set -# default: -# CONFIG_SR_WN_WN9_XIAOSUROU_TTS2 is not set -# default: -# CONFIG_SR_WN_WN9_XIAOYUTONGXUE_TTS2 is not set -# default: -# CONFIG_SR_WN_WN9_XIAOMINGTONGXUE_TTS2 is not set -# default: -# CONFIG_SR_WN_WN9_XIAOKANGTONGXUE_TTS2 is not set -# default: -# CONFIG_SR_WN_WN9_XIAOJIANXIAOJIAN_TTS2 is not set -# default: -# CONFIG_SR_WN_WN9_XIAOTEXIAOTE_TTS2 is not set -# default: -# CONFIG_SR_WN_WN9_NIHAOXIAOYI_TTS2 is not set -# default: -# CONFIG_SR_WN_WN9_NIHAOBAIYING_TTS2 is not set -# default: -# CONFIG_SR_WN_WN9_NIHAODONGDONG_TTS2 is not set -# default: -# CONFIG_SR_WN_WN9_HIWALLE_TTS2 is not set -# default: -# CONFIG_SR_WN_WN9_XIAOLUXIAOLU_TTS2 is not set -# default: -# CONFIG_SR_WN_WN9_NIHAOXIAOAN_TTS2 is not set -# default: -# CONFIG_SR_WN_WN9_NI3HAO3XIAO3MAI4_TTS2 is not set -# default: -# CONFIG_SR_WN_WN9_NI3HAO3XIAO3RUI4_TTS3 is not set -# default: -# CONFIG_SR_WN_WN9_HAI1XIAO3OU1_TTS3 is not set -# default: -# CONFIG_SR_WN_WN9_XIAO3JIA1XIAO3JIA1_TTS3 is not set -# default: -# CONFIG_SR_WN_WN9_XIAO3FENG1XIAO3FENG1_TTS3 is not set -# default: -# CONFIG_SR_WN_WN9_HAI1XIAO3XIANG4_TTS3 is not set -# default: -# CONFIG_SR_WN_WN9L_NI3HAO3XING1BAO3_TTS3 is not set -# end of Load Multiple Wake Words (WakeNet9) - -# default: -CONFIG_SR_MN_CN_NONE=y -# default: -# CONFIG_SR_MN_CN_MULTINET5_RECOGNITION_QUANT8 is not set -# default: -# CONFIG_SR_MN_CN_MULTINET6_QUANT is not set -# default: -# CONFIG_SR_MN_CN_MULTINET6_AC_QUANT is not set -# default: -# CONFIG_SR_MN_CN_MULTINET7_QUANT is not set -# default: -# CONFIG_SR_MN_CN_MULTINET7_AC_QUANT is not set -# default: -CONFIG_SR_MN_EN_NONE=y -# default: -# CONFIG_SR_MN_EN_MULTINET5_SINGLE_RECOGNITION_QUANT8 is not set -# default: -# CONFIG_SR_MN_EN_MULTINET6_QUANT is not set -# default: -# CONFIG_SR_MN_EN_MULTINET7_QUANT is not set -# default: -CONFIG_ESP_SR_EXTERNAL_MODEL_PATH="" -# end of ESP Speech Recognition - -# -# ESP RainMaker Config -# -# default: -# CONFIG_ESP_RMAKER_NO_CLAIM is not set -# default: -CONFIG_ESP_RMAKER_SELF_CLAIM=y -# default: -CONFIG_ESP_RMAKER_USE_NVS=y -# default: -CONFIG_ESP_RMAKER_CLAIM_TYPE=1 -# default: -CONFIG_ESP_RMAKER_CLAIM_SERVICE_BASE_URL="https://esp-claiming.rainmaker.espressif.com" -# default: -# CONFIG_ESP_RMAKER_READ_MQTT_HOST_FROM_CONFIG is not set -# default: -# CONFIG_ESP_RMAKER_READ_NODE_ID_FROM_CERT_CN is not set -# default: -CONFIG_ESP_RMAKER_MQTT_HOST="a1p72mufdu6064-ats.iot.us-east-1.amazonaws.com" -# default: -CONFIG_ESP_RMAKER_MQTT_USE_BASIC_INGEST_TOPICS=y -# default: -CONFIG_ESP_RMAKER_MQTT_ENABLE_BUDGETING=y -# default: -CONFIG_ESP_RMAKER_MQTT_DEFAULT_BUDGET=100 -# default: -CONFIG_ESP_RMAKER_MQTT_MAX_BUDGET=1024 -# default: -CONFIG_ESP_RMAKER_MQTT_BUDGET_REVIVE_PERIOD=5 -# default: -CONFIG_ESP_RMAKER_MQTT_BUDGET_REVIVE_COUNT=1 -# default: -CONFIG_ESP_RMAKER_MAX_PARAM_DATA_SIZE=1024 -# default: -# CONFIG_ESP_RMAKER_DISABLE_USER_MAPPING_PROV is not set -# default: -# CONFIG_ESP_RMAKER_USER_ID_CHECK is not set -# default: -# CONFIG_RMAKER_NAME_PARAM_CB is not set -# default: -# CONFIG_ESP_RMAKER_LOCAL_CTRL_FEATURE_ENABLE is not set -# default: -# CONFIG_ESP_RMAKER_LOCAL_CTRL_AUTO_ENABLE is not set -# default: -CONFIG_ESP_RMAKER_CONSOLE_UART_NUM_0=y -# default: -# CONFIG_ESP_RMAKER_CONSOLE_UART_NUM_1 is not set -# default: -CONFIG_ESP_RMAKER_CONSOLE_UART_NUM=0 -# default: -CONFIG_ESP_RMAKER_USE_CERT_BUNDLE=y - -# -# ESP RainMaker OTA Config -# -# default: -CONFIG_ESP_RMAKER_OTA_AUTOFETCH=y -# default: -CONFIG_ESP_RMAKER_OTA_AUTOFETCH_PERIOD=0 -# default: -# CONFIG_ESP_RMAKER_SKIP_COMMON_NAME_CHECK is not set -# default: -# CONFIG_ESP_RMAKER_SKIP_VERSION_CHECK is not set -# default: -# CONFIG_ESP_RMAKER_SKIP_SECURE_VERSION_CHECK is not set -# default: -# CONFIG_ESP_RMAKER_SKIP_PROJECT_NAME_CHECK is not set -# default: -CONFIG_ESP_RMAKER_OTA_HTTP_RX_BUFFER_SIZE=1024 -# default: -CONFIG_ESP_RMAKER_OTA_ROLLBACK_WAIT_PERIOD=90 -# default: -# CONFIG_ESP_RMAKER_OTA_DISABLE_AUTO_REBOOT is not set -# default: -CONFIG_ESP_RMAKER_OTA_TIME_SUPPORT=y -# end of ESP RainMaker OTA Config - -# -# ESP RainMaker Scheduling -# -# default: -CONFIG_ESP_RMAKER_SCHEDULING_MAX_SCHEDULES=10 -# end of ESP RainMaker Scheduling - -# -# ESP RainMaker Scenes -# -# default: -CONFIG_ESP_RMAKER_SCENES_MAX_SCENES=10 -# default: -# CONFIG_ESP_RMAKER_SCENES_DEACTIVATE_SUPPORT is not set -# end of ESP RainMaker Scenes - -# -# ESP RainMaker Command-Response -# -# default: -CONFIG_ESP_RMAKER_CMD_RESP_ENABLE=y -# default: -# CONFIG_ESP_RMAKER_CMD_RESP_TEST_ENABLE is not set -# end of ESP RainMaker Command-Response - -# default: -CONFIG_ESP_RMAKER_USING_NETWORK_PROV=y -# end of ESP RainMaker Config - -# -# Compiler options -# -# default: -CONFIG_COMPILER_OPTIMIZATION_DEBUG=y -# default: -# CONFIG_COMPILER_OPTIMIZATION_SIZE is not set -# default: -# CONFIG_COMPILER_OPTIMIZATION_PERF is not set -# default: -# CONFIG_COMPILER_OPTIMIZATION_NONE is not set -# default: -CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE=y -# default: -# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT is not set -# default: -# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE is not set -# default: -CONFIG_COMPILER_ASSERT_NDEBUG_EVALUATE=y -# default: -CONFIG_COMPILER_FLOAT_LIB_FROM_GCCLIB=y -# default: -CONFIG_COMPILER_OPTIMIZATION_ASSERTION_LEVEL=2 -# default: -# CONFIG_COMPILER_OPTIMIZATION_CHECKS_SILENT is not set -# default: -CONFIG_COMPILER_HIDE_PATHS_MACROS=y -# CONFIG_COMPILER_CXX_EXCEPTIONS is not set -# default: -# CONFIG_COMPILER_CXX_RTTI is not set -# default: -CONFIG_COMPILER_STACK_CHECK_MODE_NONE=y -# default: -# CONFIG_COMPILER_STACK_CHECK_MODE_NORM is not set -# default: -# CONFIG_COMPILER_STACK_CHECK_MODE_STRONG is not set -# default: -# CONFIG_COMPILER_STACK_CHECK_MODE_ALL is not set -# default: -# CONFIG_COMPILER_NO_MERGE_CONSTANTS is not set -# default: -# CONFIG_COMPILER_WARN_WRITE_STRINGS is not set -# default: -CONFIG_COMPILER_DISABLE_DEFAULT_ERRORS=y -# default: -# CONFIG_COMPILER_DISABLE_GCC12_WARNINGS is not set -# default: -# CONFIG_COMPILER_DISABLE_GCC13_WARNINGS is not set -# default: -# CONFIG_COMPILER_DISABLE_GCC14_WARNINGS is not set -# default: -# CONFIG_COMPILER_DUMP_RTL_FILES is not set -# default: -CONFIG_COMPILER_RT_LIB_GCCLIB=y -# default: -CONFIG_COMPILER_RT_LIB_NAME="gcc" -# default: -CONFIG_COMPILER_ORPHAN_SECTIONS_WARNING=y -# default: -# CONFIG_COMPILER_ORPHAN_SECTIONS_PLACE is not set -# default: -# CONFIG_COMPILER_STATIC_ANALYZER is not set -# end of Compiler options - -# -# Component config -# - -# -# Application Level Tracing -# -# default: -# CONFIG_APPTRACE_DEST_JTAG is not set -# default: -CONFIG_APPTRACE_DEST_NONE=y -# default: -# CONFIG_APPTRACE_DEST_UART1 is not set -# default: -# CONFIG_APPTRACE_DEST_UART2 is not set -# default: -# CONFIG_APPTRACE_DEST_USB_CDC is not set -# default: -CONFIG_APPTRACE_DEST_UART_NONE=y -# default: -CONFIG_APPTRACE_UART_TASK_PRIO=1 -# default: -CONFIG_APPTRACE_LOCK_ENABLE=y -# end of Application Level Tracing - -# -# Bluetooth -# -# default: -# CONFIG_BT_ENABLED is not set - -# -# Common Options -# - -# -# BLE Log -# -# default: -# CONFIG_BLE_LOG_ENABLED is not set -# end of BLE Log - -# default: -# CONFIG_BT_BLE_LOG_SPI_OUT_ENABLED is not set -# default: -# CONFIG_BT_BLE_LOG_UHCI_OUT_ENABLED is not set -# default: -# CONFIG_BT_LE_USED_MEM_STATISTICS_ENABLED is not set -# end of Common Options -# end of Bluetooth - -# -# Console Library -# -# default: -# CONFIG_CONSOLE_SORTED_HELP is not set -# end of Console Library - -# -# Driver Configurations -# - -# -# Legacy TWAI Driver Configurations -# -# default: -# CONFIG_TWAI_SKIP_LEGACY_CONFLICT_CHECK is not set -# default: -CONFIG_TWAI_ERRATA_FIX_LISTEN_ONLY_DOM=y -# end of Legacy TWAI Driver Configurations - -# -# Legacy ADC Driver Configuration -# -# default: -# CONFIG_ADC_SUPPRESS_DEPRECATE_WARN is not set -# default: -# CONFIG_ADC_SKIP_LEGACY_CONFLICT_CHECK is not set - -# -# Legacy ADC Calibration Configuration -# -# default: -# CONFIG_ADC_CALI_SUPPRESS_DEPRECATE_WARN is not set -# end of Legacy ADC Calibration Configuration -# end of Legacy ADC Driver Configuration - -# -# Legacy MCPWM Driver Configurations -# -# default: -# CONFIG_MCPWM_SUPPRESS_DEPRECATE_WARN is not set -# default: -# CONFIG_MCPWM_SKIP_LEGACY_CONFLICT_CHECK is not set -# end of Legacy MCPWM Driver Configurations - -# -# Legacy Timer Group Driver Configurations -# -# default: -# CONFIG_GPTIMER_SUPPRESS_DEPRECATE_WARN is not set -# default: -# CONFIG_GPTIMER_SKIP_LEGACY_CONFLICT_CHECK is not set -# end of Legacy Timer Group Driver Configurations - -# -# Legacy RMT Driver Configurations -# -# default: -# CONFIG_RMT_SUPPRESS_DEPRECATE_WARN is not set -# default: -# CONFIG_RMT_SKIP_LEGACY_CONFLICT_CHECK is not set -# end of Legacy RMT Driver Configurations - -# -# Legacy I2S Driver Configurations -# -# default: -# CONFIG_I2S_SUPPRESS_DEPRECATE_WARN is not set -# default: -# CONFIG_I2S_SKIP_LEGACY_CONFLICT_CHECK is not set -# end of Legacy I2S Driver Configurations - -# -# Legacy I2C Driver Configurations -# -# default: -# CONFIG_I2C_SKIP_LEGACY_CONFLICT_CHECK is not set -# end of Legacy I2C Driver Configurations - -# -# Legacy PCNT Driver Configurations -# -# default: -# CONFIG_PCNT_SUPPRESS_DEPRECATE_WARN is not set -# default: -# CONFIG_PCNT_SKIP_LEGACY_CONFLICT_CHECK is not set -# end of Legacy PCNT Driver Configurations - -# -# Legacy SDM Driver Configurations -# -# default: -# CONFIG_SDM_SUPPRESS_DEPRECATE_WARN is not set -# default: -# CONFIG_SDM_SKIP_LEGACY_CONFLICT_CHECK is not set -# end of Legacy SDM Driver Configurations - -# -# Legacy Temperature Sensor Driver Configurations -# -# default: -# CONFIG_TEMP_SENSOR_SUPPRESS_DEPRECATE_WARN is not set -# default: -# CONFIG_TEMP_SENSOR_SKIP_LEGACY_CONFLICT_CHECK is not set -# end of Legacy Temperature Sensor Driver Configurations - -# -# Legacy Touch Sensor Driver Configurations -# -# default: -# CONFIG_TOUCH_SUPPRESS_DEPRECATE_WARN is not set -# default: -# CONFIG_TOUCH_SKIP_LEGACY_CONFLICT_CHECK is not set -# end of Legacy Touch Sensor Driver Configurations -# end of Driver Configurations - -# -# eFuse Bit Manager -# -# default: -# CONFIG_EFUSE_CUSTOM_TABLE is not set -# default: -# CONFIG_EFUSE_VIRTUAL is not set -# default: -CONFIG_EFUSE_MAX_BLK_LEN=256 -# end of eFuse Bit Manager - -# -# ESP-TLS -# -# default: -CONFIG_ESP_TLS_USING_MBEDTLS=y -# default: -# CONFIG_ESP_TLS_USE_SECURE_ELEMENT is not set -# default: -CONFIG_ESP_TLS_USE_DS_PERIPHERAL=y -# default: -# CONFIG_ESP_TLS_CLIENT_SESSION_TICKETS is not set -# default: -# CONFIG_ESP_TLS_SERVER_SESSION_TICKETS is not set -# default: -# CONFIG_ESP_TLS_SERVER_CERT_SELECT_HOOK is not set -# default: -# CONFIG_ESP_TLS_SERVER_MIN_AUTH_MODE_OPTIONAL is not set -# default: -# CONFIG_ESP_TLS_PSK_VERIFICATION is not set -# default: -# CONFIG_ESP_TLS_INSECURE is not set -# default: -CONFIG_ESP_TLS_DYN_BUF_STRATEGY_SUPPORTED=y -# end of ESP-TLS - -# -# ADC and ADC Calibration -# -# default: -# CONFIG_ADC_ONESHOT_CTRL_FUNC_IN_IRAM is not set -# default: -# CONFIG_ADC_CONTINUOUS_ISR_IRAM_SAFE is not set -# default: -# CONFIG_ADC_CONTINUOUS_FORCE_USE_ADC2_ON_C3_S3 is not set -# default: -# CONFIG_ADC_ENABLE_DEBUG_LOG is not set -# end of ADC and ADC Calibration - -# -# Wireless Coexistence -# -# default: -CONFIG_ESP_COEX_ENABLED=y -# default: -# CONFIG_ESP_COEX_EXTERNAL_COEXIST_ENABLE is not set -# default: -# CONFIG_ESP_COEX_GPIO_DEBUG is not set -# end of Wireless Coexistence - -# -# Common ESP-related -# -# default: -CONFIG_ESP_ERR_TO_NAME_LOOKUP=y -# end of Common ESP-related - -# -# ESP-Driver:Camera Controller Configurations -# -# default: -# CONFIG_CAM_CTLR_DVP_CAM_ISR_CACHE_SAFE is not set -# end of ESP-Driver:Camera Controller Configurations - -# -# ESP-Driver:GPIO Configurations -# -# default: -# CONFIG_GPIO_CTRL_FUNC_IN_IRAM is not set -# end of ESP-Driver:GPIO Configurations - -# -# ESP-Driver:GPTimer Configurations -# -# default: -CONFIG_GPTIMER_ISR_HANDLER_IN_IRAM=y -# default: -# CONFIG_GPTIMER_CTRL_FUNC_IN_IRAM is not set -# default: -# CONFIG_GPTIMER_ISR_CACHE_SAFE is not set -# default: -CONFIG_GPTIMER_OBJ_CACHE_SAFE=y -# default: -# CONFIG_GPTIMER_ENABLE_DEBUG_LOG is not set -# end of ESP-Driver:GPTimer Configurations - -# -# ESP-Driver:I2C Configurations -# -# default: -# CONFIG_I2C_ISR_IRAM_SAFE is not set -# default: -# CONFIG_I2C_ENABLE_DEBUG_LOG is not set -# default: -# CONFIG_I2C_ENABLE_SLAVE_DRIVER_VERSION_2 is not set -# default: -CONFIG_I2C_MASTER_ISR_HANDLER_IN_IRAM=y -# end of ESP-Driver:I2C Configurations - -# -# ESP-Driver:I2S Configurations -# -# default: -# CONFIG_I2S_ISR_IRAM_SAFE is not set -# default: -# CONFIG_I2S_ENABLE_DEBUG_LOG is not set -# end of ESP-Driver:I2S Configurations - -# -# ESP-Driver:LEDC Configurations -# -# default: -# CONFIG_LEDC_CTRL_FUNC_IN_IRAM is not set -# end of ESP-Driver:LEDC Configurations - -# -# ESP-Driver:MCPWM Configurations -# -# default: -CONFIG_MCPWM_ISR_HANDLER_IN_IRAM=y -# default: -# CONFIG_MCPWM_ISR_CACHE_SAFE is not set -# default: -# CONFIG_MCPWM_CTRL_FUNC_IN_IRAM is not set -# default: -CONFIG_MCPWM_OBJ_CACHE_SAFE=y -# default: -# CONFIG_MCPWM_ENABLE_DEBUG_LOG is not set -# end of ESP-Driver:MCPWM Configurations - -# -# ESP-Driver:PCNT Configurations -# -# default: -# CONFIG_PCNT_CTRL_FUNC_IN_IRAM is not set -# default: -# CONFIG_PCNT_ISR_IRAM_SAFE is not set -# default: -# CONFIG_PCNT_ENABLE_DEBUG_LOG is not set -# end of ESP-Driver:PCNT Configurations - -# -# ESP-Driver:RMT Configurations -# -# default: -CONFIG_RMT_ENCODER_FUNC_IN_IRAM=y -# default: -CONFIG_RMT_TX_ISR_HANDLER_IN_IRAM=y -# default: -CONFIG_RMT_RX_ISR_HANDLER_IN_IRAM=y -# default: -# CONFIG_RMT_RECV_FUNC_IN_IRAM is not set -# default: -# CONFIG_RMT_TX_ISR_CACHE_SAFE is not set -# default: -# CONFIG_RMT_RX_ISR_CACHE_SAFE is not set -# default: -CONFIG_RMT_OBJ_CACHE_SAFE=y -# default: -# CONFIG_RMT_ENABLE_DEBUG_LOG is not set -# default: -# CONFIG_RMT_ISR_IRAM_SAFE is not set -# end of ESP-Driver:RMT Configurations - -# -# ESP-Driver:Sigma Delta Modulator Configurations -# -# default: -# CONFIG_SDM_CTRL_FUNC_IN_IRAM is not set -# default: -# CONFIG_SDM_ENABLE_DEBUG_LOG is not set -# end of ESP-Driver:Sigma Delta Modulator Configurations - -# -# ESP-Driver:SPI Configurations -# -# default: -# CONFIG_SPI_MASTER_IN_IRAM is not set -# default: -CONFIG_SPI_MASTER_ISR_IN_IRAM=y -# default: -# CONFIG_SPI_SLAVE_IN_IRAM is not set -# default: -CONFIG_SPI_SLAVE_ISR_IN_IRAM=y -# end of ESP-Driver:SPI Configurations - -# -# ESP-Driver:Touch Sensor Configurations -# -# default: -# CONFIG_TOUCH_CTRL_FUNC_IN_IRAM is not set -# default: -# CONFIG_TOUCH_ISR_IRAM_SAFE is not set -# default: -# CONFIG_TOUCH_ENABLE_DEBUG_LOG is not set -# default: -# CONFIG_TOUCH_SKIP_FSM_CHECK is not set -# end of ESP-Driver:Touch Sensor Configurations - -# -# ESP-Driver:Temperature Sensor Configurations -# -# default: -# CONFIG_TEMP_SENSOR_ENABLE_DEBUG_LOG is not set -# end of ESP-Driver:Temperature Sensor Configurations - -# -# ESP-Driver:TWAI Configurations -# -# default: -# CONFIG_TWAI_ISR_IN_IRAM is not set -# default: -# CONFIG_TWAI_IO_FUNC_IN_IRAM is not set -# default: -# CONFIG_TWAI_ISR_CACHE_SAFE is not set -# default: -# CONFIG_TWAI_ENABLE_DEBUG_LOG is not set -# end of ESP-Driver:TWAI Configurations - -# -# ESP-Driver:UART Configurations -# -# default: -# CONFIG_UART_ISR_IN_IRAM is not set -# end of ESP-Driver:UART Configurations - -# -# ESP-Driver:UHCI Configurations -# -# default: -# CONFIG_UHCI_ISR_HANDLER_IN_IRAM is not set -# default: -# CONFIG_UHCI_ISR_CACHE_SAFE is not set -# default: -# CONFIG_UHCI_ENABLE_DEBUG_LOG is not set -# end of ESP-Driver:UHCI Configurations - -# -# ESP-Driver:USB Serial/JTAG Configuration -# -# default: -CONFIG_USJ_ENABLE_USB_SERIAL_JTAG=y -# end of ESP-Driver:USB Serial/JTAG Configuration - -# -# Ethernet -# -# default: -CONFIG_ETH_ENABLED=y -# default: -CONFIG_ETH_USE_SPI_ETHERNET=y -# default: -# CONFIG_ETH_SPI_ETHERNET_DM9051 is not set -# default: -# CONFIG_ETH_SPI_ETHERNET_W5500 is not set -# default: -# CONFIG_ETH_SPI_ETHERNET_KSZ8851SNL is not set -# default: -# CONFIG_ETH_USE_OPENETH is not set -# default: -# CONFIG_ETH_TRANSMIT_MUTEX is not set -# end of Ethernet - -# -# Event Loop Library -# -# default: -# CONFIG_ESP_EVENT_LOOP_PROFILING is not set -# default: -CONFIG_ESP_EVENT_POST_FROM_ISR=y -# default: -CONFIG_ESP_EVENT_POST_FROM_IRAM_ISR=y -# end of Event Loop Library - -# -# GDB Stub -# -# default: -CONFIG_ESP_GDBSTUB_ENABLED=y -# default: -# CONFIG_ESP_SYSTEM_GDBSTUB_RUNTIME is not set -# default: -CONFIG_ESP_GDBSTUB_SUPPORT_TASKS=y -# default: -CONFIG_ESP_GDBSTUB_MAX_TASKS=32 -# end of GDB Stub - -# -# ESP HID -# -# default: -CONFIG_ESPHID_TASK_SIZE_BT=2048 -# default: -CONFIG_ESPHID_TASK_SIZE_BLE=4096 -# end of ESP HID - -# -# ESP HTTP client -# -# default: -CONFIG_ESP_HTTP_CLIENT_ENABLE_HTTPS=y -# default: -# CONFIG_ESP_HTTP_CLIENT_ENABLE_BASIC_AUTH is not set -# default: -# CONFIG_ESP_HTTP_CLIENT_ENABLE_DIGEST_AUTH is not set -# default: -# CONFIG_ESP_HTTP_CLIENT_ENABLE_CUSTOM_TRANSPORT is not set -# default: -CONFIG_ESP_HTTP_CLIENT_EVENT_POST_TIMEOUT=2000 -# end of ESP HTTP client - -# -# HTTP Server -# -# default: -CONFIG_HTTPD_MAX_REQ_HDR_LEN=1024 -# default: -CONFIG_HTTPD_MAX_URI_LEN=512 -# default: -CONFIG_HTTPD_ERR_RESP_NO_DELAY=y -# default: -CONFIG_HTTPD_PURGE_BUF_LEN=32 -# default: -# CONFIG_HTTPD_LOG_PURGE_DATA is not set -# default: -# CONFIG_HTTPD_WS_SUPPORT is not set -# default: -# CONFIG_HTTPD_QUEUE_WORK_BLOCKING is not set -# default: -CONFIG_HTTPD_SERVER_EVENT_POST_TIMEOUT=2000 -# end of HTTP Server - -# -# ESP HTTPS OTA -# -# default: -# CONFIG_ESP_HTTPS_OTA_DECRYPT_CB is not set -# default: -# CONFIG_ESP_HTTPS_OTA_ALLOW_HTTP is not set -# default: -CONFIG_ESP_HTTPS_OTA_EVENT_POST_TIMEOUT=2000 -# end of ESP HTTPS OTA - -# -# ESP HTTPS server -# -# default: -# CONFIG_ESP_HTTPS_SERVER_ENABLE is not set -# default: -CONFIG_ESP_HTTPS_SERVER_EVENT_POST_TIMEOUT=2000 -# default: -# CONFIG_ESP_HTTPS_SERVER_CERT_SELECT_HOOK is not set -# end of ESP HTTPS server - -# -# Hardware Settings -# -# default: -CONFIG_ESP_HW_SUPPORT_FUNC_IN_IRAM=y - -# -# Chip revision -# -# default: -CONFIG_ESP32S3_REV_MIN_0=y -# default: -# CONFIG_ESP32S3_REV_MIN_1 is not set -# default: -# CONFIG_ESP32S3_REV_MIN_2 is not set -# default: -CONFIG_ESP32S3_REV_MIN_FULL=0 -# default: -CONFIG_ESP_REV_MIN_FULL=0 - -# -# Maximum Supported ESP32-S3 Revision (Rev v0.99) -# -# default: -CONFIG_ESP32S3_REV_MAX_FULL=99 -# default: -CONFIG_ESP_REV_MAX_FULL=99 -# default: -CONFIG_ESP_EFUSE_BLOCK_REV_MIN_FULL=0 -# default: -CONFIG_ESP_EFUSE_BLOCK_REV_MAX_FULL=199 - -# -# Maximum Supported ESP32-S3 eFuse Block Revision (eFuse Block Rev v1.99) -# -# end of Chip revision - -# -# MAC Config -# -# default: -CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_STA=y -# default: -CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_AP=y -# default: -CONFIG_ESP_MAC_ADDR_UNIVERSE_BT=y -# default: -CONFIG_ESP_MAC_ADDR_UNIVERSE_ETH=y -# default: -CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES_FOUR=y -# default: -CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES=4 -# default: -# CONFIG_ESP32S3_UNIVERSAL_MAC_ADDRESSES_TWO is not set -# default: -CONFIG_ESP32S3_UNIVERSAL_MAC_ADDRESSES_FOUR=y -# default: -CONFIG_ESP32S3_UNIVERSAL_MAC_ADDRESSES=4 -# default: -# CONFIG_ESP_MAC_USE_CUSTOM_MAC_AS_BASE_MAC is not set -# end of MAC Config - -# -# Sleep Config -# -# default: -# CONFIG_ESP_SLEEP_POWER_DOWN_FLASH is not set -# default: -CONFIG_ESP_SLEEP_FLASH_LEAKAGE_WORKAROUND=y -# default: -CONFIG_ESP_SLEEP_MSPI_NEED_ALL_IO_PU=y -# default: -CONFIG_ESP_SLEEP_RTC_BUS_ISO_WORKAROUND=y -# default: -CONFIG_ESP_SLEEP_GPIO_RESET_WORKAROUND=y -# default: -CONFIG_ESP_SLEEP_WAIT_FLASH_READY_EXTRA_DELAY=2000 -# default: -# CONFIG_ESP_SLEEP_CACHE_SAFE_ASSERTION is not set -# default: -# CONFIG_ESP_SLEEP_DEBUG is not set -# default: -CONFIG_ESP_SLEEP_GPIO_ENABLE_INTERNAL_RESISTORS=y -# end of Sleep Config - -# -# RTC Clock Config -# -# default: -CONFIG_RTC_CLK_SRC_INT_RC=y -# default: -# CONFIG_RTC_CLK_SRC_EXT_CRYS is not set -# default: -# CONFIG_RTC_CLK_SRC_EXT_OSC is not set -# default: -# CONFIG_RTC_CLK_SRC_INT_8MD256 is not set -# default: -CONFIG_RTC_CLK_CAL_CYCLES=1024 -# default: -CONFIG_RTC_CLK_FUNC_IN_IRAM=y -# default: -CONFIG_RTC_TIME_FUNC_IN_IRAM=y -# end of RTC Clock Config - -# -# Peripheral Control -# -# default: -CONFIG_ESP_PERIPH_CTRL_FUNC_IN_IRAM=y -# default: -CONFIG_ESP_REGI2C_CTRL_FUNC_IN_IRAM=y -# end of Peripheral Control - -# -# GDMA Configurations -# -# default: -CONFIG_GDMA_CTRL_FUNC_IN_IRAM=y -# default: -CONFIG_GDMA_ISR_HANDLER_IN_IRAM=y -# default: -CONFIG_GDMA_OBJ_DRAM_SAFE=y -# default: -# CONFIG_GDMA_ENABLE_DEBUG_LOG is not set -# default: -# CONFIG_GDMA_ISR_IRAM_SAFE is not set -# end of GDMA Configurations - -# -# Main XTAL Config -# -# default: -CONFIG_XTAL_FREQ_40=y -# default: -CONFIG_XTAL_FREQ=40 -# end of Main XTAL Config - -# -# Power Supplier -# - -# -# Brownout Detector -# -# default: -CONFIG_ESP_BROWNOUT_DET=y -# default: -CONFIG_ESP_BROWNOUT_DET_LVL_SEL_7=y -# default: -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_6 is not set -# default: -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_5 is not set -# default: -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_4 is not set -# default: -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_3 is not set -# default: -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_2 is not set -# default: -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_1 is not set -# default: -CONFIG_ESP_BROWNOUT_DET_LVL=7 -# default: -CONFIG_ESP_BROWNOUT_USE_INTR=y -# end of Brownout Detector -# end of Power Supplier - -# default: -CONFIG_ESP_SPI_BUS_LOCK_ISR_FUNCS_IN_IRAM=y -# default: -CONFIG_ESP_INTR_IN_IRAM=y -# end of Hardware Settings - -# -# ESP-Driver:LCD Controller Configurations -# -# default: -# CONFIG_LCD_RGB_ISR_IRAM_SAFE is not set -# default: -# CONFIG_LCD_RGB_RESTART_IN_VSYNC is not set -# default: -# CONFIG_LCD_ENABLE_DEBUG_LOG is not set -# end of ESP-Driver:LCD Controller Configurations - -# -# ESP-MM: Memory Management Configurations -# -# default: -# CONFIG_ESP_MM_CACHE_MSYNC_C2M_CHUNKED_OPS is not set -# end of ESP-MM: Memory Management Configurations - -# -# ESP NETIF Adapter -# -# default: -CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120 -# default: -# CONFIG_ESP_NETIF_PROVIDE_CUSTOM_IMPLEMENTATION is not set -# default: -CONFIG_ESP_NETIF_TCPIP_LWIP=y -# default: -# CONFIG_ESP_NETIF_LOOPBACK is not set -# default: -CONFIG_ESP_NETIF_USES_TCPIP_WITH_BSD_API=y -# default: -CONFIG_ESP_NETIF_REPORT_DATA_TRAFFIC=y -# default: -# CONFIG_ESP_NETIF_RECEIVE_REPORT_ERRORS is not set -# default: -# CONFIG_ESP_NETIF_L2_TAP is not set -# default: -# CONFIG_ESP_NETIF_BRIDGE_EN is not set -# default: -# CONFIG_ESP_NETIF_SET_DNS_PER_DEFAULT_NETIF is not set -# end of ESP NETIF Adapter - -# -# Partition API Configuration -# -# end of Partition API Configuration - -# -# PHY -# -# default: -CONFIG_ESP_PHY_ENABLED=y -# default: -CONFIG_ESP_PHY_CALIBRATION_AND_DATA_STORAGE=y -# default: -# CONFIG_ESP_PHY_INIT_DATA_IN_PARTITION is not set -# default: -CONFIG_ESP_PHY_MAX_WIFI_TX_POWER=20 -# default: -CONFIG_ESP_PHY_MAX_TX_POWER=20 -# default: -# CONFIG_ESP_PHY_REDUCE_TX_POWER is not set -# default: -CONFIG_ESP_PHY_ENABLE_USB=y -# default: -# CONFIG_ESP_PHY_ENABLE_CERT_TEST is not set -# default: -CONFIG_ESP_PHY_RF_CAL_PARTIAL=y -# default: -# CONFIG_ESP_PHY_RF_CAL_NONE is not set -# default: -# CONFIG_ESP_PHY_RF_CAL_FULL is not set -# default: -CONFIG_ESP_PHY_CALIBRATION_MODE=0 -# default: -CONFIG_ESP_PHY_PLL_TRACK_PERIOD_MS=1000 -# default: -# CONFIG_ESP_PHY_PLL_TRACK_DEBUG is not set -# default: -# CONFIG_ESP_PHY_RECORD_USED_TIME is not set -# default: -CONFIG_ESP_PHY_IRAM_OPT=y -# default: -# CONFIG_ESP_PHY_DEBUG is not set -# end of PHY - -# -# Power Management -# -# default: -# CONFIG_PM_SLEEP_FUNC_IN_IRAM is not set -# default: -# CONFIG_PM_ENABLE is not set -# default: -# CONFIG_PM_SLP_IRAM_OPT is not set -# default: -CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP=y -# default: -CONFIG_PM_RESTORE_CACHE_TAGMEM_AFTER_LIGHT_SLEEP=y -# end of Power Management - -# -# ESP PSRAM -# -# default: -# CONFIG_SPIRAM is not set -# end of ESP PSRAM - -# -# ESP Ringbuf -# -# default: -# CONFIG_RINGBUF_PLACE_FUNCTIONS_INTO_FLASH is not set -# end of ESP Ringbuf - -# -# ESP-ROM -# -# default: -CONFIG_ESP_ROM_PRINT_IN_IRAM=y -# end of ESP-ROM - -# -# ESP Security Specific -# -# end of ESP Security Specific - -# -# ESP System Settings -# -# default: -# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_80 is not set -# default: -CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_160=y -# default: -# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240 is not set -# default: -CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=160 - -# -# Cache config -# -# default: -CONFIG_ESP32S3_INSTRUCTION_CACHE_16KB=y -# default: -# CONFIG_ESP32S3_INSTRUCTION_CACHE_32KB is not set -# default: -CONFIG_ESP32S3_INSTRUCTION_CACHE_SIZE=0x4000 -# default: -# CONFIG_ESP32S3_INSTRUCTION_CACHE_4WAYS is not set -# default: -CONFIG_ESP32S3_INSTRUCTION_CACHE_8WAYS=y -# default: -CONFIG_ESP32S3_ICACHE_ASSOCIATED_WAYS=8 -# default: -# CONFIG_ESP32S3_INSTRUCTION_CACHE_LINE_16B is not set -# default: -CONFIG_ESP32S3_INSTRUCTION_CACHE_LINE_32B=y -# default: -CONFIG_ESP32S3_INSTRUCTION_CACHE_LINE_SIZE=32 -# default: -# CONFIG_ESP32S3_DATA_CACHE_16KB is not set -# default: -CONFIG_ESP32S3_DATA_CACHE_32KB=y -# default: -# CONFIG_ESP32S3_DATA_CACHE_64KB is not set -# default: -CONFIG_ESP32S3_DATA_CACHE_SIZE=0x8000 -# default: -# CONFIG_ESP32S3_DATA_CACHE_4WAYS is not set -# default: -CONFIG_ESP32S3_DATA_CACHE_8WAYS=y -# default: -CONFIG_ESP32S3_DCACHE_ASSOCIATED_WAYS=8 -# default: -# CONFIG_ESP32S3_DATA_CACHE_LINE_16B is not set -# default: -CONFIG_ESP32S3_DATA_CACHE_LINE_32B=y -# default: -# CONFIG_ESP32S3_DATA_CACHE_LINE_64B is not set -# default: -CONFIG_ESP32S3_DATA_CACHE_LINE_SIZE=32 -# end of Cache config - -# -# Memory -# -# default: -# CONFIG_ESP32S3_RTCDATA_IN_FAST_MEM is not set -# default: -# CONFIG_ESP32S3_USE_FIXED_STATIC_RAM_SIZE is not set -# end of Memory - -# -# Trace memory -# -# default: -# CONFIG_ESP32S3_TRAX is not set -# default: -CONFIG_ESP32S3_TRACEMEM_RESERVE_DRAM=0x0 -# end of Trace memory - -# default: -CONFIG_ESP_SYSTEM_IN_IRAM=y -# default: -# CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT is not set -# default: -CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT=y -# default: -# CONFIG_ESP_SYSTEM_PANIC_SILENT_REBOOT is not set -# default: -# CONFIG_ESP_SYSTEM_PANIC_GDBSTUB is not set -# default: -CONFIG_ESP_SYSTEM_PANIC_REBOOT_DELAY_SECONDS=0 -# default: -CONFIG_ESP_SYSTEM_RTC_FAST_MEM_AS_HEAP_DEPCHECK=y -# default: -CONFIG_ESP_SYSTEM_ALLOW_RTC_FAST_MEM_AS_HEAP=y - -# -# Memory protection -# -# default: -CONFIG_ESP_SYSTEM_MEMPROT_FEATURE=y -# default: -CONFIG_ESP_SYSTEM_MEMPROT_FEATURE_LOCK=y -# end of Memory protection - -# default: -CONFIG_ESP_SYSTEM_EVENT_QUEUE_SIZE=32 -# default: -CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=2304 -CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192 -# default: -CONFIG_ESP_MAIN_TASK_AFFINITY_CPU0=y -# default: -# CONFIG_ESP_MAIN_TASK_AFFINITY_CPU1 is not set -# default: -# CONFIG_ESP_MAIN_TASK_AFFINITY_NO_AFFINITY is not set -# default: -CONFIG_ESP_MAIN_TASK_AFFINITY=0x0 -# default: -CONFIG_ESP_MINIMAL_SHARED_STACK_SIZE=2048 -# default: -CONFIG_ESP_CONSOLE_UART_DEFAULT=y -# default: -# CONFIG_ESP_CONSOLE_USB_CDC is not set -# default: -# CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG is not set -# default: -# CONFIG_ESP_CONSOLE_UART_CUSTOM is not set -# default: -# CONFIG_ESP_CONSOLE_NONE is not set -# default: -# CONFIG_ESP_CONSOLE_SECONDARY_NONE is not set -# default: -CONFIG_ESP_CONSOLE_SECONDARY_USB_SERIAL_JTAG=y -# default: -CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG_ENABLED=y -# default: -CONFIG_ESP_CONSOLE_UART=y -# default: -CONFIG_ESP_CONSOLE_UART_NUM=0 -# default: -CONFIG_ESP_CONSOLE_ROM_SERIAL_PORT_NUM=0 -# default: -CONFIG_ESP_CONSOLE_UART_BAUDRATE=115200 -# default: -CONFIG_ESP_INT_WDT=y -# default: -CONFIG_ESP_INT_WDT_TIMEOUT_MS=300 -# default: -CONFIG_ESP_INT_WDT_CHECK_CPU1=y -# default: -CONFIG_ESP_TASK_WDT_EN=y -# default: -CONFIG_ESP_TASK_WDT_INIT=y -# default: -# CONFIG_ESP_TASK_WDT_PANIC is not set -# default: -CONFIG_ESP_TASK_WDT_TIMEOUT_S=5 -# default: -CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0=y -# default: -CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU1=y -# default: -# CONFIG_ESP_PANIC_HANDLER_IRAM is not set -# default: -# CONFIG_ESP_DEBUG_STUBS_ENABLE is not set -# default: -CONFIG_ESP_DEBUG_OCDAWARE=y -# default: -CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_4=y -# default: -CONFIG_ESP_SYSTEM_BBPLL_RECALIB=y -# end of ESP System Settings - -# -# IPC (Inter-Processor Call) -# -# default: -CONFIG_ESP_IPC_ENABLE=y -# default: -CONFIG_ESP_IPC_TASK_STACK_SIZE=1280 -# default: -CONFIG_ESP_IPC_USES_CALLERS_PRIORITY=y -# default: -CONFIG_ESP_IPC_ISR_ENABLE=y -# end of IPC (Inter-Processor Call) - -# -# ESP Timer (High Resolution Timer) -# -# default: -CONFIG_ESP_TIMER_IN_IRAM=y -# default: -# CONFIG_ESP_TIMER_PROFILING is not set -# default: -CONFIG_ESP_TIME_FUNCS_USE_RTC_TIMER=y -# default: -CONFIG_ESP_TIME_FUNCS_USE_ESP_TIMER=y -# default: -CONFIG_ESP_TIMER_TASK_STACK_SIZE=3584 -# default: -CONFIG_ESP_TIMER_INTERRUPT_LEVEL=1 -# default: -# CONFIG_ESP_TIMER_SHOW_EXPERIMENTAL is not set -# default: -CONFIG_ESP_TIMER_TASK_AFFINITY=0x0 -# default: -CONFIG_ESP_TIMER_TASK_AFFINITY_CPU0=y -# default: -CONFIG_ESP_TIMER_ISR_AFFINITY_CPU0=y -# default: -# CONFIG_ESP_TIMER_SUPPORTS_ISR_DISPATCH_METHOD is not set -# default: -CONFIG_ESP_TIMER_IMPL_SYSTIMER=y -# end of ESP Timer (High Resolution Timer) - -# -# Wi-Fi -# -# default: -CONFIG_ESP_WIFI_ENABLED=y -# default: -CONFIG_ESP_WIFI_STATIC_RX_BUFFER_NUM=10 -# default: -CONFIG_ESP_WIFI_DYNAMIC_RX_BUFFER_NUM=32 -# default: -# CONFIG_ESP_WIFI_STATIC_TX_BUFFER is not set -# default: -CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER=y -# default: -CONFIG_ESP_WIFI_TX_BUFFER_TYPE=1 -# default: -CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER_NUM=32 -# default: -CONFIG_ESP_WIFI_STATIC_RX_MGMT_BUFFER=y -# default: -# CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUFFER is not set -# default: -CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUF=0 -# default: -CONFIG_ESP_WIFI_RX_MGMT_BUF_NUM_DEF=5 -# default: -# CONFIG_ESP_WIFI_CSI_ENABLED is not set -# default: -CONFIG_ESP_WIFI_AMPDU_TX_ENABLED=y -# default: -CONFIG_ESP_WIFI_TX_BA_WIN=6 -# default: -CONFIG_ESP_WIFI_AMPDU_RX_ENABLED=y -# default: -CONFIG_ESP_WIFI_RX_BA_WIN=6 -# default: -CONFIG_ESP_WIFI_NVS_ENABLED=y -# default: -CONFIG_ESP_WIFI_TASK_PINNED_TO_CORE_0=y -# default: -# CONFIG_ESP_WIFI_TASK_PINNED_TO_CORE_1 is not set -# default: -CONFIG_ESP_WIFI_SOFTAP_BEACON_MAX_LEN=752 -# default: -CONFIG_ESP_WIFI_MGMT_SBUF_NUM=32 -# default: -CONFIG_ESP_WIFI_IRAM_OPT=y -# default: -# CONFIG_ESP_WIFI_EXTRA_IRAM_OPT is not set -# default: -CONFIG_ESP_WIFI_RX_IRAM_OPT=y -# default: -CONFIG_ESP_WIFI_ENABLE_WPA3_SAE=y -# default: -CONFIG_ESP_WIFI_ENABLE_SAE_PK=y -# default: -CONFIG_ESP_WIFI_ENABLE_SAE_H2E=y -# default: -CONFIG_ESP_WIFI_SOFTAP_SAE_SUPPORT=y -# default: -CONFIG_ESP_WIFI_ENABLE_WPA3_OWE_STA=y -# default: -# CONFIG_ESP_WIFI_SLP_IRAM_OPT is not set -# default: -CONFIG_ESP_WIFI_SLP_DEFAULT_MIN_ACTIVE_TIME=50 -# default: -# CONFIG_ESP_WIFI_BSS_MAX_IDLE_SUPPORT is not set -# default: -CONFIG_ESP_WIFI_SLP_DEFAULT_MAX_ACTIVE_TIME=10 -# default: -CONFIG_ESP_WIFI_SLP_DEFAULT_WAIT_BROADCAST_DATA_TIME=15 -# default: -# CONFIG_ESP_WIFI_FTM_ENABLE is not set -# default: -CONFIG_ESP_WIFI_STA_DISCONNECTED_PM_ENABLE=y -# default: -# CONFIG_ESP_WIFI_GCMP_SUPPORT is not set -# default: -CONFIG_ESP_WIFI_GMAC_SUPPORT=y -# default: -CONFIG_ESP_WIFI_SOFTAP_SUPPORT=y -# default: -# CONFIG_ESP_WIFI_SLP_BEACON_LOST_OPT is not set -# default: -CONFIG_ESP_WIFI_ESPNOW_MAX_ENCRYPT_NUM=7 -# default: -CONFIG_ESP_WIFI_MBEDTLS_CRYPTO=y -# default: -CONFIG_ESP_WIFI_MBEDTLS_TLS_CLIENT=y -# default: -# CONFIG_ESP_WIFI_WAPI_PSK is not set -# default: -# CONFIG_ESP_WIFI_SUITE_B_192 is not set -# default: -# CONFIG_ESP_WIFI_11KV_SUPPORT is not set -# default: -# CONFIG_ESP_WIFI_MBO_SUPPORT is not set -# default: -# CONFIG_ESP_WIFI_DPP_SUPPORT is not set -# default: -# CONFIG_ESP_WIFI_11R_SUPPORT is not set -# default: -# CONFIG_ESP_WIFI_WPS_SOFTAP_REGISTRAR is not set - -# -# WPS Configuration Options -# -# default: -# CONFIG_ESP_WIFI_WPS_STRICT is not set -# default: -# CONFIG_ESP_WIFI_WPS_PASSPHRASE is not set -# default: -# CONFIG_ESP_WIFI_WPS_RECONNECT_ON_FAIL is not set -# end of WPS Configuration Options - -# default: -# CONFIG_ESP_WIFI_DEBUG_PRINT is not set -# default: -CONFIG_ESP_WIFI_ENTERPRISE_SUPPORT=y -# default: -# CONFIG_ESP_WIFI_ENT_FREE_DYNAMIC_BUFFER is not set -# end of Wi-Fi - -# -# Core dump -# -# default: -# CONFIG_ESP_COREDUMP_ENABLE_TO_FLASH is not set -# default: -# CONFIG_ESP_COREDUMP_ENABLE_TO_UART is not set -# default: -CONFIG_ESP_COREDUMP_ENABLE_TO_NONE=y -# end of Core dump - -# -# FAT Filesystem support -# -# default: -CONFIG_FATFS_VOLUME_COUNT=2 -# default: -CONFIG_FATFS_LFN_NONE=y -# default: -# CONFIG_FATFS_LFN_HEAP is not set -# default: -# CONFIG_FATFS_LFN_STACK is not set -# default: -# CONFIG_FATFS_SECTOR_512 is not set -# default: -CONFIG_FATFS_SECTOR_4096=y -# default: -# CONFIG_FATFS_CODEPAGE_DYNAMIC is not set -# default: -CONFIG_FATFS_CODEPAGE_437=y -# default: -# CONFIG_FATFS_CODEPAGE_720 is not set -# default: -# CONFIG_FATFS_CODEPAGE_737 is not set -# default: -# CONFIG_FATFS_CODEPAGE_771 is not set -# default: -# CONFIG_FATFS_CODEPAGE_775 is not set -# default: -# CONFIG_FATFS_CODEPAGE_850 is not set -# default: -# CONFIG_FATFS_CODEPAGE_852 is not set -# default: -# CONFIG_FATFS_CODEPAGE_855 is not set -# default: -# CONFIG_FATFS_CODEPAGE_857 is not set -# default: -# CONFIG_FATFS_CODEPAGE_860 is not set -# default: -# CONFIG_FATFS_CODEPAGE_861 is not set -# default: -# CONFIG_FATFS_CODEPAGE_862 is not set -# default: -# CONFIG_FATFS_CODEPAGE_863 is not set -# default: -# CONFIG_FATFS_CODEPAGE_864 is not set -# default: -# CONFIG_FATFS_CODEPAGE_865 is not set -# default: -# CONFIG_FATFS_CODEPAGE_866 is not set -# default: -# CONFIG_FATFS_CODEPAGE_869 is not set -# default: -# CONFIG_FATFS_CODEPAGE_932 is not set -# default: -# CONFIG_FATFS_CODEPAGE_936 is not set -# default: -# CONFIG_FATFS_CODEPAGE_949 is not set -# default: -# CONFIG_FATFS_CODEPAGE_950 is not set -# default: -CONFIG_FATFS_CODEPAGE=437 -# default: -CONFIG_FATFS_FS_LOCK=0 -# default: -CONFIG_FATFS_TIMEOUT_MS=10000 -# default: -CONFIG_FATFS_PER_FILE_CACHE=y -# default: -# CONFIG_FATFS_USE_FASTSEEK is not set -# default: -CONFIG_FATFS_USE_STRFUNC_NONE=y -# default: -# CONFIG_FATFS_USE_STRFUNC_WITHOUT_CRLF_CONV is not set -# default: -# CONFIG_FATFS_USE_STRFUNC_WITH_CRLF_CONV is not set -# default: -CONFIG_FATFS_VFS_FSTAT_BLKSIZE=0 -# default: -# CONFIG_FATFS_IMMEDIATE_FSYNC is not set -# default: -# CONFIG_FATFS_USE_LABEL is not set -# default: -CONFIG_FATFS_LINK_LOCK=y -# default: -# CONFIG_FATFS_USE_DYN_BUFFERS is not set - -# -# File system free space calculation behavior -# -# default: -CONFIG_FATFS_DONT_TRUST_FREE_CLUSTER_CNT=0 -# default: -CONFIG_FATFS_DONT_TRUST_LAST_ALLOC=0 -# end of File system free space calculation behavior -# end of FAT Filesystem support - -# -# FreeRTOS -# - -# -# Kernel -# -# default: -# CONFIG_FREERTOS_SMP is not set -# default: -# CONFIG_FREERTOS_UNICORE is not set -CONFIG_FREERTOS_HZ=1000 -# default: -# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_NONE is not set -# default: -# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_PTRVAL is not set -# default: -CONFIG_FREERTOS_CHECK_STACKOVERFLOW_CANARY=y -# default: -CONFIG_FREERTOS_THREAD_LOCAL_STORAGE_POINTERS=1 -# default: -CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1536 -# default: -# CONFIG_FREERTOS_USE_IDLE_HOOK is not set -# default: -# CONFIG_FREERTOS_USE_TICK_HOOK is not set -# default: -CONFIG_FREERTOS_MAX_TASK_NAME_LEN=16 -# default: -# CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY is not set -# default: -CONFIG_FREERTOS_USE_TIMERS=y -# default: -CONFIG_FREERTOS_TIMER_SERVICE_TASK_NAME="Tmr Svc" -# default: -# CONFIG_FREERTOS_TIMER_TASK_AFFINITY_CPU0 is not set -# default: -# CONFIG_FREERTOS_TIMER_TASK_AFFINITY_CPU1 is not set -# default: -CONFIG_FREERTOS_TIMER_TASK_NO_AFFINITY=y -# default: -CONFIG_FREERTOS_TIMER_SERVICE_TASK_CORE_AFFINITY=0x7FFFFFFF -# default: -CONFIG_FREERTOS_TIMER_TASK_PRIORITY=1 -# default: -CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=2048 -# default: -CONFIG_FREERTOS_TIMER_QUEUE_LENGTH=10 -# default: -CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE=0 -# default: -CONFIG_FREERTOS_TASK_NOTIFICATION_ARRAY_ENTRIES=1 -# default: -# CONFIG_FREERTOS_USE_TRACE_FACILITY is not set -# default: -# CONFIG_FREERTOS_USE_LIST_DATA_INTEGRITY_CHECK_BYTES is not set -# default: -# CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS is not set -# default: -# CONFIG_FREERTOS_USE_APPLICATION_TASK_TAG is not set -# end of Kernel - -# -# Port -# -# default: -CONFIG_FREERTOS_TASK_FUNCTION_WRAPPER=y -# default: -# CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK is not set -# default: -CONFIG_FREERTOS_TLSP_DELETION_CALLBACKS=y -# default: -# CONFIG_FREERTOS_TASK_PRE_DELETION_HOOK is not set -# default: -# CONFIG_FREERTOS_ENABLE_STATIC_TASK_CLEAN_UP is not set -# default: -CONFIG_FREERTOS_CHECK_MUTEX_GIVEN_BY_OWNER=y -# default: -CONFIG_FREERTOS_ISR_STACKSIZE=1536 -# default: -CONFIG_FREERTOS_INTERRUPT_BACKTRACE=y -# default: -# CONFIG_FREERTOS_FPU_IN_ISR is not set -# default: -CONFIG_FREERTOS_TICK_SUPPORT_SYSTIMER=y -# default: -CONFIG_FREERTOS_CORETIMER_SYSTIMER_LVL1=y -# default: -# CONFIG_FREERTOS_CORETIMER_SYSTIMER_LVL3 is not set -# default: -CONFIG_FREERTOS_SYSTICK_USES_SYSTIMER=y -# default: -# CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH is not set -# default: -# CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE is not set -# end of Port - -# -# Extra -# -# end of Extra - -# default: -CONFIG_FREERTOS_PORT=y -# default: -CONFIG_FREERTOS_NO_AFFINITY=0x7FFFFFFF -# default: -CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION=y -# default: -CONFIG_FREERTOS_DEBUG_OCDAWARE=y -# default: -CONFIG_FREERTOS_ENABLE_TASK_SNAPSHOT=y -# default: -CONFIG_FREERTOS_PLACE_SNAPSHOT_FUNS_INTO_FLASH=y -# default: -CONFIG_FREERTOS_NUMBER_OF_CORES=2 -# default: -CONFIG_FREERTOS_IN_IRAM=y -# end of FreeRTOS - -# -# Hardware Abstraction Layer (HAL) and Low Level (LL) -# -# default: -CONFIG_HAL_ASSERTION_EQUALS_SYSTEM=y -# default: -# CONFIG_HAL_ASSERTION_DISABLE is not set -# default: -# CONFIG_HAL_ASSERTION_SILENT is not set -# default: -# CONFIG_HAL_ASSERTION_ENABLE is not set -# default: -CONFIG_HAL_DEFAULT_ASSERTION_LEVEL=2 -# default: -CONFIG_HAL_WDT_USE_ROM_IMPL=y -# end of Hardware Abstraction Layer (HAL) and Low Level (LL) - -# -# Heap memory debugging -# -# default: -CONFIG_HEAP_POISONING_DISABLED=y -# default: -# CONFIG_HEAP_POISONING_LIGHT is not set -# default: -# CONFIG_HEAP_POISONING_COMPREHENSIVE is not set -# default: -CONFIG_HEAP_TRACING_OFF=y -# default: -# CONFIG_HEAP_TRACING_STANDALONE is not set -# default: -# CONFIG_HEAP_TRACING_TOHOST is not set -# default: -# CONFIG_HEAP_USE_HOOKS is not set -# default: -# CONFIG_HEAP_TASK_TRACKING is not set -# default: -# CONFIG_HEAP_ABORT_WHEN_ALLOCATION_FAILS is not set -# default: -# CONFIG_HEAP_PLACE_FUNCTION_INTO_FLASH is not set -# end of Heap memory debugging - -# -# Log -# -# default: -CONFIG_LOG_VERSION_1=y -# default: -# CONFIG_LOG_VERSION_2 is not set -# default: -CONFIG_LOG_VERSION=1 - -# -# Log Level -# -# default: -# CONFIG_LOG_DEFAULT_LEVEL_NONE is not set -# default: -# CONFIG_LOG_DEFAULT_LEVEL_ERROR is not set -# default: -# CONFIG_LOG_DEFAULT_LEVEL_WARN is not set -# default: -CONFIG_LOG_DEFAULT_LEVEL_INFO=y -# default: -# CONFIG_LOG_DEFAULT_LEVEL_DEBUG is not set -# default: -# CONFIG_LOG_DEFAULT_LEVEL_VERBOSE is not set -# default: -CONFIG_LOG_DEFAULT_LEVEL=3 -# default: -CONFIG_LOG_MAXIMUM_EQUALS_DEFAULT=y -# default: -# CONFIG_LOG_MAXIMUM_LEVEL_DEBUG is not set -# default: -# CONFIG_LOG_MAXIMUM_LEVEL_VERBOSE is not set -# default: -CONFIG_LOG_MAXIMUM_LEVEL=3 - -# -# Level Settings -# -# default: -# CONFIG_LOG_MASTER_LEVEL is not set -# default: -CONFIG_LOG_DYNAMIC_LEVEL_CONTROL=y -# default: -# CONFIG_LOG_TAG_LEVEL_IMPL_NONE is not set -# default: -# CONFIG_LOG_TAG_LEVEL_IMPL_LINKED_LIST is not set -# default: -CONFIG_LOG_TAG_LEVEL_IMPL_CACHE_AND_LINKED_LIST=y -# default: -# CONFIG_LOG_TAG_LEVEL_CACHE_ARRAY is not set -# default: -CONFIG_LOG_TAG_LEVEL_CACHE_BINARY_MIN_HEAP=y -# default: -CONFIG_LOG_TAG_LEVEL_IMPL_CACHE_SIZE=31 -# end of Level Settings -# end of Log Level - -# -# Format -# -# default: -# CONFIG_LOG_COLORS is not set -# default: -CONFIG_LOG_TIMESTAMP_SOURCE_RTOS=y -# default: -# CONFIG_LOG_TIMESTAMP_SOURCE_SYSTEM is not set -# end of Format - -# -# Settings -# -# default: -CONFIG_LOG_MODE_TEXT_EN=y -# default: -CONFIG_LOG_MODE_TEXT=y -# end of Settings - -# default: -CONFIG_LOG_IN_IRAM=y -# end of Log - -# -# LWIP -# -# default: -CONFIG_LWIP_ENABLE=y -# default: -CONFIG_LWIP_LOCAL_HOSTNAME="espressif" -# default: -CONFIG_LWIP_TCPIP_TASK_PRIO=18 -# default: -# CONFIG_LWIP_TCPIP_CORE_LOCKING is not set -# default: -# CONFIG_LWIP_CHECK_THREAD_SAFETY is not set -# default: -CONFIG_LWIP_DNS_SUPPORT_MDNS_QUERIES=y -# default: -# CONFIG_LWIP_L2_TO_L3_COPY is not set -# default: -# CONFIG_LWIP_IRAM_OPTIMIZATION is not set -# default: -# CONFIG_LWIP_EXTRA_IRAM_OPTIMIZATION is not set -# default: -CONFIG_LWIP_TIMERS_ONDEMAND=y -# default: -CONFIG_LWIP_ND6=y -# default: -# CONFIG_LWIP_FORCE_ROUTER_FORWARDING is not set -# default: -CONFIG_LWIP_MAX_SOCKETS=10 -# default: -# CONFIG_LWIP_USE_ONLY_LWIP_SELECT is not set -# default: -# CONFIG_LWIP_SO_LINGER is not set -# default: -CONFIG_LWIP_SO_REUSE=y -# default: -CONFIG_LWIP_SO_REUSE_RXTOALL=y -CONFIG_LWIP_SO_RCVBUF=y -# default: -# CONFIG_LWIP_NETBUF_RECVINFO is not set -# default: -CONFIG_LWIP_IP_DEFAULT_TTL=64 -# default: -CONFIG_LWIP_IP4_FRAG=y -# default: -CONFIG_LWIP_IP6_FRAG=y -# default: -# CONFIG_LWIP_IP4_REASSEMBLY is not set -# default: -# CONFIG_LWIP_IP6_REASSEMBLY is not set -# default: -CONFIG_LWIP_IP_REASS_MAX_PBUFS=10 -# default: -# CONFIG_LWIP_IP_FORWARD is not set -# default: -# CONFIG_LWIP_STATS is not set -# default: -CONFIG_LWIP_ESP_GRATUITOUS_ARP=y -# default: -CONFIG_LWIP_GARP_TMR_INTERVAL=60 -# default: -CONFIG_LWIP_ESP_MLDV6_REPORT=y -# default: -CONFIG_LWIP_MLDV6_TMR_INTERVAL=40 -# default: -CONFIG_LWIP_TCPIP_RECVMBOX_SIZE=32 -# default: -CONFIG_LWIP_DHCP_DOES_ARP_CHECK=y -# default: -# CONFIG_LWIP_DHCP_DOES_ACD_CHECK is not set -# default: -# CONFIG_LWIP_DHCP_DOES_NOT_CHECK_OFFERED_IP is not set -# default: -# CONFIG_LWIP_DHCP_DISABLE_CLIENT_ID is not set -# default: -CONFIG_LWIP_DHCP_DISABLE_VENDOR_CLASS_ID=y -# default: -# CONFIG_LWIP_DHCP_RESTORE_LAST_IP is not set -# default: -CONFIG_LWIP_DHCP_OPTIONS_LEN=69 -# default: -CONFIG_LWIP_NUM_NETIF_CLIENT_DATA=0 -# default: -CONFIG_LWIP_DHCP_COARSE_TIMER_SECS=1 - -# -# DHCP server -# -# default: -CONFIG_LWIP_DHCPS=y -# default: -CONFIG_LWIP_DHCPS_LEASE_UNIT=60 -# default: -CONFIG_LWIP_DHCPS_MAX_STATION_NUM=8 -# default: -CONFIG_LWIP_DHCPS_STATIC_ENTRIES=y -# default: -CONFIG_LWIP_DHCPS_ADD_DNS=y -# end of DHCP server - -# default: -# CONFIG_LWIP_AUTOIP is not set -# default: -CONFIG_LWIP_IPV4=y -# default: -CONFIG_LWIP_IPV6=y -# default: -# CONFIG_LWIP_IPV6_AUTOCONFIG is not set -# default: -CONFIG_LWIP_IPV6_NUM_ADDRESSES=3 -# default: -# CONFIG_LWIP_IPV6_FORWARD is not set -# default: -# CONFIG_LWIP_NETIF_STATUS_CALLBACK is not set -# default: -CONFIG_LWIP_NETIF_LOOPBACK=y -# default: -CONFIG_LWIP_LOOPBACK_MAX_PBUFS=8 - -# -# TCP -# -# default: -CONFIG_LWIP_MAX_ACTIVE_TCP=16 -# default: -CONFIG_LWIP_MAX_LISTENING_TCP=16 -# default: -CONFIG_LWIP_TCP_HIGH_SPEED_RETRANSMISSION=y -# default: -CONFIG_LWIP_TCP_MAXRTX=12 -# default: -CONFIG_LWIP_TCP_SYNMAXRTX=12 -# default: -CONFIG_LWIP_TCP_MSS=1440 -# default: -CONFIG_LWIP_TCP_TMR_INTERVAL=250 -# default: -CONFIG_LWIP_TCP_MSL=60000 -# default: -CONFIG_LWIP_TCP_FIN_WAIT_TIMEOUT=20000 -# default: -CONFIG_LWIP_TCP_SND_BUF_DEFAULT=5760 -# default: -CONFIG_LWIP_TCP_WND_DEFAULT=5760 -# default: -CONFIG_LWIP_TCP_RECVMBOX_SIZE=6 -# default: -CONFIG_LWIP_TCP_ACCEPTMBOX_SIZE=6 -# default: -CONFIG_LWIP_TCP_QUEUE_OOSEQ=y -# default: -CONFIG_LWIP_TCP_OOSEQ_TIMEOUT=6 -# default: -CONFIG_LWIP_TCP_OOSEQ_MAX_PBUFS=4 -# default: -# CONFIG_LWIP_TCP_SACK_OUT is not set -# default: -CONFIG_LWIP_TCP_OVERSIZE_MSS=y -# default: -# CONFIG_LWIP_TCP_OVERSIZE_QUARTER_MSS is not set -# default: -# CONFIG_LWIP_TCP_OVERSIZE_DISABLE is not set -# default: -CONFIG_LWIP_TCP_RTO_TIME=1500 -# end of TCP - -# -# UDP -# -# default: -CONFIG_LWIP_MAX_UDP_PCBS=16 -# default: -CONFIG_LWIP_UDP_RECVMBOX_SIZE=6 -# end of UDP - -# -# Checksums -# -# default: -# CONFIG_LWIP_CHECKSUM_CHECK_IP is not set -# default: -# CONFIG_LWIP_CHECKSUM_CHECK_UDP is not set -# default: -CONFIG_LWIP_CHECKSUM_CHECK_ICMP=y -# end of Checksums - -# default: -CONFIG_LWIP_TCPIP_TASK_STACK_SIZE=3072 -# default: -CONFIG_LWIP_TCPIP_TASK_AFFINITY_NO_AFFINITY=y -# default: -# CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU0 is not set -# default: -# CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU1 is not set -# default: -CONFIG_LWIP_TCPIP_TASK_AFFINITY=0x7FFFFFFF -# default: -CONFIG_LWIP_IPV6_MEMP_NUM_ND6_QUEUE=3 -# default: -CONFIG_LWIP_IPV6_ND6_NUM_NEIGHBORS=5 -# default: -CONFIG_LWIP_IPV6_ND6_NUM_PREFIXES=5 -# default: -CONFIG_LWIP_IPV6_ND6_NUM_ROUTERS=3 -# default: -CONFIG_LWIP_IPV6_ND6_NUM_DESTINATIONS=10 -# default: -# CONFIG_LWIP_IPV6_ND6_ROUTE_INFO_OPTION_SUPPORT is not set -# default: -CONFIG_LWIP_PPP_SUPPORT=y -# default: -CONFIG_LWIP_PPP_ENABLE_IPV4=y -# default: -CONFIG_LWIP_PPP_ENABLE_IPV6=y -# default: -# CONFIG_LWIP_PPP_NOTIFY_PHASE_SUPPORT is not set -# default: -# CONFIG_LWIP_PPP_PAP_SUPPORT is not set -# default: -# CONFIG_LWIP_PPP_CHAP_SUPPORT is not set -# default: -# CONFIG_LWIP_PPP_MSCHAP_SUPPORT is not set -# default: -# CONFIG_LWIP_PPP_MPPE_SUPPORT is not set -# default: -# CONFIG_LWIP_PPP_SERVER_SUPPORT is not set -# default: -CONFIG_LWIP_PPP_VJ_HEADER_COMPRESSION=y -# default: -# CONFIG_LWIP_ENABLE_LCP_ECHO is not set -# default: -# CONFIG_LWIP_PPP_DEBUG_ON is not set -# default: -# CONFIG_LWIP_USE_EXTERNAL_MBEDTLS is not set -# default: -# CONFIG_LWIP_SLIP_SUPPORT is not set - -# -# ICMP -# -# default: -CONFIG_LWIP_ICMP=y -# default: -# CONFIG_LWIP_MULTICAST_PING is not set -# default: -# CONFIG_LWIP_BROADCAST_PING is not set -# end of ICMP - -# -# LWIP RAW API -# -# default: -CONFIG_LWIP_MAX_RAW_PCBS=16 -# end of LWIP RAW API - -# -# SNTP -# -# default: -CONFIG_LWIP_SNTP_MAX_SERVERS=1 -# default: -# CONFIG_LWIP_DHCP_GET_NTP_SRV is not set -# default: -CONFIG_LWIP_SNTP_UPDATE_DELAY=3600000 -# default: -CONFIG_LWIP_SNTP_STARTUP_DELAY=y -# default: -CONFIG_LWIP_SNTP_MAXIMUM_STARTUP_DELAY=5000 -# end of SNTP - -# -# DNS -# -# default: -CONFIG_LWIP_DNS_MAX_HOST_IP=1 -# default: -CONFIG_LWIP_DNS_MAX_SERVERS=3 -# default: -# CONFIG_LWIP_FALLBACK_DNS_SERVER_SUPPORT is not set -# default: -# CONFIG_LWIP_DNS_SETSERVER_WITH_NETIF is not set -# default: -# CONFIG_LWIP_USE_ESP_GETADDRINFO is not set -# end of DNS - -# default: -CONFIG_LWIP_BRIDGEIF_MAX_PORTS=7 -# default: -CONFIG_LWIP_ESP_LWIP_ASSERT=y - -# -# Hooks -# -# default: -# CONFIG_LWIP_HOOK_TCP_ISN_NONE is not set -# default: -CONFIG_LWIP_HOOK_TCP_ISN_DEFAULT=y -# default: -# CONFIG_LWIP_HOOK_TCP_ISN_CUSTOM is not set -# default: -CONFIG_LWIP_HOOK_IP6_ROUTE_NONE=y -# default: -# CONFIG_LWIP_HOOK_IP6_ROUTE_DEFAULT is not set -# default: -# CONFIG_LWIP_HOOK_IP6_ROUTE_CUSTOM is not set -# default: -CONFIG_LWIP_HOOK_ND6_GET_GW_NONE=y -# default: -# CONFIG_LWIP_HOOK_ND6_GET_GW_DEFAULT is not set -# default: -# CONFIG_LWIP_HOOK_ND6_GET_GW_CUSTOM is not set -# default: -CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_NONE=y -# default: -# CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_DEFAULT is not set -# default: -# CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_CUSTOM is not set -# default: -CONFIG_LWIP_HOOK_DHCP_EXTRA_OPTION_NONE=y -# default: -# CONFIG_LWIP_HOOK_DHCP_EXTRA_OPTION_DEFAULT is not set -# default: -# CONFIG_LWIP_HOOK_DHCP_EXTRA_OPTION_CUSTOM is not set -# default: -CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_NONE=y -# default: -# CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_DEFAULT is not set -# default: -# CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_CUSTOM is not set -# default: -CONFIG_LWIP_HOOK_DNS_EXT_RESOLVE_NONE=y -# default: -# CONFIG_LWIP_HOOK_DNS_EXT_RESOLVE_CUSTOM is not set -# default: -# CONFIG_LWIP_HOOK_IP6_INPUT_NONE is not set -# default: -CONFIG_LWIP_HOOK_IP6_INPUT_DEFAULT=y -# default: -# CONFIG_LWIP_HOOK_IP6_INPUT_CUSTOM is not set -# end of Hooks - -# default: -# CONFIG_LWIP_DEBUG is not set -# end of LWIP - -# -# mbedTLS -# -# default: -CONFIG_MBEDTLS_INTERNAL_MEM_ALLOC=y -# default: -# CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC is not set -# default: -# CONFIG_MBEDTLS_CUSTOM_MEM_ALLOC is not set -# default: -CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN=y -# default: -CONFIG_MBEDTLS_SSL_IN_CONTENT_LEN=16384 -# default: -CONFIG_MBEDTLS_SSL_OUT_CONTENT_LEN=4096 -# default: -# CONFIG_MBEDTLS_DYNAMIC_BUFFER is not set -# default: -# CONFIG_MBEDTLS_DEBUG is not set - -# -# mbedTLS v3.x related -# -# default: -# CONFIG_MBEDTLS_SSL_PROTO_TLS1_3 is not set -# default: -# CONFIG_MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH is not set -# default: -# CONFIG_MBEDTLS_X509_TRUSTED_CERT_CALLBACK is not set -# default: -# CONFIG_MBEDTLS_SSL_CONTEXT_SERIALIZATION is not set -# default: -CONFIG_MBEDTLS_SSL_KEEP_PEER_CERTIFICATE=y -# default: -# CONFIG_MBEDTLS_SSL_KEYING_MATERIAL_EXPORT is not set -# default: -CONFIG_MBEDTLS_PKCS7_C=y -# end of mbedTLS v3.x related - -# -# Certificate Bundle -# -# default: -CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=y -# default: -CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_FULL=y -# default: -# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_CMN is not set -# default: -# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_NONE is not set -# default: -# CONFIG_MBEDTLS_CUSTOM_CERTIFICATE_BUNDLE is not set -# default: -# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEPRECATED_LIST is not set -# default: -CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_MAX_CERTS=200 -# end of Certificate Bundle - -# default: -# CONFIG_MBEDTLS_ECP_RESTARTABLE is not set -# default: -CONFIG_MBEDTLS_CMAC_C=y -# default: -CONFIG_MBEDTLS_HARDWARE_AES=y -# default: -CONFIG_MBEDTLS_AES_USE_INTERRUPT=y -# default: -CONFIG_MBEDTLS_AES_INTERRUPT_LEVEL=0 -# default: -CONFIG_MBEDTLS_GCM_SUPPORT_NON_AES_CIPHER=y -# default: -CONFIG_MBEDTLS_HARDWARE_MPI=y -# default: -# CONFIG_MBEDTLS_LARGE_KEY_SOFTWARE_MPI is not set -# default: -CONFIG_MBEDTLS_MPI_USE_INTERRUPT=y -# default: -CONFIG_MBEDTLS_MPI_INTERRUPT_LEVEL=0 -# default: -CONFIG_MBEDTLS_HARDWARE_SHA=y -# default: -CONFIG_MBEDTLS_ROM_MD5=y -# default: -# CONFIG_MBEDTLS_ATCA_HW_ECDSA_SIGN is not set -# default: -# CONFIG_MBEDTLS_ATCA_HW_ECDSA_VERIFY is not set -# default: -CONFIG_MBEDTLS_HAVE_TIME=y -# default: -# CONFIG_MBEDTLS_PLATFORM_TIME_ALT is not set -# default: -# CONFIG_MBEDTLS_HAVE_TIME_DATE is not set -# default: -CONFIG_MBEDTLS_ECDSA_DETERMINISTIC=y -# default: -CONFIG_MBEDTLS_SHA1_C=y -# default: -CONFIG_MBEDTLS_SHA512_C=y -# default: -# CONFIG_MBEDTLS_SHA3_C is not set -# default: -CONFIG_MBEDTLS_TLS_SERVER_AND_CLIENT=y -# default: -# CONFIG_MBEDTLS_TLS_SERVER_ONLY is not set -# default: -# CONFIG_MBEDTLS_TLS_CLIENT_ONLY is not set -# default: -# CONFIG_MBEDTLS_TLS_DISABLED is not set -# default: -CONFIG_MBEDTLS_TLS_SERVER=y -# default: -CONFIG_MBEDTLS_TLS_CLIENT=y -# default: -CONFIG_MBEDTLS_TLS_ENABLED=y - -# -# TLS Key Exchange Methods -# -CONFIG_MBEDTLS_PSK_MODES=y -CONFIG_MBEDTLS_KEY_EXCHANGE_PSK=y -# default: -CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_PSK=y -# default: -CONFIG_MBEDTLS_KEY_EXCHANGE_RSA_PSK=y -# default: -CONFIG_MBEDTLS_KEY_EXCHANGE_RSA=y -# default: -CONFIG_MBEDTLS_KEY_EXCHANGE_ELLIPTIC_CURVE=y -# default: -CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_RSA=y -# default: -CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA=y -# default: -CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA=y -# default: -CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_RSA=y -# end of TLS Key Exchange Methods - -# default: -CONFIG_MBEDTLS_SSL_RENEGOTIATION=y -# default: -CONFIG_MBEDTLS_SSL_PROTO_TLS1_2=y -# default: -# CONFIG_MBEDTLS_SSL_PROTO_GMTSSL1_1 is not set -# default: -# CONFIG_MBEDTLS_SSL_PROTO_DTLS is not set -# default: -CONFIG_MBEDTLS_SSL_ALPN=y -# default: -CONFIG_MBEDTLS_CLIENT_SSL_SESSION_TICKETS=y -# default: -CONFIG_MBEDTLS_SERVER_SSL_SESSION_TICKETS=y - -# -# Symmetric Ciphers -# -# default: -CONFIG_MBEDTLS_AES_C=y -# default: -# CONFIG_MBEDTLS_CAMELLIA_C is not set -# default: -# CONFIG_MBEDTLS_DES_C is not set -# default: -# CONFIG_MBEDTLS_BLOWFISH_C is not set -# default: -# CONFIG_MBEDTLS_XTEA_C is not set -# default: -CONFIG_MBEDTLS_CCM_C=y -# default: -CONFIG_MBEDTLS_GCM_C=y -# default: -# CONFIG_MBEDTLS_NIST_KW_C is not set -# end of Symmetric Ciphers - -# default: -# CONFIG_MBEDTLS_RIPEMD160_C is not set - -# -# Certificates -# -# default: -CONFIG_MBEDTLS_PEM_PARSE_C=y -# default: -CONFIG_MBEDTLS_PEM_WRITE_C=y -# default: -CONFIG_MBEDTLS_X509_CRL_PARSE_C=y -# default: -CONFIG_MBEDTLS_X509_CSR_PARSE_C=y -# end of Certificates - -# default: -CONFIG_MBEDTLS_ECP_C=y -# default: -CONFIG_MBEDTLS_PK_PARSE_EC_EXTENDED=y -# default: -CONFIG_MBEDTLS_PK_PARSE_EC_COMPRESSED=y -# default: -# CONFIG_MBEDTLS_DHM_C is not set -# default: -CONFIG_MBEDTLS_ECDH_C=y -# default: -CONFIG_MBEDTLS_ECDSA_C=y -# default: -# CONFIG_MBEDTLS_ECJPAKE_C is not set -# default: -CONFIG_MBEDTLS_ECP_DP_SECP192R1_ENABLED=y -# default: -CONFIG_MBEDTLS_ECP_DP_SECP224R1_ENABLED=y -# default: -CONFIG_MBEDTLS_ECP_DP_SECP256R1_ENABLED=y -# default: -CONFIG_MBEDTLS_ECP_DP_SECP384R1_ENABLED=y -# default: -CONFIG_MBEDTLS_ECP_DP_SECP521R1_ENABLED=y -# default: -CONFIG_MBEDTLS_ECP_DP_SECP192K1_ENABLED=y -# default: -CONFIG_MBEDTLS_ECP_DP_SECP224K1_ENABLED=y -# default: -CONFIG_MBEDTLS_ECP_DP_SECP256K1_ENABLED=y -# default: -CONFIG_MBEDTLS_ECP_DP_BP256R1_ENABLED=y -# default: -CONFIG_MBEDTLS_ECP_DP_BP384R1_ENABLED=y -# default: -CONFIG_MBEDTLS_ECP_DP_BP512R1_ENABLED=y -# default: -CONFIG_MBEDTLS_ECP_DP_CURVE25519_ENABLED=y -# default: -CONFIG_MBEDTLS_ECP_NIST_OPTIM=y -# default: -# CONFIG_MBEDTLS_ECP_FIXED_POINT_OPTIM is not set -# default: -# CONFIG_MBEDTLS_POLY1305_C is not set -# default: -# CONFIG_MBEDTLS_CHACHA20_C is not set -# default: -# CONFIG_MBEDTLS_HKDF_C is not set -# default: -# CONFIG_MBEDTLS_THREADING_C is not set -# default: -CONFIG_MBEDTLS_ERROR_STRINGS=y -# default: -CONFIG_MBEDTLS_FS_IO=y -# default: -# CONFIG_MBEDTLS_ALLOW_WEAK_CERTIFICATE_VERIFICATION is not set -# end of mbedTLS - -# -# ESP-MQTT Configurations -# -# default: -CONFIG_MQTT_PROTOCOL_311=y -# default: -# CONFIG_MQTT_PROTOCOL_5 is not set -# default: -CONFIG_MQTT_TRANSPORT_SSL=y -# default: -CONFIG_MQTT_TRANSPORT_WEBSOCKET=y -# default: -CONFIG_MQTT_TRANSPORT_WEBSOCKET_SECURE=y -# default: -# CONFIG_MQTT_MSG_ID_INCREMENTAL is not set -# default: -# CONFIG_MQTT_SKIP_PUBLISH_IF_DISCONNECTED is not set -# default: -# CONFIG_MQTT_REPORT_DELETED_MESSAGES is not set -# default: -# CONFIG_MQTT_USE_CUSTOM_CONFIG is not set -# default: -# CONFIG_MQTT_TASK_CORE_SELECTION_ENABLED is not set -# default: -# CONFIG_MQTT_CUSTOM_OUTBOX is not set -# end of ESP-MQTT Configurations - -# -# LibC -# -# default: -CONFIG_LIBC_NEWLIB=y -# default: -# CONFIG_LIBC_PICOLIBC is not set -# default: -CONFIG_LIBC_MISC_IN_IRAM=y -# default: -CONFIG_LIBC_LOCKS_PLACE_IN_IRAM=y -# default: -CONFIG_LIBC_STDOUT_LINE_ENDING_CRLF=y -# default: -# CONFIG_LIBC_STDOUT_LINE_ENDING_LF is not set -# default: -# CONFIG_LIBC_STDOUT_LINE_ENDING_CR is not set -# default: -# CONFIG_LIBC_STDIN_LINE_ENDING_CRLF is not set -# default: -# CONFIG_LIBC_STDIN_LINE_ENDING_LF is not set -# default: -CONFIG_LIBC_STDIN_LINE_ENDING_CR=y -# default: -# CONFIG_LIBC_NEWLIB_NANO_FORMAT is not set -# default: -CONFIG_LIBC_TIME_SYSCALL_USE_RTC_HRT=y -# default: -# CONFIG_LIBC_TIME_SYSCALL_USE_RTC is not set -# default: -# CONFIG_LIBC_TIME_SYSCALL_USE_HRT is not set -# default: -# CONFIG_LIBC_TIME_SYSCALL_USE_NONE is not set -# default: -CONFIG_LIBC_ASSERT_BUFFER_SIZE=200 -# end of LibC - -# -# NVS -# -# default: -# CONFIG_NVS_ENCRYPTION is not set -# default: -# CONFIG_NVS_ASSERT_ERROR_CHECK is not set -# default: -# CONFIG_NVS_LEGACY_DUP_KEYS_COMPATIBILITY is not set -# end of NVS - -# -# OpenThread -# -# default: -# CONFIG_OPENTHREAD_ENABLED is not set - -# -# OpenThread Spinel -# -# default: -# CONFIG_OPENTHREAD_SPINEL_ONLY is not set -# end of OpenThread Spinel - -# default: -# CONFIG_OPENTHREAD_DEBUG is not set -# end of OpenThread - -# -# Protocomm -# -# default: -CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_0=y -# default: -CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_1=y -# default: -CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_2=y -# default: -CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_PATCH_VERSION=y -# end of Protocomm - -# -# PThreads -# -# default: -CONFIG_PTHREAD_TASK_PRIO_DEFAULT=5 -# default: -CONFIG_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 -# default: -CONFIG_PTHREAD_STACK_MIN=768 -# default: -CONFIG_PTHREAD_DEFAULT_CORE_NO_AFFINITY=y -# default: -# CONFIG_PTHREAD_DEFAULT_CORE_0 is not set -# default: -# CONFIG_PTHREAD_DEFAULT_CORE_1 is not set -# default: -CONFIG_PTHREAD_TASK_CORE_DEFAULT=-1 -# default: -CONFIG_PTHREAD_TASK_NAME_DEFAULT="pthread" -# end of PThreads - -# -# MMU Config -# -# default: -CONFIG_MMU_PAGE_SIZE_64KB=y -# default: -CONFIG_MMU_PAGE_MODE="64KB" -# default: -CONFIG_MMU_PAGE_SIZE=0x10000 -# end of MMU Config - -# -# Main Flash configuration -# - -# -# SPI Flash behavior when brownout -# -# default: -CONFIG_SPI_FLASH_BROWNOUT_RESET_XMC=y -# default: -CONFIG_SPI_FLASH_BROWNOUT_RESET=y -# end of SPI Flash behavior when brownout - -# -# Optional and Experimental Features (READ DOCS FIRST) -# - -# -# Features here require specific hardware (READ DOCS FIRST!) -# -# default: -# CONFIG_SPI_FLASH_HPM_ENA is not set -# default: -CONFIG_SPI_FLASH_HPM_AUTO=y -# default: -# CONFIG_SPI_FLASH_HPM_DIS is not set -# default: -CONFIG_SPI_FLASH_HPM_ON=y -# default: -CONFIG_SPI_FLASH_HPM_DC_AUTO=y -# default: -# CONFIG_SPI_FLASH_HPM_DC_DISABLE is not set -# default: -# CONFIG_SPI_FLASH_AUTO_SUSPEND is not set -# default: -CONFIG_SPI_FLASH_SUSPEND_TSUS_VAL_US=50 -# default: -# CONFIG_SPI_FLASH_FORCE_ENABLE_XMC_C_SUSPEND is not set -# default: -# CONFIG_SPI_FLASH_FORCE_ENABLE_C6_H2_SUSPEND is not set -# default: -CONFIG_SPI_FLASH_PLACE_FUNCTIONS_IN_IRAM=y -# end of Optional and Experimental Features (READ DOCS FIRST) -# end of Main Flash configuration - -# -# SPI Flash driver -# -# default: -# CONFIG_SPI_FLASH_VERIFY_WRITE is not set -# default: -# CONFIG_SPI_FLASH_ENABLE_COUNTERS is not set -# default: -CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=y -# default: -# CONFIG_SPI_FLASH_ROM_IMPL is not set -# default: -CONFIG_SPI_FLASH_DANGEROUS_WRITE_ABORTS=y -# default: -# CONFIG_SPI_FLASH_DANGEROUS_WRITE_FAILS is not set -# default: -# CONFIG_SPI_FLASH_DANGEROUS_WRITE_ALLOWED is not set -# default: -# CONFIG_SPI_FLASH_BYPASS_BLOCK_ERASE is not set -# default: -CONFIG_SPI_FLASH_YIELD_DURING_ERASE=y -# default: -CONFIG_SPI_FLASH_ERASE_YIELD_DURATION_MS=20 -# default: -CONFIG_SPI_FLASH_ERASE_YIELD_TICKS=1 -# default: -CONFIG_SPI_FLASH_WRITE_CHUNK_SIZE=8192 -# default: -# CONFIG_SPI_FLASH_SIZE_OVERRIDE is not set -# default: -# CONFIG_SPI_FLASH_CHECK_ERASE_TIMEOUT_DISABLED is not set -# default: -# CONFIG_SPI_FLASH_OVERRIDE_CHIP_DRIVER_LIST is not set - -# -# Auto-detect flash chips -# -# default: -CONFIG_SPI_FLASH_VENDOR_XMC_SUPPORT_ENABLED=y -# default: -CONFIG_SPI_FLASH_VENDOR_GD_SUPPORT_ENABLED=y -# default: -CONFIG_SPI_FLASH_VENDOR_ISSI_SUPPORT_ENABLED=y -# default: -CONFIG_SPI_FLASH_VENDOR_MXIC_SUPPORT_ENABLED=y -# default: -CONFIG_SPI_FLASH_VENDOR_WINBOND_SUPPORT_ENABLED=y -# default: -CONFIG_SPI_FLASH_VENDOR_BOYA_SUPPORT_ENABLED=y -# default: -CONFIG_SPI_FLASH_VENDOR_TH_SUPPORT_ENABLED=y -# default: -CONFIG_SPI_FLASH_SUPPORT_ISSI_CHIP=y -# default: -CONFIG_SPI_FLASH_SUPPORT_MXIC_CHIP=y -# default: -CONFIG_SPI_FLASH_SUPPORT_GD_CHIP=y -# default: -CONFIG_SPI_FLASH_SUPPORT_WINBOND_CHIP=y -# default: -CONFIG_SPI_FLASH_SUPPORT_BOYA_CHIP=y -# default: -CONFIG_SPI_FLASH_SUPPORT_TH_CHIP=y -# default: -CONFIG_SPI_FLASH_SUPPORT_MXIC_OPI_CHIP=y -# end of Auto-detect flash chips - -# default: -CONFIG_SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE=y -# end of SPI Flash driver - -# -# SPIFFS Configuration -# -# default: -CONFIG_SPIFFS_MAX_PARTITIONS=3 - -# -# SPIFFS Cache Configuration -# -# default: -CONFIG_SPIFFS_CACHE=y -# default: -CONFIG_SPIFFS_CACHE_WR=y -# default: -# CONFIG_SPIFFS_CACHE_STATS is not set -# end of SPIFFS Cache Configuration - -# default: -CONFIG_SPIFFS_PAGE_CHECK=y -# default: -CONFIG_SPIFFS_GC_MAX_RUNS=10 -# default: -# CONFIG_SPIFFS_GC_STATS is not set -# default: -CONFIG_SPIFFS_PAGE_SIZE=256 -# default: -CONFIG_SPIFFS_OBJ_NAME_LEN=32 -# default: -# CONFIG_SPIFFS_FOLLOW_SYMLINKS is not set -# default: -CONFIG_SPIFFS_USE_MAGIC=y -# default: -CONFIG_SPIFFS_USE_MAGIC_LENGTH=y -# default: -CONFIG_SPIFFS_META_LENGTH=4 -# default: -CONFIG_SPIFFS_USE_MTIME=y - -# -# Debug Configuration -# -# default: -# CONFIG_SPIFFS_DBG is not set -# default: -# CONFIG_SPIFFS_API_DBG is not set -# default: -# CONFIG_SPIFFS_GC_DBG is not set -# default: -# CONFIG_SPIFFS_CACHE_DBG is not set -# default: -# CONFIG_SPIFFS_CHECK_DBG is not set -# default: -# CONFIG_SPIFFS_TEST_VISUALISATION is not set -# end of Debug Configuration -# end of SPIFFS Configuration - -# -# TCP Transport -# - -# -# Websocket -# -# default: -CONFIG_WS_TRANSPORT=y -# default: -CONFIG_WS_BUFFER_SIZE=1024 -# default: -# CONFIG_WS_DYNAMIC_BUFFER is not set -# end of Websocket -# end of TCP Transport - -# -# Ultra Low Power (ULP) Co-processor -# -# default: -# CONFIG_ULP_COPROC_ENABLED is not set - -# -# ULP Debugging Options -# -# end of ULP Debugging Options -# end of Ultra Low Power (ULP) Co-processor - -# -# Unity unit testing library -# -# default: -CONFIG_UNITY_ENABLE_FLOAT=y -# default: -CONFIG_UNITY_ENABLE_DOUBLE=y -# default: -# CONFIG_UNITY_ENABLE_64BIT is not set -# default: -# CONFIG_UNITY_ENABLE_COLOR is not set -# default: -CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER=y -# default: -# CONFIG_UNITY_ENABLE_FIXTURE is not set -# default: -# CONFIG_UNITY_ENABLE_BACKTRACE_ON_FAIL is not set -# default: -# CONFIG_UNITY_TEST_ORDER_BY_FILE_PATH_AND_LINE is not set -# end of Unity unit testing library - -# -# USB-OTG -# -# default: -CONFIG_USB_HOST_CONTROL_TRANSFER_MAX_SIZE=256 -# default: -CONFIG_USB_HOST_HW_BUFFER_BIAS_BALANCED=y -# default: -# CONFIG_USB_HOST_HW_BUFFER_BIAS_IN is not set -# default: -# CONFIG_USB_HOST_HW_BUFFER_BIAS_PERIODIC_OUT is not set - -# -# Hub Driver Configuration -# - -# -# Root Port configuration -# -# default: -CONFIG_USB_HOST_DEBOUNCE_DELAY_MS=250 -# default: -CONFIG_USB_HOST_RESET_HOLD_MS=30 -# default: -CONFIG_USB_HOST_RESET_RECOVERY_MS=30 -# default: -CONFIG_USB_HOST_SET_ADDR_RECOVERY_MS=10 -# end of Root Port configuration - -# default: -# CONFIG_USB_HOST_HUBS_SUPPORTED is not set -# end of Hub Driver Configuration - -# default: -# CONFIG_USB_HOST_ENABLE_ENUM_FILTER_CALLBACK is not set -# default: -CONFIG_USB_OTG_SUPPORTED=y -# end of USB-OTG - -# -# Virtual file system -# -# default: -CONFIG_VFS_SUPPORT_IO=y -# default: -CONFIG_VFS_SUPPORT_DIR=y -# default: -CONFIG_VFS_SUPPORT_SELECT=y -# default: -CONFIG_VFS_SUPPRESS_SELECT_DEBUG_OUTPUT=y -# default: -# CONFIG_VFS_SELECT_IN_RAM is not set -# default: -CONFIG_VFS_SUPPORT_TERMIOS=y -# default: -CONFIG_VFS_MAX_COUNT=8 - -# -# Host File System I/O (Semihosting) -# -# default: -CONFIG_VFS_SEMIHOSTFS_MAX_MOUNT_POINTS=1 -# end of Host File System I/O (Semihosting) - -# default: -CONFIG_VFS_INITIALIZE_DEV_NULL=y -# end of Virtual file system - -# -# Wear Levelling -# -# default: -# CONFIG_WL_SECTOR_SIZE_512 is not set -# default: -CONFIG_WL_SECTOR_SIZE_4096=y -# default: -CONFIG_WL_SECTOR_SIZE=4096 -# end of Wear Levelling - -# -# Wi-Fi Provisioning Manager -# -# default: -CONFIG_WIFI_PROV_SCAN_MAX_ENTRIES=16 -# default: -CONFIG_WIFI_PROV_AUTOSTOP_TIMEOUT=30 -# default: -CONFIG_WIFI_PROV_STA_ALL_CHANNEL_SCAN=y -# default: -# CONFIG_WIFI_PROV_STA_FAST_SCAN is not set -# end of Wi-Fi Provisioning Manager - -# -# cJSON -# -# default: -CONFIG_CJSON_NESTING_LIMIT=1000 -# default: -CONFIG_CJSON_CIRCULAR_LIMIT=10000 -# end of cJSON - -# -# DSP Library -# -# default: -CONFIG_DSP_OPTIMIZATIONS_SUPPORTED=y -# default: -# CONFIG_DSP_ANSI is not set -# default: -CONFIG_DSP_OPTIMIZED=y -# default: -CONFIG_DSP_OPTIMIZATION=1 -# default: -# CONFIG_DSP_MAX_FFT_SIZE_512 is not set -# default: -# CONFIG_DSP_MAX_FFT_SIZE_1024 is not set -# default: -# CONFIG_DSP_MAX_FFT_SIZE_2048 is not set -# default: -CONFIG_DSP_MAX_FFT_SIZE_4096=y -# default: -# CONFIG_DSP_MAX_FFT_SIZE_8192 is not set -# default: -# CONFIG_DSP_MAX_FFT_SIZE_16384 is not set -# default: -# CONFIG_DSP_MAX_FFT_SIZE_32768 is not set -# default: -CONFIG_DSP_MAX_FFT_SIZE=4096 -# end of DSP Library - -# -# Modbus configuration -# -# default: -CONFIG_FMB_COMM_MODE_TCP_EN=y -# default: -CONFIG_FMB_TCP_PORT_DEFAULT=502 -# default: -CONFIG_FMB_TCP_PORT_MAX_CONN=5 -# default: -CONFIG_FMB_TCP_CONNECTION_TOUT_SEC=20 -# default: -# CONFIG_FMB_TCP_UID_ENABLED is not set -# default: -CONFIG_FMB_COMM_MODE_RTU_EN=y -# default: -CONFIG_FMB_COMM_MODE_ASCII_EN=y -# default: -CONFIG_FMB_MASTER_TIMEOUT_MS_RESPOND=3000 -# default: -CONFIG_FMB_MASTER_DELAY_MS_CONVERT=200 -# default: -CONFIG_FMB_QUEUE_LENGTH=20 -# default: -CONFIG_FMB_PORT_TASK_STACK_SIZE=4096 -# default: -CONFIG_FMB_SERIAL_BUF_SIZE=256 -# default: -CONFIG_FMB_SERIAL_ASCII_BITS_PER_SYMB=8 -# default: -CONFIG_FMB_ASCII_TIMEOUT_WAIT_BEFORE_SEND_MS=0 -# default: -CONFIG_FMB_SERIAL_ASCII_TIMEOUT_RESPOND_MS=1000 -# default: -CONFIG_FMB_PORT_TASK_PRIO=10 -# default: -# CONFIG_FMB_PORT_TASK_AFFINITY_NO_AFFINITY is not set -# default: -CONFIG_FMB_PORT_TASK_AFFINITY_CPU0=y -# default: -# CONFIG_FMB_PORT_TASK_AFFINITY_CPU1 is not set -# default: -CONFIG_FMB_PORT_TASK_AFFINITY=0x0 -# default: -CONFIG_FMB_CONTROLLER_SLAVE_ID_SUPPORT=y -# default: -CONFIG_FMB_CONTROLLER_SLAVE_ID=0x00112233 -# default: -CONFIG_FMB_CONTROLLER_SLAVE_ID_MAX_SIZE=32 -# default: -CONFIG_FMB_CONTROLLER_NOTIFY_TIMEOUT=20 -# default: -CONFIG_FMB_CONTROLLER_NOTIFY_QUEUE_SIZE=20 -# default: -CONFIG_FMB_CONTROLLER_STACK_SIZE=4096 -# default: -CONFIG_FMB_EVENT_QUEUE_TIMEOUT=20 -# default: -# CONFIG_FMB_TIMER_PORT_ENABLED is not set -# default: -# CONFIG_FMB_TIMER_USE_ISR_DISPATCH_METHOD is not set -# default: -# CONFIG_FMB_EXT_TYPE_SUPPORT is not set -# end of Modbus configuration - -# -# ESP serial flasher -# -# default: -CONFIG_SERIAL_FLASHER_MD5_ENABLED=y -# default: -CONFIG_SERIAL_FLASHER_RESET_HOLD_TIME_MS=100 -# default: -CONFIG_SERIAL_FLASHER_BOOT_HOLD_TIME_MS=50 -# end of ESP serial flasher - -# -# Zigbee -# -# default: -# CONFIG_ZB_ENABLED is not set -# end of Zigbee - -# -# Diagnostics data store -# -# default: -CONFIG_DIAG_DATA_STORE_RTC=y -# default: -# CONFIG_DIAG_DATA_STORE_FLASH is not set -# default: -# CONFIG_DIAG_DATA_STORE_DBG_PRINTS is not set -# default: -CONFIG_DIAG_DATA_STORE_REPORTING_WATERMARK_PERCENT=80 - -# -# RTC Store -# -# default: -CONFIG_RTC_STORE_DATA_SIZE=6144 -# default: -CONFIG_RTC_STORE_CRITICAL_DATA_SIZE=4096 -# end of RTC Store -# end of Diagnostics data store - -# -# Diagnostics -# -# default: -CONFIG_DIAG_LOG_MSG_ARG_FORMAT_TLV=y -# default: -# CONFIG_DIAG_LOG_MSG_ARG_FORMAT_STRING is not set -# default: -CONFIG_DIAG_LOG_MSG_ARG_MAX_SIZE=64 -# default: -CONFIG_DIAG_LOG_DROP_WIFI_LOGS=y -# default: -CONFIG_DIAG_ENABLE_METRICS=y -# default: -CONFIG_DIAG_METRICS_MAX_COUNT=20 -# default: -CONFIG_DIAG_ENABLE_HEAP_METRICS=y -# default: -CONFIG_DIAG_ENABLE_WIFI_METRICS=y -# default: -CONFIG_DIAG_ENABLE_VARIABLES=y -# default: -CONFIG_DIAG_VARIABLES_MAX_COUNT=20 -# default: -CONFIG_DIAG_ENABLE_NETWORK_VARIABLES=y -# default: -# CONFIG_DIAG_MORE_NETWORK_VARS is not set -# default: -# CONFIG_DIAG_USE_EXTERNAL_LOG_WRAP is not set -# end of Diagnostics - -# -# ESP Insights -# -# default: -# CONFIG_ESP_INSIGHTS_ENABLED is not set -# default: -# CONFIG_ESP_INSIGHTS_TRANSPORT_MQTT is not set -# default: -CONFIG_ESP_INSIGHTS_TRANSPORT_HTTPS=y -# default: -CONFIG_ESP_INSIGHTS_TRANSPORT_HTTPS_HOST="https://client.insights.espressif.com" -# default: -CONFIG_ESP_INSIGHTS_CLOUD_POST_MIN_INTERVAL_SEC=60 -# default: -CONFIG_ESP_INSIGHTS_CLOUD_POST_MAX_INTERVAL_SEC=240 -# default: -CONFIG_ESP_INSIGHTS_META_VERSION_10=y -# end of ESP Insights - -# -# esp-modem -# -# default: -CONFIG_ESP_MODEM_CMUX_DEFRAGMENT_PAYLOAD=y -# default: -# CONFIG_ESP_MODEM_USE_INFLATABLE_BUFFER_IF_NEEDED is not set -# default: -CONFIG_ESP_MODEM_CMUX_DELAY_AFTER_DLCI_SETUP=0 -# default: -# CONFIG_ESP_MODEM_CMUX_USE_SHORT_PAYLOADS_ONLY is not set -# default: -# CONFIG_ESP_MODEM_ADD_CUSTOM_MODULE is not set -# default: -CONFIG_ESP_MODEM_C_API_STR_MAX=128 -# default: -# CONFIG_ESP_MODEM_URC_HANDLER is not set -# default: -# CONFIG_ESP_MODEM_PPP_ESCAPE_BEFORE_EXIT is not set -# default: -# CONFIG_ESP_MODEM_ADD_DEBUG_LOGS is not set -# default: -# CONFIG_ESP_MODEM_ENABLE_DEVELOPMENT_MODE is not set -# default: -CONFIG_ESP_MODEM_USE_PPP_MODE=y -# end of esp-modem - -# -# OpenThread RCP Update -# -# default: -# CONFIG_AUTO_UPDATE_RCP is not set -# default: -# CONFIG_CREATE_OTA_IMAGE_WITH_RCP_FW is not set -# end of OpenThread RCP Update - -# -# ESP Secure Cert Manager -# -# default: -CONFIG_ESP_SECURE_CERT_DS_PERIPHERAL=y -# default: -# CONFIG_ESP_SECURE_CERT_SUPPORT_LEGACY_FORMATS is not set -# default: -# CONFIG_ESP_SECURE_CERT_WRITE_ENABLE_LOGGING is not set -# end of ESP Secure Cert Manager - -# -# jsmn -# -# default: -# CONFIG_JSMN_PARENT_LINKS is not set -# default: -# CONFIG_JSMN_STRICT is not set -# default: -# CONFIG_JSMN_STATIC is not set -# end of jsmn - -# -# libsodium -# -# default: -CONFIG_LIBSODIUM_USE_MBEDTLS_SHA=y -# end of libsodium - -# -# mDNS -# -# default: -CONFIG_MDNS_MAX_INTERFACES=3 -# default: -CONFIG_MDNS_MAX_SERVICES=10 -# default: -CONFIG_MDNS_TASK_PRIORITY=1 -# default: -CONFIG_MDNS_ACTION_QUEUE_LEN=16 -# default: -CONFIG_MDNS_TASK_STACK_SIZE=4096 -# default: -# CONFIG_MDNS_TASK_AFFINITY_NO_AFFINITY is not set -# default: -CONFIG_MDNS_TASK_AFFINITY_CPU0=y -# default: -# CONFIG_MDNS_TASK_AFFINITY_CPU1 is not set -# default: -CONFIG_MDNS_TASK_AFFINITY=0x0 - -# -# MDNS Memory Configuration -# -# default: -CONFIG_MDNS_TASK_CREATE_FROM_INTERNAL=y -# default: -CONFIG_MDNS_MEMORY_ALLOC_INTERNAL=y -# default: -# CONFIG_MDNS_MEMORY_CUSTOM_IMPL is not set -# end of MDNS Memory Configuration - -# default: -CONFIG_MDNS_SERVICE_ADD_TIMEOUT_MS=2000 -# default: -CONFIG_MDNS_TIMER_PERIOD_MS=100 -# default: -# CONFIG_MDNS_NETWORKING_SOCKET is not set -# default: -# CONFIG_MDNS_SKIP_SUPPRESSING_OWN_QUERIES is not set -# default: -# CONFIG_MDNS_ENABLE_DEBUG_PRINTS is not set -# default: -CONFIG_MDNS_ENABLE_CONSOLE_CLI=y -# default: -# CONFIG_MDNS_RESPOND_REVERSE_QUERIES is not set -# default: -CONFIG_MDNS_MULTIPLE_INSTANCE=y - -# -# MDNS Predefined interfaces -# -# default: -CONFIG_MDNS_PREDEF_NETIF_STA=y -# default: -CONFIG_MDNS_PREDEF_NETIF_AP=y -# default: -CONFIG_MDNS_PREDEF_NETIF_ETH=y -# end of MDNS Predefined interfaces -# end of mDNS - -# -# Network Provisioning Manager -# -# default: -CONFIG_NETWORK_PROV_NETWORK_TYPE_WIFI=y -# default: -CONFIG_NETWORK_PROV_SCAN_MAX_ENTRIES=16 -# default: -CONFIG_NETWORK_PROV_AUTOSTOP_TIMEOUT=30 -# default: -# CONFIG_NETWORK_PROV_BLE_FORCE_ENCRYPTION is not set -# default: -CONFIG_NETWORK_PROV_WIFI_STA_ALL_CHANNEL_SCAN=y -# default: -# CONFIG_NETWORK_PROV_WIFI_STA_FAST_SCAN is not set -# end of Network Provisioning Manager - -# -# ESP RainMaker Common -# -# default: -CONFIG_ESP_RMAKER_LIB_ESP_MQTT=y -# default: -# CONFIG_ESP_RMAKER_LIB_AWS_IOT is not set -# default: -CONFIG_ESP_RMAKER_MQTT_GLUE_LIB=1 -# default: -CONFIG_ESP_RMAKER_MQTT_PORT_443=y -# default: -# CONFIG_ESP_RMAKER_MQTT_PORT_8883 is not set -# default: -CONFIG_ESP_RMAKER_MQTT_PORT=1 -# default: -# CONFIG_ESP_RMAKER_MQTT_PERSISTENT_SESSION is not set -# default: -CONFIG_ESP_RMAKER_MQTT_SEND_USERNAME=y -# default: -CONFIG_ESP_RMAKER_MQTT_PRODUCT_NAME="RMDev" -# default: -CONFIG_ESP_RMAKER_MQTT_PRODUCT_VERSION="1x0" -# default: -CONFIG_ESP_RMAKER_MQTT_PRODUCT_SKU="EX00" -# default: -CONFIG_ESP_RMAKER_MQTT_USE_CERT_BUNDLE=y -# default: -CONFIG_ESP_RMAKER_MAX_MQTT_SUBSCRIPTIONS=10 -# default: -CONFIG_ESP_RMAKER_MQTT_KEEP_ALIVE_INTERVAL=120 -# default: -CONFIG_ESP_RMAKER_NETWORK_OVER_WIFI=y -# default: -CONFIG_ESP_RMAKER_WORK_QUEUE_TASK_STACK=4096 -# default: -CONFIG_ESP_RMAKER_WORK_QUEUE_TASK_PRIORITY=5 -# default: -CONFIG_ESP_RMAKER_FACTORY_PARTITION_NAME="fctry" -# default: -CONFIG_ESP_RMAKER_FACTORY_NAMESPACE="rmaker_creds" -# default: -CONFIG_ESP_RMAKER_DEF_TIMEZONE="Asia/Shanghai" -# default: -CONFIG_ESP_RMAKER_SNTP_SERVER_NAME="pool.ntp.org" -# default: -CONFIG_ESP_RMAKER_MAX_COMMANDS=10 -# end of ESP RainMaker Common - -# -# LittleFS -# -# default: -# CONFIG_LITTLEFS_SDMMC_SUPPORT is not set -# default: -CONFIG_LITTLEFS_MAX_PARTITIONS=3 -# default: -CONFIG_LITTLEFS_PAGE_SIZE=256 -# default: -CONFIG_LITTLEFS_OBJ_NAME_LEN=64 -# default: -CONFIG_LITTLEFS_READ_SIZE=128 -# default: -CONFIG_LITTLEFS_WRITE_SIZE=128 -# default: -CONFIG_LITTLEFS_LOOKAHEAD_SIZE=128 -# default: -CONFIG_LITTLEFS_CACHE_SIZE=512 -# default: -CONFIG_LITTLEFS_BLOCK_CYCLES=512 -# default: -CONFIG_LITTLEFS_USE_MTIME=y -# default: -# CONFIG_LITTLEFS_USE_ONLY_HASH is not set -# default: -# CONFIG_LITTLEFS_HUMAN_READABLE is not set -# default: -CONFIG_LITTLEFS_MTIME_USE_SECONDS=y -# default: -# CONFIG_LITTLEFS_MTIME_USE_NONCE is not set -# default: -# CONFIG_LITTLEFS_SPIFFS_COMPAT is not set -# default: -# CONFIG_LITTLEFS_FLUSH_FILE_EVERY_WRITE is not set -# default: -# CONFIG_LITTLEFS_FCNTL_GET_PATH is not set -# default: -# CONFIG_LITTLEFS_MULTIVERSION is not set -# default: -# CONFIG_LITTLEFS_MALLOC_STRATEGY_DISABLE is not set -# default: -CONFIG_LITTLEFS_MALLOC_STRATEGY_DEFAULT=y -# default: -# CONFIG_LITTLEFS_MALLOC_STRATEGY_INTERNAL is not set -# default: -CONFIG_LITTLEFS_ASSERTS=y -# default: -# CONFIG_LITTLEFS_MMAP_PARTITION is not set -# default: -# CONFIG_LITTLEFS_WDT_RESET is not set -# end of LittleFS -# end of Component config - -# default: -# CONFIG_IDF_EXPERIMENTAL_FEATURES is not set - -# Deprecated options for backward compatibility -# CONFIG_APP_BUILD_TYPE_ELF_RAM is not set -# CONFIG_NO_BLOBS is not set -# CONFIG_APP_ROLLBACK_ENABLE is not set -# CONFIG_LOG_BOOTLOADER_LEVEL_NONE is not set -# CONFIG_LOG_BOOTLOADER_LEVEL_ERROR is not set -# CONFIG_LOG_BOOTLOADER_LEVEL_WARN is not set -CONFIG_LOG_BOOTLOADER_LEVEL_INFO=y -# CONFIG_LOG_BOOTLOADER_LEVEL_DEBUG is not set -# CONFIG_LOG_BOOTLOADER_LEVEL_VERBOSE is not set -CONFIG_LOG_BOOTLOADER_LEVEL=3 -# CONFIG_FLASH_ENCRYPTION_ENABLED is not set -# CONFIG_FLASHMODE_QIO is not set -# CONFIG_FLASHMODE_QOUT is not set -CONFIG_FLASHMODE_DIO=y -# CONFIG_FLASHMODE_DOUT is not set -CONFIG_MONITOR_BAUD=115200 -# CONFIG_ESP_RMAKER_LOCAL_CTRL_ENABLE is not set -CONFIG_OPTIMIZATION_LEVEL_DEBUG=y -CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG=y -CONFIG_COMPILER_OPTIMIZATION_DEFAULT=y -# CONFIG_OPTIMIZATION_LEVEL_RELEASE is not set -# CONFIG_COMPILER_OPTIMIZATION_LEVEL_RELEASE is not set -CONFIG_OPTIMIZATION_ASSERTIONS_ENABLED=y -# CONFIG_OPTIMIZATION_ASSERTIONS_SILENT is not set -# CONFIG_OPTIMIZATION_ASSERTIONS_DISABLED is not set -CONFIG_OPTIMIZATION_ASSERTION_LEVEL=2 -# CONFIG_CXX_EXCEPTIONS is not set -CONFIG_STACK_CHECK_NONE=y -# CONFIG_STACK_CHECK_NORM is not set -# CONFIG_STACK_CHECK_STRONG is not set -# CONFIG_STACK_CHECK_ALL is not set -# CONFIG_WARN_WRITE_STRINGS is not set -# CONFIG_ESP32_APPTRACE_DEST_TRAX is not set -CONFIG_ESP32_APPTRACE_DEST_NONE=y -CONFIG_ESP32_APPTRACE_LOCK_ENABLE=y -# CONFIG_EXTERNAL_COEX_ENABLE is not set -# CONFIG_ESP_WIFI_EXTERNAL_COEXIST_ENABLE is not set -# CONFIG_CAM_CTLR_DVP_CAM_ISR_IRAM_SAFE is not set -# CONFIG_GPTIMER_ISR_IRAM_SAFE is not set -# CONFIG_MCPWM_ISR_IRAM_SAFE is not set -# CONFIG_EVENT_LOOP_PROFILING is not set -CONFIG_POST_EVENTS_FROM_ISR=y -CONFIG_POST_EVENTS_FROM_IRAM_ISR=y -CONFIG_GDBSTUB_SUPPORT_TASKS=y -CONFIG_GDBSTUB_MAX_TASKS=32 -# CONFIG_OTA_ALLOW_HTTP is not set -# CONFIG_ESP_SYSTEM_PD_FLASH is not set -CONFIG_ESP32S3_DEEP_SLEEP_WAKEUP_DELAY=2000 -CONFIG_ESP_SLEEP_DEEP_SLEEP_WAKEUP_DELAY=2000 -CONFIG_ESP32S3_RTC_CLK_SRC_INT_RC=y -# CONFIG_ESP32S3_RTC_CLK_SRC_EXT_CRYS is not set -# CONFIG_ESP32S3_RTC_CLK_SRC_EXT_OSC is not set -# CONFIG_ESP32S3_RTC_CLK_SRC_INT_8MD256 is not set -CONFIG_ESP32S3_RTC_CLK_CAL_CYCLES=1024 -CONFIG_PERIPH_CTRL_FUNC_IN_IRAM=y -CONFIG_BROWNOUT_DET=y -CONFIG_ESP32S3_BROWNOUT_DET=y -CONFIG_BROWNOUT_DET_LVL_SEL_7=y -CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_7=y -# CONFIG_BROWNOUT_DET_LVL_SEL_6 is not set -# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_6 is not set -# CONFIG_BROWNOUT_DET_LVL_SEL_5 is not set -# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_5 is not set -# CONFIG_BROWNOUT_DET_LVL_SEL_4 is not set -# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_4 is not set -# CONFIG_BROWNOUT_DET_LVL_SEL_3 is not set -# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_3 is not set -# CONFIG_BROWNOUT_DET_LVL_SEL_2 is not set -# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_2 is not set -# CONFIG_BROWNOUT_DET_LVL_SEL_1 is not set -# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_1 is not set -CONFIG_BROWNOUT_DET_LVL=7 -CONFIG_ESP32S3_BROWNOUT_DET_LVL=7 -CONFIG_ESP_SYSTEM_BROWNOUT_INTR=y -CONFIG_ESP32_PHY_CALIBRATION_AND_DATA_STORAGE=y -# CONFIG_ESP32_PHY_INIT_DATA_IN_PARTITION is not set -CONFIG_ESP32_PHY_MAX_WIFI_TX_POWER=20 -CONFIG_ESP32_PHY_MAX_TX_POWER=20 -# CONFIG_REDUCE_PHY_TX_POWER is not set -# CONFIG_ESP32_REDUCE_PHY_TX_POWER is not set -CONFIG_ESP_SYSTEM_PM_POWER_DOWN_CPU=y -CONFIG_PM_POWER_DOWN_TAGMEM_IN_LIGHT_SLEEP=y -# CONFIG_ESP32S3_SPIRAM_SUPPORT is not set -# CONFIG_ESP32S3_DEFAULT_CPU_FREQ_80 is not set -CONFIG_ESP32S3_DEFAULT_CPU_FREQ_160=y -# CONFIG_ESP32S3_DEFAULT_CPU_FREQ_240 is not set -CONFIG_ESP32S3_DEFAULT_CPU_FREQ_MHZ=160 -CONFIG_SYSTEM_EVENT_QUEUE_SIZE=32 -CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE=2304 -CONFIG_MAIN_TASK_STACK_SIZE=8192 -CONFIG_CONSOLE_UART_DEFAULT=y -# CONFIG_CONSOLE_UART_CUSTOM is not set -# CONFIG_CONSOLE_UART_NONE is not set -# CONFIG_ESP_CONSOLE_UART_NONE is not set -CONFIG_CONSOLE_UART=y -CONFIG_CONSOLE_UART_NUM=0 -CONFIG_CONSOLE_UART_BAUDRATE=115200 -CONFIG_INT_WDT=y -CONFIG_INT_WDT_TIMEOUT_MS=300 -CONFIG_INT_WDT_CHECK_CPU1=y -CONFIG_TASK_WDT=y -CONFIG_ESP_TASK_WDT=y -# CONFIG_TASK_WDT_PANIC is not set -CONFIG_TASK_WDT_TIMEOUT_S=5 -CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU0=y -CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU1=y -# CONFIG_ESP32_DEBUG_STUBS_ENABLE is not set -CONFIG_ESP32S3_DEBUG_OCDAWARE=y -CONFIG_IPC_TASK_STACK_SIZE=1280 -CONFIG_TIMER_TASK_STACK_SIZE=3584 -CONFIG_ESP32_WIFI_ENABLED=y -CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=10 -CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=32 -# CONFIG_ESP32_WIFI_STATIC_TX_BUFFER is not set -CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER=y -CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=1 -CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER_NUM=32 -# CONFIG_ESP32_WIFI_CSI_ENABLED is not set -CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED=y -CONFIG_ESP32_WIFI_TX_BA_WIN=6 -CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y -CONFIG_ESP32_WIFI_RX_BA_WIN=6 -CONFIG_ESP32_WIFI_NVS_ENABLED=y -CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_0=y -# CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_1 is not set -CONFIG_ESP32_WIFI_SOFTAP_BEACON_MAX_LEN=752 -CONFIG_ESP32_WIFI_MGMT_SBUF_NUM=32 -CONFIG_ESP32_WIFI_IRAM_OPT=y -CONFIG_ESP32_WIFI_RX_IRAM_OPT=y -CONFIG_ESP32_WIFI_ENABLE_WPA3_SAE=y -CONFIG_ESP32_WIFI_ENABLE_WPA3_OWE_STA=y -CONFIG_WPA_MBEDTLS_CRYPTO=y -CONFIG_WPA_MBEDTLS_TLS_CLIENT=y -# CONFIG_WPA_WAPI_PSK is not set -# CONFIG_WPA_SUITE_B_192 is not set -# CONFIG_WPA_11KV_SUPPORT is not set -# CONFIG_WPA_MBO_SUPPORT is not set -# CONFIG_WPA_DPP_SUPPORT is not set -# CONFIG_WPA_11R_SUPPORT is not set -# CONFIG_WPA_WPS_SOFTAP_REGISTRAR is not set -# CONFIG_WPA_WPS_STRICT is not set -# CONFIG_WPA_DEBUG_PRINT is not set -# CONFIG_ESP32_ENABLE_COREDUMP_TO_FLASH is not set -# CONFIG_ESP32_ENABLE_COREDUMP_TO_UART is not set -CONFIG_ESP32_ENABLE_COREDUMP_TO_NONE=y -CONFIG_TIMER_TASK_PRIORITY=1 -CONFIG_TIMER_TASK_STACK_DEPTH=2048 -CONFIG_TIMER_QUEUE_LENGTH=10 -# CONFIG_ENABLE_STATIC_TASK_CLEAN_UP_HOOK is not set -# CONFIG_HAL_ASSERTION_SILIENT is not set -# CONFIG_L2_TO_L3_COPY is not set -CONFIG_ESP_GRATUITOUS_ARP=y -CONFIG_GARP_TMR_INTERVAL=60 -CONFIG_TCPIP_RECVMBOX_SIZE=32 -CONFIG_TCP_MAXRTX=12 -CONFIG_TCP_SYNMAXRTX=12 -CONFIG_TCP_MSS=1440 -CONFIG_TCP_MSL=60000 -CONFIG_TCP_SND_BUF_DEFAULT=5760 -CONFIG_TCP_WND_DEFAULT=5760 -CONFIG_TCP_RECVMBOX_SIZE=6 -CONFIG_TCP_QUEUE_OOSEQ=y -CONFIG_TCP_OVERSIZE_MSS=y -# CONFIG_TCP_OVERSIZE_QUARTER_MSS is not set -# CONFIG_TCP_OVERSIZE_DISABLE is not set -CONFIG_UDP_RECVMBOX_SIZE=6 -CONFIG_TCPIP_TASK_STACK_SIZE=3072 -CONFIG_TCPIP_TASK_AFFINITY_NO_AFFINITY=y -# CONFIG_TCPIP_TASK_AFFINITY_CPU0 is not set -# CONFIG_TCPIP_TASK_AFFINITY_CPU1 is not set -CONFIG_TCPIP_TASK_AFFINITY=0x7FFFFFFF -CONFIG_PPP_SUPPORT=y -# CONFIG_PPP_NOTIFY_PHASE_SUPPORT is not set -# CONFIG_PPP_PAP_SUPPORT is not set -# CONFIG_PPP_CHAP_SUPPORT is not set -# CONFIG_PPP_MSCHAP_SUPPORT is not set -# CONFIG_PPP_MPPE_SUPPORT is not set -# CONFIG_PPP_DEBUG_ON is not set -CONFIG_NEWLIB_STDOUT_LINE_ENDING_CRLF=y -# CONFIG_NEWLIB_STDOUT_LINE_ENDING_LF is not set -# CONFIG_NEWLIB_STDOUT_LINE_ENDING_CR is not set -# CONFIG_NEWLIB_STDIN_LINE_ENDING_CRLF is not set -# CONFIG_NEWLIB_STDIN_LINE_ENDING_LF is not set -CONFIG_NEWLIB_STDIN_LINE_ENDING_CR=y -# CONFIG_NEWLIB_NANO_FORMAT is not set -CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC_HRT=y -CONFIG_ESP32S3_TIME_SYSCALL_USE_RTC_SYSTIMER=y -CONFIG_ESP32S3_TIME_SYSCALL_USE_RTC_FRC1=y -# CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC is not set -# CONFIG_ESP32S3_TIME_SYSCALL_USE_RTC is not set -# CONFIG_NEWLIB_TIME_SYSCALL_USE_HRT is not set -# CONFIG_ESP32S3_TIME_SYSCALL_USE_SYSTIMER is not set -# CONFIG_ESP32S3_TIME_SYSCALL_USE_FRC1 is not set -# CONFIG_NEWLIB_TIME_SYSCALL_USE_NONE is not set -# CONFIG_ESP32S3_TIME_SYSCALL_USE_NONE is not set -CONFIG_ESP32_PTHREAD_TASK_PRIO_DEFAULT=5 -CONFIG_ESP32_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 -CONFIG_ESP32_PTHREAD_STACK_MIN=768 -CONFIG_ESP32_DEFAULT_PTHREAD_CORE_NO_AFFINITY=y -# CONFIG_ESP32_DEFAULT_PTHREAD_CORE_0 is not set -# CONFIG_ESP32_DEFAULT_PTHREAD_CORE_1 is not set -CONFIG_ESP32_PTHREAD_TASK_CORE_DEFAULT=-1 -CONFIG_ESP32_PTHREAD_TASK_NAME_DEFAULT="pthread" -CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ABORTS=y -# CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_FAILS is not set -# CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ALLOWED is not set -CONFIG_SUPPRESS_SELECT_DEBUG_OUTPUT=y -CONFIG_SUPPORT_TERMIOS=y -CONFIG_SEMIHOSTFS_MAX_MOUNT_POINTS=1 -CONFIG_MB_MASTER_TIMEOUT_MS_RESPOND=3000 -CONFIG_MB_MASTER_DELAY_MS_CONVERT=200 -CONFIG_MB_QUEUE_LENGTH=20 -CONFIG_MB_SERIAL_TASK_STACK_SIZE=4096 -CONFIG_MB_SERIAL_BUF_SIZE=256 -CONFIG_MB_SERIAL_TASK_PRIO=10 -CONFIG_MB_CONTROLLER_SLAVE_ID_SUPPORT=y -CONFIG_MB_CONTROLLER_SLAVE_ID=0x00112233 -CONFIG_MB_CONTROLLER_NOTIFY_TIMEOUT=20 -CONFIG_MB_CONTROLLER_NOTIFY_QUEUE_SIZE=20 -CONFIG_MB_CONTROLLER_STACK_SIZE=4096 -CONFIG_MB_EVENT_QUEUE_TIMEOUT=20 -# CONFIG_MB_TIMER_PORT_ENABLED is not set -# End of deprecated options diff --git a/sdkconfig.Wemos-D1-Mini-ESP32 b/sdkconfig.Wemos-D1-Mini-ESP32 deleted file mode 100644 index dc402bf4..00000000 --- a/sdkconfig.Wemos-D1-Mini-ESP32 +++ /dev/null @@ -1,4185 +0,0 @@ -# -# Automatically generated file. DO NOT EDIT. -# Espressif IoT Development Framework (ESP-IDF) 5.5.4 Project Configuration -# -# default: -CONFIG_SOC_CAPS_ECO_VER_MAX=301 -# default: -CONFIG_SOC_ADC_SUPPORTED=y -# default: -CONFIG_SOC_DAC_SUPPORTED=y -# default: -CONFIG_SOC_UART_SUPPORTED=y -# default: -CONFIG_SOC_MCPWM_SUPPORTED=y -# default: -CONFIG_SOC_GPTIMER_SUPPORTED=y -# default: -CONFIG_SOC_SDMMC_HOST_SUPPORTED=y -# default: -CONFIG_SOC_BT_SUPPORTED=y -# default: -CONFIG_SOC_PCNT_SUPPORTED=y -# default: -CONFIG_SOC_PHY_SUPPORTED=y -# default: -CONFIG_SOC_WIFI_SUPPORTED=y -# default: -CONFIG_SOC_SDIO_SLAVE_SUPPORTED=y -# default: -CONFIG_SOC_TWAI_SUPPORTED=y -# default: -CONFIG_SOC_EFUSE_SUPPORTED=y -# default: -CONFIG_SOC_EMAC_SUPPORTED=y -# default: -CONFIG_SOC_ULP_SUPPORTED=y -# default: -CONFIG_SOC_CCOMP_TIMER_SUPPORTED=y -# default: -CONFIG_SOC_RTC_FAST_MEM_SUPPORTED=y -# default: -CONFIG_SOC_RTC_SLOW_MEM_SUPPORTED=y -# default: -CONFIG_SOC_RTC_MEM_SUPPORTED=y -# default: -CONFIG_SOC_I2S_SUPPORTED=y -# default: -CONFIG_SOC_RMT_SUPPORTED=y -# default: -CONFIG_SOC_SDM_SUPPORTED=y -# default: -CONFIG_SOC_GPSPI_SUPPORTED=y -# default: -CONFIG_SOC_LEDC_SUPPORTED=y -# default: -CONFIG_SOC_I2C_SUPPORTED=y -# default: -CONFIG_SOC_SUPPORT_COEXISTENCE=y -# default: -CONFIG_SOC_AES_SUPPORTED=y -# default: -CONFIG_SOC_MPI_SUPPORTED=y -# default: -CONFIG_SOC_SHA_SUPPORTED=y -# default: -CONFIG_SOC_FLASH_ENC_SUPPORTED=y -# default: -CONFIG_SOC_SECURE_BOOT_SUPPORTED=y -# default: -CONFIG_SOC_TOUCH_SENSOR_SUPPORTED=y -# default: -CONFIG_SOC_BOD_SUPPORTED=y -# default: -CONFIG_SOC_ULP_FSM_SUPPORTED=y -# default: -CONFIG_SOC_CLK_TREE_SUPPORTED=y -# default: -CONFIG_SOC_MPU_SUPPORTED=y -# default: -CONFIG_SOC_WDT_SUPPORTED=y -# default: -CONFIG_SOC_SPI_FLASH_SUPPORTED=y -# default: -CONFIG_SOC_RNG_SUPPORTED=y -# default: -CONFIG_SOC_LIGHT_SLEEP_SUPPORTED=y -# default: -CONFIG_SOC_DEEP_SLEEP_SUPPORTED=y -# default: -CONFIG_SOC_LP_PERIPH_SHARE_INTERRUPT=y -# default: -CONFIG_SOC_PM_SUPPORTED=y -# default: -CONFIG_SOC_DPORT_WORKAROUND_DIS_INTERRUPT_LVL=5 -# default: -CONFIG_SOC_XTAL_SUPPORT_26M=y -# default: -CONFIG_SOC_XTAL_SUPPORT_40M=y -# default: -CONFIG_SOC_XTAL_SUPPORT_AUTO_DETECT=y -# default: -CONFIG_SOC_ADC_RTC_CTRL_SUPPORTED=y -# default: -CONFIG_SOC_ADC_DIG_CTRL_SUPPORTED=y -# default: -CONFIG_SOC_ADC_DMA_SUPPORTED=y -# default: -CONFIG_SOC_ADC_PERIPH_NUM=2 -# default: -CONFIG_SOC_ADC_MAX_CHANNEL_NUM=10 -# default: -CONFIG_SOC_ADC_ATTEN_NUM=4 -# default: -CONFIG_SOC_ADC_DIGI_CONTROLLER_NUM=2 -# default: -CONFIG_SOC_ADC_PATT_LEN_MAX=16 -# default: -CONFIG_SOC_ADC_DIGI_MIN_BITWIDTH=9 -# default: -CONFIG_SOC_ADC_DIGI_MAX_BITWIDTH=12 -# default: -CONFIG_SOC_ADC_DIGI_RESULT_BYTES=2 -# default: -CONFIG_SOC_ADC_DIGI_DATA_BYTES_PER_CONV=4 -# default: -CONFIG_SOC_ADC_DIGI_MONITOR_NUM=0 -# default: -CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_HIGH=2 -# default: -CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_LOW=20 -# default: -CONFIG_SOC_ADC_RTC_MIN_BITWIDTH=9 -# default: -CONFIG_SOC_ADC_RTC_MAX_BITWIDTH=12 -# default: -CONFIG_SOC_ADC_SHARED_POWER=y -# default: -CONFIG_SOC_BROWNOUT_RESET_SUPPORTED=y -# default: -CONFIG_SOC_SHARED_IDCACHE_SUPPORTED=y -# default: -CONFIG_SOC_IDCACHE_PER_CORE=y -# default: -CONFIG_SOC_CPU_CORES_NUM=2 -# default: -CONFIG_SOC_CPU_INTR_NUM=32 -# default: -CONFIG_SOC_CPU_HAS_FPU=y -# default: -CONFIG_SOC_HP_CPU_HAS_MULTIPLE_CORES=y -# default: -CONFIG_SOC_CPU_BREAKPOINTS_NUM=2 -# default: -CONFIG_SOC_CPU_WATCHPOINTS_NUM=2 -# default: -CONFIG_SOC_CPU_WATCHPOINT_MAX_REGION_SIZE=0x40 -# default: -CONFIG_SOC_DAC_CHAN_NUM=2 -# default: -CONFIG_SOC_DAC_RESOLUTION=8 -# default: -CONFIG_SOC_DAC_DMA_16BIT_ALIGN=y -# default: -CONFIG_SOC_GPIO_PORT=1 -# default: -CONFIG_SOC_GPIO_PIN_COUNT=40 -# default: -CONFIG_SOC_GPIO_VALID_GPIO_MASK=0xFFFFFFFFFF -# default: -CONFIG_SOC_GPIO_IN_RANGE_MAX=39 -# default: -CONFIG_SOC_GPIO_OUT_RANGE_MAX=33 -# default: -CONFIG_SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK=0xEF0FEA -# default: -CONFIG_SOC_GPIO_CLOCKOUT_BY_IO_MUX=y -# default: -CONFIG_SOC_GPIO_CLOCKOUT_CHANNEL_NUM=3 -# default: -CONFIG_SOC_I2C_NUM=2 -# default: -CONFIG_SOC_HP_I2C_NUM=2 -# default: -CONFIG_SOC_I2C_FIFO_LEN=32 -# default: -CONFIG_SOC_I2C_CMD_REG_NUM=16 -# default: -CONFIG_SOC_I2C_SUPPORT_SLAVE=y -# default: -CONFIG_SOC_I2C_SUPPORT_APB=y -# default: -CONFIG_SOC_I2C_SUPPORT_10BIT_ADDR=y -# default: -CONFIG_SOC_I2C_STOP_INDEPENDENT=y -# default: -CONFIG_SOC_I2S_NUM=2 -# default: -CONFIG_SOC_I2S_HW_VERSION_1=y -# default: -CONFIG_SOC_I2S_SUPPORTS_APLL=y -# default: -CONFIG_SOC_I2S_SUPPORTS_PLL_F160M=y -# default: -CONFIG_SOC_I2S_SUPPORTS_PDM=y -# default: -CONFIG_SOC_I2S_SUPPORTS_PDM_TX=y -# default: -CONFIG_SOC_I2S_SUPPORTS_PCM2PDM=y -# default: -CONFIG_SOC_I2S_SUPPORTS_PDM_RX=y -# default: -CONFIG_SOC_I2S_SUPPORTS_PDM2PCM=y -# default: -CONFIG_SOC_I2S_PDM_MAX_TX_LINES=1 -# default: -CONFIG_SOC_I2S_PDM_MAX_RX_LINES=1 -# default: -CONFIG_SOC_I2S_SUPPORTS_ADC_DAC=y -# default: -CONFIG_SOC_I2S_SUPPORTS_ADC=y -# default: -CONFIG_SOC_I2S_SUPPORTS_DAC=y -# default: -CONFIG_SOC_I2S_SUPPORTS_LCD_CAMERA=y -# default: -CONFIG_SOC_I2S_MAX_DATA_WIDTH=24 -# default: -CONFIG_SOC_I2S_TRANS_SIZE_ALIGN_WORD=y -# default: -CONFIG_SOC_I2S_LCD_I80_VARIANT=y -# default: -CONFIG_SOC_LCD_I80_SUPPORTED=y -# default: -CONFIG_SOC_LCD_I80_BUSES=2 -# default: -CONFIG_SOC_LCD_I80_BUS_WIDTH=24 -# default: -CONFIG_SOC_LEDC_HAS_TIMER_SPECIFIC_MUX=y -# default: -CONFIG_SOC_LEDC_SUPPORT_APB_CLOCK=y -# default: -CONFIG_SOC_LEDC_SUPPORT_REF_TICK=y -# default: -CONFIG_SOC_LEDC_SUPPORT_HS_MODE=y -# default: -CONFIG_SOC_LEDC_TIMER_NUM=4 -# default: -CONFIG_SOC_LEDC_CHANNEL_NUM=8 -# default: -CONFIG_SOC_LEDC_TIMER_BIT_WIDTH=20 -# default: -CONFIG_SOC_MCPWM_GROUPS=2 -# default: -CONFIG_SOC_MCPWM_TIMERS_PER_GROUP=3 -# default: -CONFIG_SOC_MCPWM_OPERATORS_PER_GROUP=3 -# default: -CONFIG_SOC_MCPWM_COMPARATORS_PER_OPERATOR=2 -# default: -CONFIG_SOC_MCPWM_GENERATORS_PER_OPERATOR=2 -# default: -CONFIG_SOC_MCPWM_TRIGGERS_PER_OPERATOR=2 -# default: -CONFIG_SOC_MCPWM_GPIO_FAULTS_PER_GROUP=3 -# default: -CONFIG_SOC_MCPWM_CAPTURE_TIMERS_PER_GROUP=y -# default: -CONFIG_SOC_MCPWM_CAPTURE_CHANNELS_PER_TIMER=3 -# default: -CONFIG_SOC_MCPWM_GPIO_SYNCHROS_PER_GROUP=3 -# default: -CONFIG_SOC_MMU_PERIPH_NUM=2 -# default: -CONFIG_SOC_MMU_LINEAR_ADDRESS_REGION_NUM=3 -# default: -CONFIG_SOC_MPU_MIN_REGION_SIZE=0x20000000 -# default: -CONFIG_SOC_MPU_REGIONS_MAX_NUM=8 -# default: -CONFIG_SOC_PCNT_GROUPS=1 -# default: -CONFIG_SOC_PCNT_UNITS_PER_GROUP=8 -# default: -CONFIG_SOC_PCNT_CHANNELS_PER_UNIT=2 -# default: -CONFIG_SOC_PCNT_THRES_POINT_PER_UNIT=2 -# default: -CONFIG_SOC_RMT_GROUPS=1 -# default: -CONFIG_SOC_RMT_TX_CANDIDATES_PER_GROUP=8 -# default: -CONFIG_SOC_RMT_RX_CANDIDATES_PER_GROUP=8 -# default: -CONFIG_SOC_RMT_CHANNELS_PER_GROUP=8 -# default: -CONFIG_SOC_RMT_MEM_WORDS_PER_CHANNEL=64 -# default: -CONFIG_SOC_RMT_SUPPORT_REF_TICK=y -# default: -CONFIG_SOC_RMT_SUPPORT_APB=y -# default: -CONFIG_SOC_RMT_CHANNEL_CLK_INDEPENDENT=y -# default: -CONFIG_SOC_RTCIO_PIN_COUNT=18 -# default: -CONFIG_SOC_RTCIO_INPUT_OUTPUT_SUPPORTED=y -# default: -CONFIG_SOC_RTCIO_HOLD_SUPPORTED=y -# default: -CONFIG_SOC_RTCIO_WAKE_SUPPORTED=y -# default: -CONFIG_SOC_RTC_CNTL_NEEDS_ATOMIC_ACCESS=y -# default: -CONFIG_SOC_SDM_GROUPS=1 -# default: -CONFIG_SOC_SDM_CHANNELS_PER_GROUP=8 -# default: -CONFIG_SOC_SDM_CLK_SUPPORT_APB=y -# default: -CONFIG_SOC_SPI_HD_BOTH_INOUT_SUPPORTED=y -# default: -CONFIG_SOC_SPI_AS_CS_SUPPORTED=y -# default: -CONFIG_SOC_SPI_PERIPH_NUM=3 -# default: -CONFIG_SOC_SPI_DMA_CHAN_NUM=2 -# default: -CONFIG_SOC_SPI_MAX_CS_NUM=3 -# default: -CONFIG_SOC_SPI_SUPPORT_CLK_APB=y -# default: -CONFIG_SOC_SPI_MAXIMUM_BUFFER_SIZE=64 -# default: -CONFIG_SOC_SPI_MAX_PRE_DIVIDER=8192 -# default: -CONFIG_SOC_TIMER_GROUPS=2 -# default: -CONFIG_SOC_TIMER_GROUP_TIMERS_PER_GROUP=2 -# default: -CONFIG_SOC_TIMER_GROUP_COUNTER_BIT_WIDTH=64 -# default: -CONFIG_SOC_TIMER_GROUP_TOTAL_TIMERS=4 -# default: -CONFIG_SOC_TIMER_GROUP_SUPPORT_APB=y -# default: -CONFIG_SOC_LP_TIMER_BIT_WIDTH_LO=32 -# default: -CONFIG_SOC_LP_TIMER_BIT_WIDTH_HI=16 -# default: -CONFIG_SOC_TOUCH_SENSOR_VERSION=1 -# default: -CONFIG_SOC_TOUCH_SENSOR_NUM=10 -# default: -CONFIG_SOC_TOUCH_MIN_CHAN_ID=0 -# default: -CONFIG_SOC_TOUCH_MAX_CHAN_ID=9 -# default: -CONFIG_SOC_TOUCH_SUPPORT_SLEEP_WAKEUP=y -# default: -CONFIG_SOC_TOUCH_SAMPLE_CFG_NUM=1 -# default: -CONFIG_SOC_TWAI_CONTROLLER_NUM=1 -# default: -CONFIG_SOC_TWAI_MASK_FILTER_NUM=1 -# default: -CONFIG_SOC_TWAI_BRP_MIN=2 -# default: -CONFIG_SOC_TWAI_CLK_SUPPORT_APB=y -# default: -CONFIG_SOC_TWAI_SUPPORT_MULTI_ADDRESS_LAYOUT=y -# default: -CONFIG_SOC_UART_NUM=3 -# default: -CONFIG_SOC_UART_HP_NUM=3 -# default: -CONFIG_SOC_UART_SUPPORT_APB_CLK=y -# default: -CONFIG_SOC_UART_SUPPORT_REF_TICK=y -# default: -CONFIG_SOC_UART_FIFO_LEN=128 -# default: -CONFIG_SOC_UART_BITRATE_MAX=5000000 -# default: -CONFIG_SOC_UART_WAKEUP_SUPPORT_ACTIVE_THRESH_MODE=y -# default: -CONFIG_SOC_SPIRAM_SUPPORTED=y -# default: -CONFIG_SOC_SPI_MEM_SUPPORT_CONFIG_GPIO_BY_EFUSE=y -# default: -CONFIG_SOC_SHA_SUPPORT_PARALLEL_ENG=y -# default: -CONFIG_SOC_SHA_ENDIANNESS_BE=y -# default: -CONFIG_SOC_SHA_SUPPORT_SHA1=y -# default: -CONFIG_SOC_SHA_SUPPORT_SHA256=y -# default: -CONFIG_SOC_SHA_SUPPORT_SHA384=y -# default: -CONFIG_SOC_SHA_SUPPORT_SHA512=y -# default: -CONFIG_SOC_MPI_MEM_BLOCKS_NUM=4 -# default: -CONFIG_SOC_MPI_OPERATIONS_NUM=1 -# default: -CONFIG_SOC_RSA_MAX_BIT_LEN=4096 -# default: -CONFIG_SOC_AES_SUPPORT_AES_128=y -# default: -CONFIG_SOC_AES_SUPPORT_AES_192=y -# default: -CONFIG_SOC_AES_SUPPORT_AES_256=y -# default: -CONFIG_SOC_SECURE_BOOT_V1=y -# default: -CONFIG_SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS=1 -# default: -CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX=32 -# default: -CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE=21 -# default: -CONFIG_SOC_PM_SUPPORT_EXT0_WAKEUP=y -# default: -CONFIG_SOC_PM_SUPPORT_EXT1_WAKEUP=y -# default: -CONFIG_SOC_PM_SUPPORT_EXT_WAKEUP=y -# default: -CONFIG_SOC_PM_SUPPORT_TOUCH_SENSOR_WAKEUP=y -# default: -CONFIG_SOC_PM_SUPPORT_RTC_PERIPH_PD=y -# default: -CONFIG_SOC_PM_SUPPORT_RTC_FAST_MEM_PD=y -# default: -CONFIG_SOC_PM_SUPPORT_RTC_SLOW_MEM_PD=y -# default: -CONFIG_SOC_PM_SUPPORT_RC_FAST_PD=y -# default: -CONFIG_SOC_PM_SUPPORT_VDDSDIO_PD=y -# default: -CONFIG_SOC_PM_SUPPORT_MODEM_PD=y -# default: -CONFIG_SOC_CONFIGURABLE_VDDSDIO_SUPPORTED=y -# default: -CONFIG_SOC_PM_MODEM_PD_BY_SW=y -# default: -CONFIG_SOC_CLK_APLL_SUPPORTED=y -# default: -CONFIG_SOC_CLK_RC_FAST_D256_SUPPORTED=y -# default: -CONFIG_SOC_RTC_SLOW_CLK_SUPPORT_RC_FAST_D256=y -# default: -CONFIG_SOC_CLK_RC_FAST_SUPPORT_CALIBRATION=y -# default: -CONFIG_SOC_CLK_XTAL32K_SUPPORTED=y -# default: -CONFIG_SOC_CLK_LP_FAST_SUPPORT_XTAL_D4=y -# default: -CONFIG_SOC_SDMMC_USE_IOMUX=y -# default: -CONFIG_SOC_SDMMC_NUM_SLOTS=2 -# default: -CONFIG_SOC_WIFI_WAPI_SUPPORT=y -# default: -CONFIG_SOC_WIFI_CSI_SUPPORT=y -# default: -CONFIG_SOC_WIFI_MESH_SUPPORT=y -# default: -CONFIG_SOC_WIFI_SUPPORT_VARIABLE_BEACON_WINDOW=y -# default: -CONFIG_SOC_WIFI_NAN_SUPPORT=y -# default: -CONFIG_SOC_BLE_SUPPORTED=y -# default: -CONFIG_SOC_BLE_MESH_SUPPORTED=y -# default: -CONFIG_SOC_BT_CLASSIC_SUPPORTED=y -# default: -CONFIG_SOC_BLUFI_SUPPORTED=y -# default: -CONFIG_SOC_BT_H2C_ENC_KEY_CTRL_ENH_VSC_SUPPORTED=y -# default: -CONFIG_SOC_BLE_MULTI_CONN_OPTIMIZATION=y -# default: -CONFIG_SOC_ULP_HAS_ADC=y -# default: -CONFIG_SOC_PHY_COMBO_MODULE=y -# default: -CONFIG_SOC_EMAC_RMII_CLK_OUT_INTERNAL_LOOPBACK=y -# default: -CONFIG_IDF_CMAKE=y -# default: -CONFIG_IDF_TOOLCHAIN="gcc" -# default: -CONFIG_IDF_TOOLCHAIN_GCC=y -# default: -CONFIG_IDF_TARGET_ARCH_XTENSA=y -# default: -CONFIG_IDF_TARGET_ARCH="xtensa" -# default: -CONFIG_IDF_TARGET="esp32" -# default: -CONFIG_IDF_INIT_VERSION="5.5.4" -# default: -CONFIG_IDF_TARGET_ESP32=y -# default: -CONFIG_IDF_FIRMWARE_CHIP_ID=0x0000 - -# -# Build type -# -# default: -CONFIG_APP_BUILD_TYPE_APP_2NDBOOT=y -# default: -# CONFIG_APP_BUILD_TYPE_RAM is not set -# default: -CONFIG_APP_BUILD_GENERATE_BINARIES=y -# default: -CONFIG_APP_BUILD_BOOTLOADER=y -# default: -CONFIG_APP_BUILD_USE_FLASH_SECTIONS=y -# default: -# CONFIG_APP_REPRODUCIBLE_BUILD is not set -# default: -# CONFIG_APP_NO_BLOBS is not set -# default: -# CONFIG_APP_COMPATIBLE_PRE_V2_1_BOOTLOADERS is not set -# default: -# CONFIG_APP_COMPATIBLE_PRE_V3_1_BOOTLOADERS is not set -# end of Build type - -# -# Bootloader config -# - -# -# Bootloader manager -# -# default: -CONFIG_BOOTLOADER_COMPILE_TIME_DATE=y -# default: -CONFIG_BOOTLOADER_PROJECT_VER=1 -# end of Bootloader manager - -# -# Application Rollback -# -# default: -# CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE is not set -# end of Application Rollback - -# -# Recovery Bootloader and Rollback -# -# end of Recovery Bootloader and Rollback - -# default: -CONFIG_BOOTLOADER_OFFSET_IN_FLASH=0x1000 -# default: -CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y -# default: -# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_DEBUG is not set -# default: -# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_PERF is not set -# default: -# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_NONE is not set - -# -# Log -# -# default: -CONFIG_BOOTLOADER_LOG_VERSION_1=y -# default: -CONFIG_BOOTLOADER_LOG_VERSION=1 -# default: -# CONFIG_BOOTLOADER_LOG_LEVEL_NONE is not set -# default: -# CONFIG_BOOTLOADER_LOG_LEVEL_ERROR is not set -# default: -# CONFIG_BOOTLOADER_LOG_LEVEL_WARN is not set -# default: -CONFIG_BOOTLOADER_LOG_LEVEL_INFO=y -# default: -# CONFIG_BOOTLOADER_LOG_LEVEL_DEBUG is not set -# default: -# CONFIG_BOOTLOADER_LOG_LEVEL_VERBOSE is not set -# default: -CONFIG_BOOTLOADER_LOG_LEVEL=3 - -# -# Format -# -# default: -# CONFIG_BOOTLOADER_LOG_COLORS is not set -# default: -CONFIG_BOOTLOADER_LOG_TIMESTAMP_SOURCE_CPU_TICKS=y -# end of Format - -# -# Settings -# -# default: -CONFIG_BOOTLOADER_LOG_MODE_TEXT_EN=y -# default: -CONFIG_BOOTLOADER_LOG_MODE_TEXT=y -# end of Settings -# end of Log - -# -# Serial Flash Configurations -# -# default: -# CONFIG_BOOTLOADER_FLASH_DC_AWARE is not set -# default: -CONFIG_BOOTLOADER_FLASH_XMC_SUPPORT=y -# end of Serial Flash Configurations - -# default: -# CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_8V is not set -# default: -CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_9V=y -# default: -# CONFIG_BOOTLOADER_FACTORY_RESET is not set -# default: -# CONFIG_BOOTLOADER_APP_TEST is not set -# default: -CONFIG_BOOTLOADER_REGION_PROTECTION_ENABLE=y -# default: -CONFIG_BOOTLOADER_WDT_ENABLE=y -# default: -# CONFIG_BOOTLOADER_WDT_DISABLE_IN_USER_CODE is not set -# default: -CONFIG_BOOTLOADER_WDT_TIME_MS=9000 -# default: -# CONFIG_BOOTLOADER_SKIP_VALIDATE_IN_DEEP_SLEEP is not set -# default: -# CONFIG_BOOTLOADER_SKIP_VALIDATE_ON_POWER_ON is not set -# default: -# CONFIG_BOOTLOADER_SKIP_VALIDATE_ALWAYS is not set -# default: -CONFIG_BOOTLOADER_RESERVE_RTC_SIZE=0 -# default: -# CONFIG_BOOTLOADER_CUSTOM_RESERVE_RTC is not set -# end of Bootloader config - -# -# Security features -# -# default: -CONFIG_SECURE_BOOT_V1_SUPPORTED=y -# default: -# CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT is not set -# default: -# CONFIG_SECURE_BOOT is not set -# default: -# CONFIG_SECURE_FLASH_ENC_ENABLED is not set -# end of Security features - -# -# Application manager -# -# default: -CONFIG_APP_COMPILE_TIME_DATE=y -# default: -# CONFIG_APP_EXCLUDE_PROJECT_VER_VAR is not set -# default: -# CONFIG_APP_EXCLUDE_PROJECT_NAME_VAR is not set -# default: -# CONFIG_APP_PROJECT_VER_FROM_CONFIG is not set -# default: -CONFIG_APP_RETRIEVE_LEN_ELF_SHA=9 -# end of Application manager - -# default: -CONFIG_ESP_ROM_HAS_CRC_LE=y -# default: -CONFIG_ESP_ROM_HAS_CRC_BE=y -# default: -CONFIG_ESP_ROM_HAS_MZ_CRC32=y -# default: -CONFIG_ESP_ROM_HAS_JPEG_DECODE=y -# default: -CONFIG_ESP_ROM_HAS_UART_BUF_SWITCH=y -# default: -CONFIG_ESP_ROM_NEEDS_SWSETUP_WORKAROUND=y -# default: -CONFIG_ESP_ROM_HAS_NEWLIB=y -# default: -CONFIG_ESP_ROM_HAS_NEWLIB_NANO_FORMAT=y -# default: -CONFIG_ESP_ROM_HAS_NEWLIB_32BIT_TIME=y -# default: -CONFIG_ESP_ROM_HAS_SW_FLOAT=y -# default: -CONFIG_ESP_ROM_USB_OTG_NUM=-1 -# default: -CONFIG_ESP_ROM_USB_SERIAL_DEVICE_NUM=-1 -# default: -CONFIG_ESP_ROM_SUPPORT_DEEP_SLEEP_WAKEUP_STUB=y -# default: -CONFIG_ESP_ROM_HAS_OUTPUT_PUTC_FUNC=y - -# -# Serial flasher config -# -# default: -# CONFIG_ESPTOOLPY_NO_STUB is not set -# default: -# CONFIG_ESPTOOLPY_FLASHMODE_QIO is not set -# default: -# CONFIG_ESPTOOLPY_FLASHMODE_QOUT is not set -# default: -CONFIG_ESPTOOLPY_FLASHMODE_DIO=y -# default: -# CONFIG_ESPTOOLPY_FLASHMODE_DOUT is not set -# default: -CONFIG_ESPTOOLPY_FLASH_SAMPLE_MODE_STR=y -# default: -CONFIG_ESPTOOLPY_FLASHMODE="dio" -# default: -# CONFIG_ESPTOOLPY_FLASHFREQ_80M is not set -# default: -CONFIG_ESPTOOLPY_FLASHFREQ_40M=y -# default: -# CONFIG_ESPTOOLPY_FLASHFREQ_26M is not set -# default: -# CONFIG_ESPTOOLPY_FLASHFREQ_20M is not set -# default: -CONFIG_ESPTOOLPY_FLASHFREQ="40m" -# default: -# CONFIG_ESPTOOLPY_FLASHSIZE_1MB is not set -# default: -CONFIG_ESPTOOLPY_FLASHSIZE_2MB=y -# default: -# CONFIG_ESPTOOLPY_FLASHSIZE_4MB is not set -# default: -# CONFIG_ESPTOOLPY_FLASHSIZE_8MB is not set -# default: -# CONFIG_ESPTOOLPY_FLASHSIZE_16MB is not set -# default: -# CONFIG_ESPTOOLPY_FLASHSIZE_32MB is not set -# default: -# CONFIG_ESPTOOLPY_FLASHSIZE_64MB is not set -# default: -# CONFIG_ESPTOOLPY_FLASHSIZE_128MB is not set -# default: -CONFIG_ESPTOOLPY_FLASHSIZE="2MB" -# default: -# CONFIG_ESPTOOLPY_HEADER_FLASHSIZE_UPDATE is not set -# default: -CONFIG_ESPTOOLPY_BEFORE_RESET=y -# default: -# CONFIG_ESPTOOLPY_BEFORE_NORESET is not set -# default: -CONFIG_ESPTOOLPY_BEFORE="default_reset" -# default: -CONFIG_ESPTOOLPY_AFTER_RESET=y -# default: -# CONFIG_ESPTOOLPY_AFTER_NORESET is not set -# default: -CONFIG_ESPTOOLPY_AFTER="hard_reset" -# default: -CONFIG_ESPTOOLPY_MONITOR_BAUD=115200 -# end of Serial flasher config - -# -# Partition Table -# -# default: -CONFIG_PARTITION_TABLE_SINGLE_APP=y -# default: -# CONFIG_PARTITION_TABLE_SINGLE_APP_LARGE is not set -# default: -# CONFIG_PARTITION_TABLE_TWO_OTA is not set -# default: -# CONFIG_PARTITION_TABLE_TWO_OTA_LARGE is not set -# default: -# CONFIG_PARTITION_TABLE_CUSTOM is not set -# default: -CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv" -# default: -CONFIG_PARTITION_TABLE_FILENAME="partitions_singleapp.csv" -# default: -CONFIG_PARTITION_TABLE_OFFSET=0x8000 -# default: -CONFIG_PARTITION_TABLE_MD5=y -# end of Partition Table - -# -# Arduino Configuration -# -# default: -CONFIG_ARDUINO_VARIANT="esp32" -# default: -CONFIG_ENABLE_ARDUINO_DEPENDS=y -CONFIG_AUTOSTART_ARDUINO=y -# default: -# CONFIG_ARDUINO_RUN_CORE0 is not set -# default: -CONFIG_ARDUINO_RUN_CORE1=y -# default: -# CONFIG_ARDUINO_RUN_NO_AFFINITY is not set -# default: -CONFIG_ARDUINO_RUNNING_CORE=1 -# default: -CONFIG_ARDUINO_LOOP_STACK_SIZE=8192 -# default: -# CONFIG_ARDUINO_EVENT_RUN_CORE0 is not set -# default: -CONFIG_ARDUINO_EVENT_RUN_CORE1=y -# default: -# CONFIG_ARDUINO_EVENT_RUN_NO_AFFINITY is not set -# default: -CONFIG_ARDUINO_EVENT_RUNNING_CORE=1 -# default: -# CONFIG_ARDUINO_SERIAL_EVENT_RUN_CORE0 is not set -# default: -# CONFIG_ARDUINO_SERIAL_EVENT_RUN_CORE1 is not set -# default: -CONFIG_ARDUINO_SERIAL_EVENT_RUN_NO_AFFINITY=y -# default: -CONFIG_ARDUINO_SERIAL_EVENT_TASK_RUNNING_CORE=-1 -# default: -CONFIG_ARDUINO_SERIAL_EVENT_TASK_STACK_SIZE=2048 -# default: -CONFIG_ARDUINO_SERIAL_EVENT_TASK_PRIORITY=24 -# default: -CONFIG_ARDUINO_UDP_RUN_CORE0=y -# default: -# CONFIG_ARDUINO_UDP_RUN_CORE1 is not set -# default: -# CONFIG_ARDUINO_UDP_RUN_NO_AFFINITY is not set -# default: -CONFIG_ARDUINO_UDP_RUNNING_CORE=0 -# default: -CONFIG_ARDUINO_UDP_TASK_PRIORITY=3 -# default: -CONFIG_ARDUINO_UDP_TASK_STACK_SIZE=4096 -# default: -# CONFIG_ARDUINO_ISR_IRAM is not set -# default: -# CONFIG_DISABLE_HAL_LOCKS is not set - -# -# Debug Log Configuration -# -# default: -# CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_NONE is not set -# default: -CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_ERROR=y -# default: -# CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_WARN is not set -# default: -# CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_INFO is not set -# default: -# CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_DEBUG is not set -# default: -# CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_VERBOSE is not set -# default: -CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL=1 -# default: -# CONFIG_ARDUHAL_LOG_COLORS is not set -# default: -# CONFIG_ARDUHAL_ESP_LOG is not set -# end of Debug Log Configuration - -# default: -CONFIG_ARDUHAL_PARTITION_SCHEME_DEFAULT=y -# default: -# CONFIG_ARDUHAL_PARTITION_SCHEME_MINIMAL is not set -# default: -# CONFIG_ARDUHAL_PARTITION_SCHEME_NO_OTA is not set -# default: -# CONFIG_ARDUHAL_PARTITION_SCHEME_HUGE_APP is not set -# default: -# CONFIG_ARDUHAL_PARTITION_SCHEME_MIN_SPIFFS is not set -# default: -CONFIG_ARDUHAL_PARTITION_SCHEME="default" -# default: -# CONFIG_AUTOCONNECT_WIFI is not set -# default: -# CONFIG_ARDUINO_SELECTIVE_COMPILATION is not set -# end of Arduino Configuration - -# -# ESP RainMaker Config -# -# default: -CONFIG_ESP_RMAKER_NO_CLAIM=y -# default: -# CONFIG_ESP_RMAKER_USE_ESP_SECURE_CERT_MGR is not set -# default: -CONFIG_ESP_RMAKER_USE_NVS=y -# default: -CONFIG_ESP_RMAKER_CLAIM_TYPE=0 -# default: -# CONFIG_ESP_RMAKER_READ_MQTT_HOST_FROM_CONFIG is not set -# default: -# CONFIG_ESP_RMAKER_READ_NODE_ID_FROM_CERT_CN is not set -# default: -CONFIG_ESP_RMAKER_MQTT_USE_BASIC_INGEST_TOPICS=y -# default: -CONFIG_ESP_RMAKER_MQTT_ENABLE_BUDGETING=y -# default: -CONFIG_ESP_RMAKER_MQTT_DEFAULT_BUDGET=100 -# default: -CONFIG_ESP_RMAKER_MQTT_MAX_BUDGET=1024 -# default: -CONFIG_ESP_RMAKER_MQTT_BUDGET_REVIVE_PERIOD=5 -# default: -CONFIG_ESP_RMAKER_MQTT_BUDGET_REVIVE_COUNT=1 -# default: -CONFIG_ESP_RMAKER_MAX_PARAM_DATA_SIZE=1024 -# default: -# CONFIG_ESP_RMAKER_DISABLE_USER_MAPPING_PROV is not set -# default: -# CONFIG_ESP_RMAKER_USER_ID_CHECK is not set -# default: -# CONFIG_RMAKER_NAME_PARAM_CB is not set -# default: -# CONFIG_ESP_RMAKER_LOCAL_CTRL_FEATURE_ENABLE is not set -# default: -# CONFIG_ESP_RMAKER_LOCAL_CTRL_AUTO_ENABLE is not set -# default: -CONFIG_ESP_RMAKER_CONSOLE_UART_NUM_0=y -# default: -# CONFIG_ESP_RMAKER_CONSOLE_UART_NUM_1 is not set -# default: -CONFIG_ESP_RMAKER_CONSOLE_UART_NUM=0 -# default: -CONFIG_ESP_RMAKER_USE_CERT_BUNDLE=y - -# -# ESP RainMaker OTA Config -# -# default: -CONFIG_ESP_RMAKER_OTA_AUTOFETCH=y -# default: -CONFIG_ESP_RMAKER_OTA_AUTOFETCH_PERIOD=0 -# default: -# CONFIG_ESP_RMAKER_SKIP_COMMON_NAME_CHECK is not set -# default: -# CONFIG_ESP_RMAKER_SKIP_VERSION_CHECK is not set -# default: -# CONFIG_ESP_RMAKER_SKIP_SECURE_VERSION_CHECK is not set -# default: -# CONFIG_ESP_RMAKER_SKIP_PROJECT_NAME_CHECK is not set -# default: -CONFIG_ESP_RMAKER_OTA_HTTP_RX_BUFFER_SIZE=1024 -# default: -CONFIG_ESP_RMAKER_OTA_ROLLBACK_WAIT_PERIOD=90 -# default: -# CONFIG_ESP_RMAKER_OTA_DISABLE_AUTO_REBOOT is not set -# default: -CONFIG_ESP_RMAKER_OTA_TIME_SUPPORT=y -# end of ESP RainMaker OTA Config - -# -# ESP RainMaker Scheduling -# -# default: -CONFIG_ESP_RMAKER_SCHEDULING_MAX_SCHEDULES=10 -# end of ESP RainMaker Scheduling - -# -# ESP RainMaker Scenes -# -# default: -CONFIG_ESP_RMAKER_SCENES_MAX_SCENES=10 -# default: -# CONFIG_ESP_RMAKER_SCENES_DEACTIVATE_SUPPORT is not set -# end of ESP RainMaker Scenes - -# -# ESP RainMaker Command-Response -# -# default: -CONFIG_ESP_RMAKER_CMD_RESP_ENABLE=y -# default: -# CONFIG_ESP_RMAKER_CMD_RESP_TEST_ENABLE is not set -# end of ESP RainMaker Command-Response - -# default: -CONFIG_ESP_RMAKER_USING_NETWORK_PROV=y -# end of ESP RainMaker Config - -# -# Compiler options -# -# default: -CONFIG_COMPILER_OPTIMIZATION_DEBUG=y -# default: -# CONFIG_COMPILER_OPTIMIZATION_SIZE is not set -# default: -# CONFIG_COMPILER_OPTIMIZATION_PERF is not set -# default: -# CONFIG_COMPILER_OPTIMIZATION_NONE is not set -# default: -CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE=y -# default: -# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT is not set -# default: -# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE is not set -# default: -CONFIG_COMPILER_ASSERT_NDEBUG_EVALUATE=y -# default: -CONFIG_COMPILER_FLOAT_LIB_FROM_GCCLIB=y -# default: -CONFIG_COMPILER_OPTIMIZATION_ASSERTION_LEVEL=2 -# default: -# CONFIG_COMPILER_OPTIMIZATION_CHECKS_SILENT is not set -# default: -CONFIG_COMPILER_HIDE_PATHS_MACROS=y -# CONFIG_COMPILER_CXX_EXCEPTIONS is not set -# default: -# CONFIG_COMPILER_CXX_RTTI is not set -# default: -CONFIG_COMPILER_STACK_CHECK_MODE_NONE=y -# default: -# CONFIG_COMPILER_STACK_CHECK_MODE_NORM is not set -# default: -# CONFIG_COMPILER_STACK_CHECK_MODE_STRONG is not set -# default: -# CONFIG_COMPILER_STACK_CHECK_MODE_ALL is not set -# default: -# CONFIG_COMPILER_NO_MERGE_CONSTANTS is not set -# default: -# CONFIG_COMPILER_WARN_WRITE_STRINGS is not set -# default: -CONFIG_COMPILER_DISABLE_DEFAULT_ERRORS=y -# default: -# CONFIG_COMPILER_DISABLE_GCC12_WARNINGS is not set -# default: -# CONFIG_COMPILER_DISABLE_GCC13_WARNINGS is not set -# default: -# CONFIG_COMPILER_DISABLE_GCC14_WARNINGS is not set -# default: -# CONFIG_COMPILER_DUMP_RTL_FILES is not set -# default: -CONFIG_COMPILER_RT_LIB_GCCLIB=y -# default: -CONFIG_COMPILER_RT_LIB_NAME="gcc" -# default: -CONFIG_COMPILER_ORPHAN_SECTIONS_WARNING=y -# default: -# CONFIG_COMPILER_ORPHAN_SECTIONS_PLACE is not set -# default: -# CONFIG_COMPILER_STATIC_ANALYZER is not set -# end of Compiler options - -# -# Component config -# - -# -# Application Level Tracing -# -# default: -# CONFIG_APPTRACE_DEST_JTAG is not set -# default: -CONFIG_APPTRACE_DEST_NONE=y -# default: -# CONFIG_APPTRACE_DEST_UART1 is not set -# default: -# CONFIG_APPTRACE_DEST_UART2 is not set -# default: -CONFIG_APPTRACE_DEST_UART_NONE=y -# default: -CONFIG_APPTRACE_UART_TASK_PRIO=1 -# default: -CONFIG_APPTRACE_LOCK_ENABLE=y -# end of Application Level Tracing - -# -# Bluetooth -# -# default: -# CONFIG_BT_ENABLED is not set - -# -# Common Options -# - -# -# BLE Log -# -# default: -# CONFIG_BLE_LOG_ENABLED is not set -# end of BLE Log - -# default: -# CONFIG_BT_BLE_LOG_SPI_OUT_ENABLED is not set -# default: -# CONFIG_BT_BLE_LOG_UHCI_OUT_ENABLED is not set -# default: -# CONFIG_BT_LE_USED_MEM_STATISTICS_ENABLED is not set -# end of Common Options -# end of Bluetooth - -# -# Console Library -# -# default: -# CONFIG_CONSOLE_SORTED_HELP is not set -# end of Console Library - -# -# Driver Configurations -# - -# -# Legacy TWAI Driver Configurations -# -# default: -# CONFIG_TWAI_SKIP_LEGACY_CONFLICT_CHECK is not set -# default: -CONFIG_TWAI_ERRATA_FIX_BUS_OFF_REC=y -# default: -CONFIG_TWAI_ERRATA_FIX_TX_INTR_LOST=y -# default: -CONFIG_TWAI_ERRATA_FIX_RX_FRAME_INVALID=y -# default: -CONFIG_TWAI_ERRATA_FIX_RX_FIFO_CORRUPT=y -# default: -CONFIG_TWAI_ERRATA_FIX_LISTEN_ONLY_DOM=y -# end of Legacy TWAI Driver Configurations - -# -# Legacy ADC Driver Configuration -# -# default: -CONFIG_ADC_DISABLE_DAC=y -# default: -# CONFIG_ADC_SUPPRESS_DEPRECATE_WARN is not set -# default: -# CONFIG_ADC_SKIP_LEGACY_CONFLICT_CHECK is not set - -# -# Legacy ADC Calibration Configuration -# -# default: -CONFIG_ADC_CAL_EFUSE_TP_ENABLE=y -# default: -CONFIG_ADC_CAL_EFUSE_VREF_ENABLE=y -# default: -CONFIG_ADC_CAL_LUT_ENABLE=y -# default: -# CONFIG_ADC_CALI_SUPPRESS_DEPRECATE_WARN is not set -# end of Legacy ADC Calibration Configuration -# end of Legacy ADC Driver Configuration - -# -# Legacy DAC Driver Configurations -# -# default: -# CONFIG_DAC_SUPPRESS_DEPRECATE_WARN is not set -# default: -# CONFIG_DAC_SKIP_LEGACY_CONFLICT_CHECK is not set -# end of Legacy DAC Driver Configurations - -# -# Legacy MCPWM Driver Configurations -# -# default: -# CONFIG_MCPWM_SUPPRESS_DEPRECATE_WARN is not set -# default: -# CONFIG_MCPWM_SKIP_LEGACY_CONFLICT_CHECK is not set -# end of Legacy MCPWM Driver Configurations - -# -# Legacy Timer Group Driver Configurations -# -# default: -# CONFIG_GPTIMER_SUPPRESS_DEPRECATE_WARN is not set -# default: -# CONFIG_GPTIMER_SKIP_LEGACY_CONFLICT_CHECK is not set -# end of Legacy Timer Group Driver Configurations - -# -# Legacy RMT Driver Configurations -# -# default: -# CONFIG_RMT_SUPPRESS_DEPRECATE_WARN is not set -# default: -# CONFIG_RMT_SKIP_LEGACY_CONFLICT_CHECK is not set -# end of Legacy RMT Driver Configurations - -# -# Legacy I2S Driver Configurations -# -# default: -# CONFIG_I2S_SUPPRESS_DEPRECATE_WARN is not set -# default: -# CONFIG_I2S_SKIP_LEGACY_CONFLICT_CHECK is not set -# end of Legacy I2S Driver Configurations - -# -# Legacy I2C Driver Configurations -# -# default: -# CONFIG_I2C_SKIP_LEGACY_CONFLICT_CHECK is not set -# end of Legacy I2C Driver Configurations - -# -# Legacy PCNT Driver Configurations -# -# default: -# CONFIG_PCNT_SUPPRESS_DEPRECATE_WARN is not set -# default: -# CONFIG_PCNT_SKIP_LEGACY_CONFLICT_CHECK is not set -# end of Legacy PCNT Driver Configurations - -# -# Legacy SDM Driver Configurations -# -# default: -# CONFIG_SDM_SUPPRESS_DEPRECATE_WARN is not set -# default: -# CONFIG_SDM_SKIP_LEGACY_CONFLICT_CHECK is not set -# end of Legacy SDM Driver Configurations - -# -# Legacy Touch Sensor Driver Configurations -# -# default: -# CONFIG_TOUCH_SUPPRESS_DEPRECATE_WARN is not set -# default: -# CONFIG_TOUCH_SKIP_LEGACY_CONFLICT_CHECK is not set -# end of Legacy Touch Sensor Driver Configurations -# end of Driver Configurations - -# -# eFuse Bit Manager -# -# default: -# CONFIG_EFUSE_CUSTOM_TABLE is not set -# default: -# CONFIG_EFUSE_VIRTUAL is not set -# default: -# CONFIG_EFUSE_CODE_SCHEME_COMPAT_NONE is not set -# default: -CONFIG_EFUSE_CODE_SCHEME_COMPAT_3_4=y -# default: -# CONFIG_EFUSE_CODE_SCHEME_COMPAT_REPEAT is not set -# default: -CONFIG_EFUSE_MAX_BLK_LEN=192 -# end of eFuse Bit Manager - -# -# ESP-TLS -# -# default: -CONFIG_ESP_TLS_USING_MBEDTLS=y -# default: -# CONFIG_ESP_TLS_USE_SECURE_ELEMENT is not set -# default: -# CONFIG_ESP_TLS_CLIENT_SESSION_TICKETS is not set -# default: -# CONFIG_ESP_TLS_SERVER_SESSION_TICKETS is not set -# default: -# CONFIG_ESP_TLS_SERVER_CERT_SELECT_HOOK is not set -# default: -# CONFIG_ESP_TLS_SERVER_MIN_AUTH_MODE_OPTIONAL is not set -# default: -# CONFIG_ESP_TLS_PSK_VERIFICATION is not set -# default: -# CONFIG_ESP_TLS_INSECURE is not set -# default: -CONFIG_ESP_TLS_DYN_BUF_STRATEGY_SUPPORTED=y -# end of ESP-TLS - -# -# ADC and ADC Calibration -# -# default: -# CONFIG_ADC_ONESHOT_CTRL_FUNC_IN_IRAM is not set -# default: -# CONFIG_ADC_CONTINUOUS_ISR_IRAM_SAFE is not set - -# -# ADC Calibration Configurations -# -# default: -CONFIG_ADC_CALI_EFUSE_TP_ENABLE=y -# default: -CONFIG_ADC_CALI_EFUSE_VREF_ENABLE=y -# default: -CONFIG_ADC_CALI_LUT_ENABLE=y -# end of ADC Calibration Configurations - -# default: -CONFIG_ADC_DISABLE_DAC_OUTPUT=y -# default: -# CONFIG_ADC_ENABLE_DEBUG_LOG is not set -# end of ADC and ADC Calibration - -# -# Wireless Coexistence -# -# default: -CONFIG_ESP_COEX_ENABLED=y -# default: -# CONFIG_ESP_COEX_GPIO_DEBUG is not set -# end of Wireless Coexistence - -# -# Common ESP-related -# -# default: -CONFIG_ESP_ERR_TO_NAME_LOOKUP=y -# end of Common ESP-related - -# -# ESP-Driver:DAC Configurations -# -# default: -# CONFIG_DAC_CTRL_FUNC_IN_IRAM is not set -# default: -# CONFIG_DAC_ISR_IRAM_SAFE is not set -# default: -# CONFIG_DAC_ENABLE_DEBUG_LOG is not set -# default: -CONFIG_DAC_DMA_AUTO_16BIT_ALIGN=y -# end of ESP-Driver:DAC Configurations - -# -# ESP-Driver:GPIO Configurations -# -# default: -# CONFIG_GPIO_ESP32_SUPPORT_SWITCH_SLP_PULL is not set -# default: -# CONFIG_GPIO_CTRL_FUNC_IN_IRAM is not set -# end of ESP-Driver:GPIO Configurations - -# -# ESP-Driver:GPTimer Configurations -# -# default: -CONFIG_GPTIMER_ISR_HANDLER_IN_IRAM=y -# default: -# CONFIG_GPTIMER_CTRL_FUNC_IN_IRAM is not set -# default: -# CONFIG_GPTIMER_ISR_CACHE_SAFE is not set -# default: -CONFIG_GPTIMER_OBJ_CACHE_SAFE=y -# default: -# CONFIG_GPTIMER_ENABLE_DEBUG_LOG is not set -# end of ESP-Driver:GPTimer Configurations - -# -# ESP-Driver:I2C Configurations -# -# default: -# CONFIG_I2C_ISR_IRAM_SAFE is not set -# default: -# CONFIG_I2C_ENABLE_DEBUG_LOG is not set -# default: -# CONFIG_I2C_ENABLE_SLAVE_DRIVER_VERSION_2 is not set -# default: -CONFIG_I2C_MASTER_ISR_HANDLER_IN_IRAM=y -# end of ESP-Driver:I2C Configurations - -# -# ESP-Driver:I2S Configurations -# -# default: -# CONFIG_I2S_ISR_IRAM_SAFE is not set -# default: -# CONFIG_I2S_ENABLE_DEBUG_LOG is not set -# end of ESP-Driver:I2S Configurations - -# -# ESP-Driver:LEDC Configurations -# -# default: -# CONFIG_LEDC_CTRL_FUNC_IN_IRAM is not set -# end of ESP-Driver:LEDC Configurations - -# -# ESP-Driver:MCPWM Configurations -# -# default: -CONFIG_MCPWM_ISR_HANDLER_IN_IRAM=y -# default: -# CONFIG_MCPWM_ISR_CACHE_SAFE is not set -# default: -# CONFIG_MCPWM_CTRL_FUNC_IN_IRAM is not set -# default: -CONFIG_MCPWM_OBJ_CACHE_SAFE=y -# default: -# CONFIG_MCPWM_ENABLE_DEBUG_LOG is not set -# end of ESP-Driver:MCPWM Configurations - -# -# ESP-Driver:PCNT Configurations -# -# default: -# CONFIG_PCNT_CTRL_FUNC_IN_IRAM is not set -# default: -# CONFIG_PCNT_ISR_IRAM_SAFE is not set -# default: -# CONFIG_PCNT_ENABLE_DEBUG_LOG is not set -# end of ESP-Driver:PCNT Configurations - -# -# ESP-Driver:RMT Configurations -# -# default: -CONFIG_RMT_ENCODER_FUNC_IN_IRAM=y -# default: -CONFIG_RMT_TX_ISR_HANDLER_IN_IRAM=y -# default: -CONFIG_RMT_RX_ISR_HANDLER_IN_IRAM=y -# default: -# CONFIG_RMT_RECV_FUNC_IN_IRAM is not set -# default: -# CONFIG_RMT_TX_ISR_CACHE_SAFE is not set -# default: -# CONFIG_RMT_RX_ISR_CACHE_SAFE is not set -# default: -CONFIG_RMT_OBJ_CACHE_SAFE=y -# default: -# CONFIG_RMT_ENABLE_DEBUG_LOG is not set -# default: -# CONFIG_RMT_ISR_IRAM_SAFE is not set -# end of ESP-Driver:RMT Configurations - -# -# ESP-Driver:Sigma Delta Modulator Configurations -# -# default: -# CONFIG_SDM_CTRL_FUNC_IN_IRAM is not set -# default: -# CONFIG_SDM_ENABLE_DEBUG_LOG is not set -# end of ESP-Driver:Sigma Delta Modulator Configurations - -# -# ESP-Driver:SPI Configurations -# -# default: -# CONFIG_SPI_MASTER_IN_IRAM is not set -# default: -CONFIG_SPI_MASTER_ISR_IN_IRAM=y -# default: -# CONFIG_SPI_SLAVE_IN_IRAM is not set -# default: -CONFIG_SPI_SLAVE_ISR_IN_IRAM=y -# end of ESP-Driver:SPI Configurations - -# -# ESP-Driver:Touch Sensor Configurations -# -# default: -# CONFIG_TOUCH_CTRL_FUNC_IN_IRAM is not set -# default: -# CONFIG_TOUCH_ISR_IRAM_SAFE is not set -# default: -# CONFIG_TOUCH_ENABLE_DEBUG_LOG is not set -# default: -# CONFIG_TOUCH_SKIP_FSM_CHECK is not set -# end of ESP-Driver:Touch Sensor Configurations - -# -# ESP-Driver:TWAI Configurations -# -# default: -# CONFIG_TWAI_ISR_IN_IRAM is not set -# default: -# CONFIG_TWAI_IO_FUNC_IN_IRAM is not set -# default: -# CONFIG_TWAI_ISR_CACHE_SAFE is not set -# default: -# CONFIG_TWAI_ENABLE_DEBUG_LOG is not set -# end of ESP-Driver:TWAI Configurations - -# -# ESP-Driver:UART Configurations -# -# default: -# CONFIG_UART_ISR_IN_IRAM is not set -# end of ESP-Driver:UART Configurations - -# -# ESP-Driver:UHCI Configurations -# -# default: -# CONFIG_UHCI_ISR_HANDLER_IN_IRAM is not set -# default: -# CONFIG_UHCI_ISR_CACHE_SAFE is not set -# default: -# CONFIG_UHCI_ENABLE_DEBUG_LOG is not set -# end of ESP-Driver:UHCI Configurations - -# -# Ethernet -# -# default: -CONFIG_ETH_ENABLED=y -# default: -CONFIG_ETH_USE_ESP32_EMAC=y -# default: -CONFIG_ETH_PHY_INTERFACE_RMII=y -# default: -CONFIG_ETH_RMII_CLK_INPUT=y -# default: -# CONFIG_ETH_RMII_CLK_OUTPUT is not set -# default: -CONFIG_ETH_RMII_CLK_IN_GPIO=0 -# default: -CONFIG_ETH_DMA_BUFFER_SIZE=512 -# default: -CONFIG_ETH_DMA_RX_BUFFER_NUM=10 -# default: -CONFIG_ETH_DMA_TX_BUFFER_NUM=10 -# default: -# CONFIG_ETH_IRAM_OPTIMIZATION is not set -# default: -CONFIG_ETH_USE_SPI_ETHERNET=y -# default: -# CONFIG_ETH_SPI_ETHERNET_DM9051 is not set -# default: -# CONFIG_ETH_SPI_ETHERNET_W5500 is not set -# default: -# CONFIG_ETH_SPI_ETHERNET_KSZ8851SNL is not set -# default: -# CONFIG_ETH_USE_OPENETH is not set -# default: -# CONFIG_ETH_TRANSMIT_MUTEX is not set -# end of Ethernet - -# -# Event Loop Library -# -# default: -# CONFIG_ESP_EVENT_LOOP_PROFILING is not set -# default: -CONFIG_ESP_EVENT_POST_FROM_ISR=y -# default: -CONFIG_ESP_EVENT_POST_FROM_IRAM_ISR=y -# end of Event Loop Library - -# -# GDB Stub -# -# default: -CONFIG_ESP_GDBSTUB_ENABLED=y -# default: -# CONFIG_ESP_SYSTEM_GDBSTUB_RUNTIME is not set -# default: -CONFIG_ESP_GDBSTUB_SUPPORT_TASKS=y -# default: -CONFIG_ESP_GDBSTUB_MAX_TASKS=32 -# end of GDB Stub - -# -# ESP HID -# -# default: -CONFIG_ESPHID_TASK_SIZE_BT=2048 -# default: -CONFIG_ESPHID_TASK_SIZE_BLE=4096 -# end of ESP HID - -# -# ESP HTTP client -# -# default: -CONFIG_ESP_HTTP_CLIENT_ENABLE_HTTPS=y -# default: -# CONFIG_ESP_HTTP_CLIENT_ENABLE_BASIC_AUTH is not set -# default: -# CONFIG_ESP_HTTP_CLIENT_ENABLE_DIGEST_AUTH is not set -# default: -# CONFIG_ESP_HTTP_CLIENT_ENABLE_CUSTOM_TRANSPORT is not set -# default: -CONFIG_ESP_HTTP_CLIENT_EVENT_POST_TIMEOUT=2000 -# end of ESP HTTP client - -# -# HTTP Server -# -# default: -CONFIG_HTTPD_MAX_REQ_HDR_LEN=1024 -# default: -CONFIG_HTTPD_MAX_URI_LEN=512 -# default: -CONFIG_HTTPD_ERR_RESP_NO_DELAY=y -# default: -CONFIG_HTTPD_PURGE_BUF_LEN=32 -# default: -# CONFIG_HTTPD_LOG_PURGE_DATA is not set -# default: -# CONFIG_HTTPD_WS_SUPPORT is not set -# default: -# CONFIG_HTTPD_QUEUE_WORK_BLOCKING is not set -# default: -CONFIG_HTTPD_SERVER_EVENT_POST_TIMEOUT=2000 -# end of HTTP Server - -# -# ESP HTTPS OTA -# -# default: -# CONFIG_ESP_HTTPS_OTA_DECRYPT_CB is not set -# default: -# CONFIG_ESP_HTTPS_OTA_ALLOW_HTTP is not set -# default: -CONFIG_ESP_HTTPS_OTA_EVENT_POST_TIMEOUT=2000 -# end of ESP HTTPS OTA - -# -# ESP HTTPS server -# -# default: -# CONFIG_ESP_HTTPS_SERVER_ENABLE is not set -# default: -CONFIG_ESP_HTTPS_SERVER_EVENT_POST_TIMEOUT=2000 -# default: -# CONFIG_ESP_HTTPS_SERVER_CERT_SELECT_HOOK is not set -# end of ESP HTTPS server - -# -# Hardware Settings -# -# default: -CONFIG_ESP_HW_SUPPORT_FUNC_IN_IRAM=y - -# -# Chip revision -# -# default: -CONFIG_ESP32_REV_MIN_0=y -# default: -# CONFIG_ESP32_REV_MIN_1 is not set -# default: -# CONFIG_ESP32_REV_MIN_1_1 is not set -# default: -# CONFIG_ESP32_REV_MIN_2 is not set -# default: -# CONFIG_ESP32_REV_MIN_3 is not set -# default: -# CONFIG_ESP32_REV_MIN_3_1 is not set -# default: -CONFIG_ESP32_REV_MIN=0 -# default: -CONFIG_ESP32_REV_MIN_FULL=0 -# default: -CONFIG_ESP_REV_MIN_FULL=0 - -# -# Maximum Supported ESP32 Revision (Rev v3.99) -# -# default: -CONFIG_ESP32_REV_MAX_FULL=399 -# default: -CONFIG_ESP_REV_MAX_FULL=399 -# default: -CONFIG_ESP_EFUSE_BLOCK_REV_MIN_FULL=0 -# default: -CONFIG_ESP_EFUSE_BLOCK_REV_MAX_FULL=99 - -# -# Maximum Supported ESP32 eFuse Block Revision (eFuse Block Rev v0.99) -# -# end of Chip revision - -# -# MAC Config -# -# default: -CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_STA=y -# default: -CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_AP=y -# default: -CONFIG_ESP_MAC_ADDR_UNIVERSE_BT=y -# default: -CONFIG_ESP_MAC_ADDR_UNIVERSE_ETH=y -# default: -CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES_FOUR=y -# default: -CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES=4 -# default: -# CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_TWO is not set -# default: -CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_FOUR=y -# default: -CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES=4 -# default: -# CONFIG_ESP_MAC_IGNORE_MAC_CRC_ERROR is not set -# default: -# CONFIG_ESP_MAC_USE_CUSTOM_MAC_AS_BASE_MAC is not set -# end of MAC Config - -# -# Sleep Config -# -# default: -# CONFIG_ESP_SLEEP_POWER_DOWN_FLASH is not set -# default: -CONFIG_ESP_SLEEP_FLASH_LEAKAGE_WORKAROUND=y -# default: -# CONFIG_ESP_SLEEP_MSPI_NEED_ALL_IO_PU is not set -# default: -CONFIG_ESP_SLEEP_RTC_BUS_ISO_WORKAROUND=y -# default: -# CONFIG_ESP_SLEEP_GPIO_RESET_WORKAROUND is not set -# default: -CONFIG_ESP_SLEEP_WAIT_FLASH_READY_EXTRA_DELAY=2000 -# default: -# CONFIG_ESP_SLEEP_CACHE_SAFE_ASSERTION is not set -# default: -# CONFIG_ESP_SLEEP_DEBUG is not set -# default: -CONFIG_ESP_SLEEP_GPIO_ENABLE_INTERNAL_RESISTORS=y -# end of Sleep Config - -# -# RTC Clock Config -# -# default: -CONFIG_RTC_CLK_SRC_INT_RC=y -# default: -# CONFIG_RTC_CLK_SRC_EXT_CRYS is not set -# default: -# CONFIG_RTC_CLK_SRC_EXT_OSC is not set -# default: -# CONFIG_RTC_CLK_SRC_INT_8MD256 is not set -# default: -CONFIG_RTC_CLK_CAL_CYCLES=1024 -# default: -CONFIG_RTC_CLK_FUNC_IN_IRAM=y -# default: -CONFIG_RTC_TIME_FUNC_IN_IRAM=y -# end of RTC Clock Config - -# -# Peripheral Control -# -# default: -CONFIG_ESP_PERIPH_CTRL_FUNC_IN_IRAM=y -# default: -CONFIG_ESP_REGI2C_CTRL_FUNC_IN_IRAM=y -# end of Peripheral Control - -# -# Main XTAL Config -# -# default: -# CONFIG_XTAL_FREQ_26 is not set -# default: -# CONFIG_XTAL_FREQ_32 is not set -# default: -CONFIG_XTAL_FREQ_40=y -# default: -# CONFIG_XTAL_FREQ_AUTO is not set -# default: -CONFIG_XTAL_FREQ=40 -# end of Main XTAL Config - -# -# Power Supplier -# - -# -# Brownout Detector -# -# default: -CONFIG_ESP_BROWNOUT_DET=y -# default: -CONFIG_ESP_BROWNOUT_DET_LVL_SEL_0=y -# default: -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_1 is not set -# default: -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_2 is not set -# default: -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_3 is not set -# default: -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_4 is not set -# default: -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_5 is not set -# default: -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_6 is not set -# default: -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_7 is not set -# default: -CONFIG_ESP_BROWNOUT_DET_LVL=0 -# default: -CONFIG_ESP_BROWNOUT_USE_INTR=y -# end of Brownout Detector -# end of Power Supplier - -# default: -CONFIG_ESP_SPI_BUS_LOCK_ISR_FUNCS_IN_IRAM=y -# default: -CONFIG_ESP_INTR_IN_IRAM=y -# end of Hardware Settings - -# -# ESP-Driver:LCD Controller Configurations -# -# default: -# CONFIG_LCD_ENABLE_DEBUG_LOG is not set -# end of ESP-Driver:LCD Controller Configurations - -# -# ESP-MM: Memory Management Configurations -# -# end of ESP-MM: Memory Management Configurations - -# -# ESP NETIF Adapter -# -# default: -CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120 -# default: -# CONFIG_ESP_NETIF_PROVIDE_CUSTOM_IMPLEMENTATION is not set -# default: -CONFIG_ESP_NETIF_TCPIP_LWIP=y -# default: -# CONFIG_ESP_NETIF_LOOPBACK is not set -# default: -CONFIG_ESP_NETIF_USES_TCPIP_WITH_BSD_API=y -# default: -CONFIG_ESP_NETIF_REPORT_DATA_TRAFFIC=y -# default: -# CONFIG_ESP_NETIF_RECEIVE_REPORT_ERRORS is not set -# default: -# CONFIG_ESP_NETIF_L2_TAP is not set -# default: -# CONFIG_ESP_NETIF_BRIDGE_EN is not set -# default: -# CONFIG_ESP_NETIF_SET_DNS_PER_DEFAULT_NETIF is not set -# end of ESP NETIF Adapter - -# -# Partition API Configuration -# -# end of Partition API Configuration - -# -# PHY -# -# default: -CONFIG_ESP_PHY_ENABLED=y -# default: -CONFIG_ESP_PHY_CALIBRATION_AND_DATA_STORAGE=y -# default: -# CONFIG_ESP_PHY_INIT_DATA_IN_PARTITION is not set -# default: -CONFIG_ESP_PHY_MAX_WIFI_TX_POWER=20 -# default: -CONFIG_ESP_PHY_MAX_TX_POWER=20 -# default: -# CONFIG_ESP_PHY_REDUCE_TX_POWER is not set -# default: -# CONFIG_ESP_PHY_ENABLE_CERT_TEST is not set -# default: -CONFIG_ESP_PHY_RF_CAL_PARTIAL=y -# default: -# CONFIG_ESP_PHY_RF_CAL_NONE is not set -# default: -# CONFIG_ESP_PHY_RF_CAL_FULL is not set -# default: -CONFIG_ESP_PHY_CALIBRATION_MODE=0 -# default: -CONFIG_ESP_PHY_PLL_TRACK_PERIOD_MS=1000 -# default: -# CONFIG_ESP_PHY_PLL_TRACK_DEBUG is not set -# default: -# CONFIG_ESP_PHY_RECORD_USED_TIME is not set -# default: -CONFIG_ESP_PHY_IRAM_OPT=y -# default: -# CONFIG_ESP_PHY_DEBUG is not set -# end of PHY - -# -# Power Management -# -# default: -# CONFIG_PM_SLEEP_FUNC_IN_IRAM is not set -# default: -# CONFIG_PM_ENABLE is not set -# default: -# CONFIG_PM_SLP_IRAM_OPT is not set -# end of Power Management - -# -# ESP PSRAM -# -# default: -# CONFIG_SPIRAM is not set -# end of ESP PSRAM - -# -# ESP Ringbuf -# -# default: -# CONFIG_RINGBUF_PLACE_FUNCTIONS_INTO_FLASH is not set -# end of ESP Ringbuf - -# -# ESP-ROM -# -# default: -CONFIG_ESP_ROM_PRINT_IN_IRAM=y -# end of ESP-ROM - -# -# ESP Security Specific -# -# end of ESP Security Specific - -# -# ESP System Settings -# -# default: -# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_80 is not set -# default: -CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_160=y -# default: -# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240 is not set -# default: -CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=160 - -# -# Memory -# -# default: -# CONFIG_ESP32_USE_FIXED_STATIC_RAM_SIZE is not set - -# -# Non-backward compatible options -# -# default: -# CONFIG_ESP_SYSTEM_ESP32_SRAM1_REGION_AS_IRAM is not set -# end of Non-backward compatible options -# end of Memory - -# -# Trace memory -# -# default: -# CONFIG_ESP32_TRAX is not set -# default: -CONFIG_ESP32_TRACEMEM_RESERVE_DRAM=0x0 -# end of Trace memory - -# default: -CONFIG_ESP_SYSTEM_IN_IRAM=y -# default: -# CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT is not set -# default: -CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT=y -# default: -# CONFIG_ESP_SYSTEM_PANIC_SILENT_REBOOT is not set -# default: -# CONFIG_ESP_SYSTEM_PANIC_GDBSTUB is not set -# default: -CONFIG_ESP_SYSTEM_PANIC_REBOOT_DELAY_SECONDS=0 - -# -# Memory protection -# -# end of Memory protection - -# default: -CONFIG_ESP_SYSTEM_EVENT_QUEUE_SIZE=32 -# default: -CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=2304 -CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192 -# default: -CONFIG_ESP_MAIN_TASK_AFFINITY_CPU0=y -# default: -# CONFIG_ESP_MAIN_TASK_AFFINITY_CPU1 is not set -# default: -# CONFIG_ESP_MAIN_TASK_AFFINITY_NO_AFFINITY is not set -# default: -CONFIG_ESP_MAIN_TASK_AFFINITY=0x0 -# default: -CONFIG_ESP_MINIMAL_SHARED_STACK_SIZE=2048 -# default: -CONFIG_ESP_CONSOLE_UART_DEFAULT=y -# default: -# CONFIG_ESP_CONSOLE_UART_CUSTOM is not set -# default: -# CONFIG_ESP_CONSOLE_NONE is not set -# default: -CONFIG_ESP_CONSOLE_UART=y -# default: -CONFIG_ESP_CONSOLE_UART_NUM=0 -# default: -CONFIG_ESP_CONSOLE_ROM_SERIAL_PORT_NUM=0 -# default: -CONFIG_ESP_CONSOLE_UART_BAUDRATE=115200 -# default: -CONFIG_ESP_INT_WDT=y -# default: -CONFIG_ESP_INT_WDT_TIMEOUT_MS=300 -# default: -CONFIG_ESP_INT_WDT_CHECK_CPU1=y -# default: -CONFIG_ESP_TASK_WDT_EN=y -# default: -CONFIG_ESP_TASK_WDT_INIT=y -# default: -# CONFIG_ESP_TASK_WDT_PANIC is not set -# default: -CONFIG_ESP_TASK_WDT_TIMEOUT_S=5 -# default: -CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0=y -# default: -CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU1=y -# default: -# CONFIG_ESP_PANIC_HANDLER_IRAM is not set -# default: -# CONFIG_ESP_DEBUG_STUBS_ENABLE is not set -# default: -CONFIG_ESP_DEBUG_OCDAWARE=y -# default: -# CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_5 is not set -# default: -CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_4=y -# default: -# CONFIG_ESP32_DISABLE_BASIC_ROM_CONSOLE is not set -# end of ESP System Settings - -# -# IPC (Inter-Processor Call) -# -# default: -CONFIG_ESP_IPC_ENABLE=y -# default: -CONFIG_ESP_IPC_TASK_STACK_SIZE=1024 -# default: -CONFIG_ESP_IPC_USES_CALLERS_PRIORITY=y -# default: -CONFIG_ESP_IPC_ISR_ENABLE=y -# end of IPC (Inter-Processor Call) - -# -# ESP Timer (High Resolution Timer) -# -# default: -CONFIG_ESP_TIMER_IN_IRAM=y -# default: -# CONFIG_ESP_TIMER_PROFILING is not set -# default: -CONFIG_ESP_TIME_FUNCS_USE_RTC_TIMER=y -# default: -CONFIG_ESP_TIME_FUNCS_USE_ESP_TIMER=y -# default: -CONFIG_ESP_TIMER_TASK_STACK_SIZE=3584 -# default: -CONFIG_ESP_TIMER_INTERRUPT_LEVEL=1 -# default: -# CONFIG_ESP_TIMER_SHOW_EXPERIMENTAL is not set -# default: -CONFIG_ESP_TIMER_TASK_AFFINITY=0x0 -# default: -CONFIG_ESP_TIMER_TASK_AFFINITY_CPU0=y -# default: -CONFIG_ESP_TIMER_ISR_AFFINITY_CPU0=y -# default: -# CONFIG_ESP_TIMER_SUPPORTS_ISR_DISPATCH_METHOD is not set -# default: -CONFIG_ESP_TIMER_IMPL_TG0_LAC=y -# end of ESP Timer (High Resolution Timer) - -# -# Wi-Fi -# -# default: -CONFIG_ESP_WIFI_ENABLED=y -# default: -CONFIG_ESP_WIFI_STATIC_RX_BUFFER_NUM=10 -# default: -CONFIG_ESP_WIFI_DYNAMIC_RX_BUFFER_NUM=32 -# default: -# CONFIG_ESP_WIFI_STATIC_TX_BUFFER is not set -# default: -CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER=y -# default: -CONFIG_ESP_WIFI_TX_BUFFER_TYPE=1 -# default: -CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER_NUM=32 -# default: -CONFIG_ESP_WIFI_STATIC_RX_MGMT_BUFFER=y -# default: -# CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUFFER is not set -# default: -CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUF=0 -# default: -CONFIG_ESP_WIFI_RX_MGMT_BUF_NUM_DEF=5 -# default: -# CONFIG_ESP_WIFI_CSI_ENABLED is not set -# default: -CONFIG_ESP_WIFI_AMPDU_TX_ENABLED=y -# default: -CONFIG_ESP_WIFI_TX_BA_WIN=6 -# default: -CONFIG_ESP_WIFI_AMPDU_RX_ENABLED=y -# default: -CONFIG_ESP_WIFI_RX_BA_WIN=6 -# default: -CONFIG_ESP_WIFI_NVS_ENABLED=y -# default: -CONFIG_ESP_WIFI_TASK_PINNED_TO_CORE_0=y -# default: -# CONFIG_ESP_WIFI_TASK_PINNED_TO_CORE_1 is not set -# default: -CONFIG_ESP_WIFI_SOFTAP_BEACON_MAX_LEN=752 -# default: -CONFIG_ESP_WIFI_MGMT_SBUF_NUM=32 -# default: -CONFIG_ESP_WIFI_IRAM_OPT=y -# default: -# CONFIG_ESP_WIFI_EXTRA_IRAM_OPT is not set -# default: -CONFIG_ESP_WIFI_RX_IRAM_OPT=y -# default: -CONFIG_ESP_WIFI_ENABLE_WPA3_SAE=y -# default: -CONFIG_ESP_WIFI_ENABLE_SAE_PK=y -# default: -CONFIG_ESP_WIFI_ENABLE_SAE_H2E=y -# default: -CONFIG_ESP_WIFI_SOFTAP_SAE_SUPPORT=y -# default: -CONFIG_ESP_WIFI_ENABLE_WPA3_OWE_STA=y -# default: -# CONFIG_ESP_WIFI_SLP_IRAM_OPT is not set -# default: -CONFIG_ESP_WIFI_SLP_DEFAULT_MIN_ACTIVE_TIME=50 -# default: -# CONFIG_ESP_WIFI_BSS_MAX_IDLE_SUPPORT is not set -# default: -CONFIG_ESP_WIFI_SLP_DEFAULT_MAX_ACTIVE_TIME=10 -# default: -CONFIG_ESP_WIFI_SLP_DEFAULT_WAIT_BROADCAST_DATA_TIME=15 -# default: -CONFIG_ESP_WIFI_STA_DISCONNECTED_PM_ENABLE=y -# default: -CONFIG_ESP_WIFI_GMAC_SUPPORT=y -# default: -CONFIG_ESP_WIFI_SOFTAP_SUPPORT=y -# default: -# CONFIG_ESP_WIFI_SLP_BEACON_LOST_OPT is not set -# default: -CONFIG_ESP_WIFI_ESPNOW_MAX_ENCRYPT_NUM=7 -# default: -# CONFIG_ESP_WIFI_NAN_ENABLE is not set -# default: -CONFIG_ESP_WIFI_MBEDTLS_CRYPTO=y -# default: -CONFIG_ESP_WIFI_MBEDTLS_TLS_CLIENT=y -# default: -# CONFIG_ESP_WIFI_WAPI_PSK is not set -# default: -# CONFIG_ESP_WIFI_11KV_SUPPORT is not set -# default: -# CONFIG_ESP_WIFI_MBO_SUPPORT is not set -# default: -# CONFIG_ESP_WIFI_DPP_SUPPORT is not set -# default: -# CONFIG_ESP_WIFI_11R_SUPPORT is not set -# default: -# CONFIG_ESP_WIFI_WPS_SOFTAP_REGISTRAR is not set - -# -# WPS Configuration Options -# -# default: -# CONFIG_ESP_WIFI_WPS_STRICT is not set -# default: -# CONFIG_ESP_WIFI_WPS_PASSPHRASE is not set -# default: -# CONFIG_ESP_WIFI_WPS_RECONNECT_ON_FAIL is not set -# end of WPS Configuration Options - -# default: -# CONFIG_ESP_WIFI_DEBUG_PRINT is not set -# default: -CONFIG_ESP_WIFI_ENTERPRISE_SUPPORT=y -# default: -# CONFIG_ESP_WIFI_ENT_FREE_DYNAMIC_BUFFER is not set -# end of Wi-Fi - -# -# Core dump -# -# default: -# CONFIG_ESP_COREDUMP_ENABLE_TO_FLASH is not set -# default: -# CONFIG_ESP_COREDUMP_ENABLE_TO_UART is not set -# default: -CONFIG_ESP_COREDUMP_ENABLE_TO_NONE=y -# end of Core dump - -# -# FAT Filesystem support -# -# default: -CONFIG_FATFS_VOLUME_COUNT=2 -# default: -CONFIG_FATFS_LFN_NONE=y -# default: -# CONFIG_FATFS_LFN_HEAP is not set -# default: -# CONFIG_FATFS_LFN_STACK is not set -# default: -# CONFIG_FATFS_SECTOR_512 is not set -# default: -CONFIG_FATFS_SECTOR_4096=y -# default: -# CONFIG_FATFS_CODEPAGE_DYNAMIC is not set -# default: -CONFIG_FATFS_CODEPAGE_437=y -# default: -# CONFIG_FATFS_CODEPAGE_720 is not set -# default: -# CONFIG_FATFS_CODEPAGE_737 is not set -# default: -# CONFIG_FATFS_CODEPAGE_771 is not set -# default: -# CONFIG_FATFS_CODEPAGE_775 is not set -# default: -# CONFIG_FATFS_CODEPAGE_850 is not set -# default: -# CONFIG_FATFS_CODEPAGE_852 is not set -# default: -# CONFIG_FATFS_CODEPAGE_855 is not set -# default: -# CONFIG_FATFS_CODEPAGE_857 is not set -# default: -# CONFIG_FATFS_CODEPAGE_860 is not set -# default: -# CONFIG_FATFS_CODEPAGE_861 is not set -# default: -# CONFIG_FATFS_CODEPAGE_862 is not set -# default: -# CONFIG_FATFS_CODEPAGE_863 is not set -# default: -# CONFIG_FATFS_CODEPAGE_864 is not set -# default: -# CONFIG_FATFS_CODEPAGE_865 is not set -# default: -# CONFIG_FATFS_CODEPAGE_866 is not set -# default: -# CONFIG_FATFS_CODEPAGE_869 is not set -# default: -# CONFIG_FATFS_CODEPAGE_932 is not set -# default: -# CONFIG_FATFS_CODEPAGE_936 is not set -# default: -# CONFIG_FATFS_CODEPAGE_949 is not set -# default: -# CONFIG_FATFS_CODEPAGE_950 is not set -# default: -CONFIG_FATFS_CODEPAGE=437 -# default: -CONFIG_FATFS_FS_LOCK=0 -# default: -CONFIG_FATFS_TIMEOUT_MS=10000 -# default: -CONFIG_FATFS_PER_FILE_CACHE=y -# default: -# CONFIG_FATFS_USE_FASTSEEK is not set -# default: -CONFIG_FATFS_USE_STRFUNC_NONE=y -# default: -# CONFIG_FATFS_USE_STRFUNC_WITHOUT_CRLF_CONV is not set -# default: -# CONFIG_FATFS_USE_STRFUNC_WITH_CRLF_CONV is not set -# default: -CONFIG_FATFS_VFS_FSTAT_BLKSIZE=0 -# default: -# CONFIG_FATFS_IMMEDIATE_FSYNC is not set -# default: -# CONFIG_FATFS_USE_LABEL is not set -# default: -CONFIG_FATFS_LINK_LOCK=y -# default: -# CONFIG_FATFS_USE_DYN_BUFFERS is not set - -# -# File system free space calculation behavior -# -# default: -CONFIG_FATFS_DONT_TRUST_FREE_CLUSTER_CNT=0 -# default: -CONFIG_FATFS_DONT_TRUST_LAST_ALLOC=0 -# end of File system free space calculation behavior -# end of FAT Filesystem support - -# -# FreeRTOS -# - -# -# Kernel -# -# default: -# CONFIG_FREERTOS_SMP is not set -# default: -# CONFIG_FREERTOS_UNICORE is not set -CONFIG_FREERTOS_HZ=1000 -# default: -# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_NONE is not set -# default: -# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_PTRVAL is not set -# default: -CONFIG_FREERTOS_CHECK_STACKOVERFLOW_CANARY=y -# default: -CONFIG_FREERTOS_THREAD_LOCAL_STORAGE_POINTERS=1 -# default: -CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1536 -# default: -# CONFIG_FREERTOS_USE_IDLE_HOOK is not set -# default: -# CONFIG_FREERTOS_USE_TICK_HOOK is not set -# default: -CONFIG_FREERTOS_MAX_TASK_NAME_LEN=16 -# default: -# CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY is not set -# default: -CONFIG_FREERTOS_USE_TIMERS=y -# default: -CONFIG_FREERTOS_TIMER_SERVICE_TASK_NAME="Tmr Svc" -# default: -# CONFIG_FREERTOS_TIMER_TASK_AFFINITY_CPU0 is not set -# default: -# CONFIG_FREERTOS_TIMER_TASK_AFFINITY_CPU1 is not set -# default: -CONFIG_FREERTOS_TIMER_TASK_NO_AFFINITY=y -# default: -CONFIG_FREERTOS_TIMER_SERVICE_TASK_CORE_AFFINITY=0x7FFFFFFF -# default: -CONFIG_FREERTOS_TIMER_TASK_PRIORITY=1 -# default: -CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=2048 -# default: -CONFIG_FREERTOS_TIMER_QUEUE_LENGTH=10 -# default: -CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE=0 -# default: -CONFIG_FREERTOS_TASK_NOTIFICATION_ARRAY_ENTRIES=1 -# default: -# CONFIG_FREERTOS_USE_TRACE_FACILITY is not set -# default: -# CONFIG_FREERTOS_USE_LIST_DATA_INTEGRITY_CHECK_BYTES is not set -# default: -# CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS is not set -# default: -# CONFIG_FREERTOS_USE_APPLICATION_TASK_TAG is not set -# end of Kernel - -# -# Port -# -# default: -CONFIG_FREERTOS_TASK_FUNCTION_WRAPPER=y -# default: -# CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK is not set -# default: -CONFIG_FREERTOS_TLSP_DELETION_CALLBACKS=y -# default: -# CONFIG_FREERTOS_TASK_PRE_DELETION_HOOK is not set -# default: -# CONFIG_FREERTOS_ENABLE_STATIC_TASK_CLEAN_UP is not set -# default: -CONFIG_FREERTOS_CHECK_MUTEX_GIVEN_BY_OWNER=y -# default: -CONFIG_FREERTOS_ISR_STACKSIZE=1536 -# default: -CONFIG_FREERTOS_INTERRUPT_BACKTRACE=y -# default: -# CONFIG_FREERTOS_FPU_IN_ISR is not set -# default: -CONFIG_FREERTOS_TICK_SUPPORT_CORETIMER=y -# default: -CONFIG_FREERTOS_CORETIMER_0=y -# default: -# CONFIG_FREERTOS_CORETIMER_1 is not set -# default: -CONFIG_FREERTOS_SYSTICK_USES_CCOUNT=y -# default: -# CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH is not set -# default: -# CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE is not set -# end of Port - -# -# Extra -# -# end of Extra - -# default: -CONFIG_FREERTOS_PORT=y -# default: -CONFIG_FREERTOS_NO_AFFINITY=0x7FFFFFFF -# default: -CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION=y -# default: -CONFIG_FREERTOS_DEBUG_OCDAWARE=y -# default: -CONFIG_FREERTOS_ENABLE_TASK_SNAPSHOT=y -# default: -CONFIG_FREERTOS_PLACE_SNAPSHOT_FUNS_INTO_FLASH=y -# default: -CONFIG_FREERTOS_NUMBER_OF_CORES=2 -# default: -CONFIG_FREERTOS_IN_IRAM=y -# end of FreeRTOS - -# -# Hardware Abstraction Layer (HAL) and Low Level (LL) -# -# default: -CONFIG_HAL_ASSERTION_EQUALS_SYSTEM=y -# default: -# CONFIG_HAL_ASSERTION_DISABLE is not set -# default: -# CONFIG_HAL_ASSERTION_SILENT is not set -# default: -# CONFIG_HAL_ASSERTION_ENABLE is not set -# default: -CONFIG_HAL_DEFAULT_ASSERTION_LEVEL=2 -# end of Hardware Abstraction Layer (HAL) and Low Level (LL) - -# -# Heap memory debugging -# -# default: -CONFIG_HEAP_POISONING_DISABLED=y -# default: -# CONFIG_HEAP_POISONING_LIGHT is not set -# default: -# CONFIG_HEAP_POISONING_COMPREHENSIVE is not set -# default: -CONFIG_HEAP_TRACING_OFF=y -# default: -# CONFIG_HEAP_TRACING_STANDALONE is not set -# default: -# CONFIG_HEAP_TRACING_TOHOST is not set -# default: -# CONFIG_HEAP_USE_HOOKS is not set -# default: -# CONFIG_HEAP_TASK_TRACKING is not set -# default: -# CONFIG_HEAP_ABORT_WHEN_ALLOCATION_FAILS is not set -# default: -# CONFIG_HEAP_PLACE_FUNCTION_INTO_FLASH is not set -# end of Heap memory debugging - -# -# Log -# -# default: -CONFIG_LOG_VERSION_1=y -# default: -# CONFIG_LOG_VERSION_2 is not set -# default: -CONFIG_LOG_VERSION=1 - -# -# Log Level -# -# default: -# CONFIG_LOG_DEFAULT_LEVEL_NONE is not set -# default: -# CONFIG_LOG_DEFAULT_LEVEL_ERROR is not set -# default: -# CONFIG_LOG_DEFAULT_LEVEL_WARN is not set -# default: -CONFIG_LOG_DEFAULT_LEVEL_INFO=y -# default: -# CONFIG_LOG_DEFAULT_LEVEL_DEBUG is not set -# default: -# CONFIG_LOG_DEFAULT_LEVEL_VERBOSE is not set -# default: -CONFIG_LOG_DEFAULT_LEVEL=3 -# default: -CONFIG_LOG_MAXIMUM_EQUALS_DEFAULT=y -# default: -# CONFIG_LOG_MAXIMUM_LEVEL_DEBUG is not set -# default: -# CONFIG_LOG_MAXIMUM_LEVEL_VERBOSE is not set -# default: -CONFIG_LOG_MAXIMUM_LEVEL=3 - -# -# Level Settings -# -# default: -# CONFIG_LOG_MASTER_LEVEL is not set -# default: -CONFIG_LOG_DYNAMIC_LEVEL_CONTROL=y -# default: -# CONFIG_LOG_TAG_LEVEL_IMPL_NONE is not set -# default: -# CONFIG_LOG_TAG_LEVEL_IMPL_LINKED_LIST is not set -# default: -CONFIG_LOG_TAG_LEVEL_IMPL_CACHE_AND_LINKED_LIST=y -# default: -# CONFIG_LOG_TAG_LEVEL_CACHE_ARRAY is not set -# default: -CONFIG_LOG_TAG_LEVEL_CACHE_BINARY_MIN_HEAP=y -# default: -CONFIG_LOG_TAG_LEVEL_IMPL_CACHE_SIZE=31 -# end of Level Settings -# end of Log Level - -# -# Format -# -# default: -# CONFIG_LOG_COLORS is not set -# default: -CONFIG_LOG_TIMESTAMP_SOURCE_RTOS=y -# default: -# CONFIG_LOG_TIMESTAMP_SOURCE_SYSTEM is not set -# end of Format - -# -# Settings -# -# default: -CONFIG_LOG_MODE_TEXT_EN=y -# default: -CONFIG_LOG_MODE_TEXT=y -# end of Settings - -# default: -CONFIG_LOG_IN_IRAM=y -# end of Log - -# -# LWIP -# -# default: -CONFIG_LWIP_ENABLE=y -# default: -CONFIG_LWIP_LOCAL_HOSTNAME="espressif" -# default: -CONFIG_LWIP_TCPIP_TASK_PRIO=18 -# default: -# CONFIG_LWIP_TCPIP_CORE_LOCKING is not set -# default: -# CONFIG_LWIP_CHECK_THREAD_SAFETY is not set -# default: -CONFIG_LWIP_DNS_SUPPORT_MDNS_QUERIES=y -# default: -# CONFIG_LWIP_L2_TO_L3_COPY is not set -# default: -# CONFIG_LWIP_IRAM_OPTIMIZATION is not set -# default: -# CONFIG_LWIP_EXTRA_IRAM_OPTIMIZATION is not set -# default: -CONFIG_LWIP_TIMERS_ONDEMAND=y -# default: -CONFIG_LWIP_ND6=y -# default: -# CONFIG_LWIP_FORCE_ROUTER_FORWARDING is not set -# default: -CONFIG_LWIP_MAX_SOCKETS=10 -# default: -# CONFIG_LWIP_USE_ONLY_LWIP_SELECT is not set -# default: -# CONFIG_LWIP_SO_LINGER is not set -# default: -CONFIG_LWIP_SO_REUSE=y -# default: -CONFIG_LWIP_SO_REUSE_RXTOALL=y -CONFIG_LWIP_SO_RCVBUF=y -# default: -# CONFIG_LWIP_NETBUF_RECVINFO is not set -# default: -CONFIG_LWIP_IP_DEFAULT_TTL=64 -# default: -CONFIG_LWIP_IP4_FRAG=y -# default: -CONFIG_LWIP_IP6_FRAG=y -# default: -# CONFIG_LWIP_IP4_REASSEMBLY is not set -# default: -# CONFIG_LWIP_IP6_REASSEMBLY is not set -# default: -CONFIG_LWIP_IP_REASS_MAX_PBUFS=10 -# default: -# CONFIG_LWIP_IP_FORWARD is not set -# default: -# CONFIG_LWIP_STATS is not set -# default: -CONFIG_LWIP_ESP_GRATUITOUS_ARP=y -# default: -CONFIG_LWIP_GARP_TMR_INTERVAL=60 -# default: -CONFIG_LWIP_ESP_MLDV6_REPORT=y -# default: -CONFIG_LWIP_MLDV6_TMR_INTERVAL=40 -# default: -CONFIG_LWIP_TCPIP_RECVMBOX_SIZE=32 -# default: -CONFIG_LWIP_DHCP_DOES_ARP_CHECK=y -# default: -# CONFIG_LWIP_DHCP_DOES_ACD_CHECK is not set -# default: -# CONFIG_LWIP_DHCP_DOES_NOT_CHECK_OFFERED_IP is not set -# default: -# CONFIG_LWIP_DHCP_DISABLE_CLIENT_ID is not set -# default: -CONFIG_LWIP_DHCP_DISABLE_VENDOR_CLASS_ID=y -# default: -# CONFIG_LWIP_DHCP_RESTORE_LAST_IP is not set -# default: -CONFIG_LWIP_DHCP_OPTIONS_LEN=69 -# default: -CONFIG_LWIP_NUM_NETIF_CLIENT_DATA=0 -# default: -CONFIG_LWIP_DHCP_COARSE_TIMER_SECS=1 - -# -# DHCP server -# -# default: -CONFIG_LWIP_DHCPS=y -# default: -CONFIG_LWIP_DHCPS_LEASE_UNIT=60 -# default: -CONFIG_LWIP_DHCPS_MAX_STATION_NUM=8 -# default: -CONFIG_LWIP_DHCPS_STATIC_ENTRIES=y -# default: -CONFIG_LWIP_DHCPS_ADD_DNS=y -# end of DHCP server - -# default: -# CONFIG_LWIP_AUTOIP is not set -# default: -CONFIG_LWIP_IPV4=y -# default: -CONFIG_LWIP_IPV6=y -# default: -# CONFIG_LWIP_IPV6_AUTOCONFIG is not set -# default: -CONFIG_LWIP_IPV6_NUM_ADDRESSES=3 -# default: -# CONFIG_LWIP_IPV6_FORWARD is not set -# default: -# CONFIG_LWIP_NETIF_STATUS_CALLBACK is not set -# default: -CONFIG_LWIP_NETIF_LOOPBACK=y -# default: -CONFIG_LWIP_LOOPBACK_MAX_PBUFS=8 - -# -# TCP -# -# default: -CONFIG_LWIP_MAX_ACTIVE_TCP=16 -# default: -CONFIG_LWIP_MAX_LISTENING_TCP=16 -# default: -CONFIG_LWIP_TCP_HIGH_SPEED_RETRANSMISSION=y -# default: -CONFIG_LWIP_TCP_MAXRTX=12 -# default: -CONFIG_LWIP_TCP_SYNMAXRTX=12 -# default: -CONFIG_LWIP_TCP_MSS=1440 -# default: -CONFIG_LWIP_TCP_TMR_INTERVAL=250 -# default: -CONFIG_LWIP_TCP_MSL=60000 -# default: -CONFIG_LWIP_TCP_FIN_WAIT_TIMEOUT=20000 -# default: -CONFIG_LWIP_TCP_SND_BUF_DEFAULT=5760 -# default: -CONFIG_LWIP_TCP_WND_DEFAULT=5760 -# default: -CONFIG_LWIP_TCP_RECVMBOX_SIZE=6 -# default: -CONFIG_LWIP_TCP_ACCEPTMBOX_SIZE=6 -# default: -CONFIG_LWIP_TCP_QUEUE_OOSEQ=y -# default: -CONFIG_LWIP_TCP_OOSEQ_TIMEOUT=6 -# default: -CONFIG_LWIP_TCP_OOSEQ_MAX_PBUFS=4 -# default: -# CONFIG_LWIP_TCP_SACK_OUT is not set -# default: -CONFIG_LWIP_TCP_OVERSIZE_MSS=y -# default: -# CONFIG_LWIP_TCP_OVERSIZE_QUARTER_MSS is not set -# default: -# CONFIG_LWIP_TCP_OVERSIZE_DISABLE is not set -# default: -CONFIG_LWIP_TCP_RTO_TIME=1500 -# end of TCP - -# -# UDP -# -# default: -CONFIG_LWIP_MAX_UDP_PCBS=16 -# default: -CONFIG_LWIP_UDP_RECVMBOX_SIZE=6 -# end of UDP - -# -# Checksums -# -# default: -# CONFIG_LWIP_CHECKSUM_CHECK_IP is not set -# default: -# CONFIG_LWIP_CHECKSUM_CHECK_UDP is not set -# default: -CONFIG_LWIP_CHECKSUM_CHECK_ICMP=y -# end of Checksums - -# default: -CONFIG_LWIP_TCPIP_TASK_STACK_SIZE=3072 -# default: -CONFIG_LWIP_TCPIP_TASK_AFFINITY_NO_AFFINITY=y -# default: -# CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU0 is not set -# default: -# CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU1 is not set -# default: -CONFIG_LWIP_TCPIP_TASK_AFFINITY=0x7FFFFFFF -# default: -CONFIG_LWIP_IPV6_MEMP_NUM_ND6_QUEUE=3 -# default: -CONFIG_LWIP_IPV6_ND6_NUM_NEIGHBORS=5 -# default: -CONFIG_LWIP_IPV6_ND6_NUM_PREFIXES=5 -# default: -CONFIG_LWIP_IPV6_ND6_NUM_ROUTERS=3 -# default: -CONFIG_LWIP_IPV6_ND6_NUM_DESTINATIONS=10 -# default: -# CONFIG_LWIP_IPV6_ND6_ROUTE_INFO_OPTION_SUPPORT is not set -# default: -CONFIG_LWIP_PPP_SUPPORT=y -# default: -CONFIG_LWIP_PPP_ENABLE_IPV4=y -# default: -CONFIG_LWIP_PPP_ENABLE_IPV6=y -# default: -# CONFIG_LWIP_PPP_NOTIFY_PHASE_SUPPORT is not set -# default: -# CONFIG_LWIP_PPP_PAP_SUPPORT is not set -# default: -# CONFIG_LWIP_PPP_CHAP_SUPPORT is not set -# default: -# CONFIG_LWIP_PPP_MSCHAP_SUPPORT is not set -# default: -# CONFIG_LWIP_PPP_MPPE_SUPPORT is not set -# default: -# CONFIG_LWIP_PPP_SERVER_SUPPORT is not set -# default: -CONFIG_LWIP_PPP_VJ_HEADER_COMPRESSION=y -# default: -# CONFIG_LWIP_ENABLE_LCP_ECHO is not set -# default: -# CONFIG_LWIP_PPP_DEBUG_ON is not set -# default: -# CONFIG_LWIP_USE_EXTERNAL_MBEDTLS is not set -# default: -# CONFIG_LWIP_SLIP_SUPPORT is not set - -# -# ICMP -# -# default: -CONFIG_LWIP_ICMP=y -# default: -# CONFIG_LWIP_MULTICAST_PING is not set -# default: -# CONFIG_LWIP_BROADCAST_PING is not set -# end of ICMP - -# -# LWIP RAW API -# -# default: -CONFIG_LWIP_MAX_RAW_PCBS=16 -# end of LWIP RAW API - -# -# SNTP -# -# default: -CONFIG_LWIP_SNTP_MAX_SERVERS=1 -# default: -# CONFIG_LWIP_DHCP_GET_NTP_SRV is not set -# default: -CONFIG_LWIP_SNTP_UPDATE_DELAY=3600000 -# default: -CONFIG_LWIP_SNTP_STARTUP_DELAY=y -# default: -CONFIG_LWIP_SNTP_MAXIMUM_STARTUP_DELAY=5000 -# end of SNTP - -# -# DNS -# -# default: -CONFIG_LWIP_DNS_MAX_HOST_IP=1 -# default: -CONFIG_LWIP_DNS_MAX_SERVERS=3 -# default: -# CONFIG_LWIP_FALLBACK_DNS_SERVER_SUPPORT is not set -# default: -# CONFIG_LWIP_DNS_SETSERVER_WITH_NETIF is not set -# default: -# CONFIG_LWIP_USE_ESP_GETADDRINFO is not set -# end of DNS - -# default: -CONFIG_LWIP_BRIDGEIF_MAX_PORTS=7 -# default: -CONFIG_LWIP_ESP_LWIP_ASSERT=y - -# -# Hooks -# -# default: -# CONFIG_LWIP_HOOK_TCP_ISN_NONE is not set -# default: -CONFIG_LWIP_HOOK_TCP_ISN_DEFAULT=y -# default: -# CONFIG_LWIP_HOOK_TCP_ISN_CUSTOM is not set -# default: -CONFIG_LWIP_HOOK_IP6_ROUTE_NONE=y -# default: -# CONFIG_LWIP_HOOK_IP6_ROUTE_DEFAULT is not set -# default: -# CONFIG_LWIP_HOOK_IP6_ROUTE_CUSTOM is not set -# default: -CONFIG_LWIP_HOOK_ND6_GET_GW_NONE=y -# default: -# CONFIG_LWIP_HOOK_ND6_GET_GW_DEFAULT is not set -# default: -# CONFIG_LWIP_HOOK_ND6_GET_GW_CUSTOM is not set -# default: -CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_NONE=y -# default: -# CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_DEFAULT is not set -# default: -# CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_CUSTOM is not set -# default: -CONFIG_LWIP_HOOK_DHCP_EXTRA_OPTION_NONE=y -# default: -# CONFIG_LWIP_HOOK_DHCP_EXTRA_OPTION_DEFAULT is not set -# default: -# CONFIG_LWIP_HOOK_DHCP_EXTRA_OPTION_CUSTOM is not set -# default: -CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_NONE=y -# default: -# CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_DEFAULT is not set -# default: -# CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_CUSTOM is not set -# default: -CONFIG_LWIP_HOOK_DNS_EXT_RESOLVE_NONE=y -# default: -# CONFIG_LWIP_HOOK_DNS_EXT_RESOLVE_CUSTOM is not set -# default: -# CONFIG_LWIP_HOOK_IP6_INPUT_NONE is not set -# default: -CONFIG_LWIP_HOOK_IP6_INPUT_DEFAULT=y -# default: -# CONFIG_LWIP_HOOK_IP6_INPUT_CUSTOM is not set -# end of Hooks - -# default: -# CONFIG_LWIP_DEBUG is not set -# end of LWIP - -# -# mbedTLS -# -# default: -CONFIG_MBEDTLS_INTERNAL_MEM_ALLOC=y -# default: -# CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC is not set -# default: -# CONFIG_MBEDTLS_CUSTOM_MEM_ALLOC is not set -# default: -CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN=y -# default: -CONFIG_MBEDTLS_SSL_IN_CONTENT_LEN=16384 -# default: -CONFIG_MBEDTLS_SSL_OUT_CONTENT_LEN=4096 -# default: -# CONFIG_MBEDTLS_DYNAMIC_BUFFER is not set -# default: -# CONFIG_MBEDTLS_DEBUG is not set - -# -# mbedTLS v3.x related -# -# default: -# CONFIG_MBEDTLS_SSL_PROTO_TLS1_3 is not set -# default: -# CONFIG_MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH is not set -# default: -# CONFIG_MBEDTLS_X509_TRUSTED_CERT_CALLBACK is not set -# default: -# CONFIG_MBEDTLS_SSL_CONTEXT_SERIALIZATION is not set -# default: -CONFIG_MBEDTLS_SSL_KEEP_PEER_CERTIFICATE=y -# default: -# CONFIG_MBEDTLS_SSL_KEYING_MATERIAL_EXPORT is not set -# default: -CONFIG_MBEDTLS_PKCS7_C=y -# end of mbedTLS v3.x related - -# -# Certificate Bundle -# -# default: -CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=y -# default: -CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_FULL=y -# default: -# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_CMN is not set -# default: -# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_NONE is not set -# default: -# CONFIG_MBEDTLS_CUSTOM_CERTIFICATE_BUNDLE is not set -# default: -# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEPRECATED_LIST is not set -# default: -CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_MAX_CERTS=200 -# end of Certificate Bundle - -# default: -# CONFIG_MBEDTLS_ECP_RESTARTABLE is not set -# default: -CONFIG_MBEDTLS_CMAC_C=y -# default: -CONFIG_MBEDTLS_HARDWARE_AES=y -# default: -CONFIG_MBEDTLS_GCM_SUPPORT_NON_AES_CIPHER=y -# default: -CONFIG_MBEDTLS_HARDWARE_MPI=y -# default: -# CONFIG_MBEDTLS_LARGE_KEY_SOFTWARE_MPI is not set -# default: -CONFIG_MBEDTLS_HARDWARE_SHA=y -# default: -CONFIG_MBEDTLS_ROM_MD5=y -# default: -# CONFIG_MBEDTLS_ATCA_HW_ECDSA_SIGN is not set -# default: -# CONFIG_MBEDTLS_ATCA_HW_ECDSA_VERIFY is not set -# default: -CONFIG_MBEDTLS_HAVE_TIME=y -# default: -# CONFIG_MBEDTLS_PLATFORM_TIME_ALT is not set -# default: -# CONFIG_MBEDTLS_HAVE_TIME_DATE is not set -# default: -CONFIG_MBEDTLS_ECDSA_DETERMINISTIC=y -# default: -CONFIG_MBEDTLS_SHA1_C=y -# default: -CONFIG_MBEDTLS_SHA512_C=y -# default: -# CONFIG_MBEDTLS_SHA3_C is not set -# default: -CONFIG_MBEDTLS_TLS_SERVER_AND_CLIENT=y -# default: -# CONFIG_MBEDTLS_TLS_SERVER_ONLY is not set -# default: -# CONFIG_MBEDTLS_TLS_CLIENT_ONLY is not set -# default: -# CONFIG_MBEDTLS_TLS_DISABLED is not set -# default: -CONFIG_MBEDTLS_TLS_SERVER=y -# default: -CONFIG_MBEDTLS_TLS_CLIENT=y -# default: -CONFIG_MBEDTLS_TLS_ENABLED=y - -# -# TLS Key Exchange Methods -# -CONFIG_MBEDTLS_PSK_MODES=y -CONFIG_MBEDTLS_KEY_EXCHANGE_PSK=y -# default: -CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_PSK=y -# default: -CONFIG_MBEDTLS_KEY_EXCHANGE_RSA_PSK=y -# default: -CONFIG_MBEDTLS_KEY_EXCHANGE_RSA=y -# default: -CONFIG_MBEDTLS_KEY_EXCHANGE_ELLIPTIC_CURVE=y -# default: -CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_RSA=y -# default: -CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA=y -# default: -CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA=y -# default: -CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_RSA=y -# end of TLS Key Exchange Methods - -# default: -CONFIG_MBEDTLS_SSL_RENEGOTIATION=y -# default: -CONFIG_MBEDTLS_SSL_PROTO_TLS1_2=y -# default: -# CONFIG_MBEDTLS_SSL_PROTO_GMTSSL1_1 is not set -# default: -# CONFIG_MBEDTLS_SSL_PROTO_DTLS is not set -# default: -CONFIG_MBEDTLS_SSL_ALPN=y -# default: -CONFIG_MBEDTLS_CLIENT_SSL_SESSION_TICKETS=y -# default: -CONFIG_MBEDTLS_SERVER_SSL_SESSION_TICKETS=y - -# -# Symmetric Ciphers -# -# default: -CONFIG_MBEDTLS_AES_C=y -# default: -# CONFIG_MBEDTLS_CAMELLIA_C is not set -# default: -# CONFIG_MBEDTLS_DES_C is not set -# default: -# CONFIG_MBEDTLS_BLOWFISH_C is not set -# default: -# CONFIG_MBEDTLS_XTEA_C is not set -# default: -CONFIG_MBEDTLS_CCM_C=y -# default: -CONFIG_MBEDTLS_GCM_C=y -# default: -# CONFIG_MBEDTLS_NIST_KW_C is not set -# end of Symmetric Ciphers - -# default: -# CONFIG_MBEDTLS_RIPEMD160_C is not set - -# -# Certificates -# -# default: -CONFIG_MBEDTLS_PEM_PARSE_C=y -# default: -CONFIG_MBEDTLS_PEM_WRITE_C=y -# default: -CONFIG_MBEDTLS_X509_CRL_PARSE_C=y -# default: -CONFIG_MBEDTLS_X509_CSR_PARSE_C=y -# end of Certificates - -# default: -CONFIG_MBEDTLS_ECP_C=y -# default: -CONFIG_MBEDTLS_PK_PARSE_EC_EXTENDED=y -# default: -CONFIG_MBEDTLS_PK_PARSE_EC_COMPRESSED=y -# default: -# CONFIG_MBEDTLS_DHM_C is not set -# default: -CONFIG_MBEDTLS_ECDH_C=y -# default: -CONFIG_MBEDTLS_ECDSA_C=y -# default: -# CONFIG_MBEDTLS_ECJPAKE_C is not set -# default: -CONFIG_MBEDTLS_ECP_DP_SECP192R1_ENABLED=y -# default: -CONFIG_MBEDTLS_ECP_DP_SECP224R1_ENABLED=y -# default: -CONFIG_MBEDTLS_ECP_DP_SECP256R1_ENABLED=y -# default: -CONFIG_MBEDTLS_ECP_DP_SECP384R1_ENABLED=y -# default: -CONFIG_MBEDTLS_ECP_DP_SECP521R1_ENABLED=y -# default: -CONFIG_MBEDTLS_ECP_DP_SECP192K1_ENABLED=y -# default: -CONFIG_MBEDTLS_ECP_DP_SECP224K1_ENABLED=y -# default: -CONFIG_MBEDTLS_ECP_DP_SECP256K1_ENABLED=y -# default: -CONFIG_MBEDTLS_ECP_DP_BP256R1_ENABLED=y -# default: -CONFIG_MBEDTLS_ECP_DP_BP384R1_ENABLED=y -# default: -CONFIG_MBEDTLS_ECP_DP_BP512R1_ENABLED=y -# default: -CONFIG_MBEDTLS_ECP_DP_CURVE25519_ENABLED=y -# default: -CONFIG_MBEDTLS_ECP_NIST_OPTIM=y -# default: -# CONFIG_MBEDTLS_ECP_FIXED_POINT_OPTIM is not set -# default: -# CONFIG_MBEDTLS_POLY1305_C is not set -# default: -# CONFIG_MBEDTLS_CHACHA20_C is not set -# default: -# CONFIG_MBEDTLS_HKDF_C is not set -# default: -# CONFIG_MBEDTLS_THREADING_C is not set -# default: -CONFIG_MBEDTLS_ERROR_STRINGS=y -# default: -CONFIG_MBEDTLS_FS_IO=y -# default: -# CONFIG_MBEDTLS_ALLOW_WEAK_CERTIFICATE_VERIFICATION is not set -# end of mbedTLS - -# -# ESP-MQTT Configurations -# -# default: -CONFIG_MQTT_PROTOCOL_311=y -# default: -# CONFIG_MQTT_PROTOCOL_5 is not set -# default: -CONFIG_MQTT_TRANSPORT_SSL=y -# default: -CONFIG_MQTT_TRANSPORT_WEBSOCKET=y -# default: -CONFIG_MQTT_TRANSPORT_WEBSOCKET_SECURE=y -# default: -# CONFIG_MQTT_MSG_ID_INCREMENTAL is not set -# default: -# CONFIG_MQTT_SKIP_PUBLISH_IF_DISCONNECTED is not set -# default: -# CONFIG_MQTT_REPORT_DELETED_MESSAGES is not set -# default: -# CONFIG_MQTT_USE_CUSTOM_CONFIG is not set -# default: -# CONFIG_MQTT_TASK_CORE_SELECTION_ENABLED is not set -# default: -# CONFIG_MQTT_CUSTOM_OUTBOX is not set -# end of ESP-MQTT Configurations - -# -# LibC -# -# default: -CONFIG_LIBC_NEWLIB=y -# default: -# CONFIG_LIBC_PICOLIBC is not set -# default: -CONFIG_LIBC_MISC_IN_IRAM=y -# default: -CONFIG_LIBC_LOCKS_PLACE_IN_IRAM=y -# default: -CONFIG_LIBC_STDOUT_LINE_ENDING_CRLF=y -# default: -# CONFIG_LIBC_STDOUT_LINE_ENDING_LF is not set -# default: -# CONFIG_LIBC_STDOUT_LINE_ENDING_CR is not set -# default: -# CONFIG_LIBC_STDIN_LINE_ENDING_CRLF is not set -# default: -# CONFIG_LIBC_STDIN_LINE_ENDING_LF is not set -# default: -CONFIG_LIBC_STDIN_LINE_ENDING_CR=y -# default: -# CONFIG_LIBC_NEWLIB_NANO_FORMAT is not set -# default: -CONFIG_LIBC_TIME_SYSCALL_USE_RTC_HRT=y -# default: -# CONFIG_LIBC_TIME_SYSCALL_USE_RTC is not set -# default: -# CONFIG_LIBC_TIME_SYSCALL_USE_HRT is not set -# default: -# CONFIG_LIBC_TIME_SYSCALL_USE_NONE is not set -# default: -CONFIG_LIBC_ASSERT_BUFFER_SIZE=200 -# end of LibC - -# -# NVS -# -# default: -# CONFIG_NVS_ASSERT_ERROR_CHECK is not set -# default: -# CONFIG_NVS_LEGACY_DUP_KEYS_COMPATIBILITY is not set -# end of NVS - -# -# OpenThread -# -# default: -# CONFIG_OPENTHREAD_ENABLED is not set - -# -# OpenThread Spinel -# -# default: -# CONFIG_OPENTHREAD_SPINEL_ONLY is not set -# end of OpenThread Spinel - -# default: -# CONFIG_OPENTHREAD_DEBUG is not set -# end of OpenThread - -# -# Protocomm -# -# default: -CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_0=y -# default: -CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_1=y -# default: -CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_2=y -# default: -CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_PATCH_VERSION=y -# end of Protocomm - -# -# PThreads -# -# default: -CONFIG_PTHREAD_TASK_PRIO_DEFAULT=5 -# default: -CONFIG_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 -# default: -CONFIG_PTHREAD_STACK_MIN=768 -# default: -CONFIG_PTHREAD_DEFAULT_CORE_NO_AFFINITY=y -# default: -# CONFIG_PTHREAD_DEFAULT_CORE_0 is not set -# default: -# CONFIG_PTHREAD_DEFAULT_CORE_1 is not set -# default: -CONFIG_PTHREAD_TASK_CORE_DEFAULT=-1 -# default: -CONFIG_PTHREAD_TASK_NAME_DEFAULT="pthread" -# end of PThreads - -# -# MMU Config -# -# default: -CONFIG_MMU_PAGE_SIZE_64KB=y -# default: -CONFIG_MMU_PAGE_MODE="64KB" -# default: -CONFIG_MMU_PAGE_SIZE=0x10000 -# end of MMU Config - -# -# Main Flash configuration -# - -# -# SPI Flash behavior when brownout -# -# default: -CONFIG_SPI_FLASH_BROWNOUT_RESET_XMC=y -# default: -CONFIG_SPI_FLASH_BROWNOUT_RESET=y -# end of SPI Flash behavior when brownout - -# -# Optional and Experimental Features (READ DOCS FIRST) -# - -# -# Features here require specific hardware (READ DOCS FIRST!) -# -# default: -CONFIG_SPI_FLASH_SUSPEND_TSUS_VAL_US=50 -# default: -# CONFIG_SPI_FLASH_FORCE_ENABLE_XMC_C_SUSPEND is not set -# default: -# CONFIG_SPI_FLASH_FORCE_ENABLE_C6_H2_SUSPEND is not set -# default: -CONFIG_SPI_FLASH_PLACE_FUNCTIONS_IN_IRAM=y -# end of Optional and Experimental Features (READ DOCS FIRST) -# end of Main Flash configuration - -# -# SPI Flash driver -# -# default: -# CONFIG_SPI_FLASH_VERIFY_WRITE is not set -# default: -# CONFIG_SPI_FLASH_ENABLE_COUNTERS is not set -# default: -CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=y -# default: -CONFIG_SPI_FLASH_DANGEROUS_WRITE_ABORTS=y -# default: -# CONFIG_SPI_FLASH_DANGEROUS_WRITE_FAILS is not set -# default: -# CONFIG_SPI_FLASH_DANGEROUS_WRITE_ALLOWED is not set -# default: -# CONFIG_SPI_FLASH_SHARE_SPI1_BUS is not set -# default: -# CONFIG_SPI_FLASH_BYPASS_BLOCK_ERASE is not set -# default: -CONFIG_SPI_FLASH_YIELD_DURING_ERASE=y -# default: -CONFIG_SPI_FLASH_ERASE_YIELD_DURATION_MS=20 -# default: -CONFIG_SPI_FLASH_ERASE_YIELD_TICKS=1 -# default: -CONFIG_SPI_FLASH_WRITE_CHUNK_SIZE=8192 -# default: -# CONFIG_SPI_FLASH_SIZE_OVERRIDE is not set -# default: -# CONFIG_SPI_FLASH_CHECK_ERASE_TIMEOUT_DISABLED is not set -# default: -# CONFIG_SPI_FLASH_OVERRIDE_CHIP_DRIVER_LIST is not set - -# -# Auto-detect flash chips -# -# default: -CONFIG_SPI_FLASH_VENDOR_XMC_SUPPORT_ENABLED=y -# default: -CONFIG_SPI_FLASH_VENDOR_GD_SUPPORT_ENABLED=y -# default: -CONFIG_SPI_FLASH_VENDOR_ISSI_SUPPORT_ENABLED=y -# default: -CONFIG_SPI_FLASH_VENDOR_MXIC_SUPPORT_ENABLED=y -# default: -CONFIG_SPI_FLASH_VENDOR_WINBOND_SUPPORT_ENABLED=y -# default: -CONFIG_SPI_FLASH_SUPPORT_ISSI_CHIP=y -# default: -CONFIG_SPI_FLASH_SUPPORT_MXIC_CHIP=y -# default: -CONFIG_SPI_FLASH_SUPPORT_GD_CHIP=y -# default: -CONFIG_SPI_FLASH_SUPPORT_WINBOND_CHIP=y -# default: -# CONFIG_SPI_FLASH_SUPPORT_BOYA_CHIP is not set -# default: -# CONFIG_SPI_FLASH_SUPPORT_TH_CHIP is not set -# end of Auto-detect flash chips - -# default: -CONFIG_SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE=y -# end of SPI Flash driver - -# -# SPIFFS Configuration -# -# default: -CONFIG_SPIFFS_MAX_PARTITIONS=3 - -# -# SPIFFS Cache Configuration -# -# default: -CONFIG_SPIFFS_CACHE=y -# default: -CONFIG_SPIFFS_CACHE_WR=y -# default: -# CONFIG_SPIFFS_CACHE_STATS is not set -# end of SPIFFS Cache Configuration - -# default: -CONFIG_SPIFFS_PAGE_CHECK=y -# default: -CONFIG_SPIFFS_GC_MAX_RUNS=10 -# default: -# CONFIG_SPIFFS_GC_STATS is not set -# default: -CONFIG_SPIFFS_PAGE_SIZE=256 -# default: -CONFIG_SPIFFS_OBJ_NAME_LEN=32 -# default: -# CONFIG_SPIFFS_FOLLOW_SYMLINKS is not set -# default: -CONFIG_SPIFFS_USE_MAGIC=y -# default: -CONFIG_SPIFFS_USE_MAGIC_LENGTH=y -# default: -CONFIG_SPIFFS_META_LENGTH=4 -# default: -CONFIG_SPIFFS_USE_MTIME=y - -# -# Debug Configuration -# -# default: -# CONFIG_SPIFFS_DBG is not set -# default: -# CONFIG_SPIFFS_API_DBG is not set -# default: -# CONFIG_SPIFFS_GC_DBG is not set -# default: -# CONFIG_SPIFFS_CACHE_DBG is not set -# default: -# CONFIG_SPIFFS_CHECK_DBG is not set -# default: -# CONFIG_SPIFFS_TEST_VISUALISATION is not set -# end of Debug Configuration -# end of SPIFFS Configuration - -# -# TCP Transport -# - -# -# Websocket -# -# default: -CONFIG_WS_TRANSPORT=y -# default: -CONFIG_WS_BUFFER_SIZE=1024 -# default: -# CONFIG_WS_DYNAMIC_BUFFER is not set -# end of Websocket -# end of TCP Transport - -# -# Ultra Low Power (ULP) Co-processor -# -# default: -# CONFIG_ULP_COPROC_ENABLED is not set - -# -# ULP Debugging Options -# -# end of ULP Debugging Options -# end of Ultra Low Power (ULP) Co-processor - -# -# Unity unit testing library -# -# default: -CONFIG_UNITY_ENABLE_FLOAT=y -# default: -CONFIG_UNITY_ENABLE_DOUBLE=y -# default: -# CONFIG_UNITY_ENABLE_64BIT is not set -# default: -# CONFIG_UNITY_ENABLE_COLOR is not set -# default: -CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER=y -# default: -# CONFIG_UNITY_ENABLE_FIXTURE is not set -# default: -# CONFIG_UNITY_ENABLE_BACKTRACE_ON_FAIL is not set -# default: -# CONFIG_UNITY_TEST_ORDER_BY_FILE_PATH_AND_LINE is not set -# end of Unity unit testing library - -# -# Virtual file system -# -# default: -CONFIG_VFS_SUPPORT_IO=y -# default: -CONFIG_VFS_SUPPORT_DIR=y -# default: -CONFIG_VFS_SUPPORT_SELECT=y -# default: -CONFIG_VFS_SUPPRESS_SELECT_DEBUG_OUTPUT=y -# default: -# CONFIG_VFS_SELECT_IN_RAM is not set -# default: -CONFIG_VFS_SUPPORT_TERMIOS=y -# default: -CONFIG_VFS_MAX_COUNT=8 - -# -# Host File System I/O (Semihosting) -# -# default: -CONFIG_VFS_SEMIHOSTFS_MAX_MOUNT_POINTS=1 -# end of Host File System I/O (Semihosting) - -# default: -CONFIG_VFS_INITIALIZE_DEV_NULL=y -# end of Virtual file system - -# -# Wear Levelling -# -# default: -# CONFIG_WL_SECTOR_SIZE_512 is not set -# default: -CONFIG_WL_SECTOR_SIZE_4096=y -# default: -CONFIG_WL_SECTOR_SIZE=4096 -# end of Wear Levelling - -# -# Wi-Fi Provisioning Manager -# -# default: -CONFIG_WIFI_PROV_SCAN_MAX_ENTRIES=16 -# default: -CONFIG_WIFI_PROV_AUTOSTOP_TIMEOUT=30 -# default: -CONFIG_WIFI_PROV_STA_ALL_CHANNEL_SCAN=y -# default: -# CONFIG_WIFI_PROV_STA_FAST_SCAN is not set -# end of Wi-Fi Provisioning Manager - -# -# DSP Library -# -# default: -CONFIG_DSP_OPTIMIZATIONS_SUPPORTED=y -# default: -# CONFIG_DSP_ANSI is not set -# default: -CONFIG_DSP_OPTIMIZED=y -# default: -CONFIG_DSP_OPTIMIZATION=1 -# default: -# CONFIG_DSP_MAX_FFT_SIZE_512 is not set -# default: -# CONFIG_DSP_MAX_FFT_SIZE_1024 is not set -# default: -# CONFIG_DSP_MAX_FFT_SIZE_2048 is not set -# default: -CONFIG_DSP_MAX_FFT_SIZE_4096=y -# default: -# CONFIG_DSP_MAX_FFT_SIZE_8192 is not set -# default: -# CONFIG_DSP_MAX_FFT_SIZE_16384 is not set -# default: -# CONFIG_DSP_MAX_FFT_SIZE_32768 is not set -# default: -CONFIG_DSP_MAX_FFT_SIZE=4096 -# end of DSP Library - -# -# Modbus configuration -# -# default: -CONFIG_FMB_COMM_MODE_TCP_EN=y -# default: -CONFIG_FMB_TCP_PORT_DEFAULT=502 -# default: -CONFIG_FMB_TCP_PORT_MAX_CONN=5 -# default: -CONFIG_FMB_TCP_CONNECTION_TOUT_SEC=20 -# default: -# CONFIG_FMB_TCP_UID_ENABLED is not set -# default: -CONFIG_FMB_COMM_MODE_RTU_EN=y -# default: -CONFIG_FMB_COMM_MODE_ASCII_EN=y -# default: -CONFIG_FMB_MASTER_TIMEOUT_MS_RESPOND=3000 -# default: -CONFIG_FMB_MASTER_DELAY_MS_CONVERT=200 -# default: -CONFIG_FMB_QUEUE_LENGTH=20 -# default: -CONFIG_FMB_PORT_TASK_STACK_SIZE=4096 -# default: -CONFIG_FMB_SERIAL_BUF_SIZE=256 -# default: -CONFIG_FMB_SERIAL_ASCII_BITS_PER_SYMB=8 -# default: -CONFIG_FMB_ASCII_TIMEOUT_WAIT_BEFORE_SEND_MS=0 -# default: -CONFIG_FMB_SERIAL_ASCII_TIMEOUT_RESPOND_MS=1000 -# default: -CONFIG_FMB_PORT_TASK_PRIO=10 -# default: -# CONFIG_FMB_PORT_TASK_AFFINITY_NO_AFFINITY is not set -# default: -CONFIG_FMB_PORT_TASK_AFFINITY_CPU0=y -# default: -# CONFIG_FMB_PORT_TASK_AFFINITY_CPU1 is not set -# default: -CONFIG_FMB_PORT_TASK_AFFINITY=0x0 -# default: -CONFIG_FMB_CONTROLLER_SLAVE_ID_SUPPORT=y -# default: -CONFIG_FMB_CONTROLLER_SLAVE_ID=0x00112233 -# default: -CONFIG_FMB_CONTROLLER_SLAVE_ID_MAX_SIZE=32 -# default: -CONFIG_FMB_CONTROLLER_NOTIFY_TIMEOUT=20 -# default: -CONFIG_FMB_CONTROLLER_NOTIFY_QUEUE_SIZE=20 -# default: -CONFIG_FMB_CONTROLLER_STACK_SIZE=4096 -# default: -CONFIG_FMB_EVENT_QUEUE_TIMEOUT=20 -# default: -# CONFIG_FMB_TIMER_PORT_ENABLED is not set -# default: -# CONFIG_FMB_TIMER_USE_ISR_DISPATCH_METHOD is not set -# default: -# CONFIG_FMB_EXT_TYPE_SUPPORT is not set -# end of Modbus configuration - -# -# ESP serial flasher -# -# default: -CONFIG_SERIAL_FLASHER_MD5_ENABLED=y -# default: -CONFIG_SERIAL_FLASHER_RESET_HOLD_TIME_MS=100 -# default: -CONFIG_SERIAL_FLASHER_BOOT_HOLD_TIME_MS=50 -# end of ESP serial flasher - -# -# Zigbee -# -# default: -# CONFIG_ZB_ENABLED is not set -# end of Zigbee - -# -# Diagnostics data store -# -# default: -CONFIG_DIAG_DATA_STORE_RTC=y -# default: -# CONFIG_DIAG_DATA_STORE_FLASH is not set -# default: -# CONFIG_DIAG_DATA_STORE_DBG_PRINTS is not set -# default: -CONFIG_DIAG_DATA_STORE_REPORTING_WATERMARK_PERCENT=80 - -# -# RTC Store -# -# default: -CONFIG_RTC_STORE_DATA_SIZE=3072 -# default: -CONFIG_RTC_STORE_CRITICAL_DATA_SIZE=2048 -# end of RTC Store -# end of Diagnostics data store - -# -# Diagnostics -# -# default: -CONFIG_DIAG_LOG_MSG_ARG_FORMAT_TLV=y -# default: -# CONFIG_DIAG_LOG_MSG_ARG_FORMAT_STRING is not set -# default: -CONFIG_DIAG_LOG_MSG_ARG_MAX_SIZE=64 -# default: -CONFIG_DIAG_LOG_DROP_WIFI_LOGS=y -# default: -CONFIG_DIAG_ENABLE_METRICS=y -# default: -CONFIG_DIAG_METRICS_MAX_COUNT=20 -# default: -CONFIG_DIAG_ENABLE_HEAP_METRICS=y -# default: -CONFIG_DIAG_ENABLE_WIFI_METRICS=y -# default: -CONFIG_DIAG_ENABLE_VARIABLES=y -# default: -CONFIG_DIAG_VARIABLES_MAX_COUNT=20 -# default: -CONFIG_DIAG_ENABLE_NETWORK_VARIABLES=y -# default: -# CONFIG_DIAG_MORE_NETWORK_VARS is not set -# default: -# CONFIG_DIAG_USE_EXTERNAL_LOG_WRAP is not set -# end of Diagnostics - -# -# ESP Insights -# -# default: -# CONFIG_ESP_INSIGHTS_ENABLED is not set -# default: -# CONFIG_ESP_INSIGHTS_TRANSPORT_MQTT is not set -# default: -CONFIG_ESP_INSIGHTS_TRANSPORT_HTTPS=y -# default: -CONFIG_ESP_INSIGHTS_TRANSPORT_HTTPS_HOST="https://client.insights.espressif.com" -# default: -CONFIG_ESP_INSIGHTS_CLOUD_POST_MIN_INTERVAL_SEC=60 -# default: -CONFIG_ESP_INSIGHTS_CLOUD_POST_MAX_INTERVAL_SEC=240 -# default: -CONFIG_ESP_INSIGHTS_META_VERSION_10=y -# end of ESP Insights - -# -# esp-modem -# -# default: -CONFIG_ESP_MODEM_CMUX_DEFRAGMENT_PAYLOAD=y -# default: -# CONFIG_ESP_MODEM_USE_INFLATABLE_BUFFER_IF_NEEDED is not set -# default: -CONFIG_ESP_MODEM_CMUX_DELAY_AFTER_DLCI_SETUP=0 -# default: -# CONFIG_ESP_MODEM_CMUX_USE_SHORT_PAYLOADS_ONLY is not set -# default: -# CONFIG_ESP_MODEM_ADD_CUSTOM_MODULE is not set -# default: -CONFIG_ESP_MODEM_C_API_STR_MAX=128 -# default: -# CONFIG_ESP_MODEM_URC_HANDLER is not set -# default: -# CONFIG_ESP_MODEM_PPP_ESCAPE_BEFORE_EXIT is not set -# default: -# CONFIG_ESP_MODEM_ADD_DEBUG_LOGS is not set -# default: -# CONFIG_ESP_MODEM_ENABLE_DEVELOPMENT_MODE is not set -# default: -CONFIG_ESP_MODEM_USE_PPP_MODE=y -# end of esp-modem - -# -# OpenThread RCP Update -# -# default: -# CONFIG_AUTO_UPDATE_RCP is not set -# default: -# CONFIG_CREATE_OTA_IMAGE_WITH_RCP_FW is not set -# end of OpenThread RCP Update - -# -# ESP Secure Cert Manager -# -# default: -# CONFIG_ESP_SECURE_CERT_SUPPORT_LEGACY_FORMATS is not set -# default: -# CONFIG_ESP_SECURE_CERT_WRITE_ENABLE_LOGGING is not set -# end of ESP Secure Cert Manager - -# -# jsmn -# -# default: -# CONFIG_JSMN_PARENT_LINKS is not set -# default: -# CONFIG_JSMN_STRICT is not set -# default: -# CONFIG_JSMN_STATIC is not set -# end of jsmn - -# -# libsodium -# -# default: -CONFIG_LIBSODIUM_USE_MBEDTLS_SHA=y -# end of libsodium - -# -# mDNS -# -# default: -CONFIG_MDNS_MAX_INTERFACES=3 -# default: -CONFIG_MDNS_MAX_SERVICES=10 -# default: -CONFIG_MDNS_TASK_PRIORITY=1 -# default: -CONFIG_MDNS_ACTION_QUEUE_LEN=16 -# default: -CONFIG_MDNS_TASK_STACK_SIZE=4096 -# default: -# CONFIG_MDNS_TASK_AFFINITY_NO_AFFINITY is not set -# default: -CONFIG_MDNS_TASK_AFFINITY_CPU0=y -# default: -# CONFIG_MDNS_TASK_AFFINITY_CPU1 is not set -# default: -CONFIG_MDNS_TASK_AFFINITY=0x0 - -# -# MDNS Memory Configuration -# -# default: -CONFIG_MDNS_TASK_CREATE_FROM_INTERNAL=y -# default: -CONFIG_MDNS_MEMORY_ALLOC_INTERNAL=y -# default: -# CONFIG_MDNS_MEMORY_CUSTOM_IMPL is not set -# end of MDNS Memory Configuration - -# default: -CONFIG_MDNS_SERVICE_ADD_TIMEOUT_MS=2000 -# default: -CONFIG_MDNS_TIMER_PERIOD_MS=100 -# default: -# CONFIG_MDNS_NETWORKING_SOCKET is not set -# default: -# CONFIG_MDNS_SKIP_SUPPRESSING_OWN_QUERIES is not set -# default: -# CONFIG_MDNS_ENABLE_DEBUG_PRINTS is not set -# default: -CONFIG_MDNS_ENABLE_CONSOLE_CLI=y -# default: -# CONFIG_MDNS_RESPOND_REVERSE_QUERIES is not set -# default: -CONFIG_MDNS_MULTIPLE_INSTANCE=y - -# -# MDNS Predefined interfaces -# -# default: -CONFIG_MDNS_PREDEF_NETIF_STA=y -# default: -CONFIG_MDNS_PREDEF_NETIF_AP=y -# default: -CONFIG_MDNS_PREDEF_NETIF_ETH=y -# end of MDNS Predefined interfaces -# end of mDNS - -# -# Network Provisioning Manager -# -# default: -CONFIG_NETWORK_PROV_NETWORK_TYPE_WIFI=y -# default: -CONFIG_NETWORK_PROV_SCAN_MAX_ENTRIES=16 -# default: -CONFIG_NETWORK_PROV_AUTOSTOP_TIMEOUT=30 -# default: -# CONFIG_NETWORK_PROV_BLE_FORCE_ENCRYPTION is not set -# default: -CONFIG_NETWORK_PROV_WIFI_STA_ALL_CHANNEL_SCAN=y -# default: -# CONFIG_NETWORK_PROV_WIFI_STA_FAST_SCAN is not set -# end of Network Provisioning Manager - -# -# ESP RainMaker Common -# -# default: -CONFIG_ESP_RMAKER_LIB_ESP_MQTT=y -# default: -# CONFIG_ESP_RMAKER_LIB_AWS_IOT is not set -# default: -CONFIG_ESP_RMAKER_MQTT_GLUE_LIB=1 -# default: -CONFIG_ESP_RMAKER_MQTT_PORT_443=y -# default: -# CONFIG_ESP_RMAKER_MQTT_PORT_8883 is not set -# default: -CONFIG_ESP_RMAKER_MQTT_PORT=1 -# default: -# CONFIG_ESP_RMAKER_MQTT_PERSISTENT_SESSION is not set -# default: -CONFIG_ESP_RMAKER_MQTT_SEND_USERNAME=y -# default: -CONFIG_ESP_RMAKER_MQTT_PRODUCT_NAME="RMDev" -# default: -CONFIG_ESP_RMAKER_MQTT_PRODUCT_VERSION="1x0" -# default: -CONFIG_ESP_RMAKER_MQTT_PRODUCT_SKU="EX00" -# default: -CONFIG_ESP_RMAKER_MQTT_USE_CERT_BUNDLE=y -# default: -CONFIG_ESP_RMAKER_MAX_MQTT_SUBSCRIPTIONS=10 -# default: -CONFIG_ESP_RMAKER_MQTT_KEEP_ALIVE_INTERVAL=120 -# default: -CONFIG_ESP_RMAKER_NETWORK_OVER_WIFI=y -# default: -CONFIG_ESP_RMAKER_WORK_QUEUE_TASK_STACK=4096 -# default: -CONFIG_ESP_RMAKER_WORK_QUEUE_TASK_PRIORITY=5 -# default: -CONFIG_ESP_RMAKER_FACTORY_PARTITION_NAME="fctry" -# default: -CONFIG_ESP_RMAKER_FACTORY_NAMESPACE="rmaker_creds" -# default: -CONFIG_ESP_RMAKER_DEF_TIMEZONE="Asia/Shanghai" -# default: -CONFIG_ESP_RMAKER_SNTP_SERVER_NAME="pool.ntp.org" -# default: -CONFIG_ESP_RMAKER_MAX_COMMANDS=10 -# end of ESP RainMaker Common - -# -# LittleFS -# -# default: -# CONFIG_LITTLEFS_SDMMC_SUPPORT is not set -# default: -CONFIG_LITTLEFS_MAX_PARTITIONS=3 -# default: -CONFIG_LITTLEFS_PAGE_SIZE=256 -# default: -CONFIG_LITTLEFS_OBJ_NAME_LEN=64 -# default: -CONFIG_LITTLEFS_READ_SIZE=128 -# default: -CONFIG_LITTLEFS_WRITE_SIZE=128 -# default: -CONFIG_LITTLEFS_LOOKAHEAD_SIZE=128 -# default: -CONFIG_LITTLEFS_CACHE_SIZE=512 -# default: -CONFIG_LITTLEFS_BLOCK_CYCLES=512 -# default: -CONFIG_LITTLEFS_USE_MTIME=y -# default: -# CONFIG_LITTLEFS_USE_ONLY_HASH is not set -# default: -# CONFIG_LITTLEFS_HUMAN_READABLE is not set -# default: -CONFIG_LITTLEFS_MTIME_USE_SECONDS=y -# default: -# CONFIG_LITTLEFS_MTIME_USE_NONCE is not set -# default: -# CONFIG_LITTLEFS_SPIFFS_COMPAT is not set -# default: -# CONFIG_LITTLEFS_FLUSH_FILE_EVERY_WRITE is not set -# default: -# CONFIG_LITTLEFS_FCNTL_GET_PATH is not set -# default: -# CONFIG_LITTLEFS_MULTIVERSION is not set -# default: -# CONFIG_LITTLEFS_MALLOC_STRATEGY_DISABLE is not set -# default: -CONFIG_LITTLEFS_MALLOC_STRATEGY_DEFAULT=y -# default: -# CONFIG_LITTLEFS_MALLOC_STRATEGY_INTERNAL is not set -# default: -CONFIG_LITTLEFS_ASSERTS=y -# default: -# CONFIG_LITTLEFS_MMAP_PARTITION is not set -# default: -# CONFIG_LITTLEFS_WDT_RESET is not set -# end of LittleFS -# end of Component config - -# default: -# CONFIG_IDF_EXPERIMENTAL_FEATURES is not set - -# Deprecated options for backward compatibility -# CONFIG_APP_BUILD_TYPE_ELF_RAM is not set -# CONFIG_NO_BLOBS is not set -# CONFIG_ESP32_NO_BLOBS is not set -# CONFIG_ESP32_COMPATIBLE_PRE_V2_1_BOOTLOADERS is not set -# CONFIG_ESP32_COMPATIBLE_PRE_V3_1_BOOTLOADERS is not set -# CONFIG_APP_ROLLBACK_ENABLE is not set -# CONFIG_LOG_BOOTLOADER_LEVEL_NONE is not set -# CONFIG_LOG_BOOTLOADER_LEVEL_ERROR is not set -# CONFIG_LOG_BOOTLOADER_LEVEL_WARN is not set -CONFIG_LOG_BOOTLOADER_LEVEL_INFO=y -# CONFIG_LOG_BOOTLOADER_LEVEL_DEBUG is not set -# CONFIG_LOG_BOOTLOADER_LEVEL_VERBOSE is not set -CONFIG_LOG_BOOTLOADER_LEVEL=3 -# CONFIG_FLASH_ENCRYPTION_ENABLED is not set -# CONFIG_FLASHMODE_QIO is not set -# CONFIG_FLASHMODE_QOUT is not set -CONFIG_FLASHMODE_DIO=y -# CONFIG_FLASHMODE_DOUT is not set -CONFIG_MONITOR_BAUD=115200 -# CONFIG_ESP_RMAKER_LOCAL_CTRL_ENABLE is not set -CONFIG_OPTIMIZATION_LEVEL_DEBUG=y -CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG=y -CONFIG_COMPILER_OPTIMIZATION_DEFAULT=y -# CONFIG_OPTIMIZATION_LEVEL_RELEASE is not set -# CONFIG_COMPILER_OPTIMIZATION_LEVEL_RELEASE is not set -CONFIG_OPTIMIZATION_ASSERTIONS_ENABLED=y -# CONFIG_OPTIMIZATION_ASSERTIONS_SILENT is not set -# CONFIG_OPTIMIZATION_ASSERTIONS_DISABLED is not set -CONFIG_OPTIMIZATION_ASSERTION_LEVEL=2 -# CONFIG_CXX_EXCEPTIONS is not set -CONFIG_STACK_CHECK_NONE=y -# CONFIG_STACK_CHECK_NORM is not set -# CONFIG_STACK_CHECK_STRONG is not set -# CONFIG_STACK_CHECK_ALL is not set -# CONFIG_WARN_WRITE_STRINGS is not set -# CONFIG_ESP32_APPTRACE_DEST_TRAX is not set -CONFIG_ESP32_APPTRACE_DEST_NONE=y -CONFIG_ESP32_APPTRACE_LOCK_ENABLE=y -CONFIG_ADC2_DISABLE_DAC=y -# CONFIG_GPTIMER_ISR_IRAM_SAFE is not set -# CONFIG_MCPWM_ISR_IRAM_SAFE is not set -# CONFIG_EVENT_LOOP_PROFILING is not set -CONFIG_POST_EVENTS_FROM_ISR=y -CONFIG_POST_EVENTS_FROM_IRAM_ISR=y -CONFIG_GDBSTUB_SUPPORT_TASKS=y -CONFIG_GDBSTUB_MAX_TASKS=32 -# CONFIG_OTA_ALLOW_HTTP is not set -# CONFIG_TWO_UNIVERSAL_MAC_ADDRESS is not set -CONFIG_FOUR_UNIVERSAL_MAC_ADDRESS=y -CONFIG_NUMBER_OF_UNIVERSAL_MAC_ADDRESS=4 -# CONFIG_ESP_SYSTEM_PD_FLASH is not set -CONFIG_ESP32_DEEP_SLEEP_WAKEUP_DELAY=2000 -CONFIG_ESP_SLEEP_DEEP_SLEEP_WAKEUP_DELAY=2000 -CONFIG_ESP32_RTC_CLK_SRC_INT_RC=y -CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_RC=y -# CONFIG_ESP32_RTC_CLK_SRC_EXT_CRYS is not set -# CONFIG_ESP32_RTC_CLOCK_SOURCE_EXTERNAL_CRYSTAL is not set -# CONFIG_ESP32_RTC_CLK_SRC_EXT_OSC is not set -# CONFIG_ESP32_RTC_CLOCK_SOURCE_EXTERNAL_OSC is not set -# CONFIG_ESP32_RTC_CLK_SRC_INT_8MD256 is not set -# CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_8MD256 is not set -CONFIG_ESP32_RTC_CLK_CAL_CYCLES=1024 -CONFIG_PERIPH_CTRL_FUNC_IN_IRAM=y -# CONFIG_ESP32_XTAL_FREQ_26 is not set -CONFIG_ESP32_XTAL_FREQ_40=y -# CONFIG_ESP32_XTAL_FREQ_AUTO is not set -CONFIG_ESP32_XTAL_FREQ=40 -CONFIG_BROWNOUT_DET=y -CONFIG_ESP32_BROWNOUT_DET=y -CONFIG_BROWNOUT_DET_LVL_SEL_0=y -CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_0=y -# CONFIG_BROWNOUT_DET_LVL_SEL_1 is not set -# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_1 is not set -# CONFIG_BROWNOUT_DET_LVL_SEL_2 is not set -# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_2 is not set -# CONFIG_BROWNOUT_DET_LVL_SEL_3 is not set -# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_3 is not set -# CONFIG_BROWNOUT_DET_LVL_SEL_4 is not set -# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_4 is not set -# CONFIG_BROWNOUT_DET_LVL_SEL_5 is not set -# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_5 is not set -# CONFIG_BROWNOUT_DET_LVL_SEL_6 is not set -# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_6 is not set -# CONFIG_BROWNOUT_DET_LVL_SEL_7 is not set -# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_7 is not set -CONFIG_BROWNOUT_DET_LVL=0 -CONFIG_ESP32_BROWNOUT_DET_LVL=0 -CONFIG_ESP_SYSTEM_BROWNOUT_INTR=y -CONFIG_ESP32_PHY_CALIBRATION_AND_DATA_STORAGE=y -# CONFIG_ESP32_PHY_INIT_DATA_IN_PARTITION is not set -CONFIG_ESP32_PHY_MAX_WIFI_TX_POWER=20 -CONFIG_ESP32_PHY_MAX_TX_POWER=20 -# CONFIG_REDUCE_PHY_TX_POWER is not set -# CONFIG_ESP32_REDUCE_PHY_TX_POWER is not set -# CONFIG_SPIRAM_SUPPORT is not set -# CONFIG_ESP32_SPIRAM_SUPPORT is not set -# CONFIG_ESP32_DEFAULT_CPU_FREQ_80 is not set -CONFIG_ESP32_DEFAULT_CPU_FREQ_160=y -# CONFIG_ESP32_DEFAULT_CPU_FREQ_240 is not set -CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ=160 -CONFIG_TRACEMEM_RESERVE_DRAM=0x0 -# CONFIG_ESP32_PANIC_PRINT_HALT is not set -CONFIG_ESP32_PANIC_PRINT_REBOOT=y -# CONFIG_ESP32_PANIC_SILENT_REBOOT is not set -# CONFIG_ESP32_PANIC_GDBSTUB is not set -CONFIG_SYSTEM_EVENT_QUEUE_SIZE=32 -CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE=2304 -CONFIG_MAIN_TASK_STACK_SIZE=8192 -CONFIG_CONSOLE_UART_DEFAULT=y -# CONFIG_CONSOLE_UART_CUSTOM is not set -# CONFIG_CONSOLE_UART_NONE is not set -# CONFIG_ESP_CONSOLE_UART_NONE is not set -CONFIG_CONSOLE_UART=y -CONFIG_CONSOLE_UART_NUM=0 -CONFIG_CONSOLE_UART_BAUDRATE=115200 -CONFIG_INT_WDT=y -CONFIG_INT_WDT_TIMEOUT_MS=300 -CONFIG_INT_WDT_CHECK_CPU1=y -CONFIG_TASK_WDT=y -CONFIG_ESP_TASK_WDT=y -# CONFIG_TASK_WDT_PANIC is not set -CONFIG_TASK_WDT_TIMEOUT_S=5 -CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU0=y -CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU1=y -# CONFIG_ESP32_DEBUG_STUBS_ENABLE is not set -CONFIG_ESP32_DEBUG_OCDAWARE=y -# CONFIG_DISABLE_BASIC_ROM_CONSOLE is not set -CONFIG_IPC_TASK_STACK_SIZE=1024 -CONFIG_TIMER_TASK_STACK_SIZE=3584 -CONFIG_ESP32_WIFI_ENABLED=y -CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=10 -CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=32 -# CONFIG_ESP32_WIFI_STATIC_TX_BUFFER is not set -CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER=y -CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=1 -CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER_NUM=32 -# CONFIG_ESP32_WIFI_CSI_ENABLED is not set -CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED=y -CONFIG_ESP32_WIFI_TX_BA_WIN=6 -CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y -CONFIG_ESP32_WIFI_RX_BA_WIN=6 -CONFIG_ESP32_WIFI_NVS_ENABLED=y -CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_0=y -# CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_1 is not set -CONFIG_ESP32_WIFI_SOFTAP_BEACON_MAX_LEN=752 -CONFIG_ESP32_WIFI_MGMT_SBUF_NUM=32 -CONFIG_ESP32_WIFI_IRAM_OPT=y -CONFIG_ESP32_WIFI_RX_IRAM_OPT=y -CONFIG_ESP32_WIFI_ENABLE_WPA3_SAE=y -CONFIG_ESP32_WIFI_ENABLE_WPA3_OWE_STA=y -CONFIG_WPA_MBEDTLS_CRYPTO=y -CONFIG_WPA_MBEDTLS_TLS_CLIENT=y -# CONFIG_WPA_WAPI_PSK is not set -# CONFIG_WPA_11KV_SUPPORT is not set -# CONFIG_WPA_MBO_SUPPORT is not set -# CONFIG_WPA_DPP_SUPPORT is not set -# CONFIG_WPA_11R_SUPPORT is not set -# CONFIG_WPA_WPS_SOFTAP_REGISTRAR is not set -# CONFIG_WPA_WPS_STRICT is not set -# CONFIG_WPA_DEBUG_PRINT is not set -# CONFIG_ESP32_ENABLE_COREDUMP_TO_FLASH is not set -# CONFIG_ESP32_ENABLE_COREDUMP_TO_UART is not set -CONFIG_ESP32_ENABLE_COREDUMP_TO_NONE=y -CONFIG_TIMER_TASK_PRIORITY=1 -CONFIG_TIMER_TASK_STACK_DEPTH=2048 -CONFIG_TIMER_QUEUE_LENGTH=10 -# CONFIG_ENABLE_STATIC_TASK_CLEAN_UP_HOOK is not set -# CONFIG_HAL_ASSERTION_SILIENT is not set -# CONFIG_L2_TO_L3_COPY is not set -CONFIG_ESP_GRATUITOUS_ARP=y -CONFIG_GARP_TMR_INTERVAL=60 -CONFIG_TCPIP_RECVMBOX_SIZE=32 -CONFIG_TCP_MAXRTX=12 -CONFIG_TCP_SYNMAXRTX=12 -CONFIG_TCP_MSS=1440 -CONFIG_TCP_MSL=60000 -CONFIG_TCP_SND_BUF_DEFAULT=5760 -CONFIG_TCP_WND_DEFAULT=5760 -CONFIG_TCP_RECVMBOX_SIZE=6 -CONFIG_TCP_QUEUE_OOSEQ=y -CONFIG_TCP_OVERSIZE_MSS=y -# CONFIG_TCP_OVERSIZE_QUARTER_MSS is not set -# CONFIG_TCP_OVERSIZE_DISABLE is not set -CONFIG_UDP_RECVMBOX_SIZE=6 -CONFIG_TCPIP_TASK_STACK_SIZE=3072 -CONFIG_TCPIP_TASK_AFFINITY_NO_AFFINITY=y -# CONFIG_TCPIP_TASK_AFFINITY_CPU0 is not set -# CONFIG_TCPIP_TASK_AFFINITY_CPU1 is not set -CONFIG_TCPIP_TASK_AFFINITY=0x7FFFFFFF -CONFIG_PPP_SUPPORT=y -# CONFIG_PPP_NOTIFY_PHASE_SUPPORT is not set -# CONFIG_PPP_PAP_SUPPORT is not set -# CONFIG_PPP_CHAP_SUPPORT is not set -# CONFIG_PPP_MSCHAP_SUPPORT is not set -# CONFIG_PPP_MPPE_SUPPORT is not set -# CONFIG_PPP_DEBUG_ON is not set -CONFIG_NEWLIB_STDOUT_LINE_ENDING_CRLF=y -# CONFIG_NEWLIB_STDOUT_LINE_ENDING_LF is not set -# CONFIG_NEWLIB_STDOUT_LINE_ENDING_CR is not set -# CONFIG_NEWLIB_STDIN_LINE_ENDING_CRLF is not set -# CONFIG_NEWLIB_STDIN_LINE_ENDING_LF is not set -CONFIG_NEWLIB_STDIN_LINE_ENDING_CR=y -# CONFIG_NEWLIB_NANO_FORMAT is not set -CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC_HRT=y -CONFIG_ESP32_TIME_SYSCALL_USE_RTC_HRT=y -CONFIG_ESP32_TIME_SYSCALL_USE_RTC_FRC1=y -# CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC is not set -# CONFIG_ESP32_TIME_SYSCALL_USE_RTC is not set -# CONFIG_NEWLIB_TIME_SYSCALL_USE_HRT is not set -# CONFIG_ESP32_TIME_SYSCALL_USE_HRT is not set -# CONFIG_ESP32_TIME_SYSCALL_USE_FRC1 is not set -# CONFIG_NEWLIB_TIME_SYSCALL_USE_NONE is not set -# CONFIG_ESP32_TIME_SYSCALL_USE_NONE is not set -CONFIG_ESP32_PTHREAD_TASK_PRIO_DEFAULT=5 -CONFIG_ESP32_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 -CONFIG_ESP32_PTHREAD_STACK_MIN=768 -CONFIG_ESP32_DEFAULT_PTHREAD_CORE_NO_AFFINITY=y -# CONFIG_ESP32_DEFAULT_PTHREAD_CORE_0 is not set -# CONFIG_ESP32_DEFAULT_PTHREAD_CORE_1 is not set -CONFIG_ESP32_PTHREAD_TASK_CORE_DEFAULT=-1 -CONFIG_ESP32_PTHREAD_TASK_NAME_DEFAULT="pthread" -CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ABORTS=y -# CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_FAILS is not set -# CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ALLOWED is not set -# CONFIG_ESP32_ULP_COPROC_ENABLED is not set -CONFIG_SUPPRESS_SELECT_DEBUG_OUTPUT=y -CONFIG_SUPPORT_TERMIOS=y -CONFIG_SEMIHOSTFS_MAX_MOUNT_POINTS=1 -CONFIG_MB_MASTER_TIMEOUT_MS_RESPOND=3000 -CONFIG_MB_MASTER_DELAY_MS_CONVERT=200 -CONFIG_MB_QUEUE_LENGTH=20 -CONFIG_MB_SERIAL_TASK_STACK_SIZE=4096 -CONFIG_MB_SERIAL_BUF_SIZE=256 -CONFIG_MB_SERIAL_TASK_PRIO=10 -CONFIG_MB_CONTROLLER_SLAVE_ID_SUPPORT=y -CONFIG_MB_CONTROLLER_SLAVE_ID=0x00112233 -CONFIG_MB_CONTROLLER_NOTIFY_TIMEOUT=20 -CONFIG_MB_CONTROLLER_NOTIFY_QUEUE_SIZE=20 -CONFIG_MB_CONTROLLER_STACK_SIZE=4096 -CONFIG_MB_EVENT_QUEUE_TIMEOUT=20 -# CONFIG_MB_TIMER_PORT_ENABLED is not set -# End of deprecated options diff --git a/sdkconfig.ci-build b/sdkconfig.ci-build deleted file mode 100644 index 1d53ca14..00000000 --- a/sdkconfig.ci-build +++ /dev/null @@ -1,4780 +0,0 @@ -# -# Automatically generated file. DO NOT EDIT. -# Espressif IoT Development Framework (ESP-IDF) 5.5.4 Project Configuration -# -# default: -CONFIG_SOC_ADC_SUPPORTED=y -# default: -CONFIG_SOC_UART_SUPPORTED=y -# default: -CONFIG_SOC_PCNT_SUPPORTED=y -# default: -CONFIG_SOC_PHY_SUPPORTED=y -# default: -CONFIG_SOC_WIFI_SUPPORTED=y -# default: -CONFIG_SOC_TWAI_SUPPORTED=y -# default: -CONFIG_SOC_GDMA_SUPPORTED=y -# default: -CONFIG_SOC_UHCI_SUPPORTED=y -# default: -CONFIG_SOC_AHB_GDMA_SUPPORTED=y -# default: -CONFIG_SOC_GPTIMER_SUPPORTED=y -# default: -CONFIG_SOC_LCDCAM_SUPPORTED=y -# default: -CONFIG_SOC_LCDCAM_CAM_SUPPORTED=y -# default: -CONFIG_SOC_LCDCAM_I80_LCD_SUPPORTED=y -# default: -CONFIG_SOC_LCDCAM_RGB_LCD_SUPPORTED=y -# default: -CONFIG_SOC_MCPWM_SUPPORTED=y -# default: -CONFIG_SOC_DEDICATED_GPIO_SUPPORTED=y -# default: -CONFIG_SOC_CACHE_SUPPORT_WRAP=y -# default: -CONFIG_SOC_ULP_SUPPORTED=y -# default: -CONFIG_SOC_ULP_FSM_SUPPORTED=y -# default: -CONFIG_SOC_RISCV_COPROC_SUPPORTED=y -# default: -CONFIG_SOC_BT_SUPPORTED=y -# default: -CONFIG_SOC_USB_OTG_SUPPORTED=y -# default: -CONFIG_SOC_USB_SERIAL_JTAG_SUPPORTED=y -# default: -CONFIG_SOC_CCOMP_TIMER_SUPPORTED=y -# default: -CONFIG_SOC_ASYNC_MEMCPY_SUPPORTED=y -# default: -CONFIG_SOC_SUPPORTS_SECURE_DL_MODE=y -# default: -CONFIG_SOC_EFUSE_KEY_PURPOSE_FIELD=y -# default: -CONFIG_SOC_EFUSE_SUPPORTED=y -# default: -CONFIG_SOC_SDMMC_HOST_SUPPORTED=y -# default: -CONFIG_SOC_RTC_FAST_MEM_SUPPORTED=y -# default: -CONFIG_SOC_RTC_SLOW_MEM_SUPPORTED=y -# default: -CONFIG_SOC_RTC_MEM_SUPPORTED=y -# default: -CONFIG_SOC_PSRAM_DMA_CAPABLE=y -# default: -CONFIG_SOC_XT_WDT_SUPPORTED=y -# default: -CONFIG_SOC_I2S_SUPPORTED=y -# default: -CONFIG_SOC_RMT_SUPPORTED=y -# default: -CONFIG_SOC_SDM_SUPPORTED=y -# default: -CONFIG_SOC_GPSPI_SUPPORTED=y -# default: -CONFIG_SOC_LEDC_SUPPORTED=y -# default: -CONFIG_SOC_I2C_SUPPORTED=y -# default: -CONFIG_SOC_SYSTIMER_SUPPORTED=y -# default: -CONFIG_SOC_SUPPORT_COEXISTENCE=y -# default: -CONFIG_SOC_TEMP_SENSOR_SUPPORTED=y -# default: -CONFIG_SOC_AES_SUPPORTED=y -# default: -CONFIG_SOC_MPI_SUPPORTED=y -# default: -CONFIG_SOC_SHA_SUPPORTED=y -# default: -CONFIG_SOC_HMAC_SUPPORTED=y -# default: -CONFIG_SOC_DIG_SIGN_SUPPORTED=y -# default: -CONFIG_SOC_FLASH_ENC_SUPPORTED=y -# default: -CONFIG_SOC_SECURE_BOOT_SUPPORTED=y -# default: -CONFIG_SOC_MEMPROT_SUPPORTED=y -# default: -CONFIG_SOC_TOUCH_SENSOR_SUPPORTED=y -# default: -CONFIG_SOC_BOD_SUPPORTED=y -# default: -CONFIG_SOC_CLK_TREE_SUPPORTED=y -# default: -CONFIG_SOC_MPU_SUPPORTED=y -# default: -CONFIG_SOC_WDT_SUPPORTED=y -# default: -CONFIG_SOC_SPI_FLASH_SUPPORTED=y -# default: -CONFIG_SOC_RNG_SUPPORTED=y -# default: -CONFIG_SOC_LIGHT_SLEEP_SUPPORTED=y -# default: -CONFIG_SOC_DEEP_SLEEP_SUPPORTED=y -# default: -CONFIG_SOC_LP_PERIPH_SHARE_INTERRUPT=y -# default: -CONFIG_SOC_PM_SUPPORTED=y -# default: -CONFIG_SOC_SIMD_INSTRUCTION_SUPPORTED=y -# default: -CONFIG_SOC_XTAL_SUPPORT_40M=y -# default: -CONFIG_SOC_APPCPU_HAS_CLOCK_GATING_BUG=y -# default: -CONFIG_SOC_ADC_RTC_CTRL_SUPPORTED=y -# default: -CONFIG_SOC_ADC_DIG_CTRL_SUPPORTED=y -# default: -CONFIG_SOC_ADC_ARBITER_SUPPORTED=y -# default: -CONFIG_SOC_ADC_DIG_IIR_FILTER_SUPPORTED=y -# default: -CONFIG_SOC_ADC_MONITOR_SUPPORTED=y -# default: -CONFIG_SOC_ADC_DMA_SUPPORTED=y -# default: -CONFIG_SOC_ADC_PERIPH_NUM=2 -# default: -CONFIG_SOC_ADC_MAX_CHANNEL_NUM=10 -# default: -CONFIG_SOC_ADC_ATTEN_NUM=4 -# default: -CONFIG_SOC_ADC_DIGI_CONTROLLER_NUM=2 -# default: -CONFIG_SOC_ADC_PATT_LEN_MAX=24 -# default: -CONFIG_SOC_ADC_DIGI_MIN_BITWIDTH=12 -# default: -CONFIG_SOC_ADC_DIGI_MAX_BITWIDTH=12 -# default: -CONFIG_SOC_ADC_DIGI_RESULT_BYTES=4 -# default: -CONFIG_SOC_ADC_DIGI_DATA_BYTES_PER_CONV=4 -# default: -CONFIG_SOC_ADC_DIGI_IIR_FILTER_NUM=2 -# default: -CONFIG_SOC_ADC_DIGI_MONITOR_NUM=2 -# default: -CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_HIGH=83333 -# default: -CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_LOW=611 -# default: -CONFIG_SOC_ADC_RTC_MIN_BITWIDTH=12 -# default: -CONFIG_SOC_ADC_RTC_MAX_BITWIDTH=12 -# default: -CONFIG_SOC_ADC_CALIBRATION_V1_SUPPORTED=y -# default: -CONFIG_SOC_ADC_SELF_HW_CALI_SUPPORTED=y -# default: -CONFIG_SOC_ADC_SHARED_POWER=y -# default: -CONFIG_SOC_APB_BACKUP_DMA=y -# default: -CONFIG_SOC_BROWNOUT_RESET_SUPPORTED=y -# default: -CONFIG_SOC_CACHE_WRITEBACK_SUPPORTED=y -# default: -CONFIG_SOC_CACHE_FREEZE_SUPPORTED=y -# default: -CONFIG_SOC_CACHE_ACS_INVALID_STATE_ON_PANIC=y -# default: -CONFIG_SOC_CPU_CORES_NUM=2 -# default: -CONFIG_SOC_CPU_INTR_NUM=32 -# default: -CONFIG_SOC_CPU_HAS_FPU=y -# default: -CONFIG_SOC_HP_CPU_HAS_MULTIPLE_CORES=y -# default: -CONFIG_SOC_CPU_BREAKPOINTS_NUM=2 -# default: -CONFIG_SOC_CPU_WATCHPOINTS_NUM=2 -# default: -CONFIG_SOC_CPU_WATCHPOINT_MAX_REGION_SIZE=0x40 -# default: -CONFIG_SOC_SIMD_PREFERRED_DATA_ALIGNMENT=16 -# default: -CONFIG_SOC_DS_SIGNATURE_MAX_BIT_LEN=4096 -# default: -CONFIG_SOC_DS_KEY_PARAM_MD_IV_LENGTH=16 -# default: -CONFIG_SOC_DS_KEY_CHECK_MAX_WAIT_US=1100 -# default: -CONFIG_SOC_AHB_GDMA_VERSION=1 -# default: -CONFIG_SOC_GDMA_NUM_GROUPS_MAX=1 -# default: -CONFIG_SOC_GDMA_PAIRS_PER_GROUP=5 -# default: -CONFIG_SOC_GDMA_PAIRS_PER_GROUP_MAX=5 -# default: -CONFIG_SOC_AHB_GDMA_SUPPORT_PSRAM=y -# default: -CONFIG_SOC_GPIO_PORT=1 -# default: -CONFIG_SOC_GPIO_PIN_COUNT=49 -# default: -CONFIG_SOC_GPIO_SUPPORT_PIN_GLITCH_FILTER=y -# default: -CONFIG_SOC_GPIO_FILTER_CLK_SUPPORT_APB=y -# default: -CONFIG_SOC_GPIO_SUPPORT_RTC_INDEPENDENT=y -# default: -CONFIG_SOC_GPIO_SUPPORT_FORCE_HOLD=y -# default: -CONFIG_SOC_GPIO_VALID_GPIO_MASK=0x1FFFFFFFFFFFF -# default: -CONFIG_SOC_GPIO_IN_RANGE_MAX=48 -# default: -CONFIG_SOC_GPIO_OUT_RANGE_MAX=48 -# default: -CONFIG_SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK=0x0001FFFFFC000000 -# default: -CONFIG_SOC_GPIO_CLOCKOUT_BY_IO_MUX=y -# default: -CONFIG_SOC_GPIO_CLOCKOUT_CHANNEL_NUM=3 -# default: -CONFIG_SOC_DEDIC_GPIO_OUT_CHANNELS_NUM=8 -# default: -CONFIG_SOC_DEDIC_GPIO_IN_CHANNELS_NUM=8 -# default: -CONFIG_SOC_DEDIC_GPIO_OUT_AUTO_ENABLE=y -# default: -CONFIG_SOC_I2C_NUM=2 -# default: -CONFIG_SOC_HP_I2C_NUM=2 -# default: -CONFIG_SOC_I2C_FIFO_LEN=32 -# default: -CONFIG_SOC_I2C_CMD_REG_NUM=8 -# default: -CONFIG_SOC_I2C_SUPPORT_SLAVE=y -# default: -CONFIG_SOC_I2C_SUPPORT_HW_CLR_BUS=y -# default: -CONFIG_SOC_I2C_SUPPORT_XTAL=y -# default: -CONFIG_SOC_I2C_SUPPORT_RTC=y -# default: -CONFIG_SOC_I2C_SUPPORT_10BIT_ADDR=y -# default: -CONFIG_SOC_I2C_SLAVE_SUPPORT_BROADCAST=y -# default: -CONFIG_SOC_I2C_SLAVE_SUPPORT_I2CRAM_ACCESS=y -# default: -CONFIG_SOC_I2C_SLAVE_CAN_GET_STRETCH_CAUSE=y -# default: -CONFIG_SOC_I2S_NUM=2 -# default: -CONFIG_SOC_I2S_HW_VERSION_2=y -# default: -CONFIG_SOC_I2S_SUPPORTS_XTAL=y -# default: -CONFIG_SOC_I2S_SUPPORTS_PLL_F160M=y -# default: -CONFIG_SOC_I2S_SUPPORTS_PCM=y -# default: -CONFIG_SOC_I2S_SUPPORTS_PDM=y -# default: -CONFIG_SOC_I2S_SUPPORTS_PDM_TX=y -# default: -CONFIG_SOC_I2S_SUPPORTS_PCM2PDM=y -# default: -CONFIG_SOC_I2S_SUPPORTS_PDM_RX=y -# default: -CONFIG_SOC_I2S_SUPPORTS_PDM2PCM=y -# default: -CONFIG_SOC_I2S_PDM_MAX_TX_LINES=2 -# default: -CONFIG_SOC_I2S_PDM_MAX_RX_LINES=4 -# default: -CONFIG_SOC_I2S_SUPPORTS_TDM=y -# default: -CONFIG_SOC_LEDC_SUPPORT_APB_CLOCK=y -# default: -CONFIG_SOC_LEDC_SUPPORT_XTAL_CLOCK=y -# default: -CONFIG_SOC_LEDC_TIMER_NUM=4 -# default: -CONFIG_SOC_LEDC_CHANNEL_NUM=8 -# default: -CONFIG_SOC_LEDC_TIMER_BIT_WIDTH=14 -# default: -CONFIG_SOC_LEDC_SUPPORT_FADE_STOP=y -# default: -CONFIG_SOC_MCPWM_GROUPS=2 -# default: -CONFIG_SOC_MCPWM_TIMERS_PER_GROUP=3 -# default: -CONFIG_SOC_MCPWM_OPERATORS_PER_GROUP=3 -# default: -CONFIG_SOC_MCPWM_COMPARATORS_PER_OPERATOR=2 -# default: -CONFIG_SOC_MCPWM_GENERATORS_PER_OPERATOR=2 -# default: -CONFIG_SOC_MCPWM_TRIGGERS_PER_OPERATOR=2 -# default: -CONFIG_SOC_MCPWM_GPIO_FAULTS_PER_GROUP=3 -# default: -CONFIG_SOC_MCPWM_CAPTURE_TIMERS_PER_GROUP=y -# default: -CONFIG_SOC_MCPWM_CAPTURE_CHANNELS_PER_TIMER=3 -# default: -CONFIG_SOC_MCPWM_GPIO_SYNCHROS_PER_GROUP=3 -# default: -CONFIG_SOC_MCPWM_SWSYNC_CAN_PROPAGATE=y -# default: -CONFIG_SOC_MMU_LINEAR_ADDRESS_REGION_NUM=1 -# default: -CONFIG_SOC_MMU_PERIPH_NUM=1 -# default: -CONFIG_SOC_MPU_MIN_REGION_SIZE=0x20000000 -# default: -CONFIG_SOC_MPU_REGIONS_MAX_NUM=8 -# default: -CONFIG_SOC_PCNT_GROUPS=1 -# default: -CONFIG_SOC_PCNT_UNITS_PER_GROUP=4 -# default: -CONFIG_SOC_PCNT_CHANNELS_PER_UNIT=2 -# default: -CONFIG_SOC_PCNT_THRES_POINT_PER_UNIT=2 -# default: -CONFIG_SOC_RMT_GROUPS=1 -# default: -CONFIG_SOC_RMT_TX_CANDIDATES_PER_GROUP=4 -# default: -CONFIG_SOC_RMT_RX_CANDIDATES_PER_GROUP=4 -# default: -CONFIG_SOC_RMT_CHANNELS_PER_GROUP=8 -# default: -CONFIG_SOC_RMT_MEM_WORDS_PER_CHANNEL=48 -# default: -CONFIG_SOC_RMT_SUPPORT_RX_PINGPONG=y -# default: -CONFIG_SOC_RMT_SUPPORT_RX_DEMODULATION=y -# default: -CONFIG_SOC_RMT_SUPPORT_ASYNC_STOP=y -# default: -CONFIG_SOC_RMT_SUPPORT_TX_LOOP_COUNT=y -# default: -CONFIG_SOC_RMT_SUPPORT_TX_LOOP_AUTO_STOP=y -# default: -CONFIG_SOC_RMT_SUPPORT_TX_SYNCHRO=y -# default: -CONFIG_SOC_RMT_SUPPORT_TX_CARRIER_DATA_ONLY=y -# default: -CONFIG_SOC_RMT_SUPPORT_XTAL=y -# default: -CONFIG_SOC_RMT_SUPPORT_RC_FAST=y -# default: -CONFIG_SOC_RMT_SUPPORT_APB=y -# default: -CONFIG_SOC_RMT_SUPPORT_DMA=y -# default: -CONFIG_SOC_LCD_I80_SUPPORTED=y -# default: -CONFIG_SOC_LCD_RGB_SUPPORTED=y -# default: -CONFIG_SOC_LCD_I80_BUSES=1 -# default: -CONFIG_SOC_LCD_RGB_PANELS=1 -# default: -CONFIG_SOC_LCD_I80_BUS_WIDTH=16 -# default: -CONFIG_SOC_LCD_RGB_DATA_WIDTH=16 -# default: -CONFIG_SOC_LCD_SUPPORT_RGB_YUV_CONV=y -# default: -CONFIG_SOC_LCDCAM_I80_NUM_BUSES=1 -# default: -CONFIG_SOC_LCDCAM_I80_BUS_WIDTH=16 -# default: -CONFIG_SOC_LCDCAM_RGB_NUM_PANELS=1 -# default: -CONFIG_SOC_LCDCAM_RGB_DATA_WIDTH=16 -# default: -CONFIG_SOC_RTC_CNTL_CPU_PD_DMA_BUS_WIDTH=128 -# default: -CONFIG_SOC_RTC_CNTL_CPU_PD_REG_FILE_NUM=549 -# default: -CONFIG_SOC_RTC_CNTL_TAGMEM_PD_DMA_BUS_WIDTH=128 -# default: -CONFIG_SOC_RTC_CNTL_NEEDS_ATOMIC_ACCESS=y -# default: -CONFIG_SOC_RTCIO_PIN_COUNT=22 -# default: -CONFIG_SOC_RTCIO_INPUT_OUTPUT_SUPPORTED=y -# default: -CONFIG_SOC_RTCIO_HOLD_SUPPORTED=y -# default: -CONFIG_SOC_RTCIO_WAKE_SUPPORTED=y -# default: -CONFIG_SOC_LP_IO_CLOCK_IS_INDEPENDENT=y -# default: -CONFIG_SOC_SDM_GROUPS=1 -# default: -CONFIG_SOC_SDM_CHANNELS_PER_GROUP=8 -# default: -CONFIG_SOC_SDM_CLK_SUPPORT_APB=y -# default: -CONFIG_SOC_SPI_PERIPH_NUM=3 -# default: -CONFIG_SOC_SPI_MAX_CS_NUM=6 -# default: -CONFIG_SOC_SPI_MAXIMUM_BUFFER_SIZE=64 -# default: -CONFIG_SOC_SPI_SUPPORT_DDRCLK=y -# default: -CONFIG_SOC_SPI_SLAVE_SUPPORT_SEG_TRANS=y -# default: -CONFIG_SOC_SPI_SUPPORT_CD_SIG=y -# default: -CONFIG_SOC_SPI_SUPPORT_CONTINUOUS_TRANS=y -# default: -CONFIG_SOC_SPI_SUPPORT_SLAVE_HD_VER2=y -# default: -CONFIG_SOC_SPI_SUPPORT_CLK_APB=y -# default: -CONFIG_SOC_SPI_SUPPORT_CLK_XTAL=y -# default: -CONFIG_SOC_SPI_PERIPH_SUPPORT_CONTROL_DUMMY_OUT=y -# default: -CONFIG_SOC_MEMSPI_IS_INDEPENDENT=y -# default: -CONFIG_SOC_SPI_MAX_PRE_DIVIDER=16 -# default: -CONFIG_SOC_SPI_SUPPORT_OCT=y -# default: -CONFIG_SOC_SPI_SCT_SUPPORTED=y -# default: -CONFIG_SOC_SPI_SCT_REG_NUM=14 -# default: -CONFIG_SOC_SPI_SCT_BUFFER_NUM_MAX=y -# default: -CONFIG_SOC_SPI_SCT_CONF_BITLEN_MAX=0x3FFFA -# default: -CONFIG_SOC_SPIRAM_SUPPORTED=y -# default: -CONFIG_SOC_SPIRAM_XIP_SUPPORTED=y -# default: -CONFIG_SOC_SYSTIMER_COUNTER_NUM=2 -# default: -CONFIG_SOC_SYSTIMER_ALARM_NUM=3 -# default: -CONFIG_SOC_SYSTIMER_BIT_WIDTH_LO=32 -# default: -CONFIG_SOC_SYSTIMER_BIT_WIDTH_HI=20 -# default: -CONFIG_SOC_SYSTIMER_FIXED_DIVIDER=y -# default: -CONFIG_SOC_SYSTIMER_INT_LEVEL=y -# default: -CONFIG_SOC_SYSTIMER_ALARM_MISS_COMPENSATE=y -# default: -CONFIG_SOC_TIMER_GROUPS=2 -# default: -CONFIG_SOC_TIMER_GROUP_TIMERS_PER_GROUP=2 -# default: -CONFIG_SOC_TIMER_GROUP_COUNTER_BIT_WIDTH=54 -# default: -CONFIG_SOC_TIMER_GROUP_SUPPORT_XTAL=y -# default: -CONFIG_SOC_TIMER_GROUP_SUPPORT_APB=y -# default: -CONFIG_SOC_TIMER_GROUP_TOTAL_TIMERS=4 -# default: -CONFIG_SOC_LP_TIMER_BIT_WIDTH_LO=32 -# default: -CONFIG_SOC_LP_TIMER_BIT_WIDTH_HI=16 -# default: -CONFIG_SOC_TOUCH_SENSOR_VERSION=2 -# default: -CONFIG_SOC_TOUCH_SENSOR_NUM=15 -# default: -CONFIG_SOC_TOUCH_MIN_CHAN_ID=1 -# default: -CONFIG_SOC_TOUCH_MAX_CHAN_ID=14 -# default: -CONFIG_SOC_TOUCH_SUPPORT_BENCHMARK=y -# default: -CONFIG_SOC_TOUCH_SUPPORT_SLEEP_WAKEUP=y -# default: -CONFIG_SOC_TOUCH_SUPPORT_WATERPROOF=y -# default: -CONFIG_SOC_TOUCH_SUPPORT_PROX_SENSING=y -# default: -CONFIG_SOC_TOUCH_SUPPORT_DENOISE_CHAN=y -# default: -CONFIG_SOC_TOUCH_PROXIMITY_CHANNEL_NUM=3 -# default: -CONFIG_SOC_TOUCH_PROXIMITY_MEAS_DONE_SUPPORTED=y -# default: -CONFIG_SOC_TOUCH_SAMPLE_CFG_NUM=1 -# default: -CONFIG_SOC_TWAI_CONTROLLER_NUM=1 -# default: -CONFIG_SOC_TWAI_MASK_FILTER_NUM=1 -# default: -CONFIG_SOC_TWAI_CLK_SUPPORT_APB=y -# default: -CONFIG_SOC_TWAI_BRP_MIN=2 -# default: -CONFIG_SOC_TWAI_BRP_MAX=16384 -# default: -CONFIG_SOC_TWAI_SUPPORTS_RX_STATUS=y -# default: -CONFIG_SOC_UART_NUM=3 -# default: -CONFIG_SOC_UART_HP_NUM=3 -# default: -CONFIG_SOC_UART_FIFO_LEN=128 -# default: -CONFIG_SOC_UART_BITRATE_MAX=5000000 -# default: -CONFIG_SOC_UART_SUPPORT_FSM_TX_WAIT_SEND=y -# default: -CONFIG_SOC_UART_SUPPORT_WAKEUP_INT=y -# default: -CONFIG_SOC_UART_SUPPORT_APB_CLK=y -# default: -CONFIG_SOC_UART_SUPPORT_RTC_CLK=y -# default: -CONFIG_SOC_UART_SUPPORT_XTAL_CLK=y -# default: -CONFIG_SOC_UART_WAKEUP_SUPPORT_ACTIVE_THRESH_MODE=y -# default: -CONFIG_SOC_UHCI_NUM=1 -# default: -CONFIG_SOC_USB_OTG_PERIPH_NUM=1 -# default: -CONFIG_SOC_SHA_DMA_MAX_BUFFER_SIZE=3968 -# default: -CONFIG_SOC_SHA_SUPPORT_DMA=y -# default: -CONFIG_SOC_SHA_SUPPORT_RESUME=y -# default: -CONFIG_SOC_SHA_GDMA=y -# default: -CONFIG_SOC_SHA_SUPPORT_SHA1=y -# default: -CONFIG_SOC_SHA_SUPPORT_SHA224=y -# default: -CONFIG_SOC_SHA_SUPPORT_SHA256=y -# default: -CONFIG_SOC_SHA_SUPPORT_SHA384=y -# default: -CONFIG_SOC_SHA_SUPPORT_SHA512=y -# default: -CONFIG_SOC_SHA_SUPPORT_SHA512_224=y -# default: -CONFIG_SOC_SHA_SUPPORT_SHA512_256=y -# default: -CONFIG_SOC_SHA_SUPPORT_SHA512_T=y -# default: -CONFIG_SOC_MPI_MEM_BLOCKS_NUM=4 -# default: -CONFIG_SOC_MPI_OPERATIONS_NUM=3 -# default: -CONFIG_SOC_RSA_MAX_BIT_LEN=4096 -# default: -CONFIG_SOC_AES_SUPPORT_DMA=y -# default: -CONFIG_SOC_AES_GDMA=y -# default: -CONFIG_SOC_AES_SUPPORT_AES_128=y -# default: -CONFIG_SOC_AES_SUPPORT_AES_256=y -# default: -CONFIG_SOC_PM_SUPPORT_EXT0_WAKEUP=y -# default: -CONFIG_SOC_PM_SUPPORT_EXT1_WAKEUP=y -# default: -CONFIG_SOC_PM_SUPPORT_EXT_WAKEUP=y -# default: -CONFIG_SOC_PM_SUPPORT_WIFI_WAKEUP=y -# default: -CONFIG_SOC_PM_SUPPORT_BT_WAKEUP=y -# default: -CONFIG_SOC_PM_SUPPORT_TOUCH_SENSOR_WAKEUP=y -# default: -CONFIG_SOC_PM_SUPPORT_CPU_PD=y -# default: -CONFIG_SOC_PM_SUPPORT_TAGMEM_PD=y -# default: -CONFIG_SOC_PM_SUPPORT_RTC_PERIPH_PD=y -# default: -CONFIG_SOC_PM_SUPPORT_RC_FAST_PD=y -# default: -CONFIG_SOC_PM_SUPPORT_VDDSDIO_PD=y -# default: -CONFIG_SOC_PM_SUPPORT_MAC_BB_PD=y -# default: -CONFIG_SOC_PM_SUPPORT_MODEM_PD=y -# default: -CONFIG_SOC_CONFIGURABLE_VDDSDIO_SUPPORTED=y -# default: -CONFIG_SOC_PM_SUPPORT_DEEPSLEEP_CHECK_STUB_ONLY=y -# default: -CONFIG_SOC_PM_CPU_RETENTION_BY_RTCCNTL=y -# default: -CONFIG_SOC_PM_MODEM_RETENTION_BY_BACKUPDMA=y -# default: -CONFIG_SOC_PM_MODEM_PD_BY_SW=y -# default: -CONFIG_SOC_CLK_RC_FAST_D256_SUPPORTED=y -# default: -CONFIG_SOC_RTC_SLOW_CLK_SUPPORT_RC_FAST_D256=y -# default: -CONFIG_SOC_CLK_RC_FAST_SUPPORT_CALIBRATION=y -# default: -CONFIG_SOC_CLK_XTAL32K_SUPPORTED=y -# default: -CONFIG_SOC_CLK_LP_FAST_SUPPORT_XTAL_D2=y -# default: -CONFIG_SOC_EFUSE_DIS_DOWNLOAD_ICACHE=y -# default: -CONFIG_SOC_EFUSE_DIS_DOWNLOAD_DCACHE=y -# default: -CONFIG_SOC_EFUSE_HARD_DIS_JTAG=y -# default: -CONFIG_SOC_EFUSE_DIS_USB_JTAG=y -# default: -CONFIG_SOC_EFUSE_SOFT_DIS_JTAG=y -# default: -CONFIG_SOC_EFUSE_DIS_DIRECT_BOOT=y -# default: -CONFIG_SOC_EFUSE_DIS_ICACHE=y -# default: -CONFIG_SOC_EFUSE_BLOCK9_KEY_PURPOSE_QUIRK=y -# default: -CONFIG_SOC_SECURE_BOOT_V2_RSA=y -# default: -CONFIG_SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS=3 -# default: -CONFIG_SOC_EFUSE_REVOKE_BOOT_KEY_DIGESTS=y -# default: -CONFIG_SOC_SUPPORT_SECURE_BOOT_REVOKE_KEY=y -# default: -CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX=64 -# default: -CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES=y -# default: -CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_OPTIONS=y -# default: -CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_128=y -# default: -CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_256=y -# default: -CONFIG_SOC_MEMPROT_CPU_PREFETCH_PAD_SIZE=16 -# default: -CONFIG_SOC_MEMPROT_MEM_ALIGN_SIZE=256 -# default: -CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE=21 -# default: -CONFIG_SOC_MAC_BB_PD_MEM_SIZE=192 -# default: -CONFIG_SOC_WIFI_LIGHT_SLEEP_CLK_WIDTH=12 -# default: -CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_WAIT_IDLE=y -# default: -CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_SUSPEND=y -# default: -CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_RESUME=y -# default: -CONFIG_SOC_SPI_MEM_SUPPORT_SW_SUSPEND=y -# default: -CONFIG_SOC_SPI_MEM_SUPPORT_FLASH_OPI_MODE=y -# default: -CONFIG_SOC_SPI_MEM_SUPPORT_TIMING_TUNING=y -# default: -CONFIG_SOC_SPI_MEM_SUPPORT_CONFIG_GPIO_BY_EFUSE=y -# default: -CONFIG_SOC_SPI_MEM_SUPPORT_WRAP=y -# default: -CONFIG_SOC_MEMSPI_TIMING_TUNING_BY_MSPI_DELAY=y -# default: -CONFIG_SOC_MEMSPI_CORE_CLK_SHARED_WITH_PSRAM=y -# default: -CONFIG_SOC_SPI_MEM_SUPPORT_CACHE_32BIT_ADDR_MAP=y -# default: -CONFIG_SOC_SPI_MEM_FLASH_SUPPORT_HPM=y -# default: -CONFIG_SOC_COEX_HW_PTI=y -# default: -CONFIG_SOC_EXTERNAL_COEX_LEADER_TX_LINE=y -# default: -CONFIG_SOC_SDMMC_USE_GPIO_MATRIX=y -# default: -CONFIG_SOC_SDMMC_NUM_SLOTS=2 -# default: -CONFIG_SOC_SDMMC_SUPPORT_XTAL_CLOCK=y -# default: -CONFIG_SOC_SDMMC_DELAY_PHASE_NUM=4 -# default: -CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_FAST_RC=y -# default: -CONFIG_SOC_WIFI_HW_TSF=y -# default: -CONFIG_SOC_WIFI_FTM_SUPPORT=y -# default: -CONFIG_SOC_WIFI_GCMP_SUPPORT=y -# default: -CONFIG_SOC_WIFI_WAPI_SUPPORT=y -# default: -CONFIG_SOC_WIFI_TXOP_SUPPORT=y -# default: -CONFIG_SOC_WIFI_CSI_SUPPORT=y -# default: -CONFIG_SOC_WIFI_MESH_SUPPORT=y -# default: -CONFIG_SOC_WIFI_SUPPORT_VARIABLE_BEACON_WINDOW=y -# default: -CONFIG_SOC_WIFI_PHY_NEEDS_USB_WORKAROUND=y -# default: -CONFIG_SOC_BLE_SUPPORTED=y -# default: -CONFIG_SOC_BLE_MESH_SUPPORTED=y -# default: -CONFIG_SOC_BLE_50_SUPPORTED=y -# default: -CONFIG_SOC_BLE_DEVICE_PRIVACY_SUPPORTED=y -# default: -CONFIG_SOC_BLUFI_SUPPORTED=y -# default: -CONFIG_SOC_ULP_HAS_ADC=y -# default: -CONFIG_SOC_PHY_COMBO_MODULE=y -# default: -CONFIG_SOC_LCDCAM_CAM_SUPPORT_RGB_YUV_CONV=y -# default: -CONFIG_SOC_LCDCAM_CAM_PERIPH_NUM=1 -# default: -CONFIG_SOC_LCDCAM_CAM_DATA_WIDTH_MAX=16 -# default: -CONFIG_IDF_CMAKE=y -# default: -CONFIG_IDF_TOOLCHAIN="gcc" -# default: -CONFIG_IDF_TOOLCHAIN_GCC=y -# default: -CONFIG_IDF_TARGET_ARCH_XTENSA=y -# default: -CONFIG_IDF_TARGET_ARCH="xtensa" -# default: -CONFIG_IDF_TARGET="esp32s3" -# default: -CONFIG_IDF_INIT_VERSION="5.5.4" -# default: -CONFIG_IDF_TARGET_ESP32S3=y -# default: -CONFIG_IDF_FIRMWARE_CHIP_ID=0x0009 - -# -# Build type -# -# default: -CONFIG_APP_BUILD_TYPE_APP_2NDBOOT=y -# default: -# CONFIG_APP_BUILD_TYPE_RAM is not set -# default: -CONFIG_APP_BUILD_GENERATE_BINARIES=y -# default: -CONFIG_APP_BUILD_BOOTLOADER=y -# default: -CONFIG_APP_BUILD_USE_FLASH_SECTIONS=y -# default: -# CONFIG_APP_REPRODUCIBLE_BUILD is not set -# default: -# CONFIG_APP_NO_BLOBS is not set -# end of Build type - -# -# Bootloader config -# - -# -# Bootloader manager -# -# default: -CONFIG_BOOTLOADER_COMPILE_TIME_DATE=y -# default: -CONFIG_BOOTLOADER_PROJECT_VER=1 -# end of Bootloader manager - -# -# Application Rollback -# -# default: -# CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE is not set -# end of Application Rollback - -# -# Recovery Bootloader and Rollback -# -# end of Recovery Bootloader and Rollback - -# default: -CONFIG_BOOTLOADER_OFFSET_IN_FLASH=0x0 -# default: -CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y -# default: -# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_DEBUG is not set -# default: -# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_PERF is not set -# default: -# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_NONE is not set - -# -# Log -# -# default: -CONFIG_BOOTLOADER_LOG_VERSION_1=y -# default: -CONFIG_BOOTLOADER_LOG_VERSION=1 -# default: -# CONFIG_BOOTLOADER_LOG_LEVEL_NONE is not set -# default: -# CONFIG_BOOTLOADER_LOG_LEVEL_ERROR is not set -# default: -# CONFIG_BOOTLOADER_LOG_LEVEL_WARN is not set -# default: -CONFIG_BOOTLOADER_LOG_LEVEL_INFO=y -# default: -# CONFIG_BOOTLOADER_LOG_LEVEL_DEBUG is not set -# default: -# CONFIG_BOOTLOADER_LOG_LEVEL_VERBOSE is not set -# default: -CONFIG_BOOTLOADER_LOG_LEVEL=3 - -# -# Format -# -# default: -# CONFIG_BOOTLOADER_LOG_COLORS is not set -# default: -CONFIG_BOOTLOADER_LOG_TIMESTAMP_SOURCE_CPU_TICKS=y -# end of Format - -# -# Settings -# -# default: -CONFIG_BOOTLOADER_LOG_MODE_TEXT_EN=y -# default: -CONFIG_BOOTLOADER_LOG_MODE_TEXT=y -# end of Settings -# end of Log - -# -# Serial Flash Configurations -# -# default: -# CONFIG_BOOTLOADER_FLASH_DC_AWARE is not set -# default: -CONFIG_BOOTLOADER_FLASH_XMC_SUPPORT=y -# end of Serial Flash Configurations - -# default: -CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_9V=y -# default: -# CONFIG_BOOTLOADER_FACTORY_RESET is not set -# default: -# CONFIG_BOOTLOADER_APP_TEST is not set -# default: -CONFIG_BOOTLOADER_REGION_PROTECTION_ENABLE=y -# default: -CONFIG_BOOTLOADER_WDT_ENABLE=y -# default: -# CONFIG_BOOTLOADER_WDT_DISABLE_IN_USER_CODE is not set -# default: -CONFIG_BOOTLOADER_WDT_TIME_MS=9000 -# default: -# CONFIG_BOOTLOADER_SKIP_VALIDATE_IN_DEEP_SLEEP is not set -# default: -# CONFIG_BOOTLOADER_SKIP_VALIDATE_ON_POWER_ON is not set -# default: -# CONFIG_BOOTLOADER_SKIP_VALIDATE_ALWAYS is not set -# default: -CONFIG_BOOTLOADER_RESERVE_RTC_SIZE=0 -# default: -# CONFIG_BOOTLOADER_CUSTOM_RESERVE_RTC is not set -# end of Bootloader config - -# -# Security features -# -# default: -CONFIG_SECURE_BOOT_V2_RSA_SUPPORTED=y -# default: -CONFIG_SECURE_BOOT_V2_PREFERRED=y -# default: -# CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT is not set -# default: -# CONFIG_SECURE_BOOT is not set -# default: -# CONFIG_SECURE_FLASH_ENC_ENABLED is not set -# default: -CONFIG_SECURE_ROM_DL_MODE_ENABLED=y -# end of Security features - -# -# Application manager -# -# default: -CONFIG_APP_COMPILE_TIME_DATE=y -# default: -# CONFIG_APP_EXCLUDE_PROJECT_VER_VAR is not set -# default: -# CONFIG_APP_EXCLUDE_PROJECT_NAME_VAR is not set -# default: -# CONFIG_APP_PROJECT_VER_FROM_CONFIG is not set -# default: -CONFIG_APP_RETRIEVE_LEN_ELF_SHA=9 -# end of Application manager - -# default: -CONFIG_ESP_ROM_HAS_CRC_LE=y -# default: -CONFIG_ESP_ROM_HAS_CRC_BE=y -# default: -CONFIG_ESP_ROM_HAS_MZ_CRC32=y -# default: -CONFIG_ESP_ROM_HAS_JPEG_DECODE=y -# default: -CONFIG_ESP_ROM_UART_CLK_IS_XTAL=y -# default: -CONFIG_ESP_ROM_HAS_RETARGETABLE_LOCKING=y -# default: -CONFIG_ESP_ROM_USB_OTG_NUM=3 -# default: -CONFIG_ESP_ROM_USB_SERIAL_DEVICE_NUM=4 -# default: -CONFIG_ESP_ROM_HAS_ERASE_0_REGION_BUG=y -# default: -CONFIG_ESP_ROM_HAS_ENCRYPTED_WRITES_USING_LEGACY_DRV=y -# default: -CONFIG_ESP_ROM_GET_CLK_FREQ=y -# default: -CONFIG_ESP_ROM_HAS_HAL_WDT=y -# default: -CONFIG_ESP_ROM_NEEDS_SWSETUP_WORKAROUND=y -# default: -CONFIG_ESP_ROM_HAS_LAYOUT_TABLE=y -# default: -CONFIG_ESP_ROM_HAS_SPI_FLASH=y -# default: -CONFIG_ESP_ROM_HAS_SPI_FLASH_MMAP=y -# default: -CONFIG_ESP_ROM_HAS_ETS_PRINTF_BUG=y -# default: -CONFIG_ESP_ROM_HAS_NEWLIB=y -# default: -CONFIG_ESP_ROM_HAS_NEWLIB_NANO_FORMAT=y -# default: -CONFIG_ESP_ROM_HAS_NEWLIB_32BIT_TIME=y -# default: -CONFIG_ESP_ROM_NEEDS_SET_CACHE_MMU_SIZE=y -# default: -CONFIG_ESP_ROM_RAM_APP_NEEDS_MMU_INIT=y -# default: -CONFIG_ESP_ROM_HAS_FLASH_COUNT_PAGES_BUG=y -# default: -CONFIG_ESP_ROM_HAS_CACHE_SUSPEND_WAITI_BUG=y -# default: -CONFIG_ESP_ROM_HAS_CACHE_WRITEBACK_BUG=y -# default: -CONFIG_ESP_ROM_HAS_SW_FLOAT=y -# default: -CONFIG_ESP_ROM_HAS_VERSION=y -# default: -CONFIG_ESP_ROM_SUPPORT_DEEP_SLEEP_WAKEUP_STUB=y -# default: -CONFIG_ESP_ROM_HAS_OUTPUT_PUTC_FUNC=y -# default: -CONFIG_ESP_ROM_CONSOLE_OUTPUT_SECONDARY=y - -# -# Boot ROM Behavior -# -# default: -CONFIG_BOOT_ROM_LOG_ALWAYS_ON=y -# default: -# CONFIG_BOOT_ROM_LOG_ALWAYS_OFF is not set -# default: -# CONFIG_BOOT_ROM_LOG_ON_GPIO_HIGH is not set -# default: -# CONFIG_BOOT_ROM_LOG_ON_GPIO_LOW is not set -# end of Boot ROM Behavior - -# -# Serial flasher config -# -# default: -# CONFIG_ESPTOOLPY_NO_STUB is not set -# default: -# CONFIG_ESPTOOLPY_OCT_FLASH is not set -# default: -CONFIG_ESPTOOLPY_FLASH_MODE_AUTO_DETECT=y -# default: -# CONFIG_ESPTOOLPY_FLASHMODE_QIO is not set -# default: -# CONFIG_ESPTOOLPY_FLASHMODE_QOUT is not set -# default: -CONFIG_ESPTOOLPY_FLASHMODE_DIO=y -# default: -# CONFIG_ESPTOOLPY_FLASHMODE_DOUT is not set -# default: -CONFIG_ESPTOOLPY_FLASH_SAMPLE_MODE_STR=y -# default: -CONFIG_ESPTOOLPY_FLASHMODE="dio" -# default: -# CONFIG_ESPTOOLPY_FLASHFREQ_120M is not set -# default: -CONFIG_ESPTOOLPY_FLASHFREQ_80M=y -# default: -# CONFIG_ESPTOOLPY_FLASHFREQ_40M is not set -# default: -# CONFIG_ESPTOOLPY_FLASHFREQ_20M is not set -# default: -CONFIG_ESPTOOLPY_FLASHFREQ="80m" -# default: -# CONFIG_ESPTOOLPY_FLASHSIZE_1MB is not set -# default: -CONFIG_ESPTOOLPY_FLASHSIZE_2MB=y -# default: -# CONFIG_ESPTOOLPY_FLASHSIZE_4MB is not set -# default: -# CONFIG_ESPTOOLPY_FLASHSIZE_8MB is not set -# default: -# CONFIG_ESPTOOLPY_FLASHSIZE_16MB is not set -# default: -# CONFIG_ESPTOOLPY_FLASHSIZE_32MB is not set -# default: -# CONFIG_ESPTOOLPY_FLASHSIZE_64MB is not set -# default: -# CONFIG_ESPTOOLPY_FLASHSIZE_128MB is not set -# default: -CONFIG_ESPTOOLPY_FLASHSIZE="2MB" -# default: -# CONFIG_ESPTOOLPY_HEADER_FLASHSIZE_UPDATE is not set -# default: -CONFIG_ESPTOOLPY_BEFORE_RESET=y -# default: -# CONFIG_ESPTOOLPY_BEFORE_NORESET is not set -# default: -CONFIG_ESPTOOLPY_BEFORE="default_reset" -# default: -CONFIG_ESPTOOLPY_AFTER_RESET=y -# default: -# CONFIG_ESPTOOLPY_AFTER_NORESET is not set -# default: -CONFIG_ESPTOOLPY_AFTER="hard_reset" -# default: -CONFIG_ESPTOOLPY_MONITOR_BAUD=115200 -# end of Serial flasher config - -# -# Partition Table -# -# default: -CONFIG_PARTITION_TABLE_SINGLE_APP=y -# default: -# CONFIG_PARTITION_TABLE_SINGLE_APP_LARGE is not set -# default: -# CONFIG_PARTITION_TABLE_TWO_OTA is not set -# default: -# CONFIG_PARTITION_TABLE_TWO_OTA_LARGE is not set -# default: -# CONFIG_PARTITION_TABLE_CUSTOM is not set -# default: -CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv" -# default: -CONFIG_PARTITION_TABLE_FILENAME="partitions_singleapp.csv" -# default: -CONFIG_PARTITION_TABLE_OFFSET=0x8000 -# default: -CONFIG_PARTITION_TABLE_MD5=y -# end of Partition Table - -# -# Arduino Configuration -# -# default: -CONFIG_ARDUINO_VARIANT="esp32s3" -# default: -CONFIG_ENABLE_ARDUINO_DEPENDS=y -CONFIG_AUTOSTART_ARDUINO=y -# default: -# CONFIG_ARDUINO_RUN_CORE0 is not set -# default: -CONFIG_ARDUINO_RUN_CORE1=y -# default: -# CONFIG_ARDUINO_RUN_NO_AFFINITY is not set -# default: -CONFIG_ARDUINO_RUNNING_CORE=1 -# default: -CONFIG_ARDUINO_LOOP_STACK_SIZE=8192 -# default: -# CONFIG_ARDUINO_EVENT_RUN_CORE0 is not set -# default: -CONFIG_ARDUINO_EVENT_RUN_CORE1=y -# default: -# CONFIG_ARDUINO_EVENT_RUN_NO_AFFINITY is not set -# default: -CONFIG_ARDUINO_EVENT_RUNNING_CORE=1 -# default: -# CONFIG_ARDUINO_SERIAL_EVENT_RUN_CORE0 is not set -# default: -# CONFIG_ARDUINO_SERIAL_EVENT_RUN_CORE1 is not set -# default: -CONFIG_ARDUINO_SERIAL_EVENT_RUN_NO_AFFINITY=y -# default: -CONFIG_ARDUINO_SERIAL_EVENT_TASK_RUNNING_CORE=-1 -# default: -CONFIG_ARDUINO_SERIAL_EVENT_TASK_STACK_SIZE=2048 -# default: -CONFIG_ARDUINO_SERIAL_EVENT_TASK_PRIORITY=24 -# default: -CONFIG_ARDUINO_UDP_RUN_CORE0=y -# default: -# CONFIG_ARDUINO_UDP_RUN_CORE1 is not set -# default: -# CONFIG_ARDUINO_UDP_RUN_NO_AFFINITY is not set -# default: -CONFIG_ARDUINO_UDP_RUNNING_CORE=0 -# default: -CONFIG_ARDUINO_UDP_TASK_PRIORITY=3 -# default: -CONFIG_ARDUINO_UDP_TASK_STACK_SIZE=4096 -# default: -# CONFIG_ARDUINO_ISR_IRAM is not set -# default: -# CONFIG_DISABLE_HAL_LOCKS is not set - -# -# Debug Log Configuration -# -# default: -# CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_NONE is not set -# default: -CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_ERROR=y -# default: -# CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_WARN is not set -# default: -# CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_INFO is not set -# default: -# CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_DEBUG is not set -# default: -# CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_VERBOSE is not set -# default: -CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL=1 -# default: -# CONFIG_ARDUHAL_LOG_COLORS is not set -# default: -# CONFIG_ARDUHAL_ESP_LOG is not set -# end of Debug Log Configuration - -# default: -CONFIG_ARDUHAL_PARTITION_SCHEME_DEFAULT=y -# default: -# CONFIG_ARDUHAL_PARTITION_SCHEME_MINIMAL is not set -# default: -# CONFIG_ARDUHAL_PARTITION_SCHEME_NO_OTA is not set -# default: -# CONFIG_ARDUHAL_PARTITION_SCHEME_HUGE_APP is not set -# default: -# CONFIG_ARDUHAL_PARTITION_SCHEME_MIN_SPIFFS is not set -# default: -CONFIG_ARDUHAL_PARTITION_SCHEME="default" -# default: -# CONFIG_AUTOCONNECT_WIFI is not set -# default: -# CONFIG_ARDUINO_SELECTIVE_COMPILATION is not set -# end of Arduino Configuration - -# -# ESP Speech Recognition -# -# default: -CONFIG_MODEL_IN_FLASH=y -# default: -# CONFIG_MODEL_IN_SDCARD is not set -# default: -CONFIG_AFE_INTERFACE_V1=y -# default: -CONFIG_SR_NSN_WEBRTC=y -# default: -# CONFIG_SR_NSN_NSNET2 is not set -# default: -CONFIG_SR_VADN_WEBRTC=y -# default: -# CONFIG_SR_VADN_VADNET1_MEDIUM is not set - -# -# Load Multiple Wake Words (WakeNet9s) -# -# default: -# CONFIG_SR_WN_WN9S_HILEXIN is not set -# default: -# CONFIG_SR_WN_WN9S_HIESP is not set -# default: -# CONFIG_SR_WN_WN9S_NIHAOXIAOZHI is not set -# default: -# CONFIG_SR_WN_WN9S_HIJASON is not set -# end of Load Multiple Wake Words (WakeNet9s) - -# -# Load Multiple Wake Words (WakeNet9) -# -# default: -# CONFIG_SR_WN_WN9_HILEXIN is not set -# default: -# CONFIG_SR_WN_WN9_NIHAOMIAOBAN_TTS2 is not set -# default: -# CONFIG_SR_WN_WN9_XIAOAITONGXUE is not set -# default: -# CONFIG_SR_WN_WN9L_XIAOAITONGXUE is not set -# default: -# CONFIG_SR_WN_WN9_NIHAOXIAOZHI_TTS is not set -# default: -# CONFIG_SR_WN_WN9L_NIHAOXIAOZHI_TTS3 is not set -# default: -# CONFIG_SR_WN_WN9_ALEXA is not set -# default: -# CONFIG_SR_WN_WN9_HIESP is not set -# default: -# CONFIG_SR_WN_WN9_JARVIS_TTS is not set -# default: -# CONFIG_SR_WN_WN9_COMPUTER_TTS is not set -# default: -# CONFIG_SR_WN_WN9_HEYWILLOW_TTS is not set -# default: -# CONFIG_SR_WN_WN9_HIMFIVE is not set -# default: -# CONFIG_SR_WN_WN9_SOPHIA_TTS is not set -# default: -# CONFIG_SR_WN_WN9_HEYWANDA_TTS is not set -# default: -# CONFIG_SR_WN_WN9_HIJOLLY_TTS2 is not set -# default: -# CONFIG_SR_WN_WN9_HIFAIRY_TTS2 is not set -# default: -# CONFIG_SR_WN_WN9_HEYPRINTER_TTS is not set -# default: -# CONFIG_SR_WN_WN9_MYCROFT_TTS is not set -# default: -# CONFIG_SR_WN_WN9_HIJOY_TTS is not set -# default: -# CONFIG_SR_WN_WN9_HIJASON_TTS2 is not set -# default: -# CONFIG_SR_WN_WN9_ASTROLABE_TTS is not set -# default: -# CONFIG_SR_WN_WN9_HEYILY_TTS2 is not set -# default: -# CONFIG_SR_WN_WN9_BLUECHIP_TTS2 is not set -# default: -# CONFIG_SR_WN_WN9_HIANDY_TTS2 is not set -# default: -# CONFIG_SR_WN_WN9_HEYIVY_TTS2 is not set -# default: -# CONFIG_SR_WN_WN9L_HISTACKCHAN_TTS3 is not set -# default: -# CONFIG_SR_WN_WN9_HEYKIRA_TTS3 is not set -# default: -# CONFIG_SR_WN_WN9L_HEYGIGI_TTS3 is not set -# default: -# CONFIG_SR_WN_WN9_XIAOLONGXIAOLONG_TTS is not set -# default: -# CONFIG_SR_WN_WN9_HIMIAOMIAO_TTS is not set -# default: -# CONFIG_SR_WN_WN9_MIAOMIAOTONGXUE_TTS is not set -# default: -# CONFIG_SR_WN_WN9_NIHAOXIAOXIN_TTS is not set -# default: -# CONFIG_SR_WN_WN9_XIAOMEITONGXUE_TTS is not set -# default: -# CONFIG_SR_WN_WN9_HILILI_TTS is not set -# default: -# CONFIG_SR_WN_WN9_HITELLY_TTS is not set -# default: -# CONFIG_SR_WN_WN9_XIAOBINXIAOBIN_TTS is not set -# default: -# CONFIG_SR_WN_WN9_HAIXIAOWU_TTS is not set -# default: -# CONFIG_SR_WN_WN9_XIAOYAXIAOYA_TTS2 is not set -# default: -# CONFIG_SR_WN_WN9_LINAIBAN_TTS2 is not set -# default: -# CONFIG_SR_WN_WN9_XIAOSUROU_TTS2 is not set -# default: -# CONFIG_SR_WN_WN9_XIAOYUTONGXUE_TTS2 is not set -# default: -# CONFIG_SR_WN_WN9_XIAOMINGTONGXUE_TTS2 is not set -# default: -# CONFIG_SR_WN_WN9_XIAOKANGTONGXUE_TTS2 is not set -# default: -# CONFIG_SR_WN_WN9_XIAOJIANXIAOJIAN_TTS2 is not set -# default: -# CONFIG_SR_WN_WN9_XIAOTEXIAOTE_TTS2 is not set -# default: -# CONFIG_SR_WN_WN9_NIHAOXIAOYI_TTS2 is not set -# default: -# CONFIG_SR_WN_WN9_NIHAOBAIYING_TTS2 is not set -# default: -# CONFIG_SR_WN_WN9_NIHAODONGDONG_TTS2 is not set -# default: -# CONFIG_SR_WN_WN9_HIWALLE_TTS2 is not set -# default: -# CONFIG_SR_WN_WN9_XIAOLUXIAOLU_TTS2 is not set -# default: -# CONFIG_SR_WN_WN9_NIHAOXIAOAN_TTS2 is not set -# default: -# CONFIG_SR_WN_WN9_NI3HAO3XIAO3MAI4_TTS2 is not set -# default: -# CONFIG_SR_WN_WN9_NI3HAO3XIAO3RUI4_TTS3 is not set -# default: -# CONFIG_SR_WN_WN9_HAI1XIAO3OU1_TTS3 is not set -# default: -# CONFIG_SR_WN_WN9_XIAO3JIA1XIAO3JIA1_TTS3 is not set -# default: -# CONFIG_SR_WN_WN9_XIAO3FENG1XIAO3FENG1_TTS3 is not set -# default: -# CONFIG_SR_WN_WN9_HAI1XIAO3XIANG4_TTS3 is not set -# end of Load Multiple Wake Words (WakeNet9) - -# default: -CONFIG_SR_MN_CN_NONE=y -# default: -# CONFIG_SR_MN_CN_MULTINET5_RECOGNITION_QUANT8 is not set -# default: -# CONFIG_SR_MN_CN_MULTINET6_QUANT is not set -# default: -# CONFIG_SR_MN_CN_MULTINET6_AC_QUANT is not set -# default: -# CONFIG_SR_MN_CN_MULTINET7_QUANT is not set -# default: -# CONFIG_SR_MN_CN_MULTINET7_AC_QUANT is not set -# default: -CONFIG_SR_MN_EN_NONE=y -# default: -# CONFIG_SR_MN_EN_MULTINET5_SINGLE_RECOGNITION_QUANT8 is not set -# default: -# CONFIG_SR_MN_EN_MULTINET6_QUANT is not set -# default: -# CONFIG_SR_MN_EN_MULTINET7_QUANT is not set -# default: -CONFIG_ESP_SR_EXTERNAL_MODEL_PATH="" -# end of ESP Speech Recognition - -# -# ESP RainMaker Config -# -# default: -# CONFIG_ESP_RMAKER_NO_CLAIM is not set -# default: -CONFIG_ESP_RMAKER_SELF_CLAIM=y -# default: -CONFIG_ESP_RMAKER_USE_NVS=y -# default: -CONFIG_ESP_RMAKER_CLAIM_TYPE=1 -# default: -CONFIG_ESP_RMAKER_CLAIM_SERVICE_BASE_URL="https://esp-claiming.rainmaker.espressif.com" -# default: -# CONFIG_ESP_RMAKER_READ_MQTT_HOST_FROM_CONFIG is not set -# default: -# CONFIG_ESP_RMAKER_READ_NODE_ID_FROM_CERT_CN is not set -# default: -CONFIG_ESP_RMAKER_MQTT_HOST="a1p72mufdu6064-ats.iot.us-east-1.amazonaws.com" -# default: -CONFIG_ESP_RMAKER_MQTT_USE_BASIC_INGEST_TOPICS=y -# default: -CONFIG_ESP_RMAKER_MQTT_ENABLE_BUDGETING=y -# default: -CONFIG_ESP_RMAKER_MQTT_DEFAULT_BUDGET=100 -# default: -CONFIG_ESP_RMAKER_MQTT_MAX_BUDGET=1024 -# default: -CONFIG_ESP_RMAKER_MQTT_BUDGET_REVIVE_PERIOD=5 -# default: -CONFIG_ESP_RMAKER_MQTT_BUDGET_REVIVE_COUNT=1 -# default: -CONFIG_ESP_RMAKER_MAX_PARAM_DATA_SIZE=1024 -# default: -# CONFIG_ESP_RMAKER_DISABLE_USER_MAPPING_PROV is not set -# default: -# CONFIG_ESP_RMAKER_USER_ID_CHECK is not set -# default: -# CONFIG_RMAKER_NAME_PARAM_CB is not set -# default: -# CONFIG_ESP_RMAKER_LOCAL_CTRL_FEATURE_ENABLE is not set -# default: -# CONFIG_ESP_RMAKER_LOCAL_CTRL_AUTO_ENABLE is not set -# default: -CONFIG_ESP_RMAKER_CONSOLE_UART_NUM_0=y -# default: -# CONFIG_ESP_RMAKER_CONSOLE_UART_NUM_1 is not set -# default: -CONFIG_ESP_RMAKER_CONSOLE_UART_NUM=0 -# default: -CONFIG_ESP_RMAKER_USE_CERT_BUNDLE=y - -# -# ESP RainMaker OTA Config -# -# default: -CONFIG_ESP_RMAKER_OTA_AUTOFETCH=y -# default: -CONFIG_ESP_RMAKER_OTA_AUTOFETCH_PERIOD=0 -# default: -# CONFIG_ESP_RMAKER_SKIP_COMMON_NAME_CHECK is not set -# default: -# CONFIG_ESP_RMAKER_SKIP_VERSION_CHECK is not set -# default: -# CONFIG_ESP_RMAKER_SKIP_SECURE_VERSION_CHECK is not set -# default: -# CONFIG_ESP_RMAKER_SKIP_PROJECT_NAME_CHECK is not set -# default: -CONFIG_ESP_RMAKER_OTA_HTTP_RX_BUFFER_SIZE=1024 -# default: -CONFIG_ESP_RMAKER_OTA_ROLLBACK_WAIT_PERIOD=90 -# default: -# CONFIG_ESP_RMAKER_OTA_DISABLE_AUTO_REBOOT is not set -# default: -CONFIG_ESP_RMAKER_OTA_TIME_SUPPORT=y -# end of ESP RainMaker OTA Config - -# -# ESP RainMaker Scheduling -# -# default: -CONFIG_ESP_RMAKER_SCHEDULING_MAX_SCHEDULES=10 -# end of ESP RainMaker Scheduling - -# -# ESP RainMaker Scenes -# -# default: -CONFIG_ESP_RMAKER_SCENES_MAX_SCENES=10 -# default: -# CONFIG_ESP_RMAKER_SCENES_DEACTIVATE_SUPPORT is not set -# end of ESP RainMaker Scenes - -# -# ESP RainMaker Command-Response -# -# default: -CONFIG_ESP_RMAKER_CMD_RESP_ENABLE=y -# default: -# CONFIG_ESP_RMAKER_CMD_RESP_TEST_ENABLE is not set -# end of ESP RainMaker Command-Response - -# default: -CONFIG_ESP_RMAKER_USING_NETWORK_PROV=y -# end of ESP RainMaker Config - -# -# Compiler options -# -# default: -CONFIG_COMPILER_OPTIMIZATION_DEBUG=y -# default: -# CONFIG_COMPILER_OPTIMIZATION_SIZE is not set -# default: -# CONFIG_COMPILER_OPTIMIZATION_PERF is not set -# default: -# CONFIG_COMPILER_OPTIMIZATION_NONE is not set -# default: -CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE=y -# default: -# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT is not set -# default: -# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE is not set -# default: -CONFIG_COMPILER_ASSERT_NDEBUG_EVALUATE=y -# default: -CONFIG_COMPILER_FLOAT_LIB_FROM_GCCLIB=y -# default: -CONFIG_COMPILER_OPTIMIZATION_ASSERTION_LEVEL=2 -# default: -# CONFIG_COMPILER_OPTIMIZATION_CHECKS_SILENT is not set -# default: -CONFIG_COMPILER_HIDE_PATHS_MACROS=y -# CONFIG_COMPILER_CXX_EXCEPTIONS is not set -# default: -# CONFIG_COMPILER_CXX_RTTI is not set -# default: -CONFIG_COMPILER_STACK_CHECK_MODE_NONE=y -# default: -# CONFIG_COMPILER_STACK_CHECK_MODE_NORM is not set -# default: -# CONFIG_COMPILER_STACK_CHECK_MODE_STRONG is not set -# default: -# CONFIG_COMPILER_STACK_CHECK_MODE_ALL is not set -# default: -# CONFIG_COMPILER_NO_MERGE_CONSTANTS is not set -# default: -# CONFIG_COMPILER_WARN_WRITE_STRINGS is not set -# default: -CONFIG_COMPILER_DISABLE_DEFAULT_ERRORS=y -# default: -# CONFIG_COMPILER_DISABLE_GCC12_WARNINGS is not set -# default: -# CONFIG_COMPILER_DISABLE_GCC13_WARNINGS is not set -# default: -# CONFIG_COMPILER_DISABLE_GCC14_WARNINGS is not set -# default: -# CONFIG_COMPILER_DUMP_RTL_FILES is not set -# default: -CONFIG_COMPILER_RT_LIB_GCCLIB=y -# default: -CONFIG_COMPILER_RT_LIB_NAME="gcc" -# default: -CONFIG_COMPILER_ORPHAN_SECTIONS_WARNING=y -# default: -# CONFIG_COMPILER_ORPHAN_SECTIONS_PLACE is not set -# default: -# CONFIG_COMPILER_STATIC_ANALYZER is not set -# end of Compiler options - -# -# Component config -# - -# -# Application Level Tracing -# -# default: -# CONFIG_APPTRACE_DEST_JTAG is not set -# default: -CONFIG_APPTRACE_DEST_NONE=y -# default: -# CONFIG_APPTRACE_DEST_UART1 is not set -# default: -# CONFIG_APPTRACE_DEST_UART2 is not set -# default: -# CONFIG_APPTRACE_DEST_USB_CDC is not set -# default: -CONFIG_APPTRACE_DEST_UART_NONE=y -# default: -CONFIG_APPTRACE_UART_TASK_PRIO=1 -# default: -CONFIG_APPTRACE_LOCK_ENABLE=y -# end of Application Level Tracing - -# -# Bluetooth -# -# default: -# CONFIG_BT_ENABLED is not set - -# -# Common Options -# - -# -# BLE Log -# -# default: -# CONFIG_BLE_LOG_ENABLED is not set -# end of BLE Log - -# default: -# CONFIG_BT_BLE_LOG_SPI_OUT_ENABLED is not set -# default: -# CONFIG_BT_BLE_LOG_UHCI_OUT_ENABLED is not set -# default: -# CONFIG_BT_LE_USED_MEM_STATISTICS_ENABLED is not set -# end of Common Options -# end of Bluetooth - -# -# Console Library -# -# default: -# CONFIG_CONSOLE_SORTED_HELP is not set -# end of Console Library - -# -# Driver Configurations -# - -# -# Legacy TWAI Driver Configurations -# -# default: -# CONFIG_TWAI_SKIP_LEGACY_CONFLICT_CHECK is not set -# default: -CONFIG_TWAI_ERRATA_FIX_LISTEN_ONLY_DOM=y -# end of Legacy TWAI Driver Configurations - -# -# Legacy ADC Driver Configuration -# -# default: -# CONFIG_ADC_SUPPRESS_DEPRECATE_WARN is not set -# default: -# CONFIG_ADC_SKIP_LEGACY_CONFLICT_CHECK is not set - -# -# Legacy ADC Calibration Configuration -# -# default: -# CONFIG_ADC_CALI_SUPPRESS_DEPRECATE_WARN is not set -# end of Legacy ADC Calibration Configuration -# end of Legacy ADC Driver Configuration - -# -# Legacy MCPWM Driver Configurations -# -# default: -# CONFIG_MCPWM_SUPPRESS_DEPRECATE_WARN is not set -# default: -# CONFIG_MCPWM_SKIP_LEGACY_CONFLICT_CHECK is not set -# end of Legacy MCPWM Driver Configurations - -# -# Legacy Timer Group Driver Configurations -# -# default: -# CONFIG_GPTIMER_SUPPRESS_DEPRECATE_WARN is not set -# default: -# CONFIG_GPTIMER_SKIP_LEGACY_CONFLICT_CHECK is not set -# end of Legacy Timer Group Driver Configurations - -# -# Legacy RMT Driver Configurations -# -# default: -# CONFIG_RMT_SUPPRESS_DEPRECATE_WARN is not set -# default: -# CONFIG_RMT_SKIP_LEGACY_CONFLICT_CHECK is not set -# end of Legacy RMT Driver Configurations - -# -# Legacy I2S Driver Configurations -# -# default: -# CONFIG_I2S_SUPPRESS_DEPRECATE_WARN is not set -# default: -# CONFIG_I2S_SKIP_LEGACY_CONFLICT_CHECK is not set -# end of Legacy I2S Driver Configurations - -# -# Legacy I2C Driver Configurations -# -# default: -# CONFIG_I2C_SKIP_LEGACY_CONFLICT_CHECK is not set -# end of Legacy I2C Driver Configurations - -# -# Legacy PCNT Driver Configurations -# -# default: -# CONFIG_PCNT_SUPPRESS_DEPRECATE_WARN is not set -# default: -# CONFIG_PCNT_SKIP_LEGACY_CONFLICT_CHECK is not set -# end of Legacy PCNT Driver Configurations - -# -# Legacy SDM Driver Configurations -# -# default: -# CONFIG_SDM_SUPPRESS_DEPRECATE_WARN is not set -# default: -# CONFIG_SDM_SKIP_LEGACY_CONFLICT_CHECK is not set -# end of Legacy SDM Driver Configurations - -# -# Legacy Temperature Sensor Driver Configurations -# -# default: -# CONFIG_TEMP_SENSOR_SUPPRESS_DEPRECATE_WARN is not set -# default: -# CONFIG_TEMP_SENSOR_SKIP_LEGACY_CONFLICT_CHECK is not set -# end of Legacy Temperature Sensor Driver Configurations - -# -# Legacy Touch Sensor Driver Configurations -# -# default: -# CONFIG_TOUCH_SUPPRESS_DEPRECATE_WARN is not set -# default: -# CONFIG_TOUCH_SKIP_LEGACY_CONFLICT_CHECK is not set -# end of Legacy Touch Sensor Driver Configurations -# end of Driver Configurations - -# -# eFuse Bit Manager -# -# default: -# CONFIG_EFUSE_CUSTOM_TABLE is not set -# default: -# CONFIG_EFUSE_VIRTUAL is not set -# default: -CONFIG_EFUSE_MAX_BLK_LEN=256 -# end of eFuse Bit Manager - -# -# ESP-TLS -# -# default: -CONFIG_ESP_TLS_USING_MBEDTLS=y -# default: -# CONFIG_ESP_TLS_USE_SECURE_ELEMENT is not set -# default: -CONFIG_ESP_TLS_USE_DS_PERIPHERAL=y -# default: -# CONFIG_ESP_TLS_CLIENT_SESSION_TICKETS is not set -# default: -# CONFIG_ESP_TLS_SERVER_SESSION_TICKETS is not set -# default: -# CONFIG_ESP_TLS_SERVER_CERT_SELECT_HOOK is not set -# default: -# CONFIG_ESP_TLS_SERVER_MIN_AUTH_MODE_OPTIONAL is not set -# default: -# CONFIG_ESP_TLS_PSK_VERIFICATION is not set -# default: -# CONFIG_ESP_TLS_INSECURE is not set -# default: -CONFIG_ESP_TLS_DYN_BUF_STRATEGY_SUPPORTED=y -# end of ESP-TLS - -# -# ADC and ADC Calibration -# -# default: -# CONFIG_ADC_ONESHOT_CTRL_FUNC_IN_IRAM is not set -# default: -# CONFIG_ADC_CONTINUOUS_ISR_IRAM_SAFE is not set -# default: -# CONFIG_ADC_CONTINUOUS_FORCE_USE_ADC2_ON_C3_S3 is not set -# default: -# CONFIG_ADC_ENABLE_DEBUG_LOG is not set -# end of ADC and ADC Calibration - -# -# Wireless Coexistence -# -# default: -CONFIG_ESP_COEX_ENABLED=y -# default: -# CONFIG_ESP_COEX_EXTERNAL_COEXIST_ENABLE is not set -# default: -# CONFIG_ESP_COEX_GPIO_DEBUG is not set -# end of Wireless Coexistence - -# -# Common ESP-related -# -# default: -CONFIG_ESP_ERR_TO_NAME_LOOKUP=y -# end of Common ESP-related - -# -# ESP-Driver:Camera Controller Configurations -# -# default: -# CONFIG_CAM_CTLR_DVP_CAM_ISR_CACHE_SAFE is not set -# end of ESP-Driver:Camera Controller Configurations - -# -# ESP-Driver:GPIO Configurations -# -# default: -# CONFIG_GPIO_CTRL_FUNC_IN_IRAM is not set -# end of ESP-Driver:GPIO Configurations - -# -# ESP-Driver:GPTimer Configurations -# -# default: -CONFIG_GPTIMER_ISR_HANDLER_IN_IRAM=y -# default: -# CONFIG_GPTIMER_CTRL_FUNC_IN_IRAM is not set -# default: -# CONFIG_GPTIMER_ISR_CACHE_SAFE is not set -# default: -CONFIG_GPTIMER_OBJ_CACHE_SAFE=y -# default: -# CONFIG_GPTIMER_ENABLE_DEBUG_LOG is not set -# end of ESP-Driver:GPTimer Configurations - -# -# ESP-Driver:I2C Configurations -# -# default: -# CONFIG_I2C_ISR_IRAM_SAFE is not set -# default: -# CONFIG_I2C_ENABLE_DEBUG_LOG is not set -# default: -# CONFIG_I2C_ENABLE_SLAVE_DRIVER_VERSION_2 is not set -# default: -CONFIG_I2C_MASTER_ISR_HANDLER_IN_IRAM=y -# end of ESP-Driver:I2C Configurations - -# -# ESP-Driver:I2S Configurations -# -# default: -# CONFIG_I2S_ISR_IRAM_SAFE is not set -# default: -# CONFIG_I2S_ENABLE_DEBUG_LOG is not set -# end of ESP-Driver:I2S Configurations - -# -# ESP-Driver:LEDC Configurations -# -# default: -# CONFIG_LEDC_CTRL_FUNC_IN_IRAM is not set -# end of ESP-Driver:LEDC Configurations - -# -# ESP-Driver:MCPWM Configurations -# -# default: -CONFIG_MCPWM_ISR_HANDLER_IN_IRAM=y -# default: -# CONFIG_MCPWM_ISR_CACHE_SAFE is not set -# default: -# CONFIG_MCPWM_CTRL_FUNC_IN_IRAM is not set -# default: -CONFIG_MCPWM_OBJ_CACHE_SAFE=y -# default: -# CONFIG_MCPWM_ENABLE_DEBUG_LOG is not set -# end of ESP-Driver:MCPWM Configurations - -# -# ESP-Driver:PCNT Configurations -# -# default: -# CONFIG_PCNT_CTRL_FUNC_IN_IRAM is not set -# default: -# CONFIG_PCNT_ISR_IRAM_SAFE is not set -# default: -# CONFIG_PCNT_ENABLE_DEBUG_LOG is not set -# end of ESP-Driver:PCNT Configurations - -# -# ESP-Driver:RMT Configurations -# -# default: -CONFIG_RMT_ENCODER_FUNC_IN_IRAM=y -# default: -CONFIG_RMT_TX_ISR_HANDLER_IN_IRAM=y -# default: -CONFIG_RMT_RX_ISR_HANDLER_IN_IRAM=y -# default: -# CONFIG_RMT_RECV_FUNC_IN_IRAM is not set -# default: -# CONFIG_RMT_TX_ISR_CACHE_SAFE is not set -# default: -# CONFIG_RMT_RX_ISR_CACHE_SAFE is not set -# default: -CONFIG_RMT_OBJ_CACHE_SAFE=y -# default: -# CONFIG_RMT_ENABLE_DEBUG_LOG is not set -# default: -# CONFIG_RMT_ISR_IRAM_SAFE is not set -# end of ESP-Driver:RMT Configurations - -# -# ESP-Driver:Sigma Delta Modulator Configurations -# -# default: -# CONFIG_SDM_CTRL_FUNC_IN_IRAM is not set -# default: -# CONFIG_SDM_ENABLE_DEBUG_LOG is not set -# end of ESP-Driver:Sigma Delta Modulator Configurations - -# -# ESP-Driver:SPI Configurations -# -# default: -# CONFIG_SPI_MASTER_IN_IRAM is not set -# default: -CONFIG_SPI_MASTER_ISR_IN_IRAM=y -# default: -# CONFIG_SPI_SLAVE_IN_IRAM is not set -# default: -CONFIG_SPI_SLAVE_ISR_IN_IRAM=y -# end of ESP-Driver:SPI Configurations - -# -# ESP-Driver:Touch Sensor Configurations -# -# default: -# CONFIG_TOUCH_CTRL_FUNC_IN_IRAM is not set -# default: -# CONFIG_TOUCH_ISR_IRAM_SAFE is not set -# default: -# CONFIG_TOUCH_ENABLE_DEBUG_LOG is not set -# default: -# CONFIG_TOUCH_SKIP_FSM_CHECK is not set -# end of ESP-Driver:Touch Sensor Configurations - -# -# ESP-Driver:Temperature Sensor Configurations -# -# default: -# CONFIG_TEMP_SENSOR_ENABLE_DEBUG_LOG is not set -# end of ESP-Driver:Temperature Sensor Configurations - -# -# ESP-Driver:TWAI Configurations -# -# default: -# CONFIG_TWAI_ISR_IN_IRAM is not set -# default: -# CONFIG_TWAI_IO_FUNC_IN_IRAM is not set -# default: -# CONFIG_TWAI_ISR_CACHE_SAFE is not set -# default: -# CONFIG_TWAI_ENABLE_DEBUG_LOG is not set -# end of ESP-Driver:TWAI Configurations - -# -# ESP-Driver:UART Configurations -# -# default: -# CONFIG_UART_ISR_IN_IRAM is not set -# end of ESP-Driver:UART Configurations - -# -# ESP-Driver:UHCI Configurations -# -# default: -# CONFIG_UHCI_ISR_HANDLER_IN_IRAM is not set -# default: -# CONFIG_UHCI_ISR_CACHE_SAFE is not set -# default: -# CONFIG_UHCI_ENABLE_DEBUG_LOG is not set -# end of ESP-Driver:UHCI Configurations - -# -# ESP-Driver:USB Serial/JTAG Configuration -# -# default: -CONFIG_USJ_ENABLE_USB_SERIAL_JTAG=y -# end of ESP-Driver:USB Serial/JTAG Configuration - -# -# Ethernet -# -# default: -CONFIG_ETH_ENABLED=y -# default: -CONFIG_ETH_USE_SPI_ETHERNET=y -# default: -# CONFIG_ETH_SPI_ETHERNET_DM9051 is not set -# default: -# CONFIG_ETH_SPI_ETHERNET_W5500 is not set -# default: -# CONFIG_ETH_SPI_ETHERNET_KSZ8851SNL is not set -# default: -# CONFIG_ETH_USE_OPENETH is not set -# default: -# CONFIG_ETH_TRANSMIT_MUTEX is not set -# end of Ethernet - -# -# Event Loop Library -# -# default: -# CONFIG_ESP_EVENT_LOOP_PROFILING is not set -# default: -CONFIG_ESP_EVENT_POST_FROM_ISR=y -# default: -CONFIG_ESP_EVENT_POST_FROM_IRAM_ISR=y -# end of Event Loop Library - -# -# GDB Stub -# -# default: -CONFIG_ESP_GDBSTUB_ENABLED=y -# default: -# CONFIG_ESP_SYSTEM_GDBSTUB_RUNTIME is not set -# default: -CONFIG_ESP_GDBSTUB_SUPPORT_TASKS=y -# default: -CONFIG_ESP_GDBSTUB_MAX_TASKS=32 -# end of GDB Stub - -# -# ESP HID -# -# default: -CONFIG_ESPHID_TASK_SIZE_BT=2048 -# default: -CONFIG_ESPHID_TASK_SIZE_BLE=4096 -# end of ESP HID - -# -# ESP HTTP client -# -# default: -CONFIG_ESP_HTTP_CLIENT_ENABLE_HTTPS=y -# default: -# CONFIG_ESP_HTTP_CLIENT_ENABLE_BASIC_AUTH is not set -# default: -# CONFIG_ESP_HTTP_CLIENT_ENABLE_DIGEST_AUTH is not set -# default: -# CONFIG_ESP_HTTP_CLIENT_ENABLE_CUSTOM_TRANSPORT is not set -# default: -CONFIG_ESP_HTTP_CLIENT_EVENT_POST_TIMEOUT=2000 -# end of ESP HTTP client - -# -# HTTP Server -# -# default: -CONFIG_HTTPD_MAX_REQ_HDR_LEN=1024 -# default: -CONFIG_HTTPD_MAX_URI_LEN=512 -# default: -CONFIG_HTTPD_ERR_RESP_NO_DELAY=y -# default: -CONFIG_HTTPD_PURGE_BUF_LEN=32 -# default: -# CONFIG_HTTPD_LOG_PURGE_DATA is not set -# default: -# CONFIG_HTTPD_WS_SUPPORT is not set -# default: -# CONFIG_HTTPD_QUEUE_WORK_BLOCKING is not set -# default: -CONFIG_HTTPD_SERVER_EVENT_POST_TIMEOUT=2000 -# end of HTTP Server - -# -# ESP HTTPS OTA -# -# default: -# CONFIG_ESP_HTTPS_OTA_DECRYPT_CB is not set -# default: -# CONFIG_ESP_HTTPS_OTA_ALLOW_HTTP is not set -# default: -CONFIG_ESP_HTTPS_OTA_EVENT_POST_TIMEOUT=2000 -# end of ESP HTTPS OTA - -# -# ESP HTTPS server -# -# default: -# CONFIG_ESP_HTTPS_SERVER_ENABLE is not set -# default: -CONFIG_ESP_HTTPS_SERVER_EVENT_POST_TIMEOUT=2000 -# default: -# CONFIG_ESP_HTTPS_SERVER_CERT_SELECT_HOOK is not set -# end of ESP HTTPS server - -# -# Hardware Settings -# -# default: -CONFIG_ESP_HW_SUPPORT_FUNC_IN_IRAM=y - -# -# Chip revision -# -# default: -CONFIG_ESP32S3_REV_MIN_0=y -# default: -# CONFIG_ESP32S3_REV_MIN_1 is not set -# default: -# CONFIG_ESP32S3_REV_MIN_2 is not set -# default: -CONFIG_ESP32S3_REV_MIN_FULL=0 -# default: -CONFIG_ESP_REV_MIN_FULL=0 - -# -# Maximum Supported ESP32-S3 Revision (Rev v0.99) -# -# default: -CONFIG_ESP32S3_REV_MAX_FULL=99 -# default: -CONFIG_ESP_REV_MAX_FULL=99 -# default: -CONFIG_ESP_EFUSE_BLOCK_REV_MIN_FULL=0 -# default: -CONFIG_ESP_EFUSE_BLOCK_REV_MAX_FULL=199 - -# -# Maximum Supported ESP32-S3 eFuse Block Revision (eFuse Block Rev v1.99) -# -# end of Chip revision - -# -# MAC Config -# -# default: -CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_STA=y -# default: -CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_AP=y -# default: -CONFIG_ESP_MAC_ADDR_UNIVERSE_BT=y -# default: -CONFIG_ESP_MAC_ADDR_UNIVERSE_ETH=y -# default: -CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES_FOUR=y -# default: -CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES=4 -# default: -# CONFIG_ESP32S3_UNIVERSAL_MAC_ADDRESSES_TWO is not set -# default: -CONFIG_ESP32S3_UNIVERSAL_MAC_ADDRESSES_FOUR=y -# default: -CONFIG_ESP32S3_UNIVERSAL_MAC_ADDRESSES=4 -# default: -# CONFIG_ESP_MAC_USE_CUSTOM_MAC_AS_BASE_MAC is not set -# end of MAC Config - -# -# Sleep Config -# -# default: -# CONFIG_ESP_SLEEP_POWER_DOWN_FLASH is not set -# default: -CONFIG_ESP_SLEEP_FLASH_LEAKAGE_WORKAROUND=y -# default: -CONFIG_ESP_SLEEP_MSPI_NEED_ALL_IO_PU=y -# default: -CONFIG_ESP_SLEEP_RTC_BUS_ISO_WORKAROUND=y -# default: -CONFIG_ESP_SLEEP_GPIO_RESET_WORKAROUND=y -# default: -CONFIG_ESP_SLEEP_WAIT_FLASH_READY_EXTRA_DELAY=2000 -# default: -# CONFIG_ESP_SLEEP_CACHE_SAFE_ASSERTION is not set -# default: -# CONFIG_ESP_SLEEP_DEBUG is not set -# default: -CONFIG_ESP_SLEEP_GPIO_ENABLE_INTERNAL_RESISTORS=y -# end of Sleep Config - -# -# RTC Clock Config -# -# default: -CONFIG_RTC_CLK_SRC_INT_RC=y -# default: -# CONFIG_RTC_CLK_SRC_EXT_CRYS is not set -# default: -# CONFIG_RTC_CLK_SRC_EXT_OSC is not set -# default: -# CONFIG_RTC_CLK_SRC_INT_8MD256 is not set -# default: -CONFIG_RTC_CLK_CAL_CYCLES=1024 -# default: -CONFIG_RTC_CLK_FUNC_IN_IRAM=y -# default: -CONFIG_RTC_TIME_FUNC_IN_IRAM=y -# end of RTC Clock Config - -# -# Peripheral Control -# -# default: -CONFIG_ESP_PERIPH_CTRL_FUNC_IN_IRAM=y -# default: -CONFIG_ESP_REGI2C_CTRL_FUNC_IN_IRAM=y -# end of Peripheral Control - -# -# GDMA Configurations -# -# default: -CONFIG_GDMA_CTRL_FUNC_IN_IRAM=y -# default: -CONFIG_GDMA_ISR_HANDLER_IN_IRAM=y -# default: -CONFIG_GDMA_OBJ_DRAM_SAFE=y -# default: -# CONFIG_GDMA_ENABLE_DEBUG_LOG is not set -# default: -# CONFIG_GDMA_ISR_IRAM_SAFE is not set -# end of GDMA Configurations - -# -# Main XTAL Config -# -# default: -CONFIG_XTAL_FREQ_40=y -# default: -CONFIG_XTAL_FREQ=40 -# end of Main XTAL Config - -# -# Power Supplier -# - -# -# Brownout Detector -# -# default: -CONFIG_ESP_BROWNOUT_DET=y -# default: -CONFIG_ESP_BROWNOUT_DET_LVL_SEL_7=y -# default: -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_6 is not set -# default: -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_5 is not set -# default: -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_4 is not set -# default: -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_3 is not set -# default: -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_2 is not set -# default: -# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_1 is not set -# default: -CONFIG_ESP_BROWNOUT_DET_LVL=7 -# default: -CONFIG_ESP_BROWNOUT_USE_INTR=y -# end of Brownout Detector -# end of Power Supplier - -# default: -CONFIG_ESP_SPI_BUS_LOCK_ISR_FUNCS_IN_IRAM=y -# default: -CONFIG_ESP_INTR_IN_IRAM=y -# end of Hardware Settings - -# -# ESP-Driver:LCD Controller Configurations -# -# default: -# CONFIG_LCD_RGB_ISR_IRAM_SAFE is not set -# default: -# CONFIG_LCD_RGB_RESTART_IN_VSYNC is not set -# default: -# CONFIG_LCD_ENABLE_DEBUG_LOG is not set -# end of ESP-Driver:LCD Controller Configurations - -# -# ESP-MM: Memory Management Configurations -# -# default: -# CONFIG_ESP_MM_CACHE_MSYNC_C2M_CHUNKED_OPS is not set -# end of ESP-MM: Memory Management Configurations - -# -# ESP NETIF Adapter -# -# default: -CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120 -# default: -# CONFIG_ESP_NETIF_PROVIDE_CUSTOM_IMPLEMENTATION is not set -# default: -CONFIG_ESP_NETIF_TCPIP_LWIP=y -# default: -# CONFIG_ESP_NETIF_LOOPBACK is not set -# default: -CONFIG_ESP_NETIF_USES_TCPIP_WITH_BSD_API=y -# default: -CONFIG_ESP_NETIF_REPORT_DATA_TRAFFIC=y -# default: -# CONFIG_ESP_NETIF_RECEIVE_REPORT_ERRORS is not set -# default: -# CONFIG_ESP_NETIF_L2_TAP is not set -# default: -# CONFIG_ESP_NETIF_BRIDGE_EN is not set -# default: -# CONFIG_ESP_NETIF_SET_DNS_PER_DEFAULT_NETIF is not set -# end of ESP NETIF Adapter - -# -# Partition API Configuration -# -# end of Partition API Configuration - -# -# PHY -# -# default: -CONFIG_ESP_PHY_ENABLED=y -# default: -CONFIG_ESP_PHY_CALIBRATION_AND_DATA_STORAGE=y -# default: -# CONFIG_ESP_PHY_INIT_DATA_IN_PARTITION is not set -# default: -CONFIG_ESP_PHY_MAX_WIFI_TX_POWER=20 -# default: -CONFIG_ESP_PHY_MAX_TX_POWER=20 -# default: -# CONFIG_ESP_PHY_REDUCE_TX_POWER is not set -# default: -CONFIG_ESP_PHY_ENABLE_USB=y -# default: -# CONFIG_ESP_PHY_ENABLE_CERT_TEST is not set -# default: -CONFIG_ESP_PHY_RF_CAL_PARTIAL=y -# default: -# CONFIG_ESP_PHY_RF_CAL_NONE is not set -# default: -# CONFIG_ESP_PHY_RF_CAL_FULL is not set -# default: -CONFIG_ESP_PHY_CALIBRATION_MODE=0 -# default: -CONFIG_ESP_PHY_PLL_TRACK_PERIOD_MS=1000 -# default: -# CONFIG_ESP_PHY_PLL_TRACK_DEBUG is not set -# default: -# CONFIG_ESP_PHY_RECORD_USED_TIME is not set -# default: -CONFIG_ESP_PHY_IRAM_OPT=y -# default: -# CONFIG_ESP_PHY_DEBUG is not set -# end of PHY - -# -# Power Management -# -# default: -# CONFIG_PM_SLEEP_FUNC_IN_IRAM is not set -# default: -# CONFIG_PM_ENABLE is not set -# default: -# CONFIG_PM_SLP_IRAM_OPT is not set -# default: -CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP=y -# default: -CONFIG_PM_RESTORE_CACHE_TAGMEM_AFTER_LIGHT_SLEEP=y -# end of Power Management - -# -# ESP PSRAM -# -# default: -# CONFIG_SPIRAM is not set -# end of ESP PSRAM - -# -# ESP Ringbuf -# -# default: -# CONFIG_RINGBUF_PLACE_FUNCTIONS_INTO_FLASH is not set -# end of ESP Ringbuf - -# -# ESP-ROM -# -# default: -CONFIG_ESP_ROM_PRINT_IN_IRAM=y -# end of ESP-ROM - -# -# ESP Security Specific -# -# end of ESP Security Specific - -# -# ESP System Settings -# -# default: -# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_80 is not set -# default: -CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_160=y -# default: -# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240 is not set -# default: -CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=160 - -# -# Cache config -# -# default: -CONFIG_ESP32S3_INSTRUCTION_CACHE_16KB=y -# default: -# CONFIG_ESP32S3_INSTRUCTION_CACHE_32KB is not set -# default: -CONFIG_ESP32S3_INSTRUCTION_CACHE_SIZE=0x4000 -# default: -# CONFIG_ESP32S3_INSTRUCTION_CACHE_4WAYS is not set -# default: -CONFIG_ESP32S3_INSTRUCTION_CACHE_8WAYS=y -# default: -CONFIG_ESP32S3_ICACHE_ASSOCIATED_WAYS=8 -# default: -# CONFIG_ESP32S3_INSTRUCTION_CACHE_LINE_16B is not set -# default: -CONFIG_ESP32S3_INSTRUCTION_CACHE_LINE_32B=y -# default: -CONFIG_ESP32S3_INSTRUCTION_CACHE_LINE_SIZE=32 -# default: -# CONFIG_ESP32S3_DATA_CACHE_16KB is not set -# default: -CONFIG_ESP32S3_DATA_CACHE_32KB=y -# default: -# CONFIG_ESP32S3_DATA_CACHE_64KB is not set -# default: -CONFIG_ESP32S3_DATA_CACHE_SIZE=0x8000 -# default: -# CONFIG_ESP32S3_DATA_CACHE_4WAYS is not set -# default: -CONFIG_ESP32S3_DATA_CACHE_8WAYS=y -# default: -CONFIG_ESP32S3_DCACHE_ASSOCIATED_WAYS=8 -# default: -# CONFIG_ESP32S3_DATA_CACHE_LINE_16B is not set -# default: -CONFIG_ESP32S3_DATA_CACHE_LINE_32B=y -# default: -# CONFIG_ESP32S3_DATA_CACHE_LINE_64B is not set -# default: -CONFIG_ESP32S3_DATA_CACHE_LINE_SIZE=32 -# end of Cache config - -# -# Memory -# -# default: -# CONFIG_ESP32S3_RTCDATA_IN_FAST_MEM is not set -# default: -# CONFIG_ESP32S3_USE_FIXED_STATIC_RAM_SIZE is not set -# end of Memory - -# -# Trace memory -# -# default: -# CONFIG_ESP32S3_TRAX is not set -# default: -CONFIG_ESP32S3_TRACEMEM_RESERVE_DRAM=0x0 -# end of Trace memory - -# default: -CONFIG_ESP_SYSTEM_IN_IRAM=y -# default: -# CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT is not set -# default: -CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT=y -# default: -# CONFIG_ESP_SYSTEM_PANIC_SILENT_REBOOT is not set -# default: -# CONFIG_ESP_SYSTEM_PANIC_GDBSTUB is not set -# default: -CONFIG_ESP_SYSTEM_PANIC_REBOOT_DELAY_SECONDS=0 -# default: -CONFIG_ESP_SYSTEM_RTC_FAST_MEM_AS_HEAP_DEPCHECK=y -# default: -CONFIG_ESP_SYSTEM_ALLOW_RTC_FAST_MEM_AS_HEAP=y - -# -# Memory protection -# -# default: -CONFIG_ESP_SYSTEM_MEMPROT_FEATURE=y -# default: -CONFIG_ESP_SYSTEM_MEMPROT_FEATURE_LOCK=y -# end of Memory protection - -# default: -CONFIG_ESP_SYSTEM_EVENT_QUEUE_SIZE=32 -# default: -CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=2304 -CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192 -# default: -CONFIG_ESP_MAIN_TASK_AFFINITY_CPU0=y -# default: -# CONFIG_ESP_MAIN_TASK_AFFINITY_CPU1 is not set -# default: -# CONFIG_ESP_MAIN_TASK_AFFINITY_NO_AFFINITY is not set -# default: -CONFIG_ESP_MAIN_TASK_AFFINITY=0x0 -# default: -CONFIG_ESP_MINIMAL_SHARED_STACK_SIZE=2048 -# default: -CONFIG_ESP_CONSOLE_UART_DEFAULT=y -# default: -# CONFIG_ESP_CONSOLE_USB_CDC is not set -# default: -# CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG is not set -# default: -# CONFIG_ESP_CONSOLE_UART_CUSTOM is not set -# default: -# CONFIG_ESP_CONSOLE_NONE is not set -# default: -# CONFIG_ESP_CONSOLE_SECONDARY_NONE is not set -# default: -CONFIG_ESP_CONSOLE_SECONDARY_USB_SERIAL_JTAG=y -# default: -CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG_ENABLED=y -# default: -CONFIG_ESP_CONSOLE_UART=y -# default: -CONFIG_ESP_CONSOLE_UART_NUM=0 -# default: -CONFIG_ESP_CONSOLE_ROM_SERIAL_PORT_NUM=0 -# default: -CONFIG_ESP_CONSOLE_UART_BAUDRATE=115200 -# default: -CONFIG_ESP_INT_WDT=y -# default: -CONFIG_ESP_INT_WDT_TIMEOUT_MS=300 -# default: -CONFIG_ESP_INT_WDT_CHECK_CPU1=y -# default: -CONFIG_ESP_TASK_WDT_EN=y -# default: -CONFIG_ESP_TASK_WDT_INIT=y -# default: -# CONFIG_ESP_TASK_WDT_PANIC is not set -# default: -CONFIG_ESP_TASK_WDT_TIMEOUT_S=5 -# default: -CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0=y -# default: -CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU1=y -# default: -# CONFIG_ESP_PANIC_HANDLER_IRAM is not set -# default: -# CONFIG_ESP_DEBUG_STUBS_ENABLE is not set -# default: -CONFIG_ESP_DEBUG_OCDAWARE=y -# default: -CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_4=y -# default: -CONFIG_ESP_SYSTEM_BBPLL_RECALIB=y -# end of ESP System Settings - -# -# IPC (Inter-Processor Call) -# -# default: -CONFIG_ESP_IPC_ENABLE=y -# default: -CONFIG_ESP_IPC_TASK_STACK_SIZE=1280 -# default: -CONFIG_ESP_IPC_USES_CALLERS_PRIORITY=y -# default: -CONFIG_ESP_IPC_ISR_ENABLE=y -# end of IPC (Inter-Processor Call) - -# -# ESP Timer (High Resolution Timer) -# -# default: -CONFIG_ESP_TIMER_IN_IRAM=y -# default: -# CONFIG_ESP_TIMER_PROFILING is not set -# default: -CONFIG_ESP_TIME_FUNCS_USE_RTC_TIMER=y -# default: -CONFIG_ESP_TIME_FUNCS_USE_ESP_TIMER=y -# default: -CONFIG_ESP_TIMER_TASK_STACK_SIZE=3584 -# default: -CONFIG_ESP_TIMER_INTERRUPT_LEVEL=1 -# default: -# CONFIG_ESP_TIMER_SHOW_EXPERIMENTAL is not set -# default: -CONFIG_ESP_TIMER_TASK_AFFINITY=0x0 -# default: -CONFIG_ESP_TIMER_TASK_AFFINITY_CPU0=y -# default: -CONFIG_ESP_TIMER_ISR_AFFINITY_CPU0=y -# default: -# CONFIG_ESP_TIMER_SUPPORTS_ISR_DISPATCH_METHOD is not set -# default: -CONFIG_ESP_TIMER_IMPL_SYSTIMER=y -# end of ESP Timer (High Resolution Timer) - -# -# Wi-Fi -# -# default: -CONFIG_ESP_WIFI_ENABLED=y -# default: -CONFIG_ESP_WIFI_STATIC_RX_BUFFER_NUM=10 -# default: -CONFIG_ESP_WIFI_DYNAMIC_RX_BUFFER_NUM=32 -# default: -# CONFIG_ESP_WIFI_STATIC_TX_BUFFER is not set -# default: -CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER=y -# default: -CONFIG_ESP_WIFI_TX_BUFFER_TYPE=1 -# default: -CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER_NUM=32 -# default: -CONFIG_ESP_WIFI_STATIC_RX_MGMT_BUFFER=y -# default: -# CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUFFER is not set -# default: -CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUF=0 -# default: -CONFIG_ESP_WIFI_RX_MGMT_BUF_NUM_DEF=5 -# default: -# CONFIG_ESP_WIFI_CSI_ENABLED is not set -# default: -CONFIG_ESP_WIFI_AMPDU_TX_ENABLED=y -# default: -CONFIG_ESP_WIFI_TX_BA_WIN=6 -# default: -CONFIG_ESP_WIFI_AMPDU_RX_ENABLED=y -# default: -CONFIG_ESP_WIFI_RX_BA_WIN=6 -# default: -CONFIG_ESP_WIFI_NVS_ENABLED=y -# default: -CONFIG_ESP_WIFI_TASK_PINNED_TO_CORE_0=y -# default: -# CONFIG_ESP_WIFI_TASK_PINNED_TO_CORE_1 is not set -# default: -CONFIG_ESP_WIFI_SOFTAP_BEACON_MAX_LEN=752 -# default: -CONFIG_ESP_WIFI_MGMT_SBUF_NUM=32 -# default: -CONFIG_ESP_WIFI_IRAM_OPT=y -# default: -# CONFIG_ESP_WIFI_EXTRA_IRAM_OPT is not set -# default: -CONFIG_ESP_WIFI_RX_IRAM_OPT=y -# default: -CONFIG_ESP_WIFI_ENABLE_WPA3_SAE=y -# default: -CONFIG_ESP_WIFI_ENABLE_SAE_PK=y -# default: -CONFIG_ESP_WIFI_ENABLE_SAE_H2E=y -# default: -CONFIG_ESP_WIFI_SOFTAP_SAE_SUPPORT=y -# default: -CONFIG_ESP_WIFI_ENABLE_WPA3_OWE_STA=y -# default: -# CONFIG_ESP_WIFI_SLP_IRAM_OPT is not set -# default: -CONFIG_ESP_WIFI_SLP_DEFAULT_MIN_ACTIVE_TIME=50 -# default: -# CONFIG_ESP_WIFI_BSS_MAX_IDLE_SUPPORT is not set -# default: -CONFIG_ESP_WIFI_SLP_DEFAULT_MAX_ACTIVE_TIME=10 -# default: -CONFIG_ESP_WIFI_SLP_DEFAULT_WAIT_BROADCAST_DATA_TIME=15 -# default: -# CONFIG_ESP_WIFI_FTM_ENABLE is not set -# default: -CONFIG_ESP_WIFI_STA_DISCONNECTED_PM_ENABLE=y -# default: -# CONFIG_ESP_WIFI_GCMP_SUPPORT is not set -# default: -CONFIG_ESP_WIFI_GMAC_SUPPORT=y -# default: -CONFIG_ESP_WIFI_SOFTAP_SUPPORT=y -# default: -# CONFIG_ESP_WIFI_SLP_BEACON_LOST_OPT is not set -# default: -CONFIG_ESP_WIFI_ESPNOW_MAX_ENCRYPT_NUM=7 -# default: -CONFIG_ESP_WIFI_MBEDTLS_CRYPTO=y -# default: -CONFIG_ESP_WIFI_MBEDTLS_TLS_CLIENT=y -# default: -# CONFIG_ESP_WIFI_WAPI_PSK is not set -# default: -# CONFIG_ESP_WIFI_SUITE_B_192 is not set -# default: -# CONFIG_ESP_WIFI_11KV_SUPPORT is not set -# default: -# CONFIG_ESP_WIFI_MBO_SUPPORT is not set -# default: -# CONFIG_ESP_WIFI_DPP_SUPPORT is not set -# default: -# CONFIG_ESP_WIFI_11R_SUPPORT is not set -# default: -# CONFIG_ESP_WIFI_WPS_SOFTAP_REGISTRAR is not set - -# -# WPS Configuration Options -# -# default: -# CONFIG_ESP_WIFI_WPS_STRICT is not set -# default: -# CONFIG_ESP_WIFI_WPS_PASSPHRASE is not set -# default: -# CONFIG_ESP_WIFI_WPS_RECONNECT_ON_FAIL is not set -# end of WPS Configuration Options - -# default: -# CONFIG_ESP_WIFI_DEBUG_PRINT is not set -# default: -CONFIG_ESP_WIFI_ENTERPRISE_SUPPORT=y -# default: -# CONFIG_ESP_WIFI_ENT_FREE_DYNAMIC_BUFFER is not set -# end of Wi-Fi - -# -# Core dump -# -# default: -# CONFIG_ESP_COREDUMP_ENABLE_TO_FLASH is not set -# default: -# CONFIG_ESP_COREDUMP_ENABLE_TO_UART is not set -# default: -CONFIG_ESP_COREDUMP_ENABLE_TO_NONE=y -# end of Core dump - -# -# FAT Filesystem support -# -# default: -CONFIG_FATFS_VOLUME_COUNT=2 -# default: -CONFIG_FATFS_LFN_NONE=y -# default: -# CONFIG_FATFS_LFN_HEAP is not set -# default: -# CONFIG_FATFS_LFN_STACK is not set -# default: -# CONFIG_FATFS_SECTOR_512 is not set -# default: -CONFIG_FATFS_SECTOR_4096=y -# default: -# CONFIG_FATFS_CODEPAGE_DYNAMIC is not set -# default: -CONFIG_FATFS_CODEPAGE_437=y -# default: -# CONFIG_FATFS_CODEPAGE_720 is not set -# default: -# CONFIG_FATFS_CODEPAGE_737 is not set -# default: -# CONFIG_FATFS_CODEPAGE_771 is not set -# default: -# CONFIG_FATFS_CODEPAGE_775 is not set -# default: -# CONFIG_FATFS_CODEPAGE_850 is not set -# default: -# CONFIG_FATFS_CODEPAGE_852 is not set -# default: -# CONFIG_FATFS_CODEPAGE_855 is not set -# default: -# CONFIG_FATFS_CODEPAGE_857 is not set -# default: -# CONFIG_FATFS_CODEPAGE_860 is not set -# default: -# CONFIG_FATFS_CODEPAGE_861 is not set -# default: -# CONFIG_FATFS_CODEPAGE_862 is not set -# default: -# CONFIG_FATFS_CODEPAGE_863 is not set -# default: -# CONFIG_FATFS_CODEPAGE_864 is not set -# default: -# CONFIG_FATFS_CODEPAGE_865 is not set -# default: -# CONFIG_FATFS_CODEPAGE_866 is not set -# default: -# CONFIG_FATFS_CODEPAGE_869 is not set -# default: -# CONFIG_FATFS_CODEPAGE_932 is not set -# default: -# CONFIG_FATFS_CODEPAGE_936 is not set -# default: -# CONFIG_FATFS_CODEPAGE_949 is not set -# default: -# CONFIG_FATFS_CODEPAGE_950 is not set -# default: -CONFIG_FATFS_CODEPAGE=437 -# default: -CONFIG_FATFS_FS_LOCK=0 -# default: -CONFIG_FATFS_TIMEOUT_MS=10000 -# default: -CONFIG_FATFS_PER_FILE_CACHE=y -# default: -# CONFIG_FATFS_USE_FASTSEEK is not set -# default: -CONFIG_FATFS_USE_STRFUNC_NONE=y -# default: -# CONFIG_FATFS_USE_STRFUNC_WITHOUT_CRLF_CONV is not set -# default: -# CONFIG_FATFS_USE_STRFUNC_WITH_CRLF_CONV is not set -# default: -CONFIG_FATFS_VFS_FSTAT_BLKSIZE=0 -# default: -# CONFIG_FATFS_IMMEDIATE_FSYNC is not set -# default: -# CONFIG_FATFS_USE_LABEL is not set -# default: -CONFIG_FATFS_LINK_LOCK=y -# default: -# CONFIG_FATFS_USE_DYN_BUFFERS is not set - -# -# File system free space calculation behavior -# -# default: -CONFIG_FATFS_DONT_TRUST_FREE_CLUSTER_CNT=0 -# default: -CONFIG_FATFS_DONT_TRUST_LAST_ALLOC=0 -# end of File system free space calculation behavior -# end of FAT Filesystem support - -# -# FreeRTOS -# - -# -# Kernel -# -# default: -# CONFIG_FREERTOS_SMP is not set -# default: -# CONFIG_FREERTOS_UNICORE is not set -CONFIG_FREERTOS_HZ=1000 -# default: -# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_NONE is not set -# default: -# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_PTRVAL is not set -# default: -CONFIG_FREERTOS_CHECK_STACKOVERFLOW_CANARY=y -# default: -CONFIG_FREERTOS_THREAD_LOCAL_STORAGE_POINTERS=1 -# default: -CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1536 -# default: -# CONFIG_FREERTOS_USE_IDLE_HOOK is not set -# default: -# CONFIG_FREERTOS_USE_TICK_HOOK is not set -# default: -CONFIG_FREERTOS_MAX_TASK_NAME_LEN=16 -# default: -# CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY is not set -# default: -CONFIG_FREERTOS_USE_TIMERS=y -# default: -CONFIG_FREERTOS_TIMER_SERVICE_TASK_NAME="Tmr Svc" -# default: -# CONFIG_FREERTOS_TIMER_TASK_AFFINITY_CPU0 is not set -# default: -# CONFIG_FREERTOS_TIMER_TASK_AFFINITY_CPU1 is not set -# default: -CONFIG_FREERTOS_TIMER_TASK_NO_AFFINITY=y -# default: -CONFIG_FREERTOS_TIMER_SERVICE_TASK_CORE_AFFINITY=0x7FFFFFFF -# default: -CONFIG_FREERTOS_TIMER_TASK_PRIORITY=1 -# default: -CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=2048 -# default: -CONFIG_FREERTOS_TIMER_QUEUE_LENGTH=10 -# default: -CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE=0 -# default: -CONFIG_FREERTOS_TASK_NOTIFICATION_ARRAY_ENTRIES=1 -# default: -# CONFIG_FREERTOS_USE_TRACE_FACILITY is not set -# default: -# CONFIG_FREERTOS_USE_LIST_DATA_INTEGRITY_CHECK_BYTES is not set -# default: -# CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS is not set -# default: -# CONFIG_FREERTOS_USE_APPLICATION_TASK_TAG is not set -# end of Kernel - -# -# Port -# -# default: -CONFIG_FREERTOS_TASK_FUNCTION_WRAPPER=y -# default: -# CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK is not set -# default: -CONFIG_FREERTOS_TLSP_DELETION_CALLBACKS=y -# default: -# CONFIG_FREERTOS_TASK_PRE_DELETION_HOOK is not set -# default: -# CONFIG_FREERTOS_ENABLE_STATIC_TASK_CLEAN_UP is not set -# default: -CONFIG_FREERTOS_CHECK_MUTEX_GIVEN_BY_OWNER=y -# default: -CONFIG_FREERTOS_ISR_STACKSIZE=1536 -# default: -CONFIG_FREERTOS_INTERRUPT_BACKTRACE=y -# default: -# CONFIG_FREERTOS_FPU_IN_ISR is not set -# default: -CONFIG_FREERTOS_TICK_SUPPORT_SYSTIMER=y -# default: -CONFIG_FREERTOS_CORETIMER_SYSTIMER_LVL1=y -# default: -# CONFIG_FREERTOS_CORETIMER_SYSTIMER_LVL3 is not set -# default: -CONFIG_FREERTOS_SYSTICK_USES_SYSTIMER=y -# default: -# CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH is not set -# default: -# CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE is not set -# end of Port - -# -# Extra -# -# end of Extra - -# default: -CONFIG_FREERTOS_PORT=y -# default: -CONFIG_FREERTOS_NO_AFFINITY=0x7FFFFFFF -# default: -CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION=y -# default: -CONFIG_FREERTOS_DEBUG_OCDAWARE=y -# default: -CONFIG_FREERTOS_ENABLE_TASK_SNAPSHOT=y -# default: -CONFIG_FREERTOS_PLACE_SNAPSHOT_FUNS_INTO_FLASH=y -# default: -CONFIG_FREERTOS_NUMBER_OF_CORES=2 -# default: -CONFIG_FREERTOS_IN_IRAM=y -# end of FreeRTOS - -# -# Hardware Abstraction Layer (HAL) and Low Level (LL) -# -# default: -CONFIG_HAL_ASSERTION_EQUALS_SYSTEM=y -# default: -# CONFIG_HAL_ASSERTION_DISABLE is not set -# default: -# CONFIG_HAL_ASSERTION_SILENT is not set -# default: -# CONFIG_HAL_ASSERTION_ENABLE is not set -# default: -CONFIG_HAL_DEFAULT_ASSERTION_LEVEL=2 -# default: -CONFIG_HAL_WDT_USE_ROM_IMPL=y -# end of Hardware Abstraction Layer (HAL) and Low Level (LL) - -# -# Heap memory debugging -# -# default: -CONFIG_HEAP_POISONING_DISABLED=y -# default: -# CONFIG_HEAP_POISONING_LIGHT is not set -# default: -# CONFIG_HEAP_POISONING_COMPREHENSIVE is not set -# default: -CONFIG_HEAP_TRACING_OFF=y -# default: -# CONFIG_HEAP_TRACING_STANDALONE is not set -# default: -# CONFIG_HEAP_TRACING_TOHOST is not set -# default: -# CONFIG_HEAP_USE_HOOKS is not set -# default: -# CONFIG_HEAP_TASK_TRACKING is not set -# default: -# CONFIG_HEAP_ABORT_WHEN_ALLOCATION_FAILS is not set -# default: -# CONFIG_HEAP_PLACE_FUNCTION_INTO_FLASH is not set -# end of Heap memory debugging - -# -# Log -# -# default: -CONFIG_LOG_VERSION_1=y -# default: -# CONFIG_LOG_VERSION_2 is not set -# default: -CONFIG_LOG_VERSION=1 - -# -# Log Level -# -# default: -# CONFIG_LOG_DEFAULT_LEVEL_NONE is not set -# default: -# CONFIG_LOG_DEFAULT_LEVEL_ERROR is not set -# default: -# CONFIG_LOG_DEFAULT_LEVEL_WARN is not set -# default: -CONFIG_LOG_DEFAULT_LEVEL_INFO=y -# default: -# CONFIG_LOG_DEFAULT_LEVEL_DEBUG is not set -# default: -# CONFIG_LOG_DEFAULT_LEVEL_VERBOSE is not set -# default: -CONFIG_LOG_DEFAULT_LEVEL=3 -# default: -CONFIG_LOG_MAXIMUM_EQUALS_DEFAULT=y -# default: -# CONFIG_LOG_MAXIMUM_LEVEL_DEBUG is not set -# default: -# CONFIG_LOG_MAXIMUM_LEVEL_VERBOSE is not set -# default: -CONFIG_LOG_MAXIMUM_LEVEL=3 - -# -# Level Settings -# -# default: -# CONFIG_LOG_MASTER_LEVEL is not set -# default: -CONFIG_LOG_DYNAMIC_LEVEL_CONTROL=y -# default: -# CONFIG_LOG_TAG_LEVEL_IMPL_NONE is not set -# default: -# CONFIG_LOG_TAG_LEVEL_IMPL_LINKED_LIST is not set -# default: -CONFIG_LOG_TAG_LEVEL_IMPL_CACHE_AND_LINKED_LIST=y -# default: -# CONFIG_LOG_TAG_LEVEL_CACHE_ARRAY is not set -# default: -CONFIG_LOG_TAG_LEVEL_CACHE_BINARY_MIN_HEAP=y -# default: -CONFIG_LOG_TAG_LEVEL_IMPL_CACHE_SIZE=31 -# end of Level Settings -# end of Log Level - -# -# Format -# -# default: -# CONFIG_LOG_COLORS is not set -# default: -CONFIG_LOG_TIMESTAMP_SOURCE_RTOS=y -# default: -# CONFIG_LOG_TIMESTAMP_SOURCE_SYSTEM is not set -# end of Format - -# -# Settings -# -# default: -CONFIG_LOG_MODE_TEXT_EN=y -# default: -CONFIG_LOG_MODE_TEXT=y -# end of Settings - -# default: -CONFIG_LOG_IN_IRAM=y -# end of Log - -# -# LWIP -# -# default: -CONFIG_LWIP_ENABLE=y -# default: -CONFIG_LWIP_LOCAL_HOSTNAME="espressif" -# default: -CONFIG_LWIP_TCPIP_TASK_PRIO=18 -# default: -# CONFIG_LWIP_TCPIP_CORE_LOCKING is not set -# default: -# CONFIG_LWIP_CHECK_THREAD_SAFETY is not set -# default: -CONFIG_LWIP_DNS_SUPPORT_MDNS_QUERIES=y -# default: -# CONFIG_LWIP_L2_TO_L3_COPY is not set -# default: -# CONFIG_LWIP_IRAM_OPTIMIZATION is not set -# default: -# CONFIG_LWIP_EXTRA_IRAM_OPTIMIZATION is not set -# default: -CONFIG_LWIP_TIMERS_ONDEMAND=y -# default: -CONFIG_LWIP_ND6=y -# default: -# CONFIG_LWIP_FORCE_ROUTER_FORWARDING is not set -# default: -CONFIG_LWIP_MAX_SOCKETS=10 -# default: -# CONFIG_LWIP_USE_ONLY_LWIP_SELECT is not set -# default: -# CONFIG_LWIP_SO_LINGER is not set -# default: -CONFIG_LWIP_SO_REUSE=y -# default: -CONFIG_LWIP_SO_REUSE_RXTOALL=y -CONFIG_LWIP_SO_RCVBUF=y -# default: -# CONFIG_LWIP_NETBUF_RECVINFO is not set -# default: -CONFIG_LWIP_IP_DEFAULT_TTL=64 -# default: -CONFIG_LWIP_IP4_FRAG=y -# default: -CONFIG_LWIP_IP6_FRAG=y -# default: -# CONFIG_LWIP_IP4_REASSEMBLY is not set -# default: -# CONFIG_LWIP_IP6_REASSEMBLY is not set -# default: -CONFIG_LWIP_IP_REASS_MAX_PBUFS=10 -# default: -# CONFIG_LWIP_IP_FORWARD is not set -# default: -# CONFIG_LWIP_STATS is not set -# default: -CONFIG_LWIP_ESP_GRATUITOUS_ARP=y -# default: -CONFIG_LWIP_GARP_TMR_INTERVAL=60 -# default: -CONFIG_LWIP_ESP_MLDV6_REPORT=y -# default: -CONFIG_LWIP_MLDV6_TMR_INTERVAL=40 -# default: -CONFIG_LWIP_TCPIP_RECVMBOX_SIZE=32 -# default: -CONFIG_LWIP_DHCP_DOES_ARP_CHECK=y -# default: -# CONFIG_LWIP_DHCP_DOES_ACD_CHECK is not set -# default: -# CONFIG_LWIP_DHCP_DOES_NOT_CHECK_OFFERED_IP is not set -# default: -# CONFIG_LWIP_DHCP_DISABLE_CLIENT_ID is not set -# default: -CONFIG_LWIP_DHCP_DISABLE_VENDOR_CLASS_ID=y -# default: -# CONFIG_LWIP_DHCP_RESTORE_LAST_IP is not set -# default: -CONFIG_LWIP_DHCP_OPTIONS_LEN=69 -# default: -CONFIG_LWIP_NUM_NETIF_CLIENT_DATA=0 -# default: -CONFIG_LWIP_DHCP_COARSE_TIMER_SECS=1 - -# -# DHCP server -# -# default: -CONFIG_LWIP_DHCPS=y -# default: -CONFIG_LWIP_DHCPS_LEASE_UNIT=60 -# default: -CONFIG_LWIP_DHCPS_MAX_STATION_NUM=8 -# default: -CONFIG_LWIP_DHCPS_STATIC_ENTRIES=y -# default: -CONFIG_LWIP_DHCPS_ADD_DNS=y -# end of DHCP server - -# default: -# CONFIG_LWIP_AUTOIP is not set -# default: -CONFIG_LWIP_IPV4=y -# default: -CONFIG_LWIP_IPV6=y -# default: -# CONFIG_LWIP_IPV6_AUTOCONFIG is not set -# default: -CONFIG_LWIP_IPV6_NUM_ADDRESSES=3 -# default: -# CONFIG_LWIP_IPV6_FORWARD is not set -# default: -# CONFIG_LWIP_NETIF_STATUS_CALLBACK is not set -# default: -CONFIG_LWIP_NETIF_LOOPBACK=y -# default: -CONFIG_LWIP_LOOPBACK_MAX_PBUFS=8 - -# -# TCP -# -# default: -CONFIG_LWIP_MAX_ACTIVE_TCP=16 -# default: -CONFIG_LWIP_MAX_LISTENING_TCP=16 -# default: -CONFIG_LWIP_TCP_HIGH_SPEED_RETRANSMISSION=y -# default: -CONFIG_LWIP_TCP_MAXRTX=12 -# default: -CONFIG_LWIP_TCP_SYNMAXRTX=12 -# default: -CONFIG_LWIP_TCP_MSS=1440 -# default: -CONFIG_LWIP_TCP_TMR_INTERVAL=250 -# default: -CONFIG_LWIP_TCP_MSL=60000 -# default: -CONFIG_LWIP_TCP_FIN_WAIT_TIMEOUT=20000 -# default: -CONFIG_LWIP_TCP_SND_BUF_DEFAULT=5760 -# default: -CONFIG_LWIP_TCP_WND_DEFAULT=5760 -# default: -CONFIG_LWIP_TCP_RECVMBOX_SIZE=6 -# default: -CONFIG_LWIP_TCP_ACCEPTMBOX_SIZE=6 -# default: -CONFIG_LWIP_TCP_QUEUE_OOSEQ=y -# default: -CONFIG_LWIP_TCP_OOSEQ_TIMEOUT=6 -# default: -CONFIG_LWIP_TCP_OOSEQ_MAX_PBUFS=4 -# default: -# CONFIG_LWIP_TCP_SACK_OUT is not set -# default: -CONFIG_LWIP_TCP_OVERSIZE_MSS=y -# default: -# CONFIG_LWIP_TCP_OVERSIZE_QUARTER_MSS is not set -# default: -# CONFIG_LWIP_TCP_OVERSIZE_DISABLE is not set -# default: -CONFIG_LWIP_TCP_RTO_TIME=1500 -# end of TCP - -# -# UDP -# -# default: -CONFIG_LWIP_MAX_UDP_PCBS=16 -# default: -CONFIG_LWIP_UDP_RECVMBOX_SIZE=6 -# end of UDP - -# -# Checksums -# -# default: -# CONFIG_LWIP_CHECKSUM_CHECK_IP is not set -# default: -# CONFIG_LWIP_CHECKSUM_CHECK_UDP is not set -# default: -CONFIG_LWIP_CHECKSUM_CHECK_ICMP=y -# end of Checksums - -# default: -CONFIG_LWIP_TCPIP_TASK_STACK_SIZE=3072 -# default: -CONFIG_LWIP_TCPIP_TASK_AFFINITY_NO_AFFINITY=y -# default: -# CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU0 is not set -# default: -# CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU1 is not set -# default: -CONFIG_LWIP_TCPIP_TASK_AFFINITY=0x7FFFFFFF -# default: -CONFIG_LWIP_IPV6_MEMP_NUM_ND6_QUEUE=3 -# default: -CONFIG_LWIP_IPV6_ND6_NUM_NEIGHBORS=5 -# default: -CONFIG_LWIP_IPV6_ND6_NUM_PREFIXES=5 -# default: -CONFIG_LWIP_IPV6_ND6_NUM_ROUTERS=3 -# default: -CONFIG_LWIP_IPV6_ND6_NUM_DESTINATIONS=10 -# default: -# CONFIG_LWIP_IPV6_ND6_ROUTE_INFO_OPTION_SUPPORT is not set -# default: -CONFIG_LWIP_PPP_SUPPORT=y -# default: -CONFIG_LWIP_PPP_ENABLE_IPV4=y -# default: -CONFIG_LWIP_PPP_ENABLE_IPV6=y -# default: -# CONFIG_LWIP_PPP_NOTIFY_PHASE_SUPPORT is not set -# default: -# CONFIG_LWIP_PPP_PAP_SUPPORT is not set -# default: -# CONFIG_LWIP_PPP_CHAP_SUPPORT is not set -# default: -# CONFIG_LWIP_PPP_MSCHAP_SUPPORT is not set -# default: -# CONFIG_LWIP_PPP_MPPE_SUPPORT is not set -# default: -# CONFIG_LWIP_PPP_SERVER_SUPPORT is not set -# default: -CONFIG_LWIP_PPP_VJ_HEADER_COMPRESSION=y -# default: -# CONFIG_LWIP_ENABLE_LCP_ECHO is not set -# default: -# CONFIG_LWIP_PPP_DEBUG_ON is not set -# default: -# CONFIG_LWIP_USE_EXTERNAL_MBEDTLS is not set -# default: -# CONFIG_LWIP_SLIP_SUPPORT is not set - -# -# ICMP -# -# default: -CONFIG_LWIP_ICMP=y -# default: -# CONFIG_LWIP_MULTICAST_PING is not set -# default: -# CONFIG_LWIP_BROADCAST_PING is not set -# end of ICMP - -# -# LWIP RAW API -# -# default: -CONFIG_LWIP_MAX_RAW_PCBS=16 -# end of LWIP RAW API - -# -# SNTP -# -# default: -CONFIG_LWIP_SNTP_MAX_SERVERS=1 -# default: -# CONFIG_LWIP_DHCP_GET_NTP_SRV is not set -# default: -CONFIG_LWIP_SNTP_UPDATE_DELAY=3600000 -# default: -CONFIG_LWIP_SNTP_STARTUP_DELAY=y -# default: -CONFIG_LWIP_SNTP_MAXIMUM_STARTUP_DELAY=5000 -# end of SNTP - -# -# DNS -# -# default: -CONFIG_LWIP_DNS_MAX_HOST_IP=1 -# default: -CONFIG_LWIP_DNS_MAX_SERVERS=3 -# default: -# CONFIG_LWIP_FALLBACK_DNS_SERVER_SUPPORT is not set -# default: -# CONFIG_LWIP_DNS_SETSERVER_WITH_NETIF is not set -# default: -# CONFIG_LWIP_USE_ESP_GETADDRINFO is not set -# end of DNS - -# default: -CONFIG_LWIP_BRIDGEIF_MAX_PORTS=7 -# default: -CONFIG_LWIP_ESP_LWIP_ASSERT=y - -# -# Hooks -# -# default: -# CONFIG_LWIP_HOOK_TCP_ISN_NONE is not set -# default: -CONFIG_LWIP_HOOK_TCP_ISN_DEFAULT=y -# default: -# CONFIG_LWIP_HOOK_TCP_ISN_CUSTOM is not set -# default: -CONFIG_LWIP_HOOK_IP6_ROUTE_NONE=y -# default: -# CONFIG_LWIP_HOOK_IP6_ROUTE_DEFAULT is not set -# default: -# CONFIG_LWIP_HOOK_IP6_ROUTE_CUSTOM is not set -# default: -CONFIG_LWIP_HOOK_ND6_GET_GW_NONE=y -# default: -# CONFIG_LWIP_HOOK_ND6_GET_GW_DEFAULT is not set -# default: -# CONFIG_LWIP_HOOK_ND6_GET_GW_CUSTOM is not set -# default: -CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_NONE=y -# default: -# CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_DEFAULT is not set -# default: -# CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_CUSTOM is not set -# default: -CONFIG_LWIP_HOOK_DHCP_EXTRA_OPTION_NONE=y -# default: -# CONFIG_LWIP_HOOK_DHCP_EXTRA_OPTION_DEFAULT is not set -# default: -# CONFIG_LWIP_HOOK_DHCP_EXTRA_OPTION_CUSTOM is not set -# default: -CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_NONE=y -# default: -# CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_DEFAULT is not set -# default: -# CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_CUSTOM is not set -# default: -CONFIG_LWIP_HOOK_DNS_EXT_RESOLVE_NONE=y -# default: -# CONFIG_LWIP_HOOK_DNS_EXT_RESOLVE_CUSTOM is not set -# default: -# CONFIG_LWIP_HOOK_IP6_INPUT_NONE is not set -# default: -CONFIG_LWIP_HOOK_IP6_INPUT_DEFAULT=y -# default: -# CONFIG_LWIP_HOOK_IP6_INPUT_CUSTOM is not set -# end of Hooks - -# default: -# CONFIG_LWIP_DEBUG is not set -# end of LWIP - -# -# mbedTLS -# -# default: -CONFIG_MBEDTLS_INTERNAL_MEM_ALLOC=y -# default: -# CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC is not set -# default: -# CONFIG_MBEDTLS_CUSTOM_MEM_ALLOC is not set -# default: -CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN=y -# default: -CONFIG_MBEDTLS_SSL_IN_CONTENT_LEN=16384 -# default: -CONFIG_MBEDTLS_SSL_OUT_CONTENT_LEN=4096 -# default: -# CONFIG_MBEDTLS_DYNAMIC_BUFFER is not set -# default: -# CONFIG_MBEDTLS_DEBUG is not set - -# -# mbedTLS v3.x related -# -# default: -# CONFIG_MBEDTLS_SSL_PROTO_TLS1_3 is not set -# default: -# CONFIG_MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH is not set -# default: -# CONFIG_MBEDTLS_X509_TRUSTED_CERT_CALLBACK is not set -# default: -# CONFIG_MBEDTLS_SSL_CONTEXT_SERIALIZATION is not set -# default: -CONFIG_MBEDTLS_SSL_KEEP_PEER_CERTIFICATE=y -# default: -# CONFIG_MBEDTLS_SSL_KEYING_MATERIAL_EXPORT is not set -# default: -CONFIG_MBEDTLS_PKCS7_C=y -# end of mbedTLS v3.x related - -# -# Certificate Bundle -# -# default: -CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=y -# default: -CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_FULL=y -# default: -# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_CMN is not set -# default: -# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_NONE is not set -# default: -# CONFIG_MBEDTLS_CUSTOM_CERTIFICATE_BUNDLE is not set -# default: -# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEPRECATED_LIST is not set -# default: -CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_MAX_CERTS=200 -# end of Certificate Bundle - -# default: -# CONFIG_MBEDTLS_ECP_RESTARTABLE is not set -# default: -CONFIG_MBEDTLS_CMAC_C=y -# default: -CONFIG_MBEDTLS_HARDWARE_AES=y -# default: -CONFIG_MBEDTLS_AES_USE_INTERRUPT=y -# default: -CONFIG_MBEDTLS_AES_INTERRUPT_LEVEL=0 -# default: -CONFIG_MBEDTLS_GCM_SUPPORT_NON_AES_CIPHER=y -# default: -CONFIG_MBEDTLS_HARDWARE_MPI=y -# default: -# CONFIG_MBEDTLS_LARGE_KEY_SOFTWARE_MPI is not set -# default: -CONFIG_MBEDTLS_MPI_USE_INTERRUPT=y -# default: -CONFIG_MBEDTLS_MPI_INTERRUPT_LEVEL=0 -# default: -CONFIG_MBEDTLS_HARDWARE_SHA=y -# default: -CONFIG_MBEDTLS_ROM_MD5=y -# default: -# CONFIG_MBEDTLS_ATCA_HW_ECDSA_SIGN is not set -# default: -# CONFIG_MBEDTLS_ATCA_HW_ECDSA_VERIFY is not set -# default: -CONFIG_MBEDTLS_HAVE_TIME=y -# default: -# CONFIG_MBEDTLS_PLATFORM_TIME_ALT is not set -# default: -# CONFIG_MBEDTLS_HAVE_TIME_DATE is not set -# default: -CONFIG_MBEDTLS_ECDSA_DETERMINISTIC=y -# default: -CONFIG_MBEDTLS_SHA1_C=y -# default: -CONFIG_MBEDTLS_SHA512_C=y -# default: -# CONFIG_MBEDTLS_SHA3_C is not set -# default: -CONFIG_MBEDTLS_TLS_SERVER_AND_CLIENT=y -# default: -# CONFIG_MBEDTLS_TLS_SERVER_ONLY is not set -# default: -# CONFIG_MBEDTLS_TLS_CLIENT_ONLY is not set -# default: -# CONFIG_MBEDTLS_TLS_DISABLED is not set -# default: -CONFIG_MBEDTLS_TLS_SERVER=y -# default: -CONFIG_MBEDTLS_TLS_CLIENT=y -# default: -CONFIG_MBEDTLS_TLS_ENABLED=y - -# -# TLS Key Exchange Methods -# -CONFIG_MBEDTLS_PSK_MODES=y -CONFIG_MBEDTLS_KEY_EXCHANGE_PSK=y -# default: -CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_PSK=y -# default: -CONFIG_MBEDTLS_KEY_EXCHANGE_RSA_PSK=y -# default: -CONFIG_MBEDTLS_KEY_EXCHANGE_RSA=y -# default: -CONFIG_MBEDTLS_KEY_EXCHANGE_ELLIPTIC_CURVE=y -# default: -CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_RSA=y -# default: -CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA=y -# default: -CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA=y -# default: -CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_RSA=y -# end of TLS Key Exchange Methods - -# default: -CONFIG_MBEDTLS_SSL_RENEGOTIATION=y -# default: -CONFIG_MBEDTLS_SSL_PROTO_TLS1_2=y -# default: -# CONFIG_MBEDTLS_SSL_PROTO_GMTSSL1_1 is not set -# default: -# CONFIG_MBEDTLS_SSL_PROTO_DTLS is not set -# default: -CONFIG_MBEDTLS_SSL_ALPN=y -# default: -CONFIG_MBEDTLS_CLIENT_SSL_SESSION_TICKETS=y -# default: -CONFIG_MBEDTLS_SERVER_SSL_SESSION_TICKETS=y - -# -# Symmetric Ciphers -# -# default: -CONFIG_MBEDTLS_AES_C=y -# default: -# CONFIG_MBEDTLS_CAMELLIA_C is not set -# default: -# CONFIG_MBEDTLS_DES_C is not set -# default: -# CONFIG_MBEDTLS_BLOWFISH_C is not set -# default: -# CONFIG_MBEDTLS_XTEA_C is not set -# default: -CONFIG_MBEDTLS_CCM_C=y -# default: -CONFIG_MBEDTLS_GCM_C=y -# default: -# CONFIG_MBEDTLS_NIST_KW_C is not set -# end of Symmetric Ciphers - -# default: -# CONFIG_MBEDTLS_RIPEMD160_C is not set - -# -# Certificates -# -# default: -CONFIG_MBEDTLS_PEM_PARSE_C=y -# default: -CONFIG_MBEDTLS_PEM_WRITE_C=y -# default: -CONFIG_MBEDTLS_X509_CRL_PARSE_C=y -# default: -CONFIG_MBEDTLS_X509_CSR_PARSE_C=y -# end of Certificates - -# default: -CONFIG_MBEDTLS_ECP_C=y -# default: -CONFIG_MBEDTLS_PK_PARSE_EC_EXTENDED=y -# default: -CONFIG_MBEDTLS_PK_PARSE_EC_COMPRESSED=y -# default: -# CONFIG_MBEDTLS_DHM_C is not set -# default: -CONFIG_MBEDTLS_ECDH_C=y -# default: -CONFIG_MBEDTLS_ECDSA_C=y -# default: -# CONFIG_MBEDTLS_ECJPAKE_C is not set -# default: -CONFIG_MBEDTLS_ECP_DP_SECP192R1_ENABLED=y -# default: -CONFIG_MBEDTLS_ECP_DP_SECP224R1_ENABLED=y -# default: -CONFIG_MBEDTLS_ECP_DP_SECP256R1_ENABLED=y -# default: -CONFIG_MBEDTLS_ECP_DP_SECP384R1_ENABLED=y -# default: -CONFIG_MBEDTLS_ECP_DP_SECP521R1_ENABLED=y -# default: -CONFIG_MBEDTLS_ECP_DP_SECP192K1_ENABLED=y -# default: -CONFIG_MBEDTLS_ECP_DP_SECP224K1_ENABLED=y -# default: -CONFIG_MBEDTLS_ECP_DP_SECP256K1_ENABLED=y -# default: -CONFIG_MBEDTLS_ECP_DP_BP256R1_ENABLED=y -# default: -CONFIG_MBEDTLS_ECP_DP_BP384R1_ENABLED=y -# default: -CONFIG_MBEDTLS_ECP_DP_BP512R1_ENABLED=y -# default: -CONFIG_MBEDTLS_ECP_DP_CURVE25519_ENABLED=y -# default: -CONFIG_MBEDTLS_ECP_NIST_OPTIM=y -# default: -# CONFIG_MBEDTLS_ECP_FIXED_POINT_OPTIM is not set -# default: -# CONFIG_MBEDTLS_POLY1305_C is not set -# default: -# CONFIG_MBEDTLS_CHACHA20_C is not set -# default: -# CONFIG_MBEDTLS_HKDF_C is not set -# default: -# CONFIG_MBEDTLS_THREADING_C is not set -# default: -CONFIG_MBEDTLS_ERROR_STRINGS=y -# default: -CONFIG_MBEDTLS_FS_IO=y -# default: -# CONFIG_MBEDTLS_ALLOW_WEAK_CERTIFICATE_VERIFICATION is not set -# end of mbedTLS - -# -# ESP-MQTT Configurations -# -# default: -CONFIG_MQTT_PROTOCOL_311=y -# default: -# CONFIG_MQTT_PROTOCOL_5 is not set -# default: -CONFIG_MQTT_TRANSPORT_SSL=y -# default: -CONFIG_MQTT_TRANSPORT_WEBSOCKET=y -# default: -CONFIG_MQTT_TRANSPORT_WEBSOCKET_SECURE=y -# default: -# CONFIG_MQTT_MSG_ID_INCREMENTAL is not set -# default: -# CONFIG_MQTT_SKIP_PUBLISH_IF_DISCONNECTED is not set -# default: -# CONFIG_MQTT_REPORT_DELETED_MESSAGES is not set -# default: -# CONFIG_MQTT_USE_CUSTOM_CONFIG is not set -# default: -# CONFIG_MQTT_TASK_CORE_SELECTION_ENABLED is not set -# default: -# CONFIG_MQTT_CUSTOM_OUTBOX is not set -# end of ESP-MQTT Configurations - -# -# LibC -# -# default: -CONFIG_LIBC_NEWLIB=y -# default: -# CONFIG_LIBC_PICOLIBC is not set -# default: -CONFIG_LIBC_MISC_IN_IRAM=y -# default: -CONFIG_LIBC_LOCKS_PLACE_IN_IRAM=y -# default: -CONFIG_LIBC_STDOUT_LINE_ENDING_CRLF=y -# default: -# CONFIG_LIBC_STDOUT_LINE_ENDING_LF is not set -# default: -# CONFIG_LIBC_STDOUT_LINE_ENDING_CR is not set -# default: -# CONFIG_LIBC_STDIN_LINE_ENDING_CRLF is not set -# default: -# CONFIG_LIBC_STDIN_LINE_ENDING_LF is not set -# default: -CONFIG_LIBC_STDIN_LINE_ENDING_CR=y -# default: -# CONFIG_LIBC_NEWLIB_NANO_FORMAT is not set -# default: -CONFIG_LIBC_TIME_SYSCALL_USE_RTC_HRT=y -# default: -# CONFIG_LIBC_TIME_SYSCALL_USE_RTC is not set -# default: -# CONFIG_LIBC_TIME_SYSCALL_USE_HRT is not set -# default: -# CONFIG_LIBC_TIME_SYSCALL_USE_NONE is not set -# default: -CONFIG_LIBC_ASSERT_BUFFER_SIZE=200 -# end of LibC - -# -# NVS -# -# default: -# CONFIG_NVS_ENCRYPTION is not set -# default: -# CONFIG_NVS_ASSERT_ERROR_CHECK is not set -# default: -# CONFIG_NVS_LEGACY_DUP_KEYS_COMPATIBILITY is not set -# end of NVS - -# -# OpenThread -# -# default: -# CONFIG_OPENTHREAD_ENABLED is not set - -# -# OpenThread Spinel -# -# default: -# CONFIG_OPENTHREAD_SPINEL_ONLY is not set -# end of OpenThread Spinel - -# default: -# CONFIG_OPENTHREAD_DEBUG is not set -# end of OpenThread - -# -# Protocomm -# -# default: -CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_0=y -# default: -CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_1=y -# default: -CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_2=y -# default: -CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_PATCH_VERSION=y -# end of Protocomm - -# -# PThreads -# -# default: -CONFIG_PTHREAD_TASK_PRIO_DEFAULT=5 -# default: -CONFIG_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 -# default: -CONFIG_PTHREAD_STACK_MIN=768 -# default: -CONFIG_PTHREAD_DEFAULT_CORE_NO_AFFINITY=y -# default: -# CONFIG_PTHREAD_DEFAULT_CORE_0 is not set -# default: -# CONFIG_PTHREAD_DEFAULT_CORE_1 is not set -# default: -CONFIG_PTHREAD_TASK_CORE_DEFAULT=-1 -# default: -CONFIG_PTHREAD_TASK_NAME_DEFAULT="pthread" -# end of PThreads - -# -# MMU Config -# -# default: -CONFIG_MMU_PAGE_SIZE_64KB=y -# default: -CONFIG_MMU_PAGE_MODE="64KB" -# default: -CONFIG_MMU_PAGE_SIZE=0x10000 -# end of MMU Config - -# -# Main Flash configuration -# - -# -# SPI Flash behavior when brownout -# -# default: -CONFIG_SPI_FLASH_BROWNOUT_RESET_XMC=y -# default: -CONFIG_SPI_FLASH_BROWNOUT_RESET=y -# end of SPI Flash behavior when brownout - -# -# Optional and Experimental Features (READ DOCS FIRST) -# - -# -# Features here require specific hardware (READ DOCS FIRST!) -# -# default: -# CONFIG_SPI_FLASH_HPM_ENA is not set -# default: -CONFIG_SPI_FLASH_HPM_AUTO=y -# default: -# CONFIG_SPI_FLASH_HPM_DIS is not set -# default: -CONFIG_SPI_FLASH_HPM_ON=y -# default: -CONFIG_SPI_FLASH_HPM_DC_AUTO=y -# default: -# CONFIG_SPI_FLASH_HPM_DC_DISABLE is not set -# default: -# CONFIG_SPI_FLASH_AUTO_SUSPEND is not set -# default: -CONFIG_SPI_FLASH_SUSPEND_TSUS_VAL_US=50 -# default: -# CONFIG_SPI_FLASH_FORCE_ENABLE_XMC_C_SUSPEND is not set -# default: -# CONFIG_SPI_FLASH_FORCE_ENABLE_C6_H2_SUSPEND is not set -# default: -CONFIG_SPI_FLASH_PLACE_FUNCTIONS_IN_IRAM=y -# end of Optional and Experimental Features (READ DOCS FIRST) -# end of Main Flash configuration - -# -# SPI Flash driver -# -# default: -# CONFIG_SPI_FLASH_VERIFY_WRITE is not set -# default: -# CONFIG_SPI_FLASH_ENABLE_COUNTERS is not set -# default: -CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=y -# default: -# CONFIG_SPI_FLASH_ROM_IMPL is not set -# default: -CONFIG_SPI_FLASH_DANGEROUS_WRITE_ABORTS=y -# default: -# CONFIG_SPI_FLASH_DANGEROUS_WRITE_FAILS is not set -# default: -# CONFIG_SPI_FLASH_DANGEROUS_WRITE_ALLOWED is not set -# default: -# CONFIG_SPI_FLASH_BYPASS_BLOCK_ERASE is not set -# default: -CONFIG_SPI_FLASH_YIELD_DURING_ERASE=y -# default: -CONFIG_SPI_FLASH_ERASE_YIELD_DURATION_MS=20 -# default: -CONFIG_SPI_FLASH_ERASE_YIELD_TICKS=1 -# default: -CONFIG_SPI_FLASH_WRITE_CHUNK_SIZE=8192 -# default: -# CONFIG_SPI_FLASH_SIZE_OVERRIDE is not set -# default: -# CONFIG_SPI_FLASH_CHECK_ERASE_TIMEOUT_DISABLED is not set -# default: -# CONFIG_SPI_FLASH_OVERRIDE_CHIP_DRIVER_LIST is not set - -# -# Auto-detect flash chips -# -# default: -CONFIG_SPI_FLASH_VENDOR_XMC_SUPPORT_ENABLED=y -# default: -CONFIG_SPI_FLASH_VENDOR_GD_SUPPORT_ENABLED=y -# default: -CONFIG_SPI_FLASH_VENDOR_ISSI_SUPPORT_ENABLED=y -# default: -CONFIG_SPI_FLASH_VENDOR_MXIC_SUPPORT_ENABLED=y -# default: -CONFIG_SPI_FLASH_VENDOR_WINBOND_SUPPORT_ENABLED=y -# default: -CONFIG_SPI_FLASH_VENDOR_BOYA_SUPPORT_ENABLED=y -# default: -CONFIG_SPI_FLASH_VENDOR_TH_SUPPORT_ENABLED=y -# default: -CONFIG_SPI_FLASH_SUPPORT_ISSI_CHIP=y -# default: -CONFIG_SPI_FLASH_SUPPORT_MXIC_CHIP=y -# default: -CONFIG_SPI_FLASH_SUPPORT_GD_CHIP=y -# default: -CONFIG_SPI_FLASH_SUPPORT_WINBOND_CHIP=y -# default: -CONFIG_SPI_FLASH_SUPPORT_BOYA_CHIP=y -# default: -CONFIG_SPI_FLASH_SUPPORT_TH_CHIP=y -# default: -CONFIG_SPI_FLASH_SUPPORT_MXIC_OPI_CHIP=y -# end of Auto-detect flash chips - -# default: -CONFIG_SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE=y -# end of SPI Flash driver - -# -# SPIFFS Configuration -# -# default: -CONFIG_SPIFFS_MAX_PARTITIONS=3 - -# -# SPIFFS Cache Configuration -# -# default: -CONFIG_SPIFFS_CACHE=y -# default: -CONFIG_SPIFFS_CACHE_WR=y -# default: -# CONFIG_SPIFFS_CACHE_STATS is not set -# end of SPIFFS Cache Configuration - -# default: -CONFIG_SPIFFS_PAGE_CHECK=y -# default: -CONFIG_SPIFFS_GC_MAX_RUNS=10 -# default: -# CONFIG_SPIFFS_GC_STATS is not set -# default: -CONFIG_SPIFFS_PAGE_SIZE=256 -# default: -CONFIG_SPIFFS_OBJ_NAME_LEN=32 -# default: -# CONFIG_SPIFFS_FOLLOW_SYMLINKS is not set -# default: -CONFIG_SPIFFS_USE_MAGIC=y -# default: -CONFIG_SPIFFS_USE_MAGIC_LENGTH=y -# default: -CONFIG_SPIFFS_META_LENGTH=4 -# default: -CONFIG_SPIFFS_USE_MTIME=y - -# -# Debug Configuration -# -# default: -# CONFIG_SPIFFS_DBG is not set -# default: -# CONFIG_SPIFFS_API_DBG is not set -# default: -# CONFIG_SPIFFS_GC_DBG is not set -# default: -# CONFIG_SPIFFS_CACHE_DBG is not set -# default: -# CONFIG_SPIFFS_CHECK_DBG is not set -# default: -# CONFIG_SPIFFS_TEST_VISUALISATION is not set -# end of Debug Configuration -# end of SPIFFS Configuration - -# -# TCP Transport -# - -# -# Websocket -# -# default: -CONFIG_WS_TRANSPORT=y -# default: -CONFIG_WS_BUFFER_SIZE=1024 -# default: -# CONFIG_WS_DYNAMIC_BUFFER is not set -# end of Websocket -# end of TCP Transport - -# -# Ultra Low Power (ULP) Co-processor -# -# default: -# CONFIG_ULP_COPROC_ENABLED is not set - -# -# ULP Debugging Options -# -# end of ULP Debugging Options -# end of Ultra Low Power (ULP) Co-processor - -# -# Unity unit testing library -# -# default: -CONFIG_UNITY_ENABLE_FLOAT=y -# default: -CONFIG_UNITY_ENABLE_DOUBLE=y -# default: -# CONFIG_UNITY_ENABLE_64BIT is not set -# default: -# CONFIG_UNITY_ENABLE_COLOR is not set -# default: -CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER=y -# default: -# CONFIG_UNITY_ENABLE_FIXTURE is not set -# default: -# CONFIG_UNITY_ENABLE_BACKTRACE_ON_FAIL is not set -# default: -# CONFIG_UNITY_TEST_ORDER_BY_FILE_PATH_AND_LINE is not set -# end of Unity unit testing library - -# -# USB-OTG -# -# default: -CONFIG_USB_HOST_CONTROL_TRANSFER_MAX_SIZE=256 -# default: -CONFIG_USB_HOST_HW_BUFFER_BIAS_BALANCED=y -# default: -# CONFIG_USB_HOST_HW_BUFFER_BIAS_IN is not set -# default: -# CONFIG_USB_HOST_HW_BUFFER_BIAS_PERIODIC_OUT is not set - -# -# Hub Driver Configuration -# - -# -# Root Port configuration -# -# default: -CONFIG_USB_HOST_DEBOUNCE_DELAY_MS=250 -# default: -CONFIG_USB_HOST_RESET_HOLD_MS=30 -# default: -CONFIG_USB_HOST_RESET_RECOVERY_MS=30 -# default: -CONFIG_USB_HOST_SET_ADDR_RECOVERY_MS=10 -# end of Root Port configuration - -# default: -# CONFIG_USB_HOST_HUBS_SUPPORTED is not set -# end of Hub Driver Configuration - -# default: -# CONFIG_USB_HOST_ENABLE_ENUM_FILTER_CALLBACK is not set -# default: -CONFIG_USB_OTG_SUPPORTED=y -# end of USB-OTG - -# -# Virtual file system -# -# default: -CONFIG_VFS_SUPPORT_IO=y -# default: -CONFIG_VFS_SUPPORT_DIR=y -# default: -CONFIG_VFS_SUPPORT_SELECT=y -# default: -CONFIG_VFS_SUPPRESS_SELECT_DEBUG_OUTPUT=y -# default: -# CONFIG_VFS_SELECT_IN_RAM is not set -# default: -CONFIG_VFS_SUPPORT_TERMIOS=y -# default: -CONFIG_VFS_MAX_COUNT=8 - -# -# Host File System I/O (Semihosting) -# -# default: -CONFIG_VFS_SEMIHOSTFS_MAX_MOUNT_POINTS=1 -# end of Host File System I/O (Semihosting) - -# default: -CONFIG_VFS_INITIALIZE_DEV_NULL=y -# end of Virtual file system - -# -# Wear Levelling -# -# default: -# CONFIG_WL_SECTOR_SIZE_512 is not set -# default: -CONFIG_WL_SECTOR_SIZE_4096=y -# default: -CONFIG_WL_SECTOR_SIZE=4096 -# end of Wear Levelling - -# -# Wi-Fi Provisioning Manager -# -# default: -CONFIG_WIFI_PROV_SCAN_MAX_ENTRIES=16 -# default: -CONFIG_WIFI_PROV_AUTOSTOP_TIMEOUT=30 -# default: -CONFIG_WIFI_PROV_STA_ALL_CHANNEL_SCAN=y -# default: -# CONFIG_WIFI_PROV_STA_FAST_SCAN is not set -# end of Wi-Fi Provisioning Manager - -# -# cJSON -# -# default: -CONFIG_CJSON_NESTING_LIMIT=1000 -# default: -CONFIG_CJSON_CIRCULAR_LIMIT=10000 -# end of cJSON - -# -# DSP Library -# -# default: -CONFIG_DSP_OPTIMIZATIONS_SUPPORTED=y -# default: -# CONFIG_DSP_ANSI is not set -# default: -CONFIG_DSP_OPTIMIZED=y -# default: -CONFIG_DSP_OPTIMIZATION=1 -# default: -# CONFIG_DSP_MAX_FFT_SIZE_512 is not set -# default: -# CONFIG_DSP_MAX_FFT_SIZE_1024 is not set -# default: -# CONFIG_DSP_MAX_FFT_SIZE_2048 is not set -# default: -CONFIG_DSP_MAX_FFT_SIZE_4096=y -# default: -# CONFIG_DSP_MAX_FFT_SIZE_8192 is not set -# default: -# CONFIG_DSP_MAX_FFT_SIZE_16384 is not set -# default: -# CONFIG_DSP_MAX_FFT_SIZE_32768 is not set -# default: -CONFIG_DSP_MAX_FFT_SIZE=4096 -# end of DSP Library - -# -# Modbus configuration -# -# default: -CONFIG_FMB_COMM_MODE_TCP_EN=y -# default: -CONFIG_FMB_TCP_PORT_DEFAULT=502 -# default: -CONFIG_FMB_TCP_PORT_MAX_CONN=5 -# default: -CONFIG_FMB_TCP_CONNECTION_TOUT_SEC=20 -# default: -# CONFIG_FMB_TCP_UID_ENABLED is not set -# default: -CONFIG_FMB_COMM_MODE_RTU_EN=y -# default: -CONFIG_FMB_COMM_MODE_ASCII_EN=y -# default: -CONFIG_FMB_MASTER_TIMEOUT_MS_RESPOND=3000 -# default: -CONFIG_FMB_MASTER_DELAY_MS_CONVERT=200 -# default: -CONFIG_FMB_QUEUE_LENGTH=20 -# default: -CONFIG_FMB_PORT_TASK_STACK_SIZE=4096 -# default: -CONFIG_FMB_SERIAL_BUF_SIZE=256 -# default: -CONFIG_FMB_SERIAL_ASCII_BITS_PER_SYMB=8 -# default: -CONFIG_FMB_ASCII_TIMEOUT_WAIT_BEFORE_SEND_MS=0 -# default: -CONFIG_FMB_SERIAL_ASCII_TIMEOUT_RESPOND_MS=1000 -# default: -CONFIG_FMB_PORT_TASK_PRIO=10 -# default: -# CONFIG_FMB_PORT_TASK_AFFINITY_NO_AFFINITY is not set -# default: -CONFIG_FMB_PORT_TASK_AFFINITY_CPU0=y -# default: -# CONFIG_FMB_PORT_TASK_AFFINITY_CPU1 is not set -# default: -CONFIG_FMB_PORT_TASK_AFFINITY=0x0 -# default: -CONFIG_FMB_CONTROLLER_SLAVE_ID_SUPPORT=y -# default: -CONFIG_FMB_CONTROLLER_SLAVE_ID=0x00112233 -# default: -CONFIG_FMB_CONTROLLER_SLAVE_ID_MAX_SIZE=32 -# default: -CONFIG_FMB_CONTROLLER_NOTIFY_TIMEOUT=20 -# default: -CONFIG_FMB_CONTROLLER_NOTIFY_QUEUE_SIZE=20 -# default: -CONFIG_FMB_CONTROLLER_STACK_SIZE=4096 -# default: -CONFIG_FMB_EVENT_QUEUE_TIMEOUT=20 -# default: -# CONFIG_FMB_TIMER_PORT_ENABLED is not set -# default: -# CONFIG_FMB_TIMER_USE_ISR_DISPATCH_METHOD is not set -# default: -# CONFIG_FMB_EXT_TYPE_SUPPORT is not set -# end of Modbus configuration - -# -# ESP serial flasher -# -# default: -CONFIG_SERIAL_FLASHER_MD5_ENABLED=y -# default: -CONFIG_SERIAL_FLASHER_RESET_HOLD_TIME_MS=100 -# default: -CONFIG_SERIAL_FLASHER_BOOT_HOLD_TIME_MS=50 -# end of ESP serial flasher - -# -# Zigbee -# -# default: -# CONFIG_ZB_ENABLED is not set -# end of Zigbee - -# -# Diagnostics data store -# -# default: -CONFIG_DIAG_DATA_STORE_RTC=y -# default: -# CONFIG_DIAG_DATA_STORE_FLASH is not set -# default: -# CONFIG_DIAG_DATA_STORE_DBG_PRINTS is not set -# default: -CONFIG_DIAG_DATA_STORE_REPORTING_WATERMARK_PERCENT=80 - -# -# RTC Store -# -# default: -CONFIG_RTC_STORE_DATA_SIZE=6144 -# default: -CONFIG_RTC_STORE_CRITICAL_DATA_SIZE=4096 -# end of RTC Store -# end of Diagnostics data store - -# -# Diagnostics -# -# default: -CONFIG_DIAG_LOG_MSG_ARG_FORMAT_TLV=y -# default: -# CONFIG_DIAG_LOG_MSG_ARG_FORMAT_STRING is not set -# default: -CONFIG_DIAG_LOG_MSG_ARG_MAX_SIZE=64 -# default: -CONFIG_DIAG_LOG_DROP_WIFI_LOGS=y -# default: -CONFIG_DIAG_ENABLE_METRICS=y -# default: -CONFIG_DIAG_METRICS_MAX_COUNT=20 -# default: -CONFIG_DIAG_ENABLE_HEAP_METRICS=y -# default: -CONFIG_DIAG_ENABLE_WIFI_METRICS=y -# default: -CONFIG_DIAG_ENABLE_VARIABLES=y -# default: -CONFIG_DIAG_VARIABLES_MAX_COUNT=20 -# default: -CONFIG_DIAG_ENABLE_NETWORK_VARIABLES=y -# default: -# CONFIG_DIAG_MORE_NETWORK_VARS is not set -# default: -# CONFIG_DIAG_USE_EXTERNAL_LOG_WRAP is not set -# end of Diagnostics - -# -# ESP Insights -# -# default: -# CONFIG_ESP_INSIGHTS_ENABLED is not set -# default: -# CONFIG_ESP_INSIGHTS_TRANSPORT_MQTT is not set -# default: -CONFIG_ESP_INSIGHTS_TRANSPORT_HTTPS=y -# default: -CONFIG_ESP_INSIGHTS_TRANSPORT_HTTPS_HOST="https://client.insights.espressif.com" -# default: -CONFIG_ESP_INSIGHTS_CLOUD_POST_MIN_INTERVAL_SEC=60 -# default: -CONFIG_ESP_INSIGHTS_CLOUD_POST_MAX_INTERVAL_SEC=240 -# default: -CONFIG_ESP_INSIGHTS_META_VERSION_10=y -# end of ESP Insights - -# -# esp-modem -# -# default: -CONFIG_ESP_MODEM_CMUX_DEFRAGMENT_PAYLOAD=y -# default: -# CONFIG_ESP_MODEM_USE_INFLATABLE_BUFFER_IF_NEEDED is not set -# default: -CONFIG_ESP_MODEM_CMUX_DELAY_AFTER_DLCI_SETUP=0 -# default: -# CONFIG_ESP_MODEM_CMUX_USE_SHORT_PAYLOADS_ONLY is not set -# default: -# CONFIG_ESP_MODEM_ADD_CUSTOM_MODULE is not set -# default: -CONFIG_ESP_MODEM_C_API_STR_MAX=128 -# default: -# CONFIG_ESP_MODEM_URC_HANDLER is not set -# default: -# CONFIG_ESP_MODEM_PPP_ESCAPE_BEFORE_EXIT is not set -# default: -# CONFIG_ESP_MODEM_ADD_DEBUG_LOGS is not set -# default: -# CONFIG_ESP_MODEM_ENABLE_DEVELOPMENT_MODE is not set -# default: -CONFIG_ESP_MODEM_USE_PPP_MODE=y -# end of esp-modem - -# -# OpenThread RCP Update -# -# default: -# CONFIG_AUTO_UPDATE_RCP is not set -# default: -# CONFIG_CREATE_OTA_IMAGE_WITH_RCP_FW is not set -# end of OpenThread RCP Update - -# -# ESP Secure Cert Manager -# -# default: -CONFIG_ESP_SECURE_CERT_DS_PERIPHERAL=y -# default: -# CONFIG_ESP_SECURE_CERT_SUPPORT_LEGACY_FORMATS is not set -# default: -# CONFIG_ESP_SECURE_CERT_WRITE_ENABLE_LOGGING is not set -# end of ESP Secure Cert Manager - -# -# jsmn -# -# default: -# CONFIG_JSMN_PARENT_LINKS is not set -# default: -# CONFIG_JSMN_STRICT is not set -# default: -# CONFIG_JSMN_STATIC is not set -# end of jsmn - -# -# libsodium -# -# default: -CONFIG_LIBSODIUM_USE_MBEDTLS_SHA=y -# end of libsodium - -# -# mDNS -# -# default: -CONFIG_MDNS_MAX_INTERFACES=3 -# default: -CONFIG_MDNS_MAX_SERVICES=10 -# default: -CONFIG_MDNS_TASK_PRIORITY=1 -# default: -CONFIG_MDNS_ACTION_QUEUE_LEN=16 -# default: -CONFIG_MDNS_TASK_STACK_SIZE=4096 -# default: -# CONFIG_MDNS_TASK_AFFINITY_NO_AFFINITY is not set -# default: -CONFIG_MDNS_TASK_AFFINITY_CPU0=y -# default: -# CONFIG_MDNS_TASK_AFFINITY_CPU1 is not set -# default: -CONFIG_MDNS_TASK_AFFINITY=0x0 - -# -# MDNS Memory Configuration -# -# default: -CONFIG_MDNS_TASK_CREATE_FROM_INTERNAL=y -# default: -CONFIG_MDNS_MEMORY_ALLOC_INTERNAL=y -# default: -# CONFIG_MDNS_MEMORY_CUSTOM_IMPL is not set -# end of MDNS Memory Configuration - -# default: -CONFIG_MDNS_SERVICE_ADD_TIMEOUT_MS=2000 -# default: -CONFIG_MDNS_TIMER_PERIOD_MS=100 -# default: -# CONFIG_MDNS_NETWORKING_SOCKET is not set -# default: -# CONFIG_MDNS_SKIP_SUPPRESSING_OWN_QUERIES is not set -# default: -# CONFIG_MDNS_ENABLE_DEBUG_PRINTS is not set -# default: -CONFIG_MDNS_ENABLE_CONSOLE_CLI=y -# default: -# CONFIG_MDNS_RESPOND_REVERSE_QUERIES is not set -# default: -CONFIG_MDNS_MULTIPLE_INSTANCE=y - -# -# MDNS Predefined interfaces -# -# default: -CONFIG_MDNS_PREDEF_NETIF_STA=y -# default: -CONFIG_MDNS_PREDEF_NETIF_AP=y -# default: -CONFIG_MDNS_PREDEF_NETIF_ETH=y -# end of MDNS Predefined interfaces -# end of mDNS - -# -# Network Provisioning Manager -# -# default: -CONFIG_NETWORK_PROV_NETWORK_TYPE_WIFI=y -# default: -CONFIG_NETWORK_PROV_SCAN_MAX_ENTRIES=16 -# default: -CONFIG_NETWORK_PROV_AUTOSTOP_TIMEOUT=30 -# default: -# CONFIG_NETWORK_PROV_BLE_FORCE_ENCRYPTION is not set -# default: -CONFIG_NETWORK_PROV_WIFI_STA_ALL_CHANNEL_SCAN=y -# default: -# CONFIG_NETWORK_PROV_WIFI_STA_FAST_SCAN is not set -# end of Network Provisioning Manager - -# -# ESP RainMaker Common -# -# default: -CONFIG_ESP_RMAKER_LIB_ESP_MQTT=y -# default: -# CONFIG_ESP_RMAKER_LIB_AWS_IOT is not set -# default: -CONFIG_ESP_RMAKER_MQTT_GLUE_LIB=1 -# default: -CONFIG_ESP_RMAKER_MQTT_PORT_443=y -# default: -# CONFIG_ESP_RMAKER_MQTT_PORT_8883 is not set -# default: -CONFIG_ESP_RMAKER_MQTT_PORT=1 -# default: -# CONFIG_ESP_RMAKER_MQTT_PERSISTENT_SESSION is not set -# default: -CONFIG_ESP_RMAKER_MQTT_SEND_USERNAME=y -# default: -CONFIG_ESP_RMAKER_MQTT_PRODUCT_NAME="RMDev" -# default: -CONFIG_ESP_RMAKER_MQTT_PRODUCT_VERSION="1x0" -# default: -CONFIG_ESP_RMAKER_MQTT_PRODUCT_SKU="EX00" -# default: -CONFIG_ESP_RMAKER_MQTT_USE_CERT_BUNDLE=y -# default: -CONFIG_ESP_RMAKER_MAX_MQTT_SUBSCRIPTIONS=10 -# default: -CONFIG_ESP_RMAKER_MQTT_KEEP_ALIVE_INTERVAL=120 -# default: -CONFIG_ESP_RMAKER_NETWORK_OVER_WIFI=y -# default: -CONFIG_ESP_RMAKER_WORK_QUEUE_TASK_STACK=4096 -# default: -CONFIG_ESP_RMAKER_WORK_QUEUE_TASK_PRIORITY=5 -# default: -CONFIG_ESP_RMAKER_FACTORY_PARTITION_NAME="fctry" -# default: -CONFIG_ESP_RMAKER_FACTORY_NAMESPACE="rmaker_creds" -# default: -CONFIG_ESP_RMAKER_DEF_TIMEZONE="Asia/Shanghai" -# default: -CONFIG_ESP_RMAKER_SNTP_SERVER_NAME="pool.ntp.org" -# default: -CONFIG_ESP_RMAKER_MAX_COMMANDS=10 -# end of ESP RainMaker Common - -# -# LittleFS -# -# default: -# CONFIG_LITTLEFS_SDMMC_SUPPORT is not set -# default: -CONFIG_LITTLEFS_MAX_PARTITIONS=3 -# default: -CONFIG_LITTLEFS_PAGE_SIZE=256 -# default: -CONFIG_LITTLEFS_OBJ_NAME_LEN=64 -# default: -CONFIG_LITTLEFS_READ_SIZE=128 -# default: -CONFIG_LITTLEFS_WRITE_SIZE=128 -# default: -CONFIG_LITTLEFS_LOOKAHEAD_SIZE=128 -# default: -CONFIG_LITTLEFS_CACHE_SIZE=512 -# default: -CONFIG_LITTLEFS_BLOCK_CYCLES=512 -# default: -CONFIG_LITTLEFS_USE_MTIME=y -# default: -# CONFIG_LITTLEFS_USE_ONLY_HASH is not set -# default: -# CONFIG_LITTLEFS_HUMAN_READABLE is not set -# default: -CONFIG_LITTLEFS_MTIME_USE_SECONDS=y -# default: -# CONFIG_LITTLEFS_MTIME_USE_NONCE is not set -# default: -# CONFIG_LITTLEFS_SPIFFS_COMPAT is not set -# default: -# CONFIG_LITTLEFS_FLUSH_FILE_EVERY_WRITE is not set -# default: -# CONFIG_LITTLEFS_FCNTL_GET_PATH is not set -# default: -# CONFIG_LITTLEFS_MULTIVERSION is not set -# default: -# CONFIG_LITTLEFS_MALLOC_STRATEGY_DISABLE is not set -# default: -CONFIG_LITTLEFS_MALLOC_STRATEGY_DEFAULT=y -# default: -# CONFIG_LITTLEFS_MALLOC_STRATEGY_INTERNAL is not set -# default: -CONFIG_LITTLEFS_ASSERTS=y -# default: -# CONFIG_LITTLEFS_MMAP_PARTITION is not set -# default: -# CONFIG_LITTLEFS_WDT_RESET is not set -# end of LittleFS -# end of Component config - -# default: -# CONFIG_IDF_EXPERIMENTAL_FEATURES is not set - -# Deprecated options for backward compatibility -# CONFIG_APP_BUILD_TYPE_ELF_RAM is not set -# CONFIG_NO_BLOBS is not set -# CONFIG_APP_ROLLBACK_ENABLE is not set -# CONFIG_LOG_BOOTLOADER_LEVEL_NONE is not set -# CONFIG_LOG_BOOTLOADER_LEVEL_ERROR is not set -# CONFIG_LOG_BOOTLOADER_LEVEL_WARN is not set -CONFIG_LOG_BOOTLOADER_LEVEL_INFO=y -# CONFIG_LOG_BOOTLOADER_LEVEL_DEBUG is not set -# CONFIG_LOG_BOOTLOADER_LEVEL_VERBOSE is not set -CONFIG_LOG_BOOTLOADER_LEVEL=3 -# CONFIG_FLASH_ENCRYPTION_ENABLED is not set -# CONFIG_FLASHMODE_QIO is not set -# CONFIG_FLASHMODE_QOUT is not set -CONFIG_FLASHMODE_DIO=y -# CONFIG_FLASHMODE_DOUT is not set -CONFIG_MONITOR_BAUD=115200 -# CONFIG_ESP_RMAKER_LOCAL_CTRL_ENABLE is not set -CONFIG_OPTIMIZATION_LEVEL_DEBUG=y -CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG=y -CONFIG_COMPILER_OPTIMIZATION_DEFAULT=y -# CONFIG_OPTIMIZATION_LEVEL_RELEASE is not set -# CONFIG_COMPILER_OPTIMIZATION_LEVEL_RELEASE is not set -CONFIG_OPTIMIZATION_ASSERTIONS_ENABLED=y -# CONFIG_OPTIMIZATION_ASSERTIONS_SILENT is not set -# CONFIG_OPTIMIZATION_ASSERTIONS_DISABLED is not set -CONFIG_OPTIMIZATION_ASSERTION_LEVEL=2 -# CONFIG_CXX_EXCEPTIONS is not set -CONFIG_STACK_CHECK_NONE=y -# CONFIG_STACK_CHECK_NORM is not set -# CONFIG_STACK_CHECK_STRONG is not set -# CONFIG_STACK_CHECK_ALL is not set -# CONFIG_WARN_WRITE_STRINGS is not set -# CONFIG_ESP32_APPTRACE_DEST_TRAX is not set -CONFIG_ESP32_APPTRACE_DEST_NONE=y -CONFIG_ESP32_APPTRACE_LOCK_ENABLE=y -# CONFIG_EXTERNAL_COEX_ENABLE is not set -# CONFIG_ESP_WIFI_EXTERNAL_COEXIST_ENABLE is not set -# CONFIG_CAM_CTLR_DVP_CAM_ISR_IRAM_SAFE is not set -# CONFIG_GPTIMER_ISR_IRAM_SAFE is not set -# CONFIG_MCPWM_ISR_IRAM_SAFE is not set -# CONFIG_EVENT_LOOP_PROFILING is not set -CONFIG_POST_EVENTS_FROM_ISR=y -CONFIG_POST_EVENTS_FROM_IRAM_ISR=y -CONFIG_GDBSTUB_SUPPORT_TASKS=y -CONFIG_GDBSTUB_MAX_TASKS=32 -# CONFIG_OTA_ALLOW_HTTP is not set -# CONFIG_ESP_SYSTEM_PD_FLASH is not set -CONFIG_ESP32S3_DEEP_SLEEP_WAKEUP_DELAY=2000 -CONFIG_ESP_SLEEP_DEEP_SLEEP_WAKEUP_DELAY=2000 -CONFIG_ESP32S3_RTC_CLK_SRC_INT_RC=y -# CONFIG_ESP32S3_RTC_CLK_SRC_EXT_CRYS is not set -# CONFIG_ESP32S3_RTC_CLK_SRC_EXT_OSC is not set -# CONFIG_ESP32S3_RTC_CLK_SRC_INT_8MD256 is not set -CONFIG_ESP32S3_RTC_CLK_CAL_CYCLES=1024 -CONFIG_PERIPH_CTRL_FUNC_IN_IRAM=y -CONFIG_BROWNOUT_DET=y -CONFIG_ESP32S3_BROWNOUT_DET=y -CONFIG_BROWNOUT_DET_LVL_SEL_7=y -CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_7=y -# CONFIG_BROWNOUT_DET_LVL_SEL_6 is not set -# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_6 is not set -# CONFIG_BROWNOUT_DET_LVL_SEL_5 is not set -# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_5 is not set -# CONFIG_BROWNOUT_DET_LVL_SEL_4 is not set -# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_4 is not set -# CONFIG_BROWNOUT_DET_LVL_SEL_3 is not set -# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_3 is not set -# CONFIG_BROWNOUT_DET_LVL_SEL_2 is not set -# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_2 is not set -# CONFIG_BROWNOUT_DET_LVL_SEL_1 is not set -# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_1 is not set -CONFIG_BROWNOUT_DET_LVL=7 -CONFIG_ESP32S3_BROWNOUT_DET_LVL=7 -CONFIG_ESP_SYSTEM_BROWNOUT_INTR=y -CONFIG_ESP32_PHY_CALIBRATION_AND_DATA_STORAGE=y -# CONFIG_ESP32_PHY_INIT_DATA_IN_PARTITION is not set -CONFIG_ESP32_PHY_MAX_WIFI_TX_POWER=20 -CONFIG_ESP32_PHY_MAX_TX_POWER=20 -# CONFIG_REDUCE_PHY_TX_POWER is not set -# CONFIG_ESP32_REDUCE_PHY_TX_POWER is not set -CONFIG_ESP_SYSTEM_PM_POWER_DOWN_CPU=y -CONFIG_PM_POWER_DOWN_TAGMEM_IN_LIGHT_SLEEP=y -# CONFIG_ESP32S3_SPIRAM_SUPPORT is not set -# CONFIG_ESP32S3_DEFAULT_CPU_FREQ_80 is not set -CONFIG_ESP32S3_DEFAULT_CPU_FREQ_160=y -# CONFIG_ESP32S3_DEFAULT_CPU_FREQ_240 is not set -CONFIG_ESP32S3_DEFAULT_CPU_FREQ_MHZ=160 -CONFIG_SYSTEM_EVENT_QUEUE_SIZE=32 -CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE=2304 -CONFIG_MAIN_TASK_STACK_SIZE=8192 -CONFIG_CONSOLE_UART_DEFAULT=y -# CONFIG_CONSOLE_UART_CUSTOM is not set -# CONFIG_CONSOLE_UART_NONE is not set -# CONFIG_ESP_CONSOLE_UART_NONE is not set -CONFIG_CONSOLE_UART=y -CONFIG_CONSOLE_UART_NUM=0 -CONFIG_CONSOLE_UART_BAUDRATE=115200 -CONFIG_INT_WDT=y -CONFIG_INT_WDT_TIMEOUT_MS=300 -CONFIG_INT_WDT_CHECK_CPU1=y -CONFIG_TASK_WDT=y -CONFIG_ESP_TASK_WDT=y -# CONFIG_TASK_WDT_PANIC is not set -CONFIG_TASK_WDT_TIMEOUT_S=5 -CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU0=y -CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU1=y -# CONFIG_ESP32_DEBUG_STUBS_ENABLE is not set -CONFIG_ESP32S3_DEBUG_OCDAWARE=y -CONFIG_IPC_TASK_STACK_SIZE=1280 -CONFIG_TIMER_TASK_STACK_SIZE=3584 -CONFIG_ESP32_WIFI_ENABLED=y -CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=10 -CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=32 -# CONFIG_ESP32_WIFI_STATIC_TX_BUFFER is not set -CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER=y -CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=1 -CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER_NUM=32 -# CONFIG_ESP32_WIFI_CSI_ENABLED is not set -CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED=y -CONFIG_ESP32_WIFI_TX_BA_WIN=6 -CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y -CONFIG_ESP32_WIFI_RX_BA_WIN=6 -CONFIG_ESP32_WIFI_NVS_ENABLED=y -CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_0=y -# CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_1 is not set -CONFIG_ESP32_WIFI_SOFTAP_BEACON_MAX_LEN=752 -CONFIG_ESP32_WIFI_MGMT_SBUF_NUM=32 -CONFIG_ESP32_WIFI_IRAM_OPT=y -CONFIG_ESP32_WIFI_RX_IRAM_OPT=y -CONFIG_ESP32_WIFI_ENABLE_WPA3_SAE=y -CONFIG_ESP32_WIFI_ENABLE_WPA3_OWE_STA=y -CONFIG_WPA_MBEDTLS_CRYPTO=y -CONFIG_WPA_MBEDTLS_TLS_CLIENT=y -# CONFIG_WPA_WAPI_PSK is not set -# CONFIG_WPA_SUITE_B_192 is not set -# CONFIG_WPA_11KV_SUPPORT is not set -# CONFIG_WPA_MBO_SUPPORT is not set -# CONFIG_WPA_DPP_SUPPORT is not set -# CONFIG_WPA_11R_SUPPORT is not set -# CONFIG_WPA_WPS_SOFTAP_REGISTRAR is not set -# CONFIG_WPA_WPS_STRICT is not set -# CONFIG_WPA_DEBUG_PRINT is not set -# CONFIG_ESP32_ENABLE_COREDUMP_TO_FLASH is not set -# CONFIG_ESP32_ENABLE_COREDUMP_TO_UART is not set -CONFIG_ESP32_ENABLE_COREDUMP_TO_NONE=y -CONFIG_TIMER_TASK_PRIORITY=1 -CONFIG_TIMER_TASK_STACK_DEPTH=2048 -CONFIG_TIMER_QUEUE_LENGTH=10 -# CONFIG_ENABLE_STATIC_TASK_CLEAN_UP_HOOK is not set -# CONFIG_HAL_ASSERTION_SILIENT is not set -# CONFIG_L2_TO_L3_COPY is not set -CONFIG_ESP_GRATUITOUS_ARP=y -CONFIG_GARP_TMR_INTERVAL=60 -CONFIG_TCPIP_RECVMBOX_SIZE=32 -CONFIG_TCP_MAXRTX=12 -CONFIG_TCP_SYNMAXRTX=12 -CONFIG_TCP_MSS=1440 -CONFIG_TCP_MSL=60000 -CONFIG_TCP_SND_BUF_DEFAULT=5760 -CONFIG_TCP_WND_DEFAULT=5760 -CONFIG_TCP_RECVMBOX_SIZE=6 -CONFIG_TCP_QUEUE_OOSEQ=y -CONFIG_TCP_OVERSIZE_MSS=y -# CONFIG_TCP_OVERSIZE_QUARTER_MSS is not set -# CONFIG_TCP_OVERSIZE_DISABLE is not set -CONFIG_UDP_RECVMBOX_SIZE=6 -CONFIG_TCPIP_TASK_STACK_SIZE=3072 -CONFIG_TCPIP_TASK_AFFINITY_NO_AFFINITY=y -# CONFIG_TCPIP_TASK_AFFINITY_CPU0 is not set -# CONFIG_TCPIP_TASK_AFFINITY_CPU1 is not set -CONFIG_TCPIP_TASK_AFFINITY=0x7FFFFFFF -CONFIG_PPP_SUPPORT=y -# CONFIG_PPP_NOTIFY_PHASE_SUPPORT is not set -# CONFIG_PPP_PAP_SUPPORT is not set -# CONFIG_PPP_CHAP_SUPPORT is not set -# CONFIG_PPP_MSCHAP_SUPPORT is not set -# CONFIG_PPP_MPPE_SUPPORT is not set -# CONFIG_PPP_DEBUG_ON is not set -CONFIG_NEWLIB_STDOUT_LINE_ENDING_CRLF=y -# CONFIG_NEWLIB_STDOUT_LINE_ENDING_LF is not set -# CONFIG_NEWLIB_STDOUT_LINE_ENDING_CR is not set -# CONFIG_NEWLIB_STDIN_LINE_ENDING_CRLF is not set -# CONFIG_NEWLIB_STDIN_LINE_ENDING_LF is not set -CONFIG_NEWLIB_STDIN_LINE_ENDING_CR=y -# CONFIG_NEWLIB_NANO_FORMAT is not set -CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC_HRT=y -CONFIG_ESP32S3_TIME_SYSCALL_USE_RTC_SYSTIMER=y -CONFIG_ESP32S3_TIME_SYSCALL_USE_RTC_FRC1=y -# CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC is not set -# CONFIG_ESP32S3_TIME_SYSCALL_USE_RTC is not set -# CONFIG_NEWLIB_TIME_SYSCALL_USE_HRT is not set -# CONFIG_ESP32S3_TIME_SYSCALL_USE_SYSTIMER is not set -# CONFIG_ESP32S3_TIME_SYSCALL_USE_FRC1 is not set -# CONFIG_NEWLIB_TIME_SYSCALL_USE_NONE is not set -# CONFIG_ESP32S3_TIME_SYSCALL_USE_NONE is not set -CONFIG_ESP32_PTHREAD_TASK_PRIO_DEFAULT=5 -CONFIG_ESP32_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 -CONFIG_ESP32_PTHREAD_STACK_MIN=768 -CONFIG_ESP32_DEFAULT_PTHREAD_CORE_NO_AFFINITY=y -# CONFIG_ESP32_DEFAULT_PTHREAD_CORE_0 is not set -# CONFIG_ESP32_DEFAULT_PTHREAD_CORE_1 is not set -CONFIG_ESP32_PTHREAD_TASK_CORE_DEFAULT=-1 -CONFIG_ESP32_PTHREAD_TASK_NAME_DEFAULT="pthread" -CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ABORTS=y -# CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_FAILS is not set -# CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ALLOWED is not set -CONFIG_SUPPRESS_SELECT_DEBUG_OUTPUT=y -CONFIG_SUPPORT_TERMIOS=y -CONFIG_SEMIHOSTFS_MAX_MOUNT_POINTS=1 -CONFIG_MB_MASTER_TIMEOUT_MS_RESPOND=3000 -CONFIG_MB_MASTER_DELAY_MS_CONVERT=200 -CONFIG_MB_QUEUE_LENGTH=20 -CONFIG_MB_SERIAL_TASK_STACK_SIZE=4096 -CONFIG_MB_SERIAL_BUF_SIZE=256 -CONFIG_MB_SERIAL_TASK_PRIO=10 -CONFIG_MB_CONTROLLER_SLAVE_ID_SUPPORT=y -CONFIG_MB_CONTROLLER_SLAVE_ID=0x00112233 -CONFIG_MB_CONTROLLER_NOTIFY_TIMEOUT=20 -CONFIG_MB_CONTROLLER_NOTIFY_QUEUE_SIZE=20 -CONFIG_MB_CONTROLLER_STACK_SIZE=4096 -CONFIG_MB_EVENT_QUEUE_TIMEOUT=20 -# CONFIG_MB_TIMER_PORT_ENABLED is not set -# End of deprecated options From 009d007837b008a966e7fd90c0ac5060a3b2a76e Mon Sep 17 00:00:00 2001 From: HeavenVR Date: Mon, 29 Jun 2026 15:56:36 +0200 Subject: [PATCH 24/91] fix(ci): add GitPython dep and cache restore-keys CI was red on every PR: scripts/embed_env_vars.py does `import git` (GitPython), which the old espressif32 platform pulled in transitively but the pioarduino platform does not, so every `pio run` died at SCons config time with ModuleNotFoundError. Pin GitPython==3.1.46 explicitly. Also add `restore-keys: pio--` to the three PlatformIO cache steps so a platformio.ini edit reuses the latest prior cache (only fetching deltas) instead of re-downloading the whole pioarduino platform + toolchains. Document the root cause, caching change, remaining ccache opportunity, and the outstanding functional regressions in BEFORE_MERGE_WORK.md. --- .../actions/build-compilationdb/action.yml | 5 ++ .github/actions/build-firmware/action.yml | 5 ++ .github/actions/build-staticfs/action.yml | 5 ++ BEFORE_MERGE_WORK.md | 84 +++++++++++++++++++ requirements.txt | 4 + 5 files changed, 103 insertions(+) diff --git a/.github/actions/build-compilationdb/action.yml b/.github/actions/build-compilationdb/action.yml index 44869e4d..6e797124 100644 --- a/.github/actions/build-compilationdb/action.yml +++ b/.github/actions/build-compilationdb/action.yml @@ -22,6 +22,11 @@ runs: ~/.platformio/packages ~/.platformio/.cache key: pio-${{ runner.os }}-${{ hashFiles('platformio.ini', 'requirements.txt') }} + # Fall back to the latest prior cache when platformio.ini changes so we + # only download deltas instead of re-fetching the whole pioarduino + # platform + toolchains on every config edit. + restore-keys: | + pio-${{ runner.os }}- - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0 with: diff --git a/.github/actions/build-firmware/action.yml b/.github/actions/build-firmware/action.yml index d08d88fd..09922974 100644 --- a/.github/actions/build-firmware/action.yml +++ b/.github/actions/build-firmware/action.yml @@ -26,6 +26,11 @@ runs: ~/.platformio/packages ~/.platformio/.cache key: pio-${{ runner.os }}-${{ hashFiles('platformio.ini', 'requirements.txt') }} + # Fall back to the latest prior cache when platformio.ini changes so we + # only download deltas instead of re-fetching the whole pioarduino + # platform + toolchains on every config edit. + restore-keys: | + pio-${{ runner.os }}- - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0 with: diff --git a/.github/actions/build-staticfs/action.yml b/.github/actions/build-staticfs/action.yml index 3448940c..61fd5ec4 100644 --- a/.github/actions/build-staticfs/action.yml +++ b/.github/actions/build-staticfs/action.yml @@ -22,6 +22,11 @@ runs: ~/.platformio/packages ~/.platformio/.cache key: pio-${{ runner.os }}-${{ hashFiles('platformio.ini', 'requirements.txt') }} + # Fall back to the latest prior cache when platformio.ini changes so we + # only download deltas instead of re-fetching the whole pioarduino + # platform + toolchains on every config edit. + restore-keys: | + pio-${{ runner.os }}- - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0 with: diff --git a/BEFORE_MERGE_WORK.md b/BEFORE_MERGE_WORK.md index acc1ac2d..2261f645 100644 --- a/BEFORE_MERGE_WORK.md +++ b/BEFORE_MERGE_WORK.md @@ -65,3 +65,87 @@ Decided structure (implemented): Per-board (finer than per-chip) USB *mode* flags live in each env's `build_flags` in platformio.ini (e.g. S3-Mini's `ARDUINO_USB_MODE=1`), since they are board wiring choices, not chip-wide sdkconfig. + +## CI is red on every PR — root cause found & fixed ✅ + +**Symptom:** `ci-build` *and* `cpp-linter` fail on this branch (and on every PR +targeting it) ~2 min in, before any real compilation: + +``` +ModuleNotFoundError: No module named 'git' + File ".../scripts/embed_env_vars.py", line 3: + import git +``` + +`develop`'s `ci-build` is green — so this is **specific to the platform switch**, +not a flaky runner. + +**Root cause:** `scripts/embed_env_vars.py` (a `pre:` SCons `extra_script` in +platformio.ini) does `import git` (GitPython). GitPython was never in +`requirements.txt` — it was being pulled in *transitively* by the old +`espressif32 @ 6.12.0` platform's Python env. The **pioarduino** +platform-espressif32 package this branch moves to does **not** depend on it, so +the import now fails at SCons config time and every `pio run` dies before +compiling. Both failing workflows run `pio`, so both go red from this one cause. + +**Fix applied:** pinned `GitPython==3.1.46` in `requirements.txt`. This makes the +existing `import git` portable across platforms instead of relying on a +transitive dep. (Longer term, the script could be reworked to not hard-depend on +GitPython in CI — version/commit are already passed via `OPENSHOCK_FW_*` env +vars — but the pin is the minimal, behaviour-preserving fix.) + +## CI is also slow — caching hardened ✅ (one more win left) + +**Problem:** the three PlatformIO composite actions (`build-firmware`, +`build-compilationdb`, `build-staticfs`) all cache `~/.platformio/{platforms, +packages,.cache}` (+ `.pio/libdeps`) with +`key: pio--` and **no `restore-keys`**. +Because this branch edits `platformio.ini` constantly, every edit is a *total* +cache miss → full re-download of the now-larger pioarduino platform zip + the +xtensa-gdb / openocd `platform_packages` + toolchains. That's most of the 2–4 min +each job spends before building. + +**Fix applied:** added `restore-keys: pio--` to all three cache steps, so a +changed key restores the most recent prior cache and only fetches deltas. PRs can +also fall back to `develop`'s warm cache via the same prefix. + +**Still worth doing (not yet done):** the `arduino,espidf` build recompiles a +large ESP-IDF tree per board with no compiler cache. Enabling **ccache** +(`IDF_CCACHE_ENABLE=1` + cache `~/.cache/ccache`, keyed per board) should cut +firmware build wall-time substantially across the matrix. Left out of this pass +to keep the change low-risk; do it as a follow-up once CI is green. + +## Functional regressions left disabled in the diff (must resolve before merge) + +These were commented out / removed to *get the branch compiling* and are still +inactive at the branch tip — they are behaviour changes, not just build hacks: + +- **Custom DNS servers are no longer set.** `src/wifi/WiFiManager.cpp:446` — the + `set_esp_interface_dns(..., 1.1.1.1, 8.8.8.8, 9.9.9.9)` call (and its error + handling) is commented out (commit `5b2bdf6`). The device now relies purely on + DHCP-provided DNS. Re-enable once the Arduino 3.0 / IDF DNS API is sorted. +- **IPv6 reporting dropped.** `WiFiManager::GetIPv6Address()` was removed and + `GetIPAddress()` now does + `snprintf(ipAddress, IPV6ADDR_FMT_LEN + 1, "%s", ip.toString())` — formatting an + IPv4 into an IPv6-sized buffer (same commit, "type now has combined v4 and v6"). + Confirm the buffer sizing/format is intentional, or restore proper handling. + (Note: the `Checksum.h` `#error` from `4f83d81` was *properly* resolved — it was + migrated to `std::integral` concepts, not just commented out. No action needed.) + +## C++ standard mismatch to reconcile + +New `components/common/src/LanguageVersionCheck.cpp` hard-`#error`s anything below +**C++23** (`__cplusplus >= 202302L`), but `platformio.ini:21-22` still sets +`-std=c++2a` / `-std=gnu++2a` (C++20 = `202002L`). Builds reportedly pass, which +implies the IDF component build overrides the standard to gnu++23 — but the +platformio `build_flags` are at best stale/contradictory. Align them (bump the +flags to `c++2b`/`gnu++2b`) or confirm where the real standard is set, otherwise +that check is a latent `#error`. + +## Release bookkeeping + +This branch deletes `FLATBUFFERS_CHANGES.md` but adds **no `.changes/*.md` +entry**, even though the repo's release flow (`check-changes` workflow + +`OpenShock/release-tool`) expects a changeset per PR. A changelog entry for the +Arduino 3.0 migration is needed (or the `no-changelog` label) for the PR to pass +`check-changes`. Also delete this `BEFORE_MERGE_WORK.md` scratch file before merge. diff --git a/requirements.txt b/requirements.txt index 9265f711..09598fce 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,7 @@ platformio==6.1.19 esptool==5.3.0 cryptography==49.0.0 +# Used by scripts/embed_env_vars.py (import git). The old espressif32 platform +# pulled GitPython in transitively; the pioarduino platform does not, so pin it +# explicitly or the SCons pre-build script fails with ModuleNotFoundError. +GitPython==3.1.46 From d0ee04878eafa7c2cd2970af23577f4a18e5f246 Mon Sep 17 00:00:00 2001 From: HeavenVR Date: Mon, 29 Jun 2026 16:08:11 +0200 Subject: [PATCH 25/91] fix(ci): cache full pioarduino tree and stop hard-depending on GitPython The PlatformIO cache only stored platforms/packages/.cache, but pioarduino installs toolchains, esp-idf, the Arduino core and its own Python venv under ~/.platformio/{tools,penv}. Those were never cached, so every board did a full reinstall even on a confirmed cache hit. Cache the whole ~/.platformio tree (excluding dist/ and .cache/, which are redundant download archives + transient install junk) and bump the cache key to pio-v2- so the stale incomplete cache under the old key is replaced. embed_env_vars.py imported 'git' at module top, which runs at SCons config time in the pioarduino build environment where GitPython isn't reliably importable, killing every build with ModuleNotFoundError. GitPython is only a local-build fallback; in CI the commit and version come from OPENSHOCK_FW_* env vars. Import it lazily inside get_git_repo() and degrade gracefully on ImportError. --- .github/actions/build-firmware/action.yml | 18 +++++++++++++----- scripts/embed_env_vars.py | 9 ++++++++- 2 files changed, 21 insertions(+), 6 deletions(-) diff --git a/.github/actions/build-firmware/action.yml b/.github/actions/build-firmware/action.yml index 09922974..59f3e0fd 100644 --- a/.github/actions/build-firmware/action.yml +++ b/.github/actions/build-firmware/action.yml @@ -22,15 +22,23 @@ runs: with: path: | .pio/libdeps - ~/.platformio/platforms - ~/.platformio/packages - ~/.platformio/.cache - key: pio-${{ runner.os }}-${{ hashFiles('platformio.ini', 'requirements.txt') }} + # pioarduino installs toolchains, esp-idf, the Arduino core and its own + # Python venv under ~/.platformio/{tools,penv}, not just platforms/packages. + # Caching the whole tree is the only way to avoid a full reinstall per board. + # Exclude dist/ and .cache/ — raw download archives + transient install junk + # that are redundant once extracted into packages/tools, and just bloat the cache. + ~/.platformio + !~/.platformio/dist + !~/.platformio/.cache + # Bump the v2 prefix whenever the cached layout changes — actions/cache + # never overwrites an existing key, so a stale/incomplete cache under the + # same key would otherwise stick around until platformio.ini changes. + key: pio-v2-${{ runner.os }}-${{ hashFiles('platformio.ini', 'requirements.txt') }} # Fall back to the latest prior cache when platformio.ini changes so we # only download deltas instead of re-fetching the whole pioarduino # platform + toolchains on every config edit. restore-keys: | - pio-${{ runner.os }}- + pio-v2-${{ runner.os }}- - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0 with: diff --git a/scripts/embed_env_vars.py b/scripts/embed_env_vars.py index 11d3aadf..15d26b12 100644 --- a/scripts/embed_env_vars.py +++ b/scripts/embed_env_vars.py @@ -1,6 +1,5 @@ from typing import Mapping from utils import pioenv, sysenv, dotenv, shorthands -import git import re # This file is invoked by PlatformIO during build. @@ -41,6 +40,14 @@ dot = dotenv.DotEnv(project_dir, dotenv_type) def get_git_repo(): + # GitPython is only used as a fallback for local builds to derive the version + # and commit. In CI both come from OPENSHOCK_FW_* env vars, so the build must + # not hard-depend on the 'git' module being importable (the pioarduino build + # environment doesn't always have it). Import lazily and degrade gracefully. + try: + import git + except ImportError: + return None try: return git.Repo(search_parent_directories=True) except git.exc.InvalidGitRepositoryError: From 9f602e8b4230dd5b7b5df145d7643c34a91979d2 Mon Sep 17 00:00:00 2001 From: HeavenVR Date: Mon, 29 Jun 2026 17:01:12 +0200 Subject: [PATCH 26/91] fix: address Copilot review comments for Arduino 3.0 migration - Checksum.h: include ; shift on unsigned representation in Sum8(integral) to avoid implementation-defined behavior for negatives - HTTPRequestManager.h: include for std::move - OtaUpdateManager: use esp_task_wdt_reconfigure() to apply OTA WDT timeout (esp_task_wdt_init returns ESP_ERR_INVALID_STATE when already initialized), falling back to init when not yet initialized - WiFiManager::GetIPAddress: pass ip.toString().c_str() and size the buffer with IP4ADDR_STRLEN_MAX instead of the IPv6 length constant; remove dead commented-out setAutoConnect/DNS blocks --- components/http/include/http/HTTPRequestManager.h | 1 + components/util/include/Checksum.h | 6 +++++- src/OtaUpdateManager.cpp | 10 +++++++++- src/wifi/WiFiManager.cpp | 8 +------- 4 files changed, 16 insertions(+), 9 deletions(-) diff --git a/components/http/include/http/HTTPRequestManager.h b/components/http/include/http/HTTPRequestManager.h index 1f9e7d6c..33e7a07b 100644 --- a/components/http/include/http/HTTPRequestManager.h +++ b/components/http/include/http/HTTPRequestManager.h @@ -9,6 +9,7 @@ #include #include #include +#include namespace OpenShock::HTTP { enum class RequestResult : uint8_t { diff --git a/components/util/include/Checksum.h b/components/util/include/Checksum.h index aa0ce47d..36161bad 100644 --- a/components/util/include/Checksum.h +++ b/components/util/include/Checksum.h @@ -5,6 +5,7 @@ #include #include #include +#include namespace OpenShock::Checksum { @@ -26,10 +27,13 @@ namespace OpenShock::Checksum { template constexpr uint8_t Sum8(T value) { + // Shift on the unsigned representation; shifting signed values is implementation-defined for negatives + std::make_unsigned_t bits = static_cast>(value); + uint8_t result = 0; for (std::size_t i = 0; i < sizeof(T); ++i) { - result += static_cast((value >> (i * 8)) & 0xFF); + result += static_cast((bits >> (i * 8)) & 0xFF); } return result; diff --git a/src/OtaUpdateManager.cpp b/src/OtaUpdateManager.cpp index 0a4eec0d..f114e103 100644 --- a/src/OtaUpdateManager.cpp +++ b/src/OtaUpdateManager.cpp @@ -266,7 +266,15 @@ static esp_err_t otaum_set_wdt_timeout(uint32_t timeoutMs) .idle_core_mask = (1 << CONFIG_FREERTOS_NUMBER_OF_CORES) - 1, // Bitmask of all cores .trigger_panic = true, }; - return esp_task_wdt_init(&twdt_config); + // The TWDT is already initialized by the Arduino core, so reconfigure it instead of re-initializing. + // esp_task_wdt_init() returns ESP_ERR_INVALID_STATE when already initialized and would not apply the new timeout. + esp_err_t err = esp_task_wdt_reconfigure(&twdt_config); + if (err == ESP_ERR_INVALID_STATE) { + // Not yet initialized, fall back to init + return esp_task_wdt_init(&twdt_config); + } + + return err; } static void otaum_restore_wdt_timeout() diff --git a/src/wifi/WiFiManager.cpp b/src/wifi/WiFiManager.cpp index 101126c5..b97071de 100644 --- a/src/wifi/WiFiManager.cpp +++ b/src/wifi/WiFiManager.cpp @@ -428,7 +428,6 @@ bool WiFiManager::Init() hostname = OPENSHOCK_FW_HOSTNAME; } - // WiFi.setAutoConnect(false); WiFi.setAutoReconnect(false); WiFi.enableSTA(true); WiFi.setHostname(hostname.c_str()); @@ -443,11 +442,6 @@ bool WiFiManager::Init() } } - // if (set_esp_interface_dns(ESP_IF_WIFI_STA, IPAddress(1, 1, 1, 1), IPAddress(8, 8, 8, 8), IPAddress(9, 9, 9, 9)) != ESP_OK) { - // OS_LOGE(TAG, "Failed to set DNS servers"); - // return false; - // } - if (TaskUtils::TaskCreateUniversal(wifimanagerUpdateTask, TAG, 4096, nullptr, 5, nullptr, 1) != pdPASS) { // TODO: Re-profile stack usage OS_LOGE(TAG, "Failed to create WiFiManager update task"); return false; @@ -652,7 +646,7 @@ bool WiFiManager::GetIPAddress(char* ipAddress) } IPAddress ip = WiFi.localIP(); - snprintf(ipAddress, IPV6ADDR_FMT_LEN + 1, "%s", ip.toString()); + snprintf(ipAddress, IP4ADDR_STRLEN_MAX, "%s", ip.toString().c_str()); return true; } From 356893fcc409700d71f02bbe06abec97a1c153e0 Mon Sep 17 00:00:00 2001 From: HeavenVR Date: Thu, 9 Jul 2026 12:18:51 +0200 Subject: [PATCH 27/91] build: drop unused arduino-esp32 managed components to slim the build arduino-esp32 pulls a large set of managed components through its own idf_component.yml regardless of what we use - esp-dsp (171 objects), esp-sr, esp-modbus, esp_modem, esp_rainmaker + rmaker_common/insights/diag/cbor/qrcode, esp-zigbee/zboss, network_provisioning, ... none of which OpenShock references. Remove them at the component-manager level via pioarduino's custom_component_remove (platformio.ini), and gate off the matching Arduino wrapper libraries (BLE, ESP_SR, RainMaker, Insights, Zigbee, Matter, PPP, Ethernet, WiFiProv) via CONFIG_ARDUINO_SELECTIVE_* so nothing references the removed components. Declare esp_wifi explicitly in the http component, which was getting esp_wifi_types.h transitively through network_provisioning. Clean OpenShock-Core-V2 build: every removed component compiles 0 objects and wall-clock drops ~29% (184s -> 131s); the saving compounds across the 13-board CI matrix. No functional change - all removed subsystems are unused. --- components/http/CMakeLists.txt | 1 + platformio.ini | 26 ++++++++++++++++++++++++++ sdkconfig.defaults | 21 +++++++++++++++++++++ 3 files changed, 48 insertions(+) diff --git a/components/http/CMakeLists.txt b/components/http/CMakeLists.txt index c65d811e..59c6b6c8 100644 --- a/components/http/CMakeLists.txt +++ b/components/http/CMakeLists.txt @@ -17,4 +17,5 @@ idf_component_register( logging # Logging.h (internal) concurrency # SimpleMutex (internal) util # RateLimiter, HexUtils, StringUtils + esp_wifi # esp_wifi_types.h via WiFiClient (internal) ) diff --git a/platformio.ini b/platformio.ini index b0aac7a7..456c96c1 100644 --- a/platformio.ini +++ b/platformio.ini @@ -85,6 +85,32 @@ check_skip_packages = true check_flags = cppcheck: --std=c++20 -j 8 --suppress=*:*/.pio/* --suppress=*:*/include/serialization/_fbs/* +; Drop heavy arduino-esp32 managed components OpenShock never uses. pioarduino +; pulls these transitively via arduino-esp32's idf_component.yml; this is the +; component-manager-level removal (the Arduino wrapper libraries are also gated +; off via CONFIG_ARDUINO_SELECTIVE_* in sdkconfig.defaults so nothing references +; them). Big build-time and flash savings; none are used by our code. +custom_component_remove = + espressif/esp-dsp + espressif/esp-sr + espressif/dl_fft + espressif/esp-modbus + espressif/esp_modem + espressif/esp_rainmaker + espressif/rmaker_common + espressif/esp_insights + espressif/esp_diag_data_store + espressif/esp_diagnostics + espressif/esp_schedule + espressif/esp_secure_cert_mgr + espressif/esp_rcp_update + espressif/esp-serial-flasher + espressif/cbor + espressif/qrcode + espressif/esp-zboss-lib + espressif/esp-zigbee-lib + espressif/network_provisioning + ; https://docs.platformio.org/en/stable/boards/espressif32/wemos_d1_mini32.html [env:Wemos-D1-Mini-ESP32] board = Wemos-D1-Mini-ESP32 diff --git a/sdkconfig.defaults b/sdkconfig.defaults index ccbeb0a5..bdf10373 100644 --- a/sdkconfig.defaults +++ b/sdkconfig.defaults @@ -20,3 +20,24 @@ CONFIG_MBEDTLS_KEY_EXCHANGE_PSK=y # Partition table — OpenShock uses a custom one; existing partitions stay valid # (leave PARTITION_TABLE_* at IDF defaults; per-env sdkconfigs can override) + +# Arduino selective compilation — every CONFIG_ARDUINO_SELECTIVE_ defaults +# to y, so turning on SELECTIVE_COMPILATION and then DISABLING the heavy library +# wrappers we don't use drops their managed components (esp-sr + esp-dsp, +# esp_rainmaker + insights + diag + cbor + qrcode, esp-zigbee/zboss, esp_modem, +# matter, ...) out of the build closure entirely — a large build-time and flash +# saving. None of these are referenced by OpenShock. Re-enable one (=y / delete +# its line) if new code ever needs it. +CONFIG_ARDUINO_SELECTIVE_COMPILATION=y +CONFIG_ARDUINO_SELECTIVE_BLE=n +CONFIG_ARDUINO_SELECTIVE_BluetoothSerial=n +CONFIG_ARDUINO_SELECTIVE_SimpleBLE=n +CONFIG_ARDUINO_SELECTIVE_RainMaker=n +CONFIG_ARDUINO_SELECTIVE_Insights=n +CONFIG_ARDUINO_SELECTIVE_Zigbee=n +CONFIG_ARDUINO_SELECTIVE_OpenThread=n +CONFIG_ARDUINO_SELECTIVE_Matter=n +CONFIG_ARDUINO_SELECTIVE_ESP_SR=n +CONFIG_ARDUINO_SELECTIVE_PPP=n +CONFIG_ARDUINO_SELECTIVE_Ethernet=n +CONFIG_ARDUINO_SELECTIVE_WiFiProv=n From a3d07e969dd8ae3b85d821c2c14373c165c3dc39 Mon Sep 17 00:00:00 2001 From: HeavenVR Date: Thu, 9 Jul 2026 12:23:36 +0200 Subject: [PATCH 28/91] feat(json): migrate config + serialization from cJSON to osjson Squash-merge of feat/arduino-3.0-json: replace the cJSON dependency with the osjson component (jsmn zero-copy parsing + json_generator streaming output). - osjson component: OpenShock::JSON::{JsonView, JsonDocument, StringWriter} plus RFC 8259-conformant escaping helpers (objSetString/arrSetString) and a linux host-test suite (56 tests) covering parse/getters/navigation/generate/limits. - ConfigBase: FromJSON(const cJSON*) -> FromJSON(JSON::JsonView); cJSON* ToJSON -> streaming void ToJSON(json_gen_str_t*, bool). All config classes, the top-level Config entry points, HTTP GetJSON, JsonAPI/JsonSerial and the captive-portal / serial consumers converted. - Fix a real escaping regression vs cJSON: json_generator writes string values verbatim, so unescaped SSID/password/authToken produced invalid JSON; the new helpers escape per RFC 8259 section 7. - main and http components REQUIRE osjson instead of the IDF json (cJSON). Verified: host suite 56/56, OpenShock-Core-V2 and Seeed-Xiao-ESP32C3 firmware builds green with the component trim from the previous commit. --- components/.gitignore | 6 + components/common/include/StringHelpers.h | 29 ++ .../common/include/enums/OtaUpdateChannel.h | 12 +- .../common/include/enums/OtaUpdateStep.h | 18 +- components/http/CMakeLists.txt | 2 +- .../http/include/http/HTTPRequestManager.h | 15 +- components/osjson/CMakeLists.txt | 16 + components/osjson/host_test/CMakeLists.txt | 14 + .../osjson/host_test/main/CMakeLists.txt | 11 + .../osjson/host_test/main/test_generate.cpp | Bin 0 -> 9140 bytes .../osjson/host_test/main/test_getters.cpp | 244 ++++++++++++++ .../osjson/host_test/main/test_json.cpp | 134 ++++++++ .../osjson/host_test/main/test_navigation.cpp | 186 +++++++++++ .../osjson/host_test/main/test_parse.cpp | 134 ++++++++ .../osjson/host_test/main/test_stress.cpp | 154 +++++++++ .../osjson/host_test/sdkconfig.defaults | 4 + components/osjson/idf_component.yml | 6 + components/osjson/include/json/Json.h | 113 +++++++ components/osjson/src/Json.cpp | 306 ++++++++++++++++++ components/util/include/util/StringUtils.h | 3 +- components/util/src/StringUtils.cpp | 5 - include/config/BackendConfig.h | 4 +- include/config/CaptivePortalConfig.h | 4 +- include/config/Config.h | 4 +- include/config/ConfigBase.h | 10 +- include/config/EStopConfig.h | 4 +- include/config/OtaUpdateConfig.h | 4 +- include/config/RFConfig.h | 4 +- include/config/RootConfig.h | 4 +- include/config/SerialInputConfig.h | 4 +- include/config/WiFiConfig.h | 4 +- include/config/WiFiCredentials.h | 4 +- include/config/internal/utils.h | 45 +-- include/serialization/JsonAPI.h | 13 +- include/serialization/JsonSerial.h | 5 +- src/CMakeLists.txt | 2 +- src/captiveportal/CaptivePortalInstance.cpp | 54 ++-- src/captiveportal/RFC8908Handler.cpp | 26 +- src/config/BackendConfig.cpp | 16 +- src/config/CaptivePortalConfig.cpp | 14 +- src/config/Config.cpp | 52 ++- src/config/EStopConfig.cpp | 16 +- src/config/OtaUpdateConfig.cpp | 37 +-- src/config/RFConfig.cpp | 16 +- src/config/RootConfig.cpp | 56 ++-- src/config/SerialInputConfig.cpp | 14 +- src/config/WiFiConfig.cpp | 32 +- src/config/WiFiCredentials.cpp | 28 +- src/config/internal/utils.cpp | 77 +++-- src/serial/SerialInputHandler.cpp | 1 - src/serial/command_handlers/networks.cpp | 50 +-- src/serial/command_handlers/rftransmit.cpp | 11 +- src/serialization/JsonAPI.cpp | 173 +++++----- src/serialization/JsonSerial.cpp | 51 +-- 54 files changed, 1774 insertions(+), 477 deletions(-) create mode 100644 components/.gitignore create mode 100644 components/common/include/StringHelpers.h create mode 100644 components/osjson/CMakeLists.txt create mode 100644 components/osjson/host_test/CMakeLists.txt create mode 100644 components/osjson/host_test/main/CMakeLists.txt create mode 100644 components/osjson/host_test/main/test_generate.cpp create mode 100644 components/osjson/host_test/main/test_getters.cpp create mode 100644 components/osjson/host_test/main/test_json.cpp create mode 100644 components/osjson/host_test/main/test_navigation.cpp create mode 100644 components/osjson/host_test/main/test_parse.cpp create mode 100644 components/osjson/host_test/main/test_stress.cpp create mode 100644 components/osjson/host_test/sdkconfig.defaults create mode 100644 components/osjson/idf_component.yml create mode 100644 components/osjson/include/json/Json.h create mode 100644 components/osjson/src/Json.cpp diff --git a/components/.gitignore b/components/.gitignore new file mode 100644 index 00000000..59e77771 --- /dev/null +++ b/components/.gitignore @@ -0,0 +1,6 @@ +# IDF build artifacts generated by `idf.py` in per-component host tests +# (e.g. components/*/host_test). Applies to every component subdirectory. +# managed_components/ and dependencies.lock are already ignored repo-wide. +build/ +sdkconfig +sdkconfig.old diff --git a/components/common/include/StringHelpers.h b/components/common/include/StringHelpers.h new file mode 100644 index 00000000..2c3ed8ac --- /dev/null +++ b/components/common/include/StringHelpers.h @@ -0,0 +1,29 @@ +#pragma once + +#include +#include + +namespace OpenShock { + // Case-insensitive ASCII equality for two string views. Length-aware, so it is + // safe on non-NUL-terminated views (e.g. a value straight out of a JSON/jsmn + // parser). Header-only and constexpr so the foundation `common` component can + // expose it without pulling in `util`. + constexpr bool StringIEquals(std::string_view a, std::string_view b) noexcept + { + if (a.size() != b.size()) { + return false; + } + + for (std::size_t i = 0; i < a.size(); ++i) { + char ca = a[i]; + char cb = b[i]; + if (ca >= 'A' && ca <= 'Z') ca = static_cast(ca - 'A' + 'a'); + if (cb >= 'A' && cb <= 'Z') cb = static_cast(cb - 'A' + 'a'); + if (ca != cb) { + return false; + } + } + + return true; + } +} // namespace OpenShock diff --git a/components/common/include/enums/OtaUpdateChannel.h b/components/common/include/enums/OtaUpdateChannel.h index 9c9d7877..9172b27d 100644 --- a/components/common/include/enums/OtaUpdateChannel.h +++ b/components/common/include/enums/OtaUpdateChannel.h @@ -1,7 +1,9 @@ #pragma once +#include "StringHelpers.h" + #include -#include +#include namespace OpenShock { enum class OtaUpdateChannel : uint8_t { @@ -10,19 +12,19 @@ namespace OpenShock { Develop }; - inline bool TryParseOtaUpdateChannel(OtaUpdateChannel& channel, const char* str) + inline bool TryParseOtaUpdateChannel(OtaUpdateChannel& channel, std::string_view str) { - if (strcasecmp(str, "stable") == 0) { + if (StringIEquals(str, "stable")) { channel = OtaUpdateChannel::Stable; return true; } - if (strcasecmp(str, "beta") == 0) { + if (StringIEquals(str, "beta")) { channel = OtaUpdateChannel::Beta; return true; } - if (strcasecmp(str, "develop") == 0 || strcasecmp(str, "dev") == 0) { + if (StringIEquals(str, "develop") || StringIEquals(str, "dev")) { channel = OtaUpdateChannel::Develop; return true; } diff --git a/components/common/include/enums/OtaUpdateStep.h b/components/common/include/enums/OtaUpdateStep.h index 069bfa79..68ef3908 100644 --- a/components/common/include/enums/OtaUpdateStep.h +++ b/components/common/include/enums/OtaUpdateStep.h @@ -1,7 +1,9 @@ #pragma once +#include "StringHelpers.h" + #include -#include +#include namespace OpenShock { enum class OtaUpdateStep : uint8_t { @@ -13,34 +15,34 @@ namespace OpenShock { RollingBack }; - inline bool TryParseOtaUpdateStep(OtaUpdateStep& channel, const char* str) + inline bool TryParseOtaUpdateStep(OtaUpdateStep& channel, std::string_view str) { - if (strcasecmp(str, "none") == 0) { + if (StringIEquals(str, "none")) { channel = OtaUpdateStep::None; return true; } - if (strcasecmp(str, "updating") == 0) { + if (StringIEquals(str, "updating")) { channel = OtaUpdateStep::Updating; return true; } - if (strcasecmp(str, "updated") == 0) { + if (StringIEquals(str, "updated")) { channel = OtaUpdateStep::Updated; return true; } - if (strcasecmp(str, "validating") == 0) { + if (StringIEquals(str, "validating")) { channel = OtaUpdateStep::Validating; return true; } - if (strcasecmp(str, "validated") == 0) { + if (StringIEquals(str, "validated")) { channel = OtaUpdateStep::Validated; return true; } - if (strcasecmp(str, "rollingback") == 0) { + if (StringIEquals(str, "rollingback")) { channel = OtaUpdateStep::RollingBack; return true; } diff --git a/components/http/CMakeLists.txt b/components/http/CMakeLists.txt index 59c6b6c8..240ef6bb 100644 --- a/components/http/CMakeLists.txt +++ b/components/http/CMakeLists.txt @@ -10,7 +10,7 @@ idf_component_register( SRCS "src/HTTPRequestManager.cpp" INCLUDE_DIRS "include" - REQUIRES json # cJSON.h in public header + REQUIRES osjson # json/Json.h in public header framework-arduinoespressif32 # Arduino.h in public header PRIV_REQUIRES common # Common.h (internal) time # Core.h (internal) diff --git a/components/http/include/http/HTTPRequestManager.h b/components/http/include/http/HTTPRequestManager.h index 33e7a07b..6efc7e69 100644 --- a/components/http/include/http/HTTPRequestManager.h +++ b/components/http/include/http/HTTPRequestManager.h @@ -2,7 +2,7 @@ #include -#include +#include "json/Json.h" #include #include @@ -65,7 +65,7 @@ namespace OpenShock::HTTP { }; template - using JsonParser = std::function; + using JsonParser = std::function; using GotContentLengthCallback = std::function; using DownloadCallback = std::function; @@ -80,19 +80,18 @@ namespace OpenShock::HTTP { return {response.result, response.code, {}}; } - cJSON* json = cJSON_ParseWithLength(response.data.c_str(), response.data.length()); - if (json == nullptr) { + // The parsed views point into response.data, which outlives this call; the + // parser copies out everything it needs before we return. + JSON::JsonDocument doc; + if (!doc.parse(response.data)) { return {RequestResult::ParseFailed, response.code, {}}; } T data; - if (!jsonParser(response.code, json, data)) { - cJSON_Delete(json); + if (!jsonParser(response.code, doc.root(), data)) { return {RequestResult::ParseFailed, response.code, {}}; } - cJSON_Delete(json); - return {response.result, response.code, std::move(data)}; } } // namespace OpenShock::HTTP diff --git a/components/osjson/CMakeLists.txt b/components/osjson/CMakeLists.txt new file mode 100644 index 00000000..a22ed9a3 --- /dev/null +++ b/components/osjson/CMakeLists.txt @@ -0,0 +1,16 @@ +# OpenShock JSON handling. +# +# Zero-copy parsing built on raw jsmn (values are std::string_view into the +# source buffer — no NUL-termination, no strlen) plus streaming generation via +# json_generator. Deliberately not named "json" to avoid shadowing IDF's +# built-in cJSON component. +# +# Public surface: +# json/Json.h — OpenShock::JSON::{JsonView, JsonDocument, StringWriter} + +idf_component_register( + SRCS "src/Json.cpp" + INCLUDE_DIRS "include" + REQUIRES espressif__jsmn # jsmn.h types in public header + espressif__json_generator # json_generator.h in public header +) diff --git a/components/osjson/host_test/CMakeLists.txt b/components/osjson/host_test/CMakeLists.txt new file mode 100644 index 00000000..726dbd0f --- /dev/null +++ b/components/osjson/host_test/CMakeLists.txt @@ -0,0 +1,14 @@ +cmake_minimum_required(VERSION 3.16) + +include($ENV{IDF_PATH}/tools/cmake/project.cmake) + +# Only build 'main' and its dependency closure (osjson + jsmn + json_generator). +set(COMPONENTS main) + +# Make the OpenShock components (osjson) discoverable, and use the linux-target +# freertos mock so app_main is provided on the host. +list(APPEND EXTRA_COMPONENT_DIRS + "${CMAKE_CURRENT_LIST_DIR}/../.." # firmware/components (contains osjson) + "$ENV{IDF_PATH}/tools/mocks/freertos/") + +project(osjson_host_test) diff --git a/components/osjson/host_test/main/CMakeLists.txt b/components/osjson/host_test/main/CMakeLists.txt new file mode 100644 index 00000000..7106f440 --- /dev/null +++ b/components/osjson/host_test/main/CMakeLists.txt @@ -0,0 +1,11 @@ +idf_component_register( + SRCS "test_json.cpp" # main() entry + smoke tests + "test_parse.cpp" # JsonDocument::parse + root() + "test_getters.cpp" # tryGetStr/Bool/I64/Double + predicates + "test_navigation.cpp" # operator[], at(), count(), raw(), skip() + "test_generate.cpp" # StringWriter / json_generator output + "test_stress.cpp" # scale, token-cap, deep nesting + INCLUDE_DIRS "." + REQUIRES unity osjson + WHOLE_ARCHIVE # keep the auto-registered TEST_CASEs from being stripped +) diff --git a/components/osjson/host_test/main/test_generate.cpp b/components/osjson/host_test/main/test_generate.cpp new file mode 100644 index 0000000000000000000000000000000000000000..bd5bd88810c049c6dcbe228ce5896dfe1a33883f GIT binary patch literal 9140 zcmd5?+j84D65VHiMHlzM)JB#iXC|4E$EnT5-c2f%)cTS{jk z-?2ZorvZ{8Dawwsnen3gWkS33n~K80r3_^vbd*q( z>NwSXQd1GjHc2%SF{Za^5~ONM!zc~MBDwBt{nZagK{}S?q@k~`J5y(?^o&>CeTQGw z=f5bk`HR)e?8#v6%f*YWtyEz%3dKySSd1injAeK-jYe1dTU)1xC#QqgFHa6#CzDt9 zNzP(@P0{c-InpG;arQtYiMV#!t>6H{}H`A`S_vVuV`bjZ$@&J z43rj$9@xd*MF&f`tyXQ049CqgjJPjPP7aSx2dBqphge|ZhrXJ+Ejlvn^#CxOtpsu#YV(#&7VF~LOwk&wQQrP`$OP0B8*IvMD{ z(Ip*Frf8O>G+eU8rIE83gM9`{YFLXM+l8+>Mvkd(541MX54D*ULfW0@&5I4AC@_bAw( zY_d-%m4-d6zbX?A#t|OHDly<94-7U5fJG)XCFPdO4YGu;dsRi7Wvn~%DuJ(bZ4nF_ z^Jk0ny43}0!+W*iIEn|^^40fvAdCE(zkQo&?fLsR&eG}k+V&v*^Io^T*S)yC+pb1F ziYB>b|JWcaYh!|p;6kzFBQAUU`1s|3p6=6=Cw?n~(IUDkU};rW3gEh_{V`7A85`$ctc+k40COkn)}Kh26CU`BpRn9?MESYMGBv#3U4c!?y%GBu5!7YPKD>tE`Y^UbL-J@; z_wEwlUk_6? z8Y4c8H7uVdH;goSA)?9CnKLT{#J#M*x$&GU&*^*X5_*mykRSu_lO6mtM{hZ9`$nXk z(*wvv9Loeig`W!Nv!UGQgi{24E_RM?Ot$X~M7ziz7=$*i%Q70q_TA!7>2bfGfj;bL zsA*2&nVqgNIy32jgFg!;4;bK$vS6}K!)i<6Xjc|BIg(M$`>=8EUJUIZ#Say5c^+&x49u+QS z^L^GAFqLqj3BYkIt-I_U?RJ-_6xN9Lc~$8E-m@pzzH1rOa23Ep(O<}w zv!NW1QIcU7QfV^x=h$=Z3ve>7RZZ8!q=6flf$($%ICHiZOi0FjU1PjF`qxcWa@%HO zRVJ*}()q%TSUSI#r8hufH8Se<>Sl(r1RrYL-rXh_IzMVL=rQ9<()#O@k z{o=qldduQ1b80|?j?&Roju{Ic$IqORn0U+4Q*SAL&Upnt`_I1}BU6z_AC3(x;4JNN zultobe?i+#=Opt)l7VFE_$To*v$bn`LKXnJT8Y00<39Y?*~|BXw;xX3y*9JfJ%*`yERALCR{IkzL}1chSzegU2=_zC}nzv&Of7>v|g}bVlKFC!^D4A z%HeZ(nRgXiuSMhCzEd3bn>@kf-$j%LD4Nl569LysU^h$#Ik|Hk$X&lC08p1!X4la z2yBcy289lzD%hDR09||Kh8IwJLT)%FBX!O-S`czg`q&g48)VOScFOX{iw)Ap3zi*# z!j|`}>8X)7C1Nr>5TZ6ExQCQUU_&RmCq-aG45^=3VbK(IlP%^cscZh zx5RIU6JFi7EtV?a-axzg8Xf-bw%V-O>~B-NtT~oR4F{CJw}!mAb685ue!TK}w9h3# zmrJ?q>eD#TdM?d;qkLHG%LlPMXA^doI94-yRwk_BXKA#-m<9;o#i7hD(i*1c_i+Yr z?FDJWtm29^;)~Scj2Vvn)VKS=q)yyM8Onwyd +#include +#include +#include + +using namespace OpenShock; + +// ---- tryGetStr ------------------------------------------------------------- + +TEST_CASE("tryGetStr: strings succeed, non-strings fail", "[osjson][getters]") +{ + static const char json[] = R"({"s":"hi","n":5,"b":true,"z":null,"o":{},"a":[]})"; + JSON::JsonDocument doc; + TEST_ASSERT_TRUE(doc.parse(json)); + JSON::JsonView root = doc.root(); + + std::string_view sv; + TEST_ASSERT_TRUE(root["s"].tryGetStr(sv)); + TEST_ASSERT_TRUE(sv == "hi"); + + TEST_ASSERT_FALSE(root["n"].tryGetStr(sv)); + TEST_ASSERT_FALSE(root["b"].tryGetStr(sv)); + TEST_ASSERT_FALSE(root["z"].tryGetStr(sv)); + TEST_ASSERT_FALSE(root["o"].tryGetStr(sv)); + TEST_ASSERT_FALSE(root["a"].tryGetStr(sv)); + TEST_ASSERT_FALSE(root["missing"].tryGetStr(sv)); +} + +TEST_CASE("tryGetStr: empty string value", "[osjson][getters]") +{ + JSON::JsonDocument doc; + TEST_ASSERT_TRUE(doc.parse(R"({"s":""})")); + std::string_view sv; + TEST_ASSERT_TRUE(doc.root()["s"].tryGetStr(sv)); + TEST_ASSERT_EQUAL_size_t(0, sv.size()); + TEST_ASSERT_TRUE(sv.empty()); +} + +TEST_CASE("tryGetStr: escape sequences are returned RAW (jsmn does not unescape)", "[osjson][getters]") +{ + // Documents current behaviour: the view is the raw bytes between the quotes, + // escapes are NOT processed. Consumers that need real bytes must unescape. + static const char json[] = R"({"s":"a\nb\"c"})"; + JSON::JsonDocument doc; + TEST_ASSERT_TRUE(doc.parse(json)); + std::string_view sv; + TEST_ASSERT_TRUE(doc.root()["s"].tryGetStr(sv)); + TEST_ASSERT_TRUE(sv == R"(a\nb\"c)"); // backslash-n and backslash-quote, literally + TEST_ASSERT_EQUAL_size_t(7, sv.size()); +} + +// ---- tryGetBool ------------------------------------------------------------ + +TEST_CASE("tryGetBool: true/false succeed, everything else fails", "[osjson][getters]") +{ + static const char json[] = R"({"t":true,"f":false,"n":1,"s":"true","z":null})"; + JSON::JsonDocument doc; + TEST_ASSERT_TRUE(doc.parse(json)); + JSON::JsonView root = doc.root(); + + bool b = false; + TEST_ASSERT_TRUE(root["t"].tryGetBool(b)); + TEST_ASSERT_TRUE(b); + TEST_ASSERT_TRUE(root["f"].tryGetBool(b)); + TEST_ASSERT_FALSE(b); + + TEST_ASSERT_FALSE(root["n"].tryGetBool(b)); // number + TEST_ASSERT_FALSE(root["s"].tryGetBool(b)); // the STRING "true" + TEST_ASSERT_FALSE(root["z"].tryGetBool(b)); // null + TEST_ASSERT_FALSE(root["missing"].tryGetBool(b)); +} + +// ---- tryGetI64 ------------------------------------------------------------- + +TEST_CASE("tryGetI64: valid integers including boundaries", "[osjson][getters]") +{ + static const char json[] = + R"({"zero":0,"pos":123,"neg":-123,"i32over":2147483648,)" + R"("max":9223372036854775807,"min":-9223372036854775808,"leadzero":007})"; + JSON::JsonDocument doc; + TEST_ASSERT_TRUE(doc.parse(json)); + JSON::JsonView root = doc.root(); + + int64_t v = 0; + TEST_ASSERT_TRUE(root["zero"].tryGetI64(v)); + TEST_ASSERT_EQUAL_INT64(0, v); + TEST_ASSERT_TRUE(root["pos"].tryGetI64(v)); + TEST_ASSERT_EQUAL_INT64(123, v); + TEST_ASSERT_TRUE(root["neg"].tryGetI64(v)); + TEST_ASSERT_EQUAL_INT64(-123, v); + TEST_ASSERT_TRUE(root["i32over"].tryGetI64(v)); + TEST_ASSERT_EQUAL_INT64(2147483648LL, v); + TEST_ASSERT_TRUE(root["max"].tryGetI64(v)); + TEST_ASSERT_EQUAL_INT64(INT64_MAX, v); + TEST_ASSERT_TRUE(root["min"].tryGetI64(v)); + TEST_ASSERT_EQUAL_INT64(INT64_MIN, v); + TEST_ASSERT_TRUE(root["leadzero"].tryGetI64(v)); // "007" -> 7 (from_chars consumes all digits) + TEST_ASSERT_EQUAL_INT64(7, v); +} + +TEST_CASE("tryGetI64: rejects non-integers and partial parses", "[osjson][getters]") +{ + static const char json[] = + R"({"flt":1.5,"exp":"1e3","over":9223372036854775808,)" + R"("plus":"+5","hex":"0x1F","word":"abc","s":"42","b":true,"z":null})"; + // NOTE: exp/plus/hex/word/s are quoted so they are valid JSON string tokens; + // tryGetI64 must still reject them because they are not numbers. + JSON::JsonDocument doc; + TEST_ASSERT_TRUE(doc.parse(json)); + JSON::JsonView root = doc.root(); + + int64_t v = 0; + TEST_ASSERT_FALSE(root["flt"].tryGetI64(v)); // 1.5 -> from_chars stops at '.' + TEST_ASSERT_FALSE(root["over"].tryGetI64(v)); // overflows int64 + TEST_ASSERT_FALSE(root["exp"].tryGetI64(v)); // string, not a number + TEST_ASSERT_FALSE(root["plus"].tryGetI64(v)); + TEST_ASSERT_FALSE(root["hex"].tryGetI64(v)); + TEST_ASSERT_FALSE(root["word"].tryGetI64(v)); + TEST_ASSERT_FALSE(root["s"].tryGetI64(v)); + TEST_ASSERT_FALSE(root["b"].tryGetI64(v)); + TEST_ASSERT_FALSE(root["z"].tryGetI64(v)); + TEST_ASSERT_FALSE(root["missing"].tryGetI64(v)); +} + +// ---- tryGetDouble ---------------------------------------------------------- + +static bool nearly(double a, double b) +{ + return std::fabs(a - b) < 1e-9; +} + +TEST_CASE("tryGetDouble: accepts ints, decimals and exponents", "[osjson][getters]") +{ + static const char json[] = + R"({"i":42,"d":3.14,"neg":-2.5,"e":1e3,"eneg":1.5e-2,"zero":0.0})"; + JSON::JsonDocument doc; + TEST_ASSERT_TRUE(doc.parse(json)); + JSON::JsonView root = doc.root(); + + double d = 0; + TEST_ASSERT_TRUE(root["i"].tryGetDouble(d)); + TEST_ASSERT_TRUE(nearly(42.0, d)); + TEST_ASSERT_TRUE(root["d"].tryGetDouble(d)); + TEST_ASSERT_TRUE(nearly(3.14, d)); + TEST_ASSERT_TRUE(root["neg"].tryGetDouble(d)); + TEST_ASSERT_TRUE(nearly(-2.5, d)); + TEST_ASSERT_TRUE(root["e"].tryGetDouble(d)); + TEST_ASSERT_TRUE(nearly(1000.0, d)); + TEST_ASSERT_TRUE(root["eneg"].tryGetDouble(d)); + TEST_ASSERT_TRUE(nearly(0.015, d)); + TEST_ASSERT_TRUE(root["zero"].tryGetDouble(d)); + TEST_ASSERT_TRUE(nearly(0.0, d)); +} + +TEST_CASE("tryGetDouble: rejects non-numbers", "[osjson][getters]") +{ + static const char json[] = R"({"s":"3.14","b":true,"z":null,"o":{},"a":[]})"; + JSON::JsonDocument doc; + TEST_ASSERT_TRUE(doc.parse(json)); + JSON::JsonView root = doc.root(); + + double d = 0; + TEST_ASSERT_FALSE(root["s"].tryGetDouble(d)); + TEST_ASSERT_FALSE(root["b"].tryGetDouble(d)); + TEST_ASSERT_FALSE(root["z"].tryGetDouble(d)); + TEST_ASSERT_FALSE(root["o"].tryGetDouble(d)); + TEST_ASSERT_FALSE(root["a"].tryGetDouble(d)); + TEST_ASSERT_FALSE(root["missing"].tryGetDouble(d)); +} + +TEST_CASE("tryGetDouble: number at/over the 64-byte stack-copy limit", "[osjson][getters]") +{ + // 63-char number fits the internal buf[64]; 64-char number is rejected. + std::string n63(63, '9'); + std::string n64(64, '9'); + std::string json = "{\"a\":" + n63 + ",\"b\":" + n64 + "}"; + + JSON::JsonDocument doc; + TEST_ASSERT_TRUE(doc.parse(json)); + JSON::JsonView root = doc.root(); + + double d = 0; + TEST_ASSERT_TRUE(root["a"].tryGetDouble(d)); // fits + TEST_ASSERT_FALSE(root["b"].tryGetDouble(d)); // too long -> rejected, not truncated +} + +// ---- type predicates ------------------------------------------------------- + +TEST_CASE("predicates: exactly one container/leaf kind per value", "[osjson][getters]") +{ + static const char json[] = R"({"o":{},"a":[],"s":"x","n":5,"t":true,"z":null})"; + JSON::JsonDocument doc; + TEST_ASSERT_TRUE(doc.parse(json)); + JSON::JsonView root = doc.root(); + + TEST_ASSERT_TRUE(root["o"].isObject()); + TEST_ASSERT_TRUE(root["a"].isArray()); + TEST_ASSERT_TRUE(root["s"].isString()); + + // number: primitive + isNumber, but not null/bool-ish + TEST_ASSERT_TRUE(root["n"].isPrimitive()); + TEST_ASSERT_TRUE(root["n"].isNumber()); + TEST_ASSERT_FALSE(root["n"].isNull()); + + // true: primitive but NOT a number + TEST_ASSERT_TRUE(root["t"].isPrimitive()); + TEST_ASSERT_FALSE(root["t"].isNumber()); + TEST_ASSERT_FALSE(root["t"].isNull()); + + // null: primitive, isNull, not a number + TEST_ASSERT_TRUE(root["z"].isPrimitive()); + TEST_ASSERT_TRUE(root["z"].isNull()); + TEST_ASSERT_FALSE(root["z"].isNumber()); +} + +TEST_CASE("predicates: an invalid/default view answers false everywhere", "[osjson][getters]") +{ + JSON::JsonView v; // default-constructed + TEST_ASSERT_FALSE(v.valid()); + TEST_ASSERT_FALSE(v.isObject()); + TEST_ASSERT_FALSE(v.isArray()); + TEST_ASSERT_FALSE(v.isString()); + TEST_ASSERT_FALSE(v.isPrimitive()); + TEST_ASSERT_FALSE(v.isNumber()); + TEST_ASSERT_FALSE(v.isNull()); + TEST_ASSERT_EQUAL_INT(0, v.count()); + TEST_ASSERT_FALSE(v.at(0).valid()); + TEST_ASSERT_FALSE(v["k"].valid()); + TEST_ASSERT_TRUE(v.raw().empty()); + + std::string_view sv; + int64_t i; + double d; + bool b; + TEST_ASSERT_FALSE(v.tryGetStr(sv)); + TEST_ASSERT_FALSE(v.tryGetI64(i)); + TEST_ASSERT_FALSE(v.tryGetDouble(d)); + TEST_ASSERT_FALSE(v.tryGetBool(b)); +} diff --git a/components/osjson/host_test/main/test_json.cpp b/components/osjson/host_test/main/test_json.cpp new file mode 100644 index 00000000..c16df051 --- /dev/null +++ b/components/osjson/host_test/main/test_json.cpp @@ -0,0 +1,134 @@ +// Host (linux target) unit tests for the osjson component. +// +// cd components/osjson/host_test +// idf.py --preview set-target linux +// idf.py build +// ./build/osjson_host_test.elf +// +#include "unity.h" + +#include "json/Json.h" + +#include +#include +#include + +using namespace OpenShock; + +TEST_CASE("parse scalar object", "[osjson]") +{ + static const char json[] = R"({"name":"hello","n":42,"flag":true,"neg":-7})"; + + JSON::JsonDocument doc; + TEST_ASSERT_TRUE(doc.parse(json)); + + JSON::JsonView root = doc.root(); + TEST_ASSERT_TRUE(root.isObject()); + + std::string_view s; + TEST_ASSERT_TRUE(root["name"].tryGetStr(s)); + TEST_ASSERT_EQUAL_size_t(5, s.size()); + TEST_ASSERT_TRUE(s == "hello"); + // Zero-copy: the view must point straight into the source buffer. + TEST_ASSERT_TRUE(s.data() >= json && s.data() < json + sizeof(json)); + + int64_t n = 0; + TEST_ASSERT_TRUE(root["n"].tryGetI64(n)); + TEST_ASSERT_EQUAL_INT64(42, n); + + int64_t neg = 0; + TEST_ASSERT_TRUE(root["neg"].tryGetI64(neg)); + TEST_ASSERT_EQUAL_INT64(-7, neg); + + bool flag = false; + TEST_ASSERT_TRUE(root["flag"].tryGetBool(flag)); + TEST_ASSERT_TRUE(flag); +} + +TEST_CASE("missing key and type mismatch", "[osjson]") +{ + static const char json[] = R"({"name":"x","n":5})"; + + JSON::JsonDocument doc; + TEST_ASSERT_TRUE(doc.parse(json)); + JSON::JsonView root = doc.root(); + + TEST_ASSERT_FALSE(root["missing"].valid()); + + bool b = false; + TEST_ASSERT_FALSE(root["name"].tryGetBool(b)); // string, not bool + int64_t n = 0; + TEST_ASSERT_FALSE(root["name"].tryGetI64(n)); // string, not number + std::string_view s; + TEST_ASSERT_FALSE(root["n"].tryGetStr(s)); // number, not string +} + +TEST_CASE("nested objects and arrays", "[osjson]") +{ + static const char json[] = R"({"obj":{"x":1,"y":2},"arr":[10,20,30]})"; + + JSON::JsonDocument doc; + TEST_ASSERT_TRUE(doc.parse(json)); + JSON::JsonView root = doc.root(); + + int64_t y = 0; + TEST_ASSERT_TRUE(root["obj"]["y"].tryGetI64(y)); + TEST_ASSERT_EQUAL_INT64(2, y); + + JSON::JsonView arr = root["arr"]; + TEST_ASSERT_TRUE(arr.isArray()); + TEST_ASSERT_EQUAL_INT(3, arr.count()); + + int64_t v = 0; + TEST_ASSERT_TRUE(arr.at(1).tryGetI64(v)); + TEST_ASSERT_EQUAL_INT64(20, v); + TEST_ASSERT_FALSE(arr.at(3).valid()); // out of range +} + +TEST_CASE("malformed input is rejected", "[osjson]") +{ + JSON::JsonDocument doc; + TEST_ASSERT_FALSE(doc.parse("{ not valid json")); + TEST_ASSERT_FALSE(doc.parse("")); + TEST_ASSERT_FALSE(doc.root().valid()); +} + +TEST_CASE("generate then parse round-trip", "[osjson]") +{ + std::string out; + { + JSON::StringWriter writer; + json_gen_str_t* gen = writer.gen(); + json_gen_start_object(gen); + json_gen_obj_set_string(gen, "ssid", "net"); + json_gen_obj_set_int(gen, "id", 7); + json_gen_obj_set_bool(gen, "on", true); + json_gen_end_object(gen); + out = writer.finish(); + } + + JSON::JsonDocument doc; + TEST_ASSERT_TRUE(doc.parse(out)); + JSON::JsonView root = doc.root(); + + std::string_view ssid; + TEST_ASSERT_TRUE(root["ssid"].tryGetStr(ssid)); + TEST_ASSERT_TRUE(ssid == "net"); + + int64_t id = 0; + TEST_ASSERT_TRUE(root["id"].tryGetI64(id)); + TEST_ASSERT_EQUAL_INT64(7, id); + + bool on = false; + TEST_ASSERT_TRUE(root["on"].tryGetBool(on)); + TEST_ASSERT_TRUE(on); +} + +// Host-only (linux target) test binary. FreeRTOS is mocked, so there is no ESP +// startup to call app_main - provide a plain main() that drives Unity directly. +extern "C" int main(void) +{ + UNITY_BEGIN(); + unity_run_all_tests(); + return UNITY_END(); +} diff --git a/components/osjson/host_test/main/test_navigation.cpp b/components/osjson/host_test/main/test_navigation.cpp new file mode 100644 index 00000000..a2571f76 --- /dev/null +++ b/components/osjson/host_test/main/test_navigation.cpp @@ -0,0 +1,186 @@ +// Object member lookup, array indexing, count(), raw(), and skip() correctness. +#include "unity.h" + +#include "json/Json.h" + +#include +#include +#include + +using namespace OpenShock; + +TEST_CASE("operator[]: present/missing keys and non-objects", "[osjson][nav]") +{ + static const char json[] = R"({"a":1,"b":2})"; + JSON::JsonDocument doc; + TEST_ASSERT_TRUE(doc.parse(json)); + JSON::JsonView root = doc.root(); + + TEST_ASSERT_TRUE(root["a"].valid()); + TEST_ASSERT_TRUE(root["b"].valid()); + TEST_ASSERT_FALSE(root["c"].valid()); + TEST_ASSERT_FALSE(root[""].valid()); + + // indexing into a non-object yields an invalid view (no crash) + TEST_ASSERT_FALSE(root["a"]["nested"].valid()); +} + +TEST_CASE("operator[]: case-sensitive and prefix-distinct keys", "[osjson][nav]") +{ + static const char json[] = R"({"name":1,"Name":2,"n":3,"nam":4})"; + JSON::JsonDocument doc; + TEST_ASSERT_TRUE(doc.parse(json)); + JSON::JsonView root = doc.root(); + + int64_t v = 0; + TEST_ASSERT_TRUE(root["name"].tryGetI64(v)); + TEST_ASSERT_EQUAL_INT64(1, v); + TEST_ASSERT_TRUE(root["Name"].tryGetI64(v)); // different case -> different key + TEST_ASSERT_EQUAL_INT64(2, v); + TEST_ASSERT_TRUE(root["n"].tryGetI64(v)); // must not match "name"/"nam" + TEST_ASSERT_EQUAL_INT64(3, v); + TEST_ASSERT_TRUE(root["nam"].tryGetI64(v)); + TEST_ASSERT_EQUAL_INT64(4, v); +} + +TEST_CASE("operator[]: empty-string key can be looked up", "[osjson][nav]") +{ + JSON::JsonDocument doc; + TEST_ASSERT_TRUE(doc.parse(R"({"":42})")); + int64_t v = 0; + TEST_ASSERT_TRUE(doc.root()[""].tryGetI64(v)); + TEST_ASSERT_EQUAL_INT64(42, v); +} + +TEST_CASE("operator[]: duplicate keys resolve to the first occurrence", "[osjson][nav]") +{ + JSON::JsonDocument doc; + TEST_ASSERT_TRUE(doc.parse(R"({"k":1,"k":2})")); + int64_t v = 0; + TEST_ASSERT_TRUE(doc.root()["k"].tryGetI64(v)); + TEST_ASSERT_EQUAL_INT64(1, v); +} + +TEST_CASE("operator[]: lookup skips over object- and array-valued members", "[osjson][nav]") +{ + // The value before "target" is a nested structure; skip() must jump the whole + // subtree so the following key is found correctly. + static const char json[] = + R"({"big":{"x":[1,2,{"y":3}],"z":{"w":4}},"arr":[9,8,7],"target":123})"; + JSON::JsonDocument doc; + TEST_ASSERT_TRUE(doc.parse(json)); + JSON::JsonView root = doc.root(); + + int64_t v = 0; + TEST_ASSERT_TRUE(root["target"].tryGetI64(v)); + TEST_ASSERT_EQUAL_INT64(123, v); + + // and the nested paths themselves resolve + TEST_ASSERT_TRUE(root["big"]["z"]["w"].tryGetI64(v)); + TEST_ASSERT_EQUAL_INT64(4, v); + TEST_ASSERT_TRUE(root["big"]["x"].at(2)["y"].tryGetI64(v)); + TEST_ASSERT_EQUAL_INT64(3, v); +} + +TEST_CASE("count(): arrays, objects, primitives, invalid", "[osjson][nav]") +{ + JSON::JsonDocument doc; + TEST_ASSERT_TRUE(doc.parse(R"({"a":[1,2,3,4],"o":{"x":1,"y":2},"n":5})")); + JSON::JsonView root = doc.root(); + + TEST_ASSERT_EQUAL_INT(3, root.count()); // object: member count + TEST_ASSERT_EQUAL_INT(4, root["a"].count()); // array length + TEST_ASSERT_EQUAL_INT(2, root["o"].count()); // nested object members + TEST_ASSERT_EQUAL_INT(0, root["n"].count()); // primitive + TEST_ASSERT_EQUAL_INT(0, root["missing"].count()); +} + +TEST_CASE("at(): valid indices, out of range, and non-arrays", "[osjson][nav]") +{ + JSON::JsonDocument doc; + TEST_ASSERT_TRUE(doc.parse(R"([10,20,30])")); + JSON::JsonView arr = doc.root(); + + int64_t v = 0; + TEST_ASSERT_TRUE(arr.at(0).tryGetI64(v)); + TEST_ASSERT_EQUAL_INT64(10, v); + TEST_ASSERT_TRUE(arr.at(2).tryGetI64(v)); + TEST_ASSERT_EQUAL_INT64(30, v); + + TEST_ASSERT_FALSE(arr.at(3).valid()); // past the end + TEST_ASSERT_FALSE(arr.at(-1).valid()); // negative + TEST_ASSERT_FALSE(arr.at(1000).valid()); + + // at() on an object is invalid (only arrays are indexable) + JSON::JsonDocument obj; + TEST_ASSERT_TRUE(obj.parse(R"({"a":1})")); + TEST_ASSERT_FALSE(obj.root().at(0).valid()); +} + +TEST_CASE("arrays: nested and mixed-type elements", "[osjson][nav]") +{ + static const char json[] = R"([[1,2],[3,4],"five",true,null,{"k":6},[]])"; + JSON::JsonDocument doc; + TEST_ASSERT_TRUE(doc.parse(json)); + JSON::JsonView root = doc.root(); + + TEST_ASSERT_EQUAL_INT(7, root.count()); + + int64_t v = 0; + TEST_ASSERT_TRUE(root.at(0).isArray()); + TEST_ASSERT_TRUE(root.at(0).at(1).tryGetI64(v)); + TEST_ASSERT_EQUAL_INT64(2, v); + TEST_ASSERT_TRUE(root.at(1).at(0).tryGetI64(v)); + TEST_ASSERT_EQUAL_INT64(3, v); + + std::string_view sv; + TEST_ASSERT_TRUE(root.at(2).tryGetStr(sv)); + TEST_ASSERT_TRUE(sv == "five"); + + bool b = false; + TEST_ASSERT_TRUE(root.at(3).tryGetBool(b)); + TEST_ASSERT_TRUE(b); + + TEST_ASSERT_TRUE(root.at(4).isNull()); + + TEST_ASSERT_TRUE(root.at(5).isObject()); + TEST_ASSERT_TRUE(root.at(5)["k"].tryGetI64(v)); + TEST_ASSERT_EQUAL_INT64(6, v); + + TEST_ASSERT_TRUE(root.at(6).isArray()); + TEST_ASSERT_EQUAL_INT(0, root.at(6).count()); +} + +TEST_CASE("raw(): zero-copy token text for strings, numbers, containers", "[osjson][nav]") +{ + static const char json[] = R"({"s":"hi","n":-12.5,"a":[1,2]})"; + JSON::JsonDocument doc; + TEST_ASSERT_TRUE(doc.parse(json)); + JSON::JsonView root = doc.root(); + + // string raw() is the content WITHOUT the surrounding quotes + std::string_view s = root["s"].raw(); + TEST_ASSERT_TRUE(s == "hi"); + TEST_ASSERT_TRUE(s.data() >= json && s.data() < json + sizeof(json)); + + // primitive raw() is the literal text + TEST_ASSERT_TRUE(root["n"].raw() == "-12.5"); + + // container raw() spans the whole array text + std::string_view a = root["a"].raw(); + TEST_ASSERT_TRUE(a.size() >= 2); + TEST_ASSERT_EQUAL_INT('[', a.front()); + TEST_ASSERT_EQUAL_INT(']', a.back()); +} + +TEST_CASE("chaining on invalid views never dereferences", "[osjson][nav]") +{ + JSON::JsonDocument doc; + TEST_ASSERT_TRUE(doc.parse(R"({"a":1})")); + JSON::JsonView root = doc.root(); + + // deep chain through missing keys and bad indices stays invalid, no crash + TEST_ASSERT_FALSE(root["nope"]["deeper"].at(3)["evenmore"].valid()); + int64_t v = 0; + TEST_ASSERT_FALSE(root["nope"].at(0)["x"].tryGetI64(v)); +} diff --git a/components/osjson/host_test/main/test_parse.cpp b/components/osjson/host_test/main/test_parse.cpp new file mode 100644 index 00000000..ddcc6743 --- /dev/null +++ b/components/osjson/host_test/main/test_parse.cpp @@ -0,0 +1,134 @@ +// JsonDocument::parse + root() edge cases. +#include "unity.h" + +#include "json/Json.h" + +#include +#include + +using namespace OpenShock; + +TEST_CASE("parse: empty and whitespace-only inputs are rejected", "[osjson][parse]") +{ + JSON::JsonDocument doc; + TEST_ASSERT_FALSE(doc.parse("")); + TEST_ASSERT_FALSE(doc.ok()); + TEST_ASSERT_FALSE(doc.root().valid()); + + TEST_ASSERT_FALSE(doc.parse(" ")); + TEST_ASSERT_FALSE(doc.parse("\t\n\r ")); +} + +TEST_CASE("parse: root() is invalid before any parse", "[osjson][parse]") +{ + JSON::JsonDocument doc; + TEST_ASSERT_FALSE(doc.ok()); + TEST_ASSERT_FALSE(doc.root().valid()); +} + +TEST_CASE("parse: malformed documents are rejected", "[osjson][parse]") +{ + JSON::JsonDocument doc; + TEST_ASSERT_FALSE(doc.parse("{")); + TEST_ASSERT_FALSE(doc.parse("[")); + TEST_ASSERT_FALSE(doc.parse("[1,2")); + TEST_ASSERT_FALSE(doc.parse("{\"a\":")); + TEST_ASSERT_FALSE(doc.parse("{\"a\"")); // key with no value + TEST_ASSERT_FALSE(doc.parse("\"unterminated")); // unterminated string + TEST_ASSERT_FALSE(doc.parse("{ not valid json")); +} + +TEST_CASE("parse: a failed parse leaves root() invalid", "[osjson][parse]") +{ + JSON::JsonDocument doc; + TEST_ASSERT_TRUE(doc.parse(R"({"a":1})")); + TEST_ASSERT_TRUE(doc.root().valid()); + + TEST_ASSERT_FALSE(doc.parse("{bad")); + TEST_ASSERT_FALSE(doc.ok()); + TEST_ASSERT_FALSE(doc.root().valid()); +} + +TEST_CASE("parse: object / array roots report the right container type", "[osjson][parse]") +{ + JSON::JsonDocument obj; + TEST_ASSERT_TRUE(obj.parse(R"({"a":1})")); + TEST_ASSERT_TRUE(obj.root().isObject()); + TEST_ASSERT_FALSE(obj.root().isArray()); + + JSON::JsonDocument arr; + TEST_ASSERT_TRUE(arr.parse(R"([1,2,3])")); + TEST_ASSERT_TRUE(arr.root().isArray()); + TEST_ASSERT_FALSE(arr.root().isObject()); +} + +TEST_CASE("parse: empty object and empty array", "[osjson][parse]") +{ + JSON::JsonDocument obj; + TEST_ASSERT_TRUE(obj.parse("{}")); + TEST_ASSERT_TRUE(obj.root().isObject()); + TEST_ASSERT_EQUAL_INT(0, obj.root().count()); + TEST_ASSERT_FALSE(obj.root()["anything"].valid()); + + JSON::JsonDocument arr; + TEST_ASSERT_TRUE(arr.parse("[]")); + TEST_ASSERT_TRUE(arr.root().isArray()); + TEST_ASSERT_EQUAL_INT(0, arr.root().count()); + TEST_ASSERT_FALSE(arr.root().at(0).valid()); +} + +TEST_CASE("parse: scalar document at the root", "[osjson][parse]") +{ + JSON::JsonDocument num; + TEST_ASSERT_TRUE(num.parse("42")); + TEST_ASSERT_TRUE(num.root().isNumber()); + int64_t n = 0; + TEST_ASSERT_TRUE(num.root().tryGetI64(n)); + TEST_ASSERT_EQUAL_INT64(42, n); + + JSON::JsonDocument str; + TEST_ASSERT_TRUE(str.parse("\"hello\"")); + TEST_ASSERT_TRUE(str.root().isString()); + std::string_view sv; + TEST_ASSERT_TRUE(str.root().tryGetStr(sv)); + TEST_ASSERT_TRUE(sv == "hello"); + + JSON::JsonDocument boolean; + TEST_ASSERT_TRUE(boolean.parse("true")); + bool b = false; + TEST_ASSERT_TRUE(boolean.root().tryGetBool(b)); + TEST_ASSERT_TRUE(b); + + JSON::JsonDocument null; + TEST_ASSERT_TRUE(null.parse("null")); + TEST_ASSERT_TRUE(null.root().isNull()); +} + +TEST_CASE("parse: re-parsing the same document reuses state cleanly", "[osjson][parse]") +{ + JSON::JsonDocument doc; + + TEST_ASSERT_TRUE(doc.parse(R"({"a":1,"b":2,"c":3})")); + TEST_ASSERT_EQUAL_INT(3, doc.root().count()); + + TEST_ASSERT_TRUE(doc.parse(R"({"x":9})")); + TEST_ASSERT_EQUAL_INT(1, doc.root().count()); + int64_t x = 0; + TEST_ASSERT_TRUE(doc.root()["x"].tryGetI64(x)); + TEST_ASSERT_EQUAL_INT64(9, x); + TEST_ASSERT_FALSE(doc.root()["a"].valid()); // key from the previous parse is gone +} + +TEST_CASE("parse: source buffer must outlive the document (zero-copy contract)", "[osjson][parse]") +{ + std::string src = R"({"name":"value"})"; + + JSON::JsonDocument doc; + TEST_ASSERT_TRUE(doc.parse(src)); + + std::string_view sv; + TEST_ASSERT_TRUE(doc.root()["name"].tryGetStr(sv)); + // The view must point straight into src, not into a copy. + TEST_ASSERT_TRUE(sv.data() >= src.data() && sv.data() < src.data() + src.size()); + TEST_ASSERT_TRUE(sv == "value"); +} diff --git a/components/osjson/host_test/main/test_stress.cpp b/components/osjson/host_test/main/test_stress.cpp new file mode 100644 index 00000000..d360c35e --- /dev/null +++ b/components/osjson/host_test/main/test_stress.cpp @@ -0,0 +1,154 @@ +// Scale / limits: token-buffer growth, the parse token cap, deep nesting, +// and large generate->parse round-trips. +#include "unity.h" + +#include "json/Json.h" + +#include +#include +#include + +using namespace OpenShock; + +TEST_CASE("stress: large flat array forces the token buffer to grow", "[osjson][stress]") +{ + // 1000 elements -> ~1001 tokens, well past the initial capacity of 32, so the + // grow-and-retry path in parse() runs several times. + const int N = 1000; + std::string json = "["; + for (int i = 0; i < N; ++i) { + if (i) json += ','; + json += std::to_string(i); + } + json += ']'; + + JSON::JsonDocument doc; + TEST_ASSERT_TRUE(doc.parse(json)); + JSON::JsonView root = doc.root(); + TEST_ASSERT_TRUE(root.isArray()); + TEST_ASSERT_EQUAL_INT(N, root.count()); + + int64_t v = 0; + TEST_ASSERT_TRUE(root.at(0).tryGetI64(v)); + TEST_ASSERT_EQUAL_INT64(0, v); + TEST_ASSERT_TRUE(root.at(500).tryGetI64(v)); + TEST_ASSERT_EQUAL_INT64(500, v); + TEST_ASSERT_TRUE(root.at(N - 1).tryGetI64(v)); + TEST_ASSERT_EQUAL_INT64(N - 1, v); + TEST_ASSERT_FALSE(root.at(N).valid()); +} + +TEST_CASE("stress: object with many members, every key resolvable", "[osjson][stress]") +{ + const int N = 300; + std::string json = "{"; + for (int i = 0; i < N; ++i) { + if (i) json += ','; + json += "\"k" + std::to_string(i) + "\":" + std::to_string(i * 2); + } + json += '}'; + + JSON::JsonDocument doc; + TEST_ASSERT_TRUE(doc.parse(json)); + JSON::JsonView root = doc.root(); + TEST_ASSERT_EQUAL_INT(N, root.count()); + + // spot-check first, middle, last, and a miss + int64_t v = 0; + TEST_ASSERT_TRUE(root["k0"].tryGetI64(v)); + TEST_ASSERT_EQUAL_INT64(0, v); + TEST_ASSERT_TRUE(root["k150"].tryGetI64(v)); + TEST_ASSERT_EQUAL_INT64(300, v); + TEST_ASSERT_TRUE(root["k299"].tryGetI64(v)); + TEST_ASSERT_EQUAL_INT64(598, v); + TEST_ASSERT_FALSE(root["k300"].valid()); +} + +TEST_CASE("stress: document needing > 16384 tokens is rejected by the cap", "[osjson][stress]") +{ + // Array of 20000 numbers => 20001 tokens > cap => parse() bails out to false + // rather than growing unboundedly. + const int N = 20000; + std::string json = "["; + for (int i = 0; i < N; ++i) { + if (i) json += ','; + json += '1'; + } + json += ']'; + + JSON::JsonDocument doc; + TEST_ASSERT_FALSE(doc.parse(json)); + TEST_ASSERT_FALSE(doc.root().valid()); +} + +TEST_CASE("stress: just under the cap still parses", "[osjson][stress]") +{ + // 16000 elements -> 16001 tokens, needs capacity 32768? No: capacity doubles + // 32,64,...,16384. 16001 <= 16384 so it fits without tripping the cap. + const int N = 16000; + std::string json = "["; + for (int i = 0; i < N; ++i) { + if (i) json += ','; + json += '7'; + } + json += ']'; + + JSON::JsonDocument doc; + TEST_ASSERT_TRUE(doc.parse(json)); + TEST_ASSERT_EQUAL_INT(N, doc.root().count()); + int64_t v = 0; + TEST_ASSERT_TRUE(doc.root().at(N - 1).tryGetI64(v)); + TEST_ASSERT_EQUAL_INT64(7, v); +} + +TEST_CASE("stress: moderately deep nesting navigates correctly", "[osjson][stress]") +{ + // Build {"a":{"a":{...{"v":depth}...}}} and walk back down to the leaf. + const int depth = 40; + std::string json; + for (int i = 0; i < depth; ++i) json += "{\"a\":"; + json += std::to_string(depth); + for (int i = 0; i < depth; ++i) json += "}"; + + JSON::JsonDocument doc; + TEST_ASSERT_TRUE(doc.parse(json)); + + JSON::JsonView v = doc.root(); + for (int i = 0; i < depth; ++i) { + TEST_ASSERT_TRUE(v.isObject()); + v = v["a"]; + } + int64_t leaf = 0; + TEST_ASSERT_TRUE(v.tryGetI64(leaf)); + TEST_ASSERT_EQUAL_INT64(depth, leaf); +} + +TEST_CASE("stress: large generate -> parse round-trip", "[osjson][stress]") +{ + const int N = 2000; + + std::string out; + { + JSON::StringWriter w; + json_gen_str_t* g = w.gen(); + json_gen_start_array(g); + for (int i = 0; i < N; ++i) { + json_gen_start_object(g); + json_gen_obj_set_int(g, "i", i); + json_gen_end_object(g); + } + json_gen_end_array(g); + out = w.finish(); + } + + JSON::JsonDocument doc; + TEST_ASSERT_TRUE(doc.parse(out)); + JSON::JsonView root = doc.root(); + TEST_ASSERT_EQUAL_INT(N, root.count()); + + int64_t v = 0; + TEST_ASSERT_TRUE(root.at(0)["i"].tryGetI64(v)); + TEST_ASSERT_EQUAL_INT64(0, v); + TEST_ASSERT_TRUE(root.at(N - 1)["i"].tryGetI64(v)); + TEST_ASSERT_EQUAL_INT64(N - 1, v); +} diff --git a/components/osjson/host_test/sdkconfig.defaults b/components/osjson/host_test/sdkconfig.defaults new file mode 100644 index 00000000..c3d7cf2c --- /dev/null +++ b/components/osjson/host_test/sdkconfig.defaults @@ -0,0 +1,4 @@ +CONFIG_IDF_TARGET="linux" +CONFIG_IDF_TARGET_LINUX=y +CONFIG_COMPILER_CXX_EXCEPTIONS=y +CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER=y diff --git a/components/osjson/idf_component.yml b/components/osjson/idf_component.yml new file mode 100644 index 00000000..943f1c5a --- /dev/null +++ b/components/osjson/idf_component.yml @@ -0,0 +1,6 @@ +# OpenShock JSON handling (util/Json.h) is built on these espressif components. +# Declared here explicitly rather than relying on them being pulled in as +# transitive private dependencies of other components. +dependencies: + espressif/jsmn: "^1.1.0" + espressif/json_generator: "^1.1.2" diff --git a/components/osjson/include/json/Json.h b/components/osjson/include/json/Json.h new file mode 100644 index 00000000..3cb8d82e --- /dev/null +++ b/components/osjson/include/json/Json.h @@ -0,0 +1,113 @@ +#pragma once + +// jsmn is header-only: the parser implementation is compiled exactly once, in +// Json.cpp (which includes *without* JSMN_HEADER before this header). +// Everywhere else we only want the type/enum declarations. +#ifndef JSMN_HEADER +#define JSMN_HEADER +#endif +#include + +#include + +#include +#include +#include +#include + +namespace OpenShock::JSON { + // Zero-copy, read-only view over a single node of a parsed jsmn token tree. + // + // Strings and numbers are exposed as std::string_view directly into the + // source buffer (no NUL-termination, no strlen). The source buffer must + // outlive every JsonView derived from it. + class JsonView { + public: + JsonView() noexcept = default; + JsonView(const char* json, const jsmntok_t* tokens, int count, int index) noexcept + : m_json(json) + , m_tokens(tokens) + , m_count(count) + , m_index(index) + { + } + + [[nodiscard]] bool valid() const noexcept { return m_tokens != nullptr && m_index >= 0 && m_index < m_count; } + [[nodiscard]] bool isObject() const noexcept { return valid() && m_tokens[m_index].type == JSMN_OBJECT; } + [[nodiscard]] bool isArray() const noexcept { return valid() && m_tokens[m_index].type == JSMN_ARRAY; } + [[nodiscard]] bool isString() const noexcept { return valid() && m_tokens[m_index].type == JSMN_STRING; } + [[nodiscard]] bool isPrimitive() const noexcept { return valid() && m_tokens[m_index].type == JSMN_PRIMITIVE; } + [[nodiscard]] bool isNull() const noexcept; + [[nodiscard]] bool isNumber() const noexcept; // primitive that is not true/false/null + + // Raw token text, zero-copy into the source buffer. + [[nodiscard]] std::string_view raw() const noexcept; + + // Typed getters. Return false if this node is not of the requested kind. + [[nodiscard]] bool tryGetStr(std::string_view& out) const noexcept; + [[nodiscard]] bool tryGetBool(bool& out) const noexcept; + [[nodiscard]] bool tryGetI64(int64_t& out) const noexcept; + [[nodiscard]] bool tryGetDouble(double& out) const noexcept; + + // Object member lookup. Returns an invalid view if not found or not an object. + [[nodiscard]] JsonView operator[](std::string_view key) const noexcept; + + // Array access (also reports object member count). + [[nodiscard]] int count() const noexcept; + [[nodiscard]] JsonView at(int index) const noexcept; + + private: + [[nodiscard]] int skip(int index) const noexcept; // index just past the subtree rooted at `index` + + const char* m_json = nullptr; + const jsmntok_t* m_tokens = nullptr; + int m_count = 0; + int m_index = -1; + }; + + // Owns the jsmn token array for a parsed document. Does NOT own the JSON text; + // the buffer passed to parse() must outlive the document and its views. + class JsonDocument { + public: + [[nodiscard]] bool parse(std::string_view json); + [[nodiscard]] bool ok() const noexcept { return m_ok; } + [[nodiscard]] JsonView root() const noexcept; + + private: + std::string_view m_json; + std::vector m_tokens; + bool m_ok = false; + }; + + // json_generator wrapper that accumulates output into a std::string. + // Non-copyable/non-movable (the generator holds a pointer to the inline buffer). + class StringWriter { + public: + StringWriter(); + StringWriter(const StringWriter&) = delete; + StringWriter& operator=(const StringWriter&) = delete; + + [[nodiscard]] json_gen_str_t* gen() noexcept { return &m_gen; } + + // Finalizes the JSON and returns the accumulated string. Call once. + [[nodiscard]] std::string finish(); + + private: + static void flushCb(char* buf, void* priv); + + std::string m_out; + char m_buf[256]; + json_gen_str_t m_gen; + }; + + // json_generator writes string VALUES verbatim between quotes - it does NOT + // JSON-escape them, so a value containing '"', '\\' or a control character + // would emit invalid JSON. These wrappers escape the value first, then hand it + // to json_gen_{obj,arr}_set_string (which only adds the surrounding quotes). + // + // Keys/names are NOT escaped here (all our keys are safe literals); pass a + // pre-escaped name if that ever changes. Return value matches the underlying + // json_gen_* call. + int objSetString(json_gen_str_t* gen, const char* name, std::string_view value); + int arrSetString(json_gen_str_t* gen, std::string_view value); +} // namespace OpenShock::JSON diff --git a/components/osjson/src/Json.cpp b/components/osjson/src/Json.cpp new file mode 100644 index 00000000..fc2a1708 --- /dev/null +++ b/components/osjson/src/Json.cpp @@ -0,0 +1,306 @@ +// Compile the jsmn implementation here (and only here): include +// WITHOUT JSMN_HEADER, before any header that pulls it in declaration-only. +#include + +#include "json/Json.h" + +#include +#include +#include +#include + +using namespace OpenShock; + +// JSON-escape a string per RFC 8259 section 7. The grammar requires escaping +// exactly the quotation mark (U+0022), reverse solidus (U+005C) and every +// control character U+0000-U+001F; everything else is `unescaped` +// (%x20-21 / %x23-5B / %x5D-10FFFF) and passes through byte-for-byte. +// +// " \ -> \" \\ +// 0x08 0x0C 0x0A 0x0D 0x09 -> \b \f \n \r \t (the RFC's short forms) +// other 0x00-0x1F -> \u00XX +// >= 0x20 (incl. 0x7F/DEL and UTF-8 multibyte) -> passthrough +// +// The solidus '/' is NOT escaped (the RFC lists \/ as permitted, not required). +// Non-ASCII is emitted as raw UTF-8, so no \u surrogate pairs are ever produced. +// Output validity therefore assumes valid UTF-8 input - the escaper escapes, it +// does not transcode (same contract cJSON had). +static std::string jsonEscape(std::string_view in) +{ + std::string out; + out.reserve(in.size() + 8); + + for (unsigned char c : in) { + switch (c) { + case '"': + out += "\\\""; + break; + case '\\': + out += "\\\\"; + break; + case '\b': + out += "\\b"; + break; + case '\f': + out += "\\f"; + break; + case '\n': + out += "\\n"; + break; + case '\r': + out += "\\r"; + break; + case '\t': + out += "\\t"; + break; + default: + if (c < 0x20) { + char buf[7]; + std::snprintf(buf, sizeof(buf), "\\u%04x", c); + out += buf; + } else { + out += static_cast(c); + } + break; + } + } + + return out; +} + +int JSON::objSetString(json_gen_str_t* gen, const char* name, std::string_view value) +{ + std::string escaped = jsonEscape(value); + return json_gen_obj_set_string(gen, name, escaped.c_str()); +} + +int JSON::arrSetString(json_gen_str_t* gen, std::string_view value) +{ + std::string escaped = jsonEscape(value); + return json_gen_arr_set_string(gen, escaped.c_str()); +} + +int JSON::JsonView::skip(int index) const noexcept +{ + const jsmntok_t& tok = m_tokens[index]; + + if (tok.type == JSMN_OBJECT) { + int j = index + 1; + for (int m = 0; m < tok.size; ++m) { + j = skip(j); // key + j = skip(j); // value + } + return j; + } + + if (tok.type == JSMN_ARRAY) { + int j = index + 1; + for (int e = 0; e < tok.size; ++e) { + j = skip(j); + } + return j; + } + + return index + 1; // string / primitive leaf +} + +std::string_view JSON::JsonView::raw() const noexcept +{ + if (!valid()) { + return {}; + } + const jsmntok_t& tok = m_tokens[m_index]; + if (tok.end < tok.start) { + return {}; + } + return std::string_view(m_json + tok.start, static_cast(tok.end - tok.start)); +} + +bool JSON::JsonView::isNull() const noexcept +{ + return isPrimitive() && raw() == "null"; +} + +bool JSON::JsonView::isNumber() const noexcept +{ + if (!isPrimitive()) { + return false; + } + std::string_view s = raw(); + return s != "true" && s != "false" && s != "null"; +} + +bool JSON::JsonView::tryGetStr(std::string_view& out) const noexcept +{ + if (!isString()) { + return false; + } + out = raw(); + return true; +} + +bool JSON::JsonView::tryGetBool(bool& out) const noexcept +{ + if (!isPrimitive()) { + return false; + } + std::string_view s = raw(); + if (s == "true") { + out = true; + return true; + } + if (s == "false") { + out = false; + return true; + } + return false; +} + +bool JSON::JsonView::tryGetI64(int64_t& out) const noexcept +{ + if (!isNumber()) { + return false; + } + std::string_view s = raw(); + int64_t value = 0; + auto [ptr, ec] = std::from_chars(s.data(), s.data() + s.size(), value); + if (ec != std::errc() || ptr != s.data() + s.size()) { + return false; + } + out = value; + return true; +} + +bool JSON::JsonView::tryGetDouble(double& out) const noexcept +{ + if (!isNumber()) { + return false; + } + std::string_view s = raw(); + + // strtod needs a NUL-terminated string; JSON numbers are short, so a small + // stack copy is fine and avoids touching the (non-terminated) source buffer. + char buf[64]; + if (s.size() >= sizeof(buf)) { + return false; + } + std::memcpy(buf, s.data(), s.size()); + buf[s.size()] = '\0'; + + char* end = nullptr; + double value = std::strtod(buf, &end); + if (end != buf + s.size()) { + return false; + } + out = value; + return true; +} + +JSON::JsonView JSON::JsonView::operator[](std::string_view key) const noexcept +{ + if (!isObject()) { + return {}; + } + + const int members = m_tokens[m_index].size; + int j = m_index + 1; + for (int m = 0; m < members; ++m) { + const int keyIdx = j; + const int valIdx = keyIdx + 1; + + const jsmntok_t& k = m_tokens[keyIdx]; + if (k.type == JSMN_STRING) { + std::string_view keyView(m_json + k.start, static_cast(k.end - k.start)); + if (keyView == key) { + return JsonView(m_json, m_tokens, m_count, valIdx); + } + } + + j = skip(valIdx); // advance past this member's value to the next key + } + + return {}; +} + +int JSON::JsonView::count() const noexcept +{ + if (!isObject() && !isArray()) { + return 0; + } + return m_tokens[m_index].size; +} + +JSON::JsonView JSON::JsonView::at(int index) const noexcept +{ + if (!isArray()) { + return {}; + } + + const int elements = m_tokens[m_index].size; + if (index < 0 || index >= elements) { + return {}; + } + + int j = m_index + 1; + for (int e = 0; e < index; ++e) { + j = skip(j); + } + return JsonView(m_json, m_tokens, m_count, j); +} + +bool JSON::JsonDocument::parse(std::string_view json) +{ + m_json = json; + m_ok = false; + + // jsmn needs a token buffer sized up-front; grow-and-retry on NOMEM rather + // than relying on a separate counting pass. + size_t capacity = 32; + for (;;) { + m_tokens.resize(capacity); + + jsmn_parser parser; + jsmn_init(&parser); + + int result = jsmn_parse(&parser, json.data(), json.size(), m_tokens.data(), static_cast(capacity)); + if (result >= 0) { + m_tokens.resize(static_cast(result)); + m_ok = result > 0; + return m_ok; + } + + if (result == JSMN_ERROR_NOMEM) { + capacity *= 2; + if (capacity > 16384) { + return false; // unreasonably large / malformed + } + continue; + } + + return false; // JSMN_ERROR_INVAL / JSMN_ERROR_PART + } +} + +JSON::JsonView JSON::JsonDocument::root() const noexcept +{ + if (!m_ok || m_tokens.empty()) { + return {}; + } + return JsonView(m_json.data(), m_tokens.data(), static_cast(m_tokens.size()), 0); +} + +void JSON::StringWriter::flushCb(char* buf, void* priv) +{ + static_cast(priv)->append(buf); +} + +JSON::StringWriter::StringWriter() +{ + json_gen_str_start(&m_gen, m_buf, sizeof(m_buf), &StringWriter::flushCb, &m_out); +} + +std::string JSON::StringWriter::finish() +{ + json_gen_str_end(&m_gen); + return std::move(m_out); +} diff --git a/components/util/include/util/StringUtils.h b/components/util/include/util/StringUtils.h index 022689fe..ba681cd2 100644 --- a/components/util/include/util/StringUtils.h +++ b/components/util/include/util/StringUtils.h @@ -1,5 +1,7 @@ #pragma once +#include "StringHelpers.h" // OpenShock::StringIEquals + #include #include @@ -173,7 +175,6 @@ namespace OpenShock { return std::make_pair(view.substr(0, pos), pos == std::string_view::npos ? std::string_view() : view.substr(pos + delimiter.length())); } - bool StringIEquals(std::string_view a, std::string_view b); bool StringIContains(std::string_view haystack, std::string_view needle); bool StringHasPrefixIC(std::string_view view, std::string_view prefix); diff --git a/components/util/src/StringUtils.cpp b/components/util/src/StringUtils.cpp index ed5d8bc9..1f5e6ada 100644 --- a/components/util/src/StringUtils.cpp +++ b/components/util/src/StringUtils.cpp @@ -125,11 +125,6 @@ std::vector OpenShock::StringSplitWhiteSpace(std::string_view return StringSplit(view, [](char c) { return isspace(c) != 0; }, maxSplits); } -bool OpenShock::StringIEquals(std::string_view a, std::string_view b) -{ - if (a.size() != b.size()) return false; - return strncasecmp(a.data(), b.data(), a.size()) == 0; -} bool OpenShock::StringIContains(std::string_view haystack, std::string_view needle) { if (haystack.size() < needle.size()) return false; diff --git a/include/config/BackendConfig.h b/include/config/BackendConfig.h index 629e90ba..7c71c1cc 100644 --- a/include/config/BackendConfig.h +++ b/include/config/BackendConfig.h @@ -18,7 +18,7 @@ namespace OpenShock::Config { bool FromFlatbuffers(const Serialization::Configuration::BackendConfig* config) override; [[nodiscard]] flatbuffers::Offset ToFlatbuffers(flatbuffers::FlatBufferBuilder& builder, bool withSensitiveData) const override; - bool FromJSON(const cJSON* json) override; - [[nodiscard]] cJSON* ToJSON(bool withSensitiveData) const override; + bool FromJSON(JSON::JsonView json) override; + void ToJSON(json_gen_str_t* gen, bool withSensitiveData) const override; }; } // namespace OpenShock::Config diff --git a/include/config/CaptivePortalConfig.h b/include/config/CaptivePortalConfig.h index 359321ca..a7eb0c47 100644 --- a/include/config/CaptivePortalConfig.h +++ b/include/config/CaptivePortalConfig.h @@ -14,7 +14,7 @@ namespace OpenShock::Config { bool FromFlatbuffers(const Serialization::Configuration::CaptivePortalConfig* config) override; [[nodiscard]] flatbuffers::Offset ToFlatbuffers(flatbuffers::FlatBufferBuilder& builder, bool withSensitiveData) const override; - bool FromJSON(const cJSON* json) override; - [[nodiscard]] cJSON* ToJSON(bool withSensitiveData) const override; + bool FromJSON(JSON::JsonView json) override; + void ToJSON(json_gen_str_t* gen, bool withSensitiveData) const override; }; } // namespace OpenShock::Config diff --git a/include/config/Config.h b/include/config/Config.h index 3f70db73..63eb3869 100644 --- a/include/config/Config.h +++ b/include/config/Config.h @@ -55,7 +55,9 @@ namespace OpenShock::Config { bool SetEStop(const EStopConfig& config); bool GetWiFiCredentials(std::vector& out); - bool GetWiFiCredentials(cJSON* array, bool withSensitiveData); + // Emits each stored credential as an object into an already-open JSON array + // (the caller opens/closes it with json_gen_{start,end}_array). + bool GetWiFiCredentials(json_gen_str_t* gen, bool withSensitiveData); bool SetWiFiCredentials(const std::vector& credentials); bool GetRFConfigTxPin(gpio_num_t& out); diff --git a/include/config/ConfigBase.h b/include/config/ConfigBase.h index 3bd7abc7..d2dd0d92 100644 --- a/include/config/ConfigBase.h +++ b/include/config/ConfigBase.h @@ -2,7 +2,9 @@ #include "serialization/_fbs/HubConfig_generated.h" -#include +#include "json/Json.h" + +#include namespace OpenShock::Config { template @@ -12,8 +14,10 @@ namespace OpenShock::Config { virtual bool FromFlatbuffers(const T* config) = 0; [[nodiscard]] virtual flatbuffers::Offset ToFlatbuffers(flatbuffers::FlatBufferBuilder& builder, bool withSensitiveData) const = 0; - virtual bool FromJSON(const cJSON* json) = 0; - [[nodiscard]] virtual cJSON* ToJSON(bool withSensitiveData) const = 0; + virtual bool FromJSON(JSON::JsonView json) = 0; + // Emits this config's members into the already-open current JSON object; the + // caller is responsible for opening/closing it (json_gen_{start,push}_object). + virtual void ToJSON(json_gen_str_t* gen, bool withSensitiveData) const = 0; }; } // namespace OpenShock::Config diff --git a/include/config/EStopConfig.h b/include/config/EStopConfig.h index de726734..a8ccad0d 100644 --- a/include/config/EStopConfig.h +++ b/include/config/EStopConfig.h @@ -17,7 +17,7 @@ namespace OpenShock::Config { bool FromFlatbuffers(const Serialization::Configuration::EStopConfig* config) override; flatbuffers::Offset ToFlatbuffers(flatbuffers::FlatBufferBuilder& builder, bool withSensitiveData) const override; - bool FromJSON(const cJSON* json) override; - cJSON* ToJSON(bool withSensitiveData) const override; + bool FromJSON(JSON::JsonView json) override; + void ToJSON(json_gen_str_t* gen, bool withSensitiveData) const override; }; } // namespace OpenShock::Config diff --git a/include/config/OtaUpdateConfig.h b/include/config/OtaUpdateConfig.h index 1f375dd1..7b4b514f 100644 --- a/include/config/OtaUpdateConfig.h +++ b/include/config/OtaUpdateConfig.h @@ -30,7 +30,7 @@ namespace OpenShock::Config { bool FromFlatbuffers(const Serialization::Configuration::OtaUpdateConfig* config) override; [[nodiscard]] flatbuffers::Offset ToFlatbuffers(flatbuffers::FlatBufferBuilder& builder, bool withSensitiveData) const override; - bool FromJSON(const cJSON* json) override; - [[nodiscard]] cJSON* ToJSON(bool withSensitiveData) const override; + bool FromJSON(JSON::JsonView json) override; + void ToJSON(json_gen_str_t* gen, bool withSensitiveData) const override; }; } // namespace OpenShock::Config diff --git a/include/config/RFConfig.h b/include/config/RFConfig.h index cf766e69..2207498c 100644 --- a/include/config/RFConfig.h +++ b/include/config/RFConfig.h @@ -17,7 +17,7 @@ namespace OpenShock::Config { bool FromFlatbuffers(const Serialization::Configuration::RFConfig* config) override; [[nodiscard]] flatbuffers::Offset ToFlatbuffers(flatbuffers::FlatBufferBuilder& builder, bool withSensitiveData) const override; - bool FromJSON(const cJSON* json) override; - [[nodiscard]] cJSON* ToJSON(bool withSensitiveData) const override; + bool FromJSON(JSON::JsonView json) override; + void ToJSON(json_gen_str_t* gen, bool withSensitiveData) const override; }; } // namespace OpenShock::Config diff --git a/include/config/RootConfig.h b/include/config/RootConfig.h index d182a66c..248f99da 100644 --- a/include/config/RootConfig.h +++ b/include/config/RootConfig.h @@ -26,7 +26,7 @@ namespace OpenShock::Config { bool FromFlatbuffers(const Serialization::Configuration::HubConfig* config) override; [[nodiscard]] flatbuffers::Offset ToFlatbuffers(flatbuffers::FlatBufferBuilder& builder, bool withSensitiveData) const override; - bool FromJSON(const cJSON* json) override; - [[nodiscard]] cJSON* ToJSON(bool withSensitiveData) const override; + bool FromJSON(JSON::JsonView json) override; + void ToJSON(json_gen_str_t* gen, bool withSensitiveData) const override; }; } // namespace OpenShock::Config diff --git a/include/config/SerialInputConfig.h b/include/config/SerialInputConfig.h index a9ac7746..93c75829 100644 --- a/include/config/SerialInputConfig.h +++ b/include/config/SerialInputConfig.h @@ -14,7 +14,7 @@ namespace OpenShock::Config { bool FromFlatbuffers(const Serialization::Configuration::SerialInputConfig* config) override; [[nodiscard]] flatbuffers::Offset ToFlatbuffers(flatbuffers::FlatBufferBuilder& builder, bool withSensitiveData) const override; - bool FromJSON(const cJSON* json) override; - [[nodiscard]] cJSON* ToJSON(bool withSensitiveData) const override; + bool FromJSON(JSON::JsonView json) override; + void ToJSON(json_gen_str_t* gen, bool withSensitiveData) const override; }; } // namespace OpenShock::Config diff --git a/include/config/WiFiConfig.h b/include/config/WiFiConfig.h index f3671608..78dfa41a 100644 --- a/include/config/WiFiConfig.h +++ b/include/config/WiFiConfig.h @@ -21,7 +21,7 @@ namespace OpenShock::Config { bool FromFlatbuffers(const Serialization::Configuration::WiFiConfig* config) override; [[nodiscard]] flatbuffers::Offset ToFlatbuffers(flatbuffers::FlatBufferBuilder& builder, bool withSensitiveData) const override; - bool FromJSON(const cJSON* json) override; - [[nodiscard]] cJSON* ToJSON(bool withSensitiveData) const override; + bool FromJSON(JSON::JsonView json) override; + void ToJSON(json_gen_str_t* gen, bool withSensitiveData) const override; }; } // namespace OpenShock::Config diff --git a/include/config/WiFiCredentials.h b/include/config/WiFiCredentials.h index cc545a1d..a6ba8bc3 100644 --- a/include/config/WiFiCredentials.h +++ b/include/config/WiFiCredentials.h @@ -28,7 +28,7 @@ namespace OpenShock::Config { bool FromFlatbuffers(const Serialization::Configuration::WiFiCredentials* config) override; [[nodiscard]] flatbuffers::Offset ToFlatbuffers(flatbuffers::FlatBufferBuilder& builder, bool withSensitiveData) const override; - bool FromJSON(const cJSON* json) override; - [[nodiscard]] cJSON* ToJSON(bool withSensitiveData) const override; + bool FromJSON(JSON::JsonView json) override; + void ToJSON(json_gen_str_t* gen, bool withSensitiveData) const override; }; } // namespace OpenShock::Config diff --git a/include/config/internal/utils.h b/include/config/internal/utils.h index cb0144cc..5fbe37e9 100644 --- a/include/config/internal/utils.h +++ b/include/config/internal/utils.h @@ -2,7 +2,8 @@ #include "config/ConfigBase.h" -#include +#include "json/Json.h" + #include #include @@ -15,19 +16,19 @@ namespace OpenShock::Config::Internal::Utils { void FromFbsStr(std::string& str, const flatbuffers::String* fbsStr, const char* defaultStr); bool FromFbsIPAddress(IPAddress& ip, const flatbuffers::String* fbsIP, const IPAddress& defaultIP); - bool FromJsonBool(bool& val, const cJSON* json, const char* name, bool defaultVal); - bool FromJsonU8(uint8_t& val, const cJSON* json, const char* name, uint8_t defaultVal); - bool FromJsonU16(uint16_t& val, const cJSON* json, const char* name, uint16_t defaultVal); - bool FromJsonI32(int32_t& val, const cJSON* json, const char* name, int32_t defaultVal); + bool FromJsonBool(bool& val, JSON::JsonView json, std::string_view name, bool defaultVal); + bool FromJsonU8(uint8_t& val, JSON::JsonView json, std::string_view name, uint8_t defaultVal); + bool FromJsonU16(uint16_t& val, JSON::JsonView json, std::string_view name, uint16_t defaultVal); + bool FromJsonI32(int32_t& val, JSON::JsonView json, std::string_view name, int32_t defaultVal); - bool FromJsonStr(std::string& str, const cJSON* json, const char* name); - void FromJsonStr(std::string& str, const cJSON* json, const char* name, const char* defaultStr); + bool FromJsonStr(std::string& str, JSON::JsonView json, std::string_view name); + void FromJsonStr(std::string& str, JSON::JsonView json, std::string_view name, const char* defaultStr); - bool FromJsonIPAddress(IPAddress& ip, const cJSON* json, const char* name); - void FromJsonIPAddress(IPAddress& ip, const cJSON* json, const char* name, const IPAddress& defaultIP); + bool FromJsonIPAddress(IPAddress& ip, JSON::JsonView json, std::string_view name); + void FromJsonIPAddress(IPAddress& ip, JSON::JsonView json, std::string_view name, const IPAddress& defaultIP); - bool FromJsonGpioNum(gpio_num_t& val, const cJSON* json, const char* name); - void FromJsonGpioNum(gpio_num_t& val, const cJSON* json, const char* name, gpio_num_t defaultVal); + bool FromJsonGpioNum(gpio_num_t& val, JSON::JsonView json, std::string_view name); + void FromJsonGpioNum(gpio_num_t& val, JSON::JsonView json, std::string_view name, gpio_num_t defaultVal); template // T inherits from ConfigBase void FromFbsVec(std::vector& vec, const flatbuffers::Vector>* fbsVec) @@ -46,37 +47,37 @@ namespace OpenShock::Config::Internal::Utils { } } template // T inherits from ConfigBase - bool FromJsonStrParsed(T& val, const cJSON* json, const char* name, bool (*StringParser)(T&, const char*), T defaultVal) + bool FromJsonStrParsed(T& val, JSON::JsonView json, std::string_view name, bool (*StringParser)(T&, std::string_view), T defaultVal) { - const cJSON* jsonVal = cJSON_GetObjectItemCaseSensitive(json, name); - if (jsonVal == nullptr) { + JSON::JsonView jsonVal = json[name]; + if (!jsonVal.valid()) { val = defaultVal; return true; } - if (cJSON_IsString(jsonVal) == 0) { + std::string_view view; + if (!jsonVal.tryGetStr(view)) { return false; } - if (!StringParser(val, jsonVal->valuestring)) { + if (!StringParser(val, view)) { return false; } return true; } template // T inherits from ConfigBase - bool FromJsonArray(std::vector& vec, const cJSON* jsonArray) + bool FromJsonArray(std::vector& vec, JSON::JsonView jsonArray) { vec.clear(); - if (jsonArray == nullptr) { + if (!jsonArray.isArray()) { return true; } - const cJSON* jsonItem = nullptr; - cJSON_ArrayForEach(jsonItem, jsonArray) - { + const int count = jsonArray.count(); + for (int i = 0; i < count; ++i) { T item; - if (item.FromJSON(jsonItem)) { + if (item.FromJSON(jsonArray.at(i))) { vec.push_back(std::move(item)); } } diff --git a/include/serialization/JsonAPI.h b/include/serialization/JsonAPI.h index c1698398..180dd7c1 100644 --- a/include/serialization/JsonAPI.h +++ b/include/serialization/JsonAPI.h @@ -1,8 +1,7 @@ #pragma once #include "enums/ShockerModelType.h" - -#include +#include "json/Json.h" #include #include @@ -41,9 +40,9 @@ namespace OpenShock::Serialization::JsonAPI { std::string country; }; - bool ParseLcgInstanceDetailsJsonResponse(int code, const cJSON* root, LcgInstanceDetailsResponse& out); - bool ParseBackendVersionJsonResponse(int code, const cJSON* root, BackendVersionResponse& out); - bool ParseAccountLinkJsonResponse(int code, const cJSON* root, AccountLinkResponse& out); - bool ParseHubInfoJsonResponse(int code, const cJSON* root, HubInfoResponse& out); - bool ParseAssignLcgJsonResponse(int code, const cJSON* root, AssignLcgResponse& out); + bool ParseLcgInstanceDetailsJsonResponse(int code, JSON::JsonView root, LcgInstanceDetailsResponse& out); + bool ParseBackendVersionJsonResponse(int code, JSON::JsonView root, BackendVersionResponse& out); + bool ParseAccountLinkJsonResponse(int code, JSON::JsonView root, AccountLinkResponse& out); + bool ParseHubInfoJsonResponse(int code, JSON::JsonView root, HubInfoResponse& out); + bool ParseAssignLcgJsonResponse(int code, JSON::JsonView root, AssignLcgResponse& out); } // namespace OpenShock::Serialization::JsonAPI diff --git a/include/serialization/JsonSerial.h b/include/serialization/JsonSerial.h index 33db78b4..3bbef5b4 100644 --- a/include/serialization/JsonSerial.h +++ b/include/serialization/JsonSerial.h @@ -2,8 +2,7 @@ #include "enums/ShockerCommandType.h" #include "enums/ShockerModelType.h" - -#include +#include "json/Json.h" #include @@ -16,5 +15,5 @@ namespace OpenShock::Serialization::JsonSerial { uint16_t durationMs; }; - bool ParseShockerCommand(const cJSON* root, ShockerCommand& out); + bool ParseShockerCommand(JSON::JsonView root, ShockerCommand& out); } // namespace OpenShock::Serialization::JsonSerial diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 1b88d14f..f62521c6 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -2,5 +2,5 @@ FILE(GLOB_RECURSE app_sources ${CMAKE_SOURCE_DIR}/src/*.*) idf_component_register( SRCS ${app_sources} - REQUIRES common time logging concurrency util http chipset led_drivers protocols + REQUIRES common time logging concurrency util http chipset led_drivers protocols osjson ) diff --git a/src/captiveportal/CaptivePortalInstance.cpp b/src/captiveportal/CaptivePortalInstance.cpp index 7229639d..61d1f167 100644 --- a/src/captiveportal/CaptivePortalInstance.cpp +++ b/src/captiveportal/CaptivePortalInstance.cpp @@ -26,7 +26,8 @@ const char* const TAG = "CaptivePortalInstance"; #include "serialization/_fbs/HubToLocalMessage_generated.h" -#include +#include "json/Json.h" + #include const uint16_t HTTP_PORT = 80; @@ -225,16 +226,13 @@ CaptivePortal::CaptivePortalInstance::CaptivePortalInstance() error = "InternalError"; break; } - cJSON* root = cJSON_CreateObject(); - cJSON_AddStringToObject(root, "error", error); - char* json = cJSON_PrintUnformatted(root); - cJSON_Delete(root); - if (json == nullptr) { - request->send(500, HTTP::ContentType::JSON, JSON_ERR_INTERNAL); - } else { - request->send(400, HTTP::ContentType::JSON, json); - cJSON_free(json); - } + OpenShock::JSON::StringWriter writer; + json_gen_str_t* gen = writer.gen(); + json_gen_start_object(gen); + OpenShock::JSON::objSetString(gen, "error", error); + json_gen_end_object(gen); + std::string json = writer.finish(); + request->send(400, HTTP::ContentType::JSON, json.c_str()); }); m_webServer.on("/api/account", HTTP_DELETE, [](AsyncWebServerRequest* request) { @@ -254,16 +252,13 @@ CaptivePortal::CaptivePortalInstance::CaptivePortalInstance() request->send(400, HTTP::ContentType::JSON, (result == ResultCode::InvalidPin) ? JSON_ERR_INVALID_PIN : JSON_ERR_INTERNAL); return; } - cJSON* root = cJSON_CreateObject(); - cJSON_AddNumberToObject(root, "pin", pin); - char* json = cJSON_PrintUnformatted(root); - cJSON_Delete(root); - if (json == nullptr) { - request->send(500, HTTP::ContentType::JSON, JSON_ERR_INTERNAL); - } else { - request->send(200, HTTP::ContentType::JSON, json); - cJSON_free(json); - } + OpenShock::JSON::StringWriter writer; + json_gen_str_t* gen = writer.gen(); + json_gen_start_object(gen); + json_gen_obj_set_int(gen, "pin", pin); + json_gen_end_object(gen); + std::string json = writer.finish(); + request->send(200, HTTP::ContentType::JSON, json.c_str()); }); m_webServer.on("/api/config/estop/pin", HTTP_PUT, [](AsyncWebServerRequest* request) { @@ -280,16 +275,13 @@ CaptivePortal::CaptivePortalInstance::CaptivePortalInstance() request->send(500, HTTP::ContentType::JSON, JSON_ERR_INTERNAL); return; } - cJSON* root = cJSON_CreateObject(); - cJSON_AddNumberToObject(root, "pin", pin); - char* json = cJSON_PrintUnformatted(root); - cJSON_Delete(root); - if (json == nullptr) { - request->send(500, HTTP::ContentType::JSON, JSON_ERR_INTERNAL); - } else { - request->send(200, HTTP::ContentType::JSON, json); - cJSON_free(json); - } + OpenShock::JSON::StringWriter writer; + json_gen_str_t* gen = writer.gen(); + json_gen_start_object(gen); + json_gen_obj_set_int(gen, "pin", pin); + json_gen_end_object(gen); + std::string json = writer.finish(); + request->send(200, HTTP::ContentType::JSON, json.c_str()); }); m_webServer.on("/api/config/estop/enabled", HTTP_PUT, [](AsyncWebServerRequest* request) { diff --git a/src/captiveportal/RFC8908Handler.cpp b/src/captiveportal/RFC8908Handler.cpp index ed275436..eec59f43 100644 --- a/src/captiveportal/RFC8908Handler.cpp +++ b/src/captiveportal/RFC8908Handler.cpp @@ -9,7 +9,7 @@ const char* const TAG = "RFC8908Handler"; #include -#include +#include "json/Json.h" using namespace OpenShock; @@ -81,22 +81,16 @@ void CaptivePortal::RFC8908Handler::handleRequest(AsyncWebServerRequest* request auto portalUrl = GetCaptivePortalUrl(); - cJSON* doc = cJSON_CreateObject(); - cJSON_AddBoolToObject(doc, "captive", true); - cJSON_AddStringToObject(doc, "user-portal-url", portalUrl.c_str()); - cJSON_AddStringToObject(doc, "venue-info-url", "https://openshock.org"); + OpenShock::JSON::StringWriter writer; + json_gen_str_t* gen = writer.gen(); + json_gen_start_object(gen); + json_gen_obj_set_bool(gen, "captive", true); + JSON::objSetString(gen, "user-portal-url", portalUrl.c_str()); + JSON::objSetString(gen, "venue-info-url", "https://openshock.org"); + json_gen_end_object(gen); + std::string jsonStr = writer.finish(); - char* jsonStr = cJSON_Print(doc); - cJSON_Delete(doc); - - if (jsonStr == nullptr) { - OS_LOGE(TAG, "Failed to serialize captive portal JSON response"); - request->send(500, OpenShock::HTTP::ContentType::TextPlain, "Internal Server Error"); - return; - } - - AsyncWebServerResponse* response = request->beginResponse(200, "application/captive+json", jsonStr); - cJSON_free(jsonStr); + AsyncWebServerResponse* response = request->beginResponse(200, "application/captive+json", jsonStr.c_str()); response->addHeader("Cache-Control", "private"); request->send(response); diff --git a/src/config/BackendConfig.cpp b/src/config/BackendConfig.cpp index ac49a2e2..60fbb096 100644 --- a/src/config/BackendConfig.cpp +++ b/src/config/BackendConfig.cpp @@ -53,15 +53,15 @@ flatbuffers::Offset Back return Serialization::Configuration::CreateBackendConfig(builder, domainOffset, authTokenOffset); } -bool BackendConfig::FromJSON(const cJSON* json) +bool BackendConfig::FromJSON(JSON::JsonView json) { - if (json == nullptr) { + if (!json.valid()) { OS_LOGW(TAG, "Config is null, setting to default"); ToDefault(); return true; } - if (cJSON_IsObject(json) == 0) { + if (!json.isObject()) { OS_LOGE(TAG, "json is not an object"); return false; } @@ -72,15 +72,11 @@ bool BackendConfig::FromJSON(const cJSON* json) return true; } -cJSON* BackendConfig::ToJSON(bool withSensitiveData) const +void BackendConfig::ToJSON(json_gen_str_t* gen, bool withSensitiveData) const { - cJSON* root = cJSON_CreateObject(); - - cJSON_AddStringToObject(root, "domain", domain.c_str()); + JSON::objSetString(gen, "domain", domain); if (withSensitiveData) { - cJSON_AddStringToObject(root, "authToken", authToken.c_str()); + JSON::objSetString(gen, "authToken", authToken); } - - return root; } diff --git a/src/config/CaptivePortalConfig.cpp b/src/config/CaptivePortalConfig.cpp index eefe1730..4cf4a15a 100644 --- a/src/config/CaptivePortalConfig.cpp +++ b/src/config/CaptivePortalConfig.cpp @@ -40,15 +40,15 @@ flatbuffers::Offset #include -#include - #include using namespace OpenShock; @@ -153,46 +153,30 @@ void Config::Init() } } -static cJSON* getAsCJSON(bool withSensitiveData) -{ - CONFIG_LOCK_READ(nullptr); - - return _configData.ToJSON(withSensitiveData); -} - std::string Config::GetAsJSON(bool withSensitiveData) { - cJSON* root = getAsCJSON(withSensitiveData); - if (root == nullptr) { - OS_LOGE(TAG, "Failed to get config as JSON"); - return {}; - } + CONFIG_LOCK_READ({}); - char* json = cJSON_PrintUnformatted(root); + JSON::StringWriter writer; + json_gen_str_t* gen = writer.gen(); - std::string result(json); + json_gen_start_object(gen); + _configData.ToJSON(gen, withSensitiveData); + json_gen_end_object(gen); - free(json); - - cJSON_Delete(root); - - return result; + return writer.finish(); } bool Config::SaveFromJSON(std::string_view json) { - cJSON* root = cJSON_ParseWithLength(json.data(), json.size()); - if (root == nullptr) { - OS_LOGE(TAG, "Failed to parse JSON: %s", cJSON_GetErrorPtr()); + JSON::JsonDocument doc; + if (!doc.parse(json)) { + OS_LOGE(TAG, "Failed to parse JSON"); return false; } - CONFIG_LOCK_WRITE_ACTION(false, cJSON_Delete(root)); - - bool result = _configData.FromJSON(root); - - cJSON_Delete(root); + CONFIG_LOCK_WRITE(false); - if (!result) { + if (!_configData.FromJSON(doc.root())) { OS_LOGE(TAG, "Failed to read JSON"); return false; } @@ -384,14 +368,14 @@ bool Config::GetWiFiCredentials(std::vector& out) return true; } -bool Config::GetWiFiCredentials(cJSON* array, bool withSensitiveData) +bool Config::GetWiFiCredentials(json_gen_str_t* gen, bool withSensitiveData) { CONFIG_LOCK_READ(false); for (auto& creds : _configData.wifi.credentialsList) { - cJSON* jsonCreds = creds.ToJSON(withSensitiveData); - - cJSON_AddItemToArray(array, jsonCreds); + json_gen_start_object(gen); + creds.ToJSON(gen, withSensitiveData); + json_gen_end_object(gen); } return true; diff --git a/src/config/EStopConfig.cpp b/src/config/EStopConfig.cpp index 7145b69d..de467548 100644 --- a/src/config/EStopConfig.cpp +++ b/src/config/EStopConfig.cpp @@ -50,14 +50,14 @@ flatbuffers::Offset EStopC return Serialization::Configuration::CreateEStopConfig(builder, enabled, gpioPin); } -bool EStopConfig::FromJSON(const cJSON* json) +bool EStopConfig::FromJSON(JSON::JsonView json) { - if (json == nullptr) { + if (!json.valid()) { ToDefault(); // Set to default if config is null return true; } - if (cJSON_IsObject(json) == 0) { + if (!json.isObject()) { OS_LOGE(TAG, "json is not an object"); return false; } @@ -72,12 +72,8 @@ bool EStopConfig::FromJSON(const cJSON* json) return true; } -cJSON* EStopConfig::ToJSON(bool withSensitiveData) const +void EStopConfig::ToJSON(json_gen_str_t* gen, bool withSensitiveData) const { - cJSON* root = cJSON_CreateObject(); - - cJSON_AddBoolToObject(root, "enabled", enabled); - cJSON_AddNumberToObject(root, "gpioPin", gpioPin); - - return root; + json_gen_obj_set_bool(gen, "enabled", enabled); + json_gen_obj_set_int(gen, "gpioPin", gpioPin); } diff --git a/src/config/OtaUpdateConfig.cpp b/src/config/OtaUpdateConfig.cpp index 4cabc1e8..6ad31c51 100644 --- a/src/config/OtaUpdateConfig.cpp +++ b/src/config/OtaUpdateConfig.cpp @@ -6,6 +6,7 @@ const char* const TAG = "Config::OtaUpdateConfig"; #include "Logging.h" using namespace OpenShock::Config; +using namespace std::string_view_literals; OtaUpdateConfig::OtaUpdateConfig() : isEnabled(true) @@ -78,47 +79,43 @@ flatbuffers::Offset Ot return Serialization::Configuration::CreateOtaUpdateConfig(builder, isEnabled, builder.CreateString(cdnDomain), static_cast(updateChannel), checkOnStartup, checkPeriodically, checkInterval, allowBackendManagement, requireManualApproval, updateId, static_cast(updateStep)); } -bool OtaUpdateConfig::FromJSON(const cJSON* json) +bool OtaUpdateConfig::FromJSON(JSON::JsonView json) { - if (json == nullptr) { + if (!json.valid()) { OS_LOGW(TAG, "Config is null, setting to default"); ToDefault(); return true; } - if (!cJSON_IsObject(json)) { + if (!json.isObject()) { OS_LOGE(TAG, "json is not an object"); return false; } Internal::Utils::FromJsonBool(isEnabled, json, "isEnabled", true); Internal::Utils::FromJsonStr(cdnDomain, json, "cdnDomain", OPENSHOCK_FW_CDN_DOMAIN); - Internal::Utils::FromJsonStrParsed(updateChannel, json, "updateChannel", OpenShock::TryParseOtaUpdateChannel, OpenShock::OtaUpdateChannel::Stable); + Internal::Utils::FromJsonStrParsed(updateChannel, json, "updateChannel"sv, OpenShock::TryParseOtaUpdateChannel, OpenShock::OtaUpdateChannel::Stable); Internal::Utils::FromJsonBool(checkOnStartup, json, "checkOnStartup", false); Internal::Utils::FromJsonBool(checkPeriodically, json, "checkPeriodically", false); Internal::Utils::FromJsonU16(checkInterval, json, "checkInterval", 30); Internal::Utils::FromJsonBool(allowBackendManagement, json, "allowBackendManagement", true); Internal::Utils::FromJsonBool(requireManualApproval, json, "requireManualApproval", false); Internal::Utils::FromJsonI32(updateId, json, "updateId", 0); - Internal::Utils::FromJsonStrParsed(updateStep, json, "updateStep", OpenShock::TryParseOtaUpdateStep, OpenShock::OtaUpdateStep::None); + Internal::Utils::FromJsonStrParsed(updateStep, json, "updateStep"sv, OpenShock::TryParseOtaUpdateStep, OpenShock::OtaUpdateStep::None); return true; } -cJSON* OtaUpdateConfig::ToJSON(bool withSensitiveData) const +void OtaUpdateConfig::ToJSON(json_gen_str_t* gen, bool withSensitiveData) const { - cJSON* root = cJSON_CreateObject(); - - cJSON_AddBoolToObject(root, "isEnabled", isEnabled); - cJSON_AddStringToObject(root, "cdnDomain", cdnDomain.c_str()); - cJSON_AddStringToObject(root, "updateChannel", OpenShock::Serialization::Configuration::EnumNameOtaUpdateChannel(static_cast(updateChannel))); - cJSON_AddBoolToObject(root, "checkOnStartup", checkOnStartup); - cJSON_AddBoolToObject(root, "checkPeriodically", checkPeriodically); - cJSON_AddNumberToObject(root, "checkInterval", checkInterval); - cJSON_AddBoolToObject(root, "allowBackendManagement", allowBackendManagement); - cJSON_AddBoolToObject(root, "requireManualApproval", requireManualApproval); - cJSON_AddNumberToObject(root, "updateId", updateId); - cJSON_AddStringToObject(root, "updateStep", OpenShock::Serialization::Configuration::EnumNameOtaUpdateStep(static_cast(updateStep))); - - return root; + json_gen_obj_set_bool(gen, "isEnabled", isEnabled); + JSON::objSetString(gen, "cdnDomain", cdnDomain); + JSON::objSetString(gen, "updateChannel", OpenShock::Serialization::Configuration::EnumNameOtaUpdateChannel(static_cast(updateChannel))); + json_gen_obj_set_bool(gen, "checkOnStartup", checkOnStartup); + json_gen_obj_set_bool(gen, "checkPeriodically", checkPeriodically); + json_gen_obj_set_int(gen, "checkInterval", checkInterval); + json_gen_obj_set_bool(gen, "allowBackendManagement", allowBackendManagement); + json_gen_obj_set_bool(gen, "requireManualApproval", requireManualApproval); + json_gen_obj_set_int(gen, "updateId", updateId); + JSON::objSetString(gen, "updateStep", OpenShock::Serialization::Configuration::EnumNameOtaUpdateStep(static_cast(updateStep))); } diff --git a/src/config/RFConfig.cpp b/src/config/RFConfig.cpp index 941c2a76..40f895cc 100644 --- a/src/config/RFConfig.cpp +++ b/src/config/RFConfig.cpp @@ -45,15 +45,15 @@ flatbuffers::Offset RFConfig: return Serialization::Configuration::CreateRFConfig(builder, txPin, keepAliveEnabled); } -bool RFConfig::FromJSON(const cJSON* json) +bool RFConfig::FromJSON(JSON::JsonView json) { - if (json == nullptr) { + if (!json.valid()) { OS_LOGW(TAG, "Config is null, setting to default"); ToDefault(); return true; } - if (cJSON_IsObject(json) == 0) { + if (!json.isObject()) { OS_LOGE(TAG, "json is not an object"); return false; } @@ -64,12 +64,8 @@ bool RFConfig::FromJSON(const cJSON* json) return true; } -cJSON* RFConfig::ToJSON(bool withSensitiveData) const +void RFConfig::ToJSON(json_gen_str_t* gen, bool withSensitiveData) const { - cJSON* root = cJSON_CreateObject(); - - cJSON_AddNumberToObject(root, "txPin", static_cast(txPin)); //-V2564 - cJSON_AddBoolToObject(root, "keepAliveEnabled", keepAliveEnabled); - - return root; + json_gen_obj_set_int(gen, "txPin", static_cast(txPin)); + json_gen_obj_set_bool(gen, "keepAliveEnabled", keepAliveEnabled); } diff --git a/src/config/RootConfig.cpp b/src/config/RootConfig.cpp index 9babc0b9..3805779e 100644 --- a/src/config/RootConfig.cpp +++ b/src/config/RootConfig.cpp @@ -87,50 +87,50 @@ flatbuffers::Offset RootConf return Serialization::Configuration::CreateHubConfig(builder, rfOffset, wifiOffset, captivePortalOffset, backendOffset, serialInputOffset, otaUpdateOffset, estopOffset); } -bool RootConfig::FromJSON(const cJSON* json) +bool RootConfig::FromJSON(JSON::JsonView json) { - if (json == nullptr) { + if (!json.valid()) { OS_LOGW(TAG, "Config is null, setting to default"); ToDefault(); return true; } - if (cJSON_IsObject(json) == 0) { + if (!json.isObject()) { OS_LOGE(TAG, "json is not an object"); return false; } - if (!rf.FromJSON(cJSON_GetObjectItemCaseSensitive(json, "rf"))) { + if (!rf.FromJSON(json["rf"])) { OS_LOGE(TAG, "Unable to load rf config"); return false; } - if (!wifi.FromJSON(cJSON_GetObjectItemCaseSensitive(json, "wifi"))) { + if (!wifi.FromJSON(json["wifi"])) { OS_LOGE(TAG, "Unable to load wifi config"); return false; } - if (!captivePortal.FromJSON(cJSON_GetObjectItemCaseSensitive(json, "captivePortal"))) { + if (!captivePortal.FromJSON(json["captivePortal"])) { OS_LOGE(TAG, "Unable to load captive portal config"); return false; } - if (!backend.FromJSON(cJSON_GetObjectItemCaseSensitive(json, "backend"))) { + if (!backend.FromJSON(json["backend"])) { OS_LOGE(TAG, "Unable to load backend config"); return false; } - if (!serialInput.FromJSON(cJSON_GetObjectItemCaseSensitive(json, "serialInput"))) { + if (!serialInput.FromJSON(json["serialInput"])) { OS_LOGE(TAG, "Unable to load serial input config"); return false; } - if (!otaUpdate.FromJSON(cJSON_GetObjectItemCaseSensitive(json, "otaUpdate"))) { + if (!otaUpdate.FromJSON(json["otaUpdate"])) { OS_LOGE(TAG, "Unable to load ota update config"); return false; } - if (!estop.FromJSON(cJSON_GetObjectItemCaseSensitive(json, "estop"))) { + if (!estop.FromJSON(json["estop"])) { OS_LOGE(TAG, "Unable to load estop config"); return false; } @@ -138,17 +138,33 @@ bool RootConfig::FromJSON(const cJSON* json) return true; } -cJSON* RootConfig::ToJSON(bool withSensitiveData) const +void RootConfig::ToJSON(json_gen_str_t* gen, bool withSensitiveData) const { - cJSON* root = cJSON_CreateObject(); + json_gen_push_object(gen, "rf"); + rf.ToJSON(gen, withSensitiveData); + json_gen_pop_object(gen); - cJSON_AddItemToObject(root, "rf", rf.ToJSON(withSensitiveData)); - cJSON_AddItemToObject(root, "wifi", wifi.ToJSON(withSensitiveData)); - cJSON_AddItemToObject(root, "captivePortal", captivePortal.ToJSON(withSensitiveData)); - cJSON_AddItemToObject(root, "backend", backend.ToJSON(withSensitiveData)); - cJSON_AddItemToObject(root, "serialInput", serialInput.ToJSON(withSensitiveData)); - cJSON_AddItemToObject(root, "otaUpdate", otaUpdate.ToJSON(withSensitiveData)); - cJSON_AddItemToObject(root, "estop", estop.ToJSON(withSensitiveData)); + json_gen_push_object(gen, "wifi"); + wifi.ToJSON(gen, withSensitiveData); + json_gen_pop_object(gen); - return root; + json_gen_push_object(gen, "captivePortal"); + captivePortal.ToJSON(gen, withSensitiveData); + json_gen_pop_object(gen); + + json_gen_push_object(gen, "backend"); + backend.ToJSON(gen, withSensitiveData); + json_gen_pop_object(gen); + + json_gen_push_object(gen, "serialInput"); + serialInput.ToJSON(gen, withSensitiveData); + json_gen_pop_object(gen); + + json_gen_push_object(gen, "otaUpdate"); + otaUpdate.ToJSON(gen, withSensitiveData); + json_gen_pop_object(gen); + + json_gen_push_object(gen, "estop"); + estop.ToJSON(gen, withSensitiveData); + json_gen_pop_object(gen); } diff --git a/src/config/SerialInputConfig.cpp b/src/config/SerialInputConfig.cpp index b851e665..26cd6df8 100644 --- a/src/config/SerialInputConfig.cpp +++ b/src/config/SerialInputConfig.cpp @@ -40,15 +40,15 @@ flatbuffers::Offset return Serialization::Configuration::CreateSerialInputConfig(builder, echoEnabled); } -bool SerialInputConfig::FromJSON(const cJSON* json) +bool SerialInputConfig::FromJSON(JSON::JsonView json) { - if (json == nullptr) { + if (!json.valid()) { OS_LOGW(TAG, "Config is null, setting to default"); ToDefault(); return true; } - if (cJSON_IsObject(json) == 0) { + if (!json.isObject()) { OS_LOGE(TAG, "json is not an object"); return false; } @@ -58,11 +58,7 @@ bool SerialInputConfig::FromJSON(const cJSON* json) return true; } -cJSON* SerialInputConfig::ToJSON(bool withSensitiveData) const +void SerialInputConfig::ToJSON(json_gen_str_t* gen, bool withSensitiveData) const { - cJSON* root = cJSON_CreateObject(); - - cJSON_AddBoolToObject(root, "echoEnabled", echoEnabled); - - return root; + json_gen_obj_set_bool(gen, "echoEnabled", echoEnabled); } diff --git a/src/config/WiFiConfig.cpp b/src/config/WiFiConfig.cpp index 725f6c9e..027ae787 100644 --- a/src/config/WiFiConfig.cpp +++ b/src/config/WiFiConfig.cpp @@ -55,15 +55,15 @@ flatbuffers::Offset WiFiCon return Serialization::Configuration::CreateWiFiConfig(builder, builder.CreateString(accessPointSSID), builder.CreateString(hostname), builder.CreateVector(fbsCredentialsList)); } -bool WiFiConfig::FromJSON(const cJSON* json) +bool WiFiConfig::FromJSON(JSON::JsonView json) { - if (json == nullptr) { + if (!json.valid()) { OS_LOGW(TAG, "Config is null, setting to default"); ToDefault(); return true; } - if (cJSON_IsObject(json) == 0) { + if (!json.isObject()) { OS_LOGE(TAG, "json is not an object"); return false; } @@ -71,13 +71,13 @@ bool WiFiConfig::FromJSON(const cJSON* json) Internal::Utils::FromJsonStr(accessPointSSID, json, "accessPointSSID", OPENSHOCK_FW_AP_PREFIX); Internal::Utils::FromJsonStr(hostname, json, "hostname", OPENSHOCK_FW_HOSTNAME); - const cJSON* credentialsListJson = cJSON_GetObjectItemCaseSensitive(json, "credentials"); - if (credentialsListJson == nullptr) { + JSON::JsonView credentialsListJson = json["credentials"]; + if (!credentialsListJson.valid()) { OS_LOGE(TAG, "credentials is null"); return false; } - if (cJSON_IsArray(credentialsListJson) == 0) { + if (!credentialsListJson.isArray()) { OS_LOGE(TAG, "credentials is not an array"); return false; } @@ -87,20 +87,16 @@ bool WiFiConfig::FromJSON(const cJSON* json) return true; } -cJSON* WiFiConfig::ToJSON(bool withSensitiveData) const +void WiFiConfig::ToJSON(json_gen_str_t* gen, bool withSensitiveData) const { - cJSON* root = cJSON_CreateObject(); - - cJSON_AddStringToObject(root, "accessPointSSID", accessPointSSID.c_str()); - cJSON_AddStringToObject(root, "hostname", hostname.c_str()); - - cJSON* credentialsListJson = cJSON_CreateArray(); + JSON::objSetString(gen, "accessPointSSID", accessPointSSID); + JSON::objSetString(gen, "hostname", hostname); + json_gen_push_array(gen, "credentials"); for (auto& credentials : credentialsList) { - cJSON_AddItemToArray(credentialsListJson, credentials.ToJSON(withSensitiveData)); + json_gen_start_object(gen); + credentials.ToJSON(gen, withSensitiveData); + json_gen_end_object(gen); } - - cJSON_AddItemToObject(root, "credentials", credentialsListJson); - - return root; + json_gen_pop_array(gen); } diff --git a/src/config/WiFiCredentials.cpp b/src/config/WiFiCredentials.cpp index 3b825640..ff69edbe 100644 --- a/src/config/WiFiCredentials.cpp +++ b/src/config/WiFiCredentials.cpp @@ -145,15 +145,15 @@ flatbuffers::Offset Wi return Serialization::Configuration::CreateWiFiCredentials(builder, id, ssidOffset, passwordOffset, toFbsAuthMode(authMode), bssidPtr); } -bool WiFiCredentials::FromJSON(const cJSON* json) +bool WiFiCredentials::FromJSON(JSON::JsonView json) { - if (json == nullptr) { + if (!json.valid()) { OS_LOGW(TAG, "Config is null, setting to default"); ToDefault(); return true; } - if (cJSON_IsObject(json) == 0) { + if (!json.isObject()) { OS_LOGE(TAG, "json is not an object"); return false; } @@ -167,9 +167,9 @@ bool WiFiCredentials::FromJSON(const cJSON* json) authMode = fromFbsAuthMode(static_cast(authModeVal)); bssid.fill(0); - const cJSON* bssidJson = cJSON_GetObjectItemCaseSensitive(json, "bssid"); - if (cJSON_IsString(bssidJson) && bssidJson->valuestring != nullptr && strlen(bssidJson->valuestring) == 12) { - HexUtils::TryParseHex(bssidJson->valuestring, 12, bssid.data(), bssid.size()); + std::string_view bssidStr; + if (json["bssid"].tryGetStr(bssidStr) && bssidStr.size() == 12) { + HexUtils::TryParseHex(bssidStr.data(), bssidStr.size(), bssid.data(), bssid.size()); } if (ssid.empty()) { @@ -180,24 +180,20 @@ bool WiFiCredentials::FromJSON(const cJSON* json) return true; } -cJSON* WiFiCredentials::ToJSON(bool withSensitiveData) const +void WiFiCredentials::ToJSON(json_gen_str_t* gen, bool withSensitiveData) const { - cJSON* root = cJSON_CreateObject(); - - cJSON_AddNumberToObject(root, "id", id); //-V2564 - cJSON_AddStringToObject(root, "ssid", ssid.c_str()); + json_gen_obj_set_int(gen, "id", id); + JSON::objSetString(gen, "ssid", ssid); if (withSensitiveData) { - cJSON_AddStringToObject(root, "password", password.c_str()); + JSON::objSetString(gen, "password", password); } - cJSON_AddNumberToObject(root, "authMode", static_cast(toFbsAuthMode(authMode))); + json_gen_obj_set_int(gen, "authMode", static_cast(toFbsAuthMode(authMode))); if (HasPinnedBSSID()) { char hex[13]; for (std::size_t i = 0; i < bssid.size(); ++i) { HexUtils::ToHex(bssid[i], &hex[i * 2]); } hex[12] = '\0'; - cJSON_AddStringToObject(root, "bssid", hex); + JSON::objSetString(gen, "bssid", hex); } - - return root; } diff --git a/src/config/internal/utils.cpp b/src/config/internal/utils.cpp index 37966a97..2fd1178d 100644 --- a/src/config/internal/utils.cpp +++ b/src/config/internal/utils.cpp @@ -6,32 +6,33 @@ const char* const TAG = "Config::Internal::Utils"; #include "Logging.h" #include "util/IPAddressUtils.h" +#include + using namespace OpenShock; template -static bool utilFromJsonInt(T& val, const cJSON* json, const char* name, T defaultVal, int minVal, int maxVal) +static bool utilFromJsonInt(T& val, JSON::JsonView json, std::string_view name, T defaultVal, int minVal, int maxVal) { static_assert(std::is_integral_v, "T must be an integral type"); - const cJSON* jsonVal = cJSON_GetObjectItemCaseSensitive(json, name); - if (jsonVal == nullptr) { + JSON::JsonView jsonVal = json[name]; + if (!jsonVal.valid()) { return false; } - if (cJSON_IsNumber(jsonVal) == 0) { - OS_LOGE(TAG, "value at '%s' is not a number", name); + int64_t intVal; + if (!jsonVal.tryGetI64(intVal)) { + OS_LOGE(TAG, "value at '%.*s' is not a number", name.length(), name.data()); return false; } - int intVal = jsonVal->valueint; - if (intVal < minVal) { - OS_LOGE(TAG, "value at '%s' is less than %d", name, minVal); + OS_LOGE(TAG, "value at '%.*s' is less than %d", name.length(), name.data(), minVal); return false; } if (intVal > maxVal) { - OS_LOGE(TAG, "value at '%s' is greater than %d", name, maxVal); + OS_LOGE(TAG, "value at '%.*s' is greater than %d", name.length(), name.data(), maxVal); return false; } @@ -85,95 +86,93 @@ bool Config::Internal::Utils::FromFbsIPAddress(IPAddress& ip, const flatbuffers: return true; } -bool Config::Internal::Utils::FromJsonBool(bool& val, const cJSON* json, const char* name, bool defaultVal) +bool Config::Internal::Utils::FromJsonBool(bool& val, JSON::JsonView json, std::string_view name, bool defaultVal) { - const cJSON* jsonVal = cJSON_GetObjectItemCaseSensitive(json, name); - if (jsonVal == nullptr) { + JSON::JsonView jsonVal = json[name]; + if (!jsonVal.valid()) { val = defaultVal; return true; } - if (cJSON_IsBool(jsonVal) == 0) { - OS_LOGE(TAG, "value at '%s' is not a bool", name); + if (!jsonVal.tryGetBool(val)) { + OS_LOGE(TAG, "value at '%.*s' is not a bool", name.length(), name.data()); return false; } - val = cJSON_IsTrue(jsonVal); - return true; } -bool Config::Internal::Utils::FromJsonU8(uint8_t& val, const cJSON* json, const char* name, uint8_t defaultVal) +bool Config::Internal::Utils::FromJsonU8(uint8_t& val, JSON::JsonView json, std::string_view name, uint8_t defaultVal) { return utilFromJsonInt(val, json, name, defaultVal, 0, UINT8_MAX); } -bool Config::Internal::Utils::FromJsonU16(uint16_t& val, const cJSON* json, const char* name, uint16_t defaultVal) +bool Config::Internal::Utils::FromJsonU16(uint16_t& val, JSON::JsonView json, std::string_view name, uint16_t defaultVal) { return utilFromJsonInt(val, json, name, defaultVal, 0, UINT16_MAX); } -bool Config::Internal::Utils::FromJsonI32(int32_t& val, const cJSON* json, const char* name, int32_t defaultVal) +bool Config::Internal::Utils::FromJsonI32(int32_t& val, JSON::JsonView json, std::string_view name, int32_t defaultVal) { return utilFromJsonInt(val, json, name, defaultVal, INT32_MIN, INT32_MAX); } -bool Config::Internal::Utils::FromJsonStr(std::string& str, const cJSON* json, const char* name) +bool Config::Internal::Utils::FromJsonStr(std::string& str, JSON::JsonView json, std::string_view name) { - const cJSON* jsonVal = cJSON_GetObjectItemCaseSensitive(json, name); - if (jsonVal == nullptr) { - OS_LOGE(TAG, "value at '%s' is null", name); + JSON::JsonView jsonVal = json[name]; + if (!jsonVal.valid()) { + OS_LOGE(TAG, "value at '%.*s' is null", name.length(), name.data()); return false; } - if (cJSON_IsString(jsonVal) == 0) { - OS_LOGE(TAG, "value at '%s' is not a string", name); + std::string_view view; + if (!jsonVal.tryGetStr(view)) { + OS_LOGE(TAG, "value at '%.*s' is not a string", name.length(), name.data()); return false; } - str = jsonVal->valuestring; + str.assign(view); return true; } -void Config::Internal::Utils::FromJsonStr(std::string& str, const cJSON* json, const char* name, const char* defaultStr) +void Config::Internal::Utils::FromJsonStr(std::string& str, JSON::JsonView json, std::string_view name, const char* defaultStr) { if (!FromJsonStr(str, json, name)) { str = defaultStr; } } -bool Config::Internal::Utils::FromJsonIPAddress(IPAddress& ip, const cJSON* json, const char* name) +bool Config::Internal::Utils::FromJsonIPAddress(IPAddress& ip, JSON::JsonView json, std::string_view name) { - const cJSON* jsonVal = cJSON_GetObjectItemCaseSensitive(json, name); - if (jsonVal == nullptr) { - OS_LOGE(TAG, "value at '%s' is null", name); + JSON::JsonView jsonVal = json[name]; + if (!jsonVal.valid()) { + OS_LOGE(TAG, "value at '%.*s' is null", name.length(), name.data()); return false; } - if (cJSON_IsString(jsonVal) == 0) { - OS_LOGE(TAG, "value at '%s' is not a string", name); + std::string_view view; + if (!jsonVal.tryGetStr(view)) { + OS_LOGE(TAG, "value at '%.*s' is not a string", name.length(), name.data()); return false; } - std::string_view view(jsonVal->valuestring); - if (!OpenShock::IPV4AddressFromStringView(ip, view)) { - OS_LOGE(TAG, "failed to parse IP address at '%s'", name); + OS_LOGE(TAG, "failed to parse IP address at '%.*s'", name.length(), name.data()); return false; } return true; } -void Config::Internal::Utils::FromJsonIPAddress(IPAddress& ip, const cJSON* json, const char* name, const IPAddress& defaultIP) +void Config::Internal::Utils::FromJsonIPAddress(IPAddress& ip, JSON::JsonView json, std::string_view name, const IPAddress& defaultIP) { if (!FromJsonIPAddress(ip, json, name)) { ip = defaultIP; } } -bool Config::Internal::Utils::FromJsonGpioNum(gpio_num_t& val, const cJSON* json, const char* name) +bool Config::Internal::Utils::FromJsonGpioNum(gpio_num_t& val, JSON::JsonView json, std::string_view name) { uint8_t u8Val; if (!FromJsonU8(u8Val, json, name, 0)) { @@ -183,7 +182,7 @@ bool Config::Internal::Utils::FromJsonGpioNum(gpio_num_t& val, const cJSON* json return FromU8GpioNum(val, u8Val); } -void Config::Internal::Utils::FromJsonGpioNum(gpio_num_t& val, const cJSON* json, const char* name, gpio_num_t defaultVal) +void Config::Internal::Utils::FromJsonGpioNum(gpio_num_t& val, JSON::JsonView json, std::string_view name, gpio_num_t defaultVal) { if (!FromJsonGpioNum(val, json, name)) { val = defaultVal; diff --git a/src/serial/SerialInputHandler.cpp b/src/serial/SerialInputHandler.cpp index f46b25ee..ae2e4643 100644 --- a/src/serial/SerialInputHandler.cpp +++ b/src/serial/SerialInputHandler.cpp @@ -24,7 +24,6 @@ const char* const TAG = "SerialInputHandler"; #include -#include #include #include diff --git a/src/serial/command_handlers/networks.cpp b/src/serial/command_handlers/networks.cpp index e161a9e3..983c7647 100644 --- a/src/serial/command_handlers/networks.cpp +++ b/src/serial/command_handlers/networks.cpp @@ -1,67 +1,53 @@ #include "serial/command_handlers/common.h" #include "config/Config.h" +#include "json/Json.h" #include "wifi/WiFiManager.h" -#include - #include const char* const TAG = "SerialCmds::CommandHandlers::Networks"; static void handleNetworksCommand(std::string_view arg, bool isAutomated) { - cJSON* root; - if (arg.empty()) { - root = cJSON_CreateArray(); - if (root == nullptr) { - SERPR_ERROR("Failed to create JSON array"); - return; - } + OpenShock::JSON::StringWriter writer; + json_gen_str_t* gen = writer.gen(); - if (!OpenShock::Config::GetWiFiCredentials(root, true)) { + json_gen_start_array(gen); + if (!OpenShock::Config::GetWiFiCredentials(gen, true)) { SERPR_ERROR("Failed to get WiFi credentials from config"); - cJSON_Delete(root); return; } + json_gen_end_array(gen); - char* out = cJSON_PrintUnformatted(root); - cJSON_Delete(root); - if (out == nullptr) { - SERPR_ERROR("Failed to print JSON"); - return; - } + std::string out = writer.finish(); - SERPR_RESPONSE("Networks|%s", out); - - cJSON_free(out); + SERPR_RESPONSE("Networks|%s", out.c_str()); return; } - root = cJSON_ParseWithLength(arg.data(), arg.length()); - if (root == nullptr) { - SERPR_ERROR("Failed to parse JSON: %s", cJSON_GetErrorPtr()); + OpenShock::JSON::JsonDocument doc; + if (!doc.parse(arg)) { + SERPR_ERROR("Failed to parse JSON"); return; } - if (cJSON_IsArray(root) == 0) { + OpenShock::JSON::JsonView root = doc.root(); + if (!root.isArray()) { SERPR_ERROR("Invalid argument (not an array)"); - cJSON_Delete(root); return; } std::vector creds; - uint8_t id = 1; - cJSON* network = nullptr; - cJSON_ArrayForEach(network, root) - { + uint8_t id = 1; + const int count = root.count(); + for (int i = 0; i < count; ++i) { OpenShock::Config::WiFiCredentials cred; - if (!cred.FromJSON(network)) { + if (!cred.FromJSON(root.at(i))) { SERPR_ERROR("Failed to parse network"); - cJSON_Delete(root); return; } @@ -74,8 +60,6 @@ static void handleNetworksCommand(std::string_view arg, bool isAutomated) creds.push_back(std::move(cred)); } - cJSON_Delete(root); - if (!OpenShock::Config::SetWiFiCredentials(creds)) { SERPR_ERROR("Failed to save config"); return; diff --git a/src/serial/command_handlers/rftransmit.cpp b/src/serial/command_handlers/rftransmit.cpp index e8213c02..29d22959 100644 --- a/src/serial/command_handlers/rftransmit.cpp +++ b/src/serial/command_handlers/rftransmit.cpp @@ -1,6 +1,7 @@ #include "serial/command_handlers/common.h" #include "CommandHandler.h" +#include "json/Json.h" #include "serialization/JsonSerial.h" static void handleRFTransmitCommand(std::string_view arg, bool isAutomated) @@ -9,16 +10,14 @@ static void handleRFTransmitCommand(std::string_view arg, bool isAutomated) SERPR_ERROR("No command"); return; } - cJSON* root = cJSON_ParseWithLength(arg.data(), arg.length()); - if (root == nullptr) { - SERPR_ERROR("Failed to parse JSON: %s", cJSON_GetErrorPtr()); + OpenShock::JSON::JsonDocument doc; + if (!doc.parse(arg)) { + SERPR_ERROR("Failed to parse JSON"); return; } OpenShock::Serialization::JsonSerial::ShockerCommand cmd; - bool parsed = OpenShock::Serialization::JsonSerial::ParseShockerCommand(root, cmd); - - cJSON_Delete(root); + bool parsed = OpenShock::Serialization::JsonSerial::ParseShockerCommand(doc.root(), cmd); if (!parsed) { SERPR_ERROR("Failed to parse shocker command"); diff --git a/src/serialization/JsonAPI.cpp b/src/serialization/JsonAPI.cpp index 6f0e38f5..00d05212 100644 --- a/src/serialization/JsonAPI.cpp +++ b/src/serialization/JsonAPI.cpp @@ -4,255 +4,250 @@ const char* const TAG = "JsonAPI"; #include "Logging.h" -#define ESP_LOGJSONE(err, root) \ - { \ - char* _jsonStr = cJSON_PrintUnformatted(root); \ - OS_LOGE(TAG, "Invalid JSON response (" err "): %s", _jsonStr ? _jsonStr : ""); \ - cJSON_free(_jsonStr); \ - } +#include + +// Log an invalid-response error together with the offending JSON, zero-copy +// straight out of the parse buffer (jsmn views are not NUL-terminated). +#define ESP_LOGJSONE(err, view) OS_LOGE(TAG, "Invalid JSON response (" err "): %.*s", static_cast((view).raw().size()), (view).raw().data()) using namespace OpenShock::Serialization; -bool JsonAPI::ParseLcgInstanceDetailsJsonResponse(int code, const cJSON* root, JsonAPI::LcgInstanceDetailsResponse& out) +bool JsonAPI::ParseLcgInstanceDetailsJsonResponse(int code, JSON::JsonView root, JsonAPI::LcgInstanceDetailsResponse& out) { (void)code; - if (cJSON_IsObject(root) == 0) { + if (!root.isObject()) { ESP_LOGJSONE("not an object", root); return false; } out = {}; - const cJSON* name = cJSON_GetObjectItemCaseSensitive(root, "name"); - if (cJSON_IsString(name) == 0) { + std::string_view name; + if (!root["name"].tryGetStr(name)) { ESP_LOGJSONE("value at 'data.name' is not a string", root); return false; } - const cJSON* version = cJSON_GetObjectItemCaseSensitive(root, "version"); - if (cJSON_IsString(version) == 0) { + std::string_view version; + if (!root["version"].tryGetStr(version)) { ESP_LOGJSONE("value at 'data.version' is not a string", root); return false; } - const cJSON* currentTime = cJSON_GetObjectItemCaseSensitive(root, "currentTime"); - if (cJSON_IsString(currentTime) == 0) { + std::string_view currentTime; + if (!root["currentTime"].tryGetStr(currentTime)) { ESP_LOGJSONE("value at 'data.currentTime' is not a string", root); return false; } - const cJSON* countryCode = cJSON_GetObjectItemCaseSensitive(root, "countryCode"); - if (cJSON_IsString(countryCode) == 0) { + std::string_view countryCode; + if (!root["countryCode"].tryGetStr(countryCode)) { ESP_LOGJSONE("value at 'data.countryCode' is not a string", root); return false; } - const cJSON* fqdn = cJSON_GetObjectItemCaseSensitive(root, "fqdn"); - if (cJSON_IsString(fqdn) == 0) { + std::string_view fqdn; + if (!root["fqdn"].tryGetStr(fqdn)) { ESP_LOGJSONE("value at 'data.fqdn' is not a string", root); return false; } - out.name = name->valuestring; - out.version = version->valuestring; - out.currentTime = currentTime->valuestring; - out.countryCode = countryCode->valuestring; - out.fqdn = fqdn->valuestring; + out.name.assign(name); + out.version.assign(version); + out.currentTime.assign(currentTime); + out.countryCode.assign(countryCode); + out.fqdn.assign(fqdn); return true; } -bool JsonAPI::ParseBackendVersionJsonResponse(int code, const cJSON* root, JsonAPI::BackendVersionResponse& out) +bool JsonAPI::ParseBackendVersionJsonResponse(int code, JSON::JsonView root, JsonAPI::BackendVersionResponse& out) { (void)code; - if (cJSON_IsObject(root) == 0) { + if (!root.isObject()) { ESP_LOGJSONE("not an object", root); return false; } - const cJSON* data = cJSON_GetObjectItemCaseSensitive(root, "data"); - if (cJSON_IsObject(data) == 0) { + JSON::JsonView data = root["data"]; + if (!data.isObject()) { ESP_LOGJSONE("value at 'data' is not an object", root); return false; } out = {}; - const cJSON* version = cJSON_GetObjectItemCaseSensitive(data, "version"); - if (cJSON_IsString(version) == 0) { + std::string_view version; + if (!data["version"].tryGetStr(version)) { ESP_LOGJSONE("value at 'data.version' is not a string", root); return false; } - const cJSON* commit = cJSON_GetObjectItemCaseSensitive(data, "commit"); - if (cJSON_IsString(commit) == 0) { + std::string_view commit; + if (!data["commit"].tryGetStr(commit)) { ESP_LOGJSONE("value at 'data.commit' is not a string", root); return false; } - const cJSON* currentTime = cJSON_GetObjectItemCaseSensitive(data, "currentTime"); - if (cJSON_IsString(currentTime) == 0) { + std::string_view currentTime; + if (!data["currentTime"].tryGetStr(currentTime)) { ESP_LOGJSONE("value at 'data.currentTime' is not a string", root); return false; } - out.version = version->valuestring; - out.commit = commit->valuestring; - out.currentTime = currentTime->valuestring; + out.version.assign(version); + out.commit.assign(commit); + out.currentTime.assign(currentTime); return true; } -bool JsonAPI::ParseAccountLinkJsonResponse(int code, const cJSON* root, JsonAPI::AccountLinkResponse& out) +bool JsonAPI::ParseAccountLinkJsonResponse(int code, JSON::JsonView root, JsonAPI::AccountLinkResponse& out) { (void)code; - if (cJSON_IsObject(root) == 0) { + if (!root.isObject()) { ESP_LOGJSONE("not an object", root); return false; } - const cJSON* data = cJSON_GetObjectItemCaseSensitive(root, "data"); - if (cJSON_IsString(data) == 0) { + std::string_view data; + if (!root["data"].tryGetStr(data)) { ESP_LOGJSONE("value at 'data' is not a string", root); return false; } out = {}; - out.authToken = data->valuestring; + out.authToken.assign(data); return true; } -bool JsonAPI::ParseHubInfoJsonResponse(int code, const cJSON* root, JsonAPI::HubInfoResponse& out) +bool JsonAPI::ParseHubInfoJsonResponse(int code, JSON::JsonView root, JsonAPI::HubInfoResponse& out) { (void)code; - if (cJSON_IsObject(root) == 0) { + if (!root.isObject()) { ESP_LOGJSONE("not an object", root); return false; } - const cJSON* data = cJSON_GetObjectItemCaseSensitive(root, "data"); - if (cJSON_IsObject(data) == 0) { + JSON::JsonView data = root["data"]; + if (!data.isObject()) { ESP_LOGJSONE("value at 'data' is not an object", root); return false; } - const cJSON* hubId = cJSON_GetObjectItemCaseSensitive(data, "id"); - if (cJSON_IsString(hubId) == 0) { + std::string_view hubId; + if (!data["id"].tryGetStr(hubId)) { ESP_LOGJSONE("value at 'data.id' is not a string", root); return false; } - const cJSON* hubName = cJSON_GetObjectItemCaseSensitive(data, "name"); - if (cJSON_IsString(hubName) == 0) { + std::string_view hubName; + if (!data["name"].tryGetStr(hubName)) { ESP_LOGJSONE("value at 'data.name' is not a string", root); return false; } - const cJSON* hubShockers = cJSON_GetObjectItemCaseSensitive(data, "shockers"); - if (cJSON_IsArray(hubShockers) == 0) { + JSON::JsonView hubShockers = data["shockers"]; + if (!hubShockers.isArray()) { ESP_LOGJSONE("value at 'data.shockers' is not an array", root); return false; } out = {}; - out.hubId = hubId->valuestring; - out.hubName = hubName->valuestring; + out.hubId.assign(hubId); + out.hubName.assign(hubName); if (out.hubId.empty() || out.hubName.empty()) { ESP_LOGJSONE("value at 'data.id' or 'data.name' is empty", root); return false; } - cJSON* shocker = nullptr; - cJSON_ArrayForEach(shocker, hubShockers) - { - const cJSON* shockerId = cJSON_GetObjectItemCaseSensitive(shocker, "id"); - if (cJSON_IsString(shockerId) == 0) { + const int shockerCount = hubShockers.count(); + for (int i = 0; i < shockerCount; ++i) { + JSON::JsonView shocker = hubShockers.at(i); + + std::string_view shockerId; + if (!shocker["id"].tryGetStr(shockerId)) { ESP_LOGJSONE("value at 'shocker.id' is not a string", shocker); return false; } - const char* shockerIdStr = shockerId->valuestring; - - if (shockerIdStr == nullptr || shockerIdStr[0] == '\0') { + if (shockerId.empty()) { ESP_LOGJSONE("value at 'shocker.id' is empty", shocker); return false; } - const cJSON* shockerRfId = cJSON_GetObjectItemCaseSensitive(shocker, "rfId"); - if (cJSON_IsNumber(shockerRfId) == 0) { + int64_t shockerRfId; + if (!shocker["rfId"].tryGetI64(shockerRfId)) { ESP_LOGJSONE("value at 'shocker.rfId' is not a number", shocker); return false; } - int shockerRfIdInt = shockerRfId->valueint; - if (shockerRfIdInt < 0 || shockerRfIdInt > UINT16_MAX) { + if (shockerRfId < 0 || shockerRfId > UINT16_MAX) { ESP_LOGJSONE("value at 'shocker.rfId' is not a valid uint16_t", shocker); return false; } - uint16_t shockerRfIdU16 = static_cast(shockerRfIdInt); + uint16_t shockerRfIdU16 = static_cast(shockerRfId); - const cJSON* shockerModel = cJSON_GetObjectItemCaseSensitive(shocker, "model"); - if (cJSON_IsString(shockerModel) == 0) { + std::string_view shockerModel; + if (!shocker["model"].tryGetStr(shockerModel)) { ESP_LOGJSONE("value at 'shocker.model' is not a string", shocker); return false; } - const char* shockerModelStr = shockerModel->valuestring; - - if (shockerModelStr == nullptr || shockerModelStr[0] == '\0') { + if (shockerModel.empty()) { ESP_LOGJSONE("value at 'shocker.model' is empty", shocker); return false; } + // ShockerModelTypeFromString takes a NUL-terminated const char*. + std::string shockerModelStr(shockerModel); OpenShock::ShockerModelType shockerModelType; - if (!OpenShock::ShockerModelTypeFromString(shockerModelStr, shockerModelType, true)) { // PetTrainer is a typo in the API, we pass true to allow it + if (!OpenShock::ShockerModelTypeFromString(shockerModelStr.c_str(), shockerModelType, true)) { // PetTrainer is a typo in the API, we pass true to allow it ESP_LOGJSONE("value at 'shocker.model' is not a valid shocker model", shocker); return false; } - out.shockers.push_back({.id = shockerIdStr, .rfId = shockerRfIdU16, .model = shockerModelType}); + out.shockers.push_back({.id = std::string(shockerId), .rfId = shockerRfIdU16, .model = shockerModelType}); } return true; } -bool JsonAPI::ParseAssignLcgJsonResponse(int code, const cJSON* root, JsonAPI::AssignLcgResponse& out) +bool JsonAPI::ParseAssignLcgJsonResponse(int code, JSON::JsonView root, JsonAPI::AssignLcgResponse& out) { (void)code; - if (cJSON_IsObject(root) == 0) { + if (!root.isObject()) { ESP_LOGJSONE("not an object", root); return false; } - const cJSON* host = cJSON_GetObjectItemCaseSensitive(root, "host"); - const cJSON* port = cJSON_GetObjectItemCaseSensitive(root, "port"); - const cJSON* path = cJSON_GetObjectItemCaseSensitive(root, "path"); - const cJSON* country = cJSON_GetObjectItemCaseSensitive(root, "country"); - - if (cJSON_IsString(host) == 0 || cJSON_IsString(path) == 0 || cJSON_IsString(country) == 0) { + std::string_view host; + std::string_view path; + std::string_view country; + if (!root["host"].tryGetStr(host) || !root["path"].tryGetStr(path) || !root["country"].tryGetStr(country)) { ESP_LOGJSONE("value at 'host', 'path' or 'country' is not a string", root); return false; } - if (cJSON_IsNumber(port) == 0) { + + int64_t port; + if (!root["port"].tryGetI64(port)) { ESP_LOGJSONE("value at 'port' is not a number", root); return false; } - - int portInt = port->valueint; - if (portInt < 0 || portInt > UINT16_MAX) { + if (port < 0 || port > UINT16_MAX) { ESP_LOGJSONE("value at 'port' is outside UINT16 bounds", root); return false; } out = {}; - out.host = host->valuestring; - out.port = static_cast(portInt); - out.path = path->valuestring; - out.country = country->valuestring; + out.host.assign(host); + out.port = static_cast(port); + out.path.assign(path); + out.country.assign(country); return true; } diff --git a/src/serialization/JsonSerial.cpp b/src/serialization/JsonSerial.cpp index 237b6f1a..015adcba 100644 --- a/src/serialization/JsonSerial.cpp +++ b/src/serialization/JsonSerial.cpp @@ -4,91 +4,96 @@ const char* const TAG = "JsonSerial"; #include "Logging.h" +#include + using namespace OpenShock::Serialization; -bool JsonSerial::ParseShockerCommand(const cJSON* root, JsonSerial::ShockerCommand& out) +bool JsonSerial::ParseShockerCommand(JSON::JsonView root, JsonSerial::ShockerCommand& out) { - if (cJSON_IsObject(root) == 0) { + if (!root.isObject()) { OS_LOGE(TAG, "not an object"); return false; } - const cJSON* model = cJSON_GetObjectItemCaseSensitive(root, "model"); - if (model == nullptr) { + JSON::JsonView model = root["model"]; + if (!model.valid()) { OS_LOGE(TAG, "missing 'model' field"); return false; } - if (cJSON_IsString(model) == 0) { + std::string_view modelStr; + if (!model.tryGetStr(modelStr)) { OS_LOGE(TAG, "value at 'model' is not a string"); return false; } ShockerModelType modelType = ShockerModelType::CaiXianlin; - if (!ShockerModelTypeFromString(model->valuestring, modelType)) { + if (!ShockerModelTypeFromString(std::string(modelStr).c_str(), modelType)) { OS_LOGE(TAG, "value at 'model' is not a valid shocker model (caixianlin, petrainer, petrainer998dr, wellturnt330, d80)"); return false; } - const cJSON* id = cJSON_GetObjectItemCaseSensitive(root, "id"); - if (id == nullptr) { + JSON::JsonView id = root["id"]; + if (!id.valid()) { OS_LOGE(TAG, "missing 'id' field"); return false; } - if (cJSON_IsNumber(id) == 0) { + int64_t idInt; + if (!id.tryGetI64(idInt)) { OS_LOGE(TAG, "value at 'id' is not a number"); return false; } - int idInt = id->valueint; if (idInt < 0 || idInt > UINT16_MAX) { OS_LOGE(TAG, "value at 'id' is out of range (0-65535)"); return false; } uint16_t idU16 = static_cast(idInt); - const cJSON* command = cJSON_GetObjectItemCaseSensitive(root, "type"); - if (command == nullptr) { + JSON::JsonView command = root["type"]; + if (!command.valid()) { OS_LOGE(TAG, "missing 'type' field"); return false; } - if (cJSON_IsString(command) == 0) { + std::string_view commandStr; + if (!command.tryGetStr(commandStr)) { OS_LOGE(TAG, "value at 'type' is not a string"); return false; } ShockerCommandType commandType = ShockerCommandType::Stop; - if (!ShockerCommandTypeFromString(command->valuestring, commandType)) { + if (!ShockerCommandTypeFromString(std::string(commandStr).c_str(), commandType)) { OS_LOGE(TAG, "value at 'type' is not a valid shocker command (shock, vibrate, sound, light, stop)"); return false; } - const cJSON* intensity = cJSON_GetObjectItemCaseSensitive(root, "intensity"); - if (intensity == nullptr) { + JSON::JsonView intensity = root["intensity"]; + if (!intensity.valid()) { OS_LOGE(TAG, "missing 'intensity' field"); return false; } - if (cJSON_IsNumber(intensity) == 0) { + int64_t intensityInt; + if (!intensity.tryGetI64(intensityInt)) { OS_LOGE(TAG, "value at 'intensity' is not a number"); return false; } - int intensityInt = intensity->valueint; if (intensityInt < 0 || intensityInt > UINT8_MAX) { OS_LOGE(TAG, "value at 'intensity' is out of range (0-255)"); return false; } uint8_t intensityU8 = static_cast(intensityInt); - const cJSON* durationMs = cJSON_GetObjectItemCaseSensitive(root, "durationMs"); - if (durationMs == nullptr) { + JSON::JsonView durationMs = root["durationMs"]; + if (!durationMs.valid()) { OS_LOGE(TAG, "missing 'durationMs' field"); return false; } - if (cJSON_IsNumber(durationMs) == 0) { + int64_t durationMsInt; + if (!durationMs.tryGetI64(durationMsInt)) { OS_LOGE(TAG, "value at 'durationMs' is not a number"); return false; } - if (durationMs->valueint < 0 || durationMs->valueint > UINT16_MAX) { + if (durationMsInt < 0 || durationMsInt > UINT16_MAX) { OS_LOGE(TAG, "value at 'durationMs' is out of range (0-65535)"); return false; } - uint16_t durationMsU16 = static_cast(durationMs->valueint); + uint16_t durationMsU16 = static_cast(durationMsInt); out = { .model = modelType, From 95338c95e1bb21eea75fffb4da706f1181b89fb7 Mon Sep 17 00:00:00 2001 From: HeavenVR Date: Thu, 9 Jul 2026 13:27:42 +0200 Subject: [PATCH 29/91] refactor(components): split hwutil/panic out of util/logging; rename time->temporal Make the low-level components host-buildable and Arduino-free: - hwutil: new component for the Arduino/firmware-bound helpers that were in util - IPAddressUtils (Arduino IPAddress), PartitionUtils (esp_partition + HTTP OTA). StringToArduinoString was a one-liner and is inlined at its 3 call sites. util is now pure std-C++. - panic: new component holding OS_PANIC / OS_PANIC_OTA / OS_PANIC_INSTANT, split out of logging so logging no longer pulls esp_ota_ops / esp_system / freertos / Arduino. logging is now a portable diagnostics component. - time -> temporal (Core.h -> Temporal.h): 'time' is a generic, collision-prone component name. Consumers updated (includes + REQUIRES). Firmware builds unchanged. --- components/http/CMakeLists.txt | 2 +- components/http/src/HTTPRequestManager.cpp | 6 +- components/hwutil/CMakeLists.txt | 19 +++ .../hwutil/include/hwutil/IPAddressUtils.h | 9 ++ .../hwutil/include/hwutil/PartitionUtils.h | 12 ++ components/hwutil/src/IPAddressUtils.cpp | 27 +++++ components/hwutil/src/PartitionUtils.cpp | 111 ++++++++++++++++++ components/logging/CMakeLists.txt | 6 +- components/logging/include/Logging.h | 33 +----- components/panic/CMakeLists.txt | 9 ++ components/panic/include/Panic.h | 35 ++++++ components/{time => temporal}/CMakeLists.txt | 0 .../Core.h => temporal/include/Temporal.h} | 0 components/util/CMakeLists.txt | 8 +- components/util/include/TinyVec.h | 3 +- components/util/src/StringUtils.cpp | 5 - src/CMakeLists.txt | 2 +- src/OtaUpdateManager.cpp | 23 ++-- src/captiveportal/CaptivePortalInstance.cpp | 12 +- src/config/Config.cpp | 3 +- src/config/internal/utils.cpp | 20 ++-- src/main.cpp | 3 +- 22 files changed, 271 insertions(+), 77 deletions(-) create mode 100644 components/hwutil/CMakeLists.txt create mode 100644 components/hwutil/include/hwutil/IPAddressUtils.h create mode 100644 components/hwutil/include/hwutil/PartitionUtils.h create mode 100644 components/hwutil/src/IPAddressUtils.cpp create mode 100644 components/hwutil/src/PartitionUtils.cpp create mode 100644 components/panic/CMakeLists.txt create mode 100644 components/panic/include/Panic.h rename components/{time => temporal}/CMakeLists.txt (100%) rename components/{time/include/Core.h => temporal/include/Temporal.h} (100%) diff --git a/components/http/CMakeLists.txt b/components/http/CMakeLists.txt index 240ef6bb..18e16e23 100644 --- a/components/http/CMakeLists.txt +++ b/components/http/CMakeLists.txt @@ -13,7 +13,7 @@ idf_component_register( REQUIRES osjson # json/Json.h in public header framework-arduinoespressif32 # Arduino.h in public header PRIV_REQUIRES common # Common.h (internal) - time # Core.h (internal) + temporal # Temporal.h (internal) logging # Logging.h (internal) concurrency # SimpleMutex (internal) util # RateLimiter, HexUtils, StringUtils diff --git a/components/http/src/HTTPRequestManager.cpp b/components/http/src/HTTPRequestManager.cpp index 2a451a13..a21ef706 100644 --- a/components/http/src/HTTPRequestManager.cpp +++ b/components/http/src/HTTPRequestManager.cpp @@ -2,11 +2,11 @@ const char* const TAG = "HTTPRequestManager"; -#include "OpenShock.h" -#include "Core.h" #include "Logging.h" +#include "OpenShock.h" #include "RateLimiter.h" #include "SimpleMutex.h" +#include "Temporal.h" #include "util/HexUtils.h" #include "util/StringUtils.h" @@ -370,7 +370,7 @@ HTTP::Response // This method is horribly named, if you call the begin() method with one String parameter its HTTP, but the one with (String, const char*) is HTTPS. // We pass null here for CAcert parameter to remove erroneous "unexpected protocol: https, expected http" warning, this is what begin(String) does as a fallback. // This is yet another example of why we need to get rid of Arduino dependency lol - if (!client.begin(OpenShock::StringToArduinoString(url), nullptr)) { + if (!client.begin(String(url.data(), url.size()), nullptr)) { OS_LOGE(TAG, "Failed to begin HTTP request"); return {HTTP::RequestResult::RequestFailed, 0, 0}; } diff --git a/components/hwutil/CMakeLists.txt b/components/hwutil/CMakeLists.txt new file mode 100644 index 00000000..853a604f --- /dev/null +++ b/components/hwutil/CMakeLists.txt @@ -0,0 +1,19 @@ +# Hardware/Arduino-dependent utilities split out of `util` so that `util` stays +# pure std-C++ and host-testable. These pull in Arduino (IPAddress) and firmware +# (esp_partition, HTTP OTA) types that do not exist on the linux host target. +# +# Public surface: +# include/hwutil/IPAddressUtils.h — parse an IPv4 string into an Arduino IPAddress +# include/hwutil/PartitionUtils.h — hash / flash an esp_partition from a URL + +idf_component_register( + SRCS "src/IPAddressUtils.cpp" + "src/PartitionUtils.cpp" + INCLUDE_DIRS "include" + REQUIRES framework-arduinoespressif32 # IPAddress.h in public header + esp_partition # esp_partition_t in public header + PRIV_REQUIRES util # Convert, StringUtils, Hashing, HexUtils + temporal # Temporal.h + http # HTTPRequestManager (URL flashing) + logging # Logging.h +) diff --git a/components/hwutil/include/hwutil/IPAddressUtils.h b/components/hwutil/include/hwutil/IPAddressUtils.h new file mode 100644 index 00000000..d9cfe9c9 --- /dev/null +++ b/components/hwutil/include/hwutil/IPAddressUtils.h @@ -0,0 +1,9 @@ +#pragma once + +#include + +#include + +namespace OpenShock { + bool IPV4AddressFromStringView(IPAddress& ip, std::string_view sv); +} diff --git a/components/hwutil/include/hwutil/PartitionUtils.h b/components/hwutil/include/hwutil/PartitionUtils.h new file mode 100644 index 00000000..22669020 --- /dev/null +++ b/components/hwutil/include/hwutil/PartitionUtils.h @@ -0,0 +1,12 @@ +#pragma once + +#include + +#include +#include +#include + +namespace OpenShock { + bool TryGetPartitionHash(const esp_partition_t* partition, char (&hash)[65]); + bool FlashPartitionFromUrl(const esp_partition_t* partition, std::string_view remoteUrl, const uint8_t (&remoteHash)[32], std::function progressCallback = nullptr); +} diff --git a/components/hwutil/src/IPAddressUtils.cpp b/components/hwutil/src/IPAddressUtils.cpp new file mode 100644 index 00000000..a9794214 --- /dev/null +++ b/components/hwutil/src/IPAddressUtils.cpp @@ -0,0 +1,27 @@ +#include "hwutil/IPAddressUtils.h" + +#include "Convert.h" +#include "util/StringUtils.h" + +const char* const TAG = "Util::IPAddressUtils"; + +bool OpenShock::IPV4AddressFromStringView(IPAddress& ip, std::string_view sv) +{ + if (sv.empty()) { + return false; + } + + std::string_view parts[4]; + if (!OpenShock::TryStringSplit(sv, '.', parts)) { + return false; // Must have 4 octets + } + + std::uint8_t octets[4]; + if (!Convert::ToUint8(parts[0], octets[0]) || !Convert::ToUint8(parts[1], octets[1]) || !Convert::ToUint8(parts[2], octets[2]) || !Convert::ToUint8(parts[3], octets[3])) { + return false; + } + + ip = IPAddress(octets); + + return true; +} diff --git a/components/hwutil/src/PartitionUtils.cpp b/components/hwutil/src/PartitionUtils.cpp new file mode 100644 index 00000000..e0c1085e --- /dev/null +++ b/components/hwutil/src/PartitionUtils.cpp @@ -0,0 +1,111 @@ +#include "hwutil/PartitionUtils.h" + +const char* const TAG = "PartitionUtils"; + +#include "Hashing.h" +#include "http/HTTPRequestManager.h" +#include "Logging.h" +#include "Temporal.h" +#include "util/HexUtils.h" + +bool OpenShock::TryGetPartitionHash(const esp_partition_t* partition, char (&hash)[65]) +{ + uint8_t buffer[32]; + esp_err_t err = esp_partition_get_sha256(partition, buffer); + if (err != ESP_OK) { + OS_LOGE(TAG, "Failed to get partition hash: %s", esp_err_to_name(err)); + return false; + } + + // Copy the hash to the output buffer + HexUtils::ToHex<32>(buffer, hash, false); + + return true; +} + +bool OpenShock::FlashPartitionFromUrl(const esp_partition_t* partition, std::string_view remoteUrl, const uint8_t (&remoteHash)[32], std::function progressCallback) +{ + OpenShock::SHA256 sha256; + if (!sha256.begin()) { + OS_LOGE(TAG, "Failed to initialize SHA256 hash"); + return false; + } + + std::size_t contentLength = 0; + std::size_t contentWritten = 0; + int64_t lastProgress = 0; + + auto sizeValidator = [partition, &contentLength, progressCallback, &lastProgress](std::size_t size) -> bool { + if (size > partition->size) { + OS_LOGE(TAG, "Remote partition binary is too large"); + return false; + } + + // Erase app partition. + if (esp_partition_erase_range(partition, 0, partition->size) != ESP_OK) { + OS_LOGE(TAG, "Failed to erase partition in preparation for update"); + return false; + } + + contentLength = size; + + lastProgress = OpenShock::millis(); + progressCallback(0, contentLength, 0.0f); + + return true; + }; + auto dataWriter = [partition, &sha256, &contentLength, &contentWritten, progressCallback, &lastProgress](std::size_t offset, const uint8_t* data, std::size_t length) -> bool { + if (esp_partition_write(partition, offset, data, length) != ESP_OK) { + OS_LOGE(TAG, "Failed to write to partition"); + return false; + } + + if (!sha256.update(data, length)) { + OS_LOGE(TAG, "Failed to update SHA256 hash"); + return false; + } + + contentWritten += length; + + int64_t now = OpenShock::millis(); + if (now - lastProgress >= 500) { // Send progress every 500ms + lastProgress = now; + progressCallback(contentWritten, contentLength, static_cast(contentWritten) / static_cast(contentLength)); + } + + return true; + }; + + // Start streaming binary to app partition. + auto appBinaryResponse = OpenShock::HTTP::Download( + remoteUrl, + { + {"Accept", "application/octet-stream"} + }, + sizeValidator, + dataWriter, + std::array {200, 304}, + 180'000 + ); // 3 minutes + if (appBinaryResponse.result != OpenShock::HTTP::RequestResult::Success) { + OS_LOGE(TAG, "Failed to download remote partition binary: [%u]", appBinaryResponse.code); + return false; + } + + progressCallback(contentLength, contentLength, 1.0f); + OS_LOGD(TAG, "Wrote %u bytes to partition", appBinaryResponse.data); + + std::array localHash; + if (!sha256.finish(localHash)) { + OS_LOGE(TAG, "Failed to finish SHA256 hash"); + return false; + } + + // Compare hashes. + if (memcmp(localHash.data(), remoteHash, 32) != 0) { + OS_LOGE(TAG, "App binary hash mismatch"); + return false; + } + + return true; +} diff --git a/components/logging/CMakeLists.txt b/components/logging/CMakeLists.txt index e1e77e36..520748df 100644 --- a/components/logging/CMakeLists.txt +++ b/components/logging/CMakeLists.txt @@ -8,10 +8,6 @@ idf_component_register( INCLUDE_DIRS "include" - REQUIRES time # Core.h -> OpenShock::millis() + REQUIRES temporal # Temporal.h -> OpenShock::millis() log # esp_log.h (IDF's own logging) - app_update # esp_ota_ops.h (panic-ota macro) - esp_system # esp_restart - freertos # OS_PANIC -> vTaskDelay - framework-arduinoespressif32 # esp32-hal-uart.h (log_printf) ) diff --git a/components/logging/include/Logging.h b/components/logging/include/Logging.h index 2f2aa38f..5896f95b 100644 --- a/components/logging/include/Logging.h +++ b/components/logging/include/Logging.h @@ -1,13 +1,12 @@ #pragma once -#include "Core.h" - -#include +#include "Temporal.h" #include -#include -#include +// log_printf is provided by Arduino (esp32-hal-uart) on-device; declared here so +// logging carries no Arduino/hardware include and stays host-portable (the host +// test provides its own definition). extern "C" int log_printf(const char* fmt, ...); template @@ -80,25 +79,5 @@ constexpr const char* openshockPathToFileName(const char (&path)[N]) } while (0) #endif -#define OS_PANIC_PRINT(TAG, format, ...) OS_LOGE(TAG, "PANIC: " format, ##__VA_ARGS__) - -#define OS_PANIC(TAG, format, ...) \ - { \ - OS_PANIC_PRINT(TAG, format ", restarting in 5 seconds...", ##__VA_ARGS__); \ - vTaskDelay(pdMS_TO_TICKS(5000)); \ - esp_restart(); \ - } - -#define OS_PANIC_OTA(TAG, format, ...) \ - { \ - OS_PANIC_PRINT(TAG, format ", invalidating update partition and restarting in 5 seconds...", ##__VA_ARGS__); \ - vTaskDelay(pdMS_TO_TICKS(5000)); \ - esp_ota_mark_app_invalid_rollback_and_reboot(); \ - esp_restart(); \ - } - -#define OS_PANIC_INSTANT(TAG, format, ...) \ - { \ - OS_PANIC_PRINT(TAG, format, ##__VA_ARGS__); \ - esp_restart(); \ - } +// OS_PANIC / OS_PANIC_OTA / OS_PANIC_INSTANT live in the separate `panic` +// component (Panic.h) - they pull in esp_ota_ops / esp_system / freertos. diff --git a/components/panic/CMakeLists.txt b/components/panic/CMakeLists.txt new file mode 100644 index 00000000..69676bf0 --- /dev/null +++ b/components/panic/CMakeLists.txt @@ -0,0 +1,9 @@ +# Firmware panic/abort macros (OS_PANIC / OS_PANIC_OTA / OS_PANIC_INSTANT), +# split out of `logging` so logging stays portable and host-testable. Header-only. +idf_component_register( + INCLUDE_DIRS "include" + REQUIRES logging # OS_LOGE via OS_PANIC_PRINT + esp_system # esp_restart + app_update # esp_ota_mark_app_invalid_rollback_and_reboot + freertos # vTaskDelay +) diff --git a/components/panic/include/Panic.h b/components/panic/include/Panic.h new file mode 100644 index 00000000..b6e01dd0 --- /dev/null +++ b/components/panic/include/Panic.h @@ -0,0 +1,35 @@ +#pragma once + +// Panic/abort macros split out of Logging.h so that `logging` stays portable +// (no esp_ota_ops / esp_system / freertos). These restart the device and are +// firmware-only. +#include "Logging.h" // OS_LOGE (via OS_PANIC_PRINT) + +#include +#include + +#include +#include + +#define OS_PANIC_PRINT(TAG, format, ...) OS_LOGE(TAG, "PANIC: " format, ##__VA_ARGS__) + +#define OS_PANIC(TAG, format, ...) \ + { \ + OS_PANIC_PRINT(TAG, format ", restarting in 5 seconds...", ##__VA_ARGS__); \ + vTaskDelay(pdMS_TO_TICKS(5000)); \ + esp_restart(); \ + } + +#define OS_PANIC_OTA(TAG, format, ...) \ + { \ + OS_PANIC_PRINT(TAG, format ", invalidating update partition and restarting in 5 seconds...", ##__VA_ARGS__); \ + vTaskDelay(pdMS_TO_TICKS(5000)); \ + esp_ota_mark_app_invalid_rollback_and_reboot(); \ + esp_restart(); \ + } + +#define OS_PANIC_INSTANT(TAG, format, ...) \ + { \ + OS_PANIC_PRINT(TAG, format, ##__VA_ARGS__); \ + esp_restart(); \ + } diff --git a/components/time/CMakeLists.txt b/components/temporal/CMakeLists.txt similarity index 100% rename from components/time/CMakeLists.txt rename to components/temporal/CMakeLists.txt diff --git a/components/time/include/Core.h b/components/temporal/include/Temporal.h similarity index 100% rename from components/time/include/Core.h rename to components/temporal/include/Temporal.h diff --git a/components/util/CMakeLists.txt b/components/util/CMakeLists.txt index 03aa3318..35398c35 100644 --- a/components/util/CMakeLists.txt +++ b/components/util/CMakeLists.txt @@ -6,8 +6,6 @@ idf_component_register( SRCS "src/Base64Utils.cpp" "src/Convert.cpp" "src/DigitCounter.cpp" - "src/IPAddressUtils.cpp" - "src/ParitionUtils.cpp" "src/RateLimiter.cpp" "src/SemVer.cpp" "src/StringUtils.cpp" @@ -15,9 +13,9 @@ idf_component_register( INCLUDE_DIRS "include" REQUIRES common # Common.h, TinyVec.h in public headers logging # Logging.h (OS_LOG* used inline in headers) - time # Core.h used in header (RateLimiter) + panic # Panic.h (OS_PANIC_INSTANT in TinyVec.h) + temporal # Temporal.h used in header (RateLimiter) concurrency # SimpleMutex used in header (RateLimiter) mbedtls # Hashing (md5/sha1/sha256) uses mbedtls types in headers - PRIV_REQUIRES http # ParitionUtils.cpp uses HTTPRequestManager (internal) - freertos # TaskUtils implementation + PRIV_REQUIRES freertos # TaskUtils implementation ) diff --git a/components/util/include/TinyVec.h b/components/util/include/TinyVec.h index 8fc0e6f5..5363fe4b 100644 --- a/components/util/include/TinyVec.h +++ b/components/util/include/TinyVec.h @@ -1,7 +1,8 @@ #pragma once -#include "OpenShock.h" #include "Logging.h" +#include "OpenShock.h" +#include "Panic.h" #include #include diff --git a/components/util/src/StringUtils.cpp b/components/util/src/StringUtils.cpp index 1f5e6ada..36ffda3f 100644 --- a/components/util/src/StringUtils.cpp +++ b/components/util/src/StringUtils.cpp @@ -137,8 +137,3 @@ bool OpenShock::StringHasPrefixIC(std::string_view view, std::string_view prefix if (view.size() < prefix.size()) return false; return StringIEquals(view.substr(0, prefix.size()), prefix); } - -String OpenShock::StringToArduinoString(std::string_view view) -{ - return String(view.data(), view.size()); -} diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index f62521c6..e607815e 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -2,5 +2,5 @@ FILE(GLOB_RECURSE app_sources ${CMAKE_SOURCE_DIR}/src/*.*) idf_component_register( SRCS ${app_sources} - REQUIRES common time logging concurrency util http chipset led_drivers protocols osjson + REQUIRES common temporal logging panic concurrency util hwutil http chipset led_drivers protocols osjson ) diff --git a/src/OtaUpdateManager.cpp b/src/OtaUpdateManager.cpp index f114e103..f60712c0 100644 --- a/src/OtaUpdateManager.cpp +++ b/src/OtaUpdateManager.cpp @@ -3,18 +3,19 @@ const char* const TAG = "OtaUpdateManager"; #include "captiveportal/Manager.h" -#include "OpenShock.h" #include "config/Config.h" -#include "Core.h" #include "GatewayConnectionManager.h" #include "Hashing.h" #include "http/HTTPRequestManager.h" +#include "hwutil/PartitionUtils.h" #include "Logging.h" +#include "OpenShock.h" +#include "Panic.h" #include "SemVer.h" #include "serialization/WSGateway.h" #include "SimpleMutex.h" +#include "Temporal.h" #include "util/HexUtils.h" -#include "util/PartitionUtils.h" #include "util/StringUtils.h" #include "util/TaskUtils.h" #include "wifi/WiFiManager.h" @@ -377,7 +378,7 @@ static void otaum_updatetask(void* arg) continue; } - OS_LOGD(TAG, "Updating to version: %.*s", versionStr.length(), versionStr.data()); + OS_LOGD(TAG, "Updating to version: %.*s", static_cast(versionStr.length()), versionStr.data()); // Generate random int32_t for this update. int32_t updateId = static_cast(esp_random()); @@ -409,10 +410,10 @@ static void otaum_updatetask(void* arg) // Print release. OS_LOGD(TAG, "Firmware release:"); - OS_LOGD(TAG, " Version: %.*s", versionStr.length(), versionStr.data()); - OS_LOGD(TAG, " App binary URL: %.*s", release.appBinaryUrl.length(), release.appBinaryUrl.data()); + OS_LOGD(TAG, " Version: %.*s", static_cast(versionStr.length()), versionStr.data()); + OS_LOGD(TAG, " App binary URL: %.*s", static_cast(release.appBinaryUrl.length()), release.appBinaryUrl.data()); OS_LOGD(TAG, " App binary hash: %s", HexUtils::ToHex<32>(release.appBinaryHash).data()); - OS_LOGD(TAG, " Filesystem binary URL: %.*s", release.filesystemBinaryUrl.length(), release.filesystemBinaryUrl.data()); + OS_LOGD(TAG, " Filesystem binary URL: %.*s", static_cast(release.filesystemBinaryUrl.length()), release.filesystemBinaryUrl.data()); OS_LOGD(TAG, " Filesystem binary hash: %s", HexUtils::ToHex<32>(release.filesystemBinaryHash).data()); // Get available app update partition. @@ -610,7 +611,7 @@ bool OtaUpdateManager::TryGetFirmwareVersion(OtaUpdateChannel channel, OpenShock } if (!OpenShock::TryParseSemVer(response.data, version)) { - OS_LOGE(TAG, "Failed to parse firmware version: %.*s", response.data.size(), response.data.data()); + OS_LOGE(TAG, "Failed to parse firmware version: %.*s", static_cast(response.data.size()), response.data.data()); return false; } @@ -638,7 +639,7 @@ bool OtaUpdateManager::TryGetFirmwareBoards(const OpenShock::SemVer& version, st static bool _tryParseIntoHash(std::string_view hash, uint8_t (&hashBytes)[32]) { if (HexUtils::TryParseHex(hash.data(), hash.size(), hashBytes, 32) != 32) { - OS_LOGE(TAG, "Failed to parse hash: %.*s", hash.size(), hash.data()); + OS_LOGE(TAG, "Failed to parse hash: %.*s", static_cast(hash.size()), hash.data()); return false; } @@ -686,7 +687,7 @@ bool OtaUpdateManager::TryGetFirmwareRelease(const OpenShock::SemVer& version, F for (std::string_view line : hashesLines) { auto parts = OpenShock::StringSplitWhiteSpace(line); if (parts.size() != 2) { - OS_LOGE(TAG, "Invalid hashes entry: %.*s", line.size(), line.data()); + OS_LOGE(TAG, "Invalid hashes entry: %.*s", static_cast(line.size()), line.data()); return false; } @@ -696,7 +697,7 @@ bool OtaUpdateManager::TryGetFirmwareRelease(const OpenShock::SemVer& version, F file = OpenShock::StringRemovePrefix(file, "./"sv); if (hash.size() != 64) { - OS_LOGE(TAG, "Invalid hash: %.*s", hash.size(), hash.data()); + OS_LOGE(TAG, "Invalid hash: %.*s", static_cast(hash.size()), hash.data()); return false; } diff --git a/src/captiveportal/CaptivePortalInstance.cpp b/src/captiveportal/CaptivePortalInstance.cpp index 61d1f167..a8818b6e 100644 --- a/src/captiveportal/CaptivePortalInstance.cpp +++ b/src/captiveportal/CaptivePortalInstance.cpp @@ -9,17 +9,17 @@ const char* const TAG = "CaptivePortalInstance"; #include "Chipset.h" #include "CommandHandler.h" #include "config/Config.h" +#include "enums/OtaUpdateChannel.h" #include "estop/EStopManager.h" #include "GatewayConnectionManager.h" #include "http/ContentTypes.h" +#include "hwutil/PartitionUtils.h" #include "Logging.h" -#include "RateLimiter.h" #include "message_handlers/WebSocket.h" -#include "enums/OtaUpdateChannel.h" +#include "RateLimiter.h" #include "serialization/WSLocal.h" #include "util/FnProxy.h" #include "util/HexUtils.h" -#include "util/PartitionUtils.h" #include "util/TaskUtils.h" #include "wifi/WiFiManager.h" #include "wifi/WiFiScanManager.h" @@ -47,15 +47,15 @@ static const char* const JSON_ERR_PASSWORD_SHORT = "{\"error\":\"PasswordTooSho static const char* const JSON_ERR_PASSWORD_LONG = "{\"error\":\"PasswordTooLong\"}"; static const char* const JSON_ERR_CODE_REQUIRED = "{\"error\":\"CodeRequired\"}"; static const char* const JSON_ERR_INVALID_CHANNEL = "{\"error\":\"InvalidChannel\"}"; -static const char* const JSON_ERR_RATE_LIMITED = "{\"error\":\"RateLimited\"}"; +static const char* const JSON_ERR_RATE_LIMITED = "{\"error\":\"RateLimited\"}"; static OpenShock::RateLimiter& getAccountLinkRateLimiter() { static OpenShock::RateLimiter* rl = nullptr; if (rl == nullptr) { rl = new OpenShock::RateLimiter(); - rl->addLimit(60'000, 5); // 5 attempts per minute - rl->addLimit(300'000, 10); // 10 attempts per 5 minutes + rl->addLimit(60'000, 5); // 5 attempts per minute + rl->addLimit(300'000, 10); // 10 attempts per 5 minutes } return *rl; } diff --git a/src/config/Config.cpp b/src/config/Config.cpp index 7297c537..1c5db5eb 100644 --- a/src/config/Config.cpp +++ b/src/config/Config.cpp @@ -5,9 +5,10 @@ const char* const TAG = "Config"; #include "Chipset.h" -#include "OpenShock.h" #include "config/RootConfig.h" #include "Logging.h" +#include "OpenShock.h" +#include "Panic.h" #include "ReadWriteMutex.h" #include "json/Json.h" diff --git a/src/config/internal/utils.cpp b/src/config/internal/utils.cpp index 2fd1178d..44271488 100644 --- a/src/config/internal/utils.cpp +++ b/src/config/internal/utils.cpp @@ -3,8 +3,8 @@ const char* const TAG = "Config::Internal::Utils"; #include "Chipset.h" +#include "hwutil/IPAddressUtils.h" #include "Logging.h" -#include "util/IPAddressUtils.h" #include @@ -22,17 +22,17 @@ static bool utilFromJsonInt(T& val, JSON::JsonView json, std::string_view name, int64_t intVal; if (!jsonVal.tryGetI64(intVal)) { - OS_LOGE(TAG, "value at '%.*s' is not a number", name.length(), name.data()); + OS_LOGE(TAG, "value at '%.*s' is not a number", static_cast(name.length()), name.data()); return false; } if (intVal < minVal) { - OS_LOGE(TAG, "value at '%.*s' is less than %d", name.length(), name.data(), minVal); + OS_LOGE(TAG, "value at '%.*s' is less than %d", static_cast(name.length()), name.data(), minVal); return false; } if (intVal > maxVal) { - OS_LOGE(TAG, "value at '%.*s' is greater than %d", name.length(), name.data(), maxVal); + OS_LOGE(TAG, "value at '%.*s' is greater than %d", static_cast(name.length()), name.data(), maxVal); return false; } @@ -95,7 +95,7 @@ bool Config::Internal::Utils::FromJsonBool(bool& val, JSON::JsonView json, std:: } if (!jsonVal.tryGetBool(val)) { - OS_LOGE(TAG, "value at '%.*s' is not a bool", name.length(), name.data()); + OS_LOGE(TAG, "value at '%.*s' is not a bool", static_cast(name.length()), name.data()); return false; } @@ -121,13 +121,13 @@ bool Config::Internal::Utils::FromJsonStr(std::string& str, JSON::JsonView json, { JSON::JsonView jsonVal = json[name]; if (!jsonVal.valid()) { - OS_LOGE(TAG, "value at '%.*s' is null", name.length(), name.data()); + OS_LOGE(TAG, "value at '%.*s' is null", static_cast(name.length()), name.data()); return false; } std::string_view view; if (!jsonVal.tryGetStr(view)) { - OS_LOGE(TAG, "value at '%.*s' is not a string", name.length(), name.data()); + OS_LOGE(TAG, "value at '%.*s' is not a string", static_cast(name.length()), name.data()); return false; } @@ -147,18 +147,18 @@ bool Config::Internal::Utils::FromJsonIPAddress(IPAddress& ip, JSON::JsonView js { JSON::JsonView jsonVal = json[name]; if (!jsonVal.valid()) { - OS_LOGE(TAG, "value at '%.*s' is null", name.length(), name.data()); + OS_LOGE(TAG, "value at '%.*s' is null", static_cast(name.length()), name.data()); return false; } std::string_view view; if (!jsonVal.tryGetStr(view)) { - OS_LOGE(TAG, "value at '%.*s' is not a string", name.length(), name.data()); + OS_LOGE(TAG, "value at '%.*s' is not a string", static_cast(name.length()), name.data()); return false; } if (!OpenShock::IPV4AddressFromStringView(ip, view)) { - OS_LOGE(TAG, "failed to parse IP address at '%.*s'", name.length(), name.data()); + OS_LOGE(TAG, "failed to parse IP address at '%.*s'", static_cast(name.length()), name.data()); return false; } diff --git a/src/main.cpp b/src/main.cpp index 63de47c1..d751efc4 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -4,13 +4,14 @@ const char* const TAG = "main"; #include "captiveportal/Manager.h" #include "CommandHandler.h" -#include "OpenShock.h" #include "config/Config.h" #include "estop/EStopManager.h" #include "events/Events.h" #include "GatewayConnectionManager.h" #include "Logging.h" +#include "OpenShock.h" #include "OtaUpdateManager.h" +#include "Panic.h" #include "serial/SerialInputHandler.h" #include "util/TaskUtils.h" #include "visual/VisualStateManager.h" From 9f1da2f6907ca5372f228d8a1f38fa8d5ccaa9bd Mon Sep 17 00:00:00 2001 From: HeavenVR Date: Thu, 9 Jul 2026 13:27:53 +0200 Subject: [PATCH 30/91] fix(util): SemVer dotted prereleases + ordering, TryStringSplit remainder, %.*s casts - SemVer: parse prerelease/build BEFORE splitting the core by '.', so dotted identifiers survive. Previously "1.5.0-rc.7" dropped the ".7" - which is OpenShock's own RC tag format, so different RCs parsed equal and OTA ordering between them was wrong. operator< now implements semver precedence: a release outranks its prerelease, prerelease identifiers compare per spec (numeric < alphanumeric, more identifiers outrank fewer), and build metadata is ignored. - TryStringSplit: the final slot now keeps the whole remainder instead of silently dropping extra fields, so IPAddressUtils rejects "1.2.3.4.5" (the remainder "4.5" fails Convert::ToUint8) instead of accepting it as 1.2.3.4. - %.*s: wrap the precision argument in static_cast everywhere - it is read as int from varargs but .length()/.size() is size_t (real UB on 64-bit). All covered by the new util host tests. --- components/util/include/util/StringUtils.h | 21 +-- components/util/src/SemVer.cpp | 143 ++++++++++++--------- src/GatewayConnectionManager.cpp | 4 +- src/http/JsonAPI.cpp | 12 +- src/serial/SerialInputHandler.cpp | 16 +-- src/serial/command_handlers/domain.cpp | 6 +- 6 files changed, 113 insertions(+), 89 deletions(-) diff --git a/components/util/include/util/StringUtils.h b/components/util/include/util/StringUtils.h index ba681cd2..9d63ed47 100644 --- a/components/util/include/util/StringUtils.h +++ b/components/util/include/util/StringUtils.h @@ -2,8 +2,6 @@ #include "StringHelpers.h" // OpenShock::StringIEquals -#include - #include #include #include @@ -132,23 +130,28 @@ namespace OpenShock { return view.substr(pos + delimiter.length()); } + // Splits `view` into N parts on `delimiter`. The first N-1 parts are the + // delimited fields; the last part is the entire remainder (delimiters and + // all), so nothing is silently dropped. Returns false only if there are too + // few parts (fewer than N-1 delimiters). Callers that need each part to be a + // single field validate the remainder themselves (e.g. Convert::ToUint8). template constexpr bool TryStringSplit(std::string_view view, char delimiter, std::string_view (&out)[N]) { + static_assert(N > 0, "TryStringSplit needs at least one output slot"); + std::size_t pos = 0; - std::size_t idx = 0; - while (pos < view.size() && idx < N) { + for (std::size_t idx = 0; idx < N - 1; ++idx) { std::size_t nextPos = view.find(delimiter, pos); if (nextPos == std::string_view::npos) { - nextPos = view.size(); + return false; // too few parts } - out[idx] = view.substr(pos, nextPos - pos); pos = nextPos + 1; - ++idx; } - return idx == N; + out[N - 1] = view.substr(pos); // remainder (may still contain delimiters) + return true; } std::vector StringSplit(std::string_view view, char delimiter, std::size_t maxSplits = std::numeric_limits::max()); std::vector StringSplit(std::string_view view, bool (*predicate)(char delimiter), std::size_t maxSplits = std::numeric_limits::max()); @@ -177,6 +180,4 @@ namespace OpenShock { bool StringIContains(std::string_view haystack, std::string_view needle); bool StringHasPrefixIC(std::string_view view, std::string_view prefix); - - String StringToArduinoString(std::string_view view); } // namespace OpenShock diff --git a/components/util/src/SemVer.cpp b/components/util/src/SemVer.cpp index 1ac4a064..58bf1949 100644 --- a/components/util/src/SemVer.cpp +++ b/components/util/src/SemVer.cpp @@ -268,37 +268,71 @@ bool SemVer::operator==(const SemVer& other) const return major == other.major && minor == other.minor && patch == other.patch && prerelease == other.prerelease && build == other.build; } -bool SemVer::operator<(const SemVer& other) const +static bool semverIdentifierIsNumeric(std::string_view id) { - if (major < other.major) { - return true; - } - if (major > other.major) { + if (id.empty()) { return false; } - - if (minor < other.minor) { - return true; - } - if (minor > other.minor) { - return false; + for (char c : id) { + if (c < '0' || c > '9') { + return false; + } } + return true; +} - if (patch < other.patch) { - return true; - } - if (patch > other.patch) { - return false; +// Compare two non-empty dot-separated prerelease strings per semver 11.4: +// numeric identifiers compare numerically and rank below alphanumeric ones; +// alphanumeric compare in ASCII order; a larger set of identifiers outranks a +// smaller one when all preceding identifiers are equal. Returns <0 / 0 / >0. +static int semverComparePrerelease(std::string_view a, std::string_view b) +{ + while (!a.empty() || !b.empty()) { + if (a.empty()) return -1; // a ran out first -> fewer identifiers -> lower + if (b.empty()) return 1; + + size_t ad = a.find('.'); + size_t bd = b.find('.'); + std::string_view aid = a.substr(0, ad); + std::string_view bid = b.substr(0, bd); + + bool an = semverIdentifierIsNumeric(aid); + bool bn = semverIdentifierIsNumeric(bid); + if (an && bn) { + if (aid.length() != bid.length()) return aid.length() < bid.length() ? -1 : 1; // no leading zeros + int c = aid.compare(bid); + if (c != 0) return c < 0 ? -1 : 1; + } else if (an != bn) { + return an ? -1 : 1; // numeric ranks below alphanumeric + } else { + int c = aid.compare(bid); + if (c != 0) return c < 0 ? -1 : 1; + } + + a = (ad == std::string_view::npos) ? std::string_view {} : a.substr(ad + 1); + b = (bd == std::string_view::npos) ? std::string_view {} : b.substr(bd + 1); } + return 0; +} - if (prerelease < other.prerelease) { - return true; +bool SemVer::operator<(const SemVer& other) const +{ + if (major != other.major) return major < other.major; + if (minor != other.minor) return minor < other.minor; + if (patch != other.patch) return patch < other.patch; + + // Prerelease precedence (semver 11.3): a version WITH a prerelease is lower + // than the associated normal version. Build metadata is ignored (semver 10). + bool thisPre = !prerelease.empty(); + bool otherPre = !other.prerelease.empty(); + if (thisPre != otherPre) { + return thisPre; // this has a prerelease, other is the release -> this < other } - if (prerelease > other.prerelease) { - return false; + if (!thisPre) { + return false; // both normal versions of the same core -> equal precedence } - return build < other.build; + return semverComparePrerelease(prerelease, other.prerelease) < 0; } bool SemVer::operator==(std::string_view other) const @@ -323,58 +357,47 @@ bool SemVer::operator<(std::string_view other) const bool OpenShock::TryParseSemVer(std::string_view semverStr, SemVer& semver) { - std::string_view parts[3]; - if (!OpenShock::TryStringSplit(semverStr, '.', parts)) { - OS_LOGE(TAG, "Failed to split version string: %.*s", semverStr.length(), semverStr.data()); - return false; - } - - std::string_view majorStr = parts[0], minorStr = parts[1], patchStr = parts[2]; + // Peel off build (after the first '+') then prerelease (after the first '-'), + // leaving the bare major.minor.patch core. Splitting the whole string by '.' + // up front would corrupt a dotted prerelease/build such as "-rc.7". + std::string_view rest = semverStr; - size_t plusIdx = patchStr.find('+'); - size_t dashIdx = patchStr.find('-'); + std::string_view build; + size_t plusIdx = rest.find('+'); + if (plusIdx != std::string_view::npos) { + build = rest.substr(plusIdx + 1); + rest = rest.substr(0, plusIdx); + } - std::string_view restStr; - if (dashIdx != std::string_view::npos || plusIdx != std::string_view::npos) { - restStr = patchStr.substr(std::min(dashIdx, plusIdx)); - patchStr.remove_suffix(restStr.length()); + std::string_view prerelease; + size_t dashIdx = rest.find('-'); + if (dashIdx != std::string_view::npos) { + prerelease = rest.substr(dashIdx + 1); + rest = rest.substr(0, dashIdx); } - if (!Convert::ToUint16(majorStr, semver.major)) { - OS_LOGE(TAG, "Invalid major version: %.*s", majorStr.length(), majorStr.data()); + std::string_view parts[3]; + if (!OpenShock::TryStringSplit(rest, '.', parts)) { + OS_LOGE(TAG, "Failed to split version core: %.*s", static_cast(rest.length()), rest.data()); return false; } - if (!Convert::ToUint16(minorStr, semver.minor)) { - OS_LOGE(TAG, "Invalid minor version: %.*s", minorStr.length(), minorStr.data()); + if (!Convert::ToUint16(parts[0], semver.major) || !Convert::ToUint16(parts[1], semver.minor) || !Convert::ToUint16(parts[2], semver.patch)) { + OS_LOGE(TAG, "Invalid version core: %.*s", static_cast(rest.length()), rest.data()); return false; } - if (!Convert::ToUint16(patchStr, semver.patch)) { - OS_LOGE(TAG, "Invalid patch version: %.*s", patchStr.length(), patchStr.data()); + if (!prerelease.empty() && !semverIsPrerelease(prerelease)) { + OS_LOGE(TAG, "Invalid prerelease: %.*s", static_cast(prerelease.length()), prerelease.data()); return false; } - - if (!restStr.empty()) { - if (plusIdx != std::string_view::npos) { - semver.build = restStr.substr((plusIdx - patchStr.length()) + 1); - restStr.remove_suffix(semver.build.length() + 1); - - if (!semver.build.empty() && !semverIsBuild(semver.build)) { - OS_LOGE(TAG, "Invalid build: %s", semver.build.c_str()); - return false; - } - } - - if (dashIdx != std::string_view::npos) { - semver.prerelease = restStr.substr(1); - - if (!semver.prerelease.empty() && !semverIsPrerelease(semver.prerelease)) { - OS_LOGE(TAG, "Invalid prerelease: %s", semver.prerelease.c_str()); - return false; - } - } + if (!build.empty() && !semverIsBuild(build)) { + OS_LOGE(TAG, "Invalid build: %.*s", static_cast(build.length()), build.data()); + return false; } + semver.prerelease.assign(prerelease); + semver.build.assign(build); + return true; } diff --git a/src/GatewayConnectionManager.cpp b/src/GatewayConnectionManager.cpp index 36f47a9e..c4dc9f3b 100644 --- a/src/GatewayConnectionManager.cpp +++ b/src/GatewayConnectionManager.cpp @@ -6,11 +6,11 @@ const char* const TAG = "GatewayConnectionManager"; #include "captiveportal/Manager.h" #include "config/Config.h" -#include "Core.h" #include "GatewayClient.h" #include "http/JsonAPI.h" #include "Logging.h" #include "serialization/WSLocal.h" +#include "Temporal.h" #include "SimpleMutex.h" @@ -124,7 +124,7 @@ AccountLinkResultCode GatewayConnectionManager::Link(std::string_view linkCode) DestroyClient(); - OS_LOGD(TAG, "Attempting to link to account using code %.*s", linkCode.length(), linkCode.data()); + OS_LOGD(TAG, "Attempting to link to account using code %.*s", static_cast(linkCode.length()), linkCode.data()); if (linkCode.length() != LINK_CODE_LENGTH) { OS_LOGE(TAG, "Invalid link code length: expected %zu, got %zu", static_cast(LINK_CODE_LENGTH), linkCode.length()); diff --git a/src/http/JsonAPI.cpp b/src/http/JsonAPI.cpp index c106f879..37a9a042 100644 --- a/src/http/JsonAPI.cpp +++ b/src/http/JsonAPI.cpp @@ -2,9 +2,9 @@ const char* const TAG = "JsonAPI"; -#include "OpenShock.h" -#include "Logging.h" #include "config/Config.h" +#include "Logging.h" +#include "OpenShock.h" #include "util/StringUtils.h" using namespace OpenShock; @@ -50,8 +50,8 @@ HTTP::Response HTTP::JsonAPI::GetHubInf return HTTP::GetJSON( uri, { - { "Accept", "application/json"}, - {"DeviceToken", OpenShock::StringToArduinoString(hubToken)} + {"Accept", "application/json"}, + {"DeviceToken", String(hubToken.data(), hubToken.size())} }, Serialization::JsonAPI::ParseHubInfoJsonResponse, std::array {200} @@ -75,8 +75,8 @@ HTTP::Response HTTP::JsonAPI::AssignL return HTTP::GetJSON( uri, { - { "Accept", "application/json"}, - {"DeviceToken", OpenShock::StringToArduinoString(hubToken)} + {"Accept", "application/json"}, + {"DeviceToken", String(hubToken.data(), hubToken.size())} }, Serialization::JsonAPI::ParseAssignLcgJsonResponse, std::array {200} diff --git a/src/serial/SerialInputHandler.cpp b/src/serial/SerialInputHandler.cpp index ae2e4643..b3ac50f8 100644 --- a/src/serial/SerialInputHandler.cpp +++ b/src/serial/SerialInputHandler.cpp @@ -7,7 +7,6 @@ const char* const TAG = "SerialInputHandler"; #include "config/Config.h" #include "config/SerialInputConfig.h" #include "Convert.h" -#include "Core.h" #include "estop/EStopManager.h" #include "FormatHelpers.h" #include "http/HTTPRequestManager.h" @@ -17,6 +16,7 @@ const char* const TAG = "SerialInputHandler"; #include "serial/command_handlers/index.h" #include "serialization/JsonAPI.h" #include "serialization/JsonSerial.h" +#include "Temporal.h" #include "util/Base64Utils.h" #include "util/StringUtils.h" #include "util/TaskUtils.h" @@ -274,7 +274,7 @@ static void handleHelpCommand(std::string_view arg, bool isAutomated) return; } - SERPR_ERROR("Command \"%.*s\" not found", arg.length(), arg.data()); + SERPR_ERROR("Command \"%.*s\" not found", static_cast(arg.length()), arg.data()); } void RegisterCommandHandler(const OpenShock::SerialCmds::CommandGroup& handler) @@ -498,7 +498,7 @@ static void skipUSBSerialWhitespaces(SerialBuffer& buffer) static void echoBuffer(std::string_view buffer) { - OS_SERIAL_PRINTF(CLEAR_LINE "> %.*s", buffer.size(), buffer.data()); + OS_SERIAL_PRINTF(CLEAR_LINE "> %.*s", static_cast(buffer.size()), buffer.data()); } static void echoHandleSerialInput(std::string_view buffer, bool hasData) @@ -559,7 +559,7 @@ static void processSerialLine(std::string_view line) auto it = s_commandHandlers.find(command); if (it == s_commandHandlers.end()) { - SERPR_ERROR("Command \"%.*s\" not found", command.size(), command.data()); + SERPR_ERROR("Command \"%.*s\" not found", static_cast(command.size()), command.data()); return; } @@ -613,7 +613,7 @@ static void processSerialLine(std::string_view line) return; } - SERPR_ERROR("Command \"%.*s\" not found", command.size(), command.data()); + SERPR_ERROR("Command \"%.*s\" not found", static_cast(command.size()), command.data()); } static void serialRxTask(void*) @@ -636,7 +636,7 @@ static void serialRxTask(void*) skipSerialWhitespaces(buffer); break; case SerialReadResult::AutoCompleteRequest: - OS_SERIAL_PRINTF(CLEAR_LINE "> %.*s [AutoComplete is not implemented]", buffer.size(), buffer.data()); + OS_SERIAL_PRINTF(CLEAR_LINE "> %.*s [AutoComplete is not implemented]", static_cast(buffer.size()), buffer.data()); break; case SerialReadResult::Data: echoHandleSerialInput(buffer, true); @@ -662,7 +662,7 @@ static void serialRxTask(void*) skipUSBSerialWhitespaces(buffer); break; case SerialReadResult::AutoCompleteRequest: - OS_SERIAL_PRINTF(CLEAR_LINE "> %.*s [AutoComplete is not implemented]", buffer.size(), buffer.data()); + OS_SERIAL_PRINTF(CLEAR_LINE "> %.*s [AutoComplete is not implemented]", static_cast(buffer.size()), buffer.data()); break; case SerialReadResult::Data: echoHandleSerialInput(buffer, true); @@ -689,7 +689,7 @@ bool SerialInputHandler::Init() // Register command handlers s_commandGroups = OpenShock::SerialCmds::CommandHandlers::AllCommandHandlers(); for (const auto& handler : s_commandGroups) { - OS_LOGV(TAG, "Registering command handler: %.*s", handler.name().size(), handler.name().data()); + OS_LOGV(TAG, "Registering command handler: %.*s", static_cast(handler.name().size()), handler.name().data()); RegisterCommandHandler(handler); } diff --git a/src/serial/command_handlers/domain.cpp b/src/serial/command_handlers/domain.cpp index 037b31c9..8888240b 100644 --- a/src/serial/command_handlers/domain.cpp +++ b/src/serial/command_handlers/domain.cpp @@ -32,7 +32,7 @@ static void handleDomainCommand(std::string_view arg, bool isAutomated) } char uri[OPENSHOCK_URI_BUFFER_SIZE]; - sprintf(uri, "https://%.*s/1", arg.length(), arg.data()); + sprintf(uri, "https://%.*s/1", static_cast(arg.length()), arg.data()); auto resp = OpenShock::HTTP::GetJSON( uri, @@ -44,11 +44,11 @@ static void handleDomainCommand(std::string_view arg, bool isAutomated) ); if (resp.result != OpenShock::HTTP::RequestResult::Success) { - SERPR_ERROR("Tried to connect to \"%.*s\", but failed with status [%d] (%s), refusing to save domain to config", arg.length(), arg.data(), resp.code, resp.ResultToString()); + SERPR_ERROR("Tried to connect to \"%.*s\", but failed with status [%d] (%s), refusing to save domain to config", static_cast(arg.length()), arg.data(), resp.code, resp.ResultToString()); return; } - OS_LOGI(TAG, "Successfully connected to \"%.*s\", version: %s, commit: %s, current time: %s", arg.length(), arg.data(), resp.data.version.c_str(), resp.data.commit.c_str(), resp.data.currentTime.c_str()); + OS_LOGI(TAG, "Successfully connected to \"%.*s\", version: %s, commit: %s, current time: %s", static_cast(arg.length()), arg.data(), resp.data.version.c_str(), resp.data.commit.c_str(), resp.data.currentTime.c_str()); bool result = OpenShock::Config::SetBackendDomain(std::string(arg)); From 2eaabad5bf47876fa1dcc281c32d69d906e4a6fe Mon Sep 17 00:00:00 2001 From: HeavenVR Date: Thu, 9 Jul 2026 13:28:05 +0200 Subject: [PATCH 31/91] test: host-test suites for common and util (linux target) - common: enum parsers (ShockerModel/Command, OtaUpdateChannel/Step, FirmwareBootType) + StringHelpers::StringIEquals - 13 tests. - util: Convert, StringUtils, HexUtils, DigitCounter, SemVer, Base64 - 30 tests. Compiles util's pure sources directly with a Logging/Panic stub, so the suite does not need the firmware's hardware-coupled logging. - osjson: expanded coverage (part of the same run). Total across osjson/common/util: 99 tests, all passing on native x86. --- components/common/host_test/CMakeLists.txt | 12 ++ .../common/host_test/main/CMakeLists.txt | 9 ++ .../common/host_test/main/test_enums.cpp | 147 ++++++++++++++++++ .../common/host_test/main/test_main.cpp | 10 ++ .../host_test/main/test_stringhelpers.cpp | 43 +++++ .../common/host_test/sdkconfig.defaults | 4 + .../osjson/host_test/main/test_getters.cpp | 19 +-- .../osjson/host_test/main/test_json.cpp | 4 +- .../osjson/host_test/main/test_navigation.cpp | 17 +- .../osjson/host_test/main/test_parse.cpp | 2 +- .../osjson/host_test/main/test_stress.cpp | 8 +- components/util/host_test/CMakeLists.txt | 11 ++ components/util/host_test/main/CMakeLists.txt | 34 ++++ .../util/host_test/main/stubs/Logging.h | 14 ++ components/util/host_test/main/stubs/Panic.h | 6 + .../util/host_test/main/test_base64.cpp | 58 +++++++ .../util/host_test/main/test_convert.cpp | 77 +++++++++ .../util/host_test/main/test_digitcounter.cpp | 27 ++++ .../util/host_test/main/test_hexutils.cpp | 67 ++++++++ components/util/host_test/main/test_main.cpp | 10 ++ .../util/host_test/main/test_semver.cpp | 104 +++++++++++++ .../util/host_test/main/test_stringutils.cpp | 80 ++++++++++ components/util/host_test/sdkconfig.defaults | 4 + 23 files changed, 740 insertions(+), 27 deletions(-) create mode 100644 components/common/host_test/CMakeLists.txt create mode 100644 components/common/host_test/main/CMakeLists.txt create mode 100644 components/common/host_test/main/test_enums.cpp create mode 100644 components/common/host_test/main/test_main.cpp create mode 100644 components/common/host_test/main/test_stringhelpers.cpp create mode 100644 components/common/host_test/sdkconfig.defaults create mode 100644 components/util/host_test/CMakeLists.txt create mode 100644 components/util/host_test/main/CMakeLists.txt create mode 100644 components/util/host_test/main/stubs/Logging.h create mode 100644 components/util/host_test/main/stubs/Panic.h create mode 100644 components/util/host_test/main/test_base64.cpp create mode 100644 components/util/host_test/main/test_convert.cpp create mode 100644 components/util/host_test/main/test_digitcounter.cpp create mode 100644 components/util/host_test/main/test_hexutils.cpp create mode 100644 components/util/host_test/main/test_main.cpp create mode 100644 components/util/host_test/main/test_semver.cpp create mode 100644 components/util/host_test/main/test_stringutils.cpp create mode 100644 components/util/host_test/sdkconfig.defaults diff --git a/components/common/host_test/CMakeLists.txt b/components/common/host_test/CMakeLists.txt new file mode 100644 index 00000000..ff5a2ebe --- /dev/null +++ b/components/common/host_test/CMakeLists.txt @@ -0,0 +1,12 @@ +cmake_minimum_required(VERSION 3.16) + +include($ENV{IDF_PATH}/tools/cmake/project.cmake) + +# Only build 'main'; the common headers are pulled in by include path (they are +# header-only and Arduino-free, so no firmware component needs to be linked). +set(COMPONENTS main) + +# linux-target freertos mock, so unity's IDF integration has its dependencies. +list(APPEND EXTRA_COMPONENT_DIRS "$ENV{IDF_PATH}/tools/mocks/freertos/") + +project(common_host_test) diff --git a/components/common/host_test/main/CMakeLists.txt b/components/common/host_test/main/CMakeLists.txt new file mode 100644 index 00000000..21761c50 --- /dev/null +++ b/components/common/host_test/main/CMakeLists.txt @@ -0,0 +1,9 @@ +idf_component_register( + SRCS "test_main.cpp" + "test_enums.cpp" + "test_stringhelpers.cpp" + INCLUDE_DIRS "." + "../../include" # common's headers (enums/*, StringHelpers.h) - header-only + REQUIRES unity + WHOLE_ARCHIVE # keep the auto-registered TEST_CASEs from being stripped +) diff --git a/components/common/host_test/main/test_enums.cpp b/components/common/host_test/main/test_enums.cpp new file mode 100644 index 00000000..ef2d16c6 --- /dev/null +++ b/components/common/host_test/main/test_enums.cpp @@ -0,0 +1,147 @@ +// Parser coverage for the shared enum headers. These decide how user/backend +// strings map to shocker models, commands, OTA channels/steps and boot types - +// getting them wrong misroutes real commands, so pin every accepted spelling. +#include "unity.h" + +#include "enums/FirmwareBootType.h" +#include "enums/OtaUpdateChannel.h" +#include "enums/OtaUpdateStep.h" +#include "enums/ShockerCommandType.h" +#include "enums/ShockerModelType.h" + +using namespace OpenShock; + +// ---- ShockerModelType ------------------------------------------------------ + +TEST_CASE("ShockerModelType: all accepted spellings", "[common][enums]") +{ + ShockerModelType m; + TEST_ASSERT_TRUE(ShockerModelTypeFromString("caixianlin", m)); + TEST_ASSERT_EQUAL(ShockerModelType::CaiXianlin, m); + TEST_ASSERT_TRUE(ShockerModelTypeFromString("cai-xianlin", m)); + TEST_ASSERT_EQUAL(ShockerModelType::CaiXianlin, m); + TEST_ASSERT_TRUE(ShockerModelTypeFromString("petrainer", m)); + TEST_ASSERT_EQUAL(ShockerModelType::Petrainer, m); + TEST_ASSERT_TRUE(ShockerModelTypeFromString("petrainer998dr", m)); + TEST_ASSERT_EQUAL(ShockerModelType::Petrainer998DR, m); + TEST_ASSERT_TRUE(ShockerModelTypeFromString("wellturnt330", m)); + TEST_ASSERT_EQUAL(ShockerModelType::WellturnT330, m); + TEST_ASSERT_TRUE(ShockerModelTypeFromString("t330", m)); + TEST_ASSERT_EQUAL(ShockerModelType::WellturnT330, m); + TEST_ASSERT_TRUE(ShockerModelTypeFromString("d80", m)); + TEST_ASSERT_EQUAL(ShockerModelType::D80, m); +} + +TEST_CASE("ShockerModelType: case-insensitive", "[common][enums]") +{ + ShockerModelType m; + TEST_ASSERT_TRUE(ShockerModelTypeFromString("CaiXianlin", m)); + TEST_ASSERT_EQUAL(ShockerModelType::CaiXianlin, m); + TEST_ASSERT_TRUE(ShockerModelTypeFromString("PETRAINER", m)); + TEST_ASSERT_EQUAL(ShockerModelType::Petrainer, m); + TEST_ASSERT_TRUE(ShockerModelTypeFromString("T330", m)); + TEST_ASSERT_EQUAL(ShockerModelType::WellturnT330, m); +} + +TEST_CASE("ShockerModelType: the 'pettrainer' typo only with allowTypo", "[common][enums]") +{ + ShockerModelType m; + TEST_ASSERT_FALSE(ShockerModelTypeFromString("pettrainer", m)); // default: rejected + TEST_ASSERT_FALSE(ShockerModelTypeFromString("pettrainer998dr", m)); + + TEST_ASSERT_TRUE(ShockerModelTypeFromString("pettrainer", m, true)); // allowTypo: accepted + TEST_ASSERT_EQUAL(ShockerModelType::Petrainer, m); + TEST_ASSERT_TRUE(ShockerModelTypeFromString("pettrainer998dr", m, true)); + TEST_ASSERT_EQUAL(ShockerModelType::Petrainer998DR, m); +} + +TEST_CASE("ShockerModelType: rejects unknown and empty", "[common][enums]") +{ + ShockerModelType m; + TEST_ASSERT_FALSE(ShockerModelTypeFromString("", m)); + TEST_ASSERT_FALSE(ShockerModelTypeFromString("nope", m)); + TEST_ASSERT_FALSE(ShockerModelTypeFromString("cai", m)); // prefix, not a full match +} + +// ---- ShockerCommandType ---------------------------------------------------- + +TEST_CASE("ShockerCommandType: all commands + case-insensitive", "[common][enums]") +{ + ShockerCommandType c; + TEST_ASSERT_TRUE(ShockerCommandTypeFromString("stop", c)); + TEST_ASSERT_EQUAL(ShockerCommandType::Stop, c); + TEST_ASSERT_TRUE(ShockerCommandTypeFromString("shock", c)); + TEST_ASSERT_EQUAL(ShockerCommandType::Shock, c); + TEST_ASSERT_TRUE(ShockerCommandTypeFromString("vibrate", c)); + TEST_ASSERT_EQUAL(ShockerCommandType::Vibrate, c); + TEST_ASSERT_TRUE(ShockerCommandTypeFromString("sound", c)); + TEST_ASSERT_EQUAL(ShockerCommandType::Sound, c); + TEST_ASSERT_TRUE(ShockerCommandTypeFromString("LIGHT", c)); + TEST_ASSERT_EQUAL(ShockerCommandType::Light, c); +} + +TEST_CASE("ShockerCommandType: rejects unknown/empty", "[common][enums]") +{ + ShockerCommandType c; + TEST_ASSERT_FALSE(ShockerCommandTypeFromString("", c)); + TEST_ASSERT_FALSE(ShockerCommandTypeFromString("zap", c)); +} + +// ---- OtaUpdateChannel (string_view API) ------------------------------------ + +TEST_CASE("OtaUpdateChannel: stable/beta/develop/dev + case", "[common][enums]") +{ + OtaUpdateChannel ch; + TEST_ASSERT_TRUE(TryParseOtaUpdateChannel(ch, "stable")); + TEST_ASSERT_EQUAL(OtaUpdateChannel::Stable, ch); + TEST_ASSERT_TRUE(TryParseOtaUpdateChannel(ch, "Beta")); + TEST_ASSERT_EQUAL(OtaUpdateChannel::Beta, ch); + TEST_ASSERT_TRUE(TryParseOtaUpdateChannel(ch, "develop")); + TEST_ASSERT_EQUAL(OtaUpdateChannel::Develop, ch); + TEST_ASSERT_TRUE(TryParseOtaUpdateChannel(ch, "DEV")); + TEST_ASSERT_EQUAL(OtaUpdateChannel::Develop, ch); + + TEST_ASSERT_FALSE(TryParseOtaUpdateChannel(ch, "")); + TEST_ASSERT_FALSE(TryParseOtaUpdateChannel(ch, "nightly")); + TEST_ASSERT_FALSE(TryParseOtaUpdateChannel(ch, "stabl")); // prefix, not full +} + +// ---- OtaUpdateStep --------------------------------------------------------- + +TEST_CASE("OtaUpdateStep: every step + rejects unknown", "[common][enums]") +{ + OtaUpdateStep s; + TEST_ASSERT_TRUE(TryParseOtaUpdateStep(s, "none")); + TEST_ASSERT_EQUAL(OtaUpdateStep::None, s); + TEST_ASSERT_TRUE(TryParseOtaUpdateStep(s, "updating")); + TEST_ASSERT_EQUAL(OtaUpdateStep::Updating, s); + TEST_ASSERT_TRUE(TryParseOtaUpdateStep(s, "updated")); + TEST_ASSERT_EQUAL(OtaUpdateStep::Updated, s); + TEST_ASSERT_TRUE(TryParseOtaUpdateStep(s, "validating")); + TEST_ASSERT_EQUAL(OtaUpdateStep::Validating, s); + TEST_ASSERT_TRUE(TryParseOtaUpdateStep(s, "validated")); + TEST_ASSERT_EQUAL(OtaUpdateStep::Validated, s); + TEST_ASSERT_TRUE(TryParseOtaUpdateStep(s, "RollingBack")); + TEST_ASSERT_EQUAL(OtaUpdateStep::RollingBack, s); + + TEST_ASSERT_FALSE(TryParseOtaUpdateStep(s, "")); + TEST_ASSERT_FALSE(TryParseOtaUpdateStep(s, "done")); +} + +// ---- FirmwareBootType (const char* API) ------------------------------------ + +TEST_CASE("FirmwareBootType: normal/newfirmware/new_firmware/rollback", "[common][enums]") +{ + FirmwareBootType b; + TEST_ASSERT_TRUE(TryParseFirmwareBootType(b, "normal")); + TEST_ASSERT_EQUAL(FirmwareBootType::Normal, b); + TEST_ASSERT_TRUE(TryParseFirmwareBootType(b, "newfirmware")); + TEST_ASSERT_EQUAL(FirmwareBootType::NewFirmware, b); + TEST_ASSERT_TRUE(TryParseFirmwareBootType(b, "new_firmware")); + TEST_ASSERT_EQUAL(FirmwareBootType::NewFirmware, b); + TEST_ASSERT_TRUE(TryParseFirmwareBootType(b, "ROLLBACK")); + TEST_ASSERT_EQUAL(FirmwareBootType::Rollback, b); + + TEST_ASSERT_FALSE(TryParseFirmwareBootType(b, "")); + TEST_ASSERT_FALSE(TryParseFirmwareBootType(b, "reboot")); +} diff --git a/components/common/host_test/main/test_main.cpp b/components/common/host_test/main/test_main.cpp new file mode 100644 index 00000000..bc9d814b --- /dev/null +++ b/components/common/host_test/main/test_main.cpp @@ -0,0 +1,10 @@ +// Host-only (linux target) test binary for the common component's header-only +// logic. FreeRTOS is mocked, so there is no ESP startup - drive Unity directly. +#include "unity.h" + +extern "C" int main(void) +{ + UNITY_BEGIN(); + unity_run_all_tests(); + return UNITY_END(); +} diff --git a/components/common/host_test/main/test_stringhelpers.cpp b/components/common/host_test/main/test_stringhelpers.cpp new file mode 100644 index 00000000..44d3a8fd --- /dev/null +++ b/components/common/host_test/main/test_stringhelpers.cpp @@ -0,0 +1,43 @@ +// StringHelpers::StringIEquals - the shared case-insensitive compare used by the +// enum parsers and util. Length-aware, so it must be correct on non-terminated +// views too. +#include "unity.h" + +#include "StringHelpers.h" + +#include + +using namespace OpenShock; + +TEST_CASE("StringIEquals: equal regardless of case", "[common][strhelpers]") +{ + TEST_ASSERT_TRUE(StringIEquals("hello", "hello")); + TEST_ASSERT_TRUE(StringIEquals("Hello", "hELLo")); + TEST_ASSERT_TRUE(StringIEquals("ABC123", "abc123")); + TEST_ASSERT_TRUE(StringIEquals("", "")); +} + +TEST_CASE("StringIEquals: unequal content or length", "[common][strhelpers]") +{ + TEST_ASSERT_FALSE(StringIEquals("hello", "world")); + TEST_ASSERT_FALSE(StringIEquals("hello", "hell")); // different length + TEST_ASSERT_FALSE(StringIEquals("hell", "hello")); + TEST_ASSERT_FALSE(StringIEquals("", "x")); + TEST_ASSERT_FALSE(StringIEquals("x", "")); + TEST_ASSERT_FALSE(StringIEquals("abc", "abd")); +} + +TEST_CASE("StringIEquals: only ASCII letters are folded", "[common][strhelpers]") +{ + // digits/punctuation compare exactly; case folding is A-Z / a-z only + TEST_ASSERT_TRUE(StringIEquals("a-b_c", "A-B_C")); + TEST_ASSERT_FALSE(StringIEquals("a-b", "a_b")); +} + +TEST_CASE("StringIEquals: works on non-NUL-terminated sub-views", "[common][strhelpers]") +{ + std::string_view full = "prefixHELLOsuffix"; + std::string_view mid = full.substr(6, 5); // "HELLO", not NUL-terminated + TEST_ASSERT_TRUE(StringIEquals(mid, "hello")); + TEST_ASSERT_FALSE(StringIEquals(mid, "hell")); +} diff --git a/components/common/host_test/sdkconfig.defaults b/components/common/host_test/sdkconfig.defaults new file mode 100644 index 00000000..c3d7cf2c --- /dev/null +++ b/components/common/host_test/sdkconfig.defaults @@ -0,0 +1,4 @@ +CONFIG_IDF_TARGET="linux" +CONFIG_IDF_TARGET_LINUX=y +CONFIG_COMPILER_CXX_EXCEPTIONS=y +CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER=y diff --git a/components/osjson/host_test/main/test_getters.cpp b/components/osjson/host_test/main/test_getters.cpp index 11e46f52..601636a9 100644 --- a/components/osjson/host_test/main/test_getters.cpp +++ b/components/osjson/host_test/main/test_getters.cpp @@ -69,9 +69,9 @@ TEST_CASE("tryGetBool: true/false succeed, everything else fails", "[osjson][get TEST_ASSERT_TRUE(root["f"].tryGetBool(b)); TEST_ASSERT_FALSE(b); - TEST_ASSERT_FALSE(root["n"].tryGetBool(b)); // number - TEST_ASSERT_FALSE(root["s"].tryGetBool(b)); // the STRING "true" - TEST_ASSERT_FALSE(root["z"].tryGetBool(b)); // null + TEST_ASSERT_FALSE(root["n"].tryGetBool(b)); // number + TEST_ASSERT_FALSE(root["s"].tryGetBool(b)); // the STRING "true" + TEST_ASSERT_FALSE(root["z"].tryGetBool(b)); // null TEST_ASSERT_FALSE(root["missing"].tryGetBool(b)); } @@ -79,9 +79,8 @@ TEST_CASE("tryGetBool: true/false succeed, everything else fails", "[osjson][get TEST_CASE("tryGetI64: valid integers including boundaries", "[osjson][getters]") { - static const char json[] = - R"({"zero":0,"pos":123,"neg":-123,"i32over":2147483648,)" - R"("max":9223372036854775807,"min":-9223372036854775808,"leadzero":007})"; + static const char json[] = R"({"zero":0,"pos":123,"neg":-123,"i32over":2147483648,)" + R"("max":9223372036854775807,"min":-9223372036854775808,"leadzero":007})"; JSON::JsonDocument doc; TEST_ASSERT_TRUE(doc.parse(json)); JSON::JsonView root = doc.root(); @@ -105,9 +104,8 @@ TEST_CASE("tryGetI64: valid integers including boundaries", "[osjson][getters]") TEST_CASE("tryGetI64: rejects non-integers and partial parses", "[osjson][getters]") { - static const char json[] = - R"({"flt":1.5,"exp":"1e3","over":9223372036854775808,)" - R"("plus":"+5","hex":"0x1F","word":"abc","s":"42","b":true,"z":null})"; + static const char json[] = R"({"flt":1.5,"exp":"1e3","over":9223372036854775808,)" + R"("plus":"+5","hex":"0x1F","word":"abc","s":"42","b":true,"z":null})"; // NOTE: exp/plus/hex/word/s are quoted so they are valid JSON string tokens; // tryGetI64 must still reject them because they are not numbers. JSON::JsonDocument doc; @@ -136,8 +134,7 @@ static bool nearly(double a, double b) TEST_CASE("tryGetDouble: accepts ints, decimals and exponents", "[osjson][getters]") { - static const char json[] = - R"({"i":42,"d":3.14,"neg":-2.5,"e":1e3,"eneg":1.5e-2,"zero":0.0})"; + static const char json[] = R"({"i":42,"d":3.14,"neg":-2.5,"e":1e3,"eneg":1.5e-2,"zero":0.0})"; JSON::JsonDocument doc; TEST_ASSERT_TRUE(doc.parse(json)); JSON::JsonView root = doc.root(); diff --git a/components/osjson/host_test/main/test_json.cpp b/components/osjson/host_test/main/test_json.cpp index c16df051..24b1b1c8 100644 --- a/components/osjson/host_test/main/test_json.cpp +++ b/components/osjson/host_test/main/test_json.cpp @@ -58,9 +58,9 @@ TEST_CASE("missing key and type mismatch", "[osjson]") bool b = false; TEST_ASSERT_FALSE(root["name"].tryGetBool(b)); // string, not bool int64_t n = 0; - TEST_ASSERT_FALSE(root["name"].tryGetI64(n)); // string, not number + TEST_ASSERT_FALSE(root["name"].tryGetI64(n)); // string, not number std::string_view s; - TEST_ASSERT_FALSE(root["n"].tryGetStr(s)); // number, not string + TEST_ASSERT_FALSE(root["n"].tryGetStr(s)); // number, not string } TEST_CASE("nested objects and arrays", "[osjson]") diff --git a/components/osjson/host_test/main/test_navigation.cpp b/components/osjson/host_test/main/test_navigation.cpp index a2571f76..ec48b06c 100644 --- a/components/osjson/host_test/main/test_navigation.cpp +++ b/components/osjson/host_test/main/test_navigation.cpp @@ -37,7 +37,7 @@ TEST_CASE("operator[]: case-sensitive and prefix-distinct keys", "[osjson][nav]" TEST_ASSERT_EQUAL_INT64(1, v); TEST_ASSERT_TRUE(root["Name"].tryGetI64(v)); // different case -> different key TEST_ASSERT_EQUAL_INT64(2, v); - TEST_ASSERT_TRUE(root["n"].tryGetI64(v)); // must not match "name"/"nam" + TEST_ASSERT_TRUE(root["n"].tryGetI64(v)); // must not match "name"/"nam" TEST_ASSERT_EQUAL_INT64(3, v); TEST_ASSERT_TRUE(root["nam"].tryGetI64(v)); TEST_ASSERT_EQUAL_INT64(4, v); @@ -65,8 +65,7 @@ TEST_CASE("operator[]: lookup skips over object- and array-valued members", "[os { // The value before "target" is a nested structure; skip() must jump the whole // subtree so the following key is found correctly. - static const char json[] = - R"({"big":{"x":[1,2,{"y":3}],"z":{"w":4}},"arr":[9,8,7],"target":123})"; + static const char json[] = R"({"big":{"x":[1,2,{"y":3}],"z":{"w":4}},"arr":[9,8,7],"target":123})"; JSON::JsonDocument doc; TEST_ASSERT_TRUE(doc.parse(json)); JSON::JsonView root = doc.root(); @@ -88,10 +87,10 @@ TEST_CASE("count(): arrays, objects, primitives, invalid", "[osjson][nav]") TEST_ASSERT_TRUE(doc.parse(R"({"a":[1,2,3,4],"o":{"x":1,"y":2},"n":5})")); JSON::JsonView root = doc.root(); - TEST_ASSERT_EQUAL_INT(3, root.count()); // object: member count - TEST_ASSERT_EQUAL_INT(4, root["a"].count()); // array length - TEST_ASSERT_EQUAL_INT(2, root["o"].count()); // nested object members - TEST_ASSERT_EQUAL_INT(0, root["n"].count()); // primitive + TEST_ASSERT_EQUAL_INT(3, root.count()); // object: member count + TEST_ASSERT_EQUAL_INT(4, root["a"].count()); // array length + TEST_ASSERT_EQUAL_INT(2, root["o"].count()); // nested object members + TEST_ASSERT_EQUAL_INT(0, root["n"].count()); // primitive TEST_ASSERT_EQUAL_INT(0, root["missing"].count()); } @@ -107,8 +106,8 @@ TEST_CASE("at(): valid indices, out of range, and non-arrays", "[osjson][nav]") TEST_ASSERT_TRUE(arr.at(2).tryGetI64(v)); TEST_ASSERT_EQUAL_INT64(30, v); - TEST_ASSERT_FALSE(arr.at(3).valid()); // past the end - TEST_ASSERT_FALSE(arr.at(-1).valid()); // negative + TEST_ASSERT_FALSE(arr.at(3).valid()); // past the end + TEST_ASSERT_FALSE(arr.at(-1).valid()); // negative TEST_ASSERT_FALSE(arr.at(1000).valid()); // at() on an object is invalid (only arrays are indexable) diff --git a/components/osjson/host_test/main/test_parse.cpp b/components/osjson/host_test/main/test_parse.cpp index ddcc6743..4ee4a3ea 100644 --- a/components/osjson/host_test/main/test_parse.cpp +++ b/components/osjson/host_test/main/test_parse.cpp @@ -33,7 +33,7 @@ TEST_CASE("parse: malformed documents are rejected", "[osjson][parse]") TEST_ASSERT_FALSE(doc.parse("[")); TEST_ASSERT_FALSE(doc.parse("[1,2")); TEST_ASSERT_FALSE(doc.parse("{\"a\":")); - TEST_ASSERT_FALSE(doc.parse("{\"a\"")); // key with no value + TEST_ASSERT_FALSE(doc.parse("{\"a\"")); // key with no value TEST_ASSERT_FALSE(doc.parse("\"unterminated")); // unterminated string TEST_ASSERT_FALSE(doc.parse("{ not valid json")); } diff --git a/components/osjson/host_test/main/test_stress.cpp b/components/osjson/host_test/main/test_stress.cpp index d360c35e..2097ed27 100644 --- a/components/osjson/host_test/main/test_stress.cpp +++ b/components/osjson/host_test/main/test_stress.cpp @@ -14,7 +14,7 @@ TEST_CASE("stress: large flat array forces the token buffer to grow", "[osjson][ { // 1000 elements -> ~1001 tokens, well past the initial capacity of 32, so the // grow-and-retry path in parse() runs several times. - const int N = 1000; + const int N = 1000; std::string json = "["; for (int i = 0; i < N; ++i) { if (i) json += ','; @@ -40,7 +40,7 @@ TEST_CASE("stress: large flat array forces the token buffer to grow", "[osjson][ TEST_CASE("stress: object with many members, every key resolvable", "[osjson][stress]") { - const int N = 300; + const int N = 300; std::string json = "{"; for (int i = 0; i < N; ++i) { if (i) json += ','; @@ -68,7 +68,7 @@ TEST_CASE("stress: document needing > 16384 tokens is rejected by the cap", "[os { // Array of 20000 numbers => 20001 tokens > cap => parse() bails out to false // rather than growing unboundedly. - const int N = 20000; + const int N = 20000; std::string json = "["; for (int i = 0; i < N; ++i) { if (i) json += ','; @@ -85,7 +85,7 @@ TEST_CASE("stress: just under the cap still parses", "[osjson][stress]") { // 16000 elements -> 16001 tokens, needs capacity 32768? No: capacity doubles // 32,64,...,16384. 16001 <= 16384 so it fits without tripping the cap. - const int N = 16000; + const int N = 16000; std::string json = "["; for (int i = 0; i < N; ++i) { if (i) json += ','; diff --git a/components/util/host_test/CMakeLists.txt b/components/util/host_test/CMakeLists.txt new file mode 100644 index 00000000..509e7a90 --- /dev/null +++ b/components/util/host_test/CMakeLists.txt @@ -0,0 +1,11 @@ +cmake_minimum_required(VERSION 3.16) + +include($ENV{IDF_PATH}/tools/cmake/project.cmake) + +# main compiles util's pure sources directly (see main/CMakeLists.txt), so no +# firmware component needs to be registered. +set(COMPONENTS main) + +list(APPEND EXTRA_COMPONENT_DIRS "$ENV{IDF_PATH}/tools/mocks/freertos/") + +project(util_host_test) diff --git a/components/util/host_test/main/CMakeLists.txt b/components/util/host_test/main/CMakeLists.txt new file mode 100644 index 00000000..f9e4cd78 --- /dev/null +++ b/components/util/host_test/main/CMakeLists.txt @@ -0,0 +1,34 @@ +# Compile util's PURE sources directly (not via the util component) so we avoid +# util's firmware-only transitive deps (logging -> app_update / Arduino). A stub +# Logging.h (stubs/) satisfies the OS_LOG* macros the sources use. +idf_component_register( + SRCS "test_main.cpp" + "test_convert.cpp" + "test_stringutils.cpp" + "test_hexutils.cpp" + "test_digitcounter.cpp" + "test_semver.cpp" + "test_base64.cpp" + "../../src/StringUtils.cpp" + "../../src/Convert.cpp" + "../../src/DigitCounter.cpp" + "../../src/SemVer.cpp" + "../../src/Base64Utils.cpp" + INCLUDE_DIRS "." + "stubs" # stub Logging.h (shadows the firmware one) + "../../include" # util headers (Convert.h, SemVer.h, util/*.h) + "../../../common/include" # StringHelpers.h, Common.h + REQUIRES unity + mbedtls # Base64Utils.cpp -> mbedtls/base64.h + hal # Convert.h -> hal/gpio_types.h + WHOLE_ARCHIVE +) + +# TinyVec.h -> OpenShock.h requires these firmware build-time defines (used as +# string literals). Supply dummies so the pure logic compiles on the host. +target_compile_definitions(${COMPONENT_LIB} PRIVATE + "OPENSHOCK_API_DOMAIN=\"test\"" + "OPENSHOCK_FW_CDN_DOMAIN=\"test\"" + "OPENSHOCK_FW_VERSION=\"0.0.0-test\"" + "OPENSHOCK_FW_USERAGENT=\"host-test\"" +) diff --git a/components/util/host_test/main/stubs/Logging.h b/components/util/host_test/main/stubs/Logging.h new file mode 100644 index 00000000..d88357f9 --- /dev/null +++ b/components/util/host_test/main/stubs/Logging.h @@ -0,0 +1,14 @@ +#pragma once + +// Host-test stub for the firmware Logging.h. The real one pulls in esp_ota_ops +// (app_update) and Arduino's log_printf, neither of which exists on the linux +// host target. util's pure sources only use these macros for diagnostics, so +// no-op them - the logic under test does not depend on logging. +#define OS_LOGV(tag, ...) ((void)0) +#define OS_LOGD(tag, ...) ((void)0) +#define OS_LOGI(tag, ...) ((void)0) +#define OS_LOGW(tag, ...) ((void)0) +#define OS_LOGE(tag, ...) ((void)0) +#define OS_LOGWTF(tag, ...) ((void)0) +#define OS_PANIC(tag, ...) ((void)0) +#define OS_PANIC_OTA(tag, ...) ((void)0) diff --git a/components/util/host_test/main/stubs/Panic.h b/components/util/host_test/main/stubs/Panic.h new file mode 100644 index 00000000..4551ae72 --- /dev/null +++ b/components/util/host_test/main/stubs/Panic.h @@ -0,0 +1,6 @@ +#pragma once +// Host-test stub: the real Panic.h pulls esp_ota_ops/esp_system/freertos. +#include +#define OS_PANIC(tag, ...) ::abort() +#define OS_PANIC_OTA(tag, ...) ::abort() +#define OS_PANIC_INSTANT(tag, ...) ::abort() diff --git a/components/util/host_test/main/test_base64.cpp b/components/util/host_test/main/test_base64.cpp new file mode 100644 index 00000000..0843ab93 --- /dev/null +++ b/components/util/host_test/main/test_base64.cpp @@ -0,0 +1,58 @@ +// Base64Utils encode/decode (mbedtls-backed) - used for auth tokens etc. +#include "unity.h" + +#include "TinyVec.h" +#include "util/Base64Utils.h" + +#include +#include +#include + +using namespace OpenShock; + +TEST_CASE("Base64 encode known vectors", "[util][base64]") +{ + std::string out; + + const uint8_t man[3] = {'M', 'a', 'n'}; + TEST_ASSERT_TRUE(Base64Utils::Encode(std::span(man, 3), out)); + TEST_ASSERT_TRUE(out == "TWFu"); + + // padding cases + const uint8_t m[1] = {'M'}; + TEST_ASSERT_TRUE(Base64Utils::Encode(std::span(m, 1), out)); + TEST_ASSERT_TRUE(out == "TQ=="); + const uint8_t ma[2] = {'M', 'a'}; + TEST_ASSERT_TRUE(Base64Utils::Encode(std::span(ma, 2), out)); + TEST_ASSERT_TRUE(out == "TWE="); +} + +TEST_CASE("Base64 decode known vector", "[util][base64]") +{ + TinyVec out; + TEST_ASSERT_TRUE(Base64Utils::Decode("TWFu", out)); + TEST_ASSERT_EQUAL_size_t(3, out.size()); + TEST_ASSERT_EQUAL_UINT8('M', out[0]); + TEST_ASSERT_EQUAL_UINT8('a', out[1]); + TEST_ASSERT_EQUAL_UINT8('n', out[2]); +} + +TEST_CASE("Base64 decode rejects invalid input", "[util][base64]") +{ + TinyVec out; + TEST_ASSERT_FALSE(Base64Utils::Decode("!!!!", out)); // invalid chars +} + +TEST_CASE("Base64 round-trip", "[util][base64]") +{ + const uint8_t data[5] = {0x00, 0xFF, 0x10, 0x80, 0x7F}; + std::string encoded; + TEST_ASSERT_TRUE(Base64Utils::Encode(std::span(data, 5), encoded)); + + TinyVec decoded; + TEST_ASSERT_TRUE(Base64Utils::Decode(encoded, decoded)); + TEST_ASSERT_EQUAL_size_t(5, decoded.size()); + for (int i = 0; i < 5; ++i) { + TEST_ASSERT_EQUAL_UINT8(data[i], decoded[i]); + } +} diff --git a/components/util/host_test/main/test_convert.cpp b/components/util/host_test/main/test_convert.cpp new file mode 100644 index 00000000..5115ee72 --- /dev/null +++ b/components/util/host_test/main/test_convert.cpp @@ -0,0 +1,77 @@ +// Convert::To* string -> integer/bool parsers (used for serial args, config, +// backend responses). Range enforcement matters: an out-of-range shocker id or +// intensity must be rejected, not truncated. +#include "unity.h" + +#include "Convert.h" + +#include + +using namespace OpenShock; + +TEST_CASE("Convert::ToUint8 range", "[util][convert]") +{ + uint8_t v = 0; + TEST_ASSERT_TRUE(Convert::ToUint8("0", v)); + TEST_ASSERT_EQUAL_UINT8(0, v); + TEST_ASSERT_TRUE(Convert::ToUint8("255", v)); + TEST_ASSERT_EQUAL_UINT8(255, v); + TEST_ASSERT_TRUE(Convert::ToUint8("42", v)); + TEST_ASSERT_EQUAL_UINT8(42, v); + + TEST_ASSERT_FALSE(Convert::ToUint8("256", v)); // overflow + TEST_ASSERT_FALSE(Convert::ToUint8("-1", v)); // negative + TEST_ASSERT_FALSE(Convert::ToUint8("", v)); // empty + TEST_ASSERT_FALSE(Convert::ToUint8("abc", v)); // not a number + TEST_ASSERT_FALSE(Convert::ToUint8("12x", v)); // trailing junk +} + +TEST_CASE("Convert::ToInt8 signed range", "[util][convert]") +{ + int8_t v = 0; + TEST_ASSERT_TRUE(Convert::ToInt8("-128", v)); + TEST_ASSERT_EQUAL_INT8(-128, v); + TEST_ASSERT_TRUE(Convert::ToInt8("127", v)); + TEST_ASSERT_EQUAL_INT8(127, v); + + TEST_ASSERT_FALSE(Convert::ToInt8("128", v)); + TEST_ASSERT_FALSE(Convert::ToInt8("-129", v)); +} + +TEST_CASE("Convert::ToUint16 / ToInt32 boundaries", "[util][convert]") +{ + uint16_t u16 = 0; + TEST_ASSERT_TRUE(Convert::ToUint16("65535", u16)); + TEST_ASSERT_EQUAL_UINT16(65535, u16); + TEST_ASSERT_FALSE(Convert::ToUint16("65536", u16)); + + int32_t i32 = 0; + TEST_ASSERT_TRUE(Convert::ToInt32("-2147483648", i32)); + TEST_ASSERT_EQUAL_INT32(INT32_MIN, i32); + TEST_ASSERT_TRUE(Convert::ToInt32("2147483647", i32)); + TEST_ASSERT_EQUAL_INT32(INT32_MAX, i32); + TEST_ASSERT_FALSE(Convert::ToInt32("2147483648", i32)); +} + +TEST_CASE("Convert::ToUint64 large values", "[util][convert]") +{ + uint64_t v = 0; + TEST_ASSERT_TRUE(Convert::ToUint64("18446744073709551615", v)); // UINT64_MAX + TEST_ASSERT_EQUAL_UINT64(UINT64_MAX, v); + TEST_ASSERT_FALSE(Convert::ToUint64("18446744073709551616", v)); // overflow +} + +TEST_CASE("Convert::ToBool", "[util][convert]") +{ + bool b = false; + TEST_ASSERT_TRUE(Convert::ToBool("true", b)); + TEST_ASSERT_TRUE(b); + TEST_ASSERT_TRUE(Convert::ToBool("false", b)); + TEST_ASSERT_FALSE(b); + TEST_ASSERT_TRUE(Convert::ToBool("TRUE", b)); // case-insensitive + TEST_ASSERT_TRUE(b); + + TEST_ASSERT_FALSE(Convert::ToBool("yes", b)); + TEST_ASSERT_FALSE(Convert::ToBool("1", b)); + TEST_ASSERT_FALSE(Convert::ToBool("", b)); +} diff --git a/components/util/host_test/main/test_digitcounter.cpp b/components/util/host_test/main/test_digitcounter.cpp new file mode 100644 index 00000000..1635aaa0 --- /dev/null +++ b/components/util/host_test/main/test_digitcounter.cpp @@ -0,0 +1,27 @@ +// Util::Digits10Count - base-10 digit count (incl. sign) used to size buffers. +#include "unity.h" + +#include "util/DigitCounter.h" + +#include + +using namespace OpenShock; + +TEST_CASE("Digits10Count unsigned", "[util][digits]") +{ + TEST_ASSERT_EQUAL_size_t(1, Util::Digits10Count(0)); + TEST_ASSERT_EQUAL_size_t(1, Util::Digits10Count(9)); + TEST_ASSERT_EQUAL_size_t(2, Util::Digits10Count(10)); + TEST_ASSERT_EQUAL_size_t(3, Util::Digits10Count(999)); + TEST_ASSERT_EQUAL_size_t(4, Util::Digits10Count(1000)); + TEST_ASSERT_EQUAL_size_t(20, Util::Digits10Count(UINT64_MAX)); +} + +TEST_CASE("Digits10Count signed counts the sign", "[util][digits]") +{ + TEST_ASSERT_EQUAL_size_t(1, Util::Digits10Count(0)); + TEST_ASSERT_EQUAL_size_t(1, Util::Digits10Count(7)); + TEST_ASSERT_EQUAL_size_t(2, Util::Digits10Count(-1)); // '-' + '1' + TEST_ASSERT_EQUAL_size_t(4, Util::Digits10Count(-123)); + TEST_ASSERT_EQUAL_size_t(11, Util::Digits10Count(INT32_MIN)); // -2147483648 +} diff --git a/components/util/host_test/main/test_hexutils.cpp b/components/util/host_test/main/test_hexutils.cpp new file mode 100644 index 00000000..0c0308a6 --- /dev/null +++ b/components/util/host_test/main/test_hexutils.cpp @@ -0,0 +1,67 @@ +// HexUtils: byte<->hex conversions used for BSSID, partition hashes, etc. +#include "unity.h" + +#include "util/HexUtils.h" + +#include +#include +#include + +using namespace OpenShock; + +TEST_CASE("ToHex single byte, upper and lower", "[util][hex]") +{ + char buf[3] = {0}; + HexUtils::ToHex(0xAB, buf); + TEST_ASSERT_EQUAL_STRING("AB", buf); + HexUtils::ToHex(0x0F, buf); + TEST_ASSERT_EQUAL_STRING("0F", buf); + HexUtils::ToHex(0xAB, buf, false); // lower + TEST_ASSERT_EQUAL_STRING("ab", buf); + HexUtils::ToHex(0x00, buf); + TEST_ASSERT_EQUAL_STRING("00", buf); +} + +TEST_CASE("ToHex array -> array", "[util][hex]") +{ + const uint8_t mac[6] = {0xDE, 0xAD, 0xBE, 0xEF, 0x01, 0x23}; + auto out = HexUtils::ToHex<6>(mac); + TEST_ASSERT_EQUAL_STRING("DEADBEEF0123", out.data()); +} + +TEST_CASE("TryParseHex round-trips", "[util][hex]") +{ + uint8_t out[3] = {0}; + TEST_ASSERT_EQUAL_size_t(3, HexUtils::TryParseHex("aBcDeF", 6, out, 3)); + TEST_ASSERT_EQUAL_HEX8(0xAB, out[0]); + TEST_ASSERT_EQUAL_HEX8(0xCD, out[1]); + TEST_ASSERT_EQUAL_HEX8(0xEF, out[2]); + + // odd length / bad chars / small buffer -> 0 + TEST_ASSERT_EQUAL_size_t(0, HexUtils::TryParseHex("ABC", 3, out, 3)); // odd + TEST_ASSERT_EQUAL_size_t(0, HexUtils::TryParseHex("ABGH", 4, out, 3)); // non-hex + TEST_ASSERT_EQUAL_size_t(0, HexUtils::TryParseHex("ABCDEF", 6, out, 2)); // buffer too small +} + +TEST_CASE("TryParseHexPair", "[util][hex]") +{ + uint8_t v = 0; + TEST_ASSERT_TRUE(HexUtils::TryParseHexPair('A', 'b', v)); + TEST_ASSERT_EQUAL_HEX8(0xAB, v); + TEST_ASSERT_TRUE(HexUtils::TryParseHexPair('0', '0', v)); + TEST_ASSERT_EQUAL_HEX8(0x00, v); + TEST_ASSERT_FALSE(HexUtils::TryParseHexPair('G', '0', v)); // invalid high nibble + TEST_ASSERT_FALSE(HexUtils::TryParseHexPair('0', 'Z', v)); // invalid low nibble +} + +TEST_CASE("TryParseHexMac", "[util][hex]") +{ + uint8_t out[6] = {0}; + const char* mac = "DE:AD:BE:EF:01:23"; + TEST_ASSERT_EQUAL_size_t(6, HexUtils::TryParseHexMac(mac, std::strlen(mac), out, 6)); + TEST_ASSERT_EQUAL_HEX8(0xDE, out[0]); + TEST_ASSERT_EQUAL_HEX8(0x23, out[5]); + + const char* bad = "DE-AD-BE"; // wrong separator + TEST_ASSERT_EQUAL_size_t(0, HexUtils::TryParseHexMac(bad, std::strlen(bad), out, 6)); +} diff --git a/components/util/host_test/main/test_main.cpp b/components/util/host_test/main/test_main.cpp new file mode 100644 index 00000000..f5221be9 --- /dev/null +++ b/components/util/host_test/main/test_main.cpp @@ -0,0 +1,10 @@ +// Host-only (linux target) test binary for util's pure logic. FreeRTOS is +// mocked, so there is no ESP startup - drive Unity directly. +#include "unity.h" + +extern "C" int main(void) +{ + UNITY_BEGIN(); + unity_run_all_tests(); + return UNITY_END(); +} diff --git a/components/util/host_test/main/test_semver.cpp b/components/util/host_test/main/test_semver.cpp new file mode 100644 index 00000000..ccd2f88d --- /dev/null +++ b/components/util/host_test/main/test_semver.cpp @@ -0,0 +1,104 @@ +// SemVer parsing + ordering - used for OTA/firmware version comparisons. +#include "unity.h" + +#include "SemVer.h" + +#include + +using namespace OpenShock; + +TEST_CASE("TryParseSemVer basic", "[util][semver]") +{ + SemVer v; + TEST_ASSERT_TRUE(TryParseSemVer("1.2.3", v)); + TEST_ASSERT_EQUAL_UINT16(1, v.major); + TEST_ASSERT_EQUAL_UINT16(2, v.minor); + TEST_ASSERT_EQUAL_UINT16(3, v.patch); + TEST_ASSERT_TRUE(v.prerelease.empty()); + TEST_ASSERT_TRUE(v.build.empty()); + TEST_ASSERT_TRUE(v.isValid()); +} + +TEST_CASE("TryParseSemVer with dotted prerelease and build", "[util][semver]") +{ + // OpenShock's own RC tag format, e.g. 1.6.0-rc.1 / 1.5.0-rc.7. + SemVer v; + TEST_ASSERT_TRUE(TryParseSemVer("1.5.0-rc.7+build.9", v)); + TEST_ASSERT_EQUAL_UINT16(1, v.major); + TEST_ASSERT_EQUAL_UINT16(5, v.minor); + TEST_ASSERT_EQUAL_UINT16(0, v.patch); + TEST_ASSERT_TRUE(v.prerelease == "rc.7"); + TEST_ASSERT_TRUE(v.build == "build.9"); +} + +TEST_CASE("TryParseSemVer rejects malformed", "[util][semver]") +{ + SemVer v; + TEST_ASSERT_FALSE(TryParseSemVer("1.2", v)); + TEST_ASSERT_FALSE(TryParseSemVer("", v)); + TEST_ASSERT_FALSE(TryParseSemVer("abc", v)); + TEST_ASSERT_FALSE(TryParseSemVer("1.2.x", v)); + TEST_ASSERT_FALSE(TryParseSemVer("1.2.3.4", v)); // core has too many parts +} + +TEST_CASE("SemVer ordering: core precedence", "[util][semver]") +{ + SemVer a, b; + TEST_ASSERT_TRUE(TryParseSemVer("1.2.3", a)); + TEST_ASSERT_TRUE(TryParseSemVer("1.2.4", b)); + TEST_ASSERT_TRUE(a < b); + TEST_ASSERT_TRUE(b > a); + TEST_ASSERT_TRUE(a != b); + + SemVer major1, major2; + TEST_ASSERT_TRUE(TryParseSemVer("2.0.0", major2)); + TEST_ASSERT_TRUE(TryParseSemVer("1.99.99", major1)); + TEST_ASSERT_TRUE(major1 < major2); +} + +TEST_CASE("SemVer ordering: a prerelease is below its release", "[util][semver]") +{ + SemVer rel, pre; + TEST_ASSERT_TRUE(TryParseSemVer("1.0.0", rel)); + TEST_ASSERT_TRUE(TryParseSemVer("1.0.0-rc1", pre)); + TEST_ASSERT_TRUE(pre < rel); + TEST_ASSERT_TRUE(rel > pre); +} + +TEST_CASE("SemVer ordering: dotted RCs sort numerically", "[util][semver]") +{ + // The bug this replaces: 1.5.0-rc.6 and 1.5.0-rc.7 used to parse equal. + SemVer rc6, rc7; + TEST_ASSERT_TRUE(TryParseSemVer("1.5.0-rc.6", rc6)); + TEST_ASSERT_TRUE(TryParseSemVer("1.5.0-rc.7", rc7)); + TEST_ASSERT_TRUE(rc6 < rc7); + TEST_ASSERT_TRUE(rc6 != rc7); + + // numeric identifiers rank below alphanumeric (rc.9 < rc.beta) + SemVer rc9, rcbeta; + TEST_ASSERT_TRUE(TryParseSemVer("1.0.0-rc.9", rc9)); + TEST_ASSERT_TRUE(TryParseSemVer("1.0.0-rc.beta", rcbeta)); + TEST_ASSERT_TRUE(rc9 < rcbeta); + + // more identifiers outrank fewer when the prefix is equal (rc < rc.1) + SemVer rc, rc1; + TEST_ASSERT_TRUE(TryParseSemVer("1.0.0-rc", rc)); + TEST_ASSERT_TRUE(TryParseSemVer("1.0.0-rc.1", rc1)); + TEST_ASSERT_TRUE(rc < rc1); +} + +TEST_CASE("SemVer: build metadata is ignored for precedence", "[util][semver]") +{ + SemVer a, b; + TEST_ASSERT_TRUE(TryParseSemVer("1.0.0+build1", a)); + TEST_ASSERT_TRUE(TryParseSemVer("1.0.0+build2", b)); + TEST_ASSERT_FALSE(a < b); + TEST_ASSERT_FALSE(b < a); +} + +TEST_CASE("SemVer toString round-trips with dots", "[util][semver]") +{ + SemVer v; + TEST_ASSERT_TRUE(TryParseSemVer("3.1.4-beta.2+build.9", v)); + TEST_ASSERT_TRUE(v.toString() == "3.1.4-beta.2+build.9"); +} diff --git a/components/util/host_test/main/test_stringutils.cpp b/components/util/host_test/main/test_stringutils.cpp new file mode 100644 index 00000000..d2139ecd --- /dev/null +++ b/components/util/host_test/main/test_stringutils.cpp @@ -0,0 +1,80 @@ +// StringUtils: trimming, prefix/suffix, splitting. All std::string_view based. +#include "unity.h" + +#include "util/StringUtils.h" + +#include +#include + +using namespace OpenShock; + +TEST_CASE("StringTrim variants", "[util][string]") +{ + TEST_ASSERT_TRUE(StringTrim(" hi ") == "hi"); + TEST_ASSERT_TRUE(StringTrimLeft(" hi ") == "hi "); + TEST_ASSERT_TRUE(StringTrimRight(" hi ") == " hi"); + TEST_ASSERT_TRUE(StringTrim("") == ""); + TEST_ASSERT_TRUE(StringTrim(" ") == ""); + TEST_ASSERT_TRUE(StringTrim("nospace") == "nospace"); + TEST_ASSERT_TRUE(StringTrim("\t\n x \r\n") == "x"); +} + +TEST_CASE("StringHasPrefix / HasSuffix", "[util][string]") +{ + TEST_ASSERT_TRUE(StringHasPrefix("hello", 'h')); + TEST_ASSERT_FALSE(StringHasPrefix("hello", 'x')); + TEST_ASSERT_TRUE(StringHasPrefix("hello", std::string_view("hel"))); + TEST_ASSERT_FALSE(StringHasPrefix("hello", std::string_view("world"))); + TEST_ASSERT_FALSE(StringHasPrefix("hi", std::string_view("hello"))); // longer than view +} + +TEST_CASE("StringSplitByFirst / ByLast", "[util][string]") +{ + auto [a, b] = StringSplitByFirst("key=value=extra", '='); + TEST_ASSERT_TRUE(a == "key"); + TEST_ASSERT_TRUE(b == "value=extra"); + + auto [c, d] = StringSplitByLast("a.b.c", '.'); + TEST_ASSERT_TRUE(c == "a.b"); + TEST_ASSERT_TRUE(d == "c"); + + // no delimiter -> first half is the whole string + auto [e, f] = StringSplitByFirst("nodelim", '='); + TEST_ASSERT_TRUE(e == "nodelim"); +} + +TEST_CASE("TryStringSplit into a fixed array", "[util][string]") +{ + std::string_view parts[4]; + TEST_ASSERT_TRUE(TryStringSplit("192.168.0.1", '.', parts)); + TEST_ASSERT_TRUE(parts[0] == "192"); + TEST_ASSERT_TRUE(parts[1] == "168"); + TEST_ASSERT_TRUE(parts[2] == "0"); + TEST_ASSERT_TRUE(parts[3] == "1"); + + std::string_view three[4]; + TEST_ASSERT_FALSE(TryStringSplit("1.2.3", '.', three)); // too few -> false + + // "too many": the last slot keeps the whole remainder (nothing dropped), so a + // caller like IPAddressUtils then rejects it via Convert::ToUint8("4.5"). + std::string_view five[4]; + TEST_ASSERT_TRUE(TryStringSplit("1.2.3.4.5", '.', five)); + TEST_ASSERT_TRUE(five[3] == "4.5"); +} + +TEST_CASE("StringSplit into a vector", "[util][string]") +{ + auto v = StringSplit("a,b,,c", ','); + TEST_ASSERT_EQUAL_size_t(4, v.size()); + TEST_ASSERT_TRUE(v[0] == "a"); + TEST_ASSERT_TRUE(v[2] == ""); // empty field preserved + TEST_ASSERT_TRUE(v[3] == "c"); +} + +TEST_CASE("StringIContains / StringHasPrefixIC", "[util][string]") +{ + TEST_ASSERT_TRUE(StringIContains("Hello World", "LO WO")); + TEST_ASSERT_FALSE(StringIContains("Hello", "xyz")); + TEST_ASSERT_TRUE(StringHasPrefixIC("HELLO", "hel")); + TEST_ASSERT_FALSE(StringHasPrefixIC("hello", "world")); +} diff --git a/components/util/host_test/sdkconfig.defaults b/components/util/host_test/sdkconfig.defaults new file mode 100644 index 00000000..c3d7cf2c --- /dev/null +++ b/components/util/host_test/sdkconfig.defaults @@ -0,0 +1,4 @@ +CONFIG_IDF_TARGET="linux" +CONFIG_IDF_TARGET_LINUX=y +CONFIG_COMPILER_CXX_EXCEPTIONS=y +CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER=y From aa95fd6903f2735a438753571bb63f09794cbb16 Mon Sep 17 00:00:00 2001 From: HeavenVR Date: Thu, 9 Jul 2026 13:29:21 +0200 Subject: [PATCH 32/91] style: clang-format 21 across the project; drop moved util sources Apply clang-format (v21, matching CI) project-wide, and remove the util IPAddressUtils/PartitionUtils sources that moved to the hwutil component. --- .../common/src/ArduinoExistanceCheck.cpp | 2 +- .../common/src/LanguageVersionCheck.cpp | 2 +- components/osjson/src/Json.cpp | 4 +- .../protocols/include/radio/rmt/Sequence.h | 2 +- components/util/include/util/IPAddressUtils.h | 9 -- components/util/include/util/PartitionUtils.h | 12 -- components/util/src/IPAddressUtils.cpp | 27 ----- components/util/src/ParitionUtils.cpp | 111 ------------------ components/util/src/RateLimiter.cpp | 2 +- include/GatewayClient.h | 2 +- include/WebSocketDeFragger.h | 2 +- include/captiveportal/CaptivePortalInstance.h | 2 +- include/config/WiFiCredentials.h | 4 +- include/radio/RFTransmitter.h | 2 +- include/serial/SerialInputHandler.h | 4 +- src/CommandHandler.cpp | 4 +- src/EStopManager.cpp | 2 +- src/GatewayClient.cpp | 4 +- src/captiveportal/Manager.cpp | 10 +- src/config/EStopConfig.cpp | 2 +- src/config/OtaUpdateConfig.cpp | 14 ++- src/config/RFConfig.cpp | 2 +- src/message_handlers/ShockerCommandList.cpp | 2 +- src/radio/RFTransmitter.cpp | 2 +- src/serial/command_handlers/networks.cpp | 2 +- src/serial/command_handlers/rftransmit.cpp | 2 +- src/serial/command_handlers/sysinfo.cpp | 2 +- src/serialization/WSGateway.cpp | 2 +- src/visual/VisualStateManager.cpp | 6 +- src/wifi/WiFiManager.cpp | 2 +- 30 files changed, 49 insertions(+), 196 deletions(-) delete mode 100644 components/util/include/util/IPAddressUtils.h delete mode 100644 components/util/include/util/PartitionUtils.h delete mode 100644 components/util/src/IPAddressUtils.cpp delete mode 100644 components/util/src/ParitionUtils.cpp diff --git a/components/common/src/ArduinoExistanceCheck.cpp b/components/common/src/ArduinoExistanceCheck.cpp index d0f769b1..775e391b 100644 --- a/components/common/src/ArduinoExistanceCheck.cpp +++ b/components/common/src/ArduinoExistanceCheck.cpp @@ -2,4 +2,4 @@ #if defined(__has_include) && !__has_include("Arduino.h") #warning \ "Let it be known that Arduino hath finally been cast aside in favor of the noble ESP-IDF! I beseech thee, kind sir or madam, wouldst thou kindly partake in the honors of expunging 'arduino-esp32' from yonder useragent aloft, and in its stead, bestow the illustrious 'ESP-IDF'?" -#endif \ No newline at end of file +#endif diff --git a/components/common/src/LanguageVersionCheck.cpp b/components/common/src/LanguageVersionCheck.cpp index 49214a8a..7555e5a4 100644 --- a/components/common/src/LanguageVersionCheck.cpp +++ b/components/common/src/LanguageVersionCheck.cpp @@ -14,4 +14,4 @@ #error "Pre-C++98 compiler detected, OpenShock requires a C++23 compliant compiler" #else #error "Unknown C++ standard detected, OpenShock requires a C++23 compliant compiler" -#endif \ No newline at end of file +#endif diff --git a/components/osjson/src/Json.cpp b/components/osjson/src/Json.cpp index fc2a1708..6dc71e9c 100644 --- a/components/osjson/src/Json.cpp +++ b/components/osjson/src/Json.cpp @@ -187,8 +187,8 @@ bool JSON::JsonView::tryGetDouble(double& out) const noexcept std::memcpy(buf, s.data(), s.size()); buf[s.size()] = '\0'; - char* end = nullptr; - double value = std::strtod(buf, &end); + char* end = nullptr; + double value = std::strtod(buf, &end); if (end != buf + s.size()) { return false; } diff --git a/components/protocols/include/radio/rmt/Sequence.h b/components/protocols/include/radio/rmt/Sequence.h index dcf256b1..7a4bc1d2 100644 --- a/components/protocols/include/radio/rmt/Sequence.h +++ b/components/protocols/include/radio/rmt/Sequence.h @@ -1,8 +1,8 @@ #pragma once -#include "OpenShock.h" #include "enums/ShockerCommandType.h" #include "enums/ShockerModelType.h" +#include "OpenShock.h" #include diff --git a/components/util/include/util/IPAddressUtils.h b/components/util/include/util/IPAddressUtils.h deleted file mode 100644 index d9cfe9c9..00000000 --- a/components/util/include/util/IPAddressUtils.h +++ /dev/null @@ -1,9 +0,0 @@ -#pragma once - -#include - -#include - -namespace OpenShock { - bool IPV4AddressFromStringView(IPAddress& ip, std::string_view sv); -} diff --git a/components/util/include/util/PartitionUtils.h b/components/util/include/util/PartitionUtils.h deleted file mode 100644 index 22669020..00000000 --- a/components/util/include/util/PartitionUtils.h +++ /dev/null @@ -1,12 +0,0 @@ -#pragma once - -#include - -#include -#include -#include - -namespace OpenShock { - bool TryGetPartitionHash(const esp_partition_t* partition, char (&hash)[65]); - bool FlashPartitionFromUrl(const esp_partition_t* partition, std::string_view remoteUrl, const uint8_t (&remoteHash)[32], std::function progressCallback = nullptr); -} diff --git a/components/util/src/IPAddressUtils.cpp b/components/util/src/IPAddressUtils.cpp deleted file mode 100644 index 50b9010d..00000000 --- a/components/util/src/IPAddressUtils.cpp +++ /dev/null @@ -1,27 +0,0 @@ -#include "util/IPAddressUtils.h" - -#include "Convert.h" -#include "util/StringUtils.h" - -const char* const TAG = "Util::IPAddressUtils"; - -bool OpenShock::IPV4AddressFromStringView(IPAddress& ip, std::string_view sv) -{ - if (sv.empty()) { - return false; - } - - std::string_view parts[4]; - if (!OpenShock::TryStringSplit(sv, '.', parts)) { - return false; // Must have 4 octets - } - - std::uint8_t octets[4]; - if (!Convert::ToUint8(parts[0], octets[0]) || !Convert::ToUint8(parts[1], octets[1]) || !Convert::ToUint8(parts[2], octets[2]) || !Convert::ToUint8(parts[3], octets[3])) { - return false; - } - - ip = IPAddress(octets); - - return true; -} diff --git a/components/util/src/ParitionUtils.cpp b/components/util/src/ParitionUtils.cpp deleted file mode 100644 index eede3572..00000000 --- a/components/util/src/ParitionUtils.cpp +++ /dev/null @@ -1,111 +0,0 @@ -#include "util/PartitionUtils.h" - -const char* const TAG = "PartitionUtils"; - -#include "Core.h" -#include "Hashing.h" -#include "http/HTTPRequestManager.h" -#include "Logging.h" -#include "util/HexUtils.h" - -bool OpenShock::TryGetPartitionHash(const esp_partition_t* partition, char (&hash)[65]) -{ - uint8_t buffer[32]; - esp_err_t err = esp_partition_get_sha256(partition, buffer); - if (err != ESP_OK) { - OS_LOGE(TAG, "Failed to get partition hash: %s", esp_err_to_name(err)); - return false; - } - - // Copy the hash to the output buffer - HexUtils::ToHex<32>(buffer, hash, false); - - return true; -} - -bool OpenShock::FlashPartitionFromUrl(const esp_partition_t* partition, std::string_view remoteUrl, const uint8_t (&remoteHash)[32], std::function progressCallback) -{ - OpenShock::SHA256 sha256; - if (!sha256.begin()) { - OS_LOGE(TAG, "Failed to initialize SHA256 hash"); - return false; - } - - std::size_t contentLength = 0; - std::size_t contentWritten = 0; - int64_t lastProgress = 0; - - auto sizeValidator = [partition, &contentLength, progressCallback, &lastProgress](std::size_t size) -> bool { - if (size > partition->size) { - OS_LOGE(TAG, "Remote partition binary is too large"); - return false; - } - - // Erase app partition. - if (esp_partition_erase_range(partition, 0, partition->size) != ESP_OK) { - OS_LOGE(TAG, "Failed to erase partition in preparation for update"); - return false; - } - - contentLength = size; - - lastProgress = OpenShock::millis(); - progressCallback(0, contentLength, 0.0f); - - return true; - }; - auto dataWriter = [partition, &sha256, &contentLength, &contentWritten, progressCallback, &lastProgress](std::size_t offset, const uint8_t* data, std::size_t length) -> bool { - if (esp_partition_write(partition, offset, data, length) != ESP_OK) { - OS_LOGE(TAG, "Failed to write to partition"); - return false; - } - - if (!sha256.update(data, length)) { - OS_LOGE(TAG, "Failed to update SHA256 hash"); - return false; - } - - contentWritten += length; - - int64_t now = OpenShock::millis(); - if (now - lastProgress >= 500) { // Send progress every 500ms - lastProgress = now; - progressCallback(contentWritten, contentLength, static_cast(contentWritten) / static_cast(contentLength)); - } - - return true; - }; - - // Start streaming binary to app partition. - auto appBinaryResponse = OpenShock::HTTP::Download( - remoteUrl, - { - {"Accept", "application/octet-stream"} - }, - sizeValidator, - dataWriter, - std::array {200, 304}, - 180'000 - ); // 3 minutes - if (appBinaryResponse.result != OpenShock::HTTP::RequestResult::Success) { - OS_LOGE(TAG, "Failed to download remote partition binary: [%u]", appBinaryResponse.code); - return false; - } - - progressCallback(contentLength, contentLength, 1.0f); - OS_LOGD(TAG, "Wrote %u bytes to partition", appBinaryResponse.data); - - std::array localHash; - if (!sha256.finish(localHash)) { - OS_LOGE(TAG, "Failed to finish SHA256 hash"); - return false; - } - - // Compare hashes. - if (memcmp(localHash.data(), remoteHash, 32) != 0) { - OS_LOGE(TAG, "App binary hash mismatch"); - return false; - } - - return true; -} diff --git a/components/util/src/RateLimiter.cpp b/components/util/src/RateLimiter.cpp index 594fd97d..c5fd7fce 100644 --- a/components/util/src/RateLimiter.cpp +++ b/components/util/src/RateLimiter.cpp @@ -2,7 +2,7 @@ #include "RateLimiter.h" -#include "Core.h" +#include "Temporal.h" #include diff --git a/include/GatewayClient.h b/include/GatewayClient.h index 00ba170e..ef0e7169 100644 --- a/include/GatewayClient.h +++ b/include/GatewayClient.h @@ -1,7 +1,7 @@ #pragma once -#include "OpenShock.h" #include "enums/GatewayClientState.h" +#include "OpenShock.h" #include diff --git a/include/WebSocketDeFragger.h b/include/WebSocketDeFragger.h index 8e248410..d1cc99ee 100644 --- a/include/WebSocketDeFragger.h +++ b/include/WebSocketDeFragger.h @@ -1,8 +1,8 @@ #pragma once +#include "enums/WebSocketMessageType.h" #include "OpenShock.h" #include "TinyVec.h" -#include "enums/WebSocketMessageType.h" #include diff --git a/include/captiveportal/CaptivePortalInstance.h b/include/captiveportal/CaptivePortalInstance.h index 056197b2..4bf2e23e 100644 --- a/include/captiveportal/CaptivePortalInstance.h +++ b/include/captiveportal/CaptivePortalInstance.h @@ -1,8 +1,8 @@ #pragma once #include "OpenShock.h" -#include #include "WebSocketDeFragger.h" +#include #include #include diff --git a/include/config/WiFiCredentials.h b/include/config/WiFiCredentials.h index a6ba8bc3..e2ff0ddb 100644 --- a/include/config/WiFiCredentials.h +++ b/include/config/WiFiCredentials.h @@ -18,8 +18,8 @@ namespace OpenShock::Config { uint8_t id; std::string ssid; std::string password; - wifi_auth_mode_t authMode; // Auth mode when saved, WIFI_AUTH_MAX = unknown - std::array bssid; // Pinned BSSID, all zeros = no pin + wifi_auth_mode_t authMode; // Auth mode when saved, WIFI_AUTH_MAX = unknown + std::array bssid; // Pinned BSSID, all zeros = no pin bool HasPinnedBSSID() const; diff --git a/include/radio/RFTransmitter.h b/include/radio/RFTransmitter.h index fc88d653..00dde739 100644 --- a/include/radio/RFTransmitter.h +++ b/include/radio/RFTransmitter.h @@ -1,8 +1,8 @@ #pragma once -#include "OpenShock.h" #include "enums/ShockerCommandType.h" #include "enums/ShockerModelType.h" +#include "OpenShock.h" #include #include diff --git a/include/serial/SerialInputHandler.h b/include/serial/SerialInputHandler.h index 4089cdf2..334a604f 100644 --- a/include/serial/SerialInputHandler.h +++ b/include/serial/SerialInputHandler.h @@ -9,8 +9,8 @@ // and UART0 remains available as Serial0. When CDC is off boot, `Serial` is UART0 and // no USB CDC global is instantiated. #if ARDUINO_USB_CDC_ON_BOOT -#define OS_SERIAL ::Serial0 -#define OS_SERIAL_USB ::Serial // expands to HWCDCSerial or USBSerial +#define OS_SERIAL ::Serial0 +#define OS_SERIAL_USB ::Serial // expands to HWCDCSerial or USBSerial #define OS_HAS_USB_SERIAL 1 #else #define OS_SERIAL ::Serial // expands to Serial0 diff --git a/src/CommandHandler.cpp b/src/CommandHandler.cpp index 7d8c035d..94844c0f 100644 --- a/src/CommandHandler.cpp +++ b/src/CommandHandler.cpp @@ -5,15 +5,15 @@ const char* const TAG = "CommandHandler"; #include "Chipset.h" -#include "OpenShock.h" #include "config/Config.h" -#include "Core.h" #include "estop/EStopManager.h" #include "estop/EStopState.h" #include "events/Events.h" #include "Logging.h" +#include "OpenShock.h" #include "radio/RFTransmitter.h" #include "SimpleMutex.h" +#include "Temporal.h" #include "util/TaskUtils.h" #include diff --git a/src/EStopManager.cpp b/src/EStopManager.cpp index 4c1d79d2..35d14c7f 100644 --- a/src/EStopManager.cpp +++ b/src/EStopManager.cpp @@ -6,10 +6,10 @@ const char* const TAG = "EStopManager"; #include "Chipset.h" #include "config/Config.h" -#include "Core.h" #include "events/Events.h" #include "Logging.h" #include "SimpleMutex.h" +#include "Temporal.h" #include "util/TaskUtils.h" #include diff --git a/src/GatewayClient.cpp b/src/GatewayClient.cpp index 9c70c313..776bd5c4 100644 --- a/src/GatewayClient.cpp +++ b/src/GatewayClient.cpp @@ -2,14 +2,14 @@ const char* const TAG = "GatewayClient"; -#include "OpenShock.h" #include "config/Config.h" -#include "Core.h" #include "events/Events.h" #include "Logging.h" #include "message_handlers/WebSocket.h" +#include "OpenShock.h" #include "OtaUpdateManager.h" #include "serialization/WSGateway.h" +#include "Temporal.h" #include "visual/VisualStateManager.h" using namespace OpenShock; diff --git a/src/captiveportal/Manager.cpp b/src/captiveportal/Manager.cpp index 3f4ba7f2..2e715835 100644 --- a/src/captiveportal/Manager.cpp +++ b/src/captiveportal/Manager.cpp @@ -7,9 +7,9 @@ const char* const TAG = "CaptivePortal"; #include "captiveportal/CaptivePortalInstance.h" #include "CommandHandler.h" #include "config/Config.h" -#include "Core.h" #include "GatewayConnectionManager.h" #include "Logging.h" +#include "Temporal.h" #include #include @@ -32,11 +32,11 @@ static SimpleMutex s_instanceMutex; static std::shared_ptr s_instance = nullptr; // Absolute esp_timer timestamps (microseconds). 0 = not armed. -static std::atomic s_startupGraceExpiry = 0; // Don't open portal until this time passes -static std::atomic s_autoCloseExpiry = 0; // Auto-close AP when no clients connected and device is online +static std::atomic s_startupGraceExpiry = 0; // Don't open portal until this time passes +static std::atomic s_autoCloseExpiry = 0; // Auto-close AP when no clients connected and device is online -static constexpr int64_t STARTUP_GRACE_PERIOD_US = 30LL * 1'000'000; // 30 seconds -static constexpr int64_t AUTO_CLOSE_DELAY_US = 5LL * 60 * 1'000'000; // 5 minutes +static constexpr int64_t STARTUP_GRACE_PERIOD_US = 30LL * 1'000'000; // 30 seconds +static constexpr int64_t AUTO_CLOSE_DELAY_US = 5LL * 60 * 1'000'000; // 5 minutes static bool isDeviceFullyConfigured() { diff --git a/src/config/EStopConfig.cpp b/src/config/EStopConfig.cpp index de467548..af8951ca 100644 --- a/src/config/EStopConfig.cpp +++ b/src/config/EStopConfig.cpp @@ -1,9 +1,9 @@ #include "config/EStopConfig.h" #include "Chipset.h" -#include "OpenShock.h" #include "config/internal/utils.h" #include "Logging.h" +#include "OpenShock.h" const char* const TAG = "Config::EStopConfig"; diff --git a/src/config/OtaUpdateConfig.cpp b/src/config/OtaUpdateConfig.cpp index 6ad31c51..cf4abe07 100644 --- a/src/config/OtaUpdateConfig.cpp +++ b/src/config/OtaUpdateConfig.cpp @@ -76,7 +76,19 @@ bool OtaUpdateConfig::FromFlatbuffers(const Serialization::Configuration::OtaUpd flatbuffers::Offset OtaUpdateConfig::ToFlatbuffers(flatbuffers::FlatBufferBuilder& builder, bool withSensitiveData) const { - return Serialization::Configuration::CreateOtaUpdateConfig(builder, isEnabled, builder.CreateString(cdnDomain), static_cast(updateChannel), checkOnStartup, checkPeriodically, checkInterval, allowBackendManagement, requireManualApproval, updateId, static_cast(updateStep)); + return Serialization::Configuration::CreateOtaUpdateConfig( + builder, + isEnabled, + builder.CreateString(cdnDomain), + static_cast(updateChannel), + checkOnStartup, + checkPeriodically, + checkInterval, + allowBackendManagement, + requireManualApproval, + updateId, + static_cast(updateStep) + ); } bool OtaUpdateConfig::FromJSON(JSON::JsonView json) diff --git a/src/config/RFConfig.cpp b/src/config/RFConfig.cpp index 40f895cc..dfc5e470 100644 --- a/src/config/RFConfig.cpp +++ b/src/config/RFConfig.cpp @@ -2,9 +2,9 @@ const char* const TAG = "Config::RFConfig"; -#include "OpenShock.h" #include "config/internal/utils.h" #include "Logging.h" +#include "OpenShock.h" using namespace OpenShock::Config; diff --git a/src/message_handlers/ShockerCommandList.cpp b/src/message_handlers/ShockerCommandList.cpp index c57adf5e..0183c81e 100644 --- a/src/message_handlers/ShockerCommandList.cpp +++ b/src/message_handlers/ShockerCommandList.cpp @@ -3,8 +3,8 @@ const char* const TAG = "ShockerCommandHandler"; #include "CommandHandler.h" -#include "Logging.h" #include "enums/ShockerModelType.h" +#include "Logging.h" #include diff --git a/src/radio/RFTransmitter.cpp b/src/radio/RFTransmitter.cpp index 8342da60..1bc26906 100644 --- a/src/radio/RFTransmitter.cpp +++ b/src/radio/RFTransmitter.cpp @@ -4,10 +4,10 @@ const char* const TAG = "RFTransmitter"; -#include "Core.h" #include "estop/EStopManager.h" #include "Logging.h" #include "radio/rmt/Sequence.h" +#include "Temporal.h" #include "util/FnProxy.h" #include "util/TaskUtils.h" diff --git a/src/serial/command_handlers/networks.cpp b/src/serial/command_handlers/networks.cpp index 983c7647..a7ed52c3 100644 --- a/src/serial/command_handlers/networks.cpp +++ b/src/serial/command_handlers/networks.cpp @@ -1,8 +1,8 @@ #include "serial/command_handlers/common.h" #include "config/Config.h" -#include "json/Json.h" #include "wifi/WiFiManager.h" +#include "json/Json.h" #include diff --git a/src/serial/command_handlers/rftransmit.cpp b/src/serial/command_handlers/rftransmit.cpp index 29d22959..c41fa6c5 100644 --- a/src/serial/command_handlers/rftransmit.cpp +++ b/src/serial/command_handlers/rftransmit.cpp @@ -1,8 +1,8 @@ #include "serial/command_handlers/common.h" #include "CommandHandler.h" -#include "json/Json.h" #include "serialization/JsonSerial.h" +#include "json/Json.h" static void handleRFTransmitCommand(std::string_view arg, bool isAutomated) { diff --git a/src/serial/command_handlers/sysinfo.cpp b/src/serial/command_handlers/sysinfo.cpp index dcf547f7..985e54b9 100644 --- a/src/serial/command_handlers/sysinfo.cpp +++ b/src/serial/command_handlers/sysinfo.cpp @@ -1,7 +1,7 @@ #include "serial/command_handlers/common.h" -#include "Core.h" #include "FormatHelpers.h" +#include "Temporal.h" #include "wifi/WiFiManager.h" #include "wifi/WiFiNetwork.h" diff --git a/src/serialization/WSGateway.cpp b/src/serialization/WSGateway.cpp index e41c4d7f..f1b275d7 100644 --- a/src/serialization/WSGateway.cpp +++ b/src/serialization/WSGateway.cpp @@ -5,8 +5,8 @@ const char* const TAG = "WSGateway"; #include #include "config/Config.h" -#include "Core.h" #include "Logging.h" +#include "Temporal.h" #ifndef OPENSHOCK_FW_VERSION_MAJOR #define OPENSHOCK_FW_VERSION_MAJOR 0 diff --git a/src/visual/VisualStateManager.cpp b/src/visual/VisualStateManager.cpp index c2161d9a..a50f7022 100644 --- a/src/visual/VisualStateManager.cpp +++ b/src/visual/VisualStateManager.cpp @@ -4,15 +4,15 @@ const char* const TAG = "VisualStateManager"; +#include "enums/GatewayClientState.h" #include "estop/EStopState.h" #include "events/Events.h" -#include "enums/GatewayClientState.h" -#include "Logging.h" #include "led_drivers/MonoLedDriver.h" #include "led_drivers/RgbLedDriver.h" +#include "Logging.h" -#include #include +#include #include #include diff --git a/src/wifi/WiFiManager.cpp b/src/wifi/WiFiManager.cpp index b97071de..f92b3a48 100644 --- a/src/wifi/WiFiManager.cpp +++ b/src/wifi/WiFiManager.cpp @@ -4,10 +4,10 @@ const char* const TAG = "WiFiManager"; #include "captiveportal/Manager.h" #include "config/Config.h" -#include "Core.h" #include "FormatHelpers.h" #include "Logging.h" #include "serialization/WSLocal.h" +#include "Temporal.h" #include "util/TaskUtils.h" #include "visual/VisualStateManager.h" #include "wifi/WiFiNetwork.h" From 842558b91d8e01222f9465a0fe6bae3892c104cc Mon Sep 17 00:00:00 2001 From: HeavenVR Date: Thu, 9 Jul 2026 14:20:53 +0200 Subject: [PATCH 33/91] refactor(serial,logging): route console I/O through IDF, drop Arduino Serial Replace the Arduino-provided serial/logging I/O with ESP-IDF console primitives so these subsystems no longer depend on framework-arduinoespressif32. Logging: - Define openshock_log_printf (Logging.cpp) forwarding to vprintf -> the IDF console (UART0 + any secondary USB channel). OS_LOG* now call this instead of Arduino's log_printf. Named distinctly so both coexist while the framework is still `arduino, espidf`. Serial: - Add SerialConsole: chunked Read(buf,len)->n backed by the UART0 or USB-Serial-JTAG driver (selected by the configured console), plus Init() that installs the driver and makes stdout unbuffered. - SerialInputHandler reads into a staging buffer and carries unconsumed bytes across polls; drop the Arduino dual-channel RX. - TX macros (OS_SERIAL_PRINT/PRINTF/PRINTLN, SERPR_*) now write to stdout, which the IDF console routes to UART0 and any secondary USB channel. - Remove / from the serial path and the Serial.begin() calls in main.cpp; add explicit to sysinfo.cpp. Builds clean on the UART (Wemos-D1-Mini-ESP32) and USB-Serial-JTAG (Seeed-Xiao-ESP32C3) console configs. --- components/logging/CMakeLists.txt | 10 +- components/logging/include/Logging.h | 22 ++-- components/logging/src/Logging.cpp | 17 +++ include/serial/SerialConsole.h | 24 ++++ include/serial/SerialInputHandler.h | 47 ++------ include/serial/command_handlers/common.h | 12 +- src/CMakeLists.txt | 2 +- src/main.cpp | 6 - src/serial/SerialConsole.cpp | 81 +++++++++++++ src/serial/SerialInputHandler.cpp | 139 ++++++----------------- src/serial/command_handlers/sysinfo.cpp | 2 + 11 files changed, 186 insertions(+), 176 deletions(-) create mode 100644 components/logging/src/Logging.cpp create mode 100644 include/serial/SerialConsole.h create mode 100644 src/serial/SerialConsole.cpp diff --git a/components/logging/CMakeLists.txt b/components/logging/CMakeLists.txt index 520748df..34b04589 100644 --- a/components/logging/CMakeLists.txt +++ b/components/logging/CMakeLists.txt @@ -1,12 +1,12 @@ # OpenShock logging macros — OS_LOG*, OS_PANIC*. # -# Split from `common` because it pulls Arduino's esp32-hal-uart.h and -# transitively requires the framework-arduinoespressif32 component. Keeping -# `common` Arduino-clean lets us reach pure IDF faster; merge back once Arduino -# is no longer in the link. log_printf symbol is resolved at final link from -# framework-arduinoespressif32/cores/esp32/esp32-hal-log-wrapper.c. +# Split from `common` so `common` can stay Arduino-clean. openshock_log_printf +# (Logging.cpp) forwards to vprintf -> the IDF console, so logging no longer +# depends on Arduino's esp32-hal-log wrapper. Merge back into `common` once +# Arduino is out of the link entirely. idf_component_register( + SRCS "src/Logging.cpp" INCLUDE_DIRS "include" REQUIRES temporal # Temporal.h -> OpenShock::millis() log # esp_log.h (IDF's own logging) diff --git a/components/logging/include/Logging.h b/components/logging/include/Logging.h index 5896f95b..440b26eb 100644 --- a/components/logging/include/Logging.h +++ b/components/logging/include/Logging.h @@ -4,10 +4,12 @@ #include -// log_printf is provided by Arduino (esp32-hal-uart) on-device; declared here so -// logging carries no Arduino/hardware include and stays host-portable (the host -// test provides its own definition). -extern "C" int log_printf(const char* fmt, ...); +// openshock_log_printf forwards to vprintf (the IDF console: UART0 + any secondary +// USB-Serial-JTAG/CDC output). Defined in Logging.cpp so logging carries no +// Arduino/hardware include and stays host-portable (the host test no-ops the macros). +// Named distinctly from Arduino's log_printf so both can coexist while the +// framework is still `arduino, espidf`. +extern "C" int openshock_log_printf(const char* fmt, ...); template constexpr const char* openshockPathToFileName(const char (&path)[N]) @@ -32,7 +34,7 @@ constexpr const char* openshockPathToFileName(const char (&path)[N]) #define OPENSHOCK_LOG_FORMAT(letter, format) "[%lli][" #letter "][%s:%u] %s(): " format "\r\n", OpenShock::millis(), openshockPathToFileName(__FILE__), __LINE__, __FUNCTION__ #if OPENSHOCK_LOG_LEVEL >= OPENSHOCK_LOG_LEVEL_VERBOSE -#define OS_LOGV(TAG, format, ...) log_printf(OPENSHOCK_LOG_FORMAT(V, "[%s] " format), TAG, ##__VA_ARGS__) +#define OS_LOGV(TAG, format, ...) openshock_log_printf(OPENSHOCK_LOG_FORMAT(V, "[%s] " format), TAG, ##__VA_ARGS__) #else #define OS_LOGV(TAG, format, ...) \ do { \ @@ -40,7 +42,7 @@ constexpr const char* openshockPathToFileName(const char (&path)[N]) #endif #if OPENSHOCK_LOG_LEVEL >= OPENSHOCK_LOG_LEVEL_DEBUG -#define OS_LOGD(TAG, format, ...) log_printf(OPENSHOCK_LOG_FORMAT(D, "[%s] " format), TAG, ##__VA_ARGS__) +#define OS_LOGD(TAG, format, ...) openshock_log_printf(OPENSHOCK_LOG_FORMAT(D, "[%s] " format), TAG, ##__VA_ARGS__) #else #define OS_LOGD(TAG, format, ...) \ do { \ @@ -48,7 +50,7 @@ constexpr const char* openshockPathToFileName(const char (&path)[N]) #endif #if OPENSHOCK_LOG_LEVEL >= OPENSHOCK_LOG_LEVEL_INFO -#define OS_LOGI(TAG, format, ...) log_printf(OPENSHOCK_LOG_FORMAT(I, "[%s] " format), TAG, ##__VA_ARGS__) +#define OS_LOGI(TAG, format, ...) openshock_log_printf(OPENSHOCK_LOG_FORMAT(I, "[%s] " format), TAG, ##__VA_ARGS__) #else #define OS_LOGI(TAG, format, ...) \ do { \ @@ -56,7 +58,7 @@ constexpr const char* openshockPathToFileName(const char (&path)[N]) #endif #if OPENSHOCK_LOG_LEVEL >= OPENSHOCK_LOG_LEVEL_WARN -#define OS_LOGW(TAG, format, ...) log_printf(OPENSHOCK_LOG_FORMAT(W, "[%s] " format), TAG, ##__VA_ARGS__) +#define OS_LOGW(TAG, format, ...) openshock_log_printf(OPENSHOCK_LOG_FORMAT(W, "[%s] " format), TAG, ##__VA_ARGS__) #else #define OS_LOGW(TAG, format, ...) \ do { \ @@ -64,7 +66,7 @@ constexpr const char* openshockPathToFileName(const char (&path)[N]) #endif #if OPENSHOCK_LOG_LEVEL >= OPENSHOCK_LOG_LEVEL_ERROR -#define OS_LOGE(TAG, format, ...) log_printf(OPENSHOCK_LOG_FORMAT(E, "[%s] " format), TAG, ##__VA_ARGS__) +#define OS_LOGE(TAG, format, ...) openshock_log_printf(OPENSHOCK_LOG_FORMAT(E, "[%s] " format), TAG, ##__VA_ARGS__) #else #define OS_LOGE(TAG, format, ...) \ do { \ @@ -72,7 +74,7 @@ constexpr const char* openshockPathToFileName(const char (&path)[N]) #endif #if OPENSHOCK_LOG_LEVEL >= OPENSHOCK_LOG_LEVEL_NONE -#define OS_LOGN(TAG, format, ...) log_printf(OPENSHOCK_LOG_FORMAT(E, "[%s] " format), TAG, ##__VA_ARGS__) +#define OS_LOGN(TAG, format, ...) openshock_log_printf(OPENSHOCK_LOG_FORMAT(E, "[%s] " format), TAG, ##__VA_ARGS__) #else #define OS_LOGN(TAG, format, ...) \ do { \ diff --git a/components/logging/src/Logging.cpp b/components/logging/src/Logging.cpp new file mode 100644 index 00000000..30e09bd1 --- /dev/null +++ b/components/logging/src/Logging.cpp @@ -0,0 +1,17 @@ +#include "Logging.h" + +#include +#include + +// Forwards OpenShock's OS_LOG* output to the IDF console. vprintf writes to +// stdout, which IDF's console driver routes to the primary UART (UART0) and any +// configured secondary channel (USB-Serial-JTAG / USB-CDC). This keeps logging +// free of any Arduino dependency. +extern "C" int openshock_log_printf(const char* fmt, ...) +{ + va_list args; + va_start(args, fmt); + int ret = vprintf(fmt, args); + va_end(args); + return ret; +} diff --git a/include/serial/SerialConsole.h b/include/serial/SerialConsole.h new file mode 100644 index 00000000..ff51c10e --- /dev/null +++ b/include/serial/SerialConsole.h @@ -0,0 +1,24 @@ +#pragma once + +#include +#include + +namespace OpenShock::SerialConsole { + /** + * @brief Installs the console RX driver (UART0 / USB-Serial-JTAG depending on the + * configured console) and switches stdout to unbuffered so interactive + * prompts flush immediately. Idempotent. + * + * @return true on success, false if the driver could not be installed. + */ + [[nodiscard]] bool Init(); + + /** + * @brief Non-blocking read of up to @p len bytes from the console. + * + * @param buffer Destination buffer. + * @param len Maximum number of bytes to read. + * @return Number of bytes read (0 if none available). + */ + int Read(uint8_t* buffer, std::size_t len); +} // namespace OpenShock::SerialConsole diff --git a/include/serial/SerialInputHandler.h b/include/serial/SerialInputHandler.h index 334a604f..b2fff139 100644 --- a/include/serial/SerialInputHandler.h +++ b/include/serial/SerialInputHandler.h @@ -1,43 +1,18 @@ #pragma once -#include - #include +#include -// Arduino-ESP32 3.x only declares the USB CDC global (HWCDCSerial or USBSerial) when -// ARDUINO_USB_CDC_ON_BOOT=1. When CDC is on boot, `Serial` macro-aliases to that global -// and UART0 remains available as Serial0. When CDC is off boot, `Serial` is UART0 and -// no USB CDC global is instantiated. -#if ARDUINO_USB_CDC_ON_BOOT -#define OS_SERIAL ::Serial0 -#define OS_SERIAL_USB ::Serial // expands to HWCDCSerial or USBSerial -#define OS_HAS_USB_SERIAL 1 -#else -#define OS_SERIAL ::Serial // expands to Serial0 -// No USB serial active on boot -#endif - -#if OS_HAS_USB_SERIAL -#define OS_SERIAL_PRINT(...) \ - { \ - OS_SERIAL.print(__VA_ARGS__); \ - OS_SERIAL_USB.print(__VA_ARGS__); \ - } -#define OS_SERIAL_PRINTF(...) \ - { \ - OS_SERIAL.printf(__VA_ARGS__); \ - OS_SERIAL_USB.printf(__VA_ARGS__); \ - } -#define OS_SERIAL_PRINTLN(...) \ - { \ - OS_SERIAL.println(__VA_ARGS__); \ - OS_SERIAL_USB.println(__VA_ARGS__); \ - } -#else -#define OS_SERIAL_PRINT(...) OS_SERIAL.print(__VA_ARGS__) -#define OS_SERIAL_PRINTF(...) OS_SERIAL.printf(__VA_ARGS__) -#define OS_SERIAL_PRINTLN(...) OS_SERIAL.println(__VA_ARGS__) -#endif +// Serial console output. TX is written to stdout, which the IDF console driver +// routes to the primary console (UART0) and any configured secondary channel +// (USB-Serial-JTAG / USB-CDC). RX is handled separately by SerialConsole. +// +// OS_SERIAL_PRINT takes a runtime string (never a format string, so '%' in the +// data is safe); OS_SERIAL_PRINTF takes a literal format + args; OS_SERIAL_PRINTLN +// takes an optional string literal (the "" concatenation appends the CRLF). +#define OS_SERIAL_PRINT(str) std::fputs(str, stdout) +#define OS_SERIAL_PRINTF(...) std::printf(__VA_ARGS__) +#define OS_SERIAL_PRINTLN(...) std::fputs("" __VA_ARGS__ "\r\n", stdout) namespace OpenShock::SerialInputHandler { [[nodiscard]] bool Init(); diff --git a/include/serial/command_handlers/common.h b/include/serial/command_handlers/common.h index e88cd15d..d487ab5d 100644 --- a/include/serial/command_handlers/common.h +++ b/include/serial/command_handlers/common.h @@ -5,17 +5,7 @@ #include "Logging.h" -#include - -#if OS_HAS_USB_SERIAL -#define SERPR_SYS(format, ...) \ - { \ - OS_SERIAL.printf("$SYS$|" format "\r\n", ##__VA_ARGS__); \ - OS_SERIAL_USB.printf("$SYS$|" format "\r\n", ##__VA_ARGS__); \ - } -#else -#define SERPR_SYS(format, ...) OS_SERIAL.printf("$SYS$|" format "\r\n", ##__VA_ARGS__) -#endif +#define SERPR_SYS(format, ...) OS_SERIAL_PRINTF("$SYS$|" format "\r\n", ##__VA_ARGS__) #define SERPR_RESPONSE(format, ...) SERPR_SYS("Response|" format, ##__VA_ARGS__) #define SERPR_SUCCESS(format, ...) SERPR_SYS("Success|" format, ##__VA_ARGS__) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index e607815e..a5d42e0b 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -2,5 +2,5 @@ FILE(GLOB_RECURSE app_sources ${CMAKE_SOURCE_DIR}/src/*.*) idf_component_register( SRCS ${app_sources} - REQUIRES common temporal logging panic concurrency util hwutil http chipset led_drivers protocols osjson + REQUIRES common temporal logging panic concurrency util hwutil http chipset led_drivers protocols osjson esp_driver_uart esp_driver_usb_serial_jtag ) diff --git a/src/main.cpp b/src/main.cpp index d751efc4..5bf00132 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -93,12 +93,6 @@ void appSetup() // Arduino setup function void setup() { - OS_SERIAL.begin(115'200); - -#if OS_HAS_USB_SERIAL - OS_SERIAL_USB.begin(115'200); -#endif - OpenShock::Config::Init(); if (!OpenShock::Events::Init()) { diff --git a/src/serial/SerialConsole.cpp b/src/serial/SerialConsole.cpp new file mode 100644 index 00000000..98859da4 --- /dev/null +++ b/src/serial/SerialConsole.cpp @@ -0,0 +1,81 @@ +#include "serial/SerialConsole.h" + +const char* const TAG = "SerialConsole"; + +#include "Logging.h" + +#include + +#include + +#include + +// Select the RX backend from the configured primary console. TX always goes to +// stdout (the IDF console handles primary + any secondary channel). USB-CDC +// console (native TinyUSB) is not handled here yet; RX is disabled in that case. +#if defined(CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG) +#define OS_CONSOLE_USJ 1 +#include +#include +#elif defined(CONFIG_ESP_CONSOLE_UART) || defined(CONFIG_ESP_CONSOLE_UART_DEFAULT) || defined(CONFIG_ESP_CONSOLE_UART_CUSTOM) +#define OS_CONSOLE_UART 1 +#include +#include +#endif + +using namespace OpenShock; + +static constexpr int k_consoleRxBufferSize = 256; + +static bool s_initialized = false; + +bool SerialConsole::Init() +{ + if (s_initialized) { + return true; + } + +#if defined(OS_CONSOLE_USJ) + usb_serial_jtag_driver_config_t cfg = {.tx_buffer_size = k_consoleRxBufferSize, .rx_buffer_size = k_consoleRxBufferSize}; + + esp_err_t err = usb_serial_jtag_driver_install(&cfg); + if (err != ESP_OK && err != ESP_ERR_INVALID_STATE) { + OS_LOGE(TAG, "Failed to install USB-Serial-JTAG driver: %s", esp_err_to_name(err)); + return false; + } + usb_serial_jtag_vfs_use_driver(); +#elif defined(OS_CONSOLE_UART) + esp_err_t err = uart_driver_install(static_cast(CONFIG_ESP_CONSOLE_UART_NUM), k_consoleRxBufferSize, 0, 0, nullptr, 0); + if (err != ESP_OK && err != ESP_ERR_INVALID_STATE) { + OS_LOGE(TAG, "Failed to install console UART driver: %s", esp_err_to_name(err)); + return false; + } + uart_vfs_dev_use_driver(CONFIG_ESP_CONSOLE_UART_NUM); +#else + OS_LOGW(TAG, "No supported console configured for RX; serial command input is disabled"); +#endif + + // The command handler echoes prompts without trailing newlines, so make stdout + // unbuffered to flush them immediately. + std::setvbuf(stdout, nullptr, _IONBF, 0); + + s_initialized = true; + return true; +} + +int SerialConsole::Read(uint8_t* buffer, std::size_t len) +{ + if (buffer == nullptr || len == 0) { + return 0; + } + +#if defined(OS_CONSOLE_USJ) + int read = usb_serial_jtag_read_bytes(buffer, static_cast(len), 0); +#elif defined(OS_CONSOLE_UART) + int read = uart_read_bytes(static_cast(CONFIG_ESP_CONSOLE_UART_NUM), buffer, static_cast(len), 0); +#else + int read = 0; +#endif + + return read < 0 ? 0 : read; +} diff --git a/src/serial/SerialInputHandler.cpp b/src/serial/SerialInputHandler.cpp index b3ac50f8..f43d20dc 100644 --- a/src/serial/SerialInputHandler.cpp +++ b/src/serial/SerialInputHandler.cpp @@ -14,6 +14,7 @@ const char* const TAG = "SerialInputHandler"; #include "serial/command_handlers/CommandEntry.h" #include "serial/command_handlers/common.h" #include "serial/command_handlers/index.h" +#include "serial/SerialConsole.h" #include "serialization/JsonAPI.h" #include "serialization/JsonSerial.h" #include "Temporal.h" @@ -22,10 +23,6 @@ const char* const TAG = "SerialInputHandler"; #include "util/TaskUtils.h" #include "wifi/WiFiManager.h" -#include - -#include - #include #include #include @@ -372,82 +369,35 @@ enum class SerialReadResult { AutoCompleteRequest, }; -static SerialReadResult tryReadSerialLine(SerialBuffer& buffer) -{ - // Check if there's any data available - int available = OS_SERIAL.available(); - if (available <= 0) { - return SerialReadResult::NoData; - } - - // Reserve space for the new data - buffer.reserve(buffer.size() + available); - - // Read the data into the buffer - while (available-- > 0) { - char c = OS_SERIAL.read(); - - // Handle backspace - if (c == '\b') { - buffer.pop_back(); // Remove the last character from the buffer if it exists - continue; - } +// Staging buffer: the console is read in chunks (SerialConsole::Read returns the +// number of bytes read), but the parser consumes one byte at a time. Bytes left +// over after an early return (line end / autocomplete) are carried across polls. +static uint8_t s_rxStaging[128]; +static std::size_t s_rxStagingHead = 0; +static std::size_t s_rxStagingLen = 0; - // Handle newline - if (c == '\r' || c == '\n') { - if (!buffer.empty()) { - return SerialReadResult::LineEnd; - } - continue; - } - - // Handle leading whitespace - if (c == ' ' && buffer.empty()) { - continue; - } - - if (c == '\t') { - return SerialReadResult::AutoCompleteRequest; - } - - // If character is printable, add it to the buffer - if (c > 31 && c < 127) { - buffer.push_back(c); - } - } - - return SerialReadResult::Data; -} - -static void skipSerialWhitespaces(SerialBuffer& buffer) +static bool nextSerialByte(char& out) { - int available = OS_SERIAL.available(); - - while (available-- > 0) { - char c = OS_SERIAL.read(); - - if (c != ' ' && c != '\r' && c != '\n') { - buffer.push_back(c); - break; + if (s_rxStagingHead >= s_rxStagingLen) { + int read = SerialConsole::Read(s_rxStaging, sizeof(s_rxStaging)); + if (read <= 0) { + return false; } + s_rxStagingHead = 0; + s_rxStagingLen = static_cast(read); } + + out = static_cast(s_rxStaging[s_rxStagingHead++]); + return true; } -#if OS_HAS_USB_SERIAL -static SerialReadResult tryReadUSBSerialLine(SerialBuffer& buffer) +static SerialReadResult tryReadSerialLine(SerialBuffer& buffer) { - // Check if there's any data available - int available = OS_SERIAL_USB.available(); - if (available <= 0) { - return SerialReadResult::NoData; - } - - // Reserve space for the new data - buffer.reserve(buffer.size() + available); + bool gotData = false; - // Read the data into the buffer - while (available-- > 0) { - char c = OS_SERIAL_USB.read(); + char c; + while (nextSerialByte(c)) { + gotData = true; // Handle backspace if (c == '\b') { @@ -478,23 +428,19 @@ static SerialReadResult tryReadUSBSerialLine(SerialBuffer& buffer) } } - return SerialReadResult::Data; + return gotData ? SerialReadResult::Data : SerialReadResult::NoData; } -static void skipUSBSerialWhitespaces(SerialBuffer& buffer) +static void skipSerialWhitespaces(SerialBuffer& buffer) { - int available = OS_SERIAL_USB.available(); - - while (available-- > 0) { - char c = OS_SERIAL_USB.read(); - + char c; + while (nextSerialByte(c)) { if (c != ' ' && c != '\r' && c != '\n') { buffer.push_back(c); break; } } } -#endif static void echoBuffer(std::string_view buffer) { @@ -646,33 +592,6 @@ static void serialRxTask(void*) break; } -#if OS_HAS_USB_SERIAL - switch (tryReadUSBSerialLine(buffer)) { - case SerialReadResult::LineEnd: - processSerialLine(buffer); - - // Deallocate memory if the buffer is too large - if (buffer.capacity() > SERIAL_BUFFER_MAX_CAPACITY) { - buffer.destroy(); - } else { - buffer.clear(); - } - - // Skip any remaining trailing whitespaces - skipUSBSerialWhitespaces(buffer); - break; - case SerialReadResult::AutoCompleteRequest: - OS_SERIAL_PRINTF(CLEAR_LINE "> %.*s [AutoComplete is not implemented]", static_cast(buffer.size()), buffer.data()); - break; - case SerialReadResult::Data: - echoHandleSerialInput(buffer, true); - break; - default: - echoHandleSerialInput(buffer, false); - break; - } -#endif - vTaskDelay(pdMS_TO_TICKS(20)); // 50 Hz update rate } } @@ -686,6 +605,12 @@ bool SerialInputHandler::Init() } s_initialized = true; + // Install the console RX driver and make stdout unbuffered. + if (!SerialConsole::Init()) { + OS_LOGE(TAG, "Failed to initialize serial console"); + return false; + } + // Register command handlers s_commandGroups = OpenShock::SerialCmds::CommandHandlers::AllCommandHandlers(); for (const auto& handler : s_commandGroups) { diff --git a/src/serial/command_handlers/sysinfo.cpp b/src/serial/command_handlers/sysinfo.cpp index 985e54b9..d7c6d368 100644 --- a/src/serial/command_handlers/sysinfo.cpp +++ b/src/serial/command_handlers/sysinfo.cpp @@ -1,3 +1,5 @@ +#include + #include "serial/command_handlers/common.h" #include "FormatHelpers.h" From e0b096e92c44dcd3b38c460901c7e591a3f5ac7b Mon Sep 17 00:00:00 2001 From: HeavenVR Date: Thu, 9 Jul 2026 14:38:40 +0200 Subject: [PATCH 34/91] refactor(rmt): migrate RF + LED drivers to IDF driver/rmt_tx Replace the Arduino esp32-hal-rmt wrappers with the ESP-IDF RMT TX driver so the radio and RGB LED drivers no longer depend on framework-arduinoespressif32. - protocols: rmt_data_t -> rmt_symbol_word_t (layout-identical: 15b/1b/15b/1b), swap for across all encoders, Sequence, and Shared.h. - RFTransmitter / RgbLedDriver: create a TX channel (rmt_new_tx_channel) + copy encoder (rmt_new_copy_encoder) + rmt_enable in the ctor; tear down with rmt_disable/rmt_del_channel/rmt_del_encoder. Replace blocking rmtWrite with rmt_transmit + rmt_tx_wait_all_done; EOT level set via the transmit config (replaces rmtSetEOT). Resolutions unchanged (RF 1 MHz, WS2812B 10 MHz). - mem_block_symbols = SOC_RMT_MEM_WORDS_PER_CHANNEL so each channel uses exactly one RMT memory block on every SoC (the driver rounds up and requires >= one block); a fixed 64 would take two blocks on the 48-word C3/S3 and starve the second channel. - CMakeLists: swap framework-arduinoespressif32 for esp_driver_rmt in protocols, led_drivers, and the app component. Builds clean on ESP32 (Wemos-D1-Mini), C3 (Seeed-Xiao) and S3 (OpenShock-Core-V2). --- components/led_drivers/CMakeLists.txt | 2 +- .../include/led_drivers/RgbLedDriver.h | 5 +- components/led_drivers/src/RgbLedDriver.cpp | 57 ++++++++++++++++--- components/protocols/CMakeLists.txt | 2 +- .../include/radio/rmt/CaiXianlinEncoder.h | 4 +- .../protocols/include/radio/rmt/D80Encoder.h | 4 +- .../include/radio/rmt/Petrainer998DREncoder.h | 4 +- .../include/radio/rmt/PetrainerEncoder.h | 4 +- .../protocols/include/radio/rmt/Sequence.h | 12 ++-- .../protocols/include/radio/rmt/T330Encoder.h | 4 +- .../protocols/src/CaiXianlinEncoder.cpp | 8 +-- components/protocols/src/D80Encoder.cpp | 10 ++-- .../protocols/src/Petrainer998DREncoder.cpp | 10 ++-- components/protocols/src/PetrainerEncoder.cpp | 10 ++-- components/protocols/src/Sequence.cpp | 4 +- components/protocols/src/T330Encoder.cpp | 10 ++-- .../protocols/src/radio/rmt/internal/Shared.h | 4 +- include/radio/RFTransmitter.h | 5 +- src/CMakeLists.txt | 2 +- src/radio/RFTransmitter.cpp | 56 ++++++++++++++---- 20 files changed, 149 insertions(+), 68 deletions(-) diff --git a/components/led_drivers/CMakeLists.txt b/components/led_drivers/CMakeLists.txt index 7ea148ca..8321bd61 100644 --- a/components/led_drivers/CMakeLists.txt +++ b/components/led_drivers/CMakeLists.txt @@ -15,7 +15,7 @@ idf_component_register( REQUIRES common # Common.h in public headers concurrency # SimpleMutex in public headers freertos # TaskHandle_t in public headers - framework-arduinoespressif32 # esp32-hal-rmt.h in RgbLedDriver.h + esp_driver_rmt # driver/rmt_tx.h, rmt_encoder.h in RgbLedDriver.h PRIV_REQUIRES chipset # IsValidOutputPin logging # OS_LOG* util # FnProxy, TaskUtils diff --git a/components/led_drivers/include/led_drivers/RgbLedDriver.h b/components/led_drivers/include/led_drivers/RgbLedDriver.h index 9ce8902f..033cda49 100644 --- a/components/led_drivers/include/led_drivers/RgbLedDriver.h +++ b/components/led_drivers/include/led_drivers/RgbLedDriver.h @@ -7,7 +7,8 @@ #include -#include +#include +#include #include #include @@ -52,5 +53,7 @@ namespace OpenShock { TaskHandle_t m_taskHandle; SimpleMutex m_taskMutex; std::atomic m_stopRequested {false}; + rmt_channel_handle_t m_rmtChannel; + rmt_encoder_handle_t m_rmtEncoder; }; } // namespace OpenShock diff --git a/components/led_drivers/src/RgbLedDriver.cpp b/components/led_drivers/src/RgbLedDriver.cpp index 1e3e1e25..30fc07ce 100644 --- a/components/led_drivers/src/RgbLedDriver.cpp +++ b/components/led_drivers/src/RgbLedDriver.cpp @@ -9,6 +9,9 @@ const char* const TAG = "RGBLedDriver"; #include "util/FnProxy.h" #include "util/TaskUtils.h" +#include +#include + #include using namespace OpenShock; @@ -23,6 +26,8 @@ RgbLedDriver::RgbLedDriver(gpio_num_t gpioPin) , m_pattern() , m_taskHandle(nullptr) , m_taskMutex() + , m_rmtChannel(nullptr) + , m_rmtEncoder(nullptr) { if (gpioPin == GPIO_NUM_NC) { OS_LOGE(TAG, "Pin is not set"); @@ -34,9 +39,38 @@ RgbLedDriver::RgbLedDriver(gpio_num_t gpioPin) return; } - // Arduino-ESP32 3.x RMT: frequency_Hz replaces rmtSetTick. 10 MHz => 100 ns tick (WS2812B timing). - if (!rmtInit(gpioPin, RMT_TX_MODE, RMT_MEM_NUM_BLOCKS_1, 10'000'000)) { - OS_LOGE(TAG, "Failed to initialize RMT for pin %hhi", gpioPin); + // 10 MHz resolution => 100 ns tick (WS2812B timing). + rmt_tx_channel_config_t channelConfig = { + .gpio_num = gpioPin, + .clk_src = RMT_CLK_SRC_DEFAULT, + .resolution_hz = 10'000'000, + .mem_block_symbols = SOC_RMT_MEM_WORDS_PER_CHANNEL, // exactly 1 memory block + .trans_queue_depth = 4, + }; + esp_err_t err = rmt_new_tx_channel(&channelConfig, &m_rmtChannel); + if (err != ESP_OK) { + OS_LOGE(TAG, "Failed to create RMT TX channel for pin %hhi: %s", gpioPin, esp_err_to_name(err)); + m_rmtChannel = nullptr; + return; + } + + rmt_copy_encoder_config_t encoderConfig = {}; + err = rmt_new_copy_encoder(&encoderConfig, &m_rmtEncoder); + if (err != ESP_OK) { + OS_LOGE(TAG, "Failed to create RMT copy encoder for pin %hhi: %s", gpioPin, esp_err_to_name(err)); + rmt_del_channel(m_rmtChannel); + m_rmtChannel = nullptr; + m_rmtEncoder = nullptr; + return; + } + + err = rmt_enable(m_rmtChannel); + if (err != ESP_OK) { + OS_LOGE(TAG, "Failed to enable RMT channel for pin %hhi: %s", gpioPin, esp_err_to_name(err)); + rmt_del_encoder(m_rmtEncoder); + rmt_del_channel(m_rmtChannel); + m_rmtChannel = nullptr; + m_rmtEncoder = nullptr; return; } @@ -47,8 +81,14 @@ RgbLedDriver::~RgbLedDriver() { ClearPattern(); - if (m_gpioPin != GPIO_NUM_NC) { - rmtDeinit(m_gpioPin); + if (m_rmtChannel != nullptr) { + rmt_disable(m_rmtChannel); + rmt_del_channel(m_rmtChannel); + m_rmtChannel = nullptr; + } + if (m_rmtEncoder != nullptr) { + rmt_del_encoder(m_rmtEncoder); + m_rmtEncoder = nullptr; } } @@ -103,7 +143,7 @@ void RgbLedDriver::ClearPatternInternal() void RgbLedDriver::RunPattern() { - std::array led_data; // 24 bits per LED (8 bits per color * 3 colors) + std::array led_data; // 24 bits per LED (8 bits per color * 3 colors) while (!m_stopRequested.load(std::memory_order_relaxed)) { for (const auto& state : m_pattern) { @@ -138,7 +178,10 @@ void RgbLedDriver::RunPattern() } // Send the data (blocking, wait up to 10ms per frame) - rmtWrite(m_gpioPin, led_data.data(), led_data.size(), 10); + rmt_transmit_config_t txConfig = {}; + txConfig.flags.eot_level = 0; + rmt_transmit(m_rmtChannel, m_rmtEncoder, led_data.data(), led_data.size() * sizeof(rmt_symbol_word_t), &txConfig); + rmt_tx_wait_all_done(m_rmtChannel, 10); // Chunked delay so cooperative shutdown can interrupt long waits uint32_t remaining = state.duration; diff --git a/components/protocols/CMakeLists.txt b/components/protocols/CMakeLists.txt index 9b66d006..b59a30d5 100644 --- a/components/protocols/CMakeLists.txt +++ b/components/protocols/CMakeLists.txt @@ -18,7 +18,7 @@ idf_component_register( INCLUDE_DIRS "include" PRIV_INCLUDE_DIRS "src" # radio/rmt/internal/Shared.h (private) REQUIRES common # enums/*, OpenShock.h in public headers - framework-arduinoespressif32 # esp32-hal-rmt.h in public headers + esp_driver_rmt # driver/rmt_types.h (rmt_symbol_word_t) in public headers PRIV_REQUIRES util # Checksum.h (internal) logging # OS_LOG* (internal) ) diff --git a/components/protocols/include/radio/rmt/CaiXianlinEncoder.h b/components/protocols/include/radio/rmt/CaiXianlinEncoder.h index 3503064d..1514fd6f 100644 --- a/components/protocols/include/radio/rmt/CaiXianlinEncoder.h +++ b/components/protocols/include/radio/rmt/CaiXianlinEncoder.h @@ -2,11 +2,11 @@ #include "enums/ShockerCommandType.h" -#include +#include #include namespace OpenShock::Rmt::CaiXianlinEncoder { size_t GetBufferSize(); - bool FillBuffer(rmt_data_t* data, uint16_t shockerId, uint8_t channelId, ShockerCommandType type, uint8_t intensity); + bool FillBuffer(rmt_symbol_word_t* data, uint16_t shockerId, uint8_t channelId, ShockerCommandType type, uint8_t intensity); } diff --git a/components/protocols/include/radio/rmt/D80Encoder.h b/components/protocols/include/radio/rmt/D80Encoder.h index d4fef03b..dc11aba3 100644 --- a/components/protocols/include/radio/rmt/D80Encoder.h +++ b/components/protocols/include/radio/rmt/D80Encoder.h @@ -2,11 +2,11 @@ #include "enums/ShockerCommandType.h" -#include +#include #include namespace OpenShock::Rmt::D80Encoder { size_t GetBufferSize(); - bool FillBuffer(rmt_data_t* data, uint16_t shockerId, ShockerCommandType type, uint8_t intensity); + bool FillBuffer(rmt_symbol_word_t* data, uint16_t shockerId, ShockerCommandType type, uint8_t intensity); } diff --git a/components/protocols/include/radio/rmt/Petrainer998DREncoder.h b/components/protocols/include/radio/rmt/Petrainer998DREncoder.h index fad5f04f..021a5863 100644 --- a/components/protocols/include/radio/rmt/Petrainer998DREncoder.h +++ b/components/protocols/include/radio/rmt/Petrainer998DREncoder.h @@ -2,11 +2,11 @@ #include "enums/ShockerCommandType.h" -#include +#include #include namespace OpenShock::Rmt::Petrainer998DREncoder { size_t GetBufferSize(); - bool FillBuffer(rmt_data_t* data, uint16_t shockerId, ShockerCommandType type, uint8_t intensity); + bool FillBuffer(rmt_symbol_word_t* data, uint16_t shockerId, ShockerCommandType type, uint8_t intensity); } diff --git a/components/protocols/include/radio/rmt/PetrainerEncoder.h b/components/protocols/include/radio/rmt/PetrainerEncoder.h index f681a5d6..aa7094c8 100644 --- a/components/protocols/include/radio/rmt/PetrainerEncoder.h +++ b/components/protocols/include/radio/rmt/PetrainerEncoder.h @@ -2,11 +2,11 @@ #include "enums/ShockerCommandType.h" -#include +#include #include namespace OpenShock::Rmt::PetrainerEncoder { size_t GetBufferSize(); - bool FillBuffer(rmt_data_t* data, uint16_t shockerId, ShockerCommandType type, uint8_t intensity); + bool FillBuffer(rmt_symbol_word_t* data, uint16_t shockerId, ShockerCommandType type, uint8_t intensity); } diff --git a/components/protocols/include/radio/rmt/Sequence.h b/components/protocols/include/radio/rmt/Sequence.h index 7a4bc1d2..dd8e4aac 100644 --- a/components/protocols/include/radio/rmt/Sequence.h +++ b/components/protocols/include/radio/rmt/Sequence.h @@ -4,7 +4,7 @@ #include "enums/ShockerModelType.h" #include "OpenShock.h" -#include +#include #include @@ -41,10 +41,10 @@ namespace OpenShock::Rmt { inline int64_t transmitEnd() const noexcept { return m_transmitEnd; } inline void setTransmitEnd(int64_t transmitEnd) noexcept { m_transmitEnd = transmitEnd; } - inline rmt_data_t* payload() noexcept { return m_data; } - inline const rmt_data_t* payload() const noexcept { return m_data; } - inline rmt_data_t* terminator() noexcept { return m_data + m_size; } - inline const rmt_data_t* terminator() const noexcept { return m_data + m_size; } + inline rmt_symbol_word_t* payload() noexcept { return m_data; } + inline const rmt_symbol_word_t* payload() const noexcept { return m_data; } + inline rmt_symbol_word_t* terminator() noexcept { return m_data + m_size; } + inline const rmt_symbol_word_t* terminator() const noexcept { return m_data + m_size; } inline size_t size() const noexcept { return m_size; } bool fill(ShockerCommandType commandType, uint8_t intensity); @@ -76,7 +76,7 @@ namespace OpenShock::Rmt { m_shockerModel = static_cast(0); } - rmt_data_t* m_data; + rmt_symbol_word_t* m_data; size_t m_size; int64_t m_transmitEnd; uint16_t m_shockerId; diff --git a/components/protocols/include/radio/rmt/T330Encoder.h b/components/protocols/include/radio/rmt/T330Encoder.h index 8c15c718..688e3573 100644 --- a/components/protocols/include/radio/rmt/T330Encoder.h +++ b/components/protocols/include/radio/rmt/T330Encoder.h @@ -2,11 +2,11 @@ #include "enums/ShockerCommandType.h" -#include +#include #include namespace OpenShock::Rmt::WellturnT330Encoder { size_t GetBufferSize(); - bool FillBuffer(rmt_data_t* data, uint16_t shockerId, ShockerCommandType type, uint8_t intensity); + bool FillBuffer(rmt_symbol_word_t* data, uint16_t shockerId, ShockerCommandType type, uint8_t intensity); } diff --git a/components/protocols/src/CaiXianlinEncoder.cpp b/components/protocols/src/CaiXianlinEncoder.cpp index 72077146..45114367 100644 --- a/components/protocols/src/CaiXianlinEncoder.cpp +++ b/components/protocols/src/CaiXianlinEncoder.cpp @@ -11,9 +11,9 @@ // It is based on the following documentation: // https://wiki.openshock.org/hardware/shockers/caixianlin/#rf-specification -const rmt_data_t kRmtPreamble = {1400, 1, 750, 0}; -const rmt_data_t kRmtOne = {750, 1, 250, 0}; -const rmt_data_t kRmtZero = {250, 1, 750, 0}; +const rmt_symbol_word_t kRmtPreamble = {1400, 1, 750, 0}; +const rmt_symbol_word_t kRmtOne = {750, 1, 250, 0}; +const rmt_symbol_word_t kRmtZero = {250, 1, 750, 0}; using namespace OpenShock; @@ -22,7 +22,7 @@ size_t Rmt::CaiXianlinEncoder::GetBufferSize() return 44; } -bool Rmt::CaiXianlinEncoder::FillBuffer(rmt_data_t* sequence, uint16_t shockerId, uint8_t channelId, ShockerCommandType type, uint8_t intensity) +bool Rmt::CaiXianlinEncoder::FillBuffer(rmt_symbol_word_t* sequence, uint16_t shockerId, uint8_t channelId, ShockerCommandType type, uint8_t intensity) { // Intensity must be between 0 and 99 intensity = std::min(intensity, static_cast(99)); diff --git a/components/protocols/src/D80Encoder.cpp b/components/protocols/src/D80Encoder.cpp index b015eaef..ec51bffa 100644 --- a/components/protocols/src/D80Encoder.cpp +++ b/components/protocols/src/D80Encoder.cpp @@ -6,10 +6,10 @@ #include -const rmt_data_t kRmtPreamble = {1900, 1, 4000, 0}; -const rmt_data_t kRmtOne = {900, 1, 300, 0}; -const rmt_data_t kRmtZero = {300, 1, 900, 0}; -const rmt_data_t kRmtPostamble = {200, 1, 2200, 0}; +const rmt_symbol_word_t kRmtPreamble = {1900, 1, 4000, 0}; +const rmt_symbol_word_t kRmtOne = {900, 1, 300, 0}; +const rmt_symbol_word_t kRmtZero = {300, 1, 900, 0}; +const rmt_symbol_word_t kRmtPostamble = {200, 1, 2200, 0}; using namespace OpenShock; @@ -18,7 +18,7 @@ size_t Rmt::D80Encoder::GetBufferSize() return 42; } -bool Rmt::D80Encoder::FillBuffer(rmt_data_t* sequence, uint16_t shockerId, ShockerCommandType type, uint8_t intensity) +bool Rmt::D80Encoder::FillBuffer(rmt_symbol_word_t* sequence, uint16_t shockerId, ShockerCommandType type, uint8_t intensity) { // Intensity must be between 0 and 15, this should mimic the rounding of the original remote which // allows you to select from 1-99 when the protocol only has 4 bits for intensity (0-15). diff --git a/components/protocols/src/Petrainer998DREncoder.cpp b/components/protocols/src/Petrainer998DREncoder.cpp index 2572bb8b..ecf82fb6 100644 --- a/components/protocols/src/Petrainer998DREncoder.cpp +++ b/components/protocols/src/Petrainer998DREncoder.cpp @@ -6,10 +6,10 @@ #include -const rmt_data_t kRmtPreamble = {1500, 1, 750, 0}; -const rmt_data_t kRmtOne = {750, 1, 250, 0}; -const rmt_data_t kRmtZero = {250, 1, 750, 0}; -const rmt_data_t kRmtPostamble = {250, 1, 3750, 0}; // Some subvariants expect a quiet period between commands, this is a last 1 bit followed by a very long pause +const rmt_symbol_word_t kRmtPreamble = {1500, 1, 750, 0}; +const rmt_symbol_word_t kRmtOne = {750, 1, 250, 0}; +const rmt_symbol_word_t kRmtZero = {250, 1, 750, 0}; +const rmt_symbol_word_t kRmtPostamble = {250, 1, 3750, 0}; // Some subvariants expect a quiet period between commands, this is a last 1 bit followed by a very long pause using namespace OpenShock; @@ -18,7 +18,7 @@ size_t Rmt::Petrainer998DREncoder::GetBufferSize() return 42; } -bool Rmt::Petrainer998DREncoder::FillBuffer(rmt_data_t* sequence, uint16_t shockerId, ShockerCommandType type, uint8_t intensity) +bool Rmt::Petrainer998DREncoder::FillBuffer(rmt_symbol_word_t* sequence, uint16_t shockerId, ShockerCommandType type, uint8_t intensity) { // Intensity must be between 0 and 100 intensity = std::min(intensity, static_cast(100)); diff --git a/components/protocols/src/PetrainerEncoder.cpp b/components/protocols/src/PetrainerEncoder.cpp index 64afa549..57ffd0d1 100644 --- a/components/protocols/src/PetrainerEncoder.cpp +++ b/components/protocols/src/PetrainerEncoder.cpp @@ -4,10 +4,10 @@ #include -const rmt_data_t kRmtPreamble = {750, 1, 750, 0}; -const rmt_data_t kRmtOne = {200, 1, 1500, 0}; -const rmt_data_t kRmtZero = {200, 1, 750, 0}; -const rmt_data_t kRmtPostamble = {200, 1, 7000, 0}; +const rmt_symbol_word_t kRmtPreamble = {750, 1, 750, 0}; +const rmt_symbol_word_t kRmtOne = {200, 1, 1500, 0}; +const rmt_symbol_word_t kRmtZero = {200, 1, 750, 0}; +const rmt_symbol_word_t kRmtPostamble = {200, 1, 7000, 0}; using namespace OpenShock; @@ -16,7 +16,7 @@ size_t Rmt::PetrainerEncoder::GetBufferSize() return 42; } -bool Rmt::PetrainerEncoder::FillBuffer(rmt_data_t* sequence, uint16_t shockerId, ShockerCommandType type, uint8_t intensity) +bool Rmt::PetrainerEncoder::FillBuffer(rmt_symbol_word_t* sequence, uint16_t shockerId, ShockerCommandType type, uint8_t intensity) { // Intensity must be between 0 and 100 intensity = std::min(intensity, static_cast(100)); diff --git a/components/protocols/src/Sequence.cpp b/components/protocols/src/Sequence.cpp index 9d952cc8..a9046ea8 100644 --- a/components/protocols/src/Sequence.cpp +++ b/components/protocols/src/Sequence.cpp @@ -29,7 +29,7 @@ inline static size_t getSequenceBufferSize(ShockerModelType shockerModelType) } } -inline static bool fillSequenceImpl(rmt_data_t* data, ShockerModelType modelType, uint16_t shockerId, ShockerCommandType commandType, uint8_t intensity) +inline static bool fillSequenceImpl(rmt_symbol_word_t* data, ShockerModelType modelType, uint16_t shockerId, ShockerCommandType commandType, uint8_t intensity) { switch (modelType) { case ShockerModelType::CaiXianlin: @@ -57,7 +57,7 @@ Rmt::Sequence::Sequence(ShockerModelType shockerModel, uint16_t shockerId, int64 { if (m_size == 0) return; - m_data = static_cast(malloc(m_size * 2 * sizeof(rmt_data_t))); + m_data = static_cast(malloc(m_size * 2 * sizeof(rmt_symbol_word_t))); if (m_data == nullptr) { m_size = 0; return; diff --git a/components/protocols/src/T330Encoder.cpp b/components/protocols/src/T330Encoder.cpp index 59896daa..8c4481e8 100644 --- a/components/protocols/src/T330Encoder.cpp +++ b/components/protocols/src/T330Encoder.cpp @@ -4,10 +4,10 @@ #include -const rmt_data_t kRmtPreamble = {960, 1, 790, 0}; -const rmt_data_t kRmtOne = {220, 1, 980, 0}; -const rmt_data_t kRmtZero = {220, 1, 580, 0}; -const rmt_data_t kRmtPostamble = {220, 1, 135, 0}; +const rmt_symbol_word_t kRmtPreamble = {960, 1, 790, 0}; +const rmt_symbol_word_t kRmtOne = {220, 1, 980, 0}; +const rmt_symbol_word_t kRmtZero = {220, 1, 580, 0}; +const rmt_symbol_word_t kRmtPostamble = {220, 1, 135, 0}; using namespace OpenShock; @@ -16,7 +16,7 @@ size_t Rmt::WellturnT330Encoder::GetBufferSize() return 43; } -bool Rmt::WellturnT330Encoder::FillBuffer(rmt_data_t* sequence, uint16_t shockerId, ShockerCommandType type, uint8_t intensity) +bool Rmt::WellturnT330Encoder::FillBuffer(rmt_symbol_word_t* sequence, uint16_t shockerId, ShockerCommandType type, uint8_t intensity) { // Intensity must be between 0 and 100 intensity = std::min(intensity, static_cast(100)); diff --git a/components/protocols/src/radio/rmt/internal/Shared.h b/components/protocols/src/radio/rmt/internal/Shared.h index a62f73b8..db924fa3 100644 --- a/components/protocols/src/radio/rmt/internal/Shared.h +++ b/components/protocols/src/radio/rmt/internal/Shared.h @@ -1,6 +1,6 @@ #pragma once -#include +#include #include #include @@ -8,7 +8,7 @@ namespace OpenShock::Rmt::Internal { template - constexpr void EncodeBits(rmt_data_t* sequence, T data, const rmt_data_t& rmtOne, const rmt_data_t& rmtZero) + constexpr void EncodeBits(rmt_symbol_word_t* sequence, T data, const rmt_symbol_word_t& rmtOne, const rmt_symbol_word_t& rmtZero) { static_assert(std::is_unsigned_v, "T must be an unsigned integer"); static_assert(N > 0, "N must be greater than 0"); diff --git a/include/radio/RFTransmitter.h b/include/radio/RFTransmitter.h index 00dde739..4fb49dcd 100644 --- a/include/radio/RFTransmitter.h +++ b/include/radio/RFTransmitter.h @@ -4,7 +4,8 @@ #include "enums/ShockerModelType.h" #include "OpenShock.h" -#include +#include +#include #include #include @@ -37,5 +38,7 @@ namespace OpenShock { gpio_num_t m_txPin; QueueHandle_t m_queueHandle; TaskHandle_t m_taskHandle; + rmt_channel_handle_t m_rmtChannel; + rmt_encoder_handle_t m_rmtEncoder; }; } // namespace OpenShock diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index a5d42e0b..2c1389c2 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -2,5 +2,5 @@ FILE(GLOB_RECURSE app_sources ${CMAKE_SOURCE_DIR}/src/*.*) idf_component_register( SRCS ${app_sources} - REQUIRES common temporal logging panic concurrency util hwutil http chipset led_drivers protocols osjson esp_driver_uart esp_driver_usb_serial_jtag + REQUIRES common temporal logging panic concurrency util hwutil http chipset led_drivers protocols osjson esp_driver_uart esp_driver_usb_serial_jtag esp_driver_rmt ) diff --git a/src/radio/RFTransmitter.cpp b/src/radio/RFTransmitter.cpp index 1bc26906..40db6cdb 100644 --- a/src/radio/RFTransmitter.cpp +++ b/src/radio/RFTransmitter.cpp @@ -11,6 +11,9 @@ const char* const TAG = "RFTransmitter"; #include "util/FnProxy.h" #include "util/TaskUtils.h" +#include +#include + #include #include @@ -40,19 +43,37 @@ RFTransmitter::RFTransmitter(gpio_num_t gpioPin) : m_txPin(gpioPin) , m_queueHandle(nullptr) , m_taskHandle(nullptr) + , m_rmtChannel(nullptr) + , m_rmtEncoder(nullptr) { OS_LOGD(TAG, "[pin-%hhi] Creating RFTransmitter", m_txPin); - bool success = rmtInit(gpioPin, RMT_TX_MODE, RMT_MEM_NUM_BLOCKS_1, 1'000'000); // RMT_MEM_64, 1MHz - if (!success) { - OS_LOGE(TAG, "[pin-%hhi] Failed to create rmt object", m_txPin); + // 1 MHz resolution => 1 us tick (RF protocol timings are in microseconds). + rmt_tx_channel_config_t channelConfig = { + .gpio_num = gpioPin, + .clk_src = RMT_CLK_SRC_DEFAULT, + .resolution_hz = 1'000'000, + .mem_block_symbols = SOC_RMT_MEM_WORDS_PER_CHANNEL, // exactly 1 memory block + .trans_queue_depth = 4, + }; + esp_err_t err = rmt_new_tx_channel(&channelConfig, &m_rmtChannel); + if (err != ESP_OK) { + OS_LOGE(TAG, "[pin-%hhi] Failed to create RMT TX channel: %s", m_txPin, esp_err_to_name(err)); destroy(); return; } - success = rmtSetEOT(gpioPin, 0); - if (!success) { - OS_LOGE(TAG, "Failed to set EOT level for pin %hhi", gpioPin); + rmt_copy_encoder_config_t encoderConfig = {}; + err = rmt_new_copy_encoder(&encoderConfig, &m_rmtEncoder); + if (err != ESP_OK) { + OS_LOGE(TAG, "[pin-%hhi] Failed to create RMT copy encoder: %s", m_txPin, esp_err_to_name(err)); + destroy(); + return; + } + + err = rmt_enable(m_rmtChannel); + if (err != ESP_OK) { + OS_LOGE(TAG, "[pin-%hhi] Failed to enable RMT channel: %s", m_txPin, esp_err_to_name(err)); destroy(); return; } @@ -146,8 +167,14 @@ void RFTransmitter::destroy() vQueueDelete(m_queueHandle); m_queueHandle = nullptr; } - if (m_txPin != GPIO_NUM_NC) { - rmtDeinit(m_txPin); + if (m_rmtChannel != nullptr) { + rmt_disable(m_rmtChannel); + rmt_del_channel(m_rmtChannel); + m_rmtChannel = nullptr; + } + if (m_rmtEncoder != nullptr) { + rmt_del_encoder(m_rmtEncoder); + m_rmtEncoder = nullptr; } } @@ -176,15 +203,19 @@ static bool modifySequence(std::vector& sequences, ShockerModelTy return false; } -static void writeSequences(gpio_num_t m_txPin, std::vector& sequences) +static void writeSequences(rmt_channel_handle_t channel, rmt_encoder_handle_t encoder, std::vector& sequences) { + rmt_transmit_config_t txConfig = {}; + txConfig.flags.eot_level = 0; + // Send queued commands for (auto seq = sequences.begin(); seq != sequences.end();) { int64_t timeToLive = seq->transmitEnd() - OpenShock::millis(); if (timeToLive > 0) { // Send the command - rmtWrite(m_txPin, seq->payload(), seq->size(), kRmtTimeoutMs); + rmt_transmit(channel, encoder, seq->payload(), seq->size() * sizeof(rmt_symbol_word_t), &txConfig); + rmt_tx_wait_all_done(channel, kRmtTimeoutMs); } else { // Remove command if it has sent out its termination sequence for long enough if (timeToLive <= -kTerminatorDurationMs) { @@ -193,7 +224,8 @@ static void writeSequences(gpio_num_t m_txPin, std::vector& seque } // Send the termination sequence to stop the shocker - rmtWrite(m_txPin, seq->terminator(), seq->size(), kRmtTimeoutMs); + rmt_transmit(channel, encoder, seq->terminator(), seq->size() * sizeof(rmt_symbol_word_t), &txConfig); + rmt_tx_wait_all_done(channel, kRmtTimeoutMs); } // Move to the next command @@ -253,7 +285,7 @@ void RFTransmitter::TransmitTask() } } - writeSequences(m_txPin, sequences); + writeSequences(m_rmtChannel, m_rmtEncoder, sequences); } exit: // Locals (sequences) destruct here before task deletion From bb7482fdbfb3c21686f2a7e606c65753b8b2a1ea Mon Sep 17 00:00:00 2001 From: HeavenVR Date: Thu, 9 Jul 2026 15:20:08 +0200 Subject: [PATCH 35/91] refactor(http): migrate HTTP client to esp_http_client, drop Arduino HTTPClient Replace Arduino HTTPClient/WiFiClientSecure/String with the ESP-IDF esp_http_client so the HTTP layer no longer depends on framework-arduinoespressif32. esp_http_client_read decodes chunked transfer-encoding transparently, removing the hand-rolled chunk parser. - HTTP::Client: a caller-owned, reusable client. Sequential requests to the same host reuse the kept-alive connection; a dead reused socket is dropped and reconnected once. The free Download/GetString/GetJSON helpers are thin one-shot wrappers over a temporary Client. Response headers (Retry-After, Connection) are captured via an HTTP_EVENT_ON_HEADER handler since esp_http_client_get_header only exposes request headers. HTTPS certificates remain unverified (unchanged behavior; TODO: attach the x509 bundle). - Public header forward-declares the esp_http_client typedefs instead of including . - Headers map is now std::map; JsonAPI builds the DeviceToken value with std::string(hubToken). - OTA update flow threads one HTTP::Client through version -> release -> filesystem -> app-binary fetches (all to the CDN host) so they share a connection; FlashPartitionFromUrl and the OTA fetchers take an HTTP::Client&. Builds clean on ESP32 (Wemos-D1-Mini), C3 (Seeed-Xiao) and S3 (OpenShock-Core-V2). --- components/http/CMakeLists.txt | 5 +- .../http/include/http/HTTPRequestManager.h | 97 +++- components/http/src/HTTPRequestManager.cpp | 431 +++++++----------- .../hwutil/include/hwutil/PartitionUtils.h | 6 +- components/hwutil/src/PartitionUtils.cpp | 4 +- include/OtaUpdateManager.h | 8 +- src/OtaUpdateManager.cpp | 28 +- src/http/JsonAPI.cpp | 4 +- 8 files changed, 265 insertions(+), 318 deletions(-) diff --git a/components/http/CMakeLists.txt b/components/http/CMakeLists.txt index 18e16e23..24b9ee57 100644 --- a/components/http/CMakeLists.txt +++ b/components/http/CMakeLists.txt @@ -11,11 +11,10 @@ idf_component_register( SRCS "src/HTTPRequestManager.cpp" INCLUDE_DIRS "include" REQUIRES osjson # json/Json.h in public header - framework-arduinoespressif32 # Arduino.h in public header PRIV_REQUIRES common # Common.h (internal) temporal # Temporal.h (internal) logging # Logging.h (internal) concurrency # SimpleMutex (internal) - util # RateLimiter, HexUtils, StringUtils - esp_wifi # esp_wifi_types.h via WiFiClient (internal) + util # RateLimiter, StringUtils + esp_http_client # esp_http_client.h (internal) ) diff --git a/components/http/include/http/HTTPRequestManager.h b/components/http/include/http/HTTPRequestManager.h index 6efc7e69..2ef98037 100644 --- a/components/http/include/http/HTTPRequestManager.h +++ b/components/http/include/http/HTTPRequestManager.h @@ -1,15 +1,22 @@ #pragma once -#include - #include "json/Json.h" +#include #include #include #include #include #include #include +#include + +// Forward declarations so this public header doesn't pull in . +// These match the real typedefs exactly, so including the real header elsewhere +// in the same translation unit is fine. +typedef int esp_err_t; +typedef struct esp_http_client* esp_http_client_handle_t; +typedef struct esp_http_client_event esp_http_client_event_t; namespace OpenShock::HTTP { enum class RequestResult : uint8_t { @@ -69,29 +76,77 @@ namespace OpenShock::HTTP { using GotContentLengthCallback = std::function; using DownloadCallback = std::function; - Response Download(std::string_view url, const std::map& headers, GotContentLengthCallback contentLengthCallback, DownloadCallback downloadCallback, std::span acceptedCodes, uint32_t timeoutMs = 10'000); - Response GetString(std::string_view url, const std::map& headers, std::span acceptedCodes, uint32_t timeoutMs = 10'000); + // A reusable HTTP client. Sequential requests on the same instance reuse the + // underlying TCP/TLS connection (HTTP keep-alive) when they target the same + // host, and transparently reconnect when the host changes or the connection + // drops. The caller owns the lifetime: construct one where several requests + // are issued back-to-back (e.g. an OTA update) so they share a connection. + // + // Not thread-safe. Use a separate Client per task. + class Client { + public: + Client() noexcept; + ~Client(); - template - Response GetJSON(std::string_view url, const std::map& headers, JsonParser jsonParser, std::span acceptedCodes, uint32_t timeoutMs = 10'000) - { - auto response = GetString(url, headers, acceptedCodes, timeoutMs); - if (response.result != RequestResult::Success) { - return {response.result, response.code, {}}; - } + Client(const Client&) = delete; + Client& operator=(const Client&) = delete; + Client(Client&&) = delete; + Client& operator=(Client&&) = delete; - // The parsed views point into response.data, which outlives this call; the - // parser copies out everything it needs before we return. - JSON::JsonDocument doc; - if (!doc.parse(response.data)) { - return {RequestResult::ParseFailed, response.code, {}}; - } + Response Download(std::string_view url, const std::map& headers, GotContentLengthCallback contentLengthCallback, DownloadCallback downloadCallback, std::span acceptedCodes, uint32_t timeoutMs = 10'000); + Response GetString(std::string_view url, const std::map& headers, std::span acceptedCodes, uint32_t timeoutMs = 10'000); - T data; - if (!jsonParser(response.code, doc.root(), data)) { - return {RequestResult::ParseFailed, response.code, {}}; + template + Response GetJSON(std::string_view url, const std::map& headers, JsonParser jsonParser, std::span acceptedCodes, uint32_t timeoutMs = 10'000) + { + auto response = GetString(url, headers, acceptedCodes, timeoutMs); + if (response.result != RequestResult::Success) { + return {response.result, response.code, {}}; + } + + // The parsed views point into response.data, which outlives this call; the + // parser copies out everything it needs before we return. + JSON::JsonDocument doc; + if (!doc.parse(response.data)) { + return {RequestResult::ParseFailed, response.code, {}}; + } + + T data; + if (!jsonParser(response.code, doc.root(), data)) { + return {RequestResult::ParseFailed, response.code, {}}; + } + + return {response.result, response.code, std::move(data)}; } - return {response.result, response.code, std::move(data)}; + private: + static esp_err_t eventHandler(esp_http_client_event_t* evt); + void drop(); + + esp_http_client_handle_t m_handle; + std::vector m_headerKeys; // headers set on the last request, cleared before reuse + std::string m_retryAfter; // "Retry-After" response header, captured by eventHandler + bool m_connectionClose; // server sent "Connection: close" + }; + + // One-shot helpers: perform a single request on a temporary client. Use a + // Client directly when issuing several requests to the same host. + inline Response Download(std::string_view url, const std::map& headers, GotContentLengthCallback contentLengthCallback, DownloadCallback downloadCallback, std::span acceptedCodes, uint32_t timeoutMs = 10'000) + { + Client client; + return client.Download(url, headers, std::move(contentLengthCallback), std::move(downloadCallback), acceptedCodes, timeoutMs); + } + + inline Response GetString(std::string_view url, const std::map& headers, std::span acceptedCodes, uint32_t timeoutMs = 10'000) + { + Client client; + return client.GetString(url, headers, acceptedCodes, timeoutMs); + } + + template + Response GetJSON(std::string_view url, const std::map& headers, JsonParser jsonParser, std::span acceptedCodes, uint32_t timeoutMs = 10'000) + { + Client client; + return client.GetJSON(url, headers, std::move(jsonParser), acceptedCodes, timeoutMs); } } // namespace OpenShock::HTTP diff --git a/components/http/src/HTTPRequestManager.cpp b/components/http/src/HTTPRequestManager.cpp index a21ef706..b9889bab 100644 --- a/components/http/src/HTTPRequestManager.cpp +++ b/components/http/src/HTTPRequestManager.cpp @@ -1,3 +1,5 @@ +#include + #include "http/HTTPRequestManager.h" const char* const TAG = "HTTPRequestManager"; @@ -7,15 +9,16 @@ const char* const TAG = "HTTPRequestManager"; #include "RateLimiter.h" #include "SimpleMutex.h" #include "Temporal.h" -#include "util/HexUtils.h" #include "util/StringUtils.h" -#include -#include +#include +#include #include +#include +#include #include -#include +#include #include #include @@ -24,7 +27,7 @@ using namespace std::string_view_literals; const std::size_t HTTP_BUFFER_SIZE = 4096LLU; const int HTTP_DOWNLOAD_SIZE_LIMIT = 200 * 1024 * 1024; // 200 MB -static OpenShock::SimpleMutex s_rateLimitsMutex = {}; +static OpenShock::SimpleMutex s_rateLimitsMutex = {}; static std::unordered_map> s_rateLimits = {}; using namespace OpenShock; @@ -100,302 +103,148 @@ static std::shared_ptr createRateLimiterForURL(std::stri return it->second; } -struct StreamReaderResult { - HTTP::RequestResult result; - std::size_t nWritten; -}; - -static bool isCRLF(const uint8_t* buffer) -{ - return buffer[0] == '\r' && buffer[1] == '\n'; -} -static bool tryFindCRLF(std::size_t& pos, const uint8_t* buffer, std::size_t len) +HTTP::Client::Client() noexcept + : m_handle(nullptr) + , m_headerKeys() + , m_retryAfter() + , m_connectionClose(false) { - const uint8_t* cur = buffer; - const uint8_t* end = buffer + len - 1; - - while (cur < end) { - if (isCRLF(cur)) { - pos = static_cast(cur - buffer); - return true; - } - - ++cur; - } - - return false; } -enum class ParserState : uint8_t { - Ok, - NeedMoreData, - Invalid, -}; - -static ParserState tryParseHttpChunkHeader(const uint8_t* buffer, std::size_t bufferLen, std::size_t& headerLen, std::size_t& payloadLen) +HTTP::Client::~Client() { - if (bufferLen < 5) { // Bare minimum: "0\r\n\r\n" - return ParserState::NeedMoreData; - } - - // Find the first CRLF - if (!tryFindCRLF(headerLen, buffer, bufferLen)) { - return ParserState::NeedMoreData; - } - - // Header must have at least one character - if (headerLen == 0) { - OS_LOGW(TAG, "Invalid chunk header length"); - return ParserState::Invalid; - } - - // Check for end of size field (possibly followed by extensions which is separated by a semicolon) - std::size_t sizeFieldEnd = headerLen; - for (std::size_t i = 0; i < headerLen; ++i) { - if (buffer[i] == ';') { - sizeFieldEnd = i; - break; - } - } - - // Bounds check - if (sizeFieldEnd == 0 || sizeFieldEnd > 16) { - OS_LOGW(TAG, "Invalid chunk size field length"); - return ParserState::Invalid; - } - - std::string_view sizeField(reinterpret_cast(buffer), sizeFieldEnd); - - // Parse the chunk size - if (!HexUtils::TryParseHexToInt(sizeField.data(), sizeField.length(), payloadLen)) { - OS_LOGW(TAG, "Failed to parse chunk size"); - return ParserState::Invalid; - } - - if (payloadLen > HTTP_DOWNLOAD_SIZE_LIMIT) { - OS_LOGW(TAG, "Chunk size too large"); - return ParserState::Invalid; - } - - // Set the header length to the end of the CRLF - headerLen += 2; - - return ParserState::Ok; + drop(); } -static ParserState tryParseHttpChunk(const uint8_t* buffer, std::size_t bufferLen, std::size_t& payloadPos, std::size_t& payloadLen) +// esp_http_client only exposes response headers through the event stream, so we +// capture the ones we care about here. user_data points at the owning Client. +esp_err_t HTTP::Client::eventHandler(esp_http_client_event_t* evt) { - if (payloadPos == 0) { - ParserState state = tryParseHttpChunkHeader(buffer, bufferLen, payloadPos, payloadLen); - if (state != ParserState::Ok) { - return state; - } + if (evt->event_id != HTTP_EVENT_ON_HEADER) { + return ESP_OK; } - std::size_t totalLen = payloadPos + payloadLen + 2; // +2 for CRLF - if (bufferLen < totalLen) { - return ParserState::NeedMoreData; + auto* self = static_cast(evt->user_data); + if (self == nullptr) { + return ESP_OK; } - // Check for CRLF - if (!isCRLF(buffer + totalLen - 2)) { - OS_LOGW(TAG, "Invalid chunk payload CRLF"); - return ParserState::Invalid; + if (OpenShock::StringIEquals(evt->header_key, "Retry-After")) { + self->m_retryAfter.assign(evt->header_value); + } else if (OpenShock::StringIEquals(evt->header_key, "Connection")) { + self->m_connectionClose = OpenShock::StringIEquals(evt->header_value, "close"); } - return ParserState::Ok; + return ESP_OK; } -static void alignHttpChunk(uint8_t* buffer, std::size_t& bufferCursor, std::size_t payloadPos, std::size_t payloadLen) +void HTTP::Client::drop() { - std::size_t totalLen = payloadPos + payloadLen + 2; // +2 for CRLF - std::size_t remaining = bufferCursor - totalLen; - if (remaining > 0) { - memmove(buffer, buffer + totalLen, remaining); - bufferCursor = remaining; - } else { - bufferCursor = 0; + if (m_handle != nullptr) { + esp_http_client_close(m_handle); + esp_http_client_cleanup(m_handle); + m_handle = nullptr; } + m_headerKeys.clear(); } -static StreamReaderResult readHttpStreamDataChunked(HTTPClient& client, WiFiClient* stream, HTTP::DownloadCallback downloadCallback, int64_t begin, uint32_t timeoutMs) +HTTP::Response HTTP::Client::Download(std::string_view url, const std::map& headers, HTTP::GotContentLengthCallback contentLengthCallback, HTTP::DownloadCallback downloadCallback, std::span acceptedCodes, uint32_t timeoutMs) { - std::size_t totalWritten = 0; - HTTP::RequestResult result = HTTP::RequestResult::Success; - - uint8_t* buffer = static_cast(malloc(HTTP_BUFFER_SIZE)); - if (buffer == nullptr) { - OS_LOGE(TAG, "Out of memory"); - return {HTTP::RequestResult::RequestFailed, 0}; + std::shared_ptr rateLimiter = createRateLimiterForURL(url); + if (rateLimiter == nullptr) { + return {RequestResult::InvalidURL, 0, 0}; } - ParserState state = ParserState::NeedMoreData; - std::size_t bufferCursor = 0, payloadPos = 0, payloadSize = 0; - - while (client.connected() && state != ParserState::Invalid) { - if (begin + timeoutMs < OpenShock::millis()) { - OS_LOGW(TAG, "Request timed out"); - result = HTTP::RequestResult::TimedOut; - break; - } - - std::size_t bytesAvailable = stream->available(); - if (bytesAvailable == 0) { - vTaskDelay(pdMS_TO_TICKS(5)); - continue; - } - - std::size_t bytesRead = stream->readBytes(buffer + bufferCursor, HTTP_BUFFER_SIZE - bufferCursor); - if (bytesRead == 0) { - OS_LOGW(TAG, "No bytes read"); - result = HTTP::RequestResult::RequestFailed; - break; - } - - bufferCursor += bytesRead; + if (!rateLimiter->tryRequest()) { + return {RequestResult::RateLimited, 0, 0}; + } - while (bufferCursor > 0) { - state = tryParseHttpChunk(buffer, bufferCursor, payloadPos, payloadSize); - if (state == ParserState::Invalid) { - OS_LOGE(TAG, "Failed to parse chunk"); - result = HTTP::RequestResult::RequestFailed; - state = ParserState::Invalid; // Mark to exit both loops - break; - } - OS_LOGD(TAG, "Chunk parsed: %zu %zu", payloadPos, payloadSize); - - if (state == ParserState::NeedMoreData) { - if (bufferCursor == HTTP_BUFFER_SIZE) { - OS_LOGE(TAG, "Chunk too large"); - result = HTTP::RequestResult::RequestFailed; - state = ParserState::Invalid; // Mark to exit both loops - } - break; // If chunk size good, this only exits one loop - } + std::string urlStr(url); + m_retryAfter.clear(); + m_connectionClose = false; - // Check for zero chunk size (end of transfer) - if (payloadSize == 0) { - state = ParserState::Invalid; // Mark to exit both loops - break; - } + int64_t begin = OpenShock::millis(); - if (!downloadCallback(totalWritten, buffer + payloadPos, payloadSize)) { - result = HTTP::RequestResult::Cancelled; - state = ParserState::Invalid; // Mark to exit both loops - break; + // Open the connection, reusing the kept-alive handle when possible. If a + // reused (kept-alive) socket has been closed by the server, drop it and + // reconnect fresh once. HTTPS server certificates are not verified (matches + // the previous Arduino behavior). TODO: attach the embedded x509 cert bundle. + esp_err_t err = ESP_FAIL; + for (int attempt = 0; attempt < 2; ++attempt) { + bool reused = m_handle != nullptr; + + if (m_handle == nullptr) { + esp_http_client_config_t config = {}; + config.url = urlStr.c_str(); + config.user_agent = OpenShock::Constants::FW_USERAGENT; + config.method = HTTP_METHOD_GET; + config.timeout_ms = static_cast(timeoutMs); + config.keep_alive_enable = true; + config.event_handler = &Client::eventHandler; + config.user_data = this; + + m_handle = esp_http_client_init(&config); + if (m_handle == nullptr) { + OS_LOGE(TAG, "Failed to initialize HTTP client"); + return {RequestResult::RequestFailed, 0, 0}; } - - totalWritten += payloadSize; - alignHttpChunk(buffer, bufferCursor, payloadPos, payloadSize); - payloadSize = 0; - payloadPos = 0; - } - - if (state == ParserState::NeedMoreData) { - vTaskDelay(pdMS_TO_TICKS(5)); + } else { + esp_http_client_set_url(m_handle, urlStr.c_str()); + esp_http_client_set_method(m_handle, HTTP_METHOD_GET); + esp_http_client_set_timeout_ms(m_handle, static_cast(timeoutMs)); } - } - - free(buffer); - - return {result, totalWritten}; -} -static StreamReaderResult readHttpStreamData(HTTPClient& client, WiFiClient* stream, std::size_t contentLength, HTTP::DownloadCallback downloadCallback, int64_t begin, uint32_t timeoutMs) -{ - std::size_t nWritten = 0; - HTTP::RequestResult result = HTTP::RequestResult::Success; - - uint8_t* buffer = static_cast(malloc(HTTP_BUFFER_SIZE)); - if (buffer == nullptr) { - OS_LOGE(TAG, "Failed to allocate HTTP buffer"); - return {HTTP::RequestResult::InternalError, 0}; - } - - while (client.connected() && nWritten < contentLength) { - if (begin + timeoutMs < OpenShock::millis()) { - OS_LOGW(TAG, "Request timed out"); - result = HTTP::RequestResult::TimedOut; - break; + // Clear headers left over from a previous request on this reused handle. + for (const auto& key : m_headerKeys) { + esp_http_client_delete_header(m_handle, key.c_str()); } + m_headerKeys.clear(); - std::size_t bytesAvailable = stream->available(); - if (bytesAvailable == 0) { - vTaskDelay(pdMS_TO_TICKS(5)); - continue; + for (const auto& header : headers) { + esp_http_client_set_header(m_handle, header.first.c_str(), header.second.c_str()); + m_headerKeys.push_back(header.first); } - std::size_t bytesToRead = std::min(bytesAvailable, HTTP_BUFFER_SIZE); - - std::size_t bytesRead = stream->readBytes(buffer, bytesToRead); - if (bytesRead == 0) { - OS_LOGW(TAG, "No bytes read"); - result = HTTP::RequestResult::RequestFailed; + err = esp_http_client_open(m_handle, 0); + if (err == ESP_OK) { break; } - if (!downloadCallback(nWritten, buffer, bytesRead)) { - OS_LOGW(TAG, "Request cancelled by callback"); - result = HTTP::RequestResult::Cancelled; - break; + drop(); + if (!reused) { + OS_LOGE(TAG, "Failed to open HTTP connection: %s", esp_err_to_name(err)); + return {RequestResult::RequestFailed, 0, 0}; } - - nWritten += bytesRead; - - vTaskDelay(pdMS_TO_TICKS(10)); - } - - free(buffer); - - return {result, nWritten}; -} - -HTTP::Response - HTTP::Download(std::string_view url, const std::map& headers, HTTP::GotContentLengthCallback contentLengthCallback, HTTP::DownloadCallback downloadCallback, std::span acceptedCodes, uint32_t timeoutMs) -{ - std::shared_ptr rateLimiter = createRateLimiterForURL(url); - if (rateLimiter == nullptr) { - return {RequestResult::InvalidURL, 0, 0}; + OS_LOGD(TAG, "Reused connection failed to open, reconnecting"); } - - if (!rateLimiter->tryRequest()) { - return {RequestResult::RateLimited, 0, 0}; + if (err != ESP_OK) { + return {RequestResult::RequestFailed, 0, 0}; } - HTTPClient client; - client.setUserAgent(OpenShock::Constants::FW_USERAGENT); - - int64_t begin = OpenShock::millis(); - - // This method is horribly named, if you call the begin() method with one String parameter its HTTP, but the one with (String, const char*) is HTTPS. - // We pass null here for CAcert parameter to remove erroneous "unexpected protocol: https, expected http" warning, this is what begin(String) does as a fallback. - // This is yet another example of why we need to get rid of Arduino dependency lol - if (!client.begin(String(url.data(), url.size()), nullptr)) { - OS_LOGE(TAG, "Failed to begin HTTP request"); - return {HTTP::RequestResult::RequestFailed, 0, 0}; - } + // Tears down the connection when it can't be safely reused. + auto fail = [&](HTTP::RequestResult result, int code, std::size_t written) -> HTTP::Response { + drop(); + return {result, code, written}; + }; - for (auto& header : headers) { - client.addHeader(header.first, header.second); + int64_t contentLength = esp_http_client_fetch_headers(m_handle); + if (contentLength < 0) { + OS_LOGE(TAG, "Failed to fetch response headers"); + return fail(RequestResult::RequestFailed, 0, 0); } - int responseCode = client.GET(); + int responseCode = esp_http_client_get_status_code(m_handle); - if (responseCode == HTTP_CODE_REQUEST_TIMEOUT || begin + timeoutMs < OpenShock::millis()) { + if (begin + timeoutMs < OpenShock::millis()) { OS_LOGW(TAG, "Request timed out"); - return {HTTP::RequestResult::TimedOut, responseCode, 0}; + return fail(RequestResult::TimedOut, responseCode, 0); } - if (responseCode == HTTP_CODE_TOO_MANY_REQUESTS) { + if (responseCode == 429) { // Too Many Requests // https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Retry-After - - // Get "Retry-After" header - String retryAfterStr = client.header("Retry-After"); - - // Try to parse it as an integer (delay-seconds) long retryAfter = 0; - if (retryAfterStr.length() > 0 && std::all_of(retryAfterStr.begin(), retryAfterStr.end(), isdigit)) { - retryAfter = retryAfterStr.toInt(); + if (!m_retryAfter.empty() && std::all_of(m_retryAfter.begin(), m_retryAfter.end(), [](char c) { return std::isdigit(static_cast(c)) != 0; })) { + retryAfter = strtol(m_retryAfter.c_str(), nullptr, 10); } // If header missing/unparseable, default to 15 seconds @@ -403,10 +252,9 @@ HTTP::Response retryAfter = 15; } - // Apply the block-for time rateLimiter->blockFor(retryAfter * 1000); - return {HTTP::RequestResult::RateLimited, responseCode, 0}; + return fail(RequestResult::RateLimited, responseCode, 0); // body not drained } if (responseCode == 418) { @@ -415,43 +263,76 @@ HTTP::Response if (std::find(acceptedCodes.begin(), acceptedCodes.end(), responseCode) == acceptedCodes.end()) { OS_LOGD(TAG, "Received unexpected response code %d", responseCode); - return {HTTP::RequestResult::CodeRejected, responseCode, 0}; + return fail(RequestResult::CodeRejected, responseCode, 0); // body not drained } - int contentLength = client.getSize(); - if (contentLength == 0) { - return {HTTP::RequestResult::Success, responseCode, 0}; + bool chunked = esp_http_client_is_chunked_response(m_handle); + + if (contentLength > HTTP_DOWNLOAD_SIZE_LIMIT) { + OS_LOGE(TAG, "Content-Length too large"); + return fail(RequestResult::RequestFailed, responseCode, 0); } if (contentLength > 0) { - if (contentLength > HTTP_DOWNLOAD_SIZE_LIMIT) { - OS_LOGE(TAG, "Content-Length too large"); - return {HTTP::RequestResult::RequestFailed, responseCode, 0}; + if (!contentLengthCallback(static_cast(contentLength))) { + OS_LOGW(TAG, "Request cancelled by callback"); + return fail(RequestResult::Cancelled, responseCode, 0); + } + } else if (!chunked) { + // No Content-Length and not chunked => empty body. Nothing to drain. + if (m_connectionClose) { + drop(); + } + return {RequestResult::Success, responseCode, 0}; + } + + uint8_t* buffer = static_cast(malloc(HTTP_BUFFER_SIZE)); + if (buffer == nullptr) { + OS_LOGE(TAG, "Failed to allocate HTTP buffer"); + return fail(RequestResult::InternalError, responseCode, 0); + } + + std::size_t totalWritten = 0; + HTTP::RequestResult result = HTTP::RequestResult::Success; + + // esp_http_client_read transparently decodes chunked transfer-encoding. + int read; + while ((read = esp_http_client_read(m_handle, reinterpret_cast(buffer), static_cast(HTTP_BUFFER_SIZE))) > 0) { + if (begin + timeoutMs < OpenShock::millis()) { + OS_LOGW(TAG, "Request timed out"); + result = HTTP::RequestResult::TimedOut; + break; } - if (!contentLengthCallback(contentLength)) { + if (!downloadCallback(totalWritten, buffer, static_cast(read))) { OS_LOGW(TAG, "Request cancelled by callback"); - return {HTTP::RequestResult::Cancelled, responseCode, 0}; + result = HTTP::RequestResult::Cancelled; + break; } + + totalWritten += static_cast(read); + } + + free(buffer); + + if (result == HTTP::RequestResult::Success && (read < 0 || !esp_http_client_is_complete_data_received(m_handle))) { + OS_LOGW(TAG, "Response body was not fully received"); + result = HTTP::RequestResult::RequestFailed; } - WiFiClient* stream = client.getStreamPtr(); - if (stream == nullptr) { - OS_LOGE(TAG, "Failed to get stream"); - return {HTTP::RequestResult::RequestFailed, 0, 0}; + if (result != HTTP::RequestResult::Success) { + return fail(result, responseCode, totalWritten); // connection state uncertain } - StreamReaderResult result; - if (contentLength > 0) { - result = readHttpStreamData(client, stream, contentLength, downloadCallback, begin, timeoutMs); - } else { - result = readHttpStreamDataChunked(client, stream, downloadCallback, begin, timeoutMs); + // Success: keep the connection alive for the next request unless the server closed it. + if (m_connectionClose) { + drop(); } - return {result.result, responseCode, result.nWritten}; + return {result, responseCode, totalWritten}; } -HTTP::Response HTTP::GetString(std::string_view url, const std::map& headers, std::span acceptedCodes, uint32_t timeoutMs) +HTTP::Response HTTP::Client::GetString(std::string_view url, const std::map& headers, std::span acceptedCodes, uint32_t timeoutMs) { std::string result; diff --git a/components/hwutil/include/hwutil/PartitionUtils.h b/components/hwutil/include/hwutil/PartitionUtils.h index 22669020..ba06f0d4 100644 --- a/components/hwutil/include/hwutil/PartitionUtils.h +++ b/components/hwutil/include/hwutil/PartitionUtils.h @@ -7,6 +7,10 @@ #include namespace OpenShock { + namespace HTTP { + class Client; + } + bool TryGetPartitionHash(const esp_partition_t* partition, char (&hash)[65]); - bool FlashPartitionFromUrl(const esp_partition_t* partition, std::string_view remoteUrl, const uint8_t (&remoteHash)[32], std::function progressCallback = nullptr); + bool FlashPartitionFromUrl(HTTP::Client& client, const esp_partition_t* partition, std::string_view remoteUrl, const uint8_t (&remoteHash)[32], std::function progressCallback = nullptr); } diff --git a/components/hwutil/src/PartitionUtils.cpp b/components/hwutil/src/PartitionUtils.cpp index e0c1085e..7cfa3eb2 100644 --- a/components/hwutil/src/PartitionUtils.cpp +++ b/components/hwutil/src/PartitionUtils.cpp @@ -23,7 +23,7 @@ bool OpenShock::TryGetPartitionHash(const esp_partition_t* partition, char (&has return true; } -bool OpenShock::FlashPartitionFromUrl(const esp_partition_t* partition, std::string_view remoteUrl, const uint8_t (&remoteHash)[32], std::function progressCallback) +bool OpenShock::FlashPartitionFromUrl(HTTP::Client& client, const esp_partition_t* partition, std::string_view remoteUrl, const uint8_t (&remoteHash)[32], std::function progressCallback) { OpenShock::SHA256 sha256; if (!sha256.begin()) { @@ -77,7 +77,7 @@ bool OpenShock::FlashPartitionFromUrl(const esp_partition_t* partition, std::str }; // Start streaming binary to app partition. - auto appBinaryResponse = OpenShock::HTTP::Download( + auto appBinaryResponse = client.Download( remoteUrl, { {"Accept", "application/octet-stream"} diff --git a/include/OtaUpdateManager.h b/include/OtaUpdateManager.h index 3ce3314c..7067b087 100644 --- a/include/OtaUpdateManager.h +++ b/include/OtaUpdateManager.h @@ -9,6 +9,10 @@ #include #include +namespace OpenShock::HTTP { + class Client; +} + namespace OpenShock::OtaUpdateManager { [[nodiscard]] bool Init(); @@ -19,9 +23,9 @@ namespace OpenShock::OtaUpdateManager { uint8_t filesystemBinaryHash[32]; }; - bool TryGetFirmwareVersion(OtaUpdateChannel channel, OpenShock::SemVer& version); + bool TryGetFirmwareVersion(HTTP::Client& client, OtaUpdateChannel channel, OpenShock::SemVer& version); bool TryGetFirmwareBoards(const OpenShock::SemVer& version, std::vector& boards); - bool TryGetFirmwareRelease(const OpenShock::SemVer& version, FirmwareRelease& release); + bool TryGetFirmwareRelease(HTTP::Client& client, const OpenShock::SemVer& version, FirmwareRelease& release); bool TryStartFirmwareUpdate(const OpenShock::SemVer& version); diff --git a/src/OtaUpdateManager.cpp b/src/OtaUpdateManager.cpp index f60712c0..2882a983 100644 --- a/src/OtaUpdateManager.cpp +++ b/src/OtaUpdateManager.cpp @@ -175,7 +175,7 @@ static bool _sendFailureMessage(std::string_view message, bool fatal = false) return true; } -static bool otaum_flash_app_partition(const esp_partition_t* partition, std::string_view remoteUrl, const uint8_t (&remoteHash)[32]) +static bool otaum_flash_app_partition(OpenShock::HTTP::Client& client, const esp_partition_t* partition, std::string_view remoteUrl, const uint8_t (&remoteHash)[32]) { OS_LOGD(TAG, "Flashing app partition"); @@ -191,7 +191,7 @@ static bool otaum_flash_app_partition(const esp_partition_t* partition, std::str return true; }; - if (!OpenShock::FlashPartitionFromUrl(partition, remoteUrl, remoteHash, onProgress)) { + if (!OpenShock::FlashPartitionFromUrl(client, partition, remoteUrl, remoteHash, onProgress)) { OS_LOGE(TAG, "Failed to flash app partition"); _sendFailureMessage("Failed to flash app partition"sv); return false; @@ -211,7 +211,7 @@ static bool otaum_flash_app_partition(const esp_partition_t* partition, std::str return true; } -static bool otaum_flash_fs_partition(const esp_partition_t* parition, std::string_view remoteUrl, const uint8_t (&remoteHash)[32]) +static bool otaum_flash_fs_partition(OpenShock::HTTP::Client& client, const esp_partition_t* parition, std::string_view remoteUrl, const uint8_t (&remoteHash)[32]) { if (!otaum_send_progress_msg(Serialization::Types::OtaUpdateProgressTask::PreparingForUpdate, 0.0f)) { return false; @@ -238,7 +238,7 @@ static bool otaum_flash_fs_partition(const esp_partition_t* parition, std::strin return true; }; - if (!OpenShock::FlashPartitionFromUrl(parition, remoteUrl, remoteHash, onProgress)) { + if (!OpenShock::FlashPartitionFromUrl(client, parition, remoteUrl, remoteHash, onProgress)) { OS_LOGE(TAG, "Failed to flash filesystem partition"); _sendFailureMessage("Failed to flash filesystem partition"sv); return false; @@ -353,6 +353,10 @@ static void otaum_updatetask(void* arg) continue; } + // Reuse a single connection for this update's sequential CDN requests + // (version -> release -> filesystem binary -> app binary). + OpenShock::HTTP::Client client; + OpenShock::SemVer version; if (updateRequested) { updateRequested = false; @@ -365,7 +369,7 @@ static void otaum_updatetask(void* arg) OS_LOGD(TAG, "Checking for updates"); // Fetch current version. - if (!OtaUpdateManager::TryGetFirmwareVersion(config.updateChannel, version)) { + if (!OtaUpdateManager::TryGetFirmwareVersion(client, config.updateChannel, version)) { OS_LOGE(TAG, "Failed to fetch firmware version"); continue; } @@ -402,7 +406,7 @@ static void otaum_updatetask(void* arg) // Fetch current release. OtaUpdateManager::FirmwareRelease release; - if (!OtaUpdateManager::TryGetFirmwareRelease(version, release)) { + if (!OtaUpdateManager::TryGetFirmwareRelease(client, version, release)) { OS_LOGE(TAG, "Failed to fetch firmware release"); // TODO: Send error message to server _sendFailureMessage("Failed to fetch firmware release"sv); continue; @@ -441,11 +445,11 @@ static void otaum_updatetask(void* arg) } // Flash app and filesystem partitions. - if (!otaum_flash_fs_partition(filesystemPartition, release.filesystemBinaryUrl, release.filesystemBinaryHash)) { + if (!otaum_flash_fs_partition(client, filesystemPartition, release.filesystemBinaryUrl, release.filesystemBinaryHash)) { otaum_restore_wdt_timeout(); continue; } - if (!otaum_flash_app_partition(appPartition, release.appBinaryUrl, release.appBinaryHash)) { + if (!otaum_flash_app_partition(client, appPartition, release.appBinaryUrl, release.appBinaryHash)) { otaum_restore_wdt_timeout(); continue; } @@ -578,7 +582,7 @@ bool OtaUpdateManager::Init() return true; } -bool OtaUpdateManager::TryGetFirmwareVersion(OtaUpdateChannel channel, OpenShock::SemVer& version) +bool OtaUpdateManager::TryGetFirmwareVersion(HTTP::Client& client, OtaUpdateChannel channel, OpenShock::SemVer& version) { std::string_view channelIndexUrl; switch (channel) { @@ -598,7 +602,7 @@ bool OtaUpdateManager::TryGetFirmwareVersion(OtaUpdateChannel channel, OpenShock OS_LOGD(TAG, "Fetching firmware version from %s", channelIndexUrl); - auto response = OpenShock::HTTP::GetString( + auto response = client.GetString( channelIndexUrl, { {"Accept", "text/plain"} @@ -646,7 +650,7 @@ static bool _tryParseIntoHash(std::string_view hash, uint8_t (&hashBytes)[32]) return true; } -bool OtaUpdateManager::TryGetFirmwareRelease(const OpenShock::SemVer& version, FirmwareRelease& release) +bool OtaUpdateManager::TryGetFirmwareRelease(HTTP::Client& client, const OpenShock::SemVer& version, FirmwareRelease& release) { auto versionStr = version.toString(); // TODO: This is abusing the SemVer::toString() method causing alot of string copies, fix this @@ -668,7 +672,7 @@ bool OtaUpdateManager::TryGetFirmwareRelease(const OpenShock::SemVer& version, F } // Fetch hashes. - auto sha256HashesResponse = OpenShock::HTTP::GetString( + auto sha256HashesResponse = client.GetString( sha256HashesUrl, { {"Accept", "text/plain"} diff --git a/src/http/JsonAPI.cpp b/src/http/JsonAPI.cpp index 37a9a042..20592464 100644 --- a/src/http/JsonAPI.cpp +++ b/src/http/JsonAPI.cpp @@ -51,7 +51,7 @@ HTTP::Response HTTP::JsonAPI::GetHubInf uri, { {"Accept", "application/json"}, - {"DeviceToken", String(hubToken.data(), hubToken.size())} + {"DeviceToken", std::string(hubToken)} }, Serialization::JsonAPI::ParseHubInfoJsonResponse, std::array {200} @@ -76,7 +76,7 @@ HTTP::Response HTTP::JsonAPI::AssignL uri, { {"Accept", "application/json"}, - {"DeviceToken", String(hubToken.data(), hubToken.size())} + {"DeviceToken", std::string(hubToken)} }, Serialization::JsonAPI::ParseAssignLcgJsonResponse, std::array {200} From f075170d4c0c76dbf95c585d3a98b0e7e93f3569 Mon Sep 17 00:00:00 2001 From: HeavenVR Date: Thu, 9 Jul 2026 15:43:37 +0200 Subject: [PATCH 36/91] refactor(ip): drop Arduino IPAddress, remove dead IP config helpers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit IPAddressUtils (IPV4AddressFromStringView) and the config helpers that were its only callers (FromFbsIPAddress, FromJsonIPAddress) were dead code — no static-IP config field exists in the schema, so nothing invoked them. Delete them instead of porting to esp_ip4_addr_t. This removes the last framework-arduinoespressif32 REQUIRES from components/hwutil, leaving only esp_partition (PartitionUtils). --- components/hwutil/CMakeLists.txt | 13 ++--- .../hwutil/include/hwutil/IPAddressUtils.h | 9 ---- components/hwutil/src/IPAddressUtils.cpp | 27 ----------- include/config/internal/utils.h | 5 -- src/config/internal/utils.cpp | 47 ------------------- 5 files changed, 5 insertions(+), 96 deletions(-) delete mode 100644 components/hwutil/include/hwutil/IPAddressUtils.h delete mode 100644 components/hwutil/src/IPAddressUtils.cpp diff --git a/components/hwutil/CMakeLists.txt b/components/hwutil/CMakeLists.txt index 853a604f..daf491c0 100644 --- a/components/hwutil/CMakeLists.txt +++ b/components/hwutil/CMakeLists.txt @@ -1,17 +1,14 @@ -# Hardware/Arduino-dependent utilities split out of `util` so that `util` stays -# pure std-C++ and host-testable. These pull in Arduino (IPAddress) and firmware -# (esp_partition, HTTP OTA) types that do not exist on the linux host target. +# Hardware-dependent utilities split out of `util` so that `util` stays +# pure std-C++ and host-testable. These pull in firmware (esp_partition, HTTP +# OTA) types that do not exist on the linux host target. # # Public surface: -# include/hwutil/IPAddressUtils.h — parse an IPv4 string into an Arduino IPAddress # include/hwutil/PartitionUtils.h — hash / flash an esp_partition from a URL idf_component_register( - SRCS "src/IPAddressUtils.cpp" - "src/PartitionUtils.cpp" + SRCS "src/PartitionUtils.cpp" INCLUDE_DIRS "include" - REQUIRES framework-arduinoespressif32 # IPAddress.h in public header - esp_partition # esp_partition_t in public header + REQUIRES esp_partition # esp_partition_t in public header PRIV_REQUIRES util # Convert, StringUtils, Hashing, HexUtils temporal # Temporal.h http # HTTPRequestManager (URL flashing) diff --git a/components/hwutil/include/hwutil/IPAddressUtils.h b/components/hwutil/include/hwutil/IPAddressUtils.h deleted file mode 100644 index d9cfe9c9..00000000 --- a/components/hwutil/include/hwutil/IPAddressUtils.h +++ /dev/null @@ -1,9 +0,0 @@ -#pragma once - -#include - -#include - -namespace OpenShock { - bool IPV4AddressFromStringView(IPAddress& ip, std::string_view sv); -} diff --git a/components/hwutil/src/IPAddressUtils.cpp b/components/hwutil/src/IPAddressUtils.cpp deleted file mode 100644 index a9794214..00000000 --- a/components/hwutil/src/IPAddressUtils.cpp +++ /dev/null @@ -1,27 +0,0 @@ -#include "hwutil/IPAddressUtils.h" - -#include "Convert.h" -#include "util/StringUtils.h" - -const char* const TAG = "Util::IPAddressUtils"; - -bool OpenShock::IPV4AddressFromStringView(IPAddress& ip, std::string_view sv) -{ - if (sv.empty()) { - return false; - } - - std::string_view parts[4]; - if (!OpenShock::TryStringSplit(sv, '.', parts)) { - return false; // Must have 4 octets - } - - std::uint8_t octets[4]; - if (!Convert::ToUint8(parts[0], octets[0]) || !Convert::ToUint8(parts[1], octets[1]) || !Convert::ToUint8(parts[2], octets[2]) || !Convert::ToUint8(parts[3], octets[3])) { - return false; - } - - ip = IPAddress(octets); - - return true; -} diff --git a/include/config/internal/utils.h b/include/config/internal/utils.h index 5fbe37e9..27a4739d 100644 --- a/include/config/internal/utils.h +++ b/include/config/internal/utils.h @@ -5,7 +5,6 @@ #include "json/Json.h" #include -#include #include #include @@ -15,7 +14,6 @@ namespace OpenShock::Config::Internal::Utils { void FromU8GpioNum(gpio_num_t& val, uint8_t u8Val, gpio_num_t defaultVal); void FromFbsStr(std::string& str, const flatbuffers::String* fbsStr, const char* defaultStr); - bool FromFbsIPAddress(IPAddress& ip, const flatbuffers::String* fbsIP, const IPAddress& defaultIP); bool FromJsonBool(bool& val, JSON::JsonView json, std::string_view name, bool defaultVal); bool FromJsonU8(uint8_t& val, JSON::JsonView json, std::string_view name, uint8_t defaultVal); bool FromJsonU16(uint16_t& val, JSON::JsonView json, std::string_view name, uint16_t defaultVal); @@ -24,9 +22,6 @@ namespace OpenShock::Config::Internal::Utils { bool FromJsonStr(std::string& str, JSON::JsonView json, std::string_view name); void FromJsonStr(std::string& str, JSON::JsonView json, std::string_view name, const char* defaultStr); - bool FromJsonIPAddress(IPAddress& ip, JSON::JsonView json, std::string_view name); - void FromJsonIPAddress(IPAddress& ip, JSON::JsonView json, std::string_view name, const IPAddress& defaultIP); - bool FromJsonGpioNum(gpio_num_t& val, JSON::JsonView json, std::string_view name); void FromJsonGpioNum(gpio_num_t& val, JSON::JsonView json, std::string_view name, gpio_num_t defaultVal); diff --git a/src/config/internal/utils.cpp b/src/config/internal/utils.cpp index 44271488..e91445b7 100644 --- a/src/config/internal/utils.cpp +++ b/src/config/internal/utils.cpp @@ -3,7 +3,6 @@ const char* const TAG = "Config::Internal::Utils"; #include "Chipset.h" -#include "hwutil/IPAddressUtils.h" #include "Logging.h" #include @@ -69,23 +68,6 @@ void Config::Internal::Utils::FromFbsStr(std::string& str, const flatbuffers::St } } -bool Config::Internal::Utils::FromFbsIPAddress(IPAddress& ip, const flatbuffers::String* fbsIP, const IPAddress& defaultIP) -{ - if (fbsIP == nullptr) { - ip = defaultIP; - return true; - } - - std::string_view view(*fbsIP); - - if (!OpenShock::IPV4AddressFromStringView(ip, view)) { - OS_LOGE(TAG, "failed to parse IP address"); - return false; - } - - return true; -} - bool Config::Internal::Utils::FromJsonBool(bool& val, JSON::JsonView json, std::string_view name, bool defaultVal) { JSON::JsonView jsonVal = json[name]; @@ -143,35 +125,6 @@ void Config::Internal::Utils::FromJsonStr(std::string& str, JSON::JsonView json, } } -bool Config::Internal::Utils::FromJsonIPAddress(IPAddress& ip, JSON::JsonView json, std::string_view name) -{ - JSON::JsonView jsonVal = json[name]; - if (!jsonVal.valid()) { - OS_LOGE(TAG, "value at '%.*s' is null", static_cast(name.length()), name.data()); - return false; - } - - std::string_view view; - if (!jsonVal.tryGetStr(view)) { - OS_LOGE(TAG, "value at '%.*s' is not a string", static_cast(name.length()), name.data()); - return false; - } - - if (!OpenShock::IPV4AddressFromStringView(ip, view)) { - OS_LOGE(TAG, "failed to parse IP address at '%.*s'", static_cast(name.length()), name.data()); - return false; - } - - return true; -} - -void Config::Internal::Utils::FromJsonIPAddress(IPAddress& ip, JSON::JsonView json, std::string_view name, const IPAddress& defaultIP) -{ - if (!FromJsonIPAddress(ip, json, name)) { - ip = defaultIP; - } -} - bool Config::Internal::Utils::FromJsonGpioNum(gpio_num_t& val, JSON::JsonView json, std::string_view name) { uint8_t u8Val; From c523a7b692d24d1231f311e864c5c3abbf57aacb Mon Sep 17 00:00:00 2001 From: HeavenVR Date: Thu, 9 Jul 2026 16:10:15 +0200 Subject: [PATCH 37/91] refactor(events): extract event bus into its own components/events Move the OPENSHOCK_EVENTS esp_event base, event-id enum and Init() out of the app sources into a dedicated `events` component (mirrors the existing components/ layout). Also add OPENSHOCK_EVENT_WIFI_STATE_CHANGED and the OpenShockWiFiState payload enum here, so the WiFi migration can post a first-class connectivity event instead of relying on the Arduino event shim. No behavior change; app now REQUIRES the events component. --- components/events/CMakeLists.txt | 14 +++++++++ components/events/include/events/Events.h | 31 +++++++++++++++++++ .../events/src}/Events.cpp | 0 include/events/Events.h | 22 ------------- src/CMakeLists.txt | 2 +- 5 files changed, 46 insertions(+), 23 deletions(-) create mode 100644 components/events/CMakeLists.txt create mode 100644 components/events/include/events/Events.h rename {src/events => components/events/src}/Events.cpp (100%) delete mode 100644 include/events/Events.h diff --git a/components/events/CMakeLists.txt b/components/events/CMakeLists.txt new file mode 100644 index 00000000..e310c05b --- /dev/null +++ b/components/events/CMakeLists.txt @@ -0,0 +1,14 @@ +# OpenShock application event bus: the OPENSHOCK_EVENTS esp_event base, the event +# id enum, and the POD payload structs posted with each event. Kept as its own +# component so any layer can depend on the event contract without pulling in the +# emitters/consumers. +# +# Public surface: +# include/events/Events.h — OPENSHOCK_EVENTS base, event ids, payload structs, Init() + +idf_component_register( + SRCS "src/Events.cpp" + INCLUDE_DIRS "include" + REQUIRES esp_event # OPENSHOCK_EVENTS base + default event loop (public header) + PRIV_REQUIRES logging # Logging.h +) diff --git a/components/events/include/events/Events.h b/components/events/include/events/Events.h new file mode 100644 index 00000000..7f1a75d8 --- /dev/null +++ b/components/events/include/events/Events.h @@ -0,0 +1,31 @@ +#pragma once + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +ESP_EVENT_DECLARE_BASE(OPENSHOCK_EVENTS); + +enum { + OPENSHOCK_EVENT_ESTOP_STATE_CHANGED, // Event for when the EStop activation state changes + OPENSHOCK_EVENT_GATEWAY_CLIENT_STATE_CHANGED, // Event for when the gateway connection state changes + OPENSHOCK_EVENT_WIFI_STATE_CHANGED, // Event for when the WiFi station connectivity state changes +}; + +// Coarse WiFi station connectivity, posted as the OPENSHOCK_EVENT_WIFI_STATE_CHANGED payload. +typedef enum { + OPENSHOCK_WIFI_STATE_DISCONNECTED = 0, // Not associated to an AP + OPENSHOCK_WIFI_STATE_CONNECTING, // Association / auth in progress + OPENSHOCK_WIFI_STATE_CONNECTED, // Associated (L2), no IP yet + OPENSHOCK_WIFI_STATE_GOT_IP, // Associated and has an IP address (L3, usable) +} OpenShockWiFiState; + +#ifdef __cplusplus +} +#endif + +namespace OpenShock::Events { + bool Init(); +} diff --git a/src/events/Events.cpp b/components/events/src/Events.cpp similarity index 100% rename from src/events/Events.cpp rename to components/events/src/Events.cpp diff --git a/include/events/Events.h b/include/events/Events.h deleted file mode 100644 index a47706a3..00000000 --- a/include/events/Events.h +++ /dev/null @@ -1,22 +0,0 @@ -#pragma once - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -ESP_EVENT_DECLARE_BASE(OPENSHOCK_EVENTS); - -enum { - OPENSHOCK_EVENT_ESTOP_STATE_CHANGED, // Event for when the EStop activation state changes - OPENSHOCK_EVENT_GATEWAY_CLIENT_STATE_CHANGED, // Event for when the gateway connection state changes -}; - -#ifdef __cplusplus -} -#endif - -namespace OpenShock::Events { - bool Init(); -} diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 2c1389c2..ce0b6797 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -2,5 +2,5 @@ FILE(GLOB_RECURSE app_sources ${CMAKE_SOURCE_DIR}/src/*.*) idf_component_register( SRCS ${app_sources} - REQUIRES common temporal logging panic concurrency util hwutil http chipset led_drivers protocols osjson esp_driver_uart esp_driver_usb_serial_jtag esp_driver_rmt + REQUIRES common temporal logging panic concurrency util hwutil http chipset led_drivers protocols osjson events esp_driver_uart esp_driver_usb_serial_jtag esp_driver_rmt ) From e4e4e898e5e6ea81daec9a93728250ac89a649d1 Mon Sep 17 00:00:00 2001 From: HeavenVR Date: Thu, 9 Jul 2026 16:34:08 +0200 Subject: [PATCH 38/91] refactor(wifi): migrate WiFi/scan/SoftAP from Arduino WiFi to esp_wifi Replace the Arduino `WiFi` class and its `arduino_event_t` shim with native esp_wifi / esp_netif / esp_event across the WiFi subsystem: - WiFiScanManager: drop the hand-rolled per-channel scan task; a single async esp_wifi_scan_start + WIFI_EVENT_SCAN_DONE fans results through the existing handler registries. Callback API unchanged. - WiFiManager: own the esp_netif/esp_wifi bringup Arduino used to do implicitly (esp_netif_init, default STA netif, esp_wifi_init, mode, start). Connect via esp_wifi_set_config + esp_wifi_connect with ALL_CHANNEL_SCAN + BY_SIGNAL + failure_retry_cnt so esp_wifi owns BSSID selection/retry. STA lifecycle now driven by esp_event (WIFI_EVENT/IP_EVENT). Post a first-class OPENSHOCK_EVENT_WIFI_STATE_CHANGED on the OpenShock event bus. Public API, wire protocol and the implicit priority policy are unchanged. Storage is RAM (Config is the single source of truth; drop the boot NVS-cache reconnect). - Captive-portal SoftAP control moves to esp_wifi too (STA and AP share one esp_wifi instance, so Arduino's AP path could not coexist with esp_wifi STA): Manager.cpp configures WIFI_IF_AP + a static 4.3.2.1 AP netif; the fixed IP is exposed via CaptivePortal::ApIPv4String() for the DNS server and RFC8908 handler. The HTTP/DNS/WS server stack stays Arduino for now. - GatewayConnectionManager reacts to OPENSHOCK_EVENT_WIFI_STATE_CHANGED instead of WiFi.onEvent. Add the esp headers OtaUpdateManager was getting transitively via . WiFiCredentials.h uses for wifi_auth_mode_t. Restore the event-handler stack headroom lost by moving off Arduino's 4096-byte event task (CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE 2304 -> 4096). Builds on ESP32 / C3 / S3; frees ~34KB flash. --- include/captiveportal/Manager.h | 3 + include/config/WiFiCredentials.h | 2 +- include/wifi/WiFiScanManager.h | 1 + sdkconfig.defaults | 6 + src/GatewayConnectionManager.cpp | 41 +-- src/OtaUpdateManager.cpp | 4 +- src/captiveportal/CaptivePortalInstance.cpp | 4 +- src/captiveportal/Manager.cpp | 71 +++-- src/captiveportal/RFC8908Handler.cpp | 5 +- src/wifi/WiFiManager.cpp | 223 ++++++++++---- src/wifi/WiFiScanManager.cpp | 310 +++++++------------- 11 files changed, 364 insertions(+), 306 deletions(-) diff --git a/include/captiveportal/Manager.h b/include/captiveportal/Manager.h index 4fba93c6..59be1c30 100644 --- a/include/captiveportal/Manager.h +++ b/include/captiveportal/Manager.h @@ -17,6 +17,9 @@ namespace OpenShock::CaptivePortal { bool IsRunning(); + /// @brief The fixed IPv4 address the captive portal AP serves from (e.g. "4.3.2.1"). + const char* ApIPv4String(); + bool SendMessageTXT(uint8_t socketId, std::string_view data); bool SendMessageBIN(uint8_t socketId, std::span data); diff --git a/include/config/WiFiCredentials.h b/include/config/WiFiCredentials.h index e2ff0ddb..017acda2 100644 --- a/include/config/WiFiCredentials.h +++ b/include/config/WiFiCredentials.h @@ -3,7 +3,7 @@ #include "config/ConfigBase.h" #include -#include +#include #include #include diff --git a/include/wifi/WiFiScanManager.h b/include/wifi/WiFiScanManager.h index 691c03ba..c6fc4327 100644 --- a/include/wifi/WiFiScanManager.h +++ b/include/wifi/WiFiScanManager.h @@ -6,6 +6,7 @@ #include #include +#include namespace OpenShock::WiFiScanManager { [[nodiscard]] bool Init(); diff --git a/sdkconfig.defaults b/sdkconfig.defaults index bdf10373..54f3e7b9 100644 --- a/sdkconfig.defaults +++ b/sdkconfig.defaults @@ -5,6 +5,12 @@ CONFIG_AUTOSTART_ARDUINO=y # Keep main task large enough for Arduino setup() / existing init chain CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192 +# WiFi/IP event handlers (WiFiManager, GatewayConnectionManager) now run directly +# on the default event loop task instead of Arduino's separate 4096-byte event +# task. They do flatbuffer serialization + websocket broadcast, so restore that +# headroom here (default is 2304). +CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=4096 + # Arduino expects these selected via ENABLE_ARDUINO_DEPENDS, but be explicit CONFIG_LWIP_SO_RCVBUF=y diff --git a/src/GatewayConnectionManager.cpp b/src/GatewayConnectionManager.cpp index c4dc9f3b..2a947f00 100644 --- a/src/GatewayConnectionManager.cpp +++ b/src/GatewayConnectionManager.cpp @@ -6,6 +6,7 @@ const char* const TAG = "GatewayConnectionManager"; #include "captiveportal/Manager.h" #include "config/Config.h" +#include "events/Events.h" #include "GatewayClient.h" #include "http/JsonAPI.h" #include "Logging.h" @@ -63,21 +64,25 @@ static void DestroyClient() s_wsClient = nullptr; } -static void evh_gotIP(arduino_event_t* event) +static void handleWiFiStateChanged(void* arg, esp_event_base_t base, int32_t id, void* data) { - (void)event; - - s_flags.fetch_or(FLAG_HAS_IP, std::memory_order_relaxed); - OS_LOGD(TAG, "Got IP address"); -} - -static void evh_wiFiDisconnected(arduino_event_t* event) -{ - (void)event; - - s_flags.store(FLAG_NONE, std::memory_order_relaxed); - DestroyClient(); - OS_LOGD(TAG, "Lost IP address"); + (void)arg; + (void)base; + (void)id; + + switch (*static_cast(data)) { + case OPENSHOCK_WIFI_STATE_GOT_IP: + s_flags.fetch_or(FLAG_HAS_IP, std::memory_order_relaxed); + OS_LOGD(TAG, "Got IP address"); + break; + case OPENSHOCK_WIFI_STATE_DISCONNECTED: + s_flags.store(FLAG_NONE, std::memory_order_relaxed); + DestroyClient(); + OS_LOGD(TAG, "Lost IP address"); + break; + default: + break; + } } static bool checkIsDeAuthRateLimited(int64_t millis) @@ -94,9 +99,11 @@ namespace JsonAPI = OpenShock::Serialization::JsonAPI; bool GatewayConnectionManager::Init() { - WiFi.onEvent(evh_gotIP, ARDUINO_EVENT_WIFI_STA_GOT_IP); - WiFi.onEvent(evh_gotIP, ARDUINO_EVENT_WIFI_STA_GOT_IP6); - WiFi.onEvent(evh_wiFiDisconnected, ARDUINO_EVENT_WIFI_STA_DISCONNECTED); + esp_err_t err = esp_event_handler_register(OPENSHOCK_EVENTS, OPENSHOCK_EVENT_WIFI_STATE_CHANGED, handleWiFiStateChanged, nullptr); + if (err != ESP_OK) { + OS_LOGE(TAG, "Failed to register WiFi state event handler: %s", esp_err_to_name(err)); + return false; + } return true; } diff --git a/src/OtaUpdateManager.cpp b/src/OtaUpdateManager.cpp index 2882a983..394c1353 100644 --- a/src/OtaUpdateManager.cpp +++ b/src/OtaUpdateManager.cpp @@ -20,11 +20,13 @@ const char* const TAG = "OtaUpdateManager"; #include "util/TaskUtils.h" #include "wifi/WiFiManager.h" +#include +#include #include #include +#include #include -#include #include #include diff --git a/src/captiveportal/CaptivePortalInstance.cpp b/src/captiveportal/CaptivePortalInstance.cpp index a8818b6e..6e8dfada 100644 --- a/src/captiveportal/CaptivePortalInstance.cpp +++ b/src/captiveportal/CaptivePortalInstance.cpp @@ -28,8 +28,6 @@ const char* const TAG = "CaptivePortalInstance"; #include "json/Json.h" -#include - const uint16_t HTTP_PORT = 80; const uint16_t WEBSOCKET_PORT = 81; const uint16_t DNS_PORT = 53; @@ -106,7 +104,7 @@ CaptivePortal::CaptivePortalInstance::CaptivePortalInstance() m_socketServer.enableHeartbeat(WEBSOCKET_PING_INTERVAL, WEBSOCKET_PING_TIMEOUT, WEBSOCKET_PING_RETRIES); OS_LOGI(TAG, "Setting up DNS server"); - bool dnsStarted = m_dnsServer.start(DNS_PORT, "*", WiFi.softAPIP()); + bool dnsStarted = m_dnsServer.start(DNS_PORT, "*", IPAddress(4, 3, 2, 1)); // CaptivePortal::ApIPv4String() if (!dnsStarted) { OS_LOGE(TAG, "Failed to start DNS server!"); diff --git a/src/captiveportal/Manager.cpp b/src/captiveportal/Manager.cpp index 2e715835..8b13b8d8 100644 --- a/src/captiveportal/Manager.cpp +++ b/src/captiveportal/Manager.cpp @@ -13,13 +13,17 @@ const char* const TAG = "CaptivePortal"; #include #include -#include +#include +#include #include +#include +#include #include "SimpleMutex.h" #include +#include #include using namespace OpenShock; @@ -30,6 +34,11 @@ static std::atomic s_userDone = false; static esp_timer_handle_t s_captivePortalUpdateLoopTimer = nullptr; static SimpleMutex s_instanceMutex; static std::shared_ptr s_instance = nullptr; +static esp_netif_t* s_apNetif = nullptr; + +// The captive portal AP always serves from this fixed address; the DNS server and +// RFC8908 handler reference it too (see CaptivePortal::ApIPv4String()). +static const char* const CAPTIVE_PORTAL_AP_IP = "4.3.2.1"; // Absolute esp_timer timestamps (microseconds). 0 = not armed. static std::atomic s_startupGraceExpiry = 0; // Don't open portal until this time passes @@ -72,28 +81,48 @@ static bool captiveportal_start() OS_LOGI(TAG, "Starting captive portal"); - if (!WiFi.enableAP(true)) { - OS_LOGE(TAG, "Failed to enable AP mode"); - return false; - } + // esp_wifi is already initialized by WiFiManager; create the AP netif once and + // pin it to a fixed IP so the DNS/HTTP portal has a stable address. + if (s_apNetif == nullptr) { + s_apNetif = esp_netif_create_default_wifi_ap(); + if (s_apNetif == nullptr) { + OS_LOGE(TAG, "Failed to create AP netif"); + return false; + } - if (!WiFi.softAP((OPENSHOCK_FW_AP_PREFIX + WiFi.macAddress()).c_str())) { - OS_LOGE(TAG, "Failed to start AP"); - WiFi.enableAP(false); - return false; + esp_netif_ip_info_t ipInfo = {}; + esp_netif_str_to_ip4(CAPTIVE_PORTAL_AP_IP, &ipInfo.ip); + esp_netif_str_to_ip4(CAPTIVE_PORTAL_AP_IP, &ipInfo.gw); + esp_netif_str_to_ip4("255.255.255.0", &ipInfo.netmask); + + esp_netif_dhcps_stop(s_apNetif); + esp_netif_set_ip_info(s_apNetif, &ipInfo); + esp_netif_dhcps_start(s_apNetif); } - IPAddress apIP(4, 3, 2, 1); - if (!WiFi.softAPConfig(apIP, apIP, IPAddress(255, 255, 255, 0))) { - OS_LOGE(TAG, "Failed to configure AP"); - WiFi.softAPdisconnect(true); + // AP SSID = prefix + this device's STA MAC (matches the old Arduino naming). + uint8_t mac[6]; + esp_read_mac(mac, ESP_MAC_WIFI_STA); + + wifi_config_t apConfig = {}; + snprintf(reinterpret_cast(apConfig.ap.ssid), sizeof(apConfig.ap.ssid), "%s%02X:%02X:%02X:%02X:%02X:%02X", OPENSHOCK_FW_AP_PREFIX, mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]); + apConfig.ap.ssid_len = strlen(reinterpret_cast(apConfig.ap.ssid)); + apConfig.ap.channel = 1; + apConfig.ap.authmode = WIFI_AUTH_OPEN; + apConfig.ap.max_connection = 4; + apConfig.ap.beacon_interval = 100; + + esp_err_t err = esp_wifi_set_mode(WIFI_MODE_APSTA); + if (err != ESP_OK) { + OS_LOGE(TAG, "Failed to enable AP mode: %s", esp_err_to_name(err)); return false; } - std::string hostname; - if (!Config::GetWiFiHostname(hostname)) { - OS_LOGE(TAG, "Failed to get WiFi hostname, reverting to default"); - hostname = OPENSHOCK_FW_HOSTNAME; + err = esp_wifi_set_config(WIFI_IF_AP, &apConfig); + if (err != ESP_OK) { + OS_LOGE(TAG, "Failed to configure AP: %s", esp_err_to_name(err)); + esp_wifi_set_mode(WIFI_MODE_STA); + return false; } CreateInstance(); @@ -112,7 +141,8 @@ static void captiveportal_stop() DestroyInstance(); s_userDone = false; - WiFi.softAPdisconnect(true); + // Drop the AP but keep the STA connection alive. + esp_wifi_set_mode(WIFI_MODE_STA); } static void captiveportal_updateloop(void*) @@ -256,6 +286,11 @@ bool CaptivePortal::IsRunning() return GetInstance() != nullptr; } +const char* CaptivePortal::ApIPv4String() +{ + return CAPTIVE_PORTAL_AP_IP; +} + bool CaptivePortal::SendMessageTXT(uint8_t socketId, std::string_view data) { auto instance = GetInstance(); diff --git a/src/captiveportal/RFC8908Handler.cpp b/src/captiveportal/RFC8908Handler.cpp index eec59f43..09875d57 100644 --- a/src/captiveportal/RFC8908Handler.cpp +++ b/src/captiveportal/RFC8908Handler.cpp @@ -2,13 +2,12 @@ const char* const TAG = "RFC8908Handler"; +#include "captiveportal/Manager.h" #include "http/ContentTypes.h" #include "Logging.h" #include -#include - #include "json/Json.h" using namespace OpenShock; @@ -19,7 +18,7 @@ static const char* const probeRequestrefixes[] = {"/gen_204", "/generate_204", " static String GetCaptivePortalUrl() { - return String("http://") + WiFi.softAPIP().toString() + "/"; + return String("http://") + CaptivePortal::ApIPv4String() + "/"; } // Catch-all handler for OS connectivity probes. diff --git a/src/wifi/WiFiManager.cpp b/src/wifi/WiFiManager.cpp index f92b3a48..739eddd3 100644 --- a/src/wifi/WiFiManager.cpp +++ b/src/wifi/WiFiManager.cpp @@ -1,27 +1,30 @@ +#include + #include "wifi/WiFiManager.h" const char* const TAG = "WiFiManager"; #include "captiveportal/Manager.h" #include "config/Config.h" +#include "events/Events.h" #include "FormatHelpers.h" #include "Logging.h" #include "serialization/WSLocal.h" #include "Temporal.h" #include "util/TaskUtils.h" -#include "visual/VisualStateManager.h" #include "wifi/WiFiNetwork.h" #include "wifi/WiFiScanManager.h" -#include - +#include #include -#include +#include #include "SimpleMutex.h" +#include #include #include +#include #include using namespace OpenShock; @@ -84,6 +87,7 @@ enum class WiFiState : uint8_t { Connected = 1 << 1, }; +static esp_netif_t* s_staNetif = nullptr; static std::atomic s_wifiState {WiFiState::Disconnected}; static uint8_t s_connectedBSSID[6] = {0}; static std::atomic s_connectedCredentialsID = 0; @@ -91,6 +95,17 @@ static std::atomic s_preferredCredentialsID = 0; static OpenShock::SimpleMutex s_networksMutex; static std::vector s_wifiNetworks; +// Broadcast a coarse connectivity change on the OpenShock event bus. Posted with a +// short timeout because this runs on the default event loop task (posting to the +// same loop must never block on a full queue). +static void postWiFiState(OpenShockWiFiState state) +{ + esp_err_t err = esp_event_post(OPENSHOCK_EVENTS, OPENSHOCK_EVENT_WIFI_STATE_CHANGED, &state, sizeof(state), pdMS_TO_TICKS(100)); + if (err != ESP_OK) { + OS_LOGE(TAG, "Failed to post WiFi state event: %s", esp_err_to_name(err)); + } +} + static bool attractivityComparer(const WiFiNetwork& a, const WiFiNetwork& b) { // Networks with credentials sort before those without @@ -186,9 +201,34 @@ static bool connectWiFi(const std::string& ssid, const std::string& password, wi it->lastConnectAttempt = OpenShock::millis(); } + wifi_config_t config = {}; + std::strncpy(reinterpret_cast(config.sta.ssid), ssid.c_str(), sizeof(config.sta.ssid)); + std::strncpy(reinterpret_cast(config.sta.password), password.c_str(), sizeof(config.sta.password)); + // Let esp_wifi pick the strongest matching BSSID and retry a few times before giving up. + config.sta.scan_method = WIFI_ALL_CHANNEL_SCAN; + config.sta.sort_method = WIFI_CONNECT_AP_BY_SIGNAL; + config.sta.failure_retry_cnt = 3; + if (pinnedBssid != nullptr) { + config.sta.bssid_set = true; + std::memcpy(config.sta.bssid, pinnedBssid, sizeof(config.sta.bssid)); + } + s_wifiState.store(WiFiState::Connecting, std::memory_order_relaxed); - if (WiFi.begin(ssid.c_str(), password.c_str(), 0, pinnedBssid, true) == WL_CONNECT_FAILED) { + postWiFiState(OPENSHOCK_WIFI_STATE_CONNECTING); + + esp_err_t err = esp_wifi_set_config(WIFI_IF_STA, &config); + if (err != ESP_OK) { + OS_LOGE(TAG, "esp_wifi_set_config failed: %s", esp_err_to_name(err)); s_wifiState.store(WiFiState::Disconnected, std::memory_order_relaxed); + postWiFiState(OPENSHOCK_WIFI_STATE_DISCONNECTED); + return false; + } + + err = esp_wifi_connect(); + if (err != ESP_OK) { + OS_LOGE(TAG, "esp_wifi_connect failed: %s", esp_err_to_name(err)); + s_wifiState.store(WiFiState::Disconnected, std::memory_order_relaxed); + postWiFiState(OPENSHOCK_WIFI_STATE_DISCONNECTED); return false; } @@ -208,12 +248,17 @@ static bool authenticate(const WiFiNetwork& net, std::string_view password) return connectWiFi(net.ssid, std::string(password)); } -static void evWiFiConnected(arduino_event_t* event) +static void evWiFiConnected(const wifi_event_sta_connected_t& info) { - auto& info = event->event_info.wifi_sta_connected; - s_wifiState.store(WiFiState::Connected, std::memory_order_relaxed); memcpy(s_connectedBSSID, info.bssid, sizeof(s_connectedBSSID)); + postWiFiState(OPENSHOCK_WIFI_STATE_CONNECTED); + + // info.ssid is not guaranteed null-terminated; bound by ssid_len. + char ssid[33]; + size_t ssidLen = std::min(static_cast(info.ssid_len), sizeof(ssid) - 1); + memcpy(ssid, info.ssid, ssidLen); + ssid[ssidLen] = '\0'; ScopedLock lock__(&s_networksMutex); @@ -221,10 +266,10 @@ static void evWiFiConnected(arduino_event_t* event) if (it == s_wifiNetworks.end()) { s_connectedCredentialsID.store(0, std::memory_order_relaxed); - OS_LOGW(TAG, "Connected to unscanned network \"%s\", BSSID: " BSSID_FMT, reinterpret_cast(info.ssid), BSSID_ARG(info.bssid)); + OS_LOGW(TAG, "Connected to unscanned network \"%s\", BSSID: " BSSID_FMT, ssid, BSSID_ARG(info.bssid)); Config::WiFiCredentials creds; - if (Config::TryGetWiFiCredentialsBySSID(reinterpret_cast(info.ssid), creds)) { + if (Config::TryGetWiFiCredentialsBySSID(ssid, creds)) { s_connectedCredentialsID.store(creds.id, std::memory_order_relaxed); } @@ -233,39 +278,43 @@ static void evWiFiConnected(arduino_event_t* event) s_connectedCredentialsID.store(it->credentialsID, std::memory_order_relaxed); - OS_LOGI(TAG, "Connected to network %s (" BSSID_FMT ")", reinterpret_cast(info.ssid), BSSID_ARG(info.bssid)); + OS_LOGI(TAG, "Connected to network %s (" BSSID_FMT ")", ssid, BSSID_ARG(info.bssid)); Serialization::Local::SerializeWiFiNetworkEvent(Serialization::Types::WifiNetworkEventType::Connected, *it, CaptivePortal::BroadcastMessageBIN); } -static void evWiFiGotIP(arduino_event_t* event) +static void evWiFiGotIP(const ip_event_got_ip_t& info) { - const auto& info = event->event_info.got_ip; - uint8_t ip[4]; memcpy(ip, &info.ip_info.ip.addr, sizeof(ip)); OS_LOGI(TAG, "Got IP address " IPV4ADDR_FMT " from network " BSSID_FMT, IPV4ADDR_ARG(ip), BSSID_ARG(s_connectedBSSID)); + postWiFiState(OPENSHOCK_WIFI_STATE_GOT_IP); + char ipStr[16]; snprintf(ipStr, sizeof(ipStr), IPV4ADDR_FMT, IPV4ADDR_ARG(ip)); Serialization::Local::SerializeWiFiGotIpEvent(ipStr, CaptivePortal::BroadcastMessageBIN); } -static void evWiFiGotIP6(arduino_event_t* event) +static void evWiFiGotIP6(const ip_event_got_ip6_t& info) { - auto& info = event->event_info.got_ip6; - - uint8_t* ip6 = reinterpret_cast(&info.ip6_info.ip.addr); + const uint8_t* ip6 = reinterpret_cast(&info.ip6_info.ip.addr); OS_LOGI(TAG, "Got IPv6 address " IPV6ADDR_FMT " from network " BSSID_FMT, IPV6ADDR_ARG(ip6), BSSID_ARG(s_connectedBSSID)); + + postWiFiState(OPENSHOCK_WIFI_STATE_GOT_IP); } -static void evWiFiDisconnected(arduino_event_t* event) +static void evWiFiDisconnected(const wifi_event_sta_disconnected_t& info) { s_wifiState.store(WiFiState::Disconnected, std::memory_order_relaxed); s_connectedCredentialsID.store(0, std::memory_order_relaxed); + postWiFiState(OPENSHOCK_WIFI_STATE_DISCONNECTED); - auto& info = event->event_info.wifi_sta_disconnected; + char ssid[33]; + size_t ssidLen = std::min(static_cast(info.ssid_len), sizeof(ssid) - 1); + memcpy(ssid, info.ssid, ssidLen); + ssid[ssidLen] = '\0'; - OS_LOGI(TAG, "Disconnected from network %s (" BSSID_FMT ")", info.ssid, BSSID_ARG(info.bssid)); + OS_LOGI(TAG, "Disconnected from network %s (" BSSID_FMT ")", ssid, BSSID_ARG(info.bssid)); // Notify the frontend ScopedLock lock__(&s_networksMutex); @@ -276,7 +325,7 @@ static void evWiFiDisconnected(arduino_event_t* event) // Network not in scan results (forgotten or hidden) — send minimal event WiFiNetwork net; memset(&net, 0, sizeof(net)); - strncpy(net.ssid, reinterpret_cast(info.ssid), sizeof(net.ssid) - 1); + strncpy(net.ssid, ssid, sizeof(net.ssid) - 1); memcpy(net.bssid, info.bssid, sizeof(net.bssid)); Serialization::Local::SerializeWiFiNetworkEvent(Serialization::Types::WifiNetworkEventType::Disconnected, net, CaptivePortal::BroadcastMessageBIN); } @@ -293,9 +342,40 @@ static void evWiFiDisconnected(arduino_event_t* event) } } } -static void evWiFiScanStarted() + +static void wifiEventHandler(void* arg, esp_event_base_t base, int32_t id, void* data) { + (void)arg; + (void)base; + + switch (id) { + case WIFI_EVENT_STA_CONNECTED: + evWiFiConnected(*static_cast(data)); + break; + case WIFI_EVENT_STA_DISCONNECTED: + evWiFiDisconnected(*static_cast(data)); + break; + default: + break; + } } +static void ipEventHandler(void* arg, esp_event_base_t base, int32_t id, void* data) +{ + (void)arg; + (void)base; + + switch (id) { + case IP_EVENT_STA_GOT_IP: + evWiFiGotIP(*static_cast(data)); + break; + case IP_EVENT_GOT_IP6: + evWiFiGotIP6(*static_cast(data)); + break; + default: + break; + } +} + static void evWiFiScanStatusChanged(OpenShock::WiFiScanStatus status) { ScopedLock lock__(&s_networksMutex); @@ -365,8 +445,6 @@ static void evWiFiNetworksDiscovery(const std::vector& } } -esp_err_t set_esp_interface_dns(esp_interface_t interface, IPAddress main_dns, IPAddress backup_dns, IPAddress fallback_dns); - static bool tryConnect() { Config::WiFiCredentials creds; @@ -410,10 +488,43 @@ static void wifimanagerUpdateTask(void*) bool WiFiManager::Init() { - WiFi.onEvent(evWiFiConnected, ARDUINO_EVENT_WIFI_STA_CONNECTED); - WiFi.onEvent(evWiFiGotIP, ARDUINO_EVENT_WIFI_STA_GOT_IP); - WiFi.onEvent(evWiFiGotIP6, ARDUINO_EVENT_WIFI_STA_GOT_IP6); - WiFi.onEvent(evWiFiDisconnected, ARDUINO_EVENT_WIFI_STA_DISCONNECTED); + esp_err_t err; + + // Bring up the network stack that Arduino's WiFi class used to init implicitly. + // The default event loop already exists (Events::Init runs earlier in main). + err = esp_netif_init(); + if (err != ESP_OK) { + OS_LOGE(TAG, "esp_netif_init failed: %s", esp_err_to_name(err)); + return false; + } + + s_staNetif = esp_netif_create_default_wifi_sta(); + if (s_staNetif == nullptr) { + OS_LOGE(TAG, "Failed to create default STA netif"); + return false; + } + + wifi_init_config_t initConfig = WIFI_INIT_CONFIG_DEFAULT(); + err = esp_wifi_init(&initConfig); + if (err != ESP_OK) { + OS_LOGE(TAG, "esp_wifi_init failed: %s", esp_err_to_name(err)); + return false; + } + + // Config owns our credentials; don't let esp_wifi persist/auto-connect from NVS. + esp_wifi_set_storage(WIFI_STORAGE_RAM); + + err = esp_event_handler_register(WIFI_EVENT, ESP_EVENT_ANY_ID, wifiEventHandler, nullptr); + if (err != ESP_OK) { + OS_LOGE(TAG, "Failed to register WIFI_EVENT handler: %s", esp_err_to_name(err)); + return false; + } + err = esp_event_handler_register(IP_EVENT, ESP_EVENT_ANY_ID, ipEventHandler, nullptr); + if (err != ESP_OK) { + OS_LOGE(TAG, "Failed to register IP_EVENT handler: %s", esp_err_to_name(err)); + return false; + } + WiFiScanManager::RegisterStatusChangedHandler(evWiFiScanStatusChanged); WiFiScanManager::RegisterNetworksDiscoveredHandler(evWiFiNetworksDiscovery); @@ -428,20 +539,20 @@ bool WiFiManager::Init() hostname = OPENSHOCK_FW_HOSTNAME; } - WiFi.setAutoReconnect(false); - WiFi.enableSTA(true); - WiFi.setHostname(hostname.c_str()); + err = esp_wifi_set_mode(WIFI_MODE_STA); + if (err != ESP_OK) { + OS_LOGE(TAG, "esp_wifi_set_mode failed: %s", esp_err_to_name(err)); + return false; + } - // If we recognize the network in the ESP's WiFi cache, try to connect to it - wifi_config_t current_conf; - if (esp_wifi_get_config(static_cast(ESP_IF_WIFI_STA), ¤t_conf) == ESP_OK) { - if (current_conf.sta.ssid[0] != '\0') { - if (Config::GetWiFiCredentialsIDbySSID(reinterpret_cast(current_conf.sta.ssid)) != 0) { - WiFi.begin(); - } - } + err = esp_wifi_start(); + if (err != ESP_OK) { + OS_LOGE(TAG, "esp_wifi_start failed: %s", esp_err_to_name(err)); + return false; } + esp_netif_set_hostname(s_staNetif, hostname.c_str()); + if (TaskUtils::TaskCreateUniversal(wifimanagerUpdateTask, TAG, 4096, nullptr, 5, nullptr, 1) != pdPASS) { // TODO: Re-profile stack usage OS_LOGE(TAG, "Failed to create WiFiManager update task"); return false; @@ -598,7 +709,7 @@ bool WiFiManager::Connect(const char* ssid) void WiFiManager::Disconnect() { - WiFi.disconnect(false); + esp_wifi_disconnect(); } bool WiFiManager::IsConnected() @@ -612,16 +723,18 @@ bool WiFiManager::GetConnectedNetwork(OpenShock::WiFiNetwork& network) if (connectedId == 0) { if (IsConnected()) { // We connected without a scan, so populate the network with the current connection info manually - network.credentialsID = 0; - { - auto ssid = WiFi.SSID(); - size_t len = std::min(static_cast(ssid.length()), sizeof(network.ssid) - 1); - memcpy(network.ssid, ssid.c_str(), len); - network.ssid[len] = '\0'; + wifi_ap_record_t apInfo; + if (esp_wifi_sta_get_ap_info(&apInfo) != ESP_OK) { + return false; } - memcpy(network.bssid, WiFi.BSSID(), sizeof(network.bssid)); - network.channel = WiFi.channel(); - network.rssi = WiFi.RSSI(); + + network.credentialsID = 0; + size_t len = std::min(strlen(reinterpret_cast(apInfo.ssid)), sizeof(network.ssid) - 1); + memcpy(network.ssid, apInfo.ssid, len); + network.ssid[len] = '\0'; + memcpy(network.bssid, apInfo.bssid, sizeof(network.bssid)); + network.channel = apInfo.primary; + network.rssi = apInfo.rssi; return true; } return false; @@ -645,8 +758,14 @@ bool WiFiManager::GetIPAddress(char* ipAddress) return false; } - IPAddress ip = WiFi.localIP(); - snprintf(ipAddress, IP4ADDR_STRLEN_MAX, "%s", ip.toString().c_str()); + esp_netif_ip_info_t ipInfo; + if (s_staNetif == nullptr || esp_netif_get_ip_info(s_staNetif, &ipInfo) != ESP_OK) { + return false; + } + + uint8_t ip[4]; + memcpy(ip, &ipInfo.ip.addr, sizeof(ip)); + snprintf(ipAddress, 16, IPV4ADDR_FMT, IPV4ADDR_ARG(ip)); // "255.255.255.255" + NUL return true; } diff --git a/src/wifi/WiFiScanManager.cpp b/src/wifi/WiFiScanManager.cpp index 57dc463c..075a906d 100644 --- a/src/wifi/WiFiScanManager.cpp +++ b/src/wifi/WiFiScanManager.cpp @@ -6,205 +6,102 @@ const char* const TAG = "WiFiScanManager"; #include "Logging.h" #include "SimpleMutex.h" -#include "util/TaskUtils.h" -#include +#include +#include #include +#include -const uint8_t OPENSHOCK_WIFI_SCAN_MAX_CHANNEL = 13; -const uint32_t OPENSHOCK_WIFI_SCAN_MAX_MS_PER_CHANNEL = 300; // Adjusting this value will affect the scan rate, but may also affect the scan results -const uint32_t OPENSHOCK_WIFI_SCAN_TIMEOUT_MS = 10 * 1000; - -enum WiFiScanTaskNotificationFlags { - CHANNEL_DONE = 1 << 0, - ERROR = 1 << 1, - WIFI_DISABLED = 1 << 2, - CLEAR_FLAGS = CHANNEL_DONE | ERROR -}; - -static bool s_initialized = false; -static TaskHandle_t s_scanTaskHandle = nullptr; -static OpenShock::SimpleMutex s_scanTaskMutex = {}; -static uint8_t s_currentChannel = 0; +// Per-channel active-scan dwell time. esp_wifi walks every channel itself, so +// this is the only knob that affects scan duration / result quality. +const uint32_t OPENSHOCK_WIFI_SCAN_MIN_MS_PER_CHANNEL = 100; +const uint32_t OPENSHOCK_WIFI_SCAN_MAX_MS_PER_CHANNEL = 300; + +static bool s_initialized = false; +static std::atomic s_scanning = false; +static OpenShock::SimpleMutex s_handlersMutex = {}; static std::map s_statusChangedHandlers; static std::map s_networksDiscoveredHandlers; using namespace OpenShock; -static bool notifyTask(WiFiScanTaskNotificationFlags flags) -{ - ScopedLock lock__(&s_scanTaskMutex); - - if (s_scanTaskHandle == nullptr) { - return false; - } - - return xTaskNotify(s_scanTaskHandle, flags, eSetBits) == pdPASS; -} - -static void notifyStatusChangedHandlers(OpenShock::WiFiScanStatus status) +static void notifyStatusChangedHandlers(WiFiScanStatus status) { + ScopedLock lock__(&s_handlersMutex); for (auto& it : s_statusChangedHandlers) { it.second(status); } } -static bool isScanError(int16_t retval) +static void notifyNetworksDiscoveredHandlers(const std::vector& records) { - return retval < 0 && retval != WIFI_SCAN_RUNNING; + ScopedLock lock__(&s_handlersMutex); + for (auto& it : s_networksDiscoveredHandlers) { + it.second(records); + } } -static void handleScanError(int16_t retval) +// Fetch the scan results esp_wifi buffered for us and fan them out. Runs in the +// esp_event loop task (WIFI_EVENT_SCAN_DONE). +static void handleScanDone() { - if (retval >= 0) return; - - notifyTask(WiFiScanTaskNotificationFlags::ERROR); - - if (retval == WIFI_SCAN_FAILED) { - OS_LOGE(TAG, "Failed to start scan on channel %u", s_currentChannel); + uint16_t apCount = 0; + esp_err_t err = esp_wifi_scan_get_ap_num(&apCount); + if (err != ESP_OK) { + OS_LOGE(TAG, "esp_wifi_scan_get_ap_num failed: %s", esp_err_to_name(err)); + s_scanning.store(false, std::memory_order_relaxed); + notifyStatusChangedHandlers(WiFiScanStatus::Error); return; } - if (retval == WIFI_SCAN_RUNNING) { - OS_LOGE(TAG, "Scan is running on channel %u", s_currentChannel); - return; + std::vector records(apCount); + if (apCount > 0) { + err = esp_wifi_scan_get_ap_records(&apCount, records.data()); + if (err != ESP_OK) { + OS_LOGE(TAG, "esp_wifi_scan_get_ap_records failed: %s", esp_err_to_name(err)); + s_scanning.store(false, std::memory_order_relaxed); + notifyStatusChangedHandlers(WiFiScanStatus::Error); + return; + } + records.resize(apCount); } - OS_LOGE(TAG, "Scan returned an unknown error"); -} - -static int16_t scanChannel(uint8_t channel) -{ - int16_t retval = WiFi.scanNetworks(true, true, false, OPENSHOCK_WIFI_SCAN_MAX_MS_PER_CHANNEL, channel); - if (!isScanError(retval)) { - return retval; + // The handlers expect stable pointers; records[] outlives every synchronous call below. + std::vector recordPtrs; + recordPtrs.reserve(records.size()); + for (const auto& record : records) { + recordPtrs.push_back(&record); } - handleScanError(retval); + notifyNetworksDiscoveredHandlers(recordPtrs); - return retval; + s_scanning.store(false, std::memory_order_relaxed); + notifyStatusChangedHandlers(WiFiScanStatus::Completed); } -static WiFiScanStatus scanningTaskImpl() +static void wifiEventHandler(void* arg, esp_event_base_t base, int32_t id, void* data) { - // Start the scan on the highest channel and work our way down - uint8_t channel = OPENSHOCK_WIFI_SCAN_MAX_CHANNEL; - - notifyStatusChangedHandlers(WiFiScanStatus::Started); - - // Start the scan on the first channel - int16_t retval = scanChannel(channel); - if (isScanError(retval)) { - return WiFiScanStatus::Error; - } - - // Scan each channel until we're done - while (true) { - uint32_t notificationFlags = 0; - - notifyStatusChangedHandlers(WiFiScanStatus::InProgress); - - // Wait for the scan to complete, evScanCompleted will notify us when it's done - if (xTaskNotifyWait(0, WiFiScanTaskNotificationFlags::CLEAR_FLAGS, ¬ificationFlags, pdMS_TO_TICKS(OPENSHOCK_WIFI_SCAN_TIMEOUT_MS)) != pdTRUE) { - OS_LOGE(TAG, "Scan timed out"); - return WiFiScanStatus::TimedOut; - } - - // Check if we were notified of an error or if WiFi was disabled - if (notificationFlags != WiFiScanTaskNotificationFlags::CHANNEL_DONE) { - if (notificationFlags & WiFiScanTaskNotificationFlags::WIFI_DISABLED) { - OS_LOGE(TAG, "Scan task exiting due to being notified that WiFi was disabled"); - return WiFiScanStatus::Aborted; + (void)arg; + (void)base; + (void)data; + + switch (id) { + case WIFI_EVENT_SCAN_DONE: + // Ignore spurious scan-done events that we didn't initiate (or already handled). + if (s_scanning.load(std::memory_order_relaxed)) { + handleScanDone(); } - - if (notificationFlags & WiFiScanTaskNotificationFlags::ERROR) { - OS_LOGE(TAG, "Scan task exiting due to being notified of an error"); - return WiFiScanStatus::Error; + break; + case WIFI_EVENT_STA_STOP: + if (s_scanning.exchange(false, std::memory_order_relaxed)) { + OS_LOGW(TAG, "STA stopped mid-scan, aborting"); + notifyStatusChangedHandlers(WiFiScanStatus::Aborted); } - - return WiFiScanStatus::Error; - } - - // Select the next channel, or break if we're done - if (--channel <= 0) { break; - } - - // Start the scan on the next channel - retval = scanChannel(channel); - if (isScanError(retval)) { - return WiFiScanStatus::Error; - } - } - - return WiFiScanStatus::Completed; -} - -static void scanningTask(void* arg) -{ - (void)arg; - - // Start the scan - WiFiScanStatus status = scanningTaskImpl(); - - // Notify the status changed handlers of the scan result - notifyStatusChangedHandlers(status); - - s_scanTaskMutex.lock(portMAX_DELAY); - - // Clear the task handle - s_scanTaskHandle = nullptr; - - s_scanTaskMutex.unlock(); - - // Kill this task - vTaskDelete(nullptr); -} - -static void evScanCompleted(arduino_event_id_t event, arduino_event_info_t info) -{ - (void)event; - (void)info; - - int16_t numNetworks = WiFi.scanComplete(); - if (isScanError(numNetworks)) { - handleScanError(numNetworks); - return; - } - - if (numNetworks == WIFI_SCAN_RUNNING) { - OS_LOGE(TAG, "Scan completed but scan is still running... WTF?"); - return; - } - - std::vector networkRecords; - networkRecords.reserve(numNetworks); - - for (int16_t i = 0; i < numNetworks; i++) { - wifi_ap_record_t* record = static_cast(WiFi.getScanInfoByIndex(i)); - if (record == nullptr) { - OS_LOGE(TAG, "Failed to get scan info for network #%d", i); - return; - } - - networkRecords.push_back(record); - } - - // Notify the networks discovered handlers - for (auto& it : s_networksDiscoveredHandlers) { - it.second(networkRecords); + default: + break; } - - // Notify the scan task that we're done - notifyTask(WiFiScanTaskNotificationFlags::CHANNEL_DONE); -} -static void evSTAStopped(arduino_event_id_t event, arduino_event_info_t info) -{ - (void)event; - (void)info; - - notifyTask(WiFiScanTaskNotificationFlags::WIFI_DISABLED); } bool WiFiScanManager::Init() @@ -214,8 +111,11 @@ bool WiFiScanManager::Init() return true; } - WiFi.onEvent(evScanCompleted, ARDUINO_EVENT_WIFI_SCAN_DONE); - WiFi.onEvent(evSTAStopped, ARDUINO_EVENT_WIFI_STA_STOP); + esp_err_t err = esp_event_handler_register(WIFI_EVENT, ESP_EVENT_ANY_ID, wifiEventHandler, nullptr); + if (err != ESP_OK) { + OS_LOGE(TAG, "Failed to register WIFI_EVENT handler: %s", esp_err_to_name(err)); + return false; + } s_initialized = true; @@ -224,90 +124,78 @@ bool WiFiScanManager::Init() bool WiFiScanManager::IsScanning() { - // Quick check - if (s_scanTaskHandle == nullptr) { - return false; - } - - // It wasnt null, lock and perform proper check - ScopedLock lock__(&s_scanTaskMutex); - - return s_scanTaskHandle != nullptr && eTaskGetState(s_scanTaskHandle) != eDeleted; + return s_scanning.load(std::memory_order_relaxed); } bool WiFiScanManager::StartScan() { - ScopedLock lock__(&s_scanTaskMutex); - - // Check if a scan is already in progress - if (s_scanTaskHandle != nullptr && eTaskGetState(s_scanTaskHandle) != eDeleted) { - OS_LOGW(TAG, "Cannot start scan: scan task is already running"); + // Claim the scan slot; bail if one is already running. + bool expected = false; + if (!s_scanning.compare_exchange_strong(expected, true, std::memory_order_relaxed)) { + OS_LOGW(TAG, "Cannot start scan: a scan is already running"); return false; } - // Free the TCB - if (s_scanTaskHandle != nullptr) { - vTaskDelete(s_scanTaskHandle); - } + notifyStatusChangedHandlers(WiFiScanStatus::Started); - // Start the scan task - if (TaskUtils::TaskCreateExpensive(scanningTask, "WiFiScanManager", 4096, nullptr, 1, &s_scanTaskHandle) != pdPASS) { // PROFILED: 1.8KB stack usage - OS_LOGE(TAG, "Failed to create scan task"); + wifi_scan_config_t config = {}; + config.show_hidden = true; + config.scan_type = WIFI_SCAN_TYPE_ACTIVE; + config.scan_time.active.min = OPENSHOCK_WIFI_SCAN_MIN_MS_PER_CHANNEL; + config.scan_time.active.max = OPENSHOCK_WIFI_SCAN_MAX_MS_PER_CHANNEL; + + esp_err_t err = esp_wifi_scan_start(&config, false); // async: WIFI_EVENT_SCAN_DONE fans out results + if (err != ESP_OK) { + OS_LOGE(TAG, "esp_wifi_scan_start failed: %s", esp_err_to_name(err)); + s_scanning.store(false, std::memory_order_relaxed); + notifyStatusChangedHandlers(WiFiScanStatus::Error); return false; } return true; } + bool WiFiScanManager::AbortScan() { - ScopedLock lock__(&s_scanTaskMutex); - - // Check if a scan is in progress - if (s_scanTaskHandle == nullptr || eTaskGetState(s_scanTaskHandle) == eDeleted) { + if (!s_scanning.exchange(false, std::memory_order_relaxed)) { OS_LOGW(TAG, "Cannot abort scan: no scan is in progress"); return false; } - // Kill the task - vTaskDelete(s_scanTaskHandle); - s_scanTaskHandle = nullptr; - - // Inform the change handlers that the scan was aborted - for (auto& it : s_statusChangedHandlers) { - it.second(WiFiScanStatus::Aborted); + esp_err_t err = esp_wifi_scan_stop(); + if (err != ESP_OK) { + OS_LOGE(TAG, "esp_wifi_scan_stop failed: %s", esp_err_to_name(err)); } + notifyStatusChangedHandlers(WiFiScanStatus::Aborted); + return true; } uint64_t WiFiScanManager::RegisterStatusChangedHandler(const WiFiScanManager::StatusChangedHandler& handler) { - static uint64_t nextHandle = 0; + static uint64_t nextHandle = 0; + ScopedLock lock__(&s_handlersMutex); uint64_t handle = nextHandle++; s_statusChangedHandlers[handle] = handler; return handle; } void WiFiScanManager::UnregisterStatusChangedHandler(uint64_t handle) { - auto it = s_statusChangedHandlers.find(handle); - - if (it != s_statusChangedHandlers.end()) { - s_statusChangedHandlers.erase(it); - } + ScopedLock lock__(&s_handlersMutex); + s_statusChangedHandlers.erase(handle); } uint64_t WiFiScanManager::RegisterNetworksDiscoveredHandler(const WiFiScanManager::NetworksDiscoveredHandler& handler) { - static uint64_t nextHandle = 0; + static uint64_t nextHandle = 0; + ScopedLock lock__(&s_handlersMutex); uint64_t handle = nextHandle++; s_networksDiscoveredHandlers[handle] = handler; return handle; } void WiFiScanManager::UnregisterNetworksDiscoveredHandler(uint64_t handle) { - auto it = s_networksDiscoveredHandlers.find(handle); - - if (it != s_networksDiscoveredHandlers.end()) { - s_networksDiscoveredHandlers.erase(it); - } + ScopedLock lock__(&s_handlersMutex); + s_networksDiscoveredHandlers.erase(handle); } From 2deae4771eb997aeb210d20d1c6181fe240cb3ea Mon Sep 17 00:00:00 2001 From: HeavenVR Date: Thu, 9 Jul 2026 18:02:42 +0200 Subject: [PATCH 39/91] Update sdkconfig.defaults --- sdkconfig.defaults | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/sdkconfig.defaults b/sdkconfig.defaults index 54f3e7b9..f3f3cd71 100644 --- a/sdkconfig.defaults +++ b/sdkconfig.defaults @@ -24,6 +24,14 @@ CONFIG_COMPILER_CXX_EXCEPTIONS=n CONFIG_MBEDTLS_PSK_MODES=y CONFIG_MBEDTLS_KEY_EXCHANGE_PSK=y +# TEMPORARY: skip TLS server-cert verification. esp_http_client requests to the +# API/CDN abort at TLS setup with ESP_ERR_MBEDTLS_SSL_SETUP_FAILED (0x8017) +# because no CA/cert is supplied. This compiles in the MBEDTLS_SSL_VERIFY_NONE +# escape hatch (esp_tls_mbedtls.c). TODO: remove and attach the embedded x509 +# cert bundle via config.crt_bundle_attach instead. +CONFIG_ESP_TLS_INSECURE=y +CONFIG_ESP_TLS_SKIP_SERVER_CERT_VERIFY=y + # Partition table — OpenShock uses a custom one; existing partitions stay valid # (leave PARTITION_TABLE_* at IDF defaults; per-env sdkconfigs can override) From 07f3da78407ab3aac1245d9716ab1b69355920f6 Mon Sep 17 00:00:00 2001 From: HeavenVR Date: Thu, 9 Jul 2026 18:57:48 +0200 Subject: [PATCH 40/91] refactor(crypto): migrate Hashing to mbedTLS generic md API The low-level per-algorithm headers (mbedtls/md5.h, sha1.h, sha256.h) and their mbedtls_md5_*/mbedtls_sha1_*/mbedtls_sha256_* APIs became private in mbedTLS 3.6 (ESP-IDF 6.0). Rebuild MD5/SHA1/SHA256 on the public, stable generic message-digest interface (mbedtls/md.h) while keeping the same class API (begin/update/finish). --- components/util/include/Hashing.h | 60 ++++++++++++++++++++----------- 1 file changed, 39 insertions(+), 21 deletions(-) diff --git a/components/util/include/Hashing.h b/components/util/include/Hashing.h index 0ce8f8b3..0acedffa 100644 --- a/components/util/include/Hashing.h +++ b/components/util/include/Hashing.h @@ -2,9 +2,12 @@ #include "OpenShock.h" -#include -#include -#include +// The low-level per-algorithm headers (mbedtls/md5.h, sha1.h, sha256.h) and their +// mbedtls_md5_* / mbedtls_sha1_* / mbedtls_sha256_* APIs became private in mbedTLS +// 3.6 (shipped with ESP-IDF 6.0). The generic message-digest interface in +// mbedtls/md.h is the public, stable replacement, so all three hashers are now +// built on top of it. +#include #include // TODO: When we use C++20, change this to #include @@ -16,47 +19,62 @@ namespace OpenShock { DISABLE_MOVE(MD5); public: - MD5() { mbedtls_md5_init(&ctx); } - ~MD5() { mbedtls_md5_free(&ctx); } + // mbedtls_md_info_from_type never returns null for a compiled-in algorithm + // (MD5/SHA1/SHA256 are all enabled by default); a setup failure surfaces as + // begin() returning false. + MD5() + { + mbedtls_md_init(&ctx); + mbedtls_md_setup(&ctx, mbedtls_md_info_from_type(MBEDTLS_MD_MD5), 0); + } + ~MD5() { mbedtls_md_free(&ctx); } - inline bool begin() { return mbedtls_md5_starts(&ctx) == 0; } - inline bool update(const uint8_t* data, std::size_t dataLen) { return mbedtls_md5_update(&ctx, data, dataLen) == 0; } + inline bool begin() { return mbedtls_md_starts(&ctx) == 0; } + inline bool update(const uint8_t* data, std::size_t dataLen) { return mbedtls_md_update(&ctx, data, dataLen) == 0; } inline bool update(std::string_view data) { return update(reinterpret_cast(data.data()), data.length()); } - inline bool finish(std::array& hash) { return mbedtls_md5_finish(&ctx, hash.data()) == 0; } + inline bool finish(std::array& hash) { return mbedtls_md_finish(&ctx, hash.data()) == 0; } private: - mbedtls_md5_context ctx; + mbedtls_md_context_t ctx; }; class SHA1 { DISABLE_COPY(SHA1); DISABLE_MOVE(SHA1); public: - SHA1() { mbedtls_sha1_init(&ctx); } - ~SHA1() { mbedtls_sha1_free(&ctx); } + SHA1() + { + mbedtls_md_init(&ctx); + mbedtls_md_setup(&ctx, mbedtls_md_info_from_type(MBEDTLS_MD_SHA1), 0); + } + ~SHA1() { mbedtls_md_free(&ctx); } - inline bool begin() { return mbedtls_sha1_starts(&ctx) == 0; } - inline bool update(const uint8_t* data, std::size_t dataLen) { return mbedtls_sha1_update(&ctx, data, dataLen) == 0; } + inline bool begin() { return mbedtls_md_starts(&ctx) == 0; } + inline bool update(const uint8_t* data, std::size_t dataLen) { return mbedtls_md_update(&ctx, data, dataLen) == 0; } inline bool update(std::string_view data) { return update(reinterpret_cast(data.data()), data.length()); } - inline bool finish(std::array& hash) { return mbedtls_sha1_finish(&ctx, hash.data()) == 0; } + inline bool finish(std::array& hash) { return mbedtls_md_finish(&ctx, hash.data()) == 0; } private: - mbedtls_sha1_context ctx; + mbedtls_md_context_t ctx; }; class SHA256 { DISABLE_COPY(SHA256); DISABLE_MOVE(SHA256); public: - SHA256() { mbedtls_sha256_init(&ctx); } - ~SHA256() { mbedtls_sha256_free(&ctx); } + SHA256() + { + mbedtls_md_init(&ctx); + mbedtls_md_setup(&ctx, mbedtls_md_info_from_type(MBEDTLS_MD_SHA256), 0); + } + ~SHA256() { mbedtls_md_free(&ctx); } - inline bool begin() { return mbedtls_sha256_starts(&ctx, 0) == 0; } - inline bool update(const uint8_t* data, std::size_t dataLen) { return mbedtls_sha256_update(&ctx, data, dataLen) == 0; } + inline bool begin() { return mbedtls_md_starts(&ctx) == 0; } + inline bool update(const uint8_t* data, std::size_t dataLen) { return mbedtls_md_update(&ctx, data, dataLen) == 0; } inline bool update(std::string_view data) { return update(reinterpret_cast(data.data()), data.length()); } - inline bool finish(std::array& hash) { return mbedtls_sha256_finish(&ctx, hash.data()) == 0; } + inline bool finish(std::array& hash) { return mbedtls_md_finish(&ctx, hash.data()) == 0; } private: - mbedtls_sha256_context ctx; + mbedtls_md_context_t ctx; }; } // namespace OpenShock From b042a24db0cdc0d676786c6dce3764dd423d23e8 Mon Sep 17 00:00:00 2001 From: HeavenVR Date: Thu, 9 Jul 2026 18:58:42 +0200 Subject: [PATCH 41/91] build(idf): enable esp_http_server WebSocket support The captive portal serves HTTP and WebSocket from a single esp_http_server. WebSocket support (httpd_ws_* symbols) is compiled out by default, so enable CONFIG_HTTPD_WS_SUPPORT. --- sdkconfig.defaults | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/sdkconfig.defaults b/sdkconfig.defaults index f3f3cd71..7de0225f 100644 --- a/sdkconfig.defaults +++ b/sdkconfig.defaults @@ -24,6 +24,11 @@ CONFIG_COMPILER_CXX_EXCEPTIONS=n CONFIG_MBEDTLS_PSK_MODES=y CONFIG_MBEDTLS_KEY_EXCHANGE_PSK=y +# Captive portal serves HTTP + WebSocket from a single esp_http_server. WebSocket +# support is compiled out of esp_http_server by default; enable it or the httpd_ws_* +# symbols don't exist. +CONFIG_HTTPD_WS_SUPPORT=y + # TEMPORARY: skip TLS server-cert verification. esp_http_client requests to the # API/CDN abort at TLS setup with ESP_ERR_MBEDTLS_SSL_SETUP_FAILED (0x8017) # because no CA/cert is supplied. This compiles in the MBEDTLS_SSL_VERIFY_NONE From 4d114eaf9fa0940040c283b3d3894e35f81fe835 Mon Sep 17 00:00:00 2001 From: HeavenVR Date: Thu, 9 Jul 2026 19:26:18 +0200 Subject: [PATCH 42/91] feat(captive-portal): add isolated ESP-IDF components for portal primitives Extract the reusable, app-independent captive-portal building blocks into their own components as part of the Arduino -> pure ESP-IDF migration: - littlefs: vendored upstream littlefs core (BSD-3-Clause), no VFS layer - static_fs: read-only littlefs partition reader over a raw esp_partition (no VFS registration), streams files to a caller-provided sink - dns_server: minimal wildcard DNS responder (all A queries -> a fixed IPv4) - rfc8908: OS captive-detection probe redirects + RFC 8908 captive+json endpoint for esp_http_server These replace the Arduino DNSServer/LittleFS and the inline RFC8908 handler. The portal's HTTP/REST/WebSocket glue stays in src/captiveportal since it depends on the wider firmware. --- components/dns_server/CMakeLists.txt | 7 + .../dns_server/include/dns_server/DNSServer.h | 38 + components/dns_server/src/DNSServer.cpp | 157 + components/littlefs/CMakeLists.txt | 16 + components/littlefs/LICENSE.md | 25 + components/littlefs/lfs.c | 6558 +++++++++++++++++ components/littlefs/lfs.h | 802 ++ components/littlefs/lfs_util.c | 37 + components/littlefs/lfs_util.h | 273 + components/rfc8908/CMakeLists.txt | 8 + .../rfc8908/include/rfc8908/RFC8908Handler.h | 21 + components/rfc8908/src/RFC8908Handler.cpp | 106 + components/static_fs/CMakeLists.txt | 7 + .../static_fs/include/static_fs/StaticFs.h | 48 + components/static_fs/src/StaticFs.cpp | 140 + 15 files changed, 8243 insertions(+) create mode 100644 components/dns_server/CMakeLists.txt create mode 100644 components/dns_server/include/dns_server/DNSServer.h create mode 100644 components/dns_server/src/DNSServer.cpp create mode 100644 components/littlefs/CMakeLists.txt create mode 100644 components/littlefs/LICENSE.md create mode 100644 components/littlefs/lfs.c create mode 100644 components/littlefs/lfs.h create mode 100644 components/littlefs/lfs_util.c create mode 100644 components/littlefs/lfs_util.h create mode 100644 components/rfc8908/CMakeLists.txt create mode 100644 components/rfc8908/include/rfc8908/RFC8908Handler.h create mode 100644 components/rfc8908/src/RFC8908Handler.cpp create mode 100644 components/static_fs/CMakeLists.txt create mode 100644 components/static_fs/include/static_fs/StaticFs.h create mode 100644 components/static_fs/src/StaticFs.cpp diff --git a/components/dns_server/CMakeLists.txt b/components/dns_server/CMakeLists.txt new file mode 100644 index 00000000..9f718d25 --- /dev/null +++ b/components/dns_server/CMakeLists.txt @@ -0,0 +1,7 @@ +# Minimal wildcard DNS responder used by the captive portal (all A queries → a fixed +# IPv4 address). Standalone component so it can be reused independently of the portal. +idf_component_register( + SRCS "src/DNSServer.cpp" + INCLUDE_DIRS "include" + REQUIRES common util logging lwip +) diff --git a/components/dns_server/include/dns_server/DNSServer.h b/components/dns_server/include/dns_server/DNSServer.h new file mode 100644 index 00000000..b0609931 --- /dev/null +++ b/components/dns_server/include/dns_server/DNSServer.h @@ -0,0 +1,38 @@ +#pragma once + +#include +#include + +#include "OpenShock.h" + +#include +#include + +namespace OpenShock { + // Minimal captive-portal DNS responder: answers every A query with a fixed IPv4 + // address (and returns an empty answer for other query types) so client operating + // systems resolve their connectivity-probe hosts to the portal and enter captive + // mode. Runs a single UDP socket on its own task; not a general-purpose resolver. + class DNSServer { + DISABLE_COPY(DNSServer); + DISABLE_MOVE(DNSServer); + + public: + DNSServer(); + ~DNSServer(); + + /// Start answering A queries with responseIpv4 (dotted-decimal, e.g. "4.3.2.1"). + bool start(const char* responseIpv4, uint16_t port = 53); + void stop(); + + bool isRunning() const { return m_taskHandle != nullptr; } + + private: + void task(); + + int m_socket; + TaskHandle_t m_taskHandle; + std::atomic m_stop; + uint8_t m_ip[4]; + }; +} // namespace OpenShock diff --git a/components/dns_server/src/DNSServer.cpp b/components/dns_server/src/DNSServer.cpp new file mode 100644 index 00000000..49e23069 --- /dev/null +++ b/components/dns_server/src/DNSServer.cpp @@ -0,0 +1,157 @@ +#include +#include + +#include "dns_server/DNSServer.h" + +const char* const TAG = "DNSServer"; + +#include "Logging.h" +#include "util/FnProxy.h" +#include "util/TaskUtils.h" + +#include + +#include + +using namespace OpenShock; + +DNSServer::DNSServer() + : m_socket(-1) + , m_taskHandle(nullptr) + , m_stop(false) + , m_ip {} +{ +} + +DNSServer::~DNSServer() +{ + stop(); +} + +bool DNSServer::start(const char* responseIpv4, uint16_t port) +{ + if (m_taskHandle != nullptr) { + return true; // already running + } + + // Parse the dotted-decimal address into raw bytes for the answer RDATA. + int a, b, c, d; + if (responseIpv4 == nullptr || sscanf(responseIpv4, "%d.%d.%d.%d", &a, &b, &c, &d) != 4) { + OS_LOGE(TAG, "Invalid response IPv4: %s", responseIpv4 != nullptr ? responseIpv4 : "(null)"); + return false; + } + m_ip[0] = static_cast(a); + m_ip[1] = static_cast(b); + m_ip[2] = static_cast(c); + m_ip[3] = static_cast(d); + + m_socket = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP); + if (m_socket < 0) { + OS_LOGE(TAG, "Failed to create DNS socket"); + return false; + } + + // Short recv timeout so the task can observe stop requests promptly. + struct timeval tv = {}; + tv.tv_sec = 1; + setsockopt(m_socket, SOL_SOCKET, SO_RCVTIMEO, &tv, sizeof(tv)); + + struct sockaddr_in addr = {}; + addr.sin_family = AF_INET; + addr.sin_addr.s_addr = htonl(INADDR_ANY); + addr.sin_port = htons(port); + + if (bind(m_socket, reinterpret_cast(&addr), sizeof(addr)) < 0) { + OS_LOGE(TAG, "Failed to bind DNS socket to port %u", port); + close(m_socket); + m_socket = -1; + return false; + } + + m_stop.store(false, std::memory_order_relaxed); + if (TaskUtils::TaskCreateExpensive(Util::FnProxy<&DNSServer::task>, "DNSServer", 3072, this, 1, &m_taskHandle) != pdPASS) { + OS_LOGE(TAG, "Failed to create DNS task"); + close(m_socket); + m_socket = -1; + return false; + } + + return true; +} + +void DNSServer::stop() +{ + if (m_taskHandle == nullptr) { + if (m_socket >= 0) { + close(m_socket); + m_socket = -1; + } + return; + } + + m_stop.store(true, std::memory_order_relaxed); + if (m_socket >= 0) { + shutdown(m_socket, SHUT_RDWR); // unblock recvfrom + close(m_socket); + m_socket = -1; + } + TaskUtils::StopTask(m_taskHandle, TAG, "DNSServer task"); + m_taskHandle = nullptr; +} + +void DNSServer::task() +{ + uint8_t query[512]; + uint8_t resp[512]; + + while (!m_stop.load(std::memory_order_relaxed)) { + struct sockaddr_in from = {}; + socklen_t fromLen = sizeof(from); + + int n = recvfrom(m_socket, query, sizeof(query), 0, reinterpret_cast(&from), &fromLen); + if (n < 12) { + continue; // timeout (-1) or runt packet + } + size_t len = static_cast(n); + + // Find the end of the question: QNAME (labels terminated by 0) + QTYPE + QCLASS. + // Use size_t throughout so the bounds arithmetic can't provoke -Wstrict-overflow. + size_t pos = 12; + while (pos < len && query[pos] != 0) { + pos += static_cast(query[pos]) + 1; + } + if (pos >= len || len - pos < 5) { + continue; // malformed + } + int qtype = (query[pos + 1] << 8) | query[pos + 2]; + size_t questionEnd = pos + 5; // null(1) + qtype(2) + qclass(2) + + memcpy(resp, query, questionEnd); + resp[2] = 0x81; // QR=1, recursion desired copied + resp[3] = 0x80; // RA=1, RCODE=0 + resp[6] = 0x00; // ANCOUNT hi + resp[7] = (qtype == 1) ? 0x01 : 0x00; + resp[8] = 0x00; // NSCOUNT + resp[9] = 0x00; + resp[10] = 0x00; // ARCOUNT + resp[11] = 0x00; + + size_t respLen = questionEnd; + if (qtype == 1) { // only answer A queries + const uint8_t answer[] = { + 0xC0, 0x0C, // name pointer → offset 12 (the question) + 0x00, 0x01, // TYPE A + 0x00, 0x01, // CLASS IN + 0x00, 0x00, 0x00, 0x00, // TTL 0 + 0x00, 0x04, // RDLENGTH 4 + m_ip[0], m_ip[1], m_ip[2], m_ip[3], // RDATA — the fixed response IP + }; + memcpy(resp + respLen, answer, sizeof(answer)); + respLen += sizeof(answer); + } + + sendto(m_socket, resp, respLen, 0, reinterpret_cast(&from), fromLen); + } + + vTaskDelete(nullptr); +} diff --git a/components/littlefs/CMakeLists.txt b/components/littlefs/CMakeLists.txt new file mode 100644 index 00000000..806ffd10 --- /dev/null +++ b/components/littlefs/CMakeLists.txt @@ -0,0 +1,16 @@ +# Vendored littlefs core (upstream ARM littlefs, BSD-3-Clause). This is the plain +# filesystem library only — no VFS layer. OpenShock mounts partitions against it +# directly via an esp_partition-backed block device (see the captive portal's +# StaticFs helper). Sources copied from github.com/littlefs-project/littlefs. +idf_component_register( + SRCS "lfs.c" "lfs_util.c" + INCLUDE_DIRS "." +) + +# Quiet the library: it otherwise emits printf-based trace/debug/warn/error output. +target_compile_definitions(${COMPONENT_LIB} PUBLIC + LFS_NO_DEBUG + LFS_NO_WARN + LFS_NO_ERROR + LFS_NO_ASSERT +) diff --git a/components/littlefs/LICENSE.md b/components/littlefs/LICENSE.md new file mode 100644 index 00000000..a4c01b28 --- /dev/null +++ b/components/littlefs/LICENSE.md @@ -0,0 +1,25 @@ +Copyright (c) 2022, The littlefs authors. +Copyright (c) 2017, Arm Limited. All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +- Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. +- Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or + other materials provided with the distribution. +- Neither the name of ARM nor the names of its contributors may be used to + endorse or promote products derived from this software without specific prior + written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/components/littlefs/lfs.c b/components/littlefs/lfs.c new file mode 100644 index 00000000..c83c7e0b --- /dev/null +++ b/components/littlefs/lfs.c @@ -0,0 +1,6558 @@ +/* + * The little filesystem + * + * Copyright (c) 2022, The littlefs authors. + * Copyright (c) 2017, Arm Limited. All rights reserved. + * SPDX-License-Identifier: BSD-3-Clause + */ +#include "lfs.h" +#include "lfs_util.h" + + +// some constants used throughout the code +#define LFS_BLOCK_NULL ((lfs_block_t)-1) +#define LFS_BLOCK_INLINE ((lfs_block_t)-2) + +enum { + LFS_OK_RELOCATED = 1, + LFS_OK_DROPPED = 2, + LFS_OK_ORPHANED = 3, +}; + +enum { + LFS_CMP_EQ = 0, + LFS_CMP_LT = 1, + LFS_CMP_GT = 2, +}; + + +/// Caching block device operations /// + +static inline void lfs_cache_drop(lfs_t *lfs, lfs_cache_t *rcache) { + // do not zero, cheaper if cache is readonly or only going to be + // written with identical data (during relocates) + (void)lfs; + rcache->block = LFS_BLOCK_NULL; +} + +static inline void lfs_cache_zero(lfs_t *lfs, lfs_cache_t *pcache) { + // zero to avoid information leak + memset(pcache->buffer, 0xff, lfs->cfg->cache_size); + pcache->block = LFS_BLOCK_NULL; +} + +static int lfs_bd_read(lfs_t *lfs, + const lfs_cache_t *pcache, lfs_cache_t *rcache, lfs_size_t hint, + lfs_block_t block, lfs_off_t off, + void *buffer, lfs_size_t size) { + uint8_t *data = buffer; + if (off+size > lfs->cfg->block_size + || (lfs->block_count && block >= lfs->block_count)) { + return LFS_ERR_CORRUPT; + } + + while (size > 0) { + lfs_size_t diff = size; + + if (pcache && block == pcache->block && + off < pcache->off + pcache->size) { + if (off >= pcache->off) { + // is already in pcache? + diff = lfs_min(diff, pcache->size - (off-pcache->off)); + memcpy(data, &pcache->buffer[off-pcache->off], diff); + + data += diff; + off += diff; + size -= diff; + continue; + } + + // pcache takes priority + diff = lfs_min(diff, pcache->off-off); + } + + if (block == rcache->block && + off < rcache->off + rcache->size) { + if (off >= rcache->off) { + // is already in rcache? + diff = lfs_min(diff, rcache->size - (off-rcache->off)); + memcpy(data, &rcache->buffer[off-rcache->off], diff); + + data += diff; + off += diff; + size -= diff; + continue; + } + + // rcache takes priority + diff = lfs_min(diff, rcache->off-off); + } + + if (size >= hint && off % lfs->cfg->read_size == 0 && + size >= lfs->cfg->read_size) { + // bypass cache? + diff = lfs_aligndown(diff, lfs->cfg->read_size); + int err = lfs->cfg->read(lfs->cfg, block, off, data, diff); + LFS_ASSERT(err <= 0); + if (err) { + return err; + } + + data += diff; + off += diff; + size -= diff; + continue; + } + + // load to cache, first condition can no longer fail + LFS_ASSERT(!lfs->block_count || block < lfs->block_count); + rcache->block = block; + rcache->off = lfs_aligndown(off, lfs->cfg->read_size); + rcache->size = lfs_min( + lfs_min( + lfs_alignup(off+hint, lfs->cfg->read_size), + lfs->cfg->block_size) + - rcache->off, + lfs->cfg->cache_size); + int err = lfs->cfg->read(lfs->cfg, rcache->block, + rcache->off, rcache->buffer, rcache->size); + LFS_ASSERT(err <= 0); + if (err) { + return err; + } + } + + return 0; +} + +static int lfs_bd_cmp(lfs_t *lfs, + const lfs_cache_t *pcache, lfs_cache_t *rcache, lfs_size_t hint, + lfs_block_t block, lfs_off_t off, + const void *buffer, lfs_size_t size) { + const uint8_t *data = buffer; + lfs_size_t diff = 0; + + for (lfs_off_t i = 0; i < size; i += diff) { + uint8_t dat[8]; + + diff = lfs_min(size-i, sizeof(dat)); + int err = lfs_bd_read(lfs, + pcache, rcache, hint-i, + block, off+i, &dat, diff); + if (err) { + return err; + } + + int res = memcmp(dat, data + i, diff); + if (res) { + return res < 0 ? LFS_CMP_LT : LFS_CMP_GT; + } + } + + return LFS_CMP_EQ; +} + +static int lfs_bd_crc(lfs_t *lfs, + const lfs_cache_t *pcache, lfs_cache_t *rcache, lfs_size_t hint, + lfs_block_t block, lfs_off_t off, lfs_size_t size, uint32_t *crc) { + lfs_size_t diff = 0; + + for (lfs_off_t i = 0; i < size; i += diff) { + uint8_t dat[8]; + diff = lfs_min(size-i, sizeof(dat)); + int err = lfs_bd_read(lfs, + pcache, rcache, hint-i, + block, off+i, &dat, diff); + if (err) { + return err; + } + + *crc = lfs_crc(*crc, &dat, diff); + } + + return 0; +} + +#ifndef LFS_READONLY +static int lfs_bd_flush(lfs_t *lfs, + lfs_cache_t *pcache, lfs_cache_t *rcache, bool validate) { + if (pcache->block != LFS_BLOCK_NULL && pcache->block != LFS_BLOCK_INLINE) { + LFS_ASSERT(pcache->block < lfs->block_count); + lfs_size_t diff = lfs_alignup(pcache->size, lfs->cfg->prog_size); + int err = lfs->cfg->prog(lfs->cfg, pcache->block, + pcache->off, pcache->buffer, diff); + LFS_ASSERT(err <= 0); + if (err) { + return err; + } + + if (validate) { + // check data on disk + lfs_cache_drop(lfs, rcache); + int res = lfs_bd_cmp(lfs, + NULL, rcache, diff, + pcache->block, pcache->off, pcache->buffer, diff); + if (res < 0) { + return res; + } + + if (res != LFS_CMP_EQ) { + return LFS_ERR_CORRUPT; + } + } + + lfs_cache_zero(lfs, pcache); + } + + return 0; +} +#endif + +#ifndef LFS_READONLY +static int lfs_bd_sync(lfs_t *lfs, + lfs_cache_t *pcache, lfs_cache_t *rcache, bool validate) { + lfs_cache_drop(lfs, rcache); + + int err = lfs_bd_flush(lfs, pcache, rcache, validate); + if (err) { + return err; + } + + err = lfs->cfg->sync(lfs->cfg); + LFS_ASSERT(err <= 0); + return err; +} +#endif + +#ifndef LFS_READONLY +static int lfs_bd_prog(lfs_t *lfs, + lfs_cache_t *pcache, lfs_cache_t *rcache, bool validate, + lfs_block_t block, lfs_off_t off, + const void *buffer, lfs_size_t size) { + const uint8_t *data = buffer; + LFS_ASSERT(block == LFS_BLOCK_INLINE || block < lfs->block_count); + LFS_ASSERT(off + size <= lfs->cfg->block_size); + + while (size > 0) { + if (block == pcache->block && + off >= pcache->off && + off < pcache->off + lfs->cfg->cache_size) { + // already fits in pcache? + lfs_size_t diff = lfs_min(size, + lfs->cfg->cache_size - (off-pcache->off)); + memcpy(&pcache->buffer[off-pcache->off], data, diff); + + data += diff; + off += diff; + size -= diff; + + pcache->size = lfs_max(pcache->size, off - pcache->off); + if (pcache->size == lfs->cfg->cache_size) { + // eagerly flush out pcache if we fill up + int err = lfs_bd_flush(lfs, pcache, rcache, validate); + if (err) { + return err; + } + } + + continue; + } + + // pcache must have been flushed, either by programming an + // entire block or manually flushing the pcache + LFS_ASSERT(pcache->block == LFS_BLOCK_NULL); + + // prepare pcache, first condition can no longer fail + pcache->block = block; + pcache->off = lfs_aligndown(off, lfs->cfg->prog_size); + pcache->size = 0; + } + + return 0; +} +#endif + +#ifndef LFS_READONLY +static int lfs_bd_erase(lfs_t *lfs, lfs_block_t block) { + LFS_ASSERT(block < lfs->block_count); + int err = lfs->cfg->erase(lfs->cfg, block); + LFS_ASSERT(err <= 0); + return err; +} +#endif + + +/// Small type-level utilities /// + +// some operations on paths +static inline lfs_size_t lfs_path_namelen(const char *path) { + return (lfs_size_t)strcspn(path, "/"); +} + +static inline bool lfs_path_islast(const char *path) { + lfs_size_t namelen = lfs_path_namelen(path); + return path[namelen + strspn(path + namelen, "/")] == '\0'; +} + +static inline bool lfs_path_isdir(const char *path) { + return path[lfs_path_namelen(path)] != '\0'; +} + +// operations on block pairs +static inline void lfs_pair_swap(lfs_block_t pair[2]) { + lfs_block_t t = pair[0]; + pair[0] = pair[1]; + pair[1] = t; +} + +static inline bool lfs_pair_isnull(const lfs_block_t pair[2]) { + return pair[0] == LFS_BLOCK_NULL || pair[1] == LFS_BLOCK_NULL; +} + +static inline int lfs_pair_cmp( + const lfs_block_t paira[2], + const lfs_block_t pairb[2]) { + return !(paira[0] == pairb[0] || paira[1] == pairb[1] || + paira[0] == pairb[1] || paira[1] == pairb[0]); +} + +static inline bool lfs_pair_issync( + const lfs_block_t paira[2], + const lfs_block_t pairb[2]) { + return (paira[0] == pairb[0] && paira[1] == pairb[1]) || + (paira[0] == pairb[1] && paira[1] == pairb[0]); +} + +static inline void lfs_pair_fromle32(lfs_block_t pair[2]) { + pair[0] = lfs_fromle32(pair[0]); + pair[1] = lfs_fromle32(pair[1]); +} + +#ifndef LFS_READONLY +static inline void lfs_pair_tole32(lfs_block_t pair[2]) { + pair[0] = lfs_tole32(pair[0]); + pair[1] = lfs_tole32(pair[1]); +} +#endif + +// operations on 32-bit entry tags +typedef uint32_t lfs_tag_t; +typedef int32_t lfs_stag_t; + +#define LFS_MKTAG(type, id, size) \ + (((lfs_tag_t)(type) << 20) | ((lfs_tag_t)(id) << 10) | (lfs_tag_t)(size)) + +#define LFS_MKTAG_IF(cond, type, id, size) \ + ((cond) ? LFS_MKTAG(type, id, size) : LFS_MKTAG(LFS_FROM_NOOP, 0, 0)) + +#define LFS_MKTAG_IF_ELSE(cond, type1, id1, size1, type2, id2, size2) \ + ((cond) ? LFS_MKTAG(type1, id1, size1) : LFS_MKTAG(type2, id2, size2)) + +static inline bool lfs_tag_isvalid(lfs_tag_t tag) { + return !(tag & 0x80000000); +} + +static inline bool lfs_tag_isdelete(lfs_tag_t tag) { + return ((int32_t)(tag << 22) >> 22) == -1; +} + +static inline uint16_t lfs_tag_type1(lfs_tag_t tag) { + return (tag & 0x70000000) >> 20; +} + +static inline uint16_t lfs_tag_type2(lfs_tag_t tag) { + return (tag & 0x78000000) >> 20; +} + +static inline uint16_t lfs_tag_type3(lfs_tag_t tag) { + return (tag & 0x7ff00000) >> 20; +} + +static inline uint8_t lfs_tag_chunk(lfs_tag_t tag) { + return (tag & 0x0ff00000) >> 20; +} + +static inline int8_t lfs_tag_splice(lfs_tag_t tag) { + return (int8_t)lfs_tag_chunk(tag); +} + +static inline uint16_t lfs_tag_id(lfs_tag_t tag) { + return (tag & 0x000ffc00) >> 10; +} + +static inline lfs_size_t lfs_tag_size(lfs_tag_t tag) { + return tag & 0x000003ff; +} + +static inline lfs_size_t lfs_tag_dsize(lfs_tag_t tag) { + return sizeof(tag) + lfs_tag_size(tag + lfs_tag_isdelete(tag)); +} + +// operations on attributes in attribute lists +struct lfs_mattr { + lfs_tag_t tag; + const void *buffer; +}; + +struct lfs_diskoff { + lfs_block_t block; + lfs_off_t off; +}; + +#define LFS_MKATTRS(...) \ + (struct lfs_mattr[]){__VA_ARGS__}, \ + sizeof((struct lfs_mattr[]){__VA_ARGS__}) / sizeof(struct lfs_mattr) + +// operations on global state +static inline void lfs_gstate_xor(lfs_gstate_t *a, const lfs_gstate_t *b) { + a->tag ^= b->tag; + a->pair[0] ^= b->pair[0]; + a->pair[1] ^= b->pair[1]; +} + +static inline bool lfs_gstate_iszero(const lfs_gstate_t *a) { + return a->tag == 0 + && a->pair[0] == 0 + && a->pair[1] == 0; +} + +#ifndef LFS_READONLY +static inline bool lfs_gstate_hasorphans(const lfs_gstate_t *a) { + return lfs_tag_size(a->tag); +} + +static inline uint8_t lfs_gstate_getorphans(const lfs_gstate_t *a) { + return lfs_tag_size(a->tag) & 0x1ff; +} + +static inline bool lfs_gstate_hasmove(const lfs_gstate_t *a) { + return lfs_tag_type1(a->tag); +} +#endif + +static inline bool lfs_gstate_needssuperblock(const lfs_gstate_t *a) { + return lfs_tag_size(a->tag) >> 9; +} + +static inline bool lfs_gstate_hasmovehere(const lfs_gstate_t *a, + const lfs_block_t *pair) { + return lfs_tag_type1(a->tag) && lfs_pair_cmp(a->pair, pair) == 0; +} + +static inline void lfs_gstate_fromle32(lfs_gstate_t *a) { + a->tag = lfs_fromle32(a->tag); + a->pair[0] = lfs_fromle32(a->pair[0]); + a->pair[1] = lfs_fromle32(a->pair[1]); +} + +#ifndef LFS_READONLY +static inline void lfs_gstate_tole32(lfs_gstate_t *a) { + a->tag = lfs_tole32(a->tag); + a->pair[0] = lfs_tole32(a->pair[0]); + a->pair[1] = lfs_tole32(a->pair[1]); +} +#endif + +// operations on forward-CRCs used to track erased state +struct lfs_fcrc { + lfs_size_t size; + uint32_t crc; +}; + +static void lfs_fcrc_fromle32(struct lfs_fcrc *fcrc) { + fcrc->size = lfs_fromle32(fcrc->size); + fcrc->crc = lfs_fromle32(fcrc->crc); +} + +#ifndef LFS_READONLY +static void lfs_fcrc_tole32(struct lfs_fcrc *fcrc) { + fcrc->size = lfs_tole32(fcrc->size); + fcrc->crc = lfs_tole32(fcrc->crc); +} +#endif + +// other endianness operations +static void lfs_ctz_fromle32(struct lfs_ctz *ctz) { + ctz->head = lfs_fromle32(ctz->head); + ctz->size = lfs_fromle32(ctz->size); +} + +#ifndef LFS_READONLY +static void lfs_ctz_tole32(struct lfs_ctz *ctz) { + ctz->head = lfs_tole32(ctz->head); + ctz->size = lfs_tole32(ctz->size); +} +#endif + +static inline void lfs_superblock_fromle32(lfs_superblock_t *superblock) { + superblock->version = lfs_fromle32(superblock->version); + superblock->block_size = lfs_fromle32(superblock->block_size); + superblock->block_count = lfs_fromle32(superblock->block_count); + superblock->name_max = lfs_fromle32(superblock->name_max); + superblock->file_max = lfs_fromle32(superblock->file_max); + superblock->attr_max = lfs_fromle32(superblock->attr_max); +} + +#ifndef LFS_READONLY +static inline void lfs_superblock_tole32(lfs_superblock_t *superblock) { + superblock->version = lfs_tole32(superblock->version); + superblock->block_size = lfs_tole32(superblock->block_size); + superblock->block_count = lfs_tole32(superblock->block_count); + superblock->name_max = lfs_tole32(superblock->name_max); + superblock->file_max = lfs_tole32(superblock->file_max); + superblock->attr_max = lfs_tole32(superblock->attr_max); +} +#endif + +#ifndef LFS_NO_ASSERT +static bool lfs_mlist_isopen(struct lfs_mlist *head, + struct lfs_mlist *node) { + for (struct lfs_mlist **p = &head; *p; p = &(*p)->next) { + if (*p == (struct lfs_mlist*)node) { + return true; + } + } + + return false; +} +#endif + +static void lfs_mlist_remove(lfs_t *lfs, struct lfs_mlist *mlist) { + for (struct lfs_mlist **p = &lfs->mlist; *p; p = &(*p)->next) { + if (*p == mlist) { + *p = (*p)->next; + break; + } + } +} + +static void lfs_mlist_append(lfs_t *lfs, struct lfs_mlist *mlist) { + mlist->next = lfs->mlist; + lfs->mlist = mlist; +} + +// some other filesystem operations +static uint32_t lfs_fs_disk_version(lfs_t *lfs) { + (void)lfs; +#ifdef LFS_MULTIVERSION + if (lfs->cfg->disk_version) { + return lfs->cfg->disk_version; + } else +#endif + { + return LFS_DISK_VERSION; + } +} + +static uint16_t lfs_fs_disk_version_major(lfs_t *lfs) { + return 0xffff & (lfs_fs_disk_version(lfs) >> 16); + +} + +static uint16_t lfs_fs_disk_version_minor(lfs_t *lfs) { + return 0xffff & (lfs_fs_disk_version(lfs) >> 0); +} + + +/// Internal operations predeclared here /// +#ifndef LFS_READONLY +static int lfs_dir_commit(lfs_t *lfs, lfs_mdir_t *dir, + const struct lfs_mattr *attrs, int attrcount); +static int lfs_dir_compact(lfs_t *lfs, + lfs_mdir_t *dir, const struct lfs_mattr *attrs, int attrcount, + lfs_mdir_t *source, uint16_t begin, uint16_t end); +static lfs_ssize_t lfs_file_flushedwrite(lfs_t *lfs, lfs_file_t *file, + const void *buffer, lfs_size_t size); +static lfs_ssize_t lfs_file_write_(lfs_t *lfs, lfs_file_t *file, + const void *buffer, lfs_size_t size); +static int lfs_file_sync_(lfs_t *lfs, lfs_file_t *file); +static int lfs_file_outline(lfs_t *lfs, lfs_file_t *file); +static int lfs_file_flush(lfs_t *lfs, lfs_file_t *file); + +static int lfs_fs_deorphan(lfs_t *lfs, bool powerloss); +static int lfs_fs_preporphans(lfs_t *lfs, int8_t orphans); +static void lfs_fs_prepmove(lfs_t *lfs, + uint16_t id, const lfs_block_t pair[2]); +static int lfs_fs_pred(lfs_t *lfs, const lfs_block_t dir[2], + lfs_mdir_t *pdir); +static lfs_stag_t lfs_fs_parent(lfs_t *lfs, const lfs_block_t dir[2], + lfs_mdir_t *parent); +static int lfs_fs_forceconsistency(lfs_t *lfs); +#endif + +static void lfs_fs_prepsuperblock(lfs_t *lfs, bool needssuperblock); + +#ifdef LFS_MIGRATE +static int lfs1_traverse(lfs_t *lfs, + int (*cb)(void*, lfs_block_t), void *data); +#endif + +static int lfs_dir_rewind_(lfs_t *lfs, lfs_dir_t *dir); + +static lfs_ssize_t lfs_file_flushedread(lfs_t *lfs, lfs_file_t *file, + void *buffer, lfs_size_t size); +static lfs_ssize_t lfs_file_read_(lfs_t *lfs, lfs_file_t *file, + void *buffer, lfs_size_t size); +static int lfs_file_close_(lfs_t *lfs, lfs_file_t *file); +static lfs_soff_t lfs_file_size_(lfs_t *lfs, lfs_file_t *file); + +static lfs_ssize_t lfs_fs_size_(lfs_t *lfs); +static int lfs_fs_traverse_(lfs_t *lfs, + int (*cb)(void *data, lfs_block_t block), void *data, + bool includeorphans); + +static int lfs_deinit(lfs_t *lfs); +static int lfs_unmount_(lfs_t *lfs); + + +/// Block allocator /// + +// allocations should call this when all allocated blocks are committed to +// the filesystem +// +// after a checkpoint, the block allocator may realloc any untracked blocks +static void lfs_alloc_ckpoint(lfs_t *lfs) { + lfs->lookahead.ckpoint = lfs->block_count; +} + +// drop the lookahead buffer, this is done during mounting and failed +// traversals in order to avoid invalid lookahead state +static void lfs_alloc_drop(lfs_t *lfs) { + lfs->lookahead.size = 0; + lfs->lookahead.next = 0; + lfs_alloc_ckpoint(lfs); +} + +#ifndef LFS_READONLY +static int lfs_alloc_lookahead(void *p, lfs_block_t block) { + lfs_t *lfs = (lfs_t*)p; + lfs_block_t off = ((block - lfs->lookahead.start) + + lfs->block_count) % lfs->block_count; + + if (off < lfs->lookahead.size) { + lfs->lookahead.buffer[off / 8] |= 1U << (off % 8); + } + + return 0; +} +#endif + +#ifndef LFS_READONLY +static int lfs_alloc_scan(lfs_t *lfs) { + // move lookahead buffer to the first unused block + // + // note we limit the lookahead buffer to at most the amount of blocks + // checkpointed, this prevents the math in lfs_alloc from underflowing + lfs->lookahead.start = (lfs->lookahead.start + lfs->lookahead.next) + % lfs->block_count; + lfs->lookahead.next = 0; + lfs->lookahead.size = lfs_min( + 8*lfs->cfg->lookahead_size, + lfs->lookahead.ckpoint); + + // find mask of free blocks from tree + memset(lfs->lookahead.buffer, 0, lfs->cfg->lookahead_size); + int err = lfs_fs_traverse_(lfs, lfs_alloc_lookahead, lfs, true); + if (err) { + lfs_alloc_drop(lfs); + return err; + } + + return 0; +} +#endif + +#ifndef LFS_READONLY +static int lfs_alloc(lfs_t *lfs, lfs_block_t *block) { + while (true) { + // scan our lookahead buffer for free blocks + while (lfs->lookahead.next < lfs->lookahead.size) { + if (!(lfs->lookahead.buffer[lfs->lookahead.next / 8] + & (1U << (lfs->lookahead.next % 8)))) { + // found a free block + *block = (lfs->lookahead.start + lfs->lookahead.next) + % lfs->block_count; + + // eagerly find next free block to maximize how many blocks + // lfs_alloc_ckpoint makes available for scanning + while (true) { + lfs->lookahead.next += 1; + lfs->lookahead.ckpoint -= 1; + + if (lfs->lookahead.next >= lfs->lookahead.size + || !(lfs->lookahead.buffer[lfs->lookahead.next / 8] + & (1U << (lfs->lookahead.next % 8)))) { + return 0; + } + } + } + + lfs->lookahead.next += 1; + lfs->lookahead.ckpoint -= 1; + } + + // In order to keep our block allocator from spinning forever when our + // filesystem is full, we mark points where there are no in-flight + // allocations with a checkpoint before starting a set of allocations. + // + // If we've looked at all blocks since the last checkpoint, we report + // the filesystem as out of storage. + // + if (lfs->lookahead.ckpoint <= 0) { + LFS_ERROR("No more free space 0x%"PRIx32, + (lfs->lookahead.start + lfs->lookahead.next) + % lfs->block_count); + return LFS_ERR_NOSPC; + } + + // No blocks in our lookahead buffer, we need to scan the filesystem for + // unused blocks in the next lookahead window. + int err = lfs_alloc_scan(lfs); + if(err) { + return err; + } + } +} +#endif + +/// Metadata pair and directory operations /// +static lfs_stag_t lfs_dir_getslice(lfs_t *lfs, const lfs_mdir_t *dir, + lfs_tag_t gmask, lfs_tag_t gtag, + lfs_off_t goff, void *gbuffer, lfs_size_t gsize) { + lfs_off_t off = dir->off; + lfs_tag_t ntag = dir->etag; + lfs_stag_t gdiff = 0; + + // synthetic moves + if (lfs_gstate_hasmovehere(&lfs->gdisk, dir->pair) && + lfs_tag_id(gmask) != 0) { + if (lfs_tag_id(lfs->gdisk.tag) == lfs_tag_id(gtag)) { + return LFS_ERR_NOENT; + } else if (lfs_tag_id(lfs->gdisk.tag) < lfs_tag_id(gtag)) { + gdiff -= LFS_MKTAG(0, 1, 0); + } + } + + // iterate over dir block backwards (for faster lookups) + while (off >= sizeof(lfs_tag_t) + lfs_tag_dsize(ntag)) { + off -= lfs_tag_dsize(ntag); + lfs_tag_t tag = ntag; + int err = lfs_bd_read(lfs, + NULL, &lfs->rcache, sizeof(ntag), + dir->pair[0], off, &ntag, sizeof(ntag)); + LFS_ASSERT(err <= 0); + if (err) { + return err; + } + + ntag = (lfs_frombe32(ntag) ^ tag) & 0x7fffffff; + + if (lfs_tag_id(gmask) != 0 && + lfs_tag_type1(tag) == LFS_TYPE_SPLICE && + lfs_tag_id(tag) <= lfs_tag_id(gtag - gdiff)) { + if (tag == (LFS_MKTAG(LFS_TYPE_CREATE, 0, 0) | + (LFS_MKTAG(0, 0x3ff, 0) & (gtag - gdiff)))) { + // found where we were created + return LFS_ERR_NOENT; + } + + // move around splices + gdiff += LFS_MKTAG(0, lfs_tag_splice(tag), 0); + } + + if ((gmask & tag) == (gmask & (gtag - gdiff))) { + if (lfs_tag_isdelete(tag)) { + return LFS_ERR_NOENT; + } + + lfs_size_t diff = lfs_min(lfs_tag_size(tag), gsize); + err = lfs_bd_read(lfs, + NULL, &lfs->rcache, diff, + dir->pair[0], off+sizeof(tag)+goff, gbuffer, diff); + LFS_ASSERT(err <= 0); + if (err) { + return err; + } + + memset((uint8_t*)gbuffer + diff, 0, gsize - diff); + + return tag + gdiff; + } + } + + return LFS_ERR_NOENT; +} + +static lfs_stag_t lfs_dir_get(lfs_t *lfs, const lfs_mdir_t *dir, + lfs_tag_t gmask, lfs_tag_t gtag, void *buffer) { + return lfs_dir_getslice(lfs, dir, + gmask, gtag, + 0, buffer, lfs_tag_size(gtag)); +} + +static int lfs_dir_getread(lfs_t *lfs, const lfs_mdir_t *dir, + const lfs_cache_t *pcache, lfs_cache_t *rcache, lfs_size_t hint, + lfs_tag_t gmask, lfs_tag_t gtag, + lfs_off_t off, void *buffer, lfs_size_t size) { + uint8_t *data = buffer; + if (off+size > lfs->cfg->block_size) { + return LFS_ERR_CORRUPT; + } + + while (size > 0) { + lfs_size_t diff = size; + + if (pcache && pcache->block == LFS_BLOCK_INLINE && + off < pcache->off + pcache->size) { + if (off >= pcache->off) { + // is already in pcache? + diff = lfs_min(diff, pcache->size - (off-pcache->off)); + memcpy(data, &pcache->buffer[off-pcache->off], diff); + + data += diff; + off += diff; + size -= diff; + continue; + } + + // pcache takes priority + diff = lfs_min(diff, pcache->off-off); + } + + if (rcache->block == LFS_BLOCK_INLINE && + off < rcache->off + rcache->size) { + if (off >= rcache->off) { + // is already in rcache? + diff = lfs_min(diff, rcache->size - (off-rcache->off)); + memcpy(data, &rcache->buffer[off-rcache->off], diff); + + data += diff; + off += diff; + size -= diff; + continue; + } + } + + // load to cache, first condition can no longer fail + rcache->block = LFS_BLOCK_INLINE; + rcache->off = lfs_aligndown(off, lfs->cfg->read_size); + rcache->size = lfs_min(lfs_alignup(off+hint, lfs->cfg->read_size), + lfs->cfg->cache_size); + int err = lfs_dir_getslice(lfs, dir, gmask, gtag, + rcache->off, rcache->buffer, rcache->size); + if (err < 0) { + return err; + } + } + + return 0; +} + +#ifndef LFS_READONLY +static int lfs_dir_traverse_filter(void *p, + lfs_tag_t tag, const void *buffer) { + lfs_tag_t *filtertag = p; + (void)buffer; + + // which mask depends on unique bit in tag structure + uint32_t mask = (tag & LFS_MKTAG(0x100, 0, 0)) + ? LFS_MKTAG(0x7ff, 0x3ff, 0) + : LFS_MKTAG(0x700, 0x3ff, 0); + + // check for redundancy + if ((mask & tag) == (mask & *filtertag) || + lfs_tag_isdelete(*filtertag) || + (LFS_MKTAG(0x7ff, 0x3ff, 0) & tag) == ( + LFS_MKTAG(LFS_TYPE_DELETE, 0, 0) | + (LFS_MKTAG(0, 0x3ff, 0) & *filtertag))) { + *filtertag = LFS_MKTAG(LFS_FROM_NOOP, 0, 0); + return true; + } + + // check if we need to adjust for created/deleted tags + if (lfs_tag_type1(tag) == LFS_TYPE_SPLICE && + lfs_tag_id(tag) <= lfs_tag_id(*filtertag)) { + *filtertag += LFS_MKTAG(0, lfs_tag_splice(tag), 0); + } + + return false; +} +#endif + +#ifndef LFS_READONLY +// maximum recursive depth of lfs_dir_traverse, the deepest call: +// +// traverse with commit +// '-> traverse with move +// '-> traverse with filter +// +#define LFS_DIR_TRAVERSE_DEPTH 3 + +struct lfs_dir_traverse { + const lfs_mdir_t *dir; + lfs_off_t off; + lfs_tag_t ptag; + const struct lfs_mattr *attrs; + int attrcount; + + lfs_tag_t tmask; + lfs_tag_t ttag; + uint16_t begin; + uint16_t end; + int16_t diff; + + int (*cb)(void *data, lfs_tag_t tag, const void *buffer); + void *data; + + lfs_tag_t tag; + const void *buffer; + struct lfs_diskoff disk; +}; + +static int lfs_dir_traverse(lfs_t *lfs, + const lfs_mdir_t *dir, lfs_off_t off, lfs_tag_t ptag, + const struct lfs_mattr *attrs, int attrcount, + lfs_tag_t tmask, lfs_tag_t ttag, + uint16_t begin, uint16_t end, int16_t diff, + int (*cb)(void *data, lfs_tag_t tag, const void *buffer), void *data) { + // This function in inherently recursive, but bounded. To allow tool-based + // analysis without unnecessary code-cost we use an explicit stack + struct lfs_dir_traverse stack[LFS_DIR_TRAVERSE_DEPTH-1]; + unsigned sp = 0; + int res; + + // iterate over directory and attrs + lfs_tag_t tag; + const void *buffer; + struct lfs_diskoff disk = {0}; + while (true) { + { + if (off+lfs_tag_dsize(ptag) < dir->off) { + off += lfs_tag_dsize(ptag); + int err = lfs_bd_read(lfs, + NULL, &lfs->rcache, sizeof(tag), + dir->pair[0], off, &tag, sizeof(tag)); + if (err) { + return err; + } + + tag = (lfs_frombe32(tag) ^ ptag) | 0x80000000; + disk.block = dir->pair[0]; + disk.off = off+sizeof(lfs_tag_t); + buffer = &disk; + ptag = tag; + } else if (attrcount > 0) { + tag = attrs[0].tag; + buffer = attrs[0].buffer; + attrs += 1; + attrcount -= 1; + } else { + // finished traversal, pop from stack? + res = 0; + break; + } + + // do we need to filter? + lfs_tag_t mask = LFS_MKTAG(0x7ff, 0, 0); + if ((mask & tmask & tag) != (mask & tmask & ttag)) { + continue; + } + + if (lfs_tag_id(tmask) != 0) { + LFS_ASSERT(sp < LFS_DIR_TRAVERSE_DEPTH); + // recurse, scan for duplicates, and update tag based on + // creates/deletes + stack[sp] = (struct lfs_dir_traverse){ + .dir = dir, + .off = off, + .ptag = ptag, + .attrs = attrs, + .attrcount = attrcount, + .tmask = tmask, + .ttag = ttag, + .begin = begin, + .end = end, + .diff = diff, + .cb = cb, + .data = data, + .tag = tag, + .buffer = buffer, + .disk = disk, + }; + sp += 1; + + tmask = 0; + ttag = 0; + begin = 0; + end = 0; + diff = 0; + cb = lfs_dir_traverse_filter; + data = &stack[sp-1].tag; + continue; + } + } + +popped: + // in filter range? + if (lfs_tag_id(tmask) != 0 && + !(lfs_tag_id(tag) >= begin && lfs_tag_id(tag) < end)) { + continue; + } + + // handle special cases for mcu-side operations + if (lfs_tag_type3(tag) == LFS_FROM_NOOP) { + // do nothing + } else if (lfs_tag_type3(tag) == LFS_FROM_MOVE) { + // Without this condition, lfs_dir_traverse can exhibit an + // extremely expensive O(n^3) of nested loops when renaming. + // This happens because lfs_dir_traverse tries to filter tags by + // the tags in the source directory, triggering a second + // lfs_dir_traverse with its own filter operation. + // + // traverse with commit + // '-> traverse with filter + // '-> traverse with move + // '-> traverse with filter + // + // However we don't actually care about filtering the second set of + // tags, since duplicate tags have no effect when filtering. + // + // This check skips this unnecessary recursive filtering explicitly, + // reducing this runtime from O(n^3) to O(n^2). + if (cb == lfs_dir_traverse_filter) { + continue; + } + + // recurse into move + stack[sp] = (struct lfs_dir_traverse){ + .dir = dir, + .off = off, + .ptag = ptag, + .attrs = attrs, + .attrcount = attrcount, + .tmask = tmask, + .ttag = ttag, + .begin = begin, + .end = end, + .diff = diff, + .cb = cb, + .data = data, + .tag = LFS_MKTAG(LFS_FROM_NOOP, 0, 0), + }; + sp += 1; + + uint16_t fromid = lfs_tag_size(tag); + uint16_t toid = lfs_tag_id(tag); + dir = buffer; + off = 0; + ptag = 0xffffffff; + attrs = NULL; + attrcount = 0; + tmask = LFS_MKTAG(0x600, 0x3ff, 0); + ttag = LFS_MKTAG(LFS_TYPE_STRUCT, 0, 0); + begin = fromid; + end = fromid+1; + diff = toid-fromid+diff; + } else if (lfs_tag_type3(tag) == LFS_FROM_USERATTRS) { + for (unsigned i = 0; i < lfs_tag_size(tag); i++) { + const struct lfs_attr *a = buffer; + res = cb(data, LFS_MKTAG(LFS_TYPE_USERATTR + a[i].type, + lfs_tag_id(tag) + diff, a[i].size), a[i].buffer); + if (res < 0) { + return res; + } + + if (res) { + break; + } + } + } else { + res = cb(data, tag + LFS_MKTAG(0, diff, 0), buffer); + if (res < 0) { + return res; + } + + if (res) { + break; + } + } + } + + if (sp > 0) { + // pop from the stack and return, fortunately all pops share + // a destination + dir = stack[sp-1].dir; + off = stack[sp-1].off; + ptag = stack[sp-1].ptag; + attrs = stack[sp-1].attrs; + attrcount = stack[sp-1].attrcount; + tmask = stack[sp-1].tmask; + ttag = stack[sp-1].ttag; + begin = stack[sp-1].begin; + end = stack[sp-1].end; + diff = stack[sp-1].diff; + cb = stack[sp-1].cb; + data = stack[sp-1].data; + tag = stack[sp-1].tag; + buffer = stack[sp-1].buffer; + disk = stack[sp-1].disk; + sp -= 1; + goto popped; + } else { + return res; + } +} +#endif + +static lfs_stag_t lfs_dir_fetchmatch(lfs_t *lfs, + lfs_mdir_t *dir, const lfs_block_t pair[2], + lfs_tag_t fmask, lfs_tag_t ftag, uint16_t *id, + int (*cb)(void *data, lfs_tag_t tag, const void *buffer), void *data) { + // we can find tag very efficiently during a fetch, since we're already + // scanning the entire directory + lfs_stag_t besttag = -1; + + // if either block address is invalid we return LFS_ERR_CORRUPT here, + // otherwise later writes to the pair could fail + if (lfs->block_count + && (pair[0] >= lfs->block_count || pair[1] >= lfs->block_count)) { + return LFS_ERR_CORRUPT; + } + + // find the block with the most recent revision + uint32_t revs[2] = {0, 0}; + int r = 0; + for (int i = 0; i < 2; i++) { + int err = lfs_bd_read(lfs, + NULL, &lfs->rcache, sizeof(revs[i]), + pair[i], 0, &revs[i], sizeof(revs[i])); + revs[i] = lfs_fromle32(revs[i]); + if (err && err != LFS_ERR_CORRUPT) { + return err; + } + + if (err != LFS_ERR_CORRUPT && + lfs_scmp(revs[i], revs[(i+1)%2]) > 0) { + r = i; + } + } + + dir->pair[0] = pair[(r+0)%2]; + dir->pair[1] = pair[(r+1)%2]; + dir->rev = revs[(r+0)%2]; + dir->off = 0; // nonzero = found some commits + + // now scan tags to fetch the actual dir and find possible match + for (int i = 0; i < 2; i++) { + lfs_off_t off = 0; + lfs_tag_t ptag = 0xffffffff; + + uint16_t tempcount = 0; + lfs_block_t temptail[2] = {LFS_BLOCK_NULL, LFS_BLOCK_NULL}; + bool tempsplit = false; + lfs_stag_t tempbesttag = besttag; + + // assume not erased until proven otherwise + bool maybeerased = false; + bool hasfcrc = false; + struct lfs_fcrc fcrc; + + dir->rev = lfs_tole32(dir->rev); + uint32_t crc = lfs_crc(0xffffffff, &dir->rev, sizeof(dir->rev)); + dir->rev = lfs_fromle32(dir->rev); + + while (true) { + // extract next tag + lfs_tag_t tag; + off += lfs_tag_dsize(ptag); + int err = lfs_bd_read(lfs, + NULL, &lfs->rcache, lfs->cfg->block_size, + dir->pair[0], off, &tag, sizeof(tag)); + if (err) { + if (err == LFS_ERR_CORRUPT) { + // can't continue? + break; + } + return err; + } + + crc = lfs_crc(crc, &tag, sizeof(tag)); + tag = lfs_frombe32(tag) ^ ptag; + + // next commit not yet programmed? + if (!lfs_tag_isvalid(tag)) { + // we only might be erased if the last tag was a crc + maybeerased = (lfs_tag_type2(ptag) == LFS_TYPE_CCRC); + break; + // out of range? + } else if (off + lfs_tag_dsize(tag) > lfs->cfg->block_size) { + break; + } + + ptag = tag; + + if (lfs_tag_type2(tag) == LFS_TYPE_CCRC) { + // check the crc attr + uint32_t dcrc; + err = lfs_bd_read(lfs, + NULL, &lfs->rcache, lfs->cfg->block_size, + dir->pair[0], off+sizeof(tag), &dcrc, sizeof(dcrc)); + if (err) { + if (err == LFS_ERR_CORRUPT) { + break; + } + return err; + } + dcrc = lfs_fromle32(dcrc); + + if (crc != dcrc) { + break; + } + + // reset the next bit if we need to + ptag ^= (lfs_tag_t)(lfs_tag_chunk(tag) & 1U) << 31; + + // toss our crc into the filesystem seed for + // pseudorandom numbers, note we use another crc here + // as a collection function because it is sufficiently + // random and convenient + lfs->seed = lfs_crc(lfs->seed, &crc, sizeof(crc)); + + // update with what's found so far + besttag = tempbesttag; + dir->off = off + lfs_tag_dsize(tag); + dir->etag = ptag; + dir->count = tempcount; + dir->tail[0] = temptail[0]; + dir->tail[1] = temptail[1]; + dir->split = tempsplit; + + // reset crc, hasfcrc + crc = 0xffffffff; + continue; + } + + // crc the entry first, hopefully leaving it in the cache + err = lfs_bd_crc(lfs, + NULL, &lfs->rcache, lfs->cfg->block_size, + dir->pair[0], off+sizeof(tag), + lfs_tag_dsize(tag)-sizeof(tag), &crc); + if (err) { + if (err == LFS_ERR_CORRUPT) { + break; + } + return err; + } + + // directory modification tags? + if (lfs_tag_type1(tag) == LFS_TYPE_NAME) { + // increase count of files if necessary + if (lfs_tag_id(tag) >= tempcount) { + tempcount = lfs_tag_id(tag) + 1; + } + } else if (lfs_tag_type1(tag) == LFS_TYPE_SPLICE) { + tempcount += lfs_tag_splice(tag); + + if (tag == (LFS_MKTAG(LFS_TYPE_DELETE, 0, 0) | + (LFS_MKTAG(0, 0x3ff, 0) & tempbesttag))) { + tempbesttag |= 0x80000000; + } else if (tempbesttag != -1 && + lfs_tag_id(tag) <= lfs_tag_id(tempbesttag)) { + tempbesttag += LFS_MKTAG(0, lfs_tag_splice(tag), 0); + } + } else if (lfs_tag_type1(tag) == LFS_TYPE_TAIL) { + tempsplit = (lfs_tag_chunk(tag) & 1); + + err = lfs_bd_read(lfs, + NULL, &lfs->rcache, lfs->cfg->block_size, + dir->pair[0], off+sizeof(tag), &temptail, 8); + if (err) { + if (err == LFS_ERR_CORRUPT) { + break; + } + return err; + } + lfs_pair_fromle32(temptail); + } else if (lfs_tag_type3(tag) == LFS_TYPE_FCRC) { + err = lfs_bd_read(lfs, + NULL, &lfs->rcache, lfs->cfg->block_size, + dir->pair[0], off+sizeof(tag), + &fcrc, sizeof(fcrc)); + if (err) { + if (err == LFS_ERR_CORRUPT) { + break; + } + return err; + } + + lfs_fcrc_fromle32(&fcrc); + hasfcrc = true; + } + + // found a match for our fetcher? + if ((fmask & tag) == (fmask & ftag)) { + LFS_ASSERT(cb != NULL); + int res = cb(data, tag, &(struct lfs_diskoff){ + dir->pair[0], off+sizeof(tag)}); + if (res < 0) { + if (res == LFS_ERR_CORRUPT) { + break; + } + return res; + } + + if (res == LFS_CMP_EQ) { + // found a match + tempbesttag = tag; + } else if ((LFS_MKTAG(0x7ff, 0x3ff, 0) & tag) == + (LFS_MKTAG(0x7ff, 0x3ff, 0) & tempbesttag)) { + // found an identical tag, but contents didn't match + // this must mean that our besttag has been overwritten + tempbesttag = -1; + } else if (res == LFS_CMP_GT && + lfs_tag_id(tag) <= lfs_tag_id(tempbesttag)) { + // found a greater match, keep track to keep things sorted + tempbesttag = tag | 0x80000000; + } + } + } + + // found no valid commits? + if (dir->off == 0) { + // try the other block? + lfs_pair_swap(dir->pair); + dir->rev = revs[(r+1)%2]; + continue; + } + + // did we end on a valid commit? we may have an erased block + dir->erased = false; + if (maybeerased && dir->off % lfs->cfg->prog_size == 0) { + #ifdef LFS_MULTIVERSION + // note versions < lfs2.1 did not have fcrc tags, if + // we're < lfs2.1 treat missing fcrc as erased data + // + // we don't strictly need to do this, but otherwise writing + // to lfs2.0 disks becomes very inefficient + if (lfs_fs_disk_version(lfs) < 0x00020001) { + dir->erased = true; + + } else + #endif + if (hasfcrc) { + // check for an fcrc matching the next prog's erased state, if + // this failed most likely a previous prog was interrupted, we + // need a new erase + uint32_t fcrc_ = 0xffffffff; + int err = lfs_bd_crc(lfs, + NULL, &lfs->rcache, lfs->cfg->block_size, + dir->pair[0], dir->off, fcrc.size, &fcrc_); + if (err && err != LFS_ERR_CORRUPT) { + return err; + } + + // found beginning of erased part? + dir->erased = (fcrc_ == fcrc.crc); + } + } + + // synthetic move + if (lfs_gstate_hasmovehere(&lfs->gdisk, dir->pair)) { + if (lfs_tag_id(lfs->gdisk.tag) == lfs_tag_id(besttag)) { + besttag |= 0x80000000; + } else if (besttag != -1 && + lfs_tag_id(lfs->gdisk.tag) < lfs_tag_id(besttag)) { + besttag -= LFS_MKTAG(0, 1, 0); + } + } + + // found tag? or found best id? + if (id) { + *id = lfs_min(lfs_tag_id(besttag), dir->count); + } + + if (lfs_tag_isvalid(besttag)) { + return besttag; + } else if (lfs_tag_id(besttag) < dir->count) { + return LFS_ERR_NOENT; + } else { + return 0; + } + } + + LFS_ERROR("Corrupted dir pair at {0x%"PRIx32", 0x%"PRIx32"}", + dir->pair[0], dir->pair[1]); + return LFS_ERR_CORRUPT; +} + +static int lfs_dir_fetch(lfs_t *lfs, + lfs_mdir_t *dir, const lfs_block_t pair[2]) { + // note, mask=-1, tag=-1 can never match a tag since this + // pattern has the invalid bit set + return (int)lfs_dir_fetchmatch(lfs, dir, pair, + (lfs_tag_t)-1, (lfs_tag_t)-1, NULL, NULL, NULL); +} + +static int lfs_dir_getgstate(lfs_t *lfs, const lfs_mdir_t *dir, + lfs_gstate_t *gstate) { + lfs_gstate_t temp; + lfs_stag_t res = lfs_dir_get(lfs, dir, LFS_MKTAG(0x7ff, 0, 0), + LFS_MKTAG(LFS_TYPE_MOVESTATE, 0, sizeof(temp)), &temp); + if (res < 0 && res != LFS_ERR_NOENT) { + return res; + } + + if (res != LFS_ERR_NOENT) { + // xor together to find resulting gstate + lfs_gstate_fromle32(&temp); + lfs_gstate_xor(gstate, &temp); + } + + return 0; +} + +static int lfs_dir_getinfo(lfs_t *lfs, lfs_mdir_t *dir, + uint16_t id, struct lfs_info *info) { + if (id == 0x3ff) { + // special case for root + strcpy(info->name, "/"); + info->type = LFS_TYPE_DIR; + return 0; + } + + lfs_stag_t tag = lfs_dir_get(lfs, dir, LFS_MKTAG(0x780, 0x3ff, 0), + LFS_MKTAG(LFS_TYPE_NAME, id, lfs->name_max+1), info->name); + if (tag < 0) { + return (int)tag; + } + + info->type = lfs_tag_type3(tag); + + struct lfs_ctz ctz; + tag = lfs_dir_get(lfs, dir, LFS_MKTAG(0x700, 0x3ff, 0), + LFS_MKTAG(LFS_TYPE_STRUCT, id, sizeof(ctz)), &ctz); + if (tag < 0) { + return (int)tag; + } + lfs_ctz_fromle32(&ctz); + + if (lfs_tag_type3(tag) == LFS_TYPE_CTZSTRUCT) { + info->size = ctz.size; + } else if (lfs_tag_type3(tag) == LFS_TYPE_INLINESTRUCT) { + info->size = lfs_tag_size(tag); + } + + return 0; +} + +struct lfs_dir_find_match { + lfs_t *lfs; + const void *name; + lfs_size_t size; +}; + +static int lfs_dir_find_match(void *data, + lfs_tag_t tag, const void *buffer) { + struct lfs_dir_find_match *name = data; + lfs_t *lfs = name->lfs; + const struct lfs_diskoff *disk = buffer; + + // compare with disk + lfs_size_t diff = lfs_min(name->size, lfs_tag_size(tag)); + int res = lfs_bd_cmp(lfs, + NULL, &lfs->rcache, diff, + disk->block, disk->off, name->name, diff); + if (res != LFS_CMP_EQ) { + return res; + } + + // only equal if our size is still the same + if (name->size != lfs_tag_size(tag)) { + return (name->size < lfs_tag_size(tag)) ? LFS_CMP_LT : LFS_CMP_GT; + } + + // found a match! + return LFS_CMP_EQ; +} + +// lfs_dir_find tries to set path and id even if file is not found +// +// returns: +// - 0 if file is found +// - LFS_ERR_NOENT if file or parent is not found +// - LFS_ERR_NOTDIR if parent is not a dir +static lfs_stag_t lfs_dir_find(lfs_t *lfs, lfs_mdir_t *dir, + const char **path, uint16_t *id) { + // we reduce path to a single name if we can find it + const char *name = *path; + + // default to root dir + lfs_stag_t tag = LFS_MKTAG(LFS_TYPE_DIR, 0x3ff, 0); + dir->tail[0] = lfs->root[0]; + dir->tail[1] = lfs->root[1]; + + // empty paths are not allowed + if (*name == '\0') { + return LFS_ERR_INVAL; + } + + while (true) { +nextname: + // skip slashes if we're a directory + if (lfs_tag_type3(tag) == LFS_TYPE_DIR) { + name += strspn(name, "/"); + } + lfs_size_t namelen = (lfs_size_t)strcspn(name, "/"); + + // skip '.' + if (namelen == 1 && memcmp(name, ".", 1) == 0) { + name += namelen; + goto nextname; + } + + // error on unmatched '..', trying to go above root? + if (namelen == 2 && memcmp(name, "..", 2) == 0) { + return LFS_ERR_INVAL; + } + + // skip if matched by '..' in name + const char *suffix = name + namelen; + lfs_size_t sufflen; + int depth = 1; + while (true) { + suffix += strspn(suffix, "/"); + sufflen = (lfs_size_t)strcspn(suffix, "/"); + if (sufflen == 0) { + break; + } + + if (sufflen == 1 && memcmp(suffix, ".", 1) == 0) { + // noop + } else if (sufflen == 2 && memcmp(suffix, "..", 2) == 0) { + depth -= 1; + if (depth == 0) { + name = suffix + sufflen; + goto nextname; + } + } else { + depth += 1; + } + + suffix += sufflen; + } + + // found path + if (*name == '\0') { + return tag; + } + + // update what we've found so far + *path = name; + + // only continue if we're a directory + if (lfs_tag_type3(tag) != LFS_TYPE_DIR) { + return LFS_ERR_NOTDIR; + } + + // grab the entry data + if (lfs_tag_id(tag) != 0x3ff) { + lfs_stag_t res = lfs_dir_get(lfs, dir, LFS_MKTAG(0x700, 0x3ff, 0), + LFS_MKTAG(LFS_TYPE_STRUCT, lfs_tag_id(tag), 8), dir->tail); + if (res < 0) { + return res; + } + lfs_pair_fromle32(dir->tail); + } + + // find entry matching name + while (true) { + tag = lfs_dir_fetchmatch(lfs, dir, dir->tail, + LFS_MKTAG(0x780, 0, 0), + LFS_MKTAG(LFS_TYPE_NAME, 0, namelen), + id, + lfs_dir_find_match, &(struct lfs_dir_find_match){ + lfs, name, namelen}); + if (tag < 0) { + return tag; + } + + if (tag) { + break; + } + + if (!dir->split) { + return LFS_ERR_NOENT; + } + } + + // to next name + name += namelen; + } +} + +// commit logic +struct lfs_commit { + lfs_block_t block; + lfs_off_t off; + lfs_tag_t ptag; + uint32_t crc; + + lfs_off_t begin; + lfs_off_t end; +}; + +#ifndef LFS_READONLY +static int lfs_dir_commitprog(lfs_t *lfs, struct lfs_commit *commit, + const void *buffer, lfs_size_t size) { + int err = lfs_bd_prog(lfs, + &lfs->pcache, &lfs->rcache, false, + commit->block, commit->off , + (const uint8_t*)buffer, size); + if (err) { + return err; + } + + commit->crc = lfs_crc(commit->crc, buffer, size); + commit->off += size; + return 0; +} +#endif + +#ifndef LFS_READONLY +static int lfs_dir_commitattr(lfs_t *lfs, struct lfs_commit *commit, + lfs_tag_t tag, const void *buffer) { + // check if we fit + lfs_size_t dsize = lfs_tag_dsize(tag); + if (commit->off + dsize > commit->end) { + return LFS_ERR_NOSPC; + } + + // write out tag + lfs_tag_t ntag = lfs_tobe32((tag & 0x7fffffff) ^ commit->ptag); + int err = lfs_dir_commitprog(lfs, commit, &ntag, sizeof(ntag)); + if (err) { + return err; + } + + if (!(tag & 0x80000000)) { + // from memory + err = lfs_dir_commitprog(lfs, commit, buffer, dsize-sizeof(tag)); + if (err) { + return err; + } + } else { + // from disk + const struct lfs_diskoff *disk = buffer; + for (lfs_off_t i = 0; i < dsize-sizeof(tag); i++) { + // rely on caching to make this efficient + uint8_t dat; + err = lfs_bd_read(lfs, + NULL, &lfs->rcache, dsize-sizeof(tag)-i, + disk->block, disk->off+i, &dat, 1); + if (err) { + return err; + } + + err = lfs_dir_commitprog(lfs, commit, &dat, 1); + if (err) { + return err; + } + } + } + + commit->ptag = tag & 0x7fffffff; + return 0; +} +#endif + +#ifndef LFS_READONLY + +static int lfs_dir_commitcrc(lfs_t *lfs, struct lfs_commit *commit) { + // align to program units + // + // this gets a bit complex as we have two types of crcs: + // - 5-word crc with fcrc to check following prog (middle of block) + // - 2-word crc with no following prog (end of block) + const lfs_off_t end = lfs_alignup( + lfs_min(commit->off + 5*sizeof(uint32_t), lfs->cfg->block_size), + lfs->cfg->prog_size); + + lfs_off_t off1 = 0; + uint32_t crc1 = 0; + + // create crc tags to fill up remainder of commit, note that + // padding is not crced, which lets fetches skip padding but + // makes committing a bit more complicated + while (commit->off < end) { + lfs_off_t noff = ( + lfs_min(end - (commit->off+sizeof(lfs_tag_t)), 0x3fe) + + (commit->off+sizeof(lfs_tag_t))); + // too large for crc tag? need padding commits + if (noff < end) { + noff = lfs_min(noff, end - 5*sizeof(uint32_t)); + } + + // space for fcrc? + uint8_t eperturb = (uint8_t)-1; + if (noff >= end && noff <= lfs->cfg->block_size - lfs->cfg->prog_size) { + // first read the leading byte, this always contains a bit + // we can perturb to avoid writes that don't change the fcrc + int err = lfs_bd_read(lfs, + NULL, &lfs->rcache, lfs->cfg->prog_size, + commit->block, noff, &eperturb, 1); + if (err && err != LFS_ERR_CORRUPT) { + return err; + } + + #ifdef LFS_MULTIVERSION + // unfortunately fcrcs break mdir fetching < lfs2.1, so only write + // these if we're a >= lfs2.1 filesystem + if (lfs_fs_disk_version(lfs) <= 0x00020000) { + // don't write fcrc + } else + #endif + { + // find the expected fcrc, don't bother avoiding a reread + // of the eperturb, it should still be in our cache + struct lfs_fcrc fcrc = { + .size = lfs->cfg->prog_size, + .crc = 0xffffffff + }; + err = lfs_bd_crc(lfs, + NULL, &lfs->rcache, lfs->cfg->prog_size, + commit->block, noff, fcrc.size, &fcrc.crc); + if (err && err != LFS_ERR_CORRUPT) { + return err; + } + + lfs_fcrc_tole32(&fcrc); + err = lfs_dir_commitattr(lfs, commit, + LFS_MKTAG(LFS_TYPE_FCRC, 0x3ff, sizeof(struct lfs_fcrc)), + &fcrc); + if (err) { + return err; + } + } + } + + // build commit crc + struct { + lfs_tag_t tag; + uint32_t crc; + } ccrc; + lfs_tag_t ntag = LFS_MKTAG( + LFS_TYPE_CCRC + (((uint8_t)~eperturb) >> 7), 0x3ff, + noff - (commit->off+sizeof(lfs_tag_t))); + ccrc.tag = lfs_tobe32(ntag ^ commit->ptag); + commit->crc = lfs_crc(commit->crc, &ccrc.tag, sizeof(lfs_tag_t)); + ccrc.crc = lfs_tole32(commit->crc); + + int err = lfs_bd_prog(lfs, + &lfs->pcache, &lfs->rcache, false, + commit->block, commit->off, &ccrc, sizeof(ccrc)); + if (err) { + return err; + } + + // keep track of non-padding checksum to verify + if (off1 == 0) { + off1 = commit->off + sizeof(lfs_tag_t); + crc1 = commit->crc; + } + + commit->off = noff; + // perturb valid bit? + commit->ptag = ntag ^ ((lfs_tag_t)(0x80 & ~eperturb) << 24); + // reset crc for next commit + commit->crc = 0xffffffff; + + // manually flush here since we don't prog the padding, this confuses + // the caching layer + if (noff >= end || noff >= lfs->pcache.off + lfs->cfg->cache_size) { + // flush buffers + int err = lfs_bd_sync(lfs, &lfs->pcache, &lfs->rcache, false); + if (err) { + return err; + } + } + } + + // successful commit, check checksums to make sure + // + // note that we don't need to check padding commits, worst + // case if they are corrupted we would have had to compact anyways + lfs_off_t off = commit->begin; + uint32_t crc = 0xffffffff; + int err = lfs_bd_crc(lfs, + NULL, &lfs->rcache, off1+sizeof(uint32_t), + commit->block, off, off1-off, &crc); + if (err) { + return err; + } + + // check non-padding commits against known crc + if (crc != crc1) { + return LFS_ERR_CORRUPT; + } + + // make sure to check crc in case we happen to pick + // up an unrelated crc (frozen block?) + err = lfs_bd_crc(lfs, + NULL, &lfs->rcache, sizeof(uint32_t), + commit->block, off1, sizeof(uint32_t), &crc); + if (err) { + return err; + } + + if (crc != 0) { + return LFS_ERR_CORRUPT; + } + + return 0; +} +#endif + +#ifndef LFS_READONLY +static int lfs_dir_alloc(lfs_t *lfs, lfs_mdir_t *dir) { + // allocate pair of dir blocks (backwards, so we write block 1 first) + for (int i = 0; i < 2; i++) { + int err = lfs_alloc(lfs, &dir->pair[(i+1)%2]); + if (err) { + return err; + } + } + + // zero for reproducibility in case initial block is unreadable + dir->rev = 0; + + // rather than clobbering one of the blocks we just pretend + // the revision may be valid + int err = lfs_bd_read(lfs, + NULL, &lfs->rcache, sizeof(dir->rev), + dir->pair[0], 0, &dir->rev, sizeof(dir->rev)); + dir->rev = lfs_fromle32(dir->rev); + if (err && err != LFS_ERR_CORRUPT) { + return err; + } + + // to make sure we don't immediately evict, align the new revision count + // to our block_cycles modulus, see lfs_dir_compact for why our modulus + // is tweaked this way + if (lfs->cfg->block_cycles > 0) { + dir->rev = lfs_alignup(dir->rev, ((lfs->cfg->block_cycles+1)|1)); + } + + // set defaults + dir->off = sizeof(dir->rev); + dir->etag = 0xffffffff; + dir->count = 0; + dir->tail[0] = LFS_BLOCK_NULL; + dir->tail[1] = LFS_BLOCK_NULL; + dir->erased = false; + dir->split = false; + + // don't write out yet, let caller take care of that + return 0; +} +#endif + +#ifndef LFS_READONLY +static int lfs_dir_drop(lfs_t *lfs, lfs_mdir_t *dir, lfs_mdir_t *tail) { + // steal state + int err = lfs_dir_getgstate(lfs, tail, &lfs->gdelta); + if (err) { + return err; + } + + // steal tail + lfs_pair_tole32(tail->tail); + err = lfs_dir_commit(lfs, dir, LFS_MKATTRS( + {LFS_MKTAG(LFS_TYPE_TAIL + tail->split, 0x3ff, 8), tail->tail})); + lfs_pair_fromle32(tail->tail); + if (err) { + return err; + } + + return 0; +} +#endif + +#ifndef LFS_READONLY +static int lfs_dir_split(lfs_t *lfs, + lfs_mdir_t *dir, const struct lfs_mattr *attrs, int attrcount, + lfs_mdir_t *source, uint16_t split, uint16_t end) { + // create tail metadata pair + lfs_mdir_t tail; + int err = lfs_dir_alloc(lfs, &tail); + if (err) { + return err; + } + + tail.split = dir->split; + tail.tail[0] = dir->tail[0]; + tail.tail[1] = dir->tail[1]; + + // note we don't care about LFS_OK_RELOCATED + int res = lfs_dir_compact(lfs, &tail, attrs, attrcount, source, split, end); + if (res < 0) { + return res; + } + + dir->tail[0] = tail.pair[0]; + dir->tail[1] = tail.pair[1]; + dir->split = true; + + // update root if needed + if (lfs_pair_cmp(dir->pair, lfs->root) == 0 && split == 0) { + lfs->root[0] = tail.pair[0]; + lfs->root[1] = tail.pair[1]; + } + + return 0; +} +#endif + +#ifndef LFS_READONLY +static int lfs_dir_commit_size(void *p, lfs_tag_t tag, const void *buffer) { + lfs_size_t *size = p; + (void)buffer; + + *size += lfs_tag_dsize(tag); + return 0; +} +#endif + +#ifndef LFS_READONLY +struct lfs_dir_commit_commit { + lfs_t *lfs; + struct lfs_commit *commit; +}; +#endif + +#ifndef LFS_READONLY +static int lfs_dir_commit_commit(void *p, lfs_tag_t tag, const void *buffer) { + struct lfs_dir_commit_commit *commit = p; + return lfs_dir_commitattr(commit->lfs, commit->commit, tag, buffer); +} +#endif + +#ifndef LFS_READONLY +static bool lfs_dir_needsrelocation(lfs_t *lfs, lfs_mdir_t *dir) { + // If our revision count == n * block_cycles, we should force a relocation, + // this is how littlefs wear-levels at the metadata-pair level. Note that we + // actually use (block_cycles+1)|1, this is to avoid two corner cases: + // 1. block_cycles = 1, which would prevent relocations from terminating + // 2. block_cycles = 2n, which, due to aliasing, would only ever relocate + // one metadata block in the pair, effectively making this useless + return (lfs->cfg->block_cycles > 0 + && ((dir->rev + 1) % ((lfs->cfg->block_cycles+1)|1) == 0)); +} +#endif + +#ifndef LFS_READONLY +static int lfs_dir_compact(lfs_t *lfs, + lfs_mdir_t *dir, const struct lfs_mattr *attrs, int attrcount, + lfs_mdir_t *source, uint16_t begin, uint16_t end) { + // save some state in case block is bad + bool relocated = false; + bool tired = lfs_dir_needsrelocation(lfs, dir); + + // increment revision count + dir->rev += 1; + + // do not proactively relocate blocks during migrations, this + // can cause a number of failure states such: clobbering the + // v1 superblock if we relocate root, and invalidating directory + // pointers if we relocate the head of a directory. On top of + // this, relocations increase the overall complexity of + // lfs_migration, which is already a delicate operation. +#ifdef LFS_MIGRATE + if (lfs->lfs1) { + tired = false; + } +#endif + + if (tired && lfs_pair_cmp(dir->pair, (const lfs_block_t[2]){0, 1}) != 0) { + // we're writing too much, time to relocate + goto relocate; + } + + // begin loop to commit compaction to blocks until a compact sticks + while (true) { + { + // setup commit state + struct lfs_commit commit = { + .block = dir->pair[1], + .off = 0, + .ptag = 0xffffffff, + .crc = 0xffffffff, + + .begin = 0, + .end = (lfs->cfg->metadata_max ? + lfs->cfg->metadata_max : lfs->cfg->block_size) - 8, + }; + + // erase block to write to + int err = lfs_bd_erase(lfs, dir->pair[1]); + if (err) { + if (err == LFS_ERR_CORRUPT) { + goto relocate; + } + return err; + } + + // write out header + dir->rev = lfs_tole32(dir->rev); + err = lfs_dir_commitprog(lfs, &commit, + &dir->rev, sizeof(dir->rev)); + dir->rev = lfs_fromle32(dir->rev); + if (err) { + if (err == LFS_ERR_CORRUPT) { + goto relocate; + } + return err; + } + + // traverse the directory, this time writing out all unique tags + err = lfs_dir_traverse(lfs, + source, 0, 0xffffffff, attrs, attrcount, + LFS_MKTAG(0x400, 0x3ff, 0), + LFS_MKTAG(LFS_TYPE_NAME, 0, 0), + begin, end, -begin, + lfs_dir_commit_commit, &(struct lfs_dir_commit_commit){ + lfs, &commit}); + if (err) { + if (err == LFS_ERR_CORRUPT) { + goto relocate; + } + return err; + } + + // commit tail, which may be new after last size check + if (!lfs_pair_isnull(dir->tail)) { + lfs_pair_tole32(dir->tail); + err = lfs_dir_commitattr(lfs, &commit, + LFS_MKTAG(LFS_TYPE_TAIL + dir->split, 0x3ff, 8), + dir->tail); + lfs_pair_fromle32(dir->tail); + if (err) { + if (err == LFS_ERR_CORRUPT) { + goto relocate; + } + return err; + } + } + + // bring over gstate? + lfs_gstate_t delta = {0}; + if (!relocated) { + lfs_gstate_xor(&delta, &lfs->gdisk); + lfs_gstate_xor(&delta, &lfs->gstate); + } + lfs_gstate_xor(&delta, &lfs->gdelta); + delta.tag &= ~LFS_MKTAG(0, 0, 0x3ff); + + err = lfs_dir_getgstate(lfs, dir, &delta); + if (err) { + return err; + } + + if (!lfs_gstate_iszero(&delta)) { + lfs_gstate_tole32(&delta); + err = lfs_dir_commitattr(lfs, &commit, + LFS_MKTAG(LFS_TYPE_MOVESTATE, 0x3ff, + sizeof(delta)), &delta); + if (err) { + if (err == LFS_ERR_CORRUPT) { + goto relocate; + } + return err; + } + } + + // complete commit with crc + err = lfs_dir_commitcrc(lfs, &commit); + if (err) { + if (err == LFS_ERR_CORRUPT) { + goto relocate; + } + return err; + } + + // successful compaction, swap dir pair to indicate most recent + LFS_ASSERT(commit.off % lfs->cfg->prog_size == 0); + lfs_pair_swap(dir->pair); + dir->count = end - begin; + dir->off = commit.off; + dir->etag = commit.ptag; + // update gstate + lfs->gdelta = (lfs_gstate_t){0}; + if (!relocated) { + lfs->gdisk = lfs->gstate; + } + } + break; + +relocate: + // commit was corrupted, drop caches and prepare to relocate block + relocated = true; + lfs_cache_drop(lfs, &lfs->pcache); + if (!tired) { + LFS_DEBUG("Bad block at 0x%"PRIx32, dir->pair[1]); + } + + // can't relocate superblock, filesystem is now frozen + if (lfs_pair_cmp(dir->pair, (const lfs_block_t[2]){0, 1}) == 0) { + LFS_WARN("Superblock 0x%"PRIx32" has become unwritable", + dir->pair[1]); + return LFS_ERR_NOSPC; + } + + // relocate half of pair + int err = lfs_alloc(lfs, &dir->pair[1]); + if (err && (err != LFS_ERR_NOSPC || !tired)) { + return err; + } + + tired = false; + continue; + } + + return relocated ? LFS_OK_RELOCATED : 0; +} +#endif + +#ifndef LFS_READONLY +static int lfs_dir_splittingcompact(lfs_t *lfs, lfs_mdir_t *dir, + const struct lfs_mattr *attrs, int attrcount, + lfs_mdir_t *source, uint16_t begin, uint16_t end) { + while (true) { + // find size of first split, we do this by halving the split until + // the metadata is guaranteed to fit + // + // Note that this isn't a true binary search, we never increase the + // split size. This may result in poorly distributed metadata but isn't + // worth the extra code size or performance hit to fix. + lfs_size_t split = begin; + while (end - split > 1) { + lfs_size_t size = 0; + int err = lfs_dir_traverse(lfs, + source, 0, 0xffffffff, attrs, attrcount, + LFS_MKTAG(0x400, 0x3ff, 0), + LFS_MKTAG(LFS_TYPE_NAME, 0, 0), + split, end, -split, + lfs_dir_commit_size, &size); + if (err) { + return err; + } + + // space is complicated, we need room for: + // + // - tail: 4+2*4 = 12 bytes + // - gstate: 4+3*4 = 16 bytes + // - move delete: 4 = 4 bytes + // - crc: 4+4 = 8 bytes + // total = 40 bytes + // + // And we cap at half a block to avoid degenerate cases with + // nearly-full metadata blocks. + // + lfs_size_t metadata_max = (lfs->cfg->metadata_max) + ? lfs->cfg->metadata_max + : lfs->cfg->block_size; + if (end - split < 0xff + && size <= lfs_min( + metadata_max - 40, + lfs_alignup( + metadata_max/2, + lfs->cfg->prog_size))) { + break; + } + + split = split + ((end - split) / 2); + } + + if (split == begin) { + // no split needed + break; + } + + // split into two metadata pairs and continue + int err = lfs_dir_split(lfs, dir, attrs, attrcount, + source, split, end); + if (err && err != LFS_ERR_NOSPC) { + return err; + } + + if (err) { + // we can't allocate a new block, try to compact with degraded + // performance + LFS_WARN("Unable to split {0x%"PRIx32", 0x%"PRIx32"}", + dir->pair[0], dir->pair[1]); + break; + } else { + end = split; + } + } + + if (lfs_dir_needsrelocation(lfs, dir) + && lfs_pair_cmp(dir->pair, (const lfs_block_t[2]){0, 1}) == 0) { + // oh no! we're writing too much to the superblock, + // should we expand? + lfs_ssize_t size = lfs_fs_size_(lfs); + if (size < 0) { + return size; + } + + // littlefs cannot reclaim expanded superblocks, so expand cautiously + // + // if our filesystem is more than ~88% full, don't expand, this is + // somewhat arbitrary + if (lfs->block_count - size > lfs->block_count/8) { + LFS_DEBUG("Expanding superblock at rev %"PRIu32, dir->rev); + int err = lfs_dir_split(lfs, dir, attrs, attrcount, + source, begin, end); + if (err && err != LFS_ERR_NOSPC) { + return err; + } + + if (err) { + // welp, we tried, if we ran out of space there's not much + // we can do, we'll error later if we've become frozen + LFS_WARN("Unable to expand superblock"); + } else { + // duplicate the superblock entry into the new superblock + end = 1; + } + } + } + + return lfs_dir_compact(lfs, dir, attrs, attrcount, source, begin, end); +} +#endif + +#ifndef LFS_READONLY +static int lfs_dir_relocatingcommit(lfs_t *lfs, lfs_mdir_t *dir, + const lfs_block_t pair[2], + const struct lfs_mattr *attrs, int attrcount, + lfs_mdir_t *pdir) { + int state = 0; + + // calculate changes to the directory + bool hasdelete = false; + for (int i = 0; i < attrcount; i++) { + if (lfs_tag_type3(attrs[i].tag) == LFS_TYPE_CREATE) { + dir->count += 1; + } else if (lfs_tag_type3(attrs[i].tag) == LFS_TYPE_DELETE) { + LFS_ASSERT(dir->count > 0); + dir->count -= 1; + hasdelete = true; + } else if (lfs_tag_type1(attrs[i].tag) == LFS_TYPE_TAIL) { + dir->tail[0] = ((lfs_block_t*)attrs[i].buffer)[0]; + dir->tail[1] = ((lfs_block_t*)attrs[i].buffer)[1]; + dir->split = (lfs_tag_chunk(attrs[i].tag) & 1); + lfs_pair_fromle32(dir->tail); + } + } + + // should we actually drop the directory block? + if (hasdelete && dir->count == 0) { + LFS_ASSERT(pdir); + int err = lfs_fs_pred(lfs, dir->pair, pdir); + if (err && err != LFS_ERR_NOENT) { + return err; + } + + if (err != LFS_ERR_NOENT && pdir->split) { + state = LFS_OK_DROPPED; + goto fixmlist; + } + } + + if (dir->erased && dir->count < 0xff) { + // try to commit + struct lfs_commit commit = { + .block = dir->pair[0], + .off = dir->off, + .ptag = dir->etag, + .crc = 0xffffffff, + + .begin = dir->off, + .end = (lfs->cfg->metadata_max ? + lfs->cfg->metadata_max : lfs->cfg->block_size) - 8, + }; + + // traverse attrs that need to be written out + lfs_pair_tole32(dir->tail); + int err = lfs_dir_traverse(lfs, + dir, dir->off, dir->etag, attrs, attrcount, + 0, 0, 0, 0, 0, + lfs_dir_commit_commit, &(struct lfs_dir_commit_commit){ + lfs, &commit}); + lfs_pair_fromle32(dir->tail); + if (err) { + if (err == LFS_ERR_NOSPC || err == LFS_ERR_CORRUPT) { + goto compact; + } + return err; + } + + // commit any global diffs if we have any + lfs_gstate_t delta = {0}; + lfs_gstate_xor(&delta, &lfs->gstate); + lfs_gstate_xor(&delta, &lfs->gdisk); + lfs_gstate_xor(&delta, &lfs->gdelta); + delta.tag &= ~LFS_MKTAG(0, 0, 0x3ff); + if (!lfs_gstate_iszero(&delta)) { + err = lfs_dir_getgstate(lfs, dir, &delta); + if (err) { + return err; + } + + lfs_gstate_tole32(&delta); + err = lfs_dir_commitattr(lfs, &commit, + LFS_MKTAG(LFS_TYPE_MOVESTATE, 0x3ff, + sizeof(delta)), &delta); + if (err) { + if (err == LFS_ERR_NOSPC || err == LFS_ERR_CORRUPT) { + goto compact; + } + return err; + } + } + + // finalize commit with the crc + err = lfs_dir_commitcrc(lfs, &commit); + if (err) { + if (err == LFS_ERR_NOSPC || err == LFS_ERR_CORRUPT) { + goto compact; + } + return err; + } + + // successful commit, update dir + LFS_ASSERT(commit.off % lfs->cfg->prog_size == 0); + dir->off = commit.off; + dir->etag = commit.ptag; + // and update gstate + lfs->gdisk = lfs->gstate; + lfs->gdelta = (lfs_gstate_t){0}; + + goto fixmlist; + } + +compact: + // fall back to compaction + lfs_cache_drop(lfs, &lfs->pcache); + + state = lfs_dir_splittingcompact(lfs, dir, attrs, attrcount, + dir, 0, dir->count); + if (state < 0) { + return state; + } + + goto fixmlist; + +fixmlist:; + // this complicated bit of logic is for fixing up any active + // metadata-pairs that we may have affected + // + // note we have to make two passes since the mdir passed to + // lfs_dir_commit could also be in this list, and even then + // we need to copy the pair so they don't get clobbered if we refetch + // our mdir. + lfs_block_t oldpair[2] = {pair[0], pair[1]}; + for (struct lfs_mlist *d = lfs->mlist; d; d = d->next) { + if (lfs_pair_cmp(d->m.pair, oldpair) == 0) { + d->m = *dir; + if (d->m.pair != pair) { + for (int i = 0; i < attrcount; i++) { + if (lfs_tag_type3(attrs[i].tag) == LFS_TYPE_DELETE && + d->id == lfs_tag_id(attrs[i].tag) && + d->type != LFS_TYPE_DIR) { + d->m.pair[0] = LFS_BLOCK_NULL; + d->m.pair[1] = LFS_BLOCK_NULL; + } else if (lfs_tag_type3(attrs[i].tag) == LFS_TYPE_DELETE && + d->id > lfs_tag_id(attrs[i].tag)) { + d->id -= 1; + if (d->type == LFS_TYPE_DIR) { + ((lfs_dir_t*)d)->pos -= 1; + } + } else if (lfs_tag_type3(attrs[i].tag) == LFS_TYPE_CREATE && + d->id >= lfs_tag_id(attrs[i].tag)) { + d->id += 1; + if (d->type == LFS_TYPE_DIR) { + ((lfs_dir_t*)d)->pos += 1; + } + } + } + } + + while (d->id >= d->m.count && d->m.split) { + // we split and id is on tail now + if (lfs_pair_cmp(d->m.tail, lfs->root) != 0) { + d->id -= d->m.count; + } + int err = lfs_dir_fetch(lfs, &d->m, d->m.tail); + if (err) { + return err; + } + } + } + } + + return state; +} +#endif + +#ifndef LFS_READONLY +static int lfs_dir_orphaningcommit(lfs_t *lfs, lfs_mdir_t *dir, + const struct lfs_mattr *attrs, int attrcount) { + // check for any inline files that aren't RAM backed and + // forcefully evict them, needed for filesystem consistency + for (lfs_file_t *f = (lfs_file_t*)lfs->mlist; f; f = f->next) { + if (dir != &f->m && lfs_pair_cmp(f->m.pair, dir->pair) == 0 && + f->type == LFS_TYPE_REG && (f->flags & LFS_F_INLINE) && + f->ctz.size > lfs->cfg->cache_size) { + int err = lfs_file_outline(lfs, f); + if (err) { + return err; + } + + err = lfs_file_flush(lfs, f); + if (err) { + return err; + } + } + } + + lfs_block_t lpair[2] = {dir->pair[0], dir->pair[1]}; + lfs_mdir_t ldir = *dir; + lfs_mdir_t pdir; + int state = lfs_dir_relocatingcommit(lfs, &ldir, dir->pair, + attrs, attrcount, &pdir); + if (state < 0) { + return state; + } + + // update if we're not in mlist, note we may have already been + // updated if we are in mlist + if (lfs_pair_cmp(dir->pair, lpair) == 0) { + *dir = ldir; + } + + // commit was successful, but may require other changes in the + // filesystem, these would normally be tail recursive, but we have + // flattened them here avoid unbounded stack usage + + // need to drop? + if (state == LFS_OK_DROPPED) { + // steal state + int err = lfs_dir_getgstate(lfs, dir, &lfs->gdelta); + if (err) { + return err; + } + + // steal tail, note that this can't create a recursive drop + lpair[0] = pdir.pair[0]; + lpair[1] = pdir.pair[1]; + lfs_pair_tole32(dir->tail); + state = lfs_dir_relocatingcommit(lfs, &pdir, lpair, LFS_MKATTRS( + {LFS_MKTAG(LFS_TYPE_TAIL + dir->split, 0x3ff, 8), + dir->tail}), + NULL); + lfs_pair_fromle32(dir->tail); + if (state < 0) { + return state; + } + + ldir = pdir; + } + + // need to relocate? + bool orphans = false; + while (state == LFS_OK_RELOCATED) { + LFS_DEBUG("Relocating {0x%"PRIx32", 0x%"PRIx32"} " + "-> {0x%"PRIx32", 0x%"PRIx32"}", + lpair[0], lpair[1], ldir.pair[0], ldir.pair[1]); + state = 0; + + // update internal root + if (lfs_pair_cmp(lpair, lfs->root) == 0) { + lfs->root[0] = ldir.pair[0]; + lfs->root[1] = ldir.pair[1]; + } + + // update internally tracked dirs + for (struct lfs_mlist *d = lfs->mlist; d; d = d->next) { + if (lfs_pair_cmp(lpair, d->m.pair) == 0) { + d->m.pair[0] = ldir.pair[0]; + d->m.pair[1] = ldir.pair[1]; + } + + if (d->type == LFS_TYPE_DIR && + lfs_pair_cmp(lpair, ((lfs_dir_t*)d)->head) == 0) { + ((lfs_dir_t*)d)->head[0] = ldir.pair[0]; + ((lfs_dir_t*)d)->head[1] = ldir.pair[1]; + } + } + + // find parent + lfs_stag_t tag = lfs_fs_parent(lfs, lpair, &pdir); + if (tag < 0 && tag != LFS_ERR_NOENT) { + return tag; + } + + bool hasparent = (tag != LFS_ERR_NOENT); + if (tag != LFS_ERR_NOENT) { + // note that if we have a parent, we must have a pred, so this will + // always create an orphan + int err = lfs_fs_preporphans(lfs, +1); + if (err) { + return err; + } + + // fix pending move in this pair? this looks like an optimization but + // is in fact _required_ since relocating may outdate the move. + uint16_t moveid = 0x3ff; + if (lfs_gstate_hasmovehere(&lfs->gstate, pdir.pair)) { + moveid = lfs_tag_id(lfs->gstate.tag); + LFS_DEBUG("Fixing move while relocating " + "{0x%"PRIx32", 0x%"PRIx32"} 0x%"PRIx16"\n", + pdir.pair[0], pdir.pair[1], moveid); + lfs_fs_prepmove(lfs, 0x3ff, NULL); + if (moveid < lfs_tag_id(tag)) { + tag -= LFS_MKTAG(0, 1, 0); + } + } + + lfs_block_t ppair[2] = {pdir.pair[0], pdir.pair[1]}; + lfs_pair_tole32(ldir.pair); + state = lfs_dir_relocatingcommit(lfs, &pdir, ppair, LFS_MKATTRS( + {LFS_MKTAG_IF(moveid != 0x3ff, + LFS_TYPE_DELETE, moveid, 0), NULL}, + {tag, ldir.pair}), + NULL); + lfs_pair_fromle32(ldir.pair); + if (state < 0) { + return state; + } + + if (state == LFS_OK_RELOCATED) { + lpair[0] = ppair[0]; + lpair[1] = ppair[1]; + ldir = pdir; + orphans = true; + continue; + } + } + + // find pred + int err = lfs_fs_pred(lfs, lpair, &pdir); + if (err && err != LFS_ERR_NOENT) { + return err; + } + LFS_ASSERT(!(hasparent && err == LFS_ERR_NOENT)); + + // if we can't find dir, it must be new + if (err != LFS_ERR_NOENT) { + if (lfs_gstate_hasorphans(&lfs->gstate)) { + // next step, clean up orphans + err = lfs_fs_preporphans(lfs, -(int8_t)hasparent); + if (err) { + return err; + } + } + + // fix pending move in this pair? this looks like an optimization + // but is in fact _required_ since relocating may outdate the move. + uint16_t moveid = 0x3ff; + if (lfs_gstate_hasmovehere(&lfs->gstate, pdir.pair)) { + moveid = lfs_tag_id(lfs->gstate.tag); + LFS_DEBUG("Fixing move while relocating " + "{0x%"PRIx32", 0x%"PRIx32"} 0x%"PRIx16"\n", + pdir.pair[0], pdir.pair[1], moveid); + lfs_fs_prepmove(lfs, 0x3ff, NULL); + } + + // replace bad pair, either we clean up desync, or no desync occured + lpair[0] = pdir.pair[0]; + lpair[1] = pdir.pair[1]; + lfs_pair_tole32(ldir.pair); + state = lfs_dir_relocatingcommit(lfs, &pdir, lpair, LFS_MKATTRS( + {LFS_MKTAG_IF(moveid != 0x3ff, + LFS_TYPE_DELETE, moveid, 0), NULL}, + {LFS_MKTAG(LFS_TYPE_TAIL + pdir.split, 0x3ff, 8), + ldir.pair}), + NULL); + lfs_pair_fromle32(ldir.pair); + if (state < 0) { + return state; + } + + ldir = pdir; + } + } + + return orphans ? LFS_OK_ORPHANED : 0; +} +#endif + +#ifndef LFS_READONLY +static int lfs_dir_commit(lfs_t *lfs, lfs_mdir_t *dir, + const struct lfs_mattr *attrs, int attrcount) { + int orphans = lfs_dir_orphaningcommit(lfs, dir, attrs, attrcount); + if (orphans < 0) { + return orphans; + } + + if (orphans) { + // make sure we've removed all orphans, this is a noop if there + // are none, but if we had nested blocks failures we may have + // created some + int err = lfs_fs_deorphan(lfs, false); + if (err) { + return err; + } + } + + return 0; +} +#endif + + +/// Top level directory operations /// +#ifndef LFS_READONLY +static int lfs_mkdir_(lfs_t *lfs, const char *path) { + // deorphan if we haven't yet, needed at most once after poweron + int err = lfs_fs_forceconsistency(lfs); + if (err) { + return err; + } + + struct lfs_mlist cwd; + cwd.next = lfs->mlist; + uint16_t id; + err = lfs_dir_find(lfs, &cwd.m, &path, &id); + if (!(err == LFS_ERR_NOENT && lfs_path_islast(path))) { + return (err < 0) ? err : LFS_ERR_EXIST; + } + + // check that name fits + lfs_size_t nlen = lfs_path_namelen(path); + if (nlen > lfs->name_max) { + return LFS_ERR_NAMETOOLONG; + } + + // build up new directory + lfs_alloc_ckpoint(lfs); + lfs_mdir_t dir; + err = lfs_dir_alloc(lfs, &dir); + if (err) { + return err; + } + + // find end of list + lfs_mdir_t pred = cwd.m; + while (pred.split) { + err = lfs_dir_fetch(lfs, &pred, pred.tail); + if (err) { + return err; + } + } + + // setup dir + lfs_pair_tole32(pred.tail); + err = lfs_dir_commit(lfs, &dir, LFS_MKATTRS( + {LFS_MKTAG(LFS_TYPE_SOFTTAIL, 0x3ff, 8), pred.tail})); + lfs_pair_fromle32(pred.tail); + if (err) { + return err; + } + + // current block not end of list? + if (cwd.m.split) { + // update tails, this creates a desync + err = lfs_fs_preporphans(lfs, +1); + if (err) { + return err; + } + + // it's possible our predecessor has to be relocated, and if + // our parent is our predecessor's predecessor, this could have + // caused our parent to go out of date, fortunately we can hook + // ourselves into littlefs to catch this + cwd.type = 0; + cwd.id = 0; + lfs->mlist = &cwd; + + lfs_pair_tole32(dir.pair); + err = lfs_dir_commit(lfs, &pred, LFS_MKATTRS( + {LFS_MKTAG(LFS_TYPE_SOFTTAIL, 0x3ff, 8), dir.pair})); + lfs_pair_fromle32(dir.pair); + if (err) { + lfs->mlist = cwd.next; + return err; + } + + lfs->mlist = cwd.next; + err = lfs_fs_preporphans(lfs, -1); + if (err) { + return err; + } + } + + // now insert into our parent block + lfs_pair_tole32(dir.pair); + err = lfs_dir_commit(lfs, &cwd.m, LFS_MKATTRS( + {LFS_MKTAG(LFS_TYPE_CREATE, id, 0), NULL}, + {LFS_MKTAG(LFS_TYPE_DIR, id, nlen), path}, + {LFS_MKTAG(LFS_TYPE_DIRSTRUCT, id, 8), dir.pair}, + {LFS_MKTAG_IF(!cwd.m.split, + LFS_TYPE_SOFTTAIL, 0x3ff, 8), dir.pair})); + lfs_pair_fromle32(dir.pair); + if (err) { + return err; + } + + return 0; +} +#endif + +static int lfs_dir_open_(lfs_t *lfs, lfs_dir_t *dir, const char *path) { + lfs_stag_t tag = lfs_dir_find(lfs, &dir->m, &path, NULL); + if (tag < 0) { + return tag; + } + + if (lfs_tag_type3(tag) != LFS_TYPE_DIR) { + return LFS_ERR_NOTDIR; + } + + lfs_block_t pair[2]; + if (lfs_tag_id(tag) == 0x3ff) { + // handle root dir separately + pair[0] = lfs->root[0]; + pair[1] = lfs->root[1]; + } else { + // get dir pair from parent + lfs_stag_t res = lfs_dir_get(lfs, &dir->m, LFS_MKTAG(0x700, 0x3ff, 0), + LFS_MKTAG(LFS_TYPE_STRUCT, lfs_tag_id(tag), 8), pair); + if (res < 0) { + return res; + } + lfs_pair_fromle32(pair); + } + + // fetch first pair + int err = lfs_dir_fetch(lfs, &dir->m, pair); + if (err) { + return err; + } + + // setup entry + dir->head[0] = dir->m.pair[0]; + dir->head[1] = dir->m.pair[1]; + dir->id = 0; + dir->pos = 0; + + // add to list of mdirs + dir->type = LFS_TYPE_DIR; + lfs_mlist_append(lfs, (struct lfs_mlist *)dir); + + return 0; +} + +static int lfs_dir_close_(lfs_t *lfs, lfs_dir_t *dir) { + // remove from list of mdirs + lfs_mlist_remove(lfs, (struct lfs_mlist *)dir); + + return 0; +} + +static int lfs_dir_read_(lfs_t *lfs, lfs_dir_t *dir, struct lfs_info *info) { + memset(info, 0, sizeof(*info)); + + // special offset for '.' and '..' + if (dir->pos == 0) { + info->type = LFS_TYPE_DIR; + strcpy(info->name, "."); + dir->pos += 1; + return true; + } else if (dir->pos == 1) { + info->type = LFS_TYPE_DIR; + strcpy(info->name, ".."); + dir->pos += 1; + return true; + } + + while (true) { + if (dir->id == dir->m.count) { + if (!dir->m.split) { + return false; + } + + int err = lfs_dir_fetch(lfs, &dir->m, dir->m.tail); + if (err) { + return err; + } + + dir->id = 0; + } + + int err = lfs_dir_getinfo(lfs, &dir->m, dir->id, info); + if (err && err != LFS_ERR_NOENT) { + return err; + } + + dir->id += 1; + if (err != LFS_ERR_NOENT) { + break; + } + } + + dir->pos += 1; + return true; +} + +static int lfs_dir_seek_(lfs_t *lfs, lfs_dir_t *dir, lfs_off_t off) { + // simply walk from head dir + int err = lfs_dir_rewind_(lfs, dir); + if (err) { + return err; + } + + // first two for ./.. + dir->pos = lfs_min(2, off); + off -= dir->pos; + + // skip superblock entry + dir->id = (off > 0 && lfs_pair_cmp(dir->head, lfs->root) == 0); + + while (off > 0) { + if (dir->id == dir->m.count) { + if (!dir->m.split) { + return LFS_ERR_INVAL; + } + + err = lfs_dir_fetch(lfs, &dir->m, dir->m.tail); + if (err) { + return err; + } + + dir->id = 0; + } + + int diff = lfs_min(dir->m.count - dir->id, off); + dir->id += diff; + dir->pos += diff; + off -= diff; + } + + return 0; +} + +static lfs_soff_t lfs_dir_tell_(lfs_t *lfs, lfs_dir_t *dir) { + (void)lfs; + return dir->pos; +} + +static int lfs_dir_rewind_(lfs_t *lfs, lfs_dir_t *dir) { + // reload the head dir + int err = lfs_dir_fetch(lfs, &dir->m, dir->head); + if (err) { + return err; + } + + dir->id = 0; + dir->pos = 0; + return 0; +} + + +/// File index list operations /// +static int lfs_ctz_index(lfs_t *lfs, lfs_off_t *off) { + lfs_off_t size = *off; + lfs_off_t b = lfs->cfg->block_size - 2*4; + lfs_off_t i = size / b; + if (i == 0) { + return 0; + } + + i = (size - 4*(lfs_popc(i-1)+2)) / b; + *off = size - b*i - 4*lfs_popc(i); + return i; +} + +static int lfs_ctz_find(lfs_t *lfs, + const lfs_cache_t *pcache, lfs_cache_t *rcache, + lfs_block_t head, lfs_size_t size, + lfs_size_t pos, lfs_block_t *block, lfs_off_t *off) { + if (size == 0) { + *block = LFS_BLOCK_NULL; + *off = 0; + return 0; + } + + lfs_off_t current = lfs_ctz_index(lfs, &(lfs_off_t){size-1}); + lfs_off_t target = lfs_ctz_index(lfs, &pos); + + while (current > target) { + lfs_size_t skip = lfs_min( + lfs_npw2(current-target+1) - 1, + lfs_ctz(current)); + + int err = lfs_bd_read(lfs, + pcache, rcache, sizeof(head), + head, 4*skip, &head, sizeof(head)); + head = lfs_fromle32(head); + if (err) { + return err; + } + + current -= 1 << skip; + } + + *block = head; + *off = pos; + return 0; +} + +#ifndef LFS_READONLY +static int lfs_ctz_extend(lfs_t *lfs, + lfs_cache_t *pcache, lfs_cache_t *rcache, + lfs_block_t head, lfs_size_t size, + lfs_block_t *block, lfs_off_t *off) { + while (true) { + // go ahead and grab a block + lfs_block_t nblock; + int err = lfs_alloc(lfs, &nblock); + if (err) { + return err; + } + + { + err = lfs_bd_erase(lfs, nblock); + if (err) { + if (err == LFS_ERR_CORRUPT) { + goto relocate; + } + return err; + } + + if (size == 0) { + *block = nblock; + *off = 0; + return 0; + } + + lfs_size_t noff = size - 1; + lfs_off_t index = lfs_ctz_index(lfs, &noff); + noff = noff + 1; + + // just copy out the last block if it is incomplete + if (noff != lfs->cfg->block_size) { + for (lfs_off_t i = 0; i < noff; i++) { + uint8_t data; + err = lfs_bd_read(lfs, + NULL, rcache, noff-i, + head, i, &data, 1); + if (err) { + return err; + } + + err = lfs_bd_prog(lfs, + pcache, rcache, true, + nblock, i, &data, 1); + if (err) { + if (err == LFS_ERR_CORRUPT) { + goto relocate; + } + return err; + } + } + + *block = nblock; + *off = noff; + return 0; + } + + // append block + index += 1; + lfs_size_t skips = lfs_ctz(index) + 1; + lfs_block_t nhead = head; + for (lfs_off_t i = 0; i < skips; i++) { + nhead = lfs_tole32(nhead); + err = lfs_bd_prog(lfs, pcache, rcache, true, + nblock, 4*i, &nhead, 4); + nhead = lfs_fromle32(nhead); + if (err) { + if (err == LFS_ERR_CORRUPT) { + goto relocate; + } + return err; + } + + if (i != skips-1) { + err = lfs_bd_read(lfs, + NULL, rcache, sizeof(nhead), + nhead, 4*i, &nhead, sizeof(nhead)); + nhead = lfs_fromle32(nhead); + if (err) { + return err; + } + } + } + + *block = nblock; + *off = 4*skips; + return 0; + } + +relocate: + LFS_DEBUG("Bad block at 0x%"PRIx32, nblock); + + // just clear cache and try a new block + lfs_cache_drop(lfs, pcache); + } +} +#endif + +static int lfs_ctz_traverse(lfs_t *lfs, + const lfs_cache_t *pcache, lfs_cache_t *rcache, + lfs_block_t head, lfs_size_t size, + int (*cb)(void*, lfs_block_t), void *data) { + if (size == 0) { + return 0; + } + + lfs_off_t index = lfs_ctz_index(lfs, &(lfs_off_t){size-1}); + + while (true) { + int err = cb(data, head); + if (err) { + return err; + } + + if (index == 0) { + return 0; + } + + lfs_block_t heads[2]; + int count = 2 - (index & 1); + err = lfs_bd_read(lfs, + pcache, rcache, count*sizeof(head), + head, 0, &heads, count*sizeof(head)); + heads[0] = lfs_fromle32(heads[0]); + heads[1] = lfs_fromle32(heads[1]); + if (err) { + return err; + } + + for (int i = 0; i < count-1; i++) { + err = cb(data, heads[i]); + if (err) { + return err; + } + } + + head = heads[count-1]; + index -= count; + } +} + + +/// Top level file operations /// +static int lfs_file_opencfg_(lfs_t *lfs, lfs_file_t *file, + const char *path, int flags, + const struct lfs_file_config *cfg) { +#ifndef LFS_READONLY + // deorphan if we haven't yet, needed at most once after poweron + if ((flags & LFS_O_WRONLY) == LFS_O_WRONLY) { + int err = lfs_fs_forceconsistency(lfs); + if (err) { + return err; + } + } +#else + LFS_ASSERT((flags & LFS_O_RDONLY) == LFS_O_RDONLY); +#endif + + // setup simple file details + int err; + file->cfg = cfg; + file->flags = flags; + file->pos = 0; + file->off = 0; + file->cache.buffer = NULL; + + // allocate entry for file if it doesn't exist + lfs_stag_t tag = lfs_dir_find(lfs, &file->m, &path, &file->id); + if (tag < 0 && !(tag == LFS_ERR_NOENT && lfs_path_islast(path))) { + err = tag; + goto cleanup; + } + + // get id, add to list of mdirs to catch update changes + file->type = LFS_TYPE_REG; + lfs_mlist_append(lfs, (struct lfs_mlist *)file); + +#ifdef LFS_READONLY + if (tag == LFS_ERR_NOENT) { + err = LFS_ERR_NOENT; + goto cleanup; +#else + if (tag == LFS_ERR_NOENT) { + if (!(flags & LFS_O_CREAT)) { + err = LFS_ERR_NOENT; + goto cleanup; + } + + // don't allow trailing slashes + if (lfs_path_isdir(path)) { + err = LFS_ERR_NOTDIR; + goto cleanup; + } + + // check that name fits + lfs_size_t nlen = lfs_path_namelen(path); + if (nlen > lfs->name_max) { + err = LFS_ERR_NAMETOOLONG; + goto cleanup; + } + + // get next slot and create entry to remember name + err = lfs_dir_commit(lfs, &file->m, LFS_MKATTRS( + {LFS_MKTAG(LFS_TYPE_CREATE, file->id, 0), NULL}, + {LFS_MKTAG(LFS_TYPE_REG, file->id, nlen), path}, + {LFS_MKTAG(LFS_TYPE_INLINESTRUCT, file->id, 0), NULL})); + + // it may happen that the file name doesn't fit in the metadata blocks, e.g., a 256 byte file name will + // not fit in a 128 byte block. + err = (err == LFS_ERR_NOSPC) ? LFS_ERR_NAMETOOLONG : err; + if (err) { + goto cleanup; + } + + tag = LFS_MKTAG(LFS_TYPE_INLINESTRUCT, 0, 0); + } else if (flags & LFS_O_EXCL) { + err = LFS_ERR_EXIST; + goto cleanup; +#endif + } else if (lfs_tag_type3(tag) != LFS_TYPE_REG) { + err = LFS_ERR_ISDIR; + goto cleanup; +#ifndef LFS_READONLY + } else if (flags & LFS_O_TRUNC) { + // truncate if requested + tag = LFS_MKTAG(LFS_TYPE_INLINESTRUCT, file->id, 0); + file->flags |= LFS_F_DIRTY; +#endif + } else { + // try to load what's on disk, if it's inlined we'll fix it later + tag = lfs_dir_get(lfs, &file->m, LFS_MKTAG(0x700, 0x3ff, 0), + LFS_MKTAG(LFS_TYPE_STRUCT, file->id, 8), &file->ctz); + if (tag < 0) { + err = tag; + goto cleanup; + } + lfs_ctz_fromle32(&file->ctz); + } + + // fetch attrs + for (unsigned i = 0; i < file->cfg->attr_count; i++) { + // if opened for read / read-write operations + if ((file->flags & LFS_O_RDONLY) == LFS_O_RDONLY) { + lfs_stag_t res = lfs_dir_get(lfs, &file->m, + LFS_MKTAG(0x7ff, 0x3ff, 0), + LFS_MKTAG(LFS_TYPE_USERATTR + file->cfg->attrs[i].type, + file->id, file->cfg->attrs[i].size), + file->cfg->attrs[i].buffer); + if (res < 0 && res != LFS_ERR_NOENT) { + err = res; + goto cleanup; + } + } + +#ifndef LFS_READONLY + // if opened for write / read-write operations + if ((file->flags & LFS_O_WRONLY) == LFS_O_WRONLY) { + if (file->cfg->attrs[i].size > lfs->attr_max) { + err = LFS_ERR_NOSPC; + goto cleanup; + } + + file->flags |= LFS_F_DIRTY; + } +#endif + } + + // allocate buffer if needed + if (file->cfg->buffer) { + file->cache.buffer = file->cfg->buffer; + } else { + file->cache.buffer = lfs_malloc(lfs->cfg->cache_size); + if (!file->cache.buffer) { + err = LFS_ERR_NOMEM; + goto cleanup; + } + } + + // zero to avoid information leak + lfs_cache_zero(lfs, &file->cache); + + if (lfs_tag_type3(tag) == LFS_TYPE_INLINESTRUCT) { + // load inline files + file->ctz.head = LFS_BLOCK_INLINE; + file->ctz.size = lfs_tag_size(tag); + file->flags |= LFS_F_INLINE; + file->cache.block = file->ctz.head; + file->cache.off = 0; + file->cache.size = lfs->cfg->cache_size; + + // don't always read (may be new/trunc file) + if (file->ctz.size > 0) { + lfs_stag_t res = lfs_dir_get(lfs, &file->m, + LFS_MKTAG(0x700, 0x3ff, 0), + LFS_MKTAG(LFS_TYPE_STRUCT, file->id, + lfs_min(file->cache.size, 0x3fe)), + file->cache.buffer); + if (res < 0) { + err = res; + goto cleanup; + } + } + } + + return 0; + +cleanup: + // clean up lingering resources +#ifndef LFS_READONLY + file->flags |= LFS_F_ERRED; +#endif + lfs_file_close_(lfs, file); + return err; +} + +#ifndef LFS_NO_MALLOC +static int lfs_file_open_(lfs_t *lfs, lfs_file_t *file, + const char *path, int flags) { + static const struct lfs_file_config defaults = {0}; + int err = lfs_file_opencfg_(lfs, file, path, flags, &defaults); + return err; +} +#endif + +static int lfs_file_close_(lfs_t *lfs, lfs_file_t *file) { + int err = 0; +#ifndef LFS_READONLY + // it's not safe to do anything if our file errored + if (!(file->flags & LFS_F_ERRED)) { + err = lfs_file_sync_(lfs, file); + } +#endif + + // remove from list of mdirs + lfs_mlist_remove(lfs, (struct lfs_mlist*)file); + + // clean up memory + if (!file->cfg->buffer) { + lfs_free(file->cache.buffer); + } + + return err; +} + + +#ifndef LFS_READONLY +static int lfs_file_relocate(lfs_t *lfs, lfs_file_t *file) { + while (true) { + // just relocate what exists into new block + lfs_block_t nblock; + int err = lfs_alloc(lfs, &nblock); + if (err) { + return err; + } + + err = lfs_bd_erase(lfs, nblock); + if (err) { + if (err == LFS_ERR_CORRUPT) { + goto relocate; + } + return err; + } + + // either read from dirty cache or disk + for (lfs_off_t i = 0; i < file->off; i++) { + uint8_t data; + if (file->flags & LFS_F_INLINE) { + err = lfs_dir_getread(lfs, &file->m, + // note we evict inline files before they can be dirty + NULL, &file->cache, file->off-i, + LFS_MKTAG(0xfff, 0x1ff, 0), + LFS_MKTAG(LFS_TYPE_INLINESTRUCT, file->id, 0), + i, &data, 1); + if (err) { + return err; + } + } else { + err = lfs_bd_read(lfs, + &file->cache, &lfs->rcache, file->off-i, + file->block, i, &data, 1); + if (err) { + return err; + } + } + + err = lfs_bd_prog(lfs, + &lfs->pcache, &lfs->rcache, true, + nblock, i, &data, 1); + if (err) { + if (err == LFS_ERR_CORRUPT) { + goto relocate; + } + return err; + } + } + + // copy over new state of file + memcpy(file->cache.buffer, lfs->pcache.buffer, lfs->cfg->cache_size); + file->cache.block = lfs->pcache.block; + file->cache.off = lfs->pcache.off; + file->cache.size = lfs->pcache.size; + lfs_cache_zero(lfs, &lfs->pcache); + + file->block = nblock; + file->flags |= LFS_F_WRITING; + return 0; + +relocate: + LFS_DEBUG("Bad block at 0x%"PRIx32, nblock); + + // just clear cache and try a new block + lfs_cache_drop(lfs, &lfs->pcache); + } +} +#endif + +#ifndef LFS_READONLY +static int lfs_file_outline(lfs_t *lfs, lfs_file_t *file) { + file->off = file->pos; + lfs_alloc_ckpoint(lfs); + int err = lfs_file_relocate(lfs, file); + if (err) { + return err; + } + + file->flags &= ~LFS_F_INLINE; + return 0; +} +#endif + +static int lfs_file_flush(lfs_t *lfs, lfs_file_t *file) { + if (file->flags & LFS_F_READING) { + if (!(file->flags & LFS_F_INLINE)) { + lfs_cache_drop(lfs, &file->cache); + } + file->flags &= ~LFS_F_READING; + } + +#ifndef LFS_READONLY + if (file->flags & LFS_F_WRITING) { + lfs_off_t pos = file->pos; + + if (!(file->flags & LFS_F_INLINE)) { + // copy over anything after current branch + lfs_file_t orig = { + .ctz.head = file->ctz.head, + .ctz.size = file->ctz.size, + .flags = LFS_O_RDONLY, + .pos = file->pos, + .cache = lfs->rcache, + }; + lfs_cache_drop(lfs, &lfs->rcache); + + while (file->pos < file->ctz.size) { + // copy over a byte at a time, leave it up to caching + // to make this efficient + uint8_t data; + lfs_ssize_t res = lfs_file_flushedread(lfs, &orig, &data, 1); + if (res < 0) { + return res; + } + + res = lfs_file_flushedwrite(lfs, file, &data, 1); + if (res < 0) { + return res; + } + + // keep our reference to the rcache in sync + if (lfs->rcache.block != LFS_BLOCK_NULL) { + lfs_cache_drop(lfs, &orig.cache); + lfs_cache_drop(lfs, &lfs->rcache); + } + } + + // write out what we have + while (true) { + int err = lfs_bd_flush(lfs, &file->cache, &lfs->rcache, true); + if (err) { + if (err == LFS_ERR_CORRUPT) { + goto relocate; + } + return err; + } + + break; + +relocate: + LFS_DEBUG("Bad block at 0x%"PRIx32, file->block); + err = lfs_file_relocate(lfs, file); + if (err) { + return err; + } + } + } else { + file->pos = lfs_max(file->pos, file->ctz.size); + } + + // actual file updates + file->ctz.head = file->block; + file->ctz.size = file->pos; + file->flags &= ~LFS_F_WRITING; + file->flags |= LFS_F_DIRTY; + + file->pos = pos; + } +#endif + + return 0; +} + +#ifndef LFS_READONLY +static int lfs_file_sync_(lfs_t *lfs, lfs_file_t *file) { + int err = lfs_file_flush(lfs, file); + if (err) { + file->flags |= LFS_F_ERRED; + return err; + } + + if ((file->flags & LFS_F_DIRTY) && + !lfs_pair_isnull(file->m.pair)) { + // before we commit metadata, we need sync the disk to make sure + // data writes don't complete after metadata writes + if (!(file->flags & LFS_F_INLINE)) { + err = lfs_bd_sync(lfs, &lfs->pcache, &lfs->rcache, false); + if (err) { + return err; + } + } + + // update dir entry + uint16_t type; + const void *buffer; + lfs_size_t size; + struct lfs_ctz ctz; + if (file->flags & LFS_F_INLINE) { + // inline the whole file + type = LFS_TYPE_INLINESTRUCT; + buffer = file->cache.buffer; + size = file->ctz.size; + } else { + // update the ctz reference + type = LFS_TYPE_CTZSTRUCT; + // copy ctz so alloc will work during a relocate + ctz = file->ctz; + lfs_ctz_tole32(&ctz); + buffer = &ctz; + size = sizeof(ctz); + } + + // commit file data and attributes + err = lfs_dir_commit(lfs, &file->m, LFS_MKATTRS( + {LFS_MKTAG(type, file->id, size), buffer}, + {LFS_MKTAG(LFS_FROM_USERATTRS, file->id, + file->cfg->attr_count), file->cfg->attrs})); + if (err) { + file->flags |= LFS_F_ERRED; + return err; + } + + file->flags &= ~LFS_F_DIRTY; + } + + // mark any other file handles as dirty + desync + for (lfs_file_t *f = (lfs_file_t*)lfs->mlist; f; f = f->next) { + if (file != f + && f->type == LFS_TYPE_REG + && lfs_pair_cmp(f->m.pair, file->m.pair) == 0 + && f->id == file->id) { + f->flags |= LFS_F_DUSTY; + } + } + + file->flags &= ~LFS_F_ERRED & ~LFS_F_DUSTY; + return 0; +} +#endif + +static lfs_ssize_t lfs_file_flushedread(lfs_t *lfs, lfs_file_t *file, + void *buffer, lfs_size_t size) { + uint8_t *data = buffer; + lfs_size_t nsize = size; + + if (file->pos >= file->ctz.size) { + // eof if past end + return 0; + } + + size = lfs_min(size, file->ctz.size - file->pos); + nsize = size; + + while (nsize > 0) { + // check if we need a new block + if (!(file->flags & LFS_F_READING) || + file->off == lfs->cfg->block_size) { + if (!(file->flags & LFS_F_INLINE)) { + int err = lfs_ctz_find(lfs, NULL, &file->cache, + file->ctz.head, file->ctz.size, + file->pos, &file->block, &file->off); + if (err) { + return err; + } + } else { + file->block = LFS_BLOCK_INLINE; + file->off = file->pos; + } + + file->flags |= LFS_F_READING; + } + + // read as much as we can in current block + lfs_size_t diff = lfs_min(nsize, lfs->cfg->block_size - file->off); + if (file->flags & LFS_F_INLINE) { + int err = lfs_dir_getread(lfs, &file->m, + NULL, &file->cache, lfs->cfg->block_size, + LFS_MKTAG(0xfff, 0x1ff, 0), + LFS_MKTAG(LFS_TYPE_INLINESTRUCT, file->id, 0), + file->off, data, diff); + if (err) { + return err; + } + } else { + int err = lfs_bd_read(lfs, + NULL, &file->cache, lfs->cfg->block_size, + file->block, file->off, data, diff); + if (err) { + return err; + } + } + + file->pos += diff; + file->off += diff; + data += diff; + nsize -= diff; + } + + return size; +} + +static lfs_ssize_t lfs_file_read_(lfs_t *lfs, lfs_file_t *file, + void *buffer, lfs_size_t size) { + LFS_ASSERT((file->flags & LFS_O_RDONLY) == LFS_O_RDONLY); + +#ifndef LFS_READONLY + if (file->flags & LFS_F_WRITING) { + // flush out any writes + int err = lfs_file_flush(lfs, file); + if (err) { + return err; + } + } +#endif + + return lfs_file_flushedread(lfs, file, buffer, size); +} + + +#ifndef LFS_READONLY +static lfs_ssize_t lfs_file_flushedwrite(lfs_t *lfs, lfs_file_t *file, + const void *buffer, lfs_size_t size) { + const uint8_t *data = buffer; + lfs_size_t nsize = size; + + if ((file->flags & LFS_F_INLINE) && + lfs_max(file->pos+nsize, file->ctz.size) > lfs->inline_max) { + // inline file doesn't fit anymore + int err = lfs_file_outline(lfs, file); + if (err) { + file->flags |= LFS_F_ERRED; + return err; + } + } + + while (nsize > 0) { + // check if we need a new block + if (!(file->flags & LFS_F_WRITING) || + file->off == lfs->cfg->block_size) { + if (!(file->flags & LFS_F_INLINE)) { + if (!(file->flags & LFS_F_WRITING) && file->pos > 0) { + // find out which block we're extending from + int err = lfs_ctz_find(lfs, NULL, &file->cache, + file->ctz.head, file->ctz.size, + file->pos-1, &file->block, &(lfs_off_t){0}); + if (err) { + file->flags |= LFS_F_ERRED; + return err; + } + + // mark cache as dirty since we may have read data into it + lfs_cache_zero(lfs, &file->cache); + } + + // extend file with new blocks + lfs_alloc_ckpoint(lfs); + int err = lfs_ctz_extend(lfs, &file->cache, &lfs->rcache, + file->block, file->pos, + &file->block, &file->off); + if (err) { + file->flags |= LFS_F_ERRED; + return err; + } + } else { + file->block = LFS_BLOCK_INLINE; + file->off = file->pos; + } + + file->flags |= LFS_F_WRITING; + } + + // program as much as we can in current block + lfs_size_t diff = lfs_min(nsize, lfs->cfg->block_size - file->off); + while (true) { + int err = lfs_bd_prog(lfs, &file->cache, &lfs->rcache, true, + file->block, file->off, data, diff); + if (err) { + if (err == LFS_ERR_CORRUPT) { + goto relocate; + } + file->flags |= LFS_F_ERRED; + return err; + } + + break; +relocate: + err = lfs_file_relocate(lfs, file); + if (err) { + file->flags |= LFS_F_ERRED; + return err; + } + } + + file->pos += diff; + file->off += diff; + data += diff; + nsize -= diff; + + lfs_alloc_ckpoint(lfs); + } + + return size; +} + +static lfs_ssize_t lfs_file_write_(lfs_t *lfs, lfs_file_t *file, + const void *buffer, lfs_size_t size) { + LFS_ASSERT((file->flags & LFS_O_WRONLY) == LFS_O_WRONLY); + + if (file->flags & LFS_F_READING) { + // drop any reads + int err = lfs_file_flush(lfs, file); + if (err) { + return err; + } + } + + if ((file->flags & LFS_O_APPEND) && file->pos < file->ctz.size) { + file->pos = file->ctz.size; + } + + if (file->pos + size > lfs->file_max) { + // Larger than file limit? + return LFS_ERR_FBIG; + } + + if (!(file->flags & LFS_F_WRITING) && file->pos > file->ctz.size) { + // fill with zeros + lfs_off_t pos = file->pos; + file->pos = file->ctz.size; + + while (file->pos < pos) { + lfs_ssize_t res = lfs_file_flushedwrite(lfs, file, &(uint8_t){0}, 1); + if (res < 0) { + return res; + } + } + } + + lfs_ssize_t nsize = lfs_file_flushedwrite(lfs, file, buffer, size); + if (nsize < 0) { + return nsize; + } + + file->flags &= ~LFS_F_ERRED & ~LFS_F_DUSTY; + return nsize; +} +#endif + +static lfs_soff_t lfs_file_seek_(lfs_t *lfs, lfs_file_t *file, + lfs_soff_t off, int whence) { + // find new pos + // + // fortunately for us, littlefs is limited to 31-bit file sizes, so we + // don't have to worry too much about integer overflow + lfs_off_t npos = file->pos; + if (whence == LFS_SEEK_SET) { + npos = off; + } else if (whence == LFS_SEEK_CUR) { + npos = file->pos + (lfs_off_t)off; + } else if (whence == LFS_SEEK_END) { + npos = (lfs_off_t)lfs_file_size_(lfs, file) + (lfs_off_t)off; + } + + if (npos > lfs->file_max) { + // file position out of range + return LFS_ERR_INVAL; + } + + if (file->pos == npos) { + // noop - position has not changed + return npos; + } + + // if we're only reading and our new offset is still in the file's cache + // we can avoid flushing and needing to reread the data + if ((file->flags & LFS_F_READING) + && file->off != lfs->cfg->block_size) { + int oindex = lfs_ctz_index(lfs, &(lfs_off_t){file->pos}); + lfs_off_t noff = npos; + int nindex = lfs_ctz_index(lfs, &noff); + if (oindex == nindex + && noff >= file->cache.off + && noff < file->cache.off + file->cache.size) { + file->pos = npos; + file->off = noff; + return npos; + } + } + + // write out everything beforehand, may be noop if rdonly + int err = lfs_file_flush(lfs, file); + if (err) { + return err; + } + + // update pos + file->pos = npos; + return npos; +} + +#ifndef LFS_READONLY +static int lfs_file_truncate_(lfs_t *lfs, lfs_file_t *file, lfs_off_t size) { + LFS_ASSERT((file->flags & LFS_O_WRONLY) == LFS_O_WRONLY); + + if (size > LFS_FILE_MAX) { + return LFS_ERR_INVAL; + } + + lfs_off_t pos = file->pos; + lfs_off_t oldsize = lfs_file_size_(lfs, file); + if (size < oldsize) { + // revert to inline file? + if (size <= lfs->inline_max) { + // flush+seek to head + lfs_soff_t res = lfs_file_seek_(lfs, file, 0, LFS_SEEK_SET); + if (res < 0) { + return (int)res; + } + + // read our data into rcache temporarily + lfs_cache_drop(lfs, &lfs->rcache); + res = lfs_file_flushedread(lfs, file, + lfs->rcache.buffer, size); + if (res < 0) { + return (int)res; + } + + file->ctz.head = LFS_BLOCK_INLINE; + file->ctz.size = size; + file->flags |= LFS_F_DIRTY | LFS_F_READING | LFS_F_INLINE; + file->cache.block = file->ctz.head; + file->cache.off = 0; + file->cache.size = lfs->cfg->cache_size; + memcpy(file->cache.buffer, lfs->rcache.buffer, size); + + } else { + // need to flush since directly changing metadata + int err = lfs_file_flush(lfs, file); + if (err) { + return err; + } + + // lookup new head in ctz skip list + err = lfs_ctz_find(lfs, NULL, &file->cache, + file->ctz.head, file->ctz.size, + size-1, &file->block, &(lfs_off_t){0}); + if (err) { + return err; + } + + // need to set pos/block/off consistently so seeking back to + // the old position does not get confused + file->pos = size; + file->ctz.head = file->block; + file->ctz.size = size; + file->flags |= LFS_F_DIRTY | LFS_F_READING; + } + } else if (size > oldsize) { + // flush+seek if not already at end + lfs_soff_t res = lfs_file_seek_(lfs, file, 0, LFS_SEEK_END); + if (res < 0) { + return (int)res; + } + + // fill with zeros + while (file->pos < size) { + res = lfs_file_write_(lfs, file, &(uint8_t){0}, 1); + if (res < 0) { + return (int)res; + } + } + } + + // restore pos + lfs_soff_t res = lfs_file_seek_(lfs, file, pos, LFS_SEEK_SET); + if (res < 0) { + return (int)res; + } + + return 0; +} +#endif + +static lfs_soff_t lfs_file_tell_(lfs_t *lfs, lfs_file_t *file) { + (void)lfs; + return file->pos; +} + +static int lfs_file_rewind_(lfs_t *lfs, lfs_file_t *file) { + lfs_soff_t res = lfs_file_seek_(lfs, file, 0, LFS_SEEK_SET); + if (res < 0) { + return (int)res; + } + + return 0; +} + +static lfs_soff_t lfs_file_size_(lfs_t *lfs, lfs_file_t *file) { + (void)lfs; + +#ifndef LFS_READONLY + if (file->flags & LFS_F_WRITING) { + return lfs_max(file->pos, file->ctz.size); + } +#endif + + return file->ctz.size; +} + + +/// General fs operations /// +static int lfs_stat_(lfs_t *lfs, const char *path, struct lfs_info *info) { + lfs_mdir_t cwd; + lfs_stag_t tag = lfs_dir_find(lfs, &cwd, &path, NULL); + if (tag < 0) { + return (int)tag; + } + + // only allow trailing slashes on dirs + if (strchr(path, '/') != NULL + && lfs_tag_type3(tag) != LFS_TYPE_DIR) { + return LFS_ERR_NOTDIR; + } + + return lfs_dir_getinfo(lfs, &cwd, lfs_tag_id(tag), info); +} + +#ifndef LFS_READONLY +static int lfs_remove_(lfs_t *lfs, const char *path) { + // deorphan if we haven't yet, needed at most once after poweron + int err = lfs_fs_forceconsistency(lfs); + if (err) { + return err; + } + + lfs_mdir_t cwd; + lfs_stag_t tag = lfs_dir_find(lfs, &cwd, &path, NULL); + if (tag < 0 || lfs_tag_id(tag) == 0x3ff) { + return (tag < 0) ? (int)tag : LFS_ERR_INVAL; + } + + struct lfs_mlist dir; + dir.next = lfs->mlist; + if (lfs_tag_type3(tag) == LFS_TYPE_DIR) { + // must be empty before removal + lfs_block_t pair[2]; + lfs_stag_t res = lfs_dir_get(lfs, &cwd, LFS_MKTAG(0x700, 0x3ff, 0), + LFS_MKTAG(LFS_TYPE_STRUCT, lfs_tag_id(tag), 8), pair); + if (res < 0) { + return (int)res; + } + lfs_pair_fromle32(pair); + + err = lfs_dir_fetch(lfs, &dir.m, pair); + if (err) { + return err; + } + + if (dir.m.count > 0 || dir.m.split) { + return LFS_ERR_NOTEMPTY; + } + + // mark fs as orphaned + err = lfs_fs_preporphans(lfs, +1); + if (err) { + return err; + } + + // I know it's crazy but yes, dir can be changed by our parent's + // commit (if predecessor is child) + dir.type = 0; + dir.id = 0; + lfs->mlist = &dir; + } + + // delete the entry + err = lfs_dir_commit(lfs, &cwd, LFS_MKATTRS( + {LFS_MKTAG(LFS_TYPE_DELETE, lfs_tag_id(tag), 0), NULL})); + if (err) { + lfs->mlist = dir.next; + return err; + } + + lfs->mlist = dir.next; + if (lfs_gstate_hasorphans(&lfs->gstate)) { + LFS_ASSERT(lfs_tag_type3(tag) == LFS_TYPE_DIR); + + // fix orphan + err = lfs_fs_preporphans(lfs, -1); + if (err) { + return err; + } + + err = lfs_fs_pred(lfs, dir.m.pair, &cwd); + if (err) { + return err; + } + + err = lfs_dir_drop(lfs, &cwd, &dir.m); + if (err) { + return err; + } + } + + return 0; +} +#endif + +#ifndef LFS_READONLY +static int lfs_rename_(lfs_t *lfs, const char *oldpath, const char *newpath) { + // deorphan if we haven't yet, needed at most once after poweron + int err = lfs_fs_forceconsistency(lfs); + if (err) { + return err; + } + + // find old entry + lfs_mdir_t oldcwd; + lfs_stag_t oldtag = lfs_dir_find(lfs, &oldcwd, &oldpath, NULL); + if (oldtag < 0 || lfs_tag_id(oldtag) == 0x3ff) { + return (oldtag < 0) ? (int)oldtag : LFS_ERR_INVAL; + } + + // find new entry + lfs_mdir_t newcwd; + uint16_t newid; + lfs_stag_t prevtag = lfs_dir_find(lfs, &newcwd, &newpath, &newid); + if ((prevtag < 0 || lfs_tag_id(prevtag) == 0x3ff) && + !(prevtag == LFS_ERR_NOENT && lfs_path_islast(newpath))) { + return (prevtag < 0) ? (int)prevtag : LFS_ERR_INVAL; + } + + // if we're in the same pair there's a few special cases... + bool samepair = (lfs_pair_cmp(oldcwd.pair, newcwd.pair) == 0); + uint16_t newoldid = lfs_tag_id(oldtag); + + struct lfs_mlist prevdir; + prevdir.next = lfs->mlist; + if (prevtag == LFS_ERR_NOENT) { + // if we're a file, don't allow trailing slashes + if (lfs_path_isdir(newpath) + && lfs_tag_type3(oldtag) != LFS_TYPE_DIR) { + return LFS_ERR_NOTDIR; + } + + // check that name fits + lfs_size_t nlen = lfs_path_namelen(newpath); + if (nlen > lfs->name_max) { + return LFS_ERR_NAMETOOLONG; + } + + // there is a small chance we are being renamed in the same + // directory/ to an id less than our old id, the global update + // to handle this is a bit messy + if (samepair && newid <= newoldid) { + newoldid += 1; + } + } else if (lfs_tag_type3(prevtag) != lfs_tag_type3(oldtag)) { + return (lfs_tag_type3(prevtag) == LFS_TYPE_DIR) + ? LFS_ERR_ISDIR + : LFS_ERR_NOTDIR; + } else if (samepair && newid == newoldid) { + // we're renaming to ourselves?? + return 0; + } else if (lfs_tag_type3(prevtag) == LFS_TYPE_DIR) { + // must be empty before removal + lfs_block_t prevpair[2]; + lfs_stag_t res = lfs_dir_get(lfs, &newcwd, LFS_MKTAG(0x700, 0x3ff, 0), + LFS_MKTAG(LFS_TYPE_STRUCT, newid, 8), prevpair); + if (res < 0) { + return (int)res; + } + lfs_pair_fromle32(prevpair); + + // must be empty before removal + err = lfs_dir_fetch(lfs, &prevdir.m, prevpair); + if (err) { + return err; + } + + if (prevdir.m.count > 0 || prevdir.m.split) { + return LFS_ERR_NOTEMPTY; + } + + // mark fs as orphaned + err = lfs_fs_preporphans(lfs, +1); + if (err) { + return err; + } + + // I know it's crazy but yes, dir can be changed by our parent's + // commit (if predecessor is child) + prevdir.type = 0; + prevdir.id = 0; + lfs->mlist = &prevdir; + } + + if (!samepair) { + lfs_fs_prepmove(lfs, newoldid, oldcwd.pair); + } + + // move over all attributes + err = lfs_dir_commit(lfs, &newcwd, LFS_MKATTRS( + {LFS_MKTAG_IF(prevtag != LFS_ERR_NOENT, + LFS_TYPE_DELETE, newid, 0), NULL}, + {LFS_MKTAG(LFS_TYPE_CREATE, newid, 0), NULL}, + {LFS_MKTAG(lfs_tag_type3(oldtag), + newid, lfs_path_namelen(newpath)), newpath}, + {LFS_MKTAG(LFS_FROM_MOVE, newid, lfs_tag_id(oldtag)), &oldcwd}, + {LFS_MKTAG_IF(samepair, + LFS_TYPE_DELETE, newoldid, 0), NULL})); + if (err) { + lfs->mlist = prevdir.next; + return err; + } + + // let commit clean up after move (if we're different! otherwise move + // logic already fixed it for us) + if (!samepair && lfs_gstate_hasmove(&lfs->gstate)) { + // prep gstate and delete move id + lfs_fs_prepmove(lfs, 0x3ff, NULL); + err = lfs_dir_commit(lfs, &oldcwd, LFS_MKATTRS( + {LFS_MKTAG(LFS_TYPE_DELETE, lfs_tag_id(oldtag), 0), NULL})); + if (err) { + lfs->mlist = prevdir.next; + return err; + } + } + + lfs->mlist = prevdir.next; + if (lfs_gstate_hasorphans(&lfs->gstate)) { + LFS_ASSERT(prevtag != LFS_ERR_NOENT + && lfs_tag_type3(prevtag) == LFS_TYPE_DIR); + + // fix orphan + err = lfs_fs_preporphans(lfs, -1); + if (err) { + return err; + } + + err = lfs_fs_pred(lfs, prevdir.m.pair, &newcwd); + if (err) { + return err; + } + + err = lfs_dir_drop(lfs, &newcwd, &prevdir.m); + if (err) { + return err; + } + } + + return 0; +} +#endif + +static lfs_ssize_t lfs_getattr_(lfs_t *lfs, const char *path, + uint8_t type, void *buffer, lfs_size_t size) { + lfs_mdir_t cwd; + lfs_stag_t tag = lfs_dir_find(lfs, &cwd, &path, NULL); + if (tag < 0) { + return tag; + } + + uint16_t id = lfs_tag_id(tag); + if (id == 0x3ff) { + // special case for root + id = 0; + int err = lfs_dir_fetch(lfs, &cwd, lfs->root); + if (err) { + return err; + } + } + + tag = lfs_dir_get(lfs, &cwd, LFS_MKTAG(0x7ff, 0x3ff, 0), + LFS_MKTAG(LFS_TYPE_USERATTR + type, + id, lfs_min(size, lfs->attr_max)), + buffer); + if (tag < 0) { + if (tag == LFS_ERR_NOENT) { + return LFS_ERR_NOATTR; + } + + return tag; + } + + return lfs_tag_size(tag); +} + +#ifndef LFS_READONLY +static int lfs_commitattr(lfs_t *lfs, const char *path, + uint8_t type, const void *buffer, lfs_size_t size) { + lfs_mdir_t cwd; + lfs_stag_t tag = lfs_dir_find(lfs, &cwd, &path, NULL); + if (tag < 0) { + return tag; + } + + uint16_t id = lfs_tag_id(tag); + if (id == 0x3ff) { + // special case for root + id = 0; + int err = lfs_dir_fetch(lfs, &cwd, lfs->root); + if (err) { + return err; + } + } + + return lfs_dir_commit(lfs, &cwd, LFS_MKATTRS( + {LFS_MKTAG(LFS_TYPE_USERATTR + type, id, size), buffer})); +} +#endif + +#ifndef LFS_READONLY +static int lfs_setattr_(lfs_t *lfs, const char *path, + uint8_t type, const void *buffer, lfs_size_t size) { + if (size > lfs->attr_max) { + return LFS_ERR_NOSPC; + } + + return lfs_commitattr(lfs, path, type, buffer, size); +} +#endif + +#ifndef LFS_READONLY +static int lfs_removeattr_(lfs_t *lfs, const char *path, uint8_t type) { + return lfs_commitattr(lfs, path, type, NULL, 0x3ff); +} +#endif + + +/// Filesystem operations /// + +// compile time checks, see lfs.h for why these limits exist +#if LFS_NAME_MAX > 1022 +#error "Invalid LFS_NAME_MAX, must be <= 1022" +#endif + +#if LFS_FILE_MAX > 2147483647 +#error "Invalid LFS_FILE_MAX, must be <= 2147483647" +#endif + +#if LFS_ATTR_MAX > 1022 +#error "Invalid LFS_ATTR_MAX, must be <= 1022" +#endif + +// common filesystem initialization +static int lfs_init(lfs_t *lfs, const struct lfs_config *cfg) { + lfs->cfg = cfg; + lfs->block_count = cfg->block_count; // May be 0 + int err = 0; + +#ifdef LFS_MULTIVERSION + // this driver only supports minor version < current minor version + LFS_ASSERT(!lfs->cfg->disk_version || ( + (0xffff & (lfs->cfg->disk_version >> 16)) + == LFS_DISK_VERSION_MAJOR + && (0xffff & (lfs->cfg->disk_version >> 0)) + <= LFS_DISK_VERSION_MINOR)); +#endif + + // check that bool is a truthy-preserving type + // + // note the most common reason for this failure is a before-c99 compiler, + // which littlefs currently does not support + LFS_ASSERT((bool)0x80000000); + + // check that the required io functions are provided + LFS_ASSERT(lfs->cfg->read != NULL); +#ifndef LFS_READONLY + LFS_ASSERT(lfs->cfg->prog != NULL); + LFS_ASSERT(lfs->cfg->erase != NULL); + LFS_ASSERT(lfs->cfg->sync != NULL); +#endif + + // validate that the lfs-cfg sizes were initiated properly before + // performing any arithmetic logics with them + LFS_ASSERT(lfs->cfg->read_size != 0); + LFS_ASSERT(lfs->cfg->prog_size != 0); + LFS_ASSERT(lfs->cfg->cache_size != 0); + + // check that block size is a multiple of cache size is a multiple + // of prog and read sizes + LFS_ASSERT(lfs->cfg->cache_size % lfs->cfg->read_size == 0); + LFS_ASSERT(lfs->cfg->cache_size % lfs->cfg->prog_size == 0); + LFS_ASSERT(lfs->cfg->block_size % lfs->cfg->cache_size == 0); + + // check that the block size is large enough to fit all ctz pointers + LFS_ASSERT(lfs->cfg->block_size >= 128); + // this is the exact calculation for all ctz pointers, if this fails + // and the simpler assert above does not, math must be broken + LFS_ASSERT(4*lfs_npw2(0xffffffff / (lfs->cfg->block_size-2*4)) + <= lfs->cfg->block_size); + + // block_cycles = 0 is no longer supported. + // + // block_cycles is the number of erase cycles before littlefs evicts + // metadata logs as a part of wear leveling. Suggested values are in the + // range of 100-1000, or set block_cycles to -1 to disable block-level + // wear-leveling. + LFS_ASSERT(lfs->cfg->block_cycles != 0); + + // check that compact_thresh makes sense + // + // metadata can't be compacted below block_size/2, and metadata can't + // exceed a block_size + LFS_ASSERT(lfs->cfg->compact_thresh == 0 + || lfs->cfg->compact_thresh >= lfs->cfg->block_size/2); + LFS_ASSERT(lfs->cfg->compact_thresh == (lfs_size_t)-1 + || lfs->cfg->compact_thresh <= lfs->cfg->block_size); + + // check that metadata_max is a multiple of read_size and prog_size, + // and a factor of the block_size + LFS_ASSERT(!lfs->cfg->metadata_max + || lfs->cfg->metadata_max % lfs->cfg->read_size == 0); + LFS_ASSERT(!lfs->cfg->metadata_max + || lfs->cfg->metadata_max % lfs->cfg->prog_size == 0); + LFS_ASSERT(!lfs->cfg->metadata_max + || lfs->cfg->block_size % lfs->cfg->metadata_max == 0); + + // setup read cache + if (lfs->cfg->read_buffer) { + lfs->rcache.buffer = lfs->cfg->read_buffer; + } else { + lfs->rcache.buffer = lfs_malloc(lfs->cfg->cache_size); + if (!lfs->rcache.buffer) { + err = LFS_ERR_NOMEM; + goto cleanup; + } + } + + // setup program cache + if (lfs->cfg->prog_buffer) { + lfs->pcache.buffer = lfs->cfg->prog_buffer; + } else { + lfs->pcache.buffer = lfs_malloc(lfs->cfg->cache_size); + if (!lfs->pcache.buffer) { + err = LFS_ERR_NOMEM; + goto cleanup; + } + } + + // zero to avoid information leaks + lfs_cache_zero(lfs, &lfs->rcache); + lfs_cache_zero(lfs, &lfs->pcache); + + // setup lookahead buffer, note mount finishes initializing this after + // we establish a decent pseudo-random seed + LFS_ASSERT(lfs->cfg->lookahead_size > 0); + if (lfs->cfg->lookahead_buffer) { + lfs->lookahead.buffer = lfs->cfg->lookahead_buffer; + } else { + lfs->lookahead.buffer = lfs_malloc(lfs->cfg->lookahead_size); + if (!lfs->lookahead.buffer) { + err = LFS_ERR_NOMEM; + goto cleanup; + } + } + + // check that the size limits are sane + LFS_ASSERT(lfs->cfg->name_max <= LFS_NAME_MAX); + lfs->name_max = lfs->cfg->name_max; + if (!lfs->name_max) { + lfs->name_max = LFS_NAME_MAX; + } + + LFS_ASSERT(lfs->cfg->file_max <= LFS_FILE_MAX); + lfs->file_max = lfs->cfg->file_max; + if (!lfs->file_max) { + lfs->file_max = LFS_FILE_MAX; + } + + LFS_ASSERT(lfs->cfg->attr_max <= LFS_ATTR_MAX); + lfs->attr_max = lfs->cfg->attr_max; + if (!lfs->attr_max) { + lfs->attr_max = LFS_ATTR_MAX; + } + + LFS_ASSERT(lfs->cfg->metadata_max <= lfs->cfg->block_size); + + LFS_ASSERT(lfs->cfg->inline_max == (lfs_size_t)-1 + || lfs->cfg->inline_max <= lfs->cfg->cache_size); + LFS_ASSERT(lfs->cfg->inline_max == (lfs_size_t)-1 + || lfs->cfg->inline_max <= lfs->attr_max); + LFS_ASSERT(lfs->cfg->inline_max == (lfs_size_t)-1 + || lfs->cfg->inline_max <= ((lfs->cfg->metadata_max) + ? lfs->cfg->metadata_max + : lfs->cfg->block_size)/8); + lfs->inline_max = lfs->cfg->inline_max; + if (lfs->inline_max == (lfs_size_t)-1) { + lfs->inline_max = 0; + } else if (lfs->inline_max == 0) { + lfs->inline_max = lfs_min( + lfs->cfg->cache_size, + lfs_min( + lfs->attr_max, + ((lfs->cfg->metadata_max) + ? lfs->cfg->metadata_max + : lfs->cfg->block_size)/8)); + } + + // setup default state + lfs->root[0] = LFS_BLOCK_NULL; + lfs->root[1] = LFS_BLOCK_NULL; + lfs->mlist = NULL; + lfs->seed = 0; + lfs->gdisk = (lfs_gstate_t){0}; + lfs->gstate = (lfs_gstate_t){0}; + lfs->gdelta = (lfs_gstate_t){0}; +#ifdef LFS_MIGRATE + lfs->lfs1 = NULL; +#endif + + return 0; + +cleanup: + lfs_deinit(lfs); + return err; +} + +static int lfs_deinit(lfs_t *lfs) { + // free allocated memory + if (!lfs->cfg->read_buffer) { + lfs_free(lfs->rcache.buffer); + } + + if (!lfs->cfg->prog_buffer) { + lfs_free(lfs->pcache.buffer); + } + + if (!lfs->cfg->lookahead_buffer) { + lfs_free(lfs->lookahead.buffer); + } + + return 0; +} + + + +#ifndef LFS_READONLY +static int lfs_format_(lfs_t *lfs, const struct lfs_config *cfg) { + int err = 0; + { + err = lfs_init(lfs, cfg); + if (err) { + return err; + } + + LFS_ASSERT(cfg->block_count != 0); + + // create free lookahead + memset(lfs->lookahead.buffer, 0, lfs->cfg->lookahead_size); + lfs->lookahead.start = 0; + lfs->lookahead.size = lfs_min(8*lfs->cfg->lookahead_size, + lfs->block_count); + lfs->lookahead.next = 0; + lfs_alloc_ckpoint(lfs); + + // create root dir + lfs_mdir_t root; + err = lfs_dir_alloc(lfs, &root); + if (err) { + goto cleanup; + } + + // write one superblock + lfs_superblock_t superblock = { + .version = lfs_fs_disk_version(lfs), + .block_size = lfs->cfg->block_size, + .block_count = lfs->block_count, + .name_max = lfs->name_max, + .file_max = lfs->file_max, + .attr_max = lfs->attr_max, + }; + + lfs_superblock_tole32(&superblock); + err = lfs_dir_commit(lfs, &root, LFS_MKATTRS( + {LFS_MKTAG(LFS_TYPE_CREATE, 0, 0), NULL}, + {LFS_MKTAG(LFS_TYPE_SUPERBLOCK, 0, 8), "littlefs"}, + {LFS_MKTAG(LFS_TYPE_INLINESTRUCT, 0, sizeof(superblock)), + &superblock})); + if (err) { + goto cleanup; + } + + // force compaction to prevent accidentally mounting any + // older version of littlefs that may live on disk + root.erased = false; + err = lfs_dir_commit(lfs, &root, NULL, 0); + if (err) { + goto cleanup; + } + + // sanity check that fetch works + err = lfs_dir_fetch(lfs, &root, (const lfs_block_t[2]){0, 1}); + if (err) { + goto cleanup; + } + } + +cleanup: + lfs_deinit(lfs); + return err; + +} +#endif + +struct lfs_tortoise_t { + lfs_block_t pair[2]; + lfs_size_t i; + lfs_size_t period; +}; + +static int lfs_tortoise_detectcycles( + const lfs_mdir_t *dir, struct lfs_tortoise_t *tortoise) { + // detect cycles with Brent's algorithm + if (lfs_pair_issync(dir->tail, tortoise->pair)) { + LFS_WARN("Cycle detected in tail list"); + return LFS_ERR_CORRUPT; + } + if (tortoise->i == tortoise->period) { + tortoise->pair[0] = dir->tail[0]; + tortoise->pair[1] = dir->tail[1]; + tortoise->i = 0; + tortoise->period *= 2; + } + tortoise->i += 1; + + return LFS_ERR_OK; +} + +static int lfs_mount_(lfs_t *lfs, const struct lfs_config *cfg) { + int err = lfs_init(lfs, cfg); + if (err) { + return err; + } + + // scan directory blocks for superblock and any global updates + lfs_mdir_t dir = {.tail = {0, 1}}; + struct lfs_tortoise_t tortoise = { + .pair = {LFS_BLOCK_NULL, LFS_BLOCK_NULL}, + .i = 1, + .period = 1, + }; + while (!lfs_pair_isnull(dir.tail)) { + err = lfs_tortoise_detectcycles(&dir, &tortoise); + if (err < 0) { + goto cleanup; + } + + // fetch next block in tail list + lfs_stag_t tag = lfs_dir_fetchmatch(lfs, &dir, dir.tail, + LFS_MKTAG(0x7ff, 0x3ff, 0), + LFS_MKTAG(LFS_TYPE_SUPERBLOCK, 0, 8), + NULL, + lfs_dir_find_match, &(struct lfs_dir_find_match){ + lfs, "littlefs", 8}); + if (tag < 0) { + err = tag; + goto cleanup; + } + + // has superblock? + if (tag && !lfs_tag_isdelete(tag)) { + // update root + lfs->root[0] = dir.pair[0]; + lfs->root[1] = dir.pair[1]; + + // grab superblock + lfs_superblock_t superblock; + tag = lfs_dir_get(lfs, &dir, LFS_MKTAG(0x7ff, 0x3ff, 0), + LFS_MKTAG(LFS_TYPE_INLINESTRUCT, 0, sizeof(superblock)), + &superblock); + if (tag < 0) { + err = tag; + goto cleanup; + } + lfs_superblock_fromle32(&superblock); + + // check version + uint16_t major_version = (0xffff & (superblock.version >> 16)); + uint16_t minor_version = (0xffff & (superblock.version >> 0)); + if (major_version != lfs_fs_disk_version_major(lfs) + || minor_version > lfs_fs_disk_version_minor(lfs)) { + LFS_ERROR("Invalid version " + "v%"PRIu16".%"PRIu16" != v%"PRIu16".%"PRIu16, + major_version, + minor_version, + lfs_fs_disk_version_major(lfs), + lfs_fs_disk_version_minor(lfs)); + err = LFS_ERR_INVAL; + goto cleanup; + } + + // found older minor version? set an in-device only bit in the + // gstate so we know we need to rewrite the superblock before + // the first write + bool needssuperblock = false; + if (minor_version < lfs_fs_disk_version_minor(lfs)) { + LFS_DEBUG("Found older minor version " + "v%"PRIu16".%"PRIu16" < v%"PRIu16".%"PRIu16, + major_version, + minor_version, + lfs_fs_disk_version_major(lfs), + lfs_fs_disk_version_minor(lfs)); + needssuperblock = true; + } + // note this bit is reserved on disk, so fetching more gstate + // will not interfere here + lfs_fs_prepsuperblock(lfs, needssuperblock); + + // check superblock configuration + if (superblock.name_max) { + if (superblock.name_max > lfs->name_max) { + LFS_ERROR("Unsupported name_max (%"PRIu32" > %"PRIu32")", + superblock.name_max, lfs->name_max); + err = LFS_ERR_INVAL; + goto cleanup; + } + + lfs->name_max = superblock.name_max; + } + + if (superblock.file_max) { + if (superblock.file_max > lfs->file_max) { + LFS_ERROR("Unsupported file_max (%"PRIu32" > %"PRIu32")", + superblock.file_max, lfs->file_max); + err = LFS_ERR_INVAL; + goto cleanup; + } + + lfs->file_max = superblock.file_max; + } + + if (superblock.attr_max) { + if (superblock.attr_max > lfs->attr_max) { + LFS_ERROR("Unsupported attr_max (%"PRIu32" > %"PRIu32")", + superblock.attr_max, lfs->attr_max); + err = LFS_ERR_INVAL; + goto cleanup; + } + + lfs->attr_max = superblock.attr_max; + + // we also need to update inline_max in case attr_max changed + lfs->inline_max = lfs_min(lfs->inline_max, lfs->attr_max); + } + + // this is where we get the block_count from disk if block_count=0 + if (lfs->cfg->block_count + && superblock.block_count != lfs->cfg->block_count) { + LFS_ERROR("Invalid block count (%"PRIu32" != %"PRIu32")", + superblock.block_count, lfs->cfg->block_count); + err = LFS_ERR_INVAL; + goto cleanup; + } + + lfs->block_count = superblock.block_count; + + if (superblock.block_size != lfs->cfg->block_size) { + LFS_ERROR("Invalid block size (%"PRIu32" != %"PRIu32")", + superblock.block_size, lfs->cfg->block_size); + err = LFS_ERR_INVAL; + goto cleanup; + } + } + + // has gstate? + err = lfs_dir_getgstate(lfs, &dir, &lfs->gstate); + if (err) { + goto cleanup; + } + } + + // update littlefs with gstate + if (!lfs_gstate_iszero(&lfs->gstate)) { + LFS_DEBUG("Found pending gstate 0x%08"PRIx32"%08"PRIx32"%08"PRIx32, + lfs->gstate.tag, + lfs->gstate.pair[0], + lfs->gstate.pair[1]); + } + lfs->gstate.tag += !lfs_tag_isvalid(lfs->gstate.tag); + lfs->gdisk = lfs->gstate; + + // setup free lookahead, to distribute allocations uniformly across + // boots, we start the allocator at a random location + lfs->lookahead.start = lfs->seed % lfs->block_count; + lfs_alloc_drop(lfs); + + return 0; + +cleanup: + lfs_unmount_(lfs); + return err; +} + +static int lfs_unmount_(lfs_t *lfs) { + return lfs_deinit(lfs); +} + + +/// Filesystem filesystem operations /// +static int lfs_fs_stat_(lfs_t *lfs, struct lfs_fsinfo *fsinfo) { + // if the superblock is up-to-date, we must be on the most recent + // minor version of littlefs + if (!lfs_gstate_needssuperblock(&lfs->gstate)) { + fsinfo->disk_version = lfs_fs_disk_version(lfs); + + // otherwise we need to read the minor version on disk + } else { + // fetch the superblock + lfs_mdir_t dir; + int err = lfs_dir_fetch(lfs, &dir, lfs->root); + if (err) { + return err; + } + + lfs_superblock_t superblock; + lfs_stag_t tag = lfs_dir_get(lfs, &dir, LFS_MKTAG(0x7ff, 0x3ff, 0), + LFS_MKTAG(LFS_TYPE_INLINESTRUCT, 0, sizeof(superblock)), + &superblock); + if (tag < 0) { + return tag; + } + lfs_superblock_fromle32(&superblock); + + // read the on-disk version + fsinfo->disk_version = superblock.version; + } + + // filesystem geometry + fsinfo->block_size = lfs->cfg->block_size; + fsinfo->block_count = lfs->block_count; + + // other on-disk configuration, we cache all of these for internal use + fsinfo->name_max = lfs->name_max; + fsinfo->file_max = lfs->file_max; + fsinfo->attr_max = lfs->attr_max; + + return 0; +} + +int lfs_fs_traverse_(lfs_t *lfs, + int (*cb)(void *data, lfs_block_t block), void *data, + bool includeorphans) { + // iterate over metadata pairs + lfs_mdir_t dir = {.tail = {0, 1}}; + +#ifdef LFS_MIGRATE + // also consider v1 blocks during migration + if (lfs->lfs1) { + int err = lfs1_traverse(lfs, cb, data); + if (err) { + return err; + } + + dir.tail[0] = lfs->root[0]; + dir.tail[1] = lfs->root[1]; + } +#endif + + struct lfs_tortoise_t tortoise = { + .pair = {LFS_BLOCK_NULL, LFS_BLOCK_NULL}, + .i = 1, + .period = 1, + }; + int err = LFS_ERR_OK; + while (!lfs_pair_isnull(dir.tail)) { + err = lfs_tortoise_detectcycles(&dir, &tortoise); + if (err < 0) { + return LFS_ERR_CORRUPT; + } + + for (int i = 0; i < 2; i++) { + int err = cb(data, dir.tail[i]); + if (err) { + return err; + } + } + + // iterate through ids in directory + int err = lfs_dir_fetch(lfs, &dir, dir.tail); + if (err) { + return err; + } + + for (uint16_t id = 0; id < dir.count; id++) { + struct lfs_ctz ctz; + lfs_stag_t tag = lfs_dir_get(lfs, &dir, LFS_MKTAG(0x700, 0x3ff, 0), + LFS_MKTAG(LFS_TYPE_STRUCT, id, sizeof(ctz)), &ctz); + if (tag < 0) { + if (tag == LFS_ERR_NOENT) { + continue; + } + return tag; + } + lfs_ctz_fromle32(&ctz); + + if (lfs_tag_type3(tag) == LFS_TYPE_CTZSTRUCT) { + err = lfs_ctz_traverse(lfs, NULL, &lfs->rcache, + ctz.head, ctz.size, cb, data); + if (err) { + return err; + } + } else if (includeorphans && + lfs_tag_type3(tag) == LFS_TYPE_DIRSTRUCT) { + for (int i = 0; i < 2; i++) { + err = cb(data, (&ctz.head)[i]); + if (err) { + return err; + } + } + } + } + } + +#ifndef LFS_READONLY + // iterate over any open files + for (lfs_file_t *f = (lfs_file_t*)lfs->mlist; f; f = f->next) { + if (f->type != LFS_TYPE_REG) { + continue; + } + + if (((f->flags & LFS_F_DIRTY) || (f->flags & LFS_F_DUSTY)) + && !(f->flags & LFS_F_INLINE)) { + int err = lfs_ctz_traverse(lfs, &f->cache, &lfs->rcache, + f->ctz.head, f->ctz.size, cb, data); + if (err) { + return err; + } + } + + if ((f->flags & LFS_F_WRITING) && !(f->flags & LFS_F_INLINE)) { + int err = lfs_ctz_traverse(lfs, &f->cache, &lfs->rcache, + f->block, f->pos, cb, data); + if (err) { + return err; + } + } + } +#endif + + return 0; +} + +#ifndef LFS_READONLY +static int lfs_fs_pred(lfs_t *lfs, + const lfs_block_t pair[2], lfs_mdir_t *pdir) { + // iterate over all directory directory entries + pdir->tail[0] = 0; + pdir->tail[1] = 1; + struct lfs_tortoise_t tortoise = { + .pair = {LFS_BLOCK_NULL, LFS_BLOCK_NULL}, + .i = 1, + .period = 1, + }; + int err = LFS_ERR_OK; + while (!lfs_pair_isnull(pdir->tail)) { + err = lfs_tortoise_detectcycles(pdir, &tortoise); + if (err < 0) { + return LFS_ERR_CORRUPT; + } + + if (lfs_pair_cmp(pdir->tail, pair) == 0) { + return 0; + } + + int err = lfs_dir_fetch(lfs, pdir, pdir->tail); + if (err) { + return err; + } + } + + return LFS_ERR_NOENT; +} +#endif + +#ifndef LFS_READONLY +struct lfs_fs_parent_match { + lfs_t *lfs; + const lfs_block_t pair[2]; +}; +#endif + +#ifndef LFS_READONLY +static int lfs_fs_parent_match(void *data, + lfs_tag_t tag, const void *buffer) { + struct lfs_fs_parent_match *find = data; + lfs_t *lfs = find->lfs; + const struct lfs_diskoff *disk = buffer; + (void)tag; + + lfs_block_t child[2]; + int err = lfs_bd_read(lfs, + &lfs->pcache, &lfs->rcache, lfs->cfg->block_size, + disk->block, disk->off, &child, sizeof(child)); + if (err) { + return err; + } + + lfs_pair_fromle32(child); + return (lfs_pair_cmp(child, find->pair) == 0) ? LFS_CMP_EQ : LFS_CMP_LT; +} +#endif + +#ifndef LFS_READONLY +static lfs_stag_t lfs_fs_parent(lfs_t *lfs, const lfs_block_t pair[2], + lfs_mdir_t *parent) { + // use fetchmatch with callback to find pairs + parent->tail[0] = 0; + parent->tail[1] = 1; + struct lfs_tortoise_t tortoise = { + .pair = {LFS_BLOCK_NULL, LFS_BLOCK_NULL}, + .i = 1, + .period = 1, + }; + int err = LFS_ERR_OK; + while (!lfs_pair_isnull(parent->tail)) { + err = lfs_tortoise_detectcycles(parent, &tortoise); + if (err < 0) { + return err; + } + + lfs_stag_t tag = lfs_dir_fetchmatch(lfs, parent, parent->tail, + LFS_MKTAG(0x7ff, 0, 0x3ff), + LFS_MKTAG(LFS_TYPE_DIRSTRUCT, 0, 8), + NULL, + lfs_fs_parent_match, &(struct lfs_fs_parent_match){ + lfs, {pair[0], pair[1]}}); + if (tag && tag != LFS_ERR_NOENT) { + return tag; + } + } + + return LFS_ERR_NOENT; +} +#endif + +static void lfs_fs_prepsuperblock(lfs_t *lfs, bool needssuperblock) { + lfs->gstate.tag = (lfs->gstate.tag & ~LFS_MKTAG(0, 0, 0x200)) + | (uint32_t)needssuperblock << 9; +} + +#ifndef LFS_READONLY +static int lfs_fs_preporphans(lfs_t *lfs, int8_t orphans) { + LFS_ASSERT(lfs_tag_size(lfs->gstate.tag) > 0x000 || orphans >= 0); + LFS_ASSERT(lfs_tag_size(lfs->gstate.tag) < 0x1ff || orphans <= 0); + lfs->gstate.tag += orphans; + lfs->gstate.tag = ((lfs->gstate.tag & ~LFS_MKTAG(0x800, 0, 0)) | + ((uint32_t)lfs_gstate_hasorphans(&lfs->gstate) << 31)); + + return 0; +} +#endif + +#ifndef LFS_READONLY +static void lfs_fs_prepmove(lfs_t *lfs, + uint16_t id, const lfs_block_t pair[2]) { + lfs->gstate.tag = ((lfs->gstate.tag & ~LFS_MKTAG(0x7ff, 0x3ff, 0)) | + ((id != 0x3ff) ? LFS_MKTAG(LFS_TYPE_DELETE, id, 0) : 0)); + lfs->gstate.pair[0] = (id != 0x3ff) ? pair[0] : 0; + lfs->gstate.pair[1] = (id != 0x3ff) ? pair[1] : 0; +} +#endif + +#ifndef LFS_READONLY +static int lfs_fs_desuperblock(lfs_t *lfs) { + if (!lfs_gstate_needssuperblock(&lfs->gstate)) { + return 0; + } + + LFS_DEBUG("Rewriting superblock {0x%"PRIx32", 0x%"PRIx32"}", + lfs->root[0], + lfs->root[1]); + + lfs_mdir_t root; + int err = lfs_dir_fetch(lfs, &root, lfs->root); + if (err) { + return err; + } + + // write a new superblock + lfs_superblock_t superblock = { + .version = lfs_fs_disk_version(lfs), + .block_size = lfs->cfg->block_size, + .block_count = lfs->block_count, + .name_max = lfs->name_max, + .file_max = lfs->file_max, + .attr_max = lfs->attr_max, + }; + + lfs_superblock_tole32(&superblock); + err = lfs_dir_commit(lfs, &root, LFS_MKATTRS( + {LFS_MKTAG(LFS_TYPE_INLINESTRUCT, 0, sizeof(superblock)), + &superblock})); + if (err) { + return err; + } + + lfs_fs_prepsuperblock(lfs, false); + return 0; +} +#endif + +#ifndef LFS_READONLY +static int lfs_fs_demove(lfs_t *lfs) { + if (!lfs_gstate_hasmove(&lfs->gdisk)) { + return 0; + } + + // Fix bad moves + LFS_DEBUG("Fixing move {0x%"PRIx32", 0x%"PRIx32"} 0x%"PRIx16, + lfs->gdisk.pair[0], + lfs->gdisk.pair[1], + lfs_tag_id(lfs->gdisk.tag)); + + // no other gstate is supported at this time, so if we found something else + // something most likely went wrong in gstate calculation + LFS_ASSERT(lfs_tag_type3(lfs->gdisk.tag) == LFS_TYPE_DELETE); + + // fetch and delete the moved entry + lfs_mdir_t movedir; + int err = lfs_dir_fetch(lfs, &movedir, lfs->gdisk.pair); + if (err) { + return err; + } + + // prep gstate and delete move id + uint16_t moveid = lfs_tag_id(lfs->gdisk.tag); + lfs_fs_prepmove(lfs, 0x3ff, NULL); + err = lfs_dir_commit(lfs, &movedir, LFS_MKATTRS( + {LFS_MKTAG(LFS_TYPE_DELETE, moveid, 0), NULL})); + if (err) { + return err; + } + + return 0; +} +#endif + +#ifndef LFS_READONLY +static int lfs_fs_deorphan(lfs_t *lfs, bool powerloss) { + if (!lfs_gstate_hasorphans(&lfs->gstate)) { + return 0; + } + + // Check for orphans in two separate passes: + // - 1 for half-orphans (relocations) + // - 2 for full-orphans (removes/renames) + // + // Two separate passes are needed as half-orphans can contain outdated + // references to full-orphans, effectively hiding them from the deorphan + // search. + // + int pass = 0; + while (pass < 2) { + // Fix any orphans + lfs_mdir_t pdir = {.split = true, .tail = {0, 1}}; + lfs_mdir_t dir; + bool moreorphans = false; + + // iterate over all directory directory entries + while (!lfs_pair_isnull(pdir.tail)) { + int err = lfs_dir_fetch(lfs, &dir, pdir.tail); + if (err) { + return err; + } + + // check head blocks for orphans + if (!pdir.split) { + // check if we have a parent + lfs_mdir_t parent; + lfs_stag_t tag = lfs_fs_parent(lfs, pdir.tail, &parent); + if (tag < 0 && tag != LFS_ERR_NOENT) { + return tag; + } + + if (pass == 0 && tag != LFS_ERR_NOENT) { + lfs_block_t pair[2]; + lfs_stag_t state = lfs_dir_get(lfs, &parent, + LFS_MKTAG(0x7ff, 0x3ff, 0), tag, pair); + if (state < 0) { + return state; + } + lfs_pair_fromle32(pair); + + if (!lfs_pair_issync(pair, pdir.tail)) { + // we have desynced + LFS_DEBUG("Fixing half-orphan " + "{0x%"PRIx32", 0x%"PRIx32"} " + "-> {0x%"PRIx32", 0x%"PRIx32"}", + pdir.tail[0], pdir.tail[1], pair[0], pair[1]); + + // fix pending move in this pair? this looks like an + // optimization but is in fact _required_ since + // relocating may outdate the move. + uint16_t moveid = 0x3ff; + if (lfs_gstate_hasmovehere(&lfs->gstate, pdir.pair)) { + moveid = lfs_tag_id(lfs->gstate.tag); + LFS_DEBUG("Fixing move while fixing orphans " + "{0x%"PRIx32", 0x%"PRIx32"} 0x%"PRIx16"\n", + pdir.pair[0], pdir.pair[1], moveid); + lfs_fs_prepmove(lfs, 0x3ff, NULL); + } + + lfs_pair_tole32(pair); + state = lfs_dir_orphaningcommit(lfs, &pdir, LFS_MKATTRS( + {LFS_MKTAG_IF(moveid != 0x3ff, + LFS_TYPE_DELETE, moveid, 0), NULL}, + {LFS_MKTAG(LFS_TYPE_SOFTTAIL, 0x3ff, 8), + pair})); + lfs_pair_fromle32(pair); + if (state < 0) { + return state; + } + + // did our commit create more orphans? + if (state == LFS_OK_ORPHANED) { + moreorphans = true; + } + + // refetch tail + continue; + } + } + + // note we only check for full orphans if we may have had a + // power-loss, otherwise orphans are created intentionally + // during operations such as lfs_mkdir + if (pass == 1 && tag == LFS_ERR_NOENT && powerloss) { + // we are an orphan + LFS_DEBUG("Fixing orphan {0x%"PRIx32", 0x%"PRIx32"}", + pdir.tail[0], pdir.tail[1]); + + // steal state + err = lfs_dir_getgstate(lfs, &dir, &lfs->gdelta); + if (err) { + return err; + } + + // steal tail + lfs_pair_tole32(dir.tail); + int state = lfs_dir_orphaningcommit(lfs, &pdir, LFS_MKATTRS( + {LFS_MKTAG(LFS_TYPE_TAIL + dir.split, 0x3ff, 8), + dir.tail})); + lfs_pair_fromle32(dir.tail); + if (state < 0) { + return state; + } + + // did our commit create more orphans? + if (state == LFS_OK_ORPHANED) { + moreorphans = true; + } + + // refetch tail + continue; + } + } + + pdir = dir; + } + + pass = moreorphans ? 0 : pass+1; + } + + // mark orphans as fixed + return lfs_fs_preporphans(lfs, -lfs_gstate_getorphans(&lfs->gstate)); +} +#endif + +#ifndef LFS_READONLY +static int lfs_fs_forceconsistency(lfs_t *lfs) { + int err = lfs_fs_desuperblock(lfs); + if (err) { + return err; + } + + err = lfs_fs_demove(lfs); + if (err) { + return err; + } + + err = lfs_fs_deorphan(lfs, true); + if (err) { + return err; + } + + return 0; +} +#endif + +#ifndef LFS_READONLY +static int lfs_fs_mkconsistent_(lfs_t *lfs) { + // lfs_fs_forceconsistency does most of the work here + int err = lfs_fs_forceconsistency(lfs); + if (err) { + return err; + } + + // do we have any pending gstate? + lfs_gstate_t delta = {0}; + lfs_gstate_xor(&delta, &lfs->gdisk); + lfs_gstate_xor(&delta, &lfs->gstate); + if (!lfs_gstate_iszero(&delta)) { + // lfs_dir_commit will implicitly write out any pending gstate + lfs_mdir_t root; + err = lfs_dir_fetch(lfs, &root, lfs->root); + if (err) { + return err; + } + + err = lfs_dir_commit(lfs, &root, NULL, 0); + if (err) { + return err; + } + } + + return 0; +} +#endif + +static int lfs_fs_size_count(void *p, lfs_block_t block) { + (void)block; + lfs_size_t *size = p; + *size += 1; + return 0; +} + +static lfs_ssize_t lfs_fs_size_(lfs_t *lfs) { + lfs_size_t size = 0; + int err = lfs_fs_traverse_(lfs, lfs_fs_size_count, &size, false); + if (err) { + return err; + } + + return size; +} + +// explicit garbage collection +#ifndef LFS_READONLY +static int lfs_fs_gc_(lfs_t *lfs) { + // force consistency, even if we're not necessarily going to write, + // because this function is supposed to take care of janitorial work + // isn't it? + int err = lfs_fs_forceconsistency(lfs); + if (err) { + return err; + } + + // try to compact metadata pairs, note we can't really accomplish + // anything if compact_thresh doesn't at least leave a prog_size + // available + if (lfs->cfg->compact_thresh + < lfs->cfg->block_size - lfs->cfg->prog_size) { + // iterate over all mdirs + lfs_mdir_t mdir = {.tail = {0, 1}}; + while (!lfs_pair_isnull(mdir.tail)) { + err = lfs_dir_fetch(lfs, &mdir, mdir.tail); + if (err) { + return err; + } + + // not erased? exceeds our compaction threshold? + if (!mdir.erased || ((lfs->cfg->compact_thresh == 0) + ? mdir.off > lfs->cfg->block_size - lfs->cfg->block_size/8 + : mdir.off > lfs->cfg->compact_thresh)) { + // the easiest way to trigger a compaction is to mark + // the mdir as unerased and add an empty commit + mdir.erased = false; + err = lfs_dir_commit(lfs, &mdir, NULL, 0); + if (err) { + return err; + } + } + } + } + + // try to populate the lookahead buffer, unless it's already full + if (lfs->lookahead.size < lfs_min( + 8 * lfs->cfg->lookahead_size, + lfs->block_count)) { + err = lfs_alloc_scan(lfs); + if (err) { + return err; + } + } + + return 0; +} +#endif + +#ifndef LFS_READONLY +#ifdef LFS_SHRINKNONRELOCATING +static int lfs_shrink_checkblock(void *data, lfs_block_t block) { + lfs_size_t threshold = *((lfs_size_t*)data); + if (block >= threshold) { + return LFS_ERR_NOTEMPTY; + } + return 0; +} +#endif + +static int lfs_fs_grow_(lfs_t *lfs, lfs_size_t block_count) { + int err; + + if (block_count == lfs->block_count) { + return 0; + } + + +#ifndef LFS_SHRINKNONRELOCATING + // shrinking is not supported + LFS_ASSERT(block_count >= lfs->block_count); +#endif +#ifdef LFS_SHRINKNONRELOCATING + if (block_count < lfs->block_count) { + err = lfs_fs_traverse_(lfs, lfs_shrink_checkblock, &block_count, true); + if (err) { + return err; + } + } +#endif + + lfs->block_count = block_count; + + // fetch the root + lfs_mdir_t root; + err = lfs_dir_fetch(lfs, &root, lfs->root); + if (err) { + return err; + } + + // update the superblock + lfs_superblock_t superblock; + lfs_stag_t tag = lfs_dir_get(lfs, &root, LFS_MKTAG(0x7ff, 0x3ff, 0), + LFS_MKTAG(LFS_TYPE_INLINESTRUCT, 0, sizeof(superblock)), + &superblock); + if (tag < 0) { + return tag; + } + lfs_superblock_fromle32(&superblock); + + superblock.block_count = lfs->block_count; + + lfs_superblock_tole32(&superblock); + err = lfs_dir_commit(lfs, &root, LFS_MKATTRS( + {tag, &superblock})); + if (err) { + return err; + } + return 0; +} +#endif + +#ifdef LFS_MIGRATE +////// Migration from littelfs v1 below this ////// + +/// Version info /// + +// Software library version +// Major (top-nibble), incremented on backwards incompatible changes +// Minor (bottom-nibble), incremented on feature additions +#define LFS1_VERSION 0x00010007 +#define LFS1_VERSION_MAJOR (0xffff & (LFS1_VERSION >> 16)) +#define LFS1_VERSION_MINOR (0xffff & (LFS1_VERSION >> 0)) + +// Version of On-disk data structures +// Major (top-nibble), incremented on backwards incompatible changes +// Minor (bottom-nibble), incremented on feature additions +#define LFS1_DISK_VERSION 0x00010001 +#define LFS1_DISK_VERSION_MAJOR (0xffff & (LFS1_DISK_VERSION >> 16)) +#define LFS1_DISK_VERSION_MINOR (0xffff & (LFS1_DISK_VERSION >> 0)) + + +/// v1 Definitions /// + +// File types +enum lfs1_type { + LFS1_TYPE_REG = 0x11, + LFS1_TYPE_DIR = 0x22, + LFS1_TYPE_SUPERBLOCK = 0x2e, +}; + +typedef struct lfs1 { + lfs_block_t root[2]; +} lfs1_t; + +typedef struct lfs1_entry { + lfs_off_t off; + + struct lfs1_disk_entry { + uint8_t type; + uint8_t elen; + uint8_t alen; + uint8_t nlen; + union { + struct { + lfs_block_t head; + lfs_size_t size; + } file; + lfs_block_t dir[2]; + } u; + } d; +} lfs1_entry_t; + +typedef struct lfs1_dir { + struct lfs1_dir *next; + lfs_block_t pair[2]; + lfs_off_t off; + + lfs_block_t head[2]; + lfs_off_t pos; + + struct lfs1_disk_dir { + uint32_t rev; + lfs_size_t size; + lfs_block_t tail[2]; + } d; +} lfs1_dir_t; + +typedef struct lfs1_superblock { + lfs_off_t off; + + struct lfs1_disk_superblock { + uint8_t type; + uint8_t elen; + uint8_t alen; + uint8_t nlen; + lfs_block_t root[2]; + uint32_t block_size; + uint32_t block_count; + uint32_t version; + char magic[8]; + } d; +} lfs1_superblock_t; + + +/// Low-level wrappers v1->v2 /// +static void lfs1_crc(uint32_t *crc, const void *buffer, size_t size) { + *crc = lfs_crc(*crc, buffer, size); +} + +static int lfs1_bd_read(lfs_t *lfs, lfs_block_t block, + lfs_off_t off, void *buffer, lfs_size_t size) { + // if we ever do more than writes to alternating pairs, + // this may need to consider pcache + return lfs_bd_read(lfs, &lfs->pcache, &lfs->rcache, size, + block, off, buffer, size); +} + +static int lfs1_bd_crc(lfs_t *lfs, lfs_block_t block, + lfs_off_t off, lfs_size_t size, uint32_t *crc) { + for (lfs_off_t i = 0; i < size; i++) { + uint8_t c; + int err = lfs1_bd_read(lfs, block, off+i, &c, 1); + if (err) { + return err; + } + + lfs1_crc(crc, &c, 1); + } + + return 0; +} + + +/// Endian swapping functions /// +static void lfs1_dir_fromle32(struct lfs1_disk_dir *d) { + d->rev = lfs_fromle32(d->rev); + d->size = lfs_fromle32(d->size); + d->tail[0] = lfs_fromle32(d->tail[0]); + d->tail[1] = lfs_fromle32(d->tail[1]); +} + +static void lfs1_dir_tole32(struct lfs1_disk_dir *d) { + d->rev = lfs_tole32(d->rev); + d->size = lfs_tole32(d->size); + d->tail[0] = lfs_tole32(d->tail[0]); + d->tail[1] = lfs_tole32(d->tail[1]); +} + +static void lfs1_entry_fromle32(struct lfs1_disk_entry *d) { + d->u.dir[0] = lfs_fromle32(d->u.dir[0]); + d->u.dir[1] = lfs_fromle32(d->u.dir[1]); +} + +static void lfs1_entry_tole32(struct lfs1_disk_entry *d) { + d->u.dir[0] = lfs_tole32(d->u.dir[0]); + d->u.dir[1] = lfs_tole32(d->u.dir[1]); +} + +static void lfs1_superblock_fromle32(struct lfs1_disk_superblock *d) { + d->root[0] = lfs_fromle32(d->root[0]); + d->root[1] = lfs_fromle32(d->root[1]); + d->block_size = lfs_fromle32(d->block_size); + d->block_count = lfs_fromle32(d->block_count); + d->version = lfs_fromle32(d->version); +} + + +///// Metadata pair and directory operations /// +static inline lfs_size_t lfs1_entry_size(const lfs1_entry_t *entry) { + return 4 + entry->d.elen + entry->d.alen + entry->d.nlen; +} + +static int lfs1_dir_fetch(lfs_t *lfs, + lfs1_dir_t *dir, const lfs_block_t pair[2]) { + // copy out pair, otherwise may be aliasing dir + const lfs_block_t tpair[2] = {pair[0], pair[1]}; + bool valid = false; + + // check both blocks for the most recent revision + for (int i = 0; i < 2; i++) { + struct lfs1_disk_dir test; + int err = lfs1_bd_read(lfs, tpair[i], 0, &test, sizeof(test)); + lfs1_dir_fromle32(&test); + if (err) { + if (err == LFS_ERR_CORRUPT) { + continue; + } + return err; + } + + if (valid && lfs_scmp(test.rev, dir->d.rev) < 0) { + continue; + } + + if ((0x7fffffff & test.size) < sizeof(test)+4 || + (0x7fffffff & test.size) > lfs->cfg->block_size) { + continue; + } + + uint32_t crc = 0xffffffff; + lfs1_dir_tole32(&test); + lfs1_crc(&crc, &test, sizeof(test)); + lfs1_dir_fromle32(&test); + err = lfs1_bd_crc(lfs, tpair[i], sizeof(test), + (0x7fffffff & test.size) - sizeof(test), &crc); + if (err) { + if (err == LFS_ERR_CORRUPT) { + continue; + } + return err; + } + + if (crc != 0) { + continue; + } + + valid = true; + + // setup dir in case it's valid + dir->pair[0] = tpair[(i+0) % 2]; + dir->pair[1] = tpair[(i+1) % 2]; + dir->off = sizeof(dir->d); + dir->d = test; + } + + if (!valid) { + LFS_ERROR("Corrupted dir pair at {0x%"PRIx32", 0x%"PRIx32"}", + tpair[0], tpair[1]); + return LFS_ERR_CORRUPT; + } + + return 0; +} + +static int lfs1_dir_next(lfs_t *lfs, lfs1_dir_t *dir, lfs1_entry_t *entry) { + while (dir->off + sizeof(entry->d) > (0x7fffffff & dir->d.size)-4) { + if (!(0x80000000 & dir->d.size)) { + entry->off = dir->off; + return LFS_ERR_NOENT; + } + + int err = lfs1_dir_fetch(lfs, dir, dir->d.tail); + if (err) { + return err; + } + + dir->off = sizeof(dir->d); + dir->pos += sizeof(dir->d) + 4; + } + + int err = lfs1_bd_read(lfs, dir->pair[0], dir->off, + &entry->d, sizeof(entry->d)); + lfs1_entry_fromle32(&entry->d); + if (err) { + return err; + } + + entry->off = dir->off; + dir->off += lfs1_entry_size(entry); + dir->pos += lfs1_entry_size(entry); + return 0; +} + +/// littlefs v1 specific operations /// +int lfs1_traverse(lfs_t *lfs, int (*cb)(void*, lfs_block_t), void *data) { + if (lfs_pair_isnull(lfs->lfs1->root)) { + return 0; + } + + // iterate over metadata pairs + lfs1_dir_t dir; + lfs1_entry_t entry; + lfs_block_t cwd[2] = {0, 1}; + + while (true) { + for (int i = 0; i < 2; i++) { + int err = cb(data, cwd[i]); + if (err) { + return err; + } + } + + int err = lfs1_dir_fetch(lfs, &dir, cwd); + if (err) { + return err; + } + + // iterate over contents + while (dir.off + sizeof(entry.d) <= (0x7fffffff & dir.d.size)-4) { + err = lfs1_bd_read(lfs, dir.pair[0], dir.off, + &entry.d, sizeof(entry.d)); + lfs1_entry_fromle32(&entry.d); + if (err) { + return err; + } + + dir.off += lfs1_entry_size(&entry); + if ((0x70 & entry.d.type) == (0x70 & LFS1_TYPE_REG)) { + err = lfs_ctz_traverse(lfs, NULL, &lfs->rcache, + entry.d.u.file.head, entry.d.u.file.size, cb, data); + if (err) { + return err; + } + } + } + + // we also need to check if we contain a threaded v2 directory + lfs_mdir_t dir2 = {.split=true, .tail={cwd[0], cwd[1]}}; + while (dir2.split) { + err = lfs_dir_fetch(lfs, &dir2, dir2.tail); + if (err) { + break; + } + + for (int i = 0; i < 2; i++) { + err = cb(data, dir2.pair[i]); + if (err) { + return err; + } + } + } + + cwd[0] = dir.d.tail[0]; + cwd[1] = dir.d.tail[1]; + + if (lfs_pair_isnull(cwd)) { + break; + } + } + + return 0; +} + +static int lfs1_moved(lfs_t *lfs, const void *e) { + if (lfs_pair_isnull(lfs->lfs1->root)) { + return 0; + } + + // skip superblock + lfs1_dir_t cwd; + int err = lfs1_dir_fetch(lfs, &cwd, (const lfs_block_t[2]){0, 1}); + if (err) { + return err; + } + + // iterate over all directory directory entries + lfs1_entry_t entry; + while (!lfs_pair_isnull(cwd.d.tail)) { + err = lfs1_dir_fetch(lfs, &cwd, cwd.d.tail); + if (err) { + return err; + } + + while (true) { + err = lfs1_dir_next(lfs, &cwd, &entry); + if (err && err != LFS_ERR_NOENT) { + return err; + } + + if (err == LFS_ERR_NOENT) { + break; + } + + if (!(0x80 & entry.d.type) && + memcmp(&entry.d.u, e, sizeof(entry.d.u)) == 0) { + return true; + } + } + } + + return false; +} + +/// Filesystem operations /// +static int lfs1_mount(lfs_t *lfs, struct lfs1 *lfs1, + const struct lfs_config *cfg) { + int err = 0; + { + err = lfs_init(lfs, cfg); + if (err) { + return err; + } + + lfs->lfs1 = lfs1; + lfs->lfs1->root[0] = LFS_BLOCK_NULL; + lfs->lfs1->root[1] = LFS_BLOCK_NULL; + + // setup free lookahead + lfs->lookahead.start = 0; + lfs->lookahead.size = 0; + lfs->lookahead.next = 0; + lfs_alloc_ckpoint(lfs); + + // load superblock + lfs1_dir_t dir; + lfs1_superblock_t superblock; + err = lfs1_dir_fetch(lfs, &dir, (const lfs_block_t[2]){0, 1}); + if (err && err != LFS_ERR_CORRUPT) { + goto cleanup; + } + + if (!err) { + err = lfs1_bd_read(lfs, dir.pair[0], sizeof(dir.d), + &superblock.d, sizeof(superblock.d)); + lfs1_superblock_fromle32(&superblock.d); + if (err) { + goto cleanup; + } + + lfs->lfs1->root[0] = superblock.d.root[0]; + lfs->lfs1->root[1] = superblock.d.root[1]; + } + + if (err || memcmp(superblock.d.magic, "littlefs", 8) != 0) { + LFS_ERROR("Invalid superblock at {0x%"PRIx32", 0x%"PRIx32"}", + 0, 1); + err = LFS_ERR_CORRUPT; + goto cleanup; + } + + uint16_t major_version = (0xffff & (superblock.d.version >> 16)); + uint16_t minor_version = (0xffff & (superblock.d.version >> 0)); + if ((major_version != LFS1_DISK_VERSION_MAJOR || + minor_version > LFS1_DISK_VERSION_MINOR)) { + LFS_ERROR("Invalid version v%d.%d", major_version, minor_version); + err = LFS_ERR_INVAL; + goto cleanup; + } + + return 0; + } + +cleanup: + lfs_deinit(lfs); + return err; +} + +static int lfs1_unmount(lfs_t *lfs) { + return lfs_deinit(lfs); +} + +/// v1 migration /// +static int lfs_migrate_(lfs_t *lfs, const struct lfs_config *cfg) { + struct lfs1 lfs1; + + // Indeterminate filesystem size not allowed for migration. + LFS_ASSERT(cfg->block_count != 0); + + int err = lfs1_mount(lfs, &lfs1, cfg); + if (err) { + return err; + } + + { + // iterate through each directory, copying over entries + // into new directory + lfs1_dir_t dir1; + lfs_mdir_t dir2; + dir1.d.tail[0] = lfs->lfs1->root[0]; + dir1.d.tail[1] = lfs->lfs1->root[1]; + while (!lfs_pair_isnull(dir1.d.tail)) { + // iterate old dir + err = lfs1_dir_fetch(lfs, &dir1, dir1.d.tail); + if (err) { + goto cleanup; + } + + // create new dir and bind as temporary pretend root + err = lfs_dir_alloc(lfs, &dir2); + if (err) { + goto cleanup; + } + + dir2.rev = dir1.d.rev; + dir1.head[0] = dir1.pair[0]; + dir1.head[1] = dir1.pair[1]; + lfs->root[0] = dir2.pair[0]; + lfs->root[1] = dir2.pair[1]; + + err = lfs_dir_commit(lfs, &dir2, NULL, 0); + if (err) { + goto cleanup; + } + + while (true) { + lfs1_entry_t entry1; + err = lfs1_dir_next(lfs, &dir1, &entry1); + if (err && err != LFS_ERR_NOENT) { + goto cleanup; + } + + if (err == LFS_ERR_NOENT) { + break; + } + + // check that entry has not been moved + if (entry1.d.type & 0x80) { + int moved = lfs1_moved(lfs, &entry1.d.u); + if (moved < 0) { + err = moved; + goto cleanup; + } + + if (moved) { + continue; + } + + entry1.d.type &= ~0x80; + } + + // also fetch name + char name[LFS_NAME_MAX+1]; + memset(name, 0, sizeof(name)); + err = lfs1_bd_read(lfs, dir1.pair[0], + entry1.off + 4+entry1.d.elen+entry1.d.alen, + name, entry1.d.nlen); + if (err) { + goto cleanup; + } + + bool isdir = (entry1.d.type == LFS1_TYPE_DIR); + + // create entry in new dir + err = lfs_dir_fetch(lfs, &dir2, lfs->root); + if (err) { + goto cleanup; + } + + uint16_t id; + err = lfs_dir_find(lfs, &dir2, &(const char*){name}, &id); + if (!(err == LFS_ERR_NOENT && id != 0x3ff)) { + err = (err < 0) ? err : LFS_ERR_EXIST; + goto cleanup; + } + + lfs1_entry_tole32(&entry1.d); + err = lfs_dir_commit(lfs, &dir2, LFS_MKATTRS( + {LFS_MKTAG(LFS_TYPE_CREATE, id, 0), NULL}, + {LFS_MKTAG_IF_ELSE(isdir, + LFS_TYPE_DIR, id, entry1.d.nlen, + LFS_TYPE_REG, id, entry1.d.nlen), + name}, + {LFS_MKTAG_IF_ELSE(isdir, + LFS_TYPE_DIRSTRUCT, id, sizeof(entry1.d.u), + LFS_TYPE_CTZSTRUCT, id, sizeof(entry1.d.u)), + &entry1.d.u})); + lfs1_entry_fromle32(&entry1.d); + if (err) { + goto cleanup; + } + } + + if (!lfs_pair_isnull(dir1.d.tail)) { + // find last block and update tail to thread into fs + err = lfs_dir_fetch(lfs, &dir2, lfs->root); + if (err) { + goto cleanup; + } + + while (dir2.split) { + err = lfs_dir_fetch(lfs, &dir2, dir2.tail); + if (err) { + goto cleanup; + } + } + + lfs_pair_tole32(dir2.pair); + err = lfs_dir_commit(lfs, &dir2, LFS_MKATTRS( + {LFS_MKTAG(LFS_TYPE_SOFTTAIL, 0x3ff, 8), dir1.d.tail})); + lfs_pair_fromle32(dir2.pair); + if (err) { + goto cleanup; + } + } + + // Copy over first block to thread into fs. Unfortunately + // if this fails there is not much we can do. + LFS_DEBUG("Migrating {0x%"PRIx32", 0x%"PRIx32"} " + "-> {0x%"PRIx32", 0x%"PRIx32"}", + lfs->root[0], lfs->root[1], dir1.head[0], dir1.head[1]); + + err = lfs_bd_erase(lfs, dir1.head[1]); + if (err) { + goto cleanup; + } + + err = lfs_dir_fetch(lfs, &dir2, lfs->root); + if (err) { + goto cleanup; + } + + for (lfs_off_t i = 0; i < dir2.off; i++) { + uint8_t dat; + err = lfs_bd_read(lfs, + NULL, &lfs->rcache, dir2.off, + dir2.pair[0], i, &dat, 1); + if (err) { + goto cleanup; + } + + err = lfs_bd_prog(lfs, + &lfs->pcache, &lfs->rcache, true, + dir1.head[1], i, &dat, 1); + if (err) { + goto cleanup; + } + } + + err = lfs_bd_flush(lfs, &lfs->pcache, &lfs->rcache, true); + if (err) { + goto cleanup; + } + } + + // Create new superblock. This marks a successful migration! + err = lfs1_dir_fetch(lfs, &dir1, (const lfs_block_t[2]){0, 1}); + if (err) { + goto cleanup; + } + + dir2.pair[0] = dir1.pair[0]; + dir2.pair[1] = dir1.pair[1]; + dir2.rev = dir1.d.rev; + dir2.off = sizeof(dir2.rev); + dir2.etag = 0xffffffff; + dir2.count = 0; + dir2.tail[0] = lfs->lfs1->root[0]; + dir2.tail[1] = lfs->lfs1->root[1]; + dir2.erased = false; + dir2.split = true; + + lfs_superblock_t superblock = { + .version = LFS_DISK_VERSION, + .block_size = lfs->cfg->block_size, + .block_count = lfs->cfg->block_count, + .name_max = lfs->name_max, + .file_max = lfs->file_max, + .attr_max = lfs->attr_max, + }; + + lfs_superblock_tole32(&superblock); + err = lfs_dir_commit(lfs, &dir2, LFS_MKATTRS( + {LFS_MKTAG(LFS_TYPE_CREATE, 0, 0), NULL}, + {LFS_MKTAG(LFS_TYPE_SUPERBLOCK, 0, 8), "littlefs"}, + {LFS_MKTAG(LFS_TYPE_INLINESTRUCT, 0, sizeof(superblock)), + &superblock})); + if (err) { + goto cleanup; + } + + // sanity check that fetch works + err = lfs_dir_fetch(lfs, &dir2, (const lfs_block_t[2]){0, 1}); + if (err) { + goto cleanup; + } + + // force compaction to prevent accidentally mounting v1 + dir2.erased = false; + err = lfs_dir_commit(lfs, &dir2, NULL, 0); + if (err) { + goto cleanup; + } + } + +cleanup: + lfs1_unmount(lfs); + return err; +} + +#endif + + +/// Public API wrappers /// + +// Here we can add tracing/thread safety easily + +// Thread-safe wrappers if enabled +#ifdef LFS_THREADSAFE +#define LFS_LOCK(cfg) cfg->lock(cfg) +#define LFS_UNLOCK(cfg) cfg->unlock(cfg) +#else +#define LFS_LOCK(cfg) ((void)cfg, 0) +#define LFS_UNLOCK(cfg) ((void)cfg) +#endif + +// Public API +#ifndef LFS_READONLY +int lfs_format(lfs_t *lfs, const struct lfs_config *cfg) { + int err = LFS_LOCK(cfg); + if (err) { + return err; + } + LFS_TRACE("lfs_format(%p, %p {.context=%p, " + ".read=%p, .prog=%p, .erase=%p, .sync=%p, " + ".read_size=%"PRIu32", .prog_size=%"PRIu32", " + ".block_size=%"PRIu32", .block_count=%"PRIu32", " + ".block_cycles=%"PRId32", .cache_size=%"PRIu32", " + ".lookahead_size=%"PRIu32", .read_buffer=%p, " + ".prog_buffer=%p, .lookahead_buffer=%p, " + ".name_max=%"PRIu32", .file_max=%"PRIu32", " + ".attr_max=%"PRIu32"})", + (void*)lfs, (void*)cfg, cfg->context, + (void*)(uintptr_t)cfg->read, (void*)(uintptr_t)cfg->prog, + (void*)(uintptr_t)cfg->erase, (void*)(uintptr_t)cfg->sync, + cfg->read_size, cfg->prog_size, cfg->block_size, cfg->block_count, + cfg->block_cycles, cfg->cache_size, cfg->lookahead_size, + cfg->read_buffer, cfg->prog_buffer, cfg->lookahead_buffer, + cfg->name_max, cfg->file_max, cfg->attr_max); + + err = lfs_format_(lfs, cfg); + + LFS_TRACE("lfs_format -> %d", err); + LFS_UNLOCK(cfg); + return err; +} +#endif + +int lfs_mount(lfs_t *lfs, const struct lfs_config *cfg) { + int err = LFS_LOCK(cfg); + if (err) { + return err; + } + LFS_TRACE("lfs_mount(%p, %p {.context=%p, " + ".read=%p, .prog=%p, .erase=%p, .sync=%p, " + ".read_size=%"PRIu32", .prog_size=%"PRIu32", " + ".block_size=%"PRIu32", .block_count=%"PRIu32", " + ".block_cycles=%"PRId32", .cache_size=%"PRIu32", " + ".lookahead_size=%"PRIu32", .read_buffer=%p, " + ".prog_buffer=%p, .lookahead_buffer=%p, " + ".name_max=%"PRIu32", .file_max=%"PRIu32", " + ".attr_max=%"PRIu32"})", + (void*)lfs, (void*)cfg, cfg->context, + (void*)(uintptr_t)cfg->read, (void*)(uintptr_t)cfg->prog, + (void*)(uintptr_t)cfg->erase, (void*)(uintptr_t)cfg->sync, + cfg->read_size, cfg->prog_size, cfg->block_size, cfg->block_count, + cfg->block_cycles, cfg->cache_size, cfg->lookahead_size, + cfg->read_buffer, cfg->prog_buffer, cfg->lookahead_buffer, + cfg->name_max, cfg->file_max, cfg->attr_max); + + err = lfs_mount_(lfs, cfg); + + LFS_TRACE("lfs_mount -> %d", err); + LFS_UNLOCK(cfg); + return err; +} + +int lfs_unmount(lfs_t *lfs) { + int err = LFS_LOCK(lfs->cfg); + if (err) { + return err; + } + LFS_TRACE("lfs_unmount(%p)", (void*)lfs); + + err = lfs_unmount_(lfs); + + LFS_TRACE("lfs_unmount -> %d", err); + LFS_UNLOCK(lfs->cfg); + return err; +} + +#ifndef LFS_READONLY +int lfs_remove(lfs_t *lfs, const char *path) { + int err = LFS_LOCK(lfs->cfg); + if (err) { + return err; + } + LFS_TRACE("lfs_remove(%p, \"%s\")", (void*)lfs, path); + + err = lfs_remove_(lfs, path); + + LFS_TRACE("lfs_remove -> %d", err); + LFS_UNLOCK(lfs->cfg); + return err; +} +#endif + +#ifndef LFS_READONLY +int lfs_rename(lfs_t *lfs, const char *oldpath, const char *newpath) { + int err = LFS_LOCK(lfs->cfg); + if (err) { + return err; + } + LFS_TRACE("lfs_rename(%p, \"%s\", \"%s\")", (void*)lfs, oldpath, newpath); + + err = lfs_rename_(lfs, oldpath, newpath); + + LFS_TRACE("lfs_rename -> %d", err); + LFS_UNLOCK(lfs->cfg); + return err; +} +#endif + +int lfs_stat(lfs_t *lfs, const char *path, struct lfs_info *info) { + int err = LFS_LOCK(lfs->cfg); + if (err) { + return err; + } + LFS_TRACE("lfs_stat(%p, \"%s\", %p)", (void*)lfs, path, (void*)info); + + err = lfs_stat_(lfs, path, info); + + LFS_TRACE("lfs_stat -> %d", err); + LFS_UNLOCK(lfs->cfg); + return err; +} + +lfs_ssize_t lfs_getattr(lfs_t *lfs, const char *path, + uint8_t type, void *buffer, lfs_size_t size) { + int err = LFS_LOCK(lfs->cfg); + if (err) { + return err; + } + LFS_TRACE("lfs_getattr(%p, \"%s\", %"PRIu8", %p, %"PRIu32")", + (void*)lfs, path, type, buffer, size); + + lfs_ssize_t res = lfs_getattr_(lfs, path, type, buffer, size); + + LFS_TRACE("lfs_getattr -> %"PRId32, res); + LFS_UNLOCK(lfs->cfg); + return res; +} + +#ifndef LFS_READONLY +int lfs_setattr(lfs_t *lfs, const char *path, + uint8_t type, const void *buffer, lfs_size_t size) { + int err = LFS_LOCK(lfs->cfg); + if (err) { + return err; + } + LFS_TRACE("lfs_setattr(%p, \"%s\", %"PRIu8", %p, %"PRIu32")", + (void*)lfs, path, type, buffer, size); + + err = lfs_setattr_(lfs, path, type, buffer, size); + + LFS_TRACE("lfs_setattr -> %d", err); + LFS_UNLOCK(lfs->cfg); + return err; +} +#endif + +#ifndef LFS_READONLY +int lfs_removeattr(lfs_t *lfs, const char *path, uint8_t type) { + int err = LFS_LOCK(lfs->cfg); + if (err) { + return err; + } + LFS_TRACE("lfs_removeattr(%p, \"%s\", %"PRIu8")", (void*)lfs, path, type); + + err = lfs_removeattr_(lfs, path, type); + + LFS_TRACE("lfs_removeattr -> %d", err); + LFS_UNLOCK(lfs->cfg); + return err; +} +#endif + +#ifndef LFS_NO_MALLOC +int lfs_file_open(lfs_t *lfs, lfs_file_t *file, const char *path, int flags) { + int err = LFS_LOCK(lfs->cfg); + if (err) { + return err; + } + LFS_TRACE("lfs_file_open(%p, %p, \"%s\", %x)", + (void*)lfs, (void*)file, path, (unsigned)flags); + LFS_ASSERT(!lfs_mlist_isopen(lfs->mlist, (struct lfs_mlist*)file)); + + err = lfs_file_open_(lfs, file, path, flags); + + LFS_TRACE("lfs_file_open -> %d", err); + LFS_UNLOCK(lfs->cfg); + return err; +} +#endif + +int lfs_file_opencfg(lfs_t *lfs, lfs_file_t *file, + const char *path, int flags, + const struct lfs_file_config *cfg) { + int err = LFS_LOCK(lfs->cfg); + if (err) { + return err; + } + LFS_TRACE("lfs_file_opencfg(%p, %p, \"%s\", %x, %p {" + ".buffer=%p, .attrs=%p, .attr_count=%"PRIu32"})", + (void*)lfs, (void*)file, path, (unsigned)flags, + (void*)cfg, cfg->buffer, (void*)cfg->attrs, cfg->attr_count); + LFS_ASSERT(!lfs_mlist_isopen(lfs->mlist, (struct lfs_mlist*)file)); + + err = lfs_file_opencfg_(lfs, file, path, flags, cfg); + + LFS_TRACE("lfs_file_opencfg -> %d", err); + LFS_UNLOCK(lfs->cfg); + return err; +} + +int lfs_file_close(lfs_t *lfs, lfs_file_t *file) { + int err = LFS_LOCK(lfs->cfg); + if (err) { + return err; + } + LFS_TRACE("lfs_file_close(%p, %p)", (void*)lfs, (void*)file); + LFS_ASSERT(lfs_mlist_isopen(lfs->mlist, (struct lfs_mlist*)file)); + + err = lfs_file_close_(lfs, file); + + LFS_TRACE("lfs_file_close -> %d", err); + LFS_UNLOCK(lfs->cfg); + return err; +} + +#ifndef LFS_READONLY +int lfs_file_sync(lfs_t *lfs, lfs_file_t *file) { + int err = LFS_LOCK(lfs->cfg); + if (err) { + return err; + } + LFS_TRACE("lfs_file_sync(%p, %p)", (void*)lfs, (void*)file); + LFS_ASSERT(lfs_mlist_isopen(lfs->mlist, (struct lfs_mlist*)file)); + + err = lfs_file_sync_(lfs, file); + + LFS_TRACE("lfs_file_sync -> %d", err); + LFS_UNLOCK(lfs->cfg); + return err; +} +#endif + +lfs_ssize_t lfs_file_read(lfs_t *lfs, lfs_file_t *file, + void *buffer, lfs_size_t size) { + int err = LFS_LOCK(lfs->cfg); + if (err) { + return err; + } + LFS_TRACE("lfs_file_read(%p, %p, %p, %"PRIu32")", + (void*)lfs, (void*)file, buffer, size); + LFS_ASSERT(lfs_mlist_isopen(lfs->mlist, (struct lfs_mlist*)file)); + + lfs_ssize_t res = lfs_file_read_(lfs, file, buffer, size); + + LFS_TRACE("lfs_file_read -> %"PRId32, res); + LFS_UNLOCK(lfs->cfg); + return res; +} + +#ifndef LFS_READONLY +lfs_ssize_t lfs_file_write(lfs_t *lfs, lfs_file_t *file, + const void *buffer, lfs_size_t size) { + int err = LFS_LOCK(lfs->cfg); + if (err) { + return err; + } + LFS_TRACE("lfs_file_write(%p, %p, %p, %"PRIu32")", + (void*)lfs, (void*)file, buffer, size); + LFS_ASSERT(lfs_mlist_isopen(lfs->mlist, (struct lfs_mlist*)file)); + + lfs_ssize_t res = lfs_file_write_(lfs, file, buffer, size); + + LFS_TRACE("lfs_file_write -> %"PRId32, res); + LFS_UNLOCK(lfs->cfg); + return res; +} +#endif + +lfs_soff_t lfs_file_seek(lfs_t *lfs, lfs_file_t *file, + lfs_soff_t off, int whence) { + int err = LFS_LOCK(lfs->cfg); + if (err) { + return err; + } + LFS_TRACE("lfs_file_seek(%p, %p, %"PRId32", %d)", + (void*)lfs, (void*)file, off, whence); + LFS_ASSERT(lfs_mlist_isopen(lfs->mlist, (struct lfs_mlist*)file)); + + lfs_soff_t res = lfs_file_seek_(lfs, file, off, whence); + + LFS_TRACE("lfs_file_seek -> %"PRId32, res); + LFS_UNLOCK(lfs->cfg); + return res; +} + +#ifndef LFS_READONLY +int lfs_file_truncate(lfs_t *lfs, lfs_file_t *file, lfs_off_t size) { + int err = LFS_LOCK(lfs->cfg); + if (err) { + return err; + } + LFS_TRACE("lfs_file_truncate(%p, %p, %"PRIu32")", + (void*)lfs, (void*)file, size); + LFS_ASSERT(lfs_mlist_isopen(lfs->mlist, (struct lfs_mlist*)file)); + + err = lfs_file_truncate_(lfs, file, size); + + LFS_TRACE("lfs_file_truncate -> %d", err); + LFS_UNLOCK(lfs->cfg); + return err; +} +#endif + +lfs_soff_t lfs_file_tell(lfs_t *lfs, lfs_file_t *file) { + int err = LFS_LOCK(lfs->cfg); + if (err) { + return err; + } + LFS_TRACE("lfs_file_tell(%p, %p)", (void*)lfs, (void*)file); + LFS_ASSERT(lfs_mlist_isopen(lfs->mlist, (struct lfs_mlist*)file)); + + lfs_soff_t res = lfs_file_tell_(lfs, file); + + LFS_TRACE("lfs_file_tell -> %"PRId32, res); + LFS_UNLOCK(lfs->cfg); + return res; +} + +int lfs_file_rewind(lfs_t *lfs, lfs_file_t *file) { + int err = LFS_LOCK(lfs->cfg); + if (err) { + return err; + } + LFS_TRACE("lfs_file_rewind(%p, %p)", (void*)lfs, (void*)file); + + err = lfs_file_rewind_(lfs, file); + + LFS_TRACE("lfs_file_rewind -> %d", err); + LFS_UNLOCK(lfs->cfg); + return err; +} + +lfs_soff_t lfs_file_size(lfs_t *lfs, lfs_file_t *file) { + int err = LFS_LOCK(lfs->cfg); + if (err) { + return err; + } + LFS_TRACE("lfs_file_size(%p, %p)", (void*)lfs, (void*)file); + LFS_ASSERT(lfs_mlist_isopen(lfs->mlist, (struct lfs_mlist*)file)); + + lfs_soff_t res = lfs_file_size_(lfs, file); + + LFS_TRACE("lfs_file_size -> %"PRIu32, res); + LFS_UNLOCK(lfs->cfg); + return res; +} + +#ifndef LFS_READONLY +int lfs_mkdir(lfs_t *lfs, const char *path) { + int err = LFS_LOCK(lfs->cfg); + if (err) { + return err; + } + LFS_TRACE("lfs_mkdir(%p, \"%s\")", (void*)lfs, path); + + err = lfs_mkdir_(lfs, path); + + LFS_TRACE("lfs_mkdir -> %d", err); + LFS_UNLOCK(lfs->cfg); + return err; +} +#endif + +int lfs_dir_open(lfs_t *lfs, lfs_dir_t *dir, const char *path) { + int err = LFS_LOCK(lfs->cfg); + if (err) { + return err; + } + LFS_TRACE("lfs_dir_open(%p, %p, \"%s\")", (void*)lfs, (void*)dir, path); + LFS_ASSERT(!lfs_mlist_isopen(lfs->mlist, (struct lfs_mlist*)dir)); + + err = lfs_dir_open_(lfs, dir, path); + + LFS_TRACE("lfs_dir_open -> %d", err); + LFS_UNLOCK(lfs->cfg); + return err; +} + +int lfs_dir_close(lfs_t *lfs, lfs_dir_t *dir) { + int err = LFS_LOCK(lfs->cfg); + if (err) { + return err; + } + LFS_TRACE("lfs_dir_close(%p, %p)", (void*)lfs, (void*)dir); + + err = lfs_dir_close_(lfs, dir); + + LFS_TRACE("lfs_dir_close -> %d", err); + LFS_UNLOCK(lfs->cfg); + return err; +} + +int lfs_dir_read(lfs_t *lfs, lfs_dir_t *dir, struct lfs_info *info) { + int err = LFS_LOCK(lfs->cfg); + if (err) { + return err; + } + LFS_TRACE("lfs_dir_read(%p, %p, %p)", + (void*)lfs, (void*)dir, (void*)info); + + err = lfs_dir_read_(lfs, dir, info); + + LFS_TRACE("lfs_dir_read -> %d", err); + LFS_UNLOCK(lfs->cfg); + return err; +} + +int lfs_dir_seek(lfs_t *lfs, lfs_dir_t *dir, lfs_off_t off) { + int err = LFS_LOCK(lfs->cfg); + if (err) { + return err; + } + LFS_TRACE("lfs_dir_seek(%p, %p, %"PRIu32")", + (void*)lfs, (void*)dir, off); + + err = lfs_dir_seek_(lfs, dir, off); + + LFS_TRACE("lfs_dir_seek -> %d", err); + LFS_UNLOCK(lfs->cfg); + return err; +} + +lfs_soff_t lfs_dir_tell(lfs_t *lfs, lfs_dir_t *dir) { + int err = LFS_LOCK(lfs->cfg); + if (err) { + return err; + } + LFS_TRACE("lfs_dir_tell(%p, %p)", (void*)lfs, (void*)dir); + + lfs_soff_t res = lfs_dir_tell_(lfs, dir); + + LFS_TRACE("lfs_dir_tell -> %"PRId32, res); + LFS_UNLOCK(lfs->cfg); + return res; +} + +int lfs_dir_rewind(lfs_t *lfs, lfs_dir_t *dir) { + int err = LFS_LOCK(lfs->cfg); + if (err) { + return err; + } + LFS_TRACE("lfs_dir_rewind(%p, %p)", (void*)lfs, (void*)dir); + + err = lfs_dir_rewind_(lfs, dir); + + LFS_TRACE("lfs_dir_rewind -> %d", err); + LFS_UNLOCK(lfs->cfg); + return err; +} + +int lfs_fs_stat(lfs_t *lfs, struct lfs_fsinfo *fsinfo) { + int err = LFS_LOCK(lfs->cfg); + if (err) { + return err; + } + LFS_TRACE("lfs_fs_stat(%p, %p)", (void*)lfs, (void*)fsinfo); + + err = lfs_fs_stat_(lfs, fsinfo); + + LFS_TRACE("lfs_fs_stat -> %d", err); + LFS_UNLOCK(lfs->cfg); + return err; +} + +lfs_ssize_t lfs_fs_size(lfs_t *lfs) { + int err = LFS_LOCK(lfs->cfg); + if (err) { + return err; + } + LFS_TRACE("lfs_fs_size(%p)", (void*)lfs); + + lfs_ssize_t res = lfs_fs_size_(lfs); + + LFS_TRACE("lfs_fs_size -> %"PRId32, res); + LFS_UNLOCK(lfs->cfg); + return res; +} + +int lfs_fs_traverse(lfs_t *lfs, int (*cb)(void *, lfs_block_t), void *data) { + int err = LFS_LOCK(lfs->cfg); + if (err) { + return err; + } + LFS_TRACE("lfs_fs_traverse(%p, %p, %p)", + (void*)lfs, (void*)(uintptr_t)cb, data); + + err = lfs_fs_traverse_(lfs, cb, data, true); + + LFS_TRACE("lfs_fs_traverse -> %d", err); + LFS_UNLOCK(lfs->cfg); + return err; +} + +#ifndef LFS_READONLY +int lfs_fs_mkconsistent(lfs_t *lfs) { + int err = LFS_LOCK(lfs->cfg); + if (err) { + return err; + } + LFS_TRACE("lfs_fs_mkconsistent(%p)", (void*)lfs); + + err = lfs_fs_mkconsistent_(lfs); + + LFS_TRACE("lfs_fs_mkconsistent -> %d", err); + LFS_UNLOCK(lfs->cfg); + return err; +} +#endif + +#ifndef LFS_READONLY +int lfs_fs_gc(lfs_t *lfs) { + int err = LFS_LOCK(lfs->cfg); + if (err) { + return err; + } + LFS_TRACE("lfs_fs_gc(%p)", (void*)lfs); + + err = lfs_fs_gc_(lfs); + + LFS_TRACE("lfs_fs_gc -> %d", err); + LFS_UNLOCK(lfs->cfg); + return err; +} +#endif + +#ifndef LFS_READONLY +int lfs_fs_grow(lfs_t *lfs, lfs_size_t block_count) { + int err = LFS_LOCK(lfs->cfg); + if (err) { + return err; + } + LFS_TRACE("lfs_fs_grow(%p, %"PRIu32")", (void*)lfs, block_count); + + err = lfs_fs_grow_(lfs, block_count); + + LFS_TRACE("lfs_fs_grow -> %d", err); + LFS_UNLOCK(lfs->cfg); + return err; +} +#endif + +#ifdef LFS_MIGRATE +int lfs_migrate(lfs_t *lfs, const struct lfs_config *cfg) { + int err = LFS_LOCK(cfg); + if (err) { + return err; + } + LFS_TRACE("lfs_migrate(%p, %p {.context=%p, " + ".read=%p, .prog=%p, .erase=%p, .sync=%p, " + ".read_size=%"PRIu32", .prog_size=%"PRIu32", " + ".block_size=%"PRIu32", .block_count=%"PRIu32", " + ".block_cycles=%"PRId32", .cache_size=%"PRIu32", " + ".lookahead_size=%"PRIu32", .read_buffer=%p, " + ".prog_buffer=%p, .lookahead_buffer=%p, " + ".name_max=%"PRIu32", .file_max=%"PRIu32", " + ".attr_max=%"PRIu32"})", + (void*)lfs, (void*)cfg, cfg->context, + (void*)(uintptr_t)cfg->read, (void*)(uintptr_t)cfg->prog, + (void*)(uintptr_t)cfg->erase, (void*)(uintptr_t)cfg->sync, + cfg->read_size, cfg->prog_size, cfg->block_size, cfg->block_count, + cfg->block_cycles, cfg->cache_size, cfg->lookahead_size, + cfg->read_buffer, cfg->prog_buffer, cfg->lookahead_buffer, + cfg->name_max, cfg->file_max, cfg->attr_max); + + err = lfs_migrate_(lfs, cfg); + + LFS_TRACE("lfs_migrate -> %d", err); + LFS_UNLOCK(cfg); + return err; +} +#endif + diff --git a/components/littlefs/lfs.h b/components/littlefs/lfs.h new file mode 100644 index 00000000..8fbd5b47 --- /dev/null +++ b/components/littlefs/lfs.h @@ -0,0 +1,802 @@ +/* + * The little filesystem + * + * Copyright (c) 2022, The littlefs authors. + * Copyright (c) 2017, Arm Limited. All rights reserved. + * SPDX-License-Identifier: BSD-3-Clause + */ +#ifndef LFS_H +#define LFS_H + +#include "lfs_util.h" + +#ifdef __cplusplus +extern "C" +{ +#endif + + +/// Version info /// + +// Software library version +// Major (top-nibble), incremented on backwards incompatible changes +// Minor (bottom-nibble), incremented on feature additions +#define LFS_VERSION 0x0002000b +#define LFS_VERSION_MAJOR (0xffff & (LFS_VERSION >> 16)) +#define LFS_VERSION_MINOR (0xffff & (LFS_VERSION >> 0)) + +// Version of On-disk data structures +// Major (top-nibble), incremented on backwards incompatible changes +// Minor (bottom-nibble), incremented on feature additions +#define LFS_DISK_VERSION 0x00020001 +#define LFS_DISK_VERSION_MAJOR (0xffff & (LFS_DISK_VERSION >> 16)) +#define LFS_DISK_VERSION_MINOR (0xffff & (LFS_DISK_VERSION >> 0)) + + +/// Definitions /// + +// Type definitions +typedef uint32_t lfs_size_t; +typedef uint32_t lfs_off_t; + +typedef int32_t lfs_ssize_t; +typedef int32_t lfs_soff_t; + +typedef uint32_t lfs_block_t; + +// Maximum name size in bytes, may be redefined to reduce the size of the +// info struct. Limited to <= 1022. Stored in superblock and must be +// respected by other littlefs drivers. +#ifndef LFS_NAME_MAX +#define LFS_NAME_MAX 255 +#endif + +// Maximum size of a file in bytes, may be redefined to limit to support other +// drivers. Limited on disk to <= 2147483647. Stored in superblock and must be +// respected by other littlefs drivers. +#ifndef LFS_FILE_MAX +#define LFS_FILE_MAX 2147483647 +#endif + +// Maximum size of custom attributes in bytes, may be redefined, but there is +// no real benefit to using a smaller LFS_ATTR_MAX. Limited to <= 1022. Stored +// in superblock and must be respected by other littlefs drivers. +#ifndef LFS_ATTR_MAX +#define LFS_ATTR_MAX 1022 +#endif + +// Possible error codes, these are negative to allow +// valid positive return values +enum lfs_error { + LFS_ERR_OK = 0, // No error + LFS_ERR_IO = -5, // Error during device operation + LFS_ERR_CORRUPT = -84, // Corrupted + LFS_ERR_NOENT = -2, // No directory entry + LFS_ERR_EXIST = -17, // Entry already exists + LFS_ERR_NOTDIR = -20, // Entry is not a dir + LFS_ERR_ISDIR = -21, // Entry is a dir + LFS_ERR_NOTEMPTY = -39, // Dir is not empty + LFS_ERR_BADF = -9, // Bad file number + LFS_ERR_FBIG = -27, // File too large + LFS_ERR_INVAL = -22, // Invalid parameter + LFS_ERR_NOSPC = -28, // No space left on device + LFS_ERR_NOMEM = -12, // No more memory available + LFS_ERR_NOATTR = -61, // No data/attr available + LFS_ERR_NAMETOOLONG = -36, // File name too long +}; + +// File types +enum lfs_type { + // file types + LFS_TYPE_REG = 0x001, + LFS_TYPE_DIR = 0x002, + + // internally used types + LFS_TYPE_SPLICE = 0x400, + LFS_TYPE_NAME = 0x000, + LFS_TYPE_STRUCT = 0x200, + LFS_TYPE_USERATTR = 0x300, + LFS_TYPE_FROM = 0x100, + LFS_TYPE_TAIL = 0x600, + LFS_TYPE_GLOBALS = 0x700, + LFS_TYPE_CRC = 0x500, + + // internally used type specializations + LFS_TYPE_CREATE = 0x401, + LFS_TYPE_DELETE = 0x4ff, + LFS_TYPE_SUPERBLOCK = 0x0ff, + LFS_TYPE_DIRSTRUCT = 0x200, + LFS_TYPE_CTZSTRUCT = 0x202, + LFS_TYPE_INLINESTRUCT = 0x201, + LFS_TYPE_SOFTTAIL = 0x600, + LFS_TYPE_HARDTAIL = 0x601, + LFS_TYPE_MOVESTATE = 0x7ff, + LFS_TYPE_CCRC = 0x500, + LFS_TYPE_FCRC = 0x5ff, + + // internal chip sources + LFS_FROM_NOOP = 0x000, + LFS_FROM_MOVE = 0x101, + LFS_FROM_USERATTRS = 0x102, +}; + +// File open flags +enum lfs_open_flags { + // open flags + LFS_O_RDONLY = 1, // Open a file as read only +#ifndef LFS_READONLY + LFS_O_WRONLY = 2, // Open a file as write only + LFS_O_RDWR = 3, // Open a file as read and write + LFS_O_CREAT = 0x0100, // Create a file if it does not exist + LFS_O_EXCL = 0x0200, // Fail if a file already exists + LFS_O_TRUNC = 0x0400, // Truncate the existing file to zero size + LFS_O_APPEND = 0x0800, // Move to end of file on every write +#endif + + // internally used flags +#ifndef LFS_READONLY + LFS_F_DIRTY = 0x00010000, // File does not match storage due to write + LFS_F_DUSTY = 0x00020000, // File does not match storage due to desync + LFS_F_WRITING = 0x00040000, // File has been written since last flush +#endif + LFS_F_READING = 0x00080000, // File has been read since last flush +#ifndef LFS_READONLY + LFS_F_ERRED = 0x00100000, // An error occurred during write +#endif + LFS_F_INLINE = 0x01000000, // Currently inlined in directory entry +}; + +// File seek flags +enum lfs_whence_flags { + LFS_SEEK_SET = 0, // Seek relative to an absolute position + LFS_SEEK_CUR = 1, // Seek relative to the current file position + LFS_SEEK_END = 2, // Seek relative to the end of the file +}; + + +// Configuration provided during initialization of the littlefs +struct lfs_config { + // Opaque user provided context that can be used to pass + // information to the block device operations + void *context; + + // Read a region in a block. Negative error codes are propagated + // to the user. + int (*read)(const struct lfs_config *c, lfs_block_t block, + lfs_off_t off, void *buffer, lfs_size_t size); + + // Program a region in a block. The block must have previously + // been erased. Negative error codes are propagated to the user. + // May return LFS_ERR_CORRUPT if the block should be considered bad. + int (*prog)(const struct lfs_config *c, lfs_block_t block, + lfs_off_t off, const void *buffer, lfs_size_t size); + + // Erase a block. A block must be erased before being programmed. + // The state of an erased block is undefined. Negative error codes + // are propagated to the user. + // May return LFS_ERR_CORRUPT if the block should be considered bad. + int (*erase)(const struct lfs_config *c, lfs_block_t block); + + // Sync the state of the underlying block device. Negative error codes + // are propagated to the user. + int (*sync)(const struct lfs_config *c); + +#ifdef LFS_THREADSAFE + // Lock the underlying block device. Negative error codes + // are propagated to the user. + int (*lock)(const struct lfs_config *c); + + // Unlock the underlying block device. Negative error codes + // are propagated to the user. + int (*unlock)(const struct lfs_config *c); +#endif + + // Minimum size of a block read in bytes. All read operations will be a + // multiple of this value. + lfs_size_t read_size; + + // Minimum size of a block program in bytes. All program operations will be + // a multiple of this value. + lfs_size_t prog_size; + + // Size of an erasable block in bytes. This does not impact ram consumption + // and may be larger than the physical erase size. However, non-inlined + // files take up at minimum one block. Must be a multiple of the read and + // program sizes. + lfs_size_t block_size; + + // Number of erasable blocks on the device. Defaults to block_count stored + // on disk when zero. + lfs_size_t block_count; + + // Number of erase cycles before littlefs evicts metadata logs and moves + // the metadata to another block. Suggested values are in the + // range 100-1000, with large values having better performance at the cost + // of less consistent wear distribution. + // + // Set to -1 to disable block-level wear-leveling. + int32_t block_cycles; + + // Size of block caches in bytes. Each cache buffers a portion of a block in + // RAM. The littlefs needs a read cache, a program cache, and one additional + // cache per file. Larger caches can improve performance by storing more + // data and reducing the number of disk accesses. Must be a multiple of the + // read and program sizes, and a factor of the block size. + lfs_size_t cache_size; + + // Size of the lookahead buffer in bytes. A larger lookahead buffer + // increases the number of blocks found during an allocation pass. The + // lookahead buffer is stored as a compact bitmap, so each byte of RAM + // can track 8 blocks. + lfs_size_t lookahead_size; + + // Threshold for metadata compaction during lfs_fs_gc in bytes. Metadata + // pairs that exceed this threshold will be compacted during lfs_fs_gc. + // Defaults to ~88% block_size when zero, though the default may change + // in the future. + // + // Note this only affects lfs_fs_gc. Normal compactions still only occur + // when full. + // + // Set to -1 to disable metadata compaction during lfs_fs_gc. + lfs_size_t compact_thresh; + + // Optional statically allocated read buffer. Must be cache_size. + // By default lfs_malloc is used to allocate this buffer. + void *read_buffer; + + // Optional statically allocated program buffer. Must be cache_size. + // By default lfs_malloc is used to allocate this buffer. + void *prog_buffer; + + // Optional statically allocated lookahead buffer. Must be lookahead_size. + // By default lfs_malloc is used to allocate this buffer. + void *lookahead_buffer; + + // Optional upper limit on length of file names in bytes. No downside for + // larger names except the size of the info struct which is controlled by + // the LFS_NAME_MAX define. Defaults to LFS_NAME_MAX or name_max stored on + // disk when zero. + lfs_size_t name_max; + + // Optional upper limit on files in bytes. No downside for larger files + // but must be <= LFS_FILE_MAX. Defaults to LFS_FILE_MAX or file_max stored + // on disk when zero. + lfs_size_t file_max; + + // Optional upper limit on custom attributes in bytes. No downside for + // larger attributes size but must be <= LFS_ATTR_MAX. Defaults to + // LFS_ATTR_MAX or attr_max stored on disk when zero. + lfs_size_t attr_max; + + // Optional upper limit on total space given to metadata pairs in bytes. On + // devices with large blocks (e.g. 128kB) setting this to a low size (2-8kB) + // can help bound the metadata compaction time. Must be <= block_size. + // Defaults to block_size when zero. + lfs_size_t metadata_max; + + // Optional upper limit on inlined files in bytes. Inlined files live in + // metadata and decrease storage requirements, but may be limited to + // improve metadata-related performance. Must be <= cache_size, <= + // attr_max, and <= block_size/8. Defaults to the largest possible + // inline_max when zero. + // + // Set to -1 to disable inlined files. + lfs_size_t inline_max; + +#ifdef LFS_MULTIVERSION + // On-disk version to use when writing in the form of 16-bit major version + // + 16-bit minor version. This limiting metadata to what is supported by + // older minor versions. Note that some features will be lost. Defaults to + // to the most recent minor version when zero. + uint32_t disk_version; +#endif +}; + +// File info structure +struct lfs_info { + // Type of the file, either LFS_TYPE_REG or LFS_TYPE_DIR + uint8_t type; + + // Size of the file, only valid for REG files. Limited to 32-bits. + lfs_size_t size; + + // Name of the file stored as a null-terminated string. Limited to + // LFS_NAME_MAX+1, which can be changed by redefining LFS_NAME_MAX to + // reduce RAM. LFS_NAME_MAX is stored in superblock and must be + // respected by other littlefs drivers. + char name[LFS_NAME_MAX+1]; +}; + +// Filesystem info structure +struct lfs_fsinfo { + // On-disk version. + uint32_t disk_version; + + // Size of a logical block in bytes. + lfs_size_t block_size; + + // Number of logical blocks in filesystem. + lfs_size_t block_count; + + // Upper limit on the length of file names in bytes. + lfs_size_t name_max; + + // Upper limit on the size of files in bytes. + lfs_size_t file_max; + + // Upper limit on the size of custom attributes in bytes. + lfs_size_t attr_max; +}; + +// Custom attribute structure, used to describe custom attributes +// committed atomically during file writes. +struct lfs_attr { + // 8-bit type of attribute, provided by user and used to + // identify the attribute + uint8_t type; + + // Pointer to buffer containing the attribute + void *buffer; + + // Size of attribute in bytes, limited to LFS_ATTR_MAX + lfs_size_t size; +}; + +// Optional configuration provided during lfs_file_opencfg +struct lfs_file_config { + // Optional statically allocated file buffer. Must be cache_size. + // By default lfs_malloc is used to allocate this buffer. + void *buffer; + + // Optional list of custom attributes related to the file. If the file + // is opened with read access, these attributes will be read from disk + // during the open call. If the file is opened with write access, the + // attributes will be written to disk every file sync or close. This + // write occurs atomically with update to the file's contents. + // + // Custom attributes are uniquely identified by an 8-bit type and limited + // to LFS_ATTR_MAX bytes. When read, if the stored attribute is smaller + // than the buffer, it will be padded with zeros. If the stored attribute + // is larger, then it will be silently truncated. If the attribute is not + // found, it will be created implicitly. + struct lfs_attr *attrs; + + // Number of custom attributes in the list + lfs_size_t attr_count; +}; + + +/// internal littlefs data structures /// +typedef struct lfs_cache { + lfs_block_t block; + lfs_off_t off; + lfs_size_t size; + uint8_t *buffer; +} lfs_cache_t; + +typedef struct lfs_mdir { + lfs_block_t pair[2]; + uint32_t rev; + lfs_off_t off; + uint32_t etag; + uint16_t count; + bool erased; + bool split; + lfs_block_t tail[2]; +} lfs_mdir_t; + +// littlefs directory type +typedef struct lfs_dir { + struct lfs_dir *next; + uint16_t id; + uint8_t type; + lfs_mdir_t m; + + lfs_off_t pos; + lfs_block_t head[2]; +} lfs_dir_t; + +// littlefs file type +typedef struct lfs_file { + struct lfs_file *next; + uint16_t id; + uint8_t type; + lfs_mdir_t m; + + struct lfs_ctz { + lfs_block_t head; + lfs_size_t size; + } ctz; + + uint32_t flags; + lfs_off_t pos; + lfs_block_t block; + lfs_off_t off; + lfs_cache_t cache; + + const struct lfs_file_config *cfg; +} lfs_file_t; + +typedef struct lfs_superblock { + uint32_t version; + lfs_size_t block_size; + lfs_size_t block_count; + lfs_size_t name_max; + lfs_size_t file_max; + lfs_size_t attr_max; +} lfs_superblock_t; + +typedef struct lfs_gstate { + uint32_t tag; + lfs_block_t pair[2]; +} lfs_gstate_t; + +// The littlefs filesystem type +typedef struct lfs { + lfs_cache_t rcache; + lfs_cache_t pcache; + + lfs_block_t root[2]; + struct lfs_mlist { + struct lfs_mlist *next; + uint16_t id; + uint8_t type; + lfs_mdir_t m; + } *mlist; + uint32_t seed; + + lfs_gstate_t gstate; + lfs_gstate_t gdisk; + lfs_gstate_t gdelta; + + struct lfs_lookahead { + lfs_block_t start; + lfs_block_t size; + lfs_block_t next; + lfs_block_t ckpoint; + uint8_t *buffer; + } lookahead; + + const struct lfs_config *cfg; + lfs_size_t block_count; + lfs_size_t name_max; + lfs_size_t file_max; + lfs_size_t attr_max; + lfs_size_t inline_max; + +#ifdef LFS_MIGRATE + struct lfs1 *lfs1; +#endif +} lfs_t; + + +/// Filesystem functions /// + +#ifndef LFS_READONLY +// Format a block device with the littlefs +// +// Requires a littlefs object and config struct. This clobbers the littlefs +// object, and does not leave the filesystem mounted. The config struct must +// be zeroed for defaults and backwards compatibility. +// +// Returns a negative error code on failure. +int lfs_format(lfs_t *lfs, const struct lfs_config *config); +#endif + +// Mounts a littlefs +// +// Requires a littlefs object and config struct. Multiple filesystems +// may be mounted simultaneously with multiple littlefs objects. Both +// lfs and config must be allocated while mounted. The config struct must +// be zeroed for defaults and backwards compatibility. +// +// Returns a negative error code on failure. +int lfs_mount(lfs_t *lfs, const struct lfs_config *config); + +// Unmounts a littlefs +// +// Does nothing besides releasing any allocated resources. +// Returns a negative error code on failure. +int lfs_unmount(lfs_t *lfs); + +/// General operations /// + +#ifndef LFS_READONLY +// Removes a file or directory +// +// If removing a directory, the directory must be empty. +// Returns a negative error code on failure. +int lfs_remove(lfs_t *lfs, const char *path); +#endif + +#ifndef LFS_READONLY +// Rename or move a file or directory +// +// If the destination exists, it must match the source in type. +// If the destination is a directory, the directory must be empty. +// +// Returns a negative error code on failure. +int lfs_rename(lfs_t *lfs, const char *oldpath, const char *newpath); +#endif + +// Find info about a file or directory +// +// Fills out the info structure, based on the specified file or directory. +// Returns a negative error code on failure. +int lfs_stat(lfs_t *lfs, const char *path, struct lfs_info *info); + +// Get a custom attribute +// +// Custom attributes are uniquely identified by an 8-bit type and limited +// to LFS_ATTR_MAX bytes. When read, if the stored attribute is smaller than +// the buffer, it will be padded with zeros. If the stored attribute is larger, +// then it will be silently truncated. If no attribute is found, the error +// LFS_ERR_NOATTR is returned and the buffer is filled with zeros. +// +// Returns the size of the attribute, or a negative error code on failure. +// Note, the returned size is the size of the attribute on disk, irrespective +// of the size of the buffer. This can be used to dynamically allocate a buffer +// or check for existence. +lfs_ssize_t lfs_getattr(lfs_t *lfs, const char *path, + uint8_t type, void *buffer, lfs_size_t size); + +#ifndef LFS_READONLY +// Set custom attributes +// +// Custom attributes are uniquely identified by an 8-bit type and limited +// to LFS_ATTR_MAX bytes. If an attribute is not found, it will be +// implicitly created. +// +// Returns a negative error code on failure. +int lfs_setattr(lfs_t *lfs, const char *path, + uint8_t type, const void *buffer, lfs_size_t size); +#endif + +#ifndef LFS_READONLY +// Removes a custom attribute +// +// If an attribute is not found, nothing happens. +// +// Returns a negative error code on failure. +int lfs_removeattr(lfs_t *lfs, const char *path, uint8_t type); +#endif + + +/// File operations /// + +#ifndef LFS_NO_MALLOC +// Open a file +// +// The mode that the file is opened in is determined by the flags, which +// are values from the enum lfs_open_flags that are bitwise-ored together. +// +// Returns a negative error code on failure. +int lfs_file_open(lfs_t *lfs, lfs_file_t *file, + const char *path, int flags); + +// if LFS_NO_MALLOC is defined, lfs_file_open() will fail with LFS_ERR_NOMEM +// thus use lfs_file_opencfg() with config.buffer set. +#endif + +// Open a file with extra configuration +// +// The mode that the file is opened in is determined by the flags, which +// are values from the enum lfs_open_flags that are bitwise-ored together. +// +// The config struct provides additional config options per file as described +// above. The config struct must remain allocated while the file is open, and +// the config struct must be zeroed for defaults and backwards compatibility. +// +// Returns a negative error code on failure. +int lfs_file_opencfg(lfs_t *lfs, lfs_file_t *file, + const char *path, int flags, + const struct lfs_file_config *config); + +// Close a file +// +// Any pending writes are written out to storage as though +// sync had been called and releases any allocated resources. +// +// Returns a negative error code on failure. +int lfs_file_close(lfs_t *lfs, lfs_file_t *file); + +// Synchronize a file on storage +// +// Any pending writes are written out to storage. +// Returns a negative error code on failure. +int lfs_file_sync(lfs_t *lfs, lfs_file_t *file); + +// Read data from file +// +// Takes a buffer and size indicating where to store the read data. +// Returns the number of bytes read, or a negative error code on failure. +lfs_ssize_t lfs_file_read(lfs_t *lfs, lfs_file_t *file, + void *buffer, lfs_size_t size); + +#ifndef LFS_READONLY +// Write data to file +// +// Takes a buffer and size indicating the data to write. The file will not +// actually be updated on the storage until either sync or close is called. +// +// Returns the number of bytes written, or a negative error code on failure. +lfs_ssize_t lfs_file_write(lfs_t *lfs, lfs_file_t *file, + const void *buffer, lfs_size_t size); +#endif + +// Change the position of the file +// +// The change in position is determined by the offset and whence flag. +// Returns the new position of the file, or a negative error code on failure. +lfs_soff_t lfs_file_seek(lfs_t *lfs, lfs_file_t *file, + lfs_soff_t off, int whence); + +#ifndef LFS_READONLY +// Truncates the size of the file to the specified size +// +// Returns a negative error code on failure. +int lfs_file_truncate(lfs_t *lfs, lfs_file_t *file, lfs_off_t size); +#endif + +// Return the position of the file +// +// Equivalent to lfs_file_seek(lfs, file, 0, LFS_SEEK_CUR) +// Returns the position of the file, or a negative error code on failure. +lfs_soff_t lfs_file_tell(lfs_t *lfs, lfs_file_t *file); + +// Change the position of the file to the beginning of the file +// +// Equivalent to lfs_file_seek(lfs, file, 0, LFS_SEEK_SET) +// Returns a negative error code on failure. +int lfs_file_rewind(lfs_t *lfs, lfs_file_t *file); + +// Return the size of the file +// +// Similar to lfs_file_seek(lfs, file, 0, LFS_SEEK_END) +// Returns the size of the file, or a negative error code on failure. +lfs_soff_t lfs_file_size(lfs_t *lfs, lfs_file_t *file); + + +/// Directory operations /// + +#ifndef LFS_READONLY +// Create a directory +// +// Returns a negative error code on failure. +int lfs_mkdir(lfs_t *lfs, const char *path); +#endif + +// Open a directory +// +// Once open a directory can be used with read to iterate over files. +// Returns a negative error code on failure. +int lfs_dir_open(lfs_t *lfs, lfs_dir_t *dir, const char *path); + +// Close a directory +// +// Releases any allocated resources. +// Returns a negative error code on failure. +int lfs_dir_close(lfs_t *lfs, lfs_dir_t *dir); + +// Read an entry in the directory +// +// Fills out the info structure, based on the specified file or directory. +// Returns a positive value on success, 0 at the end of directory, +// or a negative error code on failure. +int lfs_dir_read(lfs_t *lfs, lfs_dir_t *dir, struct lfs_info *info); + +// Change the position of the directory +// +// The new off must be a value previous returned from tell and specifies +// an absolute offset in the directory seek. +// +// Returns a negative error code on failure. +int lfs_dir_seek(lfs_t *lfs, lfs_dir_t *dir, lfs_off_t off); + +// Return the position of the directory +// +// The returned offset is only meant to be consumed by seek and may not make +// sense, but does indicate the current position in the directory iteration. +// +// Returns the position of the directory, or a negative error code on failure. +lfs_soff_t lfs_dir_tell(lfs_t *lfs, lfs_dir_t *dir); + +// Change the position of the directory to the beginning of the directory +// +// Returns a negative error code on failure. +int lfs_dir_rewind(lfs_t *lfs, lfs_dir_t *dir); + + +/// Filesystem-level filesystem operations + +// Find on-disk info about the filesystem +// +// Fills out the fsinfo structure based on the filesystem found on-disk. +// Returns a negative error code on failure. +int lfs_fs_stat(lfs_t *lfs, struct lfs_fsinfo *fsinfo); + +// Finds the current size of the filesystem +// +// Note: Result is best effort. If files share COW structures, the returned +// size may be larger than the filesystem actually is. +// +// Returns the number of allocated blocks, or a negative error code on failure. +lfs_ssize_t lfs_fs_size(lfs_t *lfs); + +// Traverse through all blocks in use by the filesystem +// +// The provided callback will be called with each block address that is +// currently in use by the filesystem. This can be used to determine which +// blocks are in use or how much of the storage is available. +// +// Returns a negative error code on failure. +int lfs_fs_traverse(lfs_t *lfs, int (*cb)(void*, lfs_block_t), void *data); + +#ifndef LFS_READONLY +// Attempt to make the filesystem consistent and ready for writing +// +// Calling this function is not required, consistency will be implicitly +// enforced on the first operation that writes to the filesystem, but this +// function allows the work to be performed earlier and without other +// filesystem changes. +// +// Returns a negative error code on failure. +int lfs_fs_mkconsistent(lfs_t *lfs); +#endif + +#ifndef LFS_READONLY +// Attempt any janitorial work +// +// This currently: +// 1. Calls mkconsistent if not already consistent +// 2. Compacts metadata > compact_thresh +// 3. Populates the block allocator +// +// Though additional janitorial work may be added in the future. +// +// Calling this function is not required, but may allow the offloading of +// expensive janitorial work to a less time-critical code path. +// +// Returns a negative error code on failure. Accomplishing nothing is not +// an error. +int lfs_fs_gc(lfs_t *lfs); +#endif + +#ifndef LFS_READONLY +// Grows the filesystem to a new size, updating the superblock with the new +// block count. +// +// If LFS_SHRINKNONRELOCATING is defined, this function will also accept +// block_counts smaller than the current configuration, after checking +// that none of the blocks that are being removed are in use. +// Note that littlefs's pseudorandom block allocation means that +// this is very unlikely to work in the general case. +// +// Returns a negative error code on failure. +int lfs_fs_grow(lfs_t *lfs, lfs_size_t block_count); +#endif + +#ifndef LFS_READONLY +#ifdef LFS_MIGRATE +// Attempts to migrate a previous version of littlefs +// +// Behaves similarly to the lfs_format function. Attempts to mount +// the previous version of littlefs and update the filesystem so it can be +// mounted with the current version of littlefs. +// +// Requires a littlefs object and config struct. This clobbers the littlefs +// object, and does not leave the filesystem mounted. The config struct must +// be zeroed for defaults and backwards compatibility. +// +// Returns a negative error code on failure. +int lfs_migrate(lfs_t *lfs, const struct lfs_config *cfg); +#endif +#endif + + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#endif diff --git a/components/littlefs/lfs_util.c b/components/littlefs/lfs_util.c new file mode 100644 index 00000000..dac72abc --- /dev/null +++ b/components/littlefs/lfs_util.c @@ -0,0 +1,37 @@ +/* + * lfs util functions + * + * Copyright (c) 2022, The littlefs authors. + * Copyright (c) 2017, Arm Limited. All rights reserved. + * SPDX-License-Identifier: BSD-3-Clause + */ +#include "lfs_util.h" + +// Only compile if user does not provide custom config +#ifndef LFS_CONFIG + + +// If user provides their own CRC impl we don't need this +#ifndef LFS_CRC +// Software CRC implementation with small lookup table +uint32_t lfs_crc(uint32_t crc, const void *buffer, size_t size) { + static const uint32_t rtable[16] = { + 0x00000000, 0x1db71064, 0x3b6e20c8, 0x26d930ac, + 0x76dc4190, 0x6b6b51f4, 0x4db26158, 0x5005713c, + 0xedb88320, 0xf00f9344, 0xd6d6a3e8, 0xcb61b38c, + 0x9b64c2b0, 0x86d3d2d4, 0xa00ae278, 0xbdbdf21c, + }; + + const uint8_t *data = buffer; + + for (size_t i = 0; i < size; i++) { + crc = (crc >> 4) ^ rtable[(crc ^ (data[i] >> 0)) & 0xf]; + crc = (crc >> 4) ^ rtable[(crc ^ (data[i] >> 4)) & 0xf]; + } + + return crc; +} +#endif + + +#endif diff --git a/components/littlefs/lfs_util.h b/components/littlefs/lfs_util.h new file mode 100644 index 00000000..c1999fa9 --- /dev/null +++ b/components/littlefs/lfs_util.h @@ -0,0 +1,273 @@ +/* + * lfs utility functions + * + * Copyright (c) 2022, The littlefs authors. + * Copyright (c) 2017, Arm Limited. All rights reserved. + * SPDX-License-Identifier: BSD-3-Clause + */ +#ifndef LFS_UTIL_H +#define LFS_UTIL_H + +#define LFS_STRINGIZE(x) LFS_STRINGIZE2(x) +#define LFS_STRINGIZE2(x) #x + +// Users can override lfs_util.h with their own configuration by defining +// LFS_CONFIG as a header file to include (-DLFS_CONFIG=lfs_config.h). +// +// If LFS_CONFIG is used, none of the default utils will be emitted and must be +// provided by the config file. To start, I would suggest copying lfs_util.h +// and modifying as needed. +#ifdef LFS_CONFIG +#include LFS_STRINGIZE(LFS_CONFIG) +#else + +// Alternatively, users can provide a header file which defines +// macros and other things consumed by littlefs. +// +// For example, provide my_defines.h, which contains +// something like: +// +// #include +// extern void *my_malloc(size_t sz); +// #define LFS_MALLOC(sz) my_malloc(sz) +// +// And build littlefs with the header by defining LFS_DEFINES. +// (-DLFS_DEFINES=my_defines.h) + +#ifdef LFS_DEFINES +#include LFS_STRINGIZE(LFS_DEFINES) +#endif + +// System includes +#include +#include +#include +#include + +#ifndef LFS_NO_MALLOC +#include +#endif +#ifndef LFS_NO_ASSERT +#include +#endif +#if !defined(LFS_NO_DEBUG) || \ + !defined(LFS_NO_WARN) || \ + !defined(LFS_NO_ERROR) || \ + defined(LFS_YES_TRACE) +#include +#endif + +#ifdef __cplusplus +extern "C" +{ +#endif + + +// Macros, may be replaced by system specific wrappers. Arguments to these +// macros must not have side-effects as the macros can be removed for a smaller +// code footprint + +// Logging functions +#ifndef LFS_TRACE +#ifdef LFS_YES_TRACE +#define LFS_TRACE_(fmt, ...) \ + printf("%s:%d:trace: " fmt "%s\n", __FILE__, __LINE__, __VA_ARGS__) +#define LFS_TRACE(...) LFS_TRACE_(__VA_ARGS__, "") +#else +#define LFS_TRACE(...) +#endif +#endif + +#ifndef LFS_DEBUG +#ifndef LFS_NO_DEBUG +#define LFS_DEBUG_(fmt, ...) \ + printf("%s:%d:debug: " fmt "%s\n", __FILE__, __LINE__, __VA_ARGS__) +#define LFS_DEBUG(...) LFS_DEBUG_(__VA_ARGS__, "") +#else +#define LFS_DEBUG(...) +#endif +#endif + +#ifndef LFS_WARN +#ifndef LFS_NO_WARN +#define LFS_WARN_(fmt, ...) \ + printf("%s:%d:warn: " fmt "%s\n", __FILE__, __LINE__, __VA_ARGS__) +#define LFS_WARN(...) LFS_WARN_(__VA_ARGS__, "") +#else +#define LFS_WARN(...) +#endif +#endif + +#ifndef LFS_ERROR +#ifndef LFS_NO_ERROR +#define LFS_ERROR_(fmt, ...) \ + printf("%s:%d:error: " fmt "%s\n", __FILE__, __LINE__, __VA_ARGS__) +#define LFS_ERROR(...) LFS_ERROR_(__VA_ARGS__, "") +#else +#define LFS_ERROR(...) +#endif +#endif + +// Runtime assertions +#ifndef LFS_ASSERT +#ifndef LFS_NO_ASSERT +#define LFS_ASSERT(test) assert(test) +#else +#define LFS_ASSERT(test) +#endif +#endif + + +// Builtin functions, these may be replaced by more efficient +// toolchain-specific implementations. LFS_NO_INTRINSICS falls back to a more +// expensive basic C implementation for debugging purposes + +// Min/max functions for unsigned 32-bit numbers +static inline uint32_t lfs_max(uint32_t a, uint32_t b) { + return (a > b) ? a : b; +} + +static inline uint32_t lfs_min(uint32_t a, uint32_t b) { + return (a < b) ? a : b; +} + +// Align to nearest multiple of a size +static inline uint32_t lfs_aligndown(uint32_t a, uint32_t alignment) { + return a - (a % alignment); +} + +static inline uint32_t lfs_alignup(uint32_t a, uint32_t alignment) { + return lfs_aligndown(a + alignment-1, alignment); +} + +// Find the smallest power of 2 greater than or equal to a +static inline uint32_t lfs_npw2(uint32_t a) { +#if !defined(LFS_NO_INTRINSICS) && (defined(__GNUC__) || defined(__CC_ARM)) + return 32 - __builtin_clz(a-1); +#else + uint32_t r = 0; + uint32_t s; + a -= 1; + s = (a > 0xffff) << 4; a >>= s; r |= s; + s = (a > 0xff ) << 3; a >>= s; r |= s; + s = (a > 0xf ) << 2; a >>= s; r |= s; + s = (a > 0x3 ) << 1; a >>= s; r |= s; + return (r | (a >> 1)) + 1; +#endif +} + +// Count the number of trailing binary zeros in a +// lfs_ctz(0) may be undefined +static inline uint32_t lfs_ctz(uint32_t a) { +#if !defined(LFS_NO_INTRINSICS) && defined(__GNUC__) + return __builtin_ctz(a); +#else + return lfs_npw2((a & -a) + 1) - 1; +#endif +} + +// Count the number of binary ones in a +static inline uint32_t lfs_popc(uint32_t a) { +#if !defined(LFS_NO_INTRINSICS) && (defined(__GNUC__) || defined(__CC_ARM)) + return __builtin_popcount(a); +#else + a = a - ((a >> 1) & 0x55555555); + a = (a & 0x33333333) + ((a >> 2) & 0x33333333); + return (((a + (a >> 4)) & 0xf0f0f0f) * 0x1010101) >> 24; +#endif +} + +// Find the sequence comparison of a and b, this is the distance +// between a and b ignoring overflow +static inline int lfs_scmp(uint32_t a, uint32_t b) { + return (int)(unsigned)(a - b); +} + +// Convert between 32-bit little-endian and native order +static inline uint32_t lfs_fromle32(uint32_t a) { +#if (defined( BYTE_ORDER ) && defined( ORDER_LITTLE_ENDIAN ) && BYTE_ORDER == ORDER_LITTLE_ENDIAN ) || \ + (defined(__BYTE_ORDER ) && defined(__ORDER_LITTLE_ENDIAN ) && __BYTE_ORDER == __ORDER_LITTLE_ENDIAN ) || \ + (defined(__BYTE_ORDER__) && defined(__ORDER_LITTLE_ENDIAN__) && __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__) + return a; +#elif !defined(LFS_NO_INTRINSICS) && ( \ + (defined( BYTE_ORDER ) && defined( ORDER_BIG_ENDIAN ) && BYTE_ORDER == ORDER_BIG_ENDIAN ) || \ + (defined(__BYTE_ORDER ) && defined(__ORDER_BIG_ENDIAN ) && __BYTE_ORDER == __ORDER_BIG_ENDIAN ) || \ + (defined(__BYTE_ORDER__) && defined(__ORDER_BIG_ENDIAN__) && __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__)) + return __builtin_bswap32(a); +#else + return ((uint32_t)((uint8_t*)&a)[0] << 0) | + ((uint32_t)((uint8_t*)&a)[1] << 8) | + ((uint32_t)((uint8_t*)&a)[2] << 16) | + ((uint32_t)((uint8_t*)&a)[3] << 24); +#endif +} + +static inline uint32_t lfs_tole32(uint32_t a) { + return lfs_fromle32(a); +} + +// Convert between 32-bit big-endian and native order +static inline uint32_t lfs_frombe32(uint32_t a) { +#if !defined(LFS_NO_INTRINSICS) && ( \ + (defined( BYTE_ORDER ) && defined( ORDER_LITTLE_ENDIAN ) && BYTE_ORDER == ORDER_LITTLE_ENDIAN ) || \ + (defined(__BYTE_ORDER ) && defined(__ORDER_LITTLE_ENDIAN ) && __BYTE_ORDER == __ORDER_LITTLE_ENDIAN ) || \ + (defined(__BYTE_ORDER__) && defined(__ORDER_LITTLE_ENDIAN__) && __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__)) + return __builtin_bswap32(a); +#elif (defined( BYTE_ORDER ) && defined( ORDER_BIG_ENDIAN ) && BYTE_ORDER == ORDER_BIG_ENDIAN ) || \ + (defined(__BYTE_ORDER ) && defined(__ORDER_BIG_ENDIAN ) && __BYTE_ORDER == __ORDER_BIG_ENDIAN ) || \ + (defined(__BYTE_ORDER__) && defined(__ORDER_BIG_ENDIAN__) && __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__) + return a; +#else + return ((uint32_t)((uint8_t*)&a)[0] << 24) | + ((uint32_t)((uint8_t*)&a)[1] << 16) | + ((uint32_t)((uint8_t*)&a)[2] << 8) | + ((uint32_t)((uint8_t*)&a)[3] << 0); +#endif +} + +static inline uint32_t lfs_tobe32(uint32_t a) { + return lfs_frombe32(a); +} + +// Calculate CRC-32 with polynomial = 0x04c11db7 +#ifdef LFS_CRC +static inline uint32_t lfs_crc(uint32_t crc, const void *buffer, size_t size) { + return LFS_CRC(crc, buffer, size); +} +#else +uint32_t lfs_crc(uint32_t crc, const void *buffer, size_t size); +#endif + +// Allocate memory, only used if buffers are not provided to littlefs +// +// littlefs current has no alignment requirements, as it only allocates +// byte-level buffers. +static inline void *lfs_malloc(size_t size) { +#if defined(LFS_MALLOC) + return LFS_MALLOC(size); +#elif !defined(LFS_NO_MALLOC) + return malloc(size); +#else + (void)size; + return NULL; +#endif +} + +// Deallocate memory, only used if buffers are not provided to littlefs +static inline void lfs_free(void *p) { +#if defined(LFS_FREE) + LFS_FREE(p); +#elif !defined(LFS_NO_MALLOC) + free(p); +#else + (void)p; +#endif +} + + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#endif +#endif diff --git a/components/rfc8908/CMakeLists.txt b/components/rfc8908/CMakeLists.txt new file mode 100644 index 00000000..ae42c4ce --- /dev/null +++ b/components/rfc8908/CMakeLists.txt @@ -0,0 +1,8 @@ +# RFC 8908 + classic captive-detection HTTP handlers for esp_http_server: OS probe +# redirects and the machine-readable /captive-portal/api endpoint. Standalone so it's +# independent of the portal's app logic and the DNS responder. +idf_component_register( + SRCS "src/RFC8908Handler.cpp" + INCLUDE_DIRS "include" + REQUIRES common logging esp_http_server osjson +) diff --git a/components/rfc8908/include/rfc8908/RFC8908Handler.h b/components/rfc8908/include/rfc8908/RFC8908Handler.h new file mode 100644 index 00000000..360c9c89 --- /dev/null +++ b/components/rfc8908/include/rfc8908/RFC8908Handler.h @@ -0,0 +1,21 @@ +#pragma once + +#include + +namespace OpenShock::RFC8908 { + // Registers the OS captive-detection surface on an esp_http_server instance: + // - well-known probe URLs (/gen_204, /hotspot-detect*, /ncsi.txt, ...) → 302 to the portal + // - the RFC 8908 endpoint /captive-portal/api → application/captive+json + // - a 404 fallback that redirects any other unknown request to the portal + // + // `apIpv4` is the portal AP address (e.g. "4.3.2.1"); the pointer must remain valid + // for the lifetime of the server (pass a string literal or long-lived buffer). + // + // The server must be configured with httpd_uri_match_wildcard for the prefix probe + // paths to match. + esp_err_t RegisterProbeHandlers(httpd_handle_t server, const char* apIpv4); + + // Emit the standard captive redirect (302 → http:///). Exposed so a static + // file handler can share the exact same fallthrough behaviour on unknown paths. + esp_err_t EmitRedirect(httpd_req_t* req); +} // namespace OpenShock::RFC8908 diff --git a/components/rfc8908/src/RFC8908Handler.cpp b/components/rfc8908/src/RFC8908Handler.cpp new file mode 100644 index 00000000..b5541e85 --- /dev/null +++ b/components/rfc8908/src/RFC8908Handler.cpp @@ -0,0 +1,106 @@ +#include "rfc8908/RFC8908Handler.h" + +const char* const TAG = "RFC8908Handler"; + +#include "Logging.h" + +#include "json/Json.h" + +#include + +using namespace OpenShock; + +// The portal AP IP, captured at registration. Handlers are static C callbacks, so we +// keep it here; there is only ever one captive portal server at a time. +static const char* s_apIpv4 = "4.3.2.1"; + +static const char* const captivePortalApiPath = "/captive-portal/api"; + +esp_err_t RFC8908::EmitRedirect(httpd_req_t* req) +{ + std::string location = std::string("http://") + s_apIpv4 + "/"; + + httpd_resp_set_status(req, "302 Found"); + httpd_resp_set_hdr(req, "Location", location.c_str()); + httpd_resp_set_hdr(req, "Cache-Control", "no-store, no-cache, must-revalidate"); + httpd_resp_set_hdr(req, "Pragma", "no-cache"); + httpd_resp_set_hdr(req, "Expires", "0"); + return httpd_resp_send(req, nullptr, 0); +} + +// Catch-all handler for OS connectivity probes. Operating systems attempt to detect +// internet access by requesting well-known URLs; redirecting these to the portal root +// intentionally fails the connectivity check and activates captive-portal mode. +static esp_err_t probeHandler(httpd_req_t* req) +{ + return RFC8908::EmitRedirect(req); +} + +// RFC 8908 Captive Portal API endpoint — machine-readable captive state. Complements +// the classic redirect-based detection used by Android, iOS/macOS, and Windows. +static esp_err_t captiveApiHandler(httpd_req_t* req) +{ + OS_LOGI(TAG, "Got Captive API request"); + + std::string portalUrl = std::string("http://") + s_apIpv4 + "/"; + + OpenShock::JSON::StringWriter writer; + json_gen_str_t* gen = writer.gen(); + json_gen_start_object(gen); + json_gen_obj_set_bool(gen, "captive", true); + JSON::objSetString(gen, "user-portal-url", portalUrl.c_str()); + JSON::objSetString(gen, "venue-info-url", "https://openshock.org"); + json_gen_end_object(gen); + std::string jsonStr = writer.finish(); + + httpd_resp_set_status(req, "200 OK"); + httpd_resp_set_type(req, "application/captive+json"); + httpd_resp_set_hdr(req, "Cache-Control", "private"); + return httpd_resp_send(req, jsonStr.data(), jsonStr.size()); +} + +static esp_err_t err404Handler(httpd_req_t* req, httpd_err_code_t) +{ + return RFC8908::EmitRedirect(req); +} + +esp_err_t RFC8908::RegisterProbeHandlers(httpd_handle_t server, const char* apIpv4) +{ + if (apIpv4 != nullptr) { + s_apIpv4 = apIpv4; + } + + // Well-known OS probe paths. Prefix forms (e.g. "/hotspot-detect*") require the + // server to be configured with httpd_uri_match_wildcard. + static const char* const probePaths[] = { + captivePortalApiPath, // handled specially below + "/gen_204", + "/generate_204", + "/ncsi.txt", + "/hotspot-detect*", + "/success*", + "/connecttest*", + "/check_network_status*", + "/canonical*", + }; + + esp_err_t result = ESP_OK; + for (const char* path : probePaths) { + httpd_uri_t def = {}; + def.uri = path; + def.method = HTTP_GET; + def.handler = (path == captivePortalApiPath) ? captiveApiHandler : probeHandler; + def.user_ctx = nullptr; + + esp_err_t err = httpd_register_uri_handler(server, &def); + if (err != ESP_OK) { + OS_LOGE(TAG, "Failed to register probe handler %s: %s", path, esp_err_to_name(err)); + result = err; + } + } + + // Any other unknown request also redirects to the portal. + httpd_register_err_handler(server, HTTPD_404_NOT_FOUND, err404Handler); + + return result; +} diff --git a/components/static_fs/CMakeLists.txt b/components/static_fs/CMakeLists.txt new file mode 100644 index 00000000..a450918e --- /dev/null +++ b/components/static_fs/CMakeLists.txt @@ -0,0 +1,7 @@ +# Read-only littlefs partition reader over a raw esp_partition (no VFS registration), +# built on the vendored littlefs core. Streams files out to a caller-provided sink. +idf_component_register( + SRCS "src/StaticFs.cpp" + INCLUDE_DIRS "include" + REQUIRES common littlefs esp_partition logging +) diff --git a/components/static_fs/include/static_fs/StaticFs.h b/components/static_fs/include/static_fs/StaticFs.h new file mode 100644 index 00000000..651ded00 --- /dev/null +++ b/components/static_fs/include/static_fs/StaticFs.h @@ -0,0 +1,48 @@ +#pragma once + +#include "OpenShock.h" + +#include + +#include "lfs.h" + +#include +#include +#include +#include + +namespace OpenShock { + // Read-only littlefs mount over a raw esp_partition, using the vendored littlefs + // core directly — no VFS registration. Scoped to its owner so it doesn't leave a + // global mount point around, and so it stays independent of the filesystems other + // subsystems mount elsewhere. + class StaticFs { + DISABLE_COPY(StaticFs); + DISABLE_MOVE(StaticFs); + + public: + StaticFs(); + ~StaticFs(); + + bool mount(const esp_partition_t* partition); + void unmount(); + bool isMounted() const { return m_mounted; } + + bool exists(const char* path); + + // Stream a file to `sink` in chunks. Returns false if the file is missing or a + // read fails, or if `sink` returns false (which aborts the stream). + bool readFile(const char* path, const std::function)>& sink); + + private: + static int bdRead(const struct lfs_config* c, lfs_block_t block, lfs_off_t off, void* buffer, lfs_size_t size); + static int bdProg(const struct lfs_config* c, lfs_block_t block, lfs_off_t off, const void* buffer, lfs_size_t size); + static int bdErase(const struct lfs_config* c, lfs_block_t block); + static int bdSync(const struct lfs_config* c); + + const esp_partition_t* m_partition; + lfs_t m_lfs; + struct lfs_config m_cfg; + bool m_mounted; + }; +} // namespace OpenShock diff --git a/components/static_fs/src/StaticFs.cpp b/components/static_fs/src/StaticFs.cpp new file mode 100644 index 00000000..ee405aca --- /dev/null +++ b/components/static_fs/src/StaticFs.cpp @@ -0,0 +1,140 @@ +#include "static_fs/StaticFs.h" + +const char* const TAG = "StaticFs"; + +#include "Logging.h" + +#include + +using namespace OpenShock; + +// Mount parameters must be compatible with how the littlefs image is built (see the +// CONFIG_LITTLEFS_* defaults / mklittlefs): 4 KB erase blocks, 128-byte read/prog. +// littlefs only fixes block_size + block_count on disk (validated against the +// superblock at mount); the rest are runtime buffer sizes. +static constexpr lfs_size_t LFS_BLOCK_SIZE = 4096; +static constexpr lfs_size_t LFS_READ_SIZE = 128; +static constexpr lfs_size_t LFS_PROG_SIZE = 128; +static constexpr lfs_size_t LFS_CACHE_SIZE = 512; +static constexpr lfs_size_t LFS_LOOKAHEAD_SIZE = 128; + +int StaticFs::bdRead(const struct lfs_config* c, lfs_block_t block, lfs_off_t off, void* buffer, lfs_size_t size) +{ + auto* self = static_cast(c->context); + size_t addr = static_cast(block) * c->block_size + off; + return esp_partition_read(self->m_partition, addr, buffer, size) == ESP_OK ? 0 : LFS_ERR_IO; +} + +int StaticFs::bdProg(const struct lfs_config*, lfs_block_t, lfs_off_t, const void*, lfs_size_t) +{ + return LFS_ERR_IO; // read-only mount +} + +int StaticFs::bdErase(const struct lfs_config*, lfs_block_t) +{ + return LFS_ERR_IO; // read-only mount +} + +int StaticFs::bdSync(const struct lfs_config*) +{ + return 0; // nothing to flush +} + +StaticFs::StaticFs() + : m_partition(nullptr) + , m_lfs {} + , m_cfg {} + , m_mounted(false) +{ +} + +StaticFs::~StaticFs() +{ + unmount(); +} + +bool StaticFs::mount(const esp_partition_t* partition) +{ + if (m_mounted) { + return true; + } + if (partition == nullptr) { + return false; + } + + m_partition = partition; + + memset(&m_cfg, 0, sizeof(m_cfg)); + m_cfg.context = this; + m_cfg.read = &StaticFs::bdRead; + m_cfg.prog = &StaticFs::bdProg; + m_cfg.erase = &StaticFs::bdErase; + m_cfg.sync = &StaticFs::bdSync; + m_cfg.read_size = LFS_READ_SIZE; + m_cfg.prog_size = LFS_PROG_SIZE; + m_cfg.block_size = LFS_BLOCK_SIZE; + m_cfg.block_count = partition->size / LFS_BLOCK_SIZE; + m_cfg.block_cycles = -1; // read-only, no wear leveling + m_cfg.cache_size = LFS_CACHE_SIZE; + m_cfg.lookahead_size = LFS_LOOKAHEAD_SIZE; + + int err = lfs_mount(&m_lfs, &m_cfg); + if (err < 0) { + OS_LOGE(TAG, "Failed to mount littlefs partition (lfs error %d)", err); + m_partition = nullptr; + return false; + } + + m_mounted = true; + return true; +} + +void StaticFs::unmount() +{ + if (m_mounted) { + lfs_unmount(&m_lfs); + m_mounted = false; + } + m_partition = nullptr; +} + +bool StaticFs::exists(const char* path) +{ + if (!m_mounted) { + return false; + } + struct lfs_info info; + return lfs_stat(&m_lfs, path, &info) >= 0; +} + +bool StaticFs::readFile(const char* path, const std::function)>& sink) +{ + if (!m_mounted) { + return false; + } + + lfs_file_t file; + if (lfs_file_open(&m_lfs, &file, path, LFS_O_RDONLY) < 0) { + return false; + } + + uint8_t buf[1024]; + bool ok = true; + for (;;) { + lfs_ssize_t r = lfs_file_read(&m_lfs, &file, buf, sizeof(buf)); + if (r < 0) { + ok = false; + break; + } + if (r == 0) { + break; // EOF + } + if (!sink(std::span(buf, static_cast(r)))) { + ok = false; + break; + } + } + + lfs_file_close(&m_lfs, &file); + return ok; +} From b39e74e2a986cb04ed868699aa08a55d9bc187b3 Mon Sep 17 00:00:00 2001 From: HeavenVR Date: Thu, 9 Jul 2026 19:45:37 +0200 Subject: [PATCH 43/91] refactor(fs): rename static_fs -> fs, add ConfigFs, hide lfs.h behind LfsPartition MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replace the read-only-only static_fs component with a single fs component that owns the littlefs-over-esp_partition layer: - LfsPartition: shared mount kernel. All littlefs state (lfs_t/lfs_config) and the block-device callbacks live in the .cpp behind a pimpl (detail::LfsState), so lfs.h never leaks into consumer translation units. littlefs is a PRIV_REQUIRES of the component. - StaticFs: read-only façade (streams pre-built image assets, no writes). - ConfigFs: read/write blob façade for a config store - atomic writes (temp + rename), wear leveling, format-on-fail. Deals only in raw bytes; it has no knowledge of flatbuffers. Serialization and locking stay with the caller. --- components/fs/CMakeLists.txt | 13 + components/fs/include/fs/ConfigFs.h | 39 +++ components/fs/include/fs/LfsPartition.h | 59 ++++ components/fs/include/fs/StaticFs.h | 34 +++ components/fs/src/LfsPartition.cpp | 252 ++++++++++++++++++ components/static_fs/CMakeLists.txt | 7 - .../static_fs/include/static_fs/StaticFs.h | 48 ---- components/static_fs/src/StaticFs.cpp | 140 ---------- 8 files changed, 397 insertions(+), 195 deletions(-) create mode 100644 components/fs/CMakeLists.txt create mode 100644 components/fs/include/fs/ConfigFs.h create mode 100644 components/fs/include/fs/LfsPartition.h create mode 100644 components/fs/include/fs/StaticFs.h create mode 100644 components/fs/src/LfsPartition.cpp delete mode 100644 components/static_fs/CMakeLists.txt delete mode 100644 components/static_fs/include/static_fs/StaticFs.h delete mode 100644 components/static_fs/src/StaticFs.cpp diff --git a/components/fs/CMakeLists.txt b/components/fs/CMakeLists.txt new file mode 100644 index 00000000..7c77b173 --- /dev/null +++ b/components/fs/CMakeLists.txt @@ -0,0 +1,13 @@ +# littlefs-over-esp_partition filesystem layer (no VFS), built on the vendored littlefs +# core. Provides the shared LfsPartition mount kernel plus two façades: +# - StaticFs: read-only, streams pre-built image assets (e.g. the captive portal UI) +# - ConfigFs: read/write blob store for configuration (atomic writes, wear leveling) +# +# littlefs is a PRIVATE dependency: lfs.h is confined to LfsPartition.cpp so it never +# leaks into consumers of this component's headers. +idf_component_register( + SRCS "src/LfsPartition.cpp" + INCLUDE_DIRS "include" + REQUIRES common esp_partition + PRIV_REQUIRES littlefs logging +) diff --git a/components/fs/include/fs/ConfigFs.h b/components/fs/include/fs/ConfigFs.h new file mode 100644 index 00000000..c00b2971 --- /dev/null +++ b/components/fs/include/fs/ConfigFs.h @@ -0,0 +1,39 @@ +#pragma once + +#include "fs/LfsPartition.h" + +#include "OpenShock.h" + +#include + +#include +#include +#include + +namespace OpenShock { + // Read/write view of a littlefs partition tailored for a configuration store: whole + // small blobs, atomic replace (temp file + rename), wear leveling enabled, formats a + // fresh partition on first mount. + // + // Deals only in raw bytes — it has no knowledge of the config serialization format + // (flatbuffers). Serialization and any cross-task locking belong to the caller. + class ConfigFs { + DISABLE_COPY(ConfigFs); + DISABLE_MOVE(ConfigFs); + + public: + ConfigFs() = default; + + bool mount(const esp_partition_t* partition) { return m_fs.mount(partition, true, /*formatOnFail=*/true); } + void unmount() { m_fs.unmount(); } + bool isMounted() const { return m_fs.isMounted(); } + + bool exists(const char* path) { return m_fs.exists(path); } + bool read(const char* path, std::vector& out) { return m_fs.readAll(path, out); } + bool write(const char* path, std::span data) { return m_fs.writeAll(path, data); } + bool remove(const char* path) { return m_fs.remove(path); } + + private: + LfsPartition m_fs; + }; +} // namespace OpenShock diff --git a/components/fs/include/fs/LfsPartition.h b/components/fs/include/fs/LfsPartition.h new file mode 100644 index 00000000..38ea36a3 --- /dev/null +++ b/components/fs/include/fs/LfsPartition.h @@ -0,0 +1,59 @@ +#pragma once + +#include "OpenShock.h" + +#include + +#include +#include +#include +#include + +namespace OpenShock { + namespace detail { + struct LfsState; // defined in LfsPartition.cpp — keeps lfs.h out of public headers + } + + // Mounts a littlefs filesystem directly over a raw esp_partition using the vendored + // littlefs core — no VFS registration. This is the shared kernel behind StaticFs + // (read-only) and ConfigFs (read/write); most callers should use one of those + // façades rather than this class directly. + // + // Not thread-safe: callers that share a partition across tasks must serialize access + // themselves. + class LfsPartition { + DISABLE_COPY(LfsPartition); + DISABLE_MOVE(LfsPartition); + + public: + LfsPartition(); + ~LfsPartition(); + + // Mount `partition`. When `writable` is false, prog/erase are refused and wear + // leveling is disabled (correct for a pre-built, read-only image). When `writable` + // is true and the mount fails, the partition is formatted first if `formatOnFail`. + bool mount(const esp_partition_t* partition, bool writable, bool formatOnFail = false); + void unmount(); + bool isMounted() const { return m_mounted; } + + bool exists(const char* path); + + // Stream a file to `sink` in chunks. Returns false if the file is missing/unreadable + // or if `sink` returns false (which aborts the stream). + bool readStream(const char* path, const std::function)>& sink); + + // Read a whole file into `out`. Returns false (and clears `out`) on any error. + bool readAll(const char* path, std::vector& out); + + // Atomically replace `path` with `data` (write to a temp file, then rename). + // Writable mounts only. + bool writeAll(const char* path, std::span data); + + // Delete `path`. Writable mounts only. + bool remove(const char* path); + + private: + detail::LfsState* m_state; + bool m_mounted; + }; +} // namespace OpenShock diff --git a/components/fs/include/fs/StaticFs.h b/components/fs/include/fs/StaticFs.h new file mode 100644 index 00000000..3ce92aa0 --- /dev/null +++ b/components/fs/include/fs/StaticFs.h @@ -0,0 +1,34 @@ +#pragma once + +#include "fs/LfsPartition.h" + +#include "OpenShock.h" + +#include + +#include +#include +#include + +namespace OpenShock { + // Read-only view of a littlefs partition — for pre-built images (e.g. the captive + // portal's gzipped web assets) that are flashed once and only read at runtime. + // Streams files out to a caller-provided sink; never writes. + class StaticFs { + DISABLE_COPY(StaticFs); + DISABLE_MOVE(StaticFs); + + public: + StaticFs() = default; + + bool mount(const esp_partition_t* partition) { return m_fs.mount(partition, false); } + void unmount() { m_fs.unmount(); } + bool isMounted() const { return m_fs.isMounted(); } + + bool exists(const char* path) { return m_fs.exists(path); } + bool readFile(const char* path, const std::function)>& sink) { return m_fs.readStream(path, sink); } + + private: + LfsPartition m_fs; + }; +} // namespace OpenShock diff --git a/components/fs/src/LfsPartition.cpp b/components/fs/src/LfsPartition.cpp new file mode 100644 index 00000000..eef2215f --- /dev/null +++ b/components/fs/src/LfsPartition.cpp @@ -0,0 +1,252 @@ +#include "fs/LfsPartition.h" + +const char* const TAG = "LfsPartition"; + +#include "Logging.h" + +#include "lfs.h" + +#include +#include + +using namespace OpenShock; + +// Mount parameters must be compatible with how the image is built (see the +// CONFIG_LITTLEFS_* defaults / mklittlefs): 4 KB erase blocks, 128-byte read/prog. +// littlefs only fixes block_size + block_count on disk (validated against the +// superblock at mount); the rest are runtime buffer sizes. +static constexpr lfs_size_t LFS_BLOCK_SIZE = 4096; +static constexpr lfs_size_t LFS_READ_SIZE = 128; +static constexpr lfs_size_t LFS_PROG_SIZE = 128; +static constexpr lfs_size_t LFS_CACHE_SIZE = 512; +static constexpr lfs_size_t LFS_LOOKAHEAD_SIZE = 128; +static constexpr int32_t LFS_BLOCK_CYCLES_RW = 512; // wear leveling for read/write mounts + +// All littlefs state lives here so lfs.h stays out of the public headers. The block +// device callbacks recover it via lfs_config::context. +struct OpenShock::detail::LfsState { + lfs_t lfs; + struct lfs_config cfg; + const esp_partition_t* partition; + bool writable; +}; + +using OpenShock::detail::LfsState; + +static int bdRead(const struct lfs_config* c, lfs_block_t block, lfs_off_t off, void* buffer, lfs_size_t size) +{ + auto* st = static_cast(c->context); + size_t addr = static_cast(block) * c->block_size + off; + return esp_partition_read(st->partition, addr, buffer, size) == ESP_OK ? 0 : LFS_ERR_IO; +} + +static int bdProg(const struct lfs_config* c, lfs_block_t block, lfs_off_t off, const void* buffer, lfs_size_t size) +{ + auto* st = static_cast(c->context); + if (!st->writable) { + return LFS_ERR_IO; + } + size_t addr = static_cast(block) * c->block_size + off; + return esp_partition_write(st->partition, addr, buffer, size) == ESP_OK ? 0 : LFS_ERR_IO; +} + +static int bdErase(const struct lfs_config* c, lfs_block_t block) +{ + auto* st = static_cast(c->context); + if (!st->writable) { + return LFS_ERR_IO; + } + size_t addr = static_cast(block) * c->block_size; + return esp_partition_erase_range(st->partition, addr, c->block_size) == ESP_OK ? 0 : LFS_ERR_IO; +} + +static int bdSync(const struct lfs_config*) +{ + return 0; // esp_partition writes are synchronous +} + +LfsPartition::LfsPartition() + : m_state(new LfsState {}) + , m_mounted(false) +{ +} + +LfsPartition::~LfsPartition() +{ + unmount(); + delete m_state; +} + +bool LfsPartition::mount(const esp_partition_t* partition, bool writable, bool formatOnFail) +{ + if (m_mounted) { + return true; + } + if (partition == nullptr) { + return false; + } + + m_state->partition = partition; + m_state->writable = writable; + + struct lfs_config& cfg = m_state->cfg; + memset(&cfg, 0, sizeof(cfg)); + cfg.context = m_state; + cfg.read = &bdRead; + cfg.prog = &bdProg; + cfg.erase = &bdErase; + cfg.sync = &bdSync; + cfg.read_size = LFS_READ_SIZE; + cfg.prog_size = LFS_PROG_SIZE; + cfg.block_size = LFS_BLOCK_SIZE; + cfg.block_count = partition->size / LFS_BLOCK_SIZE; + cfg.block_cycles = writable ? LFS_BLOCK_CYCLES_RW : -1; // -1 disables wear leveling + cfg.cache_size = LFS_CACHE_SIZE; + cfg.lookahead_size = LFS_LOOKAHEAD_SIZE; + + int err = lfs_mount(&m_state->lfs, &cfg); + if (err < 0) { + if (writable && formatOnFail) { + OS_LOGW(TAG, "Mount failed (lfs error %d), formatting partition", err); + if (lfs_format(&m_state->lfs, &cfg) < 0 || lfs_mount(&m_state->lfs, &cfg) < 0) { + OS_LOGE(TAG, "Failed to format and mount partition"); + m_state->partition = nullptr; + return false; + } + } else { + OS_LOGE(TAG, "Failed to mount partition (lfs error %d)", err); + m_state->partition = nullptr; + return false; + } + } + + m_mounted = true; + return true; +} + +void LfsPartition::unmount() +{ + if (m_mounted) { + lfs_unmount(&m_state->lfs); + m_mounted = false; + } + m_state->partition = nullptr; +} + +bool LfsPartition::exists(const char* path) +{ + if (!m_mounted) { + return false; + } + struct lfs_info info; + return lfs_stat(&m_state->lfs, path, &info) >= 0; +} + +bool LfsPartition::readStream(const char* path, const std::function)>& sink) +{ + if (!m_mounted) { + return false; + } + + lfs_file_t file; + if (lfs_file_open(&m_state->lfs, &file, path, LFS_O_RDONLY) < 0) { + return false; + } + + uint8_t buf[1024]; + bool ok = true; + for (;;) { + lfs_ssize_t r = lfs_file_read(&m_state->lfs, &file, buf, sizeof(buf)); + if (r < 0) { + ok = false; + break; + } + if (r == 0) { + break; // EOF + } + if (!sink(std::span(buf, static_cast(r)))) { + ok = false; + break; + } + } + + lfs_file_close(&m_state->lfs, &file); + return ok; +} + +bool LfsPartition::readAll(const char* path, std::vector& out) +{ + out.clear(); + if (!m_mounted) { + return false; + } + + lfs_file_t file; + if (lfs_file_open(&m_state->lfs, &file, path, LFS_O_RDONLY) < 0) { + return false; + } + + bool ok = true; + lfs_soff_t size = lfs_file_size(&m_state->lfs, &file); + if (size < 0) { + ok = false; + } else if (size > 0) { + out.resize(static_cast(size)); + lfs_ssize_t r = lfs_file_read(&m_state->lfs, &file, out.data(), static_cast(size)); + if (r < 0 || static_cast(r) != static_cast(size)) { + ok = false; + } + } + + lfs_file_close(&m_state->lfs, &file); + if (!ok) { + out.clear(); + } + return ok; +} + +bool LfsPartition::writeAll(const char* path, std::span data) +{ + if (!m_mounted || !m_state->writable) { + return false; + } + + // Write to a temp file then rename, so a power loss can't leave a half-written file. + std::string tmp = std::string(path) + ".tmp"; + + lfs_file_t file; + if (lfs_file_open(&m_state->lfs, &file, tmp.c_str(), LFS_O_WRONLY | LFS_O_CREAT | LFS_O_TRUNC) < 0) { + return false; + } + + bool ok = true; + if (!data.empty()) { + lfs_ssize_t w = lfs_file_write(&m_state->lfs, &file, data.data(), data.size()); + if (w < 0 || static_cast(w) != data.size()) { + ok = false; + } + } + if (lfs_file_close(&m_state->lfs, &file) < 0) { + ok = false; + } + + if (!ok) { + lfs_remove(&m_state->lfs, tmp.c_str()); + return false; + } + + if (lfs_rename(&m_state->lfs, tmp.c_str(), path) < 0) { + lfs_remove(&m_state->lfs, tmp.c_str()); + return false; + } + + return true; +} + +bool LfsPartition::remove(const char* path) +{ + if (!m_mounted || !m_state->writable) { + return false; + } + return lfs_remove(&m_state->lfs, path) >= 0; +} diff --git a/components/static_fs/CMakeLists.txt b/components/static_fs/CMakeLists.txt deleted file mode 100644 index a450918e..00000000 --- a/components/static_fs/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -# Read-only littlefs partition reader over a raw esp_partition (no VFS registration), -# built on the vendored littlefs core. Streams files out to a caller-provided sink. -idf_component_register( - SRCS "src/StaticFs.cpp" - INCLUDE_DIRS "include" - REQUIRES common littlefs esp_partition logging -) diff --git a/components/static_fs/include/static_fs/StaticFs.h b/components/static_fs/include/static_fs/StaticFs.h deleted file mode 100644 index 651ded00..00000000 --- a/components/static_fs/include/static_fs/StaticFs.h +++ /dev/null @@ -1,48 +0,0 @@ -#pragma once - -#include "OpenShock.h" - -#include - -#include "lfs.h" - -#include -#include -#include -#include - -namespace OpenShock { - // Read-only littlefs mount over a raw esp_partition, using the vendored littlefs - // core directly — no VFS registration. Scoped to its owner so it doesn't leave a - // global mount point around, and so it stays independent of the filesystems other - // subsystems mount elsewhere. - class StaticFs { - DISABLE_COPY(StaticFs); - DISABLE_MOVE(StaticFs); - - public: - StaticFs(); - ~StaticFs(); - - bool mount(const esp_partition_t* partition); - void unmount(); - bool isMounted() const { return m_mounted; } - - bool exists(const char* path); - - // Stream a file to `sink` in chunks. Returns false if the file is missing or a - // read fails, or if `sink` returns false (which aborts the stream). - bool readFile(const char* path, const std::function)>& sink); - - private: - static int bdRead(const struct lfs_config* c, lfs_block_t block, lfs_off_t off, void* buffer, lfs_size_t size); - static int bdProg(const struct lfs_config* c, lfs_block_t block, lfs_off_t off, const void* buffer, lfs_size_t size); - static int bdErase(const struct lfs_config* c, lfs_block_t block); - static int bdSync(const struct lfs_config* c); - - const esp_partition_t* m_partition; - lfs_t m_lfs; - struct lfs_config m_cfg; - bool m_mounted; - }; -} // namespace OpenShock diff --git a/components/static_fs/src/StaticFs.cpp b/components/static_fs/src/StaticFs.cpp deleted file mode 100644 index ee405aca..00000000 --- a/components/static_fs/src/StaticFs.cpp +++ /dev/null @@ -1,140 +0,0 @@ -#include "static_fs/StaticFs.h" - -const char* const TAG = "StaticFs"; - -#include "Logging.h" - -#include - -using namespace OpenShock; - -// Mount parameters must be compatible with how the littlefs image is built (see the -// CONFIG_LITTLEFS_* defaults / mklittlefs): 4 KB erase blocks, 128-byte read/prog. -// littlefs only fixes block_size + block_count on disk (validated against the -// superblock at mount); the rest are runtime buffer sizes. -static constexpr lfs_size_t LFS_BLOCK_SIZE = 4096; -static constexpr lfs_size_t LFS_READ_SIZE = 128; -static constexpr lfs_size_t LFS_PROG_SIZE = 128; -static constexpr lfs_size_t LFS_CACHE_SIZE = 512; -static constexpr lfs_size_t LFS_LOOKAHEAD_SIZE = 128; - -int StaticFs::bdRead(const struct lfs_config* c, lfs_block_t block, lfs_off_t off, void* buffer, lfs_size_t size) -{ - auto* self = static_cast(c->context); - size_t addr = static_cast(block) * c->block_size + off; - return esp_partition_read(self->m_partition, addr, buffer, size) == ESP_OK ? 0 : LFS_ERR_IO; -} - -int StaticFs::bdProg(const struct lfs_config*, lfs_block_t, lfs_off_t, const void*, lfs_size_t) -{ - return LFS_ERR_IO; // read-only mount -} - -int StaticFs::bdErase(const struct lfs_config*, lfs_block_t) -{ - return LFS_ERR_IO; // read-only mount -} - -int StaticFs::bdSync(const struct lfs_config*) -{ - return 0; // nothing to flush -} - -StaticFs::StaticFs() - : m_partition(nullptr) - , m_lfs {} - , m_cfg {} - , m_mounted(false) -{ -} - -StaticFs::~StaticFs() -{ - unmount(); -} - -bool StaticFs::mount(const esp_partition_t* partition) -{ - if (m_mounted) { - return true; - } - if (partition == nullptr) { - return false; - } - - m_partition = partition; - - memset(&m_cfg, 0, sizeof(m_cfg)); - m_cfg.context = this; - m_cfg.read = &StaticFs::bdRead; - m_cfg.prog = &StaticFs::bdProg; - m_cfg.erase = &StaticFs::bdErase; - m_cfg.sync = &StaticFs::bdSync; - m_cfg.read_size = LFS_READ_SIZE; - m_cfg.prog_size = LFS_PROG_SIZE; - m_cfg.block_size = LFS_BLOCK_SIZE; - m_cfg.block_count = partition->size / LFS_BLOCK_SIZE; - m_cfg.block_cycles = -1; // read-only, no wear leveling - m_cfg.cache_size = LFS_CACHE_SIZE; - m_cfg.lookahead_size = LFS_LOOKAHEAD_SIZE; - - int err = lfs_mount(&m_lfs, &m_cfg); - if (err < 0) { - OS_LOGE(TAG, "Failed to mount littlefs partition (lfs error %d)", err); - m_partition = nullptr; - return false; - } - - m_mounted = true; - return true; -} - -void StaticFs::unmount() -{ - if (m_mounted) { - lfs_unmount(&m_lfs); - m_mounted = false; - } - m_partition = nullptr; -} - -bool StaticFs::exists(const char* path) -{ - if (!m_mounted) { - return false; - } - struct lfs_info info; - return lfs_stat(&m_lfs, path, &info) >= 0; -} - -bool StaticFs::readFile(const char* path, const std::function)>& sink) -{ - if (!m_mounted) { - return false; - } - - lfs_file_t file; - if (lfs_file_open(&m_lfs, &file, path, LFS_O_RDONLY) < 0) { - return false; - } - - uint8_t buf[1024]; - bool ok = true; - for (;;) { - lfs_ssize_t r = lfs_file_read(&m_lfs, &file, buf, sizeof(buf)); - if (r < 0) { - ok = false; - break; - } - if (r == 0) { - break; // EOF - } - if (!sink(std::span(buf, static_cast(r)))) { - ok = false; - break; - } - } - - lfs_file_close(&m_lfs, &file); - return ok; -} From d22d1a843cfe570472f65b364223e0bf5149b102 Mon Sep 17 00:00:00 2001 From: HeavenVR Date: Thu, 9 Jul 2026 20:02:41 +0200 Subject: [PATCH 44/91] build: migrate to espressif32 7.0.1 / ESP-IDF 6, drop Arduino framework - platform: pioarduino Arduino build -> official espressif32 @ 7.0.1 (ESP-IDF 6.0.1) - framework: "arduino, espidf" -> espidf only - drop Arduino-only lib_deps (ESPAsyncWebServer, BadWebSockets) and the async-tcp queue-size define; WebSocket/HTTP now use esp_websocket_client and esp_http_server - add -Wno-error: IDF 6 compiles the src component with -Werror, which turned intentional #warning notices and an IDF framework missing-include-dir quirk (mspi_timing_tuning) into hard errors --- components/common/src/ArduinoExistanceCheck.cpp | 5 ----- platformio.ini | 11 ++++++----- 2 files changed, 6 insertions(+), 10 deletions(-) delete mode 100644 components/common/src/ArduinoExistanceCheck.cpp diff --git a/components/common/src/ArduinoExistanceCheck.cpp b/components/common/src/ArduinoExistanceCheck.cpp deleted file mode 100644 index 775e391b..00000000 --- a/components/common/src/ArduinoExistanceCheck.cpp +++ /dev/null @@ -1,5 +0,0 @@ -// Check if Arduino.h exists, if not instruct the developer to remove "arduino-esp32" from the useragent and replace it with "ESP-IDF", after which the developer may remove this warning. -#if defined(__has_include) && !__has_include("Arduino.h") -#warning \ - "Let it be known that Arduino hath finally been cast aside in favor of the noble ESP-IDF! I beseech thee, kind sir or madam, wouldst thou kindly partake in the honors of expunging 'arduino-esp32' from yonder useragent aloft, and in its stead, bestow the illustrious 'ESP-IDF'?" -#endif diff --git a/platformio.ini b/platformio.ini index 456c96c1..c18df972 100644 --- a/platformio.ini +++ b/platformio.ini @@ -9,9 +9,9 @@ ; https://docs.platformio.org/page/projectconf.html [env] -platform = https://github.com/pioarduino/platform-espressif32/releases/download/55.03.39/platform-espressif32.zip +platform = espressif32 @ 7.0.1 board = az-delivery-devkit-v4 ; Overridden per board -framework = arduino, espidf +framework = espidf platform_packages = platformio/tool-xtensa-esp-elf-gdb @@ -21,7 +21,6 @@ build_flags = -std=c++2a -std=gnu++2a -fno-exceptions - -DCONFIG_ASYNC_TCP_QUEUE_SIZE=256 build_unflags = -std=gnu++11 @@ -31,6 +30,10 @@ build_src_flags = -Wextra ;-Wpedantic ;-Werror + ; ESP-IDF 6.0 / espressif32 7.x compile the src component with -Werror. Keep our own + ; diagnostics non-fatal: intentional #warning notices (e.g. the TLS-verify caveat) and + ; the IDF framework's own missing-include-dir quirk (mspi_timing_tuning) must not fail the build. + -Wno-error ;-Wcast-align ;-Wcast-qual ;-Wctor-dtor-privacy @@ -57,8 +60,6 @@ build_src_flags = lib_deps = https://github.com/google/flatbuffers#81edeb17d9118143f2c81caf27edfb0df401279e - https://github.com/OpenShock/ESPAsyncWebServer#7a13c34784ae385aabd45cc02f2e1d174ccc0601 - https://github.com/OpenShock/BadWebSockets#c2ad2c21d39781748af9b4675eb65f7a5c51f40c ; Under framework=arduino,espidf the Arduino libraries are already compiled as part ; of the framework-arduinoespressif32 IDF component. PIO's LDF must not also pull ; them in from lib/libdeps or we get split translation units (e.g. NetworkClientSecure From 8a0852474d366d28998b2edd6cc44e0d473620d3 Mon Sep 17 00:00:00 2001 From: HeavenVR Date: Thu, 9 Jul 2026 20:05:35 +0200 Subject: [PATCH 45/91] feat(fs): add TestFilesystem() partition-probe helpers Non-destructive helpers that validate a partition holds a mountable littlefs image (mount read-only via LfsPartition, no format-on-fail, unmount). One overload takes an esp_partition_t*, the other finds a data partition by label. Used by the OTA flow to verify a freshly flashed filesystem image. --- components/fs/CMakeLists.txt | 2 ++ components/fs/include/fs/FsCheck.h | 18 ++++++++++++++++++ components/fs/src/FsCheck.cpp | 26 ++++++++++++++++++++++++++ 3 files changed, 46 insertions(+) create mode 100644 components/fs/include/fs/FsCheck.h create mode 100644 components/fs/src/FsCheck.cpp diff --git a/components/fs/CMakeLists.txt b/components/fs/CMakeLists.txt index 7c77b173..70cfa31f 100644 --- a/components/fs/CMakeLists.txt +++ b/components/fs/CMakeLists.txt @@ -2,11 +2,13 @@ # core. Provides the shared LfsPartition mount kernel plus two façades: # - StaticFs: read-only, streams pre-built image assets (e.g. the captive portal UI) # - ConfigFs: read/write blob store for configuration (atomic writes, wear leveling) +# and FsCheck: non-destructive helpers to validate a partition holds a mountable image. # # littlefs is a PRIVATE dependency: lfs.h is confined to LfsPartition.cpp so it never # leaks into consumers of this component's headers. idf_component_register( SRCS "src/LfsPartition.cpp" + "src/FsCheck.cpp" INCLUDE_DIRS "include" REQUIRES common esp_partition PRIV_REQUIRES littlefs logging diff --git a/components/fs/include/fs/FsCheck.h b/components/fs/include/fs/FsCheck.h new file mode 100644 index 00000000..3ba27801 --- /dev/null +++ b/components/fs/include/fs/FsCheck.h @@ -0,0 +1,18 @@ +#pragma once + +#include + +namespace OpenShock { + // Verify that `partition` holds a valid, mountable littlefs image by mounting it and + // immediately unmounting. Returns false for a null partition or any mount failure. + // + // Non-destructive: `writable` is passed through to the mount (a read-only mount can + // never write), and a corrupt image is never reformatted (formatOnFail=false), so + // this stays a pure check regardless of `writable`. Use it to validate a freshly + // flashed filesystem image before committing to it. + bool TestFilesystem(const esp_partition_t* partition, bool writable = false); + + // Convenience overload: find a data partition by label (any subtype) and test it. + // Returns false if no such partition exists or it fails to mount. + bool TestFilesystem(const char* partitionLabel, bool writable = false); +} // namespace OpenShock diff --git a/components/fs/src/FsCheck.cpp b/components/fs/src/FsCheck.cpp new file mode 100644 index 00000000..59265c58 --- /dev/null +++ b/components/fs/src/FsCheck.cpp @@ -0,0 +1,26 @@ +#include "fs/FsCheck.h" + +#include "fs/LfsPartition.h" + +using namespace OpenShock; + +bool OpenShock::TestFilesystem(const esp_partition_t* partition, bool writable) +{ + if (partition == nullptr) { + return false; + } + + LfsPartition fs; + if (!fs.mount(partition, writable, /*formatOnFail=*/false)) { + return false; + } + + fs.unmount(); + return true; +} + +bool OpenShock::TestFilesystem(const char* partitionLabel, bool writable) +{ + const esp_partition_t* partition = esp_partition_find_first(ESP_PARTITION_TYPE_DATA, ESP_PARTITION_SUBTYPE_ANY, partitionLabel); + return TestFilesystem(partition, writable); +} From c73129360f560ce749054b717c0f32721e965e6b Mon Sep 17 00:00:00 2001 From: HeavenVR Date: Thu, 9 Jul 2026 20:08:48 +0200 Subject: [PATCH 46/91] refactor: drop remaining Arduino references from ESP-IDF components Now that the Arduino framework is gone, strip lingering Arduino mentions from the extracted components: - Set the HTTP User-Agent to "ESP-IDF" instead of "arduino-esp32". - Fix stale/incorrect comments (led_drivers uses the IDF RMT driver, not Arduino's HAL; the util/common host-test stubs no longer shadow Arduino logging). - Reword the logging component rationale that referenced Arduino coexistence. --- components/common/CMakeLists.txt | 4 ++-- components/common/host_test/CMakeLists.txt | 2 +- components/common/include/OpenShock.h | 2 +- components/http/src/HTTPRequestManager.cpp | 4 ++-- components/led_drivers/CMakeLists.txt | 4 ++-- components/logging/CMakeLists.txt | 7 +++---- components/logging/include/Logging.h | 7 +++---- components/logging/src/Logging.cpp | 3 +-- components/util/host_test/main/CMakeLists.txt | 5 +++-- components/util/host_test/main/stubs/Logging.h | 8 ++++---- 10 files changed, 22 insertions(+), 24 deletions(-) diff --git a/components/common/CMakeLists.txt b/components/common/CMakeLists.txt index 8af7c541..385ae5f6 100644 --- a/components/common/CMakeLists.txt +++ b/components/common/CMakeLists.txt @@ -1,6 +1,7 @@ # OpenShock foundation headers — pure language-level utilities. # -# Header-only. No SRCS. Arduino-free. Consumers pick these up by `REQUIRES common`. +# Headers plus a single compile-time language-version guard. Consumers pick these +# up by `REQUIRES common`. # # Public surface: # Common.h — basic defines, DISABLE_DEFAULT/COPY/MOVE macros @@ -9,6 +10,5 @@ idf_component_register( SRCS "src/LanguageVersionCheck.cpp" - "src/ArduinoExistanceCheck.cpp" INCLUDE_DIRS "include" ) diff --git a/components/common/host_test/CMakeLists.txt b/components/common/host_test/CMakeLists.txt index ff5a2ebe..c30d26bb 100644 --- a/components/common/host_test/CMakeLists.txt +++ b/components/common/host_test/CMakeLists.txt @@ -3,7 +3,7 @@ cmake_minimum_required(VERSION 3.16) include($ENV{IDF_PATH}/tools/cmake/project.cmake) # Only build 'main'; the common headers are pulled in by include path (they are -# header-only and Arduino-free, so no firmware component needs to be linked). +# header-only, so no firmware component needs to be linked). set(COMPONENTS main) # linux-target freertos mock, so unity's IDF integration has its dependencies. diff --git a/components/common/include/OpenShock.h b/components/common/include/OpenShock.h index c228d7ee..b3af61af 100644 --- a/components/common/include/OpenShock.h +++ b/components/common/include/OpenShock.h @@ -33,7 +33,7 @@ // Check if OPENSHOCK_FW_USERAGENT is overridden trough compiler flags, if not, generate a default useragent. #ifndef OPENSHOCK_FW_USERAGENT -#define OPENSHOCK_FW_USERAGENT OPENSHOCK_FW_HOSTNAME "/" OPENSHOCK_FW_VERSION " (arduino-esp32; " OPENSHOCK_FW_BOARD "; " OPENSHOCK_FW_CHIP "; Espressif)" +#define OPENSHOCK_FW_USERAGENT OPENSHOCK_FW_HOSTNAME "/" OPENSHOCK_FW_VERSION " (ESP-IDF; " OPENSHOCK_FW_BOARD "; " OPENSHOCK_FW_CHIP "; Espressif)" #endif namespace OpenShock::Constants { diff --git a/components/http/src/HTTPRequestManager.cpp b/components/http/src/HTTPRequestManager.cpp index b9889bab..d34425b8 100644 --- a/components/http/src/HTTPRequestManager.cpp +++ b/components/http/src/HTTPRequestManager.cpp @@ -167,8 +167,8 @@ HTTP::Response HTTP::Client::Download(std::string_view url, const s // Open the connection, reusing the kept-alive handle when possible. If a // reused (kept-alive) socket has been closed by the server, drop it and - // reconnect fresh once. HTTPS server certificates are not verified (matches - // the previous Arduino behavior). TODO: attach the embedded x509 cert bundle. + // reconnect fresh once. HTTPS server certificates are not verified yet. + // TODO: attach the embedded x509 cert bundle. esp_err_t err = ESP_FAIL; for (int attempt = 0; attempt < 2; ++attempt) { bool reused = m_handle != nullptr; diff --git a/components/led_drivers/CMakeLists.txt b/components/led_drivers/CMakeLists.txt index 8321bd61..718dedc1 100644 --- a/components/led_drivers/CMakeLists.txt +++ b/components/led_drivers/CMakeLists.txt @@ -1,5 +1,5 @@ -# OpenShock LED drivers — both mono (PWM via LEDC) and RGB (WS2812B via -# Arduino-ESP32's RMT HAL). +# OpenShock LED drivers — both mono (PWM via LEDC) and RGB (WS2812B via the +# ESP-IDF RMT driver, esp_driver_rmt). # # Public surface: # led_drivers/MonoLedDriver.h diff --git a/components/logging/CMakeLists.txt b/components/logging/CMakeLists.txt index 34b04589..36e69bb0 100644 --- a/components/logging/CMakeLists.txt +++ b/components/logging/CMakeLists.txt @@ -1,9 +1,8 @@ # OpenShock logging macros — OS_LOG*, OS_PANIC*. # -# Split from `common` so `common` can stay Arduino-clean. openshock_log_printf -# (Logging.cpp) forwards to vprintf -> the IDF console, so logging no longer -# depends on Arduino's esp32-hal-log wrapper. Merge back into `common` once -# Arduino is out of the link entirely. +# openshock_log_printf (Logging.cpp) forwards to vprintf -> the IDF console. Kept +# as its own component so `common` can stay dependency-light — logging pulls in +# the IDF `log` component, `common` does not. idf_component_register( SRCS "src/Logging.cpp" diff --git a/components/logging/include/Logging.h b/components/logging/include/Logging.h index 440b26eb..7c969b1c 100644 --- a/components/logging/include/Logging.h +++ b/components/logging/include/Logging.h @@ -5,10 +5,9 @@ #include // openshock_log_printf forwards to vprintf (the IDF console: UART0 + any secondary -// USB-Serial-JTAG/CDC output). Defined in Logging.cpp so logging carries no -// Arduino/hardware include and stays host-portable (the host test no-ops the macros). -// Named distinctly from Arduino's log_printf so both can coexist while the -// framework is still `arduino, espidf`. +// USB-Serial-JTAG/CDC output). Defined in Logging.cpp so this header carries no +// hardware include and stays host-portable (the host test no-ops the macros). +// Named distinctly from the framework's own log_printf to avoid a symbol clash. extern "C" int openshock_log_printf(const char* fmt, ...); template diff --git a/components/logging/src/Logging.cpp b/components/logging/src/Logging.cpp index 30e09bd1..783fce38 100644 --- a/components/logging/src/Logging.cpp +++ b/components/logging/src/Logging.cpp @@ -5,8 +5,7 @@ // Forwards OpenShock's OS_LOG* output to the IDF console. vprintf writes to // stdout, which IDF's console driver routes to the primary UART (UART0) and any -// configured secondary channel (USB-Serial-JTAG / USB-CDC). This keeps logging -// free of any Arduino dependency. +// configured secondary channel (USB-Serial-JTAG / USB-CDC). extern "C" int openshock_log_printf(const char* fmt, ...) { va_list args; diff --git a/components/util/host_test/main/CMakeLists.txt b/components/util/host_test/main/CMakeLists.txt index f9e4cd78..bda43446 100644 --- a/components/util/host_test/main/CMakeLists.txt +++ b/components/util/host_test/main/CMakeLists.txt @@ -1,6 +1,7 @@ # Compile util's PURE sources directly (not via the util component) so we avoid -# util's firmware-only transitive deps (logging -> app_update / Arduino). A stub -# Logging.h (stubs/) satisfies the OS_LOG* macros the sources use. +# util's firmware-only transitive deps (logging pulls in IDF components that are +# unavailable on the host). A stub Logging.h (stubs/) satisfies the OS_LOG* +# macros the sources use. idf_component_register( SRCS "test_main.cpp" "test_convert.cpp" diff --git a/components/util/host_test/main/stubs/Logging.h b/components/util/host_test/main/stubs/Logging.h index d88357f9..a0c1af7b 100644 --- a/components/util/host_test/main/stubs/Logging.h +++ b/components/util/host_test/main/stubs/Logging.h @@ -1,9 +1,9 @@ #pragma once -// Host-test stub for the firmware Logging.h. The real one pulls in esp_ota_ops -// (app_update) and Arduino's log_printf, neither of which exists on the linux -// host target. util's pure sources only use these macros for diagnostics, so -// no-op them - the logic under test does not depend on logging. +// Host-test stub for the firmware Logging.h. The real one pulls in IDF logging +// components (esp_log and friends) that don't exist on the linux host target. +// util's pure sources only use these macros for diagnostics, so no-op them - +// the logic under test does not depend on logging. #define OS_LOGV(tag, ...) ((void)0) #define OS_LOGD(tag, ...) ((void)0) #define OS_LOGI(tag, ...) ((void)0) From 7f3de4769c9776f2e2221c6e32e53ea23733417b Mon Sep 17 00:00:00 2001 From: HeavenVR Date: Thu, 9 Jul 2026 20:20:23 +0200 Subject: [PATCH 47/91] build: fix ESP-IDF 6 build blockers and remove Arduino WS/RFC8908 files Fix three build errors surfaced by the ESP-IDF 6 migration: - chipset: REQUIRES driver -> esp_driver_gpio (driver/gpio.h moved when the monolithic driver component was split up) - WiFiManager: WIFI_REASON_ASSOC_EXPIRE -> WIFI_REASON_DISASSOC_DUE_TO_INACTIVITY (enum member renamed) - osjson/Json.cpp: reword a doc comment whose trailing backslash tripped -Werror=comment line continuation Remove the now-dead WebSocketDeFragger and captive-portal RFC8908Handler (replaced by the isolated ESP-IDF components), declare the esp_websocket_client managed dependency, wire up the app_main entry point, and update src REQUIRES. --- components/chipset/CMakeLists.txt | 4 +- components/osjson/src/Json.cpp | 2 +- include/WebSocketDeFragger.h | 43 --------- include/captiveportal/RFC8908Handler.h | 17 ---- src/CMakeLists.txt | 2 +- src/WebSocketDeFragger.cpp | 125 ------------------------- src/captiveportal/RFC8908Handler.cpp | 101 -------------------- src/idf_component.yml | 8 ++ src/main.cpp | 33 +++---- src/wifi/WiFiManager.cpp | 2 +- 10 files changed, 26 insertions(+), 311 deletions(-) delete mode 100644 include/WebSocketDeFragger.h delete mode 100644 include/captiveportal/RFC8908Handler.h delete mode 100644 src/WebSocketDeFragger.cpp delete mode 100644 src/captiveportal/RFC8908Handler.cpp create mode 100644 src/idf_component.yml diff --git a/components/chipset/CMakeLists.txt b/components/chipset/CMakeLists.txt index 9314974b..88c42799 100644 --- a/components/chipset/CMakeLists.txt +++ b/components/chipset/CMakeLists.txt @@ -11,6 +11,6 @@ idf_component_register( SRCS "src/CompatibilityChecks.cpp" INCLUDE_DIRS "include" - REQUIRES common # Common.h - driver # driver/gpio.h + REQUIRES common # Common.h + esp_driver_gpio # driver/gpio.h ) diff --git a/components/osjson/src/Json.cpp b/components/osjson/src/Json.cpp index 6dc71e9c..f4a1ed66 100644 --- a/components/osjson/src/Json.cpp +++ b/components/osjson/src/Json.cpp @@ -16,7 +16,7 @@ using namespace OpenShock; // control character U+0000-U+001F; everything else is `unescaped` // (%x20-21 / %x23-5B / %x5D-10FFFF) and passes through byte-for-byte. // -// " \ -> \" \\ +// quote (") and backslash -> \" and \\ (two-char escapes) // 0x08 0x0C 0x0A 0x0D 0x09 -> \b \f \n \r \t (the RFC's short forms) // other 0x00-0x1F -> \u00XX // >= 0x20 (incl. 0x7F/DEL and UTF-8 multibyte) -> passthrough diff --git a/include/WebSocketDeFragger.h b/include/WebSocketDeFragger.h deleted file mode 100644 index d1cc99ee..00000000 --- a/include/WebSocketDeFragger.h +++ /dev/null @@ -1,43 +0,0 @@ -#pragma once - -#include "enums/WebSocketMessageType.h" -#include "OpenShock.h" -#include "TinyVec.h" - -#include - -#include -#include -#include -#include - -namespace OpenShock { - class WebSocketDeFragger { - DISABLE_COPY(WebSocketDeFragger); - DISABLE_MOVE(WebSocketDeFragger); - - public: - typedef std::function data)> EventCallback; - - WebSocketDeFragger(EventCallback callback); - ~WebSocketDeFragger(); - - void handler(uint8_t socketId, WStype_t type, const uint8_t* payload, std::size_t length); - void onEvent(const EventCallback& callback); - void clear(uint8_t socketId); - void clear(); - - private: - void start(uint8_t socketId, WebSocketMessageType type, const uint8_t* data, uint32_t length); - void append(uint8_t socketId, const uint8_t* data, uint32_t length); - void finish(uint8_t socketId, const uint8_t* data, uint32_t length); - - struct Message { - TinyVec data; - WebSocketMessageType type; - }; - - std::map m_messages; - EventCallback m_callback; - }; -} // namespace OpenShock diff --git a/include/captiveportal/RFC8908Handler.h b/include/captiveportal/RFC8908Handler.h deleted file mode 100644 index 36c6e2c6..00000000 --- a/include/captiveportal/RFC8908Handler.h +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once - -#include - -namespace OpenShock::CaptivePortal { - class RFC8908Handler : public AsyncWebHandler { - public: - RFC8908Handler() = default; - virtual ~RFC8908Handler() = default; - - // Static helper for fallback NotFound behavior - static void CatchAll(AsyncWebServerRequest* request); - - bool canHandle(AsyncWebServerRequest* request) const override; - void handleRequest(AsyncWebServerRequest* request) override; - }; -} // namespace OpenShock::CaptivePortal diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index ce0b6797..3516aada 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -2,5 +2,5 @@ FILE(GLOB_RECURSE app_sources ${CMAKE_SOURCE_DIR}/src/*.*) idf_component_register( SRCS ${app_sources} - REQUIRES common temporal logging panic concurrency util hwutil http chipset led_drivers protocols osjson events esp_driver_uart esp_driver_usb_serial_jtag esp_driver_rmt + REQUIRES common temporal logging panic concurrency util hwutil http chipset led_drivers protocols osjson events esp_driver_uart esp_driver_usb_serial_jtag esp_driver_rmt esp_http_server esp_netif esp_event fs dns_server rfc8908 espressif__esp_websocket_client ) diff --git a/src/WebSocketDeFragger.cpp b/src/WebSocketDeFragger.cpp deleted file mode 100644 index 7e99bc14..00000000 --- a/src/WebSocketDeFragger.cpp +++ /dev/null @@ -1,125 +0,0 @@ -#include "WebSocketDeFragger.h" - -const char* const TAG = "WebSocketDeFragger"; - -#include "Logging.h" - -#include - -using namespace OpenShock; - -WebSocketDeFragger::WebSocketDeFragger(EventCallback callback) - : m_messages() - , m_callback(callback) -{ -} - -WebSocketDeFragger::~WebSocketDeFragger() -{ - clear(); -} - -void WebSocketDeFragger::handler(uint8_t socketId, WStype_t type, const uint8_t* payload, std::size_t length) -{ - switch (type) { - case WStype_FRAGMENT_BIN_START: - start(socketId, WebSocketMessageType::Binary, payload, length); - return; - case WStype_FRAGMENT_TEXT_START: - start(socketId, WebSocketMessageType::Text, payload, length); - return; - case WStype_FRAGMENT: - append(socketId, payload, length); - return; - case WStype_FRAGMENT_FIN: - finish(socketId, payload, length); - return; - [[likely]] default: - clear(socketId); - break; - } - - WebSocketMessageType messageType; - switch (type) { - case WStype_DISCONNECTED: - messageType = WebSocketMessageType::Disconnected; - break; - case WStype_CONNECTED: - messageType = WebSocketMessageType::Connected; - break; - case WStype_TEXT: - messageType = WebSocketMessageType::Text; - break; - [[likely]] case WStype_BIN: - messageType = WebSocketMessageType::Binary; - break; - case WStype_PING: - messageType = WebSocketMessageType::Ping; - break; - case WStype_PONG: - messageType = WebSocketMessageType::Pong; - break; - [[unlikely]] default: - OS_LOGE(TAG, "WebSocket client #%u error %u: %s", socketId, length, reinterpret_cast(payload)); - return; - } - - m_callback(socketId, messageType, std::span(payload, length)); -} - -void WebSocketDeFragger::onEvent(const EventCallback& callback) -{ - m_callback = callback; -} - -void WebSocketDeFragger::clear(uint8_t socketId) -{ - auto it = m_messages.find(socketId); - if (it != m_messages.end()) { - it->second.data.clear(); - m_messages.erase(it); - } -} - -void WebSocketDeFragger::clear() -{ - m_messages.clear(); -} - -void WebSocketDeFragger::start(uint8_t socketId, WebSocketMessageType type, const uint8_t* data, uint32_t length) -{ - auto it = m_messages.find(socketId); - if (it != m_messages.end()) { - it->second.data.assign(data, length); - it->second.type = type; - return; - } - - m_messages.insert(std::make_pair(socketId, Message {.data = TinyVec(data, length), .type = type})); -} - -void WebSocketDeFragger::append(uint8_t socketId, const uint8_t* data, uint32_t length) -{ - auto it = m_messages.find(socketId); - if (it == m_messages.end()) { - return; - } - - it->second.data.append(data, length); -} - -void WebSocketDeFragger::finish(uint8_t socketId, const uint8_t* data, uint32_t length) -{ - auto it = m_messages.find(socketId); - if (it == m_messages.end()) { - return; - } - - auto& message = it->second; - message.data.append(data, length); - - m_callback(socketId, message.type, message.data); - - message.data.clear(); - m_messages.erase(it); -} diff --git a/src/captiveportal/RFC8908Handler.cpp b/src/captiveportal/RFC8908Handler.cpp deleted file mode 100644 index 09875d57..00000000 --- a/src/captiveportal/RFC8908Handler.cpp +++ /dev/null @@ -1,101 +0,0 @@ -#include "captiveportal/RFC8908Handler.h" - -const char* const TAG = "RFC8908Handler"; - -#include "captiveportal/Manager.h" -#include "http/ContentTypes.h" -#include "Logging.h" - -#include - -#include "json/Json.h" - -using namespace OpenShock; - -static const char* const captivePortalApiPath = "/captive-portal/api"; - -static const char* const probeRequestrefixes[] = {"/gen_204", "/generate_204", "/hotspot-detect.", "/success.", "/connecttest.", "/check_network_status.", "/canonical.", "/ncsi.txt", captivePortalApiPath}; - -static String GetCaptivePortalUrl() -{ - return String("http://") + CaptivePortal::ApIPv4String() + "/"; -} - -// Catch-all handler for OS connectivity probes. -// Operating systems attempt to detect internet access by requesting -// well-known URLs. Redirecting these requests to the portal root -// intentionally fails connectivity checks and activates captive -// portal mode. -// -// This mechanism complements the IETF CAPPORT architecture (RFC 8908), -// which provides a machine-readable API for captive state, while this -// handler ensures broad OS compatibility. -void CaptivePortal::RFC8908Handler::CatchAll(AsyncWebServerRequest* request) -{ - AsyncWebServerResponse* response = request->beginResponse(302); - response->addHeader(asyncsrv::T_LOCATION, GetCaptivePortalUrl()); - response->addHeader(asyncsrv::T_Cache_Control, "no-store, no-cache, must-revalidate"); - response->addHeader("Pragma", "no-cache"); - response->addHeader("Expires", "0"); - request->send(response); -} - -bool CaptivePortal::RFC8908Handler::canHandle(AsyncWebServerRequest* request) const -{ - if (!request->isHTTP() || request->method() != WebRequestMethod::HTTP_GET) { - return false; - } - - auto& url = request->url(); - - for (auto& prefix : probeRequestrefixes) { - if (url.startsWith(prefix)) return true; - } - - return false; -} -void CaptivePortal::RFC8908Handler::handleRequest(AsyncWebServerRequest* request) -{ - auto& url = request->url(); - - // Captive Portal API endpoint (RFC 8908) - // - // Provides a machine-readable JSON interface for clients to query - // their captive portal state. This complements the classic redirect-based - // captive portal detection used by Android, iOS/macOS, and Windows. - // - // Minimal required fields for RFC compliance: - // - "captive": boolean indicating whether the client is still captive - // - "user-portal-url": URL of the portal page the client should visit - // - // Optional fields that can be added later: - // - "venue-info-url", "can-extend-session", "seconds-remaining", "bytes-remaining" - // - // Clients accessing this endpoint should respect "Cache-Control: no-store" - // and only rely on this data over HTTPS if possible. On embedded devices, - // HTTPS may be omitted for practicality, but the redirect-based captive - // portal ensures broad OS compatibility. - if (url.equals(captivePortalApiPath)) { - OS_LOGI(TAG, "Got Captive API request"); - - auto portalUrl = GetCaptivePortalUrl(); - - OpenShock::JSON::StringWriter writer; - json_gen_str_t* gen = writer.gen(); - json_gen_start_object(gen); - json_gen_obj_set_bool(gen, "captive", true); - JSON::objSetString(gen, "user-portal-url", portalUrl.c_str()); - JSON::objSetString(gen, "venue-info-url", "https://openshock.org"); - json_gen_end_object(gen); - std::string jsonStr = writer.finish(); - - AsyncWebServerResponse* response = request->beginResponse(200, "application/captive+json", jsonStr.c_str()); - - response->addHeader("Cache-Control", "private"); - request->send(response); - return; - } - - // Fallback to 302 - CatchAll(request); -} diff --git a/src/idf_component.yml b/src/idf_component.yml new file mode 100644 index 00000000..9fde9e8a --- /dev/null +++ b/src/idf_component.yml @@ -0,0 +1,8 @@ +# esp_websocket_client backs the gateway (LCG) WebSocket client (src/GatewayClient.cpp) +# now that we no longer use the Arduino BadWebSockets library. In IDF 5.x it is a +# managed component rather than a bundled one, so declare it here. +# +# The captive portal's static assets are read from a littlefs partition via the raw +# vendored littlefs core (components/littlefs) — no VFS, no joltwallet. +dependencies: + espressif/esp_websocket_client: "^1.4.0" diff --git a/src/main.cpp b/src/main.cpp index 5bf00132..eaf7926d 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -18,8 +18,6 @@ const char* const TAG = "main"; #include "wifi/WiFiManager.h" #include "wifi/WiFiScanManager.h" -#include - #include // Internal setup function, returns true if setup succeeded, false otherwise. @@ -90,8 +88,19 @@ void appSetup() } } -// Arduino setup function -void setup() +void main_app(void* arg) +{ + while (true) { + OpenShock::GatewayConnectionManager::Update(); + + vTaskDelay(5); // 5 ticks update interval + } +} + +// ESP-IDF application entry point. Runs the one-time setup, then spawns the +// long-lived main task. When app_main returns, its own task is torn down by IDF +// while the main_app task keeps the firmware running. +extern "C" void app_main() { OpenShock::Config::Init(); @@ -108,25 +117,9 @@ void setup() } else { appSetup(); } -} - -void main_app(void* arg) -{ - while (true) { - OpenShock::GatewayConnectionManager::Update(); - - vTaskDelay(5); // 5 ticks update interval - } -} -void loop() -{ // Start the main task if (OpenShock::TaskUtils::TaskCreateExpensive(main_app, "main_app", 8192, nullptr, 1, nullptr) != pdPASS) { // PROFILED: 6KB stack usage OS_PANIC(TAG, "Failed to create main_app task"); - return; } - - // Kill the loop task (Arduino is stinky) - vTaskDelete(nullptr); } diff --git a/src/wifi/WiFiManager.cpp b/src/wifi/WiFiManager.cpp index 739eddd3..f5a17a9b 100644 --- a/src/wifi/WiFiManager.cpp +++ b/src/wifi/WiFiManager.cpp @@ -70,7 +70,7 @@ static const char* wifiDisconnectReason(uint8_t reason) return "Switching access points"; // Timeouts - case WIFI_REASON_ASSOC_EXPIRE: + case WIFI_REASON_DISASSOC_DUE_TO_INACTIVITY: // formerly WIFI_REASON_ASSOC_EXPIRE (renamed in ESP-IDF 6) case WIFI_REASON_TIMEOUT: case WIFI_REASON_MISSING_ACKS: return "Connection timed out"; From 608177a6f6406a659307ec58bad93b332a59c312 Mon Sep 17 00:00:00 2001 From: HeavenVR Date: Thu, 9 Jul 2026 20:24:13 +0200 Subject: [PATCH 48/91] build: initialize new IDF 6 LED-driver config struct fields ESP-IDF 6 added fields to the RMT and LEDC config structs (intr_priority/flags on rmt_tx_channel_config_t; deconfigure on ledc_timer_config_t; sleep_mode/flags/ deconfigure on ledc_channel_config_t). Supply explicit defaults so the designated initializers no longer trip -Werror=missing-field-initializers. --- components/led_drivers/src/MonoLedDriver.cpp | 4 ++++ components/led_drivers/src/RgbLedDriver.cpp | 2 ++ 2 files changed, 6 insertions(+) diff --git a/components/led_drivers/src/MonoLedDriver.cpp b/components/led_drivers/src/MonoLedDriver.cpp index f1bf7e9c..e207854c 100644 --- a/components/led_drivers/src/MonoLedDriver.cpp +++ b/components/led_drivers/src/MonoLedDriver.cpp @@ -46,6 +46,7 @@ MonoLedDriver::MonoLedDriver(gpio_num_t gpioPin) .timer_num = OS_LEDC_TIMER, .freq_hz = OS_LEDC_FREQUENCY, .clk_cfg = LEDC_AUTO_CLK, + .deconfigure = false, }; ledc_timer_config(&ledc_config); // TODO: Error handling @@ -58,6 +59,9 @@ MonoLedDriver::MonoLedDriver(gpio_num_t gpioPin) .timer_sel = OS_LEDC_TIMER, .duty = 0, .hpoint = 0, + .sleep_mode = LEDC_SLEEP_MODE_NO_ALIVE_NO_PD, // default: no output during light-sleep + .flags = {}, + .deconfigure = false, }; ledc_channel_config(&ledc_channel); // TODO: Error handling diff --git a/components/led_drivers/src/RgbLedDriver.cpp b/components/led_drivers/src/RgbLedDriver.cpp index 30fc07ce..3ebdb57e 100644 --- a/components/led_drivers/src/RgbLedDriver.cpp +++ b/components/led_drivers/src/RgbLedDriver.cpp @@ -46,6 +46,8 @@ RgbLedDriver::RgbLedDriver(gpio_num_t gpioPin) .resolution_hz = 10'000'000, .mem_block_symbols = SOC_RMT_MEM_WORDS_PER_CHANNEL, // exactly 1 memory block .trans_queue_depth = 4, + .intr_priority = 0, // 0 => driver picks a low/medium priority + .flags = {}, }; esp_err_t err = rmt_new_tx_channel(&channelConfig, &m_rmtChannel); if (err != ESP_OK) { From 35aa2643c7deddb667af8917cb17648e973221ec Mon Sep 17 00:00:00 2001 From: HeavenVR Date: Thu, 9 Jul 2026 20:24:26 +0200 Subject: [PATCH 49/91] refactor: migrate gateway client and captive portal to native ESP-IDF Replace the last Arduino-framework networking with native ESP-IDF: - GatewayClient: WebSocketsClient -> esp_websocket_client, with an IDF event handler and manual reassembly of chunked/fragmented binary frames. - CaptivePortalInstance: ESPAsyncWebServer + WebSocketsServer + Arduino LittleFS -> esp_http_server + native DNSServer + StaticFs, with its own WS client table, fragment reassembly, and cross-task sends marshalled via httpd_queue_work. - Manager: run the portal state machine on a dedicated worker task kicked by the esp_timer callback, so heavy start/stop work doesn't overflow the timer stack. - OtaUpdateManager: use TestFilesystem() instead of an Arduino LittleFS mount test, drop the Arduino rollback shim. - Gateway/Local handlers, Config: drop remaining Arduino WebSockets includes. --- include/GatewayClient.h | 13 +- include/captiveportal/CaptivePortalInstance.h | 77 +- src/GatewayClient.cpp | 162 +- src/OtaUpdateManager.cpp | 25 +- src/captiveportal/CaptivePortalInstance.cpp | 1369 +++++++++++------ src/captiveportal/Manager.cpp | 38 +- src/config/Config.cpp | 56 +- src/message_handlers/websocket/Gateway.cpp | 2 - src/message_handlers/websocket/Local.cpp | 2 - 9 files changed, 1174 insertions(+), 570 deletions(-) diff --git a/include/GatewayClient.h b/include/GatewayClient.h index ef0e7169..c9a44c1c 100644 --- a/include/GatewayClient.h +++ b/include/GatewayClient.h @@ -3,13 +3,14 @@ #include "enums/GatewayClientState.h" #include "OpenShock.h" -#include +#include +#include #include #include #include #include -#include +#include namespace OpenShock { class GatewayClient { @@ -35,10 +36,14 @@ namespace OpenShock { private: void _setState(GatewayClientState state); void _sendBootStatus(); - void _handleEvent(WStype_t type, uint8_t* payload, std::size_t length); - WebSocketsClient m_webSocket; + static void _eventHandler(void* arg, esp_event_base_t base, int32_t eventId, void* eventData); + void _handleData(const esp_websocket_event_data_t* data); + + std::string m_headers; + esp_websocket_client_handle_t m_client; GatewayClientState m_state; int64_t m_lastPingTimestamp; + std::vector m_binReasm; // reassembly buffer for fragmented binary frames }; } // namespace OpenShock diff --git a/include/captiveportal/CaptivePortalInstance.h b/include/captiveportal/CaptivePortalInstance.h index 4bf2e23e..b74467dc 100644 --- a/include/captiveportal/CaptivePortalInstance.h +++ b/include/captiveportal/CaptivePortalInstance.h @@ -1,19 +1,20 @@ #pragma once +#include +#include + +#include "dns_server/DNSServer.h" +#include "fs/StaticFs.h" +#include "enums/WebSocketMessageType.h" #include "OpenShock.h" -#include "WebSocketDeFragger.h" -#include +#include "SimpleMutex.h" -#include -#include -#include -#include +#include -#include - -#include #include +#include #include +#include namespace OpenShock::CaptivePortal { class CaptivePortalInstance { @@ -24,24 +25,54 @@ namespace OpenShock::CaptivePortal { CaptivePortalInstance(); ~CaptivePortalInstance(); - bool sendMessageTXT(uint8_t socketId, std::string_view data) { return m_socketServer.sendTXT(socketId, data.data(), data.length()); } - bool sendMessageBIN(uint8_t socketId, std::span data) { return m_socketServer.sendBIN(socketId, data.data(), data.size()); } - bool broadcastMessageTXT(std::string_view data) { return m_socketServer.broadcastTXT(data.data(), data.length()); } - bool broadcastMessageBIN(std::span data) { return m_socketServer.broadcastBIN(data.data(), data.size()); } - bool hasClients() { return m_socketServer.connectedClients() > 0; } + // WS sends invoked from arbitrary tasks (WiFiManager, GatewayConnectionManager, + // the captive-portal manager task). httpd frames may only be written from the + // httpd task, so these copy the payload and marshal it via httpd_queue_work. + bool sendMessageTXT(uint8_t socketId, std::string_view data); + bool sendMessageBIN(uint8_t socketId, std::span data); + bool broadcastMessageTXT(std::string_view data); + bool broadcastMessageBIN(std::span data); + bool hasClients(); private: - void task(); - void handleWebSocketClientConnected(uint8_t socketId); + static constexpr uint8_t MAX_WS_CLIENTS = 4; // matches AP max_connection + + struct WsClient { + bool used; + int fd; + WebSocketMessageType reasmType; // opcode of an in-progress fragmented message + std::vector reasm; // reassembly buffer for continuation frames + }; + + // --- HTTP handlers that need instance state (recovered via req->user_ctx) --- + static esp_err_t wsHandler(httpd_req_t* req); + static esp_err_t staticFileHandler(httpd_req_t* req); + + bool startHttpServer(); + void registerHandlers(); + + // --- WebSocket plumbing --- + uint8_t onWsOpen(int fd); + void onWsClose(int fd); + void onWsFrame(int fd, httpd_ws_type_t opcode, bool final, std::span payload); + void dispatchWsMessage(uint8_t socketId, WebSocketMessageType type, std::span payload); + void handleWebSocketClientConnected(httpd_req_t* req, uint8_t socketId); void handleWebSocketClientDisconnected(uint8_t socketId); - void handleWebSocketEvent(uint8_t socketId, WebSocketMessageType type, std::span payload); - AsyncWebServer m_webServer; - WebSocketsServer m_socketServer; - WebSocketDeFragger m_socketDeFragger; - fs::LittleFSFS m_fileSystem; + int fdForId(uint8_t socketId); + int idForFd(int fd); // -1 if not found + + bool queueSend(int fd, bool broadcast, bool binary, std::span data); + + // Per-session free callback fired by httpd on socket close/LRU/timeout. + static void wsSessCtxFree(void* ctx); + + httpd_handle_t m_server; + StaticFs m_staticFs; + const char* m_fsHash; DNSServer m_dnsServer; - TaskHandle_t m_taskHandle; - std::atomic m_stopRequested {false}; + + WsClient m_clients[MAX_WS_CLIENTS]; + SimpleMutex m_clientsMutex; }; } // namespace OpenShock::CaptivePortal diff --git a/src/GatewayClient.cpp b/src/GatewayClient.cpp index 776bd5c4..2f527a6e 100644 --- a/src/GatewayClient.cpp +++ b/src/GatewayClient.cpp @@ -12,33 +12,42 @@ const char* const TAG = "GatewayClient"; #include "Temporal.h" #include "visual/VisualStateManager.h" +#include + using namespace OpenShock; const int64_t GATEWAY_PING_TIMEOUT = 90'000; +// WebSocket opcodes (RFC 6455) as delivered by esp_websocket_client event data. +static constexpr int WS_OP_TEXT = 0x01; +static constexpr int WS_OP_BINARY = 0x02; + static bool s_bootStatusSent = false; GatewayClient::GatewayClient(const std::string& authToken) - : m_webSocket() + : m_headers() + , m_client(nullptr) , m_state(GatewayClientState::Disconnected) , m_lastPingTimestamp(0) + , m_binReasm() { OS_LOGD(TAG, "Creating GatewayClient"); - std::string headers = "Firmware-Version: " OPENSHOCK_FW_VERSION "\r\n" - "Device-Token: " - + authToken; - - m_webSocket.setUserAgent(OpenShock::Constants::FW_USERAGENT); - m_webSocket.setExtraHeaders(headers.c_str()); - m_webSocket.onEvent(std::bind(&GatewayClient::_handleEvent, this, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3)); + m_headers = "Firmware-Version: " OPENSHOCK_FW_VERSION "\r\n" + "Device-Token: " + + authToken + "\r\n"; } GatewayClient::~GatewayClient() { + OS_LOGD(TAG, "Destroying GatewayClient"); + _setState(GatewayClientState::Disconnected); - OS_LOGD(TAG, "Destroying GatewayClient"); - m_webSocket.disconnect(); + if (m_client != nullptr) { + esp_websocket_client_close(m_client, pdMS_TO_TICKS(1000)); + esp_websocket_client_destroy(m_client); + m_client = nullptr; + } } void GatewayClient::connect(const std::string& host, uint16_t port, const std::string& path) @@ -62,7 +71,34 @@ void GatewayClient::connect(const std::string& host, uint16_t port, const std::s // #warning SSL certificate verification is currently not implemented, by RFC definition this is a security risk, and allows for MITM attacks, but the realistic risk is low - m_webSocket.beginSSL(host.c_str(), port, path.c_str()); + esp_websocket_client_config_t config = {}; + config.host = host.c_str(); + config.port = port; + config.path = path.c_str(); + config.transport = WEBSOCKET_TRANSPORT_OVER_SSL; + config.user_agent = OpenShock::Constants::FW_USERAGENT; + config.headers = m_headers.c_str(); + config.disable_auto_reconnect = true; // GatewayConnectionManager owns reconnection + // No CA cert supplied: esp-tls skips verification (CONFIG_ESP_TLS_SKIP_SERVER_CERT_VERIFY). + + m_client = esp_websocket_client_init(&config); + if (m_client == nullptr) { + OS_LOGE(TAG, "Failed to initialize WebSocket client"); + _setState(GatewayClientState::Disconnected); + return; + } + + esp_websocket_register_events(m_client, WEBSOCKET_EVENT_ANY, &GatewayClient::_eventHandler, this); + + esp_err_t err = esp_websocket_client_start(m_client); + if (err != ESP_OK) { + OS_LOGE(TAG, "Failed to start WebSocket client: %s", esp_err_to_name(err)); + esp_websocket_client_destroy(m_client); + m_client = nullptr; + _setState(GatewayClientState::Disconnected); + return; + } + OS_LOGW(TAG, "WEBSOCKET CONNECTION BY RFC DEFINITION IS INSECURE, remote endpoint can not be verified due to lack of CA verification support, theoretically this is a security risk and allows for MITM attacks, but the realistic risk is low"); } @@ -72,25 +108,27 @@ void GatewayClient::disconnect() return; } _setState(GatewayClientState::Disconnecting); - m_webSocket.disconnect(); + if (m_client != nullptr) { + esp_websocket_client_close(m_client, pdMS_TO_TICKS(1000)); + } } bool GatewayClient::sendMessageTXT(std::string_view data) { - if (m_state != GatewayClientState::Connected) { + if (m_state != GatewayClientState::Connected || m_client == nullptr) { return false; } - return m_webSocket.sendTXT(data.data(), data.length()); + return esp_websocket_client_send_text(m_client, data.data(), data.length(), pdMS_TO_TICKS(10'000)) >= 0; } bool GatewayClient::sendMessageBIN(std::span data) { - if (m_state != GatewayClientState::Connected) { + if (m_state != GatewayClientState::Connected || m_client == nullptr) { return false; } - return m_webSocket.sendBIN(data.data(), data.size()); + return esp_websocket_client_send_bin(m_client, reinterpret_cast(data.data()), data.size(), pdMS_TO_TICKS(10'000)) >= 0; } void GatewayClient::markPingReceived() @@ -104,17 +142,17 @@ bool GatewayClient::loop() return false; } - m_webSocket.loop(); - - // We are still in the process of connecting or disconnecting + // esp_websocket_client runs its own task; we only enforce the app-level ping timeout. if (m_state != GatewayClientState::Connected) { - // return true to indicate that we are still busy + // Still connecting or disconnecting return true; } if (m_lastPingTimestamp != 0 && (OpenShock::millis() - m_lastPingTimestamp) > GATEWAY_PING_TIMEOUT) { OS_LOGW(TAG, "No ping received from gateway for %lld ms, forcing reconnect", GATEWAY_PING_TIMEOUT); - m_webSocket.disconnect(); + if (m_client != nullptr) { + esp_websocket_client_close(m_client, pdMS_TO_TICKS(1000)); + } _setState(GatewayClientState::Disconnected); return false; } @@ -159,7 +197,7 @@ void GatewayClient::_sendBootStatus() return; } - s_bootStatusSent = Serialization::Gateway::SerializeBootStatusMessage(updateId, OtaUpdateManager::GetFirmwareBootType(), [this](std::span data) { return m_webSocket.sendBIN(data.data(), data.size()); }); + s_bootStatusSent = Serialization::Gateway::SerializeBootStatusMessage(updateId, OtaUpdateManager::GetFirmwareBootType(), [this](std::span data) { return sendMessageBIN(data); }); if (s_bootStatusSent && updateStep != OpenShock::OtaUpdateStep::None) { if (!Config::SetOtaUpdateStep(OpenShock::OtaUpdateStep::None)) { @@ -168,43 +206,63 @@ void GatewayClient::_sendBootStatus() } } -void GatewayClient::_handleEvent(WStype_t type, uint8_t* payload, std::size_t length) +void GatewayClient::_eventHandler(void* arg, esp_event_base_t /*base*/, int32_t eventId, void* eventData) { - switch (type) { - case WStype_DISCONNECTED: - _setState(GatewayClientState::Disconnected); - break; - case WStype_CONNECTED: - m_lastPingTimestamp = 0; - _setState(GatewayClientState::Connected); - _sendBootStatus(); + auto* self = static_cast(arg); + const auto* data = static_cast(eventData); + + switch (eventId) { + case WEBSOCKET_EVENT_CONNECTED: + self->m_lastPingTimestamp = 0; + self->_setState(GatewayClientState::Connected); + self->_sendBootStatus(); break; - case WStype_TEXT: - OS_LOGW(TAG, "Received text from API, JSON parsing is not supported anymore :D"); + case WEBSOCKET_EVENT_DISCONNECTED: + case WEBSOCKET_EVENT_CLOSED: + self->_setState(GatewayClientState::Disconnected); break; - case WStype_ERROR: + case WEBSOCKET_EVENT_ERROR: OS_LOGE(TAG, "Received error from API"); break; - case WStype_FRAGMENT_TEXT_START: - OS_LOGD(TAG, "Received fragment text start from API"); - break; - case WStype_FRAGMENT: - OS_LOGD(TAG, "Received fragment from API"); - break; - case WStype_FRAGMENT_FIN: - OS_LOGD(TAG, "Received fragment fin from API"); - break; - case WStype_BIN: - MessageHandlers::WebSocket::HandleGatewayBinary(std::span(payload, length)); - break; - case WStype_FRAGMENT_BIN_START: - OS_LOGE(TAG, "Received binary fragment start from API, this is not supported!"); - break; - case WStype_PING: - case WStype_PONG: + case WEBSOCKET_EVENT_DATA: + self->_handleData(data); break; default: - OS_LOGE(TAG, "Received unknown event from API"); break; } } + +void GatewayClient::_handleData(const esp_websocket_event_data_t* data) +{ + if (data == nullptr) { + return; + } + + // Control frames (ping/pong/close) and empty frames carry no application payload. + if (data->op_code == WS_OP_TEXT) { + OS_LOGW(TAG, "Received text from API, JSON parsing is not supported anymore :D"); + return; + } + if (data->op_code != WS_OP_BINARY && data->op_code != 0x00 /* continuation */) { + return; + } + + // esp_websocket_client may deliver a message in chunks (payload_offset/payload_len). + // Fast path: a complete single-frame message. + if (data->payload_offset == 0 && data->data_len == data->payload_len) { + MessageHandlers::WebSocket::HandleGatewayBinary(std::span(reinterpret_cast(data->data_ptr), data->data_len)); + return; + } + + // Fragmented / chunked message: accumulate until complete. + if (data->payload_offset == 0) { + m_binReasm.clear(); + m_binReasm.reserve(data->payload_len); + } + m_binReasm.insert(m_binReasm.end(), reinterpret_cast(data->data_ptr), reinterpret_cast(data->data_ptr) + data->data_len); + + if (m_binReasm.size() >= static_cast(data->payload_len)) { + MessageHandlers::WebSocket::HandleGatewayBinary(std::span(m_binReasm.data(), m_binReasm.size())); + m_binReasm.clear(); + } +} diff --git a/src/OtaUpdateManager.cpp b/src/OtaUpdateManager.cpp index 394c1353..e5a2f483 100644 --- a/src/OtaUpdateManager.cpp +++ b/src/OtaUpdateManager.cpp @@ -4,6 +4,7 @@ const char* const TAG = "OtaUpdateManager"; #include "captiveportal/Manager.h" #include "config/Config.h" +#include "fs/FsCheck.h" #include "GatewayConnectionManager.h" #include "Hashing.h" #include "http/HTTPRequestManager.h" @@ -23,11 +24,10 @@ const char* const TAG = "OtaUpdateManager"; #include #include #include +#include #include #include -#include - #include #include @@ -48,16 +48,6 @@ using namespace std::string_view_literals; #define OPENSHOCK_FW_CDN_FILESYSTEM_URL_FORMAT OPENSHOCK_FW_CDN_VERSION_BASE_URL_FORMAT "/staticfs.bin" #define OPENSHOCK_FW_CDN_SHA256_HASHES_URL_FORMAT OPENSHOCK_FW_CDN_VERSION_BASE_URL_FORMAT "/hashes.sha256.txt" -/// @brief Stops initArduino() from handling OTA rollbacks -/// @todo Get rid of Arduino entirely. >:( -/// -/// @see .platformio/packages/framework-arduinoespressif32/cores/esp32/esp32-hal-misc.c -/// @return true -bool verifyRollbackLater() -{ - return true; -} - enum OtaTaskEventFlag : uint32_t { OTA_TASK_EVENT_UPDATE_REQUESTED = 1 << 0, OTA_TASK_EVENT_WIFI_DISCONNECTED = 1 << 1, // If both connected and disconnected are set, disconnected takes priority. @@ -250,14 +240,12 @@ static bool otaum_flash_fs_partition(OpenShock::HTTP::Client& client, const esp_ return false; } - // Attempt to mount filesystem. - fs::LittleFSFS test; - if (!test.begin(false, "/static", 10, "static0")) { + // Verify the freshly flashed image mounts cleanly. + if (!OpenShock::TestFilesystem(parition)) { OS_LOGE(TAG, "Failed to mount filesystem"); _sendFailureMessage("Failed to mount filesystem"sv); return false; } - test.end(); return true; } @@ -269,8 +257,9 @@ static esp_err_t otaum_set_wdt_timeout(uint32_t timeoutMs) .idle_core_mask = (1 << CONFIG_FREERTOS_NUMBER_OF_CORES) - 1, // Bitmask of all cores .trigger_panic = true, }; - // The TWDT is already initialized by the Arduino core, so reconfigure it instead of re-initializing. - // esp_task_wdt_init() returns ESP_ERR_INVALID_STATE when already initialized and would not apply the new timeout. + // ESP-IDF initializes the TWDT at startup (CONFIG_ESP_TASK_WDT_INIT, default y), so + // reconfigure it instead of re-initializing. esp_task_wdt_reconfigure() returns + // ESP_ERR_INVALID_STATE if the TWDT isn't initialized yet, in which case we fall back to init. esp_err_t err = esp_task_wdt_reconfigure(&twdt_config); if (err == ESP_ERR_INVALID_STATE) { // Not yet initialized, fall back to init diff --git a/src/captiveportal/CaptivePortalInstance.cpp b/src/captiveportal/CaptivePortalInstance.cpp index 6e8dfada..cf17369f 100644 --- a/src/captiveportal/CaptivePortalInstance.cpp +++ b/src/captiveportal/CaptivePortalInstance.cpp @@ -1,11 +1,12 @@ #include +#include #include "captiveportal/CaptivePortalInstance.h" const char* const TAG = "CaptivePortalInstance"; #include "captiveportal/Manager.h" -#include "captiveportal/RFC8908Handler.h" +#include "rfc8908/RFC8908Handler.h" #include "Chipset.h" #include "CommandHandler.h" #include "config/Config.h" @@ -18,9 +19,6 @@ const char* const TAG = "CaptivePortalInstance"; #include "message_handlers/WebSocket.h" #include "RateLimiter.h" #include "serialization/WSLocal.h" -#include "util/FnProxy.h" -#include "util/HexUtils.h" -#include "util/TaskUtils.h" #include "wifi/WiFiManager.h" #include "wifi/WiFiScanManager.h" @@ -28,13 +26,23 @@ const char* const TAG = "CaptivePortalInstance"; #include "json/Json.h" -const uint16_t HTTP_PORT = 80; -const uint16_t WEBSOCKET_PORT = 81; -const uint16_t DNS_PORT = 53; -const uint32_t WEBSOCKET_PING_INTERVAL = 10'000; -const uint32_t WEBSOCKET_PING_TIMEOUT = 1000; -const uint8_t WEBSOCKET_PING_RETRIES = 3; -const uint32_t WEBSOCKET_UPDATE_INTERVAL = 10; // 10ms / 100Hz +#include +#include +#include +#include + +const uint16_t HTTP_PORT = 80; + +// Largest inbound WebSocket message we'll accept (local FlatBuffer commands are tiny). +static constexpr size_t MAX_WS_MSG = 8 * 1024; + +// HTTP status lines (esp_http_server needs the full "code reason" string, and stores +// the pointer rather than copying — so these must have static storage duration). +static constexpr const char* S200 = "200 OK"; +static constexpr const char* S304 = "304 Not Modified"; +static constexpr const char* S400 = "400 Bad Request"; +static constexpr const char* S429 = "429 Too Many Requests"; +static constexpr const char* S500 = "500 Internal Server Error"; static const char* const JSON_ERR_INTERNAL = "{\"error\":\"InternalError\"}"; static const char* const JSON_ERR_MISSING_PARAM = "{\"error\":\"MissingParam\"}"; @@ -47,6 +55,8 @@ static const char* const JSON_ERR_CODE_REQUIRED = "{\"error\":\"CodeRequired\" static const char* const JSON_ERR_INVALID_CHANNEL = "{\"error\":\"InvalidChannel\"}"; static const char* const JSON_ERR_RATE_LIMITED = "{\"error\":\"RateLimited\"}"; +using namespace OpenShock; + static OpenShock::RateLimiter& getAccountLinkRateLimiter() { static OpenShock::RateLimiter* rl = nullptr; @@ -58,8 +68,6 @@ static OpenShock::RateLimiter& getAccountLinkRateLimiter() return *rl; } -using namespace OpenShock; - static const esp_partition_t* getStaticPartition() { const esp_partition_t* partition = esp_partition_find_first(ESP_PARTITION_TYPE_DATA, ESP_PARTITION_SUBTYPE_DATA_SPIFFS, "static0"); @@ -90,496 +98,989 @@ static const char* getPartitionHash() return hash; } -CaptivePortal::CaptivePortalInstance::CaptivePortalInstance() - : m_webServer(HTTP_PORT) - , m_socketServer(WEBSOCKET_PORT, "/ws", "flatbuffers") // Sec-WebSocket-Protocol = flatbuffers - , m_socketDeFragger(std::bind(&CaptivePortalInstance::handleWebSocketEvent, this, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3)) - , m_fileSystem() - , m_dnsServer() - , m_taskHandle(nullptr) +// --------------------------------------------------------------------------- +// Small HTTP helpers (replace the ESPAsyncWebServer request API) +// --------------------------------------------------------------------------- + +static esp_err_t sendResp(httpd_req_t* req, const char* status, const char* type, std::string_view body) { - m_socketServer.onEvent(std::bind(&WebSocketDeFragger::handler, &m_socketDeFragger, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3, std::placeholders::_4)); - m_socketServer.begin(); + httpd_resp_set_status(req, status); + if (type != nullptr) { + httpd_resp_set_type(req, type); + } + return httpd_resp_send(req, body.data(), body.size()); +} - m_socketServer.enableHeartbeat(WEBSOCKET_PING_INTERVAL, WEBSOCKET_PING_TIMEOUT, WEBSOCKET_PING_RETRIES); +static std::string urlDecode(const char* s) +{ + auto hexVal = [](char h) -> int { + if (h >= '0' && h <= '9') return h - '0'; + h = static_cast(h | 0x20); + return h - 'a' + 10; + }; - OS_LOGI(TAG, "Setting up DNS server"); - bool dnsStarted = m_dnsServer.start(DNS_PORT, "*", IPAddress(4, 3, 2, 1)); // CaptivePortal::ApIPv4String() + std::string out; + for (size_t i = 0; s[i] != '\0'; ++i) { + char c = s[i]; + if (c == '+') { + out += ' '; + } else if (c == '%' && isxdigit(static_cast(s[i + 1])) && isxdigit(static_cast(s[i + 2]))) { + out += static_cast((hexVal(s[i + 1]) << 4) | hexVal(s[i + 2])); + i += 2; + } else { + out += c; + } + } + return out; +} - if (!dnsStarted) { - OS_LOGE(TAG, "Failed to start DNS server!"); +// Read and URL-decode a query-string parameter. httpd does not decode for us. +static bool getQueryParam(httpd_req_t* req, const char* key, std::string& out) +{ + size_t qlen = httpd_req_get_url_query_len(req); + if (qlen == 0) { + return false; } - bool fsOk = true; + std::string query; + query.resize(qlen + 1); + if (httpd_req_get_url_query_str(req, query.data(), query.size()) != ESP_OK) { + return false; + } - // Get the hash of the filesystem - const char* fsHash = getPartitionHash(); - if (fsHash == nullptr) { - OS_LOGE(TAG, "Failed to get filesystem hash"); - fsOk = false; + char val[256]; + if (httpd_query_key_value(query.c_str(), key, val, sizeof(val)) != ESP_OK) { + return false; } - if (fsOk) { - // Mounting LittleFS - if (!m_fileSystem.begin(false, "/static", 10U, "static0")) { - OS_LOGE(TAG, "Failed to mount LittleFS"); - fsOk = false; - } else { - fsOk = m_fileSystem.exists("/www/index.html.gz"); + out = urlDecode(val); + return true; +} + +// Read a urlencoded request body (application/x-www-form-urlencoded). +static bool recvBody(httpd_req_t* req, std::string& out) +{ + int total = req->content_len; + if (total <= 0 || total > 4096) { + return false; + } + + out.resize(total); + int off = 0; + while (off < total) { + int r = httpd_req_recv(req, out.data() + off, total - off); + if (r == HTTPD_SOCK_ERR_TIMEOUT) { + continue; + } + if (r <= 0) { + return false; } + off += r; } + return true; +} - if (fsOk) { - OS_LOGI(TAG, "Serving files from LittleFS"); - OS_LOGI(TAG, "Filesystem hash: %s", fsHash); +static bool getFormParam(const std::string& body, const char* key, std::string& out) +{ + char val[256]; + if (httpd_query_key_value(body.c_str(), key, val, sizeof(val)) != ESP_OK) { + return false; + } + out = urlDecode(val); + return true; +} - m_webServer.addHandler(new RFC8908Handler()); +static const char* contentTypeForPath(const std::string& path) +{ + auto endsWith = [&](const char* ext) { + size_t n = strlen(ext); + return path.size() >= n && path.compare(path.size() - n, n, ext) == 0; + }; - // API endpoints — must be registered before serveStatic so they take priority - m_webServer.on("/api/board", HTTP_GET, [](AsyncWebServerRequest* request) { - bool hasPredefinedPins = OPENSHOCK_RF_TX_GPIO != OPENSHOCK_GPIO_INVALID; - request->send(200, HTTP::ContentType::JSON, hasPredefinedPins ? "{\"has_predefined_pins\":true}" : "{\"has_predefined_pins\":false}"); - }); + if (endsWith(".html")) return HTTP::ContentType::TextHTML; + if (endsWith(".js")) return "text/javascript"; + if (endsWith(".css")) return "text/css"; + if (endsWith(".svg")) return "image/svg+xml"; + if (endsWith(".png")) return "image/png"; + if (endsWith(".ico")) return "image/x-icon"; + if (endsWith(".json")) return HTTP::ContentType::JSON; + if (endsWith(".woff2")) return "font/woff2"; + if (endsWith(".txt")) return HTTP::ContentType::TextPlain; + return "application/octet-stream"; +} - m_webServer.on("/api/portal/close", HTTP_POST, [](AsyncWebServerRequest* request) { - CaptivePortal::SetUserDone(); - request->send(200); - }); +// --------------------------------------------------------------------------- +// API handlers (ported 1:1 from the ESPAsyncWebServer lambdas) +// --------------------------------------------------------------------------- - m_webServer.on("/api/wifi/scan", HTTP_POST, [](AsyncWebServerRequest* request) { - bool run = true; - if (request->hasParam("run")) { - run = request->getParam("run")->value().toInt() != 0; - } - if (run) { - WiFiScanManager::StartScan(); - } else { - WiFiScanManager::AbortScan(); - } - request->send(200); - }); +static esp_err_t apiBoard(httpd_req_t* req) +{ + bool hasPredefinedPins = OPENSHOCK_RF_TX_GPIO != OPENSHOCK_GPIO_INVALID; + return sendResp(req, S200, HTTP::ContentType::JSON, hasPredefinedPins ? "{\"has_predefined_pins\":true}" : "{\"has_predefined_pins\":false}"); +} - m_webServer.on("/api/wifi/networks", HTTP_DELETE, [](AsyncWebServerRequest* request) { - if (!request->hasParam("ssid")) { - request->send(400, HTTP::ContentType::JSON, JSON_ERR_MISSING_SSID); - return; - } - String ssid = request->getParam("ssid")->value(); - if (!WiFiManager::Forget(ssid.c_str())) { - request->send(500, HTTP::ContentType::JSON, JSON_ERR_INTERNAL); - return; - } - request->send(200); - }); +static esp_err_t apiPortalClose(httpd_req_t* req) +{ + CaptivePortal::SetUserDone(); + return sendResp(req, S200, nullptr, {}); +} - m_webServer.on("/api/account/link", HTTP_POST, [](AsyncWebServerRequest* request) { - if (!getAccountLinkRateLimiter().tryRequest()) { - request->send(429, HTTP::ContentType::JSON, JSON_ERR_RATE_LIMITED); - return; - } - if (!request->hasParam("code")) { - request->send(400, HTTP::ContentType::JSON, JSON_ERR_CODE_REQUIRED); - return; - } - String code = request->getParam("code")->value(); - auto result = GatewayConnectionManager::Link(std::string_view(code.c_str(), code.length())); - using ResultCode = OpenShock::AccountLinkResultCode; - if (result == ResultCode::Success) { - request->send(200); - return; - } - const char* error; - switch (result) { - case ResultCode::CodeRequired: - error = "CodeRequired"; - break; - case ResultCode::InvalidCodeLength: - error = "InvalidCodeLength"; - break; - case ResultCode::NoInternetConnection: - error = "NoInternetConnection"; - break; - case ResultCode::InvalidCode: - error = "InvalidCode"; - break; - case ResultCode::RateLimited: - error = "RateLimited"; - break; - case ResultCode::RequestFailed: - error = "RequestFailed"; - break; - case ResultCode::RequestTimedOut: - error = "RequestTimedOut"; - break; - case ResultCode::ServerError: - error = "ServerError"; - break; - case ResultCode::InvalidResponse: - error = "InvalidResponse"; - break; - case ResultCode::ConfigSaveFailed: - error = "ConfigSaveFailed"; - break; - default: - error = "InternalError"; - break; - } - OpenShock::JSON::StringWriter writer; - json_gen_str_t* gen = writer.gen(); - json_gen_start_object(gen); - OpenShock::JSON::objSetString(gen, "error", error); - json_gen_end_object(gen); - std::string json = writer.finish(); - request->send(400, HTTP::ContentType::JSON, json.c_str()); - }); - - m_webServer.on("/api/account", HTTP_DELETE, [](AsyncWebServerRequest* request) { - GatewayConnectionManager::UnLink(); - request->send(200); - }); - - m_webServer.on("/api/config/rf/pin", HTTP_PUT, [](AsyncWebServerRequest* request) { - if (!request->hasParam("pin")) { - request->send(400, HTTP::ContentType::JSON, JSON_ERR_INVALID_PIN); - return; - } - int pin = request->getParam("pin")->value().toInt(); - auto result = CommandHandler::SetRfTxPin(static_cast(pin)); - using ResultCode = OpenShock::SetGPIOResultCode; - if (result != ResultCode::Success) { - request->send(400, HTTP::ContentType::JSON, (result == ResultCode::InvalidPin) ? JSON_ERR_INVALID_PIN : JSON_ERR_INTERNAL); - return; - } - OpenShock::JSON::StringWriter writer; - json_gen_str_t* gen = writer.gen(); - json_gen_start_object(gen); - json_gen_obj_set_int(gen, "pin", pin); - json_gen_end_object(gen); - std::string json = writer.finish(); - request->send(200, HTTP::ContentType::JSON, json.c_str()); - }); - - m_webServer.on("/api/config/estop/pin", HTTP_PUT, [](AsyncWebServerRequest* request) { - if (!request->hasParam("pin")) { - request->send(400, HTTP::ContentType::JSON, JSON_ERR_INVALID_PIN); - return; - } - int8_t pin = static_cast(request->getParam("pin")->value().toInt()); - if (!IsValidInputPin(pin)) { - request->send(400, HTTP::ContentType::JSON, JSON_ERR_INVALID_PIN); - return; - } - if (!EStopManager::SetEStopPin(static_cast(pin)) || !Config::SetEStopGpioPin(static_cast(pin))) { - request->send(500, HTTP::ContentType::JSON, JSON_ERR_INTERNAL); - return; - } - OpenShock::JSON::StringWriter writer; - json_gen_str_t* gen = writer.gen(); - json_gen_start_object(gen); - json_gen_obj_set_int(gen, "pin", pin); - json_gen_end_object(gen); - std::string json = writer.finish(); - request->send(200, HTTP::ContentType::JSON, json.c_str()); - }); - - m_webServer.on("/api/config/estop/enabled", HTTP_PUT, [](AsyncWebServerRequest* request) { - if (!request->hasParam("enabled")) { - request->send(400, HTTP::ContentType::JSON, JSON_ERR_INTERNAL); - return; - } - bool enabled = request->getParam("enabled")->value().toInt() != 0; - bool success = EStopManager::SetEStopEnabled(enabled) && Config::SetEStopEnabled(enabled); - if (success) { - request->send(200); - } else { - request->send(500, HTTP::ContentType::JSON, JSON_ERR_INTERNAL); - } - }); +static esp_err_t apiWifiScan(httpd_req_t* req) +{ + bool run = true; + std::string runStr; + if (getQueryParam(req, "run", runStr)) { + run = atoi(runStr.c_str()) != 0; + } + if (run) { + WiFiScanManager::StartScan(); + } else { + WiFiScanManager::AbortScan(); + } + return sendResp(req, S200, nullptr, {}); +} - m_webServer.on("/api/wifi/networks", HTTP_POST, [](AsyncWebServerRequest* request) { - if (!request->hasParam("ssid", true)) { - request->send(400, HTTP::ContentType::JSON, JSON_ERR_MISSING_SSID); - return; - } - String ssid = request->getParam("ssid", true)->value(); - if (ssid.length() == 0 || ssid.length() > 31) { - request->send(400, HTTP::ContentType::JSON, JSON_ERR_INVALID_SSID); - return; - } - String password; - if (request->hasParam("password", true)) { - password = request->getParam("password", true)->value(); - if (password.length() > 0 && password.length() < 8) { - request->send(400, HTTP::ContentType::JSON, JSON_ERR_PASSWORD_SHORT); - return; - } - if (password.length() > 63) { - request->send(400, HTTP::ContentType::JSON, JSON_ERR_PASSWORD_LONG); - return; - } - } - bool connect = true; - if (request->hasParam("connect", true)) { - connect = request->getParam("connect", true)->value().toInt() != 0; - } - wifi_auth_mode_t authMode = WIFI_AUTH_MAX; - if (request->hasParam("security", true)) { - int sec = request->getParam("security", true)->value().toInt(); - if (sec >= 0 && sec <= static_cast(WIFI_AUTH_MAX)) { - authMode = static_cast(sec); - } - } - if (!WiFiManager::Save(ssid.c_str(), std::string_view(password.c_str(), password.length()), connect, authMode)) { - request->send(500, HTTP::ContentType::JSON, JSON_ERR_INTERNAL); - return; - } - request->send(200); - }); +static esp_err_t apiWifiNetworksDelete(httpd_req_t* req) +{ + std::string ssid; + if (!getQueryParam(req, "ssid", ssid)) { + return sendResp(req, S400, HTTP::ContentType::JSON, JSON_ERR_MISSING_SSID); + } + if (!WiFiManager::Forget(ssid.c_str())) { + return sendResp(req, S500, HTTP::ContentType::JSON, JSON_ERR_INTERNAL); + } + return sendResp(req, S200, nullptr, {}); +} - m_webServer.on("/api/wifi/connect", HTTP_POST, [](AsyncWebServerRequest* request) { - if (!request->hasParam("ssid", true)) { - request->send(400, HTTP::ContentType::JSON, JSON_ERR_MISSING_SSID); - return; - } - String ssid = request->getParam("ssid", true)->value(); - if (!WiFiManager::Connect(ssid.c_str())) { - request->send(500, HTTP::ContentType::JSON, JSON_ERR_INTERNAL); - return; - } - request->send(200); - }); - - m_webServer.on("/api/wifi/disconnect", HTTP_POST, [](AsyncWebServerRequest* request) { - WiFiManager::Disconnect(); - request->send(200); - }); - - m_webServer.on("/api/ota/enabled", HTTP_PUT, [](AsyncWebServerRequest* request) { - if (!request->hasParam("enabled")) { - request->send(400, HTTP::ContentType::JSON, JSON_ERR_MISSING_PARAM); - return; - } - bool enabled = request->getParam("enabled")->value().toInt() != 0; - Config::OtaUpdateConfig cfg; - if (!Config::GetOtaUpdateConfig(cfg)) { - request->send(500, HTTP::ContentType::JSON, JSON_ERR_INTERNAL); - return; - } - cfg.isEnabled = enabled; - if (!Config::SetOtaUpdateConfig(cfg)) { - request->send(500, HTTP::ContentType::JSON, JSON_ERR_INTERNAL); - return; - } - request->send(200); - }); +static esp_err_t apiAccountLink(httpd_req_t* req) +{ + if (!getAccountLinkRateLimiter().tryRequest()) { + return sendResp(req, S429, HTTP::ContentType::JSON, JSON_ERR_RATE_LIMITED); + } + std::string code; + if (!getQueryParam(req, "code", code)) { + return sendResp(req, S400, HTTP::ContentType::JSON, JSON_ERR_CODE_REQUIRED); + } + auto result = GatewayConnectionManager::Link(std::string_view(code)); + using ResultCode = OpenShock::AccountLinkResultCode; + if (result == ResultCode::Success) { + return sendResp(req, S200, nullptr, {}); + } + const char* error; + switch (result) { + case ResultCode::CodeRequired: + error = "CodeRequired"; + break; + case ResultCode::InvalidCodeLength: + error = "InvalidCodeLength"; + break; + case ResultCode::NoInternetConnection: + error = "NoInternetConnection"; + break; + case ResultCode::InvalidCode: + error = "InvalidCode"; + break; + case ResultCode::RateLimited: + error = "RateLimited"; + break; + case ResultCode::RequestFailed: + error = "RequestFailed"; + break; + case ResultCode::RequestTimedOut: + error = "RequestTimedOut"; + break; + case ResultCode::ServerError: + error = "ServerError"; + break; + case ResultCode::InvalidResponse: + error = "InvalidResponse"; + break; + case ResultCode::ConfigSaveFailed: + error = "ConfigSaveFailed"; + break; + default: + error = "InternalError"; + break; + } + OpenShock::JSON::StringWriter writer; + json_gen_str_t* gen = writer.gen(); + json_gen_start_object(gen); + OpenShock::JSON::objSetString(gen, "error", error); + json_gen_end_object(gen); + std::string json = writer.finish(); + return sendResp(req, S400, HTTP::ContentType::JSON, json); +} - m_webServer.on("/api/ota/domain", HTTP_PUT, [](AsyncWebServerRequest* request) { - if (!request->hasParam("domain")) { - request->send(400, HTTP::ContentType::JSON, JSON_ERR_MISSING_PARAM); - return; - } - String domain = request->getParam("domain")->value(); - Config::OtaUpdateConfig cfg; - if (!Config::GetOtaUpdateConfig(cfg)) { - request->send(500, HTTP::ContentType::JSON, JSON_ERR_INTERNAL); - return; - } - cfg.cdnDomain = std::string(domain.c_str(), domain.length()); - if (!Config::SetOtaUpdateConfig(cfg)) { - request->send(500, HTTP::ContentType::JSON, JSON_ERR_INTERNAL); - return; - } - request->send(200); - }); +static esp_err_t apiAccountDelete(httpd_req_t* req) +{ + GatewayConnectionManager::UnLink(); + return sendResp(req, S200, nullptr, {}); +} - m_webServer.on("/api/ota/channel", HTTP_PUT, [](AsyncWebServerRequest* request) { - if (!request->hasParam("channel")) { - request->send(400, HTTP::ContentType::JSON, JSON_ERR_MISSING_PARAM); - return; - } - String channelStr = request->getParam("channel")->value(); - OtaUpdateChannel channel; - if (!TryParseOtaUpdateChannel(channel, channelStr.c_str())) { - request->send(400, HTTP::ContentType::JSON, JSON_ERR_INVALID_CHANNEL); - return; - } - Config::OtaUpdateConfig cfg; - if (!Config::GetOtaUpdateConfig(cfg)) { - request->send(500, HTTP::ContentType::JSON, JSON_ERR_INTERNAL); - return; - } - cfg.updateChannel = channel; - if (!Config::SetOtaUpdateConfig(cfg)) { - request->send(500, HTTP::ContentType::JSON, JSON_ERR_INTERNAL); - return; - } - request->send(200); - }); +static esp_err_t apiConfigRfPin(httpd_req_t* req) +{ + std::string pinStr; + if (!getQueryParam(req, "pin", pinStr)) { + return sendResp(req, S400, HTTP::ContentType::JSON, JSON_ERR_INVALID_PIN); + } + int pin = atoi(pinStr.c_str()); + auto result = CommandHandler::SetRfTxPin(static_cast(pin)); + using ResultCode = OpenShock::SetGPIOResultCode; + if (result != ResultCode::Success) { + return sendResp(req, S400, HTTP::ContentType::JSON, (result == ResultCode::InvalidPin) ? JSON_ERR_INVALID_PIN : JSON_ERR_INTERNAL); + } + OpenShock::JSON::StringWriter writer; + json_gen_str_t* gen = writer.gen(); + json_gen_start_object(gen); + json_gen_obj_set_int(gen, "pin", pin); + json_gen_end_object(gen); + std::string json = writer.finish(); + return sendResp(req, S200, HTTP::ContentType::JSON, json); +} - m_webServer.on("/api/ota/check-interval", HTTP_PUT, [](AsyncWebServerRequest* request) { - if (!request->hasParam("interval")) { - request->send(400, HTTP::ContentType::JSON, JSON_ERR_MISSING_PARAM); - return; - } - uint16_t interval = static_cast(request->getParam("interval")->value().toInt()); - Config::OtaUpdateConfig cfg; - if (!Config::GetOtaUpdateConfig(cfg)) { - request->send(500, HTTP::ContentType::JSON, JSON_ERR_INTERNAL); - return; - } - cfg.checkInterval = interval; - if (!Config::SetOtaUpdateConfig(cfg)) { - request->send(500, HTTP::ContentType::JSON, JSON_ERR_INTERNAL); - return; - } - request->send(200); - }); +static esp_err_t apiConfigEstopPin(httpd_req_t* req) +{ + std::string pinStr; + if (!getQueryParam(req, "pin", pinStr)) { + return sendResp(req, S400, HTTP::ContentType::JSON, JSON_ERR_INVALID_PIN); + } + int8_t pin = static_cast(atoi(pinStr.c_str())); + if (!IsValidInputPin(pin)) { + return sendResp(req, S400, HTTP::ContentType::JSON, JSON_ERR_INVALID_PIN); + } + if (!EStopManager::SetEStopPin(static_cast(pin)) || !Config::SetEStopGpioPin(static_cast(pin))) { + return sendResp(req, S500, HTTP::ContentType::JSON, JSON_ERR_INTERNAL); + } + OpenShock::JSON::StringWriter writer; + json_gen_str_t* gen = writer.gen(); + json_gen_start_object(gen); + json_gen_obj_set_int(gen, "pin", pin); + json_gen_end_object(gen); + std::string json = writer.finish(); + return sendResp(req, S200, HTTP::ContentType::JSON, json); +} - m_webServer.on("/api/ota/allow-backend-management", HTTP_PUT, [](AsyncWebServerRequest* request) { - if (!request->hasParam("allow")) { - request->send(400, HTTP::ContentType::JSON, JSON_ERR_MISSING_PARAM); - return; - } - bool allow = request->getParam("allow")->value().toInt() != 0; - Config::OtaUpdateConfig cfg; - if (!Config::GetOtaUpdateConfig(cfg)) { - request->send(500, HTTP::ContentType::JSON, JSON_ERR_INTERNAL); - return; - } - cfg.allowBackendManagement = allow; - if (!Config::SetOtaUpdateConfig(cfg)) { - request->send(500, HTTP::ContentType::JSON, JSON_ERR_INTERNAL); - return; - } - request->send(200); - }); +static esp_err_t apiConfigEstopEnabled(httpd_req_t* req) +{ + std::string enabledStr; + if (!getQueryParam(req, "enabled", enabledStr)) { + return sendResp(req, S400, HTTP::ContentType::JSON, JSON_ERR_INTERNAL); + } + bool enabled = atoi(enabledStr.c_str()) != 0; + bool success = EStopManager::SetEStopEnabled(enabled) && Config::SetEStopEnabled(enabled); + if (success) { + return sendResp(req, S200, nullptr, {}); + } + return sendResp(req, S500, HTTP::ContentType::JSON, JSON_ERR_INTERNAL); +} - m_webServer.on("/api/ota/require-manual-approval", HTTP_PUT, [](AsyncWebServerRequest* request) { - if (!request->hasParam("require")) { - request->send(400, HTTP::ContentType::JSON, JSON_ERR_MISSING_PARAM); - return; - } - bool require = request->getParam("require")->value().toInt() != 0; - Config::OtaUpdateConfig cfg; - if (!Config::GetOtaUpdateConfig(cfg)) { - request->send(500, HTTP::ContentType::JSON, JSON_ERR_INTERNAL); - return; - } - cfg.requireManualApproval = require; - if (!Config::SetOtaUpdateConfig(cfg)) { - request->send(500, HTTP::ContentType::JSON, JSON_ERR_INTERNAL); - return; - } - request->send(200); - }); +static esp_err_t apiWifiNetworksAdd(httpd_req_t* req) +{ + std::string body; + if (!recvBody(req, body)) { + return sendResp(req, S400, HTTP::ContentType::JSON, JSON_ERR_MISSING_SSID); + } - m_webServer.on("/api/ota/check", HTTP_POST, [](AsyncWebServerRequest* request) { - // TODO: trigger OTA check - OtaUpdateManager does not yet expose a CheckForUpdates method - request->send(200); - }); + std::string ssid; + if (!getFormParam(body, "ssid", ssid) || ssid.empty() || ssid.length() > 31) { + return sendResp(req, S400, HTTP::ContentType::JSON, ssid.empty() ? JSON_ERR_MISSING_SSID : JSON_ERR_INVALID_SSID); + } - // Serving the captive portal files from LittleFS - m_webServer.serveStatic("/", m_fileSystem, "/www/", "max-age=3600").setDefaultFile("index.html").setSharedEtag(fsHash); + std::string password; + if (getFormParam(body, "password", password) && !password.empty()) { + if (password.length() < 8) { + return sendResp(req, S400, HTTP::ContentType::JSON, JSON_ERR_PASSWORD_SHORT); + } + if (password.length() > 63) { + return sendResp(req, S400, HTTP::ContentType::JSON, JSON_ERR_PASSWORD_LONG); + } + } - m_webServer.onNotFound(&RFC8908Handler::CatchAll); + bool connect = true; + std::string connectStr; + if (getFormParam(body, "connect", connectStr)) { + connect = atoi(connectStr.c_str()) != 0; + } - } else { - OS_LOGE(TAG, "/www/index.html or hash files not found, serving error page"); - - m_webServer.onNotFound([](AsyncWebServerRequest* request) { - request->send( - 200, - HTTP::ContentType::TextPlain, - // Raw string literal (1+ to remove the first newline) - 1 + R"( + wifi_auth_mode_t authMode = WIFI_AUTH_MAX; + std::string securityStr; + if (getFormParam(body, "security", securityStr)) { + int sec = atoi(securityStr.c_str()); + if (sec >= 0 && sec <= static_cast(WIFI_AUTH_MAX)) { + authMode = static_cast(sec); + } + } + + if (!WiFiManager::Save(ssid.c_str(), std::string_view(password), connect, authMode)) { + return sendResp(req, S500, HTTP::ContentType::JSON, JSON_ERR_INTERNAL); + } + return sendResp(req, S200, nullptr, {}); +} + +static esp_err_t apiWifiConnect(httpd_req_t* req) +{ + std::string body; + std::string ssid; + if (!recvBody(req, body) || !getFormParam(body, "ssid", ssid)) { + return sendResp(req, S400, HTTP::ContentType::JSON, JSON_ERR_MISSING_SSID); + } + if (!WiFiManager::Connect(ssid.c_str())) { + return sendResp(req, S500, HTTP::ContentType::JSON, JSON_ERR_INTERNAL); + } + return sendResp(req, S200, nullptr, {}); +} + +static esp_err_t apiWifiDisconnect(httpd_req_t* req) +{ + WiFiManager::Disconnect(); + return sendResp(req, S200, nullptr, {}); +} + +static esp_err_t apiOtaEnabled(httpd_req_t* req) +{ + std::string enabledStr; + if (!getQueryParam(req, "enabled", enabledStr)) { + return sendResp(req, S400, HTTP::ContentType::JSON, JSON_ERR_MISSING_PARAM); + } + bool enabled = atoi(enabledStr.c_str()) != 0; + Config::OtaUpdateConfig cfg; + if (!Config::GetOtaUpdateConfig(cfg)) { + return sendResp(req, S500, HTTP::ContentType::JSON, JSON_ERR_INTERNAL); + } + cfg.isEnabled = enabled; + if (!Config::SetOtaUpdateConfig(cfg)) { + return sendResp(req, S500, HTTP::ContentType::JSON, JSON_ERR_INTERNAL); + } + return sendResp(req, S200, nullptr, {}); +} + +static esp_err_t apiOtaDomain(httpd_req_t* req) +{ + std::string domain; + if (!getQueryParam(req, "domain", domain)) { + return sendResp(req, S400, HTTP::ContentType::JSON, JSON_ERR_MISSING_PARAM); + } + Config::OtaUpdateConfig cfg; + if (!Config::GetOtaUpdateConfig(cfg)) { + return sendResp(req, S500, HTTP::ContentType::JSON, JSON_ERR_INTERNAL); + } + cfg.cdnDomain = domain; + if (!Config::SetOtaUpdateConfig(cfg)) { + return sendResp(req, S500, HTTP::ContentType::JSON, JSON_ERR_INTERNAL); + } + return sendResp(req, S200, nullptr, {}); +} + +static esp_err_t apiOtaChannel(httpd_req_t* req) +{ + std::string channelStr; + if (!getQueryParam(req, "channel", channelStr)) { + return sendResp(req, S400, HTTP::ContentType::JSON, JSON_ERR_MISSING_PARAM); + } + OtaUpdateChannel channel; + if (!TryParseOtaUpdateChannel(channel, channelStr.c_str())) { + return sendResp(req, S400, HTTP::ContentType::JSON, JSON_ERR_INVALID_CHANNEL); + } + Config::OtaUpdateConfig cfg; + if (!Config::GetOtaUpdateConfig(cfg)) { + return sendResp(req, S500, HTTP::ContentType::JSON, JSON_ERR_INTERNAL); + } + cfg.updateChannel = channel; + if (!Config::SetOtaUpdateConfig(cfg)) { + return sendResp(req, S500, HTTP::ContentType::JSON, JSON_ERR_INTERNAL); + } + return sendResp(req, S200, nullptr, {}); +} + +static esp_err_t apiOtaCheckInterval(httpd_req_t* req) +{ + std::string intervalStr; + if (!getQueryParam(req, "interval", intervalStr)) { + return sendResp(req, S400, HTTP::ContentType::JSON, JSON_ERR_MISSING_PARAM); + } + uint16_t interval = static_cast(atoi(intervalStr.c_str())); + Config::OtaUpdateConfig cfg; + if (!Config::GetOtaUpdateConfig(cfg)) { + return sendResp(req, S500, HTTP::ContentType::JSON, JSON_ERR_INTERNAL); + } + cfg.checkInterval = interval; + if (!Config::SetOtaUpdateConfig(cfg)) { + return sendResp(req, S500, HTTP::ContentType::JSON, JSON_ERR_INTERNAL); + } + return sendResp(req, S200, nullptr, {}); +} + +static esp_err_t apiOtaAllowBackendManagement(httpd_req_t* req) +{ + std::string allowStr; + if (!getQueryParam(req, "allow", allowStr)) { + return sendResp(req, S400, HTTP::ContentType::JSON, JSON_ERR_MISSING_PARAM); + } + bool allow = atoi(allowStr.c_str()) != 0; + Config::OtaUpdateConfig cfg; + if (!Config::GetOtaUpdateConfig(cfg)) { + return sendResp(req, S500, HTTP::ContentType::JSON, JSON_ERR_INTERNAL); + } + cfg.allowBackendManagement = allow; + if (!Config::SetOtaUpdateConfig(cfg)) { + return sendResp(req, S500, HTTP::ContentType::JSON, JSON_ERR_INTERNAL); + } + return sendResp(req, S200, nullptr, {}); +} + +static esp_err_t apiOtaRequireManualApproval(httpd_req_t* req) +{ + std::string requireStr; + if (!getQueryParam(req, "require", requireStr)) { + return sendResp(req, S400, HTTP::ContentType::JSON, JSON_ERR_MISSING_PARAM); + } + bool require = atoi(requireStr.c_str()) != 0; + Config::OtaUpdateConfig cfg; + if (!Config::GetOtaUpdateConfig(cfg)) { + return sendResp(req, S500, HTTP::ContentType::JSON, JSON_ERR_INTERNAL); + } + cfg.requireManualApproval = require; + if (!Config::SetOtaUpdateConfig(cfg)) { + return sendResp(req, S500, HTTP::ContentType::JSON, JSON_ERR_INTERNAL); + } + return sendResp(req, S200, nullptr, {}); +} + +static esp_err_t apiOtaCheck(httpd_req_t* req) +{ + // TODO: trigger OTA check - OtaUpdateManager does not yet expose a CheckForUpdates method + return sendResp(req, S200, nullptr, {}); +} + +// --------------------------------------------------------------------------- +// Static file serving (gzipped assets from the raw littlefs static0 partition) +// --------------------------------------------------------------------------- + +esp_err_t CaptivePortal::CaptivePortalInstance::staticFileHandler(httpd_req_t* req) +{ + auto* self = static_cast(req->user_ctx); + + if (!self->m_staticFs.isMounted()) { + // Filesystem image was never uploaded — serve the help page for any request. + return sendResp( + req, + S200, + HTTP::ContentType::TextPlain, + // Raw string literal (1+ to remove the first newline) + 1 + R"( You probably forgot to upload the Filesystem with PlatformIO! Go to PlatformIO -> Platform -> Upload Filesystem Image! If this happened with a file we provided or you just need help, come to the Discord! discord.gg/OpenShock -)" - ); - }); +)"); + } + + std::string uri(req->uri); + auto qpos = uri.find('?'); + if (qpos != std::string::npos) { + uri.resize(qpos); + } + + // Reject path traversal, then fall through to the captive redirect. + if (uri.find("..") != std::string::npos) { + return RFC8908::EmitRedirect(req); + } + + if (uri == "/") { + uri = "/index.html"; } - m_webServer.begin(); + // All assets are pre-gzipped, stored at /www/.gz on the static0 partition. + std::string path = "/www" + uri + ".gz"; + + if (!self->m_staticFs.exists(path.c_str())) { + // Unknown path → captive redirect (matches serveStatic default-file fallthrough). + return RFC8908::EmitRedirect(req); + } - if (fsOk) { - m_stopRequested.store(false, std::memory_order_relaxed); - if (TaskUtils::TaskCreateExpensive(Util::FnProxy<&CaptivePortal::CaptivePortalInstance::task>, TAG, 8192, this, 1, &m_taskHandle) != pdPASS) { // PROFILED: 4-6KB stack usage - OS_LOGE(TAG, "Failed to create task"); + // ETag / conditional request. Keep the quoted hash alive until after send. + std::string etag; + if (self->m_fsHash != nullptr) { + etag = std::string("\"") + self->m_fsHash + "\""; + char inm[80]; + if (httpd_req_get_hdr_value_str(req, "If-None-Match", inm, sizeof(inm)) == ESP_OK && etag == inm) { + httpd_resp_set_status(req, S304); + return httpd_resp_send(req, nullptr, 0); } } + + httpd_resp_set_type(req, contentTypeForPath(uri)); + httpd_resp_set_hdr(req, "Content-Encoding", "gzip"); + httpd_resp_set_hdr(req, "Cache-Control", "max-age=3600"); + if (!etag.empty()) { + httpd_resp_set_hdr(req, "ETag", etag.c_str()); + } + + bool ok = self->m_staticFs.readFile(path.c_str(), [req](std::span chunk) { + return httpd_resp_send_chunk(req, reinterpret_cast(chunk.data()), chunk.size()) == ESP_OK; + }); + if (!ok) { + // Headers/chunks may already be on the wire — can't cleanly redirect now. + return ESP_FAIL; + } + return httpd_resp_send_chunk(req, nullptr, 0); } -CaptivePortal::CaptivePortalInstance::~CaptivePortalInstance() +// --------------------------------------------------------------------------- +// WebSocket +// --------------------------------------------------------------------------- + +namespace { + // Per-session context so httpd's free callback can reap the fd->id slot on close. + struct WsSessCtx { + OpenShock::CaptivePortal::CaptivePortalInstance* self; + int fd; + }; + + // Deferred WS send marshalled onto the httpd task via httpd_queue_work. + struct WsSendJob { + httpd_handle_t hd; + int fd; + bool broadcast; + bool binary; + std::vector data; + }; + + void wsSendWork(void* arg) + { + auto* job = static_cast(arg); + + httpd_ws_frame_t frame = {}; + frame.final = true; + frame.type = job->binary ? HTTPD_WS_TYPE_BINARY : HTTPD_WS_TYPE_TEXT; + frame.payload = job->data.data(); + frame.len = job->data.size(); + + if (job->broadcast) { + size_t count = 8; + int fds[8]; + if (httpd_get_client_list(job->hd, &count, fds) == ESP_OK) { + for (size_t i = 0; i < count; ++i) { + if (httpd_ws_get_fd_info(job->hd, fds[i]) == HTTPD_WS_CLIENT_WEBSOCKET) { + httpd_ws_send_frame_async(job->hd, fds[i], &frame); + } + } + } + } else { + httpd_ws_send_frame_async(job->hd, job->fd, &frame); + } + + delete job; + } +} // namespace + +int CaptivePortal::CaptivePortalInstance::idForFd(int fd) { - m_stopRequested.store(true, std::memory_order_relaxed); - if (m_taskHandle != nullptr) { - TaskUtils::StopTask(m_taskHandle, TAG, "CaptivePortal task"); - m_taskHandle = nullptr; + ScopedLock lock__(&m_clientsMutex); + for (uint8_t i = 0; i < MAX_WS_CLIENTS; ++i) { + if (m_clients[i].used && m_clients[i].fd == fd) { + return i; + } } - m_webServer.end(); - m_socketServer.close(); - m_fileSystem.end(); - m_dnsServer.stop(); + return -1; } -void CaptivePortal::CaptivePortalInstance::task() +int CaptivePortal::CaptivePortalInstance::fdForId(uint8_t socketId) { - while (!m_stopRequested.load(std::memory_order_relaxed)) { - m_socketServer.loop(); - m_dnsServer.processNextRequest(); - vTaskDelay(pdMS_TO_TICKS(WEBSOCKET_UPDATE_INTERVAL)); + ScopedLock lock__(&m_clientsMutex); + if (socketId < MAX_WS_CLIENTS && m_clients[socketId].used) { + return m_clients[socketId].fd; } - vTaskDelete(nullptr); + return -1; } -void CaptivePortal::CaptivePortalInstance::handleWebSocketClientConnected(uint8_t socketId) +uint8_t CaptivePortal::CaptivePortalInstance::onWsOpen(int fd) { - OS_LOGD(TAG, "WebSocket client #%u connected from %s", socketId, m_socketServer.remoteIP(socketId).toString().c_str()); + ScopedLock lock__(&m_clientsMutex); - WiFiNetwork connectedNetwork; - WiFiNetwork* connectedNetworkPtr = nullptr; - if (WiFiManager::GetConnectedNetwork(connectedNetwork)) { - connectedNetworkPtr = &connectedNetwork; + // Idempotent: an fd already tracked keeps its id. + for (uint8_t i = 0; i < MAX_WS_CLIENTS; ++i) { + if (m_clients[i].used && m_clients[i].fd == fd) { + return i; + } } - Serialization::Local::SerializeReadyMessage(connectedNetworkPtr, GatewayConnectionManager::IsLinked(), std::bind(&CaptivePortal::CaptivePortalInstance::sendMessageBIN, this, socketId, std::placeholders::_1)); + for (uint8_t i = 0; i < MAX_WS_CLIENTS; ++i) { + if (!m_clients[i].used) { + m_clients[i].used = true; + m_clients[i].fd = fd; + m_clients[i].reasmType = WebSocketMessageType::Binary; + m_clients[i].reasm.clear(); + return i; + } + } - // Send all previously scanned wifi networks - auto networks = OpenShock::WiFiManager::GetDiscoveredWiFiNetworks(); + return 0xFF; // full +} - Serialization::Local::SerializeWiFiNetworksEvent(Serialization::Types::WifiNetworkEventType::Discovered, networks, std::bind(&CaptivePortal::CaptivePortalInstance::sendMessageBIN, this, socketId, std::placeholders::_1)); +void CaptivePortal::CaptivePortalInstance::onWsClose(int fd) +{ + int id = -1; + { + ScopedLock lock__(&m_clientsMutex); + for (uint8_t i = 0; i < MAX_WS_CLIENTS; ++i) { + if (m_clients[i].used && m_clients[i].fd == fd) { + m_clients[i].used = false; + m_clients[i].reasm.clear(); + id = i; + break; + } + } + } + + if (id >= 0) { + handleWebSocketClientDisconnected(static_cast(id)); + } } -void CaptivePortal::CaptivePortalInstance::handleWebSocketClientDisconnected(uint8_t socketId) +void CaptivePortal::CaptivePortalInstance::wsSessCtxFree(void* ctx) { - OS_LOGD(TAG, "WebSocket client #%u disconnected", socketId); + auto* c = static_cast(ctx); + if (c == nullptr) { + return; + } + c->self->onWsClose(c->fd); + delete c; } -void CaptivePortal::CaptivePortalInstance::handleWebSocketEvent(uint8_t socketId, WebSocketMessageType type, std::span payload) +esp_err_t CaptivePortal::CaptivePortalInstance::wsHandler(httpd_req_t* req) { - switch (type) { - case WebSocketMessageType::Connected: - handleWebSocketClientConnected(socketId); + auto* self = static_cast(req->user_ctx); + int fd = httpd_req_to_sockfd(req); + + // Initial GET = handshake just completed → allocate id, arm disconnect hook, greet. + if (req->method == HTTP_GET) { + uint8_t id = self->onWsOpen(fd); + if (id == 0xFF) { + OS_LOGW(TAG, "WebSocket client table full, rejecting fd %d", fd); + httpd_sess_trigger_close(self->m_server, fd); + return ESP_OK; + } + + auto* sessCtx = new WsSessCtx {self, fd}; + httpd_sess_set_ctx(self->m_server, fd, sessCtx, &CaptivePortalInstance::wsSessCtxFree); + + self->handleWebSocketClientConnected(req, id); + return ESP_OK; + } + + // Data frame: two-call recv (length first, then payload). + httpd_ws_frame_t frame = {}; + esp_err_t ret = httpd_ws_recv_frame(req, &frame, 0); + if (ret != ESP_OK) { + return ret; + } + + if (frame.len == 0) { + self->onWsFrame(fd, frame.type, frame.final, {}); + return ESP_OK; + } + + if (frame.len > MAX_WS_MSG) { + OS_LOGE(TAG, "WebSocket frame too large (%u bytes), dropping", static_cast(frame.len)); + return ESP_FAIL; + } + + std::vector buf(frame.len); + frame.payload = buf.data(); + ret = httpd_ws_recv_frame(req, &frame, frame.len); + if (ret != ESP_OK) { + return ret; + } + + self->onWsFrame(fd, frame.type, frame.final, {buf.data(), frame.len}); + return ESP_OK; +} + +void CaptivePortal::CaptivePortalInstance::onWsFrame(int fd, httpd_ws_type_t opcode, bool final, std::span payload) +{ + int idx = idForFd(fd); + if (idx < 0) { + // Lazy fallback in case the handshake GET call didn't fire on this IDF build. + uint8_t id = onWsOpen(fd); + if (id == 0xFF) { + return; + } + idx = id; + } + uint8_t socketId = static_cast(idx); + + switch (opcode) { + case HTTPD_WS_TYPE_TEXT: + case HTTPD_WS_TYPE_BINARY: { + WebSocketMessageType type = (opcode == HTTPD_WS_TYPE_TEXT) ? WebSocketMessageType::Text : WebSocketMessageType::Binary; + if (final) { + dispatchWsMessage(socketId, type, payload); + } else { + ScopedLock lock__(&m_clientsMutex); + m_clients[idx].reasmType = type; + m_clients[idx].reasm.assign(payload.begin(), payload.end()); + } break; - case WebSocketMessageType::Disconnected: - handleWebSocketClientDisconnected(socketId); + } + case HTTPD_WS_TYPE_CONTINUE: { + WebSocketMessageType type; + std::vector full; + { + ScopedLock lock__(&m_clientsMutex); + m_clients[idx].reasm.insert(m_clients[idx].reasm.end(), payload.begin(), payload.end()); + if (!final) { + break; + } + type = m_clients[idx].reasmType; + full = std::move(m_clients[idx].reasm); + m_clients[idx].reasm.clear(); + } + dispatchWsMessage(socketId, type, full); break; - case WebSocketMessageType::Text: - OS_LOGE(TAG, "Message type is not supported"); + } + default: + // PING/PONG/CLOSE are handled by httpd (handle_ws_control_frames = false). break; + } +} + +void CaptivePortal::CaptivePortalInstance::dispatchWsMessage(uint8_t socketId, WebSocketMessageType type, std::span payload) +{ + switch (type) { case WebSocketMessageType::Binary: MessageHandlers::WebSocket::HandleLocalBinary(socketId, payload); break; - case WebSocketMessageType::Ping: - case WebSocketMessageType::Pong: - // Do nothing + case WebSocketMessageType::Text: + OS_LOGE(TAG, "Text messages are not supported"); break; default: - m_socketDeFragger.clear(); - OS_LOGE(TAG, "Unknown WebSocket event type: %u", type); break; } } + +void CaptivePortal::CaptivePortalInstance::handleWebSocketClientConnected(httpd_req_t* req, uint8_t socketId) +{ + OS_LOGD(TAG, "WebSocket client #%u connected (fd %d)", socketId, httpd_req_to_sockfd(req)); + + // We're on the httpd task with a live req — send directly, no copy/queue needed. + auto sendBin = [req](std::span data) -> bool { + httpd_ws_frame_t frame = {}; + frame.final = true; + frame.type = HTTPD_WS_TYPE_BINARY; + frame.payload = const_cast(data.data()); + frame.len = data.size(); + return httpd_ws_send_frame(req, &frame) == ESP_OK; + }; + + WiFiNetwork connectedNetwork; + WiFiNetwork* connectedNetworkPtr = nullptr; + if (WiFiManager::GetConnectedNetwork(connectedNetwork)) { + connectedNetworkPtr = &connectedNetwork; + } + + Serialization::Local::SerializeReadyMessage(connectedNetworkPtr, GatewayConnectionManager::IsLinked(), sendBin); + + // Send all previously scanned wifi networks + auto networks = OpenShock::WiFiManager::GetDiscoveredWiFiNetworks(); + Serialization::Local::SerializeWiFiNetworksEvent(Serialization::Types::WifiNetworkEventType::Discovered, networks, sendBin); +} + +void CaptivePortal::CaptivePortalInstance::handleWebSocketClientDisconnected(uint8_t socketId) +{ + OS_LOGD(TAG, "WebSocket client #%u disconnected", socketId); +} + +// --------------------------------------------------------------------------- +// Public WS send API (called from arbitrary tasks → must copy + queue) +// --------------------------------------------------------------------------- + +bool CaptivePortal::CaptivePortalInstance::queueSend(int fd, bool broadcast, bool binary, std::span data) +{ + if (m_server == nullptr) { + return false; + } + + auto* job = new WsSendJob; + job->hd = m_server; + job->fd = fd; + job->broadcast = broadcast; + job->binary = binary; + job->data.assign(data.begin(), data.end()); + + if (httpd_queue_work(m_server, wsSendWork, job) != ESP_OK) { + delete job; + return false; + } + return true; +} + +bool CaptivePortal::CaptivePortalInstance::sendMessageTXT(uint8_t socketId, std::string_view data) +{ + int fd = fdForId(socketId); + if (fd < 0) { + return false; + } + return queueSend(fd, false, false, {reinterpret_cast(data.data()), data.size()}); +} + +bool CaptivePortal::CaptivePortalInstance::sendMessageBIN(uint8_t socketId, std::span data) +{ + int fd = fdForId(socketId); + if (fd < 0) { + return false; + } + return queueSend(fd, false, true, data); +} + +bool CaptivePortal::CaptivePortalInstance::broadcastMessageTXT(std::string_view data) +{ + return queueSend(-1, true, false, {reinterpret_cast(data.data()), data.size()}); +} + +bool CaptivePortal::CaptivePortalInstance::broadcastMessageBIN(std::span data) +{ + return queueSend(-1, true, true, data); +} + +bool CaptivePortal::CaptivePortalInstance::hasClients() +{ + ScopedLock lock__(&m_clientsMutex); + for (uint8_t i = 0; i < MAX_WS_CLIENTS; ++i) { + if (m_clients[i].used) { + return true; + } + } + return false; +} + +// --------------------------------------------------------------------------- +// HTTP server setup +// --------------------------------------------------------------------------- + +void CaptivePortal::CaptivePortalInstance::registerHandlers() +{ + auto reg = [this](const char* uri, httpd_method_t method, esp_err_t (*handler)(httpd_req_t*)) { + httpd_uri_t def = {}; + def.uri = uri; + def.method = method; + def.handler = handler; + def.user_ctx = this; + esp_err_t err = httpd_register_uri_handler(m_server, &def); + if (err != ESP_OK) { + OS_LOGE(TAG, "Failed to register handler %s: %s", uri, esp_err_to_name(err)); + } + }; + + // API endpoints (registered before the static wildcard so they take priority). + reg("/api/board", HTTP_GET, apiBoard); + reg("/api/portal/close", HTTP_POST, apiPortalClose); + reg("/api/wifi/scan", HTTP_POST, apiWifiScan); + reg("/api/wifi/networks", HTTP_DELETE, apiWifiNetworksDelete); + reg("/api/wifi/networks", HTTP_POST, apiWifiNetworksAdd); + reg("/api/wifi/connect", HTTP_POST, apiWifiConnect); + reg("/api/wifi/disconnect", HTTP_POST, apiWifiDisconnect); + reg("/api/account/link", HTTP_POST, apiAccountLink); + reg("/api/account", HTTP_DELETE, apiAccountDelete); + reg("/api/config/rf/pin", HTTP_PUT, apiConfigRfPin); + reg("/api/config/estop/pin", HTTP_PUT, apiConfigEstopPin); + reg("/api/config/estop/enabled", HTTP_PUT, apiConfigEstopEnabled); + reg("/api/ota/enabled", HTTP_PUT, apiOtaEnabled); + reg("/api/ota/domain", HTTP_PUT, apiOtaDomain); + reg("/api/ota/channel", HTTP_PUT, apiOtaChannel); + reg("/api/ota/check-interval", HTTP_PUT, apiOtaCheckInterval); + reg("/api/ota/allow-backend-management", HTTP_PUT, apiOtaAllowBackendManagement); + reg("/api/ota/require-manual-approval", HTTP_PUT, apiOtaRequireManualApproval); + reg("/api/ota/check", HTTP_POST, apiOtaCheck); + + // OS captive-detection probes + RFC 8908 endpoint + 404 redirect (rfc8908 component). + // Registered before the static wildcard so the specific probe paths take priority. + RFC8908::RegisterProbeHandlers(m_server, CaptivePortal::ApIPv4String()); + + // WebSocket. + httpd_uri_t ws = {}; + ws.uri = "/ws"; + ws.method = HTTP_GET; + ws.handler = &CaptivePortalInstance::wsHandler; + ws.user_ctx = this; + ws.is_websocket = true; + ws.handle_ws_control_frames = false; + ws.supported_subprotocol = "flatbuffers"; + if (httpd_register_uri_handler(m_server, &ws) != ESP_OK) { + OS_LOGE(TAG, "Failed to register WebSocket handler"); + } + + // Static files — catch-all, registered LAST so specific routes win. + reg("/*", HTTP_GET, &CaptivePortalInstance::staticFileHandler); +} + +bool CaptivePortal::CaptivePortalInstance::startHttpServer() +{ + httpd_config_t config = HTTPD_DEFAULT_CONFIG(); + config.server_port = HTTP_PORT; + config.max_uri_handlers = 40; + config.max_open_sockets = 4; + config.lru_purge_enable = true; + config.stack_size = 8192; + config.recv_wait_timeout = 10; + config.send_wait_timeout = 10; + config.uri_match_fn = httpd_uri_match_wildcard; + + esp_err_t err = httpd_start(&m_server, &config); + if (err != ESP_OK) { + OS_LOGE(TAG, "Failed to start HTTP server: %s", esp_err_to_name(err)); + m_server = nullptr; + return false; + } + + registerHandlers(); + return true; +} + +// --------------------------------------------------------------------------- +// Lifecycle +// --------------------------------------------------------------------------- + +CaptivePortal::CaptivePortalInstance::CaptivePortalInstance() + : m_server(nullptr) + , m_staticFs() + , m_fsHash(nullptr) + , m_dnsServer() + , m_clients {} + , m_clientsMutex() +{ + // Mount the static filesystem (gzipped portal assets) read-only via raw littlefs. + const esp_partition_t* partition = getStaticPartition(); + if (partition == nullptr) { + OS_LOGE(TAG, "Failed to find static filesystem partition"); + } else if (!m_staticFs.mount(partition)) { + OS_LOGE(TAG, "Failed to mount static filesystem"); + } else if (!m_staticFs.exists("/www/index.html.gz")) { + OS_LOGE(TAG, "/www/index.html.gz not found — serving error page"); + } else { + m_fsHash = getPartitionHash(); + OS_LOGI(TAG, "Serving files from littlefs (hash: %s)", m_fsHash != nullptr ? m_fsHash : "?"); + } + + // Start the combined HTTP + WebSocket server on port 80. + if (!startHttpServer()) { + return; + } + + // Start the wildcard DNS responder (all A queries → the portal AP IP). + m_dnsServer.start(CaptivePortal::ApIPv4String()); +} + +CaptivePortal::CaptivePortalInstance::~CaptivePortalInstance() +{ + m_dnsServer.stop(); + + // Stop the server (closes all WS sockets, firing the session free callbacks). + if (m_server != nullptr) { + httpd_stop(m_server); + m_server = nullptr; + } + + m_staticFs.unmount(); +} diff --git a/src/captiveportal/Manager.cpp b/src/captiveportal/Manager.cpp index 8b13b8d8..2cf255ad 100644 --- a/src/captiveportal/Manager.cpp +++ b/src/captiveportal/Manager.cpp @@ -1,4 +1,5 @@ #include +#include #include "captiveportal/Manager.h" @@ -11,9 +12,6 @@ const char* const TAG = "CaptivePortal"; #include "Logging.h" #include "Temporal.h" -#include -#include - #include #include #include @@ -21,6 +19,7 @@ const char* const TAG = "CaptivePortal"; #include #include "SimpleMutex.h" +#include "util/TaskUtils.h" #include #include @@ -32,6 +31,7 @@ static std::atomic s_alwaysEnabled = false; static std::atomic s_forceClosed = false; static std::atomic s_userDone = false; static esp_timer_handle_t s_captivePortalUpdateLoopTimer = nullptr; +static TaskHandle_t s_managerTask = nullptr; static SimpleMutex s_instanceMutex; static std::shared_ptr s_instance = nullptr; static esp_netif_t* s_apNetif = nullptr; @@ -145,7 +145,11 @@ static void captiveportal_stop() esp_wifi_set_mode(WIFI_MODE_STA); } -static void captiveportal_updateloop(void*) +// Runs the captive-portal state machine once. This does heavy work (starting the +// portal constructs CaptivePortalInstance, which mounts LittleFS and spins up the +// HTTP/WS/DNS servers), so it MUST run on the dedicated manager task below — never +// on the esp_timer task, whose 3.5KB stack would overflow. +static void captiveportal_tick() { int64_t now = esp_timer_get_time(); @@ -214,6 +218,25 @@ static void captiveportal_updateloop(void*) } } +// Dedicated worker task. The 500ms timer only notifies us; all the heavy tick work +// (portal start/stop, instance construction) runs here on a generous stack. +static void captiveportal_managertask(void*) +{ + for (;;) { + ulTaskNotifyTake(pdTRUE, portMAX_DELAY); + captiveportal_tick(); + } +} + +// esp_timer callback (runs on the esp_timer task, 3.5KB stack). Must stay trivial — +// it only kicks the manager task, which does the real work on its own stack. +static void captiveportal_timernotify(void*) +{ + if (s_managerTask != nullptr) { + xTaskNotifyGive(s_managerTask); + } +} + bool CaptivePortal::Init() { // If device is already fully configured, set a startup grace period before opening portal @@ -222,8 +245,13 @@ bool CaptivePortal::Init() OS_LOGI(TAG, "Device fully configured, startup grace period of 30s before opening portal"); } + if (TaskUtils::TaskCreateExpensive(captiveportal_managertask, "CaptivePortalManager", 6144, nullptr, 1, &s_managerTask) != pdPASS) { + OS_LOGE(TAG, "Failed to create captive portal manager task"); + return false; + } + esp_timer_create_args_t args = { - .callback = captiveportal_updateloop, + .callback = captiveportal_timernotify, .arg = nullptr, .dispatch_method = ESP_TIMER_TASK, .name = "captive_portal_update", diff --git a/src/config/Config.cpp b/src/config/Config.cpp index 1c5db5eb..5d050bd6 100644 --- a/src/config/Config.cpp +++ b/src/config/Config.cpp @@ -13,14 +13,23 @@ const char* const TAG = "Config"; #include "json/Json.h" -#include -#include +#include "fs/ConfigFs.h" #include +#include +#include +#include using namespace OpenShock; -static fs::LittleFSFS _configFS; +// littlefs partition holding the persisted config blob. The Arduino LittleFSFS +// stored it as the file "config" at the root of the partition labelled "config" +// (VFS "/config/config" resolved to lfs path "/config"); the raw-lfs ConfigFs opens +// that same path so existing devices keep loading their config after the migration. +static constexpr const char* CONFIG_PARTITION_LABEL = "config"; +static constexpr const char* CONFIG_FILE_PATH = "/config"; + +static OpenShock::ConfigFs _configFs; static Config::RootConfig _configData; static ReadWriteMutex _configMutex; @@ -73,26 +82,17 @@ static bool tryDeserializeConfig(const uint8_t* buffer, std::size_t bufferLen, O } static bool tryLoadConfig(TinyVec& buffer) { - File file = _configFS.open("/config", "rb"); - if (!file) { - OS_LOGE(TAG, "Failed to open config file for reading"); + std::vector data; + if (!_configFs.read(CONFIG_FILE_PATH, data)) { + OS_LOGE(TAG, "Failed to read config file"); return false; } - // Get file size - std::size_t size = file.size(); - - // Resize buffer - buffer.resize(size); - - // Read file - if (file.read(buffer.data(), buffer.size()) != buffer.size()) { - OS_LOGE(TAG, "Failed to read config file, size mismatch"); - return false; + buffer.resize(data.size()); + if (!data.empty()) { + memcpy(buffer.data(), data.data(), data.size()); } - file.close(); - return true; } static bool tryLoadConfig() @@ -106,20 +106,11 @@ static bool tryLoadConfig() } static bool trySaveConfig(const uint8_t* data, std::size_t dataLen) { - File file = _configFS.open("/config", "wb"); - if (!file) { - OS_LOGE(TAG, "Failed to open config file for writing"); - return false; - } - - // Write file - if (file.write(data, dataLen) != dataLen) { + if (!_configFs.write(CONFIG_FILE_PATH, std::span(data, dataLen))) { OS_LOGE(TAG, "Failed to write config file"); return false; } - file.close(); - return true; } static bool trySaveConfig() @@ -137,7 +128,12 @@ void Config::Init() { CONFIG_LOCK_WRITE(); - if (!_configFS.begin(true, "/config", 3, "config")) { + const esp_partition_t* partition = esp_partition_find_first(ESP_PARTITION_TYPE_DATA, ESP_PARTITION_SUBTYPE_DATA_SPIFFS, CONFIG_PARTITION_LABEL); + if (partition == nullptr) { + OS_PANIC(TAG, "Unable to find config partition!"); + } + + if (!_configFs.mount(partition)) { OS_PANIC(TAG, "Unable to mount config LittleFS partition!"); } @@ -230,7 +226,7 @@ void Config::FactoryReset() _configData.ToDefault(); - if (!_configFS.remove("/config") && _configFS.exists("/config")) { + if (!_configFs.remove(CONFIG_FILE_PATH) && _configFs.exists(CONFIG_FILE_PATH)) { OS_PANIC(TAG, "Failed to remove existing config file for factory reset. Reccomend formatting microcontroller and re-flashing firmware"); } diff --git a/src/message_handlers/websocket/Gateway.cpp b/src/message_handlers/websocket/Gateway.cpp index 1cf229ec..76d75379 100644 --- a/src/message_handlers/websocket/Gateway.cpp +++ b/src/message_handlers/websocket/Gateway.cpp @@ -8,8 +8,6 @@ const char* const TAG = "ServerMessageHandlers"; #include "serialization/_fbs/GatewayToHubMessage_generated.h" -#include - #include #include diff --git a/src/message_handlers/websocket/Local.cpp b/src/message_handlers/websocket/Local.cpp index 1e0a9402..3b079ae3 100644 --- a/src/message_handlers/websocket/Local.cpp +++ b/src/message_handlers/websocket/Local.cpp @@ -7,8 +7,6 @@ const char* const TAG = "LocalMessageHandlers"; #include "serialization/_fbs/LocalToHubMessage_generated.h" -#include - #include #include From ac1f899054f00cecd3054572844740e753b77c81 Mon Sep 17 00:00:00 2001 From: HeavenVR Date: Thu, 9 Jul 2026 20:31:15 +0200 Subject: [PATCH 50/91] build(certs): track binaries in Git LFS and refresh CA bundle Track the packed x509 cert bundle and the flatc compiler binaries (scripts/flatc, *.exe) via Git LFS so the repo stops carrying them as plain blobs and no longer tries EOL conversion on them (-text). Also refresh the CA trust store from a fresh curl caextract run: cacert.pem and the packed x509_crt_bundle now carry 121 CAs (down from 144). --- .gitattributes | 3 + certificates/cacert.pem | 600 ++--------------------------------- certificates/x509_crt_bundle | Bin 66125 -> 130 bytes scripts/flatc | Bin 7508976 -> 132 bytes scripts/flatc.exe | Bin 3586048 -> 132 bytes 5 files changed, 26 insertions(+), 577 deletions(-) diff --git a/.gitattributes b/.gitattributes index c4c1ab34..28458dac 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,2 +1,5 @@ * text=auto eol=lf *.txt text eol=lf +*.exe filter=lfs diff=lfs merge=lfs -text +scripts/flatc filter=lfs diff=lfs merge=lfs -text +certificates/x509_crt_bundle filter=lfs diff=lfs merge=lfs -text diff --git a/certificates/cacert.pem b/certificates/cacert.pem index 65be891e..3e158b86 100644 --- a/certificates/cacert.pem +++ b/certificates/cacert.pem @@ -1,7 +1,7 @@ ## ## Bundle of CA Root Certificates ## -## Certificate data from Mozilla as of: Tue Dec 2 04:12:02 2025 GMT +## Certificate data from Mozilla as of: Thu May 14 03:12:02 2026 GMT ## ## Find updated versions here: https://curl.se/docs/caextract.html ## @@ -15,8 +15,8 @@ ## an Apache+mod_ssl webserver for SSL client authentication. ## Just configure this file as the SSLCACertificateFile. ## -## Conversion done with mk-ca-bundle.pl version 1.30. -## SHA256: a903b3cd05231e39332515ef7ebe37e697262f39515a52015c23c62805b73cd0 +## Conversion done with mk-ca-bundle.pl version 1.33. +## SHA256: 77130ef91213772844561fbd3aa31d413b25c2ac7f576fea3bc3bbff7ef93489 ## @@ -46,237 +46,6 @@ W3iDVuycNsMm4hH2Z0kdkquM++v/eu6FSqdQgPCnXEqULl8FmTxSQeDNtGPPAUO6nIPcj2A781q0 tHuu2guQOHXvgR1m0vdXcDazv/wor3ElhVsT/h5/WrQ8 -----END CERTIFICATE----- -QuoVadis Root CA 2 -================== ------BEGIN CERTIFICATE----- -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 ------END CERTIFICATE----- - -QuoVadis Root CA 3 -================== ------BEGIN CERTIFICATE----- -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 ------END CERTIFICATE----- - -DigiCert Assured ID Root CA -=========================== ------BEGIN CERTIFICATE----- -MIIDtzCCAp+gAwIBAgIQDOfg5RfYRv6P5WD8G/AwOTANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQG -EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQw -IgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwHhcNMDYxMTEwMDAwMDAwWhcNMzEx -MTEwMDAwMDAwWjBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQL -ExB3d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0Ew -ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtDhXO5EOAXLGH87dg+XESpa7cJpSIqvTO -9SA5KFhgDPiA2qkVlTJhPLWxKISKityfCgyDF3qPkKyK53lTXDGEKvYPmDI2dsze3Tyoou9q+yHy -UmHfnyDXH+Kx2f4YZNISW1/5WBg1vEfNoTb5a3/UsDg+wRvDjDPZ2C8Y/igPs6eD1sNuRMBhNZYW -/lmci3Zt1/GiSw0r/wty2p5g0I6QNcZ4VYcgoc/lbQrISXwxmDNsIumH0DJaoroTghHtORedmTpy -oeb6pNnVFzF1roV9Iq4/AUaG9ih5yLHa5FcXxH4cDrC0kqZWs72yl+2qp/C3xag/lRbQ/6GW6whf -GHdPAgMBAAGjYzBhMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRF -66Kv9JLLgjEtUYunpyGd823IDzAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYunpyGd823IDzANBgkq -hkiG9w0BAQUFAAOCAQEAog683+Lt8ONyc3pklL/3cmbYMuRCdWKuh+vy1dneVrOfzM4UKLkNl2Bc -EkxY5NM9g0lFWJc1aRqoR+pWxnmrEthngYTffwk8lOa4JiwgvT2zKIn3X/8i4peEH+ll74fg38Fn -SbNd67IJKusm7Xi+fT8r87cmNW1fiQG2SVufAQWbqz0lwcy2f8Lxb4bG+mRo64EtlOtCt/qMHt1i -8b5QZ7dsvfPxH2sMNgcWfzd8qVttevESRmCD1ycEvkvOl77DZypoEd+A5wwzZr8TDRRu838fYxAe -+o0bJW1sj6W3YQGx0qMmoRBxna3iw/nDmVG3KwcIzi7mULKn+gpFL6Lw8g== ------END CERTIFICATE----- - -DigiCert Global Root CA -======================= ------BEGIN CERTIFICATE----- -MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBhMQswCQYDVQQG -EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAw -HgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBDQTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAw -MDAwMDBaMGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3 -dy5kaWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkq -hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsBCSDMAZOn -TjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97nh6Vfe63SKMI2tavegw5 -BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt43C/dxC//AH2hdmoRBBYMql1GNXRor5H -4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7PT19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y -7vrTC0LUq7dBMtoM1O/4gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQAB -o2MwYTAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbRTLtm -8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUwDQYJKoZIhvcNAQEF -BQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/EsrhMAtudXH/vTBH1jLuG2cenTnmCmr -EbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIt -tep3Sp+dWOIrWcBAI+0tKIJFPnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886 -UAb3LujEV0lsYSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk -CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4= ------END CERTIFICATE----- - -DigiCert High Assurance EV Root CA -================================== ------BEGIN CERTIFICATE----- -MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBsMQswCQYDVQQG -EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSsw -KQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5jZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAw -MFoXDTMxMTExMDAwMDAwMFowbDELMAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZ -MBcGA1UECxMQd3d3LmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFu -Y2UgRVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm+9S75S0t -Mqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlBWTrT3JTWPNt0OKRKzE0lgvdKpVMS -OO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEMxChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3 -MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFBIk5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQ -NAQTXKFx01p8VdteZOE3hzBWBOURtCmAEvF5OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUe -h10aUAsgEsxBu24LUTi4S8sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMB -Af8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaAFLE+w2kD+L9HAdSY -JhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3NecnzyIZgYIVyHbIUf4KmeqvxgydkAQ -V8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6zeM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFp -myPInngiK3BD41VHMWEZ71jFhS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkK -mNEVX58Svnw2Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe -vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep+OkuE6N36B9K ------END CERTIFICATE----- - -SwissSign Gold CA - G2 -====================== ------BEGIN CERTIFICATE----- -MIIFujCCA6KgAwIBAgIJALtAHEP1Xk+wMA0GCSqGSIb3DQEBBQUAMEUxCzAJBgNVBAYTAkNIMRUw -EwYDVQQKEwxTd2lzc1NpZ24gQUcxHzAdBgNVBAMTFlN3aXNzU2lnbiBHb2xkIENBIC0gRzIwHhcN -MDYxMDI1MDgzMDM1WhcNMzYxMDI1MDgzMDM1WjBFMQswCQYDVQQGEwJDSDEVMBMGA1UEChMMU3dp -c3NTaWduIEFHMR8wHQYDVQQDExZTd2lzc1NpZ24gR29sZCBDQSAtIEcyMIICIjANBgkqhkiG9w0B -AQEFAAOCAg8AMIICCgKCAgEAr+TufoskDhJuqVAtFkQ7kpJcyrhdhJJCEyq8ZVeCQD5XJM1QiyUq -t2/876LQwB8CJEoTlo8jE+YoWACjR8cGp4QjK7u9lit/VcyLwVcfDmJlD909Vopz2q5+bbqBHH5C -jCA12UNNhPqE21Is8w4ndwtrvxEvcnifLtg+5hg3Wipy+dpikJKVyh+c6bM8K8vzARO/Ws/BtQpg -vd21mWRTuKCWs2/iJneRjOBiEAKfNA+k1ZIzUd6+jbqEemA8atufK+ze3gE/bk3lUIbLtK/tREDF -ylqM2tIrfKjuvqblCqoOpd8FUrdVxyJdMmqXl2MT28nbeTZ7hTpKxVKJ+STnnXepgv9VHKVxaSvR -AiTysybUa9oEVeXBCsdtMDeQKuSeFDNeFhdVxVu1yzSJkvGdJo+hB9TGsnhQ2wwMC3wLjEHXuend -jIj3o02yMszYF9rNt85mndT9Xv+9lz4pded+p2JYryU0pUHHPbwNUMoDAw8IWh+Vc3hiv69yFGkO -peUDDniOJihC8AcLYiAQZzlG+qkDzAQ4embvIIO1jEpWjpEA/I5cgt6IoMPiaG59je883WX0XaxR -7ySArqpWl2/5rX3aYT+YdzylkbYcjCbaZaIJbcHiVOO5ykxMgI93e2CaHt+28kgeDrpOVG2Y4OGi -GqJ3UM/EY5LsRxmd6+ZrzsECAwEAAaOBrDCBqTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUw -AwEB/zAdBgNVHQ4EFgQUWyV7lqRlUX64OfPAeGZe6Drn8O4wHwYDVR0jBBgwFoAUWyV7lqRlUX64 -OfPAeGZe6Drn8O4wRgYDVR0gBD8wPTA7BglghXQBWQECAQEwLjAsBggrBgEFBQcCARYgaHR0cDov -L3JlcG9zaXRvcnkuc3dpc3NzaWduLmNvbS8wDQYJKoZIhvcNAQEFBQADggIBACe645R88a7A3hfm -5djV9VSwg/S7zV4Fe0+fdWavPOhWfvxyeDgD2StiGwC5+OlgzczOUYrHUDFu4Up+GC9pWbY9ZIEr -44OE5iKHjn3g7gKZYbge9LgriBIWhMIxkziWMaa5O1M/wySTVltpkuzFwbs4AOPsF6m43Md8AYOf -Mke6UiI0HTJ6CVanfCU2qT1L2sCCbwq7EsiHSycR+R4tx5M/nttfJmtS2S6K8RTGRI0Vqbe/vd6m -Gu6uLftIdxf+u+yvGPUqUfA5hJeVbG4bwyvEdGB5JbAKJ9/fXtI5z0V9QkvfsywexcZdylU6oJxp -mo/a77KwPJ+HbBIrZXAVUjEaJM9vMSNQH4xPjyPDdEFjHFWoFN0+4FFQz/EbMFYOkrCChdiDyyJk -vC24JdVUorgG6q2SpCSgwYa1ShNqR88uC1aVVMvOmttqtKay20EIhid392qgQmwLOM7XdVAyksLf -KzAiSNDVQTglXaTpXZ/GlHXQRf0wl0OPkKsKx4ZzYEppLd6leNcG2mqeSz53OiATIgHQv2ieY2Br -NU0LbbqhPcCT4H8js1WtciVORvnSFu+wZMEBnunKoGqYDs/YYPIvSbjkQuE4NRb0yG5P94FW6Lqj -viOvrv1vA+ACOzB2+httQc8Bsem4yWb02ybzOqR08kkkW8mw0FfB+j564ZfJ ------END CERTIFICATE----- - -SecureTrust CA -============== ------BEGIN CERTIFICATE----- -MIIDuDCCAqCgAwIBAgIQDPCOXAgWpa1Cf/DrJxhZ0DANBgkqhkiG9w0BAQUFADBIMQswCQYDVQQG -EwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xFzAVBgNVBAMTDlNlY3VyZVRy -dXN0IENBMB4XDTA2MTEwNzE5MzExOFoXDTI5MTIzMTE5NDA1NVowSDELMAkGA1UEBhMCVVMxIDAe -BgNVBAoTF1NlY3VyZVRydXN0IENvcnBvcmF0aW9uMRcwFQYDVQQDEw5TZWN1cmVUcnVzdCBDQTCC -ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKukgeWVzfX2FI7CT8rU4niVWJxB4Q2ZQCQX -OZEzZum+4YOvYlyJ0fwkW2Gz4BERQRwdbvC4u/jep4G6pkjGnx29vo6pQT64lO0pGtSO0gMdA+9t -DWccV9cGrcrI9f4Or2YlSASWC12juhbDCE/RRvgUXPLIXgGZbf2IzIaowW8xQmxSPmjL8xk037uH -GFaAJsTQ3MBv396gwpEWoGQRS0S8Hvbn+mPeZqx2pHGj7DaUaHp3pLHnDi+BeuK1cobvomuL8A/b -01k/unK8RCSc43Oz969XL0Imnal0ugBS8kvNU3xHCzaFDmapCJcWNFfBZveA4+1wVMeT4C4oFVmH -ursCAwEAAaOBnTCBmjATBgkrBgEEAYI3FAIEBh4EAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/ -BAUwAwEB/zAdBgNVHQ4EFgQUQjK2FvoE/f5dS3rD/fdMQB1aQ68wNAYDVR0fBC0wKzApoCegJYYj -aHR0cDovL2NybC5zZWN1cmV0cnVzdC5jb20vU1RDQS5jcmwwEAYJKwYBBAGCNxUBBAMCAQAwDQYJ -KoZIhvcNAQEFBQADggEBADDtT0rhWDpSclu1pqNlGKa7UTt36Z3q059c4EVlew3KW+JwULKUBRSu -SceNQQcSc5R+DCMh/bwQf2AQWnL1mA6s7Ll/3XpvXdMc9P+IBWlCqQVxyLesJugutIxq/3HcuLHf -mbx8IVQr5Fiiu1cprp6poxkmD5kuCLDv/WnPmRoJjeOnnyvJNjR7JLN4TJUXpAYmHrZkUjZfYGfZ -nMUFdAvnZyPSCPyI6a6Lf+Ew9Dd+/cYy2i2eRDAwbO4H3tI0/NL/QPZL9GZGBlSm8jIKYyYwa5vR -3ItHuuG51WLQoqD0ZwV4KWMabwTW+MZMo5qxN7SN5ShLHZ4swrhovO0C7jE= ------END CERTIFICATE----- - -Secure Global CA -================ ------BEGIN CERTIFICATE----- -MIIDvDCCAqSgAwIBAgIQB1YipOjUiolN9BPI8PjqpTANBgkqhkiG9w0BAQUFADBKMQswCQYDVQQG -EwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBH -bG9iYWwgQ0EwHhcNMDYxMTA3MTk0MjI4WhcNMjkxMjMxMTk1MjA2WjBKMQswCQYDVQQGEwJVUzEg -MB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwg -Q0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvNS7YrGxVaQZx5RNoJLNP2MwhR/jx -YDiJiQPpvepeRlMJ3Fz1Wuj3RSoC6zFh1ykzTM7HfAo3fg+6MpjhHZevj8fcyTiW89sa/FHtaMbQ -bqR8JNGuQsiWUGMu4P51/pinX0kuleM5M2SOHqRfkNJnPLLZ/kG5VacJjnIFHovdRIWCQtBJwB1g -8NEXLJXr9qXBkqPFwqcIYA1gBBCWeZ4WNOaptvolRTnIHmX5k/Wq8VLcmZg9pYYaDDUz+kulBAYV -HDGA76oYa8J719rO+TMg1fW9ajMtgQT7sFzUnKPiXB3jqUJ1XnvUd+85VLrJChgbEplJL4hL/VBi -0XPnj3pDAgMBAAGjgZ0wgZowEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1Ud -EwEB/wQFMAMBAf8wHQYDVR0OBBYEFK9EBMJBfkiD2045AuzshHrmzsmkMDQGA1UdHwQtMCswKaAn -oCWGI2h0dHA6Ly9jcmwuc2VjdXJldHJ1c3QuY29tL1NHQ0EuY3JsMBAGCSsGAQQBgjcVAQQDAgEA -MA0GCSqGSIb3DQEBBQUAA4IBAQBjGghAfaReUw132HquHw0LURYD7xh8yOOvaliTFGCRsoTciE6+ -OYo68+aCiV0BN7OrJKQVDpI1WkpEXk5X+nXOH0jOZvQ8QCaSmGwb7iRGDBezUqXbpZGRzzfTb+cn -CDpOGR86p1hcF895P4vkp9MmI50mD1hp/Ed+stCNi5O/KU9DaXR2Z0vPB4zmAve14bRDtUstFJ/5 -3CYNv6ZHdAbYiNE6KTCEztI5gGIbqMdXSbxqVVFnFUq+NQfk1XWYN3kwFNspnWzFacxHVaIw98xc -f8LDmBxrThaA63p4ZUWiABqvDA1VZDRIuJK58bRQKfJPIx/abKwfROHdI3hRW8cW ------END CERTIFICATE----- - -COMODO Certification Authority -============================== ------BEGIN CERTIFICATE----- -MIIEHTCCAwWgAwIBAgIQToEtioJl4AsC7j41AkblPTANBgkqhkiG9w0BAQUFADCBgTELMAkGA1UE -BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgG -A1UEChMRQ09NT0RPIENBIExpbWl0ZWQxJzAlBgNVBAMTHkNPTU9ETyBDZXJ0aWZpY2F0aW9uIEF1 -dGhvcml0eTAeFw0wNjEyMDEwMDAwMDBaFw0yOTEyMzEyMzU5NTlaMIGBMQswCQYDVQQGEwJHQjEb -MBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFD -T01PRE8gQ0EgTGltaXRlZDEnMCUGA1UEAxMeQ09NT0RPIENlcnRpZmljYXRpb24gQXV0aG9yaXR5 -MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0ECLi3LjkRv3UcEbVASY06m/weaKXTuH -+7uIzg3jLz8GlvCiKVCZrts7oVewdFFxze1CkU1B/qnI2GqGd0S7WWaXUF601CxwRM/aN5VCaTww -xHGzUvAhTaHYujl8HJ6jJJ3ygxaYqhZ8Q5sVW7euNJH+1GImGEaaP+vB+fGQV+useg2L23IwambV -4EajcNxo2f8ESIl33rXp+2dtQem8Ob0y2WIC8bGoPW43nOIv4tOiJovGuFVDiOEjPqXSJDlqR6sA -1KGzqSX+DT+nHbrTUcELpNqsOO9VUCQFZUaTNE8tja3G1CEZ0o7KBWFxB3NH5YoZEr0ETc5OnKVI -rLsm9wIDAQABo4GOMIGLMB0GA1UdDgQWBBQLWOWLxkwVN6RAqTCpIb5HNlpW/zAOBgNVHQ8BAf8E -BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zBJBgNVHR8EQjBAMD6gPKA6hjhodHRwOi8vY3JsLmNvbW9k -b2NhLmNvbS9DT01PRE9DZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNybDANBgkqhkiG9w0BAQUFAAOC -AQEAPpiem/Yb6dc5t3iuHXIYSdOH5EOC6z/JqvWote9VfCFSZfnVDeFs9D6Mk3ORLgLETgdxb8CP -OGEIqB6BCsAvIC9Bi5HcSEW88cbeunZrM8gALTFGTO3nnc+IlP8zwFboJIYmuNg4ON8qa90SzMc/ -RxdMosIGlgnW2/4/PEZB31jiVg88O8EckzXZOFKs7sjsLjBOlDW0JB9LeGna8gI4zJVSk/BwJVmc -IGfE7vmLV2H0knZ9P4SNVbfo5azV8fUZVqZa+5Acr5Pr5RzUZ5ddBA6+C4OmF4O5MBKgxTMVBbkN -+8cFduPYSo38NBejxiEovjBFMR7HeL5YYTisO+IBZQ== ------END CERTIFICATE----- - COMODO ECC Certification Authority ================================== -----BEGIN CERTIFICATE----- @@ -294,28 +63,6 @@ FAkK+qDmfQjGGoe9GKhzvSbKYAydzpmfz1wPMOG+FDHqAjAU9JM8SaczepBGR7NjfRObTrdvGDeA U/7dIOA1mjbRxwG55tzd8/8dLDoWV9mSOdY= -----END CERTIFICATE----- -Certigna -======== ------BEGIN CERTIFICATE----- -MIIDqDCCApCgAwIBAgIJAP7c4wEPyUj/MA0GCSqGSIb3DQEBBQUAMDQxCzAJBgNVBAYTAkZSMRIw -EAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hMB4XDTA3MDYyOTE1MTMwNVoXDTI3 -MDYyOTE1MTMwNVowNDELMAkGA1UEBhMCRlIxEjAQBgNVBAoMCURoaW15b3RpczERMA8GA1UEAwwI -Q2VydGlnbmEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDIaPHJ1tazNHUmgh7stL7q -XOEm7RFHYeGifBZ4QCHkYJ5ayGPhxLGWkv8YbWkj4Sti993iNi+RB7lIzw7sebYs5zRLcAglozyH -GxnygQcPOJAZ0xH+hrTy0V4eHpbNgGzOOzGTtvKg0KmVEn2lmsxryIRWijOp5yIVUxbwzBfsV1/p -ogqYCd7jX5xv3EjjhQsVWqa6n6xI4wmy9/Qy3l40vhx4XUJbzg4ij02Q130yGLMLLGq/jj8UEYkg -DncUtT2UCIf3JR7VsmAA7G8qKCVuKj4YYxclPz5EIBb2JsglrgVKtOdjLPOMFlN+XPsRGgjBRmKf -Irjxwo1p3Po6WAbfAgMBAAGjgbwwgbkwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUGu3+QTmQ -tCRZvgHyUtVF9lo53BEwZAYDVR0jBF0wW4AUGu3+QTmQtCRZvgHyUtVF9lo53BGhOKQ2MDQxCzAJ -BgNVBAYTAkZSMRIwEAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hggkA/tzjAQ/J -SP8wDgYDVR0PAQH/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIABzANBgkqhkiG9w0BAQUFAAOCAQEA -hQMeknH2Qq/ho2Ge6/PAD/Kl1NqV5ta+aDY9fm4fTIrv0Q8hbV6lUmPOEvjvKtpv6zf+EwLHyzs+ -ImvaYS5/1HI93TDhHkxAGYwP15zRgzB7mFncfca5DClMoTOi62c6ZYTTluLtdkVwj7Ur3vkj1klu -PBS1xp81HlDQwY9qcEQCYsuuHWhBp6pX6FOqB9IG9tUUBguRA3UsbHK1YZWaDYu5Def131TN3ubY -1gkIl2PlwS6wt0QmwCbAr1UwnjvVNioZBPRcHv/PLLf/0P2HQBHVESO7SMAhqaQoLf0V+LBOK/Qw -WyH8EZE0vkHve52Xdf+XlcCWWC/qu0bXu+TZLg== ------END CERTIFICATE----- - ePKI Root Certification Authority ================================= -----BEGIN CERTIFICATE----- @@ -347,26 +94,6 @@ sP6SHhYKGvzZ8/gntsm+HbRsZJB/9OTEW9c3rkIO3aQab3yIVMUWbuF6aC74Or8NpDyJO3inTmOD BCEIZ43ygknQW/2xzQ+DhNQ+IIX3Sj0rnP0qCglN6oH4EZw= -----END CERTIFICATE----- -certSIGN ROOT CA -================ ------BEGIN CERTIFICATE----- -MIIDODCCAiCgAwIBAgIGIAYFFnACMA0GCSqGSIb3DQEBBQUAMDsxCzAJBgNVBAYTAlJPMREwDwYD -VQQKEwhjZXJ0U0lHTjEZMBcGA1UECxMQY2VydFNJR04gUk9PVCBDQTAeFw0wNjA3MDQxNzIwMDRa -Fw0zMTA3MDQxNzIwMDRaMDsxCzAJBgNVBAYTAlJPMREwDwYDVQQKEwhjZXJ0U0lHTjEZMBcGA1UE -CxMQY2VydFNJR04gUk9PVCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALczuX7I -JUqOtdu0KBuqV5Do0SLTZLrTk+jUrIZhQGpgV2hUhE28alQCBf/fm5oqrl0Hj0rDKH/v+yv6efHH -rfAQUySQi2bJqIirr1qjAOm+ukbuW3N7LBeCgV5iLKECZbO9xSsAfsT8AzNXDe3i+s5dRdY4zTW2 -ssHQnIFKquSyAVwdj1+ZxLGt24gh65AIgoDzMKND5pCCrlUoSe1b16kQOA7+j0xbm0bqQfWwCHTD -0IgztnzXdN/chNFDDnU5oSVAKOp4yw4sLjmdjItuFhwvJoIQ4uNllAoEwF73XVv4EOLQunpL+943 -AAAaWyjj0pxzPjKHmKHJUS/X3qwzs08CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8B -Af8EBAMCAcYwHQYDVR0OBBYEFOCMm9slSbPxfIbWskKHC9BroNnkMA0GCSqGSIb3DQEBBQUAA4IB -AQA+0hyJLjX8+HXd5n9liPRyTMks1zJO890ZeUe9jjtbkw9QSSQTaxQGcu8J06Gh40CEyecYMnQ8 -SG4Pn0vU9x7Tk4ZkVJdjclDVVc/6IJMCopvDI5NOFlV2oHB5bc0hH88vLbwZ44gx+FkagQnIl6Z0 -x2DEW8xXjrJ1/RsCCdtZb3KTafcxQdaIOL+Hsr0Wefmq5L6IJd1hJyMctTEHBDa0GpC9oHRxUIlt -vBTjD4au8as+x6AJzKNI0eDbZOeStc+vckNwi/nDhDwTqn6Sm1dTk/pwwpEOMfmbZ13pljheX7Nz -TogVZ96edhBiIL5VaZVDADlN9u6wWk5JRFRYX0KD ------END CERTIFICATE----- - NetLock Arany (Class Gold) Főtanúsítvány ======================================== -----BEGIN CERTIFICATE----- @@ -536,90 +263,6 @@ iEDPfUYd/x7H4c7/I9vG+o1VTqkC50cRRj70/b17KSa7qWFiNyi2LSr2EIZkyXCn0q23KXB56jza YyWf/Wi3MOxw+3WKt21gZ7IeyLnp2KhvAotnDU0mV3HaIPzBSlCNsSi6 -----END CERTIFICATE----- -AffirmTrust Commercial -====================== ------BEGIN CERTIFICATE----- -MIIDTDCCAjSgAwIBAgIId3cGJyapsXwwDQYJKoZIhvcNAQELBQAwRDELMAkGA1UEBhMCVVMxFDAS -BgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBDb21tZXJjaWFsMB4XDTEw -MDEyOTE0MDYwNloXDTMwMTIzMTE0MDYwNlowRDELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmly -bVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBDb21tZXJjaWFsMIIBIjANBgkqhkiG9w0BAQEF -AAOCAQ8AMIIBCgKCAQEA9htPZwcroRX1BiLLHwGy43NFBkRJLLtJJRTWzsO3qyxPxkEylFf6Eqdb -DuKPHx6GGaeqtS25Xw2Kwq+FNXkyLbscYjfysVtKPcrNcV/pQr6U6Mje+SJIZMblq8Yrba0F8PrV -C8+a5fBQpIs7R6UjW3p6+DM/uO+Zl+MgwdYoic+U+7lF7eNAFxHUdPALMeIrJmqbTFeurCA+ukV6 -BfO9m2kVrn1OIGPENXY6BwLJN/3HR+7o8XYdcxXyl6S1yHp52UKqK39c/s4mT6NmgTWvRLpUHhww -MmWd5jyTXlBOeuM61G7MGvv50jeuJCqrVwMiKA1JdX+3KNp1v47j3A55MQIDAQABo0IwQDAdBgNV -HQ4EFgQUnZPGU4teyq8/nx4P5ZmVvCT2lI8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC -AQYwDQYJKoZIhvcNAQELBQADggEBAFis9AQOzcAN/wr91LoWXym9e2iZWEnStB03TX8nfUYGXUPG -hi4+c7ImfU+TqbbEKpqrIZcUsd6M06uJFdhrJNTxFq7YpFzUf1GO7RgBsZNjvbz4YYCanrHOQnDi -qX0GJX0nof5v7LMeJNrjS1UaADs1tDvZ110w/YETifLCBivtZ8SOyUOyXGsViQK8YvxO8rUzqrJv -0wqiUOP2O+guRMLbZjipM1ZI8W0bM40NjD9gN53Tym1+NH4Nn3J2ixufcv1SNUFFApYvHLKac0kh -sUlHRUe072o0EclNmsxZt9YCnlpOZbWUrhvfKbAW8b8Angc6F2S1BLUjIZkKlTuXfO8= ------END CERTIFICATE----- - -AffirmTrust Networking -====================== ------BEGIN CERTIFICATE----- -MIIDTDCCAjSgAwIBAgIIfE8EORzUmS0wDQYJKoZIhvcNAQEFBQAwRDELMAkGA1UEBhMCVVMxFDAS -BgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBOZXR3b3JraW5nMB4XDTEw -MDEyOTE0MDgyNFoXDTMwMTIzMTE0MDgyNFowRDELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmly -bVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBOZXR3b3JraW5nMIIBIjANBgkqhkiG9w0BAQEF -AAOCAQ8AMIIBCgKCAQEAtITMMxcua5Rsa2FSoOujz3mUTOWUgJnLVWREZY9nZOIG41w3SfYvm4SE -Hi3yYJ0wTsyEheIszx6e/jarM3c1RNg1lho9Nuh6DtjVR6FqaYvZ/Ls6rnla1fTWcbuakCNrmreI -dIcMHl+5ni36q1Mr3Lt2PpNMCAiMHqIjHNRqrSK6mQEubWXLviRmVSRLQESxG9fhwoXA3hA/Pe24 -/PHxI1Pcv2WXb9n5QHGNfb2V1M6+oF4nI979ptAmDgAp6zxG8D1gvz9Q0twmQVGeFDdCBKNwV6gb -h+0t+nvujArjqWaJGctB+d1ENmHP4ndGyH329JKBNv3bNPFyfvMMFr20FQIDAQABo0IwQDAdBgNV -HQ4EFgQUBx/S55zawm6iQLSwelAQUHTEyL0wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC -AQYwDQYJKoZIhvcNAQEFBQADggEBAIlXshZ6qML91tmbmzTCnLQyFE2npN/svqe++EPbkTfOtDIu -UFUaNU52Q3Eg75N3ThVwLofDwR1t3Mu1J9QsVtFSUzpE0nPIxBsFZVpikpzuQY0x2+c06lkh1QF6 -12S4ZDnNye2v7UsDSKegmQGA3GWjNq5lWUhPgkvIZfFXHeVZLgo/bNjR9eUJtGxUAArgFU2HdW23 -WJZa3W3SAKD0m0i+wzekujbgfIeFlxoVot4uolu9rxj5kFDNcFn4J2dHy8egBzp90SxdbBk6ZrV9 -/ZFvgrG+CJPbFEfxojfHRZ48x3evZKiT3/Zpg4Jg8klCNO1aAFSFHBY2kgxc+qatv9s= ------END CERTIFICATE----- - -AffirmTrust Premium -=================== ------BEGIN CERTIFICATE----- -MIIFRjCCAy6gAwIBAgIIbYwURrGmCu4wDQYJKoZIhvcNAQEMBQAwQTELMAkGA1UEBhMCVVMxFDAS -BgNVBAoMC0FmZmlybVRydXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVzdCBQcmVtaXVtMB4XDTEwMDEy -OTE0MTAzNloXDTQwMTIzMTE0MTAzNlowQTELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRy -dXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVzdCBQcmVtaXVtMIICIjANBgkqhkiG9w0BAQEFAAOCAg8A -MIICCgKCAgEAxBLfqV/+Qd3d9Z+K4/as4Tx4mrzY8H96oDMq3I0gW64tb+eT2TZwamjPjlGjhVtn -BKAQJG9dKILBl1fYSCkTtuG+kU3fhQxTGJoeJKJPj/CihQvL9Cl/0qRY7iZNyaqoe5rZ+jjeRFcV -5fiMyNlI4g0WJx0eyIOFJbe6qlVBzAMiSy2RjYvmia9mx+n/K+k8rNrSs8PhaJyJ+HoAVt70VZVs -+7pk3WKL3wt3MutizCaam7uqYoNMtAZ6MMgpv+0GTZe5HMQxK9VfvFMSF5yZVylmd2EhMQcuJUmd -GPLu8ytxjLW6OQdJd/zvLpKQBY0tL3d770O/Nbua2Plzpyzy0FfuKE4mX4+QaAkvuPjcBukumj5R -p9EixAqnOEhss/n/fauGV+O61oV4d7pD6kh/9ti+I20ev9E2bFhc8e6kGVQa9QPSdubhjL08s9NI -S+LI+H+SqHZGnEJlPqQewQcDWkYtuJfzt9WyVSHvutxMAJf7FJUnM7/oQ0dG0giZFmA7mn7S5u04 -6uwBHjxIVkkJx0w3AJ6IDsBz4W9m6XJHMD4Q5QsDyZpCAGzFlH5hxIrff4IaC1nEWTJ3s7xgaVY5 -/bQGeyzWZDbZvUjthB9+pSKPKrhC9IK31FOQeE4tGv2Bb0TXOwF0lkLgAOIua+rF7nKsu7/+6qqo -+Nz2snmKtmcCAwEAAaNCMEAwHQYDVR0OBBYEFJ3AZ6YMItkm9UWrpmVSESfYRaxjMA8GA1UdEwEB -/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBDAUAA4ICAQCzV00QYk465KzquByv -MiPIs0laUZx2KI15qldGF9X1Uva3ROgIRL8YhNILgM3FEv0AVQVhh0HctSSePMTYyPtwni94loMg -Nt58D2kTiKV1NpgIpsbfrM7jWNa3Pt668+s0QNiigfV4Py/VpfzZotReBA4Xrf5B8OWycvpEgjNC -6C1Y91aMYj+6QrCcDFx+LmUmXFNPALJ4fqENmS2NuB2OosSw/WDQMKSOyARiqcTtNd56l+0OOF6S -L5Nwpamcb6d9Ex1+xghIsV5n61EIJenmJWtSKZGc0jlzCFfemQa0W50QBuHCAKi4HEoCChTQwUHK -+4w1IX2COPKpVJEZNZOUbWo6xbLQu4mGk+ibyQ86p3q4ofB4Rvr8Ny/lioTz3/4E2aFooC8k4gmV -BtWVyuEklut89pMFu+1z6S3RdTnX5yTb2E5fQ4+e0BQ5v1VwSJlXMbSc7kqYA5YwH2AG7hsj/oFg -IxpHYoWlzBk0gG+zrBrjn/B7SK3VAdlntqlyk+otZrWyuOQ9PLLvTIzq6we/qzWaVYa8GKa1qF60 -g2xraUDTn9zxw2lrueFtCfTxqlB2Cnp9ehehVZZCmTEJ3WARjQUwfuaORtGdFNrHF+QFlozEJLUb -zxQHskD4o55BhrwE0GuWyCqANP2/7waj3VjFhT0+j/6eKeC2uAloGRwYQw== ------END CERTIFICATE----- - -AffirmTrust Premium ECC -======================= ------BEGIN CERTIFICATE----- -MIIB/jCCAYWgAwIBAgIIdJclisc/elQwCgYIKoZIzj0EAwMwRTELMAkGA1UEBhMCVVMxFDASBgNV -BAoMC0FmZmlybVRydXN0MSAwHgYDVQQDDBdBZmZpcm1UcnVzdCBQcmVtaXVtIEVDQzAeFw0xMDAx -MjkxNDIwMjRaFw00MDEyMzExNDIwMjRaMEUxCzAJBgNVBAYTAlVTMRQwEgYDVQQKDAtBZmZpcm1U -cnVzdDEgMB4GA1UEAwwXQWZmaXJtVHJ1c3QgUHJlbWl1bSBFQ0MwdjAQBgcqhkjOPQIBBgUrgQQA -IgNiAAQNMF4bFZ0D0KF5Nbc6PJJ6yhUczWLznCZcBz3lVPqj1swS6vQUX+iOGasvLkjmrBhDeKzQ -N8O9ss0s5kfiGuZjuD0uL3jET9v0D6RoTFVya5UdThhClXjMNzyR4ptlKymjQjBAMB0GA1UdDgQW -BBSaryl6wBE1NSZRMADDav5A1a7WPDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAK -BggqhkjOPQQDAwNnADBkAjAXCfOHiFBar8jAQr9HX/VsaobgxCd05DhT1wV/GzTjxi+zygk8N53X -57hG8f2h4nECMEJZh0PUUd+60wkyWs6Iflc9nF9Ca/UHLbXwgpP5WW+uZPpY5Yse42O+tYHNbwKM -eQ== ------END CERTIFICATE----- - Certum Trusted Network CA ========================= -----BEGIN CERTIFICATE----- @@ -946,35 +589,6 @@ EHiGG3njxPPyBJUgriOCxLM6AGK/5jYk4Ve6xx6QddVfP5VhK8E7zeWzaGHQRiapIVJpLesux+t3 zqY6tQMzT3bR51xUAV3LePTJDL/PEo4XLSNolOer/qmyKwbQBM0= -----END CERTIFICATE----- -TeliaSonera Root CA v1 -====================== ------BEGIN CERTIFICATE----- -MIIFODCCAyCgAwIBAgIRAJW+FqD3LkbxezmCcvqLzZYwDQYJKoZIhvcNAQEFBQAwNzEUMBIGA1UE -CgwLVGVsaWFTb25lcmExHzAdBgNVBAMMFlRlbGlhU29uZXJhIFJvb3QgQ0EgdjEwHhcNMDcxMDE4 -MTIwMDUwWhcNMzIxMDE4MTIwMDUwWjA3MRQwEgYDVQQKDAtUZWxpYVNvbmVyYTEfMB0GA1UEAwwW -VGVsaWFTb25lcmEgUm9vdCBDQSB2MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMK+ -6yfwIaPzaSZVfp3FVRaRXP3vIb9TgHot0pGMYzHw7CTww6XScnwQbfQ3t+XmfHnqjLWCi65ItqwA -3GV17CpNX8GH9SBlK4GoRz6JI5UwFpB/6FcHSOcZrr9FZ7E3GwYq/t75rH2D+1665I+XZ75Ljo1k -B1c4VWk0Nj0TSO9P4tNmHqTPGrdeNjPUtAa9GAH9d4RQAEX1jF3oI7x+/jXh7VB7qTCNGdMJjmhn -Xb88lxhTuylixcpecsHHltTbLaC0H2kD7OriUPEMPPCs81Mt8Bz17Ww5OXOAFshSsCPN4D7c3TxH -oLs1iuKYaIu+5b9y7tL6pe0S7fyYGKkmdtwoSxAgHNN/Fnct7W+A90m7UwW7XWjH1Mh1Fj+JWov3 -F0fUTPHSiXk+TT2YqGHeOh7S+F4D4MHJHIzTjU3TlTazN19jY5szFPAtJmtTfImMMsJu7D0hADnJ -oWjiUIMusDor8zagrC/kb2HCUQk5PotTubtn2txTuXZZNp1D5SDgPTJghSJRt8czu90VL6R4pgd7 -gUY2BIbdeTXHlSw7sKMXNeVzH7RcWe/a6hBle3rQf5+ztCo3O3CLm1u5K7fsslESl1MpWtTwEhDc -TwK7EpIvYtQ/aUN8Ddb8WHUBiJ1YFkveupD/RwGJBmr2X7KQarMCpgKIv7NHfirZ1fpoeDVNAgMB -AAGjPzA9MA8GA1UdEwEB/wQFMAMBAf8wCwYDVR0PBAQDAgEGMB0GA1UdDgQWBBTwj1k4ALP1j5qW -DNXr+nuqF+gTEjANBgkqhkiG9w0BAQUFAAOCAgEAvuRcYk4k9AwI//DTDGjkk0kiP0Qnb7tt3oNm -zqjMDfz1mgbldxSR651Be5kqhOX//CHBXfDkH1e3damhXwIm/9fH907eT/j3HEbAek9ALCI18Bmx -0GtnLLCo4MBANzX2hFxc469CeP6nyQ1Q6g2EdvZR74NTxnr/DlZJLo961gzmJ1TjTQpgcmLNkQfW -pb/ImWvtxBnmq0wROMVvMeJuScg/doAmAyYp4Db29iBT4xdwNBedY2gea+zDTYa4EzAvXUYNR0PV -G6pZDrlcjQZIrXSHX8f8MVRBE+LHIQ6e4B4N4cB7Q4WQxYpYxmUKeFfyxiMPAdkgS94P+5KFdSpc -c41teyWRyu5FrgZLAMzTsVlQ2jqIOylDRl6XK1TOU2+NSueW+r9xDkKLfP0ooNBIytrEgUy7onOT -JsjrDNYmiLbAJM+7vVvrdX3pCI6GMyx5dwlppYn8s3CQh3aP0yK7Qs69cwsgJirQmz1wHiRszYd2 -qReWt88NkvuOGKmYSdGe/mBEciG5Ge3C9THxOUiIkCR1VBatzvT4aRRkOfujuLpwQMcnHL/EVlP6 -Y2XQ8xwOFvVrhlhNGNTkDY6lnVuR3HYkUD/GKvvZt5y11ubQ2egZixVxSK236thZiNSQvxaz2ems -WWFUyBy6ysHK4bkgTI86k4mloMy/0/Z1pHWWbVY= ------END CERTIFICATE----- - T-TeleSec GlobalRoot Class 2 ============================ -----BEGIN CERTIFICATE----- @@ -1371,50 +985,6 @@ ZHTetBXZ9FRUGi8c15dxVJCO2SCdUyt/q4/i6jC8UDfv8Ue1fXwsBOxonbRJRBD0ckscZOf85muQ 3Wl9af0AVqW3rLatt8o+Ae+c -----END CERTIFICATE----- -Entrust Root Certification Authority - G2 -========================================= ------BEGIN CERTIFICATE----- -MIIEPjCCAyagAwIBAgIESlOMKDANBgkqhkiG9w0BAQsFADCBvjELMAkGA1UEBhMCVVMxFjAUBgNV -BAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVnYWwtdGVy -bXMxOTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ug -b25seTEyMDAGA1UEAxMpRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzIw -HhcNMDkwNzA3MTcyNTU0WhcNMzAxMjA3MTc1NTU0WjCBvjELMAkGA1UEBhMCVVMxFjAUBgNVBAoT -DUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVnYWwtdGVybXMx -OTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ugb25s -eTEyMDAGA1UEAxMpRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzIwggEi -MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC6hLZy254Ma+KZ6TABp3bqMriVQRrJ2mFOWHLP -/vaCeb9zYQYKpSfYs1/TRU4cctZOMvJyig/3gxnQaoCAAEUesMfnmr8SVycco2gvCoe9amsOXmXz -HHfV1IWNcCG0szLni6LVhjkCsbjSR87kyUnEO6fe+1R9V77w6G7CebI6C1XiUJgWMhNcL3hWwcKU -s/Ja5CeanyTXxuzQmyWC48zCxEXFjJd6BmsqEZ+pCm5IO2/b1BEZQvePB7/1U1+cPvQXLOZprE4y -TGJ36rfo5bs0vBmLrpxR57d+tVOxMyLlbc9wPBr64ptntoP0jaWvYkxN4FisZDQSA/i2jZRjJKRx -AgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqciZ6 -0B7vfec7aVHUbI2fkBJmqzANBgkqhkiG9w0BAQsFAAOCAQEAeZ8dlsa2eT8ijYfThwMEYGprmi5Z -iXMRrEPR9RP/jTkrwPK9T3CMqS/qF8QLVJ7UG5aYMzyorWKiAHarWWluBh1+xLlEjZivEtRh2woZ -Rkfz6/djwUAFQKXSt/S1mja/qYh2iARVBCuch38aNzx+LaUa2NSJXsq9rD1s2G2v1fN2D807iDgi -nWyTmsQ9v4IbZT+mD12q/OWyFcq1rca8PdCE6OoGcrBNOTJ4vz4RnAuknZoh8/CbCzB428Hch0P+ -vGOaysXCHMnHjf87ElgI5rY97HosTvuDls4MPGmHVHOkc8KT/1EQrBVUAdj8BbGJoX90g5pJ19xO -e4pIb4tF9g== ------END CERTIFICATE----- - -Entrust Root Certification Authority - EC1 -========================================== ------BEGIN CERTIFICATE----- -MIIC+TCCAoCgAwIBAgINAKaLeSkAAAAAUNCR+TAKBggqhkjOPQQDAzCBvzELMAkGA1UEBhMCVVMx -FjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVn -YWwtdGVybXMxOTA3BgNVBAsTMChjKSAyMDEyIEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9yaXpl -ZCB1c2Ugb25seTEzMDEGA1UEAxMqRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5 -IC0gRUMxMB4XDTEyMTIxODE1MjUzNloXDTM3MTIxODE1NTUzNlowgb8xCzAJBgNVBAYTAlVTMRYw -FAYDVQQKEw1FbnRydXN0LCBJbmMuMSgwJgYDVQQLEx9TZWUgd3d3LmVudHJ1c3QubmV0L2xlZ2Fs -LXRlcm1zMTkwNwYDVQQLEzAoYykgMjAxMiBFbnRydXN0LCBJbmMuIC0gZm9yIGF1dGhvcml6ZWQg -dXNlIG9ubHkxMzAxBgNVBAMTKkVudHJ1c3QgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAt -IEVDMTB2MBAGByqGSM49AgEGBSuBBAAiA2IABIQTydC6bUF74mzQ61VfZgIaJPRbiWlH47jCffHy -AsWfoPZb1YsGGYZPUxBtByQnoaD41UcZYUx9ypMn6nQM72+WCf5j7HBdNq1nd67JnXxVRDqiY1Ef -9eNi1KlHBz7MIKNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYE -FLdj5xrdjekIplWDpOBqUEFlEUJJMAoGCCqGSM49BAMDA2cAMGQCMGF52OVCR98crlOZF7ZvHH3h -vxGU0QOIdeSNiaSKd0bebWHvAvX7td/M/k7//qnmpwIwW5nXhTcGtXsI/esni0qU+eH6p44mCOh8 -kmhtc9hvJqwhAriZtyZBWyVgrtBIGu4G ------END CERTIFICATE----- - CFCA EV ROOT ============ -----BEGIN CERTIFICATE----- @@ -2197,71 +1767,6 @@ NMn5X7azKFGnpyuqSfqNZSlO42sTp5SjLVFteAxEy9/eCG/Oo2Sr05WE1LlSVHJ7liXMvGnjSG4N 0MedJ5qq+BOS3R7fY581qRY27Iy4g/Q9iY/NtBde17MXQRBdJ3NghVdJIgc= -----END CERTIFICATE----- -Trustwave Global Certification Authority -======================================== ------BEGIN CERTIFICATE----- -MIIF2jCCA8KgAwIBAgIMBfcOhtpJ80Y1LrqyMA0GCSqGSIb3DQEBCwUAMIGIMQswCQYDVQQGEwJV -UzERMA8GA1UECAwISWxsaW5vaXMxEDAOBgNVBAcMB0NoaWNhZ28xITAfBgNVBAoMGFRydXN0d2F2 -ZSBIb2xkaW5ncywgSW5jLjExMC8GA1UEAwwoVHJ1c3R3YXZlIEdsb2JhbCBDZXJ0aWZpY2F0aW9u -IEF1dGhvcml0eTAeFw0xNzA4MjMxOTM0MTJaFw00MjA4MjMxOTM0MTJaMIGIMQswCQYDVQQGEwJV -UzERMA8GA1UECAwISWxsaW5vaXMxEDAOBgNVBAcMB0NoaWNhZ28xITAfBgNVBAoMGFRydXN0d2F2 -ZSBIb2xkaW5ncywgSW5jLjExMC8GA1UEAwwoVHJ1c3R3YXZlIEdsb2JhbCBDZXJ0aWZpY2F0aW9u -IEF1dGhvcml0eTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALldUShLPDeS0YLOvR29 -zd24q88KPuFd5dyqCblXAj7mY2Hf8g+CY66j96xz0XznswuvCAAJWX/NKSqIk4cXGIDtiLK0thAf -LdZfVaITXdHG6wZWiYj+rDKd/VzDBcdu7oaJuogDnXIhhpCujwOl3J+IKMujkkkP7NAP4m1ET4Bq -stTnoApTAbqOl5F2brz81Ws25kCI1nsvXwXoLG0R8+eyvpJETNKXpP7ScoFDB5zpET71ixpZfR9o -WN0EACyW80OzfpgZdNmcc9kYvkHHNHnZ9GLCQ7mzJ7Aiy/k9UscwR7PJPrhq4ufogXBeQotPJqX+ -OsIgbrv4Fo7NDKm0G2x2EOFYeUY+VM6AqFcJNykbmROPDMjWLBz7BegIlT1lRtzuzWniTY+HKE40 -Cz7PFNm73bZQmq131BnW2hqIyE4bJ3XYsgjxroMwuREOzYfwhI0Vcnyh78zyiGG69Gm7DIwLdVcE -uE4qFC49DxweMqZiNu5m4iK4BUBjECLzMx10coos9TkpoNPnG4CELcU9402x/RpvumUHO1jsQkUm -+9jaJXLE9gCxInm943xZYkqcBW89zubWR2OZxiRvchLIrH+QtAuRcOi35hYQcRfO3gZPSEF9NUqj -ifLJS3tBEW1ntwiYTOURGa5CgNz7kAXU+FDKvuStx8KU1xad5hePrzb7AgMBAAGjQjBAMA8GA1Ud -EwEB/wQFMAMBAf8wHQYDVR0OBBYEFJngGWcNYtt2s9o9uFvo/ULSMQ6HMA4GA1UdDwEB/wQEAwIB -BjANBgkqhkiG9w0BAQsFAAOCAgEAmHNw4rDT7TnsTGDZqRKGFx6W0OhUKDtkLSGm+J1WE2pIPU/H -PinbbViDVD2HfSMF1OQc3Og4ZYbFdada2zUFvXfeuyk3QAUHw5RSn8pk3fEbK9xGChACMf1KaA0H -ZJDmHvUqoai7PF35owgLEQzxPy0QlG/+4jSHg9bP5Rs1bdID4bANqKCqRieCNqcVtgimQlRXtpla -4gt5kNdXElE1GYhBaCXUNxeEFfsBctyV3lImIJgm4nb1J2/6ADtKYdkNy1GTKv0WBpanI5ojSP5R -vbbEsLFUzt5sQa0WZ37b/TjNuThOssFgy50X31ieemKyJo90lZvkWx3SD92YHJtZuSPTMaCm/zjd -zyBP6VhWOmfD0faZmZ26NraAL4hHT4a/RDqA5Dccprrql5gR0IRiR2Qequ5AvzSxnI9O4fKSTx+O -856X3vOmeWqJcU9LJxdI/uz0UA9PSX3MReO9ekDFQdxhVicGaeVyQYHTtgGJoC86cnn+OjC/QezH -Yj6RS8fZMXZC+fc8Y+wmjHMMfRod6qh8h6jCJ3zhM0EPz8/8AKAigJ5Kp28AsEFFtyLKaEjFQqKu -3R3y4G5OBVixwJAWKqQ9EEC+j2Jjg6mcgn0tAumDMHzLJ8n9HmYAsC7TIS+OMxZsmO0QqAfWzJPP -29FpHOTKyeC2nOnOcXHebD8WpHk= ------END CERTIFICATE----- - -Trustwave Global ECC P256 Certification Authority -================================================= ------BEGIN CERTIFICATE----- -MIICYDCCAgegAwIBAgIMDWpfCD8oXD5Rld9dMAoGCCqGSM49BAMCMIGRMQswCQYDVQQGEwJVUzER -MA8GA1UECBMISWxsaW5vaXMxEDAOBgNVBAcTB0NoaWNhZ28xITAfBgNVBAoTGFRydXN0d2F2ZSBI -b2xkaW5ncywgSW5jLjE6MDgGA1UEAxMxVHJ1c3R3YXZlIEdsb2JhbCBFQ0MgUDI1NiBDZXJ0aWZp -Y2F0aW9uIEF1dGhvcml0eTAeFw0xNzA4MjMxOTM1MTBaFw00MjA4MjMxOTM1MTBaMIGRMQswCQYD -VQQGEwJVUzERMA8GA1UECBMISWxsaW5vaXMxEDAOBgNVBAcTB0NoaWNhZ28xITAfBgNVBAoTGFRy -dXN0d2F2ZSBIb2xkaW5ncywgSW5jLjE6MDgGA1UEAxMxVHJ1c3R3YXZlIEdsb2JhbCBFQ0MgUDI1 -NiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABH77bOYj -43MyCMpg5lOcunSNGLB4kFKA3TjASh3RqMyTpJcGOMoNFWLGjgEqZZ2q3zSRLoHB5DOSMcT9CTqm -P62jQzBBMA8GA1UdEwEB/wQFMAMBAf8wDwYDVR0PAQH/BAUDAwcGADAdBgNVHQ4EFgQUo0EGrJBt -0UrrdaVKEJmzsaGLSvcwCgYIKoZIzj0EAwIDRwAwRAIgB+ZU2g6gWrKuEZ+Hxbb/ad4lvvigtwjz -RM4q3wghDDcCIC0mA6AFvWvR9lz4ZcyGbbOcNEhjhAnFjXca4syc4XR7 ------END CERTIFICATE----- - -Trustwave Global ECC P384 Certification Authority -================================================= ------BEGIN CERTIFICATE----- -MIICnTCCAiSgAwIBAgIMCL2Fl2yZJ6SAaEc7MAoGCCqGSM49BAMDMIGRMQswCQYDVQQGEwJVUzER -MA8GA1UECBMISWxsaW5vaXMxEDAOBgNVBAcTB0NoaWNhZ28xITAfBgNVBAoTGFRydXN0d2F2ZSBI -b2xkaW5ncywgSW5jLjE6MDgGA1UEAxMxVHJ1c3R3YXZlIEdsb2JhbCBFQ0MgUDM4NCBDZXJ0aWZp -Y2F0aW9uIEF1dGhvcml0eTAeFw0xNzA4MjMxOTM2NDNaFw00MjA4MjMxOTM2NDNaMIGRMQswCQYD -VQQGEwJVUzERMA8GA1UECBMISWxsaW5vaXMxEDAOBgNVBAcTB0NoaWNhZ28xITAfBgNVBAoTGFRy -dXN0d2F2ZSBIb2xkaW5ncywgSW5jLjE6MDgGA1UEAxMxVHJ1c3R3YXZlIEdsb2JhbCBFQ0MgUDM4 -NCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTB2MBAGByqGSM49AgEGBSuBBAAiA2IABGvaDXU1CDFH -Ba5FmVXxERMuSvgQMSOjfoPTfygIOiYaOs+Xgh+AtycJj9GOMMQKmw6sWASr9zZ9lCOkmwqKi6vr -/TklZvFe/oyujUF5nQlgziip04pt89ZF1PKYhDhloKNDMEEwDwYDVR0TAQH/BAUwAwEB/zAPBgNV -HQ8BAf8EBQMDBwYAMB0GA1UdDgQWBBRVqYSJ0sEyvRjLbKYHTsjnnb6CkDAKBggqhkjOPQQDAwNn -ADBkAjA3AZKXRRJ+oPM+rRk6ct30UJMDEr5E0k9BpIycnR+j9sKS50gU/k6bpZFXrsY3crsCMGcl -CrEMXu6pY5Jv5ZAL/mYiykf9ijH3g/56vxC+GCsej/YpHpRZ744hN8tRmKVuSw== ------END CERTIFICATE----- - NAVER Global Root Certification Authority ========================================= -----BEGIN CERTIFICATE----- @@ -2354,36 +1859,6 @@ vLtoURMMA/cVi4RguYv/Uo7njLwcAjA8+RHUjE7AwWHCFUyqqx0LMV87HOIAl0Qx5v5zli/altP+ CAezNIm8BZ/3Hobui3A= -----END CERTIFICATE----- -GLOBALTRUST 2020 -================ ------BEGIN CERTIFICATE----- -MIIFgjCCA2qgAwIBAgILWku9WvtPilv6ZeUwDQYJKoZIhvcNAQELBQAwTTELMAkGA1UEBhMCQVQx -IzAhBgNVBAoTGmUtY29tbWVyY2UgbW9uaXRvcmluZyBHbWJIMRkwFwYDVQQDExBHTE9CQUxUUlVT -VCAyMDIwMB4XDTIwMDIxMDAwMDAwMFoXDTQwMDYxMDAwMDAwMFowTTELMAkGA1UEBhMCQVQxIzAh -BgNVBAoTGmUtY29tbWVyY2UgbW9uaXRvcmluZyBHbWJIMRkwFwYDVQQDExBHTE9CQUxUUlVTVCAy -MDIwMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAri5WrRsc7/aVj6B3GyvTY4+ETUWi -D59bRatZe1E0+eyLinjF3WuvvcTfk0Uev5E4C64OFudBc/jbu9G4UeDLgztzOG53ig9ZYybNpyrO -VPu44sB8R85gfD+yc/LAGbaKkoc1DZAoouQVBGM+uq/ufF7MpotQsjj3QWPKzv9pj2gOlTblzLmM -CcpL3TGQlsjMH/1WljTbjhzqLL6FLmPdqqmV0/0plRPwyJiT2S0WR5ARg6I6IqIoV6Lr/sCMKKCm -fecqQjuCgGOlYx8ZzHyyZqjC0203b+J+BlHZRYQfEs4kUmSFC0iAToexIiIwquuuvuAC4EDosEKA -A1GqtH6qRNdDYfOiaxaJSaSjpCuKAsR49GiKweR6NrFvG5Ybd0mN1MkGco/PU+PcF4UgStyYJ9OR -JitHHmkHr96i5OTUawuzXnzUJIBHKWk7buis/UDr2O1xcSvy6Fgd60GXIsUf1DnQJ4+H4xj04KlG -DfV0OoIu0G4skaMxXDtG6nsEEFZegB31pWXogvziB4xiRfUg3kZwhqG8k9MedKZssCz3AwyIDMvU -clOGvGBG85hqwvG/Q/lwIHfKN0F5VVJjjVsSn8VoxIidrPIwq7ejMZdnrY8XD2zHc+0klGvIg5rQ -mjdJBKuxFshsSUktq6HQjJLyQUp5ISXbY9e2nKd+Qmn7OmMCAwEAAaNjMGEwDwYDVR0TAQH/BAUw -AwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFNwuH9FhN3nkq9XVsxJxaD1qaJwiMB8GA1Ud -IwQYMBaAFNwuH9FhN3nkq9XVsxJxaD1qaJwiMA0GCSqGSIb3DQEBCwUAA4ICAQCR8EICaEDuw2jA -VC/f7GLDw56KoDEoqoOOpFaWEhCGVrqXctJUMHytGdUdaG/7FELYjQ7ztdGl4wJCXtzoRlgHNQIw -4Lx0SsFDKv/bGtCwr2zD/cuz9X9tAy5ZVp0tLTWMstZDFyySCstd6IwPS3BD0IL/qMy/pJTAvoe9 -iuOTe8aPmxadJ2W8esVCgmxcB9CpwYhgROmYhRZf+I/KARDOJcP5YBugxZfD0yyIMaK9MOzQ0MAS -8cE54+X1+NZK3TTN+2/BT+MAi1bikvcoskJ3ciNnxz8RFbLEAwW+uxF7Cr+obuf/WEPPm2eggAe2 -HcqtbepBEX4tdJP7wry+UUTF72glJ4DjyKDUEuzZpTcdN3y0kcra1LGWge9oXHYQSa9+pTeAsRxS -vTOBTI/53WXZFM2KJVj04sWDpQmQ1GwUY7VA3+vA/MRYfg0UFodUJ25W5HCEuGwyEn6CMUO+1918 -oa2u1qsgEu8KwxCMSZY13At1XrFP1U80DhEgB3VDRemjEdqso5nCtnkn4rnvyOL2NSl6dPrFf4IF -YqYK6miyeUcGbvJXqBUzxvd4Sj1Ce2t+/vdG6tHrju+IaFvowdlxfv1k7/9nR4hYJS8+hge9+6jl -gqispdNpQ80xiEmEU5LAsTkbOYMBMMTyqfrQA71yN2BWHzZ8vTmR9W0Nv3vXkg== ------END CERTIFICATE----- - ANF Secure Server Root CA ========================= -----BEGIN CERTIFICATE----- @@ -2708,36 +2183,6 @@ FL//2wmUspO8IFgV6dtxQ/PeEMMA3KgqlbbC1j+Qa3bbbP6MvPJwNQzcmRk13NfIRmPVNnGuV/u3 gm3c -----END CERTIFICATE----- -GTS Root R2 -=========== ------BEGIN CERTIFICATE----- -MIIFVzCCAz+gAwIBAgINAgPlrsWNBCUaqxElqjANBgkqhkiG9w0BAQwFADBHMQswCQYDVQQGEwJV -UzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3Qg -UjIwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAwMDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UE -ChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjIwggIiMA0G -CSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDO3v2m++zsFDQ8BwZabFn3GTXd98GdVarTzTukk3Lv -CvptnfbwhYBboUhSnznFt+4orO/LdmgUud+tAWyZH8QiHZ/+cnfgLFuv5AS/T3KgGjSY6Dlo7JUl -e3ah5mm5hRm9iYz+re026nO8/4Piy33B0s5Ks40FnotJk9/BW9BuXvAuMC6C/Pq8tBcKSOWIm8Wb -a96wyrQD8Nr0kLhlZPdcTK3ofmZemde4wj7I0BOdre7kRXuJVfeKH2JShBKzwkCX44ofR5GmdFrS -+LFjKBC4swm4VndAoiaYecb+3yXuPuWgf9RhD1FLPD+M2uFwdNjCaKH5wQzpoeJ/u1U8dgbuak7M -kogwTZq9TwtImoS1mKPV+3PBV2HdKFZ1E66HjucMUQkQdYhMvI35ezzUIkgfKtzra7tEscszcTJG -r61K8YzodDqs5xoic4DSMPclQsciOzsSrZYuxsN2B6ogtzVJV+mSSeh2FnIxZyuWfoqjx5RWIr9q -S34BIbIjMt/kmkRtWVtd9QCgHJvGeJeNkP+byKq0rxFROV7Z+2et1VsRnTKaG73VululycslaVNV -J1zgyjbLiGH7HrfQy+4W+9OmTN6SpdTi3/UGVN4unUu0kzCqgc7dGtxRcw1PcOnlthYhGXmy5okL -dWTK1au8CcEYof/UVKGFPP0UJAOyh9OktwIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0T -AQH/BAUwAwEB/zAdBgNVHQ4EFgQUu//KjiOfT5nK2+JopqUVJxce2Q4wDQYJKoZIhvcNAQEMBQAD -ggIBAB/Kzt3HvqGf2SdMC9wXmBFqiN495nFWcrKeGk6c1SuYJF2ba3uwM4IJvd8lRuqYnrYb/oM8 -0mJhwQTtzuDFycgTE1XnqGOtjHsB/ncw4c5omwX4Eu55MaBBRTUoCnGkJE+M3DyCB19m3H0Q/gxh -swWV7uGugQ+o+MePTagjAiZrHYNSVc61LwDKgEDg4XSsYPWHgJ2uNmSRXbBoGOqKYcl3qJfEycel -/FVL8/B/uWU9J2jQzGv6U53hkRrJXRqWbTKH7QMgyALOWr7Z6v2yTcQvG99fevX4i8buMTolUVVn -jWQye+mew4K6Ki3pHrTgSAai/GevHyICc/sgCq+dVEuhzf9gR7A/Xe8bVr2XIZYtCtFenTgCR2y5 -9PYjJbigapordwj6xLEokCZYCDzifqrXPW+6MYgKBesntaFJ7qBFVHvmJ2WZICGoo7z7GJa7Um8M -7YNRTOlZ4iBgxcJlkoKM8xAfDoqXvneCbT+PHV28SSe9zE8P4c52hgQjxcCMElv924SgJPFI/2R8 -0L5cFtHvma3AH/vLrrw4IgYmZNralw4/KBVEqE8AyvCazM90arQ+POuV7LXTWtiBmelDGDfrs7vR -WGJB82bSj6p4lVQgw1oudCvV0b4YacCs1aTPObpRhANl6WLAYv7YTVWW4tAR+kg0Eeye7QUd5MjW -HYbL ------END CERTIFICATE----- - GTS Root R3 =========== -----BEGIN CERTIFICATE----- @@ -3214,23 +2659,6 @@ HVlNjM7IDiPCtyaaEBRx/pOyiriA8A4QntOoUAw3gi/q4Iqd4Sw5/7W0cwDk90imc6y/st53BIe0 o82bNSQ3+pCTE4FCxpgmdTdmQRCsu/WU48IxK63nI1bMNSWSs1A= -----END CERTIFICATE----- -FIRMAPROFESIONAL CA ROOT-A WEB -============================== ------BEGIN CERTIFICATE----- -MIICejCCAgCgAwIBAgIQMZch7a+JQn81QYehZ1ZMbTAKBggqhkjOPQQDAzBuMQswCQYDVQQGEwJF -UzEcMBoGA1UECgwTRmlybWFwcm9mZXNpb25hbCBTQTEYMBYGA1UEYQwPVkFURVMtQTYyNjM0MDY4 -MScwJQYDVQQDDB5GSVJNQVBST0ZFU0lPTkFMIENBIFJPT1QtQSBXRUIwHhcNMjIwNDA2MDkwMTM2 -WhcNNDcwMzMxMDkwMTM2WjBuMQswCQYDVQQGEwJFUzEcMBoGA1UECgwTRmlybWFwcm9mZXNpb25h -bCBTQTEYMBYGA1UEYQwPVkFURVMtQTYyNjM0MDY4MScwJQYDVQQDDB5GSVJNQVBST0ZFU0lPTkFM -IENBIFJPT1QtQSBXRUIwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAARHU+osEaR3xyrq89Zfe9MEkVz6 -iMYiuYMQYneEMy3pA4jU4DP37XcsSmDq5G+tbbT4TIqk5B/K6k84Si6CcyvHZpsKjECcfIr28jlg -st7L7Ljkb+qbXbdTkBgyVcUgt5SjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUk+FD -Y1w8ndYn81LsF7Kpryz3dvgwHQYDVR0OBBYEFJPhQ2NcPJ3WJ/NS7Beyqa8s93b4MA4GA1UdDwEB -/wQEAwIBBjAKBggqhkjOPQQDAwNoADBlAjAdfKR7w4l1M+E7qUW/Runpod3JIha3RxEL2Jq68cgL -cFBTApFwhVmpHqTm6iMxoAACMQD94vizrxa5HnPEluPBMBnYfubDl94cT7iJLzPrSA8Z94dGXSaQ -pYXFuXqUPoeovQA= ------END CERTIFICATE----- - TWCA CYBER Root CA ================== -----BEGIN CERTIFICATE----- @@ -3480,8 +2908,8 @@ SM49BAMDA2kAMGYCMQCpKjAd0MKfkFFRQD6VVCHNFmb3U2wIFjnQEnx/Yxvf4zgAOdktUyBFCxxg ZzFDJe0CMQCSia7pXGKDYmH5LVerVrkR3SW+ak5KGoJr3M/TvEqzPNcum9v4KGm8ay3sMaE641c= -----END CERTIFICATE----- - OISTE Server Root RSA G1 -========================= +OISTE Server Root RSA G1 +======================== -----BEGIN CERTIFICATE----- MIIFgzCCA2ugAwIBAgIQVaXZZ5Qoxu0M+ifdWwFNGDANBgkqhkiG9w0BAQwFADBLMQswCQYDVQQG EwJDSDEZMBcGA1UECgwQT0lTVEUgRm91bmRhdGlvbjEhMB8GA1UEAwwYT0lTVEUgU2VydmVyIFJv @@ -3509,3 +2937,21 @@ msuY33OhkKCgxeDoAaijFJzIwZqsFVAzje18KotzlUBDJvyBpCpfOZC3J8tRd/iWkx7P8nd9H0aT olkelUTFLXVksNb54Dxp6gS1HAviRkRNQzuXSXERvSS2wq1yVAb+axj5d9spLFKebXd7Yv0PTY6Y MjAwcRLWJTXjn/hvnLXrahut6hDTlhZyBiElxky8j3C7DOReIoMt0r7+hVu05L0= -----END CERTIFICATE----- + +e-Szigno TLS Root CA 2023 +========================= +-----BEGIN CERTIFICATE----- +MIICzzCCAjGgAwIBAgINAOhvGHvWOWuYSkmYCjAKBggqhkjOPQQDBDB1MQswCQYDVQQGEwJIVTER +MA8GA1UEBwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xFzAVBgNVBGEMDlZBVEhV +LTIzNTg0NDk3MSIwIAYDVQQDDBllLVN6aWdubyBUTFMgUm9vdCBDQSAyMDIzMB4XDTIzMDcxNzE0 +MDAwMFoXDTM4MDcxNzE0MDAwMFowdTELMAkGA1UEBhMCSFUxETAPBgNVBAcMCEJ1ZGFwZXN0MRYw +FAYDVQQKDA1NaWNyb3NlYyBMdGQuMRcwFQYDVQRhDA5WQVRIVS0yMzU4NDQ5NzEiMCAGA1UEAwwZ +ZS1Temlnbm8gVExTIFJvb3QgQ0EgMjAyMzCBmzAQBgcqhkjOPQIBBgUrgQQAIwOBhgAEAGgP36J8 +PKp0iGEKjcJMpQEiFNT3YHdCnAo4YKGMZz6zY+n6kbCLS+Y53wLCMAFSAL/fjO1ZrTJlqwlZULUZ +wmgcAOAFX9pQJhzDrAQixTpN7+lXWDajwRlTEArRzT/vSzUaQ49CE0y5LBqcvjC2xN7cS53kpDzL +Ltmt3999Cd8ukv+ho2MwYTAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4E +FgQUWYQCYlpGePVd3I8KECgj3NXW+0UwHwYDVR0jBBgwFoAUWYQCYlpGePVd3I8KECgj3NXW+0Uw +CgYIKoZIzj0EAwQDgYsAMIGHAkIBLdqu9S54tma4n7Zwf2Z0z+yOfP7AAXmazlIC58PRDHpty7Ve +7hekm9sEdu4pKeiv+62sUvTXK9Z3hBC9xdIoaDQCQTV2WnXzkoYI9bIeCvZlC9p2x1L/Cx6AcCIw +wzPbGO2E14vs7dOoY4G1VnxHx1YwlGhza9IuqbnZLBwpvQy6uWWL +-----END CERTIFICATE----- diff --git a/certificates/x509_crt_bundle b/certificates/x509_crt_bundle index 76e5585c86fac1669b79db2202b3e5693a957562..87c32fc43279f06a439f13ad44c3ce58d1ea3ef4 100644 GIT binary patch literal 130 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 O_-*zt3unOxN81kzqbAh= literal 7508976 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�m3oD$FLlXUyBc^>XcTIuR>w9=1e^Yk*3 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%0A)PQ&zN^Uj}q&0eu<7y4WK5W?B3H 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¨YJ7Wm~xY(2v%jN^wi{=*Q!+5V+<+id}!}e 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

v0&3?e094a}$E%(~@J})%HX2k1 z!@r^IC$LG?{Y34D6rE2NU;Uh8Y$zb)!h-GRw-eQCLt}9pugQMzAQkanmtUakudE1w z-X80R&NkUgO;t&QR<59Gt2eYzWlN|07nUe1tZ0#G>2nJlSB*)YBu+_L^Cg4=U; z)%UVf!Qp$np&Z_~lIiww%&N%mvy0~{@*8>Zv`Rs3uk_qJ2t4Y(6W!A{SAIT_c>%TO zswqF~{mnwE!}F=u^ML^K9RVqQrVcdbMi=jq&v6?jO}#wZX*hkiQmO4Rrl6UzY~~ne zI)1f1&+h5x?0rK&LqB00nCy;zx}cl?Khw_+@pk_!(cYz>KjbU@+$_KU75&sNRQf41 zRay9TChY$Y`su6mv-%R!hGTz9$*V2>99+dbeT94=hPEdZtG6F1^wa58hklrDf5pR2 zhkm}D?V>S-h&?WG(Aby@CI;1=0{WSLd|Uc?ccvotqN@Lfey&P4O!~og$ZUIC)6ZPf z%t37Czo(!7#r)|S!rk#;Zltih59F1xz|>h&RI?5ZD$FG2QcqxCX&H<5@9eTEggBQ) zs^RXrSkG#TM7u_tbWV$$!--8g&xYjEaHE&P!f#l<;#UBuaP_gngS|C^Dz@x)$-r|Z}cs{3SJ{exbO;2_QGqLw0W(K@|n(+(Z^)@pBUR4XgH+HLUc&_Wu@#keY zt=JuZo{6@0$Dcj>S=iHy5UN@(T*OOjawu*F06p$v^Ld0I&dz=IMKiJ(;*iVu7uCo% zi>sy@z&wUyT$+Xn+uDMQMI4K2;9C59f3-0 zRP8r1oUG<5%4(r+{*7XorEK62(}6sYv

CxXyeUL1qCzjftA^m4H3je#PL$?;S1s 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

  • mUH7CZfZ6f6209YJR2k^feIyZz(c)Zg;F>X-@? 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%0D$QPWfFw`TdkXyZ*OP{;zLsg7Vf`@ek-1$mSQ< zdXyJu#XesIl#kEl1IoKJy|CNIn-mG*m(+z3Z1Hrrk^TONQ`J9l>KM!jCg#y|^J!s# zYs!?^E8mO|`z=1UbRF=7S#Sdn_$#zQcIb(OcUE{5;q4SYgm8O>_anUFX35`=@OKLD zMEDDZI}`pu;dX>yQ~0Ml0l%d1YQj$`{25@i4*sSIZ}R0|6<$m@tMEL+Qx$%MaE-!u z6FytvzYsoI;cEbE!AVWHj4!JcKA-R)g-;_~rtlcTJrzz6E>Urs+GUea=^9}y6j0XJ`z2+-} z+FTQ4o3GEp>wHn}??EnhKCVGVLhcU!`3wK7LiXG*{Id-orQ$Jws1e98-Z=N$J;7Hl z^_UFP0hj>I^aR^tT^1{8bIll=FVJX@n_)K1rwd%x{gGxPPNTM6E~iZvN^ox7-n0(# zdTq#`j=J*`ECL*>od(s}otkE7QGHII@G_t*! z7%oy<<%h-w<+V3%IG+~a-}zkZ_i~XbWgUodU9ytC=`@gQ74=V-p$|vmz&76R{FaN2 z{%}l>IFycQd*u>hF2yiLTq`45w#R=rYv+eq-Fbw);ma0KncA!fuw+)w4V&=$Z|B0I zS=S7}@8nkQyz|Z+aLj3^pLeF)I2utIb{9D&eXN8>0MG{~LATj^)T3wJ`EnYynbHZU zWo#1mSFgZVooa@ligwP^hnJk?T(IOUCslO(apj2rOLaI+em_Lod-D;~ijdry3%G~T z;4`eG)O5^u8Ter+0X_B2t6UVYHK5U~f&Z`-jbEYhX}wGWtzFA!1$9@JYEz>Na;2Q;--D{QHl1Eu#Lw?JPl=qSgzt%rw_Dpv6F5nA@cSh2phbM z&V*+PkO~+^6!8?#i^ZpgIM3)8UxiiiLUeZ{Q9m8i3fQK2% zbTq|3efgunTaWY4VHR*RUn!MajN)(pQ+px2;razhJ2VJ4o(*-(Dx~?Dhjh{#J@?u;bz4X_6ov>_25_(Y z7)4f|#O-?j)Do_nq6}xZ>n&r3miyUX1o17qTKL>NYSXK5?&ZO3>DLHNK_#L6jiMtw zLYuLyKStfuKRoJ+clt~|W-B@#ycd4Do?h<>%=4A#y6pM5?s{ZN0y}%LFL^M-ny|N8 z^_$&~3=+1 zLaBP2sPRg-A0M*6vPf7^AAMOH;R~wAZK)!2Bi<2fqCAvg%G8o)&EUBM*bgrF{$REZ z;frarjZcPXAwJnMZmMHq$oU9MhLgt}6vo@T_IkBh0@N6mtcE+nl3A7PoEGfKBV%$~ z*lPfcy5u*m!itY_HV^;irE&e+q@=i0q*AfrGGYvAJ~#iiEWHgHB6Ug8dgr z1C;$4alM|)l;I3_$1=Rn44JMkeS>L(&4)!*ng2O;e;4#CZs$u8&w%@15ARJzk2wtchm zB@G%p7UPlZBy52mUIF|#4$k5)M!y;O<;Zq3e)$h0+bsSjvNhO#TW)T6qq zX|0ShbrsNP5aRR=3}n&IG*0_CqDRu}=hBVEl38;>K-rV!(h6IJ?8qLWD~)}$;P0nV zE!cvKfuPy2jFZMttZS&pB&@C4o3p9|uHf*zYz@Z}LoS3LI5vXlO{A7*CdxwmeO%c9 zDc7QQ@=LY30w@sb7OWxo8!ieW>)->7o><%=s2}SG(fU=TSLs^HXFJ>YG~Iz+WNU3< z=q^<01-0Ik@>{*BakD_3%SwtkW;sbW>Gv$hd2<2q*{p>Tw!6VTR_pw-P9ANCOL*f% zq(B?=&WkqK89!VcsHKM_wn-qY5~|Jgg_fP*3l&~!qAQ)fVHxSmcVijujAdBN44JNv ze&wqK?cUFrFH>Up4%+WV6eb+=#)XT;Do^bmqcZ|pp#oL1)6v}NDpV) z>4J2{q{-f3-jgi9H8HXtnm96npMWYRjEpFnSra;UWqLdFw*l*JLNT%XFA_$rP)P^B= zI+~vHo)R^mtW^2Yb2n$PRJ?<2u*?fp;K9tSQFJ=mS!_Od3oi4Hp5Bz;k?moGdOVa2 z-_Tl?$lxe1hAKpEXvO;P#GtY9kOk3OG$nB0=9Z{j4R1FSvj?BHp8PW70wXsgRsu(> zvzy37Va0Hqq;QCr@yoT3maQuB2)6p_3$oR&dH($BASOEqw0JYJiB-2S#Qa$u=6g7lL@iaVk;i`#h$!sy^*tOE6m@U)wWMC7@En~(%m^)LkKVMm%Fo#O1)N@>JjSd*G zF)Ok%LqF^L7qBk^Pw>R}z>(?t?!RK(f0W|z6w`(K7rp^}0d4NE6)fu!g=1qV6!3ma zYK@L(T-f=RObjcU5Af6)EF!qofRD$Lae{=^8pg7KAYwo*GE2^n5@fUW+A%~$$24pP zG;@}+4}HFT<9T1X{RlRF$v#>xd|V#GTzeN%z?VmTE_``3e$+Pu)34Y?*hmRQ1UF!H z<6YYJnv>_Bx7;PxEm&&@am#zw?Ml;=I9aPTS&0m5=`=^jarQ^X`-zK_b73IyUz2OE zIl(2K^-@yB4VAf$OZYIFOYTI^Q7<8``oOM7M`cnZuN7%{VCAxXFtOli&3BRndwa%eGZkgq zm8Fy71{f8WkQ~h|Gxy_IdUl?xG^$fq;Nk&WMjB-hzDkQv^&I@vy=@w$7* zY1rj!oPo+eSWW0K9e(k*r=SnALt7JGqVRvN2K=1DIl^-k{+RH+3co@4W`!3KzE2S@Sh2vq;MnQ(F$Klc(}qB5gx4YnS}RL_;|vl3Xde*Md4wDixsXQ z{PSdKS6{+w6z)a%bA>w+UZ!vn;a3!1Hw|!;!e0}9Lg7yd&sO*y!nY~>GT|8tKTkNV z@ZSm7D*QLX=K;?3p)$d`z&ZB!bo+aP{XI&5rE@()zh-AX`dwHvgpaiGorb}%0&-u{ z#`*JHWeGo9>V4nOAEYfZ=i7YxJ!e(9`|-VXy=&@9rpn>Tjd+zmBzFO;d4PX-!UFN< z1Ap(fzbqq1$8zpqo5C}aa|x#O))dRIzOzrH$qyT@g!No#7 zI*0rX63Ll|RkPo(++veSr_C_w(pB!fYt2h zXAelROMZXJ5}?#EUzQKIDz$@|!4kQ;6FSJ_xh*K_s!YtIe85;ysJh4CQ!Zuv@^bH1 z!Qq3>PSN#@*&q}gfN~wt&!JchENi6ps=U)XbMVX=#a5RNu<(r>euuri>pII-4)gSp_H`v+fY zRbQYNaq-deu1H~+cbI;^h^ede;{e#rEL-dmQAVM4kCT2yk9|M`ZBP|EMST2dg5CLW z)Bi~mF6{=vnoCX>L(hiU!te>RY!t`YkCC7>o1*;Iv>imNr!#H3TKwN!prTba zuNP1-2LnlOhj2?|bUn|?SRvy}_{MXb(rfzGX;DLTq8r_&&IqX$Y$`d%G<0E1Q1Vwp zI788!-R*39e0WQMGp&sbhsK+0ueDY!)FQ}iE`nQ17vlZ!4D4rKX!?dQB{@eY3uD$t zhdFq>Ef>1#N7IAOE@%K(UFrw?U4_5Q*W5*>OwuYoeNW_4JXLgTfS>JcUd{IjKi|1+ zz|XpiWZP#q$rn`p z!~Z=W6hc=cw$?@p$6~euGPURtyzZ2s3rT6PVZm9|qm^3kICY;>oG^ifK~T5Xu@NBd6~lZ5k6nxTL_<~@O6a8C|pN4q41@Ihbnvy;eiUD zLU>oe@K=x$Y@yR|0=a~LY-%+H6_YURK3$Bq&j5TWh-Tef06>KLenlkZwdYf&W^bLZC z_(rVlL?Y(?!epF-8>uZkvVDE0)V8QyP@9fygHW5BZNb@Ijpss*?XMjDRY@? z41A6RN>Q21`85&a@(oL%utLYZX;jG`nndvVv4Ws*i+37dfw>{7iu|*BHu=Yzl+XBx zwr1qeZa{S)7NKZOXDcdCBdRLL^Y%uird~`3docs7c`9n@)PTUR3C{NNFIgtDhq|+C zNqs-S91@*W3jchZG$7F!y2na9orrjjH-u-+;%-TLMVs3SAJfhD)jae(WCV(mUb(HM zjpEd0lYhRSO~yI799%cP3J08%PVnPwMZ3Mg@*Gyl^7pcog7DWcsgF`jy;BI|$bqaf zt&NeDF~Hc;w~JQUb)1rw#FMRkW>3@$YnUd6Z@r^qai<8PA2z7%Qw{mXln2Ag$V?6P zEc36NkND!TBp!}z8rgVdt3>mmlx{4_99qKt0#9fp8wxHqmu|IbbC~u7j^o_SbDK)J zdfvB57CNqp+QX;8I12C8xN8nYGBkNgX2+pXU)XK3iOe>*6g9j}7UP0hHHJ-E6StN` z@-WD0V3sk~+(zW6f)GDPrR(Vz`S@*fmPpuy}<}{=w9cX5}e@ z%?ewDTsm4XnWri5tMH?V22CbW;ap@G0Te8I(jGeRZ{$a^C(wc;8K<79OyS*V`wlEl zP9A0-tJNp8w>+xg>D-{yrc4J}+=wx?rM#(l@t;;}b9Nk=A^hzY_DzQ?w}|V}RgZvT zAeJiZD6x+)s!(hMK$GF_mT=SgA8jSIqM8d84N&1XRZ=y0j=h7 zDZ{jWx}Y;X-4mZ9P;R+1&C};{3jYm9i>l$>k~%C&e@17zo{CxH)XgGQd937j=IWZ<1{o9@w@TI?1c&=<)!BM{#UJ^_}*sP*?h&Uw;R)LGXK6yzx8WN{mCqs zw1O&Yy65+mRu#NS?PwmvH*#b#5s@)xCvy|iy4g>{(wHyzsKbEdvV1@L2nnYJeJa26 z2ayx$kA0u5f?}!py*|uWr0DEOyS^l)l!EK$VkLcFe zwhtDWFktbJyrY3DiPU8{9a)aL2~|@Pu4eY1DuiA>Ye{3;a z7{>t*_z_`6w=$}1obm^NC|wq_a@kn0zY^XJhEpqOTz2i-71Jk+8Yf^r7tPq1tml(VNz zliF)`Bd_}()b!({pSK1)zT6CdtT)uq9dR7rF<00$KYwbenZPuBy3SY(w)w;ex}Nzm6-mK}m7ai%!{MGux>>6~ zU@eQEgDl~Pe#lOHO(s|BRc*;k_)t|^ARi^k8Y>dd!PerxCf=7f3qZ0l8a)VEk!12` z(_U)KZ&YLcyfJEZvNkp5pL&#xsuMgO1TYtGgkz)VX|kfXgmn_VUi{0`po!klme6Zr z)IXNim}MCpMM1r!s9S%h59 z(~oNfAtrSBi%&DBNA%||7_D*4bk#m zl!naYS84mhCah&aqs{)Xu+&Vh6|Hso-`E!+Gx@*z6c?MtN3e}+;#RVF^B^+_SJ18h z<*Kf>aHege6Ofg6c=j>*$vpC~@&UCl`Cu7;BRfHbO*L8hfLX=70v~wiMJ_ZIf>4A_ zH*xN5*FEN239_f%^1Q3dWhPP4j;}yo)@M3d+@zm?+uD|K(`3bsSqpLdYodT5HgOMA z*Xx>m+_>#W1pF&8=_}6VE8xcZ%%u-0-O88=xN+$@O1ECPOMoj|`bN=XZb7d!Af0%x ze{@^GQ1+vKDFz){Ek2~A6=WvqJhjyAr*GX# zc#dCVJvdsTZ8v7v6(|kDTWu$ffZY1`Xdc3ho@pJ$mkF7Cv${HHsFC{!w;d2NNRQMFayDEGX;T;I;WWsN&lYR;f$Zbic)K^e@dQK49 zi#=g{yOiv~w|+l44X?7@K{q+-vqeIzcbtZ;`88g|I>%|?RRwM))HhDU2%8i^qCqYa zLB;^<2HEb4LSr4|G}PMKV*TSZ+-i#sch7Zy2Cu=e+4uio4Nc`ks6}!wwZvOQQoF%E zF=K4rcw^I@@iyPn606|te{h+!*};Chj1&x*)k&}6Rny+L1#jQvw;#_Wj$x9eU*%T_ zAQLOmXLBe0B=bLP^GE2Jp2JsvvabT7rXOVb<&s`V+4Oy^$U|?gMcxXAlb+6R547Lj zY~NbpaMJbRZwua@$#1u?`1t+fG@OL=9RK){E1{PM@g@I+Ez)rON&Tv72|ht!-cLc` zT{5$CGII{BL=T>GSEEg)HewdKRJq(vfHgJ=zc@#5f3FEbdS z4PhWhT{=kP*on!ftY_}%MFhZsO!M=FVKQ*qRv|ui5+{FAmriDg%jqzbZU1ED52?f8 z4MvIkBpa_l;WDe`-69*g0)5;F4>iVtrwCsOIPch%Hu-wj{0RG4M#l_d-G=BrBFk%bp$cH8 z8uZ+cruJTFuLU!Rh?gbxv3X1qG+%0&xd)HTJOY^miJ1|ck2*Th_-=wxtPqw9(fqw! zBgnqmlv8bPII)&+q?T@=VI zhoJ|zg-629{f-MND|0g=N~II)7Z!*5Ku9}8dujUhN}BR}dPns~H{3J@st8F&70+qy zHvB-|E~)8~to%0Rz^4x!A>Ch?e?h*c5AWl=IF5pL9M&{sk)XERZLBR#WCrya2@Rtw z1TdA50uDoq%6YRrbcy`9n4_874kW?PFB{o-K%WFez8K}fhmP#%z141gGrH-@ssyx1 zDT{<0W6=RcA_-EBB1f~VGA$CL0g6m$k?u&yODW4N^U5r5; z0P>&{k2N_0=rlB?4w%#Wva@n+pk@+%S0|=!1Te*IZUSmk63)nG7bgU4oXo3WCc92@ z$(+^=FFTF&;pCR$&t`uzoqk9d#JqJFb-y-L>K+gEI(-`6sHA7cf=j3#G8dKM5Ef)i zI0wJWtI|8VnTtx@Ol_%|DPPv?n(X^;cj`}y?0l3k#dSvh)1A7Gi1NM^Vmp7n*(twg zV(NxaHni!rcs5|scsafq*c2zVf1UFT`VWtGr>>fTvJ%`+4(X)VVqquFXt3s-$n2ZQ z99wKYJH9(q^A%91L&DZRr^twN!)TVQY)U$ZH@TpFkCFI;+nw58g&Z zf+Ee-pcwshZX!BWjlgLeq$0qSGTow5h}uo4swtr9NWcM-W+oxPiVcI^gbvkaCr zNpa$^Q-+<2i{KELFoeF@?q)#-wFqhcIv&}sOHe5ejliRH}9xLNuLyaqk=srhd1*U)&t zZgpya3k^VuU|3ts5e*|)<33IaTI_U$KE!aes|$e_<&r;ABtQWm!Z^W#~OVmH-Y z!@vZ#`xCQU^+$4qL;b>1Ujr<_c#wb5hQ>&Z?7xh!XQGZxj;|%acyq_s@q;%>7Ix4tc!{aOYqrl!66T-8=-e?6hH>)FTA+H#fU+z z(c9A+TTOR3)BU&0X#K@zJ2r@Sv#kkgE?L~RJw80pZDs(L-Cyp#cR3KnSa4(+e#`L7=W-&xhue5nDKIb3Ul{%dGs}2>;7$wcz5HQ{eCl{0UiNE< zpIi|_+}1oA_8&373c)~!iS0w>S5I^B6ezXVbGUF5t$jVeBD#N}ew7=ZSe;Ysq`3

    6k8bBmv}ul?F$t zpdz?{k(W)E5noOa@D-Ay1~{0b8ko#cJxqSc5m5qbq6MD}E+CC?pFTvA2N0N9xR%3_ zMA=Lu(`x_fJl?zR+$4;Xnsx!62VzERK#n4SRzKwmW*=L0&3)3RsuOdb)cJG8iK3UR zgLP=iZ0Hcha0!w{*6LzDon=OWDdRAN_NrjmU6#uAy(z^FiWc=tjx?(j_bNmxA9I@n z>^lGXMz>hoNyCG)}ll?2xz&qfuA#i{Kk8*AgXP}+BTSHiL{FvY_nm{pNmU(Ie zAq`srX};zLLMF8%B}ioGDc_7@M6t@sd)m9~EXenNObU^vA(CaM2vFk_1&dAm{_uk`*%r8*o=pkeEaZFwKGQqY$Pw;zKSfk4 zcAZ(#EiB3~*cP3i8^qC0;U;;NOyeT<=%eE2Jfw{8%r*qw@)+ zP!K-U#Ur=ufLz#IPaU0)Hr{oPHmiFapJg|WZi5? zFpcxaiYZWxMN^vXg^I~kOtyEX9y#n8!uCaFeMpM zC!Uy~EdQxEm*;dz=Fu6`lxizlvi<2K3Jz-o-rLhytOg;^#+Um9b(FI(S_Qt5k95*oZZFFRSD3QG zHR9~G=maJ?UojS9WAT^Llpw|`CR;K2F6Jo3Nb!qe;8loJnp24q%4e4{am%I3(S<{9 zBYXBnK%=#=@v-cQ-bcnAXYX8dP#T{0`7uWvtp6fZ8s2+YaO42{ErZGz=RWoe#yN)m zPO{g)5%`np!Yna~cn_n?(0^~_cTw_<>nhds{rE64=aTby#7@&S-_A*b7=~5H7X`mI~ibKuNZbG^wULC{LB;#9xMTb z*=wPR>|H9QJ;HsD>0g%jVG@v2-h+)Rp}co|-;}qB%FX9H0P|f$Tq^>ZQOJSlAS-J&VBw z

    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 {U=z32WKa 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�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

    xZN?BhpEmrj^Qu4H`rqw8}mQ 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ΠWTR`FAf8enxx~u%NOc3GIo1lZX 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

    8g@wys@MY(emM;z4u6 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�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

    *jWCP$Rawvs;>=Rw+$`@-^(hsa3U+ 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 vfQ)!s_Jf=z}QI90-eWFO4O3A?mIs7X{_P-!~ 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

    UH?$@|hpCY(Z;&aBW3^5RCAHnoNOVIL z2xYXHYUP9kImcROB}&r-otNmY#tO)Lm)hDi$*^By3njx2iDe0Gu4TC`O~0;ZdHPuS zNF2`D%sL0oN+!f3AkjFaH(*2r)FfSNh48-GxoWZMBlHj?!{)WArX z*dQk@zZ_1xboL{|>8wszY8Wl6VN+$b+;Bant8v_W1#~^}?;gREuXJBD5-bN}_zd{+ zOj=o4jhVi6 zMuXby!=wfl zaO!Aj1Ff)rv$KJ=6uans4a~RTjB04kMc9;vg1>+1W8+o8UVN;-4CnpF=0gbD{)u@N ze8)aXMh>qw(TPWHGe48Zz*+d2XvX-@4I>2X^Q-CwsG8+kA29&V%EHVO>RHg;kEXi8h_1cWVYyB`!Ew3l}RV?+n}Hi8m6 z*!ROZ*}=LO&aDp9k&ohzx@+)k`r4EX#Qk53d@Sl>iwBALZ>$FqRQQed64G4Xb>A3S}aE)JeE1C7Oqb#veW#9BHecqI}(Is|)| z2SXH*@cSW#)Zr{;sK4kaYleDb01Q(&l0O1)ROZ_zgHGhVjdAE)V0v($l?RT)g;wF^r3sy>Y|2n5`0rZ#Mlo!@1_z z3MuT5tsQdiqt2NSIBb_^v*cBtXVl*CFr-A&Glq0Mg2(RFdu z5lrJdI_uWj^jbF;^*vn@;(sNT{DFQJsQMzqzai*H0{jq>zH z6lbxfeGJhVpW}_7+g?6c7snHioVv8p+76rscb{h;QJ%Z?Nj=JU-vq+59kqde&H?q^ zG}+6J??Ybx#~R^sUcO(Cwt9PPt&1%IZj6@s_?)OmFMX`X>e5(W@jQNue+bYw1(@g6 zW=8{*nYG!vKm|El9Hg5HOHDzJTxkCYLfg@`VEaPcW(I@FOix4oH`b;7Vd|xg=t`LJ zRRekzrY&qhi_0n78_@c4;J!hQ*%${yq!qN84JfaIIki5G4_DUJr?l{WNcU2Nc2#|P z7$I+HK(8ar#SLg_q%x@?ZHz2N=$hzJ?DfY`Q|oi25fn`Olr*BZRchU8L{F;Ly3>eu zRto{-UNv1}efFZ-41t=aQ2u>RiJj*UA`DZqiwdu0W{s#6_-Rd|C}J&YF7>h zLRG71wqg(Y4PJ11+GYkoFnv0xopbt}3#N20YgPcQ^b#xlIUh5K<@*T!)_uSFNddIR zUwP!u_WLV${Ml*$W&d>#bz5Q=rBzIR(vB`LD|Y%1*nQB=Q_E2CI$KlybvwGFF>Y=L z>3wTTJ6MOkgU}gn=JDR0bOZWbt9o5G zJgJe-cBRSg-p9Jp4tMXX-%*0C)|+lL!d_?WcQD7J&FzZUtR~pBS>V975AW~fcU|$E zRh!rqRb;=^l}0#C>EF;~=N^Qf_LgUKh3LL<^tbfF+y1f(t@km#>kP|kTQP`A{H>sW zJ75>P^&Kq>(mm?JHU=pG?FqstN)I+9v}H?!$1`MZY^cw%_LLi{Uet~5gvzfw)0Lnte(-07FILP=m;Iky3~%)(PN$2fl{lB4lu2zy!%Vo8q{w8k~Y`$c>fiZ*0jcb zMai|q-spOaT>K@yiqYTwl1gJd4tz;_>sXI>ptE(>BMTGim%H5!XRJFc<2zd25Yyzj zh7P3otfBI}4V%#DYvf_$#}%)&r=(BR)4I|8Pn4-p5&Vg6GPLr3Vl8M-iH!wIb$Szd zLBk^eGml5@Y3JwG2k2IxFF+n% zwg}JbM%gX%S^9UB*&2B`(At3%Z?-l(Xu}@1#!5A|jdH6Eo7G0S)Q0V8BUIcTZ^O}R zFSSXq{59CIK6LribDtKcbmgiRLi2X0>G0=Tnylr8TFBD#`#{ukz}IUz&~vo^axETWeS!8r42F3uiD93%UZvZM z3kp^6U)jJ}QRp-)!)c83`a=fenwW(Ch60=%CJy*FKna#49zlnm%68Nu)EKU@&_;~| zR=197uup*1WXnoAADWl;H>QjMq5c zLRaKYIaWH$mDyIh#qpNovSNt0LX+Ru=&?p4-WuOGDFtRW-poO2s+ohxTr)?Um1d5l zv&|gI?K5+bJ!$5ka>dL+puoHh4Te03UupU*Ca(N&t&0Da)h61cvQ0I?sD#H`BaS|{ z3-~K_7;lEPbmJK#c!ka1n(!*YbPEqe-B6#4bw(%?o2Kt{$3zni&Ko9Nlnlllp=>y4 zqUAF38qbZh@sLW4bs zZxeOA(1tnQGQlRyGbh?%o>|oK4aqXnCXVs%Z8*k@I=<`He3uIm4YJiG}VQ z6xXmZ-lMsg9c@q%cU+yy z^lx1KKf&9 z<9bQLbC8KzX|WM6`X#*ncxjLzUv*EGj-W4d3GeQqn|YK`#0l|6#_QmJC;T6V{~4kr z+r^(N;!mmT5A1zO4I4t3tE_OYde9>D&$8lv@^^Trsg9~%f=Qtf5lflIOSqU*ER};n zQ$0pisFhA>)o-k7 z<;rDs<2IhX)8M%=g1DP+2-N_%krX28%fbw?(j^reDjij+|3Is_`hcs>gPlZwK?H6n z^Gsq=v09y>lAfs5Icn88H9MhJ-BOFD8V1}ye?ng)H%lL(j@wEt$}X4xYdHFU`yACF zSIn|lE*tWSWTiml?$5SP@4{Ms3;z)&Z8ESp(bnfBDc+#Ipp{Y#>Qd1!R=cTY8`y0( ze7@5Ov^2eHkAbb%OUDiB>w0OKLH%5>x@=%2deuF{KeLK*Rc1jJDU(SRrS4J_=@OH^ zlSVLUXl?KknRGyye@9jQql9I3$M-S`yQS%B6-4|$lwXV;j|#}lmr`feJq))`Ou{O5 zf*D-ZiHKzrfm9__@Lfuo&LIU*6GXtbRJ$CukpBc$2?1l`pTOE-5G(lykS8)&pT||a z_=_-&s7ttf3KJ}^yRN@~gUfBDT`qL|EhFWPj^T<@7KCB>pFslk@Bc%h>Jtt2yr7{S z43pk5=6O$p7wh=URC&VEeBp;78eN7rSt`TJXU=&Nb_T$^qVj}otUVHvJ}61}yevrw zLpsKA1lR73^TT#kS;qboQaK8X##H7BR`f-Yfdb~aLQAUz;q5BV4O+ay#b>hGbC(v9 z3GcAe0^$FqNKK-;U=znYH@IQK0?jch=VCWHBT{;=a-Mg?(Hx&I)Xr0GP$_^t*E}}~ z2&>&BgdKB}04@^!6zTtOBxS4ulAo!uhTjnrf~d9sfY|CIZ1Dp2>Tvk$xQtSyav@Y3=*Vn{sFLwE?9|61`Dvw zutWpsT9q`NS^2l&m{?~_y#RlSl9_k zXYJr6NQdosdo88eaI^%<7QM8^Mpq2dDrjVurTah^bKY)QnrX+j2%jljnrMeaxir!a zJ5&;sEO^WKt2hXD_GX}63tW>?&pC^ zg~p09h-E6vMdseBFwN3ZP38ZIG{^l9)2s%%ABSXuIrZO9GmRyocw5v`riOAwn#kIp z|25^L2I5=eEX$x?EVI8_As-}wuJt8d&ony8o&7cc!LR)=*#SwaDi!<rn%ri#w zkR$;O$^UO8^D4UiVG(kH7PC&5Rd|A3)}rQtaOW^Ju;Nr;w2Rcug8-Yw)HngZ zaXrTZ?Eiw95Ty{M`{#e-7btBX>9z{*E%4=<6S18knVi$yNwc zYtjl>c$5Tasw9GMir#^mbNx!w8?stEbd$9yp|sB`EeK_6-6iZn_qzir-?mNz_;s&Q z=w+k*;u$>4{TJdc`eLYbE%Z+!E*cYcFQmj!inmI$L;o9l-vK8@k^SF2Jq^2nFpGj@ zMiIdP4naXZbx>5qG-fU+Ls*5AFv6m!r?!d$B07>JD2@cdJZ8*e#yp}TD(ajO&v0{| z0VDrc^}cU+rr2h8VLAQ%KkVlN-+r%Nz4z)>=<4d~8vC2(?(EL?RHfsF9c~R0e@Pp) z$h5ZoWi}CBM_S9U-stSUU997`h9A3M?qYpX=Ki*ey{ftU-7fa$%}K|G?Qabdf0EYm z2chxS+kB@gze!RPjeYx^u8I^_jDP5MQNe2;MbWmlP z-`S-l*Fqij5sxkQV_!S+aKNRL>c0ql-*!qj`XI#Ju%|sG?9T6IFIA)IV>{1oMEtwE z^`;*Y?&kj1t*Q)LkeA+b44!4vD}HK4x_34C+P>3%%&}HG)Pd>VOuupTu^Nl!IRox) zZr$MK-H)2n*JUmd%bKX`N9nrEettXm<}&+(?MTTbP5(lPS2a_K?>EzeA$7f^OkHQn z+%KD3@9OLC%XT6D?W)e-Z>|y-tEziS{a0B(zq9=fcBcpJVKZF%@~FoG*P0u2={g&9 z>3X`Wu9vCqMg6vRYZE z!mFiRNe_2_>uC7W&Fy0yv9VvF!`;u6&DON5e2VBFNWa5PHd}v6Zy&)c>Ea$}#W;WC z$+mj~z0AW+vso)*&#-&0p*M+gA8k*pzc;6+ta;#2{=Ma)EEI9+o_h&xH=sA^Htn6J z7;eO)_D8={-oYK99x&D4Ml{`wI+K~R-ACw!rWjV7e)|=0WKgY(Y_lPxg`QREeZ*xb zf7w+w{VFD%edf+pcQ{HXr`?xfw%G~9xJA*{XJD0GX1laI?L*t8Z)0wk40>&bayCDc7uO!yVNCLlnj*?luJ}fY7Ey%hB>rk6;QQyTY!FN94^t5z4ooy ziG(y&rg~j3E={*x`mB^J(9`S_l0l}^+9jHX)9XtqUs;kWnzp(G+~oo51IeH*sQPGc zxA>F$olRe7kg2tHgf`dSri8e{s;RH$2TG>(;i6U&Cj*#M_ZJ; zI9752MDv)E-!iesrNywOFgV!#=M^) z=5(aBpu#j#+ElGZ4smG}DGjq~zCsI_bO-y8Zii@u+o=_^lj&Skx@YPFmeHIet6$ZS z?4^)uOz&^#TbElvDyP-IYHZL1M?wEZuTRmgX1QaATT0(t6)x zhKf8dt`<0r=sVyC9hXi_ zdCb|3jucW$MEVVoo<}b4LdBtH;U0Ssdz$S$8gL#_M(A5U+H$xi;1c6M0hbZ13c4P5Ks&~j#L)n<6Tu5sO&u`2bJO0fTL%YAJL46R#23l8G+p& z3Gm8rWj5ME!ufXHhvM?E?IZ)v54QViz)A<)H392BGK;d_C;&!F}jM zT)I&N)#Qmn8#r@W(78Cc-@`%cW3{SQnZvT8u+`-tdfT}$aGgCT=zQ(CF9zw%W%rFB zZG|BDXM>9IZDH0Doo`=z4^_6Aw(|)UPuY6OcIO4ue0-6fk*W_O6ywQ4M_=l!%11F( zdCzxVx9JRax}v(FLHfUXz}Ayt(n5@T3bR^C$*W$dp61Y-4|;_~Uw_%|RRQ`e!lh4f z^dxg?KrtRD%6lU6?xFHtY41KW;H*}eDcf_}P8Rcg@|GBSIY&a(O7iw;slNAcHrUQH zDlffUqJ3F(Fb7p5wN2Xo7Ep|}g@)Je!sXqgC*@7q&ZPlI&tmC0jPA>e1L_{VTxFp5 z1jNV{=1n2*ZtC6Ik<@;j^XP(R+h5QT0k%uK*FJz7#L&H4Jf6-0T~*$jZ09rE zp=T5NIFY6gv;wHdn>hi+&{NXNjC;c7?!C$13C_Q4M~_#p*)GkOX(GNXK+C$Ma$Z0& zo-1_M%6CHDZbsgFb>1WFK6{b!%L2|~$62V9->)w}54f~DbfM!?52bbD57d`0l(^1O z>}x99Cf?_dfFFBc{GbvPMD)YeulnKY5~ZA?Ku=o_6&7Moofl)zB%3-P_gi|w zNE@PQ21Sfp1MWk*L(+0cK(Y0LXk`ekbvvs#Y?+QF^`IkO4?5b_gN`*jZFxLq)q{>$ zJ?Lms4?0$cw>%z`>On_T>7et%C%Biz^K zdM7}q+PWVFtc;SS=n>=6qG(+w`3~NX_I(7-{m^lqcicOI>J=HCmLjpDBqz&Q)jt3=Q DerR{hDy2rZr2Gm+T2`^Q`^sGXR_X_j9)K0}| zUwd=z=}Dcp?)UUTu(>(+^mbd2H`i8`75DUy>^?U-&Rr@N&juX2qgzJ1B?qk%oHYv}&dai4EUpZe`ZTOxuE zF&=Q8TN}DJH*nu-XkFXTeMs$EQP)4KjVt=L&Q651t}VN-ztl#>WXp6+sRteX>p_QA z4>}%cz2)(kSPwdS*Mp9Ht1U0fZS|mIL_O%(Md{e!`>&~bPjI|Tzk0St-LBMgKAm59 zjJrH&jdAayy>Rp%BxuvCm32Xz9_8rzBh{m?blq!QS{mU$(m!^xnrJMr+do4;twm2y zrF3jh>p7*?kF-^)ku}|EO-I-N%W;2fWc}o{qjQ&OAL@S_S(6*m_Jjou179?_*N!XQBP?Qs)6T zK-uWyV!Hmf8@RfWGr2)vNh9a_5~|OKN?c;kFLiIAbN@?;K{bwXTx4 zjcx09TWAn^KdkGvwRYz$x?RyaVST;A^O5;3pI-gN!nCN5oHv0WFsUbWrd>H4~6-D&euGsXU?nR`vBpp08n zH@&N0WS@LT1Nxa5_Zs@SBAT-{pm+6y=$h`lbp4Rp*-T;XdL;GJ=j@sGz3r@vo$F|K z!}NxG)Ad?)H~zTf^AKG>)sAHwpMHN}ZqQny#um!DX|nxaKcwoM(O_E1KU>l7UDH|3 zuQyKx>G~`6dYrPiKk0iCnAyN9Nwu{WH#?fHK1l}yW*`@1uD+OxuVUrqETc!OZG*V9OM6=6V z+N|hg{o2mGvy**g2X{s%d#T!Jctgiq9OB>7iN3e~cPIDTPEx}g793#jO?e+sc^_)C zw39Wxy?aL|`??P9b)D?{RNlEAZ+3`(Z6~^Zu9N#+CtB2@OYR0L!Y9mC2O++!rg20z z$=GWH^IYpLm-nNbWsg{9ACPWmU+uWxwxwC#NV=x2t~1&>PX%4NPBm~>w{`Arpsuej zac^wr+*tB>kcjC`-A~#&H#AilmNauOZRbo6DWNaR+~?Xlzm=)$)!Vx(+B)mDU#AFK zdB>1KF`@Ssdt5?JRxvlw9!9+fM zK)5Q-t?ljmx)<6<(T8BP*fu#}|JSC?x;h(`ywOCL_OjnB56ug3IK(To}x@t+uniW!W3(DVJ z<)`l#)MFVvbv{U|j}CptM%)|dxzM4XcvS2MXs4!AxYm0j@^@4D-?E(t0}efzr33U) zi94URU8)NGHQ-+9(AIIqp6w`hl>j#)&=j>OM=tY7u&?8HPa0N`q5Lx zp5nN~uF7t`(M-pnsalfzt3%r%WK+csO5v#v{emn#cG3Tf(6p-Mt9m)q?!6yn`NnR4 zV~O*G;{^$F4c#|OtSKd}6|2PkjDBOQ#C^YnK3-D%S?U&4;L8Bz%YvirgL)GGYKleB zq1BJ|>Q%sAbp4#;=7ZLM9ha_CYGk=Ls4mwA-5-N=D4i1gBB(?}<@%=et8aOszNGeV z*_QY>s8C-$l((dw^{vKOO7N4Q5|R2CA^Ox>GR1Fk(4mg{p+h@?cc*K5Q$#;=_nza@wO$5U7*v<^ zqT?ev3?`@q-wY}d(br1!)l+*}*+lmR`b|Tf}mNE9$6dH));zcCvW5G zWekZayIU}Zgpgm4A=F!64$$Wy&JzJ=IUTa;sGd(BK{zfQJu%Z!i8nclEm5SOuW1bX zn>mIgRepNSS#M*=8oTQ+4V*>JLWkgk2JZY4dj4-s*H1Te*EY1CZ|J_>(3+}dw6jZ8 zVpUPBpe_qN#}A}EXwC&4=!3VFs_I@>Z5*1#;IR!zJJ-$`Yo?l&-x;wPmM!!b$RKDX!FaPD?xd?kv{rWl6Q6d=pIcs zU%IB-?VUmEX2+%L)vA7f)R!}Y?u|j~TACj_)-6FLBK4aTeQF%4hxQUx`Zm~Y4yQTx zX)gUN>$B8&={tsi`?X6y7fD7awWPaygw>ySY&2Cn76+?cYw~Rke}hU={V3%q_d=B; z*iwCGNngDT?06RaS{HmF8Hk3I`=p0r;Gs`U=-P7AfYgf=cbQ$inJ zyRVg~&$_q>GpT`9VrrIt= z>I>VQqK+P54bA!x(o6YwZ0lmM%4pvuZBzWWIz72^3fAs0lDmyIsnX|+0r$QjO#v6t zm#1os(Vldm?Pre$)$0j5A}tqCx7s^sN5;KD>w8GFP@84xMe>~`)-Ut{PYE69%vpDw zX1mKv)Hck!N~~Lh?hW+2r&2!J`J&ZtRK6YdrG&rGxy{z~dI5b+fcKQ{I9o5UQ$AXl zr+FeRvy)=2V+Xa{@ziRv(89(Fdc{k7Q}sJ~dUl}+w$8HC@r2{umx5}siGD758Z9%? z*I+cn(OJ~Dq2hL-0hzcj*zV2r!-RBibFKM~d$()7?>uhP6!5Xa3Z6p`Jtg!#nfoi| zoT`n|_Uh@S>LVyx)uLB4^xKGcO8}nt3qa{{tqOY1ceGW2K3xi2VP_ocCFwb|%atBl zs2VPJtr_s5$=yNcu}0SFpz~rQ6;<`GjJBOjbyee>K|f8cp3{_9FH=LIUuFzA*Obuj z@2cw*YE1W>HMUDnx-$`}&{^tz55E9<2Rz+#*6KM5Jwa%tp$fIxnRW-z?EZc5b~u94 z#<;W8o-6lyI^zpPZaL9?iq2)z&q*}KzC_!8Mez{IL0c6Hw^1kcD|_18LHgy<2|ba~-onSllIk9GzkZK?5<}!@!*bYPq%CpHTADipR;M=O!op^TW;KaNVEA&tRd?hi6Q#{qD<{syHmx?$SAq6U%ePazf9R*`vw=1@H=#ou+*A|m6Q|9i z^h2aU_wB~kXThE6=dzbJbm*5~e^ATb(@Fy0G_e+x1n6wkTWOKIvGr6*a}xQiBtYUD zN&=+d+R^~2e7lKDYUn#)QvCFGH2u7?sY~{jG<9#*XH)z!y!gYejh}0eqMPcAjnvxs zla18c_>vOm3R@IRO)=@1}NLlZgaX` z)*x_uiSu}a!2Ko8)urx7rB=4o{j$`V-l#pT9yW4GC*LbL>28TYNAlh(u++b6w3bBe%jce!dC zEL|@Twx(`m9R)l_0(qm^aqTCLyG;L`Z? zt7w@-9WYP}vi)Ca>T9iQa8>E$ZLDX@=v0XtTRh~@^$hj;g0!_iiS8)$gQjyDO=)la z)SLqHT+3{bu4k#Y8CpOsny+c_MClK0tjEiarQdOH@gIk-FO@}ey{fJRCbz8;pzE0; zP_qwWqB;%ag<2D*A$d_}+U~Ki?aI#9SMA-`I@?}H_wmm5ypH7P+u^A};y={+2-@qr zt9$jXRrR_Bd8=Cw&)9D})_?GQCY{Z5sXdw=PcZmHr_iX#D!gcRL zx$V?ud|DgtShOzQc%b{BULd9q$FW>av2Ja*Xm*%-o>fB=t#YIS_IkTqXQV=u>_n$0 zs5Nf7mJ<}r!+B~WL#Ht8U8JLs)^mhzcDuvr=%UYp&L<6=8{GZBZ9p#~of!?Cr45`* z8#X>B(?k{<7@o7^)$YEY@774nz0 zX?-?*A$c-A=&E%}`mZv(_3e7LQPw*}z4Kmo#G;1o=M9{@8Wx;vl+`l3*{zzX)uA5k zZ?mmoE^QwgL7JA?a;^s71(s-8Dr0}z&pnwIK^r(f1h>!9GL=g!RnBiNy+o;Wkm6AR z`&7mXDkGgsax9%8tsk)}os4Oj_I8v0&r_G35`5Oaw@60>IyP0#CR&EhyJ+UN^gI8e z(JA!BC_VVonN6w{G~?xfE#&Gt--KPAzPG(+A9_}z6$1CuQah;@1MX?)zE^60){x#~ z+Y8h)&YkMzwEdpCq$sFA^$w_X=L0WLA0-M??`P<c)WLQJxldqYfw1<5%I^_IlPu<)m%q^ts{v7_xlJSqm}c z+aIzn%V^Z_)W@Y1-n<>4E%>U1Z%>p$;}Eji3)gd9)Mp!^6@;x<<`#D29#g3;(`z<* zda7!#G{-G#+L7*Cm5rFfTXKRkl=o{;s2f)oa%$&|d#Il&`-Zlv)R(?m``2u^JJ+@@ zB*&)M0eT|!YZLq*b>1yOxhB1BHh_Uaf?qzh=rtLo8l#a)7A8l$)b=-f_ zQJQL|xwL`%W>f3i2JVkd)k^ADO|2J8+-sUy-!?+D8`I5+v=367DTljjx1*0y=s+F% zfFipce=q7Iu@abiKDb);^684H5g18d+-dhVW=DRxQ6D+?HPWD;)?lGk3kZ z8s;|1`ihd&BHmbhrjFHf-=s$-`b|Gq9iFCJNsED0$3xu5=po8>Z*o;Lrv+P8SE}L& zn;u7dy=XD-JnL3FqB)^6T)IQk<36qLJprB=D@2_4^E%F2&~2xi-D!;4QBRYHBz3@2c`8b-qa|pYr*=9pADk;l4KHGwtW0%XRJ6 zkk2o4abN9H;B$SHyFUD&=e;EX_qRRi5W|<-ez~XhOb2&zH~Wo_?st3IU#VxsRQRXH z#J@qEmaSkQ@fa8|NT*?-=Z>F&0ie+XBqt} zq)Wv5#x3dk`X=tTA^WE7+%H1*BkCBR54MX@;yX=UO1!0+68y56y8bkzt}iKb>8$4K z%M|C)G7?`~whysyYpxjUnin+3-_I_seLP~HHm!mBe0Np@I(6Bl>-E7C>H6{p>YBES z>Av}gTp*-Tq+YkB{;$vOQKR8b?jCwnl&O?S_vvzaVY(g%slCuM^1<}J#`?e+_I9xH z5%k;7RU4-Dj!irxXSEDHe;z`+66i^>Xi;lLfC(=nsgREny1q;%No$ZdH1CFYW?N4#~ zXUCI7=wP*3?gyK8O0EdBpi31Oq?IkVgR}+iBlWt&b6U`4VIsNpAwGqr_qudhnE0yg z(59p>RL(U{3%V>wZ2nH*`@niSVO}-w`{@~uXE@?eMUd9+?pH5p);I^yrOMfzoo#+g zV6II+PxZ4(T^Z~`mj!wo)7QNEOC@?IRLG`}uIM+l1I?c-X8)wZN-vjgDQ3@5($5B( z(RXMCN?P8c*k93o)KR+(={MQv9cWRhTI!7S#_T724NIE=>9S5b=;%Q5M*F*wWAqAg z2DTZ})%BY>U9Q2yBbMwg_yCz_ti%i@^Uc5t#D#CAuhsfKgxyI2Skq7zcX50llo9J z56xgY1zPN^{|s?k!08_BB(GvRaV?|BN7k`?0`gXh(_>dNCg&8(kAQpzenqZ_9ONUj znf5@h{EhXuvUt3Rzr&b&n=$+*qxfTD1sMCjHB(?iFi(tqb7UE&7zM)1f~F7Fh`(^3(wSkhKq(4W4^ z={ERRfj|FG%oq96AlL8653A%=p7jrL{T1?6o<-na1AQgLQ}XjcUk_CEs`$%5oAOuu zgZ1CngYDAG8}0v(_c1@ypZyX)Z-JhH(JDVx+U?+{fy$=(cQ@$!fTCvw=!by~NLID& z`2B46N$|!0mq4$FpQ_y{T}O^!`Pbj6@<-X-?-KUgjQ^|9vkKUdWR?7cE}Z`z@Ws#f zK(D!*^(k4EmIMF3E7`vA|N1k_J#Ogv2=u20|8vk^0!7dMQXd1@FY)JV$hkljGxhI3 zKKyU1;VWG~`0$_nj{X133NDw}y`&TS@z7vSSA6B`PtbEA$}RrCy@BO^xwT4O<@puz z7W6CM75|J!5J$sq5OhPJ8dsDJ?`_t*y&-?h&g|#cA9K3+(-Ly64f%GUI~x3*LErX4 zv7XN07q&O$e^>C|fV{-#?kBihdmx?Gk9B>meVP57xv02)4_?Lg3hk;geDny*UAd;J zy(xYV=SLq3UH0CH!8FXPySpiTZGdvaV}fIig@)!)UCp9ECnuqs<^|CS)1-0w|#a(j+T z5DH7zu^-A`_3u{Xm-N{CoGx^-z%QkukXCJanqj|?R_XJbvpy+rA+6G{MSgYPQ-6iD zN?(L@nRl4x>fzw^!F_COFRl`W%E(Pzd~B&c?0Rn zp87NC7m+UWJd@^JTkro*VPERUq~Alj%)?B&CeK!*pGf=)Y1Jp+MY?K>>hD(A6Z!8z zD_Qkd7=PvSmq>4}Q;TWUmkRIGO2ni$82U}R^g$jM#J)*yk929jCfxz)Ql3IuwTVth zm-3tRG>o^>eoT6nk#5pc?`8j`eVOzgu&-jJ{t9VjvnSG<>C|FcrDv{NjFjpj^Ag)X z7d^n|{d<(7la0M`N2NM8@! z;U<>v4eSpb4x9v3W1t>eo6pr1m@8wH+AQ63s=oYR;lLhj@0$p)H{%Du2YN9*a4*Jp zfg>Rwg4_#`8x49Lh1>wf z5@4&Nm`)uDJ}`VZ)5DR^uRO_PSk5nfYxDnqFMk~M=NHG?mftVG@TLBRt}Slu`d^On zw*pE($R5V+uD0dh()Rxb>?MtUDCN(iAJ#T*HOXa<;PU-nEx!lt)to6Nz!(Nfn-TxLOF7-UfN=mcod^{93(x20 z-iu$s{PQKIOP*qS9M&72$Nak;+TqX$%eBG$b!3QX(fbnSg>L}Y0zU?R3H%oL3oy8h z+fx(Z4#4{MlfD_zfAU_UC+J?l-oU+q`vB=nUj5e>xG(U0Jov=>&eI$(2>ci7;VMRn zPdk(g*?l33c9J^}dVpbI=3M5-ffg_|k@-X4N^j`j4=Cjl6uWiRPv=MLKhaZHeC9D8A2t_dUA(UOO+V|J ze@o>jbm6!?{@8cAicEUtI*tp%TM1H6l?>yeuJtGDJW-!^Va7>lKR@bfU)Fi#eVXVO zl=daX^s_7Jb+xb7Ox53R7?oBrY5CcytA6Q!$JP*Eu~%39H^5(6PnwSVsH`i^1}*DL z*MpXIrWj~hr#cO^tXCyK%es{Z`Ujw_J8b|h>reZEmUXDc#(LED#=2Bn&>ewGkzdxq z?guUFVWMBw#hydDtdG48TGq)v0WIrgvQF0z{6C|98sEeHt_@Ju@uWT07Evvh$cM2m z76C?qF<=~+0D8ceus$d2bjz_$C+l^2W8JP5*4u)Z2g$nIE}&)oZ3*=D2meIia9{;+ z5^xr92`~yfabObu%6g#a&w&31P}T>hAfK!gWWM06zskq`z+McDl9WytVsr5bb3L;4Z-4KxrraL7xa5 z4y*u90?q<10ZKm;d>_vrp8|gawtAKObyr{%cmi-Va1wA1@D^a^6mEZyf_?+|DexO$ zNtW$|fqMcE1D*sd2UY+t11<)xgS`hpKMQ;l_!aOcVCXfr+YwkYi2dCI^bx>ez_Wo< zfs23<(XV9V7+3qgD zeSrOervlFhUISbNTmf7OTn+pNXurYwcK~()4nkadfj$O!CeTCra$pvi2ZsO5^)UeG z0WU%R*}ydTOF%yX%!0oP^yfh9P4>49uqQAN`55T%U)cT`pw9tD!5;y<3jAfjB={?U zIbi6otnUfPtpg-GHRL(<-=FaQ4Otg_ zZ7;U3-p9*3Wr>Z#4p{ejw2b9;2faTqx;yjbJ}W48W&g*E?O0Cs1B^!;WPioQpyhr1 zbkGuiiM#kOc51?b@H5otP+hF!LB~M<6?78xFwhy$qd@0DSAdQ*W__mpKT5d^>rh>% zK0I8rqRkl-zzq2D7T^P|HcW?rVPFIp1;&7Jpr73=?0Dy$t3|}F&|8XrcC9mc#WMmF zyOGh%j{>u2F`WbEfz~+Yhk#*V1n6fsHG%VGfnqm)9`h5x)P+oEfLUM;m$xazER@9&(F;tq$k$;#SbIpE(2idEhGGTHq(ZBV^ww=x`aw;nK6ZoBhdjc0<&T?10#`sBF)-U6njBh<4eKFK+8VG7*ya`_(zePBzLll^ro!G8rP z`@WW-{m8zrkC6U3@GGFSe-mZgNlQQZFZvnqjLBS%1aKnI15O3b0A2@N47?S15AYG- zGr(7YZv##LQW!T=1CG&2S)hz3)Nv*a@r>RH zj3WO}d@u3pmmH^uzu|f_#{-!M_>Bu^UcvcgJdpk`{rz9CBmMdt&}P3j`}5C`lYVXX zXB&1~f5Cp6{ks(DX8$e&|FJtcpY-oG;O_#QfPQe@*DNRf-|X+>mvH$HUCI4G`u8f# z!@EJ>K0v>IegM)B14{oM2s#Fo{x1Fe6!4|L%RI~M=hCnJ`twlek@=j=<3@r%Ua&cr zx2AqA{aMi*x zU^d3-Iba@W9f$nDFfalXdxG&{EN`6yedi)S#xs!<^e*G{4A8oq>G)JeYZ_x17zM_G zo}^D_xhODo71PNiV`LU%Yz|`{7@CiCV0Ho1-t~+rUV92K_3GA5OU{U&Ew>;;2#6r6Z>;7dV=+fd~MMzjKnpvVi~|!u z4_Mncr!I#dR|2OqW`J^E5tQ#+gcg+hi=cTwcoyFQ2+F)doXI{fF4j> z%-lCiE~~}#F~c-JejH=+c*dII9GiEB&gTKe|19VnFb}lmvwR2`21bBUU<_zFn_S5G z!;2Uri=hv3-fZmm9yZ%SUGRVnutvs*DbBD~^<+)tePvkjV=A&kuQh1Jwo;gA% zC4f>tIna5am0-CLFmW!^9xw?^0n&rivrV&na%=t>%nmm6#w@$_`N{y1>7Il z2Y3kZAmHJ^BZ0FHVmq}(vm6q?%$zfIQXc5dV>&UP(E}!dDPS6y0cL?YU>^8?Wj!~) z>nI%u8Q)S-rhUhUZk(R#hkU>+Fc0(&=JfC(kOSuXGaWjVaijWy{^;SH9s?$TNnm&Y z^a8WMJkUAy4f2WoSuTDM zqxDxt-*zSIQ>U_A7AWIdcrf!Lz$h>Vi~|!u510g|fE&eO9Q^u@(F4}xXY?1APXNWw z4CpK{2ef{L9bgz30Y-r_VA)MP&Ygwx3Iv5OXqG3w!)VP4bpVEeM!nuJmGujraTn7m zgMSm~rNG;Pw*l`3-UIvw?=9u|>LKu-uO*u0$-R`&tUSQ9`0u4ctg8K=<$-rs`b(H`-a_|*6F=Yfd(=U?-@p%d)wkM*aQaK1tp z@FPI8973n}8m}+25ym`F+Go0B1&j9J^bjx%i~ys+7%&b@0F%H_Z`LFB1!est8-~6A zW9uiOo#6M*Kq(k7`zPk-4`2)($Y{nn41NR{1;&7JU;^j?lfX1EAFbYxbbf&LC^db8 z#`I*y$P~sHFaZorMLN(ZmKDYGLHH_`OHE@8U&)vOMqw`w^nlXutX*bn)k*Y2vC|6u zG;usV5Y-J4}rGg%uj(Y_ELX`J@j+o=M291F$I1^hOoXEFa#926y%cN zr-5Oh*a@9kY+uHsDELChL5qGFmt-8uU_43zMXuys9=|;B^T4zr7lxeV6O{K;LPu(l zlX7K@a!LLi@<%6f{Nh0ITk>0@I4)A}l0PitGv4D{=d&KEe?hYygwakSBL5H0C-LnH zdtyi0pND*Dqn(MJ9QY}q=!+Wqa_~Dno9$+RC0+RYyYN^pud=W9%A^9!SJ&zqxTrKm(jeH@$ ze5eQMKPlvsc91djtf*x>u*Mhr-L=D}%ge37vO+jtG=uXsQ(5k}xupI@5GxN%EoC}& z6L1-$=otV#DV&e#y#_rvPcw>hM5EUf=kt)yTgCF;8;mj7jf?#oVRsR5F>ncE0&*TO z2^9ZUz>f7g>kqxjXhALnOkEGX3xPKPQ;cEAMSxMD*qMv-R3kX2HH0`=vpp>m0>)BI zTemVMfLe(D%R)~W^kb4fEm>r$q}z&OwY=FY)6rsp!|LB~Lgez6yW z-n{6a412)D6wtu%6U>ukOiv1MImxA4}__vkqOWd=Fdu5#ASgTLC z{xT9zpal#A<3JBsQ{1Kfq$-NX$z(5|aniW&<&1psTILH+D7KfWWxlwPZ+$KErHp)Y zd;63x!~vJM`m|?#*KPIP^)rDaaRJ%IV%R;3~!> zF#k5wxpx^O@WTV9AeRPafMO>DJ2}`1;hgjcpl9Lc8^FzIq%O1%`nZFo$|bmi$BO zllf8fJnp|j#|%0STJF0ZXqh(&KLx&wr^3(p$mhV9aa-;q;q!~f6R{)nv4k=1O1|i3 z=8M;m&ok^vxjf{P@m%;B@a6s>eCr=vE-8=j;|5>KlL2200KK`cBThlwFv|Sl97pjo6p* zG&hbhyfFm&eugwUB)QomwA#0xfC$6faP-6 z7t2fk%0ey=jG;WqAdj=j28`KNu=^%s@;)HOWAP*M^e^hVGgVl}i2 z88*4T@8K|{M@%(4w3i3kABB|DX;ep)5*3Rr!+8kkf%lRz;Jt{ zhZ!xU2I-*=un)|Mzo0GH z&xjwepN9SLPRI|8pTu;04@T>F#^i~Nx!sYzCu8bB##n?gb1>r4jp@jrz(1A|=B<^m zpN8Gg&YYg8V9bgAvzShfXAFa%hy74L=12BnjKhAeJLm%#lVcdAU1ZQMHfmoNar=td zOSG#Z9|eC(vtqsneiXm^BJvsV&30;etbd}ZAN;hbU*w@*;wSAqd?}a9yAkEx+Vy9P z2aFP@VlGkY05AFz^pjiuJ@>=Dz&J1qG!Lg=kN%xo!sU(K#3*(IMJ~CN(?iP`*Bg#X zeHv`5gx%jD=qESg2ljtG{0)On3g1v1!Z?(d`dZ9>i5)?aOD*E`Fv?rs{+HCUKG*-o z0TJ}8Pg9@t3nL7clp~Kg`^p)1{p7+way<-M&sYMC09T+sa=_)_d%y(p4*;6w=!$yF z-puvk-CEq9q#Pn=K`wq9 zzxl~c`HAbJ6)*}+15JB_5a;wNE^qh^#Ko{Da`D$WJqI~ySK_CPr$P%#KNIwm8}Kvx zzefB8odBBl67WBR`ii{9{)rtykxOJbJr6lkpPyf%N6=T!=-+h^@PtNQY6OH?l z#8=88{lZty=ofx+)~{R-eScwGhxms;&jp8%ktKHj9Ji<-@Ah65g~KlVemz7 z3VKujWPLfHq_04F2K>;6EGO$T>!4TU#ct#$mP-L;9U(D|{Zs1(>Yv;%WF0~7rvYPq z)-&=+JCuCV&MWhYLqO4Mu&wnNKLq{cS{WI|Z-Z^EgFZn&xzq-Xf50eEekU-G`pXMn zVp=RQ9t-bGDxbN_hmOy(W-uZO`&u z1N?jw1Dg7!UgD6?0Y$H%$fb}T*@5-Tc#@sY<&^Pk9cWo^6uxy8%gMee;kN?cl#hTf z`?Ewo?jxV_;pcq#*46Bf*p+$>;YY!j_z2(g;b(mK)-|ku3icUE`QqUF)q~&qbqe`p z-;(&12VeH52|qNWxE%;T;=_*_eDOB{zMsG5z7Qp+{-i&o=b)d@XG|?;^lm|aGxjY_ zLH#BmpRZ*;=}+|5|FGn4(StDY?Mc+iuY!FuAyT&Vp^ zp1_zI!k8Yzm^+^_K9w;!hcUK4qjvyf`XI(U8+5SN4>|c<#J29^tbS(TtAUXj4{+tTm$9OxId&&-YDc^K5{bd$06rIE)0L-E7^Yh1;+HP z@aqo79L5pxFAuvO^rg2@Ux~}}G7If346Laigpn@?`?1-@@#%|n5B$859z%K<p+J= zXF-Sl#d@Z!VqEt*V*>Pg&>rXr3 zxhv3o&X@HNuNB7S){OFeFDP;u$i*NRhu$eZ`el6}4f#l$>h+6U9&#S!WPTl<$@6aW zyvPx^(y zwxk?+==GBmdxCy)Yj)sz2mv#Q|2nA$;9OuFa(#haTX230XvQUnddti~Jrat4oB*{{aJo>k+YfHMI*c0@VThWT^A&x?Xm${y9&1JrP=Pb_?VeplI)xD=M*PF#o6!}a$G4SO(Y?1eT zHU9o%|e6!wCKKz^yKfHkLu5Zu!r5-%+{p!K*eM<)UUH zQao;iF@DtbyY8-NS7Cg&ox7IHUspX*=t)6OW)ABK9euHO**l&wF@!NTmN9w(V|*I; z^FZ&*nB1Q+a{$sIFL4+IyBXNc!>-kq<@0SALpy=)%oy2?F&$z|wPXxKPV^@vK2n~! zTrNqUg7nY=<|lxXF8wx_>brf&c_TUWld$x2_Y&<&yaA*5CFhJ-X!kM5r(EtQUJ0Yf z%l#t?`6&8H>_$&SG=^{vNE~trA33>yc#um$E(-snFSGsVtBmP8;MZM@DU2gxJPx}l z=*w=QzKPHmMth3_Yw8C{bGi5lehBw7NzWiX3VsSG_tUw!KbrdwbDjDA zo;ir?IR{JwC4XA(uaFnJ;axd@ILi5>zz|UKXMOC)k>7)S3YakR=X~;~kUs}`s~`K3 zHS;gxd4_p@RSx;%O}W2&KsirJ&^*5?)sp2i%`k2tpOiPW81pu~mll2md~@8BeKr}4 zKcP;nSKcejcqO#FPxfkf&n)xFDD)+Pn>!9xmIJ?2FYQVAQSc+i^IzPD@A>dkKKu;$ zrrjL)=5uG>habZ4&5FFVXYo5O^QJ{y5Aqx)asyDlh@=ZjJ_yDk=OI1iBR3IpS)}KE zPsSD#?Y79OnrIe3+++tU--7oD{l<>;?O7kECK#< z_$~aT4?p9>&x60-&=b0y{WbYfAASOS8E-26@!@9-KG!h)T0GCys`7kU%$*Mh&H*NgRf?^drj^#=2^hTiC&JWl0B zAIjw!dM%&$W}!E4=v@haL-02tamW?>8~MC?f8*rK8@ zz24Ag%#Rp)2SINX<&R7K8hS%(s@I$Og!wT;Zw_&Yz~2<&5Hi|B#;3m}--bOyZ&&!6 zhTb^hV7@Z35bHGpwrbT!n^k;-7ivs02 zKv13s5=i$u&$hDscXBypo+JEl8s$ekgdYXpl#hci=fTN*Dh0kOZ*}u2zxDCVX6DP) zkk4EnmvUKmVP0XD7koK)PUJoC%{b%?zQiGVH|zI{gWvje3i;$*F|lvm!}{dBIB8FE zu3oky+TBi!+0Km7E{vJ>jFN96%AJCIc<0*Xllsog=6)BMgZ>Bo9=lPbTLHCZRtulI0^&1Ma-Z(HifbB((U^LIO z8PR)*uG$FVXCa>T?VkrbG1!T~PJPE)&S6YKe_HIU;<$v~V3hVO=P%|UXQ4l2KZo2` z#q!d>B9My#(?B}E)5^4n%sqMfK@}kZ!fFKK<{K-l_WZE0G>Oz)ZIrDErqTJ$EFhC*Y^u zfc<*}>9M~R=MMxp{UxMF%8S#3!GKumn(Jc?(IwGl96)HJ)|# zb4&YCP5nKz9_;`XYu3BjKBfNsu(so;+23pHXJ!k>CGoqqjZHeSh@(k@#8P z_ao68eKjeU)nYcg>GWzdZDU%rjr}4OhNm!ZZ~HXQ?=r^x-3*m_*irw~q+U<#O@Ug{ zVqffvALjFgsZQ*QA7=XRNN+M6XN(#-bXfP%Lq?4nOEB^DA>%7H>8klWfX@y#Y%)_V z5{vy9JtQ%>V#K)e@gv5L8eVPg&GzHyen%a3>>-1XKDu9Q@QDMCKlFqF#~#&xaHWkR zKPrX|88)JP@aQ2EE7Q%3&Gy4oWYFwKLIq*S@b050RFqE~JU%gU%-~^TCyd#26=_Y} zi!95Go=F>KHzL`OVTlRdC-&WE@VN5C;L&5x9zWE#b|fCs=(bAxK)p;DGk)y2it^!u zM~xgk(uj%pAqA>mKgvgq96xgGnC=zhMwX8k6SYDaUmQc)q>bc_$l`h#Gj`12it^Ek zvEzn}s=jKrZak!Y3?EW4WH5J{@gvVG-^gozw^7Kh-+B>0#*Y{>j@rd0JlVSOkoGbD z%#k#ZjXReH*E0u?98*y~ZVXk>kfGFU3xiN_UBB&PT*av2-G`q$X2|G~!v?F)Qedh2 zOX;@~A3>2eY2o`}(Reyqjq95lO*hse@z^-U;1rJQNB0|4HKMazRewp0D?hz_9J!Gg z+^gr%krji>CzcO0lx<8(TsBTIICL|K9e?OyhaNvz-C=t5Jotzc2Om1<&_f_r6b~9c zMpxfmE0vn@u62JwJWf3Rh@<`Qb4Be`H_{=eQzNBuzNV2)>ct$lOuDilJ{JY`GOB{? zo-=M_MRntbPj>yT)Gw_reD*{4m$8Wo8r!L#j;|O}LH(v;R5e4qZ@riaCS8M5XdmUH zyALlPM#Fi9ntmjzall7Ut=p+jeqmSD%ZPJ^>0UejOi8N_O}o-g^-F+)3?^++e;IJf zA=Fil?svkG1%kM&@lM1gmTN+t_0D9QH%zW7INeK;OjeWutZ}@vtnd9A;zSBLQtfhQwsk~x-hM}YxV=r4Ro^|GlV7}n|O9G{iupZb=nJf z7{~e@f9Ns&2A_E72`3h$(PfbzBPN_tUNLHDu|zQ?eh9bLenfl zJlQa9+FS6)(>*1m)N1lpLo*o2b;Is;(Eb+eN&GvTen{1 zK1a=T=%~8fUbbj0L1L<~xP6QtF}`Ax!>P4($FVa;)58l*#DpI`n;#E}k2q@5 z!uP|XcvOr{3{DK$;V0dd8yO6;e&ZqiW!(7k zvkXHukP;U`5jSb!*MyOam((Our}Y2T{tiE#o@EG99z|(-I1IGZ*23`of9C#IQ4sapxCg2^w`+<)Ep9Q`GTn&65_$lyf z;P=4afDOvHd`*EZfgOOm0=onE0UiiE40sIiWZ-E)Gp?CY#luIhmuHzGnwI|Qhh{y> z^Oc}X>jh1|(0(XRNq(VI-3I8(bc9j(-(4|7E{ibsKJx`9x1Xug*W6Rge;@RD&6)oR z=*vNW33?{z6mU6k*ioFXwkS@DUxMP_K$J)LpRV9~8gJOU81%D9pALFHFbV$8&{r~z z{S@@`SNt0dJ%ZwSFYSNz1j;2+Ju-Fk3)6BPgUH2A$h?*-f+*avtB@F3vfz$1aP z4q`jCMXBGf{>%A7-!k?A{tb8`@CM+Mzz=|d?>L{IzNJ5K`pZDk{~c)2D|*Bqp*yVS z{FAniY7?@LIQ;HnP0RR{m-DHBkqdd83+=(*M?Co;_n-HG;_qC1@4g(k0{9YeE$~a= zFTf^CSZ_Pvp1?l=j{-`*zkwFJf}g{muYmsneh>T!_!}_r5SOC?ux|y&rxEBzM|1yf z3R?0t2R%{tUCY2KSowSlh6fL$;%W6L`v*E;KZB|dHTRT#+tuf?ERmP|l27(?`{fh) zV+?zh`@DTJioE0(dzJgYee#L?KMZ@aFWe`aCGwJA?8$y{zkIjBj+syPk^AKndC4#K zWPiC|zO_E~WZ$`8KCvhH#h&a(_siD|`^_c4K1Ne&_w$ zt-AAg6#j9E4n@f2aUgys(|+-}Jbe4lerff|kB(+PWZq~#CntX8bdw()wQ2wTe9RuW zdHMYG{ZaWVqnj@0r2kR=*8O(op)SZbG<6@9sUjN4oW%pvj&W_Uzp~(t9_sEeH)8 zHDt^g;j_!fsV~67J^FU<(Y;r=YY)!TV>kGW@CZ z9A7bf*u;s}upt%0Mp%8LoyQHI815VG);H3%^SGfCNues|KJ-tOQ}peAc1`-|)4{Rl zu)dL`uQT~e`IWA|hOW13)J5NeRB2P*bsk6GL@HhT8M;nx$NOZeDd#Y2)TmK|^{%yZ zhR}C6iE$&(rtcfzBI!~3dK&s3thK&kJ-rM)_jTBWU&F?Z89sRExUoZq4^!X2>N=oc zDS!4h^qktcCOxWbP!X;Sd$qd0-L3v~-PnEeb(yicXP-^z;!jbB3_EMWNczN17j!6n z9;;#%F=F-jpK8=oK8C)IlYlE7rY{W+s8L6eFT+u9rk>mT)lH9IneIHiMm;r_sl|XA zbyQoX9!7jWJ+ekUs4;jyWOm%x*Po|#Zj@mpuW?$`pY@PI|s?z?LdWOd~Pmfuy zNhfSV&$!`wBr2*b_+yTbD{7$!6-HmM(Y|ff?WqA(H=d0-X;VI(qkWn%MuGH->g#O4 zDVxx9&N$z)?Mr1WypP;d3q4Xc{x%PVL#&Q6^eu~T!mrWgqsNXrmp*8t(*_b1gR8a= zE1g5seWh2=Jw_)6(~WOrVmBSXqYeEJ)LFm&EUD5!&)x+FP=*r?8`)aesFYRY!hyPc`iBIIIqJCZBLq2s@Wk zLnqv)pilYPJl?R`rw%sdGqwVgVCg=G(W3hHc-8Ql%f{o-xbg|(%Lku6uDqPilfW!c z%>r2O0fzrCjH+4h_@U#@96YLgeC43fO;uBs&OaGC_dTm-og>QWV_fAVZVxnOR?fvu zeS43qrM^lZd-T-$dPJ&ipGTZsv%bo{t=h?Ew$DS2xOnH+Y!~D3@Uau<1HY;O^@vD- zP><$w+3^?DtXs!?OgTSH_2{iN%KY#^!`J(~n)Ma5H;Y>YM_tW>)R;QZ&>6kBPC5ry zK7kD7M>RkX(Qmesr!T3k{>mVro%GWFnlYF>skZvmIRiZXAJ5OIm2*P#x$^aEYu2gj ziDnp>?&_eb`HqUIS?2BM*Q`(X-%5SMXslDU)mQ5?=ZIZzsaYR?Ev*k%;6h`LXx>AU zx7R{fIcXbt#+U+a=)6_q%P~ef>UU=?^kQzN$3Z$dq^b{Bj$$eZ`bMqdYT7t0z2!Fa z`iCCXxbC7xIc~eZW*amQS4Ub^8y@AiS%2O`HR~K^szm*n_lBRJs#zDtNlV|;sDmmT z*Q4ifa!t1{b6#Ekbggw7^J?8JHkwzP^DD0o`YVrd5vOZ02~aUN=R0%jYP0x$q6=1= z`HuMvabF$m@>pH@454jS_Y83Ym9Ox*DpLm=h4UNL22?n!o8YJznsd}_9qhbtBtpZ!{`zVYQ1e;=LD_xs@^b$2hvJx`x5r|Q;RKXd17LZ4o< z98Y(EA)}yF`_#v1hv`F-#IdYueVQ<)sFZYXt1O`M$1LB&ht;TS*x1pDQRTF#%eTr( zb=tT7q_eP(d_Q3m`jlsd+PDfPaur|_)?;t2*K9ALb2g!uR>bJGP+YS;dMdTu_TGnU zS;b40UmZtN=0kMo3ZluV8h>Dwa_=1 znm8SrV(FVY+NEB;kcV;7S>2ya%%Jt3jXtwie%KVXF9T7!vaGQF-?Ew$Rwv({_yLRF z&JR6TOa2J?0fe@-qm_A_-$O^iSI0ys`7g_u(+Kr(jn zD)<@jhZ3#+)`Pz<^p`T*+LioO<%;~B^_&F$iQpe>$WI181^L#{{|xv?8vd71M^XAS zXR`huq5p93W03C+{t)mdf&V@D{~&&K@tg+v^YERU)cZX?@{d72K7su?7W&n%LMT7) zfF7y$9f@C^-HwpI2l9JBPhTJTevp43^4%eSl#l!=kZ-a>R7;jYKH(#O0r6G8D9J3* zlBgEzLFj1@J@-M+7e0Evhx{tY2cc+t3W$o&>K0M0p)vGC!2b~ZUBEwu_|?U21mqjE zWIY|BKMQ{69hv_T^z@^H!Ia&SR?Pnp{0+1?Tb=&9A^$JPhamq7_?g*U?^0iR@PC5* z;gBz*p-0(0xHa274E#O7p8~$D;za#jMfggH^<%NF=bwDK_G5BADA2axuP(xDk34`B~3a}J>gSw zi0H>d&-{E39{51~slVe;(XUnd{n`nSE*E_{@^gXVjhvQFeBykMbOaxrL%$e2t$col zPsfLBpJU9#(ap2gUke^wA@K}BxibuR;|U_30Qjdl^!pz!{t4xCq2aDiMETs6L%#&v z|Dhev@9?QtJ|~(1$E}yv-v}O4K64Fs^Syqy#<}8Sds& z>&JozR@r%Y13sB=ZJ+Hq^c{{C|2TXqQSLx+|HtA_9;aUMb=0r6^{v{&U-65<{h!$S z`>0p^EyLaXY(;)}J?_k*Kj|1L*PpWeZ#3NX>9}#eS5x}T&Y`aZkHd%Ub%42XyY1rp zRQ$=igGa%~AfI=EJ8MKw{tESq?=;+v(~ownfY0g2Nx4y_zZKm1%=Ul5aM!0=`TUwg ze{vE0mCr4PyFL-*jqyB_L;oYVQ)kC>{PE&buY3j>?&eeLp9GJ>XCm^j1>E;Fk zL44wh-vAz1YwPEM7abAwoCi0O0@fJr*4Ov7-B0#2H@HSlGsiz{nkPI%{z7zBvI!HWAlzylHvuZ2FN^xs17k4XGy!vBzy#J}hp zyS|rsyqObL`ianom3|rYap;+!UC_@^`eL)dbn}^3`XL@~>7h<_M*=JN`VoBOHKPlZ0N^lPB6Qu_VP4a=wcmU$$`q7yv+)O{b z57&==#kqbAD$ey|SaGf&ql$C=7zbxOTt6njUqC!uKSmysIL&Rs`*8gj2d7UO`AL9t z-Nf}{O6j?NOoKBITt7OK?EG;3=vSQU$Dra|KZX_O`Y{U5__=G(Q_@}_1hY#1k(Ww&8JaDdm|5g6ynhBU&ufR0XKLh>C;1x#&J;L};JzMl? z=vnSu@Yr$y(!KPK@EK|EY1`Vfz~eRvPuO~{ z6QhcAomhta@OtDrQR}%*bmrOqTqo8dKlI@`QR}%*jKYWQ#dTsvajp}?^QBy_2f0p6 zE6#OdxW?9Voft!Xxh~^6QR}%*Oe-I*6C0Ed*NIxsbz*pd9S_%uY2=OZaGj|2TqmZL z57&t$xK8QAb)wdDofv*n;+cs4$#r5zajp}iPuY5|6MeNdzqqsX+c>y;j_7{&fDb%6 z=>0eE7q4^?eTp3S7p^N~TjaW9zv8+wUOCP4G1CC=!*%5frRTab4ZWFucpt7So$qXa zt}Fewi$B*vTvv8fdaf(OO3!s=MCrM%j6=_L5Z9HpO3!s=TIsp2Oe;OtmHs>I{BT`a z_`O|Ut}DYz&vj);>A9|qL(hD2U0JR4Tvw){XFj>EOe#IsmHrWS{<*GfP8agWC*u z&kYl6YP^1&hyHxPxpEzKJ~8N#eZWr#KOfv|2YH{ipJ(^K5&HOyJ3SrOtxtd_!7qbP z65Kyi^i#lj-joEFX#eNDX$azJ4n5D60<*+tIQVxgHzj;Cc+q)M-zxZ+Z3pi&3_SY6 zUEY6x+FH0TDEefRt{!+zu=Drz+4FF+(YtwezL&_O7?*m12R8{1VtgA29^GQ=$AQPU z3J*K-nF}5TF9d%LJh4&qR?K8KiUy78x>=RU((;3>uXg8NV}mOC6g zqRM>)Jp84U8$r2mfX9^nYw)zv?{mJy8CLNe10GWRLU2EL5z4(0JoyFk&`5qT0o-R(wK;a{zb{dbZa+-~q+w zfJc=78{o;$#XpYtH-V?V63#gH=_c{}mHs5~jM85Uo&;x{!@v`YPX>>Iv%Q`t|E$J~ zForyQ4jxfHJHW$=x4cl|4}$wq-_yYTO5X?Er}(Ylj^fk6Gq}E3-zA2->!4bUKd++P zI_UjBNWEC!Kj;sh4}FX75`T%}J;B4uCu+D`Zn#6xa~K4l>EJ8CFG4;S8=mbx@+S0| zs=Gah68L-%evmr=nvdW6({Wn&kaB|~Mc)iO2p$5z4*W*&QQt6sHbcW{b=wgIIqVK!Q)E*H+Ta4Uih5X)9pX4odAB{NIv*2hP!!4 z#G)SA2RxC3ZwF5*{TaQ)NAnTjDd<0d|4ZNtPYrs6*UOF^`cq29|8?k@{{i5UDN)bo zA@5Jec>&z_i13!+8w_{Pp<;)~br%9}ezEv#{W;(P_;i520z9nzry1`0rdRsrD){+-3@da zKV9_4Lw{yn_I}&;QndT*sHZ#}dOjEQ?rA}f3lk&7tRf?@Vy| z@HwK)yr`$-z9pX{nxlL!N1V|$qTd4lN5L0De+u|F)GxlrBd;T&cbg95=0An}bAC9- z@NC!hv(Sh0$9g^o!GA4yRPjAId=BU>6)Gt}hz(LA!tthWarm6Fx{35p@H6(8 zA1sAFHbV40;lBzzF--V|eMSEj`E|kPHq zW4A-V zd=C8YFx-ptVTsdyKG^+ChCXqF=x+m`2ObzKydFL;fJg2Z{vG&x;OSAqKSG|@fcucQ z@lvewEx0pO^v}WPNBWEu&VIWSJp6$07cUp1eAD6G_VRBK{to;P29Gt^KF5G(8jtgo z)o8B^z@z&L4>l2_{@^J`_+gEO52p{xy&ePlo#5eZC>K7DfQNPpKOOu@>NCPKi04)C z*k8hf$mbV^XB&q%L4U%TK`+3ABur;l4t>7KpPRSN(DQzD33!R(Q^5OzPlNvp;6H+! z+r9Vs#Bg`rUGig%_urh4Z3hp7o9U(ZIrs{Rr{h^c@4pA3KXftN?YGI<^F1E+{&bwH zAISc^!8P!ScMN(;-mmWke+%3PpJ%~WEB)u-+mwDc_%5YCrk})r$k}$e7aN|fz4}4l z5&Cx#&oJ=6!DoVx2Y=)o@!t*p6nLzY@MYke!25OyV+2iS8xZ59s=Se^R9zK^F z?mn*)#_u^Q2CszvXZSOpGjsU!ygSuh{9lF-&u3#jgg+0y2>$=VzYBQ5mFTx!f*$dM z4+1X-r~X6m$H3b{f7Dgk^KiD|ZXOmZpPRscSLMdQTbvv8oLO!XJOs{i8(p2f+ye}E z%e@JD=5s&}{RrqsK|d4q`WU>`c@hu#(dFX*960?i27gQO5#Xy8e**j)#Xkc71^j)) zbL2J1XHeoH9|1n9t8m8i1o(rBe+2%R;yb|?Dt^SZ+4Fp+;clK^ho1Qv58n5DiHCd* z_%Gmvj(m22H@!ggjKB4D;@=va`i|fyEB#gA=YlgowcvT(#Gm{R@Ri{7FAPh$8^IaR zIpDu5eL47k7m7dicNv~-yoy182=u2r@>vIdiSpSEey!sE{u1X<l>f3sN#2*1?{AYp36u$yIp!g{8km7T|{osr<3GP#TBeU^2cHh!SMeXgs}yfONXnh9 zcz^Ju;`f7ZRy+-!-%H|TJdG>Fzk}laz(b0U1g}(lHTVq0e*<5tc#oT;+_d5q;CZEX zoJ+xr6isuP`_UGg!5d%Y65zW5D10=^I8X*~q>RlE~;6uc$$0}OZ91r=x4cq9ZqF^B$T@Hl)r zK>rPR3j9{^gKt6mUJ~>O^U&LHcb_>lNXpHJeiZb+rd>V4>*!HW-_i*oPL6MHd%T$w zd}*4eKL$SE8=kElcfdb`c>K_}8k$|--f*`aeU}D3CFe68!54zhg3s$Y`cDLU=U!lf&gXW!>3$3VZ`aCiOa|5@_f0z7}1)GK(7=%2^9 zdKma3l*@i~7I>zU=$As@6Z{3GzaBi%Mf887fo}tU1^WFE&jZwV7yXTS@`K00lS=;z zxWAX^(=b{KzEZ{W54dxM=$-w=zfDB)@QKoQ1b6z2{^_Qo?*(3`^f!Pf28q5L`MKS2 zH~&85AJua1h5k$BGaKA@llYj|0ld%a;NK|y*Wk&)qF)L9U*MaR{*d8P->u-y#NIgx z{5Qpe;K`xl&;HN{{BPwy6nu~3W5M%!2fY&M^8|P^#g`bKt)G7keQ>12(+=@(0uO_~ z4gNd0f0XE_fEU~E+RR{;EU!@cnwKK$N{5O@LNXFhKQ4~&s=yThj% zJPO{fiTq$Xc>HeBUj+SP@C^9<;4A186}{8_qvOq9eKYv-&EY?F~#>lUjdHlI{Q~jeva%N^qd+08Q>|D zJ0Iot20vEm&G$ih{U`dU#7X@m@Dr8(dGNpt(Ko<vJ}G&slebPk`NP;RhX zdTauD-tGCA_r*?~=0%9xk<;=HX_w5kqVI(c*B*RlpP;8_KRm~9@4d(tGdwOoHQ(t3 z9{yvh$6I@UI!>A4+49UdQ0f9HrZoFmStit~p5h%>fQ%6;$uF`wa& zMZX&j#(eI{5vS8Cdp_fcvkme&EJvK940o@uyvw9TdP6@chkhpXmn;3#IrJ|<|D@8t zn?t_}`ahNas~r08pfBlb$NxtTeUlMV-WP5 z4t*c!Cn^2#9Qtda-=Orj1XE9KLPz3rSFwPzXJJg$MZ)HeUmEbKZBs>_;%OG?EQ!1TN>A6OGiHK z;4=h1eZe~#o~TEB7tv(??JC zl*K6bLva5w!vFM(5$l`!XQ~Gd7VK<+exECY9%0^^=E&Q@hP&fZpj7<7E)XO7XW-u& z{wG4epYrdX!@m#o2P*v#@K)eg!2ix1KGo32he@3OLeDruyCe^-z-K}~82)B^#QVIM z!{7bdA2$!5t2npk(6e0szfvyq^96j?!3Vb^=lB2c3B#ui;%qib;#seJjxju2|2YZz zZ=mlDpN={7yuU~1KkO<0U+{PYdzGfMw4xHHT4 zNrSgjd^>nR@uuDeQGpXwyshExbrHTv;%S0$=|1r2K;c|3{0N^#%4aut@oYOzpUJbE zhi-}=ZMa)*=<1-Cfit~79p}^W+1sU)(YyPW@poh;RR#U6@QJ$*K$=egd?9#>9Q8W= zE>}?CR6B7f<*y43cjIw-iVwQKGY{Mcz8(MS^t(mx>t*Yc;C{t>MnxY0$2Nd789b=? zH{c<~PrXNc!peU*cm%vX;(XI^x4yGgec4Zvil>a;?f-uC^FsJ+htF1}Z#q`|s~W|j zl)u`77dN(f2XOyUHa`!%OmTT!t-$GcqOHG?`-24ns zybbsw#ZLfl*W32#0`6RH^ANbN%;qvF9!F6 zv)tdo1K@|lpX29x6@TXks9-tJPI<8AwE?KnB!h7?}|{~3yN zyj`U@$J++QIo`Iv&MueZXQ|>GCo2@^cvz|U7Q{JTagJ|G73cU?uQl~KwHo8s<^`Dr^091V4HUXUvaa| z<<|-pI5oG}d@%IMp*ELa!&Kmu4zqa-`fkH*J|8@+xcq9E0%wWhA3`6v)%IBrUVfX+ ze+A#6cw;j@yVrH+N?U(0c!lD}gU1x_0zP$w?b92)w94i;f)|dm`AG1*(Kdewync+$ zpD^4V&(l{29rtsA_ow4rH9h-%=N+T>=I6`jd&(;48{m^TuCGUU-w8~FKln=MdEeQl z;&~1FM3MM#+;07l_#_p73OuEF@g$V1_*>u^aNb9nnC%E}U2wdVOWp_Er}zSJKRDyu z0v-TwkNWcd()`Xii2QYGOztm%aoO)L-ISj97w0b9hxZYm;x~EzEuF#@(q4rqo%1xm z(sO)^D$a4N`Q3K8apUjy|60X4UTssH^Qio&?eh|RW-HG5)l$VdJ~SxKaiH5hw*Lq4 zk1EdbVVU9_9}@T4K3~EosrWX--FbC2<_Wcqd^m2@DLu!Hy!+x%%3mBe3Ki%0utaf= z5A}+3e8|7w_UHJ}QE`qBA;pjOwu#IkGxIKi&hiQwH7 zKM%Z2@yoymC_V^$sp6x-(~3_9Z%}+bc-}-i&R4<1ihl&2P<#XZ72ghC_>k?t?^Ma# zHpLGGFP~)VPXV8y_yyp;$+o^9cu?`1!Ivq1H+X5x_IU(+s^U+9*D3x6xc_0>=M(Ts z#W#U(Q~XbG{}kJ2|7ni-6gb6-9|0a#{B-bY#e0A|kJ$cKg9j9suM0N&Z;FqDKB@Sl z;JXxm2HZE*F86KlpyHo_M-=}ae755MfUi*e!0D2=^fbHNqruCk+x#r>h~m8rcjr-o z@}O(zcrx?%%EzjN)8BHh>a-PX`3rL#6ZB!lF9nY&egk-ZjqSsEW;?}4Kp#+?^Tsm8Id7b(_yqVgC_Wdw`2sth zm%xh^Uk)Bt{44M=ivJ3}Lh&ZE9rG!0wkqBRJnzZ4E7@iL$p*zapX~cod~b~I{}}}T8pS!!tW$h6^jm9fpUL2zpSC&YrDGJI4}J56 zw*FQ6DE<-nQpGob7d>P9aDE$6ob%h1;@ja2=SwLyU)nV<`+VtJqj%>^ z;g$0p_fzHlX}))B4(1`luJj1!OQqm(@V?M5~Evf;WM_pbNte*S zSn0W6=QOkZxnI{oaqicZDbD@6TE#gZ^EbEsmm{8H#n*wC9boG@f2&iR^S9}eV_+jDCNnBmA9msZ*1Qdjez-g@wi{+2mY|eA`cGGOmbM}(y zHZNj4kJ_B)3tRF^GM5P+j^d}Pn~0Pp0j73uz4pFzk9tW zG5&OuZtgtya`y4(Dx-JDpZt%#0c7vI=wbRKulF1{{(K0Y0sp&&6wv2sxxRw;nE}Ln z_`L)p4fn>MI`J`ud7pxX;O-Ywm`_Pl?=NRDcyPV&TX4Z&`;6!l?iW^=Pa?W*!k%NedaUqL9tFPxC0;Zv!4}zA2{b}AAkpxKJ=XEgWwzwr-6qQ-wYmB z{H*82C!+jEfJedGqrUGM?v8J1jBm{UoAksen~->B+%NsXk2u-So#$+S_Vd1qv!B;1&gbh&pSOMZd|kQXJh!b#*m|DZ z&Q_fB&$Qy4f3|Ndss{7Gnu?ZbKOQpGus-TIoX=R7v{y3IL{ZTF_l zIgj0}IOnk|lD3}n*vvaN=RCIWdp74hHvfH_b02c+2R7$9b-NF3&UtU=k8I9)Z^u-@H>^hrspVL`u^9K>mDl=lkmw zUk9JyR$I?~+Wa4E&gTIpD$f1e;E%SR=l)9-=l<;~#eYFO)!S?zJ}0p3XPa}sH}ad! z8^0j^+1YM$K37n+!{*!{?y%G5t>IJihs{p_-_>Aq?kC6pwmJ8c6MJlaE_@2}=HbpO zfAscxC= z|9pkgbN_tCB0C=LpEoEz!uY%SDN}KBKfFS5?uS<^J^?;66z6jzNyX=)UcPICZUD}R zCf;Apxvykjzq|u~=L$QYpMme_XLIh8xEXzhtKCHmCqLVN0iT>;8De!nfTp& z)+rypzgDmG?V!&n&V7&0SK9G&-($1#=lnmU^ql`!D9-u+V#T@tutIU}Kh!JE{e-QG zSB;fCG$_vJ*z>Ql>&55T+bPat4UH{y{e(&ROW^T*rm0W!=Pe9M{*$2W(#aTK4PWQuLpRGwpcT|5qs9 zAMvCHNIZu<;DzOkFx*{N`X@-a(UXPGgg*1L=*?px-iPNSTb2I{(8t#e^K{Li|Cv6K zh)3=PzwT8jH~yNG8vq|~xSO~5H{vr1ya7D0LHP8>@`JmUxPP1Z=i_!Bcs=e={9&W_ z?rU4b=K=WeI&DA4_ThC}r8uwCxZ=D{cRXqP@H)+V%I3TtTPfbyw7VOp|5(Y}KF9;t z>AtzP58pGLIM3$Xhg_yO_YWHs=XG7A;^BT^a)Is7{lLzuzTC&FQ9j(St5cl&b$PY6 zKgW%L;v6?ZigR5yKyj|8#wdOa@*Mjm=w_9KZE%7IFrWprN^1z8}>MJ)2G?TnVXEiyMLIepYLU+8u?)! zf}h!WcpUMhI#+tiBO1v+;C-`F>DMs+E~3YFqqFbp(*J$u3g>>^L*RbJ4}C-Q0mT=9 z2NmzIRP-Tm4A0I`@UY^qgGUtK?@jTED*qnfF>s!1#K05a=QNi5GWac?mLxjw)Iz;c--qW@O#ipz|j3A58M|DerM~y{w(|bg7e!9>c#ucDEP;3 zuJVlAG!p-IYoy%JFyRjR&qDCz5aAOWi++Dot{Z1)gz!JXW8h)s{SouK;JhqS2i~c)u z`0p{ik#m4kQt}v_<*ycN#Xr(ieE7pw;Bm!|15Yd7#c=of4dVMEn9qwm-ogn?wA(QP zAOF5~xntlHh7ZSqdp&-TQ$4}A8MfR&B@0`S5zhIUnAkIOoH8*V;auXZjWAIxuaZ%`DaNCh*W>!av6Rmd~qHDj$xMc@NnB zr__so=1uYW5I&>9%MbSdQha;^g%=^te&F%d!vBTOEbz>o z!rwx<-&6mY@PD8`aUJ5kM)(o%9|0c!SUBT+13dJi)ax_&?`t}qo6q>Cwtp}3PlPkh z$>71E!db7cs888GN30kB#J$45YAhAF89Z`_@ZpH(Rq*&4+lTkBh5>ea@wuJ$18x3~ z@$uG`xQ_hDoBwO!zBlChBEJwkp!knt-G5l%j8XoBjo!_hb6z*k`S&K?Uk;z=$sc6L z!{>HpD9(MzR;nNJxrL=lU(a%T*yZwhhVlx#Tt2tZLHYB!g>6dT{TtNlblacLGZfuq z`}4VlC5kVm&m+=~7w1WSF4-Xdp+|+k+(`KM;J%r{OToEcT6l|HF28>xZ>Y_qX~ch) z#J>~m!sjB!L~Q*p)OWJ=d|smYa9dygE&MOA^?d$ew$iVpzL)6tARew0JKSpfciag7 zOGUo}dae^!DLtQC7;>BKvu>W7SM$9eigSImUU5D@P^$XLlZ@vwiDw0_)8l4|{{W@u zI;f=5j)&`=sM2%YG2}s8&vX1*<->FQ8l~qs{!+zxj^F-v+n?w7-4y3Je((-kzY}># zT_t(=0qe4-H%WVCt{46b`t6mQg{KGD`UAG0eQ&Y#ZyN5lSDlKV=hqD?9=_*3zRHf1 z?`4tw!2DpQ65*p;F%^ZZ*y4iti*3iDANz z6YTK3yS?(^`E{w{+u@UHdx7VWK>m5IJwWMsPCaIn9VgFoyN$Lv&u7aO=lN_(ah}6& z9%K8Q^*!cwug#a5B2J#GcGmfS#Fd%vsk_tm;d@3Eiu3*Yt%~z~qFsuQHu1RrOYXA$ zCxfRHpKrK(ze~j=&(|aVHD0}1JK_E{uA$@e{&XC^uhgJ?_&$C~)Gqhnt?oZG`$&rO zJ^gZ(AHK&_sq}o0X^7JEJ*KGQ$D4B9dZp11e?|O5!BY|GpX7Y+X^|@T1?YX-BtP#r z5u-<@O1&EHvFpqC^n+t<&iC{uDt^)r5@+UD@!tUdH^6-#37?C0x#~wLw@&%+eXCuH z4~0Ia^27J*edFvn$3mY_`f<~w+#;o)4t-E@zF%LV_(G$1+a=UW^8Y95d+kr+U#;}F zf{!0>$I18clPb>ppkJo+kAbI@{yFfp;_s4Aw98!!o>BZqaOWXg|1Y>t@fO>pzU>u1 z7CflQmgW^qpk-U}OZ~Ghq9#{Ni@EwYu4_>17Pp$w@sCo?sPbz*FcuMgp z;F}eH61@2oJO0%y_(Je1#oq#-sQ4Pg-ElY>mT~x)#%{lHoCh+(Q-f_D{LTHT zd0s;K^aWp`cm;Sy@iE|eQ|167V64uL6%Mo(8W~d08l@NE0i7aH#N&zP@=Yv>HX{D=F%WvX2616M0P*Z8>mMO(4| zQ{}n+&-;C)kJ|O(zUUCexi30Vaqe?2Qk?sos}$$+GussBxli*Mc0AnA?4UT`k1JKY zYOGtq0%wTge6D7q;(UH)k>dPb*}R!{JlvmYuXr8WE7(HXi{}yh?T~hifd7bbhR?qx zRC_%PefVJU!Ev;+jXvOG^Q0m9KJ|L#GkT|#>l|YHH2p)kPw`3MesD}noln67iXZ-` z_yiRn1|CxW&w_`+4@W=z)9`HlpXVtRD$nfas}yhAAnjhQeh)%h!`&?gq$`~$a$p8f4p@F4g@=x@w_ zRQX)LOMFtpZJ%Gk(~6JWE&2>N``cUK4&o<2z--jJdGIM72KR$A{y2C5ygl;IbES-m zf1A-~YnNSyyW?l*O}kwJdnBIt?RLA|2%ZAJ4|!w$1CQI|$xqOSN7;G1(3I-dHv)dL z%72ye`3(B_UEp%V?L# zz0$syqNDJ=?{-hy@$j4|`i#x_-uJR+ZO-$fzza6#`BBYcoAZ6x;A=MLxl-v;oAbTb z3dMPTRINDAk7^X>^Yas5p*YWp>J{fX(U=cy zf4(jl5G`A^UfP@M03Rx8fu z`sx+m1E0Kgwm;wZ3@gs}J!6WuoFe_IMsc2_`MWK9dY-T4 ze{1uTaJ|$j&U3e=8*M$`Gu^z!<~)x}d}njMXWH$1oAaEme5=hHzaaUEE6($^6^fq# z{d&cD?zZFy+n?`&PW{p5JYOr?X7lC9XT9QlKeYMJww~{G7XE5;p3_a-VRL>zVcBk* z^S#U99-H(0ZinK0U$VIqcN4hx!}lEhiu3ybOBC;F`a`yPa>#IZp1cI#*UI(FIK#d5 zOP79LnOwiT3LXHz1QBtb?7S4;8>9PwI`1PsQRq33odzCL{HUg)kArhQ{0w+f=}+BP z^eJ%8hi?T>EB+>UM)BtPsPDN_U&dJi?gKvzwc~okr|Qe++{zT^b8ZtA=W}i~iu3)x z#ftBpwlNqoKN-dOJsyQ$+3|3mR;D=TX~pYpJ?Cj1 zzP35%X&t|@Ip3$KP@MC(dd2xY9_u&QKAhKO6z9CIbK2H(URU$2%{j00Z?rk*b>)i3 z%y^#dJ~-EK?>_jEyzUnW^%s>f?o&D`{01no&b@*CO{vDp7)o{ z;0f@baRcLiU8V9Fz8~(7A&I9oO8FZ+2~Pj${0Q6@-&->$2rJsL*#1n!34(PcLP^a=UqyX_l-y3@F4{TQY z$DvQGlX@|p8xItpP#@t(9VbRd`GiMD3Lls+ocHThD*o@G&wL>I^RXZ3KS+Fn9|`C4 z;YYSW{D|kS9&o_L+nnD&R-^p+{bR9nY(2jxA*u8WT1y@hXfGL69EbZtWw+Tr zoNrVr&Ur@2*WITCR{tHJ%#DM^NksbbH3ppW&3cxQLOl!LnP0^;;@&< z0T^fQKU8?4qwu9iOP)DDS*7CSykdp&=X;k^N89mmUJ<|9=A2h-Rs70!+3&x%81CMG zSE%ppTwu7n4h_v5FF4@QbBd4)4Ep>U(%94ildg^t^w40G?L7>~PU%6#ov~ zc}(J=&+sEe?*r$3_Em7d;`{nVA5i>i@SyUa4ITnN2KD8AcC)H4*P*)<=W_y~eZ7rn zxHt~aUj``7bCznwx8LLbQ}aAYN zAHY*1ML)wQfgaIb^y!Jh&&?P94!D1s@Leb%e2nO$vxUEk`UZ~`?gy9M7{}rJk1-X0 z68Z?@;dR&KIQT0b0*@*F1b7^rdDsA+06!dY^15>h?f$@dY*2BYd-~egdd`2!l%DgS zTE)2!lUAJjFwP;i|M5kVhscAH=hGTV1-L&`uJoKo)%tCpLGVdT5FgWg-iP}(i`v_I z&bv~_+nn>RZ70~A?<;LP+2(uqc}}r8_j5`V=YCG5;+*Fs1GW$MPwEusyrMyI&J&uS zYWr}W;8&dc62*#ho)A@>^MttKJjYqDIL~V`igO9!Bo z_0@`VUEiQM*YCT|uzk2r_nm2Tp0l)9oaZSW73aB0sp35E2rJI>j=Zz&a(UiSr8v(! zT6MPde9x$};yl-ws5svPiYtCD&O7QA=efo%#d)p~>|)2mbB!{^d9JZSaehDKX2p3P z(V#frCn`MGE|>2ObvV!FJg2Boe8kJ{@KNAYD$eg?Oa^Tq{vOY0SDW*D8h4y;bAC@_ zy9;d2_mT!E&hKwruQ=aJ+NC((C+gPC_UC&;c^BHe-{Vr>gyMXkXuaZmZz!WUe_yAs zyX`;MjL&X9SM{(t-!p1ZobL^ll-PQ{?^CHbf6r!2alY5n_afWpCB!pZ@#WzDp0=L9 zUnzC5&H4M4!k5^bzelN3alQwXQT!{E+xb%4=U4EM;{5%aQN{UwP=}E1)8u%`f3@QL zy_{1OzZUP;_6u!Z|Npq~gCH`shs2d#}luf70qi%tIa%&iU0)@TlUu zz+;Nv*Fk*ZiXU*2@B}#LftP|O6`uv3Qv4_IwDK=HS^P8Leo2Ef96VMp^=bhBf&5G1 zUm&0DPjTC&jZ=@`BajdMcMsf)p7r9t3>BVhxa*%*K6$4K4=JB9 z-~n)!`@6@RIf+B3dF5gm;S4epNU#5-rQDhL!Q|7ye-z#X@w`+lJoU5iE0BlvX9$lV z{=2;P-?Cluz5SZomaj zRB=8hKSS{^jlY|>@D|BKcps_o`lrMvq4Zqm)+wIXG5hu2&T#j757yb&dq2b7a^u$w z@e1U6^AYeAcnRk7ysoR%_q+Pf79an0;=}9r9`JzTtRgA^iGBFt+?R1-Yi#f^7l8zRC{rsC#g8Ei>-?L?v#EQ9c1T$ z{kgE*=G?dGtau+>7h%P@KeI^rmzeryyMJ9}xZ9t%s{R~9euBFsKkU!T!6V>3(7x=? zb*kJ;gOcYY^z6^ifTtAi)K&CpaGtv@2X}T$JoE{jFM1z1`}0(Azv3Ig1Bw@4AU;9m ze;arR+>iRQpKMn3<+xf@VYeg4)y;}?{qEdk>$!gKJJ{w!z5gt5{PKSgjpOj#q$*^9#kbn!@_E{N#h0VL&TY1y&u{n@ z=Xpv%ah`XC74I^^O<{pktvJswY8B_cL|&yG&v7{C3MkI~iWQ3UTqC16_a!>tZu|56 zqEd05UliS8>v?`rrZ~?dibvRb?tA1{*__Wy^i`buAyLKo97V0-JntwRY5ViMBds|1 zRXUHd^*jezJlf_w2bp-c&AAVg7qvO}VJh#nIrm}m?z1`fVLB+zeVD$Aa~~$AIG>}K z`k?L4{h7oBoAdeDR+DYceVahc=6pVOo8sKhDSg=1^ZD4kDK_UmPnqI;KDKVEt>^Qx zh0|^RmKi^@-FH4V+?_wC@IBI;Z-0yNHu-qO8{5vt2p8;z@p+E$0csvqTWgog@6Svs z&i(DcGq#@Zy9E`0!jzjWets|FQl)MUiu1YCsNx5gN<4va5+~<5 zmw-nOlJ@0w(dlB*N5O|8&-~uS<}cWBay?b7IL{fEDb907XR+c=O z{ffkS3f8{^!F@}GZ*3zTXa)6KgdcT~aE@L2&@D1SoE<^llg*%wg*O7lI{59x%_Z7W=gYdt>SCelPzEO>D%T)Xve~OpR zlK}B2&vT=S^ZR30DbD*#;hVM(zdv?>;{5*DTE#i;tx){P%aP|lrCzrkCxLQ2+^Y2a z9@=eh+3`GJe6sbQ#|(GZgVkTi{zf(O!2S?=$M#`=s9a<7)rd23%59#*5y(IDS*?7U zTp{&J1w`Kh<#q(mfOFmV7Pxb&=*dg_AwP<*1@|j{O_}He;9Nh>1rI9z6L?7RPFIRg zSov3hN5Bt3z1{(jf#2C!eo%as`1p&ZUe}>wKZ8fl5sqee-nv@!sT+jja(C`37oG;E zp6?gesQh1Xjp%(Sm-%cv){U#cnW5U3@1@o%&i7K6D!u^z3B>;`@^I<3Qf{(b;$Me? zkGW2GT*coq4BkofS05%ue1316su$OlDHYFD_&8UJ4}ZVI{r$y1hIp7a-Y+WOwfi~O zr?VAb=gA73$TC~cb!$@bDc4K6z5xP5eK79uXPsfDw_df9c)!}`+Uc7&8R(a++xuBni61KWi&POiHruCUAf^d`~Ap)bZf`IW(l|6kjO>-5FS=cSvWM?Ob)l|)=Q zM0og1@mYxZz-!>XZ-kG;_}1nY(Z@Cj{|oW(eT3o$$$( zra0Hjg`e4au8TV;&UJC|C$_#G@r3qBJZ4$peYh^JQF^X_t5UWP-!F(M-f?L5`ws6f zeZRAPcz8m*J%TpES{kK+e-hbCC&iikJ;=Iqc+G@wc`)pWot}n`du=VND zZdwbRMT)<9kMO06^Lrk4Db9WA=0Dp0r8)9^jp6S2;7q^WYu6oUU*^BF@>y;4jhtpq zXvb7fkLjVqb>b?ezi^nVH{T0-V~wXT@&0t27Y%pI&CHT=AHa3Qb>e#E!}(azPjSe9sq({txiTv%=rT182!wMITrt{7~eF^SV~s z?0DF(#{X(__A4i2^Am29{3MW{Ao9ch7FPO4joytv@t4$hpY!A&upcf`diKMT-|TX^ zzmeQwbN0_|ikDYPoEgN4v^ngzqr-mQ{x4hq zB zyJCdbQ2XF}kP54WCk6}uNt)4F0q!3ld@|-g9N+x^+VS(c7}Hed=df|u|I>=I-&XEp z>)CI2C_Vdad&Sv5D-@q*ZhYC+5lU9Mgn0afyuN_atDAA|h7X9m}*qNh+ zhkg@ojy1i{r{K{Y@CQF{jOb&(3;z{-0eMpRP|P>_-zj?M1L50`7ylFQ5*}y}elp^D z72Nq#_|fohb+_o#JB1$(&hagjZ`b!O=$(w{&32skVf!|3ZtJ;j@+;1EFISxHo-VL` z*p3Z~b3AFTexDJ?jn0a5+$dF?*KeibyiUs%=Q-(k#d)2^74H+x-rsIC-0g4vcjO6h ze`Cq#HgMl^;q#E^+wKv4a)ofS?d*NnKgYDR^TzvKxX|WoubAR&m$>3=mt~4~F&n?x zuA_?$_pYOD66c*QCC&rKp}(Cv(gO>c2%iETJ43ixMtPso@uJV1DZGuU?^YEL>sxn- zUElnB#mCoCe2&3}?{e_q`NDs}LgoJZL?7rSd@Sa}rS}U@ULm}<8DiZJub28m?Q)sV zj0@(>x_^Q_cYoWRJg{ z;qE*zIYIR8;eT8Xep(KnuF%J)*gmB>c)uJzHyZBNH??$}7s)?}XCe8U!hc3T{}nv> zw(yqVXFMoA>7=b64IW!5yaE2Z!2KT!KLkEQCWud9jqop^{}Md&neZpT3n!wzJ{QjS zs%`@Jtrc#j6W-@F@L0WY(-_|8Z~CkgzErR?@FCP|qwr$rUp3rq$8VpN{5OGqt>M|m zpAFE*UlRS2V)+M~;P0DsuLsKDlgZ)J0DUBG>+>c_oGHb9hG&bX&~P{Y@K%W@Xf6@= zb2xmW&)EJamRfI@5rIw>;IJPKQ4!Uum5`6e{v4}48z@ai8nwW@~Z93A>Sd~G^+Pm0G`|~ zJT2H+WVm--A9|lhO2FR%_qVh8TEnyT6ULLg_)*UxsNzXpBwWXnE)kwaxtspOKRqwI ze|k=Ke+QiYzvb}n)hN%)L+m-J?*)kGU*sVTZlfUiK2hV_;|MWhU;L(@G=Nh!*bnx_R!dIf)mkf9Nga0qdgCG3-JKXOJZRSMO ze!{!(Nh}qg&k^TW;ITJ_zmIwQPVn%1!k;-%{z1!_lpAc2a^Hc^VTNbxCq5Vj9xU{orkRWL-ND;ml>WdpP$0Vzgv9X zfd59%rkH5JbD$6Gv~HqKV$fj*J@h z50ZSwaa|;!kNzY1`5rzq%A0!m-=@k<8hy6>v)xn3C(oPOU9qq6F^h+Dq}(X-mdfF? z0r3PI&+sziM}GbQ_bYzD6lt$?BheoPeS7e@;+@EMO1rRs_5lw=e{O&j@!{Q;jlF)`pvH|y;1irIJ|*af&%h_6`uXdIXN%{3_{3+34~Bo|Gw=lXiHLI} zcp6;(mE$lENwf?1x2HcT<6ge1*WP?WkL9?tJx82Prb^xtv!q0GeC&N%8J?|Pe(2+i zMZXE-!|C9$SB1ZWdUZA2yRJJ+{wu)yfJZyoyu$Eo<=z4R)C%#xIZupYIrNW1pZQqy zO%dnQ;7&@ox!rr87Y%psBelpU?46b1ah2z9!IMhA6?}=({|=r|ywNl%cZK2yf~Ubd zBF?y(UwO|ZDt%j{&z84Wyz8!w<8P2W)8|SKc>o+@xP5TL-89BXSL#k!D|&C4W3ZE8a%G} zGczQgOTgLgGogwZ>}pC}yLx6U`<0q|$g0N)wz%}f7~ z`ws6HKa=}poIhLaot@xe#dm|p!Rgajb^iLgMkGUR}Y{2id$w4xcMLy_x^0_8J18mnTZSFbp^&a`K^W7Z&Yw3UF170Toh0h=4?S*^4_Rc7pJSy>Iz?${T2ZGI{FJeyxbKHugylh3vJDDo$4{(#}x z`sX8_zL}FoeVe0R^TC} z=kO0~7XOxrbCcn2{|xPx{)u76`4Kz}&h<+Jd_wX?dCq=_GvADpZv5fz#eZNEY34&Q zewMhK~-*N@Dgx@>699tE&u(XkEl2Yd%U$193u7Fihei>`l!-B1igQ#t$!T) zn9?VpcOtevX?V6cKQ!FUPq4*rKu#8JK;M^A(M!8w0k2_8`TtvUR6L!X3xgQ{03NBj|R&U4y4mOalW8}7Dy zyr;x}B`yHwA*S-yGlx&uaJRjdsP?)oho1fk`1AXSM&{6uHQb9cEOGLBpY4@vuA|}7 z&*d)TIC1C`O8*9U5*&|vIBUV3{^H*j?YfA1?MfNK%arW9Es>+ zxO?7Li+|7Y;relTUYr@kN#4`w-S`_+{9Nysp{q4DMH>@?sDi?C_VS1GHM*Y$!yrV{@b8u{y#@N(eV<`V~BGLxc^?^Hy}U%c;z;8 z3ejG?P7j(R?Gn3B^n4zV`(_=X$M&yh-YOE z|Igqb{6zGu@5UVZ-=I%GABBI@x!Ln`py6&l11a0TT@HN_^l_y>Cx`w5=zX7xe>LI> z<L(lpikmGu6jq5Q9eFFyQ6Tm}1OS$Kx9na0-!*+~z zmw5um+nzb}=XH?#LO$jLyuZ*V&_jIoL%Dtb!^fAyCkP+TuloOoPhk$90LD-5&)=NG zr_yk5d^_kNFLL&uaXIv?ZxV4bZIBeQcWe|8$)EgTDWvPrWJnV3Fwi=g<#=f9gBYugAn< zTn_zY=p#RhehT8BmqWh@`rvlN1An$l^+nPjIB((pLkQPVA^bVdiGcIG?42Ct(mw zj)LB4D?W4Jb0T;g{BiIz!Gnj0elB<~@HF_xh`-$MY~|i$xVugtGfKt*4FAsP9QsL~ zzL}F!?Km4eq4+c4F~yhU@c+3FiHiA1r;e0Nl!Siq9L@}QDpf8v&<6aWu z9`7&5g0E2g0`N4rA3m3Oyp0o47Hv%iU~@K|oO z@z2&?Qw;a=6OueEhyP6QaBtzaqQAWap1w@@WmqqK1Rm@sydHcLxc_S52ciG$p}t%= z->>x5$oes+@^ggYZk(z9qE91EKA#Xlet17U8~V%u(cg)3xn7Gw&-M7_&_@P}{zlaI zCh&BH@YV1cX}G&z=iDfH=6r_h%4lyHAGi*>7e3*L_^iUlBHJ;9c+8HK_hCB*RJ+%r z+#;WhsJyhyUxhwBK;mS7e%J79{b3dKVbrS%@qC^`&p4N;a=*=?|JiW29fNZv z4_{${N1udhM`uCyIH@n}W9QkIL*LeLx7_4HDR&;~wfFk^JID2fc(@PDa#P@~;8T>N z+%r*b>@_L38TwBtc>HzY52C+aZMZkTDv|MX1upoC9R7EO@{PWYlTg>oZJv*LZcy<% z!D|&~y#mMs>wABWavwI_8#h)<{N0gS2#YVbwikxxW_A^6MSNpSkS4em=JZ_uv< z_k%x;yww|?tv~PG7rk8i$pP?bV}1dRd!O=;kvuQKg|x-^xcQGSnC~eIq5sL_<{S{$ z#an1c_MeXM$Lk||&x`f-`>*HI+KG&oa(N$V={?V5_P3+LS#A+{JvjAU@cd7vtL!I} z_c1(M9@xGiv@ge*Yjfyt_WYYUcdnA_0_kz?08duPcv6h~a2$)kpX1E<9R5>0AJae2 zx8r{tyy60z*Mf(@nV$rB56-`H89gEH^&c@>vIe|1ilz z1^Wqj@Fw9w@a9j+{USM3cq#a?;PD~Cmwbs zj(BnopN^isr4v|aU%%bq6YeoYn6V=f9RJe{o`Idt({%CkFY;1%;CfK^6irL;ho1Xah28A?)Y&=o%xB_inTHf0o*p^$y%A4%t;ACXeg7Q#!O$n6XMIQJ z(2s*Y@P(b9M{?+AL+|@j^yXOK`#fW~+t2+f4{zo0`2arYCUU24hj#xQ+}T(7G4S6E z|1#zOJM@8k(QiY3_COzoJ`A4!jPwV8GtuvZf%stX!2WhTe#6~*g;cr6(Z?tHw-M)= z(3e8b>#GNNQt>{9XX}Skpf9}8?pIfPyqOcj^~L-9&CqvL`a8e_ir)iXr1&Iozv6Si z^A)cJPpkYa0xqY2- zo*zN}xv#j>_+)EGXOZ-`Oh@S_arDFHhG)~afj-_z^abcwd&dow>x0j6&?h>Jz7PY- zd4{|FHi&#O53E;G#UIKM&vo$km5P50lsnAxH|OTp+WEOBhtEUs30x*V=J5&d!+3)I z#fS6Qnb4>DLXQO%^Pg7ze?g9NpNEfsi1^&B^6BiB``W>%*D~m1w}_tejZeW7;Jcwu zgZnB){~R`OcTzu8IPaTn&4at{{VN4tfq1xo6-GR~Z*tx0yFv29eQ7>#6IAgtKMwS~ zzc9~!=s9kjY~sn*56?E-oredpf7l82y^y@0%#*o(VYyNGv%bA@_+MqXn}_(blAmwj z&wd_<&))u)!-w@sLeKW1Pst$38`t||a`;R(++FXdudVSS;W~~!Y4~$raaIl=>Yab3 zUva(pQV#tGhP!$2*GV3@FHN5yd|2*RIea$5Cp!3HFaG1uuQECGe?#vZBKq5r|9zj! z-XDC1yK#nY5&iwpx67e#4}E;7=ud$DlpOkw(5Hrp{$%L8<n0%pIRQS+DokjJ}a`fKz%6Pkc~e^H;X&hd|I%LweX6Ogza0KL&I*q=chcoD zzWpDz-aLNh>iz#e_BF;%wy~3?vF{nX2xAK+#xCoqY%M(PWNBKgNh5?dlQyL?MN+-1 zK_P7ug%*rL+P~Mi9*^_+-8^r<*B>u8_qkq=bDis4=Q`)P%=77-x=(lxQ_7qjhWg<6 z!@{e|ya@c(O%b=T<^XwQ7AmAWzkNdz_UX^=ReM*j?jcXy;VCaRe$&(BA8 zvA^d%SWDCCBJY#-$!n|x8suD?k)ZY2o@HO-+-glYu!us2ozQV1aiQ~|DpY67g8&fTh zKh#Mr^ON689`cY^lerdGHb3`QY;TG<7oDkZ&%YE#81mwi zZ<2lN)gQO0rHg;FJ=Cd(d4a4mW+Hj?0rcw%^=AsVd6j91`0r-F9;AJ!6Y`-x?OzsN zMfL+T8>3y<-{Z6oJ~K`&3vhy!d=vfzzlKgv>a-(I=L2`w1tP-jcqOmHc)9zc6HaG1 z;yIOm9w85ZJXe)}V?K0!3+-k;nFD{=?h5kA=cAN#r+rSjU}48GJjhe-&Tn)TZvF8( zB9e7kPX^N7+<|#^=O*iS!S?XUW4=}-Ch&@b;R%*Tez=eojeyMZf+ ze^Kh(Mjp9{p0=XS65+)p-wuWmx9#L>X&()HO58r`Q{gtB0|nbF$Le6rRoW;1Lc1>9nTP&frhaSk%vXrBi^CwxWxPT&7pbMIGvkHZeno@V>MtRW-3|RYjKgcxiCji} z+&F$f`{dW2>bvnOBnyPj(|O3lGxT$;aE<3##0{&1tas#@cZaB@bYFk+AB6wWAF$50 zp+DCPw>sID@Uu4c8;~b%fc`x45!CTsi7SCu#ylY0)`vm$FkWt+K0%#8apcHvh4U}@+F$CDNj|JeUX4$D3+DS{MexB#Vz1-=0OI57Oo@-c19uKkLs!Rs zB~M2^<&-fE{|EcvGvJf;Q)7k+xA_)mhxv=FmfKEfAG#g=LhHtydMUs96WfhCa0hkL zw2yp(d0LBn#m8tj)d3?|fP9T`+iviA97jA<4<97Sqs5RvF5ljFIDCJ8T(Ee#~ugnzXSLo+1^4Pb1 zmAmVe%?`mn@+b7UEi&iH)9a9L_|%xHhhd*?uuyfv`rDYEj`y9bWE}_cpztbk{v`M) z^3c`!+(!_Ha7Dz;?YGMbw{b|EMxD7#{fM;}p7AhWs*=aZBgauUnvyS|PIfUof0*&S zO72CVd{IdCD`5U2D~#zV-1=jFL`EH={YY|e*tPTbA>nquTs?>R;`)1>_L*PM zVk_$8{T%wSQ|NDD@+QJ03_655kefQs(B8|BeM?F5 z(^lWcvwue=&yg2B%J}c~l(;z56K?H;voODMFj1z_KKXWcwco^nd7Jj89pc07p~(oh z` zcrkl_TF%vKnPNeFPq^(@U@mlAJv>kS(1)JdyLGwLao9(u;kckE+pR0y=1K4`@O8|$ zV~#&HRxNXp=lufq(OVJE#?+Z0T*u`g_%8A-v=7Yll(=|aCXfGu{Bd=%`U#F#1o14w zcH0QIeuk$GP@Tc#i-g;_Map7a+`97~?GrzsU026WQ$Mp6e%4VnIfL;f^u5Ysl$?@~ z+n-J3(f@h+|Ka-EnDP5jpHqA;4aCf@IN!Di*k2=*CXFzytey}%U)A1_l?Y1 zrS@*UI4RtYdoqG`ZK{51OqmRL_U{==ny_&ENS-Q)dEv(8cj2XT7B$`Y_ip|c{tj^q z{e*mYLQ1CnX)WBg8=d0m|4}83*-oBj{cNY78gqm?rag2JCE2f%M+Q$*%cj&HeUkCX zwNUvl%(w5z6W86W{4e&a+9}vaUhtH+(%;6+CihOD&QxYT>?4nD!~8v15P#6>dmDeb zpJ6WMiyQY9!tMB)@ypcE)$ON++q$>bcl`d7aE*_zK9BnWI`N5%RHqI7oG#qjXOCh% z8cH6w_QJ!3Rw{9MyGFR3*SmAVPgf6jQ73)6liJJUEA?mJY3PTBd;0$!z$Vuj`uPCr zMlJF}XQ5yA!e%8dFG9ktpK%ZR`52&ecPG(+xbPf zoxkzNk#G1bIrpDMeA2%m(>iio8VI-Jm3jyH@C5l3+J|`D(VY7Is^v4+i+;rSeb@)6 z6B&g_ZlwK}rLaDlvY6L3$X}&?cmeElvE5d^@~J<;74W|o`7!FJKgYP2BLBnjg6&oL zHtH|Bh<-(1guOfN{y?~mPo^RKL9dNDO8a;n_*2X2JDn5A=P>oV|B85;M?EEZ$j6a; zcVM2nedg=JwVu2@RxRg9Nw7atqv)?G1%F&UZ}J=T6R%#oPwOq*>cj?Py)F(JGn4k| z9LUc)HF_hg?Dm7sH$)qhfF2#X4G#WyjafC zCb#c-4sB?kco_b;I6Oce>j9l%)On6P{2cOd5%XaedHlXx)v`BvjVm1AuP|P&{;wpD zmd8viMg336&CQ;YM&vnvhfbj7cqKc?A0vrt5Bg9y?8 zNy6=XPhWxm&B^Bow{<)9%Vs66-3`{>>VF(lUXl8jt-kmf@U064{zAVp_ah%%oqt}q zZ8tb;h3dS)IJ`;wsSa8(=1FqH{s!1?)qlCJHNd(yh`gh4tCPG0&t2X7LAZ@uVjYyn zGj4yV#jPq+lB3d4W9E5$%SlQ!gj|+>G_*ck&&% za_YFGj(1eD(CG-baZB;KKw;Wf%}sv7Q{v`Df8lm~gHN?rK8A5yMEl^!=t_ zeZJEe^cSJPMB=8-9dI$VMNkEDIJHS9a)g3ub_ zwqN0%$cGu!-!I(8zeRKSGmiX%aJ!EUw%e-2<^R8yi~lX?znj<9<-xOBPkw?wuAYa; zqwnCj>1ahX&`G$?msAIC&rP%x||S`Ge!Kl{~!9Q(l$! z8|B2T`q>rr{}Sy#p}lt&dF#ggAM(Hg)X&!JSF8a1%<%mh?)=gW;dZ@(FlC zS?rU`(4X<-iE7Yy`;Eti+j$f&j&&JT%b0DnPkw~;@g4fVxCr!BjT9%;wtHN!3#5=b3e=w?+~$As z)s;#*Q0GzMHV&z|sJCNi->myITXS?^2$G*RIKiQ@ojw7N?FfvVOU#Bee(~}n|*_sOiI))vWS22xglj$|;bAGp=MD1oH|THvJP;~S4)%!!o`R2oO<&OHwN?Fo!@A2 zJ>nCti~eF1jA?JV#38sD^TLhqVBt0nnV+EiA>&!4Ja{nwwR!Rtd8)@m^~BAKKn3(S z^CkN0){ExCZM*U4G_`m4BfTNqwwqXn6{>YkbZl5f_#emv&zsPndxcy3SRK@jBW}Ee z>pHa`?IKFXl&b{$Pzw9!nbaR6+~#Mz`L%g9i}u;yaQsq`asJ%eOS>VSCuu`|#_{s- zvmN;r;nttbrEB9*r8505gZy{vep_-cjB$7883qft?FMe1ugcY^KS#LLPxE|lH}VbC z$?!bY1@iaElRrh3>>)26L>#hQf8G45B;3Y1yndis<_h2s)(N-g{rt~K+eCXWi+sLJ z{o~|89>3o}ZmK{((GcTEc@q(C$0fREsaj5<{SexxzCeC%<+#r#H+>M#8nl0!JTwsg zmn6?omE-sf;_3F2b;%=q4@D{3x3gUQNj~ivFCTeQFgHTs^5>191y3!@jO2 z{b_5t^f&3-KMxdc;})2Oou{j-v&f_MI%|u!vE2qWVIO_7zml#jK+g!b*Qb)c>+*+$ zYrFsJsPPL%Wy>R*epYURGAD7n#`e&(A_y+VhSP%24E_p-p)H2N9{&c8~ za2tno9mJ;&`D=L#;5vfu`GM=j-sW4F?+L9<{R38C;t<~sKOZMQM*UzZ=)3a+4eD}S z3L>7)ex7jakJn_LD(s?8-!JnhkMenFuKv7F`@}iq$#t~9ME&?$#9=ad@p{ltl!tyZ z@_xc?9{TS$m@M4(H^P0FTgT7H4fEE|Sic8VK`xW&Pu%KA96~z~ht1UA^Dwi? zpC?c8yn0je1Judx!#rJ`6CZp|dyo5Y*WcXr(J%8a^x>84E65YSBL4ZQKTEjnuUR`y z$q%{k!BKK=4DM&BMf(hOf+Y~QBIFetpxtDB>>G6!YEPFMWbMwFP-4r;hYzRtP%TKA!&n7GSeO zxILa4bV@ z^VjVM_B$TMzPbSIKO#@@zKCXw!%^YZpI}F18q|!*+Z^263qRfX=0Aq(r-4$aV|A#1 zKkfbJ6SfQ2<6IsuSET(1w9oK5T2=D=EfD9-?a;qOUPZX|GrFm(lID!hD)MA^>>qCA z2C;Zc+Rs5f*~|WRArJe`Yu!&C{{cG(w@s+qO8l4n-(CWF8=*gwgRe7 zzuc+F#chpn+itor)=iIp@DlBlQIO)~m#n=V-@g$DS0D1<1pV|8@SPv=0T4;pN%xug!4YBhw6i4j|u0`$#qHLynM_YzKdm4JRmZwmZv z>O+3!+hNNk4zW1$`DN<-K%Go8__LS1Q5gE+v!0SL`C#GpymX4+D|h1zR` zraxQAy`7%^-|eru@;)p7eOYH{pJ|Ugyo&{KL-&%c?<2&3)lEm!nj1q^K@kV8)4qLeCr|H#vxRAfm*u#?Zpi0Vf-Jg zvuCOEICWypkWroT*=|?z)N$Ce z+?soYTmOR(VBK;1#;<4}DvUgDNS$6?&~CIKbY3AJ-Vxsu3Glf_-;%GUeVFU!4dgEi zx8oi@fVz|=KP=q#*K3OTh_hDJAEsh=K&dcK44Inot=2D;p#_HT23 z4eJJ;ErouSX1h-axBB4#;)d4cascf^{2qkM!=tp1+>5xmy7ZIq(m4ZWCUtZ3-`}Z| z?%^rnu$#s=)1R`K7d2?#QMipm%(ovKNgl6){9na!_ox%8hH+UZzX>Zd5w zPq>{g-fGyp@m*!@g~xsS)q}$A@xnOYeF)!BCv_9%?}HqGzPI4K$64MN!D(%#3b*^T zP!;51P`xr{rEuLRY?-2DA16SAp5$Ml4uolc2f6v9vy!LDYga{`@p#_A&Bs75^eeLi z`4gpmSh#IB8$~``Bp**6tq$Iae711wzxT&xB_8<>t1tNzx&L7$CCOi-PWU?HNr2;W zn%s1RKFhfY^oF0&A3CZ+dB$^)aNBOIAmZlg?ONg1e=`X2hgZgQkH9|h4~VNjG2zxe z9>l(VD*c>G9_fSqSP^bGE|8~r9oDTcHTpm&_}2_oxQ9CD$pep$RPql8enMZ^N7v0& z?)G&@gxk2qf5pDyX6pPv`_Ph@k~QSx`%!0(r(_iQGvuZrX4V+;IsMt+1lHdUbJC{7%2;&$h&p8Njjzv*vw-kayrG?vk zNb&m4CHmQ!JY0Xi5~hQhDqQ{aozHyR>Wfb3PxKd2GUgCR|_9o{7<#lLZQ@EbTORiE< zj=ZCAtpl6kPgU~i0^33-fp7umK^wLv#(OxPA>j4ExAmOSDB7 zhk`@F&6C&(xOwymdHNi5n$S-(4EBjhU6mYSzv>FN^V+}ebhljmOyn^m7||=KQt& zoj#oX`WW+i2X)Gf01wrftE2$=WZ|}7fohm9b;%zlk5>S9>rwBU3rK&Z4)~sr9ovKZ z5B<-VNVDB+d&Hpx^)Hd9r=m`lByTqod2W^?&s|=P7jFHGaUbRUk6A9`mErSM8c}Dq za2wA+Z;bEI-1y*4@?_Xk!1Od1$kU}G%Ih)C!$xu3x$kxU+$~)7Z^gX34)W%(aGj^T zzEhO^2ihCnXYS@#(b3S!EcMj#71~c1ZjT3}d{1a~@};y-zB@_DV)B#ZUKz}5tZv3s z9|L`FvZt2AX+MTM{Rrlrd|gF<%8sQ!{JyrU8v`H4zCHEl3bjL47&Dyq(e|hhZK%IQ zxQ>hO`r#p87lH;x^ITYs|LHI4QY4-`Y;~v|Eap$sNek0G88Knvz z^T2rbc*McXT(0~I3)#oQHGjIG4qRosk4~`TUfOuP{~R%GB`{55!_guSW zCt;tE;Bk6>j!S*v*3a;uYwOA5!mUoC#uil$QvWUCcD>H}*6WkP?e`5`-ONw>KZRRA z%`Y95$aZ0{ctvr% zwwv>})GV|cDLg{`Z_2{@IC)~er`#P+WyoVk<|^-}zhynW7dp{gT)CRygO`NcdKmTP z`4!p+sz8Tj!1TNib#-?m%!}I8pDf(QIk5|INN^*vMY!#+e;@S{d1^7@2{rkCz2y?O z@FUAqIY|AVsh?>B`*!62k(&;qlzhXD(SzMEkFu*CQeKg9e*Av;lkna5{-SW}ztWA7unWJD13b*T2i|Y{qmp?yH zKeS-J`tSD7IcHOc*EQTesW8M+)k>1YHv&v;dZEHtE9}9a48I@k;@O=%@Cf#As9MG>BM&e3RL8aZh11!NI^gbyZ#)U2J~l?aIGi4>v5CFy`#{-j&*M(d9)Yu=LXJ;Kgh$=5Kni1X`gw}H#1SUhf-%g zd1B*u^<*=7hCJF9_U^uj((|F?_oq3z$=_ae=#IIaJW%Bxv_umq0a5(nI!V$D0z}RI(vkYe#P)Xy~T)w;c;s{+K>H< z-wWgSC?}Io5__8`@m`)1m(K^uy|&1QI-D@QXmJ| z?hQ*BH`c4hb;q0!VglTlA*(teHA zmwFhTfPG+fw!4@1=^?$8oRY5CpWe$E|Nfr-|8xBG<9aITp62fhNkNeh_*Jz&{3H=gm_cD2;@hlkFIVMdj$CqdLQlnSrC8FM!5Q4AN95{b>ifqH;@nSa2$7$C#!pE ziBF9w_9%2rlZnb_(SD9_oxlCtE1z0f|1mGoK6@YP(o?{u@?*6B7wg~}^46ByeVXt2 zx&vvSExtf4T^+kexb0VJA}YzAA`m)69u8uBUA~oC1^d9yo*HtyYT7!!ZLso-RiLw! z`)B{Y`gPiy5aM|V=BDs!=trA(SMneEz2u47s8>8KWL|Q7KJp<)PW(ZIHLNo$QD>b0 zw+XlX4Se9Kq1#u?BM<)GU-=lwnDAP}Gt&g~7p=?l?u1(%vlBW_e>-_5hWzP3og?JQ z5m0EvanG?1`l-2bwJgpJWhvoSKYbSZOheO{Jh~LetqJNZC-;2MXZV;rSry}mS#M0s z^^C&>WM-J_&SLTip9>wJ|C`CZ_VC9YUmqclmjfS0e@Z?M{kZQuRSV&|FMVo}Dp#d` z58-iI{Ss>ff9&wTiS0XHy=kq=udb9$7{8x-0iF93)lV9WmH19 zkJ?H5(0R-k*X~K-cAf?v$9ho(t(g2zKtE9z`RvAP1bKkpE9pS{y~3@IR~Pe_!)|_| zy_trQa{G`P8)2Wh&`}lgQfIa0GT&2Omnli-#0Oi1+x!Xj!9MCq#^ES=nBSwRL!DoR z>+z=V`dzyx(QfQb`047#bm3Ot8v^}8)Ok_3jc3$%J@+HpXL!Bi3EG!TKqtEo{asGp zQn(&BJ&gH_UK`^%`|ptdsp9y9zsb$tcPen}__|H-KRX9`atrm}7H<8|ti*go^^@}n zPr*LYq`g|o4A-B|!mWL3VNCx&g?tuyyx2S?mB?QsPx8L*uH;`jozdPk_LVk6KYAE( zaQ<{5kN1PULl;9TVhvq^j0CO{uJiP_um?YmtZg?Mi zVe-@D;hgAEMYh{)E8-Tsi1SycXdf1C;}+Zqdv~1pGI_i@=2uVJ|3n`88~z+74?PW? zbRWd02KjX1Hvf~n?`s$N3i1f=hY6FPt0T{U7Jrie!p}zJ&p7=fo|0bV#~uF(+|~J9 z+n6W!&Q#0&7zQ&yxb1KBDFAm~{Wy92yH0BF_H|{q!#-XL{o-($I^>a0k)I>!&p_eU z|L}{bBqKPGDcXliWBnb?`JQ73^aFg3pBu+AU73U2@W8F{b}?90)Zxnv84Tm487GtnI%mE8%R<#S-3WgLc)hq|KO z52^nsdF&a)zcT$l>g;{@X%|j%ygtS_mZeTr;np8hdV#jsmhHAC4{z|4xV#!np8f^< zH#TejB#+*(Q0-lPp70{$+#Ks>ZM6ZpRNgk_#yvj*` zUMEkt#TBKdxzTXGHxP$7&-XHHrkrq{U+p|KTmo}5ggo0FdG6-jW8|sZx~t`zw7+f- z`&A8|k0l=?+{QnCC+2ly@}+<0lkqKWf*juf`90JL@%|+@uM^}!p1(qMGUgz8ydLVO zd(PqRZTQ|_@{5O6xd`#q|P_AH{W|o zUL`N^7UQr6{)E9>@gxk1zBjL|lwi|jI?PhXg zzxO=(H^OcF(|;g8FOpxOy}9`=C1uI0?L{7%g{YJ3$ZryE^Cb9!r{w>}h4voT-?y2E zPt!ir0QJO;?{DOZ)m>Dl7WLyP_-W#(!xhOl3b*Zsw3e#L1htDIMN z!u9#0zW4n8E!_H(ddyRWGSms~XPkQ@&aO`OA&>j^jYG);zhXz)g#%XkJ?h_uy5ZvA zUAV31NzQk-u5F}!bUyrPOMiY+`vS(h7yWYinfCzVoc(X6TAt>Du~N7_ZxH_ULFF;( ztPyVe8*hgB<<{$5?}MA==x?0%oyem@yDCYue$FG0P4bkxb?R;MpznDUUpW0N^5G1} zz2`x+o9&4a%t8Lh54exc|J>%!#NHnN8m^Dc=x31+pp&@{aSo6Nh1+!`+P%G!`g!p| zPud4|A`e;K%qz4H^Z6L#=uZLJ$l1D)dJUQE>UMSE_W6Mk-}h}>JNq!^?|-?_Za?8R z{!v~JZAm}xxAwx5$2ux;_hY1l+j)`lJrAnbN9^zYp4z+o87$oHqY^J;9)&nwQ)nN5 zbgbI%;Jz;WKjj5}y4pdB+wXlu``G(YL4WiA0snKe-EqRL|K32X?{2;<6K?%X zk3?O9nlW1(|89yZe4YzJg+7B$-1mN*gTifHy2|IxUdML7pnawR=7r0{qMsuUao(3$ zj`o$vv)d4#$I0smxBf>sUT!}>o805P!>lysIr8*i%sV$;vtNLY|2Vh!QSd|p`S14m zVc~jygX@S#e|ihIaq|{oU(}HE>n`e;R+!goXhwf+j~=K}vqxV^5|&E0RwcF)k>yxv(!RoXv&96DZYtQT${_$qmN zA^d-s{i^c??BmaQsuQCAQgY9CA8eizw4VhX_r2`9$Rk&gX2{h;qY`OU&@o+sxZ&)-rtWA@NK z(+@iB$uE$HpFrG>vcTPO662Wo4C7dz_D=}6*Dsd%zL)f}a64YnnaH1-j6Vjakvjj9XJ+BJ%&q%7zel@C-Z$dn_O@`1 z&qdV3L)1yrKKe20>ObV=PV#%f-(S1$E&c=aGs9u;*745d*-NPZ2dI-JH-kJS?l_{w zX|Dr?eepqa2wBn@4CPu$NNBs)55$>9?pQfxHUL~I@ZEh$65-v`f*-&bH{yS z$TLaImx>(6U&y29Q3qOSFN~>j7CK&Ev|Eh)cJkCeJ(S#B1RuO8+}4LEzZc-vwac`R z`_5a|{So?UzCY3V*@ryD`!t%c-C4rz_=Xl^eE;SIUgC6aM?Ry98gs?ki$AF)=x>BN z<$q%Qc^x@SK8QT(dk^eN;kth9>!_A4A1;yydZXP!jAx0T*{?@1;_i7+gB;&GMs=o9 z=x6e1V4iZ!GGl800-Z>&Udnsq(tpel@=ztzx7n;SCxlx+6C>cyALcU z;3tlHj2R)^=543|;^5-EjXY5o=f|qD-M^gu1dO<=15aLnPMGhVOw#^a;kMo2=N*)| zJSmigee_%8zni~<$U}Fc4j|fcpO0|+{FCElwy4fb>ix(QeN774bs7GAMnA9rgPiYADMS66 zgloI|pyT*h@)-BqOi!~~xLv=}XCG4qH!exxb{w+}kpFIc4=b1Nr|>#Ob+-E_?aQ`= zeGBr+f5OkqhPg^^VnEjmw|@4%A*|dT=e|Mv&>8HwMp38PUt%wLo;ZYg6bayi4#KUU z-T3_%*X|v{ZQKmsqZFdfcJkO4s0_99;)6kd!#-PWfr6g2UrwGni99Jy{waBa_i3*p zFZ&O4623Zf8@U%m-RnmCgm4>&#A#27%eTF>51&K5a_i$yw2yDOc6@XHi*`L;zr#_# zoL?nRcblmC<=E~};kMnt0nCdVG5ySk!fk$_kZJubVjS#`!yzrS#s|HW$*pU4w#_2WBnez-36KO~P;>#D?^hbfT< z_R%fa`Mgj2VZwD@`>wZ+ArHNReIR-v@293txTvQJk5K2ZaJyay|3(~;E%M&Ryty== zyZP#EbKy2_`5Pn82T`Y=aC?4i_fOa6|4iYwzlk{VtvBu8B#%7iDRKFBhCIakhdI4W z#eC4o_?~}q3whF~GlM*J5^;9NBYXbO9+7eNEl+;vCnv(*?avzvxA`Awfcp7XZgik0 zd8!@il3Oo^JDr7{)Nmlo%}(-2Ys}L+Iq|{u1<-C_G4iUVlwSL@oIJzlM&1c*UKDQQ zAFF^kmnHv%_TlsWm0%Yw-+w6x{S@B^REzdE7ef9-CO@PkO@4=PJ6-|Wk0!saFnH)T zjN@VQ4#MsEy6`qsa(5gwkoM8Gh;wb)ueA1(Z{e%g=G$A&z83Po5a(Ck>)>bfDDrtO zbxK(-eugTeE_6XcQ%q|c^$ke?SCbY z@_cM@@?rt#``;UKqi`Fy@QP__>DHYm$P-T^o){f@4i$BRw1xJqyw>nYYhuNC`mnjbWaEB2}ULqe%p1B47OeTMd zJn^`v;gg%l34QuazKjTTU zxBh1jVB9OP-JhrvcoOk+d0Vjz^fNE_QOgaC|1{xNCpZOl$&Hss9!nrU(F+J~+~9!_JNy|RdN_WTMpb@%N*DBSipe%e#+)~V;nL)>q; z`hSHy`~~W8EjFAg2c2*p)cQSWh%j+#8VhwmnV%am;BH2xqL4EZG~Guqj!1g2(n1(m9y`) zT)BIG?+3IG%)VWDQBI^Dm7x>)V}Wuv?pw(-y-;V4>8Enuj68h-_D_=63Bu3lUs$J{ zKdpt^d3W_jWUSjS-6q`nA8rVL-2Ho-$^GwbNs;@nGv=s*xTVTrzPw0(%2;mehVQ*~ zRcLQ~-&<@b-1?Jx1O44koss0`S?mNttmnTtJ_F-EhW5`%VYfOlzONjso_sH<8vKmy z!T5@2`qM?YwU6J}OaK3TLGX3L?eRs1#}~PQ%?q^8j`x%lB0onS9{X9 ze2>n?dQprW>reySf8OIE;a10+f&HPIU*VeY$Me01eS&bSA3uONySntKaH|u3-cwI1 z(Vx%A6X!5e^7>Bw=~9dS^SBJN-k4G3UTe(j0klsD*ZtL3oAvMA`tl;}v$K&`qiBCp zxb-tJ=GyZ`f09Sc0@ZQr+V2JNyr66Xd5)|zrfhBanY{=8Fg?x6@9-P||MR_ji@j|( z#rNw)>CbfX0PnLZfH0VqPQNTMzQrX&>c#%A(|F z$-RM|5*Ppab)lbJk2=ts1Dq6Y=V_wjR<(EWe_wboXF+q%kafx#W^ee$fKVc)0y_cAtRJDsfrKwI-QSD0b(pPJ?cXz!S{4*pw3X? zc3#9j7^x%&?Y||D-i?Tj%Zop#(*XA2xt@Zyz~*k@HqM##sQ+?VO@HRmKCunsa*6g^ zt-Wn`Bk~`u8}lmdvtdsyU0$7|zBhNN@_!l7tF#aCICLoWTi%HI7|XduiQAv|5UzD# zJnE0DpR>rLCr~G6lojxXP%;f|Yj(cZL&eFf^AB#%vp zpNNJr6&u6P;2PM6Xde}>^Ewyi^?t@-hO?gn|B203+NXCSf1J)f+GqGZS;uoULAz1k z^PC%5E_ojG-M8P0_Q@djbtQAd(JSQUJo@G8Ue%_EPyB!L)eyTiV`5CP4DPN+$ zjY*QHmV)tv_+r6UQfzM>3vTx;pUR z-SS*e(T~o?I6lpWzomVm7W#FB`k|K4kMVt=ZrvYGo-Bua#w?TXKepldaNqO)?-6^= zx9TfY`2_WsP$&Ef#(f9lHl!8eX0}1u?H^VNxBX4s!91b=by|ZbU+t{QZr{G|F5GXQ z7=b+hf$d(PeXP=8CD(J@o3w$SsVVUD2kLhaZrhFWxiK!zi^#(-p3Lfmg-G>z#-`}p&o+Pm>ek|#Gne;Re}zX|!1_T^_nxb-tK_S*UT33;G2 z))7=KBl}~-Iks{k+AW~}n4ig$RWZM~teMK~pr0xTf9k>9bR-XR-FNHw3i8Z+?6_*t zzGs;2F2Q-EjpT0#xBG$ce$@Xg`ElX4U*RC~b2xds_Tb6Y=vPzn{^VX2*jFWgkUa5y zKP8Lk=)c1C{07g9x^<^)2k4t5`s?1a&_lT0&zt*KsSdKym{qh7@qXPf+f9*2x_e4) zA8w@>boT@3laD zCUbsG6|VDW2I7fPFy;WccX*U4jAnhPd^2=XZ3ZfL$BA8pYu%`U83#3aPCI$<6YLKM za)KQrPptD)XQKW#=5OkUtHDo~Kb5;P&ePE^cVFCdC}ZjEr8|K5w&=KpurUiNRHZpi1{^#2_7lfR;_)*#P&3;g%4M;;=( zjA`V;sW_Oofcsi}vc=@@SRKh9|NGFtrG5C9k!tw~6KHx* z*e9-_ZahMrrR3517{OxX+l1TkO;5$RA7uWN>jfSPduqwyHGPCzf1+I1jxc`~kf%nX z9!{k{$EjmDPu)1??QO?J_Q^vLXIF2F3b%2~^1WTp)6eq4t)E`S2}&l>&(|Gqj()kk z`b4-Mk2i+Ci}RA(@~eK|K4H~y_gnr6@Hw|FB1tRFLHy-_Zg1orZG1;_RL` zvWPs^ADQrTUi`t&!mU4>rruB~1fGlTZY z*`1WQ^>;scY8d8efcC!%xA~mmc>s4`L6O0X^F_>~F|_|5dAvO4T?O)dx7q6*7v*k{ zYkz{mt^eNr@T3;=aHViNF4>){^bcHpc!u_-Db{iKyq(>`t)FS02Pn;Ej#w`9BK>My z$y?;-sT1lsQ3=bT3Ea-{Es8iiNc(!iZ9I<`Mf_cSg7?sW-@4P7I^pi{(>))!H+f{r zwfXsmaO;2gt&ZB_5Kj2wL!h7G^Y@C=pWfu*uJCgR`7HA66z~Z7HsLl7i5yFnG$w!1 za%nfRZ@v;YPrrTy=O@E_@0gnxpHn}T_0+xzb?V&#KmE^@YLXxA`tMJ8bF%#&wCuzA zd^R^P`iqYBGgc6F38QaJl=@lU`_^A35Ar^Q5dFDA9{LP%aQ$jO6n>_2q7Jz4rS2q; zt-!o6tS1*8?}q+j)QqV)3_3BhP+N4zQya;XlaT+%=+6b=HqOCE5NG#&%)(LdP+g4s z{hT1rPr!TJLN8&bF_Qi?6MLQSmC-N!mAprlJlqg<(ycFrhTA$*+GJzMTNmfz!nJNs zhtB^UcMI2f^whQaFwb%smrNPt&(G}F!_7 zE05}Ld5?f_jSue+bUGs~mv)2iAr5P3e>d%8!>^s!-;kS~$OlvddCt-(=*Rfpidxk9 zp4|KhOSfL<9u51zlgL|Sg^as!d!8rwDeDsRqzCOYUw2jIHM!8hd%|tp0<*Bb+(G+q zESLODe1LKPp8ixB!*&bKQ{v(_Lq0U>5E-X&-(X_6OK*&9TrA z^+$i*^L7RbxBi%V@W<7k*|g7Wf{wc`d6GP}3+r{Ol5nWqIQWz1a~SUA3FW@R?fAyF zVZN`X{|kiM>m3Ju&*9%B+}8i}KbzGuNc;C`U)y({q~M*LMPY+Qix~#AAQnar#9{O3|d;Jz&hy7c^cYbV&*jxX@#gHd%J$->X zp-0B5GQ(zSO@O|shx!&~yEBDbooJjrHlUt;nvUa*(s{?t)!U! zIZb=73F_f4U{ijw?XSG2lFw_cM&3cV>U2YXzC-?`aIG7Sq2tDJFYW!;m(SBaJ_I_* z7Gs7?fli?7U8;UJsq2w13>$_dy)WvTh8!Tl6JQ62C7~OF1p9Ka#9~?bkh6KFPDdPM&P`Y7sUAlv|`L3)JYzLPFuEHN%oD_ zf6u>fbezv;b8%}c+>T?)H;x0i{|q!nJsCj#6;?<5jNAb~Ymk3S{m6Hy&tDY92N#6f z=N`B49bXiZ6T&ubrY7dETQ`T1NB-)s0z0T*WIF7#Jb&AUyrFRGk9i#Jx;S?hZsVWu z-G4Hg_WtkP_s)@9;+Eg!&i@FN@y}A)ho44&>+sVp!ZqK{VP?7W36(E`N82q?%fYm- zHv>FV593vUybpPJ*H|T;nQxy7xBW_XN4u^LG@J>YSmn-Y-E!{Gq(%3e#ZH}zdW?RN}aUt{h>wg&!x{% z32@zX^S7LEs~`1!-)D?)s~`2SuS-*ZJ$a(Twe^2Lb%G}lPwY00`HS}68N}gN#-Y~( z=x=&2`df>9m~h)}Y&tw#l?x5O-V5*JGqrKt^d9~3#NO78{J#4)_6fJ^TKu_HYFUx? z-%~%#=g!I3l=P?FZ1@x9bAa9X(pxOI{_H`&WQOa{1H!GJUJ2xtJJ0hbxp^Ar@t&mp z1@cfE#M518uQ3NYX3GM#bjK+%@?-(Txh8d1lBan;ty{-u%L@+FpG&CEH!)8(i@l9Q zW&`5Da%f(qj<>#_Dz|6HzSt|r#gfm-dy&sWIWFBj_O~JYSxkQh3b*+mtA}x^K|b7a ziBGB;;?|yg0ePlxTuCSLCxqKNS=+aN`&zi|S2jQ5?CMqJx%7wcB?(Zc33;+G{B-f` z?Ce*2YU$Rs#pLnfv##Nu43Q@UBPmRL-+vV>HKde+{P#I3hK$(TxfU>dHOQq@JDg* z91E}yALM(EN@?L%C*`|8s-tk*ZiM%VQN|3VePYdBDtsUF?V`1pe2DWoDrH!h@-LKj zWuA^Zv_-G2T(+6PZz9=ZMJALL0MFEl}SP18lt zNe7`5CBIv^Z8x|F>$|%T_JDBPU;q22Ptrb-6XX60bxJNqf75)=uWPreaO=Nmj&@tn zzMXJ;92EThT0TJd|KIt;yQm+_iR0P7sk2nL^*?zU{5)Q!-2)ZyR5_=CJlpdaFWN>0CtaH}7yhdjjS%k$D{pE%{IzyQdYk=9=FA;J3a zBKcg}XA5IzBBv|$C(lx}8@LH|X#*QxLZ0@W?>a2p`V*dpdNrB#{5#sm4A z69|L5cyQ^xSr4Fdk@__-7nle z&n>~{TDbcBKk7t2#mbA(m%LiZ_*X@~T}S=J!mXdNc8FU&*DiTt5%Nm5k@|C*TsAcN zf9Fq)hoED4KDidm&Ar0yxCfqEtfUY7yO{Rb&!MxN_D_>Xc^&6=@^iv%o-8@BS&6G- zW#ec!&FkYX&Xa}Pc0JZxSLYYg-v54qS7;yNb%Dp(Zk~ssA2@*eR+av5AWz?Xhg!>Ya{WC@`|LD~lSpqMcC( z+!IneRRwah-5Z44{s#ZS@n+$C_}~P2v=-)L zfcD2r<9IOB2$4Y+$=9@ECys-rb0fQqJoB2TmiR6AZ(Pl*;}WZkbq99_K7MB)Uqk<_mca+N1qjL<5Roz z7PUmS%X31WM7x2!@W+iyhCFo&{@_#jo)LMptEW0u*>3#=bPVs4apxt*3%B(!$nS%@ ze49c0RO8!KVHI`WAa+M5ua>r#K+aQio$K4ME7Atx-fsHk*D_{{ zwRS*1=zDJ1Vc|BPW4`B8T_I03X|L_J%MFLhJcGPS801w8VAD~!^*`Bnq>}2i-$kD8 zi+FCMeTF>L2jfzcyx_CYzv_FA-_62xzf>OUsXPC6n{eB1sx0!M4Rt1xrw1bb-2R)R zBhSBL91aS%`JCRgNEOOc=d^HJH-ZnL^6)gRd{F`Yip-y?mTvvpB;1Zm z=q==fyYKf`@@(^K>+psbVQ*?9KOdn#hlJbbh{pLnxG4SkQn($j-8GT_waL#@Cv$Fr zk_dV2U3Q;bz+8F|{xi&`jd1H{fY0G{^Eyc${^CAWc$GS*gxhgUkHtRR&G%d{fd{8_ zRLdNUb3Mz&|HO2})5W2S@EdHqypP@OKYI(;JiLVQ^4RVI;nvSI->>KVT<7!;;e5qe z+V7x!rXdn=96Nl5JhTGJZawPq9?nZdef!4H%Z$(6s1NQs*A(G44$)N@_fNxU_;1>W z=3?D+@wxF8#KAiWKS$Be_QG}lP;HBnapWU}+x{jmqn_s{zhrfUdwb?9k;I=zN=y{g@m^df&!xb;6+9{ztpev0;CKIhquOa9%6TiExUqH5&H(THc1I!*6k zyT0pvt;OEPA<_)_a4-FzMIP9U_%xx;msVfwlM~Rdq2%8SxAi3GyN~zfbI_01S)rCi za^VkhybhkZ6?MSf@7+weoflpT`5Q{c?z^JP*O@h@bv_ zdxAW^0`qh@{VDtg>;q>I|K4o3r*MrA&r3IDyR*oHcX>)$l3x;TkJnoG?lb>KxUG|c zIO~G{d9N4!PS$|!fhOa+&>^1a=i9gKCKUtkFYLWq0ZgZ@z!`s+`74j+)M?Z zM*CcELO=ZXG9~}9zr}>x{-*OxP+p7nd&mPk|8Ri(9C@m}rzAmM<1OgKd0ocM_mSjD z*43k|=cmY{dFQEu`(EcAZ$l@^=Rdf8=~!~_K2-9zPod%ZdtvYK_`>=B2YGzj05#l6 zKc7os+~q~jO8U~DAIYQKUk#*vk$0es) zcmAQnT72)!{~pW(v=9G|9r7F0pSlnFX7^GRZcIPtIPNVR9XyY5GPqFmS9@ncN5&69XZ)c?2G?h^7S-)n~5lrj6Llc7!p+Mgiz9$&1aHu*W~ zWcj`9R^(mZV}FgO#EoNIxSj8*!N}+9X#WyPlJCr1mn^E6NhGt?b##%Lex=&Ai_$eZoL?Yb8FYqJu!5BZGt z>D-=jcN}!%`)D_E+c@Ppit0b+Rq_`mA*>$aK5}k?v+74Fs;lH;dWdSr#-cI{8#euZK&Ap zc?bhOfPN~0@#?^KHwm}p`;&~f!`JngfSJXLmi`vQ67QWxbeul^Bk*M$_H zr%{~#l=vUUE7}Jh&SAR^gxmP1I>8?|zERr8r(#`>QpclxHat;@tDi~7c^xN2`#-6Z z$d7vB?%OQ+G1^W0?*F;P@q(jOp%OPJ-wLn(8?64qt)G$ZsLwajemw2NSCMaS{aQz!?(V54uKs*1+~#37U%s8DeLM&q zH(v^W27j^xFkbFBYan@MDD)j)Meemg2DatGS?P1?80-fsbKUuWY@K=hl;ijRFYPKB zl@gVyv}qe@lVaMmk*SnYn6xi6r6^18_MK@JS%!-2BO=R(`4F;?gf@&NYcW#x<#(?0 zdY$j%@xFhb_aAw9&Y9PBu5+F1T-SZiz2t;z{A(fpHeWuZeRK$RAQc(^P9H)ie7x4K z0(kg7i1}jg=VRa?4!≪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 )s=H4#fTErD<8EhF(FdH}0S@$G}rZz9bs7k9JC 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 Oyz%%}VLb-raQgueO(%H( literal 3586048 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�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

    ~9(#MRP*96t*^R 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 T^LNL#6?N(RzT)8NzKn{4!~N;n^R86w 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%0Dj5#b zp=-!dZ0a_#F>FS-gWVkl{p~yA!fJR5utV`dho?Yf3c3W&55eQNER#Hzatk%P@{gy~ zq(WB$Gpz{%;#eaWpvmr3#pzcE65Ro4oEV6fVdk@A+!&qVIhhD z7p?2KX^DSVupe=Qr{j5_9N$pKcKj7!Y*E;=T1NP9O7$E6h1jmj=M;fsLFubN>1!mV zuL7l)Heh#r2oexk>Hv=cW5pb*-H-O-Agk`tPzv}=F$uZw+C{-6OwEvoI|d4B^>ylE52wb#%ATHX)z{XtHn z`*KhScjhhs0;C)aXB}Q1|cY|Qb7BbBVu7?&f*#=Ob~ zTt+8sRxWIqg|SrmNB#AAc~tadt6N(r@QkZV>NO&`D-4p{DWl&PcbRX{(=Ehi5t zRz6D#9$DUihDw58FV1YmS>q)joEoL}vSrtjBle4PibfBXKn2TD}ya zH(Tt7AbUj~qy;97+zt0VDR)Eedq3k*#?`|nmu>cW%$V3F=MnP6wo|+b>P@Z#a|Q@E z7Zw0_GI&pC0t-9J<-+pRfB|6HNHIuFC;p#zpdgpb-Kwm$C|_r+UyC@w1#O#nTja)8w7F~2%4x+3mbcOgsxDAD#%0{Q4(a=3#FZq?Jt7Ia|EO&`(dV(fi(cBiU&R(u(b*Y>-eJ{KN_)mGdNn)3E@pY&R<2jx5{d!vzmt? z*@&yt1I!du)!1BLmP1tKuKp7V6CllIrec+8j)XLukp7urkvTYYFv~<$na!btqS4U& z447a23$zi@Ni*GrxFZ8_VU&lI(EK{QTZSjZWUMb-qTbBI?{(G4ByL%3ZXX^&h0w9w zJ@|sV$L@>O?lA?Z#w7O#r9HCZ$bX8XHszV-Iz@uD6obDYK!I;}4fVnS%*OFejo$m`BVf=b@D!N#hfXBAg8yZ#NYb z7Fierjss|~p+(kAT0>zs0i*KgmnnFQF%rF@e2K62t(Z)*y#goT7~zUOgJd@pBT2w% zZNY6IcON4jx1*fd|2FU@5?%!?V9;E^tdvcR-&pg?I&*nRyuzwIj@Szb9EjZwjUw>j zwu6;uC5tiM?qZ6l)8Y;|}+ zR<&UR6bo>aw)lC_A-S&2<&25mcK<&Lm$g`%|Eai|yOZngM++cP${qywecTJmec%76 z-1m+2OYy*Hl#ww<$vq!io)|x>{jUG+L)i5(kWhn|GhASX3o#E?4NOm*R+Et4!EktE z!(pyhvEMe%9goKu?;gf@?0u=tcs%ffePUfMsqQv0%U)r07*dDqR}5C&x&qKXar9S2 zS{6y%=S&Ys%%p>lY=WNk6Yo9FOt) z632s^#9`AEV#(eINN^O1L z4)gRlp1uyi_{YcV1F~R%^wW3tuBxCR9nHGq05IvSOBkO#&|vPY@1G84y$*o z6KcVoomg3clv}rD1q#GMR2J=r(!a59J5g5$8%077H}V*3u>&3Vu*c!_@C|Uowiy}x zCf-A>Y=b;nf`7JG7<~+>RzE<vnZUuz9voQoTW|H!8 zBYph$aAqFDpqX$%u_9j67!2+zGNwY2F{i%@Pv8!<<_CJ<@2OfjJTv6kwn)s9M%}*L zB57o;(MKej0nyW<1uBMN*@MU`86qg-*5%-bNc$8M65WvAE0;ea`5}s>GSiQ}TQWpO z)`@rs7bCW1)^T{694NYuZShuE zS0zSS5(2NX1v9dp^IG{d@nEuS&<96jlUEXGH`DB0n`E1(sWuYKb~@i$OWyT zmLs%#YbcZlSXh@4EZ8&!mhNKibu1ve6@$J50S-*)T3HJkdbs_=n)D zLQMM^7z$!&90HofIkPC-ZD=}H&KXYu?KWMt9?a6n!~*wv@FTF_3P@{u8AezMmSI=3 zZaQ9xs*f%1i%fx#G9;dVMCJWVrM%<)aLj-lS3s5JbIMrMeJAeVS3l$4v&}w&U`N(D@IJN9We!Q5O#_S9wMSK7z{!j@vjkI(i_ZO4FsbL zSsBZeL3uHbajJ)~^I@!Wf2A@ghh4cezo>*811)zgcle@;Lbvwvf4j-fLunXOc3QsQ zE5t9*R+=kqx(T#Y0xim&ZbB`!gRJF1?{GB?}>rG&d z?SbW}=0z^cgSubE#l0*K0lf-=ih6MsAxf_xC`x57a}q(Iiy0CIO?7r$AN`$UqZF zDddRL38l*35;U!oUR*~Ydu~=Ofob&$!l<*uSkoztvkBuN6Gly~XANMOgwqtdw;`Gx zsI$@uWxRqC$SpyCiXHC#wOs-(cj!ylo+9>396$boPFwXRD4)mxJh(X5!bn zlHP1^xnzA7%yY;)YC*)t@kp`Q~he7)h!kwgl>0hOs=aL)*F!mWEVtwqQhi=bI3-(-8cyn;t zG_7nJvV{)x)Rtb02RI8(xc?yUunkw-nua@Ux3+#}66;xiVJBh>SUwgqxYoIZ!+=$z zbKug2W}xRc2H?Jb=4*U5w}b2Arr%nb7aC3#Yb*LaNT3`X8M#VsTis_}#8C<$ax6wj zX(4sPp{>s_HijB^hXm|T`^`)*J#aOAXi=*aB%9S7I$LQ{usa4qW);gRpENh$@*mK^ z*!J@!e)u9Y^SoPXXg=~>4$as`zk_CnT3Q1I)E;>a$gZ6Av$DM5%QA8G7Oa(^Qau}2 zJs$07>aFM3BN#SIy#dLokqX2Ix`$eNs!+^Cm<4)}7-_+s;X}W?hMsA2@yw@hXQsBe z5pDG%e6Xc^#iVHC(FwMKgEV|L_AD3$^0I_x@!@UIg@80-O-L>%Y>+ha&9|Q)Y>h6* z{FjckYVtj%Ft9Jwk}_*l+gTXnIdj&5tCd4S;!u~hY#~5vwys?l^AkXfCKN}WiGkbH-n>RJte3oFG8LXR zbh!TFUM0e-0ms_1RI(IQdj5(>%Iz|ZUO(e8tY?E!_z_QF6#CbWIDvvY&}unuyTWSR z)`)ZVVB9_crxa_^AM7ovks%7W-Xz_KWZiN**4yh4c}M??L!`OglaoH{t$Sp%Vx$?& z$jji&z)U4F1=Rm69A+xv&0B?czYQ&X5nM2!l)>!UA^sc2u~u?2S)r2?Uvuwimbx2Ez6@#mYRT2IcINLKw4S;Y!*P7K%@ zlSim&3kvO9Gg;RbY($^&nbDBJUp3SM!#8@@WUscMjuQy}>%h>8*luY`M==7O?6_oG z#q=qPZ>W-cnrT)5V4ajbg=L4LEcpg&w+3bVJ$%bgpsb>K^8duQ)U)ghC~N0iGVFc8 z*mlx~M+jrO3BytAX~rP`Zr%r5ibLcBi2cm=(UP`jwnoh9_Gh*Z*pE+PQK$5#5i7H(*y^k{A-;(tf!7WEsYx62TO zW@qoSmtO2e>G{81`rmF_-B+MASVCF#z6()UT2FV}?Yl2 zGjfpL9cL@NTk0{PH)gN@<45T?By~x^c)awNxUwfU#E;lZ`^KX5(qyIM6Qt!rTj^_2 z`UfqOo7-tMxBsbW%x^UM+p)HSe?&o$e4Je;qvTweBa%Wxwu^3O`ELY;&cV@NU0?#^ zU&CKatF&R0AVGsEq7=O>+Du7I+$t@}buRU|764+UNp0jkuc*Yfcf34~M2M=|Cf=1S zabB{-DajHqPL_CHvc$Y(iAOR~c%vl23Bs?I*GbzF5k{aj*H=YJPXSInCk0CxlN8KELAQyd}*s2cPHgp;Msp2fR#=Je^wto)N;cN=|Ge z{p8&RN@!LNW*x@lFMSsaK0pp1X_yDNRE9xJrc9RGoFy;E?lU%Wbo;VC<97{2g$KJ zVgp{pymhVhd8vDxTLuVuIv0rKDy35bR_XkYtW{cyb>a*Ai~R;fR^^=Oux3`bIy#s) zEM2dp-|kH=Jsioy;27acp)U^05Hb-r0-MU4@InV%^ZLKy0)+6y!I)(782Q4VSRVrP z;+XhKsrAm^|IC_NcS=gxM{~MqFaOXD1@>=p1-gbl-+)J~{9cv@C_24A+xHBKiPR$a zjqN@&78;K!JapC%gnyPP3&v#=cji(p<2UZft-&|KV6m*%`KDG@kB3-%`F^2STJRgE zp{McJZ!9Z7pY+I48}yBP(!5{<5oRA3DGl&NT*a{WId{CSl`Te2o=a&KTvP0I?h1Yd zx6n-7#a-OS$^>P>b04QI-hUimhUW6PjLWPgWhgHJ#+A@8Lc@DsCW%8C6D4KG!N0o`7OOn-_**_0p)dlE{@lLz@5 zcX(?{#_$1AI<4zY2FTwBq9^0qyfUO2SB5m>*q2t($VmW?%k6%UbI$E2)5Wl3OQ8r}B0p^3i{#ZI19p^Kk&Ui;;ojlMnvNmln zOyWpd!C?$UHaPCEI?)a1$9Qi{oEOV#L50iNC3TL9Fws1h!DSI=GBf09qWw1@vy^z| zGxJzio`LmX0-;5-JdY`_M@&<`ggFW)>A~A2f3NPSSZ{ByQ8!`yI7!S#2jQj*VI3U!6)(J`L z)ag;mqWsz7P%f?o@$`d%swbQFsVBg&*#ssJq2im`% z7-~bfF6NzzTB3d1B7Ba8@adf)d^Jk8L%7#$K#AzB8ep?X9vp9g?5kJybu#;UZ48zj z=ZGLKkHnM2M#MZuZ?2QQnZ(}6b8!b~ztAi-j{o!Y|3cal>BaJ zN&}Sh322`IiFSOFCqcWd%f>$a(G)>4QBwyn@0F@$H=CPl}&je9Zk6gO-VreFV&r(9Sp0SAM?bb<7BUGz5yFx9c;oQ z+Ka_9L=}u4glN`=c5NxeA=Zpv(AkWC4W-+m{vz23f2sKOShT@rrGFk;psk(T%<3;P zn<6sM3T^ENMPMM+kch599D=TmLADRXB?@$zcvONeC(SA2wr-ZC>-L(Ds1@w9pv4OlI?ImPSw6bJaPhSzl*i6VC@@WiyZH3QSLa| z%Y$&HjJ7~uq5#=ZeYt{k58{y$(n>>V3JF zNmO4h8&L~i#^?+*A_3LCVND%J^~l5~`U_QM4~X|jVq$j;XyxyHAM2~Oc3h#@hoexG zSLWIgJ;R#hH*_}18=%HcK(v3Ds=HELA?tpG9j#M6V5q8ljcEA;>wcDXuVLK{u*@1tR5;sE3* zFfWK_C72fp<^_Vei)O+}XSu(>DpM`y%QEX&rkZ6YqKsK3ZVvMI#~%-PbFfiEQqX`E zFgQrSaQ^dl47b}yBdb7+Rc)_|)BnhhzQ)>KWo_TWy4M7!B8Q+osO68S#g69Nta*NY zXY;%nO8!JNk5{$Vh-VSO%6|92t*D)7HpY#&uzU!?=c8xPXD<=UB?`)BaifIt2K%s? zeaNSUa&jzBP-W`GIkL=FmZ@WzpJ38!VcGCcC^B##3voQ$f$9gN4+%Kl@~j=li1y!> zA@@&G6>S&)g=WTntHH8(MaH;EVgS3h9p{w)4ZC-vWFmH_s;cY73|aLq_OYIQJQ7ta z>`t|?TgmAC?|@-!*MaE@%DduJ3FSRPd6!V$qG54z>`qf<8pMIY?DU5$)4($Kqf8vT z(}3OS61$(lzcso8y4M8kUcbhUUEBfI7Q2zk*bM$y^n&`S*7FJL`j~Z{8m|inQsxvF zatcpDHFhK)J}Y=CN+uv#`V*?&HVVVZ7JSAQG_nOx!5o-)M)g&w-oo`}4)qkUsqMN0 z2FzTLUx@Q1u>T{lF9__=?DaRSaW89p5vI;Da4VTpyv^D5Ep*ZU8{S_;$wa)@ z#ahrTu9YqLjxA_r3x=QtCf=FN!n;qlf?jNi)2JZ^>_>651h$XBek8CjzwQw4^|4|t zV)yyP!T}a*VX@UH7RNht0`IIx;{8PU97jKe_$-Dfb-bVRj2-W=v1vQs{Q))1zlfUC zSlzFz?iW_)idP2>qCX&p!^|@}4>j0P92}S=p9CqSHQE1xXjWVPWZzWqCl|-FSiJZ*Pua)f!o;zNG{&0LQ(SW< zhocvp)RRqmR>VdhB37AI98ZLN4LOi~L~gf6uvNM3i;FsS?Is{Upy&RA-fhF1P%FQZD%!TK(aLW|V$`XL zR!`f*>1%@%Jqxp82`4@pxjSF1)7wA4`b3Z4D2C9>)rfqrl%}nx_i))+4zcHg+InPmv|M?vmrn?q;`%0 z47!A~aj#ji3>$kkGMP$L6)f@Q(Nv@InnA|#6AKyFC$1Qwruyldq)I?4LQIu_;TasN zOM~DVs*(~ecq3BB+BfE&G^|VDRMfo+KTXB;3HZqdO5JsN4PR&@)HgKP=Tn27k1Q)> zmJA(XuKMHWbX5XRRV;C>1L|&H>c*zt*q^4#Dp$&yq0a7Qsb2QnCH1YUWBZOMAr129nKX>4pAO5z! zt#{Tp(_h5rHu4lU4wXDmARFSpz>EjVaPSBwKlgu3MX_~o<`@qbW;*tkz%#43&`s+f@y z-J5|?Gl?v9S@L$Xzsw0-7dX%T@=%m_uRD`}s{{DEXrc1LDxV}9F&3tX3zb`je1ugu zD!=~bKp`u~sK+X=T*k^hA7Do*`y(sIy%?zc7F4cBE{}tekA>;METhMwXb{Z^cGF(E zFfA0l4%0tBY1SN>6_r|93(L0#kJ!=`Ep$ZZN$Q)Vf|FQk#?)JGQ>EPbb*P{)*1s|| zzT?_Z*%?-CXRF%4;yR+elh@WYc#3QzstX>Wt-Ua<`Zgd_);KIyqr4cYJu12eb7TEe zWzRTUm1Q5X;vCUcw0me@GBud1t?f~L{mslSTiYeEmk)8BwlA3;lsH8%hgjIzs(Oi$ zb3}0&BkD^s_F0S04WdvW-YMQ;pQM8Jof?8UMuf0am=liZCMgh0UdgmuZk}Qrs|HfU z-|EHLRxjRE6?A6>e~}e*G&6#z!y4f!m>Kad(VizsZSA{sHWrW7B}iQy(Pn9T-BFE` zr`>Xm)lSYuPi$t8uS-&6x8SLq8M53_a#jU~#D==7JKr2KNXHz}VDhTF2IVrCbW89r z=ER(KooaNzZB`$ge|S~PNh#Zps!cpYtmue>`ARlBO?=G=+;+WL_03b__<}Un5v@T< zY2>Ns7pSTuT8*?&3vRxAk_$9Eztyy>@ppq!O?WA{AllTxR!$X~3MI7mQbw%{hBI3O zeJYON?Ix|unJ@aiT;nRA16P$O`h-lWwoGp!6QcU;#?}uTXwO$*K!Pwj@$9y0I2$4@ zaM_@2fh<+B*3*z;RCn@q7M+o0;TvQjM4kD}Iwm z$~${71ky3H47{51dG%=PTzD3J{y}2^1_9A%obdV-$%%Ldz!0GK1=526h5$#&C-}u> zruUPN3;{9#PhmHs&@!#UJ+#(+7T9nPZmN2ReBsh7qyfOVfzqtOG;-HEz5JyC9TG+% zwqvvB475sIA)q=J@f>B&)16ooL!jCKx}aq6e=r$Wao#o>x9cKs2}acLe1%ROgYR$g zJz#R!KM+?cYg(VKI2;bp`Y;l$Le`jyII=DTMFN_mV2ERQDkh$ykF>#4k0}$H=&`?FVPdpH)HPRu;t?_F(&53opWux+3(2~LcY@LBiSxA`=wrQvt4@M zqKfH9+9v6q%WUnMd1|{h-IkPHJxP3hmTBASKb`F9!LucMO2*4FY=tYZ-5dVFdoiOE zJ@G4$NIp)Q9A9?1`!YSWw?sG6Cp>R*Zm?L82E6cl|4V1(>LznfueC_ci_t~0kcE&lAVKfIP53byW`nA+_1F@-NVf!CG6s+ z(A@r~Y2~Fzf_)y00f({`spT>l+FA0@Ka_|5TQU1$5$H=s&^(M?_!>ty$S|;;=PIu6 zl04iL4LcmZd)A#6!~wcz`yTfZS_vXCzH|(Wh?%hg!Yi zQ5mMuyopn738KoXIot-X+Tzzbn8ZsEC@!g0>Ee6TEQoXTrhT`%T&@8eeI9z{He6}C z@qO3>cRz$TcEM5f0A_y!9$^FNX>@CAUD>$(O6U>UhFQFH6YNm z-*}N#G+pK10Bkv$-f?f>S)vKo-IFzK+T=F2i&ht#*CJc@T&!%BSvI;98Cmr-eHALN zj#a+iR(Wu?wss=M-CxOJH*i4~#(azCF%$(-ZmOCbo>(pJyNP$E*Xi2oZF=PR0}~In zHu+T8f~IQsdfBcu?)9==Rft5=^ba=fFD^E&SvKzOSmP?ZhLmJB9l<>3BaZ^?FCFqW zNR0O<#5aNWk1Ta$tQ1hG&~Ysh7QEQPb&?#s8E4jD^fzsdg>2d1raZI7IcAFyCswvN zlP#95Sujl2S&A;Tr0$k={e_OFI(H|M1H-L-XCAI${oMOLjz=B35#TlM>-IC zjfoj>m-JMEXQ-<1{Ht_sKRBB`h85OcfIk82z9sUK@=7I&s zn}DN-a1y~(gCi!Sy^yV@%$$Hw!a52wj5-a3{Mzb`jG$4ZJKfS)(>>L=sKA?AAG6mK zf4xTnLFEs#q~WNA!6x?|mseZ8L*7x)G*H!msC;HF!2J#vEE(!OOZdz82QI*%Oii1S zp>G*Em6Mrvp{ct-z)@RhPpZg6RX*ojG{hI4ORG^Y9KH2a>9fr|Fdr3Z$OD->kM+gv@G-QSC*t+8MvA+93(mp0BE1n6%oVX0?}!y+5kn zUW#hR$!dQ=iNo*hs}Hp8?NC*1M$&2v&1%Psl?PO{<5BGuvfA?BRjntX+Co+BU62SR zBH3SI);d89Kcs4%fLbTYTD7*dc2P5mI}jHISH#zkoHDdI?obFEp{1+$EK$n(7N zcYKFNx(>-{w$@V-8d=a~ayTWLo~$i*nr$f&?{rZ+K4WlPBij-}0UP3fqb*BUByY>< z32nL4YReof^LBV?Hrp~uOzEcDG6`+DPPXMI6tJ}=fmp;S#UXGx7E;oH6jBo+<#CWn z!_zEJ`|aul$;Ne(zTBxo>#6FUih8e?^)5WTdY5!i?`g8$mgwye0ko?()2w%zI0lxO zqzKbc?@hAaZm8F11T$@Y&QNoKd!{uPKpne@9=5tO&}U{~pP#!Q-RpacLV zD4`Sr3N^bcEHKy6+G$2IFqI~l*<#mG3e0SPnIpmQWTMH&hLfhVkBbS$rmHb5#79qCk zGww{j>enFF8FZ0gaYnj+!3w|`Y_uy3CS|!~2}02V(d%KHG($_39|0!V$qg@$p~Hwmy3>8?06&I zUi*r5puLGJw&_Zql5S3kdfA-NfsQC&nhmBkLrDdmX0#6W-=qSVnb=1Vjy{Z!;m@Fp zO-g8fJz~D^!T2CzXoIJ)>K#04Woqfn z>Gpx*3eJ(pMQH(-(T7(y`;F2@l!Ep*4aePbfoI-H zZ+`gO`nKL#-%Q_>6cm&G9lmBmV{6B|i1|9P?C~V>Ldv zJ)P#bAD<2QjK;^3hh>k0K+NVsTMV)UNyr+YS2xoCRB5@;R$`Q-(`?iX3|U~@PoaFw zkGVvAlW!{E89c6Wnx%gClu-9xFh&Xv{nLvot}C&;#Cd@wu4;%=?FhqV%}GYhe-N2$RIDP^hVOMb!YRezPL4jmsS44 z%PJ4*`G@Fnc1T@Ti8!q92!Hexpb%%2_qo`I^H=^)dgQXB^;8JmdpdEJ6N8Y7BVtKY ze+n`4Y;irk^0u53G37ttL*>nnrD&se0i1H! zm1rU5unzDlpfp?xabpO?Qb-8M@yAjra-P&i4xN=O(SgLc^l|(4(siVjm=kXXdU_zQ z=qC9=T*d+E&Z0)PCKV3Acai++xW6|Glihc2xD-DFJxR}z7;G9+gU}BfHxaINf3@_6 zpO)K5h~yW9*bid{ADghoQOZ?qS=wlAz9yPMt+$fdi(*n zEZy)KSWHJC2ltQSGd9l;7xW`pXgmSE-*B*%BJrkFNWHLtCxAK>AT(MYo=dnj_>ASH zC|`u%s2O)iF^EF(8?=hywJlEExDx1%m&IWOzyp7r)}*N*MDpBl%;WN^E#9pxdslu6 zD4x2wNt#KHtAdSF1>lQMF2Fp8sI^Moqs7n|h_B#>WcSkCNo?p%@6zvE27)B!^6R`C z4|MTG(w`WNd()h#*r(xgBCA`synnFOV?6!>AXAz*eK4?NKv=qd4N`gskCRfoEU&SI zTexmiH1ex_tFC!I#3g$&vAi{qVQhf##L?8xym$|$P_eZ14d@91`pMh7g@y_cVx^GS z!zR9@4#g(pN1lulV{G>rOIWjszzJeQ1LHbeW*e>&an;GT;X2t5e%Wt~(K%dFQY^=P z;0GA4dAXNDTHe$Zf7}M7=J!?-G%T8MttBpYxE8K0E94#TO(!bV60bt&)n8Y8LPM>m zj#RJi6|6Wmx>(9_{1xJlEVzGDm%#AQ=ZrAfXw$R!>uig=Us8S6qnQ2T@#C;Q_isuG z_y7PrO+3Jg=oA1itQ6M)0F|~kLH|mXa!aj8Q0Z17Z^_}jfRw<$iX$yCGVZ-!TRAs@ zY!{GSXwKULd~+`6xwV&;RH38r^Uo>bOy^9-jKa1sv6NfG3medDG`7;-+lo#b%VjF6 zkCo*0_uh>FH#mowr^@1VjfodHlgnwgp1(^E?Ey#n+jR64F&u?u7#b)yKtzjyG!ReH zA4xnXs5mqUA&UNcyQH0M;}(6GEOB$P#MQ|X|As_GWp!gSLKS3#@z>j2a|reZ-IY3S zsQt7-)4^BBv_JdfeH#32-O25<>I zkSpmdh#g}?NAApR#yf83$L25~y{qtfQoH~}tYdW$Jr`FHZs@y579;dM2ryU#K9^vc zQj3f)ahTzP#Yrj~s@oz8Z+8gjLVQWwL&(C)EVjdnA~nKyQ%&0LG4UGqig)Hl^#v ze~lfIrtLG95{(eL78!R+j25A6DUy&8vhtUf(wrD81S*%M8R(*R&+DXK(~*nFt-vG& zFTx1r+!My50M9unP>e^J10lu0Ga&_r080g4LfOFkC&5=0NJ6NsEz2cn{>TvzZ^SK% zkq2@)H4rJlYg|?A*79aFp>XV@p4CH3(oY&**eDoT)LRA;{!PwMh zV{Gyp!A`crV80FEQsZW=L$v4=O|lJyC^-E$rV=#O|aoZIGo!~Nox3@?0USzQ-EE2ho4#4ro*YR4zn;jELT*l!|Ol!9UZ=_kLvLC^=&&m zfE~8tQ+SQT?(cUuSpD@haHNBRt)0$4v)8%MUh(`f$rfy=^;;J8cdHPSSZ+< z8$`x~yvH*&T)hGipU5Pe?48RDfnV^`>VNdI)L2yZUPWJKg59C!*#7xr@mpe4oyUYu8k=L>XXk^}}S zdl^9N6gyr#NF$?pu~50G`ng>HW#t;j86DTdvJPQjzmSWhx@!BA&)F1;Lw}KOJx+s1X;)^ar_WL7G=W;zl zbqE&GL~!||uqjZ}6Ongu+a-sf2H0T^&MK|!&nT0C|C{KGV?gom9Onr1!X7UfQcsHw z|IMP}?-Kt$BaU`T(vqRwWuiSc-)#85>xKVk{Eq>Mr1(DqI{)9me~-S&@IU>S--rMD zmy_dPV%LuUO5h)E2oK~6;@_f!!#NVoawM(*6RGYOP8g3~?1vGo!fAgE;!OoI<&Z#0 z?5RqN?nhZhd@?+hdVY((v9*iWc}Oe!Q!k7~WMPV)U#Ek+*Nt8JuCKiyTnK*Utec7B z{*I<&5Z0y#W-xB2*R_##Ugr*N=`TH5E*C;ylAi6N&s?4rn!)WAhkJtEz@dWtoq^oV z!F0+rjt4o!w;1>#r35%?%`|0 z=G!4e@K);`M7@A3JIQ(n6$l=MGa*3i6rVoJ`KIEHwOjKq9np5q>09LLCOXxszeh_p z>wbnB!oKRaT#yYo@v_O+{-rQdOkUrOjL+taT#$o{NAAq!jmKWFb-V!?QW+9C zamyfFd`!W;iVqHP817C7u^d-MR^hukc|=%QNRr1RjTtA4MQyx#@+om6_&Kq>HxYP& zOE)0BYS7Ba3Hc%;T^%;))4b#j!fwMBU5yrDUe$9LzA>$ucsdbT($yF;YI^9G@BN#h6=AgD^Sp4SqBYq*b5Moh5?D zF`uSW&Ubm!GBt-J-K9>=*lP=cEHnSNJ)p6NYx>PSDXls$g1miz`r8R-GU zwDQ!sYs+%0fJekre<61^9^A(JIMabeD}-UmRH@kVNX3@YRuRfikVkq9PeD=sCU>YN z?PbVRX&T2@!#3h*J+TbMT?xhAVB-is4rWaP7)sSmF#BMajfN274f%&!!yb$PHem`% zrUrT_AxVkcl<-D!V?W%(O=+w`@=2H_3dvyUXG;XP*b&^)gkd;fA^2EZJTI9X$FJA< zs$2T|BaY}|#0{KU?FZ>MW^@WjPFQQkNrNhoA zf!0H0M~-Zap9Ndo^BXgRc2-Mf5=j&@=NQ z&J=4k562>y#Vgtu7$hfDXXF_FZ-dRTXMVVZ97)XUyb`z2gOG1T^@foJ%Lf% zNKC7t(U#!0jgR9YY|U~U5oOP}MPJk^v4=ZATkPZ5GAj?qj0GoSGWV2K zWBe|98snFJggJh4g6#U%8oy@rYD3%co1ZX#INr(etA#fvTm0RQ_T%>?z(Ck3r35QE zVL61eakse7n2$*aj3_)|dRJsiJfR!J(@iVJL==+zKoVDgmq`3;%iH&nRB2*_{bHOZudjreLkH}CT4$chpbu@X!`3F+C0O_Qh9SCJKC0oKb? z86S&ZkCtOm#j${cO0_i>oUm=iqT1|E);}>8)Mc0xP+Rg9XX_96(|#;0`mzw4zkMJe zDNLBOLpTtpwb`HI<8jxM7?1H8=6Eb-1G0!5?7?i@&GG$e}z&fUq{RON8V&TtfIbAzc)QBoBl%rkt)Db250+4Z76% z1EM}KY}84}BWADrxU25gjp4Lu73VKF*!r@IBMD(m3gF2@GOm^bB$+Purb$_@zkzK$ z18o%T+nCgG;wgdJ4&uEr(ND*LSE}N9T3!UPL%11pKx(7n*m*0%hMo4>D2dhkA;y8s ztEgjbRK0kwYoa!axBB#2cB;}w)zo^{kds?uX`@`GRq=H3cb2rNqw4Gmnl+uCyOxu3 z9Fu|xZmFY$T^&{5DS&GU;C+WuM|}zvK2MpAyq%5$z3ISw1u>6DpuUu-mq^+CvQ$VF zVLB8*P)$XuwA`Wc3D;aw6v*SjcHw+UDW0I&!jaNa?1Qewlt0N2l#Q4g;(WAg1&CCY z9VtlYr0hDD?V`$>jH%Q-C1FgH(z-nHM(fESYMUi72dyK1pn2jtj?3(M2SS4G>9!KI zH!*QyvP3;u;*eyCCm=CSVG`)e)46q23NXH@c-DbNN~ORD^DLzRSw_F{ovEG2;Ykvk zxNe@p-`Q=6P2d_kzffdsE6QI^S_DmWs`P@Bq($l_j}YH{L3TQ(BJXK9)RKpSycY!x zAVE__%M!KVb?3u102F*mEp{m@U0Fj(EX>6?WE-F^f_5CoA*6*~Yrq%hp8So#SM^e8 zYidMCLbR)D#$?05*6SO8?jkh|zQ}oVdMN@xbvdNC5D`Ogwh~o1#zqDY^KSeF-0&|s z3$r-I$0O_sWk+{IY8qXSEFAY3^ZPN5d9i~47_K&_y-V7i_Ri#K?^OGFHGbYZv6B4n zp_A2l?mB=7U35TT7BQ^CaTR8rtB4!A9LhY0md_elP|KQ1rKmsExv&q2N9io7VvW-*o>LfHhs z&?*CzLStzoppcpxOB>Wv9<+}2c!at!uG0sPAJgf({w+!CO4ew{i)=_|G%^av;?tjj z7odbI%?_c4zdM8QDj__eAp9@-{d{pX3ae{oNTuz1GpT>gmWEky<_zt1L9*vJ8Vzq6Ocq5txT=t|w{A2Cvk@i+ zUWX7MX27tj5lF#ez`^f(gqBCZp4K2FF>^EVkYH2;Z5mw(i;U5*8h^LQfMwrK)GLi^ zw6!DQ4{93Lh}oDlRGJn`n=%kHDo;y%#w5_a&}NtWYH6vZ_6VszPO!h6j-aE}D}Z6K zj0l%o#0xX6Eus`-?KeJ?TLef3tawRrN-TcVMUJ`{y~0RASD^&E0;|D1k3{C?_+dp` zCy&O#49fPU4sM8g?=^+{MSqjReH>=xm8MYOwRj=j_i9D8KBGVu3A`f@Iyl}aVSXPJ zf$|7=0mxT#_kd`fQjK6vAlCZw&VtqYF%uH;g22AdU;Pcg7VYIgoWD z7Y5Ch17UXoS7IUaq#{r4s1n!;%q##p3o$-UTu(Yx8dxh&0h&ijF9GKN$3%|RD9BW| z*k!7GC7zND;;EQIY_H2T`1j2;!dr0eLDPk3AalRL}u#ZaM|3#g;%-H|5^w z1jDpFvXEy#Q)~^1swuXHL^Y|%I@cz$&W_6?DaVe>Q>DmMcV=tlCqwi=olOaoa7t*A zzI}TB0VyV>DmR2Nz+QVqSMIfxV#B8yb`U;O?ld-%drnN&A$QsW%yVvCc@PChB}-u! zGkyA7J1yjK@oiYjRUwc2NXg?Kl#?@(wQ&{p*NUIa{q-Hr*tk5k1nJiPS}IlETq(1O z$%2F(R>|XbifdkxJM6sN*>a18-2#=m#{du%^q6ikT-pxt^}l&^#XA>|)RNCEKFl-q z0x@wP`OG(PtmZN#1-x-TY2pL94Wx*RHgnm=DIpHjmNau9_u(NtIc@O}0iZft121sW zB&q$rB&KXL7biO_uNi0OHdTBB(8Fo8N5N5^lrRUT9A2JZS8${9VrDomkxrtQOocZA z+|wAY&Dch-%$u)7yXgL^M}pEd2lC+!jk2+=fx%dzaFT=&YbLClA!^?y4oyP-L33SX z4dJVSy)I>LftdR0De&q-u!{LEEQ~@`Y%<96uuzNLf1-w^jnSB_$fd*4BQ#RaXdPKR z**W*pnQ4>5bFq0&;KG`Qu>xnKgL>xJi6=-XXGI(P^+kJ2*&q2{8OyMcVWgB>RfB2i8Ui5yaTUozwre5TrcVdq5PQ33wh^pc}>eL zlw@-rnQt5a=rewxepHezZ|GNENBW*El8W(Xv|*F(JP14XEn>q)AgT`D%SY+X-7~sL znQc=BD2#KrcHhR0(E+;gY1vk<=J}MGRUNd~(yOkb!lZ!i(!ogx?f|Mu+M0$-nou>G zZ&v-5Zp=W1TX3NfDy$V_P@$^skmW3$0YpH{ZTd?GkM=r0hQ%hvi~${bw3e;{0w8Co z@rIXD{zt$w&wzI{XwVyGgc-}!`=%B>{|!APGT?PJ0LDn9`4E2(`W|a0w1K6u6SVLz znM{m^-jEs4E*(vxYS$Oo)g z?^o84@XRLN7y_)2Zq%bf(2Y`jwV@l>#dDCx4aXA3ZN7*MPm&i;;YCt`+1)JB=3nSQ z-&v>W*KUM9I$vZgqI(Ht7KLuaK@7{E2w32n zCl^?;IR7oiak3&s9Z{jVDrTibccLT4CH;*zL(!|WvXk&D6wT4fenQ6u(n!0Nb2hKoUawDM`#WD9Ye4sW4M^tv|WHFcZI9JyViBQ6ulLg!MJ|zCG`_z20<#cC5#4U zk_%+%L=yHn+tsp{qya7+6DZHyT#Q~u+>n*9BOA1`$J%vd?PcVj>$#W7j+}F>ts{$D zVjWqEN7a#DWq9Q6@P1s zG#|{Kg#IKUVqf}5t6Z0;!w~&fVq5vz>*HHFY*XO8(!w1bCm+~YGy)y#xT}b=Cg6=Y z;8p+|kUH^agbASeM;8Pyb?y%I;|fu(E4p!vRLx+j%^4=e0S-!$=EK?a zaq$|NeuVuIm&jZm9a&t=a-@2Z0edYN#HNcQOMYoBs(7Ue4bhEqZc=(UMDD>RJd;P6 zh}^)+vN%g3ku}Icj)2D;vHF@{r8(4JSXweXZPd8=wb)p*w8bCdwJ$OWTOw{VET-%N z&*s#I;A}zGE8tDh7h3E(56(Qz3x!i?o2ENIoC)*m51V?L*B3%IHlhLjNf9$I8c5&UfIgXuH@Km4XgyzqR)7!cG?u7l&Aj(p1A*d+nC5F)?g= zEF2LgUbU&Z8}iB!ES|Df&9gBa;$Z0Ezt`{!aZWIMPe7ntNqDT5R3+K@mnT~TCq#o> z14$o53196KFav)DgL->i6LC|oD$tk#8~ea7seyi^r+~{_e8#X(SrUCK-S9tieDC|rwFcgF{T-J zb5h$gvrHnTW1bx^=NX~~Wu1(t$>Czmw5($}(~A36j7Jzb6p{*x9pY~p=EPF0n5Chx zPmQFk*a@QYtCQjOFgXmTXv~cVa#yfBR**GoceI$T%XP^*S@cNh2N&(-ipJsM57)&h zl9%#&5G33tOUGC!szIYRg4BoskdK4>6ctwPA}-2T0xxaI0TzoQ2f;ovC!`*kx}j%d zntStWu-f}+i%U@y4ygU~@JPHnXk88H)FbKD8MrEReLprSa_Zgqp*y$CJPyvNFf$Z% zM*Wq}s6Wyf^(Q@lADvP6OJ~%vq=cg8-{iP~3WO2gDW2o6d{}pm>!+teN7(Zmdapcy z)TVq@iE>AcoSMg)aKtnf#ZnHkO}zcEq_tXRs^aZ4M`vn%z}x%6*JdJ8P&R2&ZK|XZ zg|L94Va(31oepJkWm8umQtbLalSW7iqba93MmjtkK7Tb@BbEa~bP=A4D&z=tyhn^X z8$!28c_(|s>B!|ZUaJH|=~01B%KLsq*9H(E=avBCePdh4(Ya2fG6}KFL1H}Nfl^Xv zo(%eZDXEp*JK){!p6FKeD$(imMUNDpPO`>9D(owf7$Y8d;Iz)P%NJG5YB^!Q^BLD; z{~E-|Z31m3t%BVKrYO+s5NA}t8UxYN_KzCcMJwBcG_|>6e<<`vCS&eS%Y~@nX?27# zCPJLLPn}4;Mp~}V$b&@bbjkf1&{A*#JAc)+ksD#g%1LNot4)22`$skQkMf$?J%j1G z^V{37Mg7o}#;{#*J|eupE38e2(2{2*h5%q=<>`BZswo3U?mXS-XV$VC`&z6PI2NSt z8Xf6*uDD25lgDZf-gcty+!yFCbxH6y9Y??mau5zA#}}U69DR>9q0LhMIGuXYOJ>36 zn(oz50KkXJl?g^liVmv^rM-5j$r zetNyQ|BtPK)H7=~tx2)TvN`W`+*h2xG1U0Wpp=v@MwcSE!=x02yTo$I{Y(-M8G(=w1+M-Hpy@T?w=Yw$8B{-yxmgk-r3{)`nH_bO`#fishu$IV`)!C?$|{+ z4A|_=IqpAiDvG3CB?X$E)S8!ZC}~CDY~zi$_qdI^cLX-H9`$0tSVZ%k(OSNLc0RQQ zg^^)1Q(KMqjGgbmo_|N_p5di$mWrRp;6(Us*U*1c=6pe64>lHvS|TGM@JOgp_Lt|6 zw(F~uxHZzdTpiycVw*z|Lc()I#*4p7rnsRU#Xl)V@lQ%Z@z?%}Q^)#~SVQF03j8>1 ziVuPF2VzH+o#NN5M;nTNdJ=9b>E^vq ze7@UG?PC%c(1qBMDrw0A@gz#x>Fc^i(ASP7FNtJ!j4KJ5Jr{`_ekFg5$uCMU?mZ^P z#=V#aQmTW8><1&X=x6dp^Uo*U;4!UN&JmIWf+X5ifhmUj6JL*o(kKvrIZdr(tnqGI zCNgP##%4AR(XV|S++S7{17bX|$JeYskMXHhw;?YYoM@IUv31)A~a!WbuAfJICwGi}(lnC5j z3q>Zuqpgs+CF1taA%<6u-bcEr97fZ{dsvVwES+%y&#Gu!F>;2srBP#iiPRWlUC6_N z#qPUogPWWYAde~PK2hSj`tBx2$ryMp2Muh_rOZx+gRo?F7^B~wF@wY`0F+3(Gq)5K z5N~Cls!3DL-->YJSe}HtA8>vL+3&rL5+38W_>D=i&h+sr9P}-mua!a|B8|i z@JLN%qVZr0`dDQAld}~^SsKw;!(Ho0@kQKudSnKU$;|;oAgD)FD%&xc3b8?_Vt0P6 z89*Gto*^gr-d+Gv6h7I#s5KQ&h$V}Ymyt@hr5H#U6mli04Z9)VUCVUIByk;Hep$=I=`Cz<6c+t!@mebz+&3JpIws;xA(h*y_L|bQVOMX4okF)lb z8`P;gz*Bdtw&WS?n_dI*k)1esA3&q=8}uMrhHtF?vrg&;E*dJxqsb6P{NshY@fY%2 zGSqETKUs&T5Y}Bmz1CBRMLWMxhPK7VRnV>h>vDi?vAT$hy-ptEdBhq3MjZekzs3>k zk8wHB>6RP_@x=4-jCkVNweDjbP;uWW@z+2O^%{9RsG(R3Yk0hP&@J66^SKVfJixF~&G3|5N?D?`C*F=0t| zMz=%CkdVNMMRB5~dJ#=r|4fY5Mf@$IwZv*+g9%kAs0}7mk=Vk}&NS7)4AsD!_R9t~ zh!YJfu53xn&)YrYx3JB-tT6Il&&ChIx7n&OR$(Cb*&v zwV!Px%*hL%%)nJ~7#uMm<^ z>uDj30y~WCPGOuw80996yjo8-V9-F2NVPWN@ts29#X(}Yf&$?@#%8?3wSNnvwtU5? zEyXr?{=!bdZSMkb&F^8F00^`*&&j=LoNSf0-8u3G$s>?!{y_s9HbVh)B>b> zRjP}jul;z&!EjVDC@a$^hewUa;q*$s0o&Af#Fz)Ar1X5KThJO(#KE6%Ws|&)fWEWc zN=&3z_BD9dzW;FzmZ5I(*LU0S)0di@xDBDnqh(DLSD<85t|Hi>4Rkqfj{^T>h@#lZ*-S}%d!HCz5tPP9fyxGNncc=MnzUs1*ADn0piWD9YsVdvd{mfexqfBuda|6r*?q zgPMVi_Q;IJ1B~m%ibhmaAQ`}uz$B8`&VsJj?z#)RtE+psBCCL?kN_qD6auas>j8N7 z7+pYD2&l~at*3jgWWwR!{q4)=6K1CS>8IdTMs_Loo78PgtPxs+O>Si82S4B(= z)B{a9*suKcVjAB_#-GJGKp;OZUMG~D)_S&_kEOw%vd%KVHqflLLz=>f@QM#rJ?_Z#OrkFE_iqu!`E_5B~4%@~UyDQYn z=cJ?bA_OyDT$!sAu8`0&CUi{PGA4@Bffo5s0nyA`ivc3|0QsbL*(38B1Xc+S+9pM@ zeB#Byqsf$?dA@~dbAE$DvnPK|5;WKRN`?Djow8%}UZz+WVK3s_0o@c}aXTbt$DPGr zw)L*2Nmoj;NfP)JH4+W9BZ}p-$@g=l5^C^_I&cMPY)tZ=G$QQZGDk!HnL$YysOB>VNqD9M)LAfaA><*#=+^|7_{=svI~ zQ=9pUyeF9P=H9&ovp-z>dY24`H?7$f-sUz|iOt~4ZwXi^V3hXn_vLp^?Dx^%@mum? z+4o@ z;bN+x1I2fm`TMWz^&q z=;6@evZmqa@B|n|Bpg}SRCW!9EsXd^PZK9B$mHwc(89!0LI0ePL9?RqqjG0edX1pDE8z#1yo)% z6Yy-Y^Qi!Hn7FsU|G5^*!M7R(Z4E&fCNuIA%M*sQOBn41=s-| zgX0~;QXT$&u5d$1(dtRHR7DaOfEb{&m^i+kQE&Z-V9xrK@hJPV1WZ^Zt?Kj`qp3me zta>#YqXUMRZ}{J9+|%C3K|as6ZrThDHle15wMRVHCg?&>@UCulKtUzTOHnJ7XMAvg zfPz71M)hh|r17$)BpzNg4i_tsQyNT|)+eH*vWrh0x4)uROS76WKl|R>w%a}Z7I#th4X}y|} zr@E@z(kln?ztexM+*Z20>s7HlC|^>cx%4Is>VXw`Ot^i!T>DwQ>s4WyZD_NWHTv?Xp-5EMWHxku?&pjt(Bl&4L0! zB#xZ@78f$%v#ZUq#c%*NO)mJi>qbvC0JzzX_TIYRQIOrK+1%ME#EN#}Y4|L|mqxz4 zPcuAe+r4$?d+R16!|r4h<3%G`Q6O}DeNuGKJ~08^Z?U$%w397oypUcNmB!eo17E^i z%cyOW5(lAf(?UZex_1g0DH}uy46G;&=>VE+s{6Kkx6owu`pWK$p)g0NH%~2B_+>2Z z;?>VZXRBH&%dn$zs-ZGBlDx9=4su2M)90nMmN%(u$SW{3N7>|!h4u2Q=)=nM(8dF* z;+*Es(+yRTPH_i0AD{rePzVagfK_)cT$)9>w7*))`-lGJR?nCp93pV9mDP8=I2xnj z=jNU#2gbH(?dVtNAjk4->c){nzS50*5Ebwm0)I>8=VQ+?7bUL|k2bXCFcrGdTlts!YSwvj&NXmtooYnBq9*^}JZO_e$NEoI$pc6* zdZANU={R3L3VEVvr#u0j3VQPz3y@D@R0DB}K5~TqlEA;&3tZRT#f{`6b z#aR_eoz!=>UUanr6!we(ia4?Elm0^ng8CgdkXCX90?{Vb19X#u{DE|=giDbp``G^9 zxWg^~kp;jjpkkm2>Un0?d1On_)rB?YJF*KQPQK=1@orcXh1xovC5pLX!X!*TpghA7 zSty^%RcB8SR9EN?UJQHRCl4TWhI$QhVG>#R1op^IxZe`icGc^)I% zPZFscpwcehp%a|`E_&TmC#f2T4k2ivu86RRx_h&{Mi<}E0{=N`y6Nei)|1${vV5xk zk4c{bk{Mv{k=mcW% zhLs}2a?#A`3tmV>YH2o4ImwXhtktt!wOOvJLP&o{7t8s)_H*uE=k*BCJ@@`@$IE+OkHiAgt zq<=;MSztt{Bkqa`9huddFX!osvMHlc7k|003^A@*y7VJ6q1Aj13|^y~3m8)TEC4Rh zn2j-WgM!Wa<iW^{+Oo}vcFIW!qHf6*I#)M%qWqoea@dwG}WzA1h% z11|Y;yfua{9$6TV^cIymE4`5!s=kpOYb&zZYI-v7s?Qd(8#+|0Ih8N3%IaliFO|i4lV0bhNxfEG%SEDxI6zuo2`^5S^i$-a z3r;O)?WzaQdv@804pRCDeH+b>eu3eYnx9)5-JcU+asT#4_ip(NlcW0nu6)tt%i(+( z(C9uK1W=ITJ>5*IpQwdXqG=lKgwBHQpds7V8%p=38+hxD8DU)m5JfJa++%T z98EFAo+hZuFjrFTKzij0se|RpLhA~0%%@pbp0%zp5+4U^q|Gm_D~MX(cI(P?>&kYn zY_YD~WnI~#UOGv}sZNkc)|uG~KiA|DazJ$Hy(sr8>kO)Qu*cMf6CLJZkEm5u>09Ez zw&!If^HR^VN$2IA$h=5FZfoOR^+se~rl@%t#GU=jOAlVH=H*HA;-EDza~j>x34UH| zbT5?8r7|5&d|4}BHu5E5=G45D3n0pk`=q(%(a5|&KK9i7!cZqJ+;*Ie?#8yUZ`nlH$Bf-kkIbzXVXi0r|qbRe21%}I@ekv3cS1w+q$?xij-ipD z2M+gbqYCeHlp~!(C5(kE_ypq_{wb6PohE+yKH7pV!}2TBhn?zoy50cY#12!j(q*`^ z2RV8=9OpSuru@fxfGl6SFx;#%r7(3rpr{k*UX(lh$Pb#JI}Es1RBh1RVkFBDjUqnK7e%>z{b z7GAeo4l??;2uh}D)slpclRm!?^)Ui^PKmap&A$IPuG{*YH2bYI)0Q-&BY8L=Sk$Zq z9+FG>d%T8wtyc`eO>A)?iH#_ZSaL8&q)a-4pl4QU_gbp%FycJ|0bkO#c(Gs-3BtJr zmPhlu=_gQcdO=fdTI=y8wPdzYJ5HG{PW^&BJEF?B)O=|o;}2e#QdI~vm+r7&t&!9i zq`-w}-Ot%_`+@GBqVLJ;oBurrN5V#N_8_rSbL>p37B%BMF(=Y|j(F=%a?jGLx5{WB znbA~lcv2?x0(F2gQ0QRSV2ms?QflfSI5ON!439b`OGS*~3@xRk_6(QN*qW&#s4WV} zCfdcH-sql1xX<N9@u)qJH@zpG%m?#YP$4jFe52=H!j zgmY-&fdEK#8TA4{OJpA700=jF1ctwb#HP;++d)wCRpoUu;K(Zvde8^)&cDjI)u=(M zdP`(~@RMT~exE~#-H@zJKz;D*_WEv7)g=)O*st z_2qy1U&8*EDSm~0#Sl%!c_73B;lD@V;B%qY3kDd4doC8su|>9#wy`I948;?`X0Ck2 z3jbTTP1)GpC{$aR!%-VmUv?F!rEz^FwUVD^PNyGbB}e7KR`}=w`DtYoXAzPGB;NTE zXV{7!&>h$xudXS@Qj?y>P3Ly}UR1t&jp6KkSmxD7WJiK2nO&!+j=cZuR?wsUnO=T) z>QESlJD1B%y(r6%Uy-vt)-~?q>#@Gay+lka=<^YMH)5K=4u#tgxfv40ikZDy?NB|k zRKa1W=|~TeUjw7^>xho>%XqW6_GCF-k|sw;STB_DNNen339nbwwj54UyEmn@M|S2o zs7SirVRtV0NTq-!5UY>Q@zKM=M`=7l*qO^^&|qIy=&`@sI6+Uo`htR(|Dm1z#?m_j zUl#0gO~5{M_XM$31aB>_ydHLd9Kg;>3U3)B%5*{n)7G`Jts7A)-;EK4dYXK&X~Xv% zwWQ{-8S7w4{h6%u!P|@V;Jp*fZvPNM8Fi`>Z4TspQC=r`^Sr~Qtp@4 zIRhu|L){xENLE%%r6MhtD82#c8 zyb+aEy5&?Hn`PNSV|cuV=zz%kO5}Yc=sYI=jY^*v&jjy0Lc*b;t~-Sui*;inMEs!? z!66gonfc-{SZ$snpMmAY-0^>=%o`$b z$w?}}-jD>?2~;kKLyxsT936#MS$A)?4McI)-I|k=TX$_R_ix=*VD_=W#Kgm{vF^ec znAax(b7e0ZOd!i+%XI(y=)kiBafZkUeOvdRUBLavlHE5}g)*7R$e3k*ve|A~=i8Vj zuW>iHB@%cdatVE{(XA~pW#aHtoyO6!{@6%>wZRhzt6*5F6CB;erTCw-Wah(F;=vi> z2(=6j&f{x3{Qm zN>5&SxR7g6vkDH7)2hu!pgGsw0u(03vTRAVY&6qR7X_0~HwK7e_|X(~)&bDOga4mt zaz65^6jx*Vnd~W|9)uA#Z*I~95+v~5fGHQN*wWSJq!$Tug7P<-PbKv97kaXKsXI*= za*UPO2_l;yG2^y1-gVs#$qn*hiWaA=*OevTvbtl)X6!m{AGXty@=dAURqapjXxh+Qj)-5}uEh~1$O z+h5JAAl8b8yDM9^B#nAq1-N||TO*Xv%pS#jVzL_ZIfPFG$Enz9NX!}UAn3@8Sd^O0 z!GD)+E*VgjcSM{O%q^HIQ)r@a>vA*yEHIJGd$57x1nlR=qBE}}UEm_jVvh2n)QUdZ z!r_@jETojPQR;$CE^QeM6S48c+OtKAw(ofm?ImU<(m%%;4%k2Ts%ZP}2hpD0VzfQx zn$G$U+>QS=on;?HQPMFs9x(w#;Oo-)^TrBg(5xHB8ag36R@aq`Xs~vf^6C~ZBEv>g zvE*muG?Dl^8jBZWCYk1Z!-0SgiJBYrJUYiVKjh)oSstSaWN(uvM?hh!7Aup-? zqk4OBVZ{;tOC%8n@3|t!PHJP^%Uf8{sK^4pdnJ3$blyUk67SeIxvM%8)|z27YLC`8 zm;-R>9Ol8}g6c7{xHS!KppbD+ED?|S*a*oze!qneR<06bs~mPJ5VfvQ@WRLiA>~M_ z966qIyu!nE2RHt^f86-h(0%(EI^*6gr*a?U1q{76eUrDwOXB_e7(e-Q@=oVJeGM50Vjhx>3(OoMDRI3xhmB5d~AKz7Pzt_b0I@i`l_u@ zU7bVmTTQijTTpzpnJVy?X`n0@8?aGWBi9RaVPRsb&x)U7|U^Z$Y*Uj;#P^;3n zaQ9|S_bt42<&%C64b;8T)^~TPVQ&v(8A}WGn4i+qIJoQHPKNEzS)Vt4N2}(^U#E_>;jx)bF*tcg+g~U_u(TP^((jg&qB0v3Twv?=nw2Hm zrS&+22C3gUl~@7W@-Y>on~mC2LqR<^!EyCj5nd>7N*R1IhCA2+gm8!8A{aqNm_F~q z)(iPAh)SR5YCU(+MPSLb$St@U7;RMEdR(;8&s+N~x4fi`RHJmX^=WPmfmA1cRsNVmBk3u{+w{y|MOMyz-LKOYxMp zz&%BBT>VFaYh?#uS#92bW}rG> zFq=`pnsa4Hl0?C(J)6vEb7y+I2#)0I?wo#4KJNb?^!tbP7XAKuO+5Yn?WF%6{kH71 z=(p_opNxKy$KL+~8cu6;r5})nk2~`Jm4>&U_2X!`>+ch2IQtKWO2dCiiO{gU{s`S8 zYaci^y8Z}5$olIs_IQICU#-To%t~geb_Bd^Rx7buBV~OoHT#fOro;MBD(mA`p24?b zua6t7^>MX1L#3975g)cBJ?rD8jLT-inlAAIP>3R{D)E3%Ax2^FH58KOq_^AzZQ3bKCgsE7#O=rcl6 z=A_Ukp`uhQ9yODK%Cm4u-8{v$n~0iXmcUbmu2_}C$Lq!vMWp%VWOGNoE2+JSbtvdw zh{4DeULV?*A{##!nzC})E{!)54_%Xf{n+*8L0RWb1QU zult|$82-F+kM;odmUf9la+f$Hcj1uS!?8UB(J= z|NS#E(un(SAtwBPTmHv|80)+8+Q^H7_dh9sh0C>y51sPuTS*G*(Jl)6fI*yfOF?wk zLxQ7ImmqM2n>+%FIHkZF+jCrXbyM@ose7_eh4T>u{gyR}*Ue-iQ3Yn1>7SEuLM5v` zRg%?W%1qEBe8#jkPd?T<6Qf_-fGNbPtu?ED17V7R3S9^3^~lqf7@jA@mq*<~K9OcZ zi_vZJ^%NCRF`t$Z+_HavAKSjY#s2MxPWNwlo$R+hzcYUS=E>O4ek*1lLQ+NTL)o3% zhobg06ufBrtb=GDu|M_1{?bm#Ij>a`_N>s!3Nu6JDjy*uw;&R_h6rZGpA z>~3>}34;@hReB6IwJHubgbjLfhFOQ@O+V@UA@8N!Pw-c`@)~8`31>~hmw{o7y7y@< zSemDh=4nI430{oYfvr1Y_N(Q@TyC1Qo2VZQlpoxBg6IXf8@6CrRPlo;jp=EeE|!4Z zNd)fN5x^J~#0e3I&$S^^ocwT>&uIFW60svDTaiSo*y5TwchI>cjiBnUZ7$1)MYQUr zGG6>H-lDx)V7?ms%emu3_5_bUjXLcod-6A8)`T*%CY`CuL9*>!ZEk%C`XoMpLt8nghl#3bnT$lwUn}Pg)%0p^ z0%XCq%x#RHuqY`0=mEVuh2GN*$X(eP;}|-TYzb|{sk#KGs`yCuc#D>iIz&yjCtHkU zgtipzm~y26T8v|Z{gAk)5JP*Eb)Ti-=qyPnD&Z}eLj>xhZ@`rJt{CMZfYWY)pdywW ztarK)rG0{d(^JK@n9_4_k;lU}ihgfbZp?OG~?C*_%*WUv_^19l`a;s?7+WU<4_E&gQtDY>x zDI>@E)22Nrp|3vUGkuB70sp2E$3QklPyPzIJ@a;2d-C7DG?qI!Q7@8>a62LGPN8m6rlGayN5Ybg}e8*@3iRU8X3D@yBiF$&( z@s$TFV2nJ_B9(k6xv3|~zY8kl;O_;k!(2;+Mm$B~NvB7XzCrXV4L^Bygk_b;gORPi zB#I}`wKPYKd#!jFi_KsCu$QSqf->iLv$mSe*9b2A4%34d6NM!n^pQE|&V z;f=(<&Pl|ywRO&2BPOIv-rz3Yx*RSSS|6oNyZ~a)QU<*tZgmM~{+uOapP)=FB8WgTQ$ zWd3vFjyg@uLWFWqQgVxJMhmSVmE(nAjd*?AC3!?i?XY7TOO8$9eb;hmIC>mO^rEsj z*Q5}#WH3(AW_%9vgvd%|hQ@e<_^o>(j2B+op1B-h6(~Tc2@S~45JF$8R3-J4>%8-H~WTYF=$RksM;9&qyTY4 zINgItudbJ=&Tp0>7n6^H+DY|FwBN+SweAaV@Rk%ywog9WBLe(w@xqnq4cpSqZF}~H zWz(Uj!M;1-U9DGo8|RZ4Wgpf6|BYZG`C|@9kBsi=YN>np>_C zxh+RKE=~33H=;KozBic7>hjwNf8`WkEwwbtWKxTTluBbqhZtb!8qCb*gCD|$W={Y3 znY8dF^O>y{Tze`vGhM}unHRhAjJperiF*FTLXnF|>}Gvkh|?}Cqp*FBUbGI^`#Pz> zlGfruX+?$E-9jA}z3z%UuWI(WMfo1OLHxl`QZeIfvEWW2`6Os&z0CP2tBS zyqpxF@@|$;ek3*&ZBRGI$Q`4ZN9YeMrVtw3dMwW`jelO;!B+d04@5jMbt8df1VWls zwE^*649-vIQy1a_U6v#!yatrCqi+RlBD|YgFSykylB(o>K#RHv? zdN^%0d}tm&+FEp(8E&sNd-L0aj71rcC78Hokf^kCM7yFpjtE7y^vD4adp)~PN`qmu zj?nhi41X^e@EYHF^C7C8o}!HvnWA&oxtt+U*|Y~`X;)JPRFc3=DROjD5Yt|ya>`6u zWF2munBsi=tzd@Udj&c(9pkG4^L) zrOo`v#s*Yc2tI_}mF`9YJZY>1tO$bw#p6GGD+(M+&T_o9Fop>yz^Ro-3|VQ_Ba`z< zbr-|Im$TrQDgNyWWALtpu^+AwjIEXD6;YUfTP_%r?m-q9Yc~u%IE-oe4uNKT7n;P{ zij1047#hbnJ^#bXKE&V=UMB~?0`&;FR$dtELr|+QPuNQ3zeFPR#1$Ho?efj0|42PL zfZ)i>4vrNfPt}Q>?yS)1mFZNoPCa9#%8=C^9!vA~Q)^gIwsY54~bs1!q347{}FYB;7bK)e7>L$;tHV)oFB%)95K$jRfp7 z6RjhSroh&;VQE_RVy-B7`Xdbd-4HWc&7ZiYboFJe#|vay^<#3SX1#s?L3N)q?aQPf zkT;lF;6o>`APaqEf7KTSLRMCeRfFQ|`pUAA!83cQJK1ulk2R2yQ=mnI)MCHakBIk3oxRr|7%I)|_Bu-2}grZi@ZiDogCeU6|TRA+md zMmPbIpx6;?RF)%p08-hO(qB2wGWr0>1@8dGVqS21#k_9A&$-0t%XjTd5pV zSy^&qWsoccdB!6m8;xbT#}7-Dd2^N7D(R7yn#p8LucC$5+Uv_Yefq9t>Hg!nU5cu# zD2DF^Ldb?|9D||_CV|%OvLJBzO4d1O0=0Fuxp@<&Jh96KR+QRM$9T?bTn3(cOXG{Z zhNskneG4gG)KZbIEl5QwxR97iUCtNA^AD2uVIyD%$zFWfQ|Dzdg9 zB~CMDbzJ#GT)eRCNm)wJ%Vg6G?s)qSJ*XmS;PE}?YN1Qy8w)ssJeFBP4)GXH^JOEK z$Q_j$Nz)0TSy8BJQA7u%uxs7wnX4jrr2!k1) zJj|u)PrSiXk6(y;M{}E!s`1x96A@W&SHF9|hZqx|&RxXx4Ed_Wcs*C-x~uTczS@J^ z_@;BJBR~3*p7bNj*PnPw`nn{cui0GXeU+!V@w}hxF~TbU)@n1)YQ-8R&)z0)lyfAX zXbUVODnq%Dif85|sInZw(o@iE&|F$`xO0iqXsAV7(X|)fBpSq%;z=V!mb)$zCh_SN z-K1DsP@P*3xF8u^6|zTx5l{x^lWZK3tL*w_&J=Me$-BawIx@8x1DG3oY{nXa{471# z@9zeh@SB;`a}2MQft&V2z@c;KP0mukg@pc_@;|ujoaED#5K% z2q4zDy>{p(+D6xhgPGsY{~nv)6XoT>jC3Hi=65)+kIe7lviSM^{;*{8>lu0{X>&Js znBT$lBXiWqQ!>AICiFFrtI6h9w_4elc}U)vFu$InJF^aXZnF<+6<|! zm@u#BFhv{cn4+(`N9Xl4=2gzKuQqFy{vVmyRWym4+0XyMV+-W5$jtuyh5gR#L$r;u zueJVnKEHdTy>_M72>)IrAOtgVf!Lbg8v!CRzyDHtaD;!4mZow1`?BI+&(OP=-@P5? z_Y(S%`TeY$HNU?|=&OaR_WbS={@rKu?>MWKJ->gURlE5$F3lpd+N8dT>?;%4dOl;i z$VmhX{M+D3>#8lt%(H&IX{-~x=v)kJ;}8KXtuVZPYr_|*SRuXK^hEetF}ZNISlooM zg~O!)a~>RCdsA+XIikWQ07gEeOM3z!rCGmsXEKvtI)wn%xN)Klb{YGu`B!RobpB}( zKmRYu{L53(`Ty(w=byIi=3l81)_yR!_<3dpiz#y2O(h+2VLfVcMO)DK$dF7}U~wD& zr}#Y{QGHfx3$H3>yIfw>3p4z}zTL}Z6;zE^(M;{{gZ;j%r3!#LS{+kPSxO3S2>sAi z2BSiBuTmkO*z(a@R#9Q?C{6N*;H(Ll1*ChL%u#!)qlFs?mHncMd=exaaHY5wW$_wG zmtEP#wFpOxO6-Ef%`yLQhbr%zBQCfc%sA5?NS{BgwGZE_v;{4%Rxt&dcb%wJ`q(r^ zQlc%qNDZZ=D5WCHtu0Jy`V*-9`64;Iv*mE zE{e{`{v^TvM4FmT$#fxP`ky$oUa&thmBuS#Xua~m2wKgX@nMEUneK!*kB#`}ems4q z-X2Gvi^J0dpUbB8#oyzAHu-*^Q(M^5nx-v$_kaYtFo8hLjg&XHIW5tU7Txb15#m&acq9a zjLz_RSIU18pS^EMq))};(=tVL>dSr#M81>_BHPg;#)i&Br7mP9{>=yq_qU>}#+JQB z5+L?FX?kZk%y-1$P_(9Y%XoJte!so zrp$5S?cwlrZ{|2h4w;?h6rNB|fw_MCKxU&wmIu{T&QFx;X@HHwdAXAixV$yeveeX@ zBnClM5h*r}ufpMoF^P*9Ewd$JULrfhJ}B`bm3NCLq^SXol6AWQ8#-=*RidNzB){CM z%Ab+#iC>l9==rM%od{QYunt8!Nvj%`GPqcKj1cszFa=?jr%%qVa&DD_&T;Lm@O(}d zsthZu&9AYw&sO^mbLM9X2Uw4u&Yhs}W#Nrz7eQnE0h-8pYOF__aTZ`Z7C#po6`e!0 z#<F+omo=6J{cV6Q*r`1x@_rd2Hxz#M+-fm6&9tB=6cOh>en0(EVq(={)LW3^^4 z2BqH&LruUNz|%Ii?A#6S)J7;tDGhTVkp7DJE7%#Mq*}uiwV( zj3p&D-3!#_OUm>P_}7^WxQD1@OVZw8XUo&5kl?6DBSc?A{%5jikVuSDatX;OW+~GqTC=~Ft5#!eDRS10e8Y%Z;N~D*ngTM zd8;Cl>&#N_NVlY%m#G;ilQcn)9yL5!`89Lef%>O%mxP@)}_0$SoP1cFjND{39-8a+L~!=*Chp0Z2yBTfO+tjjAesdTQRR z%<~?$BS}pyaFE*u4ssMau9luut${86dI`DB^%eb_;_#Av&S=&nwS4(eoYh$33?CnI zsmYe~crIcN+otsM*4>SFOHLXicDqr#d8mUdllg6Gf;O6;FAayIOG2rceGlSLTO#y< zJRf5^Uz6Xe5|qMx+0!=W8{MT2SKzHIML;TFG0XKPqe1xzjw6G{^R_L%AKz;+{(Fnu zErjavpK=j2C>McyuI*L9!{V+|E&}%=%SGUgxCn}6*)5bMm!sFdQuCF1TX>h6t0<#| z9G8kS_m7kFN~3T&xW_2eeYk6{xDxECwNt~yPi@jeMyHtNcgb4kn;>Dq_e_xQl+YBU zPG2F66y>+;lc$nCj4}*y`4MxF5E`d`QK<1tfW{CEW4lk?+?FZ|T}_`)5X@nat~ zydTYvkNqdgk1KHn|9AQEs@D_vv39cX--0MVPFcEA#-A@H@@L-TiTvsOzh5tF@Ib50PO16p&7Je--?#rb{yckJ zj6W~F^^n)g_nHruKY#n_f%)^o$=?KU&it07k9<@^E19D=g<58^i%WaJ>{M8=hkkY=hr-#O+sf6k7h z=SSJ`_Vt~!<23Wfv18Yt$Jp^GruY!Imw%&DT*Tue_O<=&FYoy9fc!Z57R8UZ@Dbz3 zQD-Lb;}f4BkRMA7;YWj0mTS$!T^-o*v9~*8$8+i1UMugSQK$m8@2JXFJ{-r6OUK37 z@io3DXUEIt{Dkb7E~@OMH(2agFV>s{YtJhj59`Q|x0fF@Kc4wnlpk-Ez7A=9JXC(% z{Xzmi=8a3>$Dw~sa<*G4S7}0#^>(Y+bAO&_&pnRJQ{Mco z%AWgA^YFjGF3}BYv3U_y;xL1D=Hu(axUs5^F}Ifr?c>7J$6iL|7x|L53KK3xteleL zBI4jX=g(0IQEVmfDs?Tk5_pZm?(Qpg1=e5`hLD9iFr+ryHeoFP?x$>7e?WMGy`50YJa#in_yXmpO0CEv9!C#Vc8ucHet?C`ijlpGit9fir92t zDde*qATn)Q^A*#)*h8*y(pEG}IQnFd6ppmdh8Hcv=h%Ytum1zXC>QC#a5rLs4n|*6uiTAU(QIJF=8WfU8CGl_ zzRHqe#h9$il*wA)D^(`z{H>M@mwx(Kg1~3ltZQL$vK= z5K+>%2*-|S4ZE%`7i+P=YC8rnl=7Hm82QL>GQR1t2w2q8kad2@A< zZpCAibmJc4t%x54t`^H-e5-7TCE9RTm}{S~Wm~bf-~*9u#k<~2k!0&v!dWuCXV_KP z@$etO+w?miGuMu`gxU_7WTk&hw1gT^^*93oOn$qalMeqHsm8bVV(n|hTAMemZOB(h zwRDEtQK}{GADSxj^ust)(BiRtOdbv!Nv?L@Y*v2|m1nPtA2=e<x&mOhm zxAqS^M4nAdlxL?a|I`j8&o-DBJu8XGRCGb1c_c1DghNZz@s;I`0JZ&n#XAw~4o-sI zq}-El`bSxkPgM=A1ao=OT-V(QIa_S z>>KN&`npwZk_t2>QN9uDbJI0&N${9O@)6V5pUq3)na|#XXEs|rQ=)jL!~WUU1je7$ zfn7okow3U-y0tZd6*LM>;SD|<>hW&b)m3qddjIQUih6IpD@FZ|tK<0ux9s!3jHv*M zOzXp_<;m< z{cWtx$ld=_@9g1!jH>IWNDZS-ytBodf1JABe3|g4<(+;1a*J0F!8?0LTsnLeFSVcj z^QmhO#E<8cDSph8j~GAp8=k0(i&k@e`m!jB7om%xu^ zSv)`f`k6$2Jo(=LIX}*v6XnOJmv+vN^WOb&{8)HNj32$19x^|E@b|bylJmQxO~@)CAgni+I2KfS zyNa;W1C8lK+0E`G9PCp9;M)ggty9;c;dS$$ZWmtHi#Qz>T_?eH&vgi{E0Ey2F_GXp z218PjXmFk1?wfEa!t2b@^lb-yUBev}T36^IgO8kV{weU2VT~_71o3NJga?hEH)-4+ zKQF0kQT#mmn{e2Oi#}XNhCa{(-hTvsM%jJa_&J-tZTu8*Ck{WNU#Xx>k{VG2sYFih z#ur794T$D4c9t0DdJI!lnN(qi#j&tMmxLX9&2K6Z)#LdPoTTo2af?_#^P|@?X;<;f8F0-A)#JJKB&U z?dhJh4XuQ0_m|`uq@k+fm2TrL_##hbh_b^DC!T|Q^D6Gx6gE=5-aBBOx z`*xv)P>JmvyTRP>t0;cospp3l;i7Fj1dL(XT6D6PWuf zE=hU3KY|M1*e^T5x@J9?fc5VdL`M#BneRU(SPu)s-ooh|O1>vTmAG8@agZ&ctz61Iv#{n_+UGpk{u*v&c?i>R8t@8_V^dm=V zy+|60Rc7tcF=d3hhmu1jK<>Lx{aQljgmt?d zT7AqQeH637!| z>ZrX|Z5Se;3pkR#P+xu!gRa_}UQtxF*BX|y0|=6m08}$8o!qM0tA^FtZLD;iJlF|r zk-1>5%4FoEeApqARb~yjEaZeqtO7G6@e8KQq^qfPnp+FM3qu`hCL_48z*qHXX#NYQ zvftr^PGONu;R-0u>+NiPG)U*6w z(B6C_!!hLH49A6hzmw1IeBRA9Kc8~nk&^0krln_eadvek{!3LXl)yhJek@8+{yAKT zv6~QMWR9#aLTFA1&AJNNs~LokVU|jw!lN7$v^eJ0i5ACP`-tM0Gx2<0W^0c%)T|_MVv98kk_t(tL{WhZrv~&WH--pTAD?2a~2pi2l28zs^mErgUf0?s09DhZ$U&Z%k z{+{Ib>-6N_#Z5h;V3}$3gRvnO?;3Gx& zOKFCRgofn`>12tqTh75dg!s6|XtQO-5VRyzlb3px?|bU5q2y!*r>s=o;!H^eX#7hp zfEj+O(UBPQUZ;AGvBO7ZK8sum48H)>rH<|BaxmV4fv~i?#JFq-L zsDvO1ql~R+O+PyC~B1pI) zJZ}q=c7g;UqHd}OEM`Gc$ctGB$X2N&i>0#5LYozTJ}mI%7-WNcv2EvM*&(9~HWfB! zACUq&niZv@q2~CtL1(0a~JW&bROE zTgIK1_&a&_oloS>g7`bV?K`XF&eQRCz9%A4Aebk2X2jq5%)ax4+>yNNLHE{S*H7t% zKTlFpnoIEMhDy2aF}@zMeo+-8D&c%txA3xcCbGNYYj7#04vbarY$d&1?Qdy7dc90? zhHv5+X6QcYa`?VLTdFp5I`_C<|7ushU~tf?H^fiE=fr8sP=Cp$5aX0RYjPm?5t2L1?%;@% zwztrhJ6CdqG~UZua6m8TSl(=gh7NRun@Hndv_hNl^bgTgPr-iMT^1}|>3<&fK?zX6 z*S+an%jWnz17Kws6Yt<=gl#gy-K6b4g55xHMAdoIK#MlB7r$!W(`vi%NuKa}9(Gjb zaB|a^znrX{q+6AtJYCPQ_qp=J;kBV#XgU2m$&8`Rnn~*jGWs>$YQc3Ejjg;g*6HU0 z^Nv29;b;VHV>r?t9L03l{>nH!X)_AtdSKa!SVG$3iZE(3h3rB{@}Gdj_IXwx`Mz8x z)c9`t=V78?q5z&?1Gr}C-Y`k`g1>ZZlDllK;6RznH>utLG%blvRYAaScq9gA)MFh7 zjELd2~b4?5TeNBOl3v8?Jh)6CdvRo!uDJ*^NxO!8$VK$qdH`{!ZfW5&o{@@2~v5$=??K z*c*0DOYfTGUq+H^2Y0DUR1>zoSot2whN)69aHK(Hqw=M-gcd?BRf{Fpk3*||Q7FMU zqUyEV;6Q%Q;eRr$kinQo9x~-_ezSYXdeRegtLWzbe2-#R~q zKnjl#WHF25jYHAeX;)CfT{8S#Nd}AaPb7fgNZt6gh%hNTa|?@Q)uLMk^vY{G zfURIY)`q#Sf;mf-5f&q!zdNI9JxsAe2?tcuTBMF-6+QVV5g}Q5SF6{BU@S6Mh=|er zm+Quid3=kUR3C1=(?XH9aE9QkoIDQwL0%?n^+GbE)sqZsrB`#ew7T5Js`l4TjrI`t zct3eMf@Y4q3v^hfF%e<(t>qow;0ysM0x=@1$-04{BEKI-$m-lG8dxLvIa?enKZLT1 zCn^C1Anldd9hhn-TU4=n-&RtI8mL?4A9GbLZQ+W;YYZVB=vX&Y_BMlmLQn+0B=1?*^1!g}6fQhtWos&_ zN{s$h_Z;T%cXw4S*(py}9_=z7lwpRO18s**>B;pSa-B+tb_QL)leM*a57LaKmL;&n z9yTj+->StEguoaWRtI8!(>RkKM9Gm$&DM z`^EEf%u2rcf~py$5NPYI%`}nV-e8Zv+<>$+9-hASnG8}5tPF2Mr`9U%lmuMw~6@I!e{(k17vvVEg=#2gzKz-H|*PiGg%h^@Ck`IycO;%RH z3>u#q86v}zfGWslB&V@L_roKdp_L6IXzja+W}~IqA)!?sj=U2jrN_{^e4|3^ZqUk# zq0stW=v$d735*H$>sqML>Wrba*TM)|)9LCPLF=2e?*y$y7bHjP?tP*xCPV9GXGPEo z)Mt$(!0MpTO5-GG{bU2xlTL~wW!VGfsrmzJ6w8`7qL<>H(`xD%L`ycl*^jo5zu8Q%e7&NCj2HeIiN6^j{=z!5ZnDd9y7#jQ2E zrOwN!jq!agJz!s7G9vR4`of$Nx|<(?SEtIds8x%;ryDQn@*$YO!|8{rk6zSwk#58$j_=^M>6*jdCnOt9g_+;rU)Vv@BD5_-jQC z*EM;K3Zgyl&Gr@Tt~kb{3e%AIJrGuTO^zyeHKiZh-4Rl>Lp+rFH%*nBvg^=De6KHf zC)H=()&nawy=cu8=xSrM=9DB$>50aL_je~{9f%6wp$9KXF)w^v$~kQH*4>URry|=Y zRMD*7i*=U5MjOnVz8T~wAJLS4LU+9XB%-p*&KzxR-7aM7wu1tTPCc-1fHqTbFGf$q z@AoHDdPalB%;RG{c0yLhjJIkl)yT@=Qwt!9j~#pvB#a7Pr{s2hIAnTjVzf z8P<;c?0|C691S>5x_5fOyb;KR^llrSNP4@4^t1=(%RVZMitOXXk-oGUL_8CG)nU6j zWkl#c?udNx4Uj#1Zoai=&lXfnUm;T#FKI+t=0F^g(DPRx8p!^%-Nk2;U7VHd;yrTF zoHuW87=e@6^9|gJ+cUMR2Q8v#F0f%DJN~(-DDoNWeBw)9hJlRyN$eCTa{@(}gV~DP z1YF%C%1KMLt5zyGBu&2ieh@PR9z?1vHLv|8+iNCzEr{6&A}JZ?TEdgasI$s`#(ue| zane*OX_20vHo@zVID6#80AGR`Luo)&yU9mEve{B;t~Yf(rewH`?^{t^zti*g$+m2t zDlaz@oBuoJ8$0CfO~PGP`3FiuEM`dTaQ*TRpKqNr$Ux5 z0ea)M@4~i_u!pu?9QeK5TeK`aOY7w$8fy$*m10#)ppmInyFA41&xZhU(6_}bc@fuu zdWH}6jMnZMPw-Mi=%}!{`DRHcXNylOV*Vh+X9GAie|MsgjWJ5m>||T?#?fmhri)+8 zvp4drqW>!_`nN@(EqZM}S{kGMNlE!A&peWTtl`_Fe^MT#-=S2wWQ&WZ_@GryWL>1uoWmK zk1#lc6g!kKI4-P6HPs`{vrfPZ08!f(xeFOH%EOpzmczqw))wm=$(Ikt0Ipg8z(qn~ zDqU%gXafb*jFGsNoofFm(I?G&Y?gsR)|lO2kc5v^YWYNr_XT3-F63QyOp5fN9DH;* z{mWvci)ZX6DgCoEdLF94Jm)kCf)oyXIJbZ%X7{5-8eNIqVeG{me3CEm2cN|I#4SC& zu{!f9@XJf>3*<{I3-3|+63ZM;!J~a6;LR*cw?edw%_b5Ms5K6Bn)jfA5fLq4HR^b= zJb8mpt2B)f-=D|$I2vGcMq+u)x0H=JZho2FY!#HSOzV}ZHw~Bd*1@OZyr$I3o2OPb z4o{cK$W~89@)vG?HBX4#mCL}{C!a2T1baLTJ>c;P)kBssISL7tG=9Xeet7{rIJZ}Y7b?#aZwm-K}iaQ#V*cr%}XI~ zw)tE-VwX{9F7}Wd0t=Sn`rO$1EF#i-<%y2aDbn?x6y*%AkPAm~!D9?}dYEp~4^F~I zBE>WClhnC))cLm7-Tz5>Nu9qfu&4KwbA-i%JqDIy2(F%PzApZYhVWLD#jO%qpTqNL z14^E5;asg!US1<@=8*c(%X|=NCn*ati^Zob{J{*&rfp(`>I5#S{D6VW7`aMVNCuNm z@;_RSM|69YM6y6#i{>lrMZF{PKcXaTB`u+__m&rVK`a5}A44II{&fc6N3%KrxRy&6 zfb)0|0Ly202H!K*(+Tj+R@b8NO`HgP3*+It0TY727idhC*G&3DNZ${Du8sf>jsmDz z0CoyrdJ_0{{6aT)24)9@uNQCcs>|C88@b{{_gfPWlaLGd8T|5W^JB9Bi>){0a zl_tV>I`A3s=o|BT1iW;GzCVV#?FYQnj^J$%M!;)9jO=%QSJ0G!C%`vPU5n!Hk-OT# zSGu%4e7EwN&d_(G^@jKmRJ?kmvw;e(zn~gm$x7Ij_U|t&nSG`(J}W2-zP@L z`E60xqVTvd4sb`#k*;gL{(4xTKhi3Ag&Jb8-y(4~x@8FV!z)LIuJCiRZN#H9; zgs&IyVVsGF?-EXeS`2JW@b5#Pv-~F$8DtdirD3S$c+@_bgrgftTP z%2it5U6UT=MW8g)S9Bi|GrOs=Df`vcro&_?IW&zdeetUvmZ#y_<#p~hYx!g4(`F7u zv$0mcK_0dGo%x2n`ibcTdx?81D<3bA-iNQD_hpF!=ll|50)g|p2%O*TPW#sUMO_D6 z-OD8c=PQ5i8~d3Y4(MdPyV80xfnSQ%wJ5HRyB%Cb);nyQtIh4W=hbpY?E9oYftQ5G zQ|!m>GX)>rCa|e=#-G>9RyFi(qI7CMm_ulo&e!m zbu9|vyj$Btcs@P|YyGw$tdsb`&LNy;y(3-#jOUU%M{&skA#^2y@YF;IdjerZ!YdTM zEefK22nCV|nPRT!9Ka7BRJY>+T+Jl~Ah}BqfWo=f(+MbiSY3;v@Q!iv0(%Wo5WdH0 zY6YPj*kF<`+&_fFIzo6-1j54(2;sgOHNFH0zfjkr5U#$ZJ%lS86Cvch+x~F)YwI2H zIGo8Pg~MBU)F#9IpO+bx1W;EZpvMDfY&lZ6yo*y#vDtnmv{#vDI%Sw0)oLK|kbb}= z1?f^A-9N+3x1LVGcu!xvD_FKJQ&2apKzfp@b9J~4Z z{cFTha6SG{+LiDp5$nfDEM}&*B!z<~^>XlpLnpEC5|8PGP*ON>vK;*&C2lvJ#2*p( zast+qLBEVzPsXU4wrpiXQc!_{WjB%)VO*BZ-a!4E1_C|#D?CMSYBMfn4b}tqST2Gy zqG=QgmGKNqfn`0zXmV+A*eS2cPTLzKWY=5t-Q>X@1KaLuY}A`4V_e_dnz@KVFPQr_ zVU^xQQTY^e-UDKl-l2jiFFvls+2_cB}_*t^}%eD-34%` zH~KGPueFK_kW674W*_nUGHDYYiCAoL+e-~! zABa}nPc8aloPE)pQ)EX)1%2Di%Zt^IQ7|i+J8WAb_W9_DlZQd|ra!ZPAIp|_>;;xB zacQIbMW))lU0H>EYt0%&_3UW4)~tTa3%23`4AmwTJwhsFYEnvab!%37 zfg8*VHrpI1P!k(@|4cFE^Hr+gQlh{&%RJ>N6>fLPs1Gw(^TjM-rjc1ycOT)XJf2D@ z&Z?n>F*% z$6y*Q%RS4b^-9mxvV3#+;?2zxBe{E+H9d10-LnAUZfDgrIvpnY?=H%+=15sQfB3yr z(Ah%d0}?F999*|IycoXXk=5o-ZJuv^YDw+s9uc-aO(fang8b<# zME1ml7%Qc!Lm%hL`uAPRuwR)V+BPSlRXThb&e`#<>sMQnO|&L-9#{mIYf&&=m-J#@$D8?Kj5I(oRfMYFw5X z*qh)1_ZbrapAM6Re{T#a#rzH?&C-J9Rdsy`RukqQcAV* zIBh{t_2`ZD*dpQ~UHYr%QRREvD9dBRWAyfd>J6*&8ug`%R{f^>LdbNPn4kA{)v7O5 zUnru!hP`uugKgDs@`X6=BO@WS{jNr0OP_a0pI56Mj`W|Ch!8x*#O4PxGWyD@+izDN zYQ7EyV<=rM@~mqGAReQh?WWayi}Z`S%_brJq)AV@#~S`ZsZ3QcfDnHD)W#HA4&zGOyr7|pHyfGCrG2&)dBmC6@& z3_%axUqx%y;i;lx>b$#oWH8<1#r2twn!qU(O1`U($GD7@%(uKty@%!2x{{A*la+je z+#BabX&8edx(wSxl`P5mc-ZgD9cMJl!`H#;Uwec^?w_rm_896g+c;HL=66VHqo$0p zhox>g>JFn=!urZm+GB`@>tcYTic@6{t>$qqQg3Ba_m@&!)POSHY3;^KR~e0DvkKII zkKmu2fzP(}2;Nz%Em+A5Yi-Pos#RTTOS*HUdFz&d=?b(RF*&1Z&kg<}J$O%wwm_q< z>kwOBYD?A`%VN!X1c$dsu~pSPQx7+(*8a_{X|9)3pyX0H(O*F%WOGXCdzn#k{%bRMR=Ocwe*uVW7Us{jy z*451AOG)kHa-*^4&-|ZK_ln$9(J$)kSP7GnC($Z!_!>BT#e60{IF~l&X0{+vRV2NK zMR|`sB4LhXk$Mq@>iEY!T z-qYMwifjdXhSZ>^$QoU=MZmGB_%+@vq_-#&(wi{@6^>5iJ$<7P)bTd6jBZs5cMqXaXaK|<*xTJ-V!WZqoT6rrtMR?U{tq8*3^fIUnmqn;Ku1vI zfgnUWx{YmdXamwCu=lY0GSF2Y=oZ+UtJQR&P4p7ibN%-bF(M+0N#bN7T!@CZLxcnK z#str0bRxBDgF;8Dp*VeG?ZAYzo5$VY@LjJ8BXZv2N-Y(i?Z=*W7BdPDFmKev?>0wnuY@@P}dCjMtI4kM_L)X)Jd2>%FH zYy=8oCKA^hdIK3!5*)q*rgmyGXVc66kx)+y5tOwGz(u1+jT+_JZ5qoO%mHaF!Su^Z zh}Q@fL;nI=)w0yu$N$NfgMm!uD-ODErUBgmpbP9h!hgwrfU;+7q&hfnt)}`n&nV`I zt)a|hvzfJuF5d!EE)^93xu1QGMQn{hh;2T1%wgCcw7h0`Uq))afm;k292aIJ$@K(# zzvL0_JTAx={YiUp63;6gN_4t^8J+>2yh#J*Z2d8#RbGU6&7>Zb4Tg97!{JmZTX)|8?((t3B0XWf^sP$2w>uwWoS|4K?qKyPg+GuF)P5F?q&l<;Mqf zUF!2Nm2;&@;0;Cl==JJ19n9mhVDPesEey(irGcJlVNX34Q$mw(hVGEbTAMEVeQ>LE zfX2Bs!`eGbTqByN=x;I2^Sb5c+@NHkDGrGcu()7gf~aYKdAT;$XQ1E<&k9e)S{-tiNpDRMetnADYeaYrSqtme*+0 z>u$)#-XI%0Phg)m*{vG`Bp&RARfC9E9Gw!`i670T(GKs~M34vs&qR&L@p3(v`?GjQ*XG4ZMgNucg%}uqZ?Oc%QV>LA(Vm+FPZ|@ z)Jr~3fv}q{QkyIZ@?pINM^dH|dlO~vNyBM=OqBCm$)byXK|=l5ln9E6>R>KMOByIE zOYIo8Iaf@JTJ+een5-8vS+e3w))i&Az(@ocNScDNDMVnqUPtS9aGL12ioV)H7ctnG zUCW6&>B>o6WCf9SO&oR ztP#u}zfzDS+ieb2ooz)UN%G;3zK@C4PU6*6&dd1@kj7{W^kDiBQP~TXVNfdia?x!x zxfVMG9#wOe;czyI%;J}IDR&obtLURG@ju=LJIZ#)q2C8RE63{d7Bi7iqwbF^VjI%27;*E)w|dL5fq*thz>D+uKL<@)t$&L z0e!8@a5QX9l`~+RP*YPV_+sJoQD=}zd{IpvS~2^caA_8&Yb{_@(3uTU(N1l~JwPgl z&_>u(hV@ORYMG**;cA4scKgaoj>0+UFlhbghu%I!<+y%u_Fl~#q|GXYGZ zyn0HKbM`*_vDVt_y@$}(TEm(KH2v{1 zoM5}tco1Nb8Yy=BLrVZCWT8RxKSmvY7;+b!#qxdD9VVQ`gy_$hdDB)kdCw3!4T39- zQ#dTasRbt#&PE}zB!Gnxy)m4-94|bp&;uQJZXxCZIPs>xpl&|WEHtYWICPl97kR{i zbdm?U%hW}A>PHQP+Y>$UG!7DV;2WFUTub1aRnU!~HcsH-bYo+$%*vOI2kW+udRhNM z{~mpx?4%@lBgugl^#b9sABOKQ#(IXP^%|iSh<3diazL#+ zIw77)s1Lk#iF2iO(8cO=ybCtw;(Jmsh~V=a16&nGK>!aFw>^Rmp|(+3iPF)pI`Sco z;{4T>94k-fmmU_IF$k4l;$a6V7P;o~#A8(DGLN!!ne2;I|VI=f~07nB`uBKzb!-wzRf{U3EQFuU~j46s@n%$U-4u4(&Apl(ZcZk z3pJeh2`440G6KbBIOEUVbeEvVs6PxNc-?dtIPet~t1G zkW%R+6klL#LBp*;(<$f9A9aek^H1mA)yB&P3;{8J}}-v>fTr^9CNUK4sn{*dCEb? zn}qjJQGdLy%WRD9k1sx*!oi2b{84%QE)m%Z6CFv8Z^Q^`zEYY6C)$!4lSApM_dR$$ zDX#e6x-&o|W-c4<=z5Uxxk2 zAG%>SxF>fa{fXu?nv}_aV4FWGwBVN8A?XE!Qn%Ah>h zOkoB;b@(X?ZKiGqcg^~zMgO$wAEkdf@Pig^{hDK4&K6OjQ~z+5i>fzg;-|22d=`E% z2CS;dWf}#9HACrROsj{i>D4MUZOqsH(6UUs#7x^QSbUvJU0W##EH9$!L&Mo!yJ|5g z_6ibt5bevphV90sZU@n=3GPb8QRzig5hBU~rGL2;p9fim=aw|2(&_!`s-i zXpAe^+CSLTErhF~MPvGv4=@>8@f#g@XD6Z{D6CH}1FLn8`{?;8?fuq+(K_dQxJ1XU zZh`~rhMo@ z%l=zDaKH9v#(gTY#%FbB7sdq_U*t+DJ57v!qw3l(y2|ojRLnlPeFeM9&Qg~xKLXA! z?p>Ut0Rw>9-h)+AH>5I{yNdY5bgImdB2p0|(FL9$2_TGeBDR*y;L!+<3PH;l{>0*7 ze#+8JW8=WK3KfP|yL2#iXePH#^L=L%d`p~u8%%7&WO)g@Lp^ll(}*A0;unEY7pwpOEm z#>UrVsk7L>LBU<=;NsjQ?RhpxAcUlEPP?z6QdTgv?ODM3zwT7@)f&8NcWiR#){Anm zAY}ur20%RWr4SxcjG~TbxW%>ikRRyo^}=2SAP_A1+qj<7E^_sJBlzBcaUood8#?Wx ze&t?u@3tX`Ors+ty$>4i6?7%n@C|V6g9qdCZ3I(?*}Y-w!7UoCUOoi0>VI$x@#=M4 z1Ft^hPdr}bsV4z;F}x~PQ)dfaWxF+A6|3`mB+zFeJjEnD*AElwak^a+qaLS!jrd2G zy8cJpPSOPb!Wq^Pd^(gq&@Ks+ObrB?u}JFB+IQHsP^x-=CpWPZ=y7y^h<*R_?5^J@ z>jCN|-_KMp59QA3eE%$IKkob3JLUU=jOsdJyoZaemfQC*H>msJ2Wb_x@2}KNOR$G$omsd*M$M~X=PII0Ee28F`l_Vj~W zyOm81zJH9=V4*N@jweUyNi_=0|DsAehKT)q_SwRt!Wab#U7Esm!!Ar_nOxy1JO7MS z1{x$LgMZ@6fPXp%tIqHzt|lbfJme9CRQoX27~f&D}re z0McI=HSt%cIwC`n)oP9z=Q8d)4`Pz< zMF9s<)J@C+_#z)#`FVs1W_2)(ji;&LfNX3p&E%uk%zz&LZE}dt3*#y-KW}Ea@zp; z(BC1@|H*Zv%AHPNwcmOvPD3ey)jc;Nuo{8gBWHF|REpxZOJMaMWS||?x&7BCL+rrn zm!FQd;13nVFI~cnY{ZQ0>Yt5lIx2oLhJX-YGA6mORL*4dEUF$cyrF1#YDyceYVq@N z1$z)KPd$~%fXcQ{{A9FVE0e+5=a-&cjP!KV}SIvc}2{ zcYc(S;!i`iq*laGa**g>%GuDZFvknUC|&f)StuIM_M>l|J_JS7qM)@u;1hc1LcT7r z1iUt7qvF*YIny~I}6p?8|{~t4#rC~pxXD7``~_?R3e|qbCYTc zH-i8JORdCD9@R+^Vyh1bk!+v) zA3msYVGaMPkWUW(c-?~EcKjRCmXUHP{;_N#e&aX9lkSK5Oonf<9~Ki7=xEPB%doxs ztjRW7KpMbK=l&iYrSKM(zW?_J0b;OfMR&sjO(hZe0YMqOY!f4$;{#jCJP_Xrv7Jb# z`A7pH%4;YB1hzG?O{8hdwbOe<o=;7m?C*JYtT*5rP*7JO-0$~Q;VDp(qKQF=RAyu zrnvk9Y4Km6U#YEnf6GO!a*%FWWv6QmMiT%fN`ax--L59PvhfmFO3=kPmNGAnPfdzt zS?akDC^p!A-2I^p0BHx3Ax-%NVpC+;McE@`D3M5iue>FJ{?d92l}G;QgW$>Ym_e~W z>>wOOsk-F=sD)<74NX6;h9oSkxUi8uXnDmy?L^;0J6TUbNrJO>7dE{lflc?s4L`Y- zH3WcHoByfV^m>=grWb=v_r%!rg$Z+78rNvjIUTBIqe0PR#fVior#X&TQOgj=cMtN? z|FlbC1`0)f%yKk~(S7cX|L8K$uroNQSi7=C?+f2=#})#i%@uv?hX# z5{)D_bR;g=4Gex0PFudTcM3OP3r5DqUFzC5(A|QqMkSRjK9GlkMx&CxWoFn+wMD&B zN7S2xqh4TegOUA7HV+r4f<_?=QKxW!`1^h0Wx(Uc%AfI7BpzBYj6&NS!rMYE10r)Q z^oInI;y;mCEWW(79XcKGn*Txy{JWo{Y!l7PVuN3yEhU021on-#_c*A+qPu5u z@LNsryX-wEGNLl!w*gc-!Hn9CMV9R`;MZeK1M-6l_rFx=m^O13+d57{MksWFe zG&(2PIV<==+#lfoaHxEuB~kqZXidi0nNcd4gTta352K|)(t$$AdC+~lqQ*d;ur*20 zTl{(wR!%s?UZVeNGSjBG+Mz50u4B>Db_24?Tow5<%F`NBM)JVmg8K3fK`(!H4jF-g zm_YJ`9)~B4b`BR#e2bU|@62XCqGrM|@&?{ych);txL&9|0;{3fD+=AV5;Ds^RsShb zq$Qd$ig`kq8coA}U^fZxUEty!tr!yf?79krL53eBB*MSIULSU5o|tS}(|5zX53%4y zy9mSBQZ{H-O~Syo!2E_VwSe6cJ@`NDDd6qZ zIe5^)SjW7(D;8%)MwXo!Wifhp2aCZpMXj@lRP-o|sHZ+jIvEe!lko&6qx8wR$#_`R zBjy=(ANE@};$QhDk;#mSh)$UPgr1Ct?V_!mjB|{^P@0`MALX0a04fa-?6M~U9Xknf z9ff4A-hPJ@p_|}DynVW!2%QH`R*I`N9V;bgTT{Iyy$To;;r9G>QT};lqx`w`aDGnD zgvb5)#>T#vHJ1;rI5M*Q485FE4;~bU$+<-8E5@XhW1%_4x5iKnvIN_h4(Mc zqZ!xY4=-`%;HW<>V!p^{_yg_TK4T@%pod$NvEV{8bmM1|mJXdl7CJdm6?pTXk5Y4Y z4)fhDIb>Qleuj?hgBB0$yO8ikD)Ktx6nTe*fgCcC(tC#~neEVUXvrbFQ7G}eXmeac z`e@F_zxT8H%$)?p zcCqeHP?w;!B2$Cb6Aj*nG4yYl=jwbl3hlrT2S!v$@HYN!+%DfnVii@{(H%?Shyou;U*OBP`z_W>G$6Z9=B^#zf4wZIcvrLA-xxV#5sRi(iF`BJso$wLr*(} z(1YX$n((iA^g+|Q#)X+pU4R&>*HozWXryfv$draksBX&@z^H@Uzo*)^QGbc_rhe-~ zQ96Xj=~NPXffax$5dZR)cr_HTC{B?;iD@Q}4+gktB~6;B`chTtv7yvgSMk_od2BmJ z;5n36)qy$ys`5i@%GIe6y^vPw7%B^M=QZQ0^kpUqwG2TGD}#9*AGQ;4x#q4}K=KN@eM^+Qiz%kAp_Q(BPoy+90#}gkfYEk?JZ@jY!_7DrFOjuL23Yyr$rrj z!YYy2nK#zzTmQod|_`V+il^(OnX}k7pApS9e$ZT?-coBD=Xw41CGIvyAd}+6Ci#$ z!bPz;W~mFU;J>IiVLq?-BW_5?jFk@&)}o?BF$Z5_ixT3RMa@^n!&;Q^#EB9waUW7~ z`%oLEJyre6L#`*mpoAbZ@!5mRaFcrGcWg?F5*{r|oMC^bRQ>s_qY+1jMRaHPKxnB8 z|0u-rmQpN!C&M2lnH=%&TAO~2iBn&^uJ@rM@Sziz$p5Xi=@B$2)~1+b@i^teQiU`r1?xr!R$_-Yy%kf8fXs~_Ta$@AhxLq2@Ieo#y*sfk?Soj6+!Rd&j1N_ z@Owil9aZxI8!#9B(?8~BSSTkGQlgui$iw7$wEfIy!7RNo-3?!_JZML>lRaa#>FENM zbRL}S5rqNcEA{`hL?7&;|3}i=PUjnn^+Ay_8W|Kqz89sU19g!8EWKR$5gME$?9k_s~02JoHTjtyW;d>ga@L}yIS z?F5Sz5IbtU7y@LX5UX0S8vy}+E42_20f>!}l_7@;-M0h=yoUBkp=$Zb;I>i`x@>+* zZJZ9aN##8PSjF4U!tL!>3{#!ZJc;!r8@@cS2I~ zhq0b7a>K))WdWSjT~#A1zdc}e_tED8o^w6hc^M%5ki>@|6S75|R05gf{HRa}4# zGq?zud+zhd8xYz1M1>^d1y5=;5ZhRJF5W179{*uhVv-b2j7(Mi4i1I=u+_Bg2B0kv zmxuGoI+-DIsE}4PpczHg+1kp_jQ#AB<^?EpTNz~A9hL9fv zRsvZ1MNq=0uQ4rnE54!nJ~#|E{p^w2%AOddmCX4en>}KZn_cP;JD@fSjg@}CDpR#r zZFwNRIp^t9cnYkm%&x&q(R*yo5#3 z)<2^<-S)gV!ljMc9mTw7`=s<|N9?6B3%(#3_#&wp@CzXWFayRMQf46EBQpI%a0WQU zEzJ%w13F7H{};njEZyP4>huvl0nSwl(5<0c(2H2icQA2Ofu!GpRxOdZgnQ zjzsv`WT=nhAWz9p$~&sAh(KsdRF4neE17sHlPyaeDUT@Q6Hr=rLJ+ z#6;hPvrvxBEWb9u(obclMKiDs9=eh;hEMgl4!iQjV0YUm_`9u<=sE3^pq(FxdBu>F4 z7sG`v8+9FIkrz^8FZAaNY4I<_x!~KIydUKWZ2A$=Yi~qxE_kvLRsSsNKzH(8=nbNY-i6!^08Hp8_Noc77O?T0 zu)uI9C+www&57R_&Qm}76q%R4)1`1Y3dKn;I$g#JDsJ@VjF;h-c$FY)`M>3ccm2rd z?kx5l+YN64IHHMQa@P|}^bUP@_}jVRJtI{${eKB_GdDVLAb3>QOGm_eK9MoD$JiU& zHzqdbU@!1e$-o5sY0Ob?uX<%wqNCnean!rT6~AwUV*7?{!d-}fnhzsq(tYE+VNuRe z3$$i9<9_ilN4P>EVoJwlVrPzvKw+t|@pLoNYQInVA^Q!ZkDx)Rz#K^|He5(_=ug^q z>uMJq_i`lw2fk_kF@+`~aO!#@@s7mb6uO2M_A{z{SaifZN@Ts|lbDkXwSDrDh-Xy9 zQ?0|7Je3EHs$;Sa;xT`)XkeCoDlVeW26{|ujzq%d;NUE9QaDEkCNJa@QNIwV=)fUK zWo~3_84rUt$k>GW9oZIMb(bO?%**k^W+RFQZ~YVFE&X< z1NAHw4Mdz$zhF~Z2vN;$%jun|POXP3i>(%t>g{Z)SSD=d9VMjp?inVxwZZZGF7BdoBEK!f@ z7U$b7mZ*hn5r5F3&4H1z6Hn;xgkY1<)vlpe_bcncU865T;OW&g`qj}dD-Y{&(<*hs zM}GQJEPUjbxJHZX_>(xqGVFF7B8S7Rwx90M2cI}Y+%Fm;w5#FT`JbN>*Hi$_y+{<= zL=n5-$XqWy0CKnZ3hMmEIH=F>%>tpUCkvA5%Y{L)7etdrWCpk@-0w7;-=oq)j6~RK zh8BT;VU$IXAr|VG0R=$(ANn&%6yNfX>GcY=cYs{NE0Ek&1tb7b9fCgNSRkHbd8His z^%xc%AV+Z4N57hpCSO4#de$jEZsGJ%AgivqXZx*PVy)Z_%O0E8ZW%YUz46x}2nrTN zDXdMw162lA1fv*@+<|3h#o2p}jcIV!X(&o}gOz);yaR^mUSqK(jjdSR%Ppx28_V2~ z(vY&FNs5rF5cb`K&%r*Rm8XfNG7ZuB&cj)te(P0EcW^VI8d<@}e|xQZMoGM)ZvHg{ zX5jA}n_JZ0q|c3~8en{>X)OdDK&+WKb?`Vhn-1LZUB1vvuCf&Nt{MhK4R&4v&PY8s zD(g_1Zd;<1#=s@e(9NHCG|W?>^iRQ<V#s}GvMx4Tw|%q`IER*65Kahs)vg^@yB0T`c za3cmaKx8GtP=G;{##X(&G|PSgvDb0&ml7Qcg1tRb zEYYFx^^R7O#v~g|*#KP2uHVPl2;_`=g>_>EW~4OFwr4W_Rx?EmYVgFx00?*{3BJ`( z_Qb&?P=>K4LRq0CRntEH05c%wH$g&U`(^AOW{Qa;8+%ZD2i;>PfP$xeQ9ts{by>5N z;$-wJD=vtzdNMxhm=U-RTE-9vNtuLw53z63Jymcv<*pWW$0)|DzAVnAV(mb@Yo_|( z89ZeO1w7~D(LL%fmyi#-1^tE6yYy09>Fw--K~Q#)#H)0Q7DI?#s3+7HlUZW~`o+b+%{Lrpe*# z;dUN#oL^b+{`~L3cTA@-|2y??e@~LeyzM-qbO#)#*7-xXZGuyPwr~_;@QYpS~FUq>wo`UO6x~|kzsVD8Wo_$ZZwW-0oj&1Few(R2y8{^ta>inIf z?m#<~q^&>?x@j!l1TJa$HeygrlZdRw-1Fi+z_SL3BUhqZcv`Z;PtTSJesSBUd!@Z3?eqF2NH5AcI=YF3K^g4yy@7oionoJR<`&;LJzu+93f}t|AZRk4a0Oga`&b<*DX=KcB3So%?-IoO~w5U{g-W|Nc1i#Mmdl zDgXOBdWlY&|9$*XNKgBs`QLNn^S}RPNRs^TDCC^1i{I*2pA>$!ktD7~U2b*j-%jY9 zo&Vh?iJ!%_^$jGk1ntn|U?+P2A!qs&61`{OAOx7@6G>tR&NDcn@U3Kp4ao}s!op-a z`89a3L+!ehI{ElNLSh+z<5+REh7H`%H5W!*0OkZNCBhJr{b)|8DE}|-0ym6G#_a(w z#N#1<^e2p@hs3hH8O1mbyh(mq%-lDv*NdzpWw)BOfvD7XfyXy@qIn!_`be$foXN|ecgxdo7U?z>+XIW2?Lpb%8!U6Y|i`8G=(+c zZ*AQjL~6&4vS`d-7NQ4bQ@hMe%a``dV9K^?vatu9CkLBx{9w~NS^61zS)p<1P{lWl>&`Ff!+C33^WI`Ec&g*IFsR8bl5GiRU&_V0e2E7$O;iwzJlg*!|^bxPHn5iczn4B z<2+;vzA{#d`T|C=1%t>%#U03@-kHZ-DOaYnPbON4>?I)^aFx}5vT*PzVD1&|DtmW- zk|n$ddGHMwzg(a_$ZVTMx$_s&)M%i9D0l9p?gm`3BuOvJ_FxX(g~+%$0}7}ZwAu14 z^5A})r**x4YYRN0;lX>$UkEBN0P^tUSPhYaMJS%?P-&6*dE^$+I$*(H0!}wiW!K@3 z2Xj$DXIhU*Dk*>NV-h7-o(Z3(wxK{#+DdVAyzNXu-&K;c%@3tfH5)7Vc-f8qg0^KP z0gh#tx(N~g!ij>sY=;b{jv+k_)GL?{8mFyJ^)U(p1;>rb7f_!^Qt{Z91w*L=-LCHD zZ*Z%}SMW~xhi$)M2MgY{8)u8^IMN3&hXvSbYK}Y971BPGk8EG9#vML__RDTY+sx}K z?GLcqH{#oGA8QsICB@HVfGx94&c>j$$L`QUGz%U$Z{a(T?mJ!%H`*O_U@ zozu)rn8K;of;Pd}Xgf?tHVp! zr2l-rBhu_gsMFm6o?hjBD1d!bJhA9jQ~4-YI((JeVEmaGz7FdH)f@INurrMwPN)yY zyMm+T?`z*307ETWr_Y5n-<--B%Q(pw0P@i&bjmlrhC#JUIEF-rX zD6N;h?hAgMYE+HGBg19DFV%2ObRiud#A}_oxu|-qF+8x&81CIbg^@ zTE?m)P}L9Y{W5Aiw&7Z3Bot%l)S?a*%YlzC@<$VHg<@e*%WR9z68_eq%d@tF5Taq~Xjp7%v= z1jLn%BHBgc@eq0k+V-hOqpZ5|pPbRDm{BZzF>ea?#pZjgJcVG4Iai~2Wd~DLg>j{y$zFeKa=L#(mo7vCDiLD;^aml@qEP_pK7C>_``%gaX4DUMojpS6RufyB64SHjv6 z=QX3%_M;wH>4N%Guka@HrzR2v3W(T_PbQGE0&UXdw2-5jgN_)hA4QQ5XO$tGV^60q z_Z{-k^+&t=>i2i|S)T^dz9ux3BK!2xYoq6P9fi`uZSFx7*L7|a_*DO4cQb95x@7`s zLfM&S@FkC9KTG?RwzagDc4(sap_OIz1l=Zllyt3*{efFzZi89h*_~f1fr%WS!&R}c z@9e0jjnNzIp7o9|_aD-sgl>KuNIT9RPSf){=K2LdZmA$>igRJCF|rj z^bcO)=p=X05)fghr^W1=$xeElbp+uidWo00&d`jNWp{yMm70ad4RFj}WZbybjh$p~ zu_naj3Yie?sYaGis3#uINdSnr&0YAbSlanKZZ~WM+GqIe!S@w5zW4mrVbuVTfUk+$ z_!&d;*zHmrbVGGFIH%b@>u=T2wsFV&?HR27DQ7B* z)dW2B7ks(|@WMtRkl{?CV`XR0f{_%Y;JUNOAM93B_{%-0;8^*GCSENi`(xXaG#4cJ zDfR&JKj528E&$PsK#w3Tau;^OJwYJrV!Ov*?zV5EMYQN?FH53kqTIL5sNXMehYKUC0fXZ z9A$`8(L$2n^vK{=fTILEfZc|gBMJqh9mu9Y6SVNrA%TbX_ zz7uFvzdr-KDp3kFb`gyI%si(pX~Z0)PE+cWly!`Wmnn!f|a;4iex@bVzw}{6}SPTDR|=#&jJp6Kr?5$xi46+`NBW;sPBzs zvf^DJ47U>MC$k3VBe|h*Y>F5c+y(+ymR(wYa{%F-mCs?~e7T=F`*C;@@Mk9`s8zY- zjaK=lxtF6vkWx+d2_25k30oiGP1XlUkNu>}(f|oR0?Xy2um)uvR_aal z_uiPV;3pnoFc@eao?ZtALcND`=y2VN@Bz1a9XFVWI*g*iN7@u#;>ZVk1L1NEW|vwH zlagL5D7Rl%zh`|MsmFQzC9eGiA3))T4?(s;hAvM#9MSix#q!o0^41*r$Y+=)iaqq{K=h|8jE7;_hN_!=j6QuHirNYCbmFu)iNjVdmt@UaVzMUX0N=mE%Fl5ZHpS7ooo z`^Ipcm(dvhfUpttpzG^{U!NIXB?YrgV`(%0+X=fvJt5khWz1{IoaHmPcAW+#kz#5@ z3?$VlI0g^9M)gPRA#fk>Ya-;OhiroF8CHYwP#w;g1L3(m0KgsTvp`WO-vif)Ea7s1 z6!J^~H#Wb)g%rN*aa{TezAAq+06MV>J?5gBNZ~*}t(Y@O$S05D81M&}7SvvL_nD_b zcWyfZB+$7A)k}A-pNYJ%cIPsoxGeZI+P`zbMYRI&)J6O_xhkO5FkJh?3tHP(8ym5{ z{5(|l)3V|HwM%6>FNXCrsza}H1P^G{7VU%=Qz#Qgjk@HMi0oT2PW9A76eAzdybhZf zrM2XzP(R4}Wl|qN6~L5|q?7DY=LJ5u)u?*<7-=pb))!Q6u4_J5(t}+^Ky~$PcrL;b z_(WNv|&DB4d#^ze(lZv2Y4w~3d z)LM3$FMOA~?FGRFO)&}gV;+P`EUd+4IDbL{zr%AvKHy}~zwOJe&>!V5oTI8F^BL6R zpPL1H%5rf2uhw6Y#);nWw|h8m)L%g?t>Fz+)z}YZ&w&b@mPBwcF&8zPe@SQ`Mhf_B zzoOgM?Rw+e&F2lsh2ARvb^GFbhzG>kk@wfy3wo`sjB1xWJ`9pakT|&`^YHf~#hsTmT5}>O*~Lultd_W3pp>afz-oMXKjL9Va_bl*ZRv)^9K2KYK+&XdzY%8IUbYMwG*=zC z9$mpfgcK8GUPKXr`J&W7_xOC~lDQ!%S-s;60G4_r3j&k}vJs92q~Zbd&ro=tdDcd% zzAQ@uE7xGcDBOyw_QtkFaIGeg%%L(zp2@O6kH?wi43p?_Z9EV-e9*(?0>hy!Xw;gx zuRwZ0a+bNl_qf&DNJ~e(FRmeEif(F`YC>Uq4$5G5xDzjxfTh$gOKc!KvJ zy~F5mXEubp1|nmQkhh)egj@Y;zZUk<9ooP)3A(09`FME( zk{OM6<6?3rYUH5?;2LJI#_qb(WN-xy9&AEJFs1^(ZU2Gga&FAYhc8YF?~z>z3XLf!o6~7Frmzn< z*3g4oWSBkuX@3D3;;L3Cegf9lKIiGFfI5$oYLR?ihBQ5XG? z2;@{vfT5csy9XK~xd?76DV%vjTW@KsDBIosI|rU#5spK*Tc7U>d-A=bUybtfm~^BR zgdortI8)q$11X{9DQ-2x9*^NFtY*34@~y#ZxHO@5xO$BbV}p%&Eyr0@eRVYq)ay~F z7XRu{XFcyxrxx#{?CM&)TW7z!-dC`vd=<1uQFyoMy{%8kikDZhNr5y$UIjH+n1%4* zfR$ptIBe*U%76am3pj31bs_OZA#?=@?Hb|R%;d2QeMyv8B=Mp-y3=PoahL~H7Q8a| zV`3{T!PwjL$R}Pec{;&T((v9J_C1X1w#>HE!K3-YFy_|c%xV6~Fvm>DG%EX}Tx4s( z^v!wrs`|+)TAe`Ap}-a}_F$$;-T0SdxY95oF2gkmFk+(UmZ+hqAuZ(q!0pBqpLHX4 z<$w#v*)WIW!X5`qiP3ijFI(o&pcqvsK>>; z-X=|D{8It_7@8RYn{EB(OcaR8p7PS0^UgMxA5FmoAc{Mj{x;v{{(+cqD4*cZ1~GT1 zdh@^1Fd}cBITW^yx`1_Cmd~28Et5fe1%EHQHDG09gInMR2#UQFN;|5swE7C?ej!~6 z?hsi6{7ckerC=MP2Fq9Qk1|6vSoP2!a*YtDNsSFIV86h!`mJ%9zK9pJWI!M^F*6W? zxbTzASf?=AS$?Y*(vkEjhZg(t`t~#Y1+Unbz5HW}>NCqTK)&lUVT?^_@Mc0|3jH8S zHV_ZQ+crjkG{uxJX1MpY7haH}et2UX+k}k`N~2dHvgPja<51S%mL8!&lHWFWU@V4h`yi$Ei^Z_j_H>_bX<7TiOBhPdMq- zv@XvMfHTU9;xn4@;UKMGeJ0AwKL=gNjN%$8f@y7o3691zAqzYZ9In(^X7~pn;IljF zVK%433@t<=mU}U2b6SyUtR+F8vK0gaz!07XfM_r(8ITRPSO}ZSA6}#=ZR9Zr)f~g+ z0Rg=m1azVhP)~IZAA*8vk_gD}&VphVaL-1;1l9lz?Lm4`Sd9#!C)6+H>ud3t)k&Nt z6R%M34t#06{iO>71&7MOGz}1kF<^Nga@KZ=L!7Z(X!Ai)rLeJ*@uO4>w^xHLPv`{t zg<6Gpt@?}RDSXkizj!acNY%(3Pc>Kw!?h~A zg2O|$Hzay{fgjO6caTP?yeQ}_gZTnM*^oM*^PZ$mIyCLUhV$sZDGMLbIiPkxGhBK`L3Mo?MA}W28KoNP1!MQ0tiHAgL&Gm0Bv5z_}M3HL4yF z89!#S-+)dL)0*U0JKB(6?vVTEvg`P(UE_tzBwvQ88nHp2rfeKcNFyydr0Wy#q3d(Q z)eZhohU+Ro70e!?ajt4;wyl}O^qA|uLE5O)OnNwM{}w{!Ae0A;zEMhUkuan51StK zQw`sly$6&+Pj<$mY4%9GgC&z=V87qGYneZE*C9mOtmD3i75A=`3)uis*y!CPooPhM zYjkQ>qj%kGaEJEmum!EeD-VHuU=q9!^Of4mF2j2W=4tR^5~MxvXLzxZ8LmRN!DYp} zkMCiBhR=f+)>%$$IOBq6&&Ql$qOJzLF2vUB%K|NRiyO)fKgEPWE#|@9N)@p0N^!SN zjpZG5c#Ue<@xyYpQk`XAty6vVRmO6(?hAF-!@_~&x4}csJHYM-G;Tku;1I&oBPs$2 zt_g%+*nn}9`Oo);E(nBf$NqD>OEU^rS4J1uCmYl4I5qTkH~!^7yORf3h7|nf6C?^7 zaaS=GTV-aU^)>h$UoNP3JuK{L3mxI(>W!aQ3LYG2x&cto`m(27~kL{@~jrO$eaN)x)6A1mG z1H*yI03+?hl?wg*C{7Ho%1T2YL-)BdNVzvwoz2_o`}*M)FJ|Ef3v=#DE)1>u;f!Y( zOo(f@KivBTT>HZrjVucHZ^e)LMdo0fEz@vc9crTRoT1O)nRUh4{NX{A%TSE|+N)s5 zF>wKK0lU@k>nIf0QLD;K<3IfbONlhx&^zFOU2@oK;E4=Hl$`+F_B#i1MD?0U{my-= zbp@t2xD}jB0lH9LN#^FcXQ8ozGR)4h{5EEvx)q{{)~(F*_^d@x`RY@_;d6Fk(&amm zUte?QIA6)3CpJ}zJAcrZ$z?bVYvNK>M~Tgoq{Mh8k5d%HQL=4UNEhP{l|>|bre{97 zd|F!=ecKvqFIbXiReXIg zo6GA-1Jxb+eU}>d1@w0?Xi`B0*A7pnsyG9qwR%2N8lA2_=x;)E+FnL_?WW>qdHq^| zpBf--uCCy9Pkmj=>&RhtaT0S zzHL6TjkJ%3+CQt9qT3K;1cqi8V0qo?w4cS^)+gNN%L%vn_6fJNEy#J*mOsk_T_C`> zjMi?Dy=c}EkNTv7Ytcy~Iwti@KKoZ$N0<`8pSE4jfALv`CK13ia=`WC2z3099E^Ue zxVWeqIwBCw!jkGD(nCBUu_^|!DvZ1;N4ZukMvQ{tJp$)YPK<<`lliH`4cr-7Chs`` zz)raN8$G8X+Tw_Ier>eQ%{nkkdDX9D`x_jpn#w2Y*nJ7d`Fu zt>v+F9s6+&fa>H=eDHa(dZ{NpyX%OIFm{%z+rA*o^uOePE<^hCd~7`QW669Yw{_+aR1n;N>~Va?r-DIBq5X_Z^rEqv|!Fn`{oSA;FT- z`?WtxxQ9P`_7{dL;|fH0enGLM1n&6xxS55ODdjrcOzjyGnuGqSyDvyfsiCkCY^z}J zu_h(zqhb_d_vo-WZtC{~cs;s%B#)rG1-W3=?-on!$;E$IFP$k@4c?X%N~m+BF(;Cx z+oUo8t|ds za%-`~xzYyGkIx+eKeI)RQr6Cw3zhAfr0*2?I_Wyo8Hh578u#hjh z7OXcUQ|!at8PyJxHk{NS=R|GHEPO5x7lj2oj4B2zIOq!H2mo?6|C^)bpljd9R9a0e zDWQMW>}%OPF6PW+y_}44ObF*Rr}rYcLU?&jMul8@+$gQmrFkg*sV?2}Mbz=b z{Q=$)`{!SXBVhDlct;t1e>56>AIp1t$9uF3iR!R~8bwS4JX+E3A?X)@u}1FxoZc7c zOX#I@GII4bw9YxbN805a=4iXzgYrx5@?rwiWw`kQ4NWYyGA`kR(8Sr04DQr1{wmia zaj__`1qY9%?El*|QUM@>8VniI9_2!Y?%!CAe>HXx^g=tRA7$~O_%?iUIv1)>kDW`} z`R(c5A8~k*DqTR)CXhw(wQM1;f0JE7B9~+D3(L20n}}-QV8jpBeep+xb4SWymEsA` zkc;}LH8?UD0p1jwA{hXZSLdo64) zzrCC62pi&vcwkM8Y&eH#B!t=-D?jRqF|C@f<7r*-#H;h9b+@u^G3t^4W;S>`;{deq zd4%ym0$QR16qK$Z^uj2Ri_8k0S;mUrqAG;t7B~fTFwX+6fL4fUuhaXXec(1=Vq%tP zoBZKhfprB9^ASYQ!ESEl7a>70mdl>aY6;=)Vbvvrfmnx0FFaXHS=)DF2&d6EpaAt$(KrwHiT4Befcd z3rxTi9H}6>%HGrE%5-sBuE#Za5|7);xE7b8!kmV}5sBpJ@gwJAVIQJq9wDF`@Poim zW(z9{1=cirNkpM&@UHcTrmr_Pt*pZ>)F&Ho1g%jH+EdMnKC6c1G@zeFe~i?M+Rt$h zhM|+i&=liQ`F`)H2#>DwurAVUrUS1kYMbT7%FA)*ECm6u8Vtii$i053!m$StCmt9A z@f}=JO&m_}ada>J2Ba8-Xe_m0o(62)uD23Ud zn;en@;oHv>I&6mF*-JV+Dvl2KCLMMaZc1&F1dhSTnE>fya8O89`~Ja&>=2NSqs6X_ zh6t=BJbt714!MHPd1J;NTvktT0~yYXLiF30$vIQZj$#9J5N~N}x(5Q3%%XPb`wxJB47=2JU z62Wg`q(;l&i)0dW++1mT}7VdJZ9h06Q2L0L|maIbJ}gD7*Z4N@4XT{-e ziTa;I=cah_H<2AJyVF6#*r;TrY8byCC9wLeu*Z+S?WOD68U|Ih;Ak9|p}<_H)#1d21!;6wL7&^{a(YGD6w)6C7N? zh1APctz761Kkv`>V%Jn59>#U?<2yN9tj;bN%uDUp^^Y`of@Q8H84yJlbuUmIj z3r!$L<~COB0Mo(^Yaxh2jo~*Y;?e<9sbPfcvG&V&3NYWrO|(R}{Pa48pVCQM`-NDTi9J?((t70>iwJBw1@Of|h`GWMnrnYw*^{TOPB{2@tVNUh5 zY&U@EntK4*h*A!F*O2I|xhug1IW#3;&-p@tUua1+{?%y2T(wst=0fPqt8u~(h=RAq zrZR3!45*CN`vP1*Eb>$@?AP`d$yzw0aU8%?xjv3U; z_3S+uQE*o`@|p1idvc94Fi@A0Y1bEf(XAQL5jolkzvmkV^a!Fhfj7>8JO>-PmGudJ zh^>xbGWrA18I+|mI>fsnigQ?84E#3KJ#k6t#QyB-aSNJbFR0Du+j zJ-8M=2kVQTtfZOBa%Q5G~sHQapTvs+z;^Aw;ef)9;WEQ?Ng z7z$5#)0M37==LOUeweIqPqM=2k`=B);STlo=g_WFhZWzkRmt98kgV`#X=Du>={n?z zd|!4J%yCNGurHK4x3Z493IEq{FO2_uZ@%FCkwezteoTS98{8s5G@9EcvaXz zV@T$S4GM7(+rYGn~ovjIj3O-!pQ@Ga1a zr)%)rAa^OjU6~vinaE;n`JGmM_K?fF;S2!F+vK;9=%Nnk;w|rbB-i#Acst;IjsFnF zchSN6^ztEiQfFFXuY%UxyOt@qEpLnemK40>PpfZ7q#u<#pubSwzgpJI42RhXbwlm( zNbti$!Cl??b<(Oi>UM<6V0U|vFPOpS*Wiczzufz+Dt4N4Ipj*YD^KZxDt_Pnf0?&wN0FcJ3LXy#rFB;-VgAjl&`TQQsE@5_^ zk6R10aGMl7ufJwoejwnna3X@90m8==_QhA1)$#r9KRc#kCptYkB|6 zpUeG&YjBgWGQ2;Th*$;|Pffc`XK|Wwzif+DHK++d#s9#O-?d0PwymKJJVImDLKI;} z@X}&l(RZel%i)IiAKY~5p&Jg@;gLH04mv059oUN*$X0zn)7g=z`*r{MKA?{uvFlt+ z#a0xVXWmX^Zc?AM3x7wgT>#$P_?HFlPLz21;KnKNO_&{J?;5aR&yfWy!giNuTL0ek z{D@&+I2HTON_Wt>J1nKNU50SD5*O8uM$}o}G{p5TFbIi0cC5CrPsA!D4 zs%T6$g7=^s7P`NDTLoU9xiz|-x>Y{*STX1IKle5uDi$J7{f%sFxc{SJZIH}U>!9Q# zzhW)#0Gvd9#DomcKB>mVIkK(Q~HPKf&Mgr&SvQWj6Y7b(*&1sH*22{PrtWyp5Ql$ z+iylK6)nK;7IGAhFPVw|IIDQ=S*TBW zfDB!8sMFnbD>iaT=ZvbLL(N3$%_t0RPiJE0LP^X_mVh>-(Y8enMC~NT)}P`t>Y|x| zI`XE7$#yIb7urpL(TFyY6g@_$FTiC9dQfc%P1tW-8O^f&$ijFEUxcL?p&KG%!$7t%V+)>EPk?a!ZG+(-?5cd3WX>pR^cmiFOe>!xvF!KqZPLv0o8k1$4^4G5 zBoP5()*^gn7mhp!BMGLfQJsO$;3G(w6X`qO4t+fhd^T>4pX=D%^0Sd03klwXi##c1 zE|0PC?e<=bAjE1TgTbh`7>YDU!jnw+Ow?iUo`Wx?mR%P70NFfn@Yh8r9L&w+k5pw5 zdz{1151}5}f;}?`5Rd>W-zvxXR%=Q@bt~U0yEy=tYEXC&Ie<@kr=E99$}m1V|~6BxM~1y#_&0{#_)yfi;Ur(HK3d`-n3!eTP!Km zJ|}#eOl(U7ix-jlWwYP@;0)j;LK3Wl?NG}e^5q_C&v*gKU7TcxzDxlE z?^W-gM_n?HHKAP-f2h4hq*Pcy~%V8@LC#M+=+ox%} z`ci!NY~Pa(+xG-(f?yhNhYqF*pd#W>?5t}Drit?7L7kDlL*3L$0-100U6N=|0)@Yc;S%mLUrb_x~0w zbns|YA+8yKx_Tl@Cy)hV%n~T9QG;OQjfCO zDi&4ek^X|v!yn8S{J4S`U-mXti`Mj<_;msNN2z7<#m(=5by3&a_TD&Zk%u)A4aeSm(>%`#Ig>sm$mhruFKjT?_gPL)a$UU+RF-k0hSf%bNJtEdtr<9!oo8! z$;uWdtn9De(kr_@er2)LCt2BhA!w^U)4yS5KX?HXU~dB7OCq~xhHj(0;hJ5Jb!x*IE2V-m0xA)=VNHngG7Vnk+>j9Cm3DA+oG2+k%M@xvJI|n@YZ1JrUSr^z*KBO zn<>m`An&A|xQq>zqoKCxtc6_%66c#DaZY(QN|xX&;gF^4F@f}pbM>AnS5u&1nc@~2 zv{%g-$PCn%#-{rMXS%O}IoBaUbY^2H6#hGr0wwyhachC3v_lQq`)|>mIUw%pm&H*J zqGGZ=r6>d$fWs8=e-sag`xC>M?Xr|$aEGe3-6!M{$wO|Y#mNZ&wVtqw+W z5B`BG$vEd4AiMa8i0V1qyK^b|b_Ab4=q6ws^L0z9F*eH6 z`DN5Z(@ID&?(Y4ApNIxL+=2UsDwd|OKW_XYn6YowT3kQ}yMaGeAScdj(-~*BY0+jI zH_bL~nr$w2%r+fyW}9Yhw#kf{ZTdhZyIz`pP(DQ00jMWiQKZ)XPMi=hhK(=KU=y#8 z@>|d65fnjpgPr}26`w*gxQWB5w&w5kq`YT_Dh#wC)!^|$w& z=lMu`Yrr=V3H@Z>!Iq$PS3SVRM%7lQZ?cJqv}cB%W?N?Hw=MVqlk+TO1z~cw;DSuf z#*F81RXwpEs7ik*B4CwK-TQZ;D(94th=BE!JLvI~i_9?X&ngcxI+yjV4k zU?gXD=RohPj!x2sm9&N0u;N0^hAP%a0}qOTO7ZA&A?IOs{G{!EkL~`K-R_?jU@X>y zoNXazc0+Zi($HZ@H|hs=LpP%#@VZr8z6M!Kw%h5nYY)8jRNCFhcDte77>IH&J%o_~ zK)sd!G%9bG3GM7=toR*XriW1}U$JE@?82gMgEFR*0ILP9sAQ@H8I@?69Vq zxyRn}giO#i=lKr46?&f2CcK9{v0+v}OK?AWwq-QlhhYgCS^6P9*vfVXG|L7Rg%0Ds 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 dx6zc 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�Xj8I-yTl0>DwKbMAEm! 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⪼M-p}{ak$psk-JugK_ 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%0D=6d+lP#KaC>)NW|LT{mLu<9O^5i?St%{+C?$= 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 =UeD*GGkkbSa*q;_a!s7<`xz~b4%=eGj^wl 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

    B^Am$$|m2Iw4?j+A-3CdlG`PAMWN|l@7D1AQ4 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 z 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 z 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 Z)a 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⋙z+z|;)uVm+wI{G`ClPShCe9lMf%4Qbj1SWpAP6w_!6$b zRtTO|IPjV!94=uuKOGMFmJpnK3oQ~VcFV$n`P8CcRzA=D5N`6V@o<;4$U+0DO=_vd$##w}3J0Pz$?kdVu&dW_}2+(q>++ zyDV|w54AwO^mC2D?*PK@d*R<7@7UlDq?^Z%v#2+0a7B7;1c%w3kj!a8z}shRlw}o8 z*hZa&557!?37plL&0q`i9+mjTs95`zYhF zsXH{fdxhUZnm2Pq!#x}ktITy%OK-x>o~Fs&|%e;ljI;>k>@PLiRy1KJcOa1?;2p4VGKSF8@($rmv0z9(hU!laY#5U zD375@T4Mh3$vQ@hEy_K7rHNnMz}Ev&slnH#0Hsoow5pp67_4lR0)R<2^#mfX*pyuW zYq+`yks~A}51>?1Cjv~dE5iY*?8*i`yF=WEA-&3>EX3D2N1*<7Q5K)0!EeiQB|x&% zI|IKNnd^k=Z;YZ1LwKeFR?}Qc6_T&GT#b1c;vAaLI7PE=*q?=+x9^3QV^;P{2SDmUM&;h8ZXA}jUa0^k{;W@ZCyL?Roc$A6I4rM zT$jP?>{!=!9i_dy6rj4jy98iroS2M`nG+{JUB;*|PQ3?kAWpdsFh1VD1Y_q+eCRZQ z#|i$Y&<7`XRBuCU-__Ayfv=KI${}DTc2;)-T(Q<(^`_ATYv95C^=QU$R8ZDlvWn0M5z01w|$W&*7GjhYOQ|6An> z1mdf|RrUic|DCc1Ano_+Mx>qoy)qJD#k-%3L1QiNrcK1yEb9hKoUPrJ$-tY^LrDav z>Y-ek1&TeDy#Tj+s@nj{-%}O?jP0e)2Ds2m84WPKx0(X*sJC)$CYq{`QVuYxud)u{ zL|-KzU{XJI5-wt?0MZ92rvY{iP>%rQ4^#>Pt`1amhpgp;lu-Z$gFm^6 zKAAkkKOS6G4^elasfylLmIFL_UtIuj@B<|SVBCjl8bI}jN)1#Q^FLBA1EhVd>;pLX zv9cN<_Y-9bK*c9&7Qli}m0I`;UiwtM3sCY0J9I$32Qy$|OxOfy(b(g~DqnJ_!xN$U7 zPXT6*Vak5M(|{#_bJCfz8t{BNQ<_I1)Pw{lp?@WfVw;3>@3g&oSV(8`XYWMn|*f{+ePI>rp!T) zkDkQb(*e&-V)gR?^Cq*Vr5F$ka$rA>hOW(F%1OXkxo}IwagTY^=S9 z05h=^R|1{{{c6A&fDZvv0aNlApN!RT9AGA39^hEOd4R{j*Gj-rz+%AbnBKbq^-Zn< zP~YAz0P1|#0P6c?Eug+Vj=*7DUk)+>^$C{`s1N8xfcijO3#bp0t$_M^u^&($>8KMN z0`z@Yx4oln5T~~p#e=_Gcj$XM&L3FbcQEC+kxsBdu(~!lrxoz)%E9kJqlMuXK8 zjK0YPCTKaCxqykAe^y@9#r@koo36JT$)sljo5=JZ!P#mG83wyC6LtmCiRgKrvw+so z8H_%7{l$0gBE~RjFb?p~mSU#``eOqSnQaendNMd}N-V?ZyDGuFAA36d<;kV&8*=8GpzBQyUldkAQhTvy74`TZbMDl zK{Fn)fjYa!B+WNNE|#X5=?ToiEHvEAfil6&fileuPdc54*De@(o(zDYw6r|{HIzY7BeTsk&nB<# zO`YYEPV~D*Q#;cZ=Go8*8Vi43XPi>M$3sj8WpyV=t{5E`joSTAu#tg0Q*BbFb)sh` zhzSrorRz`~Sd?L%=#a&Ks}qhR$aqiWI+x9M0*jg6$DH9@st~)TuPwDA^zJ5 zG%3`52H{Z8@dVl$>aR(FYYNtPN~|w!#tTFB{TmbLQhoo81S)SJuS}qG4LnQn{!jyd zbpjkzbj($aq-l7&sF5w<@7 zv>Bc0MhmQ7G_$32xDy_i!GYs>OJ!DP%4mhtW_s&S#&n@kky=q_njVQ`-q1ER8TJ z=VNKD5K-Ehssw+{OSH?Z?CA_ULjUuZsLUc`tW;RM6=2>n8M#IVc=vatnE``fYi9MQ zy+q?}j>DbloK31kChpmXampRV9oce8&F=us1uhyV+LhW)l1eP&u?wvZ2^!Oh z_J{be)1qdciuRP$Tq|tVIKe`p5KIj46pYwDN8evl(^rC8;^K>tGP^-s!QKIB5?gi^3 z=iFX!HjwZ1!8<$dQ+?>X-8Z}+&c5o5UX&+0(}3fY)(xbiPS1mZv_}yS4Wz@0CutDP zc1cGD!V8ga7)S?HPwhY|gvHT&G*NRNeGd=kNtFZXw8xu1gcb!h96p2&21+Le(k!p{ z_CUJob=UN#T|sYq5bJ*ed$y`Dr>+e4WzLRrF#SDR6|}q0L~`PNdxFu zBkSY-l-<~dHd)_Tt>^z7HPOa!&64a+iJV|QgMtlr628y@onix+hT+64WU`>1800d zTid%ThtSdXzWX23t+)?1eL{ERLw0>Y;}alA)F$|LeN2fReM>*4(;el@Lnxz@H|Yaf z&}j%5=p0-+gz~!t&wif@yLsB zj|S26w}UeWQ{FrMpmTo5cjp6I`CG@@LA2<1eApnm_B+RtLA3Vw{OlmA{k=1L5S6^^ zyfK&#y$keZ-JDrHX;gP-Z4Wx$ofmyf7rXQ1kLY%H{``G<)}0p)p^-g!+7Qa_!B-EW z89n&*fwZItNAIlf!O;WTdT_LIc@K^zJl&(v_48c2VTQ~I$9|){WB_e6HW>asEi}n< z2G9mmgQ*xrrl4Cx@KOLer%Lc<4xnd35@zaiv$k&lWm&MPB#QFW{xnX^LG*$EcXCgt zpn@{{K?qQf_n>=Lc~1|#u7Q&lE#|h{n2kIU;kA4*7;qKjSfg2su&x9eA>6Hox({%5TFcS+BR}Y430}iZ{eOmqyTIz!i zdxBrtGnh68yT`l-|5W*DPs$64hDs>Ji+Oe>1iHHNP;JiusGCsu!FqBY=4?HjB`B+b zZESz4Xdox|r#TJfd;Ms2!&qpl8hSVOqT!8@v8IuBtsh?ZLB?B+`oiWK zYPU-*w3YqnX$ug&93fA6j~+&(VxM~2%3C~uvRi}3m`H8I0Gb)u8&e?Cy?OwpM}0B+ zeX5O8CLi?I;)Yq}{K$j`yWAuXwlg zrP5bz#XacotKPLeXxVG>;{jCsnitE|vDa`kD1BXV8~V_wx6#$Z-qFVN!CV4E&)<=U^`^1EIfpE_eygqMLBoFs zN;iKe=c2^l%d>jYly~KcJ?Z?r^2nYvryDOD0`(Ek9YRIj_=dr>vm3uLkdAcY#|P56 zZhY53y3vjA7)X!1@#KLttUE6oK;ye}jQFYDIr@J=cb?RnR(I#vbhdQo7>;|pb966e zCVC7r6TO0&S=K|JndmIc% zZUYV8Eq{du7~Q+xsLlR?_UroJ)h7AT_wXah1M)e+cK&;a;qD`tJXw~&(*P-=Rt%6M z2A%|1F6#2qt^nJ7d~C5=7yT2@)&*VpCmd{xk+6i@#{Uz(BlOHlCa?LPE^G3X?;$hEL%*jY4@8MIfwn8((Uw3|^-7@k!grMH#oAKi z)n@)c!-8<)xE~}h|BiUzurc>gKf{gg*2s?d?mzo;aj>J0wTGg-ZS6Q z%Fw}>h4r-QKhVN@Ad*{OF8h`i)`$4~xW2dKTbj@SBjQN|ZQ2i%(GUnpjpX^?Qbr?a z|M1q3ZS1!+w26H08`|AOKJg8$ZYpp7hMqN*=YB(5o5^Fop+n7LVA$E*d+2ML)f`L3 zh%jyc-)L$W`X(h@UjH>^hU0urt6JFdzoz0AsOY)~+pw=`PfNKX8QPeZzC&oY)vY}H z@U^FvuN+^OTj^_NawI>Cxb(=;_{eF)pWtIyl>5>@C^yQx_aC$}YAX^RM)QY1(7v|L zzw^}s*NoJ#@0Aq{S{4!cb0!eC*z%K zzoMB5&Z%F~%7o@vQWLzBzoPpIsLb&W+OEG*O$SuwNJr=MztE+Q`r?$@nOFUVGCHF& zBfIcj2)-njWA&f@l6ODYPkuRQKA6dS*}oTGYhTvK=Al2zOpB z!bidDJnipP_`0qqInb4#{(&aF;XDD{J8yW0{y?MO9D#()xA?KIDgP~9w=wr^Uho&H ze%m?mFSP0%=hHt^?K{r%f2J|Nfd-m3{+93fGnM@oylws+U;1ad`+I3Ls3pDY-3e~0 z-t{cSSM9sr-T2Dtrt?(5l($NA(>w7ReJ?4Rg)U+4Be(YAih#fTZ8X8(zH4)8ttD^(4ciCiNF@!Bsb za}f9$Gnk+IlBN%luYhL35YIMnFz)@JMfh6qerOrKcD%2vQYt^-HDKWb{WSLELp~nq z!#~2B{p=&Y3gM$4JNE(Pf8spyBNcq2V-kE%HWzUCHX;!Xdoippl z)w!Zr)sLoI-3R+qqD`rV7;b}B41Ve2-M;k9t}PotHyuHn2GBA&D7PO?Qqov%7tiq3+dPB{eE)zz z;n#Kyp%Om?yv4!tg(0*(BrN%Tx)p*}yd3Jyf1i@-p$RFezVc`wCc8JQKkaEW{po&l@1=p*Zr_{p5#@)gM?b_fSNcwLpoMhoLn?`Q zHKjK_X(<-;qj{~w4gKg?D;eTxYHRD2?zFPCbf-J*i&S^?r-zaCE@R(qW4k$k4z>~R z55P2TaH|iEiw?fohpM83uJ@sZZG*4%p+{|luk@j!cIxe3G&M%9#1SP%t?EgovGUHI zw6wjvp(iEA$uoN5&PT{fb`K*s<%)9*dhcx+Je&R!#{VqTJAr-vKcMhh)cX`=h z+VL*W8BB-Y^ckSl8d>X9m)vclpBsl-iA-A3z!1_=y2Dr5j(46HPb1Z~(39 z#;g0&=5G8Fy0jbL)Sr%Z;}iQ+RX0ASKi%ra4?r;L#<%yQwC+3|(r9;nvoB4@Cfh&(QV7$%=>WpL=~Q=)4!qKRVx4e|eOiNgscvGbLPxWQ1zy6s!s;%3k>;a( zq~*gV!vJM0wy;SCj^M01V+*8v2>#jl=SmguV9|e}>&>I0IJQ6V+ubuT%v3|qFw;!4 z2=0m~u1VbDZuYmtsM*Z=k`QB-m%R6UOY$DL019rPf}*0biHIPmC?Fsx;JzS;f(s%b ziXwuFBKrH(kncIa^E>CqAAF{&tE#K2t8U%8b?aWU!zeuOU%vj&puPCDSD4ez^*M}f zuyG`^D|(m~0$omm%_)9%%t_Wo-Jj0tX_uZM;Q>8E!XtWyn6rBD$31019pM9_56rbA zX#Q02@q$;wa4O^K9J!*3i`i#I&OS)Wdc^A79tJ{uxUg*`t#nfE2g3IDw>L-931{U_ zAZ&dpHHa}-_xN+W6WjcuzGJNjq7GeW2&68P5*J8^nCGbx zkhOSr4x?CC%l%>0=&D>FMqAx1)x$95m2zCYRxCxhjIAh{!*EYg#?|YC=3c9YVLzRO zHa@eM*7#GHJD9wBcWdGZdhCuBt=_5>4y6k=%hNz=w1EokRh0}Faqv*$hhk%Gi5W_p z>`K^BYOpJh11Mgzv<6U{roeo|c2D^tj1qhHf|dJIo{#`%d0D%LPa9~#W?0ger3==#dR47utCGkm_gh{2us!3=${)SscsYy6?;{`+@!BW#tw zIV$WCX;;q}<9g5w%&P?9w?6z-Ko3?XMbPgRgkAq{)kQwuG=dOl#vfut*b#uhHbP|h z86(J{kr9A^=KSRq2ONPdPx7@VPqP!)T- z=lKwt0NrpELiKkKqmXFPSk2WV`MOx-khPzb7-Fg=j8tBq{}GsuzkC5ZX_bN%dKt|E zxZN7j(qY2&3b$5nuiouCOfBn_)eKjqKh0v0Jsa0CI^cwp0H{60Fv>JoDooU9a64h5 zI2X6WI8Jb}z%p}+(UM}qaAlc{7Ms{^22)cEZ;EqhfTWl%@>Ze_xR4Zz_JxY3h@n{L z27uWVwYveBFPy!2A(5V&@D(7BBfv5(?(|Uv3(LhKh z`&|sA-7aXwR-^TKAni5cXR^r_Je=}OEy$80n{oo^j?7&#WVQLI-3xp%Z*V;N1k|xwA+0VAipYr@}AxlCZ(DVI=*}2W!=;LS-CZtKJQ&H1$ufO^^>7V=@mN#%2iy7 z-Kt~9C&M-XhU9%cJ2V*zi01UkFwkJ$JQ=2%_(EA|V5=w730#)s*5}w_2)bRM!BTJJ z67*IhkM1_H=1H({#5Yl}npistRulOLN_1rqXlJ_e4ax;KRyc{SyK&yRLtz<{DA>&F zxWU43IFn@IJWi53TQ!NA+|4gurSn#EE8H&F%-3F}oi<*PJeA#?NM$ORPde_wE=;5< z4<6rSXGb6^*UWn-(nXCwz3j;nCsLy)FSF5$t(`~@ym}9?%ff{=SK-S``U3`_&eEAt*y!wh5Z+;k&-ItY2p~Aj@LJRwu8>he* z0HkA^`v+xCr;P(t2%IwqK*SI~&7~SG0xmMjk?B};o+ieyt!i{ zRgZ`GC~^YZJ)L4FunqYGXND|0ocUqm zUT21QC=(*#N#}e2N6)dn;)=^}!-V~It_|NNeD@S)E=9G|75Z+VNcSZ5I)3WFV+ZTC zVpnJ=;^#UitqSMBP8h+voMqU^JjmsLi3atEiE<6=P&!;Tqo5iiLqSbOhBDfX4B1~8 z8FEIL7&66}7}6)0GIfsj{yju6;{Z2GXhhvRMfoVB<&wS51Uoib7=xiwGh*U(;ON)u zRahV2rN@fC#>w7ng4qNg5cxD`oOi|>)LKUS4EIrqBojlrJtl^jLnemo$4q=Rs5CJY zSZCrkta|zyq6EGWY3pVB?R|cy)T@hOZNuQaD{7Y%3YBJq)JXDm#_u%2r0acdXY-0) zz3&FAhv<=3Ck@tD!yV>BQVnvb8|^nBI?Ki9fJ|pxV48>`VMSA+SjLbi(P6ALlQAUB zXAEh|8AGub7(*4Vvl?^>r#qK~S;|un`jXG_XM*Xj2kad2Ik;Rh!Hm&5iT{q(nJPT! zq+Z^v!PS60QKL3J=b9V0)nQ>=^WxgBcRax}MwWGaCnB9qc& z$5DDL3M*zxm>uRlLHv)(t~>1%@2ae^Q;eHZ>H(8}Xi|b=O81~PMcL{>xn?EWgBDqo z#U5~wqO_}2ZQ)gIb2l}r^vs=;j%QZWC6x+o$}yFes>(r?)~Usgjz{}GrT5@ZOF0DX zXVKgWg@4fqOCj}qvk7wi%s?d)CxIt**2e~z)yL~=^-4U>$@Q>Hal=UgSME$>80F3`htjX7V> zo#kZdVfRN#f@?Y56}$s~FJNq4STEp$(nf{q1dn)yIvpCti=}R%SfOIQJFG@t)64m8 z!d55SNjGSD$Vc3SENA;}H(af-Jb=Mjg93A|PYsrfFgxp_z{YR9(E^)n4Ms~chNDS= z$AT41>2RgZjLQ>b1$JNSWaSWi4!E)-3ProJScNXRx!raXUbwlfR)m!bU%`5+h&pyk z!d+5C0b}g^6I`Rz7_3#JsK$jS3^tBH!YZTOF$&a!yI83=&095^Dw%o@>>V z?l_mi7-=)f*WBqEn-#9Y`k-2Br3$$SNuu4}OH<)cL|tct5ehIU*uiGtp;>`x$1@g& zy3|-0k~CQuYSeCFc=rnn!&@WV8QvG;&QN56J3|2(?hKX8b7!bcnL9&0D%=@fbRr%|K}r^S&*)4^#JW8^~PT_)46X_RB)DWS_1KaI{Z z{`;zIike0x*t<`mNH-+~{EZtQy(x;ebP9z3gTZv(Gkcayrf^F-;`h0mVkY4LjuXLi zR?}nXDp>jNyEYS;&TQ3E_9`TLUb|j}on2n%yB;Ho$I=!%*I+xOY2dM{G<>iFo^twR z7{~WXpF(9`pF`NW6Am)Fa)7(8SzYZCZBUnO!fwjZ{zHKvDgy4baSi|2Wuk>Tf+Yfgbl)4o#q}0oHvJX!AfN2{8k? z->?Qq_9xKR!Pcd)Oy#dU98b0WmiqB@&)@6Jcv?1u*L6pLCG=Gsb9>cKq{;wrWTiv> z*G;69KxOGf$_d1Jls??PWIP=m-s|i*svnL~Sw6!5_*hCCr5uAM)MzCi9Qx=A6xBJ# z^X6pAeaV_Ki8j8hgiWH#m#yH_Z@!|yyV#bo44txbEJO46k7ekO;<2%&p7H+!tieHw zsWT-r*d_b?4EP$omJ6nY^Fnz}mMDgc`${k_IB?5jD-EVcP-rx~cZ$LOiuC}r<6N-K zOEOxZiPvRRu9+yq#860{i6KduiJ_k|jm|eiJ5$-$U zW|t(xsOKHYGYLzFUJiD}t3482Db`?a@M~VnxOb$dMz+Y6LQTBL zRAz$p`nycQowaVpH*k*kZFRl^id7(l;X9Gfz!v?&v-7dt{xD}g%y(*8-%_^m z^X_k9LEU=(Yh2@+3uo@DWh)N+x4F)}7(~n6tc{=I>6DGnl^d$@!e_7$%{L() z>WMGuj>kDf=W7eQgQ&_=YyXm3J^AG6_L8$dqvhUw54YM!+x;b_`tbOiUUKTEbfg!L zKkloAen$1axXf_H&j2ZBgCEL0-CK?Pf^PQawpTawTTmMWA6FU_MY8*IB9%8luK1kF z2Vj$vG0>XyDU}R_C?bE5?ct{&@cnPirBnW&K*{6O5JSrxsvH7F_*j4notbL^TxTw7 z*e{TsCI)JdmmUh_6*@6ouEz=Ta9*LSBed9$=|d*S}UGQX`^}i zgJa|xs1A(5DGrstq+Np6%}YGK^<^1{eaymj5*^oADW9 znrCnWY=>X>DG#F6Z}^l3(X}^xjs#K0o64@Q>Gqpeh?K9trL2X<#oNk~uW9)^3MBex z-%)OUMG=3n)_z5g{-B(Mkok|+BVW7j+5n2=^9R!aXycfpVDKb`IHvV zX6UO`(C7Gs;%2kcpHRwdcJdR-p3Txfp~Bg$6>3GZ*^`gx;%pWUb*9-2Dm|^UStHIa zX0y5vC~OY9`~gMJVRz?J{2UgF&pn5Q%%z+;?8O`^nZr8g(3v^x(HyFo!`kLh)0|=} zpQe1BS|s8QH%{sV`5dl>3VbwV!1JjGzjO>+sy8LAR0E4F$9Tg0v$oU|Ts$UTzTSF7 zgV-9YXrYt!u0|D3d@3axz9`aQ71(;rPI1OB(mmnX$y$K@3yh&cqlmd((BM1@!+$Sy zMm1XRYKzh6j;s90PKVqqSL}4g4aY_4iY3hsp_wh!4)4%%xE)NMrPYHry1%~(HhHY- zX*&$GLQ1vRW=Zy-TAKw+_cj=Q_oQ@{o!97~%Fbe2q_Sd-&Z!KWrYkC|uv4?jP{2c# z-S(gm4~Ak^cr@}&4Eo`lL2kiDn(zL=g?{s_hA9leH{1yED6e>#Xu{_Eyok-^e#unm zg1sz1@T=CDo?x5f*f@0PP0=neFUsl6T4z(J3%oUa?og&lhq5rdHMmff0S2BN?}8E` zeq9u0*gy%Dyb_!t0pQ!VgF54KY?iok4xB$^Im6t>K15^lfoK>=LCjibzFMQc*z@yq z0@s7C^vx{3!O?IPE?4YT#HiXK@(k0dTfqD4-sO@l_f!ToJ0I+wqn*Bh@W)9#i~Tz{ z>mP1#y$nAQhApVkUZZsxqjDqYPQHnu$Krqv;GSaQm(siI|OghTqA0hFn>C?vbKE|GA@1kEOrZ&%iOI z;B)Y06z;LEmdk?pP{u`=xjs?N^i| zV=2MBaP>IaXi-AO!e8UUE|_F>S6;kA)z%OJjyo^el=N3m#KXO+x;@V7{TBVAz~y; z8$&T8S?U-Z;4*kN$Qa4)j-tGg?EEMy8<}BreEajb8ippoc~_?w&RsGvva2Me4ir$Y zoYW}M>9dvIus`lvros7&H67-p`KJzZal_BU#u;!iSYUDky-AQi*#skZuGVgxD7r#v zpGuVZFfN~GR_nZ=p$wVMS&Lla1z%H`X6M|sU@yAuj)k|@YP{x2jaE>{Q#R`(4Qg*( zGM;Z|D6ibk@cIjOhElKF8Om$1GnCh9XDDik#!$*?jiG=|8bjV4+P2^6njiHc>Z6^9 zPicWQ@)IL}ZXdvkpXVT$aGEUI(C1j6YhV`kHP8QgzXmxVyg8fEk%RTNo znQwmh{2%bU%>omy%tUZ`=p$TlkSIh%uRIh@8ze|}Ui*E{&!J(kv*>=uiGFi$bfVQl zA6R2vEPBB_bAjjv?c!CEjElI3B)4iO9QDYjVHH&8p5}}bCque3HRyWdcamN%bOMX3 zWO0L_J%Sk2W5^6kijL-bMeFEiENnLfbwB)lbBE@*Gjd$Qm1~BGXpjXDHP)87Y8+TzfWKmIHr#^W(qa; zQI=1k+`dZu6x!L(+6HsM{ggUvxcXZ!O@!{Ua%>_U7$6^>2o;WA2Pabf0A7>kf!g-T zv}n+mP!}8|Z%6cCA1KiW`(qux>92-Oh6j&Gqzes@n_s2q0F0clp=$Q4w0S5}gbY*4 z$5UsZwP-x(ih}zg`$l|{1{cjEtC8oK5pSyhVOb} zEJN>I9Lw-s>&G&D($=vIpQ~#uL*IstV`x|OIEHt}<2uG*^VMHzkLE8y{HOZ5IA=eGCSib`DY_aVJ_C zr}H{I3d)9j!tU4iKRAkZI`ugXcPvgy)(Ci}ux5^+RSu6n@h)Grj)6ZS?c^BRZvIn?YEYCecw;du z_hA3s%+HQrSbTCvQ-swgaWq}G`h<*xuLhq8$hK^@7hF8&1tZ1lR8W}*sxQnQukq+p zF^XdC)}|4lZOX+FxbmY!jKHw7F2*Ukmjcn-X)gsMQtl@{%D& zc$8TmV8z3o0e^r*Ai!Q22yfC#Mj*uxW9ZPdVGN%nXBb1bmJDO)(KEvsIg_VS6AA#cnssX9mNQtr7Yh%|_1@e;mN?KztgLUkrxccL{!X z$#NnNid}j7Y&SV$5EZ#?!tYu|&KXF}3Rn3Gv&c6G(q)S${8kscd+!+x4~v|Ojj)*x z<2sy;E6*HPO{)e`rOIVA9UgMZKq|0%o*M-FnU0ePO^zQ#&ovz1RCs#h@HxiI`eYET z^p=~D#M`=J5VX849RumKPZlU=u-_*YgXpT?5)^i$x2bF(rS|!xa1e#{twPL|ehZ%u zg2vdNuwNNqxj2v>4`Ar6#RD0lR}Eyy8aI$3dCEZ0f8OuEInMCZy+-;{+a%Mkd?&m_ zbWb!wbwk?)w>@GOVjfGLl}1{_&yPd(Doj#r(sQ|RvXc=i4Vg|jh1lWj(}L8_(AJ<@ z7lxv4xp3PR9WD$>f{hGMBaIBD#2OjOO*H24Roqbr5Nnk1Pb~@p8UY`+S@6PD(IpNS zUr~}43C9}}q8IDzwKC>?pFCI)(tF}oXC7Z}w!=|@8R{0`x%WD2XA~^Q+flbxgB+(o zwut%u#6{Z+mxIPi)UAmzl-Cab#AbTI7?MZG3<+aohBOH>zbu*|GgKu{&er$TZ#lQu$Ji5hy5VYRO|zTysONOBzGl8t~K`N=gh>?A93Gz08v{ zV(UENxe4bdiB7^srSuK76Q}~}z!II+o1r0Cr*~A{iEWz$;reA{tT(u>{SbDjY^OfJ6%E&0??Wo5bbUx0 zj9!~QhG{0B=#Ox{*DLd5>^p4PxF5o_#SjfKK5k#gGA;*2x}xvyxq3mLZj-`q-gGFv z(mtkqvnLc5_gQ}J{s?a3wYc{w%I3FgE-hF6p1x0yRJRW3)_JhFk3gc`aKGx7ojv=2 z_GummaNWU^ZN*IoPmk*NDanf!y$?kLGqm#-dvjTTluxhJ4=K|JYiw#SZPOeo=9(${ zd{x{oI>9wl_WPMv&7m^CZAg5pH+wOgI(qX?>gdB-XVbyH=Bn9ryf2?n7y7Z%*>Fy= z7{BZLv;DKFwLj-My9co3*_1U%z5}JjK_1ZT+&!3!$MObyym+6^59V9*CVzH(E>#UN zZd*fvM?izOs zY3e7iOSs)N0o!+aG?6vVgLw~5ra~vNjqlO%N#^D6(fY~er?V(!GACBuQ`q%cv}`IW zlRj0eo<*foQG-3x)Q7XEY#M%MO*fa%qLS&Hh(4ZS&6~xIdSuU{s+qm++-S>=+YZ<%3ON*hUM71!qzvfQM0J?P4m)ORQHy-^Icl@j@&+%*1zKc#mSC$AWzoLO9ZuJL7Qz0L^eLX{R2+G?>Od{P%iprVAC+I7JIo4UL2h?eQ|z#x z^BKsa!K=)I%h!I%7H~CwIuZ!G0K}9G2W~ zSfDQIb;Ux*bsrU4akTG+_B9*i?QkLKVy?7MrHc)}Z@YNG2jEg8pV-$-?x)}b(8Rgg z=ghO-ozBXZ5_h^GdzQJ=5m!(66AN{-7PwOlxP5oJUr6`g4bmm_hhU{4u+VP6u0c)?s}gkBoXNok#n zTxP^4)*xBPb2-RU;#~@HPOU(Y?{JHh;~a4pgfzjk*#oLe4^&NZ6-W`I&7Qe1WNz_<*2xKX zIn++Ot@27c-L=Ybb~sd%6YNx|S~BgpgvaVNT+e4vN7?DYLg9YPgWa=Ju?KtZL8m=n zJMH&=xhQ;LhBv)m{)}rYf?t#uj++$7kPAfnb@=jRpY(*r zot&(}X_?xp!S{|QoNR>~>}cy&1K%efa4|vte9dU-vQsGYTBXr8hLfLI*$)3)neuYH zJ6Bl<32%v6gO{#aGw8<=i|>Ao9>Cuys%={cadV2QE!U_>{R&5D9=_okoWwzjoo#2R zZ6Sm$o^-;_@cxT-?&_=F&XA|o&XA|ep4>B^R!Z+G2M5v@eNGLet)e-jA7lld-Tk5N z#Kj7g5DWK#n#&tl>h$XNfmEo+V!I7$90MS7{k&ixEi$Or2fz<=P&8O%7j@A9dck!~ z+l;ox{&d`AEgQgnbLI}94%xD+4;^%!o70by+|*@#saP?$^`Qu}*RH-4VzF%Khm-5i z!v@e%cXe$)OeVjp{b`j=i|j``Y)VUCdT3LZ^rJ1RU z52iKup(YQ@u|6=?H5H@JuH^Tl`*sT+F4BA>Q5`5o^rd=D+1r=acxrWhXs4%TPanGJ zsm1i6ZcodL-n7aKy!16MPjF99yxxQS%Gw(Gwf`Qc*b}QMV}PBSzvJ5ziABt`p!oZaaqgc1b?*wy?%2 zT3r7Js7u+}-T>7xwY&k}p+1Y>!eZif^9}gmR8GD@CrqwoZ$OdelXI_gD+&0WW;PbT zL2>SK?i<2#b(wIC`?p_?#%$JX&G4bFDRppz?%5~jEqdzd6aE%m@bbu^#<%7_|(2h#|HW|yhR%a$s1pzXM>a{C}A+`m`NM` z<&&>bo4=Cw8eJX2l3$~iAqwKx2N+vtLd>in=460z+iR3JOb&ZPSQ4nAQw|5(vfhS$ z4O8aZv~9T0mOs#=;T~yk)A13?!*?iiWS`2n>HbK$;%(|0{bR_RbbCxXdLZVNFE_kR zPhZKz@15h-Bd=4@c#r(o>Eig_sc%x<1fRq=sbHdC{F}7lRlkjI;$EG{-q)#ml9Kp3 z6;D>yzD~hYJR;$Iev0z!HL9Abw7f=Zr+M6b4Ht8i3$Iblbhh#j)HIzPdz;#)vwd&S zi|Gt+jF`bthnN{`(`%G4gWaA<88cYcOv;zFPq4!+Wz5j!|SN_xzW3xcZ#> z4_tidV{v`d%^dw-+UC}b{#tJNJOm7Ths)|7>Yr2<0PeALs9L&^YKNjAsvV}!T1X{<3s3$= z4a4P)3+ch|)rem-Qd_)`;zoj%3>{@Z^$W$1miPai_KbE#y9!5R=b1A`z4~uDH3sc3 zcuC*(FFN$Hx%pr8@a1{kXj0oN`Z82ttly=7Lp-Ra|3-Jmg5K1R(^vgU72`iY@jp5< zLA{Avh!emeU7Bdz_b;lSh!mGzRipkzt*>IKx;n{Nf{VD5IGeI`iXr6hbbQKd4}YU$ zQx}H*N|&c;&;Ca3)A$FAoZ(*oH;SKu{Oe|_d4Hp{nY?jnuj#vgp-ry`E%}wUzM*#h zLi^v~1hC*uL;Ek(^5!Qf?95wcwCnm?5N1@q?X~A0bpLG#3GTjQIPrH{@keVUy7%%Q ze@Fn__>-25mUaD!^F)#Fy7Mcd@$X`D7d1=0hjY6fv;GZ&^`0RMzw>7M;Rfup*@jIB zq|TYfi;0>Wv=6ZHeYFNTGv7xa?)bo1hTmBq6r;$F5B1wIaz2`H>{kl@*mmJ(TKBQn znV%{1W31ro=BbgtP})2`p!R;Ezw}AJ5syFn;p)%y;&biz&vg3>Gvd3x zuxMPXX=-2uXOqs9wsaC@`YVBXC z>l@C=hJGt=`74!u%lOc(_?GdZd+l4sN86om8E?nqZyE2E#q$|&+^YGE59_%3j1TCP z`HTq3g~IuaxA??-#v6NaKI7e3KcDdqY@N?|-*wGryxYRQW4yznzhivF$A8E8 zU{CvwVaDcs$1qn*zGIlBXTD>YpEchx%*>|m7-nYscZ|=;7kK0mFdHTfi{2$`&y6Sj7T{336=#!??e*fT718FJPEHi@#?WTdTfj7&39+GtBUm z?-?d{_V)~B1^DXBG#%J0O40G(v4-B)b<_CuH)`Xj^f2Z~z7$(+>9~eki#E%R^GUi8yiJb5w z!?@4*kzuUo{m3xN%YI}S;1xeI4DD+_G7RcFKQavG$3HREfuiM*<()$EG{}PtU|gaF4|L^U2k^bJH5w7 zxgLQfCh+4|O+Il**2H`YQ0fvHGrv<-m*DYASL{4!le_uAeu1952S%aL5;f>KN;~Oc z$Ohc8t98%~TBVt50d1bzOD=YZiu`T&@v>b1Py2oQ1_wC^Fz)1@S;`2<`p0^GEmJ#qW}>{O3vyuEm;dOsI74yP_b18b-0ub><2ra@{^G~KulzmHD`b9#7&8in5%XK1ox*P)7@H)N;bfyOJri8tzwIOcnn`#wc|C{n5 zK*^iv8w!2fGZx<~|7|r3L*e|}ix79=9sNf1{-t+7gDd`E;07LJ|LCZ3#UFzXB3I3y zRBi*f?N1&F}mhsM`ZTLS_lMLCqGu7p$RuWmKy;F<{5b39G$0Kz+0})Q_lc8=GhMdB0uq1 z21xisK7giYe!|zF!=HNRqU5`uPRc}Uc728|{Ep8T7NZl3ztA$#^EF>!Ak*rT>ct7MfEpYJbt%*!3`b8LbM{-aRDJBM39#w7#rfye1bs;?J5Kp#fyX}q=n53eI!2XuBC!`557rF zxbS@|uxXiK%mB76bNH?Zi4fE{1Y;ruZXfT&NP3HE5zZ~H2t*8@z%qE!O# zisIFRb_S1YRtwOeJhDdcxrB$8qXfAUt!Rl7%)B+-QT$SAYqX$NVT3GQEAXyZ3UAAy z2*$1#th~GStQX8YQ}KEMM09_QpzcM%Cu0Oq+2mNkrvwFOY!G~kkmlqD{G(#r|Fx3oSyFha)Q1W$f;Ek&_RTOy#3WcPU3F@IT^bTnsF9139zYgRiv<1kCXD5);%OzU{#wqz~ASd21 zh|BoGumi}KguOsc(~5wco}C2p8C4DBH0>skle7CkPF`LGM$CNMtY)&lup+Y02P zY!{FZFBl|dd|Vv?aMfDQDBbg4&+mPE0E9fT|hpu4*>a`J_6*k`7DqR z^I9Mu-?xCAsCNMQObSkd@m^pgkdN?KARonvNrIJ+-vbEqNpl3q=L2kSGd||AaP92d z!^_l3kOG4W3UhEY{ai4nj;59RFLsZC4x<%k_0disX>{EAv#n$3l#5$=AWnnbN&~5s zxrYr0tD-H%(YgG~jnTMcAjjae-%Z(uqj@)P_<3Kc7*CIcF2LK}qq!LP*hq+hu^%Y0 zyw!!5xKD>gA$Qj!&0>+}NSpe))xa4*U%pJ__v>|iC`I=Fwk43F2FOV`vLAredHq1`$uOvAFGG?8 zgXGF#baW8*PkDpYTQF2G7?X}-hVbM3gdq&Ql`({&hw_Fnw6$yqLjx;@F!ai`Aq+iw zX9z=IJ|4o*#Ki#&ty>kq@9x9}F!WGL07Kto2QW0RFo2;KPXsVD?_vN$%jyFd8r2%W z(2%YGhK7U-DJ%AOg@P|up7VUQI#c-Gy*bW6D# zG<&~`ve8aaU2UTx$K}Hk$sIRXsw8adDs&ngaESAJ3E zh%3Vz&bl%bTkFbDz%5sXtR1clxq{soN{@8g_PZ?a|IeT5?|!3pz;|3d-p*xW4&QN! zf-o8MelPbJh3k0wV}fw_|7$a0JaO{}t3+$G6GYK&wR-5^8m{VTt8`sJ)JDCbT92DJ zY>gB8fL(@@7Cl2uwH}?q<@c`SMdW3O6RGbC6y%7*eK4;C9c=8nwdvrM_MiJt1&23RJB7d`l_b{gv_YdJ(GI6Me(){@O| z9gZQl+F+o{KiO?Fbt?>SSY~D@aGjYU;WjfT3cS6b zIwQxyBJ~P`H;(clwV;q;&S3*lXW%BMVt6Q+Rlu)R$RrL5T7VB zTo`egP#Hx)K;y7{#;NE;EbzR^kE&uS-chx-Q;IQI$ES)3BXzS z!b3=K)na&zxHR{LTM;^H)gB;p)w%&G9^2$X1eU1yD#0G=2K-*{5rqdk?1qDd@XV_% zj6j|WPkAds*F8CV*WjhL7wD+Vi>F)RW7vVfGoNF^@%vDj_WeiWK9m7x_j{17cby~l zdf%WcdGG<;Pp!;`6X1TFFog{;@X6@AB~y&|QNqe8)u?yl)NdX=hbf3@Y9rzn zPd|ycGc%N3%{sa^L)!!BoPoLCGE-fH--}*r!t>_WhsD+FAj|SBK%V1ouyuf{H@4$Z z=bMHGyeISR1=XE8DtkxnM6L_(U@fFYf7H4Wi2Gv_Mn%!A*Pe&KP1}1xiRhuK*@lA` z&{1=&JaXS0IUb?QbF>1$miK>cMvq?j;ESrO=-7`w+=^G9|JaaMuA_u`K}iT@eqz{# z(34Msb|Mt|nIQ$C?VoA!fa{+b_VbjVJBn`od|^IHS@Wfwfl=7@rK1wTUwu)7$R%G} zcNc@YeC>!_8}!qn3LT|s~hBP>LGu_|CwqdFQ(iG_>LO(tjG70W1EgT?8cm6B9n+U)pp0&i@xu?fbXkCVprC z=LcS^ZNGY7g=v68zuM|Bs2hLnwLb$*`;8N|wEtRpPlo*O+cvO12ELo=Q(-UOEt=*2PXh+2_ zXA1TtM8gvfJBRSfJ-i`dS%RSvp+{N5f;;HzrF#W!4^nN}%b&*V6AZf$+O=PJi8pgm zj^Le+H*LugY-vDvq0m+%{?Y*j+518+#?HOUoLi2Om+A;ESNpEl)?pk4zmD-age z;?r&{6tpgcvkQd~RC#ZaV2Ip{iBu$bw<9|AuwV;D`1D~xivusf9CWAiydJA_pG&+)P{&I^VpJd3ChjLU(!6@sA~PajnXN&&*57Xex!buozG8R|@~-eSfb?@b1FXMZAi-O@Q!U@&FTm1RcYV0UbO6n!S zkO*wLgs$Ze5^7*K9tGX3LGJjdwUmB?5p7}jBJS_xMXJpRfJ!TTJ-Tk0_$@w};C2-=8Y z+Hq4b6eFD7(35Uaqu^PJ7aeXC3=N1+YwBsio?C+VGlU=95)7@t9nC%I%bNw`W>nyD zvtUR99=t6~;_oZCBY217eV6YDw(CfLwnfmw5x?%P5VQ;L-F{CnEJ6CZd!QqT4`~&Q z9SCQ(qGyq>u~m4B$G6-U`g9=w$~Hl}f#)f0j)Ac2fuKD@@aO~nISSeZ!!d*ocL>V` zp6lX6!B|j+ul7hVlmhb~^}HqNvC!u^!ex&IEftv6DHtyU>pBHPC9t^@1%SzaB4`oi zFq`z0m%g+Mea|0u3C8`vSon}k1fG7@Q)pDTV7!6w;cmfj8@Twna9rfIxD+fJTTrd= z5YZ3~EC>-DZC$iTH0C3`XOU=FjkexcB);ir>tfNC)(ZN(1RNzWZHegJ0W4c0+HM1v zFBP>EV8T+7@7VT+igGG~heO3O1jEBc>&{wS8VeT}A-H9kxUl01){*5Rx6^VyQe1Ex z!D<)_*>ML1d4-q>re)h2@gGMJof{=;>G!aZM2UHbUb$XeSdQrU7^Ft@ff$EkZE37% z*nU?>dpC#+O7Zx_M$yoM@aj0x`WPf8GftFuBYZth)Z&0o;vCt+Hj9Qw2tL{@23gO?hbBznf8VOx_#E%gd2l`L9X zYtVhk;@emXlSOqmVxv<;&P%865WOl;?lT9iTL5E zYnW9>MDJ2OEjhxU<{uRei3qJM6MeU$G3jNZc7#{I%<;WWmW$d+1RKglNGUEH6P3s4 zfV$(N`)PcKj^iTdXHSUQ{!1A8C&ex_W$|fobOL%h=d{SpMn;?$4eN8zm*+*>R@Aua zyr@M3ThH^?->MJ|JMi@41##Z;3e2-g(HerMH!2= zYPI2#sAVCTb%__1c3Ctu9RPK^EOz2yTCM07kDWnot?0D`SXnE=5Fo9%CTbf`fpxnk za^CH_Xt;r;D6CGjo_d5z)`>xJpyj7;h=wbOZ@7W`r2N5!o1*VC)GM|@H0;BJ>kT~_ zk{U&i?%g0djiOg4@M0tPj9S?wYEf7|?=|s?HQf^BnkMTARQb zWj+%fIy)m=()OeJ<>3+u5E{I((5elHoqWJED4?mqbanMufYgB*S*# z+Gxo$5_mCM`XCa`%Umn@q#%51t)x8wHm>DwxwcMHqfy$!brN=lZR;i5z8l!?#7LI) zXxNPyNsUF?&KUl*BUX}^<7w^&$ykTjnhlbA4cNAUKfSwAQcfe3A15gf&!N7XB*Pkn zw``JZcYxIhXY=r8X%4SX$7WbGLb|jqlHm^U<`&7y<2P=VEGO~Jv$sjcBy1)kwo9+^ z@cHeM?a5j67BC9w_a{h(R)o6}BrAWuDpB(8K=^c`q&4t#iM&?zNs^%vsq>S2Qk_kf zlq`gorbvbyU|~v6d_{_+97Z^Nhh!)P7VnT23B1@NsgmV6e@&`nSb+ySclKmB228|2 zj!lycxAFX3nv^E;4A0UfTR0M~*)7>l0I%m{+@g(`z7CM#Fy@uv|AuW*Y-zYlHmywwG{WfEx1IobzK0X z0SpGGcC$n>v>}{&M0$%iz2k_a+~nb-lHoG2=%{4B2CP0RY0bd4qrB9+rINB4xlfh# zl)AiJ^064P2g7CUi zl7o6RotCV*Si2XWk&HKhS!X1}72uOI(l>iR^*YZ=)@p@E)DLuvc#CAk~H=$k#sq8cRa(06>kc-+5b7cObs#HYblccR=S5TH4Z+ zd(B;GVKC2qPtw8>f8?ITWp`Drl6>kow!y7D)8+e;8jsNZ`@CaY+9dhpF|dmdB=2lg zr0Id=wHvsooj-lvF3J1x^khfR3r;+gf*K&(D1Rh*?LmC~BcAHoV@ZxfD7~{M)ygN5 zB^6~HeIm(A5x?YVPa`UyN(<|eyR}QwI>Ew+KXcfoi0_uw@C3px;=cQxoxy(@S+h%Mh*#)v56aw}f(~+WIh^ybPiH zVY&}+Q#M>Dw_~uxFVofQcp+&kb^qgBLe?ss++D5{&aKk1&_&pY0gq!^Gy{Wy4}qPK zHiWF!u?FN@0jvRT0GJb<-#GcX#M3cQF#cOS44co=vLcnVkuyadbzHUQIsZNRH&O*il&a9Na&od>Q1 zmIJo|OMvOX0^mX5LEur~Uf?-k2Ji}SE3g?D2Yd)z4-ARcu{FRIz%bwj;GGV%9vI(_ z)&rknl|2M}2s{RC2UY@C1M7ehz`MX_ZD>F60&wYC*t`X<0X}O*`+?_yslaUDK41v& zFtFwxUww5f0eA_x1=s-G1Z)GQ-bMR?TY<~gp}s9>KQI!w4VZHW?FVK74+7JHM}gg# zy61rRfLDO!z-C}6@F8#yFl4=s?EQ2UY;< zfTw|Xfd_$4fSpZfe+Bg^59GYsT_6|mKLM`7Ze;03d=G44 z)&L7Hqy4}G*q5XNQ-S+{iNM1^el&6l$j<~W0fQ0W0PLzp`+<*u-M~=bvN#>PbP??b z#sjwjHv-dv&#TaWU=#2t@Cfi6a3}BzFc#PhTnT&#Tn7Aqn0xQIsA|vKHJl0$!+CHAEP+$tMmP!X zf)D9DkH91FJlqd!;coZ@mcWz((h=ssLRbJN!-eoJbE{SG3M_|b;a<1_o`B2YCAbXU zg+=fM9CwiTPxn@%U@mMpK>XnyxEP*?YvBgC4K9WU-~xCWCc|s+97B``Fbj^D;jJ!I z5r4Q3PK8_HJh%#$zyM8j=s3+qkP*1)$LOs{s1?$!ke^?98!>h0s*1#w53{08tt>(cTm<ha4)s7EflpdPavfqJNN9_k@V zEj+)9_(Q#so3fC8uZ;LZy>D9p>)=ADH)~fxy-`~Z^&ahBsCQ>iK)o@03F^BB)2+8+fiq$vdGQA0LL(2+uh<9^Qmm@G-1k$*`@6 ze1hZP2{;WF!Ub?PTnX>4U@Qu6!aeXLJP!3X@I|Qidhb9zRC^Bf5G}o!^neqg9+u67 zdYz>h>Lq|RP*3)^!lxxHPs0cB6x5r}SK*0e%!1)+ID9er3p3%ZrA#YfC7cVl!DX-v zZh-6IPN?^%4@12*eGcl)=$laQLqCRkHE7fl?_j+Sl)J=R>GhvkP_MHr=DA*B*@Rgy zRa9cuixkzE_2R@8sCUI#o5}z5-`8ODIfZu8N2E_M!iqlY%Cyx8y~8BMh`K>gZK{rd z+U77?KjdZc`^x@#8jR{-43vAf#0+J`tIS)45yWiX_b>V3;Z3U`Tf-Y%TnIlRn{m>X(n%;nvMoe$u13WX-}^Q z^qq-?D}mNi9=-^~!kr+;1AcE0{xpR*b3>x;VA>p#OXv=Vn(Hx~4`qe+sLRUY_e~d0 z&V~goV>UGx%NT_I$0zJ@5n;&P7^zJbW05g=+K;yS zrutk+exf<6lGAXBc^E2^+!HwpS)HV3L$%G!>;t4lGwo)4b9Wuqikh=7I=_WE69 zxl;J(qE-Y=j<^0*1s}c8#L_1d@PFT1DXX!pzdqt)%rBUroI zUhj+6c5vU?hd#BAX&ACPnFp|z=h1(>u(SItp|0qxml5`MF^h=m$u6EKbafvfa$~w_ z!<_D>)^5M7dp3qmJ>1VZF?6iQP*%lyMyGKi@#HJ9^LYRC73RG6dbxLU5+t)XY1q&^ zA{FoRUW*#Txx!Vi>F;moF-y(?S6{2>bECixcyGVF08%yz>{+uKOA_N@v+Ias!aOCVHUqmEhEA`9hDPYc*tcB-)Wv%CT z$yc1%S@yN_8dk6Ua^M{D;QBY#6Y{0(+pwAvjzNCwuE&(qm$H}I&v}U7motMs|*l7Z%J+$|qe=&eh7@~;MNBL<^}TB(FOZzwUy`n5TN-=}`< ziNS*3d|!rzlHaB-)=5ohd+UMe* z2I@2Ei~nGq;o+7)V4?Jno>S*3e>!Mr8zcTauoN33|6=J=;#2;DjWNSaeN_D9uvfH& zivJo|f`u)AwJLdd;;&fP^EY!Fzw`g@3EYXl4=l#Q$$wa7JiPM{EY$qBxt`w(|K~mJ z!}Na+EW`qrZ>&a8=>+y>Z4bIM@vC8;3|#co8mw zlPIL6ux3Bm1uNh_cuUu1m;o=tXZyHf18etiF9q(XBw08bTmdJ+v2Zr5qS`NkX>c9f zLu;`eroe-6I6MPyQnRnalkg$j2}g1yxDaN;dQN@j!38uB^Wjcfh~;oQ+yrOBO89_k zeiT;13ve{N1@BSgpTb)(l_SB|;CQ%+M4k?3z(uf{ge!$pVFg@Cy6%G+@FW}#FT=ZJ zXdOHN>*00kUGN{|J`A|1q%b{+zxK^Ze zlT`_Ib9EHz7U}}jcVccq-5x!Kx-CjwNb1A!P&Yl(p>Ay!LEX}nLfy7hK;5eBgSrtp z33c;v8S3Vu4(f)Y9_l6{V-d9n@^37gMU0EOzxl^&b~$WVS6GZU^cX0M71{~aj5 z6o5nr3xVVN{Itw`L`?A<5mP*$V}{}98dLFhtEq6i-&FW{O5ct9Iec;Ne6rgnt2qZ@ zlg;{SNQq7HV53d(V3#fS-}VBeuSnlu4wC;!ZTZ=4mhH_!$x#U7aLDgY8I89v|XF z^2L*o$jV5W5K1qY>~d|xii?gnH_R-Hl-Xf3NS|^fR7A<%2vrp&Cy-4Mg{nL?B}(pk zBv-tMP{{rm?N+6clIvC_kuuAzh~r|nN{f`W$f!afvRhq4AhKH#>(j`tij-^ad-&|h z?`D!gkTQ(W=U%c5*UbGmGFlQDW%-xh`R-T9uQ8LPdV zYkeezxrH4GXh;}c?``q(fF})4+7&M^dlZd(+`o>mNZ+u1k1C0JufRzT$?|@L*Q0!b zGaaZU>cbe(Cp^a?V|*R?4w>LPkj*}iLW$uH#e+=8mmYtTh6OI*xP(E2AS-Rb1aX_~ zU5+ezg=ey3=Jhu7ybN!Oh7NO6NfJp4P4SWsqK13PDnm{5l5#B!^@ic%XM<6JFF)Hw zL^|QyZgXAoLjciOo?r8FJol5kUIjcys%bsapnV+3i$3Y|K4V;8*B(Dv=lcyA=7?D7 zCyTWJvvG*acgi$BHPVS#26YAPO@0iBby$)ST8yXp#@~)2xYy=b(HQ|E&VtSegSL=c zJIzZEb!T}yig}Kbjm|R4ZWVUsjJh6M&h~N4>&$WLpVE5D7N_G-ce&_vp6V_c{?@hb zGSj2~XN__!?~d||_hJOx$z5cE^{W-ATL^bgLkMv=W0hqQ&h##_E`qJ1 z)o$04uCm*$T^^2fAegs4>dhP7<#3~r1D)kWv|~|s86Wf0IYcNoc8u#T8ybhrMma-c z*W7M$r?GbRB-Y&4O^V_gAqx0Poa06}84({{+D)d%hdt;fN8(*&-4G(GE85cp$Fy#; zpviw7>mjESeK+*x#)fYW$}F0h<-O%uGyl=O z_L3LvRYgx3-9atti4q8PriaYxpicFW#U0er9>@_@(|gFa4(eHVInY5p=`N=`sEgg@ zS_gHqyFBQij(3+49o5S2lGRZabeE|eRW5>~JF4vNQqob~=_VUHs!iQwS4UMsbkS4R zjq9)KQCF$$sK$0hsjNZ*bV?_+tc&DyQuDh=K_@k=Z_dKeWX4(}t&|%6;beQsdt9=bAN4XA?3;eiXgd^ba ziP6RLtkJ*ZBfXl&VuI~9@1J=oey4fUmEdNt@m}~ti-z2F*`k+8EVj6wk$62!R(OTq zvY4NT@3rKKcj6ceNrvvrw6XSNJUQm$&S`{lCd%zK-{7h++30Yu43jLs*m@UA8=bk~ zvdGz!mdojy8ir1cMl~*(qncK_q{MXATT*5QW95K3fQ}=;b(6+1Kuc#o6BNM9n_A4v z;b7O2aJd?s$K#PM#h0^Pif`t*6xQdv6mOTi6uxY7DI8V0?mGU}er!SiDPc@AhGlK@ zl36x){bny@v+J6|Rx-bHy@#<&OegHVk7>WYGO^dkahu0g=5dAURJd6=$xG%&G@FLc2O?Tt zE%A~Rw{tDRC~vrbOyA-qnNi{QCwn1(YuE~`%#Ai@PVNpxQ!P#Y3; zo!yt@D8-|ZFAckg*0E{L-Pf?Us=2P(TUwZFc(uQUc679*I~T+4mio<$R^|x|8Ldg) zv^MTqe$Q;9&rHo~8@ipeSlN~rCGFgGgssxE@Nnv7$3(t)@#U>#`ht$`3wiVr9kpLo zoy;-}r#ewb_II|{65q?6bwRw=#W5n^3&9>tsASGPQR|LoqNN+9yfR199q80OCG;v6=2GKTffSA$6kt?+INN)5z_};7soW_ zJ^d>Ceft#bHM~D;Nddk52k!FG6oC(i)=VVnS$s(Lk`*86POsu)b0n{-J|@mvKC$+u zQy@RlKAig0ek#pN&VLqs4PWa%V*sOQ-#!h)(E*VUsRnljL~I7v2D+D!U?T@buER8KP((RcJ~((j5#2JF zG2HAS!=_Py)_>>TP~;^CzYm^E1Rnh=cm`p=ICR)V-qruwoyldHg};rMK81(Bbx#H7 zei)WQ)p+tdckTp|^T%NYn6iIzr(-JoDVM-)_=7oZu9xikgEpM`qq$->wdIdGq>umP zJ~xjH{$JWK{m<@7-mLyJW9p@UiP$g)l?Z>aGH_Wp%-l|x8iswwa^-)Sqi}LgU#&R( zSNDkdl$pQkVmRvW<~5w;{GBXG`G?hjyZnFXESdh_=A5M@{6AwaW_!tzf4WbDCBuzi z?dRszQLbKF`lI+!OiG=1hZu(CjRu&5c5` zD%*$}Md0sddn`Q~%hhtiKW?19d7YVKI8XC(QjT5+88_ar4k8$S{&;*+Ojccf>T{@jL8_avAdtO(eg?R_Y)iaG@i+FutmfVc;H!-Hn(Q7MD<`~vfydFE(<97T!!+sg#lKIB4V%+ZJHbpv?&lehc6nAZb zVdi3dxInwTzR<8HV;a85<2Jd-uoqy=C^m*Hz-{(o!+L;Ua~FGFGkvyS#Q0)~5uAm! z?4`!9xV*O1aBiatH!L+K^MOevhM9+PPKhVA7cMufGK`y-|6CMS814;}U1W!h!}8sg zhBGzSOP;Ot1PJv2;_K#qlK$=XMTRQ5vkMt*=o-!(ZsceJA>M@c&*OAh3hyI zPLW%&PN#nHdT#Gvs#tGilVkfg8t?2TYo>29g0+83H|Z&5A=fUhVk+CLOUaxvBVvy> zl^aph2w8QxC*0>NxDSExX@&mE!!77%$25GaE+tR58rF79fCdiY~O3R@4`d-4A)g`UD;>6!px+~ zXq5KCCikk0VdqAA$tZ44Y{u5<14hhtTEx)@jfg{-XC0)Hz*`3m_k(&gEF3a)9iOPL zPGDSo*f>c@(vBJCR*Vymd191z+;C6FxZ=3yT1~|X!+eMzRVNG@I;lNnxNl=jJ?$xC z6VDi7Sq(N>c*dy1tNimu#2xMSykXVAUFQugNp;CZV^}re+U zj3pX#t{LuKJl=54le=558|HP42d;a?|pCf(r-9sWeM< zo-+5~o?%`Xp~q^o$Jop(*saO51?ybDpJ^+^O@21x zIij*MTU#m_i}W8%_2X>A%82L`?iD=2Tryt2T{3}F$3$$xMBAUX@wOz_X09c$n{xHr z^^*t;ro)r8=>T$s_Tci$6x*=+G9r{`b6=oHWait3UBWznn$3M0^X6%`OoFkyz~G($_1ocTrfjZk zg7jpr&86+Foo5>~nGSWse4Cj^!$eSiBNo_PXR_$aptd(>p{?I--p^iSGY^xn zm5Y9UzO2YL=nUo+#T>vU8fC?{&Wu@$ZBbWoJ$|w6WBT^Rwx}{pl}l{>PGENznx+d1y>KI!b!_)RQB;DHfsc?1tm7UG_icS&3XA5rFglg7;Ii)a}UROe1%TD zBP(rYJ@xnAs-IIMt<=WI{z|FMUP2mOTWt$FOPbWLwndzTkJi|R%qK3-*4nInbmTdn zv3d4-n{yAQDeG+$_+HTlo4XR@)(xKT?bv9uZ^1ZnlRm&sk=bmst}?uPy4g155a#+a z?$(nolPhe0T1>hv-ok|d;<|jRZOC<=mu|CJmBe|^Hk&Tv`?uSimw0?~yDbmn{T(*v z7>xBhY`T6-*kyB{!&tn_b7Fi|CAT>+?yI!vdBu_4HhVS3V|#2vin+Z~z1LiK@|GGNR-;EC0ggEspPj0Fd6eHc$3v_(uM z%uf&5VxMKwlpfY;JNbyss=>7Qh)qvJmLIh_cVgUd)MG3^W^=C?Lqv{wJUo4zg*0vl zUpQ`ifaPN+ZO(1P`us`H*Y8)`++`TEPI)YkJ8iSC$GGE+?H@-eo0rep;)=y{jgF$hezQwcmYm^w_pul zdkU*zYK=`DfaBp@I2}%gi{N-z3bSAZOo#hmGCZlDQ?o8ZJ)5h8deT-8OURati#GL$ zk}(OMhO^;uxCAbO>)^4~Nc)7B7{4Ec=inK*9bSjk@FBdglK5Y;sdAVN*TFnE70!ou zkzBnT)|C){I006|r^|>xd<-wZd+-)4Sxo$4F-*N|Q%4!Cjfd;z6Mr}ZE`s|R0+zzv zumUcE`{2g8#2?PXd>LMuL;T?dSPz%Nj4L*^8cu=@vxz@kgn0>^2iL*JJl_th;6b|>!F^?XI!@_J$s)7 z^~8NP)H9$ZP)~l=K|Sx;4)v7hAk_1lGf+=$u0!1sJcPOf7Js5m*oR!;D&+DuR>Xd^j6Ep{-d0E8se~5pIWT;6bUs9f6JJLJPeMl-Mu=EGW82+zP3 z@F?6255V295*~vyU=1v1SbH1h!DlcPrrqUxOx!2H5;y}E!y-5Vu7){q3(SO7@X|QC z2Y3!%fz|LHJOCSD1sqdHeBfkQ0_VVDxD=imOZ?$IMhZLNEqDm#!?SP#ya8+IH6FqB zF!>%E2Xp~rVG7KL!(kzO#yDyPdBQ$=I<(MWrBbH+2k<*Q>G%HQ8S&RRQ{pWpjZvujLl**>KZpyc9@K8 zwg%WA@uoEJhq3dJmlx!|&+&&N!9Q?j0kP`t*&Nup8ls11BVFcEUX69JnKUBI+Q#q6 zVR$gnvM=QQxbR>$Xk~Z!z*YFOCnD-8F0bgFk&AA7A(l5q{*=X=15xfvn65|Z@#Tv~ zCW{l25skEqXVKOuUgX5!B)hSFCVoze9hi=j$#GG$d9yr@H%sH~1^j*%{}=tWg-w3{ zXf6k2n!4BX@NiQ-^gEwuHsI&2M3(PQC0P^LWvWZUSPypF@}3x^n~nLS92cL(!1g3({9#E{2$jHKeKw+Yq3<`vycA#hF5;S2|xGsa_3|D zN-rJt`@PK**ckCD$yxWRRl@J|*KnEA$G#L_vR)rhM^+zrfb> z5A5~4F8kQhWp3*yzfY!gmVX+z7~d{@$~@-GXU^@E&8wfW&~xf@E0^DOpX2cM7xoGK z&i=|%o{xX^``fs<{@>bZ>*90zVaJS z!vEHe;1PN9TfHYd>PP!A{95&6e_coS{{H)Qq}I`&+#~t+?VpI#%|F;*kaEZW_|q!h z-1w6l(StJTfAMC-pY8YfUG?WeL%ZEM?EAIE;=q5o>nN+&^-AcKzuIg0z3FcQrt@aq z-!0Ct$o{{NCMqZXVa~&F`5&nmZvMBM#W+d%AKZ-mr!$A&5C8dh?dhx$#;;OvTg1{Q zt9P<>q`@wGMY7?%glSK*UW+RmWmtPL9UbLaEjg2d)EJhmZ=`ruOYS04W(UTMG`#{f zD%~(Q5Vd)ujoF@1@5ta(5_xtA-hgM}ad-nFI7J>o-IgVf;WP~#3r~}|`H-_FQV7%F z3YY>n!%YNuH(Uvi!HFbX4deuk+=kQ|{?|=oTBf0N>6rj^$(aEW>LNvO13A4Ku7g|P zGFSzlkZjdZC-xPnllC6e$1R;q za@ttVG?8@^pw7@4P-kTk)OolX>de~$b+%Q(5tQ9(_?))#3M_~BU?I(61Dp-Vj3b_K zGMohGz)ZLlror`aB-{b(sac2M6Ub3KbsOG**Wn|04kqVt)(eh>hhaXff`zaWu7G85 zGc19-VKF=gr@$IG8s3I?sBX{T4VX5bGhc85)HQAf)U~Y$>Uy>s>N>Usp2uDlJP51d zUU&r-!h5g)Hoz%x%ml<((uhumb&v&lRSTEGMQ}Zw2Y0}kw8)3xZJO4zum;|MXW%1v z7$#37esC;Y5A$Iuq&a5Gmp}UcR%{0AV@ILqxTtB1s^$uS-jrU=MMh5TdyS-?S8+6* z6XM>lYA4!FJNZ=P)6fEM8Ou68XIHcoJ2`>G0M35fLhdk@vT;K8qL70%CW@TA_ z|JTBClIHFjU(s82OAKp{Q?}}*?hQ8QJ=B2Pcv|9RZSg}5Hl0a{w-cS=>$SqbW$43m zppNkj;Vtx4xLe_?aI)D~VSBf)!s0Psg`FB-hJODF_Zi=Tf12_&JIn5QpQ7n|$T1Yb z`TV*Zt!=*6)6Y;hxEJppI2>m`lNSz}w!3~q&~-M#e`wKH>>oRKeJ1&e4r;P#<$WfL z^@wOufaC0^@-V>M`Wfmy!!~~=djhR7U&)0)UY-qdJo=J-@n1jsO3sD2>%QdF(ipxl z%H=HmlHGA~Ugn0mr+g_J!#HWY!E&P0Zo4&{$J@iLnP0H8Oq+Q$!ZG`E^otCwLrqwe zv*2^I$>RCUM(!!-d258jHPOxqpG!qF+fd76tnANaXAJHt8aqaRF00~(T^=m!<0F;~ z)>6w)4v^F)=Dh*3r^(=*gJpkHM`=Gf-87gdx0}717zw;qj+48opW11Io?ite)?s{gMKot=~a<{wt>Nk?n zLwi29r(;TAxzTgz{=rDkb3ExM&tGB3r>2+t;MelJmk!H|-p;jOOWLb!z6^iOI`B)G z^ctRz>*J{YS{A=Pr1mRW{)S`J=aT*AkolzhTh5c8%AB`Sak=nq_mNLImrlZ$zvJAG zj<$D5p^fiayFZmf@8Zec_Z-_lm0iD3`v%LAU#LBU<@_&H! zT>DU!p?MCQ-^hrM)Cn}teWZ?kEmJ>I>%W$HA1NwE$w!K!y741LQQP&AA`y;Y=PNn? zk)o2+ex#@ePd-wV@05=fMLXwXMWHVESW%o8eyk|St3Fng;qs3arFZYgih_IMV?~j@ z#M{s1?#GIP`r>0n86EwJqIl+hqDbUfpC}S}@h6H(xb_o8_1pG|qP89QL@W6_&67{% z+9!%Ec<_lL@ke~BNcXHy6-hqzQ$=de`*c&t&uvP&j~wTo%5m@COdTW@b}hv8fN#jS zAv6S=$h}#9c7C7q3rQO!H~qHIG%PiLDEd*h2bc%GLmuzYiG$F`W<4G#SA+DP{-a>~ zt%0&9B>wC`xfS9*IZ$dsgXa&DGFSMeL2}IHzCK9qxM<5I&9dJfB&RI>w$^%;_AJ~g z8i=;63|{Vwa2y^WC6T_B1CYk+TQNYY8krjh$f-vDYX(SBbo{k}lGoUAaiGkNbyW_L zopHXihsely-#tU*P=dK=h@4CCKRiU1Hc41I1i`zG6GP-i;yZk5;!D2Qekc20@?H3Y z%x+<>_yG~S{tZ7!eTxpGekYe(MJ@gvs+}2JNMV~{JARb%w(ccA$jP?)fWVD*=H1`P z<92k#GQPcg=kKJby;f|rs-y4Z-^%TdzDs^9TRNN5e#;RK|7*XIqAty!eJAzZ66Sm_ zv%06@YC#Y8lkcRwhfaXwJ5K+82Gd zekZAKn(Mxk32*wZ`c5vq*>=x&vgz%p&ELt1x0hf)?cEYRnHZyq`+_0eSkWeyB|8r;>jqbNi{w-*ehR z?fPCe^i#LLlb!uk?RRpxpE~-Toa?9NeJ3~jsga~bKUF#xQP zkp=zL#=)|(zbYIoW&PFtL9(a6Iz32^_gBjX$;JMvh{D!i%^D=n`>TC02^@Jt^qz;^+a$FAo3$VI!F=_7aS43?kU6?H1z=hdI8Fv<&H;0)D14m+0lWgc$sWhJRfU+O@F(=*kt=Y z_*AS6V@qb85jiSOvTWf;Vu^F)omeULio6vo`#onwk9bGkjFqMKko~coQI5PG%jwXt zOR=)rC$c71rusT}$I2Yv$n&u>#?QGu7A0YkC$aCR`@I#;fTg%{?&o)o@;}#Drm5Zh zzGC_pHI_QFD}7Ty=mE4W21ew>%9g;$v9ajYjYI|HykKWlV_6y;i6Y445LabmnH+-k z{UJeX8Z$CDhc9I={}(anb`E|JBcrYGv5jS>6`9ePGiJK^*c$GCAV#XfzhD*~5jnXr zizTjmF>(*pV==Ng(!DE2wnqk)#7KRldqfP{o`cRs%Z4bcI$FjwikuOH_V38l81y;1 zk4DS0MnS8hWnr`;$yP-_)}tfR(CX@Bt*Vc;m;G&v6*J_TvNXT0=3QG4Ra zzpx$ga>(9$W`g9$1?)|bGjZW-;^k?ab6LDGDqc5XKf7wkzi8u3!34wq0uBuS)9B5! z{c25u?D1+hB0*kgk<8D%UFGp;z|-diMmmNTB*=9~Cchs#2UW+*eSg>0I7wG}{G4Gr zFUQGI(|U;gfI-O#k{#%p8PB=Fblxrsa?U1f!O;s7WlymCLQ}aEtQT({hs3Q-l&PV~ z{GR6WPfkR`SHy)x$+9ADCCEH240%?#t2#keg=;HoB0}yZ$OE_jNLi#~YP=Ljy|Xh> zMn^l#6J?d|`#(B;ZB?9J_?jDIEc!b+jNgdlqAT2i+!n3T*joSalyYV>2d&K7)wg<{sZ zSte&UghgT-Q!HIC|4;13{mF6FkpEGmY%&vRr8e2m>W7Ugs2;MOW-x{N+0UjzL-K`l zo0kmGo%j_axRB$JM#wde?64Qe=C|HY{@Lzp@{Pzhfi-sdjm`zbdCo^}dCo*VvIQQt za|EB%9_8)i_CmI|?!GtJ6;^iI_0@*M_RT-XnY!CdUhw;c5xkG3a+{-?LvgmSJsha? zGPimeYrNEH&JK8e{+|*;+?ydfopnFk7bM?#FXtm7H1q$3 zwC})g$}#2V|5;u-NHu;{8=oS(ezz@PoDXwqQgNl1tCsG~DKiq^4;si=eVFQSX7rJ% zegV_b(CO#8+((8xzgqB))Hto8H|2>_4@1*cD|CD=FkjmHCa2<=t*#5OuD^-K2ByM0 z0)x=B*%0)XXMJR5$Zrnykwu}d^ggmF6wgat&eT4V9yaJeAIY#>qxzt1mdBIAog@3m z`S4)eY>o)1eqGK)MAy8I8V~o4*JY}k%$yi$-FqEvvQ)#lQ6Udrmz+jlSHCR{ja-jj zmkH5&KtDIe@%(iuj-gvCYHTIHF6E7NsoolEPkCLQ#|>KEN9yBUPkYPw1iqQk#QC7N z9BH!H;G>HZ2UYb!kB4h`AK8+`+x5+y^{+|ROM~|Ik+IEP&tH={&3T;P!uj+yInbg_ zZEqRgGHOjPlym&V`PWvioxRbr@!xcEt(_}-%dysNihE0Ho2c2nWL6tg52m(tCHH1S zME9iA+S$uU_?L&RB%Ry4FT5tp+f&P=w1acsYf{!hk9jIPy4SoWH68WyE1jI_uW>Vj z1%=CnOS7mIsHU$59H+AA|N$;+Xy)6^FtNU-s%7np*ZVyGl zSk^<4gByA%GHhoLMIs&Up-7W+Jrtq8*+WsB9`{fbo>4s&(G;#~ZSBD!l{ zQN(oXD~hb!|B52lPQ9W?@2jsUlKTEDDw)jarAX7vUaOs+I@y6MA}qfcU(_I=&KAA| zks}@fv}?WmS%|CmQV6HXK*kiKbtF$<$NQHace!3){4Kw!+%w!yns5On1y6Fk%#%%I zx?X}y_qMk4)B6WXkKM_jWul#@^>(X*pFY25rN}pAVS=o73`7+&w-x6ma9fd;v~0y(>fC`Mf#TFi~w^Rqm6*k*jN?#<%=d#9AuTnqrmwu42puC zjI%0&S*=+gVm*kH10gus78G%s9yiAH>#1xRoC# zBO~Zz&qYKJkChAV=&V?2a8r`*M_Nn_GNOpf!>Gvlu`;fa9?w@tE8>48S`mYL(TadH zL@T~9CPtAWlVcQVF(*cm3`=7aDX>095&0c4ig+K2QN;Lcj3Tl(Via+E6r+e%a$`kQ z#x_>OBEPXB0)>qgVPDZ$5$er6kCWYv6+u1LSP`h2#=(T=eq%*ghsTyN(DLLB`bG%g zEFjjloWF+V?VL`E?ZVo+iyuW#{t90L!#OtUxkxXbsJPeeZPpW8^9%ep%Sq_EiG092Gy7aQ#v2?38BEnqs zvSddvQqFL@UbK_xZkn0=NHe#c?2P)wj`mX0$ThB=Y->dM*c5F(Z7Z2EE*L(dTFc=$8nQj{W<^^`O$dJ2S|%sNpbKbK0*!ZZ6W92*Qr3i4 zc3so3ZRl}ITx{U}d{W5%)-th~qqvPMYxda2qXjM0miDr;h2m3XEflG_r-dQ~kGD{y z;Kde-6ui?ykzmhTDB_ylQW4gPEfpy~v!&80+cKC$-Plr*oV!{ElaeP}D$?U}OGQf5 zwN#`*J=%?4mW)=4h)-%2Oq>f_DPp^#RWK3V+Deh~`&%gz`c$i6VpQ8o5rHSIf(d&@ zYejG;wN~WI?AF0#$%@vB%-GyIn0(mZ`mwL4e5Bju2!-Z|EtGb1h1Xl?VlMIyyz-9R z^8P(avR~M(0(4&c=zPiZbv%D%gG?$w0C7f~ac_H{`uLdVHL<=GA4)--?}(4(LA*KReHoeHzy5tW zozQIfhuooxsrg9C6ZM(WqeV1a2s>t8#1l!(2_S~YCCJzt7wg()td9NRfcwO zkF1tm?H#w@kaZn~7Q7*AJ6bt?q^hId6}Z&Nk^ZXGcG9hHU1#&&Ytqn}#`RVgYsqUe zsw*Szk=-1XuS$ORSNPD0?t1(Hz zr+!$1gxTon-d=>njHwTMbq&0k zD1+k;C33&~r#;P4LuREnXG*NQxN}}+)k{+AS=6fYwkEwK>2~_bdb=Z~ne6ioNNXXN zeWQw6Fb_^R)3qMS}T&II@Fz?Bs*PwFYqMHxwtu+=+ve} zxgX}9uU9wpWrG4nwMkMKt|#h+5$?1^DT|;lS>blxYAWTCeb*<+x+v>XQ`sNIYHUR# z=eDM@r_mT}AB%QRY$|u68Rp%Naja`X_t-@p2#Ih$NeN( z7N?(#j8_eTxTXAFt9{$?|wLvK1F7)zy|#8LzTi%2A%QkPGpuvbo%f zS4GX`X}lthQxg>aj89O*lVo~=BE1(SC{nsKL6OE42}&n#f+7qj6BOUQoS<$tmAV9V zy{XhEDB_dRL=m4!O%zd?-9!iVs~6Rea-NsKR@02jerhg9%-pE0};4xn?jO^OXA(rDaf;%>DaJ;ywoWtd|atcsr4C3C+6$_ z$WPAs>XFh2KZRFWehQaU{S+4G`6;|D@e9Vs3O|Kk`}~6O=B%H>gByMdw~zcj|5sS< zdVM`~GCC8vP1aT(d8GM__HxqGPS6X7&Gp94+2kzq2lEB}OXeY~q ztje~sGf4ZrH`r0qmSc9u=%R~VNzWJ-xl}TP3Kw~IKg?p(kYW9fttu;EVS9NP-lD9% z%!<%oa9fN(O5FMjkwF*Qv!2Mxl5CE4uWl#DqxJegjJ2ViT#FgVbgOZ2IZ=&`J<^Uk zrK@0Oym_*nOpQN{n}<#MHMEuMO|7MEWq6_<2&5%B7PpnLNfes;Bu73Ysb+e;xaOsP zFWSnn=GIh3BF%N*d8dW{WHd6ixXACbtyD=@xzS2J?jny`sR^AWxwYEZ3EkIfb|=Yi zt)_I8!q)0ydp%CMf|keD>Qp<~-C8Y2%VTS`7%h*CW!lN@)`~=W)>;v$v^I(_PH3aY zK{MLuaZphkMaHadqsWpiZ4?Pv)kcwo)om2PztTn#@Oy0(VQy%n2x_Vu)wVwWdiRM?o&FrK%Sn9=8{?1IiFL*Ve@XFiW%;v@;73t= z;nVlLQ||ft&&HB($PPbL6Y7=VIY_whXE#BO^_TU23OhUep7GpM?*AlY;qP2?0%U~2 zB?c+=_Fs;G7^E+n^32;ht7s0w@|4WC>tpYUU*)cHiMG$qTIDcB=l*JV@2IC99W zX-;RFDf9L4e6qj)NQJ_5g}>MR6;>YlD_)LNo3W_-nYrAU`Q@UfvePzfL{pjI-SJ2q zTO(#pf;_VixZ6b1eFvOxBFh}D?#IY8hcz{pv!g@j#>pIiXL78hs#e=$8R}WPV>uQP zjH?B@1DO_J?Pwy)1N32l%E0dH;^bja^usur;8_u$AL5*!Aj?9g5QLqsq1kbAE6iEj zSPof(90i=lk6D9XY*ndADkbfh}H5KMSM2J zC<0O$qxj0v7{zBV#9Y@}Ha%%I!RY*Yk;(qZXE`LH%{A7PNm`-BSTFlSC1bq(HwUuh z`}@&BD0J-4s@f4>=RO4c==|B`unzIlBm3r#pLv{BZD;USQ_B21;$wzVCj(h{QyT-B z7^{pxS;7-j)+x2iM2D=x&OxR4>KUc@>UE{~;6t^5fGil+-bxBh;%8`rXDnN5Bj$$eE8#u4Llz-Y&Vkyx}zw(VVPdHj5C z-(>S2*PA6}E3Y@IKlSKkw0A&mZ<*}fsH(TD@V?BGsXpI~?L5Wo#=(A7Hb4g0vHc34m9WVlH?%Qi(ZJM z_$IlRoDO!?b(LKqZ%)TbsOxSIdYQx@F!O#-w%9(t!x~k%Yv(Kf z*@Fo?&=b)?|HT@E+qI&noN!b2_C}gddQuE^Rj!RPH};hIjoyFOL&is26D^#xfI31e}~p_;_+J zIncy4vzuIMLZ^4UsrkIC6eoU@)k_MKTr0ZC`XnANX=W}#228Wy(MWuG$vvW*$SDw7UuPCvbF_*FKOv2>?Ye<5`?v_%$#m=sI`OdR=0kKrNTC5ZC5F2 zqo)q1+J>#@DtFuB7JBIg^YwcSXb(NJJ9Hl+v zMhC?d1<5p>)a@QJrn9=4Y($1=?hpg|cDtmB( zTCM3JhdQg`9&)y`LYmHv&T2|`dDK~L>?X-w)S7NGwu?fVPJS0PuNw!BRDL&E(M3(_ zCY!rx!7{tMsH!Nmam9(yEV^^8bRjuhNGrB6$r>N^u z$G_{qa&$5V7X`@!!(1Ck6>)C~6mF?f4bgKDD2qLtT8q8SRe>x?_t_kTlH0-KgCy72 z$_!*E)2J$t(VqK2AmWnfZb$i9M*}6#Pj{{bPO}>I!_K7!uI4KSF3*&i8_0IFD~)di zsEt8V7@#TxWkrBOt?}jnwJA_`2dLG7atyt~fl?EoCIrgu0F@Ic&jJ*#(gGXsS+@t< zyuJv0-bB8OqE#Jk{Ky2-gQ+=B%MdG4h}3484)WF1q`ClI(F3`7QqL)h*T7`$|NbV6b?7)HTG5E*0m&V9ngW7MVOnCsNu&5@Z3myN+Mck{d1G# zOr$$2NghS&3Cp7>cX|?wg1SY#mROMUDCJtk|Hk zL^%=XsBI++;$5Sf%7J+Gpp~4CSI1i*ib*YQ!Fq$5+CoMosNKyaD?z0-m#GP=zM0HR zP&v({BtdNZu!X!D8pbC=Ye1e`;)h4J7iSi^ttxJ@YCTdlplRZSGRQ{Kcyz8qc;Kt8i3=u@(O1 zWJ|VsJ2Dx`+x6Q*`*CbG_&7$pB+b|TBvfYl67h)+>shEQa_AM>6@F%lOLjR2)`iI? zf2%4~#wpi0m&{e}T$gNAv`MQ?tCab+nTmCm1J}4@d*Fa^mdp>*r8LOg8!G9+9J)rN zmddqcV~EPOXs%U;B}YP3x+UjB)YdSm4N+smSR7L8T#^#1vR#rBs?uCiz_i;X3q#e3 zP+1kK4u>-7;4+k_+*WxBz4Bk(SxsfUK|7ygv+9~kp-2B0`hgZSm1SOf;8kP~o!Nq7 z8$f{_?=!Hx1*09;u_W|%58R$46Z~AvFH@WYH@1*ef7g*j$@8bQO;YB#=F*^IPbJ9~ z(=nb|alo%Pw_tzFHL*Es2u#D52bmX>&>0;%wYiK6c2npIf+-^tLv)>39Ku#{PH6Dm zBw6e-*Eg4Su3s>mX6-XkHifBMiBcKnW*fgIjBS-emg^)31}uu~sqnBDi45<9agr86 zWqiP5STjj=lh(r{!*(Z0Mbu!X?eiMpU0oxyoMI8JIC`)u+PyMS_UYrHn_^r`6XjqG z-tA}{wm4Ci#=eDOpfUNKmJm%fbZJ z(2Rvr^|YCk^Sl|-kJX)Kaw0(;Ns>zmYCrK#P~}PTf&!Z)qnoIQ%-Wl%Yl$+ei8`Ao zi<_wZiL$l{3qRYMsNIQlda5WDY514;$YhRyBZSgj?87AYceJE7tBk{6w!SRx zdYMyvWS`#M|G#K^3phEhEC2W0#_H-@UEMuBHPh2G8cBvYkukR8#IUg(%OuN?ICh-G zAlb6ew#->?;)t1JxN;0$>4?c(;OX>yT<00%LKf2J9L2RrWCIuC(P-PLp_~U1ZA&V{l}tuf#?! z?AguZsy{W^mg#{vFWW3P_HtWx2S1w@l|7-)*;7f#f(Wqf!rMQpc1 z=Oc)fG%@E#G-+2yGzD#sXp?h9lh66cf!me2)vdEKHbKlbSx+U}I?`U{bDAE0+en5l zzmp?tvIYQl`lAgTOct_I91cV;YgjIcb6OUMil%5-F7E88Ivh@n*D}~jjMW_Ci<)a` z7;z^@RfmW<&-Suod$|1B&giJRZpRl#ZA4%KR*c8_VbK^w;I?W&o*_1ECs z0LrW6p^yyoC9Z@3y^km4wEwLJVU}YD@AjjDiFF~F9pvs=FXV0xVQ*d63nSG>oNDsO zmx>}4qnDJ_WRzi2^e}orio@NlZmpH#mOh%>(`a7;NA+`jH8~{vi$*6Hyd@SU0AQ7D zoFwnuGav>+)oL?%!zJq{rJI#nmXO6(?v4c966;ig(|4(X37MenW(hf|a}UKaqUJP; zt1Yp-R&lu+b8oq-iOVj2&eaV;3&h=BadkfK)Jv#339}^MZZ!2Rcrs_2Prmb}_%J;G z5p7k`p+32$-Zg`l_rENgvlMV2dIUkK@2j{f$bBJyJXk<~v|kW&des;Lf#?9Nt_I3v z?=ZyZ86-7n%ROuF3dt*mciY(a&bY9g^QEqZ01R1k!e}4RKdS=vjS%0~ITB*Ew>N}j zMo13{%aV}p7?uqov#;H*#}of%4-LpmzlF)9KAwh?0G~G{0Ep?29KQT^b5tw*c5iI| z`!z3X;}{`;W&_=B>hW*obC-ssjmlpf;u`eHD*o>;7$3rlpVI{xWq^hIB5eq9 zL8qGmS8C$553wz8smT(!+#0{8Cy*hSQ#@w!Pv@nQs@K{949Gi+6o3ZFTXHujRBZ zZt@onT*Vu{meH}|)n7{kw|MK*^2^Qm-;yWMK4WATq?ej!&ArH9p&p-Fd8b=5tm z^r-4symU`gRWnir7plsElsoMcH6yp6LuJ{M>t3s*I^>G$=gFLwX*qj{gms-M}Hz}uE7o)5~pOma&l)%^ai z7JnjrA4nfXQR0Eo#60%kyC*Bj{D;ixwhdQ9+|=O(x2OFQCE1hbnA~~;iJht zmDG*Lo;(Z|_!m{jeJ+Q8QIUK86RF8HgZ?)8P7d~q7N z4SD%b^*)#Sub4)RC|`0!@yp%xOU46;h2pm3bA?wLg{KuO%+mlrgU{9-F?N zZuP13dwnMn>%95hwl8GQZ@(MzxmN4`}96F%hkC=8Qm3L`_=U8nsE2$ZT`KAspUZ%Xdh+KO&(}9U zlNlBD#m{6(MSbKm*-%mM|4jB&)SEt&6BYG}&*Vx)-QZJcP)YBuDQzn0?bW46CEdP? z45_4>eaBN2#X$tVJ0dR2eIIfiUFCmwNE`$Nuv| z?1E2>GVx-Z1zDy`h`lOa&nO{;CEYDl&ng7fO4&4_Px9NYslcw9R z)PrBR^RU>a3f5w>z~=(>nCx@U`_vkrd)%j*_}yuK)z|Ni^Q$p_j{dhRdb?itiK%ye z_5MICS*lcjtWo*0oP56~q_bZW(%+xSwxPl^9|KJtuDq@xczm=G`&11>+zh!WkMc)B zR!;S^MfV6ejIg1BKQa7*@s02nvyj#W!5||cs7bsr$k)1E{{Pfhxlh|SmAqiqxAl02 zMl_miev9x*Eb7F837l2TzBBJ8 zlRiFg0nVI#jKJ=GyCEJq{YJOsq+b)`s$cW6p*eB=i}iQp|2dccOJDq6z51+uG%T+a z46@LD&23=;p3c1)hP9q|ic@>Qh|^~Wt!-h%wr=aNEDyPj!|FiDtsPc9!tT1Tni_VO zh1HUx(>bd^>S=@7KXT5KW} z8boA3$VPKxYshGBOba_*h;M1)w6HX9yI2OfXYwu&8i7lNDncxR`NV-(q&Iiut-c(t zDjWO-Tw6~0VSld)c(nXbU@@^rg*5S|g)|{tVTiIWWDsj6zvqObe3>*~?fJjbYsx!{ zA5~@GMdv_H1Dp4I%W=Quw{YUuGH@>;t3TCkL{Z}i+&}QX*CNadN%7y)6Y>jSTM~(BnX^!xx6>^g84xwkW1|`Fod>edXQP>&8o51- z3Hzzr)>X4&*D02NxBuw7YR~0gLi1TwypCktS8&0W>prKuElvDpT(u5F_u0}dK(}@Z zM!6t!+30HHvBGrJl~8oPE%n22F)xOrQ*FMsNz*tI9ZkeYyr<39ugSNoZFUg;Zm~B# zgi;SnmWplVLZd344B?2N^b$6OfIBCsCImGh8-woJkU9`#Z2qINx4M0!s>4A+zTms3 zjmE!4k}LFLf2ygLR)N$uLIROFnvZIY(^8kIqvc@G9i!z!@D(K1p}cuoCWP<09;Kf4 z;izn}ie^QnUc{XgRc#|29As70-5pgsqvis5yTaKzKcMcaQUnyTlS-V%dz`Nrje`X~ zcfMb3@wahRBe@SqwTWzJj1N_S9Q*J*EnzC?-mYG?rf{Xn21TAa)rVBa+^BZcp z9DK8-Bj-Zykf^K+=hchK<*<9rR)a0~icMeUt+QoF#9d~qLAEC5I9rq3EL)S$ZreR$ ztJYDsPgM1a_MruLYJCfX!s@RBR4ym3=DuW~nDjJyGY5U?>oM-be9dcqZ%`b!5$1w7 zBbdA2Wv9zu?n>*hbu}iP!}+lI&xf7vF|l~-1fzsvoUo#ww^q1SL9Z=a_XtC3Qpr}LKSSXK#JN6*-d=~i!Ex9>20yl zrEY~e1r(nR$+@6=G^B2Y+)H8AGW=f$s?iO6?02~*f~dL}jl)Tb!&*b1yC^8l{RNZp zIOlgq2h^}Yke3Sr?yR6%ANbE|Fz#MfWh=aYh#gR+4p5$2M+JNM^B09t3Q3ITb{{Mn z7m}gD`l3!i$@A*ez=(I5K@KF%kaV5|uee9rfKFbpKX3nBmy|gdDLPo-dk{p&YQSbMU01g%=ZYIqG$W@2M+sDA!I?_)0NneL@Dg z&K{$MVm631ajQu}Zp8KQ9BGok5|*i78F@_PvGg+Rh$+1bD`MOPkWG6$9x_dv_t>?mm?^89(TTggNfiKVn4z3; zKDE>c=}lF#f7JhRf#dpv)fUYv!;w9wtj0msTBHhRd={U1p5Hlc_Cro6GXvJ%fGiAf z8{#kfZ5cveTXgqd|8WPoUpOb#vR32b)8}CRqo*%(&gcSA3eFYqM9cYlPC$AG%<@kj z|LVQzC%^odE6N~jd7CED!JRNW%P|<6Wj;;?n&5*!j-7ucZfjq)=-HC;b-|^Q+=i!8 zxy3$fVhLI8GaT2gertD0whL!vNm&u7O~{I%HK(L(2%59k!H_k+q?`=(=DDS14Js)e zEdvT36|n}EkV%oJ>DP$YuB0@v4KBG~)Hz!O?!wtyBsaBlz8K$1=DyM;W*sV)TQO&A zvFvo66~(e7?#w7Q$hZ;3(je*dE=GITX;+Mp%BUYUNm=!ZWmn3%SOV;_bFhST@SKe$ zEw$DUt?7nka3GG!^Ut zex)RG9C(g*zVWwNeLSmKOg`e6(p4pfMmgWb7>#?7D@R#P%Phu?ls`JpK`pO%g(F)6 ziNQcd0u?cW9JDxttP67Do)wB+)p*f>=`%2#x0YcaPM(a)O{>JHsC0=2DWGRmuZYUf zsF_*WvGL>G$Lf!b8^sV~ybMvV*!Tv0s{l^%IAw24FbWEGC(z<-L6_|JIWrQB-0eKC z2-w$iWK*DMTM9u*o)MjdqT6z0S17hMDGkD@%}LaMot{b7gu*K+SrduXPhq4X*()VC zBk#lewF_J1%4K^xnT^*ew9yvpKOi7>a^YTga7!Oe$w}9pl9D;`=$w=+k8>>;lhAvU zG9$qm(zM~9>N4M!8S&}*1ao(mkOjeK(bjH`%xG<~oG;2wN{C|@fZC7fw zI<8VjJrHB>aJciuFXyrB$GYS*&*FRXWJ~sWULbbWlih(_u#&U!^W-6ZOcK&45)LA6IQ!CwLRetqOK{Ym#5a|I-NXqD_36! zChck5%XIR_^U>+&+kgL5u5?S;PrT2%gJVRK;#RljO4Y$u9KC)fklF?CAQ)faN}o`C zHgJVd4Ne@F!`=Y+OO_F@w~pA&<3JidXA;>S2bx|s->!Z%ehE07wok=ml8(=f0W@=m z##Cn~J~oDvFmrBc7}Mm^Hl|76Gp0$pF6JJJsl72{n&8IuC9a1#uO7 zox}ZQM36f}_=%ocmV^nOVtJf7S6Qsdvmf{)vpc$e+fch>V;ijy&n zld1_ehkxf1u~cQ4K?jV)dB4xQ5tXYxvn+HBK{b2M3|~GA#Rgw?dGtp?ES~WjZr=Gov?1jh<*zNl zMExiXhN4xr90|F5B5GzhJ_E^II5xosU}%G!9dE_z+OphownWr`Nc>1d+S$$kTWz=9 z>$W;(fA!z`e5DdZ8Xs5bnhVa^TbzO&MJMAYX;cc!QXiOQ+^d&Ddi=kXNP6A zUdOk`rEjd-HQ>u`d{bQ3xtc2May7Xgb2Z_YTupWA#Wgi)71vavTU=Axptz=-adAx% zv*McEm&G+1Z;G!q3kc)re_3vKTV~mW@7csxYEj&1_pXY=kjrnG;B1;RC;`y_kGm4G zH(0WHg4<_mOnV351z=PTn(@6UcWI4DkUALF3&bdzAxT+oB@Sl^2w*NEvT{HFm9}j_M zgi~pA#Civ3ha>zRUJd8@VR}sq*h?Kw_#9>MOf}r$d~H7M){w)c=un6;usZB9zz>G0 z(i$sSH!4RX{&t!nrpc+7t;u_st;uhat;uSht;uCo_ENPiJ2wv5LE;~`$N970>i?un z@JRu|@txHyD1UzoT!uS98x!f zd{gsXlha8W5=|_m2+4TxLxYOVj zbu9YUunKZO-__z3wh6c0%c@@Nu9Ytvw!+4jRBhK@`I1a=GwA#5b)EC&)bw~}>GN_R z?#y~l)lL4f$*Xcb>D7Kk&g8sxzPzkV+09-?f%(3jFM(Hao4uq~Wo<^}hmu{^iHo%EbqQ^2Y)A!F|+H}p9)|elcQdhd5^pM%d2L;_+#TYr0ElX zKJ~hE|7FSTuga2NCXbg_OMVrfRzW5{op<6zS^JFL;YHc;Z}Ckii~n1hwJ*q|Unj?w zQ%kZ2%9cK>hrA&hpVix6m%Y#Gt*^_;XZ7aS9NnruIG~Ho>TpvPfmSaZF}B1@w{qS&h1)Gtu5#5FQ=}&kZkdy8vl~B@FjKXCAZ$o zYShcgg)ggJFT3YnRy|*F$G)OYzv9#_uez0YN0nC#%e$M(tJ$x*>t9u;Urjcupz2oO zmj2^r%sTSlWnSH?VFH6I1OFwLX~gBuEUo$m|FBxi)u3U&Yzn!HSQbL;9UH^38Cv#- z3;S?Gv+|EbrI(dAffKNmnr3sde}W9aL{8H(%GP8s%{GTuKGf|$%8uh^jhd}L$o(ZEvgwgpn=TR?=9{ttn(oe8`P;Os>3-R2xELpAE6UK95A=CC?_0QhWO zi-iuuv=iU0~O2^*5 zdKZrL-oAVnXw4Y$H^x7N51sI4Vu2=M!063#VnpwfL-3Ux?-1J2sp%nZCk25~oXPDsjD(rV@=y8*PC0r8U{~E^X}H3@@#z#pKeOLgxe3EG?@`8xKtUWyeY< zYT8LT`!FYLB$0&OFRbV_etXLZ60IAUFUd+E2l|E)bB$jUzQeBxKjPNtlC%%PUS7~QV>|HS9{pX8RMxm|NhR_;nr{sudA5MNd} zCBQwE4i0jj?XJJMn{f!F@^|2MLAk53_3q1^g9kL9 zjpoEb-#C(*wEv3SG>@AvqgUk&!k?A0k76xWnGb97DVH@hQn954(mNMs;zA7PhcIG> z#7DaM^B07<3Od_houj}S!hk|PV$3DMbf*yFcTK8Jp>h8hd;d(Pn43M1+#Rh{;Y0{?Tv$ z|1ncpnODOIGOuQlf5^Nx!@BmTF(-E3UwFVmm#PLDUXy}0!2FBBw?;+`w{^XR$%?#H z7Fs&a3`+)BnmA*aSrI&>{%^^=Zu8jEhy79(79VzRPhk2;b)$cF`To{AfHYVWa@hYY z!-}(GYoBW5d&5E7`8~MEO;w^DTF$=W7F_H7$uTK)-tU~xl{$f6z|spir?@!<@^_$U z9CW}>j|h@xYcMgKfRNLUfRG6YCAbA03n9~L7f$R0xE(%E@twJc=c68(Y?=?WGCm?- zc1JSZ^3f!9cIL^*sI@#FEJ)7sJh>TlZs0Ojn~ z$CVyl@`|TMd2^W@WR>lcH`NQj&Nt`)<=~MW3s&1h*v~2&6ynnDUI?lce&<}!i0(kz zH4YZxyM0v9Jr-2WLvD|d8Xt1kht#~#<3DDY&GQ+UuXp5Iox?`HH9QPLB-I3YK%n%I zAXn7no}k(g)P!FNChLS%vyfq1|5&HnJddN)@~E%$wHSAwp$Yv2PDj(QcY^rg66<2z>A3I?wDNHAKEtSf43F3| z9hhOIJ0p;^-PVqpVjrix0ggM-QRAI$|L7qzZvIu-*Wc7P@`lJ82{;aQR0;SIy;K7l zhcp1z_DG)*B_Hw^pR*C}zJn^_rl8y2M!1_k89^b@Js44~!|whFyo~frqx0xaj3AuT z#OxW-*h`#{&$y9&A zdAKqD{B1}igZ7Dt^he}n!;Mc(h{*O3`_X`KKFo?H);)892wTq7h#C^nWUwyc9Ehmh zk+uIQ$@Ii19Q4h_pki2-5xIs=fjl|i;XZx0@XhhB+AT?yDFqsg!+<*f7vmK-1L(Qh!Zs#~5DJ z^QRCmcJh~?OD6a^6%Pn_wNWVzm@DGZ;QN!J(lK0m4SLd6VIwr0E%#PLt%_*Ew?#CW z9g1k;pNnX+Y;U_uY}LiUs`$$K2h7x@U370144OZcJ8=X;ixUH^7G;bT*nk?JfnpC}QO~!L< z_oA&<+eYDpf9CI2w=ckV{YvClDMTsnC7Rjt-J^$W*vj|u`=-ioVuOn+++t(k+{9Sw zFTE=Q56RmR!7x#}AJ+h*;W#E}V`lPVu$Z;I7Z(UiO|y)h@a+~rAa%?#`mc9NG-Xy$ z$V+5pFYL78pc`rw+y2dNqPG8%R=G@AW?XI&VM-IiEjVU=FHy^lX(%P7mrAgfhgn<=(eEl*FiG->`$M zZe7@gtJ>AFmmq7 z>2!{$`GE=(BhoSC5OONy^p0@XdAV-{n@4bYYDY9Ln@2POog-}3KMoka>F>qJ+PtMv zHe`dl8s_u1Al&sOTQb5C(6ik6&8@6eFo&A-4bFgnxGUl{H}!-|df3)PKMx-ZadA`= zy?GR=%w}>^S0P9sx!y}G(eG9RFk~^qC zIz%frE0U{G`wG74b>d7~PH6j3S}y6|(WQ>lvH)*K&doIHhfae+)Qin6XF_?@}=Rx_x6`* zuR(D|TWPFe7I)EDamzaon?GP(jG|3ljmvQ`*3AaPfNZR8sDM>}U?{$s-7{PQ8yBY| zChrUE24H?{6uj?@xj3i=M!d2Z%#H8J_C~5VY;;HdSTHJqPPyGL0fw<)L_&6CMGB{U zPSXU4BOrXTE?^^$+Yu<(Wt5=YhDiV+QS?i8gx*`0BTK`nD@L0naWf$kBjp*-cHtfr zqU^}Hq_mGFS0-g()Le3B>Ex*-QXbHz!<}My9g|}&`Y8?E=#?bKD3Plja`Sg4WlEKSLl?{Tuq;LVoTc(}amLx1zG|BPbBP7mLUmHQL} zrZnQ##{Q~pF*F_U`exXuxn>UtI;}D?Hn@hD^};0Fi;= z_z!c^2*i8F-WydcZC#I1J=kSc=^pnmh%h$(Au_W>a(|(8O%~l`E+#pd4$SeoV{$s@ zKbV!NCU|12WPqKRJ`od^4*DrFH9KECT7PC1h4w zUuS}*^{ztMl-BT_(t1asoJ#9Pg>o&e=Vzo*fu5a_b_IG$MtT)!T05*j)6Pi+ns&}B zNYKRf1)9d~F3>dYctL_@-6&XNh6nu!cJqs}7&{+pSQyt-;hYd)W1|a%I`f*an&|i7 zLal-o4-(mLw+l(Hz{`N$ng&B{LUJB^2_dN+(!_5b0$upyhCtu{IeTQuL67Id3<^O1 z!93irybfWxYOouq+Jbt#?At?{EddX})TsbW@O8l`cbJwTO}wsIVC29M%^n-l#F!b< zyj&UrsX_iVe%uqd(6ms@q0K6OG-!5)ej#>-2kCcT4p8muY!xB!jO+|&{ayp3a#RuC zcOZ%i-}%5VnOH$h7L$XTbn}Cn$g6{zc-w=TD2Id0JyYH@$Z|2zsB&fpWV*_r=(Gu# z6ATm&5yuuEpM0@Dx(cr^ey$At0tRq9Dxe9N7I@oqwaMd=+h?4S;LsJ)*F`GX2_%uS zdf`|m3$ee2Cp{eM`86S({H%Ak)4g_wS740`f=qtMz(R9w1-Rv9t_C>fFcdHPybcCG zMm4Vaqjdnw1gOTwfF{M>facxFfF}5AfJHD{m!EUA1GK5)P4GyloOXWro=*ax@L6qe zwdn(8c-)sD^af5L@mTI>YGu>?kmc!A#Zu5NmEl%$)z~vX?{oG=WVZkP#x~eTZ%+i} zGG^GKptClDDF0VrD0hb5zY;-uX{`qRWmP2Ppk?e0owYQHZd#hRO|$lfIz|#?HVA_- z5%j7PZA)H=? zT)?VBwyh%G7~rxI)|uY6wE&$=+i;T)MfE-{=K!o|xfL}i%Vt^wDD9+~PW`l|+)-Fp zK_H;b@tC@G^$8;TH`7hhQr$=d&ZrVY*tdOfU@!U-XY)}vENYVmL`&z^4tjG6q+^h3 zwGLS$)6zKv7mF)-dOv1jjG?Eck<7&m7Pt(L>!j^;z{X3dmz5*~NlV0k|hiujivcoQejK%Db z&qizLjBgojm>x)Xi_3-pY>pYh40=VIgADpjV9^ttJq>@hy_M>p;3jKM#3LdO_AI7G z{zjR$*Do$BY=-BQs8<_hrYNDyb?{Jv^TTx_uZU@|hlsX^XGPn+fFZ^7#<<+bB1W3H zx-J$rTzwi;ipwAw;c6;4#Z6GRrEXty8q2oh33*iH(KMO_uQL9ps#NbFIv(b%w9;o` zLw95L{4*k;37--$R&^Hy4D!kJ!7QE<6CRTDs_MpvSed=i4`K3y2DS;Csx;9vgA%ZqNM#gB7yOU=aYXu@<}i=;L0QR$RZowuV?RTn;P ztoAK<6l(+K?J6&|;!)Y>F~oP|S#2I=Y*gy{xU5d6EdFa{`Yzq9GrSDl7fjpu`fL$vwy;AVeEaW<`2ul z`xySyergT*xeWf9$+S-yefDt~QAW>y9BVgv>f^GYj2`_srm6MF$7M$uJ^nE{Qbvz@ zOfHnsLm$I#r|$lkw76e)dQ7_9uP;3+1Mb(Gu#a}XUYoVSI?C8!)k7bZ4fpE-kIJ6= zb#E-=-mkl1_V#|=@lk2;fS&S*w0Xc-BkS>i9{q?6c|Z?)L?%3-2RAcHP%|i|Jg6BD z3m()Ag*6XqM!}8;`&!vCw9qHdi9DCyoF{*R<+5C*I^?r;nJMK<*2%}81&^Ek>5X|z zNv6>jK-qb6BESN9IOv?t`w>B(UZ2P9h^ag)oWf$}I%DX3nPna4(VEB?ZDOY}Y1!BQ zExVhY#;#?HC>P$V(bU>JP`LljD0EVoE~G0qA%W9cz@(#iNcYah1& zsCADMdMTbBm4^{cLR%zLGxDTQk~OeRPHI}73@~QUd!(XMu%nqWVzYI*(MfQ$bBnp% z=4zVP#7oe!uAZhP1HA-|nB-|HJ702okO0cBIi6!!M8k3LCx|sWpv8Z zWZy4OlkuoL!xuC2aUP0NT#nQ8XkB&+xA3K|Q#S*K?d4A%&coZ>24;T4aGG3u8Rlyv zD|L`oTXbi~h_i`2BS!8&!A_I&O8a*#!%@?5Q_UJbRHvxNOwHp+$FzE`Qr%j$|PLFJJhGd&FA+I$#(2f>) z!U3>+VO^wiRqnmYLfS&L<5h28dK5?ea{82j)BT$zq%_XVNE~n!$?+#-7Qjg7{{_H)THSL_UWL)1%?b*Ddkc8A!Y0 zbd&i?x|Dox1y$)-%G<)P=B3|R%&&TPrB?B)(_LoS?0vUAfUu!=lVSgRypB9iH9qbp z+-tSrdB(kbyw*RlYSY*gKdCy4reC%y;QKP6VfpINPV-t)6c^LewcOllIpE|oD2 zzkI*FkRNp)r~%va0dG3b^&TY2%?GV(RIuSgj5AsCuydY{+xRd|oBv3v4=*-9LQU5G zJl>t>t&dh(XZrlHR6Ty3evCIqAGcQWyzCcW^`X&wo=8vN*VQLXKehOkGmIZyf5qC_ z=E>ARo(DWhl3q{6uTaRSr)Wyur>zCFeb>`fH_^I7&vBKIrno#oAxvZh^ApYs~>X7zKlW!Z16{yeYy%^O5|-r7l|VbAv=((-cF zB3=x7q0)AW8S-LkGQVcLXwuJo$?m|9#V^q><6idmk!H!uoJ@~cs4c^Ru)9TFgfZu*~ zkvAiLm!3(Qg}*bsv*j)4G(Qf$MepqReQE{IXMRtTV{gaz@OGR+ghrMSu@yYKyXZf+%lze^|%(Yy5e7 zD`9;;=hE1q);*nxJnReSB6&~#f-ltgOKS&NcK9-3f(Cv`b=!ZHI>YneulNA{zP2Wq z6ki*Qi}Svgx9a9juHJ-eN}Zl!Iv5+?-I*PvqtKjlhmeeW0jgptJ^nGRkzZ?-J5cH zzb>YtH@?&3zZ&1blm2eW;AG}oW}fY+e$U$XXn-` zeF(c*e3gSd0Ukpz|RA1m07Y6wNq9zex7P)%%1INuS(2AB7UuX z_T`NZ$~w+P>r^L|GUeCntj3aNLKkIsrPi~$7?$n0uF5;f*Iv@qTo~tdQ^9`xTHH;U ztK5a|D!7jZZSA4H-9Qyj^;D&H^1F2})q~d~daLhd5Im)iDzSy&?R{0ranS31jl#{z zek#?SUv>Lu@6ZkLBUIm{9bga^%?IMib%m0?1G81_KS)_q*(FX6R;jVjaYIziiF|;W zLpjj15o{Wo?WzOAl(UVWXNQ>r_77L7zWlm8+~jzEgtD9P>*fe^=s1J4de1Ig=Z-SX zsxw+yUHCP5jQXw%UtsN6m9EG4KQ>mG;c#`Fvg+`2;dqtZgc?r3KQE=Xg|>qBgx(<8 zP-rLUMDv@X=9=GRyAs*~x)s_EdJx(YdKTIQdJ|e7+7!j*ar9S5=tyW^=utkuFg?5EbfDVL?hK_{}gU*Bwgf4~l zfo_C$hwg=Tf}Vu7gIYhS3$c%$3h1}M?l9yn?q+p8$p*sYeP3euQ3$&LN7v3LQg=i zLWeT?8ctJsFtjbSAG9a5Cv+&Z3v?p1J#;R#6?7%EDRe8;9Bd9k&6(yb)GRtTp=P;h zI$dcq>^eftcdKx+vdJMV{dJwu6x(B)wIuCjjIum*kIt5yH2HwM=Euo{J zU7@|91EJlZW1(kQj%PxTLzhAiK{rD8ETR3-SuD6Gq3xhop+{JZ8_q-}4cZpE71|TJ z0Xh`A8affW3_2G&2f7kE7P=KW0(uZS7&!*)yPRq2r)Ep(CL~p}n9Jp?2Jq1V~7 z4ni+M&q7Z?Z$b}4o6f}#IJ6^l8niETB6K8l5OgZEFLWWa9ds?UC3GkB7AJ(G&|}bx z&4UcIk~k=+H-!8&Pgt7 zZF0OZf0scy4GA8R3hw$r_N6{P_Prd+&D{8uYyQUvdCv1Xe}kK;syn}z6Y2MM{|5pQ zZ^D;SJJX(2?F;RW-%8KI20ZsG@OR`0- zFO^&Od)ZmKWV7#ZF~wE=++E(#Z?XT!4$|NryZyJ)>K=pu7w+*c{zaPI%e}DiPn@ye z$>#g2?xrn2_164FPW+VMqdyA{{!Ye}$vN_=%rBE(@hR?6K3@C{*XzuVnz%SI4L$sz zz3po``(QnuFFa&V{SrgooKLPk><#-;T0g>Lv!8osYDu4;oAwWSG}xt<41W|>WSz&H z-L<6UW4#C-@p$lBExGV`WLqt{`FQ%!=hEpHbhUJTB0cCE8S?~p!co7pr+g(-e#v>Z z|F67GwPfnAsNtk1ol~{sz*C-TTX)#>kL{;x|MttI=OwWea- z>DiY!36%9Zekx1Kl62v7LCh14|4r5D-^;k?z5N6~Z-UDO7h{I$g%9@rU3$IfHT+H{ zyh!lamz*)*%Al7&n8et5#k*EhhLx{+5o27hdYI&z{c3#*onOJhg42x(iBUgDyVnww z+5a_0iVS=`UH1!_^}0EUykYmOg;!@Hk*ZVlA2Q7B|)b zzqeOn7wY%C8~(O8zoyK6+w|VzcY;f5%8GaT^L*wH&S=8lEk|LE{@9w3PJhbT`;Bz| zbJ3jdWx}87vT^UF*ZftMXHU;t-gj30RgQg-9o>yS^tOH@Jw7b4_8Xb@A%#q?nC|gc zSyR!Rvv*c<8va!le^kTFgIyo%+BD(V$J+e5^s#Qpn6Fn^kNUf`s;n3PAl)kKc|XXY z%6irhGOn_o^n=W*tcU&}%PQ*uKgg!ax;MkUvhMbSoT{wNe7sg!o0-+<6FuR3Y4?d9 z{k`=1M34MlhJB)kd@qwe(fz-dd7tQB-^;2`^v1u)womlZzsR9a^r>&<+$Z|zw{q(f zec)SZRz>grRytMD+rE{4RrKs{WmFYC?OT~vMNj-z7FE#$zLj-VbnkCvR~6muTRB!m zxB6BtRnZN;m3mb*i$bfan%Up2s%G8~s;Zgk61-WHNCN~s$TJp zoT{o>Ij&XJba10;y6-pAuA1)gjr6Lf4`36ln%@1jOsb~4el7E==?-7Zs%pCR*Rrje zp8usBs-|asDd(!`(M*tPy5ASlth%oKg>KZrE^=jx{pGvD5x*G=KYUnnf%Agv$`KL0jhQ^ZE ztQz`EO<7h$AFnB!YUo2XWnT@wx2Bw`p*Pp$N~71+ltwl6teVoUrk+|;dezhu7|%7k zdUw{(kL4+mr_!Ko-eUDwqP$69GP6vYT|TR)1=pD6b(cSV1~HnS;d3G2wX&pH)(2>_ zkaaDLgQAfPr8!|u$`xTvnk`{XoC9Ia+cRO7Mb_y7enIm0a(YxLsRYk-k4lfmbF8sA zwae!XErol=g6XBupJn3g4tRr0W38_#+13ul+k$Qnak>H_lAevj)bIyD3as=*oWxq> zbS{$ae3vx0&8%!4O}D>GhC~qpw$-uArKO=`Z#CffCk?nDcBZtlHY)sY=0Yo>ynmolD7)3=8}@VYl#mJk|~@B;LZHv7)#( zsEM*OXjUily{m{B6(d#hs0EHBeifq+W?!D+_pV0}ozb~d0*QT~?1T1o3xVw8MhcZY zZW$;W0jEMR6%K~&!#FOs^i7b6mOdPjg_f>^fhkMxB%);og(<6yJd7LUG{S>U96$_C z{ysP<%Hwg5;xjDpy|)x$qyNXcO;qxP$P=*@aru4ptRo-Zb<~l1*+E~=XJJBZhA($7 zmj8Vjd;y#=o(2y3y~c65Zbs*6{3yFvTdBAT1O^_i>^8#)|7EhYjV7WTo6YY zjwV$n=YaWg+4e9>vI`KJ@NcoatWidRe!DU7)y9`bsyNigeYd~g>FB^D<}>f{rx&B3 zWUwBm0#17eKhlP+P(NgZnLR>Wqg#c&Ge&|*jINfmQ_CQ0G%+?sJYa1njQ;9&JGu$g zN82Pk6*aZH7S$Bch<k15jBpGI%8pZ`4;v4FP~HxtHY(%C?AxdYUz;1Z+4*aO&&X_FWp zMQ)Mz87sXAHBN(5yAkoQK-11Lyv{Dj9QA*Z%2mqP`ZZ)p!4Ug79Du!`j@Z}S*qyBAg}jNz2@(CZJnR5^-4d=tqqhQjMeH9*ko;04L39AHL~L&-h%>-u zMc|Km0DW3R{58JxCETeW9`p z%5eG+_;91YKEm=k#ATlK2ShZH6aezpcEPO}P;owA=cqH$#n99yO1kc7vTqzqkaL$< zf}DoNG$|*>62w^)(NDV8X-;YQm41q4B?)Zyt)uh{gQz3jrWInb`r%8o_eQ zwk7xZbTgm4m$%#}e~WeTp(O>=^iF-Aktao-^cDo=jZOp}!WJj(@agpdO!Dw0j{7_w z>-wkia(X}$Z*f2qWqlyKTW0f*Ww)F}H=k5Ek)B?{erNwK7ygF_YOvkLMKBtq6wbPtOWrcFmWfMVPVG%5pZl_$y11RiB78FD45jsnsmz5ne8} zt!1wCh~~4oZHT6NgQGA$-F9jV_aFx~Yvx)gx}!|{-BAxE*^5!)?bl8{jKMgC(-R;WJh0~dV$6t^uG1=sVtR_w`^Ghy zjErm6=eVY73*(y7*Jh12?2K#5IU3g{!+3(c8YMKjv`Zw&pnpP>!RUmhc z&=d&^(i7)RPtaG*-Q@11>~ota5*?2l1>(!5E9z(U zgj**xwdkHmP=OH%P0>>ln&K8D5|p$tp~-!3B0s+JYOK z!JM=METhe_He}IXOwh>~d@xF_L}2YiZFO^qX*oI^?~c}MSTC{Ucvh$Na#;7bq`sv= zKeV=VZwu>MoE@nj=Mr;PPPfdFH#q&ySDCqt7PC-p@;M`NfW#7SmfstUMz)!M%K{Dq zVROK6W{wBb=r}Y8G0M(`yvtY%3)dsKx#e8V!9C!619RD*Qz%t8vjIJAz(FSJ-Zq)+ zk9v($fFMlQT*nGoN}4$DFlwD7TH0qF>Txhu&?Y5aT(4tFMi~&q@VL`CB~#+GbaEoT z$Y`}0AD_*WdK|RV9cD1CYO}mo`nsX+pX~~Ubf=0B= z8Gd`7Vmq0Kll0WMxmUD zd41AMffPE4mt6L`gK?)(TF%8QaOFwlPtC_;t2Hn!JCi2O*`zx-U+Uy!dgsfMoaBUj ze3oX=X}p-jY%*rL^5uAn?R8A9vp-*s<$g+<&7P(e`$1zA;(c1vy6d1cGSWCtQ|I=1 znp*VE({#Y_JWabM=V_`tKTlKB)p?q-x94f2MzWFjzgP1-`d(c9NVa-r{Qh~Y z8mHz(8K<%KQ8r@_HMtRfa~xX{xc2~>gQ2ksV-c&u2^7#;S`T+by)crq9i<9ekBc%E z^_Zwkw)Hh`5Vpp6>T26~Y20ob-2{W%4^|Ie`Vq=cd4~{fQ2teadS)T66Pf+3gU-f6 z=@I;pxe-iHFGRD5fs9J$dWKDyUhZxs7Z$QNG$7r$sI|RFrbR0ftW!gaWVGf+V!VNl zFG3@W`86_TZ7$+eK9`YmIVatvNZO)#Yp!i<|ifpqt$FdVpo+**WE6MuzGGQLoUaK(X7V^e`O zCR3@+)0|XN*PoPTQTCd8{})ql9#GYFE^e>Ak4MOH9|Sxe-5Q7)OdOJ^iBsZ`p-r16 zX>ObLwwcqI^oAsA=GZn#FEfbBB!bKc2#Cn2h=2$V2#BbFfFOv7;DCsz2nhH+>v-?? zyMMrQ-o5sk*Is)K?|zqN?s^_I)8!*CGs|5yvWydSE$2C7PoAT@f1>Fa_c^ZWUM4m< zS<0X1Qz0%#I-9ef7ah*O#ZT3wRkh1F^wP5Pd5(I$62SBJjZc_ z>*$iESb_<4iVStCnIq?-^k3mUdD_F>FLRWWJqBz1UDtX2N^E<`d4z-Z9+LBc(iu7j z8J?LTXSdfMHV?jt*$Z9-!;e@!UKGKP()u<&X6A6d?3otAx;S&y{$-;3aZ4MA*gZ}} zH=i(9JjYoX(sBFjsrz3L`)BK|D@DU>-h|b2EQ2dWyX}O*j=83LD@FB_t1gqFrz{+} zm+F3+<+%+GmrG3Vx6ik6F;^JP`vT3|Y`T#PNCpTF^psfiQ( zp3P8*u49qr@hj20NUM8U3@_47y)1keOT#pwi?z^~MBHM{>qU{iSQ~ypOEnrv;8Km&5VcgJA*3wTXac!QHEO?PsYZ=g zE!C*(hNT+S+_6-nhI^N4)avk3jSBUBPNV)ppOdEr#yzJ|#Ocpzly3fWtOCfsBw>*f zu?Um;%o>eugIlrAIo|%T$2f6f{02i%3Wv>@o=Clbwf+fT2Xb|XW*xX?;PWWzu*hs` z;r9`95(Rq6!R@9yC(%qaHAr{Ibqz>ooE|=fH0&h1t<96n;Rp$nXwoq=N%Cpca zaweNX`Mt-wt_&}YQ_MH|4Wd(?jdy0MwT$1_r*hXd-TCefgE%#9Ox+wgP6WA58I-m( zT%S4zHb3Ng5ac{W(3vx=ovhm)o`I)>51T^xUHixeMS4nqY_}q_6#n?SJ~Ep9gnoc5 zRX#y8DVt@V%BpxTGQ7nltGz@S8jJAh%S_ z4N)oxy5&gSEu?wgUFa~xTkg&x7rz)z`dJ)G$DHzjlWtGrnDhPfT7>ka)12!GSM+ZWUL zZ~j=qn=9%MrX8IIG4O|VSxAw8diMbFMEuzlHDVAge|9TG>i$pD4y4q-*aF-Cm&wUU z1Aj4X0q%eOgcX#(nraC6z}qGno9{cT!)Q(+@9IZbDE4~Kmad`qKHtYhj}P?oT=e~L zb&kB{BfW-?-NOI&V=!^&e{9MjC3iozC9h@G=YGU}_7i>mT@LB^q?D}g`TKVnc&q&{ z(_I2d{LGZnLqq(`v64UrKGXg9WbTBU?inynTykT9>EP$)QtmtPIctuh`3qAT?&rQ- zH!x%nL#y==;tE|O)%~K^nllN=_bXfSi@$O^+iMUNUz<*}^PGHRySV=w+H}#krbfa$ z@@)p5ZhU9TCA_=ebs)6%GprOUAU$C7og(S*ItGxh?;YPD%eX??uS{ z*OZiV29frYNv8GsPwUPT;n>f53l}4P8Ro{2|2AzTeYOAX=m$FfTfav~aQDA?$Ohd} zVM7SEoX50upkmF2 zcLEicB-jqE(V5fmaYL|iYY+4hAGcx zlGJF-hWa4y-lE9&SXsDY>LaKf5sE3^Z=5(6p}36=7{t}Bis=s5(<7BVigbvGR@S)> z8bnHrqHpM+|BI2K?~O%a4QV)5ai}8H^f*O70uRMW*CLG16eGnaD4+R}?sSa!oFUMP zZOXITNJ~_rq6gugmuO2%X_8_Z!8tAYep=d+6}Ka|4dMz~cVjXwDatQ0DXD47LmQ~_ zOKIp4LXRDa{19f(PQ|HUl+xO%xNYU~xeVnTIV{OkLX>lKU?;NVx^qP~>8I$=XWO*# zuIDJ`J(T@Oj$DMfgHGLg9E0<0I^IdU6_?A1nR^tMGgRBLJ&ODmsc*01c8g*7NP%KH z!R4xbip%*e zV4IB;lqz~ZH=in%H&>P^rfy=scu@JgpPO$SB4H#m;IMS{Jc1e`u4j)Z)@X>v_Ou3E zJIfW_mzskmTq)O3?h%vp&mY!pZsS2sRTCw#v9>*1jLAt=a zjlwu0QmuKyLUoEwY zLjmsS|C$20e!TAf_2hcR9E5zVUeP^aXT1#V>}kccpSwF6lxaPLme8n}x{%K{-cQ?> zCdH{TWSl?&(0VqIUcE_iDT1MA6sKIS??0pH=aC!E*fM^hSur0+>}yu!E>OZ*Wy)o5 z&MrBtNR5_5t;)KSNpx>*ihdUhKv&yro(9h;rW=Tt+Ld)FIIr(eOj`-$Vu$iw5wce& zDz2fljZWKAWH<+M1R-W!wD~UXQcOYIUEPg#CU>`7QuHxWcI%SO*#nF5w-E1KQC278 zys3x&1o?80vMvERpjR%EHk0PgYE75y+QxNZyPNS|VA!o zyerS$MdypWT)itFg02w`sU(tnBZ}Oh_8n8qg*a{=v*kPTo}xztu@Zex>BBYALvYq1Z%_qsJ}U1q4`0I2& ztx}BJV~EgeoG6J=OG%b|FG8so@y>b z3fQe$BIygtcdKrGJeRe5RC6)cd-q`1O*&NWRj2p!ZtvVH18FQ!EycVQt`^ARY22rp z=Bg-*5-26z8z_6g{mDR^%<4wN6|2$O0}kKqf4%m6_|5ObxuNxtX8cj63BG5st3cX z)v{>1kE^CYq#MWOy*)Lm^DgeacS3#hG7nzJDRqqpZ@A61ss7ip|c zeQcD`e0e>Z2gqTk)k}&@Za4>jBr?n>Zd9!|8Ozo-N^i%TRQpyW|7O*p)}OnYRs9t2 z!K`Mfr<2;EPAozSIICK>k@c~&s#7peO;D@t``T93G>o74Hq~K2ceS;tRzG@#t>@Ga zPB6CJ(yqE5Z zgGeVXsdAFle_5TlfuJ(4s8egHU-zr3sh=qJUsa!zLAv*-QyaNn+oPJcaNpG)b&@Yk zyr!Bw;F)Xp^A~howZBM3Z0l1^UL-Z(hUz*Fs&7PWyD96m z`If5hM!I>6X2f%Sn?3?@!yR?fUi==sqnhGi#Gv}73_Em4bxpuMdq|bb0OiA~=^V~A zchyOLT=p5^WDn$KK1P+d_l?Nvx-_clwYYkW*^bEeyr-HDA%?meCLQDEN_T_F6FJTU zW6pR=^fXMVt)bKx$BshK@OVawHLDurwq0MH%Gc$c<<$ zOCk2h7^a^mxJ|JJ`Yrc3G>ES=QHnFjU5KrGr|603xsCL(;99ZG@No~UOEk64YqF;;$uvwp&I52K(_nv%2V+l` z!PYh3$TGOK_%im(HkdDQy(s7Y^?@A2XJ@$Xk!P^K!1cns``1tB8RoSir|mY_AA()G z4Pgcu!SG(gLM}+zRDVMl$q6&W4__7>+Wkseps99^QoQuow2g%Wx2OLhr){?Hmk-%`gU@ zhH3C5+zp4Rpi+1nR>LzaV>H2Bx};8+4f~)c9D$>B=Ke>BABMpJm;i6U4A=|{;Awam z<}rFd2{YkY7zi&xZ+HtHVW93_ZqV}KMwkP)!VH)UV_`Pj3X5SMGl>d#71qNF*bWcD z9+<|gVGwSH-bW2u3B#yhxEIF25SRw{Fk;yaH^EZq1*_o@W6~yA2RmUQ?1S!b1P(B| z^RJ+OU>Ll?crpQAh8eIH7QjRBFwBQ1VGcYCQ{g3;2yeky=w4~i!r?|30=L3u9-w5{ z1hZi!EQW_+1q_4r&=a=9n@l-+;4U}_N9h{8tEg8P4EtaVyb9CcdAJ)Mg{ANytcIh! zXq#Xc?1W{o5AKB{FdO+fg7P5ENq1l$jMNy{bj>?U-A!6zzUcJ>tQTxhnry!^ninK#E1MJH?R&H%>Ndo z7+43>U?toQk9w1P*y=&SmmEjnAv$&c8iN)G!(aqVfT1u0Zh{5S zA0CG8j2TYCQpN#iVII5$H^E!bAG)8Q^cmJ{gn4i)%!J7>9%e&1G%beVj5aG^4O5+Z zSPt9aKG*|O;UJ8K-Y0o#U@+VOW8h`p3~8_c?uL1=6lTI|xC1u9DA);uVILf!8ytah zaoHaO)pG4M49a!a1StFG3@H2K0w{aa!*C-LkCV^`o`qiU60Bk&=9VM_824I(wi|AQ z>2NFD4wK&q^&ph1(cX1D{k&#_;XW7xb6^_G zfV<&wh6tt79ah71*aV|tCk%&uFa(akUWN?*^*o(043@(LSOzm-E-Zk%;9-~sPr@X4 z7Rm|8B`BvJx1gMAxMQkI<F#^~^N3LJyb>8(5djhUc!3f0zs_U_7jcQLr8Quw2*! z-Qge{V1(}7Kz+ktSPNrd6-tQ5pht&+OdSDeCgh!zF8H2VT21B{;5d-C(M;es-9J`_1;V6Z2bE6u{ zjg2NKH#It;+|KBOaw}s5%54n)X4)GJgL3kc0OfElqnXn_8My67mIJs-D92oyb72)MfpR8S1?7CT0m_ML2b2@kUMOdl!%)sCeKAQdXMCYh&h_G; zoa3cKxoeXT<&F)zIi;`vpZ)Y>4+!3^{H=>+bciPBan`D?87*lnWq8=l3`DB1n|9=9 zjMJkYC-yzyw4O_zrgdjo5D1x|dn2V!U|VK~X6j)8nWy~=1tGIFgWreDa?E?!!TtcB zS6rKD3-g?#r2r|)X;Lsa>hw?_GYW5K=k%XNxbq;l2U^w@k&@WSdKWJFljYWPxz${X zP-m5k5a*}pi3r0}P({|r&;5fKV?m0+@3MrK7m!FRF`!pNMM<(zWry> z>?*YqZ#-na_mdcVNG{cEdRRaI6PgE%!6P3rANoloJvyVB&x9V8i!GIp=~@329gp!6 z5a(t+xRv0%X6tuwijljep>y;Ge(#(kr)+t1&3h0^=Q3?BdQuPLcm0zxu^msDZ~E}@ z_fuREx1ZK)5d!B)FX8jeIS5JfrOS>5dN9Jl1=7#SXUu#xFIu0GlYw*3>NN<1&q^2H zMdn=yn-@txk&E>l$~Sj0`+2ELCRhDi_%E{+apf{MKT7b_a%(Pm?_N$hiyJGukgYzF`^sid`$>N%+0473Xeb7QeXH7 zr=D-b;2+%je-`dU6WY?gPpzeVb@eGB9{;=Z*ta78 zv*%=pv2Jh3r{uDm=1FnicGCvA=)tF3NSi*_WF16)uI;Dzw|}msfSk{@4PgK0+Ev&H4x6_}?58cjxu9f^-T>D(x_ir)uxwiY?!siQ(FYrRXkRQFpejz`4+wq0`=xxsz z@}sx1FXV@2$G^}*{w>aYp>6!PxcG(U_iu57PrCjsM!(QTe-Z1y)CPYMTfWq8{vx)0 zsrCLMc73V!{VewJ`)6_FOHJnC)R&rk;9I}cWLvrXr6ya+?Ju=m{}djpwX}bVO{=w} ze~QS}THHUy_SIUzKSj=JhHd*-Yt&EWYK`hRy;`GW&#%^oz7^M2Yq!5)`%Sy~jqq8c z-S|d?tkI~$*fko}w_}Y)#qC+6QA1^GG%Dx#8jbomvqq!fFRsxj@*8V3N_%vTMnSJ% ztBtM|Th?lK*NSaxHL7^mT8-M;w^kciD~_zyy4Q+RYqgHGqIK=b88#gd_QQENf7B`` zayY0%%|tYKwGjs_(oGt4zzUG_O{}%6*7bbSz_^W18Vr-XCZcxjJm!D`sC5&n>f;=I zCW@YMRxG!B8s%wD8|)l7b2rz{x?v)HVLjbJ%!I$85kE2^1=mCejo+CLlZoq)gNCmY z4jSRKIB4A8?Vu6YO$VtWV@scD<%fJuz-HF}$WOdzk45)S?D>KsL9uUD(ars0K*a{5 z#+4JQ#+4S8?*gQL4tA9YX1g+}37u!fu@WcSi2~B?k6&2N+VP2lYY|7v+g9bVR*Yri zGI?-%iovwQj&q!+joP6d!}m~|jPlF6B%|Ei^s$o`kV9^%!6g8ad*4zo4g)7 zlqpHyEB|;iz#jEusjO3LFyrBt!AfWWHp}9>jT1Rl{g5$_kO#&)U$YbbcIf+YA_$&1 z5ky97CriN=))UYFWmKgcOm{hyR@ypVuR5U{MQL%F6K%QNtuDHM@8fGGGI#ztlYrAz zCkCEH(hj7LVTvbXVZ*EW%x}igYuLhly<7R~ZOkXD&aHNw`GqwF>|NUX+hhGs>KX)$ zw;!?-q2p1?JTrdsIgBWd=S{lLmc}D?+8sM_%1*n9PdhHlJl`0{;hlU&qO7~NgzvnJ zRZBQ1#I$>fG#-6q2`b34XWl)|cxVZxEKM0)H(E=$ZnRw=Z!BKINj&SWujD{N;|}y( zuw=Yk6i=}FuHbu#c>LbbjQ%UcHS-6zR)}T?OaBrP;^>H8%r-~;%nJ0UrK0^UC%3qj z!h4cw>+@)tvJ&WPvHCtIVk}bGDs!@N=Ta&l-c5 zilBwsmKQ|yLZ@J2TBzl&6a@=4ua)BPLal#=IJr$i=+VK_Q(n2kJg}Aj)%UmJc z7ij@2#76X)R*0>Ov|GzX@*=HZxyW9m z#TqTBZ?Q%T8d*G5H(i*_A)2VyCO%-FIz?1JFlFClG5mmaE1{Se`~^&~dQTAv6Fwr| z3D$E~u|@lmv4Gh*(JIcGEhOT$*@-ZG9Z>GQ?O?t(S+q{HU;xg~aa!tR+Ag0eh%o0r z-ku`vVq|Qx$e1KuJ11#)?VF^Ll#xjquKpH{>tPm+{jbO!c$3q^_f!@-4o{4qUeA)g-0 zb>ZU^jj;>)uHua@3`{ziqA`u=#IwA`+3LAa>~v;;lQzk|_gUd>v2;Bvq9)t#c@{-! z%ejT(nsrU~v!ZW`HR)O5JCz}e2+}oNZ|m>+^M9IY|1+X+`lr{P5qS?T zTE52AXGDstQ!A-)eJ1f4Y0k~#8Ikdj9KsgPFkf0AA|FmwaK7@$M^~Q_*B>?2E)csP z`}FcNV%JRT@de`0OquXQj~fdYh@dBAKu4eWtnL|6Kg+adfw(qn33eGvX6u;?uqr|N z>*v^GkTH2~x(xI3lTIXk_(|Fv#u+J0j5AV<7-ysaG0sRyVVsdN!Z;%(f^kM}$2cQi zG0sS_W1NvfZhcy#d@nz(QKq+_)+kMnd0H&SCFg0f1m|fK-u8JK<(4x~quln-(%hZaKg91SsSz9TfbsB-ah$IA z&57MC`A=AvgwJ|SKfuLn8aG@q8w>dzKG9)hJDb-Nt(~BKqP_tPO~lNQsB*FTBF%_@uUgHu^J6KxMp$*pA0>!K&OvTNk3d4atTeOktXK+z0q;~CZ`9-euOWv8l# zO*`=y^N3p$5obJV>SXOD`mt5#dF{u}v}7`qj(Ysh*BB4@JfYt@%Y69>+2rD8>5VMf z?42bOwQshml`wMVtUE*)$L8uONS$-#v~&1L^KS0*drH2kL!Q=)aY=t#PE`x%nGX@w z(Rp$bQ9WPZ%xxFv%djslFc0F=zd&j?3_YXYLTn{_PIEMK!rt}m>xmL6l71_LGR zAiZEcL7p;SUB^daW$c%~e zWv`ekD9V~w@NwujmgD?x{EaM;Gru(-Lg@PK`)CrpYPo<$LBp%kq3L(ViwFl^TXl{C z&U@XmgLEE!T{>01Vcvt#@Wye3q&H3bPa4FoH>G||>wlQ@$l{g%c!y~IU_L?ePyT@@ zkNnY6#P2hIl-^t3GS(yP{*#mRc;ruV>U{jq=IeND{xbu&>i@K`&@9@eO_SEY7&~fM zQhIxpT#*ZX$8wW4lkyHON$(na`Q7mDN3wAgzUL$(KK33ng|hceZ3KMmeYyG7@PU2> zhwC5UrRPI){&AA}w{<>O$;-$3MH$VUHbbc*$?zprj3o16bj zzejz!fA&rr<>BFG+;)W4>-IO)Tii_hs#vdblM&thTp#7OurCNML8rX z)t@G0p+K<4+P)2Cs5Nrpu;D9nIl|VjD4b1STQ2f@+t;#ilD;t?NI(tgJ16t$&2d0^(`#?x40{o4J`R?z!KnT@_x)q znYw8ML3?4+jwSIjZ)IIQ!MFG*daf5*RKCiLzA=`{d=>pHt18ugitBBb5U=>zEXfV| zEA|)J|M6HaKS{d1Ua=;VHzv%o=|^G@(363D$_AS@P{u|@--oL2k&O!3IJikM?w30= zL5fQ`UBR9pMX!hD!HUI)h?|3zH+jp2D6SDP@5z=(v(XEP;++b?js#r&ez%x>D89)w> zQd|y`poMb9LJW68E8p4qOLaj<$>}CGE zWsgnuFd|>E-%Itx=PNA0h4P(JBvRU5sR~Zc`Qdiv$r>Wh=d7iX{ohgkv(m*lNYN38~?@vg+PWs=Y?B9OB-d z8tHoZgks!_RCZGNEQrLMI;9wg+1TGwt9&@h-J9zaOB}va>*U>NHX8kr2I}u8&hNA$ z`;7PoMUNX|y}!Yxe0aD~(M#B_YHh??ia6Y)IGp9ltvjQb*R$Even$B-Gtp)YN#dor zS(aW_i(*a3?MRC)J9TFjb1Gii&&o(!TNOPAX`od~H`|nny*$XC=WJDXs$FrB)!o~! z$myJChoYb4X^ifW<|MaVQ0!}vVlT)@P-?W+BBgXHvApdMbt!*rr42-K*q=;Sdbh20 zWuw#>OKg>wWYarxSuqXLjhwh_b3AvZrxKjEkvyMQ=Nhkqx{spl+LO3svFx`VqbtN zmoGy$s+0HNTE0=WvX?K;Zd5mu;Ojx^d@o*A@xf{uo{om93uOZChDr^&-p%T)Z0-$5 z?XU%Ag~^jPlD4SU14#R}s5=OuW2?F@;54tTD0OB7m(!xv8HKPST4j1z5TjaA5fC*o zYB!_MJ=;hWsZF#gbk!!Q_6=twUV( zOtIbUnW`Ea5aZI+A9v6i_U=&iAQEtLhfU3}EnPL&k?*VNs(k5P+o|gJ>PTLOOO=Q)l$y`Sw0ppqC0&YcSGS zp$zJ7k!lPhEfxFK?`|nh=}4T88?BBSj-pjwY1jUJHq4wtINtAsaHrha#WrWAAt z?K%n}?T{+J#VO-cosN6f2`5u{eCR=F3o zzfwj}Sfv^ZE~2GXeLr7uHR@C8jDG5BR98PZc0zqB4d$IxU47uGld2quzC z`}TFH-?>vtEf-XyRNeRLynnr?Q(dUX*LJby(sw&C;Y74@NAjKc!1qGJn_uG;dS+N0_t73@Ry zsB++T?3!wBLu|Sx6%!kJRekg*1IAu;3y$7>s&TlSNAJe{!pXZK4O49BSB>)Xfr~fQ z2Qn$5UUdI9LBCsSE}r(?M#UB}p7U<<;MP0pM@JX|qU~pGNn-RcXls7^hg9jJ_kPQR*-q7*Ri}<#NfWYL(g&7sk|eflOXT@2PqZyNO{QhP5RW z?{-gv-a{coco{yDx*6f#25Z=52BAKNkM2?pp=j{QuQk$q4RX)yfS7fR55UJZ6YLL5j<(m!m-DIX_ zvq3i4(_!cY;@TT#kSmPt;RfqzT*Jc++Yt9g7>siNy*R>v1-6u}2D98%&)aItNI|4Q z_e4AuX-mu1D1$MPJ@ix21_v4Yxo86epHndgYXDMrj6qKQMq>@;o<7=1oI%b-LgNj3 zGUCp7TM$PQ48}~hldBR8L%1GFG??8f$CHV+yq`%j=yw?@_b1tI-niXh9645IA z7Y^{`4Z|DIHv=^{7z!`KICuf3!}Bm7o`VNrE3APnuvyB?*SnxxNa%-hSzruiZAS}n z7m67$9F9=?iBNu}k_kOwA-qVFEQjr|R?3O!AHu!x3hds-_yrzg!0(xf;sy+aWiSc` zz!Z3b;chP60Z~ZQ&NJSvg7Qnh26&j!YX?k*y)X(6!+7YMg+B(*p)dxw!3J1NN74cJ!d{pQhv6>hy9b3I7z&eM9E^kMFcRj&9v;4fP<~BO1Le0X z%}^?!bwT-F?1%D&I0ogLFd(1y!gCo8<EQc3Sw5o;SJ*?%yLRMC;z&&sP=Cf?$S%@MR9d;nR45MHPOo7EP7skR8 z7!9jnBy50E!Kwqw&qsTqRJ0m~^5ae4BGNhulS6~?&fbye7 z&;7Jh7zpLZmr*bdroc#;3+3mQB~X4~Sp{$K5@~=vumg6(Uf2PLVKVeBp`F4|7z^WI zG)#x#Fdv4%gRqaKz#4e8mHfjaunUeclU^qMi6JaULgy$J@7s9i! z9M-~GSOVMNK6nL&!vT1Sk+f$i;lMz+0Y<^T)8rrez+8xO9)`&&KUf7(=3`pV^A0=U zXdU^7gK!uoK;JUTr_Rf?s-DB9$l zy;-%#4nnRWQQ=(9`f(c9+sA2K>KP~ZsPP-E2o_2IHob77h*aLW=`8ZqiI*^urs5#l z4NfhXSTp=eZkJEF;2_O(g-jG>#y6UrIjBz>63dk5UTv|P+2?@C!5J-RYS(YSn0)wq0BU39-3z7pjATZay;(I^f<6F4N);WVd0 zDwFF>B3gB>F=0~C+Kw$ugF_ofnHwf!o~GU4+-So1q?KdPw~eE`*)9C9qzU4aLJp7rsJ4t?| zGiK4xe1;{P&HPTcnhQSTq%RhNa;8{gKNCl%*!Bpfn$G@R)J^5`aow8ncMgSRc6EN5 zbNMIi`Mi66wPe6$PCgJ_^{FI6XElS+lkd; z%cB#=R&fFycSJsBZCfR>9^;OTnZ{$QM9|}3A73p}pO{#_iWBJMe)lZv;Z@i~;f{T? zjR#kW4Rb$r|51$1)zL1Bc+%Ro29-XSknct1Q!dfph_0uYX*WM@?OiMSm_s18d3a`+yyxJvYxR>4rj`WFSO z#fIM-_pcI1e!nVzwK(ynv0#R*RxP%*^{xoc`mC&JV@yKVqb@<1OpnkHz3y zatUGNPo_hE6TW|Dsr=TTt(*TQ0_4d}-hVN9d?XUzmKM-6-`0-(APV2s4*ej?-`2{0 z5Vdb>N52?V2}meU0dNN2^~Wdf(Bi)`;PEv?FVT@4H(58WH-gmbym7y{jdz5$W%0 zfonwmyW09S;^4cQ_Zm_2u6A#=Xnt4YY3X`bqy6>2tI@8;-qmP30q83 z#?zJgp2ibZ_@2hIRQ{gEV^sT|#sk#$p2nkdV1ue zA?1CI=OFiejVGYweT~Ln^}a^CZ+Ks$#do}~(bjw4*J$R$?`yPh-w!m}cIXEh%{uM_ zjTW8$fhODX2O7=z;0GElxaI?mYHI#Kqk_6V(5RsP4>amy>;sLO2>4K=62d=pqWn`o z)Tpw&4T9M%-*A8-=?S0mYqDf9U zzleL2{Jj)(H72hS7pFRTtQG@PUuNY|pU&w8 zbvhk=;WW$9)uLva+f{WdzHRvALMXeD>A2P?U;rt5ImNjDA3|Fr;BKQ%b z{~FYeobtXEzK_|(d@D*HvrGP#Jz#U@w<7g%(++f7AAi#GTXAES(H+;>Z`Q9B-E-~6 zeiGZBw2S{)+HYQFKk*!}8+9p4MD-_5J!A$o0k=J#UgwG8gx{>Iw;Uqs>W?a!d1 z`{oC6KZvORFnN3>lK(^YP&t3FZ(l3I{%9fZX>U#I{Z<@&ORq)W_bvL2x<6SuId9-k zas_7K&yz1xRDZGS`daM#t6lNe!si`x{Wom6PU!twbiXsVf)gm-n_l*{IP)G}PrYxw z$>sND{r7xe4*W)RekkLp{KzT!d(r$6OFYGYvyWIUF8}Qj|J5SzV|(A#;@ZdZmbe4=N4B{Dyuw~qVNlJJ$t{Zy85`QImR|B6E$R&wJJj#BtVoO08$&|c=~g`cEe zZrx8(E%($Xwvaqptc`h_+?^Z!C?`$p>HmUFJg7h2)hQXlsyy*1jpUrBx3&0k4< zT+~w0$EBY~ANR~!sgIkBGV7OG5X!7yYF=xlKJLynQXe;Ejnv0Iy;`c{auNsHxG@yQ zms%*#!k5~n)#&0jI^TcKzb1;vIfo);aOAV?lrz*G(>S+RWe`?nu$GQzDDgKoLdH!y zI9@c5lVxkPPZ=*f$7>txQ&<1vz#Odz&#gOkYPXPz>VA^$-oi^u)`bxlkXV$$Pp zi02;XzUU9wAexWid-H|y;;&ZDEdSTEGvmc>#mbSvRSJu&*{UO!`L`N=6KW@h4E7t* zLLFy1I$lW|cbD*!#%sZL^0?|iJ9%6+o{o-B;kqpqGJLZ#&e^zD`MIQL-fdF)vws;U2h04 zX<@X@-ct1jhjYty+|dUduf8ERnQ927MVp-chVVAKY<@#*Gmmj4-f;p~Ivwr(UQm*q z-rMqq*x_v6{<>(Kv?}BGqT6E5cthN>NY(XR>m$7@MVHmJ3mwZT@|7DfRrh{fBu(Xu z^DuqVk(FZ8v>C}SV5X13NaA$s<<~^Pbh&JK;6Zc6Yohu=>8I93Pkl{Xb&;>~9#^yP zYhuV1-Gu88S(9HCJ~QNH--jKq{+6RK8F7R>VmbYa*!~D=!XkR+3~Ztm&Ah!#B+{gD;UwpgcUz;pZdBu{QO&d0kKTG z@_UiEObhtE$XupXzaa{jX%%mX@?~228=`iZmidNgTc%OlSC(ni!N4+&06dp#)I{KN zjZ%(Uu2G&T%QZ?ecezFxmMqsOy{hFJ1=p}#qsTgzYm`>+a*f;%FW1PX?+T3!hOW@a zTHFeaT&1tj$WQ(Xjhq}@p^=H26&lHJUZIiLt`!;;*uO%fxW-l_JO2O8R*t)ily{8i zmv2@q-V;Tt)HArPxH3c8EVp2S4XzwpooV3Fj2&lforp3P_o9J7SM|Vu~Y2p1;DCpb2u`lQ6-)!9nbtF!_`Nr;R)0JBY>!vZ5|( z|Lv6bEb;p^urh3`fyu*3z&WkC}c)aowzuuDfQ9bTI273CwzkJ>KCcEr#^> zsp2m}{AK!Pi~}1cM9kq#S$)HkBE~r7^c<0AWT!l4ywkP0SU`5!KL_1x`8&vN>BYI6 zi!wQ8j_7?rPn$3NZ00i)CYblmM=f3-n8T^;`jvT{W-zUFE{ApN2j_|_8sox7vt!0w ztj|x|`J_1SAm1f@j27l$>)6cg(ayiSK2J1H`ZRRDXtr1{J}vqzax*N@YR-6CL|b{D zBd3_go)Sq@cn;#Gx_Uk(il_3GlZbxs(~)^1&c!Y0X&ellFq1hVAI5Arz>Xz9Wk#^74i0|fXji~O;*2wCH zIhrh!IXCS8w|{L?Uw3PJSe}_)=_)SU)cCQgknJkY8Qji1EG}>^jjI?MC+pd7yeY*M zs&>*ZN_%V+1%+WZad2k(cPkVxQa-N90#OKHaEG7yvYpMw^^;H zT$!-Rot4Td#{DydzwTE5un3xFjU$q2a{9S_x;e&G(;6bhb zVR86D?b^fQQ~E~A#OdW9e+r;yJ%StiH$B=$U|bQi`M5Vl3lc` zt|Hq-qi~8{G>W3aMI*v`7mb2ychM-K9v6+m8FbMo7H?OLgao^4Bq7GNj%vOC{_4En zu3ekvV$RyJWwt0X=qKljWaAW%Iikq;pFEu7AIY7IDf2lYbH%XTv(H3x z+0$ZpqM6%wIQ=erp19=vX&wJ3SyP@CW0U0QIC8Ri@F|Lz?fzJ+sp=__YURxkGsSx8 zNs&8+@7Tqm>7VYOC(0kRUU-rslkc{E7jqj;$%RNSyPD3@wp=Of^AB0`pA>f z(n$*~on+9`iJF#9q_lM6qoorSEuE~=(kYXc*^v+YZ&|OvCO>m~#e!XLtc=MoEi8N~ zQ6f#`U|r%AKjjYAzHt`5LODK;QQUr`wQxKq@m!}9lJyn+l=2A1{CO*?lM*zgR&68j zY|Xew69t;_h^Fk<{!h0n`>m|!_}+uvTr8(lvTdveDD8npacJDvmBZ{)8uddb(2E;y zl^5&Af6Tg(ooPFl!t6gD@;8c*2dw=qXlXpKm4qKKnXe&Kn`C#?GC{wDaBG4Tyv(Mf z2%ZkMa4HtPJlUe#SM+(Y4LntV5hPS@K#jbi6?dZ_RRP2Q}c-F@R@ZPfgA#VW;G2H_!9q#GZN9hGO<#<}caDM!&}b`wS4az?=-WEzo;%*mhnp zv!3K6J|hb==UMAWBZftumC-aUG#w{3wTsr>A&D0j>zhd8$YKVP9ZMFTY(@cKsY?Wx zVxD8R=k>hRgWr+QOP}e>O#2b4mal8T=k*n)Or&iqpZ7b7cEC#A6Wm%!u6kdvHk@KJ z`bFt!%S+A~IBa}*Qcwey3trX-PP4=GE6Y|c2K-vTdX7!kUw?4L%ZTo)bt4xWU)hbf z4Zn45zl56HZ$D+d?^SChzmr}?TXp2snOT(Bw%_T2pzwFR>i52;SM&SiYdqISU$;-} zX6NenR#}E4zkj}&;>v&1#g`if-qfoupzZM=a_SoS2Xh5N${$#WN&KTVoZkh1lx21F zEmIGE>i#sf6I}h%jLr^}(*CR;1Id3L;Et%jxQ5c(ZT{=@z=Lcy{Z%fsG4V+u@cZ)BNM&W-=_W(ox zWr_vepM8CRXX37#^Bq4U6DxfL^nQMXl;(Zud=sHNtZ@Gd3`8To%d%xAUTt=DVJLh*i+ zu=NL1B@U@SI&SVqG2%!48eup6C|kqjb$SF&p8q&4L;L5-TL@eJB}dueKk2~;SwG3+ zPB#9s@(A%%{UTkC{addlfX;t6Bb2x+EB#2%h`ZD->+`_6JCd)bB45!ZUdpmA{0({8 z^waKnV_@+HdL2HBO#CiiEbI|Qp|4yQ&-YWTbvLDAg(B13;IEkS@!IaMup^AYIm~-f zyIz~5=G^Ee#eBYu7R{O0{fDvj6{N^i_692^ziMs@Q5+(8*!F}d_O*LZ_zF?ny4%_R z3{|YbMQEdLw&}jbg(=q99PDd^DOvcwutk|vfa2*G`mWJ1BHZ@vU@~Soqwtg&VH1n6 z%6Yi}_0FwQL+)TC<{tOaC?XZ!TqmQ@p5u|f9A(q?8;wQ{6)_;jW;8r1Rxw{8y3|;i z-K01sjCmLejI+&L%icO@!&OQ{i=VW2a)>K#u$}Y|4_GcPWnLBqV8<(m@&dWGRlxM0h$&vB;j{UY6n{ zDg@UD5bz;1J9A_uMdd1{9aLFm9yydx#^7#cdNrxqyvL^G%(2zxD#WaOMRxoJ zdlkI`@zh@F`B;JCy!i+@Do`?U#IC2~J~Gx>$Vuze@Wvu#(ls<4;)_skh6P2+W?q5E z_AApHsH?91N)Ns``1h^I24W~x90n-dL#4`Fr|wXdWy<8j1mrTsyc7B#RMuryQ8R}W z^VTF@1&0;43|NSf&!J!*!y_1Tq$euJNNh6g<*4Fz29{ym^IixI1>>IEP`^mSxaVzT z&QLbVXj+abW*=EunD-o|yg3V6?m|=?S0+{C{lalYuO^m}h>oI<2yb;`Qim3+x@S}|`Xv^@>v zC7OP$Q8Di$G3Og?^?0p`Pef5tZa$;9?IFwE&5Fqj=e;eM+C;86tLRl^wX#()$!O|Y zl~qg;+7#6HFYbNe8vG8XtSmg>yb;g7EzBnYY>TQyKFnr=o}V1 z&)|Cbio$HC`>J9-f^_Suw2*ndN721Qsk&>no+S`9);@ej_u6VI?z-YUjF{c0xP?+k z`%z@QioB^`SzFdl3%rSrHZ_uQQ;`GQL$?%j1>(tDwz4{VThW7g1a9A!S-3HvIG?8$ zw+|{mchg9=4Jp&SDd+>kXvtF%es?jEn@Kfdvs0E_6zZ+=`p!|Q>>N9$*mrVwFzT$* z_0m1XvYT9-cUSdp(m(93$}guAys)2%xXVlGgzoTG^;V>V-l`n(9QIM|OR3V!zN)Ji z^z)Mz6i5A3n_2I0f0g3jv|e@eX7n4o-lhq<9s8Z<$#7AC3~w)1JkKIkZdBch2%upT z7VnT#0@bzA6h}r7ra^P4h9FfI$Jt=jT!nZ!Se^%WA%t(lk%mHKP`5GKc`2JVAEtiV zOtZTircR5Ygg1q&rZaS!wc+T%QW^&^&ncgQ)~%|OyxzN2r8L?jRr?bp;CPg3m9B}= zs#6xFu?0h&yUB27jG9DgoQhM;A&6~pGRo$7RbP*EGu~Djw-Z$RQ^XjRsJdpuf<%=e zNlcPzy%x{VE=iWgj%3v_Es@SOS(U4Mt=lpB7*76D)ai*4yi-zahX2l|s=5c_aH=Y& zdVV`pb1Guk4wZh;J6*L(gT7Jes$79i*{M1n!7+cQT8!AAp?iJ|SEK_x3 zER?CvN=Dk9rD|ie`qC_!n7ynAN-dv?9Cf=Y+rYIv^$uZl?oq$-CyZKsV@6dqvSkwra~qHHRMBW3E>*~2t}gR1V$FsI|7T1gsq9#&1)YEU^u#a7-{e?+w$ z!&{Erm1V%vP_CNGkuQ|1uG^uK(USE~huA4=eTO|l(E!cgpdA;%ovPdiK8U5xIy~ogaqurO)px0uT;jOYWix3x)~%X4aXxuTwKnn+jk~O_ z^&w$}S1@(S?WtGqU&lJ094fi>__{ry%FlGe23671%MxlWy`CJX9vOmSB; zR&0IaHgnOV`JSXTJUxKpP4m^Pfu27;=Bu@XJh7X(zi&{Jk?WBHPiQ4y-74^yuU-uH z#IEA$h@qZ;Im6p8hI+=M?ioG8^T)|7ITnue*!v)S%}5XP_R3Knry6#4j`Gm6Y#oi0 zPOe6c@%Yz*)A5Zt2wXkJJY7E4P*&TZ12G0wbO zGT!5>;8_9g3^t8q5GeMfAL8kH403mK|5&ldY}FC$^E_9FCzx-lCwhEu5b>f(p1Usd z(Ss?Tz<_5ohZ2utN~~t8$GO=^qn}3N;47?e&HeGyJ^m$J&zbHCO$Rql_n1c6FvH`! z$mPnJp1AQOv)h>Ca(!WDlXHbzrJhh7mxE@RSfj6Id3;lO>E7(0)7(7A6MRUc$}jVz z-34csc~Y-}o60=fNjo3683Somr{;OSHZ8oe+~br{%MO%#?5p5wJZbI#k1X)?FJ>)T zwb0|=!u8>WO=WZuPnzqwJX7Hr-K3njx!7}@j(+n}PiQ7(c5-PGi5Hi7Vhg!Ev)uD9 z_fFFRtnl~-ab3C6llg#t1G`1%#b)}MRi5neTHRDJir092m5fPu*La$` zp|fi}k&|Ch>(+UKGs(StohP*6HPvlhlgHE@>&cwQXV)8noZR4P_2MN$-snj`%}dia zHQ6-J-HcOHUOG>#HN*Iz2>JzqkvWGy({Ox=UfxEXixj5ak z!xOr{hrxbFld*RFPLHpU%bB}92|MY#SMT$S%5}0jeawSPf^{{XU^y%wsA)>$+;NX@3@=SN>FIaPC_HLC z!NFYP-psVKRi`|@7ks5|t7;;l9>c9=O;2Yq1`rHQa5Sahi7%+QfBzO^#;w4b) zz%sA~TncUjH-c5*9&j^Q15RZ)z5qU^D%=6@fsNo|5TjR}2aW~zF;+|iXELOegXbA6 zIKrj1U=_FwtOhHht90*wvEW+p+#41| z;3@DhSOeC9hrkoKCADT7^ELhK&RdgOkBhQ>DO(;8L&%+z1W__kbtqqiVoI zrt1P%gLlB$U?W&fDHS}!AQQyvqn3fwKr?+Q2RA;V3k0V=q}0HD_0%tL^j(H0aOrJo zDR>U72di!|cLz6sh0ifSyh)D%9t2Cl9bg5x9$X7f0e65Sz{B7Wunrsm-Tp`Q(eFvOQ4;FzhLDTvR^TX6A%?awGX0}`kKBn~(ibw0gwcu@V2Y3xU44Ph|4m`dW z{z0QmZvc%RJ%2!$8Ws9T&}h#mgGOPFH&Qja@}-~|O*Vq2Pu&Ba-U0vMFjOZOz@Z?< z_*%CW{=v;)!N4%RUIqVP%@+6v&47tfzt(SpfAA1k1zy+)|KJ(07F@Lf{=o@gJvbVC z3Eo`?|AWGG09XuOS_A)J-D>y;4}ojJldIq#EaUnxxSi`da5H!VJhBr0!GU0YL72W; z0sr99^>GC>t02xes#*TvgICRZrf>-9Qm)0I>GexN)6Z9c zW<|0VG)s{kpjmSq2F+rl4m8uF8{h?IO$}fbm_Ia3H-IC-so-RAB3K3%flI-oi{T$U z0PX=NgEipb3it=jjOGq#W*d#5nNSoIhN+oJj0MdYJPkC%Y&mGg*Oj0dU#q|ajLOxZ znP=64W`cDEG!rX)9;=y9;R9J~%HV%kn9gS@S`3=tCZ*tXumT(nt_26pf`4!r*N4H^ zrSK0L?+Z7;rCaR)ra{YG%a6!;$zrfVm{Kez&%1{#0d#4poIa3#19tOCoyYH$Wv3r+#AfR84? zKe!fr308uIBdM3nNAOwQbO5RpT*`F?xCC4aE&%aut!3b0&>WDe153ag-~_M%91G@; zf?jYWI0T#wnt4naXeKaAK{Hd?2<`>%0?*a(_!G!9MaGOovh z3&3e$Ay^I`9|!;7c(4k*Rs{dxNw5|?3SI#Zfc4-W@FlnzEF2T2E5Ty05-bIWgB4&Q zxE6dp7XHB+@Gy7?tOKjS8{lTJ0bB>>kEQ-Y*GO@^+wMK$u4i|lo0OqRx$mY5@DYT5%M+2)AiObwkFBKNFACa zt0OB|?OoDeUk*u)9aA2Xis+c)kZg!H#$5MeLJLDO)K6QMn&7WzCdsaNdvKCWaAJsE zTjq>q5wbE-A*3o%A*4D{Nx3#rdGku5@@9RalJd($C7r^Ml74aM3Ms?GewP?6^Bq_J zM~)Ds>Y$Jej5mJ1M#t;;1e{lCQ38AG3T?~d71}n(D^%@^S136Vuh4cWUP<#_JV#m# zKmT*D>-*)=c;|C2Vp{L{aeK7v3iFLqIUHt`w5W?o1`@ampGciYVqz z6C!;>Y?&Ep779y!X}6K3e8RX@f1xqO{PKO;I{ZvE9)TN_2O<79|&> zjP(}zAIicRB&s~uPn8@}S?zucN8p?%Flp9%>?a&Nd1dy_8^c0d_+8{Rins&e_7(ix zoDP3vF07v>^5yl&(01)O$|xIu=dv~GF&C?C+nnRL8S43XZkk>jOE+N z;7><6@-i7pri0l+@0c-ewQy*2!d> zlQ?oSIbfbVPc{UPNC_R-fotd#W1@II)jqY2WKxX@@q~krP;F0q z(R`M9{fmiQjQ=WBLFyG>o#gF7-~70f`g8l67Kh1We4iUg_{Fc{F3%yuU-vq@kz+}H zL)Ei@-^4xV=C$ASI?v6Ee;1kr^=H3tqJCaK=kh8}vHyLObZ-2;b7K)D^Fylw8r{Kv zurE(Xj{n$d)g;a+{nozC&8fdN4fJsTpB9iB;hoPU$#m&Ds59WI0&0owOTj77V z=ksL3e>ZCWivMAA&{Wp_53|d@=YQJcVEg$0oWRAc|7DLy6i@%xD+<0L-<4iW+9v+u zw%JH>pzHUXl^EzszeBns3BNcKAx!09-#Qhz9vjlM(YRnJ z+rQAiZD`Zwp+fw9P}y!2Hthz#8s@Txlm77G1PjDs120D#ptXEN(~i!fkuLi-C9!s7 z(@xQDHh>Ac!a!*P3Ys8|hbY3!qg}>+>)sfbvmPo6#u~pWPl?nxl2^wTnOBDqnQ`R; zj;4)sVf{HCPe)}?KY<91hi6jG#V+gFKpaDOn-xP*Di)o8vPFsX@x zvFrn{K`bScUG#rb*au$4)$%D#J69{%2;Pcxs!LqhDXnH7_%&CXrV;Ls^mb1(j%Suk zcO~!VE^!)t7ZCk{8Ls!(LYUzS7%7jMX*OeDu`7I=FUFT*2ZWX5Y*)Yt`^jwc@Y)=g zQ^E9d4nJzR=kBg4wph33m;?D6jA%iW8b9!^=} z3K+T;E-`c!Rq`bd=U2K;ljnftu7DwL+;ZdJDSw5_8N}7Z6)vWWvVM&#s{)xkX79Fw z!WzBSb%Fx8vd)!yoC0{W-j%+GgxRGF${I{A1Gl+CPe^|1wx-+&%$WKZsf^s| zN&lu%y60-yN2CTk zt!>Kgz-d?N5-x9?aiwn~#lkw1-N3U%6C}mSXPdH{M;yi1oIu%f&SW?5yesg4Y!>5u zr~rQUT`<{gxae}mP(_biGzSmm>~)tt(F_VVTt6;kXxV<#i=(p-!KaJ+RYV8B|qDf=UL)VYSAI$tmE~f!EGMgSX zrL~{!)iZQ`wGAe%W9+U@Dx;$@#Mwj{g+LbuU@(0uX1_fjqA_587S`NyW@v4IP4wZ zwhg(f2D*QoMR&VtklUF^AA4+&dos24c7fY|$hg~BV1k3y6DIL4SHp%hd6k(o)E!^M zyUPpR-GH*H`JXSa0#Pv?wjdb(_^JANHcE62Hyc?_8YC%W$;$u@_SJ3PFYF@qkoQMSWG0tv(&W3 z3!8SPO(4T{l+GfP@U#jd0WL#074C&NY^_`7{%I}a#*O9f&^Cs|y(`>VFUHXiuXKkl zgVR^K=?#aja<^E_(~8yZ^pP{@BUhW_8XMN&N{P|*$QpMIT+UtRP94W()p~dOmZ`Yf zT5s~(OTfbOlj-6%xM%ayfKBeKwWK>2*FqD(<(u8KAF18y{)v<3a)qtVdNSC#-JO*` zp84PocjytXP1#|{7_`&fVh2ylce&HolGC1DhKx142~s$X&Ukkd8MF4fQ;&1Gai2SV zH#FDnGi2=C?{?;Jb!NZ&1}$m(QFqoh(!GAnZBGIlj=Aq6=F7G2fT60PwyA)gpTbpB z5ncIdv#CDn44djaoO9;qI#B1fpYw2YopI7rcGm5@E~aUobq7p>htD>pa00(TmNPbf+o1XLk|TRyzKBO?$j$_uckDE-UNZUzoI} zJa9YrxIXc~ZH-`pJ?WwQ6LWv|BljN(Y$K~1-1dE@ZrdB0_RkOD+Gi`5Hy$^+2YU6y zZO!KL@>BQ!HeVGzbN|t}(470+ZBOU^^5<^O=}2upju&VWSHR`GRu3)(UxG`(!U5>D zL45gWIamssp2@1sq@pi@|$fDR>jC08i7!tObvQJHQF_ zF^9piU>$gaZtDiPa2Nc8X0eq&7=1l!tC65tV@(Fl@~R9pORA-ySxs#O&1z{6Xx2$J zps83FKvNm+fTr*pK~w4lL(sp1V?k5A)4-8bHGC>5P7h=yIG?WECtQlsRA_1rnR71&g}rrLhdkVmSuIIS$Ew4&C09+ zGz}uZ5P4FmM}nrZPX^7Jt_(DbwxytHA{)UoG?_i%DX<1y4PF3Of_K0hbk2=nEm$xN zK32m&h!Yx_2Ciq`Q4TH!SAqkCp>^a}5@Q zE5TB5I#>aY0@s51;12LCWB*}rBUopigEzoJumKzd=8vGA(1(r$mw=PO1z;IC1zZa5 zV(8ciZUpy$6Tup=2)qDpXAHRmP6ZpmksxlcbSO9$90*PWA2U@e2kXI=;BBx9JO@^T zHDE2ci6QC=xE8DjSAZ|USzzHP=mU$vX<#Wh39JC0&w_t&H@E{lQwslJHCP9(0&jrx zzy|O&gIxY-9EgA;!Cl~Fa4T2_ZUmQtYru`*a&Qm07_0%y!3$t1cn6#cHi8pDf^ljQ zI2IfUP6LO6<={YYCHQIv{DY6dYVaCZ3tj}TfLp+NaK&`^2gj7a|5(a(GW>&^7?DcB zaq7fIGlR;9+naSO?}aKHLCb7Q;Wd&%ooS z<0AM6>%kiE9(Vz~1M+X_SLk%6_HunhknUnjaI!eslErSbjCm6l#hv-#f6p0-@(Ax( zOO8hPhFGq95jq>c@ew)>*Yegs{Qu6D6>}tjv3-%}KgRZ!%CPvdUii!Sj~BgUaCoSq zm&|C={}frtdq0-lR>Fkda@&gC_OZOOl8L(TIx=}T(FlAA&w9y-sGqL)l35%K>M85h zEPeOd&X8Vm-k!zp{22fJo-)uMzx-pFoJe-+y2zbm#`9~7o-B|{u|F{X#Go0fD zw8-G?shK_^G0e^6?MYeAp3bs3%e=iN+h5UHR_FY?@Lnp|Teb*j0aKp8bH zHn@;X@!J8onEN)H;U(`lBYVoycbI8cyzATALsq|wVdsjL&fM;}crdDfbFE^pca@E; zf2{2#JK8uSI0)E=_3o**zKdPta$7V3yW2VIy2#mfhW$J3?JIfOw`tAoxX3suQ z3T$vkrKpNJD)*;%R0?cCN2M56byU*b+EJ0kfsP7~r#dRMU+t(A$%BqT3S)35rKpNJ zDe|7)NuhT^Cq>|^Iw=Hi?G!}d$2%z$U+ffw*2kR`Sr7Oyh?FOMs8BrXLxtGIA1bn5 z_n|`V&JPt~ANeo{wO2n>r2XK-AaWl3ks{%uk4%`0=^Vi9EDJsgBGFABDYD%AQ4lGf z{YVkt&5w>n{q?*~2iMy_B`<3(rQZ08=CZ@vZEy=IN`4%{ zGVt`CB_8lC>t=Ju!_vbRO(Xiuqo>%Ud@mYZ*f z9(*DL-!W!=6W+C-e1c1azwGWMx7+;g1`VQZu;3FJ(2g#nv7J5a6RGYHGwCxq)4?c$ zufK2cd*%l*Z$6bJAIwHthdX8M?;+zq3?A+w^FO4`&HKpS(L;uG4zKGbCp&B77jn6? z?*5E(KRWs|dC^%H_LiYtbZ&1M-$m#2mYH32R&QCnS6;>ith-Qdhn7iOlJ$BR-MJuKK2jZ0M@Td&ust zx~qpA>#D^)KdGc2f#|ez(Ci6ZmWTdo#7n z#qrLGXc`I@;tpDCp+e#*&xLKAp`=Og84*x#*qeAnk6+} zqnx}NZe6kDZg?fXr&);?BW0y!B1ctOx-wF#Exln$tyOMPBdrAaROHjZL6`g{SLA;O zurnRw`t8rpid?_z|2Rr6paYD;ae#FxiUWN8u1CpLkF`Ha?s|R+&tb6#qGY5uZoW@u zdXtCwWWATuadX3+xly#Np)tVlG36`CDk>NN)Fp2 z10+=wsib`&Qu+Q)r1EKFWPq=R`AU#M6U|PKPuboY=~4<{lS}!%*OmU)XCqyI?pvk= z-104q;(Vi35hcsrh#W_y!=vP-=Z9*QhhcG){9teTQJ>89qIjJVZl8*h7vcRksoaZ* zKj5QqllS{%hQ+dbRHVI{ji5;7%e#@vE6*a8EC%}md^FJ);OTsylF*JFy*G5+sT0xipz6+04-Zw7SQQ<$CdPUV7$xq5&gv+ ze5Mls(dAw1axMM;UNSViacy>e75kL4@9yM>e%b3r2e!lG42zZ1CdAObu(Vr#x$I3D z6OjCH?E0UCTl)hDr~mv|d0{zw1Dw!gcXW);w>uzHe0(x2%GnlR(~tqYSnZVo8D$4& z$KtOc{*s?9uH>_RIbxI2?r6I>AOmCmD-Z9)DCsrEDESunl^n+Um9(e%m1N8PN{TD} z0TSEkSH3#pR|q=mA7La654&9d=*)1mvOGd|Ge(rAC=VXzs0f}5FutOVuZ_?^rg&l znMv3@xApQ1Y5|GkQuyf?GR@c#7l&Do`5Cs1Hx771N4}G5UW)q)p4`48h7$e$vj}_N zcS!2bOTR-r_R()-tIv!uHBtX|>X&j|ott0E75j%hzcM?;2l~kRn84jHWPc39{uY1V zMSa*Vwnls*qhbR!pUaHceSCT&F6qFx4CJ9*-^$b=3Znt>!Q*FKkJt!N$d-m`CiE-T*a!*Pz*_Vdq)C=}$IYps#$ z)iysa{3T3&G2y~5q`1>hH-0IVAKDYY#+!%PB;Wo~sP;>#`>286hdaOX=t~CX(8{l+ zxQm(COzaw(`V|AJIUv8Kn|=LD8PMau4fv%@{KQ(%SDys;;uWN)p7~Dp^wjF_q^74X z`c5wN)ROPyPEUROtu*%3`fsJ6m!AAq#`e-3-^#RJx~Gqn_tNcsWMwbi+()W<>Bc@% z-AmW^k=kCmwvSxtrQ`ZYeJ{QHjlAro*S?X$-g@yHDekRx-$-e1J^77P^wwS9$lBhz z^&8pITQ`0qhkNUqZ=|lbR(>Nldh3I)rJ=Xp`C9Tn)uUg_$WL|RS2Foi9r=}%eX2vh zlBJ*Os$a;)PmP0;J)i2>JgNCq?|ms3KGjQK%AHU380Gk>aa>aHna=xC#(t)=zLaU7 z>9jAU{4>4$1-_c}+!s>ynNG$X%x7Bgh17ngZ$6hRpXuYzrT#Om|C|HITKBmWey+5g z&z06y`nl4sDn3`5)Y{LL*0kgE$vkapr!hhm`oCj1A7AKV9B8^XhP{NC{di7v1%^iB zqokPo!#v50qovG4F;5C>HWJGPZ_2=qgh>> zzGjE(kgM;!1X<>en&IF(D0dD98y;gk@GR^POucV=qsBSJTFiM8Pgi=EhH^Wy#ltu} zAX>NL=nAZ23^}4=PRB{5{&@}G+M#7ZvNfaP`DnW`D0iY+ES`&TUdBm73|!s!Tg?5Z z#hNcq#F{DnrC6;cl~|p^d@5EOh)Wlz594KAoYu$7j5ys8l!bB1a$t3wE)L4JIDH-` z2jfiNdpd3aGxVS3JHqwl4+Elw7$BEyd|on(uXX$O+L*{NRXK;zy)9480f!H-lwE>+ovS+ z)Tg8{C`$Qu4F5;T)TqaNg=~NJ-(>xp7@q=M`+i7V>ym#rd*Dsi{!f$Fy73^DfqBLa zvti3SD21=^{EDmJfE>uTS7t+VUfElCBk{e-mAheP8u;29DrnA7XSUW$BkW<#WpRYL zzu5|nZZ0P+q| z&NSopi4^a!EW*|OVsEyLPV*IH$>cPquIJNq_FHm0O-tXx#fA=e3w?xMZXsjR^*{@m zny!^CWPZ9XYA!3%^-!*CN!KYkIF?aFcQT!pcsX5R?tZ$$){At7p`jTHE8{a1%4cRM z)Gf+Th*^`N83DxbBqM+ThGr_PkIz)No|&oeyC_p(bxo$i<@QX4 zzeAY{YiBYQrmkly{5;AGz)3;Y7B&=`%Jz%if!SVMca7%&7bkVSvf33>!~rRnZ!IVF z&367Zw^N2ywA;)%%EH32kUxiED<`@z7xc;#jQ_j@#APd}DZQ5M|HP7IiOZRWrp?7{ zu)-ZxNd0lEQQ5hb+b`Y9okCA*^NFcnJ-h!Y-z&RZ_5%(FHJyL1b32zfP2py4bl4Mh zkW(#T$}3aC5a8Uf0Pn5FD3_xVVamgUVGL@d^UuQ2^{+oHiehTkrX)(kSq8ynR$h(^(17n@ZA`c0M^L=bg@x zt<9X5*>ch}ilZsM%h^(w!Z!y~ZR+cpR5N_vPW%2uj+{@o_hieR^lWm@P{cAVL*c(X zL*aa7hQer7hQeZXhQeHJhQh^_4272Z426rA8A{fLnF`g#nM&5BnF`evnM(3&GZi84 z$W-KeI8%{nU8W+<8<~nA8!{CU=4UCw8=0kuZE}_(v9c^hN=vg8UN>e1VDmthBCAtb zikPlu1z__@mLj2n*$SJZvlR|YvI8);C|i-%n(P2363()Vy1d=p?VkoG%0`#HIzjT?{fKVLCgREjS?BqofzYdAzU4$}4Wrr3 z@j6qu?ZqNxez-j(f$)vLJd+>|5f%|nmsovHCCKDRYhZ$uMj9V&^L%|y5|K5^%1@BP zQF(h3@TB9scI2Qk+;6pgR~?3FGhL2$P&6Dj!B}_1*p2Zhe|zsDtZKk|6fe^PM#H%% zw%?8fnMRb*cqxl}mr5F^&|KFPi}gmFLT5vqLQ8&7p<-lE$$4^6$+Ik|B(^lDB(O0U zfX4&D0NkAmDtz4vDlB2g2{+hr!UuMoaDW{rRAa{pz1VR=Dt4Sui5({dV#f(-*l|M6 zz4(Pck9U{cUHVT8$vT&HK9LTge+gE#ZtHBKRC)SN4xyN{&Lqmyu)f1WtTlY6h$L&e zvQyzsRifMvr$4z6VOJ!|4y*6;L|GMSEliXLk$oEzQP)}JiL}|iPZDK}TJsVKh?#di zku|4NmWa(NpKgk_$0iaKGw*65t4(KgqKx))`;FfonTV}w-sMDDAL|THl*6&y-Wq2Y zCd#DXHy0D}jch+mkOlDy>8s)uqPJqs8j=I?3ZbXs6=JT!G{nR!1iXq@vL5CrIZbes zgl9QQI*T2J?RAdA@J>fz^@yV|dDc<*yXh#bJ$4kP1|%r#j7m@#nUbKeFgHP=ep!M- z_of7eIxi*!pzvWrlXijn%2{QWPXF8&-*Q9*yAva`-Ti0!g`g<-mb>iv zcDf(SS({ks6TN*$`-z$DtB#>RX3QTEVXejeT*OLh)NbonBU!ei0m0pNE&i8JVwLC^P>#ttK$U@s%8Y9c?w=uV9@@jX(R`P7HmE7{9m3&6x)y^-I zqm@+3qLq)9MhBp7Yjgm*jz$Nd=yJ3|%l&ADj2F=XvK|?uF3~+ z5$SAqaF)jHaXt%W;w4|-CypG8ve0u**1QI^ znzrd$N(?z8qAiq^$D@Or6Xa%e%p|PFqeBx&JjOyH`aH(mFY)`vIw)iurtv$lajt64tcp&gzd;r?s z#0Q{fth0>*|5@fMJYW5Be6ErAVMb?n{{{waPi$kF-1j8SNS9$@{{{Vim@_9w3cSeW zu{ZWYHcHjsJY-yru+C%?>A7z`LtCVEB3p_hd(lTlT1T>(K>Qt6E55$>a_|IcRcA|q z_PdxPjT&OsSY({DkB+uarpd6F^jB%JAjX)%R`^2`nd|zQ0BsGJneu)U_<47%?@^{4 ziDekr5$9~rWEn&2JQ9o@gWJKNSpe*I5{{-xgX1)$%W$)m_c9^&Lb{AjWNV~0F@)c~ z2Z;<97edatba@hD5V@5UdnjFMlD|2cWA+%`>ScsZ3CfQ?(J3h7T$15iCQO`&ppS^xse(gKjSDorVgt!av&4x}AthD=+j z^z`gsmL^-UxJ^Y(-+w|HGfI1Uif}l0Zi>A2{FV_t%vqKy4PmtXOWvgEsT>LTc1Ri_ zzOAXLg!1lRkS0SSttqK8I+9tz(MV@fs@yOQ*Yxbznha3ZuTW9e4I#9XuXuAPMO=oE$UX-aKh7;e8xlr`a9jixpM1;CsL=QIOo1eJY} zW$$9ZkIb7M;y8t~gOS}wqkZAC>C7HRrCe~B2QUUcR_9fMjIe1(uWfsFf{c&Jn;Iev zwlzIL2KdeBu{+>!Hsx%9R1d}4W@;Aq4TpP%2CY{l5^RZY=AgpCo}fZ&O;DloLQu*0 zPEbj!k@-IfxIX{WMHCw@Yg3$@aCKvyMoDC#UwLt~Um>%^uTVJ8uaLFeuMo7^uVlT?A0X2+ekHr>ekG?z{s5U2 z1OgvZ_p47Mc7`=IjrmOfBWbcDEKt-;mU@#G zHIseb-x0QayXHQ6#)4q?9W0W;Ml?fy| zmO|~bB~2cxU4&0nJ8x;4%!zhJrpmhLe`G%)#(t74WBe%-o6&QlB`*s&yHaF*fbOO| z)^2Df>*MlfrLpnsTxv$e;r7CK>rgWWDzlzj?l=dUvGC*e>I7?lGs#cI3u4IM4 zqrB6MwWlK2TgeLBPm+g+{k2TydI!7yc(sERx~(N0aP!&!Lq)u5IOjKV^Sgx#efAa4g_VY0r*| z+3C3(Yj15Q1A=+WJ1}NC8{5gVApO9dczYT@<2%v_oP>F8<-FqzZ^z7=XEze;2W_P) zlsBy{y{`4F4RS;?axN)!s*M~=&YRU%RyA|R@qbF*q_(*Hbndp15ovj^+sNHC=W-kL zPbd{%rQ4(0%J7U|p`prf3fs!#43l=IJ&2!~jKnvyoQ5{?CX2fdv+alc%r-OHF}e1Q zHZm>Oc%WU=+^T6KTbln4Uo|b9Lv09mPs+>Qvd^`V&2O2llEQcFeQjjIJIpG^z1w$b z2gz?~-DxXJS}G;7zNJzYyILwTKH5@|?zxtV9B;K$B>1GIB9nowl&?m&qAr!RQVMWh zE2Zd`w^B-Kb1S8g_O()q=R_-|U@o;%%H&=vr68WSQi@>6dy25fy{CwI#(Ro@7rv*+ zcJ+ITK)1c8$nxNO3Q?!uQ!2u>_mpya_?{xh*Sv|0S}S6l*jf?k?AD6Zmb6v`w!XC@ zt6i-X!5(d`l*75!ipXxYR;2Z$wIcR`Z4_yZZlj33q>Un%d2JM#EpMZUYjYb#I{VtJ z|IfNQJM4e|)3g@y+-21@mzC~*B`u`fW1Vh}fBODITFBn8B$N-Ey-6q~YE6&1Dco7y z9JjPI)vXcM?Oa)7{j#8i%%;NTN?l~Xfi2{)&$^h4zKH&#ILfL+#}dVd1GG#|u$=ACQK!q7RGEt3-H)P^Kl8_wq;R}7(YK-?j>4l&_^Z?pl&=3 zIm@zfYEK4(lC4$fY?HrYhLh~9K--zj*XNp9mDy~Oad%~kwKy9$&iovn>MTMdmC6fa z(yRs9aw_e+`^{y0y3vl^PFLjjG+mM0pbSN3V=@$pOwCYaF+W4$dIf5v=CUP&DzzV7 z5~}75MckJ&6hYt5P$c>Sy;81Gm?B0LrU(#)DY8RhY6O<4hzf-%LP24QJW!Y-4-}@b z|ENj3^aiCWnzSrMhLf_)G;~guB9_W5MIsxr6mjj&QiO3VOX2-|mcsUJv{9(a(MDy< zplpTZG1&^YQ?nID=Vy;L6@~fAId`vq)0?5Au+JpRYghl#&1AkOcsmi_)N_&Sg|H+} z#6CAGg!5i!MKX&6itci_{Uk|FMf@VanQXDF2TAhG>i0SslL6~al01&2OWWdePII2v z#|X0}%G#YIwP;JGbgJw#A=GEPGS6aH;^V&$o; z-=sL=a@j=qs`UI~0$b-{_MTWd71n2boNV{nyJF?Aw=;VK;m(d&qEt{j$3mps$m}Q5SsaU=g6$Nhf-_^KFbdHhjdG^P%8e+-ha+lFjg>OHcSEcU zingZ2vgrMLjGUssc*txh#+uY*kN|BMBtR7g3DAQ<0+e8oKyDZ$kk3lLl0cPT`KsC< zfQz&K0QBGU2cZ0oKLE{R0}8p*0t%(&fdDjO004D60|5v-5m0El6bL}hqkuxln*dT9 z5v!0eDYlfV_Oq-8BCARh0K|UjH?mqBFtWPmH?ms9L@CU^;5V{b5HPYjhi2!mva0j{ zO;&sTMpp9!MpnDgz(nRv4j5VO^#4s(Yy5wc)hhqrWVOOCbL}sN2V`)xwTvCbXoZy3 z(FzgUqLu6qMk^Vgj#d)C7Of=v5cN(#UPlKYcT7wGLQ7);khm-+0CC%56uJ(^C?uVZ z2|/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

    }Q2UD?kV&8aYe;S5zTIx`^ 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≺5>p28C^j;WYF=J%<^st-FY~ax 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 z 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%0A^27)>n53WRVW(^WPf z;QIxDv>lmEG=rsq?k#>$V_a4+yu*D6_`w4i?P9bg_aZ_ie&Ujw_bCuh&T>Xi*!*HM z;~$(eeheqi_^0+h{_B3c@!uoIAEEKzyiMb;%o#t1lV|)>dLRG9A8-73%khV4{E=-M zzn(LG3@6X{ukU^Q*Zz3pze|okMB@){)A)1OKZcWM{DI!bf6b3K{=dla&!q8(wrTvi z>mS3(Gk$;Xl>_-D}gXKvH@bJstHlV|*sdmsN*Ki>H7l;aQ5_-Aa>_;c4k zhLdOflX@Tjl|SD28|3(>)A)niH2&Q6kKyDQ|8>2O|B4@P{C|?;zlp{_eVfLgyZ$kp zJma6(`}i;a@y36L9Df~+|E6skfA0FnaPo}*+TO=M;l~^Q96A0QY5aA)j34p;J|rAb z2LO;y;j>B@FfF

    rM4dkRuGzb_&y&#>k0BSc|@ktVYr#3}{~#!> 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%0Dx4?DUm+vzB(C1l8 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

  • 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%0D>u$r3(s> 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 L!pr<WrZ_>d0%Cr{7EYV89dz)qSL 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
    t~UdL%Wc7odW_wt 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�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®0`H}C;#4C}QS6k$%5~Mq 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≫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
    L7|y6VQ1Y%AFTP`>w0T}-h7#)i=I}C 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