diff --git a/CCD_I2C.py b/CCD_I2C.py index ceda9df958f5d929277a7d31a5aeb17950fdb0d1..ce96136a08f66a36c70a5976eb6c0a6014f4dfd4 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 ce05e27972d977799ae42497650663c2f070c545..5deb512d06a9aea90f34fd483ca1bdea39b6bb36 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: