#!/usr/bin/env python
-import time
import struct
+from time import sleep
from myhdl import intbv
from myhdl import bin as b
spi.Stop()
spi = AtoiSPI0(100e3)
-spi.SetLoopback(0)
+#spi.SetLoopback(0)
-i2c = AtoiI2C(10e3)
+i2c = AtoiI2C(100e3)
ibias = usbio.AD524x(i2c, 0)
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')
all_dacs_on[8:] = 0xff
w(int2str(all_dacs_on, 32))
- w(dacval(2**15))
+ w(dacval(0x8000))
+
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)
from array import array
import struct
+import time
from myhdl import intbv
from myhdl import bin as b
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):
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