- Unreleased
- 1.4.4
- 1.4.3
- 1.4.2
- 1.4.1
- 1.4.0
- 1.3.3
- 1.3.2
- 1.3.1
- 1.3.0
- 1.2.1
- 1.2.0
- 1.1.5
- 1.1.4
- 1.1.3
- 1.1.2
- 1.1.0
- 1.0.1
- 1.0.0
- 0.9.0
- 0.8.0
- 0.7.0
- 0.6.0
- 0.5.0
- 0.4.0
- 0.3.0
- 0.2.0
- 0.1.0
All notable changes to this project will be documented in this file.
-
- Repo CHANGELOG split into module CHANGELOGs. No more ALL or
nidcpower(NI-DCPower) section labels from now on. Sections not relevant to nidcpower were removed from the nidcpower CHANGELOG.
- Repo CHANGELOG split into module CHANGELOGs. No more ALL or
-
easy_installsupport
-
-
- Support for Python 3.11
-
- Fix #1888: Deadlock on multithreaded usage due to UnlockSession always being called with callerHasLock=False.
-
-
-
- Pass Python interpreter information if the driver runtime version supports it. This is used by NI in order to better understand client usage.
- API parity with NI-DCPower 2023 Q2.
- Properties added:
lcr_ac_dither_enabledlcr_ac_electrical_cable_length_delaylcr_dc_bias_transient_responselcr_source_aperture_timemeasure_complete_event_output_behaviormeasure_complete_event_toggle_initial_statesequence_engine_done_event_output_behaviorsequence_engine_done_event_toggle_initial_statesequence_iteration_complete_event_output_behaviorsequence_iteration_complete_event_toggle_initial_statesource_complete_event_output_behaviorsource_complete_event_toggle_initial_state
- Enums added:
CurrentLimitBehaviorEventOutputBehaviorEventToggleInitialStateLCRDCBiasTransientResponse
- Enum values added:
AS_CONFIGUREDadded to enumLCROpenShortLoadCompensationDataSourceNI_STANDARD_0_5Madded to enumCableLength
- Methods added:
configure_lcr_compensationget_lcr_compensation_data
- Properties added:
-
- Enums reordered:
AutoZeroCableLength
- Enums reordered:
-
-
-
- Support for Python 3.10
-
- Support for Python 3.6
-
-
-
- MeasurementLink support
-
- Binary compatibility change for type
LCRLoadCompensationSpoton Linux. Client code using methodnidcpower.Session.perform_lcr_load_compensationon Linux now requires NI-DCPower 2023 Q1 driver runtime or newer.
- Binary compatibility change for type
-
-
-
- API parity with NI-DCPower 2022 Q3.
- Properties added:
aperture_time_auto_modeautorange_maximum_delay_after_range_changecable_lengthinstrument_modeisolation_statelcr_actual_load_reactancelcr_actual_load_resistancelcr_automatic_level_controllcr_current_amplitudelcr_current_rangelcr_custom_measurement_timelcr_dc_bias_automatic_level_controllcr_dc_bias_current_levellcr_dc_bias_current_rangelcr_dc_bias_sourcelcr_dc_bias_voltage_levellcr_dc_bias_voltage_rangelcr_frequencylcr_impedance_auto_rangelcr_impedance_rangelcr_impedance_range_sourcelcr_load_capacitancelcr_load_compensation_enabledlcr_load_inductancelcr_load_resistancelcr_measured_load_reactancelcr_measured_load_resistancelcr_measurement_timelcr_open_compensation_enabledlcr_open_conductancelcr_open_short_load_compensation_data_sourcelcr_open_susceptancelcr_short_compensation_enabledlcr_short_custom_cable_compensation_enabledlcr_short_reactancelcr_short_resistancelcr_source_delay_modelcr_stimulus_functionlcr_voltage_amplitudelcr_voltage_range
- Enums added:
ApertureTimeAutoModeCableLengthInstrumentModeLCRCompensationTypeLCRDCBiasSourceLCRImpedanceRangeSourceLCRMeasurementTimeLCROpenShortLoadCompensationDataSourceLCRReferenceValueTypeLCRSourceDelayModeLCRStimulusFunction
- Methods added:
configure_lcr_custom_cable_compensationfetch_multiple_lcrget_lcr_compensation_last_date_and_timeget_lcr_custom_cable_compensation_datameasure_multiple_lcrperform_lcr_load_compensationperform_lcr_open_compensationperform_lcr_open_custom_cable_compensationperform_lcr_short_compensationperform_lcr_short_custom_cable_compensation
- Custom types added:
LCRLoadCompensationSpotLCRMeasurement
- Properties added:
nidcpower_lcr_source_ac_voltage.pyexample
- API parity with NI-DCPower 2022 Q3.
-
- Updated supported devices information in documentation for methods and properties
- Added
channelfield to theMeasurementnamedtuple instances returned byfetch_multipleandmeasure_multiple
-
-
-
- Support for Python 3.9
-
- Support for Python 3.5
-
-
-
- API parity with NI-DCPower 21.0.0.
- Properties added:
output_cutoff_delay
- Properties added:
- API parity with NI-DCPower 21.0.0.
-
-
-
get_channel_names- #1588create_advanced_sequence_commit_step- #1636- API parity with NI-DCPower 20.7.0 by adding Output Cutoff functionality.
- Properties added:
output_cutoff_current_change_limit_highoutput_cutoff_current_change_limit_lowoutput_cutoff_current_measure_limit_highoutput_cutoff_current_measure_limit_lowoutput_cutoff_current_overrange_enabledoutput_cutoff_enabledoutput_cutoff_voltage_change_limit_highoutput_cutoff_voltage_change_limit_lowoutput_cutoff_voltage_output_limit_highoutput_cutoff_voltage_output_limit_low
- Methods added:
clear_latched_output_cutoff_statequery_latched_output_cutoff_state
- Properties added:
- Support for independent operation of instrument channels. Creating an
nidcpower.Sessionwith independent channels allows you to use multiple instruments in the same session. With independent channels, you can configure multiple channels of the same instrument, or of multiple instruments, independently of one another within the same session. Requires NI-DCPower driver runtime 20.6.0 or later. In order to use with older runtime or to maintain old behavior, passindependent_channels=Falsetonidcpower.Sessionconstructor.
-
-
-
- API parity with NI-DCPower 20.6.0 by adding Merged Channels and Shutdown Triggers support. The following properties are added:
merged_channelsdigital_edge_shutdown_trigger_input_terminalshutdown_trigger_type
- API parity with NI-DCPower 20.6.0 by adding Merged Channels and Shutdown Triggers support. The following properties are added:
-
-
-
- Fix #1491: import_attribute_configuration_buffer() fails intermittently when
listorarray.arrayis passed in. - Update "Driver Version Tested Against", in documentation, with latest versions installed on nimi-bot. The version is 20.5.0 for NI-DCPower, NI-SWITCH, and NI-DMM. no changes on other drivers.
- Fix #1491: import_attribute_configuration_buffer() fails intermittently when
-
-
-
- API parity with NI-DCPower 20.5.0 by adding measurement autoranging threshold range support, for which the following properties are added:
autorangeautorange_aperture_time_modeautorange_behaviorautorange_minimum_aperture_timeautorange_minimum_aperture_time_unitsautorange_minimum_current_rangeautorange_minimum_voltage_rangeautorange_threshold_mode
- API parity with NI-DCPower 20.5.0 by adding measurement autoranging threshold range support, for which the following properties are added:
-
-
-
- Change the type of applicable properties and method parameters from
datetime.timedeltatohightime.timedeltaand fromdatetime.datetimetohightime.datetime. - #744, #1368, #1382, #1397 - Update "Driver Version Tested Against", in documentation, with latest versions installed on nimi-bot. The version is 20.0.0 for all modules except
nidigital, for which it is 19.0.1.
- Change the type of applicable properties and method parameters from
-
-
-
- API parity with NI-DCPower 20.0 by adding the following properties:
Session.serial_numberSession.actual_power_allocationSession.requested_power_allocationSession.power_allocation_mode
- API parity with NI-DCPower 20.0 by adding the following properties:
-
-
-
-
Support for chained repeated capabilities. This allows things like
session.sites[0, 1].pins['PinA', 'PinB'].ppmu_voltage_level = 4
The repeated capabilities will be expanded to
'site0/PinA,site0/PinB,site1/PinA,site1/PinB'
-
-
-
-
- Zip file per driver for all examples and any helper files
- Link to zip file on examples documentation
- Support for Python 3.8
-
- Python 2.7 support - Python Software Foundation version status
- Python 3.4 support - Python Software Foundation PEP 429
- PyPy and PyPy3 support #1271
-
-
-
create_advanced_sequence()- #504- Instead of a list of attribute IDs, you pass in a list of property names as strings
- Includes example to see how to use it
- Additional methods and properties that were made public (rather than private)
create_advanced_sequence_step()delete_advanced_sequence()active_advanced_sequenceactive_advanced_sequence_step
-
-
-
- Fix #1140: Linux support was accidentally broken.
- Update "Driver Version Tested Against", in documentation, with latest versions installed on nimi-bot.
-
-
-
- Support for Python 3.8
ViUInt8is now a valid type in APIs
-
-
-
- The development status in
setup.pywill be based on the module version:- version >= 1.0
- .devN or .aN - Alpha
- .bN, .cN or .rcN - Beta
- <nothing> or .postN - Stable
- version < 1.0 and version >= 0.5 - Beta
- version < 0.5 - Alpha
- version >= 1.0
- Improved installation instructions by not putting a version to pin to. This is confusing in master (what read the docs shows by default) since that version doesn't exist yet.
- The development status in
-
-
-
- Fix type of
sequence_step_delta_time_enabledproperty - #1015
- Fix type of
-
-
-
- Switched to slightly different metadata format - Actual
True/Falseinstead of strings - New internal process for generating metadata
- Switched to slightly different metadata format - Actual
-
-
-
- Updated generated metadata
- Updated "Driver Version Tested Against"
- Update visatype definitions to work on Linux as well as Windows - #911
-
-
-
- import_attribute_configuration_file function
- export_attribute_configuration_file function
- import_attribute_configuration_buffer function
- import_attribute_configuration_buffer function
-
-
-
- No longer globally set warnings filter for
DriverWarning- if you want all warnings from the driver, you will need to setwarnings.filterwarnings("always", category=<driver>.DriverWarning)in your code - Fix __repr__ for niscope.WaveformInfo - #920
- No longer globally set warnings filter for
-
-
- Explicitly disallow using a repeated capability on Session.
session[0].vertical_range = 1.0will no longer work. Instead usesession.channels[0].vertical_range = 1.0- #853
- Explicitly disallow using a repeated capability on Session.
-
-
-
- Remove trigger configuration methods, use attributes instead #860
configure_digital_edge_measure_trigger()- usesession.digital_edge_measure_trigger_edge&session.digital_edge_measure_trigger_input_terminalconfigure_digital_edge_pulse_trigger()- usesession.digital_edge_pulse_trigger_edge&session.digital_edge_pulse_trigger_input_terminalconfigure_digital_edge_sequence_advance_trigger()- usesession.digital_edge_sequence_advance_trigger_edge&session.digital_edge_sequence_advance_trigger_input_terminalconfigure_digital_edge_source_trigger()- usesession.digital_edge_source_trigger_edge&session.digital_edge_source_trigger_input_terminalconfigure_digital_edge_start_trigger()- usesession.digital_edge_start_trigger_edge&session.digital_edge_start_trigger_input_terminal
- Remove polarity attributes for triggers that are PXI backplane only (only support rising edge) #860
digital_edge_measure_trigger_edgedigital_edge_pulse_trigger_edgedigital_edge_sequence_advance_trigger_edgedigital_edge_source_trigger_edgedigital_edge_start_trigger_edge
- Remove trigger configuration methods, use attributes instead #860
-
-
-
- IVI properties as applicable - some were already removed from some drivers #824
engine_major_versionengine_minor_versionengine_revisionprimary_errorsecondary_errorerror_elaborationio_session_typeio_session/visa_rm_sessiongroup_capabilitiesinterchange_checkrange_checkrecord_coercionsspecific_driver_class_spec_major_versionspecific_driver_class_spec_minor_versionquery_instrument_statuscachespecific_driver_prefix
- IVI properties as applicable - some were already removed from some drivers #824
-
-
- All exceptions raised by the Python bindings inherit from
<driver>.Error - Exception type formerly known as
<driver>.Erroris now known as<driver>.DriverError- This encapsulates any error that is returned by the underlying driver
- All timeout parameters can now also take a simple number in seconds.
timeout=datetime.timedelta(milliseconds=100)andtimeout=0.1are identical. #796
- All exceptions raised by the Python bindings inherit from
-
-
-
Session.fetch_multiple()andSession.measure_multiple()now return list of named tuples instead of multiple arrays. See fetch_multiple and measure_multipleSession.cal_self_calibration()renamed toSession.self_cal()to match other drivers - issue #615Session.set_sequence()values parameter no longer has a default value and must be passed in. Parameter order has changed as a result of this - issue #797- Session constructor channel parameter can now use any channel format that repeated capabilities can use #807
Session.get_ext_cal_recommended_interval()now returns adatetime.timedeltafor the interval #794
-
- Advanced Sequence functions - until #504 can be fixed in a proper way
create_advanced_sequence()create_advanced_sequence_step()delete_advanced_sequence()
- Advanced Sequence functions - until #504 can be fixed in a proper way
-
-
-
- Option string can now be a python dictionary instead of a string. (Fix #661)
- Key/Value pairs approporiate for desired behavior
session = nidmm.Session('Dev1', False, {'simulate': True, 'driver_setup': {'Model': '4071', 'BoardType': 'PXI'}})
- Key/Value pairs approporiate for desired behavior
- Repeated capabilities are handled differently. See #737 for discussion
- All function parameters or attributes that represent time now use
datetime.timedelta(). See #659 for discussion - All functions that return calibration dates now return
datetime.datetime(). See #659 for discussion
- Option string can now be a python dictionary instead of a string. (Fix #661)
-
-
-
channelrepeated capability - See #737 for discussion
-
- Metadata updated to NI-DCPower 17.6.1
- The following functions timeout parameter now is required to be a
datetime.timedelta()object:fetch_multiple()wait_for_event()
- The following functions return a
datetime.datetime()object representing the date and timeget_ext_cal_last_date_and_time()get_self_cal_last_date_and_time()
-
- Removed these enums and disconnected them from the associated attribute (Fix #666)
CurrentLimitAutorange-CURRENT_LIMIT_AUTORANGECurrentLevelAutorange-CURRENT_LEVEL_AUTORANGEVoltageLevelAutorange-VOLTAGE_LEVEL_AUTORANGEVoltageLimitAutorange-VOLTAGE_LIMIT_AUTORANGE
- Removed these enums and disconnected them from the associated attribute (Fix #666)
-
-
-
abort. See #660.
-
-
-
- Property power_line_frequency no longer uses enum PowerLineFrequency.
- Removed
actual_countfromfetch_multiple()returned tuple
-
-
-
- enum definitions that are not referenced by a function and/or an attributes
-
-
-
get_ext_cal_last_date_and_timeget_ext_cal_last_tempget_ext_cal_recommended_intervalmeasure_multiple
-
-
-
- Simplified examples by removing try/except
- SOURCE BREAKER: Changed names of enum value names to correspond to C #defines
-
-
-
- New example
nidcpower_advanced_sequence.py
- New example
-
- Fixed method signature for:
wait_for_eventcreate_sequencecreate_advanced_sequence
- Fixed method signature for:
-
- Support for
measure_multipleuntil issue #444 is addressed.
- Support for
-
-
-
- Support for ViInt64 (64-bit integers)
-
- Modified how methods with repeated capabilities are invoked. There's no longer (for example) a
channel_nameinput. Instead:# Sets sequence on channels 0 through 3 session['0-3'].set_sequence(values, source_delays)
- Enum value documentation lists the fully qualified name - this is to allow easy copy/paste
- Modified how methods with repeated capabilities are invoked. There's no longer (for example) a
-
-
-
- Initial release
-
The format is based on Keep a Changelog and this project adheres to Python Versioning.