mirror of
https://github.com/justcallmekoko/ESP32Marauder.git
synced 2025-12-23 07:29:14 -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()
|
void Display::clearScreen()
|
||||||
{
|
{
|
||||||
//Serial.println(F("clearScreen()"));
|
//Serial.println(F("clearScreen()"));
|
||||||
|
#ifndef MARAUDER_V7
|
||||||
tft.fillScreen(TFT_BLACK);
|
tft.fillScreen(TFT_BLACK);
|
||||||
tft.setCursor(0, 0);
|
tft.setCursor(0, 0);
|
||||||
|
#else
|
||||||
|
tft.fillRect(0, 0, TFT_WIDTH, TFT_HEIGHT, TFT_BLACK);
|
||||||
|
tft.setCursor(0, 0);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef SCREEN_BUFFER
|
#ifdef SCREEN_BUFFER
|
||||||
|
|||||||
@@ -1451,6 +1451,7 @@ void MenuFunctions::RunSetup()
|
|||||||
#endif
|
#endif
|
||||||
wifiGeneralMenu.list = new LinkedList<MenuNode>();
|
wifiGeneralMenu.list = new LinkedList<MenuNode>();
|
||||||
wifiAPMenu.list = new LinkedList<MenuNode>();
|
wifiAPMenu.list = new LinkedList<MenuNode>();
|
||||||
|
apInfoMenu.list = new LinkedList<MenuNode>();
|
||||||
#ifdef HAS_BT
|
#ifdef HAS_BT
|
||||||
airtagMenu.list = new LinkedList<MenuNode>();
|
airtagMenu.list = new LinkedList<MenuNode>();
|
||||||
#endif
|
#endif
|
||||||
@@ -1517,6 +1518,7 @@ void MenuFunctions::RunSetup()
|
|||||||
clearSSIDsMenu.name = text_table1[28];
|
clearSSIDsMenu.name = text_table1[28];
|
||||||
clearAPsMenu.name = text_table1[29];
|
clearAPsMenu.name = text_table1[29];
|
||||||
wifiAPMenu.name = "Access Points";
|
wifiAPMenu.name = "Access Points";
|
||||||
|
apInfoMenu.name = "AP Info";
|
||||||
#ifdef HAS_BT
|
#ifdef HAS_BT
|
||||||
airtagMenu.name = "Select Airtag";
|
airtagMenu.name = "Select Airtag";
|
||||||
#endif
|
#endif
|
||||||
@@ -1839,15 +1841,8 @@ void MenuFunctions::RunSetup()
|
|||||||
this->changeMenu(wifiAPMenu.parentMenu);
|
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
|
// 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 is the menu node
|
||||||
this->addNodes(&wifiAPMenu, access_points->get(i).essid, TFTCYAN, NULL, 255, [this, i](){
|
this->addNodes(&wifiAPMenu, access_points->get(i).essid, TFTCYAN, NULL, 255, [this, i](){
|
||||||
AccessPoint new_ap = access_points->get(i);
|
AccessPoint new_ap = access_points->get(i);
|
||||||
@@ -1864,6 +1859,29 @@ void MenuFunctions::RunSetup()
|
|||||||
this->changeMenu(&wifiAPMenu);
|
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;
|
wifiAPMenu.parentMenu = &wifiGeneralMenu;
|
||||||
this->addNodes(&wifiAPMenu, text09, TFTLIGHTGREY, NULL, 0, [this]() {
|
this->addNodes(&wifiAPMenu, text09, TFTLIGHTGREY, NULL, 0, [this]() {
|
||||||
this->changeMenu(wifiAPMenu.parentMenu);
|
this->changeMenu(wifiAPMenu.parentMenu);
|
||||||
|
|||||||
@@ -178,6 +178,7 @@ class MenuFunctions
|
|||||||
Menu htmlMenu;
|
Menu htmlMenu;
|
||||||
Menu miniKbMenu;
|
Menu miniKbMenu;
|
||||||
Menu saveFileMenu;
|
Menu saveFileMenu;
|
||||||
|
Menu apInfoMenu;
|
||||||
|
|
||||||
// Bluetooth menu stuff
|
// Bluetooth menu stuff
|
||||||
Menu bluetoothSnifferMenu;
|
Menu bluetoothSnifferMenu;
|
||||||
|
|||||||
@@ -1918,6 +1918,36 @@ void WiFiScan::RunGPSNmea() {
|
|||||||
#endif
|
#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()
|
void WiFiScan::RunInfo()
|
||||||
{
|
{
|
||||||
String sta_mac = this->getStaMAC();
|
String sta_mac = this->getStaMAC();
|
||||||
@@ -3147,28 +3177,21 @@ void WiFiScan::apSnifferCallbackFull(void* buf, wifi_promiscuous_pkt_type_t type
|
|||||||
}
|
}
|
||||||
if (mac_match) {
|
if (mac_match) {
|
||||||
in_list = true;
|
in_list = true;
|
||||||
|
AccessPoint ap = access_points->get(i);
|
||||||
|
ap.packets = ap.packets + 1;
|
||||||
|
access_points->set(i, ap);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!in_list) {
|
if (!in_list) {
|
||||||
|
|
||||||
//delay(random(0, 10));
|
|
||||||
Serial.print("RSSI: ");
|
Serial.print("RSSI: ");
|
||||||
Serial.print(snifferPacket->rx_ctrl.rssi);
|
Serial.print(snifferPacket->rx_ctrl.rssi);
|
||||||
Serial.print(" Ch: ");
|
Serial.print(" Ch: ");
|
||||||
Serial.print(snifferPacket->rx_ctrl.channel);
|
Serial.print(snifferPacket->rx_ctrl.channel);
|
||||||
Serial.print(" BSSID: ");
|
Serial.print(" BSSID: ");
|
||||||
Serial.print(addr);
|
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
|
#ifdef HAS_SCREEN
|
||||||
display_string.concat("#");
|
display_string.concat("#");
|
||||||
display_string.concat(access_points->size());
|
display_string.concat(access_points->size());
|
||||||
|
|||||||
@@ -455,6 +455,7 @@ class WiFiScan
|
|||||||
String freeRAM();
|
String freeRAM();
|
||||||
void changeChannel();
|
void changeChannel();
|
||||||
void changeChannel(int chan);
|
void changeChannel(int chan);
|
||||||
|
void RunAPInfo(uint16_t index);
|
||||||
void RunInfo();
|
void RunInfo();
|
||||||
//void RunShutdownBLE();
|
//void RunShutdownBLE();
|
||||||
void RunGenerateSSIDs(int count = 20);
|
void RunGenerateSSIDs(int count = 20);
|
||||||
|
|||||||
@@ -430,7 +430,7 @@
|
|||||||
//#define MENU_FONT &FreeSans9pt7b
|
//#define MENU_FONT &FreeSans9pt7b
|
||||||
//#define MENU_FONT &FreeSansBold9pt7b
|
//#define MENU_FONT &FreeSansBold9pt7b
|
||||||
#define BUTTON_SCREEN_LIMIT 6
|
#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 STATUS_BAR_WIDTH (TFT_HEIGHT/16)
|
||||||
#define LVGL_TICK_PERIOD 6
|
#define LVGL_TICK_PERIOD 6
|
||||||
|
|
||||||
@@ -500,7 +500,7 @@
|
|||||||
//#define MENU_FONT &FreeSans9pt7b
|
//#define MENU_FONT &FreeSans9pt7b
|
||||||
//#define MENU_FONT &FreeSansBold9pt7b
|
//#define MENU_FONT &FreeSansBold9pt7b
|
||||||
#define BUTTON_SCREEN_LIMIT 6
|
#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 STATUS_BAR_WIDTH (TFT_HEIGHT/16)
|
||||||
#define LVGL_TICK_PERIOD 6
|
#define LVGL_TICK_PERIOD 6
|
||||||
|
|
||||||
@@ -560,7 +560,7 @@
|
|||||||
//#define MENU_FONT &FreeSans9pt7b
|
//#define MENU_FONT &FreeSans9pt7b
|
||||||
//#define MENU_FONT &FreeSansBold9pt7b
|
//#define MENU_FONT &FreeSansBold9pt7b
|
||||||
#define BUTTON_SCREEN_LIMIT 12
|
#define BUTTON_SCREEN_LIMIT 12
|
||||||
#define BUTTON_ARRAY_LEN 12
|
#define BUTTON_ARRAY_LEN BUTTON_SCREEN_LIMIT
|
||||||
#define STATUS_BAR_WIDTH 16
|
#define STATUS_BAR_WIDTH 16
|
||||||
#define LVGL_TICK_PERIOD 6
|
#define LVGL_TICK_PERIOD 6
|
||||||
|
|
||||||
@@ -621,7 +621,7 @@
|
|||||||
//#define MENU_FONT &FreeSans9pt7b
|
//#define MENU_FONT &FreeSans9pt7b
|
||||||
//#define MENU_FONT &FreeSansBold9pt7b
|
//#define MENU_FONT &FreeSansBold9pt7b
|
||||||
#define BUTTON_SCREEN_LIMIT 12
|
#define BUTTON_SCREEN_LIMIT 12
|
||||||
#define BUTTON_ARRAY_LEN 12
|
#define BUTTON_ARRAY_LEN BUTTON_SCREEN_LIMIT
|
||||||
#define STATUS_BAR_WIDTH 16
|
#define STATUS_BAR_WIDTH 16
|
||||||
#define LVGL_TICK_PERIOD 6
|
#define LVGL_TICK_PERIOD 6
|
||||||
|
|
||||||
@@ -686,7 +686,7 @@
|
|||||||
//#define MENU_FONT &FreeSans9pt7b
|
//#define MENU_FONT &FreeSans9pt7b
|
||||||
//#define MENU_FONT &FreeSansBold9pt7b
|
//#define MENU_FONT &FreeSansBold9pt7b
|
||||||
#define BUTTON_SCREEN_LIMIT 12
|
#define BUTTON_SCREEN_LIMIT 12
|
||||||
#define BUTTON_ARRAY_LEN 100
|
#define BUTTON_ARRAY_LEN BUTTON_SCREEN_LIMIT
|
||||||
#define STATUS_BAR_WIDTH 16
|
#define STATUS_BAR_WIDTH 16
|
||||||
#define LVGL_TICK_PERIOD 6
|
#define LVGL_TICK_PERIOD 6
|
||||||
|
|
||||||
@@ -748,7 +748,7 @@
|
|||||||
//#define MENU_FONT &FreeSans9pt7b
|
//#define MENU_FONT &FreeSans9pt7b
|
||||||
//#define MENU_FONT &FreeSansBold9pt7b
|
//#define MENU_FONT &FreeSansBold9pt7b
|
||||||
#define BUTTON_SCREEN_LIMIT 12
|
#define BUTTON_SCREEN_LIMIT 12
|
||||||
#define BUTTON_ARRAY_LEN 12
|
#define BUTTON_ARRAY_LEN BUTTON_SCREEN_LIMIT
|
||||||
#define STATUS_BAR_WIDTH 16
|
#define STATUS_BAR_WIDTH 16
|
||||||
#define LVGL_TICK_PERIOD 6
|
#define LVGL_TICK_PERIOD 6
|
||||||
|
|
||||||
@@ -819,7 +819,7 @@
|
|||||||
//#define MENU_FONT &FreeSans9pt7b
|
//#define MENU_FONT &FreeSans9pt7b
|
||||||
//#define MENU_FONT &FreeSansBold9pt7b
|
//#define MENU_FONT &FreeSansBold9pt7b
|
||||||
#define BUTTON_SCREEN_LIMIT 10
|
#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 STATUS_BAR_WIDTH (TFT_HEIGHT/16)
|
||||||
#define LVGL_TICK_PERIOD 6
|
#define LVGL_TICK_PERIOD 6
|
||||||
|
|
||||||
@@ -888,7 +888,7 @@
|
|||||||
//#define MENU_FONT &FreeSans9pt7b
|
//#define MENU_FONT &FreeSans9pt7b
|
||||||
//#define MENU_FONT &FreeSansBold9pt7b
|
//#define MENU_FONT &FreeSansBold9pt7b
|
||||||
#define BUTTON_SCREEN_LIMIT 5
|
#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 STATUS_BAR_WIDTH (TFT_HEIGHT/16)
|
||||||
#define LVGL_TICK_PERIOD 6
|
#define LVGL_TICK_PERIOD 6
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user