In this example, we will be using the system as a simple controller for an electric PWM water pump. We will be connecting the pumps driver module (which can handle the high current, requiring a simple 100Hz PWM, or pulse-width modulated signal, whereby 100 equals fully on, and 0 equals fully off) to the LS1 output of the ECU.


We know we will be needing to read the engine coolant temperature, and from that, output a PWM signal to control the pump. As we only need one input, we can just use a single 1D GPT Table.


Firstly, (although not required, but it makes things easier to work with!) we add a new tab using the layout manager. We have named ours “Electric WP”.  As we are using a 1D table add the following items from the tree view:

●        Inputs>Coolant Temperature

●        GPTs>GPT 2D 1 Config

●        GPTs>GPT PWM 4 Duty

●        GPTs>GPT 2D 1


The final tab layout could look as shown below:


We will be using this as a simple PWM output (ready to assign to an output pin) so the Type in the Config should be set to “PWM”, and the Base Freq (which is said to be 100Hz by the manufacturer of the pump driver) should then be set to 100.


The Output should be set to GPT PWM 4 Duty [2108]  (which we will then assign in the IO settings), and the Tbl In (the source, or X axis), for the table should be set to Coolant temperature [14].


We can then fill the table with temperatures and chosen duties for the water pump, which would be discovered via tuning, such as the below:

The only final step is to assign GPT PWM 4 to our chosen output (LS 1) in our IO settings (Output Settings):