diff --git a/components/platform_console/cmd_i2ctools.c b/components/platform_console/cmd_i2ctools.c index 62c3b7d5..dacfed2d 100644 --- a/components/platform_console/cmd_i2ctools.c +++ b/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)); } diff --git a/components/platform_console/cmd_nvs.c b/components/platform_console/cmd_nvs.c index 9d2f1470..30773831 100644 --- a/components/platform_console/cmd_nvs.c +++ b/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 diff --git a/components/platform_console/cmd_system.c b/components/platform_console/cmd_system.c index 98e10427..8bea008e 100644 --- a/components/platform_console/cmd_system.c +++ b/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); } diff --git a/components/platform_console/cmd_wifi.c b/components/platform_console/cmd_wifi.c index c7e9528b..26988bd8 100644 --- a/components/platform_console/cmd_wifi.c +++ b/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; diff --git a/components/platform_console/platform_console.c b/components/platform_console/platform_console.c index 3173da3e..7d9931a8 100644 --- a/components/platform_console/platform_console.c +++ b/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}; diff --git a/components/platform_console/platform_console.h b/components/platform_console/platform_console.h index bbad960f..1a7ae47f 100644 --- a/components/platform_console/platform_console.h +++ b/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 diff --git a/components/wifi-manager/CMakeLists.txt b/components/wifi-manager/CMakeLists.txt index 103276b7..c20cf376 100644 --- a/components/wifi-manager/CMakeLists.txt +++ b/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 ) diff --git a/components/wifi-manager/_esp_http_server.h b/components/wifi-manager/_esp_http_server.h index bde57c65..e64c1e57 100644 --- a/components/wifi-manager/_esp_http_server.h +++ b/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 diff --git a/components/wifi-manager/http_server_handlers.c b/components/wifi-manager/http_server_handlers.c index 30fa7851..9a3f211e 100644 --- a/components/wifi-manager/http_server_handlers.c +++ b/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)){ diff --git a/components/wifi-manager/http_server_handlers.h b/components/wifi-manager/http_server_handlers.h index a50b80f8..e8c71cc3 100644 --- a/components/wifi-manager/http_server_handlers.h +++ b/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); diff --git a/components/wifi-manager/wifi_manager.c b/components/wifi-manager/wifi_manager.c index 26255454..37e9b977 100644 --- a/components/wifi-manager/wifi_manager.c +++ b/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 = { diff --git a/components/wifi-manager/wifi_manager_http_server.c b/components/wifi-manager/wifi_manager_http_server.c index 73c81304..5a9fdbc5 100644 --- a/components/wifi-manager/wifi_manager_http_server.c +++ b/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 }; diff --git a/sdkconfig b/sdkconfig index 5bad6c1b..b640469e 100644 --- a/sdkconfig +++ b/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 diff --git a/squeezelite.cmake b/squeezelite.cmake index 561c9d14..1a237725 100644 --- a/squeezelite.cmake +++ b/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 )