NETSIM  1.0.1
Hardware-in-the-loopacousticnetworksimulator
netsim.proto
Go to the documentation of this file.
1 import "dccl/option_extensions.proto";
2 
3 import "goby/protobuf/option_extensions.proto";
4 import "goby/acomms/protobuf/mm_driver.proto";
5 
6 package netsim.protobuf;
7 
8 message ImpulseResponse
9 {
10  oneof src
11  {
12  string source = 1;
13  int32 source_id = 21;
14  }
15  oneof rcv
16  {
17  string receiver = 2;
18  int32 receiver_id = 22;
19  }
20  optional int32 number_array_elements = 3 [default = 1];
21  repeated RayTrace raytrace = 4;
22  message RayTrace
23  {
24  required double amplitude = 2 [(goby.field).description = "Pascal"];
25  optional double doppler = 3 [
26  (goby.field).description = "Doppler blueshift factor",
27  default = 1.0
28  ];
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
37  {
38  required double delay = 1;
39  }
40  }
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];
45 
46  optional string covariance_file = 9;
47 
48  optional int32 request_id = 10;
49  optional double request_time = 11;
50  optional double range = 12;
51 }
52 
53 message ImpulseRequest
54 {
55  oneof src
56  {
57  string source = 1;
58  int32 source_id = 21;
59  }
60  oneof rcv
61  {
62  string receiver = 2;
63  int32 receiver_id =22;
64  }
65 
66  optional double sampling_frequency = 6 [default = 12000];
67  optional int32 nfft = 7 [default = 2048];
68 
69  optional int32 request_id = 10;
70  optional double request_time = 11;
71 
72  message ArrayElement
73  {
74  optional double x_offset = 1 [default = 0];
75  optional double y_offset = 2 [default = 0];
76  optional double z_offset = 3 [default = 0];
77  }
78  repeated ArrayElement array_element = 40;
79 
80  }
81 
82 message ObjFuncRequest
83 {
84  option (dccl.msg).unit_system = "si";
85 
86 oneof cntct
87  {
88  string contact = 1;
89  int32 contact_id = 21;
90  }
91  optional int32 request_id = 2;
92  optional double request_time = 3
93  [(dccl.field).units = {base_dimensions: "T"}];
94 
95  repeated Receiver receiver = 4;
96  required string requestor = 5;
97 
98  message Receiver
99  {
100  oneof recv
101  {
102  string node = 1;
103  int32 node_id = 21;
104  }
105  optional double range = 2;
106  optional double depth = 3;
107  }
108 }
109 
110 message ObjFuncResponse
111 {
112  option (dccl.msg).unit_system = "si";
113 
114 oneof cntct
115  {
116  string contact = 1;
117  int32 contact_id = 21;
118  }
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;
125  message Receiver
126  {
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;
138  }
139 }
140 
141 message NavUpdate
142 {
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;
150 }
151 
152 message ReceiveStats
153 {
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;
158 }
159 
160 message NetSimManagerRequest
161 {
162  required int32 id = 1;
163  repeated NavUpdate nav = 2;
164  repeated ReceiveStats stats = 3;
165 }
166 
167 message NetSimManagerResponse
168 {
169  required int32 request_id = 1;
170  enum Status
171  {
172  UPDATE_ACCEPTED = 1;
173  UPDATE_FAILED_INVALID_MODEM_TCP_PORT = 2;
174  UPDATE_FAILED_INVALID_SOURCE_ADDRESS = 3;
175  UPDATE_FAILED_OUT_OF_DEFINED_REGION = 4;
176  }
177  required Status status = 2;
178 }
179 
180 message EnvironmentNavUpdate
181 {
182  required int32 environment_id = 1;
183  required NavUpdate nav = 2;
184 }
185 
186 message EnvironmentImpulseRequest
187 {
188  required int32 environment_id = 1;
189  required ImpulseRequest req = 2;
190 }
191 
192 message EnvironmentObjFuncRequest
193 {
194  required int32 environment_id = 1;
195  required ObjFuncRequest req = 2;
196 }