wsf_weapon_server¶
- wsf_weapon_server … end_wsf_weapon_server¶
wsf_weapon_server debug port ... host ... outgoing_weapon_server ... outgoing_weapon_type ... rpi_multiplier ... tn_to_disid_mapping ... end_tn_to_disid_mapping weapon_lar_mapping ... end_weapon_lar_mapping weapon_mapping ... end_weapon_mapping end_wsf_weapon_server Reference Material: Client to Host Commands for the RELEASE_STORE ASCII command
Overview¶
The mission application can function as a weapon server (host) or as a client that requests weapon fires from an external weapon server. If using mission in either of these ways then please use the realtime simulation command to run it as a real time application. If “debug” is specified, the weapon server client/host will print the sent/received weapon commands to the standard output. It will also print how it successfully processed or failed to process the command.
Commands¶
- port <port>¶
This is the only command required to set up the weapon server as a host that listens for “RELEASE_STORE” commands, fires, and manages weapon fly-outs. The weapon server will listen for connections on the given port, and a theoretically infinite number of clients can connect and request weapon fires. It is important to note that the weapon server will only be able to handle requests for weapon types that it knows about, so any weapon types referenced in the received RELEASE_STORE commands should already be defined in the WSF input files that mission loads.
- host <host-name>¶
TBD
- outgoing_weapon_server <host> <port>¶
If this command is used then mission will act as regular, but will send off “RELEASE_STORE” commands to an external weapon server specified by the given host and port. It will only send off such fire requests for weapon types that are specified with the “outgoing_weapon_type” command. See below.
- outgoing_weapon_type <weapon type>¶
This command is only relevant for mission acting as a weapon server client; it instructs mission on which weapon types should be hosted externally by another weapon server.
- rpi_multiplier <rpi-multiplier-value>¶
TBD
- tn_to_disid_mapping … end_tn_to_disid_mapping¶
tn_to_disid_mapping tn_to_disid ... end_tn_to_disid_mapping
- tn_to_disid <track_number> <disid>¶
The ‘tn_to_disid_mapping’ block allows an external platform acting as a weapon controller (linker) to be set as a weapon’s commander upon launch. Track numbers for external platforms do not get stored internally. This approach allows the user to map a track number (decimal value) to a DisEntityId of an external platform using the keyword ‘tn_to_disid’.
- weapon_lar_mapping … end_weapon_lar_mapping¶
weapon_lar_mapping enum_to_type ... end_weapon_lar_mapping
The ‘enum_to_type’ block allows the external application to map a user defined weapon enumeration (integer) to a WSF weapon system type name. When a request for LAR data is made via a DisSetData PDU data is received, the weapon enumeration field is mapped to a weapon. If the WSF weapon has valid launch computer, data is retrieved and sent back in a DisData PDU.
- enum_to_type <their-weapon-enum> <our-weapon-name>¶
TBD
DisSetData Lar Format:
Fixed Data Record Length = 0 Variable Data Record Length = 5 Data Id: 1000 Data Size: 192 - bits Data: ownshipLLA[3]; Data Id: 2 Data Size: 192 - bits Data: ownshipVelWCS[3]; Data Id: 3 Data Size: 192 - bits Data: targetLLA[3]; Data Id: 4 Data Size: 192 - bits Data: targetVelWCS[3]; Data Id: 5 Data Size: 32 - bits Data: weapon enumeration
DisData Lar Format:
Fixed Data Record Length = 0 Variable Data Record Length = 10 Data Id: 0 Data Size: 16-bits Data: 11 Data Id: 1100 Data Size: 64-bits Data: rmax Data Id: 1101 Data Size: 64-bits Data: rmaxTOF Data Id: 1102 Data Size: 64-bits Data: rpi Data Id: 1103 Data Size: 64-bits Data: rpiTOF Data Id: 1104 Data Size: 64-bits Data: rNe Data Id: 1105 Data Size: 64-bits Data: rNeTOF Data Id: 1106 Data Size: 64-bits Data: rmin Data Id: 1107 Data Size: 64-bits Data: rminTOF Data Id: 1108 Data Size: 32-bits Data: DMC
- weapon_mapping … end_weapon_mapping¶
weapon_mapping weapon_name_mapping ... platform ... end_platform end_weapon_mapping
- weapon_name_mapping <their-weapon-enum> <our-weapon-name>¶
The ‘weapon_name_mapping’ block allows the external application to map a user defined weapon name to WSF weapon system type name, eliminating the need to be aware of AFSIM types or to easily switch weapon types with no affect on the user’s simulation.
Examples¶
Input block for a Weapon Server (host):
wsf_weapon_server
port 3456
end_wsf_weapon_server
Input block for a Weapon Server Client:
wsf_weapon_server
outgoing_weapon_server 192.168.1.32 3456
outgoing_weapon_type AIM-9X
end_wsf_weapon_server
Client to Host Commands¶
This section is included only as reference for other simulations; a mission weapon server client already sends this command and a mission weapon server (host) already receives & processes this command.
The release_store command is the only recognized command at this time. It follows the format of most ASCII interface commands: “<command> [key=value]+”. This is to say that the command is simply an ascii string with key value pairs specified after the command name, all entries separated by a space. Some parameters are required, others are optional. The parameter key names are not case sensitive but happen to be shown as uppercase in this guide.
- release_store …¶
release_store [disid ... | nameid ...] [target_disid ... | target_nameid ... | lat ... lon ... alt ...] wpn_type ... lch_type ... ctrl_track_num wpn_tail_number ... usetailnuminpdus ...
The only required parameters are at least one entry from each of the first three parameter sets: shooter (e.g., disid), weapon type (wpn_type), target (e.g., target_disid). If the weapon is to have a working J11 interface, then the ctrl_track_num and wpn_tail_number parameters are required, as they specify the J11 track numbers of the two interfacing J11 platforms.
- disid <dis-entity-id>¶
- nameid <platform name>¶
[Required] (one of these parameters are required in the command string). They specify the identity of the shooter: the dis entity id or the WSF platform name. If both are sent, the last to be specified in the command will be used.
- target_disid <dis-entity-id>¶
- target_nameid <platform name>¶
- lat <latitude>¶
- lon <longitude>¶
- alt <altitude> [Optional] **Default:** 0¶
[Optional] Required (one of these parameters are required in the command string). These parameters specify the identity of the target: the dis entity id, the WSF platform name, or its geodetic location. lat & lon must be given together if at all. It is acceptable to send more than one of these parameters, the weapon server will search for the target in this order: dis id, name, then location.
- wpn_type <weapon-name>¶
[Required] It specifies the name of the WSF weapon type.
- lch_type [0 | 1]¶
[Optional] Specifies the domain of the target. 0 = air, 1 = ground. This parameter is not useful or relevant at this time.
- ctrl_track_num <controller-j11-track-number>¶
[Optional] Only required if the weapon is to have a working J11 interface. Specifies the J11 controller (shooter) track number.
- wpn_tail_number <weapon-j11-track number>¶
[Optional] Only required if the weapon is to have a working J11 interface. Specifies the J11 weapon track number.
- usetailnuminpdus [0 | 1]¶
[Optional] Default is zero. Specifies that the weapon j11 track number should be used (if possible) as the dis entity id as well. Even if this parameter is set to 1, the weapon server will still only give a best effort to accommodate, as other clients could already have weapons with the given dis entity id.
Example commands:
release_store disid=1:1:43 wpn_type=aim-9x target_disid=1:1:56 release_store nameid=blue_striker wpn_type=aim-120 target_disid=1:1:56 release_store disid=1:1:43 wpn_type=aim-9x target_nameid=red_flanker release_store disid=1:1:43 wpn_type=aim-9x target_disid=1:1:56 lat=38.63 lon=-90.2 lch_type=1 ctrl_track_num=13 wpn_tail_number=27 usetailnuminpdus=0