@@ -295,14 +295,18 @@ void BNO080::parseInputReport(void)
295
295
rawMagY = data2;
296
296
rawMagZ = data3;
297
297
}
298
- else if (shtpData[5 ] == SENSOR_REPORTID_ROTATION_VECTOR || shtpData[5 ] == SENSOR_REPORTID_GAME_ROTATION_VECTOR)
298
+ else if (shtpData[5 ] == SENSOR_REPORTID_ROTATION_VECTOR || shtpData[5 ] == SENSOR_REPORTID_GAME_ROTATION_VECTOR ||
299
+ shtpData[5 ] == SENSOR_REPORTID_AR_VR_STABILIZED_ROTATION_VECTOR || shtpData[5 ] == SENSOR_REPORTID_AR_VR_STABILIZED_GAME_ROTATION_VECTOR)
299
300
{
300
301
quatAccuracy = status;
301
302
rawQuatI = data1;
302
303
rawQuatJ = data2;
303
304
rawQuatK = data3;
304
305
rawQuatReal = data4;
305
- rawQuatRadianAccuracy = data5; // Only available on rotation vector, not game rot vector
306
+
307
+ // Only available on rotation vector and ar/vr stabilized rotation vector,
308
+ // not game rot vector and not ar/vr stabilized rotation vector
309
+ rawQuatRadianAccuracy = data5;
306
310
}
307
311
else if (shtpData[5 ] == SENSOR_REPORTID_STEP_COUNTER)
308
312
{
@@ -878,12 +882,24 @@ void BNO080::enableRotationVector(uint16_t timeBetweenReports)
878
882
setFeatureCommand (SENSOR_REPORTID_ROTATION_VECTOR, timeBetweenReports);
879
883
}
880
884
885
+ // Sends the packet to enable the ar/vr stabilized rotation vector
886
+ void BNO080::enableARVRStabilizedRotationVector (uint16_t timeBetweenReports)
887
+ {
888
+ setFeatureCommand (SENSOR_REPORTID_AR_VR_STABILIZED_ROTATION_VECTOR, timeBetweenReports);
889
+ }
890
+
881
891
// Sends the packet to enable the rotation vector
882
892
void BNO080::enableGameRotationVector (uint16_t timeBetweenReports)
883
893
{
884
894
setFeatureCommand (SENSOR_REPORTID_GAME_ROTATION_VECTOR, timeBetweenReports);
885
895
}
886
896
897
+ // Sends the packet to enable the ar/vr stabilized rotation vector
898
+ void BNO080::enableARVRStabilizedGameRotationVector (uint16_t timeBetweenReports)
899
+ {
900
+ setFeatureCommand (SENSOR_REPORTID_AR_VR_STABILIZED_GAME_ROTATION_VECTOR, timeBetweenReports);
901
+ }
902
+
887
903
// Sends the packet to enable the accelerometer
888
904
void BNO080::enableAccelerometer (uint16_t timeBetweenReports)
889
905
{
0 commit comments