Goby3 3.1.5a
2024.05.23
Loading...
Searching...
No Matches
amac.proto
Go to the documentation of this file.
1syntax = "proto2";
2import "goby/protobuf/option_extensions.proto";
3import "dccl/option_extensions.proto";
4import "goby/acomms/protobuf/modem_message.proto";
5
6package goby.acomms.protobuf;
7
8message 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}