BMI270 Gyroscope

As previously mentioned, the BMI270 is a 6-axis IMU that has both an accelerometer and gyroscope. The gyro sensor on this device is represented by the GyroBmi270 interface and uses the Coriolis effect to measure angular velocity .

import com.mbientlab.metawear.module.GyroBmi270;

final GyroBmi270 gyroBmi270 = board.getModule(GyroBmi270.class);

Angular Velocity Data

To retrieve angular velocity data, add a data route to the async data producer returned by the angularVelocity function. Data values from that async producer are represented by the AngularVelocity class.

gyroBmi270.angularVelocity().addRouteAsync(new RouteBuilder() {
    @Override
    public void configure(RouteComponent source) {
        source.stream(new Subscriber() {
            @Override
            public void apply(Data data, Object ... env) {
                Log.i("MainActivity", data.value(AngularVelocity.class).toString());
            }
        });
    }
}).continueWith(new Continuation<Route, Void>() {
    @Override
    public Void then(Task<Route> task) throws Exception {
        gyroBmi270.angularVelocity();
        gyroBmi270.start();
        return null;
    }
});