Adaptive and max stepping followup

This commit is contained in:
Scott Lahteine
2018-06-10 15:32:46 -05:00
parent e0aec001f3
commit 6e49901104
45 changed files with 153 additions and 60 deletions

View File

@@ -1238,9 +1238,6 @@
#define MANUAL_PROBE_HEIGHT Z_HOMING_HEIGHT #define MANUAL_PROBE_HEIGHT Z_HOMING_HEIGHT
#endif #endif
// Stepper pulse duration, in cycles
#define STEP_PULSE_CYCLES ((MINIMUM_STEPPER_PULSE) * CYCLES_PER_MICROSECOND)
// Updated G92 behavior shifts the workspace // Updated G92 behavior shifts the workspace
#define HAS_POSITION_SHIFT DISABLED(NO_WORKSPACE_OFFSETS) #define HAS_POSITION_SHIFT DISABLED(NO_WORKSPACE_OFFSETS)
// The home offset also shifts the coordinate space // The home offset also shifts the coordinate space
@@ -1313,12 +1310,11 @@
// Calculate a default maximum stepper rate, if not supplied // Calculate a default maximum stepper rate, if not supplied
#ifndef MAXIMUM_STEPPER_RATE #ifndef MAXIMUM_STEPPER_RATE
#define MAXIMUM_STEPPER_RATE (1000000UL / (2UL * (MINIMUM_STEPPER_PULSE))) #if MINIMUM_STEPPER_PULSE
#endif #define MAXIMUM_STEPPER_RATE (1000000UL / (2UL * (MINIMUM_STEPPER_PULSE)))
#else
// Calculate a default maximum stepper rate, if not supplied #define MAXIMUM_STEPPER_RATE 500000UL
#ifndef MAXIMUM_STEPPER_RATE #endif
#define MAXIMUM_STEPPER_RATE (1000000UL / (2UL * (MINIMUM_STEPPER_PULSE)))
#endif #endif
// //
@@ -1383,7 +1379,12 @@
#define MIN_ISR_LOOP_CYCLES (ISR_X_STEPPER_CYCLES + ISR_Y_STEPPER_CYCLES + ISR_Z_STEPPER_CYCLES + ISR_E_STEPPER_CYCLES + ISR_MIXING_STEPPER_CYCLES) #define MIN_ISR_LOOP_CYCLES (ISR_X_STEPPER_CYCLES + ISR_Y_STEPPER_CYCLES + ISR_Z_STEPPER_CYCLES + ISR_E_STEPPER_CYCLES + ISR_MIXING_STEPPER_CYCLES)
// Calculate the minimum MPU cycles needed per pulse to enforce not surpassing the maximum stepper rate // Calculate the minimum MPU cycles needed per pulse to enforce not surpassing the maximum stepper rate
#define MIN_STEPPER_PULSE_CYCLES MAX((F_CPU) / (MAXIMUM_STEPPER_RATE), ((F_CPU) / 500000UL) * MINIMUM_STEPPER_PULSE) #define _MIN_STEPPER_PULSE_CYCLES(N) MAX((F_CPU) / (MAXIMUM_STEPPER_RATE), ((F_CPU) / 500000UL) * (N))
#if MINIMUM_STEPPER_PULSE
#define MIN_STEPPER_PULSE_CYCLES _MIN_STEPPER_PULSE_CYCLES(MINIMUM_STEPPER_PULSE)
#else
#define MIN_STEPPER_PULSE_CYCLES _MIN_STEPPER_PULSE_CYCLES(1)
#endif
// But the user could be enforcing a minimum time, so the loop time is // But the user could be enforcing a minimum time, so the loop time is
#define ISR_LOOP_CYCLES (ISR_LOOP_BASE_CYCLES + MAX(MIN_STEPPER_PULSE_CYCLES, MIN_ISR_LOOP_CYCLES)) #define ISR_LOOP_CYCLES (ISR_LOOP_BASE_CYCLES + MAX(MIN_STEPPER_PULSE_CYCLES, MIN_ISR_LOOP_CYCLES))
@@ -1406,7 +1407,7 @@
#endif #endif
// Now estimate the total ISR execution time in cycles given a step per ISR multiplier // Now estimate the total ISR execution time in cycles given a step per ISR multiplier
#define ISR_EXECUTION_CYCLES(rate) (((ISR_BASE_CYCLES + (ISR_LOOP_CYCLES * rate) + ISR_LA_BASE_CYCLES + ISR_LA_LOOP_CYCLES)) / rate) #define ISR_EXECUTION_CYCLES(rate) (((ISR_BASE_CYCLES + ISR_S_CURVE_CYCLES + (ISR_LOOP_CYCLES * rate) + ISR_LA_BASE_CYCLES + ISR_LA_LOOP_CYCLES)) / rate)
// The maximum allowable stepping frequency when doing x128-x1 stepping (in Hz) // The maximum allowable stepping frequency when doing x128-x1 stepping (in Hz)
#define MAX_128X_STEP_ISR_FREQUENCY (F_CPU / ISR_EXECUTION_CYCLES(128)) #define MAX_128X_STEP_ISR_FREQUENCY (F_CPU / ISR_EXECUTION_CYCLES(128))

View File

@@ -811,6 +811,7 @@
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
* 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers
* 1 : Minimum for LV8729 stepper drivers
* 2 : Minimum for DRV8825 stepper drivers * 2 : Minimum for DRV8825 stepper drivers
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
@@ -824,9 +825,10 @@
* 400000 : Maximum for TMC2xxx stepper drivers * 400000 : Maximum for TMC2xxx stepper drivers
* 250000 : Maximum for DRV8825 stepper driver * 250000 : Maximum for DRV8825 stepper driver
* 150000 : Maximum for TB6600 stepper driver * 150000 : Maximum for TB6600 stepper driver
* 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 // DRV8825 #define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature

View File

@@ -811,6 +811,7 @@
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
* 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers
* 1 : Minimum for LV8729 stepper drivers
* 2 : Minimum for DRV8825 stepper drivers * 2 : Minimum for DRV8825 stepper drivers
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
@@ -824,9 +825,10 @@
* 400000 : Maximum for TMC2xxx stepper drivers * 400000 : Maximum for TMC2xxx stepper drivers
* 250000 : Maximum for DRV8825 stepper driver * 250000 : Maximum for DRV8825 stepper driver
* 150000 : Maximum for TB6600 stepper driver * 150000 : Maximum for TB6600 stepper driver
* 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 // DRV8825 #define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature

View File

@@ -811,6 +811,7 @@
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
* 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers
* 1 : Minimum for LV8729 stepper drivers
* 2 : Minimum for DRV8825 stepper drivers * 2 : Minimum for DRV8825 stepper drivers
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
@@ -824,9 +825,10 @@
* 400000 : Maximum for TMC2xxx stepper drivers * 400000 : Maximum for TMC2xxx stepper drivers
* 250000 : Maximum for DRV8825 stepper driver * 250000 : Maximum for DRV8825 stepper driver
* 150000 : Maximum for TB6600 stepper driver * 150000 : Maximum for TB6600 stepper driver
* 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 // DRV8825 #define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature

View File

@@ -811,6 +811,7 @@
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
* 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers
* 1 : Minimum for LV8729 stepper drivers
* 2 : Minimum for DRV8825 stepper drivers * 2 : Minimum for DRV8825 stepper drivers
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
@@ -824,9 +825,10 @@
* 400000 : Maximum for TMC2xxx stepper drivers * 400000 : Maximum for TMC2xxx stepper drivers
* 250000 : Maximum for DRV8825 stepper driver * 250000 : Maximum for DRV8825 stepper driver
* 150000 : Maximum for TB6600 stepper driver * 150000 : Maximum for TB6600 stepper driver
* 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 // DRV8825 #define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature

View File

@@ -811,6 +811,7 @@
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
* 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers
* 1 : Minimum for LV8729 stepper drivers
* 2 : Minimum for DRV8825 stepper drivers * 2 : Minimum for DRV8825 stepper drivers
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
@@ -824,9 +825,10 @@
* 400000 : Maximum for TMC2xxx stepper drivers * 400000 : Maximum for TMC2xxx stepper drivers
* 250000 : Maximum for DRV8825 stepper driver * 250000 : Maximum for DRV8825 stepper driver
* 150000 : Maximum for TB6600 stepper driver * 150000 : Maximum for TB6600 stepper driver
* 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 // DRV8825 #define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature

View File

@@ -811,6 +811,7 @@
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
* 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers
* 1 : Minimum for LV8729 stepper drivers
* 2 : Minimum for DRV8825 stepper drivers * 2 : Minimum for DRV8825 stepper drivers
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
@@ -824,9 +825,10 @@
* 400000 : Maximum for TMC2xxx stepper drivers * 400000 : Maximum for TMC2xxx stepper drivers
* 250000 : Maximum for DRV8825 stepper driver * 250000 : Maximum for DRV8825 stepper driver
* 150000 : Maximum for TB6600 stepper driver * 150000 : Maximum for TB6600 stepper driver
* 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 // DRV8825 #define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature

View File

@@ -811,6 +811,7 @@
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
* 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers
* 1 : Minimum for LV8729 stepper drivers
* 2 : Minimum for DRV8825 stepper drivers * 2 : Minimum for DRV8825 stepper drivers
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
@@ -824,9 +825,10 @@
* 400000 : Maximum for TMC2xxx stepper drivers * 400000 : Maximum for TMC2xxx stepper drivers
* 250000 : Maximum for DRV8825 stepper driver * 250000 : Maximum for DRV8825 stepper driver
* 150000 : Maximum for TB6600 stepper driver * 150000 : Maximum for TB6600 stepper driver
* 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 // DRV8825 #define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature

View File

@@ -819,6 +819,7 @@
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
* 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers
* 1 : Minimum for LV8729 stepper drivers
* 2 : Minimum for DRV8825 stepper drivers * 2 : Minimum for DRV8825 stepper drivers
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
@@ -832,9 +833,10 @@
* 400000 : Maximum for TMC2xxx stepper drivers * 400000 : Maximum for TMC2xxx stepper drivers
* 250000 : Maximum for DRV8825 stepper driver * 250000 : Maximum for DRV8825 stepper driver
* 150000 : Maximum for TB6600 stepper driver * 150000 : Maximum for TB6600 stepper driver
* 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 // DRV8825 #define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature

View File

@@ -811,6 +811,7 @@
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
* 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers
* 1 : Minimum for LV8729 stepper drivers
* 2 : Minimum for DRV8825 stepper drivers * 2 : Minimum for DRV8825 stepper drivers
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
@@ -824,9 +825,10 @@
* 400000 : Maximum for TMC2xxx stepper drivers * 400000 : Maximum for TMC2xxx stepper drivers
* 250000 : Maximum for DRV8825 stepper driver * 250000 : Maximum for DRV8825 stepper driver
* 150000 : Maximum for TB6600 stepper driver * 150000 : Maximum for TB6600 stepper driver
* 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 // DRV8825 #define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature

View File

@@ -811,6 +811,7 @@
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
* 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers
* 1 : Minimum for LV8729 stepper drivers
* 2 : Minimum for DRV8825 stepper drivers * 2 : Minimum for DRV8825 stepper drivers
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
@@ -824,9 +825,10 @@
* 400000 : Maximum for TMC2xxx stepper drivers * 400000 : Maximum for TMC2xxx stepper drivers
* 250000 : Maximum for DRV8825 stepper driver * 250000 : Maximum for DRV8825 stepper driver
* 150000 : Maximum for TB6600 stepper driver * 150000 : Maximum for TB6600 stepper driver
* 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 // DRV8825 #define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature

View File

@@ -811,6 +811,7 @@
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
* 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers
* 1 : Minimum for LV8729 stepper drivers
* 2 : Minimum for DRV8825 stepper drivers * 2 : Minimum for DRV8825 stepper drivers
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
@@ -824,9 +825,10 @@
* 400000 : Maximum for TMC2xxx stepper drivers * 400000 : Maximum for TMC2xxx stepper drivers
* 250000 : Maximum for DRV8825 stepper driver * 250000 : Maximum for DRV8825 stepper driver
* 150000 : Maximum for TB6600 stepper driver * 150000 : Maximum for TB6600 stepper driver
* 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 // DRV8825 #define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature

View File

@@ -811,6 +811,7 @@
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
* 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers
* 1 : Minimum for LV8729 stepper drivers
* 2 : Minimum for DRV8825 stepper drivers * 2 : Minimum for DRV8825 stepper drivers
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
@@ -824,9 +825,10 @@
* 400000 : Maximum for TMC2xxx stepper drivers * 400000 : Maximum for TMC2xxx stepper drivers
* 250000 : Maximum for DRV8825 stepper driver * 250000 : Maximum for DRV8825 stepper driver
* 150000 : Maximum for TB6600 stepper driver * 150000 : Maximum for TB6600 stepper driver
* 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 // DRV8825 #define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature

View File

@@ -811,6 +811,7 @@
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
* 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers
* 1 : Minimum for LV8729 stepper drivers
* 2 : Minimum for DRV8825 stepper drivers * 2 : Minimum for DRV8825 stepper drivers
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
@@ -824,9 +825,10 @@
* 400000 : Maximum for TMC2xxx stepper drivers * 400000 : Maximum for TMC2xxx stepper drivers
* 250000 : Maximum for DRV8825 stepper driver * 250000 : Maximum for DRV8825 stepper driver
* 150000 : Maximum for TB6600 stepper driver * 150000 : Maximum for TB6600 stepper driver
* 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 // DRV8825 #define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature

View File

@@ -811,6 +811,7 @@
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
* 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers
* 1 : Minimum for LV8729 stepper drivers
* 2 : Minimum for DRV8825 stepper drivers * 2 : Minimum for DRV8825 stepper drivers
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
@@ -824,9 +825,10 @@
* 400000 : Maximum for TMC2xxx stepper drivers * 400000 : Maximum for TMC2xxx stepper drivers
* 250000 : Maximum for DRV8825 stepper driver * 250000 : Maximum for DRV8825 stepper driver
* 150000 : Maximum for TB6600 stepper driver * 150000 : Maximum for TB6600 stepper driver
* 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 // DRV8825 #define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature

View File

@@ -811,6 +811,7 @@
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
* 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers
* 1 : Minimum for LV8729 stepper drivers
* 2 : Minimum for DRV8825 stepper drivers * 2 : Minimum for DRV8825 stepper drivers
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
@@ -824,9 +825,10 @@
* 400000 : Maximum for TMC2xxx stepper drivers * 400000 : Maximum for TMC2xxx stepper drivers
* 250000 : Maximum for DRV8825 stepper driver * 250000 : Maximum for DRV8825 stepper driver
* 150000 : Maximum for TB6600 stepper driver * 150000 : Maximum for TB6600 stepper driver
* 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 // DRV8825 #define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature

View File

@@ -811,6 +811,7 @@
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
* 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers
* 1 : Minimum for LV8729 stepper drivers
* 2 : Minimum for DRV8825 stepper drivers * 2 : Minimum for DRV8825 stepper drivers
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
@@ -824,9 +825,10 @@
* 400000 : Maximum for TMC2xxx stepper drivers * 400000 : Maximum for TMC2xxx stepper drivers
* 250000 : Maximum for DRV8825 stepper driver * 250000 : Maximum for DRV8825 stepper driver
* 150000 : Maximum for TB6600 stepper driver * 150000 : Maximum for TB6600 stepper driver
* 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 // DRV8825 #define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature

View File

@@ -811,6 +811,7 @@
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
* 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers
* 1 : Minimum for LV8729 stepper drivers
* 2 : Minimum for DRV8825 stepper drivers * 2 : Minimum for DRV8825 stepper drivers
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
@@ -824,9 +825,10 @@
* 400000 : Maximum for TMC2xxx stepper drivers * 400000 : Maximum for TMC2xxx stepper drivers
* 250000 : Maximum for DRV8825 stepper driver * 250000 : Maximum for DRV8825 stepper driver
* 150000 : Maximum for TB6600 stepper driver * 150000 : Maximum for TB6600 stepper driver
* 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 // DRV8825 #define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature

View File

@@ -811,6 +811,7 @@
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
* 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers
* 1 : Minimum for LV8729 stepper drivers
* 2 : Minimum for DRV8825 stepper drivers * 2 : Minimum for DRV8825 stepper drivers
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
@@ -824,9 +825,10 @@
* 400000 : Maximum for TMC2xxx stepper drivers * 400000 : Maximum for TMC2xxx stepper drivers
* 250000 : Maximum for DRV8825 stepper driver * 250000 : Maximum for DRV8825 stepper driver
* 150000 : Maximum for TB6600 stepper driver * 150000 : Maximum for TB6600 stepper driver
* 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 // DRV8825 #define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature

View File

@@ -811,6 +811,7 @@
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
* 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers
* 1 : Minimum for LV8729 stepper drivers
* 2 : Minimum for DRV8825 stepper drivers * 2 : Minimum for DRV8825 stepper drivers
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
@@ -824,9 +825,10 @@
* 400000 : Maximum for TMC2xxx stepper drivers * 400000 : Maximum for TMC2xxx stepper drivers
* 250000 : Maximum for DRV8825 stepper driver * 250000 : Maximum for DRV8825 stepper driver
* 150000 : Maximum for TB6600 stepper driver * 150000 : Maximum for TB6600 stepper driver
* 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 // DRV8825 #define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature

View File

@@ -811,6 +811,7 @@
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
* 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers
* 1 : Minimum for LV8729 stepper drivers
* 2 : Minimum for DRV8825 stepper drivers * 2 : Minimum for DRV8825 stepper drivers
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
@@ -824,9 +825,10 @@
* 400000 : Maximum for TMC2xxx stepper drivers * 400000 : Maximum for TMC2xxx stepper drivers
* 250000 : Maximum for DRV8825 stepper driver * 250000 : Maximum for DRV8825 stepper driver
* 150000 : Maximum for TB6600 stepper driver * 150000 : Maximum for TB6600 stepper driver
* 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 // DRV8825 #define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature

View File

@@ -811,6 +811,7 @@
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
* 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers
* 1 : Minimum for LV8729 stepper drivers
* 2 : Minimum for DRV8825 stepper drivers * 2 : Minimum for DRV8825 stepper drivers
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
@@ -824,9 +825,10 @@
* 400000 : Maximum for TMC2xxx stepper drivers * 400000 : Maximum for TMC2xxx stepper drivers
* 250000 : Maximum for DRV8825 stepper driver * 250000 : Maximum for DRV8825 stepper driver
* 150000 : Maximum for TB6600 stepper driver * 150000 : Maximum for TB6600 stepper driver
* 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 // DRV8825 #define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature

View File

@@ -811,6 +811,7 @@
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
* 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers
* 1 : Minimum for LV8729 stepper drivers
* 2 : Minimum for DRV8825 stepper drivers * 2 : Minimum for DRV8825 stepper drivers
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
@@ -824,9 +825,10 @@
* 400000 : Maximum for TMC2xxx stepper drivers * 400000 : Maximum for TMC2xxx stepper drivers
* 250000 : Maximum for DRV8825 stepper driver * 250000 : Maximum for DRV8825 stepper driver
* 150000 : Maximum for TB6600 stepper driver * 150000 : Maximum for TB6600 stepper driver
* 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 // DRV8825 #define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature

View File

@@ -811,6 +811,7 @@
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
* 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers
* 1 : Minimum for LV8729 stepper drivers
* 2 : Minimum for DRV8825 stepper drivers * 2 : Minimum for DRV8825 stepper drivers
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
@@ -824,9 +825,10 @@
* 400000 : Maximum for TMC2xxx stepper drivers * 400000 : Maximum for TMC2xxx stepper drivers
* 250000 : Maximum for DRV8825 stepper driver * 250000 : Maximum for DRV8825 stepper driver
* 150000 : Maximum for TB6600 stepper driver * 150000 : Maximum for TB6600 stepper driver
* 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 // DRV8825 #define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature

View File

@@ -811,6 +811,7 @@
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
* 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers
* 1 : Minimum for LV8729 stepper drivers
* 2 : Minimum for DRV8825 stepper drivers * 2 : Minimum for DRV8825 stepper drivers
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
@@ -824,9 +825,10 @@
* 400000 : Maximum for TMC2xxx stepper drivers * 400000 : Maximum for TMC2xxx stepper drivers
* 250000 : Maximum for DRV8825 stepper driver * 250000 : Maximum for DRV8825 stepper driver
* 150000 : Maximum for TB6600 stepper driver * 150000 : Maximum for TB6600 stepper driver
* 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 // DRV8825 #define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature

View File

@@ -811,6 +811,7 @@
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
* 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers
* 1 : Minimum for LV8729 stepper drivers
* 2 : Minimum for DRV8825 stepper drivers * 2 : Minimum for DRV8825 stepper drivers
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
@@ -824,9 +825,10 @@
* 400000 : Maximum for TMC2xxx stepper drivers * 400000 : Maximum for TMC2xxx stepper drivers
* 250000 : Maximum for DRV8825 stepper driver * 250000 : Maximum for DRV8825 stepper driver
* 150000 : Maximum for TB6600 stepper driver * 150000 : Maximum for TB6600 stepper driver
* 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 // DRV8825 #define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature

View File

@@ -811,6 +811,7 @@
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
* 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers
* 1 : Minimum for LV8729 stepper drivers
* 2 : Minimum for DRV8825 stepper drivers * 2 : Minimum for DRV8825 stepper drivers
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
@@ -824,9 +825,10 @@
* 400000 : Maximum for TMC2xxx stepper drivers * 400000 : Maximum for TMC2xxx stepper drivers
* 250000 : Maximum for DRV8825 stepper driver * 250000 : Maximum for DRV8825 stepper driver
* 150000 : Maximum for TB6600 stepper driver * 150000 : Maximum for TB6600 stepper driver
* 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 // DRV8825 #define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature

View File

@@ -811,6 +811,7 @@
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
* 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers
* 1 : Minimum for LV8729 stepper drivers
* 2 : Minimum for DRV8825 stepper drivers * 2 : Minimum for DRV8825 stepper drivers
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
@@ -824,9 +825,10 @@
* 400000 : Maximum for TMC2xxx stepper drivers * 400000 : Maximum for TMC2xxx stepper drivers
* 250000 : Maximum for DRV8825 stepper driver * 250000 : Maximum for DRV8825 stepper driver
* 150000 : Maximum for TB6600 stepper driver * 150000 : Maximum for TB6600 stepper driver
* 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 // DRV8825 #define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature

View File

@@ -811,6 +811,7 @@
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
* 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers
* 1 : Minimum for LV8729 stepper drivers
* 2 : Minimum for DRV8825 stepper drivers * 2 : Minimum for DRV8825 stepper drivers
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
@@ -824,9 +825,10 @@
* 400000 : Maximum for TMC2xxx stepper drivers * 400000 : Maximum for TMC2xxx stepper drivers
* 250000 : Maximum for DRV8825 stepper driver * 250000 : Maximum for DRV8825 stepper driver
* 150000 : Maximum for TB6600 stepper driver * 150000 : Maximum for TB6600 stepper driver
* 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 // DRV8825 #define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature

View File

@@ -811,6 +811,7 @@
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
* 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers
* 1 : Minimum for LV8729 stepper drivers
* 2 : Minimum for DRV8825 stepper drivers * 2 : Minimum for DRV8825 stepper drivers
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
@@ -824,9 +825,10 @@
* 400000 : Maximum for TMC2xxx stepper drivers * 400000 : Maximum for TMC2xxx stepper drivers
* 250000 : Maximum for DRV8825 stepper driver * 250000 : Maximum for DRV8825 stepper driver
* 150000 : Maximum for TB6600 stepper driver * 150000 : Maximum for TB6600 stepper driver
* 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 // DRV8825 #define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature

View File

@@ -814,6 +814,7 @@
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
* 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers
* 1 : Minimum for LV8729 stepper drivers
* 2 : Minimum for DRV8825 stepper drivers * 2 : Minimum for DRV8825 stepper drivers
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
@@ -827,9 +828,10 @@
* 400000 : Maximum for TMC2xxx stepper drivers * 400000 : Maximum for TMC2xxx stepper drivers
* 250000 : Maximum for DRV8825 stepper driver * 250000 : Maximum for DRV8825 stepper driver
* 150000 : Maximum for TB6600 stepper driver * 150000 : Maximum for TB6600 stepper driver
* 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 // DRV8825 #define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature

View File

@@ -811,6 +811,7 @@
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
* 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers
* 1 : Minimum for LV8729 stepper drivers
* 2 : Minimum for DRV8825 stepper drivers * 2 : Minimum for DRV8825 stepper drivers
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
@@ -824,9 +825,10 @@
* 400000 : Maximum for TMC2xxx stepper drivers * 400000 : Maximum for TMC2xxx stepper drivers
* 250000 : Maximum for DRV8825 stepper driver * 250000 : Maximum for DRV8825 stepper driver
* 150000 : Maximum for TB6600 stepper driver * 150000 : Maximum for TB6600 stepper driver
* 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 // DRV8825 #define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature

View File

@@ -813,6 +813,7 @@
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
* 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers
* 1 : Minimum for LV8729 stepper drivers
* 2 : Minimum for DRV8825 stepper drivers * 2 : Minimum for DRV8825 stepper drivers
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
@@ -826,9 +827,10 @@
* 400000 : Maximum for TMC2xxx stepper drivers * 400000 : Maximum for TMC2xxx stepper drivers
* 250000 : Maximum for DRV8825 stepper driver * 250000 : Maximum for DRV8825 stepper driver
* 150000 : Maximum for TB6600 stepper driver * 150000 : Maximum for TB6600 stepper driver
* 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 // DRV8825 #define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature

View File

@@ -813,6 +813,7 @@
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
* 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers
* 1 : Minimum for LV8729 stepper drivers
* 2 : Minimum for DRV8825 stepper drivers * 2 : Minimum for DRV8825 stepper drivers
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
@@ -826,9 +827,10 @@
* 400000 : Maximum for TMC2xxx stepper drivers * 400000 : Maximum for TMC2xxx stepper drivers
* 250000 : Maximum for DRV8825 stepper driver * 250000 : Maximum for DRV8825 stepper driver
* 150000 : Maximum for TB6600 stepper driver * 150000 : Maximum for TB6600 stepper driver
* 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 // DRV8825 #define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature

View File

@@ -813,6 +813,7 @@
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
* 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers
* 1 : Minimum for LV8729 stepper drivers
* 2 : Minimum for DRV8825 stepper drivers * 2 : Minimum for DRV8825 stepper drivers
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
@@ -826,9 +827,10 @@
* 400000 : Maximum for TMC2xxx stepper drivers * 400000 : Maximum for TMC2xxx stepper drivers
* 250000 : Maximum for DRV8825 stepper driver * 250000 : Maximum for DRV8825 stepper driver
* 150000 : Maximum for TB6600 stepper driver * 150000 : Maximum for TB6600 stepper driver
* 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 // DRV8825 #define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature

View File

@@ -813,6 +813,7 @@
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
* 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers
* 1 : Minimum for LV8729 stepper drivers
* 2 : Minimum for DRV8825 stepper drivers * 2 : Minimum for DRV8825 stepper drivers
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
@@ -826,9 +827,10 @@
* 400000 : Maximum for TMC2xxx stepper drivers * 400000 : Maximum for TMC2xxx stepper drivers
* 250000 : Maximum for DRV8825 stepper driver * 250000 : Maximum for DRV8825 stepper driver
* 150000 : Maximum for TB6600 stepper driver * 150000 : Maximum for TB6600 stepper driver
* 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 // DRV8825 #define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature

View File

@@ -813,6 +813,7 @@
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
* 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers
* 1 : Minimum for LV8729 stepper drivers
* 2 : Minimum for DRV8825 stepper drivers * 2 : Minimum for DRV8825 stepper drivers
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
@@ -826,9 +827,10 @@
* 400000 : Maximum for TMC2xxx stepper drivers * 400000 : Maximum for TMC2xxx stepper drivers
* 250000 : Maximum for DRV8825 stepper driver * 250000 : Maximum for DRV8825 stepper driver
* 150000 : Maximum for TB6600 stepper driver * 150000 : Maximum for TB6600 stepper driver
* 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 // DRV8825 #define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature

View File

@@ -813,6 +813,7 @@
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
* 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers
* 1 : Minimum for LV8729 stepper drivers
* 2 : Minimum for DRV8825 stepper drivers * 2 : Minimum for DRV8825 stepper drivers
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
@@ -826,9 +827,10 @@
* 400000 : Maximum for TMC2xxx stepper drivers * 400000 : Maximum for TMC2xxx stepper drivers
* 250000 : Maximum for DRV8825 stepper driver * 250000 : Maximum for DRV8825 stepper driver
* 150000 : Maximum for TB6600 stepper driver * 150000 : Maximum for TB6600 stepper driver
* 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 // DRV8825 #define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature

View File

@@ -818,6 +818,7 @@
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
* 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers
* 1 : Minimum for LV8729 stepper drivers
* 2 : Minimum for DRV8825 stepper drivers * 2 : Minimum for DRV8825 stepper drivers
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
@@ -831,9 +832,10 @@
* 400000 : Maximum for TMC2xxx stepper drivers * 400000 : Maximum for TMC2xxx stepper drivers
* 250000 : Maximum for DRV8825 stepper driver * 250000 : Maximum for DRV8825 stepper driver
* 150000 : Maximum for TB6600 stepper driver * 150000 : Maximum for TB6600 stepper driver
* 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 // DRV8825 #define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature

View File

@@ -813,6 +813,7 @@
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
* 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers
* 1 : Minimum for LV8729 stepper drivers
* 2 : Minimum for DRV8825 stepper drivers * 2 : Minimum for DRV8825 stepper drivers
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
@@ -826,9 +827,10 @@
* 400000 : Maximum for TMC2xxx stepper drivers * 400000 : Maximum for TMC2xxx stepper drivers
* 250000 : Maximum for DRV8825 stepper driver * 250000 : Maximum for DRV8825 stepper driver
* 150000 : Maximum for TB6600 stepper driver * 150000 : Maximum for TB6600 stepper driver
* 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 // DRV8825 #define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature

View File

@@ -811,6 +811,7 @@
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
* 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers
* 1 : Minimum for LV8729 stepper drivers
* 2 : Minimum for DRV8825 stepper drivers * 2 : Minimum for DRV8825 stepper drivers
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
@@ -824,9 +825,10 @@
* 400000 : Maximum for TMC2xxx stepper drivers * 400000 : Maximum for TMC2xxx stepper drivers
* 250000 : Maximum for DRV8825 stepper driver * 250000 : Maximum for DRV8825 stepper driver
* 150000 : Maximum for TB6600 stepper driver * 150000 : Maximum for TB6600 stepper driver
* 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 // DRV8825 #define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature

View File

@@ -811,6 +811,7 @@
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
* 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers
* 1 : Minimum for LV8729 stepper drivers
* 2 : Minimum for DRV8825 stepper drivers * 2 : Minimum for DRV8825 stepper drivers
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
@@ -824,9 +825,10 @@
* 400000 : Maximum for TMC2xxx stepper drivers * 400000 : Maximum for TMC2xxx stepper drivers
* 250000 : Maximum for DRV8825 stepper driver * 250000 : Maximum for DRV8825 stepper driver
* 150000 : Maximum for TB6600 stepper driver * 150000 : Maximum for TB6600 stepper driver
* 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 // DRV8825 #define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature

View File

@@ -811,6 +811,7 @@
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
* 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers
* 1 : Minimum for LV8729 stepper drivers
* 2 : Minimum for DRV8825 stepper drivers * 2 : Minimum for DRV8825 stepper drivers
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
@@ -824,9 +825,10 @@
* 400000 : Maximum for TMC2xxx stepper drivers * 400000 : Maximum for TMC2xxx stepper drivers
* 250000 : Maximum for DRV8825 stepper driver * 250000 : Maximum for DRV8825 stepper driver
* 150000 : Maximum for TB6600 stepper driver * 150000 : Maximum for TB6600 stepper driver
* 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 // DRV8825 #define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature

View File

@@ -812,6 +812,7 @@
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
* 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers
* 1 : Minimum for LV8729 stepper drivers
* 2 : Minimum for DRV8825 stepper drivers * 2 : Minimum for DRV8825 stepper drivers
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
@@ -825,9 +826,10 @@
* 400000 : Maximum for TMC2xxx stepper drivers * 400000 : Maximum for TMC2xxx stepper drivers
* 250000 : Maximum for DRV8825 stepper driver * 250000 : Maximum for DRV8825 stepper driver
* 150000 : Maximum for TB6600 stepper driver * 150000 : Maximum for TB6600 stepper driver
* 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 // DRV8825 #define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature

View File

@@ -1266,7 +1266,7 @@ void Stepper::stepper_pulse_phase_isr() {
// Just update the value we will get at the end of the loop // Just update the value we will get at the end of the loop
step_events_completed += events_to_do; step_events_completed += events_to_do;
#if MINIMUM_STEPPER_PULSE > 0 #if MINIMUM_STEPPER_PULSE
// Get the timer count and estimate the end of the pulse // Get the timer count and estimate the end of the pulse
hal_timer_t pulse_end = HAL_timer_get_count(PULSE_TIMER_NUM) + hal_timer_t((HAL_TICKS_PER_US) * (MINIMUM_STEPPER_PULSE)); hal_timer_t pulse_end = HAL_timer_get_count(PULSE_TIMER_NUM) + hal_timer_t((HAL_TICKS_PER_US) * (MINIMUM_STEPPER_PULSE));
#endif #endif
@@ -1339,7 +1339,7 @@ void Stepper::stepper_pulse_phase_isr() {
#endif #endif
#endif // !LIN_ADVANCE #endif // !LIN_ADVANCE
#if MINIMUM_STEPPER_PULSE > 0 #if MINIMUM_STEPPER_PULSE
// Just wait for the requested pulse duration // Just wait for the requested pulse duration
while (HAL_timer_get_count(PULSE_TIMER_NUM) < pulse_end) { /* nada */ } while (HAL_timer_get_count(PULSE_TIMER_NUM) < pulse_end) { /* nada */ }
// Add to the value, the value needed for the pulse end and ensuring the maximum driver rate is enforced // Add to the value, the value needed for the pulse end and ensuring the maximum driver rate is enforced
@@ -1373,7 +1373,7 @@ void Stepper::stepper_pulse_phase_isr() {
// Decrement the count of pending pulses to do // Decrement the count of pending pulses to do
--events_to_do; --events_to_do;
#if MINIMUM_STEPPER_PULSE > 0 #if MINIMUM_STEPPER_PULSE
// For minimum pulse time wait after stopping pulses also // For minimum pulse time wait after stopping pulses also
if (events_to_do) { if (events_to_do) {
// Just wait for the requested pulse duration // Just wait for the requested pulse duration
@@ -1763,7 +1763,7 @@ uint32_t Stepper::stepper_block_phase_isr() {
// Step E stepper if we have steps // Step E stepper if we have steps
while (LA_steps) { while (LA_steps) {
#if MINIMUM_STEPPER_PULSE > 0 #if MINIMUM_STEPPER_PULSE
hal_timer_t pulse_end = HAL_timer_get_count(PULSE_TIMER_NUM) + hal_timer_t((HAL_TICKS_PER_US) * (MINIMUM_STEPPER_PULSE)); hal_timer_t pulse_end = HAL_timer_get_count(PULSE_TIMER_NUM) + hal_timer_t((HAL_TICKS_PER_US) * (MINIMUM_STEPPER_PULSE));
#endif #endif
@@ -1778,7 +1778,7 @@ uint32_t Stepper::stepper_block_phase_isr() {
E_STEP_WRITE(active_extruder, !INVERT_E_STEP_PIN); E_STEP_WRITE(active_extruder, !INVERT_E_STEP_PIN);
#endif #endif
#if MINIMUM_STEPPER_PULSE > 0 #if MINIMUM_STEPPER_PULSE
// Just wait for the requested pulse duration // Just wait for the requested pulse duration
while (HAL_timer_get_count(PULSE_TIMER_NUM) < pulse_end) { /* nada */ } while (HAL_timer_get_count(PULSE_TIMER_NUM) < pulse_end) { /* nada */ }
// Add to the value, the value needed for the pulse end and ensuring the maximum driver rate is enforced // Add to the value, the value needed for the pulse end and ensuring the maximum driver rate is enforced
@@ -1798,7 +1798,7 @@ uint32_t Stepper::stepper_block_phase_isr() {
E_STEP_WRITE(active_extruder, INVERT_E_STEP_PIN); E_STEP_WRITE(active_extruder, INVERT_E_STEP_PIN);
#endif #endif
#if MINIMUM_STEPPER_PULSE > 0 #if MINIMUM_STEPPER_PULSE
// For minimum pulse time wait before looping // For minimum pulse time wait before looping
// Just wait for the requested pulse duration // Just wait for the requested pulse duration
if (LA_steps) while (HAL_timer_get_count(PULSE_TIMER_NUM) < pulse_end) { /* nada */ } if (LA_steps) while (HAL_timer_get_count(PULSE_TIMER_NUM) < pulse_end) { /* nada */ }
@@ -2099,6 +2099,12 @@ void Stepper::report_positions() {
#if ENABLED(BABYSTEPPING) #if ENABLED(BABYSTEPPING)
#if MINIMUM_STEPPER_PULSE
#define STEP_PULSE_CYCLES ((MINIMUM_STEPPER_PULSE) * CYCLES_PER_MICROSECOND)
#else
#define STEP_PULSE_CYCLES 0
#endif
#if ENABLED(DELTA) #if ENABLED(DELTA)
#define CYCLES_EATEN_BABYSTEP (2 * 15) #define CYCLES_EATEN_BABYSTEP (2 * 15)
#else #else