+++ /dev/null
-#!/usr/bin/python3
-import RPi.GPIO as GPIO
-import statemachine, actor, pins, tysock, waker, spaceapi
-from libtuer import logger
-import argparse
-
-# Parse arguments
-parser = argparse.ArgumentParser(description='Run a door')
-parser.add_argument("-d", "--debug",
- action="store_true", dest="debug",
- help="Don't send emails")
-parser.add_argument("-f", "--fallback",
- action="store_true", dest="fallback",
- help="Fallback mode for unfunctional hardware: Depend on less sensor input")
-args = parser.parse_args()
-if args.debug:
- import libtuer
- libtuer.mailAddress = []
-if args.fallback:
- logger.info("Starting in fallback mode")
-else:
- # to avoid exceptions or getting None
- args.fallback = False
-
-# Not let's go!
-logger.info("Starting up...")
-
-# initialize GPIO stuff
-GPIO.setmode(GPIO.BOARD)
-
-# bring 'em all up
-the_actor = actor.Actor()
-the_waker = waker.Waker()
-the_api = spaceapi.SpaceApi(the_waker)
-the_machine = statemachine.StateMachine(the_actor, the_waker, the_api, args.fallback)
-the_socket = tysock.TySocket(the_machine)
-the_pins = pins.PinsWatcher(the_machine)
-
-# we do the socket accept thing in the main thread
-try:
- the_socket.accept()
-except KeyboardInterrupt:
- # this is what we waited for!
- pass
-
-logger.info("Terminating...") # somehow this does not arrive in the syslog
-
-# bring 'em all down
-the_waker.stop() # this one first, it "randomly" calls other threads
-the_pins.stop() # as does this
-the_machine.stop()
-the_api.stop()
-the_actor.stop()
-
-# shutdown GPIO stuff
-GPIO.cleanup()