def do_warmup(self): self.set_state(True) self.dial_current(self.default_current) sleep(.1) self.get_parameters() update = {self.name: {p: getattr(self, p) for p in self.update_parameters}} self.device_server.update(json.dumps(update))
def dial_current(self, stop): start = self.get_current() currents = np.linspace(start, stop, self.current_ramp_num_points+1)[1:] dt = float(self.current_ramp_duration) / self.current_ramp_num_points for current in currents: self.set_current(current) sleep(dt)
def do_shutdown(self): self.dial_current(min(self.current_range)) self.set_state(False) sleep(.1) self.get_parameters() update = {self.name: {p: getattr(self, p) for p in self.update_parameters}} self.device_server.update(json.dumps(update))
def update(self): parameter_values = yield self.cxn.conductor.get_parameter_values() sequence = json.loads(parameter_values)['sequencer']['sequence'] yield self.cxn.power_supply.state(False) if 'evaporate' in sequence: yield sleep(6) yield self.cxn.power_supply.state(self._value)
def update(self): parameter_values = yield self.cxn.conductor.get_parameter_values() sequence = json.loads(parameter_values)['sequencer']['sequence'] yield self.cxn.power_supply.state(False) if self._value is not None: self.cxn.power_supply.voltage_limit(self._value['voltage']) self.cxn.power_supply.current_limit(self._value['current']) if 'evaporate' in sequence: yield sleep(6) yield self.cxn.power_supply.state(self._value['state'])
def do_warmup(self): yield self.set_state(True) yield self.dial_current(self.default_diode_current) yield sleep(1) yield self.get_parameters() update = { self.name: {p: getattr(self, p) for p in self.update_parameters} } yield self.device_server.update(json.dumps(update))