Hack to address stuttering caused by ISR not finishing in time
(PR #138) When the ISR does not finish in time, the timer will wrap in the computation of the next interrupt time. This hack replaces the correct (past) time with a time not far in the future.
This commit is contained in:
parent
a356699882
commit
9f462f0cf5
1 changed files with 2 additions and 0 deletions
|
@ -749,6 +749,8 @@ ISR(TIMER1_COMPA_vect) {
|
||||||
step_loops = step_loops_nominal;
|
step_loops = step_loops_nominal;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
OCR1A = (OCR1A < (TCNT1 +16)) ? (TCNT1 + 16) : OCR1A;
|
||||||
|
|
||||||
// If current block is finished, reset pointer
|
// If current block is finished, reset pointer
|
||||||
if (step_events_completed >= current_block->step_event_count) {
|
if (step_events_completed >= current_block->step_event_count) {
|
||||||
current_block = NULL;
|
current_block = NULL;
|
||||||
|
|
Reference in a new issue