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

rb_unb2c.py first step classification tested on the HW

parent da756488
No related branches found
No related tags found
Loading
......@@ -18,17 +18,22 @@ I2CBUSNR=3
class c_pol:
def __init__(self, name):
self.name = name
self.vout
self.iout
self.temp
self.pol_dev = I2C(LOC_POLS[name])
self.vout=0
self.iout=0
self.tem=0
self.pol_dev = I2C(LOC_POLS[self.name])
self.pol_dev.bus = I2CBUSNR
sleep(0.1)
ret_ack, ret_value = self.pol_dev.read_bytes(0)
if ret_ack < 1:
print("no device found")
stri = " Device {0} at address 0x{1:X} not found".format(self.name, LOC_POLS[self.name])
print(stri)
self.status=False
else:
self.status=True
def read_vout(self):
if self.status:
sleep(0.1)
ret_ack, vout_mod = self.pol_dev.read_bytes(LP_VOUT_MODE, 1)
sleep(0.1)
......@@ -38,22 +43,30 @@ class c_pol:
ret_value.append(int(raw_value[:2], 16))
ret_value.append(int(raw_value[2:], 16))
self.vout = calc_lin_3bytes(ret_value, [vout_mod])
else:
self.vout=999
def read_iout(self):
if self.status:
sleep(0.1)
ret_ack, raw_value = self.pol_dev.read_bytes(LP_IOUT, 2)
ret_value=[]
ret_value.append(int(raw_value[:2],16))
ret_value.append(int(raw_value[2:],16))
self.iout = calc_lin_2bytes(ret_value)
else:
self.iout=999
def read_temp(self):
if self.status:
sleep(0.1)
ret_ack,raw_value = self.pol_dev.read_bytes(LP_temp, 2)
ret_value=[]
ret_value.append(int(raw_value[:2],16))
ret_value.append(int(raw_value[2:],16))
self.temp = calc_lin_2bytes(ret_value)
else:
self.temp=999
def read_all(self):
self.read_vout()
......@@ -61,6 +74,7 @@ class c_pol:
self.read_temp()
def print_status(self):
if self.status:
self.read_all()
stri = "POL: " + self.name + " "
stri += "Output voltage :{0: <5.2f} V ".format(self.vout)
......@@ -231,7 +245,19 @@ if 0:
else:
for node_cnt in range(4):
read_pol(node_cnt, LOC_POWER_CORE)
read_pol(-1,0x01)
# read_pol(-1,0x01)
polletje = c_pol(LOC_POWER_CORE)
main_switch = I2C(MAIN_I2C_SWITCH)
main_switch.bus = I2CBUSNR
ret_ack = main_switch.write_bytes(0x0, 0x01) #select Node
if ret_ack < 1:
print("Main I2C switch not found")
else:
node_switch = I2C(NODE_I2C_SWITCH)
node_switch.bus = I2CBUSNR
ret_ack = node_switch.write_bytes(0x0, 0x20) #select DDR4
if ret_ack < 1:
print("Node I2C switch not found")
for pol in list(LOC_POLS.keys()):
polletje = c_pol(pol)
polletje.print_status()
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment