Skip to content

Finish implementing GIRV support for the BNO080 - #549

Open
poprox24 wants to merge 2 commits into
SlimeVR:mainfrom
poprox24:Finish-Implementing-GIRV
Open

poprox24 wants to merge 2 commits into
SlimeVR:mainfrom
poprox24:Finish-Implementing-GIRV

Conversation

@poprox24

Copy link
Copy Markdown

Completes the gyro-integrated rotation vector (GIRV) handling in the BNO080 driver and related sensor code.

@poprox24
poprox24 requested a review from Eirenliel as a code owner September 24, 2026 16:21
@poprox24 poprox24 changed the title Finish implementing GIRV support Finish implementing GIRV support for the BNO080 Sep 24, 2026
toggles = configuration.getSensorToggles(sensorId);

#if EXPERIMENTAL_BNO_USE_GIRV
imu.enableGyroIntegratedRotationVector(3);

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@poprox24 poprox24 Sep 24, 2026 •

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

@poprox24 poprox24 Sep 24, 2026 •

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@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

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

By adding new members (even though they're actually same use as rawQuat* before), you broke some other readings. Just read rawQuat instead?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants