- Unreleased
- 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
- 0.2.0
- 0.1.0
All notable changes to this project will be documented in this file.
-
-
- Support for Python 3.12
-
-
-
- Fix #1664: nidcpower_advanced_sequence.py has several issues preventing it from working out of the box on real hardware.
-
-
-
- API parity with NI-DCPower 2023 Q4.
- Properties added:
current_level_rising_slew_rate
current_level_falling_slew_rate
conduction_voltage_mode
conduction_voltage_on_threshold
conduction_voltage_off_threshold
output_cutoff_voltage_measure_limit_high
output_cutoff_voltage_measure_limit_low
- Enum added:
ConductionVoltageMode
- Enum values added:
E_LOAD
added to enumInstrumentMode
CURRENT_SATURATED
,VOLTAGE_MEASURE_HIGH
andVOLTAGE_MEASURE_LOW
added to enumOutputCutoffReason
- Properties added:
- API parity with NI-DCPower 2023 Q4.
-
-
-
easy_install
support
-
-
-
- Pass Python interpreter information if the driver runtime version supports it. This is used by NI in order to better understand client usage.
-
-
-
- Pass Python interpreter information if the driver runtime version supports it. This is used by NI in order to better understand client usage.
-
-
-
- Pass Python interpreter information if the driver runtime version supports it. This is used by NI in order to better understand client usage.
-
-
-
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.
-
- Fix #1770: fetch(), read(), and friends return wrong data when called with channel ranges on multi-instrument session.
-
-
-
- Pass Python interpreter information if the driver runtime version supports it. This is used by NI in order to better understand client usage.
-
-
-
- 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_enabled
lcr_ac_electrical_cable_length_delay
lcr_dc_bias_transient_response
lcr_source_aperture_time
measure_complete_event_output_behavior
measure_complete_event_toggle_initial_state
sequence_engine_done_event_output_behavior
sequence_engine_done_event_toggle_initial_state
sequence_iteration_complete_event_output_behavior
sequence_iteration_complete_event_toggle_initial_state
source_complete_event_output_behavior
source_complete_event_toggle_initial_state
- Enums added:
CurrentLimitBehavior
EventOutputBehavior
EventToggleInitialState
LCRDCBiasTransientResponse
- Enum values added:
AS_CONFIGURED
added to enumLCROpenShortLoadCompensationDataSource
NI_STANDARD_0_5M
added to enumCableLength
- Methods added:
configure_lcr_compensation
get_lcr_compensation_data
- Properties added:
-
- Enums reordered:
AutoZero
CableLength
- Enums reordered:
-
-
-
- Update
GRPC_SERVICE_INTERFACE_NAME
to use the correct gRPC package name (nidigitalpattern_grpc
).
- Update
-
-
-
- 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.
- Fix #1941: When calling niscope.Session.fetch_array_measurement in a MeasurementLink measurement plugin, meas_wfm_size cannot be set.
-
-
-
- Support for Python 3.10
-
- Support for Python 3.6
-
-
-
- MeasurementLink support
-
- Binary compatibility change for type
LCRLoadCompensationSpot
on Linux. Client code using methodnidcpower.Session.perform_lcr_load_compensation
on Linux now requires NI-DCPower 2023 Q1 driver runtime or newer.
- Binary compatibility change for type
-
-
-
- MeasurementLink support
-
-
-
- MeasurementLink support
-
-
-
- MeasurementLink support
-
-
-
- MeasurementLink support
-
-
-
- MeasurementLink support
-
- Fix #1652: Topology constants haven't been updated on help page
-
-
-
- API parity with NI-DCPower 2022 Q3.
- Properties added:
aperture_time_auto_mode
autorange_maximum_delay_after_range_change
cable_length
instrument_mode
isolation_state
lcr_actual_load_reactance
lcr_actual_load_resistance
lcr_automatic_level_control
lcr_current_amplitude
lcr_current_range
lcr_custom_measurement_time
lcr_dc_bias_automatic_level_control
lcr_dc_bias_current_level
lcr_dc_bias_current_range
lcr_dc_bias_source
lcr_dc_bias_voltage_level
lcr_dc_bias_voltage_range
lcr_frequency
lcr_impedance_auto_range
lcr_impedance_range
lcr_impedance_range_source
lcr_load_capacitance
lcr_load_compensation_enabled
lcr_load_inductance
lcr_load_resistance
lcr_measured_load_reactance
lcr_measured_load_resistance
lcr_measurement_time
lcr_open_compensation_enabled
lcr_open_conductance
lcr_open_short_load_compensation_data_source
lcr_open_susceptance
lcr_short_compensation_enabled
lcr_short_custom_cable_compensation_enabled
lcr_short_reactance
lcr_short_resistance
lcr_source_delay_mode
lcr_stimulus_function
lcr_voltage_amplitude
lcr_voltage_range
- Enums added:
ApertureTimeAutoMode
CableLength
InstrumentMode
LCRCompensationType
LCRDCBiasSource
LCRImpedanceRangeSource
LCRMeasurementTime
LCROpenShortLoadCompensationDataSource
LCRReferenceValueType
LCRSourceDelayMode
LCRStimulusFunction
- Methods added:
configure_lcr_custom_cable_compensation
fetch_multiple_lcr
get_lcr_compensation_last_date_and_time
get_lcr_custom_cable_compensation_data
measure_multiple_lcr
perform_lcr_load_compensation
perform_lcr_open_compensation
perform_lcr_open_custom_cable_compensation
perform_lcr_short_compensation
perform_lcr_short_custom_cable_compensation
- Custom types added:
LCRLoadCompensationSpot
LCRMeasurement
- Properties added:
nidcpower_lcr_source_ac_voltage.py
example
- API parity with NI-DCPower 2022 Q3.
-
- Updated supported devices information in documentation for methods and properties
- Added
channel
field to theMeasurement
namedtuple instances returned byfetch_multiple
andmeasure_multiple
-
-
-
data_markers
repeated capability support - #1668
-
- Addressed #1627 for attributes supporting the following repeated capabilities
channels
markers
data_markers
script_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
-
-
-
- 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.
-
-
-
- API parity with NI-Digital Pattern Driver 21.0.0.
- Properties added:
digital_edge_rio_trigger_edge
digital_edge_rio_trigger_source
exported_rio_event_output_terminal
rio_event_terminal_name
rio_trigger_terminal_name
rio_trigger_type
- Repeated Capabilities added:
rio_events
rio_triggers
- Properties added:
- API parity with NI-Digital Pattern Driver 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_high
output_cutoff_current_change_limit_low
output_cutoff_current_measure_limit_high
output_cutoff_current_measure_limit_low
output_cutoff_current_overrange_enabled
output_cutoff_enabled
output_cutoff_voltage_change_limit_high
output_cutoff_voltage_change_limit_low
output_cutoff_voltage_output_limit_high
output_cutoff_voltage_output_limit_low
- Methods added:
clear_latched_output_cutoff_state
query_latched_output_cutoff_state
- Properties added:
- Support for independent operation of instrument channels. Creating an
nidcpower.Session
with 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=False
tonidcpower.Session
constructor.
-
-
-
- API parity with NI-DCPower 20.6.0 by adding Merged Channels and Shutdown Triggers support. The following properties are added:
merged_channels
digital_edge_shutdown_trigger_input_terminal
shutdown_trigger_type
- API parity with NI-DCPower 20.6.0 by adding Merged Channels and Shutdown Triggers support. The following properties are added:
-
-
-
- 1.0.0 release:
- 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_mode
frequency_counter_hysteresis_enabled
- 1.0.0 release:
-
-
-
- nifgen_trigger.py example to demonstrate pulling a trigger from another device.
-
-
-
- nitclk_niscope_synchronize_with_trigger.py to demonstrate homogenous triggering.
-
- nitclk_configure.py as it did not do anything.
-
-
-
- Fix #1491: import_attribute_configuration_buffer() fails intermittently when
list
orarray.array
is 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:
autorange
autorange_aperture_time_mode
autorange_behavior
autorange_minimum_aperture_time
autorange_minimum_aperture_time_units
autorange_minimum_current_range
autorange_minimum_voltage_range
autorange_threshold_mode
- API parity with NI-DCPower 20.5.0 by adding measurement autoranging threshold range support, for which the following properties are added:
-
-
-
- New methods for getting calibration information. - #1463
get_ext_cal_last_date_and_time
get_ext_cal_last_temp
get_self_cal_last_date_and_time
get_self_cal_last_temp
- Measurement library methods. - #806
add_waveform_processing
clear_waveform_measurement_stats
clear_waveform_processing
fetch_array_measurement
fetch_measurement_stats
- Measurement library properties.
meas_array_gain
meas_array_offset
meas_chan_high_ref_level
meas_chan_low_ref_level
meas_chan_mid_ref_level
meas_filter_center_freq
meas_filter_cutoff_freq
meas_filter_order
meas_filter_ripple
meas_filter_taps
meas_filter_transient_waveform_percent
meas_filter_type
meas_filter_width
meas_fir_filter_window
meas_high_ref
meas_low_ref
meas_mid_ref
meas_hysteresis_percent
meas_interpolation_sampling_factor
meas_last_acq_histogram_size
meas_other_channel
meas_percentage_method
meas_polynomial_interpolation_order
meas_ref_level_units
meas_time_histogram_high_time
meas_time_histogram_high_volts
meas_time_histogram_low_time
meas_time_hisogram_low_volts
meas_time_histogram_size
meas_voltage_histogram_high_volts
meas_voltage_histogram_low_volts
meas_voltage_histogram_size
- New methods for getting calibration information. - #1463
-
-
-
- Change the type of applicable properties and method parameters from
datetime.timedelta
tohightime.timedelta
and fromdatetime.datetime
tohightime.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_number
Session.actual_power_allocation
Session.requested_power_allocation
Session.power_allocation_mode
- API parity with NI-DCPower 20.0 by adding the following properties:
-
-
-
- 0.9.0 release:
- 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
- 0.9.0 release:
-
-
-
- API parity with NI-SCOPE 20.0 by adding the following properties:
Session.end_of_acquisition_event_terminal_name
Session.end_of_record_event_terminal_name
Session.advance_trigger_terminal_name
Session.ref_trigger_terminal_name
Session.start_trigger_terminal_name
Session.ready_for_advance_event_terminal_name
Session.ready_for_ref_event_terminal_name
Session.ready_for_start_event_terminal_name
- API parity with NI-SCOPE 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'
-
-
-
-
get_pattern_pin_names
- #1292- Support for
instruments
repeated capability in the following properties -instrument_firmware_revision
,serial_number
, andtiming_absolute_delay
- #1228 load_specifications_levels_and_timing
that allows loading of multiple specs, levels, and/or timing files in a single call - #1392get_channel_names
- #1386
-
- Change the type of applicable method parameters and properties to enums - #1066
get_site_pass_fail
returns dictionary where each key is a site number and value is a bool indicating pass/fail - #1297burst_pattern
returns dictionary where each key is a site number and value is a bool indicating pass/fail, ifwait_until_done
is 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
WriteStaticPinState
enum type and changed the parameter type ofwrite_static
method to the newly added enum. - Added
SoftwareTrigger
enum type and changed the parameter type ofsend_software_edge_trigger
method to the newly added enum.
- Update
fetch_history_ram_cycle_information
,get_history_ram_sample_count
, andis_site_enabled
to usesites
repeated capability - #1337 - Rename parameter
time_set
totime_set_name
in applicable time set methods - #1396 - Modified
unload_specifications
to allow unloading of one or more specs files in a single call - #1392 - In
load_pin_map
, changed parameter namepin_map_file_path
tofile_path
- #1393
-
get_pattern_pin_list
,get_pattern_pin_indexes
andget_pin_name
- #1292get_site_results_site_numbers
method andSiteResultType
enum - #1298reset_attribute
- #1364clear_error
- #1366clock_generator_initiate
- #1370load_specifications
,load_levels
, andload_timing
- #1392get_channel_name
andget_channel_name_from_string
- #1386
-
-
-
- Version updated to 1.2.1 to match other released nimi-python modules
-
-
-
- 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_sequence
active_advanced_sequence_step
-
-
-
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()
-
nifgen.Session.send_software_edge_trigger()
now takes two parameters -trigger
andtrigger_id
- See documentation on how to call this function
- Calling the previous way will log a DeprecationWarning to the warning subsystem
- #1300
-
-
-
write_source_waveform_site_unique()
now supportsnumpy.array
andlist
as 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_information
method now supports fetching multiple History RAM samples in a single API call - #1071- Update methods that require
pin_list
to be passed in, such thatpin_list
can be passed in viapins
repeated capability - #1294
-
- 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_data
andfetch_history_ram_scan_cycle_number
. They are not needed sincefetch_history_ram_cycle_information
was updated to return class instances that contains cycle pin data and scan cycle number - #1071
-
-
- Method parameters and properties that are time based now take or return a
datetime.timedelta
object
- Method parameters and properties that are time based now take or return a
-
- Ability to pass an integer as a session / session reference
nitclk.SessionReference.script_trigger_master_session
removed - repeated capabilities not supported onnitclk
attributes - #1221
-
-
-
- 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
ViUInt8
is 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, ... }pins
is now a valid repeated capability
-
- 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)
-
-
-
- Version updated to 1.1.4 to match other released nimi-python modules
-
-
-
- The development status in
setup.py
will 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_enabled
property - #1015
- Fix type of
-
-
-
cable_sense_signal_enable
,cable_sense_voltage
,cable_sense_mode
properties and associated enumenabled_channels
,product_code
propertiesglitch_condition
,glitch_polarity
,glitch_width
properties and associated enumsrunt_high_threshold
,runt_low_threshold
,runt_polarity
,runt_condition
,runt_time_high_limit
,runt_time_low_limit
properties and associated enumswidth_condition
,width_high_threshold
,width_low_threshold
,width_polarity
properties and associated enums
-
-
-
- Update to 1.0 - now ready for production use
-
-
-
- Initial support
- Very basic at this point and subject to change
- Looking for any testing and/or feedback
get_channel_name_from_string()
-
-
New enums:
Enum name Where used DigitalEdge
digital_edge_conditional_jump_trigger_edge
,digital_edge_start_trigger_edge
ApertureTimeUnits
ppmu_aperture_time_units
,ppmu_configure_aperture_time(units)
PPMUOutputFunction
ppmu_output_function
SelectedFunction
selected_function
TDREndpointTermination
tdr_endpoint_termination
Signal
export_signal(signal)
-
[Source Breaker] No longer return the "actual size" from functions that use 'ivi-dance-with-a-twist'. This only affects
nidigital
.
-
-
- 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 -
-
-
-
- Initial support
-
-
-
- Switched to slightly different metadata format - Actual
True
/False
instead of strings - New internal process for generating metadata
- Switched to slightly different metadata format - Actual
-
-
-
- Enum values for
HardwareState
were incorrect - fix to match niFgen.h
- Enum values for
-
-
-
- Fixed enum values for
TIME_HISTOGRAM_MEAN_PLUS_STDEV
,TIME_HISTOGRAM_MEAN_PLUS_2_STDEV
,HF_REJECT
andLF_REJECT
- Fixed enum values for
-
-
-
- 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
-
-
-
- import_attribute_configuration_file function
- export_attribute_configuration_file function
- import_attribute_configuration_buffer function
- import_attribute_configuration_buffer function
-
-
-
- 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
-
-
- Format of output of wavefrom_info.str()
-
-
-
- Initial Release
-
-
-
- Explicitly disallow using a repeated capability on Session.
session[0].vertical_range = 1.0
will no longer work. Instead usesession.channels[0].vertical_range = 1.0
- #853
- Explicitly disallow using a repeated capability on Session.
-
-
-
- Fixed name
freq_voltage_autorange
becamefreq_voltage_auto_range
- Fixed name
-
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
-
-
-
- Double close will now allow NI-ModInst to return error
-
-
-
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
-
-
-
- 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_terminal
configure_digital_edge_pulse_trigger()
- usesession.digital_edge_pulse_trigger_edge
&session.digital_edge_pulse_trigger_input_terminal
configure_digital_edge_sequence_advance_trigger()
- usesession.digital_edge_sequence_advance_trigger_edge
&session.digital_edge_sequence_advance_trigger_input_terminal
configure_digital_edge_source_trigger()
- usesession.digital_edge_source_trigger_edge
&session.digital_edge_source_trigger_input_terminal
configure_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_edge
digital_edge_pulse_trigger_edge
digital_edge_sequence_advance_trigger_edge
digital_edge_source_trigger_edge
digital_edge_start_trigger_edge
- Remove trigger configuration methods, use attributes instead #860
-
-
-
num_channels
attribute 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:
python session.send_software_edge_trigger()
- To send a script software trigger, call it on the script triggers container:
python session.script_triggers[1].send_software_edge_trigger()
- To send a start software trigger, call it on the session directly:
-
- Remove trigger configuration methods, use attributes instead #860
configure_digital_edge_script_trigger()
- usesession.digital_edge_script_trigger_source
&session.digital_edge_script_trigger_edge
configure_digital_level_script_trigger()
- usesession.digital_level_script_trigger_source
&session.digital_level_script_trigger_active_level
configure_digital_edge_start_trigger()
- usesession.digital_edge_start_trigger_source
&session.digital_edge_start_trigger_edge
- Removed
get_fir_filter_coefficients()
- #535, #596
- Remove trigger configuration methods, use attributes instead #860
-
-
-
niscope_fetch_forever.py
example
-
- Removed default value for
level
parameter 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
level
andhysteresis
parameters 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
- Removed default value for
-
-
-
- IVI properties as applicable - some were already removed from some drivers #824
engine_major_version
engine_minor_version
engine_revision
primary_error
secondary_error
error_elaboration
io_session_type
io_session
/visa_rm_session
group_capabilities
interchange_check
range_check
record_coercions
specific_driver_class_spec_major_version
specific_driver_class_spec_minor_version
query_instrument_status
cache
specific_driver_prefix
- IVI properties as applicable - some were already removed from some drivers #824
-
-
- 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()
- Some functions missed setting repeated capabilities, leaving these as parameters instead of using the repeated capabilites object.
-
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
-
-
-
- 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
- Properties removed
-
-
-
- Indexing on
nimodinst.Session
is no longer allowedsession[0].device_name
becomessession.devices[0].device_name
- This is to be consistent with other drivers
- Indexing on
-
-
-
- All exceptions raised by the Python bindings inherit from
<driver>.Error
- Exception type formerly known as
<driver>.Error
is 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.1
are identical. #796
- All exceptions raised by the Python bindings inherit from
-
-
-
- Enum values that start with an underscore + digit have been renamed
Function._2_WIRE_RES
-->Function.TWO_WIRE_RES
Function._4_WIRE_RES
-->Function.FOUR_WIRE_RES
ThermistorType._44004
-->ThermistorType.THERMISTOR_44004
ThermistorType._44006
-->ThermistorType.THERMISTOR_44006
ThermistorType._44007
-->ThermistorType.THERMISTOR_44007
TransducerType._2_WIRE_RTD
-->TransducerType.TWO_WIRE_RTD
TransducerType._4_WIRE_RTD
-->TransducerType.FOUR_WIRE_RTD
Session.get_ext_cal_recommended_interval()
now returns adatetime.timedelta
for the interval #794
- Enum values that start with an underscore + digit have been renamed
-
-
-
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.timedelta
for 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
-
-
-
Session.cal_adc_input
attribute andSession.enums.CalADCInput
enum - External Cal not supported in Python- Session constructor channel parameter can now use any channel format that repeated capabilities can use #807
-
-
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
wfm
parameter towaveform
infetch()
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
-
- Following properties are now removed (use parameters to fetch calls):
fetch_relative_to
fetch_offset
fetch_record_number
fetch_num_records
- Removed
number_of_coefficients
parameter 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_units
meas_other_channel
meas_hysteresis_percent
meas_last_acq_histogram_size
meas_voltage_histogram_size
meas_voltage_histogram_low_volts
meas_voltage_histogram_high_volts
meas_time_histogram_size
meas_time_histogram_low_volts
meas_time_histogram_high_volts
meas_time_histogram_low_time
meas_time_histogram_high_time
meas_polynomial_interpolation_order
meas_interpolation_sampling_factor
meas_filter_cutoff_freq
meas_filter_center_freq
meas_filter_ripple
meas_filter_transient_waveform_percent
meas_filter_type
meas_filter_order
meas_filter_taps
meas_chan_low_ref_level
meas_chan_mid_ref_level
meas_chan_high_ref_level
meas_filter_width
meas_fir_filter_window
meas_array_gain
meas_array_offset
meas_percentage_method
fetch_meas_num_samples
- Following properties are now removed (use parameters to fetch calls):
-
-
-
- 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)
-
-
-
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
-
- Removed these enums and disconnected them from the associated attribute (Fix #666)
DCBias
-DC_BIAS
OffsetCompensatedOhms
-OFFSET_COMP_OHMS
- Removed these enums and disconnected them from the associated attribute (Fix #666)
-
-
-
- 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()
- The following functions timeout, delay or holdoff parameters now is required to be a
-
-
-
channel
repeated 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_AUTORANGE
CurrentLevelAutorange
-CURRENT_LEVEL_AUTORANGE
VoltageLevelAutorange
-VOLTAGE_LEVEL_AUTORANGE
VoltageLimitAutorange
-VOLTAGE_LIMIT_AUTORANGE
- Removed these enums and disconnected them from the associated attribute (Fix #666)
-
-
-
- Repeated capablilites - See #737 for discussion:
channel
repeated capabilitymarkers
repeated capabilityscript_triggers
repeated 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()
- Repeated capablilites - See #737 for discussion:
-
-
-
- Repeated capablilites - See #737 for discussion:
channel
repeated capability
- Repeated capablilites - See #737 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()
-
- Removed these enums and disconnected them from the associated attribute (Fix #666)
BoolEnableDisable
-P2P_ENABLED
,P2P_ADVANCED_ATTRIBUTES_ENABLED
,P2P_ONBOARD_MEMORY_ENABLED
BoolEnableDisableChan
-CHANNEL_ENABLED
BoolEnableDisableIQ
-FETCH_INTERLEAVED_IQ_DATA
BoolEnableDisableRealtime
-HORZ_ENFORCE_REALTIME
BoolEnableDisableTIS
-ENABLE_TIME_INTERLEAVED_SAMPLING
- Removed these enums and disconnected them from the associated attribute (Fix #666)
-
-
-
abort
. See #660.
-
-
-
fetch_waveform_into
for high-performance fetch using numpy.array of float64.
-
- 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_points
fromfetch_waveform()
returned tuple - Removed
actual_number_of_points
fromfetch_multi_point()
returned tuple - Removed
actual_number_of_points
fromread_multi_point()
returned tuple - Removed
actual_number_of_points
fromread_waveform()
returned tuple
-
-
-
- Removed
init_with_topology
. Clients should useniswitch.Session
constructor. See #660.
- Removed
-
-
-
- Property power_line_frequency no longer uses enum PowerLineFrequency.
- Removed
actual_count
fromfetch_multiple()
returned tuple
-
-
-
- Support for calling
write_waveform
using list (float) or numpy.array (int16 or float64) - Support for calling
write_waveform
with a waveform handle (int) or a name (str). - Support for calling
create_waveform
using list (float) or numpy.array (int16 or float64)
- Support for calling
-
- Renamed
create_waveform_f64
->create_waveform
- Renamed
-
create_waveform_i16
write_binary16_waveform
: Usewrite_waveform
write_named_waveform_i16
: Usewrite_waveform
write_named_waveform_f64
: Usewrite_waveform
-
-
-
fetch_into
for high-performance fetch using numpy.array. Supported element types:numpy.float64
numpy.int8
numpy.int16
numpy.int32
-
- Added default values for timeout on all fetch and read functions.
- Property input_impedance no longer uses enum InputImpedance.
-
AddWaveformProcessing
- See #667 for rationaleClearWaveformProcessing
- See #667 for rationaleFetchArrayMeasurement
- See #667 for rationale
-
-
-
- enum definitions that are not referenced by a function and/or an attributes
-
-
-
get_ext_cal_recommended_interval
-
-
-
get_ext_cal_last_date_and_time
get_ext_cal_last_temp
get_ext_cal_recommended_interval
measure_multiple
-
-
-
adjust_sample_clock_relative_delay
-
-
-
- Initial release
-
- Removed Peer to Peer attributes
-
-
-
- Simplified examples by removing try/except
- 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_COUPLED
Function.WAVEFORM_CURRENT
MeasurementCompleteDest.LBR_TRIG_0
OperationMode.IVIDMM_MODE
SampleTrigger.EXTERNAL
SampleTrigger.TTL_3
TriggerSource.TTL_0
TriggerSource.TTL_3
TriggerSource.TTL_7
TriggerSource.PXI_STAR
- Removed incorrect leading underscore from some enum values:
-
-
-
- Support for
is_debounced
andis_scanning
functions. Instead use the attribute of the same name.
- Support for
-
-
-
- New example
nidcpower_advanced_sequence.py
- New example
-
- Fixed method signature for:
wait_for_event
create_sequence
create_advanced_sequence
- Fixed method signature for:
-
- Support for
measure_multiple
until issue #444 is addressed.
- Support for
-
-
-
- Initial release
-
-
-
- Support for ViInt64 (64-bit integers)
-
- Modified how methods with repeated capabilities are invoked. There's no longer (for example) a
channel_name
input. 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
-
-
-
- Added default values to some parameters.
-
- Removed methods that aren’t useful in the Python bindings.
-
-
-
- Added default values to some parameters.
-
- Removed methods that aren’t useful in the Python bindings.
-
-
-
- Initial release
-
-
-
- Suport for channel-based properties
-
- Warnings no longer raise an exception
- Warnings are now added to warnings.warn()
- Warnings no longer raise an exception
-
-
-
- Added support for enums with types other than ViInt32 (Fixes #330)
-
-
-
- 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
- Device index is now on session not attribute. The correct way is now
-
-
-
- Initial release
-
-
-
- Initial release
-
-
-
- Initial release
-
The format is based on Keep a Changelog and this project adheres to Python Versioning.