33import pathlib
44import sys
55from enum import Enum
6+ from typing import Iterable , Tuple
67
78import click
89from _helpers import configure_logging , verbosity_option
1617
1718script_or_exe = sys .executable if getattr (sys , "frozen" , False ) else __file__
1819service_directory = pathlib .Path (script_or_exe ).resolve ().parent
19- sample_measurement_service = nims .MeasurementService (
20+ measurement_service = nims .MeasurementService (
2021 service_config_path = service_directory / "SampleMeasurement.serviceconfig" ,
2122 version = "0.1.0.0" ,
2223 ui_file_paths = [
@@ -36,50 +37,48 @@ class Color(Enum):
3637 BLUE = 3
3738
3839
39- @sample_measurement_service .register_measurement
40- @sample_measurement_service .configuration ("Float In" , nims .DataType .Float , 0.06 )
41- @sample_measurement_service .configuration (
42- "Double Array In" , nims .DataType .DoubleArray1D , [0.1 , 0.2 , 0.3 ]
43- )
44- @sample_measurement_service .configuration ("Bool In" , nims .DataType .Boolean , False )
45- @sample_measurement_service .configuration ("String In" , nims .DataType .String , "sample string" )
46- @sample_measurement_service .configuration (
47- "Enum In" , nims .DataType .Enum , Color .BLUE , enum_type = Color
48- )
49- @sample_measurement_service .configuration (
40+ @measurement_service .register_measurement
41+ @measurement_service .configuration ("Float In" , nims .DataType .Float , 0.06 )
42+ @measurement_service .configuration ("Double Array In" , nims .DataType .DoubleArray1D , [0.1 , 0.2 , 0.3 ])
43+ @measurement_service .configuration ("Bool In" , nims .DataType .Boolean , False )
44+ @measurement_service .configuration ("String In" , nims .DataType .String , "sample string" )
45+ @measurement_service .configuration ("Enum In" , nims .DataType .Enum , Color .BLUE , enum_type = Color )
46+ @measurement_service .configuration (
5047 "Protobuf Enum In" ,
5148 nims .DataType .Enum ,
5249 color_pb2 .ProtobufColor .BLACK ,
5350 enum_type = color_pb2 .ProtobufColor ,
5451)
55- @sample_measurement_service .configuration (
52+ @measurement_service .configuration (
5653 "String Array In" , nims .DataType .StringArray1D , ["String1" , "String2" ]
5754)
58- @sample_measurement_service .output ("Float out" , nims .DataType .Float )
59- @sample_measurement_service .output ("Double Array out" , nims .DataType .DoubleArray1D )
60- @sample_measurement_service .output ("Bool out" , nims .DataType .Boolean )
61- @sample_measurement_service .output ("String out" , nims .DataType .String )
62- @sample_measurement_service .output ("Enum out" , nims .DataType .Enum , enum_type = Color )
63- @sample_measurement_service .output (
55+ @measurement_service .output ("Float out" , nims .DataType .Float )
56+ @measurement_service .output ("Double Array out" , nims .DataType .DoubleArray1D )
57+ @measurement_service .output ("Bool out" , nims .DataType .Boolean )
58+ @measurement_service .output ("String out" , nims .DataType .String )
59+ @measurement_service .output ("Enum out" , nims .DataType .Enum , enum_type = Color )
60+ @measurement_service .output (
6461 "Protobuf Enum out" , nims .DataType .Enum , enum_type = color_pb2 .ProtobufColor
6562)
66- @sample_measurement_service .output ("String Array out" , nims .DataType .StringArray1D )
63+ @measurement_service .output ("String Array out" , nims .DataType .StringArray1D )
6764def measure (
68- float_input ,
69- double_array_input ,
70- bool_input ,
71- string_input ,
72- enum_input ,
73- protobuf_enum_input ,
74- string_array_in ,
75- ):
65+ float_input : float ,
66+ double_array_input : Iterable [float ],
67+ bool_input : bool ,
68+ string_input : str ,
69+ enum_input : Color ,
70+ protobuf_enum_input : color_pb2 .ProtobufColor .ValueType ,
71+ string_array_in : Iterable [str ],
72+ ) -> Tuple [
73+ float , Iterable [float ], bool , str , Color , color_pb2 .ProtobufColor .ValueType , Iterable [str ]
74+ ]:
7675 """Perform a loopback measurement with various data types."""
7776 logging .info ("Executing measurement" )
7877
79- def cancel_callback ():
78+ def cancel_callback () -> None :
8079 logging .info ("Canceling measurement" )
8180
82- sample_measurement_service .context .add_cancel_callback (cancel_callback )
81+ measurement_service .context .add_cancel_callback (cancel_callback )
8382
8483 float_output = float_input
8584 float_array_output = double_array_input
@@ -107,7 +106,7 @@ def main(verbosity: int) -> None:
107106 """Perform a loopback measurement with various data types."""
108107 configure_logging (verbosity )
109108
110- with sample_measurement_service .host_service ():
109+ with measurement_service .host_service ():
111110 input ("Press enter to close the measurement service.\n " )
112111
113112
0 commit comments