Goby3 3.1.5a
2024.05.23
Loading...
Searching...
No Matches
popoto_driver.proto
Go to the documentation of this file.
1/* Copyright (c) 2020 mission systems pty ltd */
2
3syntax = "proto2";
4import "goby/protobuf/option_extensions.proto";
5import "dccl/option_extensions.proto";
6import "goby/acomms/protobuf/driver_base.proto"; // load up message DriverBaseConfig
7import "goby/acomms/protobuf/modem_message.proto";
8
9package goby.acomms.popoto.protobuf;
10
11message 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
35extend goby.acomms.protobuf.DriverConfig
36{
37 optional Config config = 1442;
38}
39
40enum 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}
50message RangingReply
51{
52 required double one_way_travel_time = 1
53 [(dccl.field).units.unit = "si::second"];
54}
55message 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
67extend goby.acomms.protobuf.ModemTransmission
68{
69 optional Transmission transmission = 1441;
70}