Commit Graph

432 Commits

Author SHA1 Message Date
Scott Lahteine
d4ab383a1b Lightly optimize arc length calculation 2018-01-23 18:59:35 -06:00
Bob-the-Kuhn
ba9aa47260
Revert "[1.1.x] Fix missing deceleration steps" 2018-01-16 11:31:27 -06:00
Sebastianv650
4fa0937a55 Fix missing deceleration steps
Marlin never reached final_speed after deceleration.
2018-01-14 17:09:47 +01:00
Sebastianv650
e2871f0dcd [1.1.x] Ensure smooth printer movements (#9149)
- Never execute a block without an up-to-date trapezoid
- Start blocks with MINIMUM_PLANNER_SPEED, except when coming from a full stop
2018-01-11 18:50:18 -06:00
Scott Lahteine
417bdb0488 Fix bug in NO_VOLUMETRICS 2017-12-26 19:56:22 -06:00
Scott Lahteine
477e36afab Revert "[bugfix-1.1.x] COREXY stutter moves (planner.cpp changes) (#8697)"
This reverts commit 86b65e52c4.
2017-12-20 15:59:56 -06:00
Scott Lahteine
1068798465 Restore position_float to LIN_ADVANCE 2017-12-20 06:58:42 -06:00
Scott Lahteine
4f375cd17d Match sign for filwidth across vars 2017-12-20 00:17:32 -06:00
Scott Lahteine
435981056e Option to disable all volumetric extrusion 2017-12-19 20:33:41 -06:00
Scott Lahteine
1aea024589 Remove redundant serial sanity check 2017-12-19 19:07:20 -06:00
Scott Lahteine
8519451161 Comment, improve filament width sensor 2017-12-13 02:35:23 -06:00
Scott Lahteine
bdf69db0a8 Extend Skew Correction to UBL 2017-12-11 01:31:14 -06:00
Scott Lahteine
6e8da93c42 UBL_DELTA => UBL_SEGMENTED 2017-12-11 00:20:29 -06:00
Scott Lahteine
da2eaa6b09 Use array refs where possible 2017-12-11 00:20:29 -06:00
Scott Lahteine
8244284116 _buffer_line => buffer_segment 2017-12-11 00:20:28 -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
Bob-the-Kuhn
6f38814541 speed improvement 2017-12-08 18:02:57 -06:00
Scott Lahteine
75eb93140f Discard all CONTINUED blocks on interrupted move 2017-12-08 02:13:51 -06:00
Bob-the-Kuhn
86b65e52c4 [bugfix-1.1.x] COREXY stutter moves (planner.cpp changes) (#8697) 2017-12-07 00:08:48 -06:00
Scott Lahteine
3b30cc90f1 Clean on trigger instead of split_first_move flag 2017-12-06 21:43:26 -06:00
Scott Lahteine
1063b3b2b8 Changes for parity with 2.0.x 2017-12-06 21:19:17 -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
9edefa645d Remove skew warning that could crash the planner 2017-12-05 20:25:53 -06:00
Scott Lahteine
2d6c84a817 Cleanup constexpr in planner.cpp 2017-12-05 18:54:25 -06:00
Scott Lahteine
59eb77fd28 One fewer move required… 2017-12-04 20:35:33 -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
71a4c04dd5
Merge pull request #8636 from thinkyhead/bf1_ubl_uses_LSL
[1.1.x] Use custom segment length for UBL Cartesian
2017-12-03 01:57:32 -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
db8631e49a Use custom segment length for UBL Cartesian 2017-12-03 00:02:28 -06:00
Scott Lahteine
152c5d2616 Followup to #8613 2017-12-02 20:47:33 -06:00
Scott Lahteine
26c5bbc5a7 Rename inverse_mm_s => inverse_secs 2017-12-02 20:13:31 -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
8df42a84a4 Fix fade bug in (un)apply_leveling 2017-11-30 17:28:40 -06:00
Scott Lahteine
9951f28892 Apply const to some planner vars 2017-11-29 20:57:38 -06:00
Scott Lahteine
a0fc5f7b52 Minor planner.cpp style changes 2017-11-29 15:00:33 -06:00
Scott Lahteine
ea87cd975d Tweak to check_axes_activity 2017-11-28 18:39:29 -06:00
Scott Lahteine
dfcef11bca Fix #8579
Fan speed code fell into a curly brace
2017-11-28 16:09:37 -06:00
Scott Lahteine
737cee4b8c Syntax tweaks 2017-11-25 18:15:16 -06:00
Roxy-3D
8282d732c1 Make G26 work with all mesh leveling.
Example Configuration.h files are not updated yet.   You need to cross
your settings over to the default Configuration.h file in the \Marlin
directory.   (UBL_G26_MESH_VALIDATION enablement has moved to a new
location in the file.)
2017-11-23 21:41:27 -06:00
Scott Lahteine
82f41d6e46 fix fan kickstart 2017-11-23 21:40:31 -06:00
Scott Lahteine
04419af419 Reorganize check_axes_activity 2017-11-23 15:29:35 -06:00
Scott Lahteine
bf6a1816b4 Display volumetric ratio in terms of E mm 2017-11-18 07:03:18 -06:00
Scott Lahteine
4e19c59ab3 Miscellaneous cleanup 2017-11-16 01:18:05 -06:00
Scott Lahteine
3293823642 Add pre-calculated planner.e_factor 2017-11-10 20:09:59 -06:00
Scott Lahteine
24b302c001 Fix cold/lengthy extrusion handling 2017-11-10 20:09:59 -06:00
Thomas Moore
4714fb8fcb Normalize load/unload length in M600 2017-11-10 19:59:26 -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
88857e8028 Move fade_scaling_factor_for_z to Planner 2017-10-14 02:10:46 -05:00
Scott Lahteine
3d5b10735f Remove obsolete UBL z_offset 2017-10-13 08:23:01 -05:00
Scott Lahteine
cbfcce09fa Remove legacy ADVANCE feature 2017-10-09 04:27:45 -05:00
Scott Lahteine
b0173ccdb9 Drop extra initializers for vars initialized by EEPROM code 2017-07-20 22:57:49 -05:00
Scott Lahteine
72de280c1e BARICUDA valve pressure consistently uint8_t 2017-07-20 02:21:40 -05:00
Scott Lahteine
a4a587a897 Fix spelling of Průša 2017-06-27 04:46:46 -05:00
Scott Lahteine
a9f8e518bf Fix FILAMENT_WIDTH_SENSOR infinite loop issue
Addressing #6992 and #5851
2017-06-23 14:53:01 -05:00
Scott Lahteine
6c45d0fd81 Apply maths macros and type changes ahead of HAL 2017-06-19 22:57:42 -05:00
Scott Lahteine
4857a3ba48 Formatting and spelling 2017-06-18 23:01:12 -05:00
Scott Lahteine
57a51fd5db Tweak some else clauses 2017-06-10 16:40:10 -05:00
Scott Lahteine
e94f79ccea Patch some serial macros 2017-06-09 17:17:23 -05:00
oldmcg
9f295581f0 Ubl delta fixes and improvements (#6941)
* Change all direct changes of ubl.state.active to
  set_bed_leveling_enabled() which handles apply/unapply
  leveling to maintain current_position consistency.

Fix invalidation of UBL mesh to invalid unreachable
  mesh points as well (delta corners).

Fix UBL_DELTA unapply_leveling logic and when
it gets applied, including fade_height changes.

Add optional M114 D for detailed position information,
disabled from compilation by default (M114_DETAIL).

* UBL_DELTA raw and inline kinematics

* UBL planner fall through fix

* consistent variable names

* Cleanup orphaned code and whitespace changes.
Use _O2.

* compile warnings cleanup

* Remove redundant #ifdef condition
2017-06-03 17:11:43 -05:00
Scott Lahteine
a3645ec921 Reference op with variable name 2017-05-28 11:33:22 -05:00
Scott Lahteine
f4028fe088 New GCode Parser - Implementation 2017-05-23 14:15:10 -05:00
Scott Lahteine
a7fb55ea6d Use GRID_MAX_POINTS. Some formatting 2017-05-12 06:57:19 -05:00
Scott Lahteine
0696dda470 Cleanups to UBL_DELTA 2017-05-12 02:34:53 -05:00
oldmcg
91841d75c9 UBL_DELTA (#6695)
UBL on Delta's....     Should be close!    Should not affect any Cartesian printer.
2017-05-11 22:33:47 -05:00
Scott Lahteine
081bf1f879 Patch #else / #endif comments 2017-05-09 12:37:23 -05:00
Scott Lahteine
a1e04942a2 Cleanup to software PWM variables 2017-05-08 13:51:45 -05:00
Scott Lahteine
2658cc707a Treat temperature as integer, when possible 2017-05-03 17:27:25 -05:00
Scott Lahteine
ed81e9b3d3 Adjust leveling conditionals 2017-05-01 16:46:48 -05:00
Scott Lahteine
8002672938 Fixes for DUAL_NOZZLE_DUPLICATION_MODE 2017-05-01 12:20:25 -05:00
Scott Lahteine
d480b6f75a Enable E1 stepper for DUAL_NOZZLE_DUPLICATION_MODE 2017-04-30 16:01:01 -05:00
Scott Lahteine
68773f4486 Simplify stepper macros by renaming enable/disable macros 2017-04-11 11:10:26 -05:00
james94jeans2
5b9476fe78 Added z_fade_height to EEPROM-Settings
Firmware was forgetting the z_fade_height in Planner, set by M420 Z<f>,
after each reset or loading settings from EEPROM. Added the float
z_fade_height to EEPROM-Storage, now remembers the value.
2017-04-09 21:16:58 -05:00
Scott Lahteine
832064e4f2 Implementation changes to support 5 extruders 2017-04-07 10:46:37 -05:00
Scott Lahteine
79d42d87c1 Syntax cleanup 2017-04-01 21:53:46 -05:00
Scott Lahteine
25a6bfa7ed Add and apply WITHIN macro 2017-03-31 09:27:48 -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
Scott Lahteine
cd882b88db #if defined => #ifdef / PIN_EXISTS 2017-03-22 20:51:11 -05:00
Scott Lahteine
4c7f14752a Add disable_e_steppers function 2017-03-19 01:14:39 -05:00
Scott Lahteine
c15c65f18a Merge pull request #5971 from thinkyhead/rc_fix_e_factors
Patch DISTINCT_E_FACTORS bug
2017-03-06 01:11:17 -06:00
Scott Lahteine
bfb0007573 Patch DISTINCT_E_FACTORS bug 2017-03-05 23:19:31 -06:00
Scott Lahteine
87b03b16bd Use a macro for array copies 2017-03-05 04:43:46 -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
Scott Lahteine
57f92a4632 Apply DISTINCT_E_FACTORS to sync_from_steppers
Followup to #5840
2017-02-18 04:36:41 -06:00
MagoKimbra
3685224c1a Fix steps_to_mm for active extruders 2017-02-15 21:45:39 +01:00
Scott Lahteine
97b6fb6381 Reduce / optimize LIN_ADVANCE code 2017-02-14 07:52:03 -06:00
Sebastianv650
1b59766fcb Cleanup position_float
Hopefully fixes Marlin #5481
2017-02-12 13:09:06 +01:00
esenapaj
ab6b005867 Suppress warning 2016-12-21 09:13:03 +09:00
Scott Lahteine
87921f390a Clarify what are "logical" positions in the planner 2016-12-15 23:15:38 -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
Scott Lahteine
7b625e0048 Patch fade_factor compiler warning 2016-12-13 02:29:01 -08: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
Scott Lahteine
fc2fc828b3 Prettify LIN_ADVANCE code with the positive condition 2016-12-09 00:29:07 -08:00
Scott Lahteine
1929502e15 Add const to some variables 2016-12-09 00:29:06 -08:00