Merge pull request #9 from waveform80/pin-read-only

Fix #8
This commit is contained in:
Ben Nuttall
2015-09-17 11:11:51 +01:00

View File

@@ -13,13 +13,17 @@ class InputDevice(object):
if pin is None: if pin is None:
raise InputDeviceError('No GPIO pin number given') raise InputDeviceError('No GPIO pin number given')
self.pin = pin self._pin = pin
self._pull = GPIO.PUD_UP self._pull = GPIO.PUD_UP
self._edge = GPIO.FALLING self._edge = GPIO.FALLING
self._active_state = 0 self._active_state = 0
self._inactive_state = 1 self._inactive_state = 1
GPIO.setup(pin, GPIO.IN, self._pull) GPIO.setup(pin, GPIO.IN, self._pull)
@property
def pin(self):
return self._pin
@property @property
def is_active(self): def is_active(self):
return GPIO.input(self.pin) == self._active_state return GPIO.input(self.pin) == self._active_state
@@ -77,9 +81,13 @@ class LightSensor(object):
if pin is None: if pin is None:
raise InputDeviceError('No GPIO pin number given') raise InputDeviceError('No GPIO pin number given')
self.pin = pin self._pin = pin
self.darkness_level = darkness_level self.darkness_level = darkness_level
@property
def pin(self):
return self._pin
@property @property
def value(self): def value(self):
return self._get_average_light_level(5) return self._get_average_light_level(5)