CreOS SDK
The CreOS SDK allows you to interact with Avular robots
 
Loading...
Searching...
No Matches
battery_state.hpp
Go to the documentation of this file.
1
8namespace sensor_msgs::msg {
15public:
16
17 // Constants are chosen to match the enums in the linux kernel
18 // defined in include/linux/power_supply.h as of version 3.7
19 // The one difference is for style reasons the constants are
20 // all uppercase not mixed case.
21
22 // Power supply status constants
23 static const uint8_t POWER_SUPPLY_STATUS_UNKNOWN = 0;
24 static const uint8_t POWER_SUPPLY_STATUS_CHARGING = 1;
25 static const uint8_t POWER_SUPPLY_STATUS_DISCHARGING = 2;
26 static const uint8_t POWER_SUPPLY_STATUS_NOT_CHARGING = 3;
27 static const uint8_t POWER_SUPPLY_STATUS_FULL = 4;
28
29 // Power supply health constants
30 static const uint8_t POWER_SUPPLY_HEALTH_UNKNOWN = 0;
31 static const uint8_t POWER_SUPPLY_HEALTH_GOOD = 1;
32 static const uint8_t POWER_SUPPLY_HEALTH_OVERHEAT = 2;
33 static const uint8_t POWER_SUPPLY_HEALTH_DEAD = 3;
34 static const uint8_t POWER_SUPPLY_HEALTH_OVERVOLTAGE = 4;
35 static const uint8_t POWER_SUPPLY_HEALTH_UNSPEC_FAILURE = 5;
36 static const uint8_t POWER_SUPPLY_HEALTH_COLD = 6;
37 static const uint8_t POWER_SUPPLY_HEALTH_WATCHDOG_TIMER_EXPIRE = 7;
38 static const uint8_t POWER_SUPPLY_HEALTH_SAFETY_TIMER_EXPIRE = 8;
39
40 // Power supply technology (chemistry) constants
41 static const uint8_t POWER_SUPPLY_TECHNOLOGY_UNKNOWN = 0;
42 static const uint8_t POWER_SUPPLY_TECHNOLOGY_NIMH = 1;
43 static const uint8_t POWER_SUPPLY_TECHNOLOGY_LION = 2;
44 static const uint8_t POWER_SUPPLY_TECHNOLOGY_LIPO = 3;
45 static const uint8_t POWER_SUPPLY_TECHNOLOGY_LIFE = 4;
46 static const uint8_t POWER_SUPPLY_TECHNOLOGY_NICD = 5;
47 static const uint8_t POWER_SUPPLY_TECHNOLOGY_LIMN = 6;
48
50 float voltage;
52 float current;
53 float charge;
54 float capacity;
56 float percentage;
60 bool present;
61
62 std::vector<float> cell_voltage;
63 // If individual voltages unknown but number of cells known set each to NaN
64 std::vector<float> cell_temperature;
65 // If individual temperatures unknown but number of cells known set each to NaN
66 std::string location;
67 std::string serial_number;
68};
69} // namespace sensor_msgs::msg
ROS message class definition for BatteryState.
Definition battery_state.hpp:14
float temperature
Temperature in Degrees Celsius (If unmeasured NaN)
Definition battery_state.hpp:51
bool present
True if the battery is present.
Definition battery_state.hpp:60
std::string location
The location into which the battery is inserted. (slot number or plug)
Definition battery_state.hpp:66
std::vector< float > cell_voltage
An array of individual cell voltages for each cell in the pack.
Definition battery_state.hpp:62
std::vector< float > cell_temperature
An array of individual cell temperatures for each cell in the pack.
Definition battery_state.hpp:64
float voltage
Voltage in Volts (Mandatory)
Definition battery_state.hpp:50
uint8_t power_supply_status
The charging status as reported. Values defined above.
Definition battery_state.hpp:57
uint8_t power_supply_health
The battery health metric. Values defined above.
Definition battery_state.hpp:58
std::string serial_number
The best approximation of the battery serial number.
Definition battery_state.hpp:67
float charge
Current charge in Ah (If unmeasured NaN)
Definition battery_state.hpp:53
float percentage
Charge percentage on 0 to 1 range (If unmeasured NaN)
Definition battery_state.hpp:56
float capacity
Capacity in Ah (last full capacity) (If unmeasured NaN)
Definition battery_state.hpp:54
float design_capacity
Capacity in Ah (design capacity) (If unmeasured NaN)
Definition battery_state.hpp:55
uint8_t power_supply_technology
The battery chemistry. Values defined above.
Definition battery_state.hpp:59
float current
Negative when discharging (A) (If unmeasured NaN)
Definition battery_state.hpp:52
ROS message class definition for Header.
Definition header.hpp:17
message definitions of the sensor_msgs package
Definition battery_state.hpp:8