From 8d8180e028825db4f57ceefa46621ea28140fc99 Mon Sep 17 00:00:00 2001
From: Scott Lahteine <sourcetree@thinkyhead.com>
Date: Mon, 13 Jun 2016 19:25:05 -0700
Subject: [PATCH] Parse M905 args in Marlin_main.cpp

---
 Marlin/Marlin_main.cpp | 2 +-
 Marlin/stepper.cpp     | 4 ++--
 Marlin/stepper.h       | 2 +-
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp
index 6cd9f863ed..ca11329548 100644
--- a/Marlin/Marlin_main.cpp
+++ b/Marlin/Marlin_main.cpp
@@ -6491,7 +6491,7 @@ inline void gcode_M503() {
    */
   inline void gcode_M905() {
     stepper.synchronize();
-    stepper.advance_M905();
+    stepper.advance_M905(code_seen('K') ? code_value_float() : -1.0);
   }
 #endif
 
diff --git a/Marlin/stepper.cpp b/Marlin/stepper.cpp
index 32d0cddade..8d1fe031e1 100644
--- a/Marlin/stepper.cpp
+++ b/Marlin/stepper.cpp
@@ -1123,8 +1123,8 @@ void Stepper::microstep_readings() {
 
 #if ENABLED(LIN_ADVANCE)
 
-  void Stepper::advance_M905() {
-    if (code_seen('K')) extruder_advance_k = code_value_float();
+  void Stepper::advance_M905(const float &k) {
+    if (k >= 0) extruder_advance_k = k;
     SERIAL_ECHO_START;
     SERIAL_ECHOPAIR("Advance factor: ", extruder_advance_k);
     SERIAL_EOL;
diff --git a/Marlin/stepper.h b/Marlin/stepper.h
index 279db1807f..7612e60587 100644
--- a/Marlin/stepper.h
+++ b/Marlin/stepper.h
@@ -256,7 +256,7 @@ class Stepper {
     }
 
     #if ENABLED(LIN_ADVANCE)
-      void advance_M905();
+      void advance_M905(const float &k);
       FORCE_INLINE int get_advance_k() { return extruder_advance_k; }
     #endif