<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.autosportlabs.com/index.php?action=history&amp;feed=atom&amp;title=Mini_Cooper_R50_R52_R5</id>
	<title>Mini Cooper R50 R52 R5 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.autosportlabs.com/index.php?action=history&amp;feed=atom&amp;title=Mini_Cooper_R50_R52_R5"/>
	<link rel="alternate" type="text/html" href="https://wiki.autosportlabs.com/index.php?title=Mini_Cooper_R50_R52_R5&amp;action=history"/>
	<updated>2026-09-21T11:41:46Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.44.0</generator>
	<entry>
		<id>https://wiki.autosportlabs.com/index.php?title=Mini_Cooper_R50_R52_R5&amp;diff=6594&amp;oldid=prev</id>
		<title>Brentp at 15:36, 6 May 2016</title>
		<link rel="alternate" type="text/html" href="https://wiki.autosportlabs.com/index.php?title=Mini_Cooper_R50_R52_R5&amp;diff=6594&amp;oldid=prev"/>
		<updated>2016-05-06T15:36:54Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 15:36, 6 May 2016&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=Status=&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=Status=&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;In development / verification phase. The Mini Cooper ECU and instrument cluster electronics are based on BMW running gear, so this integration is adapted from the BMW E46 instructions.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;In development / verification phase. The Mini Cooper ECU and instrument cluster electronics are based on BMW running gear, so this integration is adapted from the BMW E46 instructions.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=Channels available=&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;This integration will offer the following channels (to be verified)&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* Throttle Position (TPS)&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* Engine Temperature (EngineTemp)&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* Oil Temperature (OilTemp)&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* RPM (RPM)&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* Steering Angle (Steering)&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* Brake Switch (BrakeSw)&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* Brake Pressure (Brake)&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* Left front wheel speed (LFWheelSpd)&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* Right front wheel speed (RFWheelSpd)&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* Left Rear Wheel Speed (LRWheelSpd)&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* Right Rear Wheel Speed (RRWheelSpd)&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* Gearbox Temperature (GearboxTmp)&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* Exterior Temperature (ExtTmp)&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=Installation=&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=Installation=&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Brentp</name></author>
	</entry>
	<entry>
		<id>https://wiki.autosportlabs.com/index.php?title=Mini_Cooper_R50_R52_R5&amp;diff=6593&amp;oldid=prev</id>
		<title>Brentp at 15:28, 6 May 2016</title>
		<link rel="alternate" type="text/html" href="https://wiki.autosportlabs.com/index.php?title=Mini_Cooper_R50_R52_R5&amp;diff=6593&amp;oldid=prev"/>
		<updated>2016-05-06T15:28:58Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 15:28, 6 May 2016&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=Status=&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=Status=&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;In development / verification phase. The Mini Cooper ECU and instrument cluster electronics are &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;very similar to the E46&lt;/del&gt;, so this integration is adapted from the E46.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;In development / verification phase. The Mini Cooper ECU and instrument cluster electronics are &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;based on BMW running gear&lt;/ins&gt;, so this integration is adapted from the &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;BMW &lt;/ins&gt;E46 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;instructions&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=Installation=&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=Installation=&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Brentp</name></author>
	</entry>
	<entry>
		<id>https://wiki.autosportlabs.com/index.php?title=Mini_Cooper_R50_R52_R5&amp;diff=6592&amp;oldid=prev</id>
		<title>Brentp: WIP for mini cooper</title>
		<link rel="alternate" type="text/html" href="https://wiki.autosportlabs.com/index.php?title=Mini_Cooper_R50_R52_R5&amp;diff=6592&amp;oldid=prev"/>
		<updated>2016-05-06T15:06:56Z</updated>

		<summary type="html">&lt;p&gt;WIP for mini cooper&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;=Status=&lt;br /&gt;
In development / verification phase. The Mini Cooper ECU and instrument cluster electronics are very similar to the E46, so this integration is adapted from the E46.&lt;br /&gt;
&lt;br /&gt;
=Installation=&lt;br /&gt;
&lt;br /&gt;
==Things you&amp;#039;ll need==&lt;br /&gt;
* PosiTap insulation piercing taps (22 gauge)&lt;br /&gt;
* RJ 45 (Ethernet) cable, ~6ft&lt;br /&gt;
* RaceCapture/Pro with Bluetooth&lt;br /&gt;
* Android tablet&lt;br /&gt;
* 2002-2006 Mini Cooper (R50, R52, R53)&lt;br /&gt;
&lt;br /&gt;
==Estimated Time==&lt;br /&gt;
2-3 hours, depending on level of wiring experience. The most time consuming part is locating and splicing the CAN, power and groud wires into the RJ45 cable.&lt;br /&gt;
&lt;br /&gt;
==CAN wires==&lt;br /&gt;
CAN wire colors are as follows:&lt;br /&gt;
* (VERIFY) Yellow/Red = CAN+ (high)&lt;br /&gt;
* (VERIFY) Yellow/Brown =  CAN- (low)&lt;br /&gt;
&lt;br /&gt;
They are a twisted pair in or attached to the main wiring harness under the driver&amp;#039;s side dash above the dead pedal. The wires need to be tapped, not cut. &lt;br /&gt;
&lt;br /&gt;
===Tapping CAN wires===&lt;br /&gt;
To tap into the wires, you&amp;#039;ll first need to unravel the wire as the CAN+/CAN- pair are tightly wound. You&amp;#039;ll want to have enough room for 2 fingers in between the wires.&lt;br /&gt;
&lt;br /&gt;
Tapping the wires via Posi-taps (recommended) is easy. Pull the top off the Positap, place the wire in it and tighten.&lt;br /&gt;
&lt;br /&gt;
[[File:Positaps.png]]&lt;br /&gt;
&lt;br /&gt;
Once you&amp;#039;ve tapped both it will most likely look like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Can-tapped.jpg|700px]]&lt;br /&gt;
&lt;br /&gt;
==Power and ground wiring==&lt;br /&gt;
&lt;br /&gt;
Note: You can skip this section if you already have power wired to RaceCapture/Pro and don&amp;#039;t want to change it.&lt;br /&gt;
&lt;br /&gt;
===Best option OBD-II port power===&lt;br /&gt;
Using the same cable used for the CAN bus connection you can tap into power on the OBD-II port, for a clean 4 wire connection&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:700px; height:200px;&amp;quot;&lt;br /&gt;
|+ Mini Cooper power, ground and CAN bus connections to RaceCapture/Pro &lt;br /&gt;
|-&lt;br /&gt;
! Connection&lt;br /&gt;
! Mini Cooper&lt;br /&gt;
! RaceCapture/Pro (RJ45 cable)&lt;br /&gt;
|-&lt;br /&gt;
| +12v&lt;br /&gt;
| (VERIFY) Yellow-Red (OBD-II connector)&lt;br /&gt;
| Brown&lt;br /&gt;
|-&lt;br /&gt;
| Ground&lt;br /&gt;
| (VERIFY) Brown (OBD-II connector)&lt;br /&gt;
| Orange/White&lt;br /&gt;
|-&lt;br /&gt;
| CAN High&lt;br /&gt;
| (VERIFY) Yellow/Red&lt;br /&gt;
| Orange&lt;br /&gt;
|-&lt;br /&gt;
| CAN Low&lt;br /&gt;
| (VERIFY) Yellow/Brown&lt;br /&gt;
| Green/White&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; These color codes assume EIA-T568B RJ45 cable (check printing on the cable to confirm)&lt;br /&gt;
&lt;br /&gt;
==CAN Bus connection==&lt;br /&gt;
&lt;br /&gt;
In order for RaceCapture/Pro to read CAN data you need to connect the CAN+/CAN- wires to a RJ45 (ethernet cable). &lt;br /&gt;
&lt;br /&gt;
Cut one end off the RJ45 cable and pull apart all the wires. &lt;br /&gt;
&lt;br /&gt;
For a standard RJ45 cable (EIA T568B) the colors are:&lt;br /&gt;
&lt;br /&gt;
* Orange: CAN1 High&lt;br /&gt;
* Green/white: CAN1 Low&lt;br /&gt;
* Brown: Power&lt;br /&gt;
* Orange/white: Ground&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Note&amp;#039;&amp;#039;&amp;#039;: Verify your RJ45 cable has &amp;#039;&amp;#039;&amp;#039;EIA T568B&amp;#039;&amp;#039;&amp;#039; printed on the jacket; this will ensure the color codes match.&lt;br /&gt;
&lt;br /&gt;
Use the following diagram:&lt;br /&gt;
&lt;br /&gt;
[[File:Canrj45.png]]&lt;br /&gt;
&lt;br /&gt;
You will end up with something that looks like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Rj45labeled.jpg|700px]]&lt;br /&gt;
&lt;br /&gt;
==Configure RaceCapture/Pro==&lt;br /&gt;
&lt;br /&gt;
===Quick Start configuration===&lt;br /&gt;
This configuration can be imported into your RaceCapture/Pro system to get you started. &lt;br /&gt;
&lt;br /&gt;
Download: [http://autosportlabs.net/images/2/23/mini_cooper_R50_R52_R53_starter_config.rcp Mini Cooper starter configuration] (right-click, save-as)&lt;br /&gt;
&lt;br /&gt;
To complete your configuration for lap timing and live streaming to Podium:&lt;br /&gt;
* [[RaceCapture_App_User%27s_Guide#Automatic_Track_Detection_and_configuration|Add your favorite race tracks]] for automatic detection&lt;br /&gt;
* [[RaceCapturePro2_TelemetryQuickstart#Enable_Telemetry_and_Device_Id|Set your telemetry device id]] as provided by [http://podium.live podium.live]&lt;br /&gt;
&lt;br /&gt;
===Manual Setup===&lt;br /&gt;
If you already have an existing, customized configuration, follow these steps to add Mini Cooper CAN bus integration.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[[RaceCapturePro2_OBD2#Enable_CAN_bus|Enable the CAN bus]]&amp;#039;&amp;#039;&amp;#039; in your RaceCapture/Pro configuration &lt;br /&gt;
&lt;br /&gt;
* Rate is 500kb/s&lt;br /&gt;
* Do &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; enable OBD-II channels.&lt;br /&gt;
&lt;br /&gt;
Add this script to the Scripting section:&lt;br /&gt;
&lt;br /&gt;
===Script===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--This example configured for Mini Cooper CAN&lt;br /&gt;
-- Automatically starts logging with engine &amp;#039;on&amp;#039; (RPM triggered)&lt;br /&gt;
--how frequently we poll for CAN messages&lt;br /&gt;
tickRate = 30&lt;br /&gt;
--the CAN baud rate&lt;br /&gt;
CAN_baud = 500000&lt;br /&gt;
--CAN channel to listen on. 0=first CAN channel, 1=second&lt;br /&gt;
CAN_chan = 0&lt;br /&gt;
&lt;br /&gt;
--add your virtual channels here&lt;br /&gt;
--format addChannel(&amp;lt;name&amp;gt;, &amp;lt;sample rate&amp;gt;, &amp;lt;precision&amp;gt;, &amp;lt;min&amp;gt;, &amp;lt;max&amp;gt;, [units])&lt;br /&gt;
tpsId = addChannel(&amp;quot;TPS&amp;quot;, 10, 0, 0, 100, &amp;quot;%&amp;quot;)&lt;br /&gt;
tempId = addChannel(&amp;quot;EngineTemp&amp;quot;, 1, 0, 0, 255, &amp;quot;F&amp;quot;)&lt;br /&gt;
oilTempId = addChannel(&amp;quot;OilTemp&amp;quot;, 1, 0, 0, 255, &amp;quot;F&amp;quot;)&lt;br /&gt;
rpmId = addChannel(&amp;quot;RPM&amp;quot;, 10, 0, 0, 10000)&lt;br /&gt;
steerId = addChannel(&amp;quot;Steering&amp;quot;, 10, 0, -360, 360, &amp;quot;Deg.&amp;quot;)&lt;br /&gt;
brakeId = addChannel(&amp;quot;BrakeSw&amp;quot;, 10, 0, 0, 1)&lt;br /&gt;
brakePressId = addChannel(&amp;quot;Brake&amp;quot;, 10, 0, 0, 255, &amp;quot;Bar&amp;quot;)&lt;br /&gt;
clutchId = addChannel(&amp;quot;Clutch&amp;quot;, 10, 0, 0, 1)&lt;br /&gt;
lfWheelId = addChannel(&amp;quot;LFWheelSpd&amp;quot;, 10, 0, 0, 200, &amp;quot;MPH&amp;quot;)&lt;br /&gt;
rfWheelId = addChannel(&amp;quot;RFWheelSpd&amp;quot;, 10, 0, 0, 200, &amp;quot;MPH&amp;quot;)&lt;br /&gt;
lrWheelId = addChannel(&amp;quot;LRWheelSpd&amp;quot;, 10, 0, 0, 200, &amp;quot;MPH&amp;quot;)&lt;br /&gt;
rrWheelId = addChannel(&amp;quot;RRWheelSpd&amp;quot;, 10, 0, 0, 200, &amp;quot;MPH&amp;quot;)&lt;br /&gt;
gearTempId = addChannel(&amp;quot;GearboxTmp&amp;quot;, 10, 0, 0, 400, &amp;quot;F&amp;quot;)&lt;br /&gt;
fuelId = addChannel(&amp;quot;Fuel&amp;quot;, 1, 0, 0, 100, &amp;quot;%&amp;quot;)&lt;br /&gt;
extTempId = addChannel(&amp;quot;ExtTemp&amp;quot;, 1, 0, 0, 120,&amp;quot;F&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
--Convert C to F&lt;br /&gt;
function toF(value)&lt;br /&gt;
 return value * 1.8 + 32&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--TPS, correct your throttle here for true 100% &lt;br /&gt;
function tpsFilter(value)&lt;br /&gt;
 return value + 0.0&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--only start logging / telemetry if engine is running&lt;br /&gt;
function rpmFilter(value)&lt;br /&gt;
 if value &amp;gt; 500 then startLogging() else stopLogging() end&lt;br /&gt;
 return value&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function brakeFilter(value)&lt;br /&gt;
 return bit.rshift(bit.band(value, 0x10), 4)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function clutchFilter(value)&lt;br /&gt;
 return bit.band(value, 0x01)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function processWheel(id, data, offset)&lt;br /&gt;
  --wheel speed is 13 bits long, little endian&lt;br /&gt;
  --low byte high byte&lt;br /&gt;
  --76543210 76543210&lt;br /&gt;
  --11111111 11111XXX&lt;br /&gt;
  local highByte = bit.band(data[offset + 2], 0x1F)&lt;br /&gt;
  local lowByte = data[offset + 1]&lt;br /&gt;
  local value = highByte * 256 + lowByte&lt;br /&gt;
  value = value * 0.0625&lt;br /&gt;
  --convert to MPH. comment to keep KPH&lt;br /&gt;
  value = value * 0.621371&lt;br /&gt;
  setChannel(id, value)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function processSteering(data)&lt;br /&gt;
    local steer = 0&lt;br /&gt;
    if data[2] &amp;gt; 127 then&lt;br /&gt;
      steer = -1*(((data[2]-128)*256)+data[1])&lt;br /&gt;
    else&lt;br /&gt;
      steer = (data[2]*256)+data[1]&lt;br /&gt;
    end&lt;br /&gt;
    setChannel(steerId, (steer*0.045))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function fuelFilter(value)&lt;br /&gt;
  --adjust for 7 bit value&lt;br /&gt;
  value = bit.band(value, 0x7F)&lt;br /&gt;
  --convert liters to %&lt;br /&gt;
  return value / 0.48&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function extTempFilter(value)&lt;br /&gt;
  local temp = bit.band(value, 0x7F)&lt;br /&gt;
  if value &amp;gt; 127 then&lt;br /&gt;
    temp = -1 * temp&lt;br /&gt;
  end&lt;br /&gt;
  temp = toF(temp)&lt;br /&gt;
  return temp&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
--customize here for CAN channel mapping&lt;br /&gt;
--format is: &lt;br /&gt;
--[CAN Id] = function(data) map_chan(&amp;lt;chan_id&amp;gt;, &amp;lt;data&amp;gt;, &amp;lt;CAN offset&amp;gt;, &amp;lt;CAN length&amp;gt;, &amp;lt;multiplier&amp;gt;,&lt;br /&gt;
--                                   &amp;lt;adder&amp;gt;, [filter])&lt;br /&gt;
----------------------------------------&lt;br /&gt;
CAN_map = {&lt;br /&gt;
[496] = function(data) processWheel(lfWheelId, data, 0)&lt;br /&gt;
                       processWheel(rfWheelId, data, 2)&lt;br /&gt;
                       processWheel(lrWheelId, data, 4)&lt;br /&gt;
                       processWheel(rrWheelId, data, 6)&lt;br /&gt;
        end, &lt;br /&gt;
[339] = function(data) map_chan(brakeId, data, 0, 1, 1, 0, brakeFilter) end,&lt;br /&gt;
[504] = function(data) map_chan(brakePressId, data, 2, 1, 1, 0) end,&lt;br /&gt;
[809] = function(data) map_chan(tpsId, data, 5, 1 , 0.392156863, 0, tpsFilter) &lt;br /&gt;
                       map_chan(tempId, data, 1, 1, 0.75, -48, toF)&lt;br /&gt;
                       map_chan(clutchId, data, 3, 1, 1, 0, clutchFilter)&lt;br /&gt;
        end,&lt;br /&gt;
[1349] = function(data) map_chan(oilTempId, data, 4, 1, 1, -48, toF) end,&lt;br /&gt;
[1083] = function(data) map_chan(gearTempId, data, 0, 1, 1, -55, toF) end,&lt;br /&gt;
[790]  = function(data) map_chan(rpmId, data, 2, 2, 0.15625, 0, rpmFilter) end,&lt;br /&gt;
[501]  = function (data) processSteering(data) end,&lt;br /&gt;
[1555] = function (data) map_chan(fuelId, data, 2, 1, 1, 0, fuelFilter) end,&lt;br /&gt;
[1557] = function (data) map_chan(extTempId, data, 3, 1, 1, 0, extTempFilter) end&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function onTick()&lt;br /&gt;
    processCAN(CAN_chan)&lt;br /&gt;
end&lt;br /&gt;
--===========do not edit below===========&lt;br /&gt;
function processCAN(chan)&lt;br /&gt;
    local msg = 0&lt;br /&gt;
    repeat&lt;br /&gt;
        local id, e, data = rxCAN(chan, 0)&lt;br /&gt;
        if id ~= nil then&lt;br /&gt;
            local map = CAN_map[id]&lt;br /&gt;
            if map ~= nil then&lt;br /&gt;
                map(data)         &lt;br /&gt;
            end&lt;br /&gt;
        end&lt;br /&gt;
        msg = msg + 1&lt;br /&gt;
    until id == nil or msg &amp;gt; 100&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--Map CAN channel, little endian format&lt;br /&gt;
function map_chan(cid, data, offset, len, mult, add, filter)&lt;br /&gt;
    if offset + len &amp;gt; #data then return end&lt;br /&gt;
    offset = offset + 1&lt;br /&gt;
    local value = 0&lt;br /&gt;
    local shift = 1&lt;br /&gt;
    while len &amp;gt; 0 do&lt;br /&gt;
        value = value + (data[offset] * shift)&lt;br /&gt;
        shift = shift * 256&lt;br /&gt;
        offset = offset + 1&lt;br /&gt;
        len = len - 1&lt;br /&gt;
    end&lt;br /&gt;
 local cv = value * mult + add&lt;br /&gt;
 if filter ~= nil then cv = filter(cv) end&lt;br /&gt;
    setChannel(cid, cv)&lt;br /&gt;
end&lt;br /&gt;
initCAN(CAN_chan, CAN_baud)&lt;br /&gt;
setTickRate(tickRate)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Test!==&lt;br /&gt;
Once everything is connected, plug in the other end of the RJ45 cable to RaceCapture/Pro, turn it on and turn on your car. Make sure RCP is connected to your tablet and the RaceCapture/App is running. &lt;br /&gt;
&lt;br /&gt;
Swipe to the digital dash page and you should see data for Coolant, Oil Temp, Throttle and brake!&lt;br /&gt;
&lt;br /&gt;
==Real-Time Telemetry==&lt;br /&gt;
Just 4 wires - Power, Ground, CAN+ and CAN- is needed to stream tons of data to [http://www.podium.com Podium] for monitoring engine, driver and suspension performance!&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
* If you don&amp;#039;t see any data, verify all connections and splices. &lt;br /&gt;
&lt;br /&gt;
* If everything is connected connect your laptop to RaceCapture/Pro, open the RaceCapture/App, go to the Scripting section, set Logging Level to debug and select &amp;#039;Poll logfile&amp;#039;. Check the output for any errors relating to the Lua Script.&lt;br /&gt;
&lt;br /&gt;
* If you&amp;#039;re copying in the script file, ensure any existing script is erased first, do not append the script text to the existing script.&lt;br /&gt;
&lt;br /&gt;
If you are still having issues post your problem on the forums here http://www.autosportlabs.org/viewforum.php?f=20&lt;/div&gt;</summary>
		<author><name>Brentp</name></author>
	</entry>
</feed>