start implementing the new all-great tuerd
[saartuer.git] / tuerd
1 #!/usr/bin/python3
2 import RPi.GPIO as GPIO
3 import statemachine, actor, pins, tysock, waker
4
5 # initialize GPIO stuff
6 GPIO.setmode(GPIO.BOARD)
7
8 # bring 'em all up
9 the_actor = actor.Actor()
10 the_machine = statemachine.StateMachine(the_actor)
11 the_socket = tysock.TySocket(the_machine)
12 the_pins = pins.PinsWatcher(the_machine)
13 the_waker = waker.Waker(the_machine)
14
15 # we do the socket accept thing in the main thread
16 try:
17         the_socket.accept()
18 except KeyboardInterrupt:
19         # this is what we waited for!
20         pass
21
22 # bring 'em all down
23 the_waker.stop()
24 the_pins.stop()
25 the_socket.stop()
26 the_machine.stop()
27 the_actor.stop()
28
29 # shutdown GPIO stuff
30 GPIO.cleanup()