def verify_current_pulse_settings(spike_safe_socket): spike_safe_socket.send_scpi_command('SOUR1:PULS:WIDT?') pulse_width = spike_safe_socket.read_data() log_and_print('Updated Pulse Width: {}s'.format(pulse_width)) spike_safe_socket.send_scpi_command('SOUR1:PULS:DCYC?') duty_cycle = spike_safe_socket.read_data() log_and_print('Updated Duty Cycle: {}%'.format(duty_cycle)) spike_safe_socket.send_scpi_command('SOUR1:PULS:PER?') pulse_period = spike_safe_socket.read_data() log_and_print('Updated Pulse Period: {}s'.format(pulse_period)) log_all_events(spike_safe_socket) # space out the log and terminal output for clarity log_and_print('')
format='%(asctime)s, %(levelname)s, %(message)s', datefmt='%m/%d/%Y %I:%M:%S', level=logging.INFO) ### start of main program try: log.info("MeasuringDcStaircaseVoltages.py started.") # instantiate new TcpSocket to connect to PSMU tcp_socket = TcpSocket() tcp_socket.open_socket(ip_address, port_number) # reset to default state and check for all events, # it is best practice to check for errors after sending each command tcp_socket.send_scpi_command('*RST') log_all_events(tcp_socket) # set Channel 1's mode to DC Dynamic mode and check for all events tcp_socket.send_scpi_command('SOUR1:FUNC:SHAP DCDYNAMIC') log_all_events(tcp_socket) # set Channel 1's voltage to 10 and check for all events tcp_socket.send_scpi_command('SOUR1:VOLT 10') log_all_events(tcp_socket) # set Channel 1's Auto Range to On and check for all events tcp_socket.send_scpi_command('SOUR1:CURR:RANG:AUTO 1') log_all_events(tcp_socket) # set Channel 1's current to start current and check for all events tcp_socket.send_scpi_command('SOUR1:CURR {}'.format(start_current_A))