mirror of
				https://github.com/KevinMidboe/python-gpiozero.git
				synced 2025-10-29 17:50:37 +00:00 
			
		
		
		
	Fix #91
Override toggle() in PWMOutputDevice, and add reverse() to Motor and Robot
This commit is contained in:
		| @@ -347,6 +347,16 @@ class Robot(SourceMixin, CompositeDevice): | ||||
|         self._left.forward(speed) | ||||
|         self._right.backward(speed) | ||||
|  | ||||
|     def reverse(self): | ||||
|         """ | ||||
|         Reverse the robot's current motor directions. If the robot is currently | ||||
|         running full speed forward, it will run full speed backward. If the | ||||
|         roboto is turning left at half-speed, it will turn right at half-speed. | ||||
|         If the robot is currently stopped it will remain stopped. | ||||
|         """ | ||||
|         self._left.value = -self._left.value | ||||
|         self._right.value = -self._right.value | ||||
|  | ||||
|     def stop(self): | ||||
|         """ | ||||
|         Stop the robot. | ||||
|   | ||||
| @@ -255,6 +255,15 @@ class PWMOutputDevice(DigitalOutputDevice): | ||||
|         self._stop_blink() | ||||
|         self._write(value) | ||||
|  | ||||
|     def toggle(self): | ||||
|         """ | ||||
|         Toggle the state of the device. If the device is currently off | ||||
|         (`value` is 0.0), this changes it to "fully" on (`value` is 1.0).  If | ||||
|         the device has a duty cycle (`value`) of 0.1, this will toggle it to | ||||
|         0.9, and so on. | ||||
|         """ | ||||
|         self.value = 1.0 - self.value | ||||
|  | ||||
|     @property | ||||
|     def is_active(self): | ||||
|         """ | ||||
| @@ -414,6 +423,14 @@ class Motor(SourceMixin, CompositeDevice): | ||||
|         self._forward.off() | ||||
|         self._backward.value = speed | ||||
|  | ||||
|     def reverse(self): | ||||
|         """ | ||||
|         Reverse the current direction of the motor. If the motor is currently | ||||
|         idle this does nothing. Otherwise, the motor's direction will be | ||||
|         reversed at the current speed. | ||||
|         """ | ||||
|         self.value = -self.value | ||||
|  | ||||
|     def stop(self): | ||||
|         """ | ||||
|         Stop the motor | ||||
|   | ||||
		Reference in New Issue
	
	Block a user