Pause automatic waveform transfers on hardware Stop
This commit is contained in:
@@ -86,6 +86,17 @@ class DPO4034:
|
||||
raise ValueError("Выберите канал CH1…CH4")
|
||||
return channel
|
||||
|
||||
def is_running(self):
|
||||
"""Read hardware Run/Stop without changing acquisition or transferring data."""
|
||||
if self.instrument is None:
|
||||
raise RuntimeError("Прибор не подключён")
|
||||
state = self.instrument.query("ACQUIRE:STATE?").strip().upper()
|
||||
if state in ("0", "OFF", "STOP"):
|
||||
return False
|
||||
if state in ("1", "ON", "RUN"):
|
||||
return True
|
||||
raise ValueError("Некорректное состояние сбора: " + state)
|
||||
|
||||
def settings(self, channel="CH1"):
|
||||
self._channel(channel)
|
||||
if self.instrument is None:
|
||||
|
||||
@@ -42,9 +42,13 @@ class ScopeSession:
|
||||
if action == "shutdown":
|
||||
break
|
||||
try:
|
||||
if action == "capture" and len(args) == 4:
|
||||
value = client.capture(*args[:3])
|
||||
value = CaptureFrame(value, prepare_preview(value, args[3]))
|
||||
if action == "capture" and len(args) in (4, 5):
|
||||
automatic = len(args) == 5 and args[4]
|
||||
if automatic and not client.is_running():
|
||||
value = None
|
||||
else:
|
||||
value = client.capture(*args[:3])
|
||||
value = CaptureFrame(value, prepare_preview(value, args[3]))
|
||||
elif action == "export":
|
||||
filename, waves = args
|
||||
with open(filename, "w", newline="", encoding="utf-8-sig") as stream:
|
||||
|
||||
Reference in New Issue
Block a user