diff --git a/docs/changes/newsfragments/7012.improved b/docs/changes/newsfragments/7012.improved new file mode 100644 index 000000000000..8f3784eb46b2 --- /dev/null +++ b/docs/changes/newsfragments/7012.improved @@ -0,0 +1,2 @@ +Save the parameter snapshot under the `register_name` key in the parameters snapshot in datasets (not the station snapshot), to avoid overwritting the snapshot multiple parameters have identical `short_name`s. +The parameter snapshot saved under the short name key is kept for backwards compatibility, but will be removed at a later time. diff --git a/src/qcodes/dataset/measurements.py b/src/qcodes/dataset/measurements.py index 9d0c24effe01..7818b525bba7 100644 --- a/src/qcodes/dataset/measurements.py +++ b/src/qcodes/dataset/measurements.py @@ -673,6 +673,12 @@ def __enter__(self) -> DataSaver: param.short_name: param.snapshot() for param in self._registered_parameters } + parameter_snapshot.update( + { + param.register_name: param.snapshot() + for param in self._registered_parameters + } + ) snapshot["parameters"] = parameter_snapshot self.ds.prepare( diff --git a/tests/dataset/test_snapshot.py b/tests/dataset/test_snapshot.py index 607f992b4939..0efee53da7a9 100644 --- a/tests/dataset/test_snapshot.py +++ b/tests/dataset/test_snapshot.py @@ -46,6 +46,12 @@ def test_station_snapshot_during_measurement( snapshot_of_parameters = { parameter.short_name: parameter.snapshot() for parameter in (dac.ch1, dmm.v1) } + snapshot_of_parameters.update( + { + parameter.register_name: parameter.snapshot() + for parameter in (dac.ch1, dmm.v1) + } + ) with measurement.run() as data_saver: data_saver.add_result((dac.ch1, 7), (dmm.v1, 5))