ros2-interfaces-iron 0.0.2

Structs for Messages and Services listed by ROS Index for ROS2 Iron. Built around the `ros2-client` crate.
Documentation
use serde::{Deserialize, Serialize};

#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct GPSStatus {
    pub header: crate::std_msgs::msg::Header,
    pub satellites_used: u16,
    pub satellite_used_prn: Vec<i32>,
    pub satellites_visible: u16,
    pub satellite_visible_prn: Vec<i32>,
    pub satellite_visible_z: Vec<i32>,
    pub satellite_visible_azimuth: Vec<i32>,
    pub satellite_visible_snr: Vec<i32>,
    pub status: i16,
    pub motion_source: u16,
    pub orientation_source: u16,
    pub position_source: u16,
}

impl GPSStatus {
    pub const STATUS_NO_FIX: i16 = -1;
    pub const STATUS_FIX: i16 = 0;
    pub const STATUS_SBAS_FIX: i16 = 1;
    pub const STATUS_GBAS_FIX: i16 = 2;
    pub const STATUS_DGPS_FIX: i16 = 18;
    pub const STATUS_RTK_FIX: i16 = 19;
    pub const STATUS_RTK_FLOAT: i16 = 20;
    pub const STATUS_WAAS_FIX: i16 = 33;
    pub const SOURCE_NONE: u16 = 0;
    pub const SOURCE_GPS: u16 = 1;
    pub const SOURCE_POINTS: u16 = 2;
    pub const SOURCE_DOPPLER: u16 = 4;
    pub const SOURCE_ALTIMETER: u16 = 8;
    pub const SOURCE_MAGNETIC: u16 = 16;
    pub const SOURCE_GYRO: u16 = 32;
    pub const SOURCE_ACCEL: u16 = 64;
}

impl Default for GPSStatus {
    fn default() -> Self {
        GPSStatus {
            header: crate::std_msgs::msg::Header::default(),
            satellites_used: 0,
            satellite_used_prn: Vec::new(),
            satellites_visible: 0,
            satellite_visible_prn: Vec::new(),
            satellite_visible_z: Vec::new(),
            satellite_visible_azimuth: Vec::new(),
            satellite_visible_snr: Vec::new(),
            status: 0,
            motion_source: 0,
            orientation_source: 0,
            position_source: 0,
        }
    }
}

impl ros2_client::Message for GPSStatus {}