    * 10.flowrate
    * 11. posistion1_mm
    * 12. position2_mm
+   * 13. Irms
    * */
     receive_FFT();
     Serial.println(data);

  return result;
}

float smoothing_Vin(const int* numb_readings, float* total_sum,
                float* array_item){

  *total_sum -= *array_item;
  *array_item = emon1.readVcc()*0.001;
  *total_sum += *array_item;
  float result = *total_sum / *numb_readings;
  return result;
}

/////////////////////////////////////////////////////////////////////////////////////////////////////////////
//                                            0. NODE ID

     //Serial.println(water_level_delta);
    // Serial.println(time_delta/1000);
     flow_rate_cc_per_sec = ( water_level_delta ) / (time_delta/1000.0);
     flow_rate_cc_per_sec *= vesicle_area_cm_2;
  
     //set the last calculation references
     flow_calc_water_level_cm = water_level_cm;
     calc_time_ms = millis();
    }
    else if (600000.0 <= (millis() - calc_time_ms) && water_level_cm >= flow_calc_water_level_cm){
      float water_level_delta = water_level_cm - flow_calc_water_level_cm;
      float time_delta = millis() - calc_time_ms;
      flow_rate_cc_per_sec = ( water_level_delta ) / (time_delta/1000.0);
      flow_rate_cc_per_sec *= vesicle_area_cm_2;
      //set the last calculation references
      flow_calc_water_level_cm = water_level_cm;
      calc_time_ms = millis();
    }
   }
  
