summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrobert-hh <robert@hammelrath.com>2022-06-07 21:52:03 +0200
committerDamien George <damien@micropython.org>2022-10-06 22:55:45 +1100
commit029e9af4576f3000aabf5e6eac589f6bb644af92 (patch)
treea83416bfc590cbf00194725cbc34c929a4f62430
parentf5da77b5ce66a393984fe8f71627f93e95c39edc (diff)
samd/modmachine: Add machine.time_pulse_us.
Software based. Resolution: - +/-2 microseconds on SAMD51. - +/-4 microseconds on SAMD21.
-rw-r--r--ports/samd/modmachine.c6
-rw-r--r--ports/samd/mpconfigport.h1
2 files changed, 5 insertions, 2 deletions
diff --git a/ports/samd/modmachine.c b/ports/samd/modmachine.c
index f7ad47b3c..c191afda7 100644
--- a/ports/samd/modmachine.c
+++ b/ports/samd/modmachine.c
@@ -26,10 +26,11 @@
#include "py/runtime.h"
#include "extmod/machine_mem.h"
-#include "samd_soc.h"
-#include "modmachine.h"
+#include "extmod/machine_pulse.h"
#include "extmod/machine_i2c.h"
#include "extmod/machine_spi.h"
+#include "modmachine.h"
+#include "samd_soc.h"
// ASF 4
#include "hal_flash.h"
@@ -165,6 +166,7 @@ STATIC const mp_rom_map_elem_t machine_module_globals_table[] = {
{ MP_ROM_QSTR(MP_QSTR_idle), MP_ROM_PTR(&machine_idle_obj) },
{ MP_ROM_QSTR(MP_QSTR_disable_irq), MP_ROM_PTR(&machine_disable_irq_obj) },
{ MP_ROM_QSTR(MP_QSTR_enable_irq), MP_ROM_PTR(&machine_enable_irq_obj) },
+ { MP_ROM_QSTR(MP_QSTR_time_pulse_us), MP_ROM_PTR(&machine_time_pulse_us_obj) },
};
STATIC MP_DEFINE_CONST_DICT(machine_module_globals, machine_module_globals_table);
diff --git a/ports/samd/mpconfigport.h b/ports/samd/mpconfigport.h
index c2c614e10..48631080d 100644
--- a/ports/samd/mpconfigport.h
+++ b/ports/samd/mpconfigport.h
@@ -111,6 +111,7 @@
#define MICROPY_PY_MACHINE_SPI (1)
#define MICROPY_PY_MACHINE_SOFTSPI (1)
#define MICROPY_PY_OS_DUPTERM (3)
+#define MICROPY_PY_MACHINE_PULSE (1)
#define MICROPY_PY_MACHINE_PWM (1)
#define MICROPY_PY_MACHINE_PWM_INIT (0)
#define MICROPY_PY_MACHINE_PWM_DUTY_U16_NS (1)