NETSIM 1.2.0
Hardware-in-the-loop acoustic network simulator
 
Loading...
Searching...
No Matches
netsim.proto
Go to the documentation of this file.
1import "dccl/option_extensions.proto";
2
3import "goby/protobuf/option_extensions.proto";
4import "goby/acomms/protobuf/mm_driver.proto";
5
6package netsim.protobuf;
7
8message 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
53message 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
82message ObjFuncRequest
83{
84 option (dccl.msg).unit_system = "si";
85
86oneof 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
110message ObjFuncResponse
111{
112 option (dccl.msg).unit_system = "si";
113
114oneof 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
141message 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
152message 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
160message NetSimManagerRequest
161{
162 required int32 id = 1;
163 repeated NavUpdate nav = 2;
164 repeated ReceiveStats stats = 3;
165}
166
167message 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
180message EnvironmentNavUpdate
181{
182 required int32 environment_id = 1;
183 required NavUpdate nav = 2;
184}
185
186message EnvironmentImpulseRequest
187{
188 required int32 environment_id = 1;
189 required ImpulseRequest req = 2;
190}
191
192message EnvironmentObjFuncRequest
193{
194 required int32 environment_id = 1;
195 required ObjFuncRequest req = 2;
196}