diff --git a/build/templates/_grpc_stub_interpreter.py.mako b/build/templates/_grpc_stub_interpreter.py.mako index 0a5f0e4ef..dbff0a676 100644 --- a/build/templates/_grpc_stub_interpreter.py.mako +++ b/build/templates/_grpc_stub_interpreter.py.mako @@ -8,6 +8,7 @@ module_name = config['module_name'] proto_name = config.get('proto_name', module_name) service_class_prefix = config['grpc_service_class_prefix'] functions = helper.filter_codegen_functions(config['functions']) +are_complex_parameters_used = helper.are_complex_parameters_used(functions) %>\ import grpc @@ -19,6 +20,9 @@ import warnings from . import enums as enums # noqa: F401 % endif from . import errors as errors +% if are_complex_parameters_used: +from . import nidevice_pb2 as grpc_complex_types # noqa: F401 +% endif from . import ${proto_name}_pb2 as grpc_types from . import ${proto_name}_pb2_grpc as ${module_name}_grpc from . import session_pb2 as session_grpc_types diff --git a/build/templates/_grpc_stub_interpreter.py/numpy_write_method.py.mako b/build/templates/_grpc_stub_interpreter.py/numpy_write_method.py.mako index 648b9a0e1..387af3b72 100644 --- a/build/templates/_grpc_stub_interpreter.py/numpy_write_method.py.mako +++ b/build/templates/_grpc_stub_interpreter.py/numpy_write_method.py.mako @@ -1,3 +1,62 @@ <%page args="f, config, method_template"/>\ -## numpy_read and numpy_write are identical for gRPC -- both return a NotImplementedError -<%include file="/_grpc_stub_interpreter.py/numpy_read_method.py.mako" args="f=f, config=config, method_template=method_template" />\ +<% + '''Renders a GrpcStubInterpreter method for numpy write operations with complex number support.''' + + import build.helper as helper + + full_func_name = f['interpreter_name'] + method_template['method_python_name_suffix'] + method_decl_params = helper.get_params_snippet(f, helper.ParameterUsageOptions.INTERPRETER_METHOD_DECLARATION) + grpc_name = f.get('grpc_name', f['name']) + grpc_request_args = helper.get_params_snippet(f, helper.ParameterUsageOptions.GRPC_REQUEST_PARAMETERS) + return_statement = helper.get_grpc_interpreter_method_return_snippet(f['parameters'], config) + if return_statement == 'return': + return_statement = None + capture_response = 'response = ' if return_statement else '' + included_in_proto = f.get('included_in_proto', True) + numpy_complex_params = helper.filter_parameters(f['parameters'], helper.ParameterUsageOptions.COMPLEX_NUMBER_PARAMETERS) + for param in numpy_complex_params: + grpc_request_args = grpc_request_args.replace( + param['grpc_name'] + '=' + param['python_name'], + param['grpc_name'] + '=' + param['python_name'] + '_list' + ) +%>\ + + def ${full_func_name}(${method_decl_params}): # noqa: N802 +% if included_in_proto: +% if numpy_complex_params: + # Use ravel() so that gRPC always receives a flat numpy array, regardless of input dimensions. +% for param in numpy_complex_params: +% if param['original_type'] == 'NIComplexNumber[]': + ${param['python_name']}_list = [ + grpc_complex_types.NIComplexNumber(real=val.real, imaginary=val.imag) + for val in ${param['python_name']}.ravel() + ] +% elif param['original_type'] == 'NIComplexNumberF32[]': + ${param['python_name']}_list = [ + grpc_complex_types.NIComplexNumberF32(real=val.real, imaginary=val.imag) + for val in ${param['python_name']}.ravel() + ] +% elif param['original_type'] == 'NIComplexI16[]': + arr = ${param['python_name']}.ravel() + if arr.size % 2 != 0: + raise ValueError("Interleaved int16 array must have even length (real/imag pairs)") + arr_pairs = arr.reshape(-1, 2) + ${param['python_name']}_list = [ + grpc_complex_types.NIComplexI16(real=int(pair[0]), imaginary=int(pair[1])) + for pair in arr_pairs + ] +% endif +% endfor + ${capture_response}self._invoke( + self._client.${grpc_name}, + grpc_types.${grpc_name}Request(${grpc_request_args}), + ) +% if return_statement: + ${return_statement} +% endif +% else: + raise NotImplementedError('numpy-specific methods are not supported over gRPC') +% endif +% else: + raise NotImplementedError('${full_func_name} is not supported over gRPC') +% endif diff --git a/generated/nifake/nifake/_grpc_stub_interpreter.py b/generated/nifake/nifake/_grpc_stub_interpreter.py index 5ef4005c5..fa6902751 100644 --- a/generated/nifake/nifake/_grpc_stub_interpreter.py +++ b/generated/nifake/nifake/_grpc_stub_interpreter.py @@ -8,6 +8,7 @@ from . import enums as enums # noqa: F401 from . import errors as errors +from . import nidevice_pb2 as grpc_complex_types # noqa: F401 from . import nifake_pb2 as grpc_types from . import nifake_pb2_grpc as nifake_grpc from . import session_pb2 as session_grpc_types @@ -145,7 +146,15 @@ def fetch_waveform_into(self, number_of_samples): # noqa: N802 raise NotImplementedError('numpy-specific methods are not supported over gRPC') def function_with_3d_numpy_array_of_numpy_complex128_input_parameter(self, multidimensional_array): # noqa: N802 - raise NotImplementedError('numpy-specific methods are not supported over gRPC') + # Use ravel() so that gRPC always receives a flat numpy array, regardless of input dimensions. + multidimensional_array_list = [ + grpc_complex_types.NIComplexNumber(real=val.real, imaginary=val.imag) + for val in multidimensional_array.ravel() + ] + self._invoke( + self._client.FunctionWith3dNumpyArrayOfNumpyComplex128InputParameter, + grpc_types.FunctionWith3dNumpyArrayOfNumpyComplex128InputParameterRequest(vi=self._vi, multidimensional_array=multidimensional_array_list), + ) def function_with_intflag_parameter(self, flag): # noqa: N802 self._invoke( @@ -512,13 +521,41 @@ def write_waveform_numpy(self, waveform): # noqa: N802 raise NotImplementedError('numpy-specific methods are not supported over gRPC') def write_waveform_numpy_complex128(self, waveform_data_array): # noqa: N802 - raise NotImplementedError('numpy-specific methods are not supported over gRPC') + # Use ravel() so that gRPC always receives a flat numpy array, regardless of input dimensions. + waveform_data_array_list = [ + grpc_complex_types.NIComplexNumber(real=val.real, imaginary=val.imag) + for val in waveform_data_array.ravel() + ] + self._invoke( + self._client.WriteWaveformNumpyComplex128, + grpc_types.WriteWaveformNumpyComplex128Request(vi=self._vi, waveform_data_array=waveform_data_array_list), + ) def write_waveform_numpy_complex64(self, waveform_data_array): # noqa: N802 - raise NotImplementedError('numpy-specific methods are not supported over gRPC') + # Use ravel() so that gRPC always receives a flat numpy array, regardless of input dimensions. + waveform_data_array_list = [ + grpc_complex_types.NIComplexNumberF32(real=val.real, imaginary=val.imag) + for val in waveform_data_array.ravel() + ] + self._invoke( + self._client.WriteWaveformNumpyComplex64, + grpc_types.WriteWaveformNumpyComplex64Request(vi=self._vi, waveform_data_array=waveform_data_array_list), + ) def write_waveform_numpy_complex_interleaved_i16(self, waveform_data_array): # noqa: N802 - raise NotImplementedError('numpy-specific methods are not supported over gRPC') + # Use ravel() so that gRPC always receives a flat numpy array, regardless of input dimensions. + arr = waveform_data_array.ravel() + if arr.size % 2 != 0: + raise ValueError("Interleaved int16 array must have even length (real/imag pairs)") + arr_pairs = arr.reshape(-1, 2) + waveform_data_array_list = [ + grpc_complex_types.NIComplexI16(real=int(pair[0]), imaginary=int(pair[1])) + for pair in arr_pairs + ] + self._invoke( + self._client.WriteWaveformNumpyComplexInterleavedI16, + grpc_types.WriteWaveformNumpyComplexInterleavedI16Request(vi=self._vi, waveform_data_array=waveform_data_array_list), + ) def close(self): # noqa: N802 self._invoke( diff --git a/generated/nifake/nifake/nifake_pb2.py b/generated/nifake/nifake/nifake_pb2.py index ff0178b96..4c3684d51 100644 --- a/generated/nifake/nifake/nifake_pb2.py +++ b/generated/nifake/nifake/nifake_pb2.py @@ -14,7 +14,7 @@ from . import session_pb2 as session__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0cnifake.proto\x12\x0bnifake_grpc\x1a\rsession.proto\"=\n\x10\x46\x61keCustomStruct\x12\x12\n\nstruct_int\x18\x01 \x01(\x11\x12\x15\n\rstruct_double\x18\x02 \x01(\x01\"\xa0\x01\n\x19\x43ustomStructNestedTypedef\x12;\n\x14struct_custom_struct\x18\x01 \x01(\x0b\x32\x1d.nifake_grpc.FakeCustomStruct\x12\x46\n\x1cstruct_custom_struct_typedef\x18\x02 \x01(\x0b\x32 .nifake_grpc.CustomStructTypedef\"@\n\x13\x43ustomStructTypedef\x12\x12\n\nstruct_int\x18\x01 \x01(\x11\x12\x15\n\rstruct_double\x18\x02 \x01(\x01\"6\n\x13NIComplexI16_struct\x12\x0c\n\x04real\x18\x01 \x01(\x11\x12\x11\n\timaginary\x18\x02 \x01(\x11\"9\n\x16NIComplexNumber_struct\x12\x0c\n\x04real\x18\x01 \x01(\x01\x12\x11\n\timaginary\x18\x02 \x01(\x01\"J\n\x0fStringAndTurtle\x12\x12\n\nstring_arg\x18\x01 \x01(\t\x12#\n\x06turtle\x18\x02 \x01(\x0e\x32\x13.nifake_grpc.Turtle\"%\n\x0f\x43ustomNamedType\x12\x12\n\nstring_arg\x18\x01 \x01(\t\"2\n\x0c\x41\x62ortRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\"\x1f\n\rAbortResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\"`\n\x1e\x42oolArrayOutputFunctionRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x1a\n\x12number_of_elements\x18\x02 \x01(\x11\"C\n\x1f\x42oolArrayOutputFunctionResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x10\n\x08\x61n_array\x18\x02 \x03(\x08\"2\n\x0c\x43loseRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\"\x1f\n\rCloseResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\"`\n\x1e\x45numArrayOutputFunctionRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x1a\n\x12number_of_elements\x18\x02 \x01(\x11\"n\n\x1f\x45numArrayOutputFunctionResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12%\n\x08\x61n_array\x18\x02 \x03(\x0e\x32\x13.nifake_grpc.Turtle\x12\x14\n\x0c\x61n_array_raw\x18\x03 \x03(\x11\"\x9c\x01\n$EnumInputFunctionWithDefaultsRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\'\n\x08\x61_turtle\x18\x02 \x01(\x0e\x32\x13.nifake_grpc.TurtleH\x00\x12\x16\n\x0c\x61_turtle_raw\x18\x03 \x01(\x11H\x00\x42\x0f\n\ra_turtle_enum\"7\n%EnumInputFunctionWithDefaultsResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\"\xce\x01\n0StringValuedEnumInputFunctionWithDefaultsRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12=\n\x17\x61_mobile_os_name_mapped\x18\x02 \x01(\x0e\x32\x1a.nifake_grpc.MobileOSNamesH\x00\x12\x1e\n\x14\x61_mobile_os_name_raw\x18\x03 \x01(\tH\x00\x42\x17\n\x15\x61_mobile_os_name_enum\"C\n1StringValuedEnumInputFunctionWithDefaultsResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\"M\n\x13\x45rrorMessageRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x12\n\nerror_code\x18\x02 \x01(\x11\"=\n\x14\x45rrorMessageResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x15\n\rerror_message\x18\x02 \x01(\t\"U\n\x14\x46\x65tchWaveformRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x19\n\x11number_of_samples\x18\x02 \x01(\x11\"`\n\x15\x46\x65tchWaveformResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x15\n\rwaveform_data\x18\x02 \x03(\x01\x12 \n\x18\x61\x63tual_number_of_samples\x18\x03 \x01(\x11\"8\n\x12GetABooleanRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\"8\n\x13GetABooleanResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x11\n\ta_boolean\x18\x02 \x01(\x08\"7\n\x11GetANumberRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\"6\n\x12GetANumberResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x10\n\x08\x61_number\x18\x02 \x01(\x11\"I\n#GetAStringOfFixedMaximumSizeRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\"H\n$GetAStringOfFixedMaximumSizeResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x10\n\x08\x61_string\x18\x02 \x01(\t\"C\n\x1dGetAnIviDanceCharArrayRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\"D\n\x1eGetAnIviDanceCharArrayResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x12\n\nchar_array\x18\x02 \x01(\t\"B\n\x1cGetArrayUsingIviDanceRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\"B\n\x1dGetArrayUsingIviDanceResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x11\n\tarray_out\x18\x02 \x03(\x01\"\x8c\x01\n\x1cGetAttributeViBooleanRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x14\n\x0c\x63hannel_name\x18\x02 \x01(\t\x12\x32\n\x0c\x61ttribute_id\x18\x03 \x01(\x0e\x32\x1c.nifake_grpc.NiFakeAttribute\"H\n\x1dGetAttributeViBooleanResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x17\n\x0f\x61ttribute_value\x18\x02 \x01(\x08\"\x8a\x01\n\x1aGetAttributeViInt32Request\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x14\n\x0c\x63hannel_name\x18\x02 \x01(\t\x12\x32\n\x0c\x61ttribute_id\x18\x03 \x01(\x0e\x32\x1c.nifake_grpc.NiFakeAttribute\"F\n\x1bGetAttributeViInt32Response\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x17\n\x0f\x61ttribute_value\x18\x02 \x01(\x11\"\x8a\x01\n\x1aGetAttributeViInt64Request\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x14\n\x0c\x63hannel_name\x18\x02 \x01(\t\x12\x32\n\x0c\x61ttribute_id\x18\x03 \x01(\x0e\x32\x1c.nifake_grpc.NiFakeAttribute\"F\n\x1bGetAttributeViInt64Response\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x17\n\x0f\x61ttribute_value\x18\x02 \x01(\x03\"\x8b\x01\n\x1bGetAttributeViReal64Request\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x14\n\x0c\x63hannel_name\x18\x02 \x01(\t\x12\x32\n\x0c\x61ttribute_id\x18\x03 \x01(\x0e\x32\x1c.nifake_grpc.NiFakeAttribute\"G\n\x1cGetAttributeViReal64Response\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x17\n\x0f\x61ttribute_value\x18\x02 \x01(\x01\"\x8c\x01\n\x1cGetAttributeViSessionRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x14\n\x0c\x63hannel_name\x18\x02 \x01(\t\x12\x32\n\x0c\x61ttribute_id\x18\x03 \x01(\x0e\x32\x1c.nifake_grpc.NiFakeAttribute\"`\n\x1dGetAttributeViSessionResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12/\n\x0f\x61ttribute_value\x18\x02 \x01(\x0b\x32\x16.nidevice_grpc.Session\"\x8b\x01\n\x1bGetAttributeViStringRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x14\n\x0c\x63hannel_name\x18\x02 \x01(\t\x12\x32\n\x0c\x61ttribute_id\x18\x03 \x01(\x0e\x32\x1c.nifake_grpc.NiFakeAttribute\"G\n\x1cGetAttributeViStringResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x17\n\x0f\x61ttribute_value\x18\x02 \x01(\t\"P\n\x18GetCalDateAndTimeRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x10\n\x08\x63\x61l_type\x18\x02 \x01(\x11\"s\n\x19GetCalDateAndTimeResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\r\n\x05month\x18\x02 \x01(\x11\x12\x0b\n\x03\x64\x61y\x18\x03 \x01(\x11\x12\x0c\n\x04year\x18\x04 \x01(\x11\x12\x0c\n\x04hour\x18\x05 \x01(\x11\x12\x0e\n\x06minute\x18\x06 \x01(\x11\";\n\x15GetCalIntervalRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\"8\n\x16GetCalIntervalResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x0e\n\x06months\x18\x02 \x01(\x11\"9\n\x13GetEnumValueRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\"w\n\x14GetEnumValueResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x12\n\na_quantity\x18\x02 \x01(\x11\x12%\n\x08\x61_turtle\x18\x03 \x01(\x0e\x32\x13.nifake_grpc.Turtle\x12\x14\n\x0c\x61_turtle_raw\x18\x04 \x01(\x11\"5\n\x0fGetErrorRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\"K\n\x10GetErrorResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x12\n\nerror_code\x18\x02 \x01(\x11\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\"\xd3\x01\n\x16InitWithOptionsRequest\x12\x14\n\x0csession_name\x18\x01 \x01(\t\x12\x15\n\rresource_name\x18\x02 \x01(\t\x12\x10\n\x08id_query\x18\x03 \x01(\x08\x12\x14\n\x0creset_device\x18\x04 \x01(\x08\x12\x15\n\roption_string\x18\x05 \x01(\t\x12M\n\x17initialization_behavior\x18\x06 \x01(\x0e\x32,.nidevice_grpc.SessionInitializationBehavior\"n\n\x17InitWithOptionsResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\"\n\x02vi\x18\x02 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x1f\n\x17new_session_initialized\x18\x03 \x01(\x08\"\x9a\x01\n\x19MultipleArrayTypesRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x19\n\x11output_array_size\x18\x02 \x01(\x11\x12\x1d\n\x15input_array_of_floats\x18\x03 \x03(\x01\x12\x1f\n\x17input_array_of_integers\x18\x04 \x03(\x11\"h\n\x1aMultipleArrayTypesResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x14\n\x0coutput_array\x18\x02 \x03(\x01\x12$\n\x1coutput_array_of_fixed_length\x18\x03 \x03(\x01\"\x87\x01\n\x1dMultipleArraysSameSizeRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x0f\n\x07values1\x18\x02 \x03(\x01\x12\x0f\n\x07values2\x18\x03 \x03(\x01\x12\x0f\n\x07values3\x18\x04 \x03(\x01\x12\x0f\n\x07values4\x18\x05 \x03(\x01\"0\n\x1eMultipleArraysSameSizeResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\"r\n\"MultipleArraysDifferentSizeRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x14\n\x0cvalues_array\x18\x02 \x03(\x01\x12\x12\n\ndata_array\x18\x03 \x03(\x11\"5\n#MultipleArraysDifferentSizeResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\"_\n#MixedIviDanceAndLenMechanismRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x14\n\x0cinput_values\x18\x02 \x03(\x01\"L\n$MixedIviDanceAndLenMechanismResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x14\n\x0coutput_array\x18\x02 \x03(\x11\"O\n\x17OneInputFunctionRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x10\n\x08\x61_number\x18\x02 \x01(\x11\"*\n\x18OneInputFunctionResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\"\xe4\x02\n!ParametersAreMultipleTypesRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x11\n\ta_boolean\x18\x02 \x01(\x08\x12\x10\n\x08\x61n_int32\x18\x03 \x01(\x11\x12\x10\n\x08\x61n_int64\x18\x04 \x01(\x03\x12*\n\x0b\x61n_int_enum\x18\x05 \x01(\x0e\x32\x13.nifake_grpc.TurtleH\x00\x12\x19\n\x0f\x61n_int_enum_raw\x18\x06 \x01(\x11H\x00\x12\x0f\n\x07\x61_float\x18\x07 \x01(\x01\x12\x35\n\x13\x61_float_enum_mapped\x18\x08 \x01(\x0e\x32\x16.nifake_grpc.FloatEnumH\x01\x12\x1a\n\x10\x61_float_enum_raw\x18\t \x01(\x01H\x01\x12\x10\n\x08\x61_string\x18\n \x01(\tB\x12\n\x10\x61n_int_enum_enumB\x13\n\x11\x61_float_enum_enum\"4\n\"ParametersAreMultipleTypesResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\"F\n PoorlyNamedSimpleFunctionRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\"3\n!PoorlyNamedSimpleFunctionResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\"G\n\x0bReadRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x14\n\x0cmaximum_time\x18\x02 \x01(\x01\"/\n\x0cReadResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x0f\n\x07reading\x18\x02 \x01(\x01\"h\n\x16ReadFromChannelRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x14\n\x0c\x63hannel_name\x18\x02 \x01(\t\x12\x14\n\x0cmaximum_time\x18\x03 \x01(\x11\":\n\x17ReadFromChannelResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x0f\n\x07reading\x18\x02 \x01(\x01\"D\n\x1eReturnANumberAndAStringRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\"U\n\x1fReturnANumberAndAStringResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x10\n\x08\x61_number\x18\x02 \x01(\x11\x12\x10\n\x08\x61_string\x18\x03 \x01(\t\"T\n\x1aReturnMultipleTypesRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x12\n\narray_size\x18\x02 \x01(\x11\"\xab\x02\n\x1bReturnMultipleTypesResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x11\n\ta_boolean\x18\x02 \x01(\x08\x12\x10\n\x08\x61n_int32\x18\x03 \x01(\x11\x12\x10\n\x08\x61n_int64\x18\x04 \x01(\x03\x12(\n\x0b\x61n_int_enum\x18\x05 \x01(\x0e\x32\x13.nifake_grpc.Turtle\x12\x17\n\x0f\x61n_int_enum_raw\x18\x06 \x01(\x11\x12\x0f\n\x07\x61_float\x18\x07 \x01(\x01\x12\x33\n\x13\x61_float_enum_mapped\x18\x08 \x01(\x0e\x32\x16.nifake_grpc.FloatEnum\x12\x18\n\x10\x61_float_enum_raw\x18\t \x01(\x01\x12\x10\n\x08\x61n_array\x18\n \x03(\x01\x12\x10\n\x08\x61_string\x18\x0b \x01(\t\"\xa5\x01\n\x1cSetAttributeViBooleanRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x14\n\x0c\x63hannel_name\x18\x02 \x01(\t\x12\x32\n\x0c\x61ttribute_id\x18\x03 \x01(\x0e\x32\x1c.nifake_grpc.NiFakeAttribute\x12\x17\n\x0f\x61ttribute_value\x18\x04 \x01(\x08\"/\n\x1dSetAttributeViBooleanResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\"\x85\x02\n\x1aSetAttributeViInt32Request\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x14\n\x0c\x63hannel_name\x18\x02 \x01(\t\x12\x32\n\x0c\x61ttribute_id\x18\x03 \x01(\x0e\x32\x1c.nifake_grpc.NiFakeAttribute\x12\x42\n\x0f\x61ttribute_value\x18\x04 \x01(\x0e\x32\'.nifake_grpc.NiFakeInt32AttributeValuesH\x00\x12\x1d\n\x13\x61ttribute_value_raw\x18\x05 \x01(\x11H\x00\x42\x16\n\x14\x61ttribute_value_enum\"-\n\x1bSetAttributeViInt32Response\x12\x0e\n\x06status\x18\x01 \x01(\x05\"\xa7\x01\n\x1aSetAttributeViInt64Request\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x14\n\x0c\x63hannel_name\x18\x02 \x01(\t\x12\x32\n\x0c\x61ttribute_id\x18\x03 \x01(\x0e\x32\x1c.nifake_grpc.NiFakeAttribute\x12\x1b\n\x13\x61ttribute_value_raw\x18\x04 \x01(\x03\"-\n\x1bSetAttributeViInt64Response\x12\x0e\n\x06status\x18\x01 \x01(\x05\"\xd9\x02\n\x1bSetAttributeViReal64Request\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x14\n\x0c\x63hannel_name\x18\x02 \x01(\t\x12\x32\n\x0c\x61ttribute_id\x18\x03 \x01(\x0e\x32\x1c.nifake_grpc.NiFakeAttribute\x12\x43\n\x0f\x61ttribute_value\x18\x04 \x01(\x0e\x32(.nifake_grpc.NiFakeReal64AttributeValuesH\x00\x12P\n\x16\x61ttribute_value_mapped\x18\x05 \x01(\x0e\x32..nifake_grpc.NiFakeReal64AttributeValuesMappedH\x00\x12\x1d\n\x13\x61ttribute_value_raw\x18\x06 \x01(\x01H\x00\x42\x16\n\x14\x61ttribute_value_enum\".\n\x1cSetAttributeViReal64Response\x12\x0e\n\x06status\x18\x01 \x01(\x05\"\xa8\x01\n\x1bSetAttributeViStringRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x14\n\x0c\x63hannel_name\x18\x02 \x01(\t\x12\x32\n\x0c\x61ttribute_id\x18\x03 \x01(\x0e\x32\x1c.nifake_grpc.NiFakeAttribute\x12\x1b\n\x13\x61ttribute_value_raw\x18\x04 \x01(\t\".\n\x1cSetAttributeViStringResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\"a\n\x17TwoInputFunctionRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x10\n\x08\x61_number\x18\x02 \x01(\x01\x12\x10\n\x08\x61_string\x18\x03 \x01(\t\"*\n\x18TwoInputFunctionResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\"J\n\x15Use64BitNumberRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\r\n\x05input\x18\x02 \x01(\x03\"8\n\x16Use64BitNumberResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x0e\n\x06output\x18\x02 \x01(\x03\"L\n\x14WriteWaveformRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x10\n\x08waveform\x18\x02 \x03(\x01\"\'\n\x15WriteWaveformResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\"e\n\x14SetCustomTypeRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12)\n\x02\x63s\x18\x02 \x01(\x0b\x32\x1d.nifake_grpc.FakeCustomStruct\"\'\n\x15SetCustomTypeResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\"j\n\x19SetCustomTypeArrayRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12)\n\x02\x63s\x18\x02 \x03(\x0b\x32\x1d.nifake_grpc.FakeCustomStruct\",\n\x1aSetCustomTypeArrayResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\":\n\x14GetCustomTypeRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\"R\n\x15GetCustomTypeResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12)\n\x02\x63s\x18\x02 \x01(\x0b\x32\x1d.nifake_grpc.FakeCustomStruct\"[\n\x19GetCustomTypeArrayRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x1a\n\x12number_of_elements\x18\x02 \x01(\x11\"W\n\x1aGetCustomTypeArrayResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12)\n\x02\x63s\x18\x02 \x03(\x0b\x32\x1d.nifake_grpc.FakeCustomStruct\"[\n#GetAnIviDanceWithATwistArrayRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x10\n\x08\x61_string\x18\x02 \x01(\t\"^\n$GetAnIviDanceWithATwistArrayResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x11\n\tarray_out\x18\x02 \x03(\x11\x12\x13\n\x0b\x61\x63tual_size\x18\x03 \x01(\x11\"J\n$GetAnIviDanceWithATwistStringRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\"^\n%GetAnIviDanceWithATwistStringResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x10\n\x08\x61_string\x18\x02 \x01(\t\x12\x13\n\x0b\x61\x63tual_size\x18\x03 \x01(\x11\"N\n\x17\x44oubleAllTheNumsRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x0f\n\x07numbers\x18\x02 \x03(\x01\"*\n\x18\x44oubleAllTheNumsResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\"[\n%AcceptListOfDurationsInSecondsRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x0e\n\x06\x64\x65lays\x18\x02 \x03(\x01\"8\n&AcceptListOfDurationsInSecondsResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\"D\n\x1eReturnDurationInSecondsRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\"D\n\x1fReturnDurationInSecondsResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x11\n\ttimedelta\x18\x02 \x01(\x01\"g\n%ReturnListOfDurationsInSecondsRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x1a\n\x12number_of_elements\x18\x02 \x01(\x11\"L\n&ReturnListOfDurationsInSecondsResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x12\n\ntimedeltas\x18\x02 \x03(\x01\"9\n\x13\x43onfigureAbcRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\"&\n\x14\x43onfigureAbcResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\"\x8d\x02\n\x15\x43onfigureEnumsRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x30\n\x0csample_count\x18\x02 \x01(\x0e\x32\x18.nifake_grpc.SampleCountH\x00\x12\x1a\n\x10sample_count_raw\x18\x03 \x01(\x11H\x00\x12\x36\n\x0fsample_interval\x18\x04 \x01(\x0e\x32\x1b.nifake_grpc.SampleIntervalH\x01\x12\x1d\n\x13sample_interval_raw\x18\x05 \x01(\x01H\x01\x42\x13\n\x11sample_count_enumB\x16\n\x14sample_interval_enum\"(\n\x16\x43onfigureEnumsResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\"Q\n+ExportAttributeConfigurationBufferExRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\"U\n,ExportAttributeConfigurationBufferExResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x15\n\rconfiguration\x18\x02 \x01(\x0c\"h\n+ImportAttributeConfigurationBufferExRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x15\n\rconfiguration\x18\x02 \x01(\x0c\">\n,ImportAttributeConfigurationBufferExResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\"x\n\x1a\x46\x65tchWithCustomSizeRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x1b\n\x13number_of_waveforms\x18\x02 \x01(\x11\x12\x19\n\x11number_of_samples\x18\x03 \x01(\x11\"D\n\x1b\x46\x65tchWithCustomSizeResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x15\n\rwaveform_data\x18\x02 \x03(\x01\"\xbf\x01\n)GetParameterWithOverriddenGrpcNameRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x31\n\x12\x65num_parameter_raw\x18\x02 \x01(\x0e\x32\x13.nifake_grpc.TurtleH\x00\x12 \n\x16\x65num_parameter_raw_raw\x18\x03 \x01(\x11H\x00\x42\x19\n\x17\x65num_parameter_raw_enum\"Z\n*GetParameterWithOverriddenGrpcNameResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x1c\n\x14overridden_parameter\x18\x02 \x01(\x11\"`\n:IviDanceWithTwistWithMultipleArraysAndOneBufferSizeRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\"\x9a\x01\n;IviDanceWithTwistWithMultipleArraysAndOneBufferSizeResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x0e\n\x06\x61rray1\x18\x02 \x03(\x11\x12\x0e\n\x06\x61rray2\x18\x03 \x03(\x11\x12\x0e\n\x06\x61rray3\x18\x04 \x03(\x11\x12\x1b\n\x13\x61\x63tual_num_elements\x18\x05 \x01(\x11\"M\n\'FunctionWithOverriddenGrpcName2xRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\":\n(FunctionWithOverriddenGrpcName2xResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\"c\n&StringValuedEnumNoEnumGeneratedRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x15\n\ra_string_enum\x18\x02 \x01(\t\"9\n\'StringValuedEnumNoEnumGeneratedResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\"P\n*IviDanceWithATwistCalculatedSizeOutRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\"\x8e\x01\n+IviDanceWithATwistCalculatedSizeOutResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x0c\n\x04\x64\x61ta\x18\x02 \x03(\r\x12\x1c\n\x14\x61\x63tual_num_waveforms\x18\x03 \x01(\x11\x12#\n\x1b\x61\x63tual_samples_per_waveform\x18\x04 \x01(\x11\"f\n)ImportAttributeConfigurationBufferRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x15\n\rconfiguration\x18\x02 \x01(\x0c\"<\n*ImportAttributeConfigurationBufferResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\"O\n)ExportAttributeConfigurationBufferRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\"S\n*ExportAttributeConfigurationBufferResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x15\n\rconfiguration\x18\x02 \x01(\x0c\"B\n\x12\x43ontrol4022Request\x12\x15\n\rresource_name\x18\x01 \x01(\t\x12\x15\n\rconfiguration\x18\x02 \x01(\x11\"%\n\x13\x43ontrol4022Response\x12\x0e\n\x06status\x18\x01 \x01(\x05\"c\n\x1b\x41\x63\x63\x65ptViSessionArrayRequest\x12\x15\n\rsession_count\x18\x01 \x01(\r\x12-\n\rsession_array\x18\x02 \x03(\x0b\x32\x16.nidevice_grpc.Session\".\n\x1c\x41\x63\x63\x65ptViSessionArrayResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\"W\n\x1a\x41\x63\x63\x65ptViUInt32ArrayRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x15\n\ru_int32_array\x18\x02 \x03(\r\"-\n\x1b\x41\x63\x63\x65ptViUInt32ArrayResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\"q\n\x1d\x42oolArrayInputFunctionRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x1a\n\x12number_of_elements\x18\x02 \x01(\x11\x12\x10\n\x08\x61n_array\x18\x03 \x03(\x08\"0\n\x1e\x42oolArrayInputFunctionResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\"H\n\x12\x43loseExtCalRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x0e\n\x06\x61\x63tion\x18\x02 \x01(\x11\"%\n\x13\x43loseExtCalResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\"E\n\x1f\x43ommandWithReservedParamRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\"2\n CommandWithReservedParamResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\"Z\n\x1e\x43reateConfigurationListRequest\x12\x38\n\x12list_attribute_ids\x18\x01 \x03(\x0e\x32\x1c.nifake_grpc.NiFakeAttribute\"1\n\x1f\x43reateConfigurationListResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\"k\n\"CustomNestedStructRoundtripRequest\x12\x45\n\x15nested_custom_type_in\x18\x01 \x01(\x0b\x32&.nifake_grpc.CustomStructNestedTypedef\"}\n#CustomNestedStructRoundtripResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x46\n\x16nested_custom_type_out\x18\x02 \x01(\x0b\x32&.nifake_grpc.CustomStructNestedTypedef\"\x1f\n\x1dGetBitfieldAsEnumArrayRequest\"o\n\x1eGetBitfieldAsEnumArrayResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12*\n\x0b\x66lags_array\x18\x02 \x03(\x0e\x32\x15.nifake_grpc.Bitfield\x12\x11\n\tflags_raw\x18\x03 \x01(\x03\"U\n/GetAnIviDanceWithATwistArrayOfCustomTypeRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\"\x89\x01\n0GetAnIviDanceWithATwistArrayOfCustomTypeResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x30\n\tarray_out\x18\x02 \x03(\x0b\x32\x1d.nifake_grpc.FakeCustomStruct\x12\x13\n\x0b\x61\x63tual_size\x18\x03 \x01(\x11\"D\n1GetAnIviDanceWithATwistArrayWithInputArrayRequest\x12\x0f\n\x07\x64\x61ta_in\x18\x01 \x03(\x11\"l\n2GetAnIviDanceWithATwistArrayWithInputArrayResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x11\n\tarray_out\x18\x02 \x03(\x11\x12\x13\n\x0b\x61\x63tual_size\x18\x03 \x01(\x11\")\n\'GetAnIviDanceWithATwistByteArrayRequest\"b\n(GetAnIviDanceWithATwistByteArrayResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x11\n\tarray_out\x18\x02 \x01(\x0c\x12\x13\n\x0b\x61\x63tual_size\x18\x03 \x01(\x11\"/\n-GetAnIviDanceWithATwistStringStrlenBugRequest\"i\n.GetAnIviDanceWithATwistStringStrlenBugResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x12\n\nstring_out\x18\x02 \x01(\t\x12\x13\n\x0b\x61\x63tual_size\x18\x03 \x01(\x11\"F\n GetArraySizeForCustomCodeRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\"E\n!GetArraySizeForCustomCodeResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x10\n\x08size_out\x18\x02 \x01(\x11\"W\n\x1eGetArrayViUInt8WithEnumRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x11\n\tarray_len\x18\x02 \x01(\x11\"\x8b\x01\n\x1fGetArrayViUInt8WithEnumResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x39\n\x11u_int8_enum_array\x18\x02 \x03(\x0e\x32\x1e.nifake_grpc.GrpcColorOverride\x12\x1d\n\x15u_int8_enum_array_raw\x18\x03 \x01(\x0c\"7\n\x11GetViUInt8Request\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\"<\n\x12GetViUInt8Response\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x16\n\x0e\x61_uint8_number\x18\x02 \x01(\r\"O\n\x16GetViInt32ArrayRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x11\n\tarray_len\x18\x02 \x01(\x11\">\n\x17GetViInt32ArrayResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x13\n\x0bint32_array\x18\x02 \x03(\x11\"P\n\x17GetViUInt32ArrayRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x11\n\tarray_len\x18\x02 \x01(\x11\"A\n\x18GetViUInt32ArrayResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x15\n\ru_int32_array\x18\x02 \x03(\r\"\x92\x01\n(MethodUsingEnumWithGrpcNameValuesRequest\x12\x39\n\nusing_enum\x18\x01 \x01(\x0e\x32#.nifake_grpc.EnumWithGrpcNameValuesH\x00\x12\x18\n\x0eusing_enum_raw\x18\x02 \x01(\x11H\x00\x42\x11\n\x0fusing_enum_enum\";\n)MethodUsingEnumWithGrpcNameValuesResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\"$\n\"MethodWithGetLastErrorParamRequest\"M\n#MethodWithGetLastErrorParamResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x16\n\nlast_error\x18\x02 \x01(\tB\x02\x18\x01\"6\n\x1eMethodWithGrpcOnlyParamRequest\x12\x14\n\x0csimple_param\x18\x01 \x01(\x11\"J\n\x1fMethodWithGrpcOnlyParamResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x17\n\x0fgrpc_only_param\x18\x02 \x01(\x11\"-\n+MethodUsingWholeAndFractionalNumbersRequest\"\xf1\x01\n,MethodUsingWholeAndFractionalNumbersResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x35\n\x0cwhole_number\x18\x02 \x01(\x0e\x32\x1f.nifake_grpc.DecimalWholeNumber\x12\x18\n\x10whole_number_raw\x18\x03 \x01(\x11\x12\x41\n\x18\x66ractional_number_mapped\x18\x04 \x01(\x0e\x32\x1f.nifake_grpc.DecimalMixedNumber\x12\x1d\n\x15\x66ractional_number_raw\x18\x05 \x01(\x01\"&\n$MethodUsingWholeMappedNumbersRequest\"\x95\x01\n%MethodUsingWholeMappedNumbersResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x42\n\x13whole_number_mapped\x18\x02 \x01(\x0e\x32%.nifake_grpc.DecimalWholeNumberMapped\x12\x18\n\x10whole_number_raw\x18\x03 \x01(\x01\";\n MethodWithGrpcFieldNumberRequest\x12\x17\n\x0f\x61ttribute_value\x18\x05 \x01(\x11\"3\n!MethodWithGrpcFieldNumberResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\">\n#MethodWithProtoOnlyParameterRequest\x12\x17\n\x0f\x61ttribute_value\x18\x01 \x01(\x11\"6\n$MethodWithProtoOnlyParameterResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\"\"\n ReadDataWithInOutIviTwistRequest\"V\n!ReadDataWithInOutIviTwistResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x0c\n\x04\x64\x61ta\x18\x02 \x03(\x11\x12\x13\n\x0b\x62uffer_size\x18\x03 \x01(\x11\".\n,ReadDataWithMultipleIviTwistParamSetsRequest\"\x9b\x01\n-ReadDataWithMultipleIviTwistParamSetsResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x11\n\tarray_out\x18\x02 \x03(\x11\x12\x13\n\x0b\x61\x63tual_size\x18\x03 \x01(\x11\x12\x17\n\x0fother_array_out\x18\x04 \x03(\x11\x12\x19\n\x11other_actual_size\x18\x05 \x01(\x11\"^\n\x11InitExtCalRequest\x12\x14\n\x0csession_name\x18\x01 \x01(\t\x12\x15\n\rresource_name\x18\x02 \x01(\t\x12\x1c\n\x14\x63\x61libration_password\x18\x03 \x01(\t\"H\n\x12InitExtCalResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\"\n\x02vi\x18\x02 \x01(\x0b\x32\x16.nidevice_grpc.Session\"|\n\x16InitWithVarArgsRequest\x12\x14\n\x0csession_name\x18\x01 \x01(\t\x12\x15\n\rresource_name\x18\x02 \x01(\t\x12\x35\n\x0fname_and_turtle\x18\x03 \x03(\x0b\x32\x1c.nifake_grpc.StringAndTurtle\"M\n\x17InitWithVarArgsResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\"\n\x02vi\x18\x02 \x01(\x0b\x32\x16.nidevice_grpc.Session\"\xc3\x01\n)MultipleArraysSameSizeWithOptionalRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x0f\n\x07values1\x18\x02 \x03(\x01\x12\x0f\n\x07values2\x18\x03 \x03(\x01\x12\x0f\n\x07values3\x18\x04 \x03(\x01\x12\x0f\n\x07values4\x18\x05 \x03(\x01\x12.\n\x07values5\x18\x06 \x03(\x0b\x32\x1d.nifake_grpc.FakeCustomStruct\"<\n*MultipleArraysSameSizeWithOptionalResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\"l\n UseATwoDimensionParameterRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\r\n\x05\x61rray\x18\x02 \x03(\x11\x12\x15\n\rarray_lengths\x18\x03 \x03(\x11\"3\n!UseATwoDimensionParameterResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\"t\n ViUInt8ArrayInputFunctionRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x1a\n\x12number_of_elements\x18\x02 \x01(\x11\x12\x10\n\x08\x61n_array\x18\x03 \x01(\x0c\"3\n!ViUInt8ArrayInputFunctionResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\"c\n!ViUInt8ArrayOutputFunctionRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x1a\n\x12number_of_elements\x18\x02 \x01(\x11\"F\n\"ViUInt8ArrayOutputFunctionResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x10\n\x08\x61n_array\x18\x02 \x01(\x0c\"X\n ViInt16ArrayInputFunctionRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x10\n\x08\x61n_array\x18\x02 \x03(\x11\"3\n!ViInt16ArrayInputFunctionResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05*\x9e\x05\n\x0fNiFakeAttribute\x12 \n\x1cNIFAKE_ATTRIBUTE_UNSPECIFIED\x10\x00\x12&\n NIFAKE_ATTRIBUTE_READ_WRITE_BOOL\x10\xc0\x84=\x12(\n\"NIFAKE_ATTRIBUTE_READ_WRITE_DOUBLE\x10\xc1\x84=\x12(\n\"NIFAKE_ATTRIBUTE_READ_WRITE_STRING\x10\xc2\x84=\x12\'\n!NIFAKE_ATTRIBUTE_READ_WRITE_COLOR\x10\xc3\x84=\x12)\n#NIFAKE_ATTRIBUTE_READ_WRITE_INTEGER\x10\xc4\x84=\x12/\n)NIFAKE_ATTRIBUTE_FLOAT_ENUM_NAME_OVERRIDE\x10\xc5\x84=\x12\'\n!NIFAKE_ATTRIBUTE_READ_WRITE_INT64\x10\xc6\x84=\x12\x37\n1NIFAKE_ATTRIBUTE_READ_WRITE_DOUBLE_WITH_CONVERTER\x10\xc7\x84=\x12\x38\n2NIFAKE_ATTRIBUTE_READ_WRITE_INTEGER_WITH_CONVERTER\x10\xc8\x84=\x12\x41\n;NIFAKE_ATTRIBUTE_READ_WRITE_DOUBLE_WITH_REPEATED_CAPABILITY\x10\xc9\x84=\x12<\n6NIFAKE_ATTRIBUTE_READ_WRITE_STRING_REPEATED_CAPABILITY\x10\xca\x84=\x12#\n\x1dNIFAKE_ATTRIBUTE_SAMPLE_COUNT\x10\xcc\x84=\x12&\n NIFAKE_ATTRIBUTE_SAMPLE_INTERVAL\x10\xcd\x84=*\xb2\x01\n\x11GrpcColorOverride\x12#\n\x1fGRPC_COLOR_OVERRIDE_UNSPECIFIED\x10\x00\x12\x1b\n\x17GRPC_COLOR_OVERRIDE_RED\x10\x01\x12\x1c\n\x18GRPC_COLOR_OVERRIDE_BLUE\x10\x02\x12\x1e\n\x1aGRPC_COLOR_OVERRIDE_YELLOW\x10\x05\x12\x1d\n\x19GRPC_COLOR_OVERRIDE_BLACK\x10**\xc8\x01\n\tFloatEnum\x12\x1a\n\x16\x46LOAT_ENUM_UNSPECIFIED\x10\x00\x12\x1f\n\x1b\x46LOAT_ENUM_THREE_POINT_FIVE\x10\x01\x12\x1e\n\x1a\x46LOAT_ENUM_FOUR_POINT_FIVE\x10\x02\x12\x1e\n\x1a\x46LOAT_ENUM_FIVE_POINT_FIVE\x10\x03\x12\x1d\n\x19\x46LOAT_ENUM_SIX_POINT_FIVE\x10\x04\x12\x1f\n\x1b\x46LOAT_ENUM_SEVEN_POINT_FIVE\x10\x05*`\n\x06Turtle\x12\x13\n\x0fTURTLE_LEONARDO\x10\x00\x12\x14\n\x10TURTLE_DONATELLO\x10\x01\x12\x12\n\x0eTURTLE_RAPHAEL\x10\x02\x12\x17\n\x13TURTLE_MICHELANGELO\x10\x03*\x80\x01\n\rMobileOSNames\x12\x1f\n\x1bMOBILE_OS_NAMES_UNSPECIFIED\x10\x00\x12\x1b\n\x17MOBILE_OS_NAMES_ANDROID\x10\x01\x12\x17\n\x13MOBILE_OS_NAMES_IOS\x10\x02\x12\x18\n\x14MOBILE_OS_NAMES_NONE\x10\x03*x\n\x08\x42itfield\x12\x18\n\x14\x42ITFIELD_UNSPECIFIED\x10\x00\x12\x13\n\x0f\x42ITFIELD_FLAG_A\x10\x01\x12\x13\n\x0f\x42ITFIELD_FLAG_B\x10\x02\x12\x13\n\x0f\x42ITFIELD_FLAG_C\x10\x04\x12\x13\n\x0f\x42ITFIELD_FLAG_D\x10\x08*\x88\x01\n\x12\x44\x65\x63imalWholeNumber\x12\x1d\n\x19\x44\x45\x43IMAL_WHOLE_NUMBER_ZERO\x10\x00\x12.\n!DECIMAL_WHOLE_NUMBER_NEGATIVE_ONE\x10\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x12#\n\x1f\x44\x45\x43IMAL_WHOLE_NUMBER_TWENTY_TWO\x10\x16*\xc7\x01\n\x18\x44\x65\x63imalWholeNumberMapped\x12+\n\'DECIMAL_WHOLE_NUMBER_MAPPED_UNSPECIFIED\x10\x00\x12$\n DECIMAL_WHOLE_NUMBER_MAPPED_ZERO\x10\x01\x12,\n(DECIMAL_WHOLE_NUMBER_MAPPED_NEGATIVE_ONE\x10\x02\x12*\n&DECIMAL_WHOLE_NUMBER_MAPPED_TWENTY_TWO\x10\x03*\xd7\x02\n\x12\x44\x65\x63imalMixedNumber\x12$\n DECIMAL_MIXED_NUMBER_UNSPECIFIED\x10\x00\x12#\n\x1f\x44\x45\x43IMAL_MIXED_NUMBER_TWENTY_TWO\x10\x01\x12&\n\"DECIMAL_MIXED_NUMBER_TWO_POINT_TWO\x10\x02\x12\'\n#DECIMAL_MIXED_NUMBER_NEGATIVE_THREE\x10\x03\x12#\n\x1f\x44\x45\x43IMAL_MIXED_NUMBER_MAX_INT_32\x10\x04\x12,\n(DECIMAL_MIXED_NUMBER_MAX_INT_32_PLUS_ONE\x10\x05\x12#\n\x1f\x44\x45\x43IMAL_MIXED_NUMBER_MIN_INT_32\x10\x06\x12-\n)DECIMAL_MIXED_NUMBER_MIN_INT_32_MINUS_ONE\x10\x07*\x9e\x01\n\x16\x45numWithGrpcNameValues\x12*\n&ENUM_WITH_GRPC_NAME_VALUES_UNSPECIFIED\x10\x00\x12\x34\n0ENUM_WITH_GRPC_NAME_VALUES_ALTERED_GRPC_NAME_ONE\x10\x01\x12\"\n\x1e\x45NUM_WITH_GRPC_NAME_VALUES_TWO\x10\x02*5\n\x0bSampleCount\x12&\n\"SAMPLE_COUNT_SAMPLE_COUNT_INFINITE\x10\x00*Z\n\x0eSampleInterval\x12\x1f\n\x1bSAMPLE_INTERVAL_UNSPECIFIED\x10\x00\x12\'\n\x1aSAMPLE_INTERVAL_AUTO_DELAY\x10\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01*\xa1\x02\n\x1aNiFakeInt32AttributeValues\x12\x1c\n\x18NIFAKE_INT32_UNSPECIFIED\x10\x00\x12(\n$NIFAKE_INT32_GRPC_COLOR_OVERRIDE_RED\x10\x01\x12)\n%NIFAKE_INT32_GRPC_COLOR_OVERRIDE_BLUE\x10\x02\x12+\n\'NIFAKE_INT32_GRPC_COLOR_OVERRIDE_YELLOW\x10\x05\x12*\n&NIFAKE_INT32_GRPC_COLOR_OVERRIDE_BLACK\x10*\x12\x33\n/NIFAKE_INT32_SAMPLE_COUNT_SAMPLE_COUNT_INFINITE\x10\x00\x1a\x02\x10\x01*s\n\x1bNiFakeReal64AttributeValues\x12\x1d\n\x19NIFAKE_REAL64_UNSPECIFIED\x10\x00\x12\x35\n(NIFAKE_REAL64_SAMPLE_INTERVAL_AUTO_DELAY\x10\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01*\xb0\x02\n!NiFakeReal64AttributeValuesMapped\x12$\n NIFAKE_REAL64_MAPPED_UNSPECIFIED\x10\x00\x12-\n)NIFAKE_REAL64_FLOAT_ENUM_THREE_POINT_FIVE\x10\x01\x12,\n(NIFAKE_REAL64_FLOAT_ENUM_FOUR_POINT_FIVE\x10\x02\x12,\n(NIFAKE_REAL64_FLOAT_ENUM_FIVE_POINT_FIVE\x10\x03\x12+\n\'NIFAKE_REAL64_FLOAT_ENUM_SIX_POINT_FIVE\x10\x04\x12-\n)NIFAKE_REAL64_FLOAT_ENUM_SEVEN_POINT_FIVE\x10\x05\x32\xa6Z\n\x06NiFake\x12>\n\x05\x41\x62ort\x12\x19.nifake_grpc.AbortRequest\x1a\x1a.nifake_grpc.AbortResponse\x12t\n\x17\x42oolArrayOutputFunction\x12+.nifake_grpc.BoolArrayOutputFunctionRequest\x1a,.nifake_grpc.BoolArrayOutputFunctionResponse\x12>\n\x05\x43lose\x12\x19.nifake_grpc.CloseRequest\x1a\x1a.nifake_grpc.CloseResponse\x12t\n\x17\x45numArrayOutputFunction\x12+.nifake_grpc.EnumArrayOutputFunctionRequest\x1a,.nifake_grpc.EnumArrayOutputFunctionResponse\x12\x86\x01\n\x1d\x45numInputFunctionWithDefaults\x12\x31.nifake_grpc.EnumInputFunctionWithDefaultsRequest\x1a\x32.nifake_grpc.EnumInputFunctionWithDefaultsResponse\x12\xaa\x01\n)StringValuedEnumInputFunctionWithDefaults\x12=.nifake_grpc.StringValuedEnumInputFunctionWithDefaultsRequest\x1a>.nifake_grpc.StringValuedEnumInputFunctionWithDefaultsResponse\x12S\n\x0c\x45rrorMessage\x12 .nifake_grpc.ErrorMessageRequest\x1a!.nifake_grpc.ErrorMessageResponse\x12V\n\rFetchWaveform\x12!.nifake_grpc.FetchWaveformRequest\x1a\".nifake_grpc.FetchWaveformResponse\x12P\n\x0bGetABoolean\x12\x1f.nifake_grpc.GetABooleanRequest\x1a .nifake_grpc.GetABooleanResponse\x12M\n\nGetANumber\x12\x1e.nifake_grpc.GetANumberRequest\x1a\x1f.nifake_grpc.GetANumberResponse\x12\x83\x01\n\x1cGetAStringOfFixedMaximumSize\x12\x30.nifake_grpc.GetAStringOfFixedMaximumSizeRequest\x1a\x31.nifake_grpc.GetAStringOfFixedMaximumSizeResponse\x12q\n\x16GetAnIviDanceCharArray\x12*.nifake_grpc.GetAnIviDanceCharArrayRequest\x1a+.nifake_grpc.GetAnIviDanceCharArrayResponse\x12n\n\x15GetArrayUsingIviDance\x12).nifake_grpc.GetArrayUsingIviDanceRequest\x1a*.nifake_grpc.GetArrayUsingIviDanceResponse\x12n\n\x15GetAttributeViBoolean\x12).nifake_grpc.GetAttributeViBooleanRequest\x1a*.nifake_grpc.GetAttributeViBooleanResponse\x12h\n\x13GetAttributeViInt32\x12\'.nifake_grpc.GetAttributeViInt32Request\x1a(.nifake_grpc.GetAttributeViInt32Response\x12h\n\x13GetAttributeViInt64\x12\'.nifake_grpc.GetAttributeViInt64Request\x1a(.nifake_grpc.GetAttributeViInt64Response\x12k\n\x14GetAttributeViReal64\x12(.nifake_grpc.GetAttributeViReal64Request\x1a).nifake_grpc.GetAttributeViReal64Response\x12n\n\x15GetAttributeViSession\x12).nifake_grpc.GetAttributeViSessionRequest\x1a*.nifake_grpc.GetAttributeViSessionResponse\x12k\n\x14GetAttributeViString\x12(.nifake_grpc.GetAttributeViStringRequest\x1a).nifake_grpc.GetAttributeViStringResponse\x12\x62\n\x11GetCalDateAndTime\x12%.nifake_grpc.GetCalDateAndTimeRequest\x1a&.nifake_grpc.GetCalDateAndTimeResponse\x12Y\n\x0eGetCalInterval\x12\".nifake_grpc.GetCalIntervalRequest\x1a#.nifake_grpc.GetCalIntervalResponse\x12S\n\x0cGetEnumValue\x12 .nifake_grpc.GetEnumValueRequest\x1a!.nifake_grpc.GetEnumValueResponse\x12G\n\x08GetError\x12\x1c.nifake_grpc.GetErrorRequest\x1a\x1d.nifake_grpc.GetErrorResponse\x12\\\n\x0fInitWithOptions\x12#.nifake_grpc.InitWithOptionsRequest\x1a$.nifake_grpc.InitWithOptionsResponse\x12\x65\n\x12MultipleArrayTypes\x12&.nifake_grpc.MultipleArrayTypesRequest\x1a\'.nifake_grpc.MultipleArrayTypesResponse\x12q\n\x16MultipleArraysSameSize\x12*.nifake_grpc.MultipleArraysSameSizeRequest\x1a+.nifake_grpc.MultipleArraysSameSizeResponse\x12\x80\x01\n\x1bMultipleArraysDifferentSize\x12/.nifake_grpc.MultipleArraysDifferentSizeRequest\x1a\x30.nifake_grpc.MultipleArraysDifferentSizeResponse\x12\x83\x01\n\x1cMixedIviDanceAndLenMechanism\x12\x30.nifake_grpc.MixedIviDanceAndLenMechanismRequest\x1a\x31.nifake_grpc.MixedIviDanceAndLenMechanismResponse\x12_\n\x10OneInputFunction\x12$.nifake_grpc.OneInputFunctionRequest\x1a%.nifake_grpc.OneInputFunctionResponse\x12}\n\x1aParametersAreMultipleTypes\x12..nifake_grpc.ParametersAreMultipleTypesRequest\x1a/.nifake_grpc.ParametersAreMultipleTypesResponse\x12z\n\x19PoorlyNamedSimpleFunction\x12-.nifake_grpc.PoorlyNamedSimpleFunctionRequest\x1a..nifake_grpc.PoorlyNamedSimpleFunctionResponse\x12;\n\x04Read\x12\x18.nifake_grpc.ReadRequest\x1a\x19.nifake_grpc.ReadResponse\x12\\\n\x0fReadFromChannel\x12#.nifake_grpc.ReadFromChannelRequest\x1a$.nifake_grpc.ReadFromChannelResponse\x12t\n\x17ReturnANumberAndAString\x12+.nifake_grpc.ReturnANumberAndAStringRequest\x1a,.nifake_grpc.ReturnANumberAndAStringResponse\x12h\n\x13ReturnMultipleTypes\x12\'.nifake_grpc.ReturnMultipleTypesRequest\x1a(.nifake_grpc.ReturnMultipleTypesResponse\x12n\n\x15SetAttributeViBoolean\x12).nifake_grpc.SetAttributeViBooleanRequest\x1a*.nifake_grpc.SetAttributeViBooleanResponse\x12h\n\x13SetAttributeViInt32\x12\'.nifake_grpc.SetAttributeViInt32Request\x1a(.nifake_grpc.SetAttributeViInt32Response\x12h\n\x13SetAttributeViInt64\x12\'.nifake_grpc.SetAttributeViInt64Request\x1a(.nifake_grpc.SetAttributeViInt64Response\x12k\n\x14SetAttributeViReal64\x12(.nifake_grpc.SetAttributeViReal64Request\x1a).nifake_grpc.SetAttributeViReal64Response\x12k\n\x14SetAttributeViString\x12(.nifake_grpc.SetAttributeViStringRequest\x1a).nifake_grpc.SetAttributeViStringResponse\x12_\n\x10TwoInputFunction\x12$.nifake_grpc.TwoInputFunctionRequest\x1a%.nifake_grpc.TwoInputFunctionResponse\x12Y\n\x0eUse64BitNumber\x12\".nifake_grpc.Use64BitNumberRequest\x1a#.nifake_grpc.Use64BitNumberResponse\x12V\n\rWriteWaveform\x12!.nifake_grpc.WriteWaveformRequest\x1a\".nifake_grpc.WriteWaveformResponse\x12V\n\rSetCustomType\x12!.nifake_grpc.SetCustomTypeRequest\x1a\".nifake_grpc.SetCustomTypeResponse\x12\x65\n\x12SetCustomTypeArray\x12&.nifake_grpc.SetCustomTypeArrayRequest\x1a\'.nifake_grpc.SetCustomTypeArrayResponse\x12V\n\rGetCustomType\x12!.nifake_grpc.GetCustomTypeRequest\x1a\".nifake_grpc.GetCustomTypeResponse\x12\x65\n\x12GetCustomTypeArray\x12&.nifake_grpc.GetCustomTypeArrayRequest\x1a\'.nifake_grpc.GetCustomTypeArrayResponse\x12\x83\x01\n\x1cGetAnIviDanceWithATwistArray\x12\x30.nifake_grpc.GetAnIviDanceWithATwistArrayRequest\x1a\x31.nifake_grpc.GetAnIviDanceWithATwistArrayResponse\x12\x86\x01\n\x1dGetAnIviDanceWithATwistString\x12\x31.nifake_grpc.GetAnIviDanceWithATwistStringRequest\x1a\x32.nifake_grpc.GetAnIviDanceWithATwistStringResponse\x12_\n\x10\x44oubleAllTheNums\x12$.nifake_grpc.DoubleAllTheNumsRequest\x1a%.nifake_grpc.DoubleAllTheNumsResponse\x12\x89\x01\n\x1e\x41\x63\x63\x65ptListOfDurationsInSeconds\x12\x32.nifake_grpc.AcceptListOfDurationsInSecondsRequest\x1a\x33.nifake_grpc.AcceptListOfDurationsInSecondsResponse\x12t\n\x17ReturnDurationInSeconds\x12+.nifake_grpc.ReturnDurationInSecondsRequest\x1a,.nifake_grpc.ReturnDurationInSecondsResponse\x12\x89\x01\n\x1eReturnListOfDurationsInSeconds\x12\x32.nifake_grpc.ReturnListOfDurationsInSecondsRequest\x1a\x33.nifake_grpc.ReturnListOfDurationsInSecondsResponse\x12S\n\x0c\x43onfigureAbc\x12 .nifake_grpc.ConfigureAbcRequest\x1a!.nifake_grpc.ConfigureAbcResponse\x12Y\n\x0e\x43onfigureEnums\x12\".nifake_grpc.ConfigureEnumsRequest\x1a#.nifake_grpc.ConfigureEnumsResponse\x12\x9b\x01\n$ExportAttributeConfigurationBufferEx\x12\x38.nifake_grpc.ExportAttributeConfigurationBufferExRequest\x1a\x39.nifake_grpc.ExportAttributeConfigurationBufferExResponse\x12\x9b\x01\n$ImportAttributeConfigurationBufferEx\x12\x38.nifake_grpc.ImportAttributeConfigurationBufferExRequest\x1a\x39.nifake_grpc.ImportAttributeConfigurationBufferExResponse\x12h\n\x13\x46\x65tchWithCustomSize\x12\'.nifake_grpc.FetchWithCustomSizeRequest\x1a(.nifake_grpc.FetchWithCustomSizeResponse\x12\x95\x01\n\"GetParameterWithOverriddenGrpcName\x12\x36.nifake_grpc.GetParameterWithOverriddenGrpcNameRequest\x1a\x37.nifake_grpc.GetParameterWithOverriddenGrpcNameResponse\x12\xc8\x01\n3IviDanceWithTwistWithMultipleArraysAndOneBufferSize\x12G.nifake_grpc.IviDanceWithTwistWithMultipleArraysAndOneBufferSizeRequest\x1aH.nifake_grpc.IviDanceWithTwistWithMultipleArraysAndOneBufferSizeResponse\x12\x8f\x01\n FunctionWithOverriddenGrpcName2x\x12\x34.nifake_grpc.FunctionWithOverriddenGrpcName2xRequest\x1a\x35.nifake_grpc.FunctionWithOverriddenGrpcName2xResponse\x12\x8c\x01\n\x1fStringValuedEnumNoEnumGenerated\x12\x33.nifake_grpc.StringValuedEnumNoEnumGeneratedRequest\x1a\x34.nifake_grpc.StringValuedEnumNoEnumGeneratedResponse\x12\x98\x01\n#IviDanceWithATwistCalculatedSizeOut\x12\x37.nifake_grpc.IviDanceWithATwistCalculatedSizeOutRequest\x1a\x38.nifake_grpc.IviDanceWithATwistCalculatedSizeOutResponse\x12\x95\x01\n\"ImportAttributeConfigurationBuffer\x12\x36.nifake_grpc.ImportAttributeConfigurationBufferRequest\x1a\x37.nifake_grpc.ImportAttributeConfigurationBufferResponse\x12\x95\x01\n\"ExportAttributeConfigurationBuffer\x12\x36.nifake_grpc.ExportAttributeConfigurationBufferRequest\x1a\x37.nifake_grpc.ExportAttributeConfigurationBufferResponse\x12P\n\x0b\x43ontrol4022\x12\x1f.nifake_grpc.Control4022Request\x1a .nifake_grpc.Control4022Response\x12k\n\x14\x41\x63\x63\x65ptViSessionArray\x12(.nifake_grpc.AcceptViSessionArrayRequest\x1a).nifake_grpc.AcceptViSessionArrayResponse\x12h\n\x13\x41\x63\x63\x65ptViUInt32Array\x12\'.nifake_grpc.AcceptViUInt32ArrayRequest\x1a(.nifake_grpc.AcceptViUInt32ArrayResponse\x12q\n\x16\x42oolArrayInputFunction\x12*.nifake_grpc.BoolArrayInputFunctionRequest\x1a+.nifake_grpc.BoolArrayInputFunctionResponse\x12P\n\x0b\x43loseExtCal\x12\x1f.nifake_grpc.CloseExtCalRequest\x1a .nifake_grpc.CloseExtCalResponse\x12w\n\x18\x43ommandWithReservedParam\x12,.nifake_grpc.CommandWithReservedParamRequest\x1a-.nifake_grpc.CommandWithReservedParamResponse\x12t\n\x17\x43reateConfigurationList\x12+.nifake_grpc.CreateConfigurationListRequest\x1a,.nifake_grpc.CreateConfigurationListResponse\x12\x80\x01\n\x1b\x43ustomNestedStructRoundtrip\x12/.nifake_grpc.CustomNestedStructRoundtripRequest\x1a\x30.nifake_grpc.CustomNestedStructRoundtripResponse\x12q\n\x16GetBitfieldAsEnumArray\x12*.nifake_grpc.GetBitfieldAsEnumArrayRequest\x1a+.nifake_grpc.GetBitfieldAsEnumArrayResponse\x12\xa7\x01\n(GetAnIviDanceWithATwistArrayOfCustomType\x12<.nifake_grpc.GetAnIviDanceWithATwistArrayOfCustomTypeRequest\x1a=.nifake_grpc.GetAnIviDanceWithATwistArrayOfCustomTypeResponse\x12\xad\x01\n*GetAnIviDanceWithATwistArrayWithInputArray\x12>.nifake_grpc.GetAnIviDanceWithATwistArrayWithInputArrayRequest\x1a?.nifake_grpc.GetAnIviDanceWithATwistArrayWithInputArrayResponse\x12\x8f\x01\n GetAnIviDanceWithATwistByteArray\x12\x34.nifake_grpc.GetAnIviDanceWithATwistByteArrayRequest\x1a\x35.nifake_grpc.GetAnIviDanceWithATwistByteArrayResponse\x12\xa1\x01\n&GetAnIviDanceWithATwistStringStrlenBug\x12:.nifake_grpc.GetAnIviDanceWithATwistStringStrlenBugRequest\x1a;.nifake_grpc.GetAnIviDanceWithATwistStringStrlenBugResponse\x12z\n\x19GetArraySizeForCustomCode\x12-.nifake_grpc.GetArraySizeForCustomCodeRequest\x1a..nifake_grpc.GetArraySizeForCustomCodeResponse\x12t\n\x17GetArrayViUInt8WithEnum\x12+.nifake_grpc.GetArrayViUInt8WithEnumRequest\x1a,.nifake_grpc.GetArrayViUInt8WithEnumResponse\x12M\n\nGetViUInt8\x12\x1e.nifake_grpc.GetViUInt8Request\x1a\x1f.nifake_grpc.GetViUInt8Response\x12\\\n\x0fGetViInt32Array\x12#.nifake_grpc.GetViInt32ArrayRequest\x1a$.nifake_grpc.GetViInt32ArrayResponse\x12_\n\x10GetViUInt32Array\x12$.nifake_grpc.GetViUInt32ArrayRequest\x1a%.nifake_grpc.GetViUInt32ArrayResponse\x12\x92\x01\n!MethodUsingEnumWithGrpcNameValues\x12\x35.nifake_grpc.MethodUsingEnumWithGrpcNameValuesRequest\x1a\x36.nifake_grpc.MethodUsingEnumWithGrpcNameValuesResponse\x12\x80\x01\n\x1bMethodWithGetLastErrorParam\x12/.nifake_grpc.MethodWithGetLastErrorParamRequest\x1a\x30.nifake_grpc.MethodWithGetLastErrorParamResponse\x12t\n\x17MethodWithGrpcOnlyParam\x12+.nifake_grpc.MethodWithGrpcOnlyParamRequest\x1a,.nifake_grpc.MethodWithGrpcOnlyParamResponse\x12\x9b\x01\n$MethodUsingWholeAndFractionalNumbers\x12\x38.nifake_grpc.MethodUsingWholeAndFractionalNumbersRequest\x1a\x39.nifake_grpc.MethodUsingWholeAndFractionalNumbersResponse\x12\x86\x01\n\x1dMethodUsingWholeMappedNumbers\x12\x31.nifake_grpc.MethodUsingWholeMappedNumbersRequest\x1a\x32.nifake_grpc.MethodUsingWholeMappedNumbersResponse\x12z\n\x19MethodWithGrpcFieldNumber\x12-.nifake_grpc.MethodWithGrpcFieldNumberRequest\x1a..nifake_grpc.MethodWithGrpcFieldNumberResponse\x12\x83\x01\n\x1cMethodWithProtoOnlyParameter\x12\x30.nifake_grpc.MethodWithProtoOnlyParameterRequest\x1a\x31.nifake_grpc.MethodWithProtoOnlyParameterResponse\x12z\n\x19ReadDataWithInOutIviTwist\x12-.nifake_grpc.ReadDataWithInOutIviTwistRequest\x1a..nifake_grpc.ReadDataWithInOutIviTwistResponse\x12\x9e\x01\n%ReadDataWithMultipleIviTwistParamSets\x12\x39.nifake_grpc.ReadDataWithMultipleIviTwistParamSetsRequest\x1a:.nifake_grpc.ReadDataWithMultipleIviTwistParamSetsResponse\x12M\n\nInitExtCal\x12\x1e.nifake_grpc.InitExtCalRequest\x1a\x1f.nifake_grpc.InitExtCalResponse\x12\\\n\x0fInitWithVarArgs\x12#.nifake_grpc.InitWithVarArgsRequest\x1a$.nifake_grpc.InitWithVarArgsResponse\x12\x95\x01\n\"MultipleArraysSameSizeWithOptional\x12\x36.nifake_grpc.MultipleArraysSameSizeWithOptionalRequest\x1a\x37.nifake_grpc.MultipleArraysSameSizeWithOptionalResponse\x12z\n\x19UseATwoDimensionParameter\x12-.nifake_grpc.UseATwoDimensionParameterRequest\x1a..nifake_grpc.UseATwoDimensionParameterResponse\x12z\n\x19ViUInt8ArrayInputFunction\x12-.nifake_grpc.ViUInt8ArrayInputFunctionRequest\x1a..nifake_grpc.ViUInt8ArrayInputFunctionResponse\x12}\n\x1aViUInt8ArrayOutputFunction\x12..nifake_grpc.ViUInt8ArrayOutputFunctionRequest\x1a/.nifake_grpc.ViUInt8ArrayOutputFunctionResponse\x12z\n\x19ViInt16ArrayInputFunction\x12-.nifake_grpc.ViInt16ArrayInputFunctionRequest\x1a..nifake_grpc.ViInt16ArrayInputFunctionResponseB<\n\x10\x63om.ni.grpc.fakeB\x06NiFakeP\x01\xaa\x02\x1dNationalInstruments.Grpc.Fakeb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0cnifake.proto\x12\x0bnifake_grpc\x1a\rsession.proto\"=\n\x10\x46\x61keCustomStruct\x12\x12\n\nstruct_int\x18\x01 \x01(\x11\x12\x15\n\rstruct_double\x18\x02 \x01(\x01\"\xa0\x01\n\x19\x43ustomStructNestedTypedef\x12;\n\x14struct_custom_struct\x18\x01 \x01(\x0b\x32\x1d.nifake_grpc.FakeCustomStruct\x12\x46\n\x1cstruct_custom_struct_typedef\x18\x02 \x01(\x0b\x32 .nifake_grpc.CustomStructTypedef\"@\n\x13\x43ustomStructTypedef\x12\x12\n\nstruct_int\x18\x01 \x01(\x11\x12\x15\n\rstruct_double\x18\x02 \x01(\x01\"6\n\x13NIComplexI16_struct\x12\x0c\n\x04real\x18\x01 \x01(\x11\x12\x11\n\timaginary\x18\x02 \x01(\x11\"9\n\x16NIComplexNumber_struct\x12\x0c\n\x04real\x18\x01 \x01(\x01\x12\x11\n\timaginary\x18\x02 \x01(\x01\"<\n\x19NIComplexNumberF32_struct\x12\x0c\n\x04real\x18\x01 \x01(\x02\x12\x11\n\timaginary\x18\x02 \x01(\x02\"J\n\x0fStringAndTurtle\x12\x12\n\nstring_arg\x18\x01 \x01(\t\x12#\n\x06turtle\x18\x02 \x01(\x0e\x32\x13.nifake_grpc.Turtle\"%\n\x0f\x43ustomNamedType\x12\x12\n\nstring_arg\x18\x01 \x01(\t\"2\n\x0c\x41\x62ortRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\"\x1f\n\rAbortResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\"`\n\x1e\x42oolArrayOutputFunctionRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x1a\n\x12number_of_elements\x18\x02 \x01(\x11\"C\n\x1f\x42oolArrayOutputFunctionResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x10\n\x08\x61n_array\x18\x02 \x03(\x08\"2\n\x0c\x43loseRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\"\x1f\n\rCloseResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\"`\n\x1e\x45numArrayOutputFunctionRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x1a\n\x12number_of_elements\x18\x02 \x01(\x11\"n\n\x1f\x45numArrayOutputFunctionResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12%\n\x08\x61n_array\x18\x02 \x03(\x0e\x32\x13.nifake_grpc.Turtle\x12\x14\n\x0c\x61n_array_raw\x18\x03 \x03(\x11\"\x9c\x01\n$EnumInputFunctionWithDefaultsRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\'\n\x08\x61_turtle\x18\x02 \x01(\x0e\x32\x13.nifake_grpc.TurtleH\x00\x12\x16\n\x0c\x61_turtle_raw\x18\x03 \x01(\x11H\x00\x42\x0f\n\ra_turtle_enum\"7\n%EnumInputFunctionWithDefaultsResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\"\xce\x01\n0StringValuedEnumInputFunctionWithDefaultsRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12=\n\x17\x61_mobile_os_name_mapped\x18\x02 \x01(\x0e\x32\x1a.nifake_grpc.MobileOSNamesH\x00\x12\x1e\n\x14\x61_mobile_os_name_raw\x18\x03 \x01(\tH\x00\x42\x17\n\x15\x61_mobile_os_name_enum\"C\n1StringValuedEnumInputFunctionWithDefaultsResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\"M\n\x13\x45rrorMessageRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x12\n\nerror_code\x18\x02 \x01(\x11\"=\n\x14\x45rrorMessageResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x15\n\rerror_message\x18\x02 \x01(\t\"U\n\x14\x46\x65tchWaveformRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x19\n\x11number_of_samples\x18\x02 \x01(\x11\"`\n\x15\x46\x65tchWaveformResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x15\n\rwaveform_data\x18\x02 \x03(\x01\x12 \n\x18\x61\x63tual_number_of_samples\x18\x03 \x01(\x11\"8\n\x12GetABooleanRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\"8\n\x13GetABooleanResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x11\n\ta_boolean\x18\x02 \x01(\x08\"7\n\x11GetANumberRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\"6\n\x12GetANumberResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x10\n\x08\x61_number\x18\x02 \x01(\x11\"I\n#GetAStringOfFixedMaximumSizeRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\"H\n$GetAStringOfFixedMaximumSizeResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x10\n\x08\x61_string\x18\x02 \x01(\t\"C\n\x1dGetAnIviDanceCharArrayRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\"D\n\x1eGetAnIviDanceCharArrayResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x12\n\nchar_array\x18\x02 \x01(\t\"B\n\x1cGetArrayUsingIviDanceRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\"B\n\x1dGetArrayUsingIviDanceResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x11\n\tarray_out\x18\x02 \x03(\x01\"\x8c\x01\n\x1cGetAttributeViBooleanRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x14\n\x0c\x63hannel_name\x18\x02 \x01(\t\x12\x32\n\x0c\x61ttribute_id\x18\x03 \x01(\x0e\x32\x1c.nifake_grpc.NiFakeAttribute\"H\n\x1dGetAttributeViBooleanResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x17\n\x0f\x61ttribute_value\x18\x02 \x01(\x08\"\x8a\x01\n\x1aGetAttributeViInt32Request\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x14\n\x0c\x63hannel_name\x18\x02 \x01(\t\x12\x32\n\x0c\x61ttribute_id\x18\x03 \x01(\x0e\x32\x1c.nifake_grpc.NiFakeAttribute\"F\n\x1bGetAttributeViInt32Response\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x17\n\x0f\x61ttribute_value\x18\x02 \x01(\x11\"\x8a\x01\n\x1aGetAttributeViInt64Request\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x14\n\x0c\x63hannel_name\x18\x02 \x01(\t\x12\x32\n\x0c\x61ttribute_id\x18\x03 \x01(\x0e\x32\x1c.nifake_grpc.NiFakeAttribute\"F\n\x1bGetAttributeViInt64Response\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x17\n\x0f\x61ttribute_value\x18\x02 \x01(\x03\"\x8b\x01\n\x1bGetAttributeViReal64Request\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x14\n\x0c\x63hannel_name\x18\x02 \x01(\t\x12\x32\n\x0c\x61ttribute_id\x18\x03 \x01(\x0e\x32\x1c.nifake_grpc.NiFakeAttribute\"G\n\x1cGetAttributeViReal64Response\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x17\n\x0f\x61ttribute_value\x18\x02 \x01(\x01\"\x8c\x01\n\x1cGetAttributeViSessionRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x14\n\x0c\x63hannel_name\x18\x02 \x01(\t\x12\x32\n\x0c\x61ttribute_id\x18\x03 \x01(\x0e\x32\x1c.nifake_grpc.NiFakeAttribute\"`\n\x1dGetAttributeViSessionResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12/\n\x0f\x61ttribute_value\x18\x02 \x01(\x0b\x32\x16.nidevice_grpc.Session\"\x8b\x01\n\x1bGetAttributeViStringRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x14\n\x0c\x63hannel_name\x18\x02 \x01(\t\x12\x32\n\x0c\x61ttribute_id\x18\x03 \x01(\x0e\x32\x1c.nifake_grpc.NiFakeAttribute\"G\n\x1cGetAttributeViStringResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x17\n\x0f\x61ttribute_value\x18\x02 \x01(\t\"P\n\x18GetCalDateAndTimeRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x10\n\x08\x63\x61l_type\x18\x02 \x01(\x11\"s\n\x19GetCalDateAndTimeResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\r\n\x05month\x18\x02 \x01(\x11\x12\x0b\n\x03\x64\x61y\x18\x03 \x01(\x11\x12\x0c\n\x04year\x18\x04 \x01(\x11\x12\x0c\n\x04hour\x18\x05 \x01(\x11\x12\x0e\n\x06minute\x18\x06 \x01(\x11\";\n\x15GetCalIntervalRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\"8\n\x16GetCalIntervalResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x0e\n\x06months\x18\x02 \x01(\x11\"9\n\x13GetEnumValueRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\"w\n\x14GetEnumValueResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x12\n\na_quantity\x18\x02 \x01(\x11\x12%\n\x08\x61_turtle\x18\x03 \x01(\x0e\x32\x13.nifake_grpc.Turtle\x12\x14\n\x0c\x61_turtle_raw\x18\x04 \x01(\x11\"5\n\x0fGetErrorRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\"K\n\x10GetErrorResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x12\n\nerror_code\x18\x02 \x01(\x11\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\"\xd3\x01\n\x16InitWithOptionsRequest\x12\x14\n\x0csession_name\x18\x01 \x01(\t\x12\x15\n\rresource_name\x18\x02 \x01(\t\x12\x10\n\x08id_query\x18\x03 \x01(\x08\x12\x14\n\x0creset_device\x18\x04 \x01(\x08\x12\x15\n\roption_string\x18\x05 \x01(\t\x12M\n\x17initialization_behavior\x18\x06 \x01(\x0e\x32,.nidevice_grpc.SessionInitializationBehavior\"n\n\x17InitWithOptionsResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\"\n\x02vi\x18\x02 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x1f\n\x17new_session_initialized\x18\x03 \x01(\x08\"\x9a\x01\n\x19MultipleArrayTypesRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x19\n\x11output_array_size\x18\x02 \x01(\x11\x12\x1d\n\x15input_array_of_floats\x18\x03 \x03(\x01\x12\x1f\n\x17input_array_of_integers\x18\x04 \x03(\x11\"h\n\x1aMultipleArrayTypesResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x14\n\x0coutput_array\x18\x02 \x03(\x01\x12$\n\x1coutput_array_of_fixed_length\x18\x03 \x03(\x01\"\x87\x01\n\x1dMultipleArraysSameSizeRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x0f\n\x07values1\x18\x02 \x03(\x01\x12\x0f\n\x07values2\x18\x03 \x03(\x01\x12\x0f\n\x07values3\x18\x04 \x03(\x01\x12\x0f\n\x07values4\x18\x05 \x03(\x01\"0\n\x1eMultipleArraysSameSizeResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\"r\n\"MultipleArraysDifferentSizeRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x14\n\x0cvalues_array\x18\x02 \x03(\x01\x12\x12\n\ndata_array\x18\x03 \x03(\x11\"5\n#MultipleArraysDifferentSizeResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\"_\n#MixedIviDanceAndLenMechanismRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x14\n\x0cinput_values\x18\x02 \x03(\x01\"L\n$MixedIviDanceAndLenMechanismResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x14\n\x0coutput_array\x18\x02 \x03(\x11\"O\n\x17OneInputFunctionRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x10\n\x08\x61_number\x18\x02 \x01(\x11\"*\n\x18OneInputFunctionResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\"\xe4\x02\n!ParametersAreMultipleTypesRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x11\n\ta_boolean\x18\x02 \x01(\x08\x12\x10\n\x08\x61n_int32\x18\x03 \x01(\x11\x12\x10\n\x08\x61n_int64\x18\x04 \x01(\x03\x12*\n\x0b\x61n_int_enum\x18\x05 \x01(\x0e\x32\x13.nifake_grpc.TurtleH\x00\x12\x19\n\x0f\x61n_int_enum_raw\x18\x06 \x01(\x11H\x00\x12\x0f\n\x07\x61_float\x18\x07 \x01(\x01\x12\x35\n\x13\x61_float_enum_mapped\x18\x08 \x01(\x0e\x32\x16.nifake_grpc.FloatEnumH\x01\x12\x1a\n\x10\x61_float_enum_raw\x18\t \x01(\x01H\x01\x12\x10\n\x08\x61_string\x18\n \x01(\tB\x12\n\x10\x61n_int_enum_enumB\x13\n\x11\x61_float_enum_enum\"4\n\"ParametersAreMultipleTypesResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\"F\n PoorlyNamedSimpleFunctionRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\"3\n!PoorlyNamedSimpleFunctionResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\"G\n\x0bReadRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x14\n\x0cmaximum_time\x18\x02 \x01(\x01\"/\n\x0cReadResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x0f\n\x07reading\x18\x02 \x01(\x01\"h\n\x16ReadFromChannelRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x14\n\x0c\x63hannel_name\x18\x02 \x01(\t\x12\x14\n\x0cmaximum_time\x18\x03 \x01(\x11\":\n\x17ReadFromChannelResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x0f\n\x07reading\x18\x02 \x01(\x01\"D\n\x1eReturnANumberAndAStringRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\"U\n\x1fReturnANumberAndAStringResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x10\n\x08\x61_number\x18\x02 \x01(\x11\x12\x10\n\x08\x61_string\x18\x03 \x01(\t\"T\n\x1aReturnMultipleTypesRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x12\n\narray_size\x18\x02 \x01(\x11\"\xab\x02\n\x1bReturnMultipleTypesResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x11\n\ta_boolean\x18\x02 \x01(\x08\x12\x10\n\x08\x61n_int32\x18\x03 \x01(\x11\x12\x10\n\x08\x61n_int64\x18\x04 \x01(\x03\x12(\n\x0b\x61n_int_enum\x18\x05 \x01(\x0e\x32\x13.nifake_grpc.Turtle\x12\x17\n\x0f\x61n_int_enum_raw\x18\x06 \x01(\x11\x12\x0f\n\x07\x61_float\x18\x07 \x01(\x01\x12\x33\n\x13\x61_float_enum_mapped\x18\x08 \x01(\x0e\x32\x16.nifake_grpc.FloatEnum\x12\x18\n\x10\x61_float_enum_raw\x18\t \x01(\x01\x12\x10\n\x08\x61n_array\x18\n \x03(\x01\x12\x10\n\x08\x61_string\x18\x0b \x01(\t\"\xa5\x01\n\x1cSetAttributeViBooleanRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x14\n\x0c\x63hannel_name\x18\x02 \x01(\t\x12\x32\n\x0c\x61ttribute_id\x18\x03 \x01(\x0e\x32\x1c.nifake_grpc.NiFakeAttribute\x12\x17\n\x0f\x61ttribute_value\x18\x04 \x01(\x08\"/\n\x1dSetAttributeViBooleanResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\"\x85\x02\n\x1aSetAttributeViInt32Request\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x14\n\x0c\x63hannel_name\x18\x02 \x01(\t\x12\x32\n\x0c\x61ttribute_id\x18\x03 \x01(\x0e\x32\x1c.nifake_grpc.NiFakeAttribute\x12\x42\n\x0f\x61ttribute_value\x18\x04 \x01(\x0e\x32\'.nifake_grpc.NiFakeInt32AttributeValuesH\x00\x12\x1d\n\x13\x61ttribute_value_raw\x18\x05 \x01(\x11H\x00\x42\x16\n\x14\x61ttribute_value_enum\"-\n\x1bSetAttributeViInt32Response\x12\x0e\n\x06status\x18\x01 \x01(\x05\"\xa7\x01\n\x1aSetAttributeViInt64Request\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x14\n\x0c\x63hannel_name\x18\x02 \x01(\t\x12\x32\n\x0c\x61ttribute_id\x18\x03 \x01(\x0e\x32\x1c.nifake_grpc.NiFakeAttribute\x12\x1b\n\x13\x61ttribute_value_raw\x18\x04 \x01(\x03\"-\n\x1bSetAttributeViInt64Response\x12\x0e\n\x06status\x18\x01 \x01(\x05\"\xd9\x02\n\x1bSetAttributeViReal64Request\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x14\n\x0c\x63hannel_name\x18\x02 \x01(\t\x12\x32\n\x0c\x61ttribute_id\x18\x03 \x01(\x0e\x32\x1c.nifake_grpc.NiFakeAttribute\x12\x43\n\x0f\x61ttribute_value\x18\x04 \x01(\x0e\x32(.nifake_grpc.NiFakeReal64AttributeValuesH\x00\x12P\n\x16\x61ttribute_value_mapped\x18\x05 \x01(\x0e\x32..nifake_grpc.NiFakeReal64AttributeValuesMappedH\x00\x12\x1d\n\x13\x61ttribute_value_raw\x18\x06 \x01(\x01H\x00\x42\x16\n\x14\x61ttribute_value_enum\".\n\x1cSetAttributeViReal64Response\x12\x0e\n\x06status\x18\x01 \x01(\x05\"\xa8\x01\n\x1bSetAttributeViStringRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x14\n\x0c\x63hannel_name\x18\x02 \x01(\t\x12\x32\n\x0c\x61ttribute_id\x18\x03 \x01(\x0e\x32\x1c.nifake_grpc.NiFakeAttribute\x12\x1b\n\x13\x61ttribute_value_raw\x18\x04 \x01(\t\".\n\x1cSetAttributeViStringResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\"a\n\x17TwoInputFunctionRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x10\n\x08\x61_number\x18\x02 \x01(\x01\x12\x10\n\x08\x61_string\x18\x03 \x01(\t\"*\n\x18TwoInputFunctionResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\"J\n\x15Use64BitNumberRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\r\n\x05input\x18\x02 \x01(\x03\"8\n\x16Use64BitNumberResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x0e\n\x06output\x18\x02 \x01(\x03\"L\n\x14WriteWaveformRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x10\n\x08waveform\x18\x02 \x03(\x01\"\'\n\x15WriteWaveformResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\"\x8b\x01\n#WriteWaveformNumpyComplex128Request\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12@\n\x13waveform_data_array\x18\x02 \x03(\x0b\x32#.nifake_grpc.NIComplexNumber_struct\"6\n$WriteWaveformNumpyComplex128Response\x12\x0e\n\x06status\x18\x01 \x01(\x05\"\x8d\x01\n\"WriteWaveformNumpyComplex64Request\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x43\n\x13waveform_data_array\x18\x02 \x03(\x0b\x32&.nifake_grpc.NIComplexNumberF32_struct\"5\n#WriteWaveformNumpyComplex64Response\x12\x0e\n\x06status\x18\x01 \x01(\x05\"\x93\x01\n.WriteWaveformNumpyComplexInterleavedI16Request\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12=\n\x13waveform_data_array\x18\x02 \x03(\x0b\x32 .nifake_grpc.NIComplexI16_struct\"A\n/WriteWaveformNumpyComplexInterleavedI16Response\x12\x0e\n\x06status\x18\x01 \x01(\x05\"e\n\x14SetCustomTypeRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12)\n\x02\x63s\x18\x02 \x01(\x0b\x32\x1d.nifake_grpc.FakeCustomStruct\"\'\n\x15SetCustomTypeResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\"j\n\x19SetCustomTypeArrayRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12)\n\x02\x63s\x18\x02 \x03(\x0b\x32\x1d.nifake_grpc.FakeCustomStruct\",\n\x1aSetCustomTypeArrayResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\":\n\x14GetCustomTypeRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\"R\n\x15GetCustomTypeResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12)\n\x02\x63s\x18\x02 \x01(\x0b\x32\x1d.nifake_grpc.FakeCustomStruct\"[\n\x19GetCustomTypeArrayRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x1a\n\x12number_of_elements\x18\x02 \x01(\x11\"W\n\x1aGetCustomTypeArrayResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12)\n\x02\x63s\x18\x02 \x03(\x0b\x32\x1d.nifake_grpc.FakeCustomStruct\"[\n#GetAnIviDanceWithATwistArrayRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x10\n\x08\x61_string\x18\x02 \x01(\t\"^\n$GetAnIviDanceWithATwistArrayResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x11\n\tarray_out\x18\x02 \x03(\x11\x12\x13\n\x0b\x61\x63tual_size\x18\x03 \x01(\x11\"J\n$GetAnIviDanceWithATwistStringRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\"^\n%GetAnIviDanceWithATwistStringResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x10\n\x08\x61_string\x18\x02 \x01(\t\x12\x13\n\x0b\x61\x63tual_size\x18\x03 \x01(\x11\"N\n\x17\x44oubleAllTheNumsRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x0f\n\x07numbers\x18\x02 \x03(\x01\"*\n\x18\x44oubleAllTheNumsResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\"[\n%AcceptListOfDurationsInSecondsRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x0e\n\x06\x64\x65lays\x18\x02 \x03(\x01\"8\n&AcceptListOfDurationsInSecondsResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\"D\n\x1eReturnDurationInSecondsRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\"D\n\x1fReturnDurationInSecondsResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x11\n\ttimedelta\x18\x02 \x01(\x01\"g\n%ReturnListOfDurationsInSecondsRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x1a\n\x12number_of_elements\x18\x02 \x01(\x11\"L\n&ReturnListOfDurationsInSecondsResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x12\n\ntimedeltas\x18\x02 \x03(\x01\"9\n\x13\x43onfigureAbcRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\"&\n\x14\x43onfigureAbcResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\"\x8d\x02\n\x15\x43onfigureEnumsRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x30\n\x0csample_count\x18\x02 \x01(\x0e\x32\x18.nifake_grpc.SampleCountH\x00\x12\x1a\n\x10sample_count_raw\x18\x03 \x01(\x11H\x00\x12\x36\n\x0fsample_interval\x18\x04 \x01(\x0e\x32\x1b.nifake_grpc.SampleIntervalH\x01\x12\x1d\n\x13sample_interval_raw\x18\x05 \x01(\x01H\x01\x42\x13\n\x11sample_count_enumB\x16\n\x14sample_interval_enum\"(\n\x16\x43onfigureEnumsResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\"Q\n+ExportAttributeConfigurationBufferExRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\"U\n,ExportAttributeConfigurationBufferExResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x15\n\rconfiguration\x18\x02 \x01(\x0c\"h\n+ImportAttributeConfigurationBufferExRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x15\n\rconfiguration\x18\x02 \x01(\x0c\">\n,ImportAttributeConfigurationBufferExResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\"x\n\x1a\x46\x65tchWithCustomSizeRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x1b\n\x13number_of_waveforms\x18\x02 \x01(\x11\x12\x19\n\x11number_of_samples\x18\x03 \x01(\x11\"D\n\x1b\x46\x65tchWithCustomSizeResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x15\n\rwaveform_data\x18\x02 \x03(\x01\"\xbf\x01\n)GetParameterWithOverriddenGrpcNameRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x31\n\x12\x65num_parameter_raw\x18\x02 \x01(\x0e\x32\x13.nifake_grpc.TurtleH\x00\x12 \n\x16\x65num_parameter_raw_raw\x18\x03 \x01(\x11H\x00\x42\x19\n\x17\x65num_parameter_raw_enum\"Z\n*GetParameterWithOverriddenGrpcNameResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x1c\n\x14overridden_parameter\x18\x02 \x01(\x11\"`\n:IviDanceWithTwistWithMultipleArraysAndOneBufferSizeRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\"\x9a\x01\n;IviDanceWithTwistWithMultipleArraysAndOneBufferSizeResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x0e\n\x06\x61rray1\x18\x02 \x03(\x11\x12\x0e\n\x06\x61rray2\x18\x03 \x03(\x11\x12\x0e\n\x06\x61rray3\x18\x04 \x03(\x11\x12\x1b\n\x13\x61\x63tual_num_elements\x18\x05 \x01(\x11\"M\n\'FunctionWithOverriddenGrpcName2xRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\":\n(FunctionWithOverriddenGrpcName2xResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\"\xa9\x01\n>FunctionWith3dNumpyArrayOfNumpyComplex128InputParameterRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x43\n\x16multidimensional_array\x18\x02 \x03(\x0b\x32#.nifake_grpc.NIComplexNumber_struct\"Q\n?FunctionWith3dNumpyArrayOfNumpyComplex128InputParameterResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\"c\n&StringValuedEnumNoEnumGeneratedRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x15\n\ra_string_enum\x18\x02 \x01(\t\"9\n\'StringValuedEnumNoEnumGeneratedResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\"P\n*IviDanceWithATwistCalculatedSizeOutRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\"\x8e\x01\n+IviDanceWithATwistCalculatedSizeOutResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x0c\n\x04\x64\x61ta\x18\x02 \x03(\r\x12\x1c\n\x14\x61\x63tual_num_waveforms\x18\x03 \x01(\x11\x12#\n\x1b\x61\x63tual_samples_per_waveform\x18\x04 \x01(\x11\"f\n)ImportAttributeConfigurationBufferRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x15\n\rconfiguration\x18\x02 \x01(\x0c\"<\n*ImportAttributeConfigurationBufferResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\"O\n)ExportAttributeConfigurationBufferRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\"S\n*ExportAttributeConfigurationBufferResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x15\n\rconfiguration\x18\x02 \x01(\x0c\"B\n\x12\x43ontrol4022Request\x12\x15\n\rresource_name\x18\x01 \x01(\t\x12\x15\n\rconfiguration\x18\x02 \x01(\x11\"%\n\x13\x43ontrol4022Response\x12\x0e\n\x06status\x18\x01 \x01(\x05\"c\n\x1b\x41\x63\x63\x65ptViSessionArrayRequest\x12\x15\n\rsession_count\x18\x01 \x01(\r\x12-\n\rsession_array\x18\x02 \x03(\x0b\x32\x16.nidevice_grpc.Session\".\n\x1c\x41\x63\x63\x65ptViSessionArrayResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\"W\n\x1a\x41\x63\x63\x65ptViUInt32ArrayRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x15\n\ru_int32_array\x18\x02 \x03(\r\"-\n\x1b\x41\x63\x63\x65ptViUInt32ArrayResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\"q\n\x1d\x42oolArrayInputFunctionRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x1a\n\x12number_of_elements\x18\x02 \x01(\x11\x12\x10\n\x08\x61n_array\x18\x03 \x03(\x08\"0\n\x1e\x42oolArrayInputFunctionResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\"H\n\x12\x43loseExtCalRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x0e\n\x06\x61\x63tion\x18\x02 \x01(\x11\"%\n\x13\x43loseExtCalResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\"E\n\x1f\x43ommandWithReservedParamRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\"2\n CommandWithReservedParamResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\"Z\n\x1e\x43reateConfigurationListRequest\x12\x38\n\x12list_attribute_ids\x18\x01 \x03(\x0e\x32\x1c.nifake_grpc.NiFakeAttribute\"1\n\x1f\x43reateConfigurationListResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\"k\n\"CustomNestedStructRoundtripRequest\x12\x45\n\x15nested_custom_type_in\x18\x01 \x01(\x0b\x32&.nifake_grpc.CustomStructNestedTypedef\"}\n#CustomNestedStructRoundtripResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x46\n\x16nested_custom_type_out\x18\x02 \x01(\x0b\x32&.nifake_grpc.CustomStructNestedTypedef\"\x1f\n\x1dGetBitfieldAsEnumArrayRequest\"o\n\x1eGetBitfieldAsEnumArrayResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12*\n\x0b\x66lags_array\x18\x02 \x03(\x0e\x32\x15.nifake_grpc.Bitfield\x12\x11\n\tflags_raw\x18\x03 \x01(\x03\"U\n/GetAnIviDanceWithATwistArrayOfCustomTypeRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\"\x89\x01\n0GetAnIviDanceWithATwistArrayOfCustomTypeResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x30\n\tarray_out\x18\x02 \x03(\x0b\x32\x1d.nifake_grpc.FakeCustomStruct\x12\x13\n\x0b\x61\x63tual_size\x18\x03 \x01(\x11\"D\n1GetAnIviDanceWithATwistArrayWithInputArrayRequest\x12\x0f\n\x07\x64\x61ta_in\x18\x01 \x03(\x11\"l\n2GetAnIviDanceWithATwistArrayWithInputArrayResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x11\n\tarray_out\x18\x02 \x03(\x11\x12\x13\n\x0b\x61\x63tual_size\x18\x03 \x01(\x11\")\n\'GetAnIviDanceWithATwistByteArrayRequest\"b\n(GetAnIviDanceWithATwistByteArrayResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x11\n\tarray_out\x18\x02 \x01(\x0c\x12\x13\n\x0b\x61\x63tual_size\x18\x03 \x01(\x11\"/\n-GetAnIviDanceWithATwistStringStrlenBugRequest\"i\n.GetAnIviDanceWithATwistStringStrlenBugResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x12\n\nstring_out\x18\x02 \x01(\t\x12\x13\n\x0b\x61\x63tual_size\x18\x03 \x01(\x11\"F\n GetArraySizeForCustomCodeRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\"E\n!GetArraySizeForCustomCodeResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x10\n\x08size_out\x18\x02 \x01(\x11\"W\n\x1eGetArrayViUInt8WithEnumRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x11\n\tarray_len\x18\x02 \x01(\x11\"\x8b\x01\n\x1fGetArrayViUInt8WithEnumResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x39\n\x11u_int8_enum_array\x18\x02 \x03(\x0e\x32\x1e.nifake_grpc.GrpcColorOverride\x12\x1d\n\x15u_int8_enum_array_raw\x18\x03 \x01(\x0c\"7\n\x11GetViUInt8Request\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\"<\n\x12GetViUInt8Response\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x16\n\x0e\x61_uint8_number\x18\x02 \x01(\r\"O\n\x16GetViInt32ArrayRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x11\n\tarray_len\x18\x02 \x01(\x11\">\n\x17GetViInt32ArrayResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x13\n\x0bint32_array\x18\x02 \x03(\x11\"P\n\x17GetViUInt32ArrayRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x11\n\tarray_len\x18\x02 \x01(\x11\"A\n\x18GetViUInt32ArrayResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x15\n\ru_int32_array\x18\x02 \x03(\r\"\x92\x01\n(MethodUsingEnumWithGrpcNameValuesRequest\x12\x39\n\nusing_enum\x18\x01 \x01(\x0e\x32#.nifake_grpc.EnumWithGrpcNameValuesH\x00\x12\x18\n\x0eusing_enum_raw\x18\x02 \x01(\x11H\x00\x42\x11\n\x0fusing_enum_enum\";\n)MethodUsingEnumWithGrpcNameValuesResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\"$\n\"MethodWithGetLastErrorParamRequest\"M\n#MethodWithGetLastErrorParamResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x16\n\nlast_error\x18\x02 \x01(\tB\x02\x18\x01\"6\n\x1eMethodWithGrpcOnlyParamRequest\x12\x14\n\x0csimple_param\x18\x01 \x01(\x11\"J\n\x1fMethodWithGrpcOnlyParamResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x17\n\x0fgrpc_only_param\x18\x02 \x01(\x11\"-\n+MethodUsingWholeAndFractionalNumbersRequest\"\xf1\x01\n,MethodUsingWholeAndFractionalNumbersResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x35\n\x0cwhole_number\x18\x02 \x01(\x0e\x32\x1f.nifake_grpc.DecimalWholeNumber\x12\x18\n\x10whole_number_raw\x18\x03 \x01(\x11\x12\x41\n\x18\x66ractional_number_mapped\x18\x04 \x01(\x0e\x32\x1f.nifake_grpc.DecimalMixedNumber\x12\x1d\n\x15\x66ractional_number_raw\x18\x05 \x01(\x01\"&\n$MethodUsingWholeMappedNumbersRequest\"\x95\x01\n%MethodUsingWholeMappedNumbersResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x42\n\x13whole_number_mapped\x18\x02 \x01(\x0e\x32%.nifake_grpc.DecimalWholeNumberMapped\x12\x18\n\x10whole_number_raw\x18\x03 \x01(\x01\";\n MethodWithGrpcFieldNumberRequest\x12\x17\n\x0f\x61ttribute_value\x18\x05 \x01(\x11\"3\n!MethodWithGrpcFieldNumberResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\">\n#MethodWithProtoOnlyParameterRequest\x12\x17\n\x0f\x61ttribute_value\x18\x01 \x01(\x11\"6\n$MethodWithProtoOnlyParameterResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\"\"\n ReadDataWithInOutIviTwistRequest\"V\n!ReadDataWithInOutIviTwistResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x0c\n\x04\x64\x61ta\x18\x02 \x03(\x11\x12\x13\n\x0b\x62uffer_size\x18\x03 \x01(\x11\".\n,ReadDataWithMultipleIviTwistParamSetsRequest\"\x9b\x01\n-ReadDataWithMultipleIviTwistParamSetsResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x11\n\tarray_out\x18\x02 \x03(\x11\x12\x13\n\x0b\x61\x63tual_size\x18\x03 \x01(\x11\x12\x17\n\x0fother_array_out\x18\x04 \x03(\x11\x12\x19\n\x11other_actual_size\x18\x05 \x01(\x11\"^\n\x11InitExtCalRequest\x12\x14\n\x0csession_name\x18\x01 \x01(\t\x12\x15\n\rresource_name\x18\x02 \x01(\t\x12\x1c\n\x14\x63\x61libration_password\x18\x03 \x01(\t\"H\n\x12InitExtCalResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\"\n\x02vi\x18\x02 \x01(\x0b\x32\x16.nidevice_grpc.Session\"|\n\x16InitWithVarArgsRequest\x12\x14\n\x0csession_name\x18\x01 \x01(\t\x12\x15\n\rresource_name\x18\x02 \x01(\t\x12\x35\n\x0fname_and_turtle\x18\x03 \x03(\x0b\x32\x1c.nifake_grpc.StringAndTurtle\"M\n\x17InitWithVarArgsResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\"\n\x02vi\x18\x02 \x01(\x0b\x32\x16.nidevice_grpc.Session\"\xc3\x01\n)MultipleArraysSameSizeWithOptionalRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x0f\n\x07values1\x18\x02 \x03(\x01\x12\x0f\n\x07values2\x18\x03 \x03(\x01\x12\x0f\n\x07values3\x18\x04 \x03(\x01\x12\x0f\n\x07values4\x18\x05 \x03(\x01\x12.\n\x07values5\x18\x06 \x03(\x0b\x32\x1d.nifake_grpc.FakeCustomStruct\"<\n*MultipleArraysSameSizeWithOptionalResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\"l\n UseATwoDimensionParameterRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\r\n\x05\x61rray\x18\x02 \x03(\x11\x12\x15\n\rarray_lengths\x18\x03 \x03(\x11\"3\n!UseATwoDimensionParameterResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\"t\n ViUInt8ArrayInputFunctionRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x1a\n\x12number_of_elements\x18\x02 \x01(\x11\x12\x10\n\x08\x61n_array\x18\x03 \x01(\x0c\"3\n!ViUInt8ArrayInputFunctionResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\"c\n!ViUInt8ArrayOutputFunctionRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x1a\n\x12number_of_elements\x18\x02 \x01(\x11\"F\n\"ViUInt8ArrayOutputFunctionResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x10\n\x08\x61n_array\x18\x02 \x01(\x0c\"X\n ViInt16ArrayInputFunctionRequest\x12\"\n\x02vi\x18\x01 \x01(\x0b\x32\x16.nidevice_grpc.Session\x12\x10\n\x08\x61n_array\x18\x02 \x03(\x11\"3\n!ViInt16ArrayInputFunctionResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05*\x9e\x05\n\x0fNiFakeAttribute\x12 \n\x1cNIFAKE_ATTRIBUTE_UNSPECIFIED\x10\x00\x12&\n NIFAKE_ATTRIBUTE_READ_WRITE_BOOL\x10\xc0\x84=\x12(\n\"NIFAKE_ATTRIBUTE_READ_WRITE_DOUBLE\x10\xc1\x84=\x12(\n\"NIFAKE_ATTRIBUTE_READ_WRITE_STRING\x10\xc2\x84=\x12\'\n!NIFAKE_ATTRIBUTE_READ_WRITE_COLOR\x10\xc3\x84=\x12)\n#NIFAKE_ATTRIBUTE_READ_WRITE_INTEGER\x10\xc4\x84=\x12/\n)NIFAKE_ATTRIBUTE_FLOAT_ENUM_NAME_OVERRIDE\x10\xc5\x84=\x12\'\n!NIFAKE_ATTRIBUTE_READ_WRITE_INT64\x10\xc6\x84=\x12\x37\n1NIFAKE_ATTRIBUTE_READ_WRITE_DOUBLE_WITH_CONVERTER\x10\xc7\x84=\x12\x38\n2NIFAKE_ATTRIBUTE_READ_WRITE_INTEGER_WITH_CONVERTER\x10\xc8\x84=\x12\x41\n;NIFAKE_ATTRIBUTE_READ_WRITE_DOUBLE_WITH_REPEATED_CAPABILITY\x10\xc9\x84=\x12<\n6NIFAKE_ATTRIBUTE_READ_WRITE_STRING_REPEATED_CAPABILITY\x10\xca\x84=\x12#\n\x1dNIFAKE_ATTRIBUTE_SAMPLE_COUNT\x10\xcc\x84=\x12&\n NIFAKE_ATTRIBUTE_SAMPLE_INTERVAL\x10\xcd\x84=*\xb2\x01\n\x11GrpcColorOverride\x12#\n\x1fGRPC_COLOR_OVERRIDE_UNSPECIFIED\x10\x00\x12\x1b\n\x17GRPC_COLOR_OVERRIDE_RED\x10\x01\x12\x1c\n\x18GRPC_COLOR_OVERRIDE_BLUE\x10\x02\x12\x1e\n\x1aGRPC_COLOR_OVERRIDE_YELLOW\x10\x05\x12\x1d\n\x19GRPC_COLOR_OVERRIDE_BLACK\x10**\xc8\x01\n\tFloatEnum\x12\x1a\n\x16\x46LOAT_ENUM_UNSPECIFIED\x10\x00\x12\x1f\n\x1b\x46LOAT_ENUM_THREE_POINT_FIVE\x10\x01\x12\x1e\n\x1a\x46LOAT_ENUM_FOUR_POINT_FIVE\x10\x02\x12\x1e\n\x1a\x46LOAT_ENUM_FIVE_POINT_FIVE\x10\x03\x12\x1d\n\x19\x46LOAT_ENUM_SIX_POINT_FIVE\x10\x04\x12\x1f\n\x1b\x46LOAT_ENUM_SEVEN_POINT_FIVE\x10\x05*`\n\x06Turtle\x12\x13\n\x0fTURTLE_LEONARDO\x10\x00\x12\x14\n\x10TURTLE_DONATELLO\x10\x01\x12\x12\n\x0eTURTLE_RAPHAEL\x10\x02\x12\x17\n\x13TURTLE_MICHELANGELO\x10\x03*\x80\x01\n\rMobileOSNames\x12\x1f\n\x1bMOBILE_OS_NAMES_UNSPECIFIED\x10\x00\x12\x1b\n\x17MOBILE_OS_NAMES_ANDROID\x10\x01\x12\x17\n\x13MOBILE_OS_NAMES_IOS\x10\x02\x12\x18\n\x14MOBILE_OS_NAMES_NONE\x10\x03*x\n\x08\x42itfield\x12\x18\n\x14\x42ITFIELD_UNSPECIFIED\x10\x00\x12\x13\n\x0f\x42ITFIELD_FLAG_A\x10\x01\x12\x13\n\x0f\x42ITFIELD_FLAG_B\x10\x02\x12\x13\n\x0f\x42ITFIELD_FLAG_C\x10\x04\x12\x13\n\x0f\x42ITFIELD_FLAG_D\x10\x08*\x88\x01\n\x12\x44\x65\x63imalWholeNumber\x12\x1d\n\x19\x44\x45\x43IMAL_WHOLE_NUMBER_ZERO\x10\x00\x12.\n!DECIMAL_WHOLE_NUMBER_NEGATIVE_ONE\x10\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x12#\n\x1f\x44\x45\x43IMAL_WHOLE_NUMBER_TWENTY_TWO\x10\x16*\xc7\x01\n\x18\x44\x65\x63imalWholeNumberMapped\x12+\n\'DECIMAL_WHOLE_NUMBER_MAPPED_UNSPECIFIED\x10\x00\x12$\n DECIMAL_WHOLE_NUMBER_MAPPED_ZERO\x10\x01\x12,\n(DECIMAL_WHOLE_NUMBER_MAPPED_NEGATIVE_ONE\x10\x02\x12*\n&DECIMAL_WHOLE_NUMBER_MAPPED_TWENTY_TWO\x10\x03*\xd7\x02\n\x12\x44\x65\x63imalMixedNumber\x12$\n DECIMAL_MIXED_NUMBER_UNSPECIFIED\x10\x00\x12#\n\x1f\x44\x45\x43IMAL_MIXED_NUMBER_TWENTY_TWO\x10\x01\x12&\n\"DECIMAL_MIXED_NUMBER_TWO_POINT_TWO\x10\x02\x12\'\n#DECIMAL_MIXED_NUMBER_NEGATIVE_THREE\x10\x03\x12#\n\x1f\x44\x45\x43IMAL_MIXED_NUMBER_MAX_INT_32\x10\x04\x12,\n(DECIMAL_MIXED_NUMBER_MAX_INT_32_PLUS_ONE\x10\x05\x12#\n\x1f\x44\x45\x43IMAL_MIXED_NUMBER_MIN_INT_32\x10\x06\x12-\n)DECIMAL_MIXED_NUMBER_MIN_INT_32_MINUS_ONE\x10\x07*\x9e\x01\n\x16\x45numWithGrpcNameValues\x12*\n&ENUM_WITH_GRPC_NAME_VALUES_UNSPECIFIED\x10\x00\x12\x34\n0ENUM_WITH_GRPC_NAME_VALUES_ALTERED_GRPC_NAME_ONE\x10\x01\x12\"\n\x1e\x45NUM_WITH_GRPC_NAME_VALUES_TWO\x10\x02*5\n\x0bSampleCount\x12&\n\"SAMPLE_COUNT_SAMPLE_COUNT_INFINITE\x10\x00*Z\n\x0eSampleInterval\x12\x1f\n\x1bSAMPLE_INTERVAL_UNSPECIFIED\x10\x00\x12\'\n\x1aSAMPLE_INTERVAL_AUTO_DELAY\x10\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01*\xa1\x02\n\x1aNiFakeInt32AttributeValues\x12\x1c\n\x18NIFAKE_INT32_UNSPECIFIED\x10\x00\x12(\n$NIFAKE_INT32_GRPC_COLOR_OVERRIDE_RED\x10\x01\x12)\n%NIFAKE_INT32_GRPC_COLOR_OVERRIDE_BLUE\x10\x02\x12+\n\'NIFAKE_INT32_GRPC_COLOR_OVERRIDE_YELLOW\x10\x05\x12*\n&NIFAKE_INT32_GRPC_COLOR_OVERRIDE_BLACK\x10*\x12\x33\n/NIFAKE_INT32_SAMPLE_COUNT_SAMPLE_COUNT_INFINITE\x10\x00\x1a\x02\x10\x01*s\n\x1bNiFakeReal64AttributeValues\x12\x1d\n\x19NIFAKE_REAL64_UNSPECIFIED\x10\x00\x12\x35\n(NIFAKE_REAL64_SAMPLE_INTERVAL_AUTO_DELAY\x10\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01*\xb0\x02\n!NiFakeReal64AttributeValuesMapped\x12$\n NIFAKE_REAL64_MAPPED_UNSPECIFIED\x10\x00\x12-\n)NIFAKE_REAL64_FLOAT_ENUM_THREE_POINT_FIVE\x10\x01\x12,\n(NIFAKE_REAL64_FLOAT_ENUM_FOUR_POINT_FIVE\x10\x02\x12,\n(NIFAKE_REAL64_FLOAT_ENUM_FIVE_POINT_FIVE\x10\x03\x12+\n\'NIFAKE_REAL64_FLOAT_ENUM_SIX_POINT_FIVE\x10\x04\x12-\n)NIFAKE_REAL64_FLOAT_ENUM_SEVEN_POINT_FIVE\x10\x05\x32\xad_\n\x06NiFake\x12>\n\x05\x41\x62ort\x12\x19.nifake_grpc.AbortRequest\x1a\x1a.nifake_grpc.AbortResponse\x12t\n\x17\x42oolArrayOutputFunction\x12+.nifake_grpc.BoolArrayOutputFunctionRequest\x1a,.nifake_grpc.BoolArrayOutputFunctionResponse\x12>\n\x05\x43lose\x12\x19.nifake_grpc.CloseRequest\x1a\x1a.nifake_grpc.CloseResponse\x12t\n\x17\x45numArrayOutputFunction\x12+.nifake_grpc.EnumArrayOutputFunctionRequest\x1a,.nifake_grpc.EnumArrayOutputFunctionResponse\x12\x86\x01\n\x1d\x45numInputFunctionWithDefaults\x12\x31.nifake_grpc.EnumInputFunctionWithDefaultsRequest\x1a\x32.nifake_grpc.EnumInputFunctionWithDefaultsResponse\x12\xaa\x01\n)StringValuedEnumInputFunctionWithDefaults\x12=.nifake_grpc.StringValuedEnumInputFunctionWithDefaultsRequest\x1a>.nifake_grpc.StringValuedEnumInputFunctionWithDefaultsResponse\x12S\n\x0c\x45rrorMessage\x12 .nifake_grpc.ErrorMessageRequest\x1a!.nifake_grpc.ErrorMessageResponse\x12V\n\rFetchWaveform\x12!.nifake_grpc.FetchWaveformRequest\x1a\".nifake_grpc.FetchWaveformResponse\x12P\n\x0bGetABoolean\x12\x1f.nifake_grpc.GetABooleanRequest\x1a .nifake_grpc.GetABooleanResponse\x12M\n\nGetANumber\x12\x1e.nifake_grpc.GetANumberRequest\x1a\x1f.nifake_grpc.GetANumberResponse\x12\x83\x01\n\x1cGetAStringOfFixedMaximumSize\x12\x30.nifake_grpc.GetAStringOfFixedMaximumSizeRequest\x1a\x31.nifake_grpc.GetAStringOfFixedMaximumSizeResponse\x12q\n\x16GetAnIviDanceCharArray\x12*.nifake_grpc.GetAnIviDanceCharArrayRequest\x1a+.nifake_grpc.GetAnIviDanceCharArrayResponse\x12n\n\x15GetArrayUsingIviDance\x12).nifake_grpc.GetArrayUsingIviDanceRequest\x1a*.nifake_grpc.GetArrayUsingIviDanceResponse\x12n\n\x15GetAttributeViBoolean\x12).nifake_grpc.GetAttributeViBooleanRequest\x1a*.nifake_grpc.GetAttributeViBooleanResponse\x12h\n\x13GetAttributeViInt32\x12\'.nifake_grpc.GetAttributeViInt32Request\x1a(.nifake_grpc.GetAttributeViInt32Response\x12h\n\x13GetAttributeViInt64\x12\'.nifake_grpc.GetAttributeViInt64Request\x1a(.nifake_grpc.GetAttributeViInt64Response\x12k\n\x14GetAttributeViReal64\x12(.nifake_grpc.GetAttributeViReal64Request\x1a).nifake_grpc.GetAttributeViReal64Response\x12n\n\x15GetAttributeViSession\x12).nifake_grpc.GetAttributeViSessionRequest\x1a*.nifake_grpc.GetAttributeViSessionResponse\x12k\n\x14GetAttributeViString\x12(.nifake_grpc.GetAttributeViStringRequest\x1a).nifake_grpc.GetAttributeViStringResponse\x12\x62\n\x11GetCalDateAndTime\x12%.nifake_grpc.GetCalDateAndTimeRequest\x1a&.nifake_grpc.GetCalDateAndTimeResponse\x12Y\n\x0eGetCalInterval\x12\".nifake_grpc.GetCalIntervalRequest\x1a#.nifake_grpc.GetCalIntervalResponse\x12S\n\x0cGetEnumValue\x12 .nifake_grpc.GetEnumValueRequest\x1a!.nifake_grpc.GetEnumValueResponse\x12G\n\x08GetError\x12\x1c.nifake_grpc.GetErrorRequest\x1a\x1d.nifake_grpc.GetErrorResponse\x12\\\n\x0fInitWithOptions\x12#.nifake_grpc.InitWithOptionsRequest\x1a$.nifake_grpc.InitWithOptionsResponse\x12\x65\n\x12MultipleArrayTypes\x12&.nifake_grpc.MultipleArrayTypesRequest\x1a\'.nifake_grpc.MultipleArrayTypesResponse\x12q\n\x16MultipleArraysSameSize\x12*.nifake_grpc.MultipleArraysSameSizeRequest\x1a+.nifake_grpc.MultipleArraysSameSizeResponse\x12\x80\x01\n\x1bMultipleArraysDifferentSize\x12/.nifake_grpc.MultipleArraysDifferentSizeRequest\x1a\x30.nifake_grpc.MultipleArraysDifferentSizeResponse\x12\x83\x01\n\x1cMixedIviDanceAndLenMechanism\x12\x30.nifake_grpc.MixedIviDanceAndLenMechanismRequest\x1a\x31.nifake_grpc.MixedIviDanceAndLenMechanismResponse\x12_\n\x10OneInputFunction\x12$.nifake_grpc.OneInputFunctionRequest\x1a%.nifake_grpc.OneInputFunctionResponse\x12}\n\x1aParametersAreMultipleTypes\x12..nifake_grpc.ParametersAreMultipleTypesRequest\x1a/.nifake_grpc.ParametersAreMultipleTypesResponse\x12z\n\x19PoorlyNamedSimpleFunction\x12-.nifake_grpc.PoorlyNamedSimpleFunctionRequest\x1a..nifake_grpc.PoorlyNamedSimpleFunctionResponse\x12;\n\x04Read\x12\x18.nifake_grpc.ReadRequest\x1a\x19.nifake_grpc.ReadResponse\x12\\\n\x0fReadFromChannel\x12#.nifake_grpc.ReadFromChannelRequest\x1a$.nifake_grpc.ReadFromChannelResponse\x12t\n\x17ReturnANumberAndAString\x12+.nifake_grpc.ReturnANumberAndAStringRequest\x1a,.nifake_grpc.ReturnANumberAndAStringResponse\x12h\n\x13ReturnMultipleTypes\x12\'.nifake_grpc.ReturnMultipleTypesRequest\x1a(.nifake_grpc.ReturnMultipleTypesResponse\x12n\n\x15SetAttributeViBoolean\x12).nifake_grpc.SetAttributeViBooleanRequest\x1a*.nifake_grpc.SetAttributeViBooleanResponse\x12h\n\x13SetAttributeViInt32\x12\'.nifake_grpc.SetAttributeViInt32Request\x1a(.nifake_grpc.SetAttributeViInt32Response\x12h\n\x13SetAttributeViInt64\x12\'.nifake_grpc.SetAttributeViInt64Request\x1a(.nifake_grpc.SetAttributeViInt64Response\x12k\n\x14SetAttributeViReal64\x12(.nifake_grpc.SetAttributeViReal64Request\x1a).nifake_grpc.SetAttributeViReal64Response\x12k\n\x14SetAttributeViString\x12(.nifake_grpc.SetAttributeViStringRequest\x1a).nifake_grpc.SetAttributeViStringResponse\x12_\n\x10TwoInputFunction\x12$.nifake_grpc.TwoInputFunctionRequest\x1a%.nifake_grpc.TwoInputFunctionResponse\x12Y\n\x0eUse64BitNumber\x12\".nifake_grpc.Use64BitNumberRequest\x1a#.nifake_grpc.Use64BitNumberResponse\x12V\n\rWriteWaveform\x12!.nifake_grpc.WriteWaveformRequest\x1a\".nifake_grpc.WriteWaveformResponse\x12\x83\x01\n\x1cWriteWaveformNumpyComplex128\x12\x30.nifake_grpc.WriteWaveformNumpyComplex128Request\x1a\x31.nifake_grpc.WriteWaveformNumpyComplex128Response\x12\x80\x01\n\x1bWriteWaveformNumpyComplex64\x12/.nifake_grpc.WriteWaveformNumpyComplex64Request\x1a\x30.nifake_grpc.WriteWaveformNumpyComplex64Response\x12\xa4\x01\n\'WriteWaveformNumpyComplexInterleavedI16\x12;.nifake_grpc.WriteWaveformNumpyComplexInterleavedI16Request\x1a<.nifake_grpc.WriteWaveformNumpyComplexInterleavedI16Response\x12V\n\rSetCustomType\x12!.nifake_grpc.SetCustomTypeRequest\x1a\".nifake_grpc.SetCustomTypeResponse\x12\x65\n\x12SetCustomTypeArray\x12&.nifake_grpc.SetCustomTypeArrayRequest\x1a\'.nifake_grpc.SetCustomTypeArrayResponse\x12V\n\rGetCustomType\x12!.nifake_grpc.GetCustomTypeRequest\x1a\".nifake_grpc.GetCustomTypeResponse\x12\x65\n\x12GetCustomTypeArray\x12&.nifake_grpc.GetCustomTypeArrayRequest\x1a\'.nifake_grpc.GetCustomTypeArrayResponse\x12\x83\x01\n\x1cGetAnIviDanceWithATwistArray\x12\x30.nifake_grpc.GetAnIviDanceWithATwistArrayRequest\x1a\x31.nifake_grpc.GetAnIviDanceWithATwistArrayResponse\x12\x86\x01\n\x1dGetAnIviDanceWithATwistString\x12\x31.nifake_grpc.GetAnIviDanceWithATwistStringRequest\x1a\x32.nifake_grpc.GetAnIviDanceWithATwistStringResponse\x12_\n\x10\x44oubleAllTheNums\x12$.nifake_grpc.DoubleAllTheNumsRequest\x1a%.nifake_grpc.DoubleAllTheNumsResponse\x12\x89\x01\n\x1e\x41\x63\x63\x65ptListOfDurationsInSeconds\x12\x32.nifake_grpc.AcceptListOfDurationsInSecondsRequest\x1a\x33.nifake_grpc.AcceptListOfDurationsInSecondsResponse\x12t\n\x17ReturnDurationInSeconds\x12+.nifake_grpc.ReturnDurationInSecondsRequest\x1a,.nifake_grpc.ReturnDurationInSecondsResponse\x12\x89\x01\n\x1eReturnListOfDurationsInSeconds\x12\x32.nifake_grpc.ReturnListOfDurationsInSecondsRequest\x1a\x33.nifake_grpc.ReturnListOfDurationsInSecondsResponse\x12S\n\x0c\x43onfigureAbc\x12 .nifake_grpc.ConfigureAbcRequest\x1a!.nifake_grpc.ConfigureAbcResponse\x12Y\n\x0e\x43onfigureEnums\x12\".nifake_grpc.ConfigureEnumsRequest\x1a#.nifake_grpc.ConfigureEnumsResponse\x12\x9b\x01\n$ExportAttributeConfigurationBufferEx\x12\x38.nifake_grpc.ExportAttributeConfigurationBufferExRequest\x1a\x39.nifake_grpc.ExportAttributeConfigurationBufferExResponse\x12\x9b\x01\n$ImportAttributeConfigurationBufferEx\x12\x38.nifake_grpc.ImportAttributeConfigurationBufferExRequest\x1a\x39.nifake_grpc.ImportAttributeConfigurationBufferExResponse\x12h\n\x13\x46\x65tchWithCustomSize\x12\'.nifake_grpc.FetchWithCustomSizeRequest\x1a(.nifake_grpc.FetchWithCustomSizeResponse\x12\x95\x01\n\"GetParameterWithOverriddenGrpcName\x12\x36.nifake_grpc.GetParameterWithOverriddenGrpcNameRequest\x1a\x37.nifake_grpc.GetParameterWithOverriddenGrpcNameResponse\x12\xc8\x01\n3IviDanceWithTwistWithMultipleArraysAndOneBufferSize\x12G.nifake_grpc.IviDanceWithTwistWithMultipleArraysAndOneBufferSizeRequest\x1aH.nifake_grpc.IviDanceWithTwistWithMultipleArraysAndOneBufferSizeResponse\x12\x8f\x01\n FunctionWithOverriddenGrpcName2x\x12\x34.nifake_grpc.FunctionWithOverriddenGrpcName2xRequest\x1a\x35.nifake_grpc.FunctionWithOverriddenGrpcName2xResponse\x12\xd4\x01\n7FunctionWith3dNumpyArrayOfNumpyComplex128InputParameter\x12K.nifake_grpc.FunctionWith3dNumpyArrayOfNumpyComplex128InputParameterRequest\x1aL.nifake_grpc.FunctionWith3dNumpyArrayOfNumpyComplex128InputParameterResponse\x12\x8c\x01\n\x1fStringValuedEnumNoEnumGenerated\x12\x33.nifake_grpc.StringValuedEnumNoEnumGeneratedRequest\x1a\x34.nifake_grpc.StringValuedEnumNoEnumGeneratedResponse\x12\x98\x01\n#IviDanceWithATwistCalculatedSizeOut\x12\x37.nifake_grpc.IviDanceWithATwistCalculatedSizeOutRequest\x1a\x38.nifake_grpc.IviDanceWithATwistCalculatedSizeOutResponse\x12\x95\x01\n\"ImportAttributeConfigurationBuffer\x12\x36.nifake_grpc.ImportAttributeConfigurationBufferRequest\x1a\x37.nifake_grpc.ImportAttributeConfigurationBufferResponse\x12\x95\x01\n\"ExportAttributeConfigurationBuffer\x12\x36.nifake_grpc.ExportAttributeConfigurationBufferRequest\x1a\x37.nifake_grpc.ExportAttributeConfigurationBufferResponse\x12P\n\x0b\x43ontrol4022\x12\x1f.nifake_grpc.Control4022Request\x1a .nifake_grpc.Control4022Response\x12k\n\x14\x41\x63\x63\x65ptViSessionArray\x12(.nifake_grpc.AcceptViSessionArrayRequest\x1a).nifake_grpc.AcceptViSessionArrayResponse\x12h\n\x13\x41\x63\x63\x65ptViUInt32Array\x12\'.nifake_grpc.AcceptViUInt32ArrayRequest\x1a(.nifake_grpc.AcceptViUInt32ArrayResponse\x12q\n\x16\x42oolArrayInputFunction\x12*.nifake_grpc.BoolArrayInputFunctionRequest\x1a+.nifake_grpc.BoolArrayInputFunctionResponse\x12P\n\x0b\x43loseExtCal\x12\x1f.nifake_grpc.CloseExtCalRequest\x1a .nifake_grpc.CloseExtCalResponse\x12w\n\x18\x43ommandWithReservedParam\x12,.nifake_grpc.CommandWithReservedParamRequest\x1a-.nifake_grpc.CommandWithReservedParamResponse\x12t\n\x17\x43reateConfigurationList\x12+.nifake_grpc.CreateConfigurationListRequest\x1a,.nifake_grpc.CreateConfigurationListResponse\x12\x80\x01\n\x1b\x43ustomNestedStructRoundtrip\x12/.nifake_grpc.CustomNestedStructRoundtripRequest\x1a\x30.nifake_grpc.CustomNestedStructRoundtripResponse\x12q\n\x16GetBitfieldAsEnumArray\x12*.nifake_grpc.GetBitfieldAsEnumArrayRequest\x1a+.nifake_grpc.GetBitfieldAsEnumArrayResponse\x12\xa7\x01\n(GetAnIviDanceWithATwistArrayOfCustomType\x12<.nifake_grpc.GetAnIviDanceWithATwistArrayOfCustomTypeRequest\x1a=.nifake_grpc.GetAnIviDanceWithATwistArrayOfCustomTypeResponse\x12\xad\x01\n*GetAnIviDanceWithATwistArrayWithInputArray\x12>.nifake_grpc.GetAnIviDanceWithATwistArrayWithInputArrayRequest\x1a?.nifake_grpc.GetAnIviDanceWithATwistArrayWithInputArrayResponse\x12\x8f\x01\n GetAnIviDanceWithATwistByteArray\x12\x34.nifake_grpc.GetAnIviDanceWithATwistByteArrayRequest\x1a\x35.nifake_grpc.GetAnIviDanceWithATwistByteArrayResponse\x12\xa1\x01\n&GetAnIviDanceWithATwistStringStrlenBug\x12:.nifake_grpc.GetAnIviDanceWithATwistStringStrlenBugRequest\x1a;.nifake_grpc.GetAnIviDanceWithATwistStringStrlenBugResponse\x12z\n\x19GetArraySizeForCustomCode\x12-.nifake_grpc.GetArraySizeForCustomCodeRequest\x1a..nifake_grpc.GetArraySizeForCustomCodeResponse\x12t\n\x17GetArrayViUInt8WithEnum\x12+.nifake_grpc.GetArrayViUInt8WithEnumRequest\x1a,.nifake_grpc.GetArrayViUInt8WithEnumResponse\x12M\n\nGetViUInt8\x12\x1e.nifake_grpc.GetViUInt8Request\x1a\x1f.nifake_grpc.GetViUInt8Response\x12\\\n\x0fGetViInt32Array\x12#.nifake_grpc.GetViInt32ArrayRequest\x1a$.nifake_grpc.GetViInt32ArrayResponse\x12_\n\x10GetViUInt32Array\x12$.nifake_grpc.GetViUInt32ArrayRequest\x1a%.nifake_grpc.GetViUInt32ArrayResponse\x12\x92\x01\n!MethodUsingEnumWithGrpcNameValues\x12\x35.nifake_grpc.MethodUsingEnumWithGrpcNameValuesRequest\x1a\x36.nifake_grpc.MethodUsingEnumWithGrpcNameValuesResponse\x12\x80\x01\n\x1bMethodWithGetLastErrorParam\x12/.nifake_grpc.MethodWithGetLastErrorParamRequest\x1a\x30.nifake_grpc.MethodWithGetLastErrorParamResponse\x12t\n\x17MethodWithGrpcOnlyParam\x12+.nifake_grpc.MethodWithGrpcOnlyParamRequest\x1a,.nifake_grpc.MethodWithGrpcOnlyParamResponse\x12\x9b\x01\n$MethodUsingWholeAndFractionalNumbers\x12\x38.nifake_grpc.MethodUsingWholeAndFractionalNumbersRequest\x1a\x39.nifake_grpc.MethodUsingWholeAndFractionalNumbersResponse\x12\x86\x01\n\x1dMethodUsingWholeMappedNumbers\x12\x31.nifake_grpc.MethodUsingWholeMappedNumbersRequest\x1a\x32.nifake_grpc.MethodUsingWholeMappedNumbersResponse\x12z\n\x19MethodWithGrpcFieldNumber\x12-.nifake_grpc.MethodWithGrpcFieldNumberRequest\x1a..nifake_grpc.MethodWithGrpcFieldNumberResponse\x12\x83\x01\n\x1cMethodWithProtoOnlyParameter\x12\x30.nifake_grpc.MethodWithProtoOnlyParameterRequest\x1a\x31.nifake_grpc.MethodWithProtoOnlyParameterResponse\x12z\n\x19ReadDataWithInOutIviTwist\x12-.nifake_grpc.ReadDataWithInOutIviTwistRequest\x1a..nifake_grpc.ReadDataWithInOutIviTwistResponse\x12\x9e\x01\n%ReadDataWithMultipleIviTwistParamSets\x12\x39.nifake_grpc.ReadDataWithMultipleIviTwistParamSetsRequest\x1a:.nifake_grpc.ReadDataWithMultipleIviTwistParamSetsResponse\x12M\n\nInitExtCal\x12\x1e.nifake_grpc.InitExtCalRequest\x1a\x1f.nifake_grpc.InitExtCalResponse\x12\\\n\x0fInitWithVarArgs\x12#.nifake_grpc.InitWithVarArgsRequest\x1a$.nifake_grpc.InitWithVarArgsResponse\x12\x95\x01\n\"MultipleArraysSameSizeWithOptional\x12\x36.nifake_grpc.MultipleArraysSameSizeWithOptionalRequest\x1a\x37.nifake_grpc.MultipleArraysSameSizeWithOptionalResponse\x12z\n\x19UseATwoDimensionParameter\x12-.nifake_grpc.UseATwoDimensionParameterRequest\x1a..nifake_grpc.UseATwoDimensionParameterResponse\x12z\n\x19ViUInt8ArrayInputFunction\x12-.nifake_grpc.ViUInt8ArrayInputFunctionRequest\x1a..nifake_grpc.ViUInt8ArrayInputFunctionResponse\x12}\n\x1aViUInt8ArrayOutputFunction\x12..nifake_grpc.ViUInt8ArrayOutputFunctionRequest\x1a/.nifake_grpc.ViUInt8ArrayOutputFunctionResponse\x12z\n\x19ViInt16ArrayInputFunction\x12-.nifake_grpc.ViInt16ArrayInputFunctionRequest\x1a..nifake_grpc.ViInt16ArrayInputFunctionResponseB<\n\x10\x63om.ni.grpc.fakeB\x06NiFakeP\x01\xaa\x02\x1dNationalInstruments.Grpc.Fakeb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -26,36 +26,36 @@ _NIFAKEINT32ATTRIBUTEVALUES._serialized_options = b'\020\001' _METHODWITHGETLASTERRORPARAMRESPONSE.fields_by_name['last_error']._options = None _METHODWITHGETLASTERRORPARAMRESPONSE.fields_by_name['last_error']._serialized_options = b'\030\001' - _globals['_NIFAKEATTRIBUTE']._serialized_start=18436 - _globals['_NIFAKEATTRIBUTE']._serialized_end=19106 - _globals['_GRPCCOLOROVERRIDE']._serialized_start=19109 - _globals['_GRPCCOLOROVERRIDE']._serialized_end=19287 - _globals['_FLOATENUM']._serialized_start=19290 - _globals['_FLOATENUM']._serialized_end=19490 - _globals['_TURTLE']._serialized_start=19492 - _globals['_TURTLE']._serialized_end=19588 - _globals['_MOBILEOSNAMES']._serialized_start=19591 - _globals['_MOBILEOSNAMES']._serialized_end=19719 - _globals['_BITFIELD']._serialized_start=19721 - _globals['_BITFIELD']._serialized_end=19841 - _globals['_DECIMALWHOLENUMBER']._serialized_start=19844 - _globals['_DECIMALWHOLENUMBER']._serialized_end=19980 - _globals['_DECIMALWHOLENUMBERMAPPED']._serialized_start=19983 - _globals['_DECIMALWHOLENUMBERMAPPED']._serialized_end=20182 - _globals['_DECIMALMIXEDNUMBER']._serialized_start=20185 - _globals['_DECIMALMIXEDNUMBER']._serialized_end=20528 - _globals['_ENUMWITHGRPCNAMEVALUES']._serialized_start=20531 - _globals['_ENUMWITHGRPCNAMEVALUES']._serialized_end=20689 - _globals['_SAMPLECOUNT']._serialized_start=20691 - _globals['_SAMPLECOUNT']._serialized_end=20744 - _globals['_SAMPLEINTERVAL']._serialized_start=20746 - _globals['_SAMPLEINTERVAL']._serialized_end=20836 - _globals['_NIFAKEINT32ATTRIBUTEVALUES']._serialized_start=20839 - _globals['_NIFAKEINT32ATTRIBUTEVALUES']._serialized_end=21128 - _globals['_NIFAKEREAL64ATTRIBUTEVALUES']._serialized_start=21130 - _globals['_NIFAKEREAL64ATTRIBUTEVALUES']._serialized_end=21245 - _globals['_NIFAKEREAL64ATTRIBUTEVALUESMAPPED']._serialized_start=21248 - _globals['_NIFAKEREAL64ATTRIBUTEVALUESMAPPED']._serialized_end=21552 + _globals['_NIFAKEATTRIBUTE']._serialized_start=19367 + _globals['_NIFAKEATTRIBUTE']._serialized_end=20037 + _globals['_GRPCCOLOROVERRIDE']._serialized_start=20040 + _globals['_GRPCCOLOROVERRIDE']._serialized_end=20218 + _globals['_FLOATENUM']._serialized_start=20221 + _globals['_FLOATENUM']._serialized_end=20421 + _globals['_TURTLE']._serialized_start=20423 + _globals['_TURTLE']._serialized_end=20519 + _globals['_MOBILEOSNAMES']._serialized_start=20522 + _globals['_MOBILEOSNAMES']._serialized_end=20650 + _globals['_BITFIELD']._serialized_start=20652 + _globals['_BITFIELD']._serialized_end=20772 + _globals['_DECIMALWHOLENUMBER']._serialized_start=20775 + _globals['_DECIMALWHOLENUMBER']._serialized_end=20911 + _globals['_DECIMALWHOLENUMBERMAPPED']._serialized_start=20914 + _globals['_DECIMALWHOLENUMBERMAPPED']._serialized_end=21113 + _globals['_DECIMALMIXEDNUMBER']._serialized_start=21116 + _globals['_DECIMALMIXEDNUMBER']._serialized_end=21459 + _globals['_ENUMWITHGRPCNAMEVALUES']._serialized_start=21462 + _globals['_ENUMWITHGRPCNAMEVALUES']._serialized_end=21620 + _globals['_SAMPLECOUNT']._serialized_start=21622 + _globals['_SAMPLECOUNT']._serialized_end=21675 + _globals['_SAMPLEINTERVAL']._serialized_start=21677 + _globals['_SAMPLEINTERVAL']._serialized_end=21767 + _globals['_NIFAKEINT32ATTRIBUTEVALUES']._serialized_start=21770 + _globals['_NIFAKEINT32ATTRIBUTEVALUES']._serialized_end=22059 + _globals['_NIFAKEREAL64ATTRIBUTEVALUES']._serialized_start=22061 + _globals['_NIFAKEREAL64ATTRIBUTEVALUES']._serialized_end=22176 + _globals['_NIFAKEREAL64ATTRIBUTEVALUESMAPPED']._serialized_start=22179 + _globals['_NIFAKEREAL64ATTRIBUTEVALUESMAPPED']._serialized_end=22483 _globals['_FAKECUSTOMSTRUCT']._serialized_start=44 _globals['_FAKECUSTOMSTRUCT']._serialized_end=105 _globals['_CUSTOMSTRUCTNESTEDTYPEDEF']._serialized_start=108 @@ -66,406 +66,424 @@ _globals['_NICOMPLEXI16_STRUCT']._serialized_end=390 _globals['_NICOMPLEXNUMBER_STRUCT']._serialized_start=392 _globals['_NICOMPLEXNUMBER_STRUCT']._serialized_end=449 - _globals['_STRINGANDTURTLE']._serialized_start=451 - _globals['_STRINGANDTURTLE']._serialized_end=525 - _globals['_CUSTOMNAMEDTYPE']._serialized_start=527 - _globals['_CUSTOMNAMEDTYPE']._serialized_end=564 - _globals['_ABORTREQUEST']._serialized_start=566 - _globals['_ABORTREQUEST']._serialized_end=616 - _globals['_ABORTRESPONSE']._serialized_start=618 - _globals['_ABORTRESPONSE']._serialized_end=649 - _globals['_BOOLARRAYOUTPUTFUNCTIONREQUEST']._serialized_start=651 - _globals['_BOOLARRAYOUTPUTFUNCTIONREQUEST']._serialized_end=747 - _globals['_BOOLARRAYOUTPUTFUNCTIONRESPONSE']._serialized_start=749 - _globals['_BOOLARRAYOUTPUTFUNCTIONRESPONSE']._serialized_end=816 - _globals['_CLOSEREQUEST']._serialized_start=818 - _globals['_CLOSEREQUEST']._serialized_end=868 - _globals['_CLOSERESPONSE']._serialized_start=870 - _globals['_CLOSERESPONSE']._serialized_end=901 - _globals['_ENUMARRAYOUTPUTFUNCTIONREQUEST']._serialized_start=903 - _globals['_ENUMARRAYOUTPUTFUNCTIONREQUEST']._serialized_end=999 - _globals['_ENUMARRAYOUTPUTFUNCTIONRESPONSE']._serialized_start=1001 - _globals['_ENUMARRAYOUTPUTFUNCTIONRESPONSE']._serialized_end=1111 - _globals['_ENUMINPUTFUNCTIONWITHDEFAULTSREQUEST']._serialized_start=1114 - _globals['_ENUMINPUTFUNCTIONWITHDEFAULTSREQUEST']._serialized_end=1270 - _globals['_ENUMINPUTFUNCTIONWITHDEFAULTSRESPONSE']._serialized_start=1272 - _globals['_ENUMINPUTFUNCTIONWITHDEFAULTSRESPONSE']._serialized_end=1327 - _globals['_STRINGVALUEDENUMINPUTFUNCTIONWITHDEFAULTSREQUEST']._serialized_start=1330 - _globals['_STRINGVALUEDENUMINPUTFUNCTIONWITHDEFAULTSREQUEST']._serialized_end=1536 - _globals['_STRINGVALUEDENUMINPUTFUNCTIONWITHDEFAULTSRESPONSE']._serialized_start=1538 - _globals['_STRINGVALUEDENUMINPUTFUNCTIONWITHDEFAULTSRESPONSE']._serialized_end=1605 - _globals['_ERRORMESSAGEREQUEST']._serialized_start=1607 - _globals['_ERRORMESSAGEREQUEST']._serialized_end=1684 - _globals['_ERRORMESSAGERESPONSE']._serialized_start=1686 - _globals['_ERRORMESSAGERESPONSE']._serialized_end=1747 - _globals['_FETCHWAVEFORMREQUEST']._serialized_start=1749 - _globals['_FETCHWAVEFORMREQUEST']._serialized_end=1834 - _globals['_FETCHWAVEFORMRESPONSE']._serialized_start=1836 - _globals['_FETCHWAVEFORMRESPONSE']._serialized_end=1932 - _globals['_GETABOOLEANREQUEST']._serialized_start=1934 - _globals['_GETABOOLEANREQUEST']._serialized_end=1990 - _globals['_GETABOOLEANRESPONSE']._serialized_start=1992 - _globals['_GETABOOLEANRESPONSE']._serialized_end=2048 - _globals['_GETANUMBERREQUEST']._serialized_start=2050 - _globals['_GETANUMBERREQUEST']._serialized_end=2105 - _globals['_GETANUMBERRESPONSE']._serialized_start=2107 - _globals['_GETANUMBERRESPONSE']._serialized_end=2161 - _globals['_GETASTRINGOFFIXEDMAXIMUMSIZEREQUEST']._serialized_start=2163 - _globals['_GETASTRINGOFFIXEDMAXIMUMSIZEREQUEST']._serialized_end=2236 - _globals['_GETASTRINGOFFIXEDMAXIMUMSIZERESPONSE']._serialized_start=2238 - _globals['_GETASTRINGOFFIXEDMAXIMUMSIZERESPONSE']._serialized_end=2310 - _globals['_GETANIVIDANCECHARARRAYREQUEST']._serialized_start=2312 - _globals['_GETANIVIDANCECHARARRAYREQUEST']._serialized_end=2379 - _globals['_GETANIVIDANCECHARARRAYRESPONSE']._serialized_start=2381 - _globals['_GETANIVIDANCECHARARRAYRESPONSE']._serialized_end=2449 - _globals['_GETARRAYUSINGIVIDANCEREQUEST']._serialized_start=2451 - _globals['_GETARRAYUSINGIVIDANCEREQUEST']._serialized_end=2517 - _globals['_GETARRAYUSINGIVIDANCERESPONSE']._serialized_start=2519 - _globals['_GETARRAYUSINGIVIDANCERESPONSE']._serialized_end=2585 - _globals['_GETATTRIBUTEVIBOOLEANREQUEST']._serialized_start=2588 - _globals['_GETATTRIBUTEVIBOOLEANREQUEST']._serialized_end=2728 - _globals['_GETATTRIBUTEVIBOOLEANRESPONSE']._serialized_start=2730 - _globals['_GETATTRIBUTEVIBOOLEANRESPONSE']._serialized_end=2802 - _globals['_GETATTRIBUTEVIINT32REQUEST']._serialized_start=2805 - _globals['_GETATTRIBUTEVIINT32REQUEST']._serialized_end=2943 - _globals['_GETATTRIBUTEVIINT32RESPONSE']._serialized_start=2945 - _globals['_GETATTRIBUTEVIINT32RESPONSE']._serialized_end=3015 - _globals['_GETATTRIBUTEVIINT64REQUEST']._serialized_start=3018 - _globals['_GETATTRIBUTEVIINT64REQUEST']._serialized_end=3156 - _globals['_GETATTRIBUTEVIINT64RESPONSE']._serialized_start=3158 - _globals['_GETATTRIBUTEVIINT64RESPONSE']._serialized_end=3228 - _globals['_GETATTRIBUTEVIREAL64REQUEST']._serialized_start=3231 - _globals['_GETATTRIBUTEVIREAL64REQUEST']._serialized_end=3370 - _globals['_GETATTRIBUTEVIREAL64RESPONSE']._serialized_start=3372 - _globals['_GETATTRIBUTEVIREAL64RESPONSE']._serialized_end=3443 - _globals['_GETATTRIBUTEVISESSIONREQUEST']._serialized_start=3446 - _globals['_GETATTRIBUTEVISESSIONREQUEST']._serialized_end=3586 - _globals['_GETATTRIBUTEVISESSIONRESPONSE']._serialized_start=3588 - _globals['_GETATTRIBUTEVISESSIONRESPONSE']._serialized_end=3684 - _globals['_GETATTRIBUTEVISTRINGREQUEST']._serialized_start=3687 - _globals['_GETATTRIBUTEVISTRINGREQUEST']._serialized_end=3826 - _globals['_GETATTRIBUTEVISTRINGRESPONSE']._serialized_start=3828 - _globals['_GETATTRIBUTEVISTRINGRESPONSE']._serialized_end=3899 - _globals['_GETCALDATEANDTIMEREQUEST']._serialized_start=3901 - _globals['_GETCALDATEANDTIMEREQUEST']._serialized_end=3981 - _globals['_GETCALDATEANDTIMERESPONSE']._serialized_start=3983 - _globals['_GETCALDATEANDTIMERESPONSE']._serialized_end=4098 - _globals['_GETCALINTERVALREQUEST']._serialized_start=4100 - _globals['_GETCALINTERVALREQUEST']._serialized_end=4159 - _globals['_GETCALINTERVALRESPONSE']._serialized_start=4161 - _globals['_GETCALINTERVALRESPONSE']._serialized_end=4217 - _globals['_GETENUMVALUEREQUEST']._serialized_start=4219 - _globals['_GETENUMVALUEREQUEST']._serialized_end=4276 - _globals['_GETENUMVALUERESPONSE']._serialized_start=4278 - _globals['_GETENUMVALUERESPONSE']._serialized_end=4397 - _globals['_GETERRORREQUEST']._serialized_start=4399 - _globals['_GETERRORREQUEST']._serialized_end=4452 - _globals['_GETERRORRESPONSE']._serialized_start=4454 - _globals['_GETERRORRESPONSE']._serialized_end=4529 - _globals['_INITWITHOPTIONSREQUEST']._serialized_start=4532 - _globals['_INITWITHOPTIONSREQUEST']._serialized_end=4743 - _globals['_INITWITHOPTIONSRESPONSE']._serialized_start=4745 - _globals['_INITWITHOPTIONSRESPONSE']._serialized_end=4855 - _globals['_MULTIPLEARRAYTYPESREQUEST']._serialized_start=4858 - _globals['_MULTIPLEARRAYTYPESREQUEST']._serialized_end=5012 - _globals['_MULTIPLEARRAYTYPESRESPONSE']._serialized_start=5014 - _globals['_MULTIPLEARRAYTYPESRESPONSE']._serialized_end=5118 - _globals['_MULTIPLEARRAYSSAMESIZEREQUEST']._serialized_start=5121 - _globals['_MULTIPLEARRAYSSAMESIZEREQUEST']._serialized_end=5256 - _globals['_MULTIPLEARRAYSSAMESIZERESPONSE']._serialized_start=5258 - _globals['_MULTIPLEARRAYSSAMESIZERESPONSE']._serialized_end=5306 - _globals['_MULTIPLEARRAYSDIFFERENTSIZEREQUEST']._serialized_start=5308 - _globals['_MULTIPLEARRAYSDIFFERENTSIZEREQUEST']._serialized_end=5422 - _globals['_MULTIPLEARRAYSDIFFERENTSIZERESPONSE']._serialized_start=5424 - _globals['_MULTIPLEARRAYSDIFFERENTSIZERESPONSE']._serialized_end=5477 - _globals['_MIXEDIVIDANCEANDLENMECHANISMREQUEST']._serialized_start=5479 - _globals['_MIXEDIVIDANCEANDLENMECHANISMREQUEST']._serialized_end=5574 - _globals['_MIXEDIVIDANCEANDLENMECHANISMRESPONSE']._serialized_start=5576 - _globals['_MIXEDIVIDANCEANDLENMECHANISMRESPONSE']._serialized_end=5652 - _globals['_ONEINPUTFUNCTIONREQUEST']._serialized_start=5654 - _globals['_ONEINPUTFUNCTIONREQUEST']._serialized_end=5733 - _globals['_ONEINPUTFUNCTIONRESPONSE']._serialized_start=5735 - _globals['_ONEINPUTFUNCTIONRESPONSE']._serialized_end=5777 - _globals['_PARAMETERSAREMULTIPLETYPESREQUEST']._serialized_start=5780 - _globals['_PARAMETERSAREMULTIPLETYPESREQUEST']._serialized_end=6136 - _globals['_PARAMETERSAREMULTIPLETYPESRESPONSE']._serialized_start=6138 - _globals['_PARAMETERSAREMULTIPLETYPESRESPONSE']._serialized_end=6190 - _globals['_POORLYNAMEDSIMPLEFUNCTIONREQUEST']._serialized_start=6192 - _globals['_POORLYNAMEDSIMPLEFUNCTIONREQUEST']._serialized_end=6262 - _globals['_POORLYNAMEDSIMPLEFUNCTIONRESPONSE']._serialized_start=6264 - _globals['_POORLYNAMEDSIMPLEFUNCTIONRESPONSE']._serialized_end=6315 - _globals['_READREQUEST']._serialized_start=6317 - _globals['_READREQUEST']._serialized_end=6388 - _globals['_READRESPONSE']._serialized_start=6390 - _globals['_READRESPONSE']._serialized_end=6437 - _globals['_READFROMCHANNELREQUEST']._serialized_start=6439 - _globals['_READFROMCHANNELREQUEST']._serialized_end=6543 - _globals['_READFROMCHANNELRESPONSE']._serialized_start=6545 - _globals['_READFROMCHANNELRESPONSE']._serialized_end=6603 - _globals['_RETURNANUMBERANDASTRINGREQUEST']._serialized_start=6605 - _globals['_RETURNANUMBERANDASTRINGREQUEST']._serialized_end=6673 - _globals['_RETURNANUMBERANDASTRINGRESPONSE']._serialized_start=6675 - _globals['_RETURNANUMBERANDASTRINGRESPONSE']._serialized_end=6760 - _globals['_RETURNMULTIPLETYPESREQUEST']._serialized_start=6762 - _globals['_RETURNMULTIPLETYPESREQUEST']._serialized_end=6846 - _globals['_RETURNMULTIPLETYPESRESPONSE']._serialized_start=6849 - _globals['_RETURNMULTIPLETYPESRESPONSE']._serialized_end=7148 - _globals['_SETATTRIBUTEVIBOOLEANREQUEST']._serialized_start=7151 - _globals['_SETATTRIBUTEVIBOOLEANREQUEST']._serialized_end=7316 - _globals['_SETATTRIBUTEVIBOOLEANRESPONSE']._serialized_start=7318 - _globals['_SETATTRIBUTEVIBOOLEANRESPONSE']._serialized_end=7365 - _globals['_SETATTRIBUTEVIINT32REQUEST']._serialized_start=7368 - _globals['_SETATTRIBUTEVIINT32REQUEST']._serialized_end=7629 - _globals['_SETATTRIBUTEVIINT32RESPONSE']._serialized_start=7631 - _globals['_SETATTRIBUTEVIINT32RESPONSE']._serialized_end=7676 - _globals['_SETATTRIBUTEVIINT64REQUEST']._serialized_start=7679 - _globals['_SETATTRIBUTEVIINT64REQUEST']._serialized_end=7846 - _globals['_SETATTRIBUTEVIINT64RESPONSE']._serialized_start=7848 - _globals['_SETATTRIBUTEVIINT64RESPONSE']._serialized_end=7893 - _globals['_SETATTRIBUTEVIREAL64REQUEST']._serialized_start=7896 - _globals['_SETATTRIBUTEVIREAL64REQUEST']._serialized_end=8241 - _globals['_SETATTRIBUTEVIREAL64RESPONSE']._serialized_start=8243 - _globals['_SETATTRIBUTEVIREAL64RESPONSE']._serialized_end=8289 - _globals['_SETATTRIBUTEVISTRINGREQUEST']._serialized_start=8292 - _globals['_SETATTRIBUTEVISTRINGREQUEST']._serialized_end=8460 - _globals['_SETATTRIBUTEVISTRINGRESPONSE']._serialized_start=8462 - _globals['_SETATTRIBUTEVISTRINGRESPONSE']._serialized_end=8508 - _globals['_TWOINPUTFUNCTIONREQUEST']._serialized_start=8510 - _globals['_TWOINPUTFUNCTIONREQUEST']._serialized_end=8607 - _globals['_TWOINPUTFUNCTIONRESPONSE']._serialized_start=8609 - _globals['_TWOINPUTFUNCTIONRESPONSE']._serialized_end=8651 - _globals['_USE64BITNUMBERREQUEST']._serialized_start=8653 - _globals['_USE64BITNUMBERREQUEST']._serialized_end=8727 - _globals['_USE64BITNUMBERRESPONSE']._serialized_start=8729 - _globals['_USE64BITNUMBERRESPONSE']._serialized_end=8785 - _globals['_WRITEWAVEFORMREQUEST']._serialized_start=8787 - _globals['_WRITEWAVEFORMREQUEST']._serialized_end=8863 - _globals['_WRITEWAVEFORMRESPONSE']._serialized_start=8865 - _globals['_WRITEWAVEFORMRESPONSE']._serialized_end=8904 - _globals['_SETCUSTOMTYPEREQUEST']._serialized_start=8906 - _globals['_SETCUSTOMTYPEREQUEST']._serialized_end=9007 - _globals['_SETCUSTOMTYPERESPONSE']._serialized_start=9009 - _globals['_SETCUSTOMTYPERESPONSE']._serialized_end=9048 - _globals['_SETCUSTOMTYPEARRAYREQUEST']._serialized_start=9050 - _globals['_SETCUSTOMTYPEARRAYREQUEST']._serialized_end=9156 - _globals['_SETCUSTOMTYPEARRAYRESPONSE']._serialized_start=9158 - _globals['_SETCUSTOMTYPEARRAYRESPONSE']._serialized_end=9202 - _globals['_GETCUSTOMTYPEREQUEST']._serialized_start=9204 - _globals['_GETCUSTOMTYPEREQUEST']._serialized_end=9262 - _globals['_GETCUSTOMTYPERESPONSE']._serialized_start=9264 - _globals['_GETCUSTOMTYPERESPONSE']._serialized_end=9346 - _globals['_GETCUSTOMTYPEARRAYREQUEST']._serialized_start=9348 - _globals['_GETCUSTOMTYPEARRAYREQUEST']._serialized_end=9439 - _globals['_GETCUSTOMTYPEARRAYRESPONSE']._serialized_start=9441 - _globals['_GETCUSTOMTYPEARRAYRESPONSE']._serialized_end=9528 - _globals['_GETANIVIDANCEWITHATWISTARRAYREQUEST']._serialized_start=9530 - _globals['_GETANIVIDANCEWITHATWISTARRAYREQUEST']._serialized_end=9621 - _globals['_GETANIVIDANCEWITHATWISTARRAYRESPONSE']._serialized_start=9623 - _globals['_GETANIVIDANCEWITHATWISTARRAYRESPONSE']._serialized_end=9717 - _globals['_GETANIVIDANCEWITHATWISTSTRINGREQUEST']._serialized_start=9719 - _globals['_GETANIVIDANCEWITHATWISTSTRINGREQUEST']._serialized_end=9793 - _globals['_GETANIVIDANCEWITHATWISTSTRINGRESPONSE']._serialized_start=9795 - _globals['_GETANIVIDANCEWITHATWISTSTRINGRESPONSE']._serialized_end=9889 - _globals['_DOUBLEALLTHENUMSREQUEST']._serialized_start=9891 - _globals['_DOUBLEALLTHENUMSREQUEST']._serialized_end=9969 - _globals['_DOUBLEALLTHENUMSRESPONSE']._serialized_start=9971 - _globals['_DOUBLEALLTHENUMSRESPONSE']._serialized_end=10013 - _globals['_ACCEPTLISTOFDURATIONSINSECONDSREQUEST']._serialized_start=10015 - _globals['_ACCEPTLISTOFDURATIONSINSECONDSREQUEST']._serialized_end=10106 - _globals['_ACCEPTLISTOFDURATIONSINSECONDSRESPONSE']._serialized_start=10108 - _globals['_ACCEPTLISTOFDURATIONSINSECONDSRESPONSE']._serialized_end=10164 - _globals['_RETURNDURATIONINSECONDSREQUEST']._serialized_start=10166 - _globals['_RETURNDURATIONINSECONDSREQUEST']._serialized_end=10234 - _globals['_RETURNDURATIONINSECONDSRESPONSE']._serialized_start=10236 - _globals['_RETURNDURATIONINSECONDSRESPONSE']._serialized_end=10304 - _globals['_RETURNLISTOFDURATIONSINSECONDSREQUEST']._serialized_start=10306 - _globals['_RETURNLISTOFDURATIONSINSECONDSREQUEST']._serialized_end=10409 - _globals['_RETURNLISTOFDURATIONSINSECONDSRESPONSE']._serialized_start=10411 - _globals['_RETURNLISTOFDURATIONSINSECONDSRESPONSE']._serialized_end=10487 - _globals['_CONFIGUREABCREQUEST']._serialized_start=10489 - _globals['_CONFIGUREABCREQUEST']._serialized_end=10546 - _globals['_CONFIGUREABCRESPONSE']._serialized_start=10548 - _globals['_CONFIGUREABCRESPONSE']._serialized_end=10586 - _globals['_CONFIGUREENUMSREQUEST']._serialized_start=10589 - _globals['_CONFIGUREENUMSREQUEST']._serialized_end=10858 - _globals['_CONFIGUREENUMSRESPONSE']._serialized_start=10860 - _globals['_CONFIGUREENUMSRESPONSE']._serialized_end=10900 - _globals['_EXPORTATTRIBUTECONFIGURATIONBUFFEREXREQUEST']._serialized_start=10902 - _globals['_EXPORTATTRIBUTECONFIGURATIONBUFFEREXREQUEST']._serialized_end=10983 - _globals['_EXPORTATTRIBUTECONFIGURATIONBUFFEREXRESPONSE']._serialized_start=10985 - _globals['_EXPORTATTRIBUTECONFIGURATIONBUFFEREXRESPONSE']._serialized_end=11070 - _globals['_IMPORTATTRIBUTECONFIGURATIONBUFFEREXREQUEST']._serialized_start=11072 - _globals['_IMPORTATTRIBUTECONFIGURATIONBUFFEREXREQUEST']._serialized_end=11176 - _globals['_IMPORTATTRIBUTECONFIGURATIONBUFFEREXRESPONSE']._serialized_start=11178 - _globals['_IMPORTATTRIBUTECONFIGURATIONBUFFEREXRESPONSE']._serialized_end=11240 - _globals['_FETCHWITHCUSTOMSIZEREQUEST']._serialized_start=11242 - _globals['_FETCHWITHCUSTOMSIZEREQUEST']._serialized_end=11362 - _globals['_FETCHWITHCUSTOMSIZERESPONSE']._serialized_start=11364 - _globals['_FETCHWITHCUSTOMSIZERESPONSE']._serialized_end=11432 - _globals['_GETPARAMETERWITHOVERRIDDENGRPCNAMEREQUEST']._serialized_start=11435 - _globals['_GETPARAMETERWITHOVERRIDDENGRPCNAMEREQUEST']._serialized_end=11626 - _globals['_GETPARAMETERWITHOVERRIDDENGRPCNAMERESPONSE']._serialized_start=11628 - _globals['_GETPARAMETERWITHOVERRIDDENGRPCNAMERESPONSE']._serialized_end=11718 - _globals['_IVIDANCEWITHTWISTWITHMULTIPLEARRAYSANDONEBUFFERSIZEREQUEST']._serialized_start=11720 - _globals['_IVIDANCEWITHTWISTWITHMULTIPLEARRAYSANDONEBUFFERSIZEREQUEST']._serialized_end=11816 - _globals['_IVIDANCEWITHTWISTWITHMULTIPLEARRAYSANDONEBUFFERSIZERESPONSE']._serialized_start=11819 - _globals['_IVIDANCEWITHTWISTWITHMULTIPLEARRAYSANDONEBUFFERSIZERESPONSE']._serialized_end=11973 - _globals['_FUNCTIONWITHOVERRIDDENGRPCNAME2XREQUEST']._serialized_start=11975 - _globals['_FUNCTIONWITHOVERRIDDENGRPCNAME2XREQUEST']._serialized_end=12052 - _globals['_FUNCTIONWITHOVERRIDDENGRPCNAME2XRESPONSE']._serialized_start=12054 - _globals['_FUNCTIONWITHOVERRIDDENGRPCNAME2XRESPONSE']._serialized_end=12112 - _globals['_STRINGVALUEDENUMNOENUMGENERATEDREQUEST']._serialized_start=12114 - _globals['_STRINGVALUEDENUMNOENUMGENERATEDREQUEST']._serialized_end=12213 - _globals['_STRINGVALUEDENUMNOENUMGENERATEDRESPONSE']._serialized_start=12215 - _globals['_STRINGVALUEDENUMNOENUMGENERATEDRESPONSE']._serialized_end=12272 - _globals['_IVIDANCEWITHATWISTCALCULATEDSIZEOUTREQUEST']._serialized_start=12274 - _globals['_IVIDANCEWITHATWISTCALCULATEDSIZEOUTREQUEST']._serialized_end=12354 - _globals['_IVIDANCEWITHATWISTCALCULATEDSIZEOUTRESPONSE']._serialized_start=12357 - _globals['_IVIDANCEWITHATWISTCALCULATEDSIZEOUTRESPONSE']._serialized_end=12499 - _globals['_IMPORTATTRIBUTECONFIGURATIONBUFFERREQUEST']._serialized_start=12501 - _globals['_IMPORTATTRIBUTECONFIGURATIONBUFFERREQUEST']._serialized_end=12603 - _globals['_IMPORTATTRIBUTECONFIGURATIONBUFFERRESPONSE']._serialized_start=12605 - _globals['_IMPORTATTRIBUTECONFIGURATIONBUFFERRESPONSE']._serialized_end=12665 - _globals['_EXPORTATTRIBUTECONFIGURATIONBUFFERREQUEST']._serialized_start=12667 - _globals['_EXPORTATTRIBUTECONFIGURATIONBUFFERREQUEST']._serialized_end=12746 - _globals['_EXPORTATTRIBUTECONFIGURATIONBUFFERRESPONSE']._serialized_start=12748 - _globals['_EXPORTATTRIBUTECONFIGURATIONBUFFERRESPONSE']._serialized_end=12831 - _globals['_CONTROL4022REQUEST']._serialized_start=12833 - _globals['_CONTROL4022REQUEST']._serialized_end=12899 - _globals['_CONTROL4022RESPONSE']._serialized_start=12901 - _globals['_CONTROL4022RESPONSE']._serialized_end=12938 - _globals['_ACCEPTVISESSIONARRAYREQUEST']._serialized_start=12940 - _globals['_ACCEPTVISESSIONARRAYREQUEST']._serialized_end=13039 - _globals['_ACCEPTVISESSIONARRAYRESPONSE']._serialized_start=13041 - _globals['_ACCEPTVISESSIONARRAYRESPONSE']._serialized_end=13087 - _globals['_ACCEPTVIUINT32ARRAYREQUEST']._serialized_start=13089 - _globals['_ACCEPTVIUINT32ARRAYREQUEST']._serialized_end=13176 - _globals['_ACCEPTVIUINT32ARRAYRESPONSE']._serialized_start=13178 - _globals['_ACCEPTVIUINT32ARRAYRESPONSE']._serialized_end=13223 - _globals['_BOOLARRAYINPUTFUNCTIONREQUEST']._serialized_start=13225 - _globals['_BOOLARRAYINPUTFUNCTIONREQUEST']._serialized_end=13338 - _globals['_BOOLARRAYINPUTFUNCTIONRESPONSE']._serialized_start=13340 - _globals['_BOOLARRAYINPUTFUNCTIONRESPONSE']._serialized_end=13388 - _globals['_CLOSEEXTCALREQUEST']._serialized_start=13390 - _globals['_CLOSEEXTCALREQUEST']._serialized_end=13462 - _globals['_CLOSEEXTCALRESPONSE']._serialized_start=13464 - _globals['_CLOSEEXTCALRESPONSE']._serialized_end=13501 - _globals['_COMMANDWITHRESERVEDPARAMREQUEST']._serialized_start=13503 - _globals['_COMMANDWITHRESERVEDPARAMREQUEST']._serialized_end=13572 - _globals['_COMMANDWITHRESERVEDPARAMRESPONSE']._serialized_start=13574 - _globals['_COMMANDWITHRESERVEDPARAMRESPONSE']._serialized_end=13624 - _globals['_CREATECONFIGURATIONLISTREQUEST']._serialized_start=13626 - _globals['_CREATECONFIGURATIONLISTREQUEST']._serialized_end=13716 - _globals['_CREATECONFIGURATIONLISTRESPONSE']._serialized_start=13718 - _globals['_CREATECONFIGURATIONLISTRESPONSE']._serialized_end=13767 - _globals['_CUSTOMNESTEDSTRUCTROUNDTRIPREQUEST']._serialized_start=13769 - _globals['_CUSTOMNESTEDSTRUCTROUNDTRIPREQUEST']._serialized_end=13876 - _globals['_CUSTOMNESTEDSTRUCTROUNDTRIPRESPONSE']._serialized_start=13878 - _globals['_CUSTOMNESTEDSTRUCTROUNDTRIPRESPONSE']._serialized_end=14003 - _globals['_GETBITFIELDASENUMARRAYREQUEST']._serialized_start=14005 - _globals['_GETBITFIELDASENUMARRAYREQUEST']._serialized_end=14036 - _globals['_GETBITFIELDASENUMARRAYRESPONSE']._serialized_start=14038 - _globals['_GETBITFIELDASENUMARRAYRESPONSE']._serialized_end=14149 - _globals['_GETANIVIDANCEWITHATWISTARRAYOFCUSTOMTYPEREQUEST']._serialized_start=14151 - _globals['_GETANIVIDANCEWITHATWISTARRAYOFCUSTOMTYPEREQUEST']._serialized_end=14236 - _globals['_GETANIVIDANCEWITHATWISTARRAYOFCUSTOMTYPERESPONSE']._serialized_start=14239 - _globals['_GETANIVIDANCEWITHATWISTARRAYOFCUSTOMTYPERESPONSE']._serialized_end=14376 - _globals['_GETANIVIDANCEWITHATWISTARRAYWITHINPUTARRAYREQUEST']._serialized_start=14378 - _globals['_GETANIVIDANCEWITHATWISTARRAYWITHINPUTARRAYREQUEST']._serialized_end=14446 - _globals['_GETANIVIDANCEWITHATWISTARRAYWITHINPUTARRAYRESPONSE']._serialized_start=14448 - _globals['_GETANIVIDANCEWITHATWISTARRAYWITHINPUTARRAYRESPONSE']._serialized_end=14556 - _globals['_GETANIVIDANCEWITHATWISTBYTEARRAYREQUEST']._serialized_start=14558 - _globals['_GETANIVIDANCEWITHATWISTBYTEARRAYREQUEST']._serialized_end=14599 - _globals['_GETANIVIDANCEWITHATWISTBYTEARRAYRESPONSE']._serialized_start=14601 - _globals['_GETANIVIDANCEWITHATWISTBYTEARRAYRESPONSE']._serialized_end=14699 - _globals['_GETANIVIDANCEWITHATWISTSTRINGSTRLENBUGREQUEST']._serialized_start=14701 - _globals['_GETANIVIDANCEWITHATWISTSTRINGSTRLENBUGREQUEST']._serialized_end=14748 - _globals['_GETANIVIDANCEWITHATWISTSTRINGSTRLENBUGRESPONSE']._serialized_start=14750 - _globals['_GETANIVIDANCEWITHATWISTSTRINGSTRLENBUGRESPONSE']._serialized_end=14855 - _globals['_GETARRAYSIZEFORCUSTOMCODEREQUEST']._serialized_start=14857 - _globals['_GETARRAYSIZEFORCUSTOMCODEREQUEST']._serialized_end=14927 - _globals['_GETARRAYSIZEFORCUSTOMCODERESPONSE']._serialized_start=14929 - _globals['_GETARRAYSIZEFORCUSTOMCODERESPONSE']._serialized_end=14998 - _globals['_GETARRAYVIUINT8WITHENUMREQUEST']._serialized_start=15000 - _globals['_GETARRAYVIUINT8WITHENUMREQUEST']._serialized_end=15087 - _globals['_GETARRAYVIUINT8WITHENUMRESPONSE']._serialized_start=15090 - _globals['_GETARRAYVIUINT8WITHENUMRESPONSE']._serialized_end=15229 - _globals['_GETVIUINT8REQUEST']._serialized_start=15231 - _globals['_GETVIUINT8REQUEST']._serialized_end=15286 - _globals['_GETVIUINT8RESPONSE']._serialized_start=15288 - _globals['_GETVIUINT8RESPONSE']._serialized_end=15348 - _globals['_GETVIINT32ARRAYREQUEST']._serialized_start=15350 - _globals['_GETVIINT32ARRAYREQUEST']._serialized_end=15429 - _globals['_GETVIINT32ARRAYRESPONSE']._serialized_start=15431 - _globals['_GETVIINT32ARRAYRESPONSE']._serialized_end=15493 - _globals['_GETVIUINT32ARRAYREQUEST']._serialized_start=15495 - _globals['_GETVIUINT32ARRAYREQUEST']._serialized_end=15575 - _globals['_GETVIUINT32ARRAYRESPONSE']._serialized_start=15577 - _globals['_GETVIUINT32ARRAYRESPONSE']._serialized_end=15642 - _globals['_METHODUSINGENUMWITHGRPCNAMEVALUESREQUEST']._serialized_start=15645 - _globals['_METHODUSINGENUMWITHGRPCNAMEVALUESREQUEST']._serialized_end=15791 - _globals['_METHODUSINGENUMWITHGRPCNAMEVALUESRESPONSE']._serialized_start=15793 - _globals['_METHODUSINGENUMWITHGRPCNAMEVALUESRESPONSE']._serialized_end=15852 - _globals['_METHODWITHGETLASTERRORPARAMREQUEST']._serialized_start=15854 - _globals['_METHODWITHGETLASTERRORPARAMREQUEST']._serialized_end=15890 - _globals['_METHODWITHGETLASTERRORPARAMRESPONSE']._serialized_start=15892 - _globals['_METHODWITHGETLASTERRORPARAMRESPONSE']._serialized_end=15969 - _globals['_METHODWITHGRPCONLYPARAMREQUEST']._serialized_start=15971 - _globals['_METHODWITHGRPCONLYPARAMREQUEST']._serialized_end=16025 - _globals['_METHODWITHGRPCONLYPARAMRESPONSE']._serialized_start=16027 - _globals['_METHODWITHGRPCONLYPARAMRESPONSE']._serialized_end=16101 - _globals['_METHODUSINGWHOLEANDFRACTIONALNUMBERSREQUEST']._serialized_start=16103 - _globals['_METHODUSINGWHOLEANDFRACTIONALNUMBERSREQUEST']._serialized_end=16148 - _globals['_METHODUSINGWHOLEANDFRACTIONALNUMBERSRESPONSE']._serialized_start=16151 - _globals['_METHODUSINGWHOLEANDFRACTIONALNUMBERSRESPONSE']._serialized_end=16392 - _globals['_METHODUSINGWHOLEMAPPEDNUMBERSREQUEST']._serialized_start=16394 - _globals['_METHODUSINGWHOLEMAPPEDNUMBERSREQUEST']._serialized_end=16432 - _globals['_METHODUSINGWHOLEMAPPEDNUMBERSRESPONSE']._serialized_start=16435 - _globals['_METHODUSINGWHOLEMAPPEDNUMBERSRESPONSE']._serialized_end=16584 - _globals['_METHODWITHGRPCFIELDNUMBERREQUEST']._serialized_start=16586 - _globals['_METHODWITHGRPCFIELDNUMBERREQUEST']._serialized_end=16645 - _globals['_METHODWITHGRPCFIELDNUMBERRESPONSE']._serialized_start=16647 - _globals['_METHODWITHGRPCFIELDNUMBERRESPONSE']._serialized_end=16698 - _globals['_METHODWITHPROTOONLYPARAMETERREQUEST']._serialized_start=16700 - _globals['_METHODWITHPROTOONLYPARAMETERREQUEST']._serialized_end=16762 - _globals['_METHODWITHPROTOONLYPARAMETERRESPONSE']._serialized_start=16764 - _globals['_METHODWITHPROTOONLYPARAMETERRESPONSE']._serialized_end=16818 - _globals['_READDATAWITHINOUTIVITWISTREQUEST']._serialized_start=16820 - _globals['_READDATAWITHINOUTIVITWISTREQUEST']._serialized_end=16854 - _globals['_READDATAWITHINOUTIVITWISTRESPONSE']._serialized_start=16856 - _globals['_READDATAWITHINOUTIVITWISTRESPONSE']._serialized_end=16942 - _globals['_READDATAWITHMULTIPLEIVITWISTPARAMSETSREQUEST']._serialized_start=16944 - _globals['_READDATAWITHMULTIPLEIVITWISTPARAMSETSREQUEST']._serialized_end=16990 - _globals['_READDATAWITHMULTIPLEIVITWISTPARAMSETSRESPONSE']._serialized_start=16993 - _globals['_READDATAWITHMULTIPLEIVITWISTPARAMSETSRESPONSE']._serialized_end=17148 - _globals['_INITEXTCALREQUEST']._serialized_start=17150 - _globals['_INITEXTCALREQUEST']._serialized_end=17244 - _globals['_INITEXTCALRESPONSE']._serialized_start=17246 - _globals['_INITEXTCALRESPONSE']._serialized_end=17318 - _globals['_INITWITHVARARGSREQUEST']._serialized_start=17320 - _globals['_INITWITHVARARGSREQUEST']._serialized_end=17444 - _globals['_INITWITHVARARGSRESPONSE']._serialized_start=17446 - _globals['_INITWITHVARARGSRESPONSE']._serialized_end=17523 - _globals['_MULTIPLEARRAYSSAMESIZEWITHOPTIONALREQUEST']._serialized_start=17526 - _globals['_MULTIPLEARRAYSSAMESIZEWITHOPTIONALREQUEST']._serialized_end=17721 - _globals['_MULTIPLEARRAYSSAMESIZEWITHOPTIONALRESPONSE']._serialized_start=17723 - _globals['_MULTIPLEARRAYSSAMESIZEWITHOPTIONALRESPONSE']._serialized_end=17783 - _globals['_USEATWODIMENSIONPARAMETERREQUEST']._serialized_start=17785 - _globals['_USEATWODIMENSIONPARAMETERREQUEST']._serialized_end=17893 - _globals['_USEATWODIMENSIONPARAMETERRESPONSE']._serialized_start=17895 - _globals['_USEATWODIMENSIONPARAMETERRESPONSE']._serialized_end=17946 - _globals['_VIUINT8ARRAYINPUTFUNCTIONREQUEST']._serialized_start=17948 - _globals['_VIUINT8ARRAYINPUTFUNCTIONREQUEST']._serialized_end=18064 - _globals['_VIUINT8ARRAYINPUTFUNCTIONRESPONSE']._serialized_start=18066 - _globals['_VIUINT8ARRAYINPUTFUNCTIONRESPONSE']._serialized_end=18117 - _globals['_VIUINT8ARRAYOUTPUTFUNCTIONREQUEST']._serialized_start=18119 - _globals['_VIUINT8ARRAYOUTPUTFUNCTIONREQUEST']._serialized_end=18218 - _globals['_VIUINT8ARRAYOUTPUTFUNCTIONRESPONSE']._serialized_start=18220 - _globals['_VIUINT8ARRAYOUTPUTFUNCTIONRESPONSE']._serialized_end=18290 - _globals['_VIINT16ARRAYINPUTFUNCTIONREQUEST']._serialized_start=18292 - _globals['_VIINT16ARRAYINPUTFUNCTIONREQUEST']._serialized_end=18380 - _globals['_VIINT16ARRAYINPUTFUNCTIONRESPONSE']._serialized_start=18382 - _globals['_VIINT16ARRAYINPUTFUNCTIONRESPONSE']._serialized_end=18433 - _globals['_NIFAKE']._serialized_start=21555 - _globals['_NIFAKE']._serialized_end=33113 + _globals['_NICOMPLEXNUMBERF32_STRUCT']._serialized_start=451 + _globals['_NICOMPLEXNUMBERF32_STRUCT']._serialized_end=511 + _globals['_STRINGANDTURTLE']._serialized_start=513 + _globals['_STRINGANDTURTLE']._serialized_end=587 + _globals['_CUSTOMNAMEDTYPE']._serialized_start=589 + _globals['_CUSTOMNAMEDTYPE']._serialized_end=626 + _globals['_ABORTREQUEST']._serialized_start=628 + _globals['_ABORTREQUEST']._serialized_end=678 + _globals['_ABORTRESPONSE']._serialized_start=680 + _globals['_ABORTRESPONSE']._serialized_end=711 + _globals['_BOOLARRAYOUTPUTFUNCTIONREQUEST']._serialized_start=713 + _globals['_BOOLARRAYOUTPUTFUNCTIONREQUEST']._serialized_end=809 + _globals['_BOOLARRAYOUTPUTFUNCTIONRESPONSE']._serialized_start=811 + _globals['_BOOLARRAYOUTPUTFUNCTIONRESPONSE']._serialized_end=878 + _globals['_CLOSEREQUEST']._serialized_start=880 + _globals['_CLOSEREQUEST']._serialized_end=930 + _globals['_CLOSERESPONSE']._serialized_start=932 + _globals['_CLOSERESPONSE']._serialized_end=963 + _globals['_ENUMARRAYOUTPUTFUNCTIONREQUEST']._serialized_start=965 + _globals['_ENUMARRAYOUTPUTFUNCTIONREQUEST']._serialized_end=1061 + _globals['_ENUMARRAYOUTPUTFUNCTIONRESPONSE']._serialized_start=1063 + _globals['_ENUMARRAYOUTPUTFUNCTIONRESPONSE']._serialized_end=1173 + _globals['_ENUMINPUTFUNCTIONWITHDEFAULTSREQUEST']._serialized_start=1176 + _globals['_ENUMINPUTFUNCTIONWITHDEFAULTSREQUEST']._serialized_end=1332 + _globals['_ENUMINPUTFUNCTIONWITHDEFAULTSRESPONSE']._serialized_start=1334 + _globals['_ENUMINPUTFUNCTIONWITHDEFAULTSRESPONSE']._serialized_end=1389 + _globals['_STRINGVALUEDENUMINPUTFUNCTIONWITHDEFAULTSREQUEST']._serialized_start=1392 + _globals['_STRINGVALUEDENUMINPUTFUNCTIONWITHDEFAULTSREQUEST']._serialized_end=1598 + _globals['_STRINGVALUEDENUMINPUTFUNCTIONWITHDEFAULTSRESPONSE']._serialized_start=1600 + _globals['_STRINGVALUEDENUMINPUTFUNCTIONWITHDEFAULTSRESPONSE']._serialized_end=1667 + _globals['_ERRORMESSAGEREQUEST']._serialized_start=1669 + _globals['_ERRORMESSAGEREQUEST']._serialized_end=1746 + _globals['_ERRORMESSAGERESPONSE']._serialized_start=1748 + _globals['_ERRORMESSAGERESPONSE']._serialized_end=1809 + _globals['_FETCHWAVEFORMREQUEST']._serialized_start=1811 + _globals['_FETCHWAVEFORMREQUEST']._serialized_end=1896 + _globals['_FETCHWAVEFORMRESPONSE']._serialized_start=1898 + _globals['_FETCHWAVEFORMRESPONSE']._serialized_end=1994 + _globals['_GETABOOLEANREQUEST']._serialized_start=1996 + _globals['_GETABOOLEANREQUEST']._serialized_end=2052 + _globals['_GETABOOLEANRESPONSE']._serialized_start=2054 + _globals['_GETABOOLEANRESPONSE']._serialized_end=2110 + _globals['_GETANUMBERREQUEST']._serialized_start=2112 + _globals['_GETANUMBERREQUEST']._serialized_end=2167 + _globals['_GETANUMBERRESPONSE']._serialized_start=2169 + _globals['_GETANUMBERRESPONSE']._serialized_end=2223 + _globals['_GETASTRINGOFFIXEDMAXIMUMSIZEREQUEST']._serialized_start=2225 + _globals['_GETASTRINGOFFIXEDMAXIMUMSIZEREQUEST']._serialized_end=2298 + _globals['_GETASTRINGOFFIXEDMAXIMUMSIZERESPONSE']._serialized_start=2300 + _globals['_GETASTRINGOFFIXEDMAXIMUMSIZERESPONSE']._serialized_end=2372 + _globals['_GETANIVIDANCECHARARRAYREQUEST']._serialized_start=2374 + _globals['_GETANIVIDANCECHARARRAYREQUEST']._serialized_end=2441 + _globals['_GETANIVIDANCECHARARRAYRESPONSE']._serialized_start=2443 + _globals['_GETANIVIDANCECHARARRAYRESPONSE']._serialized_end=2511 + _globals['_GETARRAYUSINGIVIDANCEREQUEST']._serialized_start=2513 + _globals['_GETARRAYUSINGIVIDANCEREQUEST']._serialized_end=2579 + _globals['_GETARRAYUSINGIVIDANCERESPONSE']._serialized_start=2581 + _globals['_GETARRAYUSINGIVIDANCERESPONSE']._serialized_end=2647 + _globals['_GETATTRIBUTEVIBOOLEANREQUEST']._serialized_start=2650 + _globals['_GETATTRIBUTEVIBOOLEANREQUEST']._serialized_end=2790 + _globals['_GETATTRIBUTEVIBOOLEANRESPONSE']._serialized_start=2792 + _globals['_GETATTRIBUTEVIBOOLEANRESPONSE']._serialized_end=2864 + _globals['_GETATTRIBUTEVIINT32REQUEST']._serialized_start=2867 + _globals['_GETATTRIBUTEVIINT32REQUEST']._serialized_end=3005 + _globals['_GETATTRIBUTEVIINT32RESPONSE']._serialized_start=3007 + _globals['_GETATTRIBUTEVIINT32RESPONSE']._serialized_end=3077 + _globals['_GETATTRIBUTEVIINT64REQUEST']._serialized_start=3080 + _globals['_GETATTRIBUTEVIINT64REQUEST']._serialized_end=3218 + _globals['_GETATTRIBUTEVIINT64RESPONSE']._serialized_start=3220 + _globals['_GETATTRIBUTEVIINT64RESPONSE']._serialized_end=3290 + _globals['_GETATTRIBUTEVIREAL64REQUEST']._serialized_start=3293 + _globals['_GETATTRIBUTEVIREAL64REQUEST']._serialized_end=3432 + _globals['_GETATTRIBUTEVIREAL64RESPONSE']._serialized_start=3434 + _globals['_GETATTRIBUTEVIREAL64RESPONSE']._serialized_end=3505 + _globals['_GETATTRIBUTEVISESSIONREQUEST']._serialized_start=3508 + _globals['_GETATTRIBUTEVISESSIONREQUEST']._serialized_end=3648 + _globals['_GETATTRIBUTEVISESSIONRESPONSE']._serialized_start=3650 + _globals['_GETATTRIBUTEVISESSIONRESPONSE']._serialized_end=3746 + _globals['_GETATTRIBUTEVISTRINGREQUEST']._serialized_start=3749 + _globals['_GETATTRIBUTEVISTRINGREQUEST']._serialized_end=3888 + _globals['_GETATTRIBUTEVISTRINGRESPONSE']._serialized_start=3890 + _globals['_GETATTRIBUTEVISTRINGRESPONSE']._serialized_end=3961 + _globals['_GETCALDATEANDTIMEREQUEST']._serialized_start=3963 + _globals['_GETCALDATEANDTIMEREQUEST']._serialized_end=4043 + _globals['_GETCALDATEANDTIMERESPONSE']._serialized_start=4045 + _globals['_GETCALDATEANDTIMERESPONSE']._serialized_end=4160 + _globals['_GETCALINTERVALREQUEST']._serialized_start=4162 + _globals['_GETCALINTERVALREQUEST']._serialized_end=4221 + _globals['_GETCALINTERVALRESPONSE']._serialized_start=4223 + _globals['_GETCALINTERVALRESPONSE']._serialized_end=4279 + _globals['_GETENUMVALUEREQUEST']._serialized_start=4281 + _globals['_GETENUMVALUEREQUEST']._serialized_end=4338 + _globals['_GETENUMVALUERESPONSE']._serialized_start=4340 + _globals['_GETENUMVALUERESPONSE']._serialized_end=4459 + _globals['_GETERRORREQUEST']._serialized_start=4461 + _globals['_GETERRORREQUEST']._serialized_end=4514 + _globals['_GETERRORRESPONSE']._serialized_start=4516 + _globals['_GETERRORRESPONSE']._serialized_end=4591 + _globals['_INITWITHOPTIONSREQUEST']._serialized_start=4594 + _globals['_INITWITHOPTIONSREQUEST']._serialized_end=4805 + _globals['_INITWITHOPTIONSRESPONSE']._serialized_start=4807 + _globals['_INITWITHOPTIONSRESPONSE']._serialized_end=4917 + _globals['_MULTIPLEARRAYTYPESREQUEST']._serialized_start=4920 + _globals['_MULTIPLEARRAYTYPESREQUEST']._serialized_end=5074 + _globals['_MULTIPLEARRAYTYPESRESPONSE']._serialized_start=5076 + _globals['_MULTIPLEARRAYTYPESRESPONSE']._serialized_end=5180 + _globals['_MULTIPLEARRAYSSAMESIZEREQUEST']._serialized_start=5183 + _globals['_MULTIPLEARRAYSSAMESIZEREQUEST']._serialized_end=5318 + _globals['_MULTIPLEARRAYSSAMESIZERESPONSE']._serialized_start=5320 + _globals['_MULTIPLEARRAYSSAMESIZERESPONSE']._serialized_end=5368 + _globals['_MULTIPLEARRAYSDIFFERENTSIZEREQUEST']._serialized_start=5370 + _globals['_MULTIPLEARRAYSDIFFERENTSIZEREQUEST']._serialized_end=5484 + _globals['_MULTIPLEARRAYSDIFFERENTSIZERESPONSE']._serialized_start=5486 + _globals['_MULTIPLEARRAYSDIFFERENTSIZERESPONSE']._serialized_end=5539 + _globals['_MIXEDIVIDANCEANDLENMECHANISMREQUEST']._serialized_start=5541 + _globals['_MIXEDIVIDANCEANDLENMECHANISMREQUEST']._serialized_end=5636 + _globals['_MIXEDIVIDANCEANDLENMECHANISMRESPONSE']._serialized_start=5638 + _globals['_MIXEDIVIDANCEANDLENMECHANISMRESPONSE']._serialized_end=5714 + _globals['_ONEINPUTFUNCTIONREQUEST']._serialized_start=5716 + _globals['_ONEINPUTFUNCTIONREQUEST']._serialized_end=5795 + _globals['_ONEINPUTFUNCTIONRESPONSE']._serialized_start=5797 + _globals['_ONEINPUTFUNCTIONRESPONSE']._serialized_end=5839 + _globals['_PARAMETERSAREMULTIPLETYPESREQUEST']._serialized_start=5842 + _globals['_PARAMETERSAREMULTIPLETYPESREQUEST']._serialized_end=6198 + _globals['_PARAMETERSAREMULTIPLETYPESRESPONSE']._serialized_start=6200 + _globals['_PARAMETERSAREMULTIPLETYPESRESPONSE']._serialized_end=6252 + _globals['_POORLYNAMEDSIMPLEFUNCTIONREQUEST']._serialized_start=6254 + _globals['_POORLYNAMEDSIMPLEFUNCTIONREQUEST']._serialized_end=6324 + _globals['_POORLYNAMEDSIMPLEFUNCTIONRESPONSE']._serialized_start=6326 + _globals['_POORLYNAMEDSIMPLEFUNCTIONRESPONSE']._serialized_end=6377 + _globals['_READREQUEST']._serialized_start=6379 + _globals['_READREQUEST']._serialized_end=6450 + _globals['_READRESPONSE']._serialized_start=6452 + _globals['_READRESPONSE']._serialized_end=6499 + _globals['_READFROMCHANNELREQUEST']._serialized_start=6501 + _globals['_READFROMCHANNELREQUEST']._serialized_end=6605 + _globals['_READFROMCHANNELRESPONSE']._serialized_start=6607 + _globals['_READFROMCHANNELRESPONSE']._serialized_end=6665 + _globals['_RETURNANUMBERANDASTRINGREQUEST']._serialized_start=6667 + _globals['_RETURNANUMBERANDASTRINGREQUEST']._serialized_end=6735 + _globals['_RETURNANUMBERANDASTRINGRESPONSE']._serialized_start=6737 + _globals['_RETURNANUMBERANDASTRINGRESPONSE']._serialized_end=6822 + _globals['_RETURNMULTIPLETYPESREQUEST']._serialized_start=6824 + _globals['_RETURNMULTIPLETYPESREQUEST']._serialized_end=6908 + _globals['_RETURNMULTIPLETYPESRESPONSE']._serialized_start=6911 + _globals['_RETURNMULTIPLETYPESRESPONSE']._serialized_end=7210 + _globals['_SETATTRIBUTEVIBOOLEANREQUEST']._serialized_start=7213 + _globals['_SETATTRIBUTEVIBOOLEANREQUEST']._serialized_end=7378 + _globals['_SETATTRIBUTEVIBOOLEANRESPONSE']._serialized_start=7380 + _globals['_SETATTRIBUTEVIBOOLEANRESPONSE']._serialized_end=7427 + _globals['_SETATTRIBUTEVIINT32REQUEST']._serialized_start=7430 + _globals['_SETATTRIBUTEVIINT32REQUEST']._serialized_end=7691 + _globals['_SETATTRIBUTEVIINT32RESPONSE']._serialized_start=7693 + _globals['_SETATTRIBUTEVIINT32RESPONSE']._serialized_end=7738 + _globals['_SETATTRIBUTEVIINT64REQUEST']._serialized_start=7741 + _globals['_SETATTRIBUTEVIINT64REQUEST']._serialized_end=7908 + _globals['_SETATTRIBUTEVIINT64RESPONSE']._serialized_start=7910 + _globals['_SETATTRIBUTEVIINT64RESPONSE']._serialized_end=7955 + _globals['_SETATTRIBUTEVIREAL64REQUEST']._serialized_start=7958 + _globals['_SETATTRIBUTEVIREAL64REQUEST']._serialized_end=8303 + _globals['_SETATTRIBUTEVIREAL64RESPONSE']._serialized_start=8305 + _globals['_SETATTRIBUTEVIREAL64RESPONSE']._serialized_end=8351 + _globals['_SETATTRIBUTEVISTRINGREQUEST']._serialized_start=8354 + _globals['_SETATTRIBUTEVISTRINGREQUEST']._serialized_end=8522 + _globals['_SETATTRIBUTEVISTRINGRESPONSE']._serialized_start=8524 + _globals['_SETATTRIBUTEVISTRINGRESPONSE']._serialized_end=8570 + _globals['_TWOINPUTFUNCTIONREQUEST']._serialized_start=8572 + _globals['_TWOINPUTFUNCTIONREQUEST']._serialized_end=8669 + _globals['_TWOINPUTFUNCTIONRESPONSE']._serialized_start=8671 + _globals['_TWOINPUTFUNCTIONRESPONSE']._serialized_end=8713 + _globals['_USE64BITNUMBERREQUEST']._serialized_start=8715 + _globals['_USE64BITNUMBERREQUEST']._serialized_end=8789 + _globals['_USE64BITNUMBERRESPONSE']._serialized_start=8791 + _globals['_USE64BITNUMBERRESPONSE']._serialized_end=8847 + _globals['_WRITEWAVEFORMREQUEST']._serialized_start=8849 + _globals['_WRITEWAVEFORMREQUEST']._serialized_end=8925 + _globals['_WRITEWAVEFORMRESPONSE']._serialized_start=8927 + _globals['_WRITEWAVEFORMRESPONSE']._serialized_end=8966 + _globals['_WRITEWAVEFORMNUMPYCOMPLEX128REQUEST']._serialized_start=8969 + _globals['_WRITEWAVEFORMNUMPYCOMPLEX128REQUEST']._serialized_end=9108 + _globals['_WRITEWAVEFORMNUMPYCOMPLEX128RESPONSE']._serialized_start=9110 + _globals['_WRITEWAVEFORMNUMPYCOMPLEX128RESPONSE']._serialized_end=9164 + _globals['_WRITEWAVEFORMNUMPYCOMPLEX64REQUEST']._serialized_start=9167 + _globals['_WRITEWAVEFORMNUMPYCOMPLEX64REQUEST']._serialized_end=9308 + _globals['_WRITEWAVEFORMNUMPYCOMPLEX64RESPONSE']._serialized_start=9310 + _globals['_WRITEWAVEFORMNUMPYCOMPLEX64RESPONSE']._serialized_end=9363 + _globals['_WRITEWAVEFORMNUMPYCOMPLEXINTERLEAVEDI16REQUEST']._serialized_start=9366 + _globals['_WRITEWAVEFORMNUMPYCOMPLEXINTERLEAVEDI16REQUEST']._serialized_end=9513 + _globals['_WRITEWAVEFORMNUMPYCOMPLEXINTERLEAVEDI16RESPONSE']._serialized_start=9515 + _globals['_WRITEWAVEFORMNUMPYCOMPLEXINTERLEAVEDI16RESPONSE']._serialized_end=9580 + _globals['_SETCUSTOMTYPEREQUEST']._serialized_start=9582 + _globals['_SETCUSTOMTYPEREQUEST']._serialized_end=9683 + _globals['_SETCUSTOMTYPERESPONSE']._serialized_start=9685 + _globals['_SETCUSTOMTYPERESPONSE']._serialized_end=9724 + _globals['_SETCUSTOMTYPEARRAYREQUEST']._serialized_start=9726 + _globals['_SETCUSTOMTYPEARRAYREQUEST']._serialized_end=9832 + _globals['_SETCUSTOMTYPEARRAYRESPONSE']._serialized_start=9834 + _globals['_SETCUSTOMTYPEARRAYRESPONSE']._serialized_end=9878 + _globals['_GETCUSTOMTYPEREQUEST']._serialized_start=9880 + _globals['_GETCUSTOMTYPEREQUEST']._serialized_end=9938 + _globals['_GETCUSTOMTYPERESPONSE']._serialized_start=9940 + _globals['_GETCUSTOMTYPERESPONSE']._serialized_end=10022 + _globals['_GETCUSTOMTYPEARRAYREQUEST']._serialized_start=10024 + _globals['_GETCUSTOMTYPEARRAYREQUEST']._serialized_end=10115 + _globals['_GETCUSTOMTYPEARRAYRESPONSE']._serialized_start=10117 + _globals['_GETCUSTOMTYPEARRAYRESPONSE']._serialized_end=10204 + _globals['_GETANIVIDANCEWITHATWISTARRAYREQUEST']._serialized_start=10206 + _globals['_GETANIVIDANCEWITHATWISTARRAYREQUEST']._serialized_end=10297 + _globals['_GETANIVIDANCEWITHATWISTARRAYRESPONSE']._serialized_start=10299 + _globals['_GETANIVIDANCEWITHATWISTARRAYRESPONSE']._serialized_end=10393 + _globals['_GETANIVIDANCEWITHATWISTSTRINGREQUEST']._serialized_start=10395 + _globals['_GETANIVIDANCEWITHATWISTSTRINGREQUEST']._serialized_end=10469 + _globals['_GETANIVIDANCEWITHATWISTSTRINGRESPONSE']._serialized_start=10471 + _globals['_GETANIVIDANCEWITHATWISTSTRINGRESPONSE']._serialized_end=10565 + _globals['_DOUBLEALLTHENUMSREQUEST']._serialized_start=10567 + _globals['_DOUBLEALLTHENUMSREQUEST']._serialized_end=10645 + _globals['_DOUBLEALLTHENUMSRESPONSE']._serialized_start=10647 + _globals['_DOUBLEALLTHENUMSRESPONSE']._serialized_end=10689 + _globals['_ACCEPTLISTOFDURATIONSINSECONDSREQUEST']._serialized_start=10691 + _globals['_ACCEPTLISTOFDURATIONSINSECONDSREQUEST']._serialized_end=10782 + _globals['_ACCEPTLISTOFDURATIONSINSECONDSRESPONSE']._serialized_start=10784 + _globals['_ACCEPTLISTOFDURATIONSINSECONDSRESPONSE']._serialized_end=10840 + _globals['_RETURNDURATIONINSECONDSREQUEST']._serialized_start=10842 + _globals['_RETURNDURATIONINSECONDSREQUEST']._serialized_end=10910 + _globals['_RETURNDURATIONINSECONDSRESPONSE']._serialized_start=10912 + _globals['_RETURNDURATIONINSECONDSRESPONSE']._serialized_end=10980 + _globals['_RETURNLISTOFDURATIONSINSECONDSREQUEST']._serialized_start=10982 + _globals['_RETURNLISTOFDURATIONSINSECONDSREQUEST']._serialized_end=11085 + _globals['_RETURNLISTOFDURATIONSINSECONDSRESPONSE']._serialized_start=11087 + _globals['_RETURNLISTOFDURATIONSINSECONDSRESPONSE']._serialized_end=11163 + _globals['_CONFIGUREABCREQUEST']._serialized_start=11165 + _globals['_CONFIGUREABCREQUEST']._serialized_end=11222 + _globals['_CONFIGUREABCRESPONSE']._serialized_start=11224 + _globals['_CONFIGUREABCRESPONSE']._serialized_end=11262 + _globals['_CONFIGUREENUMSREQUEST']._serialized_start=11265 + _globals['_CONFIGUREENUMSREQUEST']._serialized_end=11534 + _globals['_CONFIGUREENUMSRESPONSE']._serialized_start=11536 + _globals['_CONFIGUREENUMSRESPONSE']._serialized_end=11576 + _globals['_EXPORTATTRIBUTECONFIGURATIONBUFFEREXREQUEST']._serialized_start=11578 + _globals['_EXPORTATTRIBUTECONFIGURATIONBUFFEREXREQUEST']._serialized_end=11659 + _globals['_EXPORTATTRIBUTECONFIGURATIONBUFFEREXRESPONSE']._serialized_start=11661 + _globals['_EXPORTATTRIBUTECONFIGURATIONBUFFEREXRESPONSE']._serialized_end=11746 + _globals['_IMPORTATTRIBUTECONFIGURATIONBUFFEREXREQUEST']._serialized_start=11748 + _globals['_IMPORTATTRIBUTECONFIGURATIONBUFFEREXREQUEST']._serialized_end=11852 + _globals['_IMPORTATTRIBUTECONFIGURATIONBUFFEREXRESPONSE']._serialized_start=11854 + _globals['_IMPORTATTRIBUTECONFIGURATIONBUFFEREXRESPONSE']._serialized_end=11916 + _globals['_FETCHWITHCUSTOMSIZEREQUEST']._serialized_start=11918 + _globals['_FETCHWITHCUSTOMSIZEREQUEST']._serialized_end=12038 + _globals['_FETCHWITHCUSTOMSIZERESPONSE']._serialized_start=12040 + _globals['_FETCHWITHCUSTOMSIZERESPONSE']._serialized_end=12108 + _globals['_GETPARAMETERWITHOVERRIDDENGRPCNAMEREQUEST']._serialized_start=12111 + _globals['_GETPARAMETERWITHOVERRIDDENGRPCNAMEREQUEST']._serialized_end=12302 + _globals['_GETPARAMETERWITHOVERRIDDENGRPCNAMERESPONSE']._serialized_start=12304 + _globals['_GETPARAMETERWITHOVERRIDDENGRPCNAMERESPONSE']._serialized_end=12394 + _globals['_IVIDANCEWITHTWISTWITHMULTIPLEARRAYSANDONEBUFFERSIZEREQUEST']._serialized_start=12396 + _globals['_IVIDANCEWITHTWISTWITHMULTIPLEARRAYSANDONEBUFFERSIZEREQUEST']._serialized_end=12492 + _globals['_IVIDANCEWITHTWISTWITHMULTIPLEARRAYSANDONEBUFFERSIZERESPONSE']._serialized_start=12495 + _globals['_IVIDANCEWITHTWISTWITHMULTIPLEARRAYSANDONEBUFFERSIZERESPONSE']._serialized_end=12649 + _globals['_FUNCTIONWITHOVERRIDDENGRPCNAME2XREQUEST']._serialized_start=12651 + _globals['_FUNCTIONWITHOVERRIDDENGRPCNAME2XREQUEST']._serialized_end=12728 + _globals['_FUNCTIONWITHOVERRIDDENGRPCNAME2XRESPONSE']._serialized_start=12730 + _globals['_FUNCTIONWITHOVERRIDDENGRPCNAME2XRESPONSE']._serialized_end=12788 + _globals['_FUNCTIONWITH3DNUMPYARRAYOFNUMPYCOMPLEX128INPUTPARAMETERREQUEST']._serialized_start=12791 + _globals['_FUNCTIONWITH3DNUMPYARRAYOFNUMPYCOMPLEX128INPUTPARAMETERREQUEST']._serialized_end=12960 + _globals['_FUNCTIONWITH3DNUMPYARRAYOFNUMPYCOMPLEX128INPUTPARAMETERRESPONSE']._serialized_start=12962 + _globals['_FUNCTIONWITH3DNUMPYARRAYOFNUMPYCOMPLEX128INPUTPARAMETERRESPONSE']._serialized_end=13043 + _globals['_STRINGVALUEDENUMNOENUMGENERATEDREQUEST']._serialized_start=13045 + _globals['_STRINGVALUEDENUMNOENUMGENERATEDREQUEST']._serialized_end=13144 + _globals['_STRINGVALUEDENUMNOENUMGENERATEDRESPONSE']._serialized_start=13146 + _globals['_STRINGVALUEDENUMNOENUMGENERATEDRESPONSE']._serialized_end=13203 + _globals['_IVIDANCEWITHATWISTCALCULATEDSIZEOUTREQUEST']._serialized_start=13205 + _globals['_IVIDANCEWITHATWISTCALCULATEDSIZEOUTREQUEST']._serialized_end=13285 + _globals['_IVIDANCEWITHATWISTCALCULATEDSIZEOUTRESPONSE']._serialized_start=13288 + _globals['_IVIDANCEWITHATWISTCALCULATEDSIZEOUTRESPONSE']._serialized_end=13430 + _globals['_IMPORTATTRIBUTECONFIGURATIONBUFFERREQUEST']._serialized_start=13432 + _globals['_IMPORTATTRIBUTECONFIGURATIONBUFFERREQUEST']._serialized_end=13534 + _globals['_IMPORTATTRIBUTECONFIGURATIONBUFFERRESPONSE']._serialized_start=13536 + _globals['_IMPORTATTRIBUTECONFIGURATIONBUFFERRESPONSE']._serialized_end=13596 + _globals['_EXPORTATTRIBUTECONFIGURATIONBUFFERREQUEST']._serialized_start=13598 + _globals['_EXPORTATTRIBUTECONFIGURATIONBUFFERREQUEST']._serialized_end=13677 + _globals['_EXPORTATTRIBUTECONFIGURATIONBUFFERRESPONSE']._serialized_start=13679 + _globals['_EXPORTATTRIBUTECONFIGURATIONBUFFERRESPONSE']._serialized_end=13762 + _globals['_CONTROL4022REQUEST']._serialized_start=13764 + _globals['_CONTROL4022REQUEST']._serialized_end=13830 + _globals['_CONTROL4022RESPONSE']._serialized_start=13832 + _globals['_CONTROL4022RESPONSE']._serialized_end=13869 + _globals['_ACCEPTVISESSIONARRAYREQUEST']._serialized_start=13871 + _globals['_ACCEPTVISESSIONARRAYREQUEST']._serialized_end=13970 + _globals['_ACCEPTVISESSIONARRAYRESPONSE']._serialized_start=13972 + _globals['_ACCEPTVISESSIONARRAYRESPONSE']._serialized_end=14018 + _globals['_ACCEPTVIUINT32ARRAYREQUEST']._serialized_start=14020 + _globals['_ACCEPTVIUINT32ARRAYREQUEST']._serialized_end=14107 + _globals['_ACCEPTVIUINT32ARRAYRESPONSE']._serialized_start=14109 + _globals['_ACCEPTVIUINT32ARRAYRESPONSE']._serialized_end=14154 + _globals['_BOOLARRAYINPUTFUNCTIONREQUEST']._serialized_start=14156 + _globals['_BOOLARRAYINPUTFUNCTIONREQUEST']._serialized_end=14269 + _globals['_BOOLARRAYINPUTFUNCTIONRESPONSE']._serialized_start=14271 + _globals['_BOOLARRAYINPUTFUNCTIONRESPONSE']._serialized_end=14319 + _globals['_CLOSEEXTCALREQUEST']._serialized_start=14321 + _globals['_CLOSEEXTCALREQUEST']._serialized_end=14393 + _globals['_CLOSEEXTCALRESPONSE']._serialized_start=14395 + _globals['_CLOSEEXTCALRESPONSE']._serialized_end=14432 + _globals['_COMMANDWITHRESERVEDPARAMREQUEST']._serialized_start=14434 + _globals['_COMMANDWITHRESERVEDPARAMREQUEST']._serialized_end=14503 + _globals['_COMMANDWITHRESERVEDPARAMRESPONSE']._serialized_start=14505 + _globals['_COMMANDWITHRESERVEDPARAMRESPONSE']._serialized_end=14555 + _globals['_CREATECONFIGURATIONLISTREQUEST']._serialized_start=14557 + _globals['_CREATECONFIGURATIONLISTREQUEST']._serialized_end=14647 + _globals['_CREATECONFIGURATIONLISTRESPONSE']._serialized_start=14649 + _globals['_CREATECONFIGURATIONLISTRESPONSE']._serialized_end=14698 + _globals['_CUSTOMNESTEDSTRUCTROUNDTRIPREQUEST']._serialized_start=14700 + _globals['_CUSTOMNESTEDSTRUCTROUNDTRIPREQUEST']._serialized_end=14807 + _globals['_CUSTOMNESTEDSTRUCTROUNDTRIPRESPONSE']._serialized_start=14809 + _globals['_CUSTOMNESTEDSTRUCTROUNDTRIPRESPONSE']._serialized_end=14934 + _globals['_GETBITFIELDASENUMARRAYREQUEST']._serialized_start=14936 + _globals['_GETBITFIELDASENUMARRAYREQUEST']._serialized_end=14967 + _globals['_GETBITFIELDASENUMARRAYRESPONSE']._serialized_start=14969 + _globals['_GETBITFIELDASENUMARRAYRESPONSE']._serialized_end=15080 + _globals['_GETANIVIDANCEWITHATWISTARRAYOFCUSTOMTYPEREQUEST']._serialized_start=15082 + _globals['_GETANIVIDANCEWITHATWISTARRAYOFCUSTOMTYPEREQUEST']._serialized_end=15167 + _globals['_GETANIVIDANCEWITHATWISTARRAYOFCUSTOMTYPERESPONSE']._serialized_start=15170 + _globals['_GETANIVIDANCEWITHATWISTARRAYOFCUSTOMTYPERESPONSE']._serialized_end=15307 + _globals['_GETANIVIDANCEWITHATWISTARRAYWITHINPUTARRAYREQUEST']._serialized_start=15309 + _globals['_GETANIVIDANCEWITHATWISTARRAYWITHINPUTARRAYREQUEST']._serialized_end=15377 + _globals['_GETANIVIDANCEWITHATWISTARRAYWITHINPUTARRAYRESPONSE']._serialized_start=15379 + _globals['_GETANIVIDANCEWITHATWISTARRAYWITHINPUTARRAYRESPONSE']._serialized_end=15487 + _globals['_GETANIVIDANCEWITHATWISTBYTEARRAYREQUEST']._serialized_start=15489 + _globals['_GETANIVIDANCEWITHATWISTBYTEARRAYREQUEST']._serialized_end=15530 + _globals['_GETANIVIDANCEWITHATWISTBYTEARRAYRESPONSE']._serialized_start=15532 + _globals['_GETANIVIDANCEWITHATWISTBYTEARRAYRESPONSE']._serialized_end=15630 + _globals['_GETANIVIDANCEWITHATWISTSTRINGSTRLENBUGREQUEST']._serialized_start=15632 + _globals['_GETANIVIDANCEWITHATWISTSTRINGSTRLENBUGREQUEST']._serialized_end=15679 + _globals['_GETANIVIDANCEWITHATWISTSTRINGSTRLENBUGRESPONSE']._serialized_start=15681 + _globals['_GETANIVIDANCEWITHATWISTSTRINGSTRLENBUGRESPONSE']._serialized_end=15786 + _globals['_GETARRAYSIZEFORCUSTOMCODEREQUEST']._serialized_start=15788 + _globals['_GETARRAYSIZEFORCUSTOMCODEREQUEST']._serialized_end=15858 + _globals['_GETARRAYSIZEFORCUSTOMCODERESPONSE']._serialized_start=15860 + _globals['_GETARRAYSIZEFORCUSTOMCODERESPONSE']._serialized_end=15929 + _globals['_GETARRAYVIUINT8WITHENUMREQUEST']._serialized_start=15931 + _globals['_GETARRAYVIUINT8WITHENUMREQUEST']._serialized_end=16018 + _globals['_GETARRAYVIUINT8WITHENUMRESPONSE']._serialized_start=16021 + _globals['_GETARRAYVIUINT8WITHENUMRESPONSE']._serialized_end=16160 + _globals['_GETVIUINT8REQUEST']._serialized_start=16162 + _globals['_GETVIUINT8REQUEST']._serialized_end=16217 + _globals['_GETVIUINT8RESPONSE']._serialized_start=16219 + _globals['_GETVIUINT8RESPONSE']._serialized_end=16279 + _globals['_GETVIINT32ARRAYREQUEST']._serialized_start=16281 + _globals['_GETVIINT32ARRAYREQUEST']._serialized_end=16360 + _globals['_GETVIINT32ARRAYRESPONSE']._serialized_start=16362 + _globals['_GETVIINT32ARRAYRESPONSE']._serialized_end=16424 + _globals['_GETVIUINT32ARRAYREQUEST']._serialized_start=16426 + _globals['_GETVIUINT32ARRAYREQUEST']._serialized_end=16506 + _globals['_GETVIUINT32ARRAYRESPONSE']._serialized_start=16508 + _globals['_GETVIUINT32ARRAYRESPONSE']._serialized_end=16573 + _globals['_METHODUSINGENUMWITHGRPCNAMEVALUESREQUEST']._serialized_start=16576 + _globals['_METHODUSINGENUMWITHGRPCNAMEVALUESREQUEST']._serialized_end=16722 + _globals['_METHODUSINGENUMWITHGRPCNAMEVALUESRESPONSE']._serialized_start=16724 + _globals['_METHODUSINGENUMWITHGRPCNAMEVALUESRESPONSE']._serialized_end=16783 + _globals['_METHODWITHGETLASTERRORPARAMREQUEST']._serialized_start=16785 + _globals['_METHODWITHGETLASTERRORPARAMREQUEST']._serialized_end=16821 + _globals['_METHODWITHGETLASTERRORPARAMRESPONSE']._serialized_start=16823 + _globals['_METHODWITHGETLASTERRORPARAMRESPONSE']._serialized_end=16900 + _globals['_METHODWITHGRPCONLYPARAMREQUEST']._serialized_start=16902 + _globals['_METHODWITHGRPCONLYPARAMREQUEST']._serialized_end=16956 + _globals['_METHODWITHGRPCONLYPARAMRESPONSE']._serialized_start=16958 + _globals['_METHODWITHGRPCONLYPARAMRESPONSE']._serialized_end=17032 + _globals['_METHODUSINGWHOLEANDFRACTIONALNUMBERSREQUEST']._serialized_start=17034 + _globals['_METHODUSINGWHOLEANDFRACTIONALNUMBERSREQUEST']._serialized_end=17079 + _globals['_METHODUSINGWHOLEANDFRACTIONALNUMBERSRESPONSE']._serialized_start=17082 + _globals['_METHODUSINGWHOLEANDFRACTIONALNUMBERSRESPONSE']._serialized_end=17323 + _globals['_METHODUSINGWHOLEMAPPEDNUMBERSREQUEST']._serialized_start=17325 + _globals['_METHODUSINGWHOLEMAPPEDNUMBERSREQUEST']._serialized_end=17363 + _globals['_METHODUSINGWHOLEMAPPEDNUMBERSRESPONSE']._serialized_start=17366 + _globals['_METHODUSINGWHOLEMAPPEDNUMBERSRESPONSE']._serialized_end=17515 + _globals['_METHODWITHGRPCFIELDNUMBERREQUEST']._serialized_start=17517 + _globals['_METHODWITHGRPCFIELDNUMBERREQUEST']._serialized_end=17576 + _globals['_METHODWITHGRPCFIELDNUMBERRESPONSE']._serialized_start=17578 + _globals['_METHODWITHGRPCFIELDNUMBERRESPONSE']._serialized_end=17629 + _globals['_METHODWITHPROTOONLYPARAMETERREQUEST']._serialized_start=17631 + _globals['_METHODWITHPROTOONLYPARAMETERREQUEST']._serialized_end=17693 + _globals['_METHODWITHPROTOONLYPARAMETERRESPONSE']._serialized_start=17695 + _globals['_METHODWITHPROTOONLYPARAMETERRESPONSE']._serialized_end=17749 + _globals['_READDATAWITHINOUTIVITWISTREQUEST']._serialized_start=17751 + _globals['_READDATAWITHINOUTIVITWISTREQUEST']._serialized_end=17785 + _globals['_READDATAWITHINOUTIVITWISTRESPONSE']._serialized_start=17787 + _globals['_READDATAWITHINOUTIVITWISTRESPONSE']._serialized_end=17873 + _globals['_READDATAWITHMULTIPLEIVITWISTPARAMSETSREQUEST']._serialized_start=17875 + _globals['_READDATAWITHMULTIPLEIVITWISTPARAMSETSREQUEST']._serialized_end=17921 + _globals['_READDATAWITHMULTIPLEIVITWISTPARAMSETSRESPONSE']._serialized_start=17924 + _globals['_READDATAWITHMULTIPLEIVITWISTPARAMSETSRESPONSE']._serialized_end=18079 + _globals['_INITEXTCALREQUEST']._serialized_start=18081 + _globals['_INITEXTCALREQUEST']._serialized_end=18175 + _globals['_INITEXTCALRESPONSE']._serialized_start=18177 + _globals['_INITEXTCALRESPONSE']._serialized_end=18249 + _globals['_INITWITHVARARGSREQUEST']._serialized_start=18251 + _globals['_INITWITHVARARGSREQUEST']._serialized_end=18375 + _globals['_INITWITHVARARGSRESPONSE']._serialized_start=18377 + _globals['_INITWITHVARARGSRESPONSE']._serialized_end=18454 + _globals['_MULTIPLEARRAYSSAMESIZEWITHOPTIONALREQUEST']._serialized_start=18457 + _globals['_MULTIPLEARRAYSSAMESIZEWITHOPTIONALREQUEST']._serialized_end=18652 + _globals['_MULTIPLEARRAYSSAMESIZEWITHOPTIONALRESPONSE']._serialized_start=18654 + _globals['_MULTIPLEARRAYSSAMESIZEWITHOPTIONALRESPONSE']._serialized_end=18714 + _globals['_USEATWODIMENSIONPARAMETERREQUEST']._serialized_start=18716 + _globals['_USEATWODIMENSIONPARAMETERREQUEST']._serialized_end=18824 + _globals['_USEATWODIMENSIONPARAMETERRESPONSE']._serialized_start=18826 + _globals['_USEATWODIMENSIONPARAMETERRESPONSE']._serialized_end=18877 + _globals['_VIUINT8ARRAYINPUTFUNCTIONREQUEST']._serialized_start=18879 + _globals['_VIUINT8ARRAYINPUTFUNCTIONREQUEST']._serialized_end=18995 + _globals['_VIUINT8ARRAYINPUTFUNCTIONRESPONSE']._serialized_start=18997 + _globals['_VIUINT8ARRAYINPUTFUNCTIONRESPONSE']._serialized_end=19048 + _globals['_VIUINT8ARRAYOUTPUTFUNCTIONREQUEST']._serialized_start=19050 + _globals['_VIUINT8ARRAYOUTPUTFUNCTIONREQUEST']._serialized_end=19149 + _globals['_VIUINT8ARRAYOUTPUTFUNCTIONRESPONSE']._serialized_start=19151 + _globals['_VIUINT8ARRAYOUTPUTFUNCTIONRESPONSE']._serialized_end=19221 + _globals['_VIINT16ARRAYINPUTFUNCTIONREQUEST']._serialized_start=19223 + _globals['_VIINT16ARRAYINPUTFUNCTIONREQUEST']._serialized_end=19311 + _globals['_VIINT16ARRAYINPUTFUNCTIONRESPONSE']._serialized_start=19313 + _globals['_VIINT16ARRAYINPUTFUNCTIONRESPONSE']._serialized_end=19364 + _globals['_NIFAKE']._serialized_start=22486 + _globals['_NIFAKE']._serialized_end=34691 # @@protoc_insertion_point(module_scope) diff --git a/generated/nifake/nifake/nifake_pb2_grpc.py b/generated/nifake/nifake/nifake_pb2_grpc.py index 7e0a3f2e4..6c68c06d4 100644 --- a/generated/nifake/nifake/nifake_pb2_grpc.py +++ b/generated/nifake/nifake/nifake_pb2_grpc.py @@ -229,6 +229,21 @@ def __init__(self, channel): request_serializer=nifake__pb2.WriteWaveformRequest.SerializeToString, response_deserializer=nifake__pb2.WriteWaveformResponse.FromString, ) + self.WriteWaveformNumpyComplex128 = channel.unary_unary( + '/nifake_grpc.NiFake/WriteWaveformNumpyComplex128', + request_serializer=nifake__pb2.WriteWaveformNumpyComplex128Request.SerializeToString, + response_deserializer=nifake__pb2.WriteWaveformNumpyComplex128Response.FromString, + ) + self.WriteWaveformNumpyComplex64 = channel.unary_unary( + '/nifake_grpc.NiFake/WriteWaveformNumpyComplex64', + request_serializer=nifake__pb2.WriteWaveformNumpyComplex64Request.SerializeToString, + response_deserializer=nifake__pb2.WriteWaveformNumpyComplex64Response.FromString, + ) + self.WriteWaveformNumpyComplexInterleavedI16 = channel.unary_unary( + '/nifake_grpc.NiFake/WriteWaveformNumpyComplexInterleavedI16', + request_serializer=nifake__pb2.WriteWaveformNumpyComplexInterleavedI16Request.SerializeToString, + response_deserializer=nifake__pb2.WriteWaveformNumpyComplexInterleavedI16Response.FromString, + ) self.SetCustomType = channel.unary_unary( '/nifake_grpc.NiFake/SetCustomType', request_serializer=nifake__pb2.SetCustomTypeRequest.SerializeToString, @@ -319,6 +334,11 @@ def __init__(self, channel): request_serializer=nifake__pb2.FunctionWithOverriddenGrpcName2xRequest.SerializeToString, response_deserializer=nifake__pb2.FunctionWithOverriddenGrpcName2xResponse.FromString, ) + self.FunctionWith3dNumpyArrayOfNumpyComplex128InputParameter = channel.unary_unary( + '/nifake_grpc.NiFake/FunctionWith3dNumpyArrayOfNumpyComplex128InputParameter', + request_serializer=nifake__pb2.FunctionWith3dNumpyArrayOfNumpyComplex128InputParameterRequest.SerializeToString, + response_deserializer=nifake__pb2.FunctionWith3dNumpyArrayOfNumpyComplex128InputParameterResponse.FromString, + ) self.StringValuedEnumNoEnumGenerated = channel.unary_unary( '/nifake_grpc.NiFake/StringValuedEnumNoEnumGenerated', request_serializer=nifake__pb2.StringValuedEnumNoEnumGeneratedRequest.SerializeToString, @@ -772,6 +792,24 @@ def WriteWaveform(self, request, context): context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') + def WriteWaveformNumpyComplex128(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def WriteWaveformNumpyComplex64(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def WriteWaveformNumpyComplexInterleavedI16(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + def SetCustomType(self, request, context): """Missing associated documentation comment in .proto file.""" context.set_code(grpc.StatusCode.UNIMPLEMENTED) @@ -880,6 +918,12 @@ def FunctionWithOverriddenGrpcName2x(self, request, context): context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') + def FunctionWith3dNumpyArrayOfNumpyComplex128InputParameter(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + def StringValuedEnumNoEnumGenerated(self, request, context): """Missing associated documentation comment in .proto file.""" context.set_code(grpc.StatusCode.UNIMPLEMENTED) @@ -1326,6 +1370,21 @@ def add_NiFakeServicer_to_server(servicer, server): request_deserializer=nifake__pb2.WriteWaveformRequest.FromString, response_serializer=nifake__pb2.WriteWaveformResponse.SerializeToString, ), + 'WriteWaveformNumpyComplex128': grpc.unary_unary_rpc_method_handler( + servicer.WriteWaveformNumpyComplex128, + request_deserializer=nifake__pb2.WriteWaveformNumpyComplex128Request.FromString, + response_serializer=nifake__pb2.WriteWaveformNumpyComplex128Response.SerializeToString, + ), + 'WriteWaveformNumpyComplex64': grpc.unary_unary_rpc_method_handler( + servicer.WriteWaveformNumpyComplex64, + request_deserializer=nifake__pb2.WriteWaveformNumpyComplex64Request.FromString, + response_serializer=nifake__pb2.WriteWaveformNumpyComplex64Response.SerializeToString, + ), + 'WriteWaveformNumpyComplexInterleavedI16': grpc.unary_unary_rpc_method_handler( + servicer.WriteWaveformNumpyComplexInterleavedI16, + request_deserializer=nifake__pb2.WriteWaveformNumpyComplexInterleavedI16Request.FromString, + response_serializer=nifake__pb2.WriteWaveformNumpyComplexInterleavedI16Response.SerializeToString, + ), 'SetCustomType': grpc.unary_unary_rpc_method_handler( servicer.SetCustomType, request_deserializer=nifake__pb2.SetCustomTypeRequest.FromString, @@ -1416,6 +1475,11 @@ def add_NiFakeServicer_to_server(servicer, server): request_deserializer=nifake__pb2.FunctionWithOverriddenGrpcName2xRequest.FromString, response_serializer=nifake__pb2.FunctionWithOverriddenGrpcName2xResponse.SerializeToString, ), + 'FunctionWith3dNumpyArrayOfNumpyComplex128InputParameter': grpc.unary_unary_rpc_method_handler( + servicer.FunctionWith3dNumpyArrayOfNumpyComplex128InputParameter, + request_deserializer=nifake__pb2.FunctionWith3dNumpyArrayOfNumpyComplex128InputParameterRequest.FromString, + response_serializer=nifake__pb2.FunctionWith3dNumpyArrayOfNumpyComplex128InputParameterResponse.SerializeToString, + ), 'StringValuedEnumNoEnumGenerated': grpc.unary_unary_rpc_method_handler( servicer.StringValuedEnumNoEnumGenerated, request_deserializer=nifake__pb2.StringValuedEnumNoEnumGeneratedRequest.FromString, @@ -2347,6 +2411,57 @@ def WriteWaveform(request, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + @staticmethod + def WriteWaveformNumpyComplex128(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/nifake_grpc.NiFake/WriteWaveformNumpyComplex128', + nifake__pb2.WriteWaveformNumpyComplex128Request.SerializeToString, + nifake__pb2.WriteWaveformNumpyComplex128Response.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def WriteWaveformNumpyComplex64(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/nifake_grpc.NiFake/WriteWaveformNumpyComplex64', + nifake__pb2.WriteWaveformNumpyComplex64Request.SerializeToString, + nifake__pb2.WriteWaveformNumpyComplex64Response.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def WriteWaveformNumpyComplexInterleavedI16(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/nifake_grpc.NiFake/WriteWaveformNumpyComplexInterleavedI16', + nifake__pb2.WriteWaveformNumpyComplexInterleavedI16Request.SerializeToString, + nifake__pb2.WriteWaveformNumpyComplexInterleavedI16Response.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + @staticmethod def SetCustomType(request, target, @@ -2653,6 +2768,23 @@ def FunctionWithOverriddenGrpcName2x(request, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + @staticmethod + def FunctionWith3dNumpyArrayOfNumpyComplex128InputParameter(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/nifake_grpc.NiFake/FunctionWith3dNumpyArrayOfNumpyComplex128InputParameter', + nifake__pb2.FunctionWith3dNumpyArrayOfNumpyComplex128InputParameterRequest.SerializeToString, + nifake__pb2.FunctionWith3dNumpyArrayOfNumpyComplex128InputParameterResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + @staticmethod def StringValuedEnumNoEnumGenerated(request, target, diff --git a/generated/nifake/nifake/unit_tests/test_grpc.py b/generated/nifake/nifake/unit_tests/test_grpc.py index ea790e6c7..b3a964b2c 100644 --- a/generated/nifake/nifake/unit_tests/test_grpc.py +++ b/generated/nifake/nifake/unit_tests/test_grpc.py @@ -407,6 +407,71 @@ def test_write_waveform_numpy(self): except NotImplementedError: pass + def test_write_waveform_numpy_complex128(self): + library_func = 'WriteWaveformNumpyComplex128' + waveform = numpy.array([1.0 + 2.0j, 3.0 + 4.0j, 5.0 + 6.0j], dtype=numpy.complex128) + grpc_waveform = [ + nifake._grpc_stub_interpreter.grpc_complex_types.NIComplexNumber(real=value.real, imaginary=value.imag) + for value in waveform.ravel() + ] + response_object = self._set_side_effect(library_func) + interpreter = self._get_initialized_stub_interpreter() + assert interpreter.write_waveform_numpy_complex128(waveform) is None + self._assert_call(library_func, response_object).assert_called_once_with( + vi=GRPC_SESSION_OBJECT_FOR_TEST, + waveform_data_array=grpc_waveform, + ) + + def test_write_waveform_numpy_complex64(self): + library_func = 'WriteWaveformNumpyComplex64' + waveform = numpy.array([1.0 + 2.0j, 3.0 + 4.0j, 5.0 + 6.0j], dtype=numpy.complex64) + grpc_waveform = [ + nifake._grpc_stub_interpreter.grpc_complex_types.NIComplexNumberF32(real=value.real, imaginary=value.imag) + for value in waveform.ravel() + ] + response_object = self._set_side_effect(library_func) + interpreter = self._get_initialized_stub_interpreter() + assert interpreter.write_waveform_numpy_complex64(waveform) is None + self._assert_call(library_func, response_object).assert_called_once_with( + vi=GRPC_SESSION_OBJECT_FOR_TEST, + waveform_data_array=grpc_waveform, + ) + + def test_write_waveform_numpy_complex_interleaved_i16(self): + library_func = 'WriteWaveformNumpyComplexInterleavedI16' + waveform = numpy.array([32767, 0, 123, -456], dtype=numpy.int16) + assert len(waveform) % 2 == 0 + grpc_waveform = [ + nifake._grpc_stub_interpreter.grpc_complex_types.NIComplexI16(real=waveform[i], imaginary=waveform[i + 1]) + for i in range(0, len(waveform), 2) + ] + assert len(grpc_waveform) == len(waveform) // 2 + response_object = self._set_side_effect(library_func) + interpreter = self._get_initialized_stub_interpreter() + assert interpreter.write_waveform_numpy_complex_interleaved_i16(waveform) is None + self._assert_call(library_func, response_object).assert_called_once_with( + vi=GRPC_SESSION_OBJECT_FOR_TEST, + waveform_data_array=grpc_waveform, + ) + + def test_function_with_3d_numpy_array_of_numpy_complex128_input_parameter(self): + library_func = 'FunctionWith3dNumpyArrayOfNumpyComplex128InputParameter' + array_3d = numpy.array( + [[[1.0 + 2.0j, 3.0 + 4.0j], [5.0 + 6.0j, 7.0 + 8.0j]], [[9.0 + 10.0j, 11.0 + 12.0j], [13.0 + 14.0j, 15.0 + 16.0j]]], + dtype=numpy.complex128, + ) + grpc_array = [ + nifake._grpc_stub_interpreter.grpc_complex_types.NIComplexNumber(real=value.real, imaginary=value.imag) + for value in array_3d.ravel() + ] + response_object = self._set_side_effect(library_func) + interpreter = self._get_initialized_stub_interpreter() + assert interpreter.function_with_3d_numpy_array_of_numpy_complex128_input_parameter(array_3d) is None + self._assert_call(library_func, response_object).assert_called_once_with( + vi=GRPC_SESSION_OBJECT_FOR_TEST, + multidimensional_array=grpc_array, + ) + def test_return_multiple_types(self): library_func = 'ReturnMultipleTypes' boolean_val = True diff --git a/generated/nirfsg/nirfsg/_grpc_stub_interpreter.py b/generated/nirfsg/nirfsg/_grpc_stub_interpreter.py index 708d6d500..b1eae312e 100644 --- a/generated/nirfsg/nirfsg/_grpc_stub_interpreter.py +++ b/generated/nirfsg/nirfsg/_grpc_stub_interpreter.py @@ -8,6 +8,7 @@ from . import enums as enums # noqa: F401 from . import errors as errors +from . import nidevice_pb2 as grpc_complex_types # noqa: F401 from . import nirfsg_pb2 as grpc_types from . import nirfsg_pb2_grpc as nirfsg_grpc from . import session_pb2 as session_grpc_types @@ -194,7 +195,15 @@ def configure_software_start_trigger(self): # noqa: N802 ) def create_deembedding_sparameter_table_array(self, port, table_name, frequencies, sparameter_table, number_of_ports, sparameter_orientation): # noqa: N802 - raise NotImplementedError('numpy-specific methods are not supported over gRPC') + # Use ravel() so that gRPC always receives a flat numpy array, regardless of input dimensions. + sparameter_table_list = [ + grpc_complex_types.NIComplexNumber(real=val.real, imaginary=val.imag) + for val in sparameter_table.ravel() + ] + self._invoke( + self._client.CreateDeembeddingSparameterTableArray, + grpc_types.CreateDeembeddingSparameterTableArrayRequest(vi=self._vi, port=port, table_name=table_name, frequencies=frequencies, sparameter_table=sparameter_table_list, number_of_ports=number_of_ports, sparameter_orientation_raw=sparameter_orientation.value), + ) def create_deembedding_sparameter_table_s2p_file(self, port, table_name, s2p_file_path, sparameter_orientation): # noqa: N802 self._invoke( @@ -552,13 +561,41 @@ def wait_until_settled(self, max_time_milliseconds): # noqa: N802 ) def write_arb_waveform_complex_f32(self, waveform_name, waveform_data_array, more_data_pending): # noqa: N802 - raise NotImplementedError('numpy-specific methods are not supported over gRPC') + # Use ravel() so that gRPC always receives a flat numpy array, regardless of input dimensions. + waveform_data_array_list = [ + grpc_complex_types.NIComplexNumberF32(real=val.real, imaginary=val.imag) + for val in waveform_data_array.ravel() + ] + self._invoke( + self._client.WriteArbWaveformComplexF32, + grpc_types.WriteArbWaveformComplexF32Request(vi=self._vi, waveform_name=waveform_name, wfm_data=waveform_data_array_list, more_data_pending=more_data_pending), + ) def write_arb_waveform_complex_f64(self, waveform_name, waveform_data_array, more_data_pending): # noqa: N802 - raise NotImplementedError('numpy-specific methods are not supported over gRPC') + # Use ravel() so that gRPC always receives a flat numpy array, regardless of input dimensions. + waveform_data_array_list = [ + grpc_complex_types.NIComplexNumber(real=val.real, imaginary=val.imag) + for val in waveform_data_array.ravel() + ] + self._invoke( + self._client.WriteArbWaveformComplexF64, + grpc_types.WriteArbWaveformComplexF64Request(vi=self._vi, waveform_name=waveform_name, wfm_data=waveform_data_array_list, more_data_pending=more_data_pending), + ) def write_arb_waveform_complex_i16(self, waveform_name, waveform_data_array): # noqa: N802 - raise NotImplementedError('numpy-specific methods are not supported over gRPC') + # Use ravel() so that gRPC always receives a flat numpy array, regardless of input dimensions. + arr = waveform_data_array.ravel() + if arr.size % 2 != 0: + raise ValueError("Interleaved int16 array must have even length (real/imag pairs)") + arr_pairs = arr.reshape(-1, 2) + waveform_data_array_list = [ + grpc_complex_types.NIComplexI16(real=int(pair[0]), imaginary=int(pair[1])) + for pair in arr_pairs + ] + self._invoke( + self._client.WriteArbWaveformComplexI16, + grpc_types.WriteArbWaveformComplexI16Request(vi=self._vi, waveform_name=waveform_name, wfm_data=waveform_data_array_list), + ) def write_script(self, script): # noqa: N802 self._invoke( diff --git a/src/nifake/metadata/functions.py b/src/nifake/metadata/functions.py index 66aec01d8..ea56244b6 100644 --- a/src/nifake/metadata/functions.py +++ b/src/nifake/metadata/functions.py @@ -2830,7 +2830,7 @@ 'documentation': { 'description': 'A function that writes a waveform of numpy complex64 samples.' }, - 'included_in_proto': False, + 'included_in_proto': True, 'method_templates': [ { 'documentation_filename': 'numpy_method', @@ -2883,7 +2883,7 @@ 'documentation': { 'description': 'A function that writes a waveform of numpy complex128 samples.' }, - 'included_in_proto': False, + 'included_in_proto': True, 'is_error_handling': False, 'method_templates': [ { @@ -2937,7 +2937,7 @@ 'documentation': { 'description': 'A function that writes a waveform of numpy complex i16 samples.' }, - 'included_in_proto': False, + 'included_in_proto': True, 'is_error_handling': False, 'method_templates': [ { @@ -2991,7 +2991,7 @@ 'documentation': { 'description': 'Function that takes a 3D numpy array of numpy complex128 as an input parameter.' }, - 'included_in_proto': False, + 'included_in_proto': True, 'is_error_handling': False, 'method_templates': [ { diff --git a/src/nifake/metadata/nifake.proto b/src/nifake/metadata/nifake.proto index 2d0bcc2de..f631c92b8 100644 --- a/src/nifake/metadata/nifake.proto +++ b/src/nifake/metadata/nifake.proto @@ -59,6 +59,9 @@ service NiFake { rpc TwoInputFunction(TwoInputFunctionRequest) returns (TwoInputFunctionResponse); rpc Use64BitNumber(Use64BitNumberRequest) returns (Use64BitNumberResponse); rpc WriteWaveform(WriteWaveformRequest) returns (WriteWaveformResponse); + rpc WriteWaveformNumpyComplex128(WriteWaveformNumpyComplex128Request) returns (WriteWaveformNumpyComplex128Response); + rpc WriteWaveformNumpyComplex64(WriteWaveformNumpyComplex64Request) returns (WriteWaveformNumpyComplex64Response); + rpc WriteWaveformNumpyComplexInterleavedI16(WriteWaveformNumpyComplexInterleavedI16Request) returns (WriteWaveformNumpyComplexInterleavedI16Response); rpc SetCustomType(SetCustomTypeRequest) returns (SetCustomTypeResponse); rpc SetCustomTypeArray(SetCustomTypeArrayRequest) returns (SetCustomTypeArrayResponse); rpc GetCustomType(GetCustomTypeRequest) returns (GetCustomTypeResponse); @@ -77,6 +80,7 @@ service NiFake { rpc GetParameterWithOverriddenGrpcName(GetParameterWithOverriddenGrpcNameRequest) returns (GetParameterWithOverriddenGrpcNameResponse); rpc IviDanceWithTwistWithMultipleArraysAndOneBufferSize(IviDanceWithTwistWithMultipleArraysAndOneBufferSizeRequest) returns (IviDanceWithTwistWithMultipleArraysAndOneBufferSizeResponse); rpc FunctionWithOverriddenGrpcName2x(FunctionWithOverriddenGrpcName2xRequest) returns (FunctionWithOverriddenGrpcName2xResponse); + rpc FunctionWith3dNumpyArrayOfNumpyComplex128InputParameter(FunctionWith3dNumpyArrayOfNumpyComplex128InputParameterRequest) returns (FunctionWith3dNumpyArrayOfNumpyComplex128InputParameterResponse); rpc StringValuedEnumNoEnumGenerated(StringValuedEnumNoEnumGeneratedRequest) returns (StringValuedEnumNoEnumGeneratedResponse); rpc IviDanceWithATwistCalculatedSizeOut(IviDanceWithATwistCalculatedSizeOutRequest) returns (IviDanceWithATwistCalculatedSizeOutResponse); rpc ImportAttributeConfigurationBuffer(ImportAttributeConfigurationBufferRequest) returns (ImportAttributeConfigurationBufferResponse); @@ -261,6 +265,11 @@ message NIComplexNumber_struct { double imaginary = 2; } +message NIComplexNumberF32_struct { + float real = 1; + float imaginary = 2; +} + message StringAndTurtle { string string_arg = 1; Turtle turtle = 2; @@ -746,6 +755,33 @@ message WriteWaveformResponse { int32 status = 1; } +message WriteWaveformNumpyComplex128Request { + nidevice_grpc.Session vi = 1; + repeated NIComplexNumber_struct waveform_data_array = 2; +} + +message WriteWaveformNumpyComplex128Response { + int32 status = 1; +} + +message WriteWaveformNumpyComplex64Request { + nidevice_grpc.Session vi = 1; + repeated NIComplexNumberF32_struct waveform_data_array = 2; +} + +message WriteWaveformNumpyComplex64Response { + int32 status = 1; +} + +message WriteWaveformNumpyComplexInterleavedI16Request { + nidevice_grpc.Session vi = 1; + repeated NIComplexI16_struct waveform_data_array = 2; +} + +message WriteWaveformNumpyComplexInterleavedI16Response { + int32 status = 1; +} + message SetCustomTypeRequest { nidevice_grpc.Session vi = 1; FakeCustomStruct cs = 2; @@ -927,6 +963,15 @@ message FunctionWithOverriddenGrpcName2xResponse { int32 status = 1; } +message FunctionWith3dNumpyArrayOfNumpyComplex128InputParameterRequest { + nidevice_grpc.Session vi = 1; + repeated NIComplexNumber_struct multidimensional_array = 2; +} + +message FunctionWith3dNumpyArrayOfNumpyComplex128InputParameterResponse { + int32 status = 1; +} + message StringValuedEnumNoEnumGeneratedRequest { nidevice_grpc.Session vi = 1; string a_string_enum = 2; diff --git a/src/nifake/unit_tests/test_grpc.py b/src/nifake/unit_tests/test_grpc.py index ea790e6c7..e3463b93d 100644 --- a/src/nifake/unit_tests/test_grpc.py +++ b/src/nifake/unit_tests/test_grpc.py @@ -407,6 +407,71 @@ def test_write_waveform_numpy(self): except NotImplementedError: pass + def test_write_waveform_numpy_complex128(self): + library_func = 'WriteWaveformNumpyComplex128' + waveform = numpy.array([1.0 + 2.0j, 3.0 + 4.0j, 5.0 + 6.0j], dtype=numpy.complex128) + grpc_waveform = [ + nifake._grpc_stub_interpreter.grpc_complex_types.NIComplexNumber(real=value.real, imaginary=value.imag) + for value in waveform.ravel() + ] + response_object = self._set_side_effect(library_func) + interpreter = self._get_initialized_stub_interpreter() + assert interpreter.write_waveform_numpy_complex128(waveform) is None # no outputs + self._assert_call(library_func, response_object).assert_called_once_with( + vi=GRPC_SESSION_OBJECT_FOR_TEST, + waveform_data_array=grpc_waveform, + ) + + def test_write_waveform_numpy_complex64(self): + library_func = 'WriteWaveformNumpyComplex64' + waveform = numpy.array([1.0 + 2.0j, 3.0 + 4.0j, 5.0 + 6.0j], dtype=numpy.complex64) + grpc_waveform = [ + nifake._grpc_stub_interpreter.grpc_complex_types.NIComplexNumberF32(real=value.real, imaginary=value.imag) + for value in waveform.ravel() + ] + response_object = self._set_side_effect(library_func) + interpreter = self._get_initialized_stub_interpreter() + assert interpreter.write_waveform_numpy_complex64(waveform) is None # no outputs + self._assert_call(library_func, response_object).assert_called_once_with( + vi=GRPC_SESSION_OBJECT_FOR_TEST, + waveform_data_array=grpc_waveform, + ) + + def test_write_waveform_numpy_complex_interleaved_i16(self): + library_func = 'WriteWaveformNumpyComplexInterleavedI16' + waveform = numpy.array([32767, 0, 123, -456], dtype=numpy.int16) + assert len(waveform) % 2 == 0 + grpc_waveform = [ + nifake._grpc_stub_interpreter.grpc_complex_types.NIComplexI16(real=waveform[i], imaginary=waveform[i + 1]) + for i in range(0, len(waveform), 2) + ] + assert len(grpc_waveform) == len(waveform) // 2 + response_object = self._set_side_effect(library_func) + interpreter = self._get_initialized_stub_interpreter() + assert interpreter.write_waveform_numpy_complex_interleaved_i16(waveform) is None # no outputs + self._assert_call(library_func, response_object).assert_called_once_with( + vi=GRPC_SESSION_OBJECT_FOR_TEST, + waveform_data_array=grpc_waveform, + ) + + def test_function_with_3d_numpy_array_of_numpy_complex128_input_parameter(self): + library_func = 'FunctionWith3dNumpyArrayOfNumpyComplex128InputParameter' + array_3d = numpy.array( + [[[1.0 + 2.0j, 3.0 + 4.0j], [5.0 + 6.0j, 7.0 + 8.0j]], [[9.0 + 10.0j, 11.0 + 12.0j], [13.0 + 14.0j, 15.0 + 16.0j]]], + dtype=numpy.complex128, + ) + grpc_array = [ + nifake._grpc_stub_interpreter.grpc_complex_types.NIComplexNumber(real=value.real, imaginary=value.imag) + for value in array_3d.ravel() + ] + response_object = self._set_side_effect(library_func) + interpreter = self._get_initialized_stub_interpreter() + assert interpreter.function_with_3d_numpy_array_of_numpy_complex128_input_parameter(array_3d) is None + self._assert_call(library_func, response_object).assert_called_once_with( + vi=GRPC_SESSION_OBJECT_FOR_TEST, + multidimensional_array=grpc_array, + ) + def test_return_multiple_types(self): library_func = 'ReturnMultipleTypes' boolean_val = True diff --git a/src/nirfsg/system_tests/grpc_server_config.json b/src/nirfsg/system_tests/grpc_server_config.json new file mode 100644 index 000000000..d9755289e --- /dev/null +++ b/src/nirfsg/system_tests/grpc_server_config.json @@ -0,0 +1,9 @@ +{ + "address": "[::1]", + "port": 31766, + "security" : { + "server_cert": "", + "server_key": "", + "root_cert": "" + } + } \ No newline at end of file diff --git a/src/nirfsg/system_tests/test_system_nirfsg.py b/src/nirfsg/system_tests/test_system_nirfsg.py index 073701c0e..5ac26c04c 100644 --- a/src/nirfsg/system_tests/test_system_nirfsg.py +++ b/src/nirfsg/system_tests/test_system_nirfsg.py @@ -1,4 +1,5 @@ import array +import grpc import hightime import nirfsg import numpy as np @@ -622,6 +623,8 @@ def test_wait_until_settled(self, rfsg_device_session): with rfsg_device_session.initiate(): rfsg_device_session.wait_until_settled() + # Re-enabled for 32-bit testing after gRPC device update + @pytest.mark.skipif(use_simulated_session is True, reason="Needs Updated gRPC device that supports get_all_named_waveform_names bug fix") def test_get_all_named_waveform_names(self, rfsg_device_session): rfsg_device_session.generation_mode = nirfsg.GenerationMode.ARB_WAVEFORM waveform_data1 = np.full(1000, 1 + 0j, dtype=np.complex128) @@ -658,3 +661,19 @@ class TestLibrary(SystemTests): @pytest.fixture(scope='class') def session_creation_kwargs(self): return {} + + +class TestGrpc(SystemTests): + @pytest.fixture(scope='class') + def grpc_channel(self): + current_directory = os.path.dirname(os.path.abspath(__file__)) + config_file_path = os.path.join(current_directory, 'grpc_server_config.json') + with system_test_utilities.GrpcServerProcess(config_file_path) as proc: + channel = grpc.insecure_channel(f"localhost:{proc.server_port}") + yield channel + + @pytest.fixture(scope='class') + def session_creation_kwargs(self, grpc_channel): + grpc_options = nirfsg.GrpcSessionOptions(grpc_channel, "") + return {'grpc_options': grpc_options} +