Subversion Repositories shark

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1085 pj 1
/*
2
 * Project: S.Ha.R.K.
3
 *
4
 * Coordinators:
5
 *   Giorgio Buttazzo    <giorgio@sssup.it>
6
 *   Paolo Gai           <pj@gandalf.sssup.it>
7
 *
8
 * Authors     :
9
 *   Paolo Gai           <pj@gandalf.sssup.it>
10
 *   (see the web pages for full authors list)
11
 *
12
 * ReTiS Lab (Scuola Superiore S.Anna - Pisa - Italy)
13
 *
14
 * http://www.sssup.it
15
 * http://retis.sssup.it
16
 * http://shark.sssup.it
17
 */
18
 
19
/**
20
 ------------
21
 CVS :        $Id: demo.h,v 1.1.1.1 2002-09-02 09:37:41 pj Exp $
22
 
23
 File:        $File$
24
 Revision:    $Revision: 1.1.1.1 $
25
 Last update: $Date: 2002-09-02 09:37:41 $
26
 ------------
27
**/
28
 
29
/*
30
 * Copyright (C) 2000 Paolo Gai
31
 *
32
 * This program is free software; you can redistribute it and/or modify
33
 * it under the terms of the GNU General Public License as published by
34
 * the Free Software Foundation; either version 2 of the License, or
35
 * (at your option) any later version.
36
 *
37
 * This program is distributed in the hope that it will be useful,
38
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
39
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
40
 * GNU General Public License for more details.
41
 *
42
 * You should have received a copy of the GNU General Public License
43
 * along with this program; if not, write to the Free Software
44
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
45
 *
46
 */
47
 
48
 
49
#include <ll/ll.h>
50
#include <kernel/types.h>
51
#include <kernel/descr.h>
52
#include <math.h>
53
#include <drivers/glib.h>
54
#include <drivers/keyb.h>
55
 
56
 
57
#define JET_ON
58
#define BALL_ON
59
 
60
/*
61
 *
62
 * WCET, Periods and Models
63
 *
64
 */
65
 
66
 
67
/* define if you want NRT or SOFT... */
68
#define TASK_TYPE SOFT
69
//#define TASK_TYPE NRT
70
 
71
#define WCET_JETCTRL      7500
72
#define WCET_JETDUMMY      200
73
#define WCET_JETSLIDE     2100
74
 
75
#define PERIOD_JETCTRL  100000
76
#define PERIOD_JETDUMMY 100000
77
#define PERIOD_JETSLIDE 100000
78
 
79
 
80
#define WCET_BALL          100
81
 
82
#define PERIOD_BALL      10000
83
 
84
/*
85
 *
86
 * Global Stuffs
87
 *
88
 */
89
 
90
/* graphic mutex... */
91
extern mutex_t mutex;
92
 
93
/* useful colors... */
94
extern int white;
95
extern int black;
96
extern int red;
97
extern int gray;
98
 
99
void init_jetcontrol();
100
void init_ball(void);
101
void scenario_jetcontrol();
102
void scenario_ball();
103
char *itoa(int n, char *s);
104
int myrand(int x);
105
 
106
 
107
 
108
/*
109
 *
110
 * JETCONTROL stuffs
111
 *
112
 */
113
 
114
#define JET_NTASK   35
115
#define JET_Y_NAME 170
116
 
117
#define DUMMY_PID    1
118
 
119
#define JET_DUMMY_WIDTH    210
120
#define JET_DUMMY_HEIGHT    80
121
 
122
/* the point (x, y) is the top left corner */
123
#define JET_DUMMY_X        428
124
#define JET_DUMMY_Y        65
125
 
126
#define JET_SLIDE_WIDTH     50
127
#define JET_SLIDE_X        576
128
 
129
 
130
 
131
 
132
/*
133
 *
134
 * BALL stuffs
135
 *
136
 */
137
 
138
// x and y corners are specified whithout consider a border of 3 pixels
139
#define BALL_Y      450         /* position of the floor        */
140
#define BALL_HEIGHT 385         /* initial height of the ball   */
141
#define BALL_XMIN    10         /* min position X of the ball   */
142
#define BALL_XMAX   370         /* max position X of the ball   */
143
#define BALL_VELX     5.        /* horizontal ball velocity     */
144
#define BALL_VYMIN   11.        /* min ground speed             */
145
#define BALL_MAX_P   60         /* max number of balls          */
146
 
147
#define BALL_GROUP    2          /* task group of the balls */