X-Git-Url: https://git.ralfj.de/saartuer.git/blobdiff_plain/9a0250c32f71db043dc1690be985d92459a3dbff..09b7d1f18305c08306fb209b414d0be292d5b4e2:/tuerd?ds=sidebyside diff --git a/tuerd b/tuerd index 1bee788..8290c83 100755 --- a/tuerd +++ b/tuerd @@ -9,20 +9,31 @@ 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_machine = statemachine.StateMachine(the_actor) +the_waker = waker.Waker() +the_machine = statemachine.StateMachine(the_actor, the_waker, args.fallback) the_socket = tysock.TySocket(the_machine) the_pins = pins.PinsWatcher(the_machine) -the_waker = waker.Waker(the_machine) # we do the socket accept thing in the main thread try: @@ -33,8 +44,8 @@ except KeyboardInterrupt: pass # bring 'em all down -the_waker.stop() -the_pins.stop() +the_waker.stop() # this one first, it "randomly" calls other threads +the_pins.stop() # as does this the_machine.stop() the_actor.stop()