- nidcpower (NI-DCPower)
- nidigital (NI-Digital Pattern Driver)
- nidmm (NI-DMM)
- nifgen (NI-FGEN)
- nimodinst (NI-ModInst)
- nirfsg (NI-RFSG)
- niscope (NI-SCOPE)
- nise (NI Switch Executive)
- niswitch (NI-SWITCH)
- nitclk (NI-TClk)
- Unreleased
- 1.5.0
- 1.4.9
- 1.4.8
- 1.4.7
- 1.4.6
- 1.4.5
- 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
- Added
- Python 3.14 Support
- Changed
- Removed
- Python 3.9 Support
- Added
- API parity with NI-DCPower 2025 Q2.
- Properties:
constant_power_compensation_frequencyconstant_power_current_limitconstant_power_gain_bandwidthconstant_power_levelconstant_power_level_rangeconstant_power_pole_zero_ratioconstant_resistance_compensation_frequencyconstant_resistance_current_limitconstant_resistance_gain_bandwidthconstant_resistance_levelconstant_resistance_level_rangeconstant_resistance_pole_zero_ratiooutput_shorted
- Enum values:
CONSTANT_RESISTANCEandCONSTANT_POWERadded to enumOutputFunction
- Properties:
nidcpower_constant_resistance_and_constant_power.pyandnidcpower_sink_dc_current_into_electronic_load.pyexamples
- API parity with NI-DCPower 2025 Q2.
- Added
- (Common) Support for Python 3.13
- API parity with NI-DCPower 2025 Q1.
- Enum value added:
INHIBITEDadded to enumOutputStates.
- Enum value added:
- Changed
- (Common) Fix #2069
- Fixed #2067:
nidcpower.OutputStatesvalues are incorrect.
- Removed
- (Common) Support for Python 3.8
- Added
- (Common) Support for Python 3.12
- Changed
- Fix #1664: nidcpower_advanced_sequence.py has several issues preventing it from working out of the box on real hardware.
- Added
- API parity with NI-DCPower 2023 Q4.
- Properties added:
current_level_rising_slew_ratecurrent_level_falling_slew_rateconduction_voltage_modeconduction_voltage_on_thresholdconduction_voltage_off_thresholdoutput_cutoff_voltage_measure_limit_highoutput_cutoff_voltage_measure_limit_low
- Enum added:
ConductionVoltageMode
- Enum values added:
E_LOADadded to enumInstrumentModeCURRENT_SATURATED,VOLTAGE_MEASURE_HIGHandVOLTAGE_MEASURE_LOWadded to enumOutputCutoffReason
- Properties added:
- API parity with NI-DCPower 2023 Q4.
- Changed
- Removed
- (Common) Support for Python 3.7
- Removed
- (Common)
easy_installsupport
- (Common)
- Added
- (Common) Support for Python 3.11
- 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:
- Changed
- (Common) Fix #1888: Deadlock on multithreaded usage due to UnlockSession always being called with callerHasLock=False.
- Enums reordered:
AutoZeroCableLength
- Added
- (Common) Support for Python 3.10
- MeasurementLink support
- Changed
- 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
- Removed
- (Common) Support for Python 3.6
- Added
- 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.
- Changed
- Updated supported devices information in documentation for methods and properties
- Added
channelfield to theMeasurementnamedtuple instances returned byfetch_multipleandmeasure_multiple
- Added
- (Common) Support for Python 3.9
- API parity with NI-DCPower 21.0.0.
- Properties added:
output_cutoff_delay
- Properties added:
- Removed
- (Common) Support for Python 3.5
- Added
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.
- Added
- 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:
- Added
- 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:
- Changed
- (Common) Fix #1491: import_attribute_configuration_buffer() fails intermittently when
listorarray.arrayis passed in. - (Common) 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.
- (Common) Fix #1491: import_attribute_configuration_buffer() fails intermittently when
- Changed
- Added
- 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:
- Changed
- (Common) Change the type of applicable properties and method parameters from
datetime.timedeltatohightime.timedeltaand fromdatetime.datetimetohightime.datetime. - #744, #1368, #1382, #1397 - (Common) 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.
- (Common) Change the type of applicable properties and method parameters from
- Added
-
(Common) 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'
-
- Added
- (Common) Zip file per driver for all examples and any helper files
- (Common) Link to zip file on examples documentation
- (Common) Support for Python 3.8
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
- Changed
- Removed
- (Common) Python 2.7 support - Python Software Foundation version status
- (Common) Python 3.4 support - Python Software Foundation PEP 429
- (Common) PyPy and PyPy3 support #1271
- Changed
- (Common) Fix #1140: Linux support was accidentally broken.
- (Common) Update "Driver Version Tested Against", in documentation, with latest versions installed on nimi-bot.
- Added
- (Common) Support for Python 3.8
- (Common)
ViUInt8is now a valid type in APIs
- Changed
- (Common) 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
- (Common) 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.
- Fix type of
sequence_step_delta_time_enabledproperty - #1015
- (Common) The development status in
- Changed
- (Common) Switched to slightly different metadata format - Actual
True/Falseinstead of strings - (Common) New internal process for generating metadata
- (Common) Switched to slightly different metadata format - Actual
- Added
- import_attribute_configuration_file function
- export_attribute_configuration_file function
- import_attribute_configuration_buffer function
- import_attribute_configuration_buffer function
- Changed
- (Common) Updated generated metadata
- (Common) Updated "Driver Version Tested Against"
- (Common) Update visatype definitions to work on Linux as well as Windows - #911
- Added
- Changed
- (Common) 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 - (Common) Fix __repr__ for niscope.WaveformInfo - #920
- (Common) No longer globally set warnings filter for
- Removed
- (Common) 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 - 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
- (Common) Explicitly disallow using a repeated capability on Session.
- Added
- Changed
- Removed
- (Common) 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
export_signal()- #828active_advanced_sequence#832active_advanced_sequence_step#832- Default value for trigger parameter on
send_software_edge_trigger()#832
- (Common) IVI properties as applicable - some were already removed from some drivers #824
- Changed
- (Common) All exceptions raised by the Python bindings inherit from
<driver>.Error - (Common) Exception type formerly known as
<driver>.Erroris now known as<driver>.DriverError- This encapsulates any error that is returned by the underlying driver
- (Common) All timeout parameters can now also take a simple number in seconds.
timeout=datetime.timedelta(milliseconds=100)andtimeout=0.1are identical. #796 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
- (Common) All exceptions raised by the Python bindings inherit from
- Removed
- 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
- Added
channelrepeated capability - See #737 for discussion
- Changed
- (Common) 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'}})
- (Common) Repeated capabilities are handled differently. See #737 for discussion
- (Common) All function parameters or attributes that represent time now use
datetime.timedelta(). See #659 for discussion - (Common) All functions that return calibration dates now return
datetime.datetime(). See #659 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()
- (Common) Option string can now be a python dictionary instead of a string. (Fix #661)
- Removed
- 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)
- Added
- (Common)
abort. See #660.
- (Common)
- Changed
- Property power_line_frequency no longer uses enum PowerLineFrequency.
- Removed
actual_countfromfetch_multiple()returned tuple
- Added
get_ext_cal_last_date_and_timeget_ext_cal_last_tempget_ext_cal_recommended_intervalmeasure_multiple
- Removed
- (Common) enum definitions that are not referenced by a function and/or an attributes
- Added
- New example
nidcpower_advanced_sequence.py
- New example
- Changed
- (Common) Simplified examples by removing try/except
- (Common) SOURCE BREAKER: Changed names of enum value names to correspond to C #defines
- Fixed method signature for:
wait_for_eventcreate_sequencecreate_advanced_sequence
- Removed
- Support for
measure_multipleuntil issue #444 is addressed.
- Support for
- Added
- Initial release
- Unreleased
- 1.4.9
- 1.4.8
- 1.4.6
- 1.4.5
- 1.4.4
- 1.4.3
- 1.4.1
- 1.0.0
- 0.9.2
- 0.9.1
- 0.9.0
- 0.5.0
- 0.4.0
- 0.2.1
- 0.2.0
- 0.1.1
- Added
- Python 3.14 Support
- Changed
- Removed
- Python 3.9 Support
-
Added
- (Common) Support for Python 3.13
- Methods Added:
enable_match_fail_combination
-
Changed
- (Common) Fix #2069
-
Removed
- (Common) Support for Python 3.8
- Added
- (Common) Support for Python 3.12
- Changed
- Removed
- (Common) Support for Python 3.7
- Added
- Pass Python interpreter information if the driver runtime version supports it. This is used by NI in order to better understand client usage.
- Removed
- (Common)
easy_installsupport
- (Common)
- Added
- (Common) Support for Python 3.11
- Changed
- (Common) Fix #1888: Deadlock on multithreaded usage due to UnlockSession always being called with callerHasLock=False.
- Update
GRPC_SERVICE_INTERFACE_NAMEto use the correct gRPC package name (nidigitalpattern_grpc).
- Added
- (Common) Support for Python 3.10
- MeasurementLink support
- Removed
- (Common) Support for Python 3.6
-
Added
- (Common) Support for Python 3.9
- API parity with NI-Digital Pattern Driver 21.0.0.
- Properties added:
digital_edge_rio_trigger_edgedigital_edge_rio_trigger_sourceexported_rio_event_output_terminalrio_event_terminal_namerio_trigger_terminal_namerio_trigger_type
- Repeated Capabilities added:
rio_eventsrio_triggers
- Properties added:
-
Removed
- (Common) Support for Python 3.5
- Added
- API reference documentation and API usage examples
- API parity with NI-Digital Pattern Driver 20.6.0 by adding support for configuration of frequency counter measurement mode. The following properties are added:
frequency_counter_measurement_modefrequency_counter_hysteresis_enabled
- Changed
- (Common) Fix #1491: import_attribute_configuration_buffer() fails intermittently when
listorarray.arrayis passed in. - (Common) 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.
- (Common) Fix #1491: import_attribute_configuration_buffer() fails intermittently when
- Changed
- Added
- Public API is considered complete, stable, and tested
- Parity with public API for other ADEs supported in NI-Digital Pattern Driver 19.0.1
- API reference documentation and example code are not complete
- Changed
- (Common) Change the type of applicable properties and method parameters from
datetime.timedeltatohightime.timedeltaand fromdatetime.datetimetohightime.datetime. - #744, #1368, #1382, #1397 - (Common) 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. - Changed initial_state parameters in
apply_levels_and_timingto basic sequence types - #1391 - Changed HistoryRAMCycleInformation.repr to include
__module__- #1426 - Changed return type of
get_time_set_periodandget_time_set_edgetodatetime.timedelta- #1397
- (Common) Change the type of applicable properties and method parameters from
- Added
-
(Common) 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' -
get_pattern_pin_names- #1292 -
Support for
instrumentsrepeated capability in the following properties -instrument_firmware_revision,serial_number, andtiming_absolute_delay- #1228 -
load_specifications_levels_and_timingthat allows loading of multiple specs, levels, and/or timing files in a single call - #1392 -
get_channel_names- #1386
-
- Changed
- Change the type of applicable method parameters and properties to enums - #1066
get_site_pass_failreturns dictionary where each key is a site number and value is a bool indicating pass/fail - #1297burst_patternreturns dictionary where each key is a site number and value is a bool indicating pass/fail, ifwait_until_doneis specified asTrue- #1296- Update enum types to match the API in other ADEs - #1330:
- Update the names of many enum types. See #1330 for the full list.
- Added
WriteStaticPinStateenum type and changed the parameter type ofwrite_staticmethod to the newly added enum. - Added
SoftwareTriggerenum type and changed the parameter type ofsend_software_edge_triggermethod to the newly added enum.
- Update
fetch_history_ram_cycle_information,get_history_ram_sample_count, andis_site_enabledto usesitesrepeated capability - #1337 - Rename parameter
time_settotime_set_namein applicable time set methods - #1396 - Modified
unload_specificationsto allow unloading of one or more specs files in a single call - #1392 - In
load_pin_map, changed parameter namepin_map_file_pathtofile_path- #1393
- Removed
get_pattern_pin_list,get_pattern_pin_indexesandget_pin_name- #1292get_site_results_site_numbersmethod andSiteResultTypeenum - #1298reset_attribute- #1364clear_error- #1366clock_generator_initiate- #1370load_specifications,load_levels, andload_timing- #1392get_channel_nameandget_channel_name_from_string- #1386
- Added
- Changed
- (Common)
import_attribute_configuration_buffer()now acceptslistof numbers that are integers less than 255,array.array('b'),bytes,bytearrayfor configuration buffer - #1013 - (Common)
export_attribute_configuration_buffer()now returnsbytesas the buffer type - #1013 write_source_waveform_site_unique()now supportsnumpy.arrayandlistas site waveform types- sites are now a repeated capability instead of a parameter:
session.sites[1,2].fetch_capture_waveform(...)- #1111 fetch_history_ram_cycle_informationmethod now supports fetching multiple History RAM samples in a single API call - #1071- Update methods that require
pin_listto be passed in, such thatpin_listcan be passed in viapinsrepeated capability - #1294
- (Common)
- Removed
- (Common) Python 2.7 support - Python Software Foundation version status
- (Common) Python 3.4 support - Python Software Foundation PEP 429
- (Common) PyPy and PyPy3 support #1271
- Removed redundant (redundant because corresponding properties can be used instead) API methods - #1065
- Removed programmatic pin map creation API - #1124
- Removed
fetch_history_ram_cycle_pin_dataandfetch_history_ram_scan_cycle_number. They are not needed sincefetch_history_ram_cycle_informationwas updated to return class instances that contains cycle pin data and scan cycle number - #1071
- Changed
- (Common) Fix #1140: Linux support was accidentally broken.
- (Common) Update "Driver Version Tested Against", in documentation, with latest versions installed on nimi-bot.
- Added
- (Common) Support for Python 3.8
- (Common)
ViUInt8is now a valid type in APIs fetch_capture_waveform()- returns dictionary { site: data, site: data, ... }write_source_waveform_site_unique()- takes waveform_name and dictionary { site: data, site: data, ... }pinsis now a valid repeated capability
- Changed
- Fix get/set properties - #1062
- Removed array-size parameter from apply_tdr_offsets() and write_source_waveform_broadcast_u32() methods - #1070
- Renamed
write_source_waveform_broadcast_u32()towrite_source_waveform_broadcast() get_pin_results_pin_information()- returns namedtuplePinInfo(pin_indexes, site_numbers, channel_indexes)
- Added
- Initial support
- Very basic at this point and subject to change
- Looking for any testing and/or feedback
get_channel_name_from_string()
- Changed
- (Common) 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
- (Common) 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.
- New enums:
Enum name Where used DigitalEdgedigital_edge_conditional_jump_trigger_edge,digital_edge_start_trigger_edgeApertureTimeUnitsppmu_aperture_time_units,ppmu_configure_aperture_time(units)PPMUOutputFunctionppmu_output_functionSelectedFunctionselected_functionTDREndpointTerminationtdr_endpoint_terminationSignalexport_signal(signal) - [Source Breaker] No longer return the "actual size" from functions that use 'ivi-dance-with-a-twist'. This only affects
nidigital.
- (Common) The development status in
- Removed
- Should be private -
get_session_state(),get_desired_attribute_*(),ppmu_measure_cached(),read_static_cached(),configure_ref_clock(),disable(),get_number_of_vectors(),get_pattern_file_path(),get_pin_type(),get_time_set_compare_edges(),get_time_set_drive_edges(),is_pattern_file_modified_since_load(),load_levels_internal(),load_pattern_internal(),load_timing_internal(),uncommit() - Need to determine how to generate this function -
fetch_capture_waveform_u32()
- Should be private -
- Unreleased
- 1.4.9
- 1.4.8
- 1.4.6
- 1.4.5
- 1.4.4
- 1.4.3
- 1.4.1
- 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
- Added
- Python 3.14 Support
- Changed
- Removed
- Python 3.9 Support
- Added
- (Common) Support for Python 3.13
- Changed
- (Common) Fix #2069
- Removed
- (Common) Support for Python 3.8
- Added
- (Common) Support for Python 3.12
- Changed
- Removed
- (Common) Support for Python 3.7
- Added
- Pass Python interpreter information if the driver runtime version supports it. This is used by NI in order to better understand client usage.
- Removed
- (Common)
easy_installsupport
- (Common)
- Added
- (Common) Support for Python 3.11
- Changed
- (Common) Fix #1888: Deadlock on multithreaded usage due to UnlockSession always being called with callerHasLock=False.
- Added
- (Common) Support for Python 3.10
- MeasurementLink support
- Removed
- (Common) Support for Python 3.6
- Added
- (Common) Support for Python 3.9
- Removed
- (Common) Support for Python 3.5
- Changed
- (Common) Fix #1491: import_attribute_configuration_buffer() fails intermittently when
listorarray.arrayis passed in. - (Common) 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.
- (Common) Fix #1491: import_attribute_configuration_buffer() fails intermittently when
- Changed
- Changed
- (Common) Change the type of applicable properties and method parameters from
datetime.timedeltatohightime.timedeltaand fromdatetime.datetimetohightime.datetime. - #744, #1368, #1382, #1397 - (Common) 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.
- (Common) Change the type of applicable properties and method parameters from
- Added
-
(Common) 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'
-
- Added
- (Common) Zip file per driver for all examples and any helper files
- (Common) Link to zip file on examples documentation
- (Common) Support for Python 3.8
- Changed
- Removed
- (Common) Python 2.7 support - Python Software Foundation version status
- (Common) Python 3.4 support - Python Software Foundation PEP 429
- (Common) PyPy and PyPy3 support #1271
- Changed
- (Common) Fix #1140: Linux support was accidentally broken.
- (Common) Update "Driver Version Tested Against", in documentation, with latest versions installed on nimi-bot.
- Added
- (Common) Support for Python 3.8
- (Common)
ViUInt8is now a valid type in APIs
- Changed
- (Common) 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
- (Common) 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.
- (Common) The development status in
- Changed
- (Common) Switched to slightly different metadata format - Actual
True/Falseinstead of strings - (Common) New internal process for generating metadata
- (Common) Switched to slightly different metadata format - Actual
- Added
- import_attribute_configuration_file function
- export_attribute_configuration_file function
- import_attribute_configuration_buffer function
- import_attribute_configuration_buffer function
- Changed
- (Common) Updated generated metadata
- (Common) Updated "Driver Version Tested Against"
- (Common) Update visatype definitions to work on Linux as well as Windows - #911
- Added
- Changed
- (Common) 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 - (Common) Fix __repr__ for niscope.WaveformInfo - #920
- (Common) No longer globally set warnings filter for
- Changed
- Fixed name
freq_voltage_autorangebecamefreq_voltage_auto_range
- Fixed name
- Removed
- (Common) 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 configure_ac_bandwidth()- #875configure_open_cable_comp_values()- #875configure_power_line_frequency()- #875configure_short_cable_comp_values()- #875get_aperture_time_info()- #875get_auto_range_value()- #875get_measurement_period()- #875latency- #875shunt_value- #875meas_dest_slope- #875sample_trigger_slope- #875trigger_slope- #875
- (Common) Explicitly disallow using a repeated capability on Session.
- Added
- Changed
- Removed
- (Common) 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
- (Common) IVI properties as applicable - some were already removed from some drivers #824
- Changed
- (Common) All exceptions raised by the Python bindings inherit from
<driver>.Error - (Common) Exception type formerly known as
<driver>.Erroris now known as<driver>.DriverError- This encapsulates any error that is returned by the underlying driver
- (Common) All timeout parameters can now also take a simple number in seconds.
timeout=datetime.timedelta(milliseconds=100)andtimeout=0.1are identical. #796 - Enum values that start with an underscore + digit have been renamed
Function._2_WIRE_RES-->Function.TWO_WIRE_RESFunction._4_WIRE_RES-->Function.FOUR_WIRE_RESThermistorType._44004-->ThermistorType.THERMISTOR_44004ThermistorType._44006-->ThermistorType.THERMISTOR_44006ThermistorType._44007-->ThermistorType.THERMISTOR_44007TransducerType._2_WIRE_RTD-->TransducerType.TWO_WIRE_RTDTransducerType._4_WIRE_RTD-->TransducerType.FOUR_WIRE_RTD
Session.get_ext_cal_recommended_interval()now returns adatetime.timedeltafor the interval #794
- (Common) All exceptions raised by the Python bindings inherit from
- Changed
- (Common) 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'}})
- (Common) Repeated capabilities are handled differently. See #737 for discussion
- (Common) All function parameters or attributes that represent time now use
datetime.timedelta(). See #659 for discussion - (Common) All functions that return calibration dates now return
datetime.datetime(). See #659 for discussion nidmm.Session()no longer takes id_query parameter (Fix #670)- The following functions timeout or delay parameter now is required to be a
datetime.timedelta()object:configure_multi_point()configure_trigger()fetch()fetch_multi_point()fetch_waveform()read()read_multi_point()read_waveform()
- The following functions return a
datetime.datetime()object representing the date and timeget_cal_date_and_time()
- Metadata updated to NI-DMM 17.5
- (Common) Option string can now be a python dictionary instead of a string. (Fix #661)
- Removed
- Removed these enums and disconnected them from the associated attribute (Fix #666)
DCBias-DC_BIASOffsetCompensatedOhms-OFFSET_COMP_OHMS
- Removed these enums and disconnected them from the associated attribute (Fix #666)
- Added
- (Common)
abort. See #660. fetch_waveform_intofor high-performance fetch using numpy.array of float64.
- (Common)
- Changed
- Property powerline_freq no longer uses enum PowerlineFrequency.
- Property current_source no longer uses enum CurrentSource.
- Property input_resistance no longer uses enum InputResistance.
- Removed
actual_number_of_pointsfromfetch_waveform()returned tuple - Removed
actual_number_of_pointsfromfetch_multi_point()returned tuple - Removed
actual_number_of_pointsfromread_multi_point()returned tuple - Removed
actual_number_of_pointsfromread_waveform()returned tuple
- Added
get_ext_cal_recommended_interval
- Removed
- (Common) enum definitions that are not referenced by a function and/or an attributes
- Changed
- (Common) Simplified examples by removing try/except
- (Common) SOURCE BREAKER: Changed names of enum value names to correspond to C #defines
- Removed incorrect leading underscore from some enum values:
Function.AC_VOLTS_DC_COUPLEDFunction.WAVEFORM_CURRENTMeasurementCompleteDest.LBR_TRIG_0OperationMode.IVIDMM_MODESampleTrigger.EXTERNALSampleTrigger.TTL_3TriggerSource.TTL_0TriggerSource.TTL_3TriggerSource.TTL_7TriggerSource.PXI_STAR
- Added
- (Common) Support for ViInt64 (64-bit integers)
- Changed
- (Common) 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)
- (Common) Enum value documentation lists the fully qualified name - this is to allow easy copy/paste
- Added default values to some parameters.
- (Common) Modified how methods with repeated capabilities are invoked. There's no longer (for example) a
- Removed
- Removed methods that aren’t useful in the Python bindings.
- Added
- (Common) Suport for channel-based properties
- Changed
- (Common) Warnings no longer raise an exception
- Warnings are now added to warnings.warn()
- Added support for enums with types other than ViInt32 (Fixes #330)
- (Common) Warnings no longer raise an exception
- Added
- Initial release
- Unreleased
- 1.4.9
- 1.4.8
- 1.4.6
- 1.4.5
- 1.4.4
- 1.4.3
- 1.4.2
- 1.4.1
- 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
- Added
- Python 3.14 Support
- Changed
- Removed
- Python 3.9 Support
- Added
- (Common) Support for Python 3.13
- Changed
- (Common) Fix #2069
- Removed
- (Common) Support for Python 3.8
- Added
-
(Common) Support for Python 3.12
-
Properties added:
-
Enum added:
EventPulseWidthUnits- #1873
-
- Changed
- Removed
- (Common) Support for Python 3.7
- Added
- Pass Python interpreter information if the driver runtime version supports it. This is used by NI in order to better understand client usage.
- Removed
- (Common)
easy_installsupport
- (Common)
- Added
- (Common) Support for Python 3.11
- Changed
- (Common) Fix #1888: Deadlock on multithreaded usage due to UnlockSession always being called with callerHasLock=False.
- Added
- (Common) Support for Python 3.10
- MeasurementLink support
- Removed
- (Common) Support for Python 3.6
- Added
data_markersrepeated capability support - #1668
- Changed
- Addressed #1627 for attributes supporting the following repeated capabilities
channelsmarkersdata_markersscript_triggers
- Corrected multiple mistakes in repeated capability info of attribute metadata
- alters API behavior (repeated capability access of attributes) and documentation
- Addressed #1627 for attributes supporting the following repeated capabilities
- Added
- (Common) Support for Python 3.9
- Removed
- (Common) Support for Python 3.5
- Added
- nifgen_trigger.py example to demonstrate pulling a trigger from another device.
- Changed
- (Common) Fix #1491: import_attribute_configuration_buffer() fails intermittently when
listorarray.arrayis passed in. - (Common) 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.
- (Common) Fix #1491: import_attribute_configuration_buffer() fails intermittently when
- Changed
- Changed
- (Common) Change the type of applicable properties and method parameters from
datetime.timedeltatohightime.timedeltaand fromdatetime.datetimetohightime.datetime. - #744, #1368, #1382, #1397 - (Common) 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.
- (Common) Change the type of applicable properties and method parameters from
- Added
-
(Common) 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'
-
- Added
- (Common) Zip file per driver for all examples and any helper files
- (Common) Link to zip file on examples documentation
- (Common) Support for Python 3.8
nifgen.Session.import_attribute_configuration_file()nifgen.Session.import_attribute_configuration_buffer()nifgen.Session.export_attribute_configuration_file()nifgen.Session.export_attribute_configuration_buffer()nifgen.Session.get_channel_name()
- Changed
- (Common)
import_attribute_configuration_buffer()now acceptslistof numbers that are integers less than 255,array.array('b'),bytes,bytearrayfor configuration buffer - #1013 - (Common)
export_attribute_configuration_buffer()now returnsbytesas the buffer type - #1013 nifgen.Session.send_software_edge_trigger()now takes two parameters -triggerandtrigger_id- See documentation on how to call this function
- Calling the previous way will log a DeprecationWarning to the warning subsystem
- #1300
- (Common)
- Removed
- (Common) Python 2.7 support - Python Software Foundation version status
- (Common) Python 3.4 support - Python Software Foundation PEP 429
- (Common) PyPy and PyPy3 support #1271
- Changed
- (Common) Fix #1140: Linux support was accidentally broken.
- (Common) Update "Driver Version Tested Against", in documentation, with latest versions installed on nimi-bot.
- Added
- (Common) Support for Python 3.8
- (Common)
ViUInt8is now a valid type in APIs
- Changed
- (Common) 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
- (Common) 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.
- (Common) The development status in
- Removed
- Changed
- (Common) Switched to slightly different metadata format - Actual
True/Falseinstead of strings - (Common) New internal process for generating metadata
- Enum values for
HardwareStatewere incorrect - fix to match niFgen.h
- (Common) Switched to slightly different metadata format - Actual
- Changed
- (Common) Updated generated metadata
- (Common) Updated "Driver Version Tested Against"
- (Common) Update visatype definitions to work on Linux as well as Windows - #911
- Added
- Changed
- (Common) 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 - (Common) Fix __repr__ for niscope.WaveformInfo - #920
- (Common) No longer globally set warnings filter for
- Changed
num_channelsattribute renamed tochannel_count- now consistent with other driverssend_software_edge_trigger()no longer takes any parameters.- To send a start software trigger, call it on the session directly:
session.send_software_edge_trigger()
- To send a script software trigger, call it on the script triggers container:
session.script_triggers[1].send_software_edge_trigger()
- To send a start software trigger, call it on the session directly:
- Removed
- (Common) 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 - Remove trigger configuration methods, use attributes instead #860
configure_digital_edge_script_trigger()- usesession.digital_edge_script_trigger_source&session.digital_edge_script_trigger_edgeconfigure_digital_level_script_trigger()- usesession.digital_level_script_trigger_source&session.digital_level_script_trigger_active_levelconfigure_digital_edge_start_trigger()- usesession.digital_edge_start_trigger_source&session.digital_edge_start_trigger_edge
- Removed
get_fir_filter_coefficients()- #535, #596
- (Common) Explicitly disallow using a repeated capability on Session.
- Added
- Changed
- (Common)
SelfTestErrornow inherits from<driver>.Errorrather thanException- #830 - (Common) Warning class name changed to
<driver>.DriverWarningfor all drivers - #658 - Some functions missed setting repeated capabilities, leaving these as parameters instead of using the repeated capabilites object.
session.configure_digital_edge_script_trigger('ScriptTrigger0', source, ...)becomessession.script_triggers[0].configure_digital_edge_script_trigger(source, ...)session.configure_digital_level_script_trigger('ScriptTrigger0', source, ...)becomessession.script_triggers[0].configure_digital_level_script_trigger(source, ...)
- Combined named and un-named waveform methods into one #862
set_waveform_next_write_position()andset_named_waveform_next_write_position()becomesset_next_write_position()clear_arb_waveform()anddelete_named_waveform()becomesdelete_waveform()
- (Common)
- Removed
- (Common) 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
export_signal()- #828osp_fir_filter_interpolation- #864osp_fir_filter_gaussian_bt- #864osp_fir_filter_flat_passband- #864osp_fir_filter_enabled- #864osp_enabled- #864osp_data_processing_mode- #864osp_compensate_for_filter_group_delay- #864osp_cic_filter_interpolation- #864osp_cic_filter_gain- #864osp_cic_filter_enabled- #864osp_carrier_phase_q- #864osp_carrier_phase_i- #864osp_carrier_frequency- #864osp_carrier_enabled- #864osp_pre_filter_offset_q- #864osp_pre_filter_offset_i- #864osp_pre_filter_gain_q- #864osp_pre_filter_gain_i- #864osp_overflow_status- #864osp_overflow_error_reporting- #864osp_mode- #864osp_frequency_shift- #864osp_fir_filter_type- #864osp_fir_filter_root_raised_cosine_alpha- #864osp_fir_filter_raised_cosine_alpha- #864ready_for_start_event_level_active_level- #859started_event_level_active_level- #859done_event_level_active_level- #859started_event_output_behavior- #859done_event_output_behavior- #859marker_event_output_behavior- #859marker_event_pulse_polarity- #859started_event_pulse_polarity- #859done_event_pulse_polarity- #859started_event_pulse_width- #859done_event_pulse_width- #859marker_event_pulse_width- #859started_event_pulse_width_units- #859done_event_pulse_width_units- #859marker_event_pulse_width_units- #859marker_event_toggle_initial_state- #859marker_event_live_status- #859ready_for_start_event_live_status- #859marker_event_latched_status- #859done_event_latched_status- #859started_event_latched_status- #859marker_event_delay- #859started_event_delay- #859done_event_delay- #859marker_event_delay_units- #859started_event_delay_units- #859done_event_delay_units- #859direct_dma_enabled- #858direct_dma_windowaddress- #858direct_dma_window_size#858gain_dac_value- #88offset_dac_vaue- #858id_query_respone- #858oscillator_freq_ac_value- #858oscillator_phase_dac_vale- #858post_amplifier_attenuatio- #858pre_amplifier_attenuation- #858p2p_endpoint_fullness_strt_trigger_level- #858pci_dma_optimizations_enabled- #858sample_clock_absolute_delay- #858synchronization- #858sync_duty_cycl_high- #858sync_out_output_terinal- #858trigger_source- #858video_wavefor_type- #858
- (Common) IVI properties as applicable - some were already removed from some drivers #824
- Changed
- (Common) All exceptions raised by the Python bindings inherit from
<driver>.Error - (Common) Exception type formerly known as
<driver>.Erroris now known as<driver>.DriverError- This encapsulates any error that is returned by the underlying driver
- (Common) All timeout parameters can now also take a simple number in seconds.
timeout=datetime.timedelta(milliseconds=100)andtimeout=0.1are identical. #796 Session.export_signal()signal_identifier now has a default of "". This moves it to the end of the parameter list #801Session.get_ext_cal_recommended_interval()now returns adatetime.timedeltafor the interval #794
- (Common) All exceptions raised by the Python bindings inherit from
- Removed
Session.cal_adc_inputattribute andSession.enums.CalADCInputenum - External Cal not supported in Python- Session constructor channel parameter can now use any channel format that repeated capabilities can use #807
- Changed
- (Common) 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'}})
- (Common) Repeated capabilities are handled differently. See #737 for discussion
- (Common) All function parameters or attributes that represent time now use
datetime.timedelta(). See #659 for discussion - (Common) All functions that return calibration dates now return
datetime.datetime(). See #659 for discussion - Repeated capablilites - See #737 for discussion:
channelrepeated capabilitymarkersrepeated capabilityscript_triggersrepeated capability
- The following functions timeout parameter now is required to be a
datetime.timedelta()object:adjust_sample_clock_relative_delay()wait_until_done()
- 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()
- (Common) Option string can now be a python dictionary instead of a string. (Fix #661)
- Added
- (Common)
abort. See #660. - Support for calling
write_waveformusing list (float) or numpy.array (int16 or float64) - Support for calling
write_waveformwith a waveform handle (int) or a name (str). - Support for calling
create_waveformusing list (float) or numpy.array (int16 or float64)
- (Common)
- Changed
- Renamed
create_waveform_f64->create_waveform
- Renamed
- Removed
create_waveform_i16write_binary16_waveform: Usewrite_waveformwrite_named_waveform_i16: Usewrite_waveformwrite_named_waveform_f64: Usewrite_waveform
- Removed
- (Common) enum definitions that are not referenced by a function and/or an attributes
adjust_sample_clock_relative_delay
- Added
- Initial release
- Unreleased
- 1.4.9
- 1.4.8
- 1.4.6
- 1.4.5
- 1.4.4
- 1.4.3
- 1.4.1
- 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.5.0
- 0.4.0
- 0.3.0
- 0.2.0
- Added
- Python 3.14 Support
- Changed
- Removed
- Python 3.9 Support
- Added
- (Common) Support for Python 3.13
- Changed
- (Common) Fix #2069
- Removed
- (Common) Support for Python 3.8
- Added
- (Common) Support for Python 3.12
- Changed
- Removed
- (Common) Support for Python 3.7
- Removed
- (Common)
easy_installsupport
- (Common)
- Added
- (Common) Support for Python 3.11
- Changed
- (Common) Fix #1888: Deadlock on multithreaded usage due to UnlockSession always being called with callerHasLock=False.
- Added
- (Common) Support for Python 3.10
- Removed
- (Common) Support for Python 3.6
- Added
- (Common) Support for Python 3.9
- Removed
- (Common) Support for Python 3.5
- Changed
- (Common) Fix #1491: import_attribute_configuration_buffer() fails intermittently when
listorarray.arrayis passed in. - (Common) 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.
- (Common) Fix #1491: import_attribute_configuration_buffer() fails intermittently when
- Changed
- Changed
- (Common) Change the type of applicable properties and method parameters from
datetime.timedeltatohightime.timedeltaand fromdatetime.datetimetohightime.datetime. - #744, #1368, #1382, #1397 - (Common) 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.
- (Common) Change the type of applicable properties and method parameters from
- Added
-
(Common) 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'
-
- Added
- (Common) Zip file per driver for all examples and any helper files
- (Common) Link to zip file on examples documentation
- (Common) Support for Python 3.8
- Changed
- Removed
- (Common) Python 2.7 support - Python Software Foundation version status
- (Common) Python 3.4 support - Python Software Foundation PEP 429
- (Common) PyPy and PyPy3 support #1271
- Changed
- (Common) Fix #1140: Linux support was accidentally broken.
- (Common) Update "Driver Version Tested Against", in documentation, with latest versions installed on nimi-bot.
- Added
- (Common) Support for Python 3.8
- (Common)
ViUInt8is now a valid type in APIs
- Changed
- (Common) 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
- (Common) 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.
- (Common) The development status in
- Changed
- (Common) Switched to slightly different metadata format - Actual
True/Falseinstead of strings - (Common) New internal process for generating metadata
- (Common) Switched to slightly different metadata format - Actual
- Changed
- (Common) Updated generated metadata
- (Common) Updated "Driver Version Tested Against"
- (Common) Update visatype definitions to work on Linux as well as Windows - #911
- Added
- Changed
- (Common) 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 - (Common) Fix __repr__ for niscope.WaveformInfo - #920
- (Common) No longer globally set warnings filter for
- Changed
- Double close will now allow NI-ModInst to return error
- Removed
- (Common) 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
- (Common) Explicitly disallow using a repeated capability on Session.
-
Added
-
Changed
- (Common)
SelfTestErrornow inherits from<driver>.Errorrather thanException- #830 - (Common) Warning class name changed to
<driver>.DriverWarningfor all drivers - #658 - Indexing on
nimodinst.Sessionis no longer allowedsession[0].device_namebecomessession.devices[0].device_name- This is to be consistent with other drivers
- (Common)
-
Removed
- (Common) 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
- (Common) IVI properties as applicable - some were already removed from some drivers #824
- Changed
- (Common) All exceptions raised by the Python bindings inherit from
<driver>.Error - (Common) Exception type formerly known as
<driver>.Erroris now known as<driver>.DriverError- This encapsulates any error that is returned by the underlying driver
- (Common) All timeout parameters can now also take a simple number in seconds.
timeout=datetime.timedelta(milliseconds=100)andtimeout=0.1are identical. #796
- (Common) All exceptions raised by the Python bindings inherit from
- Changed
- (Common) 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'}})
- (Common) Repeated capabilities are handled differently. See #737 for discussion
- (Common) All function parameters or attributes that represent time now use
datetime.timedelta(). See #659 for discussion - (Common) All functions that return calibration dates now return
datetime.datetime(). See #659 for discussion
- (Common) Option string can now be a python dictionary instead of a string. (Fix #661)
- Removed
- (Common) enum definitions that are not referenced by a function and/or an attributes
- Changed
- (Common) Simplified examples by removing try/except
- (Common) SOURCE BREAKER: Changed names of enum value names to correspond to C #defines
- Added
- (Common) Support for ViInt64 (64-bit integers)
- Changed
- (Common) 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)
- (Common) Enum value documentation lists the fully qualified name - this is to allow easy copy/paste
- (Common) Modified how methods with repeated capabilities are invoked. There's no longer (for example) a
- Added
- (Common) Suport for channel-based properties
- Changed
- (Common) Warnings no longer raise an exception
- Warnings are now added to warnings.warn()
- Device index is now on session not attribute. The correct way is now
i = 0 with nimodinst.Session('nidmm') as session: name = session[i].device_name
- (Common) Warnings no longer raise an exception
- Added
- Initial release
- Added
- Changed
- Removed
- Added
- Python 3.14 Support
get_scriptanddelete_scriptmethodsSCRIPTSadded to enumLoadOptionsDO_NOT_DRIVE_SIGNALadded to enumPulseModulationSourcenumpyis now an install dependency- gRPC support, enabling remote session management via NI gRPC Device Server
- Changed
- Fixed
error_messagemethod to return the error string as output
- Fixed
- Removed
- Changed
- Added default value for
moduleparameter inget_self_cal_last_date_and_timeandget_self_calibration_temperaturemethods to align with documentation and allow duck-typing - Changed the parameter name for waveform name from
nametowaveform_nameinclear_arb_waveformandselect_arb_waveformto be consistent with other waveform methods - Changed the name of below methods to be consistent with other APIs in the repository
get_self_calibration_last_date_and_timetoget_self_cal_last_date_and_timeget_external_calibration_last_date_and_timetoget_ext_cal_last_date_and_time
- Changed
frequency_settlingproperty to be of type float instead of hightime.timedelta, since it can have multiple interpretation based onfrequency_settling_unitsproperty value - Changed
interpolation_delayandrelative_delayproperties to be of type hightime.timedelta, so that it aligns with delay attributes across other APIs in the repository - Changed
exported_ref_clock_rateandref_clock_rateproperties to be of type float instead of enum, since the enums just represented raw float values - Fixed the return type of
get_all_script_namesandget_all_named_waveform_namesto remove the size parameter and return a list of strings instead of a comma-separated string - Updated
external_calibration_recommended_intervalproperty to return a hightime.timedelta object instead of months as an int, aligning with other APIs in the repository - Updated
self_testto not have any parameters, aligning with other APIs in the repository - Updated
wait_until_settledmethod to havemax_time_millisecondsparameter as type hightime.timedelta with a default value of 10 seconds - Updated below properties and method parameters to be of string enum type instead of plain string, since they would support only fixed set of strings
pulse_modulation_sourceexported_pulse_modulation_event_output_terminalexported_ref_clock_output_terminallo_sourcearb_sample_clock_sourceref_clock_sourcetrigger_identifierparameter insend_software_edge_triggermethod
- Updated below properties to be list of str instead of them returning a comma separated list of string values
available_pathsavailable_portsfixed_group_delay_across_portsgroup_capabilitiessupported_instrument_models
- Added default value for
- Removed
- Python 3.9 Support
- Methods and properties applicable only to hardware which are not supported anymore
- Methods
configure_digital_modulation_user_defined_waveformconfigure_pxi_chassis_clk10
- Properties
analog_modulation_fm_deviationanalog_modulation_waveform_frequencyarb_filter_raised_cosine_alphaarb_filter_root_raised_cosine_alphaarb_filter_typearb_oscillator_phase_dac_valuearb_powerattenuator_hold_enabledattenuator_hold_max_powercompensate_for_filter_group_delaydata_transfer_block_sizedata_transfer_maximum_bandwidthdata_transfer_maximum_in_flight_readsdata_transfer_preferred_packet_sizedigital_modulation_fsk_deviationdigital_modulation_prbs_orderdigital_modulation_prbs_seeddigital_modulation_symbol_ratedigital_modulation_typedigital_modulation_waveform_typedigital_patternfrequency_tolerancepeak_power_adjustment_inheritancepxi_chassis_clk10_source
- Methods
- Methods and properties which are necessary for IVI compliance of the driver, but are not applicable for Python
- Methods
check_attribute_vi_booleancheck_attribute_vi_int32check_attribute_vi_int64check_attribute_vi_real64check_attribute_vi_sessioncheck_attribute_vi_stringclear_errordisableerror_queryget_channel_namereset_attributerevision_query
- Properties
cacheinterchange_checkquery_instrument_statusrange_checkrecord_coercionssimulate
- Methods
- Added
- Initial release
- Unreleased
- 1.4.9
- 1.4.8
- 1.4.6
- 1.4.5
- 1.4.4
- 1.4.3
- 1.4.1
- 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
- Added
- Python 3.14 Support
- Changed
- Removed
- Python 3.9 Support
- Added
- (Common) Support for Python 3.13
- Changed
- (Common) Fix #2069
- Removed
- (Common) Support for Python 3.8
- Added
- (Common) Support for Python 3.12
- Changed
- Removed
- (Common) Support for Python 3.7
- Added
get_channel_names()- Pass Python interpreter information if the driver runtime version supports it. This is used by NI in order to better understand client usage.
- Changed
- Fix #1770: fetch(), read(), and friends return wrong data when called with channel ranges on multi-instrument session.
- Removed
- (Common)
easy_installsupport
- (Common)
- Added
- (Common) Support for Python 3.11
- Changed
- (Common) Fix #1888: Deadlock on multithreaded usage due to UnlockSession always being called with callerHasLock=False.
- Fix #1941: When calling niscope.Session.fetch_array_measurement in a MeasurementLink measurement plugin, meas_wfm_size cannot be set.
- Requires NI gRPC Device Server 2023 Q2 or later. Older versions do not support this parameter and return all available samples.
- Added
- (Common) Support for Python 3.10
- MeasurementLink support
- Removed
- (Common) Support for Python 3.6
- Added
- (Common) Support for Python 3.9
- Removed
- (Common) Support for Python 3.5
- Added
- New methods for getting calibration information. - #1463
get_ext_cal_last_date_and_timeget_ext_cal_last_tempget_self_cal_last_date_and_timeget_self_cal_last_temp
- Measurement library methods. - #806
add_waveform_processingclear_waveform_measurement_statsclear_waveform_processingfetch_array_measurementfetch_measurement_stats
- Measurement library properties.
meas_array_gainmeas_array_offsetmeas_chan_high_ref_levelmeas_chan_low_ref_levelmeas_chan_mid_ref_levelmeas_filter_center_freqmeas_filter_cutoff_freqmeas_filter_ordermeas_filter_ripplemeas_filter_tapsmeas_filter_transient_waveform_percentmeas_filter_typemeas_filter_widthmeas_fir_filter_windowmeas_high_refmeas_low_refmeas_mid_refmeas_hysteresis_percentmeas_interpolation_sampling_factormeas_last_acq_histogram_sizemeas_other_channelmeas_percentage_methodmeas_polynomial_interpolation_ordermeas_ref_level_unitsmeas_time_histogram_high_timemeas_time_histogram_high_voltsmeas_time_histogram_low_timemeas_time_hisogram_low_voltsmeas_time_histogram_sizemeas_voltage_histogram_high_voltsmeas_voltage_histogram_low_voltsmeas_voltage_histogram_size
- New methods for getting calibration information. - #1463
- Changed
- (Common) Fix #1491: import_attribute_configuration_buffer() fails intermittently when
listorarray.arrayis passed in. - (Common) 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 #1509:
channelandrecordfields are swapped inwaveform_infostruct returned from niscope fetch methods - Fix #1510:
recordvalue inwaveform_infostruct returned from niscope fetch methods is wrong ifrecord_numberis non-zero
- (Common) Fix #1491: import_attribute_configuration_buffer() fails intermittently when
- Changed
- Added
- API parity with NI-SCOPE 20.0 by adding the following properties:
Session.end_of_acquisition_event_terminal_nameSession.end_of_record_event_terminal_nameSession.advance_trigger_terminal_nameSession.ref_trigger_terminal_nameSession.start_trigger_terminal_nameSession.ready_for_advance_event_terminal_nameSession.ready_for_ref_event_terminal_nameSession.ready_for_start_event_terminal_name
- API parity with NI-SCOPE 20.0 by adding the following properties:
- Changed
- (Common) Change the type of applicable properties and method parameters from
datetime.timedeltatohightime.timedeltaand fromdatetime.datetimetohightime.datetime. - #744, #1368, #1382, #1397 - (Common) 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.
- (Common) Change the type of applicable properties and method parameters from
- Added
-
(Common) 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'
-
- Added
- (Common) Zip file per driver for all examples and any helper files
- (Common) Link to zip file on examples documentation
- (Common) Support for Python 3.8
- Changed
- Removed
- (Common) Python 2.7 support - Python Software Foundation version status
- (Common) Python 3.4 support - Python Software Foundation PEP 429
- (Common) PyPy and PyPy3 support #1271
- Changed
- (Common) Fix #1140: Linux support was accidentally broken.
- (Common) Update "Driver Version Tested Against", in documentation, with latest versions installed on nimi-bot.
- Added
- (Common) Support for Python 3.8
- (Common)
ViUInt8is now a valid type in APIs
- Added
cable_sense_signal_enable,cable_sense_voltage,cable_sense_modeproperties and associated enumenabled_channels,product_codepropertiesglitch_condition,glitch_polarity,glitch_widthproperties and associated enumsrunt_high_threshold,runt_low_threshold,runt_polarity,runt_condition,runt_time_high_limit,runt_time_low_limitproperties and associated enumswidth_condition,width_high_threshold,width_low_threshold,width_polarityproperties and associated enums
- Changed
- (Common) 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
- (Common) 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.
- (Common) The development status in
- Changed
- (Common) Switched to slightly different metadata format - Actual
True/Falseinstead of strings - (Common) New internal process for generating metadata
- Fixed enum values for
TIME_HISTOGRAM_MEAN_PLUS_STDEV,TIME_HISTOGRAM_MEAN_PLUS_2_STDEV,HF_REJECTandLF_REJECT
- (Common) Switched to slightly different metadata format - Actual
-
Added
- import_attribute_configuration_file function
- export_attribute_configuration_file function
- import_attribute_configuration_buffer function
- import_attribute_configuration_buffer function
-
Changed
- (Common) Updated generated metadata
- (Common) Updated "Driver Version Tested Against"
- (Common) Update visatype definitions to work on Linux as well as Windows - #911
- Added
- Changed
- (Common) 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 - (Common) Fix __repr__ for niscope.WaveformInfo - #920
- Format of output of wavefrom_info.str()
- (Common) No longer globally set warnings filter for
- Added
niscope_fetch_forever.pyexample
- Removed
- (Common) 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 - Removed default value for
levelparameter onconfigure_trigger_edge()- parameter list is now
configure_trigger_edge(self, trigger_source, level, trigger_coupling, slope=enums.TriggerSlope.POSITIVE, holdoff=datetime.timedelta(seconds=0.0), delay=datetime.timedelta(seconds=0.0))
- parameter list is now
- Removed default values for
levelandhysteresisparameters onconfigure_trigger_hysteresis()- parameter list is now
configure_trigger_hysteresis(self, trigger_source, level, hysteresis, trigger_coupling, slope=enums.TriggerSlope.POSITIVE, holdoff=datetime.timedelta(seconds=0.0), delay=datetime.timedelta(seconds=0.0))
- parameter list is now
- (Common) Explicitly disallow using a repeated capability on Session.
- Added
- Changed
- Removed
- (Common) 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
- Properties removed
stream_relative_to#825oscillator_phase_dac_value#825mux_mode_register#825ddc_center_frequency#823ddc_data_processing_mode#823ddc_enabled#823ddc_frequency_translation_enabled#823ddc_frequency_translation_phase_i#823ddc_frequency_translation_phase_q#823ddc_q_source#823digital_gain#823digital_offset#823dither_enabled#823fetch_interleaved_iq_data#823fractional_resample_enabled#823overflow_error_reporting#823adjust_pretrigger_samples_5102#822five_v_out_output_terminal#822clock_sync_pulse_source#822device_number#822fetch_interleaved_data#822trigger_from_pfi_delay#822trigger_from_rtsi_delay#822trigger_from_star_delay#822trigger_to_pfi_delay#822trigger_to_rtsi_delay#822trigger_to_star_delay#822slave_trigger_delay#822
- Methods removed
- (Common) IVI properties as applicable - some were already removed from some drivers #824
- Changed
- (Common) All exceptions raised by the Python bindings inherit from
<driver>.Error - (Common) Exception type formerly known as
<driver>.Erroris now known as<driver>.DriverError- This encapsulates any error that is returned by the underlying driver
- (Common) All timeout parameters can now also take a simple number in seconds.
timeout=datetime.timedelta(milliseconds=100)andtimeout=0.1are identical. #796 Session.fetch(),Session.read()andSession.fetch_into()updated- Takes additional parameters that modify fetch behavior
- Add resulting record as part of the waveform info
- Channel name and record number added to waveform info
- See documentation for fetch, read, and fetch_into for more details.
- Rename
wfmparameter towaveforminfetch()andfetch_into() - Enum values and attribute names that start with an underscore + digit have been renamed
-
Session._5102_adjust_pretrigger_samples-->Session.adjust_pretrigger_samples_5102-Session._5v_out_output_terminal-->Session.five_v_out_output_terminal-ExportableSignals._5V_OUT-->ExportableSignals.FIVE_V_OUT-FlexFIRAntialiasFilterType._48_TAP_STANDARD-->FlexFIRAntialiasFilterType.FOURTYEIGHT_TAP_STANDARD-FlexFIRAntialiasFilterType._48_TAP_HANNING-->FlexFIRAntialiasFilterType.FOURTYEIGHT_TAP_HANNING-FlexFIRAntialiasFilterType._16_TAP_HANNING-->FlexFIRAntialiasFilterType.SIXTEEN_TAP_HANNING-FlexFIRAntialiasFilterType._8_TAP_HANNING-->FlexFIRAntialiasFilterType.EIGHT_TAP_HANNING-VideoSignalFormat._480I_59_94_FIELDS_PER_SECOND-->VideoSignalFormat.VIDEO_480I_59_94_FIELDS_PER_SECOND-VideoSignalFormat._480I_60_FIELDS_PER_SECOND-->VideoSignalFormat.VIDEO_480I_60_FIELDS_PER_SECOND-VideoSignalFormat._480P_59_94_FRAMES_PER_SECOND-->VideoSignalFormat.VIDEO_480P_59_94_FRAMES_PER_SECOND-VideoSignalFormat._480P_60_FRAMES_PER_SECOND-->VideoSignalFormat.VIDEO_480P_60_FRAMES_PER_SECOND-VideoSignalFormat._576I_50_FIELDS_PER_SECOND-->VideoSignalFormat.VIDEO_576I_50_FIELDS_PER_SECOND-VideoSignalFormat._576P_50_FRAMES_PER_SECOND-->VideoSignalFormat.VIDEO_576P_50_FRAMES_PER_SECOND-VideoSignalFormat._720P_50_FRAMES_PER_SECOND-->VideoSignalFormat.VIDEO_720P_50_FRAMES_PER_SECOND-VideoSignalFormat._720P_59_94_FRAMES_PER_SECOND-->VideoSignalFormat.VIDEO_720P_59_94_FRAMES_PER_SECOND-VideoSignalFormat._720P_60_FRAMES_PER_SECOND-->VideoSignalFormat.VIDEO_720P_60_FRAMES_PER_SECOND-VideoSignalFormat._1080I_50_FIELDS_PER_SECOND-->VideoSignalFormat.VIDEO_1080I_50_FIELDS_PER_SECOND-VideoSignalFormat._1080I_59_94_FIELDS_PER_SECOND-->VideoSignalFormat.VIDEO_1080I_59_94_FIELDS_PER_SECOND-VideoSignalFormat._1080I_60_FIELDS_PER_SECOND-->VideoSignalFormat.VIDEO_1080I_60_FIELDS_PER_SECOND-VideoSignalFormat._1080P_24_FRAMES_PER_SECOND-->VideoSignalFormat.VIDEO_1080P_24_FRAMES_PER_SECOND Session.cal_self_calibration()renamed toSession.self_cal()to match other drivers - issue #615
- (Common) All exceptions raised by the Python bindings inherit from
- Removed
- Following properties are now removed (use parameters to fetch calls):
fetch_relative_tofetch_offsetfetch_record_numberfetch_num_records
- Removed
number_of_coefficientsparameter fromget_equalization_filter_coefficients() - Removed Measurement Library waveform methods and properties - issue #809
actual_meas_wfm_size()add_waveform_processing()clear_waveform_processing()fetch_array_measurement()clear_waveform_measurement_stats()fetch_measurement()fetch_measurement_stats()read_measurement()configure_ref_levels()meas_ref_level_unitsmeas_other_channelmeas_hysteresis_percentmeas_last_acq_histogram_sizemeas_voltage_histogram_sizemeas_voltage_histogram_low_voltsmeas_voltage_histogram_high_voltsmeas_time_histogram_sizemeas_time_histogram_low_voltsmeas_time_histogram_high_voltsmeas_time_histogram_low_timemeas_time_histogram_high_timemeas_polynomial_interpolation_ordermeas_interpolation_sampling_factormeas_filter_cutoff_freqmeas_filter_center_freqmeas_filter_ripplemeas_filter_transient_waveform_percentmeas_filter_typemeas_filter_ordermeas_filter_tapsmeas_chan_low_ref_levelmeas_chan_mid_ref_levelmeas_chan_high_ref_levelmeas_filter_widthmeas_fir_filter_windowmeas_array_gainmeas_array_offsetmeas_percentage_methodfetch_meas_num_samples
- Following properties are now removed (use parameters to fetch calls):
- Added
- Repeated capablilites - See #737 for discussion:
channelrepeated capability
- Repeated capablilites - See #737 for discussion:
- Changed
- (Common) 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'}})
- (Common) Repeated capabilities are handled differently. See #737 for discussion
- (Common) All function parameters or attributes that represent time now use
datetime.timedelta(). See #659 for discussion - (Common) All functions that return calibration dates now return
datetime.datetime(). See #659 for discussion niscope.Session()no longer takes id_query parameter (Fix #670)- The following functions timeout, delay or holdoff parameters now is required to be a
datetime.timedelta()object:configure_trigger_digital()configure_trigger_edge()configure_trigger_hysteresis()configure_trigger_software()configure_trigger_video()configure_trigger_window()fetch()fetch_measurement_stats()read()
- (Common) Option string can now be a python dictionary instead of a string. (Fix #661)
- Removed
- Removed these enums and disconnected them from the associated attribute (Fix #666)
BoolEnableDisable-P2P_ENABLED,P2P_ADVANCED_ATTRIBUTES_ENABLED,P2P_ONBOARD_MEMORY_ENABLEDBoolEnableDisableChan-CHANNEL_ENABLEDBoolEnableDisableIQ-FETCH_INTERLEAVED_IQ_DATABoolEnableDisableRealtime-HORZ_ENFORCE_REALTIMEBoolEnableDisableTIS-ENABLE_TIME_INTERLEAVED_SAMPLING
- Removed these enums and disconnected them from the associated attribute (Fix #666)
- Added
- (Common)
abort. See #660. fetch_intofor high-performance fetch using numpy.array. Supported element types:numpy.float64numpy.int8numpy.int16numpy.int32
- (Common)
- Changed
- Added default values for timeout on all fetch and read functions.
- Property input_impedance no longer uses enum InputImpedance.
- Removed
AddWaveformProcessing- See #667 for rationaleClearWaveformProcessing- See #667 for rationaleFetchArrayMeasurement- See #667 for rationale
- Added
- Initial release
- Unreleased
- 1.4.9
- 1.4.8
- 1.4.6
- 1.4.5
- 1.4.4
- 1.4.3
- 1.4.1
- 1.3.2
- 1.3.1
- 1.3.0
- 1.2.1
- 1.2.0
- 1.1.5
- 1.1.4
- 1.0.0
- 0.2.2
- 0.2.0
- 0.1.0
- Added
- Python 3.14 Support
- Changed
- Removed
- Python 3.9 Support
- Added
- (Common) Support for Python 3.13
- Changed
- (Common) Fix #2069
- Removed
- (Common) Support for Python 3.8
- Added
- (Common) Support for Python 3.12
- Changed
- Removed
- (Common) Support for Python 3.7
- Removed
- (Common)
easy_installsupport
- (Common)
- Added
- (Common) Support for Python 3.11
- Changed
- (Common) Fix #1888: Deadlock on multithreaded usage due to UnlockSession always being called with callerHasLock=False.
- Added
- (Common) Support for Python 3.10
- Removed
- (Common) Support for Python 3.6
- Added
- (Common) Support for Python 3.9
- Removed
- (Common) Support for Python 3.5
- Changed
- (Common) Fix #1491: import_attribute_configuration_buffer() fails intermittently when
listorarray.arrayis passed in. - (Common) 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.
- (Common) Fix #1491: import_attribute_configuration_buffer() fails intermittently when
- Changed
- Changed
- (Common) Change the type of applicable properties and method parameters from
datetime.timedeltatohightime.timedeltaand fromdatetime.datetimetohightime.datetime. - #744, #1368, #1382, #1397 - (Common) 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.
- (Common) Change the type of applicable properties and method parameters from
- Added
- (Common) Support for chained repeated capabilities. This allows things like
The repeated capabilities will be expanded to
session.sites[0, 1].pins['PinA', 'PinB'].ppmu_voltage_level = 4
'site0/PinA,site0/PinB,site1/PinA,site1/PinB'
- (Common) Support for chained repeated capabilities. This allows things like
- Added
- (Common) Zip file per driver for all examples and any helper files
- (Common) Link to zip file on examples documentation
- (Common) Support for Python 3.8
- Changed
- Removed
- (Common) Python 2.7 support - Python Software Foundation version status
- (Common) Python 3.4 support - Python Software Foundation PEP 429
- (Common) PyPy and PyPy3 support #1271
- Changed
- (Common) Fix #1140: Linux support was accidentally broken.
- (Common) Update "Driver Version Tested Against", in documentation, with latest versions installed on nimi-bot.
- Added
- (Common) Support for Python 3.8
- (Common)
ViUInt8is now a valid type in APIs
- Changed
- Version updated to 1.1.4 to match other released nimi-python modules
- Changed
- (Common) 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
- (Common) 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.
- Update to 1.0 - now ready for production use
- (Common) The development status in
- Changed
- (Common) Switched to slightly different metadata format - Actual
True/Falseinstead of strings - (Common) New internal process for generating metadata
- (Common) Switched to slightly different metadata format - Actual
- Changed
- (Common) Updated generated metadata
- (Common) Updated "Driver Version Tested Against"
- (Common) Update visatype definitions to work on Linux as well as Windows - #911
- Added
- Initial Release
- Unreleased
- 1.4.9
- 1.4.8
- 1.4.6
- 1.4.5
- 1.4.4
- 1.4.3
- 1.4.1
- 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
- Added
- Python 3.14 Support
- Changed
- Removed
- Python 3.9 Support
- Added
- (Common) Support for Python 3.13
- Changed
- (Common) Fix #2069
- Removed
- (Common) Support for Python 3.8
- Added
- (Common) Support for Python 3.12
- Changed
- Removed
- (Common) Support for Python 3.7
- Added
- Pass Python interpreter information if the driver runtime version supports it. This is used by NI in order to better understand client usage.
- Removed
- (Common)
easy_installsupport
- (Common)
- Added
- (Common) Support for Python 3.11
- Changed
- (Common) Fix #1888: Deadlock on multithreaded usage due to UnlockSession always being called with callerHasLock=False.
- Added
- (Common) Support for Python 3.10
- MeasurementLink support
- Changed
- Fix #1652: Topology constants haven't been updated on help page
- Removed
- (Common) Support for Python 3.6
- Added
- (Common) Support for Python 3.9
- Removed
- (Common) Support for Python 3.5
- Changed
- (Common) Fix #1491: import_attribute_configuration_buffer() fails intermittently when
listorarray.arrayis passed in. - (Common) 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.
- (Common) Fix #1491: import_attribute_configuration_buffer() fails intermittently when
- Changed
- Changed
- (Common) Change the type of applicable properties and method parameters from
datetime.timedeltatohightime.timedeltaand fromdatetime.datetimetohightime.datetime. - #744, #1368, #1382, #1397 - (Common) 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.
- (Common) Change the type of applicable properties and method parameters from
- Added
-
(Common) 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'
-
- Added
- (Common) Zip file per driver for all examples and any helper files
- (Common) Link to zip file on examples documentation
- (Common) Support for Python 3.8
- Changed
- Removed
- (Common) Python 2.7 support - Python Software Foundation version status
- (Common) Python 3.4 support - Python Software Foundation PEP 429
- (Common) PyPy and PyPy3 support #1271
- Changed
- (Common) Fix #1140: Linux support was accidentally broken.
- (Common) Update "Driver Version Tested Against", in documentation, with latest versions installed on nimi-bot.
- Added
- (Common) Support for Python 3.8
- (Common)
ViUInt8is now a valid type in APIs
- Changed
- (Common) 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
- (Common) 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.
- (Common) The development status in
- Changed
- (Common) Switched to slightly different metadata format - Actual
True/Falseinstead of strings - (Common) New internal process for generating metadata
- (Common) Switched to slightly different metadata format - Actual
- Changed
- (Common) Updated generated metadata
- (Common) Updated "Driver Version Tested Against"
- (Common) Update visatype definitions to work on Linux as well as Windows - #911
- Added
- Changed
- (Common) 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 - (Common) Fix __repr__ for niscope.WaveformInfo - #920
- (Common) No longer globally set warnings filter for
- Removed
- (Common) 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 cabled_module_scan_advanced_bus- #881cabled_module_trigger_bus- #881master_slave_scan_advanced_bus- #881master_slave_trigger_bus- #881parsed_scan_list- #881trigger_mode- #881scan_advanced_polarity- #881trigger_input_polarity- #881configure_scan_list()- #881configure_scan_trigger()- #881route_trigger_input()- #881set_continuous_scan()- #881
- (Common) Explicitly disallow using a repeated capability on Session.
- Added
- Changed
- Removed
- (Common) 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
- (Common) IVI properties as applicable - some were already removed from some drivers #824
- Changed
- (Common) All exceptions raised by the Python bindings inherit from
<driver>.Error - (Common) Exception type formerly known as
<driver>.Erroris now known as<driver>.DriverError- This encapsulates any error that is returned by the underlying driver
- (Common) All timeout parameters can now also take a simple number in seconds.
timeout=datetime.timedelta(milliseconds=100)andtimeout=0.1are identical. #796
- (Common) All exceptions raised by the Python bindings inherit from
- Changed
- (Common) 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'}})
- (Common) Repeated capabilities are handled differently. See #737 for discussion
- (Common) All function parameters or attributes that represent time now use
datetime.timedelta(). See #659 for discussion - (Common) All functions that return calibration dates now return
datetime.datetime(). See #659 for discussion - The following functions timeout, delay or holdoff parameters now is required to be a
datetime.timedelta()object:configure_scan_trigger()wait_for_debounce()wait_for_scan_complete()
- (Common) Option string can now be a python dictionary instead of a string. (Fix #661)
- Added
- (Common)
abort. See #660.
- (Common)
- Removed
- Removed
init_with_topology. Clients should useniswitch.Sessionconstructor. See #660.
- Removed
- Removed
- (Common) enum definitions that are not referenced by a function and/or an attributes
- Changed
- (Common) Simplified examples by removing try/except
- (Common) SOURCE BREAKER: Changed names of enum value names to correspond to C #defines
- Removed
- Support for
is_debouncedandis_scanningfunctions. Instead use the attribute of the same name.
- Support for
- Added
- (Common) Support for ViInt64 (64-bit integers)
- Changed
- (Common) 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)
- (Common) Enum value documentation lists the fully qualified name - this is to allow easy copy/paste
- Added default values to some parameters.
- (Common) Modified how methods with repeated capabilities are invoked. There's no longer (for example) a
- Removed
- Removed methods that aren’t useful in the Python bindings.
- Added
- Initial release
- Unreleased
- 1.4.9
- 1.4.8
- 1.4.6
- 1.4.5
- 1.4.4
- 1.4.3
- 1.4.1
- 1.3.3
- 1.3.2
- 1.3.1
- 1.3.0
- 1.2.1
- 1.0.0
- 0.3.1
- 0.3.0
- 0.1.0
- Added
- Python 3.14 Support
- Changed
- Removed
- Python 3.9 Support
- Added
- (Common) Support for Python 3.13
- Changed
- (Common) Fix #2069
- Removed
- (Common) Support for Python 3.8
- Added
- (Common) Support for Python 3.12
- Changed
- Removed
- (Common) Support for Python 3.7
- Removed
- (Common)
easy_installsupport
- (Common)
- Added
- (Common) Support for Python 3.11
- Changed
- (Common) Fix #1888: Deadlock on multithreaded usage due to UnlockSession always being called with callerHasLock=False.
- Added
- (Common) Support for Python 3.10
- Removed
- (Common) Support for Python 3.6
- Added
- (Common) Support for Python 3.9
- Removed
- (Common) Support for Python 3.5
- Added
- nitclk_niscope_synchronize_with_trigger.py to demonstrate homogenous triggering.
- Removed
- nitclk_configure.py as it did not do anything.
- Changed
- (Common) Fix #1491: import_attribute_configuration_buffer() fails intermittently when
listorarray.arrayis passed in. - (Common) 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.
- (Common) Fix #1491: import_attribute_configuration_buffer() fails intermittently when
- Changed
- Changed
- (Common) Change the type of applicable properties and method parameters from
datetime.timedeltatohightime.timedeltaand fromdatetime.datetimetohightime.datetime. - #744, #1368, #1382, #1397 - (Common) 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.
- (Common) Change the type of applicable properties and method parameters from
- Added
- (Common) Support for chained repeated capabilities. This allows things like
The repeated capabilities will be expanded to
session.sites[0, 1].pins['PinA', 'PinB'].ppmu_voltage_level = 4
'site0/PinA,site0/PinB,site1/PinA,site1/PinB'
- (Common) Support for chained repeated capabilities. This allows things like
- Changed
- Version updated to 1.2.1 to match other released nimi-python modules
- Added
- (Common) Zip file per driver for all examples and any helper files
- (Common) Link to zip file on examples documentation
- (Common) Support for Python 3.8
- Changed
- (Common)
import_attribute_configuration_buffer()now acceptslistof numbers that are integers less than 255,array.array('b'),bytes,bytearrayfor configuration buffer - #1013 - (Common)
export_attribute_configuration_buffer()now returnsbytesas the buffer type - #1013 - Method parameters and properties that are time based now take or return a
datetime.timedeltaobject
- (Common)
- Removed
- (Common) Python 2.7 support - Python Software Foundation version status
- (Common) Python 3.4 support - Python Software Foundation PEP 429
- (Common) PyPy and PyPy3 support #1271
- Ability to pass an integer as a session / session reference
nitclk.SessionReference.script_trigger_master_sessionremoved - repeated capabilities not supported onnitclkattributes - #1221
- Changed
- (Common) Fix #1140: Linux support was accidentally broken.
- (Common) Update "Driver Version Tested Against", in documentation, with latest versions installed on nimi-bot.
- Added
- (Common) Support for Python 3.8
- (Common)
ViUInt8is now a valid type in APIs
- Added
- Initial support
The format is based on Keep a Changelog and this project adheres to Python Versioning.