3 import "goby/middleware/protobuf/geographic.proto";
4 import "dccl/option_extensions.proto";
6 package goby.middleware.protobuf.gpsd;
11 option (dccl.msg).unit_system = "si";
12 required int32 prn = 1;
13 optional double az = 2
14 [(dccl.field) = {units {
15 derived_dimensions: "plane_angle"
16 system: "angle::degree"
18 optional double el = 3
19 [(dccl.field) = {units {
20 derived_dimensions: "plane_angle"
21 system: "angle::degree"
23 optional double ss = 4;
24 optional bool used = 5;
25 optional int32 gnssid = 6;
26 optional int32 svid = 7;
27 optional int32 sigid= 8;
28 optional int32 freqid = 9;
29 optional int32 health = 10;
34 option (dccl.msg).unit_system = "si";
35 optional string device = 1;
36 optional double time = 2 [(dccl.field).units.derived_dimensions = "time"];
38 optional double gdop = 3;
39 optional double hdop = 4;
40 optional double pdop = 5;
41 optional double tdop = 6;
42 optional double vdop = 7;
43 optional double xdop = 8;
44 optional double ydop = 9;
45 optional double nsat = 10;
46 optional double usat = 11;
48 repeated Satellite satellite = 12;
53 option (dccl.msg).unit_system = "si";
54 optional string device = 1;
55 optional double time = 2 [(dccl.field).units.derived_dimensions = "time"];
57 optional double heading = 3
58 [(dccl.field) = {units {
59 derived_dimensions: "plane_angle"
60 system: "angle::degree"
64 optional double pitch = 4
65 [(dccl.field) = {units {
66 derived_dimensions: "plane_angle"
67 system: "angle::degree"
70 optional double yaw = 5
71 [(dccl.field) = {units {
72 derived_dimensions: "plane_angle"
73 system: "angle::degree"
77 optional double roll = 6
78 [(dccl.field) = {units {
79 derived_dimensions: "plane_angle"
80 system: "angle::degree"
86 message TimePositionVelocity {
87 option (dccl.msg).unit_system = "si";
88 // There seems to be a number of things that aren't always initialized, so I am making everything optional for now.
90 optional string device = 1;
91 optional double time = 2 [(dccl.field).units.derived_dimensions = "time"];
100 optional Mode mode = 3;
101 optional LatLonPoint location = 4;
103 optional double altitude = 5
104 [(dccl.field).units.derived_dimensions = "length"];
106 optional double track = 6
107 [(dccl.field) = {units {
108 derived_dimensions: "plane_angle"
109 system: "angle::degree"
112 optional double speed = 7
113 [ (dccl.field).units.derived_dimensions = "length/time"];
115 optional double climb = 8
116 [(dccl.field).units.derived_dimensions = "length/time"];
118 // Do we want any of the uncertainty values?
119 optional double epc = 10
120 [ (dccl.field).units.derived_dimensions = "length/time"];
121 optional double epd = 11
122 [(dccl.field) = {units {
123 derived_dimensions: "plane_angle"
124 system: "angle::degree"
128 optional double eps = 12
130 [ (dccl.field).units.derived_dimensions = "length/time"];
131 optional double ept = 13
132 [ (dccl.field).units.derived_dimensions = "time"];
135 optional double epv = 14
136 [(dccl.field).units.derived_dimensions = "length"];
137 optional double epx = 15
138 [(dccl.field).units.derived_dimensions = "length"];
139 optional double epy = 16
140 [(dccl.field).units.derived_dimensions = "length"];