Index: branch/Coccallotto/Emb_App/programme_principal_etud.c
===================================================================
--- branch/Coccallotto/Emb_App/programme_principal_etud.c	(revision 191)
+++ branch/Coccallotto/Emb_App/programme_principal_etud.c	(revision 192)
@@ -126,22 +126,28 @@
 short dismur;
 short trajectoire;
 short vitesse;
+short reception;
 float kroues;
 float ktourelle;
+ 			//distance mesurer par le capteur que l'on garde en constante ici
 CanFrame comm;
 CanFrame requete, reponse;
 CanFrame req;
-
+	
+void acqtourelle(void);
+void acqroues(void);
+void directionroues(void);
 void main()
 {	
-	dismur=0x02a2; 			//distance mesurer par le capteur que l'on garde en constante ici
-	kroues=0.8;				//correction pour les roues de 5;
-	ktourelle=1;			//correction pour la tourelle de 10;
-	
+	dismur=0x02af; 			//distance mesurer par le capteur que l'on garde en constante ici
 	commande=450;			//commande de la valeur de la tourelle
+	kroues=1;				//correction pour les roues de 5;
+	ktourelle=1.2;			//correction pour la tourelle de 10;
 	
-	vitesse=5;				//commande de la vitesse des roues
+
 	
+	vitesse=45;				//commande de la vitesse des roues
+	
 	ports_mcu();
     lcd_init();
 	periph_init();
@@ -152,45 +158,20 @@
 	capture_init();
 
 	sta_cyc(ID_acqui);
-	sta_tsk(ID_periph_rx);
-
+	sta_tsk(ID_periph_rx);	
+	acqtourelle();
+	dly_tsk(1000);
     while(1)
-    {
+    {			
 		int pos;
 		UINT flag;
-				
-		requete.data.id='R'; 					//demande de reception de la donner du capteur tourelle
-		requete.data.rtr=1;
-		snd_dtq (CanTx,requete.msg); 
-		//rcv_dtq (CanRx,&reponse.msg); 
-		alpha=(ktourelle*(commande-periph[ADDR('R')].val));		 //asservissement de la commande tourelle
-		
-		comm.data.id='T'; 						//envoie de la donner du capteur tourelle
-		comm.data.rtr=0; 
-		comm.data.val=alpha;					//correcteur du capteur pour l'asserviseement (ici =45°)
-		snd_dtq (CanTx,comm.msg);
+		
+		acqtourelle();
 	
-		requete.data.id='U'; 					//distance mesurer par le télémetre
-		requete.data.rtr=1;
-		snd_dtq (CanTx,requete.msg); 
-		//rcv_dtq (CanRx,&reponse.msg); 
-		distance=(periph[ADDR('U')].val);
-		if (distance>0x0500){
-			distance=dismur;
-		}
-		else{
-		trajectoire=(kroues*( distance-dismur));	//asservisement pour les roues
-		}		
+		acqroues();
 		
-		comm.data.id='D'; 						//commande des roues
-		comm.data.rtr=0; 
-		comm.data.val=trajectoire;				//ont applique la correction des roues 
-		snd_dtq (CanTx,comm.msg);
-		
-		comm.data.id='V'; 						//commande de la vitesse des roues
-		comm.data.rtr=0; 
-		comm.data.val=vitesse;
-		snd_dtq (CanTx,comm.msg);
+		directionroues();
+			
 		dly_tsk(10);
 	
     }
@@ -203,3 +184,51 @@
 {	
 	LED_V=!LED_V;
 }
+
+void acqtourelle(void)
+{		
+	requete.data.id='R'; 					//demande de reception de la donner du capteur tourelle
+	requete.data.rtr=1;
+	snd_dtq (CanTx,requete.msg); 
+	//rcv_dtq (CanRx,&reponse.msg); 
+	reception=periph[ADDR('R')].val;
+	alpha=(ktourelle*(commande-reception));		 //asservissement de la commande tourelle
+		
+	comm.data.id='T'; 						//envoie de la donner du capteur tourelle
+	comm.data.rtr=0; 
+	comm.data.val=alpha;					//correcteur du capteur pour l'asserviseement (ici =45°)
+	snd_dtq (CanTx,comm.msg);
+		
+
+}
+
+void acqroues(void)
+{	
+	requete.data.id='U'; 					//distance mesurer par le télémetre
+	requete.data.rtr=1;
+	snd_dtq (CanTx,requete.msg); 
+	//rcv_dtq (CanRx,&reponse.msg); 
+	distance=(periph[ADDR('U')].val);
+		
+	if (distance>0x0500){
+		distance=dismur;
+	}
+	else{
+		trajectoire=(kroues*( distance-dismur));	//asservisement pour les roues
+	}	
+}
+void directionroues(void)
+{	
+	comm.data.id='D'; 						//commande des roues
+	comm.data.rtr=0; 
+	comm.data.val=trajectoire;				//ont applique la correction des roues 
+	snd_dtq (CanTx,comm.msg);
+		
+	comm.data.id='V'; 						//commande de la vitesse des roues
+	comm.data.rtr=0; 
+	comm.data.val=vitesse;
+	snd_dtq (CanTx,comm.msg);	
+	if(distance<0x0200){
+		vitesse=vitesse/3;
+	}
+}
\ No newline at end of file
