Problema con almancenamiento de cadenas/arrays

Hola tengo un problema con almacenar 2 datos que recibo por el puerto serial y no encuentro solución… espero su ayuda.

Tengo una red de 3 modulos Xbee, 2 de ellos estan conectados a sensores dht11 con su arduino que me envian los datos de temperatura y humedad, el otro modulo Xbee coordinador esta conectado a un arduino nano que se encarga de recibir la informacion con el siguiente formato que estoy usando:

Sensor1,40,29

Sensor2,40,30

Estas 2 tramas son independientes, por los tiempos que se recibe, ambos datos no están sincronizados en los tiempos de recepción.
Lo que quiero hacer es unir estas 2 cadenas recibidas y ponerlas en el siguiente formato:

Sensor1,40,29,Sensor2,40,30

Con un programa en Java que he realizado, esta programado para recibir esta cadena y visualizarlo en graficas. Necesito llegar a ese formato, ya que tambien en el arduino Nano tengo conectado un modulo microSD que guardará los datos de los sensores con su hora.

Se me han ocurrido varias opciones como almacenar estas 2 cadenas en un array pero no logro hacerlo. Con lo que va la programación va saliendo…

//librerias SD card:
#include <SD.h>
#include <SPI.h>
//librerias ultilizadas:
#include <SoftwareSerial.h>
#include <String.h>
//Declaro los pines de TX y RX para mi serial port virtual en arduino.
SoftwareSerial mySerial(5, 6); // RX, TX

//*DECLARACIÓN DE VARIABLES

int contador = 0; //numero de datos que serán almacenados
int i=0;//Variables usadas en la recepción
#define MAX_BUFFER 200

// Almacenamos el estado como variable global
int estado=LOW;
int estado_transf=LOW;

// Almacenamos también el número de milisegundos anterior
unsigned long momento_anterior=0;
unsigned long bytes_recibidos=0;

//data recibida:
char *Indata;
char *Sen1;
char *Sen2;
char *arreglo[2];

void setup() {
Serial.begin(9600);
mySerial.begin(9600);
//Serial.println(“Comenzando Recepcion de prueba XBee - Arduino”);

}

//Función que devuelve variable string especifica y un valor entero
int serialGetString(char *string, int max)
{
unsigned i=0;
char sIn;
// Queremos que la cadena se rellene hasta max-2 para que en el carácter
// max-1 (el último) podamos meter el terminador \0
–max;
while (mySerial.available() && i<max) //Mientras mi puerto serial virtual este abierto y el valor entero i sea menor a max
{
sIn=mySerial.read(); //Leo mi data y lo almaceno en un string con un contador (i++)
string[i++]=sIn;
// La recepción tiene una latencia, se produce a través de una interrupción, que a lo mejor se ejecuta
// un poco después del Serial.available() por lo que el dato no entraría, por eso hacemos una pequeña espera
delayMicroseconds(500);
}
string[i++]=’\0’; // coloco un terminador para especificar que se terminó de recibir los datos.
return i; //se repite el proceso para recibir otro dato.
}

void loop() {
int recibe;
int numcad= 0;
unsigned long momento_actual=millis();
char buf[MAX_BUFFER];
// No bloqueante, si hay algo para leer entramos, si no, no.
if(mySerial.available())
{
serialGetString(buf, MAX_BUFFER); // función dada anteriormente que escribe el buffer completo con su longitud especifica.
// Escribimos el buffer completo
Serial.print((char*)buf);
Indata = (char*)buf; //almacenamos el dato en una variable char

if(strncmp(Indata,“Sensor1”,7) ==0 )
{
Sen1 = strtok(Indata,"\n");

}

if(strncmp(Indata,“Sensor2”,7) == 0)
{
Sen2 = strtok(Indata,"\n");
}

Serial.print(String(Sen1));
Serial.println(String(Sen2));

/*
for(int din = 0; din <= 1; din++)
{
arreglo[din] = Indata;
}

//Imprimimos el arreglo:

for(int din1 = 0; din1 <=1; din1++){
Serial.println(arreglo[din1]);
}
*/

}
}

Tengo más programacion con funciones de SD_card y separar las variables, para resumir tengo este avance.
Espero me den algunas sugerencias o consejos :)…

¿Cuando el sensor1 o 2 escribe en el buffer terminan añadiendo el caracter '\n'?

Es decir, Sensor2,40,30\n.

Almacena cada dato en una memoria temporal y luego las sumas usando las concatenaciones de String o simplemente outData = Sen1 + Sen2

Formas de sumar datos con strings

// adding a constant integer to a string:
  stringThree =  stringOne + 123;

  // adding a constant long interger to a string:
  stringThree = stringOne + 123456789;

  // adding a constant character to a string:
  stringThree =  stringOne + 'A';

  // adding a constant string to a string:
  stringThree =  stringOne +  "abc";

  // adding two Strings together:
  stringThree = stringOne + stringTwo;