Skip to content
Snippets Groups Projects

Modified the scripts to run on Raspberry Pi.

1 file
+ 62
36
Compare changes
  • Side-by-side
  • Inline
+ 62
36
@@ -18,42 +18,55 @@ I2CBUSNR=3
@@ -18,42 +18,55 @@ 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):
sleep(0.1)
if self.status:
ret_ack, vout_mod = self.pol_dev.read_bytes(LP_VOUT_MODE, 1)
sleep(0.1)
sleep(0.1)
ret_ack, vout_mod = self.pol_dev.read_bytes(LP_VOUT_MODE, 1)
ret_ack, raw_value = self.pol_dev.read_bytes(LP_VOUT, 2)
sleep(0.1)
vout_mod = int(vout_mod,16)
ret_ack, raw_value = self.pol_dev.read_bytes(LP_VOUT, 2)
ret_value = []
vout_mod = int(vout_mod,16)
ret_value.append(int(raw_value[:2], 16))
ret_value = []
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])
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):
def read_iout(self):
sleep(0.1)
if self.status:
ret_ack, raw_value = self.pol_dev.read_bytes(LP_IOUT, 2)
sleep(0.1)
ret_value=[]
ret_ack, raw_value = self.pol_dev.read_bytes(LP_IOUT, 2)
ret_value.append(int(raw_value[:2],16))
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)
ret_value.append(int(raw_value[2:],16))
 
self.iout = calc_lin_2bytes(ret_value)
 
else:
 
self.iout=999
def read_temp(self):
def read_temp(self):
sleep(0.1)
if self.status:
ret_ack,raw_value = self.pol_dev.read_bytes(LP_temp, 2)
sleep(0.1)
ret_value=[]
ret_ack,raw_value = self.pol_dev.read_bytes(LP_temp, 2)
ret_value.append(int(raw_value[:2],16))
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)
ret_value.append(int(raw_value[2:],16))
 
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,12 +74,13 @@ class c_pol:
@@ -61,12 +74,13 @@ class c_pol:
self.read_temp()
self.read_temp()
def print_status(self):
def print_status(self):
self.read_all()
if self.status:
stri = "POL: " + self.name + " "
self.read_all()
stri += "Output voltage :{0: <5.2f} V ".format(self.vout)
stri = "POL: " + self.name + " "
stri += "Output Current :{0: <5.2f} A ".format(self.iout)
stri += "Output voltage :{0: <5.2f} V ".format(self.vout)
stri += "temperature :{0: <5.2f} Deg C".format(self.temp)
stri += "Output Current :{0: <5.2f} A ".format(self.iout)
print(stri)
stri += "temperature :{0: <5.2f} Deg C".format(self.temp)
 
print(stri)
def rw_eeprom(value=0xAB):
def rw_eeprom(value=0xAB):
@@ -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)
polletje.print_status()
main_switch.bus = I2CBUSNR
\ No newline at end of file
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()
Loading