From 23ccbcf23043be5e621a4e49b7dd4549af4239fc Mon Sep 17 00:00:00 2001 From: Damien George Date: Thu, 14 Mar 2024 10:58:41 +1100 Subject: [PATCH] extmod/modmachine: Add MICROPY_PY_MACHINE_SIGNAL configuration option. Enabled by default. Signed-off-by: Damien George --- extmod/machine_signal.c | 9 ++++----- extmod/modmachine.c | 2 ++ py/mpconfig.h | 5 +++++ 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/extmod/machine_signal.c b/extmod/machine_signal.c index 6295a496b3..d2e7bc58ca 100644 --- a/extmod/machine_signal.c +++ b/extmod/machine_signal.c @@ -24,12 +24,11 @@ * THE SOFTWARE. */ -#include "py/mpconfig.h" -#if MICROPY_PY_MACHINE - #include - #include "py/runtime.h" + +#if MICROPY_PY_MACHINE_SIGNAL + #include "extmod/modmachine.h" #include "extmod/virtpin.h" @@ -181,4 +180,4 @@ MP_DEFINE_CONST_OBJ_TYPE( locals_dict, &signal_locals_dict ); -#endif // MICROPY_PY_MACHINE +#endif // MICROPY_PY_MACHINE_SIGNAL diff --git a/extmod/modmachine.c b/extmod/modmachine.c index 90e2a38a73..6fb6b9eaf5 100644 --- a/extmod/modmachine.c +++ b/extmod/modmachine.c @@ -186,7 +186,9 @@ static const mp_rom_map_elem_t machine_module_globals_table[] = { #if MICROPY_PY_MACHINE_PIN_BASE { MP_ROM_QSTR(MP_QSTR_PinBase), MP_ROM_PTR(&machine_pinbase_type) }, #endif + #if MICROPY_PY_MACHINE_SIGNAL { MP_ROM_QSTR(MP_QSTR_Signal), MP_ROM_PTR(&machine_signal_type) }, + #endif // Classes for software bus protocols. #if MICROPY_PY_MACHINE_SOFTI2C diff --git a/py/mpconfig.h b/py/mpconfig.h index 90f8e592bf..8b49c9ca08 100644 --- a/py/mpconfig.h +++ b/py/mpconfig.h @@ -1702,6 +1702,11 @@ typedef double mp_float_t; #define MICROPY_PY_MACHINE_PULSE (0) #endif +// Whether to provide the "machine.Signal" class +#ifndef MICROPY_PY_MACHINE_SIGNAL +#define MICROPY_PY_MACHINE_SIGNAL (MICROPY_PY_MACHINE) +#endif + #ifndef MICROPY_PY_MACHINE_I2C #define MICROPY_PY_MACHINE_I2C (0) #endif