Browse Source

added more FakeGPIO features

digital 8 years ago
parent
commit
93ca64b35a
1 changed files with 10 additions and 2 deletions
  1. 10 2
      pin/__init__.py

+ 10 - 2
pin/__init__.py

@@ -25,8 +25,14 @@ import curio
 import digilib.network
 
 class FakeGPIO(object):
+    OUT = "out"
+    IN = "in"
+    BCM = "broadcom"
     pin_values = {}
-    def setup()
+    def setup(self,pins,value):
+        lpin.debug("pin(s) {} set to {}".format(pins,value))
+    def setupmode(self,mode):
+        lpin.debug("mode set to {}".format(mode))
     def output(self,pins,value):
         lpin.debug("setting pin(s) {} to value {}".format(
             pins, value
@@ -40,11 +46,11 @@ class FakeGPIO(object):
 
 try:
     import RPi.GPIO as gpio
-    gpio.setmode(gpio.BCM)
 except:
     # print("Using FakeGPIO because RPi.GPIO was not found")
     gpio = FakeGPIO()
 
+gpio.setmode(gpio.BCM)
 log = logging.getLogger(__name__+"")
 lpin = logging.getLogger(__name__+".pin")
 
@@ -121,6 +127,7 @@ class PCEngine(PinControllerBase):
         self.pin_analog = self.make_digital_pin(pin_analog)
         self.pins.append(self.pin_on_off)
         self.pins.append(self.pin_analog)
+        gpio.setup(self.pins,gpio.OUT)
     def set_speed(self,speed):
         self.pin_analog.output(speed)
         self.speed = speed
@@ -177,6 +184,7 @@ class EnginesController(PinAPIBase):
 class LED(DigitalPin):
     def __init__(self,pin):
         super(DigitalPin,self).__init__(pin)
+        gpio.setup(pin,gpio.OUT)
     def on(self,command=None,respond=None):
         self.output(True)
     def off(self,command=None,respond=None):