mirror of
https://github.com/MarlinFirmware/Configurations.git
synced 2025-07-08 07:27:44 -06:00
✨ FT_MOTION
MarlinFirmware/Marlin##25394 not ft
This commit is contained in:
parent
7fa8b7f124
commit
bf6cb6f202
309 changed files with 14523 additions and 309 deletions
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1095,7 +1095,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1134,6 +1178,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1091,7 +1091,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1130,6 +1174,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1087,7 +1087,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1126,6 +1170,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1087,7 +1087,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1126,6 +1170,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1085,7 +1085,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1124,6 +1168,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1088,7 +1088,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1127,6 +1171,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
|
@ -1086,7 +1086,51 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section motion
|
// @section motion control
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixed-time-based Motion Control -- EXPERIMENTAL
|
||||||
|
* Enable/disable and set parameters with G-code M493.
|
||||||
|
*/
|
||||||
|
//#define FT_MOTION
|
||||||
|
#if ENABLED(FT_MOTION)
|
||||||
|
#define FTM_DEFAULT_MODE ftMotionMode_ENABLED // Default mode of fixed time control. (Enums in ft_types.h)
|
||||||
|
#define FTM_DEFAULT_DYNFREQ_MODE dynFreqMode_DISABLED // Default mode of dynamic frequency calculation. (Enums in ft_types.h)
|
||||||
|
#define FTM_SHAPING_DEFAULT_X_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_SHAPING_DEFAULT_Y_FREQ 37.0f // (Hz) Default peak frequency used by input shapers.
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_ENA false // Default linear advance enable (true) or disable (false).
|
||||||
|
#define FTM_LINEAR_ADV_DEFAULT_K 0.0f // Default linear advance gain.
|
||||||
|
#define FTM_SHAPING_ZETA 0.1f // Zeta used by input shapers.
|
||||||
|
#define FTM_SHAPING_V_TOL 0.05f // Vibration tolerance used by EI input shapers.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Advanced configuration
|
||||||
|
*/
|
||||||
|
#define FTM_BATCH_SIZE 100 // Batch size for trajectory generation;
|
||||||
|
// half the window size for Ulendo FBS.
|
||||||
|
#define FTM_FS 1000 // (Hz) Frequency for trajectory generation. (1 / FTM_TS)
|
||||||
|
#define FTM_TS 0.001f // (s) Time step for trajectory generation. (1 / FTM_FS)
|
||||||
|
#define FTM_STEPPER_FS 20000 // (Hz) Frequency for stepper I/O update.
|
||||||
|
#define FTM_MIN_TICKS ((STEPPER_TIMER_RATE) / (FTM_STEPPER_FS)) // Minimum stepper ticks between steps.
|
||||||
|
#define FTM_MIN_SHAPE_FREQ 10 // Minimum shaping frequency.
|
||||||
|
#define FTM_ZMAX 100 // Maximum delays for shaping functions (even numbers only!).
|
||||||
|
// Calculate as:
|
||||||
|
// 1/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZV.
|
||||||
|
// (FTM_FS / FTM_MIN_SHAPE_FREQ) for ZVD, MZV.
|
||||||
|
// 3/2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 2HEI.
|
||||||
|
// 2 * (FTM_FS / FTM_MIN_SHAPE_FREQ) for 3HEI.
|
||||||
|
#define FTM_STEPS_PER_UNIT_TIME 20 // Interpolated stepper commands per unit time.
|
||||||
|
// Calculate as (FTM_STEPPER_FS / FTM_FS).
|
||||||
|
#define FTM_CTS_COMPARE_VAL 10 // Comparison value used in interpolation algorithm.
|
||||||
|
// Calculate as (FTM_STEPS_PER_UNIT_TIME / 2).
|
||||||
|
// These values may be configured to adjust duration of loop().
|
||||||
|
#define FTM_STEPS_PER_LOOP 60 // Number of stepper commands to generate each loop().
|
||||||
|
#define FTM_POINTS_PER_LOOP 100 // Number of trajectory points to generate each loop().
|
||||||
|
|
||||||
|
// This value may be configured to adjust duration to consume the command buffer.
|
||||||
|
// Try increasing this value if stepper motion is not smooth.
|
||||||
|
#define FTM_STEPPERCMD_BUFF_SIZE 1000 // Size of the stepper command buffers.
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Shaping -- EXPERIMENTAL
|
* Input Shaping -- EXPERIMENTAL
|
||||||
|
@ -1125,6 +1169,8 @@
|
||||||
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
//#define SHAPING_MENU // Add a menu to the LCD to set shaping parameters.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// @section motion
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue