Esempio n. 1
0
        private void OnGetGyrometer(object sender, RoutedEventArgs e)
        {
            Gyrometer        gyrometer = Gyrometer.GetDefault();
            GyrometerReading reading   = gyrometer.GetCurrentReading();

            this.DefaultViewModel["GyrometerResult"] = GetGyrometerResult(reading);
        }
Esempio n. 2
0
 async void gyrometer_ReadingChanged(Gyrometer sender, GyrometerReadingChangedEventArgs args)
 {
     await this.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
     {
         gyrometerReading = args.Reading;
     });
 }
Esempio n. 3
0
 static Vector ConvertToVector(GyrometerReading reading)
 {
     return(new Vector
     {
         X = reading.AngularVelocityX,
         Y = reading.AngularVelocityY,
         Z = reading.AngularVelocityZ
     });
 }
Esempio n. 4
0
        private string GetGyrometerResult(GyrometerReading reading)
        {
            var sb = new StringBuilder();

            sb.AppendFormat("x {0}\n", reading.AngularVelocityX);
            sb.AppendFormat("y {0}\n", reading.AngularVelocityY);
            sb.AppendFormat("z {0}\n", reading.AngularVelocityZ);
            return(sb.ToString());
        }
Esempio n. 5
0
 private void GyrometerReadingUpdated(GyrometerReading reading)
 {
     _gyroReading = reading;
     if (_state == GenerationState.Gathering)
     {
         SpeedX.Value = reading.AngularVelocityX;
         SpeedY.Value = reading.AngularVelocityY;
         SpeedZ.Value = reading.AngularVelocityZ;
     }
 }
 /// <summary>
 /// This is the event handler for ReadingChanged events.
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 async private void ReadingChanged(object sender, GyrometerReadingChangedEventArgs e)
 {
     await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
     {
         GyrometerReading reading = e.Reading;
         ScenarioOutput_X.Text    = String.Format("{0,5:0.00}", reading.AngularVelocityX);
         ScenarioOutput_Y.Text    = String.Format("{0,5:0.00}", reading.AngularVelocityY);
         ScenarioOutput_Z.Text    = String.Format("{0,5:0.00}", reading.AngularVelocityZ);
     });
 }
Esempio n. 7
0
 private async void gyrometer_ReadingChanged(Gyrometer sender, GyrometerReadingChangedEventArgs args)
 {
     GyrometerReading reading = args.Reading;
     await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
     {
         gyrometerX.Text = string.Format("{0,5:0.00}", reading.AngularVelocityX);
         gyrometerY.Text = string.Format("{0,5:0.00}", reading.AngularVelocityX);
         gyrometerZ.Text = string.Format("{0,5:0.00}", reading.AngularVelocityZ);
     });
 }
Esempio n. 8
0
        /// <summary>
        /// This is the dispatcher callback.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="args"></param>
        private void DisplayCurrentReading(object sender, object args)
        {
            GyrometerReading reading = _gyrometer.GetCurrentReading();

            if (reading != null)
            {
                ScenarioOutput_X.Text = String.Format("{0,5:0.00}", reading.AngularVelocityX);
                ScenarioOutput_Y.Text = String.Format("{0,5:0.00}", reading.AngularVelocityY);
                ScenarioOutput_Z.Text = String.Format("{0,5:0.00}", reading.AngularVelocityZ);
            }
        }
Esempio n. 9
0
        private async void gyrometerSensor_ReadingChanged(Gyrometer sender, GyrometerReadingChangedEventArgs args)
        {
            await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
            {
                GyrometerReading reading = args.Reading;

                xAxisVel.Text = String.Format("{0,2:0.00}", reading.AngularVelocityX.ToString());
                yAxisVel.Text = String.Format("{0,2:0.00}", reading.AngularVelocityY.ToString());
                zAxisVel.Text = String.Format("{0,2:0.00}", reading.AngularVelocityZ.ToString());
            });
        }
 void ReadGyrometerData()
 {
     if (gyroSensor != null)
     {
         GyrometerReading reading = gyroSensor.GetCurrentReading();
         if (reading != null)
         {
             gyroX.Value = reading.AngularVelocityX;
             gyroY.Value = reading.AngularVelocityY;
             gyroZ.Value = reading.AngularVelocityZ;
         }
     }
 }
Esempio n. 11
0
        private static void GyroReadingChanged(object sender, GyrometerReadingChangedEventArgs e)
        {
            readingGyro = e.Reading;
            //GyrometerReading readingGyro = _gyrometer.GetCurrentReading();

            string timeStamp = nanoTime().ToString();

            writerCSV.WriteLine(timeStamp + ","
                                + readingGyro.AngularVelocityX + "," + readingGyro.AngularVelocityY + "," + readingGyro.AngularVelocityZ
                                + "," + readingAccl.AccelerationX + "," + readingAccl.AccelerationY + "," + readingAccl.AccelerationZ);
            //writerCSV.WriteLine(timeStamp + ","
            //    + readingAccl.AccelerationX + "," + readingAccl.AccelerationY + "," + readingAccl.AccelerationZ);
        }
Esempio n. 12
0
        public void OnGetGyrometer()
        {
            Gyrometer sensor = Gyrometer.GetDefault();

            if (sensor != null)
            {
                GyrometerReading reading = sensor.GetCurrentReading();
                GyrometerInfo = $"X: {reading.AngularVelocityX} Y: {reading.AngularVelocityY} Z: {reading.AngularVelocityZ}";
            }
            else
            {
                GyrometerInfo = "Gyrometer not found";
            }
        }
Esempio n. 13
0
 private void OnGyrometerUpdated(object sender, GyrometerReading reading)
 {
     //expects GyrometerX, Y, Z to be defined as fields
     GyrometerFiltered.add(reading.X, reading.Y, reading.Z);
     float[] filteredAvg = GyrometerFiltered.getFilteredRounded();
     GyrometerX.Text = "" + filteredAvg[0];
     GyrometerY.Text = "" + filteredAvg[1];
     GyrometerZ.Text = "" + filteredAvg[2];
     //var properties = new Dictionary<string, string>
     //    {{"name", m_robot.Name}};
     //var results = new Dictionary<string, double>
     //    { { "X", filteredAvg[0]}, { "Y", filteredAvg[1]}, {"Z", filteredAvg[2] }};
     //insights.TrackEvent("Gyrometer Update", properties, results);
     Debug.WriteLine(string.Format("Accelerometer" + Environment.NewLine + "X: " +
                                   filteredAvg[0] + ", Y: " + filteredAvg[1] + ", Z: " + filteredAvg[2] + Environment.NewLine));
 }
        private void IMUTimer_Tick(object StateObject)
        {
            string timeStamp = nanoTime().ToString();

            if (DEBUG)
            {
                writerCSV.WriteLine(timeStamp + "," + "omega_x" + "," + "omega_y" + "," + "omega_z" + "," + "alpha_x" + "," + "alpha_y" + "," + "alpha_z");
            }
            else
            {
                AccelerometerReading readingAccl = _accelerometer.GetCurrentReading();
                GyrometerReading     readingGyro = _gyrometer.GetCurrentReading();

                writerCSV.WriteLine(timeStamp + ","
                                    + readingGyro.AngularVelocityX + "," + readingGyro.AngularVelocityY + "," + readingGyro.AngularVelocityZ
                                    + "," + readingAccl.AccelerationX + "," + readingAccl.AccelerationY + "," + readingAccl.AccelerationZ);
            }
        }
Esempio n. 15
0
        public void OnGetGyrometerReport()
        {
            Gyrometer sensor = Gyrometer.GetDefault();

            if (sensor != null)
            {
                sensor.ReportInterval = Math.Max(sensor.MinimumReportInterval, 1000);

                sensor.ReadingChanged += async(s, e) =>
                {
                    GyrometerReading reading = e.Reading;
                    await CoreApplication.MainView.Dispatcher.RunAsync(CoreDispatcherPriority.Low, () =>
                    {
                        GyrometerInfoReport = $"X: {reading.AngularVelocityX} Y: {reading.AngularVelocityY} Z: {reading.AngularVelocityZ} { reading.Timestamp:T}";
                    });
                };
            }
        }
Esempio n. 16
0
        private void ReadingChanged(object sender, GyrometerReadingChangedEventArgs e)
        {
            double x_Axis = 0;
            double y_Axis = 0;
            double z_Axis = 0;

            GyrometerReading reading = e.Reading;

            // Calculate the gyrometer axes based on
            // the current display orientation.
            DisplayInformation displayInfo = DisplayInformation.GetForCurrentView();

            switch (displayInfo.CurrentOrientation)
            {
            case DisplayOrientations.Landscape:
                x_Axis = reading.AngularVelocityX;
                y_Axis = reading.AngularVelocityY;
                z_Axis = reading.AngularVelocityZ;
                break;

            case DisplayOrientations.Portrait:
                x_Axis = reading.AngularVelocityY;
                y_Axis = -1 * reading.AngularVelocityX;
                z_Axis = reading.AngularVelocityZ;
                break;

            case DisplayOrientations.LandscapeFlipped:
                x_Axis = -1 * reading.AngularVelocityX;
                y_Axis = -1 * reading.AngularVelocityY;
                z_Axis = reading.AngularVelocityZ;
                break;

            case DisplayOrientations.PortraitFlipped:
                x_Axis = -1 * reading.AngularVelocityY;
                y_Axis = reading.AngularVelocityX;
                z_Axis = reading.AngularVelocityZ;
                break;
            }
            sb.AppendLine(x_Axis + " ; " + y_Axis + " ; " + z_Axis);
            messageb.Text = sb.ToString();
        }
Esempio n. 17
0
        private void ReadingChanged(object sender, GyrometerReadingChangedEventArgs e)
        {
            TestCount++;

            GyrometerReading reading = e.Reading;

            string sMessage = "";

            if (reading.AngularVelocityX > -311 && reading.AngularVelocityX < 575 && reading.AngularVelocityY > -621 && reading.AngularVelocityY < 615 && reading.AngularVelocityZ > -513 && reading.AngularVelocityZ < 494)
            {
                sMessage  = "";
                sMessage += "Round" + TestRound + "->" + TestCount + ":";
                sMessage += string.Format(" Gyrometer X({0,5:0.00})", reading.AngularVelocityX);
                sMessage += string.Format(" Y({0,5:0.00})", reading.AngularVelocityY);
                sMessage += string.Format(" Z({0,5:0.00})", reading.AngularVelocityZ);
                sMessage += "\r\n";

                Glog.WriteText(sMessage);
            }
            else
            {
                sMessage  = "";
                sMessage += "Round" + TestRound + "->" + TestCount + ":";
                sMessage += "Gyrometer Failed.";
                sMessage += "\r\n";

                Glog.WriteText(sMessage);
            }


            _gyrometer.ReportInterval  = 0;
            _gyrometer.ReadingChanged -= ReadingChanged;

            if (TestCount >= TestMaxCount)
            {
                Gtimer.Cancel();
                TestCount = 0;
                Atimer    = ThreadPoolTimer.CreatePeriodicTimer(Accelerometer_Timer_Tick, TimeSpan.FromMilliseconds(2000));
            }
        }
Esempio n. 18
0
        async void initialize()
        {
            //-----------------------------------------------------------------------------陀螺仪部分
            string errMessage = "";

            try
            {
                //获取默认的陀螺仪对象
                gyrometer = Gyrometer.GetDefault();
                if (gyrometer == null)
                {
                    await new MessageDialog("不支持陀螺仪").ShowAsync();
                    return;
                }
                //设置读取数据的时间间隔
                gyrometer.ReportInterval  = 1000;
                gyrometer.ReadingChanged += gyrometer_ReadingChanged;
                gyrometerReading          = gyrometer.GetCurrentReading();
            }

            catch (Exception err)
            {
                errMessage = err.Message;
            }

            if (errMessage != "")
            {
                await new MessageDialog(errMessage).ShowAsync();
            }

            //-------------------------------------------------------------
            GetLocation();
            ShowData();
            starclient = new StarClient(GetTime()[0], GetTime()[1], GetTime()[2], GetTime()[3], weidu, jingdu,
                                        Double.Parse(currentX), Double.Parse(currentY), Double.Parse(currentZ));
            number = starclient.planetnumber();

            //MySqlite = new mysqlite();
            //MySqlite.creatTable();
        }
Esempio n. 19
0
        private static void GyroReadingChanged(object sender, GyrometerReadingChangedEventArgs e)
        {
            readingGyro = e.Reading;
            //GyrometerReading readingGyro = _gyrometer.GetCurrentReading();

            /*
             * string timeStamp = nanoTime().ToString();
             * writerCSV.WriteLine(timeStamp + ","
             + readingGyro.AngularVelocityX + "," + readingGyro.AngularVelocityY + "," + readingGyro.AngularVelocityZ
             + "," + readingAccl.AccelerationX + "," + readingAccl.AccelerationY + "," + readingAccl.AccelerationZ);
             */

            dataPoint = new DataPointViewModel()
            {
                aX = readingAccl.AccelerationX,
                aY = readingAccl.AccelerationY,
                aZ = readingAccl.AccelerationZ,
                gX = readingGyro.AngularVelocityX,
                gY = readingGyro.AngularVelocityY,
                gZ = readingGyro.AngularVelocityZ
            };
        }
Esempio n. 20
0
        public String GetGyrometerReadingDisplayText(GyrometerReading reading)
        {
            if (reading == null)
            {
                return("No Reading Available.");
            }

            var axisAdjustment = SensorExtensions.AxisOffset.Default;

            if (CompensateForDisplayOrientation)
            {
                axisAdjustment = DisplayOrientation.AxisAdjustmentFactor();
            }

            var adjustedAngularVelocityX = reading.AngularVelocityX * axisAdjustment.X;
            var adjustedAngularVelocityY = reading.AngularVelocityY * axisAdjustment.Y;
            var adjustedAngularVelocityZ = reading.AngularVelocityZ * axisAdjustment.Z;

            return(String.Format("X= {0} Y={1} Z={2}",
                                 adjustedAngularVelocityX,
                                 adjustedAngularVelocityY,
                                 adjustedAngularVelocityZ));
        }
Esempio n. 21
0
 /// <summary>
 /// Ases the vector3.
 /// </summary>
 /// <param name="reading">The reading.</param>
 /// <returns>Vector3.</returns>
 public static Vector3 AsVector3(this GyrometerReading reading)
 {
     return(new Vector3(reading.AngularVelocityX, reading.AngularVelocityY, reading.AngularVelocityZ));
 }
Esempio n. 22
0
 private void OnGyrometerUpdated(object sender, GyrometerReading reading)
 {
     GyroscopeX.Text = "" + reading.X;
     GyroscopeY.Text = "" + reading.Y;
     GyroscopeZ.Text = "" + reading.Z;
 }
Esempio n. 23
0
 private void updateUIGyro(GyrometerReading reading)
 {
     statusTextBlock.Text = "AngVel Y: " + reading.AngularVelocityY.ToString();
 }
 internal GyrometerReadingChangedEventArgs(GyrometerReading reading) =>
Esempio n. 25
0
 private void OnGyrometerUpdated(object sender, GyrometerReading e)
 {
     GyroReading = string.Format("X:{0}" + Environment.NewLine + "Y:{1}" + Environment.NewLine + "Z:{2}", e.X, e.Y, e.Z);
 }