ros2_interfaces_rolling/gps_msgs/msg/
gps_fix.rs

1use 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 {}