Qwiic GPS Library Compile Problems

I am having a compile problem with the Qwiic GPS Library. This is the error message

Arduino: 1.8.8 (Mac OS X), Board: “Adafruit ItsyBitsy M4 (SAMD51), Enabled”

SparkFun_I2C_GPS_Arduino_Library.cpp:140:56: error: default argument given for parameter 1 of ‘void I2CGPS::enableDebugging(Stream&)’ [-fpermissive]

void I2CGPS::enableDebugging(Stream &debugPort = Serial)

^

In file included from sketch/SparkFun_I2C_GPS_Arduino_Library.cpp:28:0:

SparkFun_I2C_GPS_Arduino_Library.h:57:10: error: after previous specification in ‘void I2CGPS::enableDebugging(Stream&)’ [-fpermissive]

void enableDebugging(Stream &debugPort = Serial); //Output various extra messages to help with debug

^

exit status 1

default argument given for parameter 1 of ‘void I2CGPS::enableDebugging(Stream&)’ [-fpermissive]

This report would have more information with

“Show verbose output during compilation”

option enabled in File → Preferences.

Help?

Hello, and thanks for using the forums!

Unfortunately it doesn’t look like our library is compatible with that board. Sadly I don’t have a solution other than using a different micro controller board.

Hi RocketScientist,

A quick thought to expand a bit on what Chris said. One thing you could try would be to go to the .cpp file and try editing that to work with a SAMD51. Unfortunately, we do not carry any SAMD51-based boards so none of our libraries are written to work with them by default. That error looks like it is related to the serial port the debug data is being sent to. You could start by commenting out that section for the debugging function and see if that fixes it but most likely, there are other functions in the library that are calling for Serial that will throw other compilation errors at you.

With SAMD-based boards and similar ones, you need to call the specific serial port sending data so, for example, on an Uno, you can simply call Serial.print(); and it will work but on SAMD boards and ones similar to them you will need to call the specific serial port. For example, Serial1.print();

I hope this helps explain the issue in more detail.

Commenting out the debug logic allows the library to compile.

But somehow putting the module on the QWIIC bus brings the bus down … interesting … clearly something else going on.

I’ll get back to you.

One other thought … the SAMD51 is a GREAT chip. Hardware FP is a yumminess.