X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=drv%2Fkbd.c;h=e231536524f2397cfb7c3a316f2a76b3417c75bf;hb=20d3c79024c12bb366270c0c1fdda53c4c55e734;hp=e70114b1e9c81675022c343c6dd19bb8eddba93f;hpb=a98a42143f3b9c130a36e59221817fa5260a8322;p=bertos.git diff --git a/drv/kbd.c b/drv/kbd.c index e70114b1..e2315365 100755 --- a/drv/kbd.c +++ b/drv/kbd.c @@ -17,6 +17,9 @@ /*#* *#* $Log$ + *#* Revision 1.3 2006/02/17 21:15:42 bernie + *#* Add MOD_CHECK() checks. + *#* *#* Revision 1.2 2006/02/10 12:36:20 bernie *#* Add preliminary FreeRTOS support; Enforce CONFIG_* definitions. *#* @@ -32,6 +35,7 @@ #include #include +#include /* Configuration sanity checks */ #if !defined(CONFIG_KBD_POLL) || (CONFIG_KBD_POLL != KBD_POLL_SOFTINT && CONFIG_KBD_POLL != CONFIG_POLL_FREERTOS) @@ -379,12 +383,15 @@ static keymask_t kbd_rptHandlerFunc(keymask_t key) } +MOD_DEFINE(kbd) /*! * Initialize keyboard ports and softtimer */ void kbd_init(void) { + MOD_CHECK(buzzer); + KBD_HW_INIT; /* Init handlers lists */ @@ -405,29 +412,35 @@ void kbd_init(void) kbd_addHandler(&kbd_lngHandler); #endif - /* Add repeat keyboard handler */ kbd_rptHandler.hook = kbd_rptHandlerFunc; kbd_rptHandler.pri = 80; /* high priority */ kbd_rptHandler.flags = KHF_RAWKEYS; kbd_addHandler(&kbd_rptHandler); - /* Add default keyboard handler */ kbd_defHandler.hook = kbd_defHandlerFunc; kbd_defHandler.pri = -128; /* lowest priority */ kbd_addHandler(&kbd_defHandler); #if CONFIG_KBD_POLL == KBD_POLL_SOFTINT + + MOD_CHECK(timer); + /* Add kbd handler to soft timers list */ event_initSoftInt(&kbd_timer.expire, kbd_softint, 0); timer_setDelay(&kbd_timer, ms_to_ticks(KBD_CHECK_INTERVAL)); timer_add(&kbd_timer); + #elif CONFIG_KBD_POLL == CONFIG_POLL_FREERTOS + /* Create a timer specific thread */ xTaskCreate(kbd_poll, "kbd_poll", CONFIG_STACK_KBD, NULL, CONFIG_PRI_KBD, NULL); + #else #error "Define keyboard poll method" #endif + + MOD_INIT(kbd); }