String data_In;
String DT[10];
int i;
boolean flag_parse = false;
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
Serial.println("PARSING DATA MASBAY");
data_In;
}
void loop() {
// put your main code here, to run repeatedly:
if(Serial.available()>0){
char inputChar = (char)Serial.read();
data_In += inputChar;
if(inputChar == '\n'){
flag_parse = true; // marking progress
}
}
if(flag_parse){
parsing_data();
flag_parse = false;
data_In=""; // reset string buffer
}
}
void parsing_data(){
int j = 0;
// Read data input from serial
Serial.print("Isi data In: "); Serial.println(data_In);
// Clearing Inisial Data
DT[j] ="";
// Basic Algorithm for parsing data
for(i = 0; i < data_In.length(); i++){
// checking sparator data frame in csv format --> data1; data2; data3;
if(data_In[i] == ';'){
j++;
DT[j] =""; // Inisialisasi array DT[J]
}else{
DT[j] = DT[j] + data_In[i];
}
}
// Serial.print("Data 0= ");Serial.println(DT[0]);
// Serial.print("Data 1= ");Serial.println(DT[1]);
// Serial.print("Data 2= ");Serial.println(DT[2]);
// Serial.print("Data 3= ");Serial.println(DT[3]);
/*
Test Data: 1,0;2,0;3,0;4,0
Test Data; 1,1;2,2;3,3;4,4
*/
Serial.print("Data 0= ");Serial.println(DT[0].toFloat());
Serial.print("Data 1= ");Serial.println(DT[1].toFloat());
Serial.print("Data 2= ");Serial.println(DT[2].toFloat());
Serial.print("Data 3= ");Serial.println(DT[3].toFloat());
float sum;
sum = DT[0].toFloat() + DT[1].toFloat();
Serial.print("data penjumlahan= "); Serial.println(sum);
}