WIP
authorDan White <dan@whiteaudio.com>
Sat, 21 Apr 2012 03:14:11 +0000 (22:14 -0500)
committerDan White <dan@whiteaudio.com>
Sat, 21 Apr 2012 03:14:11 +0000 (22:14 -0500)
python-lib/mpsse-test.py
python-lib/usbio.py

index 7b61bb78314d7e97cdbc4a3fc4a342fa742024e1..202f470796be4807238f1e5f7d4841d43f14bd76 100644 (file)
@@ -1,7 +1,7 @@
 #!/usr/bin/env python
 
-import time
 import struct
+from time import sleep
 
 from myhdl import intbv
 from myhdl import bin as b
@@ -98,10 +98,10 @@ def w(v):
     spi.Stop()
 
 spi = AtoiSPI0(100e3)
-spi.SetLoopback(0)
+#spi.SetLoopback(0)
 
 
-i2c = AtoiI2C(10e3)
+i2c = AtoiI2C(100e3)
 
 
 ibias = usbio.AD524x(i2c, 0)
@@ -109,11 +109,28 @@ vatoi = usbio.AD524x(i2c, 2)
 v430 = usbio.AD524x(i2c, 3)
 
 
+#
+# Power supply testing
+#
+if 1:
+    v430.posA = 0
+    v430.update(True)
+    sleep(1)
+    v430.posA = 255
+    v430.update(True)
+    sleep(1)
+    v430.posB = 0
+    v430.update(True)
+    sleep(1)
+    v430.posB = 255
+    v430.update(True)
+
+
 
 #
 # DAC testing
 #
-if 1:
+if 0:
     #turn on internal reference always
     spi.SetCS('dac')
 
@@ -129,7 +146,8 @@ if 1:
     all_dacs_on[8:] = 0xff
     w(int2str(all_dacs_on, 32))
 
-    w(dacval(2**15))
+    w(dacval(0x8000))
+
 
 
 
@@ -139,8 +157,12 @@ if 1:
 if 0:
     adc = usbio.ADS8201(spi)
     adc.setRegister(adc.TRIGGER_SCR, 0x02)
-    adc.getRegister(adc.TRIGGER_SCR)
+    rv  = adc.getRegister(adc.TRIGGER_SCR)
+    print 'receivd:', b(rv, 16)
+
+    def sr(n):
+        adc.setRegister(adc.CHAN_SEL, n)
+        rv = adc.getRegister(adc.CHAN_SEL)
+        print 'receivd:', b(rv, 16)
 
-    adc.setRegister(adc.CHAN_SEL, 6)
-    adc.getRegister(adc.CHAN_SEL)
 
index 0c4b17ff66962a416a2de8a9c15aa6385c6f358a..8ead241a7e6cd04e885382207316aabff5aaa272 100644 (file)
@@ -2,6 +2,7 @@
 
 from array import array
 import struct
+import time
 
 from myhdl import intbv
 from myhdl import bin as b
@@ -571,25 +572,27 @@ class ADS8201(object):
         w = intbv(0x8000)[16:]
         w[14:10] = intbv(address, max=2**4)
         w[8:] = intbv(value, max=2**8)
-        print b(w, 16)
+        print 'sending:', b(w, 16)
         self.bus.SetCS('adc')
         self.bus.Start()
         self.bus.Write(int2str(w, 16))
+        time.sleep(1e-3)
         self.bus.Stop()
 
     def getRegister(self, address):
         w = intbv(0x4000)[16:]
         w[14:10] = intbv(address, max=2**4)
-        print b(w, 16)
+        print 'sending:', b(w, 16)
         self.bus.SetCS('adc')
         self.bus.Start()
         rval = self.bus.Exchange(int2str(w, 16))
+        time.sleep(1e-3)
         self.bus.Stop()
-        i = 0
+        i = 8 * (len(rval)-1)
         r = 0
         for c in rval:
             r += ord(c) << i
-            i += 8
+            i -= 8
         return r
 
     def read(self):
@@ -598,11 +601,11 @@ class ADS8201(object):
         self.bus.Start()
         rval = self.bus.Exchange(int2str(w, 16))
         self.bus.Stop()
-        i = 0
+        i = 8 * (len(rval)-1)
         r = 0
         for c in rval:
             r += ord(c) << i
-            i += 8
+            i -= 8
         return r