QCoDeS [UNRELEASED DRAFT] (2025-12-04)¶
Improved:¶
Improved pyvisa-sim YAMLs for Lakeshore Models 335, 336, and 372.
Updated Lakeshore tests to use pyvisa-sim backend instead of mocked classes.
Updated lakeshore_base.py to bypass waiting when using blocking_t in sim mode. (#7606)
Fixes a bug in the LinSweeper iterator that caused it to always raise StopIteration after completing a single sweep. This bug meant LinSweeper could not be used in a nested measurement function. (#7607)
The
InstrumentModuleand its aliasInstrumentChannelnow take an optional generic argument allowing you to specify the type of the parent instrument for type checking. (#7659)The
ChannelTupleclass now hasmulti_parameterandmulti_functionmethods that provide type-safe access to parameters and functions on all channels in the tuple. These methods allow accessing attributes with proper type information, improving IDE integration and type checking. The return type annotation of__getattr__has been changed toAnyreflecting the fact that this is not a type safe interface and it is impossible for a static type checker to infer the type of the dynamic attribute.multi_parameter,multi_functionandget_channel_by_nameshould be used when a more specific type is requested. (#7686)
Improved Drivers:¶
The Stanford SR86x drivers now statically assign attributes statically for more member InstrumentModules and parameters enabling better documentation, type checking and IDE integration. (#7542)
The
KeysightE4980Adriver now names thecorrectionsubmodule correctly ascorrectionreflecting the public attribute to access the module. This also means that in the snapshotcorrectionis used as the module name rather than_correction(#7659)Improved sim YAML for Cryomagnetics TM620 and added default terminator. (#7666)
The
RohdeSchwarzZNBBase,MiniCircuitsRCSPDT, andTektronixTPS2012drivers now have explicit type annotations on theirchannelssubmodule, enabling better type checking and IDE integration. (#7686)