From 71bfe77128cd87146760513a5ca54230c812b59e Mon Sep 17 00:00:00 2001 From: Just Call Me Koko Date: Fri, 6 Dec 2024 20:28:58 -0500 Subject: [PATCH 01/12] Add MAX17048 battery monitor --- esp32_marauder/BatteryInterface.cpp | 75 ++++++++++++++++++++++++----- esp32_marauder/BatteryInterface.h | 7 ++- esp32_marauder/MenuFunctions.cpp | 23 +++++---- esp32_marauder/configs.h | 32 +++++++++++- esp32_marauder/esp32_marauder.ino | 3 ++ 5 files changed, 115 insertions(+), 25 deletions(-) diff --git a/esp32_marauder/BatteryInterface.cpp b/esp32_marauder/BatteryInterface.cpp index f27988626..8289988d5 100644 --- a/esp32_marauder/BatteryInterface.cpp +++ b/esp32_marauder/BatteryInterface.cpp @@ -14,30 +14,79 @@ void BatteryInterface::main(uint32_t currentTime) { if (this->battery_level != new_level) { Serial.println(text00 + (String)new_level); this->battery_level = new_level; + Serial.println("Battery Level: " + (String)this->battery_level); } } } } void BatteryInterface::RunSetup() { + byte error; + byte addr; + Wire.begin(I2C_SDA, I2C_SCL); + + Serial.println("Checking for battery monitors..."); + + for(addr = 1; addr < 127; addr++ ) { + Wire.beginTransmission(addr); + error = Wire.endTransmission(); + + if (error == 0) + { + Serial.print("I2C device found at address 0x"); + + if (addr<16) + Serial.print("0"); + + Serial.println(addr,HEX); + + if (addr == IP5306_ADDR) { + this->has_ip5306 = true; + this->i2c_supported = true; + } + + if (addr == MAX17048_ADDR) { + if (maxlipo.begin()) { + Serial.println("Detected MAX17048"); + this->has_max17048 = true; + this->i2c_supported = true; + } + } + } + } + + /*if (this->maxlipo.begin()) { + Serial.println("Detected MAX17048"); + this->has_max17048 = true; + this->i2c_supported = true; + }*/ + this->initTime = millis(); } int8_t BatteryInterface::getBatteryLevel() { - Wire.beginTransmission(IP5306_ADDR); - Wire.write(0x78); - if (Wire.endTransmission(false) == 0 && - Wire.requestFrom(0x75, 1)) { - this->i2c_supported = true; - switch (Wire.read() & 0xF0) { - case 0xE0: return 25; - case 0xC0: return 50; - case 0x80: return 75; - case 0x00: return 100; - default: return 0; + + if (this->has_ip5306) { + Wire.beginTransmission(IP5306_ADDR); + Wire.write(0x78); + if (Wire.endTransmission(false) == 0 && + Wire.requestFrom(IP5306_ADDR, 1)) { + this->i2c_supported = true; + switch (Wire.read() & 0xF0) { + case 0xE0: return 25; + case 0xC0: return 50; + case 0x80: return 75; + case 0x00: return 100; + default: return 0; + } } + this->i2c_supported = false; + return -1; + } + + + if (this->has_max17048) { + return this->maxlipo.cellPercent(); } - this->i2c_supported = false; - return -1; } diff --git a/esp32_marauder/BatteryInterface.h b/esp32_marauder/BatteryInterface.h index 078c12081..bd0d2c478 100644 --- a/esp32_marauder/BatteryInterface.h +++ b/esp32_marauder/BatteryInterface.h @@ -6,21 +6,24 @@ #include #include "configs.h" +#include "Adafruit_MAX1704X.h" #include -#define I2C_SDA 33 -#define I2C_SCL 22 #define IP5306_ADDR 0x75 +#define MAX17048_ADDR 0x36 class BatteryInterface { private: uint32_t initTime = 0; + Adafruit_MAX17048 maxlipo; public: int8_t battery_level = 0; int8_t old_level = 0; bool i2c_supported = false; + bool has_max17048 = false; + bool has_ip5306 = false; BatteryInterface(); diff --git a/esp32_marauder/MenuFunctions.cpp b/esp32_marauder/MenuFunctions.cpp index fbc8aad69..fd0347417 100644 --- a/esp32_marauder/MenuFunctions.cpp +++ b/esp32_marauder/MenuFunctions.cpp @@ -1002,7 +1002,10 @@ void MenuFunctions::battery(bool initial) if ((battery_obj.battery_level != battery_obj.old_level) || (initial)) { battery_obj.old_level = battery_obj.battery_level; display_obj.tft.fillRect(204, 0, SCREEN_WIDTH, STATUS_BAR_WIDTH, STATUSBAR_COLOR); - display_obj.tft.setCursor(0, 1); + } + + display_obj.tft.setCursor(0, 1); + /*if (!this->disable_touch) { display_obj.tft.drawXBitmap(186, 0, menu_icons[STATUS_BAT], @@ -1010,8 +1013,8 @@ void MenuFunctions::battery(bool initial) 16, STATUSBAR_COLOR, the_color); - display_obj.tft.drawString((String)battery_obj.battery_level + "%", 204, 0, 2); - } + }*/ + display_obj.tft.drawString((String)battery_obj.battery_level + "%", 204, 0, 2); } #endif } @@ -1099,14 +1102,15 @@ void MenuFunctions::updateStatusBar() } // Draw battery info - //MenuFunctions::battery(false); - display_obj.tft.fillRect(190, 0, SCREEN_WIDTH, STATUS_BAR_WIDTH, STATUSBAR_COLOR); + MenuFunctions::battery(false); + display_obj.tft.fillRect(186, 0, 16, STATUS_BAR_WIDTH, STATUSBAR_COLOR); + #ifdef HAS_ILI9341 #ifdef HAS_BUTTONS if (this->disable_touch) { display_obj.tft.setCursor(0, 1); - display_obj.tft.drawXBitmap(190, + display_obj.tft.drawXBitmap(186, 0, menu_icons[DISABLE_TOUCH], 16, @@ -1207,14 +1211,15 @@ void MenuFunctions::drawStatusBar() #endif - //MenuFunctions::battery2(true); - display_obj.tft.fillRect(190, 0, SCREEN_WIDTH, STATUS_BAR_WIDTH, STATUSBAR_COLOR); + MenuFunctions::battery(true); + display_obj.tft.fillRect(186, 0, 16, STATUS_BAR_WIDTH, STATUSBAR_COLOR); + #ifdef HAS_ILI9341 #ifdef HAS_BUTTONS if (this->disable_touch) { display_obj.tft.setCursor(0, 1); - display_obj.tft.drawXBitmap(190, + display_obj.tft.drawXBitmap(186, 0, menu_icons[DISABLE_TOUCH], 16, diff --git a/esp32_marauder/configs.h b/esp32_marauder/configs.h index d63472129..010290c5d 100644 --- a/esp32_marauder/configs.h +++ b/esp32_marauder/configs.h @@ -21,7 +21,7 @@ //#define MARAUDER_REV_FEATHER //// END BOARD TARGETS - #define MARAUDER_VERSION "v1.1.0" + #define MARAUDER_VERSION "v1.2.0" //// HARDWARE NAMES #ifdef MARAUDER_M5STICKC @@ -1011,6 +1011,36 @@ #endif //// END GPS STUFF + //// BATTERY STUFF + #ifdef HAS_BATTERY + + #ifdef MARAUDER_V4 + #define I2C_SDA 33 + #define I2C_SCL 22 + #endif + + #ifdef MARAUDER_V6 + #define I2C_SDA 33 + #define I2C_SCL 22 + #endif + + #ifdef MARAUDER_V6_1 + #define I2C_SDA 33 + #define I2C_SCL 22 + #endif + + #ifdef MARAUDER_M5STICKC + #define I2C_SDA 33 + #define I2C_SCL 22 + #endif + + #ifdef MARAUDER_KIT + #define I2C_SDA 33 + #define I2C_SCL 22 + #endif + + #endif + //// MARAUDER TITLE STUFF #ifdef MARAUDER_V4 #define MARAUDER_TITLE_BYTES 13578 diff --git a/esp32_marauder/esp32_marauder.ino b/esp32_marauder/esp32_marauder.ino index 64cc7b4a3..565def62a 100644 --- a/esp32_marauder/esp32_marauder.ino +++ b/esp32_marauder/esp32_marauder.ino @@ -182,6 +182,9 @@ void setup() Serial.begin(115200); + while(!Serial) + delay(10); + Serial.println("ESP-IDF version is: " + String(esp_get_idf_version())); #ifdef HAS_SCREEN From a0ace8bbf0bcd85a55ff29b38b1b60b088c24645 Mon Sep 17 00:00:00 2001 From: Just Call Me Koko Date: Sat, 7 Dec 2024 01:02:18 -0500 Subject: [PATCH 02/12] Only check for know i2c addrs --- esp32_marauder/BatteryInterface.cpp | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/esp32_marauder/BatteryInterface.cpp b/esp32_marauder/BatteryInterface.cpp index 8289988d5..816b915f3 100644 --- a/esp32_marauder/BatteryInterface.cpp +++ b/esp32_marauder/BatteryInterface.cpp @@ -28,7 +28,27 @@ void BatteryInterface::RunSetup() { Serial.println("Checking for battery monitors..."); - for(addr = 1; addr < 127; addr++ ) { + Wire.beginTransmission(IP5306_ADDR); + error = Wire.endTransmission(); + + if (error == 0) { + Serial.println("Detected IP5306"); + this->has_ip5306 = true; + this->i2c_supported = true; + } + + Wire.beginTransmission(MAX17048_ADDR); + error = Wire.endTransmission(); + + if (error == 0) { + if (maxlipo.begin()) { + Serial.println("Detected MAX17048"); + this->has_max17048 = true; + this->i2c_supported = true; + } + } + + /*for(addr = 1; addr < 127; addr++ ) { Wire.beginTransmission(addr); error = Wire.endTransmission(); @@ -54,7 +74,7 @@ void BatteryInterface::RunSetup() { } } } - } + }*/ /*if (this->maxlipo.begin()) { Serial.println("Detected MAX17048"); From 0ab6d5c223f870425196121c379f416ea384a32d Mon Sep 17 00:00:00 2001 From: Just Call Me Koko Date: Mon, 9 Dec 2024 23:27:34 -0500 Subject: [PATCH 03/12] Add configuration for ESP32 Marauder v7 --- esp32_marauder/MenuFunctions.cpp | 91 ++++++++++++------ esp32_marauder/WiFiScan.cpp | 87 +++++++++++++---- esp32_marauder/configs.h | 154 +++++++++++++++++++++++++++++- esp32_marauder/esp32_marauder.ino | 2 + 4 files changed, 285 insertions(+), 49 deletions(-) diff --git a/esp32_marauder/MenuFunctions.cpp b/esp32_marauder/MenuFunctions.cpp index fd0347417..a8c83ec9b 100644 --- a/esp32_marauder/MenuFunctions.cpp +++ b/esp32_marauder/MenuFunctions.cpp @@ -565,15 +565,49 @@ MenuFunctions::MenuFunctions() void MenuFunctions::buttonNotSelected(uint8_t b, int8_t x) { if (x == -1) x = b; - display_obj.tft.setFreeFont(NULL); - display_obj.key[b].drawButton(false, current_menu->list->get(x).name); + + #ifdef HAS_MINI_SCREEN + display_obj.tft.setFreeFont(NULL); + display_obj.key[b].drawButton(false, current_menu->list->get(x).name); + #endif + + #ifdef HAS_FULL_SCREEN + display_obj.tft.setFreeFont(MENU_FONT); + display_obj.key[b].drawButton(false, current_menu->list->get(x).name); + if (current_menu->list->get(x).name != text09) + display_obj.tft.drawXBitmap(0, + KEY_Y + x * (KEY_H + KEY_SPACING_Y) - (ICON_H / 2), + menu_icons[current_menu->list->get(x).icon], + ICON_W, + ICON_H, + TFT_BLACK, + current_menu->list->get(x).color); + display_obj.tft.setFreeFont(NULL); + #endif } void MenuFunctions::buttonSelected(uint8_t b, int8_t x) { if (x == -1) x = b; - display_obj.tft.setFreeFont(NULL); - display_obj.key[b].drawButton(true, current_menu->list->get(x).name); + + #ifdef HAS_MINI_SCREEN + display_obj.tft.setFreeFont(NULL); + display_obj.key[b].drawButton(true, current_menu->list->get(x).name); + #endif + + #ifdef HAS_FULL_SCREEN + display_obj.tft.setFreeFont(MENU_FONT); + display_obj.key[b].drawButton(true, current_menu->list->get(x).name); + if (current_menu->list->get(x).name != text09) + display_obj.tft.drawXBitmap(0, + KEY_Y + x * (KEY_H + KEY_SPACING_Y) - (ICON_H / 2), + menu_icons[current_menu->list->get(x).icon], + ICON_W, + ICON_H, + TFT_BLACK, + current_menu->list->get(x).color); + display_obj.tft.setFreeFont(NULL); + #endif } // Function to check menu input @@ -1050,7 +1084,7 @@ void MenuFunctions::updateStatusBar() else the_color = TFT_RED; - #ifdef HAS_ILI9341 + #ifdef HAS_FULL_SCREEN display_obj.tft.drawXBitmap(4, 0, menu_icons[STATUS_GPS], @@ -1078,11 +1112,11 @@ void MenuFunctions::updateStatusBar() #else display_obj.tft.fillRect(50, 0, TFT_WIDTH * 0.21, STATUS_BAR_WIDTH, STATUSBAR_COLOR); #endif - #ifdef HAS_ILI9341 + #ifdef HAS_FULL_SCREEN display_obj.tft.drawString("CH: " + (String)wifi_scan_obj.set_channel, 50, 0, 2); #endif - #if defined(MARAUDER_MINI) || defined(MARAUDER_M5STICKC) || defined(MARAUDER_REV_FEATHER) + #ifdef HAS_MINI_SCREEN display_obj.tft.drawString("CH: " + (String)wifi_scan_obj.set_channel, TFT_WIDTH/4, 0, 1); #endif } @@ -1092,11 +1126,11 @@ void MenuFunctions::updateStatusBar() if ((wifi_scan_obj.free_ram != wifi_scan_obj.old_free_ram) || (status_changed)) { wifi_scan_obj.old_free_ram = wifi_scan_obj.free_ram; display_obj.tft.fillRect(100, 0, 60, STATUS_BAR_WIDTH, STATUSBAR_COLOR); - #ifdef HAS_ILI9341 + #ifdef HAS_FULL_SCREEN display_obj.tft.drawString((String)wifi_scan_obj.free_ram + "B", 100, 0, 2); #endif - #if defined(MARAUDER_MINI) || defined(MARAUDER_M5STICKC) || defined(MARAUDER_REV_FEATHER) + #ifdef HAS_MINI_SCREEN display_obj.tft.drawString((String)wifi_scan_obj.free_ram + "B", TFT_WIDTH/1.75, 0, 1); #endif } @@ -1129,7 +1163,7 @@ void MenuFunctions::updateStatusBar() else the_color = TFT_RED; - #ifdef HAS_ILI9341 + #ifdef HAS_FULL_SCREEN display_obj.tft.drawXBitmap(170, 0, menu_icons[STATUS_SD], @@ -1140,7 +1174,7 @@ void MenuFunctions::updateStatusBar() #endif #endif - #if defined(MARAUDER_MINI) || defined(MARAUDER_M5STICKC) || defined(MARAUDER_REV_FEATHER) + #ifdef HAS_MINI_SCREEN display_obj.tft.setTextColor(the_color, STATUSBAR_COLOR); display_obj.tft.drawString("SD", TFT_WIDTH - 12, 0, 1); #endif @@ -1149,7 +1183,7 @@ void MenuFunctions::updateStatusBar() void MenuFunctions::drawStatusBar() { display_obj.tft.setTextSize(1); - #if defined(MARAUDER_MINI) || defined(MARAUDER_M5STICKC) || defined(MARAUDER_REV_FEATHER) + #ifdef HAS_MINI_SCREEN display_obj.tft.setFreeFont(NULL); #endif display_obj.tft.fillRect(0, 0, 240, STATUS_BAR_WIDTH, STATUSBAR_COLOR); @@ -1165,7 +1199,7 @@ void MenuFunctions::drawStatusBar() else the_color = TFT_RED; - #ifdef HAS_ILI9341 + #ifdef HAS_FULL_SCREEN display_obj.tft.drawXBitmap(4, 0, menu_icons[STATUS_GPS], @@ -1185,16 +1219,16 @@ void MenuFunctions::drawStatusBar() // WiFi Channel Stuff wifi_scan_obj.old_channel = wifi_scan_obj.set_channel; - #if defined(MARAUDER_MINI) || defined(MARAUDER_M5STICKC) || defined(MARAUDER_REV_FEATHER) + #ifdef HAS_MINI_SCREEN display_obj.tft.fillRect(43, 0, TFT_WIDTH * 0.21, STATUS_BAR_WIDTH, STATUSBAR_COLOR); #else display_obj.tft.fillRect(50, 0, TFT_WIDTH * 0.21, STATUS_BAR_WIDTH, STATUSBAR_COLOR); #endif - #ifdef HAS_ILI9341 + #ifdef HAS_FULL_SCREEN display_obj.tft.drawString("CH: " + (String)wifi_scan_obj.set_channel, 50, 0, 2); #endif - #if defined(MARAUDER_MINI) || defined(MARAUDER_M5STICKC) || defined(MARAUDER_REV_FEATHER) + #ifdef HAS_MINI_SCREEN display_obj.tft.drawString("CH: " + (String)wifi_scan_obj.set_channel, TFT_WIDTH/4, 0, 1); #endif @@ -1202,11 +1236,11 @@ void MenuFunctions::drawStatusBar() wifi_scan_obj.freeRAM(); wifi_scan_obj.old_free_ram = wifi_scan_obj.free_ram; display_obj.tft.fillRect(100, 0, 60, STATUS_BAR_WIDTH, STATUSBAR_COLOR); - #ifdef HAS_ILI9341 + #ifdef HAS_FULL_SCREEN display_obj.tft.drawString((String)wifi_scan_obj.free_ram + "B", 100, 0, 2); #endif - #if defined(MARAUDER_MINI) || defined(MARAUDER_M5STICKC) || defined(MARAUDER_REV_FEATHER) + #ifdef HAS_MINI_SCREEN display_obj.tft.drawString((String)wifi_scan_obj.free_ram + "B", TFT_WIDTH/1.75, 0, 1); #endif @@ -1238,7 +1272,7 @@ void MenuFunctions::drawStatusBar() the_color = TFT_RED; - #ifdef HAS_ILI9341 + #ifdef HAS_FULL_SCREEN display_obj.tft.drawXBitmap(170, 0, menu_icons[STATUS_SD], @@ -1249,7 +1283,7 @@ void MenuFunctions::drawStatusBar() #endif #endif - #if defined(MARAUDER_MINI) || defined(MARAUDER_M5STICKC) || defined(MARAUDER_REV_FEATHER) + #ifdef HAS_MINI_SCREEN display_obj.tft.setTextColor(the_color, STATUSBAR_COLOR); display_obj.tft.drawString("SD", TFT_WIDTH - 12, 0, 1); #endif @@ -2557,21 +2591,24 @@ void MenuFunctions::displayCurrentMenu(uint8_t start_index) if (current_menu->list != NULL) { - #ifdef HAS_ILI9341 + #ifdef HAS_FULL_SCREEN display_obj.tft.setFreeFont(MENU_FONT); #endif - #if defined(MARAUDER_MINI) || defined(MARAUDER_M5STICKC) || defined(MARAUDER_REV_FEATHER) + #ifdef HAS_MINI_SCREEN display_obj.tft.setFreeFont(NULL); display_obj.tft.setTextSize(1); #endif for (uint8_t i = start_index; i < current_menu->list->size(); i++) { - #ifdef HAS_ILI9341 - if (!current_menu->list->get(i).selected) - display_obj.key[i].drawButton(false, current_menu->list->get(i).name); - else + #ifdef HAS_FULL_SCREEN + if ((current_menu->list->get(i).selected) || (current_menu->selected == i)) { + Serial.println("Selected button: " + (String)current_menu->list->get(i).name); display_obj.key[i].drawButton(true, current_menu->list->get(i).name); + } + else { + display_obj.key[i].drawButton(false, current_menu->list->get(i).name); + } if (current_menu->list->get(i).name != text09) display_obj.tft.drawXBitmap(0, @@ -2584,7 +2621,7 @@ void MenuFunctions::displayCurrentMenu(uint8_t start_index) #endif - #if defined(MARAUDER_MINI) || defined(MARAUDER_M5STICKC) || defined(MARAUDER_REV_FEATHER) + #ifdef HAS_MINI_SCREEN if ((current_menu->selected == i) || (current_menu->list->get(i).selected)) display_obj.key[i - start_index].drawButton(true, current_menu->list->get(i).name); else diff --git a/esp32_marauder/WiFiScan.cpp b/esp32_marauder/WiFiScan.cpp index cdd2add74..00c282ab8 100644 --- a/esp32_marauder/WiFiScan.cpp +++ b/esp32_marauder/WiFiScan.cpp @@ -831,9 +831,11 @@ void WiFiScan::startWiFiAttacks(uint8_t scan_mode, uint16_t color, String title_ display_obj.initScrollValues(true); display_obj.tft.setTextWrap(false); display_obj.tft.setTextColor(TFT_BLACK, color); - #ifdef HAS_ILI9341 + #ifdef HAS_FULL_SCREEN display_obj.tft.fillRect(0,16,TFT_WIDTH,16, color); display_obj.tft.drawCentreString((String)title_string,TFT_WIDTH / 2,16,2); + #endif + #ifdef HAS_ILI9341 display_obj.touchToExit(); #endif display_obj.tft.setTextColor(TFT_GREEN, TFT_BLACK); @@ -1382,9 +1384,11 @@ void WiFiScan::RunEvilPortal(uint8_t scan_mode, uint16_t color) display_obj.initScrollValues(true); display_obj.tft.setTextWrap(false); display_obj.tft.setTextColor(TFT_WHITE, color); - #ifdef HAS_ILI9341 + #ifdef HAS_FULL_SCREEN display_obj.tft.fillRect(0,16,240,16, color); display_obj.tft.drawCentreString(" Evil Portal ",120,16,2); + #endif + #ifdef HAS_ILI9341 display_obj.touchToExit(); #endif display_obj.tft.setTextColor(TFT_MAGENTA, TFT_BLACK); @@ -1426,9 +1430,11 @@ void WiFiScan::RunAPScan(uint8_t scan_mode, uint16_t color) display_obj.initScrollValues(true); display_obj.tft.setTextWrap(false); display_obj.tft.setTextColor(TFT_WHITE, color); - #ifdef HAS_ILI9341 + #ifdef HAS_FULL_SCREEN display_obj.tft.fillRect(0,16,240,16, color); display_obj.tft.drawCentreString(text_table4[44],120,16,2); + #endif + #ifdef HAS_ILI9341 display_obj.touchToExit(); #endif display_obj.tft.setTextColor(TFT_GREEN, TFT_BLACK); @@ -1886,9 +1892,11 @@ void WiFiScan::RunPacketMonitor(uint8_t scan_mode, uint16_t color) display_obj.initScrollValues(true); display_obj.tft.setTextWrap(false); display_obj.tft.setTextColor(TFT_WHITE, color); - #ifdef HAS_ILI9341 + #ifdef HAS_FULL_SCREEN display_obj.tft.fillRect(0,16,240,16, color); display_obj.tft.drawCentreString(text_table4[38],120,16,2); + #endif + #ifdef HAS_ILI9341 display_obj.touchToExit(); #endif display_obj.tft.setTextColor(TFT_GREEN, TFT_BLACK); @@ -1965,9 +1973,11 @@ void WiFiScan::RunEapolScan(uint8_t scan_mode, uint16_t color) display_obj.initScrollValues(true); display_obj.tft.setTextWrap(false); display_obj.tft.setTextColor(TFT_WHITE, color); - #ifdef HAS_ILI9341 + #ifdef HAS_FULL_SCREEN display_obj.tft.fillRect(0,16,240,16, color); display_obj.tft.drawCentreString(text_table4[38],120,16,2); + #endif + #ifdef HAS_ILI9341 display_obj.touchToExit(); #endif display_obj.tft.setTextColor(TFT_GREEN, TFT_BLACK); @@ -2028,9 +2038,11 @@ void WiFiScan::RunMimicFlood(uint8_t scan_mode, uint16_t color) { display_obj.initScrollValues(true); display_obj.tft.setTextWrap(false); display_obj.tft.setTextColor(TFT_BLACK, color); - #ifdef HAS_ILI9341 + #ifdef HAS_FULL_SCREEN display_obj.tft.fillRect(0,16,240,16, color); display_obj.tft.drawCentreString(" Mimic Flood ",120,16,2); + #endif + #ifdef HAS_ILI9341 display_obj.touchToExit(); #endif display_obj.tft.setTextColor(TFT_GREEN, TFT_BLACK); @@ -2070,9 +2082,11 @@ void WiFiScan::RunPwnScan(uint8_t scan_mode, uint16_t color) display_obj.initScrollValues(true); display_obj.tft.setTextWrap(false); display_obj.tft.setTextColor(TFT_WHITE, color); - #ifdef HAS_ILI9341 + #ifdef HAS_FULL_SCREEN display_obj.tft.fillRect(0,16,240,16, color); display_obj.tft.drawCentreString(text_table4[37],120,16,2); + #endif + #ifdef HAS_ILI9341 display_obj.touchToExit(); #endif display_obj.tft.setTextColor(TFT_GREEN, TFT_BLACK); @@ -2328,7 +2342,7 @@ void WiFiScan::RunBeaconScan(uint8_t scan_mode, uint16_t color) display_obj.initScrollValues(true); display_obj.tft.setTextWrap(false); display_obj.tft.setTextColor(TFT_WHITE, color); - #ifdef HAS_ILI9341 + #ifdef HAS_FULL_SCREEN display_obj.tft.fillRect(0,16,240,16, color); if (scan_mode == WIFI_SCAN_AP) display_obj.tft.drawCentreString(text_table4[38],120,16,2); @@ -2336,7 +2350,9 @@ void WiFiScan::RunBeaconScan(uint8_t scan_mode, uint16_t color) this->clearMacHistory(); display_obj.tft.drawCentreString("Wardrive", 120, 16, 2); } - display_obj.touchToExit(); + #ifdef HAS_ILI9341 + display_obj.touchToExit(); + #endif #endif display_obj.tft.setTextColor(TFT_GREEN, TFT_BLACK); display_obj.setupScrollArea(display_obj.TOP_FIXED_AREA_2, BOT_FIXED_AREA); @@ -2387,9 +2403,11 @@ void WiFiScan::RunStationScan(uint8_t scan_mode, uint16_t color) display_obj.initScrollValues(true); display_obj.tft.setTextWrap(false); display_obj.tft.setTextColor(TFT_WHITE, color); - #ifdef HAS_ILI9341 + #ifdef HAS_FULL_SCREEN display_obj.tft.fillRect(0,16,240,16, color); display_obj.tft.drawCentreString(text_table1[59],120,16,2); + #endif + #ifdef HAS_ILI9341 display_obj.touchToExit(); #endif display_obj.tft.setTextColor(TFT_GREEN, TFT_BLACK); @@ -2431,13 +2449,15 @@ void WiFiScan::RunRawScan(uint8_t scan_mode, uint16_t color) display_obj.initScrollValues(true); display_obj.tft.setTextWrap(false); display_obj.tft.setTextColor(TFT_WHITE, color); - #ifdef HAS_ILI9341 + #ifdef HAS_FULL_SCREEN display_obj.tft.fillRect(0,16,240,16, color); if (scan_mode != WIFI_SCAN_SIG_STREN) display_obj.tft.drawCentreString(text_table1[58],120,16,2); else display_obj.tft.drawCentreString("Signal Monitor", 120, 16, 2); - display_obj.touchToExit(); + #ifdef HAS_ILI9341 + display_obj.touchToExit(); + #endif #endif display_obj.tft.setTextColor(TFT_GREEN, TFT_BLACK); display_obj.setupScrollArea(display_obj.TOP_FIXED_AREA_2, BOT_FIXED_AREA); @@ -2477,9 +2497,11 @@ void WiFiScan::RunDeauthScan(uint8_t scan_mode, uint16_t color) display_obj.initScrollValues(true); display_obj.tft.setTextWrap(false); display_obj.tft.setTextColor(TFT_BLACK, color); - #ifdef HAS_ILI9341 + #ifdef HAS_FULL_SCREEN display_obj.tft.fillRect(0,16,240,16, color); display_obj.tft.drawCentreString(text_table4[39],120,16,2); + #endif + #ifdef HAS_ILI9341 display_obj.touchToExit(); #endif display_obj.tft.setTextColor(TFT_RED, TFT_BLACK); @@ -2536,9 +2558,11 @@ void WiFiScan::RunProbeScan(uint8_t scan_mode, uint16_t color) display_obj.initScrollValues(true); display_obj.tft.setTextWrap(false); display_obj.tft.setTextColor(TFT_BLACK, color); - #ifdef HAS_ILI9341 + #ifdef HAS_FULL_SCREEN display_obj.tft.fillRect(0,16,240,16, color); display_obj.tft.drawCentreString(text_table4[40],120,16,2); + #endif + #ifdef HAS_ILI9341 display_obj.touchToExit(); #endif display_obj.tft.setTextColor(TFT_GREEN, TFT_BLACK); @@ -2572,9 +2596,11 @@ void WiFiScan::RunSourApple(uint8_t scan_mode, uint16_t color) { display_obj.initScrollValues(true); display_obj.tft.setTextWrap(false); display_obj.tft.setTextColor(TFT_BLACK, color); - #ifdef HAS_ILI9341 + #ifdef HAS_FULL_SCREEN display_obj.tft.fillRect(0,16,240,16, color); display_obj.tft.drawCentreString("Sour Apple",120,16,2); + #endif + #ifdef HAS_ILI9341 display_obj.touchToExit(); #endif display_obj.tft.setTextColor(TFT_GREEN, TFT_BLACK); @@ -2594,7 +2620,7 @@ void WiFiScan::RunSwiftpairSpam(uint8_t scan_mode, uint16_t color) { display_obj.initScrollValues(true); display_obj.tft.setTextWrap(false); display_obj.tft.setTextColor(TFT_BLACK, color); - #ifdef HAS_ILI9341 + #ifdef HAS_FULL_SCREEN display_obj.tft.fillRect(0,16,240,16, color); if (scan_mode == BT_ATTACK_SWIFTPAIR_SPAM) display_obj.tft.drawCentreString("Swiftpair Spam",120,16,2); @@ -2608,7 +2634,9 @@ void WiFiScan::RunSwiftpairSpam(uint8_t scan_mode, uint16_t color) { display_obj.tft.drawCentreString("BLE Spam Flipper", 120, 16, 2); else if (scan_mode == BT_SPOOF_AIRTAG) display_obj.tft.drawCentreString("BLE Spoof Airtag", 120, 16, 2); - display_obj.touchToExit(); + #ifdef HAS_ILI9341 + display_obj.touchToExit(); + #endif #endif display_obj.tft.setTextColor(TFT_GREEN, TFT_BLACK); #endif @@ -2640,7 +2668,7 @@ void WiFiScan::RunBluetoothScan(uint8_t scan_mode, uint16_t color) display_obj.initScrollValues(true); display_obj.tft.setTextWrap(false); display_obj.tft.setTextColor(TFT_BLACK, color); - #ifdef HAS_ILI9341 + #ifdef HAS_FULL_SCREEN display_obj.tft.fillRect(0,16,240,16, color); if (scan_mode == BT_SCAN_ALL) display_obj.tft.drawCentreString(text_table4[41],120,16,2); @@ -2648,7 +2676,9 @@ void WiFiScan::RunBluetoothScan(uint8_t scan_mode, uint16_t color) display_obj.tft.drawCentreString("Airtag Sniff",120,16,2); else if (scan_mode == BT_SCAN_FLIPPER) display_obj.tft.drawCentreString("Flipper Sniff", 120, 16, 2); - display_obj.touchToExit(); + #ifdef HAS_ILI9341 + display_obj.touchToExit(); + #endif #endif display_obj.tft.setTextColor(TFT_CYAN, TFT_BLACK); display_obj.setupScrollArea(display_obj.TOP_FIXED_AREA_2, BOT_FIXED_AREA); @@ -2687,13 +2717,15 @@ void WiFiScan::RunBluetoothScan(uint8_t scan_mode, uint16_t color) display_obj.initScrollValues(true); display_obj.tft.setTextWrap(false); display_obj.tft.setTextColor(TFT_BLACK, color); - #ifdef HAS_ILI9341 + #ifdef HAS_FULL_SCREEN display_obj.tft.fillRect(0,16,240,16, color); if (scan_mode == BT_SCAN_WAR_DRIVE) display_obj.tft.drawCentreString("BT Wardrive",120,16,2); else if (scan_mode == BT_SCAN_WAR_DRIVE_CONT) display_obj.tft.drawCentreString("BT Wardrive Continuous",120,16,2); - display_obj.touchToExit(); + #ifdef HAS_ILI9341 + display_obj.touchToExit(); + #endif #endif display_obj.tft.setTextColor(TFT_CYAN, TFT_BLACK); display_obj.setupScrollArea(display_obj.TOP_FIXED_AREA_2, BOT_FIXED_AREA); @@ -2919,6 +2951,13 @@ void WiFiScan::apSnifferCallbackFull(void* buf, wifi_promiscuous_pkt_type_t type // display_string.concat((char)snifferPacket->payload[i + 38]); // essid.concat((char)snifferPacket->payload[i + 38]); //} + #ifdef HAS_FULL_SCREEN + display_string.concat(snifferPacket->rx_ctrl.rssi); + display_string.concat(" "); + display_string.concat(snifferPacket->rx_ctrl.channel); + display_string.concat(" "); + #endif + Serial.print(" ESSID: "); if (snifferPacket->payload[37] <= 0) display_string.concat(addr); @@ -3324,6 +3363,12 @@ void WiFiScan::beaconSnifferCallback(void* buf, wifi_promiscuous_pkt_type_t type Serial.print(addr); Serial.print(" ESSID Len: " + (String)snifferPacket->payload[37]); Serial.print(" ESSID: "); + #ifdef HAS_FULL_SCREEN + display_string.concat(snifferPacket->rx_ctrl.rssi); + display_string.concat(" "); + display_string.concat(snifferPacket->rx_ctrl.channel); + display_string.concat(" "); + #endif if (snifferPacket->payload[37] <= 0) display_string.concat(addr); else { diff --git a/esp32_marauder/configs.h b/esp32_marauder/configs.h index 010290c5d..a6ade7365 100644 --- a/esp32_marauder/configs.h +++ b/esp32_marauder/configs.h @@ -11,7 +11,8 @@ //#define MARAUDER_MINI //#define MARAUDER_V4 //#define MARAUDER_V6 - #define MARAUDER_V6_1 + //#define MARAUDER_V6_1 + #define MARAUDER_V7 //#define MARAUDER_KIT //#define GENERIC_ESP32 //#define MARAUDER_FLIPPER @@ -28,6 +29,8 @@ #define HARDWARE_NAME "M5Stick-C Plus" #elif defined(MARAUDER_MINI) #define HARDWARE_NAME "Marauder Mini" + #elif defined(MARAUDER_V7) + #define HARDWARE_NAME "Marauder v7" #elif defined(MARAUDER_REV_FEATHER) #define HARDWARE_NAME "Adafruit Feather ESP32-S2 Reverse TFT" #elif defined(MARAUDER_V4) @@ -61,6 +64,7 @@ //#define HAS_NEOPIXEL_LED #define HAS_PWR_MGMT #define HAS_SCREEN + #define HAS_MINI_SCREEN #define HAS_SD #define USE_SD #define HAS_TEMP_SENSOR @@ -75,6 +79,23 @@ #define HAS_NEOPIXEL_LED //#define HAS_PWR_MGMT #define HAS_SCREEN + #define HAS_MINI_SCREEN + #define HAS_SD + #define USE_SD + #define HAS_TEMP_SENSOR + #define HAS_GPS + #endif + + #ifdef MARAUDER_V7 + //#define FLIPPER_ZERO_HAT + #define HAS_BATTERY + #define HAS_BT + #define HAS_BT_REMOTE + #define HAS_BUTTONS + #define HAS_NEOPIXEL_LED + //#define HAS_PWR_MGMT + #define HAS_SCREEN + #define HAS_FULL_SCREEN #define HAS_SD #define USE_SD #define HAS_TEMP_SENSOR @@ -89,6 +110,7 @@ #define HAS_NEOPIXEL_LED //#define HAS_PWR_MGMT #define HAS_SCREEN + #define HAS_MINI_SCREEN #define HAS_SD #define USE_SD #define HAS_TEMP_SENSOR @@ -103,6 +125,7 @@ #define HAS_NEOPIXEL_LED //#define HAS_PWR_MGMT #define HAS_SCREEN + #define HAS_FULL_SCREEN #define HAS_SD #define USE_SD #define HAS_TEMP_SENSOR @@ -118,6 +141,7 @@ #define HAS_NEOPIXEL_LED //#define HAS_PWR_MGMT #define HAS_SCREEN + #define HAS_FULL_SCREEN #define HAS_SD #define USE_SD #define HAS_TEMP_SENSOR @@ -132,6 +156,7 @@ #define HAS_NEOPIXEL_LED //#define HAS_PWR_MGMT #define HAS_SCREEN + #define HAS_FULL_SCREEN #define HAS_SD #define USE_SD #define HAS_TEMP_SENSOR @@ -258,6 +283,26 @@ #define D_PULL true #endif + #ifdef MARAUDER_V7 + #define L_BTN 13 + #define C_BTN 34 + #define U_BTN 36 + #define R_BTN 39 + #define D_BTN 35 + + #define HAS_L + #define HAS_R + #define HAS_U + #define HAS_D + #define HAS_C + + #define L_PULL true + #define C_PULL true + #define U_PULL true + #define R_PULL true + #define D_PULL true + #endif + #ifdef MARAUDER_M5STICKC #define L_BTN -1 #define C_BTN 37 @@ -507,6 +552,69 @@ #define KIT_LED_BUILTIN 13 #endif + #ifdef MARAUDER_V7 + #define SCREEN_CHAR_WIDTH 40 + //#define HAS_ILI9341 + + #define BANNER_TEXT_SIZE 2 + + #ifndef TFT_WIDTH + #define TFT_WIDTH 240 + #endif + + #ifndef TFT_HEIGHT + #define TFT_HEIGHT 320 + #endif + + #define TFT_DIY + + #define SCREEN_BUFFER + + #define MAX_SCREEN_BUFFER 22 + + #define CHAR_WIDTH 12 + #define SCREEN_WIDTH TFT_WIDTH + #define SCREEN_HEIGHT TFT_HEIGHT + #define HEIGHT_1 TFT_WIDTH + #define WIDTH_1 TFT_HEIGHT + #define STANDARD_FONT_CHAR_LIMIT (TFT_WIDTH/6) // number of characters on a single line with normal font + #define TEXT_HEIGHT 16 // Height of text to be printed and scrolled + #define BOT_FIXED_AREA 0 // Number of lines in bottom fixed area (lines counted from bottom of screen) + #define TOP_FIXED_AREA 48 // Number of lines in top fixed area (lines counted from top of screen) + #define YMAX 320 // Bottom of screen area + #define minimum(a,b) (((a) < (b)) ? (a) : (b)) + //#define MENU_FONT NULL + #define MENU_FONT &FreeMono9pt7b // Winner + //#define MENU_FONT &FreeMonoBold9pt7b + //#define MENU_FONT &FreeSans9pt7b + //#define MENU_FONT &FreeSansBold9pt7b + #define BUTTON_SCREEN_LIMIT 12 + #define BUTTON_ARRAY_LEN 100 + #define STATUS_BAR_WIDTH 16 + #define LVGL_TICK_PERIOD 6 + + #define FRAME_X 100 + #define FRAME_Y 64 + #define FRAME_W 120 + #define FRAME_H 50 + + // Red zone size + #define REDBUTTON_X FRAME_X + #define REDBUTTON_Y FRAME_Y + #define REDBUTTON_W (FRAME_W/2) + #define REDBUTTON_H FRAME_H + + // Green zone size + #define GREENBUTTON_X (REDBUTTON_X + REDBUTTON_W) + #define GREENBUTTON_Y FRAME_Y + #define GREENBUTTON_W (FRAME_W/2) + #define GREENBUTTON_H FRAME_H + + #define STATUSBAR_COLOR 0x4A49 + + #define KIT_LED_BUILTIN 13 + #endif + #ifdef MARAUDER_KIT #define SCREEN_CHAR_WIDTH 40 #define HAS_ILI9341 @@ -742,6 +850,25 @@ //#define BUTTON_ARRAY_LEN 5 #endif + #ifdef MARAUDER_V7 + #define BANNER_TIME 100 + + #define COMMAND_PREFIX "!" + + // Keypad start position, key sizes and spacing + #define KEY_X 120 // Centre of key + #define KEY_Y 50 + #define KEY_W 240 // Width and height + #define KEY_H 22 + #define KEY_SPACING_X 0 // X and Y gap + #define KEY_SPACING_Y 1 + #define KEY_TEXTSIZE 1 // Font size multiplier + #define ICON_W 22 + #define ICON_H 22 + #define BUTTON_PADDING 22 + //#define BUTTON_ARRAY_LEN 5 + #endif + #ifdef MARAUDER_KIT #define BANNER_TIME 100 @@ -839,6 +966,10 @@ #define SD_CS 4 #endif + #ifdef MARAUDER_V7 + #define SD_CS 4 + #endif + #ifdef MARAUDER_REV_FEATHER #define SD_CS 5 #endif @@ -898,6 +1029,8 @@ #define MEM_LOWER_LIM 20000 #elif defined(MARAUDER_MINI) #define MEM_LOWER_LIM 20000 + #elif defined(MARAUDER_V7) + #define MEM_LOWER_LIM 20000 #elif defined(MARAUDER_REV_FEATHER) #define MEM_LOWER_LIM 20000 #elif defined(MARAUDER_V4) @@ -940,6 +1073,8 @@ #define MAX_HTML_SIZE 11400 #elif defined(MARAUDER_MINI) #define MAX_HTML_SIZE 11400 + #elif defined(MARAUDER_V7) + #define MAX_HTML_SIZE 11400 #elif defined(MARAUDER_REV_FEATHER) #define MAX_HTML_SIZE 11400 #elif defined(MARAUDER_V4) @@ -990,6 +1125,11 @@ #define GPS_TX 21 #define GPS_RX 22 #define mac_history_len 512 + #elif defined(MARAUDER_V7) + #define GPS_SERIAL_INDEX 2 + #define GPS_TX 21 + #define GPS_RX 22 + #define mac_history_len 512 #elif defined(MARAUDER_FLIPPER) #define GPS_SERIAL_INDEX 1 #define GPS_TX 9 @@ -1039,6 +1179,16 @@ #define I2C_SCL 22 #endif + #ifdef MARAUDER_MINI + #define I2C_SDA 33 + #define I2C_SCL 26 + #endif + + #ifdef MARAUDER_V7 + #define I2C_SDA 33 + #define I2C_SCL 16 + #endif + #endif //// MARAUDER TITLE STUFF @@ -1050,6 +1200,8 @@ #define MARAUDER_TITLE_BYTES 13578 #elif defined(MARAUDER_MINI) #define MARAUDER_TITLE_BYTES 13578 + #elif defined(MARAUDER_V7) + #define MARAUDER_TITLE_BYTES 13578 #elif defined(MARAUDER_REV_FEATHER) #define MARAUDER_TITLE_BYTES 13578 #else diff --git a/esp32_marauder/esp32_marauder.ino b/esp32_marauder/esp32_marauder.ino index 565def62a..5cb5aee2f 100644 --- a/esp32_marauder/esp32_marauder.ino +++ b/esp32_marauder/esp32_marauder.ino @@ -327,6 +327,8 @@ void setup() #ifdef HAS_SCREEN menu_function_obj.RunSetup(); #endif + + wifi_scan_obj.StartScan(WIFI_SCAN_OFF); Serial.println(F("CLI Ready")); cli_obj.RunSetup(); From 006e7508dd053211494e518346d29eca2e4bdb68 Mon Sep 17 00:00:00 2001 From: Just Call Me Koko Date: Sat, 14 Dec 2024 13:17:52 -0500 Subject: [PATCH 04/12] Move save files menu and add save/load airtags --- esp32_marauder/MenuFunctions.cpp | 114 +++++++++++++++++++------------ esp32_marauder/MenuFunctions.h | 2 + esp32_marauder/WiFiScan.cpp | 105 ++++++++++++++++++++++++++++ esp32_marauder/WiFiScan.h | 2 + esp32_marauder/utils.h | 51 ++++++++++++++ 5 files changed, 229 insertions(+), 45 deletions(-) diff --git a/esp32_marauder/MenuFunctions.cpp b/esp32_marauder/MenuFunctions.cpp index a8c83ec9b..8c27b6e35 100644 --- a/esp32_marauder/MenuFunctions.cpp +++ b/esp32_marauder/MenuFunctions.cpp @@ -1432,6 +1432,8 @@ void MenuFunctions::RunSetup() loadSSIDsMenu.list = new LinkedList(); saveAPsMenu.list = new LinkedList(); loadAPsMenu.list = new LinkedList(); + saveATsMenu.list = new LinkedList(); + loadATsMenu.list = new LinkedList(); // Work menu names mainMenu.name = text_table1[6]; @@ -1453,6 +1455,9 @@ void MenuFunctions::RunSetup() loadSSIDsMenu.name = "Load SSIDs"; saveAPsMenu.name = "Save APs"; loadAPsMenu.name = "Load APs"; + saveATsMenu.name = "Save Airtags"; + loadATsMenu.name = "Load Airtags"; + bluetoothSnifferMenu.name = text_table1[23]; bluetoothAttackMenu.name = "Bluetooth Attacks"; generateSSIDsMenu.name = text_table1[27]; @@ -1660,9 +1665,6 @@ void MenuFunctions::RunSetup() this->changeMenu(&generateSSIDsMenu); wifi_scan_obj.RunGenerateSSIDs(); }); - this->addNodes(&wifiGeneralMenu, "Save/Load Files", TFT_CYAN, NULL, SD_UPDATE, [this]() { - this->changeMenu(&saveFileMenu); - }); #ifdef HAS_ILI9341 this->addNodes(&wifiGeneralMenu, text_table1[1], TFT_NAVY, NULL, KEYBOARD_ICO, [this](){ display_obj.clearScreen(); @@ -1929,48 +1931,6 @@ void MenuFunctions::RunSetup() this->changeMenu(clearAPsMenu.parentMenu); }); - saveSSIDsMenu.parentMenu = &saveFileMenu; - this->addNodes(&saveSSIDsMenu, text09, TFT_LIGHTGREY, NULL, 0, [this]() { - this->changeMenu(saveSSIDsMenu.parentMenu); - }); - - loadSSIDsMenu.parentMenu = &saveFileMenu; - this->addNodes(&loadSSIDsMenu, text09, TFT_LIGHTGREY, NULL, 0, [this]() { - this->changeMenu(loadSSIDsMenu.parentMenu); - }); - - saveAPsMenu.parentMenu = &saveFileMenu; - this->addNodes(&saveAPsMenu, text09, TFT_LIGHTGREY, NULL, 0, [this]() { - this->changeMenu(saveAPsMenu.parentMenu); - }); - - loadAPsMenu.parentMenu = &saveFileMenu; - this->addNodes(&loadAPsMenu, text09, TFT_LIGHTGREY, NULL, 0, [this]() { - this->changeMenu(loadAPsMenu.parentMenu); - }); - - // Save Files Menu - saveFileMenu.parentMenu = &wifiGeneralMenu; - this->addNodes(&saveFileMenu, text09, TFT_LIGHTGREY, NULL, 0, [this]() { - this->changeMenu(saveFileMenu.parentMenu); - }); - this->addNodes(&saveFileMenu, "Save SSIDs", TFT_CYAN, NULL, SD_UPDATE, [this]() { - this->changeMenu(&saveSSIDsMenu); - wifi_scan_obj.RunSaveSSIDList(true); - }); - this->addNodes(&saveFileMenu, "Load SSIDs", TFT_SKYBLUE, NULL, SD_UPDATE, [this]() { - this->changeMenu(&loadSSIDsMenu); - wifi_scan_obj.RunLoadSSIDList(); - }); - this->addNodes(&saveFileMenu, "Save APs", TFT_NAVY, NULL, SD_UPDATE, [this]() { - this->changeMenu(&saveAPsMenu); - wifi_scan_obj.RunSaveAPList(); - }); - this->addNodes(&saveFileMenu, "Load APs", TFT_BLUE, NULL, SD_UPDATE, [this]() { - this->changeMenu(&loadAPsMenu); - wifi_scan_obj.RunLoadAPList(); - }); - // Build Bluetooth Menu bluetoothMenu.parentMenu = &mainMenu; // Second Menu is third menu parent this->addNodes(&bluetoothMenu, text09, TFT_LIGHTGREY, NULL, 0, [this]() { @@ -2131,6 +2091,10 @@ void MenuFunctions::RunSetup() this->changeMenu(&whichUpdateMenu); }); + this->addNodes(&deviceMenu, "Save/Load Files", TFT_CYAN, NULL, SD_UPDATE, [this]() { + this->changeMenu(&saveFileMenu); + }); + this->addNodes(&deviceMenu, text_table1[16], TFT_GREEN, NULL, LANGUAGE, [this]() { wifi_scan_obj.currentScanMode = SHOW_INFO; @@ -2236,6 +2200,66 @@ void MenuFunctions::RunSetup() #endif #endif + // Save Files Menu + saveFileMenu.parentMenu = &deviceMenu; + this->addNodes(&saveFileMenu, text09, TFT_LIGHTGREY, NULL, 0, [this]() { + this->changeMenu(saveFileMenu.parentMenu); + }); + this->addNodes(&saveFileMenu, "Save SSIDs", TFT_CYAN, NULL, SD_UPDATE, [this]() { + this->changeMenu(&saveSSIDsMenu); + wifi_scan_obj.RunSaveSSIDList(true); + }); + this->addNodes(&saveFileMenu, "Load SSIDs", TFT_SKYBLUE, NULL, SD_UPDATE, [this]() { + this->changeMenu(&loadSSIDsMenu); + wifi_scan_obj.RunLoadSSIDList(); + }); + this->addNodes(&saveFileMenu, "Save APs", TFT_NAVY, NULL, SD_UPDATE, [this]() { + this->changeMenu(&saveAPsMenu); + wifi_scan_obj.RunSaveAPList(); + }); + this->addNodes(&saveFileMenu, "Load APs", TFT_BLUE, NULL, SD_UPDATE, [this]() { + this->changeMenu(&loadAPsMenu); + wifi_scan_obj.RunLoadAPList(); + }); + this->addNodes(&saveFileMenu, "Save Airtags", TFT_WHITE, NULL, SD_UPDATE, [this]() { + this->changeMenu(&saveAPsMenu); + wifi_scan_obj.RunSaveATList(); + }); + this->addNodes(&saveFileMenu, "Load Airtags", TFT_WHITE, NULL, SD_UPDATE, [this]() { + this->changeMenu(&loadAPsMenu); + wifi_scan_obj.RunLoadATList(); + }); + + saveSSIDsMenu.parentMenu = &saveFileMenu; + this->addNodes(&saveSSIDsMenu, text09, TFT_LIGHTGREY, NULL, 0, [this]() { + this->changeMenu(saveSSIDsMenu.parentMenu); + }); + + loadSSIDsMenu.parentMenu = &saveFileMenu; + this->addNodes(&loadSSIDsMenu, text09, TFT_LIGHTGREY, NULL, 0, [this]() { + this->changeMenu(loadSSIDsMenu.parentMenu); + }); + + saveAPsMenu.parentMenu = &saveFileMenu; + this->addNodes(&saveAPsMenu, text09, TFT_LIGHTGREY, NULL, 0, [this]() { + this->changeMenu(saveAPsMenu.parentMenu); + }); + + loadAPsMenu.parentMenu = &saveFileMenu; + this->addNodes(&loadAPsMenu, text09, TFT_LIGHTGREY, NULL, 0, [this]() { + this->changeMenu(loadAPsMenu.parentMenu); + }); + + saveATsMenu.parentMenu = &saveFileMenu; + this->addNodes(&saveATsMenu, text09, TFT_LIGHTGREY, NULL, 0, [this]() { + this->changeMenu(saveATsMenu.parentMenu); + }); + + loadATsMenu.parentMenu = &saveFileMenu; + this->addNodes(&loadATsMenu, text09, TFT_LIGHTGREY, NULL, 0, [this]() { + this->changeMenu(loadATsMenu.parentMenu); + }); + // GPS Menu #ifdef HAS_GPS if (gps_obj.getGpsModuleStatus()) { diff --git a/esp32_marauder/MenuFunctions.h b/esp32_marauder/MenuFunctions.h index 9599e20a0..c6ed5bff2 100644 --- a/esp32_marauder/MenuFunctions.h +++ b/esp32_marauder/MenuFunctions.h @@ -205,6 +205,8 @@ class MenuFunctions Menu loadSSIDsMenu; Menu saveAPsMenu; Menu loadAPsMenu; + Menu saveATsMenu; + Menu loadATsMenu; #ifdef HAS_GPS // GPS Menu diff --git a/esp32_marauder/WiFiScan.cpp b/esp32_marauder/WiFiScan.cpp index 00c282ab8..5365da2c5 100644 --- a/esp32_marauder/WiFiScan.cpp +++ b/esp32_marauder/WiFiScan.cpp @@ -1186,6 +1186,111 @@ void WiFiScan::parseBSSID(const char* bssidStr, uint8_t* bssid) { &bssid[3], &bssid[4], &bssid[5]); } +void WiFiScan::RunLoadATList() { + #ifdef HAS_SD + // Prepare to access the file + File file = sd_obj.getFile("/Airtags_0.log"); + if (!file) { + Serial.println("Could not open /Airtags_0.log"); + #ifdef HAS_SCREEN + display_obj.tft.setTextWrap(false); + display_obj.tft.setFreeFont(NULL); + display_obj.tft.setCursor(0, 100); + display_obj.tft.setTextSize(1); + display_obj.tft.setTextColor(TFT_CYAN); + + display_obj.tft.println("Could not open /Airtags_0.log"); + #endif + return; + } + + // Prepare JSON + DynamicJsonDocument doc(10048); + DeserializationError error = deserializeJson(doc, file); + if (error) { + Serial.print("JSON deserialize error: "); + Serial.println(error.c_str()); + file.close(); + #ifdef HAS_SCREEN + display_obj.tft.setTextWrap(false); + display_obj.tft.setFreeFont(NULL); + display_obj.tft.setCursor(0, 100); + display_obj.tft.setTextSize(1); + display_obj.tft.setTextColor(TFT_CYAN); + + display_obj.tft.println("Could not deserialize JSON"); + display_obj.tft.println(error.c_str()); + #endif + return; + } + + JsonArray array = doc.as(); + for (JsonObject obj : array) { + AirTag at; + at.mac = obj["mac"].as(); + at.payloadSize = obj["payload_size"]; + at.payload = hexStringToByteArray(obj["payload"].as()); + at.selected = false; + airtags->add(at); + } + + file.close(); + + //doc.clear(); + + #ifdef HAS_SCREEN + display_obj.tft.setTextWrap(false); + display_obj.tft.setFreeFont(NULL); + display_obj.tft.setCursor(0, 100); + display_obj.tft.setTextSize(1); + display_obj.tft.setTextColor(TFT_CYAN); + + display_obj.tft.print("Loaded Airtags: "); + display_obj.tft.println((String)airtags->size()); + #endif + Serial.print("Loaded Airtags:"); + Serial.println((String)airtags->size()); + #endif +} + +void WiFiScan::RunSaveATList(bool save_as) { + if (save_as) { + sd_obj.removeFile("/Airtags_0.log"); + + this->startLog("Airtags"); + + DynamicJsonDocument jsonDocument(2048); + + JsonArray jsonArray = jsonDocument.to(); + + for (int i = 0; i < airtags->size(); i++) { + const AirTag& at = airtags->get(i); + JsonObject jsonAt = jsonArray.createNestedObject(); + jsonAt["mac"] = at.mac; + jsonAt["payload"] = byteArrayToHexString(at.payload); + jsonAt["payload_size"] = at.payloadSize; + } + + String jsonString; + serializeJson(jsonArray, jsonString); + + buffer_obj.append(jsonString); + + #ifdef HAS_SCREEN + display_obj.tft.setTextWrap(false); + display_obj.tft.setFreeFont(NULL); + display_obj.tft.setCursor(0, 100); + display_obj.tft.setTextSize(1); + display_obj.tft.setTextColor(TFT_CYAN); + + display_obj.tft.print("Saved Airtags: "); + display_obj.tft.println((String)airtags->size()); + #endif + Serial.print("Saved Airtags:"); + Serial.println((String)airtags->size()); + } +} + void WiFiScan::RunLoadAPList() { #ifdef HAS_SD File file = sd_obj.getFile("/APs_0.log"); diff --git a/esp32_marauder/WiFiScan.h b/esp32_marauder/WiFiScan.h index 3cf52fa61..c72907c8c 100644 --- a/esp32_marauder/WiFiScan.h +++ b/esp32_marauder/WiFiScan.h @@ -415,6 +415,8 @@ class WiFiScan void RunLoadSSIDList(); void RunSaveAPList(bool save_as = true); void RunLoadAPList(); + void RunSaveATList(bool save_as = true); + void RunLoadATList(); void channelHop(); uint8_t currentScanMode = 0; void main(uint32_t currentTime); diff --git a/esp32_marauder/utils.h b/esp32_marauder/utils.h index a9e6ad69e..d7e683a65 100644 --- a/esp32_marauder/utils.h +++ b/esp32_marauder/utils.h @@ -3,6 +3,7 @@ #define utils_h #include +#include struct mac_addr { unsigned char bytes[6]; @@ -13,6 +14,56 @@ struct Station { bool selected; }; +String byteArrayToHexString(const std::vector& byteArray) { + String result; + + for (size_t i = 0; i < byteArray.size(); i++) { + // Append the byte in "0xXX" format + result += "0x"; + if (byteArray[i] < 0x10) { + result += "0"; // Add leading zero for single-digit hex values + } + result += String(byteArray[i], HEX); + + // Add a space between bytes, but not at the end + if (i < byteArray.size() - 1) { + result += " "; + } + } + + return result; +} + +std::vector hexStringToByteArray(const String& hexString) { + std::vector byteArray; + + // Split the input string by spaces + int startIndex = 0; + while (startIndex < hexString.length()) { + // Find the next space or end of string + int spaceIndex = hexString.indexOf(' ', startIndex); + + // If no space is found, process the last token + if (spaceIndex == -1) { + spaceIndex = hexString.length(); + } + + // Extract the "0xXX" part + String byteString = hexString.substring(startIndex, spaceIndex); + + // Convert "0xXX" to an integer and store it in the vector + if (byteString.startsWith("0x") || byteString.startsWith("0X")) { + uint8_t byte = strtol(byteString.c_str() + 2, nullptr, 16); + byteArray.push_back(byte); + } + + // Move the start index to the next byte + startIndex = spaceIndex + 1; + } + + return byteArray; +} + void generateRandomName(char *name, size_t length) { static const char alphabet[] = "abcdefghijklmnopqrstuvwxyz"; From 79f8c0ec52e744dce5f2b67702c372ba028c36b0 Mon Sep 17 00:00:00 2001 From: Just Call Me Koko Date: Sat, 14 Dec 2024 22:15:58 -0500 Subject: [PATCH 05/12] Fix battery monitor stuff for non battery things --- esp32_marauder/BatteryInterface.cpp | 89 +++++++++++++++-------------- esp32_marauder/configs.h | 4 +- 2 files changed, 48 insertions(+), 45 deletions(-) diff --git a/esp32_marauder/BatteryInterface.cpp b/esp32_marauder/BatteryInterface.cpp index 816b915f3..d6b566544 100644 --- a/esp32_marauder/BatteryInterface.cpp +++ b/esp32_marauder/BatteryInterface.cpp @@ -24,65 +24,68 @@ void BatteryInterface::RunSetup() { byte error; byte addr; - Wire.begin(I2C_SDA, I2C_SCL); + #ifdef HAS_BATTERY - Serial.println("Checking for battery monitors..."); + Wire.begin(I2C_SDA, I2C_SCL); - Wire.beginTransmission(IP5306_ADDR); - error = Wire.endTransmission(); + Serial.println("Checking for battery monitors..."); - if (error == 0) { - Serial.println("Detected IP5306"); - this->has_ip5306 = true; - this->i2c_supported = true; - } - - Wire.beginTransmission(MAX17048_ADDR); - error = Wire.endTransmission(); + Wire.beginTransmission(IP5306_ADDR); + error = Wire.endTransmission(); - if (error == 0) { - if (maxlipo.begin()) { - Serial.println("Detected MAX17048"); - this->has_max17048 = true; + if (error == 0) { + Serial.println("Detected IP5306"); + this->has_ip5306 = true; this->i2c_supported = true; } - } - /*for(addr = 1; addr < 127; addr++ ) { - Wire.beginTransmission(addr); + Wire.beginTransmission(MAX17048_ADDR); error = Wire.endTransmission(); - if (error == 0) - { - Serial.print("I2C device found at address 0x"); - - if (addr<16) - Serial.print("0"); - - Serial.println(addr,HEX); - - if (addr == IP5306_ADDR) { - this->has_ip5306 = true; + if (error == 0) { + if (maxlipo.begin()) { + Serial.println("Detected MAX17048"); + this->has_max17048 = true; this->i2c_supported = true; } + } - if (addr == MAX17048_ADDR) { - if (maxlipo.begin()) { - Serial.println("Detected MAX17048"); - this->has_max17048 = true; + /*for(addr = 1; addr < 127; addr++ ) { + Wire.beginTransmission(addr); + error = Wire.endTransmission(); + + if (error == 0) + { + Serial.print("I2C device found at address 0x"); + + if (addr<16) + Serial.print("0"); + + Serial.println(addr,HEX); + + if (addr == IP5306_ADDR) { + this->has_ip5306 = true; this->i2c_supported = true; } + + if (addr == MAX17048_ADDR) { + if (maxlipo.begin()) { + Serial.println("Detected MAX17048"); + this->has_max17048 = true; + this->i2c_supported = true; + } + } } - } - }*/ + }*/ - /*if (this->maxlipo.begin()) { - Serial.println("Detected MAX17048"); - this->has_max17048 = true; - this->i2c_supported = true; - }*/ - - this->initTime = millis(); + /*if (this->maxlipo.begin()) { + Serial.println("Detected MAX17048"); + this->has_max17048 = true; + this->i2c_supported = true; + }*/ + + this->initTime = millis(); + #endif } int8_t BatteryInterface::getBatteryLevel() { diff --git a/esp32_marauder/configs.h b/esp32_marauder/configs.h index a6ade7365..872a5fab3 100644 --- a/esp32_marauder/configs.h +++ b/esp32_marauder/configs.h @@ -12,10 +12,10 @@ //#define MARAUDER_V4 //#define MARAUDER_V6 //#define MARAUDER_V6_1 - #define MARAUDER_V7 + //#define MARAUDER_V7 //#define MARAUDER_KIT //#define GENERIC_ESP32 - //#define MARAUDER_FLIPPER + #define MARAUDER_FLIPPER //#define ESP32_LDDB //#define MARAUDER_DEV_BOARD_PRO //#define XIAO_ESP32_S3 From d1d74949d0211e7c4fba17bc65c914ec9a3944f5 Mon Sep 17 00:00:00 2001 From: Just Call Me Koko Date: Sat, 14 Dec 2024 22:23:11 -0500 Subject: [PATCH 06/12] Add adafruit max1704x library to build --- .github/workflows/build_push.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/workflows/build_push.yml b/.github/workflows/build_push.yml index a47a52460..3531930e1 100644 --- a/.github/workflows/build_push.yml +++ b/.github/workflows/build_push.yml @@ -150,6 +150,13 @@ jobs: ref: 8.1.0 path: CustomEspSoftwareSerial + - name: Install Adafruit_MAX1704X + uses: actions/checkout@v2 + with: + repository: adafruit/Adafruit_MAX1704X + ref: 1.0.2 + path: CustomAdafruit_MAX1704X + #- name: Search for SD lib in arduino-esp32 v2.0.4 # run: | # find /home/runner/work/ESP32Marauder/ESP32Marauder/2.0.4arduino-esp32 -name "SD" From 8ea2604761f7cbb9e06ac6c5a7341e0d35e90d24 Mon Sep 17 00:00:00 2001 From: Just Call Me Koko Date: Sat, 14 Dec 2024 22:39:00 -0500 Subject: [PATCH 07/12] Add adafruit busio to build --- .github/workflows/build_push.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/workflows/build_push.yml b/.github/workflows/build_push.yml index 3531930e1..9e745fc1a 100644 --- a/.github/workflows/build_push.yml +++ b/.github/workflows/build_push.yml @@ -150,6 +150,13 @@ jobs: ref: 8.1.0 path: CustomEspSoftwareSerial + - name: Install Adafruit_BusIO + uses: actions/checkout@v2 + with: + repository: adafruit/Adafruit_BusIO + ref: 1.15.0 + path: CustomAdafruit_BusIO + - name: Install Adafruit_MAX1704X uses: actions/checkout@v2 with: From 362189ed786323e3757aba5449903f150f4fdbdf Mon Sep 17 00:00:00 2001 From: Just Call Me Koko Date: Sun, 15 Dec 2024 00:05:35 -0500 Subject: [PATCH 08/12] Fix highlighted buttons with touch screens --- esp32_marauder/MenuFunctions.cpp | 55 +++++++++++++++++--------------- esp32_marauder/configs.h | 4 +-- 2 files changed, 32 insertions(+), 27 deletions(-) diff --git a/esp32_marauder/MenuFunctions.cpp b/esp32_marauder/MenuFunctions.cpp index 8c27b6e35..7e5bc7d4f 100644 --- a/esp32_marauder/MenuFunctions.cpp +++ b/esp32_marauder/MenuFunctions.cpp @@ -587,26 +587,28 @@ void MenuFunctions::buttonNotSelected(uint8_t b, int8_t x) { } void MenuFunctions::buttonSelected(uint8_t b, int8_t x) { - if (x == -1) - x = b; + #ifndef HAS_ILI9341 + if (x == -1) + x = b; - #ifdef HAS_MINI_SCREEN - display_obj.tft.setFreeFont(NULL); - display_obj.key[b].drawButton(true, current_menu->list->get(x).name); - #endif + #ifdef HAS_MINI_SCREEN + display_obj.tft.setFreeFont(NULL); + display_obj.key[b].drawButton(true, current_menu->list->get(x).name); + #endif - #ifdef HAS_FULL_SCREEN - display_obj.tft.setFreeFont(MENU_FONT); - display_obj.key[b].drawButton(true, current_menu->list->get(x).name); - if (current_menu->list->get(x).name != text09) - display_obj.tft.drawXBitmap(0, - KEY_Y + x * (KEY_H + KEY_SPACING_Y) - (ICON_H / 2), - menu_icons[current_menu->list->get(x).icon], - ICON_W, - ICON_H, - TFT_BLACK, - current_menu->list->get(x).color); - display_obj.tft.setFreeFont(NULL); + #ifdef HAS_FULL_SCREEN + display_obj.tft.setFreeFont(MENU_FONT); + display_obj.key[b].drawButton(true, current_menu->list->get(x).name); + if (current_menu->list->get(x).name != text09) + display_obj.tft.drawXBitmap(0, + KEY_Y + x * (KEY_H + KEY_SPACING_Y) - (ICON_H / 2), + menu_icons[current_menu->list->get(x).icon], + ICON_W, + ICON_H, + TFT_BLACK, + current_menu->list->get(x).color); + display_obj.tft.setFreeFont(NULL); + #endif #endif } @@ -2626,13 +2628,16 @@ void MenuFunctions::displayCurrentMenu(uint8_t start_index) for (uint8_t i = start_index; i < current_menu->list->size(); i++) { #ifdef HAS_FULL_SCREEN - if ((current_menu->list->get(i).selected) || (current_menu->selected == i)) { - Serial.println("Selected button: " + (String)current_menu->list->get(i).name); - display_obj.key[i].drawButton(true, current_menu->list->get(i).name); - } - else { - display_obj.key[i].drawButton(false, current_menu->list->get(i).name); - } + #ifndef HAS_ILI9341 + if ((current_menu->list->get(i).selected) || (current_menu->selected == i)) { + display_obj.key[i].drawButton(true, current_menu->list->get(i).name); + } + else { + display_obj.key[i].drawButton(false, current_menu->list->get(i).name); + } + #else + display_obj.key[i].drawButton(false, current_menu->list->get(i).name); + #endif if (current_menu->list->get(i).name != text09) display_obj.tft.drawXBitmap(0, diff --git a/esp32_marauder/configs.h b/esp32_marauder/configs.h index 872a5fab3..17f828a46 100644 --- a/esp32_marauder/configs.h +++ b/esp32_marauder/configs.h @@ -11,11 +11,11 @@ //#define MARAUDER_MINI //#define MARAUDER_V4 //#define MARAUDER_V6 - //#define MARAUDER_V6_1 + #define MARAUDER_V6_1 //#define MARAUDER_V7 //#define MARAUDER_KIT //#define GENERIC_ESP32 - #define MARAUDER_FLIPPER + //#define MARAUDER_FLIPPER //#define ESP32_LDDB //#define MARAUDER_DEV_BOARD_PRO //#define XIAO_ESP32_S3 From 372e88b16f70299cefaf3c45e842082503785e2b Mon Sep 17 00:00:00 2001 From: Just Call Me Koko Date: Sun, 15 Dec 2024 17:15:53 -0500 Subject: [PATCH 09/12] Add v7 to build workflow --- .github/workflows/build_push.yml | 63 +++++++ User_Setup_Select.h | 38 +++- User_Setup_dual_nrf24.h | 315 +++++++++++++++++++++++++++++++ esp32_marauder/configs.h | 4 +- 4 files changed, 413 insertions(+), 7 deletions(-) create mode 100644 User_Setup_dual_nrf24.h diff --git a/.github/workflows/build_push.yml b/.github/workflows/build_push.yml index 9e745fc1a..17a0526e4 100644 --- a/.github/workflows/build_push.yml +++ b/.github/workflows/build_push.yml @@ -176,6 +176,7 @@ jobs: cp User_Setup_og_marauder.h CustomTFT_eSPI/ cp User_Setup_marauder_m5stickc.h CustomTFT_eSPI/ cp User_Setup_marauder_rev_feather.h CustomTFT_eSPI/ + cp User_Setup_dual_nrf24.h CustomTFT_eSPI/ pwd ls -la ls -la CustomTFT_eSPI @@ -225,6 +226,7 @@ jobs: sed -i 's/^ #define MARAUDER_V4/ \/\/#define MARAUDER_V4/' esp32_marauder/configs.h sed -i 's/^ #define MARAUDER_V6/ \/\/#define MARAUDER_V6/' esp32_marauder/configs.h sed -i 's/^ #define MARAUDER_V6_1/ \/\/#define MARAUDER_V6_1/' esp32_marauder/configs.h + sed -i 's/^ #define MARAUDER_V7/ \/\/#define MARAUDER_V7/' esp32_marauder/configs.h sed -i 's/^ #define MARAUDER_KIT/ \/\/#define MARAUDER_KIT/' esp32_marauder/configs.h sed -i 's/^ #define GENERIC_ESP32/ \/\/#define GENERIC_ESP32/' esp32_marauder/configs.h sed -i 's/^ \/\/#define MARAUDER_FLIPPER/ #define MARAUDER_FLIPPER/' esp32_marauder/configs.h @@ -269,6 +271,7 @@ jobs: sed -i 's/^ \/\/#define MARAUDER_V4/ #define MARAUDER_V4/' esp32_marauder/configs.h sed -i 's/^ #define MARAUDER_V6/ \/\/#define MARAUDER_V6/' esp32_marauder/configs.h sed -i 's/^ #define MARAUDER_V6_1/ \/\/#define MARAUDER_V6_1/' esp32_marauder/configs.h + sed -i 's/^ #define MARAUDER_V7/ \/\/#define MARAUDER_V7/' esp32_marauder/configs.h sed -i 's/^ #define MARAUDER_KIT/ \/\/#define MARAUDER_KIT/' esp32_marauder/configs.h sed -i 's/^ #define GENERIC_ESP32/ \/\/#define GENERIC_ESP32/' esp32_marauder/configs.h sed -i 's/^ #define MARAUDER_FLIPPER/ \/\/#define MARAUDER_FLIPPER/' esp32_marauder/configs.h @@ -298,6 +301,7 @@ jobs: sed -i 's/^ #define MARAUDER_V4/ \/\/#define MARAUDER_V4/' esp32_marauder/configs.h sed -i 's/^ \/\/#define MARAUDER_V6/ #define MARAUDER_V6/' esp32_marauder/configs.h sed -i 's/^ #define MARAUDER_V6_1/ \/\/#define MARAUDER_V6_1/' esp32_marauder/configs.h + sed -i 's/^ #define MARAUDER_V7/ \/\/#define MARAUDER_V7/' esp32_marauder/configs.h sed -i 's/^ #define MARAUDER_KIT/ \/\/#define MARAUDER_KIT/' esp32_marauder/configs.h sed -i 's/^ #define GENERIC_ESP32/ \/\/#define GENERIC_ESP32/' esp32_marauder/configs.h sed -i 's/^ #define MARAUDER_FLIPPER/ \/\/#define MARAUDER_FLIPPER/' esp32_marauder/configs.h @@ -341,6 +345,7 @@ jobs: sed -i 's/^ #define MARAUDER_V4/ \/\/#define MARAUDER_V4/' esp32_marauder/configs.h sed -i 's/^ #define MARAUDER_V6/ \/\/#define MARAUDER_V6/' esp32_marauder/configs.h sed -i 's/^ \/\/#define MARAUDER_V6_1/ #define MARAUDER_V6_1/' esp32_marauder/configs.h + sed -i 's/^ #define MARAUDER_V7/ \/\/#define MARAUDER_V7/' esp32_marauder/configs.h sed -i 's/^ #define MARAUDER_KIT/ \/\/#define MARAUDER_KIT/' esp32_marauder/configs.h sed -i 's/^ #define GENERIC_ESP32/ \/\/#define GENERIC_ESP32/' esp32_marauder/configs.h sed -i 's/^ #define MARAUDER_FLIPPER/ \/\/#define MARAUDER_FLIPPER/' esp32_marauder/configs.h @@ -369,6 +374,7 @@ jobs: sed -i 's/^ #define MARAUDER_V4/ \/\/#define MARAUDER_V4/' esp32_marauder/configs.h sed -i 's/^ #define MARAUDER_V6/ \/\/#define MARAUDER_V6/' esp32_marauder/configs.h sed -i 's/^ #define MARAUDER_V6_1/ \/\/#define MARAUDER_V6_1/' esp32_marauder/configs.h + sed -i 's/^ #define MARAUDER_V7/ \/\/#define MARAUDER_V7/' esp32_marauder/configs.h sed -i 's/^ \/\/#define MARAUDER_KIT/ #define MARAUDER_KIT/' esp32_marauder/configs.h sed -i 's/^ #define GENERIC_ESP32/ \/\/#define GENERIC_ESP32/' esp32_marauder/configs.h sed -i 's/^ #define MARAUDER_FLIPPER/ \/\/#define MARAUDER_FLIPPER/' esp32_marauder/configs.h @@ -397,6 +403,7 @@ jobs: sed -i 's/^ #define MARAUDER_V4/ \/\/#define MARAUDER_V4/' esp32_marauder/configs.h sed -i 's/^ #define MARAUDER_V6/ \/\/#define MARAUDER_V6/' esp32_marauder/configs.h sed -i 's/^ #define MARAUDER_V6_1/ \/\/#define MARAUDER_V6_1/' esp32_marauder/configs.h + sed -i 's/^ #define MARAUDER_V7/ \/\/#define MARAUDER_V7/' esp32_marauder/configs.h sed -i 's/^ #define MARAUDER_KIT/ \/\/#define MARAUDER_KIT/' esp32_marauder/configs.h sed -i 's/^ #define GENERIC_ESP32/ \/\/#define GENERIC_ESP32/' esp32_marauder/configs.h sed -i 's/^ #define MARAUDER_FLIPPER/ \/\/#define MARAUDER_FLIPPER/' esp32_marauder/configs.h @@ -423,6 +430,7 @@ jobs: sed -i 's/^ #define MARAUDER_V4/ \/\/#define MARAUDER_V4/' esp32_marauder/configs.h sed -i 's/^ #define MARAUDER_V6/ \/\/#define MARAUDER_V6/' esp32_marauder/configs.h sed -i 's/^ #define MARAUDER_V6_1/ \/\/#define MARAUDER_V6_1/' esp32_marauder/configs.h + sed -i 's/^ #define MARAUDER_V7/ \/\/#define MARAUDER_V7/' esp32_marauder/configs.h sed -i 's/^ #define MARAUDER_KIT/ \/\/#define MARAUDER_KIT/' esp32_marauder/configs.h sed -i 's/^ #define GENERIC_ESP32/ \/\/#define GENERIC_ESP32/' esp32_marauder/configs.h sed -i 's/^ #define MARAUDER_FLIPPER/ \/\/#define MARAUDER_FLIPPER/' esp32_marauder/configs.h @@ -449,6 +457,7 @@ jobs: sed -i 's/^ #define MARAUDER_V4/ \/\/#define MARAUDER_V4/' esp32_marauder/configs.h sed -i 's/^ #define MARAUDER_V6/ \/\/#define MARAUDER_V6/' esp32_marauder/configs.h sed -i 's/^ #define MARAUDER_V6_1/ \/\/#define MARAUDER_V6_1/' esp32_marauder/configs.h + sed -i 's/^ #define MARAUDER_V7/ \/\/#define MARAUDER_V7/' esp32_marauder/configs.h sed -i 's/^ #define MARAUDER_KIT/ \/\/#define MARAUDER_KIT/' esp32_marauder/configs.h sed -i 's/^ #define GENERIC_ESP32/ \/\/#define GENERIC_ESP32/' esp32_marauder/configs.h sed -i 's/^ #define MARAUDER_FLIPPER/ \/\/#define MARAUDER_FLIPPER/' esp32_marauder/configs.h @@ -479,6 +488,7 @@ jobs: sed -i 's/^ #define MARAUDER_V4/ \/\/#define MARAUDER_V4/' esp32_marauder/configs.h sed -i 's/^ #define MARAUDER_V6/ \/\/#define MARAUDER_V6/' esp32_marauder/configs.h sed -i 's/^ #define MARAUDER_V6_1/ \/\/#define MARAUDER_V6_1/' esp32_marauder/configs.h + sed -i 's/^ #define MARAUDER_V7/ \/\/#define MARAUDER_V7/' esp32_marauder/configs.h sed -i 's/^ #define MARAUDER_KIT/ \/\/#define MARAUDER_KIT/' esp32_marauder/configs.h sed -i 's/^ #define GENERIC_ESP32/ \/\/#define GENERIC_ESP32/' esp32_marauder/configs.h sed -i 's/^ #define MARAUDER_FLIPPER/ \/\/#define MARAUDER_FLIPPER/' esp32_marauder/configs.h @@ -511,6 +521,7 @@ jobs: sed -i 's/^ #define MARAUDER_V4/ \/\/#define MARAUDER_V4/' esp32_marauder/configs.h sed -i 's/^ #define MARAUDER_V6/ \/\/#define MARAUDER_V6/' esp32_marauder/configs.h sed -i 's/^ #define MARAUDER_V6_1/ \/\/#define MARAUDER_V6_1/' esp32_marauder/configs.h + sed -i 's/^ #define MARAUDER_V7/ \/\/#define MARAUDER_V7/' esp32_marauder/configs.h sed -i 's/^ #define MARAUDER_KIT/ \/\/#define MARAUDER_KIT/' esp32_marauder/configs.h sed -i 's/^ #define GENERIC_ESP32/ \/\/#define GENERIC_ESP32/' esp32_marauder/configs.h sed -i 's/^ #define MARAUDER_FLIPPER/ \/\/#define MARAUDER_FLIPPER/' esp32_marauder/configs.h @@ -530,6 +541,39 @@ jobs: - name: Rename Marauder Marauder Rev Feather run: | mv ./esp32_marauder/build/esp32.esp32.esp32s2/esp32_marauder.ino.bin ./esp32_marauder/build/esp32.esp32.esp32s2/esp32_marauder.rev_feather.bin + + - name: Configure TFT_eSPI and configs.h for Marauder v7 + run: | + pwd + find /home/runner/ -name "*TFT_eSPI*" + sed -i 's/^\/\/#include /#include /' /home/runner/Arduino/libraries/CustomTFT_eSPI/User_Setup_Select.h + sed -i 's/^#include /\/\/#include /' /home/runner/Arduino/libraries/CustomTFT_eSPI/User_Setup_Select.h + sed -i 's/^#include /\/\/#include /' /home/runner/Arduino/libraries/CustomTFT_eSPI/User_Setup_Select.h + sed -i 's/^ #define MARAUDER_REV_FEATHER/ \/\/#define MARAUDER_REV_FEATHER/' esp32_marauder/configs.h + sed -i 's/^ #define MARAUDER_MINI/ \/\/#define MARAUDER_MINI/' esp32_marauder/configs.h + sed -i 's/^ #define MARAUDER_V4/ \/\/#define MARAUDER_V4/' esp32_marauder/configs.h + sed -i 's/^ #define MARAUDER_V6/ \/\/#define MARAUDER_V6/' esp32_marauder/configs.h + sed -i 's/^ #define MARAUDER_V6_1/ \/\/#define MARAUDER_V6_1/' esp32_marauder/configs.h + sed -i 's/^ \/\/#define MARAUDER_V7/ #define MARAUDER_V7/' esp32_marauder/configs.h + sed -i 's/^ #define MARAUDER_KIT/ \/\/#define MARAUDER_KIT/' esp32_marauder/configs.h + sed -i 's/^ #define GENERIC_ESP32/ \/\/#define GENERIC_ESP32/' esp32_marauder/configs.h + sed -i 's/^ #define MARAUDER_FLIPPER/ \/\/#define MARAUDER_FLIPPER/' esp32_marauder/configs.h + sed -i 's/^ #define ESP32_LDDB/ \/\/#define ESP32_LDDB/' esp32_marauder/configs.h + sed -i 's/^ #define MARAUDER_DEV_BOARD_PRO/ \/\/#define MARAUDER_DEV_BOARD_PRO/' esp32_marauder/configs.h + sed -i 's/^ #define MARAUDER_M5STICKC/ \/\/#define MARAUDER_M5STICKC/' esp32_marauder/configs.h + + - name: Build Marauder for Marauder v7 + uses: ArminJo/arduino-test-compile@v3.2.1 + with: + sketch-names: esp32_marauder.ino + arduino-board-fqbn: esp32:esp32:d32:PartitionScheme=min_spiffs + extra-arduino-cli-args: "--warnings none" + arduino-platform: esp32:esp32@2.0.11 + platform-url: https://github.com/espressif/arduino-esp32/releases/download/2.0.11/package_esp32_dev_index.json + + - name: Rename Marauder Marauder v7 + run: | + mv ./esp32_marauder/build/esp32.esp32.d32/esp32_marauder.ino.bin ./esp32_marauder/build/esp32.esp32.d32/esp32_marauder.marauder_v7.bin - name: Display finished bins run: | @@ -612,6 +656,13 @@ jobs: path: ./esp32_marauder/build/esp32.esp32.esp32s2/esp32_marauder.rev_feather.bin retention-days: 5 + - name: 'Upload Marauder v7 Artifact' + uses: actions/upload-artifact@v3 + with: + name: esp32_marauder.marauder_v7.bin + path: ./esp32_marauder/build/esp32.esp32.d32/esp32_marauder.marauder_v7.bin + retention-days: 5 + - name: Create Release id: create_release uses: actions/create-release@v1 @@ -755,3 +806,15 @@ jobs: asset_name: esp32_marauder.rev_feather.bin asset_content_type: application/bin if: github.event_name != 'pull_request' + + - name: Upload Marauder v7 Asset + id: upload-marauder-v7-release-asset + uses: actions/upload-release-asset@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ steps.create_release.outputs.upload_url }} + asset_path: ./esp32_marauder/build/esp32.esp32.d32/esp32_marauder.marauder_v7.bin + asset_name: esp32_marauder.marauder_v7.bin + asset_content_type: application/bin + if: github.event_name != 'pull_request' diff --git a/User_Setup_Select.h b/User_Setup_Select.h index 82c61d38a..74c42f937 100644 --- a/User_Setup_Select.h +++ b/User_Setup_Select.h @@ -21,10 +21,14 @@ //#include // Default setup is root library folder -#include +//#include +//#include //#include -//#include //#include +//#include +//#include +#include +//#include //#include // Setup file configured for my ILI9341 //#include // Setup file configured for my ST7735 @@ -51,7 +55,8 @@ //#include // Setup file for ESP8266 and ILI9488 SPI bus TFT //#include // Setup file for ESP32 and ILI9488 SPI bus TFT -//#include // Setup file for ESP32 and TTGO T4 (BTC) ILI9341 SPI bus TFT +//#include // Setup file for ESP32 and TTGO T4 version 1.2 +//#include // Setup file for ESP32 and TTGO T4 version 1.3 //#include // Setup file for ESP32 and TTGO TM ST7789 SPI bus TFT //#include // Setup file configured for ST7789 240 x 240 //#include // Setup file for ESP32 and TTGO T-Display ST7789V SPI bus TFT @@ -63,9 +68,20 @@ //#include // Setup for Nucleo board //#include // Setup for Nucleo board and parallel display //#include // Setup for Nucleo board and parallel display -//#include // Setup for "Blue Pill" +//#include // Setup for "Blue/Black Pill" + +//#include // Setup for Nucleo board + +//#include // Setup for Nucleo board and parallel display +//#include // Setup for STM32 port A parallel display + +//#include // Setup file configured for ESP32 and RPi TFT with touch //#include // Setup file configured for my ST7735S 80x160 +//#include // Setup file for ESP32 and TTGO T-CameraPlus ST7789 SPI bus TFT 240x240 +//#include // Setup file for ESP32 and TTGO T-Watch ST7789 SPI bus TFT 240x240 + +//#include // Setup file for ESP32 and SSD1963 TFT display //#include // Setup file for ESP8266 and ST7789 135 x 240 TFT @@ -149,8 +165,20 @@ #elif defined (RM68140_DRIVER) #include "TFT_Drivers/RM68140_Defines.h" #define TFT_DRIVER 0x6814 +#elif defined (SSD1963_480_DRIVER) + #include "TFT_Drivers/SSD1963_Defines.h" + #define TFT_DRIVER 0x1963 +#elif defined (SSD1963_800_DRIVER) + #include "TFT_Drivers/SSD1963_Defines.h" + #define TFT_DRIVER 0x1963 +#elif defined (SSD1963_800ALT_DRIVER) + #include "TFT_Drivers/SSD1963_Defines.h" + #define TFT_DRIVER 0x1963 +#elif defined (SSD1963_800BD_DRIVER) + #include "TFT_Drivers/SSD1963_Defines.h" + #define TFT_DRIVER 0x1963 // <<<<<<<<<<<<<<<<<<<<<<<< ADD NEW DRIVER HERE - // XYZZY_init.h and XYZZY_rotation.h must also be added in TFT_eSPI.c + // XYZZY_init.h and XYZZY_rotation.h must also be added in TFT_eSPI.cpp #elif defined (XYZZY_DRIVER) #include "TFT_Drivers/XYZZY_Defines.h" #define TFT_DRIVER 0x0000 diff --git a/User_Setup_dual_nrf24.h b/User_Setup_dual_nrf24.h new file mode 100644 index 000000000..91045f9ab --- /dev/null +++ b/User_Setup_dual_nrf24.h @@ -0,0 +1,315 @@ +// USER DEFINED SETTINGS +// Set driver type, fonts to be loaded, pins used and SPI control method etc +// +// See the User_Setup_Select.h file if you wish to be able to define multiple +// setups and then easily select which setup file is used by the compiler. +// +// If this file is edited correctly then all the library example sketches should +// run without the need to make any more changes for a particular hardware setup! +// Note that some sketches are designed for a particular TFT pixel width/height + + +// ################################################################################## +// +// Section 1. Call up the right driver file and any options for it +// +// ################################################################################## + +// Display type - only define if RPi display +//#define RPI_DRIVER + +// Only define one driver, the other ones must be commented out +#define ILI9341_DRIVER // OG Marauder +//#define ST7735_DRIVER // Marauder Mini // Define additional parameters below for this display +//#define ILI9163_DRIVER // Define additional parameters below for this display +//#define S6D02A1_DRIVER +//#define RPI_ILI9486_DRIVER // 20MHz maximum SPI +//#define HX8357D_DRIVER +//#define ILI9481_DRIVER +//#define ILI9486_DRIVER +//#define ILI9488_DRIVER // WARNING: Do not connect ILI9488 display SDO to MISO if other devices share the SPI bus (TFT SDO does NOT tristate when CS is high) +//#define ST7789_DRIVER // Full configuration option, define additional parameters below for this display +//#define ST7789_2_DRIVER // Minimal configuration option, define additional parameters below for this display +//#define R61581_DRIVER +//#define RM68140_DRIVER +//#define ST7796_DRIVER + +// Some displays support SPI reads via the MISO pin, other displays have a single +// bi-directional SDA pin and the library will try to read this via the MOSI line. +// To use the SDA line for reading data from the TFT uncomment the following line: + +// #define TFT_SDA_READ // This option is for ESP32 ONLY, tested with ST7789 display only + +// For ST7789 and ILI9341 ONLY, define the colour order IF the blue and red are swapped on your display +// Try ONE option at a time to find the correct colour order for your display + +// #define TFT_RGB_ORDER TFT_RGB // Colour order Red-Green-Blue +// #define TFT_RGB_ORDER TFT_BGR // Colour order Blue-Green-Red + +// For M5Stack ESP32 module with integrated ILI9341 display ONLY, remove // in line below + +// #define M5STACK + +// For ST7789, ST7735 and ILI9163 ONLY, define the pixel width and height in portrait orientation +// #define TFT_WIDTH 80 +// #define TFT_WIDTH 128 // Marauder Mini +// #define TFT_WIDTH 240 // ST7789 240 x 240 and 240 x 320 +// #define TFT_HEIGHT 160 +// #define TFT_HEIGHT 128 // Marauder Mini +// #define TFT_HEIGHT 240 // ST7789 240 x 240 +// #define TFT_HEIGHT 320 // ST7789 240 x 320 + +// For ST7735 ONLY, define the type of display, originally this was based on the +// colour of the tab on the screen protector film but this is not always true, so try +// out the different options below if the screen does not display graphics correctly, +// e.g. colours wrong, mirror images, or tray pixels at the edges. +// Comment out ALL BUT ONE of these options for a ST7735 display driver, save this +// this User_Setup file, then rebuild and upload the sketch to the board again: + +// #define ST7735_INITB +// #define ST7735_GREENTAB +// #define ST7735_GREENTAB2 +// #define ST7735_GREENTAB3 +// #define ST7735_GREENTAB128 // For 128 x 128 display +// #define ST7735_GREENTAB160x80 // For 160 x 80 display (BGR, inverted, 26 offset) +// #define ST7735_REDTAB +// #define ST7735_BLACKTAB +// #define ST7735_REDTAB160x80 // For 160 x 80 display with 24 pixel offset + +// If colours are inverted (white shows as black) then uncomment one of the next +// 2 lines try both options, one of the options should correct the inversion. + +// #define TFT_INVERSION_ON +// #define TFT_INVERSION_OFF + +// If a backlight control signal is available then define the TFT_BL pin in Section 2 +// below. The backlight will be turned ON when tft.begin() is called, but the library +// needs to know if the LEDs are ON with the pin HIGH or LOW. If the LEDs are to be +// driven with a PWM signal or turned OFF/ON then this must be handled by the user +// sketch. e.g. with digitalWrite(TFT_BL, LOW); + +// #define TFT_BACKLIGHT_ON LOW // HIGH or LOW are options + +// ################################################################################## +// +// Section 2. Define the pins that are used to interface with the display here +// +// ################################################################################## + +// We must use hardware SPI, a minimum of 3 GPIO pins is needed. +// Typical setup for ESP8266 NodeMCU ESP-12 is : +// +// Display SDO/MISO to NodeMCU pin D6 (or leave disconnected if not reading TFT) +// Display LED to NodeMCU pin VIN (or 5V, see below) +// Display SCK to NodeMCU pin D5 +// Display SDI/MOSI to NodeMCU pin D7 +// Display DC (RS/AO)to NodeMCU pin D3 +// Display RESET to NodeMCU pin D4 (or RST, see below) +// Display CS to NodeMCU pin D8 (or GND, see below) +// Display GND to NodeMCU pin GND (0V) +// Display VCC to NodeMCU 5V or 3.3V +// +// The TFT RESET pin can be connected to the NodeMCU RST pin or 3.3V to free up a control pin +// +// The DC (Data Command) pin may be labeled AO or RS (Register Select) +// +// With some displays such as the ILI9341 the TFT CS pin can be connected to GND if no more +// SPI devices (e.g. an SD Card) are connected, in this case comment out the #define TFT_CS +// line below so it is NOT defined. Other displays such at the ST7735 require the TFT CS pin +// to be toggled during setup, so in these cases the TFT_CS line must be defined and connected. +// +// The NodeMCU D0 pin can be used for RST +// +// +// Note: only some versions of the NodeMCU provide the USB 5V on the VIN pin +// If 5V is not available at a pin you can use 3.3V but backlight brightness +// will be lower. + + +// ###### EDIT THE PIN NUMBERS IN THE LINES FOLLOWING TO SUIT YOUR ESP8266 SETUP ###### + +// For NodeMCU - use pin numbers in the form PIN_Dx where Dx is the NodeMCU pin designation +//#define TFT_CS PIN_D8 // Chip select control pin D8 +//#define TFT_DC PIN_D3 // Data Command control pin +//#define TFT_RST PIN_D4 // Reset pin (could connect to NodeMCU RST, see next line) +//#define TFT_RST -1 // Set TFT_RST to -1 if the display RESET is connected to NodeMCU RST or 3.3V + +//#define TFT_BL PIN_D1 // LED back-light (only for ST7789 with backlight control pin) + +//#define TOUCH_CS PIN_D2 // Chip select pin (T_CS) of touch screen + +//#define TFT_WR PIN_D2 // Write strobe for modified Raspberry Pi TFT only + + +// ###### FOR ESP8266 OVERLAP MODE EDIT THE PIN NUMBERS IN THE FOLLOWING LINES ###### + +// Overlap mode shares the ESP8266 FLASH SPI bus with the TFT so has a performance impact +// but saves pins for other functions. It is best not to connect MISO as some displays +// do not tristate that line wjen chip select is high! +// On NodeMCU 1.0 SD0=MISO, SD1=MOSI, CLK=SCLK to connect to TFT in overlap mode +// On NodeMCU V3 S0 =MISO, S1 =MOSI, S2 =SCLK +// In ESP8266 overlap mode the following must be defined + +//#define TFT_SPI_OVERLAP + +// In ESP8266 overlap mode the TFT chip select MUST connect to pin D3 +//#define TFT_CS PIN_D3 +//#define TFT_DC PIN_D5 // Data Command control pin +//#define TFT_RST PIN_D4 // Reset pin (could connect to NodeMCU RST, see next line) +//#define TFT_RST -1 // Set TFT_RST to -1 if the display RESET is connected to NodeMCU RST or 3.3V + + +// ###### EDIT THE PIN NUMBERS IN THE LINES FOLLOWING TO SUIT YOUR ESP32 SETUP ###### + +// For ESP32 Dev board (only tested with ILI9341 display) +// The hardware SPI can be mapped to any pins + +// Marauder Mini +/* +#define TFT_CS 17 // Chip select control pin D8 +#define TFT_DC 16 // Data Command control pin +#define TFT_RST 5 // Reset pin (could connect to NodeMCU RST, see next line) +//#define TFT_MISO 19 +//#define TFT_MOSI 23 +//#define TFT_SCLK 18 +//#define TFT_BL 32 +*/ + +// ESP32 Marauder +#define TFT_CS 17 // Chip select control pin D8 +#define TFT_DC 26 // Data Command control pin +#define TFT_RST -1 // Reset pin (could connect to NodeMCU RST, see next line) +#define TOUCH_CS -1 +//#define TFT_MISO 16 +#define TFT_MOSI 23 +#define TFT_SCLK 18 +#define TFT_BL 32 + +//#define TOUCH_CS 21 // Chip select pin (T_CS) of touch screen + +///////////////////////////// + +// ESP32 Centauri +/* +#define TFT_MISO 19 +#define TFT_MOSI 23 +#define TFT_SCLK 18 +#define TFT_CS 27 // Chip select control pin +#define TFT_DC 26 // Data Command control pin +#define TFT_RST 5 // Reset pin (could connect to RST pin) +//#define TFT_RST -1 // Set TFT_RST to -1 if display RESET is connected to ESP32 board RST + +#define TFT_BL 32 // LED back-light (only for ST7789 with backlight control pin) + +#define TOUCH_CS 21 // Chip select pin (T_CS) of touch screen +*/ +///////////////////////////// + +//#define TFT_WR 22 // Write strobe for modified Raspberry Pi TFT only + +// For the M5Stack module use these #define lines +//#define TFT_MISO 19 +//#define TFT_MOSI 23 +//#define TFT_SCLK 18 +//#define TFT_CS 14 // Chip select control pin +//#define TFT_DC 27 // Data Command control pin +//#define TFT_RST 33 // Reset pin (could connect to Arduino RESET pin) +//#define TFT_BL 32 // LED back-light (required for M5Stack) + +// ###### EDIT THE PINs BELOW TO SUIT YOUR ESP32 PARALLEL TFT SETUP ###### + +// The library supports 8 bit parallel TFTs with the ESP32, the pin +// selection below is compatible with ESP32 boards in UNO format. +// Wemos D32 boards need to be modified, see diagram in Tools folder. +// Only ILI9481 and ILI9341 based displays have been tested! + +// Parallel bus is only supported on ESP32 +// Uncomment line below to use ESP32 Parallel interface instead of SPI + +//#define ESP32_PARALLEL + +// The ESP32 and TFT the pins used for testing are: +//#define TFT_CS 33 // Chip select control pin (library pulls permanently low +//#define TFT_DC 15 // Data Command control pin - must use a pin in the range 0-31 +//#define TFT_RST 32 // Reset pin, toggles on startup + +//#define TFT_WR 4 // Write strobe control pin - must use a pin in the range 0-31 +//#define TFT_RD 2 // Read strobe control pin + +//#define TFT_D0 12 // Must use pins in the range 0-31 for the data bus +//#define TFT_D1 13 // so a single register write sets/clears all bits. +//#define TFT_D2 26 // Pins can be randomly assigned, this does not affect +//#define TFT_D3 25 // TFT screen update performance. +//#define TFT_D4 17 +//#define TFT_D5 16 +//#define TFT_D6 27 +//#define TFT_D7 14 + + +// ################################################################################## +// +// Section 3. Define the fonts that are to be used here +// +// ################################################################################## + +// Comment out the #defines below with // to stop that font being loaded +// The ESP8366 and ESP32 have plenty of memory so commenting out fonts is not +// normally necessary. If all fonts are loaded the extra FLASH space required is +// about 17Kbytes. To save FLASH space only enable the fonts you need! + +#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH +#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters +#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters +#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm +#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:-. +#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. +//#define LOAD_FONT8N // Font 8. Alternative to Font 8 above, slightly narrower, so 3 digits fit a 160 pixel TFT +#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts + +// Comment out the #define below to stop the SPIFFS filing system and smooth font code being loaded +// this will save ~20kbytes of FLASH +#define SMOOTH_FONT + + +// ################################################################################## +// +// Section 4. Other options +// +// ################################################################################## + +// Define the SPI clock frequency, this affects the graphics rendering speed. Too +// fast and the TFT driver will not keep up and display corruption appears. +// With an ILI9341 display 40MHz works OK, 80MHz sometimes fails +// With a ST7735 display more than 27MHz may not work (spurious pixels and lines) +// With an ILI9163 display 27 MHz works OK. + +// #define SPI_FREQUENCY 1000000 +//#define SPI_FREQUENCY 5000000 +// #define SPI_FREQUENCY 10000000 +// #define SPI_FREQUENCY 20000000 +#define SPI_FREQUENCY 27000000 // Marauder // Actually sets it to 26.67MHz = 80/3 +// #define SPI_FREQUENCY 40000000 +// #define SPI_FREQUENCY 80000000 + +// Optional reduced SPI frequency for reading TFT +#define SPI_READ_FREQUENCY 20000000 + +// The XPT2046 requires a lower SPI clock rate of 2.5MHz so we define that here: +#define SPI_TOUCH_FREQUENCY 2500000 + +// The ESP32 has 2 free SPI ports i.e. VSPI and HSPI, the VSPI is the default. +// If the VSPI port is in use and pins are not accessible (e.g. TTGO T-Beam) +// then uncomment the following line: +//#define USE_HSPI_PORT + +// Comment out the following #define if "SPI Transactions" do not need to be +// supported. When commented out the code size will be smaller and sketches will +// run slightly faster, so leave it commented out unless you need it! + +// Transaction support is needed to work with SD library but not needed with TFT_SdFat +// Transaction support is required if other SPI devices are connected. + +// Transactions are automatically enabled by the library for an ESP32 (to use HAL mutex) +// so changing it here has no effect + +// #define SUPPORT_TRANSACTIONS diff --git a/esp32_marauder/configs.h b/esp32_marauder/configs.h index 17f828a46..a6ade7365 100644 --- a/esp32_marauder/configs.h +++ b/esp32_marauder/configs.h @@ -11,8 +11,8 @@ //#define MARAUDER_MINI //#define MARAUDER_V4 //#define MARAUDER_V6 - #define MARAUDER_V6_1 - //#define MARAUDER_V7 + //#define MARAUDER_V6_1 + #define MARAUDER_V7 //#define MARAUDER_KIT //#define GENERIC_ESP32 //#define MARAUDER_FLIPPER From bb90994359c062728442b3247c12468bda5cb72b Mon Sep 17 00:00:00 2001 From: Just Call Me Koko Date: Tue, 17 Dec 2024 18:22:37 -0500 Subject: [PATCH 10/12] Add Marauder v7 enclosure components --- mechanical/V7/Back.stl | Bin 0 -> 310984 bytes mechanical/V7/Battery Cover.stl | Bin 0 -> 20284 bytes mechanical/V7/Front.stl | Bin 0 -> 269784 bytes mechanical/V7/Joystick.stl | Bin 0 -> 528884 bytes mechanical/V7/Power Switch.stl | Bin 0 -> 17484 bytes 5 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 mechanical/V7/Back.stl create mode 100644 mechanical/V7/Battery Cover.stl create mode 100644 mechanical/V7/Front.stl create mode 100644 mechanical/V7/Joystick.stl create mode 100644 mechanical/V7/Power Switch.stl diff --git a/mechanical/V7/Back.stl b/mechanical/V7/Back.stl new file mode 100644 index 0000000000000000000000000000000000000000..ec26bf617ebe5a0120b080f3706b2d1a27bd5f11 GIT binary patch literal 310984 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

uFtk#G!?R z^{x#d=w&^vYmYdzkg(ph0R+9Qr*$!w^xM_MQWM|V0K)oU@v@%QwMQIUNLcUM0D@lD z)4KMELkkJ(j~hVH%X+P~lGYf-e#aiHHdc)|^QoiHk7yyGUQiJwGLWEGYGW92iUutt zQZE2eG)T}(ZLAt`iUutt)C(%2Xpo?n+E_K>6b)KPs25a3(I7!DwXqmW`s=8Pr6#^y z6Gel0sTW1QYGc)iQ|dtr3H5@CC>kW_rB+#uI7NdN66ysNQ8Y-u)p0Vb<6P~ivo^6#ki%CRI=^gjb zP|--xEB>AceTBrnH?VNW+&)XgOV0s$>YjRYvuAwm4Woa1|9%Un&0V&N780Mo@Y3#q z+i&Z2s)(f|=oNG-mA-UhUs_l=>%5Cs(Ly5L5lF=QUwP8#u;+bXVfJOeUP=pzUEXzB z_q0!LlS}nt`_jqgKmX#wL0jIuiUhslE#stdz-wPM`p6T%x$uHjn=hk<#IL`8d3Vh6 z$7PL+>`Nzq_~dUFHeUDO)gcHB(OrAjW3$G2 z_N9}rZom2XT~}|ungqS#z2v0vy)&ORdgiU$jGz7beU{Ne;>5!~-yMAAR$1d1`})&o z&)seO!zVp%H3@pfo5e}v9{X;h{Wt#meV)3E77`o3c~$p@k31%8SpFl^aSammiZ_{) zhSgzYb@6)8LgInZD

!rY$;*Eix>ng~Z)2zpi`E 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 DJKFp) literal 0 HcmV?d00001 diff --git a/mechanical/V7/Battery Cover.stl b/mechanical/V7/Battery Cover.stl new file mode 100644 index 0000000000000000000000000000000000000000..a932d72575c02c811c8be0cedde7b3026c67dfe0 GIT binary patch literal 20284 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 YYOgogt=RqSI!X9*A|qPAzG=<>0cg7>jQ{`u literal 0 HcmV?d00001 diff --git a/mechanical/V7/Front.stl b/mechanical/V7/Front.stl new file mode 100644 index 0000000000000000000000000000000000000000..73f23485f88b7850a1d88681c9a548ce20b9b351 GIT binary patch literal 269784 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 R|2ot@j`;3t#e|kU@&AN6ulN7} literal 0 HcmV?d00001 diff --git a/mechanical/V7/Joystick.stl b/mechanical/V7/Joystick.stl new file mode 100644 index 0000000000000000000000000000000000000000..b357327f467862493d35ce3c7c86307a5ca18e26 GIT binary patch literal 528884 zcmb51bzD?U|Na$0r1V%Qc6T7^?XB+4XYImPRKQkju~4wPyF0N(>|D-4>`pv(cZ(h9 zch2k?o@?*lU%%(C`}JJcd&ga1_dRoF&NgomSUq307Pa%0D_PaoU8p$wyM9T5aS1P4M61|1V$us!dlMh%;d% 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

iF(EOl`$uu~^hd{cX|E*MqGif= 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

lDF+#Lffv#A8pg0P*KfH%xo-ZuQQ45^U{0_*krO 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 N{F}%q_Sn*i{{y{5F}(l) literal 0 HcmV?d00001 diff --git a/mechanical/V7/Power Switch.stl b/mechanical/V7/Power Switch.stl new file mode 100644 index 0000000000000000000000000000000000000000..3fa3900d010f8540e9cae939dbe3073934fec7bf GIT binary patch literal 17484 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 K&>Y8bJ^l}iV?HPV literal 0 HcmV?d00001 From ff686284f86beb7ec4b5db67f84ecf01bf608682 Mon Sep 17 00:00:00 2001 From: Just Call Me Koko <25190487+justcallmekoko@users.noreply.github.com> Date: Tue, 17 Dec 2024 18:23:53 -0500 Subject: [PATCH 11/12] Update README.md --- README.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/README.md b/README.md index 3c087d063..249254c64 100644 --- a/README.md +++ b/README.md @@ -15,9 +15,6 @@ Twitter Instagram

- I sell on Tindie -
- Twitch WillStunForFood

[![Build and Push](https://github.com/justcallmekoko/ESP32Marauder/actions/workflows/build_push.yml/badge.svg)](https://github.com/justcallmekoko/ESP32Marauder/actions/workflows/build_push.yml) From 49711acfdebb2af5223742668f818d510e3bbf76 Mon Sep 17 00:00:00 2001 From: Just Call Me Koko <25190487+justcallmekoko@users.noreply.github.com> Date: Tue, 17 Dec 2024 18:24:16 -0500 Subject: [PATCH 12/12] Add files via upload --- pictures/jcmk_square_sticker_500px.png | Bin 0 -> 5939 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 pictures/jcmk_square_sticker_500px.png diff --git a/pictures/jcmk_square_sticker_500px.png b/pictures/jcmk_square_sticker_500px.png new file mode 100644 index 0000000000000000000000000000000000000000..f509d43bf00eb0cc90b92cf878d0317cfe906284 GIT binary patch literal 5939 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