public async void CallMeBackTemp(CC2650SensorTag.SensorData data) { await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () => { bool state = true; //gattDataModeLock.EnterReadLock(); //{ if (gattDataMode == CC2650SensorTag.GattDataModes.Values) { state = true; } else { state = false; } // } //gattDataModeLock.ExitReadLock(); if (state) { switch (data.Sensor_Index) { case (CC2650SensorTag.SensorIndexes.IR_SENSOR): AmbTempOut.Text = string.Format("Chip:\t{0:0.0####}", data.Values[0]); ObjTempOut.Text = string.Format("IR: \t{0:0.0####}", data.Values[1]); break; case (CC2650SensorTag.SensorIndexes.MOVEMENT): GyroXOut.Text = string.Format("X: \t{0:0.0####}", data.Values[0]); GyroYOut.Text = string.Format("Y: \t{0:0.0####}", data.Values[1]); GyroZOut.Text = string.Format("Z: \t{0:0.0####}", data.Values[2]); AccelXOut.Text = string.Format("X: \t{0:0.0####}", data.Values[3]); AccelYOut.Text = string.Format("Y: \t{0:0.0####}", data.Values[4]); AccelZOut.Text = string.Format("Z: \t{0:0.0####}", data.Values[5]); RecTranslateTransform.X = data.Values[3] * 40; RecTranslateTransform.Y = data.Values[4] * -40; SolidColorBrush purpleBrush = new SolidColorBrush(); purpleBrush.Color = Colors.Purple; SolidColorBrush redBrush = new SolidColorBrush(); redBrush.Color = Colors.Red; SolidColorBrush greenBrush = new SolidColorBrush(); greenBrush.Color = Colors.Green; SolidColorBrush yellowBrush = new SolidColorBrush(); yellowBrush.Color = Colors.Yellow; SolidColorBrush whiteBrush = new SolidColorBrush(); whiteBrush.Color = Colors.White; if (Math.Abs(data.Values[5]) < 0.2) { AccPointer.Fill = whiteBrush; } else if (data.Values[5] < -1.5) { AccPointer.Fill = redBrush; } else if (data.Values[5] < 0) { AccPointer.Fill = purpleBrush; } else if (data.Values[5] > 1.5) { AccPointer.Fill = greenBrush; } else //if (data.Values[5] > 0) { AccPointer.Fill = yellowBrush; } MagnoXOut.Text = string.Format("X: \t{0:0.0####}", data.Values[6]); MagnoYOut.Text = string.Format("Y: \t{0:0.0####}", data.Values[7]); MagnoZOut.Text = string.Format("Z: \t{0:0.0####}", data.Values[8]); break; case (CC2650SensorTag.SensorIndexes.HUMIDITY): HumidOut.Text = string.Format("H:\t{0:0.0####}", data.Values[0]); HumidTempOut.Text = string.Format("T:\t{0:0.0####}", data.Values[1]); break; case (CC2650SensorTag.SensorIndexes.OPTICAL): LuxOut.Text = string.Format("L:\t{0:0.0####}", data.Values[0]); break;; case (CC2650SensorTag.SensorIndexes.BAROMETRIC_PRESSURE): BaroOut.Text = string.Format("P:\t{0:0.0####}", data.Values[0]); BaroOutTemp.Text = string.Format("T:\t{0:0.0####}", data.Values[1]); break; case (CC2650SensorTag.SensorIndexes.KEYS): if (data.Values[0] > 0) { KeyROut.Background = new SolidColorBrush(Colors.Green); } else { KeyROut.Background = new SolidColorBrush(Colors.Red); } if (data.Values[1] > 0) { KeyLOut.Background = new SolidColorBrush(Colors.Green); } else { KeyLOut.Background = new SolidColorBrush(Colors.Red); } if (data.Values[2] > 0) { ReedOut.Background = new SolidColorBrush(Colors.Green); } else { ReedOut.Background = new SolidColorBrush(Colors.Red); } break; default: break; } } else { switch (data.Sensor_Index) { case (CC2650SensorTag.SensorIndexes.IR_SENSOR): AmbTempOut.Text = string.Format("Chip:\t{0:000} {1:000} {2:000} {3:000}", data.Raw[3], data.Raw[2], data.Raw[1], data.Raw[0]); ObjTempOut.Text = string.Format(""); break; case (CC2650SensorTag.SensorIndexes.MOVEMENT): GyroXOut.Text = string.Format("X: \t{0:000} {1:000}", data.Raw[17], data.Raw[16]); GyroYOut.Text = string.Format("Y: \t{0:000} {1:000}", data.Raw[15], data.Raw[14]); GyroZOut.Text = string.Format("Z: \t{0:000} {1:000}", data.Raw[13], data.Raw[11]); AccelXOut.Text = string.Format("X: \t{0:000} {1:000}", data.Raw[11], data.Raw[10]); AccelYOut.Text = string.Format("Y: \t{0:000} {1:000}", data.Raw[9], data.Raw[8]); AccelZOut.Text = string.Format("Z: \t{0:000} {1:000}", data.Raw[7], data.Raw[6]); MagnoXOut.Text = string.Format("X: \t{0:000} {1:000}", data.Raw[5], data.Raw[4]); MagnoYOut.Text = string.Format("Y: \t{0:000} {1:000}", data.Raw[3], data.Raw[2]); MagnoZOut.Text = string.Format("Z: \t{0:000} {1:000}", data.Raw[1], data.Raw[0]); break; case (CC2650SensorTag.SensorIndexes.HUMIDITY): HumidOut.Text = string.Format("H:\t{0:000} {1:000} {2:000} {3:000}", data.Raw[3], data.Raw[2], data.Raw[1], data.Raw[0]); break; case (CC2650SensorTag.SensorIndexes.OPTICAL): LuxOut.Text = string.Format("L: \t{0:000} {1:000}", data.Raw[1], data.Raw[0]); break;; case (CC2650SensorTag.SensorIndexes.BAROMETRIC_PRESSURE): BaroOut.Text = string.Format("T:\t{0:000} {1:000} {2:000}", data.Raw[5], data.Raw[4], data.Raw[3]); BaroOutTemp.Text = string.Format("P:\t{0:000} {1:000} {2:000}", data.Raw[2], data.Raw[1], data.Raw[0]); break; case (CC2650SensorTag.SensorIndexes.KEYS): if (data.Values[0] > 0) { KeyROut.Background = new SolidColorBrush(Colors.Green); } else { KeyROut.Background = new SolidColorBrush(Colors.Red); } if (data.Values[1] > 0) { KeyLOut.Background = new SolidColorBrush(Colors.Green); } else { KeyLOut.Background = new SolidColorBrush(Colors.Red); } if (data.Values[2] > 0) { ReedOut.Background = new SolidColorBrush(Colors.Green); } else { ReedOut.Background = new SolidColorBrush(Colors.Red); } break; default: break; } } if (CountUpdateDataEvents) { SetUpProgress2(); } }); }
private async void ReadButton_Click(object sender, RoutedEventArgs e) { //HideMenu(); CC2650SensorTag.SensorData sensorData = await CC2650SensorTag.SensorsCharacteristicsList [SensorList.SelectedIndex].ReadSensor(true, true, CC2650SensorTag.DisableSensorWithDisableNotifications); }