📺 ExtUI pause state response (#22164)

This commit is contained in:
InsanityAutomation
2021-07-09 19:24:14 -04:00
committed by Scott Lahteine
parent 78c2eb6876
commit be13220e32
6 changed files with 73 additions and 19 deletions

View File

@@ -102,6 +102,10 @@
#include "../../feature/host_actions.h"
#endif
#if M600_PURGE_MORE_RESUMABLE
#include "../../feature/pause.h"
#endif
namespace ExtUI {
static struct {
uint8_t printer_killed : 1;
@@ -381,7 +385,8 @@ namespace ExtUI {
return !thermalManager.tooColdToExtrude(extruder - E0);
}
GcodeSuite::MarlinBusyState getMachineBusyState() { return TERN0(HOST_KEEPALIVE_FEATURE, GcodeSuite::busy_state); }
GcodeSuite::MarlinBusyState getHostKeepaliveState() { return TERN0(HOST_KEEPALIVE_FEATURE, gcode.busy_state); }
bool getHostKeepaliveIsPaused() { return TERN0(HOST_KEEPALIVE_FEATURE, gcode.host_keepalive_is_paused()); }
#if HAS_SOFTWARE_ENDSTOPS
bool getSoftEndstopState() { return soft_endstop._enabled; }
@@ -1025,9 +1030,15 @@ namespace ExtUI {
TERN_(HAS_FAN, thermalManager.zero_fan_speeds());
}
bool awaitingUserConfirm() { return TERN0(HAS_RESUME_CONTINUE, wait_for_user); }
bool awaitingUserConfirm() {
return TERN0(HAS_RESUME_CONTINUE, wait_for_user) || getHostKeepaliveIsPaused();
}
void setUserConfirmed() { TERN_(HAS_RESUME_CONTINUE, wait_for_user = false); }
#if M600_PURGE_MORE_RESUMABLE
void setPauseMenuResponse(PauseMenuResponse response) { pause_menu_response = response; }
#endif
void printFile(const char *filename) {
TERN(SDSUPPORT, card.openAndPrintFile(filename), UNUSED(filename));
}

View File

@@ -45,6 +45,9 @@
#include "../../inc/MarlinConfig.h"
#include "../marlinui.h"
#include "../../gcode/gcode.h"
#if M600_PURGE_MORE_RESUMABLE
#include "../../feature/pause.h"
#endif
namespace ExtUI {
@@ -79,7 +82,8 @@ namespace ExtUI {
void injectCommands(char * const);
bool commandsInQueue();
GcodeSuite::MarlinBusyState getMachineBusyState();
GcodeSuite::MarlinBusyState getHostKeepaliveState();
bool getHostKeepaliveIsPaused();
bool isHeaterIdle(const heater_t);
bool isHeaterIdle(const extruder_t);
@@ -220,14 +224,18 @@ namespace ExtUI {
void setFeedrate_mm_s(const feedRate_t);
void setMinFeedrate_mm_s(const feedRate_t);
void setMinTravelFeedrate_mm_s(const feedRate_t);
void setPrintingAcceleration_mm_s2(const_float_t );
void setRetractAcceleration_mm_s2(const_float_t );
void setTravelAcceleration_mm_s2(const_float_t );
void setFeedrate_percent(const_float_t );
void setPrintingAcceleration_mm_s2(const_float_t);
void setRetractAcceleration_mm_s2(const_float_t);
void setTravelAcceleration_mm_s2(const_float_t);
void setFeedrate_percent(const_float_t);
void setFlow_percent(const int16_t, const extruder_t);
bool awaitingUserConfirm();
void setUserConfirmed();
#if M600_PURGE_MORE_RESUMABLE
void setPauseMenuResponse(PauseMenuResponse);
#endif
#if ENABLED(LIN_ADVANCE)
float getLinearAdvance_mm_mm_s(const extruder_t);
void setLinearAdvance_mm_mm_s(const_float_t, const extruder_t);
@@ -235,7 +243,7 @@ namespace ExtUI {
#if HAS_JUNCTION_DEVIATION
float getJunctionDeviation_mm();
void setJunctionDeviation_mm(const_float_t );
void setJunctionDeviation_mm(const_float_t);
#else
float getAxisMaxJerk_mm_s(const axis_t);
float getAxisMaxJerk_mm_s(const extruder_t);
@@ -262,7 +270,7 @@ namespace ExtUI {
#endif
float getZOffset_mm();
void setZOffset_mm(const_float_t );
void setZOffset_mm(const_float_t);
#if HAS_BED_PROBE
float getProbeOffset_mm(const axis_t);
@@ -274,11 +282,11 @@ namespace ExtUI {
void setAxisBacklash_mm(const_float_t, const axis_t);
float getBacklashCorrection_percent();
void setBacklashCorrection_percent(const_float_t );
void setBacklashCorrection_percent(const_float_t);
#ifdef BACKLASH_SMOOTHING_MM
float getBacklashSmoothing_mm();
void setBacklashSmoothing_mm(const_float_t );
void setBacklashSmoothing_mm(const_float_t);
#endif
#endif
@@ -290,7 +298,7 @@ namespace ExtUI {
#if HAS_FILAMENT_RUNOUT_DISTANCE
float getFilamentRunoutDistance_mm();
void setFilamentRunoutDistance_mm(const_float_t );
void setFilamentRunoutDistance_mm(const_float_t);
#endif
#endif
@@ -300,7 +308,7 @@ namespace ExtUI {
#if DISABLED(CASE_LIGHT_NO_BRIGHTNESS)
float getCaseLightBrightness_percent();
void setCaseLightBrightness_percent(const_float_t );
void setCaseLightBrightness_percent(const_float_t);
#endif
#endif
@@ -309,15 +317,15 @@ namespace ExtUI {
float getPIDValues_Ki(const extruder_t);
float getPIDValues_Kd(const extruder_t);
void setPIDValues(const_float_t, const_float_t , const_float_t , extruder_t);
void startPIDTune(const_float_t, extruder_t);
void startPIDTune(const celsius_t, extruder_t);
#endif
#if ENABLED(PIDTEMPBED)
float getBedPIDValues_Kp();
float getBedPIDValues_Ki();
float getBedPIDValues_Kd();
void setBedPIDValues(const_float_t, const_float_t , const_float_t );
void startBedPIDTune(const_float_t );
void setBedPIDValues(const_float_t, const_float_t , const_float_t);
void startBedPIDTune(const celsius_t);
#endif
/**