ros2_interfaces_rolling/kobuki_ros_interfaces/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 time_stamp: u16,
7    pub bumper: u8,
8    pub wheel_drop: u8,
9    pub cliff: u8,
10    pub left_encoder: u16,
11    pub right_encoder: u16,
12    pub left_pwm: i8,
13    pub right_pwm: i8,
14    pub buttons: u8,
15    pub charger: u8,
16    pub battery: u8,
17    pub bottom: Vec<u16>,
18    pub current: Vec<u8>,
19    pub over_current: u8,
20    pub digital_input: u16,
21    pub analog_input: Vec<u16>,
22}
23
24impl SensorState {
25    pub const BUMPER_RIGHT: u8 = 1;
26    pub const BUMPER_CENTRE: u8 = 2;
27    pub const BUMPER_LEFT: u8 = 4;
28    pub const WHEEL_DROP_RIGHT: u8 = 1;
29    pub const WHEEL_DROP_LEFT: u8 = 2;
30    pub const CLIFF_RIGHT: u8 = 1;
31    pub const CLIFF_CENTRE: u8 = 2;
32    pub const CLIFF_LEFT: u8 = 4;
33    pub const BUTTON0: u8 = 1;
34    pub const BUTTON1: u8 = 2;
35    pub const BUTTON2: u8 = 4;
36    pub const DISCHARGING: u8 = 0;
37    pub const DOCKING_CHARGED: u8 = 2;
38    pub const DOCKING_CHARGING: u8 = 6;
39    pub const ADAPTER_CHARGED: u8 = 18;
40    pub const ADAPTER_CHARGING: u8 = 22;
41    pub const OVER_CURRENT_LEFT_WHEEL: u8 = 1;
42    pub const OVER_CURRENT_RIGHT_WHEEL: u8 = 2;
43    pub const OVER_CURRENT_BOTH_WHEELS: u8 = 3;
44    pub const DIGITAL_INPUT0: u8 = 1;
45    pub const DIGITAL_INPUT1: u8 = 2;
46    pub const DIGITAL_INPUT2: u8 = 4;
47    pub const DIGITAL_INPUT3: u8 = 8;
48    pub const DB25_TEST_BOARD_CONNECTED: u8 = 64;
49}
50
51impl Default for SensorState {
52    fn default() -> Self {
53        SensorState {
54            header: crate::std_msgs::msg::Header::default(),
55            time_stamp: 0,
56            bumper: 0,
57            wheel_drop: 0,
58            cliff: 0,
59            left_encoder: 0,
60            right_encoder: 0,
61            left_pwm: 0,
62            right_pwm: 0,
63            buttons: 0,
64            charger: 0,
65            battery: 0,
66            bottom: Vec::new(),
67            current: Vec::new(),
68            over_current: 0,
69            digital_input: 0,
70            analog_input: Vec::new(),
71        }
72    }
73}
74
75impl ros2_client::Message for SensorState {}