Goby3  3.1.5
2024.05.14
amac.proto
Go to the documentation of this file.
1 syntax = "proto2";
2 import "goby/protobuf/option_extensions.proto";
3 import "dccl/option_extensions.proto";
4 import "goby/acomms/protobuf/modem_message.proto";
5 
6 package goby.acomms.protobuf;
7 
8 message MACUpdate
9 {
10  option (dccl.msg).id = 5;
11  option (dccl.msg).max_bytes = 64;
12  option (dccl.msg).codec_version = 3;
13 
14  enum UpdateType // this are basically the std::list functions
15  {
16  NO_CHANGE = 0;
17  ASSIGN = 1;
18  PUSH_BACK = 2;
19  PUSH_FRONT = 3;
20  POP_BACK = 4;
21  POP_FRONT = 5;
22  INSERT = 6;
23  ERASE = 7;
24  CLEAR = 8;
25  }
26 
27  required int32 src = 1 [
28  (dccl.field).min = 1,
29  (dccl.field).max = 30,
30  (dccl.field).in_head = true
31  ];
32  required int32 dest = 2 [
33  (dccl.field).min = 1,
34  (dccl.field).max = 30,
35  (dccl.field).in_head = true
36  ]; // modem_id that this update is for
37  optional UpdateType update_type = 3 [default = NO_CHANGE];
38  repeated ModemTransmission slot = 4 [(dccl.field).max_repeat = 10];
39  optional int32 first_iterator = 5 [
40  (dccl.field).min = 0,
41  (dccl.field).max = 60,
42  default = 0
43  ]; // integer offset from begin()
44  optional int32 second_iterator = 6 [
45  (dccl.field).min = -1,
46  (dccl.field).max = 60,
47  default = -1
48  ]; // integer offset from begin()
49 
50  enum CycleState
51  {
52  STOPPED = 1;
53  STARTED = 2;
54  }
55  optional CycleState cycle_state = 7
56  [default = STARTED, (dccl.field).in_head = true];
57 }