From 5653a1ca0fe2747ac92af71d6ddc8902ac8f766c Mon Sep 17 00:00:00 2001 From: Vladimir Kozlov Date: Mon, 31 Dec 2018 09:48:10 +0200 Subject: [PATCH 1/2] Added STM32 support --- SC16IS750.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/SC16IS750.cpp b/SC16IS750.cpp index 11a5cf9..375fcc2 100644 --- a/SC16IS750.cpp +++ b/SC16IS750.cpp @@ -28,6 +28,8 @@ Please keep the above information when you use this code in your project. #ifdef __AVR__ #define WIRE Wire +#elif defined(ARDUINO_ARCH_STM32) + #define WIRE Wire #else // Arduino Due #define WIRE Wire1 #endif From 6553e01b0c3876b6bbd2ba1c1923c470ea07ff3a Mon Sep 17 00:00:00 2001 From: Vladimir Kozlov Date: Fri, 25 Jan 2019 10:19:56 +0200 Subject: [PATCH 2/2] Quick fix for ESP32, will be revisited --- SC16IS750.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/SC16IS750.cpp b/SC16IS750.cpp index 375fcc2..ba5783e 100644 --- a/SC16IS750.cpp +++ b/SC16IS750.cpp @@ -28,10 +28,20 @@ Please keep the above information when you use this code in your project. #ifdef __AVR__ #define WIRE Wire + #define WIRE_END_TRANSMISSION_0 0 + #define WIRE_END_TRANSMISSION_1 1 #elif defined(ARDUINO_ARCH_STM32) #define WIRE Wire + #define WIRE_END_TRANSMISSION_0 0 + #define WIRE_END_TRANSMISSION_1 1 +#elif defined(ESP32) + #define WIRE Wire + #define WIRE_END_TRANSMISSION_0 false + #define WIRE_END_TRANSMISSION_1 true #else // Arduino Due #define WIRE Wire1 + #define WIRE_END_TRANSMISSION_0 0 + #define WIRE_END_TRANSMISSION_1 1 #endif @@ -115,7 +125,7 @@ uint8_t SC16IS750::ReadRegister(uint8_t reg_addr) WIRE.beginTransmission(device_address_sspin); WIRE.write((reg_addr<<3)); - WIRE.endTransmission(0); + WIRE.endTransmission(WIRE_END_TRANSMISSION_0); WIRE.requestFrom(device_address_sspin,(uint8_t)1); result = WIRE.read(); } else if (protocol == SC16IS750_PROTOCOL_SPI) { //register read operation via SPI @@ -137,7 +147,7 @@ void SC16IS750::WriteRegister(uint8_t reg_addr, uint8_t val) WIRE.beginTransmission(device_address_sspin); WIRE.write((reg_addr<<3)); WIRE.write(val); - WIRE.endTransmission(1); + WIRE.endTransmission(WIRE_END_TRANSMISSION_1); } else { ::digitalWrite(device_address_sspin, LOW); delayMicroseconds(10);