mirror of
https://github.com/KevinMidboe/python-gpiozero.git
synced 2025-12-08 20:39:01 +00:00
Tidying up...
Dunno how many commits this PR is now!
This commit is contained in:
@@ -562,12 +562,8 @@ class RGBLED(SourceMixin, Device):
|
|||||||
raise GPIOPinMissing('red, green, and blue pins must be provided')
|
raise GPIOPinMissing('red, green, and blue pins must be provided')
|
||||||
LEDClass = PWMLED if pwm else LED
|
LEDClass = PWMLED if pwm else LED
|
||||||
super(RGBLED, self).__init__()
|
super(RGBLED, self).__init__()
|
||||||
try:
|
self._leds = tuple(LEDClass(pin, active_high) for pin in (red, green, blue))
|
||||||
self._leds = tuple(LEDClass(pin, active_high) for pin in (red, green, blue))
|
self.value = initial_value
|
||||||
self.value = initial_value
|
|
||||||
except:
|
|
||||||
self.close()
|
|
||||||
raise
|
|
||||||
|
|
||||||
red = _led_property(0)
|
red = _led_property(0)
|
||||||
green = _led_property(1)
|
green = _led_property(1)
|
||||||
|
|||||||
@@ -224,24 +224,22 @@ class PiPin(Pin):
|
|||||||
return self._when_changed
|
return self._when_changed
|
||||||
|
|
||||||
def _set_when_changed(self, value):
|
def _set_when_changed(self, value):
|
||||||
# Have to take care, if value is either a closure or a bound method,
|
|
||||||
# not to keep a strong reference to the containing object
|
|
||||||
with self._when_changed_lock:
|
with self._when_changed_lock:
|
||||||
if self._when_changed is None and value is not None:
|
if value is None:
|
||||||
|
if self._when_changed is not None:
|
||||||
|
self._disable_event_detect()
|
||||||
|
self._when_changed = None
|
||||||
|
else:
|
||||||
|
enabled = self._when_changed is not None
|
||||||
|
# Have to take care, if value is either a closure or a bound
|
||||||
|
# method, not to keep a strong reference to the containing
|
||||||
|
# object
|
||||||
if isinstance(value, MethodType):
|
if isinstance(value, MethodType):
|
||||||
self._when_changed = WeakMethod(value)
|
self._when_changed = WeakMethod(value)
|
||||||
else:
|
else:
|
||||||
self._when_changed = ref(value)
|
self._when_changed = ref(value)
|
||||||
self._enable_event_detect()
|
if not enabled:
|
||||||
elif self._when_changed is not None and value is None:
|
self._enable_event_detect()
|
||||||
self._disable_event_detect()
|
|
||||||
self._when_changed = None
|
|
||||||
elif value is None:
|
|
||||||
self._when_changed = None
|
|
||||||
elif isinstance(value, MethodType):
|
|
||||||
self._when_changed = WeakMethod(value)
|
|
||||||
else:
|
|
||||||
self._when_changed = ref(value)
|
|
||||||
|
|
||||||
def _enable_event_detect(self):
|
def _enable_event_detect(self):
|
||||||
raise NotImplementedError
|
raise NotImplementedError
|
||||||
|
|||||||
Reference in New Issue
Block a user