Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion examples/nidcpower_source_dc_voltage/measurement.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,12 @@


@measurement_service.register_measurement
@measurement_service.configuration("pin_name", nims.DataType.Pin, "Pin1")
@measurement_service.configuration(
"pin_name",
nims.DataType.Pin,
"Pin1",
instrument_type=nims.session_management.INSTRUMENT_TYPE_NI_DCPOWER,
)
@measurement_service.configuration("voltage_level", nims.DataType.Double, 6.0)
@measurement_service.configuration("voltage_level_range", nims.DataType.Double, 6.0)
@measurement_service.configuration("current_limit", nims.DataType.Double, 0.01)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,12 @@


@measurement_service.register_measurement
@measurement_service.configuration("pin_names", nims.DataType.PinArray1D, ["Pin1"])
@measurement_service.configuration(
"pin_names",
nims.DataType.PinArray1D,
["Pin1"],
instrument_type=nims.session_management.INSTRUMENT_TYPE_NI_DCPOWER,
)
@measurement_service.configuration("voltage_level", nims.DataType.Double, 6.0)
@measurement_service.configuration("voltage_level_range", nims.DataType.Double, 6.0)
@measurement_service.configuration("current_limit", nims.DataType.Double, 0.01)
Expand Down
7 changes: 6 additions & 1 deletion examples/nidmm_measurement/measurement.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,12 @@


@measurement_service.register_measurement
@measurement_service.configuration("pin_name", nims.DataType.Pin, "Pin1")
@measurement_service.configuration(
"pin_name",
nims.DataType.Pin,
"Pin1",
instrument_type=nims.session_management.INSTRUMENT_TYPE_NI_DMM,
)
@measurement_service.configuration("measurement_type", nims.DataType.String, "DC Volts")
@measurement_service.configuration("range", nims.DataType.Double, 10.0)
@measurement_service.configuration("resolution_digits", nims.DataType.Double, 5.5)
Expand Down
7 changes: 6 additions & 1 deletion examples/nifgen_standard_function/measurement.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,12 @@

@measurement_service.register_measurement
# TODO: Rename pin_name to pin_names and make it PinArray1D
@measurement_service.configuration("pin_name", nims.DataType.Pin, "Pin1")
@measurement_service.configuration(
"pin_name",
nims.DataType.Pin,
"Pin1",
instrument_type=nims.session_management.INSTRUMENT_TYPE_NI_FGEN,
)
@measurement_service.configuration("waveform_type", nims.DataType.String, "Sine")
@measurement_service.configuration("frequency", nims.DataType.Double, 1.0e6)
@measurement_service.configuration("amplitude", nims.DataType.Double, 2.0)
Expand Down
14 changes: 12 additions & 2 deletions examples/niscope_acquire_waveform/measurement.py
Original file line number Diff line number Diff line change
Expand Up @@ -50,13 +50,23 @@

@measurement_service.register_measurement
# TODO: Make pin_names PinArray1D
@measurement_service.configuration("pin_names", nims.DataType.Pin, "Pin1,Pin2,Pin3,Pin4")
@measurement_service.configuration(
"pin_names",
nims.DataType.Pin,
"Pin1,Pin2,Pin3,Pin4",
instrument_type=nims.session_management.INSTRUMENT_TYPE_NI_SCOPE,
Comment thread
bkeryan marked this conversation as resolved.
)
@measurement_service.configuration("vertical_range", nims.DataType.Double, 5.0)
@measurement_service.configuration("vertical_coupling", nims.DataType.String, "DC")
@measurement_service.configuration("input_impedance", nims.DataType.Double, 1e6)
@measurement_service.configuration("min_sample_rate", nims.DataType.Double, 10e6)
@measurement_service.configuration("min_record_length", nims.DataType.Int32, 40000)
@measurement_service.configuration("trigger_source", nims.DataType.Pin, "Pin1")
@measurement_service.configuration(
"trigger_source",
nims.DataType.Pin,
"Pin1",
instrument_type=nims.session_management.INSTRUMENT_TYPE_NI_SCOPE,
)
@measurement_service.configuration("trigger_level", nims.DataType.Double, 0.5)
@measurement_service.configuration("trigger_slope", nims.DataType.String, "Positive")
@measurement_service.configuration("auto_trigger", nims.DataType.Boolean, False)
Expand Down
9 changes: 7 additions & 2 deletions ni_measurement_service/measurement/service.py
Original file line number Diff line number Diff line change
Expand Up @@ -184,8 +184,13 @@ def configuration(
default_value (Any): Default value of the configuration.

instrument_type (str): Optional.
Instrument type to be used to show instrument specific values to the configurations.
This is only supported when configuration type is DataType.Pin.
Filter pins by instrument type. This is only supported when configuration type
is DataType.Pin. Pin maps have built in instrument definitions using the
NI driver based instrument type ids. These can be found as constants
in `nims.session_management`. For example, for an NI DCPower instrument
the instrument type is `nims.session_management.INSTRUMENT_TYPE_NI_DCPOWER`.
For custom instruments the user defined instrument type id is defined in the
pin map file.

Returns
-------
Expand Down