Setpoint not working for D6374 motor

I have a Odrive controller 48 volts, version 3.6 and I am trying to use it with D6374 Odrive motor.
I am just getting started on this and I must say I needed a few code examples in python specifically for this odrive D6374 motor, I am looking for configuration help for this motor.

I am guessing it has 14 magnets or 7 pole pairs are used (actually this is for Turnigy Aerodrive SK3 - 6364-190KV), I am not sure how many pole pairs does a D6374 have? did not find this anywhere in the documentation may be I don’t know where to look

I am able to setup the usb on a windows machine, the following is working but I am not able to do setpoint
odrv0.axis0.requested_state = AXIS_STATE_MOTOR_CALIBRATION
odrv0.axis0.requested_state = AXIS_STATE_ENCODER_OFFSET_CALIBRATION
odrv0.axis0.requested_state = AXIS_STATE_CLOSED_LOOP_CONTROL

In [1]: odrv0.vbus_voltage
Out[1]: 14.97055721282959
even though I can go upto 48 volts I am testing with just 15 volts no load

I have CUI AMT 102-V encoder connected

when I do the following
odrv0.axis0.requested_state = AXIS_STATE_FULL_CALIBRATION_SEQUENCE
After about 2 seconds I hear a beep.
Then the motor turns slowly in one direction for a few seconds, then back in the other direction. This part is working

I do not know what configuration to set and save, I do not know how many magnetic pole pairs is the default setting, I did not set it anywhere

when I run the setpoint command nothing is happening, the shaft is not turning
I hear a hum, is this hum normal? when I try to turn the motor by hand it does not allow me to, the holding torque is there , but should we hear such a loud hum? I thought it should have been silent.

I don’t know why setpoint(3000) is not working?

I am using odrivetool directly on windows
please pardon I am just beginning sorry for the newbie questions
Thanks for your help

Odrive 56 volts, version 3.6
I am not able to set point
does anybody have config code for D6374 odrive motor, it is standard odrive motor, this must have been done a thousand times, I wish there was some example code for odrive motors, this would have saved me at least 1 week time. I am using the AMT102 bought from odrive
everything is odrive but it is not working, this was a bug in the past in 2019 as per I read in the community thread, now I am using version 3.6 and 56 volts, is this a bug?
Is there any config code I can try to confirm?
This is for Position mode

Now I am getting
In [13]: dump_errors(odrv0)
axis0
axis: Error(s):
ERROR_CONTROLLER_FAILED
motor: Error(s):
ERROR_CONTROL_DEADLINE_MISSED
encoder: no error
controller: Error(s):
ERROR_OVERSPEED
axis1
axis: no error
motor: no error
encoder: no error
controller: no error

after reading previous support pages I was able to solve this problem
I had to set the tolerance to 0
#careful, use only if needed to avoid OVER_SPEED error, default tolerance value is 1.2
odrv0.axis0.controller.config.vel_limit_tolerance = 0

and I also wish if this example was available, it would have saved me 3 days as I am new to odrive.
here is the config that worked for me, it is just an example, write and test your own no guarantee
from future import print_function

import odrive
from odrive.enums import *
import time
import math

configure motor for Position control

configure and setup for Odrive D6374 motor

using AMT-102 encoder, incremental

any changes made to the config must be saved and then reboot the odrive device to take effect

Find a connected ODrive (this will block until you connect one)

print(“finding an odrive…”)
odrv0 = odrive.find_any()

print(“Reconnected to ODrive as odrv0”)
print(“Assuming we have Odrive D6374 motor with AMT-102 Encoder PPR 2048, Cntrl C to exit”)
print(“Sleeping… 3 seconds before erase configuration and 2 secs after”)
time.sleep(3)
odrv0.erase_configuration()
time.sleep(2)

Configure motor

make sure you have a power supply that can give 25 to 50 Amps current and at the desired voltage

odrv0.axis0.motor.config.current_lim = 20
odrv0.axis0.motor.config.pole_pairs = 7
odrv0.axis0.motor.config.motor_type = MOTOR_TYPE_HIGH_CURRENT

odrv0.axis0.motor.config.current_lim_tolerance = 5

Brake resistance

odrv0.config.brake_resistance = 2 # Ohms

set control mode to position control

odrv0.axis0.controller.config.control_mode = CTRL_MODE_POSITION_CONTROL
#careful, use only if needed to avoid OVER_SPEED error, default tolerance value is 1.2
odrv0.axis0.controller.config.vel_limit_tolerance = 0
#axis.controller.config.vel_limit = 100000

#check dip switches to all off on AMT 102 Encoder this sets to 2048 PPR x 4 = counts per rev
odrv0.axis0.encoder.config.cpr = 8192
odrv0.axis0.encoder.config.use_index = True
odrv0.axis0.requested_state = AXIS_STATE_FULL_CALIBRATION_SEQUENCE
odrv0.axis0.encoder.config.pre_calibrated = True
odrv0.axis0.motor.config.pre_calibrated = True
odrv0.axis0.config.startup_encoder_index_search = True
odrv0.axis0.config.startup_closed_loop_control = True
odrv0.axis0.config.startup_sensorless_control = False

odrv0.save_configuration()
print(“Sleeping… 3 seconds before reboot”)
time.sleep(3)
try:
odrv0.reboot()
except:
pass

print(“finding an odrive again…”)
odrv0 = odrive.find_any()
time.sleep(2)

#test if motor spins fine
print(“set position to 10000”)
odrv0.axis0.controller.pos_setpoint = 100000
print()
print(“to find any errors use funtion dump_errors(odrv0)”)