If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.
FWIW this is the relevant code snippet for the AVAN (exhaust) calculation:
Essentially it gets the relevant AVAN_SOLL (target) value based on a few conditions (interestingly there's a separate table for US-spec SMG cars under certain conditions which I haven't completely figured out). It the checks whether AVAN1_SOLL_FAKTOR (a factor looked up from TMOT, etc.) is zero (car is warmed up) and if it isn't (car still warming up) then it looks up the AVAN1_SOLL_KATH value, subtracts the "SOLL" (target) value from it (to get the difference) then multiples that by the AVAN1_SOLL_FAKTOR to get the level of adjustment that needs to be made to the "SOLL" value.
Essentially it blends between the "SOLL" and "SOLL_KATH" tables based on how warm the car is (simplifying the explanation here but that's the gist of it).
Note that there are some other various conditions where other values are used, but once the engine is running and warming up as usual the above is how it works.
FWIW this is the relevant code snippet for the AVAN (exhaust) calculation:
Essentially it gets the relevant AVAN_SOLL (target) value based on a few conditions (interestingly there's a separate table for US-spec SMG cars under certain conditions which I haven't completely figured out). It the checks whether AVAN1_SOLL_FAKTOR (a factor looked up from TMOT, etc.) is zero (car is warmed up) and if it isn't (car still warming up) then it looks up the AVAN1_SOLL_KATH value, subtracts the "SOLL" (target) value from it (to get the difference) then multiples that by the AVAN1_SOLL_FAKTOR to get the level of adjustment that needs to be made to the "SOLL" value.
Essentially it blends between the "SOLL" and "SOLL_KATH" tables based on how warm the car is (simplifying the explanation here but that's the gist of it).
Note that there are some other various conditions where other values are used, but once the engine is running and warming up as usual the above is how it works.
Thanks Karter16. Which tool do you use to disassemble the code?
I believe he is using Ghidra (Java, requires version 21). Ghidra projects use a gpr file, which is in the "gar" file here so just extract that to a directory using something like 7 zip and go from there.
Edit: Just noticed the gpr file within the gar file is 0 bytes in length, so that is not going to open lol.
I believe he is using Ghidra (Java, requires version 21). Ghidra projects use a gpr file, which is in the "gar" file here so just extract that to a directory using something like 7 zip and go from there.
Edit: Just noticed the gpr file within the gar file is 0 bytes in length, so that is not going to open lol.
Just tested restoring the gar file and it works fine. I believe Ghidra constructs a gpr file specific to your machine/account when you restore it.
That said, bmwfnatic and I are currently working on a much more comprehensive disassembly and we'll start making information available as soon as we have it in a coherent state.
Just tested restoring the gar file and it works fine. I believe Ghidra constructs a gpr file specific to your machine/account when you restore it.
That said, bmwfnatic and I are currently working on a much more comprehensive disassembly and we'll start making information available as soon as we have it in a coherent state.
Thanks karter, skipped right over that option in the menu.
Just tested restoring the gar file and it works fine. I believe Ghidra constructs a gpr file specific to your machine/account when you restore it.
That said, bmwfnatic and I are currently working on a much more comprehensive disassembly and we'll start making information available as soon as we have it in a coherent state.
Thanks for sharing this! Would love to see the final result.
Thanks Brian, So it is the oil/coolant sensor on the engine that is solely responsible for the vanos timing in open loop?
Do any air temperature sensors come into play?
The one on the engine in the pipe off the cylinder head is your TMOT (engine temp) sensor.
In this instance oil temp is used to enable VANOS adaptation @ 70*C (158*F) and manage VANOS PID output control, i.e higher oil temp = lower proportional and integral gain.
The one on the engine in the pipe off the cylinder head is your TMOT (engine temp) sensor.
In this instance oil temp is used to enable VANOS adaptation @ 70*C (158*F) and manage VANOS PID output control, i.e higher oil temp = lower proportional and integral gain.
Sent from my iPhone using Tapatalk
Thank you. Does exhaust temp have any bearing on open loop cold starting?
Comment