aboutsummaryrefslogtreecommitdiff
path: root/tmk_core
diff options
context:
space:
mode:
authorXScorpion2 <rcalt2vt@gmail.com>2019-08-25 14:37:55 -0500
committerDrashna Jaelre <drashna@live.com>2019-08-25 12:37:55 -0700
commit957070a6b5886719557b6880afa7e3716548c18a (patch)
tree68adde454ad00f5c74538b0927f76b7db7afcb09 /tmk_core
parentf22c5c17b6fe069bec1241262a1c27eb89d3d3af (diff)
downloadqmk_firmware-957070a6b5886719557b6880afa7e3716548c18a.tar.gz
qmk_firmware-957070a6b5886719557b6880afa7e3716548c18a.zip
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
Diffstat (limited to 'tmk_core')
-rw-r--r--tmk_core/common/timer.h11
-rw-r--r--tmk_core/protocol/usb_hid/override_wiring.c7
2 files changed, 14 insertions, 4 deletions
diff --git a/tmk_core/common/timer.h b/tmk_core/common/timer.h
index fe23f87ae..a8dd85663 100644
--- a/tmk_core/common/timer.h
+++ b/tmk_core/common/timer.h
@@ -19,6 +19,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
19#define TIMER_H 1 19#define TIMER_H 1
20 20
21#include <stdint.h> 21#include <stdint.h>
22#include <stdbool.h>
22 23
23#if defined(__AVR__) 24#if defined(__AVR__)
24#include "avr/timer_avr.h" 25#include "avr/timer_avr.h"
@@ -46,6 +47,16 @@ uint32_t timer_read32(void);
46uint16_t timer_elapsed(uint16_t last); 47uint16_t timer_elapsed(uint16_t last);
47uint32_t timer_elapsed32(uint32_t last); 48uint32_t timer_elapsed32(uint32_t last);
48 49
50// Utility functions to check if a future time has expired & autmatically handle time wrapping if checked / reset frequently (half of max value)
51inline bool timer_expired(uint16_t current, uint16_t last)
52{
53 return current - last < 0x8000;
54}
55
56inline bool timer_expired32(uint32_t current, uint32_t future) {
57 return current - future < 0x80000000;
58}
59
49#ifdef __cplusplus 60#ifdef __cplusplus
50} 61}
51#endif 62#endif
diff --git a/tmk_core/protocol/usb_hid/override_wiring.c b/tmk_core/protocol/usb_hid/override_wiring.c
index 1e9a94ce2..52f03c300 100644
--- a/tmk_core/protocol/usb_hid/override_wiring.c
+++ b/tmk_core/protocol/usb_hid/override_wiring.c
@@ -4,14 +4,13 @@
4#define __DELAY_BACKWARD_COMPATIBLE__ 4#define __DELAY_BACKWARD_COMPATIBLE__
5#include <util/delay.h> 5#include <util/delay.h>
6#include "common/timer.h" 6#include "common/timer.h"
7#include "Arduino.h"
8 7
9 8
10unsigned long millis() 9unsigned long millis(void)
11{ 10{
12 return timer_read32(); 11 return timer_read32();
13} 12}
14unsigned long micros() 13unsigned long micros(void)
15{ 14{
16 return timer_read32() * 1000UL; 15 return timer_read32() * 1000UL;
17} 16}
@@ -23,7 +22,7 @@ void delayMicroseconds(unsigned int us)
23{ 22{
24 _delay_us(us); 23 _delay_us(us);
25} 24}
26void init() 25void init(void)
27{ 26{
28 timer_init(); 27 timer_init();
29} 28}