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

Update APSPU production test

parent 515a9aa8
No related branches found
No related tags found
No related merge requests found
...@@ -29,8 +29,8 @@ I2CBUSNR=1 ...@@ -29,8 +29,8 @@ I2CBUSNR=1
sleep_time = 0.05 sleep_time = 0.05
SET_PLL = True SET_PLL = True
READ_LOCK = True READ_LOCK = True
READ_ALL = False READ_ALL = True #False
CHECK_EEPROM = True CHECK_EEPROM = False #True
PWR_RST = False PWR_RST = False
READ_SENSOR = False READ_SENSOR = False
READ_SET_FAN = True READ_SET_FAN = True
...@@ -213,11 +213,15 @@ def read_voltage(input_channel=0): ...@@ -213,11 +213,15 @@ def read_voltage(input_channel=0):
if DEBUG: if DEBUG:
stri = "Word to select sens input is 0x{0:x}".format(channel_select_word) stri = "Word to select sens input is 0x{0:x}".format(channel_select_word)
print(stri) print(stri)
sleep(0.5) sleep(0.1)
I2C_device.write_bytes(channel_select_word, 0xB8) I2C_device.write_bytes(channel_select_word, 0xB8)
sleep(0.5) sleep(0.1)
ret_ack, ret_value = I2C_device.read_last_reg(3) ret_ack, ret_value = I2C_device.read_last_reg(3)
if 1: #ret_ack: while len(ret_value) < 5:
sleep(0.1)
ret_ack, ret_value = I2C_device.read_last_reg(3)
if ret_ack:
if DEBUG: if DEBUG:
stri = "Return value input 0 : 0x{0} ".format(ret_value) stri = "Return value input 0 : 0x{0} ".format(ret_value)
print(stri) print(stri)
...@@ -243,6 +247,7 @@ def read_temp(): ...@@ -243,6 +247,7 @@ def read_temp():
I2C_device.write_bytes(0xA0, 0xC0) I2C_device.write_bytes(0xA0, 0xC0)
sleep(0.5) sleep(0.5)
ret_ack, ret_value = I2C_device.read_last_reg(3) ret_ack, ret_value = I2C_device.read_last_reg(3)
sleep(0.5)
if ret_ack: if ret_ack:
raw_value = (int(ret_value, 16) & 0x1FFFFF) >> 6 raw_value = (int(ret_value, 16) & 0x1FFFFF) >> 6
temperature_K = (raw_value/temp_slope) temperature_K = (raw_value/temp_slope)
...@@ -259,11 +264,12 @@ def set_fan_off(): ...@@ -259,11 +264,12 @@ def set_fan_off():
print("Switch fan off") print("Switch fan off")
MAX6620 = 0x29 MAX6620 = 0x29
fanmonitor_dev = I2C(MAX6620) fanmonitor_dev = I2C(MAX6620)
fanmonitor_dev.bus_nr = 3 fanmonitor_dev.bus_nr = 1 # 3
fanmonitor_dev.write_bytes(0x00, 0x10) fanmonitor_dev.write_bytes(0x00, 0x10)
fanmonitor_dev.write_bytes(0x02, 0x08) fanmonitor_dev.write_bytes(0x02, 0x08)
fanmonitor_dev.write_bytes(0x28, 0x00) fanmonitor_dev.write_bytes(0x28, 0x00)
fanmonitor_dev.write_bytes(0x29, 0x00) fanmonitor_dev.write_bytes(0x29, 0x00)
sleep(1)
def set_fan_speed(speed): def set_fan_speed(speed):
# #
...@@ -272,16 +278,16 @@ def set_fan_speed(speed): ...@@ -272,16 +278,16 @@ def set_fan_speed(speed):
stri = "Set fan to {} %".format(speed) stri = "Set fan to {} %".format(speed)
print(stri) print(stri)
MAX6620 = 0x29 MAX6620 = 0x29
reg_a = ((0xFF*speed)/100) & 0xFF reg_a = int((speed/100)*127) + 100
fanmonitor_dev = I2C(MAX6620) fanmonitor_dev = I2C(MAX6620)
fanmonitor_dev.bus_nr = 3 fanmonitor_dev.bus_nr = 1
fanmonitor_dev.write_bytes(0x00, 0x00) fanmonitor_dev.write_bytes(0x00, 0x00)
fanmonitor_dev.write_bytes(0x02, 0x08) fanmonitor_dev.write_bytes(0x02, 0x08)
fanmonitor_dev.write_bytes(0x01, 0x0F) fanmonitor_dev.write_bytes(0x01, 0x0F)
fanmonitor_dev.write_bytes(0x06, 0x60) fanmonitor_dev.write_bytes(0x06, 0x60)
fanmonitor_dev.write_bytes(0x28, reg_a) fanmonitor_dev.write_bytes(0x28, reg_a)
fanmonitor_dev.write_bytes(0x29, 0x80) fanmonitor_dev.write_bytes(0x29, 0x80)
sleep(1)
def read_tacho(): def read_tacho():
# #
...@@ -295,7 +301,7 @@ def read_tacho(): ...@@ -295,7 +301,7 @@ def read_tacho():
FAN_TACHS = 1 FAN_TACHS = 1
DEBUG=1 DEBUG=1
fanmonitor_dev = I2C(MAX6620) fanmonitor_dev = I2C(MAX6620)
fanmonitor_dev.bus_nr = 3 fanmonitor_dev.bus_nr = 1 #3
fan_nr=0 fan_nr=0
ret_ack, ret_value = fanmonitor_dev.read_bytes(1) ret_ack, ret_value = fanmonitor_dev.read_bytes(1)
if ret_ack < 1: if ret_ack < 1:
...@@ -315,7 +321,7 @@ def read_tacho(): ...@@ -315,7 +321,7 @@ def read_tacho():
tach = tach_msb*16 + tach_lsb/8 tach = tach_msb*16 + tach_lsb/8
rpm = float((TACH_COUNT_FREQ*TACH_PERIODS*60))/(FAN_TACHS*tach) rpm = float((TACH_COUNT_FREQ*TACH_PERIODS*60))/(FAN_TACHS*tach)
if DEBUG: if DEBUG:
stri = "MSP: {0}, LSB: {1}, TACH : {2}, RPM : {3:6.2f}".format(tach_msb, tach_lsb, tach, rpm) stri = "MSB: {0}, LSB: {1}, TACH : {2}, RPM : {3:6.2f}".format(tach_msb, tach_lsb, tach, rpm)
print(stri) print(stri)
if CHECK_EEPROM : if CHECK_EEPROM :
...@@ -341,10 +347,18 @@ if READ_LOCK: ...@@ -341,10 +347,18 @@ if READ_LOCK:
if READ_SET_FAN : if READ_SET_FAN :
read_tacho() read_tacho()
set_fan_off() set_fan_off()
sleep(10)
set_fan_speed(75)
sleep(10)
read_tacho() read_tacho()
sleep(5)
set_fan_speed(50)
sleep(5)
read_tacho()
set_fan_speed(100)
sleep(5)
read_tacho()
read_temp()
ccd_sensors()
if READ_SENSOR: if READ_SENSOR:
read_tacho()
read_temp()
ccd_sensors() ccd_sensors()
...@@ -43,7 +43,7 @@ class I2C: ...@@ -43,7 +43,7 @@ class I2C:
ret_ack = 1 ret_ack = 1
if SLOW: if SLOW:
sleep(0.2) sleep(0.2)
except IOError, err: except IOError:
ret_ack = 0 ret_ack = 0
ret_value = 'ffff' ret_value = 'ffff'
if DEBUG: if DEBUG:
...@@ -65,7 +65,7 @@ class I2C: ...@@ -65,7 +65,7 @@ class I2C:
ret_ack = 1 ret_ack = 1
if SLOW: if SLOW:
sleep(0.2) sleep(0.2)
except IOError, err: except IOError:
ret_ack = 0 ret_ack = 0
rd_value = [0]*bytes_to_read rd_value = [0]*bytes_to_read
if DEBUG: if DEBUG:
...@@ -82,7 +82,7 @@ class I2C: ...@@ -82,7 +82,7 @@ class I2C:
ret_ack = 1 ret_ack = 1
if SLOW: if SLOW:
sleep(0.3) sleep(0.3)
except IOError, err: except IOError:
ret_ack = 0 ret_ack = 0
ret_value = 0 ret_value = 0
if DEBUG: if DEBUG:
...@@ -97,7 +97,7 @@ class I2C: ...@@ -97,7 +97,7 @@ class I2C:
ret_ack = 1 ret_ack = 1
if SLOW: if SLOW:
sleep(0.3) sleep(0.3)
except IOError, err: except IOError:
ret_ack = 0 ret_ack = 0
ret_value = 0 ret_value = 0
if DEBUG: if DEBUG:
...@@ -113,7 +113,7 @@ class I2C: ...@@ -113,7 +113,7 @@ class I2C:
ret_ack = 1 ret_ack = 1
if SLOW: if SLOW:
sleep(0.3) sleep(0.3)
except IOError, err: except IOError:
ret_ack = 0 ret_ack = 0
ret_value = 0 ret_value = 0
if DEBUG: if DEBUG:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment