Skip to content

QCoDeS 0.2.0

Compare
Choose a tag to compare
@jenshnielsen jenshnielsen released this 15 Apr 15:43
0c8487f

This release contains large number of driver updates as well as significant improvements to the dataset and
documentation. It also introduces a new Parameter Class (ParameterWithSetpoints) that is intended to replace
ArrayParameter.

New & Improved


  • New and Improved drivers:

    • Alazar cards:

      • Alazar 9870 Don't assign to instrument property (#1182)
      • Alazar add buffer completed callback (#1234)
      • updated/fixed ATS9870 driver (#1290)
      • Alazar remove AlazarParameter support (#1184)
      • Add firmware version to Alazar get_idn (#1308)
      • Add Alazar ATS9373 driver (#1324)
      • Add functions to read and write registers on Alazar and Trigger holdoff for 9360 (#1307)
      • Alazar add get/set parameter (#1523)
      • Alazar: refactor DLL API related things (#1471)
    • Lock-in amplifiers:

      • Fix maximum frequency for SRS860 - it is 500 kHz (#1164)
      • Standford Research SR860 lock-in amplifier driver improvements and bug fixes (#1160)
      • SR86x lockin: get values of many parameters at once (#1245)
      • SR830: Add increment/decrement sensitivity functions. (#1380)
      • driver / SR830 : add the snap XY command to read X and Y together (#1333)
      • Fix SR830's _change_sensitivity function. (#1411)
      • Feature/dem 805/implement sampling rate float parameter (#1510)
      • Feature/dem 804/implement missing uhfli commands (#1500)
      • Driver: ziuhfli - demod{}_harmonic now return int (#1534)
    • Magnets:

      • AMI430 driver setting set point despite being outside safe region (#1162)
      • Driver/Mercury iPS with VISA (#897)
      • driver / add block_during_ramp parameter to AMI430_3D (#1228)
      • Fix / driver / mercury ips / firmware 2.6 (#1385)
      • Homogeneous coordinates for field vectors in Mercury iPS (#1398)
      • Add simultaneous blocking ramp parameters MercuryIPS (#1467)
      • Various IPS120 driver improvements (#1402)
      • Field Vectors attributes should only be floats (#1458)
    • Multi Meters:

      • Keithley 2400 protect read commands (#1171)
      • Refactor Keysight 344xxA code and small fixes (#1169)
      • Fix keithley 2600 formatting (#1301)
      • add driver for keithley6500 (#1233)
      • Driver: Keysight 344xxA - flexible measurements and modularization (#1433)
      • adds a very basic pyvisa-sim yaml for the Keithley 2600 (#1465)
      • Driver/gentec maestro (#1507)
    • Oscilloscopes:

      • Driver/infiniium additional parameters (#1203)
      • Set minimum version of firmware for Rigol DS4000 (#1206)
      • Extend RTO1000 driver (#1410)
    • Signal and Waveform generators:

      • Added support for N5183B Signal Generator (#1153, #1155)
      • Refactor awg file handling in awg5014 driver (#1066)
      • Rigol dg1062 (#1082)
      • Hotfix/awg70000 makeseqxfile (#1213)
      • AWG5208: Consider wait for trigger equivalent to running in wait for trigger (#1283)
      • fix: N52xx various fixes (#1299)
      • Use log instead of print in AWG70000A driver (#1390)
      • Driver/awg5014 upload lomentum sequence (#1381)
      • Feature/keysight 33xx pulsewidth (#1405)
      • Feature/dem 564/driver for zi hdawg8 (#1331)
      • feat: add specs for model '33512B' in KeysightAgilent_33XXX (#1422)
      • Remove deprecated keysight waveform drivers drivers (#1435)
      • Feature/rigol dg1062/adding duty cycle parameter (#1456)
      • [DEM-831] Compiler warnings in ZIHDAWG8 should be logged or raised. (#1522)
    • Spectrum and Vector Network Analyzers:

      • Driver / signalhound use standard logging (#1154)
      • driver/Keysight N5245A (#807)
      • Remove unused function in N52xx driver (#1219)
      • Spectrum analyser update (#1248)
      • Signal hound a few more changes (#1318)
      • Znb read from existing channels (#1111)
    • Temperature controllers:

      • Driver/lakeshore336 and lakeshore 372 (#972)
      • Extension/lakeshore read curve file (#1421)
      • Lakeshore Model 336: make runnable, add minimal test, and fixes along the way (#1526)
    • Others:

      • Change loglevel for send/recv in IPInstrument (#1146)
      • M4i: bugfix spectrum digitizer driver (#1145)
      • Add set_parameter_bounds to IVVI.py (#1128)
      • Reorder initialization of IVVI (#1212)
      • Add new driver for Newport AG-UC8 (#1230)
      • IVVI add missing underscore in parameter name (#1246)
      • Fix decadac docstring (#1282)
      • Remove all remaining uses of get/set in instrument drivers (#1325)
      • Update CryogenicSMS driver (#1346)
      • MiniCircuits: wrong USB packet size resulting in error on Windows 7 (#1366)
      • Minicircuits USB_SPDT catch the correct error (#1376)
      • add M2j driver (#1188)
      • Feature/dem 613/update s5i driver (#1392)
      • Driver dev/switch matrix (#1373)
      • Driver / DynaCool PPMS (#1218)
      • Driver/stahl (#1390)
      • Driver/keithley s46 (#1409)
      • Added driver for Basel current preamplifier. (#1327)
      • add option for pretrigger memsize to channel readout (#1461)
      • Dev/b2200 switch matrix multiple channel connect (#1480)
      • Add boxcar average option to M4i driver (#1509)
      • fix bug in averaging of m4i blockavg (#1528)
  • Other changes:

    • Config:

      • allow config to update based on specified path (#1226)
      • Config cleanup (#1242)
      • Bugfix: fix repr of Config (#1403)
    • Dataset:

      • Add some minor DataSet conveniences (#1211)
      • Make data saver accept numpy type floats/ints (#1225)
      • Dataset Context manager. Allow insertion of Data direcly as arrays (#1207)
      • Fix requirements of ordering of setpoints as dependencies (#1250)
      • Dataset support multiparameter (#1249)
      • String-valued parameters support (#1248)
      • Ensure that post actions are performed in some context managers (#1289)
      • Enhance run table query performance with indices (#1277)
      • DataSaver.add_result 'array' before 'numeric' now works (#1306)
      • Refactor / dataset init method (#1323, #1332)
      • Feature: access snapshot of a DataSet, and docs (also, Station bug fix + tests) (#1322)
      • Meaningful exception when loading/creating dataset for non-existing run id (#1328)
      • Fix JSON-dumping of snapshots with numpy-typed values (and other) (#1328)
      • qcodes.dataset.* fool-proofing and minor fixes (#1334)
      • Development/dependencies dsl (#1227)
      • Add Subscribers from config (#1365)
      • Improvement / dataset metadata (#1382)
      • DataSet.get_data bugs with start/end arguments (#1386)
      • Add function to fix wrong descriptions (#1396)
      • Feature / let database show version without upgrading (#1395)
      • Fix bug where atomic and ConnectionPlus might not commit to database (+ fix DataSet.unsubscribe) (+ deprecate DataSet modify_results, modify_result, add_parameter_values) (#1389)
      • Feature / database extract runs (#1397)
      • Add get_parameter_data aka get_columns (#1400)
      • Ensure that partial run creation is completly rolled back (#1445)
      • Hashable and Immutable ParamSpec (#1367)
      • Don't allow connection to db that is newer than the one we support (#1454)
      • Dataset: Fixed issue with legacy import (#1459)
      • Add Pandas exporter to dataset (#1423, #1508)
      • Fix issues with infered_from and add checks for infered_from and depends_on that are strings (#1453)
      • Document exporting of data from dataset (#1462)
      • Feature: give DataSet an explicit start method (#1482, #1486)
      • Rename mark_complete to mark_completed (#1495)
      • Cast array params to np array before inserting (#1497)
      • Remove redundant reshape (#1499)
      • fix: Handle 'inf' in _convert_numeric (#1449)
      • Dataset: Fix/do not retrive nulls (#1512)
      • Update Offline Plotting Tutorial with kwargs examples (#1516)
    • Documentation:

    • Instruments and Parameters:

      • Add option to remove channels from ChannelList (#1045)
      • Fix validation of steps (#1176)
      • Add paramterScaler with an usage example (#1069)
      • Bug: snapshot fails when instantiating InstrumentBase (#1209)
      • Find or create an instrument without worrying about existing instances (#1210)
      • GroupParameter and Group (for visa commands that set/get more than one parameter at once) (#1232, #1266)
      • Make Array validators shape optionally callable (#1312)
      • Ensure Parameter name is an identifer (#1326)
      • Don't use deprecated add_parameters in tests (#1343)
      • Snapshot diff and method chaining (#1363)
      • Bugfix: removing a channel instance that was added with extend (#1368)
      • Discourage the use of QCoDeS functions (#1378)
      • Extension/dynamic module (#1353)
      • Fix unclarity about post_delay/inter_delay of Parameter, remove deprecated get/set delay and get/set step (#1387)
      • Use getattr to get ask/write from instruments (#1451)
      • New Parameter Class ParameterWithSetpoints (#1263)
      • val_mapping creator function to solve on/off/true/false issue (#1413, #1502)
      • Add origin to parameter warnings (#1481)
    • Legacy dataset:

      • fix read and write of NaN to hdf5, issue (#1180)
      • add flush option to hdf5 write_metadata (#1455)
    • Logging:

      • Log the instrument that a failed parameter update comes from (#1173)
      • Feat / logfile analysis (#1093)
      • logging module (#1309, #1364)
    • Plotting:

      • Feature / add label to plot_by_id (#1235)
      • Feature / rescale ticks and units in plot_by_id (#1239)
      • Smart color scale (#1253, #1255, #1259, #1294)
      • Format ticks for non-SI-unit axis in a more readable way (#1243)
      • plot_by_id: pass kwargs to subplots and plot function (#1258)
      • Fix potential divide_by_zero warning in scale selection (#1261)
      • Plot_by_id rasterise 2d plots for large datasets (#1305)
      • Feature: plot_by_id string-valued data for 2D plots (#1311)
      • Fix / plot by id cmap kwar (#1427)
    • Other:

      • Setup benchmarking and add simple dataset benchmark (#1202)
      • Set up CI with Azure Pipelines (#1292, #1293, #1300)
      • Catch generic exceptions in import of dependencies. (#1316)
      • Test with python 3.7 on travis (#1321)
      • Adapt workaround for spyder UMR to work with newest version of spyder (#1338)
      • Monitor: Support for new versions of Websocket (#1407, #1420)
      • Make error_caused_by more robust (#1532)