diff --git a/src/plugins/batt/batt_sys.c b/src/plugins/batt/batt_sys.c index 54ff678..1eebab5 100644 --- a/src/plugins/batt/batt_sys.c +++ b/src/plugins/batt/batt_sys.c @@ -35,15 +35,6 @@ #include #include -battery* battery_new() { - static int battery_num = 1; - battery * b = g_new0 ( battery, 1 ); - battery_reset(b); - b->battery_num = battery_num; - battery_num++; - return b; -} - void battery_reset( battery * b) { b->type_battery = TRUE; b->capacity_unit = "mAh"; @@ -58,6 +49,15 @@ void battery_reset( battery * b) { b->state = NULL; } +battery* battery_new() { + static int battery_num = 1; + battery * b = g_new0 ( battery, 1 ); + battery_reset(b); + b->battery_num = battery_num; + battery_num++; + return b; +} + static gchar* parse_info_file(char *filename) { char *buf = NULL; @@ -194,7 +194,7 @@ void battery_update( battery *b ) { /* convert energy values (in mWh) to charge values (in mAh) if needed and possible */ if (b->last_capacity_unit != -1 && b->last_capacity == -1) { - if (b->voltage != -1) { + if (b->voltage > 0) { b->last_capacity = b->last_capacity_unit * 1000 / b->voltage; } else { b->last_capacity = b->last_capacity_unit; @@ -202,7 +202,7 @@ void battery_update( battery *b ) { } } if (b->design_capacity_unit != -1 && b->design_capacity == -1) { - if (b->voltage != -1) { + if (b->voltage > 0) { b->design_capacity = b->design_capacity_unit * 1000 / b->voltage; } else { b->design_capacity = b->design_capacity_unit; @@ -210,7 +210,7 @@ void battery_update( battery *b ) { } } if (b->remaining_energy != -1 && b->remaining_capacity == -1) { - if (b->voltage != -1) { + if (b->voltage > 0) { b->remaining_capacity = b->remaining_energy * 1000 / b->voltage; b->present_rate = b->present_rate * 1000 / b->voltage; } else { @@ -220,7 +220,7 @@ void battery_update( battery *b ) { if (b->last_capacity < MIN_CAPACITY) b->percentage = 0; else - b->percentage = ((float) b->remaining_energy * 100.0) / (float) b->last_capacity_unit; + b->percentage = (float) b->remaining_capacity * 100 / b->last_capacity; if (b->percentage > 100) b->percentage = 100;