Scott Lahteine
3f4c02e42f
Merge pull request #5259 from Sebastianv650/Allow_UART-ISR_inside_Stepper
...
Allow UART ISRs inside the stepper ISR
2016-12-01 23:17:42 -06:00
Scott Lahteine
092e949b58
Merge pull request #5169 from thinkyhead/rc_core_inverted
...
Support for COREYX, COREZX, COREZY
2016-11-28 02:26:41 -06:00
Scott Lahteine
e9e4208ff1
Merge pull request #5274 from Sebastianv650/improve_smooth_moves
...
Improvement for ENSURE_SMOOTH_MOVES
2016-11-28 02:22:08 -06:00
Scott Lahteine
14b74181f5
Merge pull request #5179 from thinkyhead/rc_TMC2130
...
TMC2130 "Silent StepStick" support
2016-11-21 14:10:52 -06:00
Scott Lahteine
9b96a4a53b
Merge pull request #5246 from thinkyhead/rc_some_cleanup
...
Minor stepper cleanup
2016-11-21 13:55:25 -06:00
Sebastianv650
8190483eeb
Improvement for ENSURE_SMOOTH_MOVES
...
Instead of waiting for a single long block, compare the complete block
buffer runtime for the long_move() check.
2016-11-21 17:58:24 +01:00
Moritz
d67c1d825f
Add TMC2130 support
2016-11-21 00:17:45 -06:00
Sebastianv650
50059690e0
Allow UART ISRs inside the stepper ISR
...
If the stepper ISR takes too long, chars are lost which leads to serial
communication errors like "Line number not +1" or "Wrong checksum". In
worst case, the printer can even do crazy moves.
With this changes, UART interrupts are handled inside the stepper ISR.
This way, no chars should be lost.
2016-11-20 13:09:12 +01:00
AnHardt
88b38eafd8
Endstop interrupt refinement
...
At the start of a move, check if the endstops are already triggered.
The 'change' interrupts will not see a change if already triggered.
2016-11-19 13:30:49 +01:00
Scott Lahteine
eb120e518c
Followup to new endstop interrupts feature
...
- Fix typos, verbiage
- Fix naming of `setup_endstop_interrupts`
- Some formatting, indentation, spacing
2016-11-18 21:53:45 -06:00
Scott Lahteine
98600e1433
Minor stepper cleanup
2016-11-18 01:15:57 -06:00
AnHardt
f3eee02596
Introduce endstop interrupts
...
If ENDSTOP_INTERRUPTS_FEATURE is enabled this tries to set up interrupt routines
for all used endstop pins. If this worked without errors, `endstops.update()` is called
only if one of the endstops changed its state.
The new interrupt routines do not really check the endstops and react upon them. All what they
do, is to set a flag if it makes sense to call the endstop test we are used to.
This can be used on:
* ARM (DUE) based boards - all pins can raise interrupts,
* RAMPS - all 6 endstop pins plus some other on EXT-2 can raise interrupts,
* RAMPS based boards - as long the designers did not change the pins for the endstops or at least left enough,
* all boards, if there are enough pins that can raise interrupts, and you are willing/able to swap with pins dedicated to other purpose.
2016-11-15 12:07:41 +01:00
Sebastianv650
cdc18f8c22
Remove useless line from stepper ISR
...
The flag is already set inside planner.get_current_block(). Doing it
twice isn't making it better..
2016-11-11 19:35:03 +01:00
Scott Lahteine
1864b282c5
Implement reversed CORE options
2016-11-05 23:47:51 -05:00
Scott Lahteine
00662b8635
Minor babystep cleanup patches
2016-11-03 23:31:45 -05:00
Scott Lahteine
b23d255491
Move macros above Stepper::babystep
2016-11-03 23:31:45 -05:00
Scott Lahteine
cc57d46158
Fix set_position for CoreYZ
2016-11-03 23:31:45 -05:00
Sebastianv650
f9bea7968f
BugFix for incorrect E-speed calculation
...
The extrusion speed was wrong due to a not high enough precision of
esteps to XY steps, therefore now the target float values are used to
calculate the ratio between XY movement and extrusion speed.
The e_speed_multiplier8 was replaced by an absolute multiplier called
abs_adv_steps_multiplier8, therefore one multiplication and bitshift can
be saved inside the stepper ISR. Due to this, also extruder_advance_k is
better suited inside the planner and not the stepper files any more.
2016-11-01 08:08:47 +01:00
Scott Lahteine
43df9ace4e
Merge pull request #5110 from thinkyhead/rc_z2_min_allowed
...
Support Z2 min in M119 report
2016-10-31 07:59:45 -05:00
Scott Lahteine
75dbb71dd7
Replace block.busy with a block.flag bit
2016-10-30 16:16:28 -05:00
Scott Lahteine
8cebd2a7db
Arrange Z2 min before Z2 max
2016-10-29 01:54:19 -05:00
Scott Lahteine
083d41a2c2
Remove redundant estep rate code from LIN_ADVANCE
...
As noted by https://github.com/MarlinFirmware/Marlin/pull/4971#issuecomment-252503295
2016-10-22 02:19:14 -05:00
Scott Lahteine
2cb5df8a56
Merge pull request #4984 from esenapaj/Small-fix-for-PR-#4980
...
Small fix for the PR #4980 (LIN_ADVANCE bug fix and optimization)
2016-10-10 13:30:47 -05:00
Scott Lahteine
f8199b2cc1
Merge pull request #4982 from thinkyhead/rc_abl_bugfix
...
Fix planner with kinematics, delta ABL
2016-10-10 13:24:22 -05:00
esenapaj
cfb5c24bc9
Small fix for the PR #4980 (LIN_ADVANCE bug fix and optimization)
...
・Fix a comment about timer
2016-10-10 07:48:42 +09:00
Scott Lahteine
c5cac486f5
Use a, b, c instead of lx, ly, lz
2016-10-09 14:34:24 -05:00
Scott Lahteine
3752d9aca8
Fix timer comments
2016-10-09 12:11:00 -05:00
Sebastianv650
a448cedbc5
LIN_ADVANCE bug fix and optimization
...
.) long to int: Extruder stalls at 10kHz / 20kHz step limits with long.
.) Take the delta_adv_steps calculation out of the step_loops loop. Wasted calculation performance if done inside.
.) >> 2 replaced by 3: Is divide by 8. Reason: Timer 0 runs at 16/8=2MHz, Timer 1 at 16/64=0.25MHz. ==> 2/0.25=8.
2016-10-09 11:55:02 -05:00
esenapaj
f8df88f271
Move routine of direction signal of ADVANCE and LIN_ADVANCE from Stepper::isr() to Stepper::advance_isr()
2016-10-07 02:01:29 +09:00
Scott Lahteine
ecf7cdde65
Augment planner/stepper getters/setters
2016-09-29 01:27:37 -05:00
Scott Lahteine
5fff8d148b
Clean up digital pots and microsteps
2016-09-25 11:16:22 -05:00
Scott Lahteine
cb48292338
Use fastio for literal pins
2016-09-25 06:33:38 -05:00
Scott Lahteine
eabff30e75
Improve MINIMUM_STEPPER_PULSE
2016-09-24 02:23:43 -05:00
Scott Lahteine
cc639d7d9c
Less indentation in Stepper::isr
2016-09-23 03:03:14 -05:00
Scott Lahteine
7dec8071b2
Always synchronize in Stepper::set_position
2016-09-23 03:03:14 -05:00
esenapaj
954563d603
Adjust spacing
2016-09-20 19:35:44 +09:00
esenapaj
7e9576dc5b
Extend the e_steps[] from int to long for allowing more than 32,767 E steps
...
Probably needed for long straight lines when using high microstepping
2016-09-20 19:35:44 +09:00
esenapaj
b04ed8f9c3
Fix inverted stepper signal of ADVANCED and LIN_ADVANCED
2016-09-20 19:35:44 +09:00
esenapaj
8692748ecd
Fix broken direction signal of ADVANCED and LIN_ADVANCED
...
Remove a setting proccess of E direction in advance_isr()
2016-09-20 19:35:44 +09:00
Scott Lahteine
edfaf1c582
Stepper::report_positions patch
2016-09-18 12:58:42 -05:00
Scott Lahteine
6f71bd7372
Merge pull request #4754 from thinkyhead/rc_mixing_regression
...
Unify counter_m and counter_M
2016-09-02 12:27:43 -05:00
Scott Lahteine
9bf78ef465
Fix capitalization of counter_m
2016-09-02 11:31:45 -05:00
Scott Lahteine
42b5616327
Try bool for direction instead of long
2016-09-02 11:28:48 -05:00
Scott Lahteine
d07a913f21
Tweak to stepper advance e_steps update
2016-09-02 02:06:17 -05:00
Scott Lahteine
426f662586
Apply MINIMUM_STEPPER_PULSE in stepper advance_isr
2016-08-30 14:31:48 -05:00
Scott Lahteine
8c7ee4599e
Optimize stepper advance_isr
2016-08-30 14:31:48 -05:00
Scott Lahteine
9725bcd099
Minor "optimizations" in stepper ISR
2016-08-30 14:21:43 -05:00
Scott Lahteine
4ec3d1ea58
Add some commentary to stepper ISR
2016-08-30 14:21:15 -05:00
Scott Lahteine
d9bcc7bb45
Set a bool when a stepper block is done
2016-08-30 14:20:48 -05:00
Scott Lahteine
08f717e5f7
Use bit-size typedefs for some stepper vars
2016-08-30 14:19:49 -05:00