@@ -139,12 +139,13 @@ sfeTkError_t sfeTkArdI2C::writeRegisterWord(uint8_t devReg, uint16_t dataToWrite
139139// ---------------------------------------------------------------------------------
140140// writeRegisterRegionAddress()
141141//
142- // Writes an array of bytes of specified length to a given register on the
142+ // Writes an array of bytes of specified length to a given register on the
143143// target address
144144//
145145// Returns the number of bytes written, < 0 is an error
146146//
147- sfeTkError_t sfeTkArdI2C::writeRegisterRegionAddress (uint8_t *devReg, size_t regLength, const uint8_t *data, size_t length)
147+ sfeTkError_t sfeTkArdI2C::writeRegisterRegionAddress (uint8_t *devReg, size_t regLength, const uint8_t *data,
148+ size_t length)
148149{
149150 if (!_i2cPort)
150151 return kSTkErrBusNotInit ;
@@ -175,10 +176,10 @@ sfeTkError_t sfeTkArdI2C::writeRegisterRegion(uint8_t devReg, const uint8_t *dat
175176//
176177// Returns the number of bytes written, < 0 is an error
177178//
178- sfeTkError_t sfeTkArdI2C::writeRegister16Region (uint16_t devReg, uint8_t *data, size_t length)
179+ sfeTkError_t sfeTkArdI2C::writeRegister16Region (uint16_t devReg, const uint8_t *data, size_t length)
179180{
180181 devReg = ((devReg << 8 ) & 0xff00 ) | ((devReg >> 8 ) & 0x00ff );
181- return writeRegisterRegionAddress ((uint8_t *)&devReg, 2 , data, length);
182+ return writeRegisterRegionAddress ((uint8_t *)&devReg, 2 , data, length);
182183}
183184
184185// ---------------------------------------------------------------------------------
@@ -188,7 +189,8 @@ sfeTkError_t sfeTkArdI2C::writeRegister16Region(uint16_t devReg, uint8_t *data,
188189//
189190// Returns the number of bytes written, < 0 is an error
190191//
191- sfeTkError_t sfeTkArdI2C::readRegisterRegionAnyAddress (uint8_t *devReg, size_t regLength, uint8_t *data, size_t numBytes, size_t &readBytes)
192+ sfeTkError_t sfeTkArdI2C::readRegisterRegionAnyAddress (uint8_t *devReg, size_t regLength, uint8_t *data,
193+ size_t numBytes, size_t &readBytes)
192194{
193195
194196 // got port
@@ -198,7 +200,7 @@ sfeTkError_t sfeTkArdI2C::readRegisterRegionAnyAddress(uint8_t *devReg, size_t r
198200 // Buffer valid?
199201 if (!data)
200202 return kSTkErrBusNullBuffer ;
201-
203+
202204 readBytes = 0 ;
203205
204206 uint16_t nOrig = numBytes; // original number of bytes.
@@ -245,7 +247,6 @@ sfeTkError_t sfeTkArdI2C::readRegisterRegionAnyAddress(uint8_t *devReg, size_t r
245247 return (readBytes == nOrig) ? kSTkErrOk : kSTkErrBusUnderRead ; // Success
246248}
247249
248-
249250// ---------------------------------------------------------------------------------
250251// readRegisterByte()
251252//
@@ -317,9 +318,8 @@ sfeTkError_t sfeTkArdI2C::readRegisterRegion(uint8_t devReg, uint8_t *data, size
317318//
318319// Returns the number of bytes read, < 0 is an error
319320//
320- sfeTkError_t sfeTkArdI2C::readRegister16Region (uint16_t devReg, uint8_t *data, size_t numBytes)
321+ sfeTkError_t sfeTkArdI2C::readRegister16Region (uint16_t devReg, uint8_t *data, size_t numBytes, size_t &readBytes )
321322{
322- size_t readBytes = 0 ;
323- devReg = ((devReg << 8 ) & 0xff00 ) | ((devReg >> 8 ) & 0x00ff );
324- return readRegisterRegionAnyAddress ((uint8_t *)&devReg, 2 , data, numBytes, readBytes);
323+ devReg = ((devReg << 8 ) & 0xff00 ) | ((devReg >> 8 ) & 0x00ff );
324+ return readRegisterRegionAnyAddress ((uint8_t *)&devReg, 2 , data, numBytes, readBytes);
325325}
0 commit comments