Jump to content

Archived

This topic is now archived and is closed to further replies.

n4gix

Glideslope Indicator(s)

Recommended Posts

Gah! There aren't enough working variables in FS to support this indicator properly...

 

The early 737-xxx series has two rows of indicator lights showing the status of VOR/LOC and GS arm and capture. The left set is for the Flightdirector, the right set is for the Autopilot. After several hours of frustration, I now have the VOR/LOC set working correctly.

 

FD..........................AP

When tuned freq is localizer or VOR:

VOR/LOC............VOR/LOC

If glideslope is available:

GS.....................GS

FD..........................AP

 

If signal strength is reliable:

VOR/LOC............VOR/LOC

If signal strength is reliable and glideslope is available:

GS.....................GS

 

The biggest problem is that the "signal strength" for a tuned localizer is always 0 or 256. There is no "inbetween..."

 

The signal strength for a VOR however varies from 0 to >8000...

 

I have the VOR/LOC set working fine, but the GS set is driving me nuts!

 

Apparently, in FS there are many duplicated A:vars with different names:

 

(A:NAV HAS GLIDE SLOPE:1,bool)
(A:HSI GSI NEEDLE VALID,bool)
(A:NAV CODES:1, flags) 64 & 64 ==
(A:NAV GS FLAG:1,bool)

 

The GS amber should only light if a tuned freq is a full ILS equipped runway, and should only light the GS green indicator when capture is assured.

 

Anyone have any ideas at all?


Fr. Bill    

AOPA Member: 07141481 AARP Member: 3209010556

Interests: Gauge Programming - 3d Modeling for Milviz

Share this post


Link to post
Share on other sites

Lacking any other suggestions, and given that there's no actual way to determine the signal strength/reliability for the bloody Glideslope variables (of which there is only one, really!)...

 

I finally decided the only somewhat arbitrary way to handle this was to set up to cones of sensitivity based on the (A:Nav Glideslope Error:index) variable. In this way, if the aircraft is outside of this "cone" (too high, too low, too oblique of an angle), the "GS" indicator will remain dark.

 

I've arbitrarily defined this cone of sensitivity as a 1.32º arc, which is then narrowed to a 0.66º arc for the most sensitive zone.

<!-- OUTSIDE CONE OF SENSITIVITY -->
(A:NAV HAS GLIDE SLOPE:1,bool) !
(A:NAV GLIDE SLOPE ERROR:1,degrees) -0.66 < or
(A:NAV GLIDE SLOPE ERROR:1,degrees) 0.66 > or
(L:B737_AP_GlideSlopeAmber_Light, enum) and
if{ 0 (>L:B737_AP_GlideSlopeGreen_Light, enum) 0 (>L:B737_AP_GlideSlopeAmber_Light, enum) }

Once the aircraft enters the cone of sensitivity, the "GS" indicator will glow amber, and the "GS" green will extinguish if already lighted.

<!-- FD GS AMBER LIGHT -->
-0.66 -0.34 (A:NAV GLIDE SLOPE ERROR:1,degrees) rng
0.34 0.66 (A:NAV GLIDE SLOPE ERROR:1,degrees) rng or
(A:NAV HAS GLIDE SLOPE:1,bool) and
(L:B737_AP_GlideSlopeAmber_Light, enum) ! and
if{ 1 (>L:B737_AP_GlideSlopeAmber_Light, enum) 0 (>L:B737_AP_GlideSlopeGreen_Light, enum) }

Once the aircraft enters the most sensitive cone of sensitivity, the "GS" indicator will glow green, and the amber will extinguish.

<!-- FD GS GREEN LIGHT -->
(A:NAV HAS GLIDE SLOPE:1,bool)
-0.33 0.33 (A:NAV GLIDE SLOPE ERROR:1,degrees) rng and
(L:B737_AP_GlideSlopeGreen_Light, enum) ! and
if{ 1 (>L:B737_AP_GlideSlopeGreen_Light, enum) 0 (>L:B737_AP_GlideSlopeAmber_Light, enum) }


Fr. Bill    

AOPA Member: 07141481 AARP Member: 3209010556

Interests: Gauge Programming - 3d Modeling for Milviz

Share this post


Link to post
Share on other sites

Nice one Bill! That one is for the archives.

 

Roman


Roman_Full_combo_AVSIM_2.png?dl=1  FS RTWR   SHRS F-111   JoinFS Host/Client 

 

Yamaha CR 1000/JBL 2500, AMD 965 BE OC'd @ 3.88, RipJaw 2x4GB 1600 CL7, Gigabyte GTX-1070 OC 8GB, Asus M4A87TD EVO (AMD 870), Samsung 850 EVO 256GB & 1TB SSDs, WD 1T & 500G Black, 19" & 32" LCD, Win7 Pro 64bit, TMaster T-Flight HOTAS, FSX/FS9, FSUIPC / LUA, FSRealWX Pro, PlanG, JoinFS, LittleNavMap
Copilot - Samantha the "Hound"  RIP 😞        
       samantha.jpg?dl=1

 

Share this post


Link to post
Share on other sites

Hi,

 

I use

(A:NAV1 CDI,number): -127<-- 0 -->127

and

(A:NAV1 GSI,number) -119<-- 0--> 119

to do something similar.

Works ok for localizer and glideslope.

eg. for copilot voice: "Localizer alive...."

 

 

.

(A:NAV1 CDI,number) abs 90 <
if{ (L:approach logic 2,number) 0 == if{ 1 (>L:approach logic 2,number) 1 (>L:localizer alive,number) } }
els{ 0 (>L:approach logic 2,number) }

 

etc.


Jan

 

 

 

"Beatus ille qui procul negotiis..."

Share this post


Link to post
Share on other sites

I use (A:NAV1 CDI,number) and (A:NAV1 GSI,number) to do something similar.

Works ok for localizer and glideslope.

eg. for copilot voice: "Localizer alive...."

Jan, (A:NAV GLIDE SLOPE ERROR:1,degrees) is the 32 bit floating point precision equivalent to the (A:NAV1 GSI,enum) variable.

 

The former provides an angle between +/- 10.00º with hundredths of a degree resolution, and the latter provides +/- 119.

 

The chief difference is that I needed to create three conditions: off, alive, and reliable for both the localizer signal and the glideslope signal indicator lights.


Fr. Bill    

AOPA Member: 07141481 AARP Member: 3209010556

Interests: Gauge Programming - 3d Modeling for Milviz

Share this post


Link to post
Share on other sites

Good idea. The other way to do this would be to calculate the distance away from the GS transmitter and set an arbitrary distance where it becomes reliable (if possible?).

Share this post


Link to post
Share on other sites

Hi Bill

 

If you are working on 737-200 I have the pages on how the lights work with angles and other info. I can send it if you want.


Paul EGLD

Share this post


Link to post
Share on other sites

Hi Bill

 

If you are working on 737-200 I have the pages on how the lights work with angles and other info. I can send it if you want.

Thank you Paul. I have some "official documentation" but I'm always up for more. If it's too large to send as a file attachment to me at n4gix@comcast.net, PM me a d/l link.

 

Good idea. The other way to do this would be to calculate the distance away from the GS transmitter and set an arbitrary distance where it becomes reliable (if possible?).

If only there were some way of knowing the distance from the GS xmitter... :wacko:


Fr. Bill    

AOPA Member: 07141481 AARP Member: 3209010556

Interests: Gauge Programming - 3d Modeling for Milviz

Share this post


Link to post
Share on other sites

I get 3 messages with my method: glideslope active, alive and engaged.

Same for localizer.

To alter this in lights off, amber and green seems not too difficult.


Jan

 

 

 

"Beatus ille qui procul negotiis..."

Share this post


Link to post
Share on other sites

I get 3 messages with my method: glideslope active, alive and engaged.

Same for localizer.

To alter this in lights off, amber and green seems not too difficult.

Actually we are using pretty much the same method/technique. That was my point in mentioning that the variable I'm using is simply the 32 bit floating point precision version of the 8 bit fixed scale variable you are using.


Fr. Bill    

AOPA Member: 07141481 AARP Member: 3209010556

Interests: Gauge Programming - 3d Modeling for Milviz

Share this post


Link to post
Share on other sites

Fr.Bill

 

I've done a arbitrary solution as well to show in the HUD and HSI when LOC/GS is off, alive and steady as a function of time with the following code. Maybe it helps.

 

 //----HUD ILS LOC DISPLAY
 <Element>
  <Position X="-239" Y="-27"/>
  <Clip Top="50" Left="-239" Right="691" Bottom="588"/>
  <Visible>(A:HSI has localizer, bool) (L:ILS Switch, bool) 0 == &&</Visible>
 <Select>
  <Value>(A:HSI has localizer, bool) (A:HSI CDI needle valid, bool) (L:AVCS-INS, enum) 2 == and and if{ (G:Var2) 0 == if{ (P:Absolute time,seconds) 15 + (>G:Var2) } } els{ 0 (>G:Var2) } (G:Var2) (P:Absolute time,seconds) ></Value>
 <Case Value="0">
  <Image Name="Localizer_Needle_white-Valid.bmp" Bright="Yes"/>
 </Case>
  <Case Value="1">
   <Image Name="Localizer_Needle_white.bmp" Bright="Yes"/>
  </Case>
 </Select>	 
  <Shift>
   <Value Minimum="-1" Maximum="1">(A:HSI CDI needle, number) 127 /</Value>
   <Nonlinearity>
    <Item Value="-1" X="-322" Y="-27"/>
    <Item Value="0" X="-281" Y="-27"/>
    <Item Value="1" X="-239" Y="-27"/>
   </Nonlinearity>
  </Shift>
 </Element>
	 //----HUD ILS GS DISPLAY
 <Element>
  <Position X="-325" Y="59"/>
  <Clip Top="50" Left="20" Right="691" Bottom="588"/>
  <Visible>(A:HSI GSI needle valid, bool) (L:ILS Switch, bool) 0 == &&</Visible>
 <Select>
  <Value>(A:HSI has localizer, bool) (A:HSI GSI needle valid, bool) (L:AVCS-INS, enum) 2 == and and if{ (G:Var1) 0 == if{ (P:Absolute time,seconds) 15 + (>G:Var1) } } els{ 0 (>G:Var1) } (G:Var1) (P:Absolute time,seconds) ></Value>
 <Case Value="0">
  <Image Name="Glideslope_Needle_white-Valid.bmp" Bright="Yes"/>
 </Case>
  <Case Value="1">
   <Image Name="Glideslope_Needle_white.bmp" Bright="Yes"/>
  </Case>
 </Select>
  <Shift>
   <Value Minimum="-1" Maximum="1">(A:HSI GSI needle, number) 120 /</Value>
   <Nonlinearity>
    <Item Value="-1" X="-325" Y="-23"/>
    <Item Value="0" X="-325" Y="18"/>
    <Item Value="1" X="-325" Y="59"/>
   </Nonlinearity>
  </Shift>
 </Element>
   </Element>


  </Element>

 

Slammer

Share this post


Link to post
Share on other sites

  • Tom Allensworth,
    Founder of AVSIM Online


  • Flight Simulation's Premier Resource!

    AVSIM is a free service to the flight simulation community. AVSIM is staffed completely by volunteers and all funds donated to AVSIM go directly back to supporting the community. Your donation here helps to pay our bandwidth costs, emergency funding, and other general costs that crop up from time to time. Thank you for your support!

    Click here for more information and to see all donations year to date.
  • Donation Goals

    AVSIM's 2020 Fundraising Goal

    Donate to our annual general fundraising goal. This donation keeps our doors open and providing you service 24 x 7 x 365. Your donation here helps to pay our bandwidth costs, emergency funding, and other general costs that crop up from time to time. We reset this goal every new year for the following year's goal.


    39%
    $9,930.00 of $25,000.00 Donate Now
×
×
  • Create New...