Update status.json message format: add severity

This commit is contained in:
Sebastien
2019-10-03 23:27:28 -04:00
parent aa81f39712
commit d2f17f5b05
6 changed files with 28 additions and 29 deletions

View File

@@ -26,6 +26,7 @@
#include "sdkconfig.h"
#include "esp_partition.h"
#include "esp_ota_ops.h"
#include "platform_esp32.h"
#ifdef CONFIG_FREERTOS_USE_STATS_FORMATTING_FUNCTIONS
#define WITH_TASKS_INFO 1
@@ -112,6 +113,7 @@ esp_err_t guided_boot(esp_partition_subtype_t partition_subtype)
if(it == NULL){
ESP_LOGE(TAG,"Unable initialize partition iterator!");
set_status_message(ERROR, "Reboot failed. Cannot iterate through partitions");
}
else
{
@@ -120,10 +122,12 @@ esp_err_t guided_boot(esp_partition_subtype_t partition_subtype)
ESP_LOGI(TAG, "Found partition type %u",partition_subtype);
esp_ota_set_boot_partition(partition);
bFound=true;
set_status_message(WARNING, "Rebooting!");
}
else
{
ESP_LOGE(TAG,"partition type %u not found! Unable to reboot to recovery.",partition_subtype);
set_status_message(ERROR, "Partition not found.");
}
esp_partition_iterator_release(it);
if(bFound) {
@@ -131,6 +135,7 @@ esp_err_t guided_boot(esp_partition_subtype_t partition_subtype)
esp_restart();
}
}
return ESP_OK;
}

View File

@@ -8,3 +8,4 @@
#
COMPONENT_ADD_INCLUDEDIRS := .
COMPONENT_EXTRA_INCLUDES += $(PROJECT_PATH)/main/

View File

@@ -218,31 +218,6 @@ err_t http_server_nvs_dump(struct netconn *conn, nvs_type_t nvs_type, bool * bFi
}
nvs_json = cJSON_CreateObject();
num_buffer = malloc(NUM_BUFFER_LEN);
//
//
// cJSON_AddItemToObject(ip_info_cjson, "version", cJSON_CreateString(desc->version));
// cJSON_AddNumberToObject(ip_info_cjson,"recovery", RECOVERY_APPLICATION );
// cJSON_AddNumberToObject(ip_info_cjson, "urc", update_reason_code);
// if(config){
// cJSON_AddItemToObject(ip_info_cjson, "ssid", cJSON_CreateString((char *)config->sta.ssid));
//
// if(update_reason_code == UPDATE_CONNECTION_OK){
// /* rest of the information is copied after the ssid */
// tcpip_adapter_ip_info_t ip_info;
// ESP_ERROR_CHECK(tcpip_adapter_get_ip_info(TCPIP_ADAPTER_IF_STA, &ip_info));
// cJSON_AddItemToObject(ip_info_cjson, "ip", cJSON_CreateString(ip4addr_ntoa(&ip_info.ip)));
// cJSON_AddItemToObject(ip_info_cjson, "netmask", cJSON_CreateString(ip4addr_ntoa(&ip_info.netmask)));
// cJSON_AddItemToObject(ip_info_cjson, "gw", cJSON_CreateString(ip4addr_ntoa(&ip_info.gw)));
// }
// }
//
//
// cJSON_AddItemToObject(ip_info_cjson, "ota_dsc", cJSON_CreateString(ota_get_status()));
// cJSON_AddNumberToObject(ip_info_cjson,"ota_pct", ota_get_pct_complete() );
//
// cJSON_AddItemToObject(ip_info_cjson, "Jack", cJSON_CreateString(JACK_LEVEL));
//
//
nvs_iterator_t it = nvs_entry_find(NVS_PARTITION_NAME, NULL, nvs_type);
if (it == NULL) {

View File

@@ -30,7 +30,7 @@ Contains the freeRTOS task and all necessary support
*/
#include "wifi_manager.h"
#include "platform_esp32.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@@ -318,7 +318,6 @@ bool wifi_manager_fetch_wifi_sta_config(){
}
cJSON * wifi_manager_get_new_json(cJSON **old){
cJSON * root=*old;
if(root!=NULL){
@@ -561,6 +560,20 @@ void wifi_manager_connect_async(){
wifi_manager_send_message(ORDER_CONNECT_STA, (void*)CONNECTION_REQUEST_USER);
}
void set_status_message(message_severity_t severity, const char * message){
if(ip_info_cjson==NULL){
ip_info_cjson = wifi_manager_get_new_json(&ip_info_cjson);
}
if(ip_info_cjson==NULL){
ESP_LOGE(TAG,"Error setting status message. Unable to allocate cJSON.");
return;
}
cJSON * item=cJSON_GetObjectItem(ip_info_cjson, "message");
item = wifi_manager_get_new_json(&item);
cJSON_AddItemToObject(item, "severity", cJSON_CreateString(severity==INFO?"INFO":severity==WARNING?"WARNING":severity==ERROR?"ERROR":"" ));
cJSON_AddItemToObject(item, "text", cJSON_CreateString(message));
}
char* wifi_manager_get_ip_info_json(){
return cJSON_Print(ip_info_cjson);