mirror of
https://github.com/sle118/squeezelite-esp32.git
synced 2025-12-11 05:57:05 +03:00
More OTA changes, new build target
This commit is contained in:
@@ -1,142 +0,0 @@
|
||||
CONFIG_ESPTOOLPY_BAUD_2MB=y
|
||||
CONFIG_ESPTOOLPY_FLASHMODE_QIO=y
|
||||
CONFIG_ESPTOOLPY_FLASHFREQ_80M=y
|
||||
CONFIG_ESPTOOLPY_FLASHFREQ="80m"
|
||||
CONFIG_ESPTOOLPY_FLASHSIZE_16MB=y
|
||||
CONFIG_ESPTOOLPY_FLASHSIZE="16MB"
|
||||
CONFIG_ESPTOOLPY_FLASHSIZE_DETECT=y
|
||||
CONFIG_WIFI_FAST_SCAN=y
|
||||
CONFIG_WIFI_CONNECT_AP_BY_SIGNAL=y
|
||||
CONFIG_FAST_SCAN_THRESHOLD=y
|
||||
CONFIG_FAST_SCAN_MINIMUM_SIGNAL=-127
|
||||
CONFIG_EXAMPLE_OPEN=y
|
||||
CONFIG_INCLUDE_FLAC=y
|
||||
CONFIG_INCLUDE_FAAD=y
|
||||
CONFIG_INCLUDE_MAD=y
|
||||
CONFIG_INCLUDE_VORBIS=y
|
||||
CONFIG_INCLUDE_ALAC=y
|
||||
CONFIG_OTA_ALLOW_HTTP=y
|
||||
|
||||
CONFIG_BTAUDIO=y
|
||||
CONFIG_OUTPUT_NAME=""
|
||||
CONFIG_OUTPUT_RATES="44100"
|
||||
CONFIG_I2S_NUM=0
|
||||
CONFIG_I2S_BCK_IO=26
|
||||
CONFIG_I2S_WS_IO=25
|
||||
CONFIG_I2S_DO_IO=22
|
||||
CONFIG_I2S_BITS_PER_CHANNEL_16=y
|
||||
CONFIG_I2S_BITS_PER_CHANNEL=16
|
||||
CONFIG_A2DP_DEV_NAME="Squeezelite"
|
||||
CONFIG_A2DP_CONTROL_DELAY_MS=500
|
||||
CONFIG_A2DP_CONNECT_TIMEOUT_MS=1000
|
||||
CONFIG_PARTITION_TABLE_CUSTOM=y
|
||||
CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv"
|
||||
CONFIG_PARTITION_TABLE_FILENAME="partitions.csv"
|
||||
CONFIG_PARTITION_TABLE_OFFSET=0x8000
|
||||
CONFIG_PARTITION_TABLE_MD5=y
|
||||
CONFIG_COMPILER_OPTIMIZATION_LEVEL_RELEASE=y
|
||||
CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE=y
|
||||
CONFIG_COMPILER_STACK_CHECK_MODE_NONE=y
|
||||
CONFIG_BT_ENABLED=y
|
||||
CONFIG_BTDM_CTRL_MODE_BR_EDR_ONLY=y
|
||||
CONFIG_BTDM_CTRL_BR_EDR_MAX_ACL_CONN=2
|
||||
CONFIG_BTDM_CTRL_BR_EDR_MAX_SYNC_CONN=0
|
||||
CONFIG_BTDM_CTRL_BR_EDR_SCO_DATA_PATH_PCM=y
|
||||
CONFIG_BTDM_CTRL_BR_EDR_SCO_DATA_PATH_EFF=1
|
||||
CONFIG_BTDM_CTRL_BLE_MAX_CONN_EFF=0
|
||||
CONFIG_BTDM_CTRL_BR_EDR_MAX_ACL_CONN_EFF=2
|
||||
CONFIG_BTDM_CTRL_BR_EDR_MAX_SYNC_CONN_EFF=0
|
||||
CONFIG_BTDM_CTRL_PINNED_TO_CORE_0=y
|
||||
CONFIG_BTDM_CTRL_PINNED_TO_CORE=0
|
||||
CONFIG_BTDM_CTRL_HCI_MODE_VHCI=y
|
||||
CONFIG_BTDM_MODEM_SLEEP=y
|
||||
CONFIG_BTDM_MODEM_SLEEP_MODE_ORIG=y
|
||||
CONFIG_BTDM_LPCLK_SEL_MAIN_XTAL=y
|
||||
CONFIG_BTDM_BLE_SLEEP_CLOCK_ACCURACY_INDEX_EFF=1
|
||||
CONFIG_BT_BLUEDROID_ENABLED=y
|
||||
CONFIG_BT_BLUEDROID_PINNED_TO_CORE_0=y
|
||||
CONFIG_BT_BLUEDROID_PINNED_TO_CORE=0
|
||||
CONFIG_BT_BTC_TASK_STACK_SIZE=3072
|
||||
CONFIG_BT_BTU_TASK_STACK_SIZE=4096
|
||||
CONFIG_BT_CLASSIC_ENABLED=y
|
||||
CONFIG_BT_A2DP_ENABLE=y
|
||||
CONFIG_BT_A2DP_SINK_TASK_STACK_SIZE=2048
|
||||
CONFIG_BT_A2DP_SOURCE_TASK_STACK_SIZE=2048
|
||||
CONFIG_BT_SSP_ENABLED=y
|
||||
CONFIG_BT_ACL_CONNECTIONS=4
|
||||
CONFIG_BT_SMP_ENABLE=y
|
||||
CONFIG_BT_BLE_ESTAB_LINK_CONN_TOUT=30
|
||||
CONFIG_BT_RESERVE_DRAM=0xdb5c
|
||||
CONFIG_SPI_MASTER_ISR_IN_IRAM=y
|
||||
CONFIG_SPI_SLAVE_ISR_IN_IRAM=y
|
||||
CONFIG_ESP32_DEFAULT_CPU_FREQ_240=y
|
||||
CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ=240
|
||||
CONFIG_ESP32_SPIRAM_SUPPORT=y
|
||||
CONFIG_SPIRAM_BOOT_INIT=y
|
||||
CONFIG_SPIRAM_USE_MALLOC=y
|
||||
CONFIG_SPIRAM_TYPE_AUTO=y
|
||||
CONFIG_SPIRAM_SIZE=-1
|
||||
CONFIG_SPIRAM_SPEED_80M=y
|
||||
CONFIG_SPIRAM_MEMTEST=y
|
||||
CONFIG_SPIRAM_CACHE_WORKAROUND=y
|
||||
CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL=256
|
||||
CONFIG_SPIRAM_MALLOC_RESERVE_INTERNAL=65536
|
||||
CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY=y
|
||||
CONFIG_SPIRAM_ALLOW_STACK_EXTERNAL_MEMORY=y
|
||||
|
||||
CONFIG_SPIRAM_OCCUPY_VSPI_HOST=y
|
||||
CONFIG_SPIRAM_BANKSWITCH_ENABLE=n
|
||||
CONFIG_D0WD_PSRAM_CLK_IO=17
|
||||
CONFIG_D0WD_PSRAM_CS_IO=16
|
||||
CONFIG_D2WD_PSRAM_CLK_IO=9
|
||||
CONFIG_D2WD_PSRAM_CS_IO=10
|
||||
CONFIG_PICO_PSRAM_CS_IO=10
|
||||
CONFIG_ESP32_PANIC_PRINT_REBOOT=y
|
||||
CONFIG_ESP32_RTC_CLK_CAL_CYCLES=1024
|
||||
CONFIG_ESP32_DEEP_SLEEP_WAKEUP_DELAY=2000
|
||||
CONFIG_ESP32_XTAL_FREQ_40=y
|
||||
CONFIG_ESP32_XTAL_FREQ=40
|
||||
CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192
|
||||
CONFIG_ESP32_WIFI_SW_COEXIST_ENABLE=y
|
||||
CONFIG_ESP32_WIFI_SW_COEXIST_PREFERENCE_BALANCE=y
|
||||
CONFIG_ESP32_WIFI_SW_COEXIST_PREFERENCE_VALUE=2
|
||||
CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=12
|
||||
CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=40
|
||||
CONFIG_ESP32_WIFI_STATIC_TX_BUFFER=y
|
||||
CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=0
|
||||
CONFIG_ESP32_WIFI_STATIC_TX_BUFFER_NUM=12
|
||||
CONFIG_ESP32_WIFI_NVS_ENABLED=y
|
||||
CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_0=y
|
||||
CONFIG_ESP32_WIFI_SOFTAP_BEACON_MAX_LEN=752
|
||||
CONFIG_ESP32_WIFI_MGMT_SBUF_NUM=32
|
||||
CONFIG_ESP32_WIFI_IRAM_OPT=y
|
||||
CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED=n
|
||||
CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=n
|
||||
CONFIG_ESP32_PHY_CALIBRATION_AND_DATA_STORAGE=y
|
||||
CONFIG_ESP32_PHY_MAX_WIFI_TX_POWER=20
|
||||
CONFIG_ESP32_PHY_MAX_TX_POWER=20
|
||||
CONFIG_FREERTOS_HZ=100
|
||||
CONFIG_LWIP_TCPIP_RECVMBOX_SIZE=32
|
||||
CONFIG_LWIP_NETIF_LOOPBACK=y
|
||||
CONFIG_LWIP_TCP_MSL=60000
|
||||
CONFIG_LWIP_TCP_SND_BUF_DEFAULT=8192
|
||||
CONFIG_LWIP_TCP_WND_DEFAULT=32768
|
||||
CONFIG_LWIP_TCP_RECVMBOX_SIZE=32
|
||||
CONFIG_LWIP_MAX_RAW_PCBS=16
|
||||
CONFIG_MBEDTLS_EXTERNAL_MEM_ALLOC=y
|
||||
CONFIG_ESP32_PTHREAD_TASK_PRIO_DEFAULT=5
|
||||
CONFIG_ESP32_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072
|
||||
CONFIG_ESP32_PTHREAD_STACK_MIN=768
|
||||
CONFIG_ESP32_DEFAULT_PTHREAD_CORE_1=y
|
||||
CONFIG_ESP32_PTHREAD_TASK_CORE_DEFAULT=1
|
||||
CONFIG_ESP32_PTHREAD_TASK_NAME_DEFAULT="pthread"
|
||||
CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=y
|
||||
CONFIG_SPI_FLASH_DANGEROUS_WRITE_ABORTS=y
|
||||
|
||||
# wifi-manager
|
||||
CONFIG_DEFAULT_AP_SSID="squeezelite"
|
||||
CONFIG_DEFAULT_AP_PASSWORD="squeezelite"
|
||||
CONFIG_DEFAULT_AP_IP="192.168.4.1"
|
||||
CONFIG_DEFAULT_AP_GATEWAY="192.168.4.1"
|
||||
CONFIG_DEFAULT_AP_NETMASK="255.255.255.0"
|
||||
CONFIG_DEFAULT_COMMAND_LINE="squeezelite -o I2S -b 500:2000 -d all=info"
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -98,7 +98,6 @@ esp_err_t _http_event_handler(esp_http_client_event_t *evt)
|
||||
ota_status.ota_actual_len=0;
|
||||
lastpct=0;
|
||||
newpct=0;
|
||||
wifi_manager_refresh_ota_json();
|
||||
ESP_LOGD(TAG,"Heap internal:%zu (min:%zu) external:%zu (min:%zu)\n",
|
||||
heap_caps_get_free_size(MALLOC_CAP_INTERNAL),
|
||||
heap_caps_get_minimum_free_size(MALLOC_CAP_INTERNAL),
|
||||
@@ -184,7 +183,7 @@ esp_err_t init_config(esp_http_client_config_t * conf, const char * url){
|
||||
memset(conf, 0x00, sizeof(esp_http_client_config_t));
|
||||
conf->cert_pem = (char *)server_cert_pem_start;
|
||||
conf->event_handler = _http_event_handler;
|
||||
conf->buffer_size = 1024*2;
|
||||
conf->buffer_size = 1024*8;
|
||||
conf->disable_auto_redirect=true;
|
||||
conf->skip_cert_common_name_check = false;
|
||||
conf->url = strdup(url);
|
||||
@@ -207,26 +206,26 @@ void ota_task(void *pvParameter)
|
||||
return ;
|
||||
}
|
||||
ota_status.current_url= strdup(passedURL);
|
||||
init_config(&config,ota_status.current_url);
|
||||
// init_config(&config,ota_status.current_url);
|
||||
|
||||
FREE_RESET(pvParameter);
|
||||
|
||||
snprintf(ota_status.status_text,sizeof(ota_status.status_text)-1,"Checking for redirect...");
|
||||
wifi_manager_refresh_ota_json();
|
||||
check_http_redirect();
|
||||
if(ota_status.bRedirectFound && ota_status.redirected_url== NULL){
|
||||
// OTA Failed miserably. Errors would have been logged somewhere
|
||||
ESP_LOGE(TAG,"Redirect check failed to identify target URL. Bailing out");
|
||||
vTaskDelete(NULL);
|
||||
}
|
||||
//
|
||||
// snprintf(ota_status.status_text,sizeof(ota_status.status_text)-1,"Checking for redirect...");
|
||||
// wifi_manager_refresh_ota_json();
|
||||
// check_http_redirect();
|
||||
// if(ota_status.bRedirectFound && ota_status.redirected_url== NULL){
|
||||
// // OTA Failed miserably. Errors would have been logged somewhere
|
||||
// ESP_LOGE(TAG,"Redirect check failed to identify target URL. Bailing out");
|
||||
// vTaskDelete(NULL);
|
||||
// }
|
||||
ESP_LOGD(TAG,"Calling esp_https_ota");
|
||||
init_config(&ota_config,ota_status.bRedirectFound?ota_status.redirected_url:ota_status.current_url);
|
||||
ota_status.bOTAStarted = true;
|
||||
snprintf(ota_status.status_text,sizeof(ota_status.status_text)-1,"Starting OTA...");
|
||||
wifi_manager_refresh_ota_json();
|
||||
// pause to let the system catch up
|
||||
vTaskDelay(1500/ portTICK_RATE_MS);
|
||||
esp_err_t err = esp_https_ota(&config);
|
||||
vTaskDelay(500/ portTICK_RATE_MS);
|
||||
esp_err_t err = esp_https_ota(&ota_config);
|
||||
if (err == ESP_OK) {
|
||||
snprintf(ota_status.status_text,sizeof(ota_status.status_text)-1,"Success!");
|
||||
wifi_manager_refresh_ota_json();
|
||||
@@ -279,7 +278,7 @@ void start_ota(const char * bin_url)
|
||||
ESP_LOGI(TAG, "Waiting for other processes to start");
|
||||
vTaskDelay(2500/ portTICK_RATE_MS);
|
||||
ESP_LOGI(TAG, "Starting ota: %s", urlPtr);
|
||||
ret=xTaskCreate(&ota_task, "ota_task", 1024*10,(void *) urlPtr, 4, NULL);
|
||||
ret=xTaskCreate(&ota_task, "ota_task", 1024*20,(void *) urlPtr, 4, NULL);
|
||||
if (ret != pdPASS) {
|
||||
ESP_LOGI(TAG, "create thread %s failed", "ota_task");
|
||||
}
|
||||
|
||||
@@ -38,7 +38,7 @@ function to process requests, decode URLs, serve files, etc. etc.
|
||||
|
||||
/* @brief tag used for ESP serial console messages */
|
||||
static const char TAG[] = "http_server";
|
||||
static const char json_start[] = "{ \"recovery\": %u, \"autoexec\": %u, \"list\": [";
|
||||
static const char json_start[] = "{ \"autoexec\": %u, \"list\": [";
|
||||
static const char json_end[] = "]}";
|
||||
static const char template[] = "{ \"%s\": \"%s\" }";
|
||||
static const char array_separator[]=",";
|
||||
@@ -312,7 +312,7 @@ void http_server_netconn_serve(struct netconn *conn) {
|
||||
|
||||
netconn_write(conn, http_ok_json_no_cache_hdr, sizeof(http_ok_json_no_cache_hdr) - 1, NETCONN_NOCOPY);
|
||||
autoexec_flag = wifi_manager_get_flag();
|
||||
snprintf(config_buffer,locbuflen-1, json_start, RECOVERY_APPLICATION, autoexec_flag);
|
||||
snprintf(config_buffer,locbuflen-1, json_start, autoexec_flag);
|
||||
netconn_write(conn, config_buffer, strlen(config_buffer), NETCONN_NOCOPY);
|
||||
|
||||
ESP_LOGI(TAG, "About to get config from flash");
|
||||
|
||||
@@ -73,6 +73,8 @@ wifi_ap_record_t *accessp_records;
|
||||
char *accessp_json = NULL;
|
||||
char *ip_info_json = NULL;
|
||||
wifi_config_t* wifi_manager_config_sta = NULL;
|
||||
static update_reason_code_t last_update_reason_code=0;
|
||||
|
||||
|
||||
void (**cb_ptr_arr)(void*) = NULL;
|
||||
|
||||
@@ -414,11 +416,18 @@ void wifi_manager_clear_ip_info_json(){
|
||||
|
||||
void wifi_manager_generate_ip_info_json(update_reason_code_t update_reason_code){
|
||||
wifi_config_t *config = wifi_manager_get_wifi_sta_config();
|
||||
if(update_reason_code == UPDATE_OTA) {
|
||||
update_reason_code = last_update_reason_code;
|
||||
}
|
||||
else
|
||||
{
|
||||
last_update_reason_code = update_reason_code;
|
||||
}
|
||||
if(config){
|
||||
#if RECOVERY_APPLICATION
|
||||
const char ip_info_json_format[] = ",\"ip\":\"%s\",\"netmask\":\"%s\",\"gw\":\"%s\",\"urc\":%d,\"project_name\":\"%s\",\"version\":\"%s\", \"ota_dsc\":\"%s\", \"ota_pct\":%u}\n";
|
||||
const char ip_info_json_format[] = ",\"ip\":\"%s\",\"netmask\":\"%s\",\"gw\":\"%s\",\"urc\":%d,\"project_name\":\"%s\",\"version\":\"%s\", \"ota_dsc\":\"%s\", \"ota_pct\":%u,\"recovery\": 1}\n";
|
||||
#else
|
||||
const char ip_info_json_format[] = ",\"ip\":\"%s\",\"netmask\":\"%s\",\"gw\":\"%s\",\"urc\":%d,\"project_name\":\"%s\",\"version\":\"%s\"}\n";
|
||||
const char ip_info_json_format[] = ",\"ip\":\"%s\",\"netmask\":\"%s\",\"gw\":\"%s\",\"urc\":%d,\"project_name\":\"%s\",\"version\":\"%s\",\"recovery\": 0}\n";
|
||||
#endif
|
||||
memset(ip_info_json, 0x00, JSON_IP_INFO_SIZE);
|
||||
const esp_app_desc_t* desc = esp_ota_get_app_description();
|
||||
@@ -900,6 +909,12 @@ void wifi_manager( void * pvParameters ){
|
||||
if(cb_ptr_arr[msg.code]) (*cb_ptr_arr[msg.code])(NULL);
|
||||
|
||||
break;
|
||||
case EVENT_REFRESH_OTA:
|
||||
if(wifi_manager_lock_json_buffer( portMAX_DELAY )){
|
||||
wifi_manager_generate_ip_info_json( UPDATE_OTA );
|
||||
wifi_manager_unlock_json_buffer();
|
||||
}
|
||||
break;
|
||||
|
||||
case ORDER_START_WIFI_SCAN:
|
||||
ESP_LOGD(TAG, "MESSAGE: ORDER_START_WIFI_SCAN");
|
||||
@@ -1155,7 +1170,6 @@ void wifi_manager( void * pvParameters ){
|
||||
if(cb_ptr_arr[msg.code]) (*cb_ptr_arr[msg.code])(NULL);
|
||||
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
|
||||
|
||||
@@ -226,7 +226,8 @@ typedef enum update_reason_code_t {
|
||||
UPDATE_CONNECTION_OK = 0,
|
||||
UPDATE_FAILED_ATTEMPT = 1,
|
||||
UPDATE_USER_DISCONNECT = 2,
|
||||
UPDATE_LOST_CONNECTION = 3
|
||||
UPDATE_LOST_CONNECTION = 3,
|
||||
UPDATE_OTA=4
|
||||
}update_reason_code_t;
|
||||
|
||||
typedef enum connection_request_made_by_code_t{
|
||||
|
||||
7
non-ota-partitions.csv
Normal file
7
non-ota-partitions.csv
Normal file
@@ -0,0 +1,7 @@
|
||||
# Name, Type, SubType, Offset, Size, Flags
|
||||
# Note: if you change the phy_init or app partition offset, make sure to change the offset in Kconfig.projbuild
|
||||
nvs, data, nvs, 0x9000, 0x6000,
|
||||
phy_init, data, phy, 0xf000, 0x1000,
|
||||
factory, app, factory, 0x10000, 3M,
|
||||
storage, data, fat, , 819200,
|
||||
coredump, data, coredump,, 64K
|
||||
|
Reference in New Issue
Block a user