mirror of
https://github.com/KevinMidboe/python-gpiozero.git
synced 2025-10-29 17:50:37 +00:00
@@ -64,9 +64,10 @@ class MockPin(Pin):
|
|||||||
|
|
||||||
def _set_state(self, value):
|
def _set_state(self, value):
|
||||||
if self._function == 'input':
|
if self._function == 'input':
|
||||||
raise PinSetInput()
|
raise PinSetInput('cannot set state of pin %r' % self)
|
||||||
assert self._function == 'output'
|
assert self._function == 'output'
|
||||||
assert 0 <= value <= 1
|
assert 0 <= value <= 1
|
||||||
|
value = bool(value)
|
||||||
if self._state != value:
|
if self._state != value:
|
||||||
t = time()
|
t = time()
|
||||||
self._state = value
|
self._state = value
|
||||||
@@ -77,7 +78,8 @@ class MockPin(Pin):
|
|||||||
return None
|
return None
|
||||||
|
|
||||||
def _set_frequency(self, value):
|
def _set_frequency(self, value):
|
||||||
raise PinPWMUnsupported()
|
if value is not None:
|
||||||
|
raise PinPWMUnsupported()
|
||||||
|
|
||||||
def _get_pull(self):
|
def _get_pull(self):
|
||||||
return self._pull
|
return self._pull
|
||||||
@@ -159,6 +161,18 @@ class MockPWMPin(MockPin):
|
|||||||
super(MockPWMPin, self).__init__(number)
|
super(MockPWMPin, self).__init__(number)
|
||||||
self._frequency = None
|
self._frequency = None
|
||||||
|
|
||||||
|
def _set_state(self, value):
|
||||||
|
if self._function == 'input':
|
||||||
|
raise PinSetInput('cannot set state of pin %r' % self)
|
||||||
|
assert self._function == 'output'
|
||||||
|
assert 0 <= value <= 1
|
||||||
|
value = float(value)
|
||||||
|
if self._state != value:
|
||||||
|
t = time()
|
||||||
|
self._state = value
|
||||||
|
self.states.append(PinState(t - self._last_change, value))
|
||||||
|
self._last_change = t
|
||||||
|
|
||||||
def _get_frequency(self):
|
def _get_frequency(self):
|
||||||
return self._frequency
|
return self._frequency
|
||||||
|
|
||||||
|
|||||||
@@ -24,8 +24,9 @@ def test_mock_pin_init():
|
|||||||
assert MockPin(2).number == 2
|
assert MockPin(2).number == 2
|
||||||
|
|
||||||
def test_mock_pin_frequency_unsupported():
|
def test_mock_pin_frequency_unsupported():
|
||||||
|
pin = MockPin(3)
|
||||||
|
pin.frequency = None
|
||||||
with pytest.raises(PinPWMUnsupported):
|
with pytest.raises(PinPWMUnsupported):
|
||||||
pin = MockPin(3)
|
|
||||||
pin.frequency = 100
|
pin.frequency = 100
|
||||||
|
|
||||||
def test_mock_pin_frequency_supported():
|
def test_mock_pin_frequency_supported():
|
||||||
|
|||||||
Reference in New Issue
Block a user