From e32886763e1acf3a34f4f532e6caf8a6f83e506c Mon Sep 17 00:00:00 2001 From: Nathan Phillips Date: Tue, 2 Jul 2019 14:50:30 +0100 Subject: [PATCH 1/4] Use macros for switch case labels --- libraries/WiFi/src/WiFiMulti.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libraries/WiFi/src/WiFiMulti.cpp b/libraries/WiFi/src/WiFiMulti.cpp index 2bc276811cc..b2a68182099 100644 --- a/libraries/WiFi/src/WiFiMulti.cpp +++ b/libraries/WiFi/src/WiFiMulti.cpp @@ -128,17 +128,17 @@ uint8_t WiFiMulti::run(uint32_t connectTimeout) } switch(status) { - case 3: + case WL_CONNECTED: log_i("[WIFI] Connecting done."); log_d("[WIFI] SSID: %s", WiFi.SSID().c_str()); log_d("[WIFI] IP: %s", WiFi.localIP().toString().c_str()); log_d("[WIFI] MAC: %s", WiFi.BSSIDstr().c_str()); log_d("[WIFI] Channel: %d", WiFi.channel()); break; - case 1: + case WL_NO_SSID_AVAIL: log_e("[WIFI] Connecting Failed AP not found."); break; - case 4: + case WL_CONNECT_FAILED: log_e("[WIFI] Connecting Failed."); break; default: From 26d9acd5ad6313bc25485415ba15ee6db70d7d7c Mon Sep 17 00:00:00 2001 From: Nathan Phillips Date: Tue, 2 Jul 2019 14:50:50 +0100 Subject: [PATCH 2/4] Fixed spelling error in "too" --- libraries/WiFi/src/WiFiMulti.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libraries/WiFi/src/WiFiMulti.cpp b/libraries/WiFi/src/WiFiMulti.cpp index b2a68182099..1baec93bc3d 100644 --- a/libraries/WiFi/src/WiFiMulti.cpp +++ b/libraries/WiFi/src/WiFiMulti.cpp @@ -169,14 +169,14 @@ bool WiFiMulti::APlistAdd(const char* ssid, const char *passphrase) WifiAPlist_t newAP; if(!ssid || *ssid == 0x00 || strlen(ssid) > 31) { - // fail SSID to long or missing! - log_e("[WIFI][APlistAdd] no ssid or ssid to long"); + // fail SSID too long or missing! + log_e("[WIFI][APlistAdd] no ssid or ssid too long"); return false; } if(passphrase && strlen(passphrase) > 63) { - // fail passphrase to long! - log_e("[WIFI][APlistAdd] passphrase to long"); + // fail passphrase too long! + log_e("[WIFI][APlistAdd] passphrase too long"); return false; } From 77b53b31c8cfcf1173ac22b17ddcc078d7cda0c7 Mon Sep 17 00:00:00 2001 From: Nathan Phillips Date: Tue, 2 Jul 2019 14:55:21 +0100 Subject: [PATCH 3/4] Fix spacing --- libraries/WiFi/src/WiFiMulti.cpp | 7 ++----- libraries/WiFi/src/WiFiMulti.h | 1 - 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/libraries/WiFi/src/WiFiMulti.cpp b/libraries/WiFi/src/WiFiMulti.cpp index 1baec93bc3d..11f7a079a63 100644 --- a/libraries/WiFi/src/WiFiMulti.cpp +++ b/libraries/WiFi/src/WiFiMulti.cpp @@ -44,12 +44,11 @@ bool WiFiMulti::addAP(const char* ssid, const char *passphrase) uint8_t WiFiMulti::run(uint32_t connectTimeout) { - int8_t scanResult; uint8_t status = WiFi.status(); if(status == WL_CONNECTED) { for(uint32_t x = 0; x < APlist.size(); x++) { - if(WiFi.SSID()==APlist[x].ssid){ + if(WiFi.SSID()==APlist[x].ssid) { return status; } } @@ -119,7 +118,7 @@ uint8_t WiFiMulti::run(uint32_t connectTimeout) WiFi.begin(bestNetwork.ssid, bestNetwork.passphrase, bestChannel, bestBSSID); status = WiFi.status(); - + auto startTime = millis(); // wait for connection, fail, or timeout while(status != WL_CONNECTED && status != WL_NO_SSID_AVAIL && status != WL_CONNECT_FAILED && (millis() - startTime) <= connectTimeout) { @@ -165,7 +164,6 @@ uint8_t WiFiMulti::run(uint32_t connectTimeout) bool WiFiMulti::APlistAdd(const char* ssid, const char *passphrase) { - WifiAPlist_t newAP; if(!ssid || *ssid == 0x00 || strlen(ssid) > 31) { @@ -216,4 +214,3 @@ void WiFiMulti::APlistClean(void) } APlist.clear(); } - diff --git a/libraries/WiFi/src/WiFiMulti.h b/libraries/WiFi/src/WiFiMulti.h index d628c44401b..7326a6aef1b 100644 --- a/libraries/WiFi/src/WiFiMulti.h +++ b/libraries/WiFi/src/WiFiMulti.h @@ -48,7 +48,6 @@ class WiFiMulti std::vector APlist; bool APlistAdd(const char* ssid, const char *passphrase = NULL); void APlistClean(void); - }; #endif /* WIFICLIENTMULTI_H_ */ From c9d2deb6d248ceb19ac40807a2fcc8219e277a75 Mon Sep 17 00:00:00 2001 From: Nathan Phillips Date: Tue, 2 Jul 2019 15:01:48 +0100 Subject: [PATCH 4/4] Inline private functions that are only called once --- libraries/WiFi/src/WiFiMulti.cpp | 102 ++++++++++++++----------------- libraries/WiFi/src/WiFiMulti.h | 2 - 2 files changed, 45 insertions(+), 59 deletions(-) diff --git a/libraries/WiFi/src/WiFiMulti.cpp b/libraries/WiFi/src/WiFiMulti.cpp index 11f7a079a63..730850333f1 100644 --- a/libraries/WiFi/src/WiFiMulti.cpp +++ b/libraries/WiFi/src/WiFiMulti.cpp @@ -34,12 +34,55 @@ WiFiMulti::WiFiMulti() WiFiMulti::~WiFiMulti() { - APlistClean(); + for(uint32_t i = 0; i < APlist.size(); i++) { + WifiAPlist_t entry = APlist[i]; + if(entry.ssid) { + free(entry.ssid); + } + if(entry.passphrase) { + free(entry.passphrase); + } + } + APlist.clear(); } bool WiFiMulti::addAP(const char* ssid, const char *passphrase) { - return APlistAdd(ssid, passphrase); + WifiAPlist_t newAP; + + if(!ssid || *ssid == 0x00 || strlen(ssid) > 31) { + // fail SSID too long or missing! + log_e("[WIFI][APlistAdd] no ssid or ssid too long"); + return false; + } + + if(passphrase && strlen(passphrase) > 63) { + // fail passphrase too long! + log_e("[WIFI][APlistAdd] passphrase too long"); + return false; + } + + newAP.ssid = strdup(ssid); + + if(!newAP.ssid) { + log_e("[WIFI][APlistAdd] fail newAP.ssid == 0"); + return false; + } + + if(passphrase && *passphrase != 0x00) { + newAP.passphrase = strdup(passphrase); + if(!newAP.passphrase) { + log_e("[WIFI][APlistAdd] fail newAP.passphrase == 0"); + free(newAP.ssid); + return false; + } + } else { + newAP.passphrase = NULL; + } + + APlist.push_back(newAP); + log_i("[WIFI][APlistAdd] add SSID: %s", newAP.ssid); + return true; } uint8_t WiFiMulti::run(uint32_t connectTimeout) @@ -159,58 +202,3 @@ uint8_t WiFiMulti::run(uint32_t connectTimeout) return status; } - -// ################################################################################## - -bool WiFiMulti::APlistAdd(const char* ssid, const char *passphrase) -{ - WifiAPlist_t newAP; - - if(!ssid || *ssid == 0x00 || strlen(ssid) > 31) { - // fail SSID too long or missing! - log_e("[WIFI][APlistAdd] no ssid or ssid too long"); - return false; - } - - if(passphrase && strlen(passphrase) > 63) { - // fail passphrase too long! - log_e("[WIFI][APlistAdd] passphrase too long"); - return false; - } - - newAP.ssid = strdup(ssid); - - if(!newAP.ssid) { - log_e("[WIFI][APlistAdd] fail newAP.ssid == 0"); - return false; - } - - if(passphrase && *passphrase != 0x00) { - newAP.passphrase = strdup(passphrase); - if(!newAP.passphrase) { - log_e("[WIFI][APlistAdd] fail newAP.passphrase == 0"); - free(newAP.ssid); - return false; - } - } else { - newAP.passphrase = NULL; - } - - APlist.push_back(newAP); - log_i("[WIFI][APlistAdd] add SSID: %s", newAP.ssid); - return true; -} - -void WiFiMulti::APlistClean(void) -{ - for(uint32_t i = 0; i < APlist.size(); i++) { - WifiAPlist_t entry = APlist[i]; - if(entry.ssid) { - free(entry.ssid); - } - if(entry.passphrase) { - free(entry.passphrase); - } - } - APlist.clear(); -} diff --git a/libraries/WiFi/src/WiFiMulti.h b/libraries/WiFi/src/WiFiMulti.h index 7326a6aef1b..38ddb5d9f95 100644 --- a/libraries/WiFi/src/WiFiMulti.h +++ b/libraries/WiFi/src/WiFiMulti.h @@ -46,8 +46,6 @@ class WiFiMulti private: std::vector APlist; - bool APlistAdd(const char* ssid, const char *passphrase = NULL); - void APlistClean(void); }; #endif /* WIFICLIENTMULTI_H_ */