diff --git a/libraries/Wire/src/Wire.cpp b/libraries/Wire/src/Wire.cpp index 10ee740..6444402 100644 --- a/libraries/Wire/src/Wire.cpp +++ b/libraries/Wire/src/Wire.cpp @@ -295,7 +295,9 @@ extern "C" void __attribute__((optimize("O3"))) wire_interrupt_handler(uint8_t n } // ----------------------------- Preinstantiate Objects ----------------------------- // -TwoWire Wire = TwoWire(1); -#if I2C_COMMON_QTY>1 -TwoWire Wire1 = TwoWire(0); +TwoWire Wire1 = TwoWire(1); // I2C1 is always available +#if I2C_COMMON_QTY > 1 +TwoWire Wire0 = TwoWire(0); // I2C0 is available on some boards #endif +// default interface +TwoWire& Wire = DEFAULT_WIRE; diff --git a/libraries/Wire/src/Wire.h b/libraries/Wire/src/Wire.h index ca62b8e..9296644 100644 --- a/libraries/Wire/src/Wire.h +++ b/libraries/Wire/src/Wire.h @@ -90,9 +90,11 @@ class TwoWire : public Stream void onRequest( void (*)(void) ); }; -extern TwoWire Wire; -#if I2C_COMMON_QTY>1 extern TwoWire Wire1; +#if I2C_COMMON_QTY>1 +extern TwoWire Wire0; #endif +// default interface +extern TwoWire& Wire; #endif diff --git a/variants/elbear_ace_nano/pins_arduino.h b/variants/elbear_ace_nano/pins_arduino.h index c1e19df..e04ad86 100644 --- a/variants/elbear_ace_nano/pins_arduino.h +++ b/variants/elbear_ace_nano/pins_arduino.h @@ -131,9 +131,10 @@ void spi_onBegin(uint8_t spiNum); void spi_onEnd(uint8_t spiNum); // I2C +#define I2C_COMMON_QTY 1 +#define DEFAULT_WIRE Wire1 // use I2C1 by default #define PIN_WIRE_SDA 18 #define PIN_WIRE_SCL 19 -#define I2C_COMMON_QTY 1 static const uint8_t SDA = PIN_WIRE_SDA; static const uint8_t SCL = PIN_WIRE_SCL; // available frequencies diff --git a/variants/elbear_ace_uno/pins_arduino.h b/variants/elbear_ace_uno/pins_arduino.h index 553ed21..dea17b3 100644 --- a/variants/elbear_ace_uno/pins_arduino.h +++ b/variants/elbear_ace_uno/pins_arduino.h @@ -125,9 +125,10 @@ void spi_onBegin(uint8_t spiNum); void spi_onEnd(uint8_t spiNum); // I2C +#define I2C_COMMON_QTY (1) +#define DEFAULT_WIRE Wire1 // use I2C1 by default #define PIN_WIRE_SDA (18) #define PIN_WIRE_SCL (19) -#define I2C_COMMON_QTY (1) static const uint8_t SDA = PIN_WIRE_SDA; static const uint8_t SCL = PIN_WIRE_SCL; // available frequencies diff --git a/variants/elsomik/pins_arduino.h b/variants/elsomik/pins_arduino.h index 282f608..af3c02a 100644 --- a/variants/elsomik/pins_arduino.h +++ b/variants/elsomik/pins_arduino.h @@ -155,12 +155,13 @@ static inline void spi_onEnd(uint8_t spiNum){} // I2C #define I2C_COMMON_QTY 2 -// Wire (I2C1) +#define DEFAULT_WIRE Wire0 // use I2C0 by default +// Wire1 (I2C1) #define PIN_WIRE_SDA P1_12 #define PIN_WIRE_SCL P1_13 static const uint8_t SDA = PIN_WIRE_SDA; static const uint8_t SCL = PIN_WIRE_SCL; -// Wire1 (I2C0) +// Wire0 (I2C0) #define PIN_WIRE_SDA1 P0_9 #define PIN_WIRE_SCL1 P0_10 static const uint8_t SDA1 = PIN_WIRE_SDA1; diff --git a/variants/start/pins_arduino.h b/variants/start/pins_arduino.h index f785196..d3c7aa4 100644 --- a/variants/start/pins_arduino.h +++ b/variants/start/pins_arduino.h @@ -168,12 +168,13 @@ static inline void spi_onEnd(uint8_t spiNum){} // I2C #define I2C_COMMON_QTY 2 -// Wire (I2C1) +#define DEFAULT_WIRE Wire0 // use I2C0 by default +// Wire1 (I2C1) #define PIN_WIRE_SDA P1_12 #define PIN_WIRE_SCL P1_13 static const uint8_t SDA = PIN_WIRE_SDA; static const uint8_t SCL = PIN_WIRE_SCL; -// Wire1 (I2C0) +// Wire0 (I2C0) #define PIN_WIRE_SDA1 P0_9 #define PIN_WIRE_SCL1 P0_10 static const uint8_t SDA1 = PIN_WIRE_SDA1;