Troubleshooting config + OTA crash

This commit is contained in:
Sebastien
2019-11-13 10:48:24 -05:00
parent 7a3f78d8d2
commit db85cb342f
4 changed files with 13 additions and 6 deletions

View File

@@ -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));

View File

@@ -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;

View File

@@ -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);

View File

@@ -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>