Commit graph

40 commits

Author SHA1 Message Date
Scott Lahteine cea3ea772c Fix submenu hotend status display 2017-03-03 22:12:22 -06:00
Scott Lahteine 6e0b3fcc08 Optimize M600 heater status LCD items 2017-02-18 04:08:00 -06:00
Scott Lahteine d9dcef8a87 Spacing, coding standards 2017-02-15 05:29:34 -06:00
Roxy-3D 8bf0b496b9 Improve M600 with timeout, wait for heatup. 2017-02-15 05:29:34 -06:00
AnHardt 61f15ef7e7 Fix 5194
I have been a bit too radical in cleaning up this section.
2016-12-21 00:45:29 +01:00
Scott Lahteine 06af3b62ba Move HOLLOW_FRAME options to config_adv 2016-12-14 04:31:27 -08:00
Scott Lahteine 0772c8e55f Merge pull request #5487 from thinkyhead/rc_easier_move_axis
Rearrange Move Menu, Fix up Delta Calibration
2016-12-13 07:07:05 -08:00
Scott Lahteine b4dbf4d18a Non-reentrant "Moving..." screen to safely wait in LCD 2016-12-13 02:42:27 -08:00
AnHardt cd2b74e88d Replace ftostr62sign with ftostr62rj
`ftostr62sign()` is used only when displaing/editing
Steps/mm. A sign is not needed - the value is always positive.
Because the number part is long there is no't much place for the values name.
With this PR the is one more char for the name possible.
2016-12-12 20:25:20 +01:00
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 09587f7c0d Fix rows error in DOGM 2016-12-05 07:14:11 -06:00
Scott Lahteine 9d88a61d52 Better alignment of elapsed print time 2016-12-04 21:30:49 -06:00
Scott Lahteine 59fafb93b2 Merge pull request #5304 from AnHardt/pixel-shifting
MENU_HOLLOW_FRAME for the menu screens
2016-11-28 01:41:47 -06:00
AnHardt 7a9fa78822 MENU_HOLLOW_FRAME for the menu screens
MENU_HOLLOW_FRAME for the menu screens and
some pixel shifting to optimize the look with tall fonts. (cn)
2016-11-27 22:59:05 +01:00
AnHardt 24ca1a6289 Not more then 4 stripes for u8g-devices
To optimise speed.
Costs well invested 128Byte of RAM.
2016-11-26 19:08:33 +01:00
Scott Lahteine 71842b6a17 Apply const to LCD arguments and locals 2016-11-26 06:53:52 -06:00
Scott Lahteine b1abd7edef Optimize graphical display with selective rendering 2016-11-26 06:53:52 -06:00
AnHardt b91fab2d7d Fix USE_BIG_EDIT_FONT 2016-11-26 13:50:25 +01:00
esenapaj 7b836a4000 Introduce a +1234.56 format for over 999 steps/mm 2016-11-21 17:45:07 +09:00
Rigid3D 2327764980 Add Turkish Language 2016-11-05 21:06:16 -05:00
Josef Pavlik d35dc407a8 fixed warning: ISO C99 requires rest arguments to be used 2016-10-22 11:12:29 -05:00
Scott Lahteine cb48292338 Use fastio for literal pins 2016-09-25 06:33:38 -05:00
Scott Lahteine 07703d2bd6 Use _PIN suffix on some pins 2016-09-25 06:33:38 -05:00
Scott Lahteine f20b2b21eb Optimize LCD string/char printing 2016-09-02 06:41:24 -05:00
Kai 445d8215e4 Option to show SD percent on Graphical LCD 2016-09-02 02:17:36 -05:00
Scott Lahteine 76c3f326ff Clean up DOGM code, comments 2016-08-20 18:33:12 -05:00
Scott Lahteine 71319adbb8 Wrap ULTIPANEL-dependent code 2016-08-20 18:33:11 -05:00
Scott Lahteine 305913545e Move number-to-string function to utility.* 2016-08-20 18:33:11 -05:00
Scott Lahteine 01f1f779a5 Followup to #4574, specify L for long 2016-08-09 23:43:37 -07:00
Scott Lahteine 880cdb553b Include days in Graphical LCD print timer 2016-08-08 23:21:36 -07:00
Scott Lahteine 03fdb26cd2 Wrangle encoder bits, LCD_CLICKED 2016-07-28 14:44:37 -07:00
Scott Lahteine 277899c175 Move include _Bootscreen.h where needed 2016-07-26 12:37:13 -07:00
Scott Lahteine c6226bb0aa Unify config in a single include without nested includes 2016-07-25 23:04:19 -07:00
brupje a60a668f6b Support for REPRAPWORLD_GRAPHICAL_LCD 2016-07-25 12:10:25 -07:00
Scott Lahteine b7b7c90477 Merge pull request #4389 from thinkyhead/rc_optimize_planner
Optimize planner with precalculation, etc.
2016-07-24 17:48:23 -07:00
Scott Lahteine d8f2876753 Replace some float division with multiplication 2016-07-24 13:27:50 -07:00
João Brázio 62d96d72f3 Renamed timestamp_t to duration_t 2016-07-24 03:16:02 +01:00
João Brázio 86d9311495 Rework LCD implementation to use timestamp_t 2016-07-23 03:05:36 +01:00
Scott Lahteine 62ecd107ba Patch ultralcd_impl header conditional names 2016-07-20 09:36:55 -07:00
Scott Lahteine 8a2efd1155 Rename ultralcd implementation files for consistency 2016-07-19 15:26:14 -07:00
Renamed from Marlin/dogm_lcd_implementation.h (Browse further)