Yet another CAN module - Shiftlights, MDrive, NBT and more

RSL

Lieutenant
Aug 11, 2017
937
501
0
Anyone using the CAN module only solution, are you getting the MDM/DTC light on Kombi when you enter MDM/DTC mode? If so, do you have an M Kombi and is your Kombi/JBBF is default coded as M3? Any coding changes after that?

M3 DSC doesn't seem to send 0x19E for DSC status, or I haven't gotten it to yet, but even on 1M DSC that does use the DTC button, the DTC/MDM didn't light in Kombi when 0x19E showed MDM/DTC status and am trying to figure out why.
 

superwofy

Corporal
Jan 18, 2021
109
151
0
Anyone using the CAN module only solution, are you getting the MDM/DTC light on Kombi when you enter MDM/DTC mode? If so, do you have an M Kombi and is your Kombi/JBBF is default coded as M3? Any coding changes after that?

M3 DSC doesn't seem to send 0x19E for DSC status, or I haven't gotten it to yet, but even on 1M DSC that does use the DTC button, the DTC/MDM didn't light in Kombi when 0x19E showed MDM/DTC status and am trying to figure out why.

I have had some issues with 19E before. It would be broadcast but for some bizarre reason the status byte[1] would not change with the modes. There was a DCT logged in the DSC about the DSC switch being pressed more than 10 seconds. A full reset (sleep mode -> wakeup) eventually fixed it. The DTC/MDM light still worked because the status is not evaluated from 19E but rather from the 5A9 message.
I was initially using 5A9 but changed to the simpler 19E message to save computation. See this commit for how it works:

19E is a KCAN only message and the DSC is on the PTCAN. This suggests that the gateway (JBE) generates that message.

I am using an M Kombi and non-M DSC software. The JBE is coded without DSC_SWITCH and with RPA_SWITCH.
 
  • Like
Reactions: RSL

RSL

Lieutenant
Aug 11, 2017
937
501
0
Thanks for this info. I'm not using a CAN module and trying to find where the breakdown is occurring, seemed odd that nothing lights for MDM/DTC with 1M or M3 DSC with or without DTC button active, even though DSC statuses show MDM/DTC on 19E and/or 399.

I thought it might be something generated elsewhere, but hadn't found anything mentioned anywhere. I'll log for 5A9 and if it is actually there, I'll assume it's probably not something non-M Kombi isn't programmed to look for it.
 

superwofy

Corporal
Jan 18, 2021
109
151
0
Thanks for this info. I'm not using a CAN module and trying to find where the breakdown is occurring, seemed odd that nothing lights for MDM/DTC with 1M or M3 DSC with or without DTC button active, even though DSC statuses show MDM/DTC on 19E and/or 399.

I thought it might be something generated elsewhere, but hadn't found anything mentioned anywhere. I'll log for 5A9 and if it is actually there, I'll assume it's probably not something non-M Kombi isn't programmed to look for it.

So let's clarify this a little bit.

19E is generated by the JBE and sent on the KCAN.
399 is Mdrive status as generated from the DME on PTCAN and forwarded to KCAN by JBE. In M cars this will tell the DSC to switch modes.
5A9 is the Network-management message on PTCAN and forwarded to KCAN by JBE. All DSC modules generate this.

Have you checked the actual DSC status in Tool32? As far as I know Kombi software is the same between M and non-M.
 

RSL

Lieutenant
Aug 11, 2017
937
501
0
I didn't see a job in DSC_87 to verify status, can you point that out/any argument needed? I have monitored CAN and DME memory addresses for status info extensively, but I do see I have the DSC button stuck on and longer than 10 secs error with M3 DSC in place. I flashed M3 DSC this weekend and don't have pin 41 wired yet. I have no idea where it's still getting a button read from though. DTC button is disabled. I'll disable it as TPM reset also.

1M DSC didn't light MDM/DTC Kombi either though, with the button in place and everything showing MDM/DTC values. That one is really confusing as everything on 1M uses basically the same as any 1/3 series. Full off DSC light worked on 1M DSC and DTC button in place, so the light issue seems to revolve specifically around MDM/DTC modes on 1M and M3 DSC.

1M DSC, DTC button active and also M Button/0x399 functioning in log below. mdrv_dsc is DME param read from 0x399, St_dsc_can is DME param which seemed almost exclusive read from 0x19E. They are independent and both match settings/presses. Yellow is the MDrive preset to MDM and purple is the physical DTC button press (0 = DSC on, 4 = MDM/DTC, 1 = DSC off).

1M_and_DTC_button.png


Since M3 DSC flash, 0x19E is non-existent except for start. I had assumed 0x399 would replace it in telling M3 DSC to use MDM or On modes. Log at key on, no start below. MDrive still works as usual, MDrive on shows 4/MDM, but I didn't press it here. 0x19E/St_dsc_can shows 2 (error) immediately at power on, then drops to 0 (DSC On), then 1 (DSC Off), then 0 again (DSC On). From the point it drops from 2 to 0 to the time it drops from 1 to 0 is 10 seconds. I don't know M3 if uses 0x19E, it seems tied to the DTC button. Maybe it needs to be disabled completely in our cars if MSD is doing some kind of check. I don't recall having the issue the last time I flashed M3 DSC though (2 years ago maybe).

M3_no_DTC_button.png
 

superwofy

Corporal
Jan 18, 2021
109
151
0
I didn't see a job in DSC_87 to verify status, can you point that out/any argument needed?

status_schalter. You have STATUS_DSC_TASTER_EIN which is the switch and STAT_DSC_PASSIV which tells you if DSC is relaxed.

The console switch block I have from the M3 has the DSC OFF switch as NO-Normally open. Definitely find out why you have the 10s+ switch DTC. Once that's set the DSC refuses to change modes.
 
  • Like
Reactions: RSL

RSL

Lieutenant
Aug 11, 2017
937
501
0
I did run that job before and DSC button definitely shows on in mutiple places (Tool32, INPA, etc.). I have absolutely no idea how though, I don't have one and JBBF has DSC button inactive with non-M DTC button coded as TPM reset.

Since the button block is NO, not having the button block or a wire connected to 41 should have no bearing, which is what I've always assumed.

I definitely would've remembered if i had this issue last time I flahed M3 DSC and the only differences now are that I'm on IN instead of IK and the native MSD 0x399 message has the bits to verify MDrive is active to the individual modules.

Maybe there's another logic switch or diagnostic in IN that needs to be changed and I'll double check the start up 0x399 isn't sending anything.
 

RSL

Lieutenant
Aug 11, 2017
937
501
0
The >10 sec press error is there with M3 DSC flash no matter what I do. I'm almost down to having to map physical pins between my JBBF and DSC vs. M3 to see if anything may be getting there that shouldn't be.

@superwofy @AzNdevil do you have info for byte 3 of 0x19E by any chance? I looked all over and can't make it out just from logs.

DSC full on and off are the same byte/values on any DSC flash, which is why those always work. Byte 3 is different with M3 DSC flash though.

Byte 3:
- 335 DSC always 0xFC
- 1M DSC always 0xFC
- M3 DSC always 0xF0, except occasionally 0xF4 "around" when engine running and brake pressed. It's not exact alignment, but seems to start at or shortly after brake is pressed with car running and then stops at or shortly after brake is released.

You'd think byte 1 0xF0 would turn on the Kombi light with 1M DSC because everything is the same exact values as 335 DSC for DTC, but it doesn't. If it is JBBF commanding the light, maybe it needs a ZB change to 1M or M3 respectively, but I haven't looked in to how any pin assignments might also change. The only other option I can think of at this point is maybe being DCT, but it is M3 DCT.

For the record, byte 5:
0x0 = Running, no brake
0x20 = Acc ignition/not running, no brake
0x41 = Running, brake
0x61 = Acc ignition/not running, brake
0x63 = Ign off

There were also a few 0x23 that seem to coincide with ignition state change i.e. running to acc.

There are also 0xEA in byte 1 in all when car is off, but forgot to add it.

19e_comp.png
 

superwofy

Corporal
Jan 18, 2021
109
151
0
Hello superwofy,

I finally got around to implementing some of your code into the microcontroller for my new DCT cluster.

I was able to get the checkered flag to appear and disappear with my code and your can messages, but I cannot get the shift lights to turn on. I tried sending each of the messages you previously mentioned to address 0x206, and none of them do anything for my cluster.

{0x86, 0x3E} - Begins by turning on the first segment.
{0xF6, 0} - More rapidly fill out the remaining segments.
{0x0A, 0} - Flash the lights.
{0x05, 0} - Turn them off.

I tried sending all orders of the messages like
First {0x86, 0x3E}
next {0x0A, 0}

OR

First {0x56, 0}
next {0x0A, 0}

OR even just
First {0x56, 0}
First {0x86, 0x3E}
next {0x0A, 0}

No matter what order I send the messages, there is no reaction by the cluster.

I have not tried repeatedly sending one message i.e. the flash message, just once when I press a button. Does the can bus have to be continuously updated for the lights to work? I doubt it.

The only thing I can think of is that I am missing an initialization message for the shift lights somewhere. I looked through your code, and I couldn't find any additional messages to activate the cluster lights. I probably just did not notice it.

If you could shed some light on any potential issues, please let me know.

Thank you for your help

Hey, no initialization code.
Make sure the shiftlights are ON by scrolling through the Kombi menu. Also make sure they're coded.
The engine must be running as far as I remember.

@RSL - Sorry, I'm out of ideas for what could be happening in your situation. Maybe in the future if I figure out a way to modify the DSC firmware to include ECBA.
 
  • Like
Reactions: RSL

superwofy

Corporal
Jan 18, 2021
109
151
0
So I did a stupid thing. I didn't realize there was an option to activate the shiftlights on the cluster. When I installed the cluster, I re-coded it according to my VO to eliminate the many errors (M Drive gear selection error, TPMS, EDC, etc....)

I have been searching through the NCS expert settings and cannot figure out which option is required to get the shiftlight option back in the Kombi menu.

If you know the correct options to set in NCS expert, I would greatly appreciate you sharing.


EDIT:

I have tried the following:
KOMBI:
SHIFTLIGHTS
wert_01
SHIFTLIGHTS_1
wert_01
SHIFTLIGHTS_2
wert_01
SHIFTLIGHTS_3
wert_01
SHIFTLIGHTS_4
wert_01
MMI_ENA_SHIFTLIGHTS
aktiv

MMI_ENA_SHIFTLIGHTS should make the menu visible.

Adding a parameter to SHIFTLIGHTS* with value 1 will have them on by default. That's what I do otherwise they default to off.

I also have MOTORSPORT - wert_01 but I don't think this affects shiftlights, only oil display.
 

hollracing

Private
Oct 26, 2022
40
39
0
The >10 sec press error is there with M3 DSC flash no matter what I do. I'm almost down to having to map physical pins between my JBBF and DSC vs. M3 to see if anything may be getting there that shouldn't be.

@superwofy @AzNdevil do you have info for byte 3 of 0x19E by any chance? I looked all over and can't make it out just from logs.

DSC full on and off are the same byte/values on any DSC flash, which is why those always work. Byte 3 is different with M3 DSC flash though.

Byte 3:
- 335 DSC always 0xFC
- 1M DSC always 0xFC
- M3 DSC always 0xF0, except occasionally 0xF4 "around" when engine running and brake pressed. It's not exact alignment, but seems to start at or shortly after brake is pressed with car running and then stops at or shortly after brake is released.

You'd think byte 1 0xF0 would turn on the Kombi light with 1M DSC because everything is the same exact values as 335 DSC for DTC, but it doesn't. If it is JBBF commanding the light, maybe it needs a ZB change to 1M or M3 respectively, but I haven't looked in to how any pin assignments might also change. The only other option I can think of at this point is maybe being DCT, but it is M3 DCT.

For the record, byte 5:
0x0 = Running, no brake
0x20 = Acc ignition/not running, no brake
0x41 = Running, brake
0x61 = Acc ignition/not running, brake
0x63 = Ign off

There were also a few 0x23 that seem to coincide with ignition state change i.e. running to acc.

There are also 0xEA in byte 1 in all when car is off, but forgot to add it.

View attachment 74834
In the DSC coding what value is 0x00300014 with mask of 0x80? M3 would be 0x01, everything else seems to always be 0x00
 

RSL

Lieutenant
Aug 11, 2017
937
501
0
In the DSC coding what value is 0x00300014 with mask of 0x80? M3 would be 0x01, everything else seems to always be 0x00
1, it's default coded as Euro M3. I actually wired pin 41 today and flashed back to the M3 DSC to mess with this some more. 5B5E is still there and no idea what's causing it at this point. I'll try some more tomorrow.

B 00300000,0010,07,03,80,A3,E6,CD,A6,80,40,B3,03,E5,E4,7A,20,00
B 00300010,0010,00,00,00,00,80,00,00,00,00,00,00,00,00,00,00,00
B 00300020,0010,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
B 00300100,0001,07
 

hollracing

Private
Oct 26, 2022
40
39
0
I just want to confirm I understand completely (I'm sure all the info is there but I'm a "bit" dyslexic and have the attention span of a gold fish...)

1) E8/9x non M with M3 dsc flash, and DSC/DTC button wired to JBBF or direct to DTC you are getting fault code for this button being stuck down?
2) 0X19E Isn't being broadcast as normal (50hz?), in either M3/AG DSC flash?
3) MDM/DTC light in kombi is working when in MDM/DTC mode?

1)
Elaborating on my original comment & FYI:
The DSC coding address I mentioned above, it can be labeled as:
ABSCHALTBARKEIT_DSC - DYNAMIC STABILITY CONTROL (DSC) CAN SWITCH OFF (address: 0x00300014 mask: 0x80)
And all M3's I have coding traces for all have 01, all non-m3 traces I have, have 0x00
And hence why I asked.

There is also another option in the coding that could relate to that button, labeled as:
DDS / DDS_SW_CAN / DDS PLUS - TIRE PUNCTURE WARNING (RPA) SWITCH OVER CAN-BUS (address: 0x0030000A mask: 0x10)
You have 0x00 there and thats what I think should be there, but I don't have a trace of a car using DDS/TPMS/Direct RDC

In the DSC coding data you shared above, you have it in Direct RDC (address: 0x00300003 Mask: 0x08).
I've noticed before as I plan on retrofitting Direct RDC, that there seems to be quite a few coding differences for RDC/Direct RDC across quite a few modules.
Is the car have RDC or Direct RDC - TPMS sensors in wheels?

2)
I have gone through all my logs and I don't have any intermittence in that message being broadcast like you are describing on either M3/Non m3.
And they all match this (I don't have can log for 1M).
19e_comp-png.png

Including byte 0 containing 0xEA
I use the same 0x19E bytes and conversions for both M3's & non M3's (e8/9x) for logging DSC mode and DSC Intervention State/Type without issue/alteration.
There are 2x other CAN messages that potentially might be worth looking at, I have them labeled but have not looked into them:
0x316 (DLC 2) BEDIENUNG_TASTER_DSC or OPERATION_BUTTON_DSC
5E65 - Kombi: OP_PUBU_DSC Signal ungueltig. (Botschaft BEDIENUNG_TASTER_DSC, ID 0x316)
0x319 (DLC 2) BEDIENUNG_TASTER_RDC or OPERATION_BUTTON_RDC
5EC3 - Kombi: OP_PUBU_TPCT Signal ungueltig. (Botschaft BEDIENUNG_TASTER_RDC, ID 0x319)
I have checked my CAN logs and I only can find 0x316 and that was from a 335i, the M3 ones I have don't seem to have this, unless I have missed it.

3)
I think this issue is likely related to the fault for DTC button, which if I understand correctly is also the thought here to.
I need to check my car when I get a chance but I'm pretty sure as I think is mentioned somewhere here already MDM light works when in DTC mode (M3 kombi, E82 135i DSC), I can't remember off the top of my head what KOMBI was coded as if at all TBH.
Later M3's seem to have DSC_VARIANTE (KOMBI) as 0x00 early ones have 0x01
Im not sure where I got the fault codes above from (likely Tool32 but not sure for what chassis..) but they mention they are from KOMBI. There is a few parameters in the kombi coding labeled as being for RDC/Direct RDC.
 
  • Like
Reactions: RSL

RSL

Lieutenant
Aug 11, 2017
937
501
0
I just want to confirm I understand completely (I'm sure all the info is there but I'm a "bit" dyslexic and have the attention span of a gold fish...)

1) E8/9x non M with M3 dsc flash, and DSC/DTC button wired to JBBF or direct to DTC you are getting fault code for this button being stuck down?
2) 0X19E Isn't being broadcast as normal (50hz?), in either M3/AG DSC flash?
3) MDM/DTC light in kombi is working when in MDM/DTC mode?

1)
Elaborating on my original comment & FYI:
The DSC coding address I mentioned above, it can be labeled as:
ABSCHALTBARKEIT_DSC - DYNAMIC STABILITY CONTROL (DSC) CAN SWITCH OFF (address: 0x00300014 mask: 0x80)
And all M3's I have coding traces for all have 01, all non-m3 traces I have, have 0x00
And hence why I asked.

There is also another option in the coding that could relate to that button, labeled as:
DDS / DDS_SW_CAN / DDS PLUS - TIRE PUNCTURE WARNING (RPA) SWITCH OVER CAN-BUS (address: 0x0030000A mask: 0x10)
You have 0x00 there and thats what I think should be there, but I don't have a trace of a car using DDS/TPMS/Direct RDC

In the DSC coding data you shared above, you have it in Direct RDC (address: 0x00300003 Mask: 0x08).
I've noticed before as I plan on retrofitting Direct RDC, that there seems to be quite a few coding differences for RDC/Direct RDC across quite a few modules.
Is the car have RDC or Direct RDC - TPMS sensors in wheels?

2)
I have gone through all my logs and I don't have any intermittence in that message being broadcast like you are describing on either M3/Non m3.
And they all match this (I don't have can log for 1M).
View attachment 75278
Including byte 0 containing 0xEA
I use the same 0x19E bytes and conversions for both M3's & non M3's (e8/9x) for logging DSC mode and DSC Intervention State/Type without issue/alteration.
There are 2x other CAN messages that potentially might be worth looking at, I have them labeled but have not looked into them:
0x316 (DLC 2) BEDIENUNG_TASTER_DSC or OPERATION_BUTTON_DSC
5E65 - Kombi: OP_PUBU_DSC Signal ungueltig. (Botschaft BEDIENUNG_TASTER_DSC, ID 0x316)
0x319 (DLC 2) BEDIENUNG_TASTER_RDC or OPERATION_BUTTON_RDC
5EC3 - Kombi: OP_PUBU_TPCT Signal ungueltig. (Botschaft BEDIENUNG_TASTER_RDC, ID 0x319)
I have checked my CAN logs and I only can find 0x316 and that was from a 335i, the M3 ones I have don't seem to have this, unless I have missed it.

3)
I think this issue is likely related to the fault for DTC button, which if I understand correctly is also the thought here to.
I need to check my car when I get a chance but I'm pretty sure as I think is mentioned somewhere here already MDM light works when in DTC mode (M3 kombi, E82 135i DSC), I can't remember off the top of my head what KOMBI was coded as if at all TBH.
Later M3's seem to have DSC_VARIANTE (KOMBI) as 0x00 early ones have 0x01
Im not sure where I got the fault codes above from (likely Tool32 but not sure for what chassis..) but they mention they are from KOMBI. There is a few parameters in the kombi coding labeled as being for RDC/Direct RDC.
335is with:
MDCT flash
MGWS
M SZL
M button working (steering wheel)
Stock 335is Kombi
Back and forth between 1M and M3 DSC flashes
TPMS in the wheels

Separate issues really. DTC/MDM doesn't light with 1M DSC and 335is Kombi coded as 1M, M3 or anything else, though it definitely seems to be active. 1M DSC is not problematic, aside from DTC light not activating on short press.

Separately, M3 DSC tosses a button pressed >10 sec error every power on. The weird thing is, it was tossing that with the M3 DSC flash before M3 DSC button was even in the car or a wire run to pin 41 and the stock DTC button disabled. Seems it's picking up anything except a button press and I don't know what, but it's getting a signal from somewhere. When I check the status of DSC button in INPA and others, it definitely shows DSC button on/ein.

DSC, Kombi, CIC, JBBF default coded as 1M or 2010 M3 yield the same results as far as the DSC button error.

Just to be extra sure, I flashed stock IKM0S, stock INA0S and stock M3 DCT bin just to be sure no errant signals were coming from anything I've changed. I've also flashed DME bins with MDrive and 0x399 completely disabled. No, difference.

I disabled tire pressure/DTC buttons and just about anything having to do with cruise control randomly in JBBF/Kombi, but I will revisit all of them.

0x316 is press of the physical DTC button between the vents, which M3 uses as TPMS reset, so, correct, no M3 should have a 0x316 anywhere. I'll check for 0x319 next time I have the logger connected, but I've coded both DSC and TPMS reset buttons (same button in different cars) disabled in JBBF and the button press error still occurs. I don't think it has anything to do with that non-M DTC button at this point.

The timing of 0x19E seems OK, M3 DSC just gives me different values than non-M and 1M, which are the same.

ABSCHALTBARKEIT_DSC - DYNAMIC STABILITY CONTROL (DSC) CAN SWITCH OFF, when I set to 0 yesterday, I don't get the error at start, but also can't turn DSC off manually either. What I wasn't sure of on this one is if "CAN switch off" meant is able to switch off or allows it to switch off via CAN lol Since it still doesn't turn off with the direct wired button and no error present, I assume it means allowed to switch off at all.

I also tried both values for DSC variant yesterday with no difference.

I may code everything back to 335is and start from scratch one module at a time. The last time I flashed the M3 DSC was a year or 2 ago and honestly don't remember it having this issue, but also don't remember if I had the other M3 bits installed/coded at the time either.
 

starfox5194

New Member
Sep 23, 2022
1
0
0
1) No, PT-CAN is not required. The message *is* generated on PT-CAN in the M3 by the DME and forwarded by the JBE onto KCAN as this is what the KOMBI is connected to. You can bypass this by broadcasting straight to KCAN - that's what I do in the code.

2) I have not, sorry. Seat occupancy is connected to MRS and it is on the KCAN - so if the message is broadcast, then it must be on the KCAN.

3) I will detail it a bit more here but I really recommend you look at the code and try to reproduce it instead.


This is what I know about ARB-ID 0x206:

The first bit of the first byte specifies speed of the operation. 0 - 0xF, 0xF is the slowest.
Second bit is the operation itself. I've found that:
2 seq, 5 off, 6 seq, 0xA flash, 0xE seq. Where 'seq' means one element lights up and after another lights up and another etc.

I don't know what the second byte does. I only use it for the first segment, and I've taken it straight from the M3 trace I collected. It might also be related to the speed/time of the operation.


The values I use are:

{0x86, 0x3E} - Begins by turning on the first segment.
{0xF6, 0} - More rapidly fill out the remaining segments.
{0x0A, 0} - Flash the lights.
{0x05, 0} - Turn them off.

Watch this video to get a better idea of what I mean: https://github.com/superwofy/E9X-M-CAN-Integration-Module/raw/main/Video/standstill shiftlight demo.mp4

Hi @superwofy, It's been a few months. I was banned for an unknown reason, but now I am back. Anyways, I was able to get the shift lights working on my cluster, but only if I activate the motorsport cluster coding option on my cluster. Unfortunately, the motorsport option generates errors with my auto transmission, as it is designed to work with manual or DCT. Do you have access to the can messages sent by the DCT? Do you know why these errors are triggered?

I'm wondering if it is possible to mimic the gear signals that the DCT would send via CAN, so the error is gone. I was told by a someone that all the necessary info should be sent over on the standard trans-to-kombi CAN msg (0x1D2)?

Any way I can get a trace of that along with a DCT switching through the gears?
 

Jonas225

New Member
Feb 17, 2018
4
1
0
Ride
'07 E92 335i
No worries. As is, the code for shiftlight activation can be copied pretty easily. I may take the functionality and implement it into a separate module for a friend that requested this feature. If I do that, there'll be a github repo for it.
Hi,
did you already implement it into a separate module?
 

GnomeChild

Private
Sep 14, 2018
25
6
0
California
Ride
e90 335i LCI M-Sport
I'm currently working on adding the logic to control the exhaust flap solenoid too.
Unfortunately I have not had time to check the GitHub link to see if my following question has been answered but does anyone know if they have been able to successfully code the exhaust flap to always be "On" during Sport Mode/M Drive? From what I understand is that the DME controls the exhaust flap so a custom flash is required. I would like to have the flap function as normal during leisurely daily commutes but be forced open when/if M Drive is active; is this possible?


EDIT
I use it to:
  • Display Front fog lights on with a separate LED in the light switch cluster
I guess since this was mentioned I will ask here as well, I made a thread on e90post asking this same question. Which exact light turns on in the M3 cluster when fogs are enabled? Is it also the traditional foglight indicator "icon" that are present in 335i? I know M3s did not come with factory foglights but curiously the provision for the euro rear fogs are there and already coded even on US cars...
I drive with my foglights turned on whenever possible at night, I want to preserve at least some indication that they are active in the dash/cluster besides being able to see the extra light in front of the car when active while driving


EDIT 2
As I suspected, the M3 cluster does not have a "foglight" light present when doing a cluster sweep maneuver
C9-DEEEA7-9097-4-A71-9-E99-CB524347552-B.jpg

How is this retrofit done while still retaining the Foglight light? I think I see the faint outline of a Foglight light icon right below the High Beams in pictures of the M3 cluster from the OP GitHub link but maybe that is just wistful thinking playing tricks on my eyes...
 
Last edited:

superwofy

Corporal
Jan 18, 2021
109
151
0
Unfortunately I have not had time to check the GitHub link to see if my following question has been answered but does anyone know if they have been able to successfully code the exhaust flap to always be "On" during Sport Mode/M Drive? From what I understand is that the DME controls the exhaust flap so a custom flash is required. I would like to have the flap function as normal during leisurely daily commutes but be forced open when/if M Drive is active; is this possible?


EDIT

I guess since this was mentioned I will ask here as well, I made a thread on e90post asking this same question. Which exact light turns on in the M3 cluster when fogs are enabled? Is it also the traditional foglight indicator "icon" that are present in 335i? I know M3s did not come with factory foglights but curiously the provision for the euro rear fogs are there and already coded even on US cars...
I drive with my foglights turned on whenever possible at night, I want to preserve at least some indication that they are active in the dash/cluster besides being able to see the extra light in front of the car when active while driving


EDIT 2
As I suspected, the M3 cluster does not have a "foglight" light present when doing a cluster sweep maneuver

How is this retrofit done while still retaining the Foglight light? I think I see the faint outline of a Foglight light icon right below the High Beams in pictures of the M3 cluster from the OP GitHub link but maybe that is just wistful thinking playing tricks on my eyes...

Sorry, don't know if it can be done in DME by itself. The way I did it is take control of the solenoid with a transistor in my module. I also did it so I can have some difference between Sport and Sport+ in the iDrive MDrive interface. I.e Sport+ flap is always on.

No foglight in any of the M3 clusters. No ACC either. What I've done instead is add an LED in the light switch array to indicate front fogs are on. I'm very happy with it but it's not exactly OEM...


indicator%20off.jpg
indicatoron.jpg

light%20switch.jpg
 
  • Like
Reactions: GnomeChild

GnomeChild

Private
Sep 14, 2018
25
6
0
California
Ride
e90 335i LCI M-Sport
Sorry, don't know if it can be done in DME by itself. The way I did it is take control of the solenoid with a transistor in my module. I also did it so I can have some difference between Sport and Sport+ in the iDrive MDrive interface. I.e Sport+ flap is always on.
You wouldn't be interested in possibly putting together these (I guess from what I could gather) emulation boxes for commercial consumption for us who want a plug and play solution, would you? Unless of course I'm misunderstanding what you've done in the OP and each car further has to have custom coding based on the options...

No foglight in any of the M3 clusters. No ACC either. What I've done instead is add an LED in the light switch array to indicate front fogs are on. I'm very happy with it but it's not exactly OEM...
I like this... a lot actually. I'm about to source a virginized M3 cluster off of an another member soon so I might consider doing the Foglight button right away as a supporting mod. Do you have a source from where you got all your parts from? (Or maybe you have some extras leftover you might like to part with?) I guess to make it easy on me and to ensure the end result looks exactly like yours.... Electronics and coding flies right over my head but soldering is one thing I can definitely do :)

The Foglight solution is still very OEM+: I like it a lot and basically returns full functionality to M3 cluster guys. It's very simple, yet elegant: an ideal solution



EDIT
In regards to the DCT shift lights: do you think there is a way to code them to keep them inactive while stock/Comfort mode but have them active when M Drive is active? So no shift lights during everyday commutes but when Sport mode is active, they activate? Or is the only way to activate them is to have them active at all times?
 
Last edited:

Hotter

Specialist
Jan 23, 2021
93
7
0
Hi all,

I've made (and am currently using) another CAN injection module for my N54 335i.
Unlike my previous modules, this one has access to both PTCAN and KCAN.
While the code is quite specific for my particular car, some of the CAN message logic may be useful. The DCT shiftlights might be interesting to some as this can easily be added to 6MT cars (as I have done).

I use it to:
  • Control Mdrive throttle map (IKM0S)
  • Control DTC with M button (Stock DSC90)
  • Control EDC with M button
  • Display Shiftlights - including a startup animation
  • Control M3 Centre console buttons and associated LEDs (POWER, DSC OFF)
  • Display Front fog lights on with a separate LED in the light switch cluster
  • Enable FXX KCAN1 CIC controllers
  • Turn on heated seats below a set temperature
I'm currently working on adding the logic to control the exhaust flap solenoid too.
As always, code, photos, videos, board etc. on Github https://github.com/superwofy/E9X-M-CAN-Integration-Module
Did you install this in PDC module?
What CAN BUS transceiver are you using for D-CAN? Is TJA1050 or TJA1051 capable to read D-CAN? (As I know MCP2551 is not capable to read CAN BUS low speed)
 
Last edited: