Skip to content

Commit fc36445

Browse files
tkrebesbkeryan
andauthored
Updated .proto files and session management API (#173)
* Updated proto files * Updated CONTRIBUTING.md * Updated generate_grpc_stubs.py * Generated gRPC stubs * Updated session_management.py * Updated examples * Make updated .proto files work with nimi-python (#176) * generate_grpc_stubs.py: Regenerate test stubs * ni-measurement-service: Upgrade to protobuf >=4.21 * Update poetry lock * Regenerate gRPC/protobuf codegen * generate_grpc_stubs.py: Blacken test code and parameterize functions * Update mypy/typing packages * generate_grpc_stubs.py: Fix type annotations * Update poetry lock * Regenerate test stubs * Rerun Black * Regenerate protobuf/gRPC stubs * Rerun Black * ni-measurement-service: Revert session.proto update * ni-measurement-service: Regenerate session.proto codegen * generate_grpc_stubs.py: Fix root-import paths in non-root imports * ni-measurement-service: Update session_pb2 import * ni-measurement-service: Move session.proto to proto root * Regenerate protobuf/gRPC stubs. * session_management.py: Refer to instrument type id constants * session_management.py: Fix import order * session_management.py: Rerun black Co-authored-by: Brad Keryan <brad.keryan@ni.com>
1 parent 96b0487 commit fc36445

31 files changed

Lines changed: 1471 additions & 384 deletions

CONTRIBUTING.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,8 @@ The `ni_measurement_service\_internal\stubs` directory contains the auto-generat
7373
- ni/measurementlink/measurement/v1/measurement_service.proto
7474
- ni/measurementlink/pinmap/v1/pin_map_service.proto
7575
- ni/measurementlink/sessionmanagement/v1/session_management_service.proto
76+
- nidevice_grpc/README.md
77+
- nidevice_grpc/session.proto
7678

7779
The latest .proto files are available in [Azure Repo](https://dev.azure.com/ni/DevCentral/_git/ASW?path=/Source/Protos). From the Azure Repo manually download and overwrite the proto files under the `ni_measurement_service\_internal\stubs\proto` folder.
7880

examples/nidcpower_source_dc_voltage/measurement.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ def measure(
6969
reservation = stack.enter_context(
7070
session_management_client.reserve_sessions(
7171
context=measurement_service.context.pin_map_context,
72-
pin_names=[pin_name],
72+
pin_or_relay_names=[pin_name],
7373
instrument_type_id=nims.session_management.INSTRUMENT_TYPE_NI_DCPOWER,
7474
timeout=-1,
7575
)

examples/nidcpower_source_dc_voltage/teststand_fixture.py

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -60,17 +60,12 @@ def destroy_nidcpower_sessions():
6060
grpc_channel=grpc_channel_pool.session_management_channel
6161
)
6262

63-
with session_management_client.reserve_all_registered_sessions(timeout=-1) as reservation:
64-
nidcpower_sessions = [
65-
session_info
66-
for session_info in reservation.session_info
67-
if session_info.instrument_type_id
68-
== nims.session_management.INSTRUMENT_TYPE_NI_DCPOWER
69-
]
70-
71-
session_management_client.unregister_sessions(nidcpower_sessions)
63+
with session_management_client.reserve_all_registered_sessions(
64+
instrument_type_id=nims.session_management.INSTRUMENT_TYPE_NI_DCPOWER, timeout=-1
65+
) as reservation:
66+
session_management_client.unregister_sessions(reservation.session_info)
7267

73-
for session_info in nidcpower_sessions:
68+
for session_info in reservation.session_info:
7469
grpc_options = nidcpower.GrpcSessionOptions(
7570
grpc_channel_pool.get_grpc_device_channel(
7671
nidcpower.GRPC_SERVICE_INTERFACE_NAME

examples/nidcpower_source_dc_voltage_with_labview_ui/measurement.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ def measure(
6969
reservation = stack.enter_context(
7070
session_management_client.reserve_sessions(
7171
context=measurement_service.context.pin_map_context,
72-
pin_names=pin_names,
72+
pin_or_relay_names=pin_names,
7373
instrument_type_id=nims.session_management.INSTRUMENT_TYPE_NI_DCPOWER,
7474
timeout=-1,
7575
)

examples/nidcpower_source_dc_voltage_with_labview_ui/teststand_fixture.py

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -60,17 +60,12 @@ def destroy_nidcpower_sessions():
6060
grpc_channel=grpc_channel_pool.session_management_channel
6161
)
6262

63-
with session_management_client.reserve_all_registered_sessions(timeout=-1) as reservation:
64-
nidcpower_sessions = [
65-
session_info
66-
for session_info in reservation.session_info
67-
if session_info.instrument_type_id
68-
== nims.session_management.INSTRUMENT_TYPE_NI_DCPOWER
69-
]
70-
71-
session_management_client.unregister_sessions(nidcpower_sessions)
63+
with session_management_client.reserve_all_registered_sessions(
64+
instrument_type_id=nims.session_management.INSTRUMENT_TYPE_NI_DCPOWER, timeout=-1
65+
) as reservation:
66+
session_management_client.unregister_sessions(reservation.session_info)
7267

73-
for session_info in nidcpower_sessions:
68+
for session_info in reservation.session_info:
7469
grpc_options = nidcpower.GrpcSessionOptions(
7570
grpc_channel_pool.get_grpc_device_channel(
7671
nidcpower.GRPC_SERVICE_INTERFACE_NAME

examples/nidmm_measurement/measurement.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ def measure(
8383
reservation = stack.enter_context(
8484
session_management_client.reserve_sessions(
8585
context=measurement_service.context.pin_map_context,
86-
pin_names=[pin_name],
86+
pin_or_relay_names=[pin_name],
8787
instrument_type_id=nims.session_management.INSTRUMENT_TYPE_NI_DMM,
8888
timeout=-1,
8989
)

examples/nidmm_measurement/teststand_fixture.py

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -56,16 +56,12 @@ def destroy_nidmm_sessions():
5656
grpc_channel=grpc_channel_pool.session_management_channel
5757
)
5858

59-
with session_management_client.reserve_all_registered_sessions(timeout=-1) as reservation:
60-
nidmm_sessions = [
61-
session_info
62-
for session_info in reservation.session_info
63-
if session_info.instrument_type_id == nims.session_management.INSTRUMENT_TYPE_NI_DMM
64-
]
65-
66-
session_management_client.unregister_sessions(nidmm_sessions)
59+
with session_management_client.reserve_all_registered_sessions(
60+
instrument_type_id=nims.session_management.INSTRUMENT_TYPE_NI_DMM, timeout=-1
61+
) as reservation:
62+
session_management_client.unregister_sessions(reservation.session_info)
6763

68-
for session_info in nidmm_sessions:
64+
for session_info in reservation.session_info:
6965
grpc_options = nidmm.GrpcSessionOptions(
7066
grpc_channel_pool.get_grpc_device_channel(nidmm.GRPC_SERVICE_INTERFACE_NAME),
7167
session_name=session_info.session_name,

examples/nifgen_standard_function/measurement.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ def cancel_callback():
9090
reservation = stack.enter_context(
9191
session_management_client.reserve_sessions(
9292
context=measurement_service.context.pin_map_context,
93-
pin_names=[pin_name],
93+
pin_or_relay_names=[pin_name],
9494
instrument_type_id=nims.session_management.INSTRUMENT_TYPE_NI_FGEN,
9595
timeout=-1,
9696
)

examples/nifgen_standard_function/teststand_fixture.py

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -60,17 +60,12 @@ def destroy_nifgen_sessions():
6060
grpc_channel=grpc_channel_pool.session_management_channel
6161
)
6262

63-
with session_management_client.reserve_all_registered_sessions(timeout=-1) as reservation:
64-
nifgen_sessions = [
65-
session_info
66-
for session_info in reservation.session_info
67-
if session_info.instrument_type_id
68-
== nims.session_management.INSTRUMENT_TYPE_NI_FGEN
69-
]
70-
71-
session_management_client.unregister_sessions(nifgen_sessions)
63+
with session_management_client.reserve_all_registered_sessions(
64+
instrument_type_id=nims.session_management.INSTRUMENT_TYPE_NI_FGEN, timeout=-1
65+
) as reservation:
66+
session_management_client.unregister_sessions(reservation.session_info)
7267

73-
for session_info in nifgen_sessions:
68+
for session_info in reservation.session_info:
7469
grpc_options = nifgen.GrpcSessionOptions(
7570
grpc_channel_pool.get_grpc_device_channel(nifgen.GRPC_SERVICE_INTERFACE_NAME),
7671
session_name=session_info.session_name,

examples/niscope_acquire_waveform/measurement.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ def measure(
9292
) -> Tuple:
9393
"""Acquire a waveform using an NI oscilloscope."""
9494
logging.info(
95-
"Starting acquisition: pin_names=%s vertical_range=%g trigger_source=%s trigger_level=%g",
95+
"Starting acquisition: pin_or_relay_names=%s vertical_range=%g trigger_source=%s trigger_level=%g",
9696
pin_names,
9797
vertical_range,
9898
trigger_source,
@@ -120,7 +120,7 @@ def cancel_callback():
120120
reservation = stack.enter_context(
121121
session_management_client.reserve_sessions(
122122
context=measurement_service.context.pin_map_context,
123-
pin_names=pin_list,
123+
pin_or_relay_names=pin_list,
124124
instrument_type_id=nims.session_management.INSTRUMENT_TYPE_NI_SCOPE,
125125
timeout=-1,
126126
)

0 commit comments

Comments
 (0)