CAN Data
CAN Data
Hello All,
I have slowly been working on getting my new RaceCapture/Pro MK3 installed and setup and I'm now at a point where I have no clue how to get the additional data I want to log via my ECU can bus.
My wiring is via the RJ45 jack with a shielded Cat6 cable to a DB9 connection to the ECU. I tried to add the RPM data via the OBII section of Setup in the newest version of the PC App with no success.
I have the attached information from the ECU manufacturer as well. I'd like to add RPM, Oil Pressure, Engine Temp, Throttle Position, and AFR.
Now what?
Thanks in advance for your assistance.
Brad
I have slowly been working on getting my new RaceCapture/Pro MK3 installed and setup and I'm now at a point where I have no clue how to get the additional data I want to log via my ECU can bus.
My wiring is via the RJ45 jack with a shielded Cat6 cable to a DB9 connection to the ECU. I tried to add the RPM data via the OBII section of Setup in the newest version of the PC App with no success.
I have the attached information from the ECU manufacturer as well. I'd like to add RPM, Oil Pressure, Engine Temp, Throttle Position, and AFR.
Now what?
Thanks in advance for your assistance.
Brad
- Attachments
-
- SCS Petrol CAN Export Data.pdf
- (16.29 KiB) Downloaded 270 times
Hi BK,
Thanks. We've updated our CAN bus integration guide here, which has specific information about how to map channels using the direct CAN mapping technique. Take a look and see if you can map one of the channels coming from your ECU:
https://wiki.autosportlabs.com/CAN_Bus_Integration
We'll watch this thread for updates. Thanks!
Thanks. We've updated our CAN bus integration guide here, which has specific information about how to map channels using the direct CAN mapping technique. Take a look and see if you can map one of the channels coming from your ECU:
https://wiki.autosportlabs.com/CAN_Bus_Integration
We'll watch this thread for updates. Thanks!
Thanks for the reply Brent.
I have still had no luck. With the previously attached document from the ECU manufacturer, my limited knowledge of CAN protocol, and a considerable amount of time I'm still at a loss. The CAN light is lit so I'm assuming I'm getting the data transfer. However, I tried numerous different variations to get the TPS setup with no avail. The document from the manufacturer doesn't specifically have all of the same information you refer to so I may be making some poor assumptions on the setup.
Any help, at this point, would be greatly appreciated. I'm headed to a 3 day track event next week and would benefit from the additional channels to log.
Thanks again Brent,
Brad
I have still had no luck. With the previously attached document from the ECU manufacturer, my limited knowledge of CAN protocol, and a considerable amount of time I'm still at a loss. The CAN light is lit so I'm assuming I'm getting the data transfer. However, I tried numerous different variations to get the TPS setup with no avail. The document from the manufacturer doesn't specifically have all of the same information you refer to so I may be making some poor assumptions on the setup.
Any help, at this point, would be greatly appreciated. I'm headed to a 3 day track event next week and would benefit from the additional channels to log.
Thanks again Brent,
Brad
Hi BK,
OK - let's take this one step at a time.
First, let's go through the troubleshooting steps, in particular, the CAN bus logger we provide:
https://wiki.autosportlabs.com/CAN_Bus_ ... leshooting
Please go through the steps on the CAN bus logger guide, and paste the a bit of the output (no more than 100 lines) here as a thread reply.
The purpose of this exercise is to show if you are actually getting CAN data (LED is a great indicator, so that's good!) and also the ability to see what the raw data looks like.
I'll watch for a reply on this and we'll go to the next step from there. Thanks for your patience and your willingness to play along. I'm sure others will find this process beneficial.
OK - let's take this one step at a time.
First, let's go through the troubleshooting steps, in particular, the CAN bus logger we provide:
https://wiki.autosportlabs.com/CAN_Bus_ ... leshooting
Please go through the steps on the CAN bus logger guide, and paste the a bit of the output (no more than 100 lines) here as a thread reply.
The purpose of this exercise is to show if you are actually getting CAN data (LED is a great indicator, so that's good!) and also the ability to see what the raw data looks like.
I'll watch for a reply on this and we'll go to the next step from there. Thanks for your patience and your willingness to play along. I'm sure others will find this process beneficial.
BK, can you post your current RCP setup? I have pretty extensive CAN experience, part of my day to day....
Do you have any other tools to help you confirm you are connected onto the correct bus? and these messages exist.
Also, please ensure you got the right ID's it looks like these are 11-bits in HEX space. RCP using Decimal space for CAN Id's right now.
So the first message, 0x300, would be 768 in RCP setup
In the RCP setup file, for the new can_mapping feature in 2.11.0 I would do something like this for the first signals in the first message
"channels": [
{
"nm": "RPM","ut": "rpm","min": 0,"max": 8000,"prec": 0,"sr": 50,"bm": 0,"type": 0,"bus": 0,"id_mask": 0,
"id": 768,"offset": 0,"len": 2,"mult": 1,"div": 0,"add": 0,"bigEndian": 1,"filt_id": 0
},
{
"nm": "TPS","ut": "%","min": 0,"max": 100,"prec": 1,"sr": 50,"bm": 0,"type": 0,"bus": 0,"id_mask": 0,
"id": 768,"offset": 2,"len": 1,"mult": 1,"div": 2.55,"add": 0,"bigEndian": 1,"filt_id": 0
},
{
"nm": "KFuelMap","ut": "%","min": 0,"max": 400,"prec": 1,"sr": 50,"bm": 0,"type": 0,"bus": 0,"id_mask": 0,
"id": 768,"offset": 3,"len": 1,"mult": 1,"div": 1,"add": 0,"bigEndian": 1,"filt_id": 0
},
{
"nm": "Map","ut": "mbar","min": -2000,"max": 2000,"prec": 0,"sr": 50,"bm": 0,"type": 1,"bus": 0,"id_mask": 0,
"id": 768,"offset": 4,"len": 2,"mult": 1,"div": 1,"add": 0,"bigEndian": 1,"filt_id": 0
},
{
"nm": "IdleLearn","ut": "%","min": 0,"max": 100,"prec": 0,"sr": 50,"bm": 0,"type": 0,"bus": 0,"id_mask": 0,
"id": 768,"offset": 6,"len": 2,"mult": 0.00038696,"div": 1,"add": 0,"bigEndian": 1,"filt_id": 0
}
]
Do you have any other tools to help you confirm you are connected onto the correct bus? and these messages exist.
Also, please ensure you got the right ID's it looks like these are 11-bits in HEX space. RCP using Decimal space for CAN Id's right now.
So the first message, 0x300, would be 768 in RCP setup
In the RCP setup file, for the new can_mapping feature in 2.11.0 I would do something like this for the first signals in the first message
"channels": [
{
"nm": "RPM","ut": "rpm","min": 0,"max": 8000,"prec": 0,"sr": 50,"bm": 0,"type": 0,"bus": 0,"id_mask": 0,
"id": 768,"offset": 0,"len": 2,"mult": 1,"div": 0,"add": 0,"bigEndian": 1,"filt_id": 0
},
{
"nm": "TPS","ut": "%","min": 0,"max": 100,"prec": 1,"sr": 50,"bm": 0,"type": 0,"bus": 0,"id_mask": 0,
"id": 768,"offset": 2,"len": 1,"mult": 1,"div": 2.55,"add": 0,"bigEndian": 1,"filt_id": 0
},
{
"nm": "KFuelMap","ut": "%","min": 0,"max": 400,"prec": 1,"sr": 50,"bm": 0,"type": 0,"bus": 0,"id_mask": 0,
"id": 768,"offset": 3,"len": 1,"mult": 1,"div": 1,"add": 0,"bigEndian": 1,"filt_id": 0
},
{
"nm": "Map","ut": "mbar","min": -2000,"max": 2000,"prec": 0,"sr": 50,"bm": 0,"type": 1,"bus": 0,"id_mask": 0,
"id": 768,"offset": 4,"len": 2,"mult": 1,"div": 1,"add": 0,"bigEndian": 1,"filt_id": 0
},
{
"nm": "IdleLearn","ut": "%","min": 0,"max": 100,"prec": 0,"sr": 50,"bm": 0,"type": 0,"bus": 0,"id_mask": 0,
"id": 768,"offset": 6,"len": 2,"mult": 0.00038696,"div": 1,"add": 0,"bigEndian": 1,"filt_id": 0
}
]
Thanks, jlwall for helping
There's a simple CAN logger script BK can use that outputs everything to the log output as indicated in my last reply. This will quickly identify whether he's receiving data on that CAN bus.
https://wiki.autosportlabs.com/CAN_Bus_logger
Recommend running this script and replying here with that output so we can see what data is being received by the ECU.
There's a simple CAN logger script BK can use that outputs everything to the log output as indicated in my last reply. This will quickly identify whether he's receiving data on that CAN bus.
https://wiki.autosportlabs.com/CAN_Bus_logger
Recommend running this script and replying here with that output so we can see what data is being received by the ECU.
I'm definitely receiving data. I tried to copy/paste the log in notepad but it's just symbols.
It appears 'jlwall' is on to something with regards to the ID.
https://goo.gl/photos/pUkQSmBD9vifxipe6
Brad
It appears 'jlwall' is on to something with regards to the ID.
https://goo.gl/photos/pUkQSmBD9vifxipe6
Brad
You look close! according to the doc, mapping RPM you'd just need to specify the decimal equivalent, as jlwall indicated.
ID 768
Then set your source type to 'unsigned', offset to 0, length of 2 and and Endian to "Big" since the MSB appears first in the data stream according to the SCS doc.
The default formula should work (X 1.0 / 1.0 + 0)
Keep us posted!
ID 768
Then set your source type to 'unsigned', offset to 0, length of 2 and and Endian to "Big" since the MSB appears first in the data stream according to the SCS doc.
The default formula should work (X 1.0 / 1.0 + 0)
Keep us posted!
Success! I was able to get RPM, TPS, and AFR(Lambda) all mapped and functioning. Having some problems with Oil pressure but I'll worry about that later.
Thanks for the patience and the assistance. I would have never figured out the decimal versus hex value CAN ID.
Off to UMC (aka Miller Motorsports)........
Brad
Thanks for the patience and the assistance. I would have never figured out the decimal versus hex value CAN ID.
Off to UMC (aka Miller Motorsports)........
Brad
The first track weekend went extremely well with regards to the RCP. I'm very happy with the product and the data.
I am continuing to fail with setting up the additional channels I'd like mapped. I really want my wideband closed loop correction data and oil pressure and I've tried dozens of different configurations and the values returned are always very long numbers that don't change.
Closed Loop: 773, offset 4, length 2, signed, big, range -100 to 100, formula x.05 (ECU mapping attached above)
Some guidance would be appreciated.
Brad
I am continuing to fail with setting up the additional channels I'd like mapped. I really want my wideband closed loop correction data and oil pressure and I've tried dozens of different configurations and the values returned are always very long numbers that don't change.
Closed Loop: 773, offset 4, length 2, signed, big, range -100 to 100, formula x.05 (ECU mapping attached above)
Some guidance would be appreciated.
Brad
Hi,
According to the doc it *should* be:
CAN ID 773
offset 4
length 2
big endian
signed data type
If that's what you've programmed in and you still get invalid data, ask the ECU manufacturer what standard the signed data conforms to. Is it:
* two's compliment
* sign-magnitude
* or something else?
You can also change it to 'unsigned' and log some data, providing you can force it to go between + and - values for that channel. Once logged, we can peer at the data and perhaps infer how the sign is encoded.
Will watch for updates!
According to the doc it *should* be:
CAN ID 773
offset 4
length 2
big endian
signed data type
If that's what you've programmed in and you still get invalid data, ask the ECU manufacturer what standard the signed data conforms to. Is it:
* two's compliment
* sign-magnitude
* or something else?
You can also change it to 'unsigned' and log some data, providing you can force it to go between + and - values for that channel. Once logged, we can peer at the data and perhaps infer how the sign is encoded.
Will watch for updates!
Thanks for the reply Brent. I've been testing different methods and a weird thing happens. The data is fine when the closed loop value is a positive value, but when the value goes negative the returned value is something like 354678.00. I then check the mapping and it appears to resort back to an unsigned value, even though I changed it to signed.
Is there a certain method of updating the mapping and writing it to the RCP? I have been doing it with the phone app while the car is running.
Brad
Is there a certain method of updating the mapping and writing it to the RCP? I have been doing it with the phone app while the car is running.
Brad