diff --git a/I2C_serial_pi.py b/I2C_serial_pi.py index d3f72171b070478ba5ce2fa709d0dcf58c5d7140..8ddf3a33fd0f431af0ca95d2cb1ff62db043c808 100644 --- a/I2C_serial_pi.py +++ b/I2C_serial_pi.py @@ -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 diff --git a/rd_unb2c.py b/rd_unb2c.py index 114cc1d1f4672f98c77ec3d8d14d4d189cf2000a..13d2b0e945ba195dab205a1c55222757f6f359db 100644 --- a/rd_unb2c.py +++ b/rd_unb2c.py @@ -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)