Standardize active/paused functions
This commit is contained in:
parent
719615a6b6
commit
72d791a736
8 changed files with 34 additions and 19 deletions
|
@ -426,6 +426,20 @@ void disable_all_steppers() {
|
|||
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Printing is active when the print job timer is running
|
||||
*/
|
||||
bool printingIsActive() {
|
||||
return print_job_timer.isRunning() || IS_SD_PRINTING();
|
||||
}
|
||||
|
||||
/**
|
||||
* Printing is paused according to SD or host indicators
|
||||
*/
|
||||
bool printingIsPaused() {
|
||||
return print_job_timer.isPaused() || IS_SD_PAUSED();
|
||||
}
|
||||
|
||||
/**
|
||||
* Manage several activities:
|
||||
* - Check for Filament Runout
|
||||
|
|
|
@ -331,6 +331,9 @@ extern bool Running;
|
|||
inline bool IsRunning() { return Running; }
|
||||
inline bool IsStopped() { return !Running; }
|
||||
|
||||
bool printingIsActive();
|
||||
bool printingIsPaused();
|
||||
|
||||
extern bool wait_for_heatup;
|
||||
|
||||
#if HAS_RESUME_CONTINUE
|
||||
|
|
|
@ -381,7 +381,7 @@ bool unload_filament(const float &unload_length, const bool show_lcd/*=false*/,
|
|||
* - Park the nozzle at the given position
|
||||
* - Call unload_filament (if a length was specified)
|
||||
*
|
||||
* Returns 'true' if pause was completed, 'false' for abort
|
||||
* Return 'true' if pause was completed, 'false' for abort
|
||||
*/
|
||||
uint8_t did_pause_print = 0;
|
||||
|
||||
|
@ -603,7 +603,7 @@ void wait_for_confirmation(const bool is_reload/*=false*/, const int8_t max_beep
|
|||
/**
|
||||
* Resume or Start print procedure
|
||||
*
|
||||
* - Abort if not paused
|
||||
* - If not paused, do nothing and return
|
||||
* - Reset heater idle timers
|
||||
* - Load filament if specified, but only if:
|
||||
* - a nozzle timed out, or
|
||||
|
|
|
@ -98,7 +98,7 @@ class TFilamentMonitor : public FilamentMonitorBase {
|
|||
|
||||
// Give the response a chance to update its counter.
|
||||
static inline void run() {
|
||||
if (enabled && !filament_ran_out && (IS_SD_PRINTING() || print_job_timer.isRunning()
|
||||
if (enabled && !filament_ran_out && (printingIsActive()
|
||||
#if ENABLED(ADVANCED_PAUSE_FEATURE)
|
||||
|| did_pause_print
|
||||
#endif
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
#include "../../module/motion.h"
|
||||
#include "../../module/printcounter.h"
|
||||
#include "../../gcode/queue.h"
|
||||
#include "../../sd/cardreader.h"
|
||||
|
||||
#if HAS_BUZZER
|
||||
#include "../../libs/buzzer.h"
|
||||
#endif
|
||||
|
@ -206,8 +206,10 @@ void MenuItem_bool::action(PGM_P pstr, bool *ptr, screenFunc_t callback) {
|
|||
void _lcd_set_z_fade_height() { set_z_fade_height(lcd_z_fade_height); }
|
||||
#endif
|
||||
|
||||
#include "../../Marlin.h"
|
||||
|
||||
bool printer_busy() {
|
||||
return planner.movesplanned() || IS_SD_PRINTING() || print_job_timer.isRunning();
|
||||
return planner.movesplanned() || printingIsActive();
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -99,7 +99,7 @@ void menu_main() {
|
|||
START_MENU();
|
||||
BACK_ITEM(MSG_WATCH);
|
||||
|
||||
const bool busy = IS_SD_PRINTING() || print_job_timer.isRunning()
|
||||
const bool busy = printingIsActive()
|
||||
#if ENABLED(SDSUPPORT)
|
||||
, card_detected = card.isMounted()
|
||||
, card_open = card_detected && card.isFileOpen()
|
||||
|
@ -147,12 +147,7 @@ void menu_main() {
|
|||
#endif // !HAS_ENCODER_WHEEL && SDSUPPORT
|
||||
|
||||
#if MACHINE_CAN_PAUSE
|
||||
const bool paused = (print_job_timer.isPaused()
|
||||
#if ENABLED(SDSUPPORT)
|
||||
|| card.isPaused()
|
||||
#endif
|
||||
);
|
||||
if (paused) ACTION_ITEM(MSG_RESUME_PRINT, ui.resume_print);
|
||||
if (printingIsPaused()) ACTION_ITEM(MSG_RESUME_PRINT, ui.resume_print);
|
||||
#endif
|
||||
|
||||
SUBMENU(MSG_MOTION, menu_motion);
|
||||
|
|
|
@ -1427,11 +1427,12 @@ void MarlinUI::update() {
|
|||
|
||||
#include "../module/printcounter.h"
|
||||
|
||||
static const char print_paused[] PROGMEM = MSG_PRINT_PAUSED;
|
||||
|
||||
/**
|
||||
* Reset the status message
|
||||
*/
|
||||
void MarlinUI::reset_status() {
|
||||
static const char paused[] PROGMEM = MSG_PRINT_PAUSED;
|
||||
static const char printing[] PROGMEM = MSG_PRINTING;
|
||||
static const char welcome[] PROGMEM = WELCOME_MSG;
|
||||
#if SERVICE_INTERVAL_1 > 0
|
||||
|
@ -1444,8 +1445,8 @@ void MarlinUI::update() {
|
|||
static const char service3[] PROGMEM = { "> " SERVICE_NAME_3 "!" };
|
||||
#endif
|
||||
PGM_P msg;
|
||||
if (!IS_SD_PRINTING() && print_job_timer.isPaused())
|
||||
msg = paused;
|
||||
if (printingIsPaused())
|
||||
msg = print_paused;
|
||||
#if ENABLED(SDSUPPORT)
|
||||
else if (IS_SD_PRINTING())
|
||||
return set_status(card.longest_filename(), true);
|
||||
|
@ -1508,7 +1509,7 @@ void MarlinUI::update() {
|
|||
host_prompt_open(PROMPT_PAUSE_RESUME, PSTR("UI Pause"), PSTR("Resume"));
|
||||
#endif
|
||||
|
||||
set_status_P(PSTR(MSG_PRINT_PAUSED));
|
||||
set_status_P(print_paused); // MSG_PRINT_PAUSED
|
||||
|
||||
#if ENABLED(PARK_HEAD_ON_PAUSE)
|
||||
#if HAS_SPI_LCD
|
||||
|
@ -1527,9 +1528,7 @@ void MarlinUI::update() {
|
|||
#if ENABLED(PARK_HEAD_ON_PAUSE)
|
||||
wait_for_heatup = wait_for_user = false;
|
||||
#endif
|
||||
#if ENABLED(SDSUPPORT)
|
||||
if (card.isPaused()) queue.inject_P(PSTR("M24"));
|
||||
#endif
|
||||
if (IS_SD_PAUSED()) queue.inject_P(PSTR("M24"));
|
||||
#ifdef ACTION_ON_RESUME
|
||||
host_action_resume();
|
||||
#endif
|
||||
|
|
|
@ -282,6 +282,7 @@ private:
|
|||
#endif
|
||||
|
||||
#define IS_SD_PRINTING() card.flag.sdprinting
|
||||
#define IS_SD_PAUSED() card.isPaused()
|
||||
#define IS_SD_FILE_OPEN() card.isFileOpen()
|
||||
|
||||
extern CardReader card;
|
||||
|
@ -289,6 +290,7 @@ extern CardReader card;
|
|||
#else // !SDSUPPORT
|
||||
|
||||
#define IS_SD_PRINTING() false
|
||||
#define IS_SD_PAUSED() false
|
||||
#define IS_SD_FILE_OPEN() false
|
||||
|
||||
#endif // !SDSUPPORT
|
||||
|
|
Reference in a new issue