diff options
| author | XScorpion2 <rcalt2vt@gmail.com> | 2019-08-25 14:37:55 -0500 |
|---|---|---|
| committer | Drashna Jaelre <drashna@live.com> | 2019-08-25 12:37:55 -0700 |
| commit | 957070a6b5886719557b6880afa7e3716548c18a (patch) | |
| tree | 68adde454ad00f5c74538b0927f76b7db7afcb09 /tmk_core | |
| parent | f22c5c17b6fe069bec1241262a1c27eb89d3d3af (diff) | |
| download | qmk_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.h | 11 | ||||
| -rw-r--r-- | tmk_core/protocol/usb_hid/override_wiring.c | 7 |
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); | |||
| 46 | uint16_t timer_elapsed(uint16_t last); | 47 | uint16_t timer_elapsed(uint16_t last); |
| 47 | uint32_t timer_elapsed32(uint32_t last); | 48 | uint32_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) | ||
| 51 | inline bool timer_expired(uint16_t current, uint16_t last) | ||
| 52 | { | ||
| 53 | return current - last < 0x8000; | ||
| 54 | } | ||
| 55 | |||
| 56 | inline 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 | ||
| 10 | unsigned long millis() | 9 | unsigned long millis(void) |
| 11 | { | 10 | { |
| 12 | return timer_read32(); | 11 | return timer_read32(); |
| 13 | } | 12 | } |
| 14 | unsigned long micros() | 13 | unsigned 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 | } |
| 26 | void init() | 25 | void init(void) |
| 27 | { | 26 | { |
| 28 | timer_init(); | 27 | timer_init(); |
| 29 | } | 28 | } |
