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
No related branches found
No related tags found
1 merge request!2Modified the scripts to run on Raspberry Pi.
......@@ -35,9 +35,9 @@ class I2C:
bus = smbus.SMBus(self.bus_nr)
try:
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):
ret_value.append(hex(rd_value[cnt])[2:])
ret_value += (hex(rd_value[cnt])[2:])
ret_ack = 1
except IOError, err:
ret_ack = 0
......
......@@ -32,8 +32,7 @@ def rw_eeprom(value=0xAB):
else:
pr_stri = "Found device at address 0x{:02x}".format(I2C_eeprom.I2C_Address)
print(pr_stri)
ret_ack = I2C_eeprom.write_bytes(0x00, value)
# sleep(0.25)
I2C_eeprom.write_bytes(0x00, value)
ret_ack, ret_value = I2C_eeprom.read_bytes(0x00, 1)
stri = "Wrote to EEPROM: {0}, Read from EEPROM: {1} ".format(value, ret_value)
print(stri)
......@@ -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)
else:
ret_value=[]
ret_value.append(int(raw_ret[0],16))
ret_value.append(int(raw_ret[1],16))
ret_value.append(int(raw_ret[:2],16))
ret_value.append(int(raw_ret[2:],16))
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)
print(stri)
......@@ -124,19 +123,19 @@ def read_qsfp(node_nr = 0, module=0):
QSFP_cage = I2C(QSFP_I2C_ADDR)
QSFP_cage.bus = I2CBUSNR
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)
print(stri)
else:
ret_value=[]
ret_value.append(int(raw_ret[0],16))
ret_value.append(int(raw_ret[1],16))
ret_value.append(int(raw_ret[:2],16))
ret_value.append(int(raw_ret[2:],16))
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)
print(stri)
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[1],16))
ret_value.append(int(raw_ret[:2],16))
ret_value.append(int(raw_ret[2:],16))
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)
print(stri)
......@@ -148,6 +147,8 @@ else:
for node_cnt in range(4):
for module_cnt in range(2):
read_ddr(node_nr=node_cnt,module=module_cnt)
for node_cnt in range(4):
for qsfp_cnt in range(6):
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