summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDamien George <damien@micropython.org>2023-11-24 09:35:42 +1100
committerDamien George <damien@micropython.org>2023-11-30 16:11:11 +1100
commite68aa40d2a6fa37fc551006f9c6f8928a75220a9 (patch)
treebd9088c285040e43a4abe70d261d93f8a1e86120
parent30a63a204dc6ad02c996d5c40c34b67c85c650e4 (diff)
extmod/modmachine: Add MICROPY_PY_MACHINE_PIN_BASE option.
And use it in qemu-arm, unix and windows ports to enable PinBase. Signed-off-by: Damien George <damien@micropython.org>
-rw-r--r--extmod/machine_pinbase.c8
-rw-r--r--extmod/modmachine.c5
-rw-r--r--ports/qemu-arm/modmachine.c3
-rw-r--r--ports/qemu-arm/mpconfigport.h1
-rw-r--r--ports/unix/modmachine.c3
-rw-r--r--ports/unix/variants/mpconfigvariant_common.h1
-rw-r--r--ports/windows/mpconfigport.h1
7 files changed, 11 insertions, 11 deletions
diff --git a/extmod/machine_pinbase.c b/extmod/machine_pinbase.c
index 90c17d7ab..981dadf0f 100644
--- a/extmod/machine_pinbase.c
+++ b/extmod/machine_pinbase.c
@@ -24,10 +24,10 @@
* THE SOFTWARE.
*/
-#include "py/mpconfig.h"
-#if MICROPY_PY_MACHINE
-
#include "py/runtime.h"
+
+#if MICROPY_PY_MACHINE_PIN_BASE
+
#include "extmod/modmachine.h"
#include "extmod/virtpin.h"
@@ -84,4 +84,4 @@ MP_DEFINE_CONST_OBJ_TYPE(
protocol, &pinbase_pin_p
);
-#endif // MICROPY_PY_MACHINE
+#endif // MICROPY_PY_MACHINE_PIN_BASE
diff --git a/extmod/modmachine.c b/extmod/modmachine.c
index 311d5dc03..e3baea521 100644
--- a/extmod/modmachine.c
+++ b/extmod/modmachine.c
@@ -81,7 +81,10 @@ STATIC const mp_rom_map_elem_t machine_module_globals_table[] = {
{ MP_ROM_QSTR(MP_QSTR_time_pulse_us), MP_ROM_PTR(&machine_time_pulse_us_obj) },
#endif
- // Class for Signal.
+ // Classes for PinBase and Signal.
+ #if MICROPY_PY_MACHINE_PIN_BASE
+ { MP_ROM_QSTR(MP_QSTR_PinBase), MP_ROM_PTR(&machine_pinbase_type) },
+ #endif
{ MP_ROM_QSTR(MP_QSTR_Signal), MP_ROM_PTR(&machine_signal_type) },
// Classes for software bus protocols.
diff --git a/ports/qemu-arm/modmachine.c b/ports/qemu-arm/modmachine.c
index 59694f92f..72eaad6ea 100644
--- a/ports/qemu-arm/modmachine.c
+++ b/ports/qemu-arm/modmachine.c
@@ -27,9 +27,6 @@
// This file is never compiled standalone, it's included directly from
// extmod/modmachine.c via MICROPY_PY_MACHINE_INCLUDEFILE.
-#define MICROPY_PY_MACHINE_EXTRA_GLOBALS \
- { MP_ROM_QSTR(MP_QSTR_PinBase), MP_ROM_PTR(&machine_pinbase_type) }, \
-
// This variable is needed for machine.soft_reset(), but the variable is otherwise unused.
int pyexec_system_exit = 0;
diff --git a/ports/qemu-arm/mpconfigport.h b/ports/qemu-arm/mpconfigport.h
index 36ce2db84..3efa1412d 100644
--- a/ports/qemu-arm/mpconfigport.h
+++ b/ports/qemu-arm/mpconfigport.h
@@ -48,6 +48,7 @@
#define MICROPY_PY_HASHLIB (1)
#define MICROPY_PY_MACHINE (1)
#define MICROPY_PY_MACHINE_INCLUDEFILE "ports/qemu-arm/modmachine.c"
+#define MICROPY_PY_MACHINE_PIN_BASE (1)
#define MICROPY_PY_MICROPYTHON_MEM_INFO (1)
#define MICROPY_USE_INTERNAL_PRINTF (1)
#define MICROPY_VFS (1)
diff --git a/ports/unix/modmachine.c b/ports/unix/modmachine.c
index 9eacd5539..40d08d911 100644
--- a/ports/unix/modmachine.c
+++ b/ports/unix/modmachine.c
@@ -36,9 +36,6 @@
#define MICROPY_PAGE_MASK (MICROPY_PAGE_SIZE - 1)
#endif
-#define MICROPY_PY_MACHINE_EXTRA_GLOBALS \
- { MP_ROM_QSTR(MP_QSTR_PinBase), MP_ROM_PTR(&machine_pinbase_type) }, \
-
// This variable is needed for machine.soft_reset(), but the variable is otherwise unused.
int pyexec_system_exit = 0;
diff --git a/ports/unix/variants/mpconfigvariant_common.h b/ports/unix/variants/mpconfigvariant_common.h
index 082938ed5..981babca9 100644
--- a/ports/unix/variants/mpconfigvariant_common.h
+++ b/ports/unix/variants/mpconfigvariant_common.h
@@ -116,3 +116,4 @@
// Enable the "machine" module, mostly for machine.mem*.
#define MICROPY_PY_MACHINE (1)
#define MICROPY_PY_MACHINE_PULSE (1)
+#define MICROPY_PY_MACHINE_PIN_BASE (1)
diff --git a/ports/windows/mpconfigport.h b/ports/windows/mpconfigport.h
index 9dce520c2..2e1521b9c 100644
--- a/ports/windows/mpconfigport.h
+++ b/ports/windows/mpconfigport.h
@@ -156,6 +156,7 @@
#define MICROPY_PY_MACHINE (1)
#define MICROPY_PY_MACHINE_INCLUDEFILE "ports/unix/modmachine.c"
#define MICROPY_PY_MACHINE_PULSE (1)
+#define MICROPY_PY_MACHINE_PIN_BASE (1)
#define MICROPY_MACHINE_MEM_GET_READ_ADDR mod_machine_mem_get_addr
#define MICROPY_MACHINE_MEM_GET_WRITE_ADDR mod_machine_mem_get_addr