latest
authorNils Forssén <forssennils@gmail.com>
Mon, 17 Oct 2022 20:20:58 +0000 (22:20 +0200)
committerNils Forssén <forssennils@gmail.com>
Mon, 17 Oct 2022 20:20:58 +0000 (22:20 +0200)
main/Audiolib.cpp
main/Audiolib.h
main/Peripherals.cpp
main/main.cpp
sdkconfig.old

index 70de5e021552563da77d054d4ebde8425aaa7c03..63d2b73f18efd30be796ca77acaaec905d6a8326 100644 (file)
@@ -313,7 +313,7 @@ void Audiolib::a2d_cb(esp_a2d_cb_event_t event, esp_a2d_cb_param_t *param)
     }
 }
 
-void Audiolib::a2d_data_cb(const uint8_t *data, uint32_t len)
+inline void Audiolib::a2d_data_cb(const uint8_t *data, uint32_t len)
 {
     int16_t *data16 = (int16_t *)data;
     int temp;
index ce700c620b8d0e0dfcd4607447772b9474226765..934d1d2a6b937ca704bab3f65027e1831109aa83 100644 (file)
@@ -73,7 +73,7 @@ public:
     void stop_filter();
     
     void avrc_cb(esp_avrc_ct_cb_event_t event, esp_avrc_ct_cb_param_t *param);
-    void a2d_data_cb(const uint8_t *data, uint32_t len);
+    inline void a2d_data_cb(const uint8_t *data, uint32_t len);
     void a2d_cb(esp_a2d_cb_event_t event, esp_a2d_cb_param_t* param);
 
     void pause();
@@ -110,7 +110,7 @@ public:
     Filter(filter_t type, uint16_t frequency, uint16_t sample_rate, float Q, float peakgain);
 
     template <typename in_out_type>
-    in_out_type process_signal(in_out_type in) {
+    inline in_out_type process_signal(in_out_type in) {
         float fout;
         float fin = (float) in;
         fout = fin * _b0 + _z1;
index fa10c86a900acbb37c871b2bf7400c5b28f3052a..d76083fc5873819977ff33e9e7430d98eab8501b 100644 (file)
@@ -106,11 +106,11 @@ Button::Button(gpio_num_t gpio_pin, btn_update_callback_t update_ntfy)
 }
 
 bool Button::getPressed() {
-    return (bool) gpio_get_level(gpio_pin);
+    return !(bool) gpio_get_level(gpio_pin);
 }
 
 bool Button::getPressedSingle() {
-    bool state = (bool) gpio_get_level(gpio_pin);
+    bool state = !(bool) gpio_get_level(gpio_pin);
     bool ret = state && !lastState;
     lastState = state;
     return ret;
index d08224e6385d468643237eed22849e735bbe8375..9f1f4b532370143ad3385647903d5a4e1318e3c4 100644 (file)
 #define SCREEN_WIDTH 128
 #define SCREEN_HEIGHT 32
 #define INPUT_INTERVAL_S 0.01
-#define DISPLAY_INTERVAL_S 0.09
+#define DISPLAY_INTERVAL_S 0.05
 
 #define POT1_CHANNEL ADC_CHANNEL_5
 #define POT2_CHANNEL ADC_CHANNEL_6
 #define POT3_CHANNEL ADC_CHANNEL_7
 #define POT4_CHANNEL ADC_CHANNEL_8
 
-#define BTN1_PIN GPIO_NUM_4
-#define BTN2_PIN GPIO_NUM_2
-#define BTN3_PIN GPIO_NUM_15
+#define BTN1_PIN GPIO_NUM_25
+#define BTN2_PIN GPIO_NUM_26
+#define BTN3_PIN GPIO_NUM_27
+
+#define DISPLAY_SDA_PIN GPIO_NUM_21
+#define DISPLAY_SCL_PIN GPIO_NUM_22
+
+#define EXT_DAC_BCLK_PIN GPIO_NUM_16
+#define EXT_DAC_WSEL_PIN GPIO_NUM_5
+#define EXT_DAC_DATA_PIN GPIO_NUM_17
 
 // -------------- Flags --------------
 enum StatusBM {
@@ -75,19 +82,19 @@ bool IRAM_ATTR display_timer_cb(void* args);
 // -------------- Object definitions --------------
 Audiolib Audiosource = Audiolib("HESA FREDRIK", &update_display);
 
-Potentiometer* pot1 = new Potentiometer(ADC_UNIT_2, POT1_CHANNEL, 70, 1010); //65/66 -> 572/573 -> 1019
+//Potentiometer* pot1 = new Potentiometer(ADC_UNIT_2, POT1_CHANNEL, 70, 1010); //65/66 -> 572/573 -> 1019
 //Potentiometer* pot2 = new Potentiometer(ADC1_CHANNEL_4, 41, 988);
 //Potentiometer* pot3 = new Potentiometer(ADC1_CHANNEL_6, 38, 988);
 //Potentiometer* pot4 = new Potentiometer(ADC1_CHANNEL_7, 29, 990);
 
-Button* btn1 = new Button(BTN1_PIN);
-Button* btn2 = new Button(BTN2_PIN);
-Button* btn3 = new Button(BTN3_PIN);
+//Button* btn1 = new Button(BTN1_PIN);
+//Button* btn2 = new Button(BTN2_PIN);
+//Button* btn3 = new Button(BTN3_PIN);
 
 CombinedChannelFilter* highshelf_filter = new CombinedChannelFilter(new Filter(HIGHSHELF, 2000, 44100, 0.8, 0), new Filter(HIGHSHELF, 2000, 44100, 0.8, 0));
 CombinedChannelFilter* lowshelf_filter = new CombinedChannelFilter(new Filter(LOWSHELF, 250, 44100, 0.8, 0), new Filter(LOWSHELF, 250, 44100, 0.8, 0));
-CombinedChannelFilter* highpass_filter = new CombinedChannelFilter(new Filter(LOWPASS, 8000, 44100, 0.75, 0), new Filter(LOWPASS, 8000, 44100, 0.75, 0));
-CombinedChannelFilter* lowpass_filter = new CombinedChannelFilter(new Filter(HIGHPASS, 60, 44100, 0.75, 0), new Filter(HIGHPASS, 60, 44100, 0.75, 0));
+//CombinedChannelFilter* highpass_filter = new CombinedChannelFilter(new Filter(LOWPASS, 8000, 44100, 0.75, 0), new Filter(LOWPASS, 8000, 44100, 0.75, 0));
+//CombinedChannelFilter* lowpass_filter = new CombinedChannelFilter(new Filter(HIGHPASS, 60, 44100, 0.75, 0), new Filter(HIGHPASS, 60, 44100, 0.75, 0));
 CombinedChannelFilter* peak_filter = new CombinedChannelFilter(new Filter(PEAK, 700, 44100, 0.8, 0), new Filter(PEAK, 700, 44100, 0.8, 0));
 // ------------------------------------------------
 
@@ -95,8 +102,8 @@ extern "C" {
     void app_main(void){
 
         // -------------- U8G2 setup --------------
-        u8g2_esp32_hal.sda = GPIO_NUM_32;
-        u8g2_esp32_hal.scl = GPIO_NUM_33;
+        u8g2_esp32_hal.sda = DISPLAY_SDA_PIN;
+        u8g2_esp32_hal.scl = DISPLAY_SCL_PIN;
         u8g2_esp32_hal_init(u8g2_esp32_hal);
         u8g2_Setup_ssd1306_i2c_128x32_univision_f(
             &u8g2,
@@ -112,12 +119,12 @@ extern "C" {
         event_queue = xQueueCreate(10, 1);
 
         // -------------- Audiosource setup --------------
-        Audiosource.set_I2S(26, 27, 25);
-        Audiosource.add_combined_filter(highpass_filter);
+        Audiosource.set_I2S(EXT_DAC_BCLK_PIN, EXT_DAC_WSEL_PIN, EXT_DAC_DATA_PIN);
+        //Audiosource.add_combined_filter(highpass_filter);
         Audiosource.add_combined_filter(lowshelf_filter);  
         Audiosource.add_combined_filter(peak_filter); 
         Audiosource.add_combined_filter(highshelf_filter);
-        Audiosource.add_combined_filter(lowpass_filter);
+        //Audiosource.add_combined_filter(lowpass_filter);
         Audiosource.start();
         // -----------------------------------------------
 
@@ -143,7 +150,7 @@ extern "C" {
             xQueueReceive(event_queue, &event, portMAX_DELAY);
             if (event & DISPLAY) {
                 draw();
-            }
+            }/*
             if (event & INPUT) {
                 if (btn1->getPressedSingle()){
                     Audiosource.previous();
@@ -159,7 +166,7 @@ extern "C" {
                 if (btn3->getPressedSingle()) {
                     Audiosource.next();
                 }
-            }
+            }*/
         }
     }
 }
@@ -180,8 +187,8 @@ void draw() {
     if ((displayStatus & PLAY) || (displayStatus & STOP) || (displayStatus & PAUSE)) {
         u8g2_DrawStr(&u8g2, 23, SCREEN_HEIGHT/2, artistText);
         u8g2_DrawStr(&u8g2, x, SCREEN_HEIGHT, titleText);
-        x += 1;
-        if (x == SCREEN_WIDTH) x = 0;
+        x -= 1;
+        if (x == -SCREEN_WIDTH) x = 0;
     }
     else {
         u8g2_DrawStr(&u8g2, 0, SCREEN_HEIGHT/2, "Disconnected!");
index 56085e96df2ad5dbb36af56f806e5efa58f0e4fc..0f55495be587aa88132696009f1c8e60f3e32f7f 100644 (file)
@@ -3,6 +3,7 @@
 # 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
@@ -37,6 +38,7 @@ CONFIG_APP_RETRIEVE_LEN_ELF_SHA=16
 #
 # 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
@@ -57,6 +59,8 @@ CONFIG_BOOTLOADER_WDT_ENABLE=y
 CONFIG_BOOTLOADER_WDT_TIME_MS=9000
 # CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE is not set
 # CONFIG_BOOTLOADER_SKIP_VALIDATE_IN_DEEP_SLEEP is not set
+# CONFIG_BOOTLOADER_SKIP_VALIDATE_ON_POWER_ON is not set
+# CONFIG_BOOTLOADER_SKIP_VALIDATE_ALWAYS is not set
 CONFIG_BOOTLOADER_RESERVE_RTC_SIZE=0
 # CONFIG_BOOTLOADER_CUSTOM_RESERVE_RTC is not set
 # end of Bootloader config
@@ -73,7 +77,7 @@ CONFIG_BOOTLOADER_RESERVE_RTC_SIZE=0
 # Serial flasher config
 #
 CONFIG_ESPTOOLPY_BAUD_OTHER_VAL=115200
-CONFIG_ESPTOOLPY_WITH_STUB=y
+# 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
@@ -97,6 +101,7 @@ 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
@@ -148,6 +153,7 @@ CONFIG_COMPILER_STACK_CHECK_MODE_NONE=y
 # 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
 
 #
@@ -162,13 +168,20 @@ 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=y
+CONFIG_BT_CTRL_ESP32=y
 
 #
-# Bluetooth controller
+# Bluetooth controller(ESP32 Dual Mode Bluetooth)
 #
 # CONFIG_BTDM_CTRL_MODE_BLE_ONLY is not set
 CONFIG_BTDM_CTRL_MODE_BR_EDR_ONLY=y
@@ -199,14 +212,44 @@ CONFIG_BTDM_CTRL_HCI_MODE_VHCI=y
 #
 # MODEM SLEEP Options
 #
-CONFIG_BTDM_MODEM_SLEEP=y
-CONFIG_BTDM_MODEM_SLEEP_MODE_ORIG=y
-# CONFIG_BTDM_MODEM_SLEEP_MODE_EVED is not set
-CONFIG_BTDM_LPCLK_SEL_MAIN_XTAL=y
+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_SLEEP_CLOCK_ACCURACY_INDEX_EFF=1
-# end of Bluetooth controller
+# 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
@@ -230,11 +273,14 @@ CONFIG_BT_SSP_ENABLED=y
 CONFIG_BT_BLE_ENABLED=y
 CONFIG_BT_GATTS_ENABLE=y
 # CONFIG_BT_GATTS_PPCP_CHAR_GAP is not set
+# CONFIG_BT_BLE_BLUFI_ENABLE is not set
+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=y
 # CONFIG_BT_SMP_SLAVE_CON_PARAMS_UPD_ENABLE is not set
 # CONFIG_BT_STACK_NO_LOG is not set
@@ -413,13 +459,17 @@ 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_ESTAB_LINK_CONN_TOUT=30
+# CONFIG_BT_BLE_RPA_SUPPORTED is not set
 CONFIG_BT_RESERVE_DRAM=0xdb5c
 # end of Bluedroid Options
+
+CONFIG_BT_NIMBLE_USE_ESP_TIMER=y
 # end of Bluetooth
 
 # CONFIG_BLE_MESH is not set
@@ -453,6 +503,16 @@ CONFIG_SPI_MASTER_ISR_IN_IRAM=y
 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
 #
@@ -464,6 +524,12 @@ CONFIG_SPI_SLAVE_ISR_IN_IRAM=y
 #
 # 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
 
 #
@@ -484,6 +550,7 @@ 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
 
 #
@@ -535,16 +602,11 @@ CONFIG_ESP32_XTAL_FREQ_40=y
 CONFIG_ESP32_XTAL_FREQ=40
 # CONFIG_ESP32_DISABLE_BASIC_ROM_CONSOLE 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
 
-#
-# Power Management
-#
-# CONFIG_PM_ENABLE is not set
-# end of Power Management
-
 #
 # ADC-Calibration
 #
@@ -565,10 +627,10 @@ 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_UART_NONE 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_TX_GPIO=1
-CONFIG_ESP_CONSOLE_UART_RX_GPIO=3
 CONFIG_ESP_CONSOLE_UART_BAUDRATE=115200
 CONFIG_ESP_INT_WDT=y
 CONFIG_ESP_INT_WDT_TIMEOUT_MS=300
@@ -582,7 +644,6 @@ CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU1=y
 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_BT_OFFSET=2
 CONFIG_ESP_MAC_ADDR_UNIVERSE_ETH=y
 # end of Common ESP-related
 
@@ -601,6 +662,7 @@ 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
 
@@ -656,6 +718,12 @@ CONFIG_ESP_NETIF_TCPIP_LWIP=y
 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
 #
@@ -663,12 +731,20 @@ 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
+
+#
+# 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
@@ -677,7 +753,7 @@ CONFIG_ESP_TIMER_IMPL_TG0_LAC=y
 #
 # Wi-Fi
 #
-# CONFIG_ESP32_WIFI_SW_COEXIST_ENABLE is not set
+CONFIG_ESP32_WIFI_SW_COEXIST_ENABLE=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
@@ -694,10 +770,17 @@ CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_0=y
 # CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_1 is not set
 CONFIG_ESP32_WIFI_SOFTAP_BEACON_MAX_LEN=752
 CONFIG_ESP32_WIFI_MGMT_SBUF_NUM=32
-# CONFIG_ESP32_WIFI_DEBUG_LOG_ENABLE is not set
+# CONFIG_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
 
 #
@@ -712,9 +795,9 @@ CONFIG_ESP32_PHY_MAX_TX_POWER=20
 #
 # Core dump
 #
-# 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_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
 
 #
@@ -749,21 +832,26 @@ CONFIG_FATFS_LFN_NONE=y
 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_SERIAL_TASK_STACK_SIZE=2048
+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_SERIAL_TASK_PRIO=10
+CONFIG_FMB_PORT_TASK_PRIO=10
 # CONFIG_FMB_CONTROLLER_SLAVE_ID_SUPPORT is not set
 CONFIG_FMB_CONTROLLER_NOTIFY_TIMEOUT=20
 CONFIG_FMB_CONTROLLER_NOTIFY_QUEUE_SIZE=20
@@ -808,6 +896,7 @@ CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE=0
 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
@@ -877,16 +966,19 @@ 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
@@ -921,6 +1013,14 @@ 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
@@ -929,10 +1029,12 @@ 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
@@ -951,6 +1053,22 @@ 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
 
 #
@@ -976,6 +1094,7 @@ CONFIG_MBEDTLS_SSL_OUT_CONTENT_LEN=4096
 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 is not set
@@ -1010,6 +1129,8 @@ 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
 
 #
@@ -1025,6 +1146,7 @@ CONFIG_MBEDTLS_RC4_DISABLED=y
 # 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
@@ -1059,6 +1181,7 @@ CONFIG_MBEDTLS_ECP_NIST_OPTIM=y
 # 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
 
@@ -1073,6 +1196,7 @@ 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
 
@@ -1083,6 +1207,9 @@ 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
@@ -1109,6 +1236,7 @@ CONFIG_NEWLIB_STDIN_LINE_ENDING_CR=y
 # 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
@@ -1141,6 +1269,9 @@ CONFIG_SPI_FLASH_DANGEROUS_WRITE_ABORTS=y
 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
@@ -1148,7 +1279,10 @@ CONFIG_SPI_FLASH_ERASE_YIELD_TICKS=1
 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
 
 #
@@ -1188,15 +1322,20 @@ CONFIG_SPIFFS_USE_MTIME=y
 # end of SPIFFS Configuration
 
 #
-# TinyUSB
+# TCP Transport
+#
+
+#
+# Websocket
 #
+CONFIG_WS_TRANSPORT=y
+CONFIG_WS_BUFFER_SIZE=1024
+# end of Websocket
+# end of TCP Transport
 
 #
-# Descriptor configuration
+# TinyUSB
 #
-CONFIG_USB_DESC_CUSTOM_VID=0x1234
-CONFIG_USB_DESC_CUSTOM_PID=0x5678
-# end of Descriptor configuration
 # end of TinyUSB
 
 #
@@ -1246,9 +1385,11 @@ CONFIG_WIFI_PROV_AUTOSTOP_TIMEOUT=30
 # Supplicant
 #
 CONFIG_WPA_MBEDTLS_CRYPTO=y
+# CONFIG_WPA_WAPI_PSK is not set
 # CONFIG_WPA_DEBUG_PRINT is not set
 # CONFIG_WPA_TESTING_OPTIONS is not set
-# CONFIG_WPA_WPS_WARS is not set
+# CONFIG_WPA_WPS_STRICT is not set
+# CONFIG_WPA_11KV_SUPPORT is not set
 # end of Supplicant
 # end of Component config
 
@@ -1523,10 +1664,9 @@ 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_CONSOLE_UART_NONE is not set
+# CONFIG_ESP_CONSOLE_UART_NONE is not set
+CONFIG_CONSOLE_UART=y
 CONFIG_CONSOLE_UART_NUM=0
-CONFIG_CONSOLE_UART_TX_GPIO=1
-CONFIG_CONSOLE_UART_RX_GPIO=3
 CONFIG_CONSOLE_UART_BAUDRATE=115200
 CONFIG_INT_WDT=y
 CONFIG_INT_WDT_TIMEOUT_MS=300
@@ -1544,11 +1684,14 @@ 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_SW_COEXIST_ENABLE is not set
+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
 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=2048
+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 is not set
@@ -1559,7 +1702,6 @@ CONFIG_MB_EVENT_QUEUE_TIMEOUT=20
 CONFIG_MB_TIMER_PORT_ENABLED=y
 CONFIG_MB_TIMER_GROUP=0
 CONFIG_MB_TIMER_INDEX=0
-CONFIG_SUPPORT_STATIC_ALLOCATION=y
 # CONFIG_ENABLE_STATIC_TASK_CLEAN_UP_HOOK is not set
 CONFIG_TIMER_TASK_PRIORITY=1
 CONFIG_TIMER_TASK_STACK_DEPTH=2048