Increased SERIAL_BUFFER_SIZE to no effect

It is just a debug message, I use the char array "response" later on. I see what you're saying, for some reason I thought that the C++ compiler automatically added the terminator at the end for me implictly. eg char otherArray[10]={'a','r','d','u','i','n','o'}; but perhaps this only happens when the array is initialized rather than written to from Serial. Even so, if the null terminator would have occurred after the CR or LF that ended the sentence (where the switch statement was ending as it received CR or LF, so the null terminator wouldn't get put into the array), I still wouldn't have been able to place it into "response" because I never ended up getting it to begin with.

However even with that mind, where is the rest of the string? Shouldnt the whole string be printed, and then the garbage rather than just 64 characters? A nmea sentence like this should be ~100 characters long.

I tried a few things out and found that it worked with "readStringUntil('\n'). I guess I could have used "strcpy" to make the returned string into a char array but instead I looked at the source for readStringUntil (I hope that is allowed) and then added it to my program (timedRead was listed as private) so I added that too.

So this works:

void get_nmea_feed()
{
	//Setup. Serial Index is for keeping track of array position,
	serial_index=0;
	memset(response, 0, sizeof(response) / sizeof(response[0]));		//clear input array	
	//Get First Character	
	inc = timedRead(); 
	while(inc>=0 && inc!='\n')
	{
		if(serial_index<sizeof(response)-1)		 //if index is less than array max
		{
			response[serial_index]=inc;
			serial_index++; 	   //STORE in response. I
		}
		inc=timedRead();
	}
	if(debug_pc){
		terminal.print("nmea feed: ");
		terminal.println(response);
		terminal.println(serial_index);
	}
}
int timedRead()
{
	
	long start = millis();
	do {
		potential_incoming = nmea_port.read();
		if (potential_incoming >= 0) return potential_incoming;
	} while(millis() - start < 1000);
	return -1;     // -1 indicates timeout
}