Roxy-3D
1451b7eacf
UBL's Grid Based Leveling code
...
Pretty much... The code is in place. Still more work to do. But it
has a lot of hooks and variables in other code, so commit and merge
before I pick up a million 'Conflicts'.
2017-04-06 19:55:41 -05:00
Bob-the-Kuhn
a44b3432c1
add BLTouch retry to a second place & add/update delays
...
=================================================
implement requested changes
=================================================
remove delays (they're in another PR) & move return
2017-04-06 16:13:07 -05:00
Bob-the-Kuhn
f9686a108c
add Z servo test and toggle pins to M43
2017-04-06 15:59:38 -05:00
Scott Lahteine
f5c5c1f771
Rename all UBL files with a ubl_ prefix
2017-04-06 05:33:27 -05:00
benlye
f1d50ac1dc
Fixing bilinear Z offset and G29 Z
...
The fix in #6251 for bilinear Z offset was flawed and broke the Z parameter of G29 for bilinear levelling. This is reverted and a different fix is used for the double-addition of the Z-probe offset to the bilinear correction grid.
2017-04-06 07:41:46 +01:00
Scott Lahteine
eb1e6aa29b
Use same config name for all mesh dimensions
2017-04-06 00:42:52 -05:00
Scott Lahteine
c961dd084d
Add hidden option to output Bilinear grids in JSON
2017-04-05 23:43:17 -05:00
Scott Lahteine
df7b4252fd
Reduce M420 code for UBL slightly
2017-04-05 22:30:29 -05:00
Scott Lahteine
8866158d03
Add LEVELING_DATA as a capability
2017-04-05 22:30:28 -05:00
benlye
0a2b4f3486
Fix bilinear levelling z offset
...
Since run_probe was altered to return the probe Z position rather than the nozzle Z position bilinear levelling has been broken because the Z-offset has been applied twice - once in the run_probe function, and then again in the G29 code for bilinear levelling.
2017-04-05 22:01:40 -05:00
Scott Lahteine
44a849bdce
Fix broken M206/M428/G92 offsets
2017-04-05 22:01:37 -05:00
Roxy-3D
0423e93c42
Fix M421 AUTO_BED_LEVELING_BILINEAR and AUTO_BED_LEVELING_UBL
...
M421 was not connected up for AUTO_BED_LEVELING_BILINEAR.
M421 needed to migrate mesh data to new UBL EEPROM layout.
2017-04-02 16:46:37 -05:00
Scott Lahteine
c56eec29f0
Configurable delay for BLTouch servo emulation
2017-04-02 11:14:53 -05:00
Scott Lahteine
deaad78df9
Merge pull request #5678 from Bob-the-Kuhn/G38-optional-double-tap
...
G38 bug fix, made double touch optional & reverted to Z_MIN_PROBE
2017-04-02 10:32:04 -05:00
Scott Lahteine
4c72167af3
Prevent a warning on echo_command
2017-04-02 08:36:58 -05:00
Scott Lahteine
9b5fd9522e
Fix formatting, order for a UBL change
2017-04-02 07:15:40 -05:00
Scott Lahteine
2cbc7b4b73
Relocate serial macros and functions
2017-04-02 01:05:25 -05:00
Scott Lahteine
7a7a80e6c5
status_printf => lcd_status_printf_P
2017-04-02 01:05:25 -05:00
Scott Lahteine
790a3e9a8c
Remove extraneous check of UBL_G26_MESH_EDITING
2017-04-01 23:03:40 -05:00
Scott Lahteine
7310110ec0
Fix logic of UBL::fade_scaling_factor_for_z
2017-04-01 22:52:48 -05:00
Scott Lahteine
1a775cecac
Revert behavior of enqueue_and_echo_commands_P
2017-04-01 21:53:46 -05:00
Bob-the-Kuhn
185337e787
add delays to allow stop & kill messages to get out
2017-04-01 00:23:14 -05:00
Scott Lahteine
73e193da1d
Implement LCD_BED_LEVELING for PROBE_MANUALLY
2017-03-31 11:50:18 -05:00
Scott Lahteine
fcadc7bb1a
Implement the "manual" option for ABL
2017-03-31 11:50:18 -05:00
Scott Lahteine
342ee458ae
Additional UBL fixes, optimizations
2017-03-31 11:12:57 -05:00
Scott Lahteine
a5e085cbea
Have run_probe() return probe Z, not nozzle Z
2017-03-31 09:27:49 -05:00
Scott Lahteine
4487d22d56
Apply FIXFLOAT macro
2017-03-31 09:27:48 -05:00
Scott Lahteine
6cac0f43eb
MBL fiddle
2017-03-31 09:27:48 -05:00
Scott Lahteine
25a6bfa7ed
Add and apply WITHIN macro
2017-03-31 09:27:48 -05:00
Scott Lahteine
93aad54dc1
Clean up code, remove _now command function
2017-03-31 04:17:31 -05:00
Scott Lahteine
4902fd4e95
More data in UBL class, make it a static class
...
- Make all `unified_bed_leveling` data/methods static
- Move some UBL-related variables into the class
- Replace `map_[xy]_index_to_bed_location` with `mesh_index_to_[xy]pos`
2017-03-31 02:20:20 -05:00
Scott Lahteine
edbc024d76
Disable UBL_G26_MESH_EDITING by default
2017-03-31 02:20:20 -05:00
Scott Lahteine
9e4bd6b3b5
Further repairs to UBL, comments, spacing
2017-03-31 02:20:20 -05:00
Bob-the-Kuhn
f3618c3337
Reduce UBL RAM usage by making G26/G29 optional
2017-03-31 02:20:19 -05:00
Scott Lahteine
c9eb1d6ab7
Make MBL a static class, use lookup for index-to-point conversion
2017-03-31 01:28:07 -05:00
Scott Lahteine
de9d2cddc3
Merge pull request #6152 from thinkyhead/rc_cleanup_6150_etc
...
UBL cleanup, optimization
2017-03-30 17:40:29 -05:00
Scott Lahteine
9217e4b8ec
Various UBL cleanups and bug fixes
2017-03-30 17:09:49 -05:00
Scott Lahteine
9924199802
Merge pull request #5908 from thinkyhead/rc_fix_slowdown
...
General minor cleanup
2017-03-29 21:43:33 -05:00
Scott Lahteine
f105cad43c
Marlin: Slight cleanup to Marlin_main.cpp
2017-03-29 06:40:29 -05:00
Scott Lahteine
e3459ec178
Merge pull request #5989 from MagoKimbra/rc_fix_delta_angles
...
Fix delta_angles
2017-03-29 03:35:18 -05:00
Scott Lahteine
0a23a1bb3b
Dynamic feedrate on SCARA, converting target mm/s to deg/s
2017-03-28 17:21:07 -05:00
Scott Lahteine
a9fc30ae2e
Use safe_delay to ensure watchdog reset
2017-03-26 23:49:56 -05:00
Scott Lahteine
34d1c41b5f
Merge pull request #6111 from benlye/benlye-patch-echo_command
...
Fix type conversion issue with echo_command
2017-03-24 17:57:28 -05:00
benlye
6a601aca35
Fix type conversion issue with echo_command
...
With the the current definition of echo_command I cannot compile RCBugFix (Arduino IDE 1.8.1) with the error "invalid conversion from 'const char*' to 'char*'". This change resolves that.
2017-03-24 17:23:02 +00:00
Scott Lahteine
009a6ddd39
Adjust bilinear grid in M851
2017-03-24 06:28:59 -05:00
Scott Lahteine
eab7854a73
Merge pull request #6074 from thinkyhead/rc_immediate_shove
...
Immediate commands take precedence
2017-03-24 05:52:27 -05:00
Scott Lahteine
b5711a99a2
Patches to bring UBL closer to compliance
2017-03-24 01:37:52 -05:00
Scott Lahteine
d076c1b604
Apply some general cleanup to code
2017-03-24 01:37:51 -05:00
Roxy-3D
b8e4a6970b
Get UBL up and running again
...
All the changes to get the code into compliance with Marlin coding
standards made UBL sick. This pretty much gets UBL back up and
running.
2017-03-23 16:08:37 -05:00
Scott Lahteine
8f9face956
Merge pull request #6088 from rafaljot/patch-3
...
Update Marlin_main.cpp
2017-03-23 01:51:51 -05:00
Scott Lahteine
af2ea23e9c
EXTRUDER_RUNOUT_PREVENT uses buffer_line_kinematic
2017-03-22 20:51:12 -05:00
Scott Lahteine
cd882b88db
#if defined => #ifdef / PIN_EXISTS
2017-03-22 20:51:11 -05:00
Scott Lahteine
e244399766
Additional cleanup of UBL code
2017-03-22 20:51:10 -05:00
Bob-the-Kuhn
0934563b97
G38 optional double touch
...
Made the double touch portion a conditional compile based on the
PROBE_DOUBLE_TOUCH flag.
==============================================
Bugfix
The current G38 only stopped a move if it involved the Z axis.
Moved all the G38 code to it's own section and put it where it would
always be executed no matter what axis was moving or if the endstop was
enabled.
Also added a comment to configuration_adv to alert the user the double
tap had to be turned on.
==============================================
Change G38 back to using Z_MIN_PROBE
There's no Z_MIN endstop if Z_DUAL_ENDSTOPS is enabled and you have them
set to the top of the gantry.
G38 started out as using the Z_MIN_PROBE pin. I don't remember why we
changed it to the Z_MIN endstop.
2017-03-22 15:08:49 -05:00
Scott Lahteine
cc3204509c
UBL patch from Bob-the-Kuhn
2017-03-22 07:54:20 -05:00
Scott Lahteine
b904b5ae8d
Audible feedback for settings store/load/reset
2017-03-22 02:15:21 -05:00
rafaljot
6da949bbf0
Update Marlin_main.cpp
...
Sometimes after killing heaters are still on.
2017-03-21 15:06:01 +01:00
Scott Lahteine
48c6284c91
Immediate commands take precedence
2017-03-19 21:50:48 -05:00
Scott Lahteine
ff0dd162b7
PARK_HEAD_ON_PAUSE implementation
2017-03-19 07:27:35 -05:00
Scott Lahteine
4cf51157b3
Use XYZE rather than NUM_AXIS
2017-03-19 01:14:39 -05:00
Scott Lahteine
4c7f14752a
Add disable_e_steppers function
2017-03-19 01:14:39 -05:00
Scott Lahteine
8eb29f91e6
Patch filament change options and beep code
2017-03-19 01:14:39 -05:00
Scott Lahteine
9b2b53f63a
Merge pull request #6042 from thinkyhead/rc_fix_toolchange_z
...
Move Z last in tool-change for SWITCHING_EXTRUDER
2017-03-19 00:34:41 -05:00
Scott Lahteine
4bca27ab89
Fix Kelvin conversion
...
Thanks to @ospalh -- #6056
2017-03-18 13:23:08 -05:00
Scott Lahteine
2c630a1b5c
Merge pull request #6054 from thinkyhead/rc_ubl_renewal
...
UBL for RCBugFix — cleanup, rebase, patch
2017-03-18 12:07:57 -05:00
Scott Lahteine
0492a3a8f1
Merge pull request #6027 from Bob-the-Kuhn/add_kill_info
...
Message for every KILL and STOP
2017-03-18 11:49:35 -05:00
Scott Lahteine
b0a9c82c31
Fix single-char echo and pinMode usage
2017-03-18 11:35:20 -05:00
Scott Lahteine
fb60aa3736
UBL implementation
2017-03-18 11:35:20 -05:00
Scott Lahteine
af644871bf
Merge pull request #6045 from thinkyhead/rc_remove_raw_kinematics
...
Remove delta optimization concepts… for now
2017-03-18 03:26:24 -05:00
Scott Lahteine
1e57b0c269
Remove delta interpolation concept
2017-03-17 06:32:11 -05:00
Scott Lahteine
e46898f8e5
Remove kinematic optimizations
2017-03-17 06:30:22 -05:00
Scott Lahteine
0e410c9dfd
Software endstop options as simple switches
2017-03-17 06:05:17 -05:00
Scott Lahteine
d01b915085
Implement soft_endstops_enabled for clamping
2017-03-17 06:05:17 -05:00
Scott Lahteine
e4649c9044
Add HAS_SOFTWARE_ENDSTOPS macro
2017-03-17 06:05:17 -05:00
Scott Lahteine
3e927ff204
Replace MBL Z hacking
2017-03-17 06:05:17 -05:00
Scott Lahteine
4e53124681
Merge pull request #6039 from Bob-the-Kuhn/M114-sync-with-stepper
...
M114 - wait for move completion before reporting position
2017-03-17 05:22:46 -05:00
Scott Lahteine
672e45652e
Improved solution to tool-change bug
2017-03-16 23:59:10 -05:00
Scott Lahteine
23f1cfb46f
Fix stuck CHDK pin as suggested in #6041
2017-03-16 21:49:39 -05:00
Bob-the-Kuhn
34ff0c3439
M114 - wait for move completion before reporting position
2017-03-16 15:10:45 -05:00
Bob-the-Kuhn
b31604a492
Message for every KILL and STOP
...
No more mystery halts & resets
Moved messages to language.h
Added current command to inactive timeout message
2017-03-15 21:05:11 -05:00
Bob-the-Kuhn
685ed5393a
Bug Fix: Switching extruder tool change leaves Z in wrong position
...
The tool_change function saves the current_position to the destination
array soon after starting. Later in the switching extruder section, the
destination array is modified when moving the Z axis up & down. A later
section of tool_change moves the head back to the “original location”
using the destination array. This later section assumes that the
destination array hasn’t been modified.
The fix is to save the destination Z position and then restore it after
the Z movements have completed.
Going back to using the current_position array for the switching
extruder Z axis moves (and leaving the destination array untouched)
doesn’t fix the problem.
This bug was introduced by the “Make tool_change kinematic compatible”
commit # 847429eff4
which was merged on 10
Oct 2016 as part of PR 4982.
This bug was discovered in Issue 5966.
2017-03-14 02:36:24 -05:00
Scott Lahteine
51353f8fea
Merge pull request #6000 from trivalik/NoWorkspaceWarning
...
prevent warning with define of NO_WORKSPACE_OFFSETS
2017-03-12 00:00:51 -06:00
Trivalik
71ac6f9d42
prevent warning with define of NO_WORKSPACE_OFFSETS
2017-03-09 23:49:57 +01:00
MagoKimbra
37a26dfc09
Fix delta_angles
2017-03-08 09:23:30 +01:00
Scott Lahteine
2defb1d748
Use SET_INPUT_PULLUP where appropriate
2017-03-07 23:43:33 -06:00
Scott Lahteine
58b3e98878
Use arrays for delta tower parameters
2017-03-07 19:00:22 -06:00
Scott Lahteine
47242a40bb
Apply updated changes for delta_tower_angle_trim
2017-03-07 18:15:11 -06:00
Jimmy Envall
00b6b3da79
Added support for delta tower angle corrections.
2017-03-07 16:35:58 -06:00
Scott Lahteine
45f949d833
TMC2130 Library: @teemuatlut replaces @makertum
2017-03-07 04:22:06 -06:00
Scott Lahteine
33f8a8a344
Merge pull request #5973 from thinkyhead/rc_circle_pattern
...
Add circle pattern to nozzle clean
2017-03-06 04:47:01 -06:00
Scott Lahteine
94b3e0a483
Merge pull request #5959 from benlye/benlye-fixm48
...
Remove extra carriage return in M48 V1 output
2017-03-06 04:24:28 -06:00
Marek Pikuła
6836b94eea
Added circle pattern for nozzle cleaning feature
2017-03-06 03:03:00 -06:00
Scott Lahteine
be98016674
Merge pull request #5963 from thinkyhead/rc_no_offsets_optim
...
New option: NO_WORKSPACE_OFFSETS
2017-03-05 21:46:49 -06:00
Scott Lahteine
87b03b16bd
Use a macro for array copies
2017-03-05 04:43:46 -06:00
Scott Lahteine
e141f3a03f
Optimize coordinate transformation
...
Pre-compute the combined position shift and home offset to save a
single float fetch-and-add per conversion. Great for delta/scara and
bed leveling.
2017-03-05 04:43:16 -06:00
Scott Lahteine
5f7e85398b
Implement NO_WORKSPACE_OFFSETS
2017-03-05 04:43:15 -06:00
benlye
dead89062a
Update Marlin_main.cpp
...
Remove unnecessary line break from M48 V1 output.
2017-03-04 17:58:10 +00:00
Scott Lahteine
1ef6ccd919
Merge pull request #5951 from thinkyhead/rc_print_2d_array
...
Reduce code size (40b, or 166b with bilinear subdivision)
2017-03-03 21:27:44 -06:00
Scott Lahteine
98c7b682ca
General cleanup, const usage, var naming
2017-03-03 20:57:49 -06:00
jes
369bfc8a1e
Reduce code size (40b, or 166b with bilinear subdivision)
2017-03-03 20:36:32 -06:00
Scott Lahteine
0d13412105
Fix "Heating..." message
2017-03-03 12:12:51 -06:00
Scott Lahteine
b3e2bd6f29
Reduce E_D_ratio code
2017-03-02 01:00:37 -06:00
Sebastianv650
de6c40ed8f
Add option to fix E/D ratio
...
Work around for slicers producing buggy gcode.
2017-03-02 01:00:37 -06:00
Colin Gilgenbach
48b7e0f8d8
Nozzle Wipe Vertical Zig-Zag
...
- Add configuration support for zigzags in either the X or Y axis, for
wipe pads significantly longer in one dimension.
- Add configuration for default number of zig-zag triangles, vs. a
magic number in `Marlin_main.cpp`.
- Update description of auto nozzle wiping to match functionality
2017-02-25 21:52:43 -06:00
Scott Lahteine
34cba42104
Use PSTR for MSG_HEATING
2017-02-22 11:30:19 -06:00
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.
2017-02-20 15:26:54 -06:00
Scott Lahteine
4da8b1494b
Merge pull request #5854 from thinkyhead/rc_fixup_m600
...
M600 cleanup and bugfix
2017-02-18 04:27:13 -06:00
Scott Lahteine
44b4e116bd
Commentary / style in gcode_M600
2017-02-18 04:08:00 -06:00
Scott Lahteine
284d6de9da
Remove some old code comments
2017-02-17 15:25:56 -06:00
Scott Lahteine
4578c573fe
Pause the print job timer while in M600
2017-02-15 05:29:34 -06:00
Scott Lahteine
bfe6f71794
Simplify filament_change_beep function
2017-02-15 05:29:34 -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
Scott Lahteine
a561bd5e3a
New feature: SDCARD_SORT_ALPHA
2017-02-14 21:37:24 -06:00
Scott Lahteine
467f01435f
Merge pull request #5816 from thinkyhead/rc_abl_virt_reduce
...
Reduce memory use by ABL_BILINEAR_SUBDIVISION slightly
2017-02-14 08:41:44 -06:00
jes
eaa829b58c
Reduce memory use by ABL_BILINEAR_SUBDIVISION slightly
2017-02-12 04:09:48 -06:00
Scott Lahteine
701f4a6d9d
Merge pull request #5729 from Bob-the-Kuhn/guaranteed-BLTouch-detection
...
guaranteed BLTouch detection
2017-02-12 01:13:35 -06:00
Scott Lahteine
1bc5be3bdf
Cast DELTA_PRINTABLE_RADIUS to float in sq()
...
Addressing #5625
2017-02-11 23:28:39 -06:00
Bob-the-Kuhn
0369f97ec1
guaranteed BLTouch detection
...
To guarantee that the 5mS pulse from a BLTouch is recognized you need to
have the endstops.update() routine run twice in that 5mS period.
At 200 steps per mm, my system has problems below a feedrate of 120 mm
per minute.
Two things were done to guarantee the two updates within 5mS:
1) In interrupt mode, a check was added to the temperature ISR. If the
endstop interrupt flag/counter is active then it'll kick off the endstop
update routine every 1mS until the flag/counter is zero. This
flag/counter is decremented by the temperature ISR AND by the stepper
ISR.
2) In poling mode, code was added to the stepper ISR that will make sure
the ISR runs about every 1.5mS. The "extra" ISR runs only check the
endstops. This was done by grabbing the intended ISR delay and, if it's
over 2.0mS, splitting the intended delay into multiple smaller delays.
The first delay can be up to 2.0mS, the next ones 1.5mS (as needed) and
the last no less than 0.5mS.
=========================================
BLTouch error state recovery
If BLTouch already active when deploying the probe then try to reset it
& clear the probe.
If that doesn't fix it then declare an error.
Also added BLTouch init routine to startup section
2017-02-11 12:01:34 -06:00
Florian Heilmann
7bbc31704c
Adjust probe_pt() terminal output to respect probe z-offset
2017-02-09 22:54:22 -06:00
Scott Lahteine
9b5515926a
Merge pull request #5696 from thinkyhead/rc_volumetric_default
...
Allow enabling volumetric filament on config load
2017-01-14 05:48:51 -08:00
Robert Kirk
0d147ead66
Allow enabling volumetric filament on config load
2017-01-14 04:37:49 -08:00
AnHardt
fa26767efe
Replace all remaining 'boolean' with 'bool'
2017-01-13 13:03:52 +01:00
AnHardt
f6858d9974
Fix M110 without leading N
...
Store N in the right variable.
This is too rarely used.
"mea culpa, mea culpa, mea maxima culpa"
2017-01-13 12:33:50 +01:00
Scott Lahteine
c376f6a2cb
code_value_float tweak
2017-01-12 04:38:09 -08:00
Robert Kirk
306c184b1a
Allow M600 when dryrun debugging
2016-12-21 20:30:51 -05:00
Damien
4e2639942b
Support for M335 case light "no case light"
2016-12-19 23:23:08 -08:00
Robert Kirk
f724ef5820
Have bed leveling status output current status, not requested.
2016-12-19 18:47:45 -08:00
Scott Lahteine
f9f75c8016
Fix USE_RAW_KINEMATICS in prepare_kinematic_move_to
2016-12-15 23:15:38 -08:00
Scott Lahteine
78d6d6e076
Merge pull request #5452 from thinkyhead/rc_save_your_mesh
...
Save Bed Leveling to EEPROM
2016-12-15 20:23:01 -08:00
Scott Lahteine
d4f5418802
Merge pull request #5517 from esenapaj/Fix-for-PR-#5255
...
Fix for the PR #5255 (Case light menu (3rd attempt))
2016-12-15 20:01:22 -08:00
Scott Lahteine
6d7b1cdf6c
Add M421 for ABL Bilinear
2016-12-15 19:39:11 -08:00
Scott Lahteine
32e65dc429
Extend M420
to print state and, with V
, the matrix / mesh
2016-12-15 19:39:11 -08:00
Scott Lahteine
d04258753b
Don't throw away the bed level matrix on G28
2016-12-15 19:21:18 -08:00
Scott Lahteine
8f0f225d10
Save ABL Planar Matrix to EEPROM
2016-12-15 19:21:15 -08:00
Scott Lahteine
e42fd7813a
Save ABL Bilinear Grid to EEPROM
2016-12-15 19:20:48 -08:00
Scott Lahteine
55722c09da
Use "UNPROBED" for un-probed bed_level_grid points
2016-12-15 19:08:44 -08:00
Scott Lahteine
2643404ac8
Throw an error in M420 if can't enable
2016-12-15 19:08:43 -08:00
Scott Lahteine
b1539394fd
Use planner.unapply_leveling to undo tilt in G29
2016-12-15 19:08:43 -08:00
Scott Lahteine
04636f78eb
Re-enable MBL/ABL after M48
2016-12-15 19:08:43 -08:00
Scott Lahteine
9b41638672
Minor tweak to G29 grid points
2016-12-15 19:08:42 -08:00
Scott Lahteine
daa2cad21f
Fix comment on G29 to include 'Z'
2016-12-15 19:08:42 -08:00
Scott Lahteine
8244fefcc2
Tweak call to reset_bed_level
in G29
2016-12-15 19:08:42 -08:00
Scott Lahteine
0995a5d734
Fixup reset_bed_level
2016-12-15 19:08:42 -08:00
Scott Lahteine
1b2fb2bdc7
ABL_GRID_POINTS_* => ABL_GRID_MAX_POINTS_*
2016-12-15 19:08:41 -08:00
esenapaj
88157ba529
Fix for the PR #5255 (Case light menu (3rd attempt))
2016-12-16 00:57:32 +09:00
esenapaj
069c6b38dd
Remove unnecessary tabs and spaces
2016-12-16 00:21:32 +09:00
Scott Lahteine
8d9fcd8e6f
Merge pull request #5495 from AnHardt/autoadjusting_display-updates
...
Adaptive screen updates for all kinds of displays
2016-12-14 04:16:26 -08:00
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
Scott Lahteine
94ffb58da7
Prevent retract un-hop at wrong height
2016-12-13 08:24:12 -08:00