Add sanity checks to Linear Advance 1.5 (#9873)
This commit is contained in:
parent
1746749361
commit
118899357d
2 changed files with 22 additions and 7 deletions
|
@ -34,14 +34,19 @@
|
||||||
* K<factor> Set advance K factor
|
* K<factor> Set advance K factor
|
||||||
*/
|
*/
|
||||||
void GcodeSuite::M900() {
|
void GcodeSuite::M900() {
|
||||||
stepper.synchronize();
|
if (parser.seenval('K')) {
|
||||||
|
const float newK = parser.floatval('K');
|
||||||
const float newK = parser.floatval('K', -1);
|
if (WITHIN(newK, 0, 10)) {
|
||||||
if (newK >= 0) planner.extruder_advance_K = newK;
|
stepper.synchronize();
|
||||||
|
planner.extruder_advance_K = newK;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
SERIAL_PROTOCOLLNPGM("?K value out of range (0-10).");
|
||||||
|
}
|
||||||
|
else {
|
||||||
SERIAL_ECHO_START();
|
SERIAL_ECHO_START();
|
||||||
SERIAL_ECHOPAIR("Advance K=", planner.extruder_advance_K);
|
SERIAL_ECHOLNPAIR("Advance K=", planner.extruder_advance_K);
|
||||||
SERIAL_EOL();
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif // LIN_ADVANCE
|
#endif // LIN_ADVANCE
|
||||||
|
|
|
@ -554,6 +554,16 @@ static_assert(X_MAX_LENGTH >= X_BED_SIZE && Y_MAX_LENGTH >= Y_BED_SIZE,
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Linear Advance 1.5 - Check K value range
|
||||||
|
*/
|
||||||
|
#if ENABLED(LIN_ADVANCE)
|
||||||
|
static_assert(
|
||||||
|
WITHIN(LIN_ADVANCE_K, 0, 10),
|
||||||
|
"LIN_ADVANCE_K must be a value from 0 to 10 (Changed in LIN_ADVANCE v1.5, Marlin 1.1.9)."
|
||||||
|
);
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Parking Extruder requirements
|
* Parking Extruder requirements
|
||||||
*/
|
*/
|
||||||
|
|
Reference in a new issue