Exemplo n.º 1
0
    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)
Exemplo n.º 2
0
 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)
Exemplo n.º 3
0
 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)
Exemplo n.º 4
0
 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)
def test_decode_reg_val():
    assert ptcl.decode_reg_val("mode_selection",
                               b"\x02\x00\x00\x00") == "envelope"
    assert ptcl.decode_reg_val("range_start", b"\x3c\x00\x00\x00") == 0.06