diff options
author | Jack Humbert <jack.humb@gmail.com> | 2016-11-24 22:20:08 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-11-24 22:20:08 -0500 |
commit | 98d7ad6f497449634eb1a0037d2c21ac73da9841 (patch) | |
tree | d426aa00833527e0c073630974496ea0bdbad83f | |
parent | 2b3a3ca67867ecd02e100c6e2fbe1972af1abb84 (diff) | |
parent | cf3926a8e13edb76193b8af25b497f9ef61161fd (diff) | |
download | qmk_firmware-98d7ad6f497449634eb1a0037d2c21ac73da9841.tar.gz qmk_firmware-98d7ad6f497449634eb1a0037d2c21ac73da9841.zip |
Merge pull request #899 from Wilba6582/suspend_fix
Fixed NO_SUSPEND_POWER_DOWN handling
-rw-r--r-- | tmk_core/common/avr/suspend.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/tmk_core/common/avr/suspend.c b/tmk_core/common/avr/suspend.c index 8a7272bbc..0c81e8361 100644 --- a/tmk_core/common/avr/suspend.c +++ b/tmk_core/common/avr/suspend.c | |||
@@ -47,6 +47,7 @@ void suspend_idle(uint8_t time) | |||
47 | sleep_disable(); | 47 | sleep_disable(); |
48 | } | 48 | } |
49 | 49 | ||
50 | #ifndef NO_SUSPEND_POWER_DOWN | ||
50 | /* Power down MCU with watchdog timer | 51 | /* Power down MCU with watchdog timer |
51 | * wdto: watchdog timer timeout defined in <avr/wdt.h> | 52 | * wdto: watchdog timer timeout defined in <avr/wdt.h> |
52 | * WDTO_15MS | 53 | * WDTO_15MS |
@@ -61,6 +62,7 @@ void suspend_idle(uint8_t time) | |||
61 | * WDTO_8S | 62 | * WDTO_8S |
62 | */ | 63 | */ |
63 | static uint8_t wdt_timeout = 0; | 64 | static uint8_t wdt_timeout = 0; |
65 | |||
64 | static void power_down(uint8_t wdto) | 66 | static void power_down(uint8_t wdto) |
65 | { | 67 | { |
66 | #ifdef PROTOCOL_LUFA | 68 | #ifdef PROTOCOL_LUFA |
@@ -98,19 +100,19 @@ static void power_down(uint8_t wdto) | |||
98 | // Disable watchdog after sleep | 100 | // Disable watchdog after sleep |
99 | wdt_disable(); | 101 | wdt_disable(); |
100 | } | 102 | } |
103 | #endif | ||
101 | 104 | ||
102 | void suspend_power_down(void) | 105 | void suspend_power_down(void) |
103 | { | 106 | { |
107 | #ifndef NO_SUSPEND_POWER_DOWN | ||
104 | power_down(WDTO_15MS); | 108 | power_down(WDTO_15MS); |
109 | #endif | ||
105 | } | 110 | } |
106 | 111 | ||
107 | __attribute__ ((weak)) void matrix_power_up(void) {} | 112 | __attribute__ ((weak)) void matrix_power_up(void) {} |
108 | __attribute__ ((weak)) void matrix_power_down(void) {} | 113 | __attribute__ ((weak)) void matrix_power_down(void) {} |
109 | bool suspend_wakeup_condition(void) | 114 | bool suspend_wakeup_condition(void) |
110 | { | 115 | { |
111 | #ifdef BACKLIGHT_ENABLE | ||
112 | backlight_set(0); | ||
113 | #endif | ||
114 | matrix_power_up(); | 116 | matrix_power_up(); |
115 | matrix_scan(); | 117 | matrix_scan(); |
116 | matrix_power_down(); | 118 | matrix_power_down(); |
@@ -126,10 +128,9 @@ void suspend_wakeup_init(void) | |||
126 | // clear keyboard state | 128 | // clear keyboard state |
127 | clear_keyboard(); | 129 | clear_keyboard(); |
128 | #ifdef BACKLIGHT_ENABLE | 130 | #ifdef BACKLIGHT_ENABLE |
129 | backlight_set(0); | ||
130 | backlight_init(); | 131 | backlight_init(); |
131 | #endif | 132 | #endif |
132 | led_set(host_keyboard_leds()); | 133 | led_set(host_keyboard_leds()); |
133 | } | 134 | } |
134 | 135 | ||
135 | #ifndef NO_SUSPEND_POWER_DOWN | 136 | #ifndef NO_SUSPEND_POWER_DOWN |