3B2: Fix for diagnostics timer hang
Under certain circumstances, the timer resolution in the Version 3 could become coarse enough that very short timer intervals would lead to an infinite loop of bus errors when running timer firmware diagnostics.
This commit is contained in:
parent
7be9f2f3e8
commit
ae7ca950f2
1 changed files with 7 additions and 3 deletions
|
@ -92,10 +92,14 @@
|
|||
#define QUICK_DELAY 100
|
||||
#endif
|
||||
|
||||
#define DELAY_US(C,N) ((TIMER_MODE(C) == 3) ? \
|
||||
#define MIN_US 100
|
||||
|
||||
#define CALC_US(C,N) ((TIMER_MODE(C) == 3) ? \
|
||||
(TIME_BASE[(N)] * (C)->divider) / 2 : \
|
||||
TIME_BASE[(N)] * (C)->divider)
|
||||
|
||||
#define DELAY_US(C,N) (MAX(MIN_US, CALC_US((C),(N))))
|
||||
|
||||
#if defined(REV3)
|
||||
/* Microseconds per step (Version 3 system board):
|
||||
*
|
||||
|
|
Loading…
Add table
Reference in a new issue