Merge pull request #5110 from thinkyhead/rc_z2_min_allowed
Support Z2 min in M119 report
This commit is contained in:
		| @@ -201,6 +201,10 @@ void Endstops::M119() { | |||||||
|     SERIAL_PROTOCOLPGM(MSG_Z_MIN); |     SERIAL_PROTOCOLPGM(MSG_Z_MIN); | ||||||
|     SERIAL_PROTOCOLLN(((READ(Z_MIN_PIN)^Z_MIN_ENDSTOP_INVERTING) ? MSG_ENDSTOP_HIT : MSG_ENDSTOP_OPEN)); |     SERIAL_PROTOCOLLN(((READ(Z_MIN_PIN)^Z_MIN_ENDSTOP_INVERTING) ? MSG_ENDSTOP_HIT : MSG_ENDSTOP_OPEN)); | ||||||
|   #endif |   #endif | ||||||
|  |   #if HAS_Z2_MIN | ||||||
|  |     SERIAL_PROTOCOLPGM(MSG_Z2_MIN); | ||||||
|  |     SERIAL_PROTOCOLLN(((READ(Z2_MIN_PIN)^Z2_MIN_ENDSTOP_INVERTING) ? MSG_ENDSTOP_HIT : MSG_ENDSTOP_OPEN)); | ||||||
|  |   #endif | ||||||
|   #if HAS_Z_MAX |   #if HAS_Z_MAX | ||||||
|     SERIAL_PROTOCOLPGM(MSG_Z_MAX); |     SERIAL_PROTOCOLPGM(MSG_Z_MAX); | ||||||
|     SERIAL_PROTOCOLLN(((READ(Z_MAX_PIN)^Z_MAX_ENDSTOP_INVERTING) ? MSG_ENDSTOP_HIT : MSG_ENDSTOP_OPEN)); |     SERIAL_PROTOCOLLN(((READ(Z_MAX_PIN)^Z_MAX_ENDSTOP_INVERTING) ? MSG_ENDSTOP_HIT : MSG_ENDSTOP_OPEN)); | ||||||
| @@ -218,7 +222,7 @@ void Endstops::M119() { | |||||||
| #if ENABLED(Z_DUAL_ENDSTOPS) | #if ENABLED(Z_DUAL_ENDSTOPS) | ||||||
|  |  | ||||||
|   // Pass the result of the endstop test |   // Pass the result of the endstop test | ||||||
|   void Endstops::test_dual_z_endstops(EndstopEnum es1, EndstopEnum es2) { |   void Endstops::test_dual_z_endstops(const EndstopEnum es1, const EndstopEnum es2) { | ||||||
|     byte z_test = TEST_ENDSTOP(es1) | (TEST_ENDSTOP(es2) << 1); // bit 0 for Z, bit 1 for Z2 |     byte z_test = TEST_ENDSTOP(es1) | (TEST_ENDSTOP(es2) << 1); // bit 0 for Z, bit 1 for Z2 | ||||||
|     if (z_test && stepper.current_block->steps[Z_AXIS] > 0) { |     if (z_test && stepper.current_block->steps[Z_AXIS] > 0) { | ||||||
|       SBI(endstop_hit_bits, Z_MIN); |       SBI(endstop_hit_bits, Z_MIN); | ||||||
|   | |||||||
| @@ -86,7 +86,7 @@ class Endstops { | |||||||
|   private: |   private: | ||||||
|  |  | ||||||
|     #if ENABLED(Z_DUAL_ENDSTOPS) |     #if ENABLED(Z_DUAL_ENDSTOPS) | ||||||
|       static void test_dual_z_endstops(EndstopEnum es1, EndstopEnum es2); |       static void test_dual_z_endstops(const EndstopEnum es1, const EndstopEnum es2); | ||||||
|     #endif |     #endif | ||||||
| }; | }; | ||||||
|  |  | ||||||
|   | |||||||
| @@ -145,6 +145,7 @@ | |||||||
| #define MSG_Y_MAX                           "y_max: " | #define MSG_Y_MAX                           "y_max: " | ||||||
| #define MSG_Z_MIN                           "z_min: " | #define MSG_Z_MIN                           "z_min: " | ||||||
| #define MSG_Z_MAX                           "z_max: " | #define MSG_Z_MAX                           "z_max: " | ||||||
|  | #define MSG_Z2_MIN                          "z2_min: " | ||||||
| #define MSG_Z2_MAX                          "z2_max: " | #define MSG_Z2_MAX                          "z2_max: " | ||||||
| #define MSG_Z_PROBE                         "z_probe: " | #define MSG_Z_PROBE                         "z_probe: " | ||||||
| #define MSG_ERR_MATERIAL_INDEX              "M145 S<index> out of range (0-1)" | #define MSG_ERR_MATERIAL_INDEX              "M145 S<index> out of range (0-1)" | ||||||
|   | |||||||
| @@ -162,14 +162,14 @@ volatile long Stepper::endstops_trigsteps[XYZ]; | |||||||
|   #if ENABLED(Z_DUAL_ENDSTOPS) |   #if ENABLED(Z_DUAL_ENDSTOPS) | ||||||
|     #define Z_APPLY_STEP(v,Q) \ |     #define Z_APPLY_STEP(v,Q) \ | ||||||
|     if (performing_homing) { \ |     if (performing_homing) { \ | ||||||
|       if (Z_HOME_DIR > 0) {\ |       if (Z_HOME_DIR < 0) { \ | ||||||
|         if (!(TEST(endstops.old_endstop_bits, Z_MAX) && (count_direction[Z_AXIS] > 0)) && !locked_z_motor) Z_STEP_WRITE(v); \ |  | ||||||
|         if (!(TEST(endstops.old_endstop_bits, Z2_MAX) && (count_direction[Z_AXIS] > 0)) && !locked_z2_motor) Z2_STEP_WRITE(v); \ |  | ||||||
|       } \ |  | ||||||
|       else { \ |  | ||||||
|         if (!(TEST(endstops.old_endstop_bits, Z_MIN) && (count_direction[Z_AXIS] < 0)) && !locked_z_motor) Z_STEP_WRITE(v); \ |         if (!(TEST(endstops.old_endstop_bits, Z_MIN) && (count_direction[Z_AXIS] < 0)) && !locked_z_motor) Z_STEP_WRITE(v); \ | ||||||
|         if (!(TEST(endstops.old_endstop_bits, Z2_MIN) && (count_direction[Z_AXIS] < 0)) && !locked_z2_motor) Z2_STEP_WRITE(v); \ |         if (!(TEST(endstops.old_endstop_bits, Z2_MIN) && (count_direction[Z_AXIS] < 0)) && !locked_z2_motor) Z2_STEP_WRITE(v); \ | ||||||
|       } \ |       } \ | ||||||
|  |       else { \ | ||||||
|  |         if (!(TEST(endstops.old_endstop_bits, Z_MAX) && (count_direction[Z_AXIS] > 0)) && !locked_z_motor) Z_STEP_WRITE(v); \ | ||||||
|  |         if (!(TEST(endstops.old_endstop_bits, Z2_MAX) && (count_direction[Z_AXIS] > 0)) && !locked_z2_motor) Z2_STEP_WRITE(v); \ | ||||||
|  |       } \ | ||||||
|     } \ |     } \ | ||||||
|     else { \ |     else { \ | ||||||
|       Z_STEP_WRITE(v); \ |       Z_STEP_WRITE(v); \ | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user