<?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=Izze_Racing_Temperature_Sensors</id>
	<title>Izze Racing Temperature Sensors - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.autosportlabs.com/index.php?action=history&amp;feed=atom&amp;title=Izze_Racing_Temperature_Sensors"/>
	<link rel="alternate" type="text/html" href="https://wiki.autosportlabs.com/index.php?title=Izze_Racing_Temperature_Sensors&amp;action=history"/>
	<updated>2026-10-12T01:48:33Z</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=Izze_Racing_Temperature_Sensors&amp;diff=6732&amp;oldid=prev</id>
		<title>Brentp: Created page with &quot;=Izze Racing= image:izze_racing_tire_temperature_seinsor.jpg  The [http://www.izzeracing.com Izze Racing] tire temperature sensor provides up to 8 channels of temperature...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.autosportlabs.com/index.php?title=Izze_Racing_Temperature_Sensors&amp;diff=6732&amp;oldid=prev"/>
		<updated>2016-11-08T16:39:36Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;=Izze Racing= &lt;a href=&quot;/File:Izze_racing_tire_temperature_seinsor.jpg&quot; title=&quot;File:Izze racing tire temperature seinsor.jpg&quot;&gt;image:izze_racing_tire_temperature_seinsor.jpg&lt;/a&gt;  The [http://www.izzeracing.com Izze Racing] tire temperature sensor provides up to 8 channels of temperature...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;=Izze Racing=&lt;br /&gt;
[[image:izze_racing_tire_temperature_seinsor.jpg]]&lt;br /&gt;
&lt;br /&gt;
The [http://www.izzeracing.com Izze Racing] tire temperature sensor provides up to 8 channels of temperature per sensor and transmits via CAN bus.&lt;br /&gt;
&lt;br /&gt;
See the [http://www.izzeracing.com/products/infrared-temperature-sensors.html Izze Racing documentation] for wiring recommendations.&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;CAN baud rate&amp;#039;&amp;#039;&amp;#039;: 1MB&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Data format&amp;#039;&amp;#039;&amp;#039;: Big Endian&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Update rate&amp;#039;&amp;#039;&amp;#039;: Up to 32Hz&lt;br /&gt;
&lt;br /&gt;
==Lua Script==&lt;br /&gt;
&lt;br /&gt;
To enable telemetry channels, import this script into the RaceCapture/Pro Lua scripting window.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Note&amp;#039;&amp;#039;&amp;#039; ensure this script completely replaces any existing script.&lt;br /&gt;
** [[RaceCapturePro_Lua_Scripting#Combining_multiple_functions|Tips on combining multiple functions in one script]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
--This example is configured for IzzeRacing CAN-bus TireTemp-Sensors&lt;br /&gt;
--by www.race-electronic.com&lt;br /&gt;
&lt;br /&gt;
tickRate = 30&lt;br /&gt;
CAN_baud = 1000000&lt;br /&gt;
CAN_chan = 0 --CAN channel to listen to 0=first CAN channel, 1=second&lt;br /&gt;
be_mode = 1 --1 for Big Endian (MSB) mode; 0 for Little Endian mode (LSB)&lt;br /&gt;
&lt;br /&gt;
--add your virtual channels here - format is:&lt;br /&gt;
--addChannel( name, sampleRate, [precision], [min], [max], [units])&lt;br /&gt;
&lt;br /&gt;
TiTmpLF1Id = addChannel(&amp;quot;TireTmp_LF1&amp;quot;, 10, 0, -20, 300, &amp;#039;degC&amp;#039;)&lt;br /&gt;
TiTmpLF2Id = addChannel(&amp;quot;TireTmp_LF2&amp;quot;, 10, 0, -20, 300, &amp;#039;degC&amp;#039;)&lt;br /&gt;
TiTmpLF3Id = addChannel(&amp;quot;TireTmp_LF3&amp;quot;, 10, 0, -20, 300, &amp;#039;degC&amp;#039;)&lt;br /&gt;
TiTmpLF4Id = addChannel(&amp;quot;TireTmp_LF4&amp;quot;, 10, 0, -20, 300, &amp;#039;degC&amp;#039;)&lt;br /&gt;
--TiTmpLF5Id = addChannel(&amp;quot;TireTmp_LF5&amp;quot;, 10, 0, -20, 300, &amp;#039;degC&amp;#039;)&lt;br /&gt;
--TiTmpLF6Id = addChannel(&amp;quot;TireTmp_LF6&amp;quot;, 10, 0, -20, 300, &amp;#039;degC&amp;#039;)&lt;br /&gt;
--TiTmpLF7Id = addChannel(&amp;quot;TireTmp_LF7&amp;quot;, 10, 0, -20, 300, &amp;#039;degC&amp;#039;)&lt;br /&gt;
--TiTmpLF8Id = addChannel(&amp;quot;TireTmp_LF8&amp;quot;, 10, 0, -20, 300, &amp;#039;degC&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
TiTmpRF1Id = addChannel(&amp;quot;TireTmp_RF1&amp;quot;, 10, 0, -20, 300, &amp;#039;degC&amp;#039;)&lt;br /&gt;
TiTmpRF2Id = addChannel(&amp;quot;TireTmp_RF2&amp;quot;, 10, 0, -20, 300, &amp;#039;degC&amp;#039;)&lt;br /&gt;
TiTmpRF3Id = addChannel(&amp;quot;TireTmp_RF3&amp;quot;, 10, 0, -20, 300, &amp;#039;degC&amp;#039;)&lt;br /&gt;
TiTmpRF4Id = addChannel(&amp;quot;TireTmp_RF4&amp;quot;, 10, 0, -20, 300, &amp;#039;degC&amp;#039;)&lt;br /&gt;
--TiTmpRF5Id = addChannel(&amp;quot;TireTmp_RF5&amp;quot;, 10, 0, -20, 300, &amp;#039;degC&amp;#039;)&lt;br /&gt;
--TiTmpRF6Id = addChannel(&amp;quot;TireTmp_RF6&amp;quot;, 10, 0, -20, 300, &amp;#039;degC&amp;#039;)&lt;br /&gt;
--TiTmpRF7Id = addChannel(&amp;quot;TireTmp_RF7&amp;quot;, 10, 0, -20, 300, &amp;#039;degC&amp;#039;)&lt;br /&gt;
--TiTmpRF8Id = addChannel(&amp;quot;TireTmp_RF8&amp;quot;, 10, 0, -20, 300, &amp;#039;degC&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
TiTmpLR1Id = addChannel(&amp;quot;TireTmp_LR1&amp;quot;, 10, 0, -20, 300, &amp;#039;degC&amp;#039;)&lt;br /&gt;
TiTmpLR2Id = addChannel(&amp;quot;TireTmp_LR2&amp;quot;, 10, 0, -20, 300, &amp;#039;degC&amp;#039;)&lt;br /&gt;
TiTmpLR3Id = addChannel(&amp;quot;TireTmp_LR3&amp;quot;, 10, 0, -20, 300, &amp;#039;degC&amp;#039;)&lt;br /&gt;
TiTmpLR4Id = addChannel(&amp;quot;TireTmp_LR4&amp;quot;, 10, 0, -20, 300, &amp;#039;degC&amp;#039;)&lt;br /&gt;
--TiTmpLR5Id = addChannel(&amp;quot;TireTmp_LR5&amp;quot;, 10, 0, -20, 300, &amp;#039;degC&amp;#039;)&lt;br /&gt;
--TiTmpLR6Id = addChannel(&amp;quot;TireTmp_LR6&amp;quot;, 10, 0, -20, 300, &amp;#039;degC&amp;#039;)&lt;br /&gt;
--TiTmpLR7Id = addChannel(&amp;quot;TireTmp_LR7&amp;quot;, 10, 0, -20, 300, &amp;#039;degC&amp;#039;)&lt;br /&gt;
--TiTmpLR8Id = addChannel(&amp;quot;TireTmp_LR8&amp;quot;, 10, 0, -20, 300, &amp;#039;degC&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
TiTmpRR1Id = addChannel(&amp;quot;TireTmp_RR1&amp;quot;, 10, 0, -20, 300, &amp;#039;degC&amp;#039;)&lt;br /&gt;
TiTmpRR2Id = addChannel(&amp;quot;TireTmp_RR2&amp;quot;, 10, 0, -20, 300, &amp;#039;degC&amp;#039;)&lt;br /&gt;
TiTmpRR3Id = addChannel(&amp;quot;TireTmp_RR3&amp;quot;, 10, 0, -20, 300, &amp;#039;degC&amp;#039;)&lt;br /&gt;
TiTmpRR4Id = addChannel(&amp;quot;TireTmp_RR4&amp;quot;, 10, 0, -20, 300, &amp;#039;degC&amp;#039;)&lt;br /&gt;
--TiTmpRR5Id = addChannel(&amp;quot;TireTmp_RR5&amp;quot;, 10, 0, -20, 300, &amp;#039;degC&amp;#039;)&lt;br /&gt;
--TiTmpRR6Id = addChannel(&amp;quot;TireTmp_RR6&amp;quot;, 10, 0, -20, 300, &amp;#039;degC&amp;#039;)&lt;br /&gt;
--TiTmpRR7Id = addChannel(&amp;quot;TireTmp_RR7&amp;quot;, 10, 0, -20, 300, &amp;#039;degC&amp;#039;)&lt;br /&gt;
--TiTmpRR8Id = addChannel(&amp;quot;TireTmp_RR8&amp;quot;, 10, 0, -20, 300, &amp;#039;degC&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----------------------------------------&lt;br /&gt;
--CAN channel mapping format is: &lt;br /&gt;
--[CAN Id] = function(data) map_chan(&amp;lt;chan_id&amp;gt;, data, &amp;lt;CAN offset&amp;gt;, &lt;br /&gt;
--&amp;lt;CAN length&amp;gt;, &amp;lt;multiplier&amp;gt;,&amp;lt;adder&amp;gt;, [filter])&lt;br /&gt;
----------------------------------------&lt;br /&gt;
&lt;br /&gt;
CAN_map = {&lt;br /&gt;
[1200] = function(data) map_chan(TiTmpLF1Id, data, 0, 2, 0.1, -100)&lt;br /&gt;
                        map_chan(TiTmpLF2Id, data, 2, 2, 0.1, -100)&lt;br /&gt;
                        map_chan(TiTmpLF3Id, data, 4, 2, 0.1, -100)&lt;br /&gt;
                        map_chan(TiTmpLF4Id, data, 6, 2, 0.1, -100) end,&lt;br /&gt;
--[1201] = function(data) map_chan(TiTmpLF5Id, data, 0, 2, 0.1, -100)&lt;br /&gt;
--                        map_chan(TiTmpLF6Id, data, 2, 2, 0.1, -100)&lt;br /&gt;
--                        map_chan(TiTmpLF7Id, data, 4, 2, 0.1, -100)&lt;br /&gt;
--                        map_chan(TiTmpLF8Id, data, 6, 2, 0.1, -100) end,&lt;br /&gt;
[1204] = function(data) map_chan(TiTmpRF1Id, data, 0, 2, 0.1, -100)&lt;br /&gt;
                        map_chan(TiTmpRF2Id, data, 2, 2, 0.1, -100)&lt;br /&gt;
                        map_chan(TiTmpRF3Id, data, 4, 2, 0.1, -100)&lt;br /&gt;
                        map_chan(TiTmpRF4Id, data, 6, 2, 0.1, -100) end,&lt;br /&gt;
--[1205] = function(data) map_chan(TiTmpRF5Id, data, 0, 2, 0.1, -100)&lt;br /&gt;
--                        map_chan(TiTmpRF6Id, data, 2, 2, 0.1, -100)&lt;br /&gt;
--                        map_chan(TiTmpRF7Id, data, 4, 2, 0.1, -100)&lt;br /&gt;
--                        map_chan(TiTmpRF8Id, data, 6, 2, 0.1, -100) end,&lt;br /&gt;
[1208] = function(data) map_chan(TiTmpLR1Id, data, 0, 2, 0.1, -100)&lt;br /&gt;
                        map_chan(TiTmpLR2Id, data, 2, 2, 0.1, -100)&lt;br /&gt;
                        map_chan(TiTmpLR3Id, data, 4, 2, 0.1, -100)&lt;br /&gt;
                        map_chan(TiTmpLR4Id, data, 6, 2, 0.1, -100) end,&lt;br /&gt;
--[1209] = function(data) map_chan(TiTmpLR5Id, data, 0, 2, 0.1, -100)&lt;br /&gt;
--                        map_chan(TiTmpLR6Id, data, 2, 2, 0.1, -100)&lt;br /&gt;
--                        map_chan(TiTmpLR7Id, data, 4, 2, 0.1, -100)&lt;br /&gt;
--                        map_chan(TiTmpLR8Id, data, 6, 2, 0.1, -100) end,&lt;br /&gt;
[1212] = function(data) map_chan(TiTmpRR1Id, data, 0, 2, 0.1, -100)&lt;br /&gt;
                        map_chan(TiTmpRR2Id, data, 2, 2, 0.1, -100)&lt;br /&gt;
                        map_chan(TiTmpRR3Id, data, 4, 2, 0.1, -100)&lt;br /&gt;
                        map_chan(TiTmpRR4Id, data, 6, 2, 0.1, -100) end&lt;br /&gt;
--[1213] = function(data) map_chan(TiTmpRR5Id, data, 0, 2, 0.1, -100)&lt;br /&gt;
--                        map_chan(TiTmpRR6Id, data, 2, 2, 0.1, -100)&lt;br /&gt;
--                        map_chan(TiTmpRR7Id, data, 4, 2, 0.1, -100)&lt;br /&gt;
--                        map_chan(TiTmpRR8Id, data, 6, 2, 0.1, -100) end&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function onTick()&lt;br /&gt;
    processCAN(CAN_chan)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function processCAN(chan)&lt;br /&gt;
    repeat&lt;br /&gt;
        local id, e, data = rxCAN(chan)&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;
    until id == nil&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--Map CAN channel, little endian format&lt;br /&gt;
function map_chan_le(cid, data, offset, len, mult, add, filter)&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;
&lt;br /&gt;
--Map CAN channel, big endian format&lt;br /&gt;
function map_chan_be(cid, data, offset, len, mult, add, filter)&lt;br /&gt;
    offset = offset + 1&lt;br /&gt;
    local value = 0&lt;br /&gt;
    while len &amp;gt; 0 do&lt;br /&gt;
        value = (value * 256) + data[offset]&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;
&lt;br /&gt;
&lt;br /&gt;
map_chan = (be_mode == 1) and map_chan_be or map_chan_le&lt;br /&gt;
initCAN(CAN_chan, CAN_baud)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Brentp</name></author>
	</entry>
</feed>