In real life the transponder is one of the most important instruments. It's a required instruments in most of our world because he is here to identify and locate aircraft for ATC controller.
Without transponder the real world airspace coudn't exist today.
This instruments is present in FlightGear but not usable because he is not implemented to work over network. FlightGear being a simulator I think it's important to implement this missing feature, that's why I've implemented it.
I've implemented mode A, C and S with following specification :
Mode A :
- Send only id-code (sqwak) ( read it over mp at : /ai/models/multiplayer[x]/instrumentation/transponder/id-code )
- Require a power supply /systems/electrical/outputs/transponder > 1.0
- Require /instrumentation/transponder/inputs/knob-mode > 0 ( 0=OFF, 1=SBY, 2=ON, 3=ALT, 4=TST)
Mode C :
- Send id-code (sqwak) /instrumentation/transponder/id-code
- Send altitude with 100ft precision /instrumentation/transponder/altitude ( read it over mp at : /ai/models/multiplayer[x]/instrumentation/transponder/altitude )
- Require a power supply /systems/electrical/outputs/transponder > 1.0
- Require /instrumentation/transponder/inputs/knob-mode > 0
Mode S :
- Send id-code (sqwak) /instrumentation/transponder/id-code
- Send altitude with 10ft precision /instrumentation/transponder/altitude
- Require a power supply /systems/electrical/outputs/transponder > 1.0
- Require /instrumentation/transponder/inputs/knob-mode > 0
The difference between C and S mode is only the altitude precision (100ft - 10ft) in real life S mode is able to transmit flight-number/callsign/immat but since we are already able to read callsign it's not necessary to add it into the transponder.
All changes are compatible with old FG versions. I've just added 2 properties over MP (id-code and altitude) so old FG versions are simply ignored these 2 news properties.
For those who are interested, here is the commit on my clone : https://gitorious.org/~f-jjth/fg/f-jjth ... 4b95086150
It require a modification in FGDATA here is the diff (easily doable by hand) :
- Code: Select all
diff --git a/Aircraft/Generic/generic-instrumentation.xml b/Aircraft/Generic/generic-instrumentation.xml
index 6c8850c..69b9ad4 100644
--- a/Aircraft/Generic/generic-instrumentation.xml
+++ b/Aircraft/Generic/generic-instrumentation.xml
@@ -108,7 +108,7 @@ file, these values will be used (they are hardcoded).
<transponder>
<name>transponder</name>
<number>0</number>
- <mode-c-altitude>/instrumentation/encoder/mode-c-alt-ft</mode-c-altitude>
+ <mode>C</mode>
</transponder>
<turn-indicator>
For those who use a dedicated instrumentation.xml file you can define the transponder mode with the <mode> tags, like :
- Code: Select all
<?xml version="1.0"?>
<PropertyList>
<transponder>
<name>transponder</name>
<number>0</number>
<mode>A</mode>
</transponder>
</PropertyList>
- Code: Select all
<?xml version="1.0"?>
<PropertyList>
<transponder>
<name>transponder</name>
<number>0</number>
<mode>C</mode>
</transponder>
</PropertyList>
- Code: Select all
<?xml version="1.0"?>
<PropertyList>
<transponder>
<name>transponder</name>
<number>0</number>
<mode>S</mode>
</transponder>
</PropertyList>
For those who want implement their own transponder working over network, here is a demo with KT76A : http://clemaez.fr/flightgear/KT76A.tar.gz
With the XML file you will see which property needs to be modified, I plan to write a documentation when this feature will be accepted then commited in FG repo.
I hope this new feature will improves realism of FlightGear and ATC controller will be happy to work with it like it's done in real life.
I will create a merge request after first reactions from here, in order to see if this new feature is welcome or not by pilots/controllers.
Cheers,
Clément