eapi
 Alle Klassen Funktionen
GPIODummy.py
1 # -*- coding: utf-8 -*-
2 
3 """Ein Modul, das verwendet wird, wenn kein Pi vorhanden ist. Es stellt
4 Dummy-Funktionalitäten bereit, die Ausgaben auf der Konsole machen.
5 """
6 
7 import random
8 import logging
9 
10 # Konstanten
11 BOARD = 1
12 IN = 2
13 OUT = 3
14 PUD_DOWN = 4
15 BOTH = 5
16 RISING = 6
17 
18 logging.basicConfig(level=logging.DEBUG)
19 log = logging.getLogger(__name__)
20 
21 __PINS = {}
22 
23 class PWM:
24  def __init__(self, pin, frequenz):
25  log.debug("PWM für pin {p} mit Frequenz {f}".format(p=pin, f=frequenz))
26 
27  def stop(self):
28  log.debug("Stoppe PWM")
29 
30  def start(self, frequenz):
31  log.debug("Starte PWM mit Frequenz " + str(frequenz))
32 
33  def ChangeDutyCycle(self, frequenz):
34  log.debug("Ändere DutyCycle auf Frequenz " + str(frequenz))
35 
36 
37 def __alle_pins_ausgeben():
38  s = "PIN-BELEGUNGEN: "
39  for p in __PINS:
40  s += "{pin}:{on} ".format(pin=p, on=__PINS[p])
41  log.debug(s)
42 
43 
44 def input(pin):
45  """Dummy Methode, die zufällig True oder False zurückgibt."""
46  r = random.randint(0, 1)
47  log.info("Zufälliger Input für Pin " + str(pin) + ": " + str(r==0))
48  if r == 0:
49  return True
50  else:
51  return False
52 
53 
54 def setmode(board):
55  """Macht nichts."""
56  log.info("Setze boardmode auf " + str(board))
57 
58 
59 def setup(pin, in_out):
60  """Macht nichts."""
61  global __PINS
62  log.info("Setup pin {p} modus {m}".format(p=pin, m=in_out))
63  if type(pin) is list:
64  for p in pin:
65  setup(p, in_out)
66  return
67 
68  __PINS[pin] = False
69 
70 
71 def output(pin, an_aus):
72  global __PINS
73  log.info("Output {a} an pin {p}".format(a=an_aus, p=pin))
74  __PINS[pin] = an_aus
75  __alle_pins_ausgeben()
76 
77 
78 def cleanup():
79  log.info("cleanup")
80 
81 
82 def add_event_detect(pin, flanke, callback, bouncetime):
83  log.info("Event registrieren für Pin " + str(pin))
84 
85 
86 def add_event_callback(pin, methode):
87  log.info("Registriere Callback Methode {m} für Pin {p}".format(m=methode, p=pin))
88