summaryrefslogtreecommitdiff
path: root/src/print_battery_info.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/print_battery_info.c')
-rw-r--r--src/print_battery_info.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/print_battery_info.c b/src/print_battery_info.c
index 3e0c302..74d4460 100644
--- a/src/print_battery_info.c
+++ b/src/print_battery_info.c
@@ -37,6 +37,7 @@ void print_battery_info(yajl_gen json_gen, char *buffer, int number, const char
char percentagebuf[16];
char remainingbuf[256];
char emptytimebuf[256];
+ char consumptionbuf[256];
const char *walk, *last;
char *outwalk = buffer;
int full_design = -1,
@@ -48,6 +49,7 @@ void print_battery_info(yajl_gen json_gen, char *buffer, int number, const char
memset(percentagebuf, '\0', sizeof(percentagebuf));
memset(remainingbuf, '\0', sizeof(remainingbuf));
memset(emptytimebuf, '\0', sizeof(emptytimebuf));
+ memset(consumptionbuf, '\0', sizeof(consumptionbuf));
INSTANCE(path);
@@ -134,6 +136,9 @@ void print_battery_info(yajl_gen json_gen, char *buffer, int number, const char
(void)snprintf(emptytimebuf, sizeof(emptytimebuf), "%02d:%02d:%02d",
max(empty_tm->tm_hour, 0), max(empty_tm->tm_min, 0), max(empty_tm->tm_sec, 0));
+ (void)snprintf(consumptionbuf, sizeof(consumptionbuf), "%1.2fW",
+ ((float)present_rate / 1000.0 / 1000.0));
+
END_COLOR;
}
#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
@@ -249,6 +254,9 @@ void print_battery_info(yajl_gen json_gen, char *buffer, int number, const char
} else if (strncmp(walk+1, "emptytime", strlen("emptytime")) == 0) {
outwalk += sprintf(outwalk, "%s", emptytimebuf);
walk += strlen("emptytime");
+ } else if (strncmp(walk+1, "consumption", strlen("consumption")) == 0) {
+ outwalk += sprintf(outwalk, "%s", consumptionbuf);
+ walk += strlen("consumptionbuf");
}
}