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
This commit is contained in:
parent
787fdc95bb
commit
d92fa40c62
|
@ -92,6 +92,7 @@
|
||||||
* un-retraction is at 1.2mm These numbers will be scaled by the specified amount
|
* 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 # 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
|
* 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
|
* 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();
|
nozzle = code_value_float();
|
||||||
if (!WITHIN(nozzle, 0.1, 1.0)) {
|
if (!WITHIN(nozzle, 0.1, 1.0)) {
|
||||||
SERIAL_PROTOCOLLNPGM("?Specified nozzle size not plausible.");
|
SERIAL_PROTOCOLLNPGM("?Specified nozzle size not plausible.");
|
||||||
|
|
|
@ -3741,6 +3741,9 @@ inline void gcode_G28() {
|
||||||
|
|
||||||
// Disable the leveling matrix before homing
|
// Disable the leveling matrix before homing
|
||||||
#if HAS_LEVELING
|
#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);
|
set_bed_leveling_enabled(false);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -3882,6 +3885,9 @@ inline void gcode_G28() {
|
||||||
// move to a height where we can use the full xy-area
|
// move to a height where we can use the full xy-area
|
||||||
do_blocking_move_to_z(delta_clip_start_height);
|
do_blocking_move_to_z(delta_clip_start_height);
|
||||||
#endif
|
#endif
|
||||||
|
#if ENABLED(AUTO_BED_LEVELING_UBL)
|
||||||
|
set_bed_leveling_enabled(bed_leveling_state_at_entry);
|
||||||
|
#endif
|
||||||
|
|
||||||
clean_up_after_endstop_or_probe_move();
|
clean_up_after_endstop_or_probe_move();
|
||||||
|
|
||||||
|
|
|
@ -52,9 +52,9 @@ void incremental_LSF(struct linear_fit_data *lsf, float x, float y, float z) {
|
||||||
lsf->x2bar += sq(x);
|
lsf->x2bar += sq(x);
|
||||||
lsf->y2bar += sq(y);
|
lsf->y2bar += sq(y);
|
||||||
lsf->z2bar += sq(z);
|
lsf->z2bar += sq(z);
|
||||||
lsf->xybar += sq(x);
|
lsf->xybar += x*y;
|
||||||
lsf->xzbar += sq(x);
|
lsf->xzbar += x*z;
|
||||||
lsf->yzbar += sq(y);
|
lsf->yzbar += y*z;
|
||||||
lsf->max_absx = max(fabs(x), lsf->max_absx);
|
lsf->max_absx = max(fabs(x), lsf->max_absx);
|
||||||
lsf->max_absy = max(fabs(y), lsf->max_absy);
|
lsf->max_absy = max(fabs(y), lsf->max_absy);
|
||||||
lsf->n++;
|
lsf->n++;
|
||||||
|
|
Loading…
Reference in a new issue