summaryrefslogtreecommitdiff
path: root/kvmd/plugins/msd/relay/gpio.py
diff options
context:
space:
mode:
authorMaxim Devaev <[email protected]>2022-11-21 07:19:35 +0300
committerMaxim Devaev <[email protected]>2022-11-21 07:19:35 +0300
commitbe25f5a0268910616c8089cc200b8be69a9ed9d6 (patch)
tree0e840d5916e0baa1786fc8fb7f1d01494c2ef07c /kvmd/plugins/msd/relay/gpio.py
parent703cc2b9814793a974a50de222dbdaa0cf6ef3f3 (diff)
removed relay msd
Diffstat (limited to 'kvmd/plugins/msd/relay/gpio.py')
-rw-r--r--kvmd/plugins/msd/relay/gpio.py79
1 files changed, 0 insertions, 79 deletions
diff --git a/kvmd/plugins/msd/relay/gpio.py b/kvmd/plugins/msd/relay/gpio.py
deleted file mode 100644
index cec31f1a..00000000
--- a/kvmd/plugins/msd/relay/gpio.py
+++ /dev/null
@@ -1,79 +0,0 @@
-# ========================================================================== #
-# #
-# KVMD - The main PiKVM daemon. #
-# #
-# Copyright (C) 2018-2022 Maxim Devaev <[email protected]> #
-# #
-# This program is free software: you can redistribute it and/or modify #
-# it under the terms of the GNU General Public License as published by #
-# the Free Software Foundation, either version 3 of the License, or #
-# (at your option) any later version. #
-# #
-# This program is distributed in the hope that it will be useful, #
-# but WITHOUT ANY WARRANTY; without even the implied warranty of #
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
-# GNU General Public License for more details. #
-# #
-# You should have received a copy of the GNU General Public License #
-# along with this program. If not, see <https://www.gnu.org/licenses/>. #
-# #
-# ========================================================================== #
-
-
-import gpiod
-
-from .... import aiogp
-
-
-# =====
-class Gpio: # pylint: disable=too-many-instance-attributes
- def __init__(
- self,
- device_path: str,
- target_pin: int,
- reset_pin: int,
- reset_inverted: bool,
- reset_delay: float,
- ) -> None:
-
- self.__device_path = device_path
- self.__target_pin = target_pin
- self.__reset_pin = reset_pin
- self.__reset_inverted = reset_inverted
- self.__reset_delay = reset_delay
-
- self.__chip: (gpiod.Chip | None) = None
- self.__target_line: (gpiod.Line | None) = None
- self.__reset_line: (gpiod.Line | None) = None
-
- def open(self) -> None:
- assert self.__chip is None
- assert self.__target_line is None
- assert self.__reset_line is None
-
- self.__chip = gpiod.Chip(self.__device_path)
-
- self.__target_line = self.__chip.get_line(self.__target_pin)
- self.__target_line.request("kvmd::msd::target", gpiod.LINE_REQ_DIR_OUT, default_vals=[0])
-
- self.__reset_line = self.__chip.get_line(self.__reset_pin)
- self.__reset_line.request("kvmd::msd::reset", gpiod.LINE_REQ_DIR_OUT, default_vals=[int(self.__reset_inverted)])
-
- def close(self) -> None:
- if self.__chip:
- try:
- self.__chip.close()
- except Exception:
- pass
-
- def switch_to_local(self) -> None:
- assert self.__target_line
- self.__target_line.set_value(0)
-
- def switch_to_server(self) -> None:
- assert self.__target_line
- self.__target_line.set_value(1)
-
- async def reset(self) -> None:
- assert self.__reset_line
- await aiogp.pulse(self.__reset_line, self.__reset_delay, 0, self.__reset_inverted)