123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- #include "sync_timer.h"
- #include "keyboard.h"
- #if defined(SPLIT_KEYBOARD) && !defined(DISABLE_SYNC_TIMER)
- volatile int32_t sync_timer_ms;
- void sync_timer_init(void) {
- sync_timer_ms = 0;
- }
- void sync_timer_update(uint32_t time) {
- if (is_keyboard_master()) return;
- sync_timer_ms = time - timer_read32();
- }
- uint16_t sync_timer_read(void) {
- if (is_keyboard_master()) return timer_read();
- return sync_timer_read32();
- }
- uint32_t sync_timer_read32(void) {
- if (is_keyboard_master()) return timer_read32();
- return sync_timer_ms + timer_read32();
- }
- uint16_t sync_timer_elapsed(uint16_t last) {
- if (is_keyboard_master()) return timer_elapsed(last);
- return TIMER_DIFF_16(sync_timer_read(), last);
- }
- uint32_t sync_timer_elapsed32(uint32_t last) {
- if (is_keyboard_master()) return timer_elapsed32(last);
- return TIMER_DIFF_32(sync_timer_read32(), last);
- }
- #endif
|