tmc2130: Allow the PWMCONF register to be configured
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
This commit is contained in:
parent
1e6fa5722a
commit
5ae22a5e51
|
@ -461,6 +461,10 @@
|
||||||
#driver_TOFF: 4
|
#driver_TOFF: 4
|
||||||
#driver_HEND: 7
|
#driver_HEND: 7
|
||||||
#driver_HSTRT: 0
|
#driver_HSTRT: 0
|
||||||
|
#driver_PWM_AUTOSCALE: True
|
||||||
|
#driver_PWM_FREQ: 1
|
||||||
|
#driver_PWM_GRAD: 4
|
||||||
|
#driver_PWM_AMPL: 128
|
||||||
#driver_SGT: 0
|
#driver_SGT: 0
|
||||||
# Set the given register during the configuration of the TMC2130
|
# Set the given register during the configuration of the TMC2130
|
||||||
# chip. This may be used to set custom motor parameters. The
|
# chip. This may be used to set custom motor parameters. The
|
||||||
|
|
|
@ -11,6 +11,7 @@ GCONF_EN_PWM_MODE=1<<2
|
||||||
GCONF_DIAG1_STALL=1<<8
|
GCONF_DIAG1_STALL=1<<8
|
||||||
REG_TCOOLTHRS=0x14
|
REG_TCOOLTHRS=0x14
|
||||||
REG_COOLCONF=0x6d
|
REG_COOLCONF=0x6d
|
||||||
|
REG_PWMCONF=0x70
|
||||||
|
|
||||||
class TMC2130:
|
class TMC2130:
|
||||||
def __init__(self, config):
|
def __init__(self, config):
|
||||||
|
@ -45,6 +46,10 @@ class TMC2130:
|
||||||
hend = config.getint('driver_HEND', 7, minval=0, maxval=15)
|
hend = config.getint('driver_HEND', 7, minval=0, maxval=15)
|
||||||
hstrt = config.getint('driver_HSTRT', 0, minval=0, maxval=7)
|
hstrt = config.getint('driver_HSTRT', 0, minval=0, maxval=7)
|
||||||
sgt = config.getint('driver_SGT', 0, minval=-64, maxval=63) & 0x7f
|
sgt = config.getint('driver_SGT', 0, minval=-64, maxval=63) & 0x7f
|
||||||
|
pwm_scale = config.getboolean('driver_PWM_AUTOSCALE', True)
|
||||||
|
pwm_freq = config.getint('driver_PWM_FREQ', 1, minval=0, maxval=3)
|
||||||
|
pwm_grad = config.getint('driver_PWM_GRAD', 4, minval=0, maxval=255)
|
||||||
|
pwm_ampl = config.getint('driver_PWM_AMPL', 128, minval=0, maxval=255)
|
||||||
# Allow virtual endstop to be created
|
# Allow virtual endstop to be created
|
||||||
self.diag1_pin = config.get('diag1_pin', None)
|
self.diag1_pin = config.get('diag1_pin', None)
|
||||||
ppins.register_chip("_".join(config.get_name().split()[:2]), self)
|
ppins.register_chip("_".join(config.get_name().split()[:2]), self)
|
||||||
|
@ -73,6 +78,9 @@ class TMC2130:
|
||||||
self.add_config_cmd(0x13, max(0, min(0xfffff, sc_threshold)))
|
self.add_config_cmd(0x13, max(0, min(0xfffff, sc_threshold)))
|
||||||
# configure COOLCONF
|
# configure COOLCONF
|
||||||
self.add_config_cmd(REG_COOLCONF, sgt << 16)
|
self.add_config_cmd(REG_COOLCONF, sgt << 16)
|
||||||
|
# configure PWMCONF
|
||||||
|
self.add_config_cmd(REG_PWMCONF, pwm_ampl | (pwm_grad << 8)
|
||||||
|
| (pwm_freq << 16) | (pwm_scale << 18))
|
||||||
def add_config_cmd(self, addr, val):
|
def add_config_cmd(self, addr, val):
|
||||||
self.mcu.add_config_cmd("spi_send oid=%d data=%02x%08x" % (
|
self.mcu.add_config_cmd("spi_send oid=%d data=%02x%08x" % (
|
||||||
self.oid, (addr | 0x80) & 0xff, val & 0xffffffff), is_init=True)
|
self.oid, (addr | 0x80) & 0xff, val & 0xffffffff), is_init=True)
|
||||||
|
|
Loading…
Reference in New Issue