Revision 231 branch/lepogam/Emb_App/programme_principal_etud.c

View differences:

programme_principal_etud.c
124 124
unsigned int distance=0;
125 125
unsigned int vitesse=0;
126 126
unsigned int couleur=0; // vert -> ligne droie
127
unsigned int npiste=0;
127 128
unsigned int distance_ref=700;
128 129
unsigned int consigne=450;
129 130
unsigned int consigne_vitesse=34;
130 131
unsigned int vitesse_min=24;
131 132
unsigned int valeur_t=0;
132 133
unsigned int valeur_r=0;
134
int go=0;
133 135
int k1=2;
134 136
int k2=1;
135

  
137

  
138
void piste(){
139
	//'M'/77/0x7D?: Mode de course :
140
	//  Bit 15?: Etat feu tricolore ( 1 -> Vert, 0 -> Orange ou Rouge),
141
	//  Bits 14-8?: 1 Attente, 2 course, 3 essais libres)
142
	//  Bits 7-0?: numero de la piste
143
	CanFrame comm;
144
	CanFrame demande;
145
	CanFrame reponse;
146
	while(1){
147
		
148
	
149
		demande.data.id='M'; 
150
		demande.data.rtr=1;
151
	
152
		snd_dtq (CanTx,demande.msg); // Interrogation du peripherique
153
		dly_tsk(500);
154
		npiste=periph[ADDR('M')].val<<8; // contient la valeur de retour du simulateur.
155
		
156
		switch(npiste){
157
			
158
        	case(256) : //verte
159
            consigne_vitesse =60;
160
            vitesse_min =35;
161
       		distance_ref = 880;
162
			go=1;
163
            break;
164
			
165
            case(512) : //bleue
166
            consigne_vitesse =40;
167
            vitesse_min =22;
168
            distance_ref = 700;
169
			go=1;
170
            break;
171
			
172
            case(768) : //rouge
173
            consigne_vitesse =34;
174
            vitesse_min =24;
175
            distance_ref = 700;
176
			go=1;
177
            break;
178

  
179
                
180
            case(1024) : //noir
181
            consigne_vitesse =25;
182
            vitesse_min =25;
183
            distance_ref = 700;
184
			go=1;
185
            break;
186
            }
187

  
188
        ext_tsk();
189
        }
190
	}
136 191
void asserv_tourelle(){
137 192
	
138 193
	
......
241 296
	sta_cyc(ID_acqui);
242 297
	sta_tsk(ID_periph_rx);
243 298
	
299
	sta_tsk(ID_piste);
244 300
	sta_tsk(ID_asserv_tourelle);
245 301
	sta_tsk(ID_asserv_roue);
246 302
	sta_cyc(ID_asserv1);
247 303
	sta_cyc(ID_asserv2);
248 304
	
305
	
249 306
	dly_tsk(600);	// attente mise en place de la tourelle
250 307
	sta_tsk(ID_asserv_vitesse);
251 308
	sta_cyc(ID_asserv3);

Also available in: Unified diff