Notices
997 Forum 2005-2012
Sponsored by:
Sponsored by:

CAN PIDs for 997.2

Thread Tools
 
Search this Thread
 
Old 02-12-2024, 05:03 PM
  #31  
hpfiend
Track Day
 
hpfiend's Avatar
 
Join Date: Aug 2006
Location: Ohio
Posts: 20
Likes: 0
Received 0 Likes on 0 Posts
Default

Has anyone discovered what the offstate code/address is for the MIL/CEL? It should be prevalent always until a code is set and it changes state.
Old 04-03-2024, 08:19 PM
  #32  
Hatzenbach
Rennlist Member
Thread Starter
 
Hatzenbach's Avatar
 
Join Date: May 2011
Location: San Carlos, CA 94070
Posts: 1,896
Received 482 Likes on 226 Posts
Default

And one more item to add to the list. Here is where you get the oil pressure via CAN bus:

PID 0x441 (that's same as for oil temp), but it's in byte 6 (if you start counting at 0)
0x00 = "0" on the oil pressure gauge (I guess that's 0 bar)
0x7F = "5" on the oil pressure gauge (I guess that's 5 bar)
Old 04-03-2024, 08:23 PM
  #33  
Hatzenbach
Rennlist Member
Thread Starter
 
Hatzenbach's Avatar
 
Join Date: May 2011
Location: San Carlos, CA 94070
Posts: 1,896
Received 482 Likes on 226 Posts
Default

And here's a question for the community:
All the PIDs and Bytes I posted above are for 997.2
I just tested them on a 997.1 and the PID and values for coolant temp, Sport mode, PASM and time are the same.

Oil temp is at the same location for a 997.1 as for a 997.2, but the formula to convert to Celsius or Fahrenheit isn't the same.
Does anyone what the formula is to calculate oil temp in a 997.1 ?

For reference, here is how you get the oil temp in a 997.2:

PID 1089 / 0x441 (Hex) Engine oil temp
The data (x) is in byte 5 (I start counting at 0)
Temp (C) = x - 60
Temp (F) = (x – 60) * 9/5 + 32
Old 04-06-2024, 10:14 PM
  #34  
Hatzenbach
Rennlist Member
Thread Starter
 
Hatzenbach's Avatar
 
Join Date: May 2011
Location: San Carlos, CA 94070
Posts: 1,896
Received 482 Likes on 226 Posts
Default

and I'm answering my own question:

How to calculate oil temp from CAN bus readings:

For 997.2:
PID 0x441 (Hex)
The data (x) is in byte 5 (I start counting at 0)
Temp (C) = x - 60
Temp (F) = (x – 60) * 9/5 + 32

For 997.1:
PID 0x441 (Hex)
The data (x) is in byte 5 (I start counting at 0)
Temp (C) = x * 3/4 - 48
Temp (F) = (x * 3/4 - 48) * 9/5 + 32
The following users liked this post:
jchapura (04-06-2024)
Old 04-09-2024, 02:16 PM
  #35  
James Manios
AutoX
 
James Manios's Avatar
 
Join Date: Apr 2020
Posts: 14
Likes: 0
Received 0 Likes on 0 Posts
Default

I just started looking into this and found this article! I'm using an ELM 327 and ODB2 Fusion which allows for entering custom PIDS, so going to try Hatzenbach's Engine Oil temp at 0x441 (Hex), byte E with formula E * 3/4 - 48.
hpfiend mentioned CEL errors, can a list of Pxxxx error codes be pulled from a custom PID, (if we knew what its number was) ?
As for detecting Sport Mode, is there a way (via ODB2) to enable/disable Sport mode? -- it's probably only READ access, but just curious?

Last edited by James Manios; 04-09-2024 at 02:24 PM.
Old 04-09-2024, 02:24 PM
  #36  
Hatzenbach
Rennlist Member
Thread Starter
 
Hatzenbach's Avatar
 
Join Date: May 2011
Location: San Carlos, CA 94070
Posts: 1,896
Received 482 Likes on 226 Posts
Default

Originally Posted by James Manios
As for detecting Sport Mode, is there a way (via ODB2) to enable/disable Sport mode? -- it's probably only READ access, but just curious?
Yeah I haven't figured that out yet. Initially I thought that I just have to send the command on the CAN bus, but the ECU isn't tricked that easy.
Old 04-09-2024, 02:32 PM
  #37  
James Manios
AutoX
 
James Manios's Avatar
 
Join Date: Apr 2020
Posts: 14
Likes: 0
Received 0 Likes on 0 Posts
Default

Originally Posted by Hatzenbach
Yeah I haven't figured that out yet. Initially I thought that I just have to send the command on the CAN bus, but the ECU isn't tricked that easy.
We might be thinking the same thing?? "automatic sport mode"? I was toying with the idea to pull the Sport mode module (997.1) and solder 2 wires onto the pins of the contact pad (for sport mode and sport suspension) and via an Arduino connected to switched power, pulse Sport on, and wait 1 sec and pulse Sport Suspension off etc -- but when looking at videos of the module it didn't look like contact points were easily accessible, it's not a regular push-button but a compression contact pad. Waiting for summer to try pulling it for myself.

Last edited by James Manios; 04-09-2024 at 02:39 PM.
Old 04-09-2024, 06:19 PM
  #38  
Hatzenbach
Rennlist Member
Thread Starter
 
Hatzenbach's Avatar
 
Join Date: May 2011
Location: San Carlos, CA 94070
Posts: 1,896
Received 482 Likes on 226 Posts
Default

Originally Posted by James Manios
We might be thinking the same thing?? "automatic sport mode"? I was toying with the idea to pull the Sport mode module (997.1) and solder 2 wires onto the pins of the contact pad (for sport mode and sport suspension) and via an Arduino connected to switched power, pulse Sport on, and wait 1 sec and pulse Sport Suspension off etc -- but when looking at videos of the module it didn't look like contact points were easily accessible, it's not a regular push-button but a compression contact pad. Waiting for summer to try pulling it for myself.
Yup, we're thinking exactly the same. That was my idea for my next product. Now I need to figure out how to do that...
And yeah I wouldn't mess with the button itself, but only by doing it via CAN bus command.
Old 04-10-2024, 09:42 AM
  #39  
James Manios
AutoX
 
James Manios's Avatar
 
Join Date: Apr 2020
Posts: 14
Likes: 0
Received 0 Likes on 0 Posts
Default

Originally Posted by James Manios
... so going to try Hatzenbach's Engine Oil temp at 0x441 (Hex), byte E with formula E * 3/4 - 48....
Unfortunately this didn't work for me. Has anyone used "ODB2 Fusion" and added custom PIDS (and got it to work?) -- my custom PID was on ECM, ODB mode 22, PID 441, and using formula E*3/4-48 -- E being the 5 byte when A is 0 index. I think its right, but I have never gotten one to work.



Old 04-22-2024, 05:33 PM
  #40  
Messmaker
1st Gear
 
Messmaker's Avatar
 
Join Date: Apr 2024
Posts: 1
Likes: 0
Received 1 Like on 1 Post
Default

Thank you for this thread Hatzenbach!
I would like to confirm some of these PIDs for a 997.1 Tubo.
All PIDs were tested on CAN Drive with cables going from the ABS.

************** RPM *************** works
PID 578 / 0x242 (Hex) RPM
((Byte 3 * 256) + Byte 2) / 4

************** Coolant temp *************** works
PID 581 / 0x245 (Hex) Engine temp (coolant)
The data (x) is in byte 1 (I start counting at 0)
Temp (C) = (x – 64 ) * 3/4
Temp (F) = (x – 64) * 27/20 + 32

************** Oil temp *************** both do not work
For 997.2:
PID 0x441 (Hex)
The data (x) is in byte 5 (I start counting at 0)
Temp (C) = x - 60
Temp (F) = (x – 60) * 9/5 + 32

For 997.1:
PID 0x441 (Hex)
The data (x) is in byte 5 (I start counting at 0)
Temp (C) = x * 3/4 - 48
Temp (F) = (x * 3/4 - 48) * 9/5 + 32

************** Sport Mode *************** works
PID 776 / 0x308 Sport
off: Byte[0] is 0x80 or sometimes 0x90
Sport: Byte[0] is 0xA0 or sometimes 0xB0

************** PASM *************** works
PID 1090 / 0x442 PASM
suspension soft: A2, 00, 00, 00
suspension Sport: B3, 00, 00, 00

************** Vehicle Speed *************** does not work
PID 1100 / 0x44C (Hex) Vehicle Speed (kph)??
((Byte 2 * 256) + Byte 1) / 100 - Reads ~2.75 kph when stopped - speedo speed?

************** Vehicle Speed *************** works
PID 330 / 0x14A Vehicle Speed (kph)
((Byte 3 * 256) + Byte 2) / 100 - tracks to GPS speed

************** Throttle Position *************** not tested
PID 578 / 0x242 TPS (%) - Actual (e.g., if you have cruise control on; may also show throttle moderation by stability control)
Byte 5 / 255

PID 582 / 0x246 Pedal value (%) - Throttle requested by gas pedal works
Byte 3 / 255

************** Wheel Speeds *************** works
PID 586 Individual wheel speeds
LF (Bytes 0,1), RF (Bytes 2,3), LR (Bytes 4,5), RR (Bytes 6,7) = ((Odd Byte * 256) + Even Byte)/100 (little endian)
__________________

Now I only need the PID an byte number for the intake air temperature!
I read it out with a tester via OBD2 and the number format matches this formula:
Temp (C) = (x – 64 ) * 3/4
So the values are only .0, .25, .5 and .75 or with one decimal .3, .5 and .8.
I even plugged off the intake air sensor and put in a potentiometer on the NTC pin of the intake sensor plug.
This changed the values on the tester but I could not find the values on the bus.
I searched for the values with the reverse formula Value = (Temp from Tester / 0.75) + 64.
I hope somebody can help me.

Greetings from Germany!

Last edited by Messmaker; 04-22-2024 at 05:54 PM.
The following users liked this post:
Hatzenbach (04-22-2024)
Old 04-22-2024, 07:46 PM
  #41  
Hatzenbach
Rennlist Member
Thread Starter
 
Hatzenbach's Avatar
 
Join Date: May 2011
Location: San Carlos, CA 94070
Posts: 1,896
Received 482 Likes on 226 Posts
Default

@Messmaker thank you for confirming. Unfortunately I don't have an answer for your question but I don't believe that intake air temperature is actually available on the CAN bus.
And I have no idea how to get data from OBDII.
Greetings from a German in California :-)

Last edited by Hatzenbach; 04-22-2024 at 11:09 PM.
Old 04-23-2024, 09:02 AM
  #42  
James Manios
AutoX
 
James Manios's Avatar
 
Join Date: Apr 2020
Posts: 14
Likes: 0
Received 0 Likes on 0 Posts
Default

Originally Posted by JasonRussell
.... I found this series of videos on YouTube from a guy named Adam Varga who did something similar to what you describe with the ELM327 except he used an Arduino with a CAN shield....
Hi Jason,

I'm doing the same thing, just got the MCP2515 and hooked up to an arduino and using pins 6,14 for ODB2 -- but I noticed there seemed to be a couple of Porsche CAN bus ports, can you confirm you are using 6,14 ? In Adam's example his car gives info all the time, but when I hooked up to my 997.1 Turbo, it just said "CAN RX TX Started"? I noticed you had said the bus was quiet until you asked for information so maybe this is correct, just want to make sure I'm going down the right path. If you did use 6,14 did you also use a data speed of 500?

Last edited by James Manios; 04-23-2024 at 01:48 PM.
Old 05-20-2024, 04:38 PM
  #43  
Hatzenbach
Rennlist Member
Thread Starter
 
Hatzenbach's Avatar
 
Join Date: May 2011
Location: San Carlos, CA 94070
Posts: 1,896
Received 482 Likes on 226 Posts
Default

and a couple more decoded PIDs:

0x502 Light sensor in the instrument cluster
bit 3 (start counting at 0), values range from 0 - 250 (decimal)
this PID is available on the motor can bus, the one in the wiring loom next to the fuse box


0x503 Light sensor in the middle of the dashboard, this is actually an infrared sensor, used by the A/C
bit 4 (start counting at 0), values range from 0 - 188 (decimal)
this PID is available on the display can bus (the one which also goes to the SportChrono clock)
Old 05-20-2024, 05:29 PM
  #44  
Hatzenbach
Rennlist Member
Thread Starter
 
Hatzenbach's Avatar
 
Join Date: May 2011
Location: San Carlos, CA 94070
Posts: 1,896
Received 482 Likes on 226 Posts
Default

@Messmaker can you also confirm if this is also the same for a 997.1 Turbo:

PID 0x441 (that's same as for oil temp), but it's in byte 6 (if you start counting at 0)
0x00 = "0" on the oil pressure gauge (I guess that's 0 bar)
0x7F = "5" on the oil pressure gauge (I guess that's 5 bar)

and - bonus question - do you know how I get the boost on a 997.1 Turbo?



Quick Reply: CAN PIDs for 997.2



All times are GMT -3. The time now is 05:13 PM.