From 37b2788851c08c7d72b38cfd8ac8e69f0815e086 Mon Sep 17 00:00:00 2001 From: KLASSENTS Date: Mon, 26 May 2025 13:07:21 +0700 Subject: [PATCH] =?UTF-8?q?=D0=BE=D0=B1=D1=8A=D1=8F=D0=B2=D0=BB=D1=8F?= =?UTF-8?q?=D1=8E=D1=82=D1=81=D1=8F=20=D0=B4=D0=B2=D0=B0=20=D1=8D=D0=BA?= =?UTF-8?q?=D0=B7=D0=B5=D0=BC=D0=BF=D0=BB=D1=8F=D1=80=D0=B0=20wire=20?= =?UTF-8?q?=D0=BF=D0=BE=20=D0=BD=D0=BE=D0=BC=D0=B5=D1=80=D1=83=20=D0=B6?= =?UTF-8?q?=D0=B5=D0=BB=D0=B5=D0=B7=D0=BD=D0=BE=D0=B3=D0=BE=20I2C,=20?= =?UTF-8?q?=D0=BF=D0=BE=20=D0=B4=D0=B5=D1=84=D0=BE=D0=BB=D1=82=D1=83=20?= =?UTF-8?q?=D0=B8=D1=81=D0=BF=D0=BE=D0=BB=D1=8C=D0=B7=D1=83=D0=B5=D1=82?= =?UTF-8?q?=D1=81=D1=8F=20=D1=82=D0=BE=D1=82,=20=D1=87=D1=82=D0=BE=20?= =?UTF-8?q?=D0=B7=D0=B0=D0=B4=D0=B0=D0=BD=20=D0=B4=D0=BB=D1=8F=20=D0=BA?= =?UTF-8?q?=D0=B0=D0=B6=D0=B4=D0=BE=D0=B9=20=D0=BF=D0=BB=D0=B0=D1=82=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- libraries/Wire/src/Wire.cpp | 8 +++++--- libraries/Wire/src/Wire.h | 6 ++++-- variants/elbear_ace_nano/pins_arduino.h | 3 ++- variants/elbear_ace_uno/pins_arduino.h | 3 ++- variants/elsomik/pins_arduino.h | 5 +++-- variants/start/pins_arduino.h | 5 +++-- 6 files changed, 19 insertions(+), 11 deletions(-) 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;