reprint: reduce duplicate code
restore_file_from_sd function now supports any filename extension. If a print was finished (to allow reprinting) then the EEPROM filename and extension should always be valid. Change in memory: Flash: -312 bytes SRAM: 0 bytes
This commit is contained in:
parent
45d70b195d
commit
ceec54f026
|
|
@ -18,3 +18,4 @@ enum PrintType : uint8_t {
|
||||||
void uvlo_();
|
void uvlo_();
|
||||||
void recover_print(uint8_t automatic);
|
void recover_print(uint8_t automatic);
|
||||||
void setup_uvlo_interrupt();
|
void setup_uvlo_interrupt();
|
||||||
|
void restore_file_from_sd();
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,7 @@
|
||||||
#include "fancheck.h"
|
#include "fancheck.h"
|
||||||
#include "stepper.h"
|
#include "stepper.h"
|
||||||
#include "ConfigurationStore.h"
|
#include "ConfigurationStore.h"
|
||||||
|
#include "power_panic.h"
|
||||||
#include "printers.h"
|
#include "printers.h"
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include "stopwatch.h"
|
#include "stopwatch.h"
|
||||||
|
|
@ -7465,40 +7466,8 @@ void lcd_heat_bed_on_load_toggle()
|
||||||
}
|
}
|
||||||
|
|
||||||
void lcd_reprint_from_eeprom() {
|
void lcd_reprint_from_eeprom() {
|
||||||
char filename[13];
|
restore_file_from_sd();
|
||||||
char altfilename[13];
|
|
||||||
uint8_t depth = 0;
|
|
||||||
char dir_name[9];
|
|
||||||
|
|
||||||
depth = eeprom_read_byte((uint8_t*)EEPROM_DIR_DEPTH);
|
|
||||||
|
|
||||||
for (int i = 0; i < depth; i++) {
|
|
||||||
for (int j = 0; j < 8; j++) {
|
|
||||||
dir_name[j] = eeprom_read_byte((uint8_t*)EEPROM_DIRS + j + 8 * i);
|
|
||||||
}
|
|
||||||
dir_name[8] = '\0';
|
|
||||||
card.chdir(dir_name, false);
|
|
||||||
}
|
|
||||||
|
|
||||||
for (int i = 0; i < 8; i++) {
|
|
||||||
filename[i] = eeprom_read_byte((uint8_t*)EEPROM_FILENAME + i);
|
|
||||||
}
|
|
||||||
filename[8] = '\0';
|
|
||||||
|
|
||||||
strcpy(altfilename,filename);
|
|
||||||
if (!card.FileExists(altfilename))
|
|
||||||
{
|
|
||||||
strcat_P(filename, PSTR(".gco"));
|
|
||||||
if (card.FileExists(filename))
|
|
||||||
{
|
|
||||||
strcpy(altfilename,filename);
|
|
||||||
}else
|
|
||||||
{
|
|
||||||
strcat_P(altfilename, PSTR(".g"));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// M23: Select SD file
|
|
||||||
enquecommandf_P(MSG_M23, altfilename);
|
|
||||||
// M24: Start/resume SD print
|
// M24: Start/resume SD print
|
||||||
enquecommand_P(MSG_M24);
|
enquecommand_P(MSG_M24);
|
||||||
lcd_return_to_status();
|
lcd_return_to_status();
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue