Browse Source

Add sanity checks to Linear Advance 1.5 (#9873)

pull/1/head
Scott Lahteine 7 years ago
committed by GitHub
parent
commit
118899357d
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 17
      Marlin/src/gcode/feature/advance/M900.cpp
  2. 10
      Marlin/src/inc/SanityCheck.h

17
Marlin/src/gcode/feature/advance/M900.cpp

@ -34,14 +34,19 @@
* K<factor> Set advance K factor * K<factor> Set advance K factor
*/ */
void GcodeSuite::M900() { void GcodeSuite::M900() {
if (parser.seenval('K')) {
const float newK = parser.floatval('K');
if (WITHIN(newK, 0, 10)) {
stepper.synchronize(); stepper.synchronize();
planner.extruder_advance_K = newK;
const float newK = parser.floatval('K', -1); }
if (newK >= 0) 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

10
Marlin/src/inc/SanityCheck.h

@ -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
*/ */

Loading…
Cancel
Save