mirror of
https://github.com/mofeng-git/One-KVM.git
synced 2026-01-29 09:01:54 +08:00
experimental edge mode
This commit is contained in:
@@ -57,6 +57,7 @@ class Plugin(BaseAtx): # pylint: disable=too-many-instance-attributes
|
||||
click_delay: float,
|
||||
long_click_delay: float,
|
||||
|
||||
edge_detection: bool,
|
||||
state_poll: float,
|
||||
) -> None:
|
||||
|
||||
@@ -76,6 +77,7 @@ class Plugin(BaseAtx): # pylint: disable=too-many-instance-attributes
|
||||
|
||||
self.__reader = gpio.BatchReader(
|
||||
pins=set([self.__power_led_pin, self.__hdd_led_pin]),
|
||||
edge_detection=edge_detection,
|
||||
interval=state_poll,
|
||||
notifier=self.__notifier,
|
||||
)
|
||||
@@ -93,7 +95,8 @@ class Plugin(BaseAtx): # pylint: disable=too-many-instance-attributes
|
||||
"click_delay": Option(0.1, type=valid_float_f01),
|
||||
"long_click_delay": Option(5.5, type=valid_float_f01),
|
||||
|
||||
"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),
|
||||
}
|
||||
|
||||
async def get_state(self) -> Dict:
|
||||
|
||||
@@ -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,
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user