ros2_interfaces_rolling/ibeo_msgs/msg/
camera_image.rs

1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4pub struct CameraImage {
5    pub header: crate::std_msgs::msg::Header,
6    pub ibeo_header: crate::ibeo_msgs::msg::IbeoDataHeader,
7    pub image_format: u16,
8    pub us_since_power_on: u32,
9    pub timestamp: crate::builtin_interfaces::msg::Time,
10    pub device_id: u8,
11    pub mounting_position: crate::ibeo_msgs::msg::MountingPositionF,
12    pub horizontal_opening_angle: f64,
13    pub vertical_opening_angle: f64,
14    pub image_width: u16,
15    pub image_height: u16,
16    pub compressed_size: u32,
17    pub image_buffer: Vec<u8>,
18}
19
20impl CameraImage {
21    pub const JPEG: u16 = 0;
22    pub const MJPEG: u16 = 1;
23    pub const GRAY8: u16 = 2;
24    pub const YUV420: u16 = 3;
25    pub const YUV422: u16 = 4;
26}
27
28impl Default for CameraImage {
29    fn default() -> Self {
30        CameraImage {
31            header: crate::std_msgs::msg::Header::default(),
32            ibeo_header: crate::ibeo_msgs::msg::IbeoDataHeader::default(),
33            image_format: 0,
34            us_since_power_on: 0,
35            timestamp: crate::builtin_interfaces::msg::Time::default(),
36            device_id: 0,
37            mounting_position: crate::ibeo_msgs::msg::MountingPositionF::default(),
38            horizontal_opening_angle: 0.0,
39            vertical_opening_angle: 0.0,
40            image_width: 0,
41            image_height: 0,
42            compressed_size: 0,
43            image_buffer: Vec::new(),
44        }
45    }
46}
47
48impl ros2_client::Message for CameraImage {}