IBAM is hosted at Sourceforge. This is the IBAM project page at sourceforge, and new versions will be announced at the project page of IBAM at freshmeat. Read about ibam at sweetcode.
You may download the current version 0.4 here at
The Motivation:
All currently available battery or apm monitors keep telling me that my
laptop is able to run for 200 minutes (3h 20min) with fully charged batteries.
The reason for this is that the bios computes these inaccurate numbers from
the "intelligent" batteries and the apmd just forwards this information to
all applications. Even worse is that the last "bios" hour is only about 20
minutes in terms of our understanding of time.
IBAM solves this problem by creating a battery and charge profile (as seen
on the right for my computer) from which it can compute the actual
times remaining. The red graph represents the battery cycle (where the
laptop is running on battery), the x-axis represents the bios-minutes, the
y-axis the actual average lengths of that minute in seconds. As you can see
the bios minute is about 50 seconds long from 200 minutes to 60 minutes, and
only 10 seconds long from 40 minutes to 20 minutes. No wonder I was
surprised that the battery was empty so soon... ;)
The green graph shows the charge cycle, which seems to be a bit more useful,
still the same technique can be used to give the user an idea how long the
charge process will need.
As soon you created initial profiles you can get the same graphs for your
computer by using the option "--plot".
Of course the computer will consume more energy on a high load and IBAM does
take this into account by determining a short-term linear adaptive method.
Some example output (alias screenshots... ;):
$ ./ibam Total battery time: 2:11:33 Total charge time: 1:36:13 $
$ ./ibam Battery time left: 1:10:25 Adapted battery time left: 1:15:44 $
$ ./ibam Charge time left: 0:30:17 Adapted charge time left: 0:31:30 $
$ ./ibam --help
IBAM-0.4, the Intelligent Battery Monitor
(C) 2001-2005 Sebastian Ritterbusch
Usage: ibam [options]
Options:
-h, --help displays this message
-v, --version displays software version
-b, --bios show bios apm guesses
-s, --seconds displays times in seconds
-c, --correctseconds displays changes in seconds
-r, --readonly no files will be updated
-a, --all show ALL information
--battery show battery time
--batteryadaptive show adaptive battery time
--batterybios show bios battery time guess
--percentbattery show battery percentage
--percentbios show bios percentage
--charge show charge time
--chargeadaptive show adaptive charge time
--percentcharge show charge percentage
--totalbattery show total battery time
--totalbatteryadaptive show adaptive total battery
--totalcharge show total charge time
--totalchargeadaptive show adaptive total charge
--plot[=profiles] use gnuplot to plot battery and charge graphs
and plot the last <profiles> additional profiles
--plotderivations[=profiles] same as above plus standard derivations
--import import V0.1 data from current directory
--profile enable additional yet unused profiling
--noprofile disable additional profiling
--credits to everyone contributing to ibam
Total battery time: 2:11:33
Total charge time: 1:36:13
$
You are strongly invited to use my code in on of the many (GPLed) graphical
frontends.
Sebastian Ritterbusch, 12.11.2005