Commit graph

6752 commits

Author SHA1 Message Date
AnHardt a6fbd4a5d8 Distribute GLCD screen updates in time
Currently we draw and send the screens for a graphical LCD all at once.
We draw in two or four parts but draw them directly behind each other.
For the tested status screen this takes 59-62ms in a single block.
During this time nothing else (except the interrupts) can be done.
When printing a sequence of very short moves the buffer drains - sometimes until it's empty.

This PR splits the screen update into parts.
Currently we have 10 time slots. During the first one the complete screen is drawn. (60,0,0,0,0,0,0,0,0,0,0)
Here i introduce pauses for doing other things. (30,30,0,0,0,0,0,0) or (15,15,15,15,0,0,0,0,0,0)
Drawing in consecutive time slots prevents from lagging too much. Even with a 4 stripe display all the drawing is done after 400ms.
Previous experiments with a even better distribution of the time slots like
(30,0,0,0,0,30,0,0,0,0) and (15,0,15,0,15,0,15,0,0,0) did not feel good when using the menu, because of too much lag.

Because of the previous PRs to speed up the display updates and especially reducing the difference between drawing 2 or 4 stripes,
it now makes sense for the REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER to go from 2 to 4 stripes. This costs about 1-2ms per complete
screen update, but is payed back by having partial updates lasting only the half time and two additional brakes. Also ~256 byte of
framebuffer are saved in RAM.

13:45:59.213 : echo: #:17 >:13 s:30;   #:16 >:13 s:29;   S#:33 S>:26 S:59
13:46:00.213 : echo: #:16 >:14 s:30;   #:17 >:13 s:30;   S#:33 S>:27 S:60
13:46:01.215 : echo: #:17 >:13 s:30;   #:16 >:13 s:29;   S#:33 S>:26 S:59
13:46:02.215 : echo: #:16 >:13 s:29;   #:16 >:14 s:30;   S#:32 S>:27 S:59
13:46:03.214 : echo: #:17 >:13 s:30;   #:17 >:13 s:30;   S#:34 S>:26 S:60
13:46:04.214 : echo: #:16 >:13 s:29;   #:16 >:14 s:30;   S#:32 S>:27 S:59
13:46:05.212 : echo: #:16 >:14 s:30;   #:17 >:13 s:30;   S#:33 S>:27 S:60
13:46:06.212 : echo: #:17 >:13 s:30;   #:16 >:13 s:29;   S#:33 S>:26 S:59

03:30:36.779 : echo: #:8 >:7 s:15;   #:10 >:7 s:17;   #:8 >:6 s:14;   #:8 >:7 s:15;   S#:34 S>:27 S:61
03:30:37.778 : echo: #:8 >:6 s:14;   #:10 >:7 s:17;   #:9 >:7 s:16;   #:8 >:6 s:14;   S#:35 S>:26 S:61
03:30:38.778 : echo: #:8 >:6 s:14;   #:11 >:7 s:18;   #:8 >:6 s:14;   #:8 >:7 s:15;   S#:35 S>:26 S:61
03:30:39.777 : echo: #:8 >:6 s:14;   #:10 >:7 s:17;   #:8 >:8 s:16;   #:8 >:6 s:14;   S#:34 S>:27 S:61
03:30:40.780 : echo: #:8 >:6 s:14;   #:11 >:7 s:18;   #:8 >:6 s:14;   #:8 >:6 s:14;   S#:35 S>:25 S:60
03:30:41.780 : echo: #:9 >:6 s:15;   #:10 >:7 s:17;   #:8 >:6 s:14;   #:9 >:6 s:15;   S#:36 S>:25 S:61
03:30:42.779 : echo: #:8 >:6 s:14;   #:10 >:8 s:18;   #:8 >:6 s:14;   #:8 >:6 s:14;   S#:34 S>:26 S:60
03:30:43.778 : echo: #:9 >:6 s:15;   #:10 >:7 s:17;   #:8 >:7 s:15;   #:9 >:6 s:15;   S#:36 S>:26 S:62

#: draw a stripe
>: transfer a stripe
s: sum of of draw and transfer for one stripe
S#: sum of draws for a complete screen
S>: sum of transfers for a complete screen
S: time to draw and transfer a complete screen
2016-12-05 12:22:54 -06:00
Scott Lahteine f882355994 Merge pull request #5318 from Sebastianv650/Account_for_LCD_improvements
Account for LCD improvements in ENSURE_SMOOTH_MOVES
2016-12-05 11:23:58 -06:00
Scott Lahteine 20e834461d Merge pull request #5385 from thinkyhead/rc_ftostr4sign_decimal
Show decimal for small numbers in ftostr4sign
2016-12-05 11:22:45 -06:00
Scott Lahteine b6b100c471 Merge pull request #5371 from thinkyhead/rc_extruders_can_differ
Allow distinct factors for multiple extruders
2016-12-05 11:22:31 -06:00
Scott Lahteine 1aca2dfe0c Merge pull request #5387 from thinkyhead/rc_polish_update
Polish language update – plus placeholders
2016-12-05 10:52:20 -06:00
Scott Lahteine 449d9cbf60 Add placeholders for Polish translatable strings 2016-12-05 10:37:00 -06:00
c64pl 643dc4b64e Update language_pl.h
Fixed translations
2016-12-05 10:37:00 -06:00
Scott Lahteine 0974b75fb6 Merge pull request #5386 from thinkyhead/rc_galician_update
Galician language update.
2016-12-05 10:36:26 -06:00
Rafa Couto 2b9115330d Galician language update. 2016-12-05 10:11:28 -06:00
Scott Lahteine 1f3e2440bc Merge pull request #5175 from thinkyhead/rc_dualx_homing
Unpark when using Z_SAFE_HOMING with Dual X
2016-12-05 10:02:56 -06:00
Scott Lahteine d5bf1684fe Implement as optional feature LCD_DECIMAL_SMALL_XY
And reduce the function size to simplify
2016-12-05 09:26:05 -06:00
Guthenberg bfb8d3b53e Show more decimals in Display, if possible
_123, -123, _-12, __-1  plus  1234, 12.3, -1.2
2016-12-05 09:05:46 -06:00
Scott Lahteine 1e30d1da47 Simplify itostr4sign
- This function becomes obsolete if ftostr4sign is re-written.
2016-12-05 09:05:46 -06:00
Scott Lahteine 82a187acae Merge pull request #5359 from AnHardt/update-de
Add missing translations to lang-de
2016-12-05 07:31:28 -06:00
Scott Lahteine 4bafdf4b66 Support DISTINCT_E_FACTORS in LCD Motion Menu 2016-12-05 07:26:18 -06:00
Scott Lahteine 3391c785c6 Support for distinct E factors 2016-12-05 07:26:18 -06:00
Scott Lahteine 0dfe95eaba Adjust formatting in Planner 2016-12-05 07:26:17 -06:00
Scott Lahteine c9c6e084ce Merge pull request #5383 from thinkyhead/rc_fixup_5378
Fix rows error in DOGM
2016-12-05 07:24:44 -06:00
Scott Lahteine 09587f7c0d Fix rows error in DOGM 2016-12-05 07:14:11 -06:00
Scott Lahteine c47e07d129 Fix Dual X software endstops 2016-12-05 06:51:41 -06:00
Scott Lahteine 4217e9653e Adjust park code in tool_change 2016-12-05 06:51:41 -06:00
Scott Lahteine b20405db31 Only DXC_AUTO_PARK_MODE should auto-move in tool_change 2016-12-05 06:48:43 -06:00
Scott Lahteine ca24af7d5d Dual X with home_z_safely is not parked 2016-12-05 06:43:26 -06:00
Scott Lahteine 0e15b4f434 Dual X set_axis_is_at_home can use x_home_pos for both 2016-12-05 06:43:26 -06:00
Scott Lahteine 54109dfaec Reduce code size for Dual X un-park 2016-12-05 06:43:26 -06:00
Scott Lahteine fe96f74db1 Use const arguments in Dual X helper functions 2016-12-05 06:43:26 -06:00
Scott Lahteine 41278c1e8b Apply LOGICAL_POSITION to home positions on Dual X 2016-12-05 06:43:26 -06:00
Scott Lahteine 053fb55af6 Fix modes ordering in prepare_move_to_destination_dualx 2016-12-05 06:43:26 -06:00
Scott Lahteine ee50928eee Make LOGICAL and RAW position macros ternary-compatible 2016-12-05 06:43:26 -06:00
Scott Lahteine 56dd15c0ad Use SET_INPUT for PS_ON_PIN in kill 2016-12-05 06:43:26 -06:00
Scott Lahteine 200cf3e9f9 Merge pull request #5381 from thinkyhead/rc_fix_fade_factor
Properly apply fade_factor to MBL
2016-12-05 06:06:13 -06:00
Scott Lahteine 84ff78c1e3 Pass the fade factor to mbl.get_z 2016-12-05 03:01:51 -06:00
Scott Lahteine 85c2b96685 Apply const to MBL class methods 2016-12-05 02:50:59 -06:00
Scott Lahteine c06161b773 Use apply_leveling, not MBL directly 2016-12-05 01:53:36 -06:00
Scott Lahteine 818f8b93d3 Merge pull request #5378 from thinkyhead/rc_duration_rj
Better alignment of elapsed print time
2016-12-04 22:42:23 -06:00
Scott Lahteine 9d88a61d52 Better alignment of elapsed print time 2016-12-04 21:30:49 -06:00
Scott Lahteine 21c7b7ef87 Merge pull request #5374 from thinkyhead/rc_lcd_edit_tweaks
Fix garbled negative values on LCD
2016-12-04 16:32:12 -06:00
Scott Lahteine 0b53d78046 Tweak editable items for debugging 2016-12-04 03:51:10 -06:00
Scott Lahteine 0b9b529745 Merge pull request #5368 from thinkyhead/rc_croatian_update
Save PROGMEM with string changes
2016-12-03 19:37:23 -06:00
Scott Lahteine fccc97de6d Save PROGMEM with string changes
Unlike RAM-based strings, PROGMEM strings aren’t consolidated by the
compiler.
2016-12-03 19:21:46 -06:00
AnHardt e7fc353f08 Add missing translations to lang-de 2016-12-03 20:51:49 +01:00
Scott Lahteine ea13c68515 Merge pull request #5365 from thinkyhead/rc_croatian_update
Add placeholders for Bulgarian translation
2016-12-03 12:30:22 -06:00
Scott Lahteine 3f2cb376e0 Add placeholders for Bulgarian translation 2016-12-03 12:14:02 -06:00
Scott Lahteine b22d37ba52 Merge pull request #5364 from thinkyhead/rc_croatian_update
Update Croatian to include missing strings
2016-12-03 11:37:42 -06:00
Robert Marko b796a687ca Update Croatian to include missing strings
Added all missing strings according to English
2016-12-03 11:15:41 -06:00
Scott Lahteine 3bb76b254d Merge pull request #5363 from thinkyhead/rc_fix_hotend_offset_M503
Fix hotend offset report in M503
2016-12-03 10:28:49 -06:00
Scott Lahteine 255ed80164 Fix hotend offset report in M503 2016-12-03 10:17:35 -06:00
Scott Lahteine 7273a18c8d Merge pull request #5358 from thinkyhead/rc_fixup_scripts
Enhance findMissingTranslations, format the output
2016-12-03 09:37:32 -06:00
Scott Lahteine b44f06a296 Extend findMissingTranslations, reformat output 2016-12-03 08:48:51 -06:00
Scott Lahteine 1dfe39f0d7 Merge pull request #5351 from petrzjunior/RCBugFix
[LANGUAGE] Update Czech (Case light)
2016-12-03 03:52:18 -06:00