mirror of
https://github.com/MarekZegare4/MeshCore-Solo.git
synced 2026-08-03 18:56:15 +00:00
NRF52Board: ungate isExternalPowered()
This commit is contained in:
+14
-14
@@ -66,20 +66,6 @@ void NRF52Board::initPowerMgr() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool NRF52Board::isExternalPowered() {
|
|
||||||
// Check if SoftDevice is enabled before using its API
|
|
||||||
uint8_t sd_enabled = 0;
|
|
||||||
sd_softdevice_is_enabled(&sd_enabled);
|
|
||||||
|
|
||||||
if (sd_enabled) {
|
|
||||||
uint32_t usb_status;
|
|
||||||
sd_power_usbregstatus_get(&usb_status);
|
|
||||||
return (usb_status & POWER_USBREGSTATUS_VBUSDETECT_Msk) != 0;
|
|
||||||
} else {
|
|
||||||
return (NRF_POWER->USBREGSTATUS & POWER_USBREGSTATUS_VBUSDETECT_Msk) != 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
const char* NRF52Board::getResetReasonString(uint32_t reason) {
|
const char* NRF52Board::getResetReasonString(uint32_t reason) {
|
||||||
if (reason & POWER_RESETREAS_RESETPIN_Msk) return "Reset Pin";
|
if (reason & POWER_RESETREAS_RESETPIN_Msk) return "Reset Pin";
|
||||||
if (reason & POWER_RESETREAS_DOG_Msk) return "Watchdog";
|
if (reason & POWER_RESETREAS_DOG_Msk) return "Watchdog";
|
||||||
@@ -251,6 +237,20 @@ void NRF52BoardDCDC::begin() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool NRF52Board::isExternalPowered() {
|
||||||
|
// Check if SoftDevice is enabled before using its API
|
||||||
|
uint8_t sd_enabled = 0;
|
||||||
|
sd_softdevice_is_enabled(&sd_enabled);
|
||||||
|
|
||||||
|
if (sd_enabled) {
|
||||||
|
uint32_t usb_status;
|
||||||
|
sd_power_usbregstatus_get(&usb_status);
|
||||||
|
return (usb_status & POWER_USBREGSTATUS_VBUSDETECT_Msk) != 0;
|
||||||
|
} else {
|
||||||
|
return (NRF_POWER->USBREGSTATUS & POWER_USBREGSTATUS_VBUSDETECT_Msk) != 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void NRF52Board::sleep(uint32_t secs) {
|
void NRF52Board::sleep(uint32_t secs) {
|
||||||
// Clear FPU interrupt flags to avoid insomnia
|
// Clear FPU interrupt flags to avoid insomnia
|
||||||
// see errata 87 for details https://docs.nordicsemi.com/bundle/errata_nRF52840_Rev3/page/ERR/nRF52840/Rev3/latest/anomaly_840_87.html
|
// see errata 87 for details https://docs.nordicsemi.com/bundle/errata_nRF52840_Rev3/page/ERR/nRF52840/Rev3/latest/anomaly_840_87.html
|
||||||
|
|||||||
@@ -53,9 +53,9 @@ public:
|
|||||||
virtual bool getBootloaderVersion(char* version, size_t max_len) override;
|
virtual bool getBootloaderVersion(char* version, size_t max_len) override;
|
||||||
virtual bool startOTAUpdate(const char *id, char reply[]) override;
|
virtual bool startOTAUpdate(const char *id, char reply[]) override;
|
||||||
virtual void sleep(uint32_t secs) override;
|
virtual void sleep(uint32_t secs) override;
|
||||||
|
bool isExternalPowered() override;
|
||||||
|
|
||||||
#ifdef NRF52_POWER_MANAGEMENT
|
#ifdef NRF52_POWER_MANAGEMENT
|
||||||
bool isExternalPowered() override;
|
|
||||||
uint16_t getBootVoltage() override { return boot_voltage_mv; }
|
uint16_t getBootVoltage() override { return boot_voltage_mv; }
|
||||||
virtual uint32_t getResetReason() const override { return reset_reason; }
|
virtual uint32_t getResetReason() const override { return reset_reason; }
|
||||||
uint8_t getShutdownReason() const override { return shutdown_reason; }
|
uint8_t getShutdownReason() const override { return shutdown_reason; }
|
||||||
|
|||||||
Reference in New Issue
Block a user