Skip to content

Commit c5776b9

Browse files
committed
Properly handle unavailable port value writes
1 parent a7c0ce2 commit c5776b9

File tree

2 files changed

+8
-6
lines changed

2 files changed

+8
-6
lines changed

qtoggleserver/rpigpio/rpigpio.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@
22

33
from RPi import GPIO
44

5-
from qtoggleserver.core import ports
5+
from qtoggleserver.core import ports as core_ports
66
from qtoggleserver.utils import json as json_utils
77

88

9-
class RPiGPIO(ports.Port):
10-
TYPE = ports.TYPE_BOOLEAN
9+
class RPiGPIO(core_ports.Port):
10+
TYPE = core_ports.TYPE_BOOLEAN
1111

1212
ADDITIONAL_ATTRDEFS = {
1313
'output': {
@@ -62,6 +62,7 @@ async def handle_enable(self) -> None:
6262
async def read_value(self) -> bool:
6363
return GPIO.input(self._no) == 1
6464

65+
@core_ports.skip_write_unavailable
6566
async def write_value(self, value: bool) -> None:
6667
self.debug('writing output value %s', json_utils.dumps(value))
6768
GPIO.output(self._no, value)

qtoggleserver/rpigpio/rpigpiofloat.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@
22

33
from RPi import GPIO
44

5-
from qtoggleserver.core import ports
5+
from qtoggleserver.core import ports as core_ports
66
from qtoggleserver.utils import json as json_utils
77

88

9-
class RPiGPIOFloat(ports.Port):
10-
TYPE = ports.TYPE_BOOLEAN
9+
class RPiGPIOFloat(core_ports.Port):
10+
TYPE = core_ports.TYPE_BOOLEAN
1111
WRITABLE = True
1212

1313
def __init__(self, no: int, def_value: Optional[bool] = None) -> None:
@@ -22,6 +22,7 @@ async def handle_enable(self) -> None:
2222
async def read_value(self) -> bool:
2323
return GPIO.gpio_function(self._no) == GPIO.OUT
2424

25+
@core_ports.skip_write_unavailable
2526
async def write_value(self, value: bool) -> None:
2627
self.debug('writing output value %s', json_utils.dumps(value))
2728

0 commit comments

Comments
 (0)