Skip to content

Commit 9f8e1dd

Browse files
committed
turn off all-call, set a default frequency
1 parent 4154413 commit 9f8e1dd

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

Adafruit_PWMServoDriver.cpp

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,8 @@ Adafruit_PWMServoDriver::Adafruit_PWMServoDriver(TwoWire *i2c, uint8_t addr) {
5858
void Adafruit_PWMServoDriver::begin(void) {
5959
_i2c->begin();
6060
reset();
61+
// set a default frequency
62+
setPWMFreq(1000);
6163
}
6264

6365

@@ -67,7 +69,8 @@ void Adafruit_PWMServoDriver::begin(void) {
6769
*/
6870
/**************************************************************************/
6971
void Adafruit_PWMServoDriver::reset(void) {
70-
write8(PCA9685_MODE1, 0x0);
72+
write8(PCA9685_MODE1, 0x80);
73+
delay(10);
7174
}
7275

7376
/**************************************************************************/
@@ -103,8 +106,8 @@ void Adafruit_PWMServoDriver::setPWMFreq(float freq) {
103106
write8(PCA9685_PRESCALE, prescale); // set the prescaler
104107
write8(PCA9685_MODE1, oldmode);
105108
delay(5);
106-
write8(PCA9685_MODE1, oldmode | 0xa1); // This sets the MODE1 register to turn on auto increment.
107-
// This is why the beginTransmission below was not working.
109+
write8(PCA9685_MODE1, oldmode | 0xa0); // This sets the MODE1 register to turn on auto increment.
110+
108111
#ifdef ENABLE_DEBUG_OUTPUT
109112
Serial.print("Mode now 0x"); Serial.println(read8(PCA9685_MODE1), HEX);
110113
#endif

0 commit comments

Comments
 (0)