Howto:Carrier Landing Assistant in HUD: Difference between revisions

Jump to navigation Jump to search
Line 123: Line 123:
var slopeToCarrierProp = sprintf("/ai/models/carrier[%d]/controls/flols/angle-degs", closestCarrier);
var slopeToCarrierProp = sprintf("/ai/models/carrier[%d]/controls/flols/angle-degs", closestCarrier);
var slopeToCarrier = getprop(slopeToCarrierProp);
var slopeToCarrier = getprop(slopeToCarrierProp);
me.STC.setText(sprintf("%1.2f", -slopeToCarrier));
# Check to see if a carrier is available
me.STC.setTranslation(185, 20*(slopeToCarrier -3) -5 );
if(slopeToCarrier != nil){
me.gsiC.setTranslation(0, 20*(slopeToCarrier -3) );
me.STC.setText(sprintf("%1.2f", -slopeToCarrier));
me.STC.setTranslation(185, 20*(slopeToCarrier -3) -5 );
me.gsiC.setTranslation(0, 20*(slopeToCarrier -3) );
# The CARRIER approach heading Left/Right needle
# The CARRIER approach heading Left/Right needle
var carrierHdgProp = sprintf("/ai/models/carrier[%d]/orientation/true-heading-deg", closestCarrier);  
var carrierHdgProp = sprintf("/ai/models/carrier[%d]/orientation/true-heading-deg", closestCarrier);  
var carrierHdg = getprop(carrierHdgProp);  
var carrierHdg = getprop(carrierHdgProp);  
me.carrierHdgTxt.setText(sprintf("DeckHdg: %1.0f", carrierHdg-8)); # allow for landing deck offset
me.carrierHdgTxt.setText(sprintf("DeckHdg: %1.0f", carrierHdg-8)); # allow for landing deck offset
var carrierBrgTo = getprop("/instrumentation/tacan/indicated-bearing-true-deg");
var carrierBrgTo = getprop("/instrumentation/tacan/indicated-bearing-true-deg");
me.carrierBrgTxt.setText(sprintf("BrgTo: %1.0f", carrierBrgTo)); # heading TO the carrier
me.carrierBrgTxt.setText(sprintf("BrgTo: %1.0f", carrierBrgTo)); # heading TO the carrier
var carrierOffset = carrierHdg - carrierBrgTo -8 ; # landing deck offset
var carrierOffset = carrierHdg - carrierBrgTo -8 ; # landing deck offset
me.carrierOffTxt.setText(sprintf("%1.1f", -carrierOffset));
me.carrierOffTxt.setText(sprintf("%1.1f", -carrierOffset));
me.carrierOffTxt.setTranslation(-10*(carrierOffset), 100 );
me.carrierOffTxt.setTranslation(-10*(carrierOffset), 100 );
me.lbiC.setTranslation(-10*(carrierOffset), 0 );
me.lbiC.setTranslation(-10*(carrierOffset), 0 );
var currentHeading = getprop("/orientation/heading-deg");
var currentHeading = getprop("/orientation/heading-deg");
var relativeDeckHeading = -(currentHeading - carrierHdg +8) ;
var relativeDeckHeading = -(currentHeading - carrierHdg +8) ;
me.relativeDeckHeadingText.setText(sprintf("RelHdg: %1.0f", relativeDeckHeading)); # landing deck offset
me.relativeDeckHeadingText.setText(sprintf("RelHdg: %1.0f", relativeDeckHeading)); # landing deck offset
me.carrierDiagramTxt.setRotation( ((relativeDeckHeading -105 )* math.pi )/ 180);
me.carrierDiagramTxt.setRotation( ((relativeDeckHeading -105 )* math.pi )/ 180);
var hdgOffsetToCarrier =  currentHeading - carrierBrgTo;
var hdgOffsetToCarrier =  currentHeading - carrierBrgTo;
me.carrierDiagramTxt.setTranslation(-10*(hdgOffsetToCarrier), -90 );
me.carrierDiagramTxt.setTranslation(-10*(hdgOffsetToCarrier), -90 );
}
else{ # hide from view
me.STC.setTranslation(300,300);
me.gsiC.setTranslation(300,300);
me.carrierOffTxt.setTranslation(300,300);
me.lbiC.setTranslation(300,300);
me.carrierDiagramTxt.setTranslation(300,300);
});
</syntaxhighlight>
</syntaxhighlight>


73

edits

Navigation menu