@@ -209,7 +209,7 @@ sfeTkError_t sfeTkArdI2C::writeRegisterRegion(uint8_t devReg, const uint8_t *dat
209209//
210210sfeTkError_t sfeTkArdI2C::writeRegister16Region (uint16_t devReg, const uint8_t *data, size_t length)
211211{
212- // devReg = ((devReg << 8) & 0xff00) | ((devReg >> 8) & 0x00ff);
212+ // Byteorder check
213213 if (sftk_system_byteorder () != _byteOrder)
214214 devReg = sftk_byte_swap (devReg);
215215 return writeRegisterRegionAddress ((uint8_t *)&devReg, 2 , data, length);
@@ -230,7 +230,7 @@ sfeTkError_t sfeTkArdI2C::writeRegister16Region16(uint16_t devReg, const uint16_
230230
231231 // okay, we need to swap
232232 devReg = sftk_byte_swap (devReg);
233- // devReg = ((devReg << 8) & 0xff00) | ((devReg >> 8) & 0x00ff);
233+
234234 uint16_t data16[length];
235235 for (size_t i = 0 ; i < length; i++)
236236 data16[i] = ((data[i] << 8 ) & 0xff00 ) | ((data[i] >> 8 ) & 0x00ff );
@@ -393,15 +393,16 @@ sfeTkError_t sfeTkArdI2C::readRegister16Region16(uint16_t devReg, uint16_t *data
393393{
394394 // if the system byte order is the same as the desired order, flip the address
395395 if (sftk_system_byteorder () != _byteOrder)
396- devReg = ((devReg << 8 ) & 0xff00 ) | ((devReg >> 8 ) & 0x00ff );
396+ devReg = sftk_byte_swap (devReg);
397+
397398
398399 sfeTkError_t status = readRegisterRegionAnyAddress ((uint8_t *)&devReg, 2 , (uint8_t *)data, numBytes * 2 , readWords);
399400
400401 // Do we need to flip the byte order?
401402 if (status == kSTkErrOk && sftk_system_byteorder () != _byteOrder)
402403 {
403404 for (size_t i = 0 ; i < numBytes; i++)
404- data[i] = (( data[i] << 8 ) & 0xff00 ) | ((data[i] >> 8 ) & 0x00ff );
405+ data[i] = sftk_byte_swap ( data[i]);
405406 }
406407 readWords = readWords / 2 ; // convert to words
407408 return status;
0 commit comments