From cd3ab5108089638389c062acfed2034bc777bfc3 Mon Sep 17 00:00:00 2001 From: Just Call Me Koko Date: Sun, 23 Nov 2025 07:41:31 -0500 Subject: [PATCH] Add flock command and icon --- esp32_marauder/Assets.h | 6 ++++++ esp32_marauder/CommandLine.cpp | 8 ++++++++ esp32_marauder/CommandLine.h | 2 +- esp32_marauder/MenuFunctions.cpp | 2 +- esp32_marauder/MenuFunctions.h | 1 + pictures/icons/flock_22.bmp | Bin 0 -> 1606 bytes pictures/xbm/flock_22.xbm | 9 +++++++++ 7 files changed, 26 insertions(+), 2 deletions(-) create mode 100644 pictures/icons/flock_22.bmp create mode 100644 pictures/xbm/flock_22.xbm diff --git a/esp32_marauder/Assets.h b/esp32_marauder/Assets.h index 1da29aa..1341949 100644 --- a/esp32_marauder/Assets.h +++ b/esp32_marauder/Assets.h @@ -233,6 +233,12 @@ PROGMEM static const unsigned char menu_icons[][66] = { 0x7B, 0x3E, 0x37, 0x7B, 0xBF, 0x37, 0xFB, 0xF7, 0x37, 0xFB, 0xF7, 0x37, 0xFB, 0xF3, 0x37, 0xBB, 0x7F, 0x37, 0x37, 0x3F, 0x3B, 0x77, 0x80, 0x3B, 0xEF, 0xE1, 0x3D, 0xDF, 0xFF, 0x3E, 0x3F, 0x3F, 0x3F, 0xFF, 0xC0, 0x3F, + 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0x3F}, + {0xFF, 0xFF, 0x3F, 0xFF, 0xE0, 0x3F, 0x3F, 0x9F, 0x3F, 0xBF, 0xBF, 0x3F, // FLOCK: 41 + 0xDF, 0x71, 0x3F, 0xDF, 0x6E, 0x3F, 0xDF, 0x6E, 0x3F, 0xDF, 0x6E, 0x3F, + 0xDF, 0x71, 0x3F, 0xDF, 0x7B, 0x3F, 0xDF, 0x7F, 0x3F, 0xDF, 0x7F, 0x3F, + 0xDF, 0x7F, 0x3F, 0xBF, 0xBF, 0x3F, 0xBF, 0xBB, 0x3F, 0x3F, 0x9B, 0x3F, + 0x7F, 0xDF, 0x3F, 0x7F, 0xDF, 0x3F, 0x7F, 0xDF, 0x3F, 0xFF, 0xE0, 0x3F, 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0x3F} }; diff --git a/esp32_marauder/CommandLine.cpp b/esp32_marauder/CommandLine.cpp index 7b21600..683f5b3 100644 --- a/esp32_marauder/CommandLine.cpp +++ b/esp32_marauder/CommandLine.cpp @@ -1022,6 +1022,14 @@ void CommandLine::runCommand(String input) { #endif wifi_scan_obj.StartScan(BT_SCAN_FLIPPER, TFT_ORANGE); } + else if (bt_type == "flock") { + Serial.println("Starting Flock sniff. Stop with " + (String)STOPSCAN_CMD); + #ifdef HAS_SCREEN + display_obj.clearScreen(); + menu_function_obj.drawStatusBar(); + #endif + wifi_scan_obj.StartScan(BT_SCAN_FLOCK, TFT_ORANGE); + } } // General bluetooth sniff else { diff --git a/esp32_marauder/CommandLine.h b/esp32_marauder/CommandLine.h index 0fa4838..c0ae872 100644 --- a/esp32_marauder/CommandLine.h +++ b/esp32_marauder/CommandLine.h @@ -168,7 +168,7 @@ const char PROGMEM HELP_LOAD_CMD[] = "load -a/-s"; const char PROGMEM HELP_JOIN_CMD[] = "join -a -p /-s"; // Bluetooth sniff/scan -const char PROGMEM HELP_BT_SNIFF_CMD[] = "sniffbt [-t] "; +const char PROGMEM HELP_BT_SNIFF_CMD[] = "sniffbt [-t] "; const char PROGMEM HELP_BT_SPAM_CMD[] = "blespam -t "; const char PROGMEM HELP_BT_SPOOFAT_CMD[] = "spoofat -t "; //const char PROGMEM HELP_BT_SOUR_APPLE_CMD[] = "sourapple"; diff --git a/esp32_marauder/MenuFunctions.cpp b/esp32_marauder/MenuFunctions.cpp index bb33ea4..6f1c068 100644 --- a/esp32_marauder/MenuFunctions.cpp +++ b/esp32_marauder/MenuFunctions.cpp @@ -3171,7 +3171,7 @@ void MenuFunctions::RunSetup() this->renderGraphUI(BT_SCAN_ANALYZER); wifi_scan_obj.StartScan(BT_SCAN_ANALYZER, TFT_CYAN); }); - this->addNodes(&bluetoothSnifferMenu, "Flock Sniff", TFTORANGE, NULL, BLUETOOTH_SNIFF, [this]() { + this->addNodes(&bluetoothSnifferMenu, "Flock Sniff", TFTORANGE, NULL, FLOCK, [this]() { display_obj.clearScreen(); this->drawStatusBar(); wifi_scan_obj.StartScan(BT_SCAN_FLOCK, TFT_ORANGE); diff --git a/esp32_marauder/MenuFunctions.h b/esp32_marauder/MenuFunctions.h index b44d67d..036355a 100644 --- a/esp32_marauder/MenuFunctions.h +++ b/esp32_marauder/MenuFunctions.h @@ -93,6 +93,7 @@ extern Settings settings_obj; #define JOINED 38 #define FORCE 39 #define FUNNY_BEACON 40 +#define FLOCK 41 PROGMEM void my_disp_flush(lv_disp_drv_t *disp, const lv_area_t *area, lv_color_t *color_p); PROGMEM bool my_touchpad_read(lv_indev_drv_t * indev_driver, lv_indev_data_t * data); diff --git a/pictures/icons/flock_22.bmp b/pictures/icons/flock_22.bmp new file mode 100644 index 0000000000000000000000000000000000000000..00515c17eee76c36043e87445155bef51fae4db2 GIT binary patch literal 1606 zcmbu-J&qGW5QgCbtq>s*afO_KxI{q49qK6GQ7S-tj*2-0K^cWyG{GHC~Qiq_rM-`k$PJ(_tS!3!@m z#w-jD3Xu>BjWJ7uBfvung~pu!*U3OaC^W{5qLm|%5DJZ0fF8Au3)#vDr!<76Nq6dGe<{4&QHd19S~#+cmT2qc6;WA?IzlYxX#Xv|*HbTW_- z3XR#z&7VktgivVA-U{VpAR!bQv$sh*8Au3)#vEHn<76Nq6dGgA_}d(Tgiu)L?5*Wa z1`0}@w6dJR)tDFoZghFHXRxT$438B!Kz0KRnKtd>c`f;+a zd?(s7I~|vuPOAjYRkd#ac<|eMzupbrHv5