TinyGPS++ - Failed checksum

		gps.encode(Serial1.read());

The encode() method returns a value. Quit discarding it.

It returns true when the end of a sentence is received, at which time you should break out of the loop and use the data.