



                            ABC/LX
                Advanced Battery Charging System

                 for the HP 100LX/200LX/1000CX

                          Version 1.0





THE FINE PRINT
--------------
As in most manuals, we have to start out with the stuff for the
lawyers. While we must ask that you read this section, in 
general this is what it all means:

 o  ABC/LX belongs to us, not you. What you bought was a right 
    to use ABC/LX. You can use it on as many computers as you'd
    like, but each person that uses ABC/LX must pay for a copy.

 o  You agree that you use ABC/LX at your own risk. We are not 
    responsible for anything that happens as a result of your 
    use of this software.

 o  If you bought this program for use by the U.S. Government, 
    the Government is only allowed to use it for one person. 
    (If we don't include this stuff about FARS and DFARS, the 
    Government will assume that they can make as many copies as
    they would like, and that they can do what ever they want 
    with it. At least they're trying to save us tax payers some
    money, but sorry, we can't let them do it by pirating 
    ABC/LX.)

Copyrights and Trademarks
-------------------------
ABC/LX and the ABC/LX logo are trademarks of D&A Software. HP, 100LX, and HP 200LX are trademarks of Hewlett-Packard Company. All other product names are copyright and registered trademarks/tradenames of their respective owners.

Limited Warranty
----------------
ABC/LX is distributed on an "as is" basis. Neither D&A 
Software, nor the software author, guarantees this program
to be free from defects and may not be held responsible for any
losses caused, directly or indirectly, by the use of this 
software. If you are not completely satisfied with ABC/LX 
within fifteen (15) days of purchase date, you may receive a refund of your purchase price, less a 20% administrative fee, when you return all items along with the proof of purchase. Further, since D&A Software does not have any direct affiliation with Hewlett Packard Co., future models of the HP Palmtop may not be compatible with ABC/LX. D&A Software does not guarantee that updates will be available to maintain compatibility with future HP Palmtop models. Further, if updates are offered, an upgrade fee may be required. Your use of this program constitutes your acceptance of these terms.

Disclaimer of Warranty
----------------------
With the exception of the Limited Warranty stated above, D&A 
Software, and the software author, disclaim any and all 
warranties, expressed or implied.

Use by the U.S. Government
--------------------------
RESTRICTED RIGHTS: Use, duplication, or disclosure by the U.S. 
Government is subject to restrictions as set forth in 
subparagraph (c)(1)(ii) of the Rights in Technical Data and 
Computer Software clause of DFARS 252.227-7013 or subparagraphs
(c)(1) and (2) of the Commercial Computer Software Restricted 
Rights at 48 CFR 52.227-19.



  D&A Software
  Webpage:     http://www.dasoft.com
  Information: info@dasoft.com
  support:     support@dasoft.com


                                                                

1. INTRODUCTION TO ABC/LX
                                                               

The HP100LX and HP200LX palmtops warn of low battery when the 
voltage drops below approximately 2.39 volts. The user has to 
enable the charging manually from the Setup-Battery Menu. The 
fast charging cycle then runs for six hours, followed by 
trickle charging. This method may not be sufficient for certain
batteries. This also lets the batteries get quite low before 
sounding the "low battery" alert. In addition, partially 
charged batteries will still receive a full charge when using 
the built-in algorithm, which may cause them to heat up, thus 
shorten their life span. 

ABC/LX implements an algorithm that augments the built-in
charge process and improves on most of its aspects. ABC/LX also
adds several features that help the palmtop owner see at a 
glance the condition of the batteries.
 
ABC/LX functions in the background, supporting the owners who 
do not wish to be concerned with the technicalities of battery 
charging. For these individuals, ABC/LX provides the automatic 
management of battery charging. 

The next three paragraphs discuss in some detail how ABC/LX 
works and its functions. You may skip this, and go to 
Section 2. "Installation of ABC/LX" to read about the 
installation process of ABC/LX. 

How ABC/LX Works
----------------
ABC/LX consists of two programs. ABCTSR.COM is a tiny TSR 
(Terminate & Stay Resident) program that uses less than 2K RAM 
and "lurks" in the background. It changes the charging state 
whenever appropriate based on parameters set up by the other 
program, ABC.EXE. ABC.EXE also provides a graph of the charging
process and the interfaces to modify the charging configuration
parameters. 

ABCTSR.COM periodically checks the battery voltage and 
activates the charging when the voltage drops below a preset 
level. While charging, ABCTSR.COM continuously monitors the 
voltage and will react when it detects the following 
conditions: 

 o  The voltage has reached a certain preset level.

 o  The voltage did not rise for a preset amount of time.

 o  The total charging time has reached a preset value.

 o  The charging stops by manual intervention.

If desired, trickle charging of the batteries may also be 
specified. All these parameters are set using ABC.EXE, and are 
discussed in greater detail later in this manual.
                                                                

2. INSTALLATION OF ABC/LX
                                                               

The installation steps consist of the following items:

 o  Moving the programs from the diskette to the palmtop.

 o  Adjustments to the AUTOEXEC.BAT file on the palmtop.

 o  Booting the palmtop.

 o  Installing ABC/LX in the Application Manager Menu.

 o  Initial Auto-tune process. 

 Note: If you do not have a desktop computer, or it is not 
       PC-compatible, please call us if you need assistance to 
       move the files to the palmtop. We will be glad to make 
       some arrangements to accomodate you.


Moving the programs To the Palmtop
----------------------------------
You will need to move two programs to the palmtop to run the 
system: ABC.EXE and ABCTSR.COM. ABC.DOC contains the ASCII 
version of this documentation. 

You can use INSTALL.EXE to copy the programs from a desktop 
computer to the palmtop. To use INSTALL.EXE, establish a serial
connection between the two computers. Then,  

 o  Start the FILER application on the palmtop (press the
    {FILER} key).

 o  Setup the remote communication parameters to 57,600 baud, 
    COM1, and enable Server Mode.

 o  Launch INSTALL.EXE on the desktop.

INSTALL.EXE prompts you for the desktop serial port number that
connects to the palmtop and for the name of the subdirectory 
where ABC/LX will be copied to. If the directory does not 
exist, a new one will be created. INSTALL.EXE will then copy 
the necessary files to the palmtop.
 

Adjustments To AUTOEXEC.BAT
---------------------------
To assure that the TSR runs properly on the palmtop, add the 
following line to AUTOEXEC.BAT on the palmtop:

 C:\BIN\ABCTSR.COM

Change "C:\BIN" to reflect the correct drive and path name 
(subdirectory) where ABC/LX is installed (see 2.1).

Make sure to add the line to AUTOEXEC.BAT before the System 
Manager startup (i.e., before a line specifying 100 or 200). If
no AUTOEXEC.BAT file is present, copy the one from the D: 
drive, file name AUTOEXEC.BAT, to the C:\ directory (or to A:\ 
if you use a flash card or SRAM card).


Booting the Palmtop
-------------------
Close all the applications on the palmtop. Then press the 
{CTRL}{ALT}{DEL} keys at the same time. This will boot the 
palmtop. Now, ABCTSR should be running. 


Installing ABC/LX In Application Manager Menu
In FILER, press {MENU} O D to go to a DOS prompt. At the
prompt, enter:

 C:\BIN\ABC

Change C:\BIN" to reflect the correct drive and path name 
(subdirectory) where ABC.EXE is located.

ABC prompts you if you want to install ABC.EXE in the 
Application Manager menu. If you reply "Yes", it adds a new 
entry to the Application Manager menu, and you can use it to 
start ABC in the future. 


Initial Auto-Tune Process
-------------------------
Next, ABC/LX asks if you want to "tune" the parameters. ABCTSR 
has default values for all the parameters, such as the maximum 
charging time, etc. These default values are not likely to be 
appropriate for your batteries because batteries vary greatly 
from each other. The only useful way to set up the parameters 
for your batteries is to observe their behavior during the 
charge process and to set the parameters accordingly.

In order to tune ABCTSR for your batteries, they should not be 
completely new (i.e., almost empty) nor fully charged. If your 
batteries are completely new, charge them first. If they are 
fully charged, use them in the palmtop for about one or two 
hours before you start tuning. Also, tuning takes as few as 3 
hours and up to 12 hours, and you must run ABC.EXE as the 
topmost application during that time (i.e. the screen shows 
this application at all times.) If you are not ready to tune 
ABCTSR, reply "No" to the tuning question. You can tune it 
later (e.g., overnight) by choosing "Auto-Tune" from the 
"Setup" menu. 

If you decide to auto-tune, ABC/LX asks for the capacity of 
your batteries, which usually appears on the batteries. If you 
do not know what the capacity is, enter 850 for NiCd batteries 
or 1200 for NiMH batteries. If you have no idea which type of 
batteries you have, then enter 1000. Auto-tune uses this 
value as a first rough guess to predict the behavior of your 
batteries, and approximate values are acceptable.

We STRONGLY urge you to perform the auto-tune process as soon 
as possible, with your set of batteries, so ABCTSR will be able
to obtain values appropriate for your batteries. If you are not
able to auto-tune now, you can quit from ABC ({MENU} Q), 
and return to it when you can run the auto-tune. In the 
meantime, ABCTSR will use the initial (untuned) values for the 
batteries.

Chapter 3 "Tuning ABCTSR" discusses in detail the tuning 
process and each of the parameters that affects the bahavior
of ABCTSR.

Chapter 4 "ABC Display and Menus" explains the display items 
and menus of ABC.

Chapter 5 "Voltage and Timer Display" has information about the
voltage and timers displays. These displays replace the word 
"Help" on screens which show this label for the F1 key.

Chapter 6 "ABC Graph" describes the components of the graph and
how to utilize this information.

Chapter 7 "Questions & Answers" contains a number of typical 
questions and answers about ABC/LX.

  Note: Hewlett Packard states that the recharging system in 
        the palmtop was designed to operate only with Nickel-
        Cadmium rechargeable batteries, and therefore,
        recommends that you do not charge any other types of 
        rechargeable batteries in the palmtop. 


                                                               

3. TUNING ABCTSR
                                                               

When you use ABC for the first time (and also when you install 
another set of batteries), you have to tune ABCTSR because the 
charging parameters of ABCTSR need adjustment so that ABCTSR 
can work optimally for these batteries. Some of the tuning can 
be done automatically by using the "Auto-Tune" command from the
"Setup" menu. You can also tune manually using the "Configure 
ABCTSR" command in the "Setup" menu. Some of the values you 
must enter manually because there is no automatic way to know 
what type of behavior you expect from ABCTSR.

To modify the parameters in ABC, you use {F2} key, or 
({MENU}-S, C) (Setup, Configure ABCTSR). ABC will pop a window
as in Figure 3A. 

This is the screen where you enter the parameters. 

              Figure 3A - ABCTSR Configuration 
       
  (This image may be seen by running program ABCFIG3A.EXE)


ABCTSR uses the following parameters:

Starting Voltage
----------------
This is the voltage at which charging will be enabled. Whenever
the voltage drops to or below this value, ABCTSR enables 
charging.

Ending Voltage
--------------
This is the voltage at which charging will be 
disabled by ABC/LX. As soon as ABCTSR detects this voltage 
during charging, it disables fast charging.

Charging Time
-------------
The amount of time after which fast charging should stop. 
During fast charging, ABCTSR disables charging if this amount 
of time has elapsed, even if the "ending voltage" value has 
not been reached. The time units are hours and minutes.

Voltage Stall Time 
------------------
If the voltage does not rise for this amount of time, ABCTSR 
stops the charging. If the voltage remains the same for a 
certain time, this is an indication that the batteries are full
and cannot be charged any more. This parameter specifies how 
long that time should be. The time units are hours and minutes.

Trickle Charge Time
------------------- 
The amount of time, you want to trickle charge the batteries. 
The default value for this parameter is zero. If you want to 
"top off" your batteries with trickle charging, enter a value 
here. The time units are hours and minutes.

How to find the best values for these parameters?
-------------------------------------------------
Start Charging when at or below ... volts 
You may have already measured the voltage, then you know that 
value. If not, set it to a very low value (e.g., 2.40) in ABC. 
Auto-tuning does not set this value automatically, therefore 
you have to provide it from your own experience. Use the 
voltage displayed on the screen at the time you would normally 
start charging, or perhaps slightly higher. (When you run ABC 
for the first time, and it inquires about the frequency of 
recharging you require, it sets rough values: 2.40 volts for 
"Only When Low", and 2.50 volts for "Often".)

Stop fast charging at ... volts
-------------------------------
To get the most out of your batteries, never charge them beyond
the point when they are full. Therefore, the maximum voltage 
and the "stall" features are much more useful than the maximum 
time since they depend on the amount of charge of the 
batteries. The maximum charge time should only be used as a 
safeguard (e.g. if you have accidentally set the other 
parameters too high). Tuning is, therefore, mainly a matter of 
finding appropriate values for the maximum voltage and the 
"stall" features. Between them, the "stall" feature is more 
flexible because the maximum voltage your batteries can reach 
may decline during their life. However, the maximum voltage is 
a good criteria to indicate full batteries, because it is 
easier to determine than the "stall" time. 

The following procedure is suggested as a method to determine 
the maximum voltage and the "stall" time. This is basically the
procedure used by "Auto-tune" to determine these values:

 o  Set the maximum voltage to 3.30 volts, the stall time to 5 
    hours and the charging time to 16 hours. That way, your 
    batteries will certainly get a full charge even if they 
    were almost empty before. The high values also prevent a 
    premature termination of the charging due to maximum 
    voltage or "stall" time.

 o  Enable charging manually.

 o  Keep ABC.EXE running in foreground and watch the graph 
    every hour or so. When you notice that the voltage does not
    rise any more for a long time (2 or 3 hours), stop the 
    charging manually (to prevent overcharging and heating).

 o  Check the graph to find out the highest voltage reached. 
    Use this value as the maximum voltage

 o  Check on the graph again to determine the longest duration 
    when the voltage did not rise (ignore the last interval 
    which you interrupted). Add about 25% to that time and set 
    the "stall" parameter to that value.

 o  Finally, set the maximum time to the value at which you 
    stopped the charging manually - or a little more. If you 
    did the test with almost full batteries, add more time.

If you find later that ABCTSR stops charging because of the 
time limit, set it to a higher value. 

Then trickle charge for ... hh:mm
---------------------------------
The trickle charging time is set to zero by default (i.e. no 
trickle charging will occur). This is usually a good value 
since ABC can charge the battery till they are fully charged, 
so no "topping off" is required. If, for any reason, you still 
want to trickle charge your batteries, set this parameter to an
appropriate value.


                                                               

4. ABC/LX DISPLAY AND MENUS
                                                               

The main screen (see Figure 4A) of ABC displays information 
about the current voltage and the current charging state at the
top of the screen. Below that, the screen displays a graph of 
the charging process. 

              Figure 4A - ABC/LX Main Display 
       
  (This image may be seen by running program ABCFIG4A.EXE)


The horizontal axis corresponds to the charging time and the 
vertical to the voltage. Note that the graph is only updated 
while ABC.EXE is running as the topmost application. However, 
if you enable the data collection through ABCTSR, then the 
information can be displayed later (See Chapter 6 "ABC Graph".)

In this screen, when the Menu key is pressed, a menu of 
possible actions pops up. It is similar to the Menu key action 
of the built-in applications on the palmtop. You can select all
of the items from the menus, or you may access settings 
directly by pressing the function keys. Figure 4B shows one of 
the menu items. 

                  Figure 4B - File Menu 
       
  (This image may be seen by running program ABCFIG4B.EXE)


The menu items are described below:

File Menu: Save Graph
---------------------
Saves the current charging data (the data from the graph) to a 
file. This file can be imported by other applications for 
processing (e.g. Spreadsheet). The structure of this file is:

Line 1 consists of a string "ABC " followed by the reason for 
stopping fast charge:

 	0:	the user stopped it
 	1:	maximum voltage was reached
 	2:	the voltage did not rise anymore
 	3:	the maximum time was reached. 

The following numbers are used to reproduce the graph 
dimensions upon reload.

The following lines are structured the same, each consisting of
four values: 

 - Number of seconds that voltage stayed at the same level,  
 - Voltage,  
 - A single digit:
      "0" = trickle charging
      "1" = fast charging 
 - The internal voltage measurement used by ABC/LX 
   ("1" if invalid)

File Menu: Load Graph
--------------------- 
Retrieves previously saved graphs and displays them.

File Menu: Save Config
---------------------- 
Saves the current configuration (low voltage, stall time, 
maximum voltage, maximum charging time, trickle charging time) 
to a file. This is useful if you use several sets of batteries 
with different properties.

File Menu: Load Config
---------------------- 
Retrieves a configuration previously saved with "Save Config".

File Menu: Exit
---------------
Exits from ABC program. Exiting ABC does not affect the TSR 
program. It keeps running even if ABC.EXE is not running.

Charging Menu: Start Charging 
-----------------------------
Enables charging (if not already enabled) regardless of the 
current voltage level. 

Charging Menu: Force Trickle
----------------------------
Enables charging (if not already enabled) and switches to 
trickle charging mode.

Charging Menu: Stop Charging
---------------------------- 
Stops charging if it is currently enabled.

Charging Menu: Reason 
---------------------
Pops up a window that explains why fast charging stopped. 
Knowing the reason is useful for tuning ABC/LX.

Timers Menu: Set User Timer 
---------------------------
Displays the current user timer value and lets you set it to a 
new value (See Chapter 5 "Voltage and Timer Display"). Use this
command to set the user timer to zero.

Timers Menu: Set Battery Timer 
------------------------------
Displays the current value of the battery timer and lets you 
set it to a new value (Chapter 5 "Voltage and Timer Display"). 
Use this command to set the battery timer to zero when you 
install a new pair of charged batteries. This timer can provide
information about how long the batteries last on a charge.

Setup Menu: Configure ABCTSR 
----------------------------
Pops up a dialog box in which you can modify the parameters  
described in Chapter 3 "Tuning ABCTSR".

Setup Menu: Options 
-------------------
Opens the "Options" dialog, with check boxes to enable or  
disable features. For a description of the "Display voltage /  
timers" option, see Chapter 5 "Voltage and Timer Display". For 
a description of the "Buffer graph data in ABCTSR" see Chapter 
6 "ABC Graph".

Setup Menu: Auto-Tune 
---------------------
This menu item starts an automatic tuning session. It 
determines the criteria for stopping a charge cycle that are 
appropriate for the currently installed batteries.

Setup Menu: Info 
----------------
Displays the following values: main battery voltage, backup 
battery voltage, battery timer and user timer.

Quit 
----
This has the same effect as "File Menu: Exit".

Help Menu: About 
----------------
This selection displays information about the program.

Help Menu: Help 
---------------
Displays a brief message about how to use the program.


                                                               

5. VOLTAGE AND TIMER DISPLAY
                                                               

If the "Display voltage/timers" check box in the Options dialog
is marked (the default), ABCTSR will display the battery 
voltage on top of the "Help" key label when one of the internal
applications (or a PAL application) is running.

When the voltage drops to the value selected to start charging,
this voltage display is inverted. The inverse display reminds 
you that you should attach the power supply as soon as 
possible, since the batteries are low.

While charging, the decimal point in the voltage is replaced by
a small rectangle, to provide a visual indication that charging
is active. (Normal voltage display: 2.62, display while 
charging: 262.)

If the voltage and timer display feature is enabled and you 
press {ATL} and {CTRL} at the same time, the display rotates 
through three different values (You may have to hold the keys 
down for  a second or so): 

  o  the present battery voltage

  o  the battery timer, in the form hh:mm

  o  the user timer, in the form hhh:mm

The voltage simply displays the voltage of your batteries.

The battery timer shows the total amount of time the unit is on
and running on batteries since the last full charging cycle. 
The battery timer is displayed as hh:mm, i.e. with two digits 
for the hours. 

The user timer displays the total amount of time you used your 
palmtop. This timer is increased once a minute if during that 
minute a key was pressed. The timer is reset when either 1000 
hours are reached or when you set it manually using "Timers 
Menu: Set User Timer".

The battery timer and user timer are easily distinguished from 
each other: The battery timer uses two digits for the hours 
(hh.mm), and the user timer uses three digits for the hours 
(hhh.mm).

If you do not want the "display voltage/timer" feature, you can
disable it in the Options dialog. If you disable the display, 
ABCTSR requires about 500 bytes less in RAM when you reboot 
next time.


6. ABC GRAPH

ABC.EXE collects data needed for the graph while it is running.
If you switch away from ABC to another application and later 
return ABC, there will be a gap in the graph. If you quit ABC, 
the graph is lost unless you save it first using the "File 
Menu: Save Graph" command.

You can configure ABCTSR to collect and retain charging 
information for ABC.EXE to use. In the Setup Menu: Options, 
check the box "Buffer graph data in ABCTSR" to enable this. 

If the buffering is enabled, ABCTSR requires an additional 2K 
of RAM, and you must exit all applications and reboot the 
palmtop to activate the feature. 


7. QUESTIONS & ANSWERS

Q: When starting ABC.EXE, it says: "ABCTSR is not loaded" and 
immediately aborts. What's wrong?

 A: ABC cannot talk to the ABCTSR program. Make sure ABCTSR is 
    started in your AUTOEXEC.BAT, as described in Section 2.2.

Q: ABC displays "Wrong battery type". What's wrong?

 A: You installed alkaline or lithium batteries. These battery 
    types are <BI>not rechargeable.<D>

Q: ABC displays "No power supply". What's wrong?

 A: ABC can do its work only when the power supply is attached.
    Otherwise, it is idle and displays this message.

Q: ABC displays "Charging suspended". What does that mean?

 A: If you disconnect the power supply while charging (or if 
there is a power interrupt), ABCTSR will enter "suspend mode".
This means that all timers are stopped and ABCTSR is waiting
until power is available again. As soon as there is power 
again, charging continues where it was interrupted.

Q: When I run ABC.EXE, switch to a different application and 
then go back to ABC.EXE, there are "holes" in the graph. What's
wrong?

 A: ABC.EXE can collects data only while it is running as the 
topmost application. However, you can configure ABCTSR to keep
track of that data even if ABC.EXE is not running. You can 
enable that feature in the "Setup Menu: Options" dialog box.

Q: Do NiCd batteries develop the "memory effect" when charging 
always starts at the same voltage?

 A: What is commonly called "memory effect" does not have 
anything to do with what originally was called "memory effect",
only observed once before. That was on a satellite with 
extremely uniform charging/discharging cycles. What most people
call "memory effect" is when they see their batteries are aging
sooner than expected and is usually the result of periodically 
overcharging the batteries and not from "training the batteries
to a certain voltage". ABC/LX is able to help prevent 
overcharging the batteries and, thus, preventing the so-called 
"memory effect".

Q: How can I remove ABCTSR from memory?

 A: Just run ABCTSR.COM again and it will remove itself from 
the memory. Note that this only works if ABCTSR was the last 
TSR that was loaded. If there were any TSRs loaded after 
ABCTSR, remove them first.

Q: The very first time I started ABC, it asked me if it want to
have ABC.EXE installed in Application Manager. I said no at 
that time, but now I want to have it installed there. What can 
I do?

 A: Edit ABC.CFG and remove the line "Installed = 1". Then run 
ABC.EXE again. You can also install ABC in the Application 
Manager menu by following the directions in the palmtop manual.

Q: I don't want ABC/LX to enable charging during the day, but 
only in the night. How can I do that?

 A: Set up an appointment that starts a system macro every 
night. (How to do this is described in the HP users manual). 
Let the macro go to the setup application and enable charging. 
ABC/LX will turn charging off again as soon as the batteries 
are full. That way you have always fully charged batteries in 
the morning (provided you had the power supply connected at 
night). 


Acknowledgments
---------------

We wish to thank the people who contributed to PAL (palmtop 
application library), which builds the base for ABC.EXE.

We also wish to thank the Beta Test group for their efforts:

Lee Buck, Stan Dobrowski, Mark Gitlitz, Alexander Gutfeldt, 
Andrew W. Hilkowitz, Fred Kaufman, Dara Khoyi, Gilles Kohl, 
Harry Konstas, Boniface Lau, Avi Meshar, Vic Roberts, Thomas 
Rundel, John Seymour, Larry Tachna.

ABC/LX was developed entirely on the HP 200LX Palmtop. 
ORDER.EXE and final editing of ABC.DOC were done on other 
machines.

Copyright 1995-1999 (c) by D&A Software


ABC/LX distribution and support is provided by our dealers worldwide. Please refer to our webpage for a list of our dealers - http://www.dasoft.com and click on "Our Dealers" link.

March 15, 1998