X-Git-Url: https://git.ralfj.de/saartuer.git/blobdiff_plain/344d58d13b3ec1d7fb26d13de114d6e8afbe3218..0644bed139c320b03b54f1e5a4fecadc96fa67c8:/tuerd?ds=inline diff --git a/tuerd b/tuerd index 92c4122..942c495 100755 --- a/tuerd +++ b/tuerd @@ -1,6 +1,6 @@ #!/usr/bin/python3 import RPi.GPIO as GPIO -import statemachine, actor, pins, tysock, waker +import statemachine, actor, pins, tysock, waker, spaceapi from libtuer import logger import argparse @@ -30,23 +30,26 @@ GPIO.setmode(GPIO.BOARD) # bring 'em all up the_actor = actor.Actor() -the_machine = statemachine.StateMachine(the_actor, args.fallback) +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) -the_waker = waker.Waker(the_machine) # we do the socket accept thing in the main thread try: the_socket.accept() except KeyboardInterrupt: # this is what we waited for! - logger.info("Got SIGINT, terminating...") pass +logger.info("Terminating...") # somehow this does not arrive in the syslog + # 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_api.stop() the_actor.stop() # shutdown GPIO stuff