Commit Graph

59 Commits

Author SHA1 Message Date
0c428a66d9 Proper AVR preemptive interrupt handling (#10496)
Also simplify logic on all ARM-based interrupts. Now, it is REQUIRED to properly configure interrupt priority. USART should have highest priority, followed by Stepper, and then all others.
2018-04-23 22:05:07 -05:00
36b97bde9f clear_block_buffer, kill_current_block in quick_stop 2018-04-13 22:04:53 -05:00
57a899a412 [2.0.x] 6th-order jerk-controlled motion planning in real-time for AVR (#10373) 2018-04-11 18:13:42 -05:00
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
7d8a46519f Output ABC for delta stepper counts 2018-03-31 20:13:32 -05:00
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
48d7036874 Consolidate smart stepper driver initialization 2018-03-19 22:05:16 -05:00
eaefc1e410 Add CorePQ support for BABYSTEPPING (#10155) 2018-03-19 02:51:40 -05:00
51bf3c9503 Fix E direction for MK2_MULTIPLEXER with LIN_ADVANCE 2018-03-14 07:56:18 -05:00
e7570f3195 Improve TMC config organization, naming 2018-03-14 00:18:41 -05:00
751785fc97 Followup to recent patches
- `M666` is static, not inline
- Disambiguate some stepper macros
2018-03-10 21:41:17 -06:00
16a8edc5f0 Add more delay before pulse off in Linear Advance ISR
A capital idea from https://github.com/MarlinFirmware/Marlin/pull/9914#issuecomment-371614153
2018-03-09 05:26:29 -06:00
98d48fc731 Followup to HAL_timer_restrain
Followup to #9985
2018-03-07 22:18:37 -06:00
a1a88ebabc HAL function to ensure min stepper interrupt interval (#9985) 2018-03-07 17:53:25 -06:00
e5ec793f7e Wrap stepper indirection macros 2018-03-07 05:42:45 -06:00
5b85464791 Fix for LA (#9964)
Missed in the original LA 1.5 PR: eISR has to use a local copy of
current_block->use_advance_lead because it might still run wenn the last
block has been set to NULL.
2018-03-07 05:33:13 -06:00
ca0def766e LIN_ADVANCE single stepper optimization 2018-03-06 19:26:54 -06:00
8291ae34f2 Support duplication mode in LIN_ADVANCE 2018-03-06 19:12:23 -06:00
0dd1c4458d Put more code between pulse start and stop (#9959) 2018-03-05 23:06:57 -06:00
07ae23fe14 No pulse delay on last e_steps in advance isr 2018-03-04 15:06:31 -06:00
ed758de80d tweak comment in stepper.cpp 2018-03-04 04:03:23 -06:00
6d7f4f84e2 Add board MKS_BASE_HEROIC (#9926)
Followup to #9008

- Don't define micro-stepping pins for boards that lack them.
- Allow setting of 128 microsteps with `M350`.
2018-03-03 23:14:52 -06:00
cb4cb86d80 Useless line removed (#9814)
nextAdvanceISR is set in the next if structure in every possible
situation, so it's useless to set it once more before.
2018-02-25 21:20:37 -06:00
813f9f3082 [bugfix_2.0.x] - LIN_ADVANCE V1.5 stepper.cpp (#9797)
Removal of obsolete (i) from port of LIN_ADVANCE from V1.1.x to V2..0.x.
2018-02-24 16:37:23 -06:00
2bd252b501 [2.0.x] LIN_ADVANCE v1.5 (#9712) 2018-02-23 00:53:29 -06:00
3d1692d1fd Fix X2 enable with X_DUAL_STEPPER_DRIVERS
From #9286
2018-02-18 22:50:47 -06:00
03d790451f [2.0.x] HAL timer set/get count => set/get compare (#9581)
To reduce confusion over the current timer count vs. the compare (aka "top") value. Caution: this re-uses the function name, changing its meaning.
2018-02-10 20:42:00 -06:00
d168ee9bed Drop leveling include from steppers.cpp 2018-02-08 01:32:19 -06:00
887664aa61 Restore broken Dual X Carriage 2018-01-20 15:08:50 -06:00
50366b00d5 Tweak cleaning buffer / SD finished command 2017-12-24 20:35:05 -06:00
8df5955da4 Revert "Reset timer count before first block step"
This reverts commit 5cf6a062e3.
2017-12-17 02:37:35 -06:00
0cd1e91056 [2.0.x] TMC driver update (#8769) 2017-12-15 15:03:14 -06:00
cf2193c07f Comment, fix filament width sensor 2017-12-13 02:32:34 -06:00
73e32925e4 References are better for array args 2017-12-11 00:27:06 -06:00
5cf6a062e3 Reset timer count before first block step 2017-12-10 18:38:53 -06:00
82ef6b5242 Add an option to specify "pulse" timer 2017-12-10 18:38:53 -06:00
4fa65a5c25 TCNT0 => HAL_timer_get_current_count
Fix #8710
2017-12-08 22:35:28 -06:00
85c6ffbe0d Discard all "continued" blocks on interrupted move 2017-12-08 02:32:58 -06:00
9898b96992 No lcd_map_control flag in quick_stop 2017-12-06 22:23:34 -06:00
840289e7cc Use block cleaning instead of split flag 2017-12-06 22:22:58 -06:00
2fde60da12 Changes for parity with 1.1.x 2017-12-06 21:50:54 -06:00
6040d4080e Cleanup stepper ISR. Allow cleaning for endstops. 2017-12-06 21:23:37 -06:00
000b3b3117 Comment/cleanup of motion code 2017-12-02 01:09:55 -06:00
1d4571b88d Dependency adjustments 2017-11-19 15:43:38 -06:00
2246316605 Fix name collision. timer_t => hal_timer_t 2017-11-05 19:31:07 -06:00
723f2a77f6 Implement support for Dual X and Y endstops 2017-10-29 18:56:04 -05:00
9e699811d2 Make LPC1768 pinmapping not specific to Re-ARM (#8063)
* Merging early because of build failures.  See #8105

* Make LPC1768 pinmapping not specific to Re-ARM

* Add HAL_PIN_TYPE and LPC1768 pin features

* M43 Updates

* Move pin map into pinsDebug_LPC1768.h

* Incorporate comments and M226

* Fix persistent store compilation issues

* Update pin features

* Update MKS SBASE pins

* Use native LPC1768 pin numbers in M42, M43, and M226
2017-10-26 13:37:26 -05:00
6cb26c98c8 Fix Baby Stepping on 32-Bit platforms (#8001)
Also, Max7219 debug code was used for this effort.   It has been
improved and hardened.
2017-10-16 16:29:37 -05:00
03f4891fb9 Remove legacy ADVANCE feature 2017-10-09 04:25:18 -05:00
46b2773e13 General fixes for LPC1768 (#7834)
* fixed some include paths

* LPC1768: Fix Serial API

Add missing serial methods used if TX_BUFFER_SIZE is set
Change return value of HalSerial:read to match Arduino API

* LPC1768: add filters to ADC

This is to try and compensate for hardware issue and oversensitivity to noise

* LPC1768: remove the polling section of delayMicroseconds

* LPC1768: lock usb mass storage device while device accesses it.

Currently only applicable to persistent store,
The device always has priority and will unmount the sd card from the host, Windows then tries to automount again so it can look like the explorer window freezes. Linux Mint, by default, just closes the Nemo window.

* Add timeout to make sure if Serial never connects that Marlin still boots

* Remove unneeded ifdef CPU_32_BIT

In general the need for ifdef CPU_32_BIT blocks means that something is missing from the HAL API or a Platform, in this case HAL_TICKS_PER_US was missing from the AVR Platform

* LPC1768: relocate RE-ARM debug_extra_script.py
2017-10-04 15:40:54 -05:00