From 3968749c5b7afb1b0ba3b275500e9eb774692b78 Mon Sep 17 00:00:00 2001 From: PauliusLiekis Date: Tue, 1 Jul 2014 02:05:25 +0300 Subject: [PATCH 1/2] Separated reset into a function --- Adafruit_PWM_Servo_Driver/Adafruit_PWM_Servo_Driver.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Adafruit_PWM_Servo_Driver/Adafruit_PWM_Servo_Driver.py b/Adafruit_PWM_Servo_Driver/Adafruit_PWM_Servo_Driver.py index 76ab5137..5b8975ad 100644 --- a/Adafruit_PWM_Servo_Driver/Adafruit_PWM_Servo_Driver.py +++ b/Adafruit_PWM_Servo_Driver/Adafruit_PWM_Servo_Driver.py @@ -30,6 +30,9 @@ def __init__(self, address=0x40, debug=False): self.i2c = Adafruit_I2C(address) self.address = address self.debug = debug + self.reset() + + def reset(self): if (self.debug): print "Reseting PCA9685" self.i2c.write8(self.__MODE1, 0x00) From f58d5f106f8f8ae4b6e97c6c96a29680550a059d Mon Sep 17 00:00:00 2001 From: PauliusLiekis Date: Tue, 1 Jul 2014 02:10:07 +0300 Subject: [PATCH 2/2] Properly resetting PCA9685 I found writing of this special by in C++ implementation: https://github.com/evankaufman/Adafruit_PCA9685_ServoControl/blob/master/PCA9685.h The specification also mentions this byte: http://www.adafruit.com/datasheets/PCA9685.pdf --- Adafruit_PWM_Servo_Driver/Adafruit_PWM_Servo_Driver.py | 1 + 1 file changed, 1 insertion(+) diff --git a/Adafruit_PWM_Servo_Driver/Adafruit_PWM_Servo_Driver.py b/Adafruit_PWM_Servo_Driver/Adafruit_PWM_Servo_Driver.py index 5b8975ad..2239a876 100644 --- a/Adafruit_PWM_Servo_Driver/Adafruit_PWM_Servo_Driver.py +++ b/Adafruit_PWM_Servo_Driver/Adafruit_PWM_Servo_Driver.py @@ -35,6 +35,7 @@ def __init__(self, address=0x40, debug=False): def reset(self): if (self.debug): print "Reseting PCA9685" + self.i2c.bus.write_byte(self.__MODE1, 0x06) self.i2c.write8(self.__MODE1, 0x00) def setPWMFreq(self, freq):