summaryrefslogtreecommitdiffstatshomepage
path: root/cc3200/misc/mpcallback.c
diff options
context:
space:
mode:
Diffstat (limited to 'cc3200/misc/mpcallback.c')
-rw-r--r--cc3200/misc/mpcallback.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/cc3200/misc/mpcallback.c b/cc3200/misc/mpcallback.c
index 2dfd5e006a..8e7a9f740a 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))) {