M665 rework and related issues (all delta's)

- Making M665 compatible with repetier (see
http://reprap.org/wiki/G_code#M665:_Set_delta_configuration)

- M665 B also sets the radius for manual calibration menu

- Converting tower ajustment definitions to arrays - tower angle
corrections compatible with Esher 3D wizzard

- Only tower angles need to be adjustable with M665 and stored to EEPROM
- tower radius and diag rod can be adjusted in the FW only with #define
This commit is contained in:
LVD-AC
2017-04-18 14:43:25 +02:00
committed by teemuatlut
parent e66d9f1313
commit 13c8493878
11 changed files with 141 additions and 167 deletions

View File

@ -1,4 +1,4 @@
/**
/**
* Marlin 3D Printer Firmware
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
@ -459,40 +459,40 @@
//#define DELTA_CARRIAGE_OFFSET 22.0 // mm
// Horizontal distance bridged by diagonal push rods when effector is centered.
#define DELTA_RADIUS 100.59 //mm // get this value from auto calibrate
#define DELTA_RADIUS 100.90 //mm // get this value from auto calibrate
// height from z=0.00 to home position
#define DELTA_HEIGHT 298.95 // get this value from auto calibrate
#define DELTA_HEIGHT 296.38 // get this value from auto calibrate
// Print surface diameter/2 minus unreachable space (avoid collisions with vertical towers).
#define DELTA_PRINTABLE_RADIUS 90.0
#define DELTA_PRINTABLE_RADIUS 85.0
// Delta calibration menu
// See http://minow.blogspot.com/index.html#4918805519571907051
#define DELTA_CALIBRATION_MENU
// set the radius for the calibration probe points - max 0.8 * DELTA_PRINTABLE_RADIUS if DELTA_AUTO_CALIBRATION enabled
#define DELTA_CALIBRATION_RADIUS (DELTA_PRINTABLE_RADIUS - 17) // mm
// G33 Delta Auto-Calibration (Enable EEPROM_SETTINGS to store results)
#define DELTA_AUTO_CALIBRATION
#if ENABLED(DELTA_AUTO_CALIBRATION)
#define DELTA_CALIBRATION_DEFAULT_POINTS 3 // set the default number of probe points : n*n (1-4)
#define DELTA_CALIBRATION_RADIUS (DELTA_PRINTABLE_RADIUS - 15) // set the radius for the calibration probe points
#define DELTA_CALIBRATION_DEFAULT_POINTS 3 // set the default number of probe points : n*n (-2,1-7)
#endif
// After homing move down to a height where XY movement is unconstrained
#define DELTA_HOME_TO_SAFE_ZONE
#define DELTA_ENDSTOP_ADJ { -0.05, -0.00, -0.02 } // get these from auto calibrate
#define DELTA_ENDSTOP_ADJ { -0.00, -0.00, -0.00 } // get these from auto calibrate
// Trim adjustments for individual towers
#define DELTA_RADIUS_TRIM_TOWER_1 0.0
#define DELTA_RADIUS_TRIM_TOWER_2 0.0
#define DELTA_RADIUS_TRIM_TOWER_3 0.0
#define DELTA_DIAGONAL_ROD_TRIM_TOWER_1 0.0
#define DELTA_DIAGONAL_ROD_TRIM_TOWER_2 0.0
#define DELTA_DIAGONAL_ROD_TRIM_TOWER_3 0.0
#define DELTA_TOWER_ANGLE_TRIM_1 0.0
#define DELTA_TOWER_ANGLE_TRIM_2 0.0
#define DELTA_TOWER_ANGLE_TRIM_3 0.0
// 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.00, -0.00 } // get these 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

View File

@ -472,28 +472,28 @@
// See http://minow.blogspot.com/index.html#4918805519571907051
//#define DELTA_CALIBRATION_MENU
// set the radius for the calibration probe points - max 0.8 * DELTA_PRINTABLE_RADIUS if DELTA_AUTO_CALIBRATION enabled
#define DELTA_CALIBRATION_RADIUS (DELTA_PRINTABLE_RADIUS - 17) // mm
// G33 Delta Auto-Calibration (Enable EEPROM_SETTINGS to store results)
//#define DELTA_AUTO_CALIBRATION
#define DELTA_AUTO_CALIBRATION
#if ENABLED(DELTA_AUTO_CALIBRATION)
#define DELTA_CALIBRATION_DEFAULT_POINTS 3 // set the default number of probe points : n*n (1-4)
#define DELTA_CALIBRATION_RADIUS (DELTA_PRINTABLE_RADIUS - 15) // set the radius for the calibration probe points
#define DELTA_CALIBRATION_DEFAULT_POINTS 3 // set the default number of probe points : n*n (-2,1-7)
#endif
// After homing move down to a height where XY movement is unconstrained
//#define DELTA_HOME_TO_SAFE_ZONE
#define DELTA_HOME_TO_SAFE_ZONE
//#define DELTA_ENDSTOP_ADJ { 0, 0, 0 }
#define DELTA_ENDSTOP_ADJ { -0.00, -0.00, -0.00 } // get these from auto calibrate
// Trim adjustments for individual towers
#define DELTA_RADIUS_TRIM_TOWER_1 0.0
#define DELTA_RADIUS_TRIM_TOWER_2 0.0
#define DELTA_RADIUS_TRIM_TOWER_3 0.0
#define DELTA_DIAGONAL_ROD_TRIM_TOWER_1 0.0
#define DELTA_DIAGONAL_ROD_TRIM_TOWER_2 0.0
#define DELTA_DIAGONAL_ROD_TRIM_TOWER_3 0.0
#define DELTA_TOWER_ANGLE_TRIM_1 0.0
#define DELTA_TOWER_ANGLE_TRIM_2 0.0
#define DELTA_TOWER_ANGLE_TRIM_3 0.0
// 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.00, -0.00 } // get these 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

View File

@ -461,28 +461,30 @@
// See http://minow.blogspot.com/index.html#4918805519571907051
//#define DELTA_CALIBRATION_MENU
// set the radius for the calibration probe points - max 0.8 * DELTA_PRINTABLE_RADIUS if DELTA_AUTO_CALIBRATION enabled
#define DELTA_CALIBRATION_RADIUS (DELTA_PRINTABLE_RADIUS - 17) // mm
// G33 Delta Auto-Calibration (Enable EEPROM_SETTINGS to store results)
//#define DELTA_AUTO_CALIBRATION
#define DELTA_AUTO_CALIBRATION
#if ENABLED(DELTA_AUTO_CALIBRATION)
#define DELTA_CALIBRATION_DEFAULT_POINTS 3 // set the default number of probe points : n*n (1-4)
#define DELTA_CALIBRATION_RADIUS (DELTA_PRINTABLE_RADIUS - 15) // set the radius for the calibration probe points
#define DELTA_CALIBRATION_DEFAULT_POINTS 3 // set the default number of probe points : n*n (-2,1-7)
#endif
// After homing move down to a height where XY movement is unconstrained
#define DELTA_HOME_TO_SAFE_ZONE
//#define DELTA_ENDSTOP_ADJ { 0, 0, 0 }
#define DELTA_ENDSTOP_ADJ { -0.00, -0.00, -0.00 } // get these from auto calibrate
// Trim adjustments for individual towers
#define DELTA_RADIUS_TRIM_TOWER_1 0.0
#define DELTA_RADIUS_TRIM_TOWER_2 0.0
#define DELTA_RADIUS_TRIM_TOWER_3 0.0
#define DELTA_DIAGONAL_ROD_TRIM_TOWER_1 0.0
#define DELTA_DIAGONAL_ROD_TRIM_TOWER_2 0.0
#define DELTA_DIAGONAL_ROD_TRIM_TOWER_3 0.0
#define DELTA_TOWER_ANGLE_TRIM_1 0.0
#define DELTA_TOWER_ANGLE_TRIM_2 0.0
#define DELTA_TOWER_ANGLE_TRIM_3 0.0
// 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.00, -0.00 } // get these 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

View File

@ -461,28 +461,28 @@
// See http://minow.blogspot.com/index.html#4918805519571907051
//#define DELTA_CALIBRATION_MENU
// set the radius for the calibration probe points - max 0.8 * DELTA_PRINTABLE_RADIUS if DELTA_AUTO_CALIBRATION enabled
#define DELTA_CALIBRATION_RADIUS (DELTA_PRINTABLE_RADIUS - 17) // mm
// G33 Delta Auto-Calibration (Enable EEPROM_SETTINGS to store results)
//#define DELTA_AUTO_CALIBRATION
#define DELTA_AUTO_CALIBRATION
#if ENABLED(DELTA_AUTO_CALIBRATION)
#define DELTA_CALIBRATION_DEFAULT_POINTS 3 // set the default number of probe points : n*n (1-4)
#define DELTA_CALIBRATION_RADIUS (DELTA_PRINTABLE_RADIUS - 15) // set the radius for the calibration probe points
#define DELTA_CALIBRATION_DEFAULT_POINTS 3 // set the default number of probe points : n*n (-2,1-7)
#endif
// After homing move down to a height where XY movement is unconstrained
#define DELTA_HOME_TO_SAFE_ZONE
//#define DELTA_ENDSTOP_ADJ { 0, 0, 0 }
#define DELTA_ENDSTOP_ADJ { -0.00, -0.00, -0.00 } // get these from auto calibrate
// Trim adjustments for individual towers
#define DELTA_RADIUS_TRIM_TOWER_1 0.0
#define DELTA_RADIUS_TRIM_TOWER_2 0.0
#define DELTA_RADIUS_TRIM_TOWER_3 0.0
#define DELTA_DIAGONAL_ROD_TRIM_TOWER_1 0.0
#define DELTA_DIAGONAL_ROD_TRIM_TOWER_2 0.0
#define DELTA_DIAGONAL_ROD_TRIM_TOWER_3 0.0
#define DELTA_TOWER_ANGLE_TRIM_1 0.0
#define DELTA_TOWER_ANGLE_TRIM_2 0.0
#define DELTA_TOWER_ANGLE_TRIM_3 0.0
// 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.00, -0.00 } // get these 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

View File

@ -448,28 +448,30 @@
// See http://minow.blogspot.com/index.html#4918805519571907051
//#define DELTA_CALIBRATION_MENU
// set the radius for the calibration probe points - max 0.8 * DELTA_PRINTABLE_RADIUS if DELTA_AUTO_CALIBRATION enabled
#define DELTA_CALIBRATION_RADIUS (DELTA_PRINTABLE_RADIUS - 17) // mm
// G33 Delta Auto-Calibration (Enable EEPROM_SETTINGS to store results)
//#define DELTA_AUTO_CALIBRATION
#define DELTA_AUTO_CALIBRATION
#if ENABLED(DELTA_AUTO_CALIBRATION)
#define DELTA_CALIBRATION_DEFAULT_POINTS 3 // set the default number of probe points : n*n (1-4)
#define DELTA_CALIBRATION_RADIUS (DELTA_PRINTABLE_RADIUS - 15) // set the radius for the calibration probe points
#define DELTA_CALIBRATION_DEFAULT_POINTS 3 // set the default number of probe points : n*n (-2,1-7)
#endif
// After homing move down to a height where XY movement is unconstrained
#define DELTA_HOME_TO_SAFE_ZONE
//#define DELTA_ENDSTOP_ADJ { 0, 0, 0 }
#define DELTA_ENDSTOP_ADJ { -0.00, -0.00, -0.00 } // get these from auto calibrate
// Trim adjustments for individual towers
#define DELTA_RADIUS_TRIM_TOWER_1 0.0
#define DELTA_RADIUS_TRIM_TOWER_2 0.0
#define DELTA_RADIUS_TRIM_TOWER_3 0.0
#define DELTA_DIAGONAL_ROD_TRIM_TOWER_1 0.0
#define DELTA_DIAGONAL_ROD_TRIM_TOWER_2 0.0
#define DELTA_DIAGONAL_ROD_TRIM_TOWER_3 0.0
#define DELTA_TOWER_ANGLE_TRIM_1 0.0
#define DELTA_TOWER_ANGLE_TRIM_2 0.0
#define DELTA_TOWER_ANGLE_TRIM_3 0.0
// 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.00, -0.00 } // get these 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

View File

@ -466,28 +466,28 @@
// See http://minow.blogspot.com/index.html#4918805519571907051
//#define DELTA_CALIBRATION_MENU
// set the radius for the calibration probe points - max 0.8 * DELTA_PRINTABLE_RADIUS if DELTA_AUTO_CALIBRATION enabled
#define DELTA_CALIBRATION_RADIUS (DELTA_PRINTABLE_RADIUS - 17) // mm
// G33 Delta Auto-Calibration (Enable EEPROM_SETTINGS to store results)
//#define DELTA_AUTO_CALIBRATION
#define DELTA_AUTO_CALIBRATION
#if ENABLED(DELTA_AUTO_CALIBRATION)
#define DELTA_CALIBRATION_DEFAULT_POINTS 3 // set the default number of probe points : n*n (1-4)
#define DELTA_CALIBRATION_RADIUS (DELTA_PRINTABLE_RADIUS - 15) // set the radius for the calibration probe points
#define DELTA_CALIBRATION_DEFAULT_POINTS 3 // set the default number of probe points : n*n (-2,1-7)
#endif
// After homing move down to a height where XY movement is unconstrained
#define DELTA_HOME_TO_SAFE_ZONE
//#define DELTA_ENDSTOP_ADJ { 0, 0, 0 }
#define DELTA_ENDSTOP_ADJ { -0.00, -0.00, -0.00 } // get these from auto calibrate
// Trim adjustments for individual towers
#define DELTA_RADIUS_TRIM_TOWER_1 0.0
#define DELTA_RADIUS_TRIM_TOWER_2 0.0
#define DELTA_RADIUS_TRIM_TOWER_3 0.0
#define DELTA_DIAGONAL_ROD_TRIM_TOWER_1 0.0
#define DELTA_DIAGONAL_ROD_TRIM_TOWER_2 0.0
#define DELTA_DIAGONAL_ROD_TRIM_TOWER_3 0.0
#define DELTA_TOWER_ANGLE_TRIM_1 0.0
#define DELTA_TOWER_ANGLE_TRIM_2 0.0
#define DELTA_TOWER_ANGLE_TRIM_3 0.0
// 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.00, -0.00 } // get these 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