timer.c 593 B

1234567891011121314151617181920212223242526272829303132333435
  1. #include "samd51j18a.h"
  2. #include "timer.h"
  3. #include "tmk_core/protocol/arm_atsam/clks.h"
  4. void set_time(uint64_t tset) {
  5. ms_clk = tset;
  6. }
  7. void timer_init(void) {
  8. timer_clear();
  9. }
  10. uint16_t timer_read(void) {
  11. return (uint16_t)ms_clk;
  12. }
  13. uint32_t timer_read32(void) {
  14. return (uint32_t)ms_clk;
  15. }
  16. uint64_t timer_read64(void) {
  17. return ms_clk;
  18. }
  19. uint16_t timer_elapsed(uint16_t tlast) {
  20. return TIMER_DIFF_16(timer_read(), tlast);
  21. }
  22. uint32_t timer_elapsed32(uint32_t tlast) {
  23. return TIMER_DIFF_32(timer_read32(), tlast);
  24. }
  25. void timer_clear(void) {
  26. set_time(0);
  27. }