diff options
Diffstat (limited to 'stmhal/modpyb.c')
-rw-r--r-- | stmhal/modpyb.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/stmhal/modpyb.c b/stmhal/modpyb.c index 04f47f2d3..062202aad 100644 --- a/stmhal/modpyb.c +++ b/stmhal/modpyb.c @@ -88,6 +88,15 @@ STATIC NORETURN mp_obj_t pyb_bootloader(void) { } STATIC MP_DEFINE_CONST_FUN_OBJ_0(pyb_bootloader_obj, pyb_bootloader); +/// \function hard_reset() +/// Resets the pyboard in a manner similar to pushing the external RESET +/// button. +STATIC mp_obj_t pyb_hard_reset(void) { + NVIC_SystemReset(); + return mp_const_none; +} +STATIC MP_DEFINE_CONST_FUN_OBJ_0(pyb_hard_reset_obj, pyb_hard_reset); + /// \function info([dump_alloc_table]) /// Print out lots of information about the board. STATIC mp_obj_t pyb_info(mp_uint_t n_args, const mp_obj_t *args) { @@ -443,6 +452,7 @@ STATIC const mp_map_elem_t pyb_module_globals_table[] = { { MP_OBJ_NEW_QSTR(MP_QSTR___name__), MP_OBJ_NEW_QSTR(MP_QSTR_pyb) }, { MP_OBJ_NEW_QSTR(MP_QSTR_bootloader), (mp_obj_t)&pyb_bootloader_obj }, + { MP_OBJ_NEW_QSTR(MP_QSTR_hard_reset), (mp_obj_t)&pyb_hard_reset_obj }, { MP_OBJ_NEW_QSTR(MP_QSTR_info), (mp_obj_t)&pyb_info_obj }, { MP_OBJ_NEW_QSTR(MP_QSTR_unique_id), (mp_obj_t)&pyb_unique_id_obj }, { MP_OBJ_NEW_QSTR(MP_QSTR_freq), (mp_obj_t)&pyb_freq_obj }, |