0

I have developed a few apps for the SmartWatch 1 that take advantage of the watch's gyroscope. I finally got a SmartWatch 2 to develop on, but I notice that the gyroscope is way less responsive. For instance on the SmartWatch 1 it seems that every movement no matter how slight is recorded. However on the SmartWatch 2 the readings seem to run on a 100 millisecond timer. Here is how I interact with the sensor:

private final AccessorySensorEventListener mListener = new AccessorySensorEventListener() {
    public void onSensorEvent(AccessorySensorEvent mySensorEvent) {
        sensorEvent = mySensorEvent;
        float[] values = sensorEvent.getSensorValues();
        currentX = values[0];
        currentY = values[1];
        currentZ = values[2];
    }
}

I have also tried different variations for registering my sensor:

mSensor.registerInterruptListener(mListener);

-- and --

mSensor.registerListener(mListener, Sensor.SensorRates.SENSOR_DELAY_FASTEST, Sensor.SensorInterruptMode.SENSOR_INTERRUPT_DISABLED);

-- and --

mSensor.registerFixedRateListener(mListener, Sensor.SensorRates.SENSOR_DELAY_FASTEST);

All of these seem to give the same exact effect. Am I doing this wrong for the SmartWatch 2, or is the gyroscope in the SmartWatch 2 really just less responsive?

1 Answers1

0

There isn't a gyroscope in the SmartWatch 2, but there is an accelerometer. The accelerometer is limited to a 10Hz sampling rate. This is why you are only seeing 10 samples per second. I don't know of any way to increase the rate any higher.

There is additional info in this post: Sony Smartwatch SW2 - accelerometer output rate

Community
  • 1
  • 1
Gene Z. Ragan
  • 2,643
  • 2
  • 31
  • 41