Merge pull request #1340 from justcallmekoko/develop

Update foxhunt for wifi
This commit is contained in:
Just Call Me Koko
2026-06-29 14:47:17 -04:00
committed by GitHub
3 changed files with 83 additions and 3 deletions
+27 -1
View File
@@ -1845,10 +1845,36 @@ void MenuFunctions::RunSetup()
this->drawStatusBar();
wifi_scan_obj.StartScan(WIFI_SCAN_AP_STA, 0x97e0);
});
this->addNodes(&wifiSnifferMenu, "Fox Hunt", TFTCYAN, PACKET_MONITOR, [this]() {
/*this->addNodes(&wifiSnifferMenu, "Fox Hunt", TFTCYAN, PACKET_MONITOR, [this]() {
display_obj.clearScreen();
this->drawStatusBar();
wifi_scan_obj.StartScan(WIFI_SCAN_SIG_STREN, TFT_CYAN);
});*/
this->addNodes(&wifiSnifferMenu, "Fox Hunt", TFTCYAN, SCANNERS, [this]() {
foxHuntMenu.list->clear();
// Bluetooth Fox Hunt Menu
foxHuntMenu.parentMenu = &wifiSnifferMenu; // Second Menu is third menu parent
this->addNodes(&foxHuntMenu, text09, TFTLIGHTGREY, 0, [this]() {
this->changeMenu(foxHuntMenu.parentMenu, true);
});
for (int i = 0; i < access_points->size(); i++) {
AccessPoint access_point = access_points->get(i);
access_point.selected = false;
access_points->set(i, access_point);
uint8_t node_color = rssiToMenuColor(access_points->get(i).rssi);
String node_name = String(access_points->get(i).rssi) + " " + access_points->get(i).essid;
this->addNodes(&foxHuntMenu, node_name.c_str(), node_color, 255, [this, i](){
AccessPoint access_point = access_points->get(i);
access_point.selected = true;
access_points->set(i, access_point);
display_obj.clearScreen();
this->drawStatusBar();
wifi_scan_obj.StartScan(WIFI_SCAN_SIG_STREN, TFT_CYAN);
});
}
this->changeMenu(&foxHuntMenu, true);
});
this->addNodes(&wifiSnifferMenu, "MAC Monitor", TFTMAGENTA, SCANNERS, [this]() {
display_obj.clearScreen();
+55 -1
View File
@@ -2429,6 +2429,16 @@ void WiFiScan::StopScan(uint8_t scan_mode) {
this->subnet = IPAddress(0, 0, 0, 0);
}
if (currentScanMode == WIFI_SCAN_SIG_STREN) {
for (int i = 0; i < access_points->size(); i++) {
if (access_points->get(i).selected) {
AccessPoint access_point = access_points->get(i);
access_point.selected = false;
access_points->set(i, access_point);
}
}
}
#ifdef HAS_SCREEN
for (int i = 0; i < TFT_WIDTH; i++) {
this->_analyzer_values[i] = 0;
@@ -10327,6 +10337,47 @@ void WiFiScan::runFoxHunt(uint32_t currentTime) {
}
}
#endif
if (currentScanMode == WIFI_SCAN_SIG_STREN) {
for (int i = 0; i < access_points->size(); i++) {
if (access_points->get(i).selected) {
this->changeChannel(access_points->get(i).channel);
int targ_rssi = access_points->get(i).rssi;
#ifdef HAS_MINI_SCREEN
display_obj.tft.setTextSize(1);
#else
display_obj.tft.setTextSize(2);
#endif
display_obj.tft.setTextColor(TFT_CYAN, TFT_BLACK);
#ifdef HAS_MINI_SCREEN
display_obj.showCenterText(access_points->get(i).essid.c_str(), (TFT_HEIGHT / 4), true);
#else
display_obj.showCenterText(access_points->get(i).essid.c_str(), (TFT_HEIGHT / 4), false, 2);
#endif
#ifdef HAS_MINI_SCREEN
display_obj.tft.setTextSize(2);
#else
display_obj.tft.setTextSize(3);
#endif
display_obj.tft.setTextColor(rssiToColorScaled(targ_rssi), TFT_BLACK);
#ifdef HAS_MINI_SCREEN
display_obj.showCenterText(String(targ_rssi).c_str(), (TFT_HEIGHT / 3), false, 2);
#else
display_obj.showCenterText(String(targ_rssi).c_str(), (TFT_HEIGHT / 3), false, 3);
#endif
display_obj.tft.fillRect(0, (TFT_HEIGHT / 4) * 3, rssiToBarWidth(targ_rssi), 20, rssiToColorScaled(targ_rssi));
display_obj.tft.fillRect(rssiToBarWidth(targ_rssi), (TFT_HEIGHT / 4) * 3, TFT_WIDTH, 20, TFT_BLACK);
}
}
}
#endif
}
@@ -10501,6 +10552,9 @@ void WiFiScan::main(uint32_t currentTime)
}
}
else if (currentScanMode == WIFI_SCAN_SIG_STREN) {
this->runFoxHunt(currentTime);
}
/*else if (currentScanMode == WIFI_SCAN_SIG_STREN) {
#ifdef HAS_ILI9341
this->signalAnalyzerLoop(currentTime);
#endif
@@ -10541,7 +10595,7 @@ void WiFiScan::main(uint32_t currentTime)
}
#endif
}
}
}*/
else if ((currentScanMode == WIFI_SCAN_CHAN_ANALYZER) ||
(currentScanMode == BT_SCAN_ANALYZER)) {
this->signalAnalyzerLoop(currentTime);
+1 -1
View File
@@ -40,7 +40,7 @@
#define JSON_SETTING_SIZE 2048
#define MARAUDER_VERSION "v1.12.3"
#define MARAUDER_VERSION "v1.13.0"
#define GRAPH_REFRESH 100