diff options
author | Joel Challis <git@zvecr.com> | 2022-02-04 18:10:00 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-02-05 05:10:00 +1100 |
commit | 135c93599036bbe646a69b568eef9219823a4be9 (patch) | |
tree | 2fca5c980cc7bbc2f2db4c54f5fa76006bf741d4 /platforms/avr | |
parent | 580ef6d88f22478112417c4ab3c1ee50211167d2 (diff) | |
download | qmk_firmware-135c93599036bbe646a69b568eef9219823a4be9.tar.gz qmk_firmware-135c93599036bbe646a69b568eef9219823a4be9.zip |
Initial migration of suspend callbacks (#16067)
* Initial migration of suspend logic
* Add header
Diffstat (limited to 'platforms/avr')
-rw-r--r-- | platforms/avr/suspend.c | 42 |
1 files changed, 13 insertions, 29 deletions
diff --git a/platforms/avr/suspend.c b/platforms/avr/suspend.c index 7b164a34b1..b615979439 100644 --- a/platforms/avr/suspend.c +++ b/platforms/avr/suspend.c @@ -2,12 +2,9 @@ #include <avr/sleep.h> #include <avr/wdt.h> #include <avr/interrupt.h> -#include "matrix.h" -#include "action.h" #include "suspend.h" +#include "action.h" #include "timer.h" -#include "led.h" -#include "host.h" #ifdef PROTOCOL_LUFA # include "lufa.h" @@ -78,6 +75,18 @@ static void power_down(uint8_t wdto) { // Disable watchdog after sleep wdt_disable(); } + +/* watchdog timeout */ +ISR(WDT_vect) { + // compensate timer for sleep + switch (wdt_timeout) { + case WDTO_15MS: + timer_count += 15 + 2; // WDTO_15MS + 2(from observation) + break; + default:; + } +} + #endif /** \brief Suspend power down @@ -102,18 +111,6 @@ void suspend_power_down(void) { #endif } -__attribute__((weak)) void matrix_power_up(void) {} -__attribute__((weak)) void matrix_power_down(void) {} -bool suspend_wakeup_condition(void) { - matrix_power_up(); - matrix_scan(); - matrix_power_down(); - for (uint8_t r = 0; r < MATRIX_ROWS; r++) { - if (matrix_get_row(r)) return true; - } - return false; -} - /** \brief run immediately after wakeup * * FIXME: needs doc @@ -124,16 +121,3 @@ void suspend_wakeup_init(void) { suspend_wakeup_init_quantum(); } - -#if !defined(NO_SUSPEND_POWER_DOWN) && defined(WDT_vect) -/* watchdog timeout */ -ISR(WDT_vect) { - // compensate timer for sleep - switch (wdt_timeout) { - case WDTO_15MS: - timer_count += 15 + 2; // WDTO_15MS + 2(from observation) - break; - default:; - } -} -#endif |