public void OnSensorChanged(SensorEvent e)
        {
            lock (_syncLock)
            {
                var model = VMManager.ToAccelerometerDataViewModel(e);

                if (CurrentSensorData != null)
                {
                    if (currentInterval != DateTime.UtcNow.Second)
                    {
                        currentInterval = DateTime.UtcNow.Second;

                        if (packetData.Count > 0)
                        {
                            packetData = new List <AccelerometerDataViewModel>();
                        }
                    }
                    else
                    {
                        packetData.Add(model);
                    }
                }
                else
                {
                    currentInterval = DateTime.UtcNow.Second;
                    packetData.Add(model);
                }

                CurrentSensorData = model;

                AccelerometerDataChanged?.Invoke();
            }
        }
        public void OnSensorChanged(SensorEvent e)
        {
            lock (_syncLock)
            {
                var model = VMManager.ToAccelerometerDataViewModel(e);

                CurrentSensorData = model;

                StopRotationTracking();

                RotationDataChanged?.Invoke();
            }
        }