AEM Infinity 6H: Difference between revisions

(Created page with "=AEM Inifinity 6H ECU= Research is under way.")
 
No edit summary
Line 1: Line 1:
=AEM Inifinity 6H ECU=
=AEM Inifinity 6H ECU=


Research is under way.
 
 
<code>
setTickRate(25)
initCAN(0, 500000)
CAN_chan = 0
 
CAN_map = {
[32546816] = function(data)
  map_chan(rpmId, data, 0, 2, 0.39063, 0)
  map_chan(tpsId, data, 4, 2, 0.0015259, 0)
  map_chan(atsId, data, 6, 1, 1, 0)
  map_chan(ctsId, data, 7, 1, 1, 0)
end,
[32546820] = function(data)
  map_chan(fpsId, data, 3, 1, 0.580151, 0)
  map_chan(opsId, data, 4, 1, 0.580151, 0)
end
}
 
rpmId = addChannel("RPM", 25, 0, 0, 10000, 'RPM')
tpsId = addChannel("TPS", 10, 1, 0, 100, '%')
atsId = addChannel("ATS", 10, 1, 0, 200, 'C')
ctsId = addChannel("CTS", 10, 1, 0, 200, 'C')
fpsId = addChannel("FPS", 10, 1, 0, 200, 'PSI')
opsId = addChannel("OPS", 10, 1, 0, 200, 'PSI')
 
function onTick()
  processCAN()
end
 
function processCAN()
  repeat
    local id, e, data = rxCAN(0)
    if id ~= nil then
      local map = CAN_map[id]
      if map ~= nil then
        map(data)
      end
    end
  until id == nil
end
 
function map_chan(cid, data, offset, len, mult, add)
  offset = offset + 1
  local value = 0
  while len > 0 do
    value = (value * 256) + data[offset]
    offset = offset + 1
    len = len - 1
  end
  setChannel(cid, (value * mult) + add)
end
</code>

Revision as of 22:35, 10 September 2015

AEM Inifinity 6H ECU

setTickRate(25) initCAN(0, 500000) CAN_chan = 0

CAN_map = { [32546816] = function(data)

 map_chan(rpmId, data, 0, 2, 0.39063, 0) 
 map_chan(tpsId, data, 4, 2, 0.0015259, 0) 
 map_chan(atsId, data, 6, 1, 1, 0) 
 map_chan(ctsId, data, 7, 1, 1, 0) 

end, [32546820] = function(data)

 map_chan(fpsId, data, 3, 1, 0.580151, 0) 
 map_chan(opsId, data, 4, 1, 0.580151, 0) 

end }

rpmId = addChannel("RPM", 25, 0, 0, 10000, 'RPM') tpsId = addChannel("TPS", 10, 1, 0, 100, '%') atsId = addChannel("ATS", 10, 1, 0, 200, 'C') ctsId = addChannel("CTS", 10, 1, 0, 200, 'C') fpsId = addChannel("FPS", 10, 1, 0, 200, 'PSI') opsId = addChannel("OPS", 10, 1, 0, 200, 'PSI')

function onTick()

 processCAN() 

end

function processCAN()

 repeat 
   local id, e, data = rxCAN(0) 
   if id ~= nil then 
     local map = CAN_map[id] 
     if map ~= nil then 
       map(data) 
     end 
   end 
 until id == nil 

end

function map_chan(cid, data, offset, len, mult, add)

 offset = offset + 1 
 local value = 0 
 while len > 0 do 
   value = (value * 256) + data[offset] 
   offset = offset + 1 
   len = len - 1 
 end 
 setChannel(cid, (value * mult) + add) 

end