OS 12598977 E40 2005 GTO XDF and bin files
Posted: Fri Sep 23, 2022 9:34 am
I took a little time and put together and XDF for the 12598977 OS from an E40 ECM. It's mostly complete but I need help figuring out how the DTC section works.
So far I can tell that each DTC is 1 Byte long and this byte will represent a combination of if the MIL will be triggered and what gets reported. So there are in total 8 possible combinations:
0x0 = SES off No Error Reported
0x1 = SES off MIL on 1st Error
0x2 = SES off MIL on 2nd Error
0x3 = SES off No MIL Light
0x4 = SES on No Error Reported
0x5 = SES on MIL on 1st Error
0x6 = SES on MIL on 2nd Error
0x7 = SES on No MIL Light
The problem is that some DTCs will be like that, while others will have 0x0 = SES off No Error Reported be 0x08, 0x10, 0x18, 0x20, 0x28, 0x30 and 0x38. I really don't know how to translate these differences into something user friendly in TunerPro. I'm attaching a spreadsheet that shows what kind of hex string the DTC will use based on what the user wants it to do.
EDIT: This is a bad example (So for example P0101 has a value of 0x26. Looking up the DTC on the spreadsheet shows that it is the SES 1 MIL 2 column. This means that it will trip the MIL light after 2 consecutive errors. If we want to disable this code, we would want to look at the value in the SES 0 MIL 3 column. The value here is 0x23, so we would enter 23 in the table in TunerPro.)
I do realize that we don't have a way to read and write the E40, at least that I know of, but EFI Live does open bin files, so this could be helpful to someone that is using EFI and is missing some parameters that are only available in HPT.
Keep in mind that after you save the modified bin in TunerPro you will have to open it in Universal Patcher and save it again so the checksums will be correct.
Maybe it will inspire someone that knows more than I do to figure out how to read and write the E40.
I'm attaching two versions of the bin file. The smaller one is just the ECM while the larger one also includes information from the slave chip. EFI only opens the smaller bin file.
As always if I messed something up, or someone has a suggestion on how to improve the DTC process please let me know.
So far I can tell that each DTC is 1 Byte long and this byte will represent a combination of if the MIL will be triggered and what gets reported. So there are in total 8 possible combinations:
0x0 = SES off No Error Reported
0x1 = SES off MIL on 1st Error
0x2 = SES off MIL on 2nd Error
0x3 = SES off No MIL Light
0x4 = SES on No Error Reported
0x5 = SES on MIL on 1st Error
0x6 = SES on MIL on 2nd Error
0x7 = SES on No MIL Light
The problem is that some DTCs will be like that, while others will have 0x0 = SES off No Error Reported be 0x08, 0x10, 0x18, 0x20, 0x28, 0x30 and 0x38. I really don't know how to translate these differences into something user friendly in TunerPro. I'm attaching a spreadsheet that shows what kind of hex string the DTC will use based on what the user wants it to do.
EDIT: This is a bad example (So for example P0101 has a value of 0x26. Looking up the DTC on the spreadsheet shows that it is the SES 1 MIL 2 column. This means that it will trip the MIL light after 2 consecutive errors. If we want to disable this code, we would want to look at the value in the SES 0 MIL 3 column. The value here is 0x23, so we would enter 23 in the table in TunerPro.)
I do realize that we don't have a way to read and write the E40, at least that I know of, but EFI Live does open bin files, so this could be helpful to someone that is using EFI and is missing some parameters that are only available in HPT.
Keep in mind that after you save the modified bin in TunerPro you will have to open it in Universal Patcher and save it again so the checksums will be correct.
Maybe it will inspire someone that knows more than I do to figure out how to read and write the E40.
I'm attaching two versions of the bin file. The smaller one is just the ECM while the larger one also includes information from the slave chip. EFI only opens the smaller bin file.
As always if I messed something up, or someone has a suggestion on how to improve the DTC process please let me know.