From dc97300c2eed72f77b9786fc069145eedef652cf Mon Sep 17 00:00:00 2001 From: Navendu Pottekkat Date: Thu, 13 Aug 2026 14:41:53 +0530 Subject: [PATCH] fix: remove incorrect !readLast check Signed-off-by: Navendu Pottekkat --- src/machine/machine_esp32_i2c.go | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/machine/machine_esp32_i2c.go b/src/machine/machine_esp32_i2c.go index 746e722dc..abcc2b4c9 100644 --- a/src/machine/machine_esp32_i2c.go +++ b/src/machine/machine_esp32_i2c.go @@ -242,7 +242,6 @@ func (i2c *I2C) transmit(addr uint16, cmd []i2cCommand, timeoutMS int) error { timeoutNS := int64(timeoutMS) * 1000000 needAddress := true needRestart := false - readLast := false var readTo []byte for cmdIdx, reg := 0, &i2c.Bus.COMD0; cmdIdx < len(cmd); { c := &cmd[cmdIdx] @@ -310,7 +309,6 @@ func (i2c *I2C) transmit(addr uint16, cmd []i2cCommand, timeoutMS int) error { } if split { - readLast = true reg.Set(i2cCMD_READLAST | 1) reg = nextAddress(reg) readTo = c.data[c.head : c.head+bytes+1] // read bytes + 1 last byte @@ -342,7 +340,7 @@ func (i2c *I2C) transmit(addr uint16, cmd []i2cCommand, timeoutMS int) error { } } switch { - case mask&esp.I2C_INT_STATUS_ACK_ERR_INT_ST_Msk != 0 && !readLast: + case mask&esp.I2C_INT_STATUS_ACK_ERR_INT_ST_Msk != 0: return errI2CAckExpected case mask&esp.I2C_INT_STATUS_TIME_OUT_INT_ST_Msk != 0: // timeout leaves the bus in an undefined state, reset