Make your own free website on


Battery Log 2.00


  1. Description.
  2. Features.
  3. Requirements.
  4. Installation.
  5. User Interface (Battery Log.prc).
  6. Registration.
  7. New Battery Detection.
  8. Restoring Battery Log after a hard reset.
  9. Technical Stuff.
  10. Copyright.
  11. Credits.
  12. Standard Disclaimer.
  13. Known Issues.
  14. Version History.


This is the readme for version 2.00 of Battery Log.

Battery Log will monitor the batteries in your handheld and give you an estimated date for their replacement, based on actual usage of your handheld.





One of the following must be installed for Battery Log to work:

a. HackMaster from, shareware, $5.00

b. X-Master from, freeware.

c. TealMaster from, shareware, $9.95

If you don't have any of the above, then I recommend that you download and install X-Master.

What are these applications?

These applications are used to manage Palm OS system extensions, also known as Hacks. Hacks are used to extend and provide features that the Palm OS does not provide intrinsically. All monitoring functions of Battery Log are dependent on a custom hack called BatteryLog Hack that is provided with this app. In order to activate this hack, you will need one of the above programs.



If you are upgrading from a previous version, please remember to deactivate BatteryLog Hack BEFORE you install the new version and reactivate it again AFTER installation is complete.

Installation assumes you have X-Master installed, but you can use any of the previously listed system extension managers.

a. Install both Battery Log.prc and BLHack.prc on your handheld.

b.. Start X-Master and place a check against BatteryLog Hack to activate the monitoring software.

c. Exit X-Master.

That's it. That's all you have to do for Battery Log to do its work. Please remember that all monitoring is done through the hack and if you deactivate it, Battery Log may present inaccurate data.

To view the data that has been collected, start the Battery Log app.



The user interface has two modes - the current battery mode and the history mode. You can switch modes by using the popup in the top right corner of the screen (usually where the categories popup is displayed).

Current Battery Mode

The current battery mode displays all relevant data about your current (active) set of batteries. Data gathering begins fresh each time a new set of batteries is installed.

The General group displays information about the handheld's usage since the batteries were installed.

The Battery Info group is also self-explanatory. The initial charge and voltage is set when you change batteries or start monitoring for the first time.

The estimated date is calculated based on the usage of your handheld. In order to make an estimation, monitoring must be active for at least one full day AND battery charge must have dropped by at least 1 percent from the initial reading. Battery Log calculates the amount of time that has passed for these conditions to be met, and uses this data to make an estimation of when you will first see your "low battery warning" dialog. If you use your handheld for the same amount of time everyday, then the estimated date will never change from the first predicted date. However, in most situations, usage per day is not constant. Battery Log will adapt to this situation and recalculate the estimated date based on current data, each time you bring up this screen.

You can use the Notes button to enter your comments about the battery. You can enter up to 80 characters.

This screen is refreshed once every 15 seconds. You can also force it to refresh immediately by tapping once on a blank part of the screen.

History Mode

As the name suggests, you can view all past battery data that has been monitored. All data that is displayed should be self-explanatory. History data is always presented last-to-first. This means that the last set of batteries that were active will always be presented first and so on.

You can delete an entry that you no longer want, by clicking on the small trash icon at the bottom of this screen.

The Notes button will be visible only if you had entered some notes while the batteries were active. Clicking on this button in this screen will allow you to view that data. (Note: You CANNOT modify or add notes to batteries that are not active.)

If you have more than one history entry, you will also see two arrows at the bottom right corner of the screen. You can use these to navigate between various history entries.


The menus can be activated ONLY while you are in the Current Battery Mode.

The menu items are explained below:

Force New Batteries:

Battery Log features a battery change detect algorithm, so you should never have to use this. However, in case you have turned off this feature or Battery Log doesn't detect new batteries, you can force it to recognize new batteries by selecting this option.

Once you confirm that you do want to go ahead, data collection for the current set of active batteries is stopped and data collection is started for the "new" set.

Restore Old Batteries:

This performs the reverse of the above option, and allows you to roll back to the previous set of active batteries. Please note that some data specific to the currently active entry WILL be lost, so use this only when you absolutely have to.

Advanced Battery Info:

This displays the critical threshold and warninng threshold values. These determine when you will begin to see low battery warnings. You cannot modify any of the values displayed on this screen.


Autodetect Battery Change checkbox - Use this to turn off the auto detect algorithm. This is NOT recommended and is provided only as a safety measure. It should NEVER be used unless you know what you are doing. (If you have to do this, I would really appreciate it if you could email me the circumstances.)

Max History Entries - This limits the number of history entries that are stored in Battery Log's database. This useful if you have tight storage constraints or have a handheld with rechargeable batteries and don't need to keep a long history list. Please note that any extra entries are deleted IMMEDIATELY AFTER you select OK and CANNOT be recovered. The order of deletion is oldest-to-newest. This means that the oldest entries are deleted first to make room for newer entries.

Battery Profile - Use this to customize the BatteryLog information display. You can set the profile to one of the following:

  1. Auto Detect - In this mode, the app automatically switches between Normal and Charge On Cradle profiles depending on whether the handheld is off the cradle or on it. For handhelds that do not charge on the cradle, the app will always choose the Normal profile in this mode.
  2. Normal - In this mode, the app will always display the estimated date the batteries need to be changed.
  3. Charge On Cradle - In this mode, the handheld will always display the estimated time needed for a full recharge. This data is valid only for models that can recharge while on the cradle.

The default is Auto Detect and for most users, I recommend that you leave it at this.

Reset Battery Charging Rate - This will force the app to recalculate the battery-charging rate.

About Battery Log:

This displays information about this app and my contact information.



BatteryLog is still freeware. If you like this application and would like to support its future development, please consider sending $5 to my account ( at PayPal (

Why register?

  1. Upgrade notifications - You will be notified by email of all future releases.
  2. Priority tech support - If you have a problem with BatteryLog, I will try to fix it as soon as possible.
  3. Support future development - software tools are expensive!!



This will work only if BatteryLog Hack is active. When the handheld is in use, the battery status is checked once every 60 seconds. If Battery Log determines that a new battery has been installed, then it will stop data collection for the old set of batteries and start data collection for the new set.

Since the status is checked only once every minute, Battery Log might take a few minutes (3 or 4 max) to recognize the fact that you have installed new batteries. So please be patient.

How It Works

Every minute, Battery Log stores and updates values for the battery voltage and percentage of power (besides other things). When it finds a significant difference between two consecutive readings, it goes into battery detect mode, and the battery is checked every 5 seconds for the next 15 seconds. If, after this time, the difference is still significant, then the app decides that a new set of batteries have been installed.

You may be wondering why the battery detect mode. Well, from practical experience I found out that batteries tend to recharge when they are not being used (especially alkaline ones) and tend to report a large "jump" when the handheld is powered on from the sleep state. Once the handheld is active for a few seconds, the battery settles down to its "correct" values. Without this extra checking, Battery Log would detect new batteries almost every time you switched on your handheld.

So with this algorithm, detection of new batteries takes a little longer, but its far more accurate.



This feature is supported only in Battery Log versions 1.05 and later. This procedure assumes that you have performed a hotsync ATLEAST once after you activated Battery Log and BEFORE the hard reset.

  1. Reinstall BatteryLog.prc and BLHack.prc onto your handheld.
  2. Reinstall HackMaster if you have not already done so.
  3. Make sure that Battery Log Hack is NOT checked in HackMaster.
  4. Find the file BatteryDataDB.pdb on your hard disk. This is usually stored at C:\Program Files\Palm\<your user name>\Backup.
  5. Install BatteryDataDB.pdb onto your handheld.
  6. Reactivate Battery Log Hack by placing a check against it from within HackMaster.

You will now have all data from the time you installed battery log to the time of the last hotsync. Data that Battery Log stored between the time of the last hotsync and the hard reset is lost.

If you try this on versions prior to 1.05, the data presented for the active set of batteries WILL be inaccurate.



This application has been built with Metrowerks CodeWarrior 7.0, and PalmOS SDK 3.5.

This app has been tested on a Handspring Visor with OS 3.1H3, Palm IIIc, IIIxe, Vx, M100 and OS 3.5 and 4.0 ROMs in the POSE (Palm OS Emulator).

The latest version of Battery Log can be found on the PalmGear website or at my website



Battery Log is copyright 2001 by Chetan Rao <>

WebPage :

You can distribute this app freely. If you find any bugs or have other comments, please let me know.



A big thank you to all my beta testers out there, and a big thank you to Sean D. Evans for the new and much better looking icon for this app.



I have taken great care make sure Battery Log is bug free, and at the moment there are no known bugs. However, Battery Log is provided without warranty of any kind, express or implied. I can accept no liability for data loss or any other problems caused directly or indirectly by the use of this application.





Current Version: 2.00

2.00 - Dec 24, 2001

1.09 - Dec 08, 2001

1.08 - Nov 12, 2001

1.07 - Oct 28, 2001

Thanks to Francesco Ferrara for being the first to report a reproducible method for causing the "LaunchDB open" fatal alert and thus paving the way for my fixing it.

Thanks to Sean D. Evans for extensive beta testing of the features for cradle charging models.

1.06 - Oct 11, 2001

1.05 - Oct 06, 2001

A big thankyou to Brenda Gann for pointing out the date bug and battery detect issues and helping me in tracking them down.

1.04 - Sep 30, 2001

1.03 - Sep 28, 2001

1.02 - Sep 26, 2001

1.01 - Sep 24, 2001

1.00 - Sep 16, 2001