Commit graph

92 commits

Author SHA1 Message Date
etagle a11eb50a3e Refactor and optimize Stepper/Planner
Better encapsulation and considerably reduce stepper jitter
2018-05-20 06:23:58 -05:00
Jiri Jaburek 43ddb29f9e Add FAN_MAX_PWM for M106-controlled fans 2018-05-15 21:18:46 -05:00
Scott Lahteine 08e36e264e Apply _AXIS macro 2018-05-13 06:51:01 -05:00
Scott Lahteine 99ecdf59af Smarter MIN, MAX, ABS macros
Use macros that explicitly avoid double-evaluation and can be used for any datatype, replacing `min`, `max`, `abs`, `fabs`, `labs`, and `FABS`.

Co-Authored-By: ejtagle <ejtagle@hotmail.com>
2018-05-13 04:52:56 -05:00
Scott Lahteine 8f8c6a9bc4
Move get_axis_position_mm to Planner (#10718) 2018-05-12 09:59:11 -05:00
Scott Lahteine 306f0f2135
Move Stepper::synchronize to Planner (#10713)
Co-Authored-By: ejtagle <ejtagle@hotmail.com>
2018-05-12 01:38:02 -05:00
Scott Lahteine 439e0cdd0f
Patch up reverse_pass_kernel (and other planner code) (#10674) 2018-05-10 01:30:55 -05:00
Scott Lahteine 57c2f8d2f6 Trailing whitespace cleanup 2018-05-10 00:17:10 -05:00
Scott Lahteine 19f189b4e5
Add UBL support for G2/G3 and G5 (#10648) 2018-05-08 11:10:45 -05:00
Scott Lahteine 4d4bf7897d Junction Deviation jerk limiting option 2018-05-08 10:08:54 -05:00
Scott Lahteine 0436e16fb2 Apply shorthand Assembler macros 2018-05-08 10:08:54 -05:00
Scott Lahteine d1b619be52 Standardize some hexadecimals 2018-05-08 09:19:18 -05:00
Scott Lahteine 1f11b0f612 Fully init planner sync block 2018-05-06 08:16:54 -05:00
Scott Lahteine af1950a63e Improve sync of stepper positions 2018-05-06 01:24:14 -05:00
Scott Lahteine f423e54f77 Strip trailing spaces 2018-04-23 18:00:43 -05:00
Scott Lahteine 5a064d0e94 Fix bug in planner.set_position_mm 2018-04-16 04:19:58 -05:00
Scott Lahteine 8f57e098de Use end-of-line comments in planner.cpp 2018-04-15 19:02:30 -05:00
Scott Lahteine 36b97bde9f clear_block_buffer, kill_current_block in quick_stop 2018-04-13 22:04:53 -05:00
Eduardo José Tagle 57a899a412 [2.0.x] 6th-order jerk-controlled motion planning in real-time for AVR (#10373) 2018-04-11 18:13:42 -05:00
etagle a29adde5c0 Implement BEZIER_JERK_CONTROL
Enable 6th-order jerk-controlled motion planning in real-time.
Only for 32bit MCUs. (AVR simply does not have enough processing power for this!)
2018-04-07 21:03:28 -05:00
Scott Lahteine e8e60263c8 Scale feedrate (mm/s to deg/s) for SCARA 2018-04-06 19:47:48 -05:00
Scott Lahteine fe91514395
MBL should add z_offset regardless of fade (#10308) 2018-04-04 18:57:33 -05:00
Scott Lahteine ac7e97f4fe Change order of inactive stepper disable/enable
This ensures that steppers that share an enable pin will only be disabled for a miniscule time.
2018-03-30 15:07:38 -05:00
Scott Lahteine 1cb810ff1c
[2.0.x] Automatically reset stepper timeout (#10179)
* Automatically reset stepper timeout in manage_inactivity

Any code that adds moves to the planner can skip resetting the stepper timeout. We can let `idle` / `manage_inactivity` reset the timer whenever it detects any moves in the planner.

* blocks_queued => has_blocks_queued
2018-03-21 19:30:06 -05:00
Scott Lahteine 3c2bfa5e53
Update powersupply_on in power_on/off (#10015)
Fix #10004
2018-03-08 18:56:47 -06:00
Scott Lahteine 930720bbbb
Fix broken reverse planner (#9943)
From #9914 by @Sebastianv650
2018-03-04 21:19:06 -06:00
Scott Lahteine d1dc863962 autotemp_factor is not value_celsius_diff
See https://github.com/MarlinFirmware/Marlin/issues/9852#issuecomment-369861822
2018-03-03 23:27:54 -06:00
Scott Lahteine 689bc99402 Correction to acceleration 2018-02-24 11:09:36 -06:00
Scott Lahteine 2bd252b501
[2.0.x] LIN_ADVANCE v1.5 (#9712) 2018-02-23 00:53:29 -06:00
Scott Lahteine 73cd34b121 Finish AUTO_POWER_CONTROL implementation
Followup to #9503
2018-02-19 16:12:04 -06:00
Thomas Moore 786746404b [2.0.x] Apply feedrate to nozzle movement for kinematic machines (#8778) 2018-02-04 00:26:05 -06:00
Scott Lahteine 9644fe1839 Lightly optimize arc length calculation 2018-01-23 19:13:59 -06:00
Scott Lahteine 4f5e087ff4 Planner anti-stutter by Sebastian Popp 2018-01-14 21:07:10 -06:00
Scott Lahteine 5effe1590c Fix NO_VOLUMETRICS bug 2017-12-26 20:04:44 -06:00
Thomas Moore 2917d1217d Revert "Followup to #8698"
This reverts commit 4e891e9fb7.
2017-12-23 17:00:33 -06:00
Scott Lahteine 97d509d4d2 Revert "Improved Core-compatible jerk code"
Reverting commit 3cd7659
2017-12-21 16:54:30 -06:00
Scott Lahteine 5bc2acc072 Restore position_float to fix LIN_ADVANCE 2017-12-21 16:45:46 -06:00
Scott Lahteine 913d9e9a59 Matching sign across filwidth vars 2017-12-20 00:17:19 -06:00
Scott Lahteine 933f76fda3 Option to disable all volumetric extrusion 2017-12-19 19:51:25 -06:00
Scott Lahteine de5ca96654 More parity with 1.1.x, plus whitespace 2017-12-19 18:36:16 -06:00
Scott Lahteine cf2193c07f Comment, fix filament width sensor 2017-12-13 02:32:34 -06:00
Scott Lahteine 3255712343 Skew Correction for UBL
Also remove unused grid slicing function when using UBL segmented.
2017-12-11 03:08:15 -06:00
Scott Lahteine 3db5303bfe _buffer_line => buffer_segment 2017-12-11 00:27:06 -06:00
Scott Lahteine a71d2f3f40 UBL_DELTA => UBL_SEGMENTED 2017-12-11 00:27:06 -06:00
Scott Lahteine 73e32925e4 References are better for array args 2017-12-11 00:27:06 -06:00
AnHardt b3daf6b5db [2.0.x] better reverse pass (#8722)
* repair reverse_pass()

And make it readeble.
This was broken a long time ago.
Not competely unfunctional but far from optimal.

* Minor speedup when calling calculate_trapezoid_for_block

2 float / to 1 foat / and 2 float *

* Various style changes
2017-12-08 21:38:45 -06:00
Bob-the-Kuhn 65d0f32f82 divide only when required 2017-12-08 18:14:27 -06:00
Scott Lahteine 85c6ffbe0d Discard all "continued" blocks on interrupted move 2017-12-08 02:32:58 -06:00
Scott Lahteine 4e891e9fb7 Followup to #8698 2017-12-08 01:01:12 -06:00
Scott Lahteine 3cd7659924 Improved Core-compatible jerk code 2017-12-06 23:57:57 -06:00