diff options
| author | Joel Challis <git@zvecr.com> | 2025-01-19 17:07:11 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-01-19 17:07:11 +0000 |
| commit | cedd49c59b5a822b6879485cdd412c7d803ae14a (patch) | |
| tree | 6ccccbaf041fdfb9c101ee719a214a573b877f81 /platforms | |
| parent | a62f9a2ffd71376bc72e6c52eeab0798cdb8b52f (diff) | |
Consolidate timer_elapsed implementations (#24830)
Diffstat (limited to 'platforms')
| -rw-r--r-- | platforms/avr/timer.c | 28 | ||||
| -rw-r--r-- | platforms/chibios/timer.c | 8 | ||||
| -rw-r--r-- | platforms/test/timer.c | 8 | ||||
| -rw-r--r-- | platforms/timer.c | 8 |
4 files changed, 8 insertions, 44 deletions
diff --git a/platforms/avr/timer.c b/platforms/avr/timer.c index 26ba0e29fa..b2230ad84b 100644 --- a/platforms/avr/timer.c +++ b/platforms/avr/timer.c | |||
| @@ -125,34 +125,6 @@ inline uint32_t timer_read32(void) { | |||
| 125 | return t; | 125 | return t; |
| 126 | } | 126 | } |
| 127 | 127 | ||
| 128 | /** \brief timer elapsed | ||
| 129 | * | ||
| 130 | * FIXME: needs doc | ||
| 131 | */ | ||
| 132 | inline uint16_t timer_elapsed(uint16_t last) { | ||
| 133 | uint32_t t; | ||
| 134 | |||
| 135 | ATOMIC_BLOCK(ATOMIC_RESTORESTATE) { | ||
| 136 | t = timer_count; | ||
| 137 | } | ||
| 138 | |||
| 139 | return TIMER_DIFF_16((t & 0xFFFF), last); | ||
| 140 | } | ||
| 141 | |||
| 142 | /** \brief timer elapsed32 | ||
| 143 | * | ||
| 144 | * FIXME: needs doc | ||
| 145 | */ | ||
| 146 | inline uint32_t timer_elapsed32(uint32_t last) { | ||
| 147 | uint32_t t; | ||
| 148 | |||
| 149 | ATOMIC_BLOCK(ATOMIC_RESTORESTATE) { | ||
| 150 | t = timer_count; | ||
| 151 | } | ||
| 152 | |||
| 153 | return TIMER_DIFF_32(t, last); | ||
| 154 | } | ||
| 155 | |||
| 156 | // excecuted once per 1ms.(excess for just timer count?) | 128 | // excecuted once per 1ms.(excess for just timer count?) |
| 157 | #ifndef __AVR_ATmega32A__ | 129 | #ifndef __AVR_ATmega32A__ |
| 158 | # define TIMER_INTERRUPT_VECTOR TIMER0_COMPA_vect | 130 | # define TIMER_INTERRUPT_VECTOR TIMER0_COMPA_vect |
diff --git a/platforms/chibios/timer.c b/platforms/chibios/timer.c index a07cf5714f..9f7eade83f 100644 --- a/platforms/chibios/timer.c +++ b/platforms/chibios/timer.c | |||
| @@ -118,11 +118,3 @@ uint32_t timer_read32(void) { | |||
| 118 | 118 | ||
| 119 | return (uint32_t)TIME_I2MS(ticks) + ms_offset_copy; | 119 | return (uint32_t)TIME_I2MS(ticks) + ms_offset_copy; |
| 120 | } | 120 | } |
| 121 | |||
| 122 | uint16_t timer_elapsed(uint16_t last) { | ||
| 123 | return TIMER_DIFF_16(timer_read(), last); | ||
| 124 | } | ||
| 125 | |||
| 126 | uint32_t timer_elapsed32(uint32_t last) { | ||
| 127 | return TIMER_DIFF_32(timer_read32(), last); | ||
| 128 | } | ||
diff --git a/platforms/test/timer.c b/platforms/test/timer.c index eb929d7dac..f5ee07fd57 100644 --- a/platforms/test/timer.c +++ b/platforms/test/timer.c | |||
| @@ -60,14 +60,6 @@ uint32_t timer_read32(void) { | |||
| 60 | return current_time; | 60 | return current_time; |
| 61 | } | 61 | } |
| 62 | 62 | ||
| 63 | uint16_t timer_elapsed(uint16_t last) { | ||
| 64 | return TIMER_DIFF_16(timer_read(), last); | ||
| 65 | } | ||
| 66 | |||
| 67 | uint32_t timer_elapsed32(uint32_t last) { | ||
| 68 | return TIMER_DIFF_32(timer_read32(), last); | ||
| 69 | } | ||
| 70 | |||
| 71 | void set_time(uint32_t t) { | 63 | void set_time(uint32_t t) { |
| 72 | current_time = t; | 64 | current_time = t; |
| 73 | access_counter = 0; | 65 | access_counter = 0; |
diff --git a/platforms/timer.c b/platforms/timer.c index 26038dcda3..ba2cf94d2b 100644 --- a/platforms/timer.c +++ b/platforms/timer.c | |||
| @@ -6,3 +6,11 @@ | |||
| 6 | // Generate out-of-line copies for inline functions defined in timer.h. | 6 | // Generate out-of-line copies for inline functions defined in timer.h. |
| 7 | extern inline fast_timer_t timer_read_fast(void); | 7 | extern inline fast_timer_t timer_read_fast(void); |
| 8 | extern inline fast_timer_t timer_elapsed_fast(fast_timer_t last); | 8 | extern inline fast_timer_t timer_elapsed_fast(fast_timer_t last); |
| 9 | |||
| 10 | uint16_t timer_elapsed(uint16_t last) { | ||
| 11 | return TIMER_DIFF_16(timer_read(), last); | ||
| 12 | } | ||
| 13 | |||
| 14 | uint32_t timer_elapsed32(uint32_t last) { | ||
| 15 | return TIMER_DIFF_32(timer_read32(), last); | ||
| 16 | } | ||
