Setting origin, encoder.set_linear_count()

I was in need to reset an axes position to zero at the current location. So I’ve set the axis to idle state, and used encoder.set_linear_count(0) and controller.pos_setpoint=0. That seemed to work.
However, yesterday I burned out a motor. Looking for reasons, I came about the idea that encoder.set_linear_count() would not update the motor winding current controller offset, and thus leads to abitrary commutation, and smoke.
So reseting the position by set_linear_count would require to repeat the calibration sequence for now.
Is this plausible? If so, it should be mentioned by the docs I guess :slight_smile:
What would be the programatically way to reset an axis position to zero?

set_linear_position(0) and pos_setpoint = 0 should be all you need. Internally it’s using a circular count for the commutation so it shouldn’t be burning out motors.