36,8 → 36,11 |
* |
*/ |
|
#include <drivers/glib.h> |
#include <drivers/keyb.h> |
#include <kernel/kern.h> |
|
#include <drivers/shark_fb26.h> |
#include <drivers/shark_keyb26.h> |
|
#include <drivers/pci6025e/dio_ppi.h> |
|
BYTE system = 0; |
47,25 → 50,22 |
void exit_fun(KEY_EVT *); |
void draw_screen(void); |
|
|
int main(int argc, char **argv) |
{ |
HARD_TASK_MODEL m; |
KEY_EVT k; |
PID pid_m; |
int modenum; |
|
sys_atrunlevel(close_event, NULL, RUNLEVEL_BEFORE_EXIT); |
|
keyb_set_map(itaMap); |
k.flag = CNTL_BIT; |
k.scan = KEY_C; |
k.ascii = 'c'; |
keyb_hook(k, exit_fun); |
k.status = KEY_PRESSED; |
keyb_hook(k, exit_fun, FALSE); |
k.flag = CNTR_BIT; |
k.scan = KEY_C; |
k.ascii = 'c'; |
keyb_hook(k, exit_fun); |
k.status = KEY_PRESSED; |
keyb_hook(k, exit_fun, FALSE); |
|
hard_task_default_model(m); |
hard_task_def_wcet(m, 90000); |
76,12 → 76,6 |
sys_end(); |
} |
|
//Check if PCI bus is present |
if(pci_init() == -1){ |
system = 20; |
sys_end(); |
} |
|
//Look for a National board on PCI bus |
if(!reMap()){ |
system = 21; |
91,14 → 85,6 |
//Start configuring DIO module |
DIO_init(); |
|
grx_init(); |
modenum = grx_getmode(640, 480, 16); |
if(modenum == -1){ |
system = 30; |
sys_end(); |
} |
grx_setmode(modenum); |
|
draw_screen(); |
|
task_activate(pid_m); |
165,14 → 151,12 |
|
void close_event(void *arg) |
{ |
grx_close(); |
switch(system){ |
case 0: kern_printf("Regular end\n"); break; |
case 10:kern_printf("Cannot create task TEST DIO\n"); break; |
case 20:kern_printf("Pci bus don't find\n"); break; |
case 21:kern_printf("No National board on PC\n"); break; |
case 30:kern_printf("Cannot start graphic envirorment\n"); break; |
default: kern_printf("Unknown exit\n"); break; |
case 0: sys_shutdown_message("Regular end\n"); break; |
case 10:sys_shutdown_message("Cannot create task TEST DIO\n"); break; |
case 21:sys_shutdown_message("No National board on PC\n"); break; |
case 30:sys_shutdown_message("Cannot start graphic envirorment\n"); break; |
default: sys_shutdown_message("Unknown exit\n"); break; |
} |
} |
|
179,6 → 163,9 |
void exit_fun(KEY_EVT *k) |
{ |
system = 0; |
|
close_event(NULL); |
|
sys_end(); |
} |
|