SimConnect_RequestFacilitiesList (and related) do not return frequencies for VORs and NDBs

Version: SimConnect SDK 1.5.7

Connected to SunRise version 12.2
  build 282174.999
  using SimConnect version 12.2
  build Unknown

Frequency: Consistently

Severity: High (Workaround using RequestFacilityData, for each individual VOR/NDB)

Marketplace package name: N/A

Context: Requests using SimConnect SDK

Similar MSFS 2020 issue: None found.

Bug description:

When requesting a list of VORs or NDBs using SimConnect_RequestFacilitiesList, SimConnect_RequestFacilitiesList_EX1, or SimConnect_Request_AllFacilities, the resulting data will return 0.0 as frequency for all beacons. For example:

C:\dev\Dutch FlightSim Developer\developing-with-simconnect\out\build\windows-clang-debug-tests\part-9\9-4 - MSFS 2024 List airport parkings>.\9-4-MSFS2024-List-airports-parkings-in-CXX.exe --region=EH --type=vor --scope=cache
Listing all VORs in region 'EH':
- DKY  :   52.918°N,   4.775°E, MagVar   1.90°W, Alt      1ft,   0.000 MHz [NAV DME LOC GS] (Region EH)
- HDR  :   52.907°N,   4.766°E, MagVar   2.42°W, Alt      0ft,   0.000 MHz [    DME       ] (Region EH)
- GRO  :   53.110°N,   6.558°E, MagVar   1.88°W, Alt     12ft,   0.000 MHz [NAV DME LOC GS] (Region EH)
- LWZ  :   53.233°N,   5.772°E, MagVar   2.49°W, Alt      3ft,   0.000 MHz [NAV DME LOC GS] (Region EH)
- WOL  :   53.228°N,   5.772°E, MagVar   2.99°W, Alt      2ft,   0.000 MHz [NAV DME LOC GS] (Region EH)
- LWO  :   53.218°N,   5.735°E, MagVar   2.51°W, Alt      3ft,   0.000 MHz [NAV DME LOC GS] (Region EH)
- LOB  :   53.228°N,   5.738°E, MagVar   3.01°W, Alt      2ft,   0.000 MHz [NAV DME LOC GS] (Region EH)
- LWD  :   53.224°N,   5.752°E, MagVar   3.00°W, Alt     13ft,   0.000 MHz [    DME       ] (Region EH)
- EEL  :   53.164°N,   6.667°E, MagVar   2.00°W, Alt      0ft,   0.000 MHz [NAV DME       ] (Region EH)
- KAG  :   52.307°N,   4.785°E, MagVar   1.93°W, Alt    -10ft,   0.000 MHz [NAV DME LOC GS] (Region EH)
- ZWA  :   52.300°N,   4.737°E, MagVar   1.21°W, Alt    -11ft,   0.000 MHz [NAV DME LOC GS] (Region EH)
- VPB  :   52.326°N,   4.709°E, MagVar   1.20°W, Alt    -12ft,   0.000 MHz [NAV DME LOC GS] (Region EH)
- SCH  :   52.299°N,   4.781°E, MagVar   1.26°W, Alt    -13ft,   0.000 MHz [NAV DME LOC GS] (Region EH)
- BVB  :   52.317°N,   4.744°E, MagVar   0.82°W, Alt    -11ft,   0.000 MHz [NAV DME LOC GS] (Region EH)
- MSA  :   52.334°N,   4.740°E, MagVar   1.21°W, Alt    -11ft,   0.000 MHz [NAV DME LOC GS] (Region EH)
- ABA  :   52.324°N,   4.780°E, MagVar   1.25°W, Alt    -10ft,   0.000 MHz [NAV DME LOC GS] (Region EH)
- ILSN :   52.462°N,   5.530°E, MagVar   1.54°W, Alt    -12ft,   0.000 MHz [NAV DME LOC GS] (Region EH)
- AMS  :   52.333°N,   4.706°E, MagVar   2.41°W, Alt      0ft,   0.000 MHz [    DME       ] (Region EH)
- FRO  :   52.452°N,   5.508°E, MagVar   2.66°W, Alt      0ft,   0.000 MHz [    DME       ] (Region EH)
- PAM  :   52.335°N,   5.092°E, MagVar   2.53°W, Alt      0ft,   0.000 MHz [    DME       ] (Region EH)
- SPL  :   52.332°N,   4.750°E, MagVar   2.00°W, Alt      0ft,   0.000 MHz [NAV DME       ] (Region EH)
- SPY  :   52.540°N,   4.854°E, MagVar   2.45°W, Alt      0ft,   0.000 MHz [    DME       ] (Region EH)
- DNS  :   52.046°N,   5.865°E, MagVar   2.72°W, Alt    157ft,   0.000 MHz [NAV DME LOC GS] (Region EH)
- DLN  :   52.057°N,   5.873°E, MagVar   3.00°W, Alt    157ft,   0.000 MHz [    DME       ] (Region EH)
- RKN  :   52.133°N,   6.764°E, MagVar   3.04°W, Alt    100ft,   0.000 MHz [    DME       ] (Region EH)
- ROS  :   51.964°N,   4.458°E, MagVar   1.10°W, Alt    -13ft,   0.000 MHz [NAV DME LOC GS] (Region EH)
- RSV  :   51.951°N,   4.424°E, MagVar   1.12°W, Alt    -15ft,   0.000 MHz [NAV DME LOC GS] (Region EH)
- WDZ  :   51.454°N,   4.362°E, MagVar   1.35°W, Alt     38ft,   0.000 MHz [NAV DME LOC GS] (Region EH)
- WDO  :   51.445°N,   4.324°E, MagVar   1.38°W, Alt     62ft,   0.000 MHz [NAV DME LOC GS] (Region EH)
- RTM  :   51.974°N,   4.481°E, MagVar   1.00°W, Alt      0ft,   0.000 MHz [NAV DME       ] (Region EH)
- WDT  :   51.447°N,   4.344°E, MagVar   2.00°W, Alt     93ft,   0.000 MHz [    DME       ] (Region EH)
- EHZ  :   51.463°N,   5.388°E, MagVar   1.99°W, Alt     73ft,   0.000 MHz [NAV DME LOC GS] (Region EH)
- EHO  :   51.437°N,   5.360°E, MagVar   2.01°W, Alt     66ft,   0.000 MHz [NAV DME LOC GS] (Region EH)
- GZO  :   51.570°N,   4.909°E, MagVar   1.03°W, Alt     35ft,   0.000 MHz [NAV DME LOC GS] (Region EH)
- EHV  :   51.448°N,   5.375°E, MagVar   3.00°W, Alt    100ft,   0.000 MHz [    DME       ] (Region EH)
- FRT  :   52.004°N,   4.769°E, MagVar   2.44°W, Alt      0ft,   0.000 MHz [    DME       ] (Region EH)
- GZR  :   51.566°N,   4.934°E, MagVar   2.00°W, Alt     45ft,   0.000 MHz [    DME       ] (Region EH)
- VLZ  :   51.665°N,   5.728°E, MagVar   2.08°W, Alt     71ft,   0.000 MHz [NAV DME LOC GS] (Region EH)
- VLO  :   51.649°N,   5.688°E, MagVar   2.10°W, Alt     61ft,   0.000 MHz [NAV DME LOC GS] (Region EH)
- VKL  :   51.655°N,   5.707°E, MagVar   2.00°W, Alt     83ft,   0.000 MHz [    DME       ] (Region EH)
- BKZ  :   50.922°N,   5.781°E, MagVar   1.62°W, Alt    365ft,   0.000 MHz [NAV DME LOC GS] (Region EH)
- BKN  :   50.899°N,   5.757°E, MagVar   1.64°W, Alt    370ft,   0.000 MHz [NAV DME LOC GS] (Region EH)
- MAS  :   50.972°N,   5.960°E, MagVar   3.00°W, Alt    300ft,   0.000 MHz [NAV DME       ] (Region EH)

Cache, bubble, or all makes no difference.

Note: SimConnect_RequestFacilitiesList and SimConnect_RequestFacilitiesList _EX1 appear not to return anything if the user is still in the menu, not even an empty list.

Repro steps: See example.

Attachments: See Example 9-4.

Private attachments: N/A

Hi

Looking at your sample project, it seems that there is a casting error.

Your VorDetails struct (that is directly casted from the SIMCONNECT_DATA_FACILITY_VOR struct) uses the frequency as a float, but the original struct uses a DWORD.
Casting those DWORD in a float (in this case) produces very small numbers which are then divided by 1’000’000.0F to be converted. That’s why you get 0s in your sample app.

About your note, I could not reproduce this behavior and could use SimConnect_RequestFacilitiesList in the menu just after the boot. Is it still an issue? Did you do something special to get this behavior?

Best Regards
Maxime / Asobo

Ok, that casting error slipped by, my apologies. Just making the field (for both NDB and VOR) unsigned long indeed fixes it.

About the note: Start MSFS 2024 fresh, click “Start”, then leave it in the main menu. Make sure you have not first selected a (free) flight. Now, if (for example) you request bubble or cache scoped VORs, there is no response. I’ll agree there actually isn’t anything to return… yet, but then I’d expect a single empty list returned. Not returning anything is unexpected.

Cheers,
Bert

Closing this as obsolete as the frequency issue was identified and we cannot replicate the issue with no VOR list being returned when your 9-4 sample is run from the main menu after boot.

Regards,
Sylvain