master
 1// battery
 2enum BatteryError {
 3    BATTERY_SUCCESS = 0,
 4    BATTERY_NO_BATTERY = 1,
 5    BATTERY_NO_CYCLE_COUNT = 2,
 6    BATTERY_MANAGER_ERROR = 3
 7};
 8
 9struct BatteryResult {
10    unsigned int cycle_count;
11    enum BatteryError error;
12};
13
14struct BatteryResult battery_cycle_count(void);
15
16// battery time to empty
17enum BatteryTimeToEmptyError {
18    BATTERY_TIME_TO_EMPTY_SUCCESS = 0,
19    BATTERY_TIME_TO_EMPTY_NO_BATTERY = 1,
20    BATTERY_TIME_TO_EMPTY_NO_TIME_TO_EMPTY = 2,
21    BATTERY_TIME_TO_EMPTY_MANAGER_ERROR = 3
22};
23
24struct BatteryTimeToEmptyResult {
25    unsigned long long time_to_empty_seconds;
26    enum BatteryTimeToEmptyError error;
27};
28
29struct BatteryTimeToEmptyResult battery_time_to_empty(void);
30
31
32// sensors
33enum SensorError {
34    SENSOR_SUCCESS = 0,
35    SENSOR_NO_COMPONENTS = 1,
36    SENSOR_NO_TEMPERATURE = 2
37};
38
39struct SensorResult {
40    float temperature;
41    enum SensorError error;
42};
43
44struct SensorResult sensors(void);