ros2_interfaces_rolling/turtlebot3_msgs/msg/
sensor_state.rs

1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4pub struct SensorState {
5    pub header: crate::std_msgs::msg::Header,
6    pub bumper: u8,
7    pub cliff: f32,
8    pub sonar: f32,
9    pub illumination: f32,
10    pub led: u8,
11    pub button: u8,
12    pub torque: bool,
13    pub left_encoder: i32,
14    pub right_encoder: i32,
15    pub battery: f32,
16}
17
18impl SensorState {
19    pub const BUMPER_FORWARD: u8 = 1;
20    pub const BUMPER_BACKWARD: u8 = 2;
21    pub const CLIFF: u8 = 1;
22    pub const SONAR: u8 = 1;
23    pub const ILLUMINATION: u8 = 1;
24    pub const BUTTON0: u8 = 1;
25    pub const BUTTON1: u8 = 2;
26    pub const ERROR_LEFT_MOTOR: u8 = 1;
27    pub const ERROR_RIGHT_MOTOR: u8 = 2;
28    pub const TORQUE_ON: u8 = 1;
29    pub const TORQUE_OFF: u8 = 2;
30}
31
32impl Default for SensorState {
33    fn default() -> Self {
34        SensorState {
35            header: crate::std_msgs::msg::Header::default(),
36            bumper: 0,
37            cliff: 0.0,
38            sonar: 0.0,
39            illumination: 0.0,
40            led: 0,
41            button: 0,
42            torque: false,
43            left_encoder: 0,
44            right_encoder: 0,
45            battery: 0.0,
46        }
47    }
48}
49
50impl ros2_client::Message for SensorState {}