anyone mind sharing a working e46 or mini cooper config file?
I have no idea how to load these can channels in the app I've not really seen a howto document I have mine working except for brake pressure via lua but I would like to add some of the channels to the native mapping.
car is a 2006 R53 mini
working mini or e46 config file
Hi, So you already have it working correctly via Lua scripting, correct?
We're working on a collection of pre-sets that can be loaded into the app, but in the meantime you'd have to map them individually by interpreting the Lua scripting mapping.
I'll follow up with some examples of existing channels to get you started.
We're working on a collection of pre-sets that can be loaded into the app, but in the meantime you'd have to map them individually by interpreting the Lua scripting mapping.
I'll follow up with some examples of existing channels to get you started.
-
- Posts: 27
- Joined: Thu Apr 09, 2015 8:18 pm
I made a start on the E46 CAN mapping but it is far from complete/correct.
I have TPS, RPM, Oil, coolant and ambient temperature working as well as the brake switch and fuel level. Steering works for turning left but not turning right. Clutch switch is not working either.
The main area where I am struggling is with the BitOp functions.
Feel free to try this out and may changes if you can. Here is what I have:
***Edited now the full can mapping is below****
I have TPS, RPM, Oil, coolant and ambient temperature working as well as the brake switch and fuel level. Steering works for turning left but not turning right. Clutch switch is not working either.
The main area where I am struggling is with the BitOp functions.
Feel free to try this out and may changes if you can. Here is what I have:
***Edited now the full can mapping is below****
Last edited by Mustangkev on Sun Jul 09, 2017 7:54 pm, edited 1 time in total.
-
- Posts: 27
- Joined: Thu Apr 09, 2015 8:18 pm
I now have steering and clutch working as well as the cruise control dash light (planning to use to start and stop logging). I've added individual wheel speeds but they don't work correctly yet.
***Edited now the full can mapping is below****
***Edited now the full can mapping is below****
Last edited by Mustangkev on Sun Jul 09, 2017 7:54 pm, edited 1 time in total.
you sir are a genius, I'm going to use this to control logging tooMustangkev wrote:as well as the cruise control dash light
have you looked for the IAT data? I'm running a supercharger & meth and it would be nice to know if intake temps spike
I'm going to work on getting your sample setup with my mini next week, autocrosses all weekend
I posted e46 brake pressure in a separate thread, it's not there by default you have to ask for it on the k-line canbus
-
- Posts: 27
- Joined: Thu Apr 09, 2015 8:18 pm
-
- Posts: 27
- Joined: Thu Apr 09, 2015 8:18 pm
This should be the final iteration. Wheel speeds are now working correctly. Feel free to try this out and let me know if there are any issues.
{
"rcpCfg": {
"analogCfg": {
"0": {
"alpha": 1.0,
"map": {
"raw": [
0.92,
1.4,
1.72,
2.53,
3.41
],
"scal": [
33.0,
13.0,
0.0,
-35.0,
-72.0
]
},
"max": 255,
"min": 0,
"nm": "Height_LF",
"offset": 0.0,
"prec": 0,
"scalMod": 1,
"scaling": 1.0,
"sr": 10,
"ut": "mm"
},
"1": {
"alpha": 1.0,
"map": {
"raw": [
0.39,
0.83,
1.2,
1.8,
2.54
],
"scal": [
35.0,
16.0,
0.0,
-25.0,
-56.0
]
},
"max": 255,
"min": 0,
"nm": "Height_LR",
"offset": 0.0,
"prec": 0,
"scalMod": 0,
"scaling": 1.0,
"sr": 10,
"ut": "mm"
},
"2": {
"alpha": 1.0,
"map": {
"raw": [
0.0,
1.25,
2.5,
3.75,
5.0
],
"scal": [
0.0,
1.25,
2.5,
3.75,
5.0
]
},
"max": 5.0,
"min": 0.0,
"nm": "Analog3",
"offset": 0.0,
"prec": 2,
"scalMod": 1,
"scaling": 1.0,
"sr": 0,
"ut": "Volts"
},
"3": {
"alpha": 1.0,
"map": {
"raw": [
0.0,
1.25,
2.5,
3.75,
5.0
],
"scal": [
0.0,
1.25,
2.5,
3.75,
5.0
]
},
"max": 5.0,
"min": 0.0,
"nm": "Analog4",
"offset": 0.0,
"prec": 2,
"scalMod": 1,
"scaling": 1.0,
"sr": 0,
"ut": "Volts"
},
"4": {
"alpha": 1.0,
"map": {
"raw": [
0.0,
1.25,
2.5,
3.75,
5.0
],
"scal": [
0.0,
1.25,
2.5,
3.75,
5.0
]
},
"max": 5.0,
"min": 0.0,
"nm": "Analog5",
"offset": 0.0,
"prec": 2,
"scalMod": 1,
"scaling": 1.0,
"sr": 0,
"ut": "Volts"
},
"5": {
"alpha": 1.0,
"map": {
"raw": [
0.0,
1.25,
2.5,
3.75,
5.0
],
"scal": [
0.0,
1.25,
2.5,
3.75,
5.0
]
},
"max": 5.0,
"min": 0.0,
"nm": "Analog6",
"offset": 0.0,
"prec": 2,
"scalMod": 1,
"scaling": 1.0,
"sr": 0,
"ut": ""
},
"6": {
"alpha": 1.0,
"map": {
"raw": [
0.0,
1.25,
2.5,
3.75,
5.0
],
"scal": [
0.0,
1.25,
2.5,
3.75,
5.0
]
},
"max": 5.0,
"min": 0.0,
"nm": "Analog7",
"offset": 0.0,
"prec": 2,
"scalMod": 1,
"scaling": 1.0,
"sr": 0,
"ut": ""
},
"7": {
"alpha": 1.0,
"map": {
"raw": [
0.0,
1.25,
2.5,
3.75,
5.0
],
"scal": [
0.0,
1.25,
2.5,
3.75,
5.0
]
},
"max": 20.0,
"min": 0.0,
"nm": "Battery",
"offset": 0.0,
"prec": 2,
"scalMod": 1,
"scaling": 1.0,
"sr": 1,
"ut": "Volts"
}
},
"canCfg": {
"baud": [
500000,
500000
],
"en": 1
},
"canChanCfg": {
"chans": [
{
"add": 0.0,
"bigEndian": false,
"bm": false,
"bus": 0,
"div": 1.0,
"filtId": 0,
"id": 809,
"idMask": 0,
"len": 1,
"max": 100,
"min": 0,
"mult": 0.39216,
"nm": "TPS",
"offset": 5,
"prec": 0,
"sr": 10,
"type": 0,
"ut": "%"
},
{
"add": -48.0,
"bigEndian": false,
"bm": false,
"bus": 0,
"div": 1.0,
"filtId": 0,
"id": 809,
"idMask": 0,
"len": 1,
"max": 255,
"min": 0,
"mult": 0.69202,
"nm": "Coolant",
"offset": 1,
"prec": 0,
"sr": 10,
"type": 0,
"ut": "C"
},
{
"add": -48.0,
"bigEndian": false,
"bm": false,
"bus": 0,
"div": 1.0,
"filtId": 0,
"id": 1349,
"idMask": 0,
"len": 1,
"max": 255,
"min": 0,
"mult": 1.0,
"nm": "OilTemp",
"offset": 4,
"prec": 0,
"sr": 10,
"type": 0,
"ut": "C"
},
{
"add": 0.0,
"bigEndian": false,
"bm": false,
"bus": 0,
"div": 1.0,
"filtId": 0,
"id": 790,
"idMask": 0,
"len": 2,
"max": 10000.0,
"min": 0.0,
"mult": 0.15625,
"nm": "RPM",
"offset": 2,
"prec": 1,
"sr": 10,
"type": 0,
"ut": ""
},
{
"add": 0.0,
"bigEndian": false,
"bm": true,
"bus": 0,
"div": 1.0,
"filtId": 0,
"id": 809,
"idMask": 0,
"len": 1,
"max": 1,
"min": 0,
"mult": 1.0,
"nm": "Clutch",
"offset": 24,
"prec": 0,
"sr": 10,
"type": 0,
"ut": ""
},
{
"add": 0.0,
"bigEndian": false,
"bm": false,
"bus": 0,
"div": 1.0,
"filtId": 0,
"id": 1557,
"idMask": 0,
"len": 1,
"max": 150,
"min": 0,
"mult": 1.0,
"nm": "AirTemp",
"offset": 3,
"prec": 0,
"sr": 10,
"type": 3,
"ut": "C"
},
{
"add": 0.0,
"bigEndian": false,
"bm": true,
"bus": 0,
"div": 1.0,
"filtId": 0,
"id": 1555,
"idMask": 0,
"len": 7,
"max": 100,
"min": 0,
"mult": 1.0,
"nm": "FuelLevel",
"offset": 16,
"prec": 0,
"sr": 10,
"type": 0,
"ut": "Ltrs"
},
{
"add": 0.0,
"bigEndian": false,
"bm": false,
"bus": 0,
"div": 1.0,
"filtId": 0,
"id": 501,
"idMask": 0,
"len": 2,
"max": 100,
"min": -100,
"mult": 0.045,
"nm": "Steering",
"offset": 0,
"prec": 0,
"sr": 10,
"type": 3,
"ut": "%"
},
{
"add": 0.0,
"bigEndian": false,
"bm": true,
"bus": 0,
"div": 1.0,
"filtId": 0,
"id": 809,
"idMask": 0,
"len": 1,
"max": 1,
"min": 0,
"mult": 1.0,
"nm": "Brake",
"offset": 48,
"prec": 0,
"sr": 10,
"type": 0,
"ut": ""
},
{
"add": -0.3,
"bigEndian": false,
"bm": true,
"bus": 0,
"div": 1.0,
"filtId": 0,
"id": 496,
"idMask": 0,
"len": 12,
"max": 200.0,
"min": 0.0,
"mult": 0.03884,
"nm": "LFwheel",
"offset": 0,
"prec": 1,
"sr": 10,
"type": 0,
"ut": "MPH"
},
{
"add": -0.3,
"bigEndian": false,
"bm": true,
"bus": 0,
"div": 1.0,
"filtId": 0,
"id": 496,
"idMask": 0,
"len": 12,
"max": 200.0,
"min": 0.0,
"mult": 0.03884,
"nm": "RFwheel",
"offset": 16,
"prec": 1,
"sr": 10,
"type": 0,
"ut": "MPH"
},
{
"add": -0.3,
"bigEndian": false,
"bm": true,
"bus": 0,
"div": 1.0,
"filtId": 0,
"id": 496,
"idMask": 0,
"len": 12,
"max": 200.0,
"min": 0.0,
"mult": 0.03884,
"nm": "LRwheel",
"offset": 32,
"prec": 1,
"sr": 10,
"type": 0,
"ut": "MPH"
},
{
"add": -0.3,
"bigEndian": false,
"bm": true,
"bus": 0,
"div": 1.0,
"filtId": 0,
"id": 496,
"idMask": 0,
"len": 12,
"max": 200.0,
"min": 0.0,
"mult": 0.03886,
"nm": "RRwheel",
"offset": 48,
"prec": 1,
"sr": 10,
"type": 0,
"ut": "MPH"
},
{
"add": 0.0,
"bigEndian": false,
"bm": true,
"bus": 0,
"div": 1.0,
"filtId": 0,
"id": 1349,
"idMask": 0,
"len": 1,
"max": 1,
"min": 0,
"mult": 1.0,
"nm": "Cruise",
"offset": 3,
"prec": 0,
"sr": 10,
"type": 0,
"ut": ""
}
],
"en": 1
},
"capabilities": {
"channels": {
"analog": 8,
"can": 2,
"canChan": 100,
"gpio": 3,
"imu": 7,
"pwm": 4,
"timer": 3
},
"db": {
"script": 16384,
"tracks": 160
},
"flags": [
"activetrack",
"adc",
"bt",
"can",
"cell",
"gpio",
"gps",
"imu",
"lua",
"obd2",
"pwm",
"telemstream",
"timer",
"tracks",
"usb",
"wifi"
],
"sampleRates": {
"gps": 50,
"sensor": 1000
}
},
"connCfg": {
"btCfg": {
"btEn": 0,
"name": "",
"pass": ""
},
"cellCfg": {
"apnHost": "epc.tmobile.com",
"apnPass": "",
"apnUser": "",
"cellEn": 0
},
"telCfg": {
"bgStream": 0,
"deviceId": ""
}
},
"gpioCfg": {
"0": {
"max": 1.0,
"min": 0.0,
"mode": 0,
"nm": "GPIO1",
"prec": 1,
"sr": 0,
"ut": ""
},
"1": {
"max": 1.0,
"min": 0.0,
"mode": 0,
"nm": "GPIO2",
"prec": 1,
"sr": 0,
"ut": ""
},
"2": {
"max": 1.0,
"min": 0.0,
"mode": 0,
"nm": "GPIO3",
"prec": 1,
"sr": 0,
"ut": ""
}
},
"gpsCfg": {
"alt": 1,
"dist": 1,
"dop": 1,
"pos": 1,
"qual": 1,
"sats": 1,
"speed": 1,
"sr": 10
},
"imuCfg": {
"0": {
"alpha": 0.1,
"chan": 1,
"max": 3.0,
"min": -3.0,
"mode": 1,
"nm": "AccelX",
"prec": 2,
"sr": 10,
"ut": "G",
"zeroVal": 0
},
"1": {
"alpha": 0.1,
"chan": 0,
"max": 3.0,
"min": -3.0,
"mode": 1,
"nm": "AccelY",
"prec": 2,
"sr": 10,
"ut": "G",
"zeroVal": 0
},
"2": {
"alpha": 0.1,
"chan": 2,
"max": 3.0,
"min": -3.0,
"mode": 1,
"nm": "AccelZ",
"prec": 2,
"sr": 10,
"ut": "G",
"zeroVal": 0
},
"3": {
"alpha": 0.1,
"chan": 3,
"max": 120.0,
"min": -120.0,
"mode": 1,
"nm": "Yaw",
"prec": 2,
"sr": 10,
"ut": "Deg/Sec",
"zeroVal": 0
},
"4": {
"alpha": 0.1,
"chan": 5,
"max": 120.0,
"min": -120.0,
"mode": 1,
"nm": "Pitch",
"prec": 2,
"sr": 10,
"ut": "Deg/Sec",
"zeroVal": 0
},
"5": {
"alpha": 0.1,
"chan": 4,
"max": 120.0,
"min": -120.0,
"mode": 1,
"nm": "Roll",
"prec": 2,
"sr": 10,
"ut": "Deg/Sec",
"zeroVal": 0
}
},
"lapCfg": {
"currentLap": {
"max": 0,
"min": 0,
"nm": "CurrentLap",
"prec": 0,
"sr": 10,
"ut": ""
},
"elapsedTime": {
"max": 0,
"min": 0,
"nm": "ElapsedTime",
"prec": 4,
"sr": 0,
"ut": "Min"
},
"lapCount": {
"max": 0,
"min": 0,
"nm": "LapCount",
"prec": 0,
"sr": 10,
"ut": ""
},
"lapTime": {
"max": 0,
"min": 0,
"nm": "LapTime",
"prec": 4,
"sr": 10,
"ut": "Min"
},
"predTime": {
"max": 0,
"min": 0,
"nm": "PredTime",
"prec": 4,
"sr": 10,
"ut": "Min"
},
"sector": {
"max": 0,
"min": 0,
"nm": "Sector",
"prec": 0,
"sr": 10,
"ut": ""
},
"sectorTime": {
"max": 0,
"min": 0,
"nm": "SectorTime",
"prec": 4,
"sr": 10,
"ut": "Min"
}
},
"obd2Cfg": {
"en": 0,
"pids": []
},
"pwmCfg": {
"0": {
"logMode": 1,
"max": 100,
"min": 0,
"nm": "PWM1",
"outMode": 1,
"prec": 0,
"sr": 0,
"stDutyCyc": 50,
"stPeriod": 100,
"ut": ""
},
"1": {
"logMode": 1,
"max": 100,
"min": 0,
"nm": "PWM2",
"outMode": 1,
"prec": 0,
"sr": 0,
"stDutyCyc": 50,
"stPeriod": 100,
"ut": ""
},
"2": {
"logMode": 1,
"max": 100,
"min": 0,
"nm": "PWM3",
"outMode": 1,
"prec": 0,
"sr": 0,
"stDutyCyc": 50,
"stPeriod": 100,
"ut": ""
},
"3": {
"logMode": 1,
"max": 100,
"min": 0,
"nm": "PWM4",
"outMode": 1,
"prec": 0,
"sr": 0,
"stDutyCyc": 50,
"stPeriod": 100,
"ut": ""
}
},
"scriptCfg": {
"data": "",
"page": null
},
"timerCfg": {
"0": {
"alpha": 1.0,
"max": 8000,
"min": 0,
"mode": 0,
"nm": "RPM",
"ppr": 1.0,
"prec": 0,
"speed": 1,
"sr": 0,
"st": 0,
"ut": "rpm"
},
"1": {
"alpha": 1.0,
"max": 8000,
"min": 0,
"mode": 0,
"nm": "RPM2",
"ppr": 1.0,
"prec": 0,
"speed": 1,
"sr": 0,
"st": 0,
"ut": "rpm"
},
"2": {
"alpha": 1.0,
"max": 8000,
"min": 0,
"mode": 0,
"nm": "RPM3",
"ppr": 1.0,
"prec": 0,
"speed": 1,
"sr": 0,
"st": 0,
"ut": "rpm"
}
},
"trackCfg": {
"autoDetect": 1,
"rad": 0.0001,
"track": {
"id": 0,
"sec": [
[
0.0,
0.0
],
[
0.0,
0.0
],
[
0.0,
0.0
],
[
0.0,
0.0
],
[
0.0,
0.0
],
[
0.0,
0.0
],
[
0.0,
0.0
],
[
0.0,
0.0
],
[
0.0,
0.0
],
[
0.0,
0.0
],
[
0.0,
0.0
],
[
0.0,
0.0
],
[
0.0,
0.0
],
[
0.0,
0.0
],
[
0.0,
0.0
],
[
0.0,
0.0
],
[
0.0,
0.0
],
[
0.0,
0.0
],
[
0.0,
0.0
]
],
"sf": [
0.0,
0.0
],
"type": 0
}
},
"trackDb": {
"size": 0,
"tracks": []
},
"ver": {
"bugfix": 0,
"fname": "RaceCapture/Pro MK2",
"git_info": "2.11.0",
"major": 2,
"minor": 11,
"name": "RCP_MK2"
},
"wifiCfg": {
"active": true,
"ap": {
"active": true,
"channel": 11,
"encryption": "none",
"password": "",
"ssid": "RaceCapture/Pro MK2 131"
},
"client": {
"active": false,
"password": "",
"ssid": ""
}
}
}
}
{
"rcpCfg": {
"analogCfg": {
"0": {
"alpha": 1.0,
"map": {
"raw": [
0.92,
1.4,
1.72,
2.53,
3.41
],
"scal": [
33.0,
13.0,
0.0,
-35.0,
-72.0
]
},
"max": 255,
"min": 0,
"nm": "Height_LF",
"offset": 0.0,
"prec": 0,
"scalMod": 1,
"scaling": 1.0,
"sr": 10,
"ut": "mm"
},
"1": {
"alpha": 1.0,
"map": {
"raw": [
0.39,
0.83,
1.2,
1.8,
2.54
],
"scal": [
35.0,
16.0,
0.0,
-25.0,
-56.0
]
},
"max": 255,
"min": 0,
"nm": "Height_LR",
"offset": 0.0,
"prec": 0,
"scalMod": 0,
"scaling": 1.0,
"sr": 10,
"ut": "mm"
},
"2": {
"alpha": 1.0,
"map": {
"raw": [
0.0,
1.25,
2.5,
3.75,
5.0
],
"scal": [
0.0,
1.25,
2.5,
3.75,
5.0
]
},
"max": 5.0,
"min": 0.0,
"nm": "Analog3",
"offset": 0.0,
"prec": 2,
"scalMod": 1,
"scaling": 1.0,
"sr": 0,
"ut": "Volts"
},
"3": {
"alpha": 1.0,
"map": {
"raw": [
0.0,
1.25,
2.5,
3.75,
5.0
],
"scal": [
0.0,
1.25,
2.5,
3.75,
5.0
]
},
"max": 5.0,
"min": 0.0,
"nm": "Analog4",
"offset": 0.0,
"prec": 2,
"scalMod": 1,
"scaling": 1.0,
"sr": 0,
"ut": "Volts"
},
"4": {
"alpha": 1.0,
"map": {
"raw": [
0.0,
1.25,
2.5,
3.75,
5.0
],
"scal": [
0.0,
1.25,
2.5,
3.75,
5.0
]
},
"max": 5.0,
"min": 0.0,
"nm": "Analog5",
"offset": 0.0,
"prec": 2,
"scalMod": 1,
"scaling": 1.0,
"sr": 0,
"ut": "Volts"
},
"5": {
"alpha": 1.0,
"map": {
"raw": [
0.0,
1.25,
2.5,
3.75,
5.0
],
"scal": [
0.0,
1.25,
2.5,
3.75,
5.0
]
},
"max": 5.0,
"min": 0.0,
"nm": "Analog6",
"offset": 0.0,
"prec": 2,
"scalMod": 1,
"scaling": 1.0,
"sr": 0,
"ut": ""
},
"6": {
"alpha": 1.0,
"map": {
"raw": [
0.0,
1.25,
2.5,
3.75,
5.0
],
"scal": [
0.0,
1.25,
2.5,
3.75,
5.0
]
},
"max": 5.0,
"min": 0.0,
"nm": "Analog7",
"offset": 0.0,
"prec": 2,
"scalMod": 1,
"scaling": 1.0,
"sr": 0,
"ut": ""
},
"7": {
"alpha": 1.0,
"map": {
"raw": [
0.0,
1.25,
2.5,
3.75,
5.0
],
"scal": [
0.0,
1.25,
2.5,
3.75,
5.0
]
},
"max": 20.0,
"min": 0.0,
"nm": "Battery",
"offset": 0.0,
"prec": 2,
"scalMod": 1,
"scaling": 1.0,
"sr": 1,
"ut": "Volts"
}
},
"canCfg": {
"baud": [
500000,
500000
],
"en": 1
},
"canChanCfg": {
"chans": [
{
"add": 0.0,
"bigEndian": false,
"bm": false,
"bus": 0,
"div": 1.0,
"filtId": 0,
"id": 809,
"idMask": 0,
"len": 1,
"max": 100,
"min": 0,
"mult": 0.39216,
"nm": "TPS",
"offset": 5,
"prec": 0,
"sr": 10,
"type": 0,
"ut": "%"
},
{
"add": -48.0,
"bigEndian": false,
"bm": false,
"bus": 0,
"div": 1.0,
"filtId": 0,
"id": 809,
"idMask": 0,
"len": 1,
"max": 255,
"min": 0,
"mult": 0.69202,
"nm": "Coolant",
"offset": 1,
"prec": 0,
"sr": 10,
"type": 0,
"ut": "C"
},
{
"add": -48.0,
"bigEndian": false,
"bm": false,
"bus": 0,
"div": 1.0,
"filtId": 0,
"id": 1349,
"idMask": 0,
"len": 1,
"max": 255,
"min": 0,
"mult": 1.0,
"nm": "OilTemp",
"offset": 4,
"prec": 0,
"sr": 10,
"type": 0,
"ut": "C"
},
{
"add": 0.0,
"bigEndian": false,
"bm": false,
"bus": 0,
"div": 1.0,
"filtId": 0,
"id": 790,
"idMask": 0,
"len": 2,
"max": 10000.0,
"min": 0.0,
"mult": 0.15625,
"nm": "RPM",
"offset": 2,
"prec": 1,
"sr": 10,
"type": 0,
"ut": ""
},
{
"add": 0.0,
"bigEndian": false,
"bm": true,
"bus": 0,
"div": 1.0,
"filtId": 0,
"id": 809,
"idMask": 0,
"len": 1,
"max": 1,
"min": 0,
"mult": 1.0,
"nm": "Clutch",
"offset": 24,
"prec": 0,
"sr": 10,
"type": 0,
"ut": ""
},
{
"add": 0.0,
"bigEndian": false,
"bm": false,
"bus": 0,
"div": 1.0,
"filtId": 0,
"id": 1557,
"idMask": 0,
"len": 1,
"max": 150,
"min": 0,
"mult": 1.0,
"nm": "AirTemp",
"offset": 3,
"prec": 0,
"sr": 10,
"type": 3,
"ut": "C"
},
{
"add": 0.0,
"bigEndian": false,
"bm": true,
"bus": 0,
"div": 1.0,
"filtId": 0,
"id": 1555,
"idMask": 0,
"len": 7,
"max": 100,
"min": 0,
"mult": 1.0,
"nm": "FuelLevel",
"offset": 16,
"prec": 0,
"sr": 10,
"type": 0,
"ut": "Ltrs"
},
{
"add": 0.0,
"bigEndian": false,
"bm": false,
"bus": 0,
"div": 1.0,
"filtId": 0,
"id": 501,
"idMask": 0,
"len": 2,
"max": 100,
"min": -100,
"mult": 0.045,
"nm": "Steering",
"offset": 0,
"prec": 0,
"sr": 10,
"type": 3,
"ut": "%"
},
{
"add": 0.0,
"bigEndian": false,
"bm": true,
"bus": 0,
"div": 1.0,
"filtId": 0,
"id": 809,
"idMask": 0,
"len": 1,
"max": 1,
"min": 0,
"mult": 1.0,
"nm": "Brake",
"offset": 48,
"prec": 0,
"sr": 10,
"type": 0,
"ut": ""
},
{
"add": -0.3,
"bigEndian": false,
"bm": true,
"bus": 0,
"div": 1.0,
"filtId": 0,
"id": 496,
"idMask": 0,
"len": 12,
"max": 200.0,
"min": 0.0,
"mult": 0.03884,
"nm": "LFwheel",
"offset": 0,
"prec": 1,
"sr": 10,
"type": 0,
"ut": "MPH"
},
{
"add": -0.3,
"bigEndian": false,
"bm": true,
"bus": 0,
"div": 1.0,
"filtId": 0,
"id": 496,
"idMask": 0,
"len": 12,
"max": 200.0,
"min": 0.0,
"mult": 0.03884,
"nm": "RFwheel",
"offset": 16,
"prec": 1,
"sr": 10,
"type": 0,
"ut": "MPH"
},
{
"add": -0.3,
"bigEndian": false,
"bm": true,
"bus": 0,
"div": 1.0,
"filtId": 0,
"id": 496,
"idMask": 0,
"len": 12,
"max": 200.0,
"min": 0.0,
"mult": 0.03884,
"nm": "LRwheel",
"offset": 32,
"prec": 1,
"sr": 10,
"type": 0,
"ut": "MPH"
},
{
"add": -0.3,
"bigEndian": false,
"bm": true,
"bus": 0,
"div": 1.0,
"filtId": 0,
"id": 496,
"idMask": 0,
"len": 12,
"max": 200.0,
"min": 0.0,
"mult": 0.03886,
"nm": "RRwheel",
"offset": 48,
"prec": 1,
"sr": 10,
"type": 0,
"ut": "MPH"
},
{
"add": 0.0,
"bigEndian": false,
"bm": true,
"bus": 0,
"div": 1.0,
"filtId": 0,
"id": 1349,
"idMask": 0,
"len": 1,
"max": 1,
"min": 0,
"mult": 1.0,
"nm": "Cruise",
"offset": 3,
"prec": 0,
"sr": 10,
"type": 0,
"ut": ""
}
],
"en": 1
},
"capabilities": {
"channels": {
"analog": 8,
"can": 2,
"canChan": 100,
"gpio": 3,
"imu": 7,
"pwm": 4,
"timer": 3
},
"db": {
"script": 16384,
"tracks": 160
},
"flags": [
"activetrack",
"adc",
"bt",
"can",
"cell",
"gpio",
"gps",
"imu",
"lua",
"obd2",
"pwm",
"telemstream",
"timer",
"tracks",
"usb",
"wifi"
],
"sampleRates": {
"gps": 50,
"sensor": 1000
}
},
"connCfg": {
"btCfg": {
"btEn": 0,
"name": "",
"pass": ""
},
"cellCfg": {
"apnHost": "epc.tmobile.com",
"apnPass": "",
"apnUser": "",
"cellEn": 0
},
"telCfg": {
"bgStream": 0,
"deviceId": ""
}
},
"gpioCfg": {
"0": {
"max": 1.0,
"min": 0.0,
"mode": 0,
"nm": "GPIO1",
"prec": 1,
"sr": 0,
"ut": ""
},
"1": {
"max": 1.0,
"min": 0.0,
"mode": 0,
"nm": "GPIO2",
"prec": 1,
"sr": 0,
"ut": ""
},
"2": {
"max": 1.0,
"min": 0.0,
"mode": 0,
"nm": "GPIO3",
"prec": 1,
"sr": 0,
"ut": ""
}
},
"gpsCfg": {
"alt": 1,
"dist": 1,
"dop": 1,
"pos": 1,
"qual": 1,
"sats": 1,
"speed": 1,
"sr": 10
},
"imuCfg": {
"0": {
"alpha": 0.1,
"chan": 1,
"max": 3.0,
"min": -3.0,
"mode": 1,
"nm": "AccelX",
"prec": 2,
"sr": 10,
"ut": "G",
"zeroVal": 0
},
"1": {
"alpha": 0.1,
"chan": 0,
"max": 3.0,
"min": -3.0,
"mode": 1,
"nm": "AccelY",
"prec": 2,
"sr": 10,
"ut": "G",
"zeroVal": 0
},
"2": {
"alpha": 0.1,
"chan": 2,
"max": 3.0,
"min": -3.0,
"mode": 1,
"nm": "AccelZ",
"prec": 2,
"sr": 10,
"ut": "G",
"zeroVal": 0
},
"3": {
"alpha": 0.1,
"chan": 3,
"max": 120.0,
"min": -120.0,
"mode": 1,
"nm": "Yaw",
"prec": 2,
"sr": 10,
"ut": "Deg/Sec",
"zeroVal": 0
},
"4": {
"alpha": 0.1,
"chan": 5,
"max": 120.0,
"min": -120.0,
"mode": 1,
"nm": "Pitch",
"prec": 2,
"sr": 10,
"ut": "Deg/Sec",
"zeroVal": 0
},
"5": {
"alpha": 0.1,
"chan": 4,
"max": 120.0,
"min": -120.0,
"mode": 1,
"nm": "Roll",
"prec": 2,
"sr": 10,
"ut": "Deg/Sec",
"zeroVal": 0
}
},
"lapCfg": {
"currentLap": {
"max": 0,
"min": 0,
"nm": "CurrentLap",
"prec": 0,
"sr": 10,
"ut": ""
},
"elapsedTime": {
"max": 0,
"min": 0,
"nm": "ElapsedTime",
"prec": 4,
"sr": 0,
"ut": "Min"
},
"lapCount": {
"max": 0,
"min": 0,
"nm": "LapCount",
"prec": 0,
"sr": 10,
"ut": ""
},
"lapTime": {
"max": 0,
"min": 0,
"nm": "LapTime",
"prec": 4,
"sr": 10,
"ut": "Min"
},
"predTime": {
"max": 0,
"min": 0,
"nm": "PredTime",
"prec": 4,
"sr": 10,
"ut": "Min"
},
"sector": {
"max": 0,
"min": 0,
"nm": "Sector",
"prec": 0,
"sr": 10,
"ut": ""
},
"sectorTime": {
"max": 0,
"min": 0,
"nm": "SectorTime",
"prec": 4,
"sr": 10,
"ut": "Min"
}
},
"obd2Cfg": {
"en": 0,
"pids": []
},
"pwmCfg": {
"0": {
"logMode": 1,
"max": 100,
"min": 0,
"nm": "PWM1",
"outMode": 1,
"prec": 0,
"sr": 0,
"stDutyCyc": 50,
"stPeriod": 100,
"ut": ""
},
"1": {
"logMode": 1,
"max": 100,
"min": 0,
"nm": "PWM2",
"outMode": 1,
"prec": 0,
"sr": 0,
"stDutyCyc": 50,
"stPeriod": 100,
"ut": ""
},
"2": {
"logMode": 1,
"max": 100,
"min": 0,
"nm": "PWM3",
"outMode": 1,
"prec": 0,
"sr": 0,
"stDutyCyc": 50,
"stPeriod": 100,
"ut": ""
},
"3": {
"logMode": 1,
"max": 100,
"min": 0,
"nm": "PWM4",
"outMode": 1,
"prec": 0,
"sr": 0,
"stDutyCyc": 50,
"stPeriod": 100,
"ut": ""
}
},
"scriptCfg": {
"data": "",
"page": null
},
"timerCfg": {
"0": {
"alpha": 1.0,
"max": 8000,
"min": 0,
"mode": 0,
"nm": "RPM",
"ppr": 1.0,
"prec": 0,
"speed": 1,
"sr": 0,
"st": 0,
"ut": "rpm"
},
"1": {
"alpha": 1.0,
"max": 8000,
"min": 0,
"mode": 0,
"nm": "RPM2",
"ppr": 1.0,
"prec": 0,
"speed": 1,
"sr": 0,
"st": 0,
"ut": "rpm"
},
"2": {
"alpha": 1.0,
"max": 8000,
"min": 0,
"mode": 0,
"nm": "RPM3",
"ppr": 1.0,
"prec": 0,
"speed": 1,
"sr": 0,
"st": 0,
"ut": "rpm"
}
},
"trackCfg": {
"autoDetect": 1,
"rad": 0.0001,
"track": {
"id": 0,
"sec": [
[
0.0,
0.0
],
[
0.0,
0.0
],
[
0.0,
0.0
],
[
0.0,
0.0
],
[
0.0,
0.0
],
[
0.0,
0.0
],
[
0.0,
0.0
],
[
0.0,
0.0
],
[
0.0,
0.0
],
[
0.0,
0.0
],
[
0.0,
0.0
],
[
0.0,
0.0
],
[
0.0,
0.0
],
[
0.0,
0.0
],
[
0.0,
0.0
],
[
0.0,
0.0
],
[
0.0,
0.0
],
[
0.0,
0.0
],
[
0.0,
0.0
]
],
"sf": [
0.0,
0.0
],
"type": 0
}
},
"trackDb": {
"size": 0,
"tracks": []
},
"ver": {
"bugfix": 0,
"fname": "RaceCapture/Pro MK2",
"git_info": "2.11.0",
"major": 2,
"minor": 11,
"name": "RCP_MK2"
},
"wifiCfg": {
"active": true,
"ap": {
"active": true,
"channel": 11,
"encryption": "none",
"password": "",
"ssid": "RaceCapture/Pro MK2 131"
},
"client": {
"active": false,
"password": "",
"ssid": ""
}
}
}
}
thanks for posting your config, I have almost all of it working, left front wheel gives some bad data though, jumps up to a very high value then to zero repeatedly almost every refresh
nothing on brake pressure either I think on the mk60 dcs unit mini uses it does not broadcast pressure but I've read that it will reply with it if polled, no idea how to do that
nothing on brake pressure either I think on the mk60 dcs unit mini uses it does not broadcast pressure but I've read that it will reply with it if polled, no idea how to do that
Got wheel speed, 0 shows .1 but whatever it's working I was using your first script, thought I had the 2nd.
Only thing I do not have is brake pressure, I can see it in INPA and mini uses the mk60 module like the e46 but the coding might be different
I've read US mk60's do not broadcast pressure, but I did find the below info, most of which I do not understand. I'm pretty sure the k-bus is not the same network as the twisted pair 500kb canbus I'm tapping into right now. I hooked up inpa and watched the brake pressure but I was not able to get it to work on the racecapture/canbus side. I need to finish my arduino canbus sniffer
The 1F8 seems to be present on those with Hill Desent Control and 4wd. The receiver of 1F8 is the EGS. The format of the brake pressure in byte 2 is: Value=1*(HEX) [bar], range 0-254 [bar]. The brake pressure is also present on the K-Bus by requesting function call 22 01 F5, 21 06 or 21 02 to the mk60. Haven't had time to investigate which one of them it is, but they are the telegrams INPA sends to the mk60 when the screen showing the brake pressure is active.
and this..
The brake line pressures is present on the K-Bus by requesting the function call 21 06, and the brake line pressure offsets in 21 02. The formats are:
Status sensors (21 06):
Positive pressure:
B8 29 F1 02 21 06 45
B8 F1 29 0F 61 06 00 00 C3 DC 14 8F 14 A4 00 00 00 00 11 06
BrakeLinePressureFront = hex2dec('148F')/100 = 52.63 [bar]
BrakeLinePressureRear = hex2dec('14A4')/100 = 52.84 [bar]
BrakeLinePressureFront = hex2dec('1D31')/100 = 74.73 [bar]
BrakeLinePressureRear = hex2dec('1D1C')/100 = 74.52 [bar]
Neg. pressure by twos complement:
B8 29 F1 02 21 06 45
B8 F1 29 0F 61 06 00 00 C3 DC F7ED F783 00 00 00 00 11 06
BrakeLinePressureFront = (hex2dec('F7ED')-65536)/100 = -20.67 [bar]
BrakeLinePressureRear = (hex2dec('F783')-65536)/100 = -21.73 [bar]
BrakeLinePressureFront = (hex2dec('FFA5')-65536)/100 = -0.91 [bar]
Status sensor offset (21 02):
B8 29 F1 02 21 02 41
B8 F1 29 0C 61 02 FA89 FF18 1E81 FE5D 0000 A7
B8 F1 29 0C 61 02 xxxx yyyy 1E81 FE5D 0000 A7
xxxx = hex value in telegram of Offset Front
yyyy = hex value in telegram of Offset Rear
BrakeLinePressureFrontOffset = 0.000625*x + 2.3315e-15
BrakeLinePressureRearOffset = 0.000625*y + 2.3315e-15
where x is twos complement of xxxx (or yyyy) if neg value in xxxx (or yyyy) (msb set), otherwise pos value of xxxx (or yyyy).
Example: 0xFA89 => neg value since msb=1. Twos complement of 0xFA89 = -1399 => -0.87438 [bar].
Only thing I do not have is brake pressure, I can see it in INPA and mini uses the mk60 module like the e46 but the coding might be different
I've read US mk60's do not broadcast pressure, but I did find the below info, most of which I do not understand. I'm pretty sure the k-bus is not the same network as the twisted pair 500kb canbus I'm tapping into right now. I hooked up inpa and watched the brake pressure but I was not able to get it to work on the racecapture/canbus side. I need to finish my arduino canbus sniffer
The 1F8 seems to be present on those with Hill Desent Control and 4wd. The receiver of 1F8 is the EGS. The format of the brake pressure in byte 2 is: Value=1*(HEX) [bar], range 0-254 [bar]. The brake pressure is also present on the K-Bus by requesting function call 22 01 F5, 21 06 or 21 02 to the mk60. Haven't had time to investigate which one of them it is, but they are the telegrams INPA sends to the mk60 when the screen showing the brake pressure is active.
and this..
The brake line pressures is present on the K-Bus by requesting the function call 21 06, and the brake line pressure offsets in 21 02. The formats are:
Status sensors (21 06):
Positive pressure:
B8 29 F1 02 21 06 45
B8 F1 29 0F 61 06 00 00 C3 DC 14 8F 14 A4 00 00 00 00 11 06
BrakeLinePressureFront = hex2dec('148F')/100 = 52.63 [bar]
BrakeLinePressureRear = hex2dec('14A4')/100 = 52.84 [bar]
BrakeLinePressureFront = hex2dec('1D31')/100 = 74.73 [bar]
BrakeLinePressureRear = hex2dec('1D1C')/100 = 74.52 [bar]
Neg. pressure by twos complement:
B8 29 F1 02 21 06 45
B8 F1 29 0F 61 06 00 00 C3 DC F7ED F783 00 00 00 00 11 06
BrakeLinePressureFront = (hex2dec('F7ED')-65536)/100 = -20.67 [bar]
BrakeLinePressureRear = (hex2dec('F783')-65536)/100 = -21.73 [bar]
BrakeLinePressureFront = (hex2dec('FFA5')-65536)/100 = -0.91 [bar]
Status sensor offset (21 02):
B8 29 F1 02 21 02 41
B8 F1 29 0C 61 02 FA89 FF18 1E81 FE5D 0000 A7
B8 F1 29 0C 61 02 xxxx yyyy 1E81 FE5D 0000 A7
xxxx = hex value in telegram of Offset Front
yyyy = hex value in telegram of Offset Rear
BrakeLinePressureFrontOffset = 0.000625*x + 2.3315e-15
BrakeLinePressureRearOffset = 0.000625*y + 2.3315e-15
where x is twos complement of xxxx (or yyyy) if neg value in xxxx (or yyyy) (msb set), otherwise pos value of xxxx (or yyyy).
Example: 0xFA89 => neg value since msb=1. Twos complement of 0xFA89 = -1399 => -0.87438 [bar].