mirror of
https://github.com/justcallmekoko/ESP32Marauder.git
synced 2025-12-12 07:40:58 -08:00
Add AP info and reduce button array size
This commit is contained in:
@@ -270,8 +270,13 @@ void Display::touchToExit()
|
||||
void Display::clearScreen()
|
||||
{
|
||||
//Serial.println(F("clearScreen()"));
|
||||
tft.fillScreen(TFT_BLACK);
|
||||
tft.setCursor(0, 0);
|
||||
#ifndef MARAUDER_V7
|
||||
tft.fillScreen(TFT_BLACK);
|
||||
tft.setCursor(0, 0);
|
||||
#else
|
||||
tft.fillRect(0, 0, TFT_WIDTH, TFT_HEIGHT, TFT_BLACK);
|
||||
tft.setCursor(0, 0);
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef SCREEN_BUFFER
|
||||
|
||||
@@ -1451,6 +1451,7 @@ void MenuFunctions::RunSetup()
|
||||
#endif
|
||||
wifiGeneralMenu.list = new LinkedList<MenuNode>();
|
||||
wifiAPMenu.list = new LinkedList<MenuNode>();
|
||||
apInfoMenu.list = new LinkedList<MenuNode>();
|
||||
#ifdef HAS_BT
|
||||
airtagMenu.list = new LinkedList<MenuNode>();
|
||||
#endif
|
||||
@@ -1517,6 +1518,7 @@ void MenuFunctions::RunSetup()
|
||||
clearSSIDsMenu.name = text_table1[28];
|
||||
clearAPsMenu.name = text_table1[29];
|
||||
wifiAPMenu.name = "Access Points";
|
||||
apInfoMenu.name = "AP Info";
|
||||
#ifdef HAS_BT
|
||||
airtagMenu.name = "Select Airtag";
|
||||
#endif
|
||||
@@ -1839,15 +1841,8 @@ void MenuFunctions::RunSetup()
|
||||
this->changeMenu(wifiAPMenu.parentMenu);
|
||||
});
|
||||
|
||||
// Determine how big the whole menu is going to be
|
||||
int menu_limit = access_points->size();
|
||||
/*if (access_points->size() <= BUTTON_ARRAY_LEN)
|
||||
menu_limit = access_points->size();
|
||||
else
|
||||
menu_limit = BUTTON_ARRAY_LEN;*/
|
||||
|
||||
// Populate the menu with buttons
|
||||
for (int i = 0; i < menu_limit; i++) {
|
||||
for (int i = 0; i < access_points->size(); i++) {
|
||||
// This is the menu node
|
||||
this->addNodes(&wifiAPMenu, access_points->get(i).essid, TFTCYAN, NULL, 255, [this, i](){
|
||||
AccessPoint new_ap = access_points->get(i);
|
||||
@@ -1864,6 +1859,29 @@ void MenuFunctions::RunSetup()
|
||||
this->changeMenu(&wifiAPMenu);
|
||||
});
|
||||
|
||||
this->addNodes(&wifiGeneralMenu, "View AP Info", TFTCYAN, NULL, KEYBOARD_ICO, [this](){
|
||||
// Add the back button
|
||||
wifiAPMenu.list->clear();
|
||||
this->addNodes(&wifiAPMenu, text09, TFTLIGHTGREY, NULL, 0, [this]() {
|
||||
this->changeMenu(wifiAPMenu.parentMenu);
|
||||
});
|
||||
|
||||
// Populate the menu with buttons
|
||||
for (int i = 0; i < access_points->size(); i++) {
|
||||
// This is the menu node
|
||||
this->addNodes(&wifiAPMenu, access_points->get(i).essid, TFTCYAN, NULL, 255, [this, i](){
|
||||
this->changeMenu(&apInfoMenu);
|
||||
wifi_scan_obj.RunAPInfo(i);
|
||||
});
|
||||
}
|
||||
this->changeMenu(&wifiAPMenu);
|
||||
});
|
||||
|
||||
apInfoMenu.parentMenu = &wifiAPMenu;
|
||||
this->addNodes(&apInfoMenu, text09, TFTLIGHTGREY, NULL, 0, [this]() {
|
||||
this->changeMenu(apInfoMenu.parentMenu);
|
||||
});
|
||||
|
||||
wifiAPMenu.parentMenu = &wifiGeneralMenu;
|
||||
this->addNodes(&wifiAPMenu, text09, TFTLIGHTGREY, NULL, 0, [this]() {
|
||||
this->changeMenu(wifiAPMenu.parentMenu);
|
||||
|
||||
@@ -178,6 +178,7 @@ class MenuFunctions
|
||||
Menu htmlMenu;
|
||||
Menu miniKbMenu;
|
||||
Menu saveFileMenu;
|
||||
Menu apInfoMenu;
|
||||
|
||||
// Bluetooth menu stuff
|
||||
Menu bluetoothSnifferMenu;
|
||||
|
||||
@@ -1918,6 +1918,36 @@ void WiFiScan::RunGPSNmea() {
|
||||
#endif
|
||||
}
|
||||
|
||||
void WiFiScan::RunAPInfo(uint16_t index) {
|
||||
display_obj.tft.setCursor(0, (STATUS_BAR_WIDTH * 2) + CHAR_WIDTH + KEY_H);
|
||||
display_obj.tft.setTextSize(1);
|
||||
display_obj.tft.setTextColor(TFT_WHITE, TFT_BLACK);
|
||||
|
||||
Serial.println(" ESSID: " + (String)access_points->get(index).essid);
|
||||
Serial.println(" BSSID: " + (String)macToString(access_points->get(index).bssid));
|
||||
Serial.println(" Channel: " + (String)access_points->get(index).channel);
|
||||
Serial.println(" RSSI: " + (String)access_points->get(index).rssi);
|
||||
Serial.println(" Frames: " + (String)access_points->get(index).packets);
|
||||
Serial.println("Stations: " + (String)access_points->get(index).stations->size());
|
||||
|
||||
display_obj.tft.println(" ESSID: " + (String)access_points->get(index).essid);
|
||||
display_obj.tft.println(" BSSID: " + (String)macToString(access_points->get(index).bssid));
|
||||
display_obj.tft.println(" Channel: " + (String)access_points->get(index).channel);
|
||||
display_obj.tft.println(" RSSI: " + (String)access_points->get(index).rssi);
|
||||
display_obj.tft.println(" Frames: " + (String)access_points->get(index).packets);
|
||||
display_obj.tft.println("Stations: " + (String)access_points->get(index).stations->size());
|
||||
|
||||
if (!access_points->get(index).selected) {
|
||||
Serial.println("Selected: false");
|
||||
display_obj.tft.println("Selected: false");
|
||||
}
|
||||
else {
|
||||
Serial.println("Selected: true");
|
||||
display_obj.tft.println("Selected: true");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void WiFiScan::RunInfo()
|
||||
{
|
||||
String sta_mac = this->getStaMAC();
|
||||
@@ -3147,28 +3177,21 @@ void WiFiScan::apSnifferCallbackFull(void* buf, wifi_promiscuous_pkt_type_t type
|
||||
}
|
||||
if (mac_match) {
|
||||
in_list = true;
|
||||
AccessPoint ap = access_points->get(i);
|
||||
ap.packets = ap.packets + 1;
|
||||
access_points->set(i, ap);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!in_list) {
|
||||
|
||||
//delay(random(0, 10));
|
||||
Serial.print("RSSI: ");
|
||||
Serial.print(snifferPacket->rx_ctrl.rssi);
|
||||
Serial.print(" Ch: ");
|
||||
Serial.print(snifferPacket->rx_ctrl.channel);
|
||||
Serial.print(" BSSID: ");
|
||||
Serial.print(addr);
|
||||
//display_string.concat(addr);
|
||||
//Serial.print(" ESSID: ");
|
||||
//display_string.concat(" -> ");
|
||||
//for (int i = 0; i < snifferPacket->payload[37]; i++)
|
||||
//{
|
||||
// Serial.print((char)snifferPacket->payload[i + 38]);
|
||||
// display_string.concat((char)snifferPacket->payload[i + 38]);
|
||||
// essid.concat((char)snifferPacket->payload[i + 38]);
|
||||
//}
|
||||
#ifdef HAS_SCREEN
|
||||
display_string.concat("#");
|
||||
display_string.concat(access_points->size());
|
||||
|
||||
@@ -455,6 +455,7 @@ class WiFiScan
|
||||
String freeRAM();
|
||||
void changeChannel();
|
||||
void changeChannel(int chan);
|
||||
void RunAPInfo(uint16_t index);
|
||||
void RunInfo();
|
||||
//void RunShutdownBLE();
|
||||
void RunGenerateSSIDs(int count = 20);
|
||||
|
||||
@@ -430,7 +430,7 @@
|
||||
//#define MENU_FONT &FreeSans9pt7b
|
||||
//#define MENU_FONT &FreeSansBold9pt7b
|
||||
#define BUTTON_SCREEN_LIMIT 6
|
||||
#define BUTTON_ARRAY_LEN 100
|
||||
#define BUTTON_ARRAY_LEN BUTTON_SCREEN_LIMIT
|
||||
#define STATUS_BAR_WIDTH (TFT_HEIGHT/16)
|
||||
#define LVGL_TICK_PERIOD 6
|
||||
|
||||
@@ -500,7 +500,7 @@
|
||||
//#define MENU_FONT &FreeSans9pt7b
|
||||
//#define MENU_FONT &FreeSansBold9pt7b
|
||||
#define BUTTON_SCREEN_LIMIT 6
|
||||
#define BUTTON_ARRAY_LEN 13
|
||||
#define BUTTON_ARRAY_LEN BUTTON_SCREEN_LIMIT
|
||||
#define STATUS_BAR_WIDTH (TFT_HEIGHT/16)
|
||||
#define LVGL_TICK_PERIOD 6
|
||||
|
||||
@@ -560,7 +560,7 @@
|
||||
//#define MENU_FONT &FreeSans9pt7b
|
||||
//#define MENU_FONT &FreeSansBold9pt7b
|
||||
#define BUTTON_SCREEN_LIMIT 12
|
||||
#define BUTTON_ARRAY_LEN 12
|
||||
#define BUTTON_ARRAY_LEN BUTTON_SCREEN_LIMIT
|
||||
#define STATUS_BAR_WIDTH 16
|
||||
#define LVGL_TICK_PERIOD 6
|
||||
|
||||
@@ -621,7 +621,7 @@
|
||||
//#define MENU_FONT &FreeSans9pt7b
|
||||
//#define MENU_FONT &FreeSansBold9pt7b
|
||||
#define BUTTON_SCREEN_LIMIT 12
|
||||
#define BUTTON_ARRAY_LEN 12
|
||||
#define BUTTON_ARRAY_LEN BUTTON_SCREEN_LIMIT
|
||||
#define STATUS_BAR_WIDTH 16
|
||||
#define LVGL_TICK_PERIOD 6
|
||||
|
||||
@@ -686,7 +686,7 @@
|
||||
//#define MENU_FONT &FreeSans9pt7b
|
||||
//#define MENU_FONT &FreeSansBold9pt7b
|
||||
#define BUTTON_SCREEN_LIMIT 12
|
||||
#define BUTTON_ARRAY_LEN 100
|
||||
#define BUTTON_ARRAY_LEN BUTTON_SCREEN_LIMIT
|
||||
#define STATUS_BAR_WIDTH 16
|
||||
#define LVGL_TICK_PERIOD 6
|
||||
|
||||
@@ -748,7 +748,7 @@
|
||||
//#define MENU_FONT &FreeSans9pt7b
|
||||
//#define MENU_FONT &FreeSansBold9pt7b
|
||||
#define BUTTON_SCREEN_LIMIT 12
|
||||
#define BUTTON_ARRAY_LEN 12
|
||||
#define BUTTON_ARRAY_LEN BUTTON_SCREEN_LIMIT
|
||||
#define STATUS_BAR_WIDTH 16
|
||||
#define LVGL_TICK_PERIOD 6
|
||||
|
||||
@@ -819,7 +819,7 @@
|
||||
//#define MENU_FONT &FreeSans9pt7b
|
||||
//#define MENU_FONT &FreeSansBold9pt7b
|
||||
#define BUTTON_SCREEN_LIMIT 10
|
||||
#define BUTTON_ARRAY_LEN 100
|
||||
#define BUTTON_ARRAY_LEN BUTTON_SCREEN_LIMIT
|
||||
#define STATUS_BAR_WIDTH (TFT_HEIGHT/16)
|
||||
#define LVGL_TICK_PERIOD 6
|
||||
|
||||
@@ -888,7 +888,7 @@
|
||||
//#define MENU_FONT &FreeSans9pt7b
|
||||
//#define MENU_FONT &FreeSansBold9pt7b
|
||||
#define BUTTON_SCREEN_LIMIT 5
|
||||
#define BUTTON_ARRAY_LEN 100
|
||||
#define BUTTON_ARRAY_LEN BUTTON_SCREEN_LIMIT
|
||||
#define STATUS_BAR_WIDTH (TFT_HEIGHT/16)
|
||||
#define LVGL_TICK_PERIOD 6
|
||||
|
||||
|
||||
Reference in New Issue
Block a user