From 1f03ae5be9cb05a03d0dd1a58fb3d75491637fbb Mon Sep 17 00:00:00 2001 From: Alexander Bessman Date: Fri, 20 Jan 2023 12:27:42 +0100 Subject: [PATCH] Add low frequency error to PWM (fix #213) --- pslab/instrument/waveform_generator.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pslab/instrument/waveform_generator.py b/pslab/instrument/waveform_generator.py index 15f52dc2..dfaccd48 100644 --- a/pslab/instrument/waveform_generator.py +++ b/pslab/instrument/waveform_generator.py @@ -339,6 +339,7 @@ class PWMGenerator: >>> pwmgen.set_states(sq2=True) """ + _LOW_FREQUENCY_LIMIT = 4 _HIGH_FREQUENCY_LIMIT = 1e7 def __init__(self, device: SerialHandler = None): @@ -404,8 +405,10 @@ def generate( + "Please use map_reference_clock for 16 & 32 MHz outputs." ) raise ValueError(e) - elif frequency <= 0: - raise ValueError("Frequency must be positive.") + elif frequency < self._LOW_FREQUENCY_LIMIT: + raise ValueError( + f"Frequency must be at least {self._LOW_FREQUENCY_LIMIT} Hz." + ) else: self._frequency = frequency channels, duty_cycles = _listify(channels, 4, duty_cycles)