Hi. I wonder if someone can help. I want to send some normal (non-OBD) commands to my E40 PCM. I don't have the PIM or BCM, but I want to trigger A/C Request/On, which normally goes from the BCM to the PIM via GM-UART/Class-2 over SW-CAN, and the PIM then sends the command to the PCM via high-speed GMLAN, in 500kbps CAN frames.

So, I have my ELM327 interface, and I also have GMW8762 which lists the PPEI protocol frame specification. I am doing my testing by trying to get the Engine Cooling Fan to kick in, (because I don't have any AC hardware hooked up yet), which should be frame ID $3f1 or $3f9, so I am setting the header ID to that, and sending what I think is the correct data packet, but I get nothing back.

When I watch the bus (AT MA on the ELM327), I see all sorts going on, and I can see that the throttle position is coming through like this:
110 00 00 00 00 00 25 00 00

(that's ID 110, because I have the unit set to display headers).

The problem is that this ID does not tally with what's in GMW8762 at all. Throttle position should be in frame $3D1, not $110.

Can anybody help me, maybe shed some light?

My plan for the weekend is to splice in somewhere behind the OBDII connector and watch how EFILive sends the "Cooling Fan 2" command, but I suspect those commands are different, more diagnostics commands than PPEI request type commands.