ros2_interfaces_rolling/gps_msgs/msg/
gps_fix.rs1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4pub struct GPSFix {
5 pub header: crate::std_msgs::msg::Header,
6 pub status: crate::gps_msgs::msg::GPSStatus,
7 pub latitude: f64,
8 pub longitude: f64,
9 pub altitude: f64,
10 pub track: f64,
11 pub speed: f64,
12 pub climb: f64,
13 pub pitch: f64,
14 pub roll: f64,
15 pub dip: f64,
16 pub time: f64,
17 pub gdop: f64,
18 pub pdop: f64,
19 pub hdop: f64,
20 pub vdop: f64,
21 pub tdop: f64,
22 pub err: f64,
23 pub err_horz: f64,
24 pub err_vert: f64,
25 pub err_track: f64,
26 pub err_speed: f64,
27 pub err_climb: f64,
28 pub err_time: f64,
29 pub err_pitch: f64,
30 pub err_roll: f64,
31 pub err_dip: f64,
32 pub position_covariance: [f64; 9],
33 pub position_covariance_type: u8,
34}
35
36impl GPSFix {
37 pub const COVARIANCE_TYPE_UNKNOWN: u8 = 0;
38 pub const COVARIANCE_TYPE_APPROXIMATED: u8 = 1;
39 pub const COVARIANCE_TYPE_DIAGONAL_KNOWN: u8 = 2;
40 pub const COVARIANCE_TYPE_KNOWN: u8 = 3;
41}
42
43impl Default for GPSFix {
44 fn default() -> Self {
45 GPSFix {
46 header: crate::std_msgs::msg::Header::default(),
47 status: crate::gps_msgs::msg::GPSStatus::default(),
48 latitude: 0.0,
49 longitude: 0.0,
50 altitude: 0.0,
51 track: 0.0,
52 speed: 0.0,
53 climb: 0.0,
54 pitch: 0.0,
55 roll: 0.0,
56 dip: 0.0,
57 time: 0.0,
58 gdop: 0.0,
59 pdop: 0.0,
60 hdop: 0.0,
61 vdop: 0.0,
62 tdop: 0.0,
63 err: 0.0,
64 err_horz: 0.0,
65 err_vert: 0.0,
66 err_track: 0.0,
67 err_speed: 0.0,
68 err_climb: 0.0,
69 err_time: 0.0,
70 err_pitch: 0.0,
71 err_roll: 0.0,
72 err_dip: 0.0,
73 position_covariance: [0.0; 9],
74 position_covariance_type: 0,
75 }
76 }
77}
78
79impl ros2_client::Message for GPSFix {}