Browse Source

Troubleshooting config + OTA crash

Sebastien 5 years ago
parent
commit
db85cb342f

+ 2 - 2
components/cmd_system/cmd_system.c

@@ -6,7 +6,7 @@
    software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
    software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
    CONDITIONS OF ANY KIND, either express or implied.
    CONDITIONS OF ANY KIND, either express or implied.
 */
 */
-
+#define LOG_LOCAL_LEVEL ESP_LOG_VERBOSE
 #include <stdio.h>
 #include <stdio.h>
 #include <string.h>
 #include <string.h>
 #include <ctype.h>
 #include <ctype.h>
@@ -116,7 +116,7 @@ esp_err_t guided_boot(esp_partition_subtype_t partition_subtype)
 	{
 	{
 		partition = (esp_partition_t *) esp_partition_get(it);
 		partition = (esp_partition_t *) esp_partition_get(it);
 		if(partition != NULL){
 		if(partition != NULL){
-			ESP_LOGI(TAG, "Found application partition sub type %u",partition_subtype);
+			ESP_LOGI(TAG, "Found application partition %s sub type %u", partition->label,partition_subtype);
 			err=esp_ota_set_boot_partition(partition);
 			err=esp_ota_set_boot_partition(partition);
 			if(err!=ESP_OK){
 			if(err!=ESP_OK){
 				ESP_LOGE(TAG,"Unable to set partition as active for next boot. %s",esp_err_to_name(err));
 				ESP_LOGE(TAG,"Unable to set partition as active for next boot. %s",esp_err_to_name(err));

+ 3 - 2
components/squeezelite-ota/squeezelite-ota.c

@@ -6,7 +6,7 @@
    software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
    software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
    CONDITIONS OF ANY KIND, either express or implied.
    CONDITIONS OF ANY KIND, either express or implied.
 */
 */
-//#define LOG_LOCAL_LEVEL ESP_LOG_VERBOSE
+#define LOG_LOCAL_LEVEL ESP_LOG_VERBOSE
 #include "freertos/FreeRTOS.h"
 #include "freertos/FreeRTOS.h"
 #include "freertos/task.h"
 #include "freertos/task.h"
 #include "esp_system.h"
 #include "esp_system.h"
@@ -338,7 +338,8 @@ esp_err_t process_recovery_ota(const char * bin_url){
 #define OTA_CORE 1
 #define OTA_CORE 1
 #endif
 #endif
     ESP_LOGI(TAG, "Starting ota on core %u for : %s", OTA_CORE,urlPtr);
     ESP_LOGI(TAG, "Starting ota on core %u for : %s", OTA_CORE,urlPtr);
-    ret=xTaskCreatePinnedToCore(&ota_task, "ota_task", 1024*20, (void *)urlPtr, ESP_TASK_MAIN_PRIO+1, NULL, OTA_CORE);
+    //ret=xTaskCreatePinnedToCore(&ota_task, "ota_task", 1024*20, (void *)urlPtr, ESP_TASK_MAIN_PRIO+2, NULL, OTA_CORE);
+    ret=xTaskCreate(&ota_task, "ota_task", 1024*20, (void *)urlPtr, ESP_TASK_MAIN_PRIO+2, NULL);
     if (ret != pdPASS)  {
     if (ret != pdPASS)  {
             ESP_LOGI(TAG, "create thread %s failed", "ota_task");
             ESP_LOGI(TAG, "create thread %s failed", "ota_task");
             return ESP_FAIL;
             return ESP_FAIL;

+ 7 - 2
main/config.c

@@ -18,7 +18,7 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  *
  *
  */
  */
-//#define LOG_LOCAL_LEVEL ESP_LOG_VERBOSE
+#define LOG_LOCAL_LEVEL ESP_LOG_VERBOSE
 #include "config.h"
 #include "config.h"
 #include "nvs_utilities.h"
 #include "nvs_utilities.h"
 
 
@@ -560,11 +560,16 @@ void config_delete_key(const char *key){
 	else {
 	else {
 		ESP_LOGE(TAG, "Error opening nvs: %s. Unable to delete nvs key [%s].",esp_err_to_name(err),key);
 		ESP_LOGE(TAG, "Error opening nvs: %s. Unable to delete nvs key [%s].",esp_err_to_name(err),key);
 	}
 	}
+	char * struc_str = cJSON_PrintUnformatted(nvs_json);
+	if(struc_str!=NULL){
+		ESP_LOGV(TAG, "Structure before delete \n%s", struc_str);
+		free(struc_str);
+	}
 	cJSON * entry = cJSON_GetObjectItemCaseSensitive(nvs_json, key);
 	cJSON * entry = cJSON_GetObjectItemCaseSensitive(nvs_json, key);
 	if(entry !=NULL){
 	if(entry !=NULL){
 		ESP_LOGI(TAG, "Removing config key [%s]", entry->string);
 		ESP_LOGI(TAG, "Removing config key [%s]", entry->string);
 		cJSON_Delete(entry);
 		cJSON_Delete(entry);
-		char * struc_str = cJSON_PrintUnformatted(nvs_json);
+		struc_str = cJSON_PrintUnformatted(nvs_json);
 		if(struc_str!=NULL){
 		if(struc_str!=NULL){
 			ESP_LOGV(TAG, "Structure after delete \n%s", struc_str);
 			ESP_LOGV(TAG, "Structure after delete \n%s", struc_str);
 			free(struc_str);
 			free(struc_str);

+ 1 - 0
main/esp_app_main.c

@@ -18,6 +18,7 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  *
  *
  */
  */
+#define LOG_LOCAL_LEVEL ESP_LOG_VERBOSE
 #include "platform_esp32.h"
 #include "platform_esp32.h"
 #include "led.h"
 #include "led.h"
 #include <stdio.h>
 #include <stdio.h>