mirror of
https://github.com/weyne85/DCS-ExportScripts.git
synced 2025-10-29 16:58:18 +00:00
Added spitfire exports
Added: - Spitfire Altimeter Altitude (2010) - Spitfire Altimeter Pressure setting (2011) - Spitfire Altimeter Tile (3004) - Rounding function - Format for numbers above 1,000 function Corrected: - Some mossie terms
This commit is contained in:
parent
fa873a4209
commit
11d25ca09e
@ -70,9 +70,9 @@ ExportScript.ConfigEveryFrameArguments =
|
|||||||
[65] = "%.4f", -- Artificial Horizon Roll {-1.0, 1.0}
|
[65] = "%.4f", -- Artificial Horizon Roll {-1.0, 1.0}
|
||||||
[66] = "%.4f", -- Artificial Horizon Pitch {-1.0, 1.0}
|
[66] = "%.4f", -- Artificial Horizon Pitch {-1.0, 1.0}
|
||||||
[67] = "%.4f", -- Vertical Speed Indicator {-1.0, 1.0}
|
[67] = "%.4f", -- Vertical Speed Indicator {-1.0, 1.0}
|
||||||
[68] = "%.4f", -- Altimeter Needle Medium {0.0, 1.0}
|
[68] = "%.4f", -- Altimeter gauge Hundreds Needle {0.0, 1.0}
|
||||||
[69] = "%.4f", -- Altimeter Needle Large {0.0, 1.0}
|
[69] = "%.4f", -- Altimeter gauge Thousands Needle {0.0, 1.0}
|
||||||
[70] = "%.4f", -- Altimeter Needle Small {0.0, 1.0}
|
[70] = "%.4f", -- Altimeter gauge Tens Thousands Needle {0.0, 1.0}
|
||||||
[71] = "%.4f", -- Altimeter Barometer Kollsman window, 0, 1
|
[71] = "%.4f", -- Altimeter Barometer Kollsman window, 0, 1
|
||||||
[73] = "%.4f", -- Direction Indicator {0.0, 1.0}
|
[73] = "%.4f", -- Direction Indicator {0.0, 1.0}
|
||||||
[75] = "%.4f", -- Side Slip Indicator {-1.0, 1.0}
|
[75] = "%.4f", -- Side Slip Indicator {-1.0, 1.0}
|
||||||
|
|||||||
@ -14,11 +14,15 @@
|
|||||||
2007 - dial_oxygenSupplyPilot
|
2007 - dial_oxygenSupplyPilot
|
||||||
2008 - isDial_oxygenSupplyPilotRedZone
|
2008 - isDial_oxygenSupplyPilotRedZone
|
||||||
2009 - isPilotOxygenEmergency (either oxygen goes emergency)
|
2009 - isPilotOxygenEmergency (either oxygen goes emergency)
|
||||||
|
2010 - Altimeter Altitude
|
||||||
|
2011 - Altimiter Pressure setting
|
||||||
|
|
||||||
|
|
||||||
3000 - RPM and Boost Tile
|
3000 - RPM and Boost Tile
|
||||||
3001 - Compass and Directional Gyro Tile
|
3001 - Compass and Directional Gyro Tile
|
||||||
3002 - Oxygen Tile
|
3002 - Oxygen Tile
|
||||||
3003 - Channel and Freq Tile
|
3003 - Channel and Freq Tile
|
||||||
|
3004 - Altimeter Tile
|
||||||
--]]
|
--]]
|
||||||
|
|
||||||
ExportScript.FoundDCSModule = true
|
ExportScript.FoundDCSModule = true
|
||||||
@ -186,6 +190,7 @@ function ExportScript.ProcessIkarusDCSConfigHighImportance(mainPanelDevice)
|
|||||||
ExportScript.oxygenTile(mainPanelDevice)
|
ExportScript.oxygenTile(mainPanelDevice)
|
||||||
ExportScript.VhfRadioTile(mainPanelDevice)
|
ExportScript.VhfRadioTile(mainPanelDevice)
|
||||||
ExportScript.navigation1Tile(mainPanelDevice)
|
ExportScript.navigation1Tile(mainPanelDevice)
|
||||||
|
ExportScript.altimeterTile(mainPanelDevice)
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -298,7 +303,8 @@ function ExportScript.engLeftRpmTile(mainPanelDevice) --boost is [39], rpm is [3
|
|||||||
|
|
||||||
local guage_rpm = math.floor(mainPanelDevice:get_argument_value(37) * 10000)
|
local guage_rpm = math.floor(mainPanelDevice:get_argument_value(37) * 10000)
|
||||||
|
|
||||||
local dial_boostLeftRaw = math.floor(mainPanelDevice:get_argument_value(39) * 1)
|
local dial_boostLeftRaw = math.floor(mainPanelDevice:get_argument_value(39) * 1)--experemental
|
||||||
|
|
||||||
|
|
||||||
local dial_boostLeft = math.floor(dial_boostLeftRaw * 24)
|
local dial_boostLeft = math.floor(dial_boostLeftRaw * 24)
|
||||||
|
|
||||||
@ -431,14 +437,53 @@ function ExportScript.navigation1Tile(mainPanelDevice) -- [73]
|
|||||||
end
|
end
|
||||||
ExportScript.Tools.SendData(2004, dial_directionalGyro)
|
ExportScript.Tools.SendData(2004, dial_directionalGyro)
|
||||||
|
|
||||||
|
|
||||||
ExportScript.Tools.SendData(3001, string.format("Comp " .. dial_compass .. "\n"
|
ExportScript.Tools.SendData(3001, string.format("Comp " .. dial_compass .. "\n"
|
||||||
.. "Gyro " .. dial_directionalGyro))
|
.. "Gyro " .. dial_directionalGyro))
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
function ExportScript.altimeterTile(mainPanelDevice)
|
||||||
|
--[26] = "%.4f", -- Altimeter gauge Hundreds {0.0, 1.0}{0.0, 10.0}
|
||||||
|
--[27] = "%.4f", -- Altimeter gauge Thousands {0.0, 1.0}{0.0, 10.0}
|
||||||
|
--[28] = "%.4f", -- Altimeter gauge Tens Thousands {0.0, 1.0}{0.0, 10.0}
|
||||||
|
--[29] = "%.4f", -- Altimeter gauge Pressure {0.0, 1.0}{800.0, 1050.0}
|
||||||
|
local dial_altimeter_tenThousands = math.floor(mainPanelDevice:get_argument_value(28) * 100000)
|
||||||
|
local altitude = dial_altimeter_tenThousands
|
||||||
|
altitude = round(altitude,-1)
|
||||||
|
altitude = format_int(altitude)
|
||||||
|
|
||||||
|
local dial_altimeterPressure = round((mainPanelDevice:get_argument_value(29) * 250) + 800,0)
|
||||||
|
|
||||||
|
if string.find(dial_altimeterPressure, ".") then
|
||||||
|
--the dot was there, dont do anything
|
||||||
|
else --the dot is not there, so add it
|
||||||
|
dial_altimeterPressure = string.format(dial_altimeterPressure .. ".0")
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
ExportScript.Tools.SendData(2010, "Altitude:" .. "\n" .. altitude .. "ft")
|
||||||
|
ExportScript.Tools.SendData(2011, "Pressure" .. "\n" ..dial_altimeterPressure .. " mbar")
|
||||||
|
ExportScript.Tools.SendData(3004, altitude .. " ft" .. "\n" .. dial_altimeterPressure .. " mbar")--mbar == hpa. really!
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
-----------------------
|
||||||
|
-- General Functions --
|
||||||
|
-----------------------
|
||||||
|
|
||||||
function round(num, numDecimalPlaces) --http://lua-users.org/wiki/SimpleRound
|
function round(num, numDecimalPlaces) --http://lua-users.org/wiki/SimpleRound
|
||||||
local mult = 10^(numDecimalPlaces or 0)
|
local mult = 10^(numDecimalPlaces or 0)
|
||||||
return math.floor(num * mult + 0.5) / mult
|
return math.floor(num * mult + 0.5) / mult
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function format_int(number) --https://stackoverflow.com/questions/10989788/format-integer-in-lua
|
||||||
|
|
||||||
|
local i, j, minus, int, fraction = tostring(number):find('([-]?)(%d+)([.]?%d*)')
|
||||||
|
|
||||||
|
-- reverse the int-string and append a comma to all blocks of 3 digits
|
||||||
|
int = int:reverse():gsub("(%d%d%d)", "%1,")
|
||||||
|
|
||||||
|
-- reverse the int-string back remove an optional comma and put the
|
||||||
|
-- optional minus and fractional part back
|
||||||
|
return minus .. int:reverse():gsub("^,", "") .. fraction
|
||||||
|
end
|
||||||
Loading…
x
Reference in New Issue
Block a user