Prusa-Firmware/Firmware
bubnikv 9acd41a942 Reworked the stepper routine:
1) The computational load is spread more evenly along the stepper ISR
ticks by moving some of the timer and linear advance calculation from
the block initialization into the 1st tick of the steady phase
of the trapezoid.

2) Reworked planning of the Linear Advance ISR ticks to fit
the time slot allocated for the main stepper ISR tick. This is achieved
by grouping the Linear Advance extruder ticks by a power of two to tick
the Linear Advance interrupts at a maximum 7kHz. Also some
of the extruder ticks are performed just after the XYZ ticks
and if the remaining time slot for the Linear Advance ticks is too short,
all the Linear Advance steps are ticked inside the main stepper ISR invocation.

3) Added some calls to MSerial.checkRx() if the stepper ISR routine
is delayed for too long by the additional LinearAdvance ticks.

This implementation differs significantly from the original implementation
by @Sebastianv650, as this implementation tries to follow the exact
timing of the XYZ axes with the drawback of possibly ticking the extruder
faster than it could handle, while the original implementation
by @Sebastianv650 ticks the extruder slower with the drawback of possibly
spreading the XYZ ticks, thus introducing jerk in the cartesian movement.
2018-02-02 22:55:50 +01:00
..
variants Removed SG software homming 2017-12-15 14:10:20 +01:00
adc.c Removed debug messages from serial comunication (octoprint...). 2017-12-27 20:29:24 +01:00
adc.h new module adc (analog2digital) 2017-12-20 13:42:20 +01:00
BlinkM.cpp Build 109 2017-11-16 22:03:36 +01:00
BlinkM.h Build 109 2017-11-16 22:03:36 +01:00
boards.h EINY -> EINSY 2017-11-27 18:47:48 +01:00
cardreader.cpp cardreader - new member "paused" 2018-01-31 15:20:27 +01:00
cardreader.h cardreader - new member "paused" 2018-01-31 15:20:27 +01:00
cmdqueue.cpp Documented the interrupt blocking by a main thread by its maximum time. 2018-01-20 14:58:30 +01:00
cmdqueue.h Minimize risk of stepper routine interrupt blocking by reorganizing 2018-01-20 14:37:22 +01:00
config.h new module adc (analog2digital) 2017-12-20 13:42:20 +01:00
Configuration_adv.h Fixed a regression error from the last commit regarding Z homing. 2018-01-15 12:00:28 +01:00
Configuration_prusa.h Adjusted the features for the debug buid: 2018-02-02 20:37:03 +01:00
Configuration.h version changed 2018-02-02 17:48:02 +01:00
ConfigurationStore.cpp Inform user that hardcoded default settings were loaded (EEPROM version change) 2018-01-30 11:31:44 +01:00
ConfigurationStore.h Inform user that hardcoded default settings were loaded (EEPROM version change) 2018-01-30 11:31:44 +01:00
Dcodes.cpp New fail stats (global, last print), crashdetection X and Y separated 2018-01-30 13:10:36 +01:00
Dcodes.h new module adc (analog2digital) 2017-12-20 13:42:20 +01:00
digipot_mcp4451.cpp 3.0.6 sync 2016-08-11 10:42:53 +02:00
dogm_font_data_marlin.h 3.0.6 sync 2016-08-11 10:42:53 +02:00
dogm_lcd_implementation.h 3.0.6 sync 2016-08-11 10:42:53 +02:00
DOGMbitmaps.h 3.0.6 sync 2016-08-11 10:42:53 +02:00
fastio.h WRITE_NC macro for non-critical (non-synchronized) access to 2018-01-12 20:15:59 +01:00
Firmware.ino opravene nezadouci resetovani watchdogem 2017-11-27 14:43:56 +01:00
Firmware.ino.rambo.hex build 143e 2018-01-04 18:08:22 +01:00
Firmware.sublime-project 3.0.6 sync 2016-08-11 10:42:53 +02:00
fsensor.cpp filament sensor additional check after runout (3mm back, 3mm forward @200mm/min) 2018-01-31 21:10:41 +01:00
fsensor.h Wizard: dont ask if color is clear and dont use automatic filament load; multiscreen messages update 2017-12-20 13:33:45 +01:00
langtool.php 3.0.6 sync 2016-08-11 10:42:53 +02:00
langtool.pl merging from dev/MK3 2017-12-02 21:56:39 +01:00
language_all.cpp Merge pull request #440 from XPila/3.1.1-RC6 2018-01-31 20:21:02 +01:00
language_all.h Merge pull request #440 from XPila/3.1.1-RC6 2018-01-31 20:21:02 +01:00
language_common.h 3.0.6 sync 2016-08-11 10:42:53 +02:00
language_cz.h Inform user that hardcoded default settings were loaded (EEPROM version change) 2018-01-30 11:31:44 +01:00
language_de.h basic language corrections 2017-11-21 14:44:07 +01:00
language_en.h PINDA temp. calibration warning messages. 2018-01-31 17:03:33 +01:00
language_es.h basic language corrections 2017-11-21 14:44:07 +01:00
language_it.h basic language corrections 2017-11-21 14:44:07 +01:00
language_pl.h basic language corrections 2017-11-21 14:44:07 +01:00
language.h 3.0.6 sync 2016-08-11 10:42:53 +02:00
le.sh 3.0.12-RC2 sync 2017-06-29 18:35:43 +02:00
LiquidCrystal.cpp Print class printf function (experimental, disabled by default) 2017-11-20 20:09:54 +01:00
LiquidCrystal.h Print class printf function (experimental, disabled by default) 2017-11-20 20:09:54 +01:00
Marlin_main.cpp bugfix - failstats (total counters) reset to zero for empty eeprom (0xff) 2018-02-02 15:59:37 +01:00
Marlin.h Missed a bit with the last commit. 2018-01-12 22:01:53 +01:00
MarlinSerial.cpp Optimized the MarlinSerial class by declaring all methods static. 2018-02-02 20:25:19 +01:00
MarlinSerial.h Optimized the MarlinSerial class by declaring all methods static. 2018-02-02 20:25:19 +01:00
mesh_bed_calibration.cpp Removed debug messages from serial comunication (octoprint...). 2017-12-27 20:29:24 +01:00
mesh_bed_calibration.h Fixed homing (mbl and babystep - crashdetection recovery work fine now). 2017-09-23 16:35:01 +02:00
mesh_bed_leveling.cpp 3.0.6 sync 2016-08-11 10:42:53 +02:00
mesh_bed_leveling.h 3.0.6 sync 2016-08-11 10:42:53 +02:00
motion_control.cpp 3.0.6 sync 2016-08-11 10:42:53 +02:00
motion_control.h 3.0.6 sync 2016-08-11 10:42:53 +02:00
pat9125.cpp Optimization of the filament sensor. 2018-01-23 16:47:42 +01:00
pat9125.h Optimization of the filament sensor. 2018-01-23 16:47:42 +01:00
pins_Einy_0_3.h PINDA thermistor and ambient thermistor. 2017-09-05 14:02:35 +02:00
pins_Einy_0_4.h Added macros for outputting serial data onto the logical analyzer line 2018-02-02 20:42:09 +01:00
pins_Rambo_1_0.h PAT9125 I2C, hardware SG homing 2017-08-17 15:23:34 +02:00
pins_Rambo_1_3.h PAT9125 I2C, hardware SG homing 2017-08-17 15:23:34 +02:00
pins_Rambo.h PAT9125 I2C, hardware SG homing 2017-08-17 15:23:34 +02:00
pins.h PAT9125 I2C, hardware SG homing 2017-08-17 15:23:34 +02:00
planner.cpp Merge branch 'MK3' into MK3_fast_dbg 2018-02-02 20:51:57 +01:00
planner.h Split the stepper ISR routine into multiple inline functions, 2018-01-14 22:37:07 +01:00
qr_solve.cpp 3.0.6 sync 2016-08-11 10:42:53 +02:00
qr_solve.h 3.0.6 sync 2016-08-11 10:42:53 +02:00
Sd2Card.cpp 3.0.12-RC2 sync 2017-06-29 18:35:43 +02:00
Sd2Card.h 3.0.12-RC2 sync 2017-06-29 18:35:43 +02:00
Sd2PinMap.h 3.0.12-RC2 sync 2017-06-29 18:35:43 +02:00
SdBaseFile.cpp first working version 2017-11-27 06:20:51 +01:00
SdBaseFile.h 3.0.12-RC2 sync 2017-06-29 18:35:43 +02:00
SdFatConfig.h 3.0.6 sync 2016-08-11 10:42:53 +02:00
SdFatStructs.h 3.0.6 sync 2016-08-11 10:42:53 +02:00
SdFatUtil.cpp 3.0.10 sync 2017-03-24 19:47:50 +01:00
SdFatUtil.h 3.0.12-RC2 sync 2017-06-29 18:35:43 +02:00
SdFile.cpp 3.0.12-RC2 sync 2017-06-29 18:35:43 +02:00
SdFile.h 3.0.6 sync 2016-08-11 10:42:53 +02:00
SdInfo.h 3.0.12-RC2 sync 2017-06-29 18:35:43 +02:00
SdVolume.cpp 3.0.12-RC2 sync 2017-06-29 18:35:43 +02:00
SdVolume.h 3.0.6 sync 2016-08-11 10:42:53 +02:00
Servo.cpp 3.0.6 sync 2016-08-11 10:42:53 +02:00
Servo.h 3.0.6 sync 2016-08-11 10:42:53 +02:00
speed_lookuptable.h 3.0.6 sync 2016-08-11 10:42:53 +02:00
stepper.cpp Reworked the stepper routine: 2018-02-02 22:55:50 +01:00
stepper.h Merge remote-tracking branch 'remotes/origin/MK3_stepper_blocking' into MK3_fast_dbg 2018-01-20 17:31:26 +01:00
swi2c.cpp PAT9125 I2C, hardware SG homing 2017-08-17 15:23:34 +02:00
swi2c.h PAT9125 I2C, hardware SG homing 2017-08-17 15:23:34 +02:00
swspi.cpp PAT9125 I2C, hardware SG homing 2017-08-17 15:23:34 +02:00
swspi.h PAT9125 I2C, hardware SG homing 2017-08-17 15:23:34 +02:00
temperature.cpp PID cal. is not sending OK periodically, print fan error pauses print in octoprint (not disconnecting), initialize serial line when swithing in settings menu 2018-01-25 15:23:11 +01:00
temperature.h MINTEMP fix 2017-12-23 03:36:08 +01:00
thermistortables.h new ambient thermistor table 2017-12-12 22:49:47 +01:00
tmc2130.cpp cardreader - new member "paused" 2018-01-31 15:20:27 +01:00
tmc2130.h New fail stats (global, last print), crashdetection X and Y separated 2018-01-30 13:10:36 +01:00
ultralcd_implementation_hitachi_HD44780.h Support for debug builds: 2018-01-18 16:24:25 +01:00
ultralcd_st7920_u8glib_rrd.h 3.0.6 sync 2016-08-11 10:42:53 +02:00
ultralcd.cpp Merge pull request #440 from XPila/3.1.1-RC6 2018-01-31 20:21:02 +01:00
ultralcd.h M600 has timeout for nozzle, different procedure for unload 2018-01-15 11:30:28 +01:00
uni_avr_rpi.h PAT9125 I2C, hardware SG homing 2017-08-17 15:23:34 +02:00
util.cpp fw version check: FW_VERSION string is case insensitive (parsing RC works) 2018-02-01 20:23:45 +01:00
util.h 3.0.12-RC2 sync 2017-06-29 18:35:43 +02:00
vector_3.cpp 3.0.6 sync 2016-08-11 10:42:53 +02:00
vector_3.h 3.0.6 sync 2016-08-11 10:42:53 +02:00
watchdog.cpp 3.0.6 sync 2016-08-11 10:42:53 +02:00
watchdog.h 3.0.6 sync 2016-08-11 10:42:53 +02:00