Skip to content

Commit

Permalink
Improve WiFi logging (#358)
Browse files Browse the repository at this point in the history
* Try to make WiFi printout more standard

* Handle ESP8266 WiFi encryption type

ESP8266 WiFi encryption type is according to 802.11, while ESP32 seems to report based on whatever... It would also be oh so convenient if we just report the name, so here it is

* Use tabs with quotes for WiFi scan

It was mentioned this would be easier for parsing, so I'll just leave it the same but with quotes, as it's still just as readable now

* Reformat with clang-format
  • Loading branch information
ButterscotchV authored Dec 11, 2024
1 parent d8b51aa commit da44803
Show file tree
Hide file tree
Showing 2 changed files with 46 additions and 4 deletions.
4 changes: 2 additions & 2 deletions src/network/wifihandler.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ void WiFiNetwork::setUp() {
#endif
WiFi.hostname("SlimeVR FBT Tracker");
wifiHandlerLogger.info(
"Loaded credentials for SSID %s and pass length %d",
"Loaded credentials for SSID '%s' and pass length %d",
WiFi.SSID().c_str(),
WiFi.psk().length()
);
Expand Down Expand Up @@ -127,7 +127,7 @@ void onConnected() {
isWifiConnected = true;
hadWifi = true;
wifiHandlerLogger.info(
"Connected successfully to SSID '%s', ip address %s",
"Connected successfully to SSID '%s', IP address %s",
WiFi.SSID().c_str(),
WiFi.localIP().toString().c_str()
);
Expand Down
46 changes: 44 additions & 2 deletions src/serial/serialcommands.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -172,6 +172,48 @@ void printState() {
);
}

#if ESP32
char* getEncryptionTypeName(wifi_auth_mode_t type) {
switch (type) {
case WIFI_AUTH_OPEN:
return "OPEN";
case WIFI_AUTH_WEP:
return "WEP";
case WIFI_AUTH_WPA_PSK:
return "WPA_PSK";
case WIFI_AUTH_WPA2_PSK:
return "WPA2_PSK";
case WIFI_AUTH_WPA_WPA2_PSK:
return "WPA_WPA2_PSK";
case WIFI_AUTH_WPA2_ENTERPRISE:
return "WPA2_ENTERPRISE";
case WIFI_AUTH_WPA3_PSK:
return "WPA3_PSK";
case WIFI_AUTH_WPA2_WPA3_PSK:
return "WPA2_WPA3_PSK";
case WIFI_AUTH_WAPI_PSK:
return "WAPI_PSK";
case WIFI_AUTH_WPA3_ENT_192:
return "WPA3_ENT_192";
}
#else
char* getEncryptionTypeName(uint8_t type) {
switch (type) {
case ENC_TYPE_NONE:
return "OPEN";
case ENC_TYPE_WEP:
return "WEP";
case ENC_TYPE_TKIP:
return "WPA_PSK";
case ENC_TYPE_CCMP:
return "WPA2_PSK";
case ENC_TYPE_AUTO:
return "WPA_WPA2_PSK";
}
#endif
return "UNKNOWN";
}

void cmdGet(CmdParser* parser) {
if (parser->getParamCount() < 2) {
return;
Expand Down Expand Up @@ -271,12 +313,12 @@ void cmdGet(CmdParser* parser) {
logger.info("[WSCAN] Found %d networks:", scanRes);
for (int i = 0; i < scanRes; i++) {
logger.info(
"[WSCAN] %d:\t%02d\t%s\t(%d)\t%s",
"[WSCAN] %d:\t%02d\t'%s'\t(%d dBm)\t%s",
i,
WiFi.SSID(i).length(),
WiFi.SSID(i).c_str(),
WiFi.RSSI(i),
((WiFi.encryptionType(i) == 0) ? "OPEN" : "PASSWD")
getEncryptionTypeName(WiFi.encryptionType(i))
);
}
WiFi.scanDelete();
Expand Down

0 comments on commit da44803

Please sign in to comment.