Fix for missing Perun.RefreshStatus

This commit is contained in:
VladMordock
2020-12-29 17:41:45 +01:00
parent 9569762eac
commit 4e50fcbca9

View File

@@ -10,6 +10,7 @@ package.cpath = package.cpath..";"..lfs.currentdir().."/LuaSocket/?.dll"
-- Load config file -- Load config file
local Config = require "perun_config" local Config = require "perun_config"
Perun.RefreshStatus = Config.RefreshStatus
Perun.RefreshMission = Config.RefreshMission Perun.RefreshMission = Config.RefreshMission
Perun.TCPTargetPort = Config.TCPTargetPort Perun.TCPTargetPort = Config.TCPTargetPort
Perun.TCPPerunHost = Config.TCPPerunHost Perun.TCPPerunHost = Config.TCPPerunHost
@@ -665,37 +666,39 @@ Perun.UpdateStatus = function()
Perun.SendToPerun(2,Perun.StatusData) Perun.SendToPerun(2,Perun.StatusData)
end end
Perun.UpdateSlots = function()
-- Update and send slots data
Perun.SlotsData['coalitions']=DCS.getAvailableCoalitions()
Perun.SlotsData['slots']={}
-- Build up slot table
for _j, _i in pairs(Perun.SlotsData['coalitions']) do
Perun.SlotsData['slots'][_j]=DCS.getAvailableSlots(_j)
for _sj, _si in pairs(Perun.SlotsData['slots'][_j]) do
Perun.SlotsData['slots'][_j][_sj]['countryName']= nil
Perun.SlotsData['slots'][_j][_sj]['onboard_num']= nil
Perun.SlotsData['slots'][_j][_sj]['groupSize']= nil
Perun.SlotsData['slots'][_j][_sj]['groupName']= nil
Perun.SlotsData['slots'][_j][_sj]['callsign']= nil
Perun.SlotsData['slots'][_j][_sj]['task']= nil
Perun.SlotsData['slots'][_j][_sj]['airdromeId']= nil
Perun.SlotsData['slots'][_j][_sj]['helipadName']= nil
end
end
Perun.AddLog("Sending slots data",2)
Perun.SendToPerun(3,Perun.SlotsData)
end
Perun.UpdateMission = function() Perun.UpdateMission = function()
-- Main function for mission information updates -- Main function for mission information updates
Perun.AddLog("Updating mission data",2) Perun.AddLog("Updating mission data",2)
-- Get mission information -- Get mission information
Perun.MissionData=DCS.getCurrentMission() Perun.MissionData=DCS.getCurrentMission()
-- Update and send slots data
Perun.SlotsData['coalitions']=DCS.getAvailableCoalitions()
Perun.SlotsData['slots']={}
-- Build up slot table
for _j, _i in pairs(Perun.SlotsData['coalitions']) do
Perun.SlotsData['slots'][_j]=DCS.getAvailableSlots(_j)
for _sj, _si in pairs(Perun.SlotsData['slots'][_j]) do
Perun.SlotsData['slots'][_j][_sj]['countryName']= nil
Perun.SlotsData['slots'][_j][_sj]['onboard_num']= nil
Perun.SlotsData['slots'][_j][_sj]['groupSize']= nil
Perun.SlotsData['slots'][_j][_sj]['groupName']= nil
Perun.SlotsData['slots'][_j][_sj]['callsign']= nil
Perun.SlotsData['slots'][_j][_sj]['task']= nil
Perun.SlotsData['slots'][_j][_sj]['airdromeId']= nil
Perun.SlotsData['slots'][_j][_sj]['helipadName']= nil
end
end
Perun.AddLog("Sending slots data",2)
Perun.SendToPerun(3,Perun.SlotsData)
-- Perun.SendToPerun(4,Perun.MissionData) -- TBD can cause data transmission troubles
Perun.AddLog("Mission data updated",2) Perun.AddLog("Mission data updated",2)
end end
@@ -738,15 +741,17 @@ Perun.onSimulationFrame = function()
local _now = DCS.getRealTime() local _now = DCS.getRealTime()
-- First run -- First run
if Perun.lastSentMission ==0 and Perun.lastSentStatus ==0 then if Perun.lastSentMission == 0 and Perun.lastSentStatus == 0 then
Perun.UpdateMission() Perun.lastSentMission = _now
Perun.UpdateMission()
Perun.UpdateSlots()
end end
-- Send mission update and update JSON -- Send mission update and update JSON
if _now > Perun.lastSentMission + Perun.RefreshMission then if _now > Perun.lastSentMission + Perun.RefreshMission then
Perun.lastSentMission = _now Perun.lastSentMission = _now
-- Perun.UpdateMission() XXX Perun.UpdateMission()
end end
-- Send status update -- Send status update