Skip to content
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

Drop NMEA protocol #9302

Merged
merged 2 commits into from
Sep 29, 2023
Merged

Drop NMEA protocol #9302

merged 2 commits into from
Sep 29, 2023

Conversation

DzikuVx
Copy link
Member

@DzikuVx DzikuVx commented Sep 19, 2023

No description provided.

@CZEMacLeod
Copy link

Is INAV really dropping support for any non-ublox GPS devices (unless they have an interface chip generating MSP packets)?
I understand NMEA may not have the resolution or speed of other protocols, but this seems a little drastic a move?
It certainly could make sense on smaller flash devices to not include it in the firmware if not necessary, but maybe that could be done on a target basis with ifdefs?
Is there a lot of technical debt in the NMEA implementation?

@DzikuVx
Copy link
Member Author

DzikuVx commented Sep 19, 2023

@CZEMacLeod the thing is, NMEA is a deprecated protocol. All modern GPS modules support UBLOX protocol.
On top of that, year ago we put a HUGE notice in INAV Configurator saying that NMEA is deprecated and will be removed in the future. Future has come.

There is not a single good reason to keep NMEA support in a modern flight controller firmware

@MrD-RC MrD-RC added this to the 7.0 milestone Sep 19, 2023
@CZEMacLeod
Copy link

@DzikuVx Fair enough. I haven't actually used the configurator in a good while, and generally just read the discussions and PRs on this repo, so must have missed the conversation about deprecating NMEA.
I was looking at a few modules released by Adafruit recently, e.g. the PA1616S based Ultimate GPS module, which supports NMEA but not UBLOX. While I agree that maybe for UAVs it is true that most are based on UBLOX or UBLOX clones, I'm not sure that it is 'globally' true that this is the case.
Regardless, as you said, there apparently was a notice of this happening, and there are options available, so I have no 'objection' to this happening. I was just surprised that it was the case.
As I said, if there is significant technical debt, or overhead in continuing to support NMEA, it is obvious to remove it - especially if few people use the feature.
I am also slightly curious where you get the assertion that NMEA 0183 is a deprecated protocol. The https://www.nmea.org/nmea-0183.html page doesn't make that assertion, and I believe it is still used by AIS devices for instance.

@MrD-RC MrD-RC added the Release Notes Add this when a PR needs to be mentioned in the release notes label Sep 19, 2023
@AlksSAV
Copy link

AlksSAV commented Sep 20, 2023

Speed sensors and echo sounders, and other devices work on this protocol. I used these sensors in ardupilot. It is a pity that inav is increasingly moving away from supporting boats / rovers.

@Jetrell
Copy link

Jetrell commented Sep 20, 2023

@CZEMacLeod Its also about the direction INAV is moving, to increase navigation performance and reliability, now that it has an AHRS that depends more on the accuracy of this data, for optimum performance.
Unlike Ardupilot which can get by with a 1Hz update rate because it has a predictive sensor fusion filter. (EKF3)
INAV does not yet have this luxury. And relies more heavily on higher GNSS update rates for better position estimation.
Testing has shown this to considerably improve multicopter position accuracy in navigation modes.. With the INAV 7.0 also providing the use of up to 4 constellations for M10 devices, and 3 for M8 devices.

@MrD-RC
Copy link
Collaborator

MrD-RC commented Sep 20, 2023

I am also slightly curious where you get the assertion that NMEA 0183 is a deprecated protocol. The https://www.nmea.org/nmea-0183.html page doesn't make that assertion, and I believe it is still used by AIS devices for instance.

It has been deprecated in INAV for a year. Not necessarily by NMEA. There are simply better protocols available now. On very cheap GPS modules too. For example, the Walksnail M10 is cheap and works very well.
image

@mmosca
Copy link
Collaborator

mmosca commented Sep 23, 2023

Speed sensors and echo sounders, and other devices work on this protocol. I used these sensors in ardupilot. It is a pity that inav is increasingly moving away from supporting boats / rovers.

INAV only uses NMEA for gps and currently does not support any of those sensors using NMEA.

If they are pretending to be a GPS, and sending position solutions using NMEA protocol they would be seen as an unhealthy GPS receivers (no 3d fix, no course over ground, etc...) or would require a proper driver in INAV to be used anyway. If they already have a driver, they are not affected by this, and if they don't. they are not supported today.

@DzikuVx DzikuVx merged commit bde9b92 into master Sep 29, 2023
@DzikuVx DzikuVx deleted the dzikuvx-drop-nmea branch September 29, 2023 13:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Release Notes Add this when a PR needs to be mentioned in the release notes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants