예제 #1
0
        /// <summary>
        /// This is the click handler for the 'GetData' button.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private async void ScenarioGetData(object sender, RoutedEventArgs e)
        {
            sensor = await MainPage.GetDefaultAltimeterAsync();

            if (null != sensor)
            {
                AltimeterReading reading = sensor.GetCurrentReading();
                if (null != reading)
                {
                    ScenarioOutput_M.Text = String.Format("{0,5:0.00}", reading.AltitudeChangeInMeters);
                }
            }
            else
            {
                rootPage.NotifyUser("No altimeter found", NotifyType.ErrorMessage);
            }
        }
        /// <summary>
        /// This is the click handler for the 'Enable' button.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private async void ScenarioEnable(object sender, RoutedEventArgs e)
        {
            ScenarioEnableButton.IsEnabled = false;
            sensor = await MainPage.GetDefaultAltimeterAsync();

            if (null != sensor)
            {
                // Set a report interval that is both suitable for the purposes of the app and supported by the sensor.
                uint minReportIntervalMs = sensor.MinimumReportInterval;
                desiredReportIntervalMs = minReportIntervalMs > 1000 ? minReportIntervalMs : 1000;
                sensor.ReportInterval   = desiredReportIntervalMs;

                Window.Current.VisibilityChanged += new WindowVisibilityChangedEventHandler(VisibilityChanged);
                sensor.ReadingChanged            += new TypedEventHandler <Altimeter, AltimeterReadingChangedEventArgs>(ReadingChanged);

                ScenarioEnableButton.IsEnabled  = false;
                ScenarioDisableButton.IsEnabled = true;
            }
            else
            {
                ScenarioEnableButton.IsEnabled = true;
                rootPage.NotifyUser("No altimeter found", NotifyType.ErrorMessage);
            }
        }