Commit 4150ae8a authored by MagoKimbra's avatar MagoKimbra

Merge remote-tracking branch 'refs/remotes/origin/master' into dev

parents b2e641d2 79561977
......@@ -50,8 +50,36 @@
// if you want use new function comment this (using // at the start of the line)
#define DELTA_SEGMENTS_PER_SECOND 200
// NOTE: All following values for DELTA_* MUST be floating point,
// so always have a decimal point in them.
//
// Towers and rod nomenclature for the following defines:
//
// C, Y-axis
// |
// DELTA_ALPHA_CA=120° | DELTA_ALPHA_CB=120°
// |
// |______ X-axis
// / \
// / \
// / \
// / \
// A B
//
// |___| DELTA_CARRIAGE_OFFSET
// | \
// | \
// | \ DELTA_DIAGONAL_ROD
// | \
// | \ | Effector is at printer center!
// | \__|__/
// | |--| DELTA_EFFECTOR_OFFSET
// |----| DELTA_RADIUS Calculated in fw (DELTA_SMOOTH_ROD_OFFSET - DELTA_EFFECTOR_OFFSET - DELTA_CARRIAGE_OFFSET)
// |---------| DELTA_PRINTABLE_RADIUS
// |-----------| DELTA_SMOOTH_ROD_OFFSET
// Center-to-center distance of the holes in the diagonal push rods.
#define DEFAULT_DELTA_DIAGONAL_ROD 220.0 // mm
#define DELTA_DIAGONAL_ROD 220.0 // mm
// Horizontal offset from middle of printer to smooth rod center.
#define DELTA_SMOOTH_ROD_OFFSET 150.0 // mm
......@@ -62,8 +90,8 @@
// Horizontal offset of the universal joints on the carriages.
#define DELTA_CARRIAGE_OFFSET 20.0 // mm
// Bed Printer radius
#define BED_PRINTER_RADIUS 75 // mm
// Delta Printable radius
#define DELTA_PRINTABLE_RADIUS 75.0 // mm
//Endstop Offset Adjustment - All values are in mm and must be negative (to move down away from endstop switches)
#define TOWER_A_ENDSTOP_ADJ 0 // Front Left Tower
......@@ -80,7 +108,7 @@
#define TOWER_B_RADIUS_ADJ 0 //Front Right Tower
#define TOWER_C_RADIUS_ADJ 0 //Rear Tower
//Diagonal Rod Adjustment - Adj diag rod for Tower by x mm from DEFAULT_DELTA_DIAGONAL_ROD value
//Diagonal Rod Adjustment - Adj diag rod for Tower by x mm from DELTA_DIAGONAL_ROD value
#define TOWER_A_DIAGROD_ADJ 0 //Front Left Tower
#define TOWER_B_DIAGROD_ADJ 0 //Front Right Tower
#define TOWER_C_DIAGROD_ADJ 0 //Rear Tower
......@@ -298,10 +326,10 @@
* Travel limits after homing (units are in mm) *
* *
*****************************************************************************************/
#define X_MAX_POS BED_PRINTER_RADIUS
#define X_MIN_POS -BED_PRINTER_RADIUS
#define Y_MAX_POS BED_PRINTER_RADIUS
#define Y_MIN_POS -BED_PRINTER_RADIUS
#define X_MAX_POS DELTA_PRINTABLE_RADIUS
#define X_MIN_POS -DELTA_PRINTABLE_RADIUS
#define Y_MAX_POS DELTA_PRINTABLE_RADIUS
#define Y_MIN_POS -DELTA_PRINTABLE_RADIUS
#define Z_MAX_POS MANUAL_Z_HOME_POS
#define Z_MIN_POS 0
#define E_MIN_POS 0
......
......@@ -529,7 +529,7 @@ void Config_ResetDefault() {
#if MECH(DELTA)
delta_radius = DEFAULT_DELTA_RADIUS;
delta_diagonal_rod = DEFAULT_DELTA_DIAGONAL_ROD;
delta_diagonal_rod = DELTA_DIAGONAL_ROD;
endstop_adj[0] = TOWER_A_ENDSTOP_ADJ;
endstop_adj[1] = TOWER_B_ENDSTOP_ADJ;
endstop_adj[2] = TOWER_C_ENDSTOP_ADJ;
......
......@@ -184,8 +184,8 @@ double printer_usage_filament;
float diagrod_adj[3] = { 0 };
float saved_endstop_adj[3] = { 0 };
float tower_adj[6] = { 0 };
float delta_radius; // = DEFAULT_delta_radius;
float delta_diagonal_rod; // = DEFAULT_DELTA_DIAGONAL_ROD;
float delta_radius; // = delta_radius;
float delta_diagonal_rod; // = DELTA_DIAGONAL_ROD;
float delta_diagonal_rod_1;
float delta_diagonal_rod_2;
float delta_diagonal_rod_3;
......
......@@ -373,7 +373,7 @@
#define BACK_PROBE_BED_POSITION DELTA_PROBABLE_RADIUS
// Radius for probe
#define DELTA_PROBABLE_RADIUS BED_PRINTER_RADIUS - 5
#define DELTA_PROBABLE_RADIUS DELTA_PRINTABLE_RADIUS - 5
#endif
/**
......
......@@ -967,7 +967,7 @@ static void _lcd_move(const char* name, AxisEnum axis, int min, int max) {
}
#if MECH(DELTA)
static float delta_clip_radius_2 = BED_PRINTER_RADIUS * BED_PRINTER_RADIUS;
static float delta_clip_radius_2 = DELTA_PRINTABLE_RADIUS * DELTA_PRINTABLE_RADIUS;
static int delta_clip( float a ) { return sqrt(delta_clip_radius_2 - a * a); }
static void lcd_move_x() { int clip = delta_clip(current_position[Y_AXIS]); _lcd_move(PSTR(MSG_MOVE_X), X_AXIS, max(X_MIN_POS, -clip), min(X_MAX_POS, clip)); }
static void lcd_move_y() { int clip = delta_clip(current_position[X_AXIS]); _lcd_move(PSTR(MSG_MOVE_X), X_AXIS, max(X_MIN_POS, -clip), min(X_MAX_POS, clip)); }
......
......@@ -1220,8 +1220,8 @@
#endif
#if MECH(DELTA)
#if DISABLED(DEFAULT_DELTA_DIAGONAL_ROD)
#error DEPENDENCY ERROR: Missing setting DEFAULT_DELTA_DIAGONAL_ROD
#if DISABLED(DELTA_DIAGONAL_ROD)
#error DEPENDENCY ERROR: Missing setting DELTA_DIAGONAL_ROD
#endif
#if DISABLED(DELTA_SMOOTH_ROD_OFFSET)
#error DEPENDENCY ERROR: Missing setting DELTA_SMOOTH_ROD_OFFSET
......@@ -1229,8 +1229,8 @@
#if DISABLED(DELTA_CARRIAGE_OFFSET)
#error DEPENDENCY ERROR: Missing setting DELTA_CARRIAGE_OFFSET
#endif
#if DISABLED(BED_PRINTER_RADIUS)
#error DEPENDENCY ERROR: Missing setting BED_PRINTER_RADIUS
#if DISABLED(DELTA_PRINTABLE_RADIUS)
#error DEPENDENCY ERROR: Missing setting DELTA_PRINTABLE_RADIUS
#endif
#if DISABLED(DEFAULT_DELTA_RADIUS)
#error DEPENDENCY ERROR: Missing setting DEFAULT_DELTA_RADIUS
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment