prsctrl.measurement.settings.LockInSettings#

class LockInSettings(time_constant_s: float = 1, sensitivity_volt: float = 5e-05, filter_slope: float = 12, sync_filter: float = 1, reserve: str = 'Normal', reference: str = 'External', reference_trigger: str = 'Rising Edge', frequency_Hz: float | None = None, sample_rate_Hz: float = 128, aux_DC: str = 'Aux In 1')[source]#

Bases: SettingsClass

Methods

apply

Set - time constant - sensitivity - filter slope - sync filter - reserve - reference source - reference trigger setting - frequency

as_dict

Convenience wrapper for dataclasses.asdict(self)

from_dict

Recursively construct a SettingsClass from a dictionary.

load_yaml

save_yaml

Attributes

aux_DC

The name of the auxiliary port that is used to measure the DC intensity

filter_slope

frequency_Hz

reference

The source of the reference frequency

reference_trigger

reserve

sample_rate_Hz

sensitivity_volt

sync_filter

time_constant_s

__annotations__ = {'aux_DC': <class 'str'>, 'filter_slope': <class 'float'>, 'frequency_Hz': typing.Optional[float], 'reference': <class 'str'>, 'reference_trigger': <class 'str'>, 'reserve': <class 'str'>, 'sample_rate_Hz': <class 'float'>, 'sensitivity_volt': <class 'float'>, 'sync_filter': <class 'float'>, 'time_constant_s': <class 'float'>}#
__dataclass_fields__ = {'aux_DC': Field(name='aux_DC',type=<class 'str'>,default='Aux In 1',default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'filter_slope': Field(name='filter_slope',type=<class 'float'>,default=12,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'frequency_Hz': Field(name='frequency_Hz',type=typing.Optional[float],default=None,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'reference': Field(name='reference',type=<class 'str'>,default='External',default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'reference_trigger': Field(name='reference_trigger',type=<class 'str'>,default='Rising Edge',default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'reserve': Field(name='reserve',type=<class 'str'>,default='Normal',default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'sample_rate_Hz': Field(name='sample_rate_Hz',type=<class 'float'>,default=128,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'sensitivity_volt': Field(name='sensitivity_volt',type=<class 'float'>,default=5e-05,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'sync_filter': Field(name='sync_filter',type=<class 'float'>,default=1,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'time_constant_s': Field(name='time_constant_s',type=<class 'float'>,default=1,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD)}#
__dataclass_params__ = _DataclassParams(init=True,repr=True,eq=True,order=False,unsafe_hash=False,frozen=False,match_args=True,kw_only=False,slots=False,weakref_slot=False)#
__dict__ = mappingproxy({'__module__': 'prsctrl.measurement.settings', '__firstlineno__': 116, '__annotations__': {'time_constant_s': <class 'float'>, 'sensitivity_volt': <class 'float'>, 'filter_slope': <class 'float'>, 'sync_filter': <class 'float'>, 'reserve': <class 'str'>, 'reference': <class 'str'>, 'reference_trigger': <class 'str'>, 'frequency_Hz': typing.Optional[float], 'sample_rate_Hz': <class 'float'>, 'aux_DC': <class 'str'>}, 'time_constant_s': 1, 'sensitivity_volt': 5e-05, 'filter_slope': 12, 'sync_filter': 1, 'reserve': 'Normal', 'reference': 'External', 'reference_trigger': 'Rising Edge', 'frequency_Hz': None, 'sample_rate_Hz': 128, 'aux_DC': 'Aux In 1', 'apply': <function LockInSettings.apply>, '__static_attributes__': (), '__doc__': "LockInSettings(time_constant_s: float = 1, sensitivity_volt: float = 5e-05, filter_slope: float = 12, sync_filter: float = 1, reserve: str = 'Normal', reference: str = 'External', reference_trigger: str = 'Rising Edge', frequency_Hz: Optional[float] = None, sample_rate_Hz: float = 128, aux_DC: str = 'Aux In 1')", '__dataclass_params__': _DataclassParams(init=True,repr=True,eq=True,order=False,unsafe_hash=False,frozen=False,match_args=True,kw_only=False,slots=False,weakref_slot=False), '__dataclass_fields__': {'time_constant_s': Field(name='time_constant_s',type=<class 'float'>,default=1,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'sensitivity_volt': Field(name='sensitivity_volt',type=<class 'float'>,default=5e-05,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'filter_slope': Field(name='filter_slope',type=<class 'float'>,default=12,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'sync_filter': Field(name='sync_filter',type=<class 'float'>,default=1,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'reserve': Field(name='reserve',type=<class 'str'>,default='Normal',default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'reference': Field(name='reference',type=<class 'str'>,default='External',default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'reference_trigger': Field(name='reference_trigger',type=<class 'str'>,default='Rising Edge',default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'frequency_Hz': Field(name='frequency_Hz',type=typing.Optional[float],default=None,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'sample_rate_Hz': Field(name='sample_rate_Hz',type=<class 'float'>,default=128,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'aux_DC': Field(name='aux_DC',type=<class 'str'>,default='Aux In 1',default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD)}, '__replace__': <function _replace>, '__hash__': None, '__init__': <function LockInSettings.__init__>, '__repr__': <function LockInSettings.__repr__>, '__eq__': <function LockInSettings.__eq__>, '__match_args__': ('time_constant_s', 'sensitivity_volt', 'filter_slope', 'sync_filter', 'reserve', 'reference', 'reference_trigger', 'frequency_Hz', 'sample_rate_Hz', 'aux_DC')})#
__eq__(other)#

Return self==value.

__firstlineno__ = 116#
__hash__ = None#
__init__(time_constant_s: float = 1, sensitivity_volt: float = 5e-05, filter_slope: float = 12, sync_filter: float = 1, reserve: str = 'Normal', reference: str = 'External', reference_trigger: str = 'Rising Edge', frequency_Hz: float | None = None, sample_rate_Hz: float = 128, aux_DC: str = 'Aux In 1') None#
__match_args__ = ('time_constant_s', 'sensitivity_volt', 'filter_slope', 'sync_filter', 'reserve', 'reference', 'reference_trigger', 'frequency_Hz', 'sample_rate_Hz', 'aux_DC')#
__module__ = 'prsctrl.measurement.settings'#
__or__(other)#

Merge with another settings class or a dictionary.

__replace__(**changes)#
__repr__()#

Return repr(self).

__static_attributes__ = ()#
__weakref__#

list of weak references to the object

apply(device: LockInAmp)[source]#

Set - time constant - sensitivity - filter slope - sync filter - reserve - reference source - reference trigger setting - frequency

as_dict() dict#

Convenience wrapper for dataclasses.asdict(self)

aux_DC: str = 'Aux In 1'#

The name of the auxiliary port that is used to measure the DC intensity

filter_slope: float = 12#
frequency_Hz: float | None = None#
classmethod from_dict(data: dict)#

Recursively construct a SettingsClass from a dictionary. If the value of a field is another SettingsClass, from_dict will be called for that field as well. Handled are: - SettingsClass - list[SettingsClass] - dict[<any>, SettingsClass] - all of the above as Optional

Raises:
  • ValueError – If data contains a value that has the wrong type for the field of cls (ONLY if the type is a subclass of SettingsClass! Other types are not enforced)

  • KeyError – If data contains a key that is not a field name of cls

classmethod load_yaml(yaml_path: str, loader=<class 'yaml.loader.Loader'>)#
reference: str = 'External'#

The source of the reference frequency

reference_trigger: str = 'Rising Edge'#
reserve: str = 'Normal'#
sample_rate_Hz: float = 128#
save_yaml(yaml_path: str)#
sensitivity_volt: float = 5e-05#
sync_filter: float = 1#
time_constant_s: float = 1#