A fuel injector control system, comprising: a driver that is configured to supply electrical power to a fuel injector; and a controller configured to control the driver according to a predetermined sequence of states for an injection cycle, and wherein the plurality of predefined states each include parameters for supplying electrical power to a fuel injector, each of the states having a corresponding plurality of test parameters, at least one of the test parameters being a target parameter for the state, during each of the states the controller is configured to determine whether at least one of the test parameters is met and determine how to control the driver for a subsequent portion of the injection cycle based on which one of the test parameters is met, wherein a first one of the test parameters establishes a maximum current for a fuel injector and a minimum time that has to elapse prior to reaching the maximum current during the corresponding state; a second one of the test parameters establishes a minimum current for a fuel injector and a minimum time that has to elapse prior to reaching the minimum current during the corresponding state; a third one of the test parameters establishes a maximum current value for current supplied to the fuel injector within an acceptable time window during the corresponding state; a fourth one of the test parameters establishes a minimum current value for current supplied to the fuel injector within an acceptable time window during the corresponding state; a fifth one of the test parameters establishes a time limit on the corresponding state. a driver that is configured to supply electrical power to a fuel injector; and a controller configured to control the driver according to a predetermined sequence of states for an injection cycle, and wherein the plurality of predefined states each include parameters for supplying electrical power to a fuel injector, each of the states having a corresponding plurality of test parameters, at least one of the test parameters being a target parameter for the state, during each of the states the controller is configured to determine whether at least one of the test parameters is met and the plurality of predefined states each include parameters for supplying electrical power to a fuel injector, each of the states having a corresponding plurality of test parameters, at least one of the test parameters being a target parameter for the state, during each of the states the controller is configured to determine whether at least one of the test parameters is met and determine how to control the driver for a subsequent portion of the injection cycle based on which one of the test parameters is met, wherein a first one of the test parameters establishes a maximum current for a fuel injector and a minimum time that has to elapse prior to reaching the maximum current during the corresponding state; a second one of the test parameters establishes a minimum current for a fuel injector and a minimum time that has to elapse prior to reaching the minimum current during the corresponding state; a third one of the test parameters establishes a maximum current value for current supplied to the fuel injector within an acceptable time window during the corresponding state; a fourth one of the test parameters establishes a minimum current value for current supplied to the fuel injector within an acceptable time window during the corresponding state; a fifth one of the test parameters establishes a time limit on the corresponding state.