|
@ -353,7 +353,7 @@ |
|
|
//#define CONTROLLER_FAN_EDITABLE // Enable M710 configurable settings
|
|
|
//#define CONTROLLER_FAN_EDITABLE // Enable M710 configurable settings
|
|
|
#if ENABLED(CONTROLLER_FAN_EDITABLE) |
|
|
#if ENABLED(CONTROLLER_FAN_EDITABLE) |
|
|
#define CONTROLLER_FAN_MENU // Enable the Controller Fan submenu
|
|
|
#define CONTROLLER_FAN_MENU // Enable the Controller Fan submenu
|
|
|
#endif |
|
|
#endif |
|
|
#endif |
|
|
#endif |
|
|
|
|
|
|
|
|
// When first starting the main fan, run it at full speed for the
|
|
|
// When first starting the main fan, run it at full speed for the
|
|
@ -361,6 +361,9 @@ |
|
|
// before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu)
|
|
|
// before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu)
|
|
|
//#define FAN_KICKSTART_TIME 100
|
|
|
//#define FAN_KICKSTART_TIME 100
|
|
|
|
|
|
|
|
|
|
|
|
// Some coolers may require a non-zero "off" state.
|
|
|
|
|
|
//#define FAN_OFF_PWM 1
|
|
|
|
|
|
|
|
|
/**
|
|
|
/**
|
|
|
* PWM Fan Scaling |
|
|
* PWM Fan Scaling |
|
|
* |
|
|
* |
|
@ -386,7 +389,7 @@ |
|
|
* FAST_PWM_FAN_FREQUENCY [undefined by default] |
|
|
* FAST_PWM_FAN_FREQUENCY [undefined by default] |
|
|
* Set this to your desired frequency. |
|
|
* Set this to your desired frequency. |
|
|
* If left undefined this defaults to F = F_CPU/(2*255*1) |
|
|
* If left undefined this defaults to F = F_CPU/(2*255*1) |
|
|
* ie F = 31.4 Khz on 16 MHz microcontrollers or F = 39.2 KHz on 20 MHz microcontrollers |
|
|
* i.e., F = 31.4kHz on 16MHz microcontrollers or F = 39.2kHz on 20MHz microcontrollers. |
|
|
* These defaults are the same as with the old FAST_PWM_FAN implementation - no migration is required |
|
|
* These defaults are the same as with the old FAST_PWM_FAN implementation - no migration is required |
|
|
* NOTE: Setting very low frequencies (< 10 Hz) may result in unexpected timer behavior. |
|
|
* NOTE: Setting very low frequencies (< 10 Hz) may result in unexpected timer behavior. |
|
|
* |
|
|
* |
|
@ -417,9 +420,7 @@ |
|
|
* Multiple extruders can be assigned to the same pin in which case |
|
|
* Multiple extruders can be assigned to the same pin in which case |
|
|
* the fan will turn on when any selected extruder is above the threshold. |
|
|
* the fan will turn on when any selected extruder is above the threshold. |
|
|
*/ |
|
|
*/ |
|
|
#define E0_AUTO_FAN_PIN PB0 // hotend fan on heater2
|
|
|
#define E0_AUTO_FAN_PIN HEATER_1_PIN |
|
|
//#define E0_AUTO_FAN_PIN -1 // hotend fan on heater2
|
|
|
|
|
|
|
|
|
|
|
|
#define E1_AUTO_FAN_PIN -1 |
|
|
#define E1_AUTO_FAN_PIN -1 |
|
|
#define E2_AUTO_FAN_PIN -1 |
|
|
#define E2_AUTO_FAN_PIN -1 |
|
|
#define E3_AUTO_FAN_PIN -1 |
|
|
#define E3_AUTO_FAN_PIN -1 |
|
@ -427,7 +428,7 @@ |
|
|
#define E5_AUTO_FAN_PIN -1 |
|
|
#define E5_AUTO_FAN_PIN -1 |
|
|
#define CHAMBER_AUTO_FAN_PIN -1 |
|
|
#define CHAMBER_AUTO_FAN_PIN -1 |
|
|
|
|
|
|
|
|
#define EXTRUDER_AUTO_FAN_TEMPERATURE 50 // hotend fan will start at 50° C
|
|
|
#define EXTRUDER_AUTO_FAN_TEMPERATURE 50 |
|
|
#define EXTRUDER_AUTO_FAN_SPEED 255 // 255 == full speed
|
|
|
#define EXTRUDER_AUTO_FAN_SPEED 255 // 255 == full speed
|
|
|
#define CHAMBER_AUTO_FAN_TEMPERATURE 30 |
|
|
#define CHAMBER_AUTO_FAN_TEMPERATURE 30 |
|
|
#define CHAMBER_AUTO_FAN_SPEED 255 |
|
|
#define CHAMBER_AUTO_FAN_SPEED 255 |
|
@ -446,13 +447,13 @@ |
|
|
/**
|
|
|
/**
|
|
|
* M355 Case Light on-off / brightness |
|
|
* M355 Case Light on-off / brightness |
|
|
*/ |
|
|
*/ |
|
|
//#define CASE_LIGHT_ENABLE
|
|
|
#define CASE_LIGHT_ENABLE |
|
|
#if ENABLED(CASE_LIGHT_ENABLE) |
|
|
#if ENABLED(CASE_LIGHT_ENABLE) |
|
|
//#define CASE_LIGHT_PIN 4 // Override the default pin if needed
|
|
|
#define CASE_LIGHT_PIN LED_CASE_PIN // Override the default pin if needed
|
|
|
#define INVERT_CASE_LIGHT false // Set true if Case Light is ON when pin is LOW
|
|
|
#define INVERT_CASE_LIGHT false // Set true if Case Light is ON when pin is LOW
|
|
|
#define CASE_LIGHT_DEFAULT_ON true // Set default power-up state on
|
|
|
#define CASE_LIGHT_DEFAULT_ON true // Set default power-up state on
|
|
|
#define CASE_LIGHT_DEFAULT_BRIGHTNESS 105 // Set default power-up brightness (0-255, requires PWM pin)
|
|
|
#define CASE_LIGHT_DEFAULT_BRIGHTNESS 255 // Set default power-up brightness (0-255, requires PWM pin)
|
|
|
//#define CASE_LIGHT_MAX_PWM 128 // Limit pwm
|
|
|
#define CASE_LIGHT_MAX_PWM 255 // Limit pwm
|
|
|
//#define CASE_LIGHT_MENU // Add Case Light options to the LCD menu
|
|
|
//#define CASE_LIGHT_MENU // Add Case Light options to the LCD menu
|
|
|
//#define CASE_LIGHT_NO_BRIGHTNESS // Disable brightness control. Enable for non-PWM lighting.
|
|
|
//#define CASE_LIGHT_NO_BRIGHTNESS // Disable brightness control. Enable for non-PWM lighting.
|
|
|
//#define CASE_LIGHT_USE_NEOPIXEL // Use Neopixel LED as case light, requires NEOPIXEL_LED.
|
|
|
//#define CASE_LIGHT_USE_NEOPIXEL // Use Neopixel LED as case light, requires NEOPIXEL_LED.
|
|
@ -499,7 +500,7 @@ |
|
|
//#define X_DUAL_ENDSTOPS
|
|
|
//#define X_DUAL_ENDSTOPS
|
|
|
#if ENABLED(X_DUAL_ENDSTOPS) |
|
|
#if ENABLED(X_DUAL_ENDSTOPS) |
|
|
#define X2_USE_ENDSTOP _XMAX_ |
|
|
#define X2_USE_ENDSTOP _XMAX_ |
|
|
#define X_DUAL_ENDSTOPS_ADJUSTMENT 0 |
|
|
#define X2_ENDSTOP_ADJUSTMENT 0 |
|
|
#endif |
|
|
#endif |
|
|
#endif |
|
|
#endif |
|
|
|
|
|
|
|
@ -509,27 +510,28 @@ |
|
|
//#define Y_DUAL_ENDSTOPS
|
|
|
//#define Y_DUAL_ENDSTOPS
|
|
|
#if ENABLED(Y_DUAL_ENDSTOPS) |
|
|
#if ENABLED(Y_DUAL_ENDSTOPS) |
|
|
#define Y2_USE_ENDSTOP _YMAX_ |
|
|
#define Y2_USE_ENDSTOP _YMAX_ |
|
|
#define Y_DUAL_ENDSTOPS_ADJUSTMENT 0 |
|
|
#define Y2_ENDSTOP_ADJUSTMENT 0 |
|
|
#endif |
|
|
#endif |
|
|
#endif |
|
|
#endif |
|
|
|
|
|
|
|
|
//#define Z_DUAL_STEPPER_DRIVERS
|
|
|
//
|
|
|
#if ENABLED(Z_DUAL_STEPPER_DRIVERS) |
|
|
// For Z set the number of stepper drivers
|
|
|
//#define Z_DUAL_ENDSTOPS
|
|
|
//
|
|
|
#if ENABLED(Z_DUAL_ENDSTOPS) |
|
|
#define NUM_Z_STEPPER_DRIVERS 1 // (1-4) Z options change based on how many
|
|
|
#define Z2_USE_ENDSTOP _XMAX_ |
|
|
|
|
|
#define Z_DUAL_ENDSTOPS_ADJUSTMENT 0 |
|
|
|
|
|
#endif |
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
//#define Z_TRIPLE_STEPPER_DRIVERS
|
|
|
#if NUM_Z_STEPPER_DRIVERS > 1 |
|
|
#if ENABLED(Z_TRIPLE_STEPPER_DRIVERS) |
|
|
//#define Z_MULTI_ENDSTOPS
|
|
|
//#define Z_TRIPLE_ENDSTOPS
|
|
|
#if ENABLED(Z_MULTI_ENDSTOPS) |
|
|
#if ENABLED(Z_TRIPLE_ENDSTOPS) |
|
|
|
|
|
#define Z2_USE_ENDSTOP _XMAX_ |
|
|
#define Z2_USE_ENDSTOP _XMAX_ |
|
|
|
|
|
#define Z2_ENDSTOP_ADJUSTMENT 0 |
|
|
|
|
|
#if NUM_Z_STEPPER_DRIVERS >= 3 |
|
|
#define Z3_USE_ENDSTOP _YMAX_ |
|
|
#define Z3_USE_ENDSTOP _YMAX_ |
|
|
#define Z_TRIPLE_ENDSTOPS_ADJUSTMENT2 0 |
|
|
#define Z3_ENDSTOP_ADJUSTMENT 0 |
|
|
#define Z_TRIPLE_ENDSTOPS_ADJUSTMENT3 0 |
|
|
#endif |
|
|
|
|
|
#if NUM_Z_STEPPER_DRIVERS >= 4 |
|
|
|
|
|
#define Z4_USE_ENDSTOP _ZMAX_ |
|
|
|
|
|
#define Z4_ENDSTOP_ADJUSTMENT 0 |
|
|
|
|
|
#endif |
|
|
#endif |
|
|
#endif |
|
|
#endif |
|
|
#endif |
|
|
|
|
|
|
|
@ -593,7 +595,6 @@ |
|
|
#define Y_HOME_BUMP_MM 5 |
|
|
#define Y_HOME_BUMP_MM 5 |
|
|
#define Z_HOME_BUMP_MM 2 |
|
|
#define Z_HOME_BUMP_MM 2 |
|
|
#define HOMING_BUMP_DIVISOR { 2, 2, 4 } // Re-Bump Speed Divisor (Divides the Homing Feedrate)
|
|
|
#define HOMING_BUMP_DIVISOR { 2, 2, 4 } // Re-Bump Speed Divisor (Divides the Homing Feedrate)
|
|
|
//@
|
|
|
|
|
|
#define QUICK_HOME // If homing includes X and Y, do a diagonal move initially
|
|
|
#define QUICK_HOME // If homing includes X and Y, do a diagonal move initially
|
|
|
#define HOMING_BACKOFF_MM { 0, 0, 20 } // (mm) Move away from the endstops after homing
|
|
|
#define HOMING_BACKOFF_MM { 0, 0, 20 } // (mm) Move away from the endstops after homing
|
|
|
|
|
|
|
|
@ -676,11 +677,37 @@ |
|
|
*/ |
|
|
*/ |
|
|
//#define Z_STEPPER_AUTO_ALIGN
|
|
|
//#define Z_STEPPER_AUTO_ALIGN
|
|
|
#if ENABLED(Z_STEPPER_AUTO_ALIGN) |
|
|
#if ENABLED(Z_STEPPER_AUTO_ALIGN) |
|
|
// Define probe X and Y positions for Z1, Z2 [, Z3]
|
|
|
// Define probe X and Y positions for Z1, Z2 [, Z3 [, Z4]]
|
|
|
#define Z_STEPPER_ALIGN_XY { { 10, 290 }, { 150, 10 }, { 290, 290 } } |
|
|
// If not defined, probe limits will be used.
|
|
|
|
|
|
// Override with 'M422 S<index> X<pos> Y<pos>'
|
|
|
|
|
|
//#define Z_STEPPER_ALIGN_XY { { 10, 190 }, { 100, 10 }, { 190, 190 } }
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* Orientation for the automatically-calculated probe positions. |
|
|
|
|
|
* Override Z stepper align points with 'M422 S<index> X<pos> Y<pos>' |
|
|
|
|
|
* |
|
|
|
|
|
* 2 Steppers: (0) (1) |
|
|
|
|
|
* | | 2 | |
|
|
|
|
|
* | 1 2 | | |
|
|
|
|
|
* | | 1 | |
|
|
|
|
|
* |
|
|
|
|
|
* 3 Steppers: (0) (1) (2) (3) |
|
|
|
|
|
* | 3 | 1 | 2 1 | 2 | |
|
|
|
|
|
* | | 3 | | 3 | |
|
|
|
|
|
* | 1 2 | 2 | 3 | 1 | |
|
|
|
|
|
* |
|
|
|
|
|
* 4 Steppers: (0) (1) (2) (3) |
|
|
|
|
|
* | 4 3 | 1 4 | 2 1 | 3 2 | |
|
|
|
|
|
* | | | | | |
|
|
|
|
|
* | 1 2 | 2 3 | 3 4 | 4 1 | |
|
|
|
|
|
* |
|
|
|
|
|
*/ |
|
|
|
|
|
#ifndef Z_STEPPER_ALIGN_XY |
|
|
|
|
|
//#define Z_STEPPERS_ORIENTATION 0
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
// Provide Z stepper positions for more rapid convergence in bed alignment.
|
|
|
// Provide Z stepper positions for more rapid convergence in bed alignment.
|
|
|
// Currently requires triple stepper drivers.
|
|
|
// Requires triple stepper drivers (i.e., set NUM_Z_STEPPER_DRIVERS to 3)
|
|
|
//#define Z_STEPPER_ALIGN_KNOWN_STEPPER_POSITIONS
|
|
|
//#define Z_STEPPER_ALIGN_KNOWN_STEPPER_POSITIONS
|
|
|
#if ENABLED(Z_STEPPER_ALIGN_KNOWN_STEPPER_POSITIONS) |
|
|
#if ENABLED(Z_STEPPER_ALIGN_KNOWN_STEPPER_POSITIONS) |
|
|
// Define Stepper XY positions for Z1, Z2, Z3 corresponding to
|
|
|
// Define Stepper XY positions for Z1, Z2, Z3 corresponding to
|
|
@ -688,18 +715,11 @@ |
|
|
// Define one position per Z stepper in stepper driver order.
|
|
|
// Define one position per Z stepper in stepper driver order.
|
|
|
#define Z_STEPPER_ALIGN_STEPPER_XY { { 210.7, 102.5 }, { 152.6, 220.0 }, { 94.5, 102.5 } } |
|
|
#define Z_STEPPER_ALIGN_STEPPER_XY { { 210.7, 102.5 }, { 152.6, 220.0 }, { 94.5, 102.5 } } |
|
|
#else |
|
|
#else |
|
|
// Amplification factor. Used to scale the correction step up or down.
|
|
|
// Amplification factor. Used to scale the correction step up or down in case
|
|
|
// In case the stepper (spindle) position is further out than the test point.
|
|
|
// the stepper (spindle) position is farther out than the test point.
|
|
|
// Use a value > 1. NOTE: This may cause instability
|
|
|
#define Z_STEPPER_ALIGN_AMP 1.0 // Use a value > 1.0 NOTE: This may cause instability!
|
|
|
#define Z_STEPPER_ALIGN_AMP 1.0 |
|
|
|
|
|
#endif |
|
|
#endif |
|
|
|
|
|
|
|
|
// Set number of iterations to align
|
|
|
|
|
|
#define Z_STEPPER_ALIGN_ITERATIONS 3 |
|
|
|
|
|
|
|
|
|
|
|
// Enable to restore leveling setup after operation
|
|
|
|
|
|
#define RESTORE_LEVELING_AFTER_G34 |
|
|
|
|
|
|
|
|
|
|
|
// On a 300mm bed a 5% grade would give a misalignment of ~1.5cm
|
|
|
// On a 300mm bed a 5% grade would give a misalignment of ~1.5cm
|
|
|
#define G34_MAX_GRADE 5 // (%) Maximum incline that G34 will handle
|
|
|
#define G34_MAX_GRADE 5 // (%) Maximum incline that G34 will handle
|
|
|
#define Z_STEPPER_ALIGN_ITERATIONS 5 // Number of iterations to apply during alignment
|
|
|
#define Z_STEPPER_ALIGN_ITERATIONS 5 // Number of iterations to apply during alignment
|
|
@ -735,7 +755,6 @@ |
|
|
#define DEFAULT_MINIMUMFEEDRATE 0.0 // minimum feedrate
|
|
|
#define DEFAULT_MINIMUMFEEDRATE 0.0 // minimum feedrate
|
|
|
#define DEFAULT_MINTRAVELFEEDRATE 0.0 |
|
|
#define DEFAULT_MINTRAVELFEEDRATE 0.0 |
|
|
|
|
|
|
|
|
//@
|
|
|
|
|
|
#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated
|
|
|
#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated
|
|
|
|
|
|
|
|
|
// Minimum time that a segment needs to take if the buffer is emptied
|
|
|
// Minimum time that a segment needs to take if the buffer is emptied
|
|
@ -835,10 +854,10 @@ |
|
|
// probing on a screwhead or hollow washer, probe near the edges.
|
|
|
// probing on a screwhead or hollow washer, probe near the edges.
|
|
|
//#define CALIBRATION_MEASURE_AT_TOP_EDGES
|
|
|
//#define CALIBRATION_MEASURE_AT_TOP_EDGES
|
|
|
|
|
|
|
|
|
// Define pin which is read during calibration
|
|
|
// Define the pin to read during calibration
|
|
|
#ifndef CALIBRATION_PIN |
|
|
#ifndef CALIBRATION_PIN |
|
|
#define CALIBRATION_PIN -1 // Override in pins.h or set to -1 to use your Z endstop
|
|
|
#define CALIBRATION_PIN -1 // Define here to override the default pin
|
|
|
#define CALIBRATION_PIN_INVERTING false // Set to true to invert the pin
|
|
|
#define CALIBRATION_PIN_INVERTING false // Set to true to invert the custom pin
|
|
|
//#define CALIBRATION_PIN_PULLDOWN
|
|
|
//#define CALIBRATION_PIN_PULLDOWN
|
|
|
#define CALIBRATION_PIN_PULLUP |
|
|
#define CALIBRATION_PIN_PULLUP |
|
|
#endif |
|
|
#endif |
|
@ -928,7 +947,6 @@ |
|
|
#endif |
|
|
#endif |
|
|
#endif |
|
|
#endif |
|
|
|
|
|
|
|
|
//@ was set too fast
|
|
|
|
|
|
// Change values more rapidly when the encoder is rotated faster
|
|
|
// Change values more rapidly when the encoder is rotated faster
|
|
|
#define ENCODER_RATE_MULTIPLIER |
|
|
#define ENCODER_RATE_MULTIPLIER |
|
|
#if ENABLED(ENCODER_RATE_MULTIPLIER) |
|
|
#if ENABLED(ENCODER_RATE_MULTIPLIER) |
|
@ -946,7 +964,6 @@ |
|
|
#if HAS_LCD_MENU |
|
|
#if HAS_LCD_MENU |
|
|
|
|
|
|
|
|
// Include a page of printer information in the LCD Main Menu
|
|
|
// Include a page of printer information in the LCD Main Menu
|
|
|
//@
|
|
|
|
|
|
#define LCD_INFO_MENU |
|
|
#define LCD_INFO_MENU |
|
|
#if ENABLED(LCD_INFO_MENU) |
|
|
#if ENABLED(LCD_INFO_MENU) |
|
|
//#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages
|
|
|
//#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages
|
|
@ -996,8 +1013,11 @@ |
|
|
#if HAS_GRAPHICAL_LCD && EITHER(SDSUPPORT, LCD_SET_PROGRESS_MANUALLY) |
|
|
#if HAS_GRAPHICAL_LCD && EITHER(SDSUPPORT, LCD_SET_PROGRESS_MANUALLY) |
|
|
//#define PRINT_PROGRESS_SHOW_DECIMALS // Show progress with decimal digits
|
|
|
//#define PRINT_PROGRESS_SHOW_DECIMALS // Show progress with decimal digits
|
|
|
//#define SHOW_REMAINING_TIME // Display estimated time to completion
|
|
|
//#define SHOW_REMAINING_TIME // Display estimated time to completion
|
|
|
|
|
|
#if ENABLED(SHOW_REMAINING_TIME) |
|
|
|
|
|
//#define USE_M73_REMAINING_TIME // Use remaining time from M73 command instead of estimation
|
|
|
//#define ROTATE_PROGRESS_DISPLAY // Display (P)rogress, (E)lapsed, and (R)emaining time
|
|
|
//#define ROTATE_PROGRESS_DISPLAY // Display (P)rogress, (E)lapsed, and (R)emaining time
|
|
|
#endif |
|
|
#endif |
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
#if HAS_CHARACTER_LCD && EITHER(SDSUPPORT, LCD_SET_PROGRESS_MANUALLY) |
|
|
#if HAS_CHARACTER_LCD && EITHER(SDSUPPORT, LCD_SET_PROGRESS_MANUALLY) |
|
|
//#define LCD_PROGRESS_BAR // Show a progress bar on HD44780 LCDs for SD printing
|
|
|
//#define LCD_PROGRESS_BAR // Show a progress bar on HD44780 LCDs for SD printing
|
|
@ -1014,7 +1034,7 @@ |
|
|
|
|
|
|
|
|
// The standard SD detect circuit reads LOW when media is inserted and HIGH when empty.
|
|
|
// The standard SD detect circuit reads LOW when media is inserted and HIGH when empty.
|
|
|
// Enable this option and set to HIGH if your SD cards are incorrectly detected.
|
|
|
// Enable this option and set to HIGH if your SD cards are incorrectly detected.
|
|
|
//#define SD_DETECT_STATE HIGH
|
|
|
#define SD_DETECT_STATE HIGH |
|
|
|
|
|
|
|
|
#define SD_FINISHED_STEPPERRELEASE true // Disable steppers when SD Print is finished
|
|
|
#define SD_FINISHED_STEPPERRELEASE true // Disable steppers when SD Print is finished
|
|
|
#define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the Z enabled so your bed stays in place.
|
|
|
#define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the Z enabled so your bed stays in place.
|
|
@ -1171,9 +1191,8 @@ |
|
|
#endif |
|
|
#endif |
|
|
|
|
|
|
|
|
// Add an optimized binary file transfer mode, initiated with 'M28 B1'
|
|
|
// Add an optimized binary file transfer mode, initiated with 'M28 B1'
|
|
|
//#define BINARY_FILE_TRANSFER
|
|
|
#define BINARY_FILE_TRANSFER |
|
|
|
|
|
|
|
|
#if HAS_SDCARD_CONNECTION |
|
|
|
|
|
/**
|
|
|
/**
|
|
|
* Set this option to one of the following (or the board's defaults apply): |
|
|
* Set this option to one of the following (or the board's defaults apply): |
|
|
* |
|
|
* |
|
@ -1184,7 +1203,6 @@ |
|
|
* :[ 'LCD', 'ONBOARD', 'CUSTOM_CABLE' ] |
|
|
* :[ 'LCD', 'ONBOARD', 'CUSTOM_CABLE' ] |
|
|
*/ |
|
|
*/ |
|
|
//#define SDCARD_CONNECTION LCD
|
|
|
//#define SDCARD_CONNECTION LCD
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
#endif // SDSUPPORT
|
|
|
#endif // SDSUPPORT
|
|
|
|
|
|
|
|
@ -1261,13 +1279,12 @@ |
|
|
#define STATUS_HOTEND_ANIM // Use a second bitmap to indicate hotend heating
|
|
|
#define STATUS_HOTEND_ANIM // Use a second bitmap to indicate hotend heating
|
|
|
#define STATUS_BED_ANIM // Use a second bitmap to indicate bed heating
|
|
|
#define STATUS_BED_ANIM // Use a second bitmap to indicate bed heating
|
|
|
#define STATUS_CHAMBER_ANIM // Use a second bitmap to indicate chamber heating
|
|
|
#define STATUS_CHAMBER_ANIM // Use a second bitmap to indicate chamber heating
|
|
|
|
|
|
//#define STATUS_CUTTER_ANIM // Use a second bitmap to indicate spindle / laser active
|
|
|
//#define STATUS_ALT_BED_BITMAP // Use the alternative bed bitmap
|
|
|
//#define STATUS_ALT_BED_BITMAP // Use the alternative bed bitmap
|
|
|
//#define STATUS_ALT_FAN_BITMAP // Use the alternative fan bitmap
|
|
|
//#define STATUS_ALT_FAN_BITMAP // Use the alternative fan bitmap
|
|
|
//#define STATUS_FAN_FRAMES 3 // :[0,1,2,3,4] Number of fan animation frames
|
|
|
//#define STATUS_FAN_FRAMES 3 // :[0,1,2,3,4] Number of fan animation frames
|
|
|
//@
|
|
|
|
|
|
#define STATUS_HEAT_PERCENT // Show heating in a progress bar
|
|
|
#define STATUS_HEAT_PERCENT // Show heating in a progress bar
|
|
|
//#define BOOT_MARLIN_LOGO_SMALL // Show a smaller Marlin logo on the Boot Screen (saving 399 bytes of flash)
|
|
|
//#define BOOT_MARLIN_LOGO_SMALL // Show a smaller Marlin logo on the Boot Screen (saving 399 bytes of flash)
|
|
|
//@ testing
|
|
|
|
|
|
//#define BOOT_MARLIN_LOGO_ANIMATED // Animated Marlin logo. Costs ~3260 (or ~940) bytes of PROGMEM.
|
|
|
//#define BOOT_MARLIN_LOGO_ANIMATED // Animated Marlin logo. Costs ~3260 (or ~940) bytes of PROGMEM.
|
|
|
|
|
|
|
|
|
// Frivolous Game Options
|
|
|
// Frivolous Game Options
|
|
@ -1318,7 +1335,7 @@ |
|
|
//
|
|
|
//
|
|
|
// Touch UI for the FTDI Embedded Video Engine (EVE)
|
|
|
// Touch UI for the FTDI Embedded Video Engine (EVE)
|
|
|
//
|
|
|
//
|
|
|
#if ENABLED(LULZBOT_TOUCH_UI) |
|
|
#if ENABLED(TOUCH_UI_FTDI_EVE) |
|
|
// Display board used
|
|
|
// Display board used
|
|
|
//#define LCD_FTDI_VM800B35A // FTDI 3.5" with FT800 (320x240)
|
|
|
//#define LCD_FTDI_VM800B35A // FTDI 3.5" with FT800 (320x240)
|
|
|
//#define LCD_4DSYSTEMS_4DLCD_FT843 // 4D Systems 4.3" (480x272)
|
|
|
//#define LCD_4DSYSTEMS_4DLCD_FT843 // 4D Systems 4.3" (480x272)
|
|
@ -1335,9 +1352,11 @@ |
|
|
//#define AO_EXP1_PINMAP // AlephObjects CLCD UI EXP1 mapping
|
|
|
//#define AO_EXP1_PINMAP // AlephObjects CLCD UI EXP1 mapping
|
|
|
//#define AO_EXP2_PINMAP // AlephObjects CLCD UI EXP2 mapping
|
|
|
//#define AO_EXP2_PINMAP // AlephObjects CLCD UI EXP2 mapping
|
|
|
//#define CR10_TFT_PINMAP // Rudolph Riedel's CR10 pin mapping
|
|
|
//#define CR10_TFT_PINMAP // Rudolph Riedel's CR10 pin mapping
|
|
|
|
|
|
//#define S6_TFT_PINMAP // FYSETC S6 pin mapping
|
|
|
|
|
|
|
|
|
//#define OTHER_PIN_LAYOUT // Define pins manually below
|
|
|
//#define OTHER_PIN_LAYOUT // Define pins manually below
|
|
|
#if ENABLED(OTHER_PIN_LAYOUT) |
|
|
#if ENABLED(OTHER_PIN_LAYOUT) |
|
|
// The pins for CS and MOD_RESET (PD) must be chosen.
|
|
|
// Pins for CS and MOD_RESET (PD) must be chosen
|
|
|
#define CLCD_MOD_RESET 9 |
|
|
#define CLCD_MOD_RESET 9 |
|
|
#define CLCD_SPI_CS 10 |
|
|
#define CLCD_SPI_CS 10 |
|
|
|
|
|
|
|
@ -1396,6 +1415,9 @@ |
|
|
|
|
|
|
|
|
// Output extra debug info for Touch UI events
|
|
|
// Output extra debug info for Touch UI events
|
|
|
//#define TOUCH_UI_DEBUG
|
|
|
//#define TOUCH_UI_DEBUG
|
|
|
|
|
|
|
|
|
|
|
|
// Developer menu (accessed by touching "About Printer" copyright text)
|
|
|
|
|
|
//#define TOUCH_UI_DEVELOPER_MENU
|
|
|
#endif |
|
|
#endif |
|
|
|
|
|
|
|
|
//
|
|
|
//
|
|
@ -1410,6 +1432,13 @@ |
|
|
#define TFT_BTOKMENU_COLOR COLOR_GREEN // 00010 100010 11111 Cyan
|
|
|
#define TFT_BTOKMENU_COLOR COLOR_GREEN // 00010 100010 11111 Cyan
|
|
|
#endif |
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
// ADC Button Debounce
|
|
|
|
|
|
//
|
|
|
|
|
|
#if HAS_ADC_BUTTONS |
|
|
|
|
|
#define ADC_BUTTON_DEBOUNCE_DELAY 16 // (ms) Increase if buttons bounce or repeat too fast
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
// @section safety
|
|
|
// @section safety
|
|
|
|
|
|
|
|
|
/**
|
|
|
/**
|
|
@ -1435,28 +1464,26 @@ |
|
|
* |
|
|
* |
|
|
* Warning: Does not respect endstops! |
|
|
* Warning: Does not respect endstops! |
|
|
*/ |
|
|
*/ |
|
|
//@
|
|
|
|
|
|
#define BABYSTEPPING |
|
|
#define BABYSTEPPING |
|
|
#if ENABLED(BABYSTEPPING) |
|
|
#if ENABLED(BABYSTEPPING) |
|
|
|
|
|
//#define INTEGRATED_BABYSTEPPING // EXPERIMENTAL integration of babystepping into the Stepper ISR
|
|
|
//#define BABYSTEP_WITHOUT_HOMING
|
|
|
//#define BABYSTEP_WITHOUT_HOMING
|
|
|
//#define BABYSTEP_XY // Also enable X/Y Babystepping. Not supported on DELTA!
|
|
|
//#define BABYSTEP_XY // Also enable X/Y Babystepping. Not supported on DELTA!
|
|
|
//@
|
|
|
|
|
|
#define BABYSTEP_INVERT_Z false // Change if Z babysteps should go the other way
|
|
|
#define BABYSTEP_INVERT_Z false // Change if Z babysteps should go the other way
|
|
|
#define BABYSTEP_MULTIPLICATOR_Z 10 // Babysteps are very small. Increase for faster motion.
|
|
|
#define BABYSTEP_MULTIPLICATOR_Z 10 // Babysteps are very small. Increase for faster motion.
|
|
|
#define BABYSTEP_MULTIPLICATOR_XY 10 |
|
|
#define BABYSTEP_MULTIPLICATOR_XY 10 |
|
|
|
|
|
|
|
|
#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
|
|
|
#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
|
|
|
#if ENABLED(DOUBLECLICK_FOR_Z_BABYSTEPPING) |
|
|
#if ENABLED(DOUBLECLICK_FOR_Z_BABYSTEPPING) |
|
|
#define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
|
|
|
#define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
|
|
|
// Note: Extra time may be added to mitigate controller latency.
|
|
|
// Note: Extra time may be added to mitigate controller latency.
|
|
|
//#define BABYSTEP_ALWAYS_AVAILABLE // Allow babystepping at all times (not just during movement).
|
|
|
//#define BABYSTEP_ALWAYS_AVAILABLE // Allow babystepping at all times (not just during movement).
|
|
|
//@
|
|
|
|
|
|
#define MOVE_Z_WHEN_IDLE // Jump to the move Z menu on doubleclick when printer is idle.
|
|
|
#define MOVE_Z_WHEN_IDLE // Jump to the move Z menu on doubleclick when printer is idle.
|
|
|
#if ENABLED(MOVE_Z_WHEN_IDLE) |
|
|
#if ENABLED(MOVE_Z_WHEN_IDLE) |
|
|
#define MOVE_Z_IDLE_MULTIPLICATOR 1 // Multiply 1mm by this factor for the move step size.
|
|
|
#define MOVE_Z_IDLE_MULTIPLICATOR 1 // Multiply 1mm by this factor for the move step size.
|
|
|
#endif |
|
|
#endif |
|
|
#endif |
|
|
#endif |
|
|
|
|
|
|
|
|
//@
|
|
|
|
|
|
#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
|
|
|
#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
|
|
|
|
|
|
|
|
|
//#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
|
|
|
//#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
|
|
@ -1486,11 +1513,6 @@ |
|
|
*/ |
|
|
*/ |
|
|
#define LIN_ADVANCE |
|
|
#define LIN_ADVANCE |
|
|
#if ENABLED(LIN_ADVANCE) |
|
|
#if ENABLED(LIN_ADVANCE) |
|
|
|
|
|
|
|
|
//@ ~0.8 on my printer for PLA
|
|
|
|
|
|
// K = 0 - but will be activated via gcode filament-type-specific
|
|
|
|
|
|
// extruder seems to rattle quite hard, need to check acc/jerk settings
|
|
|
|
|
|
|
|
|
|
|
|
//#define EXTRA_LIN_ADVANCE_K // Enable for second linear advance constants
|
|
|
//#define EXTRA_LIN_ADVANCE_K // Enable for second linear advance constants
|
|
|
#define LIN_ADVANCE_K 0 // Unit: mm compression per 1mm/s extruder speed
|
|
|
#define LIN_ADVANCE_K 0 // Unit: mm compression per 1mm/s extruder speed
|
|
|
//#define LA_DEBUG // If enabled, this will generate debug information output over USB.
|
|
|
//#define LA_DEBUG // If enabled, this will generate debug information output over USB.
|
|
@ -1515,7 +1537,8 @@ |
|
|
* Override MIN_PROBE_EDGE for each side of the build plate |
|
|
* Override MIN_PROBE_EDGE for each side of the build plate |
|
|
* Useful to get probe points to exact positions on targets or |
|
|
* Useful to get probe points to exact positions on targets or |
|
|
* to allow leveling to avoid plate clamps on only specific |
|
|
* to allow leveling to avoid plate clamps on only specific |
|
|
* sides of the bed. |
|
|
* sides of the bed. With NOZZLE_AS_PROBE negative values are |
|
|
|
|
|
* allowed, to permit probing outside the bed. |
|
|
* |
|
|
* |
|
|
* If you are replacing the prior *_PROBE_BED_POSITION options, |
|
|
* If you are replacing the prior *_PROBE_BED_POSITION options, |
|
|
* LEFT and FRONT values in most cases will map directly over |
|
|
* LEFT and FRONT values in most cases will map directly over |
|
@ -1594,13 +1617,20 @@ |
|
|
|
|
|
|
|
|
// @section extras
|
|
|
// @section extras
|
|
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
// G60/G61 Position Save and Return
|
|
|
|
|
|
//
|
|
|
|
|
|
//#define SAVED_POSITIONS 1 // Each saved position slot costs 12 bytes
|
|
|
|
|
|
|
|
|
//
|
|
|
//
|
|
|
// G2/G3 Arc Support
|
|
|
// G2/G3 Arc Support
|
|
|
//
|
|
|
//
|
|
|
#define ARC_SUPPORT // Disable this feature to save ~3226 bytes
|
|
|
#define ARC_SUPPORT // Disable this feature to save ~3226 bytes
|
|
|
#if ENABLED(ARC_SUPPORT) |
|
|
#if ENABLED(ARC_SUPPORT) |
|
|
#define MM_PER_ARC_SEGMENT 1 // Length of each arc segment
|
|
|
#define MM_PER_ARC_SEGMENT 1 // (mm) Length (or minimum length) of each arc segment
|
|
|
|
|
|
//#define ARC_SEGMENTS_PER_R 1 // Max segment length, MM_PER = Min
|
|
|
#define MIN_ARC_SEGMENTS 24 // Minimum number of segments in a complete circle
|
|
|
#define MIN_ARC_SEGMENTS 24 // Minimum number of segments in a complete circle
|
|
|
|
|
|
//#define ARC_SEGMENTS_PER_SEC 50 // Use feedrate to choose segment length (with MM_PER_ARC_SEGMENT as the minimum)
|
|
|
#define N_ARC_CORRECTION 25 // Number of interpolated segments between corrections
|
|
|
#define N_ARC_CORRECTION 25 // Number of interpolated segments between corrections
|
|
|
//#define ARC_P_CIRCLES // Enable the 'P' parameter to specify complete circles
|
|
|
//#define ARC_P_CIRCLES // Enable the 'P' parameter to specify complete circles
|
|
|
//#define CNC_WORKSPACE_PLANES // Allow G2/G3 to operate in XY, ZX, or YZ planes
|
|
|
//#define CNC_WORKSPACE_PLANES // Allow G2/G3 to operate in XY, ZX, or YZ planes
|
|
@ -1657,10 +1687,10 @@ |
|
|
/**
|
|
|
/**
|
|
|
* Maximum stepping rate (in Hz) the stepper driver allows |
|
|
* Maximum stepping rate (in Hz) the stepper driver allows |
|
|
* If undefined, defaults to 1MHz / (2 * MINIMUM_STEPPER_PULSE) |
|
|
* If undefined, defaults to 1MHz / (2 * MINIMUM_STEPPER_PULSE) |
|
|
|
|
|
* 5000000 : Maximum for TMC2xxx stepper drivers |
|
|
|
|
|
* 1000000 : Maximum for LV8729 stepper driver |
|
|
* 500000 : Maximum for A4988 stepper driver |
|
|
* 500000 : Maximum for A4988 stepper driver |
|
|
* 400000 : Maximum for TMC2xxx stepper drivers |
|
|
|
|
|
* 250000 : Maximum for DRV8825 stepper driver |
|
|
* 250000 : Maximum for DRV8825 stepper driver |
|
|
* 200000 : Maximum for LV8729 stepper driver |
|
|
|
|
|
* 150000 : Maximum for TB6600 stepper driver |
|
|
* 150000 : Maximum for TB6600 stepper driver |
|
|
* 15000 : Maximum for TB6560 stepper driver |
|
|
* 15000 : Maximum for TB6560 stepper driver |
|
|
* |
|
|
* |
|
@ -1700,14 +1730,12 @@ |
|
|
// For debug-echo: 128 bytes for the optimal speed.
|
|
|
// For debug-echo: 128 bytes for the optimal speed.
|
|
|
// Other output doesn't need to be that speedy.
|
|
|
// Other output doesn't need to be that speedy.
|
|
|
// :[0, 2, 4, 8, 16, 32, 64, 128, 256]
|
|
|
// :[0, 2, 4, 8, 16, 32, 64, 128, 256]
|
|
|
// @fixing octoprint connection issues - probably overkill
|
|
|
|
|
|
#define TX_BUFFER_SIZE 32 |
|
|
#define TX_BUFFER_SIZE 32 |
|
|
|
|
|
|
|
|
// Host Receive Buffer Size
|
|
|
// Host Receive Buffer Size
|
|
|
// Without XON/XOFF flow control (see SERIAL_XON_XOFF below) 32 bytes should be enough.
|
|
|
// Without XON/XOFF flow control (see SERIAL_XON_XOFF below) 32 bytes should be enough.
|
|
|
// To use flow control, set this buffer size to at least 1024 bytes.
|
|
|
// To use flow control, set this buffer size to at least 1024 bytes.
|
|
|
// :[0, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048]
|
|
|
// :[0, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048]
|
|
|
// @fixing octoprint connection issues - probably overkill
|
|
|
|
|
|
#define RX_BUFFER_SIZE 1024 |
|
|
#define RX_BUFFER_SIZE 1024 |
|
|
|
|
|
|
|
|
#if RX_BUFFER_SIZE >= 1024 |
|
|
#if RX_BUFFER_SIZE >= 1024 |
|
@ -1802,6 +1830,9 @@ |
|
|
// Z raise distance for tool-change, as needed for some extruders
|
|
|
// Z raise distance for tool-change, as needed for some extruders
|
|
|
#define TOOLCHANGE_ZRAISE 2 // (mm)
|
|
|
#define TOOLCHANGE_ZRAISE 2 // (mm)
|
|
|
//#define TOOLCHANGE_NO_RETURN // Never return to the previous position on tool-change
|
|
|
//#define TOOLCHANGE_NO_RETURN // Never return to the previous position on tool-change
|
|
|
|
|
|
#if ENABLED(TOOLCHANGE_NO_RETURN) |
|
|
|
|
|
//#define EVENT_GCODE_AFTER_TOOLCHANGE "G12X" // G-code to run after tool-change is complete
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
// Retract and prime filament on tool-change
|
|
|
// Retract and prime filament on tool-change
|
|
|
//#define TOOLCHANGE_FILAMENT_SWAP
|
|
|
//#define TOOLCHANGE_FILAMENT_SWAP
|
|
@ -1833,15 +1864,13 @@ |
|
|
* Requires NOZZLE_PARK_FEATURE. |
|
|
* Requires NOZZLE_PARK_FEATURE. |
|
|
* This feature is required for the default FILAMENT_RUNOUT_SCRIPT. |
|
|
* This feature is required for the default FILAMENT_RUNOUT_SCRIPT. |
|
|
*/ |
|
|
*/ |
|
|
//@ 1st measurements - check retraction settings
|
|
|
#define ADVANCED_PAUSE_FEATURE |
|
|
//#define ADVANCED_PAUSE_FEATURE
|
|
|
|
|
|
#if ENABLED(ADVANCED_PAUSE_FEATURE) |
|
|
#if ENABLED(ADVANCED_PAUSE_FEATURE) |
|
|
#define PAUSE_PARK_RETRACT_FEEDRATE 35 // (mm/s) Initial retract feedrate.
|
|
|
#define PAUSE_PARK_RETRACT_FEEDRATE 35 // (mm/s) Initial retract feedrate.
|
|
|
#define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract.
|
|
|
#define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract.
|
|
|
// This short retract is done immediately, before parking the nozzle.
|
|
|
// This short retract is done immediately, before parking the nozzle.
|
|
|
#define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast.
|
|
|
#define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast.
|
|
|
#define FILAMENT_CHANGE_UNLOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate.
|
|
|
#define FILAMENT_CHANGE_UNLOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate.
|
|
|
//#define FILAMENT_CHANGE_UNLOAD_LENGTH 650
|
|
|
|
|
|
#define FILAMENT_CHANGE_UNLOAD_LENGTH 710 // (mm) The length of filament for a complete unload.
|
|
|
#define FILAMENT_CHANGE_UNLOAD_LENGTH 710 // (mm) The length of filament for a complete unload.
|
|
|
// For Bowden, the full length of the tube and nozzle.
|
|
|
// For Bowden, the full length of the tube and nozzle.
|
|
|
// For direct drive, the full length of the nozzle.
|
|
|
// For direct drive, the full length of the nozzle.
|
|
@ -1851,7 +1880,6 @@ |
|
|
// 0 to disable start loading and skip to fast load only
|
|
|
// 0 to disable start loading and skip to fast load only
|
|
|
#define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast.
|
|
|
#define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast.
|
|
|
#define FILAMENT_CHANGE_FAST_LOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate.
|
|
|
#define FILAMENT_CHANGE_FAST_LOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate.
|
|
|
//#define FILAMENT_CHANGE_FAST_LOAD_LENGTH 615
|
|
|
|
|
|
#define FILAMENT_CHANGE_FAST_LOAD_LENGTH 710 // (mm) Load length of filament, from extruder gear to nozzle.
|
|
|
#define FILAMENT_CHANGE_FAST_LOAD_LENGTH 710 // (mm) Load length of filament, from extruder gear to nozzle.
|
|
|
// For Bowden, the full length of the tube and nozzle.
|
|
|
// For Bowden, the full length of the tube and nozzle.
|
|
|
// For direct drive, the full length of the nozzle.
|
|
|
// For direct drive, the full length of the nozzle.
|
|
@ -1865,9 +1893,10 @@ |
|
|
#define ADVANCED_PAUSE_FANS_PAUSE // Turn off print-cooling fans while the machine is paused.
|
|
|
#define ADVANCED_PAUSE_FANS_PAUSE // Turn off print-cooling fans while the machine is paused.
|
|
|
|
|
|
|
|
|
// Filament Unload does a Retract, Delay, and Purge first:
|
|
|
// Filament Unload does a Retract, Delay, and Purge first:
|
|
|
#define FILAMENT_UNLOAD_RETRACT_LENGTH 10 // (mm) Unload initial retract length.
|
|
|
#define FILAMENT_UNLOAD_PURGE_RETRACT 10 // (mm) Unload initial retract length.
|
|
|
#define FILAMENT_UNLOAD_DELAY 750 // (ms) Delay for the filament to cool after retract.
|
|
|
#define FILAMENT_UNLOAD_PURGE_DELAY 750 // (ms) Delay for the filament to cool after retract.
|
|
|
#define FILAMENT_UNLOAD_PURGE_LENGTH 3 // (mm) An unretract is done, then this length is purged.
|
|
|
#define FILAMENT_UNLOAD_PURGE_LENGTH 3 // (mm) An unretract is done, then this length is purged.
|
|
|
|
|
|
#define FILAMENT_UNLOAD_PURGE_FEEDRATE 25 // (mm/s) feedrate to purge before unload
|
|
|
|
|
|
|
|
|
#define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety.
|
|
|
#define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety.
|
|
|
#define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed.
|
|
|
#define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed.
|
|
@ -1876,7 +1905,6 @@ |
|
|
#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change.
|
|
|
#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change.
|
|
|
#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change
|
|
|
#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change
|
|
|
|
|
|
|
|
|
// makes more sense
|
|
|
|
|
|
#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu.
|
|
|
#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu.
|
|
|
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
|
|
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
|
|
#endif |
|
|
#endif |
|
@ -1933,6 +1961,12 @@ |
|
|
#define Z3_MICROSTEPS 16 |
|
|
#define Z3_MICROSTEPS 16 |
|
|
#endif |
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
#if AXIS_DRIVER_TYPE_Z4(TMC26X) |
|
|
|
|
|
#define Z4_MAX_CURRENT 1000 |
|
|
|
|
|
#define Z4_SENSE_RESISTOR 91 |
|
|
|
|
|
#define Z4_MICROSTEPS 16 |
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
#if AXIS_DRIVER_TYPE_E0(TMC26X) |
|
|
#if AXIS_DRIVER_TYPE_E0(TMC26X) |
|
|
#define E0_MAX_CURRENT 1000 |
|
|
#define E0_MAX_CURRENT 1000 |
|
|
#define E0_SENSE_RESISTOR 91 |
|
|
#define E0_SENSE_RESISTOR 91 |
|
@ -1969,6 +2003,18 @@ |
|
|
#define E5_MICROSTEPS 16 |
|
|
#define E5_MICROSTEPS 16 |
|
|
#endif |
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
#if AXIS_DRIVER_TYPE_E6(TMC26X) |
|
|
|
|
|
#define E6_MAX_CURRENT 1000 |
|
|
|
|
|
#define E6_SENSE_RESISTOR 91 |
|
|
|
|
|
#define E6_MICROSTEPS 16 |
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
#if AXIS_DRIVER_TYPE_E7(TMC26X) |
|
|
|
|
|
#define E7_MAX_CURRENT 1000 |
|
|
|
|
|
#define E7_SENSE_RESISTOR 91 |
|
|
|
|
|
#define E7_MICROSTEPS 16 |
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
#endif // TMC26X
|
|
|
#endif // TMC26X
|
|
|
|
|
|
|
|
|
// @section tmc_smart
|
|
|
// @section tmc_smart
|
|
@ -1996,6 +2042,7 @@ |
|
|
|
|
|
|
|
|
#if AXIS_IS_TMC(X) |
|
|
#if AXIS_IS_TMC(X) |
|
|
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
|
|
|
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
|
|
|
|
|
|
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
|
|
#define X_MICROSTEPS 16 // 0..256
|
|
|
#define X_MICROSTEPS 16 // 0..256
|
|
|
#define X_RSENSE 0.11 |
|
|
#define X_RSENSE 0.11 |
|
|
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
|
|
|
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
|
|
@ -2003,6 +2050,7 @@ |
|
|
|
|
|
|
|
|
#if AXIS_IS_TMC(X2) |
|
|
#if AXIS_IS_TMC(X2) |
|
|
#define X2_CURRENT 800 |
|
|
#define X2_CURRENT 800 |
|
|
|
|
|
#define X2_CURRENT_HOME X2_CURRENT |
|
|
#define X2_MICROSTEPS 16 |
|
|
#define X2_MICROSTEPS 16 |
|
|
#define X2_RSENSE 0.11 |
|
|
#define X2_RSENSE 0.11 |
|
|
#define X2_CHAIN_POS -1 |
|
|
#define X2_CHAIN_POS -1 |
|
@ -2010,6 +2058,7 @@ |
|
|
|
|
|
|
|
|
#if AXIS_IS_TMC(Y) |
|
|
#if AXIS_IS_TMC(Y) |
|
|
#define Y_CURRENT 800 |
|
|
#define Y_CURRENT 800 |
|
|
|
|
|
#define Y_CURRENT_HOME Y_CURRENT |
|
|
#define Y_MICROSTEPS 16 |
|
|
#define Y_MICROSTEPS 16 |
|
|
#define Y_RSENSE 0.11 |
|
|
#define Y_RSENSE 0.11 |
|
|
#define Y_CHAIN_POS -1 |
|
|
#define Y_CHAIN_POS -1 |
|
@ -2017,6 +2066,7 @@ |
|
|
|
|
|
|
|
|
#if AXIS_IS_TMC(Y2) |
|
|
#if AXIS_IS_TMC(Y2) |
|
|
#define Y2_CURRENT 800 |
|
|
#define Y2_CURRENT 800 |
|
|
|
|
|
#define Y2_CURRENT_HOME Y2_CURRENT |
|
|
#define Y2_MICROSTEPS 16 |
|
|
#define Y2_MICROSTEPS 16 |
|
|
#define Y2_RSENSE 0.11 |
|
|
#define Y2_RSENSE 0.11 |
|
|
#define Y2_CHAIN_POS -1 |
|
|
#define Y2_CHAIN_POS -1 |
|
@ -2024,6 +2074,7 @@ |
|
|
|
|
|
|
|
|
#if AXIS_IS_TMC(Z) |
|
|
#if AXIS_IS_TMC(Z) |
|
|
#define Z_CURRENT 800 |
|
|
#define Z_CURRENT 800 |
|
|
|
|
|
#define Z_CURRENT_HOME Z_CURRENT |
|
|
#define Z_MICROSTEPS 16 |
|
|
#define Z_MICROSTEPS 16 |
|
|
#define Z_RSENSE 0.11 |
|
|
#define Z_RSENSE 0.11 |
|
|
#define Z_CHAIN_POS -1 |
|
|
#define Z_CHAIN_POS -1 |
|
@ -2031,6 +2082,7 @@ |
|
|
|
|
|
|
|
|
#if AXIS_IS_TMC(Z2) |
|
|
#if AXIS_IS_TMC(Z2) |
|
|
#define Z2_CURRENT 800 |
|
|
#define Z2_CURRENT 800 |
|
|
|
|
|
#define Z2_CURRENT_HOME Z2_CURRENT |
|
|
#define Z2_MICROSTEPS 16 |
|
|
#define Z2_MICROSTEPS 16 |
|
|
#define Z2_RSENSE 0.11 |
|
|
#define Z2_RSENSE 0.11 |
|
|
#define Z2_CHAIN_POS -1 |
|
|
#define Z2_CHAIN_POS -1 |
|
@ -2038,11 +2090,20 @@ |
|
|
|
|
|
|
|
|
#if AXIS_IS_TMC(Z3) |
|
|
#if AXIS_IS_TMC(Z3) |
|
|
#define Z3_CURRENT 800 |
|
|
#define Z3_CURRENT 800 |
|
|
|
|
|
#define Z3_CURRENT_HOME Z3_CURRENT |
|
|
#define Z3_MICROSTEPS 16 |
|
|
#define Z3_MICROSTEPS 16 |
|
|
#define Z3_RSENSE 0.11 |
|
|
#define Z3_RSENSE 0.11 |
|
|
#define Z3_CHAIN_POS -1 |
|
|
#define Z3_CHAIN_POS -1 |
|
|
#endif |
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
#if AXIS_IS_TMC(Z4) |
|
|
|
|
|
#define Z4_CURRENT 800 |
|
|
|
|
|
#define Z4_CURRENT_HOME Z4_CURRENT |
|
|
|
|
|
#define Z4_MICROSTEPS 16 |
|
|
|
|
|
#define Z4_RSENSE 0.11 |
|
|
|
|
|
#define Z4_CHAIN_POS -1 |
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
#if AXIS_IS_TMC(E0) |
|
|
#if AXIS_IS_TMC(E0) |
|
|
#define E0_CURRENT 800 |
|
|
#define E0_CURRENT 800 |
|
|
#define E0_MICROSTEPS 16 |
|
|
#define E0_MICROSTEPS 16 |
|
@ -2085,6 +2146,20 @@ |
|
|
#define E5_CHAIN_POS -1 |
|
|
#define E5_CHAIN_POS -1 |
|
|
#endif |
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
#if AXIS_IS_TMC(E6) |
|
|
|
|
|
#define E6_CURRENT 800 |
|
|
|
|
|
#define E6_MICROSTEPS 16 |
|
|
|
|
|
#define E6_RSENSE 0.11 |
|
|
|
|
|
#define E6_CHAIN_POS -1 |
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
#if AXIS_IS_TMC(E7) |
|
|
|
|
|
#define E7_CURRENT 800 |
|
|
|
|
|
#define E7_MICROSTEPS 16 |
|
|
|
|
|
#define E7_RSENSE 0.11 |
|
|
|
|
|
#define E7_CHAIN_POS -1 |
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
/**
|
|
|
/**
|
|
|
* Override default SPI pins for TMC2130, TMC2160, TMC2660, TMC5130 and TMC5160 drivers here. |
|
|
* Override default SPI pins for TMC2130, TMC2160, TMC2660, TMC5130 and TMC5160 drivers here. |
|
|
* The default pins can be found in your board's pins file. |
|
|
* The default pins can be found in your board's pins file. |
|
@ -2102,6 +2177,8 @@ |
|
|
//#define E3_CS_PIN -1
|
|
|
//#define E3_CS_PIN -1
|
|
|
//#define E4_CS_PIN -1
|
|
|
//#define E4_CS_PIN -1
|
|
|
//#define E5_CS_PIN -1
|
|
|
//#define E5_CS_PIN -1
|
|
|
|
|
|
//#define E6_CS_PIN -1
|
|
|
|
|
|
//#define E7_CS_PIN -1
|
|
|
|
|
|
|
|
|
/**
|
|
|
/**
|
|
|
* Software option for SPI driven drivers (TMC2130, TMC2160, TMC2660, TMC5130 and TMC5160). |
|
|
* Software option for SPI driven drivers (TMC2130, TMC2160, TMC2660, TMC5130 and TMC5160). |
|
@ -2132,12 +2209,15 @@ |
|
|
#define Y2_SLAVE_ADDRESS 0 |
|
|
#define Y2_SLAVE_ADDRESS 0 |
|
|
#define Z2_SLAVE_ADDRESS 0 |
|
|
#define Z2_SLAVE_ADDRESS 0 |
|
|
#define Z3_SLAVE_ADDRESS 0 |
|
|
#define Z3_SLAVE_ADDRESS 0 |
|
|
|
|
|
#define Z4_SLAVE_ADDRESS 0 |
|
|
#define E0_SLAVE_ADDRESS 0 |
|
|
#define E0_SLAVE_ADDRESS 0 |
|
|
#define E1_SLAVE_ADDRESS 0 |
|
|
#define E1_SLAVE_ADDRESS 0 |
|
|
#define E2_SLAVE_ADDRESS 0 |
|
|
#define E2_SLAVE_ADDRESS 0 |
|
|
#define E3_SLAVE_ADDRESS 0 |
|
|
#define E3_SLAVE_ADDRESS 0 |
|
|
#define E4_SLAVE_ADDRESS 0 |
|
|
#define E4_SLAVE_ADDRESS 0 |
|
|
#define E5_SLAVE_ADDRESS 0 |
|
|
#define E5_SLAVE_ADDRESS 0 |
|
|
|
|
|
#define E6_SLAVE_ADDRESS 0 |
|
|
|
|
|
#define E7_SLAVE_ADDRESS 0 |
|
|
|
|
|
|
|
|
/**
|
|
|
/**
|
|
|
* Software enable |
|
|
* Software enable |
|
@ -2207,12 +2287,15 @@ |
|
|
#define Z_HYBRID_THRESHOLD 3 |
|
|
#define Z_HYBRID_THRESHOLD 3 |
|
|
#define Z2_HYBRID_THRESHOLD 3 |
|
|
#define Z2_HYBRID_THRESHOLD 3 |
|
|
#define Z3_HYBRID_THRESHOLD 3 |
|
|
#define Z3_HYBRID_THRESHOLD 3 |
|
|
|
|
|
#define Z4_HYBRID_THRESHOLD 3 |
|
|
#define E0_HYBRID_THRESHOLD 30 |
|
|
#define E0_HYBRID_THRESHOLD 30 |
|
|
#define E1_HYBRID_THRESHOLD 30 |
|
|
#define E1_HYBRID_THRESHOLD 30 |
|
|
#define E2_HYBRID_THRESHOLD 30 |
|
|
#define E2_HYBRID_THRESHOLD 30 |
|
|
#define E3_HYBRID_THRESHOLD 30 |
|
|
#define E3_HYBRID_THRESHOLD 30 |
|
|
#define E4_HYBRID_THRESHOLD 30 |
|
|
#define E4_HYBRID_THRESHOLD 30 |
|
|
#define E5_HYBRID_THRESHOLD 30 |
|
|
#define E5_HYBRID_THRESHOLD 30 |
|
|
|
|
|
#define E6_HYBRID_THRESHOLD 30 |
|
|
|
|
|
#define E7_HYBRID_THRESHOLD 30 |
|
|
|
|
|
|
|
|
/**
|
|
|
/**
|
|
|
* Use StallGuard2 to home / probe X, Y, Z. |
|
|
* Use StallGuard2 to home / probe X, Y, Z. |
|
@ -2236,8 +2319,6 @@ |
|
|
* |
|
|
* |
|
|
* IMPROVE_HOMING_RELIABILITY tunes acceleration and jerk when |
|
|
* IMPROVE_HOMING_RELIABILITY tunes acceleration and jerk when |
|
|
* homing and adds a guard period for endstop triggering. |
|
|
* homing and adds a guard period for endstop triggering. |
|
|
* |
|
|
|
|
|
* TMC2209 requires STEALTHCHOP enabled for SENSORLESS_HOMING |
|
|
|
|
|
*/ |
|
|
*/ |
|
|
//#define SENSORLESS_HOMING // StallGuard capable drivers only
|
|
|
//#define SENSORLESS_HOMING // StallGuard capable drivers only
|
|
|
|
|
|
|
|
@ -2270,20 +2351,20 @@ |
|
|
* |
|
|
* |
|
|
* Example: |
|
|
* Example: |
|
|
* #define TMC_ADV() { \ |
|
|
* #define TMC_ADV() { \ |
|
|
* stepperX.diag0_temp_prewarn(1); \ |
|
|
* stepperX.diag0_otpw(1); \ |
|
|
* stepperY.interpolate(0); \ |
|
|
* stepperY.intpol(0); \ |
|
|
* } |
|
|
* } |
|
|
*/ |
|
|
*/ |
|
|
#define TMC_ADV() { } |
|
|
#define TMC_ADV() { } |
|
|
|
|
|
|
|
|
#endif // HAS_TRINAMIC_CONFIG
|
|
|
#endif // HAS_TRINAMIC_CONFIG
|
|
|
|
|
|
|
|
|
// @section L6470
|
|
|
// @section L64XX
|
|
|
|
|
|
|
|
|
/**
|
|
|
/**
|
|
|
* L6470 Stepper Driver options |
|
|
* L64XX Stepper Driver options |
|
|
* |
|
|
* |
|
|
* Arduino-L6470 library (0.7.0 or higher) is required for this stepper driver. |
|
|
* Arduino-L6470 library (0.8.0 or higher) is required. |
|
|
* https://github.com/ameyer/Arduino-L6470
|
|
|
* https://github.com/ameyer/Arduino-L6470
|
|
|
* |
|
|
* |
|
|
* Requires the following to be defined in your pins_YOUR_BOARD file |
|
|
* Requires the following to be defined in your pins_YOUR_BOARD file |
|
@ -2291,114 +2372,160 @@ |
|
|
* L6470_CHAIN_MISO_PIN |
|
|
* L6470_CHAIN_MISO_PIN |
|
|
* L6470_CHAIN_MOSI_PIN |
|
|
* L6470_CHAIN_MOSI_PIN |
|
|
* L6470_CHAIN_SS_PIN |
|
|
* L6470_CHAIN_SS_PIN |
|
|
* L6470_RESET_CHAIN_PIN (optional) |
|
|
* ENABLE_RESET_L64XX_CHIPS(Q) where Q is 1 to enable and 0 to reset |
|
|
*/ |
|
|
*/ |
|
|
#if HAS_DRIVER(L6470) |
|
|
|
|
|
|
|
|
#if HAS_L64XX |
|
|
|
|
|
|
|
|
//#define L6470_CHITCHAT // Display additional status info
|
|
|
//#define L6470_CHITCHAT // Display additional status info
|
|
|
|
|
|
|
|
|
#if AXIS_DRIVER_TYPE_X(L6470) |
|
|
#if AXIS_IS_L64XX(X) |
|
|
#define X_MICROSTEPS 128 // Number of microsteps (VALID: 1, 2, 4, 8, 16, 32, 128)
|
|
|
#define X_MICROSTEPS 128 // Number of microsteps (VALID: 1, 2, 4, 8, 16, 32, 128) - L6474 max is 16
|
|
|
#define X_OVERCURRENT 2000 // (mA) Current where the driver detects an over current (VALID: 375 x (1 - 16) - 6A max - rounds down)
|
|
|
#define X_OVERCURRENT 2000 // (mA) Current where the driver detects an over current
|
|
|
|
|
|
// L6470 & L6474 - VALID: 375 x (1 - 16) - 6A max - rounds down
|
|
|
|
|
|
// POWERSTEP01: VALID: 1000 x (1 - 32) - 32A max - rounds down
|
|
|
#define X_STALLCURRENT 1500 // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) - 4A max - rounds down)
|
|
|
#define X_STALLCURRENT 1500 // (mA) Current where the driver detects a stall (VALID: 31.25 * (1-128) - 4A max - rounds down)
|
|
|
#define X_MAX_VOLTAGE 127 // 0-255, Maximum effective voltage seen by stepper
|
|
|
// L6470 & L6474 - VALID: 31.25 * (1-128) - 4A max - rounds down
|
|
|
#define X_CHAIN_POS -1 // Position in SPI chain. (<=0 : Not in chain. 1 : Nearest MOSI)
|
|
|
// POWERSTEP01: VALID: 200 x (1 - 32) - 6.4A max - rounds down
|
|
|
|
|
|
// L6474 - STALLCURRENT setting is used to set the nominal (TVAL) current
|
|
|
|
|
|
#define X_MAX_VOLTAGE 127 // 0-255, Maximum effective voltage seen by stepper - not used by L6474
|
|
|
|
|
|
#define X_CHAIN_POS -1 // Position in SPI chain, 0=Not in chain, 1=Nearest MOSI
|
|
|
|
|
|
#define X_SLEW_RATE 1 // 0-3, Slew 0 is slowest, 3 is fastest
|
|
|
#endif |
|
|
#endif |
|
|
|
|
|
|
|
|
#if AXIS_DRIVER_TYPE_X2(L6470) |
|
|
#if AXIS_IS_L64XX(X2) |
|
|
#define X2_MICROSTEPS 128 |
|
|
#define X2_MICROSTEPS 128 |
|
|
#define X2_OVERCURRENT 2000 |
|
|
#define X2_OVERCURRENT 2000 |
|
|
#define X2_STALLCURRENT 1500 |
|
|
#define X2_STALLCURRENT 1500 |
|
|
#define X2_MAX_VOLTAGE 127 |
|
|
#define X2_MAX_VOLTAGE 127 |
|
|
#define X2_CHAIN_POS -1 |
|
|
#define X2_CHAIN_POS -1 |
|
|
|
|
|
#define X2_SLEW_RATE 1 |
|
|
#endif |
|
|
#endif |
|
|
|
|
|
|
|
|
#if AXIS_DRIVER_TYPE_Y(L6470) |
|
|
#if AXIS_IS_L64XX(Y) |
|
|
#define Y_MICROSTEPS 128 |
|
|
#define Y_MICROSTEPS 128 |
|
|
#define Y_OVERCURRENT 2000 |
|
|
#define Y_OVERCURRENT 2000 |
|
|
#define Y_STALLCURRENT 1500 |
|
|
#define Y_STALLCURRENT 1500 |
|
|
#define Y_MAX_VOLTAGE 127 |
|
|
#define Y_MAX_VOLTAGE 127 |
|
|
#define Y_CHAIN_POS -1 |
|
|
#define Y_CHAIN_POS -1 |
|
|
|
|
|
#define Y_SLEW_RATE 1 |
|
|
#endif |
|
|
#endif |
|
|
|
|
|
|
|
|
#if AXIS_DRIVER_TYPE_Y2(L6470) |
|
|
#if AXIS_IS_L64XX(Y2) |
|
|
#define Y2_MICROSTEPS 128 |
|
|
#define Y2_MICROSTEPS 128 |
|
|
#define Y2_OVERCURRENT 2000 |
|
|
#define Y2_OVERCURRENT 2000 |
|
|
#define Y2_STALLCURRENT 1500 |
|
|
#define Y2_STALLCURRENT 1500 |
|
|
#define Y2_MAX_VOLTAGE 127 |
|
|
#define Y2_MAX_VOLTAGE 127 |
|
|
#define Y2_CHAIN_POS -1 |
|
|
#define Y2_CHAIN_POS -1 |
|
|
|
|
|
#define Y2_SLEW_RATE 1 |
|
|
#endif |
|
|
#endif |
|
|
|
|
|
|
|
|
#if AXIS_DRIVER_TYPE_Z(L6470) |
|
|
#if AXIS_IS_L64XX(Z) |
|
|
#define Z_MICROSTEPS 128 |
|
|
#define Z_MICROSTEPS 128 |
|
|
#define Z_OVERCURRENT 2000 |
|
|
#define Z_OVERCURRENT 2000 |
|
|
#define Z_STALLCURRENT 1500 |
|
|
#define Z_STALLCURRENT 1500 |
|
|
#define Z_MAX_VOLTAGE 127 |
|
|
#define Z_MAX_VOLTAGE 127 |
|
|
#define Z_CHAIN_POS -1 |
|
|
#define Z_CHAIN_POS -1 |
|
|
|
|
|
#define Z_SLEW_RATE 1 |
|
|
#endif |
|
|
#endif |
|
|
|
|
|
|
|
|
#if AXIS_DRIVER_TYPE_Z2(L6470) |
|
|
#if AXIS_IS_L64XX(Z2) |
|
|
#define Z2_MICROSTEPS 128 |
|
|
#define Z2_MICROSTEPS 128 |
|
|
#define Z2_OVERCURRENT 2000 |
|
|
#define Z2_OVERCURRENT 2000 |
|
|
#define Z2_STALLCURRENT 1500 |
|
|
#define Z2_STALLCURRENT 1500 |
|
|
#define Z2_MAX_VOLTAGE 127 |
|
|
#define Z2_MAX_VOLTAGE 127 |
|
|
#define Z2_CHAIN_POS -1 |
|
|
#define Z2_CHAIN_POS -1 |
|
|
|
|
|
#define Z2_SLEW_RATE 1 |
|
|
#endif |
|
|
#endif |
|
|
|
|
|
|
|
|
#if AXIS_DRIVER_TYPE_Z3(L6470) |
|
|
#if AXIS_IS_L64XX(Z3) |
|
|
#define Z3_MICROSTEPS 128 |
|
|
#define Z3_MICROSTEPS 128 |
|
|
#define Z3_OVERCURRENT 2000 |
|
|
#define Z3_OVERCURRENT 2000 |
|
|
#define Z3_STALLCURRENT 1500 |
|
|
#define Z3_STALLCURRENT 1500 |
|
|
#define Z3_MAX_VOLTAGE 127 |
|
|
#define Z3_MAX_VOLTAGE 127 |
|
|
#define Z3_CHAIN_POS -1 |
|
|
#define Z3_CHAIN_POS -1 |
|
|
|
|
|
#define Z3_SLEW_RATE 1 |
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
#if AXIS_IS_L64XX(Z4) |
|
|
|
|
|
#define Z4_MICROSTEPS 128 |
|
|
|
|
|
#define Z4_OVERCURRENT 2000 |
|
|
|
|
|
#define Z4_STALLCURRENT 1500 |
|
|
|
|
|
#define Z4_MAX_VOLTAGE 127 |
|
|
|
|
|
#define Z4_CHAIN_POS -1 |
|
|
|
|
|
#define Z4_SLEW_RATE 1 |
|
|
#endif |
|
|
#endif |
|
|
|
|
|
|
|
|
#if AXIS_DRIVER_TYPE_E0(L6470) |
|
|
#if AXIS_IS_L64XX(E0) |
|
|
#define E0_MICROSTEPS 128 |
|
|
#define E0_MICROSTEPS 128 |
|
|
#define E0_OVERCURRENT 2000 |
|
|
#define E0_OVERCURRENT 2000 |
|
|
#define E0_STALLCURRENT 1500 |
|
|
#define E0_STALLCURRENT 1500 |
|
|
#define E0_MAX_VOLTAGE 127 |
|
|
#define E0_MAX_VOLTAGE 127 |
|
|
#define E0_CHAIN_POS -1 |
|
|
#define E0_CHAIN_POS -1 |
|
|
|
|
|
#define E0_SLEW_RATE 1 |
|
|
#endif |
|
|
#endif |
|
|
|
|
|
|
|
|
#if AXIS_DRIVER_TYPE_E1(L6470) |
|
|
#if AXIS_IS_L64XX(E1) |
|
|
#define E1_MICROSTEPS 128 |
|
|
#define E1_MICROSTEPS 128 |
|
|
#define E1_OVERCURRENT 2000 |
|
|
#define E1_OVERCURRENT 2000 |
|
|
#define E1_STALLCURRENT 1500 |
|
|
#define E1_STALLCURRENT 1500 |
|
|
#define E1_MAX_VOLTAGE 127 |
|
|
#define E1_MAX_VOLTAGE 127 |
|
|
#define E1_CHAIN_POS -1 |
|
|
#define E1_CHAIN_POS -1 |
|
|
|
|
|
#define E1_SLEW_RATE 1 |
|
|
#endif |
|
|
#endif |
|
|
|
|
|
|
|
|
#if AXIS_DRIVER_TYPE_E2(L6470) |
|
|
#if AXIS_IS_L64XX(E2) |
|
|
#define E2_MICROSTEPS 128 |
|
|
#define E2_MICROSTEPS 128 |
|
|
#define E2_OVERCURRENT 2000 |
|
|
#define E2_OVERCURRENT 2000 |
|
|
#define E2_STALLCURRENT 1500 |
|
|
#define E2_STALLCURRENT 1500 |
|
|
#define E2_MAX_VOLTAGE 127 |
|
|
#define E2_MAX_VOLTAGE 127 |
|
|
#define E2_CHAIN_POS -1 |
|
|
#define E2_CHAIN_POS -1 |
|
|
|
|
|
#define E2_SLEW_RATE 1 |
|
|
#endif |
|
|
#endif |
|
|
|
|
|
|
|
|
#if AXIS_DRIVER_TYPE_E3(L6470) |
|
|
#if AXIS_IS_L64XX(E3) |
|
|
#define E3_MICROSTEPS 128 |
|
|
#define E3_MICROSTEPS 128 |
|
|
#define E3_OVERCURRENT 2000 |
|
|
#define E3_OVERCURRENT 2000 |
|
|
#define E3_STALLCURRENT 1500 |
|
|
#define E3_STALLCURRENT 1500 |
|
|
#define E3_MAX_VOLTAGE 127 |
|
|
#define E3_MAX_VOLTAGE 127 |
|
|
#define E3_CHAIN_POS -1 |
|
|
#define E3_CHAIN_POS -1 |
|
|
|
|
|
#define E3_SLEW_RATE 1 |
|
|
#endif |
|
|
#endif |
|
|
|
|
|
|
|
|
#if AXIS_DRIVER_TYPE_E4(L6470) |
|
|
#if AXIS_IS_L64XX(E4) |
|
|
#define E4_MICROSTEPS 128 |
|
|
#define E4_MICROSTEPS 128 |
|
|
#define E4_OVERCURRENT 2000 |
|
|
#define E4_OVERCURRENT 2000 |
|
|
#define E4_STALLCURRENT 1500 |
|
|
#define E4_STALLCURRENT 1500 |
|
|
#define E4_MAX_VOLTAGE 127 |
|
|
#define E4_MAX_VOLTAGE 127 |
|
|
#define E4_CHAIN_POS -1 |
|
|
#define E4_CHAIN_POS -1 |
|
|
|
|
|
#define E4_SLEW_RATE 1 |
|
|
#endif |
|
|
#endif |
|
|
|
|
|
|
|
|
#if AXIS_DRIVER_TYPE_E5(L6470) |
|
|
#if AXIS_IS_L64XX(E5) |
|
|
#define E5_MICROSTEPS 128 |
|
|
#define E5_MICROSTEPS 128 |
|
|
#define E5_OVERCURRENT 2000 |
|
|
#define E5_OVERCURRENT 2000 |
|
|
#define E5_STALLCURRENT 1500 |
|
|
#define E5_STALLCURRENT 1500 |
|
|
#define E5_MAX_VOLTAGE 127 |
|
|
#define E5_MAX_VOLTAGE 127 |
|
|
#define E5_CHAIN_POS -1 |
|
|
#define E5_CHAIN_POS -1 |
|
|
|
|
|
#define E5_SLEW_RATE 1 |
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
#if AXIS_IS_L64XX(E6) |
|
|
|
|
|
#define E6_MICROSTEPS 128 |
|
|
|
|
|
#define E6_OVERCURRENT 2000 |
|
|
|
|
|
#define E6_STALLCURRENT 1500 |
|
|
|
|
|
#define E6_MAX_VOLTAGE 127 |
|
|
|
|
|
#define E6_CHAIN_POS -1 |
|
|
|
|
|
#define E6_SLEW_RATE 1 |
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
#if AXIS_IS_L64XX(E7) |
|
|
|
|
|
#define E7_MICROSTEPS 128 |
|
|
|
|
|
#define E7_OVERCURRENT 2000 |
|
|
|
|
|
#define E7_STALLCURRENT 1500 |
|
|
|
|
|
#define E7_MAX_VOLTAGE 127 |
|
|
|
|
|
#define E7_CHAIN_POS -1 |
|
|
|
|
|
#define E7_SLEW_RATE 1 |
|
|
#endif |
|
|
#endif |
|
|
|
|
|
|
|
|
/**
|
|
|
/**
|
|
@ -2410,7 +2537,7 @@ |
|
|
* I not present or I0 or I1 - X, Y, Z or E0 |
|
|
* I not present or I0 or I1 - X, Y, Z or E0 |
|
|
* I2 - X2, Y2, Z2 or E1 |
|
|
* I2 - X2, Y2, Z2 or E1 |
|
|
* I3 - Z3 or E3 |
|
|
* I3 - Z3 or E3 |
|
|
* I4 - E4 |
|
|
* I4 - Z4 or E4 |
|
|
* I5 - E5 |
|
|
* I5 - E5 |
|
|
* M916 - Increase drive level until get thermal warning |
|
|
* M916 - Increase drive level until get thermal warning |
|
|
* M917 - Find minimum current thresholds |
|
|
* M917 - Find minimum current thresholds |
|
@ -2424,7 +2551,15 @@ |
|
|
//#define L6470_STOP_ON_ERROR
|
|
|
//#define L6470_STOP_ON_ERROR
|
|
|
#endif |
|
|
#endif |
|
|
|
|
|
|
|
|
#endif // L6470
|
|
|
#endif // HAS_L64XX
|
|
|
|
|
|
|
|
|
|
|
|
// @section i2cbus
|
|
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
// I2C Master ID for LPC176x LCD and Digital Current control
|
|
|
|
|
|
// Does not apply to other peripherals based on the Wire library.
|
|
|
|
|
|
//
|
|
|
|
|
|
//#define I2C_MASTER_ID 1 // Set a value from 0 to 2
|
|
|
|
|
|
|
|
|
/**
|
|
|
/**
|
|
|
* TWI/I2C BUS |
|
|
* TWI/I2C BUS |
|
@ -2454,10 +2589,10 @@ |
|
|
* echo:i2c-reply: from:99 bytes:5 data:hello |
|
|
* echo:i2c-reply: from:99 bytes:5 data:hello |
|
|
*/ |
|
|
*/ |
|
|
|
|
|
|
|
|
// @section i2cbus
|
|
|
|
|
|
|
|
|
|
|
|
//#define EXPERIMENTAL_I2CBUS
|
|
|
//#define EXPERIMENTAL_I2CBUS
|
|
|
#define I2C_SLAVE_ADDRESS 0 // Set a value from 8 to 127 to act as a slave
|
|
|
#if ENABLED(EXPERIMENTAL_I2CBUS) |
|
|
|
|
|
#define I2C_SLAVE_ADDRESS 0 // Set a value from 8 to 127 to act as a slave
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
// @section extras
|
|
|
// @section extras
|
|
|
|
|
|
|
|
@ -2486,6 +2621,20 @@ |
|
|
|
|
|
|
|
|
// Duration to hold the switch or keep CHDK_PIN high
|
|
|
// Duration to hold the switch or keep CHDK_PIN high
|
|
|
//#define PHOTO_SWITCH_MS 50 // (ms) (M240 D)
|
|
|
//#define PHOTO_SWITCH_MS 50 // (ms) (M240 D)
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* PHOTO_PULSES_US may need adjustment depending on board and camera model. |
|
|
|
|
|
* Pin must be running at 48.4kHz. |
|
|
|
|
|
* Be sure to use a PHOTOGRAPH_PIN which can rise and fall quick enough. |
|
|
|
|
|
* (e.g., MKS SBase temp sensor pin was too slow, so used P1.23 on J8.) |
|
|
|
|
|
* |
|
|
|
|
|
* Example pulse data for Nikon: https://bit.ly/2FKD0Aq
|
|
|
|
|
|
* IR Wiring: https://git.io/JvJf7
|
|
|
|
|
|
*/ |
|
|
|
|
|
//#define PHOTO_PULSES_US { 2000, 27850, 400, 1580, 400, 3580, 400 } // (µs) Durations for each 48.4kHz oscillation
|
|
|
|
|
|
#ifdef PHOTO_PULSES_US |
|
|
|
|
|
#define PHOTO_PULSE_DELAY_US 13 // (µs) Approximate duration of each HIGH and LOW pulse in the oscillation
|
|
|
|
|
|
#endif |
|
|
#endif |
|
|
#endif |
|
|
|
|
|
|
|
|
/**
|
|
|
/**
|
|
@ -2649,6 +2798,12 @@ |
|
|
*/ |
|
|
*/ |
|
|
#define FASTER_GCODE_PARSER |
|
|
#define FASTER_GCODE_PARSER |
|
|
|
|
|
|
|
|
|
|
|
#if ENABLED(FASTER_GCODE_PARSER) |
|
|
|
|
|
//#define GCODE_QUOTED_STRINGS // Support for quoted string parameters
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
//#define GCODE_CASE_INSENSITIVE // Accept G-code sent to the firmware in lowercase
|
|
|
|
|
|
|
|
|
/**
|
|
|
/**
|
|
|
* CNC G-code options |
|
|
* CNC G-code options |
|
|
* Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc. |
|
|
* Support CNC-style G-code dialects used by laser cutters, drawing machine cams, etc. |
|
@ -2688,40 +2843,25 @@ |
|
|
*/ |
|
|
*/ |
|
|
//#define CUSTOM_USER_MENUS
|
|
|
//#define CUSTOM_USER_MENUS
|
|
|
#if ENABLED(CUSTOM_USER_MENUS) |
|
|
#if ENABLED(CUSTOM_USER_MENUS) |
|
|
#define CUSTOM_USER_MENU_TITLE "TFT Color Profiles" |
|
|
//#define CUSTOM_USER_MENU_TITLE "Custom Commands"
|
|
|
#define USER_SCRIPT_DONE "M117 Color profile changed" |
|
|
#define USER_SCRIPT_DONE "M117 User Script Done" |
|
|
#define USER_SCRIPT_AUDIBLE_FEEDBACK |
|
|
#define USER_SCRIPT_AUDIBLE_FEEDBACK |
|
|
//#define USER_SCRIPT_RETURN // Return to status screen after a script
|
|
|
//#define USER_SCRIPT_RETURN // Return to status screen after a script
|
|
|
|
|
|
|
|
|
#define USER_DESC_1 "Black & White" |
|
|
#define USER_DESC_1 "Home & UBL Info" |
|
|
#define USER_GCODE_1 "M250 P0" |
|
|
#define USER_GCODE_1 "G28\nG29 W" |
|
|
|
|
|
|
|
|
// #define USER_DESC_1 "Home & UBL Info"
|
|
|
|
|
|
// #define USER_GCODE_1 "G28\nG29 W"
|
|
|
|
|
|
|
|
|
|
|
|
#define USER_DESC_2 "Classic Blue" |
|
|
|
|
|
#define USER_GCODE_2 "M250 P1" |
|
|
|
|
|
|
|
|
|
|
|
// #define USER_DESC_2 "Preheat for " PREHEAT_1_LABEL
|
|
|
#define USER_DESC_2 "Preheat for " PREHEAT_1_LABEL |
|
|
// #define USER_GCODE_2 "M140 S" STRINGIFY(PREHEAT_1_TEMP_BED) "\nM104 S" STRINGIFY(PREHEAT_1_TEMP_HOTEND)
|
|
|
#define USER_GCODE_2 "M140 S" STRINGIFY(PREHEAT_1_TEMP_BED) "\nM104 S" STRINGIFY(PREHEAT_1_TEMP_HOTEND) |
|
|
|
|
|
|
|
|
#define USER_DESC_3 "Inverted B&W" |
|
|
#define USER_DESC_3 "Preheat for " PREHEAT_2_LABEL |
|
|
#define USER_GCODE_3 "M250 P2" |
|
|
#define USER_GCODE_3 "M140 S" STRINGIFY(PREHEAT_2_TEMP_BED) "\nM104 S" STRINGIFY(PREHEAT_2_TEMP_HOTEND) |
|
|
|
|
|
|
|
|
// #define USER_DESC_3 "Preheat for " PREHEAT_2_LABEL
|
|
|
#define USER_DESC_4 "Heat Bed/Home/Level" |
|
|
// #define USER_GCODE_3 "M140 S" STRINGIFY(PREHEAT_2_TEMP_BED) "\nM104 S" STRINGIFY(PREHEAT_2_TEMP_HOTEND)
|
|
|
#define USER_GCODE_4 "M140 S" STRINGIFY(PREHEAT_2_TEMP_BED) "\nG28\nG29" |
|
|
|
|
|
|
|
|
#define USER_DESC_4 "Olive LED" |
|
|
#define USER_DESC_5 "Home & Info" |
|
|
#define USER_GCODE_4 "M250 P3" |
|
|
#define USER_GCODE_5 "G28\nM503" |
|
|
|
|
|
|
|
|
// #define USER_DESC_4 "Heat Bed/Home/Level"
|
|
|
|
|
|
// #define USER_GCODE_4 "M140 S" STRINGIFY(PREHEAT_2_TEMP_BED) "\nG28\nG29"
|
|
|
|
|
|
|
|
|
|
|
|
#define USER_DESC_5 "Grey Matters" |
|
|
|
|
|
#define USER_GCODE_5 "M250 P4" |
|
|
|
|
|
|
|
|
|
|
|
// #define USER_DESC_5 "Home & Info"
|
|
|
|
|
|
// #define USER_GCODE_5 "G28\nM503"
|
|
|
|
|
|
#endif |
|
|
#endif |
|
|
|
|
|
|
|
|
/**
|
|
|
/**
|
|
@ -2840,7 +2980,11 @@ |
|
|
#define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2
|
|
|
#define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2
|
|
|
#define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2
|
|
|
#define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2
|
|
|
|
|
|
|
|
|
// Use M119 to find reasonable values after connecting your hardware:
|
|
|
//#define INVERT_JOY_X // Enable if X direction is reversed
|
|
|
|
|
|
//#define INVERT_JOY_Y // Enable if Y direction is reversed
|
|
|
|
|
|
//#define INVERT_JOY_Z // Enable if Z direction is reversed
|
|
|
|
|
|
|
|
|
|
|
|
// Use M119 with JOYSTICK_DEBUG to find reasonable values after connecting:
|
|
|
#define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max
|
|
|
#define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max
|
|
|
#define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } |
|
|
#define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } |
|
|
#define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } |
|
|
#define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } |
|
@ -2895,12 +3039,23 @@ |
|
|
/**
|
|
|
/**
|
|
|
* WiFi Support (Espressif ESP32 WiFi) |
|
|
* WiFi Support (Espressif ESP32 WiFi) |
|
|
*/ |
|
|
*/ |
|
|
//#define WIFISUPPORT
|
|
|
//#define WIFISUPPORT // Marlin embedded WiFi managenent
|
|
|
#if ENABLED(WIFISUPPORT) |
|
|
//#define ESP3D_WIFISUPPORT // ESP3D Library WiFi management (https://github.com/luc-github/ESP3DLib)
|
|
|
#define WIFI_SSID "MarlinGhost" |
|
|
|
|
|
#define WIFI_PWD "marlino" |
|
|
#if EITHER(WIFISUPPORT, ESP3D_WIFISUPPORT) |
|
|
//#define WEBSUPPORT // Start a webserver with auto-discovery
|
|
|
//#define WEBSUPPORT // Start a webserver (which may include auto-discovery)
|
|
|
//#define OTASUPPORT // Support over-the-air firmware updates
|
|
|
//#define OTASUPPORT // Support over-the-air firmware updates
|
|
|
|
|
|
//#define WIFI_CUSTOM_COMMAND // Accept feature config commands (e.g., WiFi ESP3D) from the host
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* To set a default WiFi SSID / Password, create a file called Configuration_Secure.h with |
|
|
|
|
|
* the following defines, customized for your network. This specific file is excluded via |
|
|
|
|
|
* .gitignore to prevent it from accidentally leaking to the public. |
|
|
|
|
|
* |
|
|
|
|
|
* #define WIFI_SSID "WiFi SSID" |
|
|
|
|
|
* #define WIFI_PWD "WiFi Password" |
|
|
|
|
|
*/ |
|
|
|
|
|
//#include "Configuration_Secure.h" // External file with WiFi SSID / Password
|
|
|
#endif |
|
|
#endif |
|
|
|
|
|
|
|
|
/**
|
|
|
/**
|
|
@ -2972,10 +3127,15 @@ |
|
|
|
|
|
|
|
|
// @section develop
|
|
|
// @section develop
|
|
|
|
|
|
|
|
|
/**
|
|
|
//
|
|
|
* M43 - display pin status, watch pins for changes, watch endstops & toggle LED, Z servo probe test, toggle pins |
|
|
// M100 Free Memory Watcher to debug memory usage
|
|
|
*/ |
|
|
//
|
|
|
#define PINS_DEBUGGING |
|
|
//#define M100_FREE_MEMORY_WATCHER
|
|
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
// M43 - display pin status, toggle pins, watch pins, watch endstops & toggle LED, test servo probe
|
|
|
|
|
|
//
|
|
|
|
|
|
//#define PINS_DEBUGGING
|
|
|
|
|
|
|
|
|
// Enable Marlin dev mode which adds some special commands
|
|
|
// Enable Marlin dev mode which adds some special commands
|
|
|
//#define MARLIN_DEV_MODE
|
|
|
//#define MARLIN_DEV_MODE
|
|
|