From f82b6c5ce3c9042173eabbb4c28bf37930775f8d Mon Sep 17 00:00:00 2001 From: Just Call Me Koko Date: Fri, 23 Jan 2026 15:21:15 -0500 Subject: [PATCH 1/3] Update all standard ESP32 NimBLE --- esp32_marauder/WiFiScan.cpp | 52 ++++++++++++++++++------------------- esp32_marauder/WiFiScan.h | 2 +- esp32_marauder/configs.h | 15 +++++++++++ 3 files changed, 42 insertions(+), 27 deletions(-) diff --git a/esp32_marauder/WiFiScan.cpp b/esp32_marauder/WiFiScan.cpp index 96d1638..1fa0834 100644 --- a/esp32_marauder/WiFiScan.cpp +++ b/esp32_marauder/WiFiScan.cpp @@ -75,7 +75,7 @@ extern "C" { memcpy(&AdvData_Raw[i], Name, name_len); i += name_len; - #ifndef HAS_DUAL_BAND + #ifndef HAS_NIMBLE_2 AdvData.addData(std::string((char *)AdvData_Raw, 7 + name_len)); #else AdvData.addData(AdvData_Raw, 7 + name_len); @@ -106,7 +106,7 @@ extern "C" { //AdvData_Raw[i++] = 0x10; // Type ??? //esp_fill_random(&AdvData_Raw[i], 3); - #ifndef HAS_DUAL_BAND + #ifndef HAS_NIMBLE_2 AdvData.addData(std::string((char *)AdvData_Raw, 11)); #else AdvData.addData(AdvData_Raw, 11); @@ -140,7 +140,7 @@ extern "C" { AdvData_Raw[i++] = (uint8_t)random(256); AdvData_Raw[i++] = 0x00; - #ifndef HAS_DUAL_BAND + #ifndef HAS_NIMBLE_2 AdvData.addData(std::string((char *)AdvData_Raw, 21)); #else AdvData.addData(AdvData_Raw, 21); @@ -170,7 +170,7 @@ extern "C" { AdvData_Raw[i++] = 0x43; AdvData_Raw[i++] = (model >> 0x00) & 0xFF; // Watch Model / Color (?) - #ifndef HAS_DUAL_BAND + #ifndef HAS_NIMBLE_2 AdvData.addData(std::string((char *)AdvData_Raw, 15)); #else AdvData.addData(AdvData_Raw, 15); @@ -197,7 +197,7 @@ extern "C" { AdvData_Raw[i++] = 0x0A; AdvData_Raw[i++] = (rand() % 120) - 100; // -100 to +20 dBm - #ifndef HAS_DUAL_BAND + #ifndef HAS_NIMBLE_2 AdvData.addData(std::string((char *)AdvData_Raw, 14)); #else AdvData.addData(AdvData_Raw, 14); @@ -249,7 +249,7 @@ extern "C" { AdvData_Raw[i++] = 0x80; // Add the constructed Advertisement Data to the BLE advertisement - #ifndef HAS_DUAL_BAND + #ifndef HAS_NIMBLE_2 AdvData.addData(std::string((char *)AdvData_Raw, i)); #else AdvData.addData(AdvData_Raw, i); @@ -261,7 +261,7 @@ extern "C" { case Airtag: { for (int i = 0; i < airtags->size(); i++) { if (airtags->get(i).selected) { - #ifndef HAS_DUAL_BAND + #ifndef HAS_NIMBLE_2 AdvData.addData(std::string((char*)airtags->get(i).payload.data(), airtags->get(i).payloadSize)); #else AdvData.addData(airtags->get(i).payload.data(), airtags->get(i).payloadSize); @@ -286,7 +286,7 @@ extern "C" { //// https://github.com/Spooks4576 - #ifndef HAS_DUAL_BAND + #ifndef HAS_NIMBLE_2 class bluetoothScanAllCallback: public NimBLEAdvertisedDeviceCallbacks { void onResult(NimBLEAdvertisedDevice *advertisedDevice) { @@ -306,7 +306,7 @@ extern "C" { (wifi_scan_obj.currentScanMode == BT_SCAN_AIRTAG_MON)) { //Serial.println("Getting payload length..."); //Serial.flush(); - #ifndef HAS_DUAL_BAND + #ifndef HAS_NIMBLE_2 uint8_t* payLoad = advertisedDevice->getPayload(); size_t len = advertisedDevice->getPayloadLength(); if (!payLoad) { @@ -401,7 +401,7 @@ extern "C" { } } else if (wifi_scan_obj.currentScanMode == BT_SCAN_FLIPPER) { - #ifndef HAS_DUAL_BAND + #ifndef HAS_NIMBLE_2 uint8_t* payLoad = advertisedDevice->getPayload(); size_t len = advertisedDevice->getPayloadLength(); #else @@ -595,7 +595,7 @@ extern "C" { } } else if (wifi_scan_obj.currentScanMode == BT_SCAN_FLOCK) { - #ifndef HAS_DUAL_BAND + #ifndef HAS_NIMBLE_2 uint8_t* payLoad = advertisedDevice->getPayload(); size_t len = advertisedDevice->getPayloadLength(); #else @@ -770,7 +770,7 @@ extern "C" { return; } - #ifndef HAS_DUAL_BAND + #ifndef HAS_NIMBLE_2 uint8_t* payLoad = advertisedDevice->getPayload(); size_t len = advertisedDevice->getPayloadLength(); #else @@ -1018,7 +1018,7 @@ extern "C" { if ((wifi_scan_obj.currentScanMode == BT_SCAN_AIRTAG) || (wifi_scan_obj.currentScanMode == BT_SCAN_AIRTAG_MON)) { - #ifndef HAS_DUAL_BAND + #ifndef HAS_NIMBLE_2 uint8_t* payLoad = advertisedDevice->getPayload(); size_t len = advertisedDevice->getPayloadLength(); if (!payLoad) { @@ -1074,7 +1074,7 @@ extern "C" { AirTag airtag; airtag.mac = mac; - #ifndef HAS_DUAL_BAND + #ifndef HAS_NIMBLE_2 airtag.payload.assign(payLoad, payLoad + len); airtag.payloadSize = len; #else @@ -1103,7 +1103,7 @@ extern "C" { } } else if (wifi_scan_obj.currentScanMode == BT_SCAN_FLIPPER) { - #ifndef HAS_DUAL_BAND + #ifndef HAS_NIMBLE_2 uint8_t* payLoad = advertisedDevice->getPayload(); size_t len = advertisedDevice->getPayloadLength(); #else @@ -1279,7 +1279,7 @@ extern "C" { } } else if (wifi_scan_obj.currentScanMode == BT_SCAN_FLOCK) { - #ifndef HAS_DUAL_BAND + #ifndef HAS_NIMBLE_2 uint8_t* payLoad = advertisedDevice->getPayload(); size_t len = advertisedDevice->getPayloadLength(); #else @@ -1454,7 +1454,7 @@ extern "C" { return; } - #ifndef HAS_DUAL_BAND + #ifndef HAS_NIMBLE_2 uint8_t* payLoad = advertisedDevice->getPayload(); size_t len = advertisedDevice->getPayloadLength(); #else @@ -2594,7 +2594,7 @@ bool WiFiScan::mac_cmp(uint8_t addr1[6], uint8_t addr2[6]) { #ifdef HAS_BT void WiFiScan::copyNimbleMac(const BLEAddress &addr, unsigned char out[6]) { - #ifndef HAS_DUAL_BAND + #ifndef HAS_NIMBLE_2 const uint8_t* bytes = addr.getNative(); // NimBLE gives MAC as uint8_t[6] #else const ble_addr_t* base_addr = addr.getBase(); @@ -4868,7 +4868,7 @@ void WiFiScan::executeWarDrive() { // Start a BLE scan if (currentScanMode == WIFI_SCAN_WAR_DRIVE) { #ifdef HAS_BT - #ifdef HAS_DUAL_BAND + #ifdef HAS_NIMBLE_2 pBLEScan->start(500, false, false); // Scan is in MS #else pBLEScan->start(1, scanCompleteCB, false); // Scan is in Seconds @@ -5522,7 +5522,7 @@ void WiFiScan::RunBluetoothScan(uint8_t scan_mode, uint16_t color) display_obj.setupScrollArea(display_obj.TOP_FIXED_AREA_2, BOT_FIXED_AREA); #endif if (scan_mode == BT_SCAN_ALL) - #ifndef HAS_DUAL_BAND + #ifndef HAS_NIMBLE_2 pBLEScan->setAdvertisedDeviceCallbacks(new bluetoothScanAllCallback(), false); #else pBLEScan->setScanCallbacks(new bluetoothScanAllCallback(), false); @@ -5541,7 +5541,7 @@ void WiFiScan::RunBluetoothScan(uint8_t scan_mode, uint16_t color) if ((scan_mode == BT_SCAN_AIRTAG) || (scan_mode == BT_SCAN_AIRTAG_MON)) this->clearAirtags(); - #ifndef HAS_DUAL_BAND + #ifndef HAS_NIMBLE_2 pBLEScan->setAdvertisedDeviceCallbacks(new bluetoothScanAllCallback(), true); #else pBLEScan->setScanCallbacks(new bluetoothScanAllCallback(), true); @@ -5590,13 +5590,13 @@ void WiFiScan::RunBluetoothScan(uint8_t scan_mode, uint16_t color) display_obj.setupScrollArea(display_obj.TOP_FIXED_AREA_2, BOT_FIXED_AREA); #endif if (scan_mode != BT_SCAN_WAR_DRIVE_CONT) - #ifndef HAS_DUAL_BAND + #ifndef HAS_NIMBLE_2 pBLEScan->setAdvertisedDeviceCallbacks(new bluetoothScanAllCallback(), false); #else pBLEScan->setScanCallbacks(new bluetoothScanAllCallback(), false); #endif else - #ifndef HAS_DUAL_BAND + #ifndef HAS_NIMBLE_2 pBLEScan->setAdvertisedDeviceCallbacks(new bluetoothScanAllCallback(), true); #else pBLEScan->setScanCallbacks(new bluetoothScanAllCallback(), true); @@ -5617,7 +5617,7 @@ void WiFiScan::RunBluetoothScan(uint8_t scan_mode, uint16_t color) display_obj.tft.setTextColor(TFT_BLACK, TFT_DARKGREY); display_obj.setupScrollArea(display_obj.TOP_FIXED_AREA_2, BOT_FIXED_AREA); #endif - #ifndef HAS_DUAL_BAND + #ifndef HAS_NIMBLE_2 pBLEScan->setAdvertisedDeviceCallbacks(new bluetoothScanAllCallback(), false); #else pBLEScan->setScanCallbacks(new bluetoothScanAllCallback(), false); @@ -5640,7 +5640,7 @@ void WiFiScan::RunBluetoothScan(uint8_t scan_mode, uint16_t color) display_obj.tft.setTextColor(TFT_CYAN, TFT_BLACK); display_obj.setupScrollArea(display_obj.TOP_FIXED_AREA_2, BOT_FIXED_AREA); #endif - #ifndef HAS_DUAL_BAND + #ifndef HAS_NIMBLE_2 pBLEScan->setAdvertisedDeviceCallbacks(new bluetoothScanAllCallback(), false); #else pBLEScan->setScanCallbacks(new bluetoothScanAllCallback(), false); @@ -5649,7 +5649,7 @@ void WiFiScan::RunBluetoothScan(uint8_t scan_mode, uint16_t color) } else if ((scan_mode == WIFI_SCAN_WAR_DRIVE) || (scan_mode == WIFI_SCAN_DETECT_FOLLOW)) { - #ifndef HAS_DUAL_BAND + #ifndef HAS_NIMBLE_2 pBLEScan->setAdvertisedDeviceCallbacks(new bluetoothScanAllCallback(), true); #else pBLEScan->setScanCallbacks(new bluetoothScanAllCallback(), true); diff --git a/esp32_marauder/WiFiScan.h b/esp32_marauder/WiFiScan.h index 6daf3dc..60642d3 100644 --- a/esp32_marauder/WiFiScan.h +++ b/esp32_marauder/WiFiScan.h @@ -40,7 +40,7 @@ #include "esp_system.h" #include "esp_mac.h" #endif -#if defined(HAS_BT) && !defined(HAS_DUAL_BAND) +#if defined(HAS_BT) && !defined(HAS_NIMBLE_2) #include "esp_bt.h" #endif #ifdef HAS_SCREEN diff --git a/esp32_marauder/configs.h b/esp32_marauder/configs.h index 9ce5275..8749eb0 100644 --- a/esp32_marauder/configs.h +++ b/esp32_marauder/configs.h @@ -140,6 +140,7 @@ #define USE_SD #define HAS_TEMP_SENSOR #define HAS_GPS + #define HAS_NIMBLE_2 #endif #ifdef MARAUDER_V7 @@ -157,6 +158,7 @@ #define USE_SD #define HAS_TEMP_SENSOR #define HAS_GPS + #define HAS_NIMBLE_2 #endif #ifdef MARAUDER_V7_1 @@ -175,6 +177,7 @@ #define HAS_TEMP_SENSOR #define HAS_GPS #define HAS_PSRAM + #define HAS_NIMBLE_2 #endif #ifdef MARAUDER_REV_FEATHER @@ -207,6 +210,7 @@ #define USE_SD #define HAS_TEMP_SENSOR #define HAS_GPS + #define HAS_NIMBLE_2 #endif #if defined(MARAUDER_V6) || defined(MARAUDER_V6_1) @@ -224,6 +228,7 @@ #define USE_SD #define HAS_TEMP_SENSOR #define HAS_GPS + #define HAS_NIMBLE_2 #endif #ifdef MARAUDER_CYD_MICRO @@ -243,6 +248,7 @@ #define HAS_TEMP_SENSOR #define HAS_GPS #define HAS_CYD_TOUCH + #define HAS_NIMBLE_2 #endif #ifdef MARAUDER_CYD_2USB @@ -263,6 +269,7 @@ #define HAS_GPS #define HAS_CYD_TOUCH #define HAS_CYD_PORTRAIT + #define HAS_NIMBLE_2 #endif #ifdef MARAUDER_CYD_3_5_INCH @@ -284,6 +291,7 @@ //#define HAS_CYD_TOUCH #define HAS_SEPARATE_SD #define HAS_CYD_PORTRAIT + #define HAS_NIMBLE_2 #endif #ifdef MARAUDER_CYD_GUITION @@ -303,6 +311,7 @@ #define HAS_TEMP_SENSOR #define HAS_GPS //#define HAS_CYD_TOUCH + #define HAS_NIMBLE_2 #endif #ifdef MARAUDER_KIT @@ -319,6 +328,7 @@ #define USE_SD #define HAS_TEMP_SENSOR #define HAS_GPS + #define HAS_NIMBLE_2 #endif #ifdef GENERIC_ESP32 @@ -332,6 +342,7 @@ //#define HAS_SD //#define HAS_TEMP_SENSOR //#define HAS_GPS + #define HAS_NIMBLE_2 #endif #ifdef MARAUDER_FLIPPER @@ -378,6 +389,7 @@ #define USE_SD //#define HAS_TEMP_SENSOR //#define HAS_GPS + #define HAS_NIMBLE_2 #endif #ifdef MARAUDER_DEV_BOARD_PRO @@ -392,6 +404,7 @@ #define USE_SD //#define HAS_TEMP_SENSOR #define HAS_GPS + #define HAS_NIMBLE_2 #endif #ifdef XIAO_ESP32_S3 @@ -423,6 +436,7 @@ #define HAS_DUAL_BAND //#define HAS_PSRAM //#define HAS_TEMP_SENSOR + #define HAS_NIMBLE_2 #endif #ifdef MARAUDER_V8 @@ -443,6 +457,7 @@ #define HAS_DUAL_BAND #define HAS_PSRAM //#define HAS_TEMP_SENSOR + #define HAS_NIMBLE_2 #endif //// END BOARD FEATURES From 4ea8a44931eb5d720a907e120ec77350d9c70ff7 Mon Sep 17 00:00:00 2001 From: Just Call Me Koko Date: Fri, 23 Jan 2026 15:35:50 -0500 Subject: [PATCH 2/3] Update NimBLE in build workflow --- .github/workflows/build_parallel.yml | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/workflows/build_parallel.yml b/.github/workflows/build_parallel.yml index 7520b82..e6b5f65 100644 --- a/.github/workflows/build_parallel.yml +++ b/.github/workflows/build_parallel.yml @@ -19,21 +19,21 @@ jobs: board: - { name: "Flipper Zero WiFi Dev Board", flag: "MARAUDER_FLIPPER", fbqn: "esp32:esp32:esp32s2:PartitionScheme=min_spiffs,FlashSize=4M,PSRAM=enabled", file_name: "flipper", tft: false, tft_file: "", build_dir: "esp32s2", addr: "0x1000", idf_ver: "2.0.11", nimble_ver: "1.3.8", esp_async: "bigbrodude6119/ESPAsyncWebServer", esp_async_ver: "master" } - { name: "Flipper Zero Multi Board S3", flag: "MARAUDER_MULTIBOARD_S3", fbqn: "esp32:esp32:esp32s3:PartitionScheme=min_spiffs,FlashSize=4M", file_name: "multiboardS3", tft: false, tft_file: "", build_dir: "esp32s3", addr: "0x0", idf_ver: "2.0.11", nimble_ver: "1.3.8", esp_async: "bigbrodude6119/ESPAsyncWebServer", esp_async_ver: "master" } - - { name: "OG Marauder", flag: "MARAUDER_V4", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "old_hardware", tft: true, tft_file: "User_Setup_og_marauder.h", build_dir: "d32", addr: "0x1000", idf_ver: "2.0.11", nimble_ver: "1.3.8", esp_async: "bigbrodude6119/ESPAsyncWebServer", esp_async_ver: "master" } - - { name: "Marauder v6", flag: "MARAUDER_V6", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "v6", tft: true, tft_file: "User_Setup_og_marauder.h", build_dir: "d32", addr: "0x1000", idf_ver: "2.0.11", nimble_ver: "1.3.8", esp_async: "bigbrodude6119/ESPAsyncWebServer", esp_async_ver: "master" } - - { name: "Marauder v6.1", flag: "MARAUDER_V6_1", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "v6_1", tft: true, tft_file: "User_Setup_og_marauder.h", build_dir: "d32", addr: "0x1000", idf_ver: "2.0.11", nimble_ver: "1.3.8", esp_async: "bigbrodude6119/ESPAsyncWebServer", esp_async_ver: "master" } - - { name: "Marauder Kit", flag: "MARAUDER_KIT", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "kit", tft: true, tft_file: "User_Setup_og_marauder.h", build_dir: "d32", addr: "0x1000", idf_ver: "2.0.11", nimble_ver: "1.3.8", esp_async: "bigbrodude6119/ESPAsyncWebServer", esp_async_ver: "master" } - - { name: "Marauder Mini", flag: "MARAUDER_MINI", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "mini", tft: true, tft_file: "User_Setup_marauder_mini.h", build_dir: "d32", addr: "0x1000", idf_ver: "2.0.11", nimble_ver: "1.3.8", esp_async: "bigbrodude6119/ESPAsyncWebServer", esp_async_ver: "master" } - - { name: "ESP32 LDDB", flag: "ESP32_LDDB", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "esp32_lddb", tft: false, tft_file: "", build_dir: "d32", addr: "0x1000", idf_ver: "2.0.11", nimble_ver: "1.3.8", esp_async: "bigbrodude6119/ESPAsyncWebServer", esp_async_ver: "master" } - - { name: "Marauder Dev Board Pro", flag: "MARAUDER_DEV_BOARD_PRO", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "marauder_dev_board_pro", tft: false, tft_file: "", build_dir: "d32", addr: "0x1000", idf_ver: "2.0.11", nimble_ver: "1.3.8", esp_async: "bigbrodude6119/ESPAsyncWebServer", esp_async_ver: "master" } + - { name: "OG Marauder", flag: "MARAUDER_V4", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "old_hardware", tft: true, tft_file: "User_Setup_og_marauder.h", build_dir: "d32", addr: "0x1000", idf_ver: "2.0.11", nimble_ver: "master", esp_async: "bigbrodude6119/ESPAsyncWebServer", esp_async_ver: "master" } + - { name: "Marauder v6", flag: "MARAUDER_V6", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "v6", tft: true, tft_file: "User_Setup_og_marauder.h", build_dir: "d32", addr: "0x1000", idf_ver: "2.0.11", nimble_ver: "master", esp_async: "bigbrodude6119/ESPAsyncWebServer", esp_async_ver: "master" } + - { name: "Marauder v6.1", flag: "MARAUDER_V6_1", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "v6_1", tft: true, tft_file: "User_Setup_og_marauder.h", build_dir: "d32", addr: "0x1000", idf_ver: "2.0.11", nimble_ver: "master", esp_async: "bigbrodude6119/ESPAsyncWebServer", esp_async_ver: "master" } + - { name: "Marauder Kit", flag: "MARAUDER_KIT", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "kit", tft: true, tft_file: "User_Setup_og_marauder.h", build_dir: "d32", addr: "0x1000", idf_ver: "2.0.11", nimble_ver: "master", esp_async: "bigbrodude6119/ESPAsyncWebServer", esp_async_ver: "master" } + - { name: "Marauder Mini", flag: "MARAUDER_MINI", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "mini", tft: true, tft_file: "User_Setup_marauder_mini.h", build_dir: "d32", addr: "0x1000", idf_ver: "2.0.11", nimble_ver: "master", esp_async: "bigbrodude6119/ESPAsyncWebServer", esp_async_ver: "master" } + - { name: "ESP32 LDDB", flag: "ESP32_LDDB", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "esp32_lddb", tft: false, tft_file: "", build_dir: "d32", addr: "0x1000", idf_ver: "2.0.11", nimble_ver: "master", esp_async: "bigbrodude6119/ESPAsyncWebServer", esp_async_ver: "master" } + - { name: "Marauder Dev Board Pro", flag: "MARAUDER_DEV_BOARD_PRO", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "marauder_dev_board_pro", tft: false, tft_file: "", build_dir: "d32", addr: "0x1000", idf_ver: "2.0.11", nimble_ver: "master", esp_async: "bigbrodude6119/ESPAsyncWebServer", esp_async_ver: "master" } - { name: "M5StickCPlus", flag: "MARAUDER_M5STICKC", fbqn: "esp32:esp32:m5stick-c:PartitionScheme=min_spiffs", file_name: "m5stickc_plus", tft: true, tft_file: "User_Setup_marauder_m5stickc.h", build_dir: "m5stick-c", addr: "0x1000", idf_ver: "2.0.11", nimble_ver: "1.3.8", esp_async: "bigbrodude6119/ESPAsyncWebServer", esp_async_ver: "master" } - { name: "M5StickCPlus 2", flag: "MARAUDER_M5STICKCP2", fbqn: "esp32:esp32:m5stick-c:PartitionScheme=min_spiffs", file_name: "m5stickc_plus2", tft: true, tft_file: "User_Setup_marauder_m5stickcp2.h", build_dir: "m5stick-c", addr: "0x1000", idf_ver: "2.0.11", nimble_ver: "1.3.8", esp_async: "bigbrodude6119/ESPAsyncWebServer", esp_async_ver: "master" } - { name: "Rev Feather", flag: "MARAUDER_REV_FEATHER", fbqn: "esp32:esp32:esp32s2:PartitionScheme=min_spiffs,FlashSize=4M,PSRAM=enabled", file_name: "rev_feather", tft: true, tft_file: "User_Setup_marauder_rev_feather.h", build_dir: "esp32s2", addr: "0x1000", idf_ver: "2.0.11", nimble_ver: "1.3.8", esp_async: "bigbrodude6119/ESPAsyncWebServer", esp_async_ver: "master" } - - { name: "Marauder v7", flag: "MARAUDER_V7", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "marauder_v7", tft: true, tft_file: "User_Setup_dual_nrf24.h", build_dir: "d32", addr: "0x1000", idf_ver: "2.0.11", nimble_ver: "1.3.8", esp_async: "bigbrodude6119/ESPAsyncWebServer", esp_async_ver: "master" } - - { name: "Marauder CYD 2432S028", flag: "MARAUDER_CYD_MICRO", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "cyd_2432S028", tft: true, tft_file: "User_Setup_cyd_micro.h", build_dir: "d32", addr: "0x1000", idf_ver: "2.0.11", nimble_ver: "1.3.8", esp_async: "bigbrodude6119/ESPAsyncWebServer", esp_async_ver: "master" } - - { name: "Marauder CYD 2432S024 GUITION", flag: "MARAUDER_CYD_GUITION", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "cyd_2432S024_guition", tft: true, tft_file: "User_Setup_cyd_guition.h", build_dir: "d32", addr: "0x1000", idf_ver: "2.0.11", nimble_ver: "1.3.8", esp_async: "bigbrodude6119/ESPAsyncWebServer", esp_async_ver: "master" } - - { name: "Marauder CYD 2432S028 2 USB", flag: "MARAUDER_CYD_2USB", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "cyd_2432S028_2usb", tft: true, tft_file: "User_Setup_cyd_2usb.h", build_dir: "d32", addr: "0x1000", idf_ver: "2.0.11", nimble_ver: "1.3.8", esp_async: "bigbrodude6119/ESPAsyncWebServer", esp_async_ver: "master" } - - { name: "Marauder CYD 3.5inch", flag: "MARAUDER_CYD_3_5_INCH", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "cyd_3_5_inch", tft: true, tft_file: "User_Setup_cyd_3_5_inch.h", build_dir: "d32", addr: "0x1000", idf_ver: "2.0.11", nimble_ver: "1.3.8", esp_async: "bigbrodude6119/ESPAsyncWebServer", esp_async_ver: "master" } + - { name: "Marauder v7", flag: "MARAUDER_V7", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "marauder_v7", tft: true, tft_file: "User_Setup_dual_nrf24.h", build_dir: "d32", addr: "0x1000", idf_ver: "2.0.11", nimble_ver: "master", esp_async: "bigbrodude6119/ESPAsyncWebServer", esp_async_ver: "master" } + - { name: "Marauder CYD 2432S028", flag: "MARAUDER_CYD_MICRO", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "cyd_2432S028", tft: true, tft_file: "User_Setup_cyd_micro.h", build_dir: "d32", addr: "0x1000", idf_ver: "2.0.11", nimble_ver: "master", esp_async: "bigbrodude6119/ESPAsyncWebServer", esp_async_ver: "master" } + - { name: "Marauder CYD 2432S024 GUITION", flag: "MARAUDER_CYD_GUITION", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "cyd_2432S024_guition", tft: true, tft_file: "User_Setup_cyd_guition.h", build_dir: "d32", addr: "0x1000", idf_ver: "2.0.11", nimble_ver: "master", esp_async: "bigbrodude6119/ESPAsyncWebServer", esp_async_ver: "master" } + - { name: "Marauder CYD 2432S028 2 USB", flag: "MARAUDER_CYD_2USB", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "cyd_2432S028_2usb", tft: true, tft_file: "User_Setup_cyd_2usb.h", build_dir: "d32", addr: "0x1000", idf_ver: "2.0.11", nimble_ver: "master", esp_async: "bigbrodude6119/ESPAsyncWebServer", esp_async_ver: "master" } + - { name: "Marauder CYD 3.5inch", flag: "MARAUDER_CYD_3_5_INCH", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "cyd_3_5_inch", tft: true, tft_file: "User_Setup_cyd_3_5_inch.h", build_dir: "d32", addr: "0x1000", idf_ver: "2.0.11", nimble_ver: "master", esp_async: "bigbrodude6119/ESPAsyncWebServer", esp_async_ver: "master" } - { name: "M5Cardputer", flag: "MARAUDER_CARDPUTER", fbqn: "esp32:esp32:esp32s3:PartitionScheme=min_spiffs,FlashSize=8M,PSRAM=disabled", file_name: "m5cardputer", tft: true, tft_file: "User_Setup_marauder_m5cardputer.h", build_dir: "esp32s3", addr: "0x1000", idf_ver: "2.0.11", nimble_ver: "1.3.8", esp_async: "bigbrodude6119/ESPAsyncWebServer", esp_async_ver: "master" } - { name: "ESP32-C5-DevKitC-1", flag: "MARAUDER_C5", fbqn: "esp32:esp32:esp32c5:FlashSize=8M,PartitionScheme=min_spiffs,PSRAM=enabled", file_name: "esp32c5devkitc1", tft: false, tft_file: "", build_dir: "esp32c5", addr: "0x2000", idf_ver: "3.3.4", nimble_ver: "master", esp_async: "bigbrodude6119/ESPAsyncWebServer", esp_async_ver: "master" } From 85c48023224f2d9377515d257fb984fcefe41d22 Mon Sep 17 00:00:00 2001 From: Just Call Me Koko Date: Fri, 23 Jan 2026 15:46:28 -0500 Subject: [PATCH 3/3] Update NimBLE in nightly build workflow --- .github/workflows/nightly_build.yml | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/.github/workflows/nightly_build.yml b/.github/workflows/nightly_build.yml index cd9a39c..cec0e9b 100644 --- a/.github/workflows/nightly_build.yml +++ b/.github/workflows/nightly_build.yml @@ -68,24 +68,23 @@ jobs: board: - { name: "Flipper Zero WiFi Dev Board", flag: "MARAUDER_FLIPPER", fbqn: "esp32:esp32:esp32s2:PartitionScheme=min_spiffs,FlashSize=4M,PSRAM=enabled", file_name: "flipper", tft: false, tft_file: "", build_dir: "esp32s2", addr: "0x1000", idf_ver: "2.0.11", nimble_ver: "1.3.8", esp_async: "bigbrodude6119/ESPAsyncWebServer", esp_async_ver: "master" } - { name: "Flipper Zero Multi Board S3", flag: "MARAUDER_MULTIBOARD_S3", fbqn: "esp32:esp32:esp32s3:PartitionScheme=min_spiffs,FlashSize=4M", file_name: "multiboardS3", tft: false, tft_file: "", build_dir: "esp32s3", addr: "0x0", idf_ver: "2.0.11", nimble_ver: "1.3.8", esp_async: "bigbrodude6119/ESPAsyncWebServer", esp_async_ver: "master" } - - { name: "OG Marauder", flag: "MARAUDER_V4", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "old_hardware", tft: true, tft_file: "User_Setup_og_marauder.h", build_dir: "d32", addr: "0x1000", idf_ver: "2.0.11", nimble_ver: "1.3.8", esp_async: "bigbrodude6119/ESPAsyncWebServer", esp_async_ver: "master" } - - { name: "Marauder v6", flag: "MARAUDER_V6", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "v6", tft: true, tft_file: "User_Setup_og_marauder.h", build_dir: "d32", addr: "0x1000", idf_ver: "2.0.11", nimble_ver: "1.3.8", esp_async: "bigbrodude6119/ESPAsyncWebServer", esp_async_ver: "master" } - - { name: "Marauder v6.1", flag: "MARAUDER_V6_1", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "v6_1", tft: true, tft_file: "User_Setup_og_marauder.h", build_dir: "d32", addr: "0x1000", idf_ver: "2.0.11", nimble_ver: "1.3.8", esp_async: "bigbrodude6119/ESPAsyncWebServer", esp_async_ver: "master" } - - { name: "Marauder Kit", flag: "MARAUDER_KIT", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "kit", tft: true, tft_file: "User_Setup_og_marauder.h", build_dir: "d32", addr: "0x1000", idf_ver: "2.0.11", nimble_ver: "1.3.8", esp_async: "bigbrodude6119/ESPAsyncWebServer", esp_async_ver: "master" } - - { name: "Marauder Mini", flag: "MARAUDER_MINI", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "mini", tft: true, tft_file: "User_Setup_marauder_mini.h", build_dir: "d32", addr: "0x1000", idf_ver: "2.0.11", nimble_ver: "1.3.8", esp_async: "bigbrodude6119/ESPAsyncWebServer", esp_async_ver: "master" } - - { name: "ESP32 LDDB", flag: "ESP32_LDDB", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "esp32_lddb", tft: false, tft_file: "", build_dir: "d32", addr: "0x1000", idf_ver: "2.0.11", nimble_ver: "1.3.8", esp_async: "bigbrodude6119/ESPAsyncWebServer", esp_async_ver: "master" } - - { name: "Marauder Dev Board Pro", flag: "MARAUDER_DEV_BOARD_PRO", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "marauder_dev_board_pro", tft: false, tft_file: "", build_dir: "d32", addr: "0x1000", idf_ver: "2.0.11", nimble_ver: "1.3.8", esp_async: "bigbrodude6119/ESPAsyncWebServer", esp_async_ver: "master" } + - { name: "OG Marauder", flag: "MARAUDER_V4", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "old_hardware", tft: true, tft_file: "User_Setup_og_marauder.h", build_dir: "d32", addr: "0x1000", idf_ver: "2.0.11", nimble_ver: "master", esp_async: "bigbrodude6119/ESPAsyncWebServer", esp_async_ver: "master" } + - { name: "Marauder v6", flag: "MARAUDER_V6", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "v6", tft: true, tft_file: "User_Setup_og_marauder.h", build_dir: "d32", addr: "0x1000", idf_ver: "2.0.11", nimble_ver: "master", esp_async: "bigbrodude6119/ESPAsyncWebServer", esp_async_ver: "master" } + - { name: "Marauder v6.1", flag: "MARAUDER_V6_1", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "v6_1", tft: true, tft_file: "User_Setup_og_marauder.h", build_dir: "d32", addr: "0x1000", idf_ver: "2.0.11", nimble_ver: "master", esp_async: "bigbrodude6119/ESPAsyncWebServer", esp_async_ver: "master" } + - { name: "Marauder Kit", flag: "MARAUDER_KIT", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "kit", tft: true, tft_file: "User_Setup_og_marauder.h", build_dir: "d32", addr: "0x1000", idf_ver: "2.0.11", nimble_ver: "master", esp_async: "bigbrodude6119/ESPAsyncWebServer", esp_async_ver: "master" } + - { name: "Marauder Mini", flag: "MARAUDER_MINI", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "mini", tft: true, tft_file: "User_Setup_marauder_mini.h", build_dir: "d32", addr: "0x1000", idf_ver: "2.0.11", nimble_ver: "master", esp_async: "bigbrodude6119/ESPAsyncWebServer", esp_async_ver: "master" } + - { name: "ESP32 LDDB", flag: "ESP32_LDDB", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "esp32_lddb", tft: false, tft_file: "", build_dir: "d32", addr: "0x1000", idf_ver: "2.0.11", nimble_ver: "master", esp_async: "bigbrodude6119/ESPAsyncWebServer", esp_async_ver: "master" } + - { name: "Marauder Dev Board Pro", flag: "MARAUDER_DEV_BOARD_PRO", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "marauder_dev_board_pro", tft: false, tft_file: "", build_dir: "d32", addr: "0x1000", idf_ver: "2.0.11", nimble_ver: "master", esp_async: "bigbrodude6119/ESPAsyncWebServer", esp_async_ver: "master" } - { name: "M5StickCPlus", flag: "MARAUDER_M5STICKC", fbqn: "esp32:esp32:m5stick-c:PartitionScheme=min_spiffs", file_name: "m5stickc_plus", tft: true, tft_file: "User_Setup_marauder_m5stickc.h", build_dir: "m5stick-c", addr: "0x1000", idf_ver: "2.0.11", nimble_ver: "1.3.8", esp_async: "bigbrodude6119/ESPAsyncWebServer", esp_async_ver: "master" } - { name: "M5StickCPlus 2", flag: "MARAUDER_M5STICKCP2", fbqn: "esp32:esp32:m5stick-c:PartitionScheme=min_spiffs", file_name: "m5stickc_plus2", tft: true, tft_file: "User_Setup_marauder_m5stickcp2.h", build_dir: "m5stick-c", addr: "0x1000", idf_ver: "2.0.11", nimble_ver: "1.3.8", esp_async: "bigbrodude6119/ESPAsyncWebServer", esp_async_ver: "master" } - { name: "Rev Feather", flag: "MARAUDER_REV_FEATHER", fbqn: "esp32:esp32:esp32s2:PartitionScheme=min_spiffs,FlashSize=4M,PSRAM=enabled", file_name: "rev_feather", tft: true, tft_file: "User_Setup_marauder_rev_feather.h", build_dir: "esp32s2", addr: "0x1000", idf_ver: "2.0.11", nimble_ver: "1.3.8", esp_async: "bigbrodude6119/ESPAsyncWebServer", esp_async_ver: "master" } - - { name: "Marauder v7", flag: "MARAUDER_V7", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "marauder_v7", tft: true, tft_file: "User_Setup_dual_nrf24.h", build_dir: "d32", addr: "0x1000", idf_ver: "2.0.11", nimble_ver: "1.3.8", esp_async: "bigbrodude6119/ESPAsyncWebServer", esp_async_ver: "master" } - - { name: "Marauder CYD 2432S028", flag: "MARAUDER_CYD_MICRO", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "cyd_2432S028", tft: true, tft_file: "User_Setup_cyd_micro.h", build_dir: "d32", addr: "0x1000", idf_ver: "2.0.11", nimble_ver: "1.3.8", esp_async: "bigbrodude6119/ESPAsyncWebServer", esp_async_ver: "master" } - - { name: "Marauder CYD 2432S024 GUITION", flag: "MARAUDER_CYD_GUITION", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "cyd_2432S024_guition", tft: true, tft_file: "User_Setup_cyd_guition.h", build_dir: "d32", addr: "0x1000", idf_ver: "2.0.11", nimble_ver: "1.3.8", esp_async: "bigbrodude6119/ESPAsyncWebServer", esp_async_ver: "master" } - - { name: "Marauder CYD 2432S028 2 USB", flag: "MARAUDER_CYD_2USB", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "cyd_2432S028_2usb", tft: true, tft_file: "User_Setup_cyd_2usb.h", build_dir: "d32", addr: "0x1000", idf_ver: "2.0.11", nimble_ver: "1.3.8", esp_async: "bigbrodude6119/ESPAsyncWebServer", esp_async_ver: "master" } - - { name: "Marauder CYD 3.5inch", flag: "MARAUDER_CYD_3_5_INCH", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "cyd_3_5_inch", tft: true, tft_file: "User_Setup_cyd_3_5_inch.h", build_dir: "d32", addr: "0x1000", idf_ver: "2.0.11", nimble_ver: "1.3.8", esp_async: "bigbrodude6119/ESPAsyncWebServer", esp_async_ver: "master" } - - { name: "Marauder v7.1", flag: "MARAUDER_V7_1", fbqn: "esp32:esp32:dfrobot_firebeetle2_esp32e:FlashSize=16M,PartitionScheme=min_spiffs,PSRAM=enabled", file_name: "marauder_v7_1", tft: true, tft_file: "User_Setup_dual_nrf24.h", build_dir: "dfrobot_firebeetle2_esp32e", addr: "0x1000", idf_ver: "2.0.11", nimble_ver: "1.3.8", esp_async: "bigbrodude6119/ESPAsyncWebServer", esp_async_ver: "master" } + - { name: "Marauder v7", flag: "MARAUDER_V7", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "marauder_v7", tft: true, tft_file: "User_Setup_dual_nrf24.h", build_dir: "d32", addr: "0x1000", idf_ver: "2.0.11", nimble_ver: "master", esp_async: "bigbrodude6119/ESPAsyncWebServer", esp_async_ver: "master" } + - { name: "Marauder CYD 2432S028", flag: "MARAUDER_CYD_MICRO", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "cyd_2432S028", tft: true, tft_file: "User_Setup_cyd_micro.h", build_dir: "d32", addr: "0x1000", idf_ver: "2.0.11", nimble_ver: "master", esp_async: "bigbrodude6119/ESPAsyncWebServer", esp_async_ver: "master" } + - { name: "Marauder CYD 2432S024 GUITION", flag: "MARAUDER_CYD_GUITION", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "cyd_2432S024_guition", tft: true, tft_file: "User_Setup_cyd_guition.h", build_dir: "d32", addr: "0x1000", idf_ver: "2.0.11", nimble_ver: "master", esp_async: "bigbrodude6119/ESPAsyncWebServer", esp_async_ver: "master" } + - { name: "Marauder CYD 2432S028 2 USB", flag: "MARAUDER_CYD_2USB", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "cyd_2432S028_2usb", tft: true, tft_file: "User_Setup_cyd_2usb.h", build_dir: "d32", addr: "0x1000", idf_ver: "2.0.11", nimble_ver: "master", esp_async: "bigbrodude6119/ESPAsyncWebServer", esp_async_ver: "master" } + - { name: "Marauder CYD 3.5inch", flag: "MARAUDER_CYD_3_5_INCH", fbqn: "esp32:esp32:d32:PartitionScheme=min_spiffs", file_name: "cyd_3_5_inch", tft: true, tft_file: "User_Setup_cyd_3_5_inch.h", build_dir: "d32", addr: "0x1000", idf_ver: "2.0.11", nimble_ver: "master", esp_async: "bigbrodude6119/ESPAsyncWebServer", esp_async_ver: "master" } - { name: "M5Cardputer", flag: "MARAUDER_CARDPUTER", fbqn: "esp32:esp32:esp32s3:PartitionScheme=min_spiffs,FlashSize=8M,PSRAM=disabled", file_name: "m5cardputer", tft: true, tft_file: "User_Setup_marauder_m5cardputer.h", build_dir: "esp32s3", addr: "0x1000", idf_ver: "2.0.11", nimble_ver: "1.3.8", esp_async: "bigbrodude6119/ESPAsyncWebServer", esp_async_ver: "master" } - - { name: "ESP32-C5-DevKitC-1", flag: "MARAUDER_C5", fbqn: "esp32:esp32:esp32c5:FlashSize=8M,PartitionScheme=min_spiffs,PSRAM=enabled", file_name: "esp32c5devkitc1", tft: false, tft_file: "", build_dir: "esp32c5", addr: "0x2000", idf_ver: "3.3.4", nimble_ver: "2.3.6", esp_async: "bigbrodude6119/ESPAsyncWebServer", esp_async_ver: "master" } + - { name: "ESP32-C5-DevKitC-1", flag: "MARAUDER_C5", fbqn: "esp32:esp32:esp32c5:FlashSize=8M,PartitionScheme=min_spiffs,PSRAM=enabled", file_name: "esp32c5devkitc1", tft: false, tft_file: "", build_dir: "esp32c5", addr: "0x2000", idf_ver: "3.3.4", nimble_ver: "master", esp_async: "bigbrodude6119/ESPAsyncWebServer", esp_async_ver: "master" } steps: - name: Checkout Code