Fix #3122
If the feedrate multiplier is changed while the print is paused update the saved feedrate multiplier in RAM
This commit is contained in:
parent
53d7943a2c
commit
ddbadf4874
|
|
@ -378,6 +378,10 @@ void save_print_file_state();
|
||||||
void restore_print_file_state();
|
void restore_print_file_state();
|
||||||
void save_planner_global_state();
|
void save_planner_global_state();
|
||||||
void refresh_print_state_in_ram();
|
void refresh_print_state_in_ram();
|
||||||
|
|
||||||
|
/// Updates the feedrate multiplier when a print is saved such that
|
||||||
|
/// it is not overwritten when the print is later resumed
|
||||||
|
void refresh_saved_feedrate_multiplier_in_ram();
|
||||||
void clear_print_state_in_ram();
|
void clear_print_state_in_ram();
|
||||||
extern void stop_and_save_print_to_ram(float z_move, float e_move);
|
extern void stop_and_save_print_to_ram(float z_move, float e_move);
|
||||||
void restore_extruder_temperature_from_ram();
|
void restore_extruder_temperature_from_ram();
|
||||||
|
|
|
||||||
|
|
@ -10562,6 +10562,15 @@ void refresh_print_state_in_ram()
|
||||||
isPartialBackupAvailable = true;
|
isPartialBackupAvailable = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void __attribute__((noinline)) refresh_saved_feedrate_multiplier_in_ram() {
|
||||||
|
if (!saved_printing) {
|
||||||
|
// There is no saved print, therefore nothing to refresh
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
saved_feedmultiply2 = feedmultiply;
|
||||||
|
}
|
||||||
|
|
||||||
void clear_print_state_in_ram()
|
void clear_print_state_in_ram()
|
||||||
{
|
{
|
||||||
// Set flag to false in order to avoid using
|
// Set flag to false in order to avoid using
|
||||||
|
|
|
||||||
|
|
@ -714,6 +714,7 @@ void lcd_status_screen() // NOT static due to using ins
|
||||||
if (initial_feedmultiply != feedmultiply) {
|
if (initial_feedmultiply != feedmultiply) {
|
||||||
feedmultiply = constrain(feedmultiply, 10, 999);
|
feedmultiply = constrain(feedmultiply, 10, 999);
|
||||||
lcd_encoder = 0; // Consume rotation event
|
lcd_encoder = 0; // Consume rotation event
|
||||||
|
refresh_saved_feedrate_multiplier_in_ram();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif //ULTIPANEL_FEEDMULTIPLY
|
#endif //ULTIPANEL_FEEDMULTIPLY
|
||||||
|
|
@ -5434,6 +5435,9 @@ static void lcd_tune_menu()
|
||||||
SilentModeMenu = eeprom_read_byte((uint8_t*) EEPROM_SILENT);
|
SilentModeMenu = eeprom_read_byte((uint8_t*) EEPROM_SILENT);
|
||||||
|
|
||||||
MENU_BEGIN();
|
MENU_BEGIN();
|
||||||
|
ON_MENU_LEAVE(
|
||||||
|
refresh_saved_feedrate_multiplier_in_ram();
|
||||||
|
);
|
||||||
MENU_ITEM_BACK_P(_T(MSG_MAIN));
|
MENU_ITEM_BACK_P(_T(MSG_MAIN));
|
||||||
MENU_ITEM_EDIT_int3_P(_i("Speed"), &feedmultiply, 10, 999);////MSG_SPEED c=15
|
MENU_ITEM_EDIT_int3_P(_i("Speed"), &feedmultiply, 10, 999);////MSG_SPEED c=15
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue