diff --git a/src/sorunlib/smurf.py b/src/sorunlib/smurf.py index 9da693b..80f1257 100644 --- a/src/sorunlib/smurf.py +++ b/src/sorunlib/smurf.py @@ -93,12 +93,14 @@ def bias_step(tag=None, concurrent=True, settling_time=None): tag=tag) -def iv_curve(tag=None, concurrent=True, settling_time=None): +def iv_curve(tag=None, iv_kwargs=None, concurrent=True, settling_time=None): """Perform an iv curve on all SMuRF Controllers. Args: tag (str, optional): Tag or comma-separated listed of tags to attach to the operation. + iv_kwargs (dict, optional): Additional keyword arguments to pass to + ``take_iv``. concurrent (bool, optional): A bool which determines how the operation is run across the active SMuRF controllers. It runs in parallel if True, and in series if False. @@ -112,7 +114,8 @@ def iv_curve(tag=None, concurrent=True, settling_time=None): _run_op('take_iv', concurrent=concurrent, settling_time=settling_time, - tag=tag) + tag=tag, + kwargs=iv_kwargs) def uxm_setup(concurrent=True, settling_time=0): diff --git a/tests/test_smurf.py b/tests/test_smurf.py index 19a6b93..23cef9e 100644 --- a/tests/test_smurf.py +++ b/tests/test_smurf.py @@ -36,7 +36,7 @@ def test_bias_step(concurrent): def test_iv_curve(concurrent): smurf.iv_curve(concurrent=concurrent) for client in smurf.run.CLIENTS['smurf']: - client.take_iv.start.assert_called_with(tag=None) + client.take_iv.start.assert_called_with(tag=None, kwargs=None) @patch('sorunlib.smurf.time.sleep', MagicMock())