Commit 3fd85a76 authored by Matthieu Cattin's avatar Matthieu Cattin

fmc_adc: Add function to write/read a byte list to the FMC eeprom.

parent c934a3f0
......@@ -328,20 +328,32 @@ class CFmcAdc100m:
print '\nScanning FMC system I2C bus'
return self.fmc_sys_i2c.scan()
###########################################################################
########## Code to review ##########
# write to EEPROM on system i2c bus
def sys_i2c_eeprom_write(self, addr, data):
return self.eeprom_24aa64.wr_data(addr, data)
# read from EEPROM on system i2c bus
def sys_i2c_eeprom_write(self, data):
try:
byte_to_write = len(data)
addr = 0
while byte_to_write:
if byte_to_write > 32:
size = 32
else:
size = byte_to_write
self.eeprom_24aa64.wr_page(addr,data[addr:(addr+size)])
byte_to_write -= size
addr += size
time.sleep(0.005) # have to wait between writes otherwise the eeprom gives NACK on the i2c bus
except Eeprom24AA64OperationError as e:
raise FmcAdc100mOperationError(e)
# read from EEPROM on system i2c bus
def sys_i2c_eeprom_read(self, addr, size):
return self.eeprom_24aa64.rd_data(addr, size)
###########################################################################
try:
return self.eeprom_24aa64.rd_seq(addr, size)
except Eeprom24AA64OperationError as e:
raise FmcAdc100mOperationError(e)
#======================================================================
# CSR and LTC217x
# Set input range
def set_input_range(self, channel, in_range):
......
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