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 State {
    pub header: crate::std_msgs::msg::Header,
    pub angular_velocity_zeroed: crate::geometry_msgs::msg::Vector3,
    pub angular_velocity_raw: crate::geometry_msgs::msg::Vector3,
    pub angular_velocity_covariance: [f64; 9],
    pub linear_acceleration_zeroed: crate::geometry_msgs::msg::Vector3,
    pub linear_acceleration_raw: crate::geometry_msgs::msg::Vector3,
    pub linear_acceleration_covariance: [f64; 9],
    pub nunchuk_acceleration_zeroed: crate::geometry_msgs::msg::Vector3,
    pub nunchuk_acceleration_raw: crate::geometry_msgs::msg::Vector3,
    pub nunchuk_joystick_zeroed: [f32; 2],
    pub nunchuk_joystick_raw: [f32; 2],
    pub buttons: [bool; 11],
    pub nunchuk_buttons: [bool; 2],
    pub leds: [bool; 4],
    pub rumble: bool,
    pub ir_tracking: Vec<crate::wiimote_msgs::msg::IrSourceInfo>,
    pub raw_battery: f32,
    pub percent_battery: f32,
    pub zeroing_time: crate::builtin_interfaces::msg::Time,
    pub errors: u64,
}

impl State {
    pub const INVALID: i8 = -1;
    pub const INVALID_FLOAT: f32 = -1.0;
    pub const MSG_BTN_1: i8 = 0;
    pub const MSG_BTN_2: i8 = 1;
    pub const MSG_BTN_A: i8 = 2;
    pub const MSG_BTN_B: i8 = 3;
    pub const MSG_BTN_PLUS: i8 = 4;
    pub const MSG_BTN_MINUS: i8 = 5;
    pub const MSG_BTN_LEFT: i8 = 6;
    pub const MSG_BTN_RIGHT: i8 = 7;
    pub const MSG_BTN_UP: i8 = 8;
    pub const MSG_BTN_DOWN: i8 = 9;
    pub const MSG_BTN_HOME: i8 = 10;
    pub const MSG_BTN_Z: i8 = 0;
    pub const MSG_BTN_C: i8 = 1;
    pub const MSG_CLASSIC_BTN_X: i8 = 0;
    pub const MSG_CLASSIC_BTN_Y: i8 = 1;
    pub const MSG_CLASSIC_BTN_A: i8 = 2;
    pub const MSG_CLASSIC_BTN_B: i8 = 3;
    pub const MSG_CLASSIC_BTN_PLUS: i8 = 4;
    pub const MSG_CLASSIC_BTN_MINUS: i8 = 5;
    pub const MSG_CLASSIC_BTN_LEFT: i8 = 6;
    pub const MSG_CLASSIC_BTN_RIGHT: i8 = 7;
    pub const MSG_CLASSIC_BTN_UP: i8 = 8;
    pub const MSG_CLASSIC_BTN_DOWN: i8 = 9;
    pub const MSG_CLASSIC_BTN_HOME: i8 = 10;
    pub const MSG_CLASSIC_BTN_L: i8 = 11;
    pub const MSG_CLASSIC_BTN_R: i8 = 12;
    pub const MSG_CLASSIC_BTN_ZL: i8 = 13;
    pub const MSG_CLASSIC_BTN_ZR: i8 = 14;
}

impl Default for State {
    fn default() -> Self {
        State {
            header: crate::std_msgs::msg::Header::default(),
            angular_velocity_zeroed: crate::geometry_msgs::msg::Vector3::default(),
            angular_velocity_raw: crate::geometry_msgs::msg::Vector3::default(),
            angular_velocity_covariance: [0.0; 9],
            linear_acceleration_zeroed: crate::geometry_msgs::msg::Vector3::default(),
            linear_acceleration_raw: crate::geometry_msgs::msg::Vector3::default(),
            linear_acceleration_covariance: [0.0; 9],
            nunchuk_acceleration_zeroed: crate::geometry_msgs::msg::Vector3::default(),
            nunchuk_acceleration_raw: crate::geometry_msgs::msg::Vector3::default(),
            nunchuk_joystick_zeroed: [0.0; 2],
            nunchuk_joystick_raw: [0.0; 2],
            buttons: [false; 11],
            nunchuk_buttons: [false; 2],
            leds: [false; 4],
            rumble: false,
            ir_tracking: Vec::new(),
            raw_battery: 0.0,
            percent_battery: 0.0,
            zeroing_time: crate::builtin_interfaces::msg::Time::default(),
            errors: 0,
        }
    }
}

impl ros2_client::Message for State {}