Found that the basic script especially at high rpm is not stable and the light jump to and from the cutoff point. Below script gives a more stable shift light by averaging the rpm and having different on-rpm and off-rpm.
setTickRate(30)
a = 0
y = 0
function onTick()
if getGpsSpeed() > 10 then startLogging() end
local r = getTimerRpm(2)
a = (r+y)/2
if a > 7200 then setGpio(0,1) elseif a < 7000 then setGpio(0,0) end
if a > 7700 then setGpio(1,1) elseif a < 7500 then setGpio(1,0) end
if a > 8200 then setGpio(2,1) elseif a < 8000 then setGpio(2,0) end
y = r
end[/list]