diff --git a/components/squeezelite-ota/squeezelite-ota.c b/components/squeezelite-ota/squeezelite-ota.c index b6949c94..439caca9 100644 --- a/components/squeezelite-ota/squeezelite-ota.c +++ b/components/squeezelite-ota/squeezelite-ota.c @@ -124,6 +124,11 @@ esp_err_t _http_event_handler(esp_http_client_event_t *evt) { lastpct=newpct; ESP_LOGD(TAG,"Receiving OTA data chunk len: %d, %d of %d (%d pct)", evt->data_len, ota_status.ota_actual_len, ota_status.ota_total_len, newpct); + 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), + heap_caps_get_free_size(MALLOC_CAP_SPIRAM), + heap_caps_get_minimum_free_size(MALLOC_CAP_SPIRAM)); } } break; @@ -208,8 +213,10 @@ void ota_task(void *pvParameter) snprintf(ota_status.status_text,sizeof(ota_status.status_text)-1,"Starting OTA..."); esp_err_t err = esp_https_ota(&config); if (err == ESP_OK) { + snprintf(ota_status.status_text,sizeof(ota_status.status_text)-1,"Success!"); esp_restart(); } else { + snprintf(ota_status.status_text,sizeof(ota_status.status_text)-1,"Error: %s",esp_err_to_name(err)); ESP_LOGE(TAG, "Firmware upgrade failed with error : %s", esp_err_to_name(err)); } FREE_RESET(ota_status.current_url); diff --git a/components/wifi-manager/code.js b/components/wifi-manager/code.js index f33069d1..e2b8366a 100644 --- a/components/wifi-manager/code.js +++ b/components/wifi-manager/code.js @@ -206,6 +206,26 @@ $(document).ready(function(){ console.log('sent config JSON with headers:', autoexec1); }); + $("#save-gpio").on("click", function() { + var headers = {}; + $("input.gpio").each(function() { + var id = $(this)[0].id; + var pin = $(this).val(); + if (pin != '') { + headers[id] = pin; + } + }); + $.ajax({ + url: '/config.json', + dataType: 'json', + method: 'POST', + cache: false, + headers: JSON.stringify(headers), + data: { 'timestamp': Date.now() } + }); + console.log('sent config JSON with headers:', JSON.stringify(headers)); + }); + $("#flash").on("click", function() { var url = $("#fwurl").val(); $.ajax({ @@ -259,10 +279,13 @@ $(document).ready(function(){ }); var [ver, idf, cfg, branch] = release.name.split('#'); var body = release.body.replace(/\\n/ig, "
").replace(/\'/ig, "\""); + var [date, time] = release.created_at.split('T'); + if (ver.match(/esp-idf/)) return; //TODO delete $("#releaseTable").append( ""+ ""+ver+""+ ""+idf+""+ + ""+date+""+ ""+cfg+""+ ""+branch+""+ ""+ @@ -396,6 +419,7 @@ function checkStatus(){ $("#netmask").text(data["netmask"]); $("#gw").text(data["gw"]); $("#wifi-status").slideDown( "fast", function() {}); + $(".footer").html("connected to SSID "+text(data["ssid"])+" with IP "+text(data["ip"])); //unlock the wait screen if needed $( "#ok-connect" ).prop("disabled",false); @@ -441,6 +465,7 @@ function checkStatus(){ $("#netmask").text(data["netmask"]); $("#gw").text(data["gw"]); $("#wifi-status").slideDown( "fast", function() {}); + $(".footer").html("connected to SSID "+data["ssid"]+" with IP "+data["ip"]); } enableAPTimer = false; if (!recovery) enableStatusTimer = false; diff --git a/components/wifi-manager/index.html b/components/wifi-manager/index.html index d5394146..602a9143 100644 --- a/components/wifi-manager/index.html +++ b/components/wifi-manager/index.html @@ -197,6 +197,61 @@
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
SignalGPIO pin
I2S
I2S Bit clock + +
I2S Word select + +
I2S Data + +
SPDIF
SPDIF Bit clock + +
SPDIF Word select + +
SPDIF Data + +
+
+ +
@@ -209,6 +264,7 @@ Firmware version IDF version + Release date HW platform Branch Flash this FW @@ -247,5 +303,6 @@
+ diff --git a/components/wifi-manager/style.css b/components/wifi-manager/style.css index 4c3f62a4..75243cdd 100644 --- a/components/wifi-manager/style.css +++ b/components/wifi-manager/style.css @@ -1,6 +1,7 @@ body { border: 0; margin: 0; + margin-bottom:50px; } a { color: darkblue; @@ -213,6 +214,12 @@ input[type='text'], input[type='password'], textarea { padding: 4px; } +input.gpio { + width: 2em; + color: #000; + height: 1.8em; +} + .custom-switch, .custom-radio { padding-left: 2.25rem; margin-left: 12px; @@ -299,3 +306,13 @@ input, textarea { #mode { float: right; } + +.footer { + position: fixed; + left: 0; + bottom: 0; + width: 100%; + background-color: #555; + color: white; + text-align: center; +}