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

[Feature Request]: Support Ublox M9N #3811

Open
hdngr opened this issue May 6, 2024 · 2 comments
Open

[Feature Request]: Support Ublox M9N #3811

hdngr opened this issue May 6, 2024 · 2 comments
Labels
enhancement New feature or request

Comments

@hdngr
Copy link
Contributor

hdngr commented May 6, 2024

Platform

NRF52, ESP32

Description

Overview

Canaryone is designed with the Ublox M9N.

Problem

M6,7,8,9 and especially M10 all run different versions of firmware, and may communicate with dramatically different protocols.

Currently, the GPS module handles all chips that are !M10.

Solution

Refactor code to selectively apply commands to chips given there version and protocol needs.

As of May 6th, 2024 - DRAFT PRs to follow

@hdngr hdngr added the enhancement New feature or request label May 6, 2024
@hdngr
Copy link
Contributor Author

hdngr commented May 6, 2024

cc @lolsborn @GPSFan

@hdngr hdngr mentioned this issue May 7, 2024
@GPSFan
Copy link
Contributor

GPSFan commented May 7, 2024

The u-blox standard precision product line can be roughly divided into 2 categories, Pre F9/M9 and post F9/M9. The F9/M9 generation (Chip type 9140) introduced the VALSET/VALGET/VALDEL key value pair configuration framework. It also retained some of the older configuration protocol. As the newer versions of the protocol were introduced, the older configuration method has been deprecated and in newer generations much has been removed. The Neo-M9N firmware is currently 4.04, and hasn't been updated since lat Sept, 2020.
The M9 is a hungry beast, but also is a very good receiver, combining an M9 and an NRF52 is somewhat puzzling as even in power save mode the M9 consumes more than an M10 in full acquisition mode.
The current GPS.cpp handles u-blox generations 6,7,8 and 10. Although the M10 support is not as complete as I would like it to be, and the support has been sort of "patched together" over time. A more structured approach might be a goal for Meshtastic V3. There is also the support for non-u-blox receivers, as they can be much more cost effective GNSS solutions, and there are a lot of variations in those receivers.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants