Merge branch 'master' into RGBLED

This commit is contained in:
Ben Meadors
2024-04-18 07:32:25 -05:00
committed by GitHub
co-authored by GitHub
5 changed files with 13 additions and 12 deletions
+8 -2
View File
@@ -106,20 +106,26 @@ static NimbleBluetoothFromRadioCallback *fromRadioCallbacks;
void NimbleBluetooth::shutdown()
{
// No measurable power saving for ESP32 during light-sleep(?)
#ifndef ARCH_ESP32
// Shutdown bluetooth for minimum power draw
LOG_INFO("Disable bluetooth\n");
// Bluefruit.Advertising.stop();
NimBLEAdvertising *pAdvertising = NimBLEDevice::getAdvertising();
pAdvertising->reset();
pAdvertising->stop();
#endif
}
// Extra power-saving on some devices
// Proper shutdown for ESP32. Needs reboot to reverse.
void NimbleBluetooth::deinit()
{
#ifdef ARCH_ESP32
LOG_INFO("Disable bluetooth until reboot\n");
NimBLEDevice::deinit();
#endif
}
// Has initial setup been completed
bool NimbleBluetooth::isActive()
{
return bleServer;
+3 -2
View File
@@ -30,9 +30,10 @@ void setBluetoothEnable(bool enable)
}
if (enable && !nimbleBluetooth->isActive()) {
nimbleBluetooth->setup();
} else if (!enable) {
nimbleBluetooth->shutdown();
}
// For ESP32, no way to recover from bluetooth shutdown without reboot
// BLE advertising automatically stops when MCU enters light-sleep(?)
// For deep-sleep, shutdown hardware with nimbleBluetooth->deinit(). Requires reboot to reverse
}
}
#else
+2 -2
View File
@@ -207,8 +207,8 @@ void doDeepSleep(uint32_t msecToWake, bool skipPreflight = false)
// esp_wifi_stop();
waitEnterSleep(skipPreflight);
#ifdef NIMBLE_DEINIT_FOR_DEEPSLEEP
// Extra power saving on some devices
#ifdef ARCH_ESP32
// Full shutdown of bluetooth hardware
nimbleBluetooth->deinit();
#endif