forked from mirrors/qmk_firmware
Merge pull request #899 from Wilba6582/suspend_fix
Fixed NO_SUSPEND_POWER_DOWN handling
This commit is contained in:
commit
98d7ad6f49
1 changed files with 6 additions and 5 deletions
|
@ -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,19 +100,19 @@ 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) {}
|
||||||
__attribute__ ((weak)) void matrix_power_down(void) {}
|
__attribute__ ((weak)) void matrix_power_down(void) {}
|
||||||
bool suspend_wakeup_condition(void)
|
bool suspend_wakeup_condition(void)
|
||||||
{
|
{
|
||||||
#ifdef BACKLIGHT_ENABLE
|
|
||||||
backlight_set(0);
|
|
||||||
#endif
|
|
||||||
matrix_power_up();
|
matrix_power_up();
|
||||||
matrix_scan();
|
matrix_scan();
|
||||||
matrix_power_down();
|
matrix_power_down();
|
||||||
|
@ -126,10 +128,9 @@ 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());
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef NO_SUSPEND_POWER_DOWN
|
#ifndef NO_SUSPEND_POWER_DOWN
|
||||||
|
|
Loading…
Reference in a new issue