Krolyxon
Commit 8f6c64d

Branches

Tags

Refs →

orion-rf8f6c64d

prompt before restarting

Author
krolyxon
Date
2026-05-06 15:34 +0530
Parent
2e20bbf
Commit
8f6c64d4b3e02e7c16c5130f3593c4825327fcbe

+88 −16

3 files changed

  1. M firmware/buttons.cpp +5 −5
  2. M firmware/buttons.h +2 −0
  3. M firmware/menu.cpp +81 −11
M firmware/buttons.cpp View
@@ -1,10 +1,6 @@
11 #include "buttons.h"
22 #include <Arduino.h>
3−
4−#define BTN_UP 4
5−#define BTN_DOWN 5
6−#define BTN_SELECT 6
7−#define BTN_BACK 7
3+#include "config.h"
84
95 void buttonsInit()
106 {
@@ -12,9 +8,13 @@ void buttonsInit()
128 pinMode(BTN_DOWN, INPUT_PULLUP);
139 pinMode(BTN_SELECT, INPUT_PULLUP);
1410 pinMode(BTN_BACK, INPUT_PULLUP);
11+ pinMode(BTN_RIGHT, INPUT_PULLUP);
12+ pinMode(BTN_LEFT, INPUT_PULLUP);
1513 }
1614
1715 bool btnUp() { return !digitalRead(BTN_UP); }
1816 bool btnDown() { return !digitalRead(BTN_DOWN); }
1917 bool btnSelect() { return !digitalRead(BTN_SELECT); }
2018 bool btnBack() { return !digitalRead(BTN_BACK); }
19+bool btnRight() { return !digitalRead(BTN_RIGHT); }
20+bool btnLeft() { return !digitalRead(BTN_LEFT); }
M firmware/buttons.h View
@@ -6,3 +6,5 @@ bool btnUp();
66 bool btnDown();
77 bool btnSelect();
88 bool btnBack();
9+bool btnRight();
10+bool btnLeft();
M firmware/menu.cpp View
@@ -9,7 +9,7 @@
99 #include "wifi_scan.h"
1010 #include "wifi_analyzer.h"
1111 #include "device_check.h"
12−#include "blemouse.h"
12+#include "ble_mouse.h"
1313 #include "sysinfo.h"
1414 #include "BleMouse.h"
1515
@@ -36,7 +36,8 @@ Menu mainMenu = {mainMenuItems, sizeof(mainMenuItems) / sizeof(mainMenuItems[0])
3636 // NRF Tools menu
3737 const char *nrfToolsItems[] = {
3838 "BLE Jammer",
39− "Bluetooth Jammer"
39+ "Bluetooth Jammer",
40+ "Wifi Jammer"
4041 };
4142
4243 Menu nrfToolsMenu = {nrfToolsItems, sizeof(nrfToolsItems) / sizeof(nrfToolsItems[0])};
@@ -225,15 +226,84 @@ void launchFeature()
225226 case 7:
226227 device_check_run();
227228 break;
228− case 8:
229− u8g2.clearBuffer();
230− u8g2.setFont(u8g2_font_6x13_tr);
231− u8g2.drawStr(30, 30, "Restarting...");
232− u8g2.sendBuffer();
233− delay(1000);
234− ESP.restart();
235− break;
236− case 9:
229+ case 8:
230+ {
231+ // wait for button release
232+ delay(200);
233+
234+ while (btnSelect())
235+ delay(10);
236+ bool confirm = false;
237+
238+ while (1)
239+ {
240+ u8g2.clearBuffer();
241+ u8g2.setFont(u8g2_font_6x13_tr);
242+
243+ u8g2.drawStr(18, 18, "Restart Device?");
244+
245+ if (confirm)
246+ {
247+ u8g2.drawBox(10, 35, 45, 15);
248+ u8g2.setDrawColor(0);
249+ u8g2.drawStr(20, 47, "YES");
250+ u8g2.setDrawColor(1);
251+
252+ u8g2.drawStr(75, 47, "NO");
253+ }
254+ else
255+ {
256+ u8g2.drawStr(20, 47, "YES");
257+
258+ u8g2.drawBox(65, 35, 45, 15);
259+ u8g2.setDrawColor(0);
260+ u8g2.drawStr(78, 47, "NO");
261+ u8g2.setDrawColor(1);
262+ }
263+
264+ u8g2.sendBuffer();
265+
266+ if (btnLeft() || btnUp())
267+ {
268+ confirm = true;
269+ delay(150);
270+ }
271+
272+ if (btnRight() || btnDown())
273+ {
274+ confirm = false;
275+ delay(150);
276+ }
277+
278+ if (btnSelect())
279+ {
280+ delay(150);
281+
282+ if (confirm)
283+ {
284+ u8g2.clearBuffer();
285+ u8g2.drawStr(28, 30, "Restarting...");
286+ u8g2.sendBuffer();
287+
288+ delay(1000);
289+ ESP.restart();
290+ }
291+ else
292+ {
293+ break;
294+ }
295+ }
296+
297+ if (btnBack())
298+ {
299+ delay(150);
300+ break;
301+ }
302+ }
303+ }
304+ break;
305+
306+ case 9:
237307 // Begin Ble mouse
238308 bleMouse.begin();
239309 ble_mouse_run();