Compare commits

...

3 Commits

Author SHA1 Message Date
Jonathan Bennett
ee89bdd569 ifdef gate the new boolean to NIMBLE_TWO devices 2025-09-19 19:51:26 -05:00
Jonathan Bennett
cc1c568916 Don't probe rare GPS speeds on esp32c6l to avoid uart-related crash 2025-09-19 18:55:30 -05:00
Jonathan Bennett
0fecbbf86b nimble 2.x deinit workaround 2025-09-19 18:54:41 -05:00
3 changed files with 10 additions and 0 deletions

View File

@@ -516,6 +516,7 @@ bool GPS::setup()
} }
} }
// Rare Serial Speeds // Rare Serial Speeds
#ifndef CONFIG_IDF_TARGET_ESP32C6
if (probeTries == GPS_PROBETRIES) { if (probeTries == GPS_PROBETRIES) {
LOG_DEBUG("Probe for GPS at %d", rareSerialSpeeds[speedSelect]); LOG_DEBUG("Probe for GPS at %d", rareSerialSpeeds[speedSelect]);
gnssModel = probe(rareSerialSpeeds[speedSelect]); gnssModel = probe(rareSerialSpeeds[speedSelect]);
@@ -526,6 +527,7 @@ bool GPS::setup()
} }
} }
} }
#endif
} }
if (gnssModel != GNSS_MODEL_UNKNOWN) { if (gnssModel != GNSS_MODEL_UNKNOWN) {

View File

@@ -231,6 +231,10 @@ class NimbleBluetoothServerCallback : public NimBLEServerCallbacks
{ {
LOG_INFO("BLE disconnect"); LOG_INFO("BLE disconnect");
#endif #endif
#ifdef NIMBLE_TWO
if (ble->isDeInit)
return;
#endif
meshtastic::BluetoothStatus newStatus(meshtastic::BluetoothStatus::ConnectionState::DISCONNECTED); meshtastic::BluetoothStatus newStatus(meshtastic::BluetoothStatus::ConnectionState::DISCONNECTED);
bluetoothStatus->updateStatus(&newStatus); bluetoothStatus->updateStatus(&newStatus);
@@ -270,6 +274,7 @@ void NimbleBluetooth::deinit()
{ {
#ifdef ARCH_ESP32 #ifdef ARCH_ESP32
LOG_INFO("Disable bluetooth until reboot"); LOG_INFO("Disable bluetooth until reboot");
isDeInit = true;
#ifdef BLE_LED #ifdef BLE_LED
#ifdef BLE_LED_INVERTED #ifdef BLE_LED_INVERTED
@@ -278,8 +283,10 @@ void NimbleBluetooth::deinit()
digitalWrite(BLE_LED, LOW); digitalWrite(BLE_LED, LOW);
#endif #endif
#endif #endif
#ifndef NIMBLE_TWO
NimBLEDevice::deinit(); NimBLEDevice::deinit();
#endif #endif
#endif
} }
// Has initial setup been completed // Has initial setup been completed

View File

@@ -15,6 +15,7 @@ class NimbleBluetooth : BluetoothApi
#if defined(NIMBLE_TWO) #if defined(NIMBLE_TWO)
void startAdvertising(); void startAdvertising();
#endif #endif
bool isDeInit = false;
private: private:
void setupService(); void setupService();