from libtuer import ThreadFunction, logger
import RPi.GPIO as GPIO
+import time
class Actor:
CMD_BUZZ = 0
- CMD_OPEN = 1
- CMD_CLOSE = 2
+ CMD_UNLOCK = 1
+ CMD_LOCK = 2
CMDs = {
- CMD_BUZZ: ("buzz", 12, [(True, 0.3), (False, 2.0)]),
- CMD_OPEN: ("open", 16, [(None, 0.2), (True, 0.3), (False, 1.0)]),
- CMD_CLOSE: ("close", 22, [(None, 0.2), (True, 0.3), (False, 1.0)]),
+ CMD_UNLOCK: ("unlock", 12, [(None, 0.2), (True, 0.3), (False, 0.5)]),
+ CMD_LOCK: ("lock", 16, [(None, 0.2), (True, 0.3), (False, 0.5)]),
+ CMD_BUZZ: ("buzz", 22, [(None, 0.2), (True, 2.0), (False, 0.5)]),
}
def __init__(self):
- self.act = ThreadFunction(self._act)
+ self.act = ThreadFunction(self._act, name="Actor")
for (name, pin, todo) in self.CMDs.values():
GPIO.setup(pin, GPIO.OUT)
logger.info("Actor: Running command %s" % name)
for (value, delay) in todo:
if value is not None:
+ logger.debug("Setting pin %d to %d" % (pin, value))
GPIO.output(pin, value)
time.sleep(delay)
else:
logger.error("Actor: Gut unknown command %d" % cmd)
def stop(self):
- pass
+ self.act.stop()