Bug fix: rebooting to squeezelite now works

This commit is contained in:
Sebastien
2019-10-03 22:45:46 -04:00
parent 5cf92a40f7
commit aa81f39712
3 changed files with 8 additions and 1 deletions

View File

@@ -142,6 +142,12 @@ static int restart(int argc, char **argv)
guided_boot(ESP_PARTITION_SUBTYPE_APP_FACTORY); guided_boot(ESP_PARTITION_SUBTYPE_APP_FACTORY);
return 0; // return fail. This should never return... we're rebooting! return 0; // return fail. This should never return... we're rebooting!
} }
esp_err_t guided_restart_ota(){
guided_boot(ESP_PARTITION_SUBTYPE_APP_OTA_0);
// If we're still alive, then there may not be an ota partition to boot from
guided_boot(ESP_PARTITION_SUBTYPE_APP_FACTORY);
return ESP_FAIL; // return fail. This should never return... we're rebooting!
}
esp_err_t guided_factory(){ esp_err_t guided_factory(){
guided_boot(ESP_PARTITION_SUBTYPE_APP_FACTORY); guided_boot(ESP_PARTITION_SUBTYPE_APP_FACTORY);
return ESP_FAIL; // return fail. This should never return... we're rebooting! return ESP_FAIL; // return fail. This should never return... we're rebooting!

View File

@@ -15,6 +15,7 @@ extern "C" {
// Register system functions // Register system functions
void register_system(); void register_system();
esp_err_t guided_factory(); esp_err_t guided_factory();
esp_err_t guided_restart_ota();
#ifdef __cplusplus #ifdef __cplusplus
} }

View File

@@ -480,7 +480,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); /* 200 ok */ netconn_write(conn, http_ok_json_no_cache_hdr, sizeof(http_ok_json_no_cache_hdr) - 1, NETCONN_NOCOPY); /* 200 ok */
} }
else if(strstr(line, "POST /reboot.json ")){ else if(strstr(line, "POST /reboot.json ")){
esp_restart(); guided_restart_ota();
} }
else if(strstr(line, "POST /recovery.json ")){ else if(strstr(line, "POST /recovery.json ")){
guided_factory(); guided_factory();