SlimeVR / SlimeVR-Rust

🦀 + SlimeVR = 💖
Apache License 2.0
70 stars 26 forks source link

[Firmware] Implement basic bmi160 support #120

Closed TheButlah closed 1 year ago

TheButlah commented 1 year ago

116 added a basic imu implementation which reads the gyro velocity from the bmi. However, we should be using rotational position rather than velocity, so we need to integrate or use sensor fusion.

Also, we need to test that the math of the conversion on velocity and to euler angles actually made sense.

TheButlah commented 1 year ago

176 and #173 added the first fusion algorithm, DCM. But It doesn't seem to be working. Most likely the axes need to be reordered.

TheButlah commented 1 year ago

It looks like this is actually working properly after all.