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 save_planner_global_state();
|
||||
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();
|
||||
extern void stop_and_save_print_to_ram(float z_move, float e_move);
|
||||
void restore_extruder_temperature_from_ram();
|
||||
|
|
|
|||
|
|
@ -10562,6 +10562,15 @@ void refresh_print_state_in_ram()
|
|||
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()
|
||||
{
|
||||
// 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) {
|
||||
feedmultiply = constrain(feedmultiply, 10, 999);
|
||||
lcd_encoder = 0; // Consume rotation event
|
||||
refresh_saved_feedrate_multiplier_in_ram();
|
||||
}
|
||||
}
|
||||
#endif //ULTIPANEL_FEEDMULTIPLY
|
||||
|
|
@ -5434,6 +5435,9 @@ static void lcd_tune_menu()
|
|||
SilentModeMenu = eeprom_read_byte((uint8_t*) EEPROM_SILENT);
|
||||
|
||||
MENU_BEGIN();
|
||||
ON_MENU_LEAVE(
|
||||
refresh_saved_feedrate_multiplier_in_ram();
|
||||
);
|
||||
MENU_ITEM_BACK_P(_T(MSG_MAIN));
|
||||
MENU_ITEM_EDIT_int3_P(_i("Speed"), &feedmultiply, 10, 999);////MSG_SPEED c=15
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue