Переглянути джерело

NRF52Board: ungate isExternalPowered()

taco 2 місяців тому
батько
коміт
f701b58b4b
2 змінених файлів з 15 додано та 15 видалено
  1. 14 14
      src/helpers/NRF52Board.cpp
  2. 1 1
      src/helpers/NRF52Board.h

+ 14 - 14
src/helpers/NRF52Board.cpp

@@ -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) {
   if (reason & POWER_RESETREAS_RESETPIN_Msk) return "Reset Pin";
   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) {
   // 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

+ 1 - 1
src/helpers/NRF52Board.h

@@ -53,9 +53,9 @@ public:
   virtual bool getBootloaderVersion(char* version, size_t max_len) override;
   virtual bool startOTAUpdate(const char *id, char reply[]) override;
   virtual void sleep(uint32_t secs) override;
+  bool isExternalPowered() override;
 
 #ifdef NRF52_POWER_MANAGEMENT
-  bool isExternalPowered() override;
   uint16_t getBootVoltage() override { return boot_voltage_mv; }
   virtual uint32_t getResetReason() const override { return reset_reason; }
   uint8_t getShutdownReason() const override { return shutdown_reason; }