I’m using the ZOE-M8Q GPS from sparkfun and wanted to integrate it into my arduino project, but I’m hitting a snag. The GNSS library is too big! It’s using 95% of program space just to exist. I looked into the older GPS library, but it’s missing the odometer features and when I attempted to graft in those features from the GNSS library somehow I broke the command to only send UBX commands over i2c (and I never saw in data so… yeah) :oops:
Is there a smaller library or a skeleton frame work where you can add in feature that you need? (For example, I don’t think the ZOE-M8Q offers high res location so it’s just unused space for me)
Unfortunately everything that we currently maintain is either here https://github.com/sparkfun/SparkFun_u-blox_ZOE-M8Q or here https://github.com/sparkfun/SparkFun_u- … no_Library
Implementing the older GPS library negates a lot of the specific features of the product…might I ask which Arduino you are using? It might be easiest to just use a microcontroller that has more memory (mega, esp32, etc.)
I’m using an UNO at the moment, but in the end I plan on using the Pro Mini, which at the end of the day is just a smaller Uno. Unfortunately, the mega is too big for my project. I haven’t used the esp32, but that at least looks like a good size and might be something worth the checking out.
I certainly get y’alls stance on the GNSS library. If you didn’t include features someone (probably me, lol) would be fussing that that one obscure feature only they need isn’t available, but once everything is included you have a library that makes it impossible to do anything with the main type of Arudino except use it to communicate with the GPS module. A possibility certainly could be to split features into unique header files, so you could have all the functions for PVT in one header, and all the Odometer features in a separate header. It would increase the complexity for the end user, but it would also mean functions that weren’t needed weren’t taking up space. I’ll try playing around with this and seeing what happens.
Don’t know if this will work for you but it might be worth a try.
https://github.com/SlashDevin/NeoGPS