浏览代码

command to UI backend wip

Sebastien 5 年之前
父节点
当前提交
56396d11ef

+ 12 - 2
components/platform_console/cmd_i2ctools.c

@@ -11,13 +11,13 @@
 #include "cmd_i2ctools.h"
 #include "argtable3/argtable3.h"
 #include "driver/i2c.h"
-#include "esp_console.h"
+#include "platform_console.h"
 #include "esp_log.h"
 #include "string.h"
 #include "stdio.h"
 #include "platform_config.h"
 #include "accessors.h"
-
+#include "trace.h"
 #define I2C_MASTER_TX_BUF_DISABLE 0 /*!< I2C master doesn't need buffer */
 #define I2C_MASTER_RX_BUF_DISABLE 0 /*!< I2C master doesn't need buffer */
 #define WRITE_BIT I2C_MASTER_WRITE  /*!< I2C master write */
@@ -798,6 +798,8 @@ static void register_i2c_set_display(){
 			.func = &do_i2c_show_display,
 			.argtable = NULL
 	};
+	cmd_to_json(&i2c_set_display);
+	cmd_to_json(&i2c_show_display);
 	ESP_ERROR_CHECK(esp_console_cmd_register(&i2c_set_display));
 	ESP_ERROR_CHECK(esp_console_cmd_register(&i2c_show_display));
 }
@@ -810,6 +812,7 @@ static void register_i2cdectect(void)
         .func = &do_i2cdetect_cmd,
         .argtable = NULL
     };
+    cmd_to_json(&i2cdetect_cmd);
     ESP_ERROR_CHECK(esp_console_cmd_register(&i2cdetect_cmd));
 }
 
@@ -826,6 +829,7 @@ static void register_i2cget(void)
         .func = &do_i2cget_cmd,
         .argtable = &i2cget_args
     };
+    cmd_to_json(&i2cget_cmd);
     ESP_ERROR_CHECK(esp_console_cmd_register(&i2cget_cmd));
 }
 
@@ -843,6 +847,7 @@ static void register_i2cset(void)
         .func = &do_i2cset_cmd,
         .argtable = &i2cset_args
     };
+    cmd_to_json(&i2cset_cmd);
     ESP_ERROR_CHECK(esp_console_cmd_register(&i2cset_cmd));
 }
 
@@ -860,6 +865,7 @@ static void register_i2cdump(void)
         .func = &do_i2cdump_cmd,
         .argtable = &i2cdump_args
     };
+    cmd_to_json(&i2cdump_cmd);
     ESP_ERROR_CHECK(esp_console_cmd_register(&i2cdump_cmd));
 }
 
@@ -874,6 +880,7 @@ static void register_i2ccheck(){
         .func = &do_i2c_check,
         .argtable = &i2ccheck_args
     };
+    cmd_to_json(&cmd);
     ESP_ERROR_CHECK(esp_console_cmd_register(&cmd));
 }
 
@@ -889,9 +896,11 @@ static void register_i2cstop(){
         .func = &do_i2c_stop,
         .argtable = &i2cstop_args
     };
+    cmd_to_json(&i2cconfig_cmd);
     ESP_ERROR_CHECK(esp_console_cmd_register(&i2cconfig_cmd));
 }
 
+
 static void register_i2cconfig(void)
 {
     i2cconfig_args.port = arg_int0("p", "port", "<0|1>", "Set the I2C bus port number");
@@ -907,6 +916,7 @@ static void register_i2cconfig(void)
         .func = &do_i2cconfig_cmd,
         .argtable = &i2cconfig_args
     };
+    cmd_to_json(&i2cconfig_cmd);
     ESP_ERROR_CHECK(esp_console_cmd_register(&i2cconfig_cmd));
 }
 

+ 9 - 0
components/platform_console/cmd_nvs.c

@@ -25,6 +25,7 @@ extern "C" {
 #include "cmd_nvs.h"
 #include "nvs.h"
 #include "nvs_utilities.h"
+#include "platform_console.h"
 
 
 
@@ -547,6 +548,14 @@ void register_nvs()
     ESP_ERROR_CHECK(esp_console_cmd_register(&erase_cmd));
     ESP_ERROR_CHECK(esp_console_cmd_register(&erase_namespace_cmd));
     ESP_ERROR_CHECK(esp_console_cmd_register(&erase_wifimanager_cmd));
+    cmd_to_json(&list_entries_cmd);
+    cmd_to_json(&set_cmd);
+    cmd_to_json(&get_cmd);
+    cmd_to_json(&erase_cmd);
+    cmd_to_json(&erase_namespace_cmd);
+    cmd_to_json(&erase_wifimanager_cmd);
+
+
 
 }
 #ifdef __cplusplus

+ 11 - 0
components/platform_console/cmd_system.c

@@ -30,6 +30,8 @@
 #include "esp_sleep.h"
 #include "driver/uart.h"            // for the uart driver access
 #include "messaging.h"				  
+#include "platform_console.h"
+
 
 #ifdef CONFIG_FREERTOS_USE_STATS_FORMATTING_FUNCTIONS
 #define WITH_TASKS_INFO 1
@@ -92,6 +94,7 @@ static void register_version()
         .hint = NULL,
         .func = &get_version,
     };
+    cmd_to_json(&cmd);
     ESP_ERROR_CHECK( esp_console_cmd_register(&cmd) );
 }
 
@@ -228,6 +231,7 @@ static void register_restart()
         .hint = NULL,
         .func = &restart,
     };
+    cmd_to_json(&cmd);
     ESP_ERROR_CHECK( esp_console_cmd_register(&cmd) );
 }
 static void register_restart_ota()
@@ -238,6 +242,7 @@ static void register_restart_ota()
         .hint = NULL,
         .func = &restart_ota,
     };
+    cmd_to_json(&cmd);
     ESP_ERROR_CHECK( esp_console_cmd_register(&cmd) );
 }
 
@@ -249,6 +254,7 @@ static void register_factory_boot()
         .hint = NULL,
         .func = &restart_factory,
     };
+    cmd_to_json(&cmd);
     ESP_ERROR_CHECK( esp_console_cmd_register(&cmd) );
 }
 /** 'free' command prints available heap memory */
@@ -267,6 +273,7 @@ static void register_free()
         .hint = NULL,
         .func = &free_mem,
     };
+    cmd_to_json(&cmd);
     ESP_ERROR_CHECK( esp_console_cmd_register(&cmd) );
 }
 
@@ -286,6 +293,7 @@ static void register_heap()
         .hint = NULL,
         .func = &heap_size,
     };
+    cmd_to_json(&heap_cmd);
     ESP_ERROR_CHECK( esp_console_cmd_register(&heap_cmd) );
 
 }
@@ -320,6 +328,7 @@ static void register_tasks()
         .hint = NULL,
         .func = &tasks_info,
     };
+    cmd_to_json(&cmd);
     ESP_ERROR_CHECK( esp_console_cmd_register(&cmd) );
 }
 
@@ -390,6 +399,7 @@ static void register_deep_sleep()
         .func = &deep_sleep,
         .argtable = &deep_sleep_args
     };
+    cmd_to_json(&cmd);
     ESP_ERROR_CHECK( esp_console_cmd_register(&cmd) );
 }
 
@@ -486,5 +496,6 @@ static void register_light_sleep()
         .argtable = &light_sleep_args
     };
     ESP_ERROR_CHECK( esp_console_cmd_register(&cmd) );
+    cmd_to_json(&cmd);
 }
 

+ 7 - 0
components/platform_console/cmd_wifi.c

@@ -34,6 +34,8 @@
 #include "led.h"
 extern bool bypass_wifi_manager;
 #define JOIN_TIMEOUT_MS (10000)
+#include "platform_console.h"
+
 
 extern EventGroupHandle_t wifi_event_group;
 extern const int CONNECTED_BIT;
@@ -46,6 +48,11 @@ static struct {
     struct arg_end *end;
 } join_args;
 
+
+
+// todo: implement access point config - cmd_to_json(&i2cdetect_cmd);
+
+
 ///** Arguments used by 'join' function */
 //static struct {
 //    struct arg_int *autoconnect;

+ 66 - 2
components/platform_console/platform_console.c

@@ -26,7 +26,7 @@
 #include "esp_pthread.h"
 #include "cmd_decl.h"
 #include "wifi_manager.h"
-
+#include "trace.h"
 #include "platform_config.h"
 #include "telnet.h"
 
@@ -53,7 +53,71 @@ const char* recovery_prompt = LOG_COLOR_E "recovery-squeezelite-esp32> " LOG_RES
 #define MOUNT_PATH "/data"
 #define HISTORY_PATH MOUNT_PATH "/history.txt"
 void run_command(char * line);
-
+#define ADD_TO_JSON(o,t,n) if (t->n) cJSON_AddStringToObject(o,QUOTE(n),t->n);
+#define ADD_PARMS_TO_CMD(o,t,n) { cJSON * parms = ParmsToJSON(&t.n->hdr); if(parms) cJSON_AddItemToObject(o,QUOTE(n),parms); }
+cJSON * cmdList;
+cJSON * get_cmd_list(){
+	return cmdList;
+}
+cJSON * ParmsToJSON(struct arg_hdr * * argtable){
+	if(!argtable) return NULL;
+	cJSON * arg_list = cJSON_CreateArray();
+	struct arg_hdr * *table = (struct arg_hdr * *)argtable;
+	int tabindex = 0;
+	while (!(table[tabindex]->flag & ARG_TERMINATOR))
+	{
+		cJSON * entry = cJSON_CreateObject();
+		ADD_TO_JSON(entry,table[tabindex],datatype);
+		ADD_TO_JSON(entry,table[tabindex],glossary);
+		ADD_TO_JSON(entry,table[tabindex],longopts);
+		ADD_TO_JSON(entry,table[tabindex],shortopts);
+		cJSON_AddBoolToObject(entry, "isoptional", table[tabindex]->flag & ARG_HASOPTVALUE);
+		cJSON_AddBoolToObject(entry, "hasvalue", table[tabindex]->flag & ARG_HASVALUE);
+		cJSON_AddItemToArray(arg_list, entry);
+		tabindex++;
+	}
+	return arg_list;
+}
+esp_err_t cmd_to_json(const esp_console_cmd_t *cmd)
+{
+	if(!cmdList){
+		cmdList=cJSON_CreateObject();
+	}
+    if (cmd->command == NULL) {
+        return ESP_ERR_INVALID_ARG;
+    }
+    if (strchr(cmd->command, ' ') != NULL) {
+        return ESP_ERR_INVALID_ARG;
+    }
+    cJSON * jsoncmd = cJSON_CreateObject();
+    ADD_TO_JSON(jsoncmd,cmd,help);
+    ADD_TO_JSON(jsoncmd,cmd,hint);
+    if(cmd->argtable){
+    	cJSON_AddItemToObject(jsoncmd,"argtable",ParmsToJSON(cmd->argtable));
+    }
+    if (cmd->hint) {
+    	cJSON_AddStringToObject(jsoncmd, "hint", cmd->hint);
+    }
+    else if (cmd->argtable) {
+        /* Generate hint based on cmd->argtable */
+        char *buf = NULL;
+        size_t buf_size = 0;
+        FILE *f = open_memstream(&buf, &buf_size);
+        if (f != NULL) {
+            arg_print_syntax(f, cmd->argtable, NULL);
+            fclose(f);
+        }
+        cJSON_AddStringToObject(jsoncmd, "hint", buf);
+        free(buf);
+    }
+    char * b=cJSON_Print(jsoncmd);
+    if(b){
+    	ESP_LOGI(TAG,"Adding command table %s",b);
+    	free(b);
+    }
+    cJSON_AddItemToObject(cmdList, cmd->command,jsoncmd);
+    return ESP_OK;
+}
 void process_autoexec(){
 	int i=1;
 	char autoexec_name[21]={0};

+ 4 - 3
components/platform_console/platform_console.h

@@ -7,12 +7,13 @@
    CONDITIONS OF ANY KIND, either express or implied.
 */
 #pragma once
-
+#include "esp_console.h"
+#include "cJSON.h"
 #ifdef __cplusplus
 extern "C" {
 #endif
-
-
+esp_err_t cmd_to_json(const esp_console_cmd_t *cmd);
+cJSON * get_cmd_list();
 #ifdef __cplusplus
 }
 #endif

+ 1 - 1
components/wifi-manager/CMakeLists.txt

@@ -1,7 +1,7 @@
 idf_component_register( SRC_DIRS .
 						INCLUDE_DIRS . ${IDF_PATH}/components/esp_http_server/src ${IDF_PATH}/components/esp_http_server/src/port/esp32  ${IDF_PATH}/components/esp_http_server/src/util ${IDF_PATH}/components/esp_http_server/src/
 						REQUIRES squeezelite-ota json mdns 
-						PRIV_REQUIRES tools services platform_config esp_common json newlib freertos  spi_flash nvs_flash mdns pthread wpa_supplicant platform_console esp_http_server   
+						PRIV_REQUIRES tools services platform_config esp_common json newlib freertos  spi_flash nvs_flash mdns pthread wpa_supplicant platform_console esp_http_server console   
 						EMBED_FILES style.css code.js index.html bootstrap.min.css.gz jquery.min.js.gz popper.min.js.gz bootstrap.min.js.gz favicon.ico
 						
 )

+ 5 - 0
components/wifi-manager/_esp_http_server.h

@@ -86,6 +86,11 @@ static inline int __httpd_os_thread_create_static(TaskHandle_t *thread,
     }
     return ESP_FAIL;
 }
+
+
+
+
+
 #ifdef __cplusplus
 }
 #endif

+ 25 - 0
components/wifi-manager/http_server_handlers.c

@@ -52,6 +52,9 @@ function to process requests, decode URLs, serve files, etc. etc.
 #include "messaging.h"
 #include "platform_esp32.h"
 #include "trace.h"
+#include "esp_console.h"
+#include "argtable3/argtable3.h"
+#include "platform_console.h"
 
 #define HTTP_STACK_SIZE	(5*1024)
 const char str_na[]="N/A";
@@ -461,6 +464,28 @@ esp_err_t ap_scan_handler(httpd_req_t *req){
 	}
 	return err;
 }
+
+esp_err_t console_cmd_get_handler(httpd_req_t *req){
+    ESP_LOGD_LOC(TAG, "serving [%s]", req->uri);
+    if(!is_user_authenticated(req)){
+    	// todo:  redirect to login page
+    	// return ESP_OK;
+    }
+    /* if we can get the mutex, write the last version of the AP list */
+	esp_err_t err = set_content_type_from_req(req);
+	cJSON * cmdlist = get_cmd_list();
+	char * json_buffer = cJSON_Print(cmdlist);
+	if(json_buffer){
+		httpd_resp_send(req, (const char *)json_buffer, HTTPD_RESP_USE_STRLEN);
+		free(json_buffer);
+	}
+	else{
+		ESP_LOGD_LOC(TAG,  "Error retrieving command json string. ");
+		httpd_resp_send_err(req, HTTPD_500_INTERNAL_SERVER_ERROR, "Unable to format command");
+	}
+	ESP_LOGD_LOC(TAG, "done serving [%s]", req->uri);
+	return err;
+}
 esp_err_t ap_get_handler(httpd_req_t *req){
     ESP_LOGD_LOC(TAG, "serving [%s]", req->uri);
     if(!is_user_authenticated(req)){

+ 2 - 2
components/wifi-manager/http_server_handlers.h

@@ -60,7 +60,7 @@ function to process requests, decode URLs, serve files, etc. etc.
 #include "lwip/priv/tcp_priv.h"
 #include "lwip/priv/tcpip_priv.h"
 #include "esp_vfs.h"
-
+#include "esp_console.h"
 
 #ifdef __cplusplus
 extern "C" {
@@ -91,7 +91,7 @@ esp_err_t recovery_post_handler(httpd_req_t *req);
 esp_err_t flash_post_handler(httpd_req_t *req);
 esp_err_t status_get_handler(httpd_req_t *req);
 esp_err_t messages_get_handler(httpd_req_t *req);
-
+esp_err_t console_cmd_get_handler(httpd_req_t *req);
 esp_err_t ap_scan_handler(httpd_req_t *req);
 esp_err_t redirect_ev_handler(httpd_req_t *req);
 esp_err_t redirect_200_ev_handler(httpd_req_t *req);

+ 0 - 1
components/wifi-manager/wifi_manager.c

@@ -987,7 +987,6 @@ void wifi_manager_config_ap(){
 	/* SoftAP - Wifi Access Point configuration setup */
 		tcpip_adapter_ip_info_t info;
 		esp_err_t err=ESP_OK;
-		tcpip_adapter_dhcp_status_t state;
 		memset(&info, 0x00, sizeof(info));
 		char * value = NULL;
 		wifi_config_t ap_config = {

+ 3 - 0
components/wifi-manager/wifi_manager_http_server.c

@@ -58,6 +58,9 @@ void register_regular_handlers(httpd_handle_t server){
 	httpd_uri_t messages_get = { .uri = "/messages.json", .method = HTTP_GET, .handler = messages_get_handler, .user_ctx = rest_context };
 	httpd_register_uri_handler(server, &messages_get);
 
+	httpd_uri_t commands_get = { .uri = "/commands.json", .method = HTTP_GET, .handler = console_cmd_get_handler, .user_ctx = rest_context };
+	httpd_register_uri_handler(server, &commands_get);
+
 	httpd_uri_t config_post = { .uri = "/config.json", .method = HTTP_POST, .handler = config_post_handler, .user_ctx = rest_context };
 	httpd_register_uri_handler(server, &config_post);
 	httpd_uri_t connect_post = { .uri = "/connect.json", .method = HTTP_POST, .handler = connect_post_handler, .user_ctx = rest_context };

+ 38 - 70
sdkconfig

@@ -15,11 +15,11 @@ CONFIG_APP_COMPILE_TIME_DATE=y
 # CONFIG_APP_EXCLUDE_PROJECT_NAME_VAR 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_WARN=y
+# CONFIG_BOOTLOADER_LOG_LEVEL_INFO is not set
 # CONFIG_BOOTLOADER_LOG_LEVEL_DEBUG is not set
 # CONFIG_BOOTLOADER_LOG_LEVEL_VERBOSE is not set
-CONFIG_BOOTLOADER_LOG_LEVEL=3
+CONFIG_BOOTLOADER_LOG_LEVEL=2
 CONFIG_BOOTLOADER_SPI_WP_PIN=7
 CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_9V=y
 # CONFIG_BOOTLOADER_FACTORY_RESET is not set
@@ -44,9 +44,10 @@ CONFIG_ESPTOOLPY_FLASHFREQ_80M=y
 CONFIG_ESPTOOLPY_FLASHFREQ="80m"
 # CONFIG_ESPTOOLPY_FLASHSIZE_1MB is not set
 # CONFIG_ESPTOOLPY_FLASHSIZE_2MB is not set
-CONFIG_ESPTOOLPY_FLASHSIZE_8MB=y
+CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y
+# CONFIG_ESPTOOLPY_FLASHSIZE_8MB is not set
 # CONFIG_ESPTOOLPY_FLASHSIZE_16MB is not set
-CONFIG_ESPTOOLPY_FLASHSIZE="8MB"
+CONFIG_ESPTOOLPY_FLASHSIZE="4MB"
 CONFIG_ESPTOOLPY_FLASHSIZE_DETECT=y
 CONFIG_ESPTOOLPY_BEFORE_RESET=y
 # CONFIG_ESPTOOLPY_BEFORE_NORESET is not set
@@ -74,24 +75,18 @@ CONFIG_LOGGING_SLIMPROTO="info"
 CONFIG_LOGGING_STREAM="info"
 CONFIG_LOGGING_DECODE="info"
 CONFIG_LOGGING_OUTPUT="info"
-CONFIG_JACK_LOCKED=y
-CONFIG_BAT_LOCKED=y
-CONFIG_I2C_LOCKED=y
-CONFIG_SPDIF_LOCKED=y
-CONFIG_LED_LOCKED=y
-CONFIG_SPKFAULT_LOCKED=y
-CONFIG_SQUEEZEAMP=y
+# CONFIG_SQUEEZEAMP is not set
 # CONFIG_A1S is not set
-# CONFIG_BASIC_I2C_BT is not set
+CONFIG_BASIC_I2C_BT=y
 CONFIG_I2S_NUM=0
 CONFIG_I2S_BCK_IO=33
 CONFIG_I2S_WS_IO=25
 CONFIG_I2S_DO_IO=32
 CONFIG_I2S_DI_IO=-1
 CONFIG_SDIF_NUM=0
-CONFIG_SPDIF_BCK_IO=33
-CONFIG_SPDIF_WS_IO=25
-CONFIG_SPDIF_DO_IO=15
+CONFIG_SPDIF_BCK_IO=-1
+CONFIG_SPDIF_WS_IO=-1
+CONFIG_SPDIF_DO_IO=-1
 CONFIG_A2DP_SINK_NAME="SMSL BT4.2"
 CONFIG_A2DP_DEV_NAME="Squeezelite"
 CONFIG_A2DP_CONTROL_DELAY_MS=500
@@ -107,16 +102,11 @@ CONFIG_I2C_CONFIG=""
 CONFIG_SPI_CONFIG=""
 CONFIG_SET_GPIO=""
 CONFIG_ROTARY_ENCODER=""
-CONFIG_LED_GREEN_GPIO=12
-CONFIG_LED_GREEN_GPIO_LEVEL=0
-CONFIG_LED_RED_GPIO=13
-CONFIG_LED_RED_GPIO_LEVEL=0
-CONFIG_JACK_GPIO=34
-CONFIG_JACK_GPIO_LEVEL=0
-CONFIG_SPKFAULT_GPIO=2
-CONFIG_SPKFAULT_GPIO_LEVEL=0
-CONFIG_BAT_CHANNEL=7
-CONFIG_BAT_SCALE="20.24"
+CONFIG_LED_GREEN_GPIO=-1
+CONFIG_LED_RED_GPIO=-1
+CONFIG_JACK_GPIO=-1
+CONFIG_SPKFAULT_GPIO=-1
+CONFIG_BAT_CHANNEL=-1
 CONFIG_WIFI_MANAGER_TASK_PRIORITY=5
 CONFIG_WIFI_MANAGER_MAX_RETRY=2
 CONFIG_DEFAULT_AP_SSID="squeezelite"
@@ -130,8 +120,8 @@ CONFIG_DEFAULT_AP_BEACON_INTERVAL=100
 CONFIG_DEFAULT_COMMAND_LINE="squeezelite -o I2S -b 500:2000 -d all=info -C 30"
 # CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG is not set
 CONFIG_COMPILER_OPTIMIZATION_LEVEL_RELEASE=y
-# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE is not set
-CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT=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_CXX_EXCEPTIONS is not set
 CONFIG_COMPILER_STACK_CHECK_MODE_NONE=y
@@ -183,15 +173,7 @@ CONFIG_BT_A2DP_ENABLE=y
 # CONFIG_BT_SPP_ENABLED is not set
 # CONFIG_BT_HFP_ENABLE is not set
 CONFIG_BT_SSP_ENABLED=y
-CONFIG_BT_BLE_ENABLED=y
-CONFIG_BT_GATTS_ENABLE=y
-# 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_BLE_SMP_ENABLE=y
-# CONFIG_BT_SMP_SLAVE_CON_PARAMS_UPD_ENABLE is not set
+# CONFIG_BT_BLE_ENABLED is not set
 CONFIG_BT_STACK_NO_LOG=y
 CONFIG_BT_ACL_CONNECTIONS=4
 CONFIG_BT_ALLOCATION_FROM_SPIRAM_FIRST=y
@@ -320,15 +302,7 @@ CONFIG_ESP_TASK_WDT=y
 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_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_ESP32_EMAC is not set
 # CONFIG_ETH_USE_SPI_ETHERNET is not set
 # CONFIG_ESP_EVENT_LOOP_PROFILING is not set
 CONFIG_ESP_EVENT_POST_FROM_ISR=y
@@ -362,13 +336,15 @@ CONFIG_ESP32_WIFI_MGMT_SBUF_NUM=32
 # CONFIG_ESP32_WIFI_IRAM_OPT is not set
 # CONFIG_ESP32_WIFI_RX_IRAM_OPT is not set
 CONFIG_ESP32_PHY_CALIBRATION_AND_DATA_STORAGE=y
-CONFIG_ESP32_PHY_INIT_DATA_IN_PARTITION=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_ENABLE_COREDUMP_TO_FLASH is not set
-# CONFIG_ESP32_ENABLE_COREDUMP_TO_UART is not set
-CONFIG_ESP32_ENABLE_COREDUMP_TO_NONE=y
-# CONFIG_ESP32_ENABLE_COREDUMP is not set
+CONFIG_ESP32_ENABLE_COREDUMP_TO_UART=y
+# CONFIG_ESP32_ENABLE_COREDUMP_TO_NONE is not set
+CONFIG_ESP32_ENABLE_COREDUMP=y
+CONFIG_ESP32_CORE_DUMP_MAX_TASKS_NUM=64
+CONFIG_ESP32_CORE_DUMP_UART_DELAY=0
 # CONFIG_FATFS_CODEPAGE_DYNAMIC is not set
 CONFIG_FATFS_CODEPAGE_437=y
 # CONFIG_FATFS_CODEPAGE_720 is not set
@@ -454,6 +430,7 @@ CONFIG_HEAP_TRACING_OFF=y
 # CONFIG_HEAP_TRACING_STANDALONE is not set
 # CONFIG_HEAP_TRACING_TOHOST is not set
 # CONFIG_HEAP_TRACING is not set
+CONFIG_LIBSODIUM_USE_MBEDTLS_SHA=y
 # CONFIG_LOG_DEFAULT_LEVEL_NONE is not set
 # CONFIG_LOG_DEFAULT_LEVEL_ERROR is not set
 CONFIG_LOG_DEFAULT_LEVEL_WARN=y
@@ -462,7 +439,7 @@ CONFIG_LOG_DEFAULT_LEVEL_WARN=y
 # CONFIG_LOG_DEFAULT_LEVEL_VERBOSE is not set
 CONFIG_LOG_DEFAULT_LEVEL=2
 CONFIG_LOG_COLORS=y
-CONFIG_LWIP_LOCAL_HOSTNAME="SqueezeAMP"
+CONFIG_LWIP_LOCAL_HOSTNAME="squeezelite-esp32"
 # CONFIG_LWIP_L2_TO_L3_COPY is not set
 # CONFIG_LWIP_IRAM_OPTIMIZATION is not set
 CONFIG_LWIP_TIMERS_ONDEMAND=y
@@ -471,7 +448,7 @@ CONFIG_LWIP_MAX_SOCKETS=16
 CONFIG_LWIP_SO_REUSE=y
 CONFIG_LWIP_SO_REUSE_RXTOALL=y
 # CONFIG_LWIP_SO_RCVBUF is not set
-CONFIG_LWIP_IP_FRAG=y
+# CONFIG_LWIP_IP_FRAG is not set
 # CONFIG_LWIP_IP_REASSEMBLY is not set
 # CONFIG_LWIP_STATS is not set
 # CONFIG_LWIP_ETHARP_TRUST_IP_MAC is not set
@@ -518,15 +495,14 @@ CONFIG_LWIP_SNTP_UPDATE_DELAY=3600000
 CONFIG_MBEDTLS_EXTERNAL_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_SSL_MAX_CONTENT_LEN=16384
+# CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN is not set
 # CONFIG_MBEDTLS_DEBUG is not set
 # CONFIG_MBEDTLS_ECP_RESTARTABLE is not set
 # CONFIG_MBEDTLS_CMAC_C is not set
 CONFIG_MBEDTLS_HARDWARE_AES=y
 # CONFIG_MBEDTLS_HARDWARE_MPI is not set
-CONFIG_MBEDTLS_HARDWARE_SHA=y
+# CONFIG_MBEDTLS_HARDWARE_SHA is not set
 CONFIG_MBEDTLS_HAVE_TIME=y
 # CONFIG_MBEDTLS_HAVE_TIME_DATE is not set
 # CONFIG_MBEDTLS_TLS_SERVER_AND_CLIENT is not set
@@ -545,7 +521,7 @@ CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA=y
 CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_RSA=y
 CONFIG_MBEDTLS_SSL_RENEGOTIATION=y
 # CONFIG_MBEDTLS_SSL_PROTO_SSL3 is not set
-CONFIG_MBEDTLS_SSL_PROTO_TLS1=y
+# CONFIG_MBEDTLS_SSL_PROTO_TLS1 is not set
 CONFIG_MBEDTLS_SSL_PROTO_TLS1_1=y
 CONFIG_MBEDTLS_SSL_PROTO_TLS1_2=y
 # CONFIG_MBEDTLS_SSL_PROTO_DTLS is not set
@@ -675,11 +651,11 @@ CONFIG_DSP_MAX_FFT_SIZE=512
 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_WARN=y
+# CONFIG_LOG_BOOTLOADER_LEVEL_INFO is not set
 # CONFIG_LOG_BOOTLOADER_LEVEL_DEBUG is not set
 # CONFIG_LOG_BOOTLOADER_LEVEL_VERBOSE is not set
-CONFIG_LOG_BOOTLOADER_LEVEL=3
+CONFIG_LOG_BOOTLOADER_LEVEL=2
 # CONFIG_APP_ROLLBACK_ENABLE is not set
 # CONFIG_FLASH_ENCRYPTION_ENABLED is not set
 CONFIG_FLASHMODE_QIO=y
@@ -697,8 +673,8 @@ CONFIG_MONITOR_BAUD_OTHER_VAL=115200
 CONFIG_MONITOR_BAUD=115200
 # CONFIG_OPTIMIZATION_LEVEL_DEBUG is not set
 CONFIG_OPTIMIZATION_LEVEL_RELEASE=y
-# CONFIG_OPTIMIZATION_ASSERTIONS_ENABLED is not set
-CONFIG_OPTIMIZATION_ASSERTIONS_SILENT=y
+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
@@ -730,14 +706,6 @@ CONFIG_BTU_TASK_STACK_SIZE=4096
 CONFIG_CLASSIC_BT_ENABLED=y
 CONFIG_A2DP_ENABLE=y
 # CONFIG_HFP_ENABLE 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=y
-# CONFIG_SMP_SLAVE_CON_PARAMS_UPD_ENABLE is not set
 # CONFIG_BLE_HOST_QUEUE_CONGESTION_CHECK is not set
 CONFIG_SMP_ENABLE=y
 CONFIG_BLE_ESTABLISH_LINK_CONNECTION_TIMEOUT=30

+ 2 - 0
squeezelite.cmake

@@ -141,6 +141,7 @@ add_custom_command(
 			COMMAND xtensa-esp32-elf-objcopy  --weaken-symbol esp_app_desc  ${build_dir}/esp-idf/app_update/libapp_update.a
 #			COMMAND xtensa-esp32-elf-objcopy  --strip-symbol start_ota  ${build_dir}/esp-idf/app_squeezelite/libapp_squeezelite.a
 ## IDF-V4.2+			COMMAND xtensa-esp32-elf-objcopy  --weaken-symbol main  ${build_dir}/esp-idf/squeezelite/libsqueezelite.a
+			COMMAND xtensa-esp32-elf-objcopy  --globalize-symbol find_command_by_name ${build_dir}/esp-idf/console/libconsole.a
 	        VERBATIM
 )
 add_custom_command(
@@ -148,6 +149,7 @@ add_custom_command(
 			PRE_LINK
 #			COMMAND xtensa-esp32-elf-objcopy  --strip-symbol start_ota  ${build_dir}/esp-idf/app_recovery/libapp_recovery.a
 			COMMAND xtensa-esp32-elf-objcopy  --weaken-symbol esp_app_desc  ${build_dir}/esp-idf/app_update/libapp_update.a
+			COMMAND xtensa-esp32-elf-objcopy  --globalize-symbol find_command_by_name ${build_dir}/esp-idf/console/libconsole.a			
 ## IDF-V4.2+			COMMAND xtensa-esp32-elf-objcopy  --weaken-symbol main  ${build_dir}/esp-idf/app_recovery/libapp_recovery.a
 	        VERBATIM
 )