Prusa-Firmware/Firmware
gudnimg 3e7dd84102 Fix an issue where print can't be stopped under specific circumstances
There is a bug where if the printer is recovering a print, it run a
blocking loop to restore the extruder and bed temperatures.
But if a Fan error is triggered in this loop, then the user can't
abort the print via LCD.

If the fan error resolves on its own the 'Resume print' menu will
appear in a few seconds. But if not, then the user can't resume the print
(which is normal). But with the bug above the user can't abort the print either!

The problem is essentially isPrintPaused variable is cleared too early.
We should wait until the print is completely restored first.

Steps to reproduce:
1. Start a print
2. Pause the print
3. Wait for extruder temperature to fall at lest 180°C
4. Click 'Resume' print
5. While heating, stop the hotend fan and wait for a few seconds until an error is raised
6. Observe issue => 'Stop print' menu item is gone!

PFW-1542
2023-09-24 17:30:27 +00:00
..
mmu2 Reuse messages 2023-08-21 19:00:22 +02:00
thermal_model Rebase update REVO and solve @wavexx comments 2023-07-25 17:24:02 +02:00
variants Make temperature jumping configurable in the variant file 2023-07-31 16:04:33 +02:00
BlinkM.cpp
BlinkM.h
Configuration.cpp Add static_assert check for TEMP_HYSTERESIS 2023-08-21 06:35:32 +02:00
Configuration.h Update pot and po files 2023-09-05 15:26:33 +02:00
ConfigurationStore.cpp Rename upper case `TEMP_MODEL` to `THERMAL_MODEL` 2023-07-25 17:13:07 +02:00
ConfigurationStore.h Rename minsegmenttime --> min_segment_time_us 2023-07-25 17:10:44 +02:00
Configuration_adv.h Create define for two hardcoded values 2023-05-08 19:50:51 +00:00
Configuration_var.h build: Add Configuration_var.h as a configuration wrapper 2022-10-05 01:26:26 +02:00
Dcodes.cpp Rename axis_steps_per_unit to axis_steps_per_mm 2023-07-25 17:10:44 +02:00
Dcodes.h Improve PAT9125 UI implementation 2022-09-16 10:20:32 +02:00
Filament_sensor.cpp Rename axis_steps_per_unit to axis_steps_per_mm 2023-07-25 17:10:44 +02:00
Filament_sensor.h Optimisation: Move filAutoLoad to ultralcd 2023-04-05 11:16:14 +02:00
Firmware.ino
Marlin.h Merge branch 'MK3' into 2477-redux 2023-07-26 12:34:38 -04:00
MarlinSerial.cpp optimisation: change index from uint32_t to uint8_t 2023-01-25 18:21:22 +00:00
MarlinSerial.h Use timer3 instead of timer5 on miniRambo 2022-08-24 10:18:45 +03:00
Marlin_main.cpp PFW-1522 Fix firmware getting stuck on ejecting 2023-08-18 14:27:39 +02:00
Prusa_farm.cpp Consistently replace loading_flag with eFilamentAction 2023-07-25 14:30:20 +00:00
Prusa_farm.h Added //#define FARM_CONNECT_MESSAGE 2022-09-16 19:33:22 +02:00
Sd2Card.cpp Enable MISO pullup during SD CMD0 2022-10-10 09:43:50 +02:00
Sd2Card.h Change return types of two functions uint8_t 2022-01-30 11:39:24 +00:00
SdBaseFile.cpp Reduce a few magic numbers for FILENAME_LENGTH 2022-08-26 19:26:26 +03:00
SdBaseFile.h Remove temporary changes from SdBaseFile.h 2021-01-28 09:42:50 +01:00
SdFatConfig.h
SdFatStructs.h
SdFatUtil.cpp Introduce STACK_GUARD_MARGIN in all variants 2021-06-12 12:08:53 +02:00
SdFatUtil.h Introduce STACK_GUARD_MARGIN in all variants 2021-06-12 12:08:53 +02:00
SdFile.cpp SDFile - fix errorneous offset computation 2021-03-30 11:33:42 +02:00
SdFile.h Remove commented debug code 2021-02-10 11:18:59 +01:00
SdInfo.h
SdVolume.cpp
SdVolume.h Extract gcode filter from SdBaseFile into SdFile + optimization 2021-01-27 09:33:28 +01:00
Servo.cpp change boolean to bool 2021-07-20 08:03:17 +02:00
Servo.h
SpoolJoin.cpp optimisation: spooljoin: use new eeprom init method 2023-02-11 15:58:07 +01:00
SpoolJoin.h Remove eeprom.h include in SpoolJoin header 2023-07-13 09:57:52 +02:00
Tcodes.cpp Remove redundant st_synchronize 2023-07-14 15:06:38 +00:00
Tcodes.h Simplify processing T? Tcode 2023-07-14 15:06:38 +00:00
Timer.cpp Implement Timer::expired_cont() 2022-07-25 17:30:22 +02:00
Timer.h Implement Timer::expired_cont() 2022-07-25 17:30:22 +02:00
TimerRemaining.h
adc.cpp Decouple temperature ISR from ADC readings 2022-07-25 17:30:21 +02:00
adc.h Fixup after rebase onto MK3 2022-09-16 10:23:47 +02:00
asm.h Simplify GETPC() 2022-02-02 21:06:58 +01:00
backlight.cpp Remove Marlin.h include in backlight.h 2023-07-13 09:57:52 +02:00
backlight.h Remove Marlin.h include in backlight.h 2023-07-13 09:57:52 +02:00
boards.h
bootapp.c optimisation: lcd avoid streams 2023-07-25 15:02:49 +00:00
bootapp.h Fix usage of RAMEND 2021-06-12 13:16:12 +02:00
cardreader.cpp postponed kill() message with softReset 2023-04-13 10:57:00 +02:00
cardreader.h Reduce a few magic numbers for FILENAME_LENGTH 2022-08-26 19:26:26 +03:00
cmdqueue.cpp Cleanup language.h includes 2023-07-13 09:57:52 +02:00
cmdqueue.h Cleanup language.h includes 2023-07-13 09:57:52 +02:00
config.h Enable Analog IR sensor again 2023-04-16 13:58:18 +00:00
doxyfile Updated doxygen docs to work better with confluence. 2019-07-19 13:51:55 +02:00
eeprom.cpp Cleanup language.h includes 2023-07-13 09:57:52 +02:00
eeprom.h Rename `temp_model.h` to `thermal_model.h` 2023-07-25 17:13:07 +02:00
fancheck.cpp Move ISR7 code to fancheck.cpp 2023-05-23 07:43:40 +02:00
fancheck.h Move ISR7 code to fancheck.cpp 2023-05-23 07:43:40 +02:00
fastio.h Change arduino IO to fastio where possible 2022-01-30 11:22:43 +00:00
first_lay_cal.cpp Cleanup language.h includes 2023-07-13 09:57:52 +02:00
first_lay_cal.h Implement variant of enquecommand which accepts format string 2023-04-05 09:10:39 +02:00
heatbed_pwm.cpp Remove unnecessary assignment 2021-06-21 06:47:59 +02:00
la10compat.cpp Rename max_acceleration_units_per_sq_second to max_acceleration_mm_per_s2 2023-07-25 17:10:44 +02:00
la10compat.h Adjust E-jerk in LA10 compatibility mode 2020-02-03 15:42:27 +01:00
language.c optimisation: lcd avoid streams 2023-07-25 15:02:49 +00:00
language.h optimisation: lcd avoid streams 2023-07-25 15:02:49 +00:00
lcd.cpp PFW-1504 fix conflicting UI issues 2023-07-27 16:44:34 +00:00
lcd.h PFW-1504 fix conflicting UI issues 2023-07-27 16:44:34 +00:00
le.sh
macros.h Use timer3 instead of timer5 on miniRambo 2022-08-24 10:18:45 +03:00
meatpack.cpp MeatPack gcode compression support 2023-04-13 10:50:15 +02:00
meatpack.h MeatPack gcode compression support 2023-04-13 10:50:15 +02:00
menu.cpp Optimize menu editing by reducing template duplication 2023-08-01 12:41:38 +02:00
menu.h Optimize menu editing by reducing template duplication 2023-08-01 12:41:38 +02:00
mesh_bed_calibration.cpp Force-move-Z after searching for XY calibration points 2023-08-31 07:48:28 +02:00
mesh_bed_calibration.h Dead code cleanup 2023-04-23 12:25:10 +02:00
mesh_bed_leveling.cpp Use memset instead of nested for-loop to zero a 2d array 2021-08-02 19:20:51 +00:00
mesh_bed_leveling.h Remove undefined function 2022-01-30 11:39:29 +00:00
messages.cpp Reuse messages 2023-08-21 19:00:22 +02:00
messages.h Reuse messages 2023-08-21 19:00:22 +02:00
mmu2.cpp PFW-1522 Don't increment failure statistic on filament change 2023-08-18 14:27:39 +02:00
mmu2.h PFW-1522 Implement filament change screen 2023-08-18 14:27:39 +02:00
mmu2_config.h Split the mmu2 config into MMU2 and MMU2S 2022-12-18 09:58:20 +01:00
mmu2_crc.cpp Upgrade protocol to v2.1 - read/write registers + CRC 2022-09-16 10:22:38 +02:00
mmu2_crc.h Upgrade protocol to v2.1 - read/write registers + CRC 2022-09-16 10:22:38 +02:00
mmu2_error_converter.cpp PFW-1522 Implement filament change screen 2023-08-18 14:27:39 +02:00
mmu2_error_converter.h clang-format 2023-01-31 09:35:22 +01:00
mmu2_fsensor.cpp Reuse FSensor runout blocking impl. throughout the whole FW 2022-09-16 10:22:38 +02:00
mmu2_fsensor.h clang-format 2023-01-31 09:35:22 +01:00
mmu2_log.cpp Remove `MMU2` and `MMU unit` messages 2023-03-14 08:30:15 +01:00
mmu2_log.h Remove `MMU2` and `MMU unit` messages 2023-03-14 08:30:15 +01:00
mmu2_marlin.h Improve MMU toolchange when E-cool mode is enabled 2023-03-26 08:57:59 +00:00
mmu2_marlin1.cpp Add comment about planner_aborted = false 2023-03-26 09:00:34 +00:00
mmu2_marlin_macros.h Refactor mmu2.cpp and related interfaces 2023-01-31 09:35:22 +01:00
mmu2_power.cpp Refactor mmu2.cpp and related interfaces 2023-01-31 09:35:22 +01:00
mmu2_power.h MMU2 interface overhaul 2022-09-16 10:21:53 +02:00
mmu2_progress_converter.cpp cleanup: Do not return const values from functions 2022-09-30 12:55:47 +02:00
mmu2_progress_converter.h cleanup: Do not return const values from functions 2022-09-30 12:55:47 +02:00
mmu2_protocol.cpp cleanup: Remove implicit fallthrough in CRC validation 2022-09-30 12:55:47 +02:00
mmu2_protocol.h Implement read/write registers for M707/M708 2022-09-16 10:23:47 +02:00
mmu2_protocol_logic.cpp MMU: Add enum class for register map 2023-08-05 10:36:00 +02:00
mmu2_protocol_logic.h MMU: Add enum class for register map 2023-08-05 10:36:00 +02:00
mmu2_reporting.cpp Reuse messages 2023-08-21 19:00:22 +02:00
mmu2_reporting.h PFW-1530 rename isErrorScreenSleeping to TuneMenuEntered 2023-08-14 09:34:55 +02:00
mmu2_serial.cpp cleanup: Remove return value from MMU2Serial::write() 2022-09-30 12:55:47 +02:00
mmu2_serial.h cleanup: Remove return value from MMU2Serial::write() 2022-09-30 12:55:47 +02:00
mmu2_state.h Remove `MMU2` and `MMU unit` messages 2023-03-14 08:30:15 +01:00
mmu2_supported_version.h Increase required MMU FW version to 3.0.1 2023-08-11 11:09:53 +02:00
motion_control.cpp optimisation: there is only one extruder when planning a line 2023-01-06 19:33:32 +01:00
motion_control.h optimisation: there is only one extruder when planning a line 2023-01-06 19:33:32 +01:00
optiboot_xflash.cpp Fix MK2.5 softReset() 2022-12-16 12:10:47 +01:00
optiboot_xflash.h Rename w25x20cl to xflash 2021-04-06 10:16:47 +02:00
pat9125.cpp optimisation: lcd avoid streams 2023-07-25 15:02:49 +00:00
pat9125.h Cleanup pat9125.h 2022-09-16 10:17:04 +02:00
pins.h Move SDA/SCL pins into pins.h for fastio compatibility 2021-01-29 17:48:59 +01:00
pins_Einsy_1_0.h Fix MK2.5 softReset() 2022-12-16 12:10:47 +01:00
pins_Rambo_1_0.h More documentation for pins file 2022-12-16 12:29:59 +01:00
pins_Rambo_1_3.h More documentation for pins file 2022-12-16 12:29:59 +01:00
planner.cpp Rename minsegmenttime --> min_segment_time_us 2023-07-25 17:10:44 +02:00
planner.h Change unsigned long to uint32_t 2023-07-25 17:10:44 +02:00
power_panic.cpp tmc2130: Fix bug with vSense bit and current values 2023-08-05 10:41:21 +02:00
power_panic.h power panic: add readable flags and optimise ISR(INT4_vect) 2023-07-18 11:29:03 +02:00
printers.h Change MMU2 to MMU3 2023-06-27 11:41:09 +02:00
qr_solve.cpp
qr_solve.h
rbuf.c
rbuf.h
sm4.c build: Add Configuration_var.h as a configuration wrapper 2022-10-05 01:26:26 +02:00
sm4.h Fix sm4.h line ending 2021-01-22 18:57:24 +02:00
sound.cpp Remove Marlin.h include in backlight.h 2023-07-13 09:57:52 +02:00
sound.h optimisation: sound: use new eeprom_init function 2023-02-11 15:56:46 +01:00
speed_lookuptable.cpp Move speed lookup defs into a separate source 2019-05-24 17:08:32 +02:00
speed_lookuptable.h Fix MUL24x24R24 comment 2022-02-09 00:26:46 +01:00
spi.c
spi.h
static_assert.h
stepper.cpp Rename axis_steps_per_unit to axis_steps_per_mm 2023-07-25 17:10:44 +02:00
stepper.h Optimize `st_set_position()` for speed and size 2023-07-13 09:54:33 +02:00
stk500.h
strlen_cx.h clang-format 2023-01-31 09:35:22 +01:00
strtod.c MeatPack gcode compression support 2023-04-13 10:50:15 +02:00
swi2c.c build: Add Configuration_var.h as a configuration wrapper 2022-10-05 01:26:26 +02:00
swi2c.h Add disable() to swi2c as well 2022-09-16 10:06:26 +02:00
system_timer.h Remove dead macro timer02_set_pwm0 2023-07-14 14:28:14 +02:00
temperature.cpp TM: Fix TM calibration from the Calibration menu 2023-08-01 11:54:10 +02:00
temperature.h Rename `Temperature Model` to `Thermal Model` 2023-07-25 17:13:07 +02:00
thermal_model.h Fix @wavexx complains 2023-07-26 09:33:16 +02:00
thermistortables.h Remove TEMP_SENSOR_1 and TEMP_SENSOR_2 2023-04-22 15:15:21 +00:00
timer02.c split timer0 and timer2 initialization. Move timer2 init early 2021-01-31 17:18:32 +02:00
timer02.h split timer0 and timer2 initialization. Move timer2 init early 2021-01-31 17:18:32 +02:00
tmc2130.cpp tmc2130: write chopper config and powerdown setting first 2023-08-05 10:41:21 +02:00
tmc2130.h tmc2130: Fix bug with vSense bit and current values 2023-08-05 10:41:21 +02:00
tone04.c build: Add Configuration_var.h as a configuration wrapper 2022-10-05 01:26:26 +02:00
tone04.h ALTFAN implementation (#2692) 2020-06-01 17:58:15 +02:00
twi.cpp twi safe init 2022-09-16 10:06:26 +02:00
twi.h Shorter TWI timeout 2022-09-16 10:06:26 +02:00
uart2.c Increase RX buffer size 2022-09-16 10:21:53 +02:00
uart2.h Implement mmu2 serial interface 2022-09-16 10:21:53 +02:00
ultralcd.cpp Fix an issue where print can't be stopped under specific circumstances 2023-09-24 17:30:27 +00:00
ultralcd.h Echo the result onto serial 2023-07-27 16:44:34 +00:00
util.cpp Fixed printer_smodel_check for MK3/S and possible older MMU machines (#4265) 2023-07-21 16:02:32 +02:00
util.h Rebase update REVO and solve @wavexx comments 2023-07-25 17:24:02 +02:00
vector_3.cpp
vector_3.h
xflash.c xflash: add xflash_multipage_program and documentation 2021-06-08 15:25:16 +02:00
xflash.h xflash: add xflash_multipage_program and documentation 2021-06-08 15:25:16 +02:00
xflash_dump.cpp Simplify GETPC() 2022-02-02 21:06:58 +01:00
xflash_dump.h Crash if pullups get enabled on the thermistor inputs 2022-02-01 12:34:07 +01:00
xflash_layout.h Make layout static regardless of what is enabled 2022-02-17 09:34:09 +01:00
xyzcal.cpp XYZCal: reduce code size in go_manhattan 2023-07-24 08:15:03 +02:00
xyzcal.h Typo: meassure -> measure 2022-12-22 12:54:42 +01:00