Reprint option for last SD Memory card file (#8106)

* Re-Print of same SD Memory Card file with single click

* Re-Print of same SD Memory Card file with single click
* This is the bugfix-v2.0.0 version of  https://github.com/MarlinFirmware/Marlin/pull/8104
This commit is contained in:
Roxy-3D 2017-10-26 15:50:18 -05:00 committed by GitHub
parent 9e699811d2
commit 3f5f39576b
36 changed files with 503 additions and 109 deletions

View file

@ -562,11 +562,22 @@
// Enable this option to scroll long filenames in the SD card menu
//#define SCROLL_LONG_FILENAMES
// This option allows you to abort SD printing when any endstop is triggered.
// This feature must be enabled with "M540 S1" or from the LCD menu.
// To have any effect, endstops must be enabled during SD printing.
/**
* This option allows you to abort SD printing when any endstop is triggered.
* This feature must be enabled with "M540 S1" or from the LCD menu.
* To have any effect, endstops must be enabled during SD printing.
*/
//#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
/**
* This option allows you to easily reprint the same SD Card file as
* was last printed. At the end of a print, the LCD Menu will jump
* straight to the file previously selected. A single click of the encoder
* wheel will restart the print. Another file or LCD option can be
* selected by using the encoder wheel to navigate through the menu structure.
*/
//#define SD_REPRINT_LAST_SELECTED_FILE
#endif // SDSUPPORT
/**

View file

@ -562,11 +562,22 @@
// Enable this option to scroll long filenames in the SD card menu
//#define SCROLL_LONG_FILENAMES
// This option allows you to abort SD printing when any endstop is triggered.
// This feature must be enabled with "M540 S1" or from the LCD menu.
// To have any effect, endstops must be enabled during SD printing.
/**
* This option allows you to abort SD printing when any endstop is triggered.
* This feature must be enabled with "M540 S1" or from the LCD menu.
* To have any effect, endstops must be enabled during SD printing.
*/
//#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
/**
* This option allows you to easily reprint the same SD Card file as
* was last printed. At the end of a print, the LCD Menu will jump
* straight to the file previously selected. A single click of the encoder
* wheel will restart the print. Another file or LCD option can be
* selected by using the encoder wheel to navigate through the menu structure.
*/
//#define SD_REPRINT_LAST_SELECTED_FILE
#endif // SDSUPPORT
/**

View file

@ -562,11 +562,22 @@
// Enable this option to scroll long filenames in the SD card menu
//#define SCROLL_LONG_FILENAMES
// This option allows you to abort SD printing when any endstop is triggered.
// This feature must be enabled with "M540 S1" or from the LCD menu.
// To have any effect, endstops must be enabled during SD printing.
/**
* This option allows you to abort SD printing when any endstop is triggered.
* This feature must be enabled with "M540 S1" or from the LCD menu.
* To have any effect, endstops must be enabled during SD printing.
*/
//#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
/**
* This option allows you to easily reprint the same SD Card file as
* was last printed. At the end of a print, the LCD Menu will jump
* straight to the file previously selected. A single click of the encoder
* wheel will restart the print. Another file or LCD option can be
* selected by using the encoder wheel to navigate through the menu structure.
*/
//#define SD_REPRINT_LAST_SELECTED_FILE
#endif // SDSUPPORT
/**

View file

@ -562,11 +562,22 @@
// Enable this option to scroll long filenames in the SD card menu
//#define SCROLL_LONG_FILENAMES
// This option allows you to abort SD printing when any endstop is triggered.
// This feature must be enabled with "M540 S1" or from the LCD menu.
// To have any effect, endstops must be enabled during SD printing.
/**
* This option allows you to abort SD printing when any endstop is triggered.
* This feature must be enabled with "M540 S1" or from the LCD menu.
* To have any effect, endstops must be enabled during SD printing.
*/
//#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
/**
* This option allows you to easily reprint the same SD Card file as
* was last printed. At the end of a print, the LCD Menu will jump
* straight to the file previously selected. A single click of the encoder
* wheel will restart the print. Another file or LCD option can be
* selected by using the encoder wheel to navigate through the menu structure.
*/
//#define SD_REPRINT_LAST_SELECTED_FILE
#endif // SDSUPPORT
/**

View file

@ -562,11 +562,22 @@
// Enable this option to scroll long filenames in the SD card menu
//#define SCROLL_LONG_FILENAMES
// This option allows you to abort SD printing when any endstop is triggered.
// This feature must be enabled with "M540 S1" or from the LCD menu.
// To have any effect, endstops must be enabled during SD printing.
/**
* This option allows you to abort SD printing when any endstop is triggered.
* This feature must be enabled with "M540 S1" or from the LCD menu.
* To have any effect, endstops must be enabled during SD printing.
*/
//#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
/**
* This option allows you to easily reprint the same SD Card file as
* was last printed. At the end of a print, the LCD Menu will jump
* straight to the file previously selected. A single click of the encoder
* wheel will restart the print. Another file or LCD option can be
* selected by using the encoder wheel to navigate through the menu structure.
*/
//#define SD_REPRINT_LAST_SELECTED_FILE
#endif // SDSUPPORT
/**

View file

@ -562,11 +562,22 @@
// Enable this option to scroll long filenames in the SD card menu
//#define SCROLL_LONG_FILENAMES
// This option allows you to abort SD printing when any endstop is triggered.
// This feature must be enabled with "M540 S1" or from the LCD menu.
// To have any effect, endstops must be enabled during SD printing.
/**
* This option allows you to abort SD printing when any endstop is triggered.
* This feature must be enabled with "M540 S1" or from the LCD menu.
* To have any effect, endstops must be enabled during SD printing.
*/
//#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
/**
* This option allows you to easily reprint the same SD Card file as
* was last printed. At the end of a print, the LCD Menu will jump
* straight to the file previously selected. A single click of the encoder
* wheel will restart the print. Another file or LCD option can be
* selected by using the encoder wheel to navigate through the menu structure.
*/
//#define SD_REPRINT_LAST_SELECTED_FILE
#endif // SDSUPPORT
/**

View file

@ -559,11 +559,22 @@
// Enable this option to scroll long filenames in the SD card menu
//#define SCROLL_LONG_FILENAMES
// This option allows you to abort SD printing when any endstop is triggered.
// This feature must be enabled with "M540 S1" or from the LCD menu.
// To have any effect, endstops must be enabled during SD printing.
/**
* This option allows you to abort SD printing when any endstop is triggered.
* This feature must be enabled with "M540 S1" or from the LCD menu.
* To have any effect, endstops must be enabled during SD printing.
*/
//#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
/**
* This option allows you to easily reprint the same SD Card file as
* was last printed. At the end of a print, the LCD Menu will jump
* straight to the file previously selected. A single click of the encoder
* wheel will restart the print. Another file or LCD option can be
* selected by using the encoder wheel to navigate through the menu structure.
*/
//#define SD_REPRINT_LAST_SELECTED_FILE
#endif // SDSUPPORT
/**

View file

@ -562,11 +562,22 @@
// Enable this option to scroll long filenames in the SD card menu
//#define SCROLL_LONG_FILENAMES
// This option allows you to abort SD printing when any endstop is triggered.
// This feature must be enabled with "M540 S1" or from the LCD menu.
// To have any effect, endstops must be enabled during SD printing.
/**
* This option allows you to abort SD printing when any endstop is triggered.
* This feature must be enabled with "M540 S1" or from the LCD menu.
* To have any effect, endstops must be enabled during SD printing.
*/
//#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
/**
* This option allows you to easily reprint the same SD Card file as
* was last printed. At the end of a print, the LCD Menu will jump
* straight to the file previously selected. A single click of the encoder
* wheel will restart the print. Another file or LCD option can be
* selected by using the encoder wheel to navigate through the menu structure.
*/
//#define SD_REPRINT_LAST_SELECTED_FILE
#endif // SDSUPPORT
/**

View file

@ -562,11 +562,22 @@
// Enable this option to scroll long filenames in the SD card menu
//#define SCROLL_LONG_FILENAMES
// This option allows you to abort SD printing when any endstop is triggered.
// This feature must be enabled with "M540 S1" or from the LCD menu.
// To have any effect, endstops must be enabled during SD printing.
/**
* This option allows you to abort SD printing when any endstop is triggered.
* This feature must be enabled with "M540 S1" or from the LCD menu.
* To have any effect, endstops must be enabled during SD printing.
*/
//#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
/**
* This option allows you to easily reprint the same SD Card file as
* was last printed. At the end of a print, the LCD Menu will jump
* straight to the file previously selected. A single click of the encoder
* wheel will restart the print. Another file or LCD option can be
* selected by using the encoder wheel to navigate through the menu structure.
*/
//#define SD_REPRINT_LAST_SELECTED_FILE
#endif // SDSUPPORT
/**

View file

@ -562,11 +562,22 @@
// Enable this option to scroll long filenames in the SD card menu
//#define SCROLL_LONG_FILENAMES
// This option allows you to abort SD printing when any endstop is triggered.
// This feature must be enabled with "M540 S1" or from the LCD menu.
// To have any effect, endstops must be enabled during SD printing.
/**
* This option allows you to abort SD printing when any endstop is triggered.
* This feature must be enabled with "M540 S1" or from the LCD menu.
* To have any effect, endstops must be enabled during SD printing.
*/
//#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
/**
* This option allows you to easily reprint the same SD Card file as
* was last printed. At the end of a print, the LCD Menu will jump
* straight to the file previously selected. A single click of the encoder
* wheel will restart the print. Another file or LCD option can be
* selected by using the encoder wheel to navigate through the menu structure.
*/
//#define SD_REPRINT_LAST_SELECTED_FILE
#endif // SDSUPPORT
/**

View file

@ -562,11 +562,22 @@
// Enable this option to scroll long filenames in the SD card menu
//#define SCROLL_LONG_FILENAMES
// This option allows you to abort SD printing when any endstop is triggered.
// This feature must be enabled with "M540 S1" or from the LCD menu.
// To have any effect, endstops must be enabled during SD printing.
/**
* This option allows you to abort SD printing when any endstop is triggered.
* This feature must be enabled with "M540 S1" or from the LCD menu.
* To have any effect, endstops must be enabled during SD printing.
*/
//#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
/**
* This option allows you to easily reprint the same SD Card file as
* was last printed. At the end of a print, the LCD Menu will jump
* straight to the file previously selected. A single click of the encoder
* wheel will restart the print. Another file or LCD option can be
* selected by using the encoder wheel to navigate through the menu structure.
*/
//#define SD_REPRINT_LAST_SELECTED_FILE
#endif // SDSUPPORT
/**

View file

@ -562,11 +562,22 @@
// Enable this option to scroll long filenames in the SD card menu
//#define SCROLL_LONG_FILENAMES
// This option allows you to abort SD printing when any endstop is triggered.
// This feature must be enabled with "M540 S1" or from the LCD menu.
// To have any effect, endstops must be enabled during SD printing.
/**
* This option allows you to abort SD printing when any endstop is triggered.
* This feature must be enabled with "M540 S1" or from the LCD menu.
* To have any effect, endstops must be enabled during SD printing.
*/
//#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
/**
* This option allows you to easily reprint the same SD Card file as
* was last printed. At the end of a print, the LCD Menu will jump
* straight to the file previously selected. A single click of the encoder
* wheel will restart the print. Another file or LCD option can be
* selected by using the encoder wheel to navigate through the menu structure.
*/
//#define SD_REPRINT_LAST_SELECTED_FILE
#endif // SDSUPPORT
/**

View file

@ -562,11 +562,22 @@
// Enable this option to scroll long filenames in the SD card menu
//#define SCROLL_LONG_FILENAMES
// This option allows you to abort SD printing when any endstop is triggered.
// This feature must be enabled with "M540 S1" or from the LCD menu.
// To have any effect, endstops must be enabled during SD printing.
/**
* This option allows you to abort SD printing when any endstop is triggered.
* This feature must be enabled with "M540 S1" or from the LCD menu.
* To have any effect, endstops must be enabled during SD printing.
*/
//#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
/**
* This option allows you to easily reprint the same SD Card file as
* was last printed. At the end of a print, the LCD Menu will jump
* straight to the file previously selected. A single click of the encoder
* wheel will restart the print. Another file or LCD option can be
* selected by using the encoder wheel to navigate through the menu structure.
*/
//#define SD_REPRINT_LAST_SELECTED_FILE
#endif // SDSUPPORT
/**

View file

@ -556,14 +556,22 @@
// This allows hosts to request long names for files and folders with M33
#define LONG_FILENAME_HOST_SUPPORT
// Enable this option to scroll long filenames in the SD card menu
//#define SCROLL_LONG_FILENAMES
// This option allows you to abort SD printing when any endstop is triggered.
// This feature must be enabled with "M540 S1" or from the LCD menu.
// To have any effect, endstops must be enabled during SD printing.
/**
* This option allows you to abort SD printing when any endstop is triggered.
* This feature must be enabled with "M540 S1" or from the LCD menu.
* To have any effect, endstops must be enabled during SD printing.
*/
//#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
/**
* This option allows you to easily reprint the same SD Card file as
* was last printed. At the end of a print, the LCD Menu will jump
* straight to the file previously selected. A single click of the encoder
* wheel will restart the print. Another file or LCD option can be
* selected by using the encoder wheel to navigate through the menu structure.
*/
//#define SD_REPRINT_LAST_SELECTED_FILE
#endif // SDSUPPORT
/**

View file

@ -563,11 +563,22 @@
// Enable this option to scroll long filenames in the SD card menu
//#define SCROLL_LONG_FILENAMES
// This option allows you to abort SD printing when any endstop is triggered.
// This feature must be enabled with "M540 S1" or from the LCD menu.
// To have any effect, endstops must be enabled during SD printing.
/**
* This option allows you to abort SD printing when any endstop is triggered.
* This feature must be enabled with "M540 S1" or from the LCD menu.
* To have any effect, endstops must be enabled during SD printing.
*/
//#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
/**
* This option allows you to easily reprint the same SD Card file as
* was last printed. At the end of a print, the LCD Menu will jump
* straight to the file previously selected. A single click of the encoder
* wheel will restart the print. Another file or LCD option can be
* selected by using the encoder wheel to navigate through the menu structure.
*/
//#define SD_REPRINT_LAST_SELECTED_FILE
#endif // SDSUPPORT
/**

View file

@ -562,11 +562,22 @@
// Enable this option to scroll long filenames in the SD card menu
//#define SCROLL_LONG_FILENAMES
// This option allows you to abort SD printing when any endstop is triggered.
// This feature must be enabled with "M540 S1" or from the LCD menu.
// To have any effect, endstops must be enabled during SD printing.
/**
* This option allows you to abort SD printing when any endstop is triggered.
* This feature must be enabled with "M540 S1" or from the LCD menu.
* To have any effect, endstops must be enabled during SD printing.
*/
//#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
/**
* This option allows you to easily reprint the same SD Card file as
* was last printed. At the end of a print, the LCD Menu will jump
* straight to the file previously selected. A single click of the encoder
* wheel will restart the print. Another file or LCD option can be
* selected by using the encoder wheel to navigate through the menu structure.
*/
//#define SD_REPRINT_LAST_SELECTED_FILE
#endif // SDSUPPORT
/**

View file

@ -562,11 +562,22 @@
// Enable this option to scroll long filenames in the SD card menu
//#define SCROLL_LONG_FILENAMES
// This option allows you to abort SD printing when any endstop is triggered.
// This feature must be enabled with "M540 S1" or from the LCD menu.
// To have any effect, endstops must be enabled during SD printing.
/**
* This option allows you to abort SD printing when any endstop is triggered.
* This feature must be enabled with "M540 S1" or from the LCD menu.
* To have any effect, endstops must be enabled during SD printing.
*/
//#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
/**
* This option allows you to easily reprint the same SD Card file as
* was last printed. At the end of a print, the LCD Menu will jump
* straight to the file previously selected. A single click of the encoder
* wheel will restart the print. Another file or LCD option can be
* selected by using the encoder wheel to navigate through the menu structure.
*/
//#define SD_REPRINT_LAST_SELECTED_FILE
#endif // SDSUPPORT
/**

View file

@ -562,11 +562,22 @@
// Enable this option to scroll long filenames in the SD card menu
//#define SCROLL_LONG_FILENAMES
// This option allows you to abort SD printing when any endstop is triggered.
// This feature must be enabled with "M540 S1" or from the LCD menu.
// To have any effect, endstops must be enabled during SD printing.
/**
* This option allows you to abort SD printing when any endstop is triggered.
* This feature must be enabled with "M540 S1" or from the LCD menu.
* To have any effect, endstops must be enabled during SD printing.
*/
//#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
/**
* This option allows you to easily reprint the same SD Card file as
* was last printed. At the end of a print, the LCD Menu will jump
* straight to the file previously selected. A single click of the encoder
* wheel will restart the print. Another file or LCD option can be
* selected by using the encoder wheel to navigate through the menu structure.
*/
//#define SD_REPRINT_LAST_SELECTED_FILE
#endif // SDSUPPORT
/**

View file

@ -551,11 +551,22 @@
// Enable this option to scroll long filenames in the SD card menu
//#define SCROLL_LONG_FILENAMES
// This option allows you to abort SD printing when any endstop is triggered.
// This feature must be enabled with "M540 S1" or from the LCD menu.
// To have any effect, endstops must be enabled during SD printing.
/**
* This option allows you to abort SD printing when any endstop is triggered.
* This feature must be enabled with "M540 S1" or from the LCD menu.
* To have any effect, endstops must be enabled during SD printing.
*/
//#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
/**
* This option allows you to easily reprint the same SD Card file as
* was last printed. At the end of a print, the LCD Menu will jump
* straight to the file previously selected. A single click of the encoder
* wheel will restart the print. Another file or LCD option can be
* selected by using the encoder wheel to navigate through the menu structure.
*/
//#define SD_REPRINT_LAST_SELECTED_FILE
#endif // SDSUPPORT
/**

View file

@ -562,11 +562,22 @@
// Enable this option to scroll long filenames in the SD card menu
//#define SCROLL_LONG_FILENAMES
// This option allows you to abort SD printing when any endstop is triggered.
// This feature must be enabled with "M540 S1" or from the LCD menu.
// To have any effect, endstops must be enabled during SD printing.
/**
* This option allows you to abort SD printing when any endstop is triggered.
* This feature must be enabled with "M540 S1" or from the LCD menu.
* To have any effect, endstops must be enabled during SD printing.
*/
//#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
/**
* This option allows you to easily reprint the same SD Card file as
* was last printed. At the end of a print, the LCD Menu will jump
* straight to the file previously selected. A single click of the encoder
* wheel will restart the print. Another file or LCD option can be
* selected by using the encoder wheel to navigate through the menu structure.
*/
//#define SD_REPRINT_LAST_SELECTED_FILE
#endif // SDSUPPORT
/**

View file

@ -570,11 +570,22 @@
// Enable this option to scroll long filenames in the SD card menu
//#define SCROLL_LONG_FILENAMES
// This option allows you to abort SD printing when any endstop is triggered.
// This feature must be enabled with "M540 S1" or from the LCD menu.
// To have any effect, endstops must be enabled during SD printing.
/**
* This option allows you to abort SD printing when any endstop is triggered.
* This feature must be enabled with "M540 S1" or from the LCD menu.
* To have any effect, endstops must be enabled during SD printing.
*/
//#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
/**
* This option allows you to easily reprint the same SD Card file as
* was last printed. At the end of a print, the LCD Menu will jump
* straight to the file previously selected. A single click of the encoder
* wheel will restart the print. Another file or LCD option can be
* selected by using the encoder wheel to navigate through the menu structure.
*/
//#define SD_REPRINT_LAST_SELECTED_FILE
#endif // SDSUPPORT
/**

View file

@ -562,11 +562,22 @@
// Enable this option to scroll long filenames in the SD card menu
//#define SCROLL_LONG_FILENAMES
// This option allows you to abort SD printing when any endstop is triggered.
// This feature must be enabled with "M540 S1" or from the LCD menu.
// To have any effect, endstops must be enabled during SD printing.
/**
* This option allows you to abort SD printing when any endstop is triggered.
* This feature must be enabled with "M540 S1" or from the LCD menu.
* To have any effect, endstops must be enabled during SD printing.
*/
//#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
/**
* This option allows you to easily reprint the same SD Card file as
* was last printed. At the end of a print, the LCD Menu will jump
* straight to the file previously selected. A single click of the encoder
* wheel will restart the print. Another file or LCD option can be
* selected by using the encoder wheel to navigate through the menu structure.
*/
//#define SD_REPRINT_LAST_SELECTED_FILE
#endif // SDSUPPORT
/**

View file

@ -564,11 +564,22 @@
// Enable this option to scroll long filenames in the SD card menu
//#define SCROLL_LONG_FILENAMES
// This option allows you to abort SD printing when any endstop is triggered.
// This feature must be enabled with "M540 S1" or from the LCD menu.
// To have any effect, endstops must be enabled during SD printing.
/**
* This option allows you to abort SD printing when any endstop is triggered.
* This feature must be enabled with "M540 S1" or from the LCD menu.
* To have any effect, endstops must be enabled during SD printing.
*/
//#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
/**
* This option allows you to easily reprint the same SD Card file as
* was last printed. At the end of a print, the LCD Menu will jump
* straight to the file previously selected. A single click of the encoder
* wheel will restart the print. Another file or LCD option can be
* selected by using the encoder wheel to navigate through the menu structure.
*/
//#define SD_REPRINT_LAST_SELECTED_FILE
#endif // SDSUPPORT
/**

View file

@ -564,11 +564,22 @@
// Enable this option to scroll long filenames in the SD card menu
//#define SCROLL_LONG_FILENAMES
// This option allows you to abort SD printing when any endstop is triggered.
// This feature must be enabled with "M540 S1" or from the LCD menu.
// To have any effect, endstops must be enabled during SD printing.
/**
* This option allows you to abort SD printing when any endstop is triggered.
* This feature must be enabled with "M540 S1" or from the LCD menu.
* To have any effect, endstops must be enabled during SD printing.
*/
//#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
/**
* This option allows you to easily reprint the same SD Card file as
* was last printed. At the end of a print, the LCD Menu will jump
* straight to the file previously selected. A single click of the encoder
* wheel will restart the print. Another file or LCD option can be
* selected by using the encoder wheel to navigate through the menu structure.
*/
//#define SD_REPRINT_LAST_SELECTED_FILE
#endif // SDSUPPORT
/**

View file

@ -564,11 +564,22 @@
// Enable this option to scroll long filenames in the SD card menu
//#define SCROLL_LONG_FILENAMES
// This option allows you to abort SD printing when any endstop is triggered.
// This feature must be enabled with "M540 S1" or from the LCD menu.
// To have any effect, endstops must be enabled during SD printing.
/**
* This option allows you to abort SD printing when any endstop is triggered.
* This feature must be enabled with "M540 S1" or from the LCD menu.
* To have any effect, endstops must be enabled during SD printing.
*/
//#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
/**
* This option allows you to easily reprint the same SD Card file as
* was last printed. At the end of a print, the LCD Menu will jump
* straight to the file previously selected. A single click of the encoder
* wheel will restart the print. Another file or LCD option can be
* selected by using the encoder wheel to navigate through the menu structure.
*/
//#define SD_REPRINT_LAST_SELECTED_FILE
#endif // SDSUPPORT
/**

View file

@ -564,11 +564,22 @@
// Enable this option to scroll long filenames in the SD card menu
//#define SCROLL_LONG_FILENAMES
// This option allows you to abort SD printing when any endstop is triggered.
// This feature must be enabled with "M540 S1" or from the LCD menu.
// To have any effect, endstops must be enabled during SD printing.
/**
* This option allows you to abort SD printing when any endstop is triggered.
* This feature must be enabled with "M540 S1" or from the LCD menu.
* To have any effect, endstops must be enabled during SD printing.
*/
//#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
/**
* This option allows you to easily reprint the same SD Card file as
* was last printed. At the end of a print, the LCD Menu will jump
* straight to the file previously selected. A single click of the encoder
* wheel will restart the print. Another file or LCD option can be
* selected by using the encoder wheel to navigate through the menu structure.
*/
//#define SD_REPRINT_LAST_SELECTED_FILE
#endif // SDSUPPORT
/**

View file

@ -569,11 +569,22 @@
// Enable this option to scroll long filenames in the SD card menu
//#define SCROLL_LONG_FILENAMES
// This option allows you to abort SD printing when any endstop is triggered.
// This feature must be enabled with "M540 S1" or from the LCD menu.
// To have any effect, endstops must be enabled during SD printing.
/**
* This option allows you to abort SD printing when any endstop is triggered.
* This feature must be enabled with "M540 S1" or from the LCD menu.
* To have any effect, endstops must be enabled during SD printing.
*/
//#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
/**
* This option allows you to easily reprint the same SD Card file as
* was last printed. At the end of a print, the LCD Menu will jump
* straight to the file previously selected. A single click of the encoder
* wheel will restart the print. Another file or LCD option can be
* selected by using the encoder wheel to navigate through the menu structure.
*/
//#define SD_REPRINT_LAST_SELECTED_FILE
#endif // SDSUPPORT
/**

View file

@ -564,11 +564,22 @@
// Enable this option to scroll long filenames in the SD card menu
//#define SCROLL_LONG_FILENAMES
// This option allows you to abort SD printing when any endstop is triggered.
// This feature must be enabled with "M540 S1" or from the LCD menu.
// To have any effect, endstops must be enabled during SD printing.
/**
* This option allows you to abort SD printing when any endstop is triggered.
* This feature must be enabled with "M540 S1" or from the LCD menu.
* To have any effect, endstops must be enabled during SD printing.
*/
//#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
/**
* This option allows you to easily reprint the same SD Card file as
* was last printed. At the end of a print, the LCD Menu will jump
* straight to the file previously selected. A single click of the encoder
* wheel will restart the print. Another file or LCD option can be
* selected by using the encoder wheel to navigate through the menu structure.
*/
//#define SD_REPRINT_LAST_SELECTED_FILE
#endif // SDSUPPORT
/**

View file

@ -562,11 +562,22 @@
// Enable this option to scroll long filenames in the SD card menu
//#define SCROLL_LONG_FILENAMES
// This option allows you to abort SD printing when any endstop is triggered.
// This feature must be enabled with "M540 S1" or from the LCD menu.
// To have any effect, endstops must be enabled during SD printing.
/**
* This option allows you to abort SD printing when any endstop is triggered.
* This feature must be enabled with "M540 S1" or from the LCD menu.
* To have any effect, endstops must be enabled during SD printing.
*/
//#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
/**
* This option allows you to easily reprint the same SD Card file as
* was last printed. At the end of a print, the LCD Menu will jump
* straight to the file previously selected. A single click of the encoder
* wheel will restart the print. Another file or LCD option can be
* selected by using the encoder wheel to navigate through the menu structure.
*/
//#define SD_REPRINT_LAST_SELECTED_FILE
#endif // SDSUPPORT
/**

View file

@ -562,11 +562,22 @@
// Enable this option to scroll long filenames in the SD card menu
//#define SCROLL_LONG_FILENAMES
// This option allows you to abort SD printing when any endstop is triggered.
// This feature must be enabled with "M540 S1" or from the LCD menu.
// To have any effect, endstops must be enabled during SD printing.
/**
* This option allows you to abort SD printing when any endstop is triggered.
* This feature must be enabled with "M540 S1" or from the LCD menu.
* To have any effect, endstops must be enabled during SD printing.
*/
//#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
/**
* This option allows you to easily reprint the same SD Card file as
* was last printed. At the end of a print, the LCD Menu will jump
* straight to the file previously selected. A single click of the encoder
* wheel will restart the print. Another file or LCD option can be
* selected by using the encoder wheel to navigate through the menu structure.
*/
//#define SD_REPRINT_LAST_SELECTED_FILE
#endif // SDSUPPORT
/**

View file

@ -562,11 +562,22 @@
// Enable this option to scroll long filenames in the SD card menu
//#define SCROLL_LONG_FILENAMES
// This option allows you to abort SD printing when any endstop is triggered.
// This feature must be enabled with "M540 S1" or from the LCD menu.
// To have any effect, endstops must be enabled during SD printing.
/**
* This option allows you to abort SD printing when any endstop is triggered.
* This feature must be enabled with "M540 S1" or from the LCD menu.
* To have any effect, endstops must be enabled during SD printing.
*/
//#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
/**
* This option allows you to easily reprint the same SD Card file as
* was last printed. At the end of a print, the LCD Menu will jump
* straight to the file previously selected. A single click of the encoder
* wheel will restart the print. Another file or LCD option can be
* selected by using the encoder wheel to navigate through the menu structure.
*/
//#define SD_REPRINT_LAST_SELECTED_FILE
#endif // SDSUPPORT
/**

View file

@ -562,11 +562,22 @@
// Enable this option to scroll long filenames in the SD card menu
//#define SCROLL_LONG_FILENAMES
// This option allows you to abort SD printing when any endstop is triggered.
// This feature must be enabled with "M540 S1" or from the LCD menu.
// To have any effect, endstops must be enabled during SD printing.
/**
* This option allows you to abort SD printing when any endstop is triggered.
* This feature must be enabled with "M540 S1" or from the LCD menu.
* To have any effect, endstops must be enabled during SD printing.
*/
//#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
/**
* This option allows you to easily reprint the same SD Card file as
* was last printed. At the end of a print, the LCD Menu will jump
* straight to the file previously selected. A single click of the encoder
* wheel will restart the print. Another file or LCD option can be
* selected by using the encoder wheel to navigate through the menu structure.
*/
//#define SD_REPRINT_LAST_SELECTED_FILE
#endif // SDSUPPORT
/**

View file

@ -328,14 +328,11 @@ void Max7219_idle_tasks() {
#endif
#if ENABLED(MAX7219_DEBUG_PRINTER_ALIVE)
static int debug_cnt = 0;
#ifdef CPU_32_BIT
if (debug_cnt++ > 1000) {
#else
if (debug_cnt++ > 100) {
#endif
static millis_t next_blink = 0;
if (ELAPSED(millis(), next_blink)) {
Max7219_LED_Toggle(7, 7);
debug_cnt = 0;
next_blink = millis() + 750;
}
#endif

View file

@ -3742,10 +3742,25 @@ void kill_screen(const char* lcd_msg) {
* "Print from SD" submenu
*
*/
#if ENABLED(SD_REPRINT_LAST_SELECTED_FILE)
uint32_t saved_encoderPosition = 0;
static millis_t assume_print_finished = 0;
#endif
void lcd_sdcard_menu() {
ENCODER_DIRECTION_MENUS();
if (!lcdDrawUpdate && !lcd_clicked) return; // nothing to do (so don't thrash the SD card)
const uint16_t fileCnt = card.get_num_Files();
#if ENABLED(SD_REPRINT_LAST_SELECTED_FILE)
if (ELAPSED(millis(), assume_print_finished)) { // if the printer has been busy printing, lcd_sdcard_menu() should not
lcdDrawUpdate = LCDVIEW_REDRAW_NOW; // have been active for 5 seconds. In this case, restore the previous
encoderPosition = saved_encoderPosition; // encoderPosition to the last selected item.
assume_print_finished = millis() + 5000;
}
saved_encoderPosition = encoderPosition;
defer_return_to_status = true;
#endif
const uint16_t fileCnt = card.getnrfilenames();
START_MENU();
MENU_BACK(MSG_MAIN);
card.getWorkDirName();
@ -4395,6 +4410,9 @@ void kill_screen(const char* lcd_msg) {
#if ENABLED(SDSUPPORT)
void menu_action_sdfile(const char* filename, char* longFilename) {
#if ENABLED(SD_REPRINT_LAST_SELECTED_FILE)
saved_encoderPosition = encoderPosition; // Save which file was selected for later use
#endif
UNUSED(longFilename);
card.openAndPrintFile(filename);
lcd_return_to_status();
@ -4702,7 +4720,11 @@ void lcd_update() {
uint16_t bbr2 = planner.block_buffer_runtime() >> 1;
#if ENABLED(DOGLCD)
if ((lcdDrawUpdate || drawing_screen) && (!bbr2 || (bbr2 > max_display_update_time)))
if ((lcdDrawUpdate || drawing_screen) && (!bbr2 || (bbr2 > max_display_update_time)
#if ENABLED(SDSUPPORT)
|| (currentScreen == lcd_sdcard_menu)
#endif
))
#else
if (lcdDrawUpdate && (!bbr2 || (bbr2 > max_display_update_time)))
#endif
@ -4756,7 +4778,12 @@ void lcd_update() {
// Return to Status Screen after a timeout
if (currentScreen == lcd_status_screen || defer_return_to_status)
#if ENABLED(SD_REPRINT_LAST_SELECTED_FILE)
if (currentScreen != lcd_sdcard_menu) // lcd_sdcard_menu() does not time out if ENABLED(SD_REPRINT_LAST_SELECTED_FILE)
return_to_status_ms = ms + LCD_TIMEOUT_TO_STATUS; // When the printer finishes a file, it will wait with the file selected for
#else // a re-print.
return_to_status_ms = ms + LCD_TIMEOUT_TO_STATUS;
#endif
else if (ELAPSED(ms, return_to_status_ms))
lcd_return_to_status();

View file

@ -892,6 +892,15 @@ uint16_t CardReader::get_num_Files() {
;
}
#if ENABLED(SD_REPRINT_LAST_SELECTED_FILE)
typedef void (*screenFunc_t)();
extern void lcd_sdcard_menu();
extern void lcd_goto_screen(screenFunc_t screen, const uint32_t encoder = 0);
extern uint32_t saved_encoderPosition;
extern bool screen_changed, drawing_screen, defer_return_to_status;
void _lcd_synchronize(); // Not declared in any LCD header file. Probably, that should be changed.
#endif
void CardReader::printingHasFinished() {
stepper.synchronize();
file.close();
@ -911,6 +920,18 @@ void CardReader::printingHasFinished() {
#if ENABLED(SDCARD_SORT_ALPHA)
presort();
#endif
#if ENABLED(SD_REPRINT_LAST_SELECTED_FILE)
lcdDrawUpdate = LCDVIEW_CALL_REDRAW_NEXT;
_lcd_synchronize();
safe_delay(50);
_lcd_synchronize();
lcdDrawUpdate = LCDVIEW_CALL_REDRAW_NEXT;
drawing_screen = screen_changed = true;
lcd_goto_screen(lcd_sdcard_menu, saved_encoderPosition);
defer_return_to_status = true;
lcd_update();
#endif
}
}