Skip to content

Commit

Permalink
Fixing wrapping math logic for timer_expired functions (qmk#6746)
Browse files Browse the repository at this point in the history
  • Loading branch information
XScorpion2 authored and fauxpark committed Sep 22, 2019
1 parent 2f46be6 commit 9cef067
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions tmk_core/common/timer.h
Original file line number Diff line number Diff line change
Expand Up @@ -45,9 +45,9 @@ uint16_t timer_elapsed(uint16_t last);
uint32_t timer_elapsed32(uint32_t last);

// Utility functions to check if a future time has expired & autmatically handle time wrapping if checked / reset frequently (half of max value)
inline bool timer_expired(uint16_t current, uint16_t last) { return current - last < 0x8000; }
inline bool timer_expired(uint16_t current, uint16_t future) { return (uint16_t)(current - future) < 0x8000; }

inline bool timer_expired32(uint32_t current, uint32_t future) { return current - future < 0x80000000; }
inline bool timer_expired32(uint32_t current, uint32_t future) { return (uint32_t)(current - future) < 0x80000000; }

#ifdef __cplusplus
}
Expand Down

0 comments on commit 9cef067

Please sign in to comment.