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