mbed library sources. Supersedes mbed-src.

Dependents:   BREAK_SENSOR_LED

Fork of mbed-dev by mbed official

Revision:
167:e84263d55307
Parent:
160:d5399cc887bb
Child:
174:b96e65c34a4d
--- a/platform/mbed_sleep.h	Thu Jun 08 15:02:37 2017 +0100
+++ b/platform/mbed_sleep.h	Wed Jun 21 17:46:44 2017 +0100
@@ -28,7 +28,8 @@
 /** Send the microcontroller to sleep
  *
  * @note This function can be a noop if not implemented by the platform.
- * @note This function will only put device to sleep in release mode (small profile or when NDEBUG is defined).
+ * @note This function will be a noop in debug mode (debug build profile when MBED_DEBUG is defined).
+ * @note This function will be a noop while uVisor is in use.
  *
  * The processor is setup ready for sleep, and sent to sleep using __WFI(). In this mode, the
  * system clock to the core is stopped until a reset or an interrupt occurs. This eliminates
@@ -44,17 +45,20 @@
  */
 __INLINE static void sleep(void)
 {
-#ifdef NDEBUG
+#if !(defined(FEATURE_UVISOR) && defined(TARGET_UVISOR_SUPPORTED))
+#ifndef MBED_DEBUG
 #if DEVICE_SLEEP
     hal_sleep();
 #endif /* DEVICE_SLEEP */
-#endif /* NDEBUG */
+#endif /* MBED_DEBUG */
+#endif /* !(defined(FEATURE_UVISOR) && defined(TARGET_UVISOR_SUPPORTED)) */
 }
 
 /** Send the microcontroller to deep sleep
  *
  * @note This function can be a noop if not implemented by the platform.
- * @note This function will only put device to sleep in release mode (small profile or when NDEBUG is defined).
+ * @note This function will be a noop in debug mode (debug build profile when MBED_DEBUG is defined)
+ * @note This function will be a noop while uVisor is in use.
  *
  * This processor is setup ready for deep sleep, and sent to sleep using __WFI(). This mode
  * has the same sleep features as sleep plus it powers down peripherals and clocks. All state
@@ -69,11 +73,13 @@
  */
 __INLINE static void deepsleep(void)
 {
-#ifdef NDEBUG
+#if !(defined(FEATURE_UVISOR) && defined(TARGET_UVISOR_SUPPORTED))
+#ifndef MBED_DEBUG
 #if DEVICE_SLEEP
     hal_deepsleep();
 #endif /* DEVICE_SLEEP */
-#endif /* NDEBUG */
+#endif /* MBED_DEBUG */
+#endif /* !(defined(FEATURE_UVISOR) && defined(TARGET_UVISOR_SUPPORTED)) */
 }
 
 #ifdef __cplusplus