From f4c8bf9206af72758c9a446bc7d9398d47daddaf Mon Sep 17 00:00:00 2001
From: jomjol <30766535+jomjol@users.noreply.github.com>
Date: Tue, 21 Sep 2021 18:49:32 +0200
Subject: [PATCH] Rolling 20210921
---
README.md | 5 +-
.../jomjol_flowcontroll/ClassFlowControll.cpp | 18 +-
.../jomjol_flowcontroll/ClassFlowMQTT.cpp | 14 +-
.../ClassFlowPostProcessing.cpp | 12 +-
.../ClassFlowPostProcessing.h | 2 +-
code/main/version.cpp | 4 +-
code/sdkconfig.esp32cam | 1300 +++++++++++++++++
code/version.cpp | 4 +-
firmware/bootloader.bin | Bin 25264 -> 25264 bytes
firmware/firmware.bin | Bin 1663792 -> 1663440 bytes
10 files changed, 1331 insertions(+), 28 deletions(-)
create mode 100644 code/sdkconfig.esp32cam
diff --git a/README.md b/README.md
index 02bb3bda..7328d1f4 100644
--- a/README.md
+++ b/README.md
@@ -47,10 +47,13 @@ In other cases you can contact the developer via email:
name + "\t";
+ out = out + (*numbers)[i]->name + "\t";
switch (_type) {
case READOUT_TYPE_VALUE:
- out = out + numbers[i]->ReturnValueNoError;
+ out = out + (*numbers)[i]->ReturnValueNoError;
break;
case READOUT_TYPE_PREVALUE:
if (flowpostprocessing->PreValueUse)
{
- if (numbers[i]->PreValueOkay)
- out = out + numbers[i]->ReturnPreValue;
+ if ((*numbers)[i]->PreValueOkay)
+ out = out + (*numbers)[i]->ReturnPreValue;
else
out = out + "PreValue too old";
}
@@ -333,13 +333,13 @@ string ClassFlowControll::getReadoutAll(int _type)
out = out + "PreValue deactivated";
break;
case READOUT_TYPE_RAWVALUE:
- out = out + numbers[i]->ReturnRawValue;
+ out = out + (*numbers)[i]->ReturnRawValue;
break;
case READOUT_TYPE_ERROR:
- out = out + numbers[i]->ErrorMessageText;
+ out = out + (*numbers)[i]->ErrorMessageText;
break;
}
- if (i < numbers.size()-1)
+ if (i < (*numbers).size()-1)
out = out + "\r\n";
}
diff --git a/code/components/jomjol_flowcontroll/ClassFlowMQTT.cpp b/code/components/jomjol_flowcontroll/ClassFlowMQTT.cpp
index 1d752f3e..9a918435 100644
--- a/code/components/jomjol_flowcontroll/ClassFlowMQTT.cpp
+++ b/code/components/jomjol_flowcontroll/ClassFlowMQTT.cpp
@@ -154,16 +154,16 @@ bool ClassFlowMQTT::doFlow(string zwtime)
if (flowpostprocessing)
{
- std::vector NUMBERS = flowpostprocessing->GetNumbers();
+ std::vector* NUMBERS = flowpostprocessing->GetNumbers();
- for (int i = 0; i < NUMBERS.size(); ++i)
+ for (int i = 0; i < (*NUMBERS).size(); ++i)
{
- result = NUMBERS[i]->ReturnValueNoError;
- resulterror = NUMBERS[i]->ErrorMessageText;
- resultrate = std::to_string(NUMBERS[i]->FlowRateAct);
- resulttimestamp = NUMBERS[i]->timeStamp;
+ result = (*NUMBERS)[i]->ReturnValueNoError;
+ resulterror = (*NUMBERS)[i]->ErrorMessageText;
+ resultrate = std::to_string((*NUMBERS)[i]->FlowRateAct);
+ resulttimestamp = (*NUMBERS)[i]->timeStamp;
- namenumber = NUMBERS[i]->name;
+ namenumber = (*NUMBERS)[i]->name;
if (namenumber == "default")
namenumber = maintopic + "/";
else
diff --git a/code/components/jomjol_flowcontroll/ClassFlowPostProcessing.cpp b/code/components/jomjol_flowcontroll/ClassFlowPostProcessing.cpp
index 4b0a9361..2ff8a381 100644
--- a/code/components/jomjol_flowcontroll/ClassFlowPostProcessing.cpp
+++ b/code/components/jomjol_flowcontroll/ClassFlowPostProcessing.cpp
@@ -293,15 +293,15 @@ void ClassFlowPostProcessing::handleDecimalSeparator(string _decsep, string _val
{
int _zwdc = 0;
- try
+// try
{
_zwdc = stoi(_value);
}
- catch(const std::exception& e)
+/* catch(const std::exception& e)
{
printf("ERROR - Decimalshift is not a number: %s\n", _value.c_str());
}
-
+*/
if (_digit == "default") // erstmal auf default setzen (falls sonst nichts gesetzt)
{
NUMBERS[j]->DecimalShift = _zwdc;
@@ -332,15 +332,15 @@ void ClassFlowPostProcessing::handleMaxRateValue(string _decsep, string _value)
{
float _zwdc = 1;
- try
+// try
{
_zwdc = stof(_value);
}
- catch(const std::exception& e)
+/* catch(const std::exception& e)
{
printf("ERROR - MaxRateValue is not a number: %s\n", _value.c_str());
}
-
+*/
if (_digit == "default") // erstmal auf default setzen (falls sonst nichts gesetzt)
{
diff --git a/code/components/jomjol_flowcontroll/ClassFlowPostProcessing.h b/code/components/jomjol_flowcontroll/ClassFlowPostProcessing.h
index 875ad58b..23a87124 100644
--- a/code/components/jomjol_flowcontroll/ClassFlowPostProcessing.h
+++ b/code/components/jomjol_flowcontroll/ClassFlowPostProcessing.h
@@ -59,7 +59,7 @@ public:
void UpdateNachkommaDecimalShift();
- std::vector GetNumbers(){return NUMBERS;};
+ std::vector* GetNumbers(){return &NUMBERS;};
string name(){return "ClassFlowPostProcessing";};
};
diff --git a/code/main/version.cpp b/code/main/version.cpp
index dbffed26..88cccde1 100644
--- a/code/main/version.cpp
+++ b/code/main/version.cpp
@@ -1,4 +1,4 @@
-const char* GIT_REV="1e6eddc";
+const char* GIT_REV="c033db9";
const char* GIT_TAG="";
const char* GIT_BRANCH="rolling";
-const char* BUILD_TIME="2021-09-20 21:11";
\ No newline at end of file
+const char* BUILD_TIME="2021-09-21 18:28";
\ No newline at end of file
diff --git a/code/sdkconfig.esp32cam b/code/sdkconfig.esp32cam
new file mode 100644
index 00000000..08dc98a1
--- /dev/null
+++ b/code/sdkconfig.esp32cam
@@ -0,0 +1,1300 @@
+#
+# Automatically generated file. DO NOT EDIT.
+# Espressif IoT Development Framework (ESP-IDF) Project Configuration
+#
+CONFIG_IDF_CMAKE=y
+CONFIG_IDF_TARGET_ARCH_XTENSA=y
+CONFIG_IDF_TARGET="esp32"
+CONFIG_IDF_TARGET_ESP32=y
+CONFIG_IDF_FIRMWARE_CHIP_ID=0x0000
+
+#
+# SDK tool configuration
+#
+CONFIG_SDK_TOOLPREFIX="xtensa-esp32-elf-"
+# CONFIG_SDK_TOOLCHAIN_SUPPORTS_TIME_WIDE_64_BITS is not set
+# end of SDK tool configuration
+
+#
+# Build type
+#
+CONFIG_APP_BUILD_TYPE_APP_2NDBOOT=y
+# CONFIG_APP_BUILD_TYPE_ELF_RAM is not set
+CONFIG_APP_BUILD_GENERATE_BINARIES=y
+CONFIG_APP_BUILD_BOOTLOADER=y
+CONFIG_APP_BUILD_USE_FLASH_SECTIONS=y
+# end of Build type
+
+#
+# Application manager
+#
+CONFIG_APP_COMPILE_TIME_DATE=y
+# CONFIG_APP_EXCLUDE_PROJECT_VER_VAR is not set
+# CONFIG_APP_EXCLUDE_PROJECT_NAME_VAR is not set
+# CONFIG_APP_PROJECT_VER_FROM_CONFIG is not set
+CONFIG_APP_RETRIEVE_LEN_ELF_SHA=16
+# end of Application manager
+
+#
+# Bootloader config
+#
+CONFIG_BOOTLOADER_OFFSET_IN_FLASH=0x1000
+CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y
+# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_DEBUG is not set
+# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_PERF is not set
+# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_NONE is not set
+# CONFIG_BOOTLOADER_LOG_LEVEL_NONE is not set
+# CONFIG_BOOTLOADER_LOG_LEVEL_ERROR is not set
+# CONFIG_BOOTLOADER_LOG_LEVEL_WARN is not set
+CONFIG_BOOTLOADER_LOG_LEVEL_INFO=y
+# CONFIG_BOOTLOADER_LOG_LEVEL_DEBUG is not set
+# CONFIG_BOOTLOADER_LOG_LEVEL_VERBOSE is not set
+CONFIG_BOOTLOADER_LOG_LEVEL=3
+# CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_8V is not set
+CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_9V=y
+# CONFIG_BOOTLOADER_FACTORY_RESET is not set
+# CONFIG_BOOTLOADER_APP_TEST is not set
+CONFIG_BOOTLOADER_WDT_ENABLE=y
+# CONFIG_BOOTLOADER_WDT_DISABLE_IN_USER_CODE is not set
+CONFIG_BOOTLOADER_WDT_TIME_MS=9000
+# CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE is not set
+# CONFIG_BOOTLOADER_SKIP_VALIDATE_IN_DEEP_SLEEP is not set
+# CONFIG_BOOTLOADER_SKIP_VALIDATE_ON_POWER_ON is not set
+# CONFIG_BOOTLOADER_SKIP_VALIDATE_ALWAYS is not set
+CONFIG_BOOTLOADER_RESERVE_RTC_SIZE=0
+# CONFIG_BOOTLOADER_CUSTOM_RESERVE_RTC is not set
+# end of Bootloader config
+
+#
+# Security features
+#
+# CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT is not set
+# CONFIG_SECURE_BOOT is not set
+# CONFIG_SECURE_FLASH_ENC_ENABLED is not set
+# end of Security features
+
+#
+# Serial flasher config
+#
+CONFIG_ESPTOOLPY_BAUD_OTHER_VAL=115200
+# CONFIG_ESPTOOLPY_NO_STUB is not set
+# CONFIG_ESPTOOLPY_FLASHMODE_QIO is not set
+# CONFIG_ESPTOOLPY_FLASHMODE_QOUT is not set
+CONFIG_ESPTOOLPY_FLASHMODE_DIO=y
+# CONFIG_ESPTOOLPY_FLASHMODE_DOUT is not set
+CONFIG_ESPTOOLPY_FLASHMODE="dio"
+# CONFIG_ESPTOOLPY_FLASHFREQ_80M is not set
+CONFIG_ESPTOOLPY_FLASHFREQ_40M=y
+# CONFIG_ESPTOOLPY_FLASHFREQ_26M is not set
+# CONFIG_ESPTOOLPY_FLASHFREQ_20M is not set
+CONFIG_ESPTOOLPY_FLASHFREQ="40m"
+# CONFIG_ESPTOOLPY_FLASHSIZE_1MB is not set
+CONFIG_ESPTOOLPY_FLASHSIZE_2MB=y
+# CONFIG_ESPTOOLPY_FLASHSIZE_4MB is not set
+# CONFIG_ESPTOOLPY_FLASHSIZE_8MB is not set
+# CONFIG_ESPTOOLPY_FLASHSIZE_16MB is not set
+CONFIG_ESPTOOLPY_FLASHSIZE="2MB"
+CONFIG_ESPTOOLPY_FLASHSIZE_DETECT=y
+CONFIG_ESPTOOLPY_BEFORE_RESET=y
+# CONFIG_ESPTOOLPY_BEFORE_NORESET is not set
+CONFIG_ESPTOOLPY_BEFORE="default_reset"
+CONFIG_ESPTOOLPY_AFTER_RESET=y
+# CONFIG_ESPTOOLPY_AFTER_NORESET is not set
+CONFIG_ESPTOOLPY_AFTER="hard_reset"
+# CONFIG_ESPTOOLPY_MONITOR_BAUD_CONSOLE is not set
+# CONFIG_ESPTOOLPY_MONITOR_BAUD_9600B is not set
+# CONFIG_ESPTOOLPY_MONITOR_BAUD_57600B is not set
+CONFIG_ESPTOOLPY_MONITOR_BAUD_115200B=y
+# CONFIG_ESPTOOLPY_MONITOR_BAUD_230400B is not set
+# CONFIG_ESPTOOLPY_MONITOR_BAUD_921600B is not set
+# CONFIG_ESPTOOLPY_MONITOR_BAUD_2MB is not set
+# CONFIG_ESPTOOLPY_MONITOR_BAUD_OTHER is not set
+CONFIG_ESPTOOLPY_MONITOR_BAUD_OTHER_VAL=115200
+CONFIG_ESPTOOLPY_MONITOR_BAUD=115200
+# end of Serial flasher config
+
+#
+# Partition Table
+#
+CONFIG_PARTITION_TABLE_SINGLE_APP=y
+# CONFIG_PARTITION_TABLE_TWO_OTA is not set
+# CONFIG_PARTITION_TABLE_CUSTOM is not set
+CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv"
+CONFIG_PARTITION_TABLE_FILENAME="partitions_singleapp.csv"
+CONFIG_PARTITION_TABLE_OFFSET=0x8000
+CONFIG_PARTITION_TABLE_MD5=y
+# end of Partition Table
+
+#
+# Example Connection Configuration
+#
+CONFIG_EXAMPLE_CONNECT_WIFI=y
+CONFIG_EXAMPLE_WIFI_SSID="myssid"
+CONFIG_EXAMPLE_WIFI_PASSWORD="mypassword"
+# CONFIG_EXAMPLE_CONNECT_ETHERNET is not set
+CONFIG_EXAMPLE_CONNECT_IPV6=y
+CONFIG_EXAMPLE_CONNECT_IPV6_PREF_LOCAL_LINK=y
+# CONFIG_EXAMPLE_CONNECT_IPV6_PREF_GLOBAL is not set
+# CONFIG_EXAMPLE_CONNECT_IPV6_PREF_SITE_LOCAL is not set
+# CONFIG_EXAMPLE_CONNECT_IPV6_PREF_UNIQUE_LOCAL is not set
+# end of Example Connection Configuration
+
+#
+# Compiler options
+#
+CONFIG_COMPILER_OPTIMIZATION_DEFAULT=y
+# CONFIG_COMPILER_OPTIMIZATION_SIZE is not set
+# CONFIG_COMPILER_OPTIMIZATION_PERF is not set
+# CONFIG_COMPILER_OPTIMIZATION_NONE is not set
+CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE=y
+# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT is not set
+# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE is not set
+# CONFIG_COMPILER_CXX_EXCEPTIONS is not set
+# CONFIG_COMPILER_CXX_RTTI is not set
+CONFIG_COMPILER_STACK_CHECK_MODE_NONE=y
+# CONFIG_COMPILER_STACK_CHECK_MODE_NORM is not set
+# CONFIG_COMPILER_STACK_CHECK_MODE_STRONG is not set
+# CONFIG_COMPILER_STACK_CHECK_MODE_ALL is not set
+# CONFIG_COMPILER_WARN_WRITE_STRINGS is not set
+# CONFIG_COMPILER_DISABLE_GCC8_WARNINGS is not set
+# CONFIG_COMPILER_DUMP_RTL_FILES is not set
+# end of Compiler options
+
+#
+# Component config
+#
+
+#
+# Application Level Tracing
+#
+# CONFIG_APPTRACE_DEST_TRAX is not set
+CONFIG_APPTRACE_DEST_NONE=y
+CONFIG_APPTRACE_LOCK_ENABLE=y
+# end of Application Level Tracing
+
+#
+# ESP-ASIO
+#
+# CONFIG_ASIO_SSL_SUPPORT is not set
+# end of ESP-ASIO
+
+#
+# Bluetooth
+#
+# CONFIG_BT_ENABLED is not set
+CONFIG_BTDM_CTRL_BR_EDR_SCO_DATA_PATH_EFF=0
+CONFIG_BTDM_CTRL_PCM_ROLE_EFF=0
+CONFIG_BTDM_CTRL_PCM_POLAR_EFF=0
+CONFIG_BTDM_CTRL_BLE_MAX_CONN_EFF=0
+CONFIG_BTDM_CTRL_BR_EDR_MAX_ACL_CONN_EFF=0
+CONFIG_BTDM_CTRL_BR_EDR_MAX_SYNC_CONN_EFF=0
+CONFIG_BTDM_CTRL_PINNED_TO_CORE=0
+CONFIG_BTDM_BLE_SLEEP_CLOCK_ACCURACY_INDEX_EFF=1
+CONFIG_BT_CTRL_MODE_EFF=1
+CONFIG_BT_CTRL_BLE_MAX_ACT=10
+CONFIG_BT_CTRL_BLE_MAX_ACT_EFF=10
+CONFIG_BT_CTRL_BLE_STATIC_ACL_TX_BUF_NB=0
+CONFIG_BT_CTRL_PINNED_TO_CORE=0
+CONFIG_BT_CTRL_HCI_TL=1
+CONFIG_BT_CTRL_ADV_DUP_FILT_MAX=30
+CONFIG_BT_CTRL_HW_CCA_EFF=0
+CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_EFF=0
+CONFIG_BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_SUPP=y
+CONFIG_BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_NUM=100
+CONFIG_BT_CTRL_BLE_ADV_REPORT_DISCARD_THRSHOLD=20
+CONFIG_BT_CTRL_BLE_SCAN_DUPL=y
+CONFIG_BT_CTRL_SCAN_DUPL_TYPE=0
+CONFIG_BT_CTRL_SCAN_DUPL_CACHE_SIZE=100
+CONFIG_BT_CTRL_COEX_PHY_CODED_TX_RX_TLIM_EFF=0
+CONFIG_BT_CTRL_SLEEP_MODE_EFF=0
+CONFIG_BT_CTRL_SLEEP_CLOCK_EFF=0
+CONFIG_BT_CTRL_HCI_TL_EFF=1
+CONFIG_BT_RESERVE_DRAM=0
+# end of Bluetooth
+
+#
+# CoAP Configuration
+#
+CONFIG_COAP_MBEDTLS_PSK=y
+# CONFIG_COAP_MBEDTLS_PKI is not set
+# CONFIG_COAP_MBEDTLS_DEBUG is not set
+CONFIG_COAP_LOG_DEFAULT_LEVEL=0
+# end of CoAP Configuration
+
+#
+# Driver configurations
+#
+
+#
+# ADC configuration
+#
+# CONFIG_ADC_FORCE_XPD_FSM is not set
+CONFIG_ADC_DISABLE_DAC=y
+# end of ADC configuration
+
+#
+# SPI configuration
+#
+# CONFIG_SPI_MASTER_IN_IRAM is not set
+CONFIG_SPI_MASTER_ISR_IN_IRAM=y
+# CONFIG_SPI_SLAVE_IN_IRAM is not set
+CONFIG_SPI_SLAVE_ISR_IN_IRAM=y
+# end of SPI configuration
+
+#
+# TWAI configuration
+#
+# CONFIG_TWAI_ISR_IN_IRAM is not set
+# CONFIG_TWAI_ERRATA_FIX_BUS_OFF_REC is not set
+# CONFIG_TWAI_ERRATA_FIX_TX_INTR_LOST is not set
+# CONFIG_TWAI_ERRATA_FIX_RX_FRAME_INVALID is not set
+# CONFIG_TWAI_ERRATA_FIX_RX_FIFO_CORRUPT is not set
+# end of TWAI configuration
+
+#
+# UART configuration
+#
+# CONFIG_UART_ISR_IN_IRAM is not set
+# end of UART configuration
+
+#
+# RTCIO configuration
+#
+# CONFIG_RTCIO_SUPPORT_RTC_GPIO_DESC is not set
+# end of RTCIO configuration
+
+#
+# GPIO Configuration
+#
+# CONFIG_GPIO_ESP32_SUPPORT_SWITCH_SLP_PULL is not set
+# end of GPIO Configuration
+# end of Driver configurations
+
+#
+# eFuse Bit Manager
+#
+# CONFIG_EFUSE_CUSTOM_TABLE is not set
+# CONFIG_EFUSE_VIRTUAL is not set
+# CONFIG_EFUSE_CODE_SCHEME_COMPAT_NONE is not set
+CONFIG_EFUSE_CODE_SCHEME_COMPAT_3_4=y
+# CONFIG_EFUSE_CODE_SCHEME_COMPAT_REPEAT is not set
+CONFIG_EFUSE_MAX_BLK_LEN=192
+# end of eFuse Bit Manager
+
+#
+# ESP-TLS
+#
+CONFIG_ESP_TLS_USING_MBEDTLS=y
+# CONFIG_ESP_TLS_USE_SECURE_ELEMENT is not set
+# CONFIG_ESP_TLS_SERVER is not set
+# CONFIG_ESP_TLS_PSK_VERIFICATION is not set
+# CONFIG_ESP_TLS_INSECURE is not set
+# end of ESP-TLS
+
+#
+# ESP32-specific
+#
+CONFIG_ESP32_REV_MIN_0=y
+# CONFIG_ESP32_REV_MIN_1 is not set
+# CONFIG_ESP32_REV_MIN_2 is not set
+# CONFIG_ESP32_REV_MIN_3 is not set
+CONFIG_ESP32_REV_MIN=0
+CONFIG_ESP32_DPORT_WORKAROUND=y
+# 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_ESP32_SPIRAM_SUPPORT is not set
+# CONFIG_ESP32_TRAX is not set
+CONFIG_ESP32_TRACEMEM_RESERVE_DRAM=0x0
+# CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_TWO is not set
+CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_FOUR=y
+CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES=4
+# CONFIG_ESP32_ULP_COPROC_ENABLED is not set
+CONFIG_ESP32_ULP_COPROC_RESERVE_MEM=0
+CONFIG_ESP32_DEBUG_OCDAWARE=y
+CONFIG_ESP32_BROWNOUT_DET=y
+CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_0=y
+# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_1 is not set
+# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_2 is not set
+# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_3 is not set
+# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_4 is not set
+# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_5 is not set
+# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_6 is not set
+# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_7 is not set
+CONFIG_ESP32_BROWNOUT_DET_LVL=0
+CONFIG_ESP32_REDUCE_PHY_TX_POWER=y
+CONFIG_ESP32_TIME_SYSCALL_USE_RTC_FRC1=y
+# CONFIG_ESP32_TIME_SYSCALL_USE_RTC is not set
+# CONFIG_ESP32_TIME_SYSCALL_USE_FRC1 is not set
+# CONFIG_ESP32_TIME_SYSCALL_USE_NONE is not set
+CONFIG_ESP32_RTC_CLK_SRC_INT_RC=y
+# CONFIG_ESP32_RTC_CLK_SRC_EXT_CRYS is not set
+# CONFIG_ESP32_RTC_CLK_SRC_EXT_OSC is not set
+# CONFIG_ESP32_RTC_CLK_SRC_INT_8MD256 is not set
+CONFIG_ESP32_RTC_CLK_CAL_CYCLES=1024
+CONFIG_ESP32_DEEP_SLEEP_WAKEUP_DELAY=2000
+CONFIG_ESP32_XTAL_FREQ_40=y
+# CONFIG_ESP32_XTAL_FREQ_26 is not set
+# CONFIG_ESP32_XTAL_FREQ_AUTO is not set
+CONFIG_ESP32_XTAL_FREQ=40
+# CONFIG_ESP32_DISABLE_BASIC_ROM_CONSOLE is not set
+# CONFIG_ESP32_NO_BLOBS is not set
+# CONFIG_ESP32_COMPATIBLE_PRE_V2_1_BOOTLOADERS is not set
+# CONFIG_ESP32_USE_FIXED_STATIC_RAM_SIZE is not set
+CONFIG_ESP32_DPORT_DIS_INTERRUPT_LVL=5
+# end of ESP32-specific
+
+#
+# ADC-Calibration
+#
+CONFIG_ADC_CAL_EFUSE_TP_ENABLE=y
+CONFIG_ADC_CAL_EFUSE_VREF_ENABLE=y
+CONFIG_ADC_CAL_LUT_ENABLE=y
+# end of ADC-Calibration
+
+#
+# Common ESP-related
+#
+CONFIG_ESP_ERR_TO_NAME_LOOKUP=y
+CONFIG_ESP_SYSTEM_EVENT_QUEUE_SIZE=32
+CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=2304
+CONFIG_ESP_MAIN_TASK_STACK_SIZE=3584
+CONFIG_ESP_IPC_TASK_STACK_SIZE=1024
+CONFIG_ESP_IPC_USES_CALLERS_PRIORITY=y
+CONFIG_ESP_MINIMAL_SHARED_STACK_SIZE=2048
+CONFIG_ESP_CONSOLE_UART_DEFAULT=y
+# CONFIG_ESP_CONSOLE_UART_CUSTOM is not set
+# CONFIG_ESP_CONSOLE_NONE is not set
+CONFIG_ESP_CONSOLE_UART=y
+CONFIG_ESP_CONSOLE_MULTIPLE_UART=y
+CONFIG_ESP_CONSOLE_UART_NUM=0
+CONFIG_ESP_CONSOLE_UART_BAUDRATE=115200
+CONFIG_ESP_INT_WDT=y
+CONFIG_ESP_INT_WDT_TIMEOUT_MS=300
+CONFIG_ESP_INT_WDT_CHECK_CPU1=y
+CONFIG_ESP_TASK_WDT=y
+# CONFIG_ESP_TASK_WDT_PANIC is not set
+CONFIG_ESP_TASK_WDT_TIMEOUT_S=5
+CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0=y
+CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU1=y
+# CONFIG_ESP_PANIC_HANDLER_IRAM is not set
+CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_STA=y
+CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_AP=y
+CONFIG_ESP_MAC_ADDR_UNIVERSE_BT=y
+CONFIG_ESP_MAC_ADDR_UNIVERSE_ETH=y
+# end of Common ESP-related
+
+#
+# Ethernet
+#
+CONFIG_ETH_ENABLED=y
+CONFIG_ETH_USE_ESP32_EMAC=y
+CONFIG_ETH_PHY_INTERFACE_RMII=y
+# CONFIG_ETH_PHY_INTERFACE_MII is not set
+CONFIG_ETH_RMII_CLK_INPUT=y
+# CONFIG_ETH_RMII_CLK_OUTPUT is not set
+CONFIG_ETH_RMII_CLK_IN_GPIO=0
+CONFIG_ETH_DMA_BUFFER_SIZE=512
+CONFIG_ETH_DMA_RX_BUFFER_NUM=10
+CONFIG_ETH_DMA_TX_BUFFER_NUM=10
+CONFIG_ETH_USE_SPI_ETHERNET=y
+# CONFIG_ETH_SPI_ETHERNET_DM9051 is not set
+# CONFIG_ETH_SPI_ETHERNET_W5500 is not set
+# CONFIG_ETH_USE_OPENETH is not set
+# end of Ethernet
+
+#
+# Event Loop Library
+#
+# CONFIG_ESP_EVENT_LOOP_PROFILING is not set
+CONFIG_ESP_EVENT_POST_FROM_ISR=y
+CONFIG_ESP_EVENT_POST_FROM_IRAM_ISR=y
+# end of Event Loop Library
+
+#
+# GDB Stub
+#
+# end of GDB Stub
+
+#
+# ESP HTTP client
+#
+CONFIG_ESP_HTTP_CLIENT_ENABLE_HTTPS=y
+# CONFIG_ESP_HTTP_CLIENT_ENABLE_BASIC_AUTH is not set
+# end of ESP HTTP client
+
+#
+# HTTP Server
+#
+CONFIG_HTTPD_MAX_REQ_HDR_LEN=512
+CONFIG_HTTPD_MAX_URI_LEN=512
+CONFIG_HTTPD_ERR_RESP_NO_DELAY=y
+CONFIG_HTTPD_PURGE_BUF_LEN=32
+# CONFIG_HTTPD_LOG_PURGE_DATA is not set
+# CONFIG_HTTPD_WS_SUPPORT is not set
+# end of HTTP Server
+
+#
+# ESP HTTPS OTA
+#
+# CONFIG_OTA_ALLOW_HTTP is not set
+# end of ESP HTTPS OTA
+
+#
+# ESP HTTPS server
+#
+# CONFIG_ESP_HTTPS_SERVER_ENABLE is not set
+# end of ESP HTTPS server
+
+#
+# ESP NETIF Adapter
+#
+CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120
+CONFIG_ESP_NETIF_TCPIP_LWIP=y
+# CONFIG_ESP_NETIF_LOOPBACK is not set
+CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER=y
+# end of ESP NETIF Adapter
+
+#
+# Power Management
+#
+# CONFIG_PM_ENABLE is not set
+# end of Power Management
+
+#
+# ESP System Settings
+#
+# CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT is not set
+CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT=y
+# CONFIG_ESP_SYSTEM_PANIC_SILENT_REBOOT is not set
+# CONFIG_ESP_SYSTEM_PANIC_GDBSTUB is not set
+CONFIG_ESP_SYSTEM_PD_FLASH=y
+
+#
+# Memory protection
+#
+# end of Memory protection
+# end of ESP System Settings
+
+#
+# High resolution timer (esp_timer)
+#
+# CONFIG_ESP_TIMER_PROFILING is not set
+CONFIG_ESP_TIME_FUNCS_USE_RTC_TIMER=y
+CONFIG_ESP_TIME_FUNCS_USE_ESP_TIMER=y
+CONFIG_ESP_TIMER_TASK_STACK_SIZE=3584
+# CONFIG_ESP_TIMER_IMPL_FRC2 is not set
+CONFIG_ESP_TIMER_IMPL_TG0_LAC=y
+# end of High resolution timer (esp_timer)
+
+#
+# Wi-Fi
+#
+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_DEBUG_LOG_ENABLE is not set
+CONFIG_ESP32_WIFI_IRAM_OPT=y
+CONFIG_ESP32_WIFI_RX_IRAM_OPT=y
+CONFIG_ESP32_WIFI_ENABLE_WPA3_SAE=y
+# CONFIG_ESP_WIFI_SLP_IRAM_OPT is not set
+# CONFIG_ESP_WIFI_STA_DISCONNECTED_PM_ENABLE is not set
+# end of Wi-Fi
+
+#
+# PHY
+#
+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
+# end of PHY
+
+#
+# Core dump
+#
+# CONFIG_ESP_COREDUMP_ENABLE_TO_FLASH is not set
+# CONFIG_ESP_COREDUMP_ENABLE_TO_UART is not set
+CONFIG_ESP_COREDUMP_ENABLE_TO_NONE=y
+# end of Core dump
+
+#
+# FAT Filesystem support
+#
+# CONFIG_FATFS_CODEPAGE_DYNAMIC is not set
+CONFIG_FATFS_CODEPAGE_437=y
+# CONFIG_FATFS_CODEPAGE_720 is not set
+# CONFIG_FATFS_CODEPAGE_737 is not set
+# CONFIG_FATFS_CODEPAGE_771 is not set
+# CONFIG_FATFS_CODEPAGE_775 is not set
+# CONFIG_FATFS_CODEPAGE_850 is not set
+# CONFIG_FATFS_CODEPAGE_852 is not set
+# CONFIG_FATFS_CODEPAGE_855 is not set
+# CONFIG_FATFS_CODEPAGE_857 is not set
+# CONFIG_FATFS_CODEPAGE_860 is not set
+# CONFIG_FATFS_CODEPAGE_861 is not set
+# CONFIG_FATFS_CODEPAGE_862 is not set
+# CONFIG_FATFS_CODEPAGE_863 is not set
+# CONFIG_FATFS_CODEPAGE_864 is not set
+# CONFIG_FATFS_CODEPAGE_865 is not set
+# CONFIG_FATFS_CODEPAGE_866 is not set
+# CONFIG_FATFS_CODEPAGE_869 is not set
+# CONFIG_FATFS_CODEPAGE_932 is not set
+# CONFIG_FATFS_CODEPAGE_936 is not set
+# CONFIG_FATFS_CODEPAGE_949 is not set
+# CONFIG_FATFS_CODEPAGE_950 is not set
+CONFIG_FATFS_CODEPAGE=437
+CONFIG_FATFS_LFN_NONE=y
+# CONFIG_FATFS_LFN_HEAP is not set
+# CONFIG_FATFS_LFN_STACK is not set
+CONFIG_FATFS_FS_LOCK=0
+CONFIG_FATFS_TIMEOUT_MS=10000
+CONFIG_FATFS_PER_FILE_CACHE=y
+# CONFIG_FATFS_USE_FASTSEEK is not set
+# end of FAT Filesystem support
+
+#
+# Modbus configuration
+#
+CONFIG_FMB_COMM_MODE_TCP_EN=y
+CONFIG_FMB_TCP_PORT_DEFAULT=502
+CONFIG_FMB_TCP_PORT_MAX_CONN=5
+CONFIG_FMB_TCP_CONNECTION_TOUT_SEC=20
+CONFIG_FMB_COMM_MODE_RTU_EN=y
+CONFIG_FMB_COMM_MODE_ASCII_EN=y
+CONFIG_FMB_MASTER_TIMEOUT_MS_RESPOND=150
+CONFIG_FMB_MASTER_DELAY_MS_CONVERT=200
+CONFIG_FMB_QUEUE_LENGTH=20
+CONFIG_FMB_PORT_TASK_STACK_SIZE=4096
+CONFIG_FMB_SERIAL_BUF_SIZE=256
+CONFIG_FMB_SERIAL_ASCII_BITS_PER_SYMB=8
+CONFIG_FMB_SERIAL_ASCII_TIMEOUT_RESPOND_MS=1000
+CONFIG_FMB_PORT_TASK_PRIO=10
+CONFIG_FMB_CONTROLLER_SLAVE_ID_SUPPORT=y
+CONFIG_FMB_CONTROLLER_SLAVE_ID=0x00112233
+CONFIG_FMB_CONTROLLER_NOTIFY_TIMEOUT=20
+CONFIG_FMB_CONTROLLER_NOTIFY_QUEUE_SIZE=20
+CONFIG_FMB_CONTROLLER_STACK_SIZE=4096
+CONFIG_FMB_EVENT_QUEUE_TIMEOUT=20
+CONFIG_FMB_TIMER_PORT_ENABLED=y
+CONFIG_FMB_TIMER_GROUP=0
+CONFIG_FMB_TIMER_INDEX=0
+# CONFIG_FMB_TIMER_ISR_IN_IRAM is not set
+# end of Modbus configuration
+
+#
+# FreeRTOS
+#
+# CONFIG_FREERTOS_UNICORE is not set
+CONFIG_FREERTOS_NO_AFFINITY=0x7FFFFFFF
+CONFIG_FREERTOS_CORETIMER_0=y
+# CONFIG_FREERTOS_CORETIMER_1 is not set
+CONFIG_FREERTOS_HZ=100
+CONFIG_FREERTOS_ASSERT_ON_UNTESTED_FUNCTION=y
+# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_NONE is not set
+# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_PTRVAL is not set
+CONFIG_FREERTOS_CHECK_STACKOVERFLOW_CANARY=y
+# CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK is not set
+CONFIG_FREERTOS_INTERRUPT_BACKTRACE=y
+CONFIG_FREERTOS_THREAD_LOCAL_STORAGE_POINTERS=1
+CONFIG_FREERTOS_ASSERT_FAIL_ABORT=y
+# CONFIG_FREERTOS_ASSERT_FAIL_PRINT_CONTINUE is not set
+# CONFIG_FREERTOS_ASSERT_DISABLE is not set
+CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=2304
+CONFIG_FREERTOS_ISR_STACKSIZE=1536
+# CONFIG_FREERTOS_LEGACY_HOOKS is not set
+CONFIG_FREERTOS_MAX_TASK_NAME_LEN=16
+CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION=y
+# CONFIG_FREERTOS_ENABLE_STATIC_TASK_CLEAN_UP is not set
+CONFIG_FREERTOS_TIMER_TASK_PRIORITY=1
+CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=2048
+CONFIG_FREERTOS_TIMER_QUEUE_LENGTH=10
+CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE=0
+# CONFIG_FREERTOS_USE_TRACE_FACILITY is not set
+# CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS is not set
+CONFIG_FREERTOS_TASK_FUNCTION_WRAPPER=y
+CONFIG_FREERTOS_CHECK_MUTEX_GIVEN_BY_OWNER=y
+# CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE is not set
+# CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH is not set
+CONFIG_FREERTOS_DEBUG_OCDAWARE=y
+# CONFIG_FREERTOS_FPU_IN_ISR is not set
+# end of FreeRTOS
+
+#
+# Heap memory debugging
+#
+CONFIG_HEAP_POISONING_DISABLED=y
+# CONFIG_HEAP_POISONING_LIGHT is not set
+# CONFIG_HEAP_POISONING_COMPREHENSIVE is not set
+CONFIG_HEAP_TRACING_OFF=y
+# CONFIG_HEAP_TRACING_STANDALONE is not set
+# CONFIG_HEAP_TRACING_TOHOST is not set
+# CONFIG_HEAP_ABORT_WHEN_ALLOCATION_FAILS is not set
+# end of Heap memory debugging
+
+#
+# jsmn
+#
+# CONFIG_JSMN_PARENT_LINKS is not set
+# CONFIG_JSMN_STRICT is not set
+# end of jsmn
+
+#
+# libsodium
+#
+# end of libsodium
+
+#
+# Log output
+#
+# CONFIG_LOG_DEFAULT_LEVEL_NONE is not set
+# CONFIG_LOG_DEFAULT_LEVEL_ERROR is not set
+# CONFIG_LOG_DEFAULT_LEVEL_WARN is not set
+CONFIG_LOG_DEFAULT_LEVEL_INFO=y
+# CONFIG_LOG_DEFAULT_LEVEL_DEBUG is not set
+# CONFIG_LOG_DEFAULT_LEVEL_VERBOSE is not set
+CONFIG_LOG_DEFAULT_LEVEL=3
+CONFIG_LOG_COLORS=y
+CONFIG_LOG_TIMESTAMP_SOURCE_RTOS=y
+# CONFIG_LOG_TIMESTAMP_SOURCE_SYSTEM is not set
+# end of Log output
+
+#
+# LWIP
+#
+CONFIG_LWIP_LOCAL_HOSTNAME="espressif"
+CONFIG_LWIP_DNS_SUPPORT_MDNS_QUERIES=y
+# CONFIG_LWIP_L2_TO_L3_COPY is not set
+# CONFIG_LWIP_IRAM_OPTIMIZATION is not set
+CONFIG_LWIP_TIMERS_ONDEMAND=y
+CONFIG_LWIP_MAX_SOCKETS=10
+# CONFIG_LWIP_USE_ONLY_LWIP_SELECT is not set
+# CONFIG_LWIP_SO_LINGER is not set
+CONFIG_LWIP_SO_REUSE=y
+CONFIG_LWIP_SO_REUSE_RXTOALL=y
+# CONFIG_LWIP_SO_RCVBUF is not set
+# CONFIG_LWIP_NETBUF_RECVINFO is not set
+CONFIG_LWIP_IP4_FRAG=y
+CONFIG_LWIP_IP6_FRAG=y
+# CONFIG_LWIP_IP4_REASSEMBLY is not set
+# CONFIG_LWIP_IP6_REASSEMBLY is not set
+# CONFIG_LWIP_IP_FORWARD is not set
+# CONFIG_LWIP_STATS is not set
+# CONFIG_LWIP_ETHARP_TRUST_IP_MAC is not set
+CONFIG_LWIP_ESP_GRATUITOUS_ARP=y
+CONFIG_LWIP_GARP_TMR_INTERVAL=60
+CONFIG_LWIP_TCPIP_RECVMBOX_SIZE=32
+CONFIG_LWIP_DHCP_DOES_ARP_CHECK=y
+# CONFIG_LWIP_DHCP_RESTORE_LAST_IP is not set
+
+#
+# DHCP server
+#
+CONFIG_LWIP_DHCPS_LEASE_UNIT=60
+CONFIG_LWIP_DHCPS_MAX_STATION_NUM=8
+# end of DHCP server
+
+# CONFIG_LWIP_AUTOIP is not set
+CONFIG_LWIP_IPV6=y
+# CONFIG_LWIP_IPV6_AUTOCONFIG is not set
+CONFIG_LWIP_NETIF_LOOPBACK=y
+CONFIG_LWIP_LOOPBACK_MAX_PBUFS=8
+
+#
+# TCP
+#
+CONFIG_LWIP_MAX_ACTIVE_TCP=16
+CONFIG_LWIP_MAX_LISTENING_TCP=16
+CONFIG_LWIP_TCP_HIGH_SPEED_RETRANSMISSION=y
+CONFIG_LWIP_TCP_MAXRTX=12
+CONFIG_LWIP_TCP_SYNMAXRTX=12
+CONFIG_LWIP_TCP_MSS=1440
+CONFIG_LWIP_TCP_TMR_INTERVAL=250
+CONFIG_LWIP_TCP_MSL=60000
+CONFIG_LWIP_TCP_SND_BUF_DEFAULT=5744
+CONFIG_LWIP_TCP_WND_DEFAULT=5744
+CONFIG_LWIP_TCP_RECVMBOX_SIZE=6
+CONFIG_LWIP_TCP_QUEUE_OOSEQ=y
+# CONFIG_LWIP_TCP_SACK_OUT is not set
+# CONFIG_LWIP_TCP_KEEP_CONNECTION_WHEN_IP_CHANGES is not set
+CONFIG_LWIP_TCP_OVERSIZE_MSS=y
+# CONFIG_LWIP_TCP_OVERSIZE_QUARTER_MSS is not set
+# CONFIG_LWIP_TCP_OVERSIZE_DISABLE is not set
+CONFIG_LWIP_TCP_RTO_TIME=1500
+# end of TCP
+
+#
+# UDP
+#
+CONFIG_LWIP_MAX_UDP_PCBS=16
+CONFIG_LWIP_UDP_RECVMBOX_SIZE=6
+# end of UDP
+
+#
+# Checksums
+#
+# CONFIG_LWIP_CHECKSUM_CHECK_IP is not set
+# CONFIG_LWIP_CHECKSUM_CHECK_UDP is not set
+CONFIG_LWIP_CHECKSUM_CHECK_ICMP=y
+# end of Checksums
+
+CONFIG_LWIP_TCPIP_TASK_STACK_SIZE=3072
+CONFIG_LWIP_TCPIP_TASK_AFFINITY_NO_AFFINITY=y
+# CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU0 is not set
+# CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU1 is not set
+CONFIG_LWIP_TCPIP_TASK_AFFINITY=0x7FFFFFFF
+# CONFIG_LWIP_PPP_SUPPORT is not set
+CONFIG_LWIP_IPV6_MEMP_NUM_ND6_QUEUE=3
+CONFIG_LWIP_IPV6_ND6_NUM_NEIGHBORS=5
+# CONFIG_LWIP_SLIP_SUPPORT is not set
+
+#
+# ICMP
+#
+# CONFIG_LWIP_MULTICAST_PING is not set
+# CONFIG_LWIP_BROADCAST_PING is not set
+# end of ICMP
+
+#
+# LWIP RAW API
+#
+CONFIG_LWIP_MAX_RAW_PCBS=16
+# end of LWIP RAW API
+
+#
+# SNTP
+#
+CONFIG_LWIP_DHCP_MAX_NTP_SERVERS=1
+CONFIG_LWIP_SNTP_UPDATE_DELAY=3600000
+# end of SNTP
+
+CONFIG_LWIP_ESP_LWIP_ASSERT=y
+
+#
+# Hooks
+#
+# CONFIG_LWIP_HOOK_TCP_ISN_NONE is not set
+CONFIG_LWIP_HOOK_TCP_ISN_DEFAULT=y
+# CONFIG_LWIP_HOOK_TCP_ISN_CUSTOM is not set
+CONFIG_LWIP_HOOK_IP6_ROUTE_NONE=y
+# CONFIG_LWIP_HOOK_IP6_ROUTE_DEFAULT is not set
+# CONFIG_LWIP_HOOK_IP6_ROUTE_CUSTOM is not set
+CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_NONE=y
+# CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_DEFAULT is not set
+# CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_CUSTOM is not set
+# end of Hooks
+
+# CONFIG_LWIP_DEBUG is not set
+# end of LWIP
+
+#
+# mbedTLS
+#
+CONFIG_MBEDTLS_INTERNAL_MEM_ALLOC=y
+# CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC is not set
+# CONFIG_MBEDTLS_CUSTOM_MEM_ALLOC is not set
+CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN=y
+CONFIG_MBEDTLS_SSL_IN_CONTENT_LEN=16384
+CONFIG_MBEDTLS_SSL_OUT_CONTENT_LEN=4096
+# CONFIG_MBEDTLS_DYNAMIC_BUFFER is not set
+# CONFIG_MBEDTLS_DEBUG is not set
+
+#
+# Certificate Bundle
+#
+CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=y
+CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_FULL=y
+# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_CMN is not set
+# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_NONE is not set
+# CONFIG_MBEDTLS_CUSTOM_CERTIFICATE_BUNDLE is not set
+# end of Certificate Bundle
+
+# CONFIG_MBEDTLS_ECP_RESTARTABLE is not set
+# CONFIG_MBEDTLS_CMAC_C is not set
+CONFIG_MBEDTLS_HARDWARE_AES=y
+CONFIG_MBEDTLS_HARDWARE_MPI=y
+CONFIG_MBEDTLS_HARDWARE_SHA=y
+CONFIG_MBEDTLS_ROM_MD5=y
+# CONFIG_MBEDTLS_ATCA_HW_ECDSA_SIGN is not set
+# CONFIG_MBEDTLS_ATCA_HW_ECDSA_VERIFY is not set
+CONFIG_MBEDTLS_HAVE_TIME=y
+# CONFIG_MBEDTLS_HAVE_TIME_DATE is not set
+CONFIG_MBEDTLS_ECDSA_DETERMINISTIC=y
+CONFIG_MBEDTLS_SHA512_C=y
+CONFIG_MBEDTLS_TLS_SERVER_AND_CLIENT=y
+# CONFIG_MBEDTLS_TLS_SERVER_ONLY is not set
+# CONFIG_MBEDTLS_TLS_CLIENT_ONLY is not set
+# CONFIG_MBEDTLS_TLS_DISABLED is not set
+CONFIG_MBEDTLS_TLS_SERVER=y
+CONFIG_MBEDTLS_TLS_CLIENT=y
+CONFIG_MBEDTLS_TLS_ENABLED=y
+
+#
+# TLS Key Exchange Methods
+#
+# CONFIG_MBEDTLS_PSK_MODES is not set
+CONFIG_MBEDTLS_KEY_EXCHANGE_RSA=y
+CONFIG_MBEDTLS_KEY_EXCHANGE_DHE_RSA=y
+CONFIG_MBEDTLS_KEY_EXCHANGE_ELLIPTIC_CURVE=y
+CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_RSA=y
+CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA=y
+CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA=y
+CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_RSA=y
+# end of TLS Key Exchange Methods
+
+CONFIG_MBEDTLS_SSL_RENEGOTIATION=y
+# CONFIG_MBEDTLS_SSL_PROTO_SSL3 is not set
+CONFIG_MBEDTLS_SSL_PROTO_TLS1=y
+CONFIG_MBEDTLS_SSL_PROTO_TLS1_1=y
+CONFIG_MBEDTLS_SSL_PROTO_TLS1_2=y
+# CONFIG_MBEDTLS_SSL_PROTO_DTLS is not set
+CONFIG_MBEDTLS_SSL_ALPN=y
+CONFIG_MBEDTLS_CLIENT_SSL_SESSION_TICKETS=y
+CONFIG_MBEDTLS_SERVER_SSL_SESSION_TICKETS=y
+
+#
+# Symmetric Ciphers
+#
+CONFIG_MBEDTLS_AES_C=y
+# CONFIG_MBEDTLS_CAMELLIA_C is not set
+# CONFIG_MBEDTLS_DES_C is not set
+CONFIG_MBEDTLS_RC4_DISABLED=y
+# CONFIG_MBEDTLS_RC4_ENABLED_NO_DEFAULT is not set
+# CONFIG_MBEDTLS_RC4_ENABLED is not set
+# CONFIG_MBEDTLS_BLOWFISH_C is not set
+# CONFIG_MBEDTLS_XTEA_C is not set
+CONFIG_MBEDTLS_CCM_C=y
+CONFIG_MBEDTLS_GCM_C=y
+# end of Symmetric Ciphers
+
+# CONFIG_MBEDTLS_RIPEMD160_C is not set
+
+#
+# Certificates
+#
+CONFIG_MBEDTLS_PEM_PARSE_C=y
+CONFIG_MBEDTLS_PEM_WRITE_C=y
+CONFIG_MBEDTLS_X509_CRL_PARSE_C=y
+CONFIG_MBEDTLS_X509_CSR_PARSE_C=y
+# end of Certificates
+
+CONFIG_MBEDTLS_ECP_C=y
+CONFIG_MBEDTLS_ECDH_C=y
+CONFIG_MBEDTLS_ECDSA_C=y
+# CONFIG_MBEDTLS_ECJPAKE_C is not set
+CONFIG_MBEDTLS_ECP_DP_SECP192R1_ENABLED=y
+CONFIG_MBEDTLS_ECP_DP_SECP224R1_ENABLED=y
+CONFIG_MBEDTLS_ECP_DP_SECP256R1_ENABLED=y
+CONFIG_MBEDTLS_ECP_DP_SECP384R1_ENABLED=y
+CONFIG_MBEDTLS_ECP_DP_SECP521R1_ENABLED=y
+CONFIG_MBEDTLS_ECP_DP_SECP192K1_ENABLED=y
+CONFIG_MBEDTLS_ECP_DP_SECP224K1_ENABLED=y
+CONFIG_MBEDTLS_ECP_DP_SECP256K1_ENABLED=y
+CONFIG_MBEDTLS_ECP_DP_BP256R1_ENABLED=y
+CONFIG_MBEDTLS_ECP_DP_BP384R1_ENABLED=y
+CONFIG_MBEDTLS_ECP_DP_BP512R1_ENABLED=y
+CONFIG_MBEDTLS_ECP_DP_CURVE25519_ENABLED=y
+CONFIG_MBEDTLS_ECP_NIST_OPTIM=y
+# CONFIG_MBEDTLS_POLY1305_C is not set
+# CONFIG_MBEDTLS_CHACHA20_C is not set
+# CONFIG_MBEDTLS_HKDF_C is not set
+# CONFIG_MBEDTLS_THREADING_C is not set
+# CONFIG_MBEDTLS_LARGE_KEY_SOFTWARE_MPI is not set
+# CONFIG_MBEDTLS_SECURITY_RISKS is not set
+# end of mbedTLS
+
+#
+# mDNS
+#
+CONFIG_MDNS_MAX_SERVICES=10
+CONFIG_MDNS_TASK_PRIORITY=1
+CONFIG_MDNS_TASK_STACK_SIZE=4096
+# CONFIG_MDNS_TASK_AFFINITY_NO_AFFINITY is not set
+CONFIG_MDNS_TASK_AFFINITY_CPU0=y
+# CONFIG_MDNS_TASK_AFFINITY_CPU1 is not set
+CONFIG_MDNS_TASK_AFFINITY=0x0
+CONFIG_MDNS_SERVICE_ADD_TIMEOUT_MS=2000
+# CONFIG_MDNS_STRICT_MODE is not set
+CONFIG_MDNS_TIMER_PERIOD_MS=100
+# end of mDNS
+
+#
+# ESP-MQTT Configurations
+#
+CONFIG_MQTT_PROTOCOL_311=y
+CONFIG_MQTT_TRANSPORT_SSL=y
+CONFIG_MQTT_TRANSPORT_WEBSOCKET=y
+CONFIG_MQTT_TRANSPORT_WEBSOCKET_SECURE=y
+# CONFIG_MQTT_MSG_ID_INCREMENTAL is not set
+# CONFIG_MQTT_SKIP_PUBLISH_IF_DISCONNECTED is not set
+# CONFIG_MQTT_REPORT_DELETED_MESSAGES is not set
+# CONFIG_MQTT_USE_CUSTOM_CONFIG is not set
+# CONFIG_MQTT_TASK_CORE_SELECTION_ENABLED is not set
+# CONFIG_MQTT_CUSTOM_OUTBOX is not set
+# end of ESP-MQTT Configurations
+
+#
+# Newlib
+#
+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
+# end of Newlib
+
+#
+# NVS
+#
+# end of NVS
+
+#
+# OpenSSL
+#
+# CONFIG_OPENSSL_DEBUG is not set
+CONFIG_OPENSSL_ERROR_STACK=y
+# CONFIG_OPENSSL_ASSERT_DO_NOTHING is not set
+CONFIG_OPENSSL_ASSERT_EXIT=y
+# end of OpenSSL
+
+#
+# PThreads
+#
+CONFIG_PTHREAD_TASK_PRIO_DEFAULT=5
+CONFIG_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072
+CONFIG_PTHREAD_STACK_MIN=768
+CONFIG_PTHREAD_DEFAULT_CORE_NO_AFFINITY=y
+# CONFIG_PTHREAD_DEFAULT_CORE_0 is not set
+# CONFIG_PTHREAD_DEFAULT_CORE_1 is not set
+CONFIG_PTHREAD_TASK_CORE_DEFAULT=-1
+CONFIG_PTHREAD_TASK_NAME_DEFAULT="pthread"
+# end of PThreads
+
+#
+# SPI Flash driver
+#
+# CONFIG_SPI_FLASH_VERIFY_WRITE is not set
+# CONFIG_SPI_FLASH_ENABLE_COUNTERS is not set
+CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=y
+CONFIG_SPI_FLASH_DANGEROUS_WRITE_ABORTS=y
+# CONFIG_SPI_FLASH_DANGEROUS_WRITE_FAILS is not set
+# CONFIG_SPI_FLASH_DANGEROUS_WRITE_ALLOWED is not set
+# CONFIG_SPI_FLASH_USE_LEGACY_IMPL is not set
+# CONFIG_SPI_FLASH_SHARE_SPI1_BUS is not set
+# CONFIG_SPI_FLASH_BYPASS_BLOCK_ERASE is not set
+CONFIG_SPI_FLASH_YIELD_DURING_ERASE=y
+CONFIG_SPI_FLASH_ERASE_YIELD_DURATION_MS=20
+CONFIG_SPI_FLASH_ERASE_YIELD_TICKS=1
+CONFIG_SPI_FLASH_WRITE_CHUNK_SIZE=8192
+# CONFIG_SPI_FLASH_SIZE_OVERRIDE is not set
+# CONFIG_SPI_FLASH_CHECK_ERASE_TIMEOUT_DISABLED is not set
+
+#
+# Auto-detect flash chips
+#
+CONFIG_SPI_FLASH_SUPPORT_ISSI_CHIP=y
+CONFIG_SPI_FLASH_SUPPORT_MXIC_CHIP=y
+CONFIG_SPI_FLASH_SUPPORT_GD_CHIP=y
+CONFIG_SPI_FLASH_SUPPORT_WINBOND_CHIP=y
+# end of Auto-detect flash chips
+
+CONFIG_SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE=y
+# end of SPI Flash driver
+
+#
+# SPIFFS Configuration
+#
+CONFIG_SPIFFS_MAX_PARTITIONS=3
+
+#
+# SPIFFS Cache Configuration
+#
+CONFIG_SPIFFS_CACHE=y
+CONFIG_SPIFFS_CACHE_WR=y
+# CONFIG_SPIFFS_CACHE_STATS is not set
+# end of SPIFFS Cache Configuration
+
+CONFIG_SPIFFS_PAGE_CHECK=y
+CONFIG_SPIFFS_GC_MAX_RUNS=10
+# CONFIG_SPIFFS_GC_STATS is not set
+CONFIG_SPIFFS_PAGE_SIZE=256
+CONFIG_SPIFFS_OBJ_NAME_LEN=32
+# CONFIG_SPIFFS_FOLLOW_SYMLINKS is not set
+CONFIG_SPIFFS_USE_MAGIC=y
+CONFIG_SPIFFS_USE_MAGIC_LENGTH=y
+CONFIG_SPIFFS_META_LENGTH=4
+CONFIG_SPIFFS_USE_MTIME=y
+
+#
+# Debug Configuration
+#
+# CONFIG_SPIFFS_DBG is not set
+# CONFIG_SPIFFS_API_DBG is not set
+# CONFIG_SPIFFS_GC_DBG is not set
+# CONFIG_SPIFFS_CACHE_DBG is not set
+# CONFIG_SPIFFS_CHECK_DBG is not set
+# CONFIG_SPIFFS_TEST_VISUALISATION is not set
+# end of Debug Configuration
+# end of SPIFFS Configuration
+
+#
+# TCP Transport
+#
+CONFIG_WS_BUFFER_SIZE=1024
+# end of TCP Transport
+
+#
+# TinyUSB
+#
+# end of TinyUSB
+
+#
+# Unity unit testing library
+#
+CONFIG_UNITY_ENABLE_FLOAT=y
+CONFIG_UNITY_ENABLE_DOUBLE=y
+# CONFIG_UNITY_ENABLE_COLOR is not set
+CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER=y
+# CONFIG_UNITY_ENABLE_FIXTURE is not set
+# CONFIG_UNITY_ENABLE_BACKTRACE_ON_FAIL is not set
+# end of Unity unit testing library
+
+#
+# Virtual file system
+#
+CONFIG_VFS_SUPPORT_IO=y
+CONFIG_VFS_SUPPORT_DIR=y
+CONFIG_VFS_SUPPORT_SELECT=y
+CONFIG_VFS_SUPPRESS_SELECT_DEBUG_OUTPUT=y
+CONFIG_VFS_SUPPORT_TERMIOS=y
+
+#
+# Host File System I/O (Semihosting)
+#
+CONFIG_VFS_SEMIHOSTFS_MAX_MOUNT_POINTS=1
+CONFIG_VFS_SEMIHOSTFS_HOST_PATH_MAX_LEN=128
+# end of Host File System I/O (Semihosting)
+# end of Virtual file system
+
+#
+# Wear Levelling
+#
+# CONFIG_WL_SECTOR_SIZE_512 is not set
+CONFIG_WL_SECTOR_SIZE_4096=y
+CONFIG_WL_SECTOR_SIZE=4096
+# end of Wear Levelling
+
+#
+# Wi-Fi Provisioning Manager
+#
+CONFIG_WIFI_PROV_SCAN_MAX_ENTRIES=16
+CONFIG_WIFI_PROV_AUTOSTOP_TIMEOUT=30
+# end of Wi-Fi Provisioning Manager
+
+#
+# Supplicant
+#
+CONFIG_WPA_MBEDTLS_CRYPTO=y
+# CONFIG_WPA_WAPI_PSK is not set
+# CONFIG_WPA_DEBUG_PRINT is not set
+# CONFIG_WPA_TESTING_OPTIONS is not set
+# CONFIG_WPA_WPS_WARS is not set
+# CONFIG_WPA_11KV_SUPPORT is not set
+# end of Supplicant
+
+#
+# Camera configuration
+#
+CONFIG_OV7670_SUPPORT=y
+# CONFIG_OV7725_SUPPORT is not set
+CONFIG_NT99141_SUPPORT=y
+CONFIG_OV2640_SUPPORT=y
+CONFIG_OV3660_SUPPORT=y
+CONFIG_OV5640_SUPPORT=y
+# CONFIG_SCCB_HARDWARE_I2C_PORT0 is not set
+CONFIG_SCCB_HARDWARE_I2C_PORT1=y
+CONFIG_CAMERA_CORE0=y
+# CONFIG_CAMERA_CORE1 is not set
+# CONFIG_CAMERA_NO_AFFINITY is not set
+# end of Camera configuration
+# end of Component config
+
+#
+# Compatibility options
+#
+# CONFIG_LEGACY_INCLUDE_COMMON_HEADERS is not set
+# end of Compatibility options
+
+# Deprecated options for backward compatibility
+CONFIG_TOOLPREFIX="xtensa-esp32-elf-"
+# 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_APP_ROLLBACK_ENABLE is not set
+# 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_9600B is not set
+# CONFIG_MONITOR_BAUD_57600B is not set
+CONFIG_MONITOR_BAUD_115200B=y
+# CONFIG_MONITOR_BAUD_230400B is not set
+# CONFIG_MONITOR_BAUD_921600B is not set
+# CONFIG_MONITOR_BAUD_2MB is not set
+# CONFIG_MONITOR_BAUD_OTHER is not set
+CONFIG_MONITOR_BAUD_OTHER_VAL=115200
+CONFIG_MONITOR_BAUD=115200
+CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG=y
+# 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_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_DISABLE_GCC8_WARNINGS is not set
+# CONFIG_ESP32_APPTRACE_DEST_TRAX is not set
+CONFIG_ESP32_APPTRACE_DEST_NONE=y
+CONFIG_ESP32_APPTRACE_LOCK_ENABLE=y
+CONFIG_BTDM_CONTROLLER_BLE_MAX_CONN_EFF=0
+CONFIG_BTDM_CONTROLLER_BR_EDR_MAX_ACL_CONN_EFF=0
+CONFIG_BTDM_CONTROLLER_BR_EDR_MAX_SYNC_CONN_EFF=0
+CONFIG_BTDM_CONTROLLER_PINNED_TO_CORE=0
+CONFIG_ADC2_DISABLE_DAC=y
+# CONFIG_SPIRAM_SUPPORT is not set
+CONFIG_TRACEMEM_RESERVE_DRAM=0x0
+# CONFIG_TWO_UNIVERSAL_MAC_ADDRESS is not set
+CONFIG_FOUR_UNIVERSAL_MAC_ADDRESS=y
+CONFIG_NUMBER_OF_UNIVERSAL_MAC_ADDRESS=4
+# CONFIG_ULP_COPROC_ENABLED is not set
+CONFIG_ULP_COPROC_RESERVE_MEM=0
+CONFIG_BROWNOUT_DET=y
+CONFIG_BROWNOUT_DET_LVL_SEL_0=y
+# CONFIG_BROWNOUT_DET_LVL_SEL_1 is not set
+# CONFIG_BROWNOUT_DET_LVL_SEL_2 is not set
+# CONFIG_BROWNOUT_DET_LVL_SEL_3 is not set
+# CONFIG_BROWNOUT_DET_LVL_SEL_4 is not set
+# CONFIG_BROWNOUT_DET_LVL_SEL_5 is not set
+# CONFIG_BROWNOUT_DET_LVL_SEL_6 is not set
+# CONFIG_BROWNOUT_DET_LVL_SEL_7 is not set
+CONFIG_BROWNOUT_DET_LVL=0
+CONFIG_REDUCE_PHY_TX_POWER=y
+CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_RC=y
+# CONFIG_ESP32_RTC_CLOCK_SOURCE_EXTERNAL_CRYSTAL is not set
+# CONFIG_ESP32_RTC_CLOCK_SOURCE_EXTERNAL_OSC is not set
+# CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_8MD256 is not set
+# CONFIG_DISABLE_BASIC_ROM_CONSOLE is not set
+# CONFIG_NO_BLOBS is not set
+# CONFIG_COMPATIBLE_PRE_V2_1_BOOTLOADERS is not set
+CONFIG_SYSTEM_EVENT_QUEUE_SIZE=32
+CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE=2304
+CONFIG_MAIN_TASK_STACK_SIZE=3584
+CONFIG_IPC_TASK_STACK_SIZE=1024
+CONFIG_CONSOLE_UART_DEFAULT=y
+# CONFIG_CONSOLE_UART_CUSTOM 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_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_EVENT_LOOP_PROFILING is not set
+CONFIG_POST_EVENTS_FROM_ISR=y
+CONFIG_POST_EVENTS_FROM_IRAM_ISR=y
+# CONFIG_ESP32S2_PANIC_PRINT_HALT is not set
+CONFIG_ESP32S2_PANIC_PRINT_REBOOT=y
+# CONFIG_ESP32S2_PANIC_SILENT_REBOOT is not set
+# CONFIG_ESP32S2_PANIC_GDBSTUB is not set
+CONFIG_TIMER_TASK_STACK_SIZE=3584
+# 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_MB_MASTER_TIMEOUT_MS_RESPOND=150
+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=y
+CONFIG_MB_TIMER_GROUP=0
+CONFIG_MB_TIMER_INDEX=0
+# CONFIG_ENABLE_STATIC_TASK_CLEAN_UP_HOOK is not set
+CONFIG_TIMER_TASK_PRIORITY=1
+CONFIG_TIMER_TASK_STACK_DEPTH=2048
+CONFIG_TIMER_QUEUE_LENGTH=10
+# CONFIG_L2_TO_L3_COPY is not set
+# CONFIG_USE_ONLY_LWIP_SELECT 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=5744
+CONFIG_TCP_WND_DEFAULT=5744
+CONFIG_TCP_RECVMBOX_SIZE=6
+CONFIG_TCP_QUEUE_OOSEQ=y
+# CONFIG_ESP_TCP_KEEP_CONNECTION_WHEN_IP_CHANGES is not set
+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 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_SEMIHOSTFS_HOST_PATH_MAX_LEN=128
+# End of deprecated options
diff --git a/code/version.cpp b/code/version.cpp
index dbffed26..546c7509 100644
--- a/code/version.cpp
+++ b/code/version.cpp
@@ -1,4 +1,4 @@
-const char* GIT_REV="1e6eddc";
+const char* GIT_REV="c033db9";
const char* GIT_TAG="";
const char* GIT_BRANCH="rolling";
-const char* BUILD_TIME="2021-09-20 21:11";
\ No newline at end of file
+const char* BUILD_TIME="2021-09-21 18:27";
\ No newline at end of file
diff --git a/firmware/bootloader.bin b/firmware/bootloader.bin
index 787a772f121fd9f40cfd7e94a2354b911759422d..1e2b77a3481cc1ecff4eddfc2cb8e4981ae4e67f 100644
GIT binary patch
delta 61
zcmdmRlyL(P$q929T38vISQ#2kW@M4rY$qJ(ulVA)x94(0**bM|Y3G1SSGCWT;$|XJ
QUn3Z`!cR
delta 61
zcmdmRlyL(P$q9298Cn?{S(%tmW@M4rY$qJ(ulQ_PvYv@+u-_WX120XNUr(PO`ZeK7
R-um?y)Hq-Du&p__1OTXF8BqWL
diff --git a/firmware/firmware.bin b/firmware/firmware.bin
index a291caf8b6f08da65fb6cca63407620e44d6e159..126c06d3a9c7061a57f990543a103bb5a3f17e51 100644
GIT binary patch
delta 172049
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