Well.. theres good and bad news from what you said.Tre-Cool wrote:for starters the coolant temp says 230 degrees when i look at the engineering side, & it sets off the check engine fault. its been a few weeks since i first played with it. If i get time on the weekend i'll plug the uart line back in and see what it does.
Will double check the early ecu again too.
the pim isn't really doing much imo apart from transmitting the ect, the tacho and speedo come directly from the e38 ecu. Had to fudge the ppk count down to the lowest limit the aapl software would go (3000) & then again fudge the shit out of the ecu speedo output pulse to get the speedo to line up with the trans vss. unfortunatly the e38 then reads the speedo higher then the trans, yet my tacho is fine. lol
I can get some pics & video of it if anyones keen to see how the steering wheel tapshift works.
Good news is it sounds like the ECU is actually sending data using the same 'headers', bad news is the data may be formatted differently.
Reason Iv come to that conclusion, is the cluster would show -40deg if it was receiving no information. But, its actually receiving something, so the PIM is translating information from the ECU. The embedded way to resolve would be to intercept the information from the ECU, modify and then resend to the PIM.
An example of whats sort of happening (For the interested) would be something like this...
On an early E38, it may be sending:
1040A210 00 10 00 3C 00 00 FF 00
On a late E38, it may be sending:
1040A210 00 10 01 40 00 00 00 FF
Iv highlighted in red the example bytes. So imagine that on an early unit, the value 003C is equivalent to maybe 20degs, which the PIM understands and calculates correctly. The late unit sends 0140, which is also 20degs (to how it calculates) but the PIM calculates that as 230deg.
Second example where both lines have FF. Early unit may have the FF on the second last byte, it could literally mean anything... status byte.. error bytes.. who knows.
On late unit, this byte has been shifted across by one. The PIM will process that data as if it was still an early unit, which could be an error flag byte or something else triggering the cluster to throw a hissy.
Is quite common kinda thing to see as tech updates and they slightly change things up.
Anyways.. enough of my ramblings!