#[repr(C)]
#[derive(Debug, ros2_types::Ros2Msg, ros2_types::TypeDescription)]
#[ros2(package = "sensor_msgs", interface_type = "msg")]
#[cfg_attr(
not(feature = "rcl"),
derive(ros2_types::serde::Serialize, ros2_types::serde::Deserialize)
)]
#[cfg_attr(not(feature = "rcl"), serde(crate = "ros2_types::serde"))]
pub struct BatteryState {
pub header: super::super::super::std_msgs::msg::header::Header,
pub voltage: f32,
pub temperature: f32,
pub current: f32,
pub charge: f32,
pub capacity: f32,
pub design_capacity: f32,
pub percentage: f32,
pub power_supply_status: u8,
pub power_supply_health: u8,
pub power_supply_technology: u8,
pub present: bool,
pub cell_voltage: crate::msg::F32Seq<0>,
pub cell_temperature: crate::msg::F32Seq<0>,
pub location: crate::msg::RosString<0>,
pub serial_number: crate::msg::RosString<0>,
}
impl BatteryState {
pub const POWER_SUPPLY_STATUS_UNKNOWN: u8 = 0;
pub const POWER_SUPPLY_STATUS_CHARGING: u8 = 1;
pub const POWER_SUPPLY_STATUS_DISCHARGING: u8 = 2;
pub const POWER_SUPPLY_STATUS_NOT_CHARGING: u8 = 3;
pub const POWER_SUPPLY_STATUS_FULL: u8 = 4;
pub const POWER_SUPPLY_HEALTH_UNKNOWN: u8 = 0;
pub const POWER_SUPPLY_HEALTH_GOOD: u8 = 1;
pub const POWER_SUPPLY_HEALTH_OVERHEAT: u8 = 2;
pub const POWER_SUPPLY_HEALTH_DEAD: u8 = 3;
pub const POWER_SUPPLY_HEALTH_OVERVOLTAGE: u8 = 4;
pub const POWER_SUPPLY_HEALTH_UNSPEC_FAILURE: u8 = 5;
pub const POWER_SUPPLY_HEALTH_COLD: u8 = 6;
pub const POWER_SUPPLY_HEALTH_WATCHDOG_TIMER_EXPIRE: u8 = 7;
pub const POWER_SUPPLY_HEALTH_SAFETY_TIMER_EXPIRE: u8 = 8;
pub const POWER_SUPPLY_TECHNOLOGY_UNKNOWN: u8 = 0;
pub const POWER_SUPPLY_TECHNOLOGY_NIMH: u8 = 1;
pub const POWER_SUPPLY_TECHNOLOGY_LION: u8 = 2;
pub const POWER_SUPPLY_TECHNOLOGY_LIPO: u8 = 3;
pub const POWER_SUPPLY_TECHNOLOGY_LIFE: u8 = 4;
pub const POWER_SUPPLY_TECHNOLOGY_NICD: u8 = 5;
pub const POWER_SUPPLY_TECHNOLOGY_LIMN: u8 = 6;
pub const POWER_SUPPLY_TECHNOLOGY_TERNARY: u8 = 7;
pub const POWER_SUPPLY_TECHNOLOGY_VRLA: u8 = 8;
}