diff options
| author | krolyxon <me@krolyxon.com> | 2026-05-11 14:01:44 +0530 |
|---|---|---|
| committer | krolyxon <me@krolyxon.com> | 2026-05-11 14:01:44 +0530 |
| commit | f34b1e2fbd94bcc8d0ee2e2e2e43e214d0b329a1 (patch) | |
| tree | 235d29da4668906d1e11d651980cea8b0c69dec7 /firmware/wifi_scan.cpp | |
| parent | 360d2d2ad3bd584014683f3579fc2e2348c16852 (diff) | |
Migrate to PlatformIO
Now since i have been able to make PSRAM working with platformio, i
don't have to use this shitty Arduino-IDE anymore which does not even
allow me to use subfolders like a normal programmer would do
Diffstat (limited to 'firmware/wifi_scan.cpp')
| -rw-r--r-- | firmware/wifi_scan.cpp | 152 |
1 files changed, 0 insertions, 152 deletions
diff --git a/firmware/wifi_scan.cpp b/firmware/wifi_scan.cpp deleted file mode 100644 index d4657bb..0000000 --- a/firmware/wifi_scan.cpp +++ /dev/null @@ -1,152 +0,0 @@ -#include <Arduino.h> -#include <WiFi.h> -#include "display.h" -#include "buttons.h" - -#define MAX_NETWORKS 30 - -struct WiFiNet { - String ssid; - int rssi; - int channel; - bool encrypted; -}; - -static WiFiNet networks[MAX_NETWORKS]; -static int networkCount = 0; -static int selectedIndex = 0; - -// ===== SCAN ===== -void wifi_scan_start() -{ - u8g2.clearBuffer(); - u8g2.drawStr(10, 30, "Scanning WiFi..."); - u8g2.sendBuffer(); - - WiFi.mode(WIFI_STA); - WiFi.disconnect(); - - delay(100); - - int n = WiFi.scanNetworks(); - - networkCount = min(n, MAX_NETWORKS); - - for (int i = 0; i < networkCount; i++) - { - networks[i].ssid = WiFi.SSID(i); - networks[i].rssi = WiFi.RSSI(i); - networks[i].channel = WiFi.channel(i); - networks[i].encrypted = (WiFi.encryptionType(i) != WIFI_AUTH_OPEN); - } - - selectedIndex = 0; -} - -// ===== DRAW ===== -void wifi_scan_draw() -{ - u8g2.clearBuffer(); - - if (networkCount == 0) - { - u8g2.drawStr(0, 30, "No networks"); - u8g2.drawStr(0, 45, "Press BACK"); - } - else - { - char counter[20]; - sprintf(counter, "%d/%d", selectedIndex + 1, networkCount); - u8g2.setFont(u8g2_font_5x8_tr); - u8g2.drawStr(0, 8, counter); - - u8g2.setFont(u8g2_font_6x10_tr); - - for (int i = 0; i < 3; i++) - { - int idx = selectedIndex + i; - if (idx >= networkCount) break; - - int y = 22 + i * 14; - - if (i == 0) - { - u8g2.drawBox(0, y - 10, 128, 12); - u8g2.setDrawColor(0); - } - - String text = networks[idx].ssid; - if (text.length() > 10) - text = text.substring(0, 10) + ".."; - - text += " (" + String(networks[idx].rssi) + ")"; - - u8g2.drawStr(2, y, text.c_str()); - - if (i == 0) - u8g2.setDrawColor(1); - } - } - - u8g2.sendBuffer(); -} - -// ===== DETAILS ===== -void wifi_drawDetails() -{ - if (networkCount == 0) return; - - WiFiNet &net = networks[selectedIndex]; - - u8g2.clearBuffer(); - u8g2.setFont(u8g2_font_5x8_tr); - - u8g2.drawStr(0, 10, net.ssid.c_str()); - - char rssi[20]; - sprintf(rssi, "RSSI: %d", net.rssi); - u8g2.drawStr(0, 20, rssi); - - char ch[20]; - sprintf(ch, "CH: %d", net.channel); - u8g2.drawStr(0, 30, ch); - - u8g2.drawStr(0, 40, net.encrypted ? "Secured" : "Open"); - - u8g2.sendBuffer(); -} - -// ===== LOOP ===== -void wifi_scan_loop() -{ - static uint32_t lastPress = 0; - - if (millis() - lastPress < 150) - return; - - if (btnDown() && selectedIndex < networkCount - 1) - { - selectedIndex++; - wifi_scan_draw(); - lastPress = millis(); - } - else if (btnUp() && selectedIndex > 0) - { - selectedIndex--; - wifi_scan_draw(); - lastPress = millis(); - } - else if (btnSelect() && networkCount > 0) - { - wifi_drawDetails(); - delay(3000); - wifi_scan_draw(); - lastPress = millis(); - } -// else if (btnBack()) -// { -// wifi_scan_start(); -// wifi_scan_draw(); -// lastPress = millis(); -// } -} |
