diff --git a/TESTS/mbed_drivers/timer/main.cpp b/TESTS/mbed_drivers/timer/main.cpp index 76f2842256..d94ef6b686 100644 --- a/TESTS/mbed_drivers/timer/main.cpp +++ b/TESTS/mbed_drivers/timer/main.cpp @@ -45,9 +45,15 @@ extern uint32_t SystemCoreClock; * 1000 ms delay: tolerance = 20500 us * * */ -#define DELTA_US(delay_ms) (500 + (delay_ms) * US_PER_MSEC / 50) -#define DELTA_MS(delay_ms) (1 + ((delay_ms) * US_PER_MSEC / 50 / US_PER_MSEC)) -#define DELTA_S(delay_ms) (0.000500f + (((float)(delay_ms)) / MSEC_PER_SEC / 50)) +#ifdef NO_SYSTICK +#define TOLERANCE 5 +#else +#define TOLERANCE 2 +#endif + +#define DELTA_US(delay_ms) (500 + (delay_ms) * US_PER_MSEC * TOLERANCE / 100) +#define DELTA_MS(delay_ms) (1 + (delay_ms) * TOLERANCE / 100) +#define DELTA_S(delay_ms) (0.000500f + ((float)(delay_ms)) * ((float)(TOLERANCE) / 100.f) / MSEC_PER_SEC) #define TICKER_FREQ_1MHZ 1000000 #define TICKER_BITS 32