[docs]@TRACER.start_as_current_span("qcodes.dataset.do0d")defdo0d(*param_meas:ParamMeasT,write_period:float|None=None,measurement_name:str="",exp:Experiment|None=None,do_plot:bool|None=None,use_threads:bool|None=None,log_info:str|None=None,)->AxesTupleListWithDataSet:""" Perform a measurement of a single parameter. This is probably most useful for an ArrayParameter that already returns an array of data points Args: *param_meas: Parameter(s) to measure at each step or functions that will be called at each step. The function should take no arguments. The parameters and functions are called in the order they are supplied. write_period: The time after which the data is actually written to the database. measurement_name: Name of the measurement. This will be passed down to the dataset produced by the measurement. If not given, a default value of 'results' is used for the dataset. exp: The experiment to use for this measurement. do_plot: should png and pdf versions of the images be saved after the run. If None the setting will be read from ``qcodesrc.json`` use_threads: If True measurements from each instrument will be done on separate threads. If you are measuring from several instruments this may give a significant speedup. log_info: Message that is logged during the measurement. If None a default message is used. Returns: The QCoDeS dataset. """ifdo_plotisNone:do_plot=cast(bool,config.dataset.dond_plot)meas=Measurement(name=measurement_name,exp=exp)iflog_infoisnotNone:meas._extra_log_info=log_infoelse:meas._extra_log_info="Using 'qcodes.dataset.do0d'"measured_parameters=tuple(paramforparaminparam_measifisinstance(param,ParameterBase))try:shapes:Shapes|None=detect_shape_of_measurement(measured_parameters,)exceptTypeError:LOG.exception(f"Could not detect shape of {measured_parameters} "f"falling back to unknown shape.")shapes=None_register_parameters(meas,param_meas,shapes=shapes)_set_write_period(meas,write_period)withmeas.run()asdatasaver:datasaver.add_result(*process_params_meas(param_meas,use_threads=use_threads))dataset=datasaver.datasetreturn_handle_plotting(dataset,do_plot)