summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2014-04-14 01:45:24 +0100
committerDamien George <damien.p.george@gmail.com>2014-04-14 01:45:24 +0100
commit6dba016a562799cb7c84ce055bc6399b8037f893 (patch)
treeec85c0518b73ab5112c081607d4369acc5312f2f
parent86a03044e343433115bbbe37df544fc1305f36d3 (diff)
stmhal: Add pyb.wfi() function (calls __WFI).
-rw-r--r--stmhal/modpyb.c8
-rw-r--r--stmhal/qstrdefsport.h1
2 files changed, 9 insertions, 0 deletions
diff --git a/stmhal/modpyb.c b/stmhal/modpyb.c
index c564a0f19..288008108 100644
--- a/stmhal/modpyb.c
+++ b/stmhal/modpyb.c
@@ -132,6 +132,13 @@ STATIC mp_obj_t pyb_udelay(mp_obj_t usec) {
STATIC MP_DEFINE_CONST_FUN_OBJ_1(pyb_udelay_obj, pyb_udelay);
+STATIC mp_obj_t pyb_wfi(void) {
+ __WFI();
+ return mp_const_none;
+}
+
+MP_DEFINE_CONST_FUN_OBJ_0(pyb_wfi_obj, pyb_wfi);
+
#if 0
STATIC void SYSCLKConfig_STOP(void) {
/* After wake-up from STOP reconfigure the system clock */
@@ -221,6 +228,7 @@ STATIC const mp_map_elem_t pyb_module_globals_table[] = {
{ MP_OBJ_NEW_QSTR(MP_QSTR_gc), (mp_obj_t)&pyb_gc_obj },
{ MP_OBJ_NEW_QSTR(MP_QSTR_repl_info), (mp_obj_t)&pyb_set_repl_info_obj },
+ { MP_OBJ_NEW_QSTR(MP_QSTR_wfi), (mp_obj_t)&pyb_wfi_obj },
{ MP_OBJ_NEW_QSTR(MP_QSTR_stop), (mp_obj_t)&pyb_stop_obj },
{ MP_OBJ_NEW_QSTR(MP_QSTR_standby), (mp_obj_t)&pyb_standby_obj },
{ MP_OBJ_NEW_QSTR(MP_QSTR_source_dir), (mp_obj_t)&pyb_source_dir_obj },
diff --git a/stmhal/qstrdefsport.h b/stmhal/qstrdefsport.h
index 546b5b143..0dd8c2b61 100644
--- a/stmhal/qstrdefsport.h
+++ b/stmhal/qstrdefsport.h
@@ -6,6 +6,7 @@ Q(info)
Q(sd_test)
Q(present)
Q(power)
+Q(wfi)
Q(stop)
Q(standby)
Q(source_dir)