mirror of
https://github.com/KevinMidboe/python-gpiozero.git
synced 2025-10-29 17:50:37 +00:00
@@ -13,6 +13,9 @@ from ..exc import (
|
|||||||
PinInvalidFunction,
|
PinInvalidFunction,
|
||||||
PinSetInput,
|
PinSetInput,
|
||||||
PinFixedPull,
|
PinFixedPull,
|
||||||
|
PinInvalidPull,
|
||||||
|
PinInvalidState,
|
||||||
|
PinPWMFixedValue,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@@ -46,7 +49,7 @@ class RPiGPIOPin(Pin):
|
|||||||
'output': GPIO.OUT,
|
'output': GPIO.OUT,
|
||||||
'i2c': GPIO.I2C,
|
'i2c': GPIO.I2C,
|
||||||
'spi': GPIO.SPI,
|
'spi': GPIO.SPI,
|
||||||
'pwm': GPIO.PWM,
|
'pwm': GPIO.HARD_PWM,
|
||||||
'serial': GPIO.SERIAL,
|
'serial': GPIO.SERIAL,
|
||||||
'unknown': GPIO.UNKNOWN,
|
'unknown': GPIO.UNKNOWN,
|
||||||
}
|
}
|
||||||
@@ -118,9 +121,9 @@ class RPiGPIOPin(Pin):
|
|||||||
def _set_function(self, value):
|
def _set_function(self, value):
|
||||||
if value != 'input':
|
if value != 'input':
|
||||||
self._pull = 'floating'
|
self._pull = 'floating'
|
||||||
try:
|
if value in ('input', 'output') and value in self.GPIO_FUNCTIONS:
|
||||||
GPIO.setup(self._number, self.GPIO_FUNCTIONS[value], self.GPIO_PULL_UPS[self._pull])
|
GPIO.setup(self._number, self.GPIO_FUNCTIONS[value], self.GPIO_PULL_UPS[self._pull])
|
||||||
except KeyError:
|
else:
|
||||||
raise PinInvalidFunction('invalid function "%s" for pin %r' % (value, self))
|
raise PinInvalidFunction('invalid function "%s" for pin %r' % (value, self))
|
||||||
|
|
||||||
def _get_state(self):
|
def _get_state(self):
|
||||||
@@ -134,7 +137,7 @@ class RPiGPIOPin(Pin):
|
|||||||
try:
|
try:
|
||||||
self._pwm.ChangeDutyCycle(value * 100)
|
self._pwm.ChangeDutyCycle(value * 100)
|
||||||
except ValueError:
|
except ValueError:
|
||||||
raise PinInvalidValue('invalid state "%s" for pin %r' % (value, self))
|
raise PinInvalidState('invalid state "%s" for pin %r' % (value, self))
|
||||||
self._duty_cycle = value
|
self._duty_cycle = value
|
||||||
else:
|
else:
|
||||||
try:
|
try:
|
||||||
|
|||||||
Reference in New Issue
Block a user