Hi Jai,
I've looked at your code and you are using software serial for the gps connection specifying pins 4 as Rx and 3 as Tx.
The qbcan compact shares schematics with micro Pro and Leonardo which they only have the following pins that support change interrupts needed for the software specified serial: D8, D9, D14 (MISO), D15 (SCK), D16 (MOSI).
D10 and D11 are not available in the qbcan compact payload connector.
Try specifying one of those pins for the software serial connection or use the hardware UART (serial1) connection.
Cheers,