or batt_num == '3' or batt_num == '4'): break # Make sure to use the correct cables ps1_path = '/dev/serial/by-id/usb-FTDI_FT232R_USB_UART_AH028NK1-if00-port0' ps2_path = '/dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A703U4HD-if00-port0' pfc1_path = '/dev/serial/by-id/usb-loon_onboard_half_stack_hv_pfc_1-if01-port0' pfc2_path = '/dev/serial/by-id/usb-loon_onboard_half_stack_hv_pfc_2-if01-port0' pfc3_path = '/dev/serial/by-id/usb-loon_onboard_half_stack_hv_pfc_3-if01-port0' pfc4_path = '/dev/serial/by-id/usb-loon_onboard_half_stack_hv_pfc_4-if01-port0' print "Accessing the XPF6020 Power Supply" charge_v = 50 charge_i = 7 #10 ps1 = xpf6020.Xpf6020(ps1_path) ps1.reset_ps() ps2 = xpf6020.Xpf6020(ps2_path) ps2.reset_ps() ps1.set_voltage(1, charge_v) ps1.set_currentlimit(1, charge_i) if batt_num == '2': ps1.set_voltage(2, charge_v) ps1.set_currentlimit(2, charge_i) elif batt_num == '3': ps1.set_voltage(2, charge_v) ps1.set_currentlimit(2, charge_i) ps2.set_voltage(1, charge_v) ps2.set_currentlimit(1, charge_i)
i2cvars.append('i2c1.last_wtf_details') i2cvars.append('i2c1_sched.violation_count') i2cvars.append('i2c1_sched.last_violation_index') i2cvars.append('i2c2.wtf_events') i2cvars.append('i2c1.arb_losts') max_cycle = raw_input('How many temp cycles would you like to run?: ').strip() pfc_path = '/dev/serial/by-id/usb-loon_onboard_motherbrain_pfc-if01-port0' # Charge battery @ 50V and 2A max #ps_path = '/dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A5029ID1-if00-port0' ps_path = '/dev/serial/by-id/usb-Prolific_Technology_Inc._USB-Serial_Controller_D-if00-port0' ps_volt = 48 ps_current = 2 print "Accessing the XPF6020 Power Supply" ps = xpf6020.Xpf6020(ps_path) ps.reset_ps() ps.set_voltage(1, ps_volt) ps.set_currentlimit(1, ps_current) # Discharge battery @ CV mode, 46V, and 50V max # print "Accessing the BK8500 Electronic Load" # bkload = bk8500.Bk8500() # bkload.remote_switch('on') print "Accessing the Temperature Chamber" tchamber_path = '/dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A603R0MG-if00-port0' chamber = watlowf4.WatlowF4(tchamber_path) chamber.conditioning_on(False) # Write headers
pfc2_path = '/dev/serial/by-id/usb-FTDI_Dual_RS232-HS-if01-port0' pfc3_path = '/dev/serial/by-id/usb-loon_onboard_half_stack_hv_pfc-if01-port0' pfc4_path = '/dev/serial/by-id/usb-FTDI_Dual_RS232-HS-if01-port0' batt_num = None while True: batt_num = raw_input('How many batteries would you like to charge? [ 1 ~ 4 ]: ') message = raw_input('Charging %s battery(s). Is this correct? [y/N]' % (batt_num)) if message == 'y' and (batt_num == '1' or batt_num == '2' or batt_num == '3' or batt_num == '4'): break; print "Accessing the XPF6020 Power Supply" charge_v = 50 charge_i = 10 ps = xpf6020.Xpf6020(ps_path) ps.reset_ps() ps.set_voltage(1, charge_v) ps.set_currentlimit(1, charge_i) if batt_num == '2': ps.set_voltage(2, charge_v) ps.set_currentlimit(2, charge_i) elif: batt_num == '3': ps.set_voltage(2, charge_v) ps.set_currentlimit(2, charge_i) ps1 = xpf6020.Xpf6020(ps_path1) ps1.reset_ps() ps1.set_voltage(1, charge_v) ps1.set_currentlimit(1, charge_i) elif: batt_num == '4': ps.set_voltage(2, charge_v)
import tools.utils as tools from tools import shell parser = argparse.ArgumentParser(description='GXPR Flash') parser.add_argument('--firmware_dir', default=None, help='path to firmware directory (optional)') args = parser.parse_args() sorensen_path = '/dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A5028CFJ-if00-port0' aero_path = '/dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A40132OD-if00-port0' bridge_path = '/dev/serial/by-id/usb-loon_gxprbridge_300217-059-if03-port0' print "Accessing the Power Supply" sore = xpf6020.Xpf6020(sorensen_path) sore.reset_ps() sore.set_voltage(1, 20) sore.set_currentlimit(1, 0.5) print "Accessing the Aeroflex" aero = aeroflex.Aeroflex(aero_path) NAME = 'GXPR' IMAGE_NAME = 'gxpr' while True: sore.all_output('on') sleep(1) unit_id = config_common.prompt_unit(NAME)
parser = argparse.ArgumentParser(description='GoPro Temp Test Script') parser.add_argument('majortom', help='Serial port connected to Major Tom') parser.add_argument('sorensen', help='Serial port connected to the Sorensen XPF 6020') parser.add_argument('tchamber', help='Serial port connected to the Temperature Chamber') parser.add_argument('cycle', help='Number of temperature cycle') parser.add_argument('logfile', help='CSV file to append new measurements') parser.add_argument('-v', '--verbose', action='store_true', help='Tee serial communications to the console') args = parser.parse_args() print "Accessing the Power Supply" sore = xpf6020.Xpf6020(args.sorensen) sore.reset_ps() sore.set_voltage(1, 40) sore.set_currentlimit(1, 2) sleep(1) sore.all_output('on') sleep(3) print "Accessing the Temperature Chamber" chamber = watlowf4.WatlowF4(args.tchamber) print "Accessing Major Tom" tom = shell.Shell(args.majortom) sb = shell.Scoreboard(tom, None) sbvars = [] sbvars.append('gopro_target_video_on')