def run( self, cxn, context ): endPosition = int(self.parameters['shuttle.position']) stepSize = int(self.parameters['shuttle.step_size']) print 'start, end', self.startPosition, endPosition if endPosition == self.startPosition: return elif endPosition > self.startPosition: endPosition -= (endPosition - self.startPosition)%stepSize ordering = range( self.startPosition + stepSize, endPosition + stepSize, stepSize) else: endPosition += (endPosition - self.startPosition)%stepSize ordering = range( endPosition, self.startPosition, stepSize)[::-1] # if len(ordering) > 126: raise Exception("Too many voltage sets!") for i, p in enumerate( ordering ): print 'pos: ', p should_stop = self.pause_or_stop() if should_stop: break self.dacserver.set_next_voltages( p ) av = self.dacserver.get_analog_voltages() for e, v in av: try: self.volts[e].append(v) except: self.volts[e] = [v] self.parameters['advanceDACs.steps'] = len(ordering) self.seq = advance_DACs_shuttle(self.parameters) # self.doSequence() self.dacserver.set_first_voltages() self.seq = reset_DACs(self.parameters)
def run(self, cxn, context): print 'run' print self.parameters['shuttle.position'] print self.parameters['shuttle.step_size'] position = int(self.parameters['shuttle.position']) step_size = int(self.parameters['shuttle.step_size']) duration = float(self.parameters['shuttle.duration']) loop = bool(self.parameters['shuttle.loop']) loop_delay = float(self.parameters['shuttle.loop_delay']) overshoot = bool(self.parameters['shuttle.overshoot']) # shuttle_times = self.dac_server.shuttle(endPosition, step_size, duration, loop, overshoot) # shuttle_times = self.dac_server.get_shuttle_times() self.parameters['advanceDACs.times'] = self.dac_server.shuttle((position, step_size, duration, loop, loop_delay, overshoot)) self.seq = advance_DACs_shuttle(self.parameters) self.doSequence() self.dac_server.set_first_voltages() self.seq = reset_DACs(self.parameters) self.doSequence()