def test_get_reg(): assert ptcl.get_reg(test_reg.name) == test_reg assert ptcl.get_reg(test_reg.name, test_mode) == test_reg assert ptcl.get_reg(test_reg.name, test_mode_val) == test_reg assert ptcl.get_reg(test_mode_reg.name, test_mode) == test_mode_reg assert ptcl.get_reg(test_mode_reg.name, test_mode_val) == test_mode_reg assert ptcl.get_reg(test_reg) == test_reg assert ptcl.get_reg(test_reg.addr) == test_reg with pytest.raises(ptcl.ProtocolError): ptcl.get_reg(test_mode_reg.name)
def _get_next(self): packet = self._recv_packet(allow_recovery_skip=True) if not isinstance(packet, protocol.UnpackedStreamData): raise ClientError("got unexpected type of frame") info = {} for addr, enc_val in packet.result_info: try: reg = protocol.get_reg(addr, self._mode) val = protocol.decode_reg_val(reg, enc_val) except protocol.ProtocolError: log.info("got unknown reg val in result info") log.info("addr: {}, value: {}".format( addr, utils.fmt_enc_val(enc_val))) else: info[reg.name] = val data = protocol.decode_output_buffer(packet.buffer, self._mode, self._num_subsweeps) if self.squeeze: return info, data else: return [info], np.expand_dims(data, 0)
def write_reg(self, reg, val): reg = protocol.get_reg(reg, self.mode) enc_val = protocol.encode_reg_val(reg, val) self.write_reg_raw(reg.addr, enc_val)
def read_reg(self, reg): reg = protocol.get_reg(reg, self.mode) enc_val = self.read_reg_raw(reg.addr) return protocol.decode_reg_val(reg, enc_val)
def _write_reg(self, reg, val, expect_response=True): reg = protocol.get_reg(reg, self._mode) enc_val = protocol.encode_reg_val(reg, val) self._write_reg_raw(reg.addr, enc_val, expect_response)
def _read_reg(self, reg, mode=None): mode = mode or self._mode reg = protocol.get_reg(reg, mode) enc_val = self._read_reg_raw(reg.addr) return protocol.decode_reg_val(reg, enc_val)
def read_reg(self, reg, do_log=True): reg = protocol.get_reg(reg, self.mode) enc_val = self.read_reg_raw(reg.addr, do_log=do_log) return protocol.decode_reg_val(reg, enc_val)