]> git.donarmstrong.com Git - qmk_firmware.git/blob - tmk_core/common/arm_atsam/timer.c
Usbasploader bootloader option addition (#6304)
[qmk_firmware.git] / tmk_core / common / arm_atsam / timer.c
1 #include "samd51j18a.h"
2 #include "timer.h"
3 #include "tmk_core/protocol/arm_atsam/clks.h"
4
5 void set_time(uint64_t tset)
6 {
7     ms_clk = tset;
8 }
9
10 void timer_init(void)
11 {
12     timer_clear();
13 }
14
15 uint16_t timer_read(void)
16 {
17     return (uint16_t)ms_clk;
18 }
19
20 uint32_t timer_read32(void)
21 {
22     return (uint32_t)ms_clk;
23 }
24
25 uint64_t timer_read64(void)
26 {
27     return ms_clk;
28 }
29
30 uint16_t timer_elapsed(uint16_t tlast)
31 {
32     return TIMER_DIFF_16(timer_read(), tlast);
33 }
34
35 uint32_t timer_elapsed32(uint32_t tlast)
36 {
37     return TIMER_DIFF_32(timer_read32(), tlast);
38 }
39
40 void timer_clear(void)
41 {
42     set_time(0);
43 }