Goby3 3.4.0
2026.04.13
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 double modem_power = 3 [
28 default = 1,
29 (dccl.field).min = 0.1,
30 (dccl.field).max = 100,
31 (dccl.field).precision = 2,
32 (goby.field).description = "Modem Tx strength 1-100W"
33 ];
34
35 optional int32 application_type = 5 [
36 default = 0,
37 (dccl.field).min = 0,
38 (dccl.field).max = 5,
39 (goby.field).description = "Application type for JANUS message"
40 ];
41}
42// added 1442 in modem driver
43extend goby.acomms.protobuf.DriverConfig
44{
45 optional Config config = 1442;
46}
47
48enum TransmissionType
49{
50 BASE_TYPE = 0;
51
52 // POPOTO_TWO_WAY_PING = 1; // replaced by POPOTO_TWO_WAY_RANGE_REQUEST / POPOTO_TWO_WAY_RANGE_RESPONSE
53
54
55 POPOTO_PLAY_FILE = 2;
56 POPOTO_TWO_WAY_RANGE_REQUEST = 3; // Ranging request
57 POPOTO_TWO_WAY_RANGE_RESPONSE =
58 4; // Response that you receive to a ranging request
59 POPOTO_DEEP_SLEEP = 5;
60 POPOTO_WAKE = 6;
61 POPOTO_SET_TX = 7;
62}
63message RangingReply
64{
65 required double one_way_travel_time = 1
66 [(dccl.field).units.unit =
67 "si::second"]; // Popoto doesn't give this. This will be
68 // calculated by the driver using TWTT
69 optional double two_way_travel_time = 2
70 [(dccl.field).units.unit = "si::second"];
71 optional double modem_range = 3; // meters
72 optional double modem_sound_speed = 4; // m/s
73}
74message Transmission
75{
76 optional TransmissionType type = 1 [
77 (goby.field).description =
78 "Type of transmission if base `type` == DRIVER_SPECIFIC",
79 default = BASE_TYPE
80 ];
81 optional RangingReply ranging_reply = 3;
82 optional string file_location = 4;
83 optional double transmit_power = 5;
84}
85
86extend goby.acomms.protobuf.ModemTransmission
87{
88 optional Transmission transmission = 1441;
89}