Commit 81839aab authored by Dave Newbold's avatar Dave Newbold

Tidying code

parent 059358b0
...@@ -4,58 +4,59 @@ from I2CuHal import I2CCore ...@@ -4,58 +4,59 @@ from I2CuHal import I2CCore
import StringIO import StringIO
import csv import csv
class si5344: class si5344:
def __init__(self, i2c, slaveaddr=0x68): def __init__(self, i2c, slaveaddr=0x68):
self.i2c = i2c self.i2c = i2c
self.slaveaddr = slaveaddr self.slaveaddr = slaveaddr
def readRegister(self, myaddr, nwords): def readRegister(self, myaddr, nwords):
currentPg = self.getPage() currentPg = self.getPage()
requirePg = (myaddr & 0xFF00) >> 8 requirePg = (myaddr & 0xFF00) >> 8
if currentPg[0] != requirePg: if currentPg[0] != requirePg:
self.setPage(requirePg) self.setPage(requirePg)
self.i2c.write(self.slaveaddr, [myaddr], False) self.i2c.write(self.slaveaddr, [myaddr], False)
return self.i2c.read( self.slaveaddr, nwords) return self.i2c.read(self.slaveaddr, nwords)
def writeRegister(self, myaddr, data): def writeRegister(self, myaddr, data):
myaddr = myaddr & 0xFFFF myaddr = myaddr & 0xFFFF
currentPg = self.getPage() currentPg = self.getPage()
requirePg = (myaddr & 0xFF00) >> 8 requirePg = (myaddr & 0xFF00) >> 8
if currentPg[0] != requirePg: if currentPg[0] != requirePg:
self.setPage(requirePg) self.setPage(requirePg)
data.insert(0, myaddr) data.insert(0, myaddr)
self.i2c.write(self.slaveaddr, [myaddr]) self.i2c.write(self.slaveaddr, [myaddr])
def setPage(self, page): def setPage(self, page):
myaddr = [0x01, page] myaddr = [0x01, page]
self.i2c.write(self.slaveaddr, [0x01, page], True) self.i2c.write(self.slaveaddr, [0x01, page], True)
def getPage(self): def getPage(self):
self.i2c.write( self.slaveaddr, [0x01], False) self.i2c.write(self.slaveaddr, [0x01], False)
return self.i2c.read(self.slaveaddr, 1) return self.i2c.read(self.slaveaddr, 1)
def getDeviceVersion(self): def getDeviceVersion(self):
self.setPage(0) self.setPage(0)
self.i2c.write(self.slaveaddr, [0x02], False) self.i2c.write(self.slaveaddr, [0x02], False)
return self.i2c.read( self.slaveaddr, 2) return self.i2c.read(self.slaveaddr, 2)
def parse_clk(self, filename): def parse_clk(self, filename):
deletedcomments="""""" deletedcomments = """"""
with open(filename, 'rb') as configfile: with open(filename, 'rb') as configfile:
for i, line in enumerate(configfile): for i, line in enumerate(configfile):
if not line.startswith('#'): if not line.startswith('#'):
if not line.startswith('Address'): if not line.startswith('Address'):
deletedcomments+=line deletedcomments += line
csvfile = StringIO.StringIO(deletedcomments) csvfile = StringIO.StringIO(deletedcomments)
cvr= csv.reader(csvfile, delimiter=',', quotechar='|') cvr = csv.reader(csvfile, delimiter=',', quotechar='|')
regSettingList= list(cvr) regSettingList = list(cvr)
return regSettingList return regSettingList
def writeConfiguration(self, regSettingList): def writeConfiguration(self, regSettingList):
for item in regSettingList: for item in regSettingList:
self.writeRegister(item[0], [item[1]]) self.writeRegister(item[0], [item[1]])
for item in regSettingList: for item in regSettingList:
d = self.readRegister(item[0]) d = self.readRegister(item[0])
if item[1] != int(d): if item[1] != int(d):
print "Config error", hex(item[0]), hex(item[1]), hex(d) print "Config error", hex(item[0]), hex(item[1]), hex(d)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment