Couple of things to try:
Have you verified that shadow_counts is changing when you manually spin the motor with the encoder attached?
If you are seeing that value change then the next step is to verify the number of pole pairs that your motor has. This is done by counting the number of “cogs” that you feel when spinning the rotor through a full revolution and dividing that by two. Is that number set the same as what you have configured for pole_pairs in the odrive?
During the calibration routine the odrive attempts to correlate the electrical phasing of the motor to the encoder. There is simple relationship between the mechanical rotation of the rotor and the rotation of the electrical field that the odrive generates in order to spin the rotor. This difference in scale between the two is related to the number of pole pairs the motor has, so if that isn’t configured correctly your motor won’t spin.