// A message without CR or LF at the end
char message[] = "1,0,0,0,0.000000,0.000000,0.00,-252,14.41,1100.00";

int id = 0;
int hourRead = 0;
int minRead = 0;
int secRead = 0;
float latRead = 0;
float lonRead = 0;
float altRead = 0;
int sensorRead = 0;
float voltRead = 0.0;
float percRead = 0.0;

void setup() 
{
  Serial.begin(115200);
  Serial.println( "The sketch has started");

  // ----------------------------------------------------------
  // Test sscanf with integer
  // ----------------------------------------------------------
  Serial.print("Can I parse a integer ? ");
  int i;
  if( sscanf( "91", "%d", &i) == 1)
  {
    Serial.print( "Yes, it is: ");
    Serial.print( i);
  }
  else
  {
    Serial.print( "No");
  }
  Serial.println();


  // ----------------------------------------------------------
  // Test sscanf with float
  // ----------------------------------------------------------
  Serial.print("Can I parse a float ? ");
  float f;
  if( sscanf( "123.456", "%f", &f) == 1)
  {
    Serial.print( "I don't know, the value is: ");
    Serial.print( f);
  }
  else
  {
    Serial.print( "No");
  }
  Serial.println();


  // ----------------------------------------------------------
  // Try to parse the message
  // ----------------------------------------------------------
  if( sscanf( message, "%d,%d,%d,%d,%f,%f,%f,%d,%f,%f", &id, &hourRead, &minRead, &secRead, &latRead, &lonRead, &altRead, &sensorRead, &voltRead, &percRead) == 10)
  {
    Serial.println( "Parse was a success");
    showData();
  }
  else
  {
    Serial.println( "Can not parse");
  }
}

void loop() 
{
}

void showData() {
  Serial.print("  ID: "); 
  Serial.println(id);

  Serial.print("  Time: "); 
  Serial.print(hourRead); 
  Serial.print(":"); 
  Serial.print(minRead); 
  Serial.print(":"); 
  Serial.println(secRead);

  Serial.print("  Location: "); 
  Serial.print(latRead); 
  Serial.print(", "); 
  Serial.println(lonRead);

  Serial.print("  Altitude: "); 
  Serial.println(altRead);

  Serial.print("  Sensor Reading: "); 
  Serial.println(sensorRead);

  Serial.print("  Voltage: "); 
  Serial.println(voltRead);

  Serial.print("  Battery: "); 
  Serial.print(percRead); 
  Serial.println("%");
}