Purpose: The IPV class describes a current ramp and square-wave waveform that can be applied by a potentiostat while in the Galvanostatic mode.

The IPV object encapsulates information about the starting and ending currents, the ramp rate, and the data-acquisition rate. Most of the activity associated with the IPV happens in the background while a PV.Run() is being executed.

IPV uses a staircase waveform in combination with a square-wave waveform. Data are sampled at each level on the staircase.

The current range used for the IPV signal generator is selected from the largest absolute current specified by the ramp endpoints. The current range is fixed throughout the scan. The ramp generator does the best it can to reach the other endpoint using the current range in use. Generally the other endpoint current is only imprecise if it differs from the first by several orders of magnitude.