Goby v2
amac_config.proto
1 
2 import "goby/common/protobuf/option_extensions.proto";
3 
4 import "goby/acomms/protobuf/modem_message.proto";
5 
6 package goby.acomms.protobuf;
7 
8 enum MACType
9 {
10  MAC_NONE = 1; // no MAC
11  MAC_FIXED_DECENTRALIZED = 2; // decentralized time division multiple access
12  MAC_POLLED = 4; // centralized polling
13 };
14 
15 message MACConfig
16 {
17  optional int32 modem_id = 1 [
18  (goby.field).description = "Unique number 1-31 to identify this node",
19  (goby.field).example = "1"
20  ];
21 
22  optional MACType type = 2 [
23  default = MAC_NONE,
24  (goby.field).description = "The type of TDMA MAC scheme to use"
25  ];
26 
27  repeated ModemTransmission slot = 3
28  [(goby.field).description =
29  "Configure a slot in the communications cycle. Slots are run in "
30  "the "
31  "order they are declared."];
32 
33  optional bool start_cycle_in_middle = 4 [
34  default = true,
35  (goby.field).description =
36  "If true, cycle will start / restart at the next slot, even if its "
37  "the "
38  "middle of the cycle. If false, any changes to the cycle will "
39  "reset it "
40  "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  [(goby.field).description =
51  "Seconds since UNIX 1970-01-01T00:00:00 to use as reference time "
52  "if "
53  "ref_time_type == REFERENCE_FIXED"];
54 }