Commit Graph

157 Commits

Author SHA1 Message Date
Scott Lahteine
77519e9f14 Tweaks to planner.h 2017-12-08 21:11:17 -06:00
AnHardt
22baf3356a Apply @AnHardt reverse_pass changes
Plus: 3 times 2 float / to 1 float / and 2 float *
      and, reciprocal is an optimized operation
2017-12-08 21:11:17 -06:00
Scott Lahteine
75eb93140f Discard all CONTINUED blocks on interrupted move 2017-12-08 02:13:51 -06:00
Scott Lahteine
8be7a0b131 FORCE_INLINE before static 2017-12-08 01:31:59 -06:00
Scott Lahteine
3b30cc90f1 Clean on trigger instead of split_first_move flag 2017-12-06 21:43:26 -06:00
AnHardt
b19846aca1 Don't split first_move while homing or probing
While homing or probing it might be bad if the stop/trobe triggers during the first part and the second is still in the buffer.
2017-12-06 14:56:37 +01:00
Scott Lahteine
23291a0466 Fix SKEW_CORRECTION without leveling 2017-12-05 18:47:19 -06:00
Scott Lahteine
000818f5e4 Split first move to planner for better chaining 2017-12-04 15:43:28 -06:00
Scott Lahteine
298a357a43 Revert "Merge pull request #8608 from thinkyhead/bf1_planner_split_first"
This reverts commit 0eef0ff0de, reversing
changes made to d8582b7506.
2017-12-03 17:49:24 -06:00
Scott Lahteine
1d0ee83e18 Split first move to planner for better chaining
Address #8573, #8595
2017-12-03 01:44:33 -06:00
Scott Lahteine
26c5bbc5a7 Rename inverse_mm_s => inverse_secs 2017-12-02 20:13:31 -06:00
Scott Lahteine
8b7c274db5 Comment/cleanup motion code 2017-12-02 01:42:37 -06:00
Scott Lahteine
172ce67344 New feature: BED_SKEW_CORRECTION 2017-12-01 19:43:32 -06:00
Scott Lahteine
d3f8111fe7 Use some int types in Planner 2017-11-30 18:03:51 -06:00
Scott Lahteine
d1a807fdf8 Drop obsolete Planner::position_float 2017-11-30 17:28:40 -06:00
Scott Lahteine
8f462b5717 Add Planner::set_filament_size for 2.0.x parity 2017-11-30 16:52:19 -06:00
Scott Lahteine
bf6a1816b4 Display volumetric ratio in terms of E mm 2017-11-18 07:03:18 -06:00
Scott Lahteine
74997a5251 Fix comment in planner.h 2017-11-18 02:30:41 -06:00
Scott Lahteine
3293823642 Add pre-calculated planner.e_factor 2017-11-10 20:09:59 -06:00
Scott Lahteine
ad879a1f90 Clarify some motion code 2017-11-08 23:18:55 -06:00
Scott Lahteine
640526f0c8 Operate in Native Machine Space 2017-11-03 22:40:30 -05:00
Scott Lahteine
46ed54cd8e Include time scale in some planner vars 2017-10-29 18:48:14 -05:00
Scott Lahteine
6569b9ba56 Fix FWRETRACT logic, apply common sense 2017-10-26 22:36:41 -05:00
Scott Lahteine
88857e8028 Move fade_scaling_factor_for_z to Planner 2017-10-14 02:10:46 -05:00
Scott Lahteine
da93a272a0 Move leveling_is_active to a macro 2017-10-13 16:11:27 -05:00
Scott Lahteine
cbfcce09fa Remove legacy ADVANCE feature 2017-10-09 04:27:45 -05:00
Scott Lahteine
72de280c1e BARICUDA valve pressure consistently uint8_t 2017-07-20 02:21:40 -05:00
Scott Lahteine
6c45d0fd81 Apply maths macros and type changes ahead of HAL 2017-06-19 22:57:42 -05:00
Scott Lahteine
6ce2b1ff4a G33 evolutionary changes 2017-05-20 19:23:39 -05:00
Scott Lahteine
ed81e9b3d3 Adjust leveling conditionals 2017-05-01 16:46:48 -05:00
Scott Lahteine
a64e5659ce Clean up G26 external references, private vars 2017-05-01 15:17:52 -05:00
Scott Lahteine
ccda63c473 Drop the accessor form for LCD value editing 2017-04-22 16:19:30 -05:00
Scott Lahteine
ff0018e287 Format hex values as uppercase 2017-04-21 21:42:41 -05:00
Thomas Moore
f8e77d6545 Add Linear Advance values to EEPROM and enable configuration of K via LCD 2017-04-17 16:39:36 -05:00
Scott Lahteine
0e71e7b2fb Cleanup to planner.cpp 2017-03-29 06:48:07 -05:00
Scott Lahteine
b5711a99a2 Patches to bring UBL closer to compliance 2017-03-24 01:37:52 -05:00
MagoKimbra
a4a9bd8bc9 Fix BUG set_position_mm
Set postion must have axis and not E_AXIS + active_extruder.
2017-03-11 14:13:39 +01: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
Scott Lahteine
82fde7df2e Merge pull request #5512 from AnHardt/speed-compare-bbr
Optimize handling of block_buffer_runtime()
2016-12-19 18:21:06 -08:00
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.
2016-12-19 11:47:28 +01:00
Scott Lahteine
87921f390a Clarify what are "logical" positions in the planner 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
0d0aa6c20d Patch type for max_acceleration_mm_per_s2 save/restore 2016-12-15 20:05:42 -08:00
esenapaj
069c6b38dd Remove unnecessary tabs and spaces 2016-12-16 00:21:32 +09: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
AnHardt
13eebd11cf volatile_block_buffer_runtime_us
`block_buffer_runtime_us` is mangled in the planner and in the stepper-ISR.
So it needs to be volatile and interrupt protected.
2016-12-09 14:49:02 +01:00
AnHardt
87fe20b5f5 Simplify long_move()
We are not really interested in, if there are blocks.
All information we need is in `block_buffer_runtime_us`.
2016-12-09 00:13:35 +01:00
Scott Lahteine
f089279263 Merge pull request #5431 from esenapaj/Suppress-warnings,-etc
Suppress warnings, etc
2016-12-08 13:10:12 -08:00
AnHardt
706b240251 Patch long_move()
While the last move in the planner_buffer is running
it's duration is already subtracted from block_buffer_runtime_us.
2016-12-08 21:03:26 +01:00