Merge pull request #31 from waveform80/nice-repr

Fix #25
This commit is contained in:
Ben Nuttall
2015-09-23 14:14:16 +01:00
2 changed files with 15 additions and 0 deletions

View File

@@ -31,6 +31,10 @@ class GPIODevice(object):
def is_active(self):
return self._read()
def __repr__(self):
return "<gpiozero.%s object on pin=%d, is_active=%s>" % (
self.__class__.__name__, self.pin, self.is_active)
_GPIO_THREADS = set()

View File

@@ -36,6 +36,10 @@ class InputDevice(GPIODevice):
def pull_up(self):
return self._pull_up
def __repr__(self):
return "<gpiozero.%s object on pin=%d, pull_up=%s, is_active=%s>" % (
self.__class__.__name__, self.pin, self.pull_up, self.is_active)
class WaitableInputDevice(InputDevice):
def __init__(self, pin=None, pull_up=False):
@@ -143,6 +147,13 @@ class SmoothedInputDevice(WaitableInputDevice):
self._queue = GPIOQueue(self, queue_len, sample_wait, partial)
self.threshold = float(threshold)
def __repr__(self):
if self.partial or self._queue.full.wait(0):
return super(SmoothedInputDevice, self).__repr__()
else:
return "<gpiozero.%s object on pin=%d, pull_up=%s>" % (
self.__class__.__name__, self.pin, self.pull_up)
@property
def queue_len(self):
return self._queue.queue.maxlen