Example #1
0
        /// <summary>
        /// Add a new Temperature measure value
        /// </summary>
        /// <param name="temperature">temperature</param>
        public void AddTemperature(Measure[] temperatures)
        {
            if (temperatures == null)
            {
                return;
            }

            foreach (Measure temperature in temperatures)
            {
                if (temperature.SensorId == Config.Instance.InnerTemperatureSensorId)
                {
                    InnerCondition.Temperature = temperature;
                }

                if (temperature.SensorId == Config.Instance.OuterTemperatureSensorId)
                {
                    OuterCondition.Temperature = temperature;
                }

                if (temperature.SensorId == Config.Instance.SoilTemperatureSensorId)
                {
                    SoilCondition.Temperature = temperature;
                }
            }
        }
Example #2
0
 /// <summary>
 /// Create a new instance of <see cref="AirMeasure"/>
 /// </summary>
 public AirMeasure()
 {
     Temperature = new Measure();
     Humidity = new Measure();
     WindSpeed = new Measure();
     Luminosity = new Measure();
 }
Example #3
0
 /// <summary>
 /// Add a measures to the graph series and the text displays
 /// </summary>
 /// <param name="measures">Array of measures</param>
 public void AddMeasures(Measure[] measures)
 {
     if (measures.Length == 0)
     {
         this.ForegroundColor = FEZ_Components.FEZTouch.Color.Red;
         this.SetText("No data", 0);
     }
     else
     {
         this.ForegroundColor = FEZ_Components.FEZTouch.Color.Blue;
         for (int i = 0; i < measures.Length; i++)
         {
             Measure measure = measures[i];
             string name = measure.SensorId;
             if (name.Length > 8)
             {
                 name = name.Substring(0, 8);
             }
             string text = name + "= " + measure.value.ToString("N1");
             text += "*C";
             this.SetText(text, i);
             graph.AddData(measure.SensorId, measure.value);
             Debug.Print(measure.SensorId.ToString());
             Debug.Print(measure.value.ToString());
         }
     }
 }
Example #4
0
 /// <summary>
 /// Temperature conversion and display
 /// </summary>
 /// <param name="state">state objet required by the timer delegate</param>
 public static void TemperaturesCapture(object state)
 {
     Measure[] measures = temperatureBus.GetTemperature();
     // No sensor = Demo mode
     if (measures.Length == 0)
     {
         Random rand = new Random();
         measures = new Measure[1];
         measures[0] = new Measure();
         measures[0].SensorId = Config.Instance.InnerTemperatureSensorId;
         measures[0].value = (++demoTemperature % 48); 
         measures[0].timestamp = DateTime.Now;
     }
     greenhouse.AddTemperature(measures);
     temperatureForm.AddMeasures(measures);
     temperatureForm.Paint(lcd);
 }
        /// <summary>
        /// Perfom an conversion / reading cycle
        /// </summary>
        /// <returns>Array of value measured</returns>
        public Measure[] GetTemperature()
        {
            if (sensors == null)
            {
                return new Measure[0];
            }

            Measure[] measures = new Measure[sensors.Length];

            DateTime acquisitionDate = DateTime.Now;

            for (int i = 0; i < sensors.Length; i++)
            {
                IOneWireSensor sensor = sensors[i];
                sensor.SendOrder();
                sensor.ReadResult();
            }

            for (int i = 0; i < sensors.Length; i++)
            {
                IOneWireSensor sensor = sensors[i];
                ITemperatureSensor tempSensor = sensor as ITemperatureSensor;
                measures[i] = new Measure();
                measures[i].SensorId = sensor.Address.ToString();
                measures[i].timestamp = acquisitionDate;
                measures[i].value = tempSensor.Temperature;
            }
            return measures;
        }