* Make SPI work
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
* ESP32 spelling fix (#396)
Fix: ES32 -> ESP32
* (Probably) multiply acceleration by tracker rotation offset
* Split SensorBuilder into a header-source file pair
* Fix copyright
* Fix some issues with glove after all the changes
Add definitions for SlimeVR v1.2
Fix typo and add comments to quaternion sandwich function
* Add NO_WIRE definition for SPI devices
* Fix formatting
* Minor fix
* If ICM-45686 not found, ask again nicely
* Fix MCP interface not building
* Remove uneccessary "default" ctor from SPIImpl
* Remove buildSensorReal
* Invert if statement in sensorbuilder+
* Fix formatting
* If ICM-45686 not found, ask again nicely
* Fix MCP interface not building
* Fix formatting
* Various cleanup
* Formattign
---------
Co-authored-by: Butterscotch! <bscotchvanilla@gmail.com>
Co-authored-by: gorbit99 <gorbitgames@gmail.com>
Replace doubles with floats in math
Added ability to send multiple reports from BNO with multiple sensors
Send magnetometer data from BNO as correction data, added switches to use magnetometer for BNO