From 90b34138b74f72faf76248f5a3d2134b06cca563 Mon Sep 17 00:00:00 2001 From: "rudi ;-)" Date: Fri, 2 Feb 2018 12:39:41 +0100 Subject: [PATCH 1/3] bugfix(uart): fix signal glitch on tx pin see https://github.com/espressif/arduino-esp32/issues/1061 --- cores/esp32/esp32-hal-uart.c | 1 + 1 file changed, 1 insertion(+) diff --git a/cores/esp32/esp32-hal-uart.c b/cores/esp32/esp32-hal-uart.c index 6612668901b..d1647d8238d 100644 --- a/cores/esp32/esp32-hal-uart.c +++ b/cores/esp32/esp32-hal-uart.c @@ -154,6 +154,7 @@ void uartAttachTx(uart_t* uart, uint8_t txPin, bool inverted) return; } pinMode(txPin, OUTPUT); + digitalWrite(txPin, HIGH); pinMatrixOutAttach(txPin, UART_TXD_IDX(uart->num), inverted, false); } From d700b5a73820667f5cb686101342213097b55503 Mon Sep 17 00:00:00 2001 From: "rudi ;-)" Date: Mon, 5 Feb 2018 00:18:50 +0100 Subject: [PATCH 2/3] bugfix(i2c): fix signal glitch on sda and scl pin -optional for actually version- bugfix(i2c): fix signal glitch on sda and scl pin -optional for actually version- --- cores/esp32/esp32-hal-i2c.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/cores/esp32/esp32-hal-i2c.c b/cores/esp32/esp32-hal-i2c.c index dd3d35baafb..66dc9174c96 100644 --- a/cores/esp32/esp32-hal-i2c.c +++ b/cores/esp32/esp32-hal-i2c.c @@ -72,7 +72,9 @@ i2c_err_t i2cAttachSCL(i2c_t * i2c, int8_t scl) if(i2c == NULL){ return I2C_ERROR_DEV; } + digitalWrite(scl, HIGH); // optional, tested successful in actually version pinMode(scl, OUTPUT_OPEN_DRAIN | PULLUP); + // digitalWrite(scl, HIGH); // successful tested in a prev version, but fails in the actually so use optional! pinMatrixOutAttach(scl, I2C_SCL_IDX(i2c->num), false, false); pinMatrixInAttach(scl, I2C_SCL_IDX(i2c->num), false); return I2C_ERROR_OK; @@ -94,7 +96,9 @@ i2c_err_t i2cAttachSDA(i2c_t * i2c, int8_t sda) if(i2c == NULL){ return I2C_ERROR_DEV; } + digitalWrite(sda, HIGH); // optional, tested successful in actually version pinMode(sda, OUTPUT_OPEN_DRAIN | PULLUP); + // digitalWrite(sda, HIGH); // successful tested in a prev version, but fails in the actually so use optional! pinMatrixOutAttach(sda, I2C_SDA_IDX(i2c->num), false, false); pinMatrixInAttach(sda, I2C_SDA_IDX(i2c->num), false); return I2C_ERROR_OK; From 283ca325226e3f9de98ab5874b80c8095d6a41d3 Mon Sep 17 00:00:00 2001 From: "rudi ;-)" Date: Wed, 21 Feb 2018 11:32:36 +0100 Subject: [PATCH 3/3] Update esp32-hal-i2c.c --- cores/esp32/esp32-hal-i2c.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/cores/esp32/esp32-hal-i2c.c b/cores/esp32/esp32-hal-i2c.c index 66dc9174c96..2574bf30e96 100644 --- a/cores/esp32/esp32-hal-i2c.c +++ b/cores/esp32/esp32-hal-i2c.c @@ -73,7 +73,8 @@ i2c_err_t i2cAttachSCL(i2c_t * i2c, int8_t scl) return I2C_ERROR_DEV; } digitalWrite(scl, HIGH); // optional, tested successful in actually version - pinMode(scl, OUTPUT_OPEN_DRAIN | PULLUP); + // pinMode(scl, OUTPUT_OPEN_DRAIN | PULLUP); + pinMode(scl, OPEN_DRAIN | PULLUP); // open for a test on weekend // digitalWrite(scl, HIGH); // successful tested in a prev version, but fails in the actually so use optional! pinMatrixOutAttach(scl, I2C_SCL_IDX(i2c->num), false, false); pinMatrixInAttach(scl, I2C_SCL_IDX(i2c->num), false); @@ -97,7 +98,8 @@ i2c_err_t i2cAttachSDA(i2c_t * i2c, int8_t sda) return I2C_ERROR_DEV; } digitalWrite(sda, HIGH); // optional, tested successful in actually version - pinMode(sda, OUTPUT_OPEN_DRAIN | PULLUP); + // pinMode(sda, OUTPUT_OPEN_DRAIN | PULLUP); + pinMode(sda, OPEN_DRAIN | PULLUP); // open for a test on weekend // digitalWrite(sda, HIGH); // successful tested in a prev version, but fails in the actually so use optional! pinMatrixOutAttach(sda, I2C_SDA_IDX(i2c->num), false, false); pinMatrixInAttach(sda, I2C_SDA_IDX(i2c->num), false);