@@ -755,11 +755,11 @@
|
|||||||
* Override with M203
|
* Override with M203
|
||||||
* X, Y, Z, E0 [, E1[, E2...]]
|
* X, Y, Z, E0 [, E1[, E2...]]
|
||||||
*/
|
*/
|
||||||
#define DEFAULT_MAX_FEEDRATE { 200, 200, 4, 70 }
|
#define DEFAULT_MAX_FEEDRATE { 200, 200, 4, 50 }
|
||||||
|
|
||||||
//#define LIMITED_MAX_FR_EDITING // Limit edit via M203 or LCD to DEFAULT_MAX_FEEDRATE * 2
|
#define LIMITED_MAX_FR_EDITING // Limit edit via M203 or LCD to DEFAULT_MAX_FEEDRATE * 2
|
||||||
#if ENABLED(LIMITED_MAX_FR_EDITING)
|
#if ENABLED(LIMITED_MAX_FR_EDITING)
|
||||||
#define MAX_FEEDRATE_EDIT_VALUES { 600, 600, 10, 50 } // ...or, set your own edit limits
|
#define MAX_FEEDRATE_EDIT_VALUES { 300, 300, 10, 70 } // ...or, set your own edit limits
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -768,11 +768,11 @@
|
|||||||
* Override with M201
|
* Override with M201
|
||||||
* X, Y, Z, E0 [, E1[, E2...]]
|
* X, Y, Z, E0 [, E1[, E2...]]
|
||||||
*/
|
*/
|
||||||
#define DEFAULT_MAX_ACCELERATION { 1000, 1000, 100, 800 }
|
#define DEFAULT_MAX_ACCELERATION { 3000, 3000, 100, 3000 }
|
||||||
|
|
||||||
#define LIMITED_MAX_ACCEL_EDITING // Limit edit via M201 or LCD to DEFAULT_MAX_ACCELERATION * 2
|
#define LIMITED_MAX_ACCEL_EDITING // Limit edit via M201 or LCD to DEFAULT_MAX_ACCELERATION * 2
|
||||||
#if ENABLED(LIMITED_MAX_ACCEL_EDITING)
|
#if ENABLED(LIMITED_MAX_ACCEL_EDITING)
|
||||||
#define MAX_ACCEL_EDIT_VALUES { 2000, 2000, 100, 1000 } // ...or, set your own edit limits
|
#define MAX_ACCEL_EDIT_VALUES { 5000, 5000, 100, 5000 } // ...or, set your own edit limits
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -784,8 +784,8 @@
|
|||||||
* M204 T Travel Acceleration
|
* M204 T Travel Acceleration
|
||||||
*/
|
*/
|
||||||
// @efim-a-efim - decreased E0 acceleration to make it less noisy (yes, even with TMC2208 drivers)
|
// @efim-a-efim - decreased E0 acceleration to make it less noisy (yes, even with TMC2208 drivers)
|
||||||
#define DEFAULT_ACCELERATION 1000 // X, Y, Z and E acceleration for printing moves
|
#define DEFAULT_ACCELERATION 1500 // X, Y, Z and E acceleration for printing moves
|
||||||
#define DEFAULT_RETRACT_ACCELERATION 800 // E acceleration for retracts
|
#define DEFAULT_RETRACT_ACCELERATION 2000 // E acceleration for retracts
|
||||||
#define DEFAULT_TRAVEL_ACCELERATION 1000 // X, Y, Z acceleration for travel (non printing) moves
|
#define DEFAULT_TRAVEL_ACCELERATION 1000 // X, Y, Z acceleration for travel (non printing) moves
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -806,11 +806,11 @@
|
|||||||
|
|
||||||
#define LIMITED_JERK_EDITING // Limit edit via M205 or LCD to DEFAULT_aJERK * 2
|
#define LIMITED_JERK_EDITING // Limit edit via M205 or LCD to DEFAULT_aJERK * 2
|
||||||
#if ENABLED(LIMITED_JERK_EDITING)
|
#if ENABLED(LIMITED_JERK_EDITING)
|
||||||
#define MAX_JERK_EDIT_VALUES { 20, 20, 2, 20 } // ...or, set your own edit limits
|
#define MAX_JERK_EDIT_VALUES { 30, 30, 2, 20 } // ...or, set your own edit limits
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define DEFAULT_EJERK 7 // May be used by Linear Advance
|
#define DEFAULT_EJERK 8 // May be used by Linear Advance
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Junction Deviation Factor
|
* Junction Deviation Factor
|
||||||
@@ -869,7 +869,7 @@
|
|||||||
* - normally-closed switches to GND and D32.
|
* - normally-closed switches to GND and D32.
|
||||||
* - normally-open switches to 5V and D32.
|
* - normally-open switches to 5V and D32.
|
||||||
*/
|
*/
|
||||||
#define Z_MIN_PROBE_PIN BL_TOUCH_Z_PIN // Pin 32 is the RAMPS default
|
//#define Z_MIN_PROBE_PIN BL_TOUCH_Z_PIN // Pin 32 is the RAMPS default
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Probe Type
|
* Probe Type
|
||||||
@@ -883,7 +883,7 @@
|
|||||||
* Use G29 repeatedly, adjusting the Z height at each point with movement commands
|
* Use G29 repeatedly, adjusting the Z height at each point with movement commands
|
||||||
* or (with LCD_BED_LEVELING) the LCD controller.
|
* or (with LCD_BED_LEVELING) the LCD controller.
|
||||||
*/
|
*/
|
||||||
//#define PROBE_MANUALLY
|
#define PROBE_MANUALLY
|
||||||
//#define MANUAL_PROBE_START_Z 0.2
|
//#define MANUAL_PROBE_START_Z 0.2
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -907,7 +907,7 @@
|
|||||||
/**
|
/**
|
||||||
* The BLTouch probe uses a Hall effect sensor and emulates a servo.
|
* The BLTouch probe uses a Hall effect sensor and emulates a servo.
|
||||||
*/
|
*/
|
||||||
#define BLTOUCH
|
//#define BLTOUCH
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Pressure sensor with a BLTouch-like interface
|
* Pressure sensor with a BLTouch-like interface
|
||||||
@@ -994,11 +994,11 @@
|
|||||||
* | [-] |
|
* | [-] |
|
||||||
* O-- FRONT --+
|
* O-- FRONT --+
|
||||||
*/
|
*/
|
||||||
#define NOZZLE_TO_PROBE_OFFSET { 37, -20, 0 }
|
#define NOZZLE_TO_PROBE_OFFSET { 0, 0, 0 }
|
||||||
|
|
||||||
// Most probes should stay away from the edges of the bed, but
|
// Most probes should stay away from the edges of the bed, but
|
||||||
// with NOZZLE_AS_PROBE this can be negative for a wider probing area.
|
// with NOZZLE_AS_PROBE this can be negative for a wider probing area.
|
||||||
#define PROBING_MARGIN 30
|
#define PROBING_MARGIN 0
|
||||||
|
|
||||||
// X and Y axis travel speed (mm/min) between probes
|
// X and Y axis travel speed (mm/min) between probes
|
||||||
#define XY_PROBE_SPEED (1000)
|
#define XY_PROBE_SPEED (1000)
|
||||||
@@ -1018,8 +1018,8 @@
|
|||||||
* A total of 2 does fast/slow probes with a weighted average.
|
* A total of 2 does fast/slow probes with a weighted average.
|
||||||
* A total of 3 or more adds more slow probes, taking the average.
|
* A total of 3 or more adds more slow probes, taking the average.
|
||||||
*/
|
*/
|
||||||
#define MULTIPLE_PROBING 5
|
#define MULTIPLE_PROBING 3
|
||||||
//#define EXTRA_PROBING 1
|
#define EXTRA_PROBING 1
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Z probes require clearance when deploying, stowing, and moving between
|
* Z probes require clearance when deploying, stowing, and moving between
|
||||||
@@ -1043,11 +1043,11 @@
|
|||||||
#define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping
|
#define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping
|
||||||
|
|
||||||
// For M851 give a range for adjusting the Z probe offset
|
// For M851 give a range for adjusting the Z probe offset
|
||||||
#define Z_PROBE_OFFSET_RANGE_MIN -20
|
#define Z_PROBE_OFFSET_RANGE_MIN -3
|
||||||
#define Z_PROBE_OFFSET_RANGE_MAX 20
|
#define Z_PROBE_OFFSET_RANGE_MAX 3
|
||||||
|
|
||||||
// Enable the M48 repeatability test to test probe accuracy
|
// Enable the M48 repeatability test to test probe accuracy
|
||||||
#define Z_MIN_PROBE_REPEATABILITY_TEST
|
//#define Z_MIN_PROBE_REPEATABILITY_TEST
|
||||||
|
|
||||||
// Before deploy/stow pause for user confirmation
|
// Before deploy/stow pause for user confirmation
|
||||||
//#define PAUSE_BEFORE_DEPLOY_STOW
|
//#define PAUSE_BEFORE_DEPLOY_STOW
|
||||||
@@ -1138,7 +1138,7 @@
|
|||||||
|
|
||||||
// @section homing
|
// @section homing
|
||||||
|
|
||||||
//#define NO_MOTION_BEFORE_HOMING // Inhibit movement until all axes have been homed
|
#define NO_MOTION_BEFORE_HOMING // Inhibit movement until all axes have been homed
|
||||||
|
|
||||||
//#define UNKNOWN_Z_NO_RAISE // Don't raise Z (lower the bed) if Z is "unknown." For beds that fall when Z is powered off.
|
//#define UNKNOWN_Z_NO_RAISE // Don't raise Z (lower the bed) if Z is "unknown." For beds that fall when Z is powered off.
|
||||||
|
|
||||||
@@ -1156,16 +1156,16 @@
|
|||||||
// @section machine
|
// @section machine
|
||||||
|
|
||||||
// The size of the print bed
|
// The size of the print bed
|
||||||
#define X_BED_SIZE 255
|
#define X_BED_SIZE 250
|
||||||
#define Y_BED_SIZE 210
|
#define Y_BED_SIZE 210
|
||||||
|
|
||||||
// Travel limits (mm) after homing, corresponding to endstop positions.
|
// Travel limits (mm) after homing, corresponding to endstop positions.
|
||||||
#define X_MIN_POS 0
|
#define X_MIN_POS 0
|
||||||
#define Y_MIN_POS 0
|
#define Y_MIN_POS 0
|
||||||
#define Z_MIN_POS 0
|
#define Z_MIN_POS 0
|
||||||
#define X_MAX_POS X_BED_SIZE
|
#define X_MAX_POS X_BED_SIZE+X_MIN_POS
|
||||||
#define Y_MAX_POS Y_BED_SIZE
|
#define Y_MAX_POS Y_BED_SIZE
|
||||||
#define Z_MAX_POS 210
|
#define Z_MAX_POS 200
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Software Endstops
|
* Software Endstops
|
||||||
@@ -1181,7 +1181,7 @@
|
|||||||
#if ENABLED(MIN_SOFTWARE_ENDSTOPS)
|
#if ENABLED(MIN_SOFTWARE_ENDSTOPS)
|
||||||
#define MIN_SOFTWARE_ENDSTOP_X
|
#define MIN_SOFTWARE_ENDSTOP_X
|
||||||
#define MIN_SOFTWARE_ENDSTOP_Y
|
#define MIN_SOFTWARE_ENDSTOP_Y
|
||||||
//#define MIN_SOFTWARE_ENDSTOP_Z
|
#define MIN_SOFTWARE_ENDSTOP_Z
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Max software endstops constrain movement within maximum coordinate bounds
|
// Max software endstops constrain movement within maximum coordinate bounds
|
||||||
@@ -1193,7 +1193,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if EITHER(MIN_SOFTWARE_ENDSTOPS, MAX_SOFTWARE_ENDSTOPS)
|
#if EITHER(MIN_SOFTWARE_ENDSTOPS, MAX_SOFTWARE_ENDSTOPS)
|
||||||
//#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD
|
#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -1203,9 +1203,9 @@
|
|||||||
* RAMPS-based boards use SERVO3_PIN for the first runout sensor.
|
* RAMPS-based boards use SERVO3_PIN for the first runout sensor.
|
||||||
* For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc.
|
* For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc.
|
||||||
*/
|
*/
|
||||||
//#define FILAMENT_RUNOUT_SENSOR
|
#define FILAMENT_RUNOUT_SENSOR
|
||||||
#if ENABLED(FILAMENT_RUNOUT_SENSOR)
|
#if ENABLED(FILAMENT_RUNOUT_SENSOR)
|
||||||
#define FIL_RUNOUT_ENABLED_DEFAULT true // Enable the sensor on startup. Override with M412 followed by M500.
|
#define FIL_RUNOUT_ENABLED_DEFAULT false // Enable the sensor on startup. Override with M412 followed by M500.
|
||||||
#define NUM_RUNOUT_SENSORS 1 // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each.
|
#define NUM_RUNOUT_SENSORS 1 // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each.
|
||||||
#define FIL_RUNOUT_STATE HIGH // Pin state indicating that filament is NOT present.
|
#define FIL_RUNOUT_STATE HIGH // Pin state indicating that filament is NOT present.
|
||||||
//#define FIL_RUNOUT_PULLUP // Use internal pullup for filament runout pins.
|
//#define FIL_RUNOUT_PULLUP // Use internal pullup for filament runout pins.
|
||||||
@@ -1218,7 +1218,7 @@
|
|||||||
// After a runout is detected, continue printing this length of filament
|
// After a runout is detected, continue printing this length of filament
|
||||||
// before executing the runout script. Useful for a sensor at the end of
|
// before executing the runout script. Useful for a sensor at the end of
|
||||||
// a feed tube. Requires 4 bytes SRAM per sensor, plus 4 bytes overhead.
|
// a feed tube. Requires 4 bytes SRAM per sensor, plus 4 bytes overhead.
|
||||||
//#define FILAMENT_RUNOUT_DISTANCE_MM 25
|
#define FILAMENT_RUNOUT_DISTANCE_MM 500
|
||||||
|
|
||||||
#ifdef FILAMENT_RUNOUT_DISTANCE_MM
|
#ifdef FILAMENT_RUNOUT_DISTANCE_MM
|
||||||
// Enable this option to use an encoder disc that toggles the runout pin
|
// Enable this option to use an encoder disc that toggles the runout pin
|
||||||
@@ -1268,9 +1268,9 @@
|
|||||||
*/
|
*/
|
||||||
//#define AUTO_BED_LEVELING_3POINT
|
//#define AUTO_BED_LEVELING_3POINT
|
||||||
//#define AUTO_BED_LEVELING_LINEAR
|
//#define AUTO_BED_LEVELING_LINEAR
|
||||||
#define AUTO_BED_LEVELING_BILINEAR
|
//#define AUTO_BED_LEVELING_BILINEAR
|
||||||
//#define AUTO_BED_LEVELING_UBL
|
//#define AUTO_BED_LEVELING_UBL
|
||||||
//#define MESH_BED_LEVELING
|
#define MESH_BED_LEVELING
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Normally G28 leaves leveling disabled on completion. Enable
|
* Normally G28 leaves leveling disabled on completion. Enable
|
||||||
@@ -1283,7 +1283,7 @@
|
|||||||
* Turn on with the command 'M111 S32'.
|
* Turn on with the command 'M111 S32'.
|
||||||
* NOTE: Requires a lot of PROGMEM!
|
* NOTE: Requires a lot of PROGMEM!
|
||||||
*/
|
*/
|
||||||
//#define DEBUG_LEVELING_FEATURE
|
#define DEBUG_LEVELING_FEATURE
|
||||||
|
|
||||||
#if ANY(MESH_BED_LEVELING, AUTO_BED_LEVELING_BILINEAR, AUTO_BED_LEVELING_UBL)
|
#if ANY(MESH_BED_LEVELING, AUTO_BED_LEVELING_BILINEAR, AUTO_BED_LEVELING_UBL)
|
||||||
// Gradually reduce leveling correction until a set height is reached,
|
// Gradually reduce leveling correction until a set height is reached,
|
||||||
@@ -1347,7 +1347,7 @@
|
|||||||
|
|
||||||
//#define MESH_EDIT_GFX_OVERLAY // Display a graphics overlay while editing the mesh
|
//#define MESH_EDIT_GFX_OVERLAY // Display a graphics overlay while editing the mesh
|
||||||
|
|
||||||
#define MESH_INSET 20 // Set Mesh bounds as an inset region of the bed
|
#define MESH_INSET 5 // Set Mesh bounds as an inset region of the bed
|
||||||
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
||||||
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
||||||
|
|
||||||
@@ -1427,8 +1427,8 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Homing speeds (mm/m)
|
// Homing speeds (mm/m)
|
||||||
#define HOMING_FEEDRATE_XY (50*50)
|
#define HOMING_FEEDRATE_XY (40*60)
|
||||||
#define HOMING_FEEDRATE_Z (50*50)
|
#define HOMING_FEEDRATE_Z (40*60)
|
||||||
|
|
||||||
// Validate that endstops are triggered on homing moves
|
// Validate that endstops are triggered on homing moves
|
||||||
#define VALIDATE_HOMING_ENDSTOPS
|
#define VALIDATE_HOMING_ENDSTOPS
|
||||||
@@ -1702,7 +1702,7 @@ EEPROM_W25Q
|
|||||||
*
|
*
|
||||||
* View the current statistics with M78.
|
* View the current statistics with M78.
|
||||||
*/
|
*/
|
||||||
//#define PRINTCOUNTER
|
#define PRINTCOUNTER
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Password
|
* Password
|
||||||
|
|||||||
@@ -371,7 +371,7 @@
|
|||||||
* Hotend Idle Timeout
|
* Hotend Idle Timeout
|
||||||
* Prevent filament in the nozzle from charring and causing a critical jam.
|
* Prevent filament in the nozzle from charring and causing a critical jam.
|
||||||
*/
|
*/
|
||||||
//#define HOTEND_IDLE_TIMEOUT
|
#define HOTEND_IDLE_TIMEOUT
|
||||||
#if ENABLED(HOTEND_IDLE_TIMEOUT)
|
#if ENABLED(HOTEND_IDLE_TIMEOUT)
|
||||||
#define HOTEND_IDLE_TIMEOUT_SEC (5*60) // (seconds) Time without extruder movement to trigger protection
|
#define HOTEND_IDLE_TIMEOUT_SEC (5*60) // (seconds) Time without extruder movement to trigger protection
|
||||||
#define HOTEND_IDLE_MIN_TRIGGER 180 // (°C) Minimum temperature to enable hotend protection
|
#define HOTEND_IDLE_MIN_TRIGGER 180 // (°C) Minimum temperature to enable hotend protection
|
||||||
@@ -512,7 +512,7 @@
|
|||||||
#define CASE_LIGHT_MAX_PWM 255 // 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.
|
||||||
#if ENABLED(CASE_LIGHT_USE_NEOPIXEL)
|
#if ENABLED(CASE_LIGHT_USE_NEOPIXEL)
|
||||||
#define CASE_LIGHT_NEOPIXEL_COLOR { 255, 255, 255, 255 } // { Red, Green, Blue, White }
|
#define CASE_LIGHT_NEOPIXEL_COLOR { 255, 255, 255, 255 } // { Red, Green, Blue, White }
|
||||||
#endif
|
#endif
|
||||||
@@ -798,7 +798,7 @@
|
|||||||
#if ENABLED(ASSISTED_TRAMMING)
|
#if ENABLED(ASSISTED_TRAMMING)
|
||||||
|
|
||||||
// Define positions for probing points, use the hotend as reference not the sensor.
|
// Define positions for probing points, use the hotend as reference not the sensor.
|
||||||
#define TRAMMING_POINT_XY { { 20, 20 }, { 200, 20 }, { 200, 200 }, { 20, 200 } }
|
#define TRAMMING_POINT_XY { { 37, 10 }, { 223, 10 }, { 223, 180 }, { 37, 180 } }
|
||||||
|
|
||||||
// Define positions names for probing points.
|
// Define positions names for probing points.
|
||||||
#define TRAMMING_POINT_NAME_1 "Front-Left"
|
#define TRAMMING_POINT_NAME_1 "Front-Left"
|
||||||
@@ -1121,16 +1121,16 @@
|
|||||||
#endif // HAS_LCD_MENU
|
#endif // HAS_LCD_MENU
|
||||||
|
|
||||||
// Scroll a longer status message into view
|
// Scroll a longer status message into view
|
||||||
//#define STATUS_MESSAGE_SCROLLING
|
#define STATUS_MESSAGE_SCROLLING
|
||||||
|
|
||||||
// On the Info Screen, display XY with one decimal place when possible
|
// On the Info Screen, display XY with one decimal place when possible
|
||||||
//#define LCD_DECIMAL_SMALL_XY
|
#define LCD_DECIMAL_SMALL_XY
|
||||||
|
|
||||||
// The timeout (in ms) to return to the status screen from sub-menus
|
// The timeout (in ms) to return to the status screen from sub-menus
|
||||||
//#define LCD_TIMEOUT_TO_STATUS 15000
|
//#define LCD_TIMEOUT_TO_STATUS 15000
|
||||||
|
|
||||||
// Add an 'M73' G-code to set the current percentage
|
// Add an 'M73' G-code to set the current percentage
|
||||||
//#define LCD_SET_PROGRESS_MANUALLY
|
#define LCD_SET_PROGRESS_MANUALLY
|
||||||
|
|
||||||
// Show the E position (filament used) during printing
|
// Show the E position (filament used) during printing
|
||||||
//#define LCD_SHOW_E_TOTAL
|
//#define LCD_SHOW_E_TOTAL
|
||||||
@@ -1197,7 +1197,7 @@
|
|||||||
* an option on the LCD screen to continue the print from the last-known
|
* an option on the LCD screen to continue the print from the last-known
|
||||||
* point in the file.
|
* point in the file.
|
||||||
*/
|
*/
|
||||||
//#define POWER_LOSS_RECOVERY
|
#define POWER_LOSS_RECOVERY
|
||||||
#if ENABLED(POWER_LOSS_RECOVERY)
|
#if ENABLED(POWER_LOSS_RECOVERY)
|
||||||
#define PLR_ENABLED_DEFAULT false // Power Loss Recovery enabled by default. (Set with 'M413 Sn' & M500)
|
#define PLR_ENABLED_DEFAULT false // Power Loss Recovery enabled by default. (Set with 'M413 Sn' & M500)
|
||||||
//#define BACKUP_POWER_SUPPLY // Backup power / UPS to move the steppers on power loss
|
//#define BACKUP_POWER_SUPPLY // Backup power / UPS to move the steppers on power loss
|
||||||
@@ -1695,18 +1695,18 @@
|
|||||||
* the probe to be unable to reach any points.
|
* the probe to be unable to reach any points.
|
||||||
*/
|
*/
|
||||||
#if PROBE_SELECTED && !IS_KINEMATIC
|
#if PROBE_SELECTED && !IS_KINEMATIC
|
||||||
//#define PROBING_MARGIN_LEFT PROBING_MARGIN
|
#define PROBING_MARGIN_LEFT PROBING_MARGIN
|
||||||
//#define PROBING_MARGIN_RIGHT PROBING_MARGIN
|
#define PROBING_MARGIN_RIGHT PROBING_MARGIN
|
||||||
//#define PROBING_MARGIN_FRONT PROBING_MARGIN
|
#define PROBING_MARGIN_FRONT PROBING_MARGIN
|
||||||
//#define PROBING_MARGIN_BACK PROBING_MARGIN
|
#define PROBING_MARGIN_BACK PROBING_MARGIN
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL)
|
#if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL)
|
||||||
// Override the mesh area if the automatic (max) area is too large
|
// Override the mesh area if the automatic (max) area is too large
|
||||||
//#define MESH_MIN_X MESH_INSET
|
#define MESH_MIN_X 0
|
||||||
//#define MESH_MIN_Y MESH_INSET
|
#define MESH_MIN_Y MESH_INSET
|
||||||
//#define MESH_MAX_X X_BED_SIZE - (MESH_INSET)
|
#define MESH_MAX_X X_BED_SIZE - (MESH_INSET)
|
||||||
//#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET)
|
#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -1806,7 +1806,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
|
// Support for G5 with XYZE destination and IJPQ offsets. Requires ~2666 bytes.
|
||||||
//#define BEZIER_CURVE_SUPPORT
|
#define BEZIER_CURVE_SUPPORT
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Direct Stepping
|
* Direct Stepping
|
||||||
@@ -1989,21 +1989,21 @@
|
|||||||
*
|
*
|
||||||
* Note that M207 / M208 / M209 settings are saved to EEPROM.
|
* Note that M207 / M208 / M209 settings are saved to EEPROM.
|
||||||
*/
|
*/
|
||||||
//#define FWRETRACT
|
#define FWRETRACT
|
||||||
#if ENABLED(FWRETRACT)
|
#if ENABLED(FWRETRACT)
|
||||||
#define FWRETRACT_AUTORETRACT // Override slicer retractions
|
//#define FWRETRACT_AUTORETRACT // Override slicer retractions
|
||||||
#if ENABLED(FWRETRACT_AUTORETRACT)
|
#if ENABLED(FWRETRACT_AUTORETRACT)
|
||||||
#define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length
|
#define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length
|
||||||
#define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length
|
#define MAX_AUTORETRACT 5.0 // (mm) Don't convert E moves over this length
|
||||||
#endif
|
#endif
|
||||||
#define RETRACT_LENGTH 3 // (mm) Default retract length (positive value)
|
#define RETRACT_LENGTH 2 // (mm) Default retract length (positive value)
|
||||||
#define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value)
|
#define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value)
|
||||||
#define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting
|
#define RETRACT_FEEDRATE 35 // (mm/s) Default feedrate for retracting
|
||||||
#define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise
|
#define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise
|
||||||
#define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover)
|
#define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover)
|
||||||
#define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange)
|
#define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange)
|
||||||
#define RETRACT_RECOVER_FEEDRATE 8 // (mm/s) Default feedrate for recovering from retraction
|
#define RETRACT_RECOVER_FEEDRATE 35 // (mm/s) Default feedrate for recovering from retraction
|
||||||
#define RETRACT_RECOVER_FEEDRATE_SWAP 8 // (mm/s) Default feedrate for recovering from swap retraction
|
#define RETRACT_RECOVER_FEEDRATE_SWAP 35 // (mm/s) Default feedrate for recovering from swap retraction
|
||||||
#if ENABLED(MIXING_EXTRUDER)
|
#if ENABLED(MIXING_EXTRUDER)
|
||||||
//#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously
|
//#define RETRACT_SYNC_MIXING // Retract and restore all mixing steppers simultaneously
|
||||||
#endif
|
#endif
|
||||||
@@ -3126,7 +3126,7 @@
|
|||||||
/**
|
/**
|
||||||
* Disable all Volumetric extrusion options
|
* Disable all Volumetric extrusion options
|
||||||
*/
|
*/
|
||||||
//#define NO_VOLUMETRICS
|
#define NO_VOLUMETRICS
|
||||||
|
|
||||||
#if DISABLED(NO_VOLUMETRICS)
|
#if DISABLED(NO_VOLUMETRICS)
|
||||||
/**
|
/**
|
||||||
@@ -3275,7 +3275,7 @@
|
|||||||
*
|
*
|
||||||
* Implement M486 to allow Marlin to skip objects
|
* Implement M486 to allow Marlin to skip objects
|
||||||
*/
|
*/
|
||||||
//#define CANCEL_OBJECTS
|
#define CANCEL_OBJECTS
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* I2C position encoders for closed loop control.
|
* I2C position encoders for closed loop control.
|
||||||
|
|||||||
@@ -348,7 +348,7 @@ float bilinear_z_offset(const xy_pos_t &raw) {
|
|||||||
* Prepare a bilinear-leveled linear move on Cartesian,
|
* Prepare a bilinear-leveled linear move on Cartesian,
|
||||||
* splitting the move where it crosses grid borders.
|
* splitting the move where it crosses grid borders.
|
||||||
*/
|
*/
|
||||||
void bilinear_line_to_destination(const feedRate_t scaled_fr_mm_s, uint16_t x_splits, uint16_t y_splits) {
|
void bilinear_line_to_destination(const feedRate_t &scaled_fr_mm_s, uint16_t x_splits, uint16_t y_splits) {
|
||||||
// Get current and destination cells for this line
|
// Get current and destination cells for this line
|
||||||
xy_int_t c1 { CELL_INDEX(x, current_position.x), CELL_INDEX(y, current_position.y) },
|
xy_int_t c1 { CELL_INDEX(x, current_position.x), CELL_INDEX(y, current_position.y) },
|
||||||
c2 { CELL_INDEX(x, destination.x), CELL_INDEX(y, destination.y) };
|
c2 { CELL_INDEX(x, destination.x), CELL_INDEX(y, destination.y) };
|
||||||
|
|||||||
@@ -260,6 +260,7 @@ void GcodeSuite::process_parsed_command(const bool no_ok/*=false*/) {
|
|||||||
#if ENABLED(PASSWORD_FEATURE)
|
#if ENABLED(PASSWORD_FEATURE)
|
||||||
if (password.is_locked && !(parser.command_letter == 'M' && parser.codenum == 511)) {
|
if (password.is_locked && !(parser.command_letter == 'M' && parser.codenum == 511)) {
|
||||||
SERIAL_ECHO_MSG(STR_PRINTER_LOCKED);
|
SERIAL_ECHO_MSG(STR_PRINTER_LOCKED);
|
||||||
|
if (!no_ok) queue.ok_to_send();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -63,12 +63,12 @@
|
|||||||
#elif ENABLED(CARTESIO_UI)
|
#elif ENABLED(CARTESIO_UI)
|
||||||
|
|
||||||
#define DOGLCD
|
#define DOGLCD
|
||||||
#define IS_ULTIPANEL
|
#define IS_ULTIPANEL 1
|
||||||
|
|
||||||
#elif EITHER(DWIN_MARLINUI_PORTRAIT, DWIN_MARLINUI_LANDSCAPE)
|
#elif EITHER(DWIN_MARLINUI_PORTRAIT, DWIN_MARLINUI_LANDSCAPE)
|
||||||
|
|
||||||
#define IS_DWIN_MARLINUI 1
|
#define IS_DWIN_MARLINUI 1
|
||||||
#define IS_ULTIPANEL
|
#define IS_ULTIPANEL 1
|
||||||
|
|
||||||
#elif ENABLED(ZONESTAR_LCD)
|
#elif ENABLED(ZONESTAR_LCD)
|
||||||
|
|
||||||
@@ -76,7 +76,7 @@
|
|||||||
#define IS_RRW_KEYPAD
|
#define IS_RRW_KEYPAD
|
||||||
#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0
|
#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0
|
||||||
#define ADC_KEY_NUM 8
|
#define ADC_KEY_NUM 8
|
||||||
#define IS_ULTIPANEL
|
#define IS_ULTIPANEL 1
|
||||||
|
|
||||||
// This helps to implement ADC_KEYPAD menus
|
// This helps to implement ADC_KEYPAD menus
|
||||||
#define REVERSE_MENU_DIRECTION
|
#define REVERSE_MENU_DIRECTION
|
||||||
@@ -98,7 +98,7 @@
|
|||||||
#define IS_U8GLIB_SSD1306
|
#define IS_U8GLIB_SSD1306
|
||||||
|
|
||||||
#elif ENABLED(RADDS_DISPLAY)
|
#elif ENABLED(RADDS_DISPLAY)
|
||||||
#define IS_ULTIPANEL
|
#define IS_ULTIPANEL 1
|
||||||
#define ENCODER_PULSES_PER_STEP 2
|
#define ENCODER_PULSES_PER_STEP 2
|
||||||
|
|
||||||
#elif EITHER(ANET_FULL_GRAPHICS_LCD, BQ_LCD_SMART_CONTROLLER)
|
#elif EITHER(ANET_FULL_GRAPHICS_LCD, BQ_LCD_SMART_CONTROLLER)
|
||||||
@@ -108,7 +108,7 @@
|
|||||||
#elif ANY(miniVIKI, VIKI2, ELB_FULL_GRAPHIC_CONTROLLER, AZSMZ_12864)
|
#elif ANY(miniVIKI, VIKI2, ELB_FULL_GRAPHIC_CONTROLLER, AZSMZ_12864)
|
||||||
|
|
||||||
#define DOGLCD
|
#define DOGLCD
|
||||||
#define IS_ULTIPANEL
|
#define IS_ULTIPANEL 1
|
||||||
|
|
||||||
#if ENABLED(miniVIKI)
|
#if ENABLED(miniVIKI)
|
||||||
#define U8GLIB_ST7565_64128N
|
#define U8GLIB_ST7565_64128N
|
||||||
@@ -123,19 +123,19 @@
|
|||||||
#elif ENABLED(OLED_PANEL_TINYBOY2)
|
#elif ENABLED(OLED_PANEL_TINYBOY2)
|
||||||
|
|
||||||
#define IS_U8GLIB_SSD1306
|
#define IS_U8GLIB_SSD1306
|
||||||
#define IS_ULTIPANEL
|
#define IS_ULTIPANEL 1
|
||||||
|
|
||||||
#elif ENABLED(RA_CONTROL_PANEL)
|
#elif ENABLED(RA_CONTROL_PANEL)
|
||||||
|
|
||||||
#define LCD_I2C_TYPE_PCA8574
|
#define LCD_I2C_TYPE_PCA8574
|
||||||
#define LCD_I2C_ADDRESS 0x27 // I2C Address of the port expander
|
#define LCD_I2C_ADDRESS 0x27 // I2C Address of the port expander
|
||||||
#define IS_ULTIPANEL
|
#define IS_ULTIPANEL 1
|
||||||
|
|
||||||
#elif ENABLED(REPRAPWORLD_GRAPHICAL_LCD)
|
#elif ENABLED(REPRAPWORLD_GRAPHICAL_LCD)
|
||||||
|
|
||||||
#define DOGLCD
|
#define DOGLCD
|
||||||
#define U8GLIB_ST7920
|
#define U8GLIB_ST7920
|
||||||
#define IS_ULTIPANEL
|
#define IS_ULTIPANEL 1
|
||||||
|
|
||||||
#elif ENABLED(CR10_STOCKDISPLAY)
|
#elif ENABLED(CR10_STOCKDISPLAY)
|
||||||
|
|
||||||
@@ -179,7 +179,7 @@
|
|||||||
|
|
||||||
#define FYSETC_MINI_12864
|
#define FYSETC_MINI_12864
|
||||||
#define DOGLCD
|
#define DOGLCD
|
||||||
#define IS_ULTIPANEL
|
#define IS_ULTIPANEL 1
|
||||||
#define LED_COLORS_REDUCE_GREEN
|
#define LED_COLORS_REDUCE_GREEN
|
||||||
#if ENABLED(PSU_CONTROL) && EITHER(FYSETC_MINI_12864_2_0, FYSETC_MINI_12864_2_1)
|
#if ENABLED(PSU_CONTROL) && EITHER(FYSETC_MINI_12864_2_0, FYSETC_MINI_12864_2_1)
|
||||||
#define LED_BACKLIGHT_TIMEOUT 10000
|
#define LED_BACKLIGHT_TIMEOUT 10000
|
||||||
@@ -205,7 +205,7 @@
|
|||||||
|
|
||||||
#elif ENABLED(ULTI_CONTROLLER)
|
#elif ENABLED(ULTI_CONTROLLER)
|
||||||
|
|
||||||
#define IS_ULTIPANEL
|
#define IS_ULTIPANEL 1
|
||||||
#define U8GLIB_SSD1309
|
#define U8GLIB_SSD1309
|
||||||
#define LCD_RESET_PIN LCD_PINS_D6 // This controller need a reset pin
|
#define LCD_RESET_PIN LCD_PINS_D6 // This controller need a reset pin
|
||||||
#define ENCODER_PULSES_PER_STEP 2
|
#define ENCODER_PULSES_PER_STEP 2
|
||||||
@@ -220,7 +220,7 @@
|
|||||||
#elif EITHER(TFTGLCD_PANEL_SPI, TFTGLCD_PANEL_I2C)
|
#elif EITHER(TFTGLCD_PANEL_SPI, TFTGLCD_PANEL_I2C)
|
||||||
|
|
||||||
#define IS_TFTGLCD_PANEL 1
|
#define IS_TFTGLCD_PANEL 1
|
||||||
#define IS_ULTIPANEL // Note that IS_ULTIPANEL leads to HAS_WIRED_LCD
|
#define IS_ULTIPANEL 1 // Note that IS_ULTIPANEL leads to HAS_WIRED_LCD
|
||||||
|
|
||||||
#if ENABLED(SDSUPPORT) && DISABLED(LCD_PROGRESS_BAR)
|
#if ENABLED(SDSUPPORT) && DISABLED(LCD_PROGRESS_BAR)
|
||||||
#define LCD_PROGRESS_BAR
|
#define LCD_PROGRESS_BAR
|
||||||
@@ -246,7 +246,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if EITHER(MAKRPANEL, MINIPANEL)
|
#if EITHER(MAKRPANEL, MINIPANEL)
|
||||||
#define IS_ULTIPANEL
|
#define IS_ULTIPANEL 1
|
||||||
#define DOGLCD
|
#define DOGLCD
|
||||||
#if ENABLED(MAKRPANEL)
|
#if ENABLED(MAKRPANEL)
|
||||||
#define U8GLIB_ST7565_64128N
|
#define U8GLIB_ST7565_64128N
|
||||||
@@ -258,7 +258,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if ENABLED(OVERLORD_OLED)
|
#if ENABLED(OVERLORD_OLED)
|
||||||
#define IS_ULTIPANEL
|
#define IS_ULTIPANEL 1
|
||||||
#define U8GLIB_SH1106
|
#define U8GLIB_SH1106
|
||||||
/**
|
/**
|
||||||
* PCA9632 for buzzer and LEDs via i2c
|
* PCA9632 for buzzer and LEDs via i2c
|
||||||
@@ -302,13 +302,13 @@
|
|||||||
|
|
||||||
// Basic Ultipanel-like displays
|
// Basic Ultipanel-like displays
|
||||||
#if ANY(ULTIMAKERCONTROLLER, REPRAP_DISCOUNT_SMART_CONTROLLER, G3D_PANEL, RIGIDBOT_PANEL, PANEL_ONE, U8GLIB_SH1106)
|
#if ANY(ULTIMAKERCONTROLLER, REPRAP_DISCOUNT_SMART_CONTROLLER, G3D_PANEL, RIGIDBOT_PANEL, PANEL_ONE, U8GLIB_SH1106)
|
||||||
#define IS_ULTIPANEL
|
#define IS_ULTIPANEL 1
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Einstart OLED has Cardinal nav via pins defined in pins_EINSTART-S.h
|
// Einstart OLED has Cardinal nav via pins defined in pins_EINSTART-S.h
|
||||||
#if ENABLED(U8GLIB_SH1106_EINSTART)
|
#if ENABLED(U8GLIB_SH1106_EINSTART)
|
||||||
#define DOGLCD
|
#define DOGLCD
|
||||||
#define IS_ULTIPANEL
|
#define IS_ULTIPANEL 1
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Compatibility
|
// Compatibility
|
||||||
@@ -350,7 +350,7 @@
|
|||||||
|
|
||||||
#if TFT_SCALED_DOGLCD
|
#if TFT_SCALED_DOGLCD
|
||||||
#define DOGLCD
|
#define DOGLCD
|
||||||
#define IS_ULTIPANEL
|
#define IS_ULTIPANEL 1
|
||||||
#define DELAYED_BACKLIGHT_INIT
|
#define DELAYED_BACKLIGHT_INIT
|
||||||
#elif ENABLED(TFT_LVGL_UI)
|
#elif ENABLED(TFT_LVGL_UI)
|
||||||
#define DELAYED_BACKLIGHT_INIT
|
#define DELAYED_BACKLIGHT_INIT
|
||||||
@@ -359,7 +359,7 @@
|
|||||||
// Color UI
|
// Color UI
|
||||||
#if ENABLED(TFT_COLOR_UI)
|
#if ENABLED(TFT_COLOR_UI)
|
||||||
#define HAS_GRAPHICAL_TFT 1
|
#define HAS_GRAPHICAL_TFT 1
|
||||||
#define IS_ULTIPANEL
|
#define IS_ULTIPANEL 1
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -383,7 +383,7 @@
|
|||||||
#define LCD_I2C_TYPE_MCP23017
|
#define LCD_I2C_TYPE_MCP23017
|
||||||
#define LCD_I2C_ADDRESS 0x20 // I2C Address of the port expander
|
#define LCD_I2C_ADDRESS 0x20 // I2C Address of the port expander
|
||||||
#define LCD_USE_I2C_BUZZER // Enable buzzer on LCD (optional)
|
#define LCD_USE_I2C_BUZZER // Enable buzzer on LCD (optional)
|
||||||
#define IS_ULTIPANEL
|
#define IS_ULTIPANEL 1
|
||||||
|
|
||||||
#elif ENABLED(LCD_I2C_VIKI)
|
#elif ENABLED(LCD_I2C_VIKI)
|
||||||
|
|
||||||
@@ -398,7 +398,7 @@
|
|||||||
#define LCD_I2C_TYPE_MCP23017
|
#define LCD_I2C_TYPE_MCP23017
|
||||||
#define LCD_I2C_ADDRESS 0x20 // I2C Address of the port expander
|
#define LCD_I2C_ADDRESS 0x20 // I2C Address of the port expander
|
||||||
#define LCD_USE_I2C_BUZZER // Enable buzzer on LCD (requires LiquidTWI2 v1.2.3 or later)
|
#define LCD_USE_I2C_BUZZER // Enable buzzer on LCD (requires LiquidTWI2 v1.2.3 or later)
|
||||||
#define IS_ULTIPANEL
|
#define IS_ULTIPANEL 1
|
||||||
|
|
||||||
#define ENCODER_FEEDRATE_DEADZONE 4
|
#define ENCODER_FEEDRATE_DEADZONE 4
|
||||||
|
|
||||||
@@ -443,10 +443,10 @@
|
|||||||
// https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!shiftregister-connection
|
// https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!shiftregister-connection
|
||||||
#if ENABLED(FF_INTERFACEBOARD)
|
#if ENABLED(FF_INTERFACEBOARD)
|
||||||
#define SR_LCD_3W_NL // Non latching 3 wire shift register
|
#define SR_LCD_3W_NL // Non latching 3 wire shift register
|
||||||
#define IS_ULTIPANEL
|
#define IS_ULTIPANEL 1
|
||||||
#elif ENABLED(SAV_3DLCD)
|
#elif ENABLED(SAV_3DLCD)
|
||||||
#define SR_LCD_2W_NL // Non latching 2 wire shift register
|
#define SR_LCD_2W_NL // Non latching 2 wire shift register
|
||||||
#define IS_ULTIPANEL
|
#define IS_ULTIPANEL 1
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if ENABLED(IS_ULTIPANEL)
|
#if ENABLED(IS_ULTIPANEL)
|
||||||
|
|||||||
@@ -192,7 +192,7 @@ void _menu_move_distance(const AxisEnum axis, const screenFunc_t func, const int
|
|||||||
#if E_MANUAL
|
#if E_MANUAL
|
||||||
|
|
||||||
inline void _goto_menu_move_distance_e() {
|
inline void _goto_menu_move_distance_e() {
|
||||||
ui.goto_screen([]{ _menu_move_distance(E_AXIS, []{ lcd_move_e(); }, -1); });
|
ui.goto_screen([]{ _menu_move_distance(E_AXIS, []{ lcd_move_e(TERN_(MULTI_MANUAL, active_extruder)); }, -1); });
|
||||||
}
|
}
|
||||||
|
|
||||||
inline void _menu_move_distance_e_maybe() {
|
inline void _menu_move_distance_e_maybe() {
|
||||||
|
|||||||
@@ -102,6 +102,14 @@ void mks_m23(char *filename){
|
|||||||
|
|
||||||
DEBUG("M23: %s",filename);
|
DEBUG("M23: %s",filename);
|
||||||
|
|
||||||
|
if(filename[0] == '/'){
|
||||||
|
DEBUG("Strip slash");
|
||||||
|
for(uint32_t i = 0; i < strlen(filename) ; i++){
|
||||||
|
filename[i] = filename[i+1];
|
||||||
|
}
|
||||||
|
DEBUG("Fixed name: %s",filename);
|
||||||
|
}
|
||||||
|
|
||||||
//Имя файла может быть меньше 12 символов, но с расширением .gcode
|
//Имя файла может быть меньше 12 символов, но с расширением .gcode
|
||||||
//С конца имени файла шагаем к началу, считаем сколько символов до точки
|
//С конца имени файла шагаем к началу, считаем сколько символов до точки
|
||||||
dot_pos=0;
|
dot_pos=0;
|
||||||
|
|||||||
@@ -1466,10 +1466,12 @@ void set_axis_never_homed(const AxisEnum axis) {
|
|||||||
effectorBackoutDir, // Direction in which the effector mm coordinates move away from endstop.
|
effectorBackoutDir, // Direction in which the effector mm coordinates move away from endstop.
|
||||||
stepperBackoutDir; // Direction in which the TMC µstep count(phase) move away from endstop.
|
stepperBackoutDir; // Direction in which the TMC µstep count(phase) move away from endstop.
|
||||||
|
|
||||||
|
#define PHASE_PER_MICROSTEP(N) (256 / _MAX(1, N##_MICROSTEPS))
|
||||||
|
|
||||||
switch (axis) {
|
switch (axis) {
|
||||||
#ifdef X_MICROSTEPS
|
#ifdef X_MICROSTEPS
|
||||||
case X_AXIS:
|
case X_AXIS:
|
||||||
phasePerUStep = 256 / (X_MICROSTEPS);
|
phasePerUStep = PHASE_PER_MICROSTEP(X);
|
||||||
phaseCurrent = stepperX.get_microstep_counter();
|
phaseCurrent = stepperX.get_microstep_counter();
|
||||||
effectorBackoutDir = -X_HOME_DIR;
|
effectorBackoutDir = -X_HOME_DIR;
|
||||||
stepperBackoutDir = INVERT_X_DIR ? effectorBackoutDir : -effectorBackoutDir;
|
stepperBackoutDir = INVERT_X_DIR ? effectorBackoutDir : -effectorBackoutDir;
|
||||||
@@ -1477,7 +1479,7 @@ void set_axis_never_homed(const AxisEnum axis) {
|
|||||||
#endif
|
#endif
|
||||||
#ifdef Y_MICROSTEPS
|
#ifdef Y_MICROSTEPS
|
||||||
case Y_AXIS:
|
case Y_AXIS:
|
||||||
phasePerUStep = 256 / (Y_MICROSTEPS);
|
phasePerUStep = PHASE_PER_MICROSTEP(Y);
|
||||||
phaseCurrent = stepperY.get_microstep_counter();
|
phaseCurrent = stepperY.get_microstep_counter();
|
||||||
effectorBackoutDir = -Y_HOME_DIR;
|
effectorBackoutDir = -Y_HOME_DIR;
|
||||||
stepperBackoutDir = INVERT_Y_DIR ? effectorBackoutDir : -effectorBackoutDir;
|
stepperBackoutDir = INVERT_Y_DIR ? effectorBackoutDir : -effectorBackoutDir;
|
||||||
@@ -1485,7 +1487,7 @@ void set_axis_never_homed(const AxisEnum axis) {
|
|||||||
#endif
|
#endif
|
||||||
#ifdef Z_MICROSTEPS
|
#ifdef Z_MICROSTEPS
|
||||||
case Z_AXIS:
|
case Z_AXIS:
|
||||||
phasePerUStep = 256 / (Z_MICROSTEPS);
|
phasePerUStep = PHASE_PER_MICROSTEP(Z);
|
||||||
phaseCurrent = stepperZ.get_microstep_counter();
|
phaseCurrent = stepperZ.get_microstep_counter();
|
||||||
effectorBackoutDir = -Z_HOME_DIR;
|
effectorBackoutDir = -Z_HOME_DIR;
|
||||||
stepperBackoutDir = INVERT_Z_DIR ? effectorBackoutDir : -effectorBackoutDir;
|
stepperBackoutDir = INVERT_Z_DIR ? effectorBackoutDir : -effectorBackoutDir;
|
||||||
|
|||||||
@@ -2261,7 +2261,6 @@ uint32_t Stepper::block_phase_isr() {
|
|||||||
interval = LA_isr_rate;
|
interval = LA_isr_rate;
|
||||||
}
|
}
|
||||||
else if (step_events_completed < decelerate_after && LA_current_adv_steps < LA_max_adv_steps) {
|
else if (step_events_completed < decelerate_after && LA_current_adv_steps < LA_max_adv_steps) {
|
||||||
//step_events_completed <= (uint32_t)accelerate_until) {
|
|
||||||
LA_steps++;
|
LA_steps++;
|
||||||
LA_current_adv_steps++;
|
LA_current_adv_steps++;
|
||||||
interval = LA_isr_rate;
|
interval = LA_isr_rate;
|
||||||
@@ -2272,6 +2271,8 @@ uint32_t Stepper::block_phase_isr() {
|
|||||||
else
|
else
|
||||||
interval = LA_ADV_NEVER;
|
interval = LA_ADV_NEVER;
|
||||||
|
|
||||||
|
if (!LA_steps) return interval; // Leave pins alone if there are no steps!
|
||||||
|
|
||||||
DIR_WAIT_BEFORE();
|
DIR_WAIT_BEFORE();
|
||||||
|
|
||||||
#if ENABLED(MIXING_EXTRUDER)
|
#if ENABLED(MIXING_EXTRUDER)
|
||||||
|
|||||||
@@ -1668,12 +1668,12 @@ void Temperature::updateTemperaturesFromRawValues() {
|
|||||||
#endif
|
#endif
|
||||||
#define INIT_FAN_PIN(P) do{ _INIT_FAN_PIN(P); SET_FAST_PWM_FREQ(P); }while(0)
|
#define INIT_FAN_PIN(P) do{ _INIT_FAN_PIN(P); SET_FAST_PWM_FREQ(P); }while(0)
|
||||||
#if EXTRUDER_AUTO_FAN_SPEED != 255
|
#if EXTRUDER_AUTO_FAN_SPEED != 255
|
||||||
#define INIT_E_AUTO_FAN_PIN(P) do{ if (P == FAN1_PIN || P == FAN2_PIN) { SET_PWM(P); SET_FAST_PWM_FREQ(FAST_PWM_FAN_FREQUENCY); } else SET_OUTPUT(P); }while(0)
|
#define INIT_E_AUTO_FAN_PIN(P) do{ if (P == FAN1_PIN || P == FAN2_PIN) { SET_PWM(P); SET_FAST_PWM_FREQ(P); } else SET_OUTPUT(P); }while(0)
|
||||||
#else
|
#else
|
||||||
#define INIT_E_AUTO_FAN_PIN(P) SET_OUTPUT(P)
|
#define INIT_E_AUTO_FAN_PIN(P) SET_OUTPUT(P)
|
||||||
#endif
|
#endif
|
||||||
#if CHAMBER_AUTO_FAN_SPEED != 255
|
#if CHAMBER_AUTO_FAN_SPEED != 255
|
||||||
#define INIT_CHAMBER_AUTO_FAN_PIN(P) do{ if (P == FAN1_PIN || P == FAN2_PIN) { SET_PWM(P); SET_FAST_PWM_FREQ(FAST_PWM_FAN_FREQUENCY); } else SET_OUTPUT(P); }while(0)
|
#define INIT_CHAMBER_AUTO_FAN_PIN(P) do{ if (P == FAN1_PIN || P == FAN2_PIN) { SET_PWM(P); SET_FAST_PWM_FREQ(P); } else SET_OUTPUT(P); }while(0)
|
||||||
#else
|
#else
|
||||||
#define INIT_CHAMBER_AUTO_FAN_PIN(P) SET_OUTPUT(P)
|
#define INIT_CHAMBER_AUTO_FAN_PIN(P) SET_OUTPUT(P)
|
||||||
#endif
|
#endif
|
||||||
@@ -1702,10 +1702,10 @@ void Temperature::init() {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Thermistor activation by MCU pin
|
// Thermistor activation by MCU pin
|
||||||
#if PIN_EXISTS(TEMP_0_TR_ENABLE_PIN)
|
#if PIN_EXISTS(TEMP_0_TR_ENABLE)
|
||||||
OUT_WRITE(TEMP_0_TR_ENABLE_PIN, ENABLED(HEATER_0_USES_MAX6675));
|
OUT_WRITE(TEMP_0_TR_ENABLE_PIN, ENABLED(HEATER_0_USES_MAX6675));
|
||||||
#endif
|
#endif
|
||||||
#if PIN_EXISTS(TEMP_1_TR_ENABLE_PIN)
|
#if PIN_EXISTS(TEMP_1_TR_ENABLE)
|
||||||
OUT_WRITE(TEMP_1_TR_ENABLE_PIN, ENABLED(HEATER_1_USES_MAX6675));
|
OUT_WRITE(TEMP_1_TR_ENABLE_PIN, ENABLED(HEATER_1_USES_MAX6675));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
@@ -659,11 +659,11 @@ bool CardReader::fileExists(const char * const path) {
|
|||||||
if (!isMounted()) return false;
|
if (!isMounted()) return false;
|
||||||
SdFile *diveDir = nullptr;
|
SdFile *diveDir = nullptr;
|
||||||
const char * const fname = diveToFile(false, diveDir, path);
|
const char * const fname = diveToFile(false, diveDir, path);
|
||||||
if (fname) {
|
// if (fname) {
|
||||||
diveDir->rewind();
|
// diveDir->rewind();
|
||||||
selectByName(*diveDir, fname);
|
// selectByName(*diveDir, fname);
|
||||||
diveDir->close();
|
// //diveDir->close();
|
||||||
}
|
// }
|
||||||
return fname != nullptr;
|
return fname != nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
26
README.md
26
README.md
@@ -6,6 +6,8 @@
|
|||||||
|
|
||||||
Прошивка работает на принтерах Flying Bear Ghost 4S и 5. Экран работает. WIFI работает.
|
Прошивка работает на принтерах Flying Bear Ghost 4S и 5. Экран работает. WIFI работает.
|
||||||
|
|
||||||
|
Если у вас есть какие-то вопросы по настройке прошивки или по ее использованию, вы можете задать свой вопрос в [telegram группе](https://t.me/Ghostbustersss).
|
||||||
|
|
||||||
## MKS WIFI модуль
|
## MKS WIFI модуль
|
||||||
|
|
||||||
### Работает
|
### Работает
|
||||||
@@ -98,9 +100,29 @@
|
|||||||
|
|
||||||
### BLTouch
|
### BLTouch
|
||||||
|
|
||||||
В прошивке по-умолчанию включена поддержка Bltouch. Парковка стола по оси Z настроена по стандартному концевику (а не по датчику), поэтому если у вас нет датчика, то мешать это не будет. Просто не трогайте настройки Z Offset (должно быть 0).
|
Bltouch отключен. [О подключении Bltouch](https://sergey1560.github.io/fb4s_howto/bltouch/).
|
||||||
|
|
||||||
|
### Firmware retract
|
||||||
|
|
||||||
|
Без использования опции "firmware retract" слайсер делает ретракты командами движения G1. В том месте, где нужно выполнить ректракт вставляются команды:
|
||||||
|
|
||||||
|
```
|
||||||
|
G1 E-2 F2100 ; "Откатить" 2мм со скоростью 35мм/с (2100 мм/мин)
|
||||||
|
команды движения
|
||||||
|
G1 E2 F2100 ; Вернуть обратно 2мм со скоростью 35мм/с (2100 мм/мин)
|
||||||
|
```
|
||||||
|
Для ректрактов в Marlin поддерживаются специальные команды - [G10](https://marlinfw.org/docs/gcode/G010.html) и [G11](https://marlinfw.org/docs/gcode/G011.html). В слайсере нужно включить поддержку firmware retract и тогда в том месте, где нужно "откатить" пластик будет вставлена команда G10, а там, где нужно его вернуть G11. Если никакие дополнительные параметры не установлены, будут использованы параметры из прошивки (2мм, 35мм/с).
|
||||||
|
|
||||||
|
Установить параметры можно командами [M207](https://marlinfw.org/docs/gcode/M207.html) и [M208](https://marlinfw.org/docs/gcode/M208.html).
|
||||||
|
|
||||||
|
Для того, чтобы можно было настраивать ретракт в слайсере, в стартовый код нужно добавить M207. Как правило, слайсеры позволяют добавить макрос в качестве параметров команды.
|
||||||
|
|
||||||
|
Firmware retract позволяет изменять значения ректракта из меню принтера прямо во время печати.
|
||||||
|
|
||||||
|
В Marlin есть функция автоматического распознования ректрактов командами G1 и замена их на G10/G11. Это функция отключена.
|
||||||
|
|
||||||
|
Если в слайсере не включена поддержка firmware retract, все будет работать как обычно.
|
||||||
|
|
||||||
Прошивка настроена на подключение датчика к разъему ZMax (концевик датчика) и PB2 (управление сервой). Подробнее о [подключении Bltouch](https://sergey1560.github.io/fb4s_howto/bltouch/).
|
|
||||||
|
|
||||||
### Драйвера TMC2209
|
### Драйвера TMC2209
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user