diff --git a/src/esp32/main-esp32.cpp b/src/esp32/main-esp32.cpp index 2e012297b..07b0eb9ee 100644 --- a/src/esp32/main-esp32.cpp +++ b/src/esp32/main-esp32.cpp @@ -6,6 +6,7 @@ #ifdef USE_NEW_ESP32_BLUETOOTH #include "ESP32Bluetooth.h" +#include "mesh/http/WiFiAPClient.h" #else #include "nimble/BluetoothUtil.h" #endif @@ -41,13 +42,15 @@ static void printBLEinfo() { #ifdef USE_NEW_ESP32_BLUETOOTH void setBluetoothEnable(bool on) { - if (!esp32Bluetooth) { - esp32Bluetooth = new ESP32Bluetooth(); - } - if (on) { - esp32Bluetooth->setup(); - } else { - esp32Bluetooth->shutdown(); + if (!isWifiAvailable()) { + if (!esp32Bluetooth) { + esp32Bluetooth = new ESP32Bluetooth(); + } + if (on) { + esp32Bluetooth->setup(); + } else { + esp32Bluetooth->shutdown(); + } } } #endif diff --git a/src/gps/GPS.cpp b/src/gps/GPS.cpp index 3f0c52242..8af6bd779 100644 --- a/src/gps/GPS.cpp +++ b/src/gps/GPS.cpp @@ -336,6 +336,7 @@ GPS *createGps() delete ublox; ublox = NULL; } else { + DEBUG_MSG("Using UBLOX Mode\n"); return ublox; } #endif @@ -343,7 +344,7 @@ GPS *createGps() if (GPS::_serial_gps) { // Some boards might have only the TX line from the GPS connected, in that case, we can't configure it at all. Just // assume NMEA at 9600 baud. - DEBUG_MSG("Hoping that NMEA might work\n"); + DEBUG_MSG("Using NMEA Mode\n"); GPS *new_gps = new NMEAGPS(); new_gps->setup(); return new_gps; diff --git a/src/gps/NMEAGPS.cpp b/src/gps/NMEAGPS.cpp index 359256a3d..5c1ebafa0 100644 --- a/src/gps/NMEAGPS.cpp +++ b/src/gps/NMEAGPS.cpp @@ -5,7 +5,7 @@ #include // GPS solutions older than this will be rejected - see TinyGPSDatum::age() -#define GPS_SOL_EXPIRY_MS 300 // in millis +#define GPS_SOL_EXPIRY_MS 5000 // in millis. give 1 second time to combine different sentences. NMEA Frequency isn't higher anyway #define NMEA_MSG_GXGSA "GNGSA" // GSA message (GPGSA, GNGSA etc) static int32_t toDegInt(RawDegrees d) @@ -64,7 +64,7 @@ The Unix epoch (or Unix time or POSIX time or Unix timestamp) is the number of s t.tm_mon = d.month() - 1; t.tm_year = d.year() - 1900; t.tm_isdst = false; - DEBUG_MSG("NMEA GPS time %d\n", t.tm_sec); + DEBUG_MSG("NMEA GPS time %d-%d-%d %d:%d:%d\n", d.year(), d.month(), t.tm_mday, t.tm_hour, t.tm_min, t.tm_sec); perhapsSetRTC(RTCQualityGPS, t); @@ -116,7 +116,7 @@ bool NMEAGPS::lookForLocation() (reader.time.age() < GPS_SOL_EXPIRY_MS) && (reader.date.age() < GPS_SOL_EXPIRY_MS))) { - DEBUG_MSG("SOME data is TOO OLD\n"); + DEBUG_MSG("SOME data is TOO OLD: LOC %u, TIME %u, DATE %u\n", reader.location.age(), reader.time.age(), reader.date.age()); return false; } diff --git a/src/mesh/MeshService.cpp b/src/mesh/MeshService.cpp index c751a7c26..36d3b2251 100644 --- a/src/mesh/MeshService.cpp +++ b/src/mesh/MeshService.cpp @@ -239,8 +239,8 @@ int MeshService::onGPSChanged(const meshtastic::GPSStatus *newStatus) pos.time = getValidTime(RTCQualityGPS); // In debug logs, identify position by @timestamp:stage (stage 4 = nodeDB) - DEBUG_MSG("onGPSChanged() pos@%x:4, time=%u, lat=%d\n", - pos.pos_timestamp, pos.time, pos.latitude_i); + DEBUG_MSG("onGPSChanged() pos@%x, time=%u, lat=%d, lon=%d, alt=%d\n", + pos.pos_timestamp, pos.time, pos.latitude_i, pos.longitude_i, pos.altitude); // Update our current position in the local DB nodeDB.updatePosition(nodeDB.getNodeNum(), pos, RX_SRC_LOCAL); diff --git a/src/mesh/NodeDB.cpp b/src/mesh/NodeDB.cpp index 52e76a88e..64ac00673 100644 --- a/src/mesh/NodeDB.cpp +++ b/src/mesh/NodeDB.cpp @@ -453,8 +453,8 @@ void NodeDB::updatePosition(uint32_t nodeId, const Position &p, RxSource src) if (src == RX_SRC_LOCAL) { // Local packet, fully authoritative - DEBUG_MSG("updatePosition LOCAL pos@%x:5, time=%u, latI=%d, lonI=%d\n", - p.pos_timestamp, p.time, p.latitude_i, p.longitude_i); + DEBUG_MSG("updatePosition LOCAL pos@%x, time=%u, latI=%d, lonI=%d, alt=%d\n", + p.pos_timestamp, p.time, p.latitude_i, p.longitude_i, p.altitude); info->position = p; } else if ((p.time > 0) && !p.latitude_i && !p.longitude_i && !p.pos_timestamp &&