diff --git a/darkwater_640/darkwater_640.py b/darkwater_640/darkwater_640.py index 81252a1..eb11f20 100644 --- a/darkwater_640/darkwater_640.py +++ b/darkwater_640/darkwater_640.py @@ -219,10 +219,10 @@ class dw_Motor: return if (command == dw_Controller.FORWARD): self.MC.setPin(self.PHpin, 0) - self.MC._pwm.setPWM(self.ENpin, 0, speed*16) + self.MC._pwm.set_pwm(self.ENpin, 0, speed*16) if (command == dw_Controller.BACKWARD): self.MC.setPin(self.PHpin, 1) - self.MC._pwm.setPWM(self.ENpin, 0, speed*16) + self.MC._pwm.set_pwm(self.ENpin, 0, speed*16) if (command == dw_Controller.RELEASE): self.MC.setPin(self.PHpin, 0) self.MC.setPin(self.ENpin, 0) @@ -266,7 +266,7 @@ class dw_Servo: def setPWM(self, value): if(value > 0): - self.MC._pwm.setPWM(self.pin, 0, int(value) ) + self.MC._pwm.set_pwm(self.pin, 0, int(value) ) if(value == 0): self.off() @@ -313,9 +313,19 @@ class dw_Controller: if (value != 0) and (value != 1): raise NameError('Pin value must be 0 or 1!') if (value == 0): - self._pwm.setPWM(pin, 0, 4096) + self._pwm.set_pwm(pin, 0, 4096) if (value == 1): - self._pwm.setPWM(pin, 4096, 0) + self._pwm.set_pwm(pin, 4096, 0) + + def setAllPin(self, value): + if (pin < 0) or (pin > 15): + raise NameError('PWM pin must be between 0 and 15 inclusive') + if (value != 0) and (value != 1): + raise NameError('Pin value must be 0 or 1!') + if (value == 0): + self._pwm.set_all_pwm(0, 4096) + if (value == 1): + self._pwm.set_all_pwm(4096, 0) def getMotor(self, num): if (num < 1) or (num > 6): @@ -327,9 +337,26 @@ class dw_Controller: raise NameError('Servos must be between 1 and 2 inclusive') return self.servos[num-1] + def setAllPWM(self, value): + if(value > 0): + self._pwm.set_all_pwm(0, value) + if(value == 0): + self.allOff() + + def setAllPWMmS(self, value): + if(value > 0): + self._pwm.set_all_pwm(0, value) + if(value == 0): + self.allOff() + + def setAllPWMuS(self, value): + if(value > 0): + self._pwm.set_all_pwm(0, value) + if(value == 0): + self.allOff() + def allOff(self): - for y in range(5): - self.motors[y].run(dw_MotorCONTROL.RELEASE, 0) + this.setAllPin( 0 ); def translate(value, leftMin, leftMax, rightMin, rightMax): # Figure out how 'wide' each range is