Esempio n. 1
0
        /// <summary>
        /// Creates a new ball at position 0,0
        /// </summary>
        /// <param name="graphicsDevice">Graphics device to load the </param>
        public Ball(GraphicsDevice graphicsDevice)
        {
            X = 0;
            Y = 0;

            speedX = 0.5f;
            speedY = 0.5f;

            accelerationSpeed = 1.0f;

            speedCap = 5f;
            resistance = 0.3f;

            if (accelerometer == null)
            {
                accelerometer = new Accelerometer();

                accelerometer.Start();

            }
            using (var stream = TitleContainer.OpenStream("Content/balle.png"))
            {
                sprite = Texture2D.FromStream(graphicsDevice, stream);
            }
        }
Esempio n. 2
0
        public void Dispose()
        {
            if (_sensor != null)
                _sensor.Dispose();

            _sensor = null;
        }
 public AccelerometerShakeDetection()
 {
     var sensor = new Accelerometer();
     if (sensor.State == SensorState.NotSupported)
         throw new NotSupportedException("Accelerometer not supported on this device");
     _sensor = sensor;
 }
Esempio n. 4
0
        public Ship(Game game, Vector2 PosicaoInicial, Texture2D texture, SoundEffect SoundShip)
            : base(game, PosicaoInicial, texture)
        {
            _game = game;
            ShipSound = SoundShip;
            ShipSound.Play();

            SpriteX = 0;
            SpriteY = 0;
            PosicaoX = (int)PosicaoInicial.X;
            PosicaoY = (int)PosicaoInicial.Y;

            Vida = 100;

            accelReading = new Vector3();
            accelSensor = new Accelerometer();
            accelSensor.ReadingChanged +=
                new EventHandler<AccelerometerReadingEventArgs>(AccelerometerReadingChanged);
            try
            {
                accelSensor.Start();
                accelActive = true;
            }
            catch (AccelerometerFailedException e)
            {
                accelActive = false;

            }
            catch (UnauthorizedAccessException e)
            {
                accelActive = false;
            }
        }
        public Accelerometro()
        {
            InitializeComponent();

            accelerometer = new Accelerometer();
            accelerometer.TimeBetweenUpdates = TimeSpan.FromMilliseconds(100);
            accelerometer.Start();

            myFile = IsolatedStorageFile.GetUserStoreForApplication();

            if (!myFile.FileExists("Impo.txt"))
            {
                IsolatedStorageFileStream dataFile = myFile.CreateFile("Impo.txt");
                dataFile.Close();
            }

            Wb = new WebBrowser();
            Connesso = false;
            Carica();

            System.Windows.Threading.DispatcherTimer dt = new System.Windows.Threading.DispatcherTimer();
            dt.Interval = new TimeSpan(0, 0, 0, 0, 250); // 500 Milliseconds
            dt.Tick += new EventHandler(dt_Tick);
            dt.Start();
        }
        // Constructor
        public MainPage()
        {
            InitializeComponent();

            statusLocked.Visibility = System.Windows.Visibility.Collapsed;
            statusUnlocked.Visibility = System.Windows.Visibility.Collapsed;
            accelstatus.Visibility = System.Windows.Visibility.Collapsed;

            timer = new DispatcherTimer();
            timer.Interval = new TimeSpan(0, 0, 0, 0, 25);
            timer.Tick += new EventHandler(timer_Tick);
            timer.Start();

            if (Accelerometer.IsSupported)
            {
                Accelerometer sens = new Accelerometer();
                sens.CurrentValueChanged += new EventHandler<SensorReadingEventArgs<AccelerometerReading>>(sens_CurrentValueChanged);
                sens.Start();

            }
            else
            {   //It's disabled
                accelstatus.IsChecked = true;
                statusLocked.Visibility = System.Windows.Visibility.Visible;
                statusUnlocked.Visibility = System.Windows.Visibility.Collapsed;
            }
        }
        public override void Execute(params string[] args)
        {
            this.HasCallback = false; // This uses an AsyncCallback

            this.successCallback = args[0];
            this.errorCallback = args[1];

            try
            {
                if (this.accelerometer == null)
                {
                    this.accelerometer = new Accelerometer();
                }

                this.accelerometer.ReadingChanged += this.AccelerometerReadingChanged;
                this.accelerometer.Start();
            }
            catch (UnauthorizedAccessException unauthorizedAccessException)
            {
                this.CallbackName = this.errorCallback;
                this.CallbackArgs = new[] { unauthorizedAccessException.Message };
                this.SendAsyncResponse();
            }
            catch (AccelerometerFailedException accelerometerFailedException)
            {
                this.CallbackName = this.errorCallback;
                this.CallbackArgs = new[] { accelerometerFailedException.Message };
                this.SendAsyncResponse();
            }
        }
Esempio n. 8
0
 private void Aceloro(Accelerometer sender, AccelerometerReadingChangedEventArgs args)
 {
     //gamescreen.batcherBridge.drawText(50f, 50f, 50f, 50f,1, args.Reading.AccelerationX.ToString(), 1f, 1f, 1f, 1f, "ns");
     //if(!Settings.vibrate)
    //  Game.Update1((float)args.Reading.AccelerationX*2, (float)args.Reading.AccelerationY, (float)args.Reading.AccelerationZ); 
     
 }
        public ScheduleView()
        {
            InitializeComponent();

            this.accelerometer = new Accelerometer();
            this.accelerometer.CurrentValueChanged += Accelerometer_CurrentValueChanged;
        }
Esempio n. 10
0
        static partial void StartMonitoring()
        {
            accelerometer = new Accelerometer { TimeBetweenUpdates = TimeSpan.FromMilliseconds((long)Interval) };

            accelerometer.CurrentValueChanged += AccelerometerOnCurrentValueChanged;
            accelerometer.Start();
        }
Esempio n. 11
0
        public ShapePage()
        {
            InitializeComponent();
            if (accelerometer == null)
            {
                accelerometer = new Accelerometer();
                accelerometer.TimeBetweenUpdates = TimeSpan.FromMilliseconds(20);
                accelerometer.CurrentValueChanged += new EventHandler<SensorReadingEventArgs<AccelerometerReading>>(accelerometer_CurrentValueChanged);
                accelerometer.Start();
            }
            BitmapImage bi = new BitmapImage();
            using (var store = IsolatedStorageFile.GetUserStoreForApplication())
            {
                /*var filestream = store.OpenFile("image.jpg", System.IO.FileMode.Open, System.IO.FileAccess.Read);
                var imageAsBitmap = Microsoft.Phone.PictureDecoder.DecodeJpeg(filestream);
                image2.Source = imageAsBitmap;*/
                if (store.FileExists("tempJPEG2"))
                {
                    using (IsolatedStorageFileStream fileStream = store.OpenFile("tempJPEG2", System.IO.FileMode.Open, System.IO.FileAccess.Read))
                    {
                        bi.SetSource(fileStream);
                        image2.Source = bi;
                    }
                }
                else
                {
                    var filestream = store.OpenFile("image.jpg", System.IO.FileMode.Open, System.IO.FileAccess.Read);
                    var imageAsBitmap = Microsoft.Phone.PictureDecoder.DecodeJpeg(filestream);
                    image2.Source = imageAsBitmap;
                }

            }
            
            stickerNum = 0;
        }
Esempio n. 12
0
            public WP7Input()
            {
                #region Accelerometer support
                mAccValues = new Vector3();
                mAccMeter = new Accelerometer();
                mAccMeter.ReadingChanged += new EventHandler<AccelerometerReadingEventArgs>(AccMeterChange);
                // event services when accelerometer settings change
                // This function is defined in Game1_Accelerometer.
                try
                {
                    mAccMeter.Start();  // Starts the acceleromter sampling
                }
                catch (AccelerometerFailedException ex)
                {
                    System.Diagnostics.Debug.WriteLine("Accelerometer Starting failed!: " + ex.ToString());
                }
                #endregion

                #region Gesture support
                //mPinchHasBegin = false;
                //TouchPanel.EnabledGestures = GestureType.Tap |
                //                             GestureType.DoubleTap |
                //                             GestureType.Hold |
                //                             GestureType.Flick |
                //                             GestureType.Pinch |
                //                             GestureType.FreeDrag |
                //                             GestureType.PinchComplete;
                #endregion
            }
Esempio n. 13
0
        protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
        {
            accel = new Accelerometer();
            accel.Start();

            SetupObservable();
        }
//get accelerometer values
        private void Accelerometer_Click(object sender, RoutedEventArgs e)
        {
            accelerometer = new Accelerometer();
            accelerometer.TimeBetweenUpdates = TimeSpan.FromMilliseconds(20);
            accelerometer.CurrentValueChanged += new EventHandler<SensorReadingEventArgs<AccelerometerReading>>(accelerometer_valuechanged);
            accelerometer.Start();
        }
        // Constructor
        public MainPage()
        {
            InitializeComponent();

            // Sample code to localize the ApplicationBar
            //BuildLocalizedApplicationBar();

            timer = new DispatcherTimer();
            timer.Tick += timer_Tick;
            timer.Interval = TimeSpan.FromMilliseconds(66);

            if (Accelerometer.IsSupported)
            {
                accelSensor = new Accelerometer();
                accelSensor.TimeBetweenUpdates = TimeSpan.FromMilliseconds(66);
            }

            if (Compass.IsSupported)
            {
                compassSensor = new Compass();
                compassSensor.TimeBetweenUpdates = TimeSpan.FromMilliseconds(66);
                compassSensor.Calibrate += compassSensor_Calibrate;
            }

            if (Gyroscope.IsSupported)
            {
                gyroSensor = new Gyroscope();
                gyroSensor.TimeBetweenUpdates = TimeSpan.FromMilliseconds(66);
            }
        }
Esempio n. 16
0
 public ShakeDetector()
 {
     if (Accelerometer.IsSupported)
     {
         var sensor = new Accelerometer();
         _sensor = sensor;
     }
 }
 partial void Initialize()
 {
     if (IsSupported)
     {
         _sensor = new Accelerometer();
         _sensor.CurrentValueChanged += OnSensorValueChanged;    
     }
 }
Esempio n. 18
0
 void AccelerometerCancel()
 {
     if (_accelerometer != null) {
         _accelerometer.Stop();
         _accelerometer.Dispose();
         _accelerometer = null;
     }
 }
Esempio n. 19
0
 public void Stop()
 {
     if (sensor != null) {
         sensor.Stop();
         sensor.ReadingChanged -= this.HandleSensorReadingChanged;
         sensor = null;
     }
 }
 static AccelerometerSensor()
 {
     MaxValue = 0.6f;
     MinValue = -MaxValue;
     accelerometer = new Accelerometer();
     accelerometer.ReadingChanged += accelerometer_ReadingChanged;
     accelerometer.Start();
 }
        public void Init()
        {
            if (!Accelerometer.IsSupported)
            {
                // The device on which the application is running does not support
                // the accelerometer sensor. Alert the user and hide the
                // application bar.
                statusTextBlock.Text = "device does not support compass";
                ApplicationBar.IsVisible = false;
            }
            else
            {
                // Initialize the timer and add Tick event handler, but don't start it yet.
                timer = new DispatcherTimer();
                timer.Interval = TimeSpan.FromMilliseconds(80);
                timer.Tick += new EventHandler(timer_Tick);
            }

            //MainPage.communicator

            if (accelerometer == null)
            {
                // Instantiate the accelerometer.
                accelerometer = new Accelerometer();

                // Specify the desired time between updates. The sensor accepts
                // intervals in multiples of 20 ms.
                accelerometer.TimeBetweenUpdates = TimeSpan.FromMilliseconds(200);

                // The sensor may not support the requested time between updates.
                // The TimeBetweenUpdates property reflects the actual rate.
                timeBetweenUpdatesTextBlock.Text = accelerometer.TimeBetweenUpdates.TotalMilliseconds + " ms";

                accelerometer.CurrentValueChanged += new EventHandler<SensorReadingEventArgs<AccelerometerReading>>(accelerometer_CurrentValueChanged);
            }

            try
            {
                statusTextBlock.Text = "starting accelerometer.";
                accelerometer.Start();
                timer.Start();
            }
            catch (InvalidOperationException)
            {
                statusTextBlock.Text = "unable to start accelerometer.";
            }

            //            string deviceId = Convert.ToBase64String((byte[])DeviceExtendedProperties.GetValue("DeviceUniqueId"));
            //            string deviceName = DeviceStatus.DeviceName.ToString();
            //            Debug.WriteLine("DeviceID=" + deviceId);
            //            Debug.WriteLine("DeviceName=" + deviceName);
            //            DeviceInfo deviceInfo = new DeviceInfo();
            //            deviceInfo.DeviceId = deviceId;
            //            deviceInfo.DeviceName = deviceName;
            //            communicator = new Communicator(deviceInfo);
            //            communicator.SearchComputers();
        }
Esempio n. 22
0
 static partial void StopMonitoring()
 {
     if (accelerometer != null)
     {
         accelerometer.CurrentValueChanged -= AccelerometerOnCurrentValueChanged;
         accelerometer.Stop();
         accelerometer = null;
     }
 }
        public PredictionView()
        {
            InitializeComponent();

            this.DataContext = App.ScheduleViewModel;

            this.accelerometer = new Accelerometer();
            this.accelerometer.CurrentValueChanged += Accelerometer_CurrentValueChanged;
        }
Esempio n. 24
0
        public Player()
        {
            this.InTrap = false;
            this.Color = Color.White;
            this.Position = new Vector2(480 / 2 - w / 2, 750); //yay magic numbers
            accelerometer = new Accelerometer();
            accelerometer.CurrentValueChanged += new EventHandler<SensorReadingEventArgs<AccelerometerReading>>(accelerometer_CurrentValueChanged);

            accelerometer.Start();
        }
Esempio n. 25
0
 private void InitAccelerometer()
 {
     if (_accelerometer == null)
     {
         // Instantiate the Accelerometer.
         _accelerometer = new Accelerometer();
         _accelerometer.TimeBetweenUpdates = TimeSpan.FromMilliseconds(300);
         _accelerometer.CurrentValueChanged += new EventHandler<SensorReadingEventArgs<AccelerometerReading>>(accelerometer_CurrentValueChanged);
     }
 }
        private void UserControl_Loaded(object sender, RoutedEventArgs e)
        {
            if (!DesignerProperties.IsInDesignTool)
            {
                accelerometer = new Accelerometer();

                accelerometer.CurrentValueChanged += new EventHandler<SensorReadingEventArgs<AccelerometerReading>>(acc_CurrentValueChanged);
                accelerometer.Start();
            }
        }
Esempio n. 27
0
        public MainPage()
        {
            InitializeComponent();
            SupportedOrientations = SupportedPageOrientation.Portrait;

            ball.SetValue(Canvas.LeftProperty, ContentGrid.Width / 2);
            ball.SetValue(Canvas.TopProperty, ContentGrid.Height / 2);

            _ac = new Accelerometer();
            _ac.CurrentValueChanged +=new EventHandler<SensorReadingEventArgs<AccelerometerReading>>(_ac_CurrentValueChanged);
        }
Esempio n. 28
0
        public XNAInputService()
        {
            accelerometer = Accelerometer.GetDefault();
            gyrometer = Gyrometer.GetDefault();
            inclinometer = Inclinometer.GetDefault();

            keyboardState = oldKeyboardState = new KeyboardState();
            mouseState = oldMouseState = new MouseState();
            oldTouchCollection = touchCollection = new Touch[0];
            xboxStates = oldXboxStates = new GamePadState[4];
        }
Esempio n. 29
0
        public Sensors()
        {
            InitializeComponent();

            if (Accelerometer.IsSupported)
            {
                var acc = new Accelerometer();
                acc.Start();
                acc.CurrentValueChanged += acc_CurrentValueChanged;
            }
        }
        // Constructor
        public MainPage()
        {
            InitializeComponent();

            // Sample code to localize the ApplicationBar
            //BuildLocalizedApplicationBar();
            Accelerometer accelerometer = new Accelerometer();
            accelerometer.TimeBetweenUpdates = TimeSpan.FromMilliseconds(20);
            accelerometer.CurrentValueChanged +=
                new EventHandler<SensorReadingEventArgs<AccelerometerReading>>(LeituraAcelerometro);
            accelerometer.Start();
        }
        private async void _myAcc_ReadingChanged(Accelerometer sender,
                                                 AccelerometerReadingChangedEventArgs args)
        {
            // update the UI with the reading.

            /*
             * The () => {} construct is called a lambda expression
             * This is an anonymous function that can be used to create delegate methods
             * of passed as arguments or returned as the value of a function call.
             * In this case, the Accelerometer thread is asking the UI thread
             * to update some display information from the readings.
             */
            await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal,
                                      () =>
            {
                // update the UI from here.
                AccelerometerReading reading = args.Reading;
                updateUI(reading);
            }
                                      );
        }
Esempio n. 32
0
        private async void ReadingChanged(Accelerometer sender, AccelerometerReadingChangedEventArgs args)
        {
            await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
            {
                AccelerometerReading reading = args.Reading;

                //Update class X,Y,Z values
                this.AccelX = reading.AccelerationX;
                this.AccelY = reading.AccelerationY;
                this.AccelZ = reading.AccelerationZ;

                //Update UI X,Y,Z values and Direction
                this.SetDirection();

                /*
                 * this.TextBoxX.Text = String.Format("{0,5:0.00}", reading.AccelerationX);
                 * this.TextBoxY.Text = String.Format("{0,5:0.00}", reading.AccelerationY);
                 * this.TextBoxZ.Text = String.Format("{0,5:0.00}", reading.AccelerationZ);
                 */
            });
        }
Esempio n. 33
0
        public async Task Monitor(SensorSpeed sensorSpeed)
        {
            if (!TestSupported)
            {
                return;
            }

            var tcs = new TaskCompletionSource <AccelerometerData>();

            Accelerometer.ReadingChanged += Accelerometer_ReadingChanged;
            Accelerometer.Start(sensorSpeed);

            void Accelerometer_ReadingChanged(AccelerometerChangedEventArgs e)
            {
                tcs.TrySetResult(e.Reading);
            }

            var d = await tcs.Task;

            Accelerometer.Stop();
            Accelerometer.ReadingChanged -= Accelerometer_ReadingChanged;
        }
Esempio n. 34
0
 public void ToggleAccelerometer()
 {
     try
     {
         if (Accelerometer.IsMonitoring)
         {
             Accelerometer.Stop();
         }
         else
         {
             Accelerometer.Start(speed);
         }
     }
     catch (FeatureNotSupportedException fns)
     {
         //lmao
     }
     catch (Exception ex)
     {
         //lmao 2 the electric bungaloo
     }
 }
Esempio n. 35
0
        public static IObservable <Vector3> GetAccelerometer()
        {
            var accelerometer = Accelerometer.GetDefault();

            if (null == accelerometer)
            {
                return(FakeAccelerometer.GetAccelerometer());
            }

            var accelerometerReadingAsObservable =
                Observable.FromEventPattern <AccelerometerReadingChangedEventArgs>(accelerometer, "ReadingChanged");

            var vector3FromAccelerometerEventArgs =
                from args in accelerometerReadingAsObservable
                select new Vector3 {
                X = args.EventArgs.Reading.AccelerationX,
                Y = args.EventArgs.Reading.AccelerationY,
                Z = args.EventArgs.Reading.AccelerationZ
            };

            return(vector3FromAccelerometerEventArgs.ObserveOnDispatcher());
        }
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            // Get two instances of the accelerometer:
            // One that returns the raw accelerometer data
            accelerometerOriginal = Accelerometer.GetDefault(rootPage.AccelerometerReadingType);
            // Other on which the 'ReadingTransform' is updated so that data returned aligns with the request transformation.
            accelerometerReadingTransform = Accelerometer.GetDefault(rootPage.AccelerometerReadingType);

            if (accelerometerOriginal == null || accelerometerReadingTransform == null)
            {
                rootPage.NotifyUser(rootPage.AccelerometerReadingType + " accelerometer not found", NotifyType.ErrorMessage);
            }
            else
            {
                rootPage.NotifyUser(rootPage.AccelerometerReadingType + " accelerometer ready", NotifyType.StatusMessage);
                ScenarioEnableButton.IsEnabled = true;
            }

            // Register for orientation change
            displayInformation = DisplayInformation.GetForCurrentView();
            displayInformation.OrientationChanged += displayInformation_OrientationChanged;
        }
Esempio n. 37
0
 public void ToggleAccelerometer()
 {
     try
     {
         if (Accelerometer.IsMonitoring)
         {
             Accelerometer.Stop();
         }
         else
         {
             Accelerometer.Start(speed);
         }
     }
     catch (FeatureNotSupportedException fnsEx)
     {
         DisplayAlert("Not supported", "Shake detection is not supported on your device", "Ok");
     }
     catch (Exception ex)
     {
         // Other error has occurred.
     }
 }
        private void InitializeAccelerometer()
        {
            try
            {
                Accelerometer.Start(SensorSpeed.Normal);
                Accelerometer.ReadingChanged += Accelerometer_ReadingChangedAntic;
                //Accelerometer.ReadingChanged += Accelerometer_ReadingChanged;
            }

            catch (FeatureNotSupportedException) {
                DisplayAlert("Alert", "Accelerometer Unavailable", "OK");
                circularGaugeX.Value     = 0;
                circularGaugeY.Value     = 0;
                circularGaugeZ.Value     = 0;
                ChartX.Chart.Title.Text  = "Accelerometer Unavailable";
                ChartX.Chart.Title.Color = Color.Red;
                ChartY.Chart.Title.Text  = "Accelerometer Unavailable";
                ChartY.Chart.Title.Color = Color.Red;
                ChartZ.Chart.Title.Text  = "Accelerometer Unavailable";
                ChartZ.Chart.Title.Color = Color.Red;
            }
        }
Esempio n. 39
0
        private void _accelerometer_ReadingChanged(Accelerometer sender, AccelerometerReadingChangedEventArgs args)
        {
            try
            {
                _currentReading = args.Reading;

                if (ShutterinoLogic.Instance.TakesPhotos &&
                    _currentReading.Timestamp.UtcTicks > _lastPhotoTime + RateLimiter &&
                    DeltaRoll < Precision &&
                    DeltaPitch < Precision)
                {
                    Callibrate(); // record current reading for future reference
                    _lastPhotoTime = _currentReading.Timestamp.UtcTicks;
                    Task.Run(async() => await ShutterinoLogic.Instance.SuggestPhotoOpportunity(this));
                }
            }
            catch (Exception ex)
            {
                // LOG
                Status = ex.ToString();
            }
        }
Esempio n. 40
0
        private void Form1_Load(object sender, EventArgs e)
        {
            accel = new Accelerometer();

            accel.Attach += new AttachEventHandler(accel_Attach);
            accel.Detach += new DetachEventHandler(accel_Detach);

            accel.AccelerationChange += new AccelerationChangeEventHandler(accel_AccelerationChange);

            label1.Text = "Attach a Phidget Accelerometer...";
            label2.Text = "";
            label6.Text = "";
            label7.Text = "";
            label8.Text = "";

            accel.open();

            formDrawingSurface = new Bitmap(panel1.ClientRectangle.Width, panel1.ClientRectangle.Height, System.Drawing.Imaging.PixelFormat.Format24bppRgb);

            rectBounds = new Rectangle(0, 0, formDrawingSurface.Width, formDrawingSurface.Height);
            rectBounds.Inflate(-1, -1);

            xFilt = new double[7];
            yFilt = new double[7];
            zFilt = new double[7];

            xCenter = rectBounds.Width / 2;
            yCenter = rectBounds.Height / 2;

            x1Old = xCenter;
            y1Old = yCenter;

            xyAxisPen = new Pen(Color.Black, 2);
            circlePen = new Pen(Color.DarkBlue, 2);

            circleDiameter  = formDrawingSurface.Width / 2;
            circleRadius    = circleDiameter / 2;
            circleRectangle = new Rectangle((int)xCenter - circleRadius, (int)yCenter - circleRadius, circleDiameter, circleDiameter);
        }
        private void getAccelerometerData()
        {
            accelerometer = Accelerometer.GetDefault();
            if (accelerometer != null)
            {
                // Select a report interval that is both suitable for the purposes of the app and supported by the sensor.
                // This value will be used later to activate the sensor.
                uint minReportInterval = accelerometer.MinimumReportInterval;
                desiredReportInterval = minReportInterval > 16 ? minReportInterval : 16;


                accelerometer.ReportInterval = desiredReportInterval;

                //add event for accelerometer readings
                accelerometer.ReadingChanged += new TypedEventHandler <Accelerometer, AccelerometerReadingChangedEventArgs>(ReadingChanged);
            }
            else
            {
                MessageDialog ms = new MessageDialog("No accelerometer Found");
                ms.ShowAsync();
            }
        }
 public void ToggleAccelerometer(bool isToggled)
 {
     try
     {
         if (isToggled)
         {
             Accelerometer.Start(speed);
         }
         else
         {
             Accelerometer.Stop();
         }
     }
     catch (FeatureNotSupportedException)
     {
         ShowNotSupportedError();
     }
     catch (Exception ex)
     {
         ShowError(ex.Message);
     }
 }
Esempio n. 43
0
        /// <summary>
        /// Allows the game to run logic such as updating the world,
        /// checking for collisions, gathering input and playing audio.
        /// </summary>
        /// <param name="gameTime">Provides a snapshot of timing values.</param>
        protected override void Update(GameTime gameTime)
        {
            base.Update(gameTime);

            touchCollection    = TouchPanel.GetState();
            accelerometerState = Accelerometer.GetState();

            // Use X axis to determine if the Zune is being viewed from the
            // left or right side.
            // Leave fixed for now, need to rethink recalculating marble
            // positions when screen is rotated.

            if (accelerometerState.Acceleration.X >= 0.0 &&
                accelerometerState.Acceleration.X < 1.0)
            {
                screenOrientation = ScreenOrientation.LandscapeRight;
                screenRotation    = 4.72f;
            }
            else
            {
                screenOrientation = ScreenOrientation.LandscapeLeft;
                screenRotation    = 1.57f;
            }

            if (screenOrientation != priorScreenOrientation)
            {
                if (GameState == GameState.Play2D)
                {
                    mainGame.RecalculateMarblePositions();
                }

                priorScreenOrientation = screenOrientation;
            }

            if (NextGameState != GameState.None)
            {
                ChangeGameState();
            }
        }
Esempio n. 44
0
 public void ToggleAccelerometer()
 {
     try
     {
         if (Accelerometer.IsMonitoring)
         {
             Accelerometer.Stop();
         }
         else
         {
             Accelerometer.Start(speed);
         }
     }
     catch (FeatureNotSupportedException fnsEx)
     {
         // Feature not supported on device
     }
     catch (Exception ex)
     {
         // Other error has occurred.
     }
 }
Esempio n. 45
0
        private async void checkForAccelerometer()
        {
            MessageDialog msgDialog = new MessageDialog("");

            myAccel = Accelerometer.GetDefault();
            if (myAccel == null)
            {
                msgDialog.Content = "No accelerometer present";
                await msgDialog.ShowAsync();
            }
            else
            {
                // Establish the report interval
                uint minReportInterval = myAccel.MinimumReportInterval;
                _desiredReportInterval  = minReportInterval > 100 ? minReportInterval : 100;
                myAccel.ReportInterval  = _desiredReportInterval;
                myAccel.ReadingChanged += MyAccel_ReadingChanged;
                myAccel.Shaken         += MyAccel_Shaken; // maybe not

                dispatcherTimer.Start();
            }
        }
Esempio n. 46
0
        public MainPage()
        {
            this.InitializeComponent();

            this.NavigationCacheMode = NavigationCacheMode.Required;

            this.Accelerometer = Accelerometer.GetDefault();

            this.Accelerometer.ReadingChanged += (snd, args) =>
            {
                this.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
                {
                    var x = args.Reading.AccelerationX;
                    var y = args.Reading.AccelerationY;
                    var z = args.Reading.AccelerationZ;

                    this.tbX.Text = x + "";
                    this.tbY.Text = y + "";
                    this.tbZ.Text = z + "";
                });
            };
        }
Esempio n. 47
0
        public Uncle_sprite()
        {
            //uncledata = data;

            // 创建走的动画
            List <CCSpriteFrame> _runFream = new List <CCSpriteFrame>();

            CCSpriteFrameCache.sharedSpriteFrameCache().addSpriteFramesWithFile(@"plist/zhengyu");
            CCSpriteBatchNode sheet = CCSpriteBatchNode.batchNodeWithFile(@"plist/Images/zhengyu");

            this.addChild(sheet);
            for (int i = 1; i <= 4; i++)
            {
                _runFream.Add(CCSpriteFrameCache.sharedSpriteFrameCache().spriteFrameByName(String.Format("MM0{0}.png", i)));
            }
            _run = CCAnimate.actionWithAnimation(CCAnimation.animationWithFrames(_runFream, 0.12f));

            List <CCSpriteFrame> _actackFream = new List <CCSpriteFrame>();

            // 创建攻击时候动作
            for (int i = 1; i <= 5; i++)
            {
                _actackFream.Add(CCSpriteFrameCache.sharedSpriteFrameCache().spriteFrameByName(String.Format("Mthrow0{0}.png", i)));
            }
            _actack = CCAnimate.actionWithAnimation(CCAnimation.animationWithFrames(_actackFream, 0.3f));

            position = new CCPoint(100, 100);
            // 初始化开始帧
            base.initWithSpriteFrame(_runFream[0]);


            // 如果手机倾斜
            if (Accelerometer.IsSupported)
            {
                gSensor = new Accelerometer();
                gSensor.CurrentValueChanged += new EventHandler <SensorReadingEventArgs <AccelerometerReading> >(gSensor_CurrentValueChanged);
                gSensor.Start();
            }
        }
Esempio n. 48
0
 private void SetupAccelorometer()
 {
     m_accelerometer = Accelerometer.GetDefault();
     if (m_accelerometer != null)
     {
         m_accelerometer.ReadingChanged += (s, e) => Dispatcher.BeginInvoke(() =>
         {
             var reading  = m_accelerometer.GetCurrentReading();
             m_accReading = reading;
             m_angle      = Math.Atan2(-reading.AccelerationX, reading.AccelerationY) * 180.0 / Math.PI;
             Microsoft.Phone.Controls.PageOrientation orientation = (App.Current.RootVisual as PhoneApplicationFrame).Orientation;
             if (!OrientationIsLandscape())
             {
                 landscapeMessageBorder.Visibility = Visibility.Visible;
             }
             else
             {
                 landscapeMessageBorder.Visibility = Visibility.Collapsed;
             }
         });
     }
 }
Esempio n. 49
0
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            _accelerometer = Accelerometer.GetDefault(rootPage.AccelerometerReadingType);
            if (_accelerometer != null)
            {
                // Select a report interval that is both suitable for the purposes of the app and supported by the sensor.
                // This value will be used later to activate the sensor.
                _desiredReportInterval = Math.Max(_accelerometer.MinimumReportInterval, 16);

                // Set up a DispatchTimer
                _dispatcherTimer          = new DispatcherTimer();
                _dispatcherTimer.Tick    += DisplayCurrentReading;
                _dispatcherTimer.Interval = TimeSpan.FromMilliseconds(_desiredReportInterval);

                rootPage.NotifyUser(rootPage.AccelerometerReadingType + " accelerometer ready", NotifyType.StatusMessage);
                ScenarioEnableButton.IsEnabled = true;
            }
            else
            {
                rootPage.NotifyUser(rootPage.AccelerometerReadingType + " accelerometer not found", NotifyType.ErrorMessage);
            }
        }
        public IObservable <MotionReading> WhenReadingTaken()
        => this.observable ?? Observable.Create <MotionReading>(ob =>
        {
            var handler = new EventHandler <AccelerometerDataUpdatedEventArgs>((sender, args) =>
                                                                               ob.OnNext(new MotionReading(args.X, args.Y, args.Z))
                                                                               );
            var sensor = new Accelerometer
            {
                Interval = 250
            };
            sensor.DataUpdated += handler;
            sensor.Start();

            return(() =>
            {
                sensor.Stop();
                sensor.DataUpdated -= handler;
                sensor.Dispose();
            });
        })
        .Publish()
        .RefCount();
Esempio n. 51
0
        //private IReadOnlyList<GeofenceStateChangeReport> ReportList;

        /// <summary>
        /// Background task entry point.
        /// </summary>
        /// <param name="taskInstance"></param>
        public void Run(IBackgroundTaskInstance taskInstance)
        {
            _accelerometer = Accelerometer.GetDefault();

            #region Check Manual Trigger
            try
            {
                _manualTrigger = (bool)ApplicationData.Current.LocalSettings.Values["ManualTrigger"];
            }
            catch (Exception)
            {
                _manualTrigger = false;
            }
            #endregion


            if (null != _accelerometer)
            {
                _sampleCount = 0;

                // Select a report interval that is both suitable for the purposes of the app and supported by the sensor.
                uint minReportIntervalMsecs = _accelerometer.MinimumReportInterval;
                _accelerometer.ReportInterval = minReportIntervalMsecs > 16 ? minReportIntervalMsecs : 16;

                // Subscribe to accelerometer ReadingChanged events.
                _accelerometer.ReadingChanged += new TypedEventHandler <Accelerometer, AccelerometerReadingChangedEventArgs>(ReadingChanged);

                // Take a deferral that is released when the task is completed.
                _deferral = taskInstance.GetDeferral();

                // Get notified when the task is canceled.
                taskInstance.Canceled += new BackgroundTaskCanceledEventHandler(OnCanceled);

                // Store a setting so that the app knows that the task is running.
                ApplicationData.Current.LocalSettings.Values["IsBackgroundTaskActive"] = true;
            }

            GeofenceMonitor.Current.GeofenceStateChanged += OnGeoFenceStateChanged;
        }
Esempio n. 52
0
        async void SensorValueChanged(object sender, X2CodingLab.SensorTag.SensorValueChangedEventArgs e)
        {
            await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, async() =>
            {
                switch (e.Origin)
                {
                case SensorName.Accelerometer:
                    // WebSockets
                    MessageWebSocket webSocket = messageWebSocket;

                    if (webSocket == null)
                    {
                        Uri server = new Uri("ws://localhost:8181");
                        webSocket  = new MessageWebSocket();
                        webSocket.Control.MessageType = SocketMessageType.Utf8;
                        webSocket.MessageReceived    += MessageReceived;
                        webSocket.Closed += Closed;

                        await webSocket.ConnectAsync(server);
                        messageWebSocket = webSocket;
                        messageWriter    = new DataWriter(webSocket.OutputStream);
                    }

                    string message = null;
                    //byte[] accValue = await acc.ReadValue();
                    double[] accAxis = Accelerometer.CalculateCoordinates(e.RawData, 1 / 64.0);

                    double xRaw = accAxis[0] / 4;
                    double yRaw = accAxis[1] / 4;

                    message   = "SET RAW_INPUT " + xRaw.ToString("0.00000") + "," + yRaw.ToString("0.00000");
                    info.Text = message;

                    messageWriter.WriteString(message);
                    await messageWriter.StoreAsync();
                    break;
                }
            });
        }
Esempio n. 53
0
        public void Start(SensorType sensorType, int interval)
        {
            switch (sensorType)
            {
            case SensorType.Accelerometer:
                accelerometer = Accelerometer.GetDefault();
                if (accelerometer != null)
                {
                    accelerometer.ReadingChanged += Accelerometer_ReadingChanged;
                }
                break;

            case SensorType.Gyroscope:
                gyrometer = Gyrometer.GetDefault();
                if (gyrometer != null)
                {
                    gyrometer.ReadingChanged += Gyrometer_ReadingChanged;
                }
                break;

            case SensorType.Magntometer:
                magnetometer = Magnetometer.GetDefault();
                if (magnetometer != null)
                {
                    magnetometer.ReadingChanged += Magnetometer_ReadingChanged;
                }
                break;

            case SensorType.Altimeter:
                altimeter = Altimeter.GetDefault();
                if (altimeter != null)
                {
                    altimeter.ReadingChanged += Altimeter_ReadingChanged;
                }
                break;
            }

            sensorTypeStatus[sensorType] = true;
        }
 public void ToggleAccelerometer()
 {
     try
     {
         if (Accelerometer.IsMonitoring)
         {
             Accelerometer.Stop();
         }
         else
         {
             Accelerometer.Start(SensorSpeed.Game);
         }
     }
     catch (FeatureNotSupportedException)
     {
         Toast.MakeText(Application.Context, "Feature not supported on device", ToastLength.Short).Show();
     }
     catch (System.Exception ex)
     {
         Toast.MakeText(Application.Context, "Other error has occurred" + ex.Message, ToastLength.Short).Show();
     }
 }
Esempio n. 55
0
        public DeviceMotionService()
        {
            try
            {
                accelerometer = Accelerometer.GetDefault();
                gyrometer     = Gyrometer.GetDefault();
                compass       = Compass.GetDefault();
                magnetometer  = Magnetometer.GetDefault();
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex.Message);
            }

            sensorStatus = new Dictionary <MotionSensorType, bool>()
            {
                { MotionSensorType.Accelerometer, false },
                { MotionSensorType.Gyroscope, false },
                { MotionSensorType.Magnetometer, false },
                { MotionSensorType.Compass, false }
            };
        }
Esempio n. 56
0
 // Constructor
 public MainPage()
 {
     InitializeComponent();
     AccelerometerSensor = new Accelerometer();
     AccelerometerSensor.CurrentValueChanged += new EventHandler <SensorReadingEventArgs <AccelerometerReading> >(AccelerometerSensor_ReadingChanged);
     AccelerometerStartup();
     if ((PhotoCamera.IsCameraTypeSupported(CameraType.Primary) == true))
     {
         viewfinderCanvas.Visibility = Visibility.Visible;
         var cam = new Microsoft.Devices.PhotoCamera(CameraType.Primary);
         if (Orientation == PageOrientation.PortraitUp || Orientation == PageOrientation.PortraitDown || Orientation == PageOrientation.Portrait)
         {
             // Rotate for LandscapeRight orientation.
             viewfinderBrush.RelativeTransform =
                 new CompositeTransform()
             {
                 CenterX = 0.5, CenterY = 0.5, Rotation = 90
             };
         }
         viewfinderBrush.SetSource(cam);
     }
 }
        private void StopButtonOnClicked(object sender, EventArgs e)
        {
            if (!Accelerometer.IsMonitoring)
            {
                return;
            }

            try
            {
                Accelerometer.ReadingChanged -= OnReadingChanged;
                Accelerometer.Stop();

                LabelX.Text = LabelY.Text = LabelZ.Text = "";

                StartButton.IsEnabled = true;
                StopButton.IsEnabled  = false;
            }
            catch (Exception ex)
            {
                Debug.WriteLine($"{ex}");
            }
        }
Esempio n. 58
0
        private void StartServiceButtonOnClick(object sender, EventArgs e)
        {
            _startServiceButton.Enabled = false;
            _startServiceButton.Click  -= StartServiceButtonOnClick;

            StartService(_startServiceIntent);
            Log.Info(Tag, "User started tracking.");

            try
            {
                Accelerometer.Start(SensorSpeed.UI);
            }
            catch (Exception ex)
            {
                Log.Error(Tag, ex.ToString());
            }

            _isStarted = true;
            _stopServiceButton.Click  += StopServiceButtonOnClick;
            _stopServiceButton.Enabled = true;
            _sendButton.Enabled        = false;
        }
Esempio n. 59
0
        public Scenario3_Polling()
        {
            this.InitializeComponent();

            _accelerometer = Accelerometer.GetDefault();
            if (_accelerometer != null)
            {
                // Select a report interval that is both suitable for the purposes of the app and supported by the sensor.
                // This value will be used later to activate the sensor.
                uint minReportInterval = _accelerometer.MinimumReportInterval;
                _desiredReportInterval = minReportInterval > 16 ? minReportInterval : 16;

                // Set up a DispatchTimer
                _dispatcherTimer          = new DispatcherTimer();
                _dispatcherTimer.Tick    += DisplayCurrentReading;
                _dispatcherTimer.Interval = new TimeSpan(0, 0, 0, 0, (int)_desiredReportInterval);
            }
            else
            {
                rootPage.NotifyUser("No accelerometer found", NotifyType.ErrorMessage);
            }
        }
Esempio n. 60
0
        public Sensors()
        {
            _locator = new Geolocator
            {
                ReportInterval = 250
            };

            _locator.StatusChanged   += Locator_StatusChanged;
            _locator.PositionChanged += Locator_PositionChanged;

            _accelerometor = Accelerometer.GetDefault(AccelerometerReadingType.Standard);
            if (_accelerometor != null)
            {
                _accelerometor.ReadingChanged += Accelerometor_ReadingChanged;
            }

            _gyrometer = Gyrometer.GetDefault();
            if (_gyrometer != null)
            {
                _gyrometer.ReadingChanged += _gyrometer_ReadingChanged;
            }
        }