From b39b54031be06ab554901ab7a615f9be8d087a1a Mon Sep 17 00:00:00 2001
From: AnHardt <github@kitelab.de>
Date: Sun, 20 Mar 2016 10:40:26 +0100
Subject: [PATCH] Fix KEEPALIVE_STATE

Add return to NOT_BUSY for M105
Replace WAIT_FOR_USER with PAUSED_FOR_USER

Add Travis test for FILAMENTCHANGEENABLE
---
 .travis.yml            | 5 +++++
 Marlin/Marlin_main.cpp | 3 ++-
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/.travis.yml b/.travis.yml
index babda87b9d..610612e6db 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -155,6 +155,11 @@ script:
   - sed -i 's/\/\/#define LCM1602/#define LCM1602/g' Marlin/Configuration.h
   - rm -rf .build/
   - DISPLAY=:1.0 ~/bin/arduino --verify --board marlin:avr:mega  Marlin/Marlin.ino
+  # Enable FILAMENTCHANGEENABLE
+  - cp Marlin/Configuration.h.backup Marlin/Configuration.h
+  - sed -i 's/\/\/#define FILAMENTCHANGEENABLE/#define FILAMENTCHANGEENABLE/g' Marlin/Configuration.h
+  - rm -rf .build/
+  - DISPLAY=:1.0 ~/bin/arduino --verify --board marlin:avr:mega  Marlin/Marlin.ino
   # Enable filament sensor
   - cp Marlin/Configuration.h.backup Marlin/Configuration.h
   - sed -i 's/\/\/#define FILAMENT_SENSOR/#define FILAMENT_SENSOR/g' Marlin/Configuration.h
diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp
index 6212e6a612..9c81bad619 100644
--- a/Marlin/Marlin_main.cpp
+++ b/Marlin/Marlin_main.cpp
@@ -5508,7 +5508,7 @@ inline void gcode_M503() {
     delay(100);
     LCD_ALERTMESSAGEPGM(MSG_FILAMENTCHANGE);
     millis_t next_tick = 0;
-    KEEPALIVE_STATE(WAIT_FOR_USER);
+    KEEPALIVE_STATE(PAUSED_FOR_USER);
     while (!lcd_clicked()) {
       #if DISABLED(AUTO_FILAMENT_CHANGE)
         millis_t ms = millis();
@@ -6028,6 +6028,7 @@ void process_next_command() {
 
       case 105: // M105: Read current temperature
         gcode_M105();
+        KEEPALIVE_STATE(NOT_BUSY);
         return; // "ok" already printed
 
       case 109: // M109: Wait for temperature