NOTE: Once again, take this with a grain of salt, this information is for educational purposes only and most likely only useful to people much smarter than myself
So I was curious how the "Light Configuration" that exists as a single Channel on the newer BCMs and consists of a really big *expletive* number, like this:
differs from the older style of having multiple adaptation channels
One thing I noticed is that some of the "Bytes" (for lack of a better term) repeat.
Out of curiosity, I split that large string up into chunks every time it repeated and ended up with 14 rows of 16 Byte "Chunks"
Now, with a little more digging, it seems that each "Chunk" corresponds to one of the "leuchte" channels, starting from Leuchte0 and ending on leuchte13, which is also conveniently all the channels for the front of the vehicle
For example, lets take the first chunk and it's matching channel, Leuchte0.
Byte 0, 1 and 3 match with the Lasttyp, Defektbitposition and Error Location Byte of a specific Leuchte channel respectively
0C - converted from hex to decimal gives us 12, which matches up with the number assignment for Blinkleuchten
34 - matches up perfectly with the Lampendefektbit for Leuchte0
14 - Matches the Fehlerort Byte for leuchte0
Byte 4 and 5 of the chunk
seems to correlate to the "Light Function A" and "Light Function B" channel of the Leuchte set
in this example 02 would be for "Blinken links Hellphase" and 00 would be "not active". here is a list that shows all of the functions that I have been able to correlate
Byte 6 matches with the Dimmwert AB channel
64 - converted from HEX to decimal is 100
this pattern seems to repeat for channels C, D, E, F, G, and H as well
byte 7 - Light Function C
byte 8 - Light Function D
byte 9 - Dimmwert CD
byte 10 - Light Function E
byte 11 - Light Function F
byte 12 - Dimmwert EF
byte 13 - Light Function G
byte 14 - Light Function H
byte 15 - Dimmwert GH
I still have yet to figure out how the Dimming DIrection channels factor into the above information.
Edit (originally posted by TBAx): Dimming Direction (maximize/minimize) is encoded in the brightness byte, as far as I see. Everyting below $80 is "maximize" (0-127 [$00-$7F]). Everything from this value on is "minimize" (0-127 [$80-$FF]). At least this is what I consider when looking at Somnus posted configuration for the DRLs - I suspect they turn while signal indicator is active on that specific side...?
So I was curious how the "Light Configuration" that exists as a single Channel on the newer BCMs and consists of a really big *expletive* number, like this:
Code:
IDE05145-Light configuration, 0C 34 00 14 02 00 64 00 00 00 00 00 00 00 00 00 0C 3E 00 15 04 00 64 00 00 00 00 00 00 00 00 00 08 00 00 45 08 00 64 00 00 00 00 00 00 00 00 00 08 00 00 46 08 00 64 00 00 00 00 00 00 00 00 00 09 48 00 43 14 00 64 06 00 80 08 00 1F 00 00 00 09 4C 00 44 14 00 64 07 00 80 08 00 1F 00 00 00 0B 36 00 1A 0B 00 64 00 00 00 00 00 00 00 00 00 0B 40 00 1B 0C 00 64 00 00 00 00 00 00 00 00 00 0A 37 00 1C 0D 0F 64 00 00 00 00 00 00 00 00 00 0A 41 00 1D 0E 0F 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 06 38 00 22 12 00 7F 00 00 00 00 00 00 00 00 00 06 42 00 23 13 00 7F 00 00 00 00 00 00 00 00 00
differs from the older style of having multiple adaptation channels
One thing I noticed is that some of the "Bytes" (for lack of a better term) repeat.
Out of curiosity, I split that large string up into chunks every time it repeated and ended up with 14 rows of 16 Byte "Chunks"
Code:
IDE05145-Light configuration
0C 34 00 14 02 00 64 00 00 00 00 00 00 00 00 00
0C 3E 00 15 04 00 64 00 00 00 00 00 00 00 00 00
08 00 00 45 08 00 64 00 00 00 00 00 00 00 00 00
08 00 00 46 08 00 64 00 00 00 00 00 00 00 00 00
09 48 00 43 14 00 64 06 00 80 08 00 1F 00 00 00
09 4C 00 44 14 00 64 07 00 80 08 00 1F 00 00 00
0B 36 00 1A 0B 00 64 00 00 00 00 00 00 00 00 00
0B 40 00 1B 0C 00 64 00 00 00 00 00 00 00 00 00
0A 37 00 1C 0D 0F 64 00 00 00 00 00 00 00 00 00
0A 41 00 1D 0E 0F 64 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
06 38 00 22 12 00 7F 00 00 00 00 00 00 00 00 00
06 42 00 23 13 00 7F 00 00 00 00 00 00 00 00 00
Now, with a little more digging, it seems that each "Chunk" corresponds to one of the "leuchte" channels, starting from Leuchte0 and ending on leuchte13, which is also conveniently all the channels for the front of the vehicle
For example, lets take the first chunk and it's matching channel, Leuchte0.
Byte 0, 1 and 3 match with the Lasttyp, Defektbitposition and Error Location Byte of a specific Leuchte channel respectively
Code:
0C 34 00 14 02 00 64 00 00 00 00 00 00 00 00 00
0C - converted from hex to decimal gives us 12, which matches up with the number assignment for Blinkleuchten
Code:
ENG116936-ENG115873-Leuchte 0 BLK VL B36-Lasttyp 0, 12 - Blinkleuchten
34 - matches up perfectly with the Lampendefektbit for Leuchte0
Code:
ENG116936-ENG116547-Leuchte 0 BLK VL B36-Lampendefektbit Position 0, 34
14 - Matches the Fehlerort Byte for leuchte0
Code:
ENG116936-ENG115875-Leuchte 0 BLK VL B36-Fehlerort mittleres Byte DTC-DFCC 0,14
Byte 4 and 5 of the chunk
Code:
0C 34 00 14 02 00 64 00 00 00 00 00 00 00 00 00
seems to correlate to the "Light Function A" and "Light Function B" channel of the Leuchte set
Code:
ENG116936-ENG115876-Leuchte 0 BLK VL B36-Lichtfunktion A 0, Blinken links Hellphase
ENG116936-ENG115877-Leuchte 0 BLK VL B36-Lichtfunktion B 0, not active
Code:
02 Blinken links Hellphase
03 Blinken links Dunkelphase
04 Blinken rechts Hellphase
05 Blinken rechts Dunkelphase
06 Blinken links aktiv (beide Phasen)
07 Blinken rechts aktiv (beide Phasen)
08 Standlicht allgemein (Schlusslicht: Positionslicht: Begrenzungslicht)
09 Parklicht links (beidseitiges Parklicht aktiviert li & re)
0A Parking light right
0B Abblendlicht links
0C Abblendlicht rechts
0D Left high beam
0E Right high beam
0F Lichthupe generell
12 Nebellicht links
13 Nebellicht rechts
14 Daytime running lights
18 Brake light
19 Rueckfahrlicht
31 Ambience lighting
Byte 6 matches with the Dimmwert AB channel
Code:
0C 34 00 14 02 00 64 00 00 00 00 00 00 00 00 00
64 - converted from HEX to decimal is 100
Code:
ENG116936-ENG115878-Leuchte 0 BLK VL B36-Dimmwert AB 0, 100
this pattern seems to repeat for channels C, D, E, F, G, and H as well
byte 7 - Light Function C
byte 8 - Light Function D
byte 9 - Dimmwert CD
byte 10 - Light Function E
byte 11 - Light Function F
byte 12 - Dimmwert EF
byte 13 - Light Function G
byte 14 - Light Function H
byte 15 - Dimmwert GH
I still have yet to figure out how the Dimming DIrection channels factor into the above information.
Edit (originally posted by TBAx): Dimming Direction (maximize/minimize) is encoded in the brightness byte, as far as I see. Everyting below $80 is "maximize" (0-127 [$00-$7F]). Everything from this value on is "minimize" (0-127 [$80-$FF]). At least this is what I consider when looking at Somnus posted configuration for the DRLs - I suspect they turn while signal indicator is active on that specific side...?
Last edited by a moderator: