cleanup script and refactoring

This commit is contained in:
Devaev Maxim 2018-06-28 06:03:51 +03:00
parent 0a3ab57639
commit cac56cd92f
5 changed files with 33 additions and 6 deletions

View File

@ -21,8 +21,8 @@ class Atx:
long_click_delay: float, long_click_delay: float,
) -> None: ) -> None:
self.__power_led = self.__set_output_pin(power_led) self.__power_led = self.__set_input_pin(power_led)
self.__hdd_led = self.__set_output_pin(hdd_led) self.__hdd_led = self.__set_input_pin(hdd_led)
self.__power_switch = self.__set_output_pin(power_switch) self.__power_switch = self.__set_output_pin(power_switch)
self.__reset_switch = self.__set_output_pin(reset_switch) self.__reset_switch = self.__set_output_pin(reset_switch)
@ -31,6 +31,10 @@ class Atx:
self.__lock = asyncio.Lock() self.__lock = asyncio.Lock()
def __set_input_pin(self, pin: int) -> int:
GPIO.setup(pin, GPIO.IN)
return pin
def __set_output_pin(self, pin: int) -> int: def __set_output_pin(self, pin: int) -> int:
GPIO.setup(pin, GPIO.OUT) GPIO.setup(pin, GPIO.OUT)
GPIO.output(pin, False) GPIO.output(pin, False)

View File

@ -0,0 +1,23 @@
import logging
from RPi import GPIO
from ...application import init
# =====
_logger = logging.getLogger(__name__)
def main() -> None:
config = init()
_logger.info("Cleaning up ...")
GPIO.setmode(GPIO.BCM)
for (key, pin) in [
*config["atx"]["switches"]["pinout"].items(),
*config["video"]["pinout"].items(),
]:
_logger.info("Writing value=0 to pin=%d (%s)", pin, key)
GPIO.output(pin, False)
GPIO.cleanup()
_logger.info("Done!")

View File

@ -0,0 +1,2 @@
from . import main
main()

View File

@ -47,7 +47,3 @@ def main() -> None:
loop.add_signal_handler(signal.SIGINT, loop.stop) loop.add_signal_handler(signal.SIGINT, loop.stop)
loop.create_task(_run_client(loop, options.url)) loop.create_task(_run_client(loop, options.url))
loop.run_forever() loop.run_forever()
if __name__ == "__main__":
main()

View File

@ -0,0 +1,2 @@
from . import main
main()