summaryrefslogtreecommitdiff
path: root/kvmd/plugins/ugpio/gpio.py
diff options
context:
space:
mode:
authorDevaev Maxim <[email protected]>2020-09-10 12:33:26 +0300
committerDevaev Maxim <[email protected]>2020-09-10 12:33:26 +0300
commit1d98f5ed046a5333aadc2abbef11dbb371f905f3 (patch)
tree39ee585f19dab2ab4ddb64aadf06618eef8d58a0 /kvmd/plugins/ugpio/gpio.py
parent23ad91060670a980bff2ebf5ea6356ebedd89411 (diff)
experimental edge mode
Diffstat (limited to 'kvmd/plugins/ugpio/gpio.py')
-rw-r--r--kvmd/plugins/ugpio/gpio.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/kvmd/plugins/ugpio/gpio.py b/kvmd/plugins/ugpio/gpio.py
index 90426e13..d9056d59 100644
--- a/kvmd/plugins/ugpio/gpio.py
+++ b/kvmd/plugins/ugpio/gpio.py
@@ -29,6 +29,7 @@ from ... import gpio
from ...yamlconf import Option
+from ...validators.basic import valid_bool
from ...validators.basic import valid_float_f01
from . import BaseUserGpioDriver
@@ -41,11 +42,13 @@ class Plugin(BaseUserGpioDriver):
instance_name: str,
notifier: aiotools.AioNotifier,
+ edge_detection: bool,
state_poll: float,
) -> None:
super().__init__(instance_name, notifier)
+ self.__edge_detection = edge_detection
self.__state_poll = state_poll
self.__input_pins: Set[int] = set()
@@ -56,7 +59,8 @@ class Plugin(BaseUserGpioDriver):
@classmethod
def get_plugin_options(cls) -> Dict:
return {
- "state_poll": Option(0.1, type=valid_float_f01),
+ "edge_detection": Option(False, type=valid_bool),
+ "state_poll": Option(0.1, type=valid_float_f01),
}
def register_input(self, pin: int) -> None:
@@ -75,6 +79,7 @@ class Plugin(BaseUserGpioDriver):
for (pin, initial) in self.__output_pins.items()
],
]),
+ edge_detection=self.__edge_detection,
interval=self.__state_poll,
notifier=self._notifier,
)