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
1 merge request!2Modified the scripts to run on Raspberry Pi.
...@@ -18,17 +18,22 @@ I2CBUSNR=3 ...@@ -18,17 +18,22 @@ I2CBUSNR=3
class c_pol: class c_pol:
def __init__(self, name): def __init__(self, name):
self.name = name self.name = name
self.vout self.vout=0
self.iout self.iout=0
self.temp self.tem=0
self.pol_dev = I2C(LOC_POLS[name]) self.pol_dev = I2C(LOC_POLS[self.name])
self.pol_dev.bus = I2CBUSNR self.pol_dev.bus = I2CBUSNR
sleep(0.1)
ret_ack, ret_value = self.pol_dev.read_bytes(0) ret_ack, ret_value = self.pol_dev.read_bytes(0)
if ret_ack < 1: 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: else:
self.status=True
def read_vout(self): def read_vout(self):
if self.status:
sleep(0.1) sleep(0.1)
ret_ack, vout_mod = self.pol_dev.read_bytes(LP_VOUT_MODE, 1) ret_ack, vout_mod = self.pol_dev.read_bytes(LP_VOUT_MODE, 1)
sleep(0.1) sleep(0.1)
...@@ -38,22 +43,30 @@ class c_pol: ...@@ -38,22 +43,30 @@ class c_pol:
ret_value.append(int(raw_value[:2], 16)) ret_value.append(int(raw_value[:2], 16))
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]) self.vout = calc_lin_3bytes(ret_value, [vout_mod])
else:
self.vout=999
def read_iout(self): def read_iout(self):
if self.status:
sleep(0.1) sleep(0.1)
ret_ack, raw_value = self.pol_dev.read_bytes(LP_IOUT, 2) ret_ack, raw_value = self.pol_dev.read_bytes(LP_IOUT, 2)
ret_value=[] ret_value=[]
ret_value.append(int(raw_value[:2],16)) ret_value.append(int(raw_value[:2],16))
ret_value.append(int(raw_value[2:],16)) ret_value.append(int(raw_value[2:],16))
self.iout = calc_lin_2bytes(ret_value) self.iout = calc_lin_2bytes(ret_value)
else:
self.iout=999
def read_temp(self): def read_temp(self):
if self.status:
sleep(0.1) sleep(0.1)
ret_ack,raw_value = self.pol_dev.read_bytes(LP_temp, 2) ret_ack,raw_value = self.pol_dev.read_bytes(LP_temp, 2)
ret_value=[] ret_value=[]
ret_value.append(int(raw_value[:2],16)) ret_value.append(int(raw_value[:2],16))
ret_value.append(int(raw_value[2:],16)) ret_value.append(int(raw_value[2:],16))
self.temp = calc_lin_2bytes(ret_value) self.temp = calc_lin_2bytes(ret_value)
else:
self.temp=999
def read_all(self): def read_all(self):
self.read_vout() self.read_vout()
...@@ -61,6 +74,7 @@ class c_pol: ...@@ -61,6 +74,7 @@ class c_pol:
self.read_temp() self.read_temp()
def print_status(self): def print_status(self):
if self.status:
self.read_all() self.read_all()
stri = "POL: " + self.name + " " stri = "POL: " + self.name + " "
stri += "Output voltage :{0: <5.2f} V ".format(self.vout) stri += "Output voltage :{0: <5.2f} V ".format(self.vout)
...@@ -231,7 +245,19 @@ if 0: ...@@ -231,7 +245,19 @@ if 0:
else: else:
for node_cnt in range(4): for node_cnt in range(4):
read_pol(node_cnt, LOC_POWER_CORE) 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() polletje.print_status()
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment