Follow up fixes to various PRs. (#13334)

- Ensure `MarlinUI:get_progress` is defined for `ExtUI`.
- Fix for `BACKLASH_SMOOTHING` with small segments.
  `BACKLASH_SMOOTHING` with extremely small segments failed to fully correct due to the correction factor being rounded down. Rounding up ensures the entire backlash will converge to zero even for small segments.
- Add pinout for the beta revision `EINSY_RETRO`.
- Update soft endstops with tool offsets (for toolchange et. al. move clamping) (#12568)
This commit is contained in:
Marcio Teixeira
2019-03-08 21:13:24 -07:00
committed by Scott Lahteine
parent c7d618b4d9
commit 00fc43144a
10 changed files with 155 additions and 122 deletions

View File

@ -143,18 +143,15 @@ inline void park_above_object(measurements_t &m, const float uncertainty) {
}
#if HOTENDS > 1
inline void set_nozzle(measurements_t &m, const uint8_t extruder) {
if (extruder != active_extruder) {
park_above_object(m, CALIBRATION_MEASUREMENT_UNKNOWN);
tool_change(extruder);
}
}
#endif
inline void reset_nozzle_offsets() {
constexpr float tmp[XYZ][HOTENDS] = { HOTEND_OFFSET_X, HOTEND_OFFSET_Y, HOTEND_OFFSET_Z };
LOOP_XYZ(i) HOTEND_LOOP() hotend_offset[i][e] = tmp[i][e];
}
#if HAS_HOTEND_OFFSET
inline void normalize_hotend_offsets() {
for (uint8_t e = 1; e < HOTENDS; e++) {
@ -167,7 +164,7 @@ inline void park_above_object(measurements_t &m, const float uncertainty) {
hotend_offset[Z_AXIS][0] = 0;
}
#endif // HOTENDS > 1
#endif
inline bool read_calibration_pin() {
#if HAS_CALIBRATION_PIN
@ -526,7 +523,7 @@ inline void calibrate_toolhead(measurements_t &m, const float uncertainty, const
probe_sides(m, uncertainty);
// Adjust the hotend offset
#if HOTENDS > 1
#if HAS_HOTEND_OFFSET
#if HAS_X_CENTER
hotend_offset[X_AXIS][extruder] += m.pos_error[X_AXIS];
#endif
@ -534,7 +531,6 @@ inline void calibrate_toolhead(measurements_t &m, const float uncertainty, const
hotend_offset[Y_AXIS][extruder] += m.pos_error[Y_AXIS];
#endif
hotend_offset[Z_AXIS][extruder] += m.pos_error[Z_AXIS];
normalize_hotend_offsets();
#endif
@ -565,8 +561,11 @@ inline void calibrate_all_toolheads(measurements_t &m, const float uncertainty)
HOTEND_LOOP() calibrate_toolhead(m, uncertainty, e);
#if HOTENDS > 1
#if HAS_HOTEND_OFFSET
normalize_hotend_offsets();
#endif
#if HOTENDS > 1
set_nozzle(m, 0);
#endif
}
@ -585,8 +584,8 @@ inline void calibrate_all_toolheads(measurements_t &m, const float uncertainty)
inline void calibrate_all() {
measurements_t m;
#if HOTENDS > 1
reset_nozzle_offsets();
#if HAS_HOTEND_OFFSET
reset_hotend_offsets();
#endif
TEMPORARY_BACKLASH_CORRECTION(1.0f);