From e4f963a351975dd71495b3cc92d817b97243250a Mon Sep 17 00:00:00 2001 From: Damien George Date: Tue, 12 Apr 2016 13:51:39 +0100 Subject: [PATCH] stmhal: Use new generic I2C object in machine module. --- stmhal/modmachine.c | 3 ++- stmhal/mpconfigport.h | 1 + stmhal/mphalport.h | 4 ++++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/stmhal/modmachine.c b/stmhal/modmachine.c index 6d71f5c62..7e2b1a63b 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 ecdbbc413..69eabd14c 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 63b126112..9bd4f4b4e 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