Added AVRC notifications, untested
authorNilsForsse¨ <forssennils@gmail.com>
Wed, 22 Dec 2021 19:43:05 +0000 (20:43 +0100)
committerNilsForsse¨ <forssennils@gmail.com>
Wed, 22 Dec 2021 19:43:05 +0000 (20:43 +0100)
main/Audiolib.cpp
main/Audiolib.h
main/Peripherals.cpp
sdkconfig

index 1364c5ec016869524231519837b06f4ee90447a8..91a8b6b55adcd9f781d44e1f420aec0a45e5a197 100644 (file)
@@ -109,14 +109,19 @@ void Audiolib::avrc_cb(esp_avrc_ct_cb_event_t event, esp_avrc_ct_cb_param_t *par
     switch (event)
     {
     case ESP_AVRC_CT_CONNECTION_STATE_EVT:
+
         printf("AVRC, Connection state\n");
         esp_avrc_ct_send_get_rn_capabilities_cmd(0);
         getMeta();
         break;
+
     case ESP_AVRC_CT_PASSTHROUGH_RSP_EVT:
+
         printf("AVRC, Passthrough\n");
         break;
+
     case ESP_AVRC_CT_METADATA_RSP_EVT:
+
         printf("AVRC, Metadata response\n");
         text = (char *)calloc(param->meta_rsp.attr_length + 1, sizeof(char));
         memcpy(text, param->meta_rsp.attr_text, param->meta_rsp.attr_length);
@@ -141,65 +146,114 @@ void Audiolib::avrc_cb(esp_avrc_ct_cb_event_t event, esp_avrc_ct_cb_param_t *par
             .artist = this->artist,
             .album = this->album, 
             };
-
             on_change_cb(AL_META_UPDATE, &sending_param);
-
             sent_title = false;
             sent_artist = false;
             sent_album = false;
         }
-
         break;
+
     case ESP_AVRC_CT_PLAY_STATUS_RSP_EVT:
+
         printf("AVRC, Play status\n");
         break;
+
     case ESP_AVRC_CT_CHANGE_NOTIFY_EVT:
-        switch(param->change_ntf.event_id) {
+
+        switch(param->change_ntf.event_id)
+        {
         case ESP_AVRC_RN_TRACK_CHANGE:
-            printf("AVRC, track change\n");
-            printf("AVRC, Sent request for meta and track change\n");
+
+            printf("AVRC NTFY, track change\n");
             getMeta();
             esp_avrc_ct_send_register_notification_cmd(0, ESP_AVRC_RN_TRACK_CHANGE, 0);
             break;
+
         case ESP_AVRC_RN_PLAY_STATUS_CHANGE:
-            printf("AVRC, play status change\n");
+
+            printf("AVRC NTFY, play status change\n");
+            esp_avrc_ct_send_register_notification_cmd(0, ESP_AVRC_RN_PLAY_STATUS_CHANGE, 0);
+
             switch(param->change_ntf.event_parameter.playback) {
             case ESP_AVRC_PLAYBACK_STOPPED:
-                printf("AVRC, Playback stopped\n");
+                printf("Playback stopped\n");
                 on_change_cb(AL_STOPPED, NULL);
                 break;
             case ESP_AVRC_PLAYBACK_PLAYING:
-                printf("AVRC, Playback playing\n");
+                printf("Playback playing\n");
                 on_change_cb(AL_PLAYING, NULL);
                 break;
             case ESP_AVRC_PLAYBACK_PAUSED:
-                printf("AVRC, Playback paused\n");
+                printf("Playback paused\n");
                 on_change_cb(AL_PAUSED, NULL);
                 break;
             case ESP_AVRC_PLAYBACK_ERROR:
-                printf("AVRC, Playback erorr\n");
+                printf("Playback erorr\n");
                 break;
             default:
-                printf("AVRC, Default playback case\n");
+                printf("Default playback case\n");
                 break;
             }
-            printf("Sent request for play status change\n");
-            esp_avrc_ct_send_register_notification_cmd(0, ESP_AVRC_RN_PLAY_STATUS_CHANGE, 0);
             break;
+
+        case ESP_AVRC_RN_BATTERY_STATUS_CHANGE:
+
+            printf("AVRC NTFY, Battery Change\n");
+            esp_avrc_ct_send_register_notification_cmd(0, ESP_AVRC_RN_BATTERY_STATUS_CHANGE, 0);
+
+            switch(param->change_ntf.event_parameter.batt) {
+            case ESP_AVRC_BATT_NORMAL:
+                printf("Battery Normal\n");
+                break;
+            case ESP_AVRC_BATT_WARNING:
+                printf("Battery Warning\n");
+                break;
+            case ESP_AVRC_BATT_EXTERNAL:
+                printf("Battery External\n");
+                break;
+            case ESP_AVRC_BATT_FULL_CHARGE:
+                printf("Battery Full Charge\n");
+                break;
+            case ESP_AVRC_BATT_CRITICAL:
+                printf("Battery Critical\n");
+                break;
+            }
+            break;
+
+        case ESP_AVRC_RN_VOLUME_CHANGE:
+
+            printf("AVRC NTFY, Volume Change");
+            esp_avrc_ct_send_register_notification_cmd(0, ESP_AVRC_RN_VOLUME_CHANGE, 0);
+            break;
+
+        default: 
+
+            printf("AVRC NTFY, Default change notify");
+            break;
+
         }
         break;
+
     case ESP_AVRC_CT_REMOTE_FEATURES_EVT:
+
         printf("AVRC, Remote features\n");
         break;
+
     case ESP_AVRC_CT_GET_RN_CAPABILITIES_RSP_EVT:
+
         printf("AVRC, RN capabilities\n");
         printf("Sent requests\n");
         esp_avrc_ct_send_register_notification_cmd(0, ESP_AVRC_RN_TRACK_CHANGE, 0);
         esp_avrc_ct_send_register_notification_cmd(1, ESP_AVRC_RN_PLAY_STATUS_CHANGE, 0);
+        esp_avrc_ct_send_register_notification_cmd(2, ESP_AVRC_RN_VOLUME_CHANGE, 0);
+        esp_avrc_ct_send_register_notification_cmd(3, ESP_AVRC_RN_BATTERY_STATUS_CHANGE, 0);
         break;
+
     default:
+
         printf("AVRC, Default case\n");
         break;
+
     }
 }
 
@@ -346,6 +400,11 @@ void Audiolib::stop_filter()
 {
     _filtering = false;
 }
+
+void Audiolib::setAbsVolume(uint8_t vol) {
+    esp_avrc_ct_send_set_absolute_volume_cmd(0, vol);
+}
+
 Filter::Filter(filter_t type, uint16_t freq, uint16_t sample_rate, float Q, float peakgain)
 {
     _sample_rate = sample_rate;
@@ -475,4 +534,4 @@ void CombinedChannelFilter::update(float gain)
 {
     left->update(gain);
     right->update(gain);
-}
\ No newline at end of file
+}
index 4fadf04fc5d36d4abedbc0f32338c1c3e84e3885..fb88554508e8d3a74388abc47e72223de7504dc3 100644 (file)
@@ -79,6 +79,8 @@ public:
     void play();
     void next();
     void previous();
+
+    void setAbsVolume(uint8_t vol);
     
 
 private:
index fa25bec58b1c82cc5e7d8bfebf512fc4593ce9f8..ab5740e7b992c478c0f05ebcb6a6d32b0a41e692 100644 (file)
@@ -8,16 +8,6 @@ gpio_config_t btn_config = {
     .intr_type = GPIO_INTR_ANYEDGE
 };
 
-static void btn_isr_handler(void*);
-
-void btn_isr_handler(void *args) {
-    Button* obj = (Button*) args;
-    if (obj->on_change != NULL) {
-        bool state = obj->getPressed();
-        (*obj->on_change)(state);
-    }
-}
-
 Potentiometer::Potentiometer(const int min, const int max, pot_update_callback_t update_ntfy)
     : Potentiometer(ADC_UNIT_1, ADC_CHANNEL_1, min, max, update_ntfy) {}
 
index 4a2ca563b44407e3af1d9e668e6b06b84ec0fd73..0f55495be587aa88132696009f1c8e60f3e32f7f 100644 (file)
--- a/sdkconfig
+++ b/sdkconfig
@@ -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,15 +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
-# CONFIG_BTDM_COEX_BT_OPTIONS is not set
-# 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
@@ -231,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
@@ -414,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
@@ -454,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
 #
@@ -465,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
 
 #
@@ -485,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
 
 #
@@ -536,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
 #
@@ -566,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
@@ -583,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
 
@@ -602,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
 
@@ -657,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
 #
@@ -664,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
@@ -695,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
 
 #
@@ -713,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
 
 #
@@ -750,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
@@ -809,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
@@ -878,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
@@ -922,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
@@ -930,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
@@ -952,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
 
 #
@@ -977,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
@@ -1011,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
 
 #
@@ -1026,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
@@ -1060,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
 
@@ -1074,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
 
@@ -1084,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
@@ -1110,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
@@ -1142,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
@@ -1149,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
 
 #
@@ -1189,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
 
 #
@@ -1247,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
 
@@ -1524,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
@@ -1546,10 +1685,13 @@ CONFIG_ESP32S2_PANIC_PRINT_REBOOT=y
 # CONFIG_ESP32S2_PANIC_GDBSTUB 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
 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
@@ -1560,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