diff --git a/SpectrumAWG/labscript_devices.py b/SpectrumAWG/labscript_devices.py index 4ea4fdead161cda9657d3c422aaf6605cf0752e8..4dd15247dab759ac20f5e76cf0bc0d98663f35d5 100644 --- a/SpectrumAWG/labscript_devices.py +++ b/SpectrumAWG/labscript_devices.py @@ -110,7 +110,9 @@ class AWGOutput(Output): def do_checks(self): for t,instruction in self.instructions.items(): if instruction[0]>self.parent_device.max_sample_size: - raise LabscriptError(f"Instruction for '{self.name}' at t={t} has too many samples (num_samples={instruction[0]:.0f}).") + raise LabscriptError(f"Instruction for '{self.name}' at t={t} has too many samples (num_samples={instruction[0]:.0f}). The maximum is {self.parent_device.max_sample_size} with your settings.") + elif instruction[0] <= 0: + raise LabscriptError(f"Instruction for '{self.name}' at t={t} has too short sample length. The minimum is {4096/self.parent_device.sample_rate*1e9}ns.") @@ -150,7 +152,7 @@ class SpectrumAWG(Device): # Calculate maximal sample size internal_memory = 2**32 # 4GB - self.max_sample_size = internal_memory//2//memory_segments # TODO: according to the messages in the worker we don't need the factor 2 here + self.max_sample_size = internal_memory//2//memory_segments def do_checks(self): if len(self.child_devices)>1: