summaryrefslogtreecommitdiff
path: root/src/ui/menu.cpp
diff options
context:
space:
mode:
authorkrolyxon <me@krolyxon.com>2026-05-14 23:19:41 +0530
committerkrolyxon <me@krolyxon.com>2026-05-14 23:19:41 +0530
commit58c9c8f51dcec555250195d127a49572c1b9fd9a (patch)
treebbf6f4003fbb36882ee81ed511eec66fd15e735f /src/ui/menu.cpp
parent206ed229198be252a9ae94342b39618aaab55925 (diff)
add .clang-format, and apply formatting
Diffstat (limited to 'src/ui/menu.cpp')
-rw-r--r--src/ui/menu.cpp396
1 files changed, 198 insertions, 198 deletions
diff --git a/src/ui/menu.cpp b/src/ui/menu.cpp
index 9898f64..284d214 100644
--- a/src/ui/menu.cpp
+++ b/src/ui/menu.cpp
@@ -67,250 +67,250 @@ bool insideFeature = false;
// ================= DRAW =================
void drawMenu() {
- u8g2.clearBuffer();
+ u8g2.clearBuffer();
- // scroll handling
- if (menuIndex < menuOffset)
- menuOffset = menuIndex;
+ // scroll handling
+ if (menuIndex < menuOffset)
+ menuOffset = menuIndex;
- if (menuIndex >= menuOffset + MENU_VISIBLE_ROWS)
- menuOffset = menuIndex - MENU_VISIBLE_ROWS + 1;
+ if (menuIndex >= menuOffset + MENU_VISIBLE_ROWS)
+ menuOffset = menuIndex - MENU_VISIBLE_ROWS + 1;
- for (int i = 0; i < MENU_VISIBLE_ROWS; i++) {
- int item = menuOffset + i;
+ for (int i = 0; i < MENU_VISIBLE_ROWS; i++) {
+ int item = menuOffset + i;
- if (item >= currentMenu->size)
- break;
+ if (item >= currentMenu->size)
+ break;
- if (item == menuIndex)
- u8g2.drawStr(0, 14 + i * 14, ">");
+ if (item == menuIndex)
+ u8g2.drawStr(0, 14 + i * 14, ">");
- u8g2.drawStr(10, 14 + i * 14, currentMenu->items[item]);
- }
+ u8g2.drawStr(10, 14 + i * 14, currentMenu->items[item]);
+ }
- // scroll indicators
- if (menuOffset > 0)
- u8g2.drawStr(118, 10, "^");
+ // scroll indicators
+ if (menuOffset > 0)
+ u8g2.drawStr(118, 10, "^");
- if (menuOffset + MENU_VISIBLE_ROWS < currentMenu->size)
- u8g2.drawStr(118, 62, "v");
+ if (menuOffset + MENU_VISIBLE_ROWS < currentMenu->size)
+ u8g2.drawStr(118, 62, "v");
- u8g2.sendBuffer();
+ u8g2.sendBuffer();
}
// ================= FEATURE EXECUTION =================
void launchFeature() {
- insideFeature = true;
-
- if (currentMenu == &mainMenu) {
- switch (menuIndex) {
- case 0: // BadUSB → enter submenu
- currentMenu = &badusbMenu;
- menuIndex = 0;
- menuOffset = 0;
- break;
-
- case 1:
- handleMenu();
- break;
- case 2:
- // startNRFJammer();
- // startBleJammer();
- // startBluetoothJammer();
- currentMenu = &nrfToolsMenu;
- menuIndex = 0;
- menuOffset = 0;
- break;
-
- break;
- case 3:
- ble_scan();
- ble_drawMenu();
- while (1) {
- ble_loop();
- if (btnBack())
- break;
- }
- break;
-
- case 4: {
- // Start scan once
- wifi_scan_start();
- wifi_scan_draw();
-
- while (1) {
- wifi_scan_loop();
- // EXIT condition handled ONLY here
- if (btnBack()) {
- delay(150); // debounce
- break;
- }
- }
- break;
- }
- case 5: {
-
- wifi_analyzer_start();
-
- bool prevBack = false;
- while (1) {
- wifi_analyzer_loop();
- bool nowBack = btnBack();
- if (nowBack && !prevBack) {
- delay(150);
- break;
- }
- prevBack = nowBack;
- }
- break;
- }
-
- case 6:
- runSystemInfoFeature();
- break;
- case 7:
- device_check_run();
- break;
- case 8: {
- // wait for button release
- delay(200);
-
- while (btnSelect())
- delay(10);
- bool confirm = false;
-
- while (1) {
- u8g2.clearBuffer();
- u8g2.setFont(u8g2_font_6x13_tr);
-
- u8g2.drawStr(18, 18, "Restart Device?");
-
- if (confirm) {
- u8g2.drawBox(10, 35, 45, 15);
- u8g2.setDrawColor(0);
- u8g2.drawStr(20, 47, "YES");
- u8g2.setDrawColor(1);
-
- u8g2.drawStr(75, 47, "NO");
- } else {
- u8g2.drawStr(20, 47, "YES");
-
- u8g2.drawBox(65, 35, 45, 15);
- u8g2.setDrawColor(0);
- u8g2.drawStr(78, 47, "NO");
- u8g2.setDrawColor(1);
- }
+ insideFeature = true;
+
+ if (currentMenu == &mainMenu) {
+ switch (menuIndex) {
+ case 0: // BadUSB → enter submenu
+ currentMenu = &badusbMenu;
+ menuIndex = 0;
+ menuOffset = 0;
+ break;
- u8g2.sendBuffer();
+ case 1:
+ handleMenu();
+ break;
+ case 2:
+ // startNRFJammer();
+ // startBleJammer();
+ // startBluetoothJammer();
+ currentMenu = &nrfToolsMenu;
+ menuIndex = 0;
+ menuOffset = 0;
+ break;
- if (btnLeft() || btnUp()) {
- confirm = true;
- delay(150);
- }
+ break;
+ case 3:
+ ble_scan();
+ ble_drawMenu();
+ while (1) {
+ ble_loop();
+ if (btnBack())
+ break;
+ }
+ break;
- if (btnRight() || btnDown()) {
- confirm = false;
- delay(150);
+ case 4: {
+ // Start scan once
+ wifi_scan_start();
+ wifi_scan_draw();
+
+ while (1) {
+ wifi_scan_loop();
+ // EXIT condition handled ONLY here
+ if (btnBack()) {
+ delay(150); // debounce
+ break;
+ }
+ }
+ break;
}
-
- if (btnSelect()) {
- delay(150);
-
- if (confirm) {
- u8g2.clearBuffer();
- u8g2.drawStr(28, 30, "Restarting...");
- u8g2.sendBuffer();
-
- delay(1000);
- ESP.restart();
- } else {
+ case 5: {
+
+ wifi_analyzer_start();
+
+ bool prevBack = false;
+ while (1) {
+ wifi_analyzer_loop();
+ bool nowBack = btnBack();
+ if (nowBack && !prevBack) {
+ delay(150);
+ break;
+ }
+ prevBack = nowBack;
+ }
break;
- }
}
- if (btnBack()) {
- delay(150);
- break;
+ case 6:
+ runSystemInfoFeature();
+ break;
+ case 7:
+ device_check_run();
+ break;
+ case 8: {
+ // wait for button release
+ delay(200);
+
+ while (btnSelect())
+ delay(10);
+ bool confirm = false;
+
+ while (1) {
+ u8g2.clearBuffer();
+ u8g2.setFont(u8g2_font_6x13_tr);
+
+ u8g2.drawStr(18, 18, "Restart Device?");
+
+ if (confirm) {
+ u8g2.drawBox(10, 35, 45, 15);
+ u8g2.setDrawColor(0);
+ u8g2.drawStr(20, 47, "YES");
+ u8g2.setDrawColor(1);
+
+ u8g2.drawStr(75, 47, "NO");
+ } else {
+ u8g2.drawStr(20, 47, "YES");
+
+ u8g2.drawBox(65, 35, 45, 15);
+ u8g2.setDrawColor(0);
+ u8g2.drawStr(78, 47, "NO");
+ u8g2.setDrawColor(1);
+ }
+
+ u8g2.sendBuffer();
+
+ if (btnLeft() || btnUp()) {
+ confirm = true;
+ delay(150);
+ }
+
+ if (btnRight() || btnDown()) {
+ confirm = false;
+ delay(150);
+ }
+
+ if (btnSelect()) {
+ delay(150);
+
+ if (confirm) {
+ u8g2.clearBuffer();
+ u8g2.drawStr(28, 30, "Restarting...");
+ u8g2.sendBuffer();
+
+ delay(1000);
+ ESP.restart();
+ } else {
+ break;
+ }
+ }
+
+ if (btnBack()) {
+ delay(150);
+ break;
+ }
+ }
+ } break;
+
+ case 9:
+ // Begin Ble mouse
+ bleMouse.begin();
+ ble_mouse_run();
+ break;
+ case 10:
+ pn532_scan_loop();
+ break;
}
- }
- } break;
-
- case 9:
- // Begin Ble mouse
- bleMouse.begin();
- ble_mouse_run();
- break;
- case 10:
- pn532_scan_loop();
- break;
+ } else if (currentMenu == &badusbMenu) {
+ badUSBMenu(menuIndex);
+ } else if (currentMenu == &nrfToolsMenu) {
+ NRFToolsMenu(menuIndex);
}
- } else if (currentMenu == &badusbMenu) {
- badUSBMenu(menuIndex);
- } else if (currentMenu == &nrfToolsMenu) {
- NRFToolsMenu(menuIndex);
- }
- insideFeature = false;
+ insideFeature = false;
- drawMenu();
+ drawMenu();
}
// ================= INIT =================
void menuInit() {
- currentMenu = &mainMenu;
- menuIndex = 0;
- menuOffset = 0;
+ currentMenu = &mainMenu;
+ menuIndex = 0;
+ menuOffset = 0;
- drawMenu();
+ drawMenu();
}
// ================= LOOP =================
void menuLoop() {
- static uint32_t lastPress = 0;
+ static uint32_t lastPress = 0;
- if (insideFeature)
- return;
+ if (insideFeature)
+ return;
- if (millis() - lastPress < 150)
- return;
+ if (millis() - lastPress < 150)
+ return;
- if (btnUp()) {
- menuIndex--;
+ if (btnUp()) {
+ menuIndex--;
- if (menuIndex < 0)
- menuIndex = currentMenu->size - 1;
+ if (menuIndex < 0)
+ menuIndex = currentMenu->size - 1;
- drawMenu();
- lastPress = millis();
- }
+ drawMenu();
+ lastPress = millis();
+ }
- else if (btnDown()) {
- menuIndex++;
+ else if (btnDown()) {
+ menuIndex++;
- if (menuIndex >= currentMenu->size)
- menuIndex = 0;
+ if (menuIndex >= currentMenu->size)
+ menuIndex = 0;
- drawMenu();
- lastPress = millis();
- }
+ drawMenu();
+ lastPress = millis();
+ }
- else if (btnSelect()) {
- launchFeature();
- lastPress = millis();
- }
+ else if (btnSelect()) {
+ launchFeature();
+ lastPress = millis();
+ }
- else if (btnBack()) {
- if (currentMenu != &mainMenu) {
- currentMenu = &mainMenu;
- menuIndex = 0;
- menuOffset = 0;
+ else if (btnBack()) {
+ if (currentMenu != &mainMenu) {
+ currentMenu = &mainMenu;
+ menuIndex = 0;
+ menuOffset = 0;
- drawMenu();
- }
+ drawMenu();
+ }
- lastPress = millis();
- }
+ lastPress = millis();
+ }
}