ros2-interfaces-rolling 0.0.1

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

#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct AwsDisplay {
    pub header: crate::std_msgs::msg::Header,
    pub suppress_sound: bool,
    pub night_time: bool,
    pub dusk_time: bool,
    pub sound_type: u8,
    pub headway_valid: bool,
    pub headway_measurement: f32,
    pub lanes_on: bool,
    pub left_ldw_on: bool,
    pub right_ldw_on: bool,
    pub fcw_on: bool,
    pub left_crossing: bool,
    pub right_crossing: bool,
    pub maintenance: bool,
    pub failsafe: bool,
    pub ped_fcw: bool,
    pub ped_in_dz: bool,
    pub headway_warning_level: u8,
}

impl AwsDisplay {
    pub const SOUND_SILENT: u8 = 0;
    pub const SOUND_LDWL: u8 = 1;
    pub const SOUND_LDWR: u8 = 2;
    pub const SOUND_FAR_HW: u8 = 3;
    pub const SOUND_NEAR_HW: u8 = 4;
    pub const SOUND_SOFT_FCW: u8 = 5;
    pub const SOUND_HARD_FCW: u8 = 6;
    pub const SOUND_RESERVED: u8 = 7;
    pub const HEADWAY_LEVEL_OFF: u8 = 0;
    pub const HEADWAY_LEVEL_GREEN: u8 = 1;
    pub const HEADWAY_LEVEL_ORANGE: u8 = 2;
    pub const HEADWAY_LEVEL_RED: u8 = 3;
}

impl Default for AwsDisplay {
    fn default() -> Self {
        AwsDisplay {
            header: crate::std_msgs::msg::Header::default(),
            suppress_sound: false,
            night_time: false,
            dusk_time: false,
            sound_type: 0,
            headway_valid: false,
            headway_measurement: 0.0,
            lanes_on: false,
            left_ldw_on: false,
            right_ldw_on: false,
            fcw_on: false,
            left_crossing: false,
            right_crossing: false,
            maintenance: false,
            failsafe: false,
            ped_fcw: false,
            ped_in_dz: false,
            headway_warning_level: 0,
        }
    }
}

impl ros2_client::Message for AwsDisplay {}