Marlin_Firmware/Marlin
AnHardt d0e24e0876 Adaptive screen updates for all kinds of displays
The target here is to update the screens of graphical and char base
displays as fast as possible, without draining the planner buffer too much.

For that measure the time it takes to draw and transfer one
(partial) screen to the display. Build a max. value from that.
Because ther can be large differences, depending on how much the display
updates are interrupted, the max value is decreased by one ms/s. This way
it can shrink again.
On the other side we keep track on how much time it takes to empty the
planner buffer.
Now we draw the next (partial) display update only then, when we do not
drain the planner buffer to much. We draw only when the time in the
buffer is two times larger than a update takes, or the buffer is empty anyway.

When we have begun to draw a screen we do not wait until the next 100ms
time slot comes. We draw the next partial screen as fast as possible, but
give the system a chance to refill the buffers a bit.

When we see, during drawing a screen, the screen contend has changed,
we stop the current draw and begin to draw the new content from the top.
2016-12-13 18:44:34 +01:00
..
example_configurations Adaptive screen updates for all kinds of displays 2016-12-13 18:44:34 +01:00
blinkm.cpp
blinkm.h
boards.h Remove mystery-board 99 2016-12-05 20:16:50 -06:00
buzzer.h fixed warning: ISO C++ forbids compound-literals 2016-10-22 11:23:16 -05:00
cardreader.cpp Hide hidden files and folders 2016-11-26 06:26:28 -06:00
cardreader.h Fix bug in CardReader::stopSDPrint 2016-08-12 03:21:10 -07:00
circularqueue.h Patch up CircularQueue 2016-08-02 18:57:15 -07:00
Conditionals_LCD.h Support for distinct E factors 2016-12-05 07:26:18 -06:00
Conditionals_post.h Merge pull request #5169 from thinkyhead/rc_core_inverted 2016-11-28 02:26:41 -06:00
Conditionals.h Make Conditionals.h a catch-all for old configs 2016-07-30 04:25:30 -07:00
Configuration_adv.h Adaptive screen updates for all kinds of displays 2016-12-13 18:44:34 +01:00
configuration_store.cpp Patch to show E factors in M503 2016-12-11 17:37:29 -08:00
configuration_store.h Print error for M500 with disabled EEPROM 2016-10-28 18:53:48 -05:00
Configuration.h Sanity-check inverting and pullups for Z probe and Z endstop 2016-12-08 00:12:19 -08:00
dac_mcp4728.cpp Fix DAC current code 2016-10-17 15:17:57 -05:00
dac_mcp4728.h Fix DAC current code 2016-10-17 15:17:57 -05:00
digipot_mcp4451.cpp Unify config in a single include without nested includes 2016-07-25 23:04:19 -07:00
dogm_bitmaps.h Updates u8glib's bmp2hex converter 2016-07-19 03:16:30 +01:00
dogm_font_data_6x9_marlin.h
dogm_font_data_HD44780_C.h
dogm_font_data_HD44780_J.h
dogm_font_data_HD44780_W.h
dogm_font_data_ISO10646_1_tr.h Change font decent to -1 for tt and gr 2016-11-26 02:29:23 +01:00
dogm_font_data_ISO10646_1.h
dogm_font_data_ISO10646_5_Cyrillic.h
dogm_font_data_ISO10646_CN.h
dogm_font_data_ISO10646_Greek.h Change font decent to -1 for tt and gr 2016-11-26 02:29:23 +01:00
dogm_font_data_ISO10646_Kana.h
dogm_font_data_Marlin_symbols.h
duration_t.h Better alignment of elapsed print time 2016-12-04 21:30:49 -06:00
endstop_interrupts.h More detailed static_assert messages 2016-11-18 22:24:46 -06:00
endstops.cpp Implement reversed CORE options 2016-11-05 23:47:51 -05:00
endstops.h const arguments to test_dual_z_endstops 2016-10-29 16:01:27 -05:00
enum.h Support for distinct E factors 2016-12-05 07:26:18 -06:00
fastio.h Merge pull request #4894 from thinkyhead/rc_mightyboard_rev_e 2016-10-31 08:01:41 -05:00
language_an.h Update Aragonese translation 2016-12-12 17:36:33 -08:00
language_bg.h Remove redundant "E" 2016-12-09 02:27:34 +09:00
language_ca.h Remove redundant "E" 2016-12-09 02:27:34 +09:00
language_cn.h Remove redundant "E" 2016-12-09 02:27:34 +09:00
language_cz.h Remove redundant "E" 2016-12-09 02:27:34 +09:00
language_da.h Remove redundant "E" 2016-12-09 02:27:34 +09:00
language_de.h Merge pull request #5432 from Kaibob2/patch-2 2016-12-08 13:14:04 -08:00
language_el-gr.h Remove redundant "E" 2016-12-09 02:27:34 +09:00
language_el.h Remove redundant "E" 2016-12-09 02:27:34 +09:00
language_en.h Move Menu: Select axis first, resolution after 2016-12-13 03:11:14 -08:00
language_es.h fix multiple definitions of message macros in the language-es.h 2016-12-13 06:48:38 -08:00
language_eu.h Remove redundant "E" 2016-12-09 02:27:34 +09:00
language_fi.h Remove redundant "E" 2016-12-09 02:27:34 +09:00
language_fr.h Update french translation (LIGHTS str) 2016-12-09 11:18:29 +01:00
language_gl.h Remove redundant "E" 2016-12-09 02:27:34 +09:00
language_hr.h Remove redundant "E" 2016-12-09 02:27:34 +09:00
language_it.h Remove redundant "E" 2016-12-09 02:27:34 +09:00
language_kana_utf8.h Remove redundant "E" 2016-12-09 02:27:34 +09:00
language_kana.h Remove redundant "E" 2016-12-09 02:27:34 +09:00
language_nl.h New Dutch terms 2016-12-10 21:59:45 -08:00
language_pl.h Remove redundant "E" 2016-12-09 02:27:34 +09:00
language_pt_utf8.h Remove redundant "E" 2016-12-09 02:27:34 +09:00
language_pt-br_utf8.h Remove redundant "E" 2016-12-09 02:27:34 +09:00
language_pt-br.h Remove redundant "E" 2016-12-09 02:27:34 +09:00
language_pt.h Remove redundant "E" 2016-12-09 02:27:34 +09:00
language_ru.h Remove redundant "E" 2016-12-09 02:27:34 +09:00
language_test.h Keep SIMULATE_ROMFONT only language.h 2016-08-15 19:11:31 -07:00
language_tr.h utf8-mapper for Turkish 2016-12-12 15:56:59 +01:00
language_uk.h Remove redundant "E" 2016-12-09 02:27:34 +09:00
language.h Remove redundant "E" 2016-12-09 02:27:34 +09:00
M100_Free_Mem_Chk.cpp Repair M100 2016-07-11 20:44:30 +02:00
macros.h Limit preheat parameters based on all nozzles 2016-11-28 01:37:24 -06:00
Makefile reduce binary size of .hex 2016-11-15 21:57:15 +01:00
Marlin_main.cpp Adaptive screen updates for all kinds of displays 2016-12-13 18:44:34 +01:00
Marlin.h Expose delta_clip_start_height for use by others 2016-12-13 01:41:08 -08:00
Marlin.ino Add TMC2130 support 2016-11-21 00:17:45 -06:00
MarlinConfig.h Merge pull request #4419 from AnHardt/sd2pinmap 2016-07-28 17:38:46 -07:00
MarlinSerial.cpp Centralize click-handling in the LCD loop 2016-10-28 20:57:21 -05:00
MarlinSerial.h Optimize, reduce size of MarlinSerial 2016-08-19 16:53:20 -05:00
mesh_bed_leveling.cpp Add a ZERO macro to clear arrays 2016-10-22 10:07:18 -05:00
mesh_bed_leveling.h Pass the fade factor to mbl.get_z 2016-12-05 03:01:51 -06:00
nozzle.h Move to safe zone on DELTA if using do_blocking_move_to* 2016-12-10 21:28:24 -08:00
pins_3DRAG.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_5DPRINT.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_A4JP.h No FAN0_PIN 2016-10-31 08:08:03 -05:00
pins_AZTEEG_X1.h Add "About Printer" information menu. 2016-07-02 15:22:26 -07:00
pins_AZTEEG_X3_PRO.h Predefine auto fan pins in some pins files 2016-10-26 18:38:32 -05:00
pins_AZTEEG_X3.h Follow-up the PR #5087 (Fixed SERVO pins on Azteeg X3), etc 2016-10-27 06:46:03 +09:00
pins_BAM_DICE_DUE.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_BQ_ZUM_MEGA_3D.h Updated bq Hephestos 2 example configuration 2016-12-13 09:26:07 +00:00
pins_BRAINWAVE_PRO.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_BRAINWAVE.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_CHEAPTRONIC.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_CNCONTROLS_11.h Predefine auto fan pins in some pins files 2016-10-26 18:38:32 -05:00
pins_CNCONTROLS_12.h Predefine auto fan pins in some pins files 2016-10-26 18:38:32 -05:00
pins_ELEFU_3.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_FELIX2.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_GEN3_MONOLITHIC.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_GEN3_PLUS.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_GEN6_DELUXE.h Add "About Printer" information menu. 2016-07-02 15:22:26 -07:00
pins_GEN6.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_GEN7_12.h Label analog pins in a similar way 2016-10-05 06:13:30 -05:00
pins_GEN7_13.h Add "About Printer" information menu. 2016-07-02 15:22:26 -07:00
pins_GEN7_14.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_GEN7_CUSTOM.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_K8200.h Add "About Printer" information menu. 2016-07-02 15:22:26 -07:00
pins_K8400.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_LEAPFROG.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_MEGACONTROLLER.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_MEGATRONICS_2.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_MEGATRONICS_3.h Update pins_MEGATRONICS_3.h 2016-11-12 12:26:07 +01:00
pins_MEGATRONICS.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_MELZI_MAKR3D.h Add "About Printer" information menu. 2016-07-02 15:22:26 -07:00
pins_MELZI.h Add "About Printer" information menu. 2016-07-02 15:22:26 -07:00
pins_MIGHTYBOARD_REVE.h Developer note in pins_MIGHTYBOARD_REVE.h 2016-10-31 08:22:39 -05:00
pins_MINIRAMBO.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_MINITRONICS.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_MKS_13.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_MKS_BASE.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_OMCA_A.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_OMCA.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_PRINTRBOARD_REVF.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_PRINTRBOARD.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_RAMBO.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_RAMPS_13.h pins_RAMPS_14.h => pins_RAMPS.h 2016-07-30 04:17:21 -07:00
pins_RAMPS_OLD.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_RAMPS.h Add TMC2130 support 2016-11-21 00:17:45 -06:00
pins_RIGIDBOARD_V2.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_RIGIDBOARD.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_RUMBA.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_SAINSMART_2IN1.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_SANGUINOLOLU_11.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_SANGUINOLOLU_12.h Add "About Printer" information menu. 2016-07-02 15:22:26 -07:00
pins_SAV_MKI.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_SETHI.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_STB_11.h Add "About Printer" information menu. 2016-07-02 15:22:26 -07:00
pins_TEENSY2.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_TEENSYLU.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_ULTIMAIN_2.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_ULTIMAKER_OLD.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_ULTIMAKER.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins.h Remove mystery-board 99 2016-12-05 20:16:50 -06:00
pinsDebug.h Save PROGMEM with string changes 2016-12-03 19:21:46 -06:00
planner_bezier.cpp Improve planner kinematics, fix delta ABL 2016-10-09 13:32:46 -05:00
planner_bezier.h Append units to feedrate variables 2016-07-17 13:29:41 -07:00
planner.cpp Adaptive screen updates for all kinds of displays 2016-12-13 18:44:34 +01:00
planner.h Adaptive screen updates for all kinds of displays 2016-12-13 18:44:34 +01:00
platformio.ini Move platformio directories out of source tree 2016-10-08 13:45:26 -04:00
point_t.h Adds missing documentation to the point_t structure 2016-07-22 15:19:20 +01:00
printcounter.cpp Renamed timestamp_t to duration_t 2016-07-24 03:16:02 +01:00
printcounter.h Adds filamentUsed and longestPrint stats to PrintCounter 2016-07-16 12:12:27 +01:00
qr_solve.cpp Enable ABL by type, support bilinear on cartesian 2016-09-25 23:35:37 -05:00
qr_solve.h Enable ABL by type, support bilinear on cartesian 2016-09-25 23:35:37 -05:00
SanityCheck.h Sanity-check inverting and pullups for Z probe and Z endstop 2016-12-08 00:12:19 -08:00
Sd2Card.cpp Use fastio for literal pins 2016-09-25 06:33:38 -05:00
Sd2Card.h repair-software-spi 2016-07-31 15:50:42 +02:00
SdBaseFile.cpp Clear dir_t size, not pointer size 2016-10-25 22:59:40 -05:00
SdBaseFile.h
SdFatConfig.h repair-software-spi 2016-07-31 15:50:42 +02:00
SdFatStructs.h
SdFatUtil.cpp
SdFatUtil.h Cleanup SdFatUtil.h 2016-08-11 12:47:06 -07:00
SdFile.cpp Converted all files on src to Unix file format 2016-04-26 21:23:39 +01:00
SdFile.h
SdInfo.h Converted all files on src to Unix file format 2016-04-26 21:23:39 +01:00
SdVolume.cpp Converted all files on src to Unix file format 2016-04-26 21:23:39 +01:00
SdVolume.h
servo.cpp Unify config in a single include without nested includes 2016-07-25 23:04:19 -07:00
servo.h SERVO_DEACTIVATION_DELAY => SERVO_DELAY 2016-06-23 14:33:29 -07:00
speed_lookuptable.h
stepper_dac.cpp DAC patches 2016-10-10 14:08:04 -05:00
stepper_dac.h Cleanup of code style 2016-10-07 15:57:24 -05:00
stepper_indirection.cpp Reduce all stepper_indirection init code with macros 2016-11-21 00:52:18 -06:00
stepper_indirection.h Add TMC2130 support 2016-11-21 00:17:45 -06:00
stepper.cpp Adaptive screen updates for all kinds of displays 2016-12-13 18:44:34 +01:00
stepper.h Minor stepper cleanup 2016-11-18 01:15:57 -06:00
stopwatch.cpp Updates Stopwatch class to use internal state enum 2016-07-19 14:30:44 +01:00
stopwatch.h Updates Stopwatch class to use internal state enum 2016-07-19 14:30:44 +01:00
temperature.cpp Enable ISRs inside temperature ISR 2016-11-28 20:08:50 +01:00
temperature.h Implement reversed CORE options 2016-11-05 23:47:51 -05:00
thermistornames.h Dyze High Temp Thermistor Support 2016-07-10 17:59:05 -07:00
thermistortables.h Add negative temperatures for Thermistor 1 2016-12-13 02:06:16 -08:00
twibus.cpp Allow send to i2c address 0 (broadcast) 2016-11-08 17:54:55 -06:00
twibus.h M155=>M260, M156=>M261 2016-11-08 17:54:54 -06:00
types.h Adds types.h 2016-07-30 02:55:52 +01:00
ultralcd_impl_DOGM.h Merge pull request #5487 from thinkyhead/rc_easier_move_axis 2016-12-13 07:07:05 -08:00
ultralcd_impl_HD44780.h Merge pull request #5487 from thinkyhead/rc_easier_move_axis 2016-12-13 07:07:05 -08:00
ultralcd_st7920_u8glib_rrd.h Distribute GLCD screen updates in time 2016-12-05 12:22:54 -06:00
ultralcd.cpp Adaptive screen updates for all kinds of displays 2016-12-13 18:44:34 +01:00
ultralcd.h Fix compile error with LCD_I2C_VIKI 2016-12-07 23:29:45 -06:00
utf_mapper.h utf8-mapper for Turkish 2016-12-12 15:56:59 +01:00
utility.cpp Replace ftostr62sign with ftostr62rj 2016-12-12 20:25:20 +01:00
utility.h Replace ftostr62sign with ftostr62rj 2016-12-12 20:25:20 +01:00
vector_3.cpp Enable ABL by type, support bilinear on cartesian 2016-09-25 23:35:37 -05:00
vector_3.h Enable ABL by type, support bilinear on cartesian 2016-09-25 23:35:37 -05:00
Version.h README and Version for 1.1.0-RCBugFix 2016-12-07 10:43:58 +09:00
watchdog.cpp
watchdog.h