From 4eb862408081a48bf127a0eb251266592c1cf9c2 Mon Sep 17 00:00:00 2001 From: NI-velmurugan Date: Wed, 7 Oct 2026 19:45:14 +0530 Subject: [PATCH 1/3] Add @Avinash2Suresh as a code owner --- .github/CODEOWNERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 17a4e6de4d..dac883d426 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1 +1 @@ -* @marcoskirsch @ni-jfitzger @vnktshr21 +* @marcoskirsch @ni-jfitzger @vnktshr21 @Avinash2Suresh From 8305ba26e923b280a766b480f52f77b1170c6fcd Mon Sep 17 00:00:00 2001 From: Divakar Date: Thu, 8 Oct 2026 16:17:45 +0530 Subject: [PATCH 2/3] Remove @Avinash2Suresh from CODEOWNERS --- .github/CODEOWNERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index dac883d426..17a4e6de4d 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1 +1 @@ -* @marcoskirsch @ni-jfitzger @vnktshr21 @Avinash2Suresh +* @marcoskirsch @ni-jfitzger @vnktshr21 From 81a9c0c1691df38e4f9259e04470918d37db4272 Mon Sep 17 00:00:00 2001 From: "Selvam, Divakar" Date: Tue, 13 Oct 2026 16:12:35 +0530 Subject: [PATCH 3/3] add: add Measure Temperature Thermistor example for nidmm --- CHANGELOG.md | 1 + docs/nidmm/examples.rst | 9 +++ .../nidmm_measure_temperature_thermistor.py | 55 +++++++++++++++++++ 3 files changed, 65 insertions(+) create mode 100644 src/nidmm/examples/nidmm_measure_temperature_thermistor.py diff --git a/CHANGELOG.md b/CHANGELOG.md index 86a8d9eb38..cb876387d0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -799,6 +799,7 @@ #### [nidmm] Unreleased - Added - Added the `nidmm_measure_ac_volts.py` example. + - Added the `nidmm_measure_temperature_thermistor.py` example. - (Common) Added `nitlsconfig[grpc]>=1.0.0a2` to the optional gRPC dependencies. - Changed - Removed diff --git a/docs/nidmm/examples.rst b/docs/nidmm/examples.rst index ec6b3ee3e4..a895ce079e 100644 --- a/docs/nidmm/examples.rst +++ b/docs/nidmm/examples.rst @@ -21,6 +21,15 @@ nidmm_measure_ac_volts.py :encoding: utf8 :caption: `(nidmm_measure_ac_volts.py) `_ +nidmm_measure_temperature_thermistor.py +--------------------------------------- + +.. literalinclude:: ../../src/nidmm/examples/nidmm_measure_temperature_thermistor.py + :language: python + :linenos: + :encoding: utf8 + :caption: `(nidmm_measure_temperature_thermistor.py) `_ + nidmm_measurement.py -------------------- diff --git a/src/nidmm/examples/nidmm_measure_temperature_thermistor.py b/src/nidmm/examples/nidmm_measure_temperature_thermistor.py new file mode 100644 index 0000000000..53008ef7ad --- /dev/null +++ b/src/nidmm/examples/nidmm_measure_temperature_thermistor.py @@ -0,0 +1,55 @@ +#!/usr/bin/python + +import argparse +import nidmm +import sys + + +def example(resource_name, options, function, transducer_type, thermistor_type, thermistor_a, thermistor_b, thermistor_c, range, digits): + with nidmm.Session(resource_name=resource_name, options=options) as session: + session.configure_measurement_digits(measurement_function=nidmm.Function[function], range=range, resolution_digits=digits) + session.temp_transducer_type = nidmm.TransducerType[transducer_type] + # The Python API has no configure_thermistor_type method, so the type is set through its property + session.temp_thermistor_type = nidmm.ThermistorType[thermistor_type] + # The A, B, and C coefficients apply only to the CUSTOM thermistor type; the driver chooses them for the other types + if thermistor_type == 'CUSTOM': + session.configure_thermistor_custom(thermistor_a, thermistor_b, thermistor_c) + measurement = session.read() + print(f'Measurement (Celsius): {measurement}') + + +def _main(argsv): + supported_functions = list(nidmm.Function.__members__.keys()) + supported_transducer_types = list(nidmm.TransducerType.__members__.keys()) + supported_thermistor_types = list(nidmm.ThermistorType.__members__.keys()) + parser = argparse.ArgumentParser(description='Performs a single temperature measurement using a thermistor with the NI-DMM API.', formatter_class=argparse.ArgumentDefaultsHelpFormatter) + parser.add_argument('-n', '--resource-name', default='PXI1Slot2', help='Contains the resource_name of the device to initialize.') + parser.add_argument('-f', '--function', default='TEMPERATURE', choices=supported_functions, type=str.upper, help='Specifies the measurement_function used to acquire the measurement.') + parser.add_argument('--transducer-type', default='THERMISTOR', choices=supported_transducer_types, type=str.upper, help='Specifies the type of device used to measure the temperature.') + parser.add_argument('-t', '--thermistor-type', default='THERMISTOR_44006', choices=supported_thermistor_types, type=str.upper, help='Specifies the type of thermistor used to measure the temperature.') + parser.add_argument('--thermistor-a', default=0.0010295, type=float, help='Specifies the Steinhart-Hart A coefficient for thermistor scaling when the Thermistor Type property is set to Custom.') + parser.add_argument('--thermistor-b', default=0.0002391, type=float, help='Specifies the Steinhart-Hart B coefficient for thermistor scaling when the Thermistor Type property is set to Custom.') + parser.add_argument('--thermistor-c', default=1.568e-7, type=float, help='Specifies the Steinhart-Hart C coefficient for thermistor scaling when the Thermistor Type property is set to Custom.') + parser.add_argument('-r', '--range', default=100000.0, type=float, help='Specifies the range of the measurement in ohms.') + parser.add_argument('-d', '--digits', default=5.5, type=float, help='Specifies the resolution of the measurement in digits.') + parser.add_argument('-op', '--option-string', default='', type=str, help='Sets the initial value of certain attributes for the session.') + args = parser.parse_args(argsv) + example(args.resource_name, args.option_string, args.function, args.transducer_type, args.thermistor_type, args.thermistor_a, args.thermistor_b, args.thermistor_c, args.range, args.digits) + + +def main(): + _main(sys.argv[1:]) + + +def test_example(): + options = {'simulate': True, 'driver_setup': {'Model': '4082', 'BoardType': 'PXIe', }, } + example('PXI1Slot2', options, 'TEMPERATURE', 'THERMISTOR', 'THERMISTOR_44006', 0.0010295, 0.0002391, 1.568e-7, 100000.0, 5.5) + + +def test_main(): + cmd_line = ['--option-string', 'Simulate=1, DriverSetup=Model:4082; BoardType:PXIe', ] + _main(cmd_line) + + +if __name__ == '__main__': + main()