void Quectel_L89(){
//while (mySerial.available()) {
String sentence=mySerial.readStringUntil('\n');
while (!sentence.startsWith("$GNGGA")){
sentence="";
sentence+=mySerial.readStringUntil('\n');
}
String parts[15];
int i = 0;
char * pch = strtok (sentence.c_str(),",");
while (pch != NULL) {
parts[i++] = pch;
pch = strtok (NULL, ",");
}
String Satellites = parts[7];
String altitude = parts[9];
String latitude_full = parts[2];
float latitude_float=latitude_full.toFloat();
int latitude_degrees=int((int)(latitude_float)/100);
float latitude_minutes=((latitude_float-(latitude_degrees*100.0))/60.0);
float latitude_converted=latitude_degrees + latitude_minutes;
String longitude_full = parts[4];
float longitude_float=longitude_full.toFloat();
int longitude_degrees=int((int)(longitude_float)/100);
float longitude_minutes=((longitude_float-(longitude_degrees*100.0))/60.0);
float longitude_converted=longitude_degrees + longitude_minutes;
String time = parts[1];
packet+=time.substring(0,2);
packet+=":";
packet+=time.substring(2,4);
packet+=":";
packet+=time.substring(4,6) + ",";
packet+=String(latitude_converted,4);
packet+=",";
packet+=String(longitude_converted,4);
packet+=",";
packet+=altitude; //use until gnss hasn't fixed else, packet not generated since altitude is empty and any substring operation will cause error
// packet+=altitude.substring(0,5); //use once gnss has fixed, adds 1 decimal point precision
packet+=",";
packet+=Satellites;
packet+=",";
//}
}