Skip to content
This repository was archived by the owner on Jan 28, 2021. It is now read-only.

Added constant descriptions and added new constants for future use #66

Merged
merged 3 commits into from
Jan 6, 2020

Conversation

averywallis
Copy link
Contributor

Here are some small additions and expansions to the constants in the .h file, something I've been meaning to do for a while. Most of the descriptions are taken directly from the ZED-F9P Interface Description document or the NEO-M9N Interface Description document from u-blox.
I was unable to figure out how to insert links to highlighted sections of the code, so I have put line numbers from my code as a replacement. Hopefully they are sufficient.
Some constants may appear to have been deleted. They have been moved to their appropriate sections based on their contents (all UBX_CFG placed together, all UBX_CLASS placed together, etc.). If this format does not work, just let me know.

The first change (line 106-121) simply adds descriptions of the constants of the UBX Class IDs (UBX_CLASS). Useful to explain the abbreviations/short hand constants. Descriptions taken from ZED-F9P Interface Description: 5.6 UBX Class IDs.

The second change (line 123-153) adds descriptions of constants used for configuration (UBX_CFG). It also adds additional CFG messages that may not yet be implemented/needed. Listings and descriptions taken from ZED-F9P Interface Description: 5.7 UBX Messages Overview and NEO-M9N Interface Description: 3.8 UBX messages overview. Some messages appear in one or the other or both, depending on it they are usable by said GPS module.

The third change (line 155-185) adds descriptions of NMEA messages and also adds additional NMEA messages not yet defined in this library. Descriptions taken from ZED-F9P Interface Description: 4.1.8 Messages Overview. If the extra messages are not necessary as new constants, they can easily be removed. This change also adds some constants that, in the future once implemented (future PR by me hopefully), will allow the library to change the NMEA Talker ID (GPS, GLONASS, BeiDou, etc.).

The fourth change (line 195-296) adds constants and descriptions for the rest of the UBX messages listed in the ZED-F9P Interface Description: 5.7 UBX Messages Overview document. Most do not already exist in the library and may be excessive/never used by the user. But they may be useful for future development. Feel free to remove any ones you feel are excessive. I added these as I was already going through some of the existing UBX messages adding descriptions. Some of the UBX messages that appear to be deleted will most likely have been moved to their appropriate section in this block of new code.

The fifth and final change (line 356-367) adds descriptions for the dynamic platform model. Changing the dynamic platform model was a function I had planned to put into a PR, but it looks like someone beat me to it! Instead I will just add descriptions for the dynamic platform model options. Descriptions are taken from the ZED-F9P Integration Manual 3.1.7: Navigation configuration document.

As always, feedback on my work is greatly appreciated. Hopefully this PR provides useful info and not too much excessive info. Also hope that this PR is better than my previous PR months ago, which was just a confusing mess of code from someone who had no idea how to contribute :)

@nseidle
Copy link
Member

nseidle commented Jan 6, 2020

Love it! When I started this lib it was just a dozen or so defines and I never intended to add every possible Ublox message but it's grown considerably and your comments are very helpful.

Adding not-yet-implemented defines is no cost to the RAM/Flash footprint and helpful for future dev. Thanks!

@nseidle
Copy link
Member

nseidle commented Jan 6, 2020

I can't merge: Please run your PR against all the examples and verify they compile.

Looks like you have a few duplicates to deal with:

image

@nseidle nseidle merged commit 4b6acf6 into sparkfun:master Jan 6, 2020
@averywallis
Copy link
Contributor Author

Good catch, should be fixed now. Did run into some problems with some of the examples after these duplicates were fixed and not relating to the duplicates.
For the NEO-M8P examples, Example3_BasewithLCD, there's a problem with some of the .enableRTCMmessage function. One of the passed parameters doesn't exist in the code.
incorrect port
Previous examples use "COM_PORT_I2C" instead of "UBX_RTCM_I2C_PORT". This seems like just an improper variable being used.

For the ZED-F9P examples, Example2_ValConfigurationMethod, there's a problem with a .getVal function:
setVal error
I think it's supposed to be .getVal8, which is what the Arduino IDE recommends.

If these problems should instead go in the Issues section, let me know and I can do that

@nseidle
Copy link
Member

nseidle commented Jan 6, 2020

Thanks! Those are indeed old and unrelated to your PR. Please do open an issue and/or PR if you want to tackle them.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants