Add support for ublox 7 series chips #113
Description
First of all, thanks to everyone who has contributed to this library thus far. Thanks @nseidle for doing a good job responding to requests and supporting the current code base.
I've been a SparkFun customer since at least 2014 and I have made more than a dozen orders with your company to date. I've also visited your campus in 2015. I say this not to throw my weight around, but simply to show that I'm a supporter.
Onto the issue: I have a 7 series chip and the current Ublox library doesn't support it - I'm not getting any valid data using the get methods on SFE_UBLOX_GPS. I noticed in #80 that @geeksville has done the preliminary investigation into the issue (his chip is a bit older though: neo6) and has made a good first stab at a proof of concept.
Can you guys leverage the findings and code in #80 to add support for older chips into your library? I know you said that if it's a reasonable merge, you can do it.
I agree that the candidate code needs be cleaned up a bit first before inclusion in the library code, to remove hardcoded stuff etc. Ideally, the target solution should check the capabilities of the chip and keep that state to be used in the execution of getPVT() or a similar strategy. Looks like the equivalent of the call SFE_UBLOX_GPS.minfo.hwVersion (anything below "00080000" for non-PVT solution) or something leveraging the value in SFE_UBLOX_GPS.getProtocolVersionHigh() would be good candidates for such capabilities determination - I don't have the u-blox specs in front of me. Adding this sort of strategy now may end up being needed in the future anyway.
Lastly, you're probably already aware of this, but your company and specifically your u-blox library are already trending on the u-blox.com website, giving you the well deserved credit and exposure. It may be a matter of time before more requests like this start coming in..
https://portal.u-blox.com/s/question/0D52p00008HKD5jCAH/i2c-configuration-using-arduino
https://portal.u-blox.com/s/question/0D52p000090aP1bCAE/maxm8-linux-cc-i2cddc-example-source-code
https://www.u-blox.com/en/blogs/stories/sparkfun%E2%80%99s-list-u-blox-shields-just-got-longer