mirror of
https://github.com/firewalkwithm3/qmk_firmware.git
synced 2024-11-22 19:40:29 +08:00
Fix int wrapping for timer_expired macros and use MAX defines for consistency and clarity (#10996)
This commit is contained in:
parent
ce91dd4bf3
commit
485e4524f4
|
@ -45,8 +45,8 @@ uint16_t timer_elapsed(uint16_t last);
|
||||||
uint32_t timer_elapsed32(uint32_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)
|
// Utility functions to check if a future time has expired & autmatically handle time wrapping if checked / reset frequently (half of max value)
|
||||||
#define timer_expired(current, future) (((uint16_t)current - (uint16_t)future) < 0x8000)
|
#define timer_expired(current, future) ((uint16_t)(current - future) < UINT16_MAX / 2)
|
||||||
#define timer_expired32(current, future) (((uint32_t)current - (uint32_t)future) < 0x80000000)
|
#define timer_expired32(current, future) ((uint32_t)(current - future) < UINT32_MAX / 2)
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue