mirror of
https://github.com/FlightControl-Master/MOOSE.git
synced 2025-08-15 10:47:21 +00:00
INTEL - add platform type for AIR contacts (Foxbat ... ), defaults to Bogey for AIR and Unknown for everything else
SRS- added option to set a label for the SRS radio overlay OpsGroup - added options to use said label, and option to override a frequency for an SRS (TTS) sender
This commit is contained in:
parent
fd5a190490
commit
d9f409069a
@ -123,6 +123,7 @@ INTEL = {
|
||||
-- @field Ops.Target#TARGET target The Target attached to this contact.
|
||||
-- @field #string recce The name of the recce unit that detected this contact.
|
||||
-- @field #string ctype Contact type.
|
||||
-- @field #string platform [AIR] Contact platform name, e.g. Foxbat, Flanker_E, defaults to Bogey if unknown
|
||||
|
||||
--- Cluster info.
|
||||
-- @type INTEL.Cluster
|
||||
@ -153,7 +154,7 @@ INTEL.Ctype={
|
||||
|
||||
--- INTEL class version.
|
||||
-- @field #string version
|
||||
INTEL.version="0.3.0"
|
||||
INTEL.version="0.3.1"
|
||||
|
||||
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
-- ToDo list
|
||||
@ -866,7 +867,12 @@ function INTEL:_CreateContact(Positionable, RecceName)
|
||||
item.isground = group:IsGround() or false
|
||||
item.isship = group:IsShip() or false
|
||||
item.isStatic=false
|
||||
|
||||
if group:IsAir() then
|
||||
item.platform=group:GetNatoReportingName()
|
||||
else
|
||||
-- TODO optionally add ground types?
|
||||
item.platform="Unknown"
|
||||
end
|
||||
if item.category==Group.Category.AIRPLANE or item.category==Group.Category.HELICOPTER then
|
||||
item.ctype=INTEL.Ctype.AIRCRAFT
|
||||
elseif item.category==Group.Category.GROUND or item.category==Group.Category.TRAIN then
|
||||
|
||||
@ -1916,14 +1916,16 @@ end
|
||||
-- @param #string Voice Specific voice. Overrides `Gender` and `Culture`.
|
||||
-- @param #number Port SRS port. Default 5002.
|
||||
-- @param #string PathToGoogleKey Full path to the google credentials JSON file, e.g. `"C:\Users\myUsername\Downloads\key.json"`.
|
||||
-- @param #string Label Label of the SRS comms for the SRS Radio overlay. Defaults to "ROBOT". No spaces allowed!
|
||||
-- @return #OPSGROUP self
|
||||
function OPSGROUP:SetSRS(PathToSRS, Gender, Culture, Voice, Port, PathToGoogleKey)
|
||||
function OPSGROUP:SetSRS(PathToSRS, Gender, Culture, Voice, Port, PathToGoogleKey, Label)
|
||||
self.useSRS=true
|
||||
self.msrs=MSRS:New(PathToSRS, self.frequency, self.modulation)
|
||||
self.msrs:SetGender(Gender)
|
||||
self.msrs:SetCulture(Culture)
|
||||
self.msrs:SetVoice(Voice)
|
||||
self.msrs:SetPort(Port)
|
||||
self.msrs:SetLabel(Label)
|
||||
if PathToGoogleKey then
|
||||
self.msrs:SetGoogle(PathToGoogleKey)
|
||||
end
|
||||
@ -1936,8 +1938,9 @@ end
|
||||
-- @param #string Text Text of transmission.
|
||||
-- @param #number Delay Delay in seconds before the transmission is started.
|
||||
-- @param #boolean SayCallsign If `true`, the callsign is prepended to the given text. Default `false`.
|
||||
-- @param #number Frequency Override sender frequency, helpful when you need multiple radios from the same sender. Default is the frequency set for the OpsGroup.
|
||||
-- @return #OPSGROUP self
|
||||
function OPSGROUP:RadioTransmission(Text, Delay, SayCallsign)
|
||||
function OPSGROUP:RadioTransmission(Text, Delay, SayCallsign, Frequency)
|
||||
|
||||
if Delay and Delay>0 then
|
||||
self:ScheduleOnce(Delay, OPSGROUP.RadioTransmission, self, Text, 0, SayCallsign)
|
||||
@ -1947,7 +1950,11 @@ function OPSGROUP:RadioTransmission(Text, Delay, SayCallsign)
|
||||
|
||||
local freq, modu, radioon=self:GetRadio()
|
||||
|
||||
self.msrs:SetFrequencies(freq)
|
||||
if Frequency then
|
||||
self.msrs:SetFrequencies(Frequency)
|
||||
else
|
||||
self.msrs:SetFrequencies(freq)
|
||||
end
|
||||
self.msrs:SetModulations(modu)
|
||||
|
||||
if SayCallsign then
|
||||
@ -1956,7 +1963,7 @@ function OPSGROUP:RadioTransmission(Text, Delay, SayCallsign)
|
||||
end
|
||||
|
||||
-- Debug info.
|
||||
self:T(self.lid..string.format("Radio transmission on %.3f MHz %s: %s", freq, UTILS.GetModulationName(modu), Text))
|
||||
self:I(self.lid..string.format("Radio transmission on %.3f MHz %s: %s", freq, UTILS.GetModulationName(modu), Text))
|
||||
|
||||
self.msrs:PlayText(Text)
|
||||
end
|
||||
|
||||
@ -45,6 +45,7 @@
|
||||
-- @field Core.Point#COORDINATE coordinate Coordinate from where the transmission is send.
|
||||
-- @field #string path Path to the SRS exe. This includes the final slash "/".
|
||||
-- @field #string google Full path google credentials JSON file, e.g. "C:\Users\username\Downloads\service-account-file.json".
|
||||
-- @field #string Label Label showing up on the SRS radio overlay. Default is "ROBOT". No spaces allowed.
|
||||
-- @extends Core.Base#BASE
|
||||
|
||||
--- *It is a very sad thing that nowadays there is so little useless information.* - Oscar Wilde
|
||||
@ -125,11 +126,12 @@ MSRS = {
|
||||
volume = 1,
|
||||
speed = 1,
|
||||
coordinate = nil,
|
||||
Label = "ROBOT",
|
||||
}
|
||||
|
||||
--- MSRS class version.
|
||||
-- @field #string version
|
||||
MSRS.version="0.0.3"
|
||||
MSRS.version="0.0.4"
|
||||
|
||||
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
-- TODO list
|
||||
@ -164,6 +166,7 @@ function MSRS:New(PathToSRS, Frequency, Modulation)
|
||||
self:SetModulations(Modulation)
|
||||
self:SetGender()
|
||||
self:SetCoalition()
|
||||
self:SetLabel()
|
||||
|
||||
return self
|
||||
end
|
||||
@ -206,6 +209,22 @@ function MSRS:GetPath()
|
||||
return self.path
|
||||
end
|
||||
|
||||
--- Set label.
|
||||
-- @param #MSRS self
|
||||
-- @param #number Label. Default "ROBOT"
|
||||
-- @return #MSRS self
|
||||
function MSRS:SetLabel(Label)
|
||||
self.Label=Label or "ROBOT"
|
||||
return self
|
||||
end
|
||||
|
||||
--- Get label.
|
||||
-- @param #MSRS self
|
||||
-- @return #number Label.
|
||||
function MSRS:GetLabel()
|
||||
return self.Label
|
||||
end
|
||||
|
||||
--- Set port.
|
||||
-- @param #MSRS self
|
||||
-- @param #number Port Port. Default 5002.
|
||||
@ -640,8 +659,9 @@ end
|
||||
-- @param #number volume Volume.
|
||||
-- @param #number speed Speed.
|
||||
-- @param #number port Port.
|
||||
-- @param #string label Label, defaults to "ROBOT" (displayed sender name in the radio overlay of SRS) - No spaces allowed!
|
||||
-- @return #string Command.
|
||||
function MSRS:_GetCommand(freqs, modus, coal, gender, voice, culture, volume, speed, port)
|
||||
function MSRS:_GetCommand(freqs, modus, coal, gender, voice, culture, volume, speed, port,label)
|
||||
|
||||
local path=self:GetPath() or STTS.DIRECTORY
|
||||
local exe=STTS.EXECUTABLE or "DCS-SR-ExternalAudio.exe"
|
||||
@ -654,6 +674,7 @@ function MSRS:_GetCommand(freqs, modus, coal, gender, voice, culture, volume, sp
|
||||
volume=volume or self.volume
|
||||
speed=speed or self.speed
|
||||
port=port or self.port
|
||||
label=label or self.Label
|
||||
|
||||
-- Replace modulation
|
||||
modus=modus:gsub("0", "AM")
|
||||
@ -668,7 +689,7 @@ function MSRS:_GetCommand(freqs, modus, coal, gender, voice, culture, volume, sp
|
||||
--local command=string.format('start /b "" /d "%s" "%s" -f %s -m %s -c %s -p %s -n "%s" > bla.txt', path, exe, freqs, modus, coal, port, "ROBOT")
|
||||
|
||||
-- Command.
|
||||
local command=string.format('"%s\\%s" -f %s -m %s -c %s -p %s -n "%s"', path, exe, freqs, modus, coal, port, "ROBOT")
|
||||
local command=string.format('"%s\\%s" -f %s -m %s -c %s -p %s -n "%s"', path, exe, freqs, modus, coal, port, label)
|
||||
|
||||
-- Set voice or gender/culture.
|
||||
if voice then
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user