Browse Source

misc. UBL fixes (#6631)

* Restore LSF functionality

Some of the typo's persisted...   Hopefully this gets them all fixed.

* Restore user's expectations of how G28 should behave

* Allow Nozzle size control with ornery host programs
pull/1/head
Roxy-3D 8 years ago
committed by GitHub
parent
commit
d92fa40c62
  1. 3
      Marlin/G26_Mesh_Validation_Tool.cpp
  2. 6
      Marlin/Marlin_main.cpp
  3. 6
      Marlin/least_squares_fit.cpp

3
Marlin/G26_Mesh_Validation_Tool.cpp

@ -92,6 +92,7 @@
* un-retraction is at 1.2mm These numbers will be scaled by the specified amount
*
* N # Nozzle Used to control the size of nozzle diameter. If not specified, a .4mm nozzle is assumed.
* 'n' can be used instead if your host program does not appreciate you using 'N'.
*
* O # Ooooze How much your nozzle will Ooooze filament while getting in position to print. This
* is over kill, but using this parameter will let you get the very first 'cicle' perfect
@ -674,7 +675,7 @@
}
}
if (code_seen('N')) {
if (code_seen('N') || code_seen('n')) {
nozzle = code_value_float();
if (!WITHIN(nozzle, 0.1, 1.0)) {
SERIAL_PROTOCOLLNPGM("?Specified nozzle size not plausible.");

6
Marlin/Marlin_main.cpp

@ -3741,6 +3741,9 @@ inline void gcode_G28() {
// Disable the leveling matrix before homing
#if HAS_LEVELING
#if ENABLED(AUTO_BED_LEVELING_UBL)
const bool bed_leveling_state_at_entry = ubl.state.active;
#endif
set_bed_leveling_enabled(false);
#endif
@ -3882,6 +3885,9 @@ inline void gcode_G28() {
// move to a height where we can use the full xy-area
do_blocking_move_to_z(delta_clip_start_height);
#endif
#if ENABLED(AUTO_BED_LEVELING_UBL)
set_bed_leveling_enabled(bed_leveling_state_at_entry);
#endif
clean_up_after_endstop_or_probe_move();

6
Marlin/least_squares_fit.cpp

@ -52,9 +52,9 @@ void incremental_LSF(struct linear_fit_data *lsf, float x, float y, float z) {
lsf->x2bar += sq(x);
lsf->y2bar += sq(y);
lsf->z2bar += sq(z);
lsf->xybar += sq(x);
lsf->xzbar += sq(x);
lsf->yzbar += sq(y);
lsf->xybar += x*y;
lsf->xzbar += x*z;
lsf->yzbar += y*z;
lsf->max_absx = max(fabs(x), lsf->max_absx);
lsf->max_absy = max(fabs(y), lsf->max_absy);
lsf->n++;

Loading…
Cancel
Save