27
27
extern "C" {
28
28
#endif
29
29
30
+ /**
31
+ * \defgroup hal_sleep sleep hal requirements
32
+ * Low level interface to the sleep mode of a target.
33
+ *
34
+ * # Defined behaviour
35
+ *
36
+ * * Sleep mode
37
+ * * wake-up time should be less than 10 us - Verified by sleep_usticker_test().
38
+ * * the processor can be woken up by any internal peripheral interrupt - Verified by sleep_usticker_test().
39
+ * * all peripherals operate as in run mode - not verified.
40
+ * * the processor can be woken up by external pin interrupt - not verified.
41
+ * * Deep sleep
42
+ * * the wake-up time should be less than 10 ms - Verified by deepsleep_lpticker_test().
43
+ * * lp ticker should wake up a target from this mode - Verified by deepsleep_lpticker_test().
44
+ * * RTC should wake up a target from this mode - not verified.
45
+ * * an external interrupt on a pin should wake up a target from this mode - not verified.
46
+ * * a watchdog timer should wake up a target from this mode - not verified.
47
+ * * High-speed clocks are turned off - Verified by deepsleep_high_speed_clocks_turned_off_test().
48
+ * * RTC keeps time - Verified by rtc_sleep_test().
49
+ *
50
+ * # Undefined behaviour
51
+ *
52
+ * * peripherals aside from RTC, GPIO and lp ticker result in undefined behaviour in deep sleep.
53
+ * @{
54
+ */
55
+
56
+ /**
57
+ * \defgroup hal_sleep_tests sleep hal tests
58
+ * The sleep HAL tests ensure driver conformance to defined behaviour.
59
+ *
60
+ * To run the sleep hal tests use the command:
61
+ *
62
+ * mbed test -t <toolchain> -m <target> -n tests-mbed_hal-sleep*
63
+ *
64
+ */
65
+
30
66
/** Send the microcontroller to sleep
31
67
*
32
68
* The processor is setup ready for sleep, and sent to sleep. In this mode, the
@@ -53,6 +89,8 @@ void hal_sleep(void);
53
89
*/
54
90
void hal_deepsleep (void );
55
91
92
+ /**@}*/
93
+
56
94
#ifdef __cplusplus
57
95
}
58
96
#endif
@@ -61,4 +99,4 @@ void hal_deepsleep(void);
61
99
62
100
#endif
63
101
64
- /** @}*/
102
+ /**@}*/
0 commit comments