Prusa-Firmware/Firmware
Yuri D'Elia b3af08d94a Fix stack smashing in temperature/fsensor ISR
The temperature and fsensor ISR re-enable interrupts while executing.

However, we still need to protect the epilogue of the ISR so that
the saved return address is not altered while returning.

We hoist the body of the function out of the isr in both cases for
clarity (and to avoid a stray return bypassing the lock/cli), so that
the re-entrant portion is clearly indicated.

This should fix the "STATIC MEMORY OVERWRITTEN" error messages randomly
happening when stepping at high frequency (where either isr is
preempted more frequently).
2020-08-05 17:47:46 +02:00
..
variants Disable temperature compensation and temperature calibration menu if superPINDA is detected. 2020-06-16 00:19:06 +02:00
adc.c IR sensor gen. II 2019-09-16 00:43:37 +02:00
adc.h Fix ADC index overflow 2018-07-17 17:55:04 +02:00
AutoDeplete.cpp Comment. 2019-01-04 19:56:15 +01:00
AutoDeplete.h Add filament auto deplete engine for multi-material prints with MMUv2. 2019-01-03 22:58:25 +01:00
backlight.cpp General fixes and improvements to code 2019-10-31 19:07:20 +02:00
backlight.h General fixes and improvements to code 2019-10-31 19:07:20 +02:00
BlinkM.cpp
BlinkM.h
boards.h MK3 configuration files, renamed EINY to EINSY 2018-02-01 17:10:41 +01:00
bootapp.c New lang, arduino 1.8.5 - boot_app debug output 2018-10-18 16:20:14 +02:00
bootapp.h New lang, arduino 1.8.5 - boot_app debug output 2018-10-18 16:20:14 +02:00
cardreader.cpp Code size optimization: 2KB down (#2687) 2020-06-01 17:51:28 +02:00
cardreader.h Use combined creation/modification file time stamps for sorting 2020-02-14 09:09:15 +01:00
cmdqueue.cpp Fix kill messages 2019-11-29 22:49:22 +02:00
cmdqueue.h Fix repeated power panic restarted print from beginning or jumped at most 65536 B back in file printed from SD card. 2019-08-23 19:30:20 +02:00
config.h Merge pull request #2520 from MRprusa3d/PFW-x001bPR 2020-03-26 17:36:18 +01:00
Configuration_adv.h Parametrize LA limits and threshold values 2020-04-28 17:31:42 +02:00
Configuration.cpp some improvements 2019-07-10 16:29:40 +02:00
Configuration.h Version changed (3.9.0 build 3421) - sync 2020-05-18 16:56:32 +02:00
ConfigurationStore.cpp Fixup prefix echomagic for the LA config report 2019-05-24 17:08:32 +02:00
ConfigurationStore.h Adding the microstepping resolution for all axis to the eprom config which is persisted during M500 for Mk3 and Mk3S 2019-03-19 21:39:59 +00:00
conv2str.cpp LCD menu optimalization - conversion functions - source separation 2018-07-16 17:23:35 +02:00
conv2str.h LCD menu optimalization - conversion functions - source separation 2018-07-16 17:23:35 +02:00
Dcodes.cpp Merge pull request #2568 from 3d-gussner/MK3_Dcodes_move 2020-04-03 11:12:30 +02:00
Dcodes.h Bugfix for last PR 2020-04-07 11:22:48 +02:00
doxyfile Updated doxygen docs to work better with confluence. 2019-07-19 13:51:55 +02:00
eeprom.cpp EEPROM_BABYSTEP_Z using removal 2019-10-01 16:57:37 +02:00
eeprom.h MK3s IR sensor improvement (#2698) 2020-06-03 16:14:56 +02:00
fastio.h WRITE_NC macro for non-critical (non-synchronized) access to 2018-01-12 20:15:59 +01:00
Firmware.ino LCD menu optimalization - LiquidCrystal_Prusa removed 2018-07-16 23:23:15 +02:00
first_lay_cal.cpp Rename lay1cal_preheat() to lay1cal_wait_preheat(). 2019-09-12 00:19:20 +02:00
first_lay_cal.h Rename lay1cal_preheat() to lay1cal_wait_preheat(). 2019-09-12 00:19:20 +02:00
fsensor.cpp Fix stack smashing in temperature/fsensor ISR 2020-08-05 17:47:46 +02:00
fsensor.h MK3s IR sensor improvement (#2698) 2020-06-03 16:14:56 +02:00
heatbed_pwm.cpp Fix compiler warning enumeration value 'ONE_TO_FALL' not handled in switch. 2020-06-08 13:07:19 +02:00
io_atmega2560.h "disable_z()" for Delta PSU II 2019-03-25 23:28:25 +01:00
la10compat.cpp Increase E-jerk LA10->15 flattened zone 2020-05-18 01:22:49 +02:00
la10compat.h Adjust E-jerk in LA10 compatibility mode 2020-02-03 15:42:27 +01:00
language.c Fix language related warnings in LANG_MODE 0 2019-07-29 15:55:42 +03:00
language.h Hard reset and readded change 2020-01-31 14:47:44 +01:00
lcd.cpp fix the knob long-press causing hang in modal dialogs 2019-10-01 17:13:36 +02:00
lcd.h Merge branch 'MK3' into MK3_Translations 2019-09-12 16:28:36 +03:00
le.sh make all shell scripts executable 2018-12-10 07:09:03 -07:00
Marlin_main.cpp Do not compile, if PINDA temperature compensation start point is lower than PINDA_MINTEMP. Document. 2020-06-16 02:03:14 +02:00
Marlin.h Remove temp_cal_active variable. 2020-06-11 20:00:55 +02:00
MarlinSerial.cpp Optimized LiquidCrystal class 2018-06-08 14:35:47 +02:00
MarlinSerial.h More than 7.5KB saved by slight refactoring of printing to serial line 2019-07-12 10:10:56 +02:00
menu.cpp Merge remote-tracking branch 'upstream/MK3' into MK3_LA15 2019-12-04 17:27:23 +01:00
menu.h Fix Live K, allow "Advance K" to be translated 2019-12-05 15:18:24 +01:00
mesh_bed_calibration.cpp Code size optimization: 2KB down (#2687) 2020-06-01 17:51:28 +02:00
mesh_bed_calibration.h Mesh by 3d-gussner, fixed difference between mbl points coordinates and coordinates used in planner for corrections, mbl settings menu update 2019-03-14 01:52:44 +01:00
mesh_bed_leveling.cpp 7x7 points mesh bed leveling 2019-02-14 10:57:58 +02:00
mesh_bed_leveling.h
messages.c MK3s IR sensor improvement (#2698) 2020-06-03 16:14:56 +02:00
messages.h MK3s IR sensor improvement (#2698) 2020-06-03 16:14:56 +02:00
mmu.cpp Code size optimization: 2KB down (#2687) 2020-06-01 17:51:28 +02:00
mmu.h Show FINDA state as N/A if last received response is older than 1s. 2019-10-31 17:45:22 +01:00
motion_control.cpp
motion_control.h
optiboot_w25x20cl.cpp Handle second serial port correctly 2020-05-27 17:40:14 +03:00
optiboot_w25x20cl.h Fix missing start on MK3/S 2020-05-27 09:44:28 +03:00
pat9125.c Return correct status from pat9125_update_bs 2020-02-06 16:39:08 +01:00
pat9125.h FS: Improve reliability on speeds with poor optical tracking 2020-02-06 15:27:22 +01:00
pins_Einsy_1_0.h Merge branch 'MK3' into MK3-PFW-1024 2019-11-29 13:07:45 +02:00
pins_Rambo_1_0.h MK2.5 IR_SENSOR_PIN modified 2019-02-11 14:32:21 +01:00
pins_Rambo_1_3.h debug gcodes (fans, bed analysis) moved to Dcodes, HOST_KEEPALIVE_FEATURE simplified 2019-03-06 19:56:48 +01:00
pins.h Fix compiler warnings macro redefined. 2019-03-05 15:56:20 +01:00
planner.cpp Code size optimization: 2KB down (#2687) 2020-06-01 17:51:28 +02:00
planner.h Code size optimization: 2KB down (#2687) 2020-06-01 17:51:28 +02:00
printers.h Remove commented out defines. 2019-07-10 17:40:33 +02:00
qr_solve.cpp
qr_solve.h
rbuf.c T-codes for MMU_V2: initial version 2018-07-09 13:57:36 +02:00
rbuf.h T-codes for MMU_V2: initial version 2018-07-09 13:57:36 +02:00
Sd2Card.cpp reinitialize the timestamp to ensure enough time to receive response for 0xFF sent. 2019-08-11 17:57:41 -04:00
Sd2Card.h Fix for Toshiba FlashAir (or other) SD card initialization - add clock cycles between sending CMD0 and CMD8. Redone for MK3 branch) 2019-08-08 15:45:59 -04:00
Sd2PinMap.h
SdBaseFile.cpp Support for more special characters allowed in file names (^ + = [ ] ; 2019-08-27 13:47:58 +02:00
SdBaseFile.h
SdFatConfig.h
SdFatStructs.h
SdFatUtil.cpp Fix compiler warning: sketch/SdFatUtil.cpp:49:7: warning: unused variable 'i' [-Wunused-variable] 2018-07-25 15:19:10 +02:00
SdFatUtil.h
SdFile.cpp
SdFile.h Optimized LiquidCrystal class 2018-06-08 14:35:47 +02:00
SdInfo.h
SdVolume.cpp
SdVolume.h
Servo.cpp
Servo.h
sm4.c Merge remote-tracking branch 'prusa3d/MK3_dev' into simplify_EEPROM_M500 2018-10-08 15:58:49 +02:00
sm4.h New XYZ calibration with image processing 2018-03-13 12:55:35 +01:00
sound.cpp General fixes and improvements to code 2019-10-31 19:07:20 +02:00
sound.h Toggle Sound 2019-08-31 16:56:14 +03:00
speed_lookuptable.cpp Move speed lookup defs into a separate source 2019-05-24 17:08:32 +02:00
speed_lookuptable.h Move calc_timer into speed_lookup_table for planner reuse 2019-05-24 17:08:32 +02:00
spi.c New SPI (do not use Arduino SPI class) 2018-03-29 17:42:41 +02:00
spi.h New ML support - W25X20CL external spi flash support 2018-06-08 00:20:28 +02:00
static_assert.h static_assert - portable solution compatible with C++98 2018-09-27 19:59:29 +02:00
stepper.cpp Move reset LA state from G80 to M84 2020-04-29 22:51:23 +02:00
stepper.h Move reset LA state from G80 to M84 2020-04-29 22:51:23 +02:00
stk500.h Added support for a secondary boot loader, based on the OptiBoot project, 2018-06-14 15:13:21 +02:00
swi2c.c Fix compiler warning arduino-1.6.9/hardware/tools/avr/avr/include/avr/delay.h:36:2: warning: #warning "This file has been moved to <util/delay.h>." [-Wcpp] 2018-07-23 13:47:15 +02:00
swi2c.h SWI2C for PAT9125 simplified/optimized 2018-07-12 17:55:38 +02:00
swspi.cpp
swspi.h
system_timer.h ALTFAN implementation (#2692) 2020-06-01 17:58:15 +02:00
temperature.cpp Fix stack smashing in temperature/fsensor ISR 2020-08-05 17:47:46 +02:00
temperature.h Move has_temperature_compensation() into temperature.cpp. 2020-06-16 00:41:21 +02:00
thermistortables.h New ML support - menu tunning, startup 2018-06-10 16:04:32 +02:00
timer02.c Merge branch 'MK3' into MK3_TONE 2019-11-29 23:16:46 +02:00
timer02.h Re-enable Tone 2019-07-30 16:05:40 +03:00
Timer.cpp Fix Timer_test broken by conditional translation for SYSTEM_TIMER_2. 2019-01-28 19:29:31 +01:00
Timer.h Store timer period in TimerRemaining. 2018-06-11 23:41:36 +02:00
TimerRemaining.h Fix Timer_test broken by conditional translation for SYSTEM_TIMER_2. 2019-01-28 19:29:31 +01:00
tmc2130.cpp ♻️Code optimization 2020-04-02 14:44:44 +03:00
tmc2130.h Fix compiler warnings 2019-07-16 17:31:56 +02:00
tone04.c ALTFAN implementation (#2692) 2020-06-01 17:58:15 +02:00
tone04.h ALTFAN implementation (#2692) 2020-06-01 17:58:15 +02:00
uart2.c Merge remote-tracking branch 'prusa3d/MK3_dev' into simplify_EEPROM_M500 2018-10-08 15:58:49 +02:00
uart2.h MMU - communication, check after start, code cleaning 2018-08-07 20:37:59 +02:00
ultralcd.cpp Merge pull request #2748 from mkbel/detect_superpinda 2020-06-16 14:07:12 +02:00
ultralcd.h MK3s IR sensor improvement (#2698) 2020-06-03 16:14:56 +02:00
uni_avr_rpi.h Revert "Revert "Save 80B of flash and 8B of RAM and fix compiler warning:"" 2018-07-23 13:35:38 +02:00
util.cpp default nozzle diameter for farm mode 2019-09-23 17:13:33 +02:00
util.h default nozzle diameter for farm mode 2019-09-23 17:13:33 +02:00
vector_3.cpp
vector_3.h
w25x20cl.c Added support for a secondary boot loader, based on the OptiBoot project, 2018-06-14 15:13:21 +02:00
w25x20cl.h Added support for a secondary boot loader, based on the OptiBoot project, 2018-06-14 15:13:21 +02:00
xyzcal.cpp Conditional translation for SYSTEM_TIMER_2 because we want to have posibility to switch between old/new implementation. 2019-01-27 22:48:51 +01:00
xyzcal.h XYZ calibration - accuracy improvement 2018-03-27 17:27:41 +02:00