summary refs log tree commit diff
path: root/common
diff options
context:
space:
mode:
Diffstat (limited to 'common')
-rw-r--r--common/avr/suspend.c27
-rw-r--r--common/command.c12
-rw-r--r--common/suspend.h2
3 files changed, 23 insertions, 18 deletions
diff --git a/common/avr/suspend.c b/common/avr/suspend.c
index 66a579fd78..80243f02bc 100644
--- a/common/avr/suspend.c
+++ b/common/avr/suspend.c
@@ -7,6 +7,7 @@
 #include "backlight.h"
 #include "suspend_avr.h"
 #include "suspend.h"
+#include "timer.h"
 #ifdef PROTOCOL_LUFA
 #include "lufa.h"
 #endif
@@ -52,11 +53,13 @@ void suspend_idle(uint8_t time)
  *          WDTO_4S
  *          WDTO_8S
  */
-void suspend_power_down(uint8_t wdto)
+static uint8_t wdt_timeout = 0;
+static void power_down(uint8_t wdto)
 {
 #ifdef PROTOCOL_LUFA
     if (USB_DeviceState == DEVICE_STATE_Configured) return;
 #endif
+    wdt_timeout = wdto;
 
     // Watchdog Interrupt Mode
     wdt_intr_enable(wdto);
@@ -67,7 +70,6 @@ void suspend_power_down(uint8_t wdto)
     // - prescale clock
     // - BOD disable
     // - Power Reduction Register PRR
-
     set_sleep_mode(SLEEP_MODE_PWR_DOWN);
     sleep_enable();
     sei();
@@ -78,6 +80,11 @@ void suspend_power_down(uint8_t wdto)
     wdt_disable();
 }
 
+void suspend_power_down(void)
+{
+    power_down(WDTO_15MS);
+}
+
 bool suspend_wakeup_condition(void)
 {
     matrix_power_up();
@@ -103,15 +110,13 @@ void suspend_wakeup_init(void)
 /* watchdog timeout */
 ISR(WDT_vect)
 {
-    /* wakeup from MCU sleep mode */
-/*
-    // blink LED
-    static uint8_t led_state = 0;
-    static uint8_t led_count = 0;
-    led_count++;
-    if ((led_count & 0x07) == 0) {
-        led_set((led_state ^= (1<<USB_LED_CAPS_LOCK)));
+    // compensate timer for sleep
+    switch (wdt_timeout) {
+        case WDTO_15MS:
+            timer_count += 15 + 2;  // WDTO_15MS + 2(from observation)
+            break;
+        default:
+            ;
     }
-*/
 }
 #endif
diff --git a/common/command.c b/common/command.c
index 1a507e3a46..fbaa9f2d75 100644
--- a/common/command.c
+++ b/common/command.c
@@ -303,7 +303,7 @@ static bool command_common(uint8_t code)
 #endif
             " " STR(BOOTLOADER_SIZE) "\n");
 
-            print("GCC: " STR(__GNUC__) "." STR(__GNUC_MINOR__) "." STR(__GNUC_PATCHLEVEL__) 
+            print("GCC: " STR(__GNUC__) "." STR(__GNUC_MINOR__) "." STR(__GNUC_PATCHLEVEL__)
                   " AVR-LIBC: " __AVR_LIBC_VERSION_STRING__
                   " AVR_ARCH: avr" STR(__AVR_ARCH__) "\n");
             break;
@@ -542,12 +542,12 @@ static void mousekey_console_help(void)
     print("4:	select mk_time_to_max\n");
     print("5:	select mk_wheel_max_speed\n");
     print("6:	select mk_wheel_time_to_max\n");
-    print("p:	print prameters\n");
+    print("p:	print parameters\n");
     print("d:	set default values\n");
-    print("up:	increase prameters(+1)\n");
-    print("down:	decrease prameters(-1)\n");
-    print("pgup:	increase prameters(+10)\n");
-    print("pgdown:	decrease prameters(-10)\n");
+    print("up:	increase parameters(+1)\n");
+    print("down:	decrease parameters(-1)\n");
+    print("pgup:	increase parameters(+10)\n");
+    print("pgdown:	decrease parameters(-10)\n");
     print("\nspeed = delta * max_speed * (repeat / time_to_max)\n");
     print("where delta: cursor="); pdec(MOUSEKEY_MOVE_DELTA);
     print(", wheel="); pdec(MOUSEKEY_WHEEL_DELTA); print("\n");
diff --git a/common/suspend.h b/common/suspend.h
index f339c670ac..80617a8244 100644
--- a/common/suspend.h
+++ b/common/suspend.h
@@ -6,7 +6,7 @@
 
 
 void suspend_idle(uint8_t timeout);
-void suspend_power_down(uint8_t timeout);
+void suspend_power_down(void);
 bool suspend_wakeup_condition(void);
 void suspend_wakeup_init(void);