diff --git a/examples/nidcpower_source_dc_voltage/measurement.py b/examples/nidcpower_source_dc_voltage/measurement.py index 884223487..b169921fd 100644 --- a/examples/nidcpower_source_dc_voltage/measurement.py +++ b/examples/nidcpower_source_dc_voltage/measurement.py @@ -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) diff --git a/examples/nidcpower_source_dc_voltage_with_labview_ui/measurement.py b/examples/nidcpower_source_dc_voltage_with_labview_ui/measurement.py index c4a5666d2..2b85e5cf6 100644 --- a/examples/nidcpower_source_dc_voltage_with_labview_ui/measurement.py +++ b/examples/nidcpower_source_dc_voltage_with_labview_ui/measurement.py @@ -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) diff --git a/examples/nidmm_measurement/measurement.py b/examples/nidmm_measurement/measurement.py index 0b2d4aad6..e8abbad33 100644 --- a/examples/nidmm_measurement/measurement.py +++ b/examples/nidmm_measurement/measurement.py @@ -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) diff --git a/examples/nifgen_standard_function/measurement.py b/examples/nifgen_standard_function/measurement.py index 1f2bb88d2..b049c89ae 100644 --- a/examples/nifgen_standard_function/measurement.py +++ b/examples/nifgen_standard_function/measurement.py @@ -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) diff --git a/examples/niscope_acquire_waveform/measurement.py b/examples/niscope_acquire_waveform/measurement.py index 4371d8be3..9e40bdb4d 100644 --- a/examples/niscope_acquire_waveform/measurement.py +++ b/examples/niscope_acquire_waveform/measurement.py @@ -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, +) @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) diff --git a/ni_measurement_service/measurement/service.py b/ni_measurement_service/measurement/service.py index 88a57ac9f..fec78c996 100644 --- a/ni_measurement_service/measurement/service.py +++ b/ni_measurement_service/measurement/service.py @@ -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 -------