Patent ID: 8059192

Claim:
A method for maintaining a maximum sustainable flash current over the duration of a flash using a programmable current drive in a handheld electronic portable device powered by a battery of a given type, the handheld electronic portable device placing variable loads on the battery in addition to the flash, comprising: initiating a flash command; prior to initiating the flash in response to the flash command: measuring the voltage across the battery (V b1 ) under normal system load; recording any high current load occurring during the measurement of V b1 ; initiating the flash at an initial flash current; calculating a maximum current that can be drawn from the battery without adversely affecting operation of the handheld electronic portable device by: measuring the voltage across the battery with flash (V b2 ) after a predetermined period; recording any high current load occurring during the measurement of V b2 ; calculating an equivalent series resistance (ESR) of the battery at the end of the predetermined period factoring in any high current loads determined to have occurred during measurement of V b1 and V b2 ; determining an ESR value for a predetermined flash current pulse duration based on the ESR of the battery at the end of the predetermined period; calculating the maximum current based on the ESR value and potential high current loads due to the variable loads; and adjusting the flash current to approximate the calculated maximum current to maintain the maximum sustainable flash current over the duration of the flash current pulse.