Velocity MVP. Add Velocity calculation toggle and logic. by M1DNYT3 · Pull Request #1753 · SlimeVR/SlimeVR-Server
This PR brings the fundamentals necessary for Velocity transmission from the Server app to the OpenVR driver.
What's added:
- New config toggle, default is set to false (separate file for future expandability)
- Per tracker config flag write (for future expandability + follows existing architecture)
- Velocity calculation and write per tracker.
What's missing:
- Protobuf Messages and Bridge, meaning while we will be able to calculate velocity, it'll not be sent anywhere for consumption - this will be a separate PR (Velocity MVP. Protobuf Bridge and Messages Update for Velocity Data Exchange. #1754)
- GUI, since it's an MVP, no runtime config change, only persistent config file read on server startup.
Technicalities:
Velocity is being calculated based on the final position resolved in HumanSkeleton and its previous delta over the last tick.
Delta is going through a sanity check before being used in order to discard noisy updates and spikes.
Addresses the issue: #25