Subversion Repositories shark

Compare Revisions

Ignore whitespace Rev 1630 → Rev 1631

/advdemos/trunk/elastic/elastic.c
32,7 → 32,10
*/
 
#include "kernel/kern.h"
#include "modules/elastic.h"
 
extern unsigned int usleep(unsigned int usec); // include file?
 
TASK elastic_test(void *arg) {
 
int nbr = (int)arg;
47,6 → 50,7
{
ELASTIC_TASK_MODEL e1, e2, e3, e4;
PID el_pid1, el_pid2, el_pid3, el_pid4;
struct timespec t;
 
cprintf("Elastic Task Demo (U=1.0 in initfile.c)\n");
 
61,13 → 65,14
cprintf("ERROR: Cannot create Elastic1\n");
sys_end();
}
 
task_activate(el_pid1);
 
cprintf("\nCreating elastic task with Tmin = 200000, Tmax = 500000, C = 60000, E = 1\n");
cprintf("\nCreating elastic task with Tmin = 200000, Tmax = 500000, C = 160000, E = 2\n");
elastic_task_default_model(e2);
elastic_task_def_period(e2, 200000, 500000);
elastic_task_def_wcet(e2, 60000);
elastic_task_def_param(e2, 1, PERIOD_SCALING);
elastic_task_def_wcet(e2, 160000);
elastic_task_def_param(e2, 2, PERIOD_SCALING);
elastic_task_def_arg(e2, (void *)2);
el_pid2 = task_create("Elastic2",elastic_test,&e2,NULL);
if (el_pid2 == NIL) {
74,8 → 79,15
cprintf("ERROR: Cannot create Elastic2\n");
sys_end();
}
 
task_activate(el_pid2);
 
usleep(500000);
 
ELASTIC_set_period(el_pid2, 210000);
 
 
/*
cprintf("\nCreating elastic task with Tmin = 300000, Tmax = 500000, C = 90000, E = 1\n");
elastic_task_default_model(e3);
elastic_task_def_period(e3, 300000, 500000);
101,10 → 113,10
sys_end();
}
task_activate(el_pid4);
*/
/* Exit at time t = 5.0 */
struct timespec t;
t.tv_sec = 5;
/* Exit at time t = 1.0 */
t.tv_sec = 1;
t.tv_nsec = 0;
kern_event_post(&t, (void(*)(void*))sys_end, NULL);
while(1);