diff options
author | root <root@no.no.james.local> | 2015-06-08 11:12:28 +0100 |
---|---|---|
committer | root <root@no.no.james.local> | 2015-06-08 11:12:28 +0100 |
commit | c88477f285ae9206846cf02b14337dd0837fee2e (patch) | |
tree | a68630a1fb35db8d008a854969ff38c04903d76f /app/atkbd.c | |
parent | 7a64ff65d2c6c667b757cebd9997fbf89f11b143 (diff) | |
download | tims_keyboard-c88477f285ae9206846cf02b14337dd0837fee2e.tar.gz tims_keyboard-c88477f285ae9206846cf02b14337dd0837fee2e.tar.bz2 tims_keyboard-c88477f285ae9206846cf02b14337dd0837fee2e.zip |
initialize the keyboard after usb comes up so we can reply to usb quickly
Diffstat (limited to 'app/atkbd.c')
-rw-r--r-- | app/atkbd.c | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/app/atkbd.c b/app/atkbd.c index 1ba599a..d450bc2 100644 --- a/app/atkbd.c +++ b/app/atkbd.c @@ -470,23 +470,16 @@ atkbd_set_mbr (void) } -void -atkbd_start (void) -{ - - atkbd_reset (); - atkbd_request_echo (); - atkbd_set_mbr (); - atkbd_set_scanset (2); - atkbd_set_leds (saved_leds); - - ready++; -} void atkbd_init (void) { atkbd_set (1, 1); +} + +void atkbd_start(void) +{ + if (ready) return; nvic_enable_irq (NVIC_EXTI0_IRQ); @@ -498,6 +491,14 @@ atkbd_init (void) exti_reset_request (KBCLK); nvic_enable_irq (KBCLK_IRQ); + delay_ms(AT_KBD_INIT_TIME); + atkbd_reset (); + atkbd_request_echo (); + atkbd_set_mbr (); + atkbd_set_scanset (2); + atkbd_set_leds (saved_leds); + + ready++; } |