A method for controlling an ignition unit for a
spark plug of an
internal combustion engine is provided. The ignition unit is driven by a spark demand pulse that is defined by
start time point and an end time point. A
voltage level of an associated engine battery at a time
proximate to the
start time point of the spark demand pulse is determined, and then an adjustment amount based on the determined
voltage level is determined. The end time point of the determined demand pulse is adjusted by the determined adjustment amount. A benefit of the invention is that a spark demand pulse is generated that is more appropriate for the prevailing
battery voltage at the time the demand pulse is generated. Therefore, the process provides a more reliable approach for controlling the generation of spark at a
spark plug as controlled by an ignition unit under conditions where the
battery voltage may be compromised, for example for an aged battery and / or during cold engine conditions. There is also provided an engine
system having a
control unit configured to implement the method, a
control unit comprising a processor to carry out the method, and a
computer program product embodying the method.