diff options
| author | Damien George <damien@micropython.org> | 2022-03-23 17:13:03 +1100 |
|---|---|---|
| committer | Damien George <damien@micropython.org> | 2022-04-14 12:31:53 +1000 |
| commit | 75506e496f7545c43c4d76bac131c4e01c258fa5 (patch) | |
| tree | cbd1c429156a780a559ece6f98e260f52a877f0b /py/mpconfig.h | |
| parent | d242a9b7f7b6d4e744889d5af6c17dfb54aed8c3 (diff) | |
py/scheduler: Add support for scheduling static C-based callbacks.
If MICROPY_SCHEDULER_STATIC_NODES is enabled then C code can declare a
static mp_sched_node_t and schedule a callback using
mp_sched_schedule_node(). In contrast to using mp_sched_schedule(), the
node version will have at most one pending callback outstanding, and will
always be able to schedule if there is nothing already scheduled on this
node. This guarantees that the the callback will be called exactly once
after it is scheduled.
Signed-off-by: Damien George <damien@micropython.org>
Diffstat (limited to 'py/mpconfig.h')
| -rw-r--r-- | py/mpconfig.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/py/mpconfig.h b/py/mpconfig.h index 754daa7bd..22dfbb867 100644 --- a/py/mpconfig.h +++ b/py/mpconfig.h @@ -893,6 +893,11 @@ typedef double mp_float_t; #define MICROPY_ENABLE_SCHEDULER (MICROPY_CONFIG_ROM_LEVEL_AT_LEAST_EXTRA_FEATURES) #endif +// Whether the scheduler supports scheduling static nodes with C callbacks +#ifndef MICROPY_SCHEDULER_STATIC_NODES +#define MICROPY_SCHEDULER_STATIC_NODES (0) +#endif + // Maximum number of entries in the scheduler #ifndef MICROPY_SCHEDULER_DEPTH #define MICROPY_SCHEDULER_DEPTH (4) |
