def startAoTask(): try: # Create channels. for ii in range(len(source_list_unified)): if ii == 0: analog_data_temp = analog_data[:source_list_dict[ source_list_unified[0]]] else: analog_data_temp = analog_data[ source_list_dict[source_list_unified[0]]:] self.ao_task = [] self.ao_task = nicontrol.AnalogWaveformOutput( source=analog_data_temp[0].getSource()) for i in range(1, len(analog_data_temp)): self.ao_task.addChannel( source=analog_data_temp[i].getSource()) # Add waveforms self.ao_task.setWaveforms(waveforms=waveforms, sample_rate=frequency, clock=wv_clock) # Start task. self.ao_task.startTask() except nicontrol.NIException as exception: print(exception) return True return False
def waveformOutput(self, waveforms=None, sample_rate=None, finite=False, rising=True, start=True): """ waveforms is a list of numpy arrays of type numpy.float64 that are assumed to be of equal length. """ self.stopAndDelete() # Create task. self.task = nicontrol.AnalogWaveformOutput(self.lines[0], max_val=self.max_val, min_val=self.min_val) # Add lines. for line in self.lines[1:]: self.task.addChannel(source=line) # Add waveforms. self.task.setWaveforms(waveforms=waveforms, sample_rate=sample_rate, clock=self.clock, finite=finite, rising=rising) if start: self.task.startTask()
def initAoTask(): # Create channels. self.ao_task = nicontrol.AnalogWaveformOutput( analog_data[0][0], analog_data[0][1]) for i in range(len(analog_data) - 1): self.ao_task.addChannel(analog_data[i + 1][0], analog_data[i + 1][1]) # Add waveform return self.ao_task.setWaveform(waveform, frequency, clock=self.waveform_clock)
def startHardwareTimedMove(self, z_positions): # Clean up the previous task self.ni_task.stopTask() self.ni_task.clearTask() # Create hardware timed task self.ni_task = nicontrol.AnalogWaveformOutput(self.board, self.line) # Set waveform voltages = z_positions * self.scale # Convert to a list of channel values and write self.ni_task.setWaveform(voltages, 100, clock=self.trigger_source) # NOTE: the frequency is hardcoded to a maximum allowed value (arbitrary) self.ni_task.startTask()
def startAoTask(): try: # Create channels. self.ao_task = nicontrol.AnalogWaveformOutput(source = analog_data[0].getSource()) for i in range(1, len(analog_data)): self.ao_task.addChannel(source = analog_data[i].getSource()) # Add waveforms self.ao_task.setWaveforms(waveforms = waveforms, sample_rate = frequency, clock = wv_clock) # Start task. self.ao_task.startTask() except nicontrol.NIException as exception: print(exception) return True return False
def startAoTask(): try: # Create channels. self.ao_task = nicontrol.AnalogWaveformOutput( analog_data[0][0], analog_data[0][1]) for i in range(len(analog_data) - 1): self.ao_task.addChannel(analog_data[i + 1][0], analog_data[i + 1][1]) # Add waveform self.ao_task.setWaveform(waveform, frequency, clock=wv_clock) # Start task. self.ao_task.startTask() except nicontrol.NIException: return True return False