]> git.itanic.dy.fi Git - log-plotter/blob - plotter_status.h
data.c: Reset time stamp when starting new log
[log-plotter] / plotter_status.h
1 #ifndef _PLOTTER_STATE_
2 #define _PLOTTER_STATE_
3
4 enum system_status {
5         SYSTEM_STATUS_NO_USB = -1,
6         SYSTEM_STATUS_UNKNOWN,
7         SYSTEM_STATUS_CHARGING,
8         SYSTEM_STATUS_DISCHARGING,
9         SYSTEM_STATUS_MONITORING,
10         SYSTEM_STATUS_COMPLETED = 6,
11 };
12
13 struct log_plotter_status {
14         int old_system_status;
15         int system_status;
16 };
17
18 extern struct log_plotter_status plotter_state;
19
20 static inline void set_plotter_system_status(int new_status)
21 {
22         plotter_state.system_status = new_status;
23 }
24
25 static inline char *state_to_str(int state)
26 {
27         switch (state) {
28         case SYSTEM_STATUS_NO_USB:
29                 return "No USB";
30
31         case SYSTEM_STATUS_CHARGING:
32                 return "Charging";
33
34         case SYSTEM_STATUS_DISCHARGING:
35                 return "Discharging";
36
37         case SYSTEM_STATUS_MONITORING:
38                 return "Monitoring";
39
40         case SYSTEM_STATUS_COMPLETED:
41                 return "Completed";
42
43         default:
44                 return "Unknown";
45         }
46 }
47
48 static inline int state_has_changed(void)
49 {
50         return plotter_state.old_system_status != plotter_state.system_status;
51 }
52
53 #endif