switched from continuous=bool logic to n_repeat = 1 (default, the former continuous=False), n>1 or None (infinity, i.e., the former continuous=True)

This commit is contained in:
2022-11-13 14:53:05 +01:00
parent 78e250f072
commit 38b0f54724
3 changed files with 9 additions and 8 deletions
+5 -5
View File
@@ -4,7 +4,7 @@ from time import sleep
from tqdm import trange
from slic.core.task import DAQTask
from slic.utils import typename
from slic.utils import typename, xrange
from .baseacquisition import BaseAcquisition
@@ -35,7 +35,7 @@ class FakeAcquisition(BaseAcquisition):
self._stop()
def acquire(self, filename, data_base_dir=None, detectors=None, channels=None, pvs=None, scan_info=None, n_pulses=100, continuous=False, is_scan_step=False, wait=True):
def acquire(self, filename, data_base_dir=None, detectors=None, channels=None, pvs=None, scan_info=None, n_pulses=100, n_repeat=1, is_scan_step=False, wait=True):
if not is_scan_step:
run_number = self.client.next_run()
print(f"Advanced run number to {run_number}.")
@@ -55,9 +55,9 @@ class FakeAcquisition(BaseAcquisition):
print("acquire({})".format(args))
print(f"fake acquire to {filename}:")
self.running = True
n = 0
while self.running and (continuous or n == 0):
n += 1
for n in xrange(n_repeat):
if not self.running:
break
for i in trange(n_pulses):
if not self.running:
break
+2 -2
View File
@@ -33,7 +33,7 @@ class SFAcquisition(BaseAcquisition):
self.current_task = None
def acquire(self, filename, data_base_dir=None, detectors=None, channels=None, pvs=None, scan_info=None, n_pulses=100, continuous=False, is_scan_step=False, wait=True):
def acquire(self, filename, data_base_dir=None, detectors=None, channels=None, pvs=None, scan_info=None, n_pulses=100, n_repeat=1, is_scan_step=False, wait=True):
if not is_scan_step:
run_number = self.client.next_run()
print(f"Advanced run number to {run_number}.")
@@ -73,7 +73,7 @@ class SFAcquisition(BaseAcquisition):
paths = SwissFELPaths(self.instrument, self.pgroup)
def _acquire():
res = client.start_continuous() if continuous else client.start()
res = client.start() if n_repeat == 1 else client.start_continuous(n_repeat=n_repeat)
res = transpose_dicts(res) #TODO: only for continuous?
filenames = res.pop("filenames")
print_response(res)
+2 -1
View File
@@ -70,8 +70,9 @@ class RunPanel(wx.Panel):
n_pulses = correct_n_pulses(rate, n_pulses)
continuous = self.cb_contin.IsChecked()
n_repeat = None if continuous else 1
self.task = self.acquisition.acquire(filename, n_pulses=n_pulses, continuous=continuous, wait=False)
self.task = self.acquisition.acquire(filename, n_pulses=n_pulses, n_repeat=n_repeat, wait=False)
def wait():
with printed_exception: