From 8ba7b9fdeff7ca28c97df4f6dc0683bf77e7b2c2 Mon Sep 17 00:00:00 2001
From: Gijs <schoonderbeek@astron.nl>
Date: Mon, 17 Oct 2022 16:57:27 +0200
Subject: [PATCH] Update APSPU production test

---
 CCD_I2C.py        | 44 +++++++++++++++++++++++++++++---------------
 I2C_serial_pi2.py | 10 +++++-----
 2 files changed, 34 insertions(+), 20 deletions(-)

diff --git a/CCD_I2C.py b/CCD_I2C.py
index ceda9df..ce96136 100644
--- a/CCD_I2C.py
+++ b/CCD_I2C.py
@@ -29,8 +29,8 @@ I2CBUSNR=1
 sleep_time = 0.05
 SET_PLL = True
 READ_LOCK = True
-READ_ALL = False
-CHECK_EEPROM = True
+READ_ALL = True #False
+CHECK_EEPROM = False #True
 PWR_RST = False
 READ_SENSOR = False
 READ_SET_FAN = True
@@ -213,11 +213,15 @@ def read_voltage(input_channel=0):
     if DEBUG:
         stri = "Word to select sens input is 0x{0:x}".format(channel_select_word)
         print(stri)
-    sleep(0.5)
+    sleep(0.1)
     I2C_device.write_bytes(channel_select_word, 0xB8)
-    sleep(0.5)
+    sleep(0.1)
     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:
             stri = "Return value input 0 : 0x{0} ".format(ret_value)
             print(stri)
@@ -243,6 +247,7 @@ def read_temp():
     I2C_device.write_bytes(0xA0, 0xC0)
     sleep(0.5)
     ret_ack, ret_value = I2C_device.read_last_reg(3)
+    sleep(0.5)
     if ret_ack:
         raw_value  = (int(ret_value, 16) & 0x1FFFFF) >> 6
         temperature_K = (raw_value/temp_slope)
@@ -259,11 +264,12 @@ def set_fan_off():
     print("Switch fan off")
     MAX6620          = 0x29
     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(0x02, 0x08)
     fanmonitor_dev.write_bytes(0x28, 0x00)
     fanmonitor_dev.write_bytes(0x29, 0x00)
+    sleep(1)
 
 def set_fan_speed(speed):
     #
@@ -272,16 +278,16 @@ def set_fan_speed(speed):
     stri = "Set fan to {} %".format(speed)
     print(stri)
     MAX6620          = 0x29
-    reg_a = ((0xFF*speed)/100) & 0xFF
+    reg_a =  int((speed/100)*127) + 100
     fanmonitor_dev = I2C(MAX6620)
-    fanmonitor_dev.bus_nr = 3
+    fanmonitor_dev.bus_nr = 1
     fanmonitor_dev.write_bytes(0x00, 0x00)
     fanmonitor_dev.write_bytes(0x02, 0x08)
     fanmonitor_dev.write_bytes(0x01, 0x0F)
     fanmonitor_dev.write_bytes(0x06, 0x60)
     fanmonitor_dev.write_bytes(0x28, reg_a)
     fanmonitor_dev.write_bytes(0x29, 0x80) 
-
+    sleep(1)
 
 def read_tacho():
     #
@@ -295,7 +301,7 @@ def read_tacho():
     FAN_TACHS = 1
     DEBUG=1
     fanmonitor_dev = I2C(MAX6620)
-    fanmonitor_dev.bus_nr = 3
+    fanmonitor_dev.bus_nr = 1 #3
     fan_nr=0
     ret_ack, ret_value = fanmonitor_dev.read_bytes(1)
     if ret_ack < 1:
@@ -315,7 +321,7 @@ def read_tacho():
         tach = tach_msb*16 + tach_lsb/8
         rpm = float((TACH_COUNT_FREQ*TACH_PERIODS*60))/(FAN_TACHS*tach)
     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)
 
 if CHECK_EEPROM :
@@ -341,10 +347,18 @@ if READ_LOCK:
 if READ_SET_FAN :
     read_tacho()
     set_fan_off()
-    sleep(10)
-    set_fan_speed(75)
-    sleep(10)
     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:
-    ccd_sensors()
+   read_tacho()
+   read_temp()
+   ccd_sensors()
diff --git a/I2C_serial_pi2.py b/I2C_serial_pi2.py
index ce05e27..5deb512 100644
--- a/I2C_serial_pi2.py
+++ b/I2C_serial_pi2.py
@@ -43,7 +43,7 @@ class I2C:
             ret_ack = 1
             if SLOW:
                 sleep(0.2)
-        except IOError, err:
+        except IOError:
             ret_ack = 0
             ret_value = 'ffff'
             if DEBUG:
@@ -65,7 +65,7 @@ class I2C:
             ret_ack = 1
             if SLOW:
                 sleep(0.2)
-        except IOError, err:
+        except IOError:
             ret_ack = 0
             rd_value = [0]*bytes_to_read
             if DEBUG:
@@ -82,7 +82,7 @@ class I2C:
             ret_ack = 1
             if SLOW:
                 sleep(0.3)
-        except IOError, err:
+        except IOError:
             ret_ack = 0
             ret_value = 0
             if DEBUG:
@@ -97,7 +97,7 @@ class I2C:
             ret_ack = 1
             if SLOW:
                 sleep(0.3)
-        except IOError, err:
+        except IOError:
             ret_ack = 0
             ret_value = 0
             if DEBUG:
@@ -113,7 +113,7 @@ class I2C:
             ret_ack = 1
             if SLOW:
                 sleep(0.3)
-        except IOError, err:
+        except IOError:
             ret_ack = 0
             ret_value = 0
             if DEBUG:
-- 
GitLab