tmc: Configurable `multistep_filt`
Signed-off-by: Alex Voinea <voinea.dragos.alexandru@gmail.com>
This commit is contained in:
parent
6cbb6f144b
commit
5ee72d320c
|
@ -20,6 +20,9 @@ parameters if `[input_shaper]` was enabled already.
|
||||||
20230407: The `stalled_bytes` counter in the log and in the
|
20230407: The `stalled_bytes` counter in the log and in the
|
||||||
`printer.mcu.last_stats` field has been renamed to `upcoming_bytes`.
|
`printer.mcu.last_stats` field has been renamed to `upcoming_bytes`.
|
||||||
|
|
||||||
|
20230323: On tmc5160 drivers `multistep_filt` is now enabled by default. Set
|
||||||
|
`driver_MULTISTEP_FILT: False` in the tmc5160 config for the previous behavior.
|
||||||
|
|
||||||
20230304: The `SET_TMC_CURRENT` command now properly adjusts the globalscaler
|
20230304: The `SET_TMC_CURRENT` command now properly adjusts the globalscaler
|
||||||
register for drivers that have it. This removes a limitation where on tmc5160,
|
register for drivers that have it. This removes a limitation where on tmc5160,
|
||||||
the currents could not be raised higher with `SET_TMC_CURRENT` than the
|
the currents could not be raised higher with `SET_TMC_CURRENT` than the
|
||||||
|
|
|
@ -3202,6 +3202,7 @@ run_current:
|
||||||
# set, "stealthChop" mode will be enabled if the stepper motor
|
# set, "stealthChop" mode will be enabled if the stepper motor
|
||||||
# velocity is below this value. The default is 0, which disables
|
# velocity is below this value. The default is 0, which disables
|
||||||
# "stealthChop" mode.
|
# "stealthChop" mode.
|
||||||
|
#driver_MULTISTEP_FILT: True
|
||||||
#driver_IHOLDDELAY: 8
|
#driver_IHOLDDELAY: 8
|
||||||
#driver_TPOWERDOWN: 20
|
#driver_TPOWERDOWN: 20
|
||||||
#driver_TBL: 2
|
#driver_TBL: 2
|
||||||
|
@ -3243,6 +3244,7 @@ run_current:
|
||||||
# The address of the TMC2209 chip for UART messages (an integer
|
# The address of the TMC2209 chip for UART messages (an integer
|
||||||
# between 0 and 3). This is typically used when multiple TMC2209
|
# between 0 and 3). This is typically used when multiple TMC2209
|
||||||
# chips are connected to the same UART pin. The default is zero.
|
# chips are connected to the same UART pin. The default is zero.
|
||||||
|
#driver_MULTISTEP_FILT: True
|
||||||
#driver_IHOLDDELAY: 8
|
#driver_IHOLDDELAY: 8
|
||||||
#driver_TPOWERDOWN: 20
|
#driver_TPOWERDOWN: 20
|
||||||
#driver_TBL: 2
|
#driver_TBL: 2
|
||||||
|
@ -3417,6 +3419,7 @@ run_current:
|
||||||
# to tune a motor with unbalanced coils. See the `Sine Wave Lookup Table`
|
# to tune a motor with unbalanced coils. See the `Sine Wave Lookup Table`
|
||||||
# section in the datasheet for information about this field and how to tune
|
# section in the datasheet for information about this field and how to tune
|
||||||
# it.
|
# it.
|
||||||
|
#driver_MULTISTEP_FILT: True
|
||||||
#driver_IHOLDDELAY: 6
|
#driver_IHOLDDELAY: 6
|
||||||
#driver_IRUNDELAY: 4
|
#driver_IRUNDELAY: 4
|
||||||
#driver_TPOWERDOWN: 10
|
#driver_TPOWERDOWN: 10
|
||||||
|
@ -3532,6 +3535,7 @@ run_current:
|
||||||
# values used by the driver. The value must be specified as a decimal integer
|
# values used by the driver. The value must be specified as a decimal integer
|
||||||
# (hex form is not supported). In order to compute the wave table fields,
|
# (hex form is not supported). In order to compute the wave table fields,
|
||||||
# see the tmc2130 "Calculation Sheet" from the Trinamic website.
|
# see the tmc2130 "Calculation Sheet" from the Trinamic website.
|
||||||
|
#driver_MULTISTEP_FILT: True
|
||||||
#driver_IHOLDDELAY: 6
|
#driver_IHOLDDELAY: 6
|
||||||
#driver_TPOWERDOWN: 10
|
#driver_TPOWERDOWN: 10
|
||||||
#driver_TBL: 2
|
#driver_TBL: 2
|
||||||
|
|
|
@ -197,10 +197,11 @@ class TMC2208:
|
||||||
self.get_status = cmdhelper.get_status
|
self.get_status = cmdhelper.get_status
|
||||||
# Setup basic register values
|
# Setup basic register values
|
||||||
self.fields.set_field("mstep_reg_select", True)
|
self.fields.set_field("mstep_reg_select", True)
|
||||||
self.fields.set_field("multistep_filt", True)
|
|
||||||
tmc.TMCStealthchopHelper(config, self.mcu_tmc, TMC_FREQUENCY)
|
tmc.TMCStealthchopHelper(config, self.mcu_tmc, TMC_FREQUENCY)
|
||||||
# Allow other registers to be set from the config
|
# Allow other registers to be set from the config
|
||||||
set_config_field = self.fields.set_config_field
|
set_config_field = self.fields.set_config_field
|
||||||
|
# GCONF
|
||||||
|
set_config_field(config, "multistep_filt", True)
|
||||||
# CHOPCONF
|
# CHOPCONF
|
||||||
set_config_field(config, "toff", 3)
|
set_config_field(config, "toff", 3)
|
||||||
set_config_field(config, "hstrt", 5)
|
set_config_field(config, "hstrt", 5)
|
||||||
|
|
|
@ -73,10 +73,11 @@ class TMC2209:
|
||||||
self.get_status = cmdhelper.get_status
|
self.get_status = cmdhelper.get_status
|
||||||
# Setup basic register values
|
# Setup basic register values
|
||||||
self.fields.set_field("mstep_reg_select", True)
|
self.fields.set_field("mstep_reg_select", True)
|
||||||
self.fields.set_field("multistep_filt", True)
|
|
||||||
tmc.TMCStealthchopHelper(config, self.mcu_tmc, TMC_FREQUENCY)
|
tmc.TMCStealthchopHelper(config, self.mcu_tmc, TMC_FREQUENCY)
|
||||||
# Allow other registers to be set from the config
|
# Allow other registers to be set from the config
|
||||||
set_config_field = self.fields.set_config_field
|
set_config_field = self.fields.set_config_field
|
||||||
|
# GCONF
|
||||||
|
set_config_field(config, "multistep_filt", True)
|
||||||
# CHOPCONF
|
# CHOPCONF
|
||||||
set_config_field(config, "toff", 3)
|
set_config_field(config, "toff", 3)
|
||||||
set_config_field(config, "hstrt", 5)
|
set_config_field(config, "hstrt", 5)
|
||||||
|
|
|
@ -354,12 +354,13 @@ class TMC2240:
|
||||||
self.get_phase_offset = cmdhelper.get_phase_offset
|
self.get_phase_offset = cmdhelper.get_phase_offset
|
||||||
self.get_status = cmdhelper.get_status
|
self.get_status = cmdhelper.get_status
|
||||||
# Setup basic register values
|
# Setup basic register values
|
||||||
self.fields.set_field("multistep_filt", True)
|
|
||||||
tmc.TMCWaveTableHelper(config, self.mcu_tmc)
|
tmc.TMCWaveTableHelper(config, self.mcu_tmc)
|
||||||
self.fields.set_config_field(config, "offset_sin90", 0)
|
self.fields.set_config_field(config, "offset_sin90", 0)
|
||||||
tmc.TMCStealthchopHelper(config, self.mcu_tmc, TMC_FREQUENCY)
|
tmc.TMCStealthchopHelper(config, self.mcu_tmc, TMC_FREQUENCY)
|
||||||
# CHOPCONF
|
|
||||||
set_config_field = self.fields.set_config_field
|
set_config_field = self.fields.set_config_field
|
||||||
|
# GCONF
|
||||||
|
set_config_field(config, "multistep_filt", True)
|
||||||
|
# CHOPCONF
|
||||||
set_config_field(config, "toff", 3)
|
set_config_field(config, "toff", 3)
|
||||||
set_config_field(config, "hstrt", 5)
|
set_config_field(config, "hstrt", 5)
|
||||||
set_config_field(config, "hend", 2)
|
set_config_field(config, "hend", 2)
|
||||||
|
|
|
@ -334,10 +334,11 @@ class TMC5160:
|
||||||
self.get_phase_offset = cmdhelper.get_phase_offset
|
self.get_phase_offset = cmdhelper.get_phase_offset
|
||||||
self.get_status = cmdhelper.get_status
|
self.get_status = cmdhelper.get_status
|
||||||
# Setup basic register values
|
# Setup basic register values
|
||||||
self.fields.set_field("multistep_filt", True)
|
|
||||||
tmc.TMCWaveTableHelper(config, self.mcu_tmc)
|
tmc.TMCWaveTableHelper(config, self.mcu_tmc)
|
||||||
tmc.TMCStealthchopHelper(config, self.mcu_tmc, TMC_FREQUENCY)
|
tmc.TMCStealthchopHelper(config, self.mcu_tmc, TMC_FREQUENCY)
|
||||||
set_config_field = self.fields.set_config_field
|
set_config_field = self.fields.set_config_field
|
||||||
|
# GCONF
|
||||||
|
set_config_field(config, "multistep_filt", True)
|
||||||
# CHOPCONF
|
# CHOPCONF
|
||||||
set_config_field(config, "toff", 3)
|
set_config_field(config, "toff", 3)
|
||||||
set_config_field(config, "hstrt", 5)
|
set_config_field(config, "hstrt", 5)
|
||||||
|
|
Loading…
Reference in New Issue