Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Marlin 2.0.x - fix LPC1768 stepper hang and limit maximum stepper ISR spacing #7799

Merged
merged 1 commit into from
Sep 30, 2017
Merged

Marlin 2.0.x - fix LPC1768 stepper hang and limit maximum stepper ISR spacing #7799

merged 1 commit into from
Sep 30, 2017

Conversation

Bob-the-Kuhn
Copy link
Contributor

The timer mod eliminates a 3 second pause in printing. This was caused by setting the MR0 match register to a value less than the timer counter. When that happened the counter had to overflow before the match could be made. The time to do the overflow is about 3 seconds. The fix is to check AFTER MR0 is written that it's greater than the counter. If not then the counter is written with a value that will result in an almost immediate interrupt.

The SPLIT function is being enabled in the stepper ISR code. It runs no matter what options are selected.

The reasons the SPLIT function is being enabled are:
a) Guarantee detection of the 5mS BLTouch pulse by making sure at least two ISRs are run within the 5mS pulse.
b) By running this all the time, 16 bit timers can be used to generate the stepper interrupts. This is a help to the STM32 folks.

@Bob-the-Kuhn Bob-the-Kuhn merged commit f0d34ca into MarlinFirmware:bugfix-2.0.x Sep 30, 2017
@Bob-the-Kuhn Bob-the-Kuhn deleted the Marlin-2.0.x-fix-LPC1768-stepper-hang-and-limit-maximum-stepper-ISR-spacing branch November 10, 2017 16:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants