Skip to content
Snippets Groups Projects
Commit 019e19ff authored by Gijs Schoonderbeek's avatar Gijs Schoonderbeek
Browse files

Updated the script so they can be tested on the HW. (read multiple bytes are...

Updated the script so they can be tested on the HW. (read multiple bytes are now returned in one string so it is more in line with the other I2C interface.
parent d10c9a89
Branches
No related tags found
Loading
...@@ -35,9 +35,9 @@ class I2C: ...@@ -35,9 +35,9 @@ class I2C:
bus = smbus.SMBus(self.bus_nr) bus = smbus.SMBus(self.bus_nr)
try: try:
rd_value = bus.read_i2c_block_data(self.I2C_Address, register, bytes_to_read) rd_value = bus.read_i2c_block_data(self.I2C_Address, register, bytes_to_read)
ret_value = [] ret_value = ''
for cnt in range(bytes_to_read): for cnt in range(bytes_to_read):
ret_value.append(hex(rd_value[cnt])[2:]) ret_value += (hex(rd_value[cnt])[2:])
ret_ack = 1 ret_ack = 1
except IOError, err: except IOError, err:
ret_ack = 0 ret_ack = 0
......
...@@ -32,8 +32,7 @@ def rw_eeprom(value=0xAB): ...@@ -32,8 +32,7 @@ def rw_eeprom(value=0xAB):
else: else:
pr_stri = "Found device at address 0x{:02x}".format(I2C_eeprom.I2C_Address) pr_stri = "Found device at address 0x{:02x}".format(I2C_eeprom.I2C_Address)
print(pr_stri) print(pr_stri)
ret_ack = I2C_eeprom.write_bytes(0x00, value) I2C_eeprom.write_bytes(0x00, value)
# sleep(0.25)
ret_ack, ret_value = I2C_eeprom.read_bytes(0x00, 1) ret_ack, ret_value = I2C_eeprom.read_bytes(0x00, 1)
stri = "Wrote to EEPROM: {0}, Read from EEPROM: {1} ".format(value, ret_value) stri = "Wrote to EEPROM: {0}, Read from EEPROM: {1} ".format(value, ret_value)
print(stri) print(stri)
...@@ -102,8 +101,8 @@ def read_ddr(node_nr = 0, module=0): ...@@ -102,8 +101,8 @@ def read_ddr(node_nr = 0, module=0):
stri = "No DDR moduel in slot {0} node {1}".format(module, node_nr) stri = "No DDR moduel in slot {0} node {1}".format(module, node_nr)
else: else:
ret_value=[] ret_value=[]
ret_value.append(int(raw_ret[0],16)) ret_value.append(int(raw_ret[:2],16))
ret_value.append(int(raw_ret[1],16)) ret_value.append(int(raw_ret[2:],16))
temp = (((ret_value[0] & 0x1F) * 0x100) + (ret_value[1] & 0xFC)) * 0.0625 temp = (((ret_value[0] & 0x1F) * 0x100) + (ret_value[1] & 0xFC)) * 0.0625
stri = "Temperature DDR4 in slot {0} node {1} is {2:3.2f} C".format(module, node_nr, temp) stri = "Temperature DDR4 in slot {0} node {1} is {2:3.2f} C".format(module, node_nr, temp)
print(stri) print(stri)
...@@ -124,19 +123,19 @@ def read_qsfp(node_nr = 0, module=0): ...@@ -124,19 +123,19 @@ def read_qsfp(node_nr = 0, module=0):
QSFP_cage = I2C(QSFP_I2C_ADDR) QSFP_cage = I2C(QSFP_I2C_ADDR)
QSFP_cage.bus = I2CBUSNR QSFP_cage.bus = I2CBUSNR
ret_ack, raw_ret = QSFP_cage.read_bytes(QSFP_TEMP, 2) ret_ack, raw_ret = QSFP_cage.read_bytes(QSFP_TEMP, 2)
if (ret_ack < 1) | (raw_ret[0]=='ff'): if (ret_ack < 1) | (raw_ret[:2]=='ff'):
stri = "No QSFP module in slot {0} node {1}".format(module, node_nr) stri = "No QSFP module in slot {0} node {1}".format(module, node_nr)
print(stri) print(stri)
else: else:
ret_value=[] ret_value=[]
ret_value.append(int(raw_ret[0],16)) ret_value.append(int(raw_ret[:2],16))
ret_value.append(int(raw_ret[1],16)) ret_value.append(int(raw_ret[2:],16))
temp_in_mod = (ret_value[0] * 256 + ret_value[1]) / 256 temp_in_mod = (ret_value[0] * 256 + ret_value[1]) / 256
stri = "Temperature QSFP in slot {0} node {1} is {2:3.2f} gr. C".format(module, node_nr, temp_in_mod) stri = "Temperature QSFP in slot {0} node {1} is {2:3.2f} gr. C".format(module, node_nr, temp_in_mod)
print(stri) print(stri)
ret_ack, raw_ret = QSFP_cage.read_bytes(QSFP_VOLT, 2) ret_ack, raw_ret = QSFP_cage.read_bytes(QSFP_VOLT, 2)
ret_value.append(int(raw_ret[0],16)) ret_value.append(int(raw_ret[:2],16))
ret_value.append(int(raw_ret[1],16)) ret_value.append(int(raw_ret[2:],16))
Power_in_mod = (ret_value[0] * 256 + ret_value[1]) * 0.0001 Power_in_mod = (ret_value[0] * 256 + ret_value[1]) * 0.0001
stri = "Voltage QSFP in slot {0} node {1} is {2:3.2f} V".format(module, node_nr, Power_in_mod) stri = "Voltage QSFP in slot {0} node {1} is {2:3.2f} V".format(module, node_nr, Power_in_mod)
print(stri) print(stri)
...@@ -148,6 +147,8 @@ else: ...@@ -148,6 +147,8 @@ else:
for node_cnt in range(4): for node_cnt in range(4):
for module_cnt in range(2): for module_cnt in range(2):
read_ddr(node_nr=node_cnt,module=module_cnt) read_ddr(node_nr=node_cnt,module=module_cnt)
for node_cnt in range(4):
for qsfp_cnt in range(6): for qsfp_cnt in range(6):
read_qsfp(node_nr = node_cnt, module=qsfp_cnt) read_qsfp(node_nr = node_cnt, module=qsfp_cnt)
for node_cnt in range(4):
read_pol(LOC_POWER_CORE)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment