mihai-dinculescu / msfs-2020-gps-link

Transmit GPS data from Microsoft Flight Simulator 2020 to navigation apps.
MIT License
15 stars 1 forks source link

Create output to virtual comport #28

Closed PavelFilippovich closed 1 year ago

PavelFilippovich commented 1 year ago

Hello! Great app! I ask you to consider the possibility of issuing data to a virtual comport. The program should create a virtual comport and send a GPS data stream to it, emulating a GPS receiver. It will be possible to check the operation of the program by connecting any GPS receiver data processing program to the virtual comport. This option is needed, for example, to use Jeppesen Flitеdesk.

PavelFilippovich commented 1 year ago

Perhaps the best option would be to use the NMEA-0183 RMC protocol. https://tronico.fi/OH6NT/docs/NMEA0183.pdf Page 14.

PavelFilippovich commented 1 year ago

Maybe this documentation will be helpful https://ge0mlib.com/papers/Protocols/SiRF_Nmea_rev3_0.pdf

mihai-dinculescu commented 1 year ago

Thank you for this feature request and the provided information, @PavelFilippovich. I should find some time to look into this in the next few weeks.

The NMEA-0183 RMC protocol seems to be used by RS232 GPS Devices, which is an input supported by SkyDemon. This should make testing easy for me, as I'm already familiar with SkyDemon.

Once I get it working in SkyDemon over a virtual COM, I'll give you a shout to test it in Jeppesen Flitеdesk.

mihai-dinculescu commented 1 year ago

@PavelFilippovich good news, COM should be supported in version v0.3.0-alpha.1 You can grab it from https://github.com/mihai-dinculescu/msfs-2020-gps-link/releases/tag/v0.3.0-alpha.1. There is another tool that needs to be installed, com0com. The UI has instructions on how to go about it.

I would love your feedback on the feature.

There are some decisions that I've taken that I'm not sure of:

PavelFilippovich commented 1 year ago

Great news! Connection to Jeppesen Flitеdesk successful! 3D GPS coordinates work!

More note. The choice of com port speed should be made from the standard values 4800, 9600, 19200, 38400, 57600, 115200.

There are tricks in connection. I will test further. I'll let you know the result.

PavelFilippovich commented 1 year ago

2022-11-06_19-19-28

Jeppesen Flitеdesk setup.

PavelFilippovich commented 1 year ago

It would also be great to store the settings of the last run.

PavelFilippovich commented 1 year ago

There are no problems with connection. Everything is working. I tested the comport at speeds of 9600 and 38400.

mihai-dinculescu commented 1 year ago

Thank you very much for the prompt testing and feedback, @PavelFilippovich . There's a new alpha release out: https://github.com/mihai-dinculescu/msfs-2020-gps-link/releases/tag/v0.3.0-alpha.2.

I think that I've managed to fix the heading error. I've also changed the Baud rate to be a dropdown with fixed options.

I have created a separate issue for the persistence of settings: #30.

There is still one bug I want to fix before the general release. The broadcaster currently hangs when sending messages over COM when no navigation app is connected.

PavelFilippovich commented 1 year ago

Thank you so much for making the changes!

Unfortunately, the course has not changed. Photos in the application. One from MSFS2020 the other from Jeppesen Flitedesk. The place of fixing the course is also attached.

2022-11-07_21-14-31

2022-11-07_21-14-52

2022-11-07_21-15-27

The comport speed of 14400 is not needed. Better add 115200.

Everything else works, as before, excellent!

Update: I checked the information on the Jeppesen Flitedeсk documentation. I was wrong. Jeppesen does not show the exact course. Do not look for a bug in your program.

mihai-dinculescu commented 1 year ago

Thank you very much for the quick feedback @PavelFilippovich.

I have tweaked the baud rate speeds and have addressed an edge case in the COM setup documentation. Version v0.3.0 contains these changes. https://github.com/mihai-dinculescu/msfs-2020-gps-link/releases/tag/v0.3.0

I will close this issue now.

Thanks again for all the support and feedback. It's been most useful. Please don't hesitate to open other issues if you encounter problems or if you have other requests.

PavelFilippovich commented 1 year ago

Tested at a speed of 115200. Everything works well! Thank you!