6.2.2. qumada.instrument.buffers
Created on Tue Jan 3 15:20:07 2023 |
|
- class qumada.instrument.buffers.Buffer[source]
Bases:
ABC
Base class for a general buffer interface for an instrument.
-
SETTING_NAMES:
set
[str
] = {'burst_duration', 'channel', 'delay', 'duration', 'grid_interpolation', 'num_bursts', 'num_points', 'sampling_rate', 'trigger_mode', 'trigger_threshold'}
-
TRIGGER_MODE_NAMES:
list
[str
] = ['continuous', 'edge', 'tracking_edge', 'pulse', 'tracking_pulse', 'digital']
- abstract is_finished()[source]
True, if measurement is done and data has finished reading from the buffer.
- Return type:
- abstract is_ready()[source]
True, if buffer is correctly initialized and ready to measure.
- Return type:
- abstract is_subscribed(parameter)[source]
True, if the parameter is subscribed and saved in buffer.
- Return type:
- abstract property num_points: int | None
Number of points to write into buffer for each burst. Required to setup qcodes datastructure and to compare with max. buffer length.
- abstract read()[source]
Read the buffer
Output is a dict with the following structure:
{ "timestamps": list[float], "param1": list[float], "param2": list[float], ... }
- Return type:
- settings_schema = {'additionalProperties': False, 'oneOf': [{'required': ['sampling_rate', 'duration'], 'not': {'required': ['num_points']}}, {'required': ['sampling_rate', 'num_points'], 'not': {'required': ['duration']}}, {'required': ['duration', 'num_points'], 'not': {'required': ['sampling_rate']}}], 'properties': {'burst_duration': {'type': 'number'}, 'channel': {'type': 'integer'}, 'delay': {'type': 'number'}, 'duration': {'type': 'number'}, 'grid_interpolation': {'enum': ['exact', 'nearest', 'linear'], 'type': 'string'}, 'num_bursts': {'type': 'integer'}, 'num_points': {'type': 'integer'}, 'sampling_rate': {'type': 'number'}, 'trigger_mode': {'enum': ['continuous', 'edge', 'tracking_edge', 'pulse', 'tracking_pulse', 'digital'], 'type': 'string'}, 'trigger_mode_polarity': {'enum': ['positive', 'negative', 'both'], 'type': 'string'}, 'trigger_threshold': {'type': 'number'}}, 'type': 'object'}
- abstract setup_buffer(settings)[source]
Sets instrument related settings for the buffer.
- Return type:
-
SETTING_NAMES:
- exception qumada.instrument.buffers.BufferException[source]
Bases:
Exception
General Buffer Exception
- class qumada.instrument.buffers.DummyDMMBuffer(device)[source]
Bases:
Buffer
Buffer for Dummy DMM
- is_finished()[source]
True, if measurement is done and data has finished reading from the buffer.
- Return type:
- is_subscribed(parameter)[source]
True, if the parameter is subscribed and saved in buffer.
- Return type:
- property num_points: int | None
Number of points to write into buffer for each burst. Required to setup qcodes datastructure and to compare with max. buffer length.
- read()[source]
Read the buffer
Output is a dict with the following structure:
{ "timestamps": list[float], "param1": list[float], "param2": list[float], ... }
- Return type:
- class qumada.instrument.buffers.MFLIBuffer(mfli)[source]
Bases:
Buffer
Buffer for ZurichInstruments MFLI
-
TRIGGER_MODE_MAPPING:
dict
= {'continuous': 0, 'digital': 6, 'edge': 1, 'pulse': 3, 'tracking_edge': 4, 'tracking_pulse': 7}
- is_finished()[source]
True, if measurement is done and data has finished reading from the buffer.
- Return type:
- is_subscribed(parameter)[source]
True, if the parameter is subscribed and saved in buffer.
- Return type:
- property num_points: int | None
Number of points to write into buffer for each burst. Required to setup qcodes datastructure and to compare with max. buffer length.
- read()[source]
Read the buffer
Output is a dict with the following structure:
{ "timestamps": list[float], "param1": list[float], "param2": list[float], ... }
- Return type:
- property trigger
The parameter, that triggers the instruments buffer. Set the trigger parameter using a qcodes parameter.
-
TRIGGER_MODE_MAPPING:
- class qumada.instrument.buffers.SR830Buffer(device)[source]
Bases:
Buffer
Buffer for Stanford SR830
- ch1_names = ['X', 'R', 'X Noise', 'aux_in1', 'aux_in2']
- ch2_names = ['Y', 'Phase', 'Y Noise', 'aux_in3', 'aux_in4']
- is_finished()[source]
True, if measurement is done and data has finished reading from the buffer.
- Return type:
- is_subscribed(parameter)[source]
True, if the parameter is subscribed and saved in buffer.
- Return type:
- property num_points: int | None
Number of points to write into buffer for each burst. Required to setup qcodes datastructure and to compare with max. buffer length.
- read()[source]
Read the buffer
Output is a dict with the following structure:
{ "timestamps": list[float], "param1": list[float], "param2": list[float], ... }
- Return type:
- qumada.instrument.buffers.is_bufferable(object)[source]
Checks if the instrument or parameter is bufferable using the qumada Buffer definition.
- qumada.instrument.buffers.map_buffers(components, properties, gate_parameters, overwrite_trigger=None, skip_mapped=True)[source]
Maps the bufferable instruments of gate parameters.
- Parameters:
components (Mapping[Any, Metadatable]) – Instruments/Components in QCoDeS
gate_parameters (Mapping[Any, Union[Mapping[Any, Parameter], Parameter]]) – Gates, as defined in the measurement script
- Return type: