/demos/trunk/base/cabs.c |
---|
34,7 → 34,7 |
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
* |
* |
* CVS : $Id: cabs.c,v 1.4 2004-04-17 11:36:13 giacomo Exp $ |
* CVS : $Id: cabs.c,v 1.5 2004-04-18 19:46:29 giacomo Exp $ |
*/ |
/*--------------------------------------------------------------*/ |
45,14 → 45,9 |
#include <modules/cabs.h> |
#include <string.h> |
#include <drivers/shark_linuxc26.h> |
#include <drivers/shark_pci26.h> |
#include <drivers/shark_fb26.h> |
#include <drivers/shark_input26.h> |
#include <drivers/shark_keyb26.h> |
#define FRAME_BUFFER_DEVICE 0 |
#define NCAB 4 /* max number of CABs */ |
#define NCAR 26 /* generated characters */ |
91,73 → 86,6 |
TIME w1[NCAB] = {10000, 10000, 10000, 10000}; |
TIME w2[NCAB] = {10000, 10000, 10000, 10000}; |
PID shutdown_task_PID = -1; |
int device_drivers_init() { |
KEYB_PARMS kparms = BASE_KEYB; |
LINUXC26_register_module(); |
PCI26_init(); |
keyb_def_ctrlC(kparms, NULL); |
INPUT26_init(); |
KEYB26_init(&kparms); |
FB26_init(); |
FB26_open(FRAME_BUFFER_DEVICE); |
FB26_use_grx(FRAME_BUFFER_DEVICE); |
FB26_setmode(FRAME_BUFFER_DEVICE,"640x480-16"); |
return 0; |
} |
int device_drivers_close() { |
FB26_close(FRAME_BUFFER_DEVICE); |
KEYB26_close(); |
INPUT26_close(); |
return 0; |
} |
TASK shutdown_task_body(void *arg) { |
device_drivers_close(); |
sys_shutdown_message("-- S.Ha.R.K. Closed --\n"); |
sys_end(); |
return NULL; |
} |
void set_shutdown_task() { |
NRT_TASK_MODEL nrt; |
nrt_task_default_model(nrt); |
shutdown_task_PID = task_create("Shutdown Task",shutdown_task_body,&nrt,NULL); |
if (shutdown_task_PID == NIL) { |
sys_shutdown_message("Error: Cannot create shutdown task\n"); |
sys_end(); |
} |
} |
/****************************************************************/ |
/* This function is called when Alt-X is pressed. |
164,7 → 92,7 |
*/ |
void my_end(KEY_EVT* e) |
{ |
task_activate(shutdown_task_PID); |
sys_end(); |
} |
/******************************************************************/ |
193,10 → 121,6 |
{ |
char c = 0; /* character from keyboard */ |
set_shutdown_task(); |
device_drivers_init(); |
grx_clear(BLACK); |
grx_text("Press a key [1-4]", 10, 16, 7, 0); |
209,7 → 133,7 |
create_channel(c-'1'); |
} |
task_activate(shutdown_task_PID); |
sys_end(); |
return 0; |
} |
316,7 → 240,7 |
p1[i] = task_create(pname1[i], producer, &m, NULL); |
if (p1[i] == NIL) { |
sys_shutdown_message("Could not create task <producer>"); |
task_activate(shutdown_task_PID); |
sys_end(); |
return; |
} |
task_activate(p1[i]); |
330,7 → 254,7 |
p2[i] = task_create(pname2[i], consumer, &m, NULL); |
if (p2[i] == NIL) { |
sys_shutdown_message("Could not create task <consumer>"); |
task_activate(shutdown_task_PID); |
sys_end(); |
return; |
} |
task_activate(p2[i]); |
365,4 → 289,3 |
sprintf(buffer,"%ld", t2[i]); |
grx_text(buffer,X2+88,yc+R+16,14,0); |
} |
/demos/trunk/base/fly.c |
---|
18,11 → 18,11 |
/** |
------------ |
CVS : $Id: fly.c,v 1.4 2004-04-17 11:36:13 giacomo Exp $ |
CVS : $Id: fly.c,v 1.5 2004-04-18 19:46:29 giacomo Exp $ |
File: $File$ |
Revision: $Revision: 1.4 $ |
Last update: $Date: 2004-04-17 11:36:13 $ |
Revision: $Revision: 1.5 $ |
Last update: $Date: 2004-04-18 19:46:29 $ |
------------ |
**/ |
53,11 → 53,8 |
#include <stdlib.h> |
#include <math.h> |
#include <drivers/shark_linuxc26.h> |
#include <drivers/shark_pci26.h> |
#include <drivers/shark_keyb26.h> |
#include <drivers/shark_fb26.h> |
#include <drivers/shark_input26.h> |
#include <drivers/shark_keyb26.h> |
#define FRAME_BUFFER_DEVICE 0 |
79,72 → 76,6 |
int fly_wcet = 1000; /* task wcet */ |
PID pid; |
PID shutdown_task_PID = -1; |
int device_drivers_init() { |
KEYB_PARMS kparms = BASE_KEYB; |
LINUXC26_register_module(); |
PCI26_init(); |
keyb_def_ctrlC(kparms, NULL); |
INPUT26_init(); |
KEYB26_init(&kparms); |
FB26_init(); |
FB26_open(FRAME_BUFFER_DEVICE); |
FB26_use_grx(FRAME_BUFFER_DEVICE); |
FB26_setmode(FRAME_BUFFER_DEVICE,"640x480-16"); |
return 0; |
} |
int device_drivers_close() { |
FB26_close(FRAME_BUFFER_DEVICE); |
KEYB26_close(); |
INPUT26_close(); |
return 0; |
} |
TASK shutdown_task_body(void *arg) { |
device_drivers_close(); |
sys_shutdown_message("-- S.Ha.R.K. Closed --\n"); |
sys_end(); |
return NULL; |
} |
void set_shutdown_task() { |
NRT_TASK_MODEL nrt; |
nrt_task_default_model(nrt); |
shutdown_task_PID = task_create("Shutdown Task",shutdown_task_body,&nrt,NULL); |
if (shutdown_task_PID == NIL) { |
sys_shutdown_message("Error: Cannot create shutdown task\n"); |
sys_end(); |
} |
} |
/*--------------------------------------------------------------*/ |
void draw_fly(int x, int y, int c) |
220,10 → 151,6 |
int i = 0; /* number of tasks created */ |
TIME seme; /* used to init the random seed */ |
set_shutdown_task(); |
device_drivers_init(); |
/* The scenario */ |
grx_rect(XMIN-D-1, YMIN-D-1, XMAX+D+1, YMAX+D+1, 14); |
grx_text("Simulation of Random Flies", XMIN, YMENU+10, 13, 0); |
249,7 → 176,7 |
pid = task_create("fly", fly, &m, NULL); |
if (pid == NIL) { |
sys_shutdown_message("Could not create task <fly>"); |
task_activate(shutdown_task_PID); |
sys_end(); |
return 0; |
} |
task_activate(pid); |
259,7 → 186,7 |
} while (c != ESC); |
task_activate(shutdown_task_PID); |
sys_end(); |
return 0; |
/demos/trunk/base/initfile.c |
---|
20,6 → 20,12 |
#include "modules/sem.h" |
#include "modules/hartport.h" |
#include <drivers/shark_linuxc26.h> |
#include <drivers/shark_input26.h> |
#include <drivers/shark_keyb26.h> |
#define FRAME_BUFFER_DEVICE 0 |
/*+ sysyem tick in us +*/ |
#define TICK 0 |
31,6 → 37,8 |
#define INTDRIVE_T 10000 |
#define INTDRIVE_FLAG 0 |
PID shutdown_task_PID = 1; |
TIME __kernel_register_levels__(void *arg) |
{ |
struct multiboot_info *mb = (struct multiboot_info *)arg; |
46,6 → 54,66 |
return TICK; |
} |
int device_drivers_close() { |
KEYB26_close(); |
INPUT26_close(); |
return 0; |
} |
int device_drivers_init() { |
KEYB_PARMS kparms = BASE_KEYB; |
LINUXC26_register_module(); |
INPUT26_init(); |
keyb_def_ctrlC(kparms, NULL); |
KEYB26_init(&kparms); |
return 0; |
} |
TASK shutdown_task_body(void *arg) { |
device_drivers_close(); |
sys_shutdown_message("-- S.Ha.R.K. Closed --\n"); |
sys_end(); |
return NULL; |
} |
void set_shutdown_task() { |
NRT_TASK_MODEL nrt; |
nrt_task_default_model(nrt); |
nrt_task_def_system(nrt); |
nrt_task_def_nokill(nrt); |
shutdown_task_PID = task_create("Shutdown Task",shutdown_task_body,&nrt,NULL); |
if (shutdown_task_PID == NIL) { |
sys_shutdown_message("Error: Cannot create shutdown task\n"); |
sys_end(); |
} |
} |
void call_shutdown_task(void *arg) { |
task_activate(shutdown_task_PID); |
} |
TASK __init__(void *arg) |
{ |
struct multiboot_info *mb = (struct multiboot_info *)arg; |
52,6 → 120,12 |
HARTPORT_init(); |
set_shutdown_task(); |
device_drivers_init(); |
sys_atrunlevel(call_shutdown_task, NULL, RUNLEVEL_SHUTDOWN); |
__call_main__(mb); |
return (void *)0; |
/demos/trunk/base/ego.c |
---|
18,11 → 18,11 |
/** |
------------ |
CVS : $Id: ego.c,v 1.4 2004-04-17 11:36:13 giacomo Exp $ |
CVS : $Id: ego.c,v 1.5 2004-04-18 19:46:29 giacomo Exp $ |
File: $File$ |
Revision: $Revision: 1.4 $ |
Last update: $Date: 2004-04-17 11:36:13 $ |
Revision: $Revision: 1.5 $ |
Last update: $Date: 2004-04-18 19:46:29 $ |
------------ |
**/ |
51,14 → 51,8 |
#include <kernel/kern.h> |
#include <drivers/shark_linuxc26.h> |
#include <drivers/shark_pci26.h> |
#include <drivers/shark_keyb26.h> |
#include <drivers/shark_fb26.h> |
#include <drivers/shark_input26.h> |
#include <drivers/shark_keyb26.h> |
#define FRAME_BUFFER_DEVICE 0 |
#define X0 10 |
/* task periods */ |
74,74 → 68,8 |
"I am ego2 and I print a character every 200 ms", |
"I am ego3 and I print a character every 300 ms"}; |
PID shutdown_task_PID = -1; |
/***************************************************************/ |
int device_drivers_init() { |
KEYB_PARMS kparms = BASE_KEYB; |
LINUXC26_register_module(); |
PCI26_init(); |
keyb_def_ctrlC(kparms, NULL); |
INPUT26_init(); |
KEYB26_init(&kparms); |
FB26_init(); |
FB26_open(FRAME_BUFFER_DEVICE); |
FB26_use_grx(FRAME_BUFFER_DEVICE); |
FB26_setmode(FRAME_BUFFER_DEVICE,"640x480-16"); |
return 0; |
} |
int device_drivers_close() { |
FB26_close(FRAME_BUFFER_DEVICE); |
KEYB26_close(); |
INPUT26_close(); |
return 0; |
} |
TASK shutdown_task_body(void *arg) { |
device_drivers_close(); |
sys_shutdown_message("-- S.Ha.R.K. Closed --\n"); |
sys_end(); |
return NULL; |
} |
void set_shutdown_task() { |
NRT_TASK_MODEL nrt; |
nrt_task_default_model(nrt); |
shutdown_task_PID = task_create("Shutdown Task",shutdown_task_body,&nrt,NULL); |
if (shutdown_task_PID == NIL) { |
sys_shutdown_message("Error: Cannot create shutdown task\n"); |
sys_end(); |
} |
} |
TASK ego(void *arg) |
{ |
int i = (int)arg; |
179,7 → 107,7 |
*/ |
void my_end(KEY_EVT* e) |
{ |
task_activate(shutdown_task_PID); |
sys_end(); |
} |
/******************************************************************/ |
206,10 → 134,6 |
KEY_EVT emerg; |
HARD_TASK_MODEL m1, m2, m3; |
set_shutdown_task(); |
device_drivers_init(); |
/* set the keyboard handler to exit correctly */ |
emerg.ascii = 'x'; |
emerg.scan = KEY_X; |
231,7 → 155,7 |
pid1 = task_create("ego1", ego, &m1, NULL); |
if (pid1 == NIL) { |
sys_shutdown_message("Could not create task <ego1>"); |
task_activate(shutdown_task_PID); |
sys_end(); |
return 0; |
} |
245,7 → 169,7 |
pid2 = task_create("ego2", ego, &m2, NULL); |
if (pid2 == NIL) { |
sys_shutdown_message("Could not create task <ego2>"); |
task_activate(shutdown_task_PID); |
sys_end(); |
return 0; |
} |
259,7 → 183,7 |
pid3 = task_create("ego3", ego, &m3, NULL); |
if (pid3 == NIL) { |
sys_shutdown_message("Could not create task <ego3>"); |
task_activate(shutdown_task_PID); |
sys_end(); |
return 0; |
} |
/demos/trunk/base/aster.c |
---|
34,7 → 34,7 |
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
* |
* |
* CVS : $Id: aster.c,v 1.3 2004-04-17 11:36:12 giacomo Exp $ |
* CVS : $Id: aster.c,v 1.4 2004-04-18 19:46:29 giacomo Exp $ |
Author: Gerardo Lamastra |
Giuseppe Lipari |
82,12 → 82,10 |
#include <modules/cabs.h> |
#include <string.h> |
#define __VPAGING__ |
#include <drivers/shark_linuxc26.h> |
#include <drivers/shark_input26.h> |
#include <drivers/shark_keyb26.h> |
//#define __VPAGING__ |
#include <drivers/crtwin.h> |
int num_aster = 0; |
95,61 → 93,7 |
CAB cc; |
BYTE esc = FALSE; |
PID shutdown_task_PID; |
int device_drivers_init() { |
KEYB_PARMS kparms = BASE_KEYB; |
LINUXC26_register_module(); |
keyb_def_ctrlC(kparms, NULL); |
INPUT26_init(); |
KEYB26_init(&kparms); |
return 0; |
} |
int device_drivers_close() { |
KEYB26_close(); |
INPUT26_close(); |
return 0; |
} |
TASK shutdown_task_body(void *arg) { |
device_drivers_close(); |
sys_shutdown_message("-- S.Ha.R.K. Closed --\n"); |
sys_end(); |
return NULL; |
} |
void set_shutdown_task() { |
NRT_TASK_MODEL nrt; |
nrt_task_default_model(nrt); |
shutdown_task_PID = task_create("Shutdown Task",shutdown_task_body,&nrt,NULL); |
if (shutdown_task_PID == NIL) { |
sys_shutdown_message("Error: Cannot create shutdown task\n"); |
sys_end(); |
} |
} |
TASK asteroide(void) |
{ |
int i = 1; |
352,10 → 296,6 |
struct timespec t; |
set_shutdown_task(); |
device_drivers_init(); |
#ifdef __VPAGING__ |
set_active_page(1); |
set_visual_page(1); |
383,7 → 323,7 |
p2 = task_create("Clock",clock,&m_per,NULL); |
if (p2 == -1) { |
sys_shutdown_message("Aster.C(main): Could not create task <Clock>"); |
task_activate(shutdown_task_PID); |
sys_end(); |
return 0; |
} |
391,7 → 331,7 |
p3 = task_create("Title",title,&m_soft, NULL); |
if (p3 == -1) { |
sys_shutdown_message("Aster.C(main): Could not create task <Title>"); |
task_activate(shutdown_task_PID); |
sys_end(); |
return 0; |
} |
399,7 → 339,7 |
p4 = task_create("Put",put,&m_soft, NULL); |
if (p4 == -1) { |
sys_shutdown_message("Aster.C(main): Could not create task <Put>"); |
task_activate(shutdown_task_PID); |
sys_end(); |
return 0; |
} |
408,7 → 348,7 |
p5 = task_create("Write",write_keyb,&m_nrt,NULL); |
if (p5 == -1) { |
sys_shutdown_message("Aster.C(main): Could not create task <Write>"); |
task_activate(shutdown_task_PID); |
sys_end(); |
return 0; |
} |
416,7 → 356,7 |
p6 = task_create("CabTask",ccc,&m_per,NULL); |
if (p6 == -1) { |
sys_shutdown_message("Aster.C(main): Could not create task <CabTask>\n"); |
task_activate(shutdown_task_PID); |
sys_end(); |
return 0; |
} |
435,7 → 375,8 |
set_visual_page(0); |
#endif |
task_activate(shutdown_task_PID); |
sys_end(); |
return 0; |
} |
/demos/trunk/base/pcidemo.c |
---|
33,66 → 33,14 |
#include "kernel/kern.h" |
#include "unistd.h" |
#include "drivers/shark_linuxc26.h" |
#include "drivers/shark_pci26.h" |
PID shutdown_task_PID; |
int device_drivers_init() { |
LINUXC26_register_module(); |
PCI26_init(); |
return 0; |
} |
int device_drivers_close() { |
return 0; |
} |
TASK shutdown_task_body(void *arg) { |
device_drivers_close(); |
sys_shutdown_message("-- S.Ha.R.K. Closed --\n"); |
sys_end(); |
return NULL; |
} |
void set_shutdown_task() { |
NRT_TASK_MODEL nrt; |
nrt_task_default_model(nrt); |
shutdown_task_PID = task_create("Shutdown Task",shutdown_task_body,&nrt,NULL); |
if (shutdown_task_PID == NIL) { |
sys_shutdown_message("Error: Cannot create shutdown task\n"); |
sys_end(); |
} |
} |
int main (int argc, char *argv[]) |
{ |
set_shutdown_task(); |
device_drivers_init(); |
cprintf("Init Done...\n"); |
sleep(5); |
task_activate(shutdown_task_PID); |
sys_end(); |
return 0; |
/demos/trunk/base/ipcidemo.c |
---|
20,6 → 20,9 |
#include "modules/sem.h" |
#include "modules/hartport.h" |
#include "drivers/shark_linuxc26.h" |
#include "drivers/shark_pci26.h" |
/*+ sysyem tick in us +*/ |
#define TICK 0 |
31,6 → 34,8 |
#define INTDRIVE_T 10000 |
#define INTDRIVE_FLAG 0 |
PID shutdown_task_PID; |
TIME __kernel_register_levels__(void *arg) |
{ |
struct multiboot_info *mb = (struct multiboot_info *)arg; |
46,6 → 51,56 |
return TICK; |
} |
int device_drivers_init() { |
LINUXC26_register_module(); |
PCI26_init(); |
return 0; |
} |
int device_drivers_close() { |
return 0; |
} |
TASK shutdown_task_body(void *arg) { |
device_drivers_close(); |
sys_shutdown_message("-- S.Ha.R.K. Closed --\n"); |
sys_end(); |
return NULL; |
} |
void call_shutdown_task(void *arg) { |
task_activate(shutdown_task_PID); |
} |
void set_shutdown_task() { |
NRT_TASK_MODEL nrt; |
nrt_task_default_model(nrt); |
nrt_task_def_system(nrt); |
nrt_task_def_nokill(nrt); |
shutdown_task_PID = task_create("Shutdown Task",shutdown_task_body,&nrt,NULL); |
if (shutdown_task_PID == NIL) { |
sys_shutdown_message("Error: Cannot create shutdown task\n"); |
sys_end(); |
} |
} |
TASK __init__(void *arg) |
{ |
struct multiboot_info *mb = (struct multiboot_info *)arg; |
52,6 → 107,12 |
HARTPORT_init(); |
set_shutdown_task(); |
device_drivers_init(); |
sys_atrunlevel(call_shutdown_task, NULL, RUNLEVEL_SHUTDOWN); |
__call_main__(mb); |
return (void *)0; |
/demos/trunk/base/makefile |
---|
26,7 → 26,7 |
make -f $(SUBMAKE) APP=sig INIT= OTHEROBJS="ihello.o" OTHERINCL= SHARKOPT= |
preempt: |
make -f $(SUBMAKE) APP=preempt INIT= OTHEROBJS="initfile.o" OTHERINCL= SHARKOPT= |
make -f $(SUBMAKE) APP=preempt INIT= OTHEROBJS="initfile.o" OTHERINCL= SHARKOPT="__LINUXC26__ __INPUT__" |
semdemo: |
make -f $(SUBMAKE) APP=semdemo INIT= OTHEROBJS="isemdemo.o" OTHERINCL= SHARKOPT= |
85,11 → 85,11 |
# Graphical applications |
ego: |
make -f $(SUBMAKE) APP=ego INIT= OTHEROBJS="initfile.o" OTHERINCL= SHARKOPT="__LINUXC26__ __NEWPCI__ __INPUT__ __FB__" |
make -f $(SUBMAKE) APP=ego INIT= OTHEROBJS="initgraph.o" OTHERINCL= SHARKOPT="__LINUXC26__ __NEWPCI__ __INPUT__ __FB__" |
fly: |
make -f $(SUBMAKE) APP=fly INIT= OTHEROBJS="initfile.o" OTHERINCL= SHARKOPT="__LINUXC26__ __NEWPCI__ __INPUT__ __FB__" |
make -f $(SUBMAKE) APP=fly INIT= OTHEROBJS="initgraph.o" OTHERINCL= SHARKOPT="__LINUXC26__ __NEWPCI__ __INPUT__ __FB__" |
cabs: |
make -f $(SUBMAKE) APP=cabs INIT= OTHEROBJS="initfile.o" OTHERINCL= SHARKOPT="__LINUXC26__ __NEWPCI__ __INPUT__ __FB__" |
make -f $(SUBMAKE) APP=cabs INIT= OTHEROBJS="initgraph.o" OTHERINCL= SHARKOPT="__LINUXC26__ __NEWPCI__ __INPUT__ __FB__" |