From f476bbe45826b3e2c2fea69eac252f78549d7d67 Mon Sep 17 00:00:00 2001 From: Andrew Scheller Date: Mon, 22 Feb 2016 23:49:35 +0000 Subject: [PATCH] PiGPIOPin fixup raise correct exception for invalid pin numbers --- gpiozero/pins/pigpiod.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gpiozero/pins/pigpiod.py b/gpiozero/pins/pigpiod.py index f206da3..e7e5b5b 100644 --- a/gpiozero/pins/pigpiod.py +++ b/gpiozero/pins/pigpiod.py @@ -112,7 +112,11 @@ class PiGPIOPin(Pin): self._when_changed = None self._callback = None self._edges = pigpio.EITHER_EDGE - self._connection.set_mode(self._number, pigpio.INPUT) + try: + self._connection.set_mode(self._number, pigpio.INPUT) + except pigpio.error as e: + del cls._PINS[(host, port, number)] + raise ValueError(e) self._connection.set_pull_up_down(self._number, self.GPIO_PULL_UPS[self._pull]) self._connection.set_glitch_filter(self._number, 0) self._connection.set_PWM_range(self._number, 255)