]> Repositories - Adafruit_Blinka-hackapet.git/commitdiff
Enable spi init and read
authorFrancis Guevarra <francis@binho.io>
Mon, 18 Nov 2019 06:29:30 +0000 (22:29 -0800)
committerFrancis Guevarra <francis@binho.io>
Mon, 18 Nov 2019 06:29:30 +0000 (22:29 -0800)
src/adafruit_blinka/microcontroller/nova/spi.py
src/busio.py

index 345468ce9af314ec044d7cf636bc9c211577e96c..82e75b03fb5461f034a4ef39928f71d752270db3 100644 (file)
@@ -1,9 +1,9 @@
-from adafruit_blinka.microcontroller.nova.pin import Pin
+#from adafruit_blinka.microcontroller.nova.pin import Pin
 
 class SPI:
     MSB = 0
 
 
 class SPI:
     MSB = 0
 
-    def __init__(self):
+    def __init__(self, clock):
         from binhoHostAdapter import binhoHostAdapter
         from binhoHostAdapter import binhoUtilities
 
         from binhoHostAdapter import binhoHostAdapter
         from binhoHostAdapter import binhoUtilities
 
@@ -11,13 +11,13 @@ class SPI:
         devices = utilities.listAvailableDevices()
 
         if len(devices) > 0:
         devices = utilities.listAvailableDevices()
 
         if len(devices) > 0:
-
             self._nova = binhoHostAdapter.binhoHostAdapter(devices[0])
             self._nova.setOperationMode(0, 'SPI')
             self._nova = binhoHostAdapter.binhoHostAdapter(devices[0])
             self._nova.setOperationMode(0, 'SPI')
-            self._nova.setClockSPI(0, 12000000)
+            self._nova.setClockSPI(0, clock)
             self._nova.setModeSPI(0, 0)
             self._nova.setIOpinMode(0, 'DOUT')
             self._nova.setIOpinValue(0, 'HIGH')
             self._nova.setModeSPI(0, 0)
             self._nova.setIOpinMode(0, 'DOUT')
             self._nova.setIOpinValue(0, 'HIGH')
+            self._nova.beginSPI(0)
             # Cpol and Cpha set by mode
             # Mode  Cpol Cpha
             #  0     0    0
             # Cpol and Cpha set by mode
             # Mode  Cpol Cpha
             #  0     0    0
@@ -30,9 +30,15 @@ class SPI:
 
     def init(self, baudrate=100000, polarity=0, phase=0, bits=8,
                   firstbit=MSB, sck=None, mosi=None, miso=None):
 
     def init(self, baudrate=100000, polarity=0, phase=0, bits=8,
                   firstbit=MSB, sck=None, mosi=None, miso=None):
+        print("baudrate: " + baudrate)
+        print("mode: " + (polarity<<1) | (phase))
         self._nova.setClockSPI(0, baudrate)
         self._nova.setModeSPI(0, (polarity<<1) | (phase))
 
         self._nova.setClockSPI(0, baudrate)
         self._nova.setModeSPI(0, (polarity<<1) | (phase))
 
+    @staticmethod
+    def getSpiReceivedData(lineOutput):
+        return (lineOutput.split('RXD ')[1])
+
     @property
     def frequency(self):
         return self._nova.getClockSPI(0)
     @property
     def frequency(self):
         return self._nova.getClockSPI(0)
@@ -51,7 +57,7 @@ class SPI:
         end = end if end else len(buf)
         self._nova.setIOpinValue(0, 'LOW')
         for i in range(start, end):
         end = end if end else len(buf)
         self._nova.setIOpinValue(0, 'LOW')
         for i in range(start, end):
-            buf[start+i] = int(getSpiReceivedData(self._nova.transferSPI(0, 0x00)), 16)
+            buf[start+i] = int(self.getSpiReceivedData(self._nova.transferSPI(0, write_value)), 16)
         self._nova.setIOpinValue(0, 'HIGH')
 """
     def write_readinto(self, buffer_out, buffer_in,  out_start=0, out_end=None, in_start=0, in_end=None):
         self._nova.setIOpinValue(0, 'HIGH')
 """
     def write_readinto(self, buffer_out, buffer_in,  out_start=0, out_end=None, in_start=0, in_end=None):
index ac7a0930f2c450050b40376b50a8821d5a758210..17a7fc9998e7c306430c9bcb487b752e23f8a928 100755 (executable)
@@ -89,7 +89,7 @@ class SPI(Lockable):
         elif detector.board.binho_nova:
             from adafruit_blinka.microcontroller.nova.spi import SPI as _SPI
             #from adafruit_blinka.microcontroller.nova.pin import SCK, MOSI, MISO
         elif detector.board.binho_nova:
             from adafruit_blinka.microcontroller.nova.spi import SPI as _SPI
             #from adafruit_blinka.microcontroller.nova.pin import SCK, MOSI, MISO
-            self._spi = _SPI()
+            self._spi = _SPI(clock)
             #self._pins = (SCK, MOSI, MISO)
             return
         elif detector.board.any_embedded_linux:
             #self._pins = (SCK, MOSI, MISO)
             return
         elif detector.board.any_embedded_linux:
@@ -148,7 +148,7 @@ class SPI(Lockable):
             from adafruit_blinka.microcontroller.ft232h.pin import Pin
         elif detector.board.binho_nova:
             from adafruit_blinka.microcontroller.nova.spi import SPI as _SPI
             from adafruit_blinka.microcontroller.ft232h.pin import Pin
         elif detector.board.binho_nova:
             from adafruit_blinka.microcontroller.nova.spi import SPI as _SPI
-            from adafruit_blinka.microcontroller.nova.pin import Pin
+            #from adafruit_blinka.microcontroller.nova.pin import Pin
         else:
             from machine import SPI as _SPI
             from machine import Pin
         else:
             from machine import SPI as _SPI
             from machine import Pin