From d2ee8f8bab78ebe58e16321c121e6a965c060a56 Mon Sep 17 00:00:00 2001 From: Gijs Schoonderbeek <schoonderbeek@astron.nl> Date: Tue, 11 May 2021 16:54:51 +0200 Subject: [PATCH] rb_unb2c.py third round in classification tested on the HW --- rd_unb2c.py | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/rd_unb2c.py b/rd_unb2c.py index 7b539a9..7763aa4 100644 --- a/rd_unb2c.py +++ b/rd_unb2c.py @@ -16,16 +16,16 @@ from UniBoard2_I2C import * I2CBUSNR=3 class c_unb2c: - def __init(self): + def __init__(self): self.status=False self.nodes=[] self.pols=[] for node_cnt in range(4): self.nodes.append(c_node(node_cnt)) for pol in list(CTR_POLS.keys()): - self.pols.append(c_pol(pol)) + self.pols.append(c_pol(pol, type="central")) self.dev_i2c_eeprom = I2C(EEPROM) - self.dev_i2c_eeprom = I2CBUSNR + self.dev_i2c_eeprom.bus = I2CBUSNR def write_eeprom(self, data=0x01): ret_ack, ret_value = self.dev_i2c_eeprom.read_bytes(0) @@ -34,23 +34,22 @@ class c_unb2c: else: self.dev_i2c_eeprom.write_bytes(0x00, data) - def read_eeprom(self, data): + def read_eeprom(self): ret_ack, ret_value = self.dev_i2c_eeprom.read_bytes(0) if ret_ack < 1: print("no device found") else: - self.dev_i2c_eeprom.write_bytes(0x00, value) - ret_ack, ret_value = I2C_eeprom.read_bytes(0x00, 1) + ret_ack, ret_value = self.dev_i2c_eeprom.read_bytes(0x00, 1) return ret_value - def wr_rd_eeprom(self): - self.write_eeprom(0x12) + def wr_rd_eeprom(self, value=0x34): + self.write_eeprom(value) ret_value = self.read_eeprom() stri = "Wrote to EEPROM: 0x{0:X}, Read from EEPROM: 0x{1} ".format(value, ret_value) print(stri) - def front_led(collor): + def front_led(self, collor): main_switch = I2C(MAIN_I2C_SWITCH) main_switch.bus = I2CBUSNR ret_ack = main_switch.write_bytes(0x20,0x20) #select LED @@ -68,7 +67,7 @@ class c_unb2c: def read_all(self): for node in self.nodes: node.read_all() - for pol in self.nodes: + for pol in self.pols: pol.read_all() def print_status(self): @@ -77,7 +76,7 @@ class c_unb2c: self.front_led(LED_COLORS[color]) for node in self.nodes: node.print_status() - for pol in self.nodes: + for pol in self.pols: pol.print_status() self.wr_rd_eeprom() @@ -149,7 +148,6 @@ class c_qsfp: def read_temp(self): self.select_qsfp() - print("read QSFP") ret_ack, raw_ret = self.qsfp_cage.read_bytes(QSFP_TEMP, 2) if (ret_ack < 1) | (raw_ret[:2]=='ff'): # stri = "No QSFP found in port {0}".format(self.port) @@ -239,7 +237,9 @@ class c_pol: self.tem=0 if type == "node": self.set_i2c_switch() - self.pol_dev = I2C(LOC_POLS[self.name]) + self.pol_dev = I2C(LOC_POLS[self.name]) + else: + self.pol_dev = I2C(CTR_POLS[self.name]) self.pol_dev.bus = I2CBUSNR sleep(0.1) ret_ack, ret_value = self.pol_dev.read_bytes(0) @@ -498,6 +498,6 @@ if 0: # node = c_node(cnt) # node.read_all() # node.print_status() -unb = c_unb2c +unb = c_unb2c() unb.read_all() -unb.print_status() \ No newline at end of file +unb.print_status() -- GitLab