change function ExportScript.Tools.ProcessOutput
add export interval timing
This commit is contained in:
mcmicha 2017-07-17 23:47:34 +02:00
parent 1dc1549126
commit 944219abf2

View File

@ -1,9 +1,9 @@
-- Ikarus and D.A.C. Export Script
-- Version 1.0.0 BETA
-- Version 1.0.1
--
-- Tools
--
-- Copyright by Michael aka McMicha 2014
-- Copyright by Michael aka McMicha 2014 - 2017
-- Contact dcs2arcaze.micha@farbpigmente.org
ExportScript.Tools = {}
@ -74,9 +74,7 @@ end
function ExportScript.Tools.ProcessOutput()
local coStatus
--ExportScript.TickCount = ExportScript.TickCount + 1
ExportScript.TickCount = ExportScript.TickCount + ExportScript.Config.ExportInterval
local currentTime = LoGetModelTime()
local lMyInfo = LoGetSelfData()
if lMyInfo ~= nil then
@ -91,6 +89,7 @@ function ExportScript.Tools.ProcessOutput()
lDevice:update_arguments()
if currentTime - ExportScript.lastExportTimeHI > ExportScript.Config.ExportInterval then
if ExportScript.Config.Debug then
ExportScript.Tools.WriteToLog("run hight importance export universally")
ExportScript.Tools.ProcessArguments(lDevice, ExportScript.EveryFrameArguments) -- Module arguments as appropriate
@ -131,7 +130,10 @@ function ExportScript.Tools.ProcessOutput()
ExportScript.FirstNewDataSendCount = ExportScript.FirstNewDataSendCount - 1
end
if ExportScript.TickCount >= ExportScript.Config.ExportLowTickInterval then
ExportScript.lastExportTimeHI = currentTime
end
if currentTime - ExportScript.lastExportTimeLI > ExportScript.Config.ExportLowTickInterval then
if ExportScript.Config.Debug then
ExportScript.Tools.WriteToLog("run low importance export universally")
ExportScript.Tools.ProcessArguments(lDevice, ExportScript.Arguments) -- Module arguments as appropriate
@ -158,9 +160,9 @@ function ExportScript.Tools.ProcessOutput()
ExportScript.coProcessDACLowImportance = coroutine.create(ExportScript.ProcessDACLowImportance)
coStatus = coroutine.resume( ExportScript.coProcessDACLowImportance, lDevice)
end
ExportScript.TickCountDAC = ExportScript.TickCountDAC + 1
end
ExportScript.TickCount = 0
ExportScript.lastExportTimeLI = currentTime
end
if ExportScript.Config.IkarusExport then
@ -176,6 +178,8 @@ function ExportScript.Tools.ProcessOutput()
ExportScript.AF.EventNumber = os.clock() --tonumber(tostring(os.clock()):gsub(".", ""))
if currentTime - ExportScript.lastExportTimeHI > ExportScript.Config.ExportInterval then
if ExportScript.Config.IkarusExport then
if ExportScript.Config.Debug then
ExportScript.Tools.WriteToLog("run hight importance export Ikarus")
@ -207,7 +211,10 @@ function ExportScript.Tools.ProcessOutput()
ExportScript.FirstNewDataSendCount = ExportScript.FirstNewDataSendCount - 1
end
if ExportScript.TickCount >= ExportScript.Config.ExportLowTickInterval then
ExportScript.lastExportTimeHI = currentTime
end
if currentTime - ExportScript.lastExportTimeLI > ExportScript.Config.ExportLowTickInterval then
if ExportScript.Config.IkarusExport then
if ExportScript.Config.Debug then
ExportScript.Tools.WriteToLog("run low importance export Ikarus")
@ -226,9 +233,9 @@ function ExportScript.Tools.ProcessOutput()
ExportScript.coProcessDACLowImportance = coroutine.create(ExportScript.ProcessDACLowImportance)
coStatus = coroutine.resume( ExportScript.coProcessDACLowImportance, lDevice)
end
ExportScript.TickCountDAC = ExportScript.TickCountDAC + 1
end
ExportScript.TickCount = 0
ExportScript.lastExportTimeLI = currentTime
end
if ExportScript.Config.IkarusExport then
@ -451,15 +458,12 @@ end
function ExportScript.Tools.ResetChangeValues()
ExportScript.LastData = {}
ExportScript.TickCount = 10
end
function ExportScript.Tools.ResetChangeValuesDAC()
for i = 1, #ExportScript.Config.DAC, 1 do
ExportScript.LastDataDAC[i] = {}
end
ExportScript.TickCount = 10
ExportScript.TickCountDAC = 0
end
function ExportScript.Tools.SelectModule()