Goby3  3.1.5
2024.05.14
popoto_driver.proto
Go to the documentation of this file.
1 /* Copyright (c) 2020 mission systems pty ltd */
2 
3 syntax = "proto2";
4 import "goby/protobuf/option_extensions.proto";
5 import "dccl/option_extensions.proto";
6 import "goby/acomms/protobuf/driver_base.proto"; // load up message DriverBaseConfig
7 import "goby/acomms/protobuf/modem_message.proto";
8 
9 package goby.acomms.popoto.protobuf;
10 
11 message Config
12 {
13  optional int32 start_timeout = 1 [
14  default = 30,
15  (goby.field).description =
16  "Number of seconds to initialize the modem before giving up"
17  ];
18 
19  optional int32 payload_mode = 2 [
20  default = 0,
21  (dccl.field).min = 0,
22  (dccl.field).max = 5,
23  (goby.field).description =
24  "The modulation rate of the payload portion of the waveform, 0-5"
25  ];
26 
27  optional int32 modem_power = 3 [
28  default = 1,
29  (dccl.field).min = 1,
30  (dccl.field).max = 100,
31  (goby.field).description = "Modem Tx strength 1-100W"
32  ];
33 }
34 // added 1442 in modem driver
35 extend goby.acomms.protobuf.DriverConfig
36 {
37  optional Config config = 1442;
38 }
39 
40 enum TransmissionType
41 {
42  BASE_TYPE = 0;
43  POPOTO_TWO_WAY_PING = 1; // modem 1 interrogates modem 2; modem 2 replies
44  // and modem 1 computes one way travel time
45  POPOTO_PLAY_FILE = 2;
46  POPOTO_TWO_WAY_RANGE = 3;
47  POPOTO_DEEP_SLEEP = 4;
48  POPOTO_WAKE = 5;
49 }
50 message RangingReply
51 {
52  required double one_way_travel_time = 1
53  [(dccl.field).units.unit = "si::second"];
54 }
55 message Transmission
56 {
57  optional TransmissionType type = 1 [
58  (goby.field).description =
59  "Type of transmission if base `type` == DRIVER_SPECIFIC",
60  default = BASE_TYPE
61  ];
62  optional RangingReply ranging_reply = 3;
63  optional string file_location = 4;
64  optional double transmit_power = 5;
65 }
66 
67 extend goby.acomms.protobuf.ModemTransmission
68 {
69  optional Transmission transmission = 1441;
70 }