Revision 444 branch/bacher/Emb_App/programme_principal_etud.c

View differences:

programme_principal_etud.c
147 147
int i_urgence=0; //incr?ment d'urgence
148 148
int s_urgence=0; //signal d'urgence
149 149
int cu=0;
150

  
150
int i_ar=0;
151 151
int Temps;
152 152
int sec;
153 153
int cent_sec;
......
163 163

  
164 164
void demarre()
165 165
{
166
	dly_tsk(2000);
167 166
	piste.data.id='M';
168 167
  	piste.data.rtr=1; 
169 168
	periph[ADDR('M')].ev=0x04;
......
182 181
				mode=0;
183 182
				break;
184 183
			case 1: //piste verte
185
				vitesse=65;
184
				vitesse=50;
186 185
				vitesse_virage=30;
187 186
				mode=0;
188 187
				break;
......
226 225
    		if(s_urgence==0)snd_dtq (CanTx,comm.msg); //on envoie la modification ? effectuer
227 226
			if(retour!=cons) valeur=k*(cons-retour);
228 227
		}
229
		dly_tsk(20);	
228
		dly_tsk(6);	
230 229
	}
231 230
}
232 231

  
......
240 239
		if (a>-10 && a<10){
241 240
			return vitesse;}
242 241
		else if(a>0&&a<50) 
243
			return -a/2+vitesse;
244
			//return (a*a)/100-a+vitesse;
242
			//return -a/2+vitesse;
243
			return (a*a)/100-a+vitesse;
245 244
		else if(a<0&&a>-50) 
246
			return a/2+vitesse;
247
			//return (a*a)/100+a+vitesse;
245
			//return a/2+vitesse;
246
			return (a*a)/100+a+vitesse;
248 247
		else if (a<-100||a>100){
249 248
			return vitesse_virage;
250 249
		}
......
284 283
				distance=periph[ADDR('U')].val;
285 284
				}
286 285
		}
287
		dly_tsk(10);			
286
		dly_tsk(6);			
288 287
	}
289 288
}
290 289

  
......
313 312
			}
314 313
			if(s_urgence==0)snd_dtq(CanTx, comm.msg); 
315 314
		}
316
		dly_tsk(10);	
315
		dly_tsk(6);	
317 316
	}
318 317
}
319 318

  
......
423 422
			vitesse=10;
424 423
			vitesse_virage=10;
425 424
			cons_roue=150;
426
			dly_tsk(3500);
427
			vitesse=20;
428
			vitesse_virage=20;
429 425
			i++;
430 426
		}	
431 427
		if (retour_C==0x5202 && num_piste==4){ //apr?s la bosse de la piste noire
428
			cons_roue=700;
429
			dly_tsk(1000);
432 430
			vitesse=20;
433 431
			vitesse_virage=20;
434
			cons_roue=700;
435 432
			i=0;
436 433
		}
437 434
		if (retour_C==0x5603 && i==0 && num_piste==4){ //si on passe le capteur avant le tremplin
......
483 480
		while (p0_4==0){
484 481
			vit_roue.data.val=0;					 
485 482
			snd_dtq (CanTx,vit_roue.msg);
483
			i_ar=1;
484
			
486 485
			cu=1;
487 486
			s_urgence=1;
488 487
			i_urgence=0;
489 488
		}
490 489
		if (p0_4==1 && i_urgence==0){
490
			i_ar=0;
491 491
			i_urgence==1;
492 492
			s_urgence=0;
493 493
			vit_roue.data.val=vitesse; 
......
560 560
		}
561 561
		switch(num_piste){
562 562
			case 1:
563
				lcd_str("verte      Temps: ");
563
				lcd_str("verte      ");
564 564
				break;
565 565
			case 2:
566
				lcd_str("bleue      Temps: ");
566
				lcd_str("bleue      ");
567 567
				break;
568 568
			case 3:
569
				lcd_str("rouge      Temps: ");
569
				lcd_str("rouge      ");
570 570
				break;
571 571
			case 4:
572
				lcd_str("noire      Temps: ");
572
				lcd_str("noire      ");
573 573
				break;
574 574
		}
575 575
//AFFICHAGE DU TEMPS
......
583 583
		c_Temps[3]=decode_int(((Temps%1000)%100)/10);
584 584
		c_Temps[4]=decode_int(((Temps%1000)%100)%10);
585 585
		c_Temps[5]=' ';
586
		dly_tsk(150);
586
		lcd_str("Temps: ");
587 587
		lcd_str(c_Temps);
588
		dly_tsk(20);
588
		dly_tsk(100);
589 589
	}
590 590
}	
591 591
void main()

Also available in: Unified diff