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)); }
public void InitHardware() { Console.WriteLine("Creating output ports..."); //poling sensor = new Adxl345(Device.CreateI2cBus(), 83, 0); sensor.SetPowerState(false, false, true, false, Adxl345.Frequency.EightHz); while (true) { sensor.Update(); Console.WriteLine($"{sensor.X}, {sensor.Y}, {sensor.Z}"); Thread.Sleep(500); } //event /*sensor = new Adxl345(Device.CreateI2cBus(), 83); * * sensor.SetPowerState(false, false, true, false, Adxl345.Frequency.EightHz); * * sensor.AccelerationChanged += Sensor_AccelerationChanged; */ }
public void InitHardware() { Console.WriteLine("Creating output ports..."); //polling sensor = new Adxl345(Device.CreateI2cBus(), 83); sensor.SetPowerState(false, false, true, false, Adxl345.Frequency.EightHz); sensor.Updated += Sensor_Updated; sensor.StartUpdating(1000); }
private void Run() { var accel = new Adxl345 { MeasurementRange = Adxl345.Range.FourG }; _peach = new Peach(); _peach.Button.ButtonPressed += Button_ButtonPressed;; _accelerometer = new Adxl345 { MeasurementRange = Adxl345.Range.FourG }; _accelerometer.MeasurementComplete += _accelerometer_MeasurementComplete; _accelerometer.Interval = 1000; _testTimer = new Timer(PollingMeasure, null, new TimeSpan(0, 0, 1), new TimeSpan(0, 0, 1)); while (true) { } }
private void _accelerometer_MeasurementComplete(Adxl345 sender, Adxl345.MeasurementCompleteEventArgs e) { Debug.Print("Event : x = " + e.X.ToString() + ", y = " + e.Y.ToString() + ", z = " + e.Z.ToString()); }