Gyroscope API
chevron down
 

Gyroscope API

Class: Gyroscope

A Gyroscope is a sensor that measures a device's angular velocity along 3 orthogonal axes x, y and z.

  • The x axis is parallel to the device's screen, aligned with the top and bottom edges, in the left-to-right direction.
  • The y axis is parallel to the device's screen, aligned with the left and right edges, in the bottom-to-top direction.
  • The z axis is perpendicular to the device's screen, pointing up.

The sign of angular velocities follows the 'right hand rule'. A positive angular velocity along an axis corresponds to the curling direction of the fingers of a right hand, with the thumb pointing in the direction of the axis.

Read the Gyroscope Sensor Guide for further information. The Gyroscope API provides access to the angular velocity data measured by the hardware sensor.

import { Gyroscope } from "gyroscope";

if (Gyroscope) {
   console.log("This device has a Gyroscope!");
   const gyroscope = new Gyroscope({ frequency: 1 });
   gyroscope.addEventListener("reading", () => {
     console.log(
      `Gyroscope Reading: \
        timestamp=${gyroscope.timestamp}, \
        [${gyroscope.x}, \
        ${gyroscope.y}, \
        ${gyroscope.z}]`
     );
   });
   gyroscope.start();
} else {
   console.log("This device does NOT have a Gyroscope!");
}

Properties

readonly activated

boolean

Flag that indicates if the sensor is activated or not. When a sensor is created, the sensor is not activated, thus the initial value of this property equals false.

onactivate

((this: Sensor, event: Event) => any) or undefined

Event handler that is called when the sensor is activated.

onerror

((this: Sensor, event: SensorErrorEvent) => any) or undefined

Event handler that is called when an error occurs. When an error occurs, the sensor is automatically stopped, and the activated property equals false.

onreading

((this: Sensor, event: Event) => any) or undefined

Event handler that is called whenever a new reading is available.

readonly readings

BatchedGyroscopeReading or undefined

New in SDK 2.0

Interface: BatchedGyroscopeReading

New in SDK 2.0

Properties

readonly timestamp

Float32Array

readonly x

Float32Array

readonly y

Float32Array

readonly z

Float32Array

Interface: GyroscopeReading

Angular velocities measured by the Gyroscope sensor.

Properties

readonly timestamp

number or null

Timestamp of the reading in milliseconds.

NOTE: this is relative to an unspecified arbitrary 0 time, or null if no reading is available (when the sensor is not yet activated and there are no valid cached values that can be used).

readonly x

number or null

Angular velocity around the x axis in rad/s

readonly y

number or null

Angular velocity around the y axis in rad/s

readonly z

number or null

Angular velocity around the z axis in rad/s