M-Drive and MDM in non M cars

RSL

Lieutenant
Aug 11, 2017
937
501
0
@aus335iguy sport button should do everything without fail, just limits to 2 states/modes.

@Olza definitely grandma or race car when I had the button and P5 set for sport. Everyone is different, but I think P2 or 3 for sport off and 5-6 for sport on would've been fine with me. Sport off was just way too dull for normal daily and sport on was too much.

I was surprised to see it active too. No indicators for it, but if there's even a small difference between high/low request tables, it's obvious just driving. The logs just confirmed what I was feeling. I did a quick CAN log in the garage this afternoon to see if I can spot anything.
 
Last edited:

RSL

Lieutenant
Aug 11, 2017
937
501
0
Manual mode from shifter or paddle activates RNG_L on M3 GWS/bin. Still not sure exactly what triggers it, but so far, 0x1A2 B6 and either low 4 or b2-3 specifically, seem a possible source (0hC1 = D, 0hC5 = M). Other option may be the actual ETCU program itself, but I still haven't quite got the gist of how M3 bin translates it.

Green is RNG_L (0/1), red is gear (0/1/2), purple is ETCU_prog (8 = D, 2 = M). Just start->shifter right for D 1st from P->shifter right again for M 1st (low on)->shifter right for back to D1 (low off), paddle up for M 2nd (low on)->back to D 1st-N->car off.

gws_rng_l.png
 

RSL

Lieutenant
Aug 11, 2017
937
501
0
One more small note on the D versus M toggling RNG_L with the M3 shifter: with SZL disabled in the DME, it toggles RNG_L and B_sport. With the SZL enabled in the DME (but M Drive not on), it only toggles RNG_L, not B_sport.

I got spirited on in all D levels and noticed no changes. If it's related to accel position or gradient, MSD81 requests may make it too low to activate anything related unless you're really flogging it.
 

amg6975

Sergeant
Oct 27, 2019
278
187
0
Ride
2012 135, 2005 ZHP, 2009 fJCW
The N55 M2 didnt have drivelogic and only had driving “modes” similar to the z4is



View attachment 48786

The new BMW M2 can be ordered as an option with the latest generation of the seven-speed M Double Clutch Transmissions (M DCT with Drivelogic). This system, which effectively combines two gearboxes, each with its own clutch, is specially designed to work with the customary engine dynamics of M cars and the engine’s high torque and output. Depending on the driving mode activated, it enables either extremely fast gear changes with no interruption in the flow of power or ultra-smooth shifts. The extra gear of the M DCT transmission over the six-speed manual gearbox allows very small increases in rpm between gear changes when accelerating and reduces fuel consumption thanks to its longer gear ratios.
Moving between the transmission’s manual modes alters the shift dynamics, but it is the driver who determines the timing of a gear change. The system detects which gear the driver will choose next on the basis of the engine’s revs, the accelerator position, the level of acceleration and the driving mode, and engages it before the driver has actually moved the shift paddle. As a result, the clutches now only need to open or close for the gear-change process to be completed. The change of gear is therefore executed in fractions of a second and enhances the dynamic driving experience in a very palpable way.
This will use 0x315 like the Z4. This is not useful for this conversation.
 
  • Like
Reactions: aus335iguy

Hotter

Specialist
Jan 23, 2021
93
7
0
Hi, regardint multifunctional steering wheel buttons:



Does anyone know if hardware of these buttons are the same? Only the software changes? Does it send different CAN BUS messages or same?

I had idea to change the buttons and if it has different hardware resistors and send different CAN BUS message read it with Arduino and enable button customization even without iDrive.
 

amg6975

Sergeant
Oct 27, 2019
278
187
0
Ride
2012 135, 2005 ZHP, 2009 fJCW
Does anyone know if hardware of these buttons are the same? Only the software changes? Does it send different CAN BUS messages or same?

I had idea to change the buttons and if it has different hardware resistors and send different CAN BUS message read it with Arduino and enable button customization even without iDrive.

I think the only difference is in the SZL. The "sport" SZL sends a different packet for the M button. I would be surprised if the button is any different but it may be. Each button has a set resistance to it and the SZL creates a constant current loop, and reads the voltage coming back, indicating which button is pressed.
 

NoQuarter

Major
Nov 24, 2017
1,662
1,066
0
Indiana, USA
Ride
Z4 35is, 535xi, X5 35i
Hi, regardint multifunctional steering wheel buttons:



Does anyone know if hardware of these buttons are the same? Only the software changes? Does it send different CAN BUS messages or same?

I had idea to change the buttons and if it has different hardware resistors and send different CAN BUS message read it with Arduino and enable button customization even without iDrive.
I can verify that this works. I used one of the buttons to initiate a sport mode macro where a series of settings were changed when pressed.
 

Hotter

Specialist
Jan 23, 2021
93
7
0
I can verify that this works. I used one of the buttons to initiate a sport mode macro where a series of settings were changed when pressed.
What do you mean? So hardware is different? If I will change buttons I will get different CAN BUS messages and will be able to assign custom actions without default action being triggered?

I have found what CAN BUS ids are of first 2 button types. Buttons with Romboid/Star:

Code:
1D6 2 C800 - Volume up button
1D6 2 C400 - Volume down button
1D6 2 E000 - Next track button
1D6 2 D000 - Previous track button
1D6 2 C100 - Phone button
1D6 2 C001 - Voice button
1D6 2 C040 - Romboid button
1D6 2 C010 - Star button

Buttons with Disk/Rotate:

Code:
1D6 2 C80C - Volume up button
1D6 2 C40C - Volume down button
1D6 2 E00C - Next track button
1D6 2 D00C - Previous track button
1D6 2 C10C - Phone button
1D6 2 C00D - Voice button
1D6 2 C04C - Disk button
1D6 2 C01C - Rotate button

It seems that it only differs in C00C -> C000 constant 2 bit setting. But its due to buttons or SZL difference?

Basically I would like that RAD2 wont handle them... And I would handle them with Arduino... Disk/Rotate buttons are useless...

Although I found in RAD2 - RAD22_MDRIVE aktiv/nicht_aktiv - so it seems that software says if it has M button... So we can assume that button hardware is the same?
 
Last edited:

RSL

Lieutenant
Aug 11, 2017
937
501
0
Media button/M button are different CAN ID/messages to different locations depending how everything is flashed/coded/SZL used.

You can polll for any button push if you know the ID and can use it to trigger sending your own message to do something somewhere else, as long as the intended module receives it and knows what to do with it when it does.
 
  • Like
Reactions: AzNdevil

NoQuarter

Major
Nov 24, 2017
1,662
1,066
0
Indiana, USA
Ride
Z4 35is, 535xi, X5 35i
The star button is programmable via idrive so likely an ID that will do nothing with no default action. Use that one to do whatever you want
 

Hotter

Specialist
Jan 23, 2021
93
7
0
The star button is programmable via idrive so likely an ID that will do nothing with no default action. Use that one to do whatever you want

I don't have iDrive so I was wondering if I would be able to add programmable buttons and read them with Arduino. But if its same CAN ID it will trigger default event... I cant prevent default events...
 

RSL

Lieutenant
Aug 11, 2017
937
501
0
I don't have iDrive so I was wondering if I would be able to add programmable buttons and read them with Arduino. But if its same CAN ID it will trigger default event... I cant prevent default events...
Depends which button. Media button can be made not to work. Just flashing CIC as 1M/M3 will do it IIRC (or RAD M Drive probably), so there should be an individual param to disable in the module coding that performs the default op, at least for that button.

If might help if you just say what you're trying to do and with which buttons.
 

ShocknAwe

Captain
Jan 24, 2018
1,577
1
804
0
Charleston, SC
Ride
N54/3 1er ///Mutt
Are there any benefits available for 6MT cars? Quick reading looks like this is mostly auto stuff and I'm tuning throttle through my dme
 

Hotter

Specialist
Jan 23, 2021
93
7
0
Depends which button. Media button can be made not to work. Just flashing CIC as 1M/M3 will do it IIRC (or RAD M Drive probably), so there should be an individual param to disable in the module coding that performs the default op, at least for that button.

If might help if you just say what you're trying to do and with which buttons.

Like I said I am trying to disable default "Radio" and "Air Rotate" buttons, so RAD would ignore them, and I would be able to listen for them on K-Can bus and do any action I like. So you sai RAD2 would ignore "Radio" button if I would set RAD22_MDRIVE=aktiv? Would be nice to disable also "Air Rotate"...
 

RSL

Lieutenant
Aug 11, 2017
937
501
0
Media source can definitely be disabled, but I have CIC, so not sure what module it's going to be in for CCC, but the RAD is a good bet. You night be able to disable in the stock coding if you can locate the param name or address for it. If not could try coding CCC as 1M or M3 and see if it stops responding.

The recirc is probably either IHKA or JBBF, but I've never messed with it, so can't say for sure. I'd imagine there's a way to disable receipt/action of any stock button messages if you dig enough.

Are there any benefits available for 6MT cars? Quick reading looks like this is mostly auto stuff and I'm tuning throttle through my dme
DCT. I don't know anyone that's tried IKM0S on AT. Someone probably has and it probably sucks lol

I'd say flash and test for yourself. The sum is greater than any individual part on calibrations.
 

Hotter

Specialist
Jan 23, 2021
93
7
0
Media source can definitely be disabled, but I have CIC, so not sure what module it's going to be in for CCC, but the RAD is a good bet. You night be able to disable in the stock coding if you can locate the param name or address for it. If not could try coding CCC as 1M or M3 and see if it stops responding.

I have tried to remove fuse of RAD and then pressing the "Recirculate" button - it didnt do anything. So it seems that all buttons are controlled by CCC/CIC/RAD (in my case RAD). I can try to enable M-button in RAD coding, but wondering if it wont try to execute M-button sequence.

The recirc is probably either IHKA or JBBF, but I've never messed with it, so can't say for sure. I'd imagine there's a way to disable receipt/action of any stock button messages if you dig enough.

I did not find any coding param that would change other buttons - except for M-button. The other way would be to have some kind of CAN BUS filter for RAD and filter out button messages but that is too complex...
 

RSL

Lieutenant
Aug 11, 2017
937
501
0
M button is special and is probably the easiest to on/off. Others are mostly standard to all, so probably no pre-defined coding params to stitch between VOs. There might be something in there still, but would need to be dug up and a custom param defined for it. If there isn't and it needs to be done programmatically, that would be a whole mess.

I never used it because I did swap/program/coding for the M button, but find superw0fy's sketch on here somewhere. With IKM0S, it sniffs media button press and uses it for sport and hold down longer to disable DSC. CIC/CCC coded as 1M/param disabled should stop default op for media Sounds like it at least already does part of what you're looking for.
 
  • Like
Reactions: Hotter