我为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中的陀螺仪真的响应性较差?
答案 0 :(得分:0)
SmartWatch 2中没有陀螺仪,但有一个加速度计。加速度计的采样率限制在10Hz。这就是您每秒只能看到10个样本的原因。我不知道有什么方法可以提高利率。