@@ -124,7 +124,7 @@ sfeTkError_t sfeTkArdI2C::writeRegisterByte(uint8_t devReg, uint8_t dataToWrite)
124
124
// ---------------------------------------------------------------------------------
125
125
// writeRegisterWord()
126
126
//
127
- // Writes a world to a given register.
127
+ // Writes a word to a given register.
128
128
//
129
129
// Returns true on success, false on failure
130
130
//
@@ -136,6 +136,14 @@ sfeTkError_t sfeTkArdI2C::writeRegisterWord(uint8_t devReg, uint16_t dataToWrite
136
136
return writeRegisterRegion (devReg, (uint8_t *)&dataToWrite, sizeof (uint16_t ));
137
137
}
138
138
139
+ // ---------------------------------------------------------------------------------
140
+ // writeRegisterRegionAddress()
141
+ //
142
+ // Writes an array of bytes of specified length to a given register on the
143
+ // target address
144
+ //
145
+ // Returns the number of bytes written, < 0 is an error
146
+ //
139
147
sfeTkError_t sfeTkArdI2C::writeRegisterRegionAddress (uint8_t *devReg, size_t regLength, const uint8_t *data, size_t length)
140
148
{
141
149
if (!_i2cPort)
@@ -167,26 +175,19 @@ sfeTkError_t sfeTkArdI2C::writeRegisterRegion(uint8_t devReg, const uint8_t *dat
167
175
//
168
176
// Returns the number of bytes written, < 0 is an error
169
177
//
170
- // sfeTkError_t sfeTkArdI2C::writeRegister16Region(uint16_t devReg, uint8_t *data, size_t length)
171
- // {
172
- // if (!_i2cPort)
173
- // return kSTkErrBusNotInit;
174
- // _i2cPort->beginTransmission(address());
175
- // _i2cPort->write((devReg >> 8) & 0xff);
176
- // _i2cPort->write(devReg & 0xff);
177
- // for(int i = 0; i < length; i++)
178
- // {
179
- // _i2cPort->write(data[i]);
180
- // }
181
- // return _i2cPort->endTransmission() ? kSTkErrFail : kSTkErrOk;
182
- // }
183
-
184
178
sfeTkError_t sfeTkArdI2C::writeRegister16Region (uint16_t devReg, uint8_t *data, size_t length)
185
179
{
186
180
devReg = ((devReg << 8 ) & 0xff00 ) | ((devReg >> 8 ) & 0x00ff );
187
181
return writeRegisterRegionAddress ((uint8_t *)&devReg, 2 , data, length);
188
182
}
189
183
184
+ // ---------------------------------------------------------------------------------
185
+ // readRegisterRegionAnyAddress()
186
+ //
187
+ // Reads an array of bytes to a register on the target address
188
+ //
189
+ // Returns the number of bytes written, < 0 is an error
190
+ //
190
191
sfeTkError_t sfeTkArdI2C::readRegisterRegionAnyAddress (uint8_t *devReg, size_t regLength, uint8_t *data, size_t numBytes, size_t &readBytes)
191
192
{
192
193
@@ -281,10 +282,11 @@ sfeTkError_t sfeTkArdI2C::readRegisterByte(uint8_t devReg, uint8_t &dataToRead)
281
282
282
283
return (nData == sizeof (uint8_t ) ? kSTkErrOk : kSTkErrFail );
283
284
}
285
+
284
286
// ---------------------------------------------------------------------------------
285
287
// readRegisterWord()
286
288
//
287
- // Reads a world to a given register.
289
+ // Reads a word to a given register.
288
290
//
289
291
// Returns true on success, false on failure
290
292
//
@@ -321,8 +323,6 @@ sfeTkError_t sfeTkArdI2C::readRegisterRegion(uint8_t devReg, uint8_t *data, size
321
323
sfeTkError_t sfeTkArdI2C::readRegister16Region (uint16_t devReg, uint8_t *data, size_t numBytes)
322
324
{
323
325
size_t readBytes = 0 ;
324
- devReg = ((devReg << 8 ) & 0xff00 ) | ((devReg >> 8 ) & 0x00ff );
325
- // _i2cPort->write((devReg >> 8) & 0xff);
326
- // _i2cPort->write(devReg & 0xff);
326
+ devReg = ((devReg << 8 ) & 0xff00 ) | ((devReg >> 8 ) & 0x00ff );
327
327
return readRegisterRegionAnyAddress ((uint8_t *)&devReg, 2 , data, numBytes, readBytes);
328
328
}
0 commit comments