From df3ee03d3814ba51e0d09f90f419a5f9650e2105 Mon Sep 17 00:00:00 2001 From: David Date: Fri, 28 Mar 2014 23:41:51 +1300 Subject: A night full of rewriting and tidying --- src/getbat.c | 199 ----------------------------------------------------------- 1 file changed, 199 deletions(-) delete mode 100644 src/getbat.c (limited to 'src/getbat.c') diff --git a/src/getbat.c b/src/getbat.c deleted file mode 100644 index ad3a760..0000000 --- a/src/getbat.c +++ /dev/null @@ -1,199 +0,0 @@ -/************************************************************************ - * This file is part of trayfreq. * - * * - * trayfreq is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published * - * by the Free Software Foundation; either version 3 of the License, or * - * (at your option) any later version. * - * * - * trayfreq is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with trayfreq. If not, see . * - ************************************************************************/ - -#include "getbat.h" - -#include -#include -#include -#include - -gint BAT_NUM; -gint MAX_CAPACITY; -gint WARN_CAPACITY; -gint LOW_CAPACITY; - -//gchar INFO_PATH[30]; -gchar CHARGE_VALUE_PATH[40]; -gchar CHARGE_STATE_PATH[40]; -gchar CURRENT_PATH[40]; - -static gint get_bat_num() -{ - FILE* fd; - gchar file[40]; - gint i; - for(i = 0; i < 3; i++) - { - memset(file, '\0', 40); - sprintf(file, "/sys/class/power_supply/BAT%i/present", i); - - if((fd = fopen(file, "r")) != NULL) - { - if (fgetc(fd) == '1') - { - fclose(fd); - return i; - } - } - } - return -1; -} - -static gint get_int(char* line) -{ - char numbers[] = "1234567890"; - char* first_num; - - first_num = strpbrk (line, numbers); - if(first_num) - return atoi(first_num); - return 1; -} - -static gint get_int_value_from_file(const gchar* path) -{ - FILE* fd; - gchar buff[100]; - gint value; - - if(!(fd = fopen(path, "r"))) - return -1; - - if (fgets(buff, 100, fd)) - value = get_int(buff); - - fclose(fd); - return value; -} - -static gboolean file_has_line(const gchar* path, const gchar* line) -{ - FILE* fd; - gchar buff[100]; - - if(!(fd = fopen(path, "r"))) - return FALSE; - - while(fgets(buff, 100, fd) != NULL) - { - if(strstr(buff, line) != NULL) - { - fclose(fd); - return TRUE; - } - } - fclose(fd); - return FALSE; -} - -gboolean gb_init() -{ - BAT_NUM = get_bat_num(); - //sprintf(INFO_PATH, "/proc/acpi/battery/BAT%i/info", gb_number()); - sprintf(CHARGE_VALUE_PATH, "/sys/class/power_supply/BAT%i/capacity", gb_number()); - sprintf(CHARGE_STATE_PATH, "/sys/class/power_supply/BAT%i/status", gb_number()); - sprintf(CURRENT_PATH, "/sys/class/power_supply/BAT%i/charge_now", gb_number()); - - FILE* fd; - gchar buff[100]; - - /*if(!(fd = fopen(INFO_PATH, "r"))) - return FALSE; - - while(fgets(buff, 100, fd)!= NULL) - { - if(strncmp("last full capacity:", buff, 19) == 0) - MAX_CAPACITY = get_int(buff); - else if(strncmp("design capacity warning:", buff, 24) == 0) - WARN_CAPACITY = get_int(buff); - else if(strncmp("design capacity low:", buff, 20) == 0) - LOW_CAPACITY = get_int(buff); - else if(strncmp("present: no",buff, 27) == 0) - return FALSE; - } - fclose(fd);*/ - return TRUE; -} - -gint gb_current_rate() -{ - return get_int_value_from_file(CURRENT_PATH); - return 0; -} - -gboolean gb_discharging() -{ - return file_has_line(CHARGE_STATE_PATH, "Discharging"); -} - -gboolean gb_charged() -{ - return file_has_line(CHARGE_STATE_PATH, "Full"); -} - -gboolean gb_charging() -{ - return file_has_line(CHARGE_STATE_PATH, "Charging"); -} - -gint gb_number() -{ - return BAT_NUM; -} -/* -gint gb_max_capacity() -{ - return MAX_CAPACITY; -} - -gint gb_warn_capacity() -{ - return WARN_CAPACITY; -} - -gint gb_low_capacity() -{ - return LOW_CAPACITY; -}*/ - -gint gb_percent() -{ - return get_int_value_from_file(CHARGE_VALUE_PATH); -} -/* -void gb_time(gchar* time) -{ - float minutes = (float)gb_current_rate()/1000; - - //float minutes = ftime/60; - - //if(minutes < 10) - sprintf(time, "%i", (int)minutes); - //else - // sprintf(time, "%i:%i", (int)ftime, (int)minutes); -} - -void gb_charge_time(gchar* time) -{ - float ftime = ((float)gb_max_capacity() - (float)gb_percent()) / (float)gb_current_rate(); - float minutes = ((float)ftime - (int)ftime) * (float)60; - if(minutes < 10) - sprintf(time, "%i:0%i", (int)ftime, (int)minutes); - else - sprintf(time, "%i:%i", (int)ftime, (int)minutes); -}*/ \ No newline at end of file -- cgit v1.1