Module Radio
-Core - The RADIO class is responsible for transmitting radio communications.
+Core - The RADIO Module is responsible for everything that is related to radio transmission and you can hear in DCS, be it TACAN beacons, Radio transmissions...
@@ -103,6 +102,8 @@+
The Radio contains 2 classes : RADIO and BEACON
+What are radio communications in DCS ?
-
@@ -128,7 +129,8 @@
- + #RADIO RADIO @@ -285,11 +361,292 @@ If a FC3 airacraft is used, it will hear every communication, whatever t
- + + +BEACON:AATACAN(TACANChannel, Message, Bearing, BeaconDuration) + + +
-
+
+
Activates a TACAN BEACON on an Aircraft.
+ +Parameters
+-
+
-
+
+
+ +#number TACANChannel: +(the "10" part in "10Y"). Note that AA TACAN are only available on Y Channels
+ -
+
+
+ +#string Message: +The Message that is going to be coded in Morse and broadcasted by the beacon
+ -
+
+
+ +#boolean Bearing: +Can the BEACON be homed on ?
+ -
+
+
+ +#number BeaconDuration: +How long will the beacon last in seconds. Omit for forever.
+
Return value
+ +#BEACON: +self
+ +Usage:
+
+ +-- Let's create a TACAN Beacon for a tanker +local myUnit = UNIT:FindByName("MyUnit") +local myBeacon = myUnit:GetBeacon() -- Creates the beacon + +myBeacon:AATACAN(20, "TEXACO", true) -- Activate the beacon
+ -
+
+
- + + #string + +BEACON.ClassName + + +
- + + + + +
- + + +BEACON:New(Positionable) + + +
-
+
+
Create a new BEACON Object.
+ + +This doesn't activate the beacon, though, use BEACON.AATACAN or BEACON.Generic +If you want to create a BEACON, you probably should use Positionable#POSITIONABLE.GetBeacon() instead.
+ +Parameter
+-
+
-
+
+
+ +Wrapper.Positionable#POSITIONABLE Positionable: +The Positionable that will receive radio capabilities.
+
Return values
+-
+
-
+
+
#BEACON: +Beacon
+ +
+ -
+
+
#nil: +If Positionable is invalid
+ +
+
+ -
+
+
- + + +BEACON:RadioBeacon(FileName, Frequency, Modulation, Power, BeaconDuration) + + +
-
+
+
Activates a general pupose Radio Beacon +This uses the very generic singleton function "trigger.action.radioTransmission()" provided by DCS to broadcast a sound file on a specific frequency.
+ + +Although any frequency could be used, only 2 DCS Modules can home on radio beacons at the time of writing : the Huey and the Mi-8. +They can home in on these specific frequencies : + Mi8 + R-828 -> 20-60MHz +* ARKUD -> 100-150MHz (canal 1 : 114166, canal 2 : 114333, canal 3 : 114583, canal 4 : 121500, canal 5 : 123100, canal 6 : 124100) AM +* ARK9 -> 150-1300KHz + Huey + AN/ARC-131 -> 30-76 Mhz FM
+ +Parameters
+-
+
-
+
+
+ +#string FileName: +The name of the audio file
+ -
+
+
+ +#number Frequency: +in MHz
+ -
+
+
+ +#number Modulation: +either radio.modulation.AM or radio.modulation.FM
+ -
+
+
+ +#number Power: +in W
+ -
+
+
+ +#number BeaconDuration: +How long will the beacon last in seconds. Omit for forever.
+
Return value
+ +#BEACON: +self
+ +Usage:
+
+ +-- Let's create a beacon for a unit in distress. +-- Frequency will be 40MHz FM (home-able by a Huey's AN/ARC-131) +-- The beacon they use is battery-powered, and only lasts for 5 min +local UnitInDistress = UNIT:FindByName("Unit1") +local UnitBeacon = UnitInDistress:GetBeacon() + +-- Set the beacon and start it +UnitBeacon:RadioBeacon("MySoundFileSOS.ogg", 40, radio.modulation.FM, 20, 5*60)
+ -
+
+
- + + +BEACON:StopAATACAN() + + +
-
+
+
Stops the AA TACAN BEACON
+ +Return value
+ +#BEACON: +self
+ +
+ - + + +BEACON:StopRadioBeacon() + + +
-
+
+
Stops the AA TACAN BEACON
+ +Return value
+ +#BEACON: +self
+ +
+ - + + +BEACON:_TACANToFrequency(TACANChannel, TACANMode) + + +
-
+
+
Converts a TACAN Channel/Mode couple into a frequency in Hz
+ +Parameters
+-
+
-
+
+
+ +#number TACANChannel:
+ -
+
+
+ +#string TACANMode:
+
Return values
+-
+
-
+
+
#number: +Frequecy
+ +
+ -
+
+
#nil: +if parameters are invalid
+ +
+
+ -
+
+
- RADIO.SetFileName() : Sets the file name of your sound file (e.g. "Noise.ogg"), -
- RADIO.SetFrequency() : Sets the frequency of your transmission, +
- RADIO.SetFrequency() : Sets the frequency of your transmission.
- RADIO.SetModulation() : Sets the modulation of your transmission. +
- RADIO.SetLoop() : Choose if you want the transmission to be looped. If you need your transmission to be looped, you might need a #BEACON instead...
- RADIO.SetLoop() : Choose if you want the transmission to be looped,
- RADIO.SetSubtitle() : Set both the subtitle and its duration,
- RADIO.NewUnitTransmission() : Shortcut to set all the relevant parameters in one method call
-
-
Actually Broadcast the transmission
+Actually Broadcast the transmission +* The Radio has to be populated with the new transmission before broadcasting.
+ + +-
+
- Please use RADIO setters or either Radio#RADIO.NewGenericTransmission or Radio#RADIO.NewUnitTransmission +
- This class is in fact pretty smart, it determines the right DCS function to use depending on the type of POSITIONABLE +
- If the POSITIONABLE is not a UNIT or a GROUP, we use the generic (but limited) trigger.action.radioTransmission() +
- If the POSITIONABLE is a UNIT or a GROUP, we use the "TransmitMessage" Command +
- If your POSITIONABLE is a UNIT or a GROUP, the Power is ignored. +
- If your POSITIONABLE is not a UNIT or a GROUP, the Subtitle, SubtitleDuration are ignored +
Return value
#RADIO: self
-Usage:
-
--- The Radio has to be populated with the new transmission before broadcasting. --- Please use RADIO setters or either @{Radio#RADIO.NewGenericTransmission} or @{Radio#RADIO.NewUnitTransmission} --- This class is in fact pretty smart, it determines the right DCS function to use depending on the type of POSITIONABLE --- If the POSITIONABLE is not a UNIT or a GROUP, we use the generic (but limited) trigger.action.radioTransmission() --- If the POSITIONABLE is a UNIT or a GROUP, we use the "TransmitMessage" Command --- If your POSITIONABLE is a UNIT or a GROUP, the Power is ignored. --- If your POSITIONABLE is not a UNIT or a GROUP, the Subtitle, SubtitleDuration and Loop are ignored - -RADIO:NewGenericTransmission(FileName, Frequency, Modulation, Power) +RADIO:NewGenericTransmission(FileName, Frequency, Modulation, Power, Loop)
-
-
Create a new transmission, that is to say, populate the RADIO with relevant data
+Create a new transmission, that is to say, populate the RADIO with relevant data +In this function the data is especially relevant if the broadcaster is anything but a UNIT or a GROUP, +but it will work with a UNIT or a GROUP anyway.
+ + +Only the #RADIO and the Filename are mandatory
Parameters
-
@@ -512,6 +874,11 @@ either radio.modulation.AM or radio.modulation.FM
-
+
+
+Loop:
+ +#number Power: in WReturn value
@@ -519,11 +886,6 @@ in W#RADIO: self
-Usage:
-
--- In this function the data is especially relevant if the broadcaster is anything but a UNIT or a GROUP, -but it will work with a UNIT or a GROUP anyway --- Only the RADIO and the Filename are mandatory -
+
+
-
-
Create a new transmission, that is to say, populate the RADIO with relevant data
+Create a new transmission, that is to say, populate the RADIO with relevant data +In this function the data is especially relevant if the broadcaster is a UNIT or a GROUP, +but it will work for any Positionable#POSITIONABLE.
+ + +Only the RADIO and the Filename are mandatory.
Parameters
-
@@ -578,11 +945,6 @@ either radio.modulation.AM or radio.modulation.FM
#RADIO: self
-Usage:
-
--- In this function the data is especially relevant if the broadcaster is a UNIT or a GROUP, -but it will work for any POSITIONABLE --- Only the RADIO and the Filename are mandatory -
-
Check validity of the subtitle and the subtitleDuration passed and sets RADIO.subtitle and RADIO.subtitleDuration
+Check validity of the subtitle and the subtitleDuration passed and sets RADIO.subtitle and RADIO.subtitleDuration +Both parameters are mandatory, since it wouldn't make much sense to change the Subtitle and not its duration
Parameters
-
@@ -781,7 +1144,12 @@ in s
self
Usage:
-
+-- Both parameters are mandatory, since it wouldn't make much sense to change the Subtitle and not its duration-- create the broadcaster and attaches it a RADIO +local MyUnit = UNIT:FindByName("MyUnit") +local MyUnitRadio = MyUnit:GetRadio() + +-- add a subtitle for the next transmission, which will be up for 10s +MyUnitRadio:SetSubtitle("My Subtitle, 10) -
-
Stops a transmission
+Stops a transmission +This function is especially usefull to stop the broadcast of looped transmissions
Return value
#RADIO: self
-Usage:
-
--- Especially usefull to stop the broadcast of looped transmissions --- Only works with broadcasts from UNIT or GROUP - Movement
- Object
- Point -
- Positionable
- Process_JTAC
- Process_Pickup
- Radio diff --git a/docs/Documentation/Scenery.html b/docs/Documentation/Scenery.html index b574ee5e8..befe15421 100644 --- a/docs/Documentation/Scenery.html +++ b/docs/Documentation/Scenery.html @@ -62,7 +62,6 @@
- Movement
- Object
- Point -
- Positionable
- Process_JTAC
- Process_Pickup
- Radio diff --git a/docs/Documentation/ScheduleDispatcher.html b/docs/Documentation/ScheduleDispatcher.html index a6c841425..9871c732b 100644 --- a/docs/Documentation/ScheduleDispatcher.html +++ b/docs/Documentation/ScheduleDispatcher.html @@ -62,7 +62,6 @@
- Movement
- Object
- Point -
- Positionable
- Process_JTAC
- Process_Pickup
- Radio diff --git a/docs/Documentation/Scheduler.html b/docs/Documentation/Scheduler.html index b0e07d4a5..2344a52b8 100644 --- a/docs/Documentation/Scheduler.html +++ b/docs/Documentation/Scheduler.html @@ -62,7 +62,6 @@
- Movement
- Object
- Point -
- Positionable
- Process_JTAC
- Process_Pickup
- Radio diff --git a/docs/Documentation/Scoring.html b/docs/Documentation/Scoring.html index eca127f05..7e5366752 100644 --- a/docs/Documentation/Scoring.html +++ b/docs/Documentation/Scoring.html @@ -62,7 +62,6 @@
- Movement
- Object
- Point -
- Positionable
- Process_JTAC
- Process_Pickup
- Radio diff --git a/docs/Documentation/Sead.html b/docs/Documentation/Sead.html index 067d5c8f2..c7be240e7 100644 --- a/docs/Documentation/Sead.html +++ b/docs/Documentation/Sead.html @@ -62,7 +62,6 @@
- Movement
- Object
- Point -
- Positionable
- Process_JTAC
- Process_Pickup
- Radio diff --git a/docs/Documentation/Set.html b/docs/Documentation/Set.html index a74f207e9..994c1fe35 100644 --- a/docs/Documentation/Set.html +++ b/docs/Documentation/Set.html @@ -62,7 +62,6 @@
- Movement
- Object
- Point -
- Positionable
- Process_JTAC
- Process_Pickup
- Radio diff --git a/docs/Documentation/Smoke.html b/docs/Documentation/Smoke.html index 1daebbfe7..0e78290e4 100644 --- a/docs/Documentation/Smoke.html +++ b/docs/Documentation/Smoke.html @@ -62,7 +62,6 @@
- Movement
- Object
- Point -
- Positionable
- Process_JTAC
- Process_Pickup
- Radio diff --git a/docs/Documentation/Spawn.html b/docs/Documentation/Spawn.html index a55a5ab70..d8e70316f 100644 --- a/docs/Documentation/Spawn.html +++ b/docs/Documentation/Spawn.html @@ -62,7 +62,6 @@
- Movement
- Object
- Point -
- Positionable
- Process_JTAC
- Process_Pickup
- Radio @@ -2113,6 +2112,9 @@ The group that was spawned. You can use this group for further actions. + +
- - + #number SPAWN.SpawnMaxGroups @@ -2632,7 +2640,7 @@ when nothing was spawned.
-
-
+ #number
SPAWN.SpawnMaxUnitsAlive
@@ -2984,7 +2992,7 @@ Spawn_BE_KA50 = SPAWN:New( 'BE KA-50@RAMP-Ground Defense' ):Schedule( 600, 0.5 )
-
When the first Spawn executes, all the Groups need to be made visible before start.
+Flag that indicates if all the Groups of the SpawnGroup need to be visible when Spawned.
- Movement
- Object
- Point -
- Positionable
- Process_JTAC
- Process_Pickup
- Radio @@ -444,6 +443,7 @@ ptional) The name of the new static.
-
+ #number
SPAWNSTATIC.SpawnIndex
diff --git a/docs/Documentation/Spot.html b/docs/Documentation/Spot.html
index bf72b6ee4..8e597448e 100644
--- a/docs/Documentation/Spot.html
+++ b/docs/Documentation/Spot.html
@@ -62,7 +62,6 @@
- Movement
- Object
- Point
-- Positionable
- Process_JTAC
- Process_Pickup
- Radio
@@ -311,6 +310,7 @@ true if it is lasing - + SPOT.ScheduleID @@ -324,6 +324,7 @@ true if it is lasing
-
+
SPOT.Spot
diff --git a/docs/Documentation/Static.html b/docs/Documentation/Static.html
index 969de0fe0..449ae254b 100644
--- a/docs/Documentation/Static.html
+++ b/docs/Documentation/Static.html
@@ -62,7 +62,6 @@
- Movement
- Object
- Point
-- Positionable
- Process_JTAC
- Process_Pickup
- Radio
diff --git a/docs/Documentation/StaticObject.html b/docs/Documentation/StaticObject.html index 7648af701..79106ac1f 100644 --- a/docs/Documentation/StaticObject.html +++ b/docs/Documentation/StaticObject.html @@ -62,7 +62,6 @@- Movement
- Object
- Point
-- Positionable
- Process_JTAC
- Process_Pickup
- Radio
diff --git a/docs/Documentation/Task.html b/docs/Documentation/Task.html index 745408ed1..909924fdb 100644 --- a/docs/Documentation/Task.html +++ b/docs/Documentation/Task.html @@ -62,7 +62,6 @@- Movement
- Object
- Point
-- Positionable
- Process_JTAC
- Process_Pickup
- Radio
diff --git a/docs/Documentation/Task_A2G.html b/docs/Documentation/Task_A2G.html index e69ed8a75..e229ef3bd 100644 --- a/docs/Documentation/Task_A2G.html +++ b/docs/Documentation/Task_A2G.html @@ -62,7 +62,6 @@- Movement
- Object
- Point
-- Positionable
- Process_JTAC
- Process_Pickup
- Radio
diff --git a/docs/Documentation/Task_A2G_Dispatcher.html b/docs/Documentation/Task_A2G_Dispatcher.html index 56199fde1..181598508 100644 --- a/docs/Documentation/Task_A2G_Dispatcher.html +++ b/docs/Documentation/Task_A2G_Dispatcher.html @@ -62,7 +62,6 @@- Movement
- Object
- Point
-- Positionable
- Process_JTAC
- Process_Pickup
- Radio
diff --git a/docs/Documentation/Task_Cargo.html b/docs/Documentation/Task_Cargo.html index 0d3a4ee9b..5796b8e4f 100644 --- a/docs/Documentation/Task_Cargo.html +++ b/docs/Documentation/Task_Cargo.html @@ -62,7 +62,6 @@- Movement
- Object
- Point
-- Positionable
- Process_JTAC
- Process_Pickup
- Radio
diff --git a/docs/Documentation/Task_PICKUP.html b/docs/Documentation/Task_PICKUP.html index a5e5d70b1..d5ad2b0d0 100644 --- a/docs/Documentation/Task_PICKUP.html +++ b/docs/Documentation/Task_PICKUP.html @@ -62,7 +62,6 @@- Movement
- Object
- Point
-- Positionable
- Process_JTAC
- Process_Pickup
- Radio
diff --git a/docs/Documentation/Unit.html b/docs/Documentation/Unit.html index 33927e5d5..9f2bcf22d 100644 --- a/docs/Documentation/Unit.html +++ b/docs/Documentation/Unit.html @@ -62,7 +62,6 @@- Movement
- Object
- Point
-- Positionable
- Process_JTAC
- Process_Pickup
- Radio
diff --git a/docs/Documentation/Utils.html b/docs/Documentation/Utils.html index 088bf9bbf..1f689e540 100644 --- a/docs/Documentation/Utils.html +++ b/docs/Documentation/Utils.html @@ -62,7 +62,6 @@- Movement
- Object
- Point
-- Positionable
- Process_JTAC
- Process_Pickup
- Radio
diff --git a/docs/Documentation/Zone.html b/docs/Documentation/Zone.html index 893b7d773..baee4a865 100644 --- a/docs/Documentation/Zone.html +++ b/docs/Documentation/Zone.html @@ -62,7 +62,6 @@- Movement
- Object
- Point
-- Positionable
- Process_JTAC
- Process_Pickup
- Radio
diff --git a/docs/Documentation/env.html b/docs/Documentation/env.html index f56af08b7..ad4cc7f87 100644 --- a/docs/Documentation/env.html +++ b/docs/Documentation/env.html @@ -62,7 +62,6 @@- Movement
- Object
- Point
-- Positionable
- Process_JTAC
- Process_Pickup
- Radio
diff --git a/docs/Documentation/index.html b/docs/Documentation/index.html index d651ef88a..97d2bbdfa 100644 --- a/docs/Documentation/index.html +++ b/docs/Documentation/index.html @@ -62,7 +62,6 @@- Movement
- Object
- Point
-- Positionable
- Process_JTAC
- Process_Pickup
- Radio
@@ -408,12 +407,6 @@ are design patterns allowing efficient (long-lasting) processes and workflows.Point -Core - POINT_VEC classes define an extensive API to manage 3D points in the simulation space.
- - Movement
- Object
- Point -
- Positionable
- Process_JTAC
- Process_Pickup
- Radio diff --git a/docs/Documentation/routines.html b/docs/Documentation/routines.html index 1db62f852..89fac4048 100644 --- a/docs/Documentation/routines.html +++ b/docs/Documentation/routines.html @@ -62,7 +62,6 @@
- Movement
- Object
- Point -
- Positionable
- Process_JTAC
- Process_Pickup
- Radio
Note that obviously, the frequency and the modulation of the transmission are important only if the players are piloting an Advanced System Modelling enabled aircraft, like the A10C or the Mirage 2000C. They will hear the transmission if they are tuned on the right frequency and modulation (and if they are close enough - more on that below). -If a FC3 airacraft is used, it will hear every communication, whatever the frequency and the modulation is set to.
+If a FC3 airacraft is used, it will hear every communication, whatever the frequency and the modulation is set to. The same is true for TACAN beacons. If your aircaft isn't compatible, +you won't hear/be able to use the TACAN beacon informations.@@ -137,6 +139,12 @@ If a FC3 airacraft is used, it will hear every communication, whatever t
Global(s)
| BEACON | ++ + | +
| RADIO | @@ -144,12 +152,60 @@ If a FC3 airacraft is used, it will hear every communication, whatever t |
Type BEACON
+ | BEACON:AATACAN(TACANChannel, Message, Bearing, BeaconDuration) | +
+ Activates a TACAN BEACON on an Aircraft. + |
+
| BEACON.ClassName | ++ + | +
| BEACON:New(Positionable) | +
+ Create a new BEACON Object. + |
+
| BEACON:RadioBeacon(FileName, Frequency, Modulation, Power, BeaconDuration) | +
+ Activates a general pupose Radio Beacon +This uses the very generic singleton function "trigger.action.radioTransmission()" provided by DCS to broadcast a sound file on a specific frequency. + |
+
| BEACON:StopAATACAN() | +
+ Stops the AA TACAN BEACON + |
+
| BEACON:StopRadioBeacon() | +
+ Stops the AA TACAN BEACON + |
+
| BEACON:_TACANToFrequency(TACANChannel, TACANMode) | +
+ Converts a TACAN Channel/Mode couple into a frequency in Hz + |
+
Type RADIO
| RADIO:Broadcast() |
- Actually Broadcast the transmission +Actually Broadcast the transmission +* The Radio has to be populated with the new transmission before broadcasting. |
||||||
| RADIO:NewGenericTransmission(FileName, Frequency, Modulation, Power) | +RADIO:NewGenericTransmission(FileName, Frequency, Modulation, Power, Loop) |
- Create a new transmission, that is to say, populate the RADIO with relevant data +Create a new transmission, that is to say, populate the RADIO with relevant data +In this function the data is especially relevant if the broadcaster is anything but a UNIT or a GROUP, +but it will work with a UNIT or a GROUP anyway. |
|||||
| RADIO:NewUnitTransmission(FileName, Subtitle, SubtitleDuration, Frequency, Modulation, Loop) |
- Create a new transmission, that is to say, populate the RADIO with relevant data +Create a new transmission, that is to say, populate the RADIO with relevant data +In this function the data is especially relevant if the broadcaster is a UNIT or a GROUP, +but it will work for any Positionable#POSITIONABLE. |
||||||
| RADIO:SetSubtitle(Subtitle, SubtitleDuration) |
- Check validity of the subtitle and the subtitleDuration passed and sets RADIO.subtitle and RADIO.subtitleDuration +Check validity of the subtitle and the subtitleDuration passed and sets RADIO.subtitle and RADIO.subtitleDuration +Both parameters are mandatory, since it wouldn't make much sense to change the Subtitle and not its duration |
||||||
| RADIO:StopBroadcast() |
- Stops a transmission +Stops a transmission +This function is especially usefull to stop the broadcast of looped transmissions |
||||||
| Positionable | -
- This module contains the POSITIONABLE class. |
||||||
| Radio |
- Core - The RADIO class is responsible for transmitting radio communications. +Core - The RADIO Module is responsible for everything that is related to radio transmission and you can hear in DCS, be it TACAN beacons, Radio transmissions... |
||||||