Example #1
0
        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();
                }
            });
        }
Example #2
0
 private async void ReadButton_Click(object sender, RoutedEventArgs e)
 {
     //HideMenu();
     CC2650SensorTag.SensorData sensorData = await CC2650SensorTag.SensorsCharacteristicsList
                                             [SensorList.SelectedIndex].ReadSensor(true, true, CC2650SensorTag.DisableSensorWithDisableNotifications);
 }