Repository navigation
Conversation
| toggles = configuration.getSensorToggles(sensorId); | ||
|
|
||
| #if EXPERIMENTAL_BNO_USE_GIRV | ||
| imu.enableGyroIntegratedRotationVector(3); |
There was a problem hiding this comment.
All of this PR can be just this line. Everything else is you renamed one gyro members to another? Also gyro intergrated rotation vector is not better than game rotation vector, it should drift significantly more.
There was a problem hiding this comment.
GIRV does not drift more because it still does the correction on the IMU at the 100Hz, it sends more data, up to 1000Hz(it got too hot so I set it to 333), but it still does the correction at 100Hz, just as it does now
I renamed stuff because I feel it is more readable this way, if you wish you can return it
There was a problem hiding this comment.
The only difference here is faster tracking and more battery usage, also to add to the renaming, it was only to make the GIRV path clearer so it doesn't share the same variables as the regular rotation vector, feel free to return it if it doesn't make sense to you
There was a problem hiding this comment.
@Eirenliel I have tested it tonight for a few hours and had zero issues with it, works perfectly fine, no drift issues, and surprisingly barely any more battery usage.
Works especially well with no filtering set in slimevr settings
There was a problem hiding this comment.
By adding new members (even though they're actually same use as rawQuat* before), you broke some other readings. Just read rawQuat instead?
Completes the gyro-integrated rotation vector (GIRV) handling in the BNO080 driver and related sensor code.