add SU-25T export

This commit is contained in:
mcmicha
2016-01-30 18:58:07 +01:00
parent 096274b437
commit 743acae7da
2 changed files with 1208 additions and 1032 deletions

View File

@@ -1,5 +1,5 @@
-- Flaming Cliffs Auxiliary Functons -- Flaming Cliffs Auxiliary Functons
-- Version 0.9.9 -- Version 1.0.0
-- Weapon Panel for Su-25A and Su-25T -- Weapon Panel for Su-25A and Su-25T
function ExportScript.AF.WeaponPanel_SU25(FunctionTyp) function ExportScript.AF.WeaponPanel_SU25(FunctionTyp)
@@ -17,9 +17,7 @@ function ExportScript.AF.WeaponPanel_SU25(FunctionTyp)
ExportScript.AF.TmpWeaponPanel = {[231] = 0, [232] = 0, [233] = 0, [234] = 0, [235] = 0} ExportScript.AF.TmpWeaponPanel = {[231] = 0, [232] = 0, [233] = 0, [234] = 0, [235] = 0}
end end
if(ExportScript.AF.EventNumberOLD < ExportScript.AF.EventNumber) then -- if(ExportScript.AF.EventNumberOLD < ExportScript.AF.EventNumber) then
ExportScript.AF.EventNumberOLD = ExportScript.AF.EventNumber
-- defination -- defination
ExportScript.AF.PayloadInfo = LoGetPayloadInfo() ExportScript.AF.PayloadInfo = LoGetPayloadInfo()
if ExportScript.AF.PayloadInfo ~= nil then if ExportScript.AF.PayloadInfo ~= nil then
@@ -29,7 +27,7 @@ function ExportScript.AF.WeaponPanel_SU25(FunctionTyp)
if ExportScript.AF.CannonContainer == nil then -- Find Cannon-Containers, aka SPPU_22 if ExportScript.AF.CannonContainer == nil then -- Find Cannon-Containers, aka SPPU_22
ExportScript.AF.CannonContainer = {} ExportScript.AF.CannonContainer = {}
ExportScript.AF.CannonContainer.counter = 0 ExportScript.AF.CannonContainer.counter = 0
table.foreach(ExportScript.AF.PayloadInfo.Stations, WeaponStatusPanel_FindCannonContainer) table.foreach(ExportScript.AF.PayloadInfo.Stations, ExportScript.AF.WeaponStatusPanel_FindCannonContainer)
end end
if ExportScript.AF.PayloadInfo.CurrentStation > 0 and if ExportScript.AF.PayloadInfo.CurrentStation > 0 and
@@ -56,7 +54,7 @@ function ExportScript.AF.WeaponPanel_SU25(FunctionTyp)
if ExportScript.AF.TmpStationToPanel[ExportScript.AF.PayloadInfo.CurrentStation] ~= nil then if ExportScript.AF.TmpStationToPanel[ExportScript.AF.PayloadInfo.CurrentStation] ~= nil then
ExportScript.AF.TmpWeaponPanelActive[ExportScript.AF.TmpStationToPanel[ExportScript.AF.PayloadInfo.CurrentStation].CurrentID] = 1 -- currrent value ExportScript.AF.TmpWeaponPanelActive[ExportScript.AF.TmpStationToPanel[ExportScript.AF.PayloadInfo.CurrentStation].CurrentID] = 1 -- currrent value
table.foreach(ExportScript.AF.PayloadInfo.Stations, WeaponStatusPanel_selectCurrentPayloadStationGlassCockpit) -- corresponding station table.foreach(ExportScript.AF.PayloadInfo.Stations, ExportScript.AF.WeaponStatusPanel_selectCurrentPayloadStationGlassCockpit) -- corresponding station
end end
end end
@@ -159,6 +157,8 @@ function ExportScript.AF.WeaponPanel_SU25(FunctionTyp)
-- InnerCannon {transversely striped = 0.0, 1/4 = 01, 1/2 = 03, 3/4 = 0.6, Full = 1.0} -- InnerCannon {transversely striped = 0.0, 1/4 = 01, 1/2 = 03, 3/4 = 0.6, Full = 1.0}
-- ReserveWeapon {transversely striped = 0.0, Gun = 1.0} -- ReserveWeapon {transversely striped = 0.0, Gun = 1.0}
ExportScript.AF.TmpWeaponPanel = {}
ExportScript.AF.TmpWeaponPanel[231] = lMainGun -- main cannon shells
ExportScript.AF.TmpWeaponPanelPresend[101] = (ExportScript.AF.PayloadInfo.Stations[1].count > 0 and 1 or 0) -- weapon presend panel 1 ExportScript.AF.TmpWeaponPanelPresend[101] = (ExportScript.AF.PayloadInfo.Stations[1].count > 0 and 1 or 0) -- weapon presend panel 1
ExportScript.AF.TmpWeaponPanelPresend[102] = (ExportScript.AF.PayloadInfo.Stations[3].count > 0 and 1 or 0) -- weapon presend panel 2 ExportScript.AF.TmpWeaponPanelPresend[102] = (ExportScript.AF.PayloadInfo.Stations[3].count > 0 and 1 or 0) -- weapon presend panel 2
ExportScript.AF.TmpWeaponPanelPresend[103] = (ExportScript.AF.PayloadInfo.Stations[5].count > 0 and 1 or 0) -- weapon presend panel 3 ExportScript.AF.TmpWeaponPanelPresend[103] = (ExportScript.AF.PayloadInfo.Stations[5].count > 0 and 1 or 0) -- weapon presend panel 3
@@ -179,17 +179,14 @@ function ExportScript.AF.WeaponPanel_SU25(FunctionTyp)
--ExportScript.AF.TmpWeaponPanelActive[208] -- weapon active panel 8 --ExportScript.AF.TmpWeaponPanelActive[208] -- weapon active panel 8
--ExportScript.AF.TmpWeaponPanelActive[209] -- weapon active panel 9 --ExportScript.AF.TmpWeaponPanelActive[209] -- weapon active panel 9
--ExportScript.AF.TmpWeaponPanelActive[210] -- weapon active panel 10 --ExportScript.AF.TmpWeaponPanelActive[210] -- weapon active panel 10
ExportScript.AF.TmpWeaponPanel = {}
ExportScript.AF.TmpWeaponPanel[231] = lMainGun -- main cannon shells
ExportScript.AF.TmpWeaponPanel[232] = lWeaponType -- current weapon type ExportScript.AF.TmpWeaponPanel[232] = lWeaponType -- current weapon type
ExportScript.AF.TmpWeaponPanel[233] = lOuterCannon -- outer cannon shells ExportScript.AF.TmpWeaponPanel[233] = lOuterCannon -- outer cannon shells
ExportScript.AF.TmpWeaponPanel[234] = lInnerCannon -- inner cannon shells ExportScript.AF.TmpWeaponPanel[234] = lInnerCannon -- inner cannon shells
ExportScript.AF.TmpWeaponPanel[235] = lReserve -- reserve weapon ExportScript.AF.TmpWeaponPanel[235] = lReserve -- reserve weapon
end end
end --end
if ExportScript.Config.IkarusExport and lFunctionTyp == "Ikarus" then if ExportScript.Config.IkarusExport and lFunctionTyp == "Ikarus" then
ExportScript.Tools.WriteToLog("WeaponPanel_SU25: "..ExportScript.Tools.dump(ExportScript.AF.TmpWeaponPanelPresend))
for key, value in pairs(ExportScript.AF.TmpWeaponPanelPresend) do for key, value in pairs(ExportScript.AF.TmpWeaponPanelPresend) do
ExportScript.Tools.SendData(key, value) ExportScript.Tools.SendData(key, value)
end end
@@ -203,10 +200,10 @@ ExportScript.Tools.WriteToLog("WeaponPanel_SU25: "..ExportScript.Tools.dump(Expo
if ExportScript.Config.DACExport and lFunctionTyp == "DAC" then if ExportScript.Config.DACExport and lFunctionTyp == "DAC" then
for key, value in pairs(ExportScript.AF.TmpWeaponPanelPresend) do for key, value in pairs(ExportScript.AF.TmpWeaponPanelPresend) do
ExportScript.Tools.SendData(key, value) ExportScript.Tools.SendDataDAC(key, value)
end end
for key, value in pairs(ExportScript.AF.TmpWeaponPanelActive) do for key, value in pairs(ExportScript.AF.TmpWeaponPanelActive) do
ExportScript.Tools.SendData(key, value) ExportScript.Tools.SendDataDAC(key, value)
end end
end end
end end
@@ -250,7 +247,7 @@ function ExportScript.AF.FC_WeaponPanel_SU2733(exportid)
if ExportScript.AF.TmpStationToPanel[ExportScript.AF.PayloadInfo.CurrentStation] ~= nil then if ExportScript.AF.TmpStationToPanel[ExportScript.AF.PayloadInfo.CurrentStation] ~= nil then
ExportScript.AF.TmpWeaponPanelActive[ExportScript.AF.TmpStationToPanel[ExportScript.AF.PayloadInfo.CurrentStation].CurrentID] = 1 -- currrent value ExportScript.AF.TmpWeaponPanelActive[ExportScript.AF.TmpStationToPanel[ExportScript.AF.PayloadInfo.CurrentStation].CurrentID] = 1 -- currrent value
table.foreach(ExportScript.AF.PayloadInfo.Stations, WeaponStatusPanel_selectCurrentPayloadStationGlassCockpit) -- corresponding station table.foreach(ExportScript.AF.PayloadInfo.Stations, ExportScript.AF.WeaponStatusPanel_selectCurrentPayloadStationGlassCockpit) -- corresponding station
end end
end end
@@ -505,9 +502,8 @@ function ExportScript.AF.FC_RadarWarning_SPO15(exportid)
end end
-- HSI for SU25T, SU-27, SU-33, MIG-29 -- HSI for SU25T, SU-27, SU-33, MIG-29
function ExportScript.AF.FC_Russian_HSI(distancetoway, exportid) function ExportScript.AF.FC_Russian_HSI(distancetoway)
local lDistanceToWay = distancetoway or 999 local lDistanceToWay = distancetoway or 999
local lExportID = exportid or 5
local lDefaultOne = 1.0 local lDefaultOne = 1.0
local lDefaultNull = 0.0 local lDefaultNull = 0.0
@@ -585,7 +581,7 @@ function ExportScript.AF.FC_Russian_HSI(distancetoway, exportid)
-- HSI_lateral_deviation{-1.0, 1.0} -- HSI_lateral_deviation{-1.0, 1.0}
-- HSI_range_unavailable_flag{0.0, 1.0} -- HSI_range_unavailable_flag{0.0, 1.0}
-- HSI_course_unavailable_flag{0.0, 1.0} -- HSI_course_unavailable_flag{0.0, 1.0}
SendData(lExportID, string.format("%.4f;%.4f;%.4f;%.4f;%.1f;%.1f;%.1f;%.3f;%.3f;%.3f;%.4f;%.4f;%.1f;%.1f", --[[SendData(lExportID, string.format("%.4f;%.4f;%.4f;%.4f;%.1f;%.1f;%.1f;%.3f;%.3f;%.3f;%.4f;%.4f;%.1f;%.1f",
lHeading, -- compass card lHeading, -- compass card
(lHeading + (lHSI_Curse / lRadToDCSunsignd)) - 1, -- doppel pfeil (lHeading + (lHSI_Curse / lRadToDCSunsignd)) - 1, -- doppel pfeil
lHeading, -- gelbes dreieck lHeading, -- gelbes dreieck
@@ -599,13 +595,26 @@ function ExportScript.AF.FC_Russian_HSI(distancetoway, exportid)
lGlide, lGlide,
lSide, lSide,
lDefaultNull, -- ??? lDefaultNull, -- ???
lDefaultNull)) -- deaktiviert die Course Anzeige lDefaultNull)) -- deaktiviert die Course Anzeige]]
ExportScript.Tools.SendData(11, string.format("%.4f", lHeading)) -- compass card
ExportScript.Tools.SendData(12, string.format("%.4f", ((lHeading + (lHSI_Curse / lRadToDCSunsignd)) - 1))) -- double arrow
ExportScript.Tools.SendData(13, string.format("%.4f", lHeading)) -- yellow triangle
ExportScript.Tools.SendData(14, string.format("%.4f", (0 - (lHeading + (lHSI_ADF / lRadToDCSunsignd))))) -- yellow arrow
ExportScript.Tools.SendData(15, lDefaultNull) -- KC Flag
ExportScript.Tools.SendData(16, lDefaultOne) -- K Flag
ExportScript.Tools.SendData(17, lDefaultOne) -- L Flag
ExportScript.Tools.SendData(18, string.format("%.4f", lAltCounter[tonumber(string.sub(lDistanceToWayTmp, 1, 1))]))
ExportScript.Tools.SendData(19, string.format("%.4f", lAltCounter[tonumber(string.sub(lDistanceToWayTmp, 2, 2))]))
ExportScript.Tools.SendData(20, string.format("%.4f", lRangeCounter3))
ExportScript.Tools.SendData(21, string.format("%.4f", lGlide))
ExportScript.Tools.SendData(22, string.format("%.4f", lSide))
ExportScript.Tools.SendData(23, lDefaultNull)
ExportScript.Tools.SendData(24, lDefaultNull)
end end
-- HSI for SU25A -- HSI for SU25A
function ExportScript.AF.FC_Russian_HSI_old(exportid) function ExportScript.AF.FC_Russian_HSI_old()
local lDistanceToWay = distancetoway or 999
local lExportID = exportid or 5
local lDefaultOne = 1.0 local lDefaultOne = 1.0
local lDefaultNull = 0.0 local lDefaultNull = 0.0
@@ -634,20 +643,27 @@ function ExportScript.AF.FC_Russian_HSI_old(exportid)
-- ILS needle horizontal{-1.0, 1.0} -- ILS needle horizontal{-1.0, 1.0}
-- ILS needle vertical{-1.0, 1.0} -- ILS needle vertical{-1.0, 1.0}
SendData(lExportID, string.format("%.4f;%.4f;%.4f;%.1f;%.1f;%.4f;%.4f", --[[SendData(lExportID, string.format("%.4f;%.4f;%.4f;%.1f;%.1f;%.4f;%.4f",
lHeading, -- compass card lHeading, -- compass card
(lHeading + (lHSI_Curse / lRadToDCSunsignd)), -- - 1, -- white needle (lHeading + (lHSI_Curse / lRadToDCSunsignd)), -- - 1, -- white needle
0 - (lHeading + (lHSI_ADF / lRadToDCSunsignd)), -- yellow needle 0 - (lHeading + (lHSI_ADF / lRadToDCSunsignd)), -- yellow needle
lDefaultOne, -- T Flag lDefaultOne, -- T Flag
lDefaultOne, -- K Flag lDefaultOne, -- K Flag
lGlide, lGlide,
lSide)) lSide))))]]
ExportScript.Tools.SendData(11, string.format("%.4f", lHeading)) -- compass card
ExportScript.Tools.SendData(12, string.format("%.4f", (lHeading + (lHSI_Curse / lRadToDCSunsignd)))) -- white needle
ExportScript.Tools.SendData(13, string.format("%.4f", (0 - (lHeading + (lHSI_ADF / lRadToDCSunsignd))))) -- yellow needle
ExportScript.Tools.SendData(16, lDefaultOne) -- T Flag
ExportScript.Tools.SendData(17, lDefaultOne) -- K Flag
ExportScript.Tools.SendData(21, string.format("%.4f", lGlide))
ExportScript.Tools.SendData(22, string.format("%.4f", lSide))
end end
-- HSI-Distance for SU25A -- HSI-Distance for SU25A
function ExportScript.AF.FC_Russian_HSI_Distance_old(distancetoway, exportid) function ExportScript.AF.FC_Russian_HSI_Distance_old(distancetoway)
local lDistanceToWay = distancetoway or 999 local lDistanceToWay = distancetoway or 999
local lExportID = exportid or 21
local lAltCounter = {[0] = 0.0, [1] = 0.11, [2] = 0.22, [3] = 0.33, [4] = 0.44, [5] = 0.55, [6] = 0.66, [7] = 0.77, [8] = 0.88, [9] = 0.99} local lAltCounter = {[0] = 0.0, [1] = 0.11, [2] = 0.22, [3] = 0.33, [4] = 0.44, [5] = 0.55, [6] = 0.66, [7] = 0.77, [8] = 0.88, [9] = 0.99}
lDistanceToWay = ExportScript.Tools.round(lDistanceToWay / 1000, 1) lDistanceToWay = ExportScript.Tools.round(lDistanceToWay / 1000, 1)
@@ -673,15 +689,18 @@ function ExportScript.AF.FC_Russian_HSI_Distance_old(distancetoway, exportid)
lRangeCounter3 = lDistanceToWay * 0.11 lRangeCounter3 = lDistanceToWay * 0.11
end end
SendData(lExportID, string.format("%.3f;%.3f;%.3f", --[[SendData(lExportID, string.format("%.3f;%.3f;%.3f",
lAltCounter[tonumber(string.sub(lDistanceToWayTmp, 1, 1))], lAltCounter[tonumber(string.sub(lDistanceToWayTmp, 1, 1))],
lAltCounter[tonumber(string.sub(lDistanceToWayTmp, 2, 2))], lAltCounter[tonumber(string.sub(lDistanceToWayTmp, 2, 2))],
lRangeCounter3)) -- deaktiviert die Course Anzeige lRangeCounter3)) -- deaktiviert die Course Anzeige]]
ExportScript.Tools.SendData(18, string.format("%.4f", lAltCounter[tonumber(string.sub(lDistanceToWayTmp, 1, 1))]))
ExportScript.Tools.SendData(19, string.format("%.4f", lAltCounter[tonumber(string.sub(lDistanceToWayTmp, 2, 2))]))
ExportScript.Tools.SendData(20, string.format("%.4f", lRangeCounter3))
end end
-- ADI for SU-25, SU25T, SU-27, MIG-29A and MIG-29S -- ADI for SU-25, SU25T, SU-27, MIG-29A and MIG-29S
function ExportScript.AF.FC_Russian_ADI_Old(exportid) function ExportScript.AF.FC_Russian_ADI_Old()
local lExportID = exportid or 4
local lDefaultNull = 0.0 local lDefaultNull = 0.0
local lRadToDCSsignd = math.pi local lRadToDCSsignd = math.pi
@@ -706,9 +725,10 @@ function ExportScript.AF.FC_Russian_ADI_Old(exportid)
lNavInfoPitch = lNavInfoPitch / lRadToDCSsignd lNavInfoPitch = lNavInfoPitch / lRadToDCSsignd
lNavInfoRoll = lNavInfoRoll / lRadToDCSsignd lNavInfoRoll = lNavInfoRoll / lRadToDCSsignd
lPitch = lPitch / (lRadToDCSsignd / 2) lPitch = lPitch / (lRadToDCSsignd / 2)
--lPitch = (lPitch > 0.0 and (0 - lPitch) or (lPitch + lPitch + lPitch)) -- pitch muss negiert werden lPitch = (lPitch > 0.0 and (0 - lPitch) or (lPitch + lPitch + lPitch)) -- pitch muss negiert werden
lBank = lBank / (lRadToDCSsignd / 2) --lBank = lBank / (lRadToDCSsignd / 2)
SendData(lExportID, string.format("%.4f;%.4f;%.1f;%.1f;%.4f;%.4f;%.4f;%.4f;%.4f;%.4f", lBank = lBank / lRadToDCSsignd
--[[SendData(lExportID, string.format("%.4f;%.4f;%.1f;%.1f;%.4f;%.4f;%.4f;%.4f;%.4f;%.4f",
lBank, lBank,
lPitch, lPitch,
lDefaultNull, lDefaultNull,
@@ -718,12 +738,21 @@ function ExportScript.AF.FC_Russian_ADI_Old(exportid)
lDefaultNull, lDefaultNull,
lDefaultNull, lDefaultNull,
lDefaultNull, lDefaultNull,
lSlipBallPosition)) lSlipBallPosition))]]
ExportScript.Tools.SendData(1, string.format("%.4f", lBank))
ExportScript.Tools.SendData(2, string.format("%.4f", lPitch))
ExportScript.Tools.SendData(3, lDefaultNull)
ExportScript.Tools.SendData(4, lDefaultNull)
ExportScript.Tools.SendData(5, string.format("%.4f", lNavInfoRoll))
ExportScript.Tools.SendData(6, string.format("%.4f", lNavInfoPitch))
ExportScript.Tools.SendData(7, lDefaultNull)
ExportScript.Tools.SendData(8, lDefaultNull)
ExportScript.Tools.SendData(9, lDefaultNull)
ExportScript.Tools.SendData(10, string.format("%.4f", lSlipBallPosition))
end end
-- ADI for SU-33 -- ADI for SU-33
function ExportScript.AF.FC_Russian_ADI_New(exportid) function ExportScript.AF.FC_Russian_ADI_New()
local lExportID = exportid or 4
local lDefaultNull = 0.0 local lDefaultNull = 0.0
local lRadToDCSsignd = math.pi local lRadToDCSsignd = math.pi
@@ -750,7 +779,7 @@ function ExportScript.AF.FC_Russian_ADI_New(exportid)
lPitch = lPitch / (lRadToDCSsignd / 2) lPitch = lPitch / (lRadToDCSsignd / 2)
lPitch = (lPitch > 0.0 and (0 - lPitch) or (lPitch + lPitch + lPitch)) -- pitch muss negiert werden lPitch = (lPitch > 0.0 and (0 - lPitch) or (lPitch + lPitch + lPitch)) -- pitch muss negiert werden
lBank = lBank / lRadToDCSsignd --(lRadToDCSsignd / 2) lBank = lBank / lRadToDCSsignd --(lRadToDCSsignd / 2)
SendData(lExportID, string.format("%.4f;%.4f;%.1f;%.1f;%.4f;%.4f;%.4f;%.4f;%.4f;%.4f", --[[SendData(lExportID, string.format("%.4f;%.4f;%.1f;%.1f;%.4f;%.4f;%.4f;%.4f;%.4f;%.4f",
lBank, lBank,
lPitch, lPitch,
lDefaultNull, lDefaultNull,
@@ -760,13 +789,23 @@ function ExportScript.AF.FC_Russian_ADI_New(exportid)
lDefaultNull, lDefaultNull,
lDefaultNull, lDefaultNull,
lDefaultNull, lDefaultNull,
lSlipBallPosition)) lSlipBallPosition))]]
ExportScript.Tools.SendData(1, string.format("%.4f", lBank))
ExportScript.Tools.SendData(2, string.format("%.4f", lPitch))
ExportScript.Tools.SendData(3, lDefaultNull)
ExportScript.Tools.SendData(4, lDefaultNull)
ExportScript.Tools.SendData(5, string.format("%.4f", lNavInfoRoll))
ExportScript.Tools.SendData(6, string.format("%.4f", lNavInfoPitch))
ExportScript.Tools.SendData(7, lDefaultNull)
ExportScript.Tools.SendData(8, lDefaultNull)
ExportScript.Tools.SendData(9, lDefaultNull)
ExportScript.Tools.SendData(10, string.format("%.4f", lSlipBallPosition))
end end
-- Radar Altimeter for SU-25A, SU25-T, SU-27, SU-33 -- Radar Altimeter for SU-25A, SU25-T, SU-27, SU-33
function ExportScript.AF.FC_Russian_RadarAltimeter_1500m(warningflag, exportid) function ExportScript.AF.FC_Russian_RadarAltimeter_1500m(warningflag)
local lWarning_Flag = warningflag or 100 local lWarning_Flag = warningflag or 100
local lExportID = exportid or 7
local lScaleValue = 1500 local lScaleValue = 1500
local lAltRad = LoGetAltitudeAboveGroundLevel() -- ALTITUDE GROUND LEVEL (Meter) local lAltRad = LoGetAltitudeAboveGroundLevel() -- ALTITUDE GROUND LEVEL (Meter)
@@ -780,17 +819,21 @@ function ExportScript.AF.FC_Russian_RadarAltimeter_1500m(warningflag, exportid)
-- DangerRALT {0.0,1.0} -- DangerRALT {0.0,1.0}
-- Warning_Flag {0, 1} -- Warning_Flag {0, 1}
-- DangerRALT_Lamp {0, 1} -- DangerRALT_Lamp {0, 1}
SendData(lExportID, string.format("%.4f;%.4f;%d;%d", --[[SendData(lExportID, string.format("%.4f;%.4f;%d;%d",
lAltRad, lAltRad,
lDangerRALT, lDangerRALT,
lWarning_Flag, lWarning_Flag,
lDangerRALT_Lamp)) lDangerRALT_Lamp)))]]
ExportScript.Tools.SendData(25, string.format("%.4f", lAltRad))
ExportScript.Tools.SendData(26, string.format("%.4f", lDangerRALT))
ExportScript.Tools.SendData(27, lWarning_Flag)
ExportScript.Tools.SendData(28, lDangerRALT_Lamp)
end end
-- Radar Altimeter for MiG-29A, MiG-29S -- Radar Altimeter for MiG-29A, MiG-29S
function ExportScript.AF.FC_Russian_RadarAltimeter_1000m(warningflag, exportid) function ExportScript.AF.FC_Russian_RadarAltimeter_1000m(warningflag)
local lWarning_Flag = warningflag or 100 local lWarning_Flag = warningflag or 100
local lExportID = exportid or 7
local lScaleValue = 1000 local lScaleValue = 1000
local lAltRad = LoGetAltitudeAboveGroundLevel() -- ALTITUDE GROUND LEVEL (Meter) local lAltRad = LoGetAltitudeAboveGroundLevel() -- ALTITUDE GROUND LEVEL (Meter)
@@ -804,11 +847,16 @@ function ExportScript.AF.FC_Russian_RadarAltimeter_1000m(warningflag, exportid)
-- DangerRALT {0.0,1.0} -- DangerRALT {0.0,1.0}
-- Warning_Flag {0, 1} -- Warning_Flag {0, 1}
-- DangerRALT_Lamp {0, 1} -- DangerRALT_Lamp {0, 1}
SendData(lExportID, string.format("%.4f;%.4f;%d;%d", --[[SendData(lExportID, string.format("%.4f;%.4f;%d;%d",
lAltRad, lAltRad,
lDangerRALT, lDangerRALT,
lWarning_Flag, lWarning_Flag,
lDangerRALT_Lamp)) lDangerRALT_Lamp)))]]
ExportScript.Tools.SendData(25, string.format("%.4f", lAltRad))
ExportScript.Tools.SendData(26, string.format("%.4f", lDangerRALT))
ExportScript.Tools.SendData(27, lWarning_Flag)
ExportScript.Tools.SendData(28, lDangerRALT_Lamp)
end end
-- Barometric Altimeter for -- Barometric Altimeter for
@@ -882,8 +930,7 @@ function ExportScript.AF.FC_Russian_BarometricAltimeter(exportid)
end end
-- Barometric Altimeter for SU-25A, SU25-T -- Barometric Altimeter for SU-25A, SU25-T
function ExportScript.AF.FC_Russian_BarometricAltimeter_late(exportid) function ExportScript.AF.FC_Russian_BarometricAltimeter_late()
local lExportID = exportid or 8
local lBasicAtmospherePressure = LoGetBasicAtmospherePressure() -- BAROMETRIC PRESSURE (mm Hg) local lBasicAtmospherePressure = LoGetBasicAtmospherePressure() -- BAROMETRIC PRESSURE (mm Hg)
local lAltBar = LoGetAltitudeAboveSeaLevel() -- ALTITUDE SEA LEVEL (Meter) local lAltBar = LoGetAltitudeAboveSeaLevel() -- ALTITUDE SEA LEVEL (Meter)
@@ -909,16 +956,20 @@ function ExportScript.AF.FC_Russian_BarometricAltimeter_late(exportid)
-- AltBar_meter_needle {0.0,1.0} -- AltBar_meter_needle {0.0,1.0}
-- BasicAtmospherePressure {600.0, 800.0} -- BasicAtmospherePressure {600.0, 800.0}
-- AltBar_kilometer {0.0, 99.9} -- AltBar_kilometer {0.0, 99.9}
SendData(lExportID, string.format("%.4f;%.4f;%.4f;%.4f", --[[SendData(lExportID, string.format("%.4f;%.4f;%.4f;%.4f",
lAltBar_kilometer_needle, lAltBar_kilometer_needle,
lAltBar_meter_needle, lAltBar_meter_needle,
lBasicAtmospherePressure, lBasicAtmospherePressure,
lAltBar)) lAltBar))]]
ExportScript.Tools.SendData(30, string.format("%.4f", lAltBar_kilometer_needle))
ExportScript.Tools.SendData(31, string.format("%.4f", lAltBar_meter_needle))
ExportScript.Tools.SendData(32, string.format("%.4f", lBasicAtmospherePressure))
ExportScript.Tools.SendData(33, string.format("%.4f", lAltBar))
end end
-- Barometric Altimeter for SU-27, SU-33 -- Barometric Altimeter for SU-27, SU-33
function ExportScript.AF.FC_Russian_BarometricAltimeter_20000(exportid) function ExportScript.AF.FC_Russian_BarometricAltimeter_20000()
local lExportID = exportid or 8
local lBasicAtmospherePressure = LoGetBasicAtmospherePressure() -- BAROMETRIC PRESSURE (mm Hg) local lBasicAtmospherePressure = LoGetBasicAtmospherePressure() -- BAROMETRIC PRESSURE (mm Hg)
local lAltBar = LoGetAltitudeAboveSeaLevel() -- ALTITUDE SEA LEVEL (Meter) local lAltBar = LoGetAltitudeAboveSeaLevel() -- ALTITUDE SEA LEVEL (Meter)
@@ -943,15 +994,18 @@ function ExportScript.AF.FC_Russian_BarometricAltimeter_20000(exportid)
-- AltBar_kilometer_needle {0.0,1.0} -- AltBar_kilometer_needle {0.0,1.0}
-- AltBar_meter_needle {0.0,1.0} -- AltBar_meter_needle {0.0,1.0}
-- BasicAtmospherePressure {0.0, 1.0}={600.0, 800.0} -- BasicAtmospherePressure {0.0, 1.0}={600.0, 800.0}
SendData(lExportID, string.format("%.4f;%.4f;%.4f", --[[SendData(lExportID, string.format("%.4f;%.4f;%.4f",
lAltBar_kilometer_needle, lAltBar_kilometer_needle,
lAltBar_meter_needle, lAltBar_meter_needle,
lBasicAtmospherePressure)) lBasicAtmospherePressure))]]
ExportScript.Tools.SendData(30, string.format("%.4f", lAltBar_kilometer_needle))
ExportScript.Tools.SendData(31, string.format("%.4f", lAltBar_meter_needle))
ExportScript.Tools.SendData(32, string.format("%.4f", lBasicAtmospherePressure))
end end
-- Barometric Altimeter for MiG-29A, MiG-29S -- Barometric Altimeter for MiG-29A, MiG-29S
function ExportScript.AF.FC_Russian_BarometricAltimeter_30000(exportid) function ExportScript.AF.FC_Russian_BarometricAltimeter_30000()
local lExportID = exportid or 8
local lBasicAtmospherePressure = LoGetBasicAtmospherePressure() -- BAROMETRIC PRESSURE (mm Hg) local lBasicAtmospherePressure = LoGetBasicAtmospherePressure() -- BAROMETRIC PRESSURE (mm Hg)
local lAltBar = LoGetAltitudeAboveSeaLevel() -- ALTITUDE SEA LEVEL (Meter) local lAltBar = LoGetAltitudeAboveSeaLevel() -- ALTITUDE SEA LEVEL (Meter)
@@ -976,15 +1030,18 @@ function ExportScript.AF.FC_Russian_BarometricAltimeter_30000(exportid)
-- AltBar_kilometer_needle {0.0,1.0} -- AltBar_kilometer_needle {0.0,1.0}
-- AltBar_meter_needle {0.0,1.0} -- AltBar_meter_needle {0.0,1.0}
-- BasicAtmospherePressure {0.0, 1.0}={600.0, 800.0} -- BasicAtmospherePressure {0.0, 1.0}={600.0, 800.0}
SendData(lExportID, string.format("%.4f;%.4f;%.4f", --[[SendData(lExportID, string.format("%.4f;%.4f;%.4f",
lBasicAtmospherePressure, lBasicAtmospherePressure,
lAltBar_meter_needle, lAltBar_meter_needle,
lAltBar_kilometer_needle)) lAltBar_kilometer_needle))]]
ExportScript.Tools.SendData(30, string.format("%.4f", lAltBar_kilometer_needle))
ExportScript.Tools.SendData(31, string.format("%.4f", lAltBar_meter_needle))
ExportScript.Tools.SendData(32, string.format("%.4f", lBasicAtmospherePressure))
end end
-- Air Speed Indicator for SU-25A, SU-25T -- Air Speed Indicator for SU-25A, SU-25T
function ExportScript.AF.FC_Russian_AirSpeed_1100hkm(exportid) function ExportScript.AF.FC_Russian_AirSpeed_1100hkm()
local lExportID = exportid or 1
local lIAS = LoGetIndicatedAirSpeed() * 3.6 -- INDICATED AIRSPEED (Meter/Second to Km/h) local lIAS = LoGetIndicatedAirSpeed() * 3.6 -- INDICATED AIRSPEED (Meter/Second to Km/h)
local lTAS = LoGetTrueAirSpeed() * 3.6 -- TRUE AIRSPEED (Meter/Second to Km/h) local lTAS = LoGetTrueAirSpeed() * 3.6 -- TRUE AIRSPEED (Meter/Second to Km/h)
@@ -1031,12 +1088,14 @@ function ExportScript.AF.FC_Russian_AirSpeed_1100hkm(exportid)
-- IAS {0.0,1.0} -- IAS {0.0,1.0}
-- TAS {0.0,1.0} -- TAS {0.0,1.0}
SendData(lExportID, string.format("%.4f;%.4f", lIAS, lTAS)) --[[SendData(lExportID, string.format("%.4f;%.4f", lIAS, lTAS))]]
ExportScript.Tools.SendData(35, string.format("%.4f", lIAS))
ExportScript.Tools.SendData(36, string.format("%.4f", lTAS))
end end
-- Air Speed Indicator for SU-27, SU-33 -- Air Speed Indicator for SU-27, SU-33
function ExportScript.AF.FC_Russian_AirSpeed_1600hkm(exportid) function ExportScript.AF.FC_Russian_AirSpeed_1600hkm()
local lExportID = exportid or 1
local lScaleValueIAS = 1600 local lScaleValueIAS = 1600
local lScaleValueMach = 3.5 local lScaleValueMach = 3.5
@@ -1195,12 +1254,14 @@ function ExportScript.AF.FC_Russian_AirSpeed_1600hkm(exportid)
-- IAS {0.0,1.0} -- IAS {0.0,1.0}
-- MACH {0.0,1.0} -- MACH {0.0,1.0}
SendData(lExportID, string.format("%.4f;%.4f", lIAStmp, lMACHtmp)) --[[SendData(lExportID, string.format("%.4f;%.4f", lIAStmp, lMACHtmp))]]
ExportScript.Tools.SendData(35, string.format("%.4f", lIAStmp))
ExportScript.Tools.SendData(36, string.format("%.4f", lMACHtmp))
end end
-- Air Speed Indicator for MiG-29A, MiG-29S -- Air Speed Indicator for MiG-29A, MiG-29S
function ExportScript.AF.FC_Russian_AirSpeed_1000hkm(exportid) function ExportScript.AF.FC_Russian_AirSpeed_1000hkm()
local lExportID = exportid or 1
local lIAS = LoGetIndicatedAirSpeed() * 3.6 -- INDICATED AIRSPEED (Meter/Second to Km/h) local lIAS = LoGetIndicatedAirSpeed() * 3.6 -- INDICATED AIRSPEED (Meter/Second to Km/h)
local lThousand = 0.0 local lThousand = 0.0
@@ -1243,12 +1304,14 @@ function ExportScript.AF.FC_Russian_AirSpeed_1000hkm(exportid)
-- IAS {0.0,1.0} -- IAS {0.0,1.0}
-- Thousand {0.0,1.0} -- Thousand {0.0,1.0}
SendData(lExportID, string.format("%.4f;%.4f", lIAS, lThousand)) --[[SendData(lExportID, string.format("%.4f;%.4f", lIAS, lThousand))]]
ExportScript.Tools.SendData(35, string.format("%.4f", lIAS))
ExportScript.Tools.SendData(36, string.format("%.4f", lThousand))
end end
-- Vertical Velocity Indicator (Old Style) for SU-25, SU25T, SU-27, MIG-29A and MIG-29S -- Vertical Velocity Indicator (Old Style) for SU-25, SU25T, SU-27, MIG-29A and MIG-29S
function ExportScript.AF.FC_Russian_VVI_Old(exportid) function ExportScript.AF.FC_Russian_VVI_Old()
local lExportID = exportid or 6
local lVVI = LoGetVerticalVelocity() -- VERTICAL SPEED (Meter/Second) local lVVI = LoGetVerticalVelocity() -- VERTICAL SPEED (Meter/Second)
local lPitch, lBank, lYaw = LoGetADIPitchBankYaw() -- PITCH, BANK, YAW (Radian) local lPitch, lBank, lYaw = LoGetADIPitchBankYaw() -- PITCH, BANK, YAW (Radian)
@@ -1278,15 +1341,18 @@ function ExportScript.AF.FC_Russian_VVI_Old(exportid)
-- lVVI {-1.0, 0.0, 1.0} {0.0=0, 0.05=10, 0.10=20, 0.24=50, 0.49=100, 0.74=150, 1.0=200} -- lVVI {-1.0, 0.0, 1.0} {0.0=0, 0.05=10, 0.10=20, 0.24=50, 0.49=100, 0.74=150, 1.0=200}
-- lBank {-1.0, 0.0,1.0} -- lBank {-1.0, 0.0,1.0}
-- lSlipBallPosition {0.0,1.0} -- lSlipBallPosition {0.0,1.0}
SendData(lExportID, string.format("%.4f;%.4f;%.4f", --[[SendData(lExportID, string.format("%.4f;%.4f;%.4f",
lVVI, lVVI,
lBank, lBank,
lSlipBallPosition)) lSlipBallPosition))]]
ExportScript.Tools.SendData(40, string.format("%.4f", lVVI))
ExportScript.Tools.SendData(41, string.format("%.4f", lBank))
ExportScript.Tools.SendData(42, string.format("%.4f", lSlipBallPosition))
end end
-- VVI for SU-33 -- VVI for SU-33
function ExportScript.AF.FC_Russian_VVI_New(exportid) function ExportScript.AF.FC_Russian_VVI_New()
local lExportID = exportid or 6
local lVVI = LoGetVerticalVelocity() -- VERTICAL SPEED (Meter/Second) local lVVI = LoGetVerticalVelocity() -- VERTICAL SPEED (Meter/Second)
@@ -1321,21 +1387,24 @@ function ExportScript.AF.FC_Russian_VVI_New(exportid)
lVVI = (lVVI < -1.0 and -1.0 or lVVI) lVVI = (lVVI < -1.0 and -1.0 or lVVI)
end end
SendData(lExportID, string.format("%.4f", lVVI)) --[[SendData(lExportID, string.format("%.4f", lVVI))]]
ExportScript.Tools.SendData(40, string.format("%.4f", lVVI))
end end
-- Airintake for SU-27 and SU-33 -- Airintake for SU-27 and SU-33
function ExportScript.AF.FC_Russian_AirIntake(exportid) function ExportScript.AF.FC_Russian_AirIntake()
local lExportID = exportid or 21
local lAirI = LoGetMechInfo().airintake.value local lAirI = LoGetMechInfo().airintake.value
SendData(lExportID, string.format("%.4f;%.4f", lAirI, lAirI)) --[[SendData(lExportID, string.format("%.4f;%.4f", lAirI, lAirI))]]
ExportScript.Tools.SendData(45, string.format("%.4f", lAirI))
ExportScript.Tools.SendData(46, string.format("%.4f", lAirI))
end end
-- AOA Indicator and Accelerometer (AOA, GLoad) for SU-25, SU25T -- AOA Indicator and Accelerometer (AOA, GLoad) for SU-25, SU25T
function ExportScript.AF.FC_Russian_AOA_Su25(exportid) function ExportScript.AF.FC_Russian_AOA_Su25()
local lExportID = exportid or 3
local lAoA = LoGetAngleOfAttack() -- ANGLE OF ATTACK AoA (Radian) local lAoA = LoGetAngleOfAttack() -- ANGLE OF ATTACK AoA (Radian)
local lAccelerationUnits = LoGetAccelerationUnits().y -- G-LOAD local lAccelerationUnits = LoGetAccelerationUnits().y -- G-LOAD
@@ -1409,14 +1478,16 @@ function ExportScript.AF.FC_Russian_AOA_Su25(exportid)
lAccelerationUnits = 0.18360983599491558834620754850374 * lAccelerationUnits + 2.559143240842e-33 lAccelerationUnits = 0.18360983599491558834620754850374 * lAccelerationUnits + 2.559143240842e-33
end end
SendData(lExportID, string.format("%.4f;%.4f", --[[SendData(lExportID, string.format("%.4f;%.4f",
lAoA, lAoA,
lAccelerationUnits) ) lAccelerationUnits) )]]
ExportScript.Tools.SendData(50, string.format("%.4f", lAoA))
ExportScript.Tools.SendData(51, string.format("%.4f", lAccelerationUnits))
end end
-- AOA Indicator and Accelerometer (AOA, GLoad) for SU-27, SU33 -- AOA Indicator and Accelerometer (AOA, GLoad) for SU-27, SU33
function ExportScript.AF.FC_Russian_AOA_Su2733(exportid) function ExportScript.AF.FC_Russian_AOA_Su2733()
local lExportID = exportid or 3
local lAoA = LoGetAngleOfAttack() -- ANGLE OF ATTACK AoA (Radian) local lAoA = LoGetAngleOfAttack() -- ANGLE OF ATTACK AoA (Radian)
local lAccelerationUnits = LoGetAccelerationUnits().y -- G-LOAD local lAccelerationUnits = LoGetAccelerationUnits().y -- G-LOAD
@@ -1489,14 +1560,16 @@ function ExportScript.AF.FC_Russian_AOA_Su2733(exportid)
lAccelerationUnits = 0.09672619047619047619047619047619 * lAccelerationUnits lAccelerationUnits = 0.09672619047619047619047619047619 * lAccelerationUnits
end end
SendData(lExportID, string.format("%.4f;%.4f", --[[SendData(lExportID, string.format("%.4f;%.4f",
lAoA, lAoA,
lAccelerationUnits) ) lAccelerationUnits) )]]
ExportScript.Tools.SendData(50, string.format("%.4f", lAoA))
ExportScript.Tools.SendData(51, string.format("%.4f", lAccelerationUnits))
end end
-- AOA Indicator and Accelerometer (AOA, GLoad) for MiG-29A, MiG-29S -- AOA Indicator and Accelerometer (AOA, GLoad) for MiG-29A, MiG-29S
function ExportScript.AF.FC_Russian_AOA_MiG29(exportid) function ExportScript.AF.FC_Russian_AOA_MiG29()
local lExportID = exportid or 3
local lAoA = LoGetAngleOfAttack() -- ANGLE OF ATTACK AoA (Radian) local lAoA = LoGetAngleOfAttack() -- ANGLE OF ATTACK AoA (Radian)
local lAccelerationUnits = LoGetAccelerationUnits().y -- G-LOAD local lAccelerationUnits = LoGetAccelerationUnits().y -- G-LOAD
@@ -1569,14 +1642,16 @@ function ExportScript.AF.FC_Russian_AOA_MiG29(exportid)
lAccelerationUnits = 0.09672619047619047619047619047619 * lAccelerationUnits lAccelerationUnits = 0.09672619047619047619047619047619 * lAccelerationUnits
end end
SendData(lExportID, string.format("%.4f;%.4f", --[[SendData(lExportID, string.format("%.4f;%.4f",
lAoA, lAoA,
lAccelerationUnits) ) lAccelerationUnits) )]]
ExportScript.Tools.SendData(50, string.format("%.4f", lAoA))
ExportScript.Tools.SendData(51, string.format("%.4f", lAccelerationUnits))
end end
-- Russian Clock ACS-1 for KA-50, SU-25A, MIG-29A , MIG-29S -- Russian Clock ACS-1 for KA-50, SU-25A, MIG-29A , MIG-29S
function ExportScript.AF.FC_Russian_Clock_ACS1(exportid) function ExportScript.AF.FC_Russian_Clock_ACS1()
local lExportID = exportid or 12
local lDefaultOne = 1.0 local lDefaultOne = 1.0
local lDefaultNull = 0.0 local lDefaultNull = 0.0
@@ -1600,7 +1675,7 @@ function ExportScript.AF.FC_Russian_Clock_ACS1(exportid)
-- flight_minutes {0.0,1.0} -- flight_minutes {0.0,1.0}
-- seconds_meter_time_minutes {0.0,1.0} -- seconds_meter_time_minutes {0.0,1.0}
-- seconds_meter_time_seconds {0.0,1.0} -- seconds_meter_time_seconds {0.0,1.0}
SendData(lExportID, string.format("%.4f;%.4f;%.4f;%.1f;%.4f;%.4f;%.4f;%.4f", --[[SendData(lExportID, string.format("%.4f;%.4f;%.4f;%.1f;%.4f;%.4f;%.4f;%.4f",
lCurrentHours, lCurrentHours,
lCurrentMinutes, lCurrentMinutes,
lCurrentSeconds, lCurrentSeconds,
@@ -1608,12 +1683,20 @@ function ExportScript.AF.FC_Russian_Clock_ACS1(exportid)
lFlightTimeHours, lFlightTimeHours,
lFlightTimeMinutes, lFlightTimeMinutes,
lDefaultNull, lDefaultNull,
lDefaultNull)) lDefaultNull))]]
ExportScript.Tools.SendData(55, string.format("%.4f", lCurrentHours))
ExportScript.Tools.SendData(56, string.format("%.4f", lCurrentMinutes))
ExportScript.Tools.SendData(57, string.format("%.4f", lCurrentSeconds))
ExportScript.Tools.SendData(58, lDefaultNull) -- red/white flag
ExportScript.Tools.SendData(59, string.format("%.4f", lFlightTimeHours))
ExportScript.Tools.SendData(60, string.format("%.4f", lFlightTimeMinutes))
ExportScript.Tools.SendData(61, lDefaultNull)
ExportScript.Tools.SendData(62, lDefaultNull)
end end
-- Russian Clock (latest Model) for SU-25T, SU-27, SU-33 -- Russian Clock (latest Model) for SU-25T, SU-27, SU-33
function ExportScript.AF.FC_Russian_Clock_late(exportid) function ExportScript.AF.FC_Russian_Clock_late()
local lExportID = exportid or 12
local lDefaultOne = 1.0 local lDefaultOne = 1.0
local lDefaultNull = 0.0 local lDefaultNull = 0.0
@@ -1636,19 +1719,26 @@ function ExportScript.AF.FC_Russian_Clock_late(exportid)
-- flight_hours {0.0,1.0} -- flight_hours {0.0,1.0}
-- flight_minutes {0.0,1.0} -- flight_minutes {0.0,1.0}
-- seconds_meter_time_seconds {0.0,1.0} -- seconds_meter_time_seconds {0.0,1.0}
SendData(lExportID, string.format("%.4f;%.4f;%.4f;%.1f;%.4f;%.4f;%.4f", --[[SendData(lExportID, string.format("%.4f;%.4f;%.4f;%.1f;%.4f;%.4f;%.4f",
lCurrentHours, lCurrentHours,
lCurrentMinutes, lCurrentMinutes,
lCurrentSeconds, lCurrentSeconds,
lDefaultNull, -- red/white flag lDefaultNull, -- red/white flag
lFlightTimeHours, lFlightTimeHours,
lFlightTimeMinutes, lFlightTimeMinutes,
lCurrentSeconds)) lCurrentSeconds))]]
ExportScript.Tools.SendData(55, string.format("%.4f", lCurrentHours))
ExportScript.Tools.SendData(56, string.format("%.4f", lCurrentMinutes))
ExportScript.Tools.SendData(57, string.format("%.4f", lCurrentSeconds))
ExportScript.Tools.SendData(58, lDefaultNull) -- red/white flag
ExportScript.Tools.SendData(59, string.format("%.4f", lFlightTimeHours))
ExportScript.Tools.SendData(60, string.format("%.4f", lFlightTimeMinutes))
ExportScript.Tools.SendData(61, string.format("%.4f", lCurrentSeconds))
end end
-- Russian Enging RPM (Tachometer) for SU-25A+T, SU-27, SU-33, MIG-29 -- Russian Enging RPM (Tachometer) for SU-25A+T, SU-27, SU-33, MIG-29
function ExportScript.AF.FC_Russian_EngineRPM(exportid) function ExportScript.AF.FC_Russian_EngineRPM()
local lExportID = exportid or 9
local lScaleValue = 110 local lScaleValue = 110
local lEngineRPMleft = LoGetEngineInfo().RPM.left -- ENG1 RPM % local lEngineRPMleft = LoGetEngineInfo().RPM.left -- ENG1 RPM %
@@ -1660,13 +1750,16 @@ function ExportScript.AF.FC_Russian_EngineRPM(exportid)
lEngineRPMright = (lEngineRPMright > 1.0 and 1.0 or lEngineRPMright) -- the result is limited to 1.0 lEngineRPMright = (lEngineRPMright > 1.0 and 1.0 or lEngineRPMright) -- the result is limited to 1.0
-- EngineRPMleft {0.0,1.0} -- EngineRPMleft {0.0,1.0}
-- EngineRPMright {0.0,1.0} -- EngineRPMright {0.0,1.0}
SendData(lExportID, string.format("%.4f;%.4f", lEngineRPMleft, lEngineRPMright)) --[[SendData(lExportID, string.format("%.4f;%.4f", lEngineRPMleft, lEngineRPMright))]]
ExportScript.Tools.SendData(65, string.format("%.4f", lEngineRPMleft))
ExportScript.Tools.SendData(66, string.format("%.4f", lEngineRPMright))
end end
-- Russian Exthaus Gas Temperature 1.000GradC for SU-25A, SU25T, MIG-29 -- Russian Exthaus Gas Temperature 1.000GradC for SU-25A, SU25T, MIG-29
function ExportScript.AF.FC_Russian_EGT_1000gc(egttemp, exportid) function ExportScript.AF.FC_Russian_EGT_1000gc(egttemp, exportid)
local lEGTtemp = egttemp or 1 local lEGTtemp = egttemp or 1
local lExportID = exportid or 10 local lExportID = exportid or 70
--[[ --[[
y_min = 0.0 0.068 -- minimaler Ausgabewert y_min = 0.0 0.068 -- minimaler Ausgabewert
@@ -1690,12 +1783,12 @@ function ExportScript.AF.FC_Russian_EGT_1000gc(egttemp, exportid)
end end
-- ExthausGasTemperature {0.0,1.0} -- ExthausGasTemperature {0.0,1.0}
SendData(lExportID, string.format("%.4f", lEGTtemp)) ExportScript.Tools.SendData(lExportID, string.format("%.4f", lEGTtemp))
end end
-- Russian Mechanical Device Indicator for SU-25A+T -- Russian Mechanical Device Indicator for SU-25A+T
function ExportScript.AF.FC_Russian_MDI_SU25(exportid) function ExportScript.AF.FC_Russian_MDI_SU25(FunctionTyp)
local lExportID = exportid or 2 local lFunctionTyp = FunctionTyp or "Ikarus"
local lMechInfo = LoGetMechInfo() -- mechanical components, e.g. Flaps, Wheelbrakes,... local lMechInfo = LoGetMechInfo() -- mechanical components, e.g. Flaps, Wheelbrakes,...
if lMechInfo == nil then if lMechInfo == nil then
@@ -1717,19 +1810,39 @@ function ExportScript.AF.FC_Russian_MDI_SU25(exportid)
-- speedbreakes on {0, 1} -- speedbreakes on {0, 1}
-- flap 1. position {0, 1} -- flap 1. position {0, 1}
-- flap 2. position {0, 1} -- flap 2. position {0, 1}
SendData(lExportID, string.format("%.1f;%d;%d;%d;%d;%d;%d", --[[SendData(lExportID, string.format("%.1f;%d;%d;%d;%d;%d;%d",
lWarningLight, lWarningLight,
(lMechInfo.gear.value > 0.85 and 1 or 0), -- nose gear (lMechInfo.gear.value > 0.85 and 1 or 0), -- nose gear
(lMechInfo.gear.value > 0.95 and 1 or 0), -- left gear (lMechInfo.gear.value > 0.95 and 1 or 0), -- left gear
(lMechInfo.gear.value == 1 and 1 or 0), -- right gear (lMechInfo.gear.value == 1 and 1 or 0), -- right gear
(lMechInfo.speedbrakes.value > 0.1 and 1 or 0), -- speedbreakes on > 0.1 (0 - 1) (lMechInfo.speedbrakes.value > 0.1 and 1 or 0), -- speedbreakes on > 0.1 (0 - 1)
(lMechInfo.flaps.value > 0.25 and 1 or 0), -- flap 1. position (lMechInfo.flaps.value > 0.25 and 1 or 0), -- flap 1. position
(lMechInfo.flaps.value > 0.93 and 1 or 0))) -- flap 2. position (lMechInfo.flaps.value > 0.93 and 1 or 0))) -- flap 2. position]]
if ExportScript.Config.IkarusExport and lFunctionTyp == "Ikarus" then
ExportScript.Tools.SendData(500, string.format("%.1f", lWarningLight))
ExportScript.Tools.SendData(501, (lMechInfo.gear.value > 0.85 and 1 or 0)) -- nose gear
ExportScript.Tools.SendData(502, (lMechInfo.gear.value > 0.95 and 1 or 0)) -- left gear
ExportScript.Tools.SendData(503, (lMechInfo.gear.value == 1 and 1 or 0)) -- right gear
ExportScript.Tools.SendData(510, (lMechInfo.speedbrakes.value > 0.1 and 1 or 0)) -- speedbreakes on > 0.1 (0 - 1)
ExportScript.Tools.SendData(531, (lMechInfo.flaps.value > 0.25 and 1 or 0)) -- flap 1. position
ExportScript.Tools.SendData(532, (lMechInfo.flaps.value > 0.93 and 1 or 0)) -- flap 2. position
end
if ExportScript.Config.DACExport and lFunctionTyp == "DAC" then
ExportScript.Tools.SendDataDAC(500, (((lMechInfo.gear.status == 1 and lMechInfo.gear.value < 1) or (lMechInfo.gear.status == 0 and lMechInfo.gear.value > 0)) and 1 or 0 ))
ExportScript.Tools.SendDataDAC(501, (lMechInfo.gear.value > 0.85 and 1 or 0)) -- nose gear
ExportScript.Tools.SendDataDAC(502, (lMechInfo.gear.value > 0.95 and 1 or 0)) -- left gear
ExportScript.Tools.SendDataDAC(503, (lMechInfo.gear.value == 1 and 1 or 0)) -- right gear
ExportScript.Tools.SendDataDAC(510, (lMechInfo.speedbrakes.value > 0.1 and 1 or 0)) -- speedbreakes on > 0.1 (0 - 1)
ExportScript.Tools.SendDataDAC(531, (lMechInfo.flaps.value > 0.25 and 1 or 0)) -- flap 1. position
ExportScript.Tools.SendDataDAC(532, (lMechInfo.flaps.value > 0.93 and 1 or 0)) -- flap 2. position
ExportScript.Tools.SendDataDAC(533, ((lMechInfo.flaps.value > 0.93 and lTrueAirSpeed > 340) and 1 or 0)) -- Speed Warning for Flaps, same light as gear warning light, but blinking light
end
end end
-- Russian System Test EKRAN -- Russian System Test EKRAN
function ExportScript.AF.FC_EKRAN(exportid) function ExportScript.AF.FC_EKRAN()
local lExportID = exportid or 16
local lMCPState = LoGetMCPState() -- Warning Lights local lMCPState = LoGetMCPState() -- Warning Lights
if lMCPState == nil then if lMCPState == nil then
@@ -1828,11 +1941,16 @@ function ExportScript.AF.FC_EKRAN(exportid)
-- FAILlight (failure text) -- FAILlight (failure text)
-- MEMORYlight (memmory text) -- MEMORYlight (memmory text)
-- TURNlight (turn text) -- TURNlight (turn text)
SendData(lExportID, string.format("%s;%s;%s;%s", --[[SendData(lExportID, string.format("%s;%s;%s;%s",
gDisplayWindow, gDisplayWindow,
lFAILlight, lFAILlight,
lMEMORYlight, lMEMORYlight,
lTURNlight)) lTURNlight))]]
ExportScript.Tools.SendData(80, string.format("%s;", gDisplayWindow))
ExportScript.Tools.SendData(81, string.format("%s;", lFAILlight))
ExportScript.Tools.SendData(82, string.format("%s;", lMEMORYlight))
ExportScript.Tools.SendData(83, string.format("%s;", lTURNlight))
end end
-- ADI for A-10A, F-15C -- ADI for A-10A, F-15C
@@ -2253,7 +2371,7 @@ function ExportScript.AF.FC_OneNeedleGauge(value, scala, exportid)
lValue = lValue / lScala lValue = lValue / lScala
lValue = (lValue > 1.0 and 1.0 or lValue) -- the result is limited to 1.0 lValue = (lValue > 1.0 and 1.0 or lValue) -- the result is limited to 1.0
SendData(lExportID, string.format("%.4f", lValue)) ExportScript.Tools.SendData(lExportID, string.format("%.4f", lValue))
end end
-- Gauges with 1 needle and 2 digits display -- Gauges with 1 needle and 2 digits display
@@ -2464,7 +2582,7 @@ emitter_table =
if lTWSInfo == nil then if lTWSInfo == nil then
return return
end end
--WriteToLog('lTWSInfo: '..dump(lTWSInfo)) --ExportScript.Tools.WriteToLog('lTWSInfo: '..ExportScript.Tools.dump(lTWSInfo))
--[[ --[[
[Emitters] = { [Emitters] = {
[1] = { [1] = {
@@ -2496,18 +2614,25 @@ emitter_table =
} }
[Mode] = number: "0" [Mode] = number: "0"
]] ]]
ExportScript.Tools.WriteToLog("SPO15RWR: "..ExportScript.AF.EventNumberOLD.." < "..ExportScript.AF.EventNumber)
if(ExportScript.AF.EventNumberOLD < ExportScript.AF.EventNumber) then --if(ExportScript.AF.EventNumberOLD < ExportScript.AF.EventNumber) then
ExportScript.AF.EventNumberOLD = ExportScript.AF.EventNumber
local lPriorityTmp = 0 local lPriorityTmp = 0
local lPrimaryThreatTmp = 0 local lPrimaryThreatTmp = 0
local lActiveLamp = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0} -- 10 x for direction local lActiveLamp = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0} -- 10 x for direction
if ExportScript.AF.SPO15RWRData == nil then if ExportScript.AF.SPO15RWRData == nil then
ExportScript.AF.SPO15RWRData = {} ExportScript.AF.SPO15RWRData = {}
ExportScript.AF.SPO15RWRData[400] = 1 -- Power light
end end
ExportScript.Tools.WriteToLog("1")
if ExportScript.AF.SPO15RWRDataIkarus == nil then
ExportScript.AF.SPO15RWRDataIkarus = {}
ExportScript.AF.SPO15RWRDataIkarus[400] = 1 -- Power light
end
if(#lTWSInfo.Emitters > 0) then if(#lTWSInfo.Emitters > 0) then
ExportScript.Tools.WriteToLog("2")
ExportScript.AF.SPO15_FoundErmitter = true ExportScript.AF.SPO15_FoundErmitter = true
for EmitterIndex = 1, #lTWSInfo.Emitters, 1 do for EmitterIndex = 1, #lTWSInfo.Emitters, 1 do
@@ -2518,11 +2643,10 @@ ExportScript.Tools.WriteToLog("2")
end end
for EmitterIndex = 1, #lTWSInfo.Emitters, 1 do for EmitterIndex = 1, #lTWSInfo.Emitters, 1 do
ExportScript.Tools.WriteToLog("3")
local lAzimut = ExportScript.Tools.round(lTWSInfo.Emitters[EmitterIndex].Azimuth * 90, 1) local lAzimut = ExportScript.Tools.round(lTWSInfo.Emitters[EmitterIndex].Azimuth * 90, 1)
if EmitterIndex == lPrimaryThreatTmp then if EmitterIndex == lPrimaryThreatTmp then
ExportScript.Tools.WriteToLog("3.1")
-- primary threat -- primary threat
-- direction to the threat -- direction to the threat
ExportScript.AF.SPO15RWRData[401] = (lAzimut <= -170.0 and 1 or 0) -- left back side ExportScript.AF.SPO15RWRData[401] = (lAzimut <= -170.0 and 1 or 0) -- left back side
@@ -2579,7 +2703,8 @@ ExportScript.Tools.WriteToLog("3.1")
lPrimaryTypeTmp = nil lPrimaryTypeTmp = nil
end end
ExportScript.Tools.WriteToLog("3.2")
-- secondary threat
lActiveLamp = ExportScript.AF.SPO15RWR_SendDataHW(lActiveLamp, 1, 451, lAzimut <= -170.0) -- left back side lActiveLamp = ExportScript.AF.SPO15RWR_SendDataHW(lActiveLamp, 1, 451, lAzimut <= -170.0) -- left back side
lActiveLamp = ExportScript.AF.SPO15RWR_SendDataHW(lActiveLamp, 2, 452, (lAzimut <= -90.0 and lAzimut >= -170.0 )) -- left 90 degree lActiveLamp = ExportScript.AF.SPO15RWR_SendDataHW(lActiveLamp, 2, 452, (lAzimut <= -90.0 and lAzimut >= -170.0 )) -- left 90 degree
lActiveLamp = ExportScript.AF.SPO15RWR_SendDataHW(lActiveLamp, 3, 453, (lAzimut <= -55.0 and lAzimut >= -125.0 )) -- left 50 degree lActiveLamp = ExportScript.AF.SPO15RWR_SendDataHW(lActiveLamp, 3, 453, (lAzimut <= -55.0 and lAzimut >= -125.0 )) -- left 50 degree
@@ -2595,7 +2720,7 @@ ExportScript.Tools.WriteToLog("3.2")
-- type of the secondary threat -- type of the secondary threat
local lSecondaryTypeTmp = ExportScript.AF.FindRadarTypeForSPO15(lTWSInfo) local lSecondaryTypeTmp = ExportScript.AF.FindRadarTypeForSPO15(lTWSInfo)
ExportScript.AF.SPO15RWRData[470] = (lSecondaryTypeTmp.AIR == 1 and 1 or 0) -- primary Air or Weapon ExportScript.AF.SPO15RWRData[470] = (lSecondaryTypeTmp.AIR == 1 and 1 or 0) -- secondary Air or Weapon
ExportScript.AF.SPO15RWRData[471] = (lSecondaryTypeTmp.LRR == 1 and 1 or 0) -- long range radar ExportScript.AF.SPO15RWRData[471] = (lSecondaryTypeTmp.LRR == 1 and 1 or 0) -- long range radar
ExportScript.AF.SPO15RWRData[472] = (lSecondaryTypeTmp.MRR == 1 and 1 or 0) -- mid range radar ExportScript.AF.SPO15RWRData[472] = (lSecondaryTypeTmp.MRR == 1 and 1 or 0) -- mid range radar
ExportScript.AF.SPO15RWRData[473] = (lSecondaryTypeTmp.SRR == 1 and 1 or 0) -- short range radar ExportScript.AF.SPO15RWRData[473] = (lSecondaryTypeTmp.SRR == 1 and 1 or 0) -- short range radar
@@ -2603,26 +2728,112 @@ ExportScript.Tools.WriteToLog("3.2")
ExportScript.AF.SPO15RWRData[475] = (lSecondaryTypeTmp.AWACS == 1 and 1 or 0) -- AWACS ExportScript.AF.SPO15RWRData[475] = (lSecondaryTypeTmp.AWACS == 1 and 1 or 0) -- AWACS
lSecondaryTypeTmp = nil lSecondaryTypeTmp = nil
if ExportScript.Config.IkarusExport then
-- all data conditioned for Ikarus
ExportScript.AF.SPO15RWRDataIkarus = {[400]=1,[401]=0,[402]=0,[403]=0,[404]=0,[405]=0,[406]=0,[407]=0,[408]=0,[409]=0,[410]=0,[411]=0,[412]=0,[413]=0,[414]=0,[415]=0,[416]=0,[417]=0,[418]=0,[419]=0,[420]=0,[421]=0,[422]=0}
-- Primary threat Light 1/2
local lTmp = 0.1
for Index=401, 410, 1 do
if ExportScript.AF.SPO15RWRData[Index] == 1 and ExportScript.AF.SPO15RWRDataIkarus[401] == 0 then
ExportScript.AF.SPO15RWRDataIkarus[401] = lTmp -- Primary threat Light 1
end
if ExportScript.AF.SPO15RWRData[Index] == 1 and ExportScript.AF.SPO15RWRDataIkarus[402] == 0 and ExportScript.AF.SPO15RWRDataIkarus[401] ~= lTmp then
ExportScript.AF.SPO15RWRDataIkarus[402] = lTmp -- Primary threat Light 2
break
end
lTmp = lTmp + 0.1
end
-- Primary threat Type
for Index=430, 435, 1 do
if ExportScript.AF.SPO15RWRData[Index] == 1 then
ExportScript.AF.SPO15RWRDataIkarus[403] = ((Index - 430) / 10) + 0.1 -- 0.1=primary Air or Weapon, 0.2=long range radar, 0.3=mid range radar, 0.4=short range radar, 0.5=EWR, 0.6=AWACS
break
end
end
-- Hemisphere
if ExportScript.AF.SPO15RWRData[442] == 1 and ExportScript.AF.SPO15RWRData[443] == 1 then
ExportScript.AF.SPO15RWRDataIkarus[404] = 0.3 -- top and bottom hemisphere
elseif ExportScript.AF.SPO15RWRData[442] == 0 and ExportScript.AF.SPO15RWRData[443] == 1 then
ExportScript.AF.SPO15RWRDataIkarus[404] = 0.2 -- bottom hemisphere
elseif ExportScript.AF.SPO15RWRData[442] == 1 and ExportScript.AF.SPO15RWRData[443] == 0 then
ExportScript.AF.SPO15RWRDataIkarus[404] = 0.1 -- top hemisphere
end
-- Lock
if ExportScript.AF.SPO15RWRData[440] == 1 then
ExportScript.AF.SPO15RWRDataIkarus[405] = 0.1 -- Lock
elseif ExportScript.AF.SPO15RWRData[441] == 1 then
ExportScript.AF.SPO15RWRDataIkarus[405] = 0.2 -- Missle on air
end
-- Ermitter power
for Index=411, 425, 1 do
if ExportScript.AF.SPO15RWRData[Index] == 1 then
ExportScript.AF.SPO15RWRDataIkarus[406] = ExportScript.AF.SPO15RWRDataIkarus[406] + 0.01 -- Ermitter power 0.0 off, 0.01=first lamp - 0.15=last lamp
else
break
end
end
-- Secondary thread
lTmp = 407 -- to 416
for Index=451, 460, 1 do
if ExportScript.AF.SPO15RWRData[Index] == 1 then
ExportScript.AF.SPO15RWRDataIkarus[lTmp] = 1
end
lTmp = lTmp + 1
end
-- type of the secondary threat
if ExportScript.AF.SPO15RWRData[470] == 1 then
ExportScript.AF.SPO15RWRDataIkarus[417] = 1 -- secondary Air or Weapon
end
if ExportScript.AF.SPO15RWRData[471] == 1 then
ExportScript.AF.SPO15RWRDataIkarus[418] = 1 -- long range radar
end
if ExportScript.AF.SPO15RWRData[472] == 1 then
ExportScript.AF.SPO15RWRDataIkarus[419] = 1 -- mid range radar
end
if ExportScript.AF.SPO15RWRData[473] == 1 then
ExportScript.AF.SPO15RWRDataIkarus[420] = 1 -- short range radar
end
if ExportScript.AF.SPO15RWRData[474] == 1 then
ExportScript.AF.SPO15RWRDataIkarus[421] = 1 -- EWR
end
if ExportScript.AF.SPO15RWRData[475] == 1 then
ExportScript.AF.SPO15RWRDataIkarus[422] = 1 -- AWACS
end
end
else else
lPriorityTmp = 0 lPriorityTmp = 0
lPrimaryThreatTmp = 0 lPrimaryThreatTmp = 0
ExportScript.Tools.WriteToLog("4")
if ExportScript.AF.SPO15_FoundErmitter == nil or ExportScript.AF.SPO15_FoundErmitter then if ExportScript.AF.SPO15_FoundErmitter == nil or ExportScript.AF.SPO15_FoundErmitter then
ExportScript.AF.SPO15RWR_Reset(401, 480) ExportScript.AF.SPO15RWR_Reset(401, 480)
ExportScript.AF.SPO15RWRDataIkarus = {[400]=1,[401]=0,[402]=0,[403]=0,[404]=0,[405]=0,[406]=0,[407]=0,[408]=0,[409]=0,[410]=0,[411]=0,[412]=0,[413]=0,[414]=0,[415]=0,[416]=0,[417]=0,[418]=0,[419]=0,[420]=0,[421]=0,[422]=0}
end
end
--end
if ExportScript.Config.IkarusExport and lFunctionTyp == "Ikarus" then
if ExportScript.AF.SPO15RWRDataIkarus ~= nil then
for key, value in pairs(ExportScript.AF.SPO15RWRDataIkarus) do
ExportScript.Tools.SendData(key, value)
end end
end end
end end
if ExportScript.Config.IkarusExport and lFunctionTyp == "Ikarus" then
ExportScript.Tools.WriteToLog("SPO15RWRData: "..ExportScript.Tools.dump(ExportScript.AF.SPO15RWRData))
for key, value in pairs(ExportScript.AF.SPO15RWRData) do
ExportScript.Tools.SendData(key, value)
end
end
if ExportScript.Config.DACExport and lFunctionTyp == "DAC" then if ExportScript.Config.DACExport and lFunctionTyp == "DAC" then
for key, value in pairs(ExportScript.AF.SPO15RWRData) do if ExportScript.AF.SPO15RWRData ~= nil then
ExportScript.Tools.SendDataDAC(key, value) for key, value in pairs(ExportScript.AF.SPO15RWRData) do
ExportScript.Tools.SendDataDAC(key, value)
end
end end
end end
@@ -2780,7 +2991,7 @@ function ExportScript.AF.WeaponStatusPanel_selectCurrentPayloadStation(_index)
end end
function ExportScript.AF.SPO15RWR_Reset(lMinId, lMaxID) function ExportScript.AF.SPO15RWR_Reset(lMinId, lMaxID)
ExportScript.Tools.WriteToLog('SPO15RWR_Reset') --ExportScript.Tools.WriteToLog('SPO15RWR_Reset')
for lCounter = lMinId, lMaxID, 1 do for lCounter = lMinId, lMaxID, 1 do
ExportScript.AF.SPO15RWRData[lCounter] = 0 ExportScript.AF.SPO15RWRData[lCounter] = 0
end end

File diff suppressed because it is too large Load Diff