forked from mirrors/qmk_userspace
Added OLED Display autoscroll during periods of OLED data inactivity (#6546)
* Added OLED Display autoscroll during periods of OLED data inactivity. * Fixing compile errors * Feedback from review
This commit is contained in:
parent
f22c5c17b6
commit
957070a6b5
12 changed files with 72 additions and 46 deletions
|
@ -19,6 +19,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
#define TIMER_H 1
|
||||
|
||||
#include <stdint.h>
|
||||
#include <stdbool.h>
|
||||
|
||||
#if defined(__AVR__)
|
||||
#include "avr/timer_avr.h"
|
||||
|
@ -46,6 +47,16 @@ uint32_t timer_read32(void);
|
|||
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_expired32(uint32_t current, uint32_t future) {
|
||||
return current - future < 0x80000000;
|
||||
}
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue