1 import "dccl/option_extensions.proto";
3 import "goby/protobuf/option_extensions.proto";
4 import "goby/acomms/protobuf/mm_driver.proto";
6 package netsim.protobuf;
8 message ImpulseResponse
18 int32 receiver_id = 22;
20 optional int32 number_array_elements = 3 [default = 1];
21 repeated RayTrace raytrace = 4;
24 required double amplitude = 2 [(goby.field).description = "Pascal"];
25 optional double doppler = 3 [
26 (goby.field).description = "Doppler blueshift factor",
29 optional double elevation = 4
30 [(goby.field).description = "Degrees", default = 0];
31 optional int32 surface_bounces = 5
32 [(goby.field).description = "Number of ray surface bounces"];
33 optional int32 bottom_bounces = 6
34 [(goby.field).description = "Number of ray bottom bounces"];
35 repeated ArrayElementDelay element = 7;
36 message ArrayElementDelay
38 required double delay = 1;
41 optional double noise_level = 5;
42 optional double receiver_sound_speed = 6 [default = 1500];
43 optional double surface_sound_speed = 7 [default = 1500];
44 optional double bottom_sound_speed = 8 [default = 1500];
46 optional string covariance_file = 9;
48 optional int32 request_id = 10;
49 optional double request_time = 11;
50 optional double range = 12;
53 message ImpulseRequest
63 int32 receiver_id =22;
66 optional double sampling_frequency = 6 [default = 12000];
67 optional int32 nfft = 7 [default = 2048];
69 optional int32 request_id = 10;
70 optional double request_time = 11;
74 optional double x_offset = 1 [default = 0];
75 optional double y_offset = 2 [default = 0];
76 optional double z_offset = 3 [default = 0];
78 repeated ArrayElement array_element = 40;
82 message ObjFuncRequest
84 option (dccl.msg).unit_system = "si";
89 int32 contact_id = 21;
91 optional int32 request_id = 2;
92 optional double request_time = 3
93 [(dccl.field).units = {base_dimensions: "T"}];
95 repeated Receiver receiver = 4;
96 required string requestor = 5;
105 optional double range = 2;
106 optional double depth = 3;
110 message ObjFuncResponse
112 option (dccl.msg).unit_system = "si";
117 int32 contact_id = 21;
119 optional double contact_depth = 6;
120 optional int32 request_id = 2;
121 optional double request_time = 3
122 [(dccl.field).units = {base_dimensions: "T"}];
123 repeated Receiver receiver = 4;
124 required string requestor = 5;
127 optional string node = 1;
128 optional int32 node_id = 21;
129 required double range = 2;
130 optional double delay = 3;
131 required double depth = 4;
132 required double metric_db = 5;
133 optional double snr = 6;
134 optional double mpp = 7;
135 optional double tl = 8;
136 optional double nl = 9;
137 optional double mae = 10;
143 required int32 modem_tcp_port = 1;
144 required double time = 2;
145 required double lat = 3;
146 required double lon = 4;
147 required double depth = 5;
148 required double speed = 6;
149 required double heading = 7;
154 required int32 modem_tcp_port = 1;
155 required int32 tx_modem_tcp_port = 2;
156 required bool packet_success = 3;
157 optional goby.acomms.micromodem.protobuf.ReceiveStatistics mm_stats = 4;
160 message NetSimManagerRequest
162 required int32 id = 1;
163 repeated NavUpdate nav = 2;
164 repeated ReceiveStats stats = 3;
167 message NetSimManagerResponse
169 required int32 request_id = 1;
173 UPDATE_FAILED_INVALID_MODEM_TCP_PORT = 2;
174 UPDATE_FAILED_INVALID_SOURCE_ADDRESS = 3;
175 UPDATE_FAILED_OUT_OF_DEFINED_REGION = 4;
177 required Status status = 2;
180 message EnvironmentNavUpdate
182 required int32 environment_id = 1;
183 required NavUpdate nav = 2;
186 message EnvironmentImpulseRequest
188 required int32 environment_id = 1;
189 required ImpulseRequest req = 2;
192 message EnvironmentObjFuncRequest
194 required int32 environment_id = 1;
195 required ObjFuncRequest req = 2;