Skip to content

Commit 6664ce9

Browse files
committed
Use pointer for TwoWire
1 parent 32d165c commit 6664ce9

File tree

2 files changed

+23
-23
lines changed

2 files changed

+23
-23
lines changed

Adafruit_PWMServoDriver.cpp

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
* TwoWire interface
3636
*/
3737
Adafruit_PWMServoDriver::Adafruit_PWMServoDriver():
38-
_i2caddr(PCA9685_I2C_ADDRESS), _i2c(Wire) {
38+
_i2caddr(PCA9685_I2C_ADDRESS), _i2c(&Wire) {
3939
}
4040

4141
/*!
@@ -44,7 +44,7 @@ Adafruit_PWMServoDriver::Adafruit_PWMServoDriver():
4444
* @param addr The 7-bit I2C address to locate this chip, default is 0x40
4545
*/
4646
Adafruit_PWMServoDriver::Adafruit_PWMServoDriver(const uint8_t addr):
47-
_i2caddr(addr), _i2c(Wire) {
47+
_i2caddr(addr), _i2c(&Wire) {
4848
}
4949

5050
/*!
@@ -55,7 +55,7 @@ Adafruit_PWMServoDriver::Adafruit_PWMServoDriver(const uint8_t addr):
5555
* with
5656
*/
5757
Adafruit_PWMServoDriver::Adafruit_PWMServoDriver(const uint8_t addr, TwoWire& i2c) :
58-
_i2caddr(addr), _i2c(i2c) {
58+
_i2caddr(addr), _i2c(&i2c) {
5959
}
6060

6161
/*!
@@ -64,7 +64,7 @@ Adafruit_PWMServoDriver::Adafruit_PWMServoDriver(const uint8_t addr, TwoWire& i2
6464
* Sets External Clock (Optional)
6565
*/
6666
void Adafruit_PWMServoDriver::begin(uint8_t prescale) {
67-
_i2c.begin();
67+
_i2c->begin();
6868
reset();
6969
if (prescale) {
7070
setExtClk(prescale);
@@ -213,8 +213,8 @@ uint8_t Adafruit_PWMServoDriver::readPrescale(void)
213213
* @return requested PWM output value
214214
*/
215215
uint8_t Adafruit_PWMServoDriver::getPWM(uint8_t num) {
216-
_i2c.requestFrom((int)_i2caddr, PCA9685_LED0_ON_L + 4 * num, (int)4);
217-
return _i2c.read();
216+
_i2c->requestFrom((int)_i2caddr, PCA9685_LED0_ON_L + 4 * num, (int)4);
217+
return _i2c->read();
218218
}
219219

220220
/*!
@@ -233,13 +233,13 @@ void Adafruit_PWMServoDriver::setPWM(uint8_t num, uint16_t on, uint16_t off) {
233233
Serial.println(off);
234234
#endif
235235

236-
_i2c.beginTransmission(_i2caddr);
237-
_i2c.write(PCA9685_LED0_ON_L + 4 * num);
238-
_i2c.write(on);
239-
_i2c.write(on >> 8);
240-
_i2c.write(off);
241-
_i2c.write(off >> 8);
242-
_i2c.endTransmission();
236+
_i2c->beginTransmission(_i2caddr);
237+
_i2c->write(PCA9685_LED0_ON_L + 4 * num);
238+
_i2c->write(on);
239+
_i2c->write(on >> 8);
240+
_i2c->write(off);
241+
_i2c->write(off >> 8);
242+
_i2c->endTransmission();
243243
}
244244

245245
/*!
@@ -279,17 +279,17 @@ void Adafruit_PWMServoDriver::setPin(uint8_t num, uint16_t val, bool invert) {
279279
}
280280

281281
uint8_t Adafruit_PWMServoDriver::read8(uint8_t addr) {
282-
_i2c.beginTransmission(_i2caddr);
283-
_i2c.write(addr);
284-
_i2c.endTransmission();
282+
_i2c->beginTransmission(_i2caddr);
283+
_i2c->write(addr);
284+
_i2c->endTransmission();
285285

286-
_i2c.requestFrom((uint8_t)_i2caddr, (uint8_t)1);
287-
return _i2c.read();
286+
_i2c->requestFrom((uint8_t)_i2caddr, (uint8_t)1);
287+
return _i2c->read();
288288
}
289289

290290
void Adafruit_PWMServoDriver::write8(uint8_t addr, uint8_t d) {
291-
_i2c.beginTransmission(_i2caddr);
292-
_i2c.write(addr);
293-
_i2c.write(d);
294-
_i2c.endTransmission();
291+
_i2c->beginTransmission(_i2caddr);
292+
_i2c->write(addr);
293+
_i2c->write(d);
294+
_i2c->endTransmission();
295295
}

Adafruit_PWMServoDriver.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ class Adafruit_PWMServoDriver {
9191

9292
private:
9393
uint8_t _i2caddr;
94-
TwoWire& _i2c;
94+
TwoWire* _i2c;
9595

9696
uint8_t read8(uint8_t addr);
9797
void write8(uint8_t addr, uint8_t d);

0 commit comments

Comments
 (0)