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
|
||||
*
|
||||
* 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.");
|
||||
|
@ -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();
|
||||
|
||||
|
@ -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…
Reference in New Issue
Block a user