Merge pull request #3414 from thinkyhead/rc_host_timeout_mods
Host Keepalive configurable timeout with 2s default
This commit is contained in:
commit
50c3140040
21 changed files with 104 additions and 20 deletions
|
@ -721,9 +721,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
|
|||
// Host Keepalive
|
||||
//
|
||||
// By default Marlin will send a busy status message to the host
|
||||
// every 10 seconds when it can't accept commands.
|
||||
// every couple of seconds when it can't accept commands.
|
||||
//
|
||||
//#define DISABLE_HOST_KEEPALIVE // Enable this option if your host doesn't like keepalive messages.
|
||||
#if DISABLED(DISABLE_HOST_KEEPALIVE)
|
||||
#define DEFAULT_KEEPALIVE_INTERVAL 2 // Number of seconds between "busy" messages. Set with M113.
|
||||
#endif
|
||||
|
||||
//
|
||||
// M100 Free Memory Watcher
|
||||
|
|
|
@ -327,6 +327,10 @@ extern bool axis_homed[3]; // axis[n].is_homed
|
|||
extern float zprobe_zoffset;
|
||||
#endif
|
||||
|
||||
#if ENABLED(HOST_KEEPALIVE_FEATURE)
|
||||
extern uint8_t host_keepalive_interval;
|
||||
#endif
|
||||
|
||||
#if ENABLED(PREVENT_DANGEROUS_EXTRUDE)
|
||||
extern float extrude_min_temp;
|
||||
#endif
|
||||
|
|
|
@ -155,6 +155,7 @@
|
|||
* M110 - Set the current line number
|
||||
* M111 - Set debug flags with S<mask>. See flag bits defined in Marlin.h.
|
||||
* M112 - Emergency stop
|
||||
* M113 - Get or set the timeout interval for Host Keepalive "busy" messages
|
||||
* M114 - Output current position to serial port
|
||||
* M115 - Capabilities string
|
||||
* M117 - Display a message on the controller screen
|
||||
|
@ -456,6 +457,7 @@ static bool send_ok[BUFSIZE];
|
|||
|
||||
static MarlinBusyState busy_state = NOT_BUSY;
|
||||
static millis_t next_busy_signal_ms = -1;
|
||||
uint8_t host_keepalive_interval = DEFAULT_KEEPALIVE_INTERVAL;
|
||||
#define KEEPALIVE_STATE(n) do{ busy_state = n; }while(0)
|
||||
#else
|
||||
#define host_keepalive() ;
|
||||
|
@ -2297,7 +2299,7 @@ void unknown_command_error() {
|
|||
break;
|
||||
}
|
||||
}
|
||||
next_busy_signal_ms = ms + 10000UL; // "busy: ..." message every 10s
|
||||
next_busy_signal_ms = host_keepalive_interval ? ms + 1000UL * host_keepalive_interval : -1;
|
||||
}
|
||||
|
||||
#endif //HOST_KEEPALIVE_FEATURE
|
||||
|
@ -4427,6 +4429,27 @@ inline void gcode_M111() {
|
|||
*/
|
||||
inline void gcode_M112() { kill(PSTR(MSG_KILLED)); }
|
||||
|
||||
#if ENABLED(HOST_KEEPALIVE_FEATURE)
|
||||
|
||||
/**
|
||||
* M113: Get or set Host Keepalive interval (0 to disable)
|
||||
*
|
||||
* S<seconds> Optional. Set the keepalive interval.
|
||||
*/
|
||||
inline void gcode_M113() {
|
||||
if (code_seen('S')) {
|
||||
host_keepalive_interval = (uint8_t)code_value_short();
|
||||
NOMORE(host_keepalive_interval, 60);
|
||||
}
|
||||
else {
|
||||
SERIAL_ECHO_START;
|
||||
SERIAL_ECHOPAIR("M113 S", (unsigned long)host_keepalive_interval);
|
||||
SERIAL_EOL;
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
#if ENABLED(BARICUDA)
|
||||
|
||||
#if HAS_HEATER_1
|
||||
|
|
|
@ -704,9 +704,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
|
|||
// Host Keepalive
|
||||
//
|
||||
// By default Marlin will send a busy status message to the host
|
||||
// every 10 seconds when it can't accept commands.
|
||||
// every couple of seconds when it can't accept commands.
|
||||
//
|
||||
//#define DISABLE_HOST_KEEPALIVE // Enable this option if your host doesn't like keepalive messages.
|
||||
#if DISABLED(DISABLE_HOST_KEEPALIVE)
|
||||
#define DEFAULT_KEEPALIVE_INTERVAL 2 // Number of seconds between "busy" messages. Set with M113.
|
||||
#endif
|
||||
|
||||
//
|
||||
// M100 Free Memory Watcher
|
||||
|
|
|
@ -701,9 +701,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
|
|||
// Host Keepalive
|
||||
//
|
||||
// By default Marlin will send a busy status message to the host
|
||||
// every 10 seconds when it can't accept commands.
|
||||
// every couple of seconds when it can't accept commands.
|
||||
//
|
||||
//#define DISABLE_HOST_KEEPALIVE // Enable this option if your host doesn't like keepalive messages.
|
||||
#if DISABLED(DISABLE_HOST_KEEPALIVE)
|
||||
#define DEFAULT_KEEPALIVE_INTERVAL 2 // Number of seconds between "busy" messages. Set with M113.
|
||||
#endif
|
||||
|
||||
//
|
||||
// M100 Free Memory Watcher
|
||||
|
|
|
@ -713,9 +713,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
|
|||
// Host Keepalive
|
||||
//
|
||||
// By default Marlin will send a busy status message to the host
|
||||
// every 10 seconds when it can't accept commands.
|
||||
// every couple of seconds when it can't accept commands.
|
||||
//
|
||||
//#define DISABLE_HOST_KEEPALIVE // Enable this option if your host doesn't like keepalive messages.
|
||||
#if DISABLED(DISABLE_HOST_KEEPALIVE)
|
||||
#define DEFAULT_KEEPALIVE_INTERVAL 2 // Number of seconds between "busy" messages. Set with M113.
|
||||
#endif
|
||||
|
||||
//
|
||||
// M100 Free Memory Watcher
|
||||
|
|
|
@ -715,9 +715,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
|
|||
// Host Keepalive
|
||||
//
|
||||
// By default Marlin will send a busy status message to the host
|
||||
// every 10 seconds when it can't accept commands.
|
||||
// every couple of seconds when it can't accept commands.
|
||||
//
|
||||
//#define DISABLE_HOST_KEEPALIVE // Enable this option if your host doesn't like keepalive messages.
|
||||
#if DISABLED(DISABLE_HOST_KEEPALIVE)
|
||||
#define DEFAULT_KEEPALIVE_INTERVAL 2 // Number of seconds between "busy" messages. Set with M113.
|
||||
#endif
|
||||
|
||||
//
|
||||
// M100 Free Memory Watcher
|
||||
|
|
|
@ -738,9 +738,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
|
|||
// Host Keepalive
|
||||
//
|
||||
// By default Marlin will send a busy status message to the host
|
||||
// every 10 seconds when it can't accept commands.
|
||||
// every couple of seconds when it can't accept commands.
|
||||
//
|
||||
//#define DISABLE_HOST_KEEPALIVE // Enable this option if your host doesn't like keepalive messages.
|
||||
#if DISABLED(DISABLE_HOST_KEEPALIVE)
|
||||
#define DEFAULT_KEEPALIVE_INTERVAL 2 // Number of seconds between "busy" messages. Set with M113.
|
||||
#endif
|
||||
|
||||
//
|
||||
// M100 Free Memory Watcher
|
||||
|
|
|
@ -721,9 +721,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
|
|||
// Host Keepalive
|
||||
//
|
||||
// By default Marlin will send a busy status message to the host
|
||||
// every 10 seconds when it can't accept commands.
|
||||
// every couple of seconds when it can't accept commands.
|
||||
//
|
||||
//#define DISABLE_HOST_KEEPALIVE // Enable this option if your host doesn't like keepalive messages.
|
||||
#if DISABLED(DISABLE_HOST_KEEPALIVE)
|
||||
#define DEFAULT_KEEPALIVE_INTERVAL 2 // Number of seconds between "busy" messages. Set with M113.
|
||||
#endif
|
||||
|
||||
//
|
||||
// M100 Free Memory Watcher
|
||||
|
|
|
@ -716,9 +716,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
|
|||
// Host Keepalive
|
||||
//
|
||||
// By default Marlin will send a busy status message to the host
|
||||
// every 10 seconds when it can't accept commands.
|
||||
// every couple of seconds when it can't accept commands.
|
||||
//
|
||||
//#define DISABLE_HOST_KEEPALIVE // Enable this option if your host doesn't like keepalive messages.
|
||||
#if DISABLED(DISABLE_HOST_KEEPALIVE)
|
||||
#define DEFAULT_KEEPALIVE_INTERVAL 2 // Number of seconds between "busy" messages. Set with M113.
|
||||
#endif
|
||||
|
||||
//
|
||||
// M100 Free Memory Watcher
|
||||
|
|
|
@ -729,9 +729,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
|
|||
// Host Keepalive
|
||||
//
|
||||
// By default Marlin will send a busy status message to the host
|
||||
// every 10 seconds when it can't accept commands.
|
||||
// every couple of seconds when it can't accept commands.
|
||||
//
|
||||
//#define DISABLE_HOST_KEEPALIVE // Enable this option if your host doesn't like keepalive messages.
|
||||
#if DISABLED(DISABLE_HOST_KEEPALIVE)
|
||||
#define DEFAULT_KEEPALIVE_INTERVAL 2 // Number of seconds between "busy" messages. Set with M113.
|
||||
#endif
|
||||
|
||||
//
|
||||
// M100 Free Memory Watcher
|
||||
|
|
|
@ -742,9 +742,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
|
|||
// Host Keepalive
|
||||
//
|
||||
// By default Marlin will send a busy status message to the host
|
||||
// every 10 seconds when it can't accept commands.
|
||||
// every couple of seconds when it can't accept commands.
|
||||
//
|
||||
//#define DISABLE_HOST_KEEPALIVE // Enable this option if your host doesn't like keepalive messages.
|
||||
#if DISABLED(DISABLE_HOST_KEEPALIVE)
|
||||
#define DEFAULT_KEEPALIVE_INTERVAL 2 // Number of seconds between "busy" messages. Set with M113.
|
||||
#endif
|
||||
|
||||
//
|
||||
// M100 Free Memory Watcher
|
||||
|
|
|
@ -713,9 +713,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
|
|||
// Host Keepalive
|
||||
//
|
||||
// By default Marlin will send a busy status message to the host
|
||||
// every 10 seconds when it can't accept commands.
|
||||
// every couple of seconds when it can't accept commands.
|
||||
//
|
||||
//#define DISABLE_HOST_KEEPALIVE // Enable this option if your host doesn't like keepalive messages.
|
||||
#if DISABLED(DISABLE_HOST_KEEPALIVE)
|
||||
#define DEFAULT_KEEPALIVE_INTERVAL 2 // Number of seconds between "busy" messages. Set with M113.
|
||||
#endif
|
||||
|
||||
//
|
||||
// M100 Free Memory Watcher
|
||||
|
|
|
@ -721,9 +721,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
|
|||
// Host Keepalive
|
||||
//
|
||||
// By default Marlin will send a busy status message to the host
|
||||
// every 10 seconds when it can't accept commands.
|
||||
// every couple of seconds when it can't accept commands.
|
||||
//
|
||||
//#define DISABLE_HOST_KEEPALIVE // Enable this option if your host doesn't like keepalive messages.
|
||||
#if DISABLED(DISABLE_HOST_KEEPALIVE)
|
||||
#define DEFAULT_KEEPALIVE_INTERVAL 2 // Number of seconds between "busy" messages. Set with M113.
|
||||
#endif
|
||||
|
||||
//
|
||||
// M100 Free Memory Watcher
|
||||
|
|
|
@ -843,9 +843,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
|
|||
// Host Keepalive
|
||||
//
|
||||
// By default Marlin will send a busy status message to the host
|
||||
// every 10 seconds when it can't accept commands.
|
||||
// every couple of seconds when it can't accept commands.
|
||||
//
|
||||
//#define DISABLE_HOST_KEEPALIVE // Enable this option if your host doesn't like keepalive messages.
|
||||
#if DISABLED(DISABLE_HOST_KEEPALIVE)
|
||||
#define DEFAULT_KEEPALIVE_INTERVAL 2 // Number of seconds between "busy" messages. Set with M113.
|
||||
#endif
|
||||
|
||||
//
|
||||
// M100 Free Memory Watcher
|
||||
|
|
|
@ -843,9 +843,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
|
|||
// Host Keepalive
|
||||
//
|
||||
// By default Marlin will send a busy status message to the host
|
||||
// every 10 seconds when it can't accept commands.
|
||||
// every couple of seconds when it can't accept commands.
|
||||
//
|
||||
//#define DISABLE_HOST_KEEPALIVE // Enable this option if your host doesn't like keepalive messages.
|
||||
#if DISABLED(DISABLE_HOST_KEEPALIVE)
|
||||
#define DEFAULT_KEEPALIVE_INTERVAL 2 // Number of seconds between "busy" messages. Set with M113.
|
||||
#endif
|
||||
|
||||
//
|
||||
// M100 Free Memory Watcher
|
||||
|
|
|
@ -847,9 +847,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
|
|||
// Host Keepalive
|
||||
//
|
||||
// By default Marlin will send a busy status message to the host
|
||||
// every 10 seconds when it can't accept commands.
|
||||
// every couple of seconds when it can't accept commands.
|
||||
//
|
||||
//#define DISABLE_HOST_KEEPALIVE // Enable this option if your host doesn't like keepalive messages.
|
||||
#if DISABLED(DISABLE_HOST_KEEPALIVE)
|
||||
#define DEFAULT_KEEPALIVE_INTERVAL 2 // Number of seconds between "busy" messages. Set with M113.
|
||||
#endif
|
||||
|
||||
//
|
||||
// M100 Free Memory Watcher
|
||||
|
|
|
@ -840,9 +840,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
|
|||
// Host Keepalive
|
||||
//
|
||||
// By default Marlin will send a busy status message to the host
|
||||
// every 10 seconds when it can't accept commands.
|
||||
// every couple of seconds when it can't accept commands.
|
||||
//
|
||||
//#define DISABLE_HOST_KEEPALIVE // Enable this option if your host doesn't like keepalive messages.
|
||||
#if DISABLED(DISABLE_HOST_KEEPALIVE)
|
||||
#define DEFAULT_KEEPALIVE_INTERVAL 2 // Number of seconds between "busy" messages. Set with M113.
|
||||
#endif
|
||||
|
||||
//
|
||||
// M100 Free Memory Watcher
|
||||
|
|
|
@ -757,9 +757,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
|
|||
// Host Keepalive
|
||||
//
|
||||
// By default Marlin will send a busy status message to the host
|
||||
// every 10 seconds when it can't accept commands.
|
||||
// every couple of seconds when it can't accept commands.
|
||||
//
|
||||
//#define DISABLE_HOST_KEEPALIVE // Enable this option if your host doesn't like keepalive messages.
|
||||
#if DISABLED(DISABLE_HOST_KEEPALIVE)
|
||||
#define DEFAULT_KEEPALIVE_INTERVAL 2 // Number of seconds between "busy" messages. Set with M113.
|
||||
#endif
|
||||
|
||||
//
|
||||
// M100 Free Memory Watcher
|
||||
|
|
|
@ -724,9 +724,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
|
|||
// Host Keepalive
|
||||
//
|
||||
// By default Marlin will send a busy status message to the host
|
||||
// every 10 seconds when it can't accept commands.
|
||||
// every couple of seconds when it can't accept commands.
|
||||
//
|
||||
//#define DISABLE_HOST_KEEPALIVE // Enable this option if your host doesn't like keepalive messages.
|
||||
#if DISABLED(DISABLE_HOST_KEEPALIVE)
|
||||
#define DEFAULT_KEEPALIVE_INTERVAL 2 // Number of seconds between "busy" messages. Set with M113.
|
||||
#endif
|
||||
|
||||
//
|
||||
// M100 Free Memory Watcher
|
||||
|
|
|
@ -715,9 +715,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
|
|||
// Host Keepalive
|
||||
//
|
||||
// By default Marlin will send a busy status message to the host
|
||||
// every 10 seconds when it can't accept commands.
|
||||
// every couple of seconds when it can't accept commands.
|
||||
//
|
||||
//#define DISABLE_HOST_KEEPALIVE // Enable this option if your host doesn't like keepalive messages.
|
||||
#if DISABLED(DISABLE_HOST_KEEPALIVE)
|
||||
#define DEFAULT_KEEPALIVE_INTERVAL 2 // Number of seconds between "busy" messages. Set with M113.
|
||||
#endif
|
||||
|
||||
//
|
||||
// M100 Free Memory Watcher
|
||||
|
|
Reference in a new issue