//private void timerTick(object sender, object args) //{ // textBlockTemperatureHumidity.Text = "Start reading the temperature"; // String displayStr = ""; // int[] data = new int[4]; // PrecisionCronometer c = new PrecisionCronometer(); // c.start(); // long t = c.ticks; // if (sensor_.read()) // { // sensor_.getData(data); // displayStr = string.Format("Temperature:{0}.{1}, humidity:{2}.{3} ({4}us)", // data[0], data[1], data[2], data[3], c.ticksToUs(c.ticks - t)); // } // else // { // sensor_.getData(data); // displayStr = sensor_.getErrorString() + string.Format(", d[0]={0},d[1]={1},d[2]={2},d[3]={3} ({4}us)", // data[0], data[1], data[2], data[3], c.ticksToUs(c.ticks - t)); // } // textBlockTemperatureHumidity.Text = displayStr; //} private void getTemperatureHumidity(object sender, object args) { int[] data = new int[4]; PrecisionCronometer c = new PrecisionCronometer(); c.start(); long t = c.ticks; DateTime tnow = DateTime.Now; if (sensor_ == null) { textBoxHumidityTemperature.Foreground = new SolidColorBrush(Windows.UI.Colors.Blue); textBoxHumidityTemperature.Text = string.Format("Temperature:{0}.{1}, humidity:{2}.{3} ({4}us)", data[0], data[1], data[2], data[3], c.ticksToUs(c.ticks - t)); return; } ellipseErrorLed.Fill = new SolidColorBrush(Windows.UI.Colors.LightSalmon); ellipseTHLed.Fill = new SolidColorBrush(Windows.UI.Colors.LightGreen); if (sensor_.read()) { ellipseTHLed.Fill = new SolidColorBrush(Windows.UI.Colors.Green); sensor_.getData(data); textBoxHumidityTemperature.Foreground = new SolidColorBrush(Windows.UI.Colors.Blue); textBoxHumidityTemperature.Text = string.Format("Hum:{0}.{1}, temp:{2}.{3} ({4}us) {5}", data[0], data[1], data[2], data[3], c.ticksToUs(c.ticks - t), tnow); } else { ellipseErrorLed.Fill = new SolidColorBrush(Windows.UI.Colors.Red); sensor_.getData(data); textBoxError.Foreground = new SolidColorBrush(Windows.UI.Colors.Red); textBoxError.Text = sensor_.getErrorString() + string.Format(", d[0]={0},d[1]={1},d[2]={2},d[3]={3} ({4}us)", data[0], data[1], data[2], data[3], c.ticksToUs(c.ticks - t)); } }
public DHT11Sensor(GpioPin pin, PrecisionCronometer c) { pin_ = pin; cronometer_ = c; cronometer_.start(); }