Skip to content

Commit b388531

Browse files
Hananja from Raspberry Pi Zero 2 WHananja from Raspberry Pi Zero 2 W
authored andcommitted
Remove wireObj argument
1 parent 0a2db6e commit b388531

5 files changed

Lines changed: 326 additions & 342 deletions

File tree

LinuxI2CDev/I2Cdev/I2Cdev.cpp

Lines changed: 34 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -73,9 +73,9 @@ void I2Cdev::initialize(const char* devPath) {
7373
* @param timeout Optional read timeout in milliseconds (0 to disable, leave off to use default class value in I2Cdev::readTimeout)
7474
* @return Status of read operation (true = success)
7575
*/
76-
int8_t I2Cdev::readBit(uint8_t devAddr, uint8_t regAddr, uint8_t bitNum, uint8_t *data, uint16_t timeout, void *wireObj) {
76+
int8_t I2Cdev::readBit(uint8_t devAddr, uint8_t regAddr, uint8_t bitNum, uint8_t *data, uint16_t timeout) {
7777
uint8_t b;
78-
uint8_t count = readByte(devAddr, regAddr, &b, timeout, wireObj);
78+
uint8_t count = readByte(devAddr, regAddr, &b, timeout);
7979
*data = b & (1 << bitNum);
8080
return count;
8181
}
@@ -88,9 +88,9 @@ int8_t I2Cdev::readBit(uint8_t devAddr, uint8_t regAddr, uint8_t bitNum, uint8_t
8888
* @param timeout Optional read timeout in milliseconds (0 to disable, leave off to use default class value in I2Cdev::readTimeout)
8989
* @return Status of read operation (true = success)
9090
*/
91-
int8_t I2Cdev::readBitW(uint8_t devAddr, uint8_t regAddr, uint8_t bitNum, uint16_t *data, uint16_t timeout, void *wireObj) {
91+
int8_t I2Cdev::readBitW(uint8_t devAddr, uint8_t regAddr, uint8_t bitNum, uint16_t *data, uint16_t timeout) {
9292
uint16_t b;
93-
uint8_t count = readWord(devAddr, regAddr, &b, timeout, wireObj);
93+
uint8_t count = readWord(devAddr, regAddr, &b, timeout);
9494
*data = b & (1 << bitNum);
9595
return count;
9696
}
@@ -104,14 +104,14 @@ int8_t I2Cdev::readBitW(uint8_t devAddr, uint8_t regAddr, uint8_t bitNum, uint16
104104
* @param timeout Optional read timeout in milliseconds (0 to disable, leave off to use default class value in I2Cdev::readTimeout)
105105
* @return Status of read operation (true = success)
106106
*/
107-
int8_t I2Cdev::readBits(uint8_t devAddr, uint8_t regAddr, uint8_t bitStart, uint8_t length, uint8_t *data, uint16_t timeout, void *wireObj) {
107+
int8_t I2Cdev::readBits(uint8_t devAddr, uint8_t regAddr, uint8_t bitStart, uint8_t length, uint8_t *data, uint16_t timeout) {
108108
// 01101001 read byte
109109
// 76543210 bit numbers
110110
// xxx args: bitStart=4, length=3
111111
// 010 masked
112112
// -> 010 shifted
113113
uint8_t count, b;
114-
if ((count = readByte(devAddr, regAddr, &b, timeout, wireObj)) != 0) {
114+
if ((count = readByte(devAddr, regAddr, &b, timeout)) != 0) {
115115
uint8_t mask = ((1 << length) - 1) << (bitStart - length + 1);
116116
b &= mask;
117117
b >>= (bitStart - length + 1);
@@ -129,15 +129,15 @@ int8_t I2Cdev::readBits(uint8_t devAddr, uint8_t regAddr, uint8_t bitStart, uint
129129
* @param timeout Optional read timeout in milliseconds (0 to disable, leave off to use default class value in I2Cdev::readTimeout)
130130
* @return Status of read operation (1 = success, 0 = failure, -1 = timeout)
131131
*/
132-
int8_t I2Cdev::readBitsW(uint8_t devAddr, uint8_t regAddr, uint8_t bitStart, uint8_t length, uint16_t *data, uint16_t timeout, void *wireObj) {
132+
int8_t I2Cdev::readBitsW(uint8_t devAddr, uint8_t regAddr, uint8_t bitStart, uint8_t length, uint16_t *data, uint16_t timeout) {
133133
// 1101011001101001 read byte
134134
// fedcba9876543210 bit numbers
135135
// xxx args: bitStart=12, length=3
136136
// 010 masked
137137
// -> 010 shifted
138138
uint8_t count;
139139
uint16_t w;
140-
if ((count = readWord(devAddr, regAddr, &w, timeout, wireObj)) != 0) {
140+
if ((count = readWord(devAddr, regAddr, &w, timeout)) != 0) {
141141
uint16_t mask = ((1 << length) - 1) << (bitStart - length + 1);
142142
w &= mask;
143143
w >>= (bitStart - length + 1);
@@ -153,8 +153,8 @@ int8_t I2Cdev::readBitsW(uint8_t devAddr, uint8_t regAddr, uint8_t bitStart, uin
153153
* @param timeout Optional read timeout in milliseconds (0 to disable, leave off to use default class value in I2Cdev::readTimeout)
154154
* @return Status of read operation (true = success)
155155
*/
156-
int8_t I2Cdev::readByte(uint8_t devAddr, uint8_t regAddr, uint8_t *data, uint16_t timeout, void *wireObj) {
157-
return readBytes(devAddr, regAddr, 1, data, timeout, wireObj);
156+
int8_t I2Cdev::readByte(uint8_t devAddr, uint8_t regAddr, uint8_t *data, uint16_t timeout) {
157+
return readBytes(devAddr, regAddr, 1, data, timeout);
158158
}
159159

160160
/** Read single word from a 16-bit device register.
@@ -164,8 +164,8 @@ int8_t I2Cdev::readByte(uint8_t devAddr, uint8_t regAddr, uint8_t *data, uint16_
164164
* @param timeout Optional read timeout in milliseconds (0 to disable, leave off to use default class value in I2Cdev::readTimeout)
165165
* @return Status of read operation (true = success)
166166
*/
167-
int8_t I2Cdev::readWord(uint8_t devAddr, uint8_t regAddr, uint16_t *data, uint16_t timeout, void *wireObj) {
168-
return readWords(devAddr, regAddr, 1, data, timeout, wireObj);
167+
int8_t I2Cdev::readWord(uint8_t devAddr, uint8_t regAddr, uint16_t *data, uint16_t timeout) {
168+
return readWords(devAddr, regAddr, 1, data, timeout);
169169
}
170170

171171
/** Read multiple bytes from an 8-bit device register.
@@ -176,7 +176,7 @@ int8_t I2Cdev::readWord(uint8_t devAddr, uint8_t regAddr, uint16_t *data, uint16
176176
* @param timeout Optional read timeout in milliseconds (0 to disable, leave off to use default class value in I2Cdev::readTimeout)
177177
* @return Number of bytes read (-1 indicates failure)
178178
*/
179-
int8_t I2Cdev::readBytes(uint8_t devAddr, uint8_t regAddr, uint8_t length, uint8_t *data, uint16_t timeout, void *wireObj) {
179+
int8_t I2Cdev::readBytes(uint8_t devAddr, uint8_t regAddr, uint8_t length, uint8_t *data, uint16_t timeout) {
180180
int fd = open(i2cDev, O_RDWR);
181181
if (fd < 0) {
182182
fprintf(stderr, "Failed to open i2c device %s: %s\n", i2cDev, strerror(errno));
@@ -210,10 +210,10 @@ int8_t I2Cdev::readBytes(uint8_t devAddr, uint8_t regAddr, uint8_t length, uint8
210210
* @param timeout Optional read timeout in milliseconds (0 to disable, leave off to use default class value in I2Cdev::readTimeout)
211211
* @return Number of words read (-1 indicates failure)
212212
*/
213-
int8_t I2Cdev::readWords(uint8_t devAddr, uint8_t regAddr, uint8_t length, uint16_t *data, uint16_t timeout, void *wireObj) {
213+
int8_t I2Cdev::readWords(uint8_t devAddr, uint8_t regAddr, uint8_t length, uint16_t *data, uint16_t timeout) {
214214
uint8_t buff[length * 2];
215215

216-
if (readBytes(devAddr, regAddr, length * 2, buff, timeout, wireObj) > 0)
216+
if (readBytes(devAddr, regAddr, length * 2, buff, timeout) > 0)
217217
{
218218
for (int i = 0; i < length; i++)
219219
{
@@ -232,11 +232,11 @@ int8_t I2Cdev::readWords(uint8_t devAddr, uint8_t regAddr, uint8_t length, uint1
232232
* @param value New bit value to write
233233
* @return Status of operation (true = success)
234234
*/
235-
bool I2Cdev::writeBit(uint8_t devAddr, uint8_t regAddr, uint8_t bitNum, uint8_t data, void *wireObj) {
235+
bool I2Cdev::writeBit(uint8_t devAddr, uint8_t regAddr, uint8_t bitNum, uint8_t data) {
236236
uint8_t b;
237-
readByte(devAddr, regAddr, &b, I2Cdev::readTimeout, wireObj);
237+
readByte(devAddr, regAddr, &b, I2Cdev::readTimeout);
238238
b = (data != 0) ? (b | (1 << bitNum)) : (b & ~(1 << bitNum));
239-
return writeByte(devAddr, regAddr, b, wireObj);
239+
return writeByte(devAddr, regAddr, b);
240240
}
241241

242242
/** write a single bit in a 16-bit device register.
@@ -246,11 +246,11 @@ bool I2Cdev::writeBit(uint8_t devAddr, uint8_t regAddr, uint8_t bitNum, uint8_t
246246
* @param value New bit value to write
247247
* @return Status of operation (true = success)
248248
*/
249-
bool I2Cdev::writeBitW(uint8_t devAddr, uint8_t regAddr, uint8_t bitNum, uint16_t data, void *wireObj) {
249+
bool I2Cdev::writeBitW(uint8_t devAddr, uint8_t regAddr, uint8_t bitNum, uint16_t data) {
250250
uint16_t w;
251-
readWord(devAddr, regAddr, &w, I2Cdev::readTimeout, wireObj);
251+
readWord(devAddr, regAddr, &w, I2Cdev::readTimeout);
252252
w = (data != 0) ? (w | (1 << bitNum)) : (w & ~(1 << bitNum));
253-
return writeWord(devAddr, regAddr, w, wireObj);
253+
return writeWord(devAddr, regAddr, w);
254254
}
255255

256256
/** Write multiple bits in an 8-bit device register.
@@ -261,7 +261,7 @@ bool I2Cdev::writeBitW(uint8_t devAddr, uint8_t regAddr, uint8_t bitNum, uint16_
261261
* @param data Right-aligned value to write
262262
* @return Status of operation (true = success)
263263
*/
264-
bool I2Cdev::writeBits(uint8_t devAddr, uint8_t regAddr, uint8_t bitStart, uint8_t length, uint8_t data, void *wireObj) {
264+
bool I2Cdev::writeBits(uint8_t devAddr, uint8_t regAddr, uint8_t bitStart, uint8_t length, uint8_t data) {
265265
// 010 value to write
266266
// 76543210 bit numbers
267267
// xxx args: bitStart=4, length=3
@@ -270,13 +270,13 @@ bool I2Cdev::writeBits(uint8_t devAddr, uint8_t regAddr, uint8_t bitStart, uint8
270270
// 10100011 original & ~mask
271271
// 10101011 masked | value
272272
uint8_t b;
273-
if (readByte(devAddr, regAddr, &b, I2Cdev::readTimeout, wireObj) != 0) {
273+
if (readByte(devAddr, regAddr, &b, I2Cdev::readTimeout) != 0) {
274274
uint8_t mask = ((1 << length) - 1) << (bitStart - length + 1);
275275
data <<= (bitStart - length + 1); // shift data into correct position
276276
data &= mask; // zero all non-important bits in data
277277
b &= ~(mask); // zero all important bits in existing byte
278278
b |= data; // combine data with existing byte
279-
return writeByte(devAddr, regAddr, b, wireObj);
279+
return writeByte(devAddr, regAddr, b);
280280
} else {
281281
return false;
282282
}
@@ -290,7 +290,7 @@ bool I2Cdev::writeBits(uint8_t devAddr, uint8_t regAddr, uint8_t bitStart, uint8
290290
* @param data Right-aligned value to write
291291
* @return Status of operation (true = success)
292292
*/
293-
bool I2Cdev::writeBitsW(uint8_t devAddr, uint8_t regAddr, uint8_t bitStart, uint8_t length, uint16_t data, void *wireObj) {
293+
bool I2Cdev::writeBitsW(uint8_t devAddr, uint8_t regAddr, uint8_t bitStart, uint8_t length, uint16_t data) {
294294
// 010 value to write
295295
// fedcba9876543210 bit numbers
296296
// xxx args: bitStart=12, length=3
@@ -299,13 +299,13 @@ bool I2Cdev::writeBitsW(uint8_t devAddr, uint8_t regAddr, uint8_t bitStart, uint
299299
// 1010001110010110 original & ~mask
300300
// 1010101110010110 masked | value
301301
uint16_t w;
302-
if (readWord(devAddr, regAddr, &w, I2Cdev::readTimeout, wireObj) != 0) {
302+
if (readWord(devAddr, regAddr, &w, I2Cdev::readTimeout) != 0) {
303303
uint16_t mask = ((1 << length) - 1) << (bitStart - length + 1);
304304
data <<= (bitStart - length + 1); // shift data into correct position
305305
data &= mask; // zero all non-important bits in data
306306
w &= ~(mask); // zero all important bits in existing word
307307
w |= data; // combine data with existing word
308-
return writeWord(devAddr, regAddr, w, wireObj);
308+
return writeWord(devAddr, regAddr, w);
309309
} else {
310310
return false;
311311
}
@@ -317,8 +317,8 @@ bool I2Cdev::writeBitsW(uint8_t devAddr, uint8_t regAddr, uint8_t bitStart, uint
317317
* @param data New byte value to write
318318
* @return Status of operation (true = success)
319319
*/
320-
bool I2Cdev::writeByte(uint8_t devAddr, uint8_t regAddr, uint8_t data, void *wireObj) {
321-
return writeBytes(devAddr, regAddr, 1, &data, wireObj);
320+
bool I2Cdev::writeByte(uint8_t devAddr, uint8_t regAddr, uint8_t data) {
321+
return writeBytes(devAddr, regAddr, 1, &data);
322322
}
323323

324324
/** Write single word to a 16-bit device register.
@@ -327,8 +327,8 @@ bool I2Cdev::writeByte(uint8_t devAddr, uint8_t regAddr, uint8_t data, void *wir
327327
* @param data New word value to write
328328
* @return Status of operation (true = success)
329329
*/
330-
bool I2Cdev::writeWord(uint8_t devAddr, uint8_t regAddr, uint16_t data, void *wireObj) {
331-
return writeWords(devAddr, regAddr, 1, &data, wireObj);
330+
bool I2Cdev::writeWord(uint8_t devAddr, uint8_t regAddr, uint16_t data) {
331+
return writeWords(devAddr, regAddr, 1, &data);
332332
}
333333

334334
/** Write multiple bytes to an 8-bit device register.
@@ -338,7 +338,7 @@ bool I2Cdev::writeWord(uint8_t devAddr, uint8_t regAddr, uint16_t data, void *wi
338338
* @param data Buffer to copy new data from
339339
* @return Status of operation (true = success)
340340
*/
341-
bool I2Cdev::writeBytes(uint8_t devAddr, uint8_t regAddr, uint8_t length, uint8_t* data, void *wireObj) {
341+
bool I2Cdev::writeBytes(uint8_t devAddr, uint8_t regAddr, uint8_t length, uint8_t* data) {
342342
int fd = open(i2cDev, O_RDWR);
343343
if (fd < 0) {
344344
fprintf(stderr, "Failed to open i2c device %s: %s\n", i2cDev, strerror(errno));
@@ -372,7 +372,7 @@ bool I2Cdev::writeBytes(uint8_t devAddr, uint8_t regAddr, uint8_t length, uint8_
372372
* @param data Buffer to copy new data from
373373
* @return Status of operation (true = success)
374374
*/
375-
bool I2Cdev::writeWords(uint8_t devAddr, uint8_t regAddr, uint8_t length, uint16_t* data, void *wireObj) {
375+
bool I2Cdev::writeWords(uint8_t devAddr, uint8_t regAddr, uint8_t length, uint16_t* data) {
376376
uint8_t buff[length * 2];
377377

378378
for (int i = 0; i < length; i++)
@@ -381,7 +381,7 @@ bool I2Cdev::writeWords(uint8_t devAddr, uint8_t regAddr, uint8_t length, uint16
381381
buff[1 + 2 * i] = (uint8_t)(data[i] >> 0); //LSByte
382382
}
383383

384-
return writeBytes(devAddr, regAddr, length * 2, buff, wireObj);
384+
return writeBytes(devAddr, regAddr, length * 2, buff);
385385
}
386386

387387
/** Default timeout value for read operations.

LinuxI2CDev/I2Cdev/I2Cdev.h

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -76,23 +76,23 @@ class I2Cdev {
7676
I2Cdev();
7777

7878
static void initialize(const char* i2cDev);
79-
static int8_t readBit(uint8_t devAddr, uint8_t regAddr, uint8_t bitNum, uint8_t *data, uint16_t timeout=I2Cdev::readTimeout, void *wireObj=0);
80-
static int8_t readBitW(uint8_t devAddr, uint8_t regAddr, uint8_t bitNum, uint16_t *data, uint16_t timeout=I2Cdev::readTimeout, void *wireObj=0);
81-
static int8_t readBits(uint8_t devAddr, uint8_t regAddr, uint8_t bitStart, uint8_t length, uint8_t *data, uint16_t timeout=I2Cdev::readTimeout, void *wireObj=0);
82-
static int8_t readBitsW(uint8_t devAddr, uint8_t regAddr, uint8_t bitStart, uint8_t length, uint16_t *data, uint16_t timeout=I2Cdev::readTimeout, void *wireObj=0);
83-
static int8_t readByte(uint8_t devAddr, uint8_t regAddr, uint8_t *data, uint16_t timeout=I2Cdev::readTimeout, void *wireObj=0);
84-
static int8_t readWord(uint8_t devAddr, uint8_t regAddr, uint16_t *data, uint16_t timeout=I2Cdev::readTimeout, void *wireObj=0);
85-
static int8_t readBytes(uint8_t devAddr, uint8_t regAddr, uint8_t length, uint8_t *data, uint16_t timeout=I2Cdev::readTimeout, void *wireObj=0);
86-
static int8_t readWords(uint8_t devAddr, uint8_t regAddr, uint8_t length, uint16_t *data, uint16_t timeout=I2Cdev::readTimeout, void *wireObj=0);
79+
static int8_t readBit(uint8_t devAddr, uint8_t regAddr, uint8_t bitNum, uint8_t *data, uint16_t timeout=I2Cdev::readTimeout);
80+
static int8_t readBitW(uint8_t devAddr, uint8_t regAddr, uint8_t bitNum, uint16_t *data, uint16_t timeout=I2Cdev::readTimeout);
81+
static int8_t readBits(uint8_t devAddr, uint8_t regAddr, uint8_t bitStart, uint8_t length, uint8_t *data, uint16_t timeout=I2Cdev::readTimeout);
82+
static int8_t readBitsW(uint8_t devAddr, uint8_t regAddr, uint8_t bitStart, uint8_t length, uint16_t *data, uint16_t timeout=I2Cdev::readTimeout);
83+
static int8_t readByte(uint8_t devAddr, uint8_t regAddr, uint8_t *data, uint16_t timeout=I2Cdev::readTimeout);
84+
static int8_t readWord(uint8_t devAddr, uint8_t regAddr, uint16_t *data, uint16_t timeout=I2Cdev::readTimeout);
85+
static int8_t readBytes(uint8_t devAddr, uint8_t regAddr, uint8_t length, uint8_t *data, uint16_t timeout=I2Cdev::readTimeout);
86+
static int8_t readWords(uint8_t devAddr, uint8_t regAddr, uint8_t length, uint16_t *data, uint16_t timeout=I2Cdev::readTimeout);
8787

88-
static bool writeBit(uint8_t devAddr, uint8_t regAddr, uint8_t bitNum, uint8_t data, void *wireObj=0);
89-
static bool writeBitW(uint8_t devAddr, uint8_t regAddr, uint8_t bitNum, uint16_t data, void *wireObj=0);
90-
static bool writeBits(uint8_t devAddr, uint8_t regAddr, uint8_t bitStart, uint8_t length, uint8_t data, void *wireObj=0);
91-
static bool writeBitsW(uint8_t devAddr, uint8_t regAddr, uint8_t bitStart, uint8_t length, uint16_t data, void *wireObj=0);
92-
static bool writeByte(uint8_t devAddr, uint8_t regAddr, uint8_t data, void *wireObj=0);
93-
static bool writeWord(uint8_t devAddr, uint8_t regAddr, uint16_t data, void *wireObj=0);
94-
static bool writeBytes(uint8_t devAddr, uint8_t regAddr, uint8_t length, uint8_t *data, void *wireObj=0);
95-
static bool writeWords(uint8_t devAddr, uint8_t regAddr, uint8_t length, uint16_t *data, void *wireObj=0);
88+
static bool writeBit(uint8_t devAddr, uint8_t regAddr, uint8_t bitNum, uint8_t data);
89+
static bool writeBitW(uint8_t devAddr, uint8_t regAddr, uint8_t bitNum, uint16_t data);
90+
static bool writeBits(uint8_t devAddr, uint8_t regAddr, uint8_t bitStart, uint8_t length, uint8_t data);
91+
static bool writeBitsW(uint8_t devAddr, uint8_t regAddr, uint8_t bitStart, uint8_t length, uint16_t data);
92+
static bool writeByte(uint8_t devAddr, uint8_t regAddr, uint8_t data);
93+
static bool writeWord(uint8_t devAddr, uint8_t regAddr, uint16_t data);
94+
static bool writeBytes(uint8_t devAddr, uint8_t regAddr, uint8_t length, uint8_t *data);
95+
static bool writeWords(uint8_t devAddr, uint8_t regAddr, uint8_t length, uint16_t *data);
9696

9797
static uint16_t readTimeout;
9898
};

0 commit comments

Comments
 (0)