summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--extmod/machine_signal.c9
-rw-r--r--extmod/modmachine.c2
-rw-r--r--py/mpconfig.h5
3 files changed, 11 insertions, 5 deletions
diff --git a/extmod/machine_signal.c b/extmod/machine_signal.c
index 6295a496b..d2e7bc58c 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 <string.h>
-
#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 90e2a38a7..6fb6b9eaf 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 90f8e592b..8b49c9ca0 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