0

我为 SmartWatch 1 开发了一些利用手表陀螺仪的应用程序。我终于得到了一个 SmartWatch 2 进行开发,但我注意到陀螺仪的响应速度较慢。例如,在 SmartWatch 1 上,无论多么轻微的动作似乎都会被记录下来。然而,在 SmartWatch 2 上,读数似乎在 100 毫秒计时器上运行。以下是我与传感器交互的方式:

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];
    }
}

我还尝试了不同的变体来注册我的传感器:

mSensor.registerInterruptListener(mListener);

- 和 -

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

- 和 -

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

所有这些似乎都给出了相同的确切效果。我是否对 SmartWatch 2 做错了,或者 SmartWatch 2 中的陀螺仪真的只是反应较慢?

4

1 回答 1

0

SmartWatch 2 中没有陀螺仪,但有一个加速度计。加速度计的采样率限制在 10Hz。这就是为什么您每秒只能看到 10 个样本的原因。我不知道有什么办法可以提高利率。

这篇文章中还有其他信息:Sony Smartwatch SW2 - 加速度计输出速率

于 2014-02-20T23:54:28.013 回答