Updating lockin spin

I know lockin spin is getting changed around in new firmware, but it’s super useful for what I’m trying to do right now. My understanding is that it basically turns whatever motor you’re using into a stepper motor, but I can’t find much documentation about it.

The issue I’m facing is I want to smoothly change the velocity, but changing the locking velocity using odrv.axis.config.general_lockin.vel doesn’t update the velocity until you use odrv.axis.requested_state = AXIS_STATE_LOCKIN_SPIN, at which point the odrive stutters for a second and then spins up to the correct speed.

Is there a clean way to make the odrive behave basically like a stepper controller, with the ability to smoothly change the lockin velocity?

My understanding is that you would normally set the requested_state before setting any movement commands.


The issue for me is that the lockin state doesn’t have movement commands that I can find, so I’m stuck changing the settings and restarting the lockin state.