diff options
| author | Daniel Campora | 2015-09-07 09:23:46 +0200 |
|---|---|---|
| committer | Daniel Campora | 2015-09-10 07:59:47 +0200 |
| commit | f91f212d9fef66e515935a52712613550a04ca65 (patch) | |
| tree | 9f76d61531c575272928b2bfcb9b209add10a5ef /cc3200/misc | |
| parent | 36821d095a2657ab370a8f413f471f4c9ad9a8b5 (diff) | |
cc3200: New UART API plus related test.
Diffstat (limited to 'cc3200/misc')
| -rw-r--r-- | cc3200/misc/mpcallback.c | 8 | ||||
| -rw-r--r-- | cc3200/misc/mpcallback.h | 1 |
2 files changed, 9 insertions, 0 deletions
diff --git a/cc3200/misc/mpcallback.c b/cc3200/misc/mpcallback.c index 2dfd5e006..8e7a9f740 100644 --- a/cc3200/misc/mpcallback.c +++ b/cc3200/misc/mpcallback.c @@ -91,6 +91,14 @@ void mpcallback_wake_all (void) { } } +void mpcallback_disable_all (void) { + // re-enable all active callback objects one by one + for (mp_uint_t i = 0; i < MP_STATE_PORT(mpcallback_obj_list).len; i++) { + mpcallback_obj_t *callback_obj = ((mpcallback_obj_t *)(MP_STATE_PORT(mpcallback_obj_list).items[i])); + callback_obj->methods->disable(callback_obj->parent); + } +} + void mpcallback_remove (const mp_obj_t parent) { mpcallback_obj_t *callback_obj; if ((callback_obj = mpcallback_find(parent))) { diff --git a/cc3200/misc/mpcallback.h b/cc3200/misc/mpcallback.h index 6492a2e99..cc15a3ac6 100644 --- a/cc3200/misc/mpcallback.h +++ b/cc3200/misc/mpcallback.h @@ -65,6 +65,7 @@ void mpcallback_init0 (void); mp_obj_t mpcallback_new (mp_obj_t parent, mp_obj_t handler, const mp_cb_methods_t *methods, bool enable); mpcallback_obj_t *mpcallback_find (mp_obj_t parent); void mpcallback_wake_all (void); +void mpcallback_disable_all (void); void mpcallback_remove (const mp_obj_t parent); void mpcallback_handler (mp_obj_t self_in); uint mpcallback_translate_priority (uint priority); |
