예제 #1
0
 /// <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);
     }
 }
예제 #2
0
        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();
        }
예제 #3
0
        /// <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);
        }