diff --git a/src/rigol_dho_lib/rigol.py b/src/rigol_dho_lib/rigol.py index c606bdc..cce9a66 100644 --- a/src/rigol_dho_lib/rigol.py +++ b/src/rigol_dho_lib/rigol.py @@ -1,4 +1,5 @@ import wave +import time from pyvisa.resources.resource import Resource import pyvisa from enum import Enum @@ -22,8 +23,8 @@ class Channel: self.index = index self.instr = instr self.enabled = False - self.probe = 1 - self.scale_V = 1e-1 + self.probe = 10 + self.scale_V = 5 self.setProbe(self.probe) self.setVScale(self.scale_V) @@ -38,15 +39,9 @@ class Channel: self.instr.write(f":WAVeform:SOURce CHANnel{self.index}") self.instr.write(":WAV:DATA?") response = self.instr.read_raw() - print(f"total resp len: {len(response)}") data_start_offset = int(response[1:2].decode("ASCII")) + 2 data_len = (len(response) - data_start_offset) // 2 * 2 - print(f"data len{data_len}") - - print(f" raw data byte count:{len(response[data_start_offset:])}") - print(f"data offset: {data_start_offset}") - dt = np.dtype(" float: - response = self.instr.query(f"C{self.index}:BSWV?") - return float(response.split(",")[1]) - - -class GenChannels: - def __init__(self, instr: Resource): - self.instr = instr - self.channels = { - ChannelID.CH1: Channel(ChannelID.CH1, instr), - ChannelID.CH2: Channel(ChannelID.CH2, instr), - } - - def __getitem__(self, ch: ChannelID) -> Channel: - return self.channels[ch] - - -class SiglentGen: - def __init__(self, visa_address: str): - rm = pyvisa.ResourceManager() - self.instr: Resource = rm.open_resource(visa_address) - - self.channels = GenChannels(self.instr) - - self.initialize() - - # ---- Initialization ---- - def initialize(self): - self.instr.write("*RST") - self.instr.write("*CLS") - - # ---- Global commands ---- - def identify(self) -> str: - return self.instr.query("*IDN?") - - def close(self): - self.instr.close() - - def get_error(self): - return self.instr.query("SYST:ERR?")