April 13, 201115 yr Author More to the point however, is that this is not intended to request single bit of information, but rather to send a single "ask it all at once" to the gps engine via a <CustomDraw> element requesting it to draw airspaces on the map, which means that the @Macro has to have a summed list of all parameters requested expressed in hex.I still think that it is much better to understand ObjectDetailLayerAirspaces in terms of a binary number rather than decimal, as used in your wiki, or hex. Same thing NearestAirspaceQuery. Same thing NearestIntersectionCurrentFilter and NearestVorCurrentFilter. Fundamentally, they are all binary numbers that map to the bit tables provided by MSFT for these variables - that's how the numbers are constructed. As input, fs9gps can accommodate either the hex or decimal equivalent of the binary number.I will however have to do some further investigation to see what else I may have missed. At the time I authored that article, there was no information from MS/ACES at all. I based the article on what I received from Susan Ashlock, who was at that time the owner of the gauge/panel code for ACES.The gps_500 gauge has always expressed kDisplayedAirspaces and kAlwaysDisplayedAirspaces as a six digit hex. Consequently, it seems to me that MSFT always had a bit table of 24 "airspaces", even if Susan did not mention them all or if some are not truly airspaces, as you note. "Ground Airspace" does indeed sound a little silly. I wonder why MSFT included it?On your revised wiki, why are you using multiples of 8 rather than multiples of 2?Cheers,Bob
April 13, 201115 yr Although not directly relevelant, I discovered the hard way that FSX doesn't display all types of airspace boundaries. What else it might not do with them I don't know.The attached table identifies those types that seem to be implemented, with the type as displayed on the map and the line type and colour. Gerry Howard
April 13, 201115 yr Moderator The gps_500 gauge has always expressed kDisplayedAirspaces and kAlwaysDisplayedAirspaces as a six digit hex. Consequently, it seems to me that MSFT always had a bit table of 24 "airspaces", even if Susan did not mention them all or if some are not truly airspaces, as you note. "Ground Airspace" does indeed sound a little silly. I wonder why MSFT included it?On your revised wiki, why are you using multiples of 8 rather than multiples of 2?Since that table has purposes other than simply airspaces I would guess. The same index will retrieve tower, clearance and ground frequencies, for example.Because I'm math impaired perhaps? :LMAO:In any event, I (re)edited to page to simply provide a redirect to the GPS Guidebook: GPS: Missing Airspace OptionsI highly suggest visitors to this Wiki entry to refer to this most excellent guide: BlackBox Website - GPS Guidebook[1] The tabular data previously listed on this entry has proven to be incomplete and or incorrect... Fr. Bill AOPA Member: 07141481 AARP Member: 3209010556 Avsim Board of Directors | Avsim Forums Moderator
April 17, 201115 yr Author The same index will retrieve tower, clearance and ground frequencies, for example.Hi Bill,How did you do that? You can do that without entering WaypointAirport? By including Center in NearestAirspaceQuery, I can retrieve Center frequency, but I haven't been able to do the same for tower, clearance, ground, departure or approach. Not yet, anyway.It would be very interesting to see how you did that.Thanks!Bob
April 17, 201115 yr Moderator To be perfectly honest, I don't remember ever having tried to do precisely that......but, from everything I've read about it, the information should be in there, somewhere.Obviously I must have already known about all 24 enumerations for airspaces, because I did include them in this <Element> to display nearest airspaces for a G1000 MFD I scripted! <!-- Info --><Element> <Position X="512" Y="450"/> <FormattedText X="380" Y="228" Font="Glass Gauge" FontSize="20" LineSpacing="18" Adjust="Left" Color="Cyan" Bright="Yes" Tabs="0,5R,20R,142R"> <Font FontSize="14"/> <Font FontSize="1"/> <String> %((@g:listCurrent) (>@c:NearestAirspaceCurrentLine) quit )%{end} %((@c:NearestAirspaceCurrentType,enum) s1) %{case} %{:0}NONE\{fnt2} %{:1}CENTER\{fnt2} %{:2}CLASS_A\{fnt2} %{:3}CLASS_B\{fnt2} %{:4}CLASS_C\{fnt2} %{:5}CLASS_D\{fnt2} %{:6}CLASS_E\{fnt2} %{:7}CLASS_F\{fnt2} %{:8}CLASS_G\{fnt2} %{:9}TOWER\{fnt2} %{:10}CLEARANCE\{fnt2} %{:11}GROUND\{fnt2} %{:12}DEPARTURE\{fnt2} %{:13}APPROACH\{fnt2} %{:14}MOA\{fnt2} %{:15}RESTRICTED\{fnt2} %{:16}PROHIBITED\{fnt2} %{:17}WARNING\{fnt2} %{:18}ALERT\{fnt2} %{:19}DANGER\{fnt2} %{:20}NATIONAL_PARK\{fnt2} %{:21}MODE_C\{fnt2} %{:22}RADAR\{fnt2} %{:23}TRAINING\{fnt2} %{end} %!s!\{fnt}\n MAX ALTITUDE:\t\t%((@c:NearestAirspaceCurrentMaxAltitude, feet))%!d!\{fnt1}FT\{fnt}\n MIN ALTITUDE:\t\t%((@c:NearestAirspaceCurrentMinAltitude, feet))%!d!\{fnt1}FT\{fnt}\n FREQUENCY:\t\t%((@c:WaypointAirportFrequencyValue,MHz) 0 > l1 0 > and)%{if}%((@c:WaypointAirportFrequencyValue,Mhz) 100 * near d 100 div)%!03d!.%(100 %)%!02d!%{else}%----\n </String> </FormattedText></Element> Fr. Bill AOPA Member: 07141481 AARP Member: 3209010556 Avsim Board of Directors | Avsim Forums Moderator
Create an account or sign in to comment