The following are sample
Panel.cfg
lines with some parameters, showing how they must be formatted:
gaugeXX=ILH_TCAS!Logic, 0, 0, 1, 1, trafficinfo:yes volume:-200
gaugeYY=ILH_TCAS!IVSI, 545, 391, 158, 158, fontscale:1.1 other:45
Logic Parameters
The file FS\TCAS2v7.ini contains parameters for the TCAS logic (where
FS is Flight Simulator's main folder). You likely don't need to
edit anything in this file.
[Filtering]
|
|
Range=100
|
Range [feet] below which
intruders are filtered. Default 100.
|
Altitude=100
|
Altitude [feet] relative to
ground altitude below own aircraft below which intruders are considered
on the ground. Default 100.
|
Speed=30
|
Groundspeed [kts] below which
intruders are considered on the ground. Default 30.
|
[Smoothing]
|
|
Enabled=1
|
Enabled (=1) or disabled
(=0). Default 1. This must be enabled for groundspeed-based
filtering above to be in effect.
|
MaxCoast=20
|
Maximum seconds of no position
update before an intruder's track is discarded. The default of 20
seems to work OK with the sometimes infrequent position updates seen
with Squawkbox 2 plus SBRelay and/or AIBridge.
|
Alpha=0.4
|
Smoothing parameter.
Useful values are between 0.4 and 1.0, with 1.0 meaning no smoothing.
|
An intruder is filtered out if it is below the altitude threshold
and its groundspeed is below the
speed threshold. To eliminate ground-based filtering, you could
use Altitude=-100000 and Speed=-1 (no intruder could satisfy either of
those thresholds).
If you remove this TCAS2v7.ini file, it will be recreated with default
values the next time the TCAS logic is utilized.
The smoothing can be particularly useful with online traffic (e.g.,
Squawkbox or Multiplayer, utilizing AIBridge and/or SBRelay).
Note that as of the time of this writing, PMDG's 737-800/900 upgrade
package is not capable of utlizing the smoothing, because it is using a
different internal logic interface.
Advanced (for Panel Designers)
Support is available for multiple IVSI displays sharing a single logic
gauge. The gauges
- ILH_TCAS!IVSI,
- ILH_TCAS!IVSI2, and
- ILH_TCAS!IVSI3
are available and all share the same frame bitmap. Their mode and
range
settings will remain in sync at all times.
The following gauges are similar, except there is no frame:
- ILH_TCAS!IVSIb,
- ILH_TCAS!IVSI2b, and
- ILH_TCAS!IVSI3b.
The IVSI modes and range are controllable via Flight Simulator
named variables in case you want to
write your own control gauge
.
The followind named variables are supported:
- ILH_TCAS!IVSI.power,
BOOL32, whether power is on.
- ILH_TCAS!IVSI.lit,
BOOL32, whether to display the lit frame bitmap.
- ILH_TCAS!IVSI.vsi_flag,
BOOL32, whether to flag the V/S indicator.
- ILH_TCAS!IVSI.range_index,
UINT32 (0..4), TCAS range (6,12,18,24,40nm).
- ILH_TCAS!IVSI.mode_index,
UINT32 (0..4), mode (TEST, STBY, XPDR, TA, TA/RA).
- ILH_TCAS!IVSI.above_below,
UINT32 (0..2), ABV/N/BLW.
- ILH_TCAS!IVSI.absolute_relative,
UINT32 (0..1), ABS/REL.
- ILH_TCAS!IVSI.redraw,
BOOL32, whether to redraw immediately. Set this whenever you
change anything above.
- ILH_TCAS!Transponder.power,
BOOL32, whether power is on.
- ILH_TCAS!Transponder.lit,
BOOL32, whether to display the lit bitmap.
Important: You must specify the option
pic:no in the Panel.cfg gauge
options for these named variables to work properly.
The TCAS II version 7.0 logic, as implemented in
TCAS2v7.dll, is available for use
within custom TCAS displays. Email me for more details.
It's first use outside of my own gauges is in PMDG's 737-800/900 panel
upgrade.
TCAS II Version 7.0 Logic Validation
During development, at all times I strove to pass real-world TCAS logic
validation tests. The tests are publically available as part of
MOD 2 TSIM. The
logic contained within
TCAS2v7.dll
was able to pass all 250 test encounters that do not involve TCAS/TCAS
negotiation or Mode S Ground Station communications, neither of which
are appropriate within Flight Simulator (at this point). Care was
taken to ensure that all of the internal logic states are matched
against TSIM state by state and second by second. The logic can
produce all types of RAs including corrective, preventive, crossing,
reversal, multi-aircraft composite, etc. It is capable of
producing all of the aural alerts as well:
- Climb, Climb
- Descend, Descend
- Climb, Crossing Climb -- Climb, Crossing Climb
- Descend, Crossing Descend -- Descend, Crossing Descend
- Adjust Vertical Speed, Adjust
- Climb, Climb NOW -- Climb, Climb NOW
- Descend, Descend NOW -- Descend, Descend NOW
- Increase Climb, Increase Climb
- Increase Descent, Increase Descent
- Maintain Vertical Speed, Maintain
- Maintain Vertical Speed, Crossing, Maintain
- Monitor Vertical Speed
- Clear of Conflict
- Traffic, Traffic
- Traffic
- TCAS System Test OK
- TCAS System Test Fail
Legal
This package is a freeware product and a labor of love and may
not be
included in any commercial package or website without written
permission. These gauges are an add-on to Wilco Publishing's 767PIC and
is not
endorsed, part of, or related to Wilco Publishing in any way.
If you decide to use any part of this
package, whether it is for
freeware use or commercial, you must obtain prior written permission
from me, the author. This includes altering the bitmaps for use
with other panels.
Should there be any damage done to your
system after using this package, I and all parties involved will not be
held responsible.
Acknowledgements
For the first version of this gauge, I received help from many
sources. Nick Jacobs of Dreamfleet gave me several pointers on
general gauge programming that proved invaluable. Mark McGrath,
Ryan O'Malley, and John Selph provided me with TCAS documentation that
was very helpful in developing my threat classification and display
code. Claude Troncy provided guidance on a technique to read the
main panel lighting status through an offset into 767PIC's APS.dll for
the 1.2 patch. I have since figured out many other offsets for
the 1.2 and 1.3 patches. Ian Riddell provided much technical help
and even provided a photograph that was the basis for the transponder
bitmaps.
For this version of the gauge, Lefteris Kalamaras of PMDG provided the
motivation to finish up my full-fledged TCAS II version 7.0 logic so
they could make use of it within their 737-800/900 panel. Without
the motivation, I doubt it would be finished at this point.
Lefteris and PMDG
also provided me with the real-world TCAS aural alerts. Thanks!