Fixed NO_SUSPEND_POWER_DOWN handling

example_keyboards
Wilba6582 8 years ago
parent 2b3a3ca678
commit 5893f0fa1f

@ -47,6 +47,7 @@ void suspend_idle(uint8_t time)
sleep_disable(); sleep_disable();
} }
#ifndef NO_SUSPEND_POWER_DOWN
/* Power down MCU with watchdog timer /* Power down MCU with watchdog timer
* wdto: watchdog timer timeout defined in <avr/wdt.h> * wdto: watchdog timer timeout defined in <avr/wdt.h>
* WDTO_15MS * WDTO_15MS
@ -61,6 +62,7 @@ void suspend_idle(uint8_t time)
* WDTO_8S * WDTO_8S
*/ */
static uint8_t wdt_timeout = 0; static uint8_t wdt_timeout = 0;
static void power_down(uint8_t wdto) static void power_down(uint8_t wdto)
{ {
#ifdef PROTOCOL_LUFA #ifdef PROTOCOL_LUFA
@ -98,10 +100,13 @@ static void power_down(uint8_t wdto)
// Disable watchdog after sleep // Disable watchdog after sleep
wdt_disable(); wdt_disable();
} }
#endif
void suspend_power_down(void) void suspend_power_down(void)
{ {
#ifndef NO_SUSPEND_POWER_DOWN
power_down(WDTO_15MS); power_down(WDTO_15MS);
#endif
} }
__attribute__ ((weak)) void matrix_power_up(void) {} __attribute__ ((weak)) void matrix_power_up(void) {}
@ -109,7 +114,9 @@ __attribute__ ((weak)) void matrix_power_down(void) {}
bool suspend_wakeup_condition(void) bool suspend_wakeup_condition(void)
{ {
#ifdef BACKLIGHT_ENABLE #ifdef BACKLIGHT_ENABLE
#ifndef NO_SUSPEND_POWER_DOWN
backlight_set(0); backlight_set(0);
#endif
#endif #endif
matrix_power_up(); matrix_power_up();
matrix_scan(); matrix_scan();
@ -126,7 +133,6 @@ void suspend_wakeup_init(void)
// clear keyboard state // clear keyboard state
clear_keyboard(); clear_keyboard();
#ifdef BACKLIGHT_ENABLE #ifdef BACKLIGHT_ENABLE
backlight_set(0);
backlight_init(); backlight_init();
#endif #endif
led_set(host_keyboard_leds()); led_set(host_keyboard_leds());

Loading…
Cancel
Save