Disable Z-Axis in Marlin
This commit is contained in:
parent
f666cfc93a
commit
a12fb34d3d
@ -163,7 +163,9 @@
|
|||||||
*
|
*
|
||||||
* :[3, 4, 5, 6]
|
* :[3, 4, 5, 6]
|
||||||
*/
|
*/
|
||||||
#define LINEAR_AXES 3
|
//#define LINEAR_AXES 3
|
||||||
|
#define LINEAR_AXES 2
|
||||||
|
#define Z_AXIS 0
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Axis codes for additional axes:
|
* Axis codes for additional axes:
|
||||||
@ -895,14 +897,14 @@
|
|||||||
* Override with M92
|
* Override with M92
|
||||||
* X, Y, Z [, I [, J [, K]]], E0 [, E1[, E2...]]
|
* X, Y, Z [, I [, J [, K]]], E0 [, E1[, E2...]]
|
||||||
*/
|
*/
|
||||||
#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400}
|
#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80 }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Default Max Feed Rate (mm/s)
|
* Default Max Feed Rate (mm/s)
|
||||||
* Override with M203
|
* Override with M203
|
||||||
* X, Y, Z [, I [, J [, K]]], E0 [, E1[, E2...]]
|
* X, Y, Z [, I [, J [, K]]], E0 [, E1[, E2...]]
|
||||||
*/
|
*/
|
||||||
#define DEFAULT_MAX_FEEDRATE { 300, 300, 5}
|
#define DEFAULT_MAX_FEEDRATE { 300, 300 }
|
||||||
|
|
||||||
//#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)
|
||||||
@ -915,7 +917,7 @@
|
|||||||
* Override with M201
|
* Override with M201
|
||||||
* X, Y, Z [, I [, J [, K]]], E0 [, E1[, E2...]]
|
* X, Y, Z [, I [, J [, K]]], E0 [, E1[, E2...]]
|
||||||
*/
|
*/
|
||||||
#define DEFAULT_MAX_ACCELERATION { 3000, 3000, 100}
|
#define DEFAULT_MAX_ACCELERATION { 3000, 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)
|
||||||
@ -1715,7 +1717,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Homing speeds (mm/min)
|
// Homing speeds (mm/min)
|
||||||
#define HOMING_FEEDRATE_MM_M { (50*60), (50*60), (4*60) }
|
#define HOMING_FEEDRATE_MM_M { (50*60), (50*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
|
||||||
|
@ -753,8 +753,8 @@
|
|||||||
|
|
||||||
//#define SENSORLESS_BACKOFF_MM { 2, 2, 0 } // (mm) Backoff from endstops before sensorless homing
|
//#define SENSORLESS_BACKOFF_MM { 2, 2, 0 } // (mm) Backoff from endstops before sensorless homing
|
||||||
|
|
||||||
#define HOMING_BUMP_MM { 5, 5, 0 } // (mm) Backoff from endstops after first bump
|
#define HOMING_BUMP_MM { 5, 5 } // (mm) Backoff from endstops after first bump
|
||||||
#define HOMING_BUMP_DIVISOR { 2, 2, 4 } // Re-Bump Speed Divisor (Divides the Homing Feedrate)
|
#define HOMING_BUMP_DIVISOR { 2, 2 } // Re-Bump Speed Divisor (Divides the Homing Feedrate)
|
||||||
|
|
||||||
//#define HOMING_BACKOFF_POST_MM { 2, 2, 2 } // (mm) Backoff from endstops after homing
|
//#define HOMING_BACKOFF_POST_MM { 2, 2, 2 } // (mm) Backoff from endstops after homing
|
||||||
|
|
||||||
@ -927,7 +927,7 @@
|
|||||||
// @section motion
|
// @section motion
|
||||||
|
|
||||||
//#define AXIS_RELATIVE_MODES { false, false, false, false }
|
//#define AXIS_RELATIVE_MODES { false, false, false, false }
|
||||||
#define AXIS_RELATIVE_MODES { false, false, false}
|
#define AXIS_RELATIVE_MODES { false, false}
|
||||||
|
|
||||||
// Add a Duplicate option for well-separated conjoined nozzles
|
// Add a Duplicate option for well-separated conjoined nozzles
|
||||||
//#define MULTI_NOZZLE_DUPLICATION
|
//#define MULTI_NOZZLE_DUPLICATION
|
||||||
@ -1165,7 +1165,7 @@
|
|||||||
// @section lcd
|
// @section lcd
|
||||||
|
|
||||||
#if EITHER(IS_ULTIPANEL, EXTENSIBLE_UI)
|
#if EITHER(IS_ULTIPANEL, EXTENSIBLE_UI)
|
||||||
#define MANUAL_FEEDRATE { 50*60, 50*60, 4*60} // (mm/min) Feedrates for manual moves along X, Y, Z, E from panel
|
#define MANUAL_FEEDRATE { 50*60, 50*60 } // (mm/min) Feedrates for manual moves along X, Y, Z, E from panel
|
||||||
#define FINE_MANUAL_MOVE 0.025 // (mm) Smallest manual move (< 0.1mm) applying to Z on most machines
|
#define FINE_MANUAL_MOVE 0.025 // (mm) Smallest manual move (< 0.1mm) applying to Z on most machines
|
||||||
#if IS_ULTIPANEL
|
#if IS_ULTIPANEL
|
||||||
#define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position"
|
#define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position"
|
||||||
|
@ -490,7 +490,7 @@ void MarlinUI::draw_status_screen() {
|
|||||||
|
|
||||||
const xyz_pos_t lpos = current_position.asLogical();
|
const xyz_pos_t lpos = current_position.asLogical();
|
||||||
const bool is_inch = parser.using_inch_units();
|
const bool is_inch = parser.using_inch_units();
|
||||||
strcpy(zstring, is_inch ? ftostr42_52(LINEAR_UNIT(lpos.z)) : ftostr52sp(lpos.z));
|
//strcpy(zstring, is_inch ? ftostr42_52(LINEAR_UNIT(lpos.z)) : ftostr52sp(lpos.z));
|
||||||
|
|
||||||
if (show_e_total) {
|
if (show_e_total) {
|
||||||
#if ENABLED(LCD_SHOW_E_TOTAL)
|
#if ENABLED(LCD_SHOW_E_TOTAL)
|
||||||
@ -885,7 +885,7 @@ void MarlinUI::draw_status_screen() {
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
_draw_axis_value(Z_AXIS, zstring, blink);
|
//_draw_axis_value(Z_AXIS, zstring, blink);
|
||||||
|
|
||||||
#if NONE(XYZ_NO_FRAME, XYZ_HOLLOW_FRAME)
|
#if NONE(XYZ_NO_FRAME, XYZ_HOLLOW_FRAME)
|
||||||
u8g.setColorIndex(1); // black on white
|
u8g.setColorIndex(1); // black on white
|
||||||
|
@ -390,7 +390,7 @@ void menu_backlash();
|
|||||||
|
|
||||||
// M201 / M204 Accelerations
|
// M201 / M204 Accelerations
|
||||||
void menu_advanced_acceleration() {
|
void menu_advanced_acceleration() {
|
||||||
const float max_accel = _MAX(planner.settings.max_acceleration_mm_per_s2[A_AXIS], planner.settings.max_acceleration_mm_per_s2[B_AXIS], planner.settings.max_acceleration_mm_per_s2[C_AXIS]);
|
const float max_accel = _MAX(planner.settings.max_acceleration_mm_per_s2[A_AXIS], planner.settings.max_acceleration_mm_per_s2[B_AXIS]);
|
||||||
|
|
||||||
// M201 settings
|
// M201 settings
|
||||||
constexpr xyze_ulong_t max_accel_edit =
|
constexpr xyze_ulong_t max_accel_edit =
|
||||||
|
@ -157,7 +157,7 @@ void _menu_move_distance(const AxisEnum axis, const screenFunc_t func, const int
|
|||||||
switch (axis) {
|
switch (axis) {
|
||||||
case X_AXIS: STATIC_ITEM(MSG_MOVE_X, SS_DEFAULT|SS_INVERT); break;
|
case X_AXIS: STATIC_ITEM(MSG_MOVE_X, SS_DEFAULT|SS_INVERT); break;
|
||||||
case Y_AXIS: STATIC_ITEM(MSG_MOVE_Y, SS_DEFAULT|SS_INVERT); break;
|
case Y_AXIS: STATIC_ITEM(MSG_MOVE_Y, SS_DEFAULT|SS_INVERT); break;
|
||||||
case Z_AXIS: STATIC_ITEM(MSG_MOVE_Z, SS_DEFAULT|SS_INVERT); break;
|
//case Z_AXIS: STATIC_ITEM(MSG_MOVE_Z, SS_DEFAULT|SS_INVERT); break;
|
||||||
default:
|
default:
|
||||||
TERN_(MANUAL_E_MOVES_RELATIVE, manual_move_e_origin = current_position.e);
|
TERN_(MANUAL_E_MOVES_RELATIVE, manual_move_e_origin = current_position.e);
|
||||||
STATIC_ITEM(MSG_MOVE_E, SS_DEFAULT|SS_INVERT);
|
STATIC_ITEM(MSG_MOVE_E, SS_DEFAULT|SS_INVERT);
|
||||||
|
@ -76,7 +76,7 @@ struct vector_3 {
|
|||||||
vector_3 operator*(const float &v) { return vector_3(x * v, y * v, z * v); }
|
vector_3 operator*(const float &v) { return vector_3(x * v, y * v, z * v); }
|
||||||
|
|
||||||
operator xy_float_t() { return xy_float_t({ x, y }); }
|
operator xy_float_t() { return xy_float_t({ x, y }); }
|
||||||
operator xyz_float_t() { return xyz_float_t({ x, y, z }); }
|
operator xyz_float_t() { return xyz_float_t({ x, y }); }
|
||||||
|
|
||||||
void debug(PGM_P const title);
|
void debug(PGM_P const title);
|
||||||
};
|
};
|
||||||
|
@ -1894,7 +1894,7 @@ bool Planner::_populate_block(block_t * const block, bool split_move,
|
|||||||
#if CORE_IS_XY
|
#if CORE_IS_XY
|
||||||
if (da < 0) SBI(dm, X_HEAD); // Save the toolhead's true direction in X
|
if (da < 0) SBI(dm, X_HEAD); // Save the toolhead's true direction in X
|
||||||
if (db < 0) SBI(dm, Y_HEAD); // ...and Y
|
if (db < 0) SBI(dm, Y_HEAD); // ...and Y
|
||||||
if (dc < 0) SBI(dm, Z_AXIS);
|
//if (dc < 0) SBI(dm, Z_AXIS);
|
||||||
if (da + db < 0) SBI(dm, A_AXIS); // Motor A direction
|
if (da + db < 0) SBI(dm, A_AXIS); // Motor A direction
|
||||||
if (CORESIGN(da - db) < 0) SBI(dm, B_AXIS); // Motor B direction
|
if (CORESIGN(da - db) < 0) SBI(dm, B_AXIS); // Motor B direction
|
||||||
#elif CORE_IS_XZ
|
#elif CORE_IS_XZ
|
||||||
@ -1952,7 +1952,7 @@ bool Planner::_populate_block(block_t * const block, bool split_move,
|
|||||||
// Number of steps for each axis
|
// Number of steps for each axis
|
||||||
// See https://www.corexy.com/theory.html
|
// See https://www.corexy.com/theory.html
|
||||||
#if CORE_IS_XY
|
#if CORE_IS_XY
|
||||||
block->steps.set(ABS(da + db), ABS(da - db), ABS(dc));
|
block->steps.set(ABS(da + db), ABS(da - db));
|
||||||
#elif CORE_IS_XZ
|
#elif CORE_IS_XZ
|
||||||
block->steps.set(ABS(da + dc), ABS(db), ABS(da - dc));
|
block->steps.set(ABS(da + dc), ABS(db), ABS(da - dc));
|
||||||
#elif CORE_IS_YZ
|
#elif CORE_IS_YZ
|
||||||
@ -1983,7 +1983,7 @@ bool Planner::_populate_block(block_t * const block, bool split_move,
|
|||||||
#if CORE_IS_XY
|
#if CORE_IS_XY
|
||||||
steps_dist_mm.head.x = da * steps_to_mm[A_AXIS];
|
steps_dist_mm.head.x = da * steps_to_mm[A_AXIS];
|
||||||
steps_dist_mm.head.y = db * steps_to_mm[B_AXIS];
|
steps_dist_mm.head.y = db * steps_to_mm[B_AXIS];
|
||||||
steps_dist_mm.z = dc * steps_to_mm[Z_AXIS];
|
//steps_dist_mm.z = dc * steps_to_mm[Z_AXIS];
|
||||||
steps_dist_mm.a = (da + db) * steps_to_mm[A_AXIS];
|
steps_dist_mm.a = (da + db) * steps_to_mm[A_AXIS];
|
||||||
steps_dist_mm.b = CORESIGN(da - db) * steps_to_mm[B_AXIS];
|
steps_dist_mm.b = CORESIGN(da - db) * steps_to_mm[B_AXIS];
|
||||||
#elif CORE_IS_XZ
|
#elif CORE_IS_XZ
|
||||||
@ -2124,9 +2124,9 @@ bool Planner::_populate_block(block_t * const block, bool split_move,
|
|||||||
ENABLE_AXIS_X();
|
ENABLE_AXIS_X();
|
||||||
ENABLE_AXIS_Y();
|
ENABLE_AXIS_Y();
|
||||||
}
|
}
|
||||||
#if DISABLED(Z_LATE_ENABLE)
|
//#if DISABLED(Z_LATE_ENABLE)
|
||||||
if (block->steps.z) ENABLE_AXIS_Z();
|
// if (block->steps.z) ENABLE_AXIS_Z();
|
||||||
#endif
|
//#endif
|
||||||
#elif CORE_IS_XZ
|
#elif CORE_IS_XZ
|
||||||
if (block->steps.a || block->steps.c) {
|
if (block->steps.a || block->steps.c) {
|
||||||
ENABLE_AXIS_X();
|
ENABLE_AXIS_X();
|
||||||
|
@ -2717,7 +2717,7 @@ void Stepper::_set_position(const abce_long_t &spos) {
|
|||||||
#if CORE_IS_XY
|
#if CORE_IS_XY
|
||||||
// corexy positioning
|
// corexy positioning
|
||||||
// these equations follow the form of the dA and dB equations on https://www.corexy.com/theory.html
|
// these equations follow the form of the dA and dB equations on https://www.corexy.com/theory.html
|
||||||
count_position.set(spos.a + spos.b, CORESIGN(spos.a - spos.b), spos.c);
|
count_position.set(spos.a + spos.b, CORESIGN(spos.a - spos.b));
|
||||||
#elif CORE_IS_XZ
|
#elif CORE_IS_XZ
|
||||||
// corexz planning
|
// corexz planning
|
||||||
count_position.set(spos.a + spos.c, spos.b, CORESIGN(spos.a - spos.c));
|
count_position.set(spos.a + spos.c, spos.b, CORESIGN(spos.a - spos.c));
|
||||||
|
Loading…
Reference in New Issue
Block a user