From 2944f51eec69276570beceb20d9899367b6b5fb9 Mon Sep 17 00:00:00 2001 From: sle118 Date: Tue, 8 Oct 2019 20:29:32 -0700 Subject: [PATCH] Improve status.json --- .cproject | 454 ++----------------------- .settings/language.settings.xml | 76 +---- components/wifi-manager/wifi_manager.c | 53 +-- 3 files changed, 57 insertions(+), 526 deletions(-) diff --git a/.cproject b/.cproject index 7792b1c8..432793b8 100644 --- a/.cproject +++ b/.cproject @@ -3,15 +3,9 @@ - + - - - - - - - + @@ -35,57 +29,31 @@ - + - + - + - @@ -98,390 +66,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - make - - -j8 EXTRA_CPPFLAGS="-DRECOVERY_APPLICATION=1" - - all - - true - - true - - true - - - - - - make - - -j8 EXTRA_CPPFLAGS="-DRECOVERY_APPLICATION=1" - - app - - true - - true - - true - - - - - - make - - -j8 EXTRA_CPPFLAGS="-DRECOVERY_APPLICATION=1" - - clean - - true - - true - - true - - - - @@ -538,5 +122,13 @@ + + + + + + + + diff --git a/.settings/language.settings.xml b/.settings/language.settings.xml index 57c5215e..a2c3d31c 100644 --- a/.settings/language.settings.xml +++ b/.settings/language.settings.xml @@ -1,7 +1,7 @@ - + @@ -11,79 +11,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + diff --git a/components/wifi-manager/wifi_manager.c b/components/wifi-manager/wifi_manager.c index 604afa3d..ed54428d 100644 --- a/components/wifi-manager/wifi_manager.c +++ b/components/wifi-manager/wifi_manager.c @@ -307,10 +307,7 @@ bool wifi_manager_fetch_wifi_sta_config(){ ESP_LOGI(TAG, "wifi_manager_fetch_wifi_settings: sta_ip_addr: %s", ip4addr_ntoa(&wifi_settings.sta_static_ip_config.ip)); ESP_LOGI(TAG, "wifi_manager_fetch_wifi_settings: sta_gw_addr: %s", ip4addr_ntoa(&wifi_settings.sta_static_ip_config.gw)); ESP_LOGI(TAG, "wifi_manager_fetch_wifi_settings: sta_netmask: %s", ip4addr_ntoa(&wifi_settings.sta_static_ip_config.netmask)); - return wifi_manager_config_sta->sta.ssid[0] != '\0'; - - } else{ return false; @@ -319,33 +316,48 @@ bool wifi_manager_fetch_wifi_sta_config(){ } cJSON * wifi_manager_get_new_json(cJSON **old){ + ESP_LOGD(TAG,"wifi_manager_get_new_json called"); cJSON * root=*old; if(root!=NULL){ cJSON_Delete(root); *old=NULL; } + ESP_LOGD(TAG,"wifi_manager_get_new_json done"); return cJSON_CreateObject(); } +cJSON * wifi_manager_get_basic_info(cJSON **old){ + const esp_app_desc_t* desc = esp_ota_get_app_description(); + ESP_LOGD(TAG,"wifi_manager_get_basic_info called"); + cJSON *root = wifi_manager_get_new_json(old); + cJSON_AddItemToObject(root, "project_name", cJSON_CreateString(desc->project_name)); + cJSON_AddItemToObject(root, "version", cJSON_CreateString(desc->version)); + cJSON_AddNumberToObject(root,"recovery", RECOVERY_APPLICATION ); + cJSON_AddItemToObject(root, "ota_dsc", cJSON_CreateString(ota_get_status())); + cJSON_AddNumberToObject(root,"ota_pct", ota_get_pct_complete() ); + cJSON_AddItemToObject(root, "Jack", cJSON_CreateString(JACK_LEVEL)); + cJSON_AddNumberToObject(root,"Voltage", adc1_get_raw(ADC1_CHANNEL_7) / 4095. * (10+174)/10. * 1.1); + ESP_LOGD(TAG,"wifi_manager_get_basic_info done"); + return root; +} cJSON * wifi_manager_clear_ip_info_json(cJSON **old){ - cJSON *root = wifi_manager_get_new_json(old); -// cJSON_AddItemToObject(root, "message", cJSON_CreateString("Initializing")); + ESP_LOGD(TAG,"wifi_manager_clear_ip_info_json called"); + cJSON *root = wifi_manager_get_basic_info(old); + ESP_LOGD(TAG,"wifi_manager_clear_ip_info_json done"); return root; } void wifi_manager_generate_ip_info_json(update_reason_code_t update_reason_code){ + ESP_LOGD(TAG,"wifi_manager_generate_ip_info_json called"); wifi_config_t *config = wifi_manager_get_wifi_sta_config(); - ip_info_cjson = wifi_manager_get_new_json(&ip_info_cjson); + ip_info_cjson = wifi_manager_get_basic_info(&ip_info_cjson); + if(update_reason_code == UPDATE_OTA) { update_reason_code = last_update_reason_code; } else { last_update_reason_code = update_reason_code; } - const esp_app_desc_t* desc = esp_ota_get_app_description(); - cJSON_AddItemToObject(ip_info_cjson, "project_name", cJSON_CreateString(desc->project_name)); - 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)); @@ -359,14 +371,7 @@ void wifi_manager_generate_ip_info_json(update_reason_code_t update_reason_code) 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)); - cJSON_AddNumberToObject(ip_info_cjson,"Voltage", adc1_get_raw(ADC1_CHANNEL_7) / 4095. * (10+174)/10. * 1.1); - + ESP_LOGD(TAG,"wifi_manager_generate_ip_info_json done"); } @@ -554,7 +559,7 @@ void wifi_manager_connect_async(){ * it's a remnant from a previous connection */ if(wifi_manager_lock_json_buffer( portMAX_DELAY )){ - wifi_manager_clear_ip_info_json(&ip_info_cjson); + ip_info_cjson= wifi_manager_clear_ip_info_json(&ip_info_cjson); wifi_manager_unlock_json_buffer(); } wifi_manager_send_message(ORDER_CONNECT_STA, (void*)CONNECTION_REQUEST_USER); @@ -780,22 +785,28 @@ void wifi_manager( void * pvParameters ){ case EVENT_SCAN_DONE: /* As input param, it stores max AP number ap_records can hold. As output param, it receives the actual AP number this API returns. * As a consequence, ap_num MUST be reset to MAX_AP_NUM at every scan */ + ESP_LOGD(TAG,"Getting AP list records"); ap_num = MAX_AP_NUM; ESP_ERROR_CHECK(esp_wifi_scan_get_ap_records(&ap_num, accessp_records)); /* make sure the http server isn't trying to access the list while it gets refreshed */ + ESP_LOGD(TAG,"Preparing to build ap JSON list"); if(wifi_manager_lock_json_buffer( pdMS_TO_TICKS(1000) )){ /* Will remove the duplicate SSIDs from the list and update ap_num */ wifi_manager_filter_unique(accessp_records, &ap_num); wifi_manager_generate_acess_points_json(); wifi_manager_unlock_json_buffer(); + ESP_LOGD(TAG,"Done building ap JSON list"); } else{ ESP_LOGE(TAG, "could not get access to json mutex in wifi_scan"); } /* callback */ - if(cb_ptr_arr[msg.code]) (*cb_ptr_arr[msg.code])(NULL); - + if(cb_ptr_arr[msg.code]) { + ESP_LOGD(TAG,"Invoking SCAN DONE callback"); + (*cb_ptr_arr[msg.code])(NULL); + ESP_LOGD(TAG,"Done Invoking SCAN DONE callback"); + } break; case EVENT_REFRESH_OTA: if(wifi_manager_lock_json_buffer( portMAX_DELAY )){