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