]> Repositories - Adafruit_Blinka-hackapet.git/blobdiff - src/adafruit_blinka/microcontroller/nova/pin.py
Merge pull request #216 from binhollc/master
[Adafruit_Blinka-hackapet.git] / src / adafruit_blinka / microcontroller / nova / pin.py
index 945de2573fc6bbdd7bc6506b74e6b53a670166c3..235e4ec749bd84cbf11b777864f37de15795510a 100644 (file)
@@ -13,14 +13,8 @@ class Pin:
 
     def __init__(self, pin_id=None):
         if not Pin._nova:
-            from binhoHostAdapter import binhoHostAdapter
-            from binhoHostAdapter import binhoUtilities
-
-            utilities = binhoUtilities.binhoUtilities()
-            devices = utilities.listAvailableDevices()
-
-            if len(devices) > 0:
-                Pin._nova = binhoHostAdapter.binhoHostAdapter(devices[0])
+            from adafruit_blinka.microcontroller.nova import Connection
+            Pin._nova = Connection.getInstance()
         # check if pin is valid
         if pin_id > 4:
             raise ValueError("Invalid pin {}.".format(pin_id))
@@ -42,7 +36,7 @@ class Pin:
         if val is None:
             return int(Pin._nova.getIOpinValue(self.id).split('VALUE ')[1])
         # write
-        elif val in (self.LOW, self.HIGH):
+        if val in (self.LOW, self.HIGH):
             Pin._nova.setIOpinValue(self.id, val)
         else:
             raise RuntimeError("Invalid value for pin")
@@ -53,3 +47,26 @@ IO1 = Pin(1)
 IO2 = Pin(2)
 IO3 = Pin(3)
 IO4 = Pin(4)
+
+SCL = IO2
+SDA = IO0
+SCK = SCLK = IO3
+MOSI = IO4
+MISO = IO2
+SS0 = IO0
+SS1 = IO1
+
+PWM0 = IO0
+# No PWM support on IO1
+PWM2 = IO2
+PWM3 = IO3
+PWM4 = IO4
+
+# orderd as (channel, pin), id
+pwmOuts = (((1, 0), PWM0), ((1, 2), PWM2), ((1, 3), PWM3), ((1, 4), PWM4))
+
+UART1_TX = IO4
+UART1_RX = IO3
+
+# ordered as uartId, txId, rxId
+uartPorts = ((0, UART1_TX, UART1_RX), )