From 2376a14ec17ecb3355e029e893c8e9e905a4f2da Mon Sep 17 00:00:00 2001 From: arendst Date: Tue, 28 Nov 2017 21:57:35 +0100 Subject: [PATCH] Fix I2cWrite Fix I2CWrite8 and 16 (#1267) --- sonoff/support.ino | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sonoff/support.ino b/sonoff/support.ino index cff8121f5..30ba4748c 100644 --- a/sonoff/support.ino +++ b/sonoff/support.ino @@ -814,10 +814,10 @@ bool I2cWrite(uint8_t addr, uint8_t reg, uint32_t val, uint8_t size) do { Wire.beginTransmission((uint8_t)addr); // start transmission to device Wire.write(reg); // sends register address to write to - uint8_t loops = size -1; - do { - Wire.write((val >> (8 * loops)) & 0xFF); // write data - } while(--loops); + uint8_t bytes = size; + while (bytes--) { + Wire.write((val >> (8 * bytes)) & 0xFF); // write data + } x--; } while (Wire.endTransmission(true) != 0 && x != 0); // end transmission return (x);