647 Commits (685ed5393a387a64562315eeda4334bce80d27a2)

Author SHA1 Message Date
Scott Lahteine 2defb1d748 Use SET_INPUT_PULLUP where appropriate 8 years ago
Scott Lahteine 3830778852 Apply NO_WORKSPACE_OFFSETS to lcd menu 8 years ago
Scott Lahteine 7e3aab889d Fix preheat menu formatting 8 years ago
Scott Lahteine 6c5312559c Menu item to preheat only the hotend 8 years ago
Scott Lahteine 9d0142e8ae Move Change Filament above Cooldown 8 years ago
Scott Lahteine 0c55095c5e Move Cooldown above Preheat 8 years ago
Scott Lahteine 34253497d4 Babysteps code tweak
As suggested by https://github.com/MarlinFirmware/Marlin/pull/5887#issuecomment-283832163
8 years ago
Scott Lahteine fb4aead2b1 Clean up and finish #5887 8 years ago
Roxy-3D 11e892bd84 Merge pull request #5887 from Roxy-3D/RCBugFix
Double Click of Encoder Wheel Jumps to Z-BabyStepping
8 years ago
Scott Lahteine 34cba42104 Use PSTR for MSG_HEATING 8 years ago
Roxy-3D 584d147a02 fixup the indentation 8 years ago
Roxy-3D e443e0e2a9 Fix scoping issues for double click to Z-Babystepping 8 years ago
Roxy-3D 17d1cd7c09 Double Click of Encoder Wheel Jumps to Z-BabyStepping 8 years ago
dot-bob cd68380ce6 Add status_printf to print messages to the lcd status line.
Also add a hotend indicator to the heating message displayed on the lcd status line.
8 years ago
Scott Lahteine 6e0b3fcc08 Optimize M600 heater status LCD items 8 years ago
Scott Lahteine d9dcef8a87 Spacing, coding standards 8 years ago
Roxy-3D 8bf0b496b9 Improve M600 with timeout, wait for heatup. 8 years ago
Tannoo c40fe2113c Fix for broken MBL
LCD call was waiting forever, causing the system to hang.
8 years ago
Scott Lahteine 4d4745c0eb Parenthesize some menu defines for safety 8 years ago
Scott Lahteine a561bd5e3a New feature: SDCARD_SORT_ALPHA 8 years ago
Scott Lahteine e44294bb4d Make HOTEND_LOOP more consistent, let compiler optimize it 8 years ago
Scott Lahteine 1bc5be3bdf Cast DELTA_PRINTABLE_RADIUS to float in sq()
Addressing #5625
8 years ago
Scott Lahteine fb3c30e24c Fix lcd_wait_for_homing causing menu to block
As a showcase function for how to do waiting in the lcd menu, this function should be preserved.
8 years ago
Scott Lahteine f8ae0fd29f Merge pull request #5647 from manianac/RCBugFix-PrepareMenuFix
Fix empty Prepare menu
8 years ago
Robert Kirk aab5118c6a Remove error causing break command
Use index macro instead of e
8 years ago
Robert Kirk 306c184b1a Allow M600 when dryrun debugging 8 years ago
AnHardt 61f15ef7e7 Fix 5194
I have been a bit too radical in cleaning up this section.
8 years ago
Scott Lahteine 1a26ce1cdc Merge pull request #5550 from FHeilmann/patch-2
Allow negative retract values in the LCD
8 years ago
Scott Lahteine 1cba425308 Allow negative recover-swap length from LCD 8 years ago
Scott Lahteine 644f45cbd8 Merge pull request #5563 from akaJes/m600
FILAMENT_CHANGE_FEATURE allowed in idle mode
8 years ago
Scott Lahteine 0d2fc13516 Place "Level Bed" closer to "Auto Home" 8 years ago
Scott Lahteine b031d28ebf Encoder events should not skip stripes 8 years ago
Scott Lahteine 22881f38b9 Fix updating of "bool" menu items 8 years ago
Scott Lahteine eb68715b94 No "Cooldown" menu if heaters are off 8 years ago
Jesus 4ed976b5ff m600 fixes 8 years ago
Scott Lahteine 18ba31e9b5 Add Debug Menu with LCD_PROGRESS_BAR_TEST as an example 8 years ago
Florian Heilmann a7334fd2a0 Allow negative retract values in the LCD
This can already be done via G-Code, so adding the capability to the LCD should be straight forward.
8 years ago
AnHardt 292eb365c6 Optimize handling of block_buffer_runtime()
millis_t is long - divisions take for ever.

Return a kind of millisecond instead of microsecond -
divided by 1024 instead of 1000 for speed. (2.4% error)

That does not matter because block_buffer_runtime is
already a too short estimation.
Shrink the return-type.
8 years ago
Scott Lahteine 67ca6c7bfe Codestyle tweaks to ultralcd.cpp 8 years ago
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.
8 years ago
Scott Lahteine 0772c8e55f Merge pull request #5487 from thinkyhead/rc_easier_move_axis
Rearrange Move Menu, Fix up Delta Calibration
8 years ago
Scott Lahteine 93b2833347 Move Menu: Select axis first, resolution after 8 years ago
Scott Lahteine 641e0936d4 Patch up Delta Calibration Menu 8 years ago
Scott Lahteine b4dbf4d18a Non-reentrant "Moving..." screen to safely wait in LCD 8 years ago
Scott Lahteine 2b5d424394 Use handle_reprapworld_keypad for keypad handling 8 years ago
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.
8 years ago
esenapaj a298a58684 Remove redundant "E" 8 years ago
Scott Lahteine 3fb43c11fc Fix compile error with LCD_I2C_VIKI 8 years ago
Scott Lahteine 01e5d46ea7 Patch some planner compile errors 8 years ago
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
8 years ago