(2.0.x) serious bug G33
This commit is contained in:
parent
dd372505a0
commit
74b5a98223
4 changed files with 305 additions and 106 deletions
|
|
@ -1,4 +1,4 @@
|
||||||
/**
|
/**
|
||||||
* Marlin 3D Printer Firmware
|
* Marlin 3D Printer Firmware
|
||||||
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
|
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
|
||||||
*
|
*
|
||||||
|
|
@ -74,7 +74,7 @@
|
||||||
// User-specified version info of this build to display in [Pronterface, etc] terminal window during
|
// User-specified version info of this build to display in [Pronterface, etc] terminal window during
|
||||||
// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this
|
// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this
|
||||||
// build by the user have been successfully uploaded into firmware.
|
// build by the user have been successfully uploaded into firmware.
|
||||||
#define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes.
|
#define STRING_CONFIG_H_AUTHOR "(LVD, FLSUN-AC)" // Who made the changes.
|
||||||
#define SHOW_BOOTSCREEN
|
#define SHOW_BOOTSCREEN
|
||||||
#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1
|
#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1
|
||||||
#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2
|
#define STRING_SPLASH_LINE2 WEBSITE_URL // will be shown during bootup in line 2
|
||||||
|
|
@ -119,12 +119,12 @@
|
||||||
// The following define selects which electronics board you have.
|
// The following define selects which electronics board you have.
|
||||||
// Please choose the name from boards.h that matches your setup
|
// Please choose the name from boards.h that matches your setup
|
||||||
#ifndef MOTHERBOARD
|
#ifndef MOTHERBOARD
|
||||||
#define MOTHERBOARD BOARD_RAMPS_14_EFB
|
#define MOTHERBOARD BOARD_RAMPS_13_EFB
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Optional custom name for your RepStrap or other custom machine
|
// Optional custom name for your RepStrap or other custom machine
|
||||||
// Displayed in the LCD "Ready" message
|
// Displayed in the LCD "Ready" message
|
||||||
//#define CUSTOM_MACHINE_NAME "3D Printer"
|
#define CUSTOM_MACHINE_NAME "FLSUN Kossel"
|
||||||
|
|
||||||
// Define this to set a unique identifier for this printer, (Used by some programs to differentiate between machines)
|
// Define this to set a unique identifier for this printer, (Used by some programs to differentiate between machines)
|
||||||
// You can use an online service to generate a random UUID. (eg http://www.uuidgenerator.net/version4)
|
// You can use an online service to generate a random UUID. (eg http://www.uuidgenerator.net/version4)
|
||||||
|
|
@ -283,12 +283,12 @@
|
||||||
*
|
*
|
||||||
* :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" }
|
* :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950 1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" }
|
||||||
*/
|
*/
|
||||||
#define TEMP_SENSOR_0 1
|
#define TEMP_SENSOR_0 5
|
||||||
#define TEMP_SENSOR_1 0
|
#define TEMP_SENSOR_1 0
|
||||||
#define TEMP_SENSOR_2 0
|
#define TEMP_SENSOR_2 0
|
||||||
#define TEMP_SENSOR_3 0
|
#define TEMP_SENSOR_3 0
|
||||||
#define TEMP_SENSOR_4 0
|
#define TEMP_SENSOR_4 0
|
||||||
#define TEMP_SENSOR_BED 0
|
#define TEMP_SENSOR_BED 5
|
||||||
|
|
||||||
// Dummy thermistor constant temperature readings, for use with 998 and 999
|
// Dummy thermistor constant temperature readings, for use with 998 and 999
|
||||||
#define DUMMY_THERMISTOR_998_VALUE 25
|
#define DUMMY_THERMISTOR_998_VALUE 25
|
||||||
|
|
@ -297,7 +297,7 @@
|
||||||
// Use temp sensor 1 as a redundant sensor with sensor 0. If the readings
|
// Use temp sensor 1 as a redundant sensor with sensor 0. If the readings
|
||||||
// from the two sensors differ too much the print will be aborted.
|
// from the two sensors differ too much the print will be aborted.
|
||||||
//#define TEMP_SENSOR_1_AS_REDUNDANT
|
//#define TEMP_SENSOR_1_AS_REDUNDANT
|
||||||
#define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10
|
#define MAX_REDUNDANT_TEMP_SENSOR_DIFF 5
|
||||||
|
|
||||||
// Extruder temperature must be close to target for this long before M109 returns success
|
// Extruder temperature must be close to target for this long before M109 returns success
|
||||||
#define TEMP_RESIDENCY_TIME 10 // (seconds)
|
#define TEMP_RESIDENCY_TIME 10 // (seconds)
|
||||||
|
|
@ -305,7 +305,7 @@
|
||||||
#define TEMP_WINDOW 1 // (degC) Window around target to start the residency timer x degC early.
|
#define TEMP_WINDOW 1 // (degC) Window around target to start the residency timer x degC early.
|
||||||
|
|
||||||
// Bed temperature must be close to target for this long before M190 returns success
|
// Bed temperature must be close to target for this long before M190 returns success
|
||||||
#define TEMP_BED_RESIDENCY_TIME 10 // (seconds)
|
#define TEMP_BED_RESIDENCY_TIME 1 // (seconds)
|
||||||
#define TEMP_BED_HYSTERESIS 3 // (degC) range of +/- temperatures considered "close" to the target one
|
#define TEMP_BED_HYSTERESIS 3 // (degC) range of +/- temperatures considered "close" to the target one
|
||||||
#define TEMP_BED_WINDOW 1 // (degC) Window around target to start the residency timer x degC early.
|
#define TEMP_BED_WINDOW 1 // (degC) Window around target to start the residency timer x degC early.
|
||||||
|
|
||||||
|
|
@ -322,12 +322,12 @@
|
||||||
// When temperature exceeds max temp, your heater will be switched off.
|
// When temperature exceeds max temp, your heater will be switched off.
|
||||||
// This feature exists to protect your hotend from overheating accidentally, but *NOT* from thermistor short/failure!
|
// This feature exists to protect your hotend from overheating accidentally, but *NOT* from thermistor short/failure!
|
||||||
// You should use MINTEMP for thermistor short/failure protection.
|
// You should use MINTEMP for thermistor short/failure protection.
|
||||||
#define HEATER_0_MAXTEMP 275
|
#define HEATER_0_MAXTEMP 250
|
||||||
#define HEATER_1_MAXTEMP 275
|
#define HEATER_1_MAXTEMP 250
|
||||||
#define HEATER_2_MAXTEMP 275
|
#define HEATER_2_MAXTEMP 250
|
||||||
#define HEATER_3_MAXTEMP 275
|
#define HEATER_3_MAXTEMP 250
|
||||||
#define HEATER_4_MAXTEMP 275
|
#define HEATER_4_MAXTEMP 250
|
||||||
#define BED_MAXTEMP 150
|
#define BED_MAXTEMP 115
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================= PID Settings ================================
|
//============================= PID Settings ================================
|
||||||
|
|
@ -339,7 +339,7 @@
|
||||||
#define BANG_MAX 255 // limits current to nozzle while in bang-bang mode; 255=full current
|
#define BANG_MAX 255 // limits current to nozzle while in bang-bang mode; 255=full current
|
||||||
#define PID_MAX BANG_MAX // limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
#define PID_MAX BANG_MAX // limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
|
||||||
#if ENABLED(PIDTEMP)
|
#if ENABLED(PIDTEMP)
|
||||||
//#define PID_AUTOTUNE_MENU // Add PID Autotune to the LCD "Temperature" menu to run M303 and apply the result.
|
#define PID_AUTOTUNE_MENU // Add PID Autotune to the LCD "Temperature" menu to run M303 and apply the result.
|
||||||
//#define PID_DEBUG // Sends debug data to the serial port.
|
//#define PID_DEBUG // Sends debug data to the serial port.
|
||||||
//#define PID_OPENLOOP 1 // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
//#define PID_OPENLOOP 1 // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
|
||||||
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
|
||||||
|
|
@ -352,9 +352,9 @@
|
||||||
// If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
|
// If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
|
||||||
|
|
||||||
// Ultimaker
|
// Ultimaker
|
||||||
#define DEFAULT_Kp 22.2
|
//#define DEFAULT_Kp 22.2
|
||||||
#define DEFAULT_Ki 1.08
|
//#define DEFAULT_Ki 1.08
|
||||||
#define DEFAULT_Kd 114
|
//#define DEFAULT_Kd 114
|
||||||
|
|
||||||
// MakerGear
|
// MakerGear
|
||||||
//#define DEFAULT_Kp 7.0
|
//#define DEFAULT_Kp 7.0
|
||||||
|
|
@ -366,6 +366,11 @@
|
||||||
//#define DEFAULT_Ki 2.25
|
//#define DEFAULT_Ki 2.25
|
||||||
//#define DEFAULT_Kd 440
|
//#define DEFAULT_Kd 440
|
||||||
|
|
||||||
|
//E3D with 30MM fan
|
||||||
|
#define DEFAULT_Kp 24.77
|
||||||
|
#define DEFAULT_Ki 1.84
|
||||||
|
#define DEFAULT_Kd 83.61
|
||||||
|
|
||||||
#endif // PIDTEMP
|
#endif // PIDTEMP
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
|
|
@ -396,9 +401,9 @@
|
||||||
|
|
||||||
//120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
|
//120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
|
||||||
//from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
|
//from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
|
||||||
#define DEFAULT_bedKp 10.00
|
//#define DEFAULT_bedKp 10.00
|
||||||
#define DEFAULT_bedKi .023
|
//#define DEFAULT_bedKi .023
|
||||||
#define DEFAULT_bedKd 305.4
|
//#define DEFAULT_bedKd 305.4
|
||||||
|
|
||||||
//120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
|
//120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
|
||||||
//from pidautotune
|
//from pidautotune
|
||||||
|
|
@ -406,6 +411,11 @@
|
||||||
//#define DEFAULT_bedKi 1.41
|
//#define DEFAULT_bedKi 1.41
|
||||||
//#define DEFAULT_bedKd 1675.16
|
//#define DEFAULT_bedKd 1675.16
|
||||||
|
|
||||||
|
//D-force
|
||||||
|
#define DEFAULT_bedKp 22.97
|
||||||
|
#define DEFAULT_bedKi 3.76
|
||||||
|
#define DEFAULT_bedKd 29.2
|
||||||
|
|
||||||
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
|
||||||
#endif // PIDTEMPBED
|
#endif // PIDTEMPBED
|
||||||
|
|
||||||
|
|
@ -421,7 +431,7 @@
|
||||||
// This option prevents a single extrusion longer than EXTRUDE_MAXLENGTH.
|
// This option prevents a single extrusion longer than EXTRUDE_MAXLENGTH.
|
||||||
// Note that for Bowden Extruders a too-small value here may prevent loading.
|
// Note that for Bowden Extruders a too-small value here may prevent loading.
|
||||||
#define PREVENT_LENGTHY_EXTRUDE
|
#define PREVENT_LENGTHY_EXTRUDE
|
||||||
#define EXTRUDE_MAXLENGTH 200
|
#define EXTRUDE_MAXLENGTH 300
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//======================== Thermal Runaway Protection =======================
|
//======================== Thermal Runaway Protection =======================
|
||||||
|
|
@ -457,6 +467,75 @@
|
||||||
//#define COREZX
|
//#define COREZX
|
||||||
//#define COREZY
|
//#define COREZY
|
||||||
|
|
||||||
|
//===========================================================================
|
||||||
|
//============================== Delta Settings =============================
|
||||||
|
//===========================================================================
|
||||||
|
// Enable DELTA kinematics and most of the default configuration for Deltas
|
||||||
|
#define DELTA
|
||||||
|
|
||||||
|
#if ENABLED(DELTA)
|
||||||
|
|
||||||
|
// Make delta curves from many straight lines (linear interpolation).
|
||||||
|
// This is a trade-off between visible corners (not enough segments)
|
||||||
|
// and processor overload (too many expensive sqrt calls).
|
||||||
|
#define DELTA_SEGMENTS_PER_SECOND 160
|
||||||
|
|
||||||
|
// After homing move down to a height where XY movement is unconstrained
|
||||||
|
//#define DELTA_HOME_TO_SAFE_ZONE
|
||||||
|
|
||||||
|
// Delta calibration menu
|
||||||
|
// uncomment to add three points calibration menu option.
|
||||||
|
// See http://minow.blogspot.com/index.html#4918805519571907051
|
||||||
|
#define DELTA_CALIBRATION_MENU
|
||||||
|
|
||||||
|
// uncomment to add G33 Delta Auto-Calibration (Enable EEPROM_SETTINGS to store results)
|
||||||
|
#define DELTA_AUTO_CALIBRATION
|
||||||
|
|
||||||
|
// NOTE NB all values for DELTA_* values MUST be floating point, so always have a decimal point in them
|
||||||
|
|
||||||
|
#if ENABLED(DELTA_AUTO_CALIBRATION)
|
||||||
|
// set the default number of probe points : n*n (1 -> 7)
|
||||||
|
#define DELTA_CALIBRATION_DEFAULT_POINTS 4
|
||||||
|
|
||||||
|
// Enable and set these values based on results of 'G33 A1'
|
||||||
|
//#define H_FACTOR 1.01
|
||||||
|
//#define R_FACTOR 2.61
|
||||||
|
//#define A_FACTOR 0.87
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if ENABLED(DELTA_AUTO_CALIBRATION) || ENABLED(DELTA_CALIBRATION_MENU)
|
||||||
|
// Set the radius for the calibration probe points - max DELTA_PRINTABLE_RADIUS*0.869 for non-eccentric probes
|
||||||
|
#define DELTA_CALIBRATION_RADIUS 73.5 // mm
|
||||||
|
// Set the steprate for papertest probing
|
||||||
|
#define PROBE_MANUALLY_STEP 0.025
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// Print surface diameter/2 minus unreachable space (avoid collisions with vertical towers).
|
||||||
|
#define DELTA_PRINTABLE_RADIUS 85.0 // mm
|
||||||
|
|
||||||
|
// Center-to-center distance of the holes in the diagonal push rods.
|
||||||
|
#define DELTA_DIAGONAL_ROD 218.0 // mm
|
||||||
|
|
||||||
|
// height from z=0 to home position
|
||||||
|
#define DELTA_HEIGHT 295.00 // get this value from auto calibrate
|
||||||
|
|
||||||
|
#define DELTA_ENDSTOP_ADJ { 0.0, 0.0, 0.0 } // get these from auto calibrate
|
||||||
|
|
||||||
|
// Horizontal distance bridged by diagonal push rods when effector is centered.
|
||||||
|
#define DELTA_RADIUS 101.0 //mm Get this value from auto calibrate
|
||||||
|
|
||||||
|
// Trim adjustments for individual towers
|
||||||
|
// tower angle corrections for X and Y tower / rotate XYZ so Z tower angle = 0
|
||||||
|
// measured in degrees anticlockwise looking from above the printer
|
||||||
|
#define DELTA_TOWER_ANGLE_TRIM { 0.0, 0.0, 0.0 } // get these values from auto calibrate
|
||||||
|
|
||||||
|
// delta radius and diaginal rod adjustments measured in mm
|
||||||
|
//#define DELTA_RADIUS_TRIM_TOWER { 0.0, 0.0, 0.0 }
|
||||||
|
//#define DELTA_DIAGONAL_ROD_TRIM_TOWER { 0.0, 0.0, 0.0 }
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//============================== Endstop Settings ===========================
|
//============================== Endstop Settings ===========================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
|
|
@ -466,12 +545,12 @@
|
||||||
// Specify here all the endstop connectors that are connected to any endstop or probe.
|
// Specify here all the endstop connectors that are connected to any endstop or probe.
|
||||||
// Almost all printers will be using one per axis. Probes will use one or more of the
|
// Almost all printers will be using one per axis. Probes will use one or more of the
|
||||||
// extra connectors. Leave undefined any used for non-endstop and non-probe purposes.
|
// extra connectors. Leave undefined any used for non-endstop and non-probe purposes.
|
||||||
#define USE_XMIN_PLUG
|
//#define USE_XMIN_PLUG
|
||||||
#define USE_YMIN_PLUG
|
//#define USE_YMIN_PLUG
|
||||||
#define USE_ZMIN_PLUG
|
#define USE_ZMIN_PLUG
|
||||||
//#define USE_XMAX_PLUG
|
#define USE_XMAX_PLUG
|
||||||
//#define USE_YMAX_PLUG
|
#define USE_YMAX_PLUG
|
||||||
//#define USE_ZMAX_PLUG
|
#define USE_ZMAX_PLUG
|
||||||
|
|
||||||
// coarse Endstop Settings
|
// coarse Endstop Settings
|
||||||
#define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors
|
#define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors
|
||||||
|
|
@ -490,11 +569,11 @@
|
||||||
// Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup).
|
// Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup).
|
||||||
#define X_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
|
#define X_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
|
||||||
#define Y_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
|
#define Y_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
|
||||||
#define Z_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
|
#define Z_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
|
||||||
#define X_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
|
#define X_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
|
||||||
#define Y_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
|
#define Y_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
|
||||||
#define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
|
#define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
|
||||||
#define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe.
|
#define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe.
|
||||||
|
|
||||||
// Enable this feature if all enabled endstop pins are interrupt-capable.
|
// Enable this feature if all enabled endstop pins are interrupt-capable.
|
||||||
// This will remove the need to poll the interrupt pins, saving many CPU cycles.
|
// This will remove the need to poll the interrupt pins, saving many CPU cycles.
|
||||||
|
|
@ -505,6 +584,7 @@
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
// @section motion
|
// @section motion
|
||||||
|
|
||||||
|
// delta speeds must be the same on xyz
|
||||||
/**
|
/**
|
||||||
* Default Settings
|
* Default Settings
|
||||||
*
|
*
|
||||||
|
|
@ -525,14 +605,14 @@
|
||||||
* Override with M92
|
* Override with M92
|
||||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||||
*/
|
*/
|
||||||
#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 4000, 500 }
|
#define DEFAULT_AXIS_STEPS_PER_UNIT { 100, 100, 100, 100 } // default steps per unit for Kossel (GT2, 20 tooth)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Default Max Feed Rate (mm/s)
|
* Default Max Feed Rate (mm/s)
|
||||||
* Override with M203
|
* Override with M203
|
||||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||||
*/
|
*/
|
||||||
#define DEFAULT_MAX_FEEDRATE { 300, 300, 5, 25 }
|
#define DEFAULT_MAX_FEEDRATE { 200, 200, 200, 25 }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Default Max Acceleration (change/s) change = mm/s
|
* Default Max Acceleration (change/s) change = mm/s
|
||||||
|
|
@ -540,7 +620,7 @@
|
||||||
* Override with M201
|
* Override with M201
|
||||||
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
|
||||||
*/
|
*/
|
||||||
#define DEFAULT_MAX_ACCELERATION { 3000, 3000, 100, 10000 }
|
#define DEFAULT_MAX_ACCELERATION { 4000, 4000, 4000, 4000 }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Default Acceleration (change/s) change = mm/s
|
* Default Acceleration (change/s) change = mm/s
|
||||||
|
|
@ -563,8 +643,8 @@
|
||||||
* value set here, it may happen instantaneously.
|
* value set here, it may happen instantaneously.
|
||||||
*/
|
*/
|
||||||
#define DEFAULT_XJERK 20.0
|
#define DEFAULT_XJERK 20.0
|
||||||
#define DEFAULT_YJERK 20.0
|
#define DEFAULT_YJERK DEFAULT_XJERK
|
||||||
#define DEFAULT_ZJERK 0.4
|
#define DEFAULT_ZJERK DEFAULT_YJERK // Must be same as XY for delta
|
||||||
#define DEFAULT_EJERK 5.0
|
#define DEFAULT_EJERK 5.0
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
|
|
@ -602,7 +682,7 @@
|
||||||
* disastrous consequences. Use with caution and do your homework.
|
* disastrous consequences. Use with caution and do your homework.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
//#define Z_MIN_PROBE_ENDSTOP
|
//#define Z_MIN_PROBE_ENDSTOP // A3K leave disabled!
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Probe Type
|
* Probe Type
|
||||||
|
|
@ -622,7 +702,7 @@
|
||||||
* A Fix-Mounted Probe either doesn't deploy or needs manual deployment.
|
* A Fix-Mounted Probe either doesn't deploy or needs manual deployment.
|
||||||
* (e.g., an inductive probe or a nozzle-based probe-switch.)
|
* (e.g., an inductive probe or a nozzle-based probe-switch.)
|
||||||
*/
|
*/
|
||||||
//#define FIX_MOUNTED_PROBE
|
#define FIX_MOUNTED_PROBE
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Z Servo Probe, such as an endstop switch on a rotating arm.
|
* Z Servo Probe, such as an endstop switch on a rotating arm.
|
||||||
|
|
@ -679,22 +759,72 @@
|
||||||
* O-- FRONT --+
|
* O-- FRONT --+
|
||||||
* (0,0)
|
* (0,0)
|
||||||
*/
|
*/
|
||||||
#define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle]
|
#define X_PROBE_OFFSET_FROM_EXTRUDER 0 // X offset: -left +right [of the nozzle]
|
||||||
#define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle]
|
#define Y_PROBE_OFFSET_FROM_EXTRUDER 0 // Y offset: -front +behind [the nozzle]
|
||||||
#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle]
|
#define Z_PROBE_OFFSET_FROM_EXTRUDER 0.10 // Z offset: -below +above [the nozzle]
|
||||||
|
|
||||||
// X and Y axis travel speed (mm/m) between probes
|
// X and Y axis travel speed (mm/m) between probes
|
||||||
#define XY_PROBE_SPEED 8000
|
#define XY_PROBE_SPEED 5000
|
||||||
|
|
||||||
// Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
|
// Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
|
||||||
#define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
|
#define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
|
||||||
|
|
||||||
// Speed for the "accurate" probe of each point
|
// Speed for the "accurate" probe of each point
|
||||||
#define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
|
#define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST) / 6
|
||||||
|
|
||||||
// Use double touch for probing
|
// Use double touch for probing
|
||||||
//#define PROBE_DOUBLE_TOUCH
|
//#define PROBE_DOUBLE_TOUCH
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Allen key retractable z-probe as seen on many Kossel delta printers - http://reprap.org/wiki/Kossel#Automatic_bed_leveling_probe
|
||||||
|
* Deploys by touching z-axis belt. Retracts by pushing the probe down. Uses Z_MIN_PIN.
|
||||||
|
*/
|
||||||
|
//#define Z_PROBE_ALLEN_KEY
|
||||||
|
|
||||||
|
#if ENABLED(Z_PROBE_ALLEN_KEY)
|
||||||
|
// 2 or 3 sets of coordinates for deploying and retracting the spring loaded touch probe on G29,
|
||||||
|
// if servo actuated touch probe is not defined. Uncomment as appropriate for your printer/probe.
|
||||||
|
|
||||||
|
// Kossel Mini
|
||||||
|
#define Z_PROBE_ALLEN_KEY_DEPLOY_1_X 30.0
|
||||||
|
#define Z_PROBE_ALLEN_KEY_DEPLOY_1_Y DELTA_PRINTABLE_RADIUS
|
||||||
|
#define Z_PROBE_ALLEN_KEY_DEPLOY_1_Z 100.0
|
||||||
|
#define Z_PROBE_ALLEN_KEY_DEPLOY_1_FEEDRATE XY_PROBE_SPEED
|
||||||
|
|
||||||
|
#define Z_PROBE_ALLEN_KEY_DEPLOY_2_X 0.0
|
||||||
|
#define Z_PROBE_ALLEN_KEY_DEPLOY_2_Y DELTA_PRINTABLE_RADIUS
|
||||||
|
#define Z_PROBE_ALLEN_KEY_DEPLOY_2_Z 100.0
|
||||||
|
#define Z_PROBE_ALLEN_KEY_DEPLOY_2_FEEDRATE (XY_PROBE_SPEED)/10
|
||||||
|
|
||||||
|
#define Z_PROBE_ALLEN_KEY_DEPLOY_3_X Z_PROBE_ALLEN_KEY_DEPLOY_2_X * 0.75
|
||||||
|
#define Z_PROBE_ALLEN_KEY_DEPLOY_3_Y Z_PROBE_ALLEN_KEY_DEPLOY_2_Y * 0.75
|
||||||
|
#define Z_PROBE_ALLEN_KEY_DEPLOY_3_Z Z_PROBE_ALLEN_KEY_DEPLOY_2_Z
|
||||||
|
#define Z_PROBE_ALLEN_KEY_DEPLOY_3_FEEDRATE XY_PROBE_SPEED
|
||||||
|
|
||||||
|
#define Z_PROBE_ALLEN_KEY_STOW_DEPTH 20
|
||||||
|
// Move the probe into position
|
||||||
|
#define Z_PROBE_ALLEN_KEY_STOW_1_X -64.0
|
||||||
|
#define Z_PROBE_ALLEN_KEY_STOW_1_Y 56.0
|
||||||
|
#define Z_PROBE_ALLEN_KEY_STOW_1_Z 23.0
|
||||||
|
#define Z_PROBE_ALLEN_KEY_STOW_1_FEEDRATE XY_PROBE_SPEED
|
||||||
|
// Move the nozzle down further to push the probe into retracted position.
|
||||||
|
#define Z_PROBE_ALLEN_KEY_STOW_2_X Z_PROBE_ALLEN_KEY_STOW_1_X
|
||||||
|
#define Z_PROBE_ALLEN_KEY_STOW_2_Y Z_PROBE_ALLEN_KEY_STOW_1_Y
|
||||||
|
#define Z_PROBE_ALLEN_KEY_STOW_2_Z (Z_PROBE_ALLEN_KEY_STOW_1_Z-Z_PROBE_ALLEN_KEY_STOW_DEPTH)
|
||||||
|
#define Z_PROBE_ALLEN_KEY_STOW_2_FEEDRATE (XY_PROBE_SPEED/10)
|
||||||
|
// Raise things back up slightly so we don't bump into anything
|
||||||
|
#define Z_PROBE_ALLEN_KEY_STOW_3_X Z_PROBE_ALLEN_KEY_STOW_2_X
|
||||||
|
#define Z_PROBE_ALLEN_KEY_STOW_3_Y Z_PROBE_ALLEN_KEY_STOW_2_Y
|
||||||
|
#define Z_PROBE_ALLEN_KEY_STOW_3_Z (Z_PROBE_ALLEN_KEY_STOW_1_Z+Z_PROBE_ALLEN_KEY_STOW_DEPTH)
|
||||||
|
#define Z_PROBE_ALLEN_KEY_STOW_3_FEEDRATE (XY_PROBE_SPEED/2)
|
||||||
|
|
||||||
|
#define Z_PROBE_ALLEN_KEY_STOW_4_X 0.0
|
||||||
|
#define Z_PROBE_ALLEN_KEY_STOW_4_Y 0.0
|
||||||
|
#define Z_PROBE_ALLEN_KEY_STOW_4_Z Z_PROBE_ALLEN_KEY_STOW_3_Z
|
||||||
|
#define Z_PROBE_ALLEN_KEY_STOW_4_FEEDRATE XY_PROBE_SPEED
|
||||||
|
|
||||||
|
#endif // Z_PROBE_ALLEN_KEY
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Z probes require clearance when deploying, stowing, and moving between
|
* Z probes require clearance when deploying, stowing, and moving between
|
||||||
* probe points to avoid hitting the bed and other hardware.
|
* probe points to avoid hitting the bed and other hardware.
|
||||||
|
|
@ -709,8 +839,8 @@
|
||||||
* Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle.
|
* Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle.
|
||||||
* But: `M851 Z+1` with a CLEARANCE of 2 => 2mm from bed to nozzle.
|
* But: `M851 Z+1` with a CLEARANCE of 2 => 2mm from bed to nozzle.
|
||||||
*/
|
*/
|
||||||
#define Z_CLEARANCE_DEPLOY_PROBE 10 // Z Clearance for Deploy/Stow
|
#define Z_CLEARANCE_DEPLOY_PROBE 5 // Z Clearance for Deploy/Stow
|
||||||
#define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points
|
#define Z_CLEARANCE_BETWEEN_PROBES 2 // Z Clearance between probe points
|
||||||
|
|
||||||
// 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 -20
|
||||||
|
|
@ -742,9 +872,9 @@
|
||||||
// @section machine
|
// @section machine
|
||||||
|
|
||||||
// Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way.
|
// Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way.
|
||||||
#define INVERT_X_DIR false
|
#define INVERT_X_DIR true // DELTA does not invert
|
||||||
#define INVERT_Y_DIR true
|
#define INVERT_Y_DIR true
|
||||||
#define INVERT_Z_DIR false
|
#define INVERT_Z_DIR true
|
||||||
|
|
||||||
// Enable this option for Toshiba stepper drivers
|
// Enable this option for Toshiba stepper drivers
|
||||||
//#define CONFIG_STEPPERS_TOSHIBA
|
//#define CONFIG_STEPPERS_TOSHIBA
|
||||||
|
|
@ -762,28 +892,28 @@
|
||||||
|
|
||||||
//#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 Z_HOMING_HEIGHT 4 // (in mm) Minimal z height before homing (G28) for Z clearance above the bed, clamps, ...
|
#define Z_HOMING_HEIGHT 15 // (in mm) Minimal z height before homing (G28) for Z clearance above the bed, clamps, ...
|
||||||
// Be sure you have this distance over your Z_MAX_POS in case.
|
// Be sure you have this distance over your Z_MAX_POS in case.
|
||||||
|
|
||||||
// Direction of endstops when homing; 1=MAX, -1=MIN
|
// Direction of endstops when homing; 1=MAX, -1=MIN
|
||||||
// :[-1,1]
|
// :[-1,1]
|
||||||
#define X_HOME_DIR -1
|
#define X_HOME_DIR 1 // deltas always home to max
|
||||||
#define Y_HOME_DIR -1
|
#define Y_HOME_DIR 1
|
||||||
#define Z_HOME_DIR -1
|
#define Z_HOME_DIR 1
|
||||||
|
|
||||||
// @section machine
|
// @section machine
|
||||||
|
|
||||||
// The size of the print bed
|
// The size of the print bed
|
||||||
#define X_BED_SIZE 200
|
#define X_BED_SIZE ((DELTA_PRINTABLE_RADIUS) * 2)
|
||||||
#define Y_BED_SIZE 200
|
#define Y_BED_SIZE ((DELTA_PRINTABLE_RADIUS) * 2)
|
||||||
|
|
||||||
// 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 -(DELTA_PRINTABLE_RADIUS)
|
||||||
#define Y_MIN_POS 0
|
#define Y_MIN_POS -(DELTA_PRINTABLE_RADIUS)
|
||||||
#define Z_MIN_POS 0
|
#define Z_MIN_POS 0
|
||||||
#define X_MAX_POS X_BED_SIZE
|
#define X_MAX_POS DELTA_PRINTABLE_RADIUS
|
||||||
#define Y_MAX_POS Y_BED_SIZE
|
#define Y_MAX_POS DELTA_PRINTABLE_RADIUS
|
||||||
#define Z_MAX_POS 200
|
#define Z_MAX_POS MANUAL_Z_HOME_POS
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Software Endstops
|
* Software Endstops
|
||||||
|
|
@ -794,15 +924,15 @@
|
||||||
* - Use 'M211' to set software endstops on/off or report current state
|
* - Use 'M211' to set software endstops on/off or report current state
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Min software endstops constrain movement within minimum coordinate bounds
|
// Min software endstops curtail movement below minimum coordinate bounds
|
||||||
#define MIN_SOFTWARE_ENDSTOPS
|
//#define MIN_SOFTWARE_ENDSTOPS
|
||||||
#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 curtail movement above maximum coordinate bounds
|
||||||
#define MAX_SOFTWARE_ENDSTOPS
|
#define MAX_SOFTWARE_ENDSTOPS
|
||||||
#if ENABLED(MAX_SOFTWARE_ENDSTOPS)
|
#if ENABLED(MAX_SOFTWARE_ENDSTOPS)
|
||||||
#define MAX_SOFTWARE_ENDSTOP_X
|
#define MAX_SOFTWARE_ENDSTOP_X
|
||||||
|
|
@ -881,23 +1011,25 @@
|
||||||
// Gradually reduce leveling correction until a set height is reached,
|
// Gradually reduce leveling correction until a set height is reached,
|
||||||
// at which point movement will be level to the machine's XY plane.
|
// at which point movement will be level to the machine's XY plane.
|
||||||
// The height can be set with M420 Z<height>
|
// The height can be set with M420 Z<height>
|
||||||
#define ENABLE_LEVELING_FADE_HEIGHT
|
//#define ENABLE_LEVELING_FADE_HEIGHT
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR)
|
#if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR)
|
||||||
|
|
||||||
// Set the number of grid points per dimension.
|
// Set the number of grid points per dimension.
|
||||||
#define GRID_MAX_POINTS_X 3
|
// Works best with 5 or more points in each dimension.
|
||||||
|
#define GRID_MAX_POINTS_X 7
|
||||||
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
||||||
|
|
||||||
// Set the boundaries for probing (where the probe can reach).
|
// Set the boundaries for probing (where the probe can reach).
|
||||||
#define LEFT_PROBE_BED_POSITION 15
|
#define DELTA_PROBEABLE_RADIUS (DELTA_PRINTABLE_RADIUS - 15)
|
||||||
#define RIGHT_PROBE_BED_POSITION 170
|
#define LEFT_PROBE_BED_POSITION -(DELTA_PROBEABLE_RADIUS)
|
||||||
#define FRONT_PROBE_BED_POSITION 20
|
#define RIGHT_PROBE_BED_POSITION DELTA_PROBEABLE_RADIUS
|
||||||
#define BACK_PROBE_BED_POSITION 170
|
#define FRONT_PROBE_BED_POSITION -(DELTA_PROBEABLE_RADIUS)
|
||||||
|
#define BACK_PROBE_BED_POSITION DELTA_PROBEABLE_RADIUS
|
||||||
|
|
||||||
// The Z probe minimum outer margin (to validate G29 parameters).
|
// The Z probe minimum outer margin (to validate G29 parameters).
|
||||||
#define MIN_PROBE_EDGE 10
|
#define MIN_PROBE_EDGE 20
|
||||||
|
|
||||||
// Probe along the Y axis, advancing X after each column
|
// Probe along the Y axis, advancing X after each column
|
||||||
//#define PROBE_Y_FIRST
|
//#define PROBE_Y_FIRST
|
||||||
|
|
@ -941,14 +1073,16 @@
|
||||||
#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
|
||||||
|
|
||||||
#define UBL_PROBE_PT_1_X 39 // Probing points for 3-Point leveling of the mesh
|
#define _PX(R,A) (R) * cos(RADIANS(A))
|
||||||
#define UBL_PROBE_PT_1_Y 180
|
#define _PY(R,A) (R) * sin(RADIANS(A))
|
||||||
#define UBL_PROBE_PT_2_X 39
|
#define UBL_PROBE_PT_1_X _PX(DELTA_PROBEABLE_RADIUS, 0) // Probing points for 3-Point leveling of the mesh
|
||||||
#define UBL_PROBE_PT_2_Y 20
|
#define UBL_PROBE_PT_1_Y _PY(DELTA_PROBEABLE_RADIUS, 0)
|
||||||
#define UBL_PROBE_PT_3_X 180
|
#define UBL_PROBE_PT_2_X _PX(DELTA_PROBEABLE_RADIUS, 120)
|
||||||
#define UBL_PROBE_PT_3_Y 20
|
#define UBL_PROBE_PT_2_Y _PY(DELTA_PROBEABLE_RADIUS, 120)
|
||||||
|
#define UBL_PROBE_PT_3_X _PX(DELTA_PROBEABLE_RADIUS, 240)
|
||||||
|
#define UBL_PROBE_PT_3_Y _PY(DELTA_PROBEABLE_RADIUS, 240)
|
||||||
|
|
||||||
//#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
||||||
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
||||||
#define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
|
#define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
|
||||||
|
|
||||||
|
|
@ -990,13 +1124,13 @@
|
||||||
// @section homing
|
// @section homing
|
||||||
|
|
||||||
// The center of the bed is at (X=0, Y=0)
|
// The center of the bed is at (X=0, Y=0)
|
||||||
//#define BED_CENTER_AT_0_0
|
#define BED_CENTER_AT_0_0
|
||||||
|
|
||||||
// Manually set the home position. Leave these undefined for automatic settings.
|
// Manually set the home position. Leave these undefined for automatic settings.
|
||||||
// For DELTA this is the top-center of the Cartesian print volume.
|
// For DELTA this is the top-center of the Cartesian print volume.
|
||||||
//#define MANUAL_X_HOME_POS 0
|
//#define MANUAL_X_HOME_POS 0
|
||||||
//#define MANUAL_Y_HOME_POS 0
|
//#define MANUAL_Y_HOME_POS 0
|
||||||
//#define MANUAL_Z_HOME_POS 0
|
#define MANUAL_Z_HOME_POS DELTA_HEIGHT // Distance between the nozzle to printbed after homing
|
||||||
|
|
||||||
// Use "Z Safe Homing" to avoid homing with a Z probe outside the bed area.
|
// Use "Z Safe Homing" to avoid homing with a Z probe outside the bed area.
|
||||||
//
|
//
|
||||||
|
|
@ -1014,9 +1148,8 @@
|
||||||
#define Z_SAFE_HOMING_Y_POINT ((Y_BED_SIZE) / 2) // Y point for Z homing when homing all axis (G28).
|
#define Z_SAFE_HOMING_Y_POINT ((Y_BED_SIZE) / 2) // Y point for Z homing when homing all axis (G28).
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Homing speeds (mm/m)
|
// Delta only homes to Z
|
||||||
#define HOMING_FEEDRATE_XY (50*60)
|
#define HOMING_FEEDRATE_Z (100*60)
|
||||||
#define HOMING_FEEDRATE_Z (4*60)
|
|
||||||
|
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
//============================= Additional Features ===========================
|
//============================= Additional Features ===========================
|
||||||
|
|
@ -1032,7 +1165,7 @@
|
||||||
// M501 - reads parameters from EEPROM (if you need reset them after you changed them temporarily).
|
// M501 - reads parameters from EEPROM (if you need reset them after you changed them temporarily).
|
||||||
// M502 - reverts to the default "factory settings". You still need to store them in EEPROM afterwards if you want to.
|
// M502 - reverts to the default "factory settings". You still need to store them in EEPROM afterwards if you want to.
|
||||||
//
|
//
|
||||||
//#define EEPROM_SETTINGS // Enable for M500 and M501 commands
|
#define EEPROM_SETTINGS // Enable for M500 and M501 commands
|
||||||
//#define DISABLE_M503 // Saves ~2700 bytes of PROGMEM. Disable for release!
|
//#define DISABLE_M503 // Saves ~2700 bytes of PROGMEM. Disable for release!
|
||||||
#define EEPROM_CHITCHAT // Give feedback on EEPROM commands. Disable to save PROGMEM.
|
#define EEPROM_CHITCHAT // Give feedback on EEPROM commands. Disable to save PROGMEM.
|
||||||
|
|
||||||
|
|
@ -1043,7 +1176,7 @@
|
||||||
// every couple of seconds when it can't accept commands.
|
// every couple of seconds when it can't accept commands.
|
||||||
//
|
//
|
||||||
#define HOST_KEEPALIVE_FEATURE // Disable this if your host doesn't like keepalive messages
|
#define HOST_KEEPALIVE_FEATURE // Disable this if your host doesn't like keepalive messages
|
||||||
#define DEFAULT_KEEPALIVE_INTERVAL 2 // Number of seconds between "busy" messages. Set with M113.
|
#define DEFAULT_KEEPALIVE_INTERVAL 5 // Number of seconds between "busy" messages. Set with M113.
|
||||||
#define BUSY_WHILE_HEATING // Some hosts require "busy" messages even during heating
|
#define BUSY_WHILE_HEATING // Some hosts require "busy" messages even during heating
|
||||||
|
|
||||||
//
|
//
|
||||||
|
|
@ -1064,12 +1197,12 @@
|
||||||
// @section temperature
|
// @section temperature
|
||||||
|
|
||||||
// Preheat Constants
|
// Preheat Constants
|
||||||
#define PREHEAT_1_TEMP_HOTEND 180
|
#define PREHEAT_1_TEMP_HOTEND 195
|
||||||
#define PREHEAT_1_TEMP_BED 70
|
#define PREHEAT_1_TEMP_BED 60
|
||||||
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
#define PREHEAT_2_TEMP_HOTEND 240
|
#define PREHEAT_2_TEMP_HOTEND 240
|
||||||
#define PREHEAT_2_TEMP_BED 110
|
#define PREHEAT_2_TEMP_BED 100
|
||||||
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -1181,7 +1314,7 @@
|
||||||
*
|
*
|
||||||
* View the current statistics with M78.
|
* View the current statistics with M78.
|
||||||
*/
|
*/
|
||||||
//#define PRINTCOUNTER
|
#define PRINTCOUNTER
|
||||||
|
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
//============================= LCD and SD support ============================
|
//============================= LCD and SD support ============================
|
||||||
|
|
@ -1224,7 +1357,7 @@
|
||||||
*
|
*
|
||||||
* :['JAPANESE', 'WESTERN', 'CYRILLIC']
|
* :['JAPANESE', 'WESTERN', 'CYRILLIC']
|
||||||
*/
|
*/
|
||||||
#define DISPLAY_CHARSET_HD44780 JAPANESE
|
#define DISPLAY_CHARSET_HD44780 WESTERN
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* LCD TYPE
|
* LCD TYPE
|
||||||
|
|
@ -1246,7 +1379,7 @@
|
||||||
* you must uncomment the following option or it won't work.
|
* you must uncomment the following option or it won't work.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
//#define SDSUPPORT
|
#define SDSUPPORT
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* SD CARD: SPI SPEED
|
* SD CARD: SPI SPEED
|
||||||
|
|
@ -1263,7 +1396,7 @@
|
||||||
*
|
*
|
||||||
* Use CRC checks and retries on the SD communication.
|
* Use CRC checks and retries on the SD communication.
|
||||||
*/
|
*/
|
||||||
//#define SD_CHECK_AND_RETRY
|
#define SD_CHECK_AND_RETRY
|
||||||
|
|
||||||
//
|
//
|
||||||
// ENCODER SETTINGS
|
// ENCODER SETTINGS
|
||||||
|
|
@ -1309,6 +1442,7 @@
|
||||||
//
|
//
|
||||||
// Add individual axis homing items (Home X, Home Y, and Home Z) to the LCD menu.
|
// Add individual axis homing items (Home X, Home Y, and Home Z) to the LCD menu.
|
||||||
//
|
//
|
||||||
|
// INDIVIDUAL_AXIS_HOMING_MENU is incompatible with DELTA kinematics.
|
||||||
//#define INDIVIDUAL_AXIS_HOMING_MENU
|
//#define INDIVIDUAL_AXIS_HOMING_MENU
|
||||||
|
|
||||||
//
|
//
|
||||||
|
|
@ -1384,7 +1518,7 @@
|
||||||
//
|
//
|
||||||
// Note: Usually sold with a white PCB.
|
// Note: Usually sold with a white PCB.
|
||||||
//
|
//
|
||||||
//#define REPRAP_DISCOUNT_SMART_CONTROLLER
|
#define REPRAP_DISCOUNT_SMART_CONTROLLER
|
||||||
|
|
||||||
//
|
//
|
||||||
// GADGETS3D G3D LCD/SD Controller
|
// GADGETS3D G3D LCD/SD Controller
|
||||||
|
|
@ -1704,14 +1838,14 @@
|
||||||
*/
|
*/
|
||||||
//#define FILAMENT_WIDTH_SENSOR
|
//#define FILAMENT_WIDTH_SENSOR
|
||||||
|
|
||||||
#define DEFAULT_NOMINAL_FILAMENT_DIA 3.00 // (mm) Diameter of the filament generally used (3.0 or 1.75mm), also used in the slicer. Used to validate sensor reading.
|
#define DEFAULT_NOMINAL_FILAMENT_DIA 1.75 // (mm) Diameter of the filament generally used (3.0 or 1.75mm), also used in the slicer. Used to validate sensor reading.
|
||||||
|
|
||||||
#if ENABLED(FILAMENT_WIDTH_SENSOR)
|
#if ENABLED(FILAMENT_WIDTH_SENSOR)
|
||||||
#define FILAMENT_SENSOR_EXTRUDER_NUM 0 // Index of the extruder that has the filament sensor (0,1,2,3)
|
#define FILAMENT_SENSOR_EXTRUDER_NUM 0 // Index of the extruder that has the filament sensor (0,1,2,3)
|
||||||
#define MEASUREMENT_DELAY_CM 14 // (cm) The distance from the filament sensor to the melting chamber
|
#define MEASUREMENT_DELAY_CM 14 // (cm) The distance from the filament sensor to the melting chamber
|
||||||
|
|
||||||
#define MEASURED_UPPER_LIMIT 3.30 // (mm) Upper limit used to validate sensor reading
|
#define MEASURED_UPPER_LIMIT 1.95 // (mm) Upper limit used to validate sensor reading
|
||||||
#define MEASURED_LOWER_LIMIT 1.90 // (mm) Lower limit used to validate sensor reading
|
#define MEASURED_LOWER_LIMIT 1.20 // (mm) Lower limit used to validate sensor reading
|
||||||
#define MAX_MEASUREMENT_DELAY 20 // (bytes) Buffer size for stored measurements (1 byte per cm). Must be larger than MEASUREMENT_DELAY_CM.
|
#define MAX_MEASUREMENT_DELAY 20 // (bytes) Buffer size for stored measurements (1 byte per cm). Must be larger than MEASUREMENT_DELAY_CM.
|
||||||
|
|
||||||
#define DEFAULT_MEASURED_FILAMENT_DIA DEFAULT_NOMINAL_FILAMENT_DIA // Set measured to nominal initially
|
#define DEFAULT_MEASURED_FILAMENT_DIA DEFAULT_NOMINAL_FILAMENT_DIA // Set measured to nominal initially
|
||||||
|
|
|
||||||
|
|
@ -348,8 +348,8 @@
|
||||||
//homing hits the endstop, then retracts by this distance, before it tries to slowly bump again:
|
//homing hits the endstop, then retracts by this distance, before it tries to slowly bump again:
|
||||||
#define X_HOME_BUMP_MM 5
|
#define X_HOME_BUMP_MM 5
|
||||||
#define Y_HOME_BUMP_MM 5
|
#define Y_HOME_BUMP_MM 5
|
||||||
#define Z_HOME_BUMP_MM 2
|
#define Z_HOME_BUMP_MM 5 // deltas need the same for all three axes
|
||||||
#define HOMING_BUMP_DIVISOR {2, 2, 4} // Re-Bump Speed Divisor (Divides the Homing Feedrate)
|
#define HOMING_BUMP_DIVISOR {10, 10, 10} // Re-Bump Speed Divisor (Divides the Homing Feedrate)
|
||||||
//#define QUICK_HOME //if this is defined, if both x and y are to be homed, a diagonal move will be performed initially.
|
//#define QUICK_HOME //if this is defined, if both x and y are to be homed, a diagonal move will be performed initially.
|
||||||
|
|
||||||
// When G28 is called, this option will make Y home before X
|
// When G28 is called, this option will make Y home before X
|
||||||
|
|
@ -371,7 +371,7 @@
|
||||||
// Default stepper release if idle. Set to 0 to deactivate.
|
// Default stepper release if idle. Set to 0 to deactivate.
|
||||||
// Steppers will shut down DEFAULT_STEPPER_DEACTIVE_TIME seconds after the last move when DISABLE_INACTIVE_? is true.
|
// Steppers will shut down DEFAULT_STEPPER_DEACTIVE_TIME seconds after the last move when DISABLE_INACTIVE_? is true.
|
||||||
// Time can be set by M18 and M84.
|
// Time can be set by M18 and M84.
|
||||||
#define DEFAULT_STEPPER_DEACTIVE_TIME 120
|
#define DEFAULT_STEPPER_DEACTIVE_TIME 60
|
||||||
#define DISABLE_INACTIVE_X true
|
#define DISABLE_INACTIVE_X true
|
||||||
#define DISABLE_INACTIVE_Y true
|
#define DISABLE_INACTIVE_Y true
|
||||||
#define DISABLE_INACTIVE_Z true // set to false if the nozzle will fall down on your printed part when print has finished.
|
#define DISABLE_INACTIVE_Z true // set to false if the nozzle will fall down on your printed part when print has finished.
|
||||||
|
|
@ -385,7 +385,8 @@
|
||||||
// @section lcd
|
// @section lcd
|
||||||
|
|
||||||
#if ENABLED(ULTIPANEL)
|
#if ENABLED(ULTIPANEL)
|
||||||
#define MANUAL_FEEDRATE {50*60, 50*60, 4*60, 60} // Feedrates for manual moves along X, Y, Z, E from panel
|
#define MANUAL_FEEDRATE_XYZ 50*60
|
||||||
|
#define MANUAL_FEEDRATE { MANUAL_FEEDRATE_XYZ, MANUAL_FEEDRATE_XYZ, MANUAL_FEEDRATE_XYZ, 60 } // Feedrates for manual moves along X, Y, Z, E from panel
|
||||||
#define ULTIPANEL_FEEDMULTIPLY // Comment to disable setting feedrate multiplier via encoder
|
#define ULTIPANEL_FEEDMULTIPLY // Comment to disable setting feedrate multiplier via encoder
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
@ -395,7 +396,8 @@
|
||||||
#define DEFAULT_MINSEGMENTTIME 20000
|
#define DEFAULT_MINSEGMENTTIME 20000
|
||||||
|
|
||||||
// If defined the movements slow down when the look ahead buffer is only half full
|
// If defined the movements slow down when the look ahead buffer is only half full
|
||||||
#define SLOWDOWN
|
// (don't use SLOWDOWN with DELTA because DELTA generates hundreds of segments per second)
|
||||||
|
//#define SLOWDOWN
|
||||||
|
|
||||||
// Frequency limit
|
// Frequency limit
|
||||||
// See nophead's blog for more info
|
// See nophead's blog for more info
|
||||||
|
|
@ -431,7 +433,7 @@
|
||||||
* M909, M910 & LCD - only PRINTRBOARD_REVF & RIGIDBOARD_V2
|
* M909, M910 & LCD - only PRINTRBOARD_REVF & RIGIDBOARD_V2
|
||||||
*/
|
*/
|
||||||
//#define PWM_MOTOR_CURRENT { 1300, 1300, 1250 } // Values in milliamps
|
//#define PWM_MOTOR_CURRENT { 1300, 1300, 1250 } // Values in milliamps
|
||||||
//#define DIGIPOT_MOTOR_CURRENT { 135,135,135,135,135 } // Values 0-255 (RAMBO 135 = ~0.75A, 185 = ~1A)
|
#define DIGIPOT_MOTOR_CURRENT { 135,135,135,135,135 } // Values 0-255 (RAMBO 135 = ~0.75A, 185 = ~1A)
|
||||||
//#define DAC_MOTOR_CURRENT_DEFAULT { 70, 80, 90, 80 } // Default drive percent - X, Y, Z, E axis
|
//#define DAC_MOTOR_CURRENT_DEFAULT { 70, 80, 90, 80 } // Default drive percent - X, Y, Z, E axis
|
||||||
|
|
||||||
// Uncomment to enable an I2C based DIGIPOT like on the Azteeg X3 Pro
|
// Uncomment to enable an I2C based DIGIPOT like on the Azteeg X3 Pro
|
||||||
|
|
@ -608,7 +610,6 @@
|
||||||
// Enable this option and reduce the value to optimize screen updates.
|
// Enable this option and reduce the value to optimize screen updates.
|
||||||
// The normal delay is 10µs. Use the lowest value that still gives a reliable display.
|
// The normal delay is 10µs. Use the lowest value that still gives a reliable display.
|
||||||
//#define DOGM_SPI_DELAY_US 5
|
//#define DOGM_SPI_DELAY_US 5
|
||||||
|
|
||||||
#endif // DOGLCD
|
#endif // DOGLCD
|
||||||
|
|
||||||
// @section safety
|
// @section safety
|
||||||
|
|
|
||||||
|
|
@ -130,7 +130,7 @@ static float probe_G33_points(float z_at_pt[13], const int8_t probe_points, cons
|
||||||
dy = (Y_PROBE_OFFSET_FROM_EXTRUDER);
|
dy = (Y_PROBE_OFFSET_FROM_EXTRUDER);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
for (uint8_t i = 0; i < COUNT(z_at_pt); i++) z_at_pt[i] = 0.0;
|
for (uint8_t i = 0; i <= 12; i++) z_at_pt[i] = 0.0;
|
||||||
|
|
||||||
if (!_0p_calibration) {
|
if (!_0p_calibration) {
|
||||||
|
|
||||||
|
|
@ -143,7 +143,7 @@ static float probe_G33_points(float z_at_pt[13], const int8_t probe_points, cons
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_7p_calibration) { // probe extra center points
|
if (_7p_calibration) { // probe extra center points
|
||||||
for (int8_t axis = _7p_multi_circle ? COUNT(z_at_pt) - 2 : COUNT(z_at_pt) - 4; axis > 0; axis -= _7p_multi_circle ? 2 : 4) {
|
for (int8_t axis = _7p_multi_circle ? 11 : 9; axis > 0; axis -= _7p_multi_circle ? 2 : 4) {
|
||||||
const float a = RADIANS(180 + 30 * axis), r = delta_calibration_radius * 0.1;
|
const float a = RADIANS(180 + 30 * axis), r = delta_calibration_radius * 0.1;
|
||||||
#if ENABLED(PROBE_MANUALLY)
|
#if ENABLED(PROBE_MANUALLY)
|
||||||
z_at_pt[0] += lcd_probe_pt(cos(a) * r, sin(a) * r);
|
z_at_pt[0] += lcd_probe_pt(cos(a) * r, sin(a) * r);
|
||||||
|
|
@ -158,7 +158,7 @@ static float probe_G33_points(float z_at_pt[13], const int8_t probe_points, cons
|
||||||
bool zig_zag = true;
|
bool zig_zag = true;
|
||||||
const uint8_t start = _4p_opposite_points ? 3 : 1,
|
const uint8_t start = _4p_opposite_points ? 3 : 1,
|
||||||
step = _4p_calibration ? 4 : _7p_half_circle ? 2 : 1;
|
step = _4p_calibration ? 4 : _7p_half_circle ? 2 : 1;
|
||||||
for (uint8_t axis = start; axis < COUNT(z_at_pt); axis += step) {
|
for (uint8_t axis = start; axis <= 12; axis += step) {
|
||||||
const float zigadd = (zig_zag ? 0.5 : 0.0),
|
const float zigadd = (zig_zag ? 0.5 : 0.0),
|
||||||
offset_circles = _7p_quadruple_circle ? zigadd + 1.0 :
|
offset_circles = _7p_quadruple_circle ? zigadd + 1.0 :
|
||||||
_7p_triple_circle ? zigadd + 0.5 :
|
_7p_triple_circle ? zigadd + 0.5 :
|
||||||
|
|
@ -178,14 +178,14 @@ static float probe_G33_points(float z_at_pt[13], const int8_t probe_points, cons
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_7p_intermed_points) // average intermediates to tower and opposites
|
if (_7p_intermed_points) // average intermediates to tower and opposites
|
||||||
for (uint8_t axis = 1; axis < COUNT(z_at_pt); axis += 2)
|
for (uint8_t axis = 1; axis <= 12; axis += 2)
|
||||||
z_at_pt[axis] = (z_at_pt[axis] + (z_at_pt[axis + 1] + z_at_pt[(axis + 10) % 12 + 1]) / 2.0) / 2.0;
|
z_at_pt[axis] = (z_at_pt[axis] + (z_at_pt[axis + 1] + z_at_pt[(axis + 10) % 12 + 1]) / 2.0) / 2.0;
|
||||||
|
|
||||||
float S1 = z_at_pt[0],
|
float S1 = z_at_pt[0],
|
||||||
S2 = sq(z_at_pt[0]);
|
S2 = sq(z_at_pt[0]);
|
||||||
int16_t N = 1;
|
int16_t N = 1;
|
||||||
if (!_1p_calibration) // std dev from zero plane
|
if (!_1p_calibration) // std dev from zero plane
|
||||||
for (uint8_t axis = (_4p_opposite_points ? 3 : 1); axis < COUNT(z_at_pt); axis += (_4p_calibration ? 4 : 2)) {
|
for (uint8_t axis = (_4p_opposite_points ? 3 : 1); axis <= 12; axis += (_4p_calibration ? 4 : 2)) {
|
||||||
S1 += z_at_pt[axis];
|
S1 += z_at_pt[axis];
|
||||||
S2 += sq(z_at_pt[axis]);
|
S2 += sq(z_at_pt[axis]);
|
||||||
N++;
|
N++;
|
||||||
|
|
@ -227,7 +227,7 @@ static float probe_G33_points(float z_at_pt[13], const int8_t probe_points, cons
|
||||||
SERIAL_EOL();
|
SERIAL_EOL();
|
||||||
|
|
||||||
probe_G33_points(z_at_pt, 3, true, false);
|
probe_G33_points(z_at_pt, 3, true, false);
|
||||||
for (int8_t i = 0; i < COUNT(z_at_pt); i++) z_at_pt[i] -= z_at_pt_base[i];
|
for (int8_t i = 0; i <= 12; i++) z_at_pt[i] -= z_at_pt_base[i];
|
||||||
print_G33_results(z_at_pt, true, true);
|
print_G33_results(z_at_pt, true, true);
|
||||||
delta_endstop_adj[axis] += 1.0;
|
delta_endstop_adj[axis] += 1.0;
|
||||||
switch (axis) {
|
switch (axis) {
|
||||||
|
|
@ -257,7 +257,7 @@ static float probe_G33_points(float z_at_pt[13], const int8_t probe_points, cons
|
||||||
SERIAL_PROTOCOL(zig_zag == -1 ? "-" : "+");
|
SERIAL_PROTOCOL(zig_zag == -1 ? "-" : "+");
|
||||||
SERIAL_EOL();
|
SERIAL_EOL();
|
||||||
probe_G33_points(z_at_pt, 3, true, false);
|
probe_G33_points(z_at_pt, 3, true, false);
|
||||||
for (int8_t i = 0; i < COUNT(z_at_pt); i++) z_at_pt[i] -= z_at_pt_base[i];
|
for (int8_t i = 0; i <= 12; i++) z_at_pt[i] -= z_at_pt_base[i];
|
||||||
print_G33_results(z_at_pt, true, true);
|
print_G33_results(z_at_pt, true, true);
|
||||||
delta_radius -= 1.0 * zig_zag;
|
delta_radius -= 1.0 * zig_zag;
|
||||||
recalc_delta_settings(delta_radius, delta_diagonal_rod, delta_tower_angle_trim);
|
recalc_delta_settings(delta_radius, delta_diagonal_rod, delta_tower_angle_trim);
|
||||||
|
|
@ -284,7 +284,7 @@ static float probe_G33_points(float z_at_pt[13], const int8_t probe_points, cons
|
||||||
SERIAL_EOL();
|
SERIAL_EOL();
|
||||||
|
|
||||||
probe_G33_points(z_at_pt, 3, true, false);
|
probe_G33_points(z_at_pt, 3, true, false);
|
||||||
for (int8_t i = 0; i < COUNT(z_at_pt); i++) z_at_pt[i] -= z_at_pt_base[i];
|
for (int8_t i = 0; i <= 12; i++) z_at_pt[i] -= z_at_pt_base[i];
|
||||||
print_G33_results(z_at_pt, true, true);
|
print_G33_results(z_at_pt, true, true);
|
||||||
|
|
||||||
delta_tower_angle_trim[axis] -= 1.0;
|
delta_tower_angle_trim[axis] -= 1.0;
|
||||||
|
|
|
||||||
64
Marlin/src/gcode/calibrate/calibrate.ino
Normal file
64
Marlin/src/gcode/calibrate/calibrate.ino
Normal file
|
|
@ -0,0 +1,64 @@
|
||||||
|
/**
|
||||||
|
* Marlin 3D Printer Firmware
|
||||||
|
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
|
||||||
|
*
|
||||||
|
* Based on Sprinter and grbl.
|
||||||
|
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "src/inc/MarlinConfig.h"
|
||||||
|
|
||||||
|
#if ENABLED(ULTRA_LCD)
|
||||||
|
#if ENABLED(LCD_I2C_TYPE_PCF8575)
|
||||||
|
#include <Wire.h>
|
||||||
|
#include <LiquidCrystal_I2C.h>
|
||||||
|
#elif ENABLED(LCD_I2C_TYPE_MCP23017) || ENABLED(LCD_I2C_TYPE_MCP23008)
|
||||||
|
#include <Wire.h>
|
||||||
|
#include <LiquidTWI2.h>
|
||||||
|
#elif ENABLED(LCM1602)
|
||||||
|
#include <Wire.h>
|
||||||
|
#include <LCD.h>
|
||||||
|
#include <LiquidCrystal_I2C.h>
|
||||||
|
#elif ENABLED(DOGLCD)
|
||||||
|
#include <U8glib.h> // library for graphics LCD by Oli Kraus (https://github.com/olikraus/U8glib_Arduino)
|
||||||
|
#else
|
||||||
|
#include <LiquidCrystal.h> // library for character LCD
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if HAS_DIGIPOTSS
|
||||||
|
#include <SPI.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if ENABLED(DIGIPOT_I2C)
|
||||||
|
#include <Wire.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if ENABLED(HAVE_TMCDRIVER)
|
||||||
|
#include <SPI.h>
|
||||||
|
#include <TMC26XStepper.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if ENABLED(HAVE_TMC2130)
|
||||||
|
#include <SPI.h>
|
||||||
|
#include <TMC2130Stepper.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if ENABLED(HAVE_L6470DRIVER)
|
||||||
|
#include <SPI.h>
|
||||||
|
#include <L6470.h>
|
||||||
|
#endif
|
||||||
Loading…
Add table
Add a link
Reference in a new issue