diff options
Diffstat (limited to 'common/timer.h')
| -rw-r--r-- | common/timer.h | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/common/timer.h b/common/timer.h index f9e8181e6..d24d3eab6 100644 --- a/common/timer.h +++ b/common/timer.h | |||
| @@ -23,10 +23,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
| 23 | #ifndef TIMER_PRESCALER | 23 | #ifndef TIMER_PRESCALER |
| 24 | # if F_CPU > 16000000 | 24 | # if F_CPU > 16000000 |
| 25 | # define TIMER_PRESCALER 256 | 25 | # define TIMER_PRESCALER 256 |
| 26 | # elif F_CPU >= 4000000 | 26 | # elif F_CPU > 2000000 |
| 27 | # define TIMER_PRESCALER 64 | 27 | # define TIMER_PRESCALER 64 |
| 28 | # else | 28 | # elif F_CPU > 250000 |
| 29 | # define TIMER_PRESCALER 8 | 29 | # define TIMER_PRESCALER 8 |
| 30 | # else | ||
| 31 | # define TIMER_PRESCALER 1 | ||
| 30 | # endif | 32 | # endif |
| 31 | #endif | 33 | #endif |
| 32 | #define TIMER_RAW_FREQ (F_CPU/TIMER_PRESCALER) | 34 | #define TIMER_RAW_FREQ (F_CPU/TIMER_PRESCALER) |
| @@ -42,6 +44,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
| 42 | #define TIMER_DIFF_MS(a, b) TIMER_DIFF(a, b, UINT16_MAX) | 44 | #define TIMER_DIFF_MS(a, b) TIMER_DIFF(a, b, UINT16_MAX) |
| 43 | 45 | ||
| 44 | 46 | ||
| 47 | #ifdef __cplusplus | ||
| 48 | extern "C" { | ||
| 49 | #endif | ||
| 45 | extern volatile uint16_t timer_count; | 50 | extern volatile uint16_t timer_count; |
| 46 | 51 | ||
| 47 | 52 | ||
| @@ -49,5 +54,8 @@ void timer_init(void); | |||
| 49 | void timer_clear(void); | 54 | void timer_clear(void); |
| 50 | uint16_t timer_read(void); | 55 | uint16_t timer_read(void); |
| 51 | uint16_t timer_elapsed(uint16_t last); | 56 | uint16_t timer_elapsed(uint16_t last); |
| 57 | #ifdef __cplusplus | ||
| 58 | } | ||
| 59 | #endif | ||
| 52 | 60 | ||
| 53 | #endif | 61 | #endif |
