示例#1
0
        /// <summary>
        /// Creates an instance of <see cref="WindowsDevice" />.
        /// </summary>
        public WindowsDevice()
        {
            _display = new Display();
            _battery = new Battery();

            Query();

            try
            {
                var result = Windows.Devices.Sensors.Accelerometer.GetDefault();

                if (result != null)
                {
                    _accelerometer = new Accelerometer();
                }
            }
            catch (Exception)
            {
            }

            try
            {
                var result = Windows.Devices.Sensors.Gyrometer.GetDefault();

                if (result != null)
                {
                    _gyroscope = new Gyroscope();
                }
            }
            catch (Exception)
            {
            }
        }
示例#2
0
 public ShellPageViewModel(IAccelerometer accelerometer, IWarning warning)
 {
     _warning = warning;
     _accelerometer = accelerometer;
     _accelerometer.OnChange += OnSensorChange;
     _accelerometer.Start();
 }
示例#3
0
        public MainViewModel(IAccelerometer accelerometer = null,
                             IGyroscope gyroscope         = null,
                             IMagnetometer magnetometer   = null,
                             ICompass compass             = null,
                             IAmbientLight ambientLight   = null,
                             IBarometer barometer         = null,
                             IPedometer pedometer         = null,
                             IProximity proximity         = null,
                             IHeartRateMonitor heartRate  = null,
                             IHumidity humidity           = null,
                             ITemperature temperature     = null)
        {
            this.Sensors = new List <ISensorViewModel>();
            this.AddIf(accelerometer, "G");
            this.AddIf(gyroscope, "G");
            this.AddIf(magnetometer, "M");
            this.AddIf(compass, "D");
            this.AddIf(ambientLight, "Light");
            this.AddIf(barometer, "Pressure");
            this.AddIf(pedometer, "Steps");
            this.AddIf(proximity, "Near");

            this.AddIf(heartRate, "Heart Rate (bpm)");
            this.AddIf(humidity, "Humidity");
            this.AddIf(temperature, "Temp");
        }
示例#4
0
        protected async override void OnNavigatedTo(NavigationEventArgs e)
        {
            base.OnNavigatedTo(e);

            var samples = 0;
            var model   = (DataContext as MainViewModel).MyModel;

            metawear      = MbientLab.MetaWear.Win10.Application.GetMetaWearBoard(e.Parameter as BluetoothLEDevice);
            accelerometer = metawear.GetModule <IAccelerometer>();
            accelerometer.Configure(odr: 100f, range: 8f);

            await accelerometer.PackedAcceleration.AddRouteAsync(source => source.Stream(async data => {
                var value = data.Value <Acceleration>();
                await CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => {
                    (model.Series[0] as LineSeries).Points.Add(new DataPoint(samples, value.X));
                    (model.Series[1] as LineSeries).Points.Add(new DataPoint(samples, value.Y));
                    (model.Series[2] as LineSeries).Points.Add(new DataPoint(samples, value.Z));
                    samples++;

                    model.InvalidatePlot(true);
                    if (samples > MainViewModel.MAX_DATA_SAMPLES)
                    {
                        model.Axes[1].Reset();
                        model.Axes[1].Maximum = samples;
                        model.Axes[1].Minimum = (samples - MainViewModel.MAX_DATA_SAMPLES);
                        model.Axes[1].Zoom(model.Axes[1].Minimum, model.Axes[1].Maximum);
                    }
                });
            }));
        }
示例#5
0
        public override async Task Start()
        {
            switch (SelectedAccelerometer)
            {
            case "MPU-9250":
                Sensor = (await Mpu6050.ProbeAsync(Board.I2c, true))[0];
                break;

            case "ADXL-345":
                Sensor = (await Adxl345.ProbeAsync(Board.I2c))[0];
                break;

            case "LIS3DH":
                Sensor = (await Lis3dh.ProbeAsync(Board.I2c))[0];
                break;

            case "BNO055":
                Sensor = (await Bno055.ProbeAsync(Board.I2c))[0];
                break;

            case "LSM303DLHC":
                var lsm303dlhc = new Lsm303dlhc(Board.I2c);
                Sensor = lsm303dlhc.Accel;
                break;
            }

            Sensor.AutoUpdateWhenPropertyRead = false;
            OnPropertyChanged(nameof(Sensor));
        }
示例#6
0
        // credit to Xamarin Essentials for this calculation
        public static IObservable <Unit> WhenShakeDetected(this IAccelerometer accelerometer,
                                                           TimeSpan?bufferWindow        = null,
                                                           double gravity               = 9.81,
                                                           double accelerationThreshold = 169,
                                                           int minReadings              = 4,
                                                           double avgNeededForShake     = 0.75)
        => accelerometer
        .WhenReadingTaken()
        .Buffer(bufferWindow ?? TimeSpan.FromMilliseconds(500))
        .Select(readings =>
        {
            if (readings.Count < minReadings)
            {
                return(false);
            }

            var countInAccel = readings.Count(acc =>
            {
                var x = acc.X * gravity;
                var y = acc.Y * gravity;
                var z = acc.Z * gravity;

                var g = (x * x) + (y * y) + (z * z);

                return(g > accelerationThreshold);        // is accelerating
            });
            var avg = countInAccel / readings.Count;

            return(avg >= avgNeededForShake);
        })
        .Where(x => x)
        .Select(_ => Unit.Default);
        public SearchResultsPageViewModel(ApplicationSettings settings, INavigationService navigationService, IImageSearchService imageSearchService, IHub hub, IAccelerometer accelerometer, IStatusService statusService, IShareDataRequestedPump shareMessagePump)
        {
            _settings = settings;
            _navigationService = navigationService;
            _imageSearchService = imageSearchService;
            _hub = hub;
            _accelerometer = accelerometer;
            _statusService = statusService;

            HomeCommand = _navigationService.GoBackCommand;
            ViewDetailsCommand = new DelegateCommand(ViewDetails, () => SelectedImage != null);
            LoadMoreCommand = new AsyncDelegateCommand(LoadMore);
            ThumbnailViewCommand = new DelegateCommand(ThumbnailView);
            ListViewCommand = new DelegateCommand(ListView);
            SplitViewCommand = new DelegateCommand(SplitView);
            SettingsCommand = new DelegateCommand(Settings);

            AddImages(_settings.SelectedInstance.Images);
            shareMessagePump.DataToShare = _settings.SelectedInstance.QueryLink;
            _statusService.Title = _settings.SelectedInstance.Query;
            _accelerometer.Shaken += accelerometer_Shaken;
            _navigationService.Navigating += NavigatingFrom;

            UpdateCurrentView(CurrentView);
            _hub.Send(new UpdateTileImageCollectionMessage(_settings.SelectedInstance));
        }
示例#8
0
        public SearchResultsPageViewModel(ApplicationSettings settings, INavigationService navigationService, IImageSearchService imageSearchService, IHub hub, IAccelerometer accelerometer, IStatusService statusService, IShareDataRequestedPump shareMessagePump)
        {
            _settings           = settings;
            _navigationService  = navigationService;
            _imageSearchService = imageSearchService;
            _hub           = hub;
            _accelerometer = accelerometer;
            _statusService = statusService;

            HomeCommand          = _navigationService.GoBackCommand;
            ViewDetailsCommand   = new DelegateCommand(ViewDetails, () => SelectedImage != null);
            LoadMoreCommand      = new AsyncDelegateCommand(LoadMore);
            ThumbnailViewCommand = new DelegateCommand(ThumbnailView);
            ListViewCommand      = new DelegateCommand(ListView);
            SplitViewCommand     = new DelegateCommand(SplitView);
            SettingsCommand      = new DelegateCommand(Settings);

            AddImages(_settings.SelectedInstance.Images);
            shareMessagePump.DataToShare   = _settings.SelectedInstance.QueryLink;
            _statusService.Title           = _settings.SelectedInstance.Query;
            _accelerometer.Shaken         += accelerometer_Shaken;
            _navigationService.Navigating += NavigatingFrom;

            UpdateCurrentView(CurrentView);
            _hub.Send(new UpdateTileImageCollectionMessage(_settings.SelectedInstance));
        }
 public PreferenceViewModel(
     ILogger logger,
     IAccelerometer accelerometer)
     : base(logger)
 {
     _accelerometer = accelerometer;
 }
示例#10
0
 /// <summary>
 /// Standard constructor of the Core class
 /// </summary>
 public Core()
 {
     m_pServoController = new PCA9685();
     m_pAccelerometer = new LSM303DLHC();
     m_pGyroscope = new L3GD20H();
     m_pTelemetryClient = new Client();
     m_pRemoteControl = new NetworkRemoteControl();
 }
示例#11
0
    private void BoardOnConnected(object sender, EventArgs e)
    {
        Debug.unityLogger.Log(TAG, "BoardOnConnected");

        IAccelerometer accelerometer = manager.GetAccelerometer(sender as IBoard);

        accelerometer.Start(this);
    }
        public void Adapt(IAccelerometer accelerometer, FlightData flightData)
        {
            var gs = flightData.gs;

            if (gs == 0) //ignore exactly zero g's
            {
                gs = 1;
            }
            accelerometer.InstrumentState.AccelerationInGs = gs;
        }
示例#13
0
            public Game(INavigationService <ILevel> navigationService, IAccelerometer accelerometer, IResources resources, ITimer timer)
            {
                NavigationService = navigationService;
                Accelerometer     = accelerometer;
                Resources         = resources;
                Timer             = timer;

                Timer.OnUpdate += this.Update;
                Timer.OnDraw   += this.Draw;
            }
示例#14
0
        public static int StillTicks      = 10;    // Still Buffer limit, increase the value to allow for more time before recognizing that the device is not moving.

        /*
         * setAccel - Methor to initialize the accelerometer.
         */
        public static void setAccel()
        {
            if (!Resolver.IsSet)
            {
                var container = new SimpleContainer();
                container.Register <IAccelerometer, Accelerometer>();
                Resolver.SetResolver(container.GetResolver());
            }
            accelerometer          = Resolver.Resolve <IAccelerometer>();
            accelerometer.Interval = AccelerometerInterval.Normal;
        }
        public ComplementaryFilter(IAccelerometer accelerometer, IGyroscope gyroscope, int samplePeriodMs = 10, bool usePerformanceTimer = false)
        {
            this.accel = accelerometer;
            this.gyro = gyroscope;

            accelPoller = new Poller<IAccelerometer>(accelerometer, samplePeriodMs, usePerformanceTimer);
            accelPoller.OnSensorValueChanged += PollerEvent;
            if (accelerometer != gyroscope) // if we have two different sensors
            {
                gyroPoller = new Poller<IAccelerometer>(accelerometer, samplePeriodMs, usePerformanceTimer);
                gyroPoller.OnSensorValueChanged += PollerEvent;
            }
                
        }
        protected async void OnNavigatedTo2(NavigationEventArgs e)
        {
            base.OnNavigatedTo(e);

            var samples = 0;
            var model   = (DataContext as MainViewModel).MyModel;

            metawear = MbientLab.MetaWear.Win10.Application.GetMetaWearBoard(e.Parameter as BluetoothLEDevice);
            //accelerometer = metawear.GetModule<IAccelerometer>();
            //gyro = metawear.GetModule<IGyroBmi160>();
            //gyro.Configure();

            //accelerometer.Configure(odr: 100f, range: 8f);
            m_SensorFusion = metawear.GetModule <ISensorFusionBosch>();
            gyro           = metawear.GetModule <IGyroBmi160>();
            gyro.Configure(OutputDataRate._100Hz);
            accelerometer = metawear.GetModule <IAccelerometer>();
            accelerometer.Configure(odr: 100f, range: 8f);

            m_SensorFusion.Configure();
            await m_SensorFusion.EulerAngles.AddRouteAsync(source =>
            {
                source.Stream(async data =>
                {
                    await CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
                    {
                        var value = data.Value <EulerAngles>();
                        (model.Series[0] as LineSeries).Points.Add(new DataPoint(samples, value.Pitch));
                        (model.Series[1] as LineSeries).Points.Add(new DataPoint(samples, value.Roll));
                        (model.Series[2] as LineSeries).Points.Add(new DataPoint(samples, value.Yaw));
                        samples++;

                        model.InvalidatePlot(true);
                        if (samples > MainViewModel.MAX_DATA_SAMPLES)
                        {
                            model.Axes[1].Reset();
                            model.Axes[1].Maximum = samples;
                            model.Axes[1].Minimum = (samples - MainViewModel.MAX_DATA_SAMPLES);
                            model.Axes[1].Zoom(model.Axes[1].Minimum, model.Axes[1].Maximum);
                        }
                        GyroText.Text = value.ToString();
                    });
                });
            });

            m_SensorFusion.Start();
            m_SensorFusion.EulerAngles.Start();
        }
        /// <summary>
        ///     Construct a new Complementary filter with the specified accelerometer and gyroscope (which is often the same IC)
        /// </summary>
        /// <param name="accelerometer">The accelerometer to use</param>
        /// <param name="gyroscope">The gyroscope to use</param>
        /// <param name="samplePeriodMs">The sample period to poll these devices at</param>
        /// <param name="useHighResolutionTimer">Whether to use an accurate (but CPU-hungry) timer</param>
        public ComplementaryFilter(IAccelerometer accelerometer, IGyroscope gyroscope, int samplePeriodMs = 10,
                                   bool useHighResolutionTimer = false)
        {
            //RollQuaternion = new Quaternion(Xaxis, 0);
            //PitchQuaternion = new Quaternion(Yaxis, 0);

            accel = accelerometer;
            gyro  = gyroscope;

            accelPoller = new Poller <IAccelerometer>(accelerometer, samplePeriodMs, useHighResolutionTimer);
            accelPoller.OnNewSensorValue += PollerEvent;
            if (accelerometer != gyroscope) // if we have two different sensors
            {
                gyroPoller = new Poller <IAccelerometer>(accelerometer, samplePeriodMs, useHighResolutionTimer);
                gyroPoller.OnNewSensorValue += PollerEvent;
            }
        }
示例#18
0
        public void ProcessAccelerometer(IAccelerometer accelrometer)
        {
            AccelerometerProcessRequest p = new AccelerometerProcessRequest();

            p.Analyzer             = _analyzer as IAccelerometerAnalyzer;
            p.CurrentAccelerometer = accelrometer;

            lock (_lockObject)
            {
                _requestQueue.Enqueue(p);

                if (_requestQueue.Count == 1) // the only element that we just inserted is there
                {
                    Monitor.Pulse(_lockObject);
                }
            }
        }
示例#19
0
 public MainViewModel(IAccelerometer accelerometer = null,
                      IGyroscope gyroscope         = null,
                      IMagnetometer magnetometer   = null,
                      ICompass compass             = null,
                      IAmbientLight ambientLight   = null,
                      IBarometer barometer         = null,
                      IPedometer pedometer         = null,
                      IProximity proximity         = null)
 {
     this.Sensors = new List <ISensorViewModel>();
     this.AddIf(accelerometer, "G");
     this.AddIf(gyroscope, "G");
     this.AddIf(magnetometer, "M");
     this.AddIf(compass, "D");
     this.AddIf(ambientLight, "Light");
     this.AddIf(barometer, "Pressure");
     this.AddIf(pedometer, "Steps");
     this.AddIf(proximity, "Near");
 }
示例#20
0
 public override async Task Stop()
 {
     Sensor = null;
 }
示例#21
0
 ///<summary>
 /// Constructor that sets current accelerometer data for the event. </summary>
 public AccelerometerChangedEventArgs(IAccelerometer accelerometerData)
 {
     _accelerometer = accelerometerData;
 }
示例#22
0
        /// <summary>
        /// Initializes a new instance of the <see cref="AcceleratorSensorPage"/> class.
        /// </summary>
        public AcceleratorSensorPage()
        {
            var device = Resolver.Resolve<IDevice> ();

            Title ="Accelerator Sensor";

            if (device.Accelerometer == null)
            {
                Content = new Label ()
                {
                    TextColor = Color.Red,
                    Text = "Device does not have accelerometer sensor or it is not enabled."
                };

                return;
            }

            _accelerometer = device.Accelerometer;

            var grid = new StackLayout ();

            _xsensor = new SensorBarView ()
            {
                HeightRequest = 75,
                WidthRequest = 250,
                MinimumHeightRequest = 10,
                MinimumWidthRequest = 50,
                BackgroundColor = BackgroundColor
            //                VerticalOptions = LayoutOptions.Fill,
            //                HorizontalOptions = LayoutOptions.Fill
            };

            _ysensor = new SensorBarView()
            {
                HeightRequest = 75,
                WidthRequest = 250,
                MinimumHeightRequest = 10,
                MinimumWidthRequest = 50,
                BackgroundColor = BackgroundColor
            //                VerticalOptions = LayoutOptions.Fill,
            //                HorizontalOptions = LayoutOptions.Fill
            };

            _zsensor = new SensorBarView()
            {
                HeightRequest = 75,
                WidthRequest = 250,
                MinimumHeightRequest = 10,
                MinimumWidthRequest = 50,
                BackgroundColor = BackgroundColor
            //                VerticalOptions = LayoutOptions.Fill,
            //                HorizontalOptions = LayoutOptions.Fill
            };

            grid.Children.Add (new Label () { Text = string.Format ("Accelerometer data for {0}", device.Name) });
            grid.Children.Add (new Label () { Text = "X", XAlign = TextAlignment.Center });
            grid.Children.Add (_xsensor);
            grid.Children.Add (new Label () { Text = "Y", XAlign = TextAlignment.Center });
            grid.Children.Add (_ysensor);
            grid.Children.Add (new Label () { Text = "Z", XAlign = TextAlignment.Center });
            grid.Children.Add (_zsensor);

            Content = grid;
        }
示例#23
0
 public StoreAccelerometerData(IAccelerometer accelerometer, ICrudProvider crud)
 {
     this.meter = accelerometer;
     this.crud  = crud;
 }
示例#24
0
 /// <summary>
 /// Initializes a new instance of the <see cref="Compass"/> class.
 /// </summary>
 public Accelerometer()
 {
     nativeAccel = MXContainer.Resolve <IAccelerometer>();
 }
示例#25
0
 public SharedCompassImpl(IAccelerometer accelerometer = null,
                          IMagnetometer magnetometer   = null)
 {
     this.accelerometer = accelerometer;
     this.magnetometer  = magnetometer;
 }
示例#26
0
        public async override Task SetUp()
        {
            await base.SetUp();

            accelerometer = metawear.GetModule <IAccelerometer>();
        }
示例#27
0
 private void start_Click(object sender, System.Windows.RoutedEventArgs e)
 {
     acc = AccelerometerHelper.GetAccelerometer();
     acc.ReadingChanged += acc_ReadingChanged;
     acc.Start();
 }
        private void instantiateModule(Module module, ModuleInfo info)
        {
            if (info.Present())
            {
                switch (module)
                {
                case SWITCH:
                    persistent.modules.Add(typeof(ISwitch).FullName, new Switch(bridge));
                    break;

                case LED:
                    persistent.modules.Add(typeof(ILed).FullName, new Led(bridge));
                    break;

                case ACCELEROMETER:
                    IAccelerometer accelerometer = null;

                    switch (info.implementation)
                    {
                    case AccelerometerMma8452q.IMPLEMENTATION:
                        accelerometer = new AccelerometerMma8452q(bridge);
                        persistent.modules.Add(typeof(IAccelerometerMma8452q).FullName, accelerometer);
                        break;

                    case AccelerometerBmi160.IMPLEMENTATION:
                        accelerometer = new AccelerometerBmi160(bridge);
                        persistent.modules.Add(typeof(IAccelerometerBosch).FullName, accelerometer);
                        persistent.modules.Add(typeof(IAccelerometerBmi160).FullName, accelerometer);
                        break;

                    case AccelerometerBma255.IMPLEMENTATION:
                        accelerometer = new AccelerometerBma255(bridge);
                        persistent.modules.Add(typeof(IAccelerometerBosch).FullName, accelerometer);
                        persistent.modules.Add(typeof(IAccelerometerBma255).FullName, accelerometer);
                        break;
                    }

                    if (accelerometer != null)
                    {
                        persistent.modules.Add(typeof(IAccelerometer).FullName, accelerometer);
                    }
                    break;

                case TEMPERATURE:
                    persistent.modules.Add(typeof(ITemperature).FullName, new Temperature(bridge));
                    break;

                case GPIO:
                    persistent.modules.Add(typeof(IGpio).FullName, new Gpio(bridge));
                    break;

                case NEO_PIXEL:
                    persistent.modules.Add(typeof(INeoPixel).FullName, new NeoPixel(bridge));
                    break;

                case IBEACON:
                    persistent.modules.Add(typeof(IIBeacon).FullName, new IBeacon(bridge));
                    break;

                case HAPTIC:
                    persistent.modules.Add(typeof(IHaptic).FullName, new Haptic(bridge));
                    break;

                case DATA_PROCESSOR:
                    persistent.modules.Add(typeof(IDataProcessor).FullName, new DataProcessor(bridge));
                    break;

                case EVENT:
                    persistent.modules.Add(typeof(Event).FullName, new Event(bridge));
                    break;

                case LOGGING:
                    persistent.modules.Add(typeof(ILogging).FullName, new Logging(bridge));
                    break;

                case TIMER:
                    persistent.modules.Add(typeof(Timer).FullName, new Timer(bridge));
                    break;

                case SERIAL_PASSTHROUGH:
                    persistent.modules.Add(typeof(ISerialPassthrough).FullName, new SerialPassthrough(bridge));
                    break;

                case MACRO:
                    persistent.modules.Add(typeof(IMacro).FullName, new Macro(bridge));
                    break;

                case GSR:
                    break;

                case SETTINGS:
                    persistent.modules.Add(typeof(ISettings).FullName, new Settings(bridge));
                    break;

                case BAROMETER:
                    IBarometerBosch barometer = null;

                    switch (info.implementation)
                    {
                    case BarometerBmp280.IMPLEMENTATION:
                        barometer = new BarometerBmp280(bridge);
                        persistent.modules.Add(typeof(IBarometerBmp280).FullName, barometer);
                        break;

                    case BarometerBme280.IMPLEMENTATION:
                        barometer = new BarometerBme280(bridge);
                        persistent.modules.Add(typeof(IBarometerBme280).FullName, barometer);
                        break;
                    }

                    if (barometer != null)
                    {
                        persistent.modules.Add(typeof(IBarometerBosch).FullName, barometer);
                    }
                    break;

                case GYRO:
                    persistent.modules.Add(typeof(IGyroBmi160).FullName, new GyroBmi160(bridge));
                    break;

                case AMBIENT_LIGHT:
                    persistent.modules.Add(typeof(IAmbientLightLtr329).FullName, new AmbientLightLtr329(bridge));
                    break;

                case MAGNETOMETER:
                    persistent.modules.Add(typeof(IMagnetometerBmm150).FullName, new MagnetometerBmm150(bridge));
                    break;

                case HUMIDITY:
                    persistent.modules.Add(typeof(IHumidityBme280).FullName, new HumidityBme280(bridge));
                    break;

                case COLOR_DETECTOR:
                    persistent.modules.Add(typeof(IColorTcs34725).FullName, new ColorTcs34725(bridge));
                    break;

                case PROXIMITY:
                    persistent.modules.Add(typeof(IProximityTsl2671).FullName, new ProximityTsl2671(bridge));
                    break;

                case SENSOR_FUSION:
                    persistent.modules.Add(typeof(ISensorFusionBosch).FullName, new SensorFusionBosch(bridge));
                    break;

                case DEBUG:
                    persistent.modules.Add(typeof(IDebug).FullName, new Debug(bridge));
                    break;
                }
            }
        }
示例#29
0
 public override void Dispose()
 {
     Sensor = null;
 }
示例#30
0
 public StoreAccelerometerData(IAccelerometer accelerometer, ICrudProvider crud)
 {
     this.meter = accelerometer;
     this.crud = crud;
 }
示例#31
0
        public AcceleratorSensorPage()
        {
            var device = Resolver.Resolve <IDevice> ();

            this.Title = "Accelerator Sensor";

            if (device.Accelerometer == null)
            {
                this.Content = new Label()
                {
                    TextColor = Color.Red,
                    Text      = "Device does not have accelerometer sensor or it is not enabled."
                };

                return;
            }

            this.accelerometer = device.Accelerometer;

            var grid = new StackLayout();

            this.xsensor = new SensorBarView()
            {
                HeightRequest        = 75,
                WidthRequest         = 250,
                MinimumHeightRequest = 10,
                MinimumWidthRequest  = 50,
                BackgroundColor      = this.BackgroundColor
//                VerticalOptions = LayoutOptions.Fill,
//                HorizontalOptions = LayoutOptions.Fill
            };

            this.ysensor = new SensorBarView()
            {
                HeightRequest        = 75,
                WidthRequest         = 250,
                MinimumHeightRequest = 10,
                MinimumWidthRequest  = 50,
                BackgroundColor      = this.BackgroundColor
//                VerticalOptions = LayoutOptions.Fill,
//                HorizontalOptions = LayoutOptions.Fill
            };

            this.zsensor = new SensorBarView()
            {
                HeightRequest        = 75,
                WidthRequest         = 250,
                MinimumHeightRequest = 10,
                MinimumWidthRequest  = 50,
                BackgroundColor      = this.BackgroundColor
//                VerticalOptions = LayoutOptions.Fill,
//                HorizontalOptions = LayoutOptions.Fill
            };


            grid.Children.Add(new Label()
            {
                Text = string.Format("Accelerometer data for {0}", device.Name)
            });
            grid.Children.Add(new Label()
            {
                Text = "X", XAlign = TextAlignment.Center
            });
            grid.Children.Add(xsensor);
            grid.Children.Add(new Label()
            {
                Text = "Y", XAlign = TextAlignment.Center
            });
            grid.Children.Add(ysensor);
            grid.Children.Add(new Label()
            {
                Text = "Z", XAlign = TextAlignment.Center
            });
            grid.Children.Add(zsensor);

            this.Content = grid;
        }
示例#32
0
        public override void SetUp()
        {
            base.SetUp();

            accelerometer = metawear.GetModule <IAccelerometer>();
        }