This is how I would do it on the Arduino end. I would use sscanf on the RPI side. I added a 1 second delay so I could see it work.
char sendBuf[48];
char tBuf[16];
double yaw = 87.96;
double pitch = -114.58;
double roll = 100.50;
void setup(){
Serial.begin(57600);
Serial3.begin(57600);
}
void loop() {
dtostrf(yaw,2,2,sendBuf);
dtostrf(pitch,2,2,tBuf);
strcat(sendBuf,",");
strcat(sendBuf,tBuf);
dtostrf(roll,2,2,tBuf);
strcat(sendBuf,",");
strcat(sendBuf,tBuf);
sBuff();
localSerial();
delay(1000);
}
void sBuff(){
Serial3.println(sendBuf);
}
void localSerial(){
Serial.println(sendBuf);
}
edit: I moved yaw, pitch, and roll to global so you can load them up in another function.