diff --git a/ports/stm32/i2c.c b/ports/stm32/i2c.c index 8f94e783df..6c135b3a5a 100644 --- a/ports/stm32/i2c.c +++ b/ports/stm32/i2c.c @@ -650,6 +650,10 @@ STATIC mp_obj_t pyb_i2c_make_new(const mp_obj_type_t *type, size_t n_args, size_ } else if (strcmp(port, MICROPY_HW_I2C3_NAME) == 0) { i2c_id = 3; #endif + #ifdef MICROPY_HW_I2C4_NAME + } else if (strcmp(port, MICROPY_HW_I2C4_NAME) == 0) { + i2c_id = 4; + #endif } else { nlr_raise(mp_obj_new_exception_msg_varg(&mp_type_ValueError, "I2C(%s) doesn't exist", port)); diff --git a/ports/stm32/i2c.h b/ports/stm32/i2c.h index e17621f7c3..6d3ff2201f 100644 --- a/ports/stm32/i2c.h +++ b/ports/stm32/i2c.h @@ -42,6 +42,7 @@ typedef struct _pyb_i2c_obj_t { extern I2C_HandleTypeDef I2CHandle1; extern I2C_HandleTypeDef I2CHandle2; extern I2C_HandleTypeDef I2CHandle3; +extern I2C_HandleTypeDef I2CHandle4; extern const mp_obj_type_t pyb_i2c_type; extern const pyb_i2c_obj_t pyb_i2c_obj[4];