Goby3  3.1.5
2024.05.14
amac_config.proto
Go to the documentation of this file.
1 syntax = "proto2";
2 import "dccl/option_extensions.proto";
3 
4 import "goby/protobuf/option_extensions.proto";
5 import "goby/acomms/protobuf/modem_message.proto";
6 
7 package goby.acomms.protobuf;
8 
9 enum MACType
10 {
11  MAC_NONE = 1; // no MAC
12  MAC_FIXED_DECENTRALIZED = 2; // decentralized time division multiple access
13  MAC_POLLED = 4; // centralized polling
14 };
15 
16 message MACConfig
17 {
18  option (dccl.msg).unit_system = "si";
19 
20  optional int32 modem_id = 1 [
21  (goby.field).description = "Unique number 1-31 to identify this node",
22  (goby.field).example = "1"
23  ];
24 
25  optional MACType type = 2 [
26  default = MAC_NONE,
27  (goby.field).description = "The type of TDMA MAC scheme to use"
28  ];
29 
30  repeated ModemTransmission slot = 3
31  [(goby.field).description =
32  "Configure a slot in the communications cycle. Slots are run in "
33  "the order they are declared."];
34 
35  optional bool start_cycle_in_middle = 4 [
36  default = true,
37  (goby.field).description =
38  "If true, cycle will start / restart at the next slot, even if its "
39  "the middle of the cycle. If false, any changes to the cycle will "
40  "reset it to the first slot."
41  ];
42 
43  enum MACRefTime
44  {
45  REFERENCE_START_OF_DAY = 1;
46  REFERENCE_FIXED = 2;
47  }
48  optional MACRefTime ref_time_type = 5 [default = REFERENCE_START_OF_DAY];
49  optional int32 fixed_ref_time = 6 [
50  (dccl.field).units = {base_dimensions: "T"},
51  (goby.field).description =
52  "Seconds since UNIX 1970-01-01T00:00:00 to use as reference time "
53  "if ref_time_type == REFERENCE_FIXED"
54  ];
55 }