A battery charger with charging parameter values derived from communication with
a battery pack to be charged. Communication is over a one-wire bus with battery
pack transmissions in response to charger inquiries. The battery charger may be
in the form an integrated circuit driving a power transistor or other controllable
DC supply. A battery pack may contain a program with multiple charging currents
and charging interval termination methods such as time, temperature rise, and incremental
voltage polarity. A lack of communication may be invoke a default charging program
or denial of access to the charger. The charger also communicates over a high-speed
three-wire bus with an external computer for analysis of identification information
acquired from the battery and for control of the charger.