#include "WiFi_Scanner.h" #include #include "LVGL_Driver.h" #include "HandshakeCapture.h" void WiFiScanner_Init(void) { WiFi.mode(WIFI_STA); WiFi.disconnect(false, true); WiFi.setSleep(false); } void WiFiScanner_Refresh(void) { Ui_SetWifiStatus("Scanning..."); Ui_ClearNetworkList(); scanNetworksSortedByRSSI(); int count = 0; for (int i = 0; i < 20; i++) { if (networks[i].ssid.isEmpty()) break; count++; } if (count <= 0) { Ui_SetWifiStatus("No networks"); WiFi.scanDelete(); return; } static char status_text[64]; snprintf(status_text, sizeof(status_text), "%d networks", count); Ui_SetWifiStatus(status_text); for (int i = 0; i < count; i++) { char line[48]; snprintf(line, sizeof(line), "%02d. %s ch%d", i + 1, networks[i].ssid.c_str(), networks[i].ch); Ui_AddNetwork(line, i); if (networks[i].handshake_captured) { Ui_SetNetworkColor(i, lv_palette_main(LV_PALETTE_RED)); } else { Ui_SetNetworkColor(i, lv_palette_main(LV_PALETTE_GREEN)); } } WiFi.scanDelete(); }