Commit 82c945d5 authored by Ralf's avatar Ralf
Browse files

more information in the logfile

parent 73cd08c8
......@@ -12,15 +12,19 @@ class Actor:
CMD_RED_OFF = 6
class CMD():
def __init__(self, name, pin, tid, todo):
def __init__(self, name, pin, tid, todo, verbose = True):
self.name = name
self.pin = pin
self.tid = tid
self.todo = todo
self.verbose = verbose
# don't do the GPIO setup here, the main init did not yet run
def execute(self):
logger.info("Actor: Running command %s" % self.name)
if self.verbose:
logger.info("Actor: Running command %s" % self.name)
else:
logger.debug("Actor: Running command %s" % self.name)
for (value, delay) in self.todo:
if value is not None:
logger.debug("Actor: Setting pin %d to %d" % (self.pin, value))
......@@ -32,10 +36,10 @@ class Actor:
CMD_UNLOCK: CMD("unlock", pin=12, tid=0, todo=[(True, 0.3), (False, 0.1)]),
CMD_LOCK: CMD("lock", pin=16, tid=0, todo=[(True, 0.3), (False, 0.1)]),
CMD_BUZZ: CMD("buzz", pin=22, tid=1, todo=[(True, 2.5), (False, 0.1)]),
CMD_GREEN_ON: CMD("green on", pin=23, tid=2, todo=[(True, 0)]),
CMD_GREEN_OFF: CMD("green off", pin=23, tid=2, todo=[(False, 0)]),
CMD_RED_ON: CMD("red on", pin=26, tid=2, todo=[(True, 0)]),
CMD_RED_OFF: CMD("red off", pin=26, tid=2, todo=[(False, 0)]),
CMD_GREEN_ON: CMD("green on", pin=23, tid=2, verbose=False, todo=[(True, 0)]),
CMD_GREEN_OFF: CMD("green off", pin=23, tid=2, verbose=False, todo=[(False, 0)]),
CMD_RED_ON: CMD("red on", pin=26, tid=2, verbose=False, todo=[(True, 0)]),
CMD_RED_OFF: CMD("red off", pin=26, tid=2, verbose=False, todo=[(False, 0)]),
}
def __init__(self):
......
......@@ -63,9 +63,8 @@ def fire_and_forget(f):
def _fire_and_forget():
try:
f()
except Exception as e:
logger.critical("fire_and_forget: Got exception out of callback: %s" % str(e))
logger.debug(traceback.format_exc())
except Exception:
logger.critical("fire_and_forget: Got exception out of callback:\n%s" % traceback.format_exc())
t = threading.Thread(target=_fire_and_forget)
t.start()
......@@ -100,8 +99,7 @@ class ThreadFunction():
try:
self._f(*data)
except Exception as e:
logger.critical("ThreadFunction: Got exception out of handler thread %s: %s" % (self.name, str(e)))
logger.debug(traceback.format_exc())
logger.critical("ThreadFunction: Got exception out of handler thread %s:\n%s" % (self.name, traceback.format_exc()))
elif cmd == ThreadFunction._TERM:
assert data is None
break
......@@ -139,8 +137,7 @@ class ThreadRepeater():
try:
self._f()
except Exception as e:
logger.critical("ThreadRepeater: Got exception out of handler thread %s: %s" % (self.name, str(e)))
logger.debug(traceback.format_exc())
logger.critical("ThreadRepeater: Got exception out of handler thread %s:\n%s" % (self.name, traceback.format_exc()))
time.sleep(self._sleep_time)
def stop(self):
......
......@@ -380,6 +380,6 @@ class StateMachine():
while newstate is not None:
assert isinstance(newstate, StateMachine.State), "I should get a state"
self.current_state.on_leave()
logger.debug("StateMachine: Doing state transition %s -> %s" % (self.current_state.__class__.__name__, newstate.__class__.__name__))
logger.info("StateMachine: Doing state transition %s -> %s" % (self.current_state.__class__.__name__, newstate.__class__.__name__))
self.current_state = newstate
newstate = self.current_state.handle_event(StateMachine.CMD_PINS, self.pins)
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment