Gen IV disassembly E38 / E67

Disassembly, Reassembly, Tools and devleopment. Going deep with Hardware and Software.
turbo_bu
Posts: 65
Joined: Mon Dec 02, 2019 5:58 pm

Re: Gen IV disassembly E38 / E67

Post by turbo_bu »

No, I didn't find the actual PID lookup subroutine, but was able to find the PID table. That is how I knew where to go and find the different PIDs. I'm sure you could go back and now look to find the lookup routine. I'll have to go back and see where it is being referenced at. I am "hoping" that a lot of the general flow of this code looks somewhat similar to the P01/P59 stuff.
8SecSleeper
Posts: 27
Joined: Sun Mar 12, 2017 5:57 am

Re: Gen IV disassembly E38 / E67

Post by 8SecSleeper »

turbo_bu wrote: Tue Mar 30, 2021 5:08 pm No, I didn't find the actual PID lookup subroutine, but was able to find the PID table. That is how I knew where to go and find the different PIDs. I'm sure you could go back and now look to find the lookup routine. I'll have to go back and see where it is being referenced at. I am "hoping" that a lot of the general flow of this code looks somewhat similar to the P01/P59 stuff.
I'm currently using the DTC table to find variables, but would be handy to understand how the pid lookup works. I found alot of the pid control stuff, Assuming there's gonna be a function that uses an array of all the dtc ram addresses in memory that could be retrieved using the Service 01 and 21 routine calls. Is it possible to add DTC handling for custom msg id's?
8SecSleeper
Posts: 27
Joined: Sun Mar 12, 2017 5:57 am

Re: Gen IV disassembly E38 / E67

Post by 8SecSleeper »

8SecSleeper wrote: Thu Jul 31, 2025 2:00 am
turbo_bu wrote: Tue Mar 30, 2021 5:08 pm No, I didn't find the actual PID lookup subroutine, but was able to find the PID table. That is how I knew where to go and find the different PIDs. I'm sure you could go back and now look to find the lookup routine. I'll have to go back and see where it is being referenced at. I am "hoping" that a lot of the general flow of this code looks somewhat similar to the P01/P59 stuff.
I'm currently using the DTC table to find variables, but would be handy to understand how the pid lookup works. I found alot of the pid control stuff, Assuming there's gonna be a function that uses an array of all the dtc ram addresses in memory that could be retrieved using the Service 01 and 21 routine calls. Is it possible to add DTC handling for custom msg id's?
I've successfully located the PID lookup table, which is now straightforward to work with once you know what to look for.

I'm still interested to know if anyone has experience sending custom CAN bus messages or handling responses to custom CAN IDs.

All the DTC-related functions are now labeled, making it easier to trace relevant logic, and the PID handling is fully mapped out.

Does anyone know if the 2007 E67 ECU monitors individual wheel speeds from the ABS (i.e., all four corners)? I’m aware that the data is transmitted on the CAN bus and I have the transmit ID, but it's unclear if the ECU is actively using it. If not, I’d like to implement support for it.

I'm currently adding traction control and other features, and accurate wheel speed data is critical to calculating wheel slip percentage. I've done all this on a turbo Saab 9-3 so most of it is pretty easy to figure out.
User avatar
Tre-Cool
Posts: 533
Joined: Tue Oct 16, 2012 2:17 am
cars: VY SS UTE, VX Drag Car
Location: Perth

Re: Gen IV disassembly E38 / E67

Post by Tre-Cool »

i cant imagine the ecu would deal with the individual wheel speeds. rather it just takes a torque cut request from the abs module.

otherwise whats the point of the abs system.
8SecSleeper
Posts: 27
Joined: Sun Mar 12, 2017 5:57 am

Re: Gen IV disassembly E38 / E67

Post by 8SecSleeper »

Tre-Cool wrote: Sat Aug 02, 2025 11:20 am i cant imagine the ecu would deal with the individual wheel speeds. rather it just takes a torque cut request from the abs module.

otherwise whats the point of the abs system.
That's the thing, It's not at all uncommon for GM vehicles to use the data. E38 for example does, You can select speed source to be based on a 4 wheel speed avg, or set to driven wheel avg, undriven wheel avg. It's been a thing for atleast 23 years now.
hjtrbo
Posts: 353
Joined: Tue Jul 06, 2021 8:57 am
cars: VF2 R8 LSA
FG XR6T
HJ Ute w/RB25DET

Re: Gen IV disassembly E38 / E67

Post by hjtrbo »

Have you found the can tables yet? That will let you know if its processing the message and storing the variables into ram.