29,10 → 29,11 |
* |
*/ |
|
#include <kernel/kern.h> |
|
#include <drivers/shark_fb26.h> |
#include <drivers/shark_keyb26.h> |
|
#include <drivers/glib.h> |
#include <drivers/keyb.h> |
#include <modules/sem.h> |
|
#include <drivers/pci6025e/dac.h> |
72,18 → 73,17 |
HARD_TASK_MODEL wave0, wave1; |
HARD_TASK_MODEL video; |
PID wave0_pid, wave1_pid, video_pid; |
int modenum; |
|
k.flag = CNTR_BIT; |
k.scan = KEY_X; |
k.ascii = 'x'; |
keyb_hook(k, endfun); |
k.status = KEY_PRESSED; |
keyb_hook(k, endfun, FALSE); |
|
k.flag = CNTL_BIT; |
keyb_hook(k, endfun); |
k.status = KEY_PRESSED; |
keyb_hook(k, endfun, FALSE); |
|
sys_atrunlevel(close_event, NULL, RUNLEVEL_BEFORE_EXIT); |
|
hard_task_default_model(wave0); |
hard_task_def_wcet(wave0, WAVE_WCET); |
hard_task_def_mit(wave0, WAVE_PERIOD); |
114,28 → 114,11 |
sys_end(); |
} |
|
if(pci_init() == -1){ |
sys = 20; |
sys_end(); |
} |
|
if(!reMap()){ |
sys = 21; |
sys_end(); |
} |
|
if(grx_init() == -1){ |
sys = 30; |
sys_end(); |
} |
|
if( (modenum = grx_getmode(800, 600, 16)) == -1 ){ |
sys = 31; |
sys_end(); |
} |
|
grx_setmode(modenum); |
|
createWaves(); |
drawInterface(); |
//Analog output section set up |
168,23 → 151,24 |
|
void endfun(KEY_EVT *k) |
{ |
close_event(NULL); |
|
sys_end(); |
} |
|
void close_event(void *arg) |
{ |
grx_close(); |
switch(sys){ |
case 0: cprintf("Regular End!\n"); break; |
case 10: cprintf("Cannot create <wave 0> task!\n"); break; |
case 11: cprintf("Cannot create <wave 1> task!\n"); break; |
case 12: cprintf("Cannot create <video> task!\n"); break; |
case 20: cprintf("No PCI bus found!\n"); break; |
case 21: cprintf("No NATIONAL PCI E-Series board found on PCI bus!\n"); |
case 0: sys_shutdown_message("Regular End!\n"); break; |
case 10: sys_shutdown_message("Cannot create <wave 0> task!\n"); break; |
case 11: sys_shutdown_message("Cannot create <wave 1> task!\n"); break; |
case 12: sys_shutdown_message("Cannot create <video> task!\n"); break; |
case 20: sys_shutdown_message("No PCI bus found!\n"); break; |
case 21: sys_shutdown_message("No NATIONAL PCI E-Series board found on PCI bus!\n"); |
break; |
case 30: cprintf("Cannot start graphic envirorment!\n"); break; |
case 31: cprintf("800x600x16 video mode not supported!\n"); |
default: cprintf("Unknown exit event!\n"); break; |
case 30: sys_shutdown_message("Cannot start graphic envirorment!\n"); break; |
case 31: sys_shutdown_message("800x600x16 video mode not supported!\n"); |
default: sys_shutdown_message("Unknown exit event!\n"); break; |
} |
} |
|
194,7 → 178,7 |
void createWaves(void) |
{ |
int i; |
WORD value0, value1; |
int value0, value1; |
BYTE direction; |
|
/* Wave0 |
307,7 → 291,7 |
TASK video_body(int dummy) |
{ |
int i = 0; |
int n_tmp, o_tmp; |
int n_tmp = 0, o_tmp; |
//char buf[10]; |
|
while(1){ |