OBJ(battery_time) {
get_battery_stuff(p, p_max_size, obj->data.s, BATTERY_TIME);
}
+ OBJ(battery_volts) {
+ get_battery_stuff(p, p_max_size, obj->data.s, BATTERY_VOLTS);
+ }
+ OBJ(battery_temp) {
+ get_battery_stuff(p, p_max_size, obj->data.s, BATTERY_TEMP);
+ }
OBJ(battery_percent) {
percent_print(p, p_max_size, get_battery_perct(obj->data.s));
}
strcpy(bat, "bq27200-0");
}
obj->data.s = strndup(bat, text_buffer_size);
+ END OBJ(battery_volts, 0)
+ char bat[64];
+ if (arg) {
+ sscanf(arg, "%63s", bat);
+ } else {
+ strcpy(bat, "bq27200-0");
+ }
+ obj->data.s = strndup(bat, text_buffer_size);
+ END OBJ(battery_temp, 0)
+ char bat[64];
+ if (arg) {
+ sscanf(arg, "%63s", bat);
+ } else {
+ strcpy(bat, "bq27200-0");
+ }
+ obj->data.s = strndup(bat, text_buffer_size);
#endif /* !__OpenBSD__ */
#if defined(__linux__)
case OBJ_battery_time:
free(data.s);
break;
+ case OBJ_battery_volts:
+ free(data.s);
+ break;
+ case OBJ_battery_temp:
+ free(data.s);
+ break;
#endif /* !__OpenBSD__ */
case OBJ_execpi:
case OBJ_execi:
static int acpi_last_full[MAX_BATTERY_COUNT];
static int acpi_design_capacity[MAX_BATTERY_COUNT];
+//eg 4100
+static int last_battery_volts[MAX_BATTERY_COUNT];
+
+//eg 35
+static int last_battery_temp[MAX_BATTERY_COUNT];
+
/* e.g. "charging 75%" */
static char last_battery_str[MAX_BATTERY_COUNT][64];
/* e.g. "3h 15m" */
memset(last_battery_str[idx], 0, sizeof(last_battery_str[idx]));
memset(last_battery_time_str[idx], 0, sizeof(last_battery_time_str[idx]));
+ //memset(last_battery_volts[idx], 0, sizeof(last_battery_volts[idx]));
+ //memset(last_battery_temp[idx], 0, sizeof(last_battery_temp[idx]));
/* first try SYSFS if that fails try ACPI */
fclose(sysfs_bat_fp[idx]);
sysfs_bat_fp[idx] = NULL;
+
+ last_battery_volts[idx] = voltage;
+ last_battery_temp[idx] = temp;
/* Hellf[i]re notes that remaining capacity can exceed acpi_last_full */
//lance notes, we don't care
case BATTERY_TIME:
snprintf(buffer, n, "%s", last_battery_time_str[idx]);
break;
+ case BATTERY_VOLTS:
+ snprintf(buffer, n, "%i", last_battery_volts[idx]); // voltage
+ break;
+ case BATTERY_TEMP:
+ snprintf(buffer, n, "%i", last_battery_temp[idx]); // temperature
+ break;
default:
break;
}