Subversion Repositories shark

Compare Revisions

Ignore whitespace Rev 1566 → Rev 1565

/demos/trunk/sharkDecoderWithFSF/decoder.c
61,33 → 61,8
 
 
 
/* 10% */
struct timespec decoderPeriod = {0,30000000};
struct timespec decoderBudget = {0,3000000};
 
/* 10% */
struct timespec readTaskPeriod = {0,30000000};
struct timespec readTaskBudget = {0,3000000};
 
/* 45% */
struct timespec displayPeriod = {0,40000000};
struct timespec displayBudget = {0,18000000};
 
// 5 %
struct timespec overloadPeriod = {0,10000000};
struct timespec overloadBudget = {0,500000};
 
fsf_server_id_t decoderServer;
fsf_server_id_t readTaskServer;
fsf_server_id_t displayServer;
fsf_server_id_t overloadServer;
 
fsf_contract_parameters_t overloadContract;
fsf_contract_parameters_t decoderContract;
fsf_contract_parameters_t readTaskContract;
fsf_contract_parameters_t displayContract;
 
 
void program_end()
{
 
141,8 → 116,8
err = fsf_create_local_thread(server,(fsf_sched_params_t *)(&pr), &j,NULL,
displayTask,NULL);
if (err) {
//grx_close();
//grx_text("failed to create displayTask",0,0,rgb16(255,255,255),0);
grx_close();
grx_text("failed to create displayTask",0,0,rgb16(255,255,255),0);
exit(err);
}
task_activate(j);
189,8 → 164,8
err = fsf_create_local_thread(server,(fsf_sched_params_t *)(&pr), &j,NULL,
readTask,NULL);
if (err) {
//grx_close();
//grx_text("failed to create displayTask",0,0,rgb16(255,255,255),0);
grx_close();
grx_text("failed to create displayTask",0,0,rgb16(255,255,255),0);
exit(err);
}
task_activate(j);
237,8 → 212,8
err = fsf_create_local_thread(server,(fsf_sched_params_t *)(&pr), &j,NULL,
mpeg2decoder,NULL);
if (err) {
//grx_close();
//grx_text("failed to create displayTask",0,0,rgb16(255,255,255),0);
grx_close();
grx_text("failed to create displayTask",0,0,rgb16(255,255,255),0);
exit(err);
}
task_activate(j);
286,8 → 261,8
err = fsf_create_local_thread(server,(fsf_sched_params_t *)(&pr), &j,NULL,
overLoadTask,NULL);
if (err) {
//grx_close();
//grx_text("failed to create displayTask",0,0,rgb16(255,255,255),0);
grx_close();
grx_text("failed to create displayTask",0,0,rgb16(255,255,255),0);
exit(err);
}
task_activate(j);
310,22 → 285,46
int i = 1;
char tmp[100];
struct timespec simtime;
KEY_EVT k;
//KEY_EVT k;
union sigval no_sigval = {0};
 
PI_mutexattr_t a;
KEY_EVT ev;
 
/* 10% */
struct timespec decoderPeriod = {0,30000000};
struct timespec decoderBudget = {0,3000000};
 
/* 10% */
struct timespec readTaskPeriod = {0,30000000};
struct timespec readTaskBudget = {0,3000000};
/* 45% */
struct timespec displayPeriod = {0,40000000};
struct timespec displayBudget = {0,18000000};
 
// 5 %
struct timespec overloadPeriod = {0,10000000};
struct timespec overloadBudget = {0,500000};
 
fsf_server_id_t decoderServer;
fsf_server_id_t readTaskServer;
fsf_server_id_t displayServer;
fsf_server_id_t overloadServer;
 
fsf_contract_parameters_t overloadContract;
fsf_contract_parameters_t decoderContract;
fsf_contract_parameters_t readTaskContract;
fsf_contract_parameters_t displayContract;
 
union sigval sval;
 
ev.ascii = 'c';
ev.scan = KEY_C;
ev.status = KEY_PRESSED;
ev.flag = CNTR_BIT;
keyb_hook(ev, ending_system, FALSE);
//ev.ascii = 'c';
//ev.scan = KEY_C;
//ev.status = KEY_PRESSED;
//ev.flag = CNTR_BIT;
//keyb_hook(ev, ending_system, FALSE);
 
PI_mutexattr_default(a);
fsf_init();
389,7 → 388,7
if (err) {
exit(err);
}
 
err = fsf_negotiate_contract(&decoderContract,&decoderServer);
if (err) {
exit(err);
404,32 → 403,30
exit(err);
}
 
print_server_list();
 
// Create and bind different ports to communication links (This ports a declared in global.h)
if((readTaskPort = port_create(readFilePortName, sizeof(struct readDecodeMessage), NUMBER_OF_MESSAGE, STREAM, WRITE)) == -1)
{
//grx_text("failed to create readTask Port",0,0,rgb16(255,255,255),0);
grx_text("failed to create readTask Port",0,0,rgb16(255,255,255),0);
exit(-1);
}
if((decoderTaskPort->displayTaskPort = port_create(displayPortName, sizeof(struct decodeDisplayMessage), NUMBER_OF_MESSAGE, STREAM, WRITE)) == -1)
{
//grx_text("failed to create displayTask Port",0,0,rgb16(255,255,255),0);
grx_text("failed to create displayTask Port",0,0,rgb16(255,255,255),0);
exit(-1);
}
if((decoderTaskPort->readTaskPort = port_connect(readFilePortName, sizeof(struct readDecodeMessage), STREAM, READ)) == -1)
{
//grx_text("failed to connect to readTask Port",0,0,rgb16(255,255,255),0);
grx_text("failed to connect to readTask Port",0,0,rgb16(255,255,255),0);
exit(-1);
}
if((displayTaskPort = port_connect(displayPortName, sizeof(struct decodeDisplayMessage), STREAM, READ)) == -1)
{
//grx_text("failed to connect to displayTask Port",0,0,rgb16(255,255,255),0);
grx_text("failed to connect to displayTask Port",0,0,rgb16(255,255,255),0);
exit(-1);
}
 
// graphic card Initialization
//graphic card Initialization
if (grx_init() < 1) {
exit(-1);
}
438,8 → 435,7
cprintf("GRX Err\n");
exit(-1);
}
/*
kern_gettime(&simtime);
for (i=1; i<10;i++) {
simtime.tv_sec+=1;
448,23 → 444,22
 
simtime.tv_sec+=10;
kern_event_post(&simtime,(void *)((void *)(ending_system)), NULL);
*/
ch = keyb_getch(BLOCK);
kern_printf("Main %d\n", ch);
/*ch = keyb_getch(BLOCK);
while(ch != ESC) {
 
switch (ch)
{
 
case '1':
case '1': */
addReadTaskToServer(readTaskServer);
addDecoderThreadToServer(decoderServer);
addDisplayTaskToServer(displayServer);
 
/*
break;
case '2':
sprintf(tmp,"Number of dummy task: %d", i);
//grx_text(tmp,0,0,rgb16(255,255,255),0);
grx_text(tmp,0,0,rgb16(255,255,255),0);
i++;
addOverLoadTaskToServer(overloadServer);
break;
476,9 → 471,9
ch = keyb_getch(BLOCK);
}
 
ending_system(NULL);
// while(1);
*/
//ending_system(NULL);
while(1);
return 0;
 
/demos/trunk/sharkDecoderWithFSF/gvideo.c
84,7 → 84,7
}
if(!port_send(p, (void*)&msg,BLOCK))
{
//grx_text("\n\n readTask ******************** E R R O R E R R O R E R R O R **********************\n",0,0,rgb16(255,255,255),0);
grx_text("\n\n readTask ******************** E R R O R E R R O R E R R O R **********************\n",0,0,rgb16(255,255,255),0);
}
}
}
113,7 → 113,7
if(port_receive(p, (void*)&msg, BLOCK))
{
if (initflag == 0)
grx_text("",20,20,rgb16(255,255,255),0);
grx_text("",20,20,rgb16(255,255,255),0);
displayTaskFunction(msg.src, msg.frame);
//cprintf("Display");
128,7 → 128,7
}
else
{
//grx_text(" displayTask ******************** E R R O R E R R O R E R R O R **********************",20,20,rgb16(255,255,255),0);
grx_text(" displayTask ******************** E R R O R E R R O R E R R O R **********************",20,20,rgb16(255,255,255),0);
initflag = 0;
}
//fsf_schedule_timed_job(NULL, NULL, NULL, NULL, NULL);
/demos/trunk/sharkDecoderWithFSF/initfile.c
84,17 → 84,15
}
 
int device_drivers_init() {
KEYB_PARMS kparms = BASE_KEYB;
int err=0;
//KEYB_PARMS kparms = BASE_KEYB;
LINUXC26_register_module();
PCI26_init();
INPUT26_init();
//INPUT26_init();
 
/*keyb_def_map(kparms, KEYMAP_IT);*/
keyb_def_ctrlC(kparms, NULL);
err=KEYB26_init(&kparms);
if (err) exit(err);
//keyb_def_ctrlC(kparms, NULL);
//KEYB26_init(&kparms);
 
 
return 0;