+++ /dev/null
-from libtuer import ThreadFunction, logger
-import RPi.GPIO as GPIO
-
-class Actor:
- CMD_BUZZ = 0
- CMD_OPEN = 1
- CMD_CLOSE = 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)]),
- }
-
- def __init__(self):
- self.act = ThreadFunction(self._act)
- for (name, pin, todo) in self.CMDs.values():
- GPIO.setup(pin, GPIO.OUT)
-
- def _act(self, cmd):
- if cmd in self.CMDs:
- (name, pin, todo) = self.CMDs[cmd]
- logger.info("Actor: Running command %s" % name)
- for (value, delay) in todo:
- if value is not None:
- GPIO.output(pin, value)
- time.sleep(delay)
- else:
- logger.error("Actor: Gut unknown command %d" % cmd)
-
- def stop(self):
- pass