/// <summary> /// ES: Procesa datos recogidos por Arduino SDA que están almacenados en una lista. /// </summary> /// <param name="rawData">ES: Lista de strings con los datos sin procesar. </param> /// <param name="resultTable">ES: SensorDataArray donde se almacenaran los resultados</param> /// <param name="clearTable">ES: Indicar 'true' si se quiere limpiar los datos de la tabla</param> public void Process(List <String> rawData, ref Containers.SensorData resultTable, List <Containers.Measurement> format, bool clearTable = false) { if (clearTable) { resultTable.Clear(); } foreach (string data in rawData) { Process(data, ref resultTable, format); } }
static Program() { _receivedData = new Data.Containers.SensorData(); _baudRatesList = new Data.Files.BaudRatesList(); _sensorList = new SensorLists(); _sensorsFormat = new SensorLists(); _serialMonitor = new DataTable(); _sensorListFile = new DataSerializer <SensorData>(); _baudRatesFile = new DataSerializer <BaudRates>(); _baudRatesList.BaudRates = _baudRatesFile.RecoverData(); _sensorList.SensorList = _sensorListFile.RecoverData(); }
/// <summary> /// ES: Procesa datos recogidos por Arduino SDA. /// </summary> /// <param name="rawData">ES: String con los datos sin procesar.</param> /// <param name="resultTable">ES: SensorDataArray donde se almacenaran los resultados</param> /// <param name="clearTable">ES: Indicar 'true' si se quiere limpiar los datos de la tabla</param> public void Process(string rawData, ref Containers.SensorData resultTable, List <Containers.Measurement> format) { // Se verifica que el mensaje sea para SDA. if (rawData.StartsWith("SDA: ")) { rawData = rawData.Remove(0, 5); } else { return; } // Se separan los datos string[] rawColumnsData = rawData.Split(' '); List <Containers.Measurement> receivedData = new List <Containers.Measurement>(); // Se convierten los datos a double for (int i = 0; i < rawColumnsData.Length; ++i) { try { double processedData = Convert.ToDouble(rawColumnsData[i]); Containers.Measurement newMeasure = new Containers.Measurement(); newMeasure.Value = processedData; newMeasure.Measure = format[i].Measure; newMeasure.Name = format[i].Name; receivedData.Add(newMeasure); } catch (Exception ex) { RuntimeLogs.SendLog(ex.Message, "Processing.Process(string, ref SensorDataArray, bool = false)"); } } resultTable.AddRow(receivedData); }