Low Level Control of Simucube 2 Pro

Hey!
I’m an intern working for a company where we are using a Simucube 2 Pro not for a game, but for development. I’m trying to implement features like end stops, damping, friction, inertia without using Simucube tuner. I try using Directinput to do so, and am noticing I just cannot get it to feel even close to Simucube tuners implementation. It’s jerky and has latency. How are those features implemented? Are they force commands or motor/magnet stuff I’m not understanding? I’m thinking it’s because it requires really fine, no delay, low level control? (Outside of bounds of API) I would love to understand how those features are implemented on a lower level.

Those features are implemented in the firmware, and cannot be on-the-fly adjusted in any way without using our configuration software.

-Mika

Could I potentially learn more about how those features are implemented in the firmware? Or just more generally? Like is it really precise position/velocity/acceleration tracking? I’m really curious how it works, because it’s so well done.

Firmware has access to high quality encoder data (22bit on Simucube 2) and effects are calculated derived from that data. Internally we can also smoothen out all the effects by using filtering methods in floating point accuracy. If you want to do these on PC side, then you are restricted to using 16bit unsigned integer data over the wheel rotation angle limit for angle calculations.