mirror of
https://github.com/FlightControl-Master/MOOSE.git
synced 2025-10-29 16:58:06 +00:00
Profiler
This commit is contained in:
@@ -3513,208 +3513,7 @@ end
|
||||
-- OPTION FUNCTIONS
|
||||
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
--- Set default TACAN parameters. AA TACANs are always on "Y" band.
|
||||
-- @param #FLIGHTGROUP self
|
||||
-- @param #number Channel TACAN channel.
|
||||
-- @param #string Morse Morse code. Default "XXX".
|
||||
-- @return #FLIGHTGROUP self
|
||||
function FLIGHTGROUP:SetDefaultTACAN(Channel, Morse)
|
||||
|
||||
self.tacanChannelDefault=Channel
|
||||
self.tacanMorseDefault=Morse or "XXX"
|
||||
|
||||
return self
|
||||
end
|
||||
|
||||
--- Activate TACAN beacon.
|
||||
-- @param #FLIGHTGROUP self
|
||||
-- @param #number TACANChannel TACAN Channel.
|
||||
-- @param #string TACANMorse TACAN morse code.
|
||||
-- @return #FLIGHTGROUP self
|
||||
function FLIGHTGROUP:SwitchTACANOn(TACANChannel, TACANMorse)
|
||||
|
||||
if self:IsAlive() then
|
||||
|
||||
local unit=self.group:GetUnit(1) --Wrapper.Unit#UNIT
|
||||
|
||||
if unit and unit:IsAlive() then
|
||||
|
||||
local Type=4
|
||||
local System=5
|
||||
local UnitID=unit:GetID()
|
||||
local TACANMode="Y"
|
||||
local Frequency=UTILS.TACANToFrequency(TACANChannel, TACANMode)
|
||||
|
||||
unit:CommandActivateBeacon(Type, System, Frequency, UnitID, TACANChannel, TACANMode, true, TACANMorse, true)
|
||||
|
||||
self.tacanBeacon=unit
|
||||
self.tacanChannel=TACANChannel
|
||||
self.tacanMorse=TACANMorse
|
||||
|
||||
self.tacanOn=true
|
||||
|
||||
self:I(self.lid..string.format("Switching TACAN to Channel %dY Morse %s", self.tacanChannel, tostring(self.tacanMorse)))
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
return self
|
||||
end
|
||||
|
||||
--- Deactivate TACAN beacon.
|
||||
-- @param #FLIGHTGROUP self
|
||||
-- @return #FLIGHTGROUP self
|
||||
function FLIGHTGROUP:SwitchTACANOff()
|
||||
|
||||
if self.tacanBeacon and self.tacanBeacon:IsAlive() then
|
||||
self.tacanBeacon:CommandDeactivateBeacon()
|
||||
end
|
||||
|
||||
self:I(self.lid..string.format("Switching TACAN OFF"))
|
||||
|
||||
self.tacanOn=false
|
||||
|
||||
end
|
||||
|
||||
--- Set default Radio frequency and modulation.
|
||||
-- @param #FLIGHTGROUP self
|
||||
-- @param #number Frequency Radio frequency in MHz. Default 251 MHz.
|
||||
-- @param #number Modulation Radio modulation. Default `radio.Modulation.AM`.
|
||||
-- @return #FLIGHTGROUP self
|
||||
function FLIGHTGROUP:SetDefaultRadio(Frequency, Modulation)
|
||||
|
||||
self.radioFreqDefault=Frequency or 251
|
||||
self.radioModuDefault=Modulation or radio.modulation.AM
|
||||
|
||||
self.radioOn=false
|
||||
|
||||
self.radioUse=true
|
||||
|
||||
return self
|
||||
end
|
||||
|
||||
--- Get current Radio frequency and modulation.
|
||||
-- @param #FLIGHTGROUP self
|
||||
-- @return #number Radio frequency in MHz or nil.
|
||||
-- @return #number Radio modulation or nil.
|
||||
function FLIGHTGROUP:GetRadio()
|
||||
return self.radioFreq, self.radioModu
|
||||
end
|
||||
|
||||
--- Turn radio on.
|
||||
-- @param #FLIGHTGROUP self
|
||||
-- @param #number Frequency Radio frequency in MHz.
|
||||
-- @param #number Modulation Radio modulation. Default `radio.Modulation.AM`.
|
||||
-- @return #FLIGHTGROUP self
|
||||
function FLIGHTGROUP:SwitchRadioOn(Frequency, Modulation)
|
||||
|
||||
if self:IsAlive() and Frequency then
|
||||
|
||||
Modulation=Modulation or radio.Modulation.AM
|
||||
|
||||
local group=self.group --Wrapper.Group#GROUP
|
||||
|
||||
group:SetOption(AI.Option.Air.id.SILENCE, false)
|
||||
|
||||
group:CommandSetFrequency(Frequency, Modulation)
|
||||
|
||||
self.radioFreq=Frequency
|
||||
self.radioModu=Modulation
|
||||
self.radioOn=true
|
||||
|
||||
self:I(self.lid..string.format("Switching radio to frequency %.3f MHz %s", self.radioFreq, UTILS.GetModulationName(self.radioModu)))
|
||||
|
||||
end
|
||||
|
||||
return self
|
||||
end
|
||||
|
||||
--- Turn radio off.
|
||||
-- @param #FLIGHTGROUP self
|
||||
-- @return #FLIGHTGROUP self
|
||||
function FLIGHTGROUP:SwitchRadioOff()
|
||||
|
||||
if self:IsAlive() then
|
||||
|
||||
self.group:SetOption(AI.Option.Air.id.SILENCE, true)
|
||||
|
||||
self.radioFreq=nil
|
||||
self.radioModu=nil
|
||||
self.radioOn=false
|
||||
|
||||
self:I(self.lid..string.format("Switching radio OFF"))
|
||||
|
||||
end
|
||||
|
||||
return self
|
||||
end
|
||||
|
||||
--- Set default formation.
|
||||
-- @param #FLIGHTGROUP self
|
||||
-- @param #number Formation The formation the groups flies in.
|
||||
-- @return #FLIGHTGROUP self
|
||||
function FLIGHTGROUP:SetDefaultFormation(Formation)
|
||||
|
||||
self.formationDefault=Formation
|
||||
|
||||
return self
|
||||
end
|
||||
|
||||
--- Switch to a specific formation.
|
||||
-- @param #FLIGHTGROUP self
|
||||
-- @param #number Formation New formation the group will fly in.
|
||||
-- @return #FLIGHTGROUP self
|
||||
function FLIGHTGROUP:SwitchFormation(Formation)
|
||||
|
||||
if self:IsAlive() and Formation then
|
||||
|
||||
self.group:SetOption(AI.Option.Air.id.FORMATION, Formation)
|
||||
|
||||
self.formation=Formation
|
||||
|
||||
self:I(self.lid..string.format("Switching formation to %d", self.formation))
|
||||
|
||||
end
|
||||
|
||||
return self
|
||||
end
|
||||
|
||||
--- Set default formation.
|
||||
-- @param #FLIGHTGROUP self
|
||||
-- @param #number CallsignName Callsign name.
|
||||
-- @param #number CallsignNumber Callsign number.
|
||||
-- @return #FLIGHTGROUP self
|
||||
function FLIGHTGROUP:SetDefaultCallsign(CallsignName, CallsignNumber)
|
||||
|
||||
self.callsignNameDefault=CallsignName
|
||||
self.callsignNumberDefault=CallsignNumber or 1
|
||||
|
||||
return self
|
||||
end
|
||||
|
||||
--- Switch to a specific callsign.
|
||||
-- @param #FLIGHTGROUP self
|
||||
-- @param #number CallsignName Callsign name.
|
||||
-- @param #number CallsignNumber Callsign number.
|
||||
-- @return #FLIGHTGROUP self
|
||||
function FLIGHTGROUP:SwitchCallsign(CallsignName, CallsignNumber)
|
||||
|
||||
if self:IsAlive() and CallsignName then
|
||||
|
||||
self.callsignName=CallsignName
|
||||
self.callsignNumber=CallsignNumber or 1
|
||||
|
||||
self:I(self.lid..string.format("Switching callsign to %d-%d", self.callsignName, self.callsignNumber))
|
||||
|
||||
local group=self.group --Wrapper.Group#GROUP
|
||||
|
||||
group:CommandSetCallsign(self.callsignName, self.callsignNumber)
|
||||
|
||||
end
|
||||
|
||||
return self
|
||||
end
|
||||
|
||||
|
||||
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user