def __init__(self, board, line, trigger_source=None, scale=10.0 / 250.0): self.board = board self.line = line self.scale = scale self.trigger_source = trigger_source self.ni_task = nicontrol.AnalogOutput(self.board, self.line) self.ni_task.startTask()
def cleanupHardwareTimedMove(self): # Clean up the previous task self.ni_task.stopTask() self.ni_task.clearTask() # Create the original single-write task self.ni_task = nicontrol.AnalogOutput(self.board, self.line) self.ni_task.startTask()
def zMoveTo(self, z): try: #nicontrol.setAnalogLine(self.board, self.line, z * self.scale) voltage = z * self.scale if (voltage > 0.0) and (voltage < 10.0): self.ni_task.output(voltage) except AssertionError as e: print("Caught outputVoltage error:", type(e), str(e)) self.ni_task.stopTask() self.ni_task.clearTask() self.ni_task = nicontrol.AnalogOutput(self.board, self.line) self.ni_task.startTask()
def createTask(self): self.task = nicontrol.AnalogOutput(source=self.source) self.task.startTask()