mihai-dinculescu / msfs-2020-gps-link Goto Github PK
View Code? Open in Web Editor NEWTransmit GPS data from Microsoft Flight Simulator 2020 to navigation apps.
License: MIT License
Transmit GPS data from Microsoft Flight Simulator 2020 to navigation apps.
License: MIT License
ansi_term is Unmaintained
Details | |
---|---|
Status | unmaintained |
Package | ansi_term |
Version | 0.12.1 |
URL | ogham/rust-ansi-term#72 |
Date | 2021-08-18 |
The maintainer has adviced this crate is deprecated and will not
receive any maintenance.
The crate does not seem to have much dependencies and may or may not be ok to use as-is.
Last release seems to have been three years ago.
The below list has not been vetted in any way and may or may not contain alternatives;
See advisory page for additional details.
xml-rs is Unmaintained
Details | |
---|---|
Status | unmaintained |
Package | xml-rs |
Version | 0.8.4 |
URL | https://github.com/netvl/xml-rs/issues |
Date | 2022-01-26 |
xml-rs is a XML parser has open issues around parsing including integer
overflows / panics that may or may not be an issue with untrusted data.
Together with these open issues with Unmaintained status xml-rs
may or may not be suited to parse untrusted data.
See advisory page for additional details.
There are two broad options:
Thanks to @PavelFilippovich for the suggestion.
Hi, i followed the instructions on the Com0Com and created 2 Com ports witht he software, i can also select the Ports in my Client software (FliteDeck) but i'm unable to select the Ports in your application, they dont want to show up. What can i do?
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:
myPort.write(0x02); // STX
myPort.write("A"); // A Lat
myPort.write("N"); // North or South of Equator
myPort.write(" "); //
myPort.write("55"); // Degrees
myPort.write(" ");
myPort.write("5720"); // MMinutes SSeconds
myPort.write(0x0D); // Item Terminator
myPort.write("B"); // B Lon
myPort.write("W"); // East or West of Meridian Line
myPort.write(" "); //
myPort.write("003"); // Degrees
myPort.write(" ");
myPort.write("2120"); // MMinutes SSeconds
myPort.write(0x0D); // Item Terminator
myPort.write("C"); // Magnetic Track in Degrees - 3 decimal
myPort.write("000"); // 000
myPort.write(0x0D);
myPort.write("D"); // Ground Speed Knots
myPort.write("667"); // 667 Mach 1
myPort.write(0x0D);
myPort.write("E"); // Distance to active waypoint DDDDD = nm * 10
myPort.write("00300"); //
myPort.write(0x0D);
myPort.write("G"); // Cross Track Error
myPort.write("L"); // R or L
myPort.write("0000"); // distance off course hundredths of nm
myPort.write(0x0D);
myPort.write("P"); // Pressure Altitude
myPort.write("+"); // + / - value
myPort.write("0008"); // -1599 to + 5999 tens of feet +/- sea level, Dashed when invalid
myPort.write(0x0D);
myPort.write("I"); // Desired Track Magnetic
myPort.write("0000"); // 0000 Degrees x 10
myPort.write(0x0D);
myPort.write("K"); // Active Waypoint Identifier xxx (xx)
myPort.write("");
myPort.write(0x0D);
myPort.write("L"); // Bearing to active waypoint (degrees x10)
myPort.write("1350");
myPort.write(0x0D);
myPort.write("z"); // Indicated Altitude in feet 0000
myPort.write("5000");
myPort.write(0x0D);
myPort.write("Q"); // Magnetic Variation
myPort.write("E"); // East
myPort.write("000"); // Degs
myPort.write(0x0D);
myPort.write("S-----"); // Not sure what S is. Keeping it here. Was captured from XPlane 11
myPort.write(0x0D);
myPort.write("T---------"); // Warnings. 4th Char will be an A if nav data is flagged
myPort.write(0x0D);
myPort.write("w01@"); // Moving Map Primary Route Data
myPort.write(0x0D);
myPort.write(0x03); // ETX
Hi! Great plugin, works phenomenal, but can you please make ir show TRK (over ground) instead of the Heading of the airplane, like a true GPS would? THANKS!!
kuchiki
is unmaintained
Details | |
---|---|
Status | unmaintained |
Package | kuchiki |
Version | 0.8.1 |
URL | kuchiki-rs/kuchiki@f92e4c0 |
Date | 2023-01-21 |
The kuchiki
repo was marked as archived in this commit.
Possible alternatives may include:
See advisory page for additional details.
Tried this app. So, I have iFlyGPS and they connect to XPlane using the same method. IP and port 49000. MSFS2020 will not sync with the iFlyGPS. GPS link claims it is connected but the iFly app does not sync to the airport I am at. No indication the there is a link with iFly. With XPlane it connects as soon as I load to an airport. In Xplane I do set the IP and port in the data section. Is there any setting similar in MS2020? It seems like this should work but something is not quite connecting? Any ideas??
Thanks
There's no reason why MSFS 2020 GPS Link wouldn't work with ForeFlight, but it would be nice to have it confirmed before we get in touch with them to add to their Q&A section of broadcasting tools.
Out-of-bounds write in nix::unistd::getgrouplist
Details | |
---|---|
Package | nix |
Version | 0.17.0 |
URL | nix-rust/nix#1541 |
Date | 2021-09-27 |
Patched versions | ^0.20.2,^0.21.2,^0.22.2,>=0.23.0 |
Unaffected versions | <0.16.0 |
On certain platforms, if a user has more than 16 groups, the
nix::unistd::getgrouplist
function will call the libc getgrouplist
function with a length parameter greater than the size of the buffer it
provides, resulting in an out-of-bounds write and memory corruption.
The libc getgrouplist
function takes an in/out parameter ngroups
specifying the size of the group buffer. When the buffer is too small to
hold all of the reqested user's group memberships, some libc
implementations, including glibc and Solaris libc, will modify ngroups
to indicate the actual number of groups for the user, in addition to
returning an error. The version of nix::unistd::getgrouplist
in nix
0.16.0 and up will resize the buffer to twice its size, but will not
read or modify the ngroups
variable. Thus, if the user has more than
twice as many groups as the initial buffer size of 8, the next call to
getgrouplist
will then write past the end of the buffer.
The issue would require editing /etc/groups to exploit, which is usually
only editable by the root user.
See advisory page for additional details.
I am trying to connect to a port. I am trying to connect to my phone but it is not working, it is not connecting. just hoping i can resolve
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.
Potential segfault in the time crate
Details | |
---|---|
Package | time |
Version | 0.1.43 |
URL | time-rs/time#293 |
Date | 2020-11-18 |
Patched versions | >=0.2.23 |
Unaffected versions | =0.2.0,=0.2.1,=0.2.2,=0.2.3,=0.2.4,=0.2.5,=0.2.6 |
Unix-like operating systems may segfault due to dereferencing a dangling pointer in specific circumstances. This requires an environment variable to be set in a different thread than the affected functions. This may occur without the user's knowledge, notably in a third-party library.
The affected functions from time 0.2.7 through 0.2.22 are:
time::UtcOffset::local_offset_at
time::UtcOffset::try_local_offset_at
time::UtcOffset::current_local_offset
time::UtcOffset::try_current_local_offset
time::OffsetDateTime::now_local
time::OffsetDateTime::try_now_local
The affected functions in time 0.1 (all versions) are:
at
at_utc
now
Non-Unix targets (including Windows and wasm) are unaffected.
Pending a proper fix, the internal method that determines the local offset has been modified to always return None
on the affected operating systems. This has the effect of returning an Err
on the try_*
methods and UTC
on the non-try_*
methods.
Users and library authors with time in their dependency tree should perform cargo update
, which will pull in the updated, unaffected code.
Users of time 0.1 do not have a patch and should upgrade to an unaffected version: time 0.2.23 or greater or the 0.3 series.
No workarounds are known.
See advisory page for additional details.
mach is unmaintained
Details | |
---|---|
Status | unmaintained |
Package | mach |
Version | 0.1.2 |
URL | fitzgen/mach#63 |
Date | 2020-07-14 |
Last release was almost 4 years ago.
Maintainer(s) seem to be completely unreachable.
These may or may not be suitable alternatives and have not been vetted in any way;
See advisory page for additional details.
safemem is unmaintained
Details | |
---|---|
Status | unmaintained |
Package | safemem |
Version | 0.3.3 |
URL | https://github.com/abonander/safemem |
Date | 2023-02-14 |
The latest crates.io release was in 2019. The repository has been archived by the author.
y the author.
See advisory page for additional details.
mach is unmaintained
Details | |
---|---|
Status | unmaintained |
Package | mach |
Version | 0.3.2 |
URL | fitzgen/mach#63 |
Date | 2020-07-14 |
Last release was almost 4 years ago.
Maintainer(s) seem to be completely unreachable.
These may or may not be suitable alternatives and have not been vetted in any way;
See advisory page for additional details.
Potential segfault in
localtime_r
invocations
Details | |
---|---|
Package | chrono |
Version | 0.4.19 |
URL | chronotope/chrono#499 |
Date | 2020-11-10 |
Unix-like operating systems may segfault due to dereferencing a dangling pointer in specific circumstances. This requires an environment variable to be set in a different thread than the affected functions. This may occur without the user's knowledge, notably in a third-party library.
No workarounds are known.
See advisory page for additional details.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.