-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Garmin Aviation In support #60
Comments
I'm happy to have this added, and as you've said, it should be easy to modify the COM broadcaster. I'm unsure of some of the fields we're currently not following (although we could).
Some are easy to guess, and some aren't. The complete list of what MSFS makes available is at https://www.prepar3d.com/SDKv5/sdk/references/variables/simulation_variables.html. |
Fantastic! It's a gaping omission from everyone at present. I can help with testing on devices at my end. I have a few different models supporting the input. The good thing about the garmin unit I have is that it sort of makes up the route once it's told a few values, so once it's running, it's happy to keep freewheeling until it sees another message come in. I did a bit of reverse engineering using the Xplane11 garmin output. I'll paste in the chunk of serial data I captured below. This is just ASCII text though so will be missing any binary data. I can re-capture using something a bit lower level but will need to figure out a way of doing that cleanly. As you can see, a lot of the messages are just 0'd or dashed out so probably representative of what's been done before Thanks so much for doing this. I have downloaded Vis Studio and the components for rust but it'll be easy work for you! All the best,
|
Looking at your data, I think there is scope to implement an MVP with just:
So how is this protocol called exactly? |
Much the same as NMEA. It's sent once a second and anything listening on the serial line takes the data. I think later models perhaps send more frequently. My unit works at 9600 which I think is default on some but i'd imagine later units operate with higher refresh times. xplane 11 kicks out Garmin Aviation format data if you want a look at what it's doing. XP12 has removed it by the look of things though. Thanks! |
Historically a lot of hardware aviation GPS units manufactured by Garmin were interfaced with the Aviation In RS232 Standard.
It's quite hard to find documentation but it exists in the GNS 480 installation manual in section B.2.1.1 and goes also by the name "Mapcom"
I've done a bit of poking around myself with the data and can reliably have a GPSMap unit follow aviation in from a serial device driven in Processing from a mac. My knowledge of rust is limited though so I'm not really equipped to look at how to add the feature myself. It's a fairly simple format in terms of serial messages written. I'll paste in my commented code from Processing below and maybe someone with a bit more rust knowledge than me could integrate it into GPS Link? It would be massively useful to allow these older devices to connect as many are built into virtual cockpits.
If I get time I might look at doing work on this myself but I think it would be a breeze for someone to copy and adjust the COM port page with the outputs adjusted to work. I can throw this into an Arduino and parse NMEA to convert into the format below but it seems rather a clumsy solution.
Sending the following at 9600 once a second causes a GPS in simulation mode with aviation in selected to update as expected.
As follows:
The text was updated successfully, but these errors were encountered: