From 9d1de325216b89a6682a639fe235d781b6963d69 Mon Sep 17 00:00:00 2001 From: Hugues Hiegel Date: Fri, 15 Nov 2013 12:24:10 +0100 Subject: CLEANUP. --- scripts/fanatec.lua | 1000 +++++++++++++++++++++++++-------------------------- 1 file changed, 500 insertions(+), 500 deletions(-) (limited to 'scripts/fanatec.lua') diff --git a/scripts/fanatec.lua b/scripts/fanatec.lua index 46d944c..7809f2b 100644 --- a/scripts/fanatec.lua +++ b/scripts/fanatec.lua @@ -1,500 +1,500 @@ --- Fanatec Lua Script v1.4 --- Copyright (c)2012-2013 by Zappadoc - All Rights Reserved. --- this script builds all functions associated with --- digits panels of Fanatec device --- last change by Zappadoc - 2013-09 - --- ============================================================ --- Digits Panel functions --- ============================================================ - --- IN function of digits panel --- param: recieve from SLIMax Manager the current switch position -function fanatecDigitsEvent(swFunction) - swValue = swFunction + 1 - -- call custom script - local result = custom_fanatecDigitsEvent(swValue) - -- if result = 0 bypass the script below and return 0 - -- if result = 1 bypass the script below and return 1 - if result <= 1 then return result end - -- if result >= 2 continue - - -- call global custom script - result = global_custom_fanatecDigitsEvent(swValue) - -- if result = 0 bypass the script below and return 0 - -- if result = 1 bypass the script below and return 1 - if result <= 1 then return result end - -- if result >= 2 continue - - local hr = 0 - local mn = 0 - local sc = 0 - local ms = 0 - local hd = 0 - local lpt = 0.0 - local timeFlag = false - local unit = false - local fPanel = "" - local inf = "" - local unit = false - local spd = 0.0 - local isSlowUpdate = false - - -- get speed in kph or mph (use "rawspeed" to get value in meter/sec) - local spd = GetCarInfo("speed") - - -- get current display unit metric or imperial - unit = GetContextInfo("speedmetric") - - -- check if quick info button is down - local qi = false - qi = GetContextInfo("quickinfobutton") - if qi == nil or qi == 0 then qi = false end - if qi then - -- get index for fanatec panel - local qiF = GetContextInfo("fanatecquickinfo") - if qiF == nil then qiF = 1 end - -- force position to match QI preference - swValue = qiF - end - - -- get current simulation name - local sim = GetContextInfo("simulation") - - -- is OSP Tracking ON - local ospt = false - ospt = GetContextInfo("osptracking") - if ospt == nil then ospt = false end - if ospt then - -- show rpm - swValue = 22 - end - - -- lap finished, display lap time a few seconds - local dlt = false - dlt = GetContextInfo("displaylaptime") - if dlt == nil then dlt = false end - if dlt then - swValue = 11 - end - - -- check if PIT Feedback ON - local pf = false - pf = GetContextInfo("pitfeedback") - if pf == nil or pf == 0 then pf = false end - if pf then - -- force position to PIT function if car pits - local pit = GetCarInfo("inpits") - if pit > 0 then - swValue = 41 - end - end - - -- check postion and compute panel string - if swValue == 1 then - -- oldGear is intialized in gearEvent (see gear.lua) - if oldGear ~= nil then - -- gear - --local g = GetCarInfo("gear") - - -- get neutral - local n = string.char(GetContextInfo("neutral")) - -- get reverse char and convert to string - local r = string.char(GetContextInfo("reverse")) - -- get state of custom Optimal Shift Point (OSP) records - local ospcustom_on = GetContextInfo("ospcustom") - - - -- set neutral, reverse or current gear - if oldGear == 0 then - -- if neutral and using custom OSP record then add a dot to gear digit - SetFanatecGear(n, ospcustom_on) - - elseif oldGear < 0 then - -- reverse - SetFanatecGear(r, false) - - else - -- if gear = 'E' give the hand to SLIMax Manager - -- if g == 69 then - -- return 0 - -- end - - SetFanatecGear(string.char(oldGear), false) - end - - - return 1 - end - - elseif swValue == 2 then - -- speed - if round(spd) > 0 then - fPanel = string.format("%3d", round(spd) ) - else - fPanel = "___" - end - - elseif swValue == 3 then - -- fuel - local fuel = GetCarInfo("fuel") - if fuel ~= nil then - fuel = GetFuel(fuel, unit) - if fuel >= 100 then - fPanel = string.format("%03d", round(fuel) ) - elseif fuel >= 10 then - fPanel = string.format("F%02d", round(fuel)) - else - fPanel = string.format("F%1.1f", fuel) - end - end - - elseif swValue == 4 then - -- position - inf = GetContextInfo("position") - if inf ~= nil then - if inf >= 100 then - fPanel = string.format("%03d", inf) - else - fPanel = string.format("P%02d", inf) - end - end - - elseif swValue == 5 then - -- laps completed - inf = GetContextInfo("laps") - if inf ~= nil then - -- if more then 99 laps - if inf >= 100 then - fPanel = string.format("%3.0f", inf) - else - fPanel = string.format("L%2.0f", inf) - end - end - - elseif swValue == 6 then - -- sector - local sect = GetCarInfo("sector") - -- check if sector > 9 - if sect >9 then - fPanel = string.format("S%2d", sect) - else - fPanel = string.format("S%1d ", sect) - end - - elseif swValue == 7 then - -- total laps - local tl = GetContextInfo("lapscount") - if tl < 1 then tl = 0 end - -- if more then 99 laps - if tl >= 100 or tl >= 100 then - fPanel = string.format("%03d", tl) - else - fPanel = string.format("t%02d", tl) - end - - elseif swValue == 8 then - -- water temp - inf = GetCarInfo("watertemp") - if inf ~= nil then - inf = GetTemp(inf, unit) - fPanel = string.format("%2.1f", inf) - end - - elseif swValue == 9 then - -- oil temp - inf = GetCarInfo("oiltemp") - if inf ~= nil then - inf = GetTemp(inf, unit) - fPanel = string.format("%2.1f", inf) - end - - elseif swValue == 10 then - -- best lap time - --timeFlag = true - --dlt = true - lpt = GetTimeInfo("bestlaptime") - mFanatecText = DisplayFormatTime(lpt,mRefreshLapTimeRate,2,0,3) - - SetFanatecDigits( mFanatecText ) - return 1 - elseif swValue == 11 then - -- last lap time - --timeFlag = true - --dlt = true - lpt = GetTimeInfo("lastlaptime") - mFanatecText = DisplayFormatTime(lpt,mRefreshLapTimeRate,2,0,3) - SetFanatecDigits( mFanatecText ) - return 1 - elseif swValue >= 12 and swValue <= 18 and isAppIRacing(sim) then - --timeFlag = true - -- iRacing partials - local ts = GetContextInfo("partialcount") - local sector = GetCarInfo("sector") - if sector == nil then sector = 0 end - if ts ~= nil and ts > 0 then - if swValue == 12 then - lpt = GetPartialTimeInfo("currentpartial", sector) - elseif swValue == 13 then - lpt = GetPartialTimeInfo("vsbestlap", sector) - elseif swValue == 14 then - lpt = GetPartialTimeInfo("vsoptimallap", sector) - elseif swValue == 15 then - lpt = GetPartialTimeInfo("vsoptimalsector", sector) - elseif swValue == 16 then - lpt = GetPartialTimeInfo("vssessionbestlap", sector) - elseif swValue == 17 then - lpt = GetPartialTimeInfo("vssessionoptimallap", sector) - elseif swValue == 18 then - lpt = GetPartialTimeInfo("vssessionoptimalsector", sector) - end - else - lpt = 0.0 - end - mFanatecText = DisplayFormatTime(lpt,mDeltaTimeDelay,2,1,3) - SetFanatecDigits( mFanatecText ) - return 1 - elseif swValue == 19 then - -- real time diff vs your best - --timeFlag = true - lpt = GetTimeInfo("realdiffbest") - mFanatecText = DisplayFormatTime(lpt,mDeltaTimeDelay,2,1,3) - SetFanatecDigits( mFanatecText ) - return 1 - elseif swValue == 20 then - -- real time diff vs your last - --timeFlag = true - lpt = GetTimeInfo("realdifflast") - mFanatecText = DisplayFormatTime(lpt,mDeltaTimeDelay,2,1,3) - SetFanatecDigits( mFanatecText ) - return 1 - - elseif swValue == 21 then - -- get an average consumption of fuel per lap and gives the remaining laps - local remainintank = GetCarInfo("remainlapsintank") - if remainintank >= 100 then - fPanel = string.format("%3.0f", math.floor (remainintank)) - else - fPanel = string.format("L%2.0f", math.floor(remainintank)) - end - - elseif swValue == 22 then - -- rpm - isSlowUpdate = true - local rpm = GetCarInfo("rpm") - local r = rpm / 100.0 - if r < 100 then - fPanel = string.format("%2.1f", r) - else - fPanel = string.format("%3d.", round(r)) - end - elseif swValue == 23 then - -- track size - isSlowUpdate = true - local trcksz = GetContextInfo("tracksize") - local r = trcksz / 100 - if r < 100 then - fPanel = string.format("%2.1f", r) - else - fPanel = string.format("%3d.", round(r)) - end - - elseif swValue == 24 then - -- distance percent - local dist = GetContextInfo("lapdistance") - -- track size - local trcksz = GetContextInfo("tracksize") - local p = round(dist / (trcksz / 100)) - fPanel = string.format("%3d", p ) - - elseif swValue == 25 then - -- kers - local kers = GetCarInfo("kers") - fPanel = string.format("%3d", round(kers/1000)) - - elseif swValue == 26 then - -- kers max - local kmx = GetCarInfo("kersmax") - fPanel = string.format("%3d", round(kmx/1000)) - - elseif swValue == 27 then - -- drs - local drs = GetCarInfo("drs") - if drs == 1 then - fPanel = "ON " - else - fPanel = "OFF" - end - - elseif swValue == 28 then - -- kers percent - local kers = GetCarInfo("kers") - fPanel = string.format("%3d", round((kers/1000)/4)) - - elseif swValue == 29 then - -- wheels temp if available - inf = GetCarInfo("wheeltempfrontleft") - if inf ~= nil then - -- if rFactor convert Kelvin to Celsius (see global.lua) - if isAppRFactor(sim) then inf = KtoC(inf) end - fPanel = string.format("%3.0f", inf) - end - - elseif swValue == 30 then - inf = GetCarInfo("wheeltempfrontright") - if inf ~= nil then - if isAppRFactor(sim) then inf = KtoC(inf) end - fPanel = string.format("%3.0f", inf) - end - - elseif swValue == 31 then - inf = GetCarInfo("wheeltemprearleft") - if inf ~= nil then - if isAppRFactor(sim) then inf = KtoC(inf) end - fPanel = string.format("%3.0f", inf) - end - - elseif swValue == 32 then - inf = GetCarInfo("wheeltemprearright") - if inf ~= nil then - if isAppRFactor(sim) then inf = KtoC(inf) end - fPanel = string.format("%3.0f", inf) - end - - elseif swValue == 33 then - -- wheels pressure if available - inf = GetCarInfo("wheelpressfrontleft") - if inf ~= nil then - -- convert to psi - fPanel = string.format("%2.1f", inf / 6.88) - end - - elseif swValue == 34 then - inf = GetCarInfo("wheelpressfrontright") - if inf ~= nil then - fPanel = string.format("%2.1f", inf / 6.88) - end - - elseif swValue == 35 then - inf = GetCarInfo("wheelpressrearleft") - if inf ~= nil then - fPanel = string.format("%2.1f", inf / 6.88) - end - - elseif swValue == 36 then - inf = GetCarInfo("wheelpressrearright") - if inf ~= nil then - fPanel = string.format("%2.1f", inf / 6.88) - end - - elseif swValue == 37 then - -- brakes temp if available - inf = GetCarInfo("braketempfrontleft") - if inf ~= nil then - if isAppRFactor(sim) or sim == "GTR2.exe" then inf = KtoC(inf) end - fPanel = string.format("%3.0f", inf) - end - - elseif swValue == 38 then - inf = GetCarInfo("braketempfrontright") - if inf ~= nil then - if isAppRFactor(sim) or sim == "GTR2.exe" then inf = KtoC(inf) end - fPanel = string.format("%3.0f", inf) - end - - elseif swValue == 39 then - inf = GetCarInfo("braketemprearleft") - if inf ~= nil then - if isAppRFactor(sim) or sim == "GTR2.exe" then inf = KtoC(inf) end - fPanel = string.format("%3.0f", inf) - end - - elseif swValue == 40 then - inf = GetCarInfo("braketemprearright") - if inf ~= nil then - if isAppRFactor(sim) or sim == "GTR2.exe" then inf = KtoC(inf) end - fPanel = string.format("%3.0f", inf) - end - - elseif swValue == 41 then - -- PIT - fPanel = "PIt" - - elseif swValue == 42 then - -- sc - local sc = GetContextInfo("safetycare") - if sc == 1 then - fPanel = " SC" - else - fPanel = " " - end - - else - fPanel = " " - end - - -- the function below has been replaced with generic time display function in global.lua - - -- if timeFlag and lpt ~= nil then - - -- -- explod time - -- hr, mn, sc, hd, ms = timeDispatcher(lpt) - - - -- print("lpt:" .. lpt .. " mn:" .. mn .. " sc:" .. sc .. " hd:" .. hd .. " ms:" .. ms .."\n" ) - - -- -- update display every mDeltaTimeDelay time - -- -- current ticks > old backuped value - -- if GetTicks() > mDeltaTimeOldTicks then - -- -- store ticks + delay - -- mDeltaTimeOldTicks = GetTicks() + ( 2 * mDeltaTimeDelay) - - -- if lpt == -1 or (mn + sc + ms) == 0.00 then - -- mDeltaTimeBackup = "-.--" - - -- elseif mn > 0 or sc >= 10 then - - -- if dlt and mn <100 then - -- -- display time and mn < 100 - -- if mn >=10 then - -- -- mn > 10 - -- mDeltaTimeBackup = string.format( "%2d.%01d", mn, sc) - -- else - -- mDeltaTimeBackup = string.format( "%1d.%02d", mn, sc) - -- end - -- else - -- -- delta > 9.99s or lap time > 100mn - -- mDeltaTimeBackup = " . " - -- end - - -- else - -- -- delta - -- if lpt < 0 then - -- -- negative value - -- mDeltaTimeBackup = string.format( "-%01d.%01d ", sc, round(hd)) - -- else - -- mDeltaTimeBackup = string.format( "%01d.%02d", sc, round(hd)) - -- end - -- end - -- end - - -- fPanel = mDeltaTimeBackup - -- end - - if isSlowUpdate then - -- request slow display update - if GetTicks() > ( mDeltaTimeDelay + mDeltaTimeOldTicks ) then - mDeltaTimeOldTicks = GetTicks() - mFanatecText = fPanel - end - else - -- normal display update - mFanatecText = fPanel - end - - -- send string to sli manager - SetFanatecDigits( mFanatecText ) - return 1 -end - - +-- Fanatec Lua Script v1.4 +-- Copyright (c)2012-2013 by Zappadoc - All Rights Reserved. +-- this script builds all functions associated with +-- digits panels of Fanatec device +-- last change by Zappadoc - 2013-09 + +-- ============================================================ +-- Digits Panel functions +-- ============================================================ + +-- IN function of digits panel +-- param: recieve from SLIMax Manager the current switch position +function fanatecDigitsEvent(swFunction) + swValue = swFunction + 1 + -- call custom script + local result = custom_fanatecDigitsEvent(swValue) + -- if result = 0 bypass the script below and return 0 + -- if result = 1 bypass the script below and return 1 + if result <= 1 then return result end + -- if result >= 2 continue + + -- call global custom script + result = global_custom_fanatecDigitsEvent(swValue) + -- if result = 0 bypass the script below and return 0 + -- if result = 1 bypass the script below and return 1 + if result <= 1 then return result end + -- if result >= 2 continue + + local hr = 0 + local mn = 0 + local sc = 0 + local ms = 0 + local hd = 0 + local lpt = 0.0 + local timeFlag = false + local unit = false + local fPanel = "" + local inf = "" + local unit = false + local spd = 0.0 + local isSlowUpdate = false + + -- get speed in kph or mph (use "rawspeed" to get value in meter/sec) + local spd = GetCarInfo("speed") + + -- get current display unit metric or imperial + unit = GetContextInfo("speedmetric") + + -- check if quick info button is down + local qi = false + qi = GetContextInfo("quickinfobutton") + if qi == nil or qi == 0 then qi = false end + if qi then + -- get index for fanatec panel + local qiF = GetContextInfo("fanatecquickinfo") + if qiF == nil then qiF = 1 end + -- force position to match QI preference + swValue = qiF + end + + -- get current simulation name + local sim = GetContextInfo("simulation") + + -- is OSP Tracking ON + local ospt = false + ospt = GetContextInfo("osptracking") + if ospt == nil then ospt = false end + if ospt then + -- show rpm + swValue = 22 + end + + -- lap finished, display lap time a few seconds + local dlt = false + dlt = GetContextInfo("displaylaptime") + if dlt == nil then dlt = false end + if dlt then + swValue = 11 + end + + -- check if PIT Feedback ON + local pf = false + pf = GetContextInfo("pitfeedback") + if pf == nil or pf == 0 then pf = false end + if pf then + -- force position to PIT function if car pits + local pit = GetCarInfo("inpits") + if pit > 0 then + swValue = 41 + end + end + + -- check postion and compute panel string + if swValue == 1 then + -- oldGear is intialized in gearEvent (see gear.lua) + if oldGear ~= nil then + -- gear + --local g = GetCarInfo("gear") + + -- get neutral + local n = string.char(GetContextInfo("neutral")) + -- get reverse char and convert to string + local r = string.char(GetContextInfo("reverse")) + -- get state of custom Optimal Shift Point (OSP) records + local ospcustom_on = GetContextInfo("ospcustom") + + + -- set neutral, reverse or current gear + if oldGear == 0 then + -- if neutral and using custom OSP record then add a dot to gear digit + SetFanatecGear(n, ospcustom_on) + + elseif oldGear < 0 then + -- reverse + SetFanatecGear(r, false) + + else + -- if gear = 'E' give the hand to SLIMax Manager + -- if g == 69 then + -- return 0 + -- end + + SetFanatecGear(string.char(oldGear), false) + end + + + return 1 + end + + elseif swValue == 2 then + -- speed + if round(spd) > 0 then + fPanel = string.format("%3d", round(spd) ) + else + fPanel = "___" + end + + elseif swValue == 3 then + -- fuel + local fuel = GetCarInfo("fuel") + if fuel ~= nil then + fuel = GetFuel(fuel, unit) + if fuel >= 100 then + fPanel = string.format("%03d", round(fuel) ) + elseif fuel >= 10 then + fPanel = string.format("F%02d", round(fuel)) + else + fPanel = string.format("F%1.1f", fuel) + end + end + + elseif swValue == 4 then + -- position + inf = GetContextInfo("position") + if inf ~= nil then + if inf >= 100 then + fPanel = string.format("%03d", inf) + else + fPanel = string.format("P%02d", inf) + end + end + + elseif swValue == 5 then + -- laps completed + inf = GetContextInfo("laps") + if inf ~= nil then + -- if more then 99 laps + if inf >= 100 then + fPanel = string.format("%3.0f", inf) + else + fPanel = string.format("L%2.0f", inf) + end + end + + elseif swValue == 6 then + -- sector + local sect = GetCarInfo("sector") + -- check if sector > 9 + if sect >9 then + fPanel = string.format("S%2d", sect) + else + fPanel = string.format("S%1d ", sect) + end + + elseif swValue == 7 then + -- total laps + local tl = GetContextInfo("lapscount") + if tl < 1 then tl = 0 end + -- if more then 99 laps + if tl >= 100 or tl >= 100 then + fPanel = string.format("%03d", tl) + else + fPanel = string.format("t%02d", tl) + end + + elseif swValue == 8 then + -- water temp + inf = GetCarInfo("watertemp") + if inf ~= nil then + inf = GetTemp(inf, unit) + fPanel = string.format("%2.1f", inf) + end + + elseif swValue == 9 then + -- oil temp + inf = GetCarInfo("oiltemp") + if inf ~= nil then + inf = GetTemp(inf, unit) + fPanel = string.format("%2.1f", inf) + end + + elseif swValue == 10 then + -- best lap time + --timeFlag = true + --dlt = true + lpt = GetTimeInfo("bestlaptime") + mFanatecText = DisplayFormatTime(lpt,mRefreshLapTimeRate,2,0,3) + + SetFanatecDigits( mFanatecText ) + return 1 + elseif swValue == 11 then + -- last lap time + --timeFlag = true + --dlt = true + lpt = GetTimeInfo("lastlaptime") + mFanatecText = DisplayFormatTime(lpt,mRefreshLapTimeRate,2,0,3) + SetFanatecDigits( mFanatecText ) + return 1 + elseif swValue >= 12 and swValue <= 18 and isAppIRacing(sim) then + --timeFlag = true + -- iRacing partials + local ts = GetContextInfo("partialcount") + local sector = GetCarInfo("sector") + if sector == nil then sector = 0 end + if ts ~= nil and ts > 0 then + if swValue == 12 then + lpt = GetPartialTimeInfo("currentpartial", sector) + elseif swValue == 13 then + lpt = GetPartialTimeInfo("vsbestlap", sector) + elseif swValue == 14 then + lpt = GetPartialTimeInfo("vsoptimallap", sector) + elseif swValue == 15 then + lpt = GetPartialTimeInfo("vsoptimalsector", sector) + elseif swValue == 16 then + lpt = GetPartialTimeInfo("vssessionbestlap", sector) + elseif swValue == 17 then + lpt = GetPartialTimeInfo("vssessionoptimallap", sector) + elseif swValue == 18 then + lpt = GetPartialTimeInfo("vssessionoptimalsector", sector) + end + else + lpt = 0.0 + end + mFanatecText = DisplayFormatTime(lpt,mDeltaTimeDelay,2,1,3) + SetFanatecDigits( mFanatecText ) + return 1 + elseif swValue == 19 then + -- real time diff vs your best + --timeFlag = true + lpt = GetTimeInfo("realdiffbest") + mFanatecText = DisplayFormatTime(lpt,mDeltaTimeDelay,2,1,3) + SetFanatecDigits( mFanatecText ) + return 1 + elseif swValue == 20 then + -- real time diff vs your last + --timeFlag = true + lpt = GetTimeInfo("realdifflast") + mFanatecText = DisplayFormatTime(lpt,mDeltaTimeDelay,2,1,3) + SetFanatecDigits( mFanatecText ) + return 1 + + elseif swValue == 21 then + -- get an average consumption of fuel per lap and gives the remaining laps + local remainintank = GetCarInfo("remainlapsintank") + if remainintank >= 100 then + fPanel = string.format("%3.0f", math.floor (remainintank)) + else + fPanel = string.format("L%2.0f", math.floor(remainintank)) + end + + elseif swValue == 22 then + -- rpm + isSlowUpdate = true + local rpm = GetCarInfo("rpm") + local r = rpm / 100.0 + if r < 100 then + fPanel = string.format("%2.1f", r) + else + fPanel = string.format("%3d.", round(r)) + end + elseif swValue == 23 then + -- track size + isSlowUpdate = true + local trcksz = GetContextInfo("tracksize") + local r = trcksz / 100 + if r < 100 then + fPanel = string.format("%2.1f", r) + else + fPanel = string.format("%3d.", round(r)) + end + + elseif swValue == 24 then + -- distance percent + local dist = GetContextInfo("lapdistance") + -- track size + local trcksz = GetContextInfo("tracksize") + local p = round(dist / (trcksz / 100)) + fPanel = string.format("%3d", p ) + + elseif swValue == 25 then + -- kers + local kers = GetCarInfo("kers") + fPanel = string.format("%3d", round(kers/1000)) + + elseif swValue == 26 then + -- kers max + local kmx = GetCarInfo("kersmax") + fPanel = string.format("%3d", round(kmx/1000)) + + elseif swValue == 27 then + -- drs + local drs = GetCarInfo("drs") + if drs == 1 then + fPanel = "ON " + else + fPanel = "OFF" + end + + elseif swValue == 28 then + -- kers percent + local kers = GetCarInfo("kers") + fPanel = string.format("%3d", round((kers/1000)/4)) + + elseif swValue == 29 then + -- wheels temp if available + inf = GetCarInfo("wheeltempfrontleft") + if inf ~= nil then + -- if rFactor convert Kelvin to Celsius (see global.lua) + if isAppRFactor(sim) then inf = KtoC(inf) end + fPanel = string.format("%3.0f", inf) + end + + elseif swValue == 30 then + inf = GetCarInfo("wheeltempfrontright") + if inf ~= nil then + if isAppRFactor(sim) then inf = KtoC(inf) end + fPanel = string.format("%3.0f", inf) + end + + elseif swValue == 31 then + inf = GetCarInfo("wheeltemprearleft") + if inf ~= nil then + if isAppRFactor(sim) then inf = KtoC(inf) end + fPanel = string.format("%3.0f", inf) + end + + elseif swValue == 32 then + inf = GetCarInfo("wheeltemprearright") + if inf ~= nil then + if isAppRFactor(sim) then inf = KtoC(inf) end + fPanel = string.format("%3.0f", inf) + end + + elseif swValue == 33 then + -- wheels pressure if available + inf = GetCarInfo("wheelpressfrontleft") + if inf ~= nil then + -- convert to psi + fPanel = string.format("%2.1f", inf / 6.88) + end + + elseif swValue == 34 then + inf = GetCarInfo("wheelpressfrontright") + if inf ~= nil then + fPanel = string.format("%2.1f", inf / 6.88) + end + + elseif swValue == 35 then + inf = GetCarInfo("wheelpressrearleft") + if inf ~= nil then + fPanel = string.format("%2.1f", inf / 6.88) + end + + elseif swValue == 36 then + inf = GetCarInfo("wheelpressrearright") + if inf ~= nil then + fPanel = string.format("%2.1f", inf / 6.88) + end + + elseif swValue == 37 then + -- brakes temp if available + inf = GetCarInfo("braketempfrontleft") + if inf ~= nil then + if isAppRFactor(sim) or sim == "GTR2.exe" then inf = KtoC(inf) end + fPanel = string.format("%3.0f", inf) + end + + elseif swValue == 38 then + inf = GetCarInfo("braketempfrontright") + if inf ~= nil then + if isAppRFactor(sim) or sim == "GTR2.exe" then inf = KtoC(inf) end + fPanel = string.format("%3.0f", inf) + end + + elseif swValue == 39 then + inf = GetCarInfo("braketemprearleft") + if inf ~= nil then + if isAppRFactor(sim) or sim == "GTR2.exe" then inf = KtoC(inf) end + fPanel = string.format("%3.0f", inf) + end + + elseif swValue == 40 then + inf = GetCarInfo("braketemprearright") + if inf ~= nil then + if isAppRFactor(sim) or sim == "GTR2.exe" then inf = KtoC(inf) end + fPanel = string.format("%3.0f", inf) + end + + elseif swValue == 41 then + -- PIT + fPanel = "PIt" + + elseif swValue == 42 then + -- sc + local sc = GetContextInfo("safetycare") + if sc == 1 then + fPanel = " SC" + else + fPanel = " " + end + + else + fPanel = " " + end + + -- the function below has been replaced with generic time display function in global.lua + + -- if timeFlag and lpt ~= nil then + + -- -- explod time + -- hr, mn, sc, hd, ms = timeDispatcher(lpt) + + + -- print("lpt:" .. lpt .. " mn:" .. mn .. " sc:" .. sc .. " hd:" .. hd .. " ms:" .. ms .."\n" ) + + -- -- update display every mDeltaTimeDelay time + -- -- current ticks > old backuped value + -- if GetTicks() > mDeltaTimeOldTicks then + -- -- store ticks + delay + -- mDeltaTimeOldTicks = GetTicks() + ( 2 * mDeltaTimeDelay) + + -- if lpt == -1 or (mn + sc + ms) == 0.00 then + -- mDeltaTimeBackup = "-.--" + + -- elseif mn > 0 or sc >= 10 then + + -- if dlt and mn <100 then + -- -- display time and mn < 100 + -- if mn >=10 then + -- -- mn > 10 + -- mDeltaTimeBackup = string.format( "%2d.%01d", mn, sc) + -- else + -- mDeltaTimeBackup = string.format( "%1d.%02d", mn, sc) + -- end + -- else + -- -- delta > 9.99s or lap time > 100mn + -- mDeltaTimeBackup = " . " + -- end + + -- else + -- -- delta + -- if lpt < 0 then + -- -- negative value + -- mDeltaTimeBackup = string.format( "-%01d.%01d ", sc, round(hd)) + -- else + -- mDeltaTimeBackup = string.format( "%01d.%02d", sc, round(hd)) + -- end + -- end + -- end + + -- fPanel = mDeltaTimeBackup + -- end + + if isSlowUpdate then + -- request slow display update + if GetTicks() > ( mDeltaTimeDelay + mDeltaTimeOldTicks ) then + mDeltaTimeOldTicks = GetTicks() + mFanatecText = fPanel + end + else + -- normal display update + mFanatecText = fPanel + end + + -- send string to sli manager + SetFanatecDigits( mFanatecText ) + return 1 +end + + -- cgit v1.2.3