diff --git a/esp32_marauder/GpsInterface.cpp b/esp32_marauder/GpsInterface.cpp index b1d777c..f10cfc6 100644 --- a/esp32_marauder/GpsInterface.cpp +++ b/esp32_marauder/GpsInterface.cpp @@ -12,6 +12,19 @@ HardwareSerial Serial2(GPS_SERIAL_INDEX); void GpsInterface::begin() { + #ifdef MARAUDER_MINI + pinMode(26, OUTPUT); + + delay(1); + + analogWrite(26, 243); + delay(1); + + Serial.println("Activated GPS"); + delay(100); + #endif + + Serial2.begin(9600, SERIAL_8N1, GPS_TX, GPS_RX); MicroNMEA::sendSentence(Serial2, "$PSTMSETPAR,1201,0x00000042"); @@ -19,7 +32,7 @@ void GpsInterface::begin() { MicroNMEA::sendSentence(Serial2, "$PSTMSRR"); - delay(4000); + delay(3900); if (Serial2.available()) { Serial.println("GPS Attached Successfully"); @@ -27,11 +40,17 @@ void GpsInterface::begin() { while (Serial2.available()) Serial2.read(); } + else { + this->gps_enabled = false; + Serial.println("GPS Not Found"); + } + this->type_flag=GPSTYPE_NATIVE; //enforce default this->disable_queue(); //init the queue, disabled, kill NULLs nmea.setUnknownSentenceHandler(gps_nmea_notimp); + } //passthrough for other objects diff --git a/esp32_marauder/MenuFunctions.cpp b/esp32_marauder/MenuFunctions.cpp index 6459763..fa60c8a 100644 --- a/esp32_marauder/MenuFunctions.cpp +++ b/esp32_marauder/MenuFunctions.cpp @@ -891,29 +891,31 @@ void MenuFunctions::battery2(bool initial) #else void MenuFunctions::battery(bool initial) { - uint16_t the_color; - if (battery_obj.i2c_supported) - { - // Could use int compare maybe idk - if (((String)battery_obj.battery_level != "25") && ((String)battery_obj.battery_level != "0")) - the_color = TFT_GREEN; - else - the_color = TFT_RED; + #ifdef HAS_BATTERY + uint16_t the_color; + if (battery_obj.i2c_supported) + { + // Could use int compare maybe idk + if (((String)battery_obj.battery_level != "25") && ((String)battery_obj.battery_level != "0")) + the_color = TFT_GREEN; + else + the_color = TFT_RED; - 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.drawXBitmap(186, - 0, - menu_icons[STATUS_BAT], - 16, - 16, - STATUSBAR_COLOR, - the_color); - display_obj.tft.drawString((String)battery_obj.battery_level + "%", 204, 0, 2); + 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.drawXBitmap(186, + 0, + menu_icons[STATUS_BAT], + 16, + 16, + STATUSBAR_COLOR, + the_color); + display_obj.tft.drawString((String)battery_obj.battery_level + "%", 204, 0, 2); + } } - } + #endif } void MenuFunctions::battery2(bool initial) { diff --git a/esp32_marauder/SDInterface.cpp b/esp32_marauder/SDInterface.cpp index 37c18bb..adfbbef 100644 --- a/esp32_marauder/SDInterface.cpp +++ b/esp32_marauder/SDInterface.cpp @@ -32,9 +32,9 @@ bool SDInterface::initSD() { - CS (jumper to SD Card GND Pin) */ enum { SPI_SCK = 0, SPI_MISO = 36, SPI_MOSI = 26 }; - SPIClass SPI_EXT; - SPI_EXT.begin(SPI_SCK, SPI_MISO, SPI_MOSI, SD_CS); - if (!SD.begin(SD_CS, SPI_EXT)) { + this->spiExt = new SPIClass(); + this->spiExt->begin(SPI_SCK, SPI_MISO, SPI_MOSI, SD_CS); + if (!SD.begin(SD_CS, *(this->spiExt))) { #else if (!SD.begin(SD_CS)) { #endif diff --git a/esp32_marauder/SDInterface.h b/esp32_marauder/SDInterface.h index 4bb3b75..af02262 100644 --- a/esp32_marauder/SDInterface.h +++ b/esp32_marauder/SDInterface.h @@ -26,6 +26,9 @@ extern Settings settings_obj; class SDInterface { private: +#if defined(MARAUDER_M5STICKC) + SPIClass *spiExt; +#endif bool checkDetectPin(); public: diff --git a/esp32_marauder/configs.h b/esp32_marauder/configs.h index 9f8f876..620e46e 100644 --- a/esp32_marauder/configs.h +++ b/esp32_marauder/configs.h @@ -8,9 +8,9 @@ //// BOARD TARGETS //#define MARAUDER_M5STICKC - //#define MARAUDER_MINI + #define MARAUDER_MINI //#define MARAUDER_V4 - #define MARAUDER_V6 + //#define MARAUDER_V6 //#define MARAUDER_V6_1 //#define MARAUDER_KIT //#define GENERIC_ESP32 @@ -20,7 +20,7 @@ //#define XIAO_ESP32_S3 //// END BOARD TARGETS - #define MARAUDER_VERSION "v0.13.6" + #define MARAUDER_VERSION "v0.13.7" //// HARDWARE NAMES #ifdef MARAUDER_M5STICKC @@ -66,7 +66,7 @@ #ifdef MARAUDER_MINI //#define FLIPPER_ZERO_HAT - #define HAS_BATTERY + //#define HAS_BATTERY #define HAS_BT #define HAS_BUTTONS #define HAS_NEOPIXEL_LED diff --git a/mechanical/V6/M6_GPS_BOTTOM_SMA_BRASS.stl b/mechanical/V6/M6_GPS_BOTTOM_SMA_BRASS.stl new file mode 100644 index 0000000..456a069 Binary files /dev/null and b/mechanical/V6/M6_GPS_BOTTOM_SMA_BRASS.stl differ