Can we get an official break down or explanation on creating calculated pids for V8 or let me know if your happy with my explanation?

I've created a few Ben's tonight so i can start playing with the AEM CAN Wideband so thought i'd let everyone else know what i did.

1) Just like adding calculated pids for V7.5, get your self a good text editor. I recommend Notepad++

2) Browse to your My Documents\EFILive\V8\Config folder and open up the UserCalculatedPids.ini file

3) Copy in the sample data below

Sample Pids for AEM Can Wideband:

[Groups]

WO2CAN=Wide Band O2 Sensors - Canbus

[WO2CAN]

CANBEN_1="Base Efficiency Numerator 1 - Canbus",factor,3

CANBEN_2="Base Efficiency Numerator 2 - Canbus",factor,3

CANBEN_1_E40="Base Efficiency Numerator 1 E40 - Canbus",factor,3

CANBEN_2_E40="Base Efficiency Numerator 2 E40 - Canbus",factor,3

[WO2CAN.BEN_1]

0=|-- WO2CAN.BEN_1

1=|return pid("WO2S11")/pid("EQ_RAT")

[WO2CAN.BEN_2]

0=|-- WO2CAN.BEN_2

1=|return pid("WO2S12")/pid("EQ_RAT")

[WO2CAN.BEN_1_E40]

0=|-- WO2CAN.BEN_1

1=|return pid("WO2S11")*pid("EQ_RAT")

[WO2CAN.BEN_2_E40]

0=|-- WO2CAN.BEN_2

1=|return pid("WO2S12")*pid("EQ_RAT")

My understanding of the pid break downs is it's all similar to the old way doing things, except now you set them up via groups.

For each group, you have your old "PRN" or Description information, but you also set the formatting info here.

CANBEN_1="Base Efficiency Numerator 1 - Canbus",factor,3

In the old V7.5 format it would look like this:

CALC.Lambda-WO2BENS F110 CLC-00-115 factor "W02-Ben" "BEN from External Lambda"

Now the math or calculating part is defined for each one of those in the next break down:

[WO2CAN.BEN_1]

0=|-- WO2CAN.BEN_1

1=|return pid("WO2S11")/pid("EQ_RAT")

Obviously the first line in brackets is the header for your pid as such will be listed in your master group.

The next few lines I'm guessing tell the scanner what to do with the data. I'm not sure why the first 0 line is required, but it seems obvious what the 1 line does.

That's our "work" part where all the magic happens. we are telling it to use the data from the W02S11 pid & then divide or multiple by another pid etc, Just like we would set up in the old V7.5 slot definition area.

factor 0.5 1.5 .3 "{EXT.WO2LAM1}/{SAE.LAMBDA}"

Now looking at the above and some of the efilive defined pids, I'm actually thinking it might be possible to setup/define something like below to have all the CAN wb's.

[WO2CAN.BEN_1]

0=|-- WO2CAN.BEN_1

1=|return pid("WO2S11,WO2S12,WO2S21,WO2S22")/pid("EQ_RAT")

EFi Guys?