40,8 → 40,6 |
#include "ll/i386/cons.h" |
#include "ll/i386/advtimer.h" |
|
#include "drivers/shark_linuxc26.h" |
#include "drivers/shark_input26.h" |
#include "drivers/shark_keyb26.h" |
|
#define UPDATE_PERIOD 10000 |
50,40 → 48,6 |
extern unsigned int clk_per_msec; |
extern unsigned int apic_clk_per_msec; |
|
volatile int shark_running = 1; |
|
int device_drivers_close() |
{ |
|
KEYB26_close(); |
INPUT26_close(); |
|
return 0; |
|
} |
|
int device_drivers_init() |
{ |
|
KEYB_PARMS kparms = BASE_KEYB; |
|
LINUXC26_register_module(); |
|
INPUT26_init(); |
|
KEYB26_init(&kparms); |
|
return 0; |
|
} |
|
void program_key_end(KEY_EVT *k) |
{ |
|
shark_running = 0; |
|
} |
|
TASK Update(void *arg) |
{ |
struct timespec actual_timer; |
155,13 → 119,19 |
void set_screen() |
{ |
|
clear(); |
|
printf_xy(20,0,WHITE," Advanced Timer Demo "); |
printf_xy(20,1,WHITE,"Giacomo Guidi <giacomo@gandalf.sssup.it>"); |
printf_xy(20,2,WHITE," Press Alt + c to exit "); |
|
} |
|
void program_key_end(KEY_EVT* e) |
{ |
sys_end(); |
} |
|
|
int main(int argc, char **argv) |
{ |
|
169,8 → 139,6 |
PID update; |
KEY_EVT k; |
|
device_drivers_init(); |
|
k.flag = ALTL_BIT; |
k.scan = KEY_C; |
k.ascii = 'c'; |
188,12 → 156,6 |
update = task_create("Update", Update, &mp, NULL); |
if (update != NIL) task_activate(update); |
|
while(shark_running); |
|
device_drivers_close(); |
|
sys_end(); |
|
return 0; |
|
} |