Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: STM32L452_Nucleo_ticker
Fork of mbed-dev by
Diff: platform/mbed_sleep.h
- Revision:
- 167:e84263d55307
- Parent:
- 160:d5399cc887bb
- Child:
- 174:b96e65c34a4d
diff -r c97ed07ec1a8 -r e84263d55307 platform/mbed_sleep.h
--- 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
