Mk60 ABS Installation Guide
#281
it went to firm pedal with no stoppy stoppy.
Worth noting, it has performed flawlessly for a few races and some street driving. This instance was pretty severe braking at the end of a straight away and my tires were pretty heat cycled out.
#284
There is also this private FB group that is pretty quiet but seems to have people that respond to new posts, including Doug.
BMW MK60 Motorsports ABS
https://www.facebook.com/groups/1056638784424876
#285
He is the guy behind https://www.facebook.com/RacingHarnessABS and has a lot of experience with these units.
There is also this private FB group that is pretty quiet but seems to have people that respond to new posts, including Doug.
BMW MK60 Motorsports ABS
https://www.facebook.com/groups/1056638784424876
There is also this private FB group that is pretty quiet but seems to have people that respond to new posts, including Doug.
BMW MK60 Motorsports ABS
https://www.facebook.com/groups/1056638784424876
#287
I am going to add a couple more high speed inputs and get the other two wheel speed sensors working before the next race.
#289
So it turns out setting the CSL parameters is pretty easy. It took me a couple of days to figure it out since the steps aren't anywhere online for those of us running the MK60 in standalone and figuring out how to get NCS Expert to connect to the MK60 without being able to pull data from the other modules was a bit of a journey.
Alright, so since I've now walked two people through doing this today I'm going to update the directions
1. Read the VIN from the unit in INPA by connecting to it and clicking the Ident button. The VIN will be at the bottom, if you are curious to see the car your unit came out of then change the leading WBA to WBS and Google it. I have no idea why the vin stored is different than the chassis vin.
2. Open NCS Expert, File -> Load Profile -> Revtor's -> VIN/ZCS/FA -> Enter ZCS -> Choose E46 -> Paste VIN, click Calculate checksum checkbox, OK, press Cancel. Look at last letter in the FG line, this is the checksum for your VIN, you will need it for the next step.
3. Create a file called m3.ssd with the following in it:
M E46_CODIERSCHL ALL
A 001 WBABR93433PK02711N E46_#0303*BR93 \
$210$249$354$388$399$431$441$459$464$473$481$494$5 02$520$521 \
$522$534$550$640$645$650$661$674$692$710$785$845$8 53$876$925$992
7. Replace the VIN on line 2 with your VIN with checksum. Example: MK60 vin - WBABR93433PK02711, VIN from NCSExpert FG Line WBABR93433PK02711N
8. Replace 0303 on line 2 with your YYMM of production, if you can find it, otherwise leave it alone.
9. Replace the BR93 on line 2 with your chassis type. If you look at your VIN it is the 4 letters/numbers after the WBA. A BR93 is a convertible, a BL93 is a coupe.
11. Go back to NCS Expert, click Open file, open the m3.ssd file, click ZCS/FA.f file, click OK, click Back
12. Plug your computer into ABS
13. Click Process ECU, click the MK60 line, click OK, click Read ECU
14. Open NCS Dummy
15. Open the NETTODAT.TRC file you read from the ECU, it should be C:\NCSEXPER\WORK\NETTODAT.TRC
16. Set the following options in NCSExpert
BAUART_MK60 - CSL
(I don't know if these matter, they might be DSC only settings but I set them anyway)
UEBERSTUERNM_MUE_1_2 - wert_11
UNTERSTEUERN_MUE_1_2 - wert_03
UNTERSTEURSCHWELLE_2 - wert_04
17. Click Export FSW/PSW then click Export FSW_PSW.MAN
18. Go back to NCS Expert, click Change job, click SG_CODIEREN, click OK
19. Click execute Job
Done, I recalibrated all of the sensors just to be sure. It seems like there are some other settings in here that could allow tweaking for specific chassis differences but I have no idea what is going on so I left everything else alone. DRUCKMODELL_HINTERACHSE is changed to determine M3 vs M3 CSL rear calipers (larger pistons), I left it alone.
I verified that all of the things I set were changed by reading back the MK60, but I haven't been out with it yet so YMMV and all, I'll report back once I test it next weekend.
Alright, so since I've now walked two people through doing this today I'm going to update the directions
1. Read the VIN from the unit in INPA by connecting to it and clicking the Ident button. The VIN will be at the bottom, if you are curious to see the car your unit came out of then change the leading WBA to WBS and Google it. I have no idea why the vin stored is different than the chassis vin.
2. Open NCS Expert, File -> Load Profile -> Revtor's -> VIN/ZCS/FA -> Enter ZCS -> Choose E46 -> Paste VIN, click Calculate checksum checkbox, OK, press Cancel. Look at last letter in the FG line, this is the checksum for your VIN, you will need it for the next step.
3. Create a file called m3.ssd with the following in it:
M E46_CODIERSCHL ALL
A 001 WBABR93433PK02711N E46_#0303*BR93 \
$210$249$354$388$399$431$441$459$464$473$481$494$5 02$520$521 \
$522$534$550$640$645$650$661$674$692$710$785$845$8 53$876$925$992
7. Replace the VIN on line 2 with your VIN with checksum. Example: MK60 vin - WBABR93433PK02711, VIN from NCSExpert FG Line WBABR93433PK02711N
8. Replace 0303 on line 2 with your YYMM of production, if you can find it, otherwise leave it alone.
9. Replace the BR93 on line 2 with your chassis type. If you look at your VIN it is the 4 letters/numbers after the WBA. A BR93 is a convertible, a BL93 is a coupe.
11. Go back to NCS Expert, click Open file, open the m3.ssd file, click ZCS/FA.f file, click OK, click Back
12. Plug your computer into ABS
13. Click Process ECU, click the MK60 line, click OK, click Read ECU
14. Open NCS Dummy
15. Open the NETTODAT.TRC file you read from the ECU, it should be C:\NCSEXPER\WORK\NETTODAT.TRC
16. Set the following options in NCSExpert
BAUART_MK60 - CSL
(I don't know if these matter, they might be DSC only settings but I set them anyway)
UEBERSTUERNM_MUE_1_2 - wert_11
UNTERSTEUERN_MUE_1_2 - wert_03
UNTERSTEURSCHWELLE_2 - wert_04
17. Click Export FSW/PSW then click Export FSW_PSW.MAN
18. Go back to NCS Expert, click Change job, click SG_CODIEREN, click OK
19. Click execute Job
Done, I recalibrated all of the sensors just to be sure. It seems like there are some other settings in here that could allow tweaking for specific chassis differences but I have no idea what is going on so I left everything else alone. DRUCKMODELL_HINTERACHSE is changed to determine M3 vs M3 CSL rear calipers (larger pistons), I left it alone.
I verified that all of the things I set were changed by reading back the MK60, but I haven't been out with it yet so YMMV and all, I'll report back once I test it next weekend.
Last edited by yuba; 10-13-2022 at 05:25 PM.
#290
Thank you for the detailed notes, this is great work. I don't have all the software in front of me right now, but I may look into this more at a later date.
When you say setting the CSL parameters, do you mean "upgrading" a standard M3 ABS unit to the CSL programming? I just want to clarify that you didn't find a way to put in your own values, which would be monumental.
When you say setting the CSL parameters, do you mean "upgrading" a standard M3 ABS unit to the CSL programming? I just want to clarify that you didn't find a way to put in your own values, which would be monumental.
#291
Thank you for the detailed notes, this is great work. I don't have all the software in front of me right now, but I may look into this more at a later date.
When you say setting the CSL parameters, do you mean "upgrading" a standard M3 ABS unit to the CSL programming? I just want to clarify that you didn't find a way to put in your own values, which would be monumental.
When you say setting the CSL parameters, do you mean "upgrading" a standard M3 ABS unit to the CSL programming? I just want to clarify that you didn't find a way to put in your own values, which would be monumental.
There are some parameters that can be changed like hydraulic volumetric flow rate, dynamic brake control min release pressure, etc but I suspect that they are not related to strictly ABS and it is not what what we're looking for, so no, nothing important and the actual answer for doing what you're asking is still:
This place is $1100
Race ABS MK60 Flashing and ECU Standalone - Race and Trackday Parts
This guy in the UK also does it, but he wants $1700.
https://www.facebook.com/bmwm3motorsport/
I'm currently looking for another 813.3 unit to send to the former place just so I can try it out for fun. If anyone knows of a place in the US please let us know, I'd hoped that some eastern european based forum would have a dump but I haven't found anything yet.
#292
Keisler front spindles
Attempting mk60 on keisler knuckle setup
I removed caps. And torched the winding out of the cap. This seamed like the best way to remove it all without ruining the cap. I’ll likely weld the hole shut and add a sensor where I need it and weld a nut to the cap to secure the sensor
I removed caps. And torched the winding out of the cap. This seamed like the best way to remove it all without ruining the cap. I’ll likely weld the hole shut and add a sensor where I need it and weld a nut to the cap to secure the sensor
#293
Hey guys been quietly following along and finally gathering up the necessary parts to jump into the deep end with you all. I really want to be able to gather up the wheel speeds via can bus to better integrate with my megasquirt, I use traction control but with only 2 wheel speeds and it has some shortcomings. Getting all 4 wheel speeds into the unit is a bit finicky in that the MS3x I use doesn't have 4 high speed digital inputs and ideally I'd like to leave the flex input open for flex fuel in the future.
As it's been mentioned here and elsewhere the MK60 without the motorsports calibration will not stream can bus data without a hand shake. There is this option, although it's expensive enough it has me contemplating a microsquirt as an I/O expander instead. CAN Emulator for MK60
I posted up the question on a Racecapture discord channel since the racecapture units can do Lua scripting via canbus and I thought getting the 4 wheel speeds and possibly brake pressure would interest that crowd. Sure enough a very smart individual spoke up and it looks like it's going to possible to do with their unit which I already have but also the script is being discussed and could be used in other units possibly even a megasquirt. I'll be honest a lot of this is over my head but I wanted to get the info captured and posted here in case anyone could use it. I apologize for the funky copy and paste but wanted to get this documented here for everyone's use.
November 13, 2021
November 14, 2021
As it's been mentioned here and elsewhere the MK60 without the motorsports calibration will not stream can bus data without a hand shake. There is this option, although it's expensive enough it has me contemplating a microsquirt as an I/O expander instead. CAN Emulator for MK60
I posted up the question on a Racecapture discord channel since the racecapture units can do Lua scripting via canbus and I thought getting the 4 wheel speeds and possibly brake pressure would interest that crowd. Sure enough a very smart individual spoke up and it looks like it's going to possible to do with their unit which I already have but also the script is being discussed and could be used in other units possibly even a megasquirt. I'll be honest a lot of this is over my head but I wanted to get the info captured and posted here in case anyone could use it. I apologize for the funky copy and paste but wanted to get this documented here for everyone's use.
November 13, 2021
November 14, 2021
Bronson M — 11/12/2021
Hey guys sorry if this has been covered, buy has anyone been able to sniff out the BMW MK60 can protocol? There is 4 wheel speeds as well as front and rear brake pressures available but the issue is the ABS unit won't broadcast can unless it hand shakes with a few other can modules on startup. There is a company that makes a module that does this handshake but they want $450 for this simple task- @Bronson M
Hey guys sorry if this has been covered, buy has anyone been able to sniff out the BMW MK60 can protocol? There is 4 wheel speeds as well as front and rear brake pressures available but the issue is the ABS unit won't broadcast can unless it hand shakes with a few other can modules on startup. There is a company that makes a module that does this handshake but they want $450 for this simple task
brentpicasso — 11/12/2021
Not sure, you could ask on Facebook and also look here to see if the car is covered: https://github.com/commaai/opendbc
GitHub
GitHub - commaai/opendbc: democratize access to car decoder rings
democratize access to car decoder rings. Contribute to commaai/opendbc development by creating an account on GitHub.
1 - @Bronson M
Hey guys sorry if this has been covered, buy has anyone been able to sniff out the BMW MK60 can protocol? There is 4 wheel speeds as well as front and rear brake pressures available but the issue is the ABS unit won't broadcast can unless it hand shakes with a few other can modules on startup. There is a company that makes a module that does this handshake but they want $450 for this simple task
Xzelicon — 11/13/2021
I have
1 - [5:18 PM]
So, went in this road deeper. The ABS wants more then just a handshake from the cluster to be happy. I verified this with connecting the corresponding cluster in the same network. The abs will only start streaming after the handshake on bus 0x610, for this you will first need to read out the vin it is looking for with tool32 and stream that on the bus. Next up it wants some basic info from the steering sensor and DME. The highlighted busses are what it wants to see to be happy and start streaming, all the data on the busses except 610h can be copied, it's generic. In 610h you will need to input your vin. As far as I know you can order an emulator without giving the vin, so for sure it would just reset on the K line after power up to have the stream active - [5:18 PM]
- [5:19 PM]
0x610 contains the last 7 digits of the vin number in the ECU. -B0 as is but drop the last zero and it is the last number in the vin -B1 as is (in hex) the 3rd and 2nd number from the end in the vin -B2 as is (in hex) the 5th and 4th number from the end in the vin -B3 in ASCII the 6th from the end in the vin -B4 in ASCII the 7th from the end in the vin -B5 0 -B6 0 -B7 0 As in the screenshot B4 = 50 = P B3 = 50 = P B2 = 87 = 87 B1 = 58 = 58 B0 = 80 Drop zero = 8 Vin = PP87588 - [5:20 PM]
ARBID: 0x1F0 (ABS) Individual wheel speeds: Signal wheel 1: startbit 0, bit length 12, Intel LSB, unsigned, gain 1/16 (0.0625) (byte0 + next 4 bits of Byte1) Signal wheel 2: startbit 16, bit length 12, Intel LSB, unsigned, gain 1/16 (0.0625) (byte2 + next 4 bits of byte3) Signal wheel 3: startbit 32, bit length 12, Intel LSB, unsigned, gain 1/16 (0.0625) Signal wheel 4: startbit 48, bit length 12, Intel LSB, unsigned, gain 1/16 (0.0625) The above translated to .xls syntax. (corrected) Wheel speed 1: (HEX2DEC(B0)+HEX2DEC(RIGHT(B1;1))256)/16 = Kph Wheel speed 2: (HEX2DEC(B2)+HEX2DEC(RIGHT(B3;1))256)/16 = Kph Wheel speed 3: (HEX2DEC(B4)+HEX2DEC(RIGHT(B5;1))256)/16 = Kph Wheel speed 4: (HEX2DEC(B6)+HEX2DEC(RIGHT(B7;1))256)/16 = Kph (multiply by .621 to get MPH) - [5:21 PM]
Brake pressure is not always streamed on the canbus, depending on the software version of the pump. If the pressure is available it is in this message 0x1F8 -B2, Brake Pressure - @Xzelicon
I have
brentpicasso — 11/13/2021
Interesting. do you think there's a way to use the ABS module independent of the ECU? Which car is this? - @brentpicasso
Interesting. do you think there's a way to use the ABS module independent of the ECU? Which car is this?
Bronson M — 11/13/2021
This is out of a e36 bmw M3, the mk60 has become a very popular standalone ABS system ran by time attack and wheel to wheel racers alike - @Xzelicon
Brake pressure is not always streamed on the canbus, depending on the software version of the pump. If the pressure is available it is in this message 0x1F8 -B2, Brake Pressure
Bronson M — 11/13/2021
Holy chit......you've done your homework, it's going to take some time for my simple brain to dig through all of this great info and translate it into what I need. Brent, it would be a massive selling point to have this can bus interface native to your systems (edited) - @Bronson M
Holy chit......you've done your homework, it's going to take some time for my simple brain to dig through all of this great info and translate it into what I need. Brent, it would be a massive selling point to have this can bus interface native to your systems (edited)
brentpicasso — 11/13/2021
which can bus system? - @brentpicasso
Interesting. do you think there's a way to use the ABS module independent of the ECU? Which car is this?
Xzelicon — 11/13/2021
It is complete standalone also without canbus, it just needs the info to start sending wheel speeds - [6:17 PM]
It's the E46 M3 ECU actually - @Xzelicon
So, went in this road deeper. The ABS wants more then just a handshake from the cluster to be happy. I verified this with connecting the corresponding cluster in the same network. The abs will only start streaming after the handshake on bus 0x610, for this you will first need to read out the vin it is looking for with tool32 and stream that on the bus. Next up it wants some basic info from the steering sensor and DME. The highlighted busses are what it wants to see to be happy and start streaming, all the data on the busses except 610h can be copied, it's generic. In 610h you will need to input your vin. As far as I know you can order an emulator without giving the vin, so for sure it would just reset on the K line after power up to have the stream active
brentpicasso — 11/13/2021
Think we can emulate the handshake in a Lua script? - @brentpicasso
Think we can emulate the handshake in a Lua script?
Xzelicon — 11/13/2021
For sure, I was busy with it. But the lua script did not exactly what I wanted so I just sent the messages with my ECU. But I can help you to translate it to lua. Most of the info it needs is just generic, only thing the user needs to change is the vin of the mk60 - [6:19 PM]
I'm willing to spend some spare minutes into it together
1 - @Xzelicon
For sure, I was busy with it. But the lua script did not exactly what I wanted so I just sent the messages with my ECU. But I can help you to translate it to lua. Most of the info it needs is just generic, only thing the user needs to change is the vin of the mk60
Bronson M — 11/13/2021
Man.....you're gonna make a lot of people happy with this functionality brentpicasso — 11/13/2021
The MK60 ABS module is a stand alone electronic control unit from the E46? (it's not part of the main ecu, correct?)
#294
Xzelicon — 11/13/2021
Correct- [6:21 PM]
The abs unit has its own ECU Integrated, it's the most used abs in racecars, in standard form, CSL mapping and some units can be converted to a true Motorsport abs. That's the next step I'm diving in. When flashed to motorsport you don't need a handshake anymore, it will always send data but there are only two versions that can be converted and naturally they are getting rare brentpicasso — 11/13/2021
If the necessary sequence of CAN messages can be documented, we may be able to make a simple Lua script to emulate it. Probably use a default VINXzelicon — 11/13/2021
- [6:22 PM]
It's a great unit - @brentpicasso
If the necessary sequence of CAN messages can be documented, we may be able to make a simple Lua script to emulate it. Probably use a default VIN
Xzelicon — 11/13/2021
The messages are already in my first post with the picture of some highlighted messages brentpicasso — 11/13/2021
Those should be turned into txCAN() lua statementsXzelicon — 11/13/2021
Vin cannot be default, end user will need to read out the vin that the mk60 is configured to using the k line with tool32 software. I could make a guide for thisbrentpicasso — 11/13/2021
Couldn't any MK60 module use the same VIN number?- @brentpicasso
Those should be turned into txCAN() lua statements
Xzelicon — 11/13/2021
I was busy with it and have my script on my laptop but when I made the script and entered the message something like (50,50,35 etc) it showed on the network with different bytes brentpicasso — 11/13/2021
The numbers in the txCAN() are decimal, not hex.- [6:25 PM]
your CAN logger might be showing it as hex - @brentpicasso
Couldn't any MK60 module use the same VIN number?
Xzelicon — 11/13/2021
No, they are configured to the vin of the car, when changing the abs in stock form also you wil l need to change the config to the vin of the car. The software to do this cannot communicate with the mk60 in standalone form so it's not really easy to change the vin in the config - @brentpicasso
The numbers in the txCAN() are decimal, not hex.
Xzelicon — 11/13/2021
Didn't know this, makes sense. Didn't spend a lot of time to the script tbh but it can be fixed for sure. As I said, we can help each other and alot of people out with this :-) brentpicasso — 11/13/2021
I'm sure the community would really appreciate it.Xzelicon — 11/13/2021
It's not super difficult to read out the original vin and convert this to the right numbers in the lua script. This would be the only thing the end user needs to do. All the rest is generic (simulates the presence of the steering angle sensor and original ECU)brentpicasso — 11/13/2021
Do they need to know the VIN of the car the MK60 module was originally pulled from?Xzelicon — 11/13/2021
Nobrentpicasso — 11/13/2021
So why can't everyone just use one example VIN?Xzelicon — 11/13/2021
I can make a complete DIY guide for this. The vin has to be read out on the k line of the mk60brentpicasso — 11/13/2021
so the MK60 module actually stores the VIN? and you have to read it out from the MK60? Then transmit the VIN back to it? The steps aren't clear, hence the questionsXzelicon — 11/13/2021
- [6:33 PM]
Yep the vin is stored inside the mk60 - [6:33 PM]
And you need to transmit the last 7 digits back to the mk60 for the handshake turbocharged — 11/13/2021
There is a lot of controversy in the Spec E46 community regarding whether or not the factory yaw sensor is required for optimal MK60 ABS functionality. In your research have you seen anything that indicates this one way or another?- Xzelicon
Click to see attachment
Xzelicon — 11/13/2021
This is the readout out of the mk60 - @turbocharged
There is a lot of controversy in the Spec E46 community regarding whether or not the factory yaw sensor is required for optimal MK60 ABS functionality. In your research have you seen anything that indicates this one way or another?
Xzelicon — 11/13/2021
The yaw sensor is needed to prevent ice mode. It needs to be mounted connector forward and mounting holes pointing to the roof
1 - [6:35 PM]
As close as possible to the center of the wheelbase, but does not need to be in the center of the car, can be on left or right side. Originally it's on the left side just in front of the seat brentpicasso — 11/13/2021
So here's what I think could be done. Some enterprising person could get a collection of MK60 modules, then document each one's VIN by reading it out of the unit. Then the unit could be re-sold with the VIN, ready to be integrated. Then the same Lua script, modified with the VIN's last 7 digits, could be used. (edited)- @brentpicasso
So here's what I think could be done. Some enterprising person could get a collection of MK60 modules, then document each one's VIN by reading it out of the unit. Then the unit could be re-sold with the VIN, ready to be integrated. Then the same Lua script, modified with the VIN's last 7 digits, could be used. (edited)
Xzelicon — 11/13/2021
Would be possible, but the software to read out the vin is widely spread on the internet, the cable is cheap. I can make a DIY guide to read it out, it's literally a 5 min job - [6:39 PM]
It's literally costing more time to convert the last 7 digits to hex then to read it out - [6:39 PM]
You should buy the diagnostic cable anyway to check the system for errors if they are occurring brentpicasso — 11/13/2021
So in a nutshell: RCP sends CAN msg id 0x610 with last 7 of VIN Then MK60 periodically needs to receive 4 wheel speed sensors on 0x1F0 That's it?Xzelicon — 11/13/2021
No Mk60 sends a RTR. Message looking for a handshake on 0x610 RCP sends out last 7 digits of the vin that is already stored in the mk60 on 0x610 Handshake complete Then the mk60 needs to see the generic steering angle and ECU data on channels 0x316,0x329, 0x613 and 0x615 After this is complete the abs is happy and will stream out the wheelspeeds (and some units the brake pressure) to the canbus network on channels 0x1F0 and 0x1F8 The abs works complete standalone also without all the canbus messages. You just need the canbus messages if you want the wheelspeeds output so you can use them for data logging or traction controlbrentpicasso — 11/13/2021
the MK60 needs to see steering angle and Engine ECU data periodically, or just one time?Xzelicon — 11/13/2021
I think just one time. I have them periodically on 10hz now but I can test it with just a one time message. Timing is key when using 1 message because the rcp boots quicker then the mk60brentpicasso — 11/13/2021
But you will have RCP wait for the RTR message, so it doesn't matter how fast it boots?Xzelicon — 11/13/2021
Yes if the lua script could be made smart enough to wait for the RTR and reply to that I'm sure a one time message for all signals would be sufficient. If you power up the mk60 and just reset it with the diagnostic software it will start streaming also and doesn't stop until the power is cycled- [7:01 PM]
So for sure if the lua can wait for the RTR and reply to that with the different messages it would be sufficient and you will keep the load low
#295
brentpicasso — 11/13/2021
that's pretty easy; in the onTick() you would do an rxCAN() and when the ID matches, then branch to do the rest of the things- [7:01 PM]
what ID is the RTR? Xzelicon — 11/13/2021
Also 0x610brentpicasso — 11/13/2021
and the message contents don't matter?Xzelicon — 11/13/2021
The reply needs to be the correct vin on 0x610- [7:02 PM]
And some basic info on the other channels as described - [7:02 PM]
Basic info is the same for all units brentpicasso — 11/13/2021
I mean the message from the MK60 - the payload doesn't matter?- [7:06 PM]
The next thing to check is if just bogus data (e.g. 0's ) can be sent just one time on 0x316,0x329, 0x613 and 0x615 Xzelicon — 11/13/2021
No I don't think so, my canbus software identifies it as an RTR message so I can't see the content. Its a few days ago I was busy with this so I need to fact check but I think the RTR message was sent 5 times on 1hz and after that 0x610 goes inactive if not received the handshake- @brentpicasso
The next thing to check is if just bogus data (e.g. 0's ) can be sent just one time on 0x316,0x329, 0x613 and 0x615
Xzelicon — 11/13/2021
I can check that out, but I'm almost sure it can be sent just one time brentpicasso — 11/13/2021
Confirming that would make for an exceedingly simple Lua script to activate the module- [7:07 PM]
Are there commercial products that do this same thing? - @brentpicasso
Are there commercial products that do this same thing?
Xzelicon — 11/13/2021
Nope brentpicasso — 11/13/2021
Ah. in any case, RC would provide it for freeXzelicon — 11/13/2021
There are emulators but they require the steering angle sensor so for sure they just figured out how to transmit a reset message- [7:08 PM]
Since the unit also starts streaming after a fault reset, without needing any more data - [7:09 PM]
But you would need to do that every ignition cycle - @brentpicasso
Confirming that would make for an exceedingly simple Lua script to activate the module
Xzelicon — 11/13/2021
I will confirm this later next week - [7:15 PM]
Off to bed now, 1AM here. If you have any questions just shoot and I will.reply later - @Xzelicon
I will confirm this later next week
brentpicasso — 11/13/2021
Here's a script I wrote blindly (no RC nearby) that might do the init:Code:function txCANBlank(bus, id) txCAN(bus, id, 0, {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}) sleep(5) end function checkMK60Init() local canId, ext, data = rxCAN(0) -- exit early if not an RTR message if canId ~= 0x610 then return end -- replace with the last 7 digits of the VIN (where does it show up in the 8 byte CAN frame?) txCAN(0, 0x610, 0, {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}) -- might need to wait some time for the MK60 to receive the init msg sleep(10) -- one time send of dummy ECU data txCANBlank(0, 0x316) txCANBlank(0, 0x329) txCANBlank(0, 0x613) txCANBlank(0, 0x615) end function onTick() checkMK60Init() end
- @brentpicasso
Here's a script I wrote blindly (no RC nearby) that might do the init:Code:function txCANBlank(bus, id) txCAN(bus, id, 0, {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}) sleep(5) end function checkMK60Init() local canId, ext, data = rxCAN(0) -- exit early if not an RTR message if canId ~= 0x610 then return end -- replace with the last 7 digits of the VIN (where does it show up in the 8 byte CAN frame?) txCAN(0, 0x610, 0, {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}) -- might need to wait some time for the MK60 to receive the init msg sleep(10) -- one time send of dummy ECU data txCANBlank(0, 0x316) txCANBlank(0, 0x329) txCANBlank(0, 0x613) txCANBlank(0, 0x615) end function onTick() checkMK60Init() end
Xzelicon — Yesterday at 3:46 AM
No it needs some specific bytes in the dummy channels. Blank messages / giving them all the same data won't be sufficient - Xzelicon
0x610 contains the last 7 digits of the vin number in the ECU. -B0 as is but drop the last zero and it is the last number in the vin -B1 as is (in hex) the 3rd and 2nd number from the end in the vin -B2 as is (in hex) the 5th and 4th number from the end in the vin -B3 in ASCII the 6th from the end in the vin -B4 in ASCII the 7th from the end in the vin -B5 0 -B6 0 -B7 0 As in the screenshot B4 = 50 = P B3 = 50 = P B2 = 87 = 87 B1 = 58 = 58 B0 = 80 Drop zero = 8 Vin = PP87588
Xzelicon — Yesterday at 3:46 AM
Vin data is here - @Xzelicon
Vin data is here
brentpicasso — Yesterday at 3:12 PM
Feel free to use the script as a starting point
#296
i'm in the same boat as you. i'm out of high speed inputs and traction control sucks with only 2 channels in MS3. i bought a cheap industrial plc that does canbus to see if i could get it working with MS3 so i could use those inputs instead, but haven't gotten far with it. This seems like a much better option (if i can somehow get smart enough to follow along). thank you for posting this, keep us updated on how it works and i'll do the same if i get anywhere with it.
#297
just an update on my ice mode. I found i had a very bad rear wheel bearing that allowed the tone ring to move away from the wheel speed sensor, and probably far enough to cause a loss of signal. I'm hoping this is all it was, but i'm unsure if one wheel "locking up" would cause it to go into ice mode.
#300
I can't keep track, do either of you have the yaw sensor working? And do you have an active error for the pressure imbalance? I'm trying to narrow down on what helps avoid the situation and deicide if I'm going to maintain the Miata brake balance or recreate the BMW brake balance to avoid the error code that doesn't seem to affect anything.