Apologies if I'm doing this wrong but this is difficult to wrap my head around.
I assume the S/R blocks are set and reset?
Green pathways appear happy, red unhappy.
And made assumptions of AND for "&" and OR for "v"
What I can gather from this image in the english FR is that when CWNOMIL is 0 that pathway is low, and is then inverted at the end to high.
b.kl15 is Terminal 15 power and is switched 12v, so always high.
that group is AND gated with the output of an OR gate, b.milst which is "MIL turn-on, test function during start", which is SET during ecm initialization, and RESET when n_mot is active + TLAED which is "Waiting time until error lamp off after start".
Since the above OR pathway is high, that appears to by my only happy pathway to b.mil=1
As for the getDfpmMIL() pathway, since misfires don't cause blinking, confirmed. And P-codes don't cause MIL on, confirmed, those pathways are red. Albeit, off is a pathway that appears to be constant and idk if I can test that.
C.NACHL is the "ECU condition for ECU switch off delay" so if OFF and C.NACHL are both constant high, then perhaps a constant reset is being issued?
I guess this leads me to asking, wtf is "getDfpmMIL()", it's a function, but is there something that disables its output somewhere?
Also, why tf is MIL disabled on a stock file, it doesn't make sense.
So here is the example of the MIL shutting off when n_mot detected.
what a load of shit for turning on a damn LED.
ps, there are other pathways but I removed them as they didn't seem relevant.
full image here