   Serial.print(val[i]); Serial.print(",");
   Serial.print(vwc[i]*100); Serial.print(",");
   Serial.print(bound[i].v_down); Serial.print(",");
-  Serial.print(bound[i].v_top);
+  Serial.print(bound[i].v_top); Serial.print(" ");
   if(i != VWC_CNT-1 ) Serial.print(",");
   }
   Serial.println("");
     
 }
+int calibrate_complete_check(){
+  int change_cnt =0;
+  for(int i=0;i<VWC_CNT*2;i++){
+    if(bound_change[i]==1){
+      change_cnt++;
+    }
+  }
+  if(change_cnt==6) return 1;
+  else return 0;
+}
+
+
 void mode_check_and_run(){
   int btn_state;
   //detect if btn click

 *  Features:
 *    load/save VWC boundry value at EEPROM address 0 ( size = 2* int )
 *    Press button to start/stop calibrate mode. 
 *    Calibrating with LED on
 *  
 *  Connection: 
 *    Button : D2, default high

    if( mode == 0 ){ // cal complete
      Serial.println("Calibrate Complete!");
      digitalWrite(PIN_LED,0);
      if(calibrate_complete_check()) save_setting();
      else load_setting();
    }else{ //mode = 1 , cal start
      Serial.println("Calibrate Start!");
      digitalWrite(PIN_LED,1);
      for(int i=0;i<VWC_CNT;i++){
        bound[i].v_top = CALINIT_TOP;
        bound[i].v_down = CALINIT_DOWN;
        bound_change[i*2+0] = 0;
        bound_change[i*2+1] = 0;
      }
    }
    delay(500); // to avoid single click with multiple action
