aboutsummaryrefslogtreecommitdiff
path: root/rxbar.c
diff options
context:
space:
mode:
Diffstat (limited to 'rxbar.c')
-rw-r--r--rxbar.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/rxbar.c b/rxbar.c
index 4b25b79..9559fe6 100644
--- a/rxbar.c
+++ b/rxbar.c
@@ -23,7 +23,31 @@ int main()
{
fdc = open("/sys/class/power_supply/macsmc-battery/capacity", O_RDONLY);
fds = open("/sys/class/power_supply/macsmc-battery/status", O_RDONLY);
+ if (fdc == -1 || fds == -1) {
+ fdc = open("/sys/class/power_supply/BAT0/capacity", O_RDONLY);
+ fds = open("/sys/class/power_supply/BAT0/status", O_RDONLY);
+ }
+ if (fdc == -1 || fds == -1) {
+ // no battery
+ for (;;) {
+ t = time(NULL);
+ td = *localtime(&t);
+ dprintf(STDOUT_FILENO,
+ "NOBAT %d-%02d-%02d %02d:%02d:%02d\n",
+ td.tm_year + 1900,
+ td.tm_mon + 1,
+ td.tm_mday,
+ td.tm_hour,
+ td.tm_min,
+ td.tm_sec
+ );
+ t = (t + 1) * 1000000;
+ for (t1 = time(NULL) * 1000000; t1 < t; t1 = time(NULL) * 1000000)
+ usleep(t - t1);
+ }
+ }
for (;;) {
+ // battery present
t = time(NULL);
td = *localtime(&t);
len = pread(fdc, buf + 1, MAXLEN, 0);