TwoPortRX ...but with multiple software serial and a hardware serial

I really (I mean REALLY) think you need a Mega, with multiple hardware serial ports. Get the brain thing and the PC on separate serial ports. SoftwareSerial uses interrupts, which may be causing conflicts with the Brain class.

You could add Serial.print() statements to determine if getGPS() ever returns, or it brain.update() ever returns true.

You could add Serial.print() statements to the Brain class, to see what it is doing.