Data logger for P01 and P59

They go by many names, P01, P59, VPW, '0411 etc. Also covering E38 and newer here.
Scott68B
Posts: 22
Joined: Sat Aug 29, 2009 9:52 pm
cars: MGB GM 5.3 GM LS1 ECU

Re: Data logger for P01 and P59

Post by Scott68B »

Thank you! I had the latest PCM Hammer zip on my machine but had not looked at it yet.

Appreciate you getting back to me. Nice work!!

Scott
User avatar
NSFW
Posts: 679
Joined: Fri Feb 02, 2018 3:13 pm

Re: Data logger for P01 and P59

Post by NSFW »

bubba2533 wrote:OMG reading from a memory address will be HUGE! So excited for this!
That turned out to be pretty straightforward - just set DefineBy to 2, and use the addresses (in three-byte form), like so...

Code: Select all

            "Parameters": [
                {
                    "Conversion" : {
                        "Name": "Raw",
                        "Expression": "0x"
                    },
                    "Name": "Address FF8800",
                    "DefineBy": 2,
                    "ByteCount": 2,
                    "Address": "0xFF8800"
                },
                {
                    "Conversion": {
                        "Name": "Raw",
                        "Expression": "0x"
                    },
                    "Name": "Address FF8802",
                    "DefineBy": 2,
                    "ByteCount": 2,
                    "Address": "0xFF8802"
                },
                {
                    "Conversion": {
                        "Name": "Raw",
                        "Expression": "0x"
                    },
                    "Name": "Ignition Advance Multiplier",
                    "DefineBy": 2,
                    "ByteCount": 2,
                    "Address": "0xFF8250"
                }
            ],
Results:

Code: Select all

1150.00	RPM	Engine Speed
15.00	g/s	Mass Air Flow
41.00	kpa	Manifold Absolute Pressure
13.67	%	Throttle Position Sensor
2000	Raw	Address FF8800
0000	Raw	Address FF8802
1000	Raw	Ignition Advance Multiplier
144.80	ms	Query time
The addresses are probably specific to my operating system, 12593358...

Address FF8800 is used for diagnostic faults, and the value you see there is because I have the MAF sensor set to fail immediately, to force speed-density. Address Ff8802 is used for other faults, but I'm not sure which ones.

Edit: I think I had the usage of the IAM parameter backwards here at first, this is the corrected version: The Ignition Advance Multiplier is the value that determines whether the ignition timing will come from the low-octane table (if IAM=0.0) or the high-octane table (if IAM=1.0) or somewhere in between (if IAM=0.5 then the timing will be halfway between the two tables). The PCM uses fixed-point arithmetic, and 0x1000 is 1.0.

I think I'm getting close to a small hack that will re-enable the high octane timing table. I found the code that updates the IAM value, and I found that code that skips that update if the MAF sensor is failed, which would leave it with a value of 0 (which would force the low octane table). I allso found code that forces it to 1.0 (high octane), which I think runs at startup. I can't figure out why my car had IAM at 1.0 (high octane) in that log though. Hopefully that's just because it was idling in my garage, and it will go down to zero when I drive. Otherwise I'm going to be even more confused than I already am.
Please don't PM me with technical questions - start a thread instead, and send me a link to it. That way I can answer in public, and help other people who have the same question. Thanks!
bubba2533
Posts: 498
Joined: Wed Apr 11, 2018 8:50 am
cars: 03 Chevy S10 Turbo V6

Re: Data logger for P01 and P59

Post by bubba2533 »

This is so cool. Now I need to get my bench setup working again so I can start playing again
LS1 Boost OS V3 Here. For feature suggestions post in here Development Thread. Support future development ->Patreon.
Stealth
Posts: 1
Joined: Mon Oct 01, 2018 10:40 am

Re: Data logger for P01 and P59

Post by Stealth »

Hey guys good work with the logger! Will you have support for the kvaser leaf light v2 soon? These are pretty common tools in the Automotive and industrial controls industries and are really robust.

With the continuous DPIDs - Have you tried setting the DPID request to continuous by changing the 01 in 2A01FE to 02,03,04 ? From memory 0A stops the continous DPID stream and clears the DPID. I think 00 just pauses the data stream. Been a while since I worked at an OEM in cal, but it might be worth a try.
User avatar
NSFW
Posts: 679
Joined: Fri Feb 02, 2018 3:13 pm

Re: Data logger for P01 and P59

Post by NSFW »

I tried that approach, but could not get it to work reliably with ELM-based devices (AllPro, ScanTool). The ELM protocol was mostly intended for simple "send a message and receive a message" operations like when reading and clearing trouble codes. ScanTool supports a monitoring mode that might work, but AllPro doesn't. I don't want to spend time tweaking different code for every device yet, so for now the app just does the one thing that works well with all devices.

The streaming mode could probably work well with an AVT, but I don't have one of those. I think it will also work with the upcoming XPro interface, and I will try it with those when they become available. It will probably allow those devices to log at a higher rate.
Please don't PM me with technical questions - start a thread instead, and send me a link to it. That way I can answer in public, and help other people who have the same question. Thanks!
User avatar
Gampy
Posts: 2330
Joined: Sat Dec 15, 2018 7:38 am

Re: Data logger for P01 and P59

Post by Gampy »

1. Do the profiles work for all Os's (Idle profile for example)??
2. Should I be able to log anything on a Bench, I do have CKP and CMP signals to the Pcm??
Intelligence is in the details!

It is easier not to learn bad habits, then it is to break them!

If I was here to win a popularity contest, their would be no point, so I wouldn't be here!
User avatar
NSFW
Posts: 679
Joined: Fri Feb 02, 2018 3:13 pm

Re: Data logger for P01 and P59

Post by NSFW »

1) Probably most will work for all P01 and P59 computers, but we won't know for sure until we try more combinations.

2) It should log whatever data the PCM has, depending mostly on whatever sensors are hooked up. But again we won't know for sure until we try.
Please don't PM me with technical questions - start a thread instead, and send me a link to it. That way I can answer in public, and help other people who have the same question. Thanks!
User avatar
Gampy
Posts: 2330
Joined: Sat Dec 15, 2018 7:38 am

Re: Data logger for P01 and P59

Post by Gampy »

Thank you ...

I'd say I've got a brokenness, I get nothing!
Intelligence is in the details!

It is easier not to learn bad habits, then it is to break them!

If I was here to win a popularity contest, their would be no point, so I wouldn't be here!
bubba2533
Posts: 498
Joined: Wed Apr 11, 2018 8:50 am
cars: 03 Chevy S10 Turbo V6

Re: Data logger for P01 and P59

Post by bubba2533 »

I did some testing with PCM Logger and was able to figure a couple things out.

All of this is for OS 12587603.

Using the raw address logging ability I was able to confirm a couple variables relating to flex fuel.

Flex Sensor Frequency 0xFFFF9FC2
Flex Percent (Raw) 0xFFFF8242
Flex Percent (Filtered) 0xFFFF8242

I also found a couple variables that look like fuel temperature.

0xFFFF9FC0 (raw fuel temp?)
0xFFFF9FFE (converted version of the above value)

I did all this testing using a bench rig and a flex fuel simulator that I made. Link to the arduino code https://www.tinkercad.com/things/5GuC0t ... -simulator

Not sure of the conversion for any of these yet, but will figure them out if I can.
LS1 Boost OS V3 Here. For feature suggestions post in here Development Thread. Support future development ->Patreon.
User avatar
NSFW
Posts: 679
Joined: Fri Feb 02, 2018 3:13 pm

Re: Data logger for P01 and P59

Post by NSFW »

Good work! That's really cool.

For the temperature, you might be able to figure out the conversion by logging the value after the car has been sitting for a while and assuming that's the same as the ambient temperature... If you do that for two ambient temperatures (as far apart as possible) that might be enough information to find the multiplier and offset.

Or better yet find the "get pid" functions and figure out the conversions they use, but that ties my brain in knots every time I try it. :)
Please don't PM me with technical questions - start a thread instead, and send me a link to it. That way I can answer in public, and help other people who have the same question. Thanks!
Post Reply