summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--stmhal/modmachine.c3
-rw-r--r--stmhal/mpconfigport.h1
-rw-r--r--stmhal/mphalport.h4
3 files changed, 7 insertions, 1 deletions
diff --git a/stmhal/modmachine.c b/stmhal/modmachine.c
index 6d71f5c627..7e2b1a63b8 100644
--- a/stmhal/modmachine.c
+++ b/stmhal/modmachine.c
@@ -31,6 +31,7 @@
#include "py/runtime.h"
#include "py/mphal.h"
#include "extmod/machine_mem.h"
+#include "extmod/machine_i2c.h"
#include "lib/fatfs/ff.h"
#include "lib/fatfs/diskio.h"
#include "gccollect.h"
@@ -449,7 +450,7 @@ STATIC const mp_map_elem_t machine_module_globals_table[] = {
#endif
// TODO: Per new API, both types below, if called with 1 arg (ID), should still
// initialize master mode on the peripheral.
- { MP_OBJ_NEW_QSTR(MP_QSTR_I2C), (mp_obj_t)&pyb_i2c_type },
+ { MP_OBJ_NEW_QSTR(MP_QSTR_I2C), (mp_obj_t)&machine_i2c_type },
{ MP_OBJ_NEW_QSTR(MP_QSTR_SPI), (mp_obj_t)&pyb_spi_type },
#if 0
{ MP_OBJ_NEW_QSTR(MP_QSTR_UART), (mp_obj_t)&pyb_uart_type },
diff --git a/stmhal/mpconfigport.h b/stmhal/mpconfigport.h
index ecdbbc4131..69eabd14cf 100644
--- a/stmhal/mpconfigport.h
+++ b/stmhal/mpconfigport.h
@@ -90,6 +90,7 @@
#define MICROPY_PY_UHEAPQ (1)
#define MICROPY_PY_UHASHLIB (1)
#define MICROPY_PY_MACHINE (1)
+#define MICROPY_PY_MACHINE_I2C (1)
#define MICROPY_ENABLE_EMERGENCY_EXCEPTION_BUF (1)
#define MICROPY_EMERGENCY_EXCEPTION_BUF_SIZE (0)
diff --git a/stmhal/mphalport.h b/stmhal/mphalport.h
index 63b126112c..9bd4f4b4e8 100644
--- a/stmhal/mphalport.h
+++ b/stmhal/mphalport.h
@@ -35,6 +35,10 @@ void mp_hal_set_interrupt_char(int c); // -1 to disable
#define mp_hal_delay_ms HAL_Delay
#define mp_hal_ticks_ms HAL_GetTick
+// needed for machine.I2C
+#include "stmhal/systick.h"
+#define mp_hal_delay_us_fast(us) sys_tick_udelay(us)
+
// C-level pin HAL
#include "stmhal/pin.h"
#define mp_hal_pin_obj_t pin_obj_t