|
@@ -34,14 +34,19 @@
|
34
|
34
|
* K<factor> Set advance K factor
|
35
|
35
|
*/
|
36
|
36
|
void GcodeSuite::M900() {
|
37
|
|
- stepper.synchronize();
|
38
|
|
-
|
39
|
|
- const float newK = parser.floatval('K', -1);
|
40
|
|
- if (newK >= 0) planner.extruder_advance_K = newK;
|
41
|
|
-
|
|
37
|
+ if (parser.seenval('K')) {
|
|
38
|
+ const float newK = parser.floatval('K');
|
|
39
|
+ if (WITHIN(newK, 0, 10)) {
|
|
40
|
+ stepper.synchronize();
|
|
41
|
+ planner.extruder_advance_K = newK;
|
|
42
|
+ }
|
|
43
|
+ else
|
|
44
|
+ SERIAL_PROTOCOLLNPGM("?K value out of range (0-10).");
|
|
45
|
+ }
|
|
46
|
+ else {
|
42
|
47
|
SERIAL_ECHO_START();
|
43
|
|
- SERIAL_ECHOPAIR("Advance K=", planner.extruder_advance_K);
|
44
|
|
- SERIAL_EOL();
|
|
48
|
+ SERIAL_ECHOLNPAIR("Advance K=", planner.extruder_advance_K);
|
|
49
|
+ }
|
45
|
50
|
}
|
46
|
51
|
|
47
|
52
|
#endif // LIN_ADVANCE
|