From 09c4dd11ef166daba5613a9380e993d929f10002 Mon Sep 17 00:00:00 2001 From: Alex Israelov Date: Sun, 23 Oct 2022 09:25:06 -0600 Subject: [PATCH 01/35] First commit --- .../ossg_firmware_mcu/.gitignore | 2 + .../ossg_firmware_mcu/.gitmodules | 8 + .../ossg_firmware_mcu/.vscode/settings.json | 69 + .../ossg_firmware_mcu/BKUPSDKCONFIG.dogpico32 | 1771 +++++++++++++++++ .../ossg_firmware_mcu/MemoryEval.txt | 55 + .../ossg_firmware_mcu/components/test | 0 .../ossg_firmware_mcu/include/message_types.h | 138 ++ .../include/ossg_constants.hpp | 11 + .../ossg_firmware_mcu/lib/strings.h | 6 - .../ossg_firmware_mcu/min_spiffs.csv | 6 + .../ossg_firmware_mcu/platformio.ini | 20 +- .../ossg_firmware_mcu/sdkconfig.esp32dev | 2 +- .../ossg_firmware_mcu/sdkconfig.pico32 | 1195 ++++++----- .../ossg_firmware_mcu/sdkconfig.pico32.old | 1609 +++++++++++++++ .../src/display/displaymanager.cpp | 88 + .../src/display/displaymanager.hpp | 12 + .../src/display/global_settings.hpp | 39 + .../ossg_firmware_mcu/src/display/gui/ui.c | 848 ++++++++ .../ossg_firmware_mcu/src/display/gui/ui.h | 118 ++ .../src/display/gui/ui_comp.c | 424 ++++ .../src/display/gui/ui_comp.h | 75 + .../src/display/gui/ui_helpers.c | 189 ++ .../src/display/gui/ui_helpers.h | 94 + .../src/display/helper_display.hpp | 222 +++ .../src/display/helper_storage.hpp | 54 + .../ossg_firmware_mcu/src/display/lv_conf.h | 761 +++++++ .../src/display/user_setting.hpp | 89 + .../src/{main.c => main.cpp} | 675 ++++--- .../ossg_firmware_mcu/src/myexamplejson.dog | 6 + 29 files changed, 7691 insertions(+), 895 deletions(-) create mode 100644 electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/.gitmodules create mode 100644 electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/.vscode/settings.json create mode 100644 electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/BKUPSDKCONFIG.dogpico32 create mode 100644 electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/MemoryEval.txt create mode 100644 electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/components/test create mode 100644 electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/include/message_types.h create mode 100644 electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/include/ossg_constants.hpp delete mode 100644 electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/lib/strings.h create mode 100644 electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/min_spiffs.csv create mode 100644 electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/sdkconfig.pico32.old create mode 100644 electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/displaymanager.cpp create mode 100644 electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/displaymanager.hpp create mode 100644 electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/global_settings.hpp create mode 100644 electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/gui/ui.c create mode 100644 electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/gui/ui.h create mode 100644 electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/gui/ui_comp.c create mode 100644 electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/gui/ui_comp.h create mode 100644 electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/gui/ui_helpers.c create mode 100644 electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/gui/ui_helpers.h create mode 100644 electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/helper_display.hpp create mode 100644 electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/helper_storage.hpp create mode 100644 electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/lv_conf.h create mode 100644 electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/user_setting.hpp rename electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/{main.c => main.cpp} (62%) create mode 100644 electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/myexamplejson.dog diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/.gitignore b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/.gitignore index 89cc49c..d251713 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/.gitignore +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/.gitignore @@ -3,3 +3,5 @@ .vscode/c_cpp_properties.json .vscode/launch.json .vscode/ipch +build/* +components/lvgl/* \ No newline at end of file diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/.gitmodules b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/.gitmodules new file mode 100644 index 0000000..1128d62 --- /dev/null +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/.gitmodules @@ -0,0 +1,8 @@ +[submodule "lib/LovyanGFX"] + path = lib/LovyanGFX + url = https://github.com/lovyan03/LovyanGFX.git + branch = develop +[submodule "components/lvgl"] + path = components/lvgl + url = https://github.com/lvgl/lvgl.git + branch = release/v8.3 diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/.vscode/settings.json b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/.vscode/settings.json new file mode 100644 index 0000000..fea1ed7 --- /dev/null +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/.vscode/settings.json @@ -0,0 +1,69 @@ +{ + "files.associations": { + "lvgl.h": "c", + "displaymanager.hpp": "c", + "string.h": "c", + "stdio.h": "c", + "string": "c", + "stack": "c", + "iostream": "c", + "displaymanager.h": "c", + "test.h": "c", + "array": "cpp", + "atomic": "cpp", + "*.tcc": "cpp", + "cctype": "cpp", + "chrono": "cpp", + "clocale": "cpp", + "cmath": "cpp", + "codecvt": "cpp", + "condition_variable": "cpp", + "csignal": "cpp", + "cstdarg": "cpp", + "cstddef": "cpp", + "cstdint": "cpp", + "cstdio": "cpp", + "cstdlib": "cpp", + "cstring": "cpp", + "ctime": "cpp", + "cwchar": "cpp", + "cwctype": "cpp", + "deque": "cpp", + "list": "cpp", + "unordered_map": "cpp", + "vector": "cpp", + "exception": "cpp", + "algorithm": "cpp", + "functional": "cpp", + "iterator": "cpp", + "map": "cpp", + "memory": "cpp", + "memory_resource": "cpp", + "numeric": "cpp", + "optional": "cpp", + "random": "cpp", + "ratio": "cpp", + "set": "cpp", + "string_view": "cpp", + "system_error": "cpp", + "tuple": "cpp", + "type_traits": "cpp", + "utility": "cpp", + "fstream": "cpp", + "future": "cpp", + "initializer_list": "cpp", + "iomanip": "cpp", + "iosfwd": "cpp", + "istream": "cpp", + "limits": "cpp", + "mutex": "cpp", + "new": "cpp", + "ostream": "cpp", + "sstream": "cpp", + "stdexcept": "cpp", + "streambuf": "cpp", + "thread": "cpp", + "cinttypes": "cpp", + "typeinfo": "cpp" + } +} \ No newline at end of file diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/BKUPSDKCONFIG.dogpico32 b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/BKUPSDKCONFIG.dogpico32 new file mode 100644 index 0000000..704ab30 --- /dev/null +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/BKUPSDKCONFIG.dogpico32 @@ -0,0 +1,1771 @@ +# +# 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 +CONFIG_BOOTLOADER_FLASH_XMC_SUPPORT=y +# 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_FLASH_SAMPLE_MODE_STR=y +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 is not set +CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y +# CONFIG_ESPTOOLPY_FLASHSIZE_8MB is not set +# CONFIG_ESPTOOLPY_FLASHSIZE_16MB is not set +CONFIG_ESPTOOLPY_FLASHSIZE="4MB" +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 is not set +# CONFIG_PARTITION_TABLE_SINGLE_APP_LARGE is not set +# CONFIG_PARTITION_TABLE_TWO_OTA is not set +CONFIG_PARTITION_TABLE_CUSTOM=y +CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions_singleapp_large.csv" +CONFIG_PARTITION_TABLE_FILENAME="partitions_singleapp_large.csv" +CONFIG_PARTITION_TABLE_OFFSET=0x8000 +CONFIG_PARTITION_TABLE_MD5=y +# end of Partition Table + +# +# 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_OPTIMIZATION_ASSERTION_LEVEL=2 +# CONFIG_COMPILER_OPTIMIZATION_CHECKS_SILENT is not set +CONFIG_COMPILER_HIDE_PATHS_MACROS=y +# 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_JTAG 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 +# 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 + +# +# MCPWM configuration +# +# CONFIG_MCPWM_ISR_IN_IRAM is not set +# end of MCPWM 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 + +# +# GDMA Configuration +# +# CONFIG_GDMA_CTRL_FUNC_IN_IRAM is not set +# CONFIG_GDMA_ISR_IRAM_SAFE is not set +# end of GDMA 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_CLIENT_SESSION_TICKETS 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_ECO3_CACHE_LOCK_FIX=y +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 is not set +CONFIG_ESP32_DEFAULT_CPU_FREQ_240=y +CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ=240 +CONFIG_ESP32_SPIRAM_SUPPORT=y + +# +# SPI RAM config +# +CONFIG_SPIRAM_TYPE_AUTO=y +# CONFIG_SPIRAM_TYPE_ESPPSRAM16 is not set +# CONFIG_SPIRAM_TYPE_ESPPSRAM32 is not set +# CONFIG_SPIRAM_TYPE_ESPPSRAM64 is not set +CONFIG_SPIRAM_SIZE=-1 +CONFIG_SPIRAM_SPEED_40M=y +CONFIG_SPIRAM=y +CONFIG_SPIRAM_BOOT_INIT=y +# CONFIG_SPIRAM_IGNORE_NOTFOUND is not set +# CONFIG_SPIRAM_USE_MEMMAP is not set +# CONFIG_SPIRAM_USE_CAPS_ALLOC is not set +CONFIG_SPIRAM_USE_MALLOC=y +CONFIG_SPIRAM_MEMTEST=y +CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL=131072 +CONFIG_SPIRAM_TRY_ALLOCATE_WIFI_LWIP=y +CONFIG_SPIRAM_MALLOC_RESERVE_INTERNAL=32768 +# CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY is not set +# CONFIG_SPIRAM_ALLOW_NOINIT_SEG_EXTERNAL_MEMORY is not set +CONFIG_SPIRAM_CACHE_WORKAROUND=y + +# +# SPIRAM cache workaround debugging +# +CONFIG_SPIRAM_CACHE_WORKAROUND_STRATEGY_MEMW=y +# CONFIG_SPIRAM_CACHE_WORKAROUND_STRATEGY_DUPLDST is not set +# CONFIG_SPIRAM_CACHE_WORKAROUND_STRATEGY_NOPS is not set +# end of SPIRAM cache workaround debugging + +# +# SPIRAM workaround libraries placement +# +CONFIG_SPIRAM_CACHE_LIBJMP_IN_IRAM=y +CONFIG_SPIRAM_CACHE_LIBMATH_IN_IRAM=y +CONFIG_SPIRAM_CACHE_LIBNUMPARSER_IN_IRAM=y +CONFIG_SPIRAM_CACHE_LIBIO_IN_IRAM=y +CONFIG_SPIRAM_CACHE_LIBTIME_IN_IRAM=y +CONFIG_SPIRAM_CACHE_LIBCHAR_IN_IRAM=y +CONFIG_SPIRAM_CACHE_LIBMEM_IN_IRAM=y +CONFIG_SPIRAM_CACHE_LIBSTR_IN_IRAM=y +CONFIG_SPIRAM_CACHE_LIBRAND_IN_IRAM=y +CONFIG_SPIRAM_CACHE_LIBENV_IN_IRAM=y +CONFIG_SPIRAM_CACHE_LIBFILE_IN_IRAM=y +CONFIG_SPIRAM_CACHE_LIBMISC_IN_IRAM=y +# end of SPIRAM workaround libraries placement + +CONFIG_SPIRAM_BANKSWITCH_ENABLE=y +CONFIG_SPIRAM_BANKSWITCH_RESERVE=8 +# CONFIG_SPIRAM_ALLOW_STACK_EXTERNAL_MEMORY is not set + +# +# PSRAM clock and cs IO for ESP32-DOWD +# +CONFIG_D0WD_PSRAM_CLK_IO=17 +CONFIG_D0WD_PSRAM_CS_IO=16 +# end of PSRAM clock and cs IO for ESP32-DOWD + +# +# PSRAM clock and cs IO for ESP32-D2WD +# +CONFIG_D2WD_PSRAM_CLK_IO=9 +CONFIG_D2WD_PSRAM_CS_IO=10 +# end of PSRAM clock and cs IO for ESP32-D2WD + +# +# PSRAM clock and cs IO for ESP32-PICO +# +CONFIG_PICO_PSRAM_CS_IO=10 +# end of PSRAM clock and cs IO for ESP32-PICO + +# CONFIG_SPIRAM_CUSTOM_SPIWP_SD3_PIN is not set +CONFIG_SPIRAM_SPIWP_SD3_PIN=7 +# CONFIG_SPIRAM_2T_MODE is not set +# end of SPI RAM config + +# CONFIG_ESP32_TRAX is not set +CONFIG_ESP32_TRACEMEM_RESERVE_DRAM=0x0 +# 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_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_COMPATIBLE_PRE_V3_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 +# end of Common ESP-related + +# +# Ethernet +# +CONFIG_ETH_ENABLED=y +CONFIG_ETH_USE_ESP32_EMAC=y +CONFIG_ETH_PHY_INTERFACE_RMII=y +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_SPI_ETHERNET_KSZ8851SNL 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 +CONFIG_ESP_HTTP_CLIENT_ENABLE_DIGEST_AUTH=y +# 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 + +# +# Hardware Settings +# + +# +# MAC Config +# +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 +# CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_TWO is not set +CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_FOUR=y +CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES=4 +# end of MAC Config + +# +# Sleep Config +# +CONFIG_ESP_SLEEP_RTC_BUS_ISO_WORKAROUND=y +# CONFIG_ESP_SLEEP_GPIO_RESET_WORKAROUND is not set +# CONFIG_ESP_SLEEP_PSRAM_LEAKAGE_WORKAROUND is not set +# CONFIG_ESP_SLEEP_FLASH_LEAKAGE_WORKAROUND is not set +# end of Sleep Config + +# +# RTC Clock Config +# +# end of RTC Clock Config +# end of Hardware Settings + +# +# IPC (Inter-Processor Call) +# +CONFIG_ESP_IPC_TASK_STACK_SIZE=1024 +CONFIG_ESP_IPC_USES_CALLERS_PRIORITY=y +CONFIG_ESP_IPC_ISR_ENABLE=y +# end of IPC (Inter-Processor Call) + +# +# LCD and Touch Panel +# + +# +# LCD Peripheral Configuration +# +CONFIG_LCD_PANEL_IO_FORMAT_BUF_SIZE=32 +# end of LCD Peripheral Configuration +# end of LCD and Touch Panel + +# +# 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 + +# +# PHY +# +CONFIG_ESP_PHY_CALIBRATION_AND_DATA_STORAGE=y +# CONFIG_ESP_PHY_INIT_DATA_IN_PARTITION is not set +CONFIG_ESP_PHY_MAX_WIFI_TX_POWER=20 +CONFIG_ESP_PHY_MAX_TX_POWER=20 +CONFIG_ESP_PHY_REDUCE_TX_POWER=y +# end of PHY + +# +# 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_GDBSTUB_RUNTIME is not set + +# +# Memory protection +# +# end of Memory protection + +CONFIG_ESP_SYSTEM_EVENT_QUEUE_SIZE=32 +CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=2304 +CONFIG_ESP_MAIN_TASK_STACK_SIZE=3584 +CONFIG_ESP_MAIN_TASK_AFFINITY_CPU0=y +# CONFIG_ESP_MAIN_TASK_AFFINITY_CPU1 is not set +# CONFIG_ESP_MAIN_TASK_AFFINITY_NO_AFFINITY is not set +CONFIG_ESP_MAIN_TASK_AFFINITY=0x0 +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_DEBUG_STUBS_ENABLE is not set +CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_5=y +# CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_4 is not set +# 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_INTERRUPT_LEVEL=1 +# CONFIG_ESP_TIMER_SUPPORTS_ISR_DISPATCH_METHOD is not set +# 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_ENABLED=y +CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=10 +CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=32 +CONFIG_ESP32_WIFI_STATIC_TX_BUFFER=y +CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=0 +CONFIG_ESP32_WIFI_STATIC_TX_BUFFER_NUM=16 +CONFIG_ESP32_WIFI_CACHE_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_AMSDU_TX_ENABLED is not set +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_ESP_WIFI_SLP_IRAM_OPT is not set +# CONFIG_ESP_WIFI_STA_DISCONNECTED_PM_ENABLE is not set +# CONFIG_ESP_WIFI_GMAC_SUPPORT is not set +CONFIG_ESP_WIFI_SOFTAP_SUPPORT=y +# end of Wi-Fi + +# +# 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_ALLOC_PREFER_EXTRAM=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_PORT_TASK_AFFINITY_NO_AFFINITY is not set +CONFIG_FMB_PORT_TASK_AFFINITY_CPU0=y +# CONFIG_FMB_PORT_TASK_AFFINITY_CPU1 is not set +CONFIG_FMB_PORT_TASK_AFFINITY=0x0 +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_MASTER_TIMER_GROUP=0 +CONFIG_FMB_MASTER_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_TICK_SUPPORT_CORETIMER=y +CONFIG_FREERTOS_CORETIMER_0=y +# CONFIG_FREERTOS_CORETIMER_1 is not set +CONFIG_FREERTOS_SYSTICK_USES_CCOUNT=y +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 +CONFIG_FREERTOS_ENABLE_TASK_SNAPSHOT=y +# CONFIG_FREERTOS_PLACE_SNAPSHOT_FUNS_INTO_FLASH is not set +# end of FreeRTOS + +# +# Hardware Abstraction Layer (HAL) and Low Level (LL) +# +CONFIG_HAL_ASSERTION_EQUALS_SYSTEM=y +# CONFIG_HAL_ASSERTION_DISABLE is not set +# CONFIG_HAL_ASSERTION_SILIENT is not set +# CONFIG_HAL_ASSERTION_ENABLE is not set +CONFIG_HAL_DEFAULT_ASSERTION_LEVEL=2 +# end of Hardware Abstraction Layer (HAL) and Low Level (LL) + +# +# 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_MAXIMUM_EQUALS_DEFAULT=y +# CONFIG_LOG_MAXIMUM_LEVEL_DEBUG is not set +# CONFIG_LOG_MAXIMUM_LEVEL_VERBOSE is not set +CONFIG_LOG_MAXIMUM_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_NETIF_API is not set +# CONFIG_LWIP_TCPIP_CORE_LOCKING is not set +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_DISABLE_CLIENT_ID is not set +CONFIG_LWIP_DHCP_DISABLE_VENDOR_CLASS_ID=y +# CONFIG_LWIP_DHCP_RESTORE_LAST_IP is not set +CONFIG_LWIP_DHCP_OPTIONS_LEN=68 + +# +# DHCP server +# +CONFIG_LWIP_DHCPS=y +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_IPV6_NUM_ADDRESSES=3 +# CONFIG_LWIP_IPV6_FORWARD is not set +# CONFIG_LWIP_NETIF_STATUS_CALLBACK 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_WND_SCALE 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_ICMP=y +# 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_SNTP_MAX_SERVERS=1 +# CONFIG_LWIP_DHCP_GET_NTP_SRV is not set +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_ND6_GET_GW_NONE=y +# CONFIG_LWIP_HOOK_ND6_GET_GW_DEFAULT is not set +# CONFIG_LWIP_HOOK_ND6_GET_GW_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_EXTERNAL_MEM_ALLOC is not set +# 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 + +# +# mbedTLS v2.28.x related +# +# CONFIG_MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH is not set +# CONFIG_MBEDTLS_X509_TRUSTED_CERT_CALLBACK is not set +# CONFIG_MBEDTLS_SSL_CONTEXT_SERIALIZATION is not set +CONFIG_MBEDTLS_SSL_KEEP_PEER_CERTIFICATE=y +# end of mbedTLS v2.28.x related + +# +# 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_GMTSSL1_1 is not set +# CONFIG_MBEDTLS_SSL_PROTO_DTLS is not set +CONFIG_MBEDTLS_SSL_ALPN=y +CONFIG_MBEDTLS_CLIENT_SSL_SESSION_TICKETS=y +CONFIG_MBEDTLS_X509_CHECK_KEY_USAGE=y +CONFIG_MBEDTLS_X509_CHECK_EXTENDED_KEY_USAGE=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 +# CONFIG_MBEDTLS_NIST_KW_C is not set +# 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 +# CONFIG_MDNS_NETWORKING_SOCKET is not set +CONFIG_MDNS_MULTIPLE_INSTANCE=y +# 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 + +# +# OpenThread +# +# CONFIG_OPENTHREAD_ENABLED is not set +# end of OpenThread + +# +# 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 +# CONFIG_SPI_FLASH_OVERRIDE_CHIP_DRIVER_LIST 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 +# CONFIG_SPI_FLASH_SUPPORT_BOYA_CHIP is not set +# CONFIG_SPI_FLASH_SUPPORT_TH_CHIP is not set +# 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 +# + +# +# Websocket +# +CONFIG_WS_TRANSPORT=y +CONFIG_WS_BUFFER_SIZE=1024 +# end of Websocket +# end of TCP Transport + +# +# Unity unit testing library +# +CONFIG_UNITY_ENABLE_FLOAT=y +CONFIG_UNITY_ENABLE_DOUBLE=y +# CONFIG_UNITY_ENABLE_64BIT is not set +# 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_SUITE_B_192 is not set +# CONFIG_WPA_DEBUG_PRINT is not set +# CONFIG_WPA_TESTING_OPTIONS is not set +# CONFIG_WPA_WPS_STRICT is not set +# CONFIG_WPA_11KV_SUPPORT is not set +# end of Supplicant + +# +# LVGL configuration +# +# CONFIG_LV_CONF_SKIP is not set +# CONFIG_LV_CONF_MINIMAL is not set + +# +# Color settings +# +# CONFIG_LV_COLOR_DEPTH_32 is not set +CONFIG_LV_COLOR_DEPTH_16=y +# CONFIG_LV_COLOR_DEPTH_8 is not set +# CONFIG_LV_COLOR_DEPTH_1 is not set +CONFIG_LV_COLOR_DEPTH=16 +# CONFIG_LV_COLOR_16_SWAP is not set +# CONFIG_LV_COLOR_SCREEN_TRANSP is not set +CONFIG_LV_COLOR_MIX_ROUND_OFS=128 +CONFIG_LV_COLOR_CHROMA_KEY_HEX=0x00FF00 +# end of Color settings + +# +# Memory settings +# +# CONFIG_LV_MEM_CUSTOM is not set +CONFIG_LV_MEM_SIZE_KILOBYTES=32 +CONFIG_LV_MEM_ADDR=0x0 +CONFIG_LV_MEM_BUF_MAX_NUM=16 +# CONFIG_LV_MEMCPY_MEMSET_STD is not set +# end of Memory settings + +# +# HAL Settings +# +CONFIG_LV_DISP_DEF_REFR_PERIOD=30 +CONFIG_LV_INDEV_DEF_READ_PERIOD=30 +# CONFIG_LV_TICK_CUSTOM is not set +CONFIG_LV_DPI_DEF=130 +# end of HAL Settings + +# +# Feature configuration +# + +# +# Drawing +# +CONFIG_LV_DRAW_COMPLEX=y +CONFIG_LV_SHADOW_CACHE_SIZE=0 +CONFIG_LV_CIRCLE_CACHE_SIZE=4 +CONFIG_LV_LAYER_SIMPLE_BUF_SIZE=24576 +CONFIG_LV_IMG_CACHE_DEF_SIZE=0 +CONFIG_LV_GRADIENT_MAX_STOPS=2 +CONFIG_LV_GRAD_CACHE_DEF_SIZE=0 +# CONFIG_LV_DITHER_GRADIENT is not set +CONFIG_LV_DISP_ROT_MAX_BUF=10240 +# end of Drawing + +# +# GPU +# +# CONFIG_LV_USE_GPU_ARM2D is not set +# CONFIG_LV_USE_GPU_STM32_DMA2D is not set +# CONFIG_LV_USE_GPU_SWM341_DMA2D is not set +# CONFIG_LV_USE_GPU_NXP_PXP is not set +# CONFIG_LV_USE_GPU_NXP_VG_LITE is not set +# CONFIG_LV_USE_GPU_SDL is not set +# end of GPU + +# +# Logging +# +# CONFIG_LV_USE_LOG is not set +# end of Logging + +# +# Asserts +# +CONFIG_LV_USE_ASSERT_NULL=y +CONFIG_LV_USE_ASSERT_MALLOC=y +# CONFIG_LV_USE_ASSERT_STYLE is not set +# CONFIG_LV_USE_ASSERT_MEM_INTEGRITY is not set +# CONFIG_LV_USE_ASSERT_OBJ is not set +CONFIG_LV_ASSERT_HANDLER_INCLUDE="assert.h" +# end of Asserts + +# +# Others +# +# CONFIG_LV_USE_PERF_MONITOR is not set +# CONFIG_LV_USE_MEM_MONITOR is not set +# CONFIG_LV_USE_REFR_DEBUG is not set +# CONFIG_LV_SPRINTF_CUSTOM is not set +# CONFIG_LV_SPRINTF_USE_FLOAT is not set +CONFIG_LV_USE_USER_DATA=y +# CONFIG_LV_ENABLE_GC is not set +# end of Others + +# +# Compiler settings +# +# CONFIG_LV_BIG_ENDIAN_SYSTEM is not set +CONFIG_LV_ATTRIBUTE_MEM_ALIGN_SIZE=1 +# CONFIG_LV_ATTRIBUTE_FAST_MEM_USE_IRAM is not set +# CONFIG_LV_USE_LARGE_COORD is not set +# end of Compiler settings +# end of Feature configuration + +# +# Font usage +# + +# +# Enable built-in fonts +# +# CONFIG_LV_FONT_MONTSERRAT_8 is not set +# CONFIG_LV_FONT_MONTSERRAT_10 is not set +# CONFIG_LV_FONT_MONTSERRAT_12 is not set +CONFIG_LV_FONT_MONTSERRAT_14=y +# CONFIG_LV_FONT_MONTSERRAT_16 is not set +# CONFIG_LV_FONT_MONTSERRAT_18 is not set +# CONFIG_LV_FONT_MONTSERRAT_20 is not set +# CONFIG_LV_FONT_MONTSERRAT_22 is not set +# CONFIG_LV_FONT_MONTSERRAT_24 is not set +# CONFIG_LV_FONT_MONTSERRAT_26 is not set +# CONFIG_LV_FONT_MONTSERRAT_28 is not set +# CONFIG_LV_FONT_MONTSERRAT_30 is not set +# CONFIG_LV_FONT_MONTSERRAT_32 is not set +# CONFIG_LV_FONT_MONTSERRAT_34 is not set +# CONFIG_LV_FONT_MONTSERRAT_36 is not set +# CONFIG_LV_FONT_MONTSERRAT_38 is not set +# CONFIG_LV_FONT_MONTSERRAT_40 is not set +# CONFIG_LV_FONT_MONTSERRAT_42 is not set +# CONFIG_LV_FONT_MONTSERRAT_44 is not set +# CONFIG_LV_FONT_MONTSERRAT_46 is not set +# CONFIG_LV_FONT_MONTSERRAT_48 is not set +# CONFIG_LV_FONT_MONTSERRAT_12_SUBPX is not set +# CONFIG_LV_FONT_MONTSERRAT_28_COMPRESSED is not set +# CONFIG_LV_FONT_DEJAVU_16_PERSIAN_HEBREW is not set +# CONFIG_LV_FONT_SIMSUN_16_CJK is not set +# CONFIG_LV_FONT_UNSCII_8 is not set +# CONFIG_LV_FONT_UNSCII_16 is not set +# CONFIG_LV_FONT_CUSTOM is not set +# end of Enable built-in fonts + +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_8 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_12 is not set +CONFIG_LV_FONT_DEFAULT_MONTSERRAT_14=y +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_16 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_18 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_20 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_22 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_24 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_26 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_28 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_30 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_32 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_34 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_36 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_38 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_40 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_42 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_44 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_46 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_48 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_12_SUBPX is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_28_COMPRESSED is not set +# CONFIG_LV_FONT_DEFAULT_DEJAVU_16_PERSIAN_HEBREW is not set +# CONFIG_LV_FONT_DEFAULT_SIMSUN_16_CJK is not set +# CONFIG_LV_FONT_DEFAULT_UNSCII_8 is not set +# CONFIG_LV_FONT_DEFAULT_UNSCII_16 is not set +# CONFIG_LV_FONT_FMT_TXT_LARGE is not set +# CONFIG_LV_USE_FONT_COMPRESSED is not set +# CONFIG_LV_USE_FONT_SUBPX is not set +CONFIG_LV_USE_FONT_PLACEHOLDER=y +# end of Font usage + +# +# Text Settings +# +CONFIG_LV_TXT_ENC_UTF8=y +# CONFIG_LV_TXT_ENC_ASCII is not set +CONFIG_LV_TXT_BREAK_CHARS=" ,.;:-_" +CONFIG_LV_TXT_LINE_BREAK_LONG_LEN=0 +CONFIG_LV_TXT_COLOR_CMD="#" +# CONFIG_LV_USE_BIDI is not set +# CONFIG_LV_USE_ARABIC_PERSIAN_CHARS is not set +# end of Text Settings + +# +# Widget usage +# +CONFIG_LV_USE_ARC=y +CONFIG_LV_USE_BAR=y +CONFIG_LV_USE_BTN=y +CONFIG_LV_USE_BTNMATRIX=y +CONFIG_LV_USE_CANVAS=y +CONFIG_LV_USE_CHECKBOX=y +CONFIG_LV_USE_DROPDOWN=y +CONFIG_LV_USE_IMG=y +CONFIG_LV_USE_LABEL=y +CONFIG_LV_LABEL_TEXT_SELECTION=y +CONFIG_LV_LABEL_LONG_TXT_HINT=y +CONFIG_LV_USE_LINE=y +CONFIG_LV_USE_ROLLER=y +CONFIG_LV_ROLLER_INF_PAGES=7 +CONFIG_LV_USE_SLIDER=y +CONFIG_LV_USE_SWITCH=y +CONFIG_LV_USE_TEXTAREA=y +CONFIG_LV_TEXTAREA_DEF_PWD_SHOW_TIME=1500 +CONFIG_LV_USE_TABLE=y +# end of Widget usage + +# +# Extra Widgets +# +CONFIG_LV_USE_ANIMIMG=y +CONFIG_LV_USE_CALENDAR=y +# CONFIG_LV_CALENDAR_WEEK_STARTS_MONDAY is not set +CONFIG_LV_USE_CALENDAR_HEADER_ARROW=y +CONFIG_LV_USE_CALENDAR_HEADER_DROPDOWN=y +CONFIG_LV_USE_CHART=y +CONFIG_LV_USE_COLORWHEEL=y +CONFIG_LV_USE_IMGBTN=y +CONFIG_LV_USE_KEYBOARD=y +CONFIG_LV_USE_LED=y +CONFIG_LV_USE_LIST=y +CONFIG_LV_USE_MENU=y +CONFIG_LV_USE_METER=y +CONFIG_LV_USE_MSGBOX=y +CONFIG_LV_USE_SPAN=y +CONFIG_LV_SPAN_SNIPPET_STACK_SIZE=64 +CONFIG_LV_USE_SPINBOX=y +CONFIG_LV_USE_SPINNER=y +CONFIG_LV_USE_TABVIEW=y +CONFIG_LV_USE_TILEVIEW=y +CONFIG_LV_USE_WIN=y +# end of Extra Widgets + +# +# Themes +# +CONFIG_LV_USE_THEME_DEFAULT=y +# CONFIG_LV_THEME_DEFAULT_DARK is not set +CONFIG_LV_THEME_DEFAULT_GROW=y +CONFIG_LV_THEME_DEFAULT_TRANSITION_TIME=80 +CONFIG_LV_USE_THEME_BASIC=y +# CONFIG_LV_USE_THEME_MONO is not set +# end of Themes + +# +# Layouts +# +CONFIG_LV_USE_FLEX=y +CONFIG_LV_USE_GRID=y +# end of Layouts + +# +# 3rd Party Libraries +# +# CONFIG_LV_USE_FS_STDIO is not set +# CONFIG_LV_USE_FS_POSIX is not set +# CONFIG_LV_USE_FS_WIN32 is not set +# CONFIG_LV_USE_FS_FATFS is not set +# CONFIG_LV_USE_PNG is not set +# CONFIG_LV_USE_BMP is not set +# CONFIG_LV_USE_SJPG is not set +# CONFIG_LV_USE_GIF is not set +# CONFIG_LV_USE_QRCODE is not set +# CONFIG_LV_USE_FREETYPE is not set +# CONFIG_LV_USE_RLOTTIE is not set +# CONFIG_LV_USE_FFMPEG is not set +# end of 3rd Party Libraries + +# +# Others +# +CONFIG_LV_USE_SNAPSHOT=y +# CONFIG_LV_USE_MONKEY is not set +# CONFIG_LV_USE_GRIDNAV is not set +# CONFIG_LV_USE_FRAGMENT is not set +# CONFIG_LV_USE_IMGFONT is not set +# CONFIG_LV_USE_MSG is not set +# CONFIG_LV_USE_IME_PINYIN is not set +# end of Others + +# +# Examples +# +CONFIG_LV_BUILD_EXAMPLES=y +# end of Examples + +# +# Demos +# +# CONFIG_LV_USE_DEMO_WIDGETS is not set +# CONFIG_LV_USE_DEMO_KEYPAD_AND_ENCODER is not set +# CONFIG_LV_USE_DEMO_BENCHMARK is not set +# CONFIG_LV_USE_DEMO_STRESS is not set +# CONFIG_LV_USE_DEMO_MUSIC is not set +# end of Demos +# end of LVGL 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_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_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_ADC2_DISABLE_DAC=y +CONFIG_SPIRAM_SUPPORT=y +CONFIG_WIFI_LWIP_ALLOCATION_FROM_SPIRAM_FIRST=y +CONFIG_TRACEMEM_RESERVE_DRAM=0x0 +# 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_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_EVENT_LOOP_PROFILING is not set +CONFIG_POST_EVENTS_FROM_ISR=y +CONFIG_POST_EVENTS_FROM_IRAM_ISR=y +# CONFIG_TWO_UNIVERSAL_MAC_ADDRESS is not set +CONFIG_FOUR_UNIVERSAL_MAC_ADDRESS=y +CONFIG_NUMBER_OF_UNIVERSAL_MAC_ADDRESS=4 +# CONFIG_ESP32C3_LIGHTSLEEP_GPIO_RESET_WORKAROUND is not set +CONFIG_IPC_TASK_STACK_SIZE=1024 +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_ESP32_REDUCE_PHY_TX_POWER=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_SYSTEM_EVENT_QUEUE_SIZE=32 +CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE=2304 +CONFIG_MAIN_TASK_STACK_SIZE=3584 +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_ESP32_DEBUG_STUBS_ENABLE 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/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/MemoryEval.txt b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/MemoryEval.txt new file mode 100644 index 0000000..4c78f1d --- /dev/null +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/MemoryEval.txt @@ -0,0 +1,55 @@ +(ONLY NVS + DISPLAY CODE) + +With Custom : 13.4% RAM, 50.7% flash, 64352 FREE HEAP +W/o Cus, 38U: 25.3% RAM, 50.9% flash, 53628 FREE HEAP + +AFTER CONFIG_SPIRAM_USE_MALLOC + +With Custom : ???% RAM, ???% flash, 4240000 FREE HEAP +W/o Cus, ??? + +AFTER ENABLING WIFI INIT FUNCTION... + +With Custom : 20% RAM, 85.3% flash, 4240000 FREE HEAP +W/o Cus, ??? + +AFTER SETTING... +CONFIG_SPIRAM_TRY_ALLOCATE_WIFI_LWIP=y +CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY=y +With Custom : 20% RAM, 85.3% flash, 4102000 FREE HEAP [DISPLAY CUTS IN AND OUT] +W/o Cus, ??? + +CONFIG_SPIRAM_TRY_ALLOCATE_WIFI_LWIP=n +CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY=y [DISPLAY CUTS IN AND OUT EVEN WORSE THAN BEFORE] + +CONFIG_SPIRAM_TRY_ALLOCATE_WIFI_LWIP=y +CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY=n [DISPLAY CUTS IN AND OUT] +With Custom : 18% RAM, 84.3% flash, 4102000 free heap +w/o custom : 29.9% RAM, 84.5% flash 4102000 free heap + +=============================================================================== + +LOVYAN ONLY TESTS (NO LVGL/WIFI/ETC): + +=================== +ESP-IDF highest res achieved 640x420 +ARDUINO highest res achieved (psram must be enabled) 720x480 +=================== + +/=/=/=/=/ FUCKED DISPLAY /=/=/=/=/ +PIO + SPIRAM ENABLED + cfgPSRAM={1 or 2} +6.0% RAM / 50.3% FLASH + +*****DISPLAYS FINE***** +PIO + SPIRAM ENABLED + cfgPSRAM=0 +6.0% RAM / 50.3% FLASH + +*****DISPLAYS FINE***** +PIO + SPIRAM disabled + cfgPSRAM=1 +5.5% RAM / 43.5% FLASH + +*****DISPLAYS FINE***** +PIO + SPIRAM disabled + cfgPSRAM=0 +5.5% RAM / 43.5% FLASH + +======================================== \ No newline at end of file diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/components/test b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/components/test new file mode 100644 index 0000000..e69de29 diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/include/message_types.h b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/include/message_types.h new file mode 100644 index 0000000..4ac504a --- /dev/null +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/include/message_types.h @@ -0,0 +1,138 @@ +extern class MessageTypes { + //top level + const char* MESSAGE_TYPE_LOCAL = "MESSAGE_TYPE_LOCAL"; + const char* TIMESTAMP = "TIMESTAMP"; + + //DATA TYPES + const char* POV_IMAGE = "POV_IMAGE"; + const char* JPG_BYTES_BASE64 = "JPG_BYTES_BASE64"; + + //specific message types (after MESSAGE_TYPE_*) + //TRANSCRIPTS + const char* FINAL_TRANSCRIPT = "FINAL_TRANSCRIPT"; + const char* INTERMEDIATE_TRANSCRIPT = "INTERMEDIATE_TRANSCRIPT"; + const char* TRANSCRIPT_TEXT = "TRANSCRIPT_TEXT"; + const char* TRANSCRIPT_ID = "TRANSCRIPT_ID"; + + //VOICE COMMANDS + const char* VOICE_COMMAND_RESPONSE = "VOICE_COMMAND_RESPONSE"; + const char* COMMAND_RESULT = "COMMAND_RESULT"; + const char* COMMAND_NAME = "COMMAND_NAME"; + const char* COMMAND_RESPONSE_DISPLAY_STRING = "COMMAND_RESPONSE_DISPLAY_STRING"; + //voice command event + const char* VOICE_COMMAND_STREAM_EVENT = "VOICE_COMMAND_STREAM_EVENT"; + const char* VOICE_COMMAND_STREAM_EVENT_TYPE = "VOICE_COMMAND_STREAM_EVENT_TYPE"; + const char* WAKE_WORD_EVENT_TYPE = "WAKE_WORD_EVENT_TYPE"; + const char* COMMAND_EVENT_TYPE = "COMMAND_EVENT_TYPE"; + const char* CANCEL_EVENT_TYPE = "CANCEL_EVENT_TYPE"; + const char* RESOLVE_EVENT_TYPE = "RESOLVE_EVENT_TYPE"; + const char* TEXT_RESPONSE_EVENT_TYPE = "TEXT_RESPONSE_EVENT_TYPE"; + const char* COMMAND_ARGS_EVENT_TYPE = "COMMAND_ARGS_EVENT_TYPE"; + const char* REQUIRED_ARG_EVENT_TYPE = "REQUIRED_ARG_EVENT_TYPE"; + const char* ARG_NAME = "ARG_NAME"; + const char* ARG_OPTIONS = "ARG_OPTIONS"; + const char* INPUT_VOICE_STRING = "INPUT_VOICE_STRING"; + const char* VOICE_ARG_EXPECT_TYPE = "VOICE_ARG_EXPECT_TYPE"; + const char* VOICE_ARG_EXPECT_NATURAL_LANGUAGE = "VOICE_ARG_EXPECT_NATURAL_LANGUAGE"; + const char* VOICE_COMMAND_LIST = "VOICE_COMMAND_LIST"; + const char* INPUT_WAKE_WORD = "INPUT_WAKE_WORD"; + const char* INPUT_VOICE_COMMAND_NAME = "INPUT_VOICE_COMMAND_NAME"; + + //AUTOCITER/WEARABLE-REFERENCER + const char* AUTOCITER_START = "AUTOCITER_START"; + const char* AUTOCITER_STOP = "AUTOCITER_STOP"; + const char* AUTOCITER_PHONE_NUMBER = "AUTOCITER_PHONE_NUMBER"; + const char* AUTOCITER_POTENTIAL_REFERENCES = "AUTOCITER_POTENTIAL_REFERENCES"; + const char* AUTOCITER_REFERENCE_DATA = "AUTOCITER_REFERENCE_DATA"; + + //request user UI to display a list of possible choices to dipslay + const char* REFERENCE_SELECT_REQUEST = "REFERENCE_SELECT_REQUEST"; + const char* REFERENCES = "REFERENCES"; + + //FACE/PERSON SIGHTING + const char* FACE_SIGHTING_EVENT = "FACE_SIGHTING_EVENT"; + const char* FACE_NAME = "FACE_NAME"; + + //SMS + const char* SMS_REQUEST_SEND = "SMS_REQUEST_SEND"; + const char* SMS_MESSAGE_TEXT = "SMS_MESSAGE_TEXT"; + const char* SMS_PHONE_NUMBER = "SMS_PHONE_NUMBER"; + + //AUDIO + //AUDIO + const char* AUDIO_CHUNK_ENCRYPTED = "AUDIO_CHUNK_ENCRYPTED"; + const char* AUDIO_CHUNK_DECRYPTED = "AUDIO_CHUNK_DECRYPTED"; + const char* AUDIO_DATA = "AUDIO_DATA"; + + + //COMMS + const char* PING = "PING"; + + //UI + const char* UI_UPDATE_ACTION = "UI_UPDATE_ACTION"; + const char* PHONE_CONNECTION_STATUS = "PHONE_CONNECTION_STATUS"; + +// //command responses to show +// const char* NATURAL_LANGUAGE_QUERY = "NATURAL_LANGUAGE_QUERY"; +// const char* TEXT_RESPONSE = "NATURAL_LANGUAGE_QUERY"; +// const char* TEXT_QUERY = "TEXT_QUERY"; +// const char* VISUAL_SEARCH_RESULT = "VISUAL_SEARCH_RESULT"; +// const char* VISUAL_SEARCH_QUERY = "VISUAL_SEARCH_QUERY"; +// const char* VISUAL_SEARCH_IMAGE= "VISUAL_SEARCH_IMAGE"; +// const char* VISUAL_SEARCH_DATA = "VISUAL_SEARCH_DATA"; +// const char* SEARCH_ENGINE_RESULT = "SEARCH_ENGINE_RESULT"; +// const char* SEARCH_ENGINE_RESULT_DATA = "SEARCH_ENGINE_RESULT_DATA"; +// const char* TRANSLATION_RESULT = "TRANSLATION_RESULT"; +// const char* AFFECTIVE_SUMMARY_RESULT = "AFFECTIVE_SUMMARY_RESULT"; +// const char* COMMAND_SWITCH_MODE = "COMMAND_SWITCH_MODE"; + + //command responses to show + //Natural language + const char* NATURAL_LANGUAGE_QUERY = "NATURAL_LANGUAGE_QUERY"; + const char* TEXT_QUERY = "TEXT_QUERY"; + //visual search + const char* VISUAL_SEARCH_RESULT = "VISUAL_SEARCH_RESULT"; //this is the ASG facing term + const char* VISUAL_SEARCH_IMAGE= "VISUAL_SEARCH_IMAGE"; + const char* VISUAL_SEARCH_QUERY = "VISUAL_SEARCH_QUERY"; //this is the glbox facing term + const char* VISUAL_SEARCH_DATA = "VISUAL_SEARCH_DATA"; //this is the payload + //search engine + const char* SEARCH_ENGINE_QUERY = "SEARCH_ENGINE_QUERY"; + const char* SEARCH_ENGINE_RESULT = "SEARCH_ENGINE_RESULT"; + const char* SEARCH_ENGINE_RESULT_DATA = "SEARCH_ENGINE_RESULT_DATA"; + + //I/O + const char* SG_TOUCHPAD_EVENT = "SG_TOUCHPAD_EVENT"; + const char* SG_TOUCHPAD_KEYCODE = "SG_TOUCHPAD_KEYCODE"; + + //translation + const char* TRANSLATE_TEXT_QUERY = "TRANSLATE_TEXT_QUERY"; + const char* TRANSLATE_TEXT_DATA = "TRANSLATE_TEXT_DATA"; + const char* TRANSLATE_TEXT_RESULT = "TRANSLATE_TEXT_RESULT"; + const char* TRANSLATE_TEXT_RESULT_DATA = "TRANSLATION_RESULT_DATA"; + + //object translation + const char* OBJECT_TRANSLATION_RESULT = "OBJECT_TRANSLATION_RESULT"; + const char* OBJECT_TRANSLATION_RESULT_DATA = "OBJECT_TRANSLATION_RESULT_DATA"; + + const char* AFFECTIVE_SUMMARY_RESULT = "AFFECTIVE_SUMMARY_RESULT"; + const char* COMMAND_SWITCH_MODE = "COMMAND_SWITCH_MODE"; + + //control the current mode of the ASG + const char* ACTION_SWITCH_MODES = "ACTION_SWITCH_MODES"; + const char* NEW_MODE = "NEW_MODE"; + const char* MODE_VISUAL_SEARCH = "MODE_VISUAL_SEARCH"; + const char* MODE_LIVE_LIFE_CAPTIONS = "MODE_LIVE_LIFE_CAPTIONS"; + const char* MODE_HOME = "MODE_HOME"; + const char* MODE_CONVERSATION_MODE = "MODE_CONVERSATION_MODE"; + const char* MODE_SOCIAL_MODE = "MODE_SOCIAL_MODE"; + const char* MODE_REFERENCE_GRID = "MODE_REFERENCE_GRID"; + const char* MODE_WEARABLE_FACE_RECOGNIZER = "MODE_WEARABLE_FACE_RECOGNIZER"; + const char* MODE_LANGUAGE_TRANSLATE = "MODE_LANGUAGE_TRANSLATE"; + const char* MODE_OBJECT_TRANSLATE = "MODE_OBJECT_TRANSLATE"; + const char* MODE_TEXT_LIST = "MODE_TEXT_LIST"; + const char* MODE_TEXT_BLOCK = "MODE_TEXT_BLOCK"; + const char* MODE_BLANK = "MODE_BLANK"; + const char* MODE_SEARCH_ENGINE_RESULT = "MODE_SEARCH_ENGINE_RESULT"; +}; + + diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/include/ossg_constants.hpp b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/include/ossg_constants.hpp new file mode 100644 index 0000000..0919b8e --- /dev/null +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/include/ossg_constants.hpp @@ -0,0 +1,11 @@ +#include +#include +using std::string; +#define PROGRAM_LOG_TAG "OSSG_esp32" +#define DEVICE_NAME "SmartGlasses_OSSG" + +//WIFI +//#define EXAMPLE_ESP_WIFI_SSID "WearNet2" +//#define EXAMPLE_ESP_WIFI_PASS "ciqi8591" +static char* esp_wifi_ssid = "WearNet2"; +static char* esp_wifi_pass = "ciqi8591"; \ No newline at end of file diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/lib/strings.h b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/lib/strings.h deleted file mode 100644 index 2465eb7..0000000 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/lib/strings.h +++ /dev/null @@ -1,6 +0,0 @@ -#define PROGRAM_LOG_TAG "OSSG_esp32" -#define DEVICE_NAME "SmartGlasses_OSSG" - -//WIFI -#define EXAMPLE_ESP_WIFI_SSID "WearNet2" -#define EXAMPLE_ESP_WIFI_PASS "7777777crc" \ No newline at end of file diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/min_spiffs.csv b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/min_spiffs.csv new file mode 100644 index 0000000..311b540 --- /dev/null +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/min_spiffs.csv @@ -0,0 +1,6 @@ +# Name, Type, SubType, Offset, Size, Flags +nvs, data, nvs, 0x9000, 0x5000, +otadata, data, ota, 0xe000, 0x2000, +app0, app, ota_0, 0x10000, 0x1E0000, +app1, app, ota_1, 0x1F0000,0x1E0000, +spiffs, data, spiffs, 0x3D0000,0x30000, \ No newline at end of file diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/platformio.ini b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/platformio.ini index a2b4750..50f4b15 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/platformio.ini +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/platformio.ini @@ -13,4 +13,22 @@ platform = espressif32 board = pico32 framework = espidf monitor_speed = 115200 -monitor_flags = --raw +board_build.partitions = partitions_singleapp_large.csv +;board_build.partitions = min_spiffs.csv +lib_ldf_mode = deep+ +monitor_port = /dev/ttyUSB0 +build_flags = + -Wl,-Map,output.map + -D LV_CONF_INCLUDE_SIMPLE + -I src/display + -DBOARD_HAS_PSRAM + -mfix-esp32-psram-cache-issue +check_tool = cppcheck, clangtidy +check_skip_packages = true + + +;[env:extra_check_flags] +;platform = espressif32 +;board = tinypico +;check_tool = cppcheck, clangtidy +;check_skip_packages = true \ No newline at end of file diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/sdkconfig.esp32dev b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/sdkconfig.esp32dev index a6a928e..451b2b8 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/sdkconfig.esp32dev +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/sdkconfig.esp32dev @@ -91,7 +91,7 @@ CONFIG_ESPTOOLPY_FLASHFREQ_40M=y 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_4MB=y # CONFIG_ESPTOOLPY_FLASHSIZE_8MB is not set # CONFIG_ESPTOOLPY_FLASHSIZE_16MB is not set CONFIG_ESPTOOLPY_FLASHSIZE="2MB" diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/sdkconfig.pico32 b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/sdkconfig.pico32 index bb4adff..f6193cd 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/sdkconfig.pico32 +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/sdkconfig.pico32 @@ -50,7 +50,6 @@ 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 @@ -83,18 +82,19 @@ CONFIG_ESPTOOLPY_BAUD_OTHER_VAL=115200 # CONFIG_ESPTOOLPY_FLASHMODE_QOUT is not set CONFIG_ESPTOOLPY_FLASHMODE_DIO=y # CONFIG_ESPTOOLPY_FLASHMODE_DOUT is not set +CONFIG_ESPTOOLPY_FLASH_SAMPLE_MODE_STR=y CONFIG_ESPTOOLPY_FLASHMODE="dio" -# CONFIG_ESPTOOLPY_FLASHFREQ_80M is not set -CONFIG_ESPTOOLPY_FLASHFREQ_40M=y +CONFIG_ESPTOOLPY_FLASHFREQ_80M=y +# CONFIG_ESPTOOLPY_FLASHFREQ_40M is not set # CONFIG_ESPTOOLPY_FLASHFREQ_26M is not set # CONFIG_ESPTOOLPY_FLASHFREQ_20M is not set -CONFIG_ESPTOOLPY_FLASHFREQ="40m" +CONFIG_ESPTOOLPY_FLASHFREQ="80m" # CONFIG_ESPTOOLPY_FLASHSIZE_1MB is not set -CONFIG_ESPTOOLPY_FLASHSIZE_2MB=y -# CONFIG_ESPTOOLPY_FLASHSIZE_4MB is not set +# CONFIG_ESPTOOLPY_FLASHSIZE_2MB is not set +CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y # CONFIG_ESPTOOLPY_FLASHSIZE_8MB is not set # CONFIG_ESPTOOLPY_FLASHSIZE_16MB is not set -CONFIG_ESPTOOLPY_FLASHSIZE="2MB" +CONFIG_ESPTOOLPY_FLASHSIZE="4MB" CONFIG_ESPTOOLPY_FLASHSIZE_DETECT=y CONFIG_ESPTOOLPY_BEFORE_RESET=y # CONFIG_ESPTOOLPY_BEFORE_NORESET is not set @@ -117,11 +117,12 @@ CONFIG_ESPTOOLPY_MONITOR_BAUD=115200 # # Partition Table # -CONFIG_PARTITION_TABLE_SINGLE_APP=y +# CONFIG_PARTITION_TABLE_SINGLE_APP is not set +# CONFIG_PARTITION_TABLE_SINGLE_APP_LARGE is not set # 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_CUSTOM=y +CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions_singleapp_large.csv" +CONFIG_PARTITION_TABLE_FILENAME="partitions_singleapp_large.csv" CONFIG_PARTITION_TABLE_OFFSET=0x8000 CONFIG_PARTITION_TABLE_MD5=y # end of Partition Table @@ -136,6 +137,9 @@ CONFIG_COMPILER_OPTIMIZATION_DEFAULT=y CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE=y # CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT is not set # CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE is not set +CONFIG_COMPILER_OPTIMIZATION_ASSERTION_LEVEL=2 +# CONFIG_COMPILER_OPTIMIZATION_CHECKS_SILENT is not set +CONFIG_COMPILER_HIDE_PATHS_MACROS=y # CONFIG_COMPILER_CXX_EXCEPTIONS is not set # CONFIG_COMPILER_CXX_RTTI is not set CONFIG_COMPILER_STACK_CHECK_MODE_NONE=y @@ -154,7 +158,7 @@ CONFIG_COMPILER_STACK_CHECK_MODE_NONE=y # # Application Level Tracing # -# CONFIG_APPTRACE_DEST_TRAX is not set +# CONFIG_APPTRACE_DEST_JTAG is not set CONFIG_APPTRACE_DEST_NONE=y CONFIG_APPTRACE_LOCK_ENABLE=y # end of Application Level Tracing @@ -168,310 +172,9 @@ CONFIG_APPTRACE_LOCK_ENABLE=y # # Bluetooth # -CONFIG_BT_ENABLED=y -CONFIG_BT_CTRL_ESP32=y - -# -# Bluetooth controller(ESP32 Dual Mode Bluetooth) -# -CONFIG_BTDM_CTRL_MODE_BLE_ONLY=y -# CONFIG_BTDM_CTRL_MODE_BR_EDR_ONLY is not set -# CONFIG_BTDM_CTRL_MODE_BTDM is not set -CONFIG_BTDM_CTRL_BLE_MAX_CONN=3 -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=3 -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=y -# CONFIG_BTDM_CTRL_PINNED_TO_CORE_1 is not set -CONFIG_BTDM_CTRL_PINNED_TO_CORE=0 -CONFIG_BTDM_CTRL_HCI_MODE_VHCI=y -# CONFIG_BTDM_CTRL_HCI_MODE_UART_H4 is not set - -# -# MODEM SLEEP Options -# -CONFIG_BTDM_CTRL_MODEM_SLEEP=y -CONFIG_BTDM_CTRL_MODEM_SLEEP_MODE_ORIG=y -# CONFIG_BTDM_CTRL_MODEM_SLEEP_MODE_EVED is not set -CONFIG_BTDM_CTRL_LPCLK_SEL_MAIN_XTAL=y -# end of MODEM SLEEP Options - -CONFIG_BTDM_BLE_DEFAULT_SCA_250PPM=y -CONFIG_BTDM_BLE_SLEEP_CLOCK_ACCURACY_INDEX_EFF=1 -CONFIG_BTDM_BLE_SCAN_DUPL=y -CONFIG_BTDM_SCAN_DUPL_TYPE_DEVICE=y -# CONFIG_BTDM_SCAN_DUPL_TYPE_DATA is not set -# CONFIG_BTDM_SCAN_DUPL_TYPE_DATA_DEVICE is not set -CONFIG_BTDM_SCAN_DUPL_TYPE=0 -CONFIG_BTDM_SCAN_DUPL_CACHE_SIZE=200 -# CONFIG_BTDM_BLE_MESH_SCAN_DUPL_EN is not set -CONFIG_BTDM_CTRL_FULL_SCAN_SUPPORTED=y -CONFIG_BTDM_BLE_ADV_REPORT_FLOW_CTRL_SUPP=y -CONFIG_BTDM_BLE_ADV_REPORT_FLOW_CTRL_NUM=100 -CONFIG_BTDM_BLE_ADV_REPORT_DISCARD_THRSHOLD=20 -# end of Bluetooth controller(ESP32 Dual Mode Bluetooth) - -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 - -# -# MODEM SLEEP Options -# -# end of MODEM SLEEP Options - -CONFIG_BT_CTRL_SLEEP_MODE_EFF=0 -CONFIG_BT_CTRL_SLEEP_CLOCK_EFF=0 -CONFIG_BT_CTRL_HCI_TL_EFF=1 - -# -# MODEM SLEEP Options -# -# end of MODEM SLEEP Options - -CONFIG_BT_BLUEDROID_ENABLED=y -# CONFIG_BT_NIMBLE_ENABLED is not set -# CONFIG_BT_CONTROLLER_ONLY is not set - -# -# Bluedroid Options -# -CONFIG_BT_BTC_TASK_STACK_SIZE=3072 -CONFIG_BT_BLUEDROID_PINNED_TO_CORE_0=y -# CONFIG_BT_BLUEDROID_PINNED_TO_CORE_1 is not set -CONFIG_BT_BLUEDROID_PINNED_TO_CORE=0 -CONFIG_BT_BTU_TASK_STACK_SIZE=4096 -# CONFIG_BT_BLUEDROID_MEM_DEBUG is not set -CONFIG_BT_CLASSIC_ENABLED=y -CONFIG_BT_A2DP_ENABLE=y -CONFIG_BT_SPP_ENABLED=y -CONFIG_BT_HFP_ENABLE=y -CONFIG_BT_HFP_CLIENT_ENABLE=y -# CONFIG_BT_HFP_AG_ENABLE is not set -CONFIG_BT_HFP_AUDIO_DATA_PATH_PCM=y -# CONFIG_BT_HFP_AUDIO_DATA_PATH_HCI is not set -CONFIG_BT_HID_HOST_ENABLED=y -CONFIG_BT_SSP_ENABLED=y -CONFIG_BT_BLE_ENABLED=y -CONFIG_BT_GATTS_ENABLE=y -CONFIG_BT_GATTS_PPCP_CHAR_GAP=y -CONFIG_BT_BLE_BLUFI_ENABLE=y -CONFIG_BT_GATT_MAX_SR_PROFILES=8 -# CONFIG_BT_GATTS_SEND_SERVICE_CHANGE_MANUAL is not set -CONFIG_BT_GATTS_SEND_SERVICE_CHANGE_AUTO=y -CONFIG_BT_GATTS_SEND_SERVICE_CHANGE_MODE=0 -CONFIG_BT_GATTC_ENABLE=y -# CONFIG_BT_GATTC_CACHE_NVS_FLASH is not set -CONFIG_BT_GATTC_CONNECT_RETRY_COUNT=3 -# CONFIG_BT_BLE_SMP_ENABLE is not set -# CONFIG_BT_STACK_NO_LOG is not set - -# -# BT DEBUG LOG LEVEL -# -# CONFIG_BT_LOG_HCI_TRACE_LEVEL_NONE is not set -# CONFIG_BT_LOG_HCI_TRACE_LEVEL_ERROR is not set -CONFIG_BT_LOG_HCI_TRACE_LEVEL_WARNING=y -# CONFIG_BT_LOG_HCI_TRACE_LEVEL_API is not set -# CONFIG_BT_LOG_HCI_TRACE_LEVEL_EVENT is not set -# CONFIG_BT_LOG_HCI_TRACE_LEVEL_DEBUG is not set -# CONFIG_BT_LOG_HCI_TRACE_LEVEL_VERBOSE is not set -CONFIG_BT_LOG_HCI_TRACE_LEVEL=2 -# CONFIG_BT_LOG_BTM_TRACE_LEVEL_NONE is not set -# CONFIG_BT_LOG_BTM_TRACE_LEVEL_ERROR is not set -CONFIG_BT_LOG_BTM_TRACE_LEVEL_WARNING=y -# CONFIG_BT_LOG_BTM_TRACE_LEVEL_API is not set -# CONFIG_BT_LOG_BTM_TRACE_LEVEL_EVENT is not set -# CONFIG_BT_LOG_BTM_TRACE_LEVEL_DEBUG is not set -# CONFIG_BT_LOG_BTM_TRACE_LEVEL_VERBOSE is not set -CONFIG_BT_LOG_BTM_TRACE_LEVEL=2 -# CONFIG_BT_LOG_L2CAP_TRACE_LEVEL_NONE is not set -# CONFIG_BT_LOG_L2CAP_TRACE_LEVEL_ERROR is not set -CONFIG_BT_LOG_L2CAP_TRACE_LEVEL_WARNING=y -# CONFIG_BT_LOG_L2CAP_TRACE_LEVEL_API is not set -# CONFIG_BT_LOG_L2CAP_TRACE_LEVEL_EVENT is not set -# CONFIG_BT_LOG_L2CAP_TRACE_LEVEL_DEBUG is not set -# CONFIG_BT_LOG_L2CAP_TRACE_LEVEL_VERBOSE is not set -CONFIG_BT_LOG_L2CAP_TRACE_LEVEL=2 -# CONFIG_BT_LOG_RFCOMM_TRACE_LEVEL_NONE is not set -# CONFIG_BT_LOG_RFCOMM_TRACE_LEVEL_ERROR is not set -CONFIG_BT_LOG_RFCOMM_TRACE_LEVEL_WARNING=y -# CONFIG_BT_LOG_RFCOMM_TRACE_LEVEL_API is not set -# CONFIG_BT_LOG_RFCOMM_TRACE_LEVEL_EVENT is not set -# CONFIG_BT_LOG_RFCOMM_TRACE_LEVEL_DEBUG is not set -# CONFIG_BT_LOG_RFCOMM_TRACE_LEVEL_VERBOSE is not set -CONFIG_BT_LOG_RFCOMM_TRACE_LEVEL=2 -# CONFIG_BT_LOG_SDP_TRACE_LEVEL_NONE is not set -# CONFIG_BT_LOG_SDP_TRACE_LEVEL_ERROR is not set -CONFIG_BT_LOG_SDP_TRACE_LEVEL_WARNING=y -# CONFIG_BT_LOG_SDP_TRACE_LEVEL_API is not set -# CONFIG_BT_LOG_SDP_TRACE_LEVEL_EVENT is not set -# CONFIG_BT_LOG_SDP_TRACE_LEVEL_DEBUG is not set -# CONFIG_BT_LOG_SDP_TRACE_LEVEL_VERBOSE is not set -CONFIG_BT_LOG_SDP_TRACE_LEVEL=2 -# CONFIG_BT_LOG_GAP_TRACE_LEVEL_NONE is not set -# CONFIG_BT_LOG_GAP_TRACE_LEVEL_ERROR is not set -CONFIG_BT_LOG_GAP_TRACE_LEVEL_WARNING=y -# CONFIG_BT_LOG_GAP_TRACE_LEVEL_API is not set -# CONFIG_BT_LOG_GAP_TRACE_LEVEL_EVENT is not set -# CONFIG_BT_LOG_GAP_TRACE_LEVEL_DEBUG is not set -# CONFIG_BT_LOG_GAP_TRACE_LEVEL_VERBOSE is not set -CONFIG_BT_LOG_GAP_TRACE_LEVEL=2 -# CONFIG_BT_LOG_BNEP_TRACE_LEVEL_NONE is not set -# CONFIG_BT_LOG_BNEP_TRACE_LEVEL_ERROR is not set -CONFIG_BT_LOG_BNEP_TRACE_LEVEL_WARNING=y -# CONFIG_BT_LOG_BNEP_TRACE_LEVEL_API is not set -# CONFIG_BT_LOG_BNEP_TRACE_LEVEL_EVENT is not set -# CONFIG_BT_LOG_BNEP_TRACE_LEVEL_DEBUG is not set -# CONFIG_BT_LOG_BNEP_TRACE_LEVEL_VERBOSE is not set -CONFIG_BT_LOG_BNEP_TRACE_LEVEL=2 -# CONFIG_BT_LOG_PAN_TRACE_LEVEL_NONE is not set -# CONFIG_BT_LOG_PAN_TRACE_LEVEL_ERROR is not set -CONFIG_BT_LOG_PAN_TRACE_LEVEL_WARNING=y -# CONFIG_BT_LOG_PAN_TRACE_LEVEL_API is not set -# CONFIG_BT_LOG_PAN_TRACE_LEVEL_EVENT is not set -# CONFIG_BT_LOG_PAN_TRACE_LEVEL_DEBUG is not set -# CONFIG_BT_LOG_PAN_TRACE_LEVEL_VERBOSE is not set -CONFIG_BT_LOG_PAN_TRACE_LEVEL=2 -# CONFIG_BT_LOG_A2D_TRACE_LEVEL_NONE is not set -# CONFIG_BT_LOG_A2D_TRACE_LEVEL_ERROR is not set -CONFIG_BT_LOG_A2D_TRACE_LEVEL_WARNING=y -# CONFIG_BT_LOG_A2D_TRACE_LEVEL_API is not set -# CONFIG_BT_LOG_A2D_TRACE_LEVEL_EVENT is not set -# CONFIG_BT_LOG_A2D_TRACE_LEVEL_DEBUG is not set -# CONFIG_BT_LOG_A2D_TRACE_LEVEL_VERBOSE is not set -CONFIG_BT_LOG_A2D_TRACE_LEVEL=2 -# CONFIG_BT_LOG_AVDT_TRACE_LEVEL_NONE is not set -# CONFIG_BT_LOG_AVDT_TRACE_LEVEL_ERROR is not set -CONFIG_BT_LOG_AVDT_TRACE_LEVEL_WARNING=y -# CONFIG_BT_LOG_AVDT_TRACE_LEVEL_API is not set -# CONFIG_BT_LOG_AVDT_TRACE_LEVEL_EVENT is not set -# CONFIG_BT_LOG_AVDT_TRACE_LEVEL_DEBUG is not set -# CONFIG_BT_LOG_AVDT_TRACE_LEVEL_VERBOSE is not set -CONFIG_BT_LOG_AVDT_TRACE_LEVEL=2 -# CONFIG_BT_LOG_AVCT_TRACE_LEVEL_NONE is not set -# CONFIG_BT_LOG_AVCT_TRACE_LEVEL_ERROR is not set -CONFIG_BT_LOG_AVCT_TRACE_LEVEL_WARNING=y -# CONFIG_BT_LOG_AVCT_TRACE_LEVEL_API is not set -# CONFIG_BT_LOG_AVCT_TRACE_LEVEL_EVENT is not set -# CONFIG_BT_LOG_AVCT_TRACE_LEVEL_DEBUG is not set -# CONFIG_BT_LOG_AVCT_TRACE_LEVEL_VERBOSE is not set -CONFIG_BT_LOG_AVCT_TRACE_LEVEL=2 -# CONFIG_BT_LOG_AVRC_TRACE_LEVEL_NONE is not set -# CONFIG_BT_LOG_AVRC_TRACE_LEVEL_ERROR is not set -CONFIG_BT_LOG_AVRC_TRACE_LEVEL_WARNING=y -# CONFIG_BT_LOG_AVRC_TRACE_LEVEL_API is not set -# CONFIG_BT_LOG_AVRC_TRACE_LEVEL_EVENT is not set -# CONFIG_BT_LOG_AVRC_TRACE_LEVEL_DEBUG is not set -# CONFIG_BT_LOG_AVRC_TRACE_LEVEL_VERBOSE is not set -CONFIG_BT_LOG_AVRC_TRACE_LEVEL=2 -# CONFIG_BT_LOG_MCA_TRACE_LEVEL_NONE is not set -# CONFIG_BT_LOG_MCA_TRACE_LEVEL_ERROR is not set -CONFIG_BT_LOG_MCA_TRACE_LEVEL_WARNING=y -# CONFIG_BT_LOG_MCA_TRACE_LEVEL_API is not set -# CONFIG_BT_LOG_MCA_TRACE_LEVEL_EVENT is not set -# CONFIG_BT_LOG_MCA_TRACE_LEVEL_DEBUG is not set -# CONFIG_BT_LOG_MCA_TRACE_LEVEL_VERBOSE is not set -CONFIG_BT_LOG_MCA_TRACE_LEVEL=2 -# CONFIG_BT_LOG_HID_TRACE_LEVEL_NONE is not set -# CONFIG_BT_LOG_HID_TRACE_LEVEL_ERROR is not set -CONFIG_BT_LOG_HID_TRACE_LEVEL_WARNING=y -# CONFIG_BT_LOG_HID_TRACE_LEVEL_API is not set -# CONFIG_BT_LOG_HID_TRACE_LEVEL_EVENT is not set -# CONFIG_BT_LOG_HID_TRACE_LEVEL_DEBUG is not set -# CONFIG_BT_LOG_HID_TRACE_LEVEL_VERBOSE is not set -CONFIG_BT_LOG_HID_TRACE_LEVEL=2 -# CONFIG_BT_LOG_APPL_TRACE_LEVEL_NONE is not set -# CONFIG_BT_LOG_APPL_TRACE_LEVEL_ERROR is not set -CONFIG_BT_LOG_APPL_TRACE_LEVEL_WARNING=y -# CONFIG_BT_LOG_APPL_TRACE_LEVEL_API is not set -# CONFIG_BT_LOG_APPL_TRACE_LEVEL_EVENT is not set -# CONFIG_BT_LOG_APPL_TRACE_LEVEL_DEBUG is not set -# CONFIG_BT_LOG_APPL_TRACE_LEVEL_VERBOSE is not set -CONFIG_BT_LOG_APPL_TRACE_LEVEL=2 -# CONFIG_BT_LOG_GATT_TRACE_LEVEL_NONE is not set -# CONFIG_BT_LOG_GATT_TRACE_LEVEL_ERROR is not set -CONFIG_BT_LOG_GATT_TRACE_LEVEL_WARNING=y -# CONFIG_BT_LOG_GATT_TRACE_LEVEL_API is not set -# CONFIG_BT_LOG_GATT_TRACE_LEVEL_EVENT is not set -# CONFIG_BT_LOG_GATT_TRACE_LEVEL_DEBUG is not set -# CONFIG_BT_LOG_GATT_TRACE_LEVEL_VERBOSE is not set -CONFIG_BT_LOG_GATT_TRACE_LEVEL=2 -# CONFIG_BT_LOG_SMP_TRACE_LEVEL_NONE is not set -# CONFIG_BT_LOG_SMP_TRACE_LEVEL_ERROR is not set -CONFIG_BT_LOG_SMP_TRACE_LEVEL_WARNING=y -# CONFIG_BT_LOG_SMP_TRACE_LEVEL_API is not set -# CONFIG_BT_LOG_SMP_TRACE_LEVEL_EVENT is not set -# CONFIG_BT_LOG_SMP_TRACE_LEVEL_DEBUG is not set -# CONFIG_BT_LOG_SMP_TRACE_LEVEL_VERBOSE is not set -CONFIG_BT_LOG_SMP_TRACE_LEVEL=2 -# CONFIG_BT_LOG_BTIF_TRACE_LEVEL_NONE is not set -# CONFIG_BT_LOG_BTIF_TRACE_LEVEL_ERROR is not set -CONFIG_BT_LOG_BTIF_TRACE_LEVEL_WARNING=y -# CONFIG_BT_LOG_BTIF_TRACE_LEVEL_API is not set -# CONFIG_BT_LOG_BTIF_TRACE_LEVEL_EVENT is not set -# CONFIG_BT_LOG_BTIF_TRACE_LEVEL_DEBUG is not set -# CONFIG_BT_LOG_BTIF_TRACE_LEVEL_VERBOSE is not set -CONFIG_BT_LOG_BTIF_TRACE_LEVEL=2 -# CONFIG_BT_LOG_BTC_TRACE_LEVEL_NONE is not set -# CONFIG_BT_LOG_BTC_TRACE_LEVEL_ERROR is not set -CONFIG_BT_LOG_BTC_TRACE_LEVEL_WARNING=y -# CONFIG_BT_LOG_BTC_TRACE_LEVEL_API is not set -# CONFIG_BT_LOG_BTC_TRACE_LEVEL_EVENT is not set -# CONFIG_BT_LOG_BTC_TRACE_LEVEL_DEBUG is not set -# CONFIG_BT_LOG_BTC_TRACE_LEVEL_VERBOSE is not set -CONFIG_BT_LOG_BTC_TRACE_LEVEL=2 -# CONFIG_BT_LOG_OSI_TRACE_LEVEL_NONE is not set -# CONFIG_BT_LOG_OSI_TRACE_LEVEL_ERROR is not set -CONFIG_BT_LOG_OSI_TRACE_LEVEL_WARNING=y -# CONFIG_BT_LOG_OSI_TRACE_LEVEL_API is not set -# CONFIG_BT_LOG_OSI_TRACE_LEVEL_EVENT is not set -# CONFIG_BT_LOG_OSI_TRACE_LEVEL_DEBUG is not set -# CONFIG_BT_LOG_OSI_TRACE_LEVEL_VERBOSE is not set -CONFIG_BT_LOG_OSI_TRACE_LEVEL=2 -# CONFIG_BT_LOG_BLUFI_TRACE_LEVEL_NONE is not set -# CONFIG_BT_LOG_BLUFI_TRACE_LEVEL_ERROR is not set -CONFIG_BT_LOG_BLUFI_TRACE_LEVEL_WARNING=y -# CONFIG_BT_LOG_BLUFI_TRACE_LEVEL_API is not set -# CONFIG_BT_LOG_BLUFI_TRACE_LEVEL_EVENT is not set -# CONFIG_BT_LOG_BLUFI_TRACE_LEVEL_DEBUG is not set -# CONFIG_BT_LOG_BLUFI_TRACE_LEVEL_VERBOSE is not set -CONFIG_BT_LOG_BLUFI_TRACE_LEVEL=2 -# end of BT DEBUG LOG LEVEL - -CONFIG_BT_ACL_CONNECTIONS=4 -CONFIG_BT_MULTI_CONNECTION_ENBALE=y -# CONFIG_BT_ALLOCATION_FROM_SPIRAM_FIRST is not set -# CONFIG_BT_BLE_DYNAMIC_ENV_MEMORY is not set -# CONFIG_BT_BLE_HOST_QUEUE_CONG_CHECK is not set -CONFIG_BT_SMP_ENABLE=y -# CONFIG_BT_BLE_ACT_SCAN_REP_ADV_SCAN is not set -CONFIG_BT_BLE_ESTAB_LINK_CONN_TOUT=30 -CONFIG_BT_MAX_DEVICE_NAME_LEN=32 -# CONFIG_BT_BLE_RPA_SUPPORTED is not set -CONFIG_BT_RESERVE_DRAM=0xdb5c -# end of Bluedroid Options - -CONFIG_BT_NIMBLE_USE_ESP_TIMER=y +# CONFIG_BT_ENABLED is not set # end of Bluetooth -# CONFIG_BLE_MESH is not set - # # CoAP Configuration # @@ -492,6 +195,12 @@ CONFIG_COAP_LOG_DEFAULT_LEVEL=0 CONFIG_ADC_DISABLE_DAC=y # end of ADC configuration +# +# MCPWM configuration +# +# CONFIG_MCPWM_ISR_IN_IRAM is not set +# end of MCPWM configuration + # # SPI configuration # @@ -528,6 +237,13 @@ CONFIG_SPI_SLAVE_ISR_IN_IRAM=y # # CONFIG_GPIO_ESP32_SUPPORT_SWITCH_SLP_PULL is not set # end of GPIO Configuration + +# +# GDMA Configuration +# +# CONFIG_GDMA_CTRL_FUNC_IN_IRAM is not set +# CONFIG_GDMA_ISR_IRAM_SAFE is not set +# end of GDMA Configuration # end of Driver configurations # @@ -547,6 +263,7 @@ CONFIG_EFUSE_MAX_BLK_LEN=192 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_CLIENT_SESSION_TICKETS is not set # CONFIG_ESP_TLS_PSK_VERIFICATION is not set # CONFIG_ESP_TLS_INSECURE is not set # end of ESP-TLS @@ -554,6 +271,7 @@ CONFIG_ESP_TLS_USING_MBEDTLS=y # # ESP32-specific # +CONFIG_ESP32_ECO3_CACHE_LOCK_FIX=y CONFIG_ESP32_REV_MIN_0=y # CONFIG_ESP32_REV_MIN_1 is not set # CONFIG_ESP32_REV_MIN_2 is not set @@ -564,12 +282,91 @@ CONFIG_ESP32_DPORT_WORKAROUND=y # CONFIG_ESP32_DEFAULT_CPU_FREQ_160 is not set CONFIG_ESP32_DEFAULT_CPU_FREQ_240=y CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ=240 -# CONFIG_ESP32_SPIRAM_SUPPORT is not set +CONFIG_ESP32_SPIRAM_SUPPORT=y + +# +# SPI RAM config +# +CONFIG_SPIRAM_TYPE_AUTO=y +# CONFIG_SPIRAM_TYPE_ESPPSRAM16 is not set +# CONFIG_SPIRAM_TYPE_ESPPSRAM32 is not set +# CONFIG_SPIRAM_TYPE_ESPPSRAM64 is not set +CONFIG_SPIRAM_SIZE=-1 +# CONFIG_SPIRAM_SPEED_40M is not set +CONFIG_SPIRAM_SPEED_80M=y +CONFIG_SPIRAM=y +CONFIG_SPIRAM_BOOT_INIT=y +# CONFIG_SPIRAM_IGNORE_NOTFOUND is not set +# CONFIG_SPIRAM_USE_MEMMAP is not set +# CONFIG_SPIRAM_USE_CAPS_ALLOC is not set +CONFIG_SPIRAM_USE_MALLOC=y +CONFIG_SPIRAM_MEMTEST=y +CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL=16384 +CONFIG_SPIRAM_TRY_ALLOCATE_WIFI_LWIP=y +CONFIG_SPIRAM_MALLOC_RESERVE_INTERNAL=32768 +# CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY is not set +# CONFIG_SPIRAM_ALLOW_NOINIT_SEG_EXTERNAL_MEMORY is not set +CONFIG_SPIRAM_CACHE_WORKAROUND=y + +# +# SPIRAM cache workaround debugging +# +CONFIG_SPIRAM_CACHE_WORKAROUND_STRATEGY_MEMW=y +# CONFIG_SPIRAM_CACHE_WORKAROUND_STRATEGY_DUPLDST is not set +# CONFIG_SPIRAM_CACHE_WORKAROUND_STRATEGY_NOPS is not set +# end of SPIRAM cache workaround debugging + +# +# SPIRAM workaround libraries placement +# +CONFIG_SPIRAM_CACHE_LIBJMP_IN_IRAM=y +CONFIG_SPIRAM_CACHE_LIBMATH_IN_IRAM=y +CONFIG_SPIRAM_CACHE_LIBNUMPARSER_IN_IRAM=y +CONFIG_SPIRAM_CACHE_LIBIO_IN_IRAM=y +CONFIG_SPIRAM_CACHE_LIBTIME_IN_IRAM=y +CONFIG_SPIRAM_CACHE_LIBCHAR_IN_IRAM=y +CONFIG_SPIRAM_CACHE_LIBMEM_IN_IRAM=y +CONFIG_SPIRAM_CACHE_LIBSTR_IN_IRAM=y +CONFIG_SPIRAM_CACHE_LIBRAND_IN_IRAM=y +CONFIG_SPIRAM_CACHE_LIBENV_IN_IRAM=y +CONFIG_SPIRAM_CACHE_LIBFILE_IN_IRAM=y +CONFIG_SPIRAM_CACHE_LIBMISC_IN_IRAM=y +# end of SPIRAM workaround libraries placement + +CONFIG_SPIRAM_BANKSWITCH_ENABLE=y +CONFIG_SPIRAM_BANKSWITCH_RESERVE=8 +# CONFIG_SPIRAM_ALLOW_STACK_EXTERNAL_MEMORY is not set +# CONFIG_SPIRAM_OCCUPY_HSPI_HOST is not set +CONFIG_SPIRAM_OCCUPY_VSPI_HOST=y +# CONFIG_SPIRAM_OCCUPY_NO_HOST is not set + +# +# PSRAM clock and cs IO for ESP32-DOWD +# +CONFIG_D0WD_PSRAM_CLK_IO=17 +CONFIG_D0WD_PSRAM_CS_IO=16 +# end of PSRAM clock and cs IO for ESP32-DOWD + +# +# PSRAM clock and cs IO for ESP32-D2WD +# +CONFIG_D2WD_PSRAM_CLK_IO=9 +CONFIG_D2WD_PSRAM_CS_IO=10 +# end of PSRAM clock and cs IO for ESP32-D2WD + +# +# PSRAM clock and cs IO for ESP32-PICO +# +CONFIG_PICO_PSRAM_CS_IO=10 +# end of PSRAM clock and cs IO for ESP32-PICO + +# CONFIG_SPIRAM_CUSTOM_SPIWP_SD3_PIN is not set +CONFIG_SPIRAM_SPIWP_SD3_PIN=7 +# CONFIG_SPIRAM_2T_MODE is not set +# end of SPI RAM config + # 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 @@ -583,7 +380,6 @@ CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_0=y # 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 @@ -599,6 +395,7 @@ CONFIG_ESP32_XTAL_FREQ_40=y # 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_COMPATIBLE_PRE_V3_1_BOOTLOADERS is not set # CONFIG_ESP32_USE_FIXED_STATIC_RAM_SIZE is not set @@ -617,32 +414,6 @@ CONFIG_ADC_CAL_LUT_ENABLE=y # 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 # @@ -651,7 +422,6 @@ CONFIG_ESP_MAC_ADDR_UNIVERSE_ETH=y 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 @@ -661,6 +431,7 @@ 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_SPI_ETHERNET_KSZ8851SNL is not set # CONFIG_ETH_USE_OPENETH is not set # end of Ethernet @@ -682,6 +453,7 @@ CONFIG_ESP_EVENT_POST_FROM_IRAM_ISR=y # CONFIG_ESP_HTTP_CLIENT_ENABLE_HTTPS=y # CONFIG_ESP_HTTP_CLIENT_ENABLE_BASIC_AUTH is not set +CONFIG_ESP_HTTP_CLIENT_ENABLE_DIGEST_AUTH=y # end of ESP HTTP client # @@ -707,6 +479,56 @@ CONFIG_HTTPD_PURGE_BUF_LEN=32 # CONFIG_ESP_HTTPS_SERVER_ENABLE is not set # end of ESP HTTPS server +# +# Hardware Settings +# + +# +# MAC Config +# +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 +# CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_TWO is not set +CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_FOUR=y +CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES=4 +# end of MAC Config + +# +# Sleep Config +# +CONFIG_ESP_SLEEP_RTC_BUS_ISO_WORKAROUND=y +# CONFIG_ESP_SLEEP_GPIO_RESET_WORKAROUND is not set +# CONFIG_ESP_SLEEP_PSRAM_LEAKAGE_WORKAROUND is not set +# CONFIG_ESP_SLEEP_FLASH_LEAKAGE_WORKAROUND is not set +# end of Sleep Config + +# +# RTC Clock Config +# +# end of RTC Clock Config +# end of Hardware Settings + +# +# IPC (Inter-Processor Call) +# +CONFIG_ESP_IPC_TASK_STACK_SIZE=1024 +CONFIG_ESP_IPC_USES_CALLERS_PRIORITY=y +CONFIG_ESP_IPC_ISR_ENABLE=y +# end of IPC (Inter-Processor Call) + +# +# LCD and Touch Panel +# + +# +# LCD Peripheral Configuration +# +CONFIG_LCD_PANEL_IO_FORMAT_BUF_SIZE=32 +# end of LCD Peripheral Configuration +# end of LCD and Touch Panel + # # ESP NETIF Adapter # @@ -716,6 +538,16 @@ CONFIG_ESP_NETIF_TCPIP_LWIP=y CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER=y # end of ESP NETIF Adapter +# +# PHY +# +CONFIG_ESP_PHY_CALIBRATION_AND_DATA_STORAGE=y +# CONFIG_ESP_PHY_INIT_DATA_IN_PARTITION is not set +CONFIG_ESP_PHY_MAX_WIFI_TX_POWER=20 +CONFIG_ESP_PHY_MAX_TX_POWER=20 +CONFIG_ESP_PHY_REDUCE_TX_POWER=y +# end of PHY + # # Power Management # @@ -729,13 +561,40 @@ CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER=y 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 -# CONFIG_ESP_SYSTEM_FLASH_LEAKAGE_WORKAROUND is not set +# CONFIG_ESP_SYSTEM_GDBSTUB_RUNTIME is not set # # Memory protection # # end of Memory protection + +CONFIG_ESP_SYSTEM_EVENT_QUEUE_SIZE=32 +CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=2304 +CONFIG_ESP_MAIN_TASK_STACK_SIZE=3584 +CONFIG_ESP_MAIN_TASK_AFFINITY_CPU0=y +# CONFIG_ESP_MAIN_TASK_AFFINITY_CPU1 is not set +# CONFIG_ESP_MAIN_TASK_AFFINITY_NO_AFFINITY is not set +CONFIG_ESP_MAIN_TASK_AFFINITY=0x0 +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_DEBUG_STUBS_ENABLE is not set +CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_5=y +# CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_4 is not set # end of ESP System Settings # @@ -745,6 +604,8 @@ CONFIG_ESP_SYSTEM_PD_FLASH=y 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_INTERRUPT_LEVEL=1 +# CONFIG_ESP_TIMER_SUPPORTS_ISR_DISPATCH_METHOD is not set # CONFIG_ESP_TIMER_IMPL_FRC2 is not set CONFIG_ESP_TIMER_IMPL_TG0_LAC=y # end of High resolution timer (esp_timer) @@ -752,45 +613,33 @@ CONFIG_ESP_TIMER_IMPL_TG0_LAC=y # # Wi-Fi # -CONFIG_ESP32_WIFI_SW_COEXIST_ENABLE=y +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_STATIC_TX_BUFFER=y +CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=0 +CONFIG_ESP32_WIFI_STATIC_TX_BUFFER_NUM=16 +CONFIG_ESP32_WIFI_CACHE_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_AMSDU_TX_ENABLED is not set 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_WIFI_LOG_DEFAULT_LEVEL_NONE is not set -# CONFIG_WIFI_LOG_DEFAULT_LEVEL_ERROR is not set -# CONFIG_WIFI_LOG_DEFAULT_LEVEL_WARN is not set -CONFIG_WIFI_LOG_DEFAULT_LEVEL_INFO=y -# CONFIG_WIFI_LOG_DEFAULT_LEVEL_DEBUG is not set -# CONFIG_WIFI_LOG_DEFAULT_LEVEL_VERBOSE 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 +# CONFIG_ESP_WIFI_GMAC_SUPPORT is not set +CONFIG_ESP_WIFI_SOFTAP_SUPPORT=y # 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 # @@ -831,6 +680,7 @@ CONFIG_FATFS_LFN_NONE=y CONFIG_FATFS_FS_LOCK=0 CONFIG_FATFS_TIMEOUT_MS=10000 CONFIG_FATFS_PER_FILE_CACHE=y +CONFIG_FATFS_ALLOC_PREFER_EXTRAM=y # CONFIG_FATFS_USE_FASTSEEK is not set # end of FAT Filesystem support @@ -874,8 +724,10 @@ CONFIG_FMB_MASTER_TIMER_INDEX=0 # # CONFIG_FREERTOS_UNICORE is not set CONFIG_FREERTOS_NO_AFFINITY=0x7FFFFFFF +CONFIG_FREERTOS_TICK_SUPPORT_CORETIMER=y CONFIG_FREERTOS_CORETIMER_0=y # CONFIG_FREERTOS_CORETIMER_1 is not set +CONFIG_FREERTOS_SYSTICK_USES_CCOUNT=y CONFIG_FREERTOS_HZ=100 CONFIG_FREERTOS_ASSERT_ON_UNTESTED_FUNCTION=y # CONFIG_FREERTOS_CHECK_STACKOVERFLOW_NONE is not set @@ -905,8 +757,20 @@ CONFIG_FREERTOS_CHECK_MUTEX_GIVEN_BY_OWNER=y # CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH is not set CONFIG_FREERTOS_DEBUG_OCDAWARE=y # CONFIG_FREERTOS_FPU_IN_ISR is not set +CONFIG_FREERTOS_ENABLE_TASK_SNAPSHOT=y +# CONFIG_FREERTOS_PLACE_SNAPSHOT_FUNS_INTO_FLASH is not set # end of FreeRTOS +# +# Hardware Abstraction Layer (HAL) and Low Level (LL) +# +CONFIG_HAL_ASSERTION_EQUALS_SYSTEM=y +# CONFIG_HAL_ASSERTION_DISABLE is not set +# CONFIG_HAL_ASSERTION_SILIENT is not set +# CONFIG_HAL_ASSERTION_ENABLE is not set +CONFIG_HAL_DEFAULT_ASSERTION_LEVEL=2 +# end of Hardware Abstraction Layer (HAL) and Low Level (LL) + # # Heap memory debugging # @@ -941,6 +805,10 @@ 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_MAXIMUM_EQUALS_DEFAULT=y +# CONFIG_LOG_MAXIMUM_LEVEL_DEBUG is not set +# CONFIG_LOG_MAXIMUM_LEVEL_VERBOSE is not set +CONFIG_LOG_MAXIMUM_LEVEL=3 CONFIG_LOG_COLORS=y CONFIG_LOG_TIMESTAMP_SOURCE_RTOS=y # CONFIG_LOG_TIMESTAMP_SOURCE_SYSTEM is not set @@ -950,6 +818,8 @@ CONFIG_LOG_TIMESTAMP_SOURCE_RTOS=y # LWIP # CONFIG_LWIP_LOCAL_HOSTNAME="espressif" +# CONFIG_LWIP_NETIF_API is not set +# CONFIG_LWIP_TCPIP_CORE_LOCKING is not set CONFIG_LWIP_DNS_SUPPORT_MDNS_QUERIES=y # CONFIG_LWIP_L2_TO_L3_COPY is not set # CONFIG_LWIP_IRAM_OPTIMIZATION is not set @@ -973,7 +843,9 @@ CONFIG_LWIP_GARP_TMR_INTERVAL=60 CONFIG_LWIP_TCPIP_RECVMBOX_SIZE=32 CONFIG_LWIP_DHCP_DOES_ARP_CHECK=y # CONFIG_LWIP_DHCP_DISABLE_CLIENT_ID is not set +CONFIG_LWIP_DHCP_DISABLE_VENDOR_CLASS_ID=y # CONFIG_LWIP_DHCP_RESTORE_LAST_IP is not set +CONFIG_LWIP_DHCP_OPTIONS_LEN=68 # # DHCP server @@ -986,6 +858,9 @@ CONFIG_LWIP_DHCPS_MAX_STATION_NUM=8 # CONFIG_LWIP_AUTOIP is not set CONFIG_LWIP_IPV6=y # CONFIG_LWIP_IPV6_AUTOCONFIG is not set +CONFIG_LWIP_IPV6_NUM_ADDRESSES=3 +# CONFIG_LWIP_IPV6_FORWARD is not set +# CONFIG_LWIP_NETIF_STATUS_CALLBACK is not set CONFIG_LWIP_NETIF_LOOPBACK=y CONFIG_LWIP_LOOPBACK_MAX_PBUFS=8 @@ -1009,6 +884,7 @@ CONFIG_LWIP_TCP_QUEUE_OOSEQ=y 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_WND_SCALE is not set CONFIG_LWIP_TCP_RTO_TIME=1500 # end of TCP @@ -1054,7 +930,8 @@ CONFIG_LWIP_MAX_RAW_PCBS=16 # # SNTP # -CONFIG_LWIP_DHCP_MAX_NTP_SERVERS=1 +CONFIG_LWIP_SNTP_MAX_SERVERS=1 +# CONFIG_LWIP_DHCP_GET_NTP_SRV is not set CONFIG_LWIP_SNTP_UPDATE_DELAY=3600000 # end of SNTP @@ -1069,6 +946,9 @@ CONFIG_LWIP_HOOK_TCP_ISN_DEFAULT=y 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_ND6_GET_GW_NONE=y +# CONFIG_LWIP_HOOK_ND6_GET_GW_DEFAULT is not set +# CONFIG_LWIP_HOOK_ND6_GET_GW_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 @@ -1081,6 +961,7 @@ CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_NONE=y # mbedTLS # CONFIG_MBEDTLS_INTERNAL_MEM_ALLOC=y +# CONFIG_MBEDTLS_EXTERNAL_MEM_ALLOC is not set # CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC is not set # CONFIG_MBEDTLS_CUSTOM_MEM_ALLOC is not set CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN=y @@ -1089,6 +970,15 @@ CONFIG_MBEDTLS_SSL_OUT_CONTENT_LEN=4096 # CONFIG_MBEDTLS_DYNAMIC_BUFFER is not set # CONFIG_MBEDTLS_DEBUG is not set +# +# mbedTLS v2.28.x related +# +# CONFIG_MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH is not set +# CONFIG_MBEDTLS_X509_TRUSTED_CERT_CALLBACK is not set +# CONFIG_MBEDTLS_SSL_CONTEXT_SERIALIZATION is not set +CONFIG_MBEDTLS_SSL_KEEP_PEER_CERTIFICATE=y +# end of mbedTLS v2.28.x related + # # Certificate Bundle # @@ -1137,6 +1027,7 @@ CONFIG_MBEDTLS_SSL_RENEGOTIATION=y CONFIG_MBEDTLS_SSL_PROTO_TLS1=y CONFIG_MBEDTLS_SSL_PROTO_TLS1_1=y CONFIG_MBEDTLS_SSL_PROTO_TLS1_2=y +# CONFIG_MBEDTLS_SSL_PROTO_GMTSSL1_1 is not set # CONFIG_MBEDTLS_SSL_PROTO_DTLS is not set CONFIG_MBEDTLS_SSL_ALPN=y CONFIG_MBEDTLS_CLIENT_SSL_SESSION_TICKETS=y @@ -1209,6 +1100,8 @@ 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 +# CONFIG_MDNS_NETWORKING_SOCKET is not set +CONFIG_MDNS_MULTIPLE_INSTANCE=y # end of mDNS # @@ -1252,6 +1145,12 @@ CONFIG_OPENSSL_ERROR_STACK=y CONFIG_OPENSSL_ASSERT_EXIT=y # end of OpenSSL +# +# OpenThread +# +# CONFIG_OPENTHREAD_ENABLED is not set +# end of OpenThread + # # PThreads # @@ -1283,6 +1182,7 @@ 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 +# CONFIG_SPI_FLASH_OVERRIDE_CHIP_DRIVER_LIST is not set # # Auto-detect flash chips @@ -1291,6 +1191,8 @@ 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 +# CONFIG_SPI_FLASH_SUPPORT_BOYA_CHIP is not set +# CONFIG_SPI_FLASH_SUPPORT_TH_CHIP is not set # end of Auto-detect flash chips CONFIG_SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE=y @@ -1344,16 +1246,12 @@ CONFIG_WS_BUFFER_SIZE=1024 # end of Websocket # 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_64BIT is not set # CONFIG_UNITY_ENABLE_COLOR is not set CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER=y # CONFIG_UNITY_ENABLE_FIXTURE is not set @@ -1390,7 +1288,6 @@ CONFIG_WL_SECTOR_SIZE=4096 # CONFIG_WIFI_PROV_SCAN_MAX_ENTRIES=16 CONFIG_WIFI_PROV_AUTOSTOP_TIMEOUT=30 -# CONFIG_WIFI_PROV_BLE_BONDING is not set # end of Wi-Fi Provisioning Manager # @@ -1398,11 +1295,314 @@ CONFIG_WIFI_PROV_AUTOSTOP_TIMEOUT=30 # CONFIG_WPA_MBEDTLS_CRYPTO=y # CONFIG_WPA_WAPI_PSK is not set +# CONFIG_WPA_SUITE_B_192 is not set # CONFIG_WPA_DEBUG_PRINT is not set # CONFIG_WPA_TESTING_OPTIONS is not set # CONFIG_WPA_WPS_STRICT is not set # CONFIG_WPA_11KV_SUPPORT is not set # end of Supplicant + +# +# LVGL configuration +# +# CONFIG_LV_CONF_SKIP is not set +# CONFIG_LV_CONF_MINIMAL is not set + +# +# Color settings +# +# CONFIG_LV_COLOR_DEPTH_32 is not set +CONFIG_LV_COLOR_DEPTH_16=y +# CONFIG_LV_COLOR_DEPTH_8 is not set +# CONFIG_LV_COLOR_DEPTH_1 is not set +CONFIG_LV_COLOR_DEPTH=16 +# CONFIG_LV_COLOR_16_SWAP is not set +# CONFIG_LV_COLOR_SCREEN_TRANSP is not set +CONFIG_LV_COLOR_MIX_ROUND_OFS=128 +CONFIG_LV_COLOR_CHROMA_KEY_HEX=0x00FF00 +# end of Color settings + +# +# Memory settings +# +# CONFIG_LV_MEM_CUSTOM is not set +CONFIG_LV_MEM_SIZE_KILOBYTES=32 +CONFIG_LV_MEM_ADDR=0x0 +CONFIG_LV_MEM_BUF_MAX_NUM=16 +# CONFIG_LV_MEMCPY_MEMSET_STD is not set +# end of Memory settings + +# +# HAL Settings +# +CONFIG_LV_DISP_DEF_REFR_PERIOD=30 +CONFIG_LV_INDEV_DEF_READ_PERIOD=30 +# CONFIG_LV_TICK_CUSTOM is not set +CONFIG_LV_DPI_DEF=130 +# end of HAL Settings + +# +# Feature configuration +# + +# +# Drawing +# +CONFIG_LV_DRAW_COMPLEX=y +CONFIG_LV_SHADOW_CACHE_SIZE=0 +CONFIG_LV_CIRCLE_CACHE_SIZE=4 +CONFIG_LV_LAYER_SIMPLE_BUF_SIZE=24576 +CONFIG_LV_IMG_CACHE_DEF_SIZE=0 +CONFIG_LV_GRADIENT_MAX_STOPS=2 +CONFIG_LV_GRAD_CACHE_DEF_SIZE=0 +# CONFIG_LV_DITHER_GRADIENT is not set +CONFIG_LV_DISP_ROT_MAX_BUF=10240 +# end of Drawing + +# +# GPU +# +# CONFIG_LV_USE_GPU_ARM2D is not set +# CONFIG_LV_USE_GPU_STM32_DMA2D is not set +# CONFIG_LV_USE_GPU_SWM341_DMA2D is not set +# CONFIG_LV_USE_GPU_NXP_PXP is not set +# CONFIG_LV_USE_GPU_NXP_VG_LITE is not set +# CONFIG_LV_USE_GPU_SDL is not set +# end of GPU + +# +# Logging +# +# CONFIG_LV_USE_LOG is not set +# end of Logging + +# +# Asserts +# +CONFIG_LV_USE_ASSERT_NULL=y +CONFIG_LV_USE_ASSERT_MALLOC=y +# CONFIG_LV_USE_ASSERT_STYLE is not set +# CONFIG_LV_USE_ASSERT_MEM_INTEGRITY is not set +# CONFIG_LV_USE_ASSERT_OBJ is not set +CONFIG_LV_ASSERT_HANDLER_INCLUDE="assert.h" +# end of Asserts + +# +# Others +# +# CONFIG_LV_USE_PERF_MONITOR is not set +# CONFIG_LV_USE_MEM_MONITOR is not set +# CONFIG_LV_USE_REFR_DEBUG is not set +# CONFIG_LV_SPRINTF_CUSTOM is not set +# CONFIG_LV_SPRINTF_USE_FLOAT is not set +CONFIG_LV_USE_USER_DATA=y +# CONFIG_LV_ENABLE_GC is not set +# end of Others + +# +# Compiler settings +# +# CONFIG_LV_BIG_ENDIAN_SYSTEM is not set +CONFIG_LV_ATTRIBUTE_MEM_ALIGN_SIZE=1 +# CONFIG_LV_ATTRIBUTE_FAST_MEM_USE_IRAM is not set +# CONFIG_LV_USE_LARGE_COORD is not set +# end of Compiler settings +# end of Feature configuration + +# +# Font usage +# + +# +# Enable built-in fonts +# +# CONFIG_LV_FONT_MONTSERRAT_8 is not set +# CONFIG_LV_FONT_MONTSERRAT_10 is not set +# CONFIG_LV_FONT_MONTSERRAT_12 is not set +CONFIG_LV_FONT_MONTSERRAT_14=y +# CONFIG_LV_FONT_MONTSERRAT_16 is not set +# CONFIG_LV_FONT_MONTSERRAT_18 is not set +# CONFIG_LV_FONT_MONTSERRAT_20 is not set +# CONFIG_LV_FONT_MONTSERRAT_22 is not set +# CONFIG_LV_FONT_MONTSERRAT_24 is not set +# CONFIG_LV_FONT_MONTSERRAT_26 is not set +# CONFIG_LV_FONT_MONTSERRAT_28 is not set +# CONFIG_LV_FONT_MONTSERRAT_30 is not set +# CONFIG_LV_FONT_MONTSERRAT_32 is not set +# CONFIG_LV_FONT_MONTSERRAT_34 is not set +# CONFIG_LV_FONT_MONTSERRAT_36 is not set +# CONFIG_LV_FONT_MONTSERRAT_38 is not set +# CONFIG_LV_FONT_MONTSERRAT_40 is not set +# CONFIG_LV_FONT_MONTSERRAT_42 is not set +# CONFIG_LV_FONT_MONTSERRAT_44 is not set +# CONFIG_LV_FONT_MONTSERRAT_46 is not set +# CONFIG_LV_FONT_MONTSERRAT_48 is not set +# CONFIG_LV_FONT_MONTSERRAT_12_SUBPX is not set +# CONFIG_LV_FONT_MONTSERRAT_28_COMPRESSED is not set +# CONFIG_LV_FONT_DEJAVU_16_PERSIAN_HEBREW is not set +# CONFIG_LV_FONT_SIMSUN_16_CJK is not set +# CONFIG_LV_FONT_UNSCII_8 is not set +# CONFIG_LV_FONT_UNSCII_16 is not set +# CONFIG_LV_FONT_CUSTOM is not set +# end of Enable built-in fonts + +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_8 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_12 is not set +CONFIG_LV_FONT_DEFAULT_MONTSERRAT_14=y +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_16 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_18 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_20 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_22 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_24 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_26 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_28 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_30 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_32 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_34 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_36 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_38 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_40 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_42 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_44 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_46 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_48 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_12_SUBPX is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_28_COMPRESSED is not set +# CONFIG_LV_FONT_DEFAULT_DEJAVU_16_PERSIAN_HEBREW is not set +# CONFIG_LV_FONT_DEFAULT_SIMSUN_16_CJK is not set +# CONFIG_LV_FONT_DEFAULT_UNSCII_8 is not set +# CONFIG_LV_FONT_DEFAULT_UNSCII_16 is not set +# CONFIG_LV_FONT_FMT_TXT_LARGE is not set +# CONFIG_LV_USE_FONT_COMPRESSED is not set +# CONFIG_LV_USE_FONT_SUBPX is not set +CONFIG_LV_USE_FONT_PLACEHOLDER=y +# end of Font usage + +# +# Text Settings +# +CONFIG_LV_TXT_ENC_UTF8=y +# CONFIG_LV_TXT_ENC_ASCII is not set +CONFIG_LV_TXT_BREAK_CHARS=" ,.;:-_" +CONFIG_LV_TXT_LINE_BREAK_LONG_LEN=0 +CONFIG_LV_TXT_COLOR_CMD="#" +# CONFIG_LV_USE_BIDI is not set +# CONFIG_LV_USE_ARABIC_PERSIAN_CHARS is not set +# end of Text Settings + +# +# Widget usage +# +CONFIG_LV_USE_ARC=y +CONFIG_LV_USE_BAR=y +CONFIG_LV_USE_BTN=y +CONFIG_LV_USE_BTNMATRIX=y +CONFIG_LV_USE_CANVAS=y +CONFIG_LV_USE_CHECKBOX=y +CONFIG_LV_USE_DROPDOWN=y +CONFIG_LV_USE_IMG=y +CONFIG_LV_USE_LABEL=y +CONFIG_LV_LABEL_TEXT_SELECTION=y +CONFIG_LV_LABEL_LONG_TXT_HINT=y +CONFIG_LV_USE_LINE=y +CONFIG_LV_USE_ROLLER=y +CONFIG_LV_ROLLER_INF_PAGES=7 +CONFIG_LV_USE_SLIDER=y +CONFIG_LV_USE_SWITCH=y +CONFIG_LV_USE_TEXTAREA=y +CONFIG_LV_TEXTAREA_DEF_PWD_SHOW_TIME=1500 +CONFIG_LV_USE_TABLE=y +# end of Widget usage + +# +# Extra Widgets +# +CONFIG_LV_USE_ANIMIMG=y +CONFIG_LV_USE_CALENDAR=y +# CONFIG_LV_CALENDAR_WEEK_STARTS_MONDAY is not set +CONFIG_LV_USE_CALENDAR_HEADER_ARROW=y +CONFIG_LV_USE_CALENDAR_HEADER_DROPDOWN=y +CONFIG_LV_USE_CHART=y +CONFIG_LV_USE_COLORWHEEL=y +CONFIG_LV_USE_IMGBTN=y +CONFIG_LV_USE_KEYBOARD=y +CONFIG_LV_USE_LED=y +CONFIG_LV_USE_LIST=y +CONFIG_LV_USE_MENU=y +CONFIG_LV_USE_METER=y +CONFIG_LV_USE_MSGBOX=y +CONFIG_LV_USE_SPAN=y +CONFIG_LV_SPAN_SNIPPET_STACK_SIZE=64 +CONFIG_LV_USE_SPINBOX=y +CONFIG_LV_USE_SPINNER=y +CONFIG_LV_USE_TABVIEW=y +CONFIG_LV_USE_TILEVIEW=y +CONFIG_LV_USE_WIN=y +# end of Extra Widgets + +# +# Themes +# +CONFIG_LV_USE_THEME_DEFAULT=y +# CONFIG_LV_THEME_DEFAULT_DARK is not set +CONFIG_LV_THEME_DEFAULT_GROW=y +CONFIG_LV_THEME_DEFAULT_TRANSITION_TIME=80 +CONFIG_LV_USE_THEME_BASIC=y +# CONFIG_LV_USE_THEME_MONO is not set +# end of Themes + +# +# Layouts +# +CONFIG_LV_USE_FLEX=y +CONFIG_LV_USE_GRID=y +# end of Layouts + +# +# 3rd Party Libraries +# +# CONFIG_LV_USE_FS_STDIO is not set +# CONFIG_LV_USE_FS_POSIX is not set +# CONFIG_LV_USE_FS_WIN32 is not set +# CONFIG_LV_USE_FS_FATFS is not set +# CONFIG_LV_USE_PNG is not set +# CONFIG_LV_USE_BMP is not set +# CONFIG_LV_USE_SJPG is not set +# CONFIG_LV_USE_GIF is not set +# CONFIG_LV_USE_QRCODE is not set +# CONFIG_LV_USE_FREETYPE is not set +# CONFIG_LV_USE_RLOTTIE is not set +# CONFIG_LV_USE_FFMPEG is not set +# end of 3rd Party Libraries + +# +# Others +# +CONFIG_LV_USE_SNAPSHOT=y +# CONFIG_LV_USE_MONKEY is not set +# CONFIG_LV_USE_GRIDNAV is not set +# CONFIG_LV_USE_FRAGMENT is not set +# CONFIG_LV_USE_IMGFONT is not set +# CONFIG_LV_USE_MSG is not set +# CONFIG_LV_USE_IME_PINYIN is not set +# end of Others + +# +# Examples +# +CONFIG_LV_BUILD_EXAMPLES=y +# end of Examples + +# +# Demos +# +# CONFIG_LV_USE_DEMO_WIDGETS is not set +# CONFIG_LV_USE_DEMO_KEYPAD_AND_ENCODER is not set +# CONFIG_LV_USE_DEMO_BENCHMARK is not set +# CONFIG_LV_USE_DEMO_STRESS is not set +# CONFIG_LV_USE_DEMO_MUSIC is not set +# end of Demos +# end of LVGL configuration # end of Component config # @@ -1440,6 +1640,7 @@ CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG=y 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 @@ -1450,221 +1651,10 @@ CONFIG_STACK_CHECK_NONE=y # CONFIG_ESP32_APPTRACE_DEST_TRAX is not set CONFIG_ESP32_APPTRACE_DEST_NONE=y CONFIG_ESP32_APPTRACE_LOCK_ENABLE=y -CONFIG_BTDM_CONTROLLER_MODE_BLE_ONLY=y -# CONFIG_BTDM_CONTROLLER_MODE_BR_EDR_ONLY is not set -# CONFIG_BTDM_CONTROLLER_MODE_BTDM is not set -CONFIG_BTDM_CONTROLLER_BLE_MAX_CONN=3 -CONFIG_BTDM_CONTROLLER_BLE_MAX_CONN_EFF=3 -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_BTDM_CONTROLLER_HCI_MODE_VHCI=y -# CONFIG_BTDM_CONTROLLER_HCI_MODE_UART_H4 is not set -CONFIG_BTDM_CONTROLLER_MODEM_SLEEP=y -CONFIG_BLE_SCAN_DUPLICATE=y -CONFIG_SCAN_DUPLICATE_BY_DEVICE_ADDR=y -# CONFIG_SCAN_DUPLICATE_BY_ADV_DATA is not set -# CONFIG_SCAN_DUPLICATE_BY_ADV_DATA_AND_DEVICE_ADDR is not set -CONFIG_SCAN_DUPLICATE_TYPE=0 -CONFIG_DUPLICATE_SCAN_CACHE_SIZE=200 -# CONFIG_BLE_MESH_SCAN_DUPLICATE_EN is not set -CONFIG_BTDM_CONTROLLER_FULL_SCAN_SUPPORTED=y -CONFIG_BLE_ADV_REPORT_FLOW_CONTROL_SUPPORTED=y -CONFIG_BLE_ADV_REPORT_FLOW_CONTROL_NUM=100 -CONFIG_BLE_ADV_REPORT_DISCARD_THRSHOLD=20 -CONFIG_BLUEDROID_ENABLED=y -# CONFIG_NIMBLE_ENABLED is not set -CONFIG_BTC_TASK_STACK_SIZE=3072 -CONFIG_BLUEDROID_PINNED_TO_CORE_0=y -# CONFIG_BLUEDROID_PINNED_TO_CORE_1 is not set -CONFIG_BLUEDROID_PINNED_TO_CORE=0 -CONFIG_BTU_TASK_STACK_SIZE=4096 -# CONFIG_BLUEDROID_MEM_DEBUG is not set -CONFIG_CLASSIC_BT_ENABLED=y -CONFIG_A2DP_ENABLE=y -CONFIG_HFP_ENABLE=y -CONFIG_HFP_CLIENT_ENABLE=y -# CONFIG_HFP_AG_ENABLE is not set -CONFIG_HFP_AUDIO_DATA_PATH_PCM=y -# CONFIG_HFP_AUDIO_DATA_PATH_HCI is not set -CONFIG_GATTS_ENABLE=y -# CONFIG_GATTS_SEND_SERVICE_CHANGE_MANUAL is not set -CONFIG_GATTS_SEND_SERVICE_CHANGE_AUTO=y -CONFIG_GATTS_SEND_SERVICE_CHANGE_MODE=0 -CONFIG_GATTC_ENABLE=y -# CONFIG_GATTC_CACHE_NVS_FLASH is not set -# CONFIG_BLE_SMP_ENABLE is not set -# CONFIG_HCI_TRACE_LEVEL_NONE is not set -# CONFIG_HCI_TRACE_LEVEL_ERROR is not set -CONFIG_HCI_TRACE_LEVEL_WARNING=y -# CONFIG_HCI_TRACE_LEVEL_API is not set -# CONFIG_HCI_TRACE_LEVEL_EVENT is not set -# CONFIG_HCI_TRACE_LEVEL_DEBUG is not set -# CONFIG_HCI_TRACE_LEVEL_VERBOSE is not set -CONFIG_HCI_INITIAL_TRACE_LEVEL=2 -# CONFIG_BTM_TRACE_LEVEL_NONE is not set -# CONFIG_BTM_TRACE_LEVEL_ERROR is not set -CONFIG_BTM_TRACE_LEVEL_WARNING=y -# CONFIG_BTM_TRACE_LEVEL_API is not set -# CONFIG_BTM_TRACE_LEVEL_EVENT is not set -# CONFIG_BTM_TRACE_LEVEL_DEBUG is not set -# CONFIG_BTM_TRACE_LEVEL_VERBOSE is not set -CONFIG_BTM_INITIAL_TRACE_LEVEL=2 -# CONFIG_L2CAP_TRACE_LEVEL_NONE is not set -# CONFIG_L2CAP_TRACE_LEVEL_ERROR is not set -CONFIG_L2CAP_TRACE_LEVEL_WARNING=y -# CONFIG_L2CAP_TRACE_LEVEL_API is not set -# CONFIG_L2CAP_TRACE_LEVEL_EVENT is not set -# CONFIG_L2CAP_TRACE_LEVEL_DEBUG is not set -# CONFIG_L2CAP_TRACE_LEVEL_VERBOSE is not set -CONFIG_L2CAP_INITIAL_TRACE_LEVEL=2 -# CONFIG_RFCOMM_TRACE_LEVEL_NONE is not set -# CONFIG_RFCOMM_TRACE_LEVEL_ERROR is not set -CONFIG_RFCOMM_TRACE_LEVEL_WARNING=y -# CONFIG_RFCOMM_TRACE_LEVEL_API is not set -# CONFIG_RFCOMM_TRACE_LEVEL_EVENT is not set -# CONFIG_RFCOMM_TRACE_LEVEL_DEBUG is not set -# CONFIG_RFCOMM_TRACE_LEVEL_VERBOSE is not set -CONFIG_RFCOMM_INITIAL_TRACE_LEVEL=2 -# CONFIG_SDP_TRACE_LEVEL_NONE is not set -# CONFIG_SDP_TRACE_LEVEL_ERROR is not set -CONFIG_SDP_TRACE_LEVEL_WARNING=y -# CONFIG_SDP_TRACE_LEVEL_API is not set -# CONFIG_SDP_TRACE_LEVEL_EVENT is not set -# CONFIG_SDP_TRACE_LEVEL_DEBUG is not set -# CONFIG_SDP_TRACE_LEVEL_VERBOSE is not set -CONFIG_BTH_LOG_SDP_INITIAL_TRACE_LEVEL=2 -# CONFIG_GAP_TRACE_LEVEL_NONE is not set -# CONFIG_GAP_TRACE_LEVEL_ERROR is not set -CONFIG_GAP_TRACE_LEVEL_WARNING=y -# CONFIG_GAP_TRACE_LEVEL_API is not set -# CONFIG_GAP_TRACE_LEVEL_EVENT is not set -# CONFIG_GAP_TRACE_LEVEL_DEBUG is not set -# CONFIG_GAP_TRACE_LEVEL_VERBOSE is not set -CONFIG_GAP_INITIAL_TRACE_LEVEL=2 -CONFIG_BNEP_INITIAL_TRACE_LEVEL=2 -# CONFIG_PAN_TRACE_LEVEL_NONE is not set -# CONFIG_PAN_TRACE_LEVEL_ERROR is not set -CONFIG_PAN_TRACE_LEVEL_WARNING=y -# CONFIG_PAN_TRACE_LEVEL_API is not set -# CONFIG_PAN_TRACE_LEVEL_EVENT is not set -# CONFIG_PAN_TRACE_LEVEL_DEBUG is not set -# CONFIG_PAN_TRACE_LEVEL_VERBOSE is not set -CONFIG_PAN_INITIAL_TRACE_LEVEL=2 -# CONFIG_A2D_TRACE_LEVEL_NONE is not set -# CONFIG_A2D_TRACE_LEVEL_ERROR is not set -CONFIG_A2D_TRACE_LEVEL_WARNING=y -# CONFIG_A2D_TRACE_LEVEL_API is not set -# CONFIG_A2D_TRACE_LEVEL_EVENT is not set -# CONFIG_A2D_TRACE_LEVEL_DEBUG is not set -# CONFIG_A2D_TRACE_LEVEL_VERBOSE is not set -CONFIG_A2D_INITIAL_TRACE_LEVEL=2 -# CONFIG_AVDT_TRACE_LEVEL_NONE is not set -# CONFIG_AVDT_TRACE_LEVEL_ERROR is not set -CONFIG_AVDT_TRACE_LEVEL_WARNING=y -# CONFIG_AVDT_TRACE_LEVEL_API is not set -# CONFIG_AVDT_TRACE_LEVEL_EVENT is not set -# CONFIG_AVDT_TRACE_LEVEL_DEBUG is not set -# CONFIG_AVDT_TRACE_LEVEL_VERBOSE is not set -CONFIG_AVDT_INITIAL_TRACE_LEVEL=2 -# CONFIG_AVCT_TRACE_LEVEL_NONE is not set -# CONFIG_AVCT_TRACE_LEVEL_ERROR is not set -CONFIG_AVCT_TRACE_LEVEL_WARNING=y -# CONFIG_AVCT_TRACE_LEVEL_API is not set -# CONFIG_AVCT_TRACE_LEVEL_EVENT is not set -# CONFIG_AVCT_TRACE_LEVEL_DEBUG is not set -# CONFIG_AVCT_TRACE_LEVEL_VERBOSE is not set -CONFIG_AVCT_INITIAL_TRACE_LEVEL=2 -# CONFIG_AVRC_TRACE_LEVEL_NONE is not set -# CONFIG_AVRC_TRACE_LEVEL_ERROR is not set -CONFIG_AVRC_TRACE_LEVEL_WARNING=y -# CONFIG_AVRC_TRACE_LEVEL_API is not set -# CONFIG_AVRC_TRACE_LEVEL_EVENT is not set -# CONFIG_AVRC_TRACE_LEVEL_DEBUG is not set -# CONFIG_AVRC_TRACE_LEVEL_VERBOSE is not set -CONFIG_AVRC_INITIAL_TRACE_LEVEL=2 -# CONFIG_MCA_TRACE_LEVEL_NONE is not set -# CONFIG_MCA_TRACE_LEVEL_ERROR is not set -CONFIG_MCA_TRACE_LEVEL_WARNING=y -# CONFIG_MCA_TRACE_LEVEL_API is not set -# CONFIG_MCA_TRACE_LEVEL_EVENT is not set -# CONFIG_MCA_TRACE_LEVEL_DEBUG is not set -# CONFIG_MCA_TRACE_LEVEL_VERBOSE is not set -CONFIG_MCA_INITIAL_TRACE_LEVEL=2 -# CONFIG_HID_TRACE_LEVEL_NONE is not set -# CONFIG_HID_TRACE_LEVEL_ERROR is not set -CONFIG_HID_TRACE_LEVEL_WARNING=y -# CONFIG_HID_TRACE_LEVEL_API is not set -# CONFIG_HID_TRACE_LEVEL_EVENT is not set -# CONFIG_HID_TRACE_LEVEL_DEBUG is not set -# CONFIG_HID_TRACE_LEVEL_VERBOSE is not set -CONFIG_HID_INITIAL_TRACE_LEVEL=2 -# CONFIG_APPL_TRACE_LEVEL_NONE is not set -# CONFIG_APPL_TRACE_LEVEL_ERROR is not set -CONFIG_APPL_TRACE_LEVEL_WARNING=y -# CONFIG_APPL_TRACE_LEVEL_API is not set -# CONFIG_APPL_TRACE_LEVEL_EVENT is not set -# CONFIG_APPL_TRACE_LEVEL_DEBUG is not set -# CONFIG_APPL_TRACE_LEVEL_VERBOSE is not set -CONFIG_APPL_INITIAL_TRACE_LEVEL=2 -# CONFIG_GATT_TRACE_LEVEL_NONE is not set -# CONFIG_GATT_TRACE_LEVEL_ERROR is not set -CONFIG_GATT_TRACE_LEVEL_WARNING=y -# CONFIG_GATT_TRACE_LEVEL_API is not set -# CONFIG_GATT_TRACE_LEVEL_EVENT is not set -# CONFIG_GATT_TRACE_LEVEL_DEBUG is not set -# CONFIG_GATT_TRACE_LEVEL_VERBOSE is not set -CONFIG_GATT_INITIAL_TRACE_LEVEL=2 -# CONFIG_SMP_TRACE_LEVEL_NONE is not set -# CONFIG_SMP_TRACE_LEVEL_ERROR is not set -CONFIG_SMP_TRACE_LEVEL_WARNING=y -# CONFIG_SMP_TRACE_LEVEL_API is not set -# CONFIG_SMP_TRACE_LEVEL_EVENT is not set -# CONFIG_SMP_TRACE_LEVEL_DEBUG is not set -# CONFIG_SMP_TRACE_LEVEL_VERBOSE is not set -CONFIG_SMP_INITIAL_TRACE_LEVEL=2 -# CONFIG_BTIF_TRACE_LEVEL_NONE is not set -# CONFIG_BTIF_TRACE_LEVEL_ERROR is not set -CONFIG_BTIF_TRACE_LEVEL_WARNING=y -# CONFIG_BTIF_TRACE_LEVEL_API is not set -# CONFIG_BTIF_TRACE_LEVEL_EVENT is not set -# CONFIG_BTIF_TRACE_LEVEL_DEBUG is not set -# CONFIG_BTIF_TRACE_LEVEL_VERBOSE is not set -CONFIG_BTIF_INITIAL_TRACE_LEVEL=2 -# CONFIG_BTC_TRACE_LEVEL_NONE is not set -# CONFIG_BTC_TRACE_LEVEL_ERROR is not set -CONFIG_BTC_TRACE_LEVEL_WARNING=y -# CONFIG_BTC_TRACE_LEVEL_API is not set -# CONFIG_BTC_TRACE_LEVEL_EVENT is not set -# CONFIG_BTC_TRACE_LEVEL_DEBUG is not set -# CONFIG_BTC_TRACE_LEVEL_VERBOSE is not set -CONFIG_BTC_INITIAL_TRACE_LEVEL=2 -# CONFIG_OSI_TRACE_LEVEL_NONE is not set -# CONFIG_OSI_TRACE_LEVEL_ERROR is not set -CONFIG_OSI_TRACE_LEVEL_WARNING=y -# CONFIG_OSI_TRACE_LEVEL_API is not set -# CONFIG_OSI_TRACE_LEVEL_EVENT is not set -# CONFIG_OSI_TRACE_LEVEL_DEBUG is not set -# CONFIG_OSI_TRACE_LEVEL_VERBOSE is not set -CONFIG_OSI_INITIAL_TRACE_LEVEL=2 -# CONFIG_BLUFI_TRACE_LEVEL_NONE is not set -# CONFIG_BLUFI_TRACE_LEVEL_ERROR is not set -CONFIG_BLUFI_TRACE_LEVEL_WARNING=y -# CONFIG_BLUFI_TRACE_LEVEL_API is not set -# CONFIG_BLUFI_TRACE_LEVEL_EVENT is not set -# CONFIG_BLUFI_TRACE_LEVEL_DEBUG is not set -# CONFIG_BLUFI_TRACE_LEVEL_VERBOSE is not set -CONFIG_BLUFI_INITIAL_TRACE_LEVEL=2 -# CONFIG_BLE_HOST_QUEUE_CONGESTION_CHECK is not set -CONFIG_SMP_ENABLE=y -# CONFIG_BLE_ACTIVE_SCAN_REPORT_ADV_SCAN_RSP_INDIVIDUALLY is not set -CONFIG_BLE_ESTABLISH_LINK_CONNECTION_TIMEOUT=30 CONFIG_ADC2_DISABLE_DAC=y -# CONFIG_SPIRAM_SUPPORT is not set +CONFIG_SPIRAM_SUPPORT=y +CONFIG_WIFI_LWIP_ALLOCATION_FROM_SPIRAM_FIRST=y 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 @@ -1677,17 +1667,33 @@ CONFIG_BROWNOUT_DET_LVL_SEL_0=y # 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_EVENT_LOOP_PROFILING is not set +CONFIG_POST_EVENTS_FROM_ISR=y +CONFIG_POST_EVENTS_FROM_IRAM_ISR=y +# CONFIG_TWO_UNIVERSAL_MAC_ADDRESS is not set +CONFIG_FOUR_UNIVERSAL_MAC_ADDRESS=y +CONFIG_NUMBER_OF_UNIVERSAL_MAC_ADDRESS=4 +# CONFIG_ESP32C3_LIGHTSLEEP_GPIO_RESET_WORKAROUND is not set +CONFIG_IPC_TASK_STACK_SIZE=1024 +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_ESP32_REDUCE_PHY_TX_POWER=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_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 @@ -1702,15 +1708,8 @@ CONFIG_TASK_WDT=y 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_ESP32_DEBUG_STUBS_ENABLE is not set CONFIG_TIMER_TASK_STACK_SIZE=3584 -CONFIG_SW_COEXIST_ENABLE=y # 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 diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/sdkconfig.pico32.old b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/sdkconfig.pico32.old new file mode 100644 index 0000000..fe0a684 --- /dev/null +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/sdkconfig.pico32.old @@ -0,0 +1,1609 @@ +# +# 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_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 +CONFIG_BOOTLOADER_FLASH_XMC_SUPPORT=y +# 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_FLASH_SAMPLE_MODE_STR=y +CONFIG_ESPTOOLPY_FLASHMODE="dio" +CONFIG_ESPTOOLPY_FLASHFREQ_80M=y +# CONFIG_ESPTOOLPY_FLASHFREQ_40M is not set +# CONFIG_ESPTOOLPY_FLASHFREQ_26M is not set +# CONFIG_ESPTOOLPY_FLASHFREQ_20M is not set +CONFIG_ESPTOOLPY_FLASHFREQ="80m" +# CONFIG_ESPTOOLPY_FLASHSIZE_1MB is not set +# CONFIG_ESPTOOLPY_FLASHSIZE_2MB is not set +CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y +# CONFIG_ESPTOOLPY_FLASHSIZE_8MB is not set +# CONFIG_ESPTOOLPY_FLASHSIZE_16MB is not set +CONFIG_ESPTOOLPY_FLASHSIZE="4MB" +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 is not set +# CONFIG_PARTITION_TABLE_SINGLE_APP_LARGE is not set +# CONFIG_PARTITION_TABLE_TWO_OTA is not set +CONFIG_PARTITION_TABLE_CUSTOM=y +CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions_singleapp_large.csv" +CONFIG_PARTITION_TABLE_FILENAME="partitions_singleapp_large.csv" +CONFIG_PARTITION_TABLE_OFFSET=0x8000 +CONFIG_PARTITION_TABLE_MD5=y +# end of Partition Table + +# +# 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_OPTIMIZATION_ASSERTION_LEVEL=2 +# CONFIG_COMPILER_OPTIMIZATION_CHECKS_SILENT is not set +CONFIG_COMPILER_HIDE_PATHS_MACROS=y +# 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_JTAG 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 +# 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 + +# +# MCPWM configuration +# +# CONFIG_MCPWM_ISR_IN_IRAM is not set +# end of MCPWM 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 + +# +# GDMA Configuration +# +# CONFIG_GDMA_CTRL_FUNC_IN_IRAM is not set +# CONFIG_GDMA_ISR_IRAM_SAFE is not set +# end of GDMA 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_CLIENT_SESSION_TICKETS 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_ECO3_CACHE_LOCK_FIX=y +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 is not set +CONFIG_ESP32_DEFAULT_CPU_FREQ_240=y +CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ=240 +CONFIG_ESP32_SPIRAM_SUPPORT=y + +# +# SPI RAM config +# +CONFIG_SPIRAM_TYPE_AUTO=y +# CONFIG_SPIRAM_TYPE_ESPPSRAM16 is not set +# CONFIG_SPIRAM_TYPE_ESPPSRAM32 is not set +# CONFIG_SPIRAM_TYPE_ESPPSRAM64 is not set +CONFIG_SPIRAM_SIZE=-1 +CONFIG_SPIRAM_SPEED_40M=y +# CONFIG_SPIRAM_SPEED_80M is not set +CONFIG_SPIRAM=y +CONFIG_SPIRAM_BOOT_INIT=y +# CONFIG_SPIRAM_IGNORE_NOTFOUND is not set +# CONFIG_SPIRAM_USE_MEMMAP is not set +# CONFIG_SPIRAM_USE_CAPS_ALLOC is not set +CONFIG_SPIRAM_USE_MALLOC=y +CONFIG_SPIRAM_MEMTEST=y +CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL=131072 +CONFIG_SPIRAM_TRY_ALLOCATE_WIFI_LWIP=y +CONFIG_SPIRAM_MALLOC_RESERVE_INTERNAL=32768 +# CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY is not set +# CONFIG_SPIRAM_ALLOW_NOINIT_SEG_EXTERNAL_MEMORY is not set +CONFIG_SPIRAM_CACHE_WORKAROUND=y + +# +# SPIRAM cache workaround debugging +# +CONFIG_SPIRAM_CACHE_WORKAROUND_STRATEGY_MEMW=y +# CONFIG_SPIRAM_CACHE_WORKAROUND_STRATEGY_DUPLDST is not set +# CONFIG_SPIRAM_CACHE_WORKAROUND_STRATEGY_NOPS is not set +# end of SPIRAM cache workaround debugging + +# +# SPIRAM workaround libraries placement +# +CONFIG_SPIRAM_CACHE_LIBJMP_IN_IRAM=y +CONFIG_SPIRAM_CACHE_LIBMATH_IN_IRAM=y +CONFIG_SPIRAM_CACHE_LIBNUMPARSER_IN_IRAM=y +CONFIG_SPIRAM_CACHE_LIBIO_IN_IRAM=y +CONFIG_SPIRAM_CACHE_LIBTIME_IN_IRAM=y +CONFIG_SPIRAM_CACHE_LIBCHAR_IN_IRAM=y +CONFIG_SPIRAM_CACHE_LIBMEM_IN_IRAM=y +CONFIG_SPIRAM_CACHE_LIBSTR_IN_IRAM=y +CONFIG_SPIRAM_CACHE_LIBRAND_IN_IRAM=y +CONFIG_SPIRAM_CACHE_LIBENV_IN_IRAM=y +CONFIG_SPIRAM_CACHE_LIBFILE_IN_IRAM=y +CONFIG_SPIRAM_CACHE_LIBMISC_IN_IRAM=y +# end of SPIRAM workaround libraries placement + +CONFIG_SPIRAM_BANKSWITCH_ENABLE=y +CONFIG_SPIRAM_BANKSWITCH_RESERVE=8 +# CONFIG_SPIRAM_ALLOW_STACK_EXTERNAL_MEMORY is not set + +# +# PSRAM clock and cs IO for ESP32-DOWD +# +CONFIG_D0WD_PSRAM_CLK_IO=17 +CONFIG_D0WD_PSRAM_CS_IO=16 +# end of PSRAM clock and cs IO for ESP32-DOWD + +# +# PSRAM clock and cs IO for ESP32-D2WD +# +CONFIG_D2WD_PSRAM_CLK_IO=9 +CONFIG_D2WD_PSRAM_CS_IO=10 +# end of PSRAM clock and cs IO for ESP32-D2WD + +# +# PSRAM clock and cs IO for ESP32-PICO +# +CONFIG_PICO_PSRAM_CS_IO=10 +# end of PSRAM clock and cs IO for ESP32-PICO + +# CONFIG_SPIRAM_CUSTOM_SPIWP_SD3_PIN is not set +CONFIG_SPIRAM_SPIWP_SD3_PIN=7 +# CONFIG_SPIRAM_2T_MODE is not set +# end of SPI RAM config + +# CONFIG_ESP32_TRAX is not set +CONFIG_ESP32_TRACEMEM_RESERVE_DRAM=0x0 +# 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_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_COMPATIBLE_PRE_V3_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 +# end of Common ESP-related + +# +# Ethernet +# +CONFIG_ETH_ENABLED=y +CONFIG_ETH_USE_ESP32_EMAC=y +CONFIG_ETH_PHY_INTERFACE_RMII=y +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_SPI_ETHERNET_KSZ8851SNL 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 +CONFIG_ESP_HTTP_CLIENT_ENABLE_DIGEST_AUTH=y +# 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 + +# +# Hardware Settings +# + +# +# MAC Config +# +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 +# CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_TWO is not set +CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_FOUR=y +CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES=4 +# end of MAC Config + +# +# Sleep Config +# +CONFIG_ESP_SLEEP_RTC_BUS_ISO_WORKAROUND=y +# CONFIG_ESP_SLEEP_GPIO_RESET_WORKAROUND is not set +# CONFIG_ESP_SLEEP_PSRAM_LEAKAGE_WORKAROUND is not set +# CONFIG_ESP_SLEEP_FLASH_LEAKAGE_WORKAROUND is not set +# end of Sleep Config + +# +# RTC Clock Config +# +# end of RTC Clock Config +# end of Hardware Settings + +# +# IPC (Inter-Processor Call) +# +CONFIG_ESP_IPC_TASK_STACK_SIZE=1024 +CONFIG_ESP_IPC_USES_CALLERS_PRIORITY=y +CONFIG_ESP_IPC_ISR_ENABLE=y +# end of IPC (Inter-Processor Call) + +# +# LCD and Touch Panel +# + +# +# LCD Peripheral Configuration +# +CONFIG_LCD_PANEL_IO_FORMAT_BUF_SIZE=32 +# end of LCD Peripheral Configuration +# end of LCD and Touch Panel + +# +# 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 + +# +# PHY +# +CONFIG_ESP_PHY_CALIBRATION_AND_DATA_STORAGE=y +# CONFIG_ESP_PHY_INIT_DATA_IN_PARTITION is not set +CONFIG_ESP_PHY_MAX_WIFI_TX_POWER=20 +CONFIG_ESP_PHY_MAX_TX_POWER=20 +CONFIG_ESP_PHY_REDUCE_TX_POWER=y +# end of PHY + +# +# 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_GDBSTUB_RUNTIME is not set + +# +# Memory protection +# +# end of Memory protection + +CONFIG_ESP_SYSTEM_EVENT_QUEUE_SIZE=32 +CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=2304 +CONFIG_ESP_MAIN_TASK_STACK_SIZE=3584 +CONFIG_ESP_MAIN_TASK_AFFINITY_CPU0=y +# CONFIG_ESP_MAIN_TASK_AFFINITY_CPU1 is not set +# CONFIG_ESP_MAIN_TASK_AFFINITY_NO_AFFINITY is not set +CONFIG_ESP_MAIN_TASK_AFFINITY=0x0 +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_DEBUG_STUBS_ENABLE is not set +CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_5=y +# CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_4 is not set +# 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_INTERRUPT_LEVEL=1 +# CONFIG_ESP_TIMER_SUPPORTS_ISR_DISPATCH_METHOD is not set +# 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_ENABLED=y +CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=10 +CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=32 +CONFIG_ESP32_WIFI_STATIC_TX_BUFFER=y +CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=0 +CONFIG_ESP32_WIFI_STATIC_TX_BUFFER_NUM=16 +CONFIG_ESP32_WIFI_CACHE_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_AMSDU_TX_ENABLED is not set +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_ESP_WIFI_SLP_IRAM_OPT is not set +# CONFIG_ESP_WIFI_STA_DISCONNECTED_PM_ENABLE is not set +# CONFIG_ESP_WIFI_GMAC_SUPPORT is not set +CONFIG_ESP_WIFI_SOFTAP_SUPPORT=y +# end of Wi-Fi + +# +# 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_ALLOC_PREFER_EXTRAM=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_PORT_TASK_AFFINITY_NO_AFFINITY is not set +CONFIG_FMB_PORT_TASK_AFFINITY_CPU0=y +# CONFIG_FMB_PORT_TASK_AFFINITY_CPU1 is not set +CONFIG_FMB_PORT_TASK_AFFINITY=0x0 +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_MASTER_TIMER_GROUP=0 +CONFIG_FMB_MASTER_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_TICK_SUPPORT_CORETIMER=y +CONFIG_FREERTOS_CORETIMER_0=y +# CONFIG_FREERTOS_CORETIMER_1 is not set +CONFIG_FREERTOS_SYSTICK_USES_CCOUNT=y +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 +CONFIG_FREERTOS_ENABLE_TASK_SNAPSHOT=y +# CONFIG_FREERTOS_PLACE_SNAPSHOT_FUNS_INTO_FLASH is not set +# end of FreeRTOS + +# +# Hardware Abstraction Layer (HAL) and Low Level (LL) +# +CONFIG_HAL_ASSERTION_EQUALS_SYSTEM=y +# CONFIG_HAL_ASSERTION_DISABLE is not set +# CONFIG_HAL_ASSERTION_SILIENT is not set +# CONFIG_HAL_ASSERTION_ENABLE is not set +CONFIG_HAL_DEFAULT_ASSERTION_LEVEL=2 +# end of Hardware Abstraction Layer (HAL) and Low Level (LL) + +# +# 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_MAXIMUM_EQUALS_DEFAULT=y +# CONFIG_LOG_MAXIMUM_LEVEL_DEBUG is not set +# CONFIG_LOG_MAXIMUM_LEVEL_VERBOSE is not set +CONFIG_LOG_MAXIMUM_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_NETIF_API is not set +# CONFIG_LWIP_TCPIP_CORE_LOCKING is not set +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_DISABLE_CLIENT_ID is not set +CONFIG_LWIP_DHCP_DISABLE_VENDOR_CLASS_ID=y +# CONFIG_LWIP_DHCP_RESTORE_LAST_IP is not set +CONFIG_LWIP_DHCP_OPTIONS_LEN=68 + +# +# DHCP server +# +CONFIG_LWIP_DHCPS=y +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_IPV6_NUM_ADDRESSES=3 +# CONFIG_LWIP_IPV6_FORWARD is not set +# CONFIG_LWIP_NETIF_STATUS_CALLBACK 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_WND_SCALE 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_ICMP=y +# 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_SNTP_MAX_SERVERS=1 +# CONFIG_LWIP_DHCP_GET_NTP_SRV is not set +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_ND6_GET_GW_NONE=y +# CONFIG_LWIP_HOOK_ND6_GET_GW_DEFAULT is not set +# CONFIG_LWIP_HOOK_ND6_GET_GW_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_EXTERNAL_MEM_ALLOC is not set +# 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 + +# +# mbedTLS v2.28.x related +# +# CONFIG_MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH is not set +# CONFIG_MBEDTLS_X509_TRUSTED_CERT_CALLBACK is not set +# CONFIG_MBEDTLS_SSL_CONTEXT_SERIALIZATION is not set +CONFIG_MBEDTLS_SSL_KEEP_PEER_CERTIFICATE=y +# end of mbedTLS v2.28.x related + +# +# 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_GMTSSL1_1 is not set +# CONFIG_MBEDTLS_SSL_PROTO_DTLS is not set +CONFIG_MBEDTLS_SSL_ALPN=y +CONFIG_MBEDTLS_CLIENT_SSL_SESSION_TICKETS=y +CONFIG_MBEDTLS_X509_CHECK_KEY_USAGE=y +CONFIG_MBEDTLS_X509_CHECK_EXTENDED_KEY_USAGE=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 +# CONFIG_MBEDTLS_NIST_KW_C is not set +# 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 +# CONFIG_MDNS_NETWORKING_SOCKET is not set +CONFIG_MDNS_MULTIPLE_INSTANCE=y +# 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 + +# +# OpenThread +# +# CONFIG_OPENTHREAD_ENABLED is not set +# end of OpenThread + +# +# 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 +# CONFIG_SPI_FLASH_OVERRIDE_CHIP_DRIVER_LIST 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 +# CONFIG_SPI_FLASH_SUPPORT_BOYA_CHIP is not set +# CONFIG_SPI_FLASH_SUPPORT_TH_CHIP is not set +# 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 +# + +# +# Websocket +# +CONFIG_WS_TRANSPORT=y +CONFIG_WS_BUFFER_SIZE=1024 +# end of Websocket +# end of TCP Transport + +# +# Unity unit testing library +# +CONFIG_UNITY_ENABLE_FLOAT=y +CONFIG_UNITY_ENABLE_DOUBLE=y +# CONFIG_UNITY_ENABLE_64BIT is not set +# 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_SUITE_B_192 is not set +# CONFIG_WPA_DEBUG_PRINT is not set +# CONFIG_WPA_TESTING_OPTIONS is not set +# CONFIG_WPA_WPS_STRICT is not set +# CONFIG_WPA_11KV_SUPPORT is not set +# end of Supplicant + +# +# LVGL configuration +# +# CONFIG_LV_CONF_SKIP is not set +# CONFIG_LV_CONF_MINIMAL is not set + +# +# Color settings +# +# CONFIG_LV_COLOR_DEPTH_32 is not set +CONFIG_LV_COLOR_DEPTH_16=y +# CONFIG_LV_COLOR_DEPTH_8 is not set +# CONFIG_LV_COLOR_DEPTH_1 is not set +CONFIG_LV_COLOR_DEPTH=16 +# CONFIG_LV_COLOR_16_SWAP is not set +# CONFIG_LV_COLOR_SCREEN_TRANSP is not set +CONFIG_LV_COLOR_MIX_ROUND_OFS=128 +CONFIG_LV_COLOR_CHROMA_KEY_HEX=0x00FF00 +# end of Color settings + +# +# Memory settings +# +# CONFIG_LV_MEM_CUSTOM is not set +CONFIG_LV_MEM_SIZE_KILOBYTES=32 +CONFIG_LV_MEM_ADDR=0x0 +CONFIG_LV_MEM_BUF_MAX_NUM=16 +# CONFIG_LV_MEMCPY_MEMSET_STD is not set +# end of Memory settings + +# +# HAL Settings +# +CONFIG_LV_DISP_DEF_REFR_PERIOD=30 +CONFIG_LV_INDEV_DEF_READ_PERIOD=30 +# CONFIG_LV_TICK_CUSTOM is not set +CONFIG_LV_DPI_DEF=130 +# end of HAL Settings + +# +# Feature configuration +# + +# +# Drawing +# +CONFIG_LV_DRAW_COMPLEX=y +CONFIG_LV_SHADOW_CACHE_SIZE=0 +CONFIG_LV_CIRCLE_CACHE_SIZE=4 +CONFIG_LV_LAYER_SIMPLE_BUF_SIZE=24576 +CONFIG_LV_IMG_CACHE_DEF_SIZE=0 +CONFIG_LV_GRADIENT_MAX_STOPS=2 +CONFIG_LV_GRAD_CACHE_DEF_SIZE=0 +# CONFIG_LV_DITHER_GRADIENT is not set +CONFIG_LV_DISP_ROT_MAX_BUF=10240 +# end of Drawing + +# +# GPU +# +# CONFIG_LV_USE_GPU_ARM2D is not set +# CONFIG_LV_USE_GPU_STM32_DMA2D is not set +# CONFIG_LV_USE_GPU_SWM341_DMA2D is not set +# CONFIG_LV_USE_GPU_NXP_PXP is not set +# CONFIG_LV_USE_GPU_NXP_VG_LITE is not set +# CONFIG_LV_USE_GPU_SDL is not set +# end of GPU + +# +# Logging +# +# CONFIG_LV_USE_LOG is not set +# end of Logging + +# +# Asserts +# +CONFIG_LV_USE_ASSERT_NULL=y +CONFIG_LV_USE_ASSERT_MALLOC=y +# CONFIG_LV_USE_ASSERT_STYLE is not set +# CONFIG_LV_USE_ASSERT_MEM_INTEGRITY is not set +# CONFIG_LV_USE_ASSERT_OBJ is not set +CONFIG_LV_ASSERT_HANDLER_INCLUDE="assert.h" +# end of Asserts + +# +# Others +# +# CONFIG_LV_USE_PERF_MONITOR is not set +# CONFIG_LV_USE_MEM_MONITOR is not set +# CONFIG_LV_USE_REFR_DEBUG is not set +# CONFIG_LV_SPRINTF_CUSTOM is not set +# CONFIG_LV_SPRINTF_USE_FLOAT is not set +CONFIG_LV_USE_USER_DATA=y +# CONFIG_LV_ENABLE_GC is not set +# end of Others + +# +# Compiler settings +# +# CONFIG_LV_BIG_ENDIAN_SYSTEM is not set +CONFIG_LV_ATTRIBUTE_MEM_ALIGN_SIZE=1 +# CONFIG_LV_ATTRIBUTE_FAST_MEM_USE_IRAM is not set +# CONFIG_LV_USE_LARGE_COORD is not set +# end of Compiler settings +# end of Feature configuration + +# +# Font usage +# + +# +# Enable built-in fonts +# +# CONFIG_LV_FONT_MONTSERRAT_8 is not set +# CONFIG_LV_FONT_MONTSERRAT_10 is not set +# CONFIG_LV_FONT_MONTSERRAT_12 is not set +CONFIG_LV_FONT_MONTSERRAT_14=y +# CONFIG_LV_FONT_MONTSERRAT_16 is not set +# CONFIG_LV_FONT_MONTSERRAT_18 is not set +# CONFIG_LV_FONT_MONTSERRAT_20 is not set +# CONFIG_LV_FONT_MONTSERRAT_22 is not set +# CONFIG_LV_FONT_MONTSERRAT_24 is not set +# CONFIG_LV_FONT_MONTSERRAT_26 is not set +# CONFIG_LV_FONT_MONTSERRAT_28 is not set +# CONFIG_LV_FONT_MONTSERRAT_30 is not set +# CONFIG_LV_FONT_MONTSERRAT_32 is not set +# CONFIG_LV_FONT_MONTSERRAT_34 is not set +# CONFIG_LV_FONT_MONTSERRAT_36 is not set +# CONFIG_LV_FONT_MONTSERRAT_38 is not set +# CONFIG_LV_FONT_MONTSERRAT_40 is not set +# CONFIG_LV_FONT_MONTSERRAT_42 is not set +# CONFIG_LV_FONT_MONTSERRAT_44 is not set +# CONFIG_LV_FONT_MONTSERRAT_46 is not set +# CONFIG_LV_FONT_MONTSERRAT_48 is not set +# CONFIG_LV_FONT_MONTSERRAT_12_SUBPX is not set +# CONFIG_LV_FONT_MONTSERRAT_28_COMPRESSED is not set +# CONFIG_LV_FONT_DEJAVU_16_PERSIAN_HEBREW is not set +# CONFIG_LV_FONT_SIMSUN_16_CJK is not set +# CONFIG_LV_FONT_UNSCII_8 is not set +# CONFIG_LV_FONT_UNSCII_16 is not set +# CONFIG_LV_FONT_CUSTOM is not set +# end of Enable built-in fonts + +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_8 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_12 is not set +CONFIG_LV_FONT_DEFAULT_MONTSERRAT_14=y +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_16 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_18 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_20 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_22 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_24 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_26 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_28 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_30 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_32 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_34 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_36 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_38 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_40 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_42 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_44 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_46 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_48 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_12_SUBPX is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_28_COMPRESSED is not set +# CONFIG_LV_FONT_DEFAULT_DEJAVU_16_PERSIAN_HEBREW is not set +# CONFIG_LV_FONT_DEFAULT_SIMSUN_16_CJK is not set +# CONFIG_LV_FONT_DEFAULT_UNSCII_8 is not set +# CONFIG_LV_FONT_DEFAULT_UNSCII_16 is not set +# CONFIG_LV_FONT_FMT_TXT_LARGE is not set +# CONFIG_LV_USE_FONT_COMPRESSED is not set +# CONFIG_LV_USE_FONT_SUBPX is not set +CONFIG_LV_USE_FONT_PLACEHOLDER=y +# end of Font usage + +# +# Text Settings +# +CONFIG_LV_TXT_ENC_UTF8=y +# CONFIG_LV_TXT_ENC_ASCII is not set +CONFIG_LV_TXT_BREAK_CHARS=" ,.;:-_" +CONFIG_LV_TXT_LINE_BREAK_LONG_LEN=0 +CONFIG_LV_TXT_COLOR_CMD="#" +# CONFIG_LV_USE_BIDI is not set +# CONFIG_LV_USE_ARABIC_PERSIAN_CHARS is not set +# end of Text Settings + +# +# Widget usage +# +CONFIG_LV_USE_ARC=y +CONFIG_LV_USE_BAR=y +CONFIG_LV_USE_BTN=y +CONFIG_LV_USE_BTNMATRIX=y +CONFIG_LV_USE_CANVAS=y +CONFIG_LV_USE_CHECKBOX=y +CONFIG_LV_USE_DROPDOWN=y +CONFIG_LV_USE_IMG=y +CONFIG_LV_USE_LABEL=y +CONFIG_LV_LABEL_TEXT_SELECTION=y +CONFIG_LV_LABEL_LONG_TXT_HINT=y +CONFIG_LV_USE_LINE=y +CONFIG_LV_USE_ROLLER=y +CONFIG_LV_ROLLER_INF_PAGES=7 +CONFIG_LV_USE_SLIDER=y +CONFIG_LV_USE_SWITCH=y +CONFIG_LV_USE_TEXTAREA=y +CONFIG_LV_TEXTAREA_DEF_PWD_SHOW_TIME=1500 +CONFIG_LV_USE_TABLE=y +# end of Widget usage + +# +# Extra Widgets +# +CONFIG_LV_USE_ANIMIMG=y +CONFIG_LV_USE_CALENDAR=y +# CONFIG_LV_CALENDAR_WEEK_STARTS_MONDAY is not set +CONFIG_LV_USE_CALENDAR_HEADER_ARROW=y +CONFIG_LV_USE_CALENDAR_HEADER_DROPDOWN=y +CONFIG_LV_USE_CHART=y +CONFIG_LV_USE_COLORWHEEL=y +CONFIG_LV_USE_IMGBTN=y +CONFIG_LV_USE_KEYBOARD=y +CONFIG_LV_USE_LED=y +CONFIG_LV_USE_LIST=y +CONFIG_LV_USE_MENU=y +CONFIG_LV_USE_METER=y +CONFIG_LV_USE_MSGBOX=y +CONFIG_LV_USE_SPAN=y +CONFIG_LV_SPAN_SNIPPET_STACK_SIZE=64 +CONFIG_LV_USE_SPINBOX=y +CONFIG_LV_USE_SPINNER=y +CONFIG_LV_USE_TABVIEW=y +CONFIG_LV_USE_TILEVIEW=y +CONFIG_LV_USE_WIN=y +# end of Extra Widgets + +# +# Themes +# +CONFIG_LV_USE_THEME_DEFAULT=y +# CONFIG_LV_THEME_DEFAULT_DARK is not set +CONFIG_LV_THEME_DEFAULT_GROW=y +CONFIG_LV_THEME_DEFAULT_TRANSITION_TIME=80 +CONFIG_LV_USE_THEME_BASIC=y +# CONFIG_LV_USE_THEME_MONO is not set +# end of Themes + +# +# Layouts +# +CONFIG_LV_USE_FLEX=y +CONFIG_LV_USE_GRID=y +# end of Layouts + +# +# 3rd Party Libraries +# +# CONFIG_LV_USE_FS_STDIO is not set +# CONFIG_LV_USE_FS_POSIX is not set +# CONFIG_LV_USE_FS_WIN32 is not set +# CONFIG_LV_USE_FS_FATFS is not set +# CONFIG_LV_USE_PNG is not set +# CONFIG_LV_USE_BMP is not set +# CONFIG_LV_USE_SJPG is not set +# CONFIG_LV_USE_GIF is not set +# CONFIG_LV_USE_QRCODE is not set +# CONFIG_LV_USE_FREETYPE is not set +# CONFIG_LV_USE_RLOTTIE is not set +# CONFIG_LV_USE_FFMPEG is not set +# end of 3rd Party Libraries + +# +# Others +# +CONFIG_LV_USE_SNAPSHOT=y +# CONFIG_LV_USE_MONKEY is not set +# CONFIG_LV_USE_GRIDNAV is not set +# CONFIG_LV_USE_FRAGMENT is not set +# CONFIG_LV_USE_IMGFONT is not set +# CONFIG_LV_USE_MSG is not set +# CONFIG_LV_USE_IME_PINYIN is not set +# end of Others + +# +# Examples +# +CONFIG_LV_BUILD_EXAMPLES=y +# end of Examples + +# +# Demos +# +# CONFIG_LV_USE_DEMO_WIDGETS is not set +# CONFIG_LV_USE_DEMO_KEYPAD_AND_ENCODER is not set +# CONFIG_LV_USE_DEMO_BENCHMARK is not set +# CONFIG_LV_USE_DEMO_STRESS is not set +# CONFIG_LV_USE_DEMO_MUSIC is not set +# end of Demos +# end of LVGL configuration +# end of Component config + +# +# Compatibility options +# +# CONFIG_LEGACY_INCLUDE_COMMON_HEADERS is not set +# end of Compatibility options diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/displaymanager.cpp b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/displaymanager.cpp new file mode 100644 index 0000000..b485248 --- /dev/null +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/displaymanager.cpp @@ -0,0 +1,88 @@ +//===================================================== +// THIS FILE TO BE USED FOR INTERFACING WITH DISPLAY +//===================================================== + +//#pragma once +using namespace std; +#include +#include +#include +#include "sdkconfig.h" +#include +#include +#include +#include "esp_log.h" +#include "esp_vfs_fat.h" +#include "sdmmc_cmd.h" + +#define LGFX_USE_V1 +#define LGFX_CVBS +#define LGFX_ESP_WROVER_KIT + +#include +#include "user_setting.hpp" +#include "helper_display.hpp" +#include + +static const char *TAG = "lvgl_gui"; + +#define ENABLE_TEST_TIMER // Enable/Disable TIMER used for auto-shutoff +#ifdef ENABLE_TEST_TIMER + static void once_timer_callback(void* arg); +#endif + +// Set everything up +void displayStart(){ + lcd.init(); // Initialize LovyanGFX + + lv_init(); // Initialize lvgl + + if (lv_display_init() != ESP_OK) // Configure LVGL + { + ESP_LOGE(TAG, "LVGL setup failed!!!"); + } + + cout << "Free heap: "; + cout << heap_caps_get_free_size(MALLOC_CAP_8BIT) << endl; + + // Function generated by squareline studio to register all its ui components + ui_init_custom(); +} + +//Wipe everything from screen +void displayClear(){ + lvgl_acquire(); + lv_refr_now(lv_disp_get_default()); + lvgl_release(); +} + +// To be called when the wake word is detected (or maybe on button press) +void displayEnterVoiceCommandStep1(){ + lvgl_acquire(); + lv_scr_load(ui_Enter_Voice_Command); + lvgl_release(); + + + cout << "Free heap AFTER VOICECMD1: "; + cout << heap_caps_get_free_size(MALLOC_CAP_8BIT) << endl; + +} + +void displayEnterVoiceCommandStep2(){ + lvgl_acquire(); + lv_scr_load(ui_Enter_Voice_Command_2); + lvgl_release(); +} + +//TODO: implement this in a decent way +void displayEnterVoiceCommandStep3(char* command, char* soFar){ + lvgl_acquire(); + lv_scr_load(ui_Enter_Voice_Command_3); + lvgl_release(); +} + +void displayCardSearchTextonlyDemo(){ + lvgl_acquire(); + lv_scr_load(ui_Card_Search_Textonly); + lvgl_release(); +} \ No newline at end of file diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/displaymanager.hpp b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/displaymanager.hpp new file mode 100644 index 0000000..38777c6 --- /dev/null +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/displaymanager.hpp @@ -0,0 +1,12 @@ +//#include +//#include +//using namespace std; +//std::string str; +//using std::string; +extern void displayStart(); +extern void displayClear(); +extern void displayEnterVoiceCommandStep1(); +extern void displayEnterVoiceCommandStep2(); +extern void displayEnterVoiceCommandStep3(char* command, char* soFar); +//extern void displayEnterVoiceCommandStep3(string command, string soFar); +extern void displayCardSearchTextonlyDemo(); \ No newline at end of file diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/global_settings.hpp b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/global_settings.hpp new file mode 100644 index 0000000..3e78f30 --- /dev/null +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/global_settings.hpp @@ -0,0 +1,39 @@ +//#define LGFX_USE_V1 + +/* +The maximum resolution that can be output depends on the signal type. +720x480 (NTSC,NTSC-J), 864x576 (PAL,PAL-M), 720x576 (PAL-N). + +Any resolution less than the maximum resolution can be set. +It is recommended to specify the resolution obtained by dividing the maximum resolution by an integer. +If you specify any other resolution, the ratio of pixels will vary depending on the location, +and the display will be slightly distorted. + +Notes: + +(For width) +720/1.125 = 640 +480/1.125 = 426.666667 + +(For height) Works sometimes??? +720/1.2 = 600 +480/1.2 = 400 + +(x/1.5) <=== HIGHEST CURRENT WORKING +720/1.5 = 480 +480/1.5 = 320 + +(x/2) = 360 +720/2 = 240 + +Max res 720x480 will usually not display anything... too much memory? +*/ + +//Change screen res here +#define AV_WIDTH_OG 480 +#define AV_HEIGHT_OG 320 +#define AV_SAFEZONE 0 + +//Reference these for runtime shit +#define AV_WIDTH AV_WIDTH_OG - AV_SAFEZONE +#define AV_HEIGHT AV_HEIGHT_OG - AV_SAFEZONE \ No newline at end of file diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/gui/ui.c b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/gui/ui.c new file mode 100644 index 0000000..2a94f2a --- /dev/null +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/gui/ui.c @@ -0,0 +1,848 @@ +// SquareLine LVGL GENERATED FILE +// EDITOR VERSION: SquareLine Studio 1.1.1 +// LVGL VERSION: 8.2.0 +// PROJECT: SquareLine_Project + +#include "ui.h" +#include "ui_helpers.h" +#include "ui_comp.h" +#include "lvgl.h" + +///////////////////// VARIABLES //////////////////// +lv_obj_t * ui_Home_Screen; +lv_obj_t * ui_Telescope_Header1; +lv_obj_t * ui_Info_Container; +lv_obj_t * ui_Info_Panel; +lv_obj_t * ui_Time; +lv_obj_t * ui_Notif_counter; +lv_obj_t * ui_Mail_Counter; +lv_obj_t * ui_Mail_Symbol; +lv_obj_t * ui_Date; +lv_obj_t * ui_Home_Screen_Alt; +lv_obj_t * ui_Telescope_Header2; +lv_obj_t * ui_Info_Container1; +lv_obj_t * ui_Time1; +lv_obj_t * ui_Notif_counter1; +lv_obj_t * ui_Mail_Counter1; +lv_obj_t * ui_Mail_Symbol1; +lv_obj_t * ui_Home_Screen_Alt_2; +lv_obj_t * ui_Telescope_Header3; +lv_obj_t * ui_Bottom_Panel; +lv_obj_t * ui_Label1; +lv_obj_t * ui_Info_Container2; +lv_obj_t * ui_Time2; +lv_obj_t * ui_Notif_counter2; +lv_obj_t * ui_Mail_Counter2; +lv_obj_t * ui_Mail_Symbol2; +lv_obj_t * ui_Home_Screen_Alt_3; +lv_obj_t * ui_Telescope_Header4; +lv_obj_t * ui_Bottom_Panel1; +lv_obj_t * ui_Label2; +lv_obj_t * ui_Info_Container3; +lv_obj_t * ui_Info_Panel1; +lv_obj_t * ui_Time3; +lv_obj_t * ui_Notif_counter3; +lv_obj_t * ui_Mail_Counter3; +lv_obj_t * ui_Mail_Symbol3; +lv_obj_t * ui_Date1; +lv_obj_t * ui_Enter_Voice_Command; +lv_obj_t * ui_Telescope_Header8; +lv_obj_t * ui_Say_Hey_Computer; +lv_obj_t * ui_Label3; +lv_obj_t * ui_Enter_Voice_Command_2; +lv_obj_t * ui_EnterVoiceCmdP2Text; +lv_obj_t * ui_Say_Hey_Computer1; +lv_obj_t * ui_EnterVoiceCmdP2Header; +lv_obj_t * ui_EnterVoiceCmdP2Content; +lv_obj_t * ui_Telescope_Header11; +lv_obj_t * ui_Enter_Voice_Command_3; +lv_obj_t * ui_Telescope_Header7; +lv_obj_t * ui_ContainerBelowHeader8; +lv_obj_t * ui_Label11; +lv_obj_t * ui_Label10; +lv_obj_t * ui_Label9; +lv_obj_t * ui_Card_Notification; +lv_obj_t * ui_Card_Notification_ContainerBelow; +lv_obj_t * ui_Card_with_icon1; +lv_obj_t * ui_Telescope_Header5; +lv_obj_t * ui_Card_Search_Textonly; +lv_obj_t * ui_Card_Search_TextOnly; +lv_obj_t * ui_ContainerBelowHeader7; +lv_obj_t * ui_CardSearchTextonlyContent; +lv_obj_t * ui_Card_Title_Text1; +lv_obj_t * ui_Card_Search_Hor; +lv_obj_t * ui_Telescope_Header10; +lv_obj_t * ui_ContainerBelowHeader1; +lv_obj_t * ui_ContainerBelowHeader3; +lv_obj_t * ui_Label8; +lv_obj_t * ui_Label7; +lv_obj_t * ui_ContainerBelowHeader2; +lv_obj_t * ui_Label6; +lv_obj_t * ui_Image2; +lv_obj_t * ui_Card_Search_Ver; +lv_obj_t * ui_Telescope_Header6; +lv_obj_t * ui_ContainerBelowHeader4; +lv_obj_t * ui_ContainerBelowHeader6; +lv_obj_t * ui_Image1; +lv_obj_t * ui_TapForMore; +lv_obj_t * ui_ContainerBelowHeader5; +lv_obj_t * ui_Content; +lv_obj_t * ui_Title; + +///////////////////// TEST LVGL SETTINGS //////////////////// +#if LV_COLOR_DEPTH != 16 + #error "LV_COLOR_DEPTH should be 16bit to match SquareLine Studio's settings" +#endif +//TODO: +//#if LV_COLOR_16_SWAP !=1 +// #error "LV_COLOR_16_SWAP should be 1 to match SquareLine Studio's settings" +//#endif + +///////////////////// ANIMATIONS //////////////////// + +///////////////////// FUNCTIONS //////////////////// + +///////////////////// SCREENS //////////////////// +void ui_Home_Screen_screen_init(void) +{ + ui_Home_Screen = lv_obj_create(NULL); + lv_obj_clear_flag(ui_Home_Screen, LV_OBJ_FLAG_CLICKABLE | LV_OBJ_FLAG_PRESS_LOCK | LV_OBJ_FLAG_SCROLLABLE | + LV_OBJ_FLAG_SCROLL_ELASTIC | LV_OBJ_FLAG_SCROLL_MOMENTUM); /// Flags + + ui_Telescope_Header1 = ui_Telescope_Header_create(ui_Home_Screen); + lv_obj_set_x(ui_Telescope_Header1, 0); + lv_obj_set_y(ui_Telescope_Header1, 0); + + ui_Info_Container = lv_obj_create(ui_Home_Screen); + lv_obj_set_width(ui_Info_Container, lv_pct(100)); + lv_obj_set_height(ui_Info_Container, LV_SIZE_CONTENT); /// 50 + lv_obj_set_align(ui_Info_Container, LV_ALIGN_CENTER); + lv_obj_clear_flag(ui_Info_Container, LV_OBJ_FLAG_SCROLLABLE); /// Flags + lv_obj_set_style_bg_color(ui_Info_Container, lv_color_hex(0xFFFFFF), LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_bg_opa(ui_Info_Container, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_border_width(ui_Info_Container, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + + ui_Info_Panel = lv_obj_create(ui_Info_Container); + lv_obj_set_width(ui_Info_Panel, lv_pct(54)); + lv_obj_set_height(ui_Info_Panel, LV_SIZE_CONTENT); /// 15 + lv_obj_set_align(ui_Info_Panel, LV_ALIGN_CENTER); + lv_obj_clear_flag(ui_Info_Panel, LV_OBJ_FLAG_SCROLLABLE); /// Flags + lv_obj_set_style_bg_color(ui_Info_Panel, lv_color_hex(0xFFFFFF), LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_bg_opa(ui_Info_Panel, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_border_width(ui_Info_Panel, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_left(ui_Info_Panel, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_right(ui_Info_Panel, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_top(ui_Info_Panel, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_bottom(ui_Info_Panel, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + + ui_Time = lv_label_create(ui_Info_Panel); + lv_obj_set_width(ui_Time, LV_SIZE_CONTENT); /// 1 + lv_obj_set_height(ui_Time, LV_SIZE_CONTENT); /// 1 + lv_obj_set_align(ui_Time, LV_ALIGN_BOTTOM_LEFT); + lv_label_set_text(ui_Time, "02\n52"); + lv_obj_clear_flag(ui_Time, LV_OBJ_FLAG_PRESS_LOCK | LV_OBJ_FLAG_CLICK_FOCUSABLE | LV_OBJ_FLAG_GESTURE_BUBBLE | + LV_OBJ_FLAG_SNAPPABLE | LV_OBJ_FLAG_SCROLLABLE | LV_OBJ_FLAG_SCROLL_ELASTIC | LV_OBJ_FLAG_SCROLL_MOMENTUM | + LV_OBJ_FLAG_SCROLL_CHAIN); /// Flags + lv_obj_set_style_text_align(ui_Time, LV_TEXT_ALIGN_LEFT, LV_PART_MAIN | LV_STATE_DEFAULT); + #if LV_FONT_MONTSERRAT_48 + lv_obj_set_style_text_font(ui_Time, &lv_font_montserrat_48, LV_PART_MAIN | LV_STATE_DEFAULT); + #endif + lv_obj_set_style_pad_left(ui_Time, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_right(ui_Time, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_top(ui_Time, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_bottom(ui_Time, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + + ui_Notif_counter = lv_obj_create(ui_Info_Panel); + lv_obj_set_width(ui_Notif_counter, LV_SIZE_CONTENT); /// 54 + lv_obj_set_height(ui_Notif_counter, LV_SIZE_CONTENT); /// 50 + lv_obj_set_align(ui_Notif_counter, LV_ALIGN_TOP_RIGHT); + lv_obj_clear_flag(ui_Notif_counter, LV_OBJ_FLAG_CLICKABLE | LV_OBJ_FLAG_PRESS_LOCK | LV_OBJ_FLAG_CLICK_FOCUSABLE | + LV_OBJ_FLAG_GESTURE_BUBBLE | LV_OBJ_FLAG_SNAPPABLE | LV_OBJ_FLAG_SCROLLABLE | LV_OBJ_FLAG_SCROLL_ELASTIC | + LV_OBJ_FLAG_SCROLL_MOMENTUM | LV_OBJ_FLAG_SCROLL_CHAIN); /// Flags + lv_obj_set_style_bg_color(ui_Notif_counter, lv_color_hex(0xFFFFFF), LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_bg_opa(ui_Notif_counter, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_border_width(ui_Notif_counter, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_left(ui_Notif_counter, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_right(ui_Notif_counter, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_top(ui_Notif_counter, 5, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_bottom(ui_Notif_counter, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + + ui_Mail_Counter = lv_label_create(ui_Notif_counter); + lv_obj_set_width(ui_Mail_Counter, LV_SIZE_CONTENT); /// 1 + lv_obj_set_height(ui_Mail_Counter, LV_SIZE_CONTENT); /// 1 + lv_obj_set_align(ui_Mail_Counter, LV_ALIGN_LEFT_MID); + lv_label_set_text(ui_Mail_Counter, "3"); + lv_obj_set_style_text_align(ui_Mail_Counter, LV_TEXT_ALIGN_LEFT, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_text_font(ui_Mail_Counter, &lv_font_montserrat_24, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_left(ui_Mail_Counter, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_right(ui_Mail_Counter, 35, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_top(ui_Mail_Counter, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_bottom(ui_Mail_Counter, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + + ui_Mail_Symbol = lv_label_create(ui_Notif_counter); + lv_obj_set_width(ui_Mail_Symbol, LV_SIZE_CONTENT); /// 1 + lv_obj_set_height(ui_Mail_Symbol, LV_SIZE_CONTENT); /// 1 + lv_obj_set_align(ui_Mail_Symbol, LV_ALIGN_RIGHT_MID); + lv_label_set_text(ui_Mail_Symbol, ""); + lv_obj_set_style_text_align(ui_Mail_Symbol, LV_TEXT_ALIGN_LEFT, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_text_font(ui_Mail_Symbol, &lv_font_montserrat_24, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_left(ui_Mail_Symbol, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_right(ui_Mail_Symbol, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_top(ui_Mail_Symbol, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_bottom(ui_Mail_Symbol, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + + ui_Date = lv_label_create(ui_Info_Panel); + lv_obj_set_width(ui_Date, LV_SIZE_CONTENT); /// 1 + lv_obj_set_height(ui_Date, LV_SIZE_CONTENT); /// 1 + lv_obj_set_align(ui_Date, LV_ALIGN_BOTTOM_RIGHT); + lv_label_set_text(ui_Date, "Thu, October 6th"); + lv_obj_set_style_text_font(ui_Date, &lv_font_montserrat_20, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_left(ui_Date, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_right(ui_Date, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_top(ui_Date, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_bottom(ui_Date, 5, LV_PART_MAIN | LV_STATE_DEFAULT); + +} +void ui_Home_Screen_Alt_screen_init(void) +{ + ui_Home_Screen_Alt = lv_obj_create(NULL); + lv_obj_clear_flag(ui_Home_Screen_Alt, + LV_OBJ_FLAG_CLICKABLE | LV_OBJ_FLAG_PRESS_LOCK | LV_OBJ_FLAG_SCROLLABLE | LV_OBJ_FLAG_SCROLL_ELASTIC | + LV_OBJ_FLAG_SCROLL_MOMENTUM); /// Flags + + ui_Telescope_Header2 = ui_Telescope_Header_create(ui_Home_Screen_Alt); + lv_obj_set_x(ui_Telescope_Header2, 0); + lv_obj_set_y(ui_Telescope_Header2, 0); + + ui_Info_Container1 = lv_obj_create(ui_Home_Screen_Alt); + lv_obj_set_width(ui_Info_Container1, lv_pct(100)); + lv_obj_set_height(ui_Info_Container1, lv_pct(100)); + lv_obj_set_align(ui_Info_Container1, LV_ALIGN_CENTER); + lv_obj_clear_flag(ui_Info_Container1, LV_OBJ_FLAG_SCROLLABLE); /// Flags + lv_obj_set_style_bg_color(ui_Info_Container1, lv_color_hex(0xFFFFFF), LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_bg_opa(ui_Info_Container1, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_border_width(ui_Info_Container1, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_left(ui_Info_Container1, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_right(ui_Info_Container1, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_top(ui_Info_Container1, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_bottom(ui_Info_Container1, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + + ui_Time1 = lv_label_create(ui_Info_Container1); + lv_obj_set_width(ui_Time1, LV_SIZE_CONTENT); /// 1 + lv_obj_set_height(ui_Time1, LV_SIZE_CONTENT); /// 1 + lv_obj_set_align(ui_Time1, LV_ALIGN_CENTER); + lv_label_set_text(ui_Time1, "02:52 pm"); + lv_obj_clear_flag(ui_Time1, LV_OBJ_FLAG_PRESS_LOCK | LV_OBJ_FLAG_CLICK_FOCUSABLE | LV_OBJ_FLAG_GESTURE_BUBBLE | + LV_OBJ_FLAG_SNAPPABLE | LV_OBJ_FLAG_SCROLLABLE | LV_OBJ_FLAG_SCROLL_ELASTIC | LV_OBJ_FLAG_SCROLL_MOMENTUM | + LV_OBJ_FLAG_SCROLL_CHAIN); /// Flags + lv_obj_set_style_text_align(ui_Time1, LV_TEXT_ALIGN_LEFT, LV_PART_MAIN | LV_STATE_DEFAULT); + #if LV_FONT_MONTSERRAT_48 + lv_obj_set_style_text_font(ui_Time1, &lv_font_montserrat_48, LV_PART_MAIN | LV_STATE_DEFAULT); + #endif + + ui_Notif_counter1 = lv_obj_create(ui_Info_Container1); + lv_obj_set_width(ui_Notif_counter1, LV_SIZE_CONTENT); /// 54 + lv_obj_set_height(ui_Notif_counter1, LV_SIZE_CONTENT); /// 50 + lv_obj_set_align(ui_Notif_counter1, LV_ALIGN_BOTTOM_MID); + lv_obj_clear_flag(ui_Notif_counter1, + LV_OBJ_FLAG_CLICKABLE | LV_OBJ_FLAG_PRESS_LOCK | LV_OBJ_FLAG_CLICK_FOCUSABLE | LV_OBJ_FLAG_GESTURE_BUBBLE | + LV_OBJ_FLAG_SNAPPABLE | LV_OBJ_FLAG_SCROLLABLE | LV_OBJ_FLAG_SCROLL_ELASTIC | LV_OBJ_FLAG_SCROLL_MOMENTUM | + LV_OBJ_FLAG_SCROLL_CHAIN); /// Flags + lv_obj_set_style_bg_color(ui_Notif_counter1, lv_color_hex(0xFFFFFF), LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_bg_opa(ui_Notif_counter1, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_border_width(ui_Notif_counter1, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + + ui_Mail_Counter1 = lv_label_create(ui_Notif_counter1); + lv_obj_set_width(ui_Mail_Counter1, LV_SIZE_CONTENT); /// 1 + lv_obj_set_height(ui_Mail_Counter1, LV_SIZE_CONTENT); /// 1 + lv_obj_set_align(ui_Mail_Counter1, LV_ALIGN_LEFT_MID); + lv_label_set_text(ui_Mail_Counter1, "3"); + lv_obj_set_style_text_align(ui_Mail_Counter1, LV_TEXT_ALIGN_LEFT, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_text_font(ui_Mail_Counter1, &lv_font_montserrat_24, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_left(ui_Mail_Counter1, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_right(ui_Mail_Counter1, 35, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_top(ui_Mail_Counter1, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_bottom(ui_Mail_Counter1, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + + ui_Mail_Symbol1 = lv_label_create(ui_Notif_counter1); + lv_obj_set_width(ui_Mail_Symbol1, LV_SIZE_CONTENT); /// 1 + lv_obj_set_height(ui_Mail_Symbol1, LV_SIZE_CONTENT); /// 1 + lv_obj_set_align(ui_Mail_Symbol1, LV_ALIGN_RIGHT_MID); + lv_label_set_text(ui_Mail_Symbol1, ""); + lv_obj_set_style_text_align(ui_Mail_Symbol1, LV_TEXT_ALIGN_LEFT, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_text_font(ui_Mail_Symbol1, &lv_font_montserrat_24, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_left(ui_Mail_Symbol1, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_right(ui_Mail_Symbol1, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_top(ui_Mail_Symbol1, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_bottom(ui_Mail_Symbol1, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + +} +void ui_Home_Screen_Alt_2_screen_init(void) +{ + ui_Home_Screen_Alt_2 = lv_obj_create(NULL); + lv_obj_clear_flag(ui_Home_Screen_Alt_2, + LV_OBJ_FLAG_CLICKABLE | LV_OBJ_FLAG_PRESS_LOCK | LV_OBJ_FLAG_SCROLLABLE | LV_OBJ_FLAG_SCROLL_ELASTIC | + LV_OBJ_FLAG_SCROLL_MOMENTUM); /// Flags + + ui_Telescope_Header3 = ui_Telescope_Header_create(ui_Home_Screen_Alt_2); + lv_obj_set_x(ui_Telescope_Header3, 0); + lv_obj_set_y(ui_Telescope_Header3, 0); + + ui_Bottom_Panel = lv_obj_create(ui_Home_Screen_Alt_2); + lv_obj_set_height(ui_Bottom_Panel, 50); + lv_obj_set_width(ui_Bottom_Panel, lv_pct(100)); + lv_obj_set_align(ui_Bottom_Panel, LV_ALIGN_BOTTOM_MID); + lv_obj_clear_flag(ui_Bottom_Panel, LV_OBJ_FLAG_SCROLLABLE); /// Flags + lv_obj_set_style_bg_color(ui_Bottom_Panel, lv_color_hex(0xFFFFFF), LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_bg_opa(ui_Bottom_Panel, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_border_width(ui_Bottom_Panel, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + + ui_Label1 = lv_label_create(ui_Bottom_Panel); + lv_obj_set_width(ui_Label1, LV_SIZE_CONTENT); /// 1 + lv_obj_set_height(ui_Label1, LV_SIZE_CONTENT); /// 1 + lv_obj_set_align(ui_Label1, LV_ALIGN_CENTER); + lv_label_set_text(ui_Label1, "Say \"Hey Computer...\""); + lv_obj_set_style_text_align(ui_Label1, LV_TEXT_ALIGN_CENTER, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_text_font(ui_Label1, &lv_font_montserrat_24, LV_PART_MAIN | LV_STATE_DEFAULT); + + ui_Info_Container2 = lv_obj_create(ui_Home_Screen_Alt_2); + lv_obj_set_width(ui_Info_Container2, lv_pct(100)); + lv_obj_set_height(ui_Info_Container2, lv_pct(100)); + lv_obj_set_align(ui_Info_Container2, LV_ALIGN_TOP_MID); + lv_obj_clear_flag(ui_Info_Container2, LV_OBJ_FLAG_SCROLLABLE); /// Flags + lv_obj_set_style_bg_color(ui_Info_Container2, lv_color_hex(0x000000), LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_bg_opa(ui_Info_Container2, 255, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_border_width(ui_Info_Container2, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_left(ui_Info_Container2, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_right(ui_Info_Container2, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_top(ui_Info_Container2, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_bottom(ui_Info_Container2, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + + ui_Time2 = lv_label_create(ui_Info_Container2); + lv_obj_set_width(ui_Time2, LV_SIZE_CONTENT); /// 1 + lv_obj_set_height(ui_Time2, LV_SIZE_CONTENT); /// 1 + lv_obj_set_align(ui_Time2, LV_ALIGN_CENTER); + lv_label_set_text(ui_Time2, "02:52 pm"); + lv_obj_clear_flag(ui_Time2, LV_OBJ_FLAG_PRESS_LOCK | LV_OBJ_FLAG_CLICK_FOCUSABLE | LV_OBJ_FLAG_GESTURE_BUBBLE | + LV_OBJ_FLAG_SNAPPABLE | LV_OBJ_FLAG_SCROLLABLE | LV_OBJ_FLAG_SCROLL_ELASTIC | LV_OBJ_FLAG_SCROLL_MOMENTUM | + LV_OBJ_FLAG_SCROLL_CHAIN); /// Flags + lv_obj_set_style_text_align(ui_Time2, LV_TEXT_ALIGN_LEFT, LV_PART_MAIN | LV_STATE_DEFAULT); + #if LV_FONT_MONTSERRAT_48 + lv_obj_set_style_text_font(ui_Time2, &lv_font_montserrat_48, LV_PART_MAIN | LV_STATE_DEFAULT); + #endif + + ui_Notif_counter2 = lv_obj_create(ui_Info_Container2); + lv_obj_set_width(ui_Notif_counter2, LV_SIZE_CONTENT); /// 54 + lv_obj_set_height(ui_Notif_counter2, LV_SIZE_CONTENT); /// 50 + lv_obj_set_x(ui_Notif_counter2, 0); + lv_obj_set_y(ui_Notif_counter2, 50); + lv_obj_set_align(ui_Notif_counter2, LV_ALIGN_CENTER); + lv_obj_clear_flag(ui_Notif_counter2, + LV_OBJ_FLAG_CLICKABLE | LV_OBJ_FLAG_PRESS_LOCK | LV_OBJ_FLAG_CLICK_FOCUSABLE | LV_OBJ_FLAG_GESTURE_BUBBLE | + LV_OBJ_FLAG_SNAPPABLE | LV_OBJ_FLAG_SCROLLABLE | LV_OBJ_FLAG_SCROLL_ELASTIC | LV_OBJ_FLAG_SCROLL_MOMENTUM | + LV_OBJ_FLAG_SCROLL_CHAIN); /// Flags + lv_obj_set_style_bg_color(ui_Notif_counter2, lv_color_hex(0xFFFFFF), LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_bg_opa(ui_Notif_counter2, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_border_width(ui_Notif_counter2, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + + ui_Mail_Counter2 = lv_label_create(ui_Notif_counter2); + lv_obj_set_width(ui_Mail_Counter2, LV_SIZE_CONTENT); /// 1 + lv_obj_set_height(ui_Mail_Counter2, LV_SIZE_CONTENT); /// 1 + lv_obj_set_align(ui_Mail_Counter2, LV_ALIGN_LEFT_MID); + lv_label_set_text(ui_Mail_Counter2, "3"); + lv_obj_set_style_text_align(ui_Mail_Counter2, LV_TEXT_ALIGN_LEFT, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_text_font(ui_Mail_Counter2, &lv_font_montserrat_24, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_left(ui_Mail_Counter2, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_right(ui_Mail_Counter2, 35, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_top(ui_Mail_Counter2, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_bottom(ui_Mail_Counter2, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + + ui_Mail_Symbol2 = lv_label_create(ui_Notif_counter2); + lv_obj_set_width(ui_Mail_Symbol2, LV_SIZE_CONTENT); /// 1 + lv_obj_set_height(ui_Mail_Symbol2, LV_SIZE_CONTENT); /// 1 + lv_obj_set_align(ui_Mail_Symbol2, LV_ALIGN_RIGHT_MID); + lv_label_set_text(ui_Mail_Symbol2, ""); + lv_obj_set_style_text_align(ui_Mail_Symbol2, LV_TEXT_ALIGN_LEFT, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_text_font(ui_Mail_Symbol2, &lv_font_montserrat_24, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_left(ui_Mail_Symbol2, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_right(ui_Mail_Symbol2, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_top(ui_Mail_Symbol2, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_bottom(ui_Mail_Symbol2, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + +} +void ui_Home_Screen_Alt_3_screen_init(void) +{ + ui_Home_Screen_Alt_3 = lv_obj_create(NULL); + lv_obj_clear_flag(ui_Home_Screen_Alt_3, + LV_OBJ_FLAG_CLICKABLE | LV_OBJ_FLAG_PRESS_LOCK | LV_OBJ_FLAG_SCROLLABLE | LV_OBJ_FLAG_SCROLL_ELASTIC | + LV_OBJ_FLAG_SCROLL_MOMENTUM); /// Flags + lv_obj_set_style_bg_color(ui_Home_Screen_Alt_3, lv_color_hex(0x000000), LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_bg_opa(ui_Home_Screen_Alt_3, 255, LV_PART_MAIN | LV_STATE_DEFAULT); + + ui_Telescope_Header4 = ui_Telescope_Header_create(ui_Home_Screen_Alt_3); + lv_obj_set_x(ui_Telescope_Header4, 0); + lv_obj_set_y(ui_Telescope_Header4, 0); + + ui_Bottom_Panel1 = lv_obj_create(ui_Home_Screen_Alt_3); + lv_obj_set_height(ui_Bottom_Panel1, 50); + lv_obj_set_width(ui_Bottom_Panel1, lv_pct(100)); + lv_obj_set_align(ui_Bottom_Panel1, LV_ALIGN_BOTTOM_MID); + lv_obj_clear_flag(ui_Bottom_Panel1, LV_OBJ_FLAG_SCROLLABLE); /// Flags + lv_obj_set_style_bg_color(ui_Bottom_Panel1, lv_color_hex(0xFFFFFF), LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_bg_opa(ui_Bottom_Panel1, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_border_width(ui_Bottom_Panel1, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + + ui_Label2 = lv_label_create(ui_Bottom_Panel1); + lv_obj_set_width(ui_Label2, LV_SIZE_CONTENT); /// 1 + lv_obj_set_height(ui_Label2, LV_SIZE_CONTENT); /// 1 + lv_obj_set_align(ui_Label2, LV_ALIGN_CENTER); + lv_label_set_text(ui_Label2, "Say \"Hey Computer...\""); + lv_obj_set_style_text_align(ui_Label2, LV_TEXT_ALIGN_CENTER, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_text_font(ui_Label2, &lv_font_montserrat_24, LV_PART_MAIN | LV_STATE_DEFAULT); + + ui_Info_Container3 = lv_obj_create(ui_Home_Screen_Alt_3); + lv_obj_set_width(ui_Info_Container3, lv_pct(100)); + lv_obj_set_height(ui_Info_Container3, LV_SIZE_CONTENT); /// 50 + lv_obj_set_align(ui_Info_Container3, LV_ALIGN_CENTER); + lv_obj_clear_flag(ui_Info_Container3, LV_OBJ_FLAG_SCROLLABLE); /// Flags + lv_obj_set_style_bg_color(ui_Info_Container3, lv_color_hex(0xFFFFFF), LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_bg_opa(ui_Info_Container3, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_border_width(ui_Info_Container3, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + + ui_Info_Panel1 = lv_obj_create(ui_Info_Container3); + lv_obj_set_width(ui_Info_Panel1, lv_pct(54)); + lv_obj_set_height(ui_Info_Panel1, LV_SIZE_CONTENT); /// 15 + lv_obj_set_align(ui_Info_Panel1, LV_ALIGN_CENTER); + lv_obj_clear_flag(ui_Info_Panel1, LV_OBJ_FLAG_SCROLLABLE); /// Flags + lv_obj_set_style_bg_color(ui_Info_Panel1, lv_color_hex(0xFFFFFF), LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_bg_opa(ui_Info_Panel1, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_border_width(ui_Info_Panel1, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_left(ui_Info_Panel1, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_right(ui_Info_Panel1, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_top(ui_Info_Panel1, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_bottom(ui_Info_Panel1, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + + ui_Time3 = lv_label_create(ui_Info_Panel1); + lv_obj_set_width(ui_Time3, LV_SIZE_CONTENT); /// 1 + lv_obj_set_height(ui_Time3, LV_SIZE_CONTENT); /// 1 + lv_obj_set_align(ui_Time3, LV_ALIGN_BOTTOM_LEFT); + lv_label_set_text(ui_Time3, "02\n52"); + lv_obj_clear_flag(ui_Time3, LV_OBJ_FLAG_PRESS_LOCK | LV_OBJ_FLAG_CLICK_FOCUSABLE | LV_OBJ_FLAG_GESTURE_BUBBLE | + LV_OBJ_FLAG_SNAPPABLE | LV_OBJ_FLAG_SCROLLABLE | LV_OBJ_FLAG_SCROLL_ELASTIC | LV_OBJ_FLAG_SCROLL_MOMENTUM | + LV_OBJ_FLAG_SCROLL_CHAIN); /// Flags + lv_obj_set_style_text_align(ui_Time3, LV_TEXT_ALIGN_LEFT, LV_PART_MAIN | LV_STATE_DEFAULT); + #if LV_FONT_MONTSERRAT_48 + lv_obj_set_style_text_font(ui_Time3, &lv_font_montserrat_48, LV_PART_MAIN | LV_STATE_DEFAULT); + #endif + lv_obj_set_style_pad_left(ui_Time3, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_right(ui_Time3, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_top(ui_Time3, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_bottom(ui_Time3, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + + ui_Notif_counter3 = lv_obj_create(ui_Info_Panel1); + lv_obj_set_width(ui_Notif_counter3, LV_SIZE_CONTENT); /// 54 + lv_obj_set_height(ui_Notif_counter3, LV_SIZE_CONTENT); /// 50 + lv_obj_set_align(ui_Notif_counter3, LV_ALIGN_TOP_RIGHT); + lv_obj_clear_flag(ui_Notif_counter3, + LV_OBJ_FLAG_CLICKABLE | LV_OBJ_FLAG_PRESS_LOCK | LV_OBJ_FLAG_CLICK_FOCUSABLE | LV_OBJ_FLAG_GESTURE_BUBBLE | + LV_OBJ_FLAG_SNAPPABLE | LV_OBJ_FLAG_SCROLLABLE | LV_OBJ_FLAG_SCROLL_ELASTIC | LV_OBJ_FLAG_SCROLL_MOMENTUM | + LV_OBJ_FLAG_SCROLL_CHAIN); /// Flags + lv_obj_set_style_bg_color(ui_Notif_counter3, lv_color_hex(0xFFFFFF), LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_bg_opa(ui_Notif_counter3, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_border_width(ui_Notif_counter3, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_left(ui_Notif_counter3, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_right(ui_Notif_counter3, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_top(ui_Notif_counter3, 5, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_bottom(ui_Notif_counter3, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + + ui_Mail_Counter3 = lv_label_create(ui_Notif_counter3); + lv_obj_set_width(ui_Mail_Counter3, LV_SIZE_CONTENT); /// 1 + lv_obj_set_height(ui_Mail_Counter3, LV_SIZE_CONTENT); /// 1 + lv_obj_set_align(ui_Mail_Counter3, LV_ALIGN_LEFT_MID); + lv_label_set_text(ui_Mail_Counter3, "3"); + lv_obj_set_style_text_align(ui_Mail_Counter3, LV_TEXT_ALIGN_LEFT, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_text_font(ui_Mail_Counter3, &lv_font_montserrat_24, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_left(ui_Mail_Counter3, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_right(ui_Mail_Counter3, 35, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_top(ui_Mail_Counter3, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_bottom(ui_Mail_Counter3, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + + ui_Mail_Symbol3 = lv_label_create(ui_Notif_counter3); + lv_obj_set_width(ui_Mail_Symbol3, LV_SIZE_CONTENT); /// 1 + lv_obj_set_height(ui_Mail_Symbol3, LV_SIZE_CONTENT); /// 1 + lv_obj_set_align(ui_Mail_Symbol3, LV_ALIGN_RIGHT_MID); + lv_label_set_text(ui_Mail_Symbol3, ""); + lv_obj_set_style_text_align(ui_Mail_Symbol3, LV_TEXT_ALIGN_LEFT, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_text_font(ui_Mail_Symbol3, &lv_font_montserrat_24, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_left(ui_Mail_Symbol3, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_right(ui_Mail_Symbol3, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_top(ui_Mail_Symbol3, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_bottom(ui_Mail_Symbol3, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + + ui_Date1 = lv_label_create(ui_Info_Panel1); + lv_obj_set_width(ui_Date1, LV_SIZE_CONTENT); /// 1 + lv_obj_set_height(ui_Date1, LV_SIZE_CONTENT); /// 1 + lv_obj_set_align(ui_Date1, LV_ALIGN_BOTTOM_RIGHT); + lv_label_set_text(ui_Date1, "Thu, October 6th"); + lv_obj_set_style_text_font(ui_Date1, &lv_font_montserrat_20, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_left(ui_Date1, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_right(ui_Date1, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_top(ui_Date1, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_bottom(ui_Date1, 5, LV_PART_MAIN | LV_STATE_DEFAULT); + +} +void ui_Enter_Voice_Command_screen_init(void) +{ + ui_Enter_Voice_Command = lv_obj_create(NULL); + lv_obj_clear_flag(ui_Enter_Voice_Command, + LV_OBJ_FLAG_CLICKABLE | LV_OBJ_FLAG_PRESS_LOCK | LV_OBJ_FLAG_SCROLLABLE | LV_OBJ_FLAG_SCROLL_ELASTIC | + LV_OBJ_FLAG_SCROLL_MOMENTUM); /// Flags + lv_obj_set_style_bg_color(ui_Enter_Voice_Command, lv_color_hex(0x000000), LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_bg_opa(ui_Enter_Voice_Command, 255, LV_PART_MAIN | LV_STATE_DEFAULT); + + ui_Telescope_Header8 = ui_Telescope_Header_create(ui_Enter_Voice_Command); + lv_obj_set_x(ui_Telescope_Header8, 0); + lv_obj_set_y(ui_Telescope_Header8, 0); + + ui_Say_Hey_Computer = lv_obj_create(ui_Enter_Voice_Command); + lv_obj_set_height(ui_Say_Hey_Computer, 50); + lv_obj_set_width(ui_Say_Hey_Computer, lv_pct(100)); + lv_obj_set_align(ui_Say_Hey_Computer, LV_ALIGN_CENTER); + lv_obj_clear_flag(ui_Say_Hey_Computer, LV_OBJ_FLAG_SCROLLABLE); /// Flags + lv_obj_set_style_bg_color(ui_Say_Hey_Computer, lv_color_hex(0xFFFFFF), LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_bg_opa(ui_Say_Hey_Computer, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_border_width(ui_Say_Hey_Computer, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + + ui_Label3 = lv_label_create(ui_Say_Hey_Computer); + lv_obj_set_width(ui_Label3, LV_SIZE_CONTENT); /// 1 + lv_obj_set_height(ui_Label3, LV_SIZE_CONTENT); /// 1 + lv_obj_set_align(ui_Label3, LV_ALIGN_CENTER); + lv_label_set_text(ui_Label3, "Say \"Hey Computer...\""); + lv_obj_set_style_text_align(ui_Label3, LV_TEXT_ALIGN_CENTER, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_text_font(ui_Label3, &lv_font_montserrat_24, LV_PART_MAIN | LV_STATE_DEFAULT); + +} +void ui_Enter_Voice_Command_2_screen_init(void) +{ + ui_Enter_Voice_Command_2 = lv_obj_create(NULL); + lv_obj_clear_flag(ui_Enter_Voice_Command_2, + LV_OBJ_FLAG_CLICKABLE | LV_OBJ_FLAG_PRESS_LOCK | LV_OBJ_FLAG_SCROLLABLE | LV_OBJ_FLAG_SCROLL_ELASTIC | + LV_OBJ_FLAG_SCROLL_MOMENTUM); /// Flags + + ui_EnterVoiceCmdP2Text = lv_obj_create(ui_Enter_Voice_Command_2); + lv_obj_set_width(ui_EnterVoiceCmdP2Text, lv_pct(100)); + lv_obj_set_height(ui_EnterVoiceCmdP2Text, lv_pct(100)); + lv_obj_set_align(ui_EnterVoiceCmdP2Text, LV_ALIGN_CENTER); + lv_obj_clear_flag(ui_EnterVoiceCmdP2Text, LV_OBJ_FLAG_SCROLLABLE); /// Flags + lv_obj_set_style_bg_color(ui_EnterVoiceCmdP2Text, lv_color_hex(0x000000), LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_bg_opa(ui_EnterVoiceCmdP2Text, 255, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_border_width(ui_EnterVoiceCmdP2Text, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + + ui_Say_Hey_Computer1 = lv_obj_create(ui_EnterVoiceCmdP2Text); + lv_obj_set_width(ui_Say_Hey_Computer1, lv_pct(100)); + lv_obj_set_height(ui_Say_Hey_Computer1, LV_SIZE_CONTENT); /// 50 + lv_obj_set_x(ui_Say_Hey_Computer1, -5); + lv_obj_set_y(ui_Say_Hey_Computer1, -61); + lv_obj_set_align(ui_Say_Hey_Computer1, LV_ALIGN_CENTER); + lv_obj_clear_flag(ui_Say_Hey_Computer1, LV_OBJ_FLAG_SCROLLABLE); /// Flags + lv_obj_set_style_bg_color(ui_Say_Hey_Computer1, lv_color_hex(0xFFFFFF), LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_bg_opa(ui_Say_Hey_Computer1, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_border_width(ui_Say_Hey_Computer1, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + + ui_EnterVoiceCmdP2Header = lv_label_create(ui_Say_Hey_Computer1); + lv_obj_set_width(ui_EnterVoiceCmdP2Header, LV_SIZE_CONTENT); /// 1 + lv_obj_set_height(ui_EnterVoiceCmdP2Header, LV_SIZE_CONTENT); /// 1 + lv_obj_set_align(ui_EnterVoiceCmdP2Header, LV_ALIGN_CENTER); + lv_label_set_text(ui_EnterVoiceCmdP2Header, "\"Hey Computer\""); + lv_obj_set_style_text_align(ui_EnterVoiceCmdP2Header, LV_TEXT_ALIGN_CENTER, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_text_font(ui_EnterVoiceCmdP2Header, &lv_font_montserrat_24, LV_PART_MAIN | LV_STATE_DEFAULT); + + ui_EnterVoiceCmdP2Content = lv_label_create(ui_EnterVoiceCmdP2Text); + lv_obj_set_width(ui_EnterVoiceCmdP2Content, LV_SIZE_CONTENT); /// 1 + lv_obj_set_height(ui_EnterVoiceCmdP2Content, LV_SIZE_CONTENT); /// 1 + lv_obj_set_x(ui_EnterVoiceCmdP2Content, 0); + lv_obj_set_y(ui_EnterVoiceCmdP2Content, 40); + lv_obj_set_align(ui_EnterVoiceCmdP2Content, LV_ALIGN_CENTER); + lv_label_set_text(ui_EnterVoiceCmdP2Content, + "search for ...\nquestion ...\nsave speech ...\nrun speech translate ...\nrun live life captions\nrun blank screen"); + lv_obj_set_style_text_letter_space(ui_EnterVoiceCmdP2Content, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_text_line_space(ui_EnterVoiceCmdP2Content, 2, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_text_font(ui_EnterVoiceCmdP2Content, &lv_font_montserrat_18, LV_PART_MAIN | LV_STATE_DEFAULT); + + ui_Telescope_Header11 = ui_Telescope_Header_create(ui_Enter_Voice_Command_2); + lv_obj_set_x(ui_Telescope_Header11, 0); + lv_obj_set_y(ui_Telescope_Header11, 0); + +} +void ui_Enter_Voice_Command_3_screen_init(void) +{ + ui_Enter_Voice_Command_3 = lv_obj_create(NULL); + lv_obj_clear_flag(ui_Enter_Voice_Command_3, + LV_OBJ_FLAG_CLICKABLE | LV_OBJ_FLAG_PRESS_LOCK | LV_OBJ_FLAG_SCROLLABLE | LV_OBJ_FLAG_SCROLL_ELASTIC | + LV_OBJ_FLAG_SCROLL_MOMENTUM); /// Flags + lv_obj_set_style_bg_color(ui_Enter_Voice_Command_3, lv_color_hex(0x000000), LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_bg_opa(ui_Enter_Voice_Command_3, 255, LV_PART_MAIN | LV_STATE_DEFAULT); + + ui_Telescope_Header7 = ui_Telescope_Header_create(ui_Enter_Voice_Command_3); + lv_obj_set_x(ui_Telescope_Header7, 0); + lv_obj_set_y(ui_Telescope_Header7, 0); + + ui_ContainerBelowHeader8 = ui_ContainerBelowHeader_create(ui_Enter_Voice_Command_3); + lv_obj_set_x(ui_ContainerBelowHeader8, 0); + lv_obj_set_y(ui_ContainerBelowHeader8, lv_pct(7)); + + ui_Label11 = lv_label_create(ui_ContainerBelowHeader8); + lv_obj_set_width(ui_Label11, LV_SIZE_CONTENT); /// 1 + lv_obj_set_height(ui_Label11, LV_SIZE_CONTENT); /// 1 + lv_obj_set_x(ui_Label11, 0); + lv_obj_set_y(ui_Label11, -40); + lv_obj_set_align(ui_Label11, LV_ALIGN_BOTTOM_MID); + lv_label_set_text(ui_Label11, "Then say 'finish command'"); + lv_obj_set_style_text_letter_space(ui_Label11, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_text_line_space(ui_Label11, 2, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_text_font(ui_Label11, &lv_font_montserrat_22, LV_PART_MAIN | LV_STATE_DEFAULT); + + ui_Label10 = lv_label_create(ui_ContainerBelowHeader8); + lv_obj_set_width(ui_Label10, LV_SIZE_CONTENT); /// 1 + lv_obj_set_height(ui_Label10, LV_SIZE_CONTENT); /// 1 + lv_obj_set_align(ui_Label10, LV_ALIGN_CENTER); + lv_label_set_text(ui_Label10, "speech translate french"); + lv_obj_set_style_text_letter_space(ui_Label10, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_text_line_space(ui_Label10, 2, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_text_font(ui_Label10, &lv_font_montserrat_22, LV_PART_MAIN | LV_STATE_DEFAULT); + + ui_Label9 = lv_label_create(ui_ContainerBelowHeader8); + lv_obj_set_width(ui_Label9, LV_SIZE_CONTENT); /// 1 + lv_obj_set_height(ui_Label9, LV_SIZE_CONTENT); /// 1 + lv_obj_set_x(ui_Label9, 0); + lv_obj_set_y(ui_Label9, 40); + lv_obj_set_align(ui_Label9, LV_ALIGN_TOP_MID); + lv_label_set_text(ui_Label9, "Run ..."); + lv_obj_set_style_text_align(ui_Label9, LV_TEXT_ALIGN_CENTER, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_text_font(ui_Label9, &lv_font_montserrat_24, LV_PART_MAIN | LV_STATE_DEFAULT); + +} +void ui_Card_Notification_screen_init(void) +{ + ui_Card_Notification = lv_obj_create(NULL); + lv_obj_clear_flag(ui_Card_Notification, LV_OBJ_FLAG_SCROLLABLE); /// Flags + + ui_Card_Notification_ContainerBelow = ui_ContainerBelowHeader_create(ui_Card_Notification); + lv_obj_set_x(ui_Card_Notification_ContainerBelow, 0); + lv_obj_set_y(ui_Card_Notification_ContainerBelow, lv_pct(7)); + + ui_Card_with_icon1 = ui_NotificationCard_create(ui_Card_Notification_ContainerBelow); + lv_obj_set_x(ui_Card_with_icon1, 0); + lv_obj_set_y(ui_Card_with_icon1, 0); + + //lv_img_set_src(ui_comp_get_child(ui_Card_with_icon1, UI_COMP_NOTIFICATIONCARD_CARD_HERO), &ui_img_matt_shades_png); + + ui_Telescope_Header5 = ui_Telescope_Header_create(ui_Card_Notification); + lv_obj_set_x(ui_Telescope_Header5, 0); + lv_obj_set_y(ui_Telescope_Header5, 0); + +} +void ui_Card_Search_Textonly_screen_init(void) +{ + ui_Card_Search_Textonly = lv_obj_create(NULL); + lv_obj_clear_flag(ui_Card_Search_Textonly, LV_OBJ_FLAG_SCROLLABLE); /// Flags + lv_obj_set_style_bg_color(ui_Card_Search_Textonly, lv_color_hex(0x000000), LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_bg_opa(ui_Card_Search_Textonly, 255, LV_PART_MAIN | LV_STATE_DEFAULT); + + ui_Card_Search_TextOnly = ui_Telescope_Header_create(ui_Card_Search_Textonly); + lv_obj_set_x(ui_Card_Search_TextOnly, 0); + lv_obj_set_y(ui_Card_Search_TextOnly, 0); + + ui_ContainerBelowHeader7 = ui_ContainerBelowHeader_create(ui_Card_Search_Textonly); + lv_obj_set_x(ui_ContainerBelowHeader7, 0); + lv_obj_set_y(ui_ContainerBelowHeader7, lv_pct(7)); + + ui_CardSearchTextonlyContent = lv_label_create(ui_ContainerBelowHeader7); + lv_obj_set_width(ui_CardSearchTextonlyContent, lv_pct(100)); + lv_obj_set_height(ui_CardSearchTextonlyContent, lv_pct(85)); + lv_obj_set_align(ui_CardSearchTextonlyContent, LV_ALIGN_BOTTOM_LEFT); + lv_label_set_long_mode(ui_CardSearchTextonlyContent, LV_LABEL_LONG_DOT); + lv_label_set_text(ui_CardSearchTextonlyContent, + "Coronavirus disease 2019 (COVID-19) is a contagious disease caused by a virus, the severe acute respiratory syndrome coronavirus 2 (SARS-CoV-2). The first known case was identified in Wuhan, China, in December 2019.[7] The disease quickly spread worldwide, resulting in the COVID-19 pandemic."); + lv_obj_set_style_text_font(ui_CardSearchTextonlyContent, &lv_font_montserrat_18, LV_PART_MAIN | LV_STATE_DEFAULT); + + ui_Card_Title_Text1 = lv_label_create(ui_ContainerBelowHeader7); + lv_obj_set_width(ui_Card_Title_Text1, lv_pct(100)); + lv_obj_set_height(ui_Card_Title_Text1, LV_SIZE_CONTENT); /// 1 + lv_label_set_long_mode(ui_Card_Title_Text1, LV_LABEL_LONG_SCROLL_CIRCULAR); + lv_label_set_text(ui_Card_Title_Text1, "Wikipedia - COVID-19"); + lv_obj_set_style_text_font(ui_Card_Title_Text1, &lv_font_montserrat_22, LV_PART_MAIN | LV_STATE_DEFAULT); + +} +void ui_Card_Search_Hor_screen_init(void) +{ + ui_Card_Search_Hor = lv_obj_create(NULL); + lv_obj_clear_flag(ui_Card_Search_Hor, LV_OBJ_FLAG_SCROLLABLE); /// Flags + lv_obj_set_style_bg_color(ui_Card_Search_Hor, lv_color_hex(0x000000), LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_bg_opa(ui_Card_Search_Hor, 255, LV_PART_MAIN | LV_STATE_DEFAULT); + + ui_Telescope_Header10 = ui_Telescope_Header_create(ui_Card_Search_Hor); + lv_obj_set_x(ui_Telescope_Header10, 0); + lv_obj_set_y(ui_Telescope_Header10, 0); + + ui_ContainerBelowHeader1 = ui_ContainerBelowHeader_create(ui_Card_Search_Hor); + lv_obj_set_x(ui_ContainerBelowHeader1, 0); + lv_obj_set_y(ui_ContainerBelowHeader1, lv_pct(7)); + + ui_ContainerBelowHeader3 = lv_obj_create(ui_ContainerBelowHeader1); + lv_obj_set_width(ui_ContainerBelowHeader3, lv_pct(40)); + lv_obj_set_height(ui_ContainerBelowHeader3, lv_pct(100)); + lv_obj_set_align(ui_ContainerBelowHeader3, LV_ALIGN_RIGHT_MID); + lv_obj_clear_flag(ui_ContainerBelowHeader3, LV_OBJ_FLAG_SCROLLABLE); /// Flags + lv_obj_set_style_bg_color(ui_ContainerBelowHeader3, lv_color_hex(0xFFFFFF), LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_bg_opa(ui_ContainerBelowHeader3, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_border_width(ui_ContainerBelowHeader3, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_left(ui_ContainerBelowHeader3, 16, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_right(ui_ContainerBelowHeader3, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_top(ui_ContainerBelowHeader3, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_bottom(ui_ContainerBelowHeader3, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + + ui_Label8 = lv_label_create(ui_ContainerBelowHeader3); + lv_obj_set_width(ui_Label8, LV_SIZE_CONTENT); /// 1 + lv_obj_set_height(ui_Label8, LV_SIZE_CONTENT); /// 1 + lv_obj_set_align(ui_Label8, LV_ALIGN_BOTTOM_RIGHT); + lv_label_set_text(ui_Label8, "Tap for more"); + lv_obj_set_style_text_font(ui_Label8, &lv_font_montserrat_18, LV_PART_MAIN | LV_STATE_DEFAULT); + + ui_Label7 = lv_label_create(ui_ContainerBelowHeader3); + lv_obj_set_width(ui_Label7, lv_pct(100)); + lv_obj_set_height(ui_Label7, lv_pct(90)); + lv_label_set_long_mode(ui_Label7, LV_LABEL_LONG_DOT); + lv_label_set_text(ui_Label7, + "Coronavirus disease 2019 (COVID-19) is a contagious disease caused by a virus, the severe acute respiratory syndrome coronavirus 2 (SARS-CoV-2). The first known case was identified in Wuhan, China, in December 2019.[7] The disease quickly spread worldwide, resulting in the COVID-19 pandemic."); + lv_obj_set_style_text_align(ui_Label7, LV_TEXT_ALIGN_RIGHT, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_text_font(ui_Label7, &lv_font_montserrat_20, LV_PART_MAIN | LV_STATE_DEFAULT); + + ui_ContainerBelowHeader2 = lv_obj_create(ui_ContainerBelowHeader1); + lv_obj_set_width(ui_ContainerBelowHeader2, lv_pct(60)); + lv_obj_set_height(ui_ContainerBelowHeader2, lv_pct(100)); + lv_obj_set_align(ui_ContainerBelowHeader2, LV_ALIGN_LEFT_MID); + lv_obj_clear_flag(ui_ContainerBelowHeader2, LV_OBJ_FLAG_SCROLLABLE); /// Flags + lv_obj_set_style_bg_color(ui_ContainerBelowHeader2, lv_color_hex(0xFFFFFF), LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_bg_opa(ui_ContainerBelowHeader2, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_border_width(ui_ContainerBelowHeader2, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_left(ui_ContainerBelowHeader2, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_right(ui_ContainerBelowHeader2, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_top(ui_ContainerBelowHeader2, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_bottom(ui_ContainerBelowHeader2, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + + ui_Label6 = lv_label_create(ui_ContainerBelowHeader2); + lv_obj_set_width(ui_Label6, lv_pct(100)); + lv_obj_set_height(ui_Label6, LV_SIZE_CONTENT); /// 1 + lv_label_set_long_mode(ui_Label6, LV_LABEL_LONG_SCROLL_CIRCULAR); + lv_label_set_text(ui_Label6, "Wikipedia - COVID-19"); + lv_obj_set_style_text_font(ui_Label6, &lv_font_montserrat_22, LV_PART_MAIN | LV_STATE_DEFAULT); + + ui_Image2 = lv_img_create(ui_ContainerBelowHeader2); + //lv_img_set_src(ui_Image2, &ui_img_test_png); + lv_obj_set_width(ui_Image2, lv_pct(100)); + lv_obj_set_height(ui_Image2, lv_pct(80)); + lv_obj_set_align(ui_Image2, LV_ALIGN_BOTTOM_LEFT); + lv_obj_add_flag(ui_Image2, LV_OBJ_FLAG_ADV_HITTEST); /// Flags + lv_obj_clear_flag(ui_Image2, LV_OBJ_FLAG_SCROLLABLE); /// Flags + +} +void ui_Card_Search_Ver_screen_init(void) +{ + ui_Card_Search_Ver = lv_obj_create(NULL); + lv_obj_clear_flag(ui_Card_Search_Ver, LV_OBJ_FLAG_SCROLLABLE); /// Flags + lv_obj_set_style_bg_color(ui_Card_Search_Ver, lv_color_hex(0x000000), LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_bg_opa(ui_Card_Search_Ver, 255, LV_PART_MAIN | LV_STATE_DEFAULT); + + ui_Telescope_Header6 = ui_Telescope_Header_create(ui_Card_Search_Ver); + lv_obj_set_x(ui_Telescope_Header6, 0); + lv_obj_set_y(ui_Telescope_Header6, 0); + + ui_ContainerBelowHeader4 = ui_ContainerBelowHeader_create(ui_Card_Search_Ver); + lv_obj_set_x(ui_ContainerBelowHeader4, 0); + lv_obj_set_y(ui_ContainerBelowHeader4, lv_pct(7)); + + ui_ContainerBelowHeader6 = lv_obj_create(ui_ContainerBelowHeader4); + lv_obj_set_width(ui_ContainerBelowHeader6, lv_pct(50)); + lv_obj_set_height(ui_ContainerBelowHeader6, lv_pct(100)); + lv_obj_clear_flag(ui_ContainerBelowHeader6, LV_OBJ_FLAG_SCROLLABLE); /// Flags + lv_obj_set_style_bg_color(ui_ContainerBelowHeader6, lv_color_hex(0xFFFFFF), LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_bg_opa(ui_ContainerBelowHeader6, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_border_width(ui_ContainerBelowHeader6, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_left(ui_ContainerBelowHeader6, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_right(ui_ContainerBelowHeader6, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_top(ui_ContainerBelowHeader6, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_bottom(ui_ContainerBelowHeader6, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + + ui_Image1 = lv_img_create(ui_ContainerBelowHeader6); + //lv_img_set_src(ui_Image1, &ui_img_test_png); + lv_obj_set_width(ui_Image1, lv_pct(100)); + lv_obj_set_height(ui_Image1, lv_pct(100)); + lv_obj_set_align(ui_Image1, LV_ALIGN_BOTTOM_LEFT); + lv_obj_add_flag(ui_Image1, LV_OBJ_FLAG_ADV_HITTEST); /// Flags + lv_obj_clear_flag(ui_Image1, LV_OBJ_FLAG_SCROLLABLE); /// Flags + + ui_TapForMore = lv_label_create(ui_ContainerBelowHeader4); + lv_obj_set_width(ui_TapForMore, LV_SIZE_CONTENT); /// 1 + lv_obj_set_height(ui_TapForMore, LV_SIZE_CONTENT); /// 1 + lv_obj_set_align(ui_TapForMore, LV_ALIGN_BOTTOM_RIGHT); + lv_label_set_text(ui_TapForMore, "Tap for more"); + lv_obj_set_style_text_font(ui_TapForMore, &lv_font_montserrat_18, LV_PART_MAIN | LV_STATE_DEFAULT); + + ui_ContainerBelowHeader5 = lv_obj_create(ui_ContainerBelowHeader4); + lv_obj_set_width(ui_ContainerBelowHeader5, lv_pct(50)); + lv_obj_set_height(ui_ContainerBelowHeader5, lv_pct(100)); + lv_obj_set_align(ui_ContainerBelowHeader5, LV_ALIGN_RIGHT_MID); + lv_obj_clear_flag(ui_ContainerBelowHeader5, LV_OBJ_FLAG_SCROLLABLE); /// Flags + lv_obj_set_style_bg_color(ui_ContainerBelowHeader5, lv_color_hex(0xFFFFFF), LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_bg_opa(ui_ContainerBelowHeader5, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_border_width(ui_ContainerBelowHeader5, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_left(ui_ContainerBelowHeader5, 16, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_right(ui_ContainerBelowHeader5, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_top(ui_ContainerBelowHeader5, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_bottom(ui_ContainerBelowHeader5, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + + ui_Content = lv_label_create(ui_ContainerBelowHeader5); + lv_obj_set_width(ui_Content, lv_pct(100)); + lv_obj_set_height(ui_Content, lv_pct(76)); + lv_obj_set_align(ui_Content, LV_ALIGN_BOTTOM_LEFT); + lv_label_set_long_mode(ui_Content, LV_LABEL_LONG_DOT); + lv_label_set_text(ui_Content, + "Coronavirus disease 2019 (COVID-19) is a contagious disease caused by a virus, the severe acute respiratory syndrome coronavirus 2 (SARS-CoV-2). The first known case was identified in Wuhan, China, in December 2019.[7] The disease quickly spread worldwide, resulting in the COVID-19 pandemic."); + lv_obj_set_style_text_align(ui_Content, LV_TEXT_ALIGN_LEFT, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_text_font(ui_Content, &lv_font_montserrat_20, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_left(ui_Content, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_right(ui_Content, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_top(ui_Content, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_bottom(ui_Content, 16, LV_PART_MAIN | LV_STATE_DEFAULT); + + ui_Title = lv_label_create(ui_ContainerBelowHeader5); + lv_obj_set_height(ui_Title, 50); + lv_obj_set_width(ui_Title, lv_pct(100)); + lv_label_set_long_mode(ui_Title, LV_LABEL_LONG_DOT); + lv_label_set_text(ui_Title, "Wikipedia\nCOVID-19"); + lv_obj_set_style_text_font(ui_Title, &lv_font_montserrat_22, LV_PART_MAIN | LV_STATE_DEFAULT); + +} + +void ui_init_custom(void) +{ + LV_EVENT_GET_COMP_CHILD = lv_event_register_id(); + + lv_disp_t * dispp = lv_disp_get_default(); + lv_theme_t * theme = lv_theme_default_init(dispp, lv_palette_main(LV_PALETTE_BLUE), lv_palette_main(LV_PALETTE_RED), + true, LV_FONT_DEFAULT); + lv_disp_set_theme(dispp, theme); + ui_Home_Screen_screen_init(); + ui_Home_Screen_Alt_screen_init(); + ui_Home_Screen_Alt_2_screen_init(); + ui_Home_Screen_Alt_3_screen_init(); + ui_Enter_Voice_Command_screen_init(); + ui_Enter_Voice_Command_2_screen_init(); + ui_Enter_Voice_Command_3_screen_init(); + ui_Card_Notification_screen_init(); + ui_Card_Search_Textonly_screen_init(); + ui_Card_Search_Hor_screen_init(); + ui_Card_Search_Ver_screen_init(); + //lv_disp_load_scr(ui_Home_Screen); +} diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/gui/ui.h b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/gui/ui.h new file mode 100644 index 0000000..6b85207 --- /dev/null +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/gui/ui.h @@ -0,0 +1,118 @@ +// SquareLine LVGL GENERATED FILE +// EDITOR VERSION: SquareLine Studio 1.1.1 +// LVGL VERSION: 8.2.0 +// PROJECT: SquareLine_Project + +#ifndef _SQUARELINE_PROJECT_UI_H +#define _SQUARELINE_PROJECT_UI_H + +#ifdef __cplusplus +extern "C" { +#endif + +#if defined __has_include +#if __has_include("lvgl.h") +#include "lvgl.h" +//#elif __has_include("lvgl/lvgl.h") +//#include "lvgl/lvgl.h" +#else +#include "lvgl.h" +#endif +#else +#include "lvgl.h" +#endif + +extern lv_obj_t * ui_Home_Screen; +extern lv_obj_t * ui_Telescope_Header1; +extern lv_obj_t * ui_Info_Container; +extern lv_obj_t * ui_Info_Panel; +extern lv_obj_t * ui_Time; +extern lv_obj_t * ui_Notif_counter; +extern lv_obj_t * ui_Mail_Counter; +extern lv_obj_t * ui_Mail_Symbol; +extern lv_obj_t * ui_Date; +extern lv_obj_t * ui_Home_Screen_Alt; +extern lv_obj_t * ui_Telescope_Header2; +extern lv_obj_t * ui_Info_Container1; +extern lv_obj_t * ui_Time1; +extern lv_obj_t * ui_Notif_counter1; +extern lv_obj_t * ui_Mail_Counter1; +extern lv_obj_t * ui_Mail_Symbol1; +extern lv_obj_t * ui_Home_Screen_Alt_2; +extern lv_obj_t * ui_Telescope_Header3; +extern lv_obj_t * ui_Bottom_Panel; +extern lv_obj_t * ui_Label1; +extern lv_obj_t * ui_Info_Container2; +extern lv_obj_t * ui_Time2; +extern lv_obj_t * ui_Notif_counter2; +extern lv_obj_t * ui_Mail_Counter2; +extern lv_obj_t * ui_Mail_Symbol2; +extern lv_obj_t * ui_Home_Screen_Alt_3; +extern lv_obj_t * ui_Telescope_Header4; +extern lv_obj_t * ui_Bottom_Panel1; +extern lv_obj_t * ui_Label2; +extern lv_obj_t * ui_Info_Container3; +extern lv_obj_t * ui_Info_Panel1; +extern lv_obj_t * ui_Time3; +extern lv_obj_t * ui_Notif_counter3; +extern lv_obj_t * ui_Mail_Counter3; +extern lv_obj_t * ui_Mail_Symbol3; +extern lv_obj_t * ui_Date1; +extern lv_obj_t * ui_Enter_Voice_Command; +extern lv_obj_t * ui_Telescope_Header8; +extern lv_obj_t * ui_Say_Hey_Computer; +extern lv_obj_t * ui_Label3; +extern lv_obj_t * ui_Enter_Voice_Command_2; +extern lv_obj_t * ui_EnterVoiceCmdP2Text; +extern lv_obj_t * ui_Say_Hey_Computer1; +extern lv_obj_t * ui_EnterVoiceCmdP2Header; +extern lv_obj_t * ui_EnterVoiceCmdP2Content; +extern lv_obj_t * ui_Telescope_Header11; +extern lv_obj_t * ui_Enter_Voice_Command_3; +extern lv_obj_t * ui_Telescope_Header7; +extern lv_obj_t * ui_ContainerBelowHeader8; +extern lv_obj_t * ui_Label11; +extern lv_obj_t * ui_Label10; +extern lv_obj_t * ui_Label9; +extern lv_obj_t * ui_Card_Notification; +extern lv_obj_t * ui_Card_Notification_ContainerBelow; +extern lv_obj_t * ui_Card_with_icon1; +extern lv_obj_t * ui_Telescope_Header5; +extern lv_obj_t * ui_Card_Search_Textonly; +extern lv_obj_t * ui_Card_Search_TextOnly; +extern lv_obj_t * ui_ContainerBelowHeader7; +extern lv_obj_t * ui_CardSearchTextonlyContent; +extern lv_obj_t * ui_Card_Title_Text1; +extern lv_obj_t * ui_Card_Search_Hor; +extern lv_obj_t * ui_Telescope_Header10; +extern lv_obj_t * ui_ContainerBelowHeader1; +extern lv_obj_t * ui_ContainerBelowHeader3; +extern lv_obj_t * ui_Label8; +extern lv_obj_t * ui_Label7; +extern lv_obj_t * ui_ContainerBelowHeader2; +extern lv_obj_t * ui_Label6; +extern lv_obj_t * ui_Image2; +extern lv_obj_t * ui_Card_Search_Ver; +extern lv_obj_t * ui_Telescope_Header6; +extern lv_obj_t * ui_ContainerBelowHeader4; +extern lv_obj_t * ui_ContainerBelowHeader6; +extern lv_obj_t * ui_Image1; +extern lv_obj_t * ui_TapForMore; +extern lv_obj_t * ui_ContainerBelowHeader5; +extern lv_obj_t * ui_Content; +extern lv_obj_t * ui_Title; + + +//LV_IMG_DECLARE(ui_img_matt_shades_png); // assets/matt shades.png +//LV_IMG_DECLARE(ui_img_test_png); // assets/test.png + + + + +void ui_init_custom(void); + +#ifdef __cplusplus +} /*extern "C"*/ +#endif + +#endif diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/gui/ui_comp.c b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/gui/ui_comp.c new file mode 100644 index 0000000..562233a --- /dev/null +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/gui/ui_comp.c @@ -0,0 +1,424 @@ +// SquareLine LVGL GENERATED FILE +// EDITOR VERSION: SquareLine Studio 1.1.1 +// LVGL VERSION: 8.2.0 +// PROJECT: SquareLine_Project + + +#include "ui.h" +#include "ui_helpers.h" +#include "ui_comp.h" + +uint32_t LV_EVENT_GET_COMP_CHILD; + +typedef struct { + uint32_t child_idx; + lv_obj_t * child; +} ui_comp_get_child_t; + +lv_obj_t * ui_comp_get_child(lv_obj_t * comp, uint32_t child_idx) +{ + ui_comp_get_child_t info; + info.child = NULL; + info.child_idx = child_idx; + lv_event_send(comp, LV_EVENT_GET_COMP_CHILD, &info); + return info.child; +} + +void get_component_child_event_cb(lv_event_t * e) +{ + lv_obj_t ** c = lv_event_get_user_data(e); + ui_comp_get_child_t * info = lv_event_get_param(e); + info->child = c[info->child_idx]; +} + +void del_component_child_event_cb(lv_event_t * e) +{ + lv_obj_t ** c = lv_event_get_user_data(e); + lv_mem_free(c); +} + + +// COMPONENT Card Base + +lv_obj_t * ui_Card_Base_create(lv_obj_t * comp_parent) +{ + + lv_obj_t * cui_Card_Base; + cui_Card_Base = lv_obj_create(comp_parent); + lv_obj_set_width(cui_Card_Base, lv_pct(100)); + lv_obj_set_height(cui_Card_Base, lv_pct(100)); + lv_obj_set_align(cui_Card_Base, LV_ALIGN_CENTER); + lv_obj_clear_flag(cui_Card_Base, LV_OBJ_FLAG_SCROLLABLE); /// Flags + lv_obj_set_style_bg_color(cui_Card_Base, lv_color_hex(0xFFFFFF), LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_bg_opa(cui_Card_Base, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_border_width(cui_Card_Base, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_left(cui_Card_Base, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_right(cui_Card_Base, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_top(cui_Card_Base, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_bottom(cui_Card_Base, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + + lv_obj_t * cui_Card_Hero; + cui_Card_Hero = lv_img_create(cui_Card_Base); + lv_obj_set_width(cui_Card_Hero, LV_SIZE_CONTENT); /// 1 + lv_obj_set_height(cui_Card_Hero, LV_SIZE_CONTENT); /// 1 + lv_obj_set_align(cui_Card_Hero, LV_ALIGN_CENTER); + lv_obj_add_flag(cui_Card_Hero, LV_OBJ_FLAG_ADV_HITTEST); /// Flags + lv_obj_clear_flag(cui_Card_Hero, LV_OBJ_FLAG_SCROLLABLE); /// Flags + lv_obj_set_style_opa(cui_Card_Hero, 40, LV_PART_MAIN | LV_STATE_DEFAULT); + + lv_obj_t * cui_Card_Container; + cui_Card_Container = lv_obj_create(cui_Card_Base); + lv_obj_set_width(cui_Card_Container, lv_pct(100)); + lv_obj_set_height(cui_Card_Container, lv_pct(86)); + lv_obj_set_x(cui_Card_Container, 0); + lv_obj_set_y(cui_Card_Container, lv_pct(7)); + lv_obj_set_align(cui_Card_Container, LV_ALIGN_CENTER); + lv_obj_clear_flag(cui_Card_Container, LV_OBJ_FLAG_SCROLLABLE); /// Flags + lv_obj_set_style_bg_color(cui_Card_Container, lv_color_hex(0xFFFFFF), LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_bg_opa(cui_Card_Container, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_border_width(cui_Card_Container, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_left(cui_Card_Container, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_right(cui_Card_Container, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_top(cui_Card_Container, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_bottom(cui_Card_Container, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + + lv_obj_t * cui_Card_Content_Text; + cui_Card_Content_Text = lv_label_create(cui_Card_Container); + lv_obj_set_width(cui_Card_Content_Text, lv_pct(100)); + lv_obj_set_height(cui_Card_Content_Text, lv_pct(50)); + lv_obj_set_align(cui_Card_Content_Text, LV_ALIGN_LEFT_MID); + lv_label_set_long_mode(cui_Card_Content_Text, LV_LABEL_LONG_DOT); + lv_label_set_text(cui_Card_Content_Text, ""); + lv_obj_set_style_text_font(cui_Card_Content_Text, &lv_font_montserrat_18, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_left(cui_Card_Content_Text, 16, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_right(cui_Card_Content_Text, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_top(cui_Card_Content_Text, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_bottom(cui_Card_Content_Text, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_t * cui_Card_More_Text; + cui_Card_More_Text = lv_label_create(cui_Card_Container); + lv_obj_set_width(cui_Card_More_Text, lv_pct(100)); + lv_obj_set_height(cui_Card_More_Text, LV_SIZE_CONTENT); /// 1 + lv_obj_set_align(cui_Card_More_Text, LV_ALIGN_BOTTOM_RIGHT); + lv_label_set_text(cui_Card_More_Text, "Tap for more"); + lv_obj_set_style_text_align(cui_Card_More_Text, LV_TEXT_ALIGN_RIGHT, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_text_font(cui_Card_More_Text, &lv_font_montserrat_18, LV_PART_MAIN | LV_STATE_DEFAULT); + + lv_obj_t ** children = lv_mem_alloc(sizeof(lv_obj_t *) * _UI_COMP_CARD_BASE_NUM); + children[UI_COMP_CARD_BASE_CARD_BASE] = cui_Card_Base; + children[UI_COMP_CARD_BASE_CARD_HERO] = cui_Card_Hero; + children[UI_COMP_CARD_BASE_CARD_CONTAINER] = cui_Card_Container; + children[UI_COMP_CARD_BASE_CARD_CONTENT_TEXT] = cui_Card_Content_Text; + children[UI_COMP_CARD_BASE_CARD_MORE_TEXT] = cui_Card_More_Text; + lv_obj_add_event_cb(cui_Card_Base, get_component_child_event_cb, LV_EVENT_GET_COMP_CHILD, children); + lv_obj_add_event_cb(cui_Card_Base, del_component_child_event_cb, LV_EVENT_DELETE, children); + return cui_Card_Base; +} + + + +// COMPONENT Card Title With Icon + +lv_obj_t * ui_Card_Title_With_Icon_create(lv_obj_t * comp_parent) +{ + + lv_obj_t * cui_Card_Title_With_Icon; + cui_Card_Title_With_Icon = lv_obj_create(comp_parent); + lv_obj_set_width(cui_Card_Title_With_Icon, lv_pct(100)); + lv_obj_set_height(cui_Card_Title_With_Icon, LV_SIZE_CONTENT); /// 100 + lv_obj_set_align(cui_Card_Title_With_Icon, LV_ALIGN_TOP_MID); + lv_obj_clear_flag(cui_Card_Title_With_Icon, LV_OBJ_FLAG_SCROLLABLE); /// Flags + lv_obj_set_style_bg_color(cui_Card_Title_With_Icon, lv_color_hex(0xFFFFFF), LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_bg_opa(cui_Card_Title_With_Icon, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_border_width(cui_Card_Title_With_Icon, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_left(cui_Card_Title_With_Icon, 16, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_right(cui_Card_Title_With_Icon, 16, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_top(cui_Card_Title_With_Icon, 8, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_bottom(cui_Card_Title_With_Icon, 16, LV_PART_MAIN | LV_STATE_DEFAULT); + #if LV_FONT_MONTSERRAT_24 + lv_obj_set_style_text_font(cui_Card_Title_With_Icon, &lv_font_montserrat_24, LV_PART_MAIN | LV_STATE_DEFAULT); + #endif + + lv_obj_t * cui_Card_Title_Icon; + cui_Card_Title_Icon = lv_img_create(cui_Card_Title_With_Icon); + lv_obj_set_width(cui_Card_Title_Icon, 32); + lv_obj_set_height(cui_Card_Title_Icon, 32); + lv_obj_set_align(cui_Card_Title_Icon, LV_ALIGN_LEFT_MID); + lv_obj_add_flag(cui_Card_Title_Icon, LV_OBJ_FLAG_ADV_HITTEST); /// Flags + lv_obj_clear_flag(cui_Card_Title_Icon, LV_OBJ_FLAG_SCROLLABLE); /// Flags + + lv_obj_t * cui_Card_Title_Text; + cui_Card_Title_Text = lv_label_create(cui_Card_Title_With_Icon); + lv_obj_set_width(cui_Card_Title_Text, LV_SIZE_CONTENT); /// 1 + lv_obj_set_height(cui_Card_Title_Text, LV_SIZE_CONTENT); /// 1 + lv_obj_set_align(cui_Card_Title_Text, LV_ALIGN_LEFT_MID); + lv_label_set_long_mode(cui_Card_Title_Text, LV_LABEL_LONG_SCROLL_CIRCULAR); + lv_label_set_text(cui_Card_Title_Text, ""); + lv_obj_clear_flag(cui_Card_Title_Text, + LV_OBJ_FLAG_PRESS_LOCK | LV_OBJ_FLAG_CLICK_FOCUSABLE | LV_OBJ_FLAG_GESTURE_BUBBLE | LV_OBJ_FLAG_SNAPPABLE | + LV_OBJ_FLAG_SCROLLABLE | LV_OBJ_FLAG_SCROLL_ELASTIC | LV_OBJ_FLAG_SCROLL_MOMENTUM | + LV_OBJ_FLAG_SCROLL_CHAIN); /// Flags + lv_obj_set_style_pad_left(cui_Card_Title_Text, 42, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_right(cui_Card_Title_Text, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_top(cui_Card_Title_Text, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_bottom(cui_Card_Title_Text, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + + lv_obj_t ** children = lv_mem_alloc(sizeof(lv_obj_t *) * _UI_COMP_CARD_TITLE_WITH_ICON_NUM); + children[UI_COMP_CARD_TITLE_WITH_ICON_CARD_TITLE_WITH_ICON] = cui_Card_Title_With_Icon; + children[UI_COMP_CARD_TITLE_WITH_ICON_CARD_TITLE_ICON] = cui_Card_Title_Icon; + children[UI_COMP_CARD_TITLE_WITH_ICON_CARD_TITLE_TEXT] = cui_Card_Title_Text; + lv_obj_add_event_cb(cui_Card_Title_With_Icon, get_component_child_event_cb, LV_EVENT_GET_COMP_CHILD, children); + lv_obj_add_event_cb(cui_Card_Title_With_Icon, del_component_child_event_cb, LV_EVENT_DELETE, children); + return cui_Card_Title_With_Icon; +} + + + +// COMPONENT Card title no icon + +lv_obj_t * ui_Card_title_no_icon_create(lv_obj_t * comp_parent) +{ + + lv_obj_t * cui_Card_title_no_icon; + cui_Card_title_no_icon = lv_obj_create(comp_parent); + lv_obj_set_width(cui_Card_title_no_icon, lv_pct(100)); + lv_obj_set_height(cui_Card_title_no_icon, LV_SIZE_CONTENT); /// 100 + lv_obj_set_align(cui_Card_title_no_icon, LV_ALIGN_TOP_MID); + lv_obj_clear_flag(cui_Card_title_no_icon, LV_OBJ_FLAG_SCROLLABLE); /// Flags + lv_obj_set_style_bg_color(cui_Card_title_no_icon, lv_color_hex(0xFFFFFF), LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_bg_opa(cui_Card_title_no_icon, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_border_width(cui_Card_title_no_icon, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_left(cui_Card_title_no_icon, 16, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_right(cui_Card_title_no_icon, 16, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_top(cui_Card_title_no_icon, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_bottom(cui_Card_title_no_icon, 16, LV_PART_MAIN | LV_STATE_DEFAULT); + + #if LV_FONT_MONTSERRAT_24 + lv_obj_set_style_text_font(cui_Card_title_no_icon, &lv_font_montserrat_24, LV_PART_MAIN | LV_STATE_DEFAULT); + #endif + lv_obj_t * cui_Card_Title_Text; + cui_Card_Title_Text = lv_label_create(cui_Card_title_no_icon); + lv_obj_set_width(cui_Card_Title_Text, LV_SIZE_CONTENT); /// 1 + lv_obj_set_height(cui_Card_Title_Text, LV_SIZE_CONTENT); /// 1 + lv_obj_set_align(cui_Card_Title_Text, LV_ALIGN_LEFT_MID); + lv_label_set_long_mode(cui_Card_Title_Text, LV_LABEL_LONG_SCROLL_CIRCULAR); + lv_label_set_text(cui_Card_Title_Text, ""); + + lv_obj_t ** children = lv_mem_alloc(sizeof(lv_obj_t *) * _UI_COMP_CARD_TITLE_NO_ICON_NUM); + children[UI_COMP_CARD_TITLE_NO_ICON_CARD_TITLE_NO_ICON] = cui_Card_title_no_icon; + children[UI_COMP_CARD_TITLE_NO_ICON_CARD_TITLE_TEXT] = cui_Card_Title_Text; + lv_obj_add_event_cb(cui_Card_title_no_icon, get_component_child_event_cb, LV_EVENT_GET_COMP_CHILD, children); + lv_obj_add_event_cb(cui_Card_title_no_icon, del_component_child_event_cb, LV_EVENT_DELETE, children); + return cui_Card_title_no_icon; +} + + + +// COMPONENT ContainerBelowHeader + +lv_obj_t * ui_ContainerBelowHeader_create(lv_obj_t * comp_parent) +{ + + lv_obj_t * cui_ContainerBelowHeader; + cui_ContainerBelowHeader = lv_obj_create(comp_parent); + lv_obj_set_width(cui_ContainerBelowHeader, lv_pct(100)); + lv_obj_set_height(cui_ContainerBelowHeader, lv_pct(86)); + lv_obj_set_x(cui_ContainerBelowHeader, 0); + lv_obj_set_y(cui_ContainerBelowHeader, lv_pct(7)); + lv_obj_set_align(cui_ContainerBelowHeader, LV_ALIGN_CENTER); + lv_obj_clear_flag(cui_ContainerBelowHeader, LV_OBJ_FLAG_SCROLLABLE); /// Flags + lv_obj_set_style_bg_color(cui_ContainerBelowHeader, lv_color_hex(0xFFFFFF), LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_bg_opa(cui_ContainerBelowHeader, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_border_width(cui_ContainerBelowHeader, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_left(cui_ContainerBelowHeader, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_right(cui_ContainerBelowHeader, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_top(cui_ContainerBelowHeader, 8, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_bottom(cui_ContainerBelowHeader, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + + lv_obj_t ** children = lv_mem_alloc(sizeof(lv_obj_t *) * _UI_COMP_CONTAINERBELOWHEADER_NUM); + children[UI_COMP_CONTAINERBELOWHEADER_CONTAINERBELOWHEADER] = cui_ContainerBelowHeader; + lv_obj_add_event_cb(cui_ContainerBelowHeader, get_component_child_event_cb, LV_EVENT_GET_COMP_CHILD, children); + lv_obj_add_event_cb(cui_ContainerBelowHeader, del_component_child_event_cb, LV_EVENT_DELETE, children); + return cui_ContainerBelowHeader; +} + + + +// COMPONENT NotificationCard + +lv_obj_t * ui_NotificationCard_create(lv_obj_t * comp_parent) +{ + + lv_obj_t * cui_NotificationCard; + cui_NotificationCard = lv_obj_create(comp_parent); + lv_obj_set_width(cui_NotificationCard, lv_pct(100)); + lv_obj_set_height(cui_NotificationCard, lv_pct(100)); + lv_obj_set_align(cui_NotificationCard, LV_ALIGN_CENTER); + lv_obj_clear_flag(cui_NotificationCard, LV_OBJ_FLAG_SCROLLABLE); /// Flags + lv_obj_set_style_bg_color(cui_NotificationCard, lv_color_hex(0xFFFFFF), LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_bg_opa(cui_NotificationCard, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_border_width(cui_NotificationCard, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_left(cui_NotificationCard, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_right(cui_NotificationCard, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_top(cui_NotificationCard, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_bottom(cui_NotificationCard, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + + lv_obj_t * ui_Card_Base2; + ui_Card_Base2 = ui_Card_Base_create(cui_NotificationCard); + lv_obj_set_x(ui_Card_Base2, 0); + lv_obj_set_y(ui_Card_Base2, 0); + + lv_obj_t * ui_Card_Title_With_Icon1; + ui_Card_Title_With_Icon1 = ui_Card_Title_With_Icon_create(ui_Card_Base2); + lv_obj_set_x(ui_Card_Title_With_Icon1, 0); + lv_obj_set_y(ui_Card_Title_With_Icon1, 0); + + lv_obj_t ** children = lv_mem_alloc(sizeof(lv_obj_t *) * _UI_COMP_NOTIFICATIONCARD_NUM); + children[UI_COMP_NOTIFICATIONCARD_NOTIFICATIONCARD] = cui_NotificationCard; + children[UI_COMP_NOTIFICATIONCARD_CARD_BASE2] = ui_Card_Base2; + children[UI_COMP_NOTIFICATIONCARD_CARD_HERO] = ui_comp_get_child(ui_Card_Base2, UI_COMP_CARD_BASE_CARD_HERO); + children[UI_COMP_NOTIFICATIONCARD_CARD_TITLE_WITH_ICON1] = ui_Card_Title_With_Icon1; + children[UI_COMP_NOTIFICATIONCARD_CARD_TITLE_ICON] = ui_comp_get_child(ui_Card_Title_With_Icon1, + UI_COMP_CARD_TITLE_WITH_ICON_CARD_TITLE_ICON); + children[UI_COMP_NOTIFICATIONCARD_CARD_TITLE_TEXT] = ui_comp_get_child(ui_Card_Title_With_Icon1, + UI_COMP_CARD_TITLE_WITH_ICON_CARD_TITLE_TEXT); + children[UI_COMP_NOTIFICATIONCARD_CARD_CONTAINER] = ui_comp_get_child(ui_Card_Base2, UI_COMP_CARD_BASE_CARD_CONTAINER); + children[UI_COMP_NOTIFICATIONCARD_CARD_CONTENT_TEXT] = ui_comp_get_child(ui_Card_Base2, + UI_COMP_CARD_BASE_CARD_CONTENT_TEXT); + children[UI_COMP_NOTIFICATIONCARD_CARD_MORE_TEXT] = ui_comp_get_child(ui_Card_Base2, UI_COMP_CARD_BASE_CARD_MORE_TEXT); + lv_obj_add_event_cb(cui_NotificationCard, get_component_child_event_cb, LV_EVENT_GET_COMP_CHILD, children); + lv_obj_add_event_cb(cui_NotificationCard, del_component_child_event_cb, LV_EVENT_DELETE, children); + return cui_NotificationCard; +} + + + +// COMPONENT Telescope Header + +lv_obj_t * ui_Telescope_Header_create(lv_obj_t * comp_parent) +{ + + lv_obj_t * cui_Telescope_Header; + cui_Telescope_Header = lv_obj_create(comp_parent); + lv_obj_set_width(cui_Telescope_Header, lv_pct(100)); + lv_obj_set_height(cui_Telescope_Header, lv_pct(14)); + lv_obj_set_align(cui_Telescope_Header, LV_ALIGN_TOP_MID); + lv_obj_clear_flag(cui_Telescope_Header, LV_OBJ_FLAG_SCROLLABLE); /// Flags + lv_obj_set_style_bg_color(cui_Telescope_Header, lv_color_hex(0xFFFFFF), LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_bg_opa(cui_Telescope_Header, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_border_width(cui_Telescope_Header, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_left(cui_Telescope_Header, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_right(cui_Telescope_Header, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_top(cui_Telescope_Header, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_bottom(cui_Telescope_Header, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + + lv_obj_t * cui_Header_Text; + cui_Header_Text = lv_label_create(cui_Telescope_Header); + lv_obj_set_width(cui_Header_Text, LV_SIZE_CONTENT); /// 1 + lv_obj_set_height(cui_Header_Text, LV_SIZE_CONTENT); /// 1 + lv_label_set_text(cui_Header_Text, "02:52 pm"); + #if LV_FONT_MONTSERRAT_20 + lv_obj_set_style_text_font(cui_Header_Text, &lv_font_montserrat_20, LV_PART_MAIN | LV_STATE_DEFAULT); + #endif + lv_obj_t * cui_Indicators; + cui_Indicators = lv_obj_create(cui_Telescope_Header); + lv_obj_set_width(cui_Indicators, LV_SIZE_CONTENT); /// 14 + lv_obj_set_height(cui_Indicators, LV_SIZE_CONTENT); /// 50 + lv_obj_set_align(cui_Indicators, LV_ALIGN_TOP_RIGHT); + lv_obj_clear_flag(cui_Indicators, LV_OBJ_FLAG_CLICKABLE | LV_OBJ_FLAG_PRESS_LOCK | LV_OBJ_FLAG_CLICK_FOCUSABLE | + LV_OBJ_FLAG_GESTURE_BUBBLE | LV_OBJ_FLAG_SNAPPABLE | LV_OBJ_FLAG_SCROLLABLE | LV_OBJ_FLAG_SCROLL_ELASTIC | + LV_OBJ_FLAG_SCROLL_MOMENTUM | LV_OBJ_FLAG_SCROLL_CHAIN); /// Flags + lv_obj_set_style_bg_color(cui_Indicators, lv_color_hex(0xFFFFFF), LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_bg_opa(cui_Indicators, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_border_width(cui_Indicators, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_left(cui_Indicators, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_right(cui_Indicators, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_top(cui_Indicators, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_bottom(cui_Indicators, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + + lv_obj_t * cui_Battery_Indicator; + cui_Battery_Indicator = lv_label_create(cui_Indicators); + lv_obj_set_width(cui_Battery_Indicator, LV_SIZE_CONTENT); /// 1 + lv_obj_set_height(cui_Battery_Indicator, LV_SIZE_CONTENT); /// 1 + lv_obj_set_align(cui_Battery_Indicator, LV_ALIGN_LEFT_MID); + lv_label_set_text(cui_Battery_Indicator, ""); + lv_obj_clear_flag(cui_Battery_Indicator, + LV_OBJ_FLAG_PRESS_LOCK | LV_OBJ_FLAG_CLICK_FOCUSABLE | LV_OBJ_FLAG_GESTURE_BUBBLE | LV_OBJ_FLAG_SNAPPABLE | + LV_OBJ_FLAG_SCROLLABLE | LV_OBJ_FLAG_SCROLL_ELASTIC | LV_OBJ_FLAG_SCROLL_MOMENTUM | + LV_OBJ_FLAG_SCROLL_CHAIN); /// Flags + lv_obj_set_style_text_font(cui_Battery_Indicator, &lv_font_montserrat_20, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_left(cui_Battery_Indicator, 50, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_right(cui_Battery_Indicator, 50, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_top(cui_Battery_Indicator, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_bottom(cui_Battery_Indicator, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + + lv_obj_t * cui_WiFi_Indicator; + cui_WiFi_Indicator = lv_label_create(cui_Indicators); + lv_obj_set_width(cui_WiFi_Indicator, LV_SIZE_CONTENT); /// 1 + lv_obj_set_height(cui_WiFi_Indicator, LV_SIZE_CONTENT); /// 1 + lv_obj_set_align(cui_WiFi_Indicator, LV_ALIGN_RIGHT_MID); + lv_label_set_text(cui_WiFi_Indicator, ""); + lv_obj_clear_flag(cui_WiFi_Indicator, + LV_OBJ_FLAG_PRESS_LOCK | LV_OBJ_FLAG_CLICK_FOCUSABLE | LV_OBJ_FLAG_GESTURE_BUBBLE | LV_OBJ_FLAG_SNAPPABLE | + LV_OBJ_FLAG_SCROLLABLE | LV_OBJ_FLAG_SCROLL_ELASTIC | LV_OBJ_FLAG_SCROLL_MOMENTUM | + LV_OBJ_FLAG_SCROLL_CHAIN); /// Flags + lv_obj_set_style_text_font(cui_WiFi_Indicator, &lv_font_montserrat_20, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_left(cui_WiFi_Indicator, 50, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_right(cui_WiFi_Indicator, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_top(cui_WiFi_Indicator, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_bottom(cui_WiFi_Indicator, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + + lv_obj_t ** children = lv_mem_alloc(sizeof(lv_obj_t *) * _UI_COMP_TELESCOPE_HEADER_NUM); + children[UI_COMP_TELESCOPE_HEADER_TELESCOPE_HEADER] = cui_Telescope_Header; + children[UI_COMP_TELESCOPE_HEADER_HEADER_TEXT] = cui_Header_Text; + children[UI_COMP_TELESCOPE_HEADER_INDICATORS] = cui_Indicators; + children[UI_COMP_TELESCOPE_HEADER_BATTERY_INDICATOR] = cui_Battery_Indicator; + children[UI_COMP_TELESCOPE_HEADER_WIFI_INDICATOR] = cui_WiFi_Indicator; + lv_obj_add_event_cb(cui_Telescope_Header, get_component_child_event_cb, LV_EVENT_GET_COMP_CHILD, children); + lv_obj_add_event_cb(cui_Telescope_Header, del_component_child_event_cb, LV_EVENT_DELETE, children); + return cui_Telescope_Header; +} + + + +// COMPONENT card no icon + +lv_obj_t * ui_card_no_icon_create(lv_obj_t * comp_parent) +{ + + lv_obj_t * cui_card_no_icon; + cui_card_no_icon = lv_obj_create(comp_parent); + lv_obj_set_width(cui_card_no_icon, lv_pct(100)); + lv_obj_set_height(cui_card_no_icon, lv_pct(100)); + lv_obj_set_align(cui_card_no_icon, LV_ALIGN_CENTER); + lv_obj_clear_flag(cui_card_no_icon, LV_OBJ_FLAG_SCROLLABLE); /// Flags + lv_obj_set_style_bg_color(cui_card_no_icon, lv_color_hex(0xFFFFFF), LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_bg_opa(cui_card_no_icon, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_border_width(cui_card_no_icon, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + + lv_obj_t * ui_Card_Base2; + ui_Card_Base2 = ui_Card_Base_create(cui_card_no_icon); + lv_obj_set_x(ui_Card_Base2, 0); + lv_obj_set_y(ui_Card_Base2, 0); + + lv_obj_t * ui_Card_title_no_icon2; + ui_Card_title_no_icon2 = ui_Card_title_no_icon_create(ui_comp_get_child(ui_Card_Base2, + UI_COMP_CARD_BASE_CARD_CONTAINER)); + lv_obj_set_x(ui_Card_title_no_icon2, 0); + lv_obj_set_y(ui_Card_title_no_icon2, 0); + + lv_obj_t ** children = lv_mem_alloc(sizeof(lv_obj_t *) * _UI_COMP_CARD_NO_ICON_NUM); + children[UI_COMP_CARD_NO_ICON_CARD_NO_ICON] = cui_card_no_icon; + children[UI_COMP_CARD_NO_ICON_CARD_BASE2] = ui_Card_Base2; + children[UI_COMP_CARD_NO_ICON_CARD_HERO] = ui_comp_get_child(ui_Card_Base2, UI_COMP_CARD_BASE_CARD_HERO); + children[UI_COMP_CARD_NO_ICON_CARD_CONTAINER] = ui_comp_get_child(ui_Card_Base2, UI_COMP_CARD_BASE_CARD_CONTAINER); + children[UI_COMP_CARD_NO_ICON_CARD_TITLE_NO_ICON2] = ui_Card_title_no_icon2; + children[UI_COMP_CARD_NO_ICON_CARD_TITLE_TEXT] = ui_comp_get_child(ui_Card_title_no_icon2, + UI_COMP_CARD_TITLE_NO_ICON_CARD_TITLE_TEXT); + children[UI_COMP_CARD_NO_ICON_CARD_CONTENT_TEXT] = ui_comp_get_child(ui_Card_Base2, + UI_COMP_CARD_BASE_CARD_CONTENT_TEXT); + children[UI_COMP_CARD_NO_ICON_CARD_MORE_TEXT] = ui_comp_get_child(ui_Card_Base2, UI_COMP_CARD_BASE_CARD_MORE_TEXT); + lv_obj_add_event_cb(cui_card_no_icon, get_component_child_event_cb, LV_EVENT_GET_COMP_CHILD, children); + lv_obj_add_event_cb(cui_card_no_icon, del_component_child_event_cb, LV_EVENT_DELETE, children); + return cui_card_no_icon; +} + diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/gui/ui_comp.h b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/gui/ui_comp.h new file mode 100644 index 0000000..d11982a --- /dev/null +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/gui/ui_comp.h @@ -0,0 +1,75 @@ +// SquareLine LVGL GENERATED FILE +// EDITOR VERSION: SquareLine Studio 1.1.1 +// LVGL VERSION: 8.2.0 +// PROJECT: SquareLine_Project + +#ifndef _SQUARELINE_PROJECT_UI_COMP_H +#define _SQUARELINE_PROJECT_UI_COMP_H + +#include "ui.h" + +lv_obj_t * ui_comp_get_child(lv_obj_t * comp, uint32_t child_idx); +extern uint32_t LV_EVENT_GET_COMP_CHILD; + +// COMPONENT Card Base +#define UI_COMP_CARD_BASE_CARD_BASE 0 +#define UI_COMP_CARD_BASE_CARD_HERO 1 +#define UI_COMP_CARD_BASE_CARD_CONTAINER 2 +#define UI_COMP_CARD_BASE_CARD_CONTENT_TEXT 3 +#define UI_COMP_CARD_BASE_CARD_MORE_TEXT 4 +#define _UI_COMP_CARD_BASE_NUM 5 +lv_obj_t * ui_Card_Base_create(lv_obj_t * comp_parent); + +// COMPONENT Card Title With Icon +#define UI_COMP_CARD_TITLE_WITH_ICON_CARD_TITLE_WITH_ICON 0 +#define UI_COMP_CARD_TITLE_WITH_ICON_CARD_TITLE_ICON 1 +#define UI_COMP_CARD_TITLE_WITH_ICON_CARD_TITLE_TEXT 2 +#define _UI_COMP_CARD_TITLE_WITH_ICON_NUM 3 +lv_obj_t * ui_Card_Title_With_Icon_create(lv_obj_t * comp_parent); + +// COMPONENT Card title no icon +#define UI_COMP_CARD_TITLE_NO_ICON_CARD_TITLE_NO_ICON 0 +#define UI_COMP_CARD_TITLE_NO_ICON_CARD_TITLE_TEXT 1 +#define _UI_COMP_CARD_TITLE_NO_ICON_NUM 2 +lv_obj_t * ui_Card_title_no_icon_create(lv_obj_t * comp_parent); + +// COMPONENT ContainerBelowHeader +#define UI_COMP_CONTAINERBELOWHEADER_CONTAINERBELOWHEADER 0 +#define _UI_COMP_CONTAINERBELOWHEADER_NUM 1 +lv_obj_t * ui_ContainerBelowHeader_create(lv_obj_t * comp_parent); + +// COMPONENT NotificationCard +#define UI_COMP_NOTIFICATIONCARD_NOTIFICATIONCARD 0 +#define UI_COMP_NOTIFICATIONCARD_CARD_BASE2 1 +#define UI_COMP_NOTIFICATIONCARD_CARD_HERO 2 +#define UI_COMP_NOTIFICATIONCARD_CARD_TITLE_WITH_ICON1 3 +#define UI_COMP_NOTIFICATIONCARD_CARD_TITLE_ICON 4 +#define UI_COMP_NOTIFICATIONCARD_CARD_TITLE_TEXT 5 +#define UI_COMP_NOTIFICATIONCARD_CARD_CONTAINER 6 +#define UI_COMP_NOTIFICATIONCARD_CARD_CONTENT_TEXT 7 +#define UI_COMP_NOTIFICATIONCARD_CARD_MORE_TEXT 8 +#define _UI_COMP_NOTIFICATIONCARD_NUM 9 +lv_obj_t * ui_NotificationCard_create(lv_obj_t * comp_parent); + +// COMPONENT Telescope Header +#define UI_COMP_TELESCOPE_HEADER_TELESCOPE_HEADER 0 +#define UI_COMP_TELESCOPE_HEADER_HEADER_TEXT 1 +#define UI_COMP_TELESCOPE_HEADER_INDICATORS 2 +#define UI_COMP_TELESCOPE_HEADER_BATTERY_INDICATOR 3 +#define UI_COMP_TELESCOPE_HEADER_WIFI_INDICATOR 4 +#define _UI_COMP_TELESCOPE_HEADER_NUM 5 +lv_obj_t * ui_Telescope_Header_create(lv_obj_t * comp_parent); + +// COMPONENT card no icon +#define UI_COMP_CARD_NO_ICON_CARD_NO_ICON 0 +#define UI_COMP_CARD_NO_ICON_CARD_BASE2 1 +#define UI_COMP_CARD_NO_ICON_CARD_HERO 2 +#define UI_COMP_CARD_NO_ICON_CARD_CONTAINER 3 +#define UI_COMP_CARD_NO_ICON_CARD_TITLE_NO_ICON2 4 +#define UI_COMP_CARD_NO_ICON_CARD_TITLE_TEXT 5 +#define UI_COMP_CARD_NO_ICON_CARD_CONTENT_TEXT 6 +#define UI_COMP_CARD_NO_ICON_CARD_MORE_TEXT 7 +#define _UI_COMP_CARD_NO_ICON_NUM 8 +lv_obj_t * ui_card_no_icon_create(lv_obj_t * comp_parent); + +#endif diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/gui/ui_helpers.c b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/gui/ui_helpers.c new file mode 100644 index 0000000..1188aaf --- /dev/null +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/gui/ui_helpers.c @@ -0,0 +1,189 @@ +// SquareLine LVGL GENERATED FILE +// EDITOR VERSION: SquareLine Studio 1.1.1 +// LVGL VERSION: 8.2.0 +// PROJECT: SquareLine_Project + +#include "ui_helpers.h" + +void _ui_bar_set_property(lv_obj_t * target, int id, int val) +{ + if(id == _UI_BAR_PROPERTY_VALUE_WITH_ANIM) lv_bar_set_value(target, val, LV_ANIM_ON); + if(id == _UI_BAR_PROPERTY_VALUE) lv_bar_set_value(target, val, LV_ANIM_OFF); +} + +void _ui_basic_set_property(lv_obj_t * target, int id, int val) +{ + if(id == _UI_BASIC_PROPERTY_POSITION_X) lv_obj_set_x(target, val); + if(id == _UI_BASIC_PROPERTY_POSITION_Y) lv_obj_set_y(target, val); + if(id == _UI_BASIC_PROPERTY_WIDTH) lv_obj_set_width(target, val); + if(id == _UI_BASIC_PROPERTY_HEIGHT) lv_obj_set_height(target, val); +} + + +void _ui_dropdown_set_property(lv_obj_t * target, int id, int val) +{ + if(id == _UI_DROPDOWN_PROPERTY_SELECTED) lv_dropdown_set_selected(target, val); +} + +void _ui_image_set_property(lv_obj_t * target, int id, uint8_t * val) +{ + if(id == _UI_IMAGE_PROPERTY_IMAGE) lv_img_set_src(target, val); +} + +void _ui_label_set_property(lv_obj_t * target, int id, char * val) +{ + if(id == _UI_LABEL_PROPERTY_TEXT) lv_label_set_text(target, val); +} + + +void _ui_roller_set_property(lv_obj_t * target, int id, int val) +{ + if(id == _UI_ROLLER_PROPERTY_SELECTED_WITH_ANIM) lv_roller_set_selected(target, val, LV_ANIM_ON); + if(id == _UI_ROLLER_PROPERTY_SELECTED) lv_roller_set_selected(target, val, LV_ANIM_OFF); +} + +void _ui_slider_set_property(lv_obj_t * target, int id, int val) +{ + if(id == _UI_SLIDER_PROPERTY_VALUE_WITH_ANIM) lv_slider_set_value(target, val, LV_ANIM_ON); + if(id == _UI_SLIDER_PROPERTY_VALUE) lv_slider_set_value(target, val, LV_ANIM_OFF); +} + + +void _ui_screen_change(lv_obj_t * target, lv_scr_load_anim_t fademode, int spd, int delay) +{ + lv_scr_load_anim(target, fademode, spd, delay, false); +} + +void _ui_arc_increment(lv_obj_t * target, int val) +{ + int old = lv_arc_get_value(target); + lv_arc_set_value(target, old + val); +} + +void _ui_bar_increment(lv_obj_t * target, int val, int anm) +{ + int old = lv_bar_get_value(target); + lv_bar_set_value(target, old + val, anm); +} + +void _ui_slider_increment(lv_obj_t * target, int val, int anm) +{ + int old = lv_slider_get_value(target); + lv_slider_set_value(target, old + val, anm); +} + +void _ui_flag_modify(lv_obj_t * target, int32_t flag, int value) +{ + if(value == _UI_MODIFY_FLAG_TOGGLE) { + if(lv_obj_has_flag(target, flag)) lv_obj_clear_flag(target, flag); + else lv_obj_add_flag(target, flag); + } + else if(value == _UI_MODIFY_FLAG_ADD) lv_obj_add_flag(target, flag); + else lv_obj_clear_flag(target, flag); +} +void _ui_state_modify(lv_obj_t * target, int32_t state, int value) +{ + if(value == _UI_MODIFY_STATE_TOGGLE) { + if(lv_obj_has_state(target, state)) lv_obj_clear_state(target, state); + else lv_obj_add_state(target, state); + } + else if(value == _UI_MODIFY_STATE_ADD) lv_obj_add_state(target, state); + else lv_obj_clear_state(target, state); +} + +void _ui_opacity_set(lv_obj_t * target, int val) +{ + lv_obj_set_style_opa(target, val, 0); +} + +void _ui_anim_callback_set_x(lv_anim_t * a, int32_t v) +{ + lv_obj_set_x((lv_obj_t *)a->user_data, v); +} + +void _ui_anim_callback_set_y(lv_anim_t * a, int32_t v) +{ + lv_obj_set_y((lv_obj_t *)a->user_data, v); +} + +void _ui_anim_callback_set_width(lv_anim_t * a, int32_t v) +{ + lv_obj_set_width((lv_obj_t *)a->user_data, v); +} + +void _ui_anim_callback_set_height(lv_anim_t * a, int32_t v) +{ + lv_obj_set_height((lv_obj_t *)a->user_data, v); +} + +void _ui_anim_callback_set_opacity(lv_anim_t * a, int32_t v) +{ + lv_obj_set_style_opa((lv_obj_t *)a->user_data, v, 0); +} + +void _ui_anim_callback_set_image_zoom(lv_anim_t * a, int32_t v) +{ + lv_img_set_zoom((lv_obj_t *)a->user_data, v); +} + +void _ui_anim_callback_set_image_angle(lv_anim_t * a, int32_t v) +{ + lv_img_set_angle((lv_obj_t *)a->user_data, v); +} + + +int32_t _ui_anim_callback_get_x(lv_anim_t * a) +{ + return lv_obj_get_x_aligned((lv_obj_t *)a->user_data); +} + +int32_t _ui_anim_callback_get_y(lv_anim_t * a) +{ + return lv_obj_get_y_aligned((lv_obj_t *)a->user_data); +} + +int32_t _ui_anim_callback_get_width(lv_anim_t * a) +{ + return lv_obj_get_width((lv_obj_t *)a->user_data); +} + +int32_t _ui_anim_callback_get_height(lv_anim_t * a) +{ + return lv_obj_get_height((lv_obj_t *)a->user_data); +} + +int32_t _ui_anim_callback_get_opacity(lv_anim_t * a) +{ + return lv_obj_get_style_opa((lv_obj_t *)a->user_data, 0); +} + +int32_t _ui_anim_callback_get_image_zoom(lv_anim_t * a) +{ + return lv_img_get_zoom((lv_obj_t *)a->user_data); +} + +int32_t _ui_anim_callback_get_image_angle(lv_anim_t * a) +{ + return lv_img_get_angle((lv_obj_t *)a->user_data); +} + +void _ui_arc_set_text_value(lv_obj_t * trg, lv_obj_t * src, char * prefix, char * postfix) +{ + char buf[_UI_TEMPORARY_STRING_BUFFER_SIZE]; + lv_snprintf(buf, sizeof(buf), "%s%d%s", prefix, (int)lv_arc_get_value(src), postfix); + lv_label_set_text(trg, buf); +} + +void _ui_slider_set_text_value(lv_obj_t * trg, lv_obj_t * src, char * prefix, char * postfix) +{ + char buf[_UI_TEMPORARY_STRING_BUFFER_SIZE]; + lv_snprintf(buf, sizeof(buf), "%s%d%s", prefix, (int)lv_slider_get_value(src), postfix); + lv_label_set_text(trg, buf); +} +void _ui_checked_set_text_value(lv_obj_t * trg, lv_obj_t * src, char * txt_on, char * txt_off) +{ + if(lv_obj_has_state(src, LV_STATE_CHECKED)) lv_label_set_text(trg, txt_on); + else lv_label_set_text(trg, txt_off); +} + + diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/gui/ui_helpers.h b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/gui/ui_helpers.h new file mode 100644 index 0000000..0403176 --- /dev/null +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/gui/ui_helpers.h @@ -0,0 +1,94 @@ +// SquareLine LVGL GENERATED FILE +// EDITOR VERSION: SquareLine Studio 1.1.1 +// LVGL VERSION: 8.2.0 +// PROJECT: SquareLine_Project + +#ifndef _SQUARELINE_PROJECT_UI_HELPERS_H +#define _SQUARELINE_PROJECT_UI_HELPERS_H + +#include "ui.h" + +#define _UI_TEMPORARY_STRING_BUFFER_SIZE 32 +#define _UI_BAR_PROPERTY_VALUE 0 +#define _UI_BAR_PROPERTY_VALUE_WITH_ANIM 1 +void _ui_bar_set_property(lv_obj_t * target, int id, int val); + +#define _UI_BASIC_PROPERTY_POSITION_X 0 +#define _UI_BASIC_PROPERTY_POSITION_Y 1 +#define _UI_BASIC_PROPERTY_WIDTH 2 +#define _UI_BASIC_PROPERTY_HEIGHT 3 +void _ui_basic_set_property(lv_obj_t * target, int id, int val); + +#define _UI_DROPDOWN_PROPERTY_SELECTED 0 +void _ui_dropdown_set_property(lv_obj_t * target, int id, int val); + +#define _UI_IMAGE_PROPERTY_IMAGE 0 +void _ui_image_set_property(lv_obj_t * target, int id, uint8_t * val); + +#define _UI_LABEL_PROPERTY_TEXT 0 +void _ui_label_set_property(lv_obj_t * target, int id, char * val); + +#define _UI_ROLLER_PROPERTY_SELECTED 0 +#define _UI_ROLLER_PROPERTY_SELECTED_WITH_ANIM 1 +void _ui_roller_set_property(lv_obj_t * target, int id, int val); + +#define _UI_SLIDER_PROPERTY_VALUE 0 +#define _UI_SLIDER_PROPERTY_VALUE_WITH_ANIM 1 +void _ui_slider_set_property(lv_obj_t * target, int id, int val); + +void _ui_screen_change(lv_obj_t * target, lv_scr_load_anim_t fademode, int spd, int delay); + +void _ui_arc_increment(lv_obj_t * target, int val); + +void _ui_bar_increment(lv_obj_t * target, int val, int anm); + +void _ui_slider_increment(lv_obj_t * target, int val, int anm); + +#define _UI_MODIFY_FLAG_ADD 0 +#define _UI_MODIFY_FLAG_REMOVE 1 +#define _UI_MODIFY_FLAG_TOGGLE 2 +void _ui_flag_modify(lv_obj_t * target, int32_t flag, int value); + +#define _UI_MODIFY_STATE_ADD 0 +#define _UI_MODIFY_STATE_REMOVE 1 +#define _UI_MODIFY_STATE_TOGGLE 2 +void _ui_state_modify(lv_obj_t * target, int32_t state, int value); + +void _ui_opacity_set(lv_obj_t * target, int val); + +void _ui_anim_callback_set_x(lv_anim_t * a, int32_t v); + +void _ui_anim_callback_set_y(lv_anim_t * a, int32_t v); + +void _ui_anim_callback_set_width(lv_anim_t * a, int32_t v); + +void _ui_anim_callback_set_height(lv_anim_t * a, int32_t v); + +void _ui_anim_callback_set_opacity(lv_anim_t * a, int32_t v); + +void _ui_anim_callback_set_image_zoom(lv_anim_t * a, int32_t v); + +void _ui_anim_callback_set_image_angle(lv_anim_t * a, int32_t v); + +int32_t _ui_anim_callback_get_x(lv_anim_t * a); + +int32_t _ui_anim_callback_get_y(lv_anim_t * a); + +int32_t _ui_anim_callback_get_width(lv_anim_t * a); + +int32_t _ui_anim_callback_get_height(lv_anim_t * a); + +int32_t _ui_anim_callback_get_opacity(lv_anim_t * a); + +int32_t _ui_anim_callback_get_image_zoom(lv_anim_t * a); + +int32_t _ui_anim_callback_get_image_angle(lv_anim_t * a); + +void _ui_arc_set_text_value(lv_obj_t * trg, lv_obj_t * src, char * prefix, char * postfix); + +void _ui_slider_set_text_value(lv_obj_t * trg, lv_obj_t * src, char * prefix, char * postfix); + +void _ui_checked_set_text_value(lv_obj_t * trg, lv_obj_t * src, char * txt_on, char * txt_off); + + +#endif diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/helper_display.hpp b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/helper_display.hpp new file mode 100644 index 0000000..f77d550 --- /dev/null +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/helper_display.hpp @@ -0,0 +1,222 @@ + +#include "lv_conf.h" +#include +#include "global_settings.hpp" + + +//#include "user_setting.hpp" + +#define LV_TICK_PERIOD_MS 1 +#define LV_USE_DRAW_MASKS 1 +/*** Setup screen resolution for LVGL ***/ +static const uint16_t screenWidth = AV_WIDTH; +static const uint16_t screenHeight = AV_HEIGHT; + +static lv_disp_draw_buf_t draw_buf; +static lv_color_t buf[screenWidth * 10]; +static lv_color_t buf2[screenWidth * 10]; + +static lv_disp_t *disp; +static lv_theme_t *theme_current; +static lv_color_t bg_theme_color; + +static LGFX lcd; // declare display variable + +/* Creates a semaphore to handle concurrent call to lvgl stuff + * If you wish to call *any* lvgl function from other threads/tasks + * you should lock on the very same semaphore! */ +static SemaphoreHandle_t xGuiSemaphore = NULL; +static TaskHandle_t g_lvgl_task_handle; + +static void gui_task(void *args); + +/*** Function declaration ***/ +void display_flush(lv_disp_drv_t *disp, const lv_area_t *area, lv_color_t *color_p); + +#ifdef TOUCH_ENABLED +void touchpad_read(lv_indev_drv_t *indev_driver, lv_indev_data_t *data); +#endif + +static void lv_tick_task(void *arg); + +esp_err_t lv_display_init() +{ + esp_err_t ret; + // Setting display to landscape + // if (lcd.width() < lcd.height()) lcd.setRotation(lcd.getRotation() ^ 2); + + lcd.setBrightness(128); + lcd.setColorDepth(24); + +#ifdef RTOUCH + /* RESISTIVE TOUCH CALIBRATION */ + // Calibrates when touch is available. (Optional) + if (lcd.touch()) + { + if (lcd.width() < lcd.height()) + lcd.setRotation(lcd.getRotation() ^ 1); + + // Draw a guide sentence on the screen. + lcd.setTextDatum(textdatum_t::middle_center); + lcd.drawString("touch the arrow marker.", lcd.width() >> 1, lcd.height() >> 1); + lcd.setTextDatum(textdatum_t::top_left); + + // When using touch, calibrate it. Touch the tips of the arrows that appear in the four corners of the screen in order. + std::uint16_t fg = TFT_WHITE; + std::uint16_t bg = TFT_BLACK; + if (lcd.isEPD()) + std::swap(fg, bg); + lcd.calibrateTouch(nullptr, fg, bg, std::max(lcd.width(), lcd.height()) >> 3); + } + /* CALIBRATION */ +#endif + + lcd.fillScreen(TFT_BLACK); + + /* LVGL : Setting up buffer to use for display */ + lv_disp_draw_buf_init(&draw_buf, buf, buf2, screenWidth * 10); + + /*** LVGL : Setup & Initialize the display device driver ***/ + static lv_disp_drv_t disp_drv; + lv_disp_drv_init(&disp_drv); + disp_drv.hor_res = screenWidth; + disp_drv.ver_res = screenHeight; + disp_drv.flush_cb = display_flush; + disp_drv.draw_buf = &draw_buf; + disp_drv.sw_rotate = 1; + disp = lv_disp_drv_register(&disp_drv); + +#ifdef TOUCH_ENABLED + //*** LVGL : Setup & Initialize the input device driver *** + static lv_indev_drv_t indev_drv; + lv_indev_drv_init(&indev_drv); + indev_drv.type = LV_INDEV_TYPE_POINTER; + indev_drv.read_cb = touchpad_read; + lv_indev_drv_register(&indev_drv); +#endif + + /* Create and start a periodic timer interrupt to call lv_tick_inc */ + const esp_timer_create_args_t lv_periodic_timer_args = { + .callback = &lv_tick_task, + .name = "periodic_gui"}; + esp_timer_handle_t lv_periodic_timer; + ESP_ERROR_CHECK(esp_timer_create(&lv_periodic_timer_args, &lv_periodic_timer)); + ESP_ERROR_CHECK(esp_timer_start_periodic(lv_periodic_timer, LV_TICK_PERIOD_MS * 1000)); + + // Setup theme + //theme_current = lv_theme_default_init(disp, lv_palette_main(LV_PALETTE_BLUE), + // lv_palette_main(LV_PALETTE_RED), + // LV_USE_THEME_DEFAULT, /*Light or dark mode*/ + // &lv_font_montserrat_14); + + // lv_disp_set_theme(disp, th); /*Assign the theme to the display*/ + //bg_theme_color = theme_current->flags & LV_USE_THEME_DEFAULT ? lv_palette_darken(LV_PALETTE_GREY, 4) : lv_palette_lighten(LV_PALETTE_GREY, 1); + + xGuiSemaphore = xSemaphoreCreateMutex(); + if (!xGuiSemaphore) + { + cout << "Create mutex for LVGL failed" << endl; + if (lv_periodic_timer) + esp_timer_delete(lv_periodic_timer); + return ESP_FAIL; + } + +#if CONFIG_FREERTOS_UNICORE == 0 + int err = xTaskCreatePinnedToCore(gui_task, "lv gui", 1024 * 8, NULL, 5, &g_lvgl_task_handle, 1); +#else + int err = xTaskCreatePinnedToCore(gui_task, "lv gui", 1024 * 8, NULL, 5, &g_lvgl_task_handle, 0); +#endif + if (!err) + { + cout << "Create task for LVGL failed" << endl; + if (lv_periodic_timer) + esp_timer_delete(lv_periodic_timer); + return ESP_FAIL; + } + + esp_timer_start_periodic(lv_periodic_timer, LV_TICK_PERIOD_MS * 1000U); + return ESP_OK; +} + +// Display callback to flush the buffer to screen +void display_flush(lv_disp_drv_t *disp, const lv_area_t *area, lv_color_t *color_p) +{ + uint32_t w = (area->x2 - area->x1 + 1); + uint32_t h = (area->y2 - area->y1 + 1); + + lcd.startWrite(); + lcd.setAddrWindow(area->x1, area->y1, w, h); + lcd.pushPixels((uint16_t *)&color_p->full, w * h, true); + lcd.endWrite(); + + lv_disp_flush_ready(disp); +} + +/* Setting up tick task for lvgl */ +static void lv_tick_task(void *arg) +{ + (void)arg; + lv_tick_inc(LV_TICK_PERIOD_MS); +} + +static void gui_task(void *args) +{ + cout << "Start to run LVGL" << endl; + while (1) + { + vTaskDelay(pdMS_TO_TICKS(1000)); + cout << endl; + cout << endl; + cout << endl; + cout << endl; + cout << "heap_caps_get_free_size(MALLOC_CAP_8BIT): "; + cout << heap_caps_get_free_size(MALLOC_CAP_8BIT) << endl; + /* Try to take the semaphore, call lvgl related function on success */ + if (pdTRUE == xSemaphoreTake(xGuiSemaphore, portMAX_DELAY)) + { + lv_task_handler(); + // lv_timer_handler_run_in_period(5); /* run lv_timer_handler() every 5ms */ + xSemaphoreGive(xGuiSemaphore); + } + } +} + +void lvgl_acquire(void) +{ + TaskHandle_t task = xTaskGetCurrentTaskHandle(); + if (g_lvgl_task_handle != task) + { + xSemaphoreTake(xGuiSemaphore, portMAX_DELAY); + } +} + +void lvgl_release(void) +{ + TaskHandle_t task = xTaskGetCurrentTaskHandle(); + if (g_lvgl_task_handle != task) + { + xSemaphoreGive(xGuiSemaphore); + } +} + +#ifdef TOUCH_ENABLED +// Touchpad callback to read the touchpad +void touchpad_read(lv_indev_drv_t *indev_driver, lv_indev_data_t *data) +{ + uint16_t touchX, touchY; + bool touched = lcd.getTouch(&touchX, &touchY); + + if (!touched) + { + data->state = LV_INDEV_STATE_REL; + } + else + { + data->state = LV_INDEV_STATE_PR; + + // Set the coordinates + data->point.x = touchX; + data->point.y = touchY; + } +} +#endif \ No newline at end of file diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/helper_storage.hpp b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/helper_storage.hpp new file mode 100644 index 0000000..1748441 --- /dev/null +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/helper_storage.hpp @@ -0,0 +1,54 @@ +//static const char *TAG = "SDSPI"; + +#define MOUNT_POINT "/sdcard" + +// #define PIN_NUM_MISO GPIO_NUM_37 +// #define PIN_NUM_MOSI GPIO_NUM_35 +// #define PIN_NUM_CLK GPIO_NUM_36 +#define PIN_NUM_CS GPIO_NUM_33 +static sdmmc_card_t* sdcard; + +bool init_sdspi() +{ + sdspi_device_config_t device_config = SDSPI_DEVICE_CONFIG_DEFAULT(); + device_config.host_id = SPI2_HOST; + device_config.gpio_cs = PIN_NUM_CS; + + ESP_LOGI(TAG, "Initializing SD card"); + sdmmc_host_t host = SDSPI_HOST_DEFAULT(); + host.slot = device_config.host_id; + + esp_vfs_fat_mount_config_t mount_config = + { + #ifdef CONFIG_EXAMPLE_FORMAT_IF_MOUNT_FAILED + .format_if_mount_failed = true, + #else + .format_if_mount_failed = false, + #endif + .max_files = 5, + .allocation_unit_size = 16 * 1024 + }; + + //sdmmc_card_t* card; + ESP_LOGI(TAG, "Mounting filesystem"); + esp_err_t ret = esp_vfs_fat_sdspi_mount(MOUNT_POINT, &host, &device_config, &mount_config, &sdcard); + if (ret != ESP_OK) { + if (ret == ESP_FAIL) { + ESP_LOGE(TAG, "Failed to mount filesystem. " + "If you want the card to be formatted, set the CONFIG_EXAMPLE_FORMAT_IF_MOUNT_FAILED menuconfig option."); + return ESP_FAIL; + } else { + ESP_LOGE(TAG, "Failed to initialize the card (%s). " + "Make sure SD card lines have pull-up resistors in place.", esp_err_to_name(ret)); + return ESP_FAIL; + } + return ESP_FAIL; + } + ESP_LOGI(TAG, "Filesystem mounted"); + + // Card has been initialized, print its properties + sdmmc_card_print_info(stdout, sdcard); + + return ESP_OK; +} + diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/lv_conf.h b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/lv_conf.h new file mode 100644 index 0000000..603e5b0 --- /dev/null +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/lv_conf.h @@ -0,0 +1,761 @@ +/** + * @file lv_conf.h + * Configuration file for v8.3.0-dev + */ + +/* + * Copy this file as `lv_conf.h` + * 1. simply next to the `lvgl` folder + * 2. or any other places and + * - define `LV_CONF_INCLUDE_SIMPLE` + * - add the path as include path + */ + +/* clang-format off */ +#if 1 /*Set it to "1" to enable content*/ + +#ifndef LV_CONF_H +#define LV_CONF_H + +#include + +//Required for drawing the cool stuff +#define LV_USE_DRAW_MASKS 1 + +//This wasn't already defined for some reason +#define LV_DRAW_SW_CIRCLE_CACHE_SIZE 4 + +/*==================== + COLOR SETTINGS + *====================*/ + +/*Color depth: 1 (1 byte per pixel), 8 (RGB332), 16 (RGB565), 32 (ARGB8888)*/ +#define LV_COLOR_DEPTH 16 + +/*Swap the 2 bytes of RGB565 color. Useful if the display has an 8-bit interface (e.g. SPI)*/ +#define LV_COLOR_16_SWAP 0 + +/*Enable features to draw on transparent background. + *It's required if opa, and transform_* style properties are used. + *Can be also used if the UI is above another layer, e.g. an OSD menu or video player.*/ +#define LV_COLOR_SCREEN_TRANSP 0 + +/* Adjust color mix functions rounding. GPUs might calculate color mix (blending) differently. + * 0: round down, 64: round up from x.75, 128: round up from half, 192: round up from x.25, 254: round up */ +#define LV_COLOR_MIX_ROUND_OFS 0 + +/*Images pixels with this color will not be drawn if they are chroma keyed)*/ +#define LV_COLOR_CHROMA_KEY lv_color_hex(0x00ff00) /*pure green*/ +/*========================= + MEMORY SETTINGS + *=========================*/ + +/*1: use custom malloc/free, 0: use the built-in `lv_mem_alloc()` and `lv_mem_free()`*/ +#define LV_MEM_CUSTOM 1 +#if LV_MEM_CUSTOM == 0 //Min I've found to work: 38U + /*Size of the memory available for `lv_mem_alloc()` in bytes (>= 2kB)*/ + #define LV_MEM_SIZE (38U * 1024U) /*[bytes]*/ //OG: 48U * 1024U + + /*Set an address for the memory pool instead of allocating it as a normal array. Can be in external SRAM too.*/ + #define LV_MEM_ADR 0 /*0: unused*/ + /*Instead of an address give a memory allocator that will be called to get a memory pool for LVGL. E.g. my_malloc*/ + #if LV_MEM_ADR == 0 + #undef LV_MEM_POOL_INCLUDE + #undef LV_MEM_POOL_ALLOC + //#define LV_MEM_POOL_INCLUDE + //#define LV_MEM_POOL_ALLOC ps_malloc(128 * 1024) + #endif + +#else /*LV_MEM_CUSTOM*/ + #define LV_MEM_CUSTOM_INCLUDE /*Header for the dynamic memory function*/ + #define LV_MEM_CUSTOM_ALLOC malloc + #define LV_MEM_CUSTOM_FREE free + #define LV_MEM_CUSTOM_REALLOC realloc +#endif /*LV_MEM_CUSTOM*/ + +/*Number of the intermediate memory buffer used during rendering and other internal processing mechanisms. + *You will see an error log message if there wasn't enough buffers. */ +#define LV_MEM_BUF_MAX_NUM 8 + +/*Use the standard `memcpy` and `memset` instead of LVGL's own functions. (Might or might not be faster).*/ +#define LV_MEMCPY_MEMSET_STD 0 //default 0 + +/*==================== + HAL SETTINGS + *====================*/ + +/*Default display refresh period. LVG will redraw changed areas with this period time*/ +#define LV_DISP_DEF_REFR_PERIOD 90 /*[ms]*/ + +/*Input device read period in milliseconds*/ +#define LV_INDEV_DEF_READ_PERIOD 90 /*[ms]*/ + +/*Use a custom tick source that tells the elapsed time in milliseconds. + *It removes the need to manually update the tick with `lv_tick_inc()`)*/ +#define LV_TICK_CUSTOM 0 +#if LV_TICK_CUSTOM + #define LV_TICK_CUSTOM_INCLUDE "Arduino.h" /*Header for the system time function*/ + #define LV_TICK_CUSTOM_SYS_TIME_EXPR (millis()) /*Expression evaluating to current system time in ms*/ +#endif /*LV_TICK_CUSTOM*/ + +/*Default Dot Per Inch. Used to initialize default sizes such as widgets sized, style paddings. + *(Not so important, you can adjust it to modify default sizes and spaces)*/ +#define LV_DPI_DEF 130 /*[px/inch]*/ + +/*======================= + * FEATURE CONFIGURATION + *=======================*/ + +/*------------- + * Drawing + *-----------*/ + +/*Enable complex draw engine. + *Required to draw shadow, gradient, rounded corners, circles, arc, skew lines, image transformations or any masks*/ +#define LV_DRAW_COMPLEX 1 +#if LV_DRAW_COMPLEX != 0 + + /*Allow buffering some shadow calculation. + *LV_SHADOW_CACHE_SIZE is the max. shadow size to buffer, where shadow size is `shadow_width + radius` + *Caching has LV_SHADOW_CACHE_SIZE^2 RAM cost*/ + #define LV_SHADOW_CACHE_SIZE 0 + + /* Set number of maximally cached circle data. + * The circumference of 1/4 circle are saved for anti-aliasing + * radius * 4 bytes are used per circle (the most often used radiuses are saved) + * 0: to disable caching */ + #define LV_CIRCLE_CACHE_SIZE 4 +#endif /*LV_DRAW_COMPLEX*/ + +/** + * "Simple layers" are used when a widget has `style_opa < 255` to buffer the widget into a layer + * and blend it as an image with the given opacity. + * Note that `bg_opa`, `text_opa` etc don't require buffering into layer) + * The widget can be buffered in smaller chunks to avoid using large buffers. + * + * - LV_LAYER_SIMPLE_BUF_SIZE: [bytes] the optimal target buffer size. LVGL will try to allocate it + * - LV_LAYER_SIMPLE_FALLBACK_BUF_SIZE: [bytes] used if `LV_LAYER_SIMPLE_BUF_SIZE` couldn't be allocated. + * + * Both buffer sizes are in bytes. + * "Transformed layers" (where transform_angle/zoom properties are used) use larger buffers + * and can't be drawn in chunks. So these settings affects only widgets with opacity. + */ +#define LV_LAYER_SIMPLE_BUF_SIZE (24 * 1024) +#define LV_LAYER_SIMPLE_FALLBACK_BUF_SIZE (3 * 1024) + +/*Default image cache size. Image caching keeps the images opened. + *If only the built-in image formats are used there is no real advantage of caching. (I.e. if no new image decoder is added) + *With complex image decoders (e.g. PNG or JPG) caching can save the continuous open/decode of images. + *However the opened images might consume additional RAM. + *0: to disable caching*/ +#define LV_IMG_CACHE_DEF_SIZE 0 + +/*Number of stops allowed per gradient. Increase this to allow more stops. + *This adds (sizeof(lv_color_t) + 1) bytes per additional stop*/ +#define LV_GRADIENT_MAX_STOPS 2 + +/*Default gradient buffer size. + *When LVGL calculates the gradient "maps" it can save them into a cache to avoid calculating them again. + *LV_GRAD_CACHE_DEF_SIZE sets the size of this cache in bytes. + *If the cache is too small the map will be allocated only while it's required for the drawing. + *0 mean no caching.*/ +#define LV_GRAD_CACHE_DEF_SIZE 0 + +/*Allow dithering the gradients (to achieve visual smooth color gradients on limited color depth display) + *LV_DITHER_GRADIENT implies allocating one or two more lines of the object's rendering surface + *The increase in memory consumption is (32 bits * object width) plus 24 bits * object width if using error diffusion */ +#define LV_DITHER_GRADIENT 0 +#if LV_DITHER_GRADIENT + /*Add support for error diffusion dithering. + *Error diffusion dithering gets a much better visual result, but implies more CPU consumption and memory when drawing. + *The increase in memory consumption is (24 bits * object's width)*/ + #define LV_DITHER_ERROR_DIFFUSION 0 +#endif + +/*Maximum buffer size to allocate for rotation. + *Only used if software rotation is enabled in the display driver.*/ +#define LV_DISP_ROT_MAX_BUF (10*1024) + +/*------------- + * GPU + *-----------*/ + +/*Use Arm's 2D acceleration library Arm-2D */ +#define LV_USE_GPU_ARM2D 0 + +/*Use STM32's DMA2D (aka Chrom Art) GPU*/ +#define LV_USE_GPU_STM32_DMA2D 0 +#if LV_USE_GPU_STM32_DMA2D + /*Must be defined to include path of CMSIS header of target processor + e.g. "stm32f769xx.h" or "stm32f429xx.h"*/ + #define LV_GPU_DMA2D_CMSIS_INCLUDE +#endif + +/*Use SWM341's DMA2D GPU*/ +#define LV_USE_GPU_SWM341_DMA2D 0 +#if LV_USE_GPU_SWM341_DMA2D + #define LV_GPU_SWM341_DMA2D_INCLUDE "SWM341.h" +#endif + +/*Use NXP's PXP GPU iMX RTxxx platforms*/ +#define LV_USE_GPU_NXP_PXP 0 +#if LV_USE_GPU_NXP_PXP + /*1: Add default bare metal and FreeRTOS interrupt handling routines for PXP (lv_gpu_nxp_pxp_osa.c) + * and call lv_gpu_nxp_pxp_init() automatically during lv_init(). Note that symbol SDK_OS_FREE_RTOS + * has to be defined in order to use FreeRTOS OSA, otherwise bare-metal implementation is selected. + *0: lv_gpu_nxp_pxp_init() has to be called manually before lv_init() + */ + #define LV_USE_GPU_NXP_PXP_AUTO_INIT 0 +#endif + +/*Use NXP's VG-Lite GPU iMX RTxxx platforms*/ +#define LV_USE_GPU_NXP_VG_LITE 0 + +/*Use SDL renderer API*/ +#define LV_USE_GPU_SDL 0 +#if LV_USE_GPU_SDL + #define LV_GPU_SDL_INCLUDE_PATH + /*Texture cache size, 8MB by default*/ + #define LV_GPU_SDL_LRU_SIZE (1024 * 1024 * 8) + /*Custom blend mode for mask drawing, disable if you need to link with older SDL2 lib*/ + #define LV_GPU_SDL_CUSTOM_BLEND_MODE (SDL_VERSION_ATLEAST(2, 0, 6)) +#endif + +/*------------- + * Logging + *-----------*/ + +/*Enable the log module*/ +#define LV_USE_LOG 0 +#if LV_USE_LOG + + /*How important log should be added: + *LV_LOG_LEVEL_TRACE A lot of logs to give detailed information + *LV_LOG_LEVEL_INFO Log important events + *LV_LOG_LEVEL_WARN Log if something unwanted happened but didn't cause a problem + *LV_LOG_LEVEL_ERROR Only critical issue, when the system may fail + *LV_LOG_LEVEL_USER Only logs added by the user + *LV_LOG_LEVEL_NONE Do not log anything*/ + #define LV_LOG_LEVEL LV_LOG_LEVEL_WARN + + /*1: Print the log with 'printf'; + *0: User need to register a callback with `lv_log_register_print_cb()`*/ + #define LV_LOG_PRINTF 1 + + /*Enable/disable LV_LOG_TRACE in modules that produces a huge number of logs*/ + #define LV_LOG_TRACE_MEM 1 + #define LV_LOG_TRACE_TIMER 1 + #define LV_LOG_TRACE_INDEV 1 + #define LV_LOG_TRACE_DISP_REFR 1 + #define LV_LOG_TRACE_EVENT 1 + #define LV_LOG_TRACE_OBJ_CREATE 1 + #define LV_LOG_TRACE_LAYOUT 1 + #define LV_LOG_TRACE_ANIM 1 + +#endif /*LV_USE_LOG*/ + +/*------------- + * Asserts + *-----------*/ + +/*Enable asserts if an operation is failed or an invalid data is found. + *If LV_USE_LOG is enabled an error message will be printed on failure*/ +#define LV_USE_ASSERT_NULL 1 /*Check if the parameter is NULL. (Very fast, recommended)*/ +#define LV_USE_ASSERT_MALLOC 1 /*Checks is the memory is successfully allocated or no. (Very fast, recommended)*/ +#define LV_USE_ASSERT_STYLE 0 /*Check if the styles are properly initialized. (Very fast, recommended)*/ +#define LV_USE_ASSERT_MEM_INTEGRITY 0 /*Check the integrity of `lv_mem` after critical operations. (Slow)*/ +#define LV_USE_ASSERT_OBJ 0 /*Check the object's type and existence (e.g. not deleted). (Slow)*/ + +/*Add a custom handler when assert happens e.g. to restart the MCU*/ +#define LV_ASSERT_HANDLER_INCLUDE +#define LV_ASSERT_HANDLER while(1); /*Halt by default*/ + +/*------------- + * Others + *-----------*/ + +/*1: Show CPU usage and FPS count*/ +#define LV_USE_PERF_MONITOR 0 +#if LV_USE_PERF_MONITOR + #define LV_USE_PERF_MONITOR_POS LV_ALIGN_BOTTOM_RIGHT +#endif + +/*1: Show the used memory and the memory fragmentation + * Requires LV_MEM_CUSTOM = 0*/ +#define LV_USE_MEM_MONITOR 0 +#if LV_USE_MEM_MONITOR + #define LV_USE_MEM_MONITOR_POS LV_ALIGN_BOTTOM_LEFT +#endif + +/*1: Draw random colored rectangles over the redrawn areas*/ +#define LV_USE_REFR_DEBUG 0 + +/*Change the built in (v)snprintf functions*/ +#define LV_SPRINTF_CUSTOM 0 +#if LV_SPRINTF_CUSTOM + #define LV_SPRINTF_INCLUDE + #define lv_snprintf snprintf + #define lv_vsnprintf vsnprintf +#else /*LV_SPRINTF_CUSTOM*/ + #define LV_SPRINTF_USE_FLOAT 0 +#endif /*LV_SPRINTF_CUSTOM*/ + +#define LV_USE_USER_DATA 1 + +/*Garbage Collector settings + *Used if lvgl is bound to higher level language and the memory is managed by that language*/ +#define LV_ENABLE_GC 0 +#if LV_ENABLE_GC != 0 + #define LV_GC_INCLUDE "gc.h" /*Include Garbage Collector related things*/ +#endif /*LV_ENABLE_GC*/ + +/*===================== + * COMPILER SETTINGS + *====================*/ + +/*For big endian systems set to 1*/ +#define LV_BIG_ENDIAN_SYSTEM 0 + +/*Define a custom attribute to `lv_tick_inc` function*/ +#define LV_ATTRIBUTE_TICK_INC + +/*Define a custom attribute to `lv_timer_handler` function*/ +#define LV_ATTRIBUTE_TIMER_HANDLER + +/*Define a custom attribute to `lv_disp_flush_ready` function*/ +#define LV_ATTRIBUTE_FLUSH_READY + +/*Required alignment size for buffers*/ +#define LV_ATTRIBUTE_MEM_ALIGN_SIZE 1 + +/*Will be added where memories needs to be aligned (with -Os data might not be aligned to boundary by default). + * E.g. __attribute__((aligned(4)))*/ +#define LV_ATTRIBUTE_MEM_ALIGN + +/*Attribute to mark large constant arrays for example font's bitmaps*/ +#define LV_ATTRIBUTE_LARGE_CONST + +/*Compiler prefix for a big array declaration in RAM*/ +#define LV_ATTRIBUTE_LARGE_RAM_ARRAY + + + +//**TODO** CONSIDER THE FOLLWING TWO DEFINES + +/*Place performance critical functions into a faster memory (e.g RAM)*/ +#define LV_ATTRIBUTE_FAST_MEM + +/*Prefix variables that are used in GPU accelerated operations, often these need to be placed in RAM sections that are DMA accessible*/ +#define LV_ATTRIBUTE_DMA + +/*Export integer constant to binding. This macro is used with constants in the form of LV_ that + *should also appear on LVGL binding API such as Micropython.*/ +#define LV_EXPORT_CONST_INT(int_value) struct _silence_gcc_warning /*The default value just prevents GCC warning*/ + +/*Extend the default -32k..32k coordinate range to -4M..4M by using int32_t for coordinates instead of int16_t*/ +#define LV_USE_LARGE_COORD 0 + +/*================== + * FONT USAGE + *===================*/ + +/*Montserrat fonts with ASCII range and some symbols using bpp = 4 + *https://fonts.google.com/specimen/Montserrat*/ +#define LV_FONT_MONTSERRAT_8 0 +#define LV_FONT_MONTSERRAT_10 0 +#define LV_FONT_MONTSERRAT_12 0 +#define LV_FONT_MONTSERRAT_14 0 +#define LV_FONT_MONTSERRAT_16 0 +#define LV_FONT_MONTSERRAT_18 1 //YES 18 +#define LV_FONT_MONTSERRAT_20 1 //YES 20 +#define LV_FONT_MONTSERRAT_22 1 //YES 22 +#define LV_FONT_MONTSERRAT_24 1 //YES 24 +#define LV_FONT_MONTSERRAT_26 0 //(these comments were just made for visibility of which fonts are usable) +#define LV_FONT_MONTSERRAT_28 0 +#define LV_FONT_MONTSERRAT_30 0 +#define LV_FONT_MONTSERRAT_32 0 +#define LV_FONT_MONTSERRAT_34 0 +#define LV_FONT_MONTSERRAT_36 0 +#define LV_FONT_MONTSERRAT_38 0 +#define LV_FONT_MONTSERRAT_40 0 +#define LV_FONT_MONTSERRAT_42 0 +#define LV_FONT_MONTSERRAT_44 0 +#define LV_FONT_MONTSERRAT_46 0 +#define LV_FONT_MONTSERRAT_48 0 + +/*Demonstrate special features*/ +#define LV_FONT_MONTSERRAT_12_SUBPX 0 +#define LV_FONT_MONTSERRAT_28_COMPRESSED 0 /*bpp = 3*/ +#define LV_FONT_DEJAVU_16_PERSIAN_HEBREW 0 /*Hebrew, Arabic, Persian letters and all their forms*/ +#define LV_FONT_SIMSUN_16_CJK 0 /*1000 most common CJK radicals*/ + +/*Pixel perfect monospace fonts*/ +#define LV_FONT_UNSCII_8 0 +#define LV_FONT_UNSCII_16 0 + +/*Optionally declare custom fonts here. + *You can use these fonts as default font too and they will be available globally. + *E.g. #define LV_FONT_CUSTOM_DECLARE LV_FONT_DECLARE(my_font_1) LV_FONT_DECLARE(my_font_2)*/ +#define LV_FONT_CUSTOM_DECLARE + +/*Always set a default font*/ +#define LV_FONT_DEFAULT &lv_font_montserrat_18 + +/*Enable handling large font and/or fonts with a lot of characters. + *The limit depends on the font size, font face and bpp. + *Compiler error will be triggered if a font needs it.*/ +#define LV_FONT_FMT_TXT_LARGE 0 + +/*Enables/disables support for compressed fonts.*/ +#define LV_USE_FONT_COMPRESSED 0 + +/*Enable subpixel rendering*/ +#define LV_USE_FONT_SUBPX 0 +#if LV_USE_FONT_SUBPX + /*Set the pixel order of the display. Physical order of RGB channels. Doesn't matter with "normal" fonts.*/ + #define LV_FONT_SUBPX_BGR 0 /*0: RGB; 1:BGR order*/ +#endif + +/*================= + * TEXT SETTINGS + *=================*/ + +/** + * Select a character encoding for strings. + * Your IDE or editor should have the same character encoding + * - LV_TXT_ENC_UTF8 + * - LV_TXT_ENC_ASCII + */ +#define LV_TXT_ENC LV_TXT_ENC_UTF8 + +/*Can break (wrap) texts on these chars*/ +#define LV_TXT_BREAK_CHARS " ,.;:-_" + +/*If a word is at least this long, will break wherever "prettiest" + *To disable, set to a value <= 0*/ +#define LV_TXT_LINE_BREAK_LONG_LEN 0 + +/*Minimum number of characters in a long word to put on a line before a break. + *Depends on LV_TXT_LINE_BREAK_LONG_LEN.*/ +#define LV_TXT_LINE_BREAK_LONG_PRE_MIN_LEN 3 + +/*Minimum number of characters in a long word to put on a line after a break. + *Depends on LV_TXT_LINE_BREAK_LONG_LEN.*/ +#define LV_TXT_LINE_BREAK_LONG_POST_MIN_LEN 3 + +/*The control character to use for signalling text recoloring.*/ +#define LV_TXT_COLOR_CMD "#" + +/*Support bidirectional texts. Allows mixing Left-to-Right and Right-to-Left texts. + *The direction will be processed according to the Unicode Bidirectional Algorithm: + *https://www.w3.org/International/articles/inline-bidi-markup/uba-basics*/ +#define LV_USE_BIDI 0 +#if LV_USE_BIDI + /*Set the default direction. Supported values: + *`LV_BASE_DIR_LTR` Left-to-Right + *`LV_BASE_DIR_RTL` Right-to-Left + *`LV_BASE_DIR_AUTO` detect texts base direction*/ + #define LV_BIDI_BASE_DIR_DEF LV_BASE_DIR_AUTO +#endif + +/*Enable Arabic/Persian processing + *In these languages characters should be replaced with an other form based on their position in the text*/ +#define LV_USE_ARABIC_PERSIAN_CHARS 0 + +/*================== + * WIDGET USAGE + *================*/ + +/*Documentation of the widgets: https://docs.lvgl.io/latest/en/html/widgets/index.html*/ + +#define LV_USE_ARC 1 + +#define LV_USE_BAR 1 + +#define LV_USE_BTN 1 + +#define LV_USE_BTNMATRIX 1 + +#define LV_USE_CANVAS 1 + +#define LV_USE_CHECKBOX 1 + +#define LV_USE_DROPDOWN 1 /*Requires: lv_label*/ + +#define LV_USE_IMG 1 /*Requires: lv_label*/ + +#define LV_USE_LABEL 1 +#if LV_USE_LABEL + #define LV_LABEL_TEXT_SELECTION 1 /*Enable selecting text of the label*/ + #define LV_LABEL_LONG_TXT_HINT 1 /*Store some extra info in labels to speed up drawing of very long texts*/ +#endif + +#define LV_USE_LINE 1 + +#define LV_USE_ROLLER 1 /*Requires: lv_label*/ +#if LV_USE_ROLLER + #define LV_ROLLER_INF_PAGES 7 /*Number of extra "pages" when the roller is infinite*/ +#endif + +#define LV_USE_SLIDER 1 /*Requires: lv_bar*/ + +#define LV_USE_SWITCH 1 + +#define LV_USE_TEXTAREA 1 /*Requires: lv_label*/ +#if LV_USE_TEXTAREA != 0 + #define LV_TEXTAREA_DEF_PWD_SHOW_TIME 1500 /*ms*/ +#endif + +#define LV_USE_TABLE 1 + +/*================== + * EXTRA COMPONENTS + *==================*/ + +/*----------- + * Widgets + *----------*/ +#define LV_USE_ANIMIMG 1 + +#define LV_USE_CALENDAR 1 +#if LV_USE_CALENDAR + #define LV_CALENDAR_WEEK_STARTS_MONDAY 0 + #if LV_CALENDAR_WEEK_STARTS_MONDAY + #define LV_CALENDAR_DEFAULT_DAY_NAMES {"Mo", "Tu", "We", "Th", "Fr", "Sa", "Su"} + #else + #define LV_CALENDAR_DEFAULT_DAY_NAMES {"Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"} + #endif + + #define LV_CALENDAR_DEFAULT_MONTH_NAMES {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"} + #define LV_USE_CALENDAR_HEADER_ARROW 1 + #define LV_USE_CALENDAR_HEADER_DROPDOWN 1 +#endif /*LV_USE_CALENDAR*/ + +#define LV_USE_CHART 1 + +#define LV_USE_COLORWHEEL 1 + +#define LV_USE_IMGBTN 1 + +#define LV_USE_KEYBOARD 1 + +#define LV_USE_LED 1 + +#define LV_USE_LIST 1 + +#define LV_USE_MENU 1 + +#define LV_USE_METER 1 + +#define LV_USE_MSGBOX 1 + +#define LV_USE_SPAN 1 +#if LV_USE_SPAN + /*A line text can contain maximum num of span descriptor */ + #define LV_SPAN_SNIPPET_STACK_SIZE 64 +#endif + +#define LV_USE_SPINBOX 1 + +#define LV_USE_SPINNER 1 + +#define LV_USE_TABVIEW 1 + +#define LV_USE_TILEVIEW 1 + +#define LV_USE_WIN 1 + +/*----------- + * Themes + *----------*/ + +/*A simple, impressive and very complete theme*/ +#define LV_USE_THEME_DEFAULT 1 +#if LV_USE_THEME_DEFAULT + + /*0: Light mode; 1: Dark mode*/ + #define LV_THEME_DEFAULT_DARK 0 + + /*1: Enable grow on press*/ + #define LV_THEME_DEFAULT_GROW 1 + + /*Default transition time in [ms]*/ + #define LV_THEME_DEFAULT_TRANSITION_TIME 80 +#endif /*LV_USE_THEME_DEFAULT*/ + +/*A very simple theme that is a good starting point for a custom theme*/ +#define LV_USE_THEME_BASIC 1 + +/*A theme designed for monochrome displays*/ +#define LV_USE_THEME_MONO 1 + +/*----------- + * Layouts + *----------*/ + +/*A layout similar to Flexbox in CSS.*/ +#define LV_USE_FLEX 1 + +/*A layout similar to Grid in CSS.*/ +#define LV_USE_GRID 1 + +/*--------------------- + * 3rd party libraries + *--------------------*/ + +/*File system interfaces for common APIs */ + +/*API for fopen, fread, etc*/ +#define LV_USE_FS_STDIO 0 +#if LV_USE_FS_STDIO + #define LV_FS_STDIO_LETTER '\0' /*Set an upper cased letter on which the drive will accessible (e.g. 'A')*/ + #define LV_FS_STDIO_PATH "" /*Set the working directory. File/directory paths will be appended to it.*/ + #define LV_FS_STDIO_CACHE_SIZE 0 /*>0 to cache this number of bytes in lv_fs_read()*/ +#endif + +/*API for open, read, etc*/ +#define LV_USE_FS_POSIX 0 +#if LV_USE_FS_POSIX + #define LV_FS_POSIX_LETTER '\0' /*Set an upper cased letter on which the drive will accessible (e.g. 'A')*/ + #define LV_FS_POSIX_PATH "" /*Set the working directory. File/directory paths will be appended to it.*/ + #define LV_FS_POSIX_CACHE_SIZE 0 /*>0 to cache this number of bytes in lv_fs_read()*/ +#endif + +/*API for CreateFile, ReadFile, etc*/ +#define LV_USE_FS_WIN32 0 +#if LV_USE_FS_WIN32 + #define LV_FS_WIN32_LETTER '\0' /*Set an upper cased letter on which the drive will accessible (e.g. 'A')*/ + #define LV_FS_WIN32_PATH "" /*Set the working directory. File/directory paths will be appended to it.*/ + #define LV_FS_WIN32_CACHE_SIZE 0 /*>0 to cache this number of bytes in lv_fs_read()*/ +#endif + +/*API for FATFS (needs to be added separately). Uses f_open, f_read, etc*/ +#define LV_USE_FS_FATFS 0 +#if LV_USE_FS_FATFS + #define LV_FS_FATFS_LETTER '\0' /*Set an upper cased letter on which the drive will accessible (e.g. 'A')*/ + #define LV_FS_FATFS_CACHE_SIZE 0 /*>0 to cache this number of bytes in lv_fs_read()*/ +#endif + +/*PNG decoder library*/ +#define LV_USE_PNG 0 + +/*BMP decoder library*/ +#define LV_USE_BMP 0 + +/* JPG + split JPG decoder library. + * Split JPG is a custom format optimized for embedded systems. */ +#define LV_USE_SJPG 0 + +/*GIF decoder library*/ +#define LV_USE_GIF 0 + +/*QR code library*/ +#define LV_USE_QRCODE 0 + +/*FreeType library*/ +#define LV_USE_FREETYPE 0 +#if LV_USE_FREETYPE + /*Memory used by FreeType to cache characters [bytes] (-1: no caching)*/ + #define LV_FREETYPE_CACHE_SIZE (16 * 1024) + #if LV_FREETYPE_CACHE_SIZE >= 0 + /* 1: bitmap cache use the sbit cache, 0:bitmap cache use the image cache. */ + /* sbit cache:it is much more memory efficient for small bitmaps(font size < 256) */ + /* if font size >= 256, must be configured as image cache */ + #define LV_FREETYPE_SBIT_CACHE 0 + /* Maximum number of opened FT_Face/FT_Size objects managed by this cache instance. */ + /* (0:use system defaults) */ + #define LV_FREETYPE_CACHE_FT_FACES 0 + #define LV_FREETYPE_CACHE_FT_SIZES 0 + #endif +#endif + +/*Rlottie library*/ +#define LV_USE_RLOTTIE 0 + +/*FFmpeg library for image decoding and playing videos + *Supports all major image formats so do not enable other image decoder with it*/ +#define LV_USE_FFMPEG 0 +#if LV_USE_FFMPEG + /*Dump input information to stderr*/ + #define LV_FFMPEG_DUMP_FORMAT 0 +#endif + +/*----------- + * Others + *----------*/ + +/*1: Enable API to take snapshot for object*/ +#define LV_USE_SNAPSHOT 0 + +/*1: Enable Monkey test*/ +#define LV_USE_MONKEY 0 + +/*1: Enable grid navigation*/ +#define LV_USE_GRIDNAV 0 + +/*1: Enable lv_obj fragment*/ +#define LV_USE_FRAGMENT 0 + +/*1: Support using images as font in label or span widgets */ +#define LV_USE_IMGFONT 0 + +/*1: Enable a published subscriber based messaging system */ +#define LV_USE_MSG 0 + +/*1: Enable Pinyin input method*/ +/*Requires: lv_keyboard*/ +#define LV_USE_IME_PINYIN 0 +#if LV_USE_IME_PINYIN + /*1: Use default thesaurus*/ + /*If you do not use the default thesaurus, be sure to use `lv_ime_pinyin` after setting the thesauruss*/ + #define LV_IME_PINYIN_USE_DEFAULT_DICT 1 + /*Set the maximum number of candidate panels that can be displayed*/ + /*This needs to be adjusted according to the size of the screen*/ + #define LV_IME_PINYIN_CAND_TEXT_NUM 6 +#endif + +/*================== +* EXAMPLES +*==================*/ + +/*Enable the examples to be built with the library*/ +#define LV_BUILD_EXAMPLES 1 + +/*=================== + * DEMO USAGE + ====================*/ + +/*Show some widget. It might be required to increase `LV_MEM_SIZE` */ +#define LV_USE_DEMO_WIDGETS 0 +#if LV_USE_DEMO_WIDGETS +#define LV_DEMO_WIDGETS_SLIDESHOW 0 +#endif + +/*Demonstrate the usage of encoder and keyboard*/ +#define LV_USE_DEMO_KEYPAD_AND_ENCODER 0 + +/*Benchmark your system*/ +#define LV_USE_DEMO_BENCHMARK 0 +#if LV_USE_DEMO_BENCHMARK +/*Use RGB565A8 images with 16 bit color depth instead of ARGB8565*/ +#define LV_DEMO_BENCHMARK_RGB565A8 0 +#endif + +/*Stress test for LVGL*/ +#define LV_USE_DEMO_STRESS 0 + +/*Music player demo*/ +#define LV_USE_DEMO_MUSIC 0 +#if LV_USE_DEMO_MUSIC + #define LV_DEMO_MUSIC_SQUARE 0 + #define LV_DEMO_MUSIC_LANDSCAPE 0 + #define LV_DEMO_MUSIC_ROUND 0 + #define LV_DEMO_MUSIC_LARGE 0 + #define LV_DEMO_MUSIC_AUTO_PLAY 0 +#endif + +/*--END OF LV_CONF_H--*/ + +#endif /*LV_CONF_H*/ + +#endif /*End of "Content enable"*/ \ No newline at end of file diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/user_setting.hpp b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/user_setting.hpp new file mode 100644 index 0000000..fe80a20 --- /dev/null +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/user_setting.hpp @@ -0,0 +1,89 @@ +//#include +//#include +//#include +//#include "sdkconfig.h" + + +//#include "../lib/LovyanGFX/src/lgfx/v1/platforms/esp32/Panel_CVBS.hpp" +//#include "../lib/LovyanGFX/src/lgfx/v1/platforms/esp32s2/Bus_Parallel16.hpp" + + +#define LGFX_USE_V1 +#define LGFX_CVBS +#define LGFX_ESP_WROVER_KIT + +#include +#include +#include +#include "global_settings.hpp" +#include "sdkconfig.h" + +class LGFX : public lgfx::LGFX_Device +{ +public: + lgfx::Panel_CVBS _panel_instance; + + LGFX(void) + { + { + // Configure display panel control settings + auto cfg = _panel_instance.config(); // Gets the structure for display panel settings. + + // SONY ECX336C res: 640x400 + // https://github.com/lovyan03/LovyanGFX/blob/develop/doc/Panel_CVBS.md + + // Set output resolution; + cfg.memory_width = AV_WIDTH_OG;//600; // Output resolution width, OG 240 + cfg.memory_height = AV_HEIGHT_OG;//400; // Output resolution height, OG 160 + + // Set the actual resolution to use; OG 208x128 + cfg.panel_width = AV_WIDTH; // The actual width to be used (set a value equal to or smaller than memory_width) + cfg.panel_height = AV_HEIGHT; // Height actually used (Set the same value as memory_height or a smaller value) + + // Set display position offset amount; + cfg.offset_x = AV_SAFEZONE/2; // Amount to shift the display position to the right (initial value 0) + cfg.offset_y = AV_SAFEZONE/2; // Amount to shift the display position downward (initial value 0) + + _panel_instance.config(cfg); + + /* + Usually you specify the same value for memory_width and panel_width and use offset_x = 0 . ; + If you want to prevent the display at the edge of the screen from being hidden outside the screen, set the value of panel_width smaller than memory_width and adjust the left/right position with offset_x. ; + For example, if panel_width is set to 32 less than memory_width, setting offset_x to 16 will center the left and right positions. ; + Adjust the vertical direction (memory_height, panel_height, offset_y) as needed. ; + */ + + } + + { + auto cfg = _panel_instance.config_detail(); + + // Set output signal type; + // cfg.signal_type = cfg.signal_type_t::NTSC; + cfg.signal_type = cfg.signal_type_t::NTSC_J; + // cfg.signal_type = cfg.signal_type_t::PAL; + // cfg.signal_type = cfg.signal_type_t::PAL_M; + // cfg.signal_type = cfg.signal_type_t::PAL_N; + + // Set output destination GPIO number; + cfg.pin_dac = 25; // DACを使用するため、 25 または 26 のみが選択できます; + + // Setting PSRAM Memory Allocation; + cfg.use_psram = 0; // 0=no PSRAM used / 1=half PSRAM and half SRAM / 2=full PSRAM; + + // Sets the amplitude strength of the output signal; + cfg.output_level = 128; // Initial value 128 + // Increase the value if the signal is attenuated due to reasons such as the GPIO has a protection resistor. ; + // * M5StackCore2 recommends 200 because GPIO has protection resistance. ; + + // Sets the amplitude strength of the chroma signal; + cfg.chroma_level = 128; // Initial value 128 + // Lowering the number will reduce saturation, and 0 will be black and white. + // Increasing the value increases the saturation; + + _panel_instance.config_detail(cfg); + } + + setPanel(&_panel_instance); + } +}; \ No newline at end of file diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.c b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp similarity index 62% rename from electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.c rename to electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp index 1121f4f..d81e7ec 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.c +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp @@ -1,15 +1,13 @@ /**************************************************************************** -* -* This demo showcases BLE GATT server. It can send adv data, be connected by client. -* Run the gatt_client demo, the client demo will automatically connect to the gatt_server demo. -* Client demo will enable gatt_server's notify after connection. The two devices will then exchange -* data. -* -****************************************************************************/ - - -#include "../lib/strings.h" - + * + * This demo showcases BLE GATT server. It can send adv data, be connected by client. + * Run the gatt_client demo, the client demo will automatically connect to the gatt_server demo. + * Client demo will enable gatt_server's notify after connection. The two devices will then exchange + * data. + * + ****************************************************************************/ + +#include "../include/ossg_constants.hpp" #include #include #include @@ -22,15 +20,25 @@ #include "esp_log.h" #include "nvs_flash.h" #include - #include "mbedtls/base64.h" //for encoding audio data to string -//web socket libs +// web socket libs #include "freertos/semphr.h" #include "freertos/event_groups.h" #include "esp_websocket_client.h" #include "esp_event.h" +#define MEM_MSG 1 + +#define ENABLEDISPLAY 1 +#if ENABLEDISPLAY +#include "displaymanager.hpp" +#endif + +#include +using std::cout; +using std::endl; + TickType_t lastTickTimeSend; TickType_t lastTickTimeProc; @@ -38,7 +46,7 @@ esp_websocket_client_handle_t webSocketClient; static const char *audioJsonTemplate = "{\"MESSAGE_TYPE_LOCAL\" : \"AUDIO_CHUNK_DECRYPTED\", \"AUDIO_DATA\" : \"%s\"}"; // static const char *audioJsonTemplate = "%s"; -//AUDIO********************************************************************************************************************** +// AUDIO********************************************************************************************************************** // Save audio from PDM microphone to SD Card in wav format @@ -52,13 +60,13 @@ static const char *audioJsonTemplate = "{\"MESSAGE_TYPE_LOCAL\" : \"AUDIO_CHUNK_ #include // I2S perhiperhal number -#define I2S_CHANNEL I2S_NUM_0 // I2S_NUM_1 doesn't support PDM +#define I2S_CHANNEL I2S_NUM_0 // I2S_NUM_1 doesn't support PDM // I2S pins -#define I2S_PIN_BIT_CLOCK I2S_PIN_NO_CHANGE // not used -#define I2S_PIN_WORD_SELECT 33 //OSSG_v0.3 built-in mic CLK -#define I2S_PIN_DATA_OUT I2S_PIN_NO_CHANGE // not used -#define I2S_PIN_DATA_IN 32 //OSSG_v0.3 built-in mic DATA_OUT +#define I2S_PIN_BIT_CLOCK I2S_PIN_NO_CHANGE // not used +#define I2S_PIN_WORD_SELECT 33 // OSSG_v0.3 built-in mic CLK +#define I2S_PIN_DATA_OUT I2S_PIN_NO_CHANGE // not used +#define I2S_PIN_DATA_IN 32 // OSSG_v0.3 built-in mic DATA_OUT // I2S CONFIG PARAMS #define SAMPLE_RATE 16000 @@ -71,7 +79,7 @@ volatile bool audioSubscribed = false; char WIS_IP[16]; char WIS_WEBSOCKET_IP[16]; const size_t AUDIO_BUFFER_SIZE = 1024; -const size_t DMA_BUF_SIZE = 256; //number of samples, not number of bytes +const size_t DMA_BUF_SIZE = 256; // number of samples, not number of bytes const size_t DMA_BUF_CNT = 2; xQueueHandle audioQueue; @@ -81,9 +89,9 @@ const size_t audioMessageBufferLen = (AUDIO_BUFFER_SIZE * sizeof(uint16_t)) + si int packet_count = 0; static const char *payload = "{\"MESSAGE_TYPE_LOCAL\" : \"AUDIO_CHUNK_DECRYPTED\", \"AUDIO_DATA\" : \"/+MYxAAEaAIEeUAQAgBgNgP/////KQQ/////Lvrg+lcWYHgtjadzsbTq+yREu495tq9c6v/7vt/of7mna9v6/btUnU17Jun9/+MYxCkT26KW+YGBAj9v6vUh+zab//v/96C3/pu6H+pv//r/ycIIP4pcWWTRBBBAMXgNdbRaABQAAABRWKwgjQVX0ECmrb///+MYxBQSM0sWWYI4A++Z/////////////0rOZ3MP//7H44QEgxgdvRVMXHZseL//540B4JAvMPEgaA4/0nHjxLhRgAoAYAgA/+MYxAYIAAJfGYEQAMAJAIAQMAwX936/q/tWtv/2f/+v//6v/+7qTEFNRTMuOTkuNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV\"}"; -//static const char *payload = "/+MYxAAEaAIEeUAQAgBgNgP/////KQQ/////Lvrg+lcWYHgtjadzsbTq+yREu495tq9c6v/7vt/of7mna9v6/btUnU17Jun9/+MYxCkT26KW+YGBAj9v6vUh+zab//v/96C3/pu6H+pv//r/ycIIP4pcWWTRBBBAMXgNdbRaABQAAABRWKwgjQVX0ECmrb///+MYxBQSM0sWWYI4A++Z/////////////0rOZ3MP//7H44QEgxgdvRVMXHZseL//540B4JAvMPEgaA4/0nHjxLhRgAoAYAgA/+MYxAYIAAJfGYEQAMAJAIAQMAwX936/q/tWtv/2f/+v//6v/+7qTEFNRTMuOTkuNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV"; +// static const char *payload = "/+MYxAAEaAIEeUAQAgBgNgP/////KQQ/////Lvrg+lcWYHgtjadzsbTq+yREu495tq9c6v/7vt/of7mna9v6/btUnU17Jun9/+MYxCkT26KW+YGBAj9v6vUh+zab//v/96C3/pu6H+pv//r/ycIIP4pcWWTRBBBAMXgNdbRaABQAAABRWKwgjQVX0ECmrb///+MYxBQSM0sWWYI4A++Z/////////////0rOZ3MP//7H44QEgxgdvRVMXHZseL//540B4JAvMPEgaA4/0nHjxLhRgAoAYAgA/+MYxAYIAAJfGYEQAMAJAIAQMAwX936/q/tWtv/2f/+v//6v/+7qTEFNRTMuOTkuNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV"; -void addAudioChunkToQueue(uint8_t* buf) +void addAudioChunkToQueue(uint8_t *buf) { if (xQueueSend(audioQueue, buf, portMAX_DELAY) != pdPASS) { @@ -110,29 +118,29 @@ void addAudioChunkToQueue(uint8_t* buf) // const int DMA_BUFF_CT = 2; //number of DMA buffer (minimum 2) // const int DMA_BUFF_LEN = 32; //samples per DMA buffer (minimum 8) -bool I2S_Init() { -// i2s_config_t i2s_config; -// memset(&i2s_config, 0, sizeof(i2s_config)); - -// i2s_config.mode = (i2s_mode_t)I2S_MODE; -// i2s_config.sample_rate = I2S_SAMPLE_RATE; -// i2s_config.bits_per_sample = I2S_BITS_PER_SAMPLE; -// i2s_config.channel_format = I2S_CHANNEL_FMT; -// i2s_config.communication_format = (i2s_comm_format_t)I2S_COMM_FMT; -// i2s_config.intr_alloc_flags = I2S_INTERRUPT_PRIO; -// i2s_config.dma_buf_count = I2S_DMA_BUF_COUNT; -// i2s_config.dma_buf_len = I2S_DMA_BUF_SIZE; -// i2s_config.use_apll = I2S_ENABLE_ACCURATE_CLK; +bool I2S_Init() +{ + // i2s_config_t i2s_config; + // memset(&i2s_config, 0, sizeof(i2s_config)); + + // i2s_config.mode = (i2s_mode_t)I2S_MODE; + // i2s_config.sample_rate = I2S_SAMPLE_RATE; + // i2s_config.bits_per_sample = I2S_BITS_PER_SAMPLE; + // i2s_config.channel_format = I2S_CHANNEL_FMT; + // i2s_config.communication_format = (i2s_comm_format_t)I2S_COMM_FMT; + // i2s_config.intr_alloc_flags = I2S_INTERRUPT_PRIO; + // i2s_config.dma_buf_count = I2S_DMA_BUF_COUNT; + // i2s_config.dma_buf_len = I2S_DMA_BUF_SIZE; + // i2s_config.use_apll = I2S_ENABLE_ACCURATE_CLK; // i2s_config.mode = (i2s_mode_t)(I2S_MODE_MASTER | I2S_MODE_RX | I2S_MODE_PDM); // Receive, not transfer - // i2s_config.sample_rate = 16000; + // i2s_config.sample_rate = 16000; // i2s_config.bits_per_sample = I2S_BITS_PER_SAMPLE_16BIT; //Number of bits per sample // i2s_config.channel_format = I2S_CHANNEL_FMT_RIGHT_LEFT; //Do not connect SEL pin. // i2s_config.communication_format = (i2s_comm_format_t)(I2S_COMM_FORMAT_I2S | I2S_COMM_FORMAT_I2S_MSB); // i2s_config.intr_alloc_flags = ESP_INTR_FLAG_LEVEL1; // Interrupt level 1 // i2s_config.dma_buf_count = DMA_BUFF_CT; // number of buffers - // i2s_config.dma_buf_len = DMA_BUFF_LEN; - + // i2s_config.dma_buf_len = DMA_BUFF_LEN; // i2s_config_t i2s_config = { // .mode = (i2s_mode_t)(I2S_MODE_MASTER | I2S_MODE_RX | I2S_MODE_PDM), @@ -145,7 +153,7 @@ bool I2S_Init() { // .communication_format = I2S_COMM_FORMAT_STAND_PCM_SHORT, // .intr_alloc_flags = ESP_INTR_FLAG_LEVEL1, // high interrupt priority // .dma_buf_count = DMA_BUF_CNT, - // .dma_buf_len = DMA_BUF_SIZE, + // .dma_buf_len = DMA_BUF_SIZE, // .use_apll = 0, // }; @@ -158,7 +166,7 @@ bool I2S_Init() { // // .dma_buf_count = 2, // // .dma_buf_len = 8, // .dma_buf_count = DMA_BUF_CNT, - // .dma_buf_len = DMA_BUF_SIZE, + // .dma_buf_len = DMA_BUF_SIZE, // .use_apll = 0, // .intr_alloc_flags = ESP_INTR_FLAG_LEVEL1 // }; @@ -175,40 +183,40 @@ bool I2S_Init() { .dma_buf_len = 1024, .use_apll = false, .tx_desc_auto_clear = false, - .fixed_mclk = 0 - }; + .fixed_mclk = 0}; + i2s_pin_config_t pins = { + .bck_io_num = I2S_PIN_BIT_CLOCK, + .ws_io_num = I2S_PIN_WORD_SELECT, + .data_out_num = I2S_PIN_DATA_OUT, + .data_in_num = I2S_PIN_DATA_IN}; + if (i2s_driver_install(I2S_CHANNEL, &i2s_config, 0, NULL) != ESP_OK) + { + // Serial.println("i2s_driver_install() error"); + return false; + } - i2s_pin_config_t pins = { - .bck_io_num = I2S_PIN_BIT_CLOCK, - .ws_io_num = I2S_PIN_WORD_SELECT, - .data_out_num = I2S_PIN_DATA_OUT, - .data_in_num = I2S_PIN_DATA_IN - }; - - if (i2s_driver_install(I2S_CHANNEL, &i2s_config, 0, NULL) != ESP_OK) { - // Serial.println("i2s_driver_install() error"); - return false; - } - -// i2s_set_pdm_rx_down_sample(I2S_CHANNEL, I2S_PDM_DSR_16S); //set to 16 so mic is in high performance mode + // i2s_set_pdm_rx_down_sample(I2S_CHANNEL, I2S_PDM_DSR_16S); //set to 16 so mic is in high performance mode - if (i2s_set_pin(I2S_NUM_0, &pins) != ESP_OK) { - // Serial.println("i2s_set_pin() error"); - return false; - } + if (i2s_set_pin(I2S_NUM_0, &pins) != ESP_OK) + { + // Serial.println("i2s_set_pin() error"); + return false; + } - return true; + return true; } -void I2S_Quit() { - if (i2s_driver_uninstall(I2S_CHANNEL) != ESP_OK) { - // Serial.println("i2s_driver_uninstall() error"); - } +void I2S_Quit() +{ + if (i2s_driver_uninstall(I2S_CHANNEL) != ESP_OK) + { + // Serial.println("i2s_driver_uninstall() error"); + } } -#define min(a,b) (((a)<(b))?(a):(b)) +#define min(a, b) (((a) < (b)) ? (a) : (b)) int i2s_read_custom(int16_t *samples, int count) { @@ -229,97 +237,110 @@ int i2s_read_custom(int16_t *samples, int count) return sample_index; } -void microphone_stream() { - // Initialize I2S - I2S_Init(); - - //count how many bytes we read from I2S - uint32_t bytes_read; - - ESP_LOGI(PROGRAM_LOG_TAG, "Recording Started"); - -// uint8_t* buf = (uint8_t*)malloc(AUDIO_BUFFER_SIZE); - int16_t *buf = (int16_t *)malloc(sizeof(uint16_t) * AUDIO_BUFFER_SIZE); - while (true) { - // Read data from microphone - // if (i2s_read(I2S_CHANNEL, buf, AUDIO_BUFFER_SIZE, &bytes_read, portMAX_DELAY) != ESP_OK) { - // ESP_LOGE(PROGRAM_LOG_TAG, "i2s_read() error"); - // } - int samples_read = i2s_read_custom(buf, AUDIO_BUFFER_SIZE); - int bytes_read = samples_read * sizeof(uint16_t); - // printf("Bytes read: %d\n", bytes_read); - - // printf("Bytes read: %d\n", bytes_read); - // printf("Proc period: %d\n", (xTaskGetTickCount() - lastTickTimeProc) * portTICK_PERIOD_MS); - lastTickTimeProc = xTaskGetTickCount(); - - if(samples_read != AUDIO_BUFFER_SIZE) { - ESP_LOGE(PROGRAM_LOG_TAG, "Bytes written error"); +void microphone_stream(void *args) +{ + // Initialize I2S + I2S_Init(); + + // count how many bytes we read from I2S + uint32_t bytes_read; + + ESP_LOGI(PROGRAM_LOG_TAG, "Recording Started"); + + // uint8_t* buf = (uint8_t*)malloc(AUDIO_BUFFER_SIZE); + int16_t *buf = (int16_t *)malloc(sizeof(uint16_t) * AUDIO_BUFFER_SIZE); + while (true) + { + // Read data from microphone + // if (i2s_read(I2S_CHANNEL, buf, AUDIO_BUFFER_SIZE, &bytes_read, portMAX_DELAY) != ESP_OK) { + // ESP_LOGE(PROGRAM_LOG_TAG, "i2s_read() error"); + // } + int samples_read = i2s_read_custom(buf, AUDIO_BUFFER_SIZE); + int bytes_read = samples_read * sizeof(uint16_t); + // printf("Bytes read: %d\n", bytes_read); + + // printf("Bytes read: %d\n", bytes_read); + // printf("Proc period: %d\n", (xTaskGetTickCount() - lastTickTimeProc) * portTICK_PERIOD_MS); + lastTickTimeProc = xTaskGetTickCount(); + + if (samples_read != AUDIO_BUFFER_SIZE) + { + ESP_LOGE(PROGRAM_LOG_TAG, "Bytes written error"); + } + + // Print raw data + // printf("Val1: %u \n", (uint16_t)((buf[0] << 8) | buf[1])); + // printf("Val2: %u \n", (uint16_t)((buf[2] << 8) | buf[3])); + // printf("Val3: %u \n", (uint16_t)((buf[4] << 8) | buf[5])); + // printf("Val3+1: %u \n", (uint16_t)((buf[6] << 8) | buf[7])); + // printf("Val1: %u \n", (uint16_t)(buf[0])); + // printf("Val2: %u \n", (uint16_t)(buf[2])); + // printf("Val3: %u \n", (uint16_t)(buf[4])); + // printf("Val4: %u \n", (uint16_t)(buf[6])); + // curr_audio_val = (uint8_t)buf[0]; + // printf("value of buf: %.*s\n", AUDIO_BUFFER_SIZE, buf); + // printf("pointer of buf : %p\n", buf); + // addAudioChunkToQueue(buf); + + // send the bytes to the audio processor task + size_t tx_bytes = xMessageBufferSend(audioMessageBuffer, buf, bytes_read, portMAX_DELAY); + // printf("Number of transmitted bytes in message buffer: %d\n", tx_bytes); + // printf("Sent to MB"); } - //Print raw data - // printf("Val1: %u \n", (uint16_t)((buf[0] << 8) | buf[1])); - // printf("Val2: %u \n", (uint16_t)((buf[2] << 8) | buf[3])); - // printf("Val3: %u \n", (uint16_t)((buf[4] << 8) | buf[5])); - // printf("Val3+1: %u \n", (uint16_t)((buf[6] << 8) | buf[7])); - // printf("Val1: %u \n", (uint16_t)(buf[0])); - // printf("Val2: %u \n", (uint16_t)(buf[2])); - // printf("Val3: %u \n", (uint16_t)(buf[4])); - // printf("Val4: %u \n", (uint16_t)(buf[6])); - //curr_audio_val = (uint8_t)buf[0]; - // printf("value of buf: %.*s\n", AUDIO_BUFFER_SIZE, buf); - // printf("pointer of buf : %p\n", buf); - // addAudioChunkToQueue(buf); - - // send the bytes to the audio processor task - size_t tx_bytes = xMessageBufferSend(audioMessageBuffer, buf, bytes_read, portMAX_DELAY); - // printf("Number of transmitted bytes in message buffer: %d\n", tx_bytes); - // printf("Sent to MB"); - } - - //free the buffer memory + // free the buffer memory free(buf); - ESP_LOGI(PROGRAM_LOG_TAG, "Recording finished"); + ESP_LOGI(PROGRAM_LOG_TAG, "Recording finished"); - I2S_Quit(); + I2S_Quit(); } -//loop on receiving the latest audio chunk from the microphone and sending it to the WIS smart phone or cloud server -void sendAudioChunk(){ +// loop on receiving the latest audio chunk from the microphone and sending it to the WIS smart phone or cloud server +void sendAudioChunk(void *args) +{ audioSubscribed = true; - while(true){ - uint8_t* audioChunk = (uint8_t*)malloc(audioMessageBufferLen); + while (true) + { + uint8_t *audioChunk = (uint8_t *)malloc(audioMessageBufferLen); int bytes_written = xMessageBufferReceive(audioMessageBuffer, audioChunk, audioMessageBufferLen, portMAX_DELAY); lastTickTimeSend = xTaskGetTickCount(); // printf("Received from MB this size buffer: %d\n", audioMessageBufferLen); // printf("Bytes written: %d\n", bytes_written); - if (bytes_written != 0){ - if (audioSubscribed){ + if (bytes_written != 0) + { + if (audioSubscribed) + { // base 64 encode data and send it to the server - int b64EncodedAudioBufferLen = ((ceil(bytes_written / 3.0 ) * 4) + 1); //size increase due to inefficieny of base64 //+1 for padding, or something + int b64EncodedAudioBufferLen = ((ceil(bytes_written / 3.0) * 4) + 1); // size increase due to inefficieny of base64 //+1 for padding, or something // printf("Tryna b64: %d\n", b64EncodedAudioBufferLen); - unsigned char * b64EncodedAudio = (unsigned char*)malloc(b64EncodedAudioBufferLen); + unsigned char *b64EncodedAudio = (unsigned char *)malloc(b64EncodedAudioBufferLen); size_t encodedAudioActualLen; int b64res = mbedtls_base64_encode(b64EncodedAudio, b64EncodedAudioBufferLen, &encodedAudioActualLen, (unsigned char *)audioChunk, (size_t)bytes_written); - if(b64res == 0){ - int jsonLength = b64EncodedAudioBufferLen + 256; //plus a bit for JSON extra info + if (b64res == 0) + { + int jsonLength = b64EncodedAudioBufferLen + 256; // plus a bit for JSON extra info char jsonAudioPacket[jsonLength]; snprintf(jsonAudioPacket, jsonLength, audioJsonTemplate, b64EncodedAudio); - //send JSON to WIS server - if (esp_websocket_client_is_connected(webSocketClient)) { + // send JSON to WIS server + if (esp_websocket_client_is_connected(webSocketClient)) + { // printf("Sending audio to WIS...\n"); esp_websocket_client_send_text(webSocketClient, jsonAudioPacket, strlen(jsonAudioPacket), portMAX_DELAY); // esp_websocket_client_send_text(webSocketClient, (char *)audioChunk, strlen((char *)audioChunk), portMAX_DELAY); } - } else{ + } + else + { ESP_LOGE(PROGRAM_LOG_TAG, "Base 64 encoding failed."); free(b64EncodedAudio); continue; } free(b64EncodedAudio); - } else { + } + else + { vTaskDelay(pdMS_TO_TICKS(250)); } // printf("Send time: %d\n", (xTaskGetTickCount() - lastTickTimeSend) * portTICK_PERIOD_MS); @@ -329,7 +350,7 @@ void sendAudioChunk(){ } // } -//WIFI*************************************************************************************************************************** +// WIFI*************************************************************************************************************************** /* The examples use WiFi configuration that you can set via project configuration menu If you'd rather not, just change the below entries to strings with the config you want - ie #define EXAMPLE_WIFI_SSID "mywifissid" @@ -346,7 +367,7 @@ void sendAudioChunk(){ #define RECEIVER_PORT_NUM 8891 #define WIS_WEBSOCKET_COMMS_PORT 8887 -#define EXAMPLE_ESP_MAXIMUM_RETRY 100000 +#define EXAMPLE_ESP_MAXIMUM_RETRY 100000 #if CONFIG_ESP_WIFI_AUTH_OPEN #define ESP_WIFI_SCAN_AUTH_MODE_THRESHOLD WIFI_AUTH_OPEN @@ -373,7 +394,7 @@ static EventGroupHandle_t s_wifi_event_group; * - we are connected to the AP with an IP * - we failed to connect after the maximum amount of retries */ #define WIFI_CONNECTED_BIT BIT0 -#define WIFI_FAIL_BIT BIT1 +#define WIFI_FAIL_BIT BIT1 static const char *TAG = DEVICE_NAME; @@ -381,57 +402,62 @@ static int s_retry_num = 0; int create_ipv4_socket() { - struct addrinfo hints; - struct addrinfo *res; - struct in_addr *addr; + struct addrinfo hints; + struct addrinfo *res; + struct in_addr *addr; - hints.ai_family = AF_INET; - hints.ai_socktype = SOCK_STREAM; - - int err = getaddrinfo(WIS_IP, "4567", &hints, &res); + hints.ai_family = AF_INET; + hints.ai_socktype = SOCK_STREAM; - if(err != 0 || res == NULL) { - printf("DNS lookup failed err=%d res=%p\n", err, res); - return -1; - } + int err = getaddrinfo(WIS_IP, "4567", &hints, &res); - /* Code to print the resolved IP. + if (err != 0 || res == NULL) + { + printf("DNS lookup failed err=%d res=%p\n", err, res); + return -1; + } - Note: inet_ntoa is non-reentrant, look at ipaddr_ntoa_r for "real" code */ - addr = &((struct sockaddr_in *)res->ai_addr)->sin_addr; - printf("DNS lookup succeeded. IP=%s\n", inet_ntoa(*addr)); + /* Code to print the resolved IP. - int l_sock = socket(res->ai_family, res->ai_socktype, 0); - if(l_sock < 0) { - printf("... Failed to allocate socket.\n"); - freeaddrinfo(res); - return -1; - } - - struct timeval to; - to.tv_sec = 2; - to.tv_usec = 0; - setsockopt(l_sock,SOL_SOCKET,SO_SNDTIMEO,&to,sizeof(to)); - - if(connect(l_sock, res->ai_addr, res->ai_addrlen) != 0) { - printf("... socket connect failed errno=%d\n", errno); - close(l_sock); - freeaddrinfo(res); - return -1; - } + Note: inet_ntoa is non-reentrant, look at ipaddr_ntoa_r for "real" code */ + addr = &((struct sockaddr_in *)res->ai_addr)->sin_addr; + printf("DNS lookup succeeded. IP=%s\n", inet_ntoa(*addr)); + + int l_sock = socket(res->ai_family, res->ai_socktype, 0); + if (l_sock < 0) + { + printf("... Failed to allocate socket.\n"); + freeaddrinfo(res); + return -1; + } + + struct timeval to; + to.tv_sec = 2; + to.tv_usec = 0; + setsockopt(l_sock, SOL_SOCKET, SO_SNDTIMEO, &to, sizeof(to)); -// printf("... connected\n"); - freeaddrinfo(res); + if (connect(l_sock, res->ai_addr, res->ai_addrlen) != 0) + { + printf("... socket connect failed errno=%d\n", errno); + close(l_sock); + freeaddrinfo(res); + return -1; + } - // All set, socket is configured for sending and receiving - return l_sock; + // printf("... connected\n"); + freeaddrinfo(res); + + // All set, socket is configured for sending and receiving + return l_sock; } -void tcp_connect_task(){ +void tcp_connect_task() +{ create_ipv4_socket(); - while(1){ + while (1) + { printf("HELLO WOLRD"); - vTaskDelay(1000/portTICK_PERIOD_MS); + vTaskDelay(1000 / portTICK_PERIOD_MS); } } @@ -439,7 +465,8 @@ void udp_listen_task() { printf("ASDF 1\n"); - while (1) { + while (1) + { struct sockaddr_in dest_addr; dest_addr.sin_addr.s_addr = htonl(INADDR_ANY); @@ -449,25 +476,27 @@ void udp_listen_task() printf("ASDF 1.8\n"); int addr_family = AF_INET; int ip_protocol = IPPROTO_IP; - //inet_ntoa_r(dest_addr.sin_addr, RECEIVER_IP_ADDR, sizeof(RECEIVER_IP_ADDR) - 1); + // inet_ntoa_r(dest_addr.sin_addr, RECEIVER_IP_ADDR, sizeof(RECEIVER_IP_ADDR) - 1); printf("ASDF 2\n"); -// ra.sin_family = AF_INET; -// ra.sin_addr.s_addr = inet_addr(RECEIVER_IP_ADDR); -// ra.sin_port = htons(RECEIVER_PORT_NUM); + // ra.sin_family = AF_INET; + // ra.sin_addr.s_addr = inet_addr(RECEIVER_IP_ADDR); + // ra.sin_port = htons(RECEIVER_PORT_NUM); char data_buffer[80]; int sock = socket(addr_family, SOCK_DGRAM, ip_protocol); - if (sock < 0) { + if (sock < 0) + { ESP_LOGE(TAG, "Unable to create socket: errno %d", errno); break; } printf("ASDF 3\n"); - //ESP_LOGI(TAG, "Socket created"); + // ESP_LOGI(TAG, "Socket created"); int bc = 1; - if (setsockopt(sock, SOL_SOCKET, SO_BROADCAST, &bc, sizeof(bc)) < 0) { + if (setsockopt(sock, SOL_SOCKET, SO_BROADCAST, &bc, sizeof(bc)) < 0) + { ESP_LOGE(TAG, "Failed to set sock options: errno %d", errno); closesocket(sock); break; @@ -475,37 +504,45 @@ void udp_listen_task() printf("ASDF 4\n"); int err = bind(sock, (struct sockaddr *)&dest_addr, sizeof(dest_addr)); - if (err < 0) { + if (err < 0) + { ESP_LOGE(TAG, "Socket unable to bind: err %d", err); } - while (1) { + while (1) + { printf("ASDF 5"); - struct sockaddr_in6 source_addr; + struct sockaddr_in6 source_addr; socklen_t socklen = sizeof(source_addr); printf("Listening on UDP..."); int len = recvfrom(sock, &data_buffer, sizeof(data_buffer), 0, (struct sockaddr *)&source_addr, &socklen); printf("Received UDP data!"); - //Error occurred during receiving - if (len < 0) { + // Error occurred during receiving + if (len < 0) + { ESP_LOGE(TAG, "recvfrom failed: errno %d", errno); break; } // Data received - else { + else + { // Get the sender's ip address as string - if (source_addr.sin6_family == PF_INET) { + if (source_addr.sin6_family == PF_INET) + { inet_ntoa_r(((struct sockaddr_in *)&source_addr)->sin_addr.s_addr, RECEIVER_IP_ADDR, sizeof(RECEIVER_IP_ADDR) - 1); - } else if (source_addr.sin6_family == PF_INET6) { + } + else if (source_addr.sin6_family == PF_INET6) + { inet6_ntoa_r(source_addr.sin6_addr, RECEIVER_IP_ADDR, sizeof(RECEIVER_IP_ADDR) - 1); } } } - if (sock != -1) { + if (sock != -1) + { ESP_LOGE(TAG, "Shutting down socket and restarting..."); shutdown(sock, 0); close(sock); @@ -576,13 +613,14 @@ void udp_listen_task() // printf("%s\n",data_buffer); // } -// close(socket_fd); +// close(socket_fd); // } - -//this should be done within websocket, but it works for now -void update_ws_ip(){ - if (!esp_websocket_client_is_connected(webSocketClient)) { +// this should be done within websocket, but it works for now +void update_ws_ip() +{ + if (!esp_websocket_client_is_connected(webSocketClient)) + { int wsUriLen = 1024; char wsUri[wsUriLen]; snprintf(wsUri, wsUriLen, "ws://%s", WIS_WEBSOCKET_IP); @@ -590,23 +628,31 @@ void update_ws_ip(){ } } -static void event_handler(void* arg, esp_event_base_t event_base, - int32_t event_id, void* event_data) +static void event_handler(void *arg, esp_event_base_t event_base, + int32_t event_id, void *event_data) { - if (event_base == WIFI_EVENT && event_id == WIFI_EVENT_STA_START) { + if (event_base == WIFI_EVENT && event_id == WIFI_EVENT_STA_START) + { esp_wifi_connect(); - } else if (event_base == WIFI_EVENT && event_id == WIFI_EVENT_STA_DISCONNECTED) { - //kill websocket - if (s_retry_num < EXAMPLE_ESP_MAXIMUM_RETRY) { + } + else if (event_base == WIFI_EVENT && event_id == WIFI_EVENT_STA_DISCONNECTED) + { + // kill websocket + if (s_retry_num < EXAMPLE_ESP_MAXIMUM_RETRY) + { esp_wifi_connect(); s_retry_num++; ESP_LOGI(TAG, "retry to connect to the AP"); - } else { + } + else + { xEventGroupSetBits(s_wifi_event_group, WIFI_FAIL_BIT); } - ESP_LOGI(TAG,"connect to the AP fail"); - } else if (event_base == IP_EVENT && event_id == IP_EVENT_STA_GOT_IP) { - ip_event_got_ip_t* event = (ip_event_got_ip_t*) event_data; + ESP_LOGI(TAG, "connect to the AP fail"); + } + else if (event_base == IP_EVENT && event_id == IP_EVENT_STA_GOT_IP) + { + ip_event_got_ip_t *event = (ip_event_got_ip_t *)event_data; ESP_LOGI(TAG, "got ip:" IPSTR, IP2STR(&event->ip_info.ip)); snprintf(WIS_IP, sizeof(WIS_IP), IPSTR, IP2STR(&event->ip_info.ip)); snprintf(WIS_WEBSOCKET_IP, sizeof(WIS_WEBSOCKET_IP), IPSTR, IP2STR(&event->ip_info.gw)); @@ -616,13 +662,12 @@ static void event_handler(void* arg, esp_event_base_t event_base, // snprintf(WIS_IP, sizeof(WIS_IP), "192.168.15.188"); //DEBUG, comment this line to connect to hotspot host s_retry_num = 0; xEventGroupSetBits(s_wifi_event_group, WIFI_CONNECTED_BIT); - //start listening for UDP packets - WIS server advertising itself - //xTaskCreate(&udp_listen_task, "udp_listen_thread", 2048, NULL, 5, NULL); - //xTaskCreate(&tcp_connect_task, "tcp_connect_thread", 2048, NULL, 5, NULL); + // start listening for UDP packets - WIS server advertising itself + // xTaskCreate(&udp_listen_task, "udp_listen_thread", 2048, NULL, 5, NULL); + // xTaskCreate(&tcp_connect_task, "tcp_connect_thread", 2048, NULL, 5, NULL); } } - void wifi_init_sta(void) { ESP_LOGI(PROGRAM_LOG_TAG, "ESP_WIFI_MODE_STA"); @@ -633,8 +678,17 @@ void wifi_init_sta(void) esp_netif_create_default_wifi_sta(); wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT(); - ESP_ERROR_CHECK(esp_wifi_init(&cfg)); +#if MEM_MSG + cout << "Free heap RIGHT BEFORE WIFI INIT: "; + cout << heap_caps_get_free_size(MALLOC_CAP_8BIT) << endl; +#endif + ESP_ERROR_CHECK(esp_wifi_init(&cfg)); + //esp_wifi_init(&cfg); +#if MEM_MSG + cout << "Free heap RIGHT AFTER WIFI INIT: "; + cout << heap_caps_get_free_size(MALLOC_CAP_8BIT) << endl; +#endif esp_event_handler_instance_t instance_any_id; esp_event_handler_instance_t instance_got_ip; ESP_ERROR_CHECK(esp_event_handler_instance_register(WIFI_EVENT, @@ -647,46 +701,58 @@ void wifi_init_sta(void) &event_handler, NULL, &instance_got_ip)); + /* + wifi_config_t wifi_config = { + .sta = { + .ssid = EXAMPLE_ESP_WIFI_SSID, + .password = EXAMPLE_ESP_WIFI_PASS, + .threshold.authmode = WIFI_AUTH_OPEN, //change this to change minimum acceptable security level + + // Setting a password implies station will connect to all security modes including WEP/WPA. + // However these modes are deprecated and not advisable to be used. Incase your Access point + // doesn't support WPA2, these mode can be enabled by commenting below line + }, + }; + */ + // C++ version of the above + wifi_config_t wifi_config = {}; + strcpy((char *)wifi_config.sta.ssid, esp_wifi_ssid); + strcpy((char *)wifi_config.sta.password, esp_wifi_pass); + wifi_config.sta.threshold.authmode = WIFI_AUTH_OPEN; - wifi_config_t wifi_config = { - .sta = { - .ssid = EXAMPLE_ESP_WIFI_SSID, - .password = EXAMPLE_ESP_WIFI_PASS, - /* Setting a password implies station will connect to all security modes including WEP/WPA. - * However these modes are deprecated and not advisable to be used. Incase your Access point - * doesn't support WPA2, these mode can be enabled by commenting below line */ - .threshold.authmode = WIFI_AUTH_OPEN, //change this to change minimum acceptable security level - }, - }; - ESP_ERROR_CHECK(esp_wifi_set_mode(WIFI_MODE_STA) ); - ESP_ERROR_CHECK(esp_wifi_set_config(WIFI_IF_STA, &wifi_config) ); - ESP_ERROR_CHECK(esp_wifi_start() ); + ESP_ERROR_CHECK(esp_wifi_set_mode(WIFI_MODE_STA)); + ESP_ERROR_CHECK(esp_wifi_set_config(WIFI_IF_STA, &wifi_config)); + ESP_ERROR_CHECK(esp_wifi_start()); ESP_LOGI(TAG, "wifi_init_sta finished."); /* Waiting until either the connection is established (WIFI_CONNECTED_BIT) or connection failed for the maximum * number of re-tries (WIFI_FAIL_BIT). The bits are set by event_handler() (see above) */ EventBits_t bits = xEventGroupWaitBits(s_wifi_event_group, - WIFI_CONNECTED_BIT | WIFI_FAIL_BIT, - pdFALSE, - pdFALSE, - portMAX_DELAY); + WIFI_CONNECTED_BIT | WIFI_FAIL_BIT, + pdFALSE, + pdFALSE, + portMAX_DELAY); /* xEventGroupWaitBits() returns the bits before the call returned, hence we can test which event actually * happened. */ - if (bits & WIFI_CONNECTED_BIT) { + if (bits & WIFI_CONNECTED_BIT) + { ESP_LOGI(TAG, "connected to ap SSID:%s password:%s", - EXAMPLE_ESP_WIFI_SSID, EXAMPLE_ESP_WIFI_PASS); - } else if (bits & WIFI_FAIL_BIT) { + esp_wifi_ssid, esp_wifi_pass); + } + else if (bits & WIFI_FAIL_BIT) + { ESP_LOGI(TAG, "Failed to connect to SSID:%s, password:%s", - EXAMPLE_ESP_WIFI_SSID, EXAMPLE_ESP_WIFI_PASS); - } else { + esp_wifi_ssid, esp_wifi_pass); + } + else + { ESP_LOGE(TAG, "UNEXPECTED EVENT"); } } -//WEB SOCKET ******************************************************************************************** - +// WEB SOCKET ******************************************************************************************** #define NO_DATA_TIMEOUT_SEC 10 @@ -702,20 +768,21 @@ static void shutdown_signaler(TimerHandle_t xTimer) static void websocket_event_handler(void *handler_args, esp_event_base_t base, int32_t event_id, void *event_data) { esp_websocket_event_data_t *data = (esp_websocket_event_data_t *)event_data; - switch (event_id) { + switch (event_id) + { case WEBSOCKET_EVENT_CONNECTED: ESP_LOGI(TAG, "WEBSOCKET_EVENT_CONNECTED"); break; case WEBSOCKET_EVENT_DISCONNECTED: ESP_LOGI(TAG, "WEBSOCKET_EVENT_DISCONNECTED"); - //reconnect + // reconnect break; case WEBSOCKET_EVENT_DATA: ESP_LOGI(TAG, "WEBSOCKET_EVENT_DATA"); ESP_LOGI(TAG, "Received opcode=%d", data->op_code); ESP_LOGW(TAG, "Received=%.*s", data->data_len, (char *)data->data_ptr); ESP_LOGW(TAG, "Total payload length=%d, data_len=%d, current payload offset=%d\r\n", data->payload_len, data->data_len, data->payload_offset); - //xTimerReset(shutdown_signal_timer, portMAX_DELAY); + // xTimerReset(shutdown_signal_timer, portMAX_DELAY); break; case WEBSOCKET_EVENT_ERROR: printf("WEBSOCKET_EVENT_ERROR"); @@ -725,25 +792,32 @@ static void websocket_event_handler(void *handler_args, esp_event_base_t base, i } } -static void reconnect_websocket(){ - //close down the socket +static void reconnect_websocket() +{ + // close down the socket esp_websocket_client_close(webSocketClient, portMAX_DELAY); - //connect the socket again - + // connect the socket again } -static void ping_loop_task(){ - while(true){ - if (esp_websocket_client_is_connected(webSocketClient)) { +static void ping_loop_task(void *args) +{ + while (true) + { + if (esp_websocket_client_is_connected(webSocketClient)) + { char ping[64] = "ping bitch"; esp_websocket_client_send_text(webSocketClient, ping, strlen(ping), portMAX_DELAY); } vTaskDelay(500 / portTICK_RATE_MS); +#if MEM_MSG + cout << "Free heap: "; + cout << heap_caps_get_free_size(MALLOC_CAP_8BIT) << endl; +#endif } } -static void websocket_app_start() +static void websocket_app_start(void *args) { esp_websocket_client_config_t websocket_cfg = {}; @@ -751,8 +825,8 @@ static void websocket_app_start() // pdFALSE, NULL, shutdown_signaler); shutdown_sema = xSemaphoreCreateBinary(); - //websocket url/IP and port - // websocket_cfg.uri = WIS_IP; + // websocket url/IP and port + // websocket_cfg.uri = WIS_IP; int wsUriLen = 1024; char wsUri[wsUriLen]; snprintf(wsUri, wsUriLen, "ws://%s", WIS_WEBSOCKET_IP); @@ -774,7 +848,8 @@ static void websocket_app_start() // xTimerStart(shutdown_signal_timer, portMAX_DELAY); char data[32]; int i = 0; - while (true) { + while (true) + { // if (esp_websocket_client_is_connected(webSocketClient)) { // int len = sprintf(data, "hello %04d", i++); // ESP_LOGI(TAG, "Sending %s of size %d", payload, strlen(payload)); @@ -790,8 +865,7 @@ static void websocket_app_start() esp_websocket_client_destroy(webSocketClient); } - -//AUDIO WIFI SENDING COMMS TCP SOCKET +// AUDIO WIFI SENDING COMMS TCP SOCKET #include #include @@ -809,14 +883,13 @@ static void websocket_app_start() #ifdef WEBSOCKET_RECONNECT_TIMEOUT_MS #undef WEBSOCKET_RECONNECT_TIMEOUT_MS -#define WEBSOCKET_RECONNECT_TIMEOUT_MS (500) //change timeout of websocket retry in milliseconds -#endif +#define WEBSOCKET_RECONNECT_TIMEOUT_MS (500) // change timeout of websocket retry in milliseconds +#endif -//TCP connection params +// TCP connection params #define HOST_IP_ADDR "192.168.66.144" #define PORT 4567 - // static void tcp_client_task(void *pvParameters) // { // char rx_buffer[128]; @@ -868,11 +941,11 @@ static void websocket_app_start() // vTaskDelay(100 / portTICK_PERIOD_MS); // } - // if (sock != -1) { - // ESP_LOGE(TAG, "Shutting down socket and restarting..."); - // shutdown(sock, 0); - // close(sock); - // } +// if (sock != -1) { +// ESP_LOGE(TAG, "Shutting down socket and restarting..."); +// shutdown(sock, 0); +// close(sock); +// } // while(1){ // vTaskDelay(3000 / portTICK_PERIOD_MS); @@ -881,56 +954,80 @@ static void websocket_app_start() // vTaskDelete(NULL); // } - +extern "C" +{ + void app_main(); +} void app_main(void) { + int maxHeap = esp_get_free_heap_size(); + ESP_LOGI(TAG, "Free heap before NVS : %d", heap_caps_get_free_size(MALLOC_CAP_8BIT)); esp_err_t ret; + // NVS flash uses ~3000 bytes // Initialize NVS. ret = nvs_flash_init(); - if (ret == ESP_ERR_NVS_NO_FREE_PAGES || ret == ESP_ERR_NVS_NEW_VERSION_FOUND) { + if (ret == ESP_ERR_NVS_NO_FREE_PAGES || ret == ESP_ERR_NVS_NEW_VERSION_FOUND) + { ESP_ERROR_CHECK(nvs_flash_erase()); ret = nvs_flash_init(); } - ESP_ERROR_CHECK( ret ); + ESP_ERROR_CHECK(ret); - //create event loop + // create event loop ESP_ERROR_CHECK(esp_event_loop_create_default()); - //start WIFI - wifi_init_sta(); +// start WIFI + //wifi_init_sta(); - //connect to WIS web socket - esp_log_level_set("WEBSOCKET_CLIENT", ESP_LOG_DEBUG); - TaskHandle_t webSocketTask = NULL; - xTaskCreate(websocket_app_start, "web_socket_task", 6*4096, NULL, 1, &webSocketTask); - //start websocket pingwer - TaskHandle_t webSocketPingTask = NULL; - xTaskCreate(ping_loop_task, "ping_loop_task", 4096, NULL, 1, &webSocketPingTask); + // MAXHEAP: 223000 +#if ENABLEDISPLAY + displayStart(); + displayCardSearchTextonlyDemo(); + displayEnterVoiceCommandStep2(); +#endif - //connect to audio TCP socket stream - // esp_log_level_set("TRANS_TCP", ESP_LOG_DEBUG); - //xTaskCreate(tcp_client_task, "tcp_client", 4096, NULL, 5, NULL); - /************************* Create audio buffer****************************/ - audioMessageBuffer = xMessageBufferCreate(audioMessageBufferLen * 4); //hold n message at once, where n is the constant multiplier - assert(audioMessageBuffer); - audioQueue = xQueueCreate(250, sizeof(uint8_t*)); - if (audioQueue == 0) // Queue not created - { - ESP_LOGE(PROGRAM_LOG_TAG, "Unable to create audio queue.\n"); - } else { - ESP_LOGE(PROGRAM_LOG_TAG, "Audio queue created successfully.\n"); - } + /* + - //send audio task - TaskHandle_t sendAudioTaskHandle = NULL; - xTaskCreate(sendAudioChunk, "send_audio_chunk_task", 6*4096, NULL, 1, &sendAudioTaskHandle); + //connect to WIS web socket + esp_log_level_set("WEBSOCKET_CLIENT", ESP_LOG_DEBUG); + TaskHandle_t webSocketTask = NULL; + xTaskCreate(websocket_app_start, "web_socket_task", 6*4096, NULL, 1, &webSocketTask); - //start microphone input AFTER STARTING AUDIO QUEUE - TaskHandle_t microphoneTaskHandle = NULL; - xTaskCreate(microphone_stream, "microphone_stream_task", 6*4096, NULL, 1, µphoneTaskHandle); + //start websocket pingwer + TaskHandle_t webSocketPingTask = NULL; + xTaskCreate(ping_loop_task, "ping_loop_task", 4096, NULL, 1, &webSocketPingTask); + + //connect to audio TCP socket stream + // esp_log_level_set("TRANS_TCP", ESP_LOG_DEBUG); + //xTaskCreate(tcp_client_task, "tcp_client", 4096, NULL, 5, NULL); + + // *********************** Create audio buffer**************************** / + audioMessageBuffer = xMessageBufferCreate(audioMessageBufferLen * 4); //hold n message at once, where n is the constant multiplier + //assert(audioMessageBuffer); + audioQueue = xQueueCreate(250, sizeof(uint8_t*)); + if (audioQueue == 0) // Queue not created + { + ESP_LOGE(PROGRAM_LOG_TAG, "Unable to create audio queue.\n"); + } else { + ESP_LOGE(PROGRAM_LOG_TAG, "Audio queue created successfully.\n"); + } + + //send audio task + TaskHandle_t sendAudioTaskHandle = NULL; + xTaskCreate(sendAudioChunk, "send_audio_chunk_task", 6*4096, NULL, 1, &sendAudioTaskHandle); + + //start microphone input AFTER STARTING AUDIO QUEUE + TaskHandle_t microphoneTaskHandle = NULL; + xTaskCreate(microphone_stream, "microphone_stream_task", 6*4096, NULL, 1, µphoneTaskHandle); + */ +#if MEM_MSG + cout << "Free heap OGOGOG: "; + cout << heap_caps_get_free_size(MALLOC_CAP_8BIT) << endl; +#endif return; } \ No newline at end of file diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/myexamplejson.dog b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/myexamplejson.dog new file mode 100644 index 0000000..9911541 --- /dev/null +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/myexamplejson.dog @@ -0,0 +1,6 @@ +{ +"MESSAGE_TYPE_LOCAL" : "SEARCH_ENGINE_RESULT", +"title" : "this is the title", +"body" : "this is the body", +... +} \ No newline at end of file From 67cec0b986e1c6a79075406f0feec32c32d38c7c Mon Sep 17 00:00:00 2001 From: Alex Israelov Date: Sun, 23 Oct 2022 10:24:59 -0600 Subject: [PATCH 02/35] Holy shit wifi works --- .../ossg_firmware_mcu/platformio.ini | 1 + .../ossg_firmware_mcu/sdkconfig.pico32 | 8 +- .../ossg_firmware_mcu/sdkconfig.pico32.old | 173 +++++++++++++++++- .../ossg_firmware_mcu/src/main.cpp | 84 +++++---- 4 files changed, 217 insertions(+), 49 deletions(-) diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/platformio.ini b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/platformio.ini index 50f4b15..4b61837 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/platformio.ini +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/platformio.ini @@ -16,6 +16,7 @@ monitor_speed = 115200 board_build.partitions = partitions_singleapp_large.csv ;board_build.partitions = min_spiffs.csv lib_ldf_mode = deep+ +board_build.f_cpu = 240000000L monitor_port = /dev/ttyUSB0 build_flags = -Wl,-Map,output.map diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/sdkconfig.pico32 b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/sdkconfig.pico32 index f6193cd..9acccbd 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/sdkconfig.pico32 +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/sdkconfig.pico32 @@ -335,7 +335,7 @@ CONFIG_SPIRAM_CACHE_LIBMISC_IN_IRAM=y CONFIG_SPIRAM_BANKSWITCH_ENABLE=y CONFIG_SPIRAM_BANKSWITCH_RESERVE=8 -# CONFIG_SPIRAM_ALLOW_STACK_EXTERNAL_MEMORY is not set +CONFIG_SPIRAM_ALLOW_STACK_EXTERNAL_MEMORY=y # CONFIG_SPIRAM_OCCUPY_HSPI_HOST is not set CONFIG_SPIRAM_OCCUPY_VSPI_HOST=y # CONFIG_SPIRAM_OCCUPY_NO_HOST is not set @@ -627,8 +627,8 @@ CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y CONFIG_ESP32_WIFI_RX_BA_WIN=6 # CONFIG_ESP32_WIFI_AMSDU_TX_ENABLED is not set 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_TASK_PINNED_TO_CORE_0 is not set +CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_1=y CONFIG_ESP32_WIFI_SOFTAP_BEACON_MAX_LEN=752 CONFIG_ESP32_WIFI_MGMT_SBUF_NUM=32 CONFIG_ESP32_WIFI_IRAM_OPT=y @@ -643,7 +643,6 @@ CONFIG_ESP_WIFI_SOFTAP_SUPPORT=y # # 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 @@ -1710,7 +1709,6 @@ 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_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 diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/sdkconfig.pico32.old b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/sdkconfig.pico32.old index fe0a684..4461c93 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/sdkconfig.pico32.old +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/sdkconfig.pico32.old @@ -292,8 +292,8 @@ CONFIG_SPIRAM_TYPE_AUTO=y # CONFIG_SPIRAM_TYPE_ESPPSRAM32 is not set # CONFIG_SPIRAM_TYPE_ESPPSRAM64 is not set CONFIG_SPIRAM_SIZE=-1 -CONFIG_SPIRAM_SPEED_40M=y -# CONFIG_SPIRAM_SPEED_80M is not set +# CONFIG_SPIRAM_SPEED_40M is not set +CONFIG_SPIRAM_SPEED_80M=y CONFIG_SPIRAM=y CONFIG_SPIRAM_BOOT_INIT=y # CONFIG_SPIRAM_IGNORE_NOTFOUND is not set @@ -301,7 +301,7 @@ CONFIG_SPIRAM_BOOT_INIT=y # CONFIG_SPIRAM_USE_CAPS_ALLOC is not set CONFIG_SPIRAM_USE_MALLOC=y CONFIG_SPIRAM_MEMTEST=y -CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL=131072 +CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL=16384 CONFIG_SPIRAM_TRY_ALLOCATE_WIFI_LWIP=y CONFIG_SPIRAM_MALLOC_RESERVE_INTERNAL=32768 # CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY is not set @@ -335,7 +335,10 @@ CONFIG_SPIRAM_CACHE_LIBMISC_IN_IRAM=y CONFIG_SPIRAM_BANKSWITCH_ENABLE=y CONFIG_SPIRAM_BANKSWITCH_RESERVE=8 -# CONFIG_SPIRAM_ALLOW_STACK_EXTERNAL_MEMORY is not set +CONFIG_SPIRAM_ALLOW_STACK_EXTERNAL_MEMORY=y +# CONFIG_SPIRAM_OCCUPY_HSPI_HOST is not set +CONFIG_SPIRAM_OCCUPY_VSPI_HOST=y +# CONFIG_SPIRAM_OCCUPY_NO_HOST is not set # # PSRAM clock and cs IO for ESP32-DOWD @@ -640,7 +643,6 @@ CONFIG_ESP_WIFI_SOFTAP_SUPPORT=y # # 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 @@ -1607,3 +1609,164 @@ CONFIG_LV_BUILD_EXAMPLES=y # # 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_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_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_ADC2_DISABLE_DAC=y +CONFIG_SPIRAM_SUPPORT=y +CONFIG_WIFI_LWIP_ALLOCATION_FROM_SPIRAM_FIRST=y +CONFIG_TRACEMEM_RESERVE_DRAM=0x0 +# 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_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_EVENT_LOOP_PROFILING is not set +CONFIG_POST_EVENTS_FROM_ISR=y +CONFIG_POST_EVENTS_FROM_IRAM_ISR=y +# CONFIG_TWO_UNIVERSAL_MAC_ADDRESS is not set +CONFIG_FOUR_UNIVERSAL_MAC_ADDRESS=y +CONFIG_NUMBER_OF_UNIVERSAL_MAC_ADDRESS=4 +# CONFIG_ESP32C3_LIGHTSLEEP_GPIO_RESET_WORKAROUND is not set +CONFIG_IPC_TASK_STACK_SIZE=1024 +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_ESP32_REDUCE_PHY_TX_POWER=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_SYSTEM_EVENT_QUEUE_SIZE=32 +CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE=2304 +CONFIG_MAIN_TASK_STACK_SIZE=3584 +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_ESP32_DEBUG_STUBS_ENABLE is not set +CONFIG_TIMER_TASK_STACK_SIZE=3584 +# 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/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp index d81e7ec..d4f0ab5 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp @@ -954,6 +954,15 @@ static void websocket_app_start(void *args) // vTaskDelete(NULL); // } + // ESP32 PSRAM bug workaround (use when the library is NOT compiled with PSRAM hack enabled) + // Place between a write and a read PSRAM operation (write->ASM_MEMW->read), not viceversa + #define ASM_MEMW asm(" MEMW"); + + #define ASM_NOP asm(" NOP"); + + #define PSRAM_WORKAROUND1 asm(" nop;nop;nop;nop"); + #define PSRAM_WORKAROUND2 asm(" memw"); + extern "C" { void app_main(); @@ -978,52 +987,49 @@ void app_main(void) ESP_ERROR_CHECK(esp_event_loop_create_default()); // start WIFI - //wifi_init_sta(); - + wifi_init_sta(); // MAXHEAP: 223000 -#if ENABLEDISPLAY - displayStart(); - displayCardSearchTextonlyDemo(); - displayEnterVoiceCommandStep2(); -#endif - + #if ENABLEDISPLAY + displayStart(); + displayCardSearchTextonlyDemo(); + displayEnterVoiceCommandStep2(); + #endif /* + //connect to WIS web socket + esp_log_level_set("WEBSOCKET_CLIENT", ESP_LOG_DEBUG); + TaskHandle_t webSocketTask = NULL; + xTaskCreate(websocket_app_start, "web_socket_task", 6*4096, NULL, 1, &webSocketTask); + + //start websocket pingwer + TaskHandle_t webSocketPingTask = NULL; + xTaskCreate(ping_loop_task, "ping_loop_task", 4096, NULL, 1, &webSocketPingTask); + + //connect to audio TCP socket stream + // esp_log_level_set("TRANS_TCP", ESP_LOG_DEBUG); + //xTaskCreate(tcp_client_task, "tcp_client", 4096, NULL, 5, NULL); + + // *********************** Create audio buffer**************************** / + audioMessageBuffer = xMessageBufferCreate(audioMessageBufferLen * 4); //hold n message at once, where n is the constant multiplier + //assert(audioMessageBuffer); + audioQueue = xQueueCreate(250, sizeof(uint8_t*)); + if (audioQueue == 0) // Queue not created + { + ESP_LOGE(PROGRAM_LOG_TAG, "Unable to create audio queue.\n"); + } else { + ESP_LOGE(PROGRAM_LOG_TAG, "Audio queue created successfully.\n"); + } + //send audio task + TaskHandle_t sendAudioTaskHandle = NULL; + xTaskCreate(sendAudioChunk, "send_audio_chunk_task", 6*4096, NULL, 1, &sendAudioTaskHandle); - //connect to WIS web socket - esp_log_level_set("WEBSOCKET_CLIENT", ESP_LOG_DEBUG); - TaskHandle_t webSocketTask = NULL; - xTaskCreate(websocket_app_start, "web_socket_task", 6*4096, NULL, 1, &webSocketTask); - - //start websocket pingwer - TaskHandle_t webSocketPingTask = NULL; - xTaskCreate(ping_loop_task, "ping_loop_task", 4096, NULL, 1, &webSocketPingTask); - - //connect to audio TCP socket stream - // esp_log_level_set("TRANS_TCP", ESP_LOG_DEBUG); - //xTaskCreate(tcp_client_task, "tcp_client", 4096, NULL, 5, NULL); - - // *********************** Create audio buffer**************************** / - audioMessageBuffer = xMessageBufferCreate(audioMessageBufferLen * 4); //hold n message at once, where n is the constant multiplier - //assert(audioMessageBuffer); - audioQueue = xQueueCreate(250, sizeof(uint8_t*)); - if (audioQueue == 0) // Queue not created - { - ESP_LOGE(PROGRAM_LOG_TAG, "Unable to create audio queue.\n"); - } else { - ESP_LOGE(PROGRAM_LOG_TAG, "Audio queue created successfully.\n"); - } - - //send audio task - TaskHandle_t sendAudioTaskHandle = NULL; - xTaskCreate(sendAudioChunk, "send_audio_chunk_task", 6*4096, NULL, 1, &sendAudioTaskHandle); + //start microphone input AFTER STARTING AUDIO QUEUE + TaskHandle_t microphoneTaskHandle = NULL; + xTaskCreate(microphone_stream, "microphone_stream_task", 6*4096, NULL, 1, µphoneTaskHandle); + */ - //start microphone input AFTER STARTING AUDIO QUEUE - TaskHandle_t microphoneTaskHandle = NULL; - xTaskCreate(microphone_stream, "microphone_stream_task", 6*4096, NULL, 1, µphoneTaskHandle); - */ #if MEM_MSG cout << "Free heap OGOGOG: "; cout << heap_caps_get_free_size(MALLOC_CAP_8BIT) << endl; From abd6a432546687fe6cb4b1603b77c5df9645dd38 Mon Sep 17 00:00:00 2001 From: Alex Israelov Date: Sun, 23 Oct 2022 10:27:56 -0600 Subject: [PATCH 03/35] Wifi + Display work at same time by setting Lovyan and Wifi to core 1 --- .../esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp index d4f0ab5..b57aa40 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp @@ -996,7 +996,7 @@ void app_main(void) displayEnterVoiceCommandStep2(); #endif - /* + /* //connect to WIS web socket esp_log_level_set("WEBSOCKET_CLIENT", ESP_LOG_DEBUG); TaskHandle_t webSocketTask = NULL; From abe06aa06d3266affeebe2b42ab1b69e4890277c Mon Sep 17 00:00:00 2001 From: Alex Israelov Date: Sun, 23 Oct 2022 11:20:20 -0600 Subject: [PATCH 04/35] Forked Lovyan --- .../esp32_firmware_v0p3/ossg_firmware_mcu/.gitmodules | 2 +- .../ossg_firmware_mcu/src/display/global_settings.hpp | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/.gitmodules b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/.gitmodules index 1128d62..7215092 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/.gitmodules +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/.gitmodules @@ -1,6 +1,6 @@ [submodule "lib/LovyanGFX"] path = lib/LovyanGFX - url = https://github.com/lovyan03/LovyanGFX.git + url = https://github.com/alex1115alex/LovyanGFX_SmartGlasses.git branch = develop [submodule "components/lvgl"] path = components/lvgl diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/global_settings.hpp b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/global_settings.hpp index 3e78f30..6ab393b 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/global_settings.hpp +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/global_settings.hpp @@ -1,5 +1,3 @@ -//#define LGFX_USE_V1 - /* The maximum resolution that can be output depends on the signal type. 720x480 (NTSC,NTSC-J), 864x576 (PAL,PAL-M), 720x576 (PAL-N). From 7e51789016458372451dfaa0ecd8c808290f8be2 Mon Sep 17 00:00:00 2001 From: Alex Israelov Date: Sun, 23 Oct 2022 11:40:15 -0600 Subject: [PATCH 05/35] Add lovyan flag --- .../esp32_firmware_v0p3/ossg_firmware_mcu/lib/LovyanGFX | 1 + .../ossg_firmware_mcu/src/display/displaymanager.cpp | 1 + 2 files changed, 2 insertions(+) create mode 160000 electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/lib/LovyanGFX diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/lib/LovyanGFX b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/lib/LovyanGFX new file mode 160000 index 0000000..506bbfd --- /dev/null +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/lib/LovyanGFX @@ -0,0 +1 @@ +Subproject commit 506bbfd6f13406c940821041e8fddea95f802478 diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/displaymanager.cpp b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/displaymanager.cpp index b485248..3f9ff3c 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/displaymanager.cpp +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/displaymanager.cpp @@ -24,6 +24,7 @@ using namespace std; #include "helper_display.hpp" #include +#define LOVYAN_USE_CORE_NUM 1 static const char *TAG = "lvgl_gui"; #define ENABLE_TEST_TIMER // Enable/Disable TIMER used for auto-shutoff From 9f820658015ba62629a88e13af1edb68962dee0c Mon Sep 17 00:00:00 2001 From: Alex Israelov Date: Sun, 23 Oct 2022 12:02:36 -0600 Subject: [PATCH 06/35] Set up submodules --- .gitmodules | 8 ++++++++ .../esp32_firmware_v0p3/ossg_firmware_mcu/.gitmodules | 8 -------- .../esp32_firmware_v0p3/ossg_firmware_mcu/components/lvgl | 1 + .../lib/{LovyanGFX => LovyanGFX_SmartGlasses} | 0 4 files changed, 9 insertions(+), 8 deletions(-) create mode 100644 .gitmodules delete mode 100644 electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/.gitmodules create mode 160000 electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/components/lvgl rename electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/lib/{LovyanGFX => LovyanGFX_SmartGlasses} (100%) diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..264881e --- /dev/null +++ b/.gitmodules @@ -0,0 +1,8 @@ +[submodule "electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/lib/LovyanGFX_SmartGlasses"] + path = electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/lib/LovyanGFX_SmartGlasses + url = https://github.com/alex1115alex/LovyanGFX_SmartGlasses.git + branch = develop +[submodule "electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/components/lvgl"] + path = electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/components/lvgl + url = https://github.com/lvgl/lvgl.git + branch = release/v8.3 diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/.gitmodules b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/.gitmodules deleted file mode 100644 index 7215092..0000000 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/.gitmodules +++ /dev/null @@ -1,8 +0,0 @@ -[submodule "lib/LovyanGFX"] - path = lib/LovyanGFX - url = https://github.com/alex1115alex/LovyanGFX_SmartGlasses.git - branch = develop -[submodule "components/lvgl"] - path = components/lvgl - url = https://github.com/lvgl/lvgl.git - branch = release/v8.3 diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/components/lvgl b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/components/lvgl new file mode 160000 index 0000000..0732400 --- /dev/null +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/components/lvgl @@ -0,0 +1 @@ +Subproject commit 0732400e7b564dd0e7dc4a924619d8e19c5b23a0 diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/lib/LovyanGFX b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/lib/LovyanGFX_SmartGlasses similarity index 100% rename from electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/lib/LovyanGFX rename to electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/lib/LovyanGFX_SmartGlasses From 27dd1f524826644d4fec61964ddefe406ee972bd Mon Sep 17 00:00:00 2001 From: Alex Israelov Date: Sun, 23 Oct 2022 13:44:31 -0600 Subject: [PATCH 07/35] Running out of memory here while running wifi+display... Investigate logger. --- .../lib/LovyanGFX_SmartGlasses | 2 +- .../ossg_firmware_mcu/platformio.ini | 1 + .../src/display/displaymanager.cpp | 5 +-- .../ossg_firmware_mcu/src/main.cpp | 38 +++++++++++-------- 4 files changed, 26 insertions(+), 20 deletions(-) diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/lib/LovyanGFX_SmartGlasses b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/lib/LovyanGFX_SmartGlasses index 506bbfd..46ddd5e 160000 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/lib/LovyanGFX_SmartGlasses +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/lib/LovyanGFX_SmartGlasses @@ -1 +1 @@ -Subproject commit 506bbfd6f13406c940821041e8fddea95f802478 +Subproject commit 46ddd5eccb053ea3d948891e703bc71d3d6e8896 diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/platformio.ini b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/platformio.ini index 4b61837..2ffd57c 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/platformio.ini +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/platformio.ini @@ -17,6 +17,7 @@ board_build.partitions = partitions_singleapp_large.csv ;board_build.partitions = min_spiffs.csv lib_ldf_mode = deep+ board_build.f_cpu = 240000000L +upload_port = /dev/ttyUSB0 monitor_port = /dev/ttyUSB0 build_flags = -Wl,-Map,output.map diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/displaymanager.cpp b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/displaymanager.cpp index 3f9ff3c..271b310 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/displaymanager.cpp +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/displaymanager.cpp @@ -34,6 +34,8 @@ static const char *TAG = "lvgl_gui"; // Set everything up void displayStart(){ + cout << "DISPLAY START TRIGGERED" << endl; + lcd.init(); // Initialize LovyanGFX lv_init(); // Initialize lvgl @@ -42,9 +44,6 @@ void displayStart(){ { ESP_LOGE(TAG, "LVGL setup failed!!!"); } - - cout << "Free heap: "; - cout << heap_caps_get_free_size(MALLOC_CAP_8BIT) << endl; // Function generated by squareline studio to register all its ui components ui_init_custom(); diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp index b57aa40..c6255d0 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp @@ -44,6 +44,8 @@ TickType_t lastTickTimeProc; esp_websocket_client_handle_t webSocketClient; static const char *audioJsonTemplate = "{\"MESSAGE_TYPE_LOCAL\" : \"AUDIO_CHUNK_DECRYPTED\", \"AUDIO_DATA\" : \"%s\"}"; +void startTheDisplay(); + // static const char *audioJsonTemplate = "%s"; // AUDIO********************************************************************************************************************** @@ -810,14 +812,10 @@ static void ping_loop_task(void *args) esp_websocket_client_send_text(webSocketClient, ping, strlen(ping), portMAX_DELAY); } vTaskDelay(500 / portTICK_RATE_MS); -#if MEM_MSG - cout << "Free heap: "; - cout << heap_caps_get_free_size(MALLOC_CAP_8BIT) << endl; -#endif } } -static void websocket_app_start(void *args) +static void websocket_app_start() { esp_websocket_client_config_t websocket_cfg = {}; @@ -845,6 +843,9 @@ static void websocket_app_start(void *args) esp_websocket_client_start(webSocketClient); audioSubscribed = true; +} + +void websocket_listen_loop(void *args){ // xTimerStart(shutdown_signal_timer, portMAX_DELAY); char data[32]; int i = 0; @@ -963,6 +964,14 @@ static void websocket_app_start(void *args) #define PSRAM_WORKAROUND1 asm(" nop;nop;nop;nop"); #define PSRAM_WORKAROUND2 asm(" memw"); +void startTheDisplay(){ + #if ENABLEDISPLAY + displayStart(); + displayCardSearchTextonlyDemo(); + displayEnterVoiceCommandStep2(); + #endif +} + extern "C" { void app_main(); @@ -989,28 +998,23 @@ void app_main(void) // start WIFI wifi_init_sta(); - // MAXHEAP: 223000 - #if ENABLEDISPLAY - displayStart(); - displayCardSearchTextonlyDemo(); - displayEnterVoiceCommandStep2(); - #endif - - /* //connect to WIS web socket + websocket_app_start(); + esp_log_level_set("WEBSOCKET_CLIENT", ESP_LOG_DEBUG); - TaskHandle_t webSocketTask = NULL; - xTaskCreate(websocket_app_start, "web_socket_task", 6*4096, NULL, 1, &webSocketTask); + TaskHandle_t webSocketTask = NULL; //6*4096 + xTaskCreatePinnedToCore(websocket_listen_loop, "web_socket_task", 4*1024, NULL, 1, &webSocketTask, 0); //start websocket pingwer TaskHandle_t webSocketPingTask = NULL; - xTaskCreate(ping_loop_task, "ping_loop_task", 4096, NULL, 1, &webSocketPingTask); + xTaskCreatePinnedToCore(ping_loop_task, "ping_loop_task", 4*1024, NULL, 1, &webSocketPingTask, 0); //connect to audio TCP socket stream // esp_log_level_set("TRANS_TCP", ESP_LOG_DEBUG); //xTaskCreate(tcp_client_task, "tcp_client", 4096, NULL, 5, NULL); // *********************** Create audio buffer**************************** / + /* audioMessageBuffer = xMessageBufferCreate(audioMessageBufferLen * 4); //hold n message at once, where n is the constant multiplier //assert(audioMessageBuffer); audioQueue = xQueueCreate(250, sizeof(uint8_t*)); @@ -1029,6 +1033,8 @@ void app_main(void) TaskHandle_t microphoneTaskHandle = NULL; xTaskCreate(microphone_stream, "microphone_stream_task", 6*4096, NULL, 1, µphoneTaskHandle); */ + startTheDisplay(); + #if MEM_MSG cout << "Free heap OGOGOG: "; From 4e49c76996b062cfd0fec7ec8adc07e85723e6fb Mon Sep 17 00:00:00 2001 From: Alex Israelov Date: Mon, 24 Oct 2022 13:35:39 -0600 Subject: [PATCH 08/35] added sdkconfigdefault --- .../ossg_firmware_mcu/sdkconfig.defaults | 1772 +++++++++++++++++ 1 file changed, 1772 insertions(+) create mode 100644 electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/sdkconfig.defaults diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/sdkconfig.defaults b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/sdkconfig.defaults new file mode 100644 index 0000000..9acccbd --- /dev/null +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/sdkconfig.defaults @@ -0,0 +1,1772 @@ +# +# 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_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 +CONFIG_BOOTLOADER_FLASH_XMC_SUPPORT=y +# 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_FLASH_SAMPLE_MODE_STR=y +CONFIG_ESPTOOLPY_FLASHMODE="dio" +CONFIG_ESPTOOLPY_FLASHFREQ_80M=y +# CONFIG_ESPTOOLPY_FLASHFREQ_40M is not set +# CONFIG_ESPTOOLPY_FLASHFREQ_26M is not set +# CONFIG_ESPTOOLPY_FLASHFREQ_20M is not set +CONFIG_ESPTOOLPY_FLASHFREQ="80m" +# CONFIG_ESPTOOLPY_FLASHSIZE_1MB is not set +# CONFIG_ESPTOOLPY_FLASHSIZE_2MB is not set +CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y +# CONFIG_ESPTOOLPY_FLASHSIZE_8MB is not set +# CONFIG_ESPTOOLPY_FLASHSIZE_16MB is not set +CONFIG_ESPTOOLPY_FLASHSIZE="4MB" +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 is not set +# CONFIG_PARTITION_TABLE_SINGLE_APP_LARGE is not set +# CONFIG_PARTITION_TABLE_TWO_OTA is not set +CONFIG_PARTITION_TABLE_CUSTOM=y +CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions_singleapp_large.csv" +CONFIG_PARTITION_TABLE_FILENAME="partitions_singleapp_large.csv" +CONFIG_PARTITION_TABLE_OFFSET=0x8000 +CONFIG_PARTITION_TABLE_MD5=y +# end of Partition Table + +# +# 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_OPTIMIZATION_ASSERTION_LEVEL=2 +# CONFIG_COMPILER_OPTIMIZATION_CHECKS_SILENT is not set +CONFIG_COMPILER_HIDE_PATHS_MACROS=y +# 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_JTAG 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 +# 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 + +# +# MCPWM configuration +# +# CONFIG_MCPWM_ISR_IN_IRAM is not set +# end of MCPWM 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 + +# +# GDMA Configuration +# +# CONFIG_GDMA_CTRL_FUNC_IN_IRAM is not set +# CONFIG_GDMA_ISR_IRAM_SAFE is not set +# end of GDMA 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_CLIENT_SESSION_TICKETS 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_ECO3_CACHE_LOCK_FIX=y +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 is not set +CONFIG_ESP32_DEFAULT_CPU_FREQ_240=y +CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ=240 +CONFIG_ESP32_SPIRAM_SUPPORT=y + +# +# SPI RAM config +# +CONFIG_SPIRAM_TYPE_AUTO=y +# CONFIG_SPIRAM_TYPE_ESPPSRAM16 is not set +# CONFIG_SPIRAM_TYPE_ESPPSRAM32 is not set +# CONFIG_SPIRAM_TYPE_ESPPSRAM64 is not set +CONFIG_SPIRAM_SIZE=-1 +# CONFIG_SPIRAM_SPEED_40M is not set +CONFIG_SPIRAM_SPEED_80M=y +CONFIG_SPIRAM=y +CONFIG_SPIRAM_BOOT_INIT=y +# CONFIG_SPIRAM_IGNORE_NOTFOUND is not set +# CONFIG_SPIRAM_USE_MEMMAP is not set +# CONFIG_SPIRAM_USE_CAPS_ALLOC is not set +CONFIG_SPIRAM_USE_MALLOC=y +CONFIG_SPIRAM_MEMTEST=y +CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL=16384 +CONFIG_SPIRAM_TRY_ALLOCATE_WIFI_LWIP=y +CONFIG_SPIRAM_MALLOC_RESERVE_INTERNAL=32768 +# CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY is not set +# CONFIG_SPIRAM_ALLOW_NOINIT_SEG_EXTERNAL_MEMORY is not set +CONFIG_SPIRAM_CACHE_WORKAROUND=y + +# +# SPIRAM cache workaround debugging +# +CONFIG_SPIRAM_CACHE_WORKAROUND_STRATEGY_MEMW=y +# CONFIG_SPIRAM_CACHE_WORKAROUND_STRATEGY_DUPLDST is not set +# CONFIG_SPIRAM_CACHE_WORKAROUND_STRATEGY_NOPS is not set +# end of SPIRAM cache workaround debugging + +# +# SPIRAM workaround libraries placement +# +CONFIG_SPIRAM_CACHE_LIBJMP_IN_IRAM=y +CONFIG_SPIRAM_CACHE_LIBMATH_IN_IRAM=y +CONFIG_SPIRAM_CACHE_LIBNUMPARSER_IN_IRAM=y +CONFIG_SPIRAM_CACHE_LIBIO_IN_IRAM=y +CONFIG_SPIRAM_CACHE_LIBTIME_IN_IRAM=y +CONFIG_SPIRAM_CACHE_LIBCHAR_IN_IRAM=y +CONFIG_SPIRAM_CACHE_LIBMEM_IN_IRAM=y +CONFIG_SPIRAM_CACHE_LIBSTR_IN_IRAM=y +CONFIG_SPIRAM_CACHE_LIBRAND_IN_IRAM=y +CONFIG_SPIRAM_CACHE_LIBENV_IN_IRAM=y +CONFIG_SPIRAM_CACHE_LIBFILE_IN_IRAM=y +CONFIG_SPIRAM_CACHE_LIBMISC_IN_IRAM=y +# end of SPIRAM workaround libraries placement + +CONFIG_SPIRAM_BANKSWITCH_ENABLE=y +CONFIG_SPIRAM_BANKSWITCH_RESERVE=8 +CONFIG_SPIRAM_ALLOW_STACK_EXTERNAL_MEMORY=y +# CONFIG_SPIRAM_OCCUPY_HSPI_HOST is not set +CONFIG_SPIRAM_OCCUPY_VSPI_HOST=y +# CONFIG_SPIRAM_OCCUPY_NO_HOST is not set + +# +# PSRAM clock and cs IO for ESP32-DOWD +# +CONFIG_D0WD_PSRAM_CLK_IO=17 +CONFIG_D0WD_PSRAM_CS_IO=16 +# end of PSRAM clock and cs IO for ESP32-DOWD + +# +# PSRAM clock and cs IO for ESP32-D2WD +# +CONFIG_D2WD_PSRAM_CLK_IO=9 +CONFIG_D2WD_PSRAM_CS_IO=10 +# end of PSRAM clock and cs IO for ESP32-D2WD + +# +# PSRAM clock and cs IO for ESP32-PICO +# +CONFIG_PICO_PSRAM_CS_IO=10 +# end of PSRAM clock and cs IO for ESP32-PICO + +# CONFIG_SPIRAM_CUSTOM_SPIWP_SD3_PIN is not set +CONFIG_SPIRAM_SPIWP_SD3_PIN=7 +# CONFIG_SPIRAM_2T_MODE is not set +# end of SPI RAM config + +# CONFIG_ESP32_TRAX is not set +CONFIG_ESP32_TRACEMEM_RESERVE_DRAM=0x0 +# 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_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_COMPATIBLE_PRE_V3_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 +# end of Common ESP-related + +# +# Ethernet +# +CONFIG_ETH_ENABLED=y +CONFIG_ETH_USE_ESP32_EMAC=y +CONFIG_ETH_PHY_INTERFACE_RMII=y +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_SPI_ETHERNET_KSZ8851SNL 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 +CONFIG_ESP_HTTP_CLIENT_ENABLE_DIGEST_AUTH=y +# 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 + +# +# Hardware Settings +# + +# +# MAC Config +# +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 +# CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_TWO is not set +CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_FOUR=y +CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES=4 +# end of MAC Config + +# +# Sleep Config +# +CONFIG_ESP_SLEEP_RTC_BUS_ISO_WORKAROUND=y +# CONFIG_ESP_SLEEP_GPIO_RESET_WORKAROUND is not set +# CONFIG_ESP_SLEEP_PSRAM_LEAKAGE_WORKAROUND is not set +# CONFIG_ESP_SLEEP_FLASH_LEAKAGE_WORKAROUND is not set +# end of Sleep Config + +# +# RTC Clock Config +# +# end of RTC Clock Config +# end of Hardware Settings + +# +# IPC (Inter-Processor Call) +# +CONFIG_ESP_IPC_TASK_STACK_SIZE=1024 +CONFIG_ESP_IPC_USES_CALLERS_PRIORITY=y +CONFIG_ESP_IPC_ISR_ENABLE=y +# end of IPC (Inter-Processor Call) + +# +# LCD and Touch Panel +# + +# +# LCD Peripheral Configuration +# +CONFIG_LCD_PANEL_IO_FORMAT_BUF_SIZE=32 +# end of LCD Peripheral Configuration +# end of LCD and Touch Panel + +# +# 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 + +# +# PHY +# +CONFIG_ESP_PHY_CALIBRATION_AND_DATA_STORAGE=y +# CONFIG_ESP_PHY_INIT_DATA_IN_PARTITION is not set +CONFIG_ESP_PHY_MAX_WIFI_TX_POWER=20 +CONFIG_ESP_PHY_MAX_TX_POWER=20 +CONFIG_ESP_PHY_REDUCE_TX_POWER=y +# end of PHY + +# +# 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_GDBSTUB_RUNTIME is not set + +# +# Memory protection +# +# end of Memory protection + +CONFIG_ESP_SYSTEM_EVENT_QUEUE_SIZE=32 +CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=2304 +CONFIG_ESP_MAIN_TASK_STACK_SIZE=3584 +CONFIG_ESP_MAIN_TASK_AFFINITY_CPU0=y +# CONFIG_ESP_MAIN_TASK_AFFINITY_CPU1 is not set +# CONFIG_ESP_MAIN_TASK_AFFINITY_NO_AFFINITY is not set +CONFIG_ESP_MAIN_TASK_AFFINITY=0x0 +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_DEBUG_STUBS_ENABLE is not set +CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_5=y +# CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_4 is not set +# 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_INTERRUPT_LEVEL=1 +# CONFIG_ESP_TIMER_SUPPORTS_ISR_DISPATCH_METHOD is not set +# 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_ENABLED=y +CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=10 +CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=32 +CONFIG_ESP32_WIFI_STATIC_TX_BUFFER=y +CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=0 +CONFIG_ESP32_WIFI_STATIC_TX_BUFFER_NUM=16 +CONFIG_ESP32_WIFI_CACHE_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_AMSDU_TX_ENABLED is not set +CONFIG_ESP32_WIFI_NVS_ENABLED=y +# CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_0 is not set +CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_1=y +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_ESP_WIFI_SLP_IRAM_OPT is not set +# CONFIG_ESP_WIFI_STA_DISCONNECTED_PM_ENABLE is not set +# CONFIG_ESP_WIFI_GMAC_SUPPORT is not set +CONFIG_ESP_WIFI_SOFTAP_SUPPORT=y +# end of Wi-Fi + +# +# Core dump +# +# 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_ALLOC_PREFER_EXTRAM=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_PORT_TASK_AFFINITY_NO_AFFINITY is not set +CONFIG_FMB_PORT_TASK_AFFINITY_CPU0=y +# CONFIG_FMB_PORT_TASK_AFFINITY_CPU1 is not set +CONFIG_FMB_PORT_TASK_AFFINITY=0x0 +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_MASTER_TIMER_GROUP=0 +CONFIG_FMB_MASTER_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_TICK_SUPPORT_CORETIMER=y +CONFIG_FREERTOS_CORETIMER_0=y +# CONFIG_FREERTOS_CORETIMER_1 is not set +CONFIG_FREERTOS_SYSTICK_USES_CCOUNT=y +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 +CONFIG_FREERTOS_ENABLE_TASK_SNAPSHOT=y +# CONFIG_FREERTOS_PLACE_SNAPSHOT_FUNS_INTO_FLASH is not set +# end of FreeRTOS + +# +# Hardware Abstraction Layer (HAL) and Low Level (LL) +# +CONFIG_HAL_ASSERTION_EQUALS_SYSTEM=y +# CONFIG_HAL_ASSERTION_DISABLE is not set +# CONFIG_HAL_ASSERTION_SILIENT is not set +# CONFIG_HAL_ASSERTION_ENABLE is not set +CONFIG_HAL_DEFAULT_ASSERTION_LEVEL=2 +# end of Hardware Abstraction Layer (HAL) and Low Level (LL) + +# +# 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_MAXIMUM_EQUALS_DEFAULT=y +# CONFIG_LOG_MAXIMUM_LEVEL_DEBUG is not set +# CONFIG_LOG_MAXIMUM_LEVEL_VERBOSE is not set +CONFIG_LOG_MAXIMUM_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_NETIF_API is not set +# CONFIG_LWIP_TCPIP_CORE_LOCKING is not set +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_DISABLE_CLIENT_ID is not set +CONFIG_LWIP_DHCP_DISABLE_VENDOR_CLASS_ID=y +# CONFIG_LWIP_DHCP_RESTORE_LAST_IP is not set +CONFIG_LWIP_DHCP_OPTIONS_LEN=68 + +# +# DHCP server +# +CONFIG_LWIP_DHCPS=y +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_IPV6_NUM_ADDRESSES=3 +# CONFIG_LWIP_IPV6_FORWARD is not set +# CONFIG_LWIP_NETIF_STATUS_CALLBACK 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_WND_SCALE 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_ICMP=y +# 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_SNTP_MAX_SERVERS=1 +# CONFIG_LWIP_DHCP_GET_NTP_SRV is not set +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_ND6_GET_GW_NONE=y +# CONFIG_LWIP_HOOK_ND6_GET_GW_DEFAULT is not set +# CONFIG_LWIP_HOOK_ND6_GET_GW_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_EXTERNAL_MEM_ALLOC is not set +# 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 + +# +# mbedTLS v2.28.x related +# +# CONFIG_MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH is not set +# CONFIG_MBEDTLS_X509_TRUSTED_CERT_CALLBACK is not set +# CONFIG_MBEDTLS_SSL_CONTEXT_SERIALIZATION is not set +CONFIG_MBEDTLS_SSL_KEEP_PEER_CERTIFICATE=y +# end of mbedTLS v2.28.x related + +# +# 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_GMTSSL1_1 is not set +# CONFIG_MBEDTLS_SSL_PROTO_DTLS is not set +CONFIG_MBEDTLS_SSL_ALPN=y +CONFIG_MBEDTLS_CLIENT_SSL_SESSION_TICKETS=y +CONFIG_MBEDTLS_X509_CHECK_KEY_USAGE=y +CONFIG_MBEDTLS_X509_CHECK_EXTENDED_KEY_USAGE=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 +# CONFIG_MBEDTLS_NIST_KW_C is not set +# 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 +# CONFIG_MDNS_NETWORKING_SOCKET is not set +CONFIG_MDNS_MULTIPLE_INSTANCE=y +# 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 + +# +# OpenThread +# +# CONFIG_OPENTHREAD_ENABLED is not set +# end of OpenThread + +# +# 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 +# CONFIG_SPI_FLASH_OVERRIDE_CHIP_DRIVER_LIST 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 +# CONFIG_SPI_FLASH_SUPPORT_BOYA_CHIP is not set +# CONFIG_SPI_FLASH_SUPPORT_TH_CHIP is not set +# 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 +# + +# +# Websocket +# +CONFIG_WS_TRANSPORT=y +CONFIG_WS_BUFFER_SIZE=1024 +# end of Websocket +# end of TCP Transport + +# +# Unity unit testing library +# +CONFIG_UNITY_ENABLE_FLOAT=y +CONFIG_UNITY_ENABLE_DOUBLE=y +# CONFIG_UNITY_ENABLE_64BIT is not set +# 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_SUITE_B_192 is not set +# CONFIG_WPA_DEBUG_PRINT is not set +# CONFIG_WPA_TESTING_OPTIONS is not set +# CONFIG_WPA_WPS_STRICT is not set +# CONFIG_WPA_11KV_SUPPORT is not set +# end of Supplicant + +# +# LVGL configuration +# +# CONFIG_LV_CONF_SKIP is not set +# CONFIG_LV_CONF_MINIMAL is not set + +# +# Color settings +# +# CONFIG_LV_COLOR_DEPTH_32 is not set +CONFIG_LV_COLOR_DEPTH_16=y +# CONFIG_LV_COLOR_DEPTH_8 is not set +# CONFIG_LV_COLOR_DEPTH_1 is not set +CONFIG_LV_COLOR_DEPTH=16 +# CONFIG_LV_COLOR_16_SWAP is not set +# CONFIG_LV_COLOR_SCREEN_TRANSP is not set +CONFIG_LV_COLOR_MIX_ROUND_OFS=128 +CONFIG_LV_COLOR_CHROMA_KEY_HEX=0x00FF00 +# end of Color settings + +# +# Memory settings +# +# CONFIG_LV_MEM_CUSTOM is not set +CONFIG_LV_MEM_SIZE_KILOBYTES=32 +CONFIG_LV_MEM_ADDR=0x0 +CONFIG_LV_MEM_BUF_MAX_NUM=16 +# CONFIG_LV_MEMCPY_MEMSET_STD is not set +# end of Memory settings + +# +# HAL Settings +# +CONFIG_LV_DISP_DEF_REFR_PERIOD=30 +CONFIG_LV_INDEV_DEF_READ_PERIOD=30 +# CONFIG_LV_TICK_CUSTOM is not set +CONFIG_LV_DPI_DEF=130 +# end of HAL Settings + +# +# Feature configuration +# + +# +# Drawing +# +CONFIG_LV_DRAW_COMPLEX=y +CONFIG_LV_SHADOW_CACHE_SIZE=0 +CONFIG_LV_CIRCLE_CACHE_SIZE=4 +CONFIG_LV_LAYER_SIMPLE_BUF_SIZE=24576 +CONFIG_LV_IMG_CACHE_DEF_SIZE=0 +CONFIG_LV_GRADIENT_MAX_STOPS=2 +CONFIG_LV_GRAD_CACHE_DEF_SIZE=0 +# CONFIG_LV_DITHER_GRADIENT is not set +CONFIG_LV_DISP_ROT_MAX_BUF=10240 +# end of Drawing + +# +# GPU +# +# CONFIG_LV_USE_GPU_ARM2D is not set +# CONFIG_LV_USE_GPU_STM32_DMA2D is not set +# CONFIG_LV_USE_GPU_SWM341_DMA2D is not set +# CONFIG_LV_USE_GPU_NXP_PXP is not set +# CONFIG_LV_USE_GPU_NXP_VG_LITE is not set +# CONFIG_LV_USE_GPU_SDL is not set +# end of GPU + +# +# Logging +# +# CONFIG_LV_USE_LOG is not set +# end of Logging + +# +# Asserts +# +CONFIG_LV_USE_ASSERT_NULL=y +CONFIG_LV_USE_ASSERT_MALLOC=y +# CONFIG_LV_USE_ASSERT_STYLE is not set +# CONFIG_LV_USE_ASSERT_MEM_INTEGRITY is not set +# CONFIG_LV_USE_ASSERT_OBJ is not set +CONFIG_LV_ASSERT_HANDLER_INCLUDE="assert.h" +# end of Asserts + +# +# Others +# +# CONFIG_LV_USE_PERF_MONITOR is not set +# CONFIG_LV_USE_MEM_MONITOR is not set +# CONFIG_LV_USE_REFR_DEBUG is not set +# CONFIG_LV_SPRINTF_CUSTOM is not set +# CONFIG_LV_SPRINTF_USE_FLOAT is not set +CONFIG_LV_USE_USER_DATA=y +# CONFIG_LV_ENABLE_GC is not set +# end of Others + +# +# Compiler settings +# +# CONFIG_LV_BIG_ENDIAN_SYSTEM is not set +CONFIG_LV_ATTRIBUTE_MEM_ALIGN_SIZE=1 +# CONFIG_LV_ATTRIBUTE_FAST_MEM_USE_IRAM is not set +# CONFIG_LV_USE_LARGE_COORD is not set +# end of Compiler settings +# end of Feature configuration + +# +# Font usage +# + +# +# Enable built-in fonts +# +# CONFIG_LV_FONT_MONTSERRAT_8 is not set +# CONFIG_LV_FONT_MONTSERRAT_10 is not set +# CONFIG_LV_FONT_MONTSERRAT_12 is not set +CONFIG_LV_FONT_MONTSERRAT_14=y +# CONFIG_LV_FONT_MONTSERRAT_16 is not set +# CONFIG_LV_FONT_MONTSERRAT_18 is not set +# CONFIG_LV_FONT_MONTSERRAT_20 is not set +# CONFIG_LV_FONT_MONTSERRAT_22 is not set +# CONFIG_LV_FONT_MONTSERRAT_24 is not set +# CONFIG_LV_FONT_MONTSERRAT_26 is not set +# CONFIG_LV_FONT_MONTSERRAT_28 is not set +# CONFIG_LV_FONT_MONTSERRAT_30 is not set +# CONFIG_LV_FONT_MONTSERRAT_32 is not set +# CONFIG_LV_FONT_MONTSERRAT_34 is not set +# CONFIG_LV_FONT_MONTSERRAT_36 is not set +# CONFIG_LV_FONT_MONTSERRAT_38 is not set +# CONFIG_LV_FONT_MONTSERRAT_40 is not set +# CONFIG_LV_FONT_MONTSERRAT_42 is not set +# CONFIG_LV_FONT_MONTSERRAT_44 is not set +# CONFIG_LV_FONT_MONTSERRAT_46 is not set +# CONFIG_LV_FONT_MONTSERRAT_48 is not set +# CONFIG_LV_FONT_MONTSERRAT_12_SUBPX is not set +# CONFIG_LV_FONT_MONTSERRAT_28_COMPRESSED is not set +# CONFIG_LV_FONT_DEJAVU_16_PERSIAN_HEBREW is not set +# CONFIG_LV_FONT_SIMSUN_16_CJK is not set +# CONFIG_LV_FONT_UNSCII_8 is not set +# CONFIG_LV_FONT_UNSCII_16 is not set +# CONFIG_LV_FONT_CUSTOM is not set +# end of Enable built-in fonts + +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_8 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_12 is not set +CONFIG_LV_FONT_DEFAULT_MONTSERRAT_14=y +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_16 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_18 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_20 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_22 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_24 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_26 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_28 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_30 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_32 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_34 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_36 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_38 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_40 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_42 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_44 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_46 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_48 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_12_SUBPX is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_28_COMPRESSED is not set +# CONFIG_LV_FONT_DEFAULT_DEJAVU_16_PERSIAN_HEBREW is not set +# CONFIG_LV_FONT_DEFAULT_SIMSUN_16_CJK is not set +# CONFIG_LV_FONT_DEFAULT_UNSCII_8 is not set +# CONFIG_LV_FONT_DEFAULT_UNSCII_16 is not set +# CONFIG_LV_FONT_FMT_TXT_LARGE is not set +# CONFIG_LV_USE_FONT_COMPRESSED is not set +# CONFIG_LV_USE_FONT_SUBPX is not set +CONFIG_LV_USE_FONT_PLACEHOLDER=y +# end of Font usage + +# +# Text Settings +# +CONFIG_LV_TXT_ENC_UTF8=y +# CONFIG_LV_TXT_ENC_ASCII is not set +CONFIG_LV_TXT_BREAK_CHARS=" ,.;:-_" +CONFIG_LV_TXT_LINE_BREAK_LONG_LEN=0 +CONFIG_LV_TXT_COLOR_CMD="#" +# CONFIG_LV_USE_BIDI is not set +# CONFIG_LV_USE_ARABIC_PERSIAN_CHARS is not set +# end of Text Settings + +# +# Widget usage +# +CONFIG_LV_USE_ARC=y +CONFIG_LV_USE_BAR=y +CONFIG_LV_USE_BTN=y +CONFIG_LV_USE_BTNMATRIX=y +CONFIG_LV_USE_CANVAS=y +CONFIG_LV_USE_CHECKBOX=y +CONFIG_LV_USE_DROPDOWN=y +CONFIG_LV_USE_IMG=y +CONFIG_LV_USE_LABEL=y +CONFIG_LV_LABEL_TEXT_SELECTION=y +CONFIG_LV_LABEL_LONG_TXT_HINT=y +CONFIG_LV_USE_LINE=y +CONFIG_LV_USE_ROLLER=y +CONFIG_LV_ROLLER_INF_PAGES=7 +CONFIG_LV_USE_SLIDER=y +CONFIG_LV_USE_SWITCH=y +CONFIG_LV_USE_TEXTAREA=y +CONFIG_LV_TEXTAREA_DEF_PWD_SHOW_TIME=1500 +CONFIG_LV_USE_TABLE=y +# end of Widget usage + +# +# Extra Widgets +# +CONFIG_LV_USE_ANIMIMG=y +CONFIG_LV_USE_CALENDAR=y +# CONFIG_LV_CALENDAR_WEEK_STARTS_MONDAY is not set +CONFIG_LV_USE_CALENDAR_HEADER_ARROW=y +CONFIG_LV_USE_CALENDAR_HEADER_DROPDOWN=y +CONFIG_LV_USE_CHART=y +CONFIG_LV_USE_COLORWHEEL=y +CONFIG_LV_USE_IMGBTN=y +CONFIG_LV_USE_KEYBOARD=y +CONFIG_LV_USE_LED=y +CONFIG_LV_USE_LIST=y +CONFIG_LV_USE_MENU=y +CONFIG_LV_USE_METER=y +CONFIG_LV_USE_MSGBOX=y +CONFIG_LV_USE_SPAN=y +CONFIG_LV_SPAN_SNIPPET_STACK_SIZE=64 +CONFIG_LV_USE_SPINBOX=y +CONFIG_LV_USE_SPINNER=y +CONFIG_LV_USE_TABVIEW=y +CONFIG_LV_USE_TILEVIEW=y +CONFIG_LV_USE_WIN=y +# end of Extra Widgets + +# +# Themes +# +CONFIG_LV_USE_THEME_DEFAULT=y +# CONFIG_LV_THEME_DEFAULT_DARK is not set +CONFIG_LV_THEME_DEFAULT_GROW=y +CONFIG_LV_THEME_DEFAULT_TRANSITION_TIME=80 +CONFIG_LV_USE_THEME_BASIC=y +# CONFIG_LV_USE_THEME_MONO is not set +# end of Themes + +# +# Layouts +# +CONFIG_LV_USE_FLEX=y +CONFIG_LV_USE_GRID=y +# end of Layouts + +# +# 3rd Party Libraries +# +# CONFIG_LV_USE_FS_STDIO is not set +# CONFIG_LV_USE_FS_POSIX is not set +# CONFIG_LV_USE_FS_WIN32 is not set +# CONFIG_LV_USE_FS_FATFS is not set +# CONFIG_LV_USE_PNG is not set +# CONFIG_LV_USE_BMP is not set +# CONFIG_LV_USE_SJPG is not set +# CONFIG_LV_USE_GIF is not set +# CONFIG_LV_USE_QRCODE is not set +# CONFIG_LV_USE_FREETYPE is not set +# CONFIG_LV_USE_RLOTTIE is not set +# CONFIG_LV_USE_FFMPEG is not set +# end of 3rd Party Libraries + +# +# Others +# +CONFIG_LV_USE_SNAPSHOT=y +# CONFIG_LV_USE_MONKEY is not set +# CONFIG_LV_USE_GRIDNAV is not set +# CONFIG_LV_USE_FRAGMENT is not set +# CONFIG_LV_USE_IMGFONT is not set +# CONFIG_LV_USE_MSG is not set +# CONFIG_LV_USE_IME_PINYIN is not set +# end of Others + +# +# Examples +# +CONFIG_LV_BUILD_EXAMPLES=y +# end of Examples + +# +# Demos +# +# CONFIG_LV_USE_DEMO_WIDGETS is not set +# CONFIG_LV_USE_DEMO_KEYPAD_AND_ENCODER is not set +# CONFIG_LV_USE_DEMO_BENCHMARK is not set +# CONFIG_LV_USE_DEMO_STRESS is not set +# CONFIG_LV_USE_DEMO_MUSIC is not set +# end of Demos +# end of LVGL 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_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_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_ADC2_DISABLE_DAC=y +CONFIG_SPIRAM_SUPPORT=y +CONFIG_WIFI_LWIP_ALLOCATION_FROM_SPIRAM_FIRST=y +CONFIG_TRACEMEM_RESERVE_DRAM=0x0 +# 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_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_EVENT_LOOP_PROFILING is not set +CONFIG_POST_EVENTS_FROM_ISR=y +CONFIG_POST_EVENTS_FROM_IRAM_ISR=y +# CONFIG_TWO_UNIVERSAL_MAC_ADDRESS is not set +CONFIG_FOUR_UNIVERSAL_MAC_ADDRESS=y +CONFIG_NUMBER_OF_UNIVERSAL_MAC_ADDRESS=4 +# CONFIG_ESP32C3_LIGHTSLEEP_GPIO_RESET_WORKAROUND is not set +CONFIG_IPC_TASK_STACK_SIZE=1024 +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_ESP32_REDUCE_PHY_TX_POWER=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_SYSTEM_EVENT_QUEUE_SIZE=32 +CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE=2304 +CONFIG_MAIN_TASK_STACK_SIZE=3584 +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_ESP32_DEBUG_STUBS_ENABLE is not set +CONFIG_TIMER_TASK_STACK_SIZE=3584 +# 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 From d98151ed3b6b7a47c7a16a9992a90ed4956455e4 Mon Sep 17 00:00:00 2001 From: cayden Date: Mon, 24 Oct 2022 15:51:04 -0400 Subject: [PATCH 09/35] fix build errors re sdkconfig and partition table --- .../partitions_singleapp_large.csv | 5 + .../ossg_firmware_mcu/sdkconfig.esp32dev | 1297 ------------ .../ossg_firmware_mcu/sdkconfig.pico32 | 1772 ----------------- 3 files changed, 5 insertions(+), 3069 deletions(-) create mode 100644 electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/partitions_singleapp_large.csv delete mode 100644 electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/sdkconfig.esp32dev delete mode 100644 electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/sdkconfig.pico32 diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/partitions_singleapp_large.csv b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/partitions_singleapp_large.csv new file mode 100644 index 0000000..8bc7d7c --- /dev/null +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/partitions_singleapp_large.csv @@ -0,0 +1,5 @@ +# Name, Type, SubType, Offset, Size, Flags +# Note: if you have increased the bootloader size, make sure to update the offsets to avoid overlap +nvs, data, nvs, , 0x6000, +phy_init, data, phy, , 0x1000, +factory, app, factory, , 1500K, diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/sdkconfig.esp32dev b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/sdkconfig.esp32dev deleted file mode 100644 index 451b2b8..0000000 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/sdkconfig.esp32dev +++ /dev/null @@ -1,1297 +0,0 @@ -# -# 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 -CONFIG_BOOTLOADER_FLASH_XMC_SUPPORT=y -# 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=y -# 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 - -# -# 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 -CONFIG_BT_NIMBLE_USE_ESP_TIMER=y -# 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_COMPATIBLE_PRE_V3_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 -# CONFIG_ESP_SYSTEM_FLASH_LEAKAGE_WORKAROUND is not set - -# -# 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_WIFI_LOG_DEFAULT_LEVEL_NONE is not set -# CONFIG_WIFI_LOG_DEFAULT_LEVEL_ERROR is not set -# CONFIG_WIFI_LOG_DEFAULT_LEVEL_WARN is not set -CONFIG_WIFI_LOG_DEFAULT_LEVEL_INFO=y -# CONFIG_WIFI_LOG_DEFAULT_LEVEL_DEBUG is not set -# CONFIG_WIFI_LOG_DEFAULT_LEVEL_VERBOSE 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_PORT_TASK_AFFINITY_NO_AFFINITY is not set -CONFIG_FMB_PORT_TASK_AFFINITY_CPU0=y -# CONFIG_FMB_PORT_TASK_AFFINITY_CPU1 is not set -CONFIG_FMB_PORT_TASK_AFFINITY=0x0 -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 is not set -CONFIG_FMB_TIMER_GROUP=0 -CONFIG_FMB_TIMER_INDEX=0 -CONFIG_FMB_MASTER_TIMER_GROUP=0 -CONFIG_FMB_MASTER_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_DISABLE_CLIENT_ID is not set -# CONFIG_LWIP_DHCP_RESTORE_LAST_IP is not set - -# -# DHCP server -# -CONFIG_LWIP_DHCPS=y -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_ICMP=y -# 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_X509_CHECK_KEY_USAGE=y -CONFIG_MBEDTLS_X509_CHECK_EXTENDED_KEY_USAGE=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 -# CONFIG_MBEDTLS_NIST_KW_C is not set -# 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 -# - -# -# Websocket -# -CONFIG_WS_TRANSPORT=y -CONFIG_WS_BUFFER_SIZE=1024 -# end of Websocket -# 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_STRICT is not set -# CONFIG_WPA_11KV_SUPPORT is not set -# end of Supplicant -# 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 is not set -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/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/sdkconfig.pico32 b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/sdkconfig.pico32 deleted file mode 100644 index 9acccbd..0000000 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/sdkconfig.pico32 +++ /dev/null @@ -1,1772 +0,0 @@ -# -# 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_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 -CONFIG_BOOTLOADER_FLASH_XMC_SUPPORT=y -# 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_FLASH_SAMPLE_MODE_STR=y -CONFIG_ESPTOOLPY_FLASHMODE="dio" -CONFIG_ESPTOOLPY_FLASHFREQ_80M=y -# CONFIG_ESPTOOLPY_FLASHFREQ_40M is not set -# CONFIG_ESPTOOLPY_FLASHFREQ_26M is not set -# CONFIG_ESPTOOLPY_FLASHFREQ_20M is not set -CONFIG_ESPTOOLPY_FLASHFREQ="80m" -# CONFIG_ESPTOOLPY_FLASHSIZE_1MB is not set -# CONFIG_ESPTOOLPY_FLASHSIZE_2MB is not set -CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y -# CONFIG_ESPTOOLPY_FLASHSIZE_8MB is not set -# CONFIG_ESPTOOLPY_FLASHSIZE_16MB is not set -CONFIG_ESPTOOLPY_FLASHSIZE="4MB" -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 is not set -# CONFIG_PARTITION_TABLE_SINGLE_APP_LARGE is not set -# CONFIG_PARTITION_TABLE_TWO_OTA is not set -CONFIG_PARTITION_TABLE_CUSTOM=y -CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions_singleapp_large.csv" -CONFIG_PARTITION_TABLE_FILENAME="partitions_singleapp_large.csv" -CONFIG_PARTITION_TABLE_OFFSET=0x8000 -CONFIG_PARTITION_TABLE_MD5=y -# end of Partition Table - -# -# 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_OPTIMIZATION_ASSERTION_LEVEL=2 -# CONFIG_COMPILER_OPTIMIZATION_CHECKS_SILENT is not set -CONFIG_COMPILER_HIDE_PATHS_MACROS=y -# 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_JTAG 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 -# 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 - -# -# MCPWM configuration -# -# CONFIG_MCPWM_ISR_IN_IRAM is not set -# end of MCPWM 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 - -# -# GDMA Configuration -# -# CONFIG_GDMA_CTRL_FUNC_IN_IRAM is not set -# CONFIG_GDMA_ISR_IRAM_SAFE is not set -# end of GDMA 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_CLIENT_SESSION_TICKETS 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_ECO3_CACHE_LOCK_FIX=y -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 is not set -CONFIG_ESP32_DEFAULT_CPU_FREQ_240=y -CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ=240 -CONFIG_ESP32_SPIRAM_SUPPORT=y - -# -# SPI RAM config -# -CONFIG_SPIRAM_TYPE_AUTO=y -# CONFIG_SPIRAM_TYPE_ESPPSRAM16 is not set -# CONFIG_SPIRAM_TYPE_ESPPSRAM32 is not set -# CONFIG_SPIRAM_TYPE_ESPPSRAM64 is not set -CONFIG_SPIRAM_SIZE=-1 -# CONFIG_SPIRAM_SPEED_40M is not set -CONFIG_SPIRAM_SPEED_80M=y -CONFIG_SPIRAM=y -CONFIG_SPIRAM_BOOT_INIT=y -# CONFIG_SPIRAM_IGNORE_NOTFOUND is not set -# CONFIG_SPIRAM_USE_MEMMAP is not set -# CONFIG_SPIRAM_USE_CAPS_ALLOC is not set -CONFIG_SPIRAM_USE_MALLOC=y -CONFIG_SPIRAM_MEMTEST=y -CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL=16384 -CONFIG_SPIRAM_TRY_ALLOCATE_WIFI_LWIP=y -CONFIG_SPIRAM_MALLOC_RESERVE_INTERNAL=32768 -# CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY is not set -# CONFIG_SPIRAM_ALLOW_NOINIT_SEG_EXTERNAL_MEMORY is not set -CONFIG_SPIRAM_CACHE_WORKAROUND=y - -# -# SPIRAM cache workaround debugging -# -CONFIG_SPIRAM_CACHE_WORKAROUND_STRATEGY_MEMW=y -# CONFIG_SPIRAM_CACHE_WORKAROUND_STRATEGY_DUPLDST is not set -# CONFIG_SPIRAM_CACHE_WORKAROUND_STRATEGY_NOPS is not set -# end of SPIRAM cache workaround debugging - -# -# SPIRAM workaround libraries placement -# -CONFIG_SPIRAM_CACHE_LIBJMP_IN_IRAM=y -CONFIG_SPIRAM_CACHE_LIBMATH_IN_IRAM=y -CONFIG_SPIRAM_CACHE_LIBNUMPARSER_IN_IRAM=y -CONFIG_SPIRAM_CACHE_LIBIO_IN_IRAM=y -CONFIG_SPIRAM_CACHE_LIBTIME_IN_IRAM=y -CONFIG_SPIRAM_CACHE_LIBCHAR_IN_IRAM=y -CONFIG_SPIRAM_CACHE_LIBMEM_IN_IRAM=y -CONFIG_SPIRAM_CACHE_LIBSTR_IN_IRAM=y -CONFIG_SPIRAM_CACHE_LIBRAND_IN_IRAM=y -CONFIG_SPIRAM_CACHE_LIBENV_IN_IRAM=y -CONFIG_SPIRAM_CACHE_LIBFILE_IN_IRAM=y -CONFIG_SPIRAM_CACHE_LIBMISC_IN_IRAM=y -# end of SPIRAM workaround libraries placement - -CONFIG_SPIRAM_BANKSWITCH_ENABLE=y -CONFIG_SPIRAM_BANKSWITCH_RESERVE=8 -CONFIG_SPIRAM_ALLOW_STACK_EXTERNAL_MEMORY=y -# CONFIG_SPIRAM_OCCUPY_HSPI_HOST is not set -CONFIG_SPIRAM_OCCUPY_VSPI_HOST=y -# CONFIG_SPIRAM_OCCUPY_NO_HOST is not set - -# -# PSRAM clock and cs IO for ESP32-DOWD -# -CONFIG_D0WD_PSRAM_CLK_IO=17 -CONFIG_D0WD_PSRAM_CS_IO=16 -# end of PSRAM clock and cs IO for ESP32-DOWD - -# -# PSRAM clock and cs IO for ESP32-D2WD -# -CONFIG_D2WD_PSRAM_CLK_IO=9 -CONFIG_D2WD_PSRAM_CS_IO=10 -# end of PSRAM clock and cs IO for ESP32-D2WD - -# -# PSRAM clock and cs IO for ESP32-PICO -# -CONFIG_PICO_PSRAM_CS_IO=10 -# end of PSRAM clock and cs IO for ESP32-PICO - -# CONFIG_SPIRAM_CUSTOM_SPIWP_SD3_PIN is not set -CONFIG_SPIRAM_SPIWP_SD3_PIN=7 -# CONFIG_SPIRAM_2T_MODE is not set -# end of SPI RAM config - -# CONFIG_ESP32_TRAX is not set -CONFIG_ESP32_TRACEMEM_RESERVE_DRAM=0x0 -# 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_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_COMPATIBLE_PRE_V3_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 -# end of Common ESP-related - -# -# Ethernet -# -CONFIG_ETH_ENABLED=y -CONFIG_ETH_USE_ESP32_EMAC=y -CONFIG_ETH_PHY_INTERFACE_RMII=y -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_SPI_ETHERNET_KSZ8851SNL 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 -CONFIG_ESP_HTTP_CLIENT_ENABLE_DIGEST_AUTH=y -# 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 - -# -# Hardware Settings -# - -# -# MAC Config -# -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 -# CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_TWO is not set -CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_FOUR=y -CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES=4 -# end of MAC Config - -# -# Sleep Config -# -CONFIG_ESP_SLEEP_RTC_BUS_ISO_WORKAROUND=y -# CONFIG_ESP_SLEEP_GPIO_RESET_WORKAROUND is not set -# CONFIG_ESP_SLEEP_PSRAM_LEAKAGE_WORKAROUND is not set -# CONFIG_ESP_SLEEP_FLASH_LEAKAGE_WORKAROUND is not set -# end of Sleep Config - -# -# RTC Clock Config -# -# end of RTC Clock Config -# end of Hardware Settings - -# -# IPC (Inter-Processor Call) -# -CONFIG_ESP_IPC_TASK_STACK_SIZE=1024 -CONFIG_ESP_IPC_USES_CALLERS_PRIORITY=y -CONFIG_ESP_IPC_ISR_ENABLE=y -# end of IPC (Inter-Processor Call) - -# -# LCD and Touch Panel -# - -# -# LCD Peripheral Configuration -# -CONFIG_LCD_PANEL_IO_FORMAT_BUF_SIZE=32 -# end of LCD Peripheral Configuration -# end of LCD and Touch Panel - -# -# 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 - -# -# PHY -# -CONFIG_ESP_PHY_CALIBRATION_AND_DATA_STORAGE=y -# CONFIG_ESP_PHY_INIT_DATA_IN_PARTITION is not set -CONFIG_ESP_PHY_MAX_WIFI_TX_POWER=20 -CONFIG_ESP_PHY_MAX_TX_POWER=20 -CONFIG_ESP_PHY_REDUCE_TX_POWER=y -# end of PHY - -# -# 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_GDBSTUB_RUNTIME is not set - -# -# Memory protection -# -# end of Memory protection - -CONFIG_ESP_SYSTEM_EVENT_QUEUE_SIZE=32 -CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=2304 -CONFIG_ESP_MAIN_TASK_STACK_SIZE=3584 -CONFIG_ESP_MAIN_TASK_AFFINITY_CPU0=y -# CONFIG_ESP_MAIN_TASK_AFFINITY_CPU1 is not set -# CONFIG_ESP_MAIN_TASK_AFFINITY_NO_AFFINITY is not set -CONFIG_ESP_MAIN_TASK_AFFINITY=0x0 -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_DEBUG_STUBS_ENABLE is not set -CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_5=y -# CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_4 is not set -# 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_INTERRUPT_LEVEL=1 -# CONFIG_ESP_TIMER_SUPPORTS_ISR_DISPATCH_METHOD is not set -# 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_ENABLED=y -CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=10 -CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=32 -CONFIG_ESP32_WIFI_STATIC_TX_BUFFER=y -CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=0 -CONFIG_ESP32_WIFI_STATIC_TX_BUFFER_NUM=16 -CONFIG_ESP32_WIFI_CACHE_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_AMSDU_TX_ENABLED is not set -CONFIG_ESP32_WIFI_NVS_ENABLED=y -# CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_0 is not set -CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_1=y -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_ESP_WIFI_SLP_IRAM_OPT is not set -# CONFIG_ESP_WIFI_STA_DISCONNECTED_PM_ENABLE is not set -# CONFIG_ESP_WIFI_GMAC_SUPPORT is not set -CONFIG_ESP_WIFI_SOFTAP_SUPPORT=y -# end of Wi-Fi - -# -# Core dump -# -# 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_ALLOC_PREFER_EXTRAM=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_PORT_TASK_AFFINITY_NO_AFFINITY is not set -CONFIG_FMB_PORT_TASK_AFFINITY_CPU0=y -# CONFIG_FMB_PORT_TASK_AFFINITY_CPU1 is not set -CONFIG_FMB_PORT_TASK_AFFINITY=0x0 -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_MASTER_TIMER_GROUP=0 -CONFIG_FMB_MASTER_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_TICK_SUPPORT_CORETIMER=y -CONFIG_FREERTOS_CORETIMER_0=y -# CONFIG_FREERTOS_CORETIMER_1 is not set -CONFIG_FREERTOS_SYSTICK_USES_CCOUNT=y -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 -CONFIG_FREERTOS_ENABLE_TASK_SNAPSHOT=y -# CONFIG_FREERTOS_PLACE_SNAPSHOT_FUNS_INTO_FLASH is not set -# end of FreeRTOS - -# -# Hardware Abstraction Layer (HAL) and Low Level (LL) -# -CONFIG_HAL_ASSERTION_EQUALS_SYSTEM=y -# CONFIG_HAL_ASSERTION_DISABLE is not set -# CONFIG_HAL_ASSERTION_SILIENT is not set -# CONFIG_HAL_ASSERTION_ENABLE is not set -CONFIG_HAL_DEFAULT_ASSERTION_LEVEL=2 -# end of Hardware Abstraction Layer (HAL) and Low Level (LL) - -# -# 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_MAXIMUM_EQUALS_DEFAULT=y -# CONFIG_LOG_MAXIMUM_LEVEL_DEBUG is not set -# CONFIG_LOG_MAXIMUM_LEVEL_VERBOSE is not set -CONFIG_LOG_MAXIMUM_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_NETIF_API is not set -# CONFIG_LWIP_TCPIP_CORE_LOCKING is not set -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_DISABLE_CLIENT_ID is not set -CONFIG_LWIP_DHCP_DISABLE_VENDOR_CLASS_ID=y -# CONFIG_LWIP_DHCP_RESTORE_LAST_IP is not set -CONFIG_LWIP_DHCP_OPTIONS_LEN=68 - -# -# DHCP server -# -CONFIG_LWIP_DHCPS=y -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_IPV6_NUM_ADDRESSES=3 -# CONFIG_LWIP_IPV6_FORWARD is not set -# CONFIG_LWIP_NETIF_STATUS_CALLBACK 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_WND_SCALE 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_ICMP=y -# 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_SNTP_MAX_SERVERS=1 -# CONFIG_LWIP_DHCP_GET_NTP_SRV is not set -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_ND6_GET_GW_NONE=y -# CONFIG_LWIP_HOOK_ND6_GET_GW_DEFAULT is not set -# CONFIG_LWIP_HOOK_ND6_GET_GW_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_EXTERNAL_MEM_ALLOC is not set -# 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 - -# -# mbedTLS v2.28.x related -# -# CONFIG_MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH is not set -# CONFIG_MBEDTLS_X509_TRUSTED_CERT_CALLBACK is not set -# CONFIG_MBEDTLS_SSL_CONTEXT_SERIALIZATION is not set -CONFIG_MBEDTLS_SSL_KEEP_PEER_CERTIFICATE=y -# end of mbedTLS v2.28.x related - -# -# 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_GMTSSL1_1 is not set -# CONFIG_MBEDTLS_SSL_PROTO_DTLS is not set -CONFIG_MBEDTLS_SSL_ALPN=y -CONFIG_MBEDTLS_CLIENT_SSL_SESSION_TICKETS=y -CONFIG_MBEDTLS_X509_CHECK_KEY_USAGE=y -CONFIG_MBEDTLS_X509_CHECK_EXTENDED_KEY_USAGE=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 -# CONFIG_MBEDTLS_NIST_KW_C is not set -# 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 -# CONFIG_MDNS_NETWORKING_SOCKET is not set -CONFIG_MDNS_MULTIPLE_INSTANCE=y -# 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 - -# -# OpenThread -# -# CONFIG_OPENTHREAD_ENABLED is not set -# end of OpenThread - -# -# 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 -# CONFIG_SPI_FLASH_OVERRIDE_CHIP_DRIVER_LIST 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 -# CONFIG_SPI_FLASH_SUPPORT_BOYA_CHIP is not set -# CONFIG_SPI_FLASH_SUPPORT_TH_CHIP is not set -# 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 -# - -# -# Websocket -# -CONFIG_WS_TRANSPORT=y -CONFIG_WS_BUFFER_SIZE=1024 -# end of Websocket -# end of TCP Transport - -# -# Unity unit testing library -# -CONFIG_UNITY_ENABLE_FLOAT=y -CONFIG_UNITY_ENABLE_DOUBLE=y -# CONFIG_UNITY_ENABLE_64BIT is not set -# 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_SUITE_B_192 is not set -# CONFIG_WPA_DEBUG_PRINT is not set -# CONFIG_WPA_TESTING_OPTIONS is not set -# CONFIG_WPA_WPS_STRICT is not set -# CONFIG_WPA_11KV_SUPPORT is not set -# end of Supplicant - -# -# LVGL configuration -# -# CONFIG_LV_CONF_SKIP is not set -# CONFIG_LV_CONF_MINIMAL is not set - -# -# Color settings -# -# CONFIG_LV_COLOR_DEPTH_32 is not set -CONFIG_LV_COLOR_DEPTH_16=y -# CONFIG_LV_COLOR_DEPTH_8 is not set -# CONFIG_LV_COLOR_DEPTH_1 is not set -CONFIG_LV_COLOR_DEPTH=16 -# CONFIG_LV_COLOR_16_SWAP is not set -# CONFIG_LV_COLOR_SCREEN_TRANSP is not set -CONFIG_LV_COLOR_MIX_ROUND_OFS=128 -CONFIG_LV_COLOR_CHROMA_KEY_HEX=0x00FF00 -# end of Color settings - -# -# Memory settings -# -# CONFIG_LV_MEM_CUSTOM is not set -CONFIG_LV_MEM_SIZE_KILOBYTES=32 -CONFIG_LV_MEM_ADDR=0x0 -CONFIG_LV_MEM_BUF_MAX_NUM=16 -# CONFIG_LV_MEMCPY_MEMSET_STD is not set -# end of Memory settings - -# -# HAL Settings -# -CONFIG_LV_DISP_DEF_REFR_PERIOD=30 -CONFIG_LV_INDEV_DEF_READ_PERIOD=30 -# CONFIG_LV_TICK_CUSTOM is not set -CONFIG_LV_DPI_DEF=130 -# end of HAL Settings - -# -# Feature configuration -# - -# -# Drawing -# -CONFIG_LV_DRAW_COMPLEX=y -CONFIG_LV_SHADOW_CACHE_SIZE=0 -CONFIG_LV_CIRCLE_CACHE_SIZE=4 -CONFIG_LV_LAYER_SIMPLE_BUF_SIZE=24576 -CONFIG_LV_IMG_CACHE_DEF_SIZE=0 -CONFIG_LV_GRADIENT_MAX_STOPS=2 -CONFIG_LV_GRAD_CACHE_DEF_SIZE=0 -# CONFIG_LV_DITHER_GRADIENT is not set -CONFIG_LV_DISP_ROT_MAX_BUF=10240 -# end of Drawing - -# -# GPU -# -# CONFIG_LV_USE_GPU_ARM2D is not set -# CONFIG_LV_USE_GPU_STM32_DMA2D is not set -# CONFIG_LV_USE_GPU_SWM341_DMA2D is not set -# CONFIG_LV_USE_GPU_NXP_PXP is not set -# CONFIG_LV_USE_GPU_NXP_VG_LITE is not set -# CONFIG_LV_USE_GPU_SDL is not set -# end of GPU - -# -# Logging -# -# CONFIG_LV_USE_LOG is not set -# end of Logging - -# -# Asserts -# -CONFIG_LV_USE_ASSERT_NULL=y -CONFIG_LV_USE_ASSERT_MALLOC=y -# CONFIG_LV_USE_ASSERT_STYLE is not set -# CONFIG_LV_USE_ASSERT_MEM_INTEGRITY is not set -# CONFIG_LV_USE_ASSERT_OBJ is not set -CONFIG_LV_ASSERT_HANDLER_INCLUDE="assert.h" -# end of Asserts - -# -# Others -# -# CONFIG_LV_USE_PERF_MONITOR is not set -# CONFIG_LV_USE_MEM_MONITOR is not set -# CONFIG_LV_USE_REFR_DEBUG is not set -# CONFIG_LV_SPRINTF_CUSTOM is not set -# CONFIG_LV_SPRINTF_USE_FLOAT is not set -CONFIG_LV_USE_USER_DATA=y -# CONFIG_LV_ENABLE_GC is not set -# end of Others - -# -# Compiler settings -# -# CONFIG_LV_BIG_ENDIAN_SYSTEM is not set -CONFIG_LV_ATTRIBUTE_MEM_ALIGN_SIZE=1 -# CONFIG_LV_ATTRIBUTE_FAST_MEM_USE_IRAM is not set -# CONFIG_LV_USE_LARGE_COORD is not set -# end of Compiler settings -# end of Feature configuration - -# -# Font usage -# - -# -# Enable built-in fonts -# -# CONFIG_LV_FONT_MONTSERRAT_8 is not set -# CONFIG_LV_FONT_MONTSERRAT_10 is not set -# CONFIG_LV_FONT_MONTSERRAT_12 is not set -CONFIG_LV_FONT_MONTSERRAT_14=y -# CONFIG_LV_FONT_MONTSERRAT_16 is not set -# CONFIG_LV_FONT_MONTSERRAT_18 is not set -# CONFIG_LV_FONT_MONTSERRAT_20 is not set -# CONFIG_LV_FONT_MONTSERRAT_22 is not set -# CONFIG_LV_FONT_MONTSERRAT_24 is not set -# CONFIG_LV_FONT_MONTSERRAT_26 is not set -# CONFIG_LV_FONT_MONTSERRAT_28 is not set -# CONFIG_LV_FONT_MONTSERRAT_30 is not set -# CONFIG_LV_FONT_MONTSERRAT_32 is not set -# CONFIG_LV_FONT_MONTSERRAT_34 is not set -# CONFIG_LV_FONT_MONTSERRAT_36 is not set -# CONFIG_LV_FONT_MONTSERRAT_38 is not set -# CONFIG_LV_FONT_MONTSERRAT_40 is not set -# CONFIG_LV_FONT_MONTSERRAT_42 is not set -# CONFIG_LV_FONT_MONTSERRAT_44 is not set -# CONFIG_LV_FONT_MONTSERRAT_46 is not set -# CONFIG_LV_FONT_MONTSERRAT_48 is not set -# CONFIG_LV_FONT_MONTSERRAT_12_SUBPX is not set -# CONFIG_LV_FONT_MONTSERRAT_28_COMPRESSED is not set -# CONFIG_LV_FONT_DEJAVU_16_PERSIAN_HEBREW is not set -# CONFIG_LV_FONT_SIMSUN_16_CJK is not set -# CONFIG_LV_FONT_UNSCII_8 is not set -# CONFIG_LV_FONT_UNSCII_16 is not set -# CONFIG_LV_FONT_CUSTOM is not set -# end of Enable built-in fonts - -# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_8 is not set -# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_12 is not set -CONFIG_LV_FONT_DEFAULT_MONTSERRAT_14=y -# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_16 is not set -# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_18 is not set -# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_20 is not set -# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_22 is not set -# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_24 is not set -# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_26 is not set -# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_28 is not set -# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_30 is not set -# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_32 is not set -# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_34 is not set -# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_36 is not set -# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_38 is not set -# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_40 is not set -# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_42 is not set -# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_44 is not set -# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_46 is not set -# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_48 is not set -# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_12_SUBPX is not set -# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_28_COMPRESSED is not set -# CONFIG_LV_FONT_DEFAULT_DEJAVU_16_PERSIAN_HEBREW is not set -# CONFIG_LV_FONT_DEFAULT_SIMSUN_16_CJK is not set -# CONFIG_LV_FONT_DEFAULT_UNSCII_8 is not set -# CONFIG_LV_FONT_DEFAULT_UNSCII_16 is not set -# CONFIG_LV_FONT_FMT_TXT_LARGE is not set -# CONFIG_LV_USE_FONT_COMPRESSED is not set -# CONFIG_LV_USE_FONT_SUBPX is not set -CONFIG_LV_USE_FONT_PLACEHOLDER=y -# end of Font usage - -# -# Text Settings -# -CONFIG_LV_TXT_ENC_UTF8=y -# CONFIG_LV_TXT_ENC_ASCII is not set -CONFIG_LV_TXT_BREAK_CHARS=" ,.;:-_" -CONFIG_LV_TXT_LINE_BREAK_LONG_LEN=0 -CONFIG_LV_TXT_COLOR_CMD="#" -# CONFIG_LV_USE_BIDI is not set -# CONFIG_LV_USE_ARABIC_PERSIAN_CHARS is not set -# end of Text Settings - -# -# Widget usage -# -CONFIG_LV_USE_ARC=y -CONFIG_LV_USE_BAR=y -CONFIG_LV_USE_BTN=y -CONFIG_LV_USE_BTNMATRIX=y -CONFIG_LV_USE_CANVAS=y -CONFIG_LV_USE_CHECKBOX=y -CONFIG_LV_USE_DROPDOWN=y -CONFIG_LV_USE_IMG=y -CONFIG_LV_USE_LABEL=y -CONFIG_LV_LABEL_TEXT_SELECTION=y -CONFIG_LV_LABEL_LONG_TXT_HINT=y -CONFIG_LV_USE_LINE=y -CONFIG_LV_USE_ROLLER=y -CONFIG_LV_ROLLER_INF_PAGES=7 -CONFIG_LV_USE_SLIDER=y -CONFIG_LV_USE_SWITCH=y -CONFIG_LV_USE_TEXTAREA=y -CONFIG_LV_TEXTAREA_DEF_PWD_SHOW_TIME=1500 -CONFIG_LV_USE_TABLE=y -# end of Widget usage - -# -# Extra Widgets -# -CONFIG_LV_USE_ANIMIMG=y -CONFIG_LV_USE_CALENDAR=y -# CONFIG_LV_CALENDAR_WEEK_STARTS_MONDAY is not set -CONFIG_LV_USE_CALENDAR_HEADER_ARROW=y -CONFIG_LV_USE_CALENDAR_HEADER_DROPDOWN=y -CONFIG_LV_USE_CHART=y -CONFIG_LV_USE_COLORWHEEL=y -CONFIG_LV_USE_IMGBTN=y -CONFIG_LV_USE_KEYBOARD=y -CONFIG_LV_USE_LED=y -CONFIG_LV_USE_LIST=y -CONFIG_LV_USE_MENU=y -CONFIG_LV_USE_METER=y -CONFIG_LV_USE_MSGBOX=y -CONFIG_LV_USE_SPAN=y -CONFIG_LV_SPAN_SNIPPET_STACK_SIZE=64 -CONFIG_LV_USE_SPINBOX=y -CONFIG_LV_USE_SPINNER=y -CONFIG_LV_USE_TABVIEW=y -CONFIG_LV_USE_TILEVIEW=y -CONFIG_LV_USE_WIN=y -# end of Extra Widgets - -# -# Themes -# -CONFIG_LV_USE_THEME_DEFAULT=y -# CONFIG_LV_THEME_DEFAULT_DARK is not set -CONFIG_LV_THEME_DEFAULT_GROW=y -CONFIG_LV_THEME_DEFAULT_TRANSITION_TIME=80 -CONFIG_LV_USE_THEME_BASIC=y -# CONFIG_LV_USE_THEME_MONO is not set -# end of Themes - -# -# Layouts -# -CONFIG_LV_USE_FLEX=y -CONFIG_LV_USE_GRID=y -# end of Layouts - -# -# 3rd Party Libraries -# -# CONFIG_LV_USE_FS_STDIO is not set -# CONFIG_LV_USE_FS_POSIX is not set -# CONFIG_LV_USE_FS_WIN32 is not set -# CONFIG_LV_USE_FS_FATFS is not set -# CONFIG_LV_USE_PNG is not set -# CONFIG_LV_USE_BMP is not set -# CONFIG_LV_USE_SJPG is not set -# CONFIG_LV_USE_GIF is not set -# CONFIG_LV_USE_QRCODE is not set -# CONFIG_LV_USE_FREETYPE is not set -# CONFIG_LV_USE_RLOTTIE is not set -# CONFIG_LV_USE_FFMPEG is not set -# end of 3rd Party Libraries - -# -# Others -# -CONFIG_LV_USE_SNAPSHOT=y -# CONFIG_LV_USE_MONKEY is not set -# CONFIG_LV_USE_GRIDNAV is not set -# CONFIG_LV_USE_FRAGMENT is not set -# CONFIG_LV_USE_IMGFONT is not set -# CONFIG_LV_USE_MSG is not set -# CONFIG_LV_USE_IME_PINYIN is not set -# end of Others - -# -# Examples -# -CONFIG_LV_BUILD_EXAMPLES=y -# end of Examples - -# -# Demos -# -# CONFIG_LV_USE_DEMO_WIDGETS is not set -# CONFIG_LV_USE_DEMO_KEYPAD_AND_ENCODER is not set -# CONFIG_LV_USE_DEMO_BENCHMARK is not set -# CONFIG_LV_USE_DEMO_STRESS is not set -# CONFIG_LV_USE_DEMO_MUSIC is not set -# end of Demos -# end of LVGL 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_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_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_ADC2_DISABLE_DAC=y -CONFIG_SPIRAM_SUPPORT=y -CONFIG_WIFI_LWIP_ALLOCATION_FROM_SPIRAM_FIRST=y -CONFIG_TRACEMEM_RESERVE_DRAM=0x0 -# 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_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_EVENT_LOOP_PROFILING is not set -CONFIG_POST_EVENTS_FROM_ISR=y -CONFIG_POST_EVENTS_FROM_IRAM_ISR=y -# CONFIG_TWO_UNIVERSAL_MAC_ADDRESS is not set -CONFIG_FOUR_UNIVERSAL_MAC_ADDRESS=y -CONFIG_NUMBER_OF_UNIVERSAL_MAC_ADDRESS=4 -# CONFIG_ESP32C3_LIGHTSLEEP_GPIO_RESET_WORKAROUND is not set -CONFIG_IPC_TASK_STACK_SIZE=1024 -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_ESP32_REDUCE_PHY_TX_POWER=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_SYSTEM_EVENT_QUEUE_SIZE=32 -CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE=2304 -CONFIG_MAIN_TASK_STACK_SIZE=3584 -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_ESP32_DEBUG_STUBS_ENABLE is not set -CONFIG_TIMER_TASK_STACK_SIZE=3584 -# 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 From f0f877bdfcb1729f2a271d85ed06f1157c92da14 Mon Sep 17 00:00:00 2001 From: cayden Date: Thu, 27 Oct 2022 14:03:23 -0400 Subject: [PATCH 10/35] start adding json parseing, make code run on OSSG v0p3 board --- .../ossg_firmware_mcu/README.md | 10 + .../ossg_firmware_mcu/include/message_types.h | 271 +++++++++--------- .../ossg_firmware_mcu/platformio.ini | 11 +- .../ossg_firmware_mcu/src/main.cpp | 25 +- .../ossg_firmware_mcu/src/myexamplejson.dog | 6 - .../src/utils/json_parse.cpp | 42 +++ .../src/utils/json_parse.hpp | 2 + 7 files changed, 212 insertions(+), 155 deletions(-) create mode 100644 electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/README.md delete mode 100644 electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/myexamplejson.dog create mode 100644 electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/utils/json_parse.cpp create mode 100644 electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/utils/json_parse.hpp diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/README.md b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/README.md new file mode 100644 index 0000000..f90f52e --- /dev/null +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/README.md @@ -0,0 +1,10 @@ +# Setup + +1. Install VSCODE +2. Install platformio in VSCODE +3. a) If your ESP32 has PSRAM, enable PSRAM in menuconfig. Otherwise, disable PSRAM in menuconfig +``` +platformio run -t menuconfig +``` +Component config -> ESP32 Specific -> SPIRAM/PSRAM Enable/Disable +b) Comment/uncomment PSRAM lines from platformio.ini depending on your ESP32 hardware diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/include/message_types.h b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/include/message_types.h index 4ac504a..268a22f 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/include/message_types.h +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/include/message_types.h @@ -1,138 +1,139 @@ -extern class MessageTypes { - //top level - const char* MESSAGE_TYPE_LOCAL = "MESSAGE_TYPE_LOCAL"; - const char* TIMESTAMP = "TIMESTAMP"; - - //DATA TYPES - const char* POV_IMAGE = "POV_IMAGE"; - const char* JPG_BYTES_BASE64 = "JPG_BYTES_BASE64"; - - //specific message types (after MESSAGE_TYPE_*) - //TRANSCRIPTS - const char* FINAL_TRANSCRIPT = "FINAL_TRANSCRIPT"; - const char* INTERMEDIATE_TRANSCRIPT = "INTERMEDIATE_TRANSCRIPT"; - const char* TRANSCRIPT_TEXT = "TRANSCRIPT_TEXT"; - const char* TRANSCRIPT_ID = "TRANSCRIPT_ID"; - - //VOICE COMMANDS - const char* VOICE_COMMAND_RESPONSE = "VOICE_COMMAND_RESPONSE"; - const char* COMMAND_RESULT = "COMMAND_RESULT"; - const char* COMMAND_NAME = "COMMAND_NAME"; - const char* COMMAND_RESPONSE_DISPLAY_STRING = "COMMAND_RESPONSE_DISPLAY_STRING"; - //voice command event - const char* VOICE_COMMAND_STREAM_EVENT = "VOICE_COMMAND_STREAM_EVENT"; - const char* VOICE_COMMAND_STREAM_EVENT_TYPE = "VOICE_COMMAND_STREAM_EVENT_TYPE"; - const char* WAKE_WORD_EVENT_TYPE = "WAKE_WORD_EVENT_TYPE"; - const char* COMMAND_EVENT_TYPE = "COMMAND_EVENT_TYPE"; - const char* CANCEL_EVENT_TYPE = "CANCEL_EVENT_TYPE"; - const char* RESOLVE_EVENT_TYPE = "RESOLVE_EVENT_TYPE"; - const char* TEXT_RESPONSE_EVENT_TYPE = "TEXT_RESPONSE_EVENT_TYPE"; - const char* COMMAND_ARGS_EVENT_TYPE = "COMMAND_ARGS_EVENT_TYPE"; - const char* REQUIRED_ARG_EVENT_TYPE = "REQUIRED_ARG_EVENT_TYPE"; - const char* ARG_NAME = "ARG_NAME"; - const char* ARG_OPTIONS = "ARG_OPTIONS"; - const char* INPUT_VOICE_STRING = "INPUT_VOICE_STRING"; - const char* VOICE_ARG_EXPECT_TYPE = "VOICE_ARG_EXPECT_TYPE"; - const char* VOICE_ARG_EXPECT_NATURAL_LANGUAGE = "VOICE_ARG_EXPECT_NATURAL_LANGUAGE"; - const char* VOICE_COMMAND_LIST = "VOICE_COMMAND_LIST"; - const char* INPUT_WAKE_WORD = "INPUT_WAKE_WORD"; - const char* INPUT_VOICE_COMMAND_NAME = "INPUT_VOICE_COMMAND_NAME"; - - //AUTOCITER/WEARABLE-REFERENCER - const char* AUTOCITER_START = "AUTOCITER_START"; - const char* AUTOCITER_STOP = "AUTOCITER_STOP"; - const char* AUTOCITER_PHONE_NUMBER = "AUTOCITER_PHONE_NUMBER"; - const char* AUTOCITER_POTENTIAL_REFERENCES = "AUTOCITER_POTENTIAL_REFERENCES"; - const char* AUTOCITER_REFERENCE_DATA = "AUTOCITER_REFERENCE_DATA"; - - //request user UI to display a list of possible choices to dipslay - const char* REFERENCE_SELECT_REQUEST = "REFERENCE_SELECT_REQUEST"; - const char* REFERENCES = "REFERENCES"; - - //FACE/PERSON SIGHTING - const char* FACE_SIGHTING_EVENT = "FACE_SIGHTING_EVENT"; - const char* FACE_NAME = "FACE_NAME"; - - //SMS - const char* SMS_REQUEST_SEND = "SMS_REQUEST_SEND"; - const char* SMS_MESSAGE_TEXT = "SMS_MESSAGE_TEXT"; - const char* SMS_PHONE_NUMBER = "SMS_PHONE_NUMBER"; - - //AUDIO - //AUDIO - const char* AUDIO_CHUNK_ENCRYPTED = "AUDIO_CHUNK_ENCRYPTED"; - const char* AUDIO_CHUNK_DECRYPTED = "AUDIO_CHUNK_DECRYPTED"; - const char* AUDIO_DATA = "AUDIO_DATA"; - - - //COMMS - const char* PING = "PING"; - - //UI - const char* UI_UPDATE_ACTION = "UI_UPDATE_ACTION"; - const char* PHONE_CONNECTION_STATUS = "PHONE_CONNECTION_STATUS"; - -// //command responses to show -// const char* NATURAL_LANGUAGE_QUERY = "NATURAL_LANGUAGE_QUERY"; -// const char* TEXT_RESPONSE = "NATURAL_LANGUAGE_QUERY"; -// const char* TEXT_QUERY = "TEXT_QUERY"; -// const char* VISUAL_SEARCH_RESULT = "VISUAL_SEARCH_RESULT"; -// const char* VISUAL_SEARCH_QUERY = "VISUAL_SEARCH_QUERY"; -// const char* VISUAL_SEARCH_IMAGE= "VISUAL_SEARCH_IMAGE"; -// const char* VISUAL_SEARCH_DATA = "VISUAL_SEARCH_DATA"; -// const char* SEARCH_ENGINE_RESULT = "SEARCH_ENGINE_RESULT"; -// const char* SEARCH_ENGINE_RESULT_DATA = "SEARCH_ENGINE_RESULT_DATA"; -// const char* TRANSLATION_RESULT = "TRANSLATION_RESULT"; -// const char* AFFECTIVE_SUMMARY_RESULT = "AFFECTIVE_SUMMARY_RESULT"; -// const char* COMMAND_SWITCH_MODE = "COMMAND_SWITCH_MODE"; - - //command responses to show - //Natural language - const char* NATURAL_LANGUAGE_QUERY = "NATURAL_LANGUAGE_QUERY"; - const char* TEXT_QUERY = "TEXT_QUERY"; - //visual search - const char* VISUAL_SEARCH_RESULT = "VISUAL_SEARCH_RESULT"; //this is the ASG facing term - const char* VISUAL_SEARCH_IMAGE= "VISUAL_SEARCH_IMAGE"; - const char* VISUAL_SEARCH_QUERY = "VISUAL_SEARCH_QUERY"; //this is the glbox facing term - const char* VISUAL_SEARCH_DATA = "VISUAL_SEARCH_DATA"; //this is the payload - //search engine - const char* SEARCH_ENGINE_QUERY = "SEARCH_ENGINE_QUERY"; - const char* SEARCH_ENGINE_RESULT = "SEARCH_ENGINE_RESULT"; - const char* SEARCH_ENGINE_RESULT_DATA = "SEARCH_ENGINE_RESULT_DATA"; - - //I/O - const char* SG_TOUCHPAD_EVENT = "SG_TOUCHPAD_EVENT"; - const char* SG_TOUCHPAD_KEYCODE = "SG_TOUCHPAD_KEYCODE"; - - //translation - const char* TRANSLATE_TEXT_QUERY = "TRANSLATE_TEXT_QUERY"; - const char* TRANSLATE_TEXT_DATA = "TRANSLATE_TEXT_DATA"; - const char* TRANSLATE_TEXT_RESULT = "TRANSLATE_TEXT_RESULT"; - const char* TRANSLATE_TEXT_RESULT_DATA = "TRANSLATION_RESULT_DATA"; - - //object translation - const char* OBJECT_TRANSLATION_RESULT = "OBJECT_TRANSLATION_RESULT"; - const char* OBJECT_TRANSLATION_RESULT_DATA = "OBJECT_TRANSLATION_RESULT_DATA"; - - const char* AFFECTIVE_SUMMARY_RESULT = "AFFECTIVE_SUMMARY_RESULT"; - const char* COMMAND_SWITCH_MODE = "COMMAND_SWITCH_MODE"; - - //control the current mode of the ASG - const char* ACTION_SWITCH_MODES = "ACTION_SWITCH_MODES"; - const char* NEW_MODE = "NEW_MODE"; - const char* MODE_VISUAL_SEARCH = "MODE_VISUAL_SEARCH"; - const char* MODE_LIVE_LIFE_CAPTIONS = "MODE_LIVE_LIFE_CAPTIONS"; - const char* MODE_HOME = "MODE_HOME"; - const char* MODE_CONVERSATION_MODE = "MODE_CONVERSATION_MODE"; - const char* MODE_SOCIAL_MODE = "MODE_SOCIAL_MODE"; - const char* MODE_REFERENCE_GRID = "MODE_REFERENCE_GRID"; - const char* MODE_WEARABLE_FACE_RECOGNIZER = "MODE_WEARABLE_FACE_RECOGNIZER"; - const char* MODE_LANGUAGE_TRANSLATE = "MODE_LANGUAGE_TRANSLATE"; - const char* MODE_OBJECT_TRANSLATE = "MODE_OBJECT_TRANSLATE"; - const char* MODE_TEXT_LIST = "MODE_TEXT_LIST"; - const char* MODE_TEXT_BLOCK = "MODE_TEXT_BLOCK"; - const char* MODE_BLANK = "MODE_BLANK"; - const char* MODE_SEARCH_ENGINE_RESULT = "MODE_SEARCH_ENGINE_RESULT"; +class MessageTypes { + public: + //top level + const char* MESSAGE_TYPE_LOCAL = "MESSAGE_TYPE_LOCAL"; + const char* TIMESTAMP = "TIMESTAMP"; + + //DATA TYPES + const char* POV_IMAGE = "POV_IMAGE"; + const char* JPG_BYTES_BASE64 = "JPG_BYTES_BASE64"; + + //specific message types (after MESSAGE_TYPE_*) + //TRANSCRIPTS + const char* FINAL_TRANSCRIPT = "FINAL_TRANSCRIPT"; + const char* INTERMEDIATE_TRANSCRIPT = "INTERMEDIATE_TRANSCRIPT"; + const char* TRANSCRIPT_TEXT = "TRANSCRIPT_TEXT"; + const char* TRANSCRIPT_ID = "TRANSCRIPT_ID"; + + //VOICE COMMANDS + const char* VOICE_COMMAND_RESPONSE = "VOICE_COMMAND_RESPONSE"; + const char* COMMAND_RESULT = "COMMAND_RESULT"; + const char* COMMAND_NAME = "COMMAND_NAME"; + const char* COMMAND_RESPONSE_DISPLAY_STRING = "COMMAND_RESPONSE_DISPLAY_STRING"; + //voice command event + const char* VOICE_COMMAND_STREAM_EVENT = "VOICE_COMMAND_STREAM_EVENT"; + const char* VOICE_COMMAND_STREAM_EVENT_TYPE = "VOICE_COMMAND_STREAM_EVENT_TYPE"; + const char* WAKE_WORD_EVENT_TYPE = "WAKE_WORD_EVENT_TYPE"; + const char* COMMAND_EVENT_TYPE = "COMMAND_EVENT_TYPE"; + const char* CANCEL_EVENT_TYPE = "CANCEL_EVENT_TYPE"; + const char* RESOLVE_EVENT_TYPE = "RESOLVE_EVENT_TYPE"; + const char* TEXT_RESPONSE_EVENT_TYPE = "TEXT_RESPONSE_EVENT_TYPE"; + const char* COMMAND_ARGS_EVENT_TYPE = "COMMAND_ARGS_EVENT_TYPE"; + const char* REQUIRED_ARG_EVENT_TYPE = "REQUIRED_ARG_EVENT_TYPE"; + const char* ARG_NAME = "ARG_NAME"; + const char* ARG_OPTIONS = "ARG_OPTIONS"; + const char* INPUT_VOICE_STRING = "INPUT_VOICE_STRING"; + const char* VOICE_ARG_EXPECT_TYPE = "VOICE_ARG_EXPECT_TYPE"; + const char* VOICE_ARG_EXPECT_NATURAL_LANGUAGE = "VOICE_ARG_EXPECT_NATURAL_LANGUAGE"; + const char* VOICE_COMMAND_LIST = "VOICE_COMMAND_LIST"; + const char* INPUT_WAKE_WORD = "INPUT_WAKE_WORD"; + const char* INPUT_VOICE_COMMAND_NAME = "INPUT_VOICE_COMMAND_NAME"; + + //AUTOCITER/WEARABLE-REFERENCER + const char* AUTOCITER_START = "AUTOCITER_START"; + const char* AUTOCITER_STOP = "AUTOCITER_STOP"; + const char* AUTOCITER_PHONE_NUMBER = "AUTOCITER_PHONE_NUMBER"; + const char* AUTOCITER_POTENTIAL_REFERENCES = "AUTOCITER_POTENTIAL_REFERENCES"; + const char* AUTOCITER_REFERENCE_DATA = "AUTOCITER_REFERENCE_DATA"; + + //request user UI to display a list of possible choices to dipslay + const char* REFERENCE_SELECT_REQUEST = "REFERENCE_SELECT_REQUEST"; + const char* REFERENCES = "REFERENCES"; + + //FACE/PERSON SIGHTING + const char* FACE_SIGHTING_EVENT = "FACE_SIGHTING_EVENT"; + const char* FACE_NAME = "FACE_NAME"; + + //SMS + const char* SMS_REQUEST_SEND = "SMS_REQUEST_SEND"; + const char* SMS_MESSAGE_TEXT = "SMS_MESSAGE_TEXT"; + const char* SMS_PHONE_NUMBER = "SMS_PHONE_NUMBER"; + + //AUDIO + //AUDIO + const char* AUDIO_CHUNK_ENCRYPTED = "AUDIO_CHUNK_ENCRYPTED"; + const char* AUDIO_CHUNK_DECRYPTED = "AUDIO_CHUNK_DECRYPTED"; + const char* AUDIO_DATA = "AUDIO_DATA"; + + + //COMMS + const char* PING = "PING"; + + //UI + const char* UI_UPDATE_ACTION = "UI_UPDATE_ACTION"; + const char* PHONE_CONNECTION_STATUS = "PHONE_CONNECTION_STATUS"; + + // //command responses to show + // const char* NATURAL_LANGUAGE_QUERY = "NATURAL_LANGUAGE_QUERY"; + // const char* TEXT_RESPONSE = "NATURAL_LANGUAGE_QUERY"; + // const char* TEXT_QUERY = "TEXT_QUERY"; + // const char* VISUAL_SEARCH_RESULT = "VISUAL_SEARCH_RESULT"; + // const char* VISUAL_SEARCH_QUERY = "VISUAL_SEARCH_QUERY"; + // const char* VISUAL_SEARCH_IMAGE= "VISUAL_SEARCH_IMAGE"; + // const char* VISUAL_SEARCH_DATA = "VISUAL_SEARCH_DATA"; + // const char* SEARCH_ENGINE_RESULT = "SEARCH_ENGINE_RESULT"; + // const char* SEARCH_ENGINE_RESULT_DATA = "SEARCH_ENGINE_RESULT_DATA"; + // const char* TRANSLATION_RESULT = "TRANSLATION_RESULT"; + // const char* AFFECTIVE_SUMMARY_RESULT = "AFFECTIVE_SUMMARY_RESULT"; + // const char* COMMAND_SWITCH_MODE = "COMMAND_SWITCH_MODE"; + + //command responses to show + //Natural language + const char* NATURAL_LANGUAGE_QUERY = "NATURAL_LANGUAGE_QUERY"; + const char* TEXT_QUERY = "TEXT_QUERY"; + //visual search + const char* VISUAL_SEARCH_RESULT = "VISUAL_SEARCH_RESULT"; //this is the ASG facing term + const char* VISUAL_SEARCH_IMAGE= "VISUAL_SEARCH_IMAGE"; + const char* VISUAL_SEARCH_QUERY = "VISUAL_SEARCH_QUERY"; //this is the glbox facing term + const char* VISUAL_SEARCH_DATA = "VISUAL_SEARCH_DATA"; //this is the payload + //search engine + const char* SEARCH_ENGINE_QUERY = "SEARCH_ENGINE_QUERY"; + const char* SEARCH_ENGINE_RESULT = "SEARCH_ENGINE_RESULT"; + const char* SEARCH_ENGINE_RESULT_DATA = "SEARCH_ENGINE_RESULT_DATA"; + + //I/O + const char* SG_TOUCHPAD_EVENT = "SG_TOUCHPAD_EVENT"; + const char* SG_TOUCHPAD_KEYCODE = "SG_TOUCHPAD_KEYCODE"; + + //translation + const char* TRANSLATE_TEXT_QUERY = "TRANSLATE_TEXT_QUERY"; + const char* TRANSLATE_TEXT_DATA = "TRANSLATE_TEXT_DATA"; + const char* TRANSLATE_TEXT_RESULT = "TRANSLATE_TEXT_RESULT"; + const char* TRANSLATE_TEXT_RESULT_DATA = "TRANSLATION_RESULT_DATA"; + + //object translation + const char* OBJECT_TRANSLATION_RESULT = "OBJECT_TRANSLATION_RESULT"; + const char* OBJECT_TRANSLATION_RESULT_DATA = "OBJECT_TRANSLATION_RESULT_DATA"; + + const char* AFFECTIVE_SUMMARY_RESULT = "AFFECTIVE_SUMMARY_RESULT"; + const char* COMMAND_SWITCH_MODE = "COMMAND_SWITCH_MODE"; + + //control the current mode of the ASG + const char* ACTION_SWITCH_MODES = "ACTION_SWITCH_MODES"; + const char* NEW_MODE = "NEW_MODE"; + const char* MODE_VISUAL_SEARCH = "MODE_VISUAL_SEARCH"; + const char* MODE_LIVE_LIFE_CAPTIONS = "MODE_LIVE_LIFE_CAPTIONS"; + const char* MODE_HOME = "MODE_HOME"; + const char* MODE_CONVERSATION_MODE = "MODE_CONVERSATION_MODE"; + const char* MODE_SOCIAL_MODE = "MODE_SOCIAL_MODE"; + const char* MODE_REFERENCE_GRID = "MODE_REFERENCE_GRID"; + const char* MODE_WEARABLE_FACE_RECOGNIZER = "MODE_WEARABLE_FACE_RECOGNIZER"; + const char* MODE_LANGUAGE_TRANSLATE = "MODE_LANGUAGE_TRANSLATE"; + const char* MODE_OBJECT_TRANSLATE = "MODE_OBJECT_TRANSLATE"; + const char* MODE_TEXT_LIST = "MODE_TEXT_LIST"; + const char* MODE_TEXT_BLOCK = "MODE_TEXT_BLOCK"; + const char* MODE_BLANK = "MODE_BLANK"; + const char* MODE_SEARCH_ENGINE_RESULT = "MODE_SEARCH_ENGINE_RESULT"; }; diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/platformio.ini b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/platformio.ini index 2ffd57c..d8108a2 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/platformio.ini +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/platformio.ini @@ -17,14 +17,17 @@ board_build.partitions = partitions_singleapp_large.csv ;board_build.partitions = min_spiffs.csv lib_ldf_mode = deep+ board_build.f_cpu = 240000000L -upload_port = /dev/ttyUSB0 -monitor_port = /dev/ttyUSB0 +; upload_port = /dev/ttyUSB0 //do not git commit these lines, everyone's computer USB ports is different +; monitor_port = /dev/ttyUSB0 build_flags = -Wl,-Map,output.map -D LV_CONF_INCLUDE_SIMPLE -I src/display - -DBOARD_HAS_PSRAM - -mfix-esp32-psram-cache-issue + -I src/utils + -I src/microphones + -I src/comms + ; -DBOARD_HAS_PSRAM + ; -mfix-esp32-psram-cache-issue check_tool = cppcheck, clangtidy check_skip_packages = true diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp index c6255d0..295def0 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp @@ -1,11 +1,5 @@ -/**************************************************************************** - * - * This demo showcases BLE GATT server. It can send adv data, be connected by client. - * Run the gatt_client demo, the client demo will automatically connect to the gatt_server demo. - * Client demo will enable gatt_server's notify after connection. The two devices will then exchange - * data. - * - ****************************************************************************/ +//Open Source Smart Glasses main firmware +//Authors: Cayden Pierce, Alyx Israelov #include "../include/ossg_constants.hpp" #include @@ -28,9 +22,12 @@ #include "esp_websocket_client.h" #include "esp_event.h" +// JSON parsing +#include "json_parse.hpp" + #define MEM_MSG 1 -#define ENABLEDISPLAY 1 +#define ENABLEDISPLAY 0 #if ENABLEDISPLAY #include "displaymanager.hpp" #endif @@ -780,12 +777,20 @@ static void websocket_event_handler(void *handler_args, esp_event_base_t base, i // reconnect break; case WEBSOCKET_EVENT_DATA: + { ESP_LOGI(TAG, "WEBSOCKET_EVENT_DATA"); ESP_LOGI(TAG, "Received opcode=%d", data->op_code); ESP_LOGW(TAG, "Received=%.*s", data->data_len, (char *)data->data_ptr); ESP_LOGW(TAG, "Total payload length=%d, data_len=%d, current payload offset=%d\r\n", data->payload_len, data->data_len, data->payload_offset); - // xTimerReset(shutdown_signal_timer, portMAX_DELAY); + if (data->data_len > 5){ //ignore empty strings and tiny pings + int jsonStringLen = (data->data_len)+1; + char jsonString[jsonStringLen]; + snprintf(jsonString, jsonStringLen, "%s", (char *)data->data_ptr); + ESP_LOGW(TAG, "JSON STRING PREPARSE=%s", jsonString); + parseJson(jsonString); + } break; + } case WEBSOCKET_EVENT_ERROR: printf("WEBSOCKET_EVENT_ERROR"); break; diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/myexamplejson.dog b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/myexamplejson.dog deleted file mode 100644 index 9911541..0000000 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/myexamplejson.dog +++ /dev/null @@ -1,6 +0,0 @@ -{ -"MESSAGE_TYPE_LOCAL" : "SEARCH_ENGINE_RESULT", -"title" : "this is the title", -"body" : "this is the body", -... -} \ No newline at end of file diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/utils/json_parse.cpp b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/utils/json_parse.cpp new file mode 100644 index 0000000..5d2a7d3 --- /dev/null +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/utils/json_parse.cpp @@ -0,0 +1,42 @@ +#include "cJSON.h" +#include "esp_log.h" +#include "../include/message_types.h" + +static const char *TAG = "JSON"; + +void makeJson(){ + cJSON *root = cJSON_CreateObject(); + cJSON_AddStringToObject(root, "version", IDF_VER); + cJSON_AddStringToObject(root, "cores", "test_core_num"); + cJSON_AddTrueToObject(root, "flag_true"); + cJSON_AddFalseToObject(root, "flag_false"); + + //const char *my_json_string = cJSON_Print(root); + char *my_json_string = cJSON_Print(root); + ESP_LOGI(TAG, "my_json_string\n%s",my_json_string); + cJSON_Delete(root); +} + +void parseJson(char * jsonString){ + ESP_LOGI(TAG, "Deserialize....."); + MessageTypes myMessageTypes = MessageTypes(); + ESP_LOGI(TAG, "Go message types....."); + cJSON *jsonObj = cJSON_Parse(jsonString); + ESP_LOGI(TAG, "Parsed....."); + + char *parsedJsonString = cJSON_Print(jsonObj); + ESP_LOGI(TAG, "my_parsed json_string\n%s",parsedJsonString); + + if (cJSON_GetObjectItem(jsonObj, myMessageTypes.MESSAGE_TYPE_LOCAL)) { + ESP_LOGI(TAG, "FOund object....."); + char *message_type = cJSON_GetObjectItem(jsonObj, myMessageTypes.MESSAGE_TYPE_LOCAL)->valuestring; + ESP_LOGI(TAG, "version=%s",message_type); + } + + //clean up + //delete json object + cJSON_Delete(jsonObj); + // Buffers returned by cJSON_Print must be freed by the caller. + // Please use the proper API (cJSON_free) rather than directly calling stdlib free. + cJSON_free(parsedJsonString); +} \ No newline at end of file diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/utils/json_parse.hpp b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/utils/json_parse.hpp new file mode 100644 index 0000000..132c3c5 --- /dev/null +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/utils/json_parse.hpp @@ -0,0 +1,2 @@ +extern void makeJson(); +extern void parseJson(char * jsonString); \ No newline at end of file From d00cad8c492766c448f89a7e914508bdbaf37731 Mon Sep 17 00:00:00 2001 From: cayden Date: Thu, 27 Oct 2022 17:24:54 -0400 Subject: [PATCH 11/35] refactor system into different files, add websocket sending task to make modular --- .../ossg_firmware_mcu/BKUPSDKCONFIG.dogpico32 | 1771 ----------------- .../ossg_firmware_mcu/README.md | 4 + .../src/comms/wifi_websocket_comms.cpp | 652 ++++++ .../src/comms/wifi_websocket_comms.hpp | 14 + .../ossg_firmware_mcu/src/main.cpp | 982 +-------- .../src/microphones/microphones.cpp | 223 +++ .../src/microphones/microphones.hpp | 3 + 7 files changed, 923 insertions(+), 2726 deletions(-) delete mode 100644 electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/BKUPSDKCONFIG.dogpico32 create mode 100644 electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/comms/wifi_websocket_comms.cpp create mode 100644 electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/comms/wifi_websocket_comms.hpp create mode 100644 electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/microphones/microphones.cpp create mode 100644 electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/microphones/microphones.hpp diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/BKUPSDKCONFIG.dogpico32 b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/BKUPSDKCONFIG.dogpico32 deleted file mode 100644 index 704ab30..0000000 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/BKUPSDKCONFIG.dogpico32 +++ /dev/null @@ -1,1771 +0,0 @@ -# -# 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 -CONFIG_BOOTLOADER_FLASH_XMC_SUPPORT=y -# 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_FLASH_SAMPLE_MODE_STR=y -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 is not set -CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y -# CONFIG_ESPTOOLPY_FLASHSIZE_8MB is not set -# CONFIG_ESPTOOLPY_FLASHSIZE_16MB is not set -CONFIG_ESPTOOLPY_FLASHSIZE="4MB" -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 is not set -# CONFIG_PARTITION_TABLE_SINGLE_APP_LARGE is not set -# CONFIG_PARTITION_TABLE_TWO_OTA is not set -CONFIG_PARTITION_TABLE_CUSTOM=y -CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions_singleapp_large.csv" -CONFIG_PARTITION_TABLE_FILENAME="partitions_singleapp_large.csv" -CONFIG_PARTITION_TABLE_OFFSET=0x8000 -CONFIG_PARTITION_TABLE_MD5=y -# end of Partition Table - -# -# 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_OPTIMIZATION_ASSERTION_LEVEL=2 -# CONFIG_COMPILER_OPTIMIZATION_CHECKS_SILENT is not set -CONFIG_COMPILER_HIDE_PATHS_MACROS=y -# 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_JTAG 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 -# 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 - -# -# MCPWM configuration -# -# CONFIG_MCPWM_ISR_IN_IRAM is not set -# end of MCPWM 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 - -# -# GDMA Configuration -# -# CONFIG_GDMA_CTRL_FUNC_IN_IRAM is not set -# CONFIG_GDMA_ISR_IRAM_SAFE is not set -# end of GDMA 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_CLIENT_SESSION_TICKETS 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_ECO3_CACHE_LOCK_FIX=y -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 is not set -CONFIG_ESP32_DEFAULT_CPU_FREQ_240=y -CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ=240 -CONFIG_ESP32_SPIRAM_SUPPORT=y - -# -# SPI RAM config -# -CONFIG_SPIRAM_TYPE_AUTO=y -# CONFIG_SPIRAM_TYPE_ESPPSRAM16 is not set -# CONFIG_SPIRAM_TYPE_ESPPSRAM32 is not set -# CONFIG_SPIRAM_TYPE_ESPPSRAM64 is not set -CONFIG_SPIRAM_SIZE=-1 -CONFIG_SPIRAM_SPEED_40M=y -CONFIG_SPIRAM=y -CONFIG_SPIRAM_BOOT_INIT=y -# CONFIG_SPIRAM_IGNORE_NOTFOUND is not set -# CONFIG_SPIRAM_USE_MEMMAP is not set -# CONFIG_SPIRAM_USE_CAPS_ALLOC is not set -CONFIG_SPIRAM_USE_MALLOC=y -CONFIG_SPIRAM_MEMTEST=y -CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL=131072 -CONFIG_SPIRAM_TRY_ALLOCATE_WIFI_LWIP=y -CONFIG_SPIRAM_MALLOC_RESERVE_INTERNAL=32768 -# CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY is not set -# CONFIG_SPIRAM_ALLOW_NOINIT_SEG_EXTERNAL_MEMORY is not set -CONFIG_SPIRAM_CACHE_WORKAROUND=y - -# -# SPIRAM cache workaround debugging -# -CONFIG_SPIRAM_CACHE_WORKAROUND_STRATEGY_MEMW=y -# CONFIG_SPIRAM_CACHE_WORKAROUND_STRATEGY_DUPLDST is not set -# CONFIG_SPIRAM_CACHE_WORKAROUND_STRATEGY_NOPS is not set -# end of SPIRAM cache workaround debugging - -# -# SPIRAM workaround libraries placement -# -CONFIG_SPIRAM_CACHE_LIBJMP_IN_IRAM=y -CONFIG_SPIRAM_CACHE_LIBMATH_IN_IRAM=y -CONFIG_SPIRAM_CACHE_LIBNUMPARSER_IN_IRAM=y -CONFIG_SPIRAM_CACHE_LIBIO_IN_IRAM=y -CONFIG_SPIRAM_CACHE_LIBTIME_IN_IRAM=y -CONFIG_SPIRAM_CACHE_LIBCHAR_IN_IRAM=y -CONFIG_SPIRAM_CACHE_LIBMEM_IN_IRAM=y -CONFIG_SPIRAM_CACHE_LIBSTR_IN_IRAM=y -CONFIG_SPIRAM_CACHE_LIBRAND_IN_IRAM=y -CONFIG_SPIRAM_CACHE_LIBENV_IN_IRAM=y -CONFIG_SPIRAM_CACHE_LIBFILE_IN_IRAM=y -CONFIG_SPIRAM_CACHE_LIBMISC_IN_IRAM=y -# end of SPIRAM workaround libraries placement - -CONFIG_SPIRAM_BANKSWITCH_ENABLE=y -CONFIG_SPIRAM_BANKSWITCH_RESERVE=8 -# CONFIG_SPIRAM_ALLOW_STACK_EXTERNAL_MEMORY is not set - -# -# PSRAM clock and cs IO for ESP32-DOWD -# -CONFIG_D0WD_PSRAM_CLK_IO=17 -CONFIG_D0WD_PSRAM_CS_IO=16 -# end of PSRAM clock and cs IO for ESP32-DOWD - -# -# PSRAM clock and cs IO for ESP32-D2WD -# -CONFIG_D2WD_PSRAM_CLK_IO=9 -CONFIG_D2WD_PSRAM_CS_IO=10 -# end of PSRAM clock and cs IO for ESP32-D2WD - -# -# PSRAM clock and cs IO for ESP32-PICO -# -CONFIG_PICO_PSRAM_CS_IO=10 -# end of PSRAM clock and cs IO for ESP32-PICO - -# CONFIG_SPIRAM_CUSTOM_SPIWP_SD3_PIN is not set -CONFIG_SPIRAM_SPIWP_SD3_PIN=7 -# CONFIG_SPIRAM_2T_MODE is not set -# end of SPI RAM config - -# CONFIG_ESP32_TRAX is not set -CONFIG_ESP32_TRACEMEM_RESERVE_DRAM=0x0 -# 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_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_COMPATIBLE_PRE_V3_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 -# end of Common ESP-related - -# -# Ethernet -# -CONFIG_ETH_ENABLED=y -CONFIG_ETH_USE_ESP32_EMAC=y -CONFIG_ETH_PHY_INTERFACE_RMII=y -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_SPI_ETHERNET_KSZ8851SNL 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 -CONFIG_ESP_HTTP_CLIENT_ENABLE_DIGEST_AUTH=y -# 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 - -# -# Hardware Settings -# - -# -# MAC Config -# -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 -# CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_TWO is not set -CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_FOUR=y -CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES=4 -# end of MAC Config - -# -# Sleep Config -# -CONFIG_ESP_SLEEP_RTC_BUS_ISO_WORKAROUND=y -# CONFIG_ESP_SLEEP_GPIO_RESET_WORKAROUND is not set -# CONFIG_ESP_SLEEP_PSRAM_LEAKAGE_WORKAROUND is not set -# CONFIG_ESP_SLEEP_FLASH_LEAKAGE_WORKAROUND is not set -# end of Sleep Config - -# -# RTC Clock Config -# -# end of RTC Clock Config -# end of Hardware Settings - -# -# IPC (Inter-Processor Call) -# -CONFIG_ESP_IPC_TASK_STACK_SIZE=1024 -CONFIG_ESP_IPC_USES_CALLERS_PRIORITY=y -CONFIG_ESP_IPC_ISR_ENABLE=y -# end of IPC (Inter-Processor Call) - -# -# LCD and Touch Panel -# - -# -# LCD Peripheral Configuration -# -CONFIG_LCD_PANEL_IO_FORMAT_BUF_SIZE=32 -# end of LCD Peripheral Configuration -# end of LCD and Touch Panel - -# -# 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 - -# -# PHY -# -CONFIG_ESP_PHY_CALIBRATION_AND_DATA_STORAGE=y -# CONFIG_ESP_PHY_INIT_DATA_IN_PARTITION is not set -CONFIG_ESP_PHY_MAX_WIFI_TX_POWER=20 -CONFIG_ESP_PHY_MAX_TX_POWER=20 -CONFIG_ESP_PHY_REDUCE_TX_POWER=y -# end of PHY - -# -# 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_GDBSTUB_RUNTIME is not set - -# -# Memory protection -# -# end of Memory protection - -CONFIG_ESP_SYSTEM_EVENT_QUEUE_SIZE=32 -CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=2304 -CONFIG_ESP_MAIN_TASK_STACK_SIZE=3584 -CONFIG_ESP_MAIN_TASK_AFFINITY_CPU0=y -# CONFIG_ESP_MAIN_TASK_AFFINITY_CPU1 is not set -# CONFIG_ESP_MAIN_TASK_AFFINITY_NO_AFFINITY is not set -CONFIG_ESP_MAIN_TASK_AFFINITY=0x0 -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_DEBUG_STUBS_ENABLE is not set -CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_5=y -# CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_4 is not set -# 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_INTERRUPT_LEVEL=1 -# CONFIG_ESP_TIMER_SUPPORTS_ISR_DISPATCH_METHOD is not set -# 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_ENABLED=y -CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=10 -CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=32 -CONFIG_ESP32_WIFI_STATIC_TX_BUFFER=y -CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=0 -CONFIG_ESP32_WIFI_STATIC_TX_BUFFER_NUM=16 -CONFIG_ESP32_WIFI_CACHE_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_AMSDU_TX_ENABLED is not set -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_ESP_WIFI_SLP_IRAM_OPT is not set -# CONFIG_ESP_WIFI_STA_DISCONNECTED_PM_ENABLE is not set -# CONFIG_ESP_WIFI_GMAC_SUPPORT is not set -CONFIG_ESP_WIFI_SOFTAP_SUPPORT=y -# end of Wi-Fi - -# -# 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_ALLOC_PREFER_EXTRAM=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_PORT_TASK_AFFINITY_NO_AFFINITY is not set -CONFIG_FMB_PORT_TASK_AFFINITY_CPU0=y -# CONFIG_FMB_PORT_TASK_AFFINITY_CPU1 is not set -CONFIG_FMB_PORT_TASK_AFFINITY=0x0 -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_MASTER_TIMER_GROUP=0 -CONFIG_FMB_MASTER_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_TICK_SUPPORT_CORETIMER=y -CONFIG_FREERTOS_CORETIMER_0=y -# CONFIG_FREERTOS_CORETIMER_1 is not set -CONFIG_FREERTOS_SYSTICK_USES_CCOUNT=y -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 -CONFIG_FREERTOS_ENABLE_TASK_SNAPSHOT=y -# CONFIG_FREERTOS_PLACE_SNAPSHOT_FUNS_INTO_FLASH is not set -# end of FreeRTOS - -# -# Hardware Abstraction Layer (HAL) and Low Level (LL) -# -CONFIG_HAL_ASSERTION_EQUALS_SYSTEM=y -# CONFIG_HAL_ASSERTION_DISABLE is not set -# CONFIG_HAL_ASSERTION_SILIENT is not set -# CONFIG_HAL_ASSERTION_ENABLE is not set -CONFIG_HAL_DEFAULT_ASSERTION_LEVEL=2 -# end of Hardware Abstraction Layer (HAL) and Low Level (LL) - -# -# 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_MAXIMUM_EQUALS_DEFAULT=y -# CONFIG_LOG_MAXIMUM_LEVEL_DEBUG is not set -# CONFIG_LOG_MAXIMUM_LEVEL_VERBOSE is not set -CONFIG_LOG_MAXIMUM_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_NETIF_API is not set -# CONFIG_LWIP_TCPIP_CORE_LOCKING is not set -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_DISABLE_CLIENT_ID is not set -CONFIG_LWIP_DHCP_DISABLE_VENDOR_CLASS_ID=y -# CONFIG_LWIP_DHCP_RESTORE_LAST_IP is not set -CONFIG_LWIP_DHCP_OPTIONS_LEN=68 - -# -# DHCP server -# -CONFIG_LWIP_DHCPS=y -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_IPV6_NUM_ADDRESSES=3 -# CONFIG_LWIP_IPV6_FORWARD is not set -# CONFIG_LWIP_NETIF_STATUS_CALLBACK 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_WND_SCALE 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_ICMP=y -# 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_SNTP_MAX_SERVERS=1 -# CONFIG_LWIP_DHCP_GET_NTP_SRV is not set -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_ND6_GET_GW_NONE=y -# CONFIG_LWIP_HOOK_ND6_GET_GW_DEFAULT is not set -# CONFIG_LWIP_HOOK_ND6_GET_GW_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_EXTERNAL_MEM_ALLOC is not set -# 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 - -# -# mbedTLS v2.28.x related -# -# CONFIG_MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH is not set -# CONFIG_MBEDTLS_X509_TRUSTED_CERT_CALLBACK is not set -# CONFIG_MBEDTLS_SSL_CONTEXT_SERIALIZATION is not set -CONFIG_MBEDTLS_SSL_KEEP_PEER_CERTIFICATE=y -# end of mbedTLS v2.28.x related - -# -# 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_GMTSSL1_1 is not set -# CONFIG_MBEDTLS_SSL_PROTO_DTLS is not set -CONFIG_MBEDTLS_SSL_ALPN=y -CONFIG_MBEDTLS_CLIENT_SSL_SESSION_TICKETS=y -CONFIG_MBEDTLS_X509_CHECK_KEY_USAGE=y -CONFIG_MBEDTLS_X509_CHECK_EXTENDED_KEY_USAGE=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 -# CONFIG_MBEDTLS_NIST_KW_C is not set -# 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 -# CONFIG_MDNS_NETWORKING_SOCKET is not set -CONFIG_MDNS_MULTIPLE_INSTANCE=y -# 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 - -# -# OpenThread -# -# CONFIG_OPENTHREAD_ENABLED is not set -# end of OpenThread - -# -# 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 -# CONFIG_SPI_FLASH_OVERRIDE_CHIP_DRIVER_LIST 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 -# CONFIG_SPI_FLASH_SUPPORT_BOYA_CHIP is not set -# CONFIG_SPI_FLASH_SUPPORT_TH_CHIP is not set -# 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 -# - -# -# Websocket -# -CONFIG_WS_TRANSPORT=y -CONFIG_WS_BUFFER_SIZE=1024 -# end of Websocket -# end of TCP Transport - -# -# Unity unit testing library -# -CONFIG_UNITY_ENABLE_FLOAT=y -CONFIG_UNITY_ENABLE_DOUBLE=y -# CONFIG_UNITY_ENABLE_64BIT is not set -# 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_SUITE_B_192 is not set -# CONFIG_WPA_DEBUG_PRINT is not set -# CONFIG_WPA_TESTING_OPTIONS is not set -# CONFIG_WPA_WPS_STRICT is not set -# CONFIG_WPA_11KV_SUPPORT is not set -# end of Supplicant - -# -# LVGL configuration -# -# CONFIG_LV_CONF_SKIP is not set -# CONFIG_LV_CONF_MINIMAL is not set - -# -# Color settings -# -# CONFIG_LV_COLOR_DEPTH_32 is not set -CONFIG_LV_COLOR_DEPTH_16=y -# CONFIG_LV_COLOR_DEPTH_8 is not set -# CONFIG_LV_COLOR_DEPTH_1 is not set -CONFIG_LV_COLOR_DEPTH=16 -# CONFIG_LV_COLOR_16_SWAP is not set -# CONFIG_LV_COLOR_SCREEN_TRANSP is not set -CONFIG_LV_COLOR_MIX_ROUND_OFS=128 -CONFIG_LV_COLOR_CHROMA_KEY_HEX=0x00FF00 -# end of Color settings - -# -# Memory settings -# -# CONFIG_LV_MEM_CUSTOM is not set -CONFIG_LV_MEM_SIZE_KILOBYTES=32 -CONFIG_LV_MEM_ADDR=0x0 -CONFIG_LV_MEM_BUF_MAX_NUM=16 -# CONFIG_LV_MEMCPY_MEMSET_STD is not set -# end of Memory settings - -# -# HAL Settings -# -CONFIG_LV_DISP_DEF_REFR_PERIOD=30 -CONFIG_LV_INDEV_DEF_READ_PERIOD=30 -# CONFIG_LV_TICK_CUSTOM is not set -CONFIG_LV_DPI_DEF=130 -# end of HAL Settings - -# -# Feature configuration -# - -# -# Drawing -# -CONFIG_LV_DRAW_COMPLEX=y -CONFIG_LV_SHADOW_CACHE_SIZE=0 -CONFIG_LV_CIRCLE_CACHE_SIZE=4 -CONFIG_LV_LAYER_SIMPLE_BUF_SIZE=24576 -CONFIG_LV_IMG_CACHE_DEF_SIZE=0 -CONFIG_LV_GRADIENT_MAX_STOPS=2 -CONFIG_LV_GRAD_CACHE_DEF_SIZE=0 -# CONFIG_LV_DITHER_GRADIENT is not set -CONFIG_LV_DISP_ROT_MAX_BUF=10240 -# end of Drawing - -# -# GPU -# -# CONFIG_LV_USE_GPU_ARM2D is not set -# CONFIG_LV_USE_GPU_STM32_DMA2D is not set -# CONFIG_LV_USE_GPU_SWM341_DMA2D is not set -# CONFIG_LV_USE_GPU_NXP_PXP is not set -# CONFIG_LV_USE_GPU_NXP_VG_LITE is not set -# CONFIG_LV_USE_GPU_SDL is not set -# end of GPU - -# -# Logging -# -# CONFIG_LV_USE_LOG is not set -# end of Logging - -# -# Asserts -# -CONFIG_LV_USE_ASSERT_NULL=y -CONFIG_LV_USE_ASSERT_MALLOC=y -# CONFIG_LV_USE_ASSERT_STYLE is not set -# CONFIG_LV_USE_ASSERT_MEM_INTEGRITY is not set -# CONFIG_LV_USE_ASSERT_OBJ is not set -CONFIG_LV_ASSERT_HANDLER_INCLUDE="assert.h" -# end of Asserts - -# -# Others -# -# CONFIG_LV_USE_PERF_MONITOR is not set -# CONFIG_LV_USE_MEM_MONITOR is not set -# CONFIG_LV_USE_REFR_DEBUG is not set -# CONFIG_LV_SPRINTF_CUSTOM is not set -# CONFIG_LV_SPRINTF_USE_FLOAT is not set -CONFIG_LV_USE_USER_DATA=y -# CONFIG_LV_ENABLE_GC is not set -# end of Others - -# -# Compiler settings -# -# CONFIG_LV_BIG_ENDIAN_SYSTEM is not set -CONFIG_LV_ATTRIBUTE_MEM_ALIGN_SIZE=1 -# CONFIG_LV_ATTRIBUTE_FAST_MEM_USE_IRAM is not set -# CONFIG_LV_USE_LARGE_COORD is not set -# end of Compiler settings -# end of Feature configuration - -# -# Font usage -# - -# -# Enable built-in fonts -# -# CONFIG_LV_FONT_MONTSERRAT_8 is not set -# CONFIG_LV_FONT_MONTSERRAT_10 is not set -# CONFIG_LV_FONT_MONTSERRAT_12 is not set -CONFIG_LV_FONT_MONTSERRAT_14=y -# CONFIG_LV_FONT_MONTSERRAT_16 is not set -# CONFIG_LV_FONT_MONTSERRAT_18 is not set -# CONFIG_LV_FONT_MONTSERRAT_20 is not set -# CONFIG_LV_FONT_MONTSERRAT_22 is not set -# CONFIG_LV_FONT_MONTSERRAT_24 is not set -# CONFIG_LV_FONT_MONTSERRAT_26 is not set -# CONFIG_LV_FONT_MONTSERRAT_28 is not set -# CONFIG_LV_FONT_MONTSERRAT_30 is not set -# CONFIG_LV_FONT_MONTSERRAT_32 is not set -# CONFIG_LV_FONT_MONTSERRAT_34 is not set -# CONFIG_LV_FONT_MONTSERRAT_36 is not set -# CONFIG_LV_FONT_MONTSERRAT_38 is not set -# CONFIG_LV_FONT_MONTSERRAT_40 is not set -# CONFIG_LV_FONT_MONTSERRAT_42 is not set -# CONFIG_LV_FONT_MONTSERRAT_44 is not set -# CONFIG_LV_FONT_MONTSERRAT_46 is not set -# CONFIG_LV_FONT_MONTSERRAT_48 is not set -# CONFIG_LV_FONT_MONTSERRAT_12_SUBPX is not set -# CONFIG_LV_FONT_MONTSERRAT_28_COMPRESSED is not set -# CONFIG_LV_FONT_DEJAVU_16_PERSIAN_HEBREW is not set -# CONFIG_LV_FONT_SIMSUN_16_CJK is not set -# CONFIG_LV_FONT_UNSCII_8 is not set -# CONFIG_LV_FONT_UNSCII_16 is not set -# CONFIG_LV_FONT_CUSTOM is not set -# end of Enable built-in fonts - -# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_8 is not set -# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_12 is not set -CONFIG_LV_FONT_DEFAULT_MONTSERRAT_14=y -# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_16 is not set -# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_18 is not set -# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_20 is not set -# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_22 is not set -# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_24 is not set -# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_26 is not set -# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_28 is not set -# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_30 is not set -# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_32 is not set -# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_34 is not set -# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_36 is not set -# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_38 is not set -# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_40 is not set -# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_42 is not set -# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_44 is not set -# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_46 is not set -# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_48 is not set -# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_12_SUBPX is not set -# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_28_COMPRESSED is not set -# CONFIG_LV_FONT_DEFAULT_DEJAVU_16_PERSIAN_HEBREW is not set -# CONFIG_LV_FONT_DEFAULT_SIMSUN_16_CJK is not set -# CONFIG_LV_FONT_DEFAULT_UNSCII_8 is not set -# CONFIG_LV_FONT_DEFAULT_UNSCII_16 is not set -# CONFIG_LV_FONT_FMT_TXT_LARGE is not set -# CONFIG_LV_USE_FONT_COMPRESSED is not set -# CONFIG_LV_USE_FONT_SUBPX is not set -CONFIG_LV_USE_FONT_PLACEHOLDER=y -# end of Font usage - -# -# Text Settings -# -CONFIG_LV_TXT_ENC_UTF8=y -# CONFIG_LV_TXT_ENC_ASCII is not set -CONFIG_LV_TXT_BREAK_CHARS=" ,.;:-_" -CONFIG_LV_TXT_LINE_BREAK_LONG_LEN=0 -CONFIG_LV_TXT_COLOR_CMD="#" -# CONFIG_LV_USE_BIDI is not set -# CONFIG_LV_USE_ARABIC_PERSIAN_CHARS is not set -# end of Text Settings - -# -# Widget usage -# -CONFIG_LV_USE_ARC=y -CONFIG_LV_USE_BAR=y -CONFIG_LV_USE_BTN=y -CONFIG_LV_USE_BTNMATRIX=y -CONFIG_LV_USE_CANVAS=y -CONFIG_LV_USE_CHECKBOX=y -CONFIG_LV_USE_DROPDOWN=y -CONFIG_LV_USE_IMG=y -CONFIG_LV_USE_LABEL=y -CONFIG_LV_LABEL_TEXT_SELECTION=y -CONFIG_LV_LABEL_LONG_TXT_HINT=y -CONFIG_LV_USE_LINE=y -CONFIG_LV_USE_ROLLER=y -CONFIG_LV_ROLLER_INF_PAGES=7 -CONFIG_LV_USE_SLIDER=y -CONFIG_LV_USE_SWITCH=y -CONFIG_LV_USE_TEXTAREA=y -CONFIG_LV_TEXTAREA_DEF_PWD_SHOW_TIME=1500 -CONFIG_LV_USE_TABLE=y -# end of Widget usage - -# -# Extra Widgets -# -CONFIG_LV_USE_ANIMIMG=y -CONFIG_LV_USE_CALENDAR=y -# CONFIG_LV_CALENDAR_WEEK_STARTS_MONDAY is not set -CONFIG_LV_USE_CALENDAR_HEADER_ARROW=y -CONFIG_LV_USE_CALENDAR_HEADER_DROPDOWN=y -CONFIG_LV_USE_CHART=y -CONFIG_LV_USE_COLORWHEEL=y -CONFIG_LV_USE_IMGBTN=y -CONFIG_LV_USE_KEYBOARD=y -CONFIG_LV_USE_LED=y -CONFIG_LV_USE_LIST=y -CONFIG_LV_USE_MENU=y -CONFIG_LV_USE_METER=y -CONFIG_LV_USE_MSGBOX=y -CONFIG_LV_USE_SPAN=y -CONFIG_LV_SPAN_SNIPPET_STACK_SIZE=64 -CONFIG_LV_USE_SPINBOX=y -CONFIG_LV_USE_SPINNER=y -CONFIG_LV_USE_TABVIEW=y -CONFIG_LV_USE_TILEVIEW=y -CONFIG_LV_USE_WIN=y -# end of Extra Widgets - -# -# Themes -# -CONFIG_LV_USE_THEME_DEFAULT=y -# CONFIG_LV_THEME_DEFAULT_DARK is not set -CONFIG_LV_THEME_DEFAULT_GROW=y -CONFIG_LV_THEME_DEFAULT_TRANSITION_TIME=80 -CONFIG_LV_USE_THEME_BASIC=y -# CONFIG_LV_USE_THEME_MONO is not set -# end of Themes - -# -# Layouts -# -CONFIG_LV_USE_FLEX=y -CONFIG_LV_USE_GRID=y -# end of Layouts - -# -# 3rd Party Libraries -# -# CONFIG_LV_USE_FS_STDIO is not set -# CONFIG_LV_USE_FS_POSIX is not set -# CONFIG_LV_USE_FS_WIN32 is not set -# CONFIG_LV_USE_FS_FATFS is not set -# CONFIG_LV_USE_PNG is not set -# CONFIG_LV_USE_BMP is not set -# CONFIG_LV_USE_SJPG is not set -# CONFIG_LV_USE_GIF is not set -# CONFIG_LV_USE_QRCODE is not set -# CONFIG_LV_USE_FREETYPE is not set -# CONFIG_LV_USE_RLOTTIE is not set -# CONFIG_LV_USE_FFMPEG is not set -# end of 3rd Party Libraries - -# -# Others -# -CONFIG_LV_USE_SNAPSHOT=y -# CONFIG_LV_USE_MONKEY is not set -# CONFIG_LV_USE_GRIDNAV is not set -# CONFIG_LV_USE_FRAGMENT is not set -# CONFIG_LV_USE_IMGFONT is not set -# CONFIG_LV_USE_MSG is not set -# CONFIG_LV_USE_IME_PINYIN is not set -# end of Others - -# -# Examples -# -CONFIG_LV_BUILD_EXAMPLES=y -# end of Examples - -# -# Demos -# -# CONFIG_LV_USE_DEMO_WIDGETS is not set -# CONFIG_LV_USE_DEMO_KEYPAD_AND_ENCODER is not set -# CONFIG_LV_USE_DEMO_BENCHMARK is not set -# CONFIG_LV_USE_DEMO_STRESS is not set -# CONFIG_LV_USE_DEMO_MUSIC is not set -# end of Demos -# end of LVGL 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_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_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_ADC2_DISABLE_DAC=y -CONFIG_SPIRAM_SUPPORT=y -CONFIG_WIFI_LWIP_ALLOCATION_FROM_SPIRAM_FIRST=y -CONFIG_TRACEMEM_RESERVE_DRAM=0x0 -# 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_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_EVENT_LOOP_PROFILING is not set -CONFIG_POST_EVENTS_FROM_ISR=y -CONFIG_POST_EVENTS_FROM_IRAM_ISR=y -# CONFIG_TWO_UNIVERSAL_MAC_ADDRESS is not set -CONFIG_FOUR_UNIVERSAL_MAC_ADDRESS=y -CONFIG_NUMBER_OF_UNIVERSAL_MAC_ADDRESS=4 -# CONFIG_ESP32C3_LIGHTSLEEP_GPIO_RESET_WORKAROUND is not set -CONFIG_IPC_TASK_STACK_SIZE=1024 -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_ESP32_REDUCE_PHY_TX_POWER=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_SYSTEM_EVENT_QUEUE_SIZE=32 -CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE=2304 -CONFIG_MAIN_TASK_STACK_SIZE=3584 -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_ESP32_DEBUG_STUBS_ENABLE 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/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/README.md b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/README.md index f90f52e..37822ae 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/README.md +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/README.md @@ -8,3 +8,7 @@ platformio run -t menuconfig ``` Component config -> ESP32 Specific -> SPIRAM/PSRAM Enable/Disable b) Comment/uncomment PSRAM lines from platformio.ini depending on your ESP32 hardware + +# Gotchas + +If build goes well and then at the very end you get undefined reference to a task function that doesn't take arguments, make sure you have it take the `void *args` argument. \ No newline at end of file diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/comms/wifi_websocket_comms.cpp b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/comms/wifi_websocket_comms.cpp new file mode 100644 index 0000000..1a0c070 --- /dev/null +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/comms/wifi_websocket_comms.cpp @@ -0,0 +1,652 @@ +// WIFI*************************************************************************************************************************** +/* The examples use WiFi configuration that you can set via project configuration menu + If you'd rather not, just change the below entries to strings with + the config you want - ie #define EXAMPLE_WIFI_SSID "mywifissid" +*/ + +#include "../include/ossg_constants.hpp" + +#include "freertos/FreeRTOS.h" +#include "esp_log.h" +#include "freertos/message_buffer.h" + +//wifi import +#include "esp_wifi.h" +#include "lwip/err.h" +#include "lwip/sys.h" +#include +#include +#include + +// web socket libs +#include "freertos/semphr.h" +#include "freertos/event_groups.h" +#include "esp_websocket_client.h" +#include "esp_event.h" + +// JSON parsing +#include "../utils/json_parse.hpp" + +esp_websocket_client_handle_t webSocketClient; +MessageBufferHandle_t localWebsocketSendBuffer; +size_t localWebsocketSendBufferLen; + +//wifi vars/constants +char WIS_IP[16]; +char WIS_WEBSOCKET_IP[16]; + +#define RECEIVER_IP_ADDR "255.255.255.255" +#define RECEIVER_PORT_NUM 8891 +#define WIS_WEBSOCKET_COMMS_PORT 8887 + +#define EXAMPLE_ESP_MAXIMUM_RETRY 100000 + +#if CONFIG_ESP_WIFI_AUTH_OPEN +#define ESP_WIFI_SCAN_AUTH_MODE_THRESHOLD WIFI_AUTH_OPEN +#elif CONFIG_ESP_WIFI_AUTH_WEP +#define ESP_WIFI_SCAN_AUTH_MODE_THRESHOLD WIFI_AUTH_WEP +#elif CONFIG_ESP_WIFI_AUTH_WPA_PSK +#define ESP_WIFI_SCAN_AUTH_MODE_THRESHOLD WIFI_AUTH_WPA_PSK +#elif CONFIG_ESP_WIFI_AUTH_WPA2_PSK +#define ESP_WIFI_SCAN_AUTH_MODE_THRESHOLD WIFI_AUTH_WPA2_PSK +#elif CONFIG_ESP_WIFI_AUTH_WPA_WPA2_PSK +#define ESP_WIFI_SCAN_AUTH_MODE_THRESHOLD WIFI_AUTH_WPA_WPA2_PSK +#elif CONFIG_ESP_WIFI_AUTH_WPA3_PSK +#define ESP_WIFI_SCAN_AUTH_MODE_THRESHOLD WIFI_AUTH_WPA3_PSK +#elif CONFIG_ESP_WIFI_AUTH_WPA2_WPA3_PSK +#define ESP_WIFI_SCAN_AUTH_MODE_THRESHOLD WIFI_AUTH_WPA2_WPA3_PSK +#elif CONFIG_ESP_WIFI_AUTH_WAPI_PSK +#define ESP_WIFI_SCAN_AUTH_MODE_THRESHOLD WIFI_AUTH_WAPI_PSK +#endif + +/* FreeRTOS event group to signal when we are connected*/ +static EventGroupHandle_t s_wifi_event_group; + +/* The event group allows multiple bits for each event, but we only care about two events: + * - we are connected to the AP with an IP + * - we failed to connect after the maximum amount of retries */ +#define WIFI_CONNECTED_BIT BIT0 +#define WIFI_FAIL_BIT BIT1 + +static const char *TAG = "WIFI_WEBSOCKET_COMMS_OSSG"; + +static int s_retry_num = 0; + +int create_ipv4_socket() +{ + struct addrinfo hints; + struct addrinfo *res; + struct in_addr *addr; + + hints.ai_family = AF_INET; + hints.ai_socktype = SOCK_STREAM; + + int err = getaddrinfo(WIS_IP, "4567", &hints, &res); + + if (err != 0 || res == NULL) + { + printf("DNS lookup failed err=%d res=%p\n", err, res); + return -1; + } + + /* Code to print the resolved IP. + + Note: inet_ntoa is non-reentrant, look at ipaddr_ntoa_r for "real" code */ + addr = &((struct sockaddr_in *)res->ai_addr)->sin_addr; + printf("DNS lookup succeeded. IP=%s\n", inet_ntoa(*addr)); + + int l_sock = socket(res->ai_family, res->ai_socktype, 0); + if (l_sock < 0) + { + printf("... Failed to allocate socket.\n"); + freeaddrinfo(res); + return -1; + } + + struct timeval to; + to.tv_sec = 2; + to.tv_usec = 0; + setsockopt(l_sock, SOL_SOCKET, SO_SNDTIMEO, &to, sizeof(to)); + + if (connect(l_sock, res->ai_addr, res->ai_addrlen) != 0) + { + printf("... socket connect failed errno=%d\n", errno); + close(l_sock); + freeaddrinfo(res); + return -1; + } + + freeaddrinfo(res); + + // All set, socket is configured for sending and receiving + return l_sock; +} + +void tcp_connect_task() +{ + create_ipv4_socket(); + while (1) + { + printf("HELLO WOLRD"); + vTaskDelay(1000 / portTICK_PERIOD_MS); + } +} + +void udp_listen_task() +{ + + printf("ASDF 1\n"); + while (1) + { + struct sockaddr_in dest_addr; + dest_addr.sin_addr.s_addr = htonl(INADDR_ANY); + printf("ASDF 1.5\n"); + dest_addr.sin_family = AF_INET; + dest_addr.sin_port = htons(RECEIVER_PORT_NUM); + printf("ASDF 1.8\n"); + int addr_family = AF_INET; + int ip_protocol = IPPROTO_IP; + // inet_ntoa_r(dest_addr.sin_addr, RECEIVER_IP_ADDR, sizeof(RECEIVER_IP_ADDR) - 1); + printf("ASDF 2\n"); + + // ra.sin_family = AF_INET; + // ra.sin_addr.s_addr = inet_addr(RECEIVER_IP_ADDR); + // ra.sin_port = htons(RECEIVER_PORT_NUM); + + char data_buffer[80]; + + int sock = socket(addr_family, SOCK_DGRAM, ip_protocol); + if (sock < 0) + { + ESP_LOGE(TAG, "Unable to create socket: errno %d", errno); + break; + } + printf("ASDF 3\n"); + // ESP_LOGI(TAG, "Socket created"); + + int bc = 1; + if (setsockopt(sock, SOL_SOCKET, SO_BROADCAST, &bc, sizeof(bc)) < 0) + { + ESP_LOGE(TAG, "Failed to set sock options: errno %d", errno); + closesocket(sock); + break; + } + printf("ASDF 4\n"); + + int err = bind(sock, (struct sockaddr *)&dest_addr, sizeof(dest_addr)); + if (err < 0) + { + ESP_LOGE(TAG, "Socket unable to bind: err %d", err); + } + + while (1) + { + + printf("ASDF 5"); + struct sockaddr_in6 source_addr; + socklen_t socklen = sizeof(source_addr); + printf("Listening on UDP..."); + int len = recvfrom(sock, &data_buffer, sizeof(data_buffer), 0, (struct sockaddr *)&source_addr, &socklen); + printf("Received UDP data!"); + + // Error occurred during receiving + if (len < 0) + { + ESP_LOGE(TAG, "recvfrom failed: errno %d", errno); + break; + } + // Data received + else + { + + // Get the sender's ip address as string + if (source_addr.sin6_family == PF_INET) + { + inet_ntoa_r(((struct sockaddr_in *)&source_addr)->sin_addr.s_addr, RECEIVER_IP_ADDR, sizeof(RECEIVER_IP_ADDR) - 1); + } + else if (source_addr.sin6_family == PF_INET6) + { + inet6_ntoa_r(source_addr.sin6_addr, RECEIVER_IP_ADDR, sizeof(RECEIVER_IP_ADDR) - 1); + } + } + } + + if (sock != -1) + { + ESP_LOGE(TAG, "Shutting down socket and restarting..."); + shutdown(sock, 0); + close(sock); + } + } + vTaskDelete(NULL); +} + +// void receive_thread(void *pvParameters) +// { +// printf("Receive thread started... \n"); + +// int socket_fd; +// struct sockaddr_in sa,ra; + +// int recv_data; char data_buffer[80]; +// /* Creates an UDP socket (SOCK_DGRAM) with Internet Protocol Family (PF_INET). +// * Protocol family and Address family related. For example PF_INET Protocol Family and AF_INET family are coupled. +// */ + +// socket_fd = socket(PF_INET, SOCK_DGRAM, 0); + +// if ( socket_fd < 0 ) +// { + +// printf("socket call failed"); +// exit(0); + +// } + +// memset(&sa, 0, sizeof(struct sockaddr_in)); +// ra.sin_family = AF_INET; +// ra.sin_addr.s_addr = inet_addr(RECEIVER_IP_ADDR); +// ra.sin_port = htons(RECEIVER_PORT_NUM); + +// int bc = 1; +// if (setsockopt(socket_fd, SOL_SOCKET, SO_BROADCAST, &bc, sizeof(bc)) < 0) { +// ESP_LOGE(TAG, "Failed to set sock options: errno %d", errno); +// closesocket(socket_fd); +// return; +// } + +// /* Bind the UDP socket to the port RECEIVER_PORT_NUM and to the current +// * machines IP address (Its defined by RECEIVER_PORT_NUM). +// * Once bind is successful for UDP sockets application can operate +// * on the socket descriptor for sending or receiving data. +// */ +// if (bind(socket_fd, (struct sockaddr *)&ra, sizeof(struct sockaddr_in)) == -1) +// { + +// printf("Bind to Port Number %d ,IP address %s failed\n",RECEIVER_PORT_NUM,RECEIVER_IP_ADDR); +// close(socket_fd); +// exit(1); +// } +// /* RECEIVER_PORT_NUM is port on which Server waits for data to +// * come in. It copies the received data into receive buffer and +// * prints the received data as string. If no data is available it +// * blocks.recv calls typically return any availbale data on the socket instead of waiting for the entire data to come. +// */ + +// printf("Listening for data...\n"); +// recv_data = recv(socket_fd,data_buffer,sizeof(data_buffer),0); +// printf("GOT DATA\n"); +// if(recv_data > 0) +// { + +// data_buffer[recv_data] = '\0'; +// printf("%s\n",data_buffer); + +// } +// close(socket_fd); +// } + +bool check_websocket_connect(){ + return esp_websocket_client_is_connected(webSocketClient); +} + +// this should be done within websocket, but it works for now +void update_ws_ip() +{ + if (!esp_websocket_client_is_connected(webSocketClient)) + { + int wsUriLen = 1024; + char wsUri[wsUriLen]; + snprintf(wsUri, wsUriLen, "ws://%s", WIS_WEBSOCKET_IP); + esp_websocket_client_set_uri(webSocketClient, wsUri); + } +} + +static void event_handler(void *arg, esp_event_base_t event_base, + int32_t event_id, void *event_data) +{ + if (event_base == WIFI_EVENT && event_id == WIFI_EVENT_STA_START) + { + esp_wifi_connect(); + } + else if (event_base == WIFI_EVENT && event_id == WIFI_EVENT_STA_DISCONNECTED) + { + // kill websocket + if (s_retry_num < EXAMPLE_ESP_MAXIMUM_RETRY) + { + esp_wifi_connect(); + s_retry_num++; + ESP_LOGI(TAG, "retry to connect to the AP"); + } + else + { + xEventGroupSetBits(s_wifi_event_group, WIFI_FAIL_BIT); + } + ESP_LOGI(TAG, "connect to the AP fail"); + } + else if (event_base == IP_EVENT && event_id == IP_EVENT_STA_GOT_IP) + { + ip_event_got_ip_t *event = (ip_event_got_ip_t *)event_data; + ESP_LOGI(TAG, "got ip:" IPSTR, IP2STR(&event->ip_info.ip)); + snprintf(WIS_IP, sizeof(WIS_IP), IPSTR, IP2STR(&event->ip_info.ip)); + snprintf(WIS_WEBSOCKET_IP, sizeof(WIS_WEBSOCKET_IP), IPSTR, IP2STR(&event->ip_info.gw)); + printf("WIS_IP is %s", WIS_IP); + printf("WIS_WEBSOCKET_IP is %s", WIS_WEBSOCKET_IP); + update_ws_ip(); + // snprintf(WIS_IP, sizeof(WIS_IP), "192.168.15.188"); //DEBUG for testing, uncomment this line to connect to hotspot host + s_retry_num = 0; + xEventGroupSetBits(s_wifi_event_group, WIFI_CONNECTED_BIT); + // start listening for UDP packets - WIS server advertising itself + // xTaskCreate(&udp_listen_task, "udp_listen_thread", 2048, NULL, 5, NULL); + // xTaskCreate(&tcp_connect_task, "tcp_connect_thread", 2048, NULL, 5, NULL); + } +} + +void wifi_init_sta() +{ + ESP_LOGI(PROGRAM_LOG_TAG, "ESP_WIFI_MODE_STA"); + s_wifi_event_group = xEventGroupCreate(); + + ESP_ERROR_CHECK(esp_netif_init()); + + esp_netif_create_default_wifi_sta(); + + wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT(); + +#if MEM_MSG + cout << "Free heap RIGHT BEFORE WIFI INIT: "; + cout << heap_caps_get_free_size(MALLOC_CAP_8BIT) << endl; +#endif + ESP_ERROR_CHECK(esp_wifi_init(&cfg)); + //esp_wifi_init(&cfg); +#if MEM_MSG + cout << "Free heap RIGHT AFTER WIFI INIT: "; + cout << heap_caps_get_free_size(MALLOC_CAP_8BIT) << endl; +#endif + esp_event_handler_instance_t instance_any_id; + esp_event_handler_instance_t instance_got_ip; + ESP_ERROR_CHECK(esp_event_handler_instance_register(WIFI_EVENT, + ESP_EVENT_ANY_ID, + &event_handler, + NULL, + &instance_any_id)); + ESP_ERROR_CHECK(esp_event_handler_instance_register(IP_EVENT, + IP_EVENT_STA_GOT_IP, + &event_handler, + NULL, + &instance_got_ip)); + /* + wifi_config_t wifi_config = { + .sta = { + .ssid = EXAMPLE_ESP_WIFI_SSID, + .password = EXAMPLE_ESP_WIFI_PASS, + .threshold.authmode = WIFI_AUTH_OPEN, //change this to change minimum acceptable security level + + // Setting a password implies station will connect to all security modes including WEP/WPA. + // However these modes are deprecated and not advisable to be used. Incase your Access point + // doesn't support WPA2, these mode can be enabled by commenting below line + }, + }; + */ + // C++ version of the above + wifi_config_t wifi_config = {}; + strcpy((char *)wifi_config.sta.ssid, esp_wifi_ssid); + strcpy((char *)wifi_config.sta.password, esp_wifi_pass); + wifi_config.sta.threshold.authmode = WIFI_AUTH_OPEN; + + ESP_ERROR_CHECK(esp_wifi_set_mode(WIFI_MODE_STA)); + ESP_ERROR_CHECK(esp_wifi_set_config(WIFI_IF_STA, &wifi_config)); + ESP_ERROR_CHECK(esp_wifi_start()); + + ESP_LOGI(TAG, "wifi_init_sta finished."); + + /* Waiting until either the connection is established (WIFI_CONNECTED_BIT) or connection failed for the maximum + * number of re-tries (WIFI_FAIL_BIT). The bits are set by event_handler() (see above) */ + EventBits_t bits = xEventGroupWaitBits(s_wifi_event_group, + WIFI_CONNECTED_BIT | WIFI_FAIL_BIT, + pdFALSE, + pdFALSE, + portMAX_DELAY); + + /* xEventGroupWaitBits() returns the bits before the call returned, hence we can test which event actually + * happened. */ + if (bits & WIFI_CONNECTED_BIT) + { + ESP_LOGI(TAG, "connected to ap SSID:%s password:%s", + esp_wifi_ssid, esp_wifi_pass); + } + else if (bits & WIFI_FAIL_BIT) + { + ESP_LOGI(TAG, "Failed to connect to SSID:%s, password:%s", + esp_wifi_ssid, esp_wifi_pass); + } + else + { + ESP_LOGE(TAG, "UNEXPECTED EVENT"); + } +} + +// WEB SOCKET ******************************************************************************************** + +#define NO_DATA_TIMEOUT_SEC 10 + +static TimerHandle_t shutdown_signal_timer; +static SemaphoreHandle_t shutdown_sema; + +static void shutdown_signaler(TimerHandle_t xTimer) +{ + ESP_LOGI(TAG, "No data received for %d seconds, signaling shutdown", NO_DATA_TIMEOUT_SEC); + xSemaphoreGive(shutdown_sema); +} + +static void websocket_event_handler(void *handler_args, esp_event_base_t base, int32_t event_id, void *event_data) +{ + esp_websocket_event_data_t *data = (esp_websocket_event_data_t *)event_data; + switch (event_id) + { + case WEBSOCKET_EVENT_CONNECTED: + ESP_LOGI(TAG, "WEBSOCKET_EVENT_CONNECTED"); + break; + case WEBSOCKET_EVENT_DISCONNECTED: + ESP_LOGI(TAG, "WEBSOCKET_EVENT_DISCONNECTED"); + // reconnect + break; + case WEBSOCKET_EVENT_DATA: + { + ESP_LOGI(TAG, "WEBSOCKET_EVENT_DATA"); + // ESP_LOGI(TAG, "Received opcode=%d", data->op_code); + // ESP_LOGW(TAG, "Received=%.*s", data->data_len, (char *)data->data_ptr); + // ESP_LOGW(TAG, "Total payload length=%d, data_len=%d, current payload offset=%d\r\n", data->payload_len, data->data_len, data->payload_offset); + // if (data->data_len > 5){ //ignore empty strings and tiny pings + // int jsonStringLen = (data->data_len)+1; + // char jsonString[jsonStringLen]; + // snprintf(jsonString, jsonStringLen, "%s", (char *)data->data_ptr); + // ESP_LOGW(TAG, "JSON STRING PREPARSE=%s", jsonString); + // //parseJson(jsonString); + // } + break; + } + case WEBSOCKET_EVENT_ERROR: + printf("WEBSOCKET_EVENT_ERROR"); + break; + default: + ESP_LOGI(TAG, "WEBSOCKET EVENT WAS: %d", event_id); + } +} + +static void reconnect_websocket() +{ + // close down the socket + esp_websocket_client_close(webSocketClient, portMAX_DELAY); + + // connect the socket again +} + +void ping_loop_task(void *args) +{ + while (true) + { + if (esp_websocket_client_is_connected(webSocketClient)) + { + char ping[64] = "ping bitch"; + esp_websocket_client_send_text(webSocketClient, ping, strlen(ping), portMAX_DELAY); + } + vTaskDelay(500 / portTICK_RATE_MS); + } +} + +void websocket_app_start(MessageBufferHandle_t websocketSendBuffer, size_t websocketSendBufferLen) +{ + localWebsocketSendBuffer = websocketSendBuffer; + localWebsocketSendBufferLen = websocketSendBufferLen; + + esp_websocket_client_config_t websocket_cfg = {}; + + // shutdown_signal_timer = xTimerCreate("Websocket shutdown timer", NO_DATA_TIMEOUT_SEC * 1000 / portTICK_PERIOD_MS, + // pdFALSE, NULL, shutdown_signaler); + shutdown_sema = xSemaphoreCreateBinary(); + + // websocket url/IP and port + int wsUriLen = 1024; + char wsUri[wsUriLen]; + snprintf(wsUri, wsUriLen, "ws://%s", WIS_WEBSOCKET_IP); + websocket_cfg.uri = wsUri; + websocket_cfg.port = 8887; + + ESP_LOGI(TAG, "Connecting to %s...", websocket_cfg.uri); + + webSocketClient = esp_websocket_client_init(&websocket_cfg); + esp_websocket_register_events(webSocketClient, WEBSOCKET_EVENT_ANY, websocket_event_handler, (void *)webSocketClient); + + esp_websocket_client_start(webSocketClient); +} + +void websocket_receive_loop(void *args){ + // xTimerStart(shutdown_signal_timer, portMAX_DELAY); + char data[32]; + int i = 0; + while (true) + { + // if (esp_websocket_client_is_connected(webSocketClient)) { + // int len = sprintf(data, "hello %04d", i++); + // ESP_LOGI(TAG, "Sending %s of size %d", payload, strlen(payload)); + // esp_websocket_client_send_text(webSocketClient, payload, strlen(payload), portMAX_DELAY); + // } + vTaskDelay(1000 / portTICK_RATE_MS); + } + + xSemaphoreTake(shutdown_sema, portMAX_DELAY); + esp_websocket_client_stop(webSocketClient); + ESP_LOGI(TAG, "Websocket Stopped"); + esp_websocket_client_destroy(webSocketClient); +} + +void websocket_send_loop(void *args){ + while (true) + { + char * stringToSend = (char *)malloc(localWebsocketSendBufferLen); + int bytes_written = xMessageBufferReceive(localWebsocketSendBuffer, stringToSend, localWebsocketSendBufferLen, portMAX_DELAY); + + if (bytes_written != 0){ + if (check_websocket_connect()) { + //ESP_LOGI(TAG, "Sending message of size %d", strlen(stringToSend)); + esp_websocket_client_send_text(webSocketClient, stringToSend, strlen(stringToSend), portMAX_DELAY); + } + } + free(stringToSend); + } +} + +// AUDIO WIFI SENDING COMMS TCP SOCKET + +// #include +// #include +// #include "freertos/FreeRTOS.h" +// #include "freertos/task.h" +// #include "freertos/event_groups.h" +// #include "esp_system.h" +// #include "esp_wifi.h" +// #include "esp_event.h" +// #include "esp_log.h" +// #include "nvs_flash.h" +// #include "esp_netif.h" +// #include "lwip/err.h" +// #include "lwip/sockets.h" + +// #ifdef WEBSOCKET_RECONNECT_TIMEOUT_MS +// #undef WEBSOCKET_RECONNECT_TIMEOUT_MS +// #define WEBSOCKET_RECONNECT_TIMEOUT_MS (500) // change timeout of websocket retry in milliseconds +// #endif + +// // TCP connection params +// #define HOST_IP_ADDR "192.168.66.144" +// #define PORT 4567 + +// static void tcp_client_task(void *pvParameters) +// { +// char rx_buffer[128]; +// char host_ip[] = HOST_IP_ADDR; +// int addr_family = 0; +// int ip_protocol = 0; + +// struct sockaddr_in dest_addr; +// dest_addr.sin_addr.s_addr = inet_addr(host_ip); +// dest_addr.sin_family = AF_INET; +// dest_addr.sin_port = htons(PORT); +// addr_family = AF_INET; +// ip_protocol = IPPROTO_IP; +// int sock = socket(addr_family, SOCK_STREAM, ip_protocol); +// if (sock < 0) { +// ESP_LOGE(TAG, "Unable to create socket: errno %d", errno); +// return; +// } +// ESP_LOGI(TAG, "Socket created, connecting to %s:%d", host_ip, PORT); + +// int err = connect(sock, (struct sockaddr *)&dest_addr, sizeof(struct sockaddr_in6)); +// if (err != 0) { +// ESP_LOGE(TAG, "Socket unable to connect: errno %d", errno); +// return; +// } +// ESP_LOGI(TAG, "Successfully connected"); + +// while (1) { +// // ESP_LOGI(TAG, "Sending message over audio socket"); +// // int err = send(sock, payload, strlen(payload), 0); +// // if (err < 0) { +// // ESP_LOGE(TAG, "Error occurred during sending: errno %d", errno); +// // break; +// // } + +// // int len = recv(sock, rx_buffer, sizeof(rx_buffer) - 1, 0); +// // // Error occurred during receiving +// // if (len < 0) { +// // ESP_LOGE(TAG, "recv failed: errno %d", errno); +// // break; +// // } +// // // Data received +// // else { +// // rx_buffer[len] = 0; // Null-terminate whatever we received and treat like a string +// // ESP_LOGI(TAG, "Received %d bytes from %s:", len, host_ip); +// // ESP_LOGI(TAG, "%s", rx_buffer); +// // } + +// vTaskDelay(100 / portTICK_PERIOD_MS); +// } + +// if (sock != -1) { +// ESP_LOGE(TAG, "Shutting down socket and restarting..."); +// shutdown(sock, 0); +// close(sock); +// } + +// while(1){ +// vTaskDelay(3000 / portTICK_PERIOD_MS); +// } + +// vTaskDelete(NULL); +// } +// } + +void websocket_send_text(char * text){ + esp_websocket_client_send_text(webSocketClient, text, strlen(text), portMAX_DELAY); +} \ No newline at end of file diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/comms/wifi_websocket_comms.hpp b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/comms/wifi_websocket_comms.hpp new file mode 100644 index 0000000..950fb0a --- /dev/null +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/comms/wifi_websocket_comms.hpp @@ -0,0 +1,14 @@ +#include "freertos/FreeRTOS.h" +#include "freertos/message_buffer.h" + +extern bool check_websocket_connect(); +extern int create_ipv4_socket(); +extern void tcp_connect_task(); +extern void udp_listen_task(); +extern void update_ws_ip(); +extern void wifi_init_sta(); +extern void websocket_receive_loop(void *args); +extern void websocket_send_loop(void *args); +extern void ping_loop_task(void *args); +extern void websocket_send_text(char * text); +extern void websocket_app_start(MessageBufferHandle_t websocketSendBuffer, size_t websocketSendBufferLen); \ No newline at end of file diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp index 295def0..1642b6b 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp @@ -5,961 +5,38 @@ #include #include #include +#include "esp_event.h" #include "freertos/FreeRTOS.h" #include "freertos/task.h" #include "freertos/event_groups.h" #include "freertos/message_buffer.h" #include "esp_system.h" -#include "esp_event.h" #include "esp_log.h" #include "nvs_flash.h" -#include -#include "mbedtls/base64.h" //for encoding audio data to string -// web socket libs -#include "freertos/semphr.h" -#include "freertos/event_groups.h" -#include "esp_websocket_client.h" -#include "esp_event.h" +//wifi and websocket communications +#include "wifi_websocket_comms.hpp" -// JSON parsing -#include "json_parse.hpp" +//audio +#include "microphones.hpp" +MessageBufferHandle_t websocketSendBuffer; +const size_t websocketSendBufferLen = (1024 * 4 * sizeof(char *)) + sizeof(size_t); // room for websocket buffer, room for one size_t for MessageBuffer overhead -#define MEM_MSG 1 +static const char *TAG = "MAIN_OSSG"; + +#define MEM_MSG 0 #define ENABLEDISPLAY 0 #if ENABLEDISPLAY -#include "displaymanager.hpp" + #include "displaymanager.hpp" #endif #include using std::cout; using std::endl; -TickType_t lastTickTimeSend; -TickType_t lastTickTimeProc; - -esp_websocket_client_handle_t webSocketClient; -static const char *audioJsonTemplate = "{\"MESSAGE_TYPE_LOCAL\" : \"AUDIO_CHUNK_DECRYPTED\", \"AUDIO_DATA\" : \"%s\"}"; void startTheDisplay(); -// static const char *audioJsonTemplate = "%s"; - -// AUDIO********************************************************************************************************************** - -// Save audio from PDM microphone to SD Card in wav format - -/* Microphone has following pins: - VDD - GND - DOUT - connected to DIN I2S pin on ESP32 - CLK - connected to WS I2S pin on ESP32 - LR - not connected to ESP32. Microphone has internal pull-down to GND for this pin. */ - -#include - -// I2S perhiperhal number -#define I2S_CHANNEL I2S_NUM_0 // I2S_NUM_1 doesn't support PDM - -// I2S pins -#define I2S_PIN_BIT_CLOCK I2S_PIN_NO_CHANGE // not used -#define I2S_PIN_WORD_SELECT 33 // OSSG_v0.3 built-in mic CLK -#define I2S_PIN_DATA_OUT I2S_PIN_NO_CHANGE // not used -#define I2S_PIN_DATA_IN 32 // OSSG_v0.3 built-in mic DATA_OUT - -// I2S CONFIG PARAMS -#define SAMPLE_RATE 16000 -const i2s_port_t I2S_PORT = I2S_NUM_0; -long total_read = 0; - -/**************** Audio QUEUE HANDLER ***********************/ -volatile uint8_t curr_audio_val = 0; -volatile bool audioSubscribed = false; -char WIS_IP[16]; -char WIS_WEBSOCKET_IP[16]; -const size_t AUDIO_BUFFER_SIZE = 1024; -const size_t DMA_BUF_SIZE = 256; // number of samples, not number of bytes -const size_t DMA_BUF_CNT = 2; - -xQueueHandle audioQueue; -MessageBufferHandle_t audioMessageBuffer; -const size_t audioMessageBufferLen = (AUDIO_BUFFER_SIZE * sizeof(uint16_t)) + sizeof(size_t); // room for audio buffer, room for one size_t for MessageBuffer overhead - -int packet_count = 0; - -static const char *payload = "{\"MESSAGE_TYPE_LOCAL\" : \"AUDIO_CHUNK_DECRYPTED\", \"AUDIO_DATA\" : \"/+MYxAAEaAIEeUAQAgBgNgP/////KQQ/////Lvrg+lcWYHgtjadzsbTq+yREu495tq9c6v/7vt/of7mna9v6/btUnU17Jun9/+MYxCkT26KW+YGBAj9v6vUh+zab//v/96C3/pu6H+pv//r/ycIIP4pcWWTRBBBAMXgNdbRaABQAAABRWKwgjQVX0ECmrb///+MYxBQSM0sWWYI4A++Z/////////////0rOZ3MP//7H44QEgxgdvRVMXHZseL//540B4JAvMPEgaA4/0nHjxLhRgAoAYAgA/+MYxAYIAAJfGYEQAMAJAIAQMAwX936/q/tWtv/2f/+v//6v/+7qTEFNRTMuOTkuNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV\"}"; -// static const char *payload = "/+MYxAAEaAIEeUAQAgBgNgP/////KQQ/////Lvrg+lcWYHgtjadzsbTq+yREu495tq9c6v/7vt/of7mna9v6/btUnU17Jun9/+MYxCkT26KW+YGBAj9v6vUh+zab//v/96C3/pu6H+pv//r/ycIIP4pcWWTRBBBAMXgNdbRaABQAAABRWKwgjQVX0ECmrb///+MYxBQSM0sWWYI4A++Z/////////////0rOZ3MP//7H44QEgxgdvRVMXHZseL//540B4JAvMPEgaA4/0nHjxLhRgAoAYAgA/+MYxAYIAAJfGYEQAMAJAIAQMAwX936/q/tWtv/2f/+v//6v/+7qTEFNRTMuOTkuNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV"; - -void addAudioChunkToQueue(uint8_t *buf) -{ - if (xQueueSend(audioQueue, buf, portMAX_DELAY) != pdPASS) - { - ESP_LOGE(PROGRAM_LOG_TAG, "TX AUDIO: Error sending the audio chunk to the audio queue.\n"); - } -} - -// void receiveAudioChunkFromQueueTask() -// { -// int audioChunk = 0; -// while (1) { -// if (xQueueReceive(audioQueue, &audioChunk, portMAX_DELAY) != pdTRUE) -// { -// ESP_LOGE(PROGRAM_LOG_TAG, "RX AUDIO: Error receiving the audio chunk to the audio queue.\n"); -// } -// else -// { -// ESP_LOGE(PROGRAM_LOG_TAG, "RX AUDIO: Successfully processed an audio chunk from the audio queue.\n"); -// } -// vTaskDelay(pdMS_TO_TICKS(1500)); -// } -// } - -// const int DMA_BUFF_CT = 2; //number of DMA buffer (minimum 2) -// const int DMA_BUFF_LEN = 32; //samples per DMA buffer (minimum 8) - -bool I2S_Init() -{ - // i2s_config_t i2s_config; - // memset(&i2s_config, 0, sizeof(i2s_config)); - - // i2s_config.mode = (i2s_mode_t)I2S_MODE; - // i2s_config.sample_rate = I2S_SAMPLE_RATE; - // i2s_config.bits_per_sample = I2S_BITS_PER_SAMPLE; - // i2s_config.channel_format = I2S_CHANNEL_FMT; - // i2s_config.communication_format = (i2s_comm_format_t)I2S_COMM_FMT; - // i2s_config.intr_alloc_flags = I2S_INTERRUPT_PRIO; - // i2s_config.dma_buf_count = I2S_DMA_BUF_COUNT; - // i2s_config.dma_buf_len = I2S_DMA_BUF_SIZE; - // i2s_config.use_apll = I2S_ENABLE_ACCURATE_CLK; - - // i2s_config.mode = (i2s_mode_t)(I2S_MODE_MASTER | I2S_MODE_RX | I2S_MODE_PDM); // Receive, not transfer - // i2s_config.sample_rate = 16000; - // i2s_config.bits_per_sample = I2S_BITS_PER_SAMPLE_16BIT; //Number of bits per sample - // i2s_config.channel_format = I2S_CHANNEL_FMT_RIGHT_LEFT; //Do not connect SEL pin. - // i2s_config.communication_format = (i2s_comm_format_t)(I2S_COMM_FORMAT_I2S | I2S_COMM_FORMAT_I2S_MSB); - // i2s_config.intr_alloc_flags = ESP_INTR_FLAG_LEVEL1; // Interrupt level 1 - // i2s_config.dma_buf_count = DMA_BUFF_CT; // number of buffers - // i2s_config.dma_buf_len = DMA_BUFF_LEN; - - // i2s_config_t i2s_config = { - // .mode = (i2s_mode_t)(I2S_MODE_MASTER | I2S_MODE_RX | I2S_MODE_PDM), - // .sample_rate = SAMPLE_RATE, - // .bits_per_sample = I2S_BITS_PER_SAMPLE_16BIT, - // .channel_format = I2S_CHANNEL_FMT_ONLY_LEFT, - // // .communication_format = (i2s_comm_format_t)(I2S_COMM_FORMAT_I2S | I2S_COMM_FORMAT_I2S_LSB), - // // .communication_format = I2S_COMM_FORMAT_STAND_MSB, - // // .communication_format = I2S_COMM_FORMAT_I2S_MSB, //pcm data format - // .communication_format = I2S_COMM_FORMAT_STAND_PCM_SHORT, - // .intr_alloc_flags = ESP_INTR_FLAG_LEVEL1, // high interrupt priority - // .dma_buf_count = DMA_BUF_CNT, - // .dma_buf_len = DMA_BUF_SIZE, - // .use_apll = 0, - // }; - - // i2s_config_t i2s_config = { - // .mode = I2S_MODE_MASTER | I2S_MODE_RX | I2S_MODE_PDM, - // .sample_rate = 16000, - // .bits_per_sample = 32, - // .channel_format = I2S_CHANNEL_FMT_ONLY_LEFT, //OG used right left - // .communication_format = I2S_COMM_FORMAT_PCM, - // // .dma_buf_count = 2, - // // .dma_buf_len = 8, - // .dma_buf_count = DMA_BUF_CNT, - // .dma_buf_len = DMA_BUF_SIZE, - // .use_apll = 0, - // .intr_alloc_flags = ESP_INTR_FLAG_LEVEL1 - // }; - - // pdm config for reading from left channel of PDM - i2s_config_t i2s_config = { - .mode = (i2s_mode_t)(I2S_MODE_MASTER | I2S_MODE_RX | I2S_MODE_PDM), - .sample_rate = 16000, - .bits_per_sample = I2S_BITS_PER_SAMPLE_32BIT, - .channel_format = I2S_CHANNEL_FMT_ONLY_LEFT, - .communication_format = I2S_COMM_FORMAT_STAND_PCM_SHORT, - .intr_alloc_flags = ESP_INTR_FLAG_LEVEL1, - .dma_buf_count = 4, - .dma_buf_len = 1024, - .use_apll = false, - .tx_desc_auto_clear = false, - .fixed_mclk = 0}; - - i2s_pin_config_t pins = { - .bck_io_num = I2S_PIN_BIT_CLOCK, - .ws_io_num = I2S_PIN_WORD_SELECT, - .data_out_num = I2S_PIN_DATA_OUT, - .data_in_num = I2S_PIN_DATA_IN}; - - if (i2s_driver_install(I2S_CHANNEL, &i2s_config, 0, NULL) != ESP_OK) - { - // Serial.println("i2s_driver_install() error"); - return false; - } - - // i2s_set_pdm_rx_down_sample(I2S_CHANNEL, I2S_PDM_DSR_16S); //set to 16 so mic is in high performance mode - - if (i2s_set_pin(I2S_NUM_0, &pins) != ESP_OK) - { - // Serial.println("i2s_set_pin() error"); - return false; - } - - return true; -} - -void I2S_Quit() -{ - if (i2s_driver_uninstall(I2S_CHANNEL) != ESP_OK) - { - // Serial.println("i2s_driver_uninstall() error"); - } -} - -#define min(a, b) (((a) < (b)) ? (a) : (b)) - -int i2s_read_custom(int16_t *samples, int count) -{ - int32_t raw_samples[256]; - int sample_index = 0; - while (count > 0) - { - size_t bytes_read = 0; - i2s_read(I2S_PORT, (void **)raw_samples, sizeof(int32_t) * min(count, 256), &bytes_read, portMAX_DELAY); - int samples_read = bytes_read / sizeof(int32_t); - for (int i = 0; i < samples_read; i++) - { - samples[sample_index] = (raw_samples[i] & 0xFFFFFFF0) >> 16; - sample_index++; - count--; - } - } - return sample_index; -} - -void microphone_stream(void *args) -{ - // Initialize I2S - I2S_Init(); - - // count how many bytes we read from I2S - uint32_t bytes_read; - - ESP_LOGI(PROGRAM_LOG_TAG, "Recording Started"); - - // uint8_t* buf = (uint8_t*)malloc(AUDIO_BUFFER_SIZE); - int16_t *buf = (int16_t *)malloc(sizeof(uint16_t) * AUDIO_BUFFER_SIZE); - while (true) - { - // Read data from microphone - // if (i2s_read(I2S_CHANNEL, buf, AUDIO_BUFFER_SIZE, &bytes_read, portMAX_DELAY) != ESP_OK) { - // ESP_LOGE(PROGRAM_LOG_TAG, "i2s_read() error"); - // } - int samples_read = i2s_read_custom(buf, AUDIO_BUFFER_SIZE); - int bytes_read = samples_read * sizeof(uint16_t); - // printf("Bytes read: %d\n", bytes_read); - - // printf("Bytes read: %d\n", bytes_read); - // printf("Proc period: %d\n", (xTaskGetTickCount() - lastTickTimeProc) * portTICK_PERIOD_MS); - lastTickTimeProc = xTaskGetTickCount(); - - if (samples_read != AUDIO_BUFFER_SIZE) - { - ESP_LOGE(PROGRAM_LOG_TAG, "Bytes written error"); - } - - // Print raw data - // printf("Val1: %u \n", (uint16_t)((buf[0] << 8) | buf[1])); - // printf("Val2: %u \n", (uint16_t)((buf[2] << 8) | buf[3])); - // printf("Val3: %u \n", (uint16_t)((buf[4] << 8) | buf[5])); - // printf("Val3+1: %u \n", (uint16_t)((buf[6] << 8) | buf[7])); - // printf("Val1: %u \n", (uint16_t)(buf[0])); - // printf("Val2: %u \n", (uint16_t)(buf[2])); - // printf("Val3: %u \n", (uint16_t)(buf[4])); - // printf("Val4: %u \n", (uint16_t)(buf[6])); - // curr_audio_val = (uint8_t)buf[0]; - // printf("value of buf: %.*s\n", AUDIO_BUFFER_SIZE, buf); - // printf("pointer of buf : %p\n", buf); - // addAudioChunkToQueue(buf); - - // send the bytes to the audio processor task - size_t tx_bytes = xMessageBufferSend(audioMessageBuffer, buf, bytes_read, portMAX_DELAY); - // printf("Number of transmitted bytes in message buffer: %d\n", tx_bytes); - // printf("Sent to MB"); - } - - // free the buffer memory - free(buf); - - ESP_LOGI(PROGRAM_LOG_TAG, "Recording finished"); - - I2S_Quit(); -} - -// loop on receiving the latest audio chunk from the microphone and sending it to the WIS smart phone or cloud server -void sendAudioChunk(void *args) -{ - audioSubscribed = true; - while (true) - { - uint8_t *audioChunk = (uint8_t *)malloc(audioMessageBufferLen); - int bytes_written = xMessageBufferReceive(audioMessageBuffer, audioChunk, audioMessageBufferLen, portMAX_DELAY); - lastTickTimeSend = xTaskGetTickCount(); - // printf("Received from MB this size buffer: %d\n", audioMessageBufferLen); - // printf("Bytes written: %d\n", bytes_written); - if (bytes_written != 0) - { - if (audioSubscribed) - { - // base 64 encode data and send it to the server - int b64EncodedAudioBufferLen = ((ceil(bytes_written / 3.0) * 4) + 1); // size increase due to inefficieny of base64 //+1 for padding, or something - // printf("Tryna b64: %d\n", b64EncodedAudioBufferLen); - unsigned char *b64EncodedAudio = (unsigned char *)malloc(b64EncodedAudioBufferLen); - size_t encodedAudioActualLen; - int b64res = mbedtls_base64_encode(b64EncodedAudio, b64EncodedAudioBufferLen, &encodedAudioActualLen, (unsigned char *)audioChunk, (size_t)bytes_written); - if (b64res == 0) - { - int jsonLength = b64EncodedAudioBufferLen + 256; // plus a bit for JSON extra info - char jsonAudioPacket[jsonLength]; - snprintf(jsonAudioPacket, jsonLength, audioJsonTemplate, b64EncodedAudio); - - // send JSON to WIS server - if (esp_websocket_client_is_connected(webSocketClient)) - { - // printf("Sending audio to WIS...\n"); - esp_websocket_client_send_text(webSocketClient, jsonAudioPacket, strlen(jsonAudioPacket), portMAX_DELAY); - // esp_websocket_client_send_text(webSocketClient, (char *)audioChunk, strlen((char *)audioChunk), portMAX_DELAY); - } - } - else - { - ESP_LOGE(PROGRAM_LOG_TAG, "Base 64 encoding failed."); - free(b64EncodedAudio); - continue; - } - free(b64EncodedAudio); - } - else - { - vTaskDelay(pdMS_TO_TICKS(250)); - } - // printf("Send time: %d\n", (xTaskGetTickCount() - lastTickTimeSend) * portTICK_PERIOD_MS); - } - free(audioChunk); - } -} -// } - -// WIFI*************************************************************************************************************************** -/* The examples use WiFi configuration that you can set via project configuration menu - If you'd rather not, just change the below entries to strings with - the config you want - ie #define EXAMPLE_WIFI_SSID "mywifissid" -*/ - -#include "esp_wifi.h" -#include "lwip/err.h" -#include "lwip/sys.h" -#include -#include -#include - -#define RECEIVER_IP_ADDR "255.255.255.255" -#define RECEIVER_PORT_NUM 8891 -#define WIS_WEBSOCKET_COMMS_PORT 8887 - -#define EXAMPLE_ESP_MAXIMUM_RETRY 100000 - -#if CONFIG_ESP_WIFI_AUTH_OPEN -#define ESP_WIFI_SCAN_AUTH_MODE_THRESHOLD WIFI_AUTH_OPEN -#elif CONFIG_ESP_WIFI_AUTH_WEP -#define ESP_WIFI_SCAN_AUTH_MODE_THRESHOLD WIFI_AUTH_WEP -#elif CONFIG_ESP_WIFI_AUTH_WPA_PSK -#define ESP_WIFI_SCAN_AUTH_MODE_THRESHOLD WIFI_AUTH_WPA_PSK -#elif CONFIG_ESP_WIFI_AUTH_WPA2_PSK -#define ESP_WIFI_SCAN_AUTH_MODE_THRESHOLD WIFI_AUTH_WPA2_PSK -#elif CONFIG_ESP_WIFI_AUTH_WPA_WPA2_PSK -#define ESP_WIFI_SCAN_AUTH_MODE_THRESHOLD WIFI_AUTH_WPA_WPA2_PSK -#elif CONFIG_ESP_WIFI_AUTH_WPA3_PSK -#define ESP_WIFI_SCAN_AUTH_MODE_THRESHOLD WIFI_AUTH_WPA3_PSK -#elif CONFIG_ESP_WIFI_AUTH_WPA2_WPA3_PSK -#define ESP_WIFI_SCAN_AUTH_MODE_THRESHOLD WIFI_AUTH_WPA2_WPA3_PSK -#elif CONFIG_ESP_WIFI_AUTH_WAPI_PSK -#define ESP_WIFI_SCAN_AUTH_MODE_THRESHOLD WIFI_AUTH_WAPI_PSK -#endif - -/* FreeRTOS event group to signal when we are connected*/ -static EventGroupHandle_t s_wifi_event_group; - -/* The event group allows multiple bits for each event, but we only care about two events: - * - we are connected to the AP with an IP - * - we failed to connect after the maximum amount of retries */ -#define WIFI_CONNECTED_BIT BIT0 -#define WIFI_FAIL_BIT BIT1 - -static const char *TAG = DEVICE_NAME; - -static int s_retry_num = 0; - -int create_ipv4_socket() -{ - struct addrinfo hints; - struct addrinfo *res; - struct in_addr *addr; - - hints.ai_family = AF_INET; - hints.ai_socktype = SOCK_STREAM; - - int err = getaddrinfo(WIS_IP, "4567", &hints, &res); - - if (err != 0 || res == NULL) - { - printf("DNS lookup failed err=%d res=%p\n", err, res); - return -1; - } - - /* Code to print the resolved IP. - - Note: inet_ntoa is non-reentrant, look at ipaddr_ntoa_r for "real" code */ - addr = &((struct sockaddr_in *)res->ai_addr)->sin_addr; - printf("DNS lookup succeeded. IP=%s\n", inet_ntoa(*addr)); - - int l_sock = socket(res->ai_family, res->ai_socktype, 0); - if (l_sock < 0) - { - printf("... Failed to allocate socket.\n"); - freeaddrinfo(res); - return -1; - } - - struct timeval to; - to.tv_sec = 2; - to.tv_usec = 0; - setsockopt(l_sock, SOL_SOCKET, SO_SNDTIMEO, &to, sizeof(to)); - - if (connect(l_sock, res->ai_addr, res->ai_addrlen) != 0) - { - printf("... socket connect failed errno=%d\n", errno); - close(l_sock); - freeaddrinfo(res); - return -1; - } - - // printf("... connected\n"); - freeaddrinfo(res); - - // All set, socket is configured for sending and receiving - return l_sock; -} - -void tcp_connect_task() -{ - create_ipv4_socket(); - while (1) - { - printf("HELLO WOLRD"); - vTaskDelay(1000 / portTICK_PERIOD_MS); - } -} - -void udp_listen_task() -{ - - printf("ASDF 1\n"); - while (1) - { - - struct sockaddr_in dest_addr; - dest_addr.sin_addr.s_addr = htonl(INADDR_ANY); - printf("ASDF 1.5\n"); - dest_addr.sin_family = AF_INET; - dest_addr.sin_port = htons(RECEIVER_PORT_NUM); - printf("ASDF 1.8\n"); - int addr_family = AF_INET; - int ip_protocol = IPPROTO_IP; - // inet_ntoa_r(dest_addr.sin_addr, RECEIVER_IP_ADDR, sizeof(RECEIVER_IP_ADDR) - 1); - printf("ASDF 2\n"); - - // ra.sin_family = AF_INET; - // ra.sin_addr.s_addr = inet_addr(RECEIVER_IP_ADDR); - // ra.sin_port = htons(RECEIVER_PORT_NUM); - - char data_buffer[80]; - - int sock = socket(addr_family, SOCK_DGRAM, ip_protocol); - if (sock < 0) - { - ESP_LOGE(TAG, "Unable to create socket: errno %d", errno); - break; - } - printf("ASDF 3\n"); - // ESP_LOGI(TAG, "Socket created"); - - int bc = 1; - if (setsockopt(sock, SOL_SOCKET, SO_BROADCAST, &bc, sizeof(bc)) < 0) - { - ESP_LOGE(TAG, "Failed to set sock options: errno %d", errno); - closesocket(sock); - break; - } - printf("ASDF 4\n"); - - int err = bind(sock, (struct sockaddr *)&dest_addr, sizeof(dest_addr)); - if (err < 0) - { - ESP_LOGE(TAG, "Socket unable to bind: err %d", err); - } - - while (1) - { - - printf("ASDF 5"); - struct sockaddr_in6 source_addr; - socklen_t socklen = sizeof(source_addr); - printf("Listening on UDP..."); - int len = recvfrom(sock, &data_buffer, sizeof(data_buffer), 0, (struct sockaddr *)&source_addr, &socklen); - printf("Received UDP data!"); - - // Error occurred during receiving - if (len < 0) - { - ESP_LOGE(TAG, "recvfrom failed: errno %d", errno); - break; - } - // Data received - else - { - - // Get the sender's ip address as string - if (source_addr.sin6_family == PF_INET) - { - inet_ntoa_r(((struct sockaddr_in *)&source_addr)->sin_addr.s_addr, RECEIVER_IP_ADDR, sizeof(RECEIVER_IP_ADDR) - 1); - } - else if (source_addr.sin6_family == PF_INET6) - { - inet6_ntoa_r(source_addr.sin6_addr, RECEIVER_IP_ADDR, sizeof(RECEIVER_IP_ADDR) - 1); - } - } - } - - if (sock != -1) - { - ESP_LOGE(TAG, "Shutting down socket and restarting..."); - shutdown(sock, 0); - close(sock); - } - } - vTaskDelete(NULL); -} - -// void receive_thread(void *pvParameters) -// { -// printf("Receive thread started... \n"); - -// int socket_fd; -// struct sockaddr_in sa,ra; - -// int recv_data; char data_buffer[80]; -// /* Creates an UDP socket (SOCK_DGRAM) with Internet Protocol Family (PF_INET). -// * Protocol family and Address family related. For example PF_INET Protocol Family and AF_INET family are coupled. -// */ - -// socket_fd = socket(PF_INET, SOCK_DGRAM, 0); - -// if ( socket_fd < 0 ) -// { - -// printf("socket call failed"); -// exit(0); - -// } - -// memset(&sa, 0, sizeof(struct sockaddr_in)); -// ra.sin_family = AF_INET; -// ra.sin_addr.s_addr = inet_addr(RECEIVER_IP_ADDR); -// ra.sin_port = htons(RECEIVER_PORT_NUM); - -// int bc = 1; -// if (setsockopt(socket_fd, SOL_SOCKET, SO_BROADCAST, &bc, sizeof(bc)) < 0) { -// ESP_LOGE(TAG, "Failed to set sock options: errno %d", errno); -// closesocket(socket_fd); -// return; -// } - -// /* Bind the UDP socket to the port RECEIVER_PORT_NUM and to the current -// * machines IP address (Its defined by RECEIVER_PORT_NUM). -// * Once bind is successful for UDP sockets application can operate -// * on the socket descriptor for sending or receiving data. -// */ -// if (bind(socket_fd, (struct sockaddr *)&ra, sizeof(struct sockaddr_in)) == -1) -// { - -// printf("Bind to Port Number %d ,IP address %s failed\n",RECEIVER_PORT_NUM,RECEIVER_IP_ADDR); -// close(socket_fd); -// exit(1); -// } -// /* RECEIVER_PORT_NUM is port on which Server waits for data to -// * come in. It copies the received data into receive buffer and -// * prints the received data as string. If no data is available it -// * blocks.recv calls typically return any availbale data on the socket instead of waiting for the entire data to come. -// */ - -// printf("Listening for data...\n"); -// recv_data = recv(socket_fd,data_buffer,sizeof(data_buffer),0); -// printf("GOT DATA\n"); -// if(recv_data > 0) -// { - -// data_buffer[recv_data] = '\0'; -// printf("%s\n",data_buffer); - -// } -// close(socket_fd); -// } - -// this should be done within websocket, but it works for now -void update_ws_ip() -{ - if (!esp_websocket_client_is_connected(webSocketClient)) - { - int wsUriLen = 1024; - char wsUri[wsUriLen]; - snprintf(wsUri, wsUriLen, "ws://%s", WIS_WEBSOCKET_IP); - esp_websocket_client_set_uri(webSocketClient, wsUri); - } -} - -static void event_handler(void *arg, esp_event_base_t event_base, - int32_t event_id, void *event_data) -{ - if (event_base == WIFI_EVENT && event_id == WIFI_EVENT_STA_START) - { - esp_wifi_connect(); - } - else if (event_base == WIFI_EVENT && event_id == WIFI_EVENT_STA_DISCONNECTED) - { - // kill websocket - if (s_retry_num < EXAMPLE_ESP_MAXIMUM_RETRY) - { - esp_wifi_connect(); - s_retry_num++; - ESP_LOGI(TAG, "retry to connect to the AP"); - } - else - { - xEventGroupSetBits(s_wifi_event_group, WIFI_FAIL_BIT); - } - ESP_LOGI(TAG, "connect to the AP fail"); - } - else if (event_base == IP_EVENT && event_id == IP_EVENT_STA_GOT_IP) - { - ip_event_got_ip_t *event = (ip_event_got_ip_t *)event_data; - ESP_LOGI(TAG, "got ip:" IPSTR, IP2STR(&event->ip_info.ip)); - snprintf(WIS_IP, sizeof(WIS_IP), IPSTR, IP2STR(&event->ip_info.ip)); - snprintf(WIS_WEBSOCKET_IP, sizeof(WIS_WEBSOCKET_IP), IPSTR, IP2STR(&event->ip_info.gw)); - printf("WIS_IP is %s", WIS_IP); - printf("WIS_WEBSOCKET_IP is %s", WIS_WEBSOCKET_IP); - update_ws_ip(); - // snprintf(WIS_IP, sizeof(WIS_IP), "192.168.15.188"); //DEBUG, comment this line to connect to hotspot host - s_retry_num = 0; - xEventGroupSetBits(s_wifi_event_group, WIFI_CONNECTED_BIT); - // start listening for UDP packets - WIS server advertising itself - // xTaskCreate(&udp_listen_task, "udp_listen_thread", 2048, NULL, 5, NULL); - // xTaskCreate(&tcp_connect_task, "tcp_connect_thread", 2048, NULL, 5, NULL); - } -} - -void wifi_init_sta(void) -{ - ESP_LOGI(PROGRAM_LOG_TAG, "ESP_WIFI_MODE_STA"); - s_wifi_event_group = xEventGroupCreate(); - - ESP_ERROR_CHECK(esp_netif_init()); - - esp_netif_create_default_wifi_sta(); - - wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT(); - -#if MEM_MSG - cout << "Free heap RIGHT BEFORE WIFI INIT: "; - cout << heap_caps_get_free_size(MALLOC_CAP_8BIT) << endl; -#endif - ESP_ERROR_CHECK(esp_wifi_init(&cfg)); - //esp_wifi_init(&cfg); -#if MEM_MSG - cout << "Free heap RIGHT AFTER WIFI INIT: "; - cout << heap_caps_get_free_size(MALLOC_CAP_8BIT) << endl; -#endif - esp_event_handler_instance_t instance_any_id; - esp_event_handler_instance_t instance_got_ip; - ESP_ERROR_CHECK(esp_event_handler_instance_register(WIFI_EVENT, - ESP_EVENT_ANY_ID, - &event_handler, - NULL, - &instance_any_id)); - ESP_ERROR_CHECK(esp_event_handler_instance_register(IP_EVENT, - IP_EVENT_STA_GOT_IP, - &event_handler, - NULL, - &instance_got_ip)); - /* - wifi_config_t wifi_config = { - .sta = { - .ssid = EXAMPLE_ESP_WIFI_SSID, - .password = EXAMPLE_ESP_WIFI_PASS, - .threshold.authmode = WIFI_AUTH_OPEN, //change this to change minimum acceptable security level - - // Setting a password implies station will connect to all security modes including WEP/WPA. - // However these modes are deprecated and not advisable to be used. Incase your Access point - // doesn't support WPA2, these mode can be enabled by commenting below line - }, - }; - */ - // C++ version of the above - wifi_config_t wifi_config = {}; - strcpy((char *)wifi_config.sta.ssid, esp_wifi_ssid); - strcpy((char *)wifi_config.sta.password, esp_wifi_pass); - wifi_config.sta.threshold.authmode = WIFI_AUTH_OPEN; - - ESP_ERROR_CHECK(esp_wifi_set_mode(WIFI_MODE_STA)); - ESP_ERROR_CHECK(esp_wifi_set_config(WIFI_IF_STA, &wifi_config)); - ESP_ERROR_CHECK(esp_wifi_start()); - - ESP_LOGI(TAG, "wifi_init_sta finished."); - - /* Waiting until either the connection is established (WIFI_CONNECTED_BIT) or connection failed for the maximum - * number of re-tries (WIFI_FAIL_BIT). The bits are set by event_handler() (see above) */ - EventBits_t bits = xEventGroupWaitBits(s_wifi_event_group, - WIFI_CONNECTED_BIT | WIFI_FAIL_BIT, - pdFALSE, - pdFALSE, - portMAX_DELAY); - - /* xEventGroupWaitBits() returns the bits before the call returned, hence we can test which event actually - * happened. */ - if (bits & WIFI_CONNECTED_BIT) - { - ESP_LOGI(TAG, "connected to ap SSID:%s password:%s", - esp_wifi_ssid, esp_wifi_pass); - } - else if (bits & WIFI_FAIL_BIT) - { - ESP_LOGI(TAG, "Failed to connect to SSID:%s, password:%s", - esp_wifi_ssid, esp_wifi_pass); - } - else - { - ESP_LOGE(TAG, "UNEXPECTED EVENT"); - } -} - -// WEB SOCKET ******************************************************************************************** - -#define NO_DATA_TIMEOUT_SEC 10 - -static TimerHandle_t shutdown_signal_timer; -static SemaphoreHandle_t shutdown_sema; - -static void shutdown_signaler(TimerHandle_t xTimer) -{ - ESP_LOGI(TAG, "No data received for %d seconds, signaling shutdown", NO_DATA_TIMEOUT_SEC); - xSemaphoreGive(shutdown_sema); -} - -static void websocket_event_handler(void *handler_args, esp_event_base_t base, int32_t event_id, void *event_data) -{ - esp_websocket_event_data_t *data = (esp_websocket_event_data_t *)event_data; - switch (event_id) - { - case WEBSOCKET_EVENT_CONNECTED: - ESP_LOGI(TAG, "WEBSOCKET_EVENT_CONNECTED"); - break; - case WEBSOCKET_EVENT_DISCONNECTED: - ESP_LOGI(TAG, "WEBSOCKET_EVENT_DISCONNECTED"); - // reconnect - break; - case WEBSOCKET_EVENT_DATA: - { - ESP_LOGI(TAG, "WEBSOCKET_EVENT_DATA"); - ESP_LOGI(TAG, "Received opcode=%d", data->op_code); - ESP_LOGW(TAG, "Received=%.*s", data->data_len, (char *)data->data_ptr); - ESP_LOGW(TAG, "Total payload length=%d, data_len=%d, current payload offset=%d\r\n", data->payload_len, data->data_len, data->payload_offset); - if (data->data_len > 5){ //ignore empty strings and tiny pings - int jsonStringLen = (data->data_len)+1; - char jsonString[jsonStringLen]; - snprintf(jsonString, jsonStringLen, "%s", (char *)data->data_ptr); - ESP_LOGW(TAG, "JSON STRING PREPARSE=%s", jsonString); - parseJson(jsonString); - } - break; - } - case WEBSOCKET_EVENT_ERROR: - printf("WEBSOCKET_EVENT_ERROR"); - break; - default: - ESP_LOGI(TAG, "WEBSOCKET EVENT WAS: %d", event_id); - } -} - -static void reconnect_websocket() -{ - // close down the socket - esp_websocket_client_close(webSocketClient, portMAX_DELAY); - - // connect the socket again -} - -static void ping_loop_task(void *args) -{ - while (true) - { - if (esp_websocket_client_is_connected(webSocketClient)) - { - char ping[64] = "ping bitch"; - esp_websocket_client_send_text(webSocketClient, ping, strlen(ping), portMAX_DELAY); - } - vTaskDelay(500 / portTICK_RATE_MS); - } -} - -static void websocket_app_start() -{ - esp_websocket_client_config_t websocket_cfg = {}; - - // shutdown_signal_timer = xTimerCreate("Websocket shutdown timer", NO_DATA_TIMEOUT_SEC * 1000 / portTICK_PERIOD_MS, - // pdFALSE, NULL, shutdown_signaler); - shutdown_sema = xSemaphoreCreateBinary(); - - // websocket url/IP and port - // websocket_cfg.uri = WIS_IP; - int wsUriLen = 1024; - char wsUri[wsUriLen]; - snprintf(wsUri, wsUriLen, "ws://%s", WIS_WEBSOCKET_IP); - // printf("WEBSOCKET address: %s", wsUri); - // printf("OTHER WEBSOCKET ADDY: ws://192.168.35.241"); - // websocket_cfg.uri = wsUri; - // websocket_cfg.uri = "ws://192.168.15.188"; - // websocket_cfg.uri = "ws://192.168.35.241"; - websocket_cfg.uri = wsUri; - websocket_cfg.port = 8887; - - ESP_LOGI(TAG, "Connecting to %s...", websocket_cfg.uri); - - webSocketClient = esp_websocket_client_init(&websocket_cfg); - esp_websocket_register_events(webSocketClient, WEBSOCKET_EVENT_ANY, websocket_event_handler, (void *)webSocketClient); - - esp_websocket_client_start(webSocketClient); - audioSubscribed = true; -} - -void websocket_listen_loop(void *args){ - // xTimerStart(shutdown_signal_timer, portMAX_DELAY); - char data[32]; - int i = 0; - while (true) - { - // if (esp_websocket_client_is_connected(webSocketClient)) { - // int len = sprintf(data, "hello %04d", i++); - // ESP_LOGI(TAG, "Sending %s of size %d", payload, strlen(payload)); - // esp_websocket_client_send_text(webSocketClient, payload, strlen(payload), portMAX_DELAY); - // } - vTaskDelay(1000 / portTICK_RATE_MS); - } - - xSemaphoreTake(shutdown_sema, portMAX_DELAY); - audioSubscribed = false; - esp_websocket_client_stop(webSocketClient); - ESP_LOGI(TAG, "Websocket Stopped"); - esp_websocket_client_destroy(webSocketClient); -} - -// AUDIO WIFI SENDING COMMS TCP SOCKET - -#include -#include -#include "freertos/FreeRTOS.h" -#include "freertos/task.h" -#include "freertos/event_groups.h" -#include "esp_system.h" -#include "esp_wifi.h" -#include "esp_event.h" -#include "esp_log.h" -#include "nvs_flash.h" -#include "esp_netif.h" -#include "lwip/err.h" -#include "lwip/sockets.h" - -#ifdef WEBSOCKET_RECONNECT_TIMEOUT_MS -#undef WEBSOCKET_RECONNECT_TIMEOUT_MS -#define WEBSOCKET_RECONNECT_TIMEOUT_MS (500) // change timeout of websocket retry in milliseconds -#endif - -// TCP connection params -#define HOST_IP_ADDR "192.168.66.144" -#define PORT 4567 - -// static void tcp_client_task(void *pvParameters) -// { -// char rx_buffer[128]; -// char host_ip[] = HOST_IP_ADDR; -// int addr_family = 0; -// int ip_protocol = 0; - -// struct sockaddr_in dest_addr; -// dest_addr.sin_addr.s_addr = inet_addr(host_ip); -// dest_addr.sin_family = AF_INET; -// dest_addr.sin_port = htons(PORT); -// addr_family = AF_INET; -// ip_protocol = IPPROTO_IP; -// int sock = socket(addr_family, SOCK_STREAM, ip_protocol); -// if (sock < 0) { -// ESP_LOGE(TAG, "Unable to create socket: errno %d", errno); -// return; -// } -// ESP_LOGI(TAG, "Socket created, connecting to %s:%d", host_ip, PORT); - -// int err = connect(sock, (struct sockaddr *)&dest_addr, sizeof(struct sockaddr_in6)); -// if (err != 0) { -// ESP_LOGE(TAG, "Socket unable to connect: errno %d", errno); -// return; -// } -// ESP_LOGI(TAG, "Successfully connected"); - -// while (1) { -// // ESP_LOGI(TAG, "Sending message over audio socket"); -// // int err = send(sock, payload, strlen(payload), 0); -// // if (err < 0) { -// // ESP_LOGE(TAG, "Error occurred during sending: errno %d", errno); -// // break; -// // } - -// // int len = recv(sock, rx_buffer, sizeof(rx_buffer) - 1, 0); -// // // Error occurred during receiving -// // if (len < 0) { -// // ESP_LOGE(TAG, "recv failed: errno %d", errno); -// // break; -// // } -// // // Data received -// // else { -// // rx_buffer[len] = 0; // Null-terminate whatever we received and treat like a string -// // ESP_LOGI(TAG, "Received %d bytes from %s:", len, host_ip); -// // ESP_LOGI(TAG, "%s", rx_buffer); -// // } - -// vTaskDelay(100 / portTICK_PERIOD_MS); -// } - -// if (sock != -1) { -// ESP_LOGE(TAG, "Shutting down socket and restarting..."); -// shutdown(sock, 0); -// close(sock); -// } - -// while(1){ -// vTaskDelay(3000 / portTICK_PERIOD_MS); -// } - -// vTaskDelete(NULL); -// } - // ESP32 PSRAM bug workaround (use when the library is NOT compiled with PSRAM hack enabled) // Place between a write and a read PSRAM operation (write->ASM_MEMW->read), not viceversa #define ASM_MEMW asm(" MEMW"); @@ -1000,17 +77,23 @@ void app_main(void) // create event loop ESP_ERROR_CHECK(esp_event_loop_create_default()); -// start WIFI + // start WIFI wifi_init_sta(); //connect to WIS web socket - websocket_app_start(); + websocketSendBuffer = xMessageBufferCreate(websocketSendBufferLen); + websocket_app_start(websocketSendBuffer, websocketSendBufferLen); + //start websocket receive listening loop esp_log_level_set("WEBSOCKET_CLIENT", ESP_LOG_DEBUG); - TaskHandle_t webSocketTask = NULL; //6*4096 - xTaskCreatePinnedToCore(websocket_listen_loop, "web_socket_task", 4*1024, NULL, 1, &webSocketTask, 0); + TaskHandle_t webSocketReceiveTask = NULL; //6*4096 + //xTaskCreatePinnedToCore(websocket_receive_loop, "web_socket_receive_task", 4*1024, NULL, 1, &webSocketReceiveTask, 0); + + //start websocket sending listening loop + TaskHandle_t webSocketSendTask = NULL; //6*4096 + xTaskCreatePinnedToCore(websocket_send_loop, "web_socket_send_task", 12*1024, NULL, 1, &webSocketSendTask, 0); - //start websocket pingwer + //start websocket pinger TaskHandle_t webSocketPingTask = NULL; xTaskCreatePinnedToCore(ping_loop_task, "ping_loop_task", 4*1024, NULL, 1, &webSocketPingTask, 0); @@ -1018,28 +101,17 @@ void app_main(void) // esp_log_level_set("TRANS_TCP", ESP_LOG_DEBUG); //xTaskCreate(tcp_client_task, "tcp_client", 4096, NULL, 5, NULL); - // *********************** Create audio buffer**************************** / - /* - audioMessageBuffer = xMessageBufferCreate(audioMessageBufferLen * 4); //hold n message at once, where n is the constant multiplier - //assert(audioMessageBuffer); - audioQueue = xQueueCreate(250, sizeof(uint8_t*)); - if (audioQueue == 0) // Queue not created - { - ESP_LOGE(PROGRAM_LOG_TAG, "Unable to create audio queue.\n"); - } else { - ESP_LOGE(PROGRAM_LOG_TAG, "Audio queue created successfully.\n"); - } - + //audio + setup_audio_buffer(); + //send audio task TaskHandle_t sendAudioTaskHandle = NULL; - xTaskCreate(sendAudioChunk, "send_audio_chunk_task", 6*4096, NULL, 1, &sendAudioTaskHandle); + xTaskCreate(sendAudioChunk, "send_audio_chunk_task", 6*4096, websocketSendBuffer, 1, &sendAudioTaskHandle); //start microphone input AFTER STARTING AUDIO QUEUE TaskHandle_t microphoneTaskHandle = NULL; xTaskCreate(microphone_stream, "microphone_stream_task", 6*4096, NULL, 1, µphoneTaskHandle); - */ - startTheDisplay(); - + startTheDisplay(); #if MEM_MSG cout << "Free heap OGOGOG: "; diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/microphones/microphones.cpp b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/microphones/microphones.cpp new file mode 100644 index 0000000..fa25911 --- /dev/null +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/microphones/microphones.cpp @@ -0,0 +1,223 @@ +#include "freertos/FreeRTOS.h" +#include "esp_log.h" +#include "freertos/message_buffer.h" +#include "mbedtls/base64.h" //for encoding audio data to string +#include +#include + +TickType_t lastTickTimeSend; +TickType_t lastTickTimeProc; + +static const char *TAG = "MICROPHONES_OSSG"; + +// static const char *audioJsonTemplate = "%s"; //for testing + +// Save audio from PDM microphone to SD Card in wav format + +/* Microphone has following pins: + VDD + GND + DOUT - connected to DIN I2S pin on ESP32 + CLK - connected to WS I2S pin on ESP32 + LR - not connected to ESP32. Microphone has internal pull-down to GND for this pin. */ + +#include + +// place to pass audio around and save it +MessageBufferHandle_t audioMessageBuffer; +const size_t AUDIO_BUFFER_SIZE = 1024; +const size_t audioMessageBufferLen = (AUDIO_BUFFER_SIZE * sizeof(uint16_t)) + sizeof(size_t); // room for websocket buffer, room for one size_t for MessageBuffer overhead + +static const char *audioJsonTemplate = "{\"MESSAGE_TYPE_LOCAL\" : \"AUDIO_CHUNK_DECRYPTED\", \"AUDIO_DATA\" : \"%s\"}"; + +// I2S perhiperhal number +#define I2S_CHANNEL I2S_NUM_0 // I2S_NUM_1 doesn't support PDM + +// I2S pins +#define I2S_PIN_BIT_CLOCK I2S_PIN_NO_CHANGE // not used +#define I2S_PIN_WORD_SELECT 33 // OSSG_v0.3 built-in mic CLK +#define I2S_PIN_DATA_OUT I2S_PIN_NO_CHANGE // not used +#define I2S_PIN_DATA_IN 32 // OSSG_v0.3 built-in mic DATA_OUT + +// I2S CONFIG PARAMS +#define SAMPLE_RATE 16000 +const i2s_port_t I2S_PORT = I2S_NUM_0; +long total_read = 0; + +/**************** Audio QUEUE HANDLER ***********************/ +volatile uint8_t curr_audio_val = 0; +volatile bool audioSubscribed = false; +const size_t DMA_BUF_SIZE = 256; // number of samples, not number of bytes +const size_t DMA_BUF_CNT = 2; + +int packet_count = 0; + +static const char *payload = "{\"MESSAGE_TYPE_LOCAL\" : \"AUDIO_CHUNK_DECRYPTED\", \"AUDIO_DATA\" : \"/+MYxAAEaAIEeUAQAgBgNgP/////KQQ/////Lvrg+lcWYHgtjadzsbTq+yREu495tq9c6v/7vt/of7mna9v6/btUnU17Jun9/+MYxCkT26KW+YGBAj9v6vUh+zab//v/96C3/pu6H+pv//r/ycIIP4pcWWTRBBBAMXgNdbRaABQAAABRWKwgjQVX0ECmrb///+MYxBQSM0sWWYI4A++Z/////////////0rOZ3MP//7H44QEgxgdvRVMXHZseL//540B4JAvMPEgaA4/0nHjxLhRgAoAYAgA/+MYxAYIAAJfGYEQAMAJAIAQMAwX936/q/tWtv/2f/+v//6v/+7qTEFNRTMuOTkuNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV\"}"; +// static const char *payload = "/+MYxAAEaAIEeUAQAgBgNgP/////KQQ/////Lvrg+lcWYHgtjadzsbTq+yREu495tq9c6v/7vt/of7mna9v6/btUnU17Jun9/+MYxCkT26KW+YGBAj9v6vUh+zab//v/96C3/pu6H+pv//r/ycIIP4pcWWTRBBBAMXgNdbRaABQAAABRWKwgjQVX0ECmrb///+MYxBQSM0sWWYI4A++Z/////////////0rOZ3MP//7H44QEgxgdvRVMXHZseL//540B4JAvMPEgaA4/0nHjxLhRgAoAYAgA/+MYxAYIAAJfGYEQAMAJAIAQMAwX936/q/tWtv/2f/+v//6v/+7qTEFNRTMuOTkuNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV"; //for testing + +// void addAudioChunkToQueue(uint8_t *buf) +// { +// if (xQueueSend(audioQueue, buf, portMAX_DELAY) != pdPASS) +// { +// ESP_LOGE(TAG, "TX AUDIO: Error sending the audio chunk to the audio queue.\n"); +// } +// } + +bool I2S_Init() +{ + // pdm config for reading from left channel of PDM + i2s_config_t i2s_config = { + .mode = (i2s_mode_t)(I2S_MODE_MASTER | I2S_MODE_RX | I2S_MODE_PDM), + .sample_rate = 16000, + .bits_per_sample = I2S_BITS_PER_SAMPLE_32BIT, + .channel_format = I2S_CHANNEL_FMT_ONLY_LEFT, + .communication_format = I2S_COMM_FORMAT_STAND_PCM_SHORT, + .intr_alloc_flags = ESP_INTR_FLAG_LEVEL1, + .dma_buf_count = 4, + .dma_buf_len = 1024, + .use_apll = false, + .tx_desc_auto_clear = false, + .fixed_mclk = 0}; + + i2s_pin_config_t pins = { + .bck_io_num = I2S_PIN_BIT_CLOCK, + .ws_io_num = I2S_PIN_WORD_SELECT, + .data_out_num = I2S_PIN_DATA_OUT, + .data_in_num = I2S_PIN_DATA_IN}; + + if (i2s_driver_install(I2S_CHANNEL, &i2s_config, 0, NULL) != ESP_OK) + { + // Serial.println("i2s_driver_install() error"); + return false; + } + + if (i2s_set_pin(I2S_NUM_0, &pins) != ESP_OK) + { + // Serial.println("i2s_set_pin() error"); + return false; + } + + return true; +} + +void I2S_Quit() +{ + if (i2s_driver_uninstall(I2S_CHANNEL) != ESP_OK) + { + ESP_LOGI(TAG, "i2s_driver_uninstall() error"); + } +} + +#define min(a, b) (((a) < (b)) ? (a) : (b)) + +int i2s_read_custom(int16_t *samples, int count) +{ + int32_t raw_samples[256]; + int sample_index = 0; + while (count > 0) + { + size_t bytes_read = 0; + i2s_read(I2S_PORT, (void **)raw_samples, sizeof(int32_t) * min(count, 256), &bytes_read, portMAX_DELAY); + int samples_read = bytes_read / sizeof(int32_t); + for (int i = 0; i < samples_read; i++) + { + samples[sample_index] = (raw_samples[i] & 0xFFFFFFF0) >> 16; + sample_index++; + count--; + } + } + return sample_index; +} + +void setup_audio_buffer(){ + //initialize audio message buffer + audioMessageBuffer = xMessageBufferCreate(audioMessageBufferLen * 4); //hold n message at once, where n is the constant multiplier +} + +void microphone_stream(void *args) +{ + // Initialize I2S + I2S_Init(); + + // count how many bytes we read from I2S + uint32_t bytes_read; + + ESP_LOGI(TAG, "Recording Started"); + + // uint8_t* buf = (uint8_t*)malloc(AUDIO_BUFFER_SIZE); + int16_t *buf = (int16_t *)malloc(sizeof(uint16_t) * AUDIO_BUFFER_SIZE); + while (true) + { + // Read data from microphone + int samples_read = i2s_read_custom(buf, AUDIO_BUFFER_SIZE); + int bytes_read = samples_read * sizeof(uint16_t); + + lastTickTimeProc = xTaskGetTickCount(); + + if (samples_read != AUDIO_BUFFER_SIZE) + { + ESP_LOGE(TAG, "Bytes written error"); + } + + // send the bytes to the audio processor task + size_t tx_bytes = xMessageBufferSend(audioMessageBuffer, buf, bytes_read, portMAX_DELAY); + } + + // free the buffer memory + free(buf); + + ESP_LOGI(TAG, "Recording finished"); + + I2S_Quit(); +} + +// loop on receiving the latest audio chunk from the microphone and sending it to the WIS smart phone or cloud server +void sendAudioChunk(MessageBufferHandle_t websocketSendBuffer) +{ + audioSubscribed = true; + while (true) + { + uint8_t *audioChunk = (uint8_t *)malloc(audioMessageBufferLen); + int bytes_written = xMessageBufferReceive(audioMessageBuffer, audioChunk, audioMessageBufferLen, portMAX_DELAY); + lastTickTimeSend = xTaskGetTickCount(); + + if (bytes_written != 0) + { + if (audioSubscribed) + { + // base 64 encode data and send it to the server + int b64EncodedAudioBufferLen = ((ceil(bytes_written / 3.0) * 4) + 1); // size increase due to inefficieny of base64 //+1 for padding, or something + // printf("Tryna b64: %d\n", b64EncodedAudioBufferLen); + unsigned char *b64EncodedAudio = (unsigned char *)malloc(b64EncodedAudioBufferLen); + size_t encodedAudioActualLen; + int b64res = mbedtls_base64_encode(b64EncodedAudio, b64EncodedAudioBufferLen, &encodedAudioActualLen, (unsigned char *)audioChunk, (size_t)bytes_written); + if (b64res == 0) + { + int jsonLength = b64EncodedAudioBufferLen + 256; // plus a bit for JSON extra info + char jsonAudioPacket[jsonLength]; + snprintf(jsonAudioPacket, jsonLength, audioJsonTemplate, b64EncodedAudio); + + // send JSON to WIS server + // if (check_websocket_connect()) + // { + // // printf("Sending audio to WIS...\n"); + // websocket_send_text(jsonAudioPacket); + // // esp_websocket_client_send_text(webSocketClient, (char *)audioChunk, strlen((char *)audioChunk), portMAX_DELAY); + // } + size_t tx_bytes = xMessageBufferSend(websocketSendBuffer, jsonAudioPacket, strlen(jsonAudioPacket), portMAX_DELAY); + } + else { + ESP_LOGE(TAG, "Base 64 encoding failed."); + free(b64EncodedAudio); + continue; + } + free(b64EncodedAudio); + } + else + { + vTaskDelay(pdMS_TO_TICKS(250)); + } + } + free(audioChunk); + } +} \ No newline at end of file diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/microphones/microphones.hpp b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/microphones/microphones.hpp new file mode 100644 index 0000000..9724943 --- /dev/null +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/microphones/microphones.hpp @@ -0,0 +1,3 @@ +extern void setup_audio_buffer(); +extern void microphone_stream(void *args); +extern void sendAudioChunk(void *args); \ No newline at end of file From 9ef8dba9c7d779fb69eef5cea5bcaf308e710502 Mon Sep 17 00:00:00 2001 From: Alex Israelov Date: Thu, 27 Oct 2022 16:36:03 -0600 Subject: [PATCH 12/35] Fixed my name lol --- .../esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp index 1642b6b..7406b6d 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp @@ -1,5 +1,5 @@ //Open Source Smart Glasses main firmware -//Authors: Cayden Pierce, Alyx Israelov +//Authors: Cayden Pierce, Alex Israelov #include "../include/ossg_constants.hpp" #include From b8f6a24e5825bced60a33205ec3649aa7294553d Mon Sep 17 00:00:00 2001 From: Alex Israelov Date: Thu, 27 Oct 2022 21:33:36 -0600 Subject: [PATCH 13/35] Enabled PSRAM, commented out an annoying print statement, un-uncommented out an important print statement. Updated Readme.MD. Enabled display. --- .gitignore | 3 + .../ossg_firmware_mcu/README.md | 8 +- .../ossg_firmware_mcu/sdkconfig.defaults | 4 +- .../ossg_firmware_mcu/sdkconfig.pico32.old | 1772 ----------------- .../src/comms/wifi_websocket_comms.cpp | 20 +- .../src/display/helper_display.hpp | 4 + .../src/display/user_setting.hpp | 2 +- .../ossg_firmware_mcu/src/main.cpp | 22 +- 8 files changed, 32 insertions(+), 1803 deletions(-) delete mode 100644 electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/sdkconfig.pico32.old diff --git a/.gitignore b/.gitignore index 75644bd..96ee462 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,6 @@ *.zip *.bak +electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/.vscode/settings.json +electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/sdkconfig.pico32 +electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/.vscode/settings.json diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/README.md b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/README.md index 37822ae..4e7df83 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/README.md +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/README.md @@ -11,4 +11,10 @@ b) Comment/uncomment PSRAM lines from platformio.ini depending on your ESP32 har # Gotchas -If build goes well and then at the very end you get undefined reference to a task function that doesn't take arguments, make sure you have it take the `void *args` argument. \ No newline at end of file +If build goes well and then at the very end you get undefined reference to a task function that doesn't take arguments, make sure you have it take the `void *args` argument. + +# TODO + +* Search engine result +* Command success page (success? And what the command did) +* Screen to stream in new text (live life captions/speech translate) \ No newline at end of file diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/sdkconfig.defaults b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/sdkconfig.defaults index 9acccbd..f51fb8d 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/sdkconfig.defaults +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/sdkconfig.defaults @@ -297,7 +297,7 @@ CONFIG_SPIRAM_SPEED_80M=y CONFIG_SPIRAM=y CONFIG_SPIRAM_BOOT_INIT=y # CONFIG_SPIRAM_IGNORE_NOTFOUND is not set -# CONFIG_SPIRAM_USE_MEMMAP is not set +CONFIG_SPIRAM_USE_MEMMAP=n # CONFIG_SPIRAM_USE_CAPS_ALLOC is not set CONFIG_SPIRAM_USE_MALLOC=y CONFIG_SPIRAM_MEMTEST=y @@ -627,7 +627,7 @@ CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y CONFIG_ESP32_WIFI_RX_BA_WIN=6 # CONFIG_ESP32_WIFI_AMSDU_TX_ENABLED is not set CONFIG_ESP32_WIFI_NVS_ENABLED=y -# CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_0 is not set +CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_0=n CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_1=y CONFIG_ESP32_WIFI_SOFTAP_BEACON_MAX_LEN=752 CONFIG_ESP32_WIFI_MGMT_SBUF_NUM=32 diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/sdkconfig.pico32.old b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/sdkconfig.pico32.old deleted file mode 100644 index 4461c93..0000000 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/sdkconfig.pico32.old +++ /dev/null @@ -1,1772 +0,0 @@ -# -# 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_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 -CONFIG_BOOTLOADER_FLASH_XMC_SUPPORT=y -# 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_FLASH_SAMPLE_MODE_STR=y -CONFIG_ESPTOOLPY_FLASHMODE="dio" -CONFIG_ESPTOOLPY_FLASHFREQ_80M=y -# CONFIG_ESPTOOLPY_FLASHFREQ_40M is not set -# CONFIG_ESPTOOLPY_FLASHFREQ_26M is not set -# CONFIG_ESPTOOLPY_FLASHFREQ_20M is not set -CONFIG_ESPTOOLPY_FLASHFREQ="80m" -# CONFIG_ESPTOOLPY_FLASHSIZE_1MB is not set -# CONFIG_ESPTOOLPY_FLASHSIZE_2MB is not set -CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y -# CONFIG_ESPTOOLPY_FLASHSIZE_8MB is not set -# CONFIG_ESPTOOLPY_FLASHSIZE_16MB is not set -CONFIG_ESPTOOLPY_FLASHSIZE="4MB" -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 is not set -# CONFIG_PARTITION_TABLE_SINGLE_APP_LARGE is not set -# CONFIG_PARTITION_TABLE_TWO_OTA is not set -CONFIG_PARTITION_TABLE_CUSTOM=y -CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions_singleapp_large.csv" -CONFIG_PARTITION_TABLE_FILENAME="partitions_singleapp_large.csv" -CONFIG_PARTITION_TABLE_OFFSET=0x8000 -CONFIG_PARTITION_TABLE_MD5=y -# end of Partition Table - -# -# 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_OPTIMIZATION_ASSERTION_LEVEL=2 -# CONFIG_COMPILER_OPTIMIZATION_CHECKS_SILENT is not set -CONFIG_COMPILER_HIDE_PATHS_MACROS=y -# 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_JTAG 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 -# 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 - -# -# MCPWM configuration -# -# CONFIG_MCPWM_ISR_IN_IRAM is not set -# end of MCPWM 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 - -# -# GDMA Configuration -# -# CONFIG_GDMA_CTRL_FUNC_IN_IRAM is not set -# CONFIG_GDMA_ISR_IRAM_SAFE is not set -# end of GDMA 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_CLIENT_SESSION_TICKETS 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_ECO3_CACHE_LOCK_FIX=y -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 is not set -CONFIG_ESP32_DEFAULT_CPU_FREQ_240=y -CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ=240 -CONFIG_ESP32_SPIRAM_SUPPORT=y - -# -# SPI RAM config -# -CONFIG_SPIRAM_TYPE_AUTO=y -# CONFIG_SPIRAM_TYPE_ESPPSRAM16 is not set -# CONFIG_SPIRAM_TYPE_ESPPSRAM32 is not set -# CONFIG_SPIRAM_TYPE_ESPPSRAM64 is not set -CONFIG_SPIRAM_SIZE=-1 -# CONFIG_SPIRAM_SPEED_40M is not set -CONFIG_SPIRAM_SPEED_80M=y -CONFIG_SPIRAM=y -CONFIG_SPIRAM_BOOT_INIT=y -# CONFIG_SPIRAM_IGNORE_NOTFOUND is not set -# CONFIG_SPIRAM_USE_MEMMAP is not set -# CONFIG_SPIRAM_USE_CAPS_ALLOC is not set -CONFIG_SPIRAM_USE_MALLOC=y -CONFIG_SPIRAM_MEMTEST=y -CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL=16384 -CONFIG_SPIRAM_TRY_ALLOCATE_WIFI_LWIP=y -CONFIG_SPIRAM_MALLOC_RESERVE_INTERNAL=32768 -# CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY is not set -# CONFIG_SPIRAM_ALLOW_NOINIT_SEG_EXTERNAL_MEMORY is not set -CONFIG_SPIRAM_CACHE_WORKAROUND=y - -# -# SPIRAM cache workaround debugging -# -CONFIG_SPIRAM_CACHE_WORKAROUND_STRATEGY_MEMW=y -# CONFIG_SPIRAM_CACHE_WORKAROUND_STRATEGY_DUPLDST is not set -# CONFIG_SPIRAM_CACHE_WORKAROUND_STRATEGY_NOPS is not set -# end of SPIRAM cache workaround debugging - -# -# SPIRAM workaround libraries placement -# -CONFIG_SPIRAM_CACHE_LIBJMP_IN_IRAM=y -CONFIG_SPIRAM_CACHE_LIBMATH_IN_IRAM=y -CONFIG_SPIRAM_CACHE_LIBNUMPARSER_IN_IRAM=y -CONFIG_SPIRAM_CACHE_LIBIO_IN_IRAM=y -CONFIG_SPIRAM_CACHE_LIBTIME_IN_IRAM=y -CONFIG_SPIRAM_CACHE_LIBCHAR_IN_IRAM=y -CONFIG_SPIRAM_CACHE_LIBMEM_IN_IRAM=y -CONFIG_SPIRAM_CACHE_LIBSTR_IN_IRAM=y -CONFIG_SPIRAM_CACHE_LIBRAND_IN_IRAM=y -CONFIG_SPIRAM_CACHE_LIBENV_IN_IRAM=y -CONFIG_SPIRAM_CACHE_LIBFILE_IN_IRAM=y -CONFIG_SPIRAM_CACHE_LIBMISC_IN_IRAM=y -# end of SPIRAM workaround libraries placement - -CONFIG_SPIRAM_BANKSWITCH_ENABLE=y -CONFIG_SPIRAM_BANKSWITCH_RESERVE=8 -CONFIG_SPIRAM_ALLOW_STACK_EXTERNAL_MEMORY=y -# CONFIG_SPIRAM_OCCUPY_HSPI_HOST is not set -CONFIG_SPIRAM_OCCUPY_VSPI_HOST=y -# CONFIG_SPIRAM_OCCUPY_NO_HOST is not set - -# -# PSRAM clock and cs IO for ESP32-DOWD -# -CONFIG_D0WD_PSRAM_CLK_IO=17 -CONFIG_D0WD_PSRAM_CS_IO=16 -# end of PSRAM clock and cs IO for ESP32-DOWD - -# -# PSRAM clock and cs IO for ESP32-D2WD -# -CONFIG_D2WD_PSRAM_CLK_IO=9 -CONFIG_D2WD_PSRAM_CS_IO=10 -# end of PSRAM clock and cs IO for ESP32-D2WD - -# -# PSRAM clock and cs IO for ESP32-PICO -# -CONFIG_PICO_PSRAM_CS_IO=10 -# end of PSRAM clock and cs IO for ESP32-PICO - -# CONFIG_SPIRAM_CUSTOM_SPIWP_SD3_PIN is not set -CONFIG_SPIRAM_SPIWP_SD3_PIN=7 -# CONFIG_SPIRAM_2T_MODE is not set -# end of SPI RAM config - -# CONFIG_ESP32_TRAX is not set -CONFIG_ESP32_TRACEMEM_RESERVE_DRAM=0x0 -# 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_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_COMPATIBLE_PRE_V3_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 -# end of Common ESP-related - -# -# Ethernet -# -CONFIG_ETH_ENABLED=y -CONFIG_ETH_USE_ESP32_EMAC=y -CONFIG_ETH_PHY_INTERFACE_RMII=y -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_SPI_ETHERNET_KSZ8851SNL 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 -CONFIG_ESP_HTTP_CLIENT_ENABLE_DIGEST_AUTH=y -# 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 - -# -# Hardware Settings -# - -# -# MAC Config -# -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 -# CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_TWO is not set -CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_FOUR=y -CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES=4 -# end of MAC Config - -# -# Sleep Config -# -CONFIG_ESP_SLEEP_RTC_BUS_ISO_WORKAROUND=y -# CONFIG_ESP_SLEEP_GPIO_RESET_WORKAROUND is not set -# CONFIG_ESP_SLEEP_PSRAM_LEAKAGE_WORKAROUND is not set -# CONFIG_ESP_SLEEP_FLASH_LEAKAGE_WORKAROUND is not set -# end of Sleep Config - -# -# RTC Clock Config -# -# end of RTC Clock Config -# end of Hardware Settings - -# -# IPC (Inter-Processor Call) -# -CONFIG_ESP_IPC_TASK_STACK_SIZE=1024 -CONFIG_ESP_IPC_USES_CALLERS_PRIORITY=y -CONFIG_ESP_IPC_ISR_ENABLE=y -# end of IPC (Inter-Processor Call) - -# -# LCD and Touch Panel -# - -# -# LCD Peripheral Configuration -# -CONFIG_LCD_PANEL_IO_FORMAT_BUF_SIZE=32 -# end of LCD Peripheral Configuration -# end of LCD and Touch Panel - -# -# 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 - -# -# PHY -# -CONFIG_ESP_PHY_CALIBRATION_AND_DATA_STORAGE=y -# CONFIG_ESP_PHY_INIT_DATA_IN_PARTITION is not set -CONFIG_ESP_PHY_MAX_WIFI_TX_POWER=20 -CONFIG_ESP_PHY_MAX_TX_POWER=20 -CONFIG_ESP_PHY_REDUCE_TX_POWER=y -# end of PHY - -# -# 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_GDBSTUB_RUNTIME is not set - -# -# Memory protection -# -# end of Memory protection - -CONFIG_ESP_SYSTEM_EVENT_QUEUE_SIZE=32 -CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=2304 -CONFIG_ESP_MAIN_TASK_STACK_SIZE=3584 -CONFIG_ESP_MAIN_TASK_AFFINITY_CPU0=y -# CONFIG_ESP_MAIN_TASK_AFFINITY_CPU1 is not set -# CONFIG_ESP_MAIN_TASK_AFFINITY_NO_AFFINITY is not set -CONFIG_ESP_MAIN_TASK_AFFINITY=0x0 -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_DEBUG_STUBS_ENABLE is not set -CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_5=y -# CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_4 is not set -# 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_INTERRUPT_LEVEL=1 -# CONFIG_ESP_TIMER_SUPPORTS_ISR_DISPATCH_METHOD is not set -# 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_ENABLED=y -CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=10 -CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=32 -CONFIG_ESP32_WIFI_STATIC_TX_BUFFER=y -CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=0 -CONFIG_ESP32_WIFI_STATIC_TX_BUFFER_NUM=16 -CONFIG_ESP32_WIFI_CACHE_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_AMSDU_TX_ENABLED is not set -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_ESP_WIFI_SLP_IRAM_OPT is not set -# CONFIG_ESP_WIFI_STA_DISCONNECTED_PM_ENABLE is not set -# CONFIG_ESP_WIFI_GMAC_SUPPORT is not set -CONFIG_ESP_WIFI_SOFTAP_SUPPORT=y -# end of Wi-Fi - -# -# Core dump -# -# 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_ALLOC_PREFER_EXTRAM=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_PORT_TASK_AFFINITY_NO_AFFINITY is not set -CONFIG_FMB_PORT_TASK_AFFINITY_CPU0=y -# CONFIG_FMB_PORT_TASK_AFFINITY_CPU1 is not set -CONFIG_FMB_PORT_TASK_AFFINITY=0x0 -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_MASTER_TIMER_GROUP=0 -CONFIG_FMB_MASTER_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_TICK_SUPPORT_CORETIMER=y -CONFIG_FREERTOS_CORETIMER_0=y -# CONFIG_FREERTOS_CORETIMER_1 is not set -CONFIG_FREERTOS_SYSTICK_USES_CCOUNT=y -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 -CONFIG_FREERTOS_ENABLE_TASK_SNAPSHOT=y -# CONFIG_FREERTOS_PLACE_SNAPSHOT_FUNS_INTO_FLASH is not set -# end of FreeRTOS - -# -# Hardware Abstraction Layer (HAL) and Low Level (LL) -# -CONFIG_HAL_ASSERTION_EQUALS_SYSTEM=y -# CONFIG_HAL_ASSERTION_DISABLE is not set -# CONFIG_HAL_ASSERTION_SILIENT is not set -# CONFIG_HAL_ASSERTION_ENABLE is not set -CONFIG_HAL_DEFAULT_ASSERTION_LEVEL=2 -# end of Hardware Abstraction Layer (HAL) and Low Level (LL) - -# -# 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_MAXIMUM_EQUALS_DEFAULT=y -# CONFIG_LOG_MAXIMUM_LEVEL_DEBUG is not set -# CONFIG_LOG_MAXIMUM_LEVEL_VERBOSE is not set -CONFIG_LOG_MAXIMUM_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_NETIF_API is not set -# CONFIG_LWIP_TCPIP_CORE_LOCKING is not set -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_DISABLE_CLIENT_ID is not set -CONFIG_LWIP_DHCP_DISABLE_VENDOR_CLASS_ID=y -# CONFIG_LWIP_DHCP_RESTORE_LAST_IP is not set -CONFIG_LWIP_DHCP_OPTIONS_LEN=68 - -# -# DHCP server -# -CONFIG_LWIP_DHCPS=y -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_IPV6_NUM_ADDRESSES=3 -# CONFIG_LWIP_IPV6_FORWARD is not set -# CONFIG_LWIP_NETIF_STATUS_CALLBACK 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_WND_SCALE 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_ICMP=y -# 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_SNTP_MAX_SERVERS=1 -# CONFIG_LWIP_DHCP_GET_NTP_SRV is not set -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_ND6_GET_GW_NONE=y -# CONFIG_LWIP_HOOK_ND6_GET_GW_DEFAULT is not set -# CONFIG_LWIP_HOOK_ND6_GET_GW_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_EXTERNAL_MEM_ALLOC is not set -# 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 - -# -# mbedTLS v2.28.x related -# -# CONFIG_MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH is not set -# CONFIG_MBEDTLS_X509_TRUSTED_CERT_CALLBACK is not set -# CONFIG_MBEDTLS_SSL_CONTEXT_SERIALIZATION is not set -CONFIG_MBEDTLS_SSL_KEEP_PEER_CERTIFICATE=y -# end of mbedTLS v2.28.x related - -# -# 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_GMTSSL1_1 is not set -# CONFIG_MBEDTLS_SSL_PROTO_DTLS is not set -CONFIG_MBEDTLS_SSL_ALPN=y -CONFIG_MBEDTLS_CLIENT_SSL_SESSION_TICKETS=y -CONFIG_MBEDTLS_X509_CHECK_KEY_USAGE=y -CONFIG_MBEDTLS_X509_CHECK_EXTENDED_KEY_USAGE=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 -# CONFIG_MBEDTLS_NIST_KW_C is not set -# 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 -# CONFIG_MDNS_NETWORKING_SOCKET is not set -CONFIG_MDNS_MULTIPLE_INSTANCE=y -# 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 - -# -# OpenThread -# -# CONFIG_OPENTHREAD_ENABLED is not set -# end of OpenThread - -# -# 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 -# CONFIG_SPI_FLASH_OVERRIDE_CHIP_DRIVER_LIST 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 -# CONFIG_SPI_FLASH_SUPPORT_BOYA_CHIP is not set -# CONFIG_SPI_FLASH_SUPPORT_TH_CHIP is not set -# 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 -# - -# -# Websocket -# -CONFIG_WS_TRANSPORT=y -CONFIG_WS_BUFFER_SIZE=1024 -# end of Websocket -# end of TCP Transport - -# -# Unity unit testing library -# -CONFIG_UNITY_ENABLE_FLOAT=y -CONFIG_UNITY_ENABLE_DOUBLE=y -# CONFIG_UNITY_ENABLE_64BIT is not set -# 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_SUITE_B_192 is not set -# CONFIG_WPA_DEBUG_PRINT is not set -# CONFIG_WPA_TESTING_OPTIONS is not set -# CONFIG_WPA_WPS_STRICT is not set -# CONFIG_WPA_11KV_SUPPORT is not set -# end of Supplicant - -# -# LVGL configuration -# -# CONFIG_LV_CONF_SKIP is not set -# CONFIG_LV_CONF_MINIMAL is not set - -# -# Color settings -# -# CONFIG_LV_COLOR_DEPTH_32 is not set -CONFIG_LV_COLOR_DEPTH_16=y -# CONFIG_LV_COLOR_DEPTH_8 is not set -# CONFIG_LV_COLOR_DEPTH_1 is not set -CONFIG_LV_COLOR_DEPTH=16 -# CONFIG_LV_COLOR_16_SWAP is not set -# CONFIG_LV_COLOR_SCREEN_TRANSP is not set -CONFIG_LV_COLOR_MIX_ROUND_OFS=128 -CONFIG_LV_COLOR_CHROMA_KEY_HEX=0x00FF00 -# end of Color settings - -# -# Memory settings -# -# CONFIG_LV_MEM_CUSTOM is not set -CONFIG_LV_MEM_SIZE_KILOBYTES=32 -CONFIG_LV_MEM_ADDR=0x0 -CONFIG_LV_MEM_BUF_MAX_NUM=16 -# CONFIG_LV_MEMCPY_MEMSET_STD is not set -# end of Memory settings - -# -# HAL Settings -# -CONFIG_LV_DISP_DEF_REFR_PERIOD=30 -CONFIG_LV_INDEV_DEF_READ_PERIOD=30 -# CONFIG_LV_TICK_CUSTOM is not set -CONFIG_LV_DPI_DEF=130 -# end of HAL Settings - -# -# Feature configuration -# - -# -# Drawing -# -CONFIG_LV_DRAW_COMPLEX=y -CONFIG_LV_SHADOW_CACHE_SIZE=0 -CONFIG_LV_CIRCLE_CACHE_SIZE=4 -CONFIG_LV_LAYER_SIMPLE_BUF_SIZE=24576 -CONFIG_LV_IMG_CACHE_DEF_SIZE=0 -CONFIG_LV_GRADIENT_MAX_STOPS=2 -CONFIG_LV_GRAD_CACHE_DEF_SIZE=0 -# CONFIG_LV_DITHER_GRADIENT is not set -CONFIG_LV_DISP_ROT_MAX_BUF=10240 -# end of Drawing - -# -# GPU -# -# CONFIG_LV_USE_GPU_ARM2D is not set -# CONFIG_LV_USE_GPU_STM32_DMA2D is not set -# CONFIG_LV_USE_GPU_SWM341_DMA2D is not set -# CONFIG_LV_USE_GPU_NXP_PXP is not set -# CONFIG_LV_USE_GPU_NXP_VG_LITE is not set -# CONFIG_LV_USE_GPU_SDL is not set -# end of GPU - -# -# Logging -# -# CONFIG_LV_USE_LOG is not set -# end of Logging - -# -# Asserts -# -CONFIG_LV_USE_ASSERT_NULL=y -CONFIG_LV_USE_ASSERT_MALLOC=y -# CONFIG_LV_USE_ASSERT_STYLE is not set -# CONFIG_LV_USE_ASSERT_MEM_INTEGRITY is not set -# CONFIG_LV_USE_ASSERT_OBJ is not set -CONFIG_LV_ASSERT_HANDLER_INCLUDE="assert.h" -# end of Asserts - -# -# Others -# -# CONFIG_LV_USE_PERF_MONITOR is not set -# CONFIG_LV_USE_MEM_MONITOR is not set -# CONFIG_LV_USE_REFR_DEBUG is not set -# CONFIG_LV_SPRINTF_CUSTOM is not set -# CONFIG_LV_SPRINTF_USE_FLOAT is not set -CONFIG_LV_USE_USER_DATA=y -# CONFIG_LV_ENABLE_GC is not set -# end of Others - -# -# Compiler settings -# -# CONFIG_LV_BIG_ENDIAN_SYSTEM is not set -CONFIG_LV_ATTRIBUTE_MEM_ALIGN_SIZE=1 -# CONFIG_LV_ATTRIBUTE_FAST_MEM_USE_IRAM is not set -# CONFIG_LV_USE_LARGE_COORD is not set -# end of Compiler settings -# end of Feature configuration - -# -# Font usage -# - -# -# Enable built-in fonts -# -# CONFIG_LV_FONT_MONTSERRAT_8 is not set -# CONFIG_LV_FONT_MONTSERRAT_10 is not set -# CONFIG_LV_FONT_MONTSERRAT_12 is not set -CONFIG_LV_FONT_MONTSERRAT_14=y -# CONFIG_LV_FONT_MONTSERRAT_16 is not set -# CONFIG_LV_FONT_MONTSERRAT_18 is not set -# CONFIG_LV_FONT_MONTSERRAT_20 is not set -# CONFIG_LV_FONT_MONTSERRAT_22 is not set -# CONFIG_LV_FONT_MONTSERRAT_24 is not set -# CONFIG_LV_FONT_MONTSERRAT_26 is not set -# CONFIG_LV_FONT_MONTSERRAT_28 is not set -# CONFIG_LV_FONT_MONTSERRAT_30 is not set -# CONFIG_LV_FONT_MONTSERRAT_32 is not set -# CONFIG_LV_FONT_MONTSERRAT_34 is not set -# CONFIG_LV_FONT_MONTSERRAT_36 is not set -# CONFIG_LV_FONT_MONTSERRAT_38 is not set -# CONFIG_LV_FONT_MONTSERRAT_40 is not set -# CONFIG_LV_FONT_MONTSERRAT_42 is not set -# CONFIG_LV_FONT_MONTSERRAT_44 is not set -# CONFIG_LV_FONT_MONTSERRAT_46 is not set -# CONFIG_LV_FONT_MONTSERRAT_48 is not set -# CONFIG_LV_FONT_MONTSERRAT_12_SUBPX is not set -# CONFIG_LV_FONT_MONTSERRAT_28_COMPRESSED is not set -# CONFIG_LV_FONT_DEJAVU_16_PERSIAN_HEBREW is not set -# CONFIG_LV_FONT_SIMSUN_16_CJK is not set -# CONFIG_LV_FONT_UNSCII_8 is not set -# CONFIG_LV_FONT_UNSCII_16 is not set -# CONFIG_LV_FONT_CUSTOM is not set -# end of Enable built-in fonts - -# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_8 is not set -# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_12 is not set -CONFIG_LV_FONT_DEFAULT_MONTSERRAT_14=y -# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_16 is not set -# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_18 is not set -# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_20 is not set -# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_22 is not set -# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_24 is not set -# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_26 is not set -# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_28 is not set -# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_30 is not set -# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_32 is not set -# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_34 is not set -# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_36 is not set -# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_38 is not set -# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_40 is not set -# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_42 is not set -# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_44 is not set -# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_46 is not set -# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_48 is not set -# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_12_SUBPX is not set -# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_28_COMPRESSED is not set -# CONFIG_LV_FONT_DEFAULT_DEJAVU_16_PERSIAN_HEBREW is not set -# CONFIG_LV_FONT_DEFAULT_SIMSUN_16_CJK is not set -# CONFIG_LV_FONT_DEFAULT_UNSCII_8 is not set -# CONFIG_LV_FONT_DEFAULT_UNSCII_16 is not set -# CONFIG_LV_FONT_FMT_TXT_LARGE is not set -# CONFIG_LV_USE_FONT_COMPRESSED is not set -# CONFIG_LV_USE_FONT_SUBPX is not set -CONFIG_LV_USE_FONT_PLACEHOLDER=y -# end of Font usage - -# -# Text Settings -# -CONFIG_LV_TXT_ENC_UTF8=y -# CONFIG_LV_TXT_ENC_ASCII is not set -CONFIG_LV_TXT_BREAK_CHARS=" ,.;:-_" -CONFIG_LV_TXT_LINE_BREAK_LONG_LEN=0 -CONFIG_LV_TXT_COLOR_CMD="#" -# CONFIG_LV_USE_BIDI is not set -# CONFIG_LV_USE_ARABIC_PERSIAN_CHARS is not set -# end of Text Settings - -# -# Widget usage -# -CONFIG_LV_USE_ARC=y -CONFIG_LV_USE_BAR=y -CONFIG_LV_USE_BTN=y -CONFIG_LV_USE_BTNMATRIX=y -CONFIG_LV_USE_CANVAS=y -CONFIG_LV_USE_CHECKBOX=y -CONFIG_LV_USE_DROPDOWN=y -CONFIG_LV_USE_IMG=y -CONFIG_LV_USE_LABEL=y -CONFIG_LV_LABEL_TEXT_SELECTION=y -CONFIG_LV_LABEL_LONG_TXT_HINT=y -CONFIG_LV_USE_LINE=y -CONFIG_LV_USE_ROLLER=y -CONFIG_LV_ROLLER_INF_PAGES=7 -CONFIG_LV_USE_SLIDER=y -CONFIG_LV_USE_SWITCH=y -CONFIG_LV_USE_TEXTAREA=y -CONFIG_LV_TEXTAREA_DEF_PWD_SHOW_TIME=1500 -CONFIG_LV_USE_TABLE=y -# end of Widget usage - -# -# Extra Widgets -# -CONFIG_LV_USE_ANIMIMG=y -CONFIG_LV_USE_CALENDAR=y -# CONFIG_LV_CALENDAR_WEEK_STARTS_MONDAY is not set -CONFIG_LV_USE_CALENDAR_HEADER_ARROW=y -CONFIG_LV_USE_CALENDAR_HEADER_DROPDOWN=y -CONFIG_LV_USE_CHART=y -CONFIG_LV_USE_COLORWHEEL=y -CONFIG_LV_USE_IMGBTN=y -CONFIG_LV_USE_KEYBOARD=y -CONFIG_LV_USE_LED=y -CONFIG_LV_USE_LIST=y -CONFIG_LV_USE_MENU=y -CONFIG_LV_USE_METER=y -CONFIG_LV_USE_MSGBOX=y -CONFIG_LV_USE_SPAN=y -CONFIG_LV_SPAN_SNIPPET_STACK_SIZE=64 -CONFIG_LV_USE_SPINBOX=y -CONFIG_LV_USE_SPINNER=y -CONFIG_LV_USE_TABVIEW=y -CONFIG_LV_USE_TILEVIEW=y -CONFIG_LV_USE_WIN=y -# end of Extra Widgets - -# -# Themes -# -CONFIG_LV_USE_THEME_DEFAULT=y -# CONFIG_LV_THEME_DEFAULT_DARK is not set -CONFIG_LV_THEME_DEFAULT_GROW=y -CONFIG_LV_THEME_DEFAULT_TRANSITION_TIME=80 -CONFIG_LV_USE_THEME_BASIC=y -# CONFIG_LV_USE_THEME_MONO is not set -# end of Themes - -# -# Layouts -# -CONFIG_LV_USE_FLEX=y -CONFIG_LV_USE_GRID=y -# end of Layouts - -# -# 3rd Party Libraries -# -# CONFIG_LV_USE_FS_STDIO is not set -# CONFIG_LV_USE_FS_POSIX is not set -# CONFIG_LV_USE_FS_WIN32 is not set -# CONFIG_LV_USE_FS_FATFS is not set -# CONFIG_LV_USE_PNG is not set -# CONFIG_LV_USE_BMP is not set -# CONFIG_LV_USE_SJPG is not set -# CONFIG_LV_USE_GIF is not set -# CONFIG_LV_USE_QRCODE is not set -# CONFIG_LV_USE_FREETYPE is not set -# CONFIG_LV_USE_RLOTTIE is not set -# CONFIG_LV_USE_FFMPEG is not set -# end of 3rd Party Libraries - -# -# Others -# -CONFIG_LV_USE_SNAPSHOT=y -# CONFIG_LV_USE_MONKEY is not set -# CONFIG_LV_USE_GRIDNAV is not set -# CONFIG_LV_USE_FRAGMENT is not set -# CONFIG_LV_USE_IMGFONT is not set -# CONFIG_LV_USE_MSG is not set -# CONFIG_LV_USE_IME_PINYIN is not set -# end of Others - -# -# Examples -# -CONFIG_LV_BUILD_EXAMPLES=y -# end of Examples - -# -# Demos -# -# CONFIG_LV_USE_DEMO_WIDGETS is not set -# CONFIG_LV_USE_DEMO_KEYPAD_AND_ENCODER is not set -# CONFIG_LV_USE_DEMO_BENCHMARK is not set -# CONFIG_LV_USE_DEMO_STRESS is not set -# CONFIG_LV_USE_DEMO_MUSIC is not set -# end of Demos -# end of LVGL 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_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_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_ADC2_DISABLE_DAC=y -CONFIG_SPIRAM_SUPPORT=y -CONFIG_WIFI_LWIP_ALLOCATION_FROM_SPIRAM_FIRST=y -CONFIG_TRACEMEM_RESERVE_DRAM=0x0 -# 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_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_EVENT_LOOP_PROFILING is not set -CONFIG_POST_EVENTS_FROM_ISR=y -CONFIG_POST_EVENTS_FROM_IRAM_ISR=y -# CONFIG_TWO_UNIVERSAL_MAC_ADDRESS is not set -CONFIG_FOUR_UNIVERSAL_MAC_ADDRESS=y -CONFIG_NUMBER_OF_UNIVERSAL_MAC_ADDRESS=4 -# CONFIG_ESP32C3_LIGHTSLEEP_GPIO_RESET_WORKAROUND is not set -CONFIG_IPC_TASK_STACK_SIZE=1024 -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_ESP32_REDUCE_PHY_TX_POWER=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_SYSTEM_EVENT_QUEUE_SIZE=32 -CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE=2304 -CONFIG_MAIN_TASK_STACK_SIZE=3584 -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_ESP32_DEBUG_STUBS_ENABLE is not set -CONFIG_TIMER_TASK_STACK_SIZE=3584 -# 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/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/comms/wifi_websocket_comms.cpp b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/comms/wifi_websocket_comms.cpp index 1a0c070..d36a789 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/comms/wifi_websocket_comms.cpp +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/comms/wifi_websocket_comms.cpp @@ -454,16 +454,16 @@ static void websocket_event_handler(void *handler_args, esp_event_base_t base, i case WEBSOCKET_EVENT_DATA: { ESP_LOGI(TAG, "WEBSOCKET_EVENT_DATA"); - // ESP_LOGI(TAG, "Received opcode=%d", data->op_code); - // ESP_LOGW(TAG, "Received=%.*s", data->data_len, (char *)data->data_ptr); - // ESP_LOGW(TAG, "Total payload length=%d, data_len=%d, current payload offset=%d\r\n", data->payload_len, data->data_len, data->payload_offset); - // if (data->data_len > 5){ //ignore empty strings and tiny pings - // int jsonStringLen = (data->data_len)+1; - // char jsonString[jsonStringLen]; - // snprintf(jsonString, jsonStringLen, "%s", (char *)data->data_ptr); - // ESP_LOGW(TAG, "JSON STRING PREPARSE=%s", jsonString); - // //parseJson(jsonString); - // } + ESP_LOGI(TAG, "Received opcode=%d", data->op_code); + ESP_LOGW(TAG, "Received=%.*s", data->data_len, (char *)data->data_ptr); + ESP_LOGW(TAG, "Total payload length=%d, data_len=%d, current payload offset=%d\r\n", data->payload_len, data->data_len, data->payload_offset); + if (data->data_len > 5){ //ignore empty strings and tiny pings + int jsonStringLen = (data->data_len)+1; + char jsonString[jsonStringLen]; + snprintf(jsonString, jsonStringLen, "%s", (char *)data->data_ptr); + ESP_LOGW(TAG, "JSON STRING PREPARSE=%s", jsonString); + parseJson(jsonString); + } break; } case WEBSOCKET_EVENT_ERROR: diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/helper_display.hpp b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/helper_display.hpp index f77d550..6c4b9ac 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/helper_display.hpp +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/helper_display.hpp @@ -165,12 +165,16 @@ static void gui_task(void *args) while (1) { vTaskDelay(pdMS_TO_TICKS(1000)); + + /* cout << endl; cout << endl; cout << endl; cout << endl; cout << "heap_caps_get_free_size(MALLOC_CAP_8BIT): "; cout << heap_caps_get_free_size(MALLOC_CAP_8BIT) << endl; + */ + /* Try to take the semaphore, call lvgl related function on success */ if (pdTRUE == xSemaphoreTake(xGuiSemaphore, portMAX_DELAY)) { diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/user_setting.hpp b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/user_setting.hpp index fe80a20..76d3bb5 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/user_setting.hpp +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/user_setting.hpp @@ -69,7 +69,7 @@ class LGFX : public lgfx::LGFX_Device cfg.pin_dac = 25; // DACを使用するため、 25 または 26 のみが選択できます; // Setting PSRAM Memory Allocation; - cfg.use_psram = 0; // 0=no PSRAM used / 1=half PSRAM and half SRAM / 2=full PSRAM; + cfg.use_psram = 1; // 0=no PSRAM used / 1=half PSRAM and half SRAM / 2=full PSRAM; // Sets the amplitude strength of the output signal; cfg.output_level = 128; // Initial value 128 diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp index 7406b6d..96e8fb4 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp @@ -26,7 +26,7 @@ static const char *TAG = "MAIN_OSSG"; #define MEM_MSG 0 -#define ENABLEDISPLAY 0 +#define ENABLEDISPLAY 1 #if ENABLEDISPLAY #include "displaymanager.hpp" #endif @@ -37,15 +37,6 @@ using std::endl; void startTheDisplay(); - // ESP32 PSRAM bug workaround (use when the library is NOT compiled with PSRAM hack enabled) - // Place between a write and a read PSRAM operation (write->ASM_MEMW->read), not viceversa - #define ASM_MEMW asm(" MEMW"); - - #define ASM_NOP asm(" NOP"); - - #define PSRAM_WORKAROUND1 asm(" nop;nop;nop;nop"); - #define PSRAM_WORKAROUND2 asm(" memw"); - void startTheDisplay(){ #if ENABLEDISPLAY displayStart(); @@ -77,6 +68,8 @@ void app_main(void) // create event loop ESP_ERROR_CHECK(esp_event_loop_create_default()); + startTheDisplay(); + // start WIFI wifi_init_sta(); @@ -85,8 +78,8 @@ void app_main(void) websocket_app_start(websocketSendBuffer, websocketSendBufferLen); //start websocket receive listening loop - esp_log_level_set("WEBSOCKET_CLIENT", ESP_LOG_DEBUG); - TaskHandle_t webSocketReceiveTask = NULL; //6*4096 + //esp_log_level_set("WEBSOCKET_CLIENT", ESP_LOG_DEBUG); + //TaskHandle_t webSocketReceiveTask = NULL; //6*4096 //xTaskCreatePinnedToCore(websocket_receive_loop, "web_socket_receive_task", 4*1024, NULL, 1, &webSocketReceiveTask, 0); //start websocket sending listening loop @@ -97,10 +90,6 @@ void app_main(void) TaskHandle_t webSocketPingTask = NULL; xTaskCreatePinnedToCore(ping_loop_task, "ping_loop_task", 4*1024, NULL, 1, &webSocketPingTask, 0); - //connect to audio TCP socket stream - // esp_log_level_set("TRANS_TCP", ESP_LOG_DEBUG); - //xTaskCreate(tcp_client_task, "tcp_client", 4096, NULL, 5, NULL); - //audio setup_audio_buffer(); @@ -111,7 +100,6 @@ void app_main(void) //start microphone input AFTER STARTING AUDIO QUEUE TaskHandle_t microphoneTaskHandle = NULL; xTaskCreate(microphone_stream, "microphone_stream_task", 6*4096, NULL, 1, µphoneTaskHandle); - startTheDisplay(); #if MEM_MSG cout << "Free heap OGOGOG: "; From 083739f04e47b1bc74acb10fdfa44789380db306 Mon Sep 17 00:00:00 2001 From: cayden Date: Sat, 29 Oct 2022 14:41:35 -0400 Subject: [PATCH 14/35] fix audio streaming issues, parse transcripts incoming --- .../src/comms/wifi_websocket_comms.cpp | 20 ++++++++---- .../ossg_firmware_mcu/src/main.cpp | 15 +++------ .../src/microphones/microphones.cpp | 31 ++++++------------- .../src/utils/json_parse.cpp | 7 +---- 4 files changed, 30 insertions(+), 43 deletions(-) diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/comms/wifi_websocket_comms.cpp b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/comms/wifi_websocket_comms.cpp index d36a789..0182297 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/comms/wifi_websocket_comms.cpp +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/comms/wifi_websocket_comms.cpp @@ -449,6 +449,7 @@ static void websocket_event_handler(void *handler_args, esp_event_base_t base, i break; case WEBSOCKET_EVENT_DISCONNECTED: ESP_LOGI(TAG, "WEBSOCKET_EVENT_DISCONNECTED"); + esp_restart(); // reconnect break; case WEBSOCKET_EVENT_DATA: @@ -482,16 +483,18 @@ static void reconnect_websocket() // connect the socket again } +#include "../include/message_types.h" void ping_loop_task(void *args) { while (true) { - if (esp_websocket_client_is_connected(webSocketClient)) + if (check_websocket_connect()) { - char ping[64] = "ping bitch"; + MessageTypes mt = MessageTypes(); + char ping[64] = "{\"MESSAGE_TYPE_LOCAL\" : \"ping\"}"; esp_websocket_client_send_text(webSocketClient, ping, strlen(ping), portMAX_DELAY); } - vTaskDelay(500 / portTICK_RATE_MS); + vTaskDelay(1500 / portTICK_RATE_MS); } } @@ -542,10 +545,15 @@ void websocket_receive_loop(void *args){ } void websocket_send_loop(void *args){ + char * stringToSend = (char *)malloc(localWebsocketSendBufferLen); while (true) { - char * stringToSend = (char *)malloc(localWebsocketSendBufferLen); int bytes_written = xMessageBufferReceive(localWebsocketSendBuffer, stringToSend, localWebsocketSendBufferLen, portMAX_DELAY); + + // ESP_LOGI(TAG, "wsl received bytes_written: %d", bytes_written); + // ESP_LOGI(TAG, "wsl received message: %s", stringToSend); + // ESP_LOGI(TAG, "wsl local len: %d", localWebsocketSendBufferLen); + // ESP_LOGI(TAG, "wsl message: %d", localWebsocketSendBufferLen); if (bytes_written != 0){ if (check_websocket_connect()) { @@ -553,8 +561,8 @@ void websocket_send_loop(void *args){ esp_websocket_client_send_text(webSocketClient, stringToSend, strlen(stringToSend), portMAX_DELAY); } } - free(stringToSend); } + free(stringToSend); } // AUDIO WIFI SENDING COMMS TCP SOCKET @@ -648,5 +656,5 @@ void websocket_send_loop(void *args){ // } void websocket_send_text(char * text){ - esp_websocket_client_send_text(webSocketClient, text, strlen(text), portMAX_DELAY); + esp_websocket_client_send_text(webSocketClient, text, strlen(text)+1, portMAX_DELAY); } \ No newline at end of file diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp index 96e8fb4..c519e4d 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp @@ -26,7 +26,7 @@ static const char *TAG = "MAIN_OSSG"; #define MEM_MSG 0 -#define ENABLEDISPLAY 1 +#define ENABLEDISPLAY 0 #if ENABLEDISPLAY #include "displaymanager.hpp" #endif @@ -77,29 +77,24 @@ void app_main(void) websocketSendBuffer = xMessageBufferCreate(websocketSendBufferLen); websocket_app_start(websocketSendBuffer, websocketSendBufferLen); - //start websocket receive listening loop - //esp_log_level_set("WEBSOCKET_CLIENT", ESP_LOG_DEBUG); - //TaskHandle_t webSocketReceiveTask = NULL; //6*4096 - //xTaskCreatePinnedToCore(websocket_receive_loop, "web_socket_receive_task", 4*1024, NULL, 1, &webSocketReceiveTask, 0); - //start websocket sending listening loop TaskHandle_t webSocketSendTask = NULL; //6*4096 - xTaskCreatePinnedToCore(websocket_send_loop, "web_socket_send_task", 12*1024, NULL, 1, &webSocketSendTask, 0); + xTaskCreate(websocket_send_loop, "web_socket_send_task", 28*1024, NULL, 1, &webSocketSendTask); //start websocket pinger TaskHandle_t webSocketPingTask = NULL; - xTaskCreatePinnedToCore(ping_loop_task, "ping_loop_task", 4*1024, NULL, 1, &webSocketPingTask, 0); + xTaskCreate(ping_loop_task, "ping_loop_task", 4*1024, NULL, 1, &webSocketPingTask); //audio setup_audio_buffer(); //send audio task TaskHandle_t sendAudioTaskHandle = NULL; - xTaskCreate(sendAudioChunk, "send_audio_chunk_task", 6*4096, websocketSendBuffer, 1, &sendAudioTaskHandle); + xTaskCreate(sendAudioChunk, "send_audio_chunk_task", 28*1024, websocketSendBuffer, 1, &sendAudioTaskHandle); //start microphone input AFTER STARTING AUDIO QUEUE TaskHandle_t microphoneTaskHandle = NULL; - xTaskCreate(microphone_stream, "microphone_stream_task", 6*4096, NULL, 1, µphoneTaskHandle); + xTaskCreate(microphone_stream, "microphone_stream_task", 24*1024, NULL, 1, µphoneTaskHandle); #if MEM_MSG cout << "Free heap OGOGOG: "; diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/microphones/microphones.cpp b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/microphones/microphones.cpp index fa25911..89e11f7 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/microphones/microphones.cpp +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/microphones/microphones.cpp @@ -25,7 +25,7 @@ static const char *TAG = "MICROPHONES_OSSG"; // place to pass audio around and save it MessageBufferHandle_t audioMessageBuffer; -const size_t AUDIO_BUFFER_SIZE = 1024; +const size_t AUDIO_BUFFER_SIZE = 1024;// number of samples, each sample uint16_t const size_t audioMessageBufferLen = (AUDIO_BUFFER_SIZE * sizeof(uint16_t)) + sizeof(size_t); // room for websocket buffer, room for one size_t for MessageBuffer overhead static const char *audioJsonTemplate = "{\"MESSAGE_TYPE_LOCAL\" : \"AUDIO_CHUNK_DECRYPTED\", \"AUDIO_DATA\" : \"%s\"}"; @@ -52,17 +52,6 @@ const size_t DMA_BUF_CNT = 2; int packet_count = 0; -static const char *payload = "{\"MESSAGE_TYPE_LOCAL\" : \"AUDIO_CHUNK_DECRYPTED\", \"AUDIO_DATA\" : \"/+MYxAAEaAIEeUAQAgBgNgP/////KQQ/////Lvrg+lcWYHgtjadzsbTq+yREu495tq9c6v/7vt/of7mna9v6/btUnU17Jun9/+MYxCkT26KW+YGBAj9v6vUh+zab//v/96C3/pu6H+pv//r/ycIIP4pcWWTRBBBAMXgNdbRaABQAAABRWKwgjQVX0ECmrb///+MYxBQSM0sWWYI4A++Z/////////////0rOZ3MP//7H44QEgxgdvRVMXHZseL//540B4JAvMPEgaA4/0nHjxLhRgAoAYAgA/+MYxAYIAAJfGYEQAMAJAIAQMAwX936/q/tWtv/2f/+v//6v/+7qTEFNRTMuOTkuNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV\"}"; -// static const char *payload = "/+MYxAAEaAIEeUAQAgBgNgP/////KQQ/////Lvrg+lcWYHgtjadzsbTq+yREu495tq9c6v/7vt/of7mna9v6/btUnU17Jun9/+MYxCkT26KW+YGBAj9v6vUh+zab//v/96C3/pu6H+pv//r/ycIIP4pcWWTRBBBAMXgNdbRaABQAAABRWKwgjQVX0ECmrb///+MYxBQSM0sWWYI4A++Z/////////////0rOZ3MP//7H44QEgxgdvRVMXHZseL//540B4JAvMPEgaA4/0nHjxLhRgAoAYAgA/+MYxAYIAAJfGYEQAMAJAIAQMAwX936/q/tWtv/2f/+v//6v/+7qTEFNRTMuOTkuNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV"; //for testing - -// void addAudioChunkToQueue(uint8_t *buf) -// { -// if (xQueueSend(audioQueue, buf, portMAX_DELAY) != pdPASS) -// { -// ESP_LOGE(TAG, "TX AUDIO: Error sending the audio chunk to the audio queue.\n"); -// } -// } - bool I2S_Init() { // pdm config for reading from left channel of PDM @@ -194,17 +183,17 @@ void sendAudioChunk(MessageBufferHandle_t websocketSendBuffer) if (b64res == 0) { int jsonLength = b64EncodedAudioBufferLen + 256; // plus a bit for JSON extra info - char jsonAudioPacket[jsonLength]; + //char jsonAudioPacket[jsonLength]; + char * jsonAudioPacket = (char *)malloc(jsonLength); snprintf(jsonAudioPacket, jsonLength, audioJsonTemplate, b64EncodedAudio); - // send JSON to WIS server - // if (check_websocket_connect()) - // { - // // printf("Sending audio to WIS...\n"); - // websocket_send_text(jsonAudioPacket); - // // esp_websocket_client_send_text(webSocketClient, (char *)audioChunk, strlen((char *)audioChunk), portMAX_DELAY); - // } - size_t tx_bytes = xMessageBufferSend(websocketSendBuffer, jsonAudioPacket, strlen(jsonAudioPacket), portMAX_DELAY); + // ESP_LOGI(TAG, "mic received bytes_written: %d", bytes_written); + // ESP_LOGI(TAG, "local len: %d", strlen(jsonAudioPacket)); + // ESP_LOGI(TAG, "mic message: %s", jsonAudioPacket); + + //send data to be sent down websocket to ASP + size_t tx_bytes = xMessageBufferSend(websocketSendBuffer, jsonAudioPacket, strlen(jsonAudioPacket)+1, portMAX_DELAY); + free(jsonAudioPacket); } else { ESP_LOGE(TAG, "Base 64 encoding failed."); diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/utils/json_parse.cpp b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/utils/json_parse.cpp index 5d2a7d3..f516e3c 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/utils/json_parse.cpp +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/utils/json_parse.cpp @@ -18,19 +18,14 @@ void makeJson(){ } void parseJson(char * jsonString){ - ESP_LOGI(TAG, "Deserialize....."); MessageTypes myMessageTypes = MessageTypes(); - ESP_LOGI(TAG, "Go message types....."); cJSON *jsonObj = cJSON_Parse(jsonString); - ESP_LOGI(TAG, "Parsed....."); char *parsedJsonString = cJSON_Print(jsonObj); - ESP_LOGI(TAG, "my_parsed json_string\n%s",parsedJsonString); + ESP_LOGI(TAG, "Parsed JSON string: %s", parsedJsonString); if (cJSON_GetObjectItem(jsonObj, myMessageTypes.MESSAGE_TYPE_LOCAL)) { - ESP_LOGI(TAG, "FOund object....."); char *message_type = cJSON_GetObjectItem(jsonObj, myMessageTypes.MESSAGE_TYPE_LOCAL)->valuestring; - ESP_LOGI(TAG, "version=%s",message_type); } //clean up From 9a4528423fd8b2ceb32f3b1c39caef4abd47c84e Mon Sep 17 00:00:00 2001 From: Alex Israelov Date: Sat, 29 Oct 2022 16:02:22 -0600 Subject: [PATCH 15/35] Added huge_app.csv --- .../ossg_firmware_mcu/README.md | 23 +++++++++++++++---- .../ossg_firmware_mcu/huge_app.csv | 5 ++++ .../ossg_firmware_mcu/platformio.ini | 14 +++-------- 3 files changed, 27 insertions(+), 15 deletions(-) create mode 100644 electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/huge_app.csv diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/README.md b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/README.md index 4e7df83..059ca38 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/README.md +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/README.md @@ -1,4 +1,11 @@ -# Setup +# OSSG Firmware + +## Features + +* Displays pretty UI over composite video using LovyanGFX + LVGL +* Streams recoreded audio to an Android device +* Receives JSON commands from an Android device +## Setup 1. Install VSCODE 2. Install platformio in VSCODE @@ -9,12 +16,20 @@ platformio run -t menuconfig Component config -> ESP32 Specific -> SPIRAM/PSRAM Enable/Disable b) Comment/uncomment PSRAM lines from platformio.ini depending on your ESP32 hardware -# Gotchas +## Gotchas If build goes well and then at the very end you get undefined reference to a task function that doesn't take arguments, make sure you have it take the `void *args` argument. -# TODO +## TODO * Search engine result * Command success page (success? And what the command did) -* Screen to stream in new text (live life captions/speech translate) \ No newline at end of file +* Screen to stream in new text (live life captions/speech translate) + +## History + +This project is heavily inspired by the combination of two projects that came before it: + +* The [Wearable Intelligence System](https://github.com/emexlabs/WearableIntelligenceSystem), a platform to be used with Android-based smartglasses such as the Vuzix Blade, designed for extending our mental capabilities. By Cayden Pierce. + +* The [Telescope](https://github.com/alex1115alex/Wearables-Telescope), a Google Glass-inspired project designed to be as compact and cheap as possible by taking advantage of the ESP32's composite video output capabilities. By Alex Israelov. \ No newline at end of file diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/huge_app.csv b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/huge_app.csv new file mode 100644 index 0000000..290a7cc --- /dev/null +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/huge_app.csv @@ -0,0 +1,5 @@ +# Name, Type, SubType, Offset, Size, Flags +nvs, data, nvs, 0x9000, 0x5000, +otadata, data, ota, 0xe000, 0x2000, +app0, app, ota_0, 0x10000, 0x300000, +spiffs, data, spiffs, 0x310000,0xF0000, diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/platformio.ini b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/platformio.ini index d8108a2..fe9b792 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/platformio.ini +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/platformio.ini @@ -13,13 +13,12 @@ platform = espressif32 board = pico32 framework = espidf monitor_speed = 115200 -board_build.partitions = partitions_singleapp_large.csv -;board_build.partitions = min_spiffs.csv -lib_ldf_mode = deep+ +board_build.partitions = huge_app.csv ;;board_build.partitions = partitions_singleapp_large.csv board_build.f_cpu = 240000000L ; upload_port = /dev/ttyUSB0 //do not git commit these lines, everyone's computer USB ports is different ; monitor_port = /dev/ttyUSB0 build_flags = + -Os ; Try removing this line if visual bugs reappear -Wl,-Map,output.map -D LV_CONF_INCLUDE_SIMPLE -I src/display @@ -29,11 +28,4 @@ build_flags = ; -DBOARD_HAS_PSRAM ; -mfix-esp32-psram-cache-issue check_tool = cppcheck, clangtidy -check_skip_packages = true - - -;[env:extra_check_flags] -;platform = espressif32 -;board = tinypico -;check_tool = cppcheck, clangtidy -;check_skip_packages = true \ No newline at end of file +check_skip_packages = true \ No newline at end of file From 4e73b5e7d4947ce75469b93490dca1796e9e6a66 Mon Sep 17 00:00:00 2001 From: cayden Date: Sun, 30 Oct 2022 12:26:03 -0400 Subject: [PATCH 16/35] event distributor working properly now, parseing json of search engine result successfully, optimized memory usage --- .../ossg_firmware_mcu/README.md | 9 ++- .../{message_types.h => message_types.hpp} | 5 ++ .../src/comms/wifi_websocket_comms.cpp | 51 ++++---------- .../src/comms/wifi_websocket_comms.hpp | 3 +- .../ossg_firmware_mcu/src/main.cpp | 67 +++++++++++++++---- .../src/microphones/microphones.cpp | 4 -- .../src/utils/json_parse.cpp | 58 +++++++++++----- .../src/utils/json_parse.hpp | 25 ++++++- 8 files changed, 142 insertions(+), 80 deletions(-) rename electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/include/{message_types.h => message_types.hpp} (97%) diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/README.md b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/README.md index 059ca38..b0290d5 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/README.md +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/README.md @@ -1,10 +1,13 @@ # OSSG Firmware +This firmware serves as as smart glasses thin client for the [Wearable Intelligence System](https://github.com/emexlabs/WearableIntelligenceSystem) (WIS) for smart glasses powered by ESP32. The WIS Android smart phone (ASP) and GNU/Linux Box (GLBOX) servers handle all of the processing, logic, AI, etc., and this firmware sends signals to the WIS and receives UI prompts from the WIS (i.e. a thin client). See the [WIS](https://github.com/emexlabs/WearableIntelligenceSystem) for the ASP + GLBOX, as well as another frontend with the same API but designed for Android-powered smart glasses (ASG). + ## Features * Displays pretty UI over composite video using LovyanGFX + LVGL * Streams recoreded audio to an Android device * Receives JSON commands from an Android device + ## Setup 1. Install VSCODE @@ -28,8 +31,4 @@ If build goes well and then at the very end you get undefined reference to a tas ## History -This project is heavily inspired by the combination of two projects that came before it: - -* The [Wearable Intelligence System](https://github.com/emexlabs/WearableIntelligenceSystem), a platform to be used with Android-based smartglasses such as the Vuzix Blade, designed for extending our mental capabilities. By Cayden Pierce. - -* The [Telescope](https://github.com/alex1115alex/Wearables-Telescope), a Google Glass-inspired project designed to be as compact and cheap as possible by taking advantage of the ESP32's composite video output capabilities. By Alex Israelov. \ No newline at end of file +This project's display solution is heavily inspired by the [Telescope](https://github.com/alex1115alex/Wearables-Telescope), a Google Glass-inspired project designed to be as compact and cheap as possible by taking advantage of the ESP32's composite video output capabilities. By Alex Israelov. \ No newline at end of file diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/include/message_types.h b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/include/message_types.hpp similarity index 97% rename from electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/include/message_types.h rename to electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/include/message_types.hpp index 268a22f..2b7ff4f 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/include/message_types.h +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/include/message_types.hpp @@ -1,3 +1,5 @@ +#pragma once + class MessageTypes { public: //top level @@ -100,6 +102,9 @@ class MessageTypes { const char* SEARCH_ENGINE_QUERY = "SEARCH_ENGINE_QUERY"; const char* SEARCH_ENGINE_RESULT = "SEARCH_ENGINE_RESULT"; const char* SEARCH_ENGINE_RESULT_DATA = "SEARCH_ENGINE_RESULT_DATA"; + const char* SEARCH_ENGINE_RESULT_DATA_TITLE = "title"; + const char* SEARCH_ENGINE_RESULT_DATA_BODY = "body"; + const char* SEARCH_ENGINE_RESULT_DATA_IMAGE = "image"; //I/O const char* SG_TOUCHPAD_EVENT = "SG_TOUCHPAD_EVENT"; diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/comms/wifi_websocket_comms.cpp b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/comms/wifi_websocket_comms.cpp index 0182297..bf46af3 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/comms/wifi_websocket_comms.cpp +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/comms/wifi_websocket_comms.cpp @@ -24,12 +24,13 @@ #include "esp_websocket_client.h" #include "esp_event.h" -// JSON parsing -#include "../utils/json_parse.hpp" - +//actual web socket object esp_websocket_client_handle_t webSocketClient; + +//message buffer to handle receiving payloads to send over buffer MessageBufferHandle_t localWebsocketSendBuffer; size_t localWebsocketSendBufferLen; +MessageBufferHandle_t localEventsBuffer; //wifi vars/constants char WIS_IP[16]; @@ -454,16 +455,16 @@ static void websocket_event_handler(void *handler_args, esp_event_base_t base, i break; case WEBSOCKET_EVENT_DATA: { - ESP_LOGI(TAG, "WEBSOCKET_EVENT_DATA"); - ESP_LOGI(TAG, "Received opcode=%d", data->op_code); - ESP_LOGW(TAG, "Received=%.*s", data->data_len, (char *)data->data_ptr); - ESP_LOGW(TAG, "Total payload length=%d, data_len=%d, current payload offset=%d\r\n", data->payload_len, data->data_len, data->payload_offset); + // ESP_LOGI(TAG, "WEBSOCKET_EVENT_DATA"); + // ESP_LOGI(TAG, "Received opcode=%d", data->op_code); + // ESP_LOGW(TAG, "Received=%.*s", data->data_len, (char *)data->data_ptr); + // ESP_LOGW(TAG, "Total payload length=%d, data_len=%d, current payload offset=%d\r\n", data->payload_len, data->data_len, data->payload_offset); if (data->data_len > 5){ //ignore empty strings and tiny pings int jsonStringLen = (data->data_len)+1; char jsonString[jsonStringLen]; snprintf(jsonString, jsonStringLen, "%s", (char *)data->data_ptr); - ESP_LOGW(TAG, "JSON STRING PREPARSE=%s", jsonString); - parseJson(jsonString); + // ESP_LOGW(TAG, "JSON STRING PREPARSE=%s", jsonString); + size_t tx_bytes = xMessageBufferSend(localEventsBuffer, jsonString, strlen(jsonString)+1, portMAX_DELAY); } break; } @@ -483,14 +484,14 @@ static void reconnect_websocket() // connect the socket again } -#include "../include/message_types.h" +#include "message_types.hpp" void ping_loop_task(void *args) { while (true) { if (check_websocket_connect()) { - MessageTypes mt = MessageTypes(); + //MessageTypes mt = MessageTypes(); char ping[64] = "{\"MESSAGE_TYPE_LOCAL\" : \"ping\"}"; esp_websocket_client_send_text(webSocketClient, ping, strlen(ping), portMAX_DELAY); } @@ -498,10 +499,11 @@ void ping_loop_task(void *args) } } -void websocket_app_start(MessageBufferHandle_t websocketSendBuffer, size_t websocketSendBufferLen) +void websocket_app_start(MessageBufferHandle_t websocketSendBuffer, size_t websocketSendBufferLen, MessageBufferHandle_t eventsBuffer) { localWebsocketSendBuffer = websocketSendBuffer; localWebsocketSendBufferLen = websocketSendBufferLen; + localEventsBuffer = eventsBuffer; esp_websocket_client_config_t websocket_cfg = {}; @@ -524,37 +526,12 @@ void websocket_app_start(MessageBufferHandle_t websocketSendBuffer, size_t webso esp_websocket_client_start(webSocketClient); } -void websocket_receive_loop(void *args){ - // xTimerStart(shutdown_signal_timer, portMAX_DELAY); - char data[32]; - int i = 0; - while (true) - { - // if (esp_websocket_client_is_connected(webSocketClient)) { - // int len = sprintf(data, "hello %04d", i++); - // ESP_LOGI(TAG, "Sending %s of size %d", payload, strlen(payload)); - // esp_websocket_client_send_text(webSocketClient, payload, strlen(payload), portMAX_DELAY); - // } - vTaskDelay(1000 / portTICK_RATE_MS); - } - - xSemaphoreTake(shutdown_sema, portMAX_DELAY); - esp_websocket_client_stop(webSocketClient); - ESP_LOGI(TAG, "Websocket Stopped"); - esp_websocket_client_destroy(webSocketClient); -} - void websocket_send_loop(void *args){ char * stringToSend = (char *)malloc(localWebsocketSendBufferLen); while (true) { int bytes_written = xMessageBufferReceive(localWebsocketSendBuffer, stringToSend, localWebsocketSendBufferLen, portMAX_DELAY); - // ESP_LOGI(TAG, "wsl received bytes_written: %d", bytes_written); - // ESP_LOGI(TAG, "wsl received message: %s", stringToSend); - // ESP_LOGI(TAG, "wsl local len: %d", localWebsocketSendBufferLen); - // ESP_LOGI(TAG, "wsl message: %d", localWebsocketSendBufferLen); - if (bytes_written != 0){ if (check_websocket_connect()) { //ESP_LOGI(TAG, "Sending message of size %d", strlen(stringToSend)); diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/comms/wifi_websocket_comms.hpp b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/comms/wifi_websocket_comms.hpp index 950fb0a..b7d0caa 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/comms/wifi_websocket_comms.hpp +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/comms/wifi_websocket_comms.hpp @@ -7,8 +7,7 @@ extern void tcp_connect_task(); extern void udp_listen_task(); extern void update_ws_ip(); extern void wifi_init_sta(); -extern void websocket_receive_loop(void *args); extern void websocket_send_loop(void *args); extern void ping_loop_task(void *args); extern void websocket_send_text(char * text); -extern void websocket_app_start(MessageBufferHandle_t websocketSendBuffer, size_t websocketSendBufferLen); \ No newline at end of file +extern void websocket_app_start(MessageBufferHandle_t websocketSendBuffer, size_t websocketSendBufferLen, MessageBufferHandle_t eventsBuffer); \ No newline at end of file diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp index c519e4d..ecdfd89 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp @@ -1,5 +1,7 @@ -//Open Source Smart Glasses main firmware -//Authors: Cayden Pierce, Alex Israelov +//Open Source Smart Glasses main firmware - Wearable Intelligence System thin client +//OSSG repo: https://github.com/CaydenPierce/OpenSourceSmartGlasses +//Wearable Intelligence System Repo: https://github.com/emexlabs/WearableIntelligenceSystem +//OSSG firmware authors: Cayden Pierce, Alex Israelov #include "../include/ossg_constants.hpp" #include @@ -17,13 +19,17 @@ //wifi and websocket communications #include "wifi_websocket_comms.hpp" +// JSON parsing +#include "json_parse.hpp" + //audio #include "microphones.hpp" -MessageBufferHandle_t websocketSendBuffer; -const size_t websocketSendBufferLen = (1024 * 4 * sizeof(char *)) + sizeof(size_t); // room for websocket buffer, room for one size_t for MessageBuffer overhead static const char *TAG = "MAIN_OSSG"; +MessageBufferHandle_t websocketSendBuffer; +const size_t websocketSendBufferLen = (1024 * 4 * sizeof(char *)) + sizeof(size_t); // room for websocket buffer, room for one size_t for MessageBuffer overhead + #define MEM_MSG 0 #define ENABLEDISPLAY 0 @@ -35,7 +41,38 @@ static const char *TAG = "MAIN_OSSG"; using std::cout; using std::endl; -void startTheDisplay(); +MessageBufferHandle_t eventsBuffer; +const size_t eventsBufferLen = (1024 * 1 * sizeof(char *)) + sizeof(size_t); // room for events buffer, room for one size_t for MessageBuffer overhead +MessageTypes messageTypesList; +void eventDistributor(void *args){ + messageTypesList = MessageTypes(); + char * jsonString = (char *)malloc(eventsBufferLen); + while (true) + { + int bytes_written = xMessageBufferReceive(eventsBuffer, jsonString, eventsBufferLen, portMAX_DELAY); + + if (bytes_written != 0){ + JsonMessageParser jsonMessageParser = JsonMessageParser(jsonString); + char * messageType = jsonMessageParser.getMessageType(); + ESP_LOGI(TAG, "Message Type is: %s", messageType); + //can't use a switch statement here, so big if-else + if (!strcmp(messageType, messageTypesList.FINAL_TRANSCRIPT)){ + ESP_LOGI(TAG, "GOT FINAL TRANSCRIPT"); + } else if (!strcmp(messageType, messageTypesList.INTERMEDIATE_TRANSCRIPT)){ + ESP_LOGI(TAG, "GOT INTERMEDIATE TRANSCRIPT"); + } else if (!strcmp(messageType, messageTypesList.SEARCH_ENGINE_RESULT)){ + ESP_LOGI(TAG, "GOT SEARCH ENGINE RESULT"); + JsonMessageParser searchEngineResultData = JsonMessageParser(jsonMessageParser.getJsonKey(messageTypesList.SEARCH_ENGINE_RESULT_DATA)); + char * title = searchEngineResultData.getJsonKey(messageTypesList.SEARCH_ENGINE_RESULT_DATA_TITLE); + char * body = searchEngineResultData.getJsonKey(messageTypesList.SEARCH_ENGINE_RESULT_DATA_BODY); + char * image = searchEngineResultData.getJsonKey(messageTypesList.SEARCH_ENGINE_RESULT_DATA_IMAGE); + ESP_LOGI(TAG, "title: %s \n body: %s \n image: %s", title, body, image); + //call display reference card here with title, body, image arguments + } + } + } + free(jsonString); +} void startTheDisplay(){ #if ENABLEDISPLAY @@ -68,33 +105,39 @@ void app_main(void) // create event loop ESP_ERROR_CHECK(esp_event_loop_create_default()); + //start the display startTheDisplay(); // start WIFI wifi_init_sta(); + //setup eventsDistributor and eventsBuffer, which handles incoming data from WIS and calls functions based on what WIS tells us to do + eventsBuffer = xMessageBufferCreate(eventsBufferLen); + TaskHandle_t eventsTask = NULL; + xTaskCreate(eventDistributor, "events_distribution_task", 6*1024, NULL, 1, &eventsTask); + //connect to WIS web socket websocketSendBuffer = xMessageBufferCreate(websocketSendBufferLen); - websocket_app_start(websocketSendBuffer, websocketSendBufferLen); + websocket_app_start(websocketSendBuffer, websocketSendBufferLen, eventsBuffer); //start websocket sending listening loop - TaskHandle_t webSocketSendTask = NULL; //6*4096 - xTaskCreate(websocket_send_loop, "web_socket_send_task", 28*1024, NULL, 1, &webSocketSendTask); + TaskHandle_t webSocketSendTask = NULL; + xTaskCreate(websocket_send_loop, "web_socket_send_task", 6*1024, NULL, 1, &webSocketSendTask); //start websocket pinger TaskHandle_t webSocketPingTask = NULL; - xTaskCreate(ping_loop_task, "ping_loop_task", 4*1024, NULL, 1, &webSocketPingTask); + xTaskCreate(ping_loop_task, "ping_loop_task", 2*1024, NULL, 1, &webSocketPingTask); //audio - setup_audio_buffer(); + setup_audio_buffer(); //must call this before starting the audio tasks //send audio task TaskHandle_t sendAudioTaskHandle = NULL; - xTaskCreate(sendAudioChunk, "send_audio_chunk_task", 28*1024, websocketSendBuffer, 1, &sendAudioTaskHandle); + xTaskCreate(sendAudioChunk, "send_audio_chunk_task", 6*1024, websocketSendBuffer, 1, &sendAudioTaskHandle); //start microphone input AFTER STARTING AUDIO QUEUE TaskHandle_t microphoneTaskHandle = NULL; - xTaskCreate(microphone_stream, "microphone_stream_task", 24*1024, NULL, 1, µphoneTaskHandle); + xTaskCreate(microphone_stream, "microphone_stream_task", 6*1024, NULL, 1, µphoneTaskHandle); #if MEM_MSG cout << "Free heap OGOGOG: "; diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/microphones/microphones.cpp b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/microphones/microphones.cpp index 89e11f7..8c10e86 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/microphones/microphones.cpp +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/microphones/microphones.cpp @@ -187,10 +187,6 @@ void sendAudioChunk(MessageBufferHandle_t websocketSendBuffer) char * jsonAudioPacket = (char *)malloc(jsonLength); snprintf(jsonAudioPacket, jsonLength, audioJsonTemplate, b64EncodedAudio); - // ESP_LOGI(TAG, "mic received bytes_written: %d", bytes_written); - // ESP_LOGI(TAG, "local len: %d", strlen(jsonAudioPacket)); - // ESP_LOGI(TAG, "mic message: %s", jsonAudioPacket); - //send data to be sent down websocket to ASP size_t tx_bytes = xMessageBufferSend(websocketSendBuffer, jsonAudioPacket, strlen(jsonAudioPacket)+1, portMAX_DELAY); free(jsonAudioPacket); diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/utils/json_parse.cpp b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/utils/json_parse.cpp index f516e3c..ae0cd00 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/utils/json_parse.cpp +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/utils/json_parse.cpp @@ -1,10 +1,39 @@ +#include "json_parse.hpp" #include "cJSON.h" #include "esp_log.h" -#include "../include/message_types.h" +#include "message_types.hpp" static const char *TAG = "JSON"; -void makeJson(){ +JsonMessageParser::JsonMessageParser(char * jsonString) { // Constructor + messageTypesList = MessageTypes(); + JsonMessageParser::parseJson(jsonString); + } + +char * JsonMessageParser::getMessageType(){ + //get the type of the message + messageType = getJsonKey(messageTypesList.MESSAGE_TYPE_LOCAL); + + return messageType; +} + +char * JsonMessageParser::getJsonKey(const char * key){ + char * value; + if (cJSON_GetObjectItem(jsonObj, key)) { + value = cJSON_GetObjectItem(jsonObj, key)->valuestring; + } else { + value = (char *)"fuck"; + } + return value; +} + +// JsonMessageParser::~JsonMessageParser() { // Deconstructor +// //delete json object +// cJSON_Delete(jsonObj); +// } + +//tester to make json object from scratch, not yet used +void JsonMessageParser::makeJson(){ cJSON *root = cJSON_CreateObject(); cJSON_AddStringToObject(root, "version", IDF_VER); cJSON_AddStringToObject(root, "cores", "test_core_num"); @@ -13,25 +42,18 @@ void makeJson(){ //const char *my_json_string = cJSON_Print(root); char *my_json_string = cJSON_Print(root); - ESP_LOGI(TAG, "my_json_string\n%s",my_json_string); + //ESP_LOGI(TAG, "my_json_string\n%s",my_json_string); cJSON_Delete(root); } -void parseJson(char * jsonString){ - MessageTypes myMessageTypes = MessageTypes(); - cJSON *jsonObj = cJSON_Parse(jsonString); +//take a string, parse as json, pull out the message type, which all message should have +void JsonMessageParser::parseJson(char * jsonString){ + //deserialize + jsonObj = cJSON_Parse(jsonString); - char *parsedJsonString = cJSON_Print(jsonObj); - ESP_LOGI(TAG, "Parsed JSON string: %s", parsedJsonString); - - if (cJSON_GetObjectItem(jsonObj, myMessageTypes.MESSAGE_TYPE_LOCAL)) { - char *message_type = cJSON_GetObjectItem(jsonObj, myMessageTypes.MESSAGE_TYPE_LOCAL)->valuestring; - } + // char *parsedJsonString = cJSON_Print(jsonObj); + // ESP_LOGI(TAG, "Parsed JSON string: %s", parsedJsonString); - //clean up - //delete json object - cJSON_Delete(jsonObj); - // Buffers returned by cJSON_Print must be freed by the caller. - // Please use the proper API (cJSON_free) rather than directly calling stdlib free. - cJSON_free(parsedJsonString); + //clean up + // cJSON_free(parsedJsonString); // Buffers returned by cJSON_Print must be freed by the caller. } \ No newline at end of file diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/utils/json_parse.hpp b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/utils/json_parse.hpp index 132c3c5..bdd81b2 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/utils/json_parse.hpp +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/utils/json_parse.hpp @@ -1,2 +1,23 @@ -extern void makeJson(); -extern void parseJson(char * jsonString); \ No newline at end of file +#ifndef JsonMessageParser_H +#define JsonMessageParser_H +#include "cJSON.h" +#include "message_types.hpp" + +class JsonMessageParser +{ + char * messageType; + cJSON *jsonObj; + + public: + MessageTypes messageTypesList; + JsonMessageParser(char * jsonString); + char * getMessageType(); + char * getJsonKey(const char * key); + // ~JsonMessageParser(); + + private: + void makeJson(); + void parseJson(char * jsonString); +}; + +#endif \ No newline at end of file From 9bd7baaabad94f85eb33a73dea2f471ecf19d8e2 Mon Sep 17 00:00:00 2001 From: Alex Israelov Date: Sun, 30 Oct 2022 23:34:51 -0600 Subject: [PATCH 17/35] * Displays text-based search engine results * Automatic screen shutoff system added --- .../src/display/displaymanager.cpp | 85 +++++++++++++++---- .../src/display/displaymanager.hpp | 3 +- .../ossg_firmware_mcu/src/display/gui/ui.c | 2 +- .../ossg_firmware_mcu/src/display/gui/ui.h | 9 +- .../src/display/gui/ui_ext.cpp | 8 ++ .../src/display/gui/ui_ext.hpp | 3 + .../ossg_firmware_mcu/src/main.cpp | 9 +- 7 files changed, 90 insertions(+), 29 deletions(-) create mode 100644 electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/gui/ui_ext.cpp create mode 100644 electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/gui/ui_ext.hpp diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/displaymanager.cpp b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/displaymanager.cpp index 271b310..76d4db5 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/displaymanager.cpp +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/displaymanager.cpp @@ -22,15 +22,20 @@ using namespace std; #include #include "user_setting.hpp" #include "helper_display.hpp" -#include +#include #define LOVYAN_USE_CORE_NUM 1 static const char *TAG = "lvgl_gui"; -#define ENABLE_TEST_TIMER // Enable/Disable TIMER used for auto-shutoff -#ifdef ENABLE_TEST_TIMER - static void once_timer_callback(void* arg); -#endif +//esp_timer_handle_t screenTimer; +static void screenTimerCallback(void* arg); +esp_timer_handle_t screenTimer; +esp_timer_create_args_t screenTimerArgs = { + .callback = &screenTimerCallback, + /* argument specified here will be passed to timer callback function */ + //.arg = (void*) periodic_timer, + .name = "one-shot" +}; // Set everything up void displayStart(){ @@ -47,25 +52,46 @@ void displayStart(){ // Function generated by squareline studio to register all its ui components ui_init_custom(); + + esp_timer_create(&screenTimerArgs, &screenTimer); } +/* + SCREEN ON / OFF FUNCTIONS +*/ + //Wipe everything from screen void displayClear(){ lvgl_acquire(); - lv_refr_now(lv_disp_get_default()); + //lv_refr_now(lv_disp_get_default()); + lv_obj_clean(lv_scr_act()); + lcd.setBrightness(0); lvgl_release(); } +void screenTimerCallback(void* arg){ + displayClear(); +} + +// Call this when turning on or updating the screen +// (updates the screen shutoff timer) +void updateActivity(int timeoutSeconds = 5){ + lcd.setBrightness(128); + + uint64_t timeoutMicroSeconds = timeoutSeconds * 1000000; + esp_timer_stop(screenTimer); //make sure it's not running anymore + esp_timer_start_once(screenTimer, timeoutMicroSeconds); +} + +/* + HELPER FUNCTIONS TO DISPLAY VARIOUS SCREENS +*/ + // To be called when the wake word is detected (or maybe on button press) void displayEnterVoiceCommandStep1(){ lvgl_acquire(); lv_scr_load(ui_Enter_Voice_Command); lvgl_release(); - - - cout << "Free heap AFTER VOICECMD1: "; - cout << heap_caps_get_free_size(MALLOC_CAP_8BIT) << endl; - } void displayEnterVoiceCommandStep2(){ @@ -81,8 +107,37 @@ void displayEnterVoiceCommandStep3(char* command, char* soFar){ lvgl_release(); } -void displayCardSearchTextonlyDemo(){ - lvgl_acquire(); - lv_scr_load(ui_Card_Search_Textonly); - lvgl_release(); +void displaySearchEngineResult(char* title, char* body, char* image){ + updateActivity(16); //16 seconds + + lvgl_acquire(); + + image = nullptr; //TODO: finish/remove this image thing + if(image != nullptr) + { + //TODO: Load Card Hor or Vert depending on image resolution + if(true) //horizontal + { + lv_label_set_text(ui_Label6, title); + lv_label_set_text(ui_Label7, body); + //TODO: set image + lv_scr_load(ui_Card_Search_Hor); + } + else + { + //lv_obj_get_child(cui_, 0) + lv_label_set_text(ui_Title, title); + lv_label_set_text(ui_Content, body); + //TODO: set image + lv_scr_load(ui_Card_Search_Ver); + } + } + else + { + lv_label_set_text(ui_Card_Title_Text1, title); + lv_label_set_text(ui_CardSearchTextonlyContent, body); + lv_scr_load(ui_Card_Search_Textonly); + } + + lvgl_release(); } \ No newline at end of file diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/displaymanager.hpp b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/displaymanager.hpp index 38777c6..f691d62 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/displaymanager.hpp +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/displaymanager.hpp @@ -5,8 +5,9 @@ //using std::string; extern void displayStart(); extern void displayClear(); +extern void updateActivity(int seconds = 5); extern void displayEnterVoiceCommandStep1(); extern void displayEnterVoiceCommandStep2(); extern void displayEnterVoiceCommandStep3(char* command, char* soFar); //extern void displayEnterVoiceCommandStep3(string command, string soFar); -extern void displayCardSearchTextonlyDemo(); \ No newline at end of file +extern void displaySearchEngineResult(char* title, char* body, char* image); \ No newline at end of file diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/gui/ui.c b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/gui/ui.c index 2a94f2a..b4c0bcd 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/gui/ui.c +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/gui/ui.c @@ -825,7 +825,7 @@ void ui_Card_Search_Ver_screen_init(void) } -void ui_init_custom(void) +void ui_init(void) { LV_EVENT_GET_COMP_CHILD = lv_event_register_id(); diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/gui/ui.h b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/gui/ui.h index 6b85207..ce64ab8 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/gui/ui.h +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/gui/ui.h @@ -102,14 +102,7 @@ extern lv_obj_t * ui_ContainerBelowHeader5; extern lv_obj_t * ui_Content; extern lv_obj_t * ui_Title; - -//LV_IMG_DECLARE(ui_img_matt_shades_png); // assets/matt shades.png -//LV_IMG_DECLARE(ui_img_test_png); // assets/test.png - - - - -void ui_init_custom(void); +void ui_init(void); #ifdef __cplusplus } /*extern "C"*/ diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/gui/ui_ext.cpp b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/gui/ui_ext.cpp new file mode 100644 index 0000000..614cfdb --- /dev/null +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/gui/ui_ext.cpp @@ -0,0 +1,8 @@ +#include "ui_ext.hpp" + +//Call this instead of ui_init +void ui_init_custom(void) +{ + ui_init(); + //Custom code here +} \ No newline at end of file diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/gui/ui_ext.hpp b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/gui/ui_ext.hpp new file mode 100644 index 0000000..9c24fc2 --- /dev/null +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/gui/ui_ext.hpp @@ -0,0 +1,3 @@ +#include "ui.h" + +void ui_init_custom(void); \ No newline at end of file diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp index ecdfd89..ec3c62b 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp @@ -32,7 +32,8 @@ const size_t websocketSendBufferLen = (1024 * 4 * sizeof(char *)) + sizeof(size_ #define MEM_MSG 0 -#define ENABLEDISPLAY 0 +#define ENABLEDISPLAY 1 + #if ENABLEDISPLAY #include "displaymanager.hpp" #endif @@ -68,6 +69,7 @@ void eventDistributor(void *args){ char * image = searchEngineResultData.getJsonKey(messageTypesList.SEARCH_ENGINE_RESULT_DATA_IMAGE); ESP_LOGI(TAG, "title: %s \n body: %s \n image: %s", title, body, image); //call display reference card here with title, body, image arguments + displaySearchEngineResult(title, body, image); } } } @@ -77,7 +79,6 @@ void eventDistributor(void *args){ void startTheDisplay(){ #if ENABLEDISPLAY displayStart(); - displayCardSearchTextonlyDemo(); displayEnterVoiceCommandStep2(); #endif } @@ -110,7 +111,7 @@ void app_main(void) // start WIFI wifi_init_sta(); - + //setup eventsDistributor and eventsBuffer, which handles incoming data from WIS and calls functions based on what WIS tells us to do eventsBuffer = xMessageBufferCreate(eventsBufferLen); TaskHandle_t eventsTask = NULL; @@ -119,7 +120,7 @@ void app_main(void) //connect to WIS web socket websocketSendBuffer = xMessageBufferCreate(websocketSendBufferLen); websocket_app_start(websocketSendBuffer, websocketSendBufferLen, eventsBuffer); - + //start websocket sending listening loop TaskHandle_t webSocketSendTask = NULL; xTaskCreate(websocket_send_loop, "web_socket_send_task", 6*1024, NULL, 1, &webSocketSendTask); From baeced4961c5f8bd360a0677605f6b1bc43a7f62 Mon Sep 17 00:00:00 2001 From: Alex Israelov Date: Mon, 31 Oct 2022 00:31:34 -0600 Subject: [PATCH 18/35] Fix crash --- .../ossg_firmware_mcu/src/display/displaymanager.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/displaymanager.cpp b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/displaymanager.cpp index 76d4db5..91a2534 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/displaymanager.cpp +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/displaymanager.cpp @@ -37,6 +37,8 @@ esp_timer_create_args_t screenTimerArgs = { .name = "one-shot" }; +lv_obj_t* blankScreen; + // Set everything up void displayStart(){ cout << "DISPLAY START TRIGGERED" << endl; @@ -50,6 +52,8 @@ void displayStart(){ ESP_LOGE(TAG, "LVGL setup failed!!!"); } + blankScreen = lv_obj_create(NULL); + // Function generated by squareline studio to register all its ui components ui_init_custom(); @@ -63,8 +67,8 @@ void displayStart(){ //Wipe everything from screen void displayClear(){ lvgl_acquire(); - //lv_refr_now(lv_disp_get_default()); - lv_obj_clean(lv_scr_act()); + lv_obj_t * currentScreen = lv_scr_act(); + lv_scr_load(blankScreen); lcd.setBrightness(0); lvgl_release(); } From 7be8ac5aead8742b82c03d4008f4f7c14088cdaa Mon Sep 17 00:00:00 2001 From: Alex Israelov Date: Thu, 17 Nov 2022 19:29:16 -0700 Subject: [PATCH 19/35] Switched to I2s mic + added log statements for xTaskCreate calls in main --- .../ossg_firmware_mcu/src/display/lv_conf.h | 4 +- .../ossg_firmware_mcu/src/main.cpp | 36 +++++++--- .../src/microphones/microphones.cpp | 71 ++++++++++++------- 3 files changed, 74 insertions(+), 37 deletions(-) diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/lv_conf.h b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/lv_conf.h index 603e5b0..9587dff 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/lv_conf.h +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/lv_conf.h @@ -275,14 +275,14 @@ *-----------*/ /*1: Show CPU usage and FPS count*/ -#define LV_USE_PERF_MONITOR 0 +#define LV_USE_PERF_MONITOR 1 #if LV_USE_PERF_MONITOR #define LV_USE_PERF_MONITOR_POS LV_ALIGN_BOTTOM_RIGHT #endif /*1: Show the used memory and the memory fragmentation * Requires LV_MEM_CUSTOM = 0*/ -#define LV_USE_MEM_MONITOR 0 +#define LV_USE_MEM_MONITOR 1 #if LV_USE_MEM_MONITOR #define LV_USE_MEM_MONITOR_POS LV_ALIGN_BOTTOM_LEFT #endif diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp index ec3c62b..d6b2c49 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp @@ -42,6 +42,15 @@ const size_t websocketSendBufferLen = (1024 * 4 * sizeof(char *)) + sizeof(size_ using std::cout; using std::endl; +void printPerfInfo(){ + printf( "Task Name\tStatus\tPrio\tHWM\tTask\tAffinity\n"); + char stats_buffer[1024]; + vTaskList(stats_buffer); + printf("%s\n", stats_buffer); + + printf("Free Heap Size: %d", xPortGetFreeHeapSize()); +} + MessageBufferHandle_t eventsBuffer; const size_t eventsBufferLen = (1024 * 1 * sizeof(char *)) + sizeof(size_t); // room for events buffer, room for one size_t for MessageBuffer overhead MessageTypes messageTypesList; @@ -50,6 +59,8 @@ void eventDistributor(void *args){ char * jsonString = (char *)malloc(eventsBufferLen); while (true) { + vTaskDelay(pdMS_TO_TICKS(1000)); + int bytes_written = xMessageBufferReceive(eventsBuffer, jsonString, eventsBufferLen, portMAX_DELAY); if (bytes_written != 0){ @@ -70,6 +81,8 @@ void eventDistributor(void *args){ ESP_LOGI(TAG, "title: %s \n body: %s \n image: %s", title, body, image); //call display reference card here with title, body, image arguments displaySearchEngineResult(title, body, image); + + printPerfInfo(); } } } @@ -123,27 +136,30 @@ void app_main(void) //start websocket sending listening loop TaskHandle_t webSocketSendTask = NULL; - xTaskCreate(websocket_send_loop, "web_socket_send_task", 6*1024, NULL, 1, &webSocketSendTask); + if(BaseType_t retr = xTaskCreate(websocket_send_loop, "web_socket_send_task", 6*1024, NULL, 1, &webSocketSendTask) != pdPASS) + ESP_LOGI(TAG, "Create Task websocket_send_loop failed, ERR: %d", retr); + else ESP_LOGI(TAG, "Create Task websocket_send_loop SUCCESS, RES: %d", retr); //start websocket pinger TaskHandle_t webSocketPingTask = NULL; - xTaskCreate(ping_loop_task, "ping_loop_task", 2*1024, NULL, 1, &webSocketPingTask); + if(BaseType_t retr = xTaskCreate(ping_loop_task, "ping_loop_task", 2*1024, NULL, 1, &webSocketPingTask) != pdPASS) + ESP_LOGI(TAG, "Create Task ping_loop_task failed, ERR: %d", retr); + else ESP_LOGI(TAG, "Create Task ping_loop_task SUCCESS, RES: %d", retr); //audio setup_audio_buffer(); //must call this before starting the audio tasks - + //send audio task TaskHandle_t sendAudioTaskHandle = NULL; - xTaskCreate(sendAudioChunk, "send_audio_chunk_task", 6*1024, websocketSendBuffer, 1, &sendAudioTaskHandle); + if(BaseType_t retr = xTaskCreate(sendAudioChunk, "send_audio_chunk_task", 6*1024, websocketSendBuffer, 25, &sendAudioTaskHandle) != pdPASS) + ESP_LOGI(TAG, "Create Task sendAudioChunk failed, ERR: %d\nFree Heap Size: %d, WANTED TO ALLOCATE %d", retr,heap_caps_get_largest_free_block(MALLOC_CAP_8BIT), 6*1024); + else ESP_LOGI(TAG, "Create Task sendAudioChunk SUCCESS, RES: %d", retr); //start microphone input AFTER STARTING AUDIO QUEUE TaskHandle_t microphoneTaskHandle = NULL; - xTaskCreate(microphone_stream, "microphone_stream_task", 6*1024, NULL, 1, µphoneTaskHandle); - -#if MEM_MSG - cout << "Free heap OGOGOG: "; - cout << heap_caps_get_free_size(MALLOC_CAP_8BIT) << endl; -#endif + if(BaseType_t retr = xTaskCreate(microphone_stream, "microphone_stream_task", 6*1024, NULL, 25, µphoneTaskHandle) != pdPASS) + ESP_LOGI(TAG, "Create Task microphone_stream failed, ERR: %d\nFree Heap Size: %d, WANTED TO ALLOCATE %d", retr,heap_caps_get_largest_free_block(MALLOC_CAP_8BIT), 6*1024); + else ESP_LOGI(TAG, "Create Task microphone_stream SUCCESS, RES: %d", retr); return; } \ No newline at end of file diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/microphones/microphones.cpp b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/microphones/microphones.cpp index 8c10e86..a442931 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/microphones/microphones.cpp +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/microphones/microphones.cpp @@ -25,7 +25,7 @@ static const char *TAG = "MICROPHONES_OSSG"; // place to pass audio around and save it MessageBufferHandle_t audioMessageBuffer; -const size_t AUDIO_BUFFER_SIZE = 1024;// number of samples, each sample uint16_t +const size_t AUDIO_BUFFER_SIZE = 1024; // number of samples, each sample uint16_t const size_t audioMessageBufferLen = (AUDIO_BUFFER_SIZE * sizeof(uint16_t)) + sizeof(size_t); // room for websocket buffer, room for one size_t for MessageBuffer overhead static const char *audioJsonTemplate = "{\"MESSAGE_TYPE_LOCAL\" : \"AUDIO_CHUNK_DECRYPTED\", \"AUDIO_DATA\" : \"%s\"}"; @@ -39,9 +39,13 @@ static const char *audioJsonTemplate = "{\"MESSAGE_TYPE_LOCAL\" : \"AUDIO_CHUNK_ #define I2S_PIN_DATA_OUT I2S_PIN_NO_CHANGE // not used #define I2S_PIN_DATA_IN 32 // OSSG_v0.3 built-in mic DATA_OUT +#define I2S_MIC_SERIAL_CLOCK 22 // slk +#define I2S_MIC_LEFT_RIGHT_CLOCK 33 // ws +#define I2S_MIC_SERIAL_DATA 32 // sd + // I2S CONFIG PARAMS #define SAMPLE_RATE 16000 -const i2s_port_t I2S_PORT = I2S_NUM_0; +const i2s_port_t I2S_PORT = I2S_NUM_1; long total_read = 0; /**************** Audio QUEUE HANDLER ***********************/ @@ -54,13 +58,13 @@ int packet_count = 0; bool I2S_Init() { - // pdm config for reading from left channel of PDM + // i2s mic setup i2s_config_t i2s_config = { - .mode = (i2s_mode_t)(I2S_MODE_MASTER | I2S_MODE_RX | I2S_MODE_PDM), - .sample_rate = 16000, + .mode = (i2s_mode_t)(I2S_MODE_MASTER | I2S_MODE_RX), + .sample_rate = SAMPLE_RATE, .bits_per_sample = I2S_BITS_PER_SAMPLE_32BIT, .channel_format = I2S_CHANNEL_FMT_ONLY_LEFT, - .communication_format = I2S_COMM_FORMAT_STAND_PCM_SHORT, + .communication_format = I2S_COMM_FORMAT_I2S, .intr_alloc_flags = ESP_INTR_FLAG_LEVEL1, .dma_buf_count = 4, .dma_buf_len = 1024, @@ -68,24 +72,26 @@ bool I2S_Init() .tx_desc_auto_clear = false, .fixed_mclk = 0}; - i2s_pin_config_t pins = { - .bck_io_num = I2S_PIN_BIT_CLOCK, - .ws_io_num = I2S_PIN_WORD_SELECT, - .data_out_num = I2S_PIN_DATA_OUT, - .data_in_num = I2S_PIN_DATA_IN}; + i2s_pin_config_t i2s_mic_pins = { + .bck_io_num = I2S_MIC_SERIAL_CLOCK, + .ws_io_num = I2S_MIC_LEFT_RIGHT_CLOCK, + .data_out_num = I2S_PIN_NO_CHANGE, + .data_in_num = I2S_MIC_SERIAL_DATA}; - if (i2s_driver_install(I2S_CHANNEL, &i2s_config, 0, NULL) != ESP_OK) + + if (i2s_driver_install(I2S_NUM_1, &i2s_config, 0, NULL) != ESP_OK) { - // Serial.println("i2s_driver_install() error"); + ESP_LOGI(TAG, "i2s_driver_install() error"); return false; } - if (i2s_set_pin(I2S_NUM_0, &pins) != ESP_OK) + if (i2s_set_pin(I2S_NUM_1, &i2s_mic_pins) != ESP_OK) { - // Serial.println("i2s_set_pin() error"); + ESP_LOGI(TAG, "i2s_set_pin() error"); return false; - } + }; + ESP_LOGI(TAG, "I2S_INIT() IS GOOD!"); return true; } @@ -118,16 +124,22 @@ int i2s_read_custom(int16_t *samples, int count) return sample_index; } -void setup_audio_buffer(){ - //initialize audio message buffer - audioMessageBuffer = xMessageBufferCreate(audioMessageBufferLen * 4); //hold n message at once, where n is the constant multiplier +void setup_audio_buffer() +{ + // initialize audio message buffer + audioMessageBuffer = xMessageBufferCreate(audioMessageBufferLen * 4); // hold n message at once, where n is the constant multiplier } void microphone_stream(void *args) { + // printf("REC INIT\n"); + ESP_LOGI(TAG, "REC INIT"); // Initialize I2S I2S_Init(); + // printf("REC POST INIT\n"); + ESP_LOGI(TAG, "REC INIT (POST)"); + // count how many bytes we read from I2S uint32_t bytes_read; @@ -135,12 +147,19 @@ void microphone_stream(void *args) // uint8_t* buf = (uint8_t*)malloc(AUDIO_BUFFER_SIZE); int16_t *buf = (int16_t *)malloc(sizeof(uint16_t) * AUDIO_BUFFER_SIZE); + ESP_LOGI(TAG, "AUD BUF HAS BEEN SET"); + while (true) { // Read data from microphone int samples_read = i2s_read_custom(buf, AUDIO_BUFFER_SIZE); int bytes_read = samples_read * sizeof(uint16_t); + ESP_LOGI(TAG, "after i2s read custom"); + + printf("Val1: %u \n", (uint8_t)(buf[0])); + printf("Val2: %u \n", (uint8_t)(buf[1])); + lastTickTimeProc = xTaskGetTickCount(); if (samples_read != AUDIO_BUFFER_SIZE) @@ -163,13 +182,14 @@ void microphone_stream(void *args) // loop on receiving the latest audio chunk from the microphone and sending it to the WIS smart phone or cloud server void sendAudioChunk(MessageBufferHandle_t websocketSendBuffer) { + ESP_LOGI(TAG, "SENDAUDIOCHUNK INIT"); audioSubscribed = true; while (true) { uint8_t *audioChunk = (uint8_t *)malloc(audioMessageBufferLen); int bytes_written = xMessageBufferReceive(audioMessageBuffer, audioChunk, audioMessageBufferLen, portMAX_DELAY); lastTickTimeSend = xTaskGetTickCount(); - + if (bytes_written != 0) { if (audioSubscribed) @@ -183,15 +203,16 @@ void sendAudioChunk(MessageBufferHandle_t websocketSendBuffer) if (b64res == 0) { int jsonLength = b64EncodedAudioBufferLen + 256; // plus a bit for JSON extra info - //char jsonAudioPacket[jsonLength]; - char * jsonAudioPacket = (char *)malloc(jsonLength); + // char jsonAudioPacket[jsonLength]; + char *jsonAudioPacket = (char *)malloc(jsonLength); snprintf(jsonAudioPacket, jsonLength, audioJsonTemplate, b64EncodedAudio); - //send data to be sent down websocket to ASP - size_t tx_bytes = xMessageBufferSend(websocketSendBuffer, jsonAudioPacket, strlen(jsonAudioPacket)+1, portMAX_DELAY); + // send data to be sent down websocket to ASP + size_t tx_bytes = xMessageBufferSend(websocketSendBuffer, jsonAudioPacket, strlen(jsonAudioPacket) + 1, portMAX_DELAY); free(jsonAudioPacket); } - else { + else + { ESP_LOGE(TAG, "Base 64 encoding failed."); free(b64EncodedAudio); continue; From 6ccc0d27da4937da32228153ed1486b40db6bafb Mon Sep 17 00:00:00 2001 From: Alex Israelov Date: Fri, 18 Nov 2022 18:02:02 -0700 Subject: [PATCH 20/35] FAQ revision 1 --- .../ossg_firmware_mcu/faq.md | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/faq.md diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/faq.md b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/faq.md new file mode 100644 index 0000000..1631065 --- /dev/null +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/faq.md @@ -0,0 +1,32 @@ +# Info // FaQ // QnA // Common questions // whatever + +**WARNING: Pretty much everything here is subject to change** + +## What is the current hardware setup? + +* ESP32-PICO-D4 with 4mb spiram (I use a TinyPico for development) +* display module with CVBS driver board +* I2s microphone +* Android phone running the WearableIntelligenceSystem app + +## What display is (currently) being used + +We are using the SONY ECX336C + CVBS driver board + (what our supplier calls the) "freeform optics". + +Some suppliers refer to it as the "OL23C" display module. + +#### How can I get one? + +You can find them on Alibaba, however, ordering this way tends to be pretty expensive. You may have to message the seller for single unit pricing. We're getting them cheaper @ ~$170/singleUnit directly from a supplier, and will consider doing a bulk order (even cheaper) if enough people are interested. + +NOTE: The freeform optics are only compatible with the ECX336C/OL23C and NOT the older ECX336A/OL23A display module. If you intend on buying the display and freeform optics separately (if that's even possible), make sure you buy the correct display. As far as I know, the only other difference is that the ECX336C/OL23C outputs to a max brightness of 3000cd/m2, while the ECX336A/OL23A only outputs to a max brightness of 800cd/m2. + +#### How is the display attached to the optics? + +The display + freeform optics come glued together. + +## I'd love to contribute to the OSSG firmware, but can't dump hundreds on display hardware! What alternatives exist? + +* If you still want a display, I'd recommend the SON-FL08 module. These are ~$60 and come with a CVBS driver board and a magnifier. You will need to source your own prism (~$10). For an example of it in action (and links to buy), check out my [Telescope](https://github.com/alex1115alex/wearables-telescope) project. + +* If you don't care about the display and just want to contribute while spending the least money, get a Composite-To-USB capture card from Amazon/etc for ~$10. More information about using this in the Telescope readme. \ No newline at end of file From 35adc8c5628e9afda5f9283627b248527f5a4c83 Mon Sep 17 00:00:00 2001 From: Alex Israelov Date: Mon, 21 Nov 2022 19:52:07 -0700 Subject: [PATCH 21/35] Update faq.md --- .../esp32_firmware_v0p3/ossg_firmware_mcu/faq.md | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/faq.md b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/faq.md index 1631065..55c3b3e 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/faq.md +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/faq.md @@ -2,6 +2,10 @@ **WARNING: Pretty much everything here is subject to change** +## What is the current status of the project? + +Here is a link to our todo list / roadmap: (to be inserted) + ## What is the current hardware setup? * ESP32-PICO-D4 with 4mb spiram (I use a TinyPico for development) @@ -9,6 +13,10 @@ * I2s microphone * Android phone running the WearableIntelligenceSystem app +#### Why an ESP32, and not an Android-based SoC (or other applications processor)? + +Size, power consumption, availability, cost, etc are all issues that come with application processors, when all we really need from a client (the glasses) is a display, microphone, and wireless communication with the head unit (Android device). + ## What display is (currently) being used We are using the SONY ECX336C + CVBS driver board + (what our supplier calls the) "freeform optics". @@ -29,4 +37,8 @@ The display + freeform optics come glued together. * If you still want a display, I'd recommend the SON-FL08 module. These are ~$60 and come with a CVBS driver board and a magnifier. You will need to source your own prism (~$10). For an example of it in action (and links to buy), check out my [Telescope](https://github.com/alex1115alex/wearables-telescope) project. -* If you don't care about the display and just want to contribute while spending the least money, get a Composite-To-USB capture card from Amazon/etc for ~$10. More information about using this in the Telescope readme. \ No newline at end of file +* If you don't care about the display and just want to contribute while spending the least money, get a Composite-To-USB capture card from Amazon/etc for ~$10. More information about using this in the Telescope readme. + +## Is the “v1” release going to be self-built, or will it come pre-assembled? + +As an open source project, you will always be able to build your own OSSG unit. Also, Cayden's company is selling prebuilt units, right now beta units, to help fund the project. You can sign up here: https://us9.list-manage.com/survey?u=18bb4d67053a9c3e4de35fe89&id=586a36974c From 1d9b3a05df51827fc3a22acfddccc0f0427ba3cf Mon Sep 17 00:00:00 2001 From: Alex Israelov Date: Mon, 21 Nov 2022 20:08:15 -0700 Subject: [PATCH 22/35] Update faq.md --- .../esp32_firmware_v0p3/ossg_firmware_mcu/faq.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/faq.md b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/faq.md index 55c3b3e..4bc16b5 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/faq.md +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/faq.md @@ -35,7 +35,7 @@ The display + freeform optics come glued together. ## I'd love to contribute to the OSSG firmware, but can't dump hundreds on display hardware! What alternatives exist? -* If you still want a display, I'd recommend the SON-FL08 module. These are ~$60 and come with a CVBS driver board and a magnifier. You will need to source your own prism (~$10). For an example of it in action (and links to buy), check out my [Telescope](https://github.com/alex1115alex/wearables-telescope) project. +* If you still want a display, I'd recommend the SON-FL08 module. These are about $60 and come with a CVBS driver board and a magnifier. You will need to source your own prism (about $10). For an example of it in action (and links to buy), check out my [Telescope](https://github.com/alex1115alex/wearables-telescope) project. * If you don't care about the display and just want to contribute while spending the least money, get a Composite-To-USB capture card from Amazon/etc for ~$10. More information about using this in the Telescope readme. From 8ca89815a063684c597c278cb115a40fe1514411 Mon Sep 17 00:00:00 2001 From: Alex Israelov Date: Tue, 22 Nov 2022 01:58:54 -0700 Subject: [PATCH 23/35] Display + Mic sort of works. Works great until around 10 words have been transcribed. Then crashes. --- .../ossg_firmware_mcu/sdkconfig.defaults | 10 ++-- .../src/display/user_setting.hpp | 2 +- .../ossg_firmware_mcu/src/main.cpp | 51 ++++++++++++------- 3 files changed, 38 insertions(+), 25 deletions(-) diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/sdkconfig.defaults b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/sdkconfig.defaults index f51fb8d..a811ea9 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/sdkconfig.defaults +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/sdkconfig.defaults @@ -242,7 +242,7 @@ CONFIG_SPI_SLAVE_ISR_IN_IRAM=y # GDMA Configuration # # CONFIG_GDMA_CTRL_FUNC_IN_IRAM is not set -# CONFIG_GDMA_ISR_IRAM_SAFE is not set +CONFIG_GDMA_ISR_IRAM_SAFE=y # end of GDMA Configuration # end of Driver configurations @@ -304,8 +304,8 @@ CONFIG_SPIRAM_MEMTEST=y CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL=16384 CONFIG_SPIRAM_TRY_ALLOCATE_WIFI_LWIP=y CONFIG_SPIRAM_MALLOC_RESERVE_INTERNAL=32768 -# CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY is not set -# CONFIG_SPIRAM_ALLOW_NOINIT_SEG_EXTERNAL_MEMORY is not set +CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY=y +CONFIG_SPIRAM_ALLOW_NOINIT_SEG_EXTERNAL_MEMORY=y CONFIG_SPIRAM_CACHE_WORKAROUND=y # @@ -748,8 +748,8 @@ 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_USE_TRACE_FACILITY=y +CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS=y CONFIG_FREERTOS_TASK_FUNCTION_WRAPPER=y CONFIG_FREERTOS_CHECK_MUTEX_GIVEN_BY_OWNER=y # CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE is not set diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/user_setting.hpp b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/user_setting.hpp index 76d3bb5..f808ab6 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/user_setting.hpp +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/user_setting.hpp @@ -69,7 +69,7 @@ class LGFX : public lgfx::LGFX_Device cfg.pin_dac = 25; // DACを使用するため、 25 または 26 のみが選択できます; // Setting PSRAM Memory Allocation; - cfg.use_psram = 1; // 0=no PSRAM used / 1=half PSRAM and half SRAM / 2=full PSRAM; + cfg.use_psram = 2; // 0=no PSRAM used / 1=half PSRAM and half SRAM / 2=full PSRAM; // Sets the amplitude strength of the output signal; cfg.output_level = 128; // Initial value 128 diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp index d6b2c49..1cef3d6 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp @@ -42,13 +42,19 @@ const size_t websocketSendBufferLen = (1024 * 4 * sizeof(char *)) + sizeof(size_ using std::cout; using std::endl; -void printPerfInfo(){ - printf( "Task Name\tStatus\tPrio\tHWM\tTask\tAffinity\n"); - char stats_buffer[1024]; - vTaskList(stats_buffer); - printf("%s\n", stats_buffer); +void printPerfInfo(bool justHeap = false){ + if(!justHeap){ + printf( "Task Name\tStatus\tPrio\tHWM\tTask\tAffinity\n"); + char stats_buffer[1024]; + vTaskList(stats_buffer); + printf("%s\n", stats_buffer); + int dog = heap_caps_get_largest_free_block(MALLOC_CAP_8BIT); + printf("===========\nLargest free block: %d\nMin free heap: %d\n===========", dog, esp_get_minimum_free_heap_size()); + } - printf("Free Heap Size: %d", xPortGetFreeHeapSize()); + ESP_LOGI(TAG, "INTERNAL heap_caps_get_free_size: %d\n", heap_caps_get_free_size(MALLOC_CAP_8BIT | MALLOC_CAP_INTERNAL)); + ESP_LOGI(TAG, "INTERNAL heap_caps_get_minimum_free_size: %d\n", heap_caps_get_minimum_free_size(MALLOC_CAP_8BIT | MALLOC_CAP_INTERNAL)); + ESP_LOGI(TAG, "INTERNAL heap_caps_get_largest_free_block: %d\n", heap_caps_get_largest_free_block(MALLOC_CAP_8BIT | MALLOC_CAP_INTERNAL)); } MessageBufferHandle_t eventsBuffer; @@ -136,30 +142,37 @@ void app_main(void) //start websocket sending listening loop TaskHandle_t webSocketSendTask = NULL; - if(BaseType_t retr = xTaskCreate(websocket_send_loop, "web_socket_send_task", 6*1024, NULL, 1, &webSocketSendTask) != pdPASS) - ESP_LOGI(TAG, "Create Task websocket_send_loop failed, ERR: %d", retr); - else ESP_LOGI(TAG, "Create Task websocket_send_loop SUCCESS, RES: %d", retr); + if(BaseType_t retrb = xTaskCreate(websocket_send_loop, "web_socket_send_task", 6*1024, NULL, 1, &webSocketSendTask) != pdPASS) + ESP_LOGI(TAG, "Create Task websocket_send_loop failed, ERR: %d", retrb); + else ESP_LOGI(TAG, "Create Task websocket_send_loop SUCCESS, RES: %d", retrb); //start websocket pinger TaskHandle_t webSocketPingTask = NULL; - if(BaseType_t retr = xTaskCreate(ping_loop_task, "ping_loop_task", 2*1024, NULL, 1, &webSocketPingTask) != pdPASS) - ESP_LOGI(TAG, "Create Task ping_loop_task failed, ERR: %d", retr); - else ESP_LOGI(TAG, "Create Task ping_loop_task SUCCESS, RES: %d", retr); + BaseType_t retrc = xTaskCreate(ping_loop_task, "ping_loop_task", 2*1024, NULL, 1, &webSocketPingTask); + if(retrc != pdPASS) + ESP_LOGI(TAG, "Create Task ping_loop_task failed, ERR: %d", retrc); + else ESP_LOGI(TAG, "Create Task ping_loop_task SUCCESS, RES: %d", retrc); //audio setup_audio_buffer(); //must call this before starting the audio tasks + printPerfInfo(true); + //send audio task TaskHandle_t sendAudioTaskHandle = NULL; - if(BaseType_t retr = xTaskCreate(sendAudioChunk, "send_audio_chunk_task", 6*1024, websocketSendBuffer, 25, &sendAudioTaskHandle) != pdPASS) - ESP_LOGI(TAG, "Create Task sendAudioChunk failed, ERR: %d\nFree Heap Size: %d, WANTED TO ALLOCATE %d", retr,heap_caps_get_largest_free_block(MALLOC_CAP_8BIT), 6*1024); - else ESP_LOGI(TAG, "Create Task sendAudioChunk SUCCESS, RES: %d", retr); + BaseType_t retrd = xTaskCreate(sendAudioChunk, "send_audio_chunk_task", 6*1024, websocketSendBuffer, 1, &sendAudioTaskHandle); + if(retrd != pdPASS) + ESP_LOGI(TAG, "Create Task sendAudioChunk failed, ERR: %d\nFree Heap Size: %d, WANTED TO ALLOCATE %d", retrd,heap_caps_get_largest_free_block(MALLOC_CAP_8BIT), 6*1024); + else ESP_LOGI(TAG, "Create Task sendAudioChunk SUCCESS, RES: %d", retrd); + + printPerfInfo(true); //start microphone input AFTER STARTING AUDIO QUEUE TaskHandle_t microphoneTaskHandle = NULL; - if(BaseType_t retr = xTaskCreate(microphone_stream, "microphone_stream_task", 6*1024, NULL, 25, µphoneTaskHandle) != pdPASS) - ESP_LOGI(TAG, "Create Task microphone_stream failed, ERR: %d\nFree Heap Size: %d, WANTED TO ALLOCATE %d", retr,heap_caps_get_largest_free_block(MALLOC_CAP_8BIT), 6*1024); - else ESP_LOGI(TAG, "Create Task microphone_stream SUCCESS, RES: %d", retr); - + BaseType_t retre = xTaskCreate(microphone_stream, "microphone_stream_task", 6*1024, NULL, 1, µphoneTaskHandle); + if(retre != pdPASS) + ESP_LOGI(TAG, "Create Task microphone_stream failed, ERR: %d\nFree Heap Size: %d, WANTED TO ALLOCATE %d", retre, heap_caps_get_largest_free_block(MALLOC_CAP_8BIT), 6*1024); + else ESP_LOGI(TAG, "Create Task microphone_stream SUCCESS, RES: %d", retre); + return; } \ No newline at end of file From a592910833995319f2420c4accf64bc5900e4a11 Mon Sep 17 00:00:00 2001 From: Alex Israelov Date: Tue, 22 Nov 2022 16:33:47 -0700 Subject: [PATCH 24/35] Need to investigate memory leak, perhaps JSON related --- .../src/comms/wifi_websocket_comms.cpp | 9 ++--- .../ossg_firmware_mcu/src/main.cpp | 35 ++++++++++++------- .../src/microphones/microphones.cpp | 9 +++-- 3 files changed, 32 insertions(+), 21 deletions(-) diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/comms/wifi_websocket_comms.cpp b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/comms/wifi_websocket_comms.cpp index bf46af3..c5ff722 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/comms/wifi_websocket_comms.cpp +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/comms/wifi_websocket_comms.cpp @@ -460,11 +460,12 @@ static void websocket_event_handler(void *handler_args, esp_event_base_t base, i // ESP_LOGW(TAG, "Received=%.*s", data->data_len, (char *)data->data_ptr); // ESP_LOGW(TAG, "Total payload length=%d, data_len=%d, current payload offset=%d\r\n", data->payload_len, data->data_len, data->payload_offset); if (data->data_len > 5){ //ignore empty strings and tiny pings - int jsonStringLen = (data->data_len)+1; - char jsonString[jsonStringLen]; - snprintf(jsonString, jsonStringLen, "%s", (char *)data->data_ptr); + int jsonStringLen = (data->data_len)+1; + char *jsonString = (char*)malloc(jsonStringLen); + snprintf(jsonString, jsonStringLen, "%s", (char *)data->data_ptr); // ESP_LOGW(TAG, "JSON STRING PREPARSE=%s", jsonString); - size_t tx_bytes = xMessageBufferSend(localEventsBuffer, jsonString, strlen(jsonString)+1, portMAX_DELAY); + size_t tx_bytes = xMessageBufferSend(localEventsBuffer, jsonString, strlen(jsonString)+1, portMAX_DELAY); + free(jsonString); } break; } diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp index 1cef3d6..7b87789 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp @@ -32,7 +32,7 @@ const size_t websocketSendBufferLen = (1024 * 4 * sizeof(char *)) + sizeof(size_ #define MEM_MSG 0 -#define ENABLEDISPLAY 1 +#define ENABLEDISPLAY 0 #if ENABLEDISPLAY #include "displaymanager.hpp" @@ -65,13 +65,17 @@ void eventDistributor(void *args){ char * jsonString = (char *)malloc(eventsBufferLen); while (true) { - vTaskDelay(pdMS_TO_TICKS(1000)); - + //vTaskDelay(pdMS_TO_TICKS(1000)); + int bytes_written = xMessageBufferReceive(eventsBuffer, jsonString, eventsBufferLen, portMAX_DELAY); - + if (bytes_written != 0){ - JsonMessageParser jsonMessageParser = JsonMessageParser(jsonString); - char * messageType = jsonMessageParser.getMessageType(); + ESP_LOGI(TAG, "===========\nESP EVENT DISTR GOT EVENT!!!\n==========="); + printPerfInfo(true); + vTaskDelay(pdMS_TO_TICKS(1)); + + JsonMessageParser* jsonMessageParser = new JsonMessageParser(jsonString); + char * messageType = (*jsonMessageParser).getMessageType(); ESP_LOGI(TAG, "Message Type is: %s", messageType); //can't use a switch statement here, so big if-else if (!strcmp(messageType, messageTypesList.FINAL_TRANSCRIPT)){ @@ -80,16 +84,22 @@ void eventDistributor(void *args){ ESP_LOGI(TAG, "GOT INTERMEDIATE TRANSCRIPT"); } else if (!strcmp(messageType, messageTypesList.SEARCH_ENGINE_RESULT)){ ESP_LOGI(TAG, "GOT SEARCH ENGINE RESULT"); - JsonMessageParser searchEngineResultData = JsonMessageParser(jsonMessageParser.getJsonKey(messageTypesList.SEARCH_ENGINE_RESULT_DATA)); - char * title = searchEngineResultData.getJsonKey(messageTypesList.SEARCH_ENGINE_RESULT_DATA_TITLE); - char * body = searchEngineResultData.getJsonKey(messageTypesList.SEARCH_ENGINE_RESULT_DATA_BODY); - char * image = searchEngineResultData.getJsonKey(messageTypesList.SEARCH_ENGINE_RESULT_DATA_IMAGE); + JsonMessageParser *searchEngineResultData = new JsonMessageParser((*jsonMessageParser).getJsonKey(messageTypesList.SEARCH_ENGINE_RESULT_DATA)); + char * title = (*searchEngineResultData).getJsonKey(messageTypesList.SEARCH_ENGINE_RESULT_DATA_TITLE); + char * body = (*searchEngineResultData).getJsonKey(messageTypesList.SEARCH_ENGINE_RESULT_DATA_BODY); + char * image = (*searchEngineResultData).getJsonKey(messageTypesList.SEARCH_ENGINE_RESULT_DATA_IMAGE); ESP_LOGI(TAG, "title: %s \n body: %s \n image: %s", title, body, image); + //call display reference card here with title, body, image arguments + #if ENABLEDISPLAY displaySearchEngineResult(title, body, image); - + #endif + printPerfInfo(); + + delete searchEngineResultData; } + delete jsonMessageParser; } } free(jsonString); @@ -126,8 +136,9 @@ void app_main(void) ESP_ERROR_CHECK(esp_event_loop_create_default()); //start the display + #if ENABLEDISPLAY startTheDisplay(); - + #endif // start WIFI wifi_init_sta(); diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/microphones/microphones.cpp b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/microphones/microphones.cpp index a442931..c0f9dd4 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/microphones/microphones.cpp +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/microphones/microphones.cpp @@ -25,7 +25,7 @@ static const char *TAG = "MICROPHONES_OSSG"; // place to pass audio around and save it MessageBufferHandle_t audioMessageBuffer; -const size_t AUDIO_BUFFER_SIZE = 1024; // number of samples, each sample uint16_t +const size_t AUDIO_BUFFER_SIZE = 4096; //og 1024 // number of samples, each sample uint16_t const size_t audioMessageBufferLen = (AUDIO_BUFFER_SIZE * sizeof(uint16_t)) + sizeof(size_t); // room for websocket buffer, room for one size_t for MessageBuffer overhead static const char *audioJsonTemplate = "{\"MESSAGE_TYPE_LOCAL\" : \"AUDIO_CHUNK_DECRYPTED\", \"AUDIO_DATA\" : \"%s\"}"; @@ -155,10 +155,9 @@ void microphone_stream(void *args) int samples_read = i2s_read_custom(buf, AUDIO_BUFFER_SIZE); int bytes_read = samples_read * sizeof(uint16_t); - ESP_LOGI(TAG, "after i2s read custom"); - - printf("Val1: %u \n", (uint8_t)(buf[0])); - printf("Val2: %u \n", (uint8_t)(buf[1])); + //ESP_LOGI(TAG, "after i2s read custom"); + //ESP_LOGI(TAG, "Val1: %u \n", (uint8_t)(buf[0])); + //ESP_LOGI(TAG, "Val2: %u \n", (uint8_t)(buf[1])); lastTickTimeProc = xTaskGetTickCount(); From 7fa7bfcb5aaa910e648fd4e47486de25cba6404a Mon Sep 17 00:00:00 2001 From: Alex Israelov Date: Sun, 27 Nov 2022 03:20:37 -0700 Subject: [PATCH 25/35] Fixed the memory leak --- .../ossg_firmware_mcu/src/main.cpp | 10 ++++------ .../ossg_firmware_mcu/src/utils/json_parse.cpp | 16 ++++++++-------- .../ossg_firmware_mcu/src/utils/json_parse.hpp | 2 +- 3 files changed, 13 insertions(+), 15 deletions(-) diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp index 7b87789..266b75b 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp @@ -32,7 +32,7 @@ const size_t websocketSendBufferLen = (1024 * 4 * sizeof(char *)) + sizeof(size_ #define MEM_MSG 0 -#define ENABLEDISPLAY 0 +#define ENABLEDISPLAY 1 #if ENABLEDISPLAY #include "displaymanager.hpp" @@ -70,10 +70,10 @@ void eventDistributor(void *args){ int bytes_written = xMessageBufferReceive(eventsBuffer, jsonString, eventsBufferLen, portMAX_DELAY); if (bytes_written != 0){ - ESP_LOGI(TAG, "===========\nESP EVENT DISTR GOT EVENT!!!\n==========="); - printPerfInfo(true); + //ESP_LOGI(TAG, "===========\nESP EVENT DISTR GOT EVENT!!!\n==========="); + //printPerfInfo(true); vTaskDelay(pdMS_TO_TICKS(1)); - + ESP_LOGI(TAG, "JSON STRING: %s", jsonString); JsonMessageParser* jsonMessageParser = new JsonMessageParser(jsonString); char * messageType = (*jsonMessageParser).getMessageType(); ESP_LOGI(TAG, "Message Type is: %s", messageType); @@ -95,8 +95,6 @@ void eventDistributor(void *args){ displaySearchEngineResult(title, body, image); #endif - printPerfInfo(); - delete searchEngineResultData; } delete jsonMessageParser; diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/utils/json_parse.cpp b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/utils/json_parse.cpp index ae0cd00..7301a9e 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/utils/json_parse.cpp +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/utils/json_parse.cpp @@ -6,9 +6,14 @@ static const char *TAG = "JSON"; JsonMessageParser::JsonMessageParser(char * jsonString) { // Constructor - messageTypesList = MessageTypes(); - JsonMessageParser::parseJson(jsonString); - } + messageTypesList = MessageTypes(); + JsonMessageParser::parseJson(jsonString); +} + +JsonMessageParser::~JsonMessageParser() { // Deconstructor + //delete json object + cJSON_Delete(jsonObj); +} char * JsonMessageParser::getMessageType(){ //get the type of the message @@ -27,11 +32,6 @@ char * JsonMessageParser::getJsonKey(const char * key){ return value; } -// JsonMessageParser::~JsonMessageParser() { // Deconstructor -// //delete json object -// cJSON_Delete(jsonObj); -// } - //tester to make json object from scratch, not yet used void JsonMessageParser::makeJson(){ cJSON *root = cJSON_CreateObject(); diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/utils/json_parse.hpp b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/utils/json_parse.hpp index bdd81b2..1542684 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/utils/json_parse.hpp +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/utils/json_parse.hpp @@ -13,7 +13,7 @@ class JsonMessageParser JsonMessageParser(char * jsonString); char * getMessageType(); char * getJsonKey(const char * key); - // ~JsonMessageParser(); + ~JsonMessageParser(); private: void makeJson(); From 5ecc965cd463c98eff0c528e5148dc5587430bdf Mon Sep 17 00:00:00 2001 From: cayden Date: Fri, 23 Dec 2022 17:17:52 -0500 Subject: [PATCH 26/35] changes for v0.5 board, turn on and off display --- .../src/comms/wifi_websocket_comms.cpp | 2 ++ .../ossg_firmware_mcu/src/main.cpp | 33 +++++++++++++++++-- .../src/microphones/microphones.cpp | 10 +++--- 3 files changed, 38 insertions(+), 7 deletions(-) diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/comms/wifi_websocket_comms.cpp b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/comms/wifi_websocket_comms.cpp index c5ff722..fc99ee2 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/comms/wifi_websocket_comms.cpp +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/comms/wifi_websocket_comms.cpp @@ -450,6 +450,8 @@ static void websocket_event_handler(void *handler_args, esp_event_base_t base, i break; case WEBSOCKET_EVENT_DISCONNECTED: ESP_LOGI(TAG, "WEBSOCKET_EVENT_DISCONNECTED"); + ESP_LOGE(TAG, "Websocket disconnected, sleeping briefly then restarting..."); + vTaskDelay(pdMS_TO_TICKS(1000)); esp_restart(); // reconnect break; diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp index 266b75b..c711771 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp @@ -3,6 +3,8 @@ //Wearable Intelligence System Repo: https://github.com/emexlabs/WearableIntelligenceSystem //OSSG firmware authors: Cayden Pierce, Alex Israelov +static const char *TAG = "MAIN_OSSG"; + #include "../include/ossg_constants.hpp" #include #include @@ -25,7 +27,30 @@ //audio #include "microphones.hpp" -static const char *TAG = "MAIN_OSSG"; +//gpio +#include "driver/gpio.h" + +#define DISPLAY_EN_PIN GPIO_NUM_2 + +void setup_display_en(void){ + gpio_set_direction(DISPLAY_EN_PIN, GPIO_MODE_OUTPUT); +} + +void power_to_display(bool power_on){ + ESP_LOGI(TAG, "Sending power value to display: %d", power_on); + gpio_set_level(DISPLAY_EN_PIN, power_on); // Turn the LED on +} + +//a testing task to turn power to the display on and off +void toggleDisplayPowerTask(void *args){ + setup_display_en(); + while (true){ + power_to_display(0); + vTaskDelay(pdMS_TO_TICKS(20000)); + power_to_display(1); + vTaskDelay(pdMS_TO_TICKS(5000)); + } +} MessageBufferHandle_t websocketSendBuffer; const size_t websocketSendBufferLen = (1024 * 4 * sizeof(char *)) + sizeof(size_t); // room for websocket buffer, room for one size_t for MessageBuffer overhead @@ -72,7 +97,7 @@ void eventDistributor(void *args){ if (bytes_written != 0){ //ESP_LOGI(TAG, "===========\nESP EVENT DISTR GOT EVENT!!!\n==========="); //printPerfInfo(true); - vTaskDelay(pdMS_TO_TICKS(1)); + //vTaskDelay(pdMS_TO_TICKS(1)); ESP_LOGI(TAG, "JSON STRING: %s", jsonString); JsonMessageParser* jsonMessageParser = new JsonMessageParser(jsonString); char * messageType = (*jsonMessageParser).getMessageType(); @@ -145,6 +170,10 @@ void app_main(void) TaskHandle_t eventsTask = NULL; xTaskCreate(eventDistributor, "events_distribution_task", 6*1024, NULL, 1, &eventsTask); + //setup power on and off display for testing task + TaskHandle_t powerDisplayTaskHandle = NULL; + xTaskCreate(toggleDisplayPowerTask, "power_display_task", 2*1024, NULL, 1, &powerDisplayTaskHandle); + //connect to WIS web socket websocketSendBuffer = xMessageBufferCreate(websocketSendBufferLen); websocket_app_start(websocketSendBuffer, websocketSendBufferLen, eventsBuffer); diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/microphones/microphones.cpp b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/microphones/microphones.cpp index c0f9dd4..e2bc57a 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/microphones/microphones.cpp +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/microphones/microphones.cpp @@ -35,13 +35,13 @@ static const char *audioJsonTemplate = "{\"MESSAGE_TYPE_LOCAL\" : \"AUDIO_CHUNK_ // I2S pins #define I2S_PIN_BIT_CLOCK I2S_PIN_NO_CHANGE // not used -#define I2S_PIN_WORD_SELECT 33 // OSSG_v0.3 built-in mic CLK +#define I2S_PIN_WORD_SELECT 32 // OSSG_v0.3 built-in mic CLK #define I2S_PIN_DATA_OUT I2S_PIN_NO_CHANGE // not used -#define I2S_PIN_DATA_IN 32 // OSSG_v0.3 built-in mic DATA_OUT +#define I2S_PIN_DATA_IN 27 // OSSG_v0.3 built-in mic DATA_OUT -#define I2S_MIC_SERIAL_CLOCK 22 // slk -#define I2S_MIC_LEFT_RIGHT_CLOCK 33 // ws -#define I2S_MIC_SERIAL_DATA 32 // sd +#define I2S_MIC_SERIAL_CLOCK 33 // slk +#define I2S_MIC_LEFT_RIGHT_CLOCK 32 // ws +#define I2S_MIC_SERIAL_DATA 27 // sd // I2S CONFIG PARAMS #define SAMPLE_RATE 16000 From 39c8615eb5424be2c473bbc03b548a6a01a52419 Mon Sep 17 00:00:00 2001 From: Alex Israelov Date: Mon, 26 Dec 2022 19:21:31 -0600 Subject: [PATCH 27/35] Recreate some lost work (largely untested this time) --- .../ossg_firmware_mcu/components/lvgl | 2 +- .../lib/LovyanGFX_SmartGlasses | 2 +- .../src/display/displaymanager.cpp | 11 ++++- .../src/display/displaymanager.hpp | 5 ++- .../src/display/helper_display.hpp | 9 ---- .../ossg_firmware_mcu/src/main.cpp | 42 ++++++++++++++++--- 6 files changed, 52 insertions(+), 19 deletions(-) diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/components/lvgl b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/components/lvgl index 0732400..47c8f8f 160000 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/components/lvgl +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/components/lvgl @@ -1 +1 @@ -Subproject commit 0732400e7b564dd0e7dc4a924619d8e19c5b23a0 +Subproject commit 47c8f8f9822f4c0c0ffbe2f12b380bddefcec475 diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/lib/LovyanGFX_SmartGlasses b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/lib/LovyanGFX_SmartGlasses index 46ddd5e..5c5d6b2 160000 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/lib/LovyanGFX_SmartGlasses +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/lib/LovyanGFX_SmartGlasses @@ -1 +1 @@ -Subproject commit 46ddd5eccb053ea3d948891e703bc71d3d6e8896 +Subproject commit 5c5d6b26eb71180a02865b360a784548e4fb28ec diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/displaymanager.cpp b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/displaymanager.cpp index 91a2534..ef99c13 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/displaymanager.cpp +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/displaymanager.cpp @@ -23,10 +23,13 @@ using namespace std; #include "user_setting.hpp" #include "helper_display.hpp" #include - +#include "message_types.hpp" #define LOVYAN_USE_CORE_NUM 1 static const char *TAG = "lvgl_gui"; +MessageTypes messageTypesList; +char * currentMode = strdup(messageTypesList.MODE_HOME); + //esp_timer_handle_t screenTimer; static void screenTimerCallback(void* arg); esp_timer_handle_t screenTimer; @@ -77,6 +80,10 @@ void screenTimerCallback(void* arg){ displayClear(); } +void updateClock(){ + //do smth +} + // Call this when turning on or updating the screen // (updates the screen shutoff timer) void updateActivity(int timeoutSeconds = 5){ @@ -111,7 +118,7 @@ void displayEnterVoiceCommandStep3(char* command, char* soFar){ lvgl_release(); } -void displaySearchEngineResult(char* title, char* body, char* image){ +void displaySearchEngineResult(char* title, char* body, char* image = ""){ updateActivity(16); //16 seconds lvgl_acquire(); diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/displaymanager.hpp b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/displaymanager.hpp index f691d62..2d635ca 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/displaymanager.hpp +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/displaymanager.hpp @@ -10,4 +10,7 @@ extern void displayEnterVoiceCommandStep1(); extern void displayEnterVoiceCommandStep2(); extern void displayEnterVoiceCommandStep3(char* command, char* soFar); //extern void displayEnterVoiceCommandStep3(string command, string soFar); -extern void displaySearchEngineResult(char* title, char* body, char* image); \ No newline at end of file +extern void displaySearchEngineResult(char* title, char* body, char* image = ""); +extern void updateClock(); +extern MessageTypes messageTypesList; +extern char* currentMode; \ No newline at end of file diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/helper_display.hpp b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/helper_display.hpp index 6c4b9ac..aff13be 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/helper_display.hpp +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/helper_display.hpp @@ -166,15 +166,6 @@ static void gui_task(void *args) { vTaskDelay(pdMS_TO_TICKS(1000)); - /* - cout << endl; - cout << endl; - cout << endl; - cout << endl; - cout << "heap_caps_get_free_size(MALLOC_CAP_8BIT): "; - cout << heap_caps_get_free_size(MALLOC_CAP_8BIT) << endl; - */ - /* Try to take the semaphore, call lvgl related function on success */ if (pdTRUE == xSemaphoreTake(xGuiSemaphore, portMAX_DELAY)) { diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp index 266b75b..cb882c0 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp @@ -59,7 +59,12 @@ void printPerfInfo(bool justHeap = false){ MessageBufferHandle_t eventsBuffer; const size_t eventsBufferLen = (1024 * 1 * sizeof(char *)) + sizeof(size_t); // room for events buffer, room for one size_t for MessageBuffer overhead -MessageTypes messageTypesList; + +#if !ENABLEDISPLAY + MessageTypes messageTypesList; + char * currentMode = strdup(messageTypesList.MODE_HOME); +#endif + void eventDistributor(void *args){ messageTypesList = MessageTypes(); char * jsonString = (char *)malloc(eventsBufferLen); @@ -71,9 +76,9 @@ void eventDistributor(void *args){ if (bytes_written != 0){ //ESP_LOGI(TAG, "===========\nESP EVENT DISTR GOT EVENT!!!\n==========="); - //printPerfInfo(true); + printPerfInfo(true); vTaskDelay(pdMS_TO_TICKS(1)); - ESP_LOGI(TAG, "JSON STRING: %s", jsonString); + //ESP_LOGI(TAG, "JSON STRING: %s", jsonString); JsonMessageParser* jsonMessageParser = new JsonMessageParser(jsonString); char * messageType = (*jsonMessageParser).getMessageType(); ESP_LOGI(TAG, "Message Type is: %s", messageType); @@ -82,6 +87,15 @@ void eventDistributor(void *args){ ESP_LOGI(TAG, "GOT FINAL TRANSCRIPT"); } else if (!strcmp(messageType, messageTypesList.INTERMEDIATE_TRANSCRIPT)){ ESP_LOGI(TAG, "GOT INTERMEDIATE TRANSCRIPT"); + + if(currentMode == messageTypesList.MODE_LIVE_LIFE_CAPTIONS) + { + char * title = "Live Life Captions:"; + char * body = (*jsonMessageParser).getJsonKey(messageTypesList.TRANSCRIPT_TEXT); + #if ENABLEDISPLAY + displaySearchEngineResult(title, body); + #endif + } } else if (!strcmp(messageType, messageTypesList.SEARCH_ENGINE_RESULT)){ ESP_LOGI(TAG, "GOT SEARCH ENGINE RESULT"); JsonMessageParser *searchEngineResultData = new JsonMessageParser((*jsonMessageParser).getJsonKey(messageTypesList.SEARCH_ENGINE_RESULT_DATA)); @@ -97,6 +111,24 @@ void eventDistributor(void *args){ delete searchEngineResultData; } + else if(!strcmp(messageType, messageTypesList.TRANSLATE_TEXT_RESULT)){ + ESP_LOGI(TAG,"GOT TRANSLATION RESULT"); + char * title = "Translation result:"; + char * body = (*jsonMessageParser).getJsonKey(messageTypesList.TRANSLATE_TEXT_RESULT_DATA); + //call display reference card here with title, body, image arguments + #if ENABLEDISPLAY + displaySearchEngineResult(title, body); + #endif + } + else if(!strcmp(messageType, messageTypesList.ACTION_SWITCH_MODES)){ + ESP_LOGI(TAG, "GOT NEW MODE"); + currentMode = (*jsonMessageParser).getJsonKey(messageTypesList.NEW_MODE); + + #if ENABLEDISPLAY + if(currentMode == messageTypesList.MODE_HOME) + displayEnterVoiceCommandStep1(); + #endif + } delete jsonMessageParser; } } @@ -139,7 +171,7 @@ void app_main(void) #endif // start WIFI wifi_init_sta(); - + //setup eventsDistributor and eventsBuffer, which handles incoming data from WIS and calls functions based on what WIS tells us to do eventsBuffer = xMessageBufferCreate(eventsBufferLen); TaskHandle_t eventsTask = NULL; @@ -161,7 +193,7 @@ void app_main(void) if(retrc != pdPASS) ESP_LOGI(TAG, "Create Task ping_loop_task failed, ERR: %d", retrc); else ESP_LOGI(TAG, "Create Task ping_loop_task SUCCESS, RES: %d", retrc); - + //audio setup_audio_buffer(); //must call this before starting the audio tasks From 8ac3a3d228fa522ed0a732fbb76d8600f5df5147 Mon Sep 17 00:00:00 2001 From: Alex Israelov Date: Tue, 27 Dec 2022 13:16:12 -0600 Subject: [PATCH 28/35] Behold! The magic platformio version number that makes the code work! --- .../esp32_firmware_v0p3/ossg_firmware_mcu/platformio.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/platformio.ini b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/platformio.ini index fe9b792..5814dfc 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/platformio.ini +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/platformio.ini @@ -9,7 +9,7 @@ ; https://docs.platformio.org/page/projectconf.html [env:pico32] -platform = espressif32 +platform = espressif32@5.0.0 board = pico32 framework = espidf monitor_speed = 115200 From ab92ef5ff764ae300eb5695e6e49767583cb2cbf Mon Sep 17 00:00:00 2001 From: Alex Israelov Date: Tue, 27 Dec 2022 13:29:49 -0600 Subject: [PATCH 29/35] Highest version possible --- .../esp32_firmware_v0p3/ossg_firmware_mcu/platformio.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/platformio.ini b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/platformio.ini index 5814dfc..31290bb 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/platformio.ini +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/platformio.ini @@ -9,7 +9,7 @@ ; https://docs.platformio.org/page/projectconf.html [env:pico32] -platform = espressif32@5.0.0 +platform = espressif32@5.1.1 board = pico32 framework = espidf monitor_speed = 115200 From 458d06ce2d0996b8dd5379afe22cf02b903cb13f Mon Sep 17 00:00:00 2001 From: cayden Date: Tue, 27 Dec 2022 16:27:54 -0500 Subject: [PATCH 30/35] make restart on websocket close, add code to nicely power on display during display start, change to use_psram=2 --- .../src/comms/wifi_websocket_comms.cpp | 3 ++- .../src/display/user_setting.hpp | 2 +- .../ossg_firmware_mcu/src/main.cpp | 27 +++++++------------ 3 files changed, 13 insertions(+), 19 deletions(-) diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/comms/wifi_websocket_comms.cpp b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/comms/wifi_websocket_comms.cpp index fc99ee2..3e93607 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/comms/wifi_websocket_comms.cpp +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/comms/wifi_websocket_comms.cpp @@ -449,7 +449,8 @@ static void websocket_event_handler(void *handler_args, esp_event_base_t base, i ESP_LOGI(TAG, "WEBSOCKET_EVENT_CONNECTED"); break; case WEBSOCKET_EVENT_DISCONNECTED: - ESP_LOGI(TAG, "WEBSOCKET_EVENT_DISCONNECTED"); + case WEBSOCKET_EVENT_CLOSED: + ESP_LOGI(TAG, "WEBSOCKET_EVENT_DISCONNECTED or CLOSED"); ESP_LOGE(TAG, "Websocket disconnected, sleeping briefly then restarting..."); vTaskDelay(pdMS_TO_TICKS(1000)); esp_restart(); diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/user_setting.hpp b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/user_setting.hpp index f808ab6..214198a 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/user_setting.hpp +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/user_setting.hpp @@ -66,7 +66,7 @@ class LGFX : public lgfx::LGFX_Device // cfg.signal_type = cfg.signal_type_t::PAL_N; // Set output destination GPIO number; - cfg.pin_dac = 25; // DACを使用するため、 25 または 26 のみが選択できます; + cfg.pin_dac = 26; // DACを使用するため、 25 または 26 のみが選択できます; // Setting PSRAM Memory Allocation; cfg.use_psram = 2; // 0=no PSRAM used / 1=half PSRAM and half SRAM / 2=full PSRAM; diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp index f971bbe..b807c8e 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp @@ -32,26 +32,17 @@ static const char *TAG = "MAIN_OSSG"; #define DISPLAY_EN_PIN GPIO_NUM_2 +//display power control void setup_display_en(void){ gpio_set_direction(DISPLAY_EN_PIN, GPIO_MODE_OUTPUT); } void power_to_display(bool power_on){ ESP_LOGI(TAG, "Sending power value to display: %d", power_on); - gpio_set_level(DISPLAY_EN_PIN, power_on); // Turn the LED on -} - -//a testing task to turn power to the display on and off -void toggleDisplayPowerTask(void *args){ - setup_display_en(); - while (true){ - power_to_display(0); - vTaskDelay(pdMS_TO_TICKS(20000)); - power_to_display(1); - vTaskDelay(pdMS_TO_TICKS(5000)); - } + gpio_set_level(DISPLAY_EN_PIN, !power_on); // Turn the LED on } +//websocket buffer MessageBufferHandle_t websocketSendBuffer; const size_t websocketSendBufferLen = (1024 * 4 * sizeof(char *)) + sizeof(size_t); // room for websocket buffer, room for one size_t for MessageBuffer overhead @@ -161,6 +152,11 @@ void eventDistributor(void *args){ void startTheDisplay(){ #if ENABLEDISPLAY + //turn on power to the display + setup_display_en(); + power_to_display(true); + + //start lovyan+LVGL+UI displayStart(); displayEnterVoiceCommandStep2(); #endif @@ -191,8 +187,9 @@ void app_main(void) //start the display #if ENABLEDISPLAY - startTheDisplay(); + startTheDisplay(); #endif + // start WIFI wifi_init_sta(); @@ -201,10 +198,6 @@ void app_main(void) TaskHandle_t eventsTask = NULL; xTaskCreate(eventDistributor, "events_distribution_task", 6*1024, NULL, 1, &eventsTask); - //setup power on and off display for testing task - TaskHandle_t powerDisplayTaskHandle = NULL; - xTaskCreate(toggleDisplayPowerTask, "power_display_task", 2*1024, NULL, 1, &powerDisplayTaskHandle); - //connect to WIS web socket websocketSendBuffer = xMessageBufferCreate(websocketSendBufferLen); websocket_app_start(websocketSendBuffer, websocketSendBufferLen, eventsBuffer); From 3662ac803824cd4e6e655369ce77e96e2258146c Mon Sep 17 00:00:00 2001 From: cayden Date: Tue, 27 Dec 2022 17:10:18 -0500 Subject: [PATCH 31/35] make live life captions work by fixing current mode string bugs --- .../src/display/displaymanager.cpp | 4 +- .../src/display/displaymanager.hpp | 4 +- .../ossg_firmware_mcu/src/main.cpp | 38 ++++++++++++------- 3 files changed, 29 insertions(+), 17 deletions(-) diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/displaymanager.cpp b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/displaymanager.cpp index ef99c13..110ce93 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/displaymanager.cpp +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/displaymanager.cpp @@ -27,8 +27,8 @@ using namespace std; #define LOVYAN_USE_CORE_NUM 1 static const char *TAG = "lvgl_gui"; -MessageTypes messageTypesList; -char * currentMode = strdup(messageTypesList.MODE_HOME); +// MessageTypes messageTypesList; +// char * currentMode = strdup(messageTypesList.MODE_HOME); //esp_timer_handle_t screenTimer; static void screenTimerCallback(void* arg); diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/displaymanager.hpp b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/displaymanager.hpp index 2d635ca..a90879a 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/displaymanager.hpp +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/displaymanager.hpp @@ -12,5 +12,5 @@ extern void displayEnterVoiceCommandStep3(char* command, char* soFar); //extern void displayEnterVoiceCommandStep3(string command, string soFar); extern void displaySearchEngineResult(char* title, char* body, char* image = ""); extern void updateClock(); -extern MessageTypes messageTypesList; -extern char* currentMode; \ No newline at end of file +// extern MessageTypes messageTypesList; +// extern char* currentMode; \ No newline at end of file diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp index b807c8e..147438e 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp @@ -76,14 +76,18 @@ void printPerfInfo(bool justHeap = false){ MessageBufferHandle_t eventsBuffer; const size_t eventsBufferLen = (1024 * 1 * sizeof(char *)) + sizeof(size_t); // room for events buffer, room for one size_t for MessageBuffer overhead -#if !ENABLEDISPLAY - MessageTypes messageTypesList; - char * currentMode = strdup(messageTypesList.MODE_HOME); -#endif +MessageTypes messageTypesList; +//# currentModeSize = 1024; +char currentMode[1024]; +int currentModeSize = 1024; void eventDistributor(void *args){ messageTypesList = MessageTypes(); char * jsonString = (char *)malloc(eventsBufferLen); + + //start with current mode being home + snprintf(currentMode, currentModeSize, messageTypesList.MODE_HOME); + while (true) { //vTaskDelay(pdMS_TO_TICKS(1000)); @@ -92,7 +96,7 @@ void eventDistributor(void *args){ if (bytes_written != 0){ //ESP_LOGI(TAG, "===========\nESP EVENT DISTR GOT EVENT!!!\n==========="); - printPerfInfo(true); + //printPerfInfo(true); vTaskDelay(pdMS_TO_TICKS(1)); JsonMessageParser* jsonMessageParser = new JsonMessageParser(jsonString); char * messageType = (*jsonMessageParser).getMessageType(); @@ -100,17 +104,21 @@ void eventDistributor(void *args){ //can't use a switch statement here, so big if-else if (!strcmp(messageType, messageTypesList.FINAL_TRANSCRIPT)){ ESP_LOGI(TAG, "GOT FINAL TRANSCRIPT"); - } else if (!strcmp(messageType, messageTypesList.INTERMEDIATE_TRANSCRIPT)){ - ESP_LOGI(TAG, "GOT INTERMEDIATE TRANSCRIPT"); - if(currentMode == messageTypesList.MODE_LIVE_LIFE_CAPTIONS) - { + ESP_LOGI(TAG, "222 NEW MODE IS: %s", currentMode); + ESP_LOGI(TAG, "222 Hopeing for: %s", messageTypesList.MODE_LIVE_LIFE_CAPTIONS); + //if our current mode is live life captions, display the intermediate caption + if(!strcmp(currentMode, messageTypesList.MODE_LIVE_LIFE_CAPTIONS)){ + ESP_LOGI(TAG, "RUNNIGN LLC"); char * title = "Live Life Captions:"; char * body = (*jsonMessageParser).getJsonKey(messageTypesList.TRANSCRIPT_TEXT); + ESP_LOGI(TAG, "BODY IS: %s", body); #if ENABLEDISPLAY - displaySearchEngineResult(title, body); + displaySearchEngineResult(title, body); #endif } + } else if (!strcmp(messageType, messageTypesList.INTERMEDIATE_TRANSCRIPT)){ + ESP_LOGI(TAG, "GOT INTERMEDIATE TRANSCRIPT"); } else if (!strcmp(messageType, messageTypesList.SEARCH_ENGINE_RESULT)){ ESP_LOGI(TAG, "GOT SEARCH ENGINE RESULT"); JsonMessageParser *searchEngineResultData = new JsonMessageParser((*jsonMessageParser).getJsonKey(messageTypesList.SEARCH_ENGINE_RESULT_DATA)); @@ -137,11 +145,15 @@ void eventDistributor(void *args){ } else if(!strcmp(messageType, messageTypesList.ACTION_SWITCH_MODES)){ ESP_LOGI(TAG, "GOT NEW MODE"); - currentMode = (*jsonMessageParser).getJsonKey(messageTypesList.NEW_MODE); + //currentMode = strdup((*jsonMessageParser).getJsonKey(messageTypesList.NEW_MODE)); + snprintf(currentMode, currentModeSize, (*jsonMessageParser).getJsonKey(messageTypesList.NEW_MODE)); + ESP_LOGI(TAG, "NEW MODE IS: %s", currentMode); + ESP_LOGI(TAG, "Hopeing for: %s", messageTypesList.MODE_LIVE_LIFE_CAPTIONS); #if ENABLEDISPLAY - if(currentMode == messageTypesList.MODE_HOME) - displayEnterVoiceCommandStep1(); + if(!strcmp(currentMode, messageTypesList.MODE_HOME)){ + displayEnterVoiceCommandStep1(); + } #endif } delete jsonMessageParser; From 677b74282d0b4a0923707ff1bd6cf858b4c25fcd Mon Sep 17 00:00:00 2001 From: Alex Israelov Date: Sat, 31 Dec 2022 00:05:28 -0600 Subject: [PATCH 32/35] Raise safezone (FOV increase) --- .../ossg_firmware_mcu/src/display/global_settings.hpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/global_settings.hpp b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/global_settings.hpp index 6ab393b..b203ed1 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/global_settings.hpp +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/global_settings.hpp @@ -24,13 +24,14 @@ and the display will be slightly distorted. (x/2) = 360 720/2 = 240 -Max res 720x480 will usually not display anything... too much memory? +Max res 720x480 will only work if use_psram = 2; */ //Change screen res here -#define AV_WIDTH_OG 480 +#define AV_WIDTH_OG 480 #define AV_HEIGHT_OG 320 -#define AV_SAFEZONE 0 + +#define AV_SAFEZONE 40 //Raise to effectively raise FOV at the cost of resolution //Reference these for runtime shit #define AV_WIDTH AV_WIDTH_OG - AV_SAFEZONE From 7c4851342fbe01ed843c444751abe8c7e96e727b Mon Sep 17 00:00:00 2001 From: Alex Israelov Date: Sat, 31 Dec 2022 01:49:20 -0600 Subject: [PATCH 33/35] Add autoscrolled live life captions --- .../src/display/displaymanager.cpp | 52 ++++++++++++++++++- .../src/display/displaymanager.hpp | 3 ++ .../src/display/global_settings.hpp | 2 +- .../ossg_firmware_mcu/src/display/gui/ui.c | 41 +++++++++++++++ .../ossg_firmware_mcu/src/display/gui/ui.h | 6 +++ .../ossg_firmware_mcu/src/display/lv_conf.h | 4 +- .../ossg_firmware_mcu/src/main.cpp | 25 ++------- 7 files changed, 108 insertions(+), 25 deletions(-) diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/displaymanager.cpp b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/displaymanager.cpp index 110ce93..31a239d 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/displaymanager.cpp +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/displaymanager.cpp @@ -14,11 +14,13 @@ using namespace std; #include "esp_log.h" #include "esp_vfs_fat.h" #include "sdmmc_cmd.h" +#include "driver/gpio.h" #define LGFX_USE_V1 #define LGFX_CVBS #define LGFX_ESP_WROVER_KIT - +#define DISPLAY_EN_PIN GPIO_NUM_2 +#define MAX_CAPTION_LENGTH 6000 #include #include "user_setting.hpp" #include "helper_display.hpp" @@ -42,10 +44,24 @@ esp_timer_create_args_t screenTimerArgs = { lv_obj_t* blankScreen; +//display power control +void setup_display_en(void){ + gpio_set_direction(DISPLAY_EN_PIN, GPIO_MODE_OUTPUT); +} + +void power_to_display(bool power_on){ + ESP_LOGI(TAG, "Sending power value to display: %d", power_on); + gpio_set_level(DISPLAY_EN_PIN, !power_on); // Turn the LED on +} + // Set everything up void displayStart(){ cout << "DISPLAY START TRIGGERED" << endl; + // Turn on power to the display + setup_display_en(); + power_to_display(true); + lcd.init(); // Initialize LovyanGFX lv_init(); // Initialize lvgl @@ -78,15 +94,21 @@ void displayClear(){ void screenTimerCallback(void* arg){ displayClear(); + power_to_display(false); } void updateClock(){ - //do smth + /* + TODO: Handle this. + Currently there are multiple clock objects so either change them all or find a way to consolidate them. + (Do this next commit) + */ } // Call this when turning on or updating the screen // (updates the screen shutoff timer) void updateActivity(int timeoutSeconds = 5){ + power_to_display(true); //TODO: evaluate putting this here lcd.setBrightness(128); uint64_t timeoutMicroSeconds = timeoutSeconds * 1000000; @@ -118,6 +140,32 @@ void displayEnterVoiceCommandStep3(char* command, char* soFar){ lvgl_release(); } +char * currentCaption = ""; +void displayLiveCaptions(char* body = ""){ + + currentCaption = strcat(currentCaption, body); + string currCapStr(currentCaption); + if(currCapStr.length() > MAX_CAPTION_LENGTH) currCapStr = currCapStr.substr(currCapStr.length()/2); + currentCaption = &currCapStr[0]; + + updateActivity(INT_MAX); + lvgl_acquire(); + if(lv_scr_act() == ui_Card_Live_Captions) //TODO: investigate why this only works sporatically + { + ESP_LOGI(TAG, "UPDATE LIVE CAPTION SCREEN"); + lv_label_set_text(ui_Card_Live_Captions_Content, currentCaption); + lv_obj_scroll_to_y(ui_Card_Live_Captions_Content, SHRT_MAX, LV_ANIM_ON); + } + else + { + ESP_LOGI(TAG, "NEW LIVE CAPTION SCREEN"); + lv_label_set_text(ui_Card_Live_Captions_Content, currentCaption); + lv_scr_load(ui_Card_Live_Captions); + lv_obj_scroll_to_y(ui_Card_Live_Captions_Content, SHRT_MAX, LV_ANIM_OFF); + } + lvgl_release(); +} + void displaySearchEngineResult(char* title, char* body, char* image = ""){ updateActivity(16); //16 seconds diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/displaymanager.hpp b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/displaymanager.hpp index a90879a..0855e33 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/displaymanager.hpp +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/displaymanager.hpp @@ -3,6 +3,8 @@ //using namespace std; //std::string str; //using std::string; +extern void setup_display_en(void); +extern void power_to_display(bool power_on); extern void displayStart(); extern void displayClear(); extern void updateActivity(int seconds = 5); @@ -11,6 +13,7 @@ extern void displayEnterVoiceCommandStep2(); extern void displayEnterVoiceCommandStep3(char* command, char* soFar); //extern void displayEnterVoiceCommandStep3(string command, string soFar); extern void displaySearchEngineResult(char* title, char* body, char* image = ""); +extern void displayLiveCaptions(char* body = ""); extern void updateClock(); // extern MessageTypes messageTypesList; // extern char* currentMode; \ No newline at end of file diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/global_settings.hpp b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/global_settings.hpp index b203ed1..3085948 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/global_settings.hpp +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/global_settings.hpp @@ -29,7 +29,7 @@ Max res 720x480 will only work if use_psram = 2; //Change screen res here #define AV_WIDTH_OG 480 -#define AV_HEIGHT_OG 320 +#define AV_HEIGHT_OG 360 #define AV_SAFEZONE 40 //Raise to effectively raise FOV at the cost of resolution diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/gui/ui.c b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/gui/ui.c index b4c0bcd..d133074 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/gui/ui.c +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/gui/ui.c @@ -89,6 +89,12 @@ lv_obj_t * ui_ContainerBelowHeader5; lv_obj_t * ui_Content; lv_obj_t * ui_Title; +lv_obj_t *ui_Card_Live_Captions; +lv_obj_t *ui_Card_Live_Captions_Header; +lv_obj_t *ui_ContainerBelowHeader1; +lv_obj_t *ui_Card_Live_Captions_Title; +lv_obj_t *ui_Card_Live_Captions_Content; + ///////////////////// TEST LVGL SETTINGS //////////////////// #if LV_COLOR_DEPTH != 16 #error "LV_COLOR_DEPTH should be 16bit to match SquareLine Studio's settings" @@ -825,6 +831,40 @@ void ui_Card_Search_Ver_screen_init(void) } +void ui_Card_Live_Captions_screen_init(void) +{ +ui_Card_Live_Captions = lv_obj_create(NULL); +lv_obj_clear_flag( ui_Card_Live_Captions, LV_OBJ_FLAG_SCROLLABLE ); /// Flags +lv_obj_set_style_bg_color(ui_Card_Live_Captions, lv_color_hex(0x000000), LV_PART_MAIN | LV_STATE_DEFAULT ); +lv_obj_set_style_bg_opa(ui_Card_Live_Captions, 255, LV_PART_MAIN| LV_STATE_DEFAULT); + +ui_Card_Live_Captions_Header = ui_Telescope_Header_create(ui_Card_Live_Captions); +lv_obj_set_x( ui_Card_Live_Captions_Header, 0 ); +lv_obj_set_y( ui_Card_Live_Captions_Header, 0 ); + +ui_ContainerBelowHeader1 = ui_ContainerBelowHeader_create(ui_Card_Live_Captions); +lv_obj_set_x( ui_ContainerBelowHeader1, 0 ); +lv_obj_set_y( ui_ContainerBelowHeader1, lv_pct(7) ); + +ui_Card_Live_Captions_Title = lv_label_create(ui_ContainerBelowHeader1); +lv_obj_set_width( ui_Card_Live_Captions_Title, lv_pct(100)); +lv_obj_set_height( ui_Card_Live_Captions_Title, LV_SIZE_CONTENT); /// 1 +lv_label_set_long_mode(ui_Card_Live_Captions_Title,LV_LABEL_LONG_SCROLL_CIRCULAR); +lv_label_set_text(ui_Card_Live_Captions_Title,"Live Captions"); +lv_obj_clear_flag( ui_Card_Live_Captions_Title, LV_OBJ_FLAG_PRESS_LOCK | LV_OBJ_FLAG_CLICK_FOCUSABLE | LV_OBJ_FLAG_GESTURE_BUBBLE | LV_OBJ_FLAG_SNAPPABLE | LV_OBJ_FLAG_SCROLLABLE | LV_OBJ_FLAG_SCROLL_ELASTIC | LV_OBJ_FLAG_SCROLL_MOMENTUM | LV_OBJ_FLAG_SCROLL_CHAIN ); /// Flags +lv_obj_set_style_text_font(ui_Card_Live_Captions_Title, &lv_font_montserrat_22, LV_PART_MAIN| LV_STATE_DEFAULT); + +ui_Card_Live_Captions_Content = lv_label_create(ui_ContainerBelowHeader1); +lv_obj_set_width( ui_Card_Live_Captions_Content, lv_pct(100)); +lv_obj_set_height( ui_Card_Live_Captions_Content, lv_pct(85)); +lv_obj_set_align( ui_Card_Live_Captions_Content, LV_ALIGN_BOTTOM_LEFT ); +lv_label_set_text(ui_Card_Live_Captions_Content,"Coronavirus disease 2019 (COVID-19) is a contagious disease caused by a virus, the severe acute respiratory syndrome coronavirus 2sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss (SARS-CoV-2). The first known case was identified in Wuhan, China, in December 2019.[7] The disease quickly spread worldwide, resulting in the COVID-19 pandemic.Coronavirus disease 2019 (COVID-19) is a contagious disease caused by a virus, the severe acute respiratory syndrome coronavirus 2sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss (SARS-CoV-2). The first known case was identified in Wuhan, China, in December 2019.[7] The disease quickly spread worldwide, resulting in the COVID-19 pandemic.oronavirus disease 2019 (COVID-19) is a contagious disease caused by a virus, the severe acute respiratory syndrome coronavirus 2sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss (SARS-CoV-2). The first known case was identified in Wuhan, China, in December 2019.[7] The disease quickly spread worldwide, resulting in the COVID-19 pandemic.Coronavirus disease 2019 (COVID-19) is a contagious disease caused by a virus, the severe acute respiratory syndrome coronavirus 2sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss (SARS-CoV-2). The first known case was identified in Wuhan, China, in December 2019.[7] The disease quickly spread worldwide, resulting in the COVID-19 pandemic.oronavirus disease 2019 (COVID-19) is a contagious disease caused by a virus, the severe acute respiratory syndrome coronavirus 2sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss (SARS-CoV-2). The first known case was identified in Wuhan, China, in December 2019.[7] The disease quickly spread worldwide, resulting in the COVID-19 pandemic.Coronavirus disease 2019 (COVID-19) is a contagious disease caused by a virus, the severe acute respiratory syndrome coronavirus 2sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss (SARS-CoV-2). The first known case was identified in Wuhan, China, in December 2019.[7] The disease quickly spread worldwide, resulting in the COVID-19 pandemic.oronavirus disease 2019 (COVID-19) is a contagious disease caused by a virus, the severe acute respiratory syndrome coronavirus 2sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss (SARS-CoV-2). The first known case was identified in Wuhan, China, in December 2019.[7] The disease quickly spread worldwide, resulting in the COVID-19 pandemic.Coronavirus disease 2019 (COVID-19) is a contagious disease caused by a virus, the severe acute respiratory syndrome coronavirus 2sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss (SARS-CoV-2). The first known case was identified in Wuhan, China, in December 2019.[7] The disease quickly spread worldwide, resulting in the COVID-19 pandemic.oronavirus disease 2019 (COVID-19) is a contagious disease caused by a virus, the severe acute respiratory syndrome coronavirus 2sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss (SARS-CoV-2). The first known case was identified in Wuhan, China, in December 2019.[7] The disease quickly spread worldwide, resulting in the COVID-19 pandemic.Coronavirus disease 2019 (COVID-19) is a contagious disease caused by a virus, the severe acute respiratory syndrome coronavirus 2sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss (SARS-CoV-2). The first known case was identified in Wuhan, China, in December 2019.[7] The disease quickly spread worldwide, resulting in the COVID-19 pandemic."); +lv_obj_clear_flag( ui_Card_Live_Captions_Content, LV_OBJ_FLAG_PRESS_LOCK | LV_OBJ_FLAG_CLICK_FOCUSABLE | LV_OBJ_FLAG_GESTURE_BUBBLE | LV_OBJ_FLAG_SNAPPABLE | LV_OBJ_FLAG_SCROLL_ELASTIC | LV_OBJ_FLAG_SCROLL_MOMENTUM | LV_OBJ_FLAG_SCROLL_CHAIN ); /// Flags +lv_obj_set_scrollbar_mode(ui_Card_Live_Captions_Content, LV_SCROLLBAR_MODE_OFF); +lv_obj_set_scroll_dir(ui_Card_Live_Captions_Content, LV_DIR_VER); +lv_obj_set_style_text_font(ui_Card_Live_Captions_Content, &lv_font_montserrat_18, LV_PART_MAIN| LV_STATE_DEFAULT); +} + void ui_init(void) { LV_EVENT_GET_COMP_CHILD = lv_event_register_id(); @@ -844,5 +884,6 @@ void ui_init(void) ui_Card_Search_Textonly_screen_init(); ui_Card_Search_Hor_screen_init(); ui_Card_Search_Ver_screen_init(); + ui_Card_Live_Captions_screen_init(); //lv_disp_load_scr(ui_Home_Screen); } diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/gui/ui.h b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/gui/ui.h index ce64ab8..bc05835 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/gui/ui.h +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/gui/ui.h @@ -102,6 +102,12 @@ extern lv_obj_t * ui_ContainerBelowHeader5; extern lv_obj_t * ui_Content; extern lv_obj_t * ui_Title; +extern lv_obj_t *ui_Card_Live_Captions; +extern lv_obj_t *ui_Card_Live_Captions_Header; +extern lv_obj_t *ui_ContainerBelowHeader1; +extern lv_obj_t *ui_Card_Live_Captions_Title; +extern lv_obj_t *ui_Card_Live_Captions_Content; + void ui_init(void); #ifdef __cplusplus diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/lv_conf.h b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/lv_conf.h index 9587dff..603e5b0 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/lv_conf.h +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/lv_conf.h @@ -275,14 +275,14 @@ *-----------*/ /*1: Show CPU usage and FPS count*/ -#define LV_USE_PERF_MONITOR 1 +#define LV_USE_PERF_MONITOR 0 #if LV_USE_PERF_MONITOR #define LV_USE_PERF_MONITOR_POS LV_ALIGN_BOTTOM_RIGHT #endif /*1: Show the used memory and the memory fragmentation * Requires LV_MEM_CUSTOM = 0*/ -#define LV_USE_MEM_MONITOR 1 +#define LV_USE_MEM_MONITOR 0 #if LV_USE_MEM_MONITOR #define LV_USE_MEM_MONITOR_POS LV_ALIGN_BOTTOM_LEFT #endif diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp index 147438e..9cb379b 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp @@ -30,18 +30,6 @@ static const char *TAG = "MAIN_OSSG"; //gpio #include "driver/gpio.h" -#define DISPLAY_EN_PIN GPIO_NUM_2 - -//display power control -void setup_display_en(void){ - gpio_set_direction(DISPLAY_EN_PIN, GPIO_MODE_OUTPUT); -} - -void power_to_display(bool power_on){ - ESP_LOGI(TAG, "Sending power value to display: %d", power_on); - gpio_set_level(DISPLAY_EN_PIN, !power_on); // Turn the LED on -} - //websocket buffer MessageBufferHandle_t websocketSendBuffer; const size_t websocketSendBufferLen = (1024 * 4 * sizeof(char *)) + sizeof(size_t); // room for websocket buffer, room for one size_t for MessageBuffer overhead @@ -98,9 +86,10 @@ void eventDistributor(void *args){ //ESP_LOGI(TAG, "===========\nESP EVENT DISTR GOT EVENT!!!\n==========="); //printPerfInfo(true); vTaskDelay(pdMS_TO_TICKS(1)); + ESP_LOGI(TAG, "%s", jsonString); JsonMessageParser* jsonMessageParser = new JsonMessageParser(jsonString); char * messageType = (*jsonMessageParser).getMessageType(); - ESP_LOGI(TAG, "Message Type is: %s", messageType); + //ESP_LOGI(TAG, "Message Type is: %s", messageType); //can't use a switch statement here, so big if-else if (!strcmp(messageType, messageTypesList.FINAL_TRANSCRIPT)){ ESP_LOGI(TAG, "GOT FINAL TRANSCRIPT"); @@ -114,11 +103,11 @@ void eventDistributor(void *args){ char * body = (*jsonMessageParser).getJsonKey(messageTypesList.TRANSCRIPT_TEXT); ESP_LOGI(TAG, "BODY IS: %s", body); #if ENABLEDISPLAY - displaySearchEngineResult(title, body); + displayLiveCaptions(body); #endif } } else if (!strcmp(messageType, messageTypesList.INTERMEDIATE_TRANSCRIPT)){ - ESP_LOGI(TAG, "GOT INTERMEDIATE TRANSCRIPT"); + //ESP_LOGI(TAG, "GOT INTERMEDIATE TRANSCRIPT"); } else if (!strcmp(messageType, messageTypesList.SEARCH_ENGINE_RESULT)){ ESP_LOGI(TAG, "GOT SEARCH ENGINE RESULT"); JsonMessageParser *searchEngineResultData = new JsonMessageParser((*jsonMessageParser).getJsonKey(messageTypesList.SEARCH_ENGINE_RESULT_DATA)); @@ -164,11 +153,7 @@ void eventDistributor(void *args){ void startTheDisplay(){ #if ENABLEDISPLAY - //turn on power to the display - setup_display_en(); - power_to_display(true); - - //start lovyan+LVGL+UI + //start display+LovyanGFX+LVGL displayStart(); displayEnterVoiceCommandStep2(); #endif From caaf8fc555f8114c37d584d75709ae39bdf2712d Mon Sep 17 00:00:00 2001 From: Alex Israelov Date: Sun, 1 Jan 2023 17:13:49 -0600 Subject: [PATCH 34/35] Add live captions for translation + paragraph breaks --- .../ossg_firmware_mcu/src/display/displaymanager.cpp | 9 ++++++++- .../ossg_firmware_mcu/src/display/displaymanager.hpp | 2 +- .../esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp | 3 ++- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/displaymanager.cpp b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/displaymanager.cpp index 31a239d..bf0e347 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/displaymanager.cpp +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/displaymanager.cpp @@ -140,8 +140,13 @@ void displayEnterVoiceCommandStep3(char* command, char* soFar){ lvgl_release(); } +char * newParagraphChar = "\n\n"; +char * previousTitle = ""; char * currentCaption = ""; -void displayLiveCaptions(char* body = ""){ +void displayLiveCaptions(char* title = "", char* body = ""){ + + if(strcmp(title, previousTitle) != 0) currentCaption = ""; //reset captions if new title + if(strcmp(currentCaption, "") != 0) currentCaption = strcat(currentCaption, newParagraphChar); //If not empty, insert new paragraph currentCaption = strcat(currentCaption, body); string currCapStr(currentCaption); @@ -153,12 +158,14 @@ void displayLiveCaptions(char* body = ""){ if(lv_scr_act() == ui_Card_Live_Captions) //TODO: investigate why this only works sporatically { ESP_LOGI(TAG, "UPDATE LIVE CAPTION SCREEN"); + lv_label_set_text(ui_Card_Live_Captions_Title, title); lv_label_set_text(ui_Card_Live_Captions_Content, currentCaption); lv_obj_scroll_to_y(ui_Card_Live_Captions_Content, SHRT_MAX, LV_ANIM_ON); } else { ESP_LOGI(TAG, "NEW LIVE CAPTION SCREEN"); + lv_label_set_text(ui_Card_Live_Captions_Title, title); lv_label_set_text(ui_Card_Live_Captions_Content, currentCaption); lv_scr_load(ui_Card_Live_Captions); lv_obj_scroll_to_y(ui_Card_Live_Captions_Content, SHRT_MAX, LV_ANIM_OFF); diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/displaymanager.hpp b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/displaymanager.hpp index 0855e33..b6e3c60 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/displaymanager.hpp +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/displaymanager.hpp @@ -13,7 +13,7 @@ extern void displayEnterVoiceCommandStep2(); extern void displayEnterVoiceCommandStep3(char* command, char* soFar); //extern void displayEnterVoiceCommandStep3(string command, string soFar); extern void displaySearchEngineResult(char* title, char* body, char* image = ""); -extern void displayLiveCaptions(char* body = ""); +extern void displayLiveCaptions(char* title = "", char* body = ""); extern void updateClock(); // extern MessageTypes messageTypesList; // extern char* currentMode; \ No newline at end of file diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp index 9cb379b..65c02fe 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp @@ -103,7 +103,7 @@ void eventDistributor(void *args){ char * body = (*jsonMessageParser).getJsonKey(messageTypesList.TRANSCRIPT_TEXT); ESP_LOGI(TAG, "BODY IS: %s", body); #if ENABLEDISPLAY - displayLiveCaptions(body); + displayLiveCaptions(title, body); #endif } } else if (!strcmp(messageType, messageTypesList.INTERMEDIATE_TRANSCRIPT)){ @@ -130,6 +130,7 @@ void eventDistributor(void *args){ //call display reference card here with title, body, image arguments #if ENABLEDISPLAY displaySearchEngineResult(title, body); + //displayLiveCaptions(title, body); #endif } else if(!strcmp(messageType, messageTypesList.ACTION_SWITCH_MODES)){ From 02223a13efb58373c3256cebfb8c45fe230982c0 Mon Sep 17 00:00:00 2001 From: Alex Israelov Date: Tue, 3 Jan 2023 14:33:31 -0600 Subject: [PATCH 35/35] Hopefully (but not realistically) v1.0 --- .../src/display/displaymanager.cpp | 35 ++++++++++--------- .../ossg_firmware_mcu/src/main.cpp | 6 ++-- 2 files changed, 21 insertions(+), 20 deletions(-) diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/displaymanager.cpp b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/displaymanager.cpp index bf0e347..1afe6e5 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/displaymanager.cpp +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/display/displaymanager.cpp @@ -86,13 +86,13 @@ void displayStart(){ //Wipe everything from screen void displayClear(){ lvgl_acquire(); - lv_obj_t * currentScreen = lv_scr_act(); lv_scr_load(blankScreen); lcd.setBrightness(0); lvgl_release(); } void screenTimerCallback(void* arg){ + ESP_LOGI(TAG, "SCREEN TIMER CALLBACK TRIGGERED"); displayClear(); power_to_display(false); } @@ -108,11 +108,12 @@ void updateClock(){ // Call this when turning on or updating the screen // (updates the screen shutoff timer) void updateActivity(int timeoutSeconds = 5){ + ESP_LOGI(TAG, "UPDATE ACTIVITY TRIGGERED"); power_to_display(true); //TODO: evaluate putting this here lcd.setBrightness(128); uint64_t timeoutMicroSeconds = timeoutSeconds * 1000000; - esp_timer_stop(screenTimer); //make sure it's not running anymore + if(timeoutSeconds == -1) timeoutMicroSeconds = INT64_MAX; esp_timer_start_once(screenTimer, timeoutMicroSeconds); } @@ -140,33 +141,33 @@ void displayEnterVoiceCommandStep3(char* command, char* soFar){ lvgl_release(); } -char * newParagraphChar = "\n\n"; -char * previousTitle = ""; -char * currentCaption = ""; +string previousTitle = ""; +string currentCaptionString = ""; void displayLiveCaptions(char* title = "", char* body = ""){ - - if(strcmp(title, previousTitle) != 0) currentCaption = ""; //reset captions if new title - if(strcmp(currentCaption, "") != 0) currentCaption = strcat(currentCaption, newParagraphChar); //If not empty, insert new paragraph - - currentCaption = strcat(currentCaption, body); - string currCapStr(currentCaption); - if(currCapStr.length() > MAX_CAPTION_LENGTH) currCapStr = currCapStr.substr(currCapStr.length()/2); - currentCaption = &currCapStr[0]; - - updateActivity(INT_MAX); + ESP_LOGI(TAG, "DISP LIVE CAPTIONS CALLED WITH TITLE: %s, BODY: %s", title, body); + string titleString(title); + string bodyString(body); + if(titleString != previousTitle) currentCaptionString = ""; + if(currentCaptionString.length() > 0) currentCaptionString += "\n\n"; + previousTitle = titleString; + currentCaptionString = currentCaptionString + bodyString; + //ESP_LOGI(TAG, "NEW CAPTION: " + currentCaptionString); + if(currentCaptionString.length() > MAX_CAPTION_LENGTH) currentCaptionString = currentCaptionString.substr(currentCaptionString.length()/2); + + updateActivity(-1); lvgl_acquire(); if(lv_scr_act() == ui_Card_Live_Captions) //TODO: investigate why this only works sporatically { ESP_LOGI(TAG, "UPDATE LIVE CAPTION SCREEN"); lv_label_set_text(ui_Card_Live_Captions_Title, title); - lv_label_set_text(ui_Card_Live_Captions_Content, currentCaption); + lv_label_set_text(ui_Card_Live_Captions_Content, ¤tCaptionString[0]); lv_obj_scroll_to_y(ui_Card_Live_Captions_Content, SHRT_MAX, LV_ANIM_ON); } else { ESP_LOGI(TAG, "NEW LIVE CAPTION SCREEN"); lv_label_set_text(ui_Card_Live_Captions_Title, title); - lv_label_set_text(ui_Card_Live_Captions_Content, currentCaption); + lv_label_set_text(ui_Card_Live_Captions_Content, ¤tCaptionString[0]); lv_scr_load(ui_Card_Live_Captions); lv_obj_scroll_to_y(ui_Card_Live_Captions_Content, SHRT_MAX, LV_ANIM_OFF); } diff --git a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp index 65c02fe..576279b 100644 --- a/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp +++ b/electronics_and_firmware/esp32_firmware_v0p3/ossg_firmware_mcu/src/main.cpp @@ -129,8 +129,8 @@ void eventDistributor(void *args){ char * body = (*jsonMessageParser).getJsonKey(messageTypesList.TRANSLATE_TEXT_RESULT_DATA); //call display reference card here with title, body, image arguments #if ENABLEDISPLAY - displaySearchEngineResult(title, body); - //displayLiveCaptions(title, body); + //displaySearchEngineResult(title, body); + displayLiveCaptions(title, body); #endif } else if(!strcmp(messageType, messageTypesList.ACTION_SWITCH_MODES)){ @@ -194,7 +194,7 @@ void app_main(void) //setup eventsDistributor and eventsBuffer, which handles incoming data from WIS and calls functions based on what WIS tells us to do eventsBuffer = xMessageBufferCreate(eventsBufferLen); TaskHandle_t eventsTask = NULL; - xTaskCreate(eventDistributor, "events_distribution_task", 6*1024, NULL, 1, &eventsTask); + xTaskCreate(eventDistributor, "events_distribution_task", 10*1024, NULL, 1, &eventsTask); //connect to WIS web socket websocketSendBuffer = xMessageBufferCreate(websocketSendBufferLen);