Skip to content

Sfusion mag support #395

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 43 commits into
base: main
Choose a base branch
from
Draft

Conversation

gorbit99
Copy link
Contributor

@gorbit99 gorbit99 commented Feb 27, 2025

This PR adds sensor AUX interface mag support to sfusion IMUs.

Currently the effort is put in for the following IMUs:

  • LSM6DSR
  • ICM45686 (currently WIP)

And the following magnetometers attached to them:

  • IST8306

As these are the ones easily available/used in the wild, but the PR aims to make adding support for new IMUs or magnetometers fairly straightforward.

@Eirenliel
Copy link
Member

Instead of using a define, can you use the config boolean like in BNO? So it can be controlled from the server

@gorbit99
Copy link
Contributor Author

@Eirenliel That's indeed the idea down the line (as in before I make this PR be not a draft), but for devving, this was quicker

@Eirenliel Eirenliel self-requested a review April 6, 2025 21:20
@Eirenliel
Copy link
Member

Also needs support for the QMC that will be on the v1.2 slimes

Eirenliel and others added 18 commits April 23, 2025 15:37
Move sensor building logic to a separate class and file

Don't use templates for RegisterInterface/I2CImpl/SPIImpl

This started getting ridiculous, now we can actually maintain it.

Make BNO085 work again

Add BNO to automatic detection, remove a bunch of others

Not all IMU types are enabled right now due to code size optimization, but it could be expanded in the future with optimization of Softfusion.

Pick IMU type automatically by asking it
Add definitions for SlimeVR v1.2
Fix typo and add comments to quaternion sandwich function
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.

3 participants