Browse Source

Even more more logs. Removed references to the old wifi-manager struct

Sebastien 5 years ago
parent
commit
512c7d7722
2 changed files with 44 additions and 74 deletions
  1. 37 67
      components/wifi-manager/wifi_manager.c
  2. 7 7
      components/wifi-manager/wifi_manager.h

+ 37 - 67
components/wifi-manager/wifi_manager.c

@@ -108,11 +108,11 @@ static TaskHandle_t task_wifi_manager = NULL;
 /**
  * The actual WiFi settings in use
  */
-struct wifi_settings_t wifi_settings = {
-	.sta_only = DEFAULT_STA_ONLY,
-	.sta_power_save = DEFAULT_STA_POWER_SAVE,
-	.sta_static_ip = 0
-};
+//struct wifi_settings_t wifi_settings = {
+//	.sta_only = DEFAULT_STA_ONLY,
+//	.sta_power_save = DEFAULT_STA_POWER_SAVE,
+//	.sta_static_ip = 0
+//};
 
 
 /* wifi scanner config */
@@ -253,7 +253,7 @@ void wifi_manager_start(){
 	ESP_LOGD(TAG, "wifi_manager_start.  Allocating memory for wifi configuration structure");
 	wifi_manager_config_sta = (wifi_config_t*)malloc(sizeof(wifi_config_t));
 	memset(wifi_manager_config_sta, 0x00, sizeof(wifi_config_t));
-	memset(&wifi_settings, 0x00, sizeof(wifi_settings));
+//	memset(&wifi_settings, 0x00, sizeof(wifi_settings));
 
 	ESP_LOGD(TAG, "wifi_manager_start.  Allocating memory for callback functions registration");
 	cb_ptr_arr = malloc(  sizeof(   sizeof( void (*)( void* ) )) * MESSAGE_CODE_COUNT);
@@ -286,11 +286,6 @@ void wifi_manager_start(){
 	ESP_LOGD(TAG, "About to call init wifi");
 	wifi_manager_init_wifi();
 
-
-	/* Fetch configuration from nvs	 */
-	ESP_LOGD(TAG, "About to fetch wifi sta config structure");
-	wifi_manager_fetch_wifi_sta_config();
-
 	/* start wifi manager task */
 	ESP_LOGD(TAG, "Creating wifi manager task");
 	xTaskCreate(&wifi_manager, "wifi_manager", 4096, NULL, WIFI_MANAGER_TASK_PRIORITY, &task_wifi_manager);
@@ -321,11 +316,11 @@ esp_err_t wifi_manager_save_sta_config(){
 			return esp_err;
 		}
 
-		esp_err = nvs_set_blob(handle, "settings", &wifi_settings, sizeof(wifi_settings));
-		if (esp_err != ESP_OK) {
-			ESP_LOGE(TAG,"Unable to save wifi_settings in name namespace %s. Error %s", wifi_manager_nvs_namespace, esp_err_to_name(esp_err));
-			return esp_err;
-		}
+//		esp_err = nvs_set_blob(handle, "settings", &wifi_settings, sizeof(wifi_settings));
+//		if (esp_err != ESP_OK) {
+//			ESP_LOGE(TAG,"Unable to save wifi_settings in name namespace %s. Error %s", wifi_manager_nvs_namespace, esp_err_to_name(esp_err));
+//			return esp_err;
+//		}
 
 		esp_err = nvs_commit(handle);
 		if (esp_err != ESP_OK) {
@@ -335,10 +330,10 @@ esp_err_t wifi_manager_save_sta_config(){
 		nvs_close(handle);
 
 		ESP_LOGD(TAG, "wifi_manager_wrote wifi_sta_config: ssid:%s password:%s",wifi_manager_config_sta->sta.ssid,wifi_manager_config_sta->sta.password);
-		ESP_LOGD(TAG, "wifi_manager_wrote wifi_settings: sta_static_ip (0 = dhcp client, 1 = static ip): %i",wifi_settings.sta_static_ip);
-		ESP_LOGD(TAG, "wifi_manager_wrote wifi_settings: sta_ip_addr: %s", ip4addr_ntoa(&wifi_settings.sta_static_ip_config.ip));
-		ESP_LOGD(TAG, "wifi_manager_wrote wifi_settings: sta_gw_addr: %s", ip4addr_ntoa(&wifi_settings.sta_static_ip_config.gw));
-		ESP_LOGD(TAG, "wifi_manager_wrote wifi_settings: sta_netmask: %s", ip4addr_ntoa(&wifi_settings.sta_static_ip_config.netmask));
+//		ESP_LOGD(TAG, "wifi_manager_wrote wifi_settings: sta_static_ip (0 = dhcp client, 1 = static ip): %i",wifi_settings.sta_static_ip);
+//		ESP_LOGD(TAG, "wifi_manager_wrote wifi_settings: sta_ip_addr: %s", ip4addr_ntoa(&wifi_settings.sta_static_ip_config.ip));
+//		ESP_LOGD(TAG, "wifi_manager_wrote wifi_settings: sta_gw_addr: %s", ip4addr_ntoa(&wifi_settings.sta_static_ip_config.gw));
+//		ESP_LOGD(TAG, "wifi_manager_wrote wifi_settings: sta_netmask: %s", ip4addr_ntoa(&wifi_settings.sta_static_ip_config.netmask));
 
 	}
 
@@ -353,15 +348,17 @@ bool wifi_manager_fetch_wifi_sta_config(){
 
 	ESP_LOGD(TAG,"Fetching wifi sta config.");
 	if(nvs_open(wifi_manager_nvs_namespace, NVS_READONLY, &handle) == ESP_OK){
-
 		if(wifi_manager_config_sta == NULL){
+			ESP_LOGD(TAG,"Allocating memory for structure.");
 			wifi_manager_config_sta = (wifi_config_t*)malloc(sizeof(wifi_config_t));
 		}
 		memset(wifi_manager_config_sta, 0x00, sizeof(wifi_config_t));
 
 		/* ssid */
+		ESP_LOGD(TAG,"Fetching value for ssid.");
 		size_t sz = sizeof(wifi_manager_config_sta->sta.ssid);
 		uint8_t *buff = (uint8_t*)malloc(sizeof(uint8_t) * sz);
+		memset(buff,0x00,sizeof(uint8_t) * sz);
 		esp_err = nvs_get_blob(handle, "ssid", buff, &sz);
 		if(esp_err != ESP_OK){
 			ESP_LOGI(TAG,"No ssid found in nvs.");
@@ -369,52 +366,24 @@ bool wifi_manager_fetch_wifi_sta_config(){
 			nvs_close(handle);
 			return false;
 		}
-		memcpy(wifi_manager_config_sta->sta.ssid, buff, sz);
+		memcpy(wifi_manager_config_sta->sta.ssid, buff, sizeof(wifi_manager_config_sta->sta.ssid));
 		FREE_AND_NULL(buff);
 		ESP_LOGI(TAG, "wifi_manager_fetch_wifi_sta_config: ssid:%s ",wifi_manager_config_sta->sta.ssid);
 
 				/* password */
 		sz = sizeof(wifi_manager_config_sta->sta.password);
 		buff = (uint8_t*)malloc(sizeof(uint8_t) * sz);
+		memset(buff,0x00,sizeof(uint8_t) * sz);
 		esp_err = nvs_get_blob(handle, "password", buff, &sz);
 		if(esp_err != ESP_OK){
 			// Don't take this as an error. This could be an opened access point?
 			ESP_LOGW(TAG,"No wifi password found in nvs");
 		}
 		else {
-			memcpy(wifi_manager_config_sta->sta.password, buff, sz);
+			memcpy(wifi_manager_config_sta->sta.password, buff, sizeof(wifi_manager_config_sta->sta.password));
 			ESP_LOGI(TAG, "wifi_manager_fetch_wifi_sta_config: password:%s",wifi_manager_config_sta->sta.password);
 		}
 		FREE_AND_NULL(buff);
-
-		/* settings */
-//		sz = sizeof(wifi_settings);
-//		buff = (uint8_t*)malloc(sizeof(uint8_t) * sz);
-//		esp_err = nvs_get_blob(handle, "settings", buff, &sz);
-//		if(esp_err != ESP_OK){
-//			// SSID was found, we should have some settings as well.  Log this as an error
-//			ESP_LOGW(TAG,"No wifi settings found in nvs. Freeing nvs buffer");
-//			FREE_AND_NULL(buff);
-//			ESP_LOGD(TAG,"Closing nvs Handle");
-//			nvs_close(handle);
-//			ESP_LOGD(TAG,"load sta config done");
-//			return wifi_manager_config_sta->sta.ssid[0] != '\0';
-//		}
-//		if(sz!=sizeof(wifi_settings)){
-//			ESP_LOGW(TAG,"Unable to retrieve settings buffer from nvs.  Size did not match");
-//		}
-//		else {
-//			ESP_LOGD(TAG,"Copying configuration restored from nvs");
-//			memcpy(&wifi_settings, buff, sz);
-//			ESP_LOGI(TAG, "wifi_manager_fetch_wifi_settings: sta_only (0 = APSTA, 1 = STA when connected):%i",wifi_settings.sta_only);
-//			ESP_LOGI(TAG, "wifi_manager_fetch_wifi_settings: sta_power_save (1 = yes):%i",wifi_settings.sta_power_save);
-//			ESP_LOGI(TAG, "wifi_manager_fetch_wifi_settings: sta_static_ip (0 = dhcp client, 1 = static ip):%i",wifi_settings.sta_static_ip);
-//			ESP_LOGI(TAG, "wifi_manager_fetch_wifi_settings: sta_static_ip_config: IP: %s , GW: %s , Mask: %s", ip4addr_ntoa(&wifi_settings.sta_static_ip_config.ip), ip4addr_ntoa(&wifi_settings.sta_static_ip_config.gw), ip4addr_ntoa(&wifi_settings.sta_static_ip_config.netmask));
-//			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));
-//		}
-//		FREE_AND_NULL(buff);
 		nvs_close(handle);
 
 		return wifi_manager_config_sta->sta.ssid[0] != '\0';
@@ -1159,7 +1128,7 @@ void wifi_manager( void * pvParameters ){
 				break;
 
 			case ORDER_LOAD_AND_RESTORE_STA:
-				ESP_LOGI(TAG, "MESSAGE: ORDER_LOAD_AND_RESTORE_STA");
+				ESP_LOGI(TAG, "MESSAGE: ORDER_LOAD_AND_RESTORE_STA. About to fetch wifi STA configuration");
 				if(wifi_manager_fetch_wifi_sta_config()){
 					ESP_LOGI(TAG, "Saved wifi found on startup. Will attempt to connect.");
 					wifi_manager_send_message(ORDER_CONNECT_STA, (void*)CONNECTION_REQUEST_RESTORE_CONNECTION);
@@ -1191,19 +1160,20 @@ void wifi_manager( void * pvParameters ){
 					xEventGroupSetBits(wifi_manager_event_group, WIFI_MANAGER_REQUEST_RESTORE_STA_BIT);
 
 					/* STA - Wifi Station configuration setup */
-					if(wifi_settings.sta_static_ip) {
-						// There's a static ip address configured, so
-						ESP_LOGI(TAG, "Assigning static ip to STA interface. IP: %s , GW: %s , Mask: %s",
-										ip4addr_ntoa(&wifi_settings.sta_static_ip_config.ip),
-										ip4addr_ntoa(&wifi_settings.sta_static_ip_config.gw),
-										ip4addr_ntoa(&wifi_settings.sta_static_ip_config.netmask));
-
-						/* stop DHCP client*/
-						ESP_ERROR_CHECK(tcpip_adapter_dhcpc_stop(TCPIP_ADAPTER_IF_STA));
-						/* assign a static IP to the STA network interface */
-						ESP_ERROR_CHECK(tcpip_adapter_set_ip_info(TCPIP_ADAPTER_IF_STA, &wifi_settings.sta_static_ip_config));
-						}
-					else {
+					//todo:  support static ip address
+//					if(wifi_settings.sta_static_ip) {
+//						// There's a static ip address configured, so
+//						ESP_LOGI(TAG, "Assigning static ip to STA interface. IP: %s , GW: %s , Mask: %s",
+//										ip4addr_ntoa(&wifi_settings.sta_static_ip_config.ip),
+//										ip4addr_ntoa(&wifi_settings.sta_static_ip_config.gw),
+//										ip4addr_ntoa(&wifi_settings.sta_static_ip_config.netmask));
+//
+//						/* stop DHCP client*/
+//						ESP_ERROR_CHECK(tcpip_adapter_dhcpc_stop(TCPIP_ADAPTER_IF_STA));
+//						/* assign a static IP to the STA network interface */
+//						ESP_ERROR_CHECK(tcpip_adapter_set_ip_info(TCPIP_ADAPTER_IF_STA, &wifi_settings.sta_static_ip_config));
+//						}
+//					else {
 						/* start DHCP client if not started*/
 						tcpip_adapter_dhcp_status_t status;
 						ESP_LOGD(TAG, "wifi_manager: Checking if DHCP client for STA interface is running");
@@ -1211,7 +1181,7 @@ void wifi_manager( void * pvParameters ){
 						if (status!=TCPIP_ADAPTER_DHCP_STARTED) {
 							ESP_LOGI(TAG, "wifi_manager: Start DHCP client for STA interface");
 							ESP_ERROR_CHECK(tcpip_adapter_dhcpc_start(TCPIP_ADAPTER_IF_STA));
-						}
+//						}
 					}
 				}
 

+ 7 - 7
components/wifi-manager/wifi_manager.h

@@ -229,13 +229,13 @@ typedef enum connection_request_made_by_code_t{
 /**
  * The wifi manager settings in use
  */
-struct wifi_settings_t{
-	bool sta_only;
-	bool sta_static_ip;
-	wifi_ps_type_t sta_power_save;
-	tcpip_adapter_ip_info_t sta_static_ip_config;
-};
-extern struct wifi_settings_t wifi_settings;
+//struct wifi_settings_t{
+//	bool sta_only;
+//	bool sta_static_ip;
+//	wifi_ps_type_t sta_power_save;
+//	tcpip_adapter_ip_info_t sta_static_ip_config;
+//};
+//extern struct wifi_settings_t wifi_settings;
 
 /**
  * @brief Structure used to store one message in the queue.