I want to combine GPS latitude and longitude into a single float separated by a comma but the code shows an error
#include <Arduino.h>
#include <TinyGPS++.h>
#include <SoftwareSerial.h>
int RXPin = 2;
int TXPin = 3;
float Latitude;
float Longitude;
TinyGPSPlus gps;
SoftwareSerial SerialGPS(RXPin, TXPin);
float SensorData,KalmanFilterData,SensorData2,KalmanFilterData2;
float Xt,Xt_update,Xt_prev,Xt2,Xt_update2,Xt_prev2;
float Pt,Pt_update,Pt_prev,Pt2,Pt_update2,Pt_prev2;
float Kt,R,Q,Kt2,R2,Q2;
void setup() {
Serial.begin(9600);
while (!Serial) {
;
}
SerialGPS.begin(9600);
R=100;
Q=1;
Pt_prev=1;
}
void obtain_data()
{
if (gps.location.isValid())
{
Latitude = gps.location.lat();
Longitude = gps.location.lng();
/*Serial.print(Latitude);
Serial.print(",");
Serial.println(Longitude);*/
SensorData = Latitude + "," Longitude;
Xt_update = Xt_prev;
Pt_update = Pt_prev + Q;
Kt = Pt_update/(Pt_update+R);
Xt = Xt_update + (Kt*(SensorData-Xt_update));
Pt = (1 - Kt)*Pt_update;
Xt_prev = Xt;
Pt_prev = Pt;
KalmanFilterData = Xt;
Serial.print(SensorData,6);
Serial.print(",");
Serial.print(KalmanFilterData,6);
Serial.println();
}
else
{
Serial.println("Location is not available");
}
}
void loop() {
while (SerialGPS.available() > 0 )
if (gps.encode(SerialGPS.read()))
obtain_data();
if (millis() > 5000 && gps.charsProcessed() < 10)
{
Serial.println("GPS NOT DETECTED!");
while(true);
}
}
this the error message
invalid operands of types 'float' and 'const char [2]' to binary 'operator+'