From 61a5e43c58827c8132482474bc5ee29d80777a4f Mon Sep 17 00:00:00 2001 From: Daniel Fekete Date: Thu, 20 Apr 2017 19:06:07 +0200 Subject: [PATCH] Enable changing the I2C instance in Wire library --- STM32/libraries/Wire/src/Wire.cpp | 4 ++++ STM32/libraries/Wire/src/Wire.h | 1 + 2 files changed, 5 insertions(+) diff --git a/STM32/libraries/Wire/src/Wire.cpp b/STM32/libraries/Wire/src/Wire.cpp index b0751d3..0ce0d07 100644 --- a/STM32/libraries/Wire/src/Wire.cpp +++ b/STM32/libraries/Wire/src/Wire.cpp @@ -302,6 +302,10 @@ void TwoWire::flush(void) { } +void TwoWire::stm32SetInstance(I2C_TypeDef *instance) { + handle.Instance = instance; +} + void TwoWire::stm32SetSDA(uint8_t sda) { sdaPort = variant_pin_list[sda].port; sdaPin = variant_pin_list[sda].pin_mask; diff --git a/STM32/libraries/Wire/src/Wire.h b/STM32/libraries/Wire/src/Wire.h index 7f177bc..5404542 100644 --- a/STM32/libraries/Wire/src/Wire.h +++ b/STM32/libraries/Wire/src/Wire.h @@ -82,6 +82,7 @@ class TwoWire : public Stream { void onReceive( void (*)(int) ); void onRequest( void (*)(void) ); + void stm32SetInstance(I2C_TypeDef *instance); void stm32SetSDA(uint8_t sda); void stm32SetSCL(uint8_t scl);