# Constants are chosen to match the enums in the linux kernel # defined in include/linux/power_supply.h as of version 3.7 # The one difference is for style reasons the constants are # all uppercase not mixed case. # Power supply status constants uint8 POWER_SUPPLY_STATUS_UNKNOWN = 0 uint8 POWER_SUPPLY_STATUS_CHARGING = 1 uint8 POWER_SUPPLY_STATUS_DISCHARGING = 2 uint8 POWER_SUPPLY_STATUS_NOT_CHARGING = 3 uint8 POWER_SUPPLY_STATUS_FULL = 4 # Power supply health constants uint8 POWER_SUPPLY_HEALTH_UNKNOWN = 0 uint8 POWER_SUPPLY_HEALTH_GOOD = 1 uint8 POWER_SUPPLY_HEALTH_OVERHEAT = 2 uint8 POWER_SUPPLY_HEALTH_DEAD = 3 uint8 POWER_SUPPLY_HEALTH_OVERVOLTAGE = 4 uint8 POWER_SUPPLY_HEALTH_UNSPEC_FAILURE = 5 uint8 POWER_SUPPLY_HEALTH_COLD = 6 uint8 POWER_SUPPLY_HEALTH_WATCHDOG_TIMER_EXPIRE = 7 uint8 POWER_SUPPLY_HEALTH_SAFETY_TIMER_EXPIRE = 8 # Power supply technology (chemistry) constants uint8 POWER_SUPPLY_TECHNOLOGY_UNKNOWN = 0 # Unknown battery technology uint8 POWER_SUPPLY_TECHNOLOGY_NIMH = 1 # Nickel-Metal Hydride battery uint8 POWER_SUPPLY_TECHNOLOGY_LION = 2 # Lithium-ion battery uint8 POWER_SUPPLY_TECHNOLOGY_LIPO = 3 # Lithium Polymer battery uint8 POWER_SUPPLY_TECHNOLOGY_LIFE = 4 # Lithium Iron Phosphate battery uint8 POWER_SUPPLY_TECHNOLOGY_NICD = 5 # Nickel-Cadmium battery uint8 POWER_SUPPLY_TECHNOLOGY_LIMN = 6 # Lithium Manganese Dioxide battery uint8 POWER_SUPPLY_TECHNOLOGY_TERNARY = 7 # Ternary Lithium battery uint8 POWER_SUPPLY_TECHNOLOGY_VRLA = 8 # Valve Regulated Lead-Acid battery std_msgs/Header header float32 voltage # Voltage in Volts (Mandatory) float32 temperature # Temperature in Degrees Celsius (If unmeasured NaN) float32 current # Negative when discharging (A) (If unmeasured NaN) float32 charge # Current charge in Ah (If unmeasured NaN) float32 capacity # Capacity in Ah (last full capacity) (If unmeasured NaN) float32 design_capacity # Capacity in Ah (design capacity) (If unmeasured NaN) float32 percentage # Charge percentage on 0 to 1 range (If unmeasured NaN) uint8 power_supply_status # The charging status as reported. Values defined above uint8 power_supply_health # The battery health metric. Values defined above uint8 power_supply_technology # The battery chemistry. Values defined above bool present # True if the battery is present float32[] cell_voltage # An array of individual cell voltages for each cell in the pack # If individual voltages unknown but number of cells known set each to NaN float32[] cell_temperature # An array of individual cell temperatures for each cell in the pack # If individual temperatures unknown but number of cells known set each to NaN string location # The location into which the battery is inserted. (slot number or plug) string serial_number # The best approximation of the battery serial number