mirror of
				https://github.com/KevinMidboe/python-gpiozero.git
				synced 2025-10-29 17:50:37 +00:00 
			
		
		
		
	Change RGBLED interface from 0-100 to 0-255, close #40
This commit is contained in:
		| @@ -130,14 +130,14 @@ led = RGBLED(2, 3, 4) | |||||||
|  |  | ||||||
| | Property | Description | Type | | | Property | Description | Type | | ||||||
| | -------- | ----------- | ---- | | | -------- | ----------- | ---- | | ||||||
| | `red`    | The brightness value of the red LED (0 to 100).     | Integer | | | `red`    | The brightness value of the red LED (0 to 255).     | Integer | | ||||||
| | `green`  | The brightness value of the green LED (0 to 100).   | Integer | | | `green`  | The brightness value of the green LED (0 to 255).   | Integer | | ||||||
| | `blue`   | The brightness value of the blue LED (0 to 100).    | Integer | | | `blue`   | The brightness value of the blue LED (0 to 255).    | Integer | | ||||||
| | `rgb`    | The brightness values of the three LEDs (0 to 100). | Tuple   | | | `rgb`    | The brightness values of the three LEDs (0 to 255). | Tuple   | | ||||||
|  |  | ||||||
| ## Motor | ## Motor | ||||||
|  |  | ||||||
| Generic single-direction motor. | Generic bi-directional motor. | ||||||
|  |  | ||||||
| ### Wiring | ### Wiring | ||||||
|  |  | ||||||
|   | |||||||
| @@ -266,20 +266,20 @@ from time import sleep | |||||||
|  |  | ||||||
| led = RGBLED(red=9, green=10, blue=11) | led = RGBLED(red=9, green=10, blue=11) | ||||||
|  |  | ||||||
| led.red = 100  # full red | led.red = 255  # full red | ||||||
| led.red = 50  # half red | led.red = 128  # half red | ||||||
|  |  | ||||||
| led.rgb = (0, 100, 0)  # full green | led.rgb = (0, 255, 0)  # full green | ||||||
|  |  | ||||||
| led.rgb = (100, 0, 100)  # magenta | led.rgb = (255, 0, 255)  # magenta | ||||||
| led.rgb = (100, 100, 0)  # yellow | led.rgb = (255, 255, 0)  # yellow | ||||||
| led.rgb = (0, 100, 100)  # cyan | led.rgb = (0, 255, 100)  # cyan | ||||||
| led.rgb = (100, 100, 100)  # white | led.rgb = (255, 255, 255)  # white | ||||||
|  |  | ||||||
| led.rgb = (0, 0, 0)  # off | led.rgb = (0, 0, 0)  # off | ||||||
|  |  | ||||||
| # slowly increase intensity of blue | # slowly increase intensity of blue | ||||||
| for n in range(100): | for n in range(256): | ||||||
|     led.blue += 1 |     led.blue += 1 | ||||||
|     sleep(0.1) |     sleep(0.1) | ||||||
| ``` | ``` | ||||||
| @@ -365,7 +365,7 @@ from gpiozero import RGBLED, MCP3008 | |||||||
|  |  | ||||||
| def read_pot(channel): | def read_pot(channel): | ||||||
|     with MCP3008(channel=channel) as pot: |     with MCP3008(channel=channel) as pot: | ||||||
|         return 100 * pot.read() / 1023 |         return 255 * pot.read() / 1023 | ||||||
|  |  | ||||||
| led = RGBLED(red=2, green=3, blue=4) | led = RGBLED(red=2, green=3, blue=4) | ||||||
|  |  | ||||||
|   | |||||||
| @@ -238,7 +238,7 @@ class RGBLED(object): | |||||||
|  |  | ||||||
|     @red.setter |     @red.setter | ||||||
|     def red(self, value): |     def red(self, value): | ||||||
|         self._red.value = value |         self._red.value = self._validate(value) | ||||||
|  |  | ||||||
|     @property |     @property | ||||||
|     def green(self): |     def green(self): | ||||||
| @@ -246,7 +246,7 @@ class RGBLED(object): | |||||||
|  |  | ||||||
|     @green.setter |     @green.setter | ||||||
|     def green(self, value): |     def green(self, value): | ||||||
|         self._green.value = value |         self._green.value = self._validate(value) | ||||||
|  |  | ||||||
|     @property |     @property | ||||||
|     def blue(self): |     def blue(self): | ||||||
| @@ -254,21 +254,31 @@ class RGBLED(object): | |||||||
|  |  | ||||||
|     @blue.setter |     @blue.setter | ||||||
|     def blue(self, value): |     def blue(self, value): | ||||||
|         self._blue.value = value |         self._blue.value = self._validate(value) | ||||||
|  |  | ||||||
|     @property |     @property | ||||||
|     def rgb(self): |     def rgb(self): | ||||||
|         r = self._red.value |         r = self.red | ||||||
|         g = self._green.value |         g = self.green | ||||||
|         b = self._blue.value |         b = self.blue | ||||||
|         return (r, g, b) |         return (r, g, b) | ||||||
|  |  | ||||||
|     @rgb.setter |     @rgb.setter | ||||||
|     def rgb(self, values): |     def rgb(self, values): | ||||||
|         r, g, b = values |         r, g, b = values | ||||||
|         self._red.value = r |         self.red = r | ||||||
|         self._green.value = g |         self.green = g | ||||||
|         self._blue.value = b |         self.blue = b | ||||||
|  |  | ||||||
|  |     def _validate(self, value): | ||||||
|  |         _min = self._min_value | ||||||
|  |         _max = self._max_value | ||||||
|  |         if _min >= value >= _max: | ||||||
|  |             return value | ||||||
|  |         else: | ||||||
|  |             raise GPIODeviceError( | ||||||
|  |                 "Colour value must be between %s and %s" % (_min, _max) | ||||||
|  |             ) | ||||||
|  |  | ||||||
|  |  | ||||||
| class Motor(object): | class Motor(object): | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user