691 Commits (a2cb0a3d5492c4b2224f50cde995b46c2f1c8141)

Author SHA1 Message Date
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
Scott Lahteine 4bafdf4b66 Support DISTINCT_E_FACTORS in LCD Motion Menu 8 years ago
Scott Lahteine 0b53d78046 Tweak editable items for debugging 8 years ago
Scott Lahteine b0361ebe4f Merge pull request #5343 from thinkyhead/rc_invert_case_light
Allow case light pin to be active low
8 years ago
Scott Lahteine f60b4f8659 Allow case light pin to be active low 8 years ago
Scott Lahteine d07229f185 Fix redraw in SD Card menus 8 years ago
Scott Lahteine a69b1ee691 Merge pull request #5313 from thinkyhead/rc_fix_menu_actions
Keep drawing menu unless screen changes
8 years ago
Scott Lahteine 32ee3acf86 Merge pull request #5315 from thinkyhead/rc_fixup_material_menus
Refine material heatup menu items
8 years ago
Scott Lahteine c70a06daf1 lcd_save_previous_menu => lcd_save_previous_screen 8 years ago
Scott Lahteine 13ea43cc8d Only exit menu handler when the screen changes 8 years ago
Scott Lahteine f45b6a7762 Merge pull request #5314 from thinkyhead/case_light_menu_fix
Fix and optimize case-light code
8 years ago
Scott Lahteine 0951d385ce Don't set heater temperature above its maximum 8 years ago
Scott Lahteine c9193e856d Limit preheat parameters based on all nozzles 8 years ago
Scott Lahteine bb4529f7d2 PLA / ABS => Material 1 / 2 8 years ago
Scott Lahteine 61437d988a Fix and optimize case-light code 8 years ago
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)
8 years ago
Scott Lahteine 71842b6a17 Apply const to LCD arguments and locals 8 years ago
Scott Lahteine 2a9b3376a9 Merge pull request #5289 from thinkyhead/rc_which_menu_actions
Drop "static" keyword in ultralcd.cpp function declarations
8 years ago
Scott Lahteine b97dafe4b8 Drop "static" keyword in ultralcd.cpp function declarations 8 years ago
Scott Lahteine d891324830 Merge pull request #5258 from mosh1/mbl_speed_fix
Fix z feedrate value when doing mesh bed leveling. probe feedrate use…
8 years ago
Scott Lahteine 7f8133a51f Merge pull request #5255 from Kaibob2/CaseLightMenu
Case light menu (3rd attempt)
8 years ago
Kai 0c341f0c50 Added Menu entry for Case light 8 years ago
esenapaj 7b836a4000 Introduce a +1234.56 format for over 999 steps/mm 8 years ago
Moshen Chan 29b174bfb9 Fix z feedrate value when doing mesh bed leveling. probe feedrate uses XY_PROBE_SPEED 8 years ago
Scott Lahteine 2cc32d85a3 Adjust ENSURE_SMOOTH_MOVES coding style 8 years ago
Sebastianv650 de89dc9f04 Ensure smooth print moves even with LCD enabled
lcd_update can take so much time that the block buffer gets drained if
there are only short segments. This leads to jerky printer movements for
example in circles and a bad print quality.

This change implements a simple check: Only if the block currently
executed is long enough, run lcd_update.
This also means the printer will not show actual values on the LCD nor
will it respond to buttons pressed. A option that keeps the menu
accessible is also available.
Aditionaly, slow down if a block would be so fast that adding a new
block to the buffer would take more time. In this case, the buffer would
drain until it's empty in worst case.
8 years ago
Kai 8e8b4398f3 Printer Stats / Completed prints line doesn't fit in display (when german) 8 years ago
Scott Lahteine 7780052fb3 Give instant feedback for filament change 8 years ago
Scott Lahteine 00662b8635 Minor babystep cleanup patches 8 years ago
Scott Lahteine cad792e702 Reduce code for invariant lcd_detected 8 years ago
esenapaj c8c1a28f6f Follow-up the PR #5089 (Centralize click-handling in the LCD loop)
bool feedback is no longer used
8 years ago
Scott Lahteine 1a2310c494 Make LCD preheat vars an array to reduce code size 8 years ago
Scott Lahteine 50ee749082 Centralize click-handling in the LCD loop 8 years ago
Scott Lahteine 9cbedab91b Use DPM where possible 8 years ago
Scott Lahteine 4b056d8184 Fix warning in ultralcd.cpp 8 years ago
Scott Lahteine 8b967a9ff0 Merge pull request #5058 from thinkyhead/rc_reverse_arrow_buttons
Apply encoder reverse options to keypad arrows
8 years ago
Scott Lahteine e151f952a3 Apply encoder reverse options to keypad arrows 8 years ago
Josef Pavlik 0bd66807b2 fixed warning: extra ; 8 years ago
Josef Pavlik d35dc407a8 fixed warning: ISO C99 requires rest arguments to be used 8 years ago
Josef Pavlik c2b51af3ba fixed warning: ISO C does not permit named variadic macros 8 years ago
Scott Lahteine 0d3fc7dd89 Merge pull request #5059 from gcormier/fixbaby
Set defer delay back to false when exiting babystepping.
8 years ago
Greg Cormier 0009725637 Set defer delay back to false when exiting babystepping. 8 years ago
Scott Lahteine 0908329d96 Merge pull request #5057 from thinkyhead/rc_mbl_lcd_logical
Fix manual leveling coordinates
8 years ago
Scott Lahteine 1165e83263 MBL coordinates are logical 8 years ago
Scott Lahteine b19bba275f No LCD timeout during babystepping
As requested in #5031
8 years ago
Scott Lahteine d963020532 Sort out some header dependencies 8 years ago
Scott Lahteine f8199b2cc1 Merge pull request #4982 from thinkyhead/rc_abl_bugfix
Fix planner with kinematics, delta ABL
8 years ago
Josef Pavlik f8c2473a71 Improve planner kinematics, fix delta ABL 8 years ago
Scott Lahteine ff6b23cb0f Fix an issue with shifted LCD lines 8 years ago
Scott Lahteine a1b50f1102 Cleanup of code style 8 years ago
jaysonkelly 13c9dcc600 Add LCD menu for DAC 8 years ago
Scott Lahteine c592ccb6f5 Patch max_jerk[Z] menu item 8 years ago
Scott Lahteine d19cfcfc1d max_jerk array, DEFAULT_XYJERK => DEFAULT_[XY]JERK 8 years ago
Scott Lahteine 850259bb25 Watch bed temp also for Control menu item 8 years ago
Scott Lahteine ea0dbee3c9 Enable ABL by type, support bilinear on cartesian 8 years ago
Scott Lahteine 145d9005d1 Fix BLTOUCH string and SERVO_DELAY 8 years ago
Scott Lahteine 13523cbf29 Fix and extend BLTouch support 8 years ago