Index: branch/toribio/Emb_App.tws
===================================================================
--- branch/toribio/Emb_App.tws	(revision 56)
+++ branch/toribio/Emb_App.tws	(revision 57)
@@ -7,9 +7,15 @@
 [GENERAL_DATA]
 [BREAKPOINTS]
 [OPEN_WORKSPACE_FILES]
-"E:\programmation\Travaux_Pratiques\Polytech_Ge_Travaux_Pratiques_2018\polytech-ge-info6-2018\trunk\tp_info6\Emb_App\programme_principal_etud.c" 
+"E:\tp_info6_2018_toribio\tp_info6\bsp\periph.c" 
+"E:\tp_info6_2018_toribio\tp_info6\Emb_App\conf_noyau.cfg" 
+"E:\tp_info6_2018_toribio\tp_info6\Emb_App\crt0mr.a30" 
+"E:\tp_info6_2018_toribio\tp_info6\Emb_App\programme_principal_etud.c" 
 [WORKSPACE_FILE_STATES]
-"E:\programmation\Travaux_Pratiques\Polytech_Ge_Travaux_Pratiques_2018\polytech-ge-info6-2018\trunk\tp_info6\Emb_App\programme_principal_etud.c" -8 -30 1596 659 1 0 
+"E:\tp_info6_2018_toribio\tp_info6\Emb_App\conf_noyau.cfg" 0 0 1380 424 0 3 
+"E:\tp_info6_2018_toribio\tp_info6\Emb_App\crt0mr.a30" 125 125 1380 424 0 2 
+"E:\tp_info6_2018_toribio\tp_info6\Emb_App\programme_principal_etud.c" -8 -30 1596 731 1 0 
+"E:\tp_info6_2018_toribio\tp_info6\bsp\periph.c" 100 100 1380 424 0 1 
 [LOADED_PROJECTS]
 "EmbM32C87App" 
 [END]
Index: branch/toribio/Emb_App/programme_principal_etud.c
===================================================================
--- branch/toribio/Emb_App/programme_principal_etud.c	(revision 56)
+++ branch/toribio/Emb_App/programme_principal_etud.c	(revision 57)
@@ -124,35 +124,77 @@
 
 short alpha;
 short distance;
+short angleR;
 
 void asserv0(){
 	short k=1; //Gain du correcteur P
-//lecture de la position de la tourelle
-CanFrame requete, reponse,comm;
-requete.data.id='R';
-requete.data.rtr=1; //indique une requete de lecture
-snd_dtq(CanTx, requete.msg);
-rcv_dtq(CanRx, &reponse.msg);
-alpha=reponse.data.val;	
+	//lecture de la position de la tourelle
+	CanFrame req,comm;
+	UINT flag;
+	
+	req.data.id='R';
+	req.data.rtr=1;
+	periph[ADDR('R')].ev=0x01;
+	snd_dtq(CanTx, req.msg);
+	//Attente de la réponse
+	wai_flg (ev_periph, 0x01, TWF_ANDW, &flag);
+	alpha=periph[ADDR('R')].val;
 
-//Commande vitesse de la tourelle
-comm.data.id='T';
-comm.data.rtr=0; //indique une écriture
-comm.data.val=k*(ad00-alpha);
-snd_dtq(CanTx, comm.msg);
+	//Commande vitesse de la tourelle
+	comm.data.id='T';
+	comm.data.rtr=0; //indique une écriture
+	comm.data.val=k*(450/*ou ad00*/-alpha);
+	snd_dtq(CanTx, comm.msg);
+	
+}
 
-//lecture de la distance du mur
-/*requete.data.id='U';
-requete.data.rtr=1; //indique une requete de lecture
-snd_dtq(CanTx, requete.msg);
-rcv_dtq(CanRx, &reponse.msg);
-distance=reponse.data.val;
-	*/
+void dist(){
+	//lecture de la distance du mur
+	CanFrame req;
+	UINT flag;
 	
+	req.data.id='U';
+	req.data.rtr=1;
+	periph[ADDR('U')].ev=0x02;
+	snd_dtq(CanTx, req.msg);
+	//Attente de la réponse
+	wai_flg (ev_periph, 0x02, TWF_ANDW, &flag);
+	distance=periph[ADDR('U')].val;
 	
 }
 
+void roue(){
+	short k=2; //Gain du correcteur P
+//lecture de la position de la roue
+	CanFrame req,comm;
+	UINT flag;
+/*	
+	req.data.id='D';
+	req.data.rtr=1;
+	periph[ADDR('D')].ev=0x01;
+	snd_dtq(CanTx, req.msg);
+	//Attente de la réponse
+	wai_flg (ev_periph, 0x01, TWF_ANDW, &flag);
+	angleR=periph[ADDR('D')].val;
+*/
+	//Commande de l'angle de roue
+	comm.data.id='D';
+	comm.data.rtr=0; //indique une écriture
+	comm.data.val=k*(distance-637);
+	snd_dtq(CanTx, comm.msg);	
+	
+}
+void demare(){
+	CanFrame requete;
+	//verif avec vitesse
+dly_tsk(6000);
+requete.data.id='V';
+requete.data.rtr=0; 
+requete.data.val=45;
+snd_dtq(CanTx, requete.msg);
 
+}
+
 
 void main()
 {
@@ -167,23 +209,23 @@
 	capture_init();
 
 	sta_cyc(ID_acqui);
-//	sta_tsk(ID_periph_rx);
+	sta_tsk(ID_periph_rx);
 
+	
 
-//verif avec vitesse
-requete.data.id='V';
-requete.data.rtr=0; 
-requete.data.val=8;
-snd_dtq(CanTx, requete.msg);
 
     while(1)
     {
 		
-		LED_J=1;
+	/*	LED_J=1;
 		dly_tsk(100);
 		LED_J=0;
-		dly_tsk(100);
+		dly_tsk(100);*/
+		sta_tsk(ID_demare);
 		sta_tsk(ID_asserv0);
+		sta_tsk(ID_dist);
+		sta_tsk(ID_roue);
+		
 	
     }
 }
Index: branch/toribio/Emb_App/conf_noyau.cfg
===================================================================
--- branch/toribio/Emb_App/conf_noyau.cfg	(revision 56)
+++ branch/toribio/Emb_App/conf_noyau.cfg	(revision 57)
@@ -55,8 +55,41 @@
 	
 };
 
+task[]{
+	entry_address	= dist();
+	name	= ID_dist;
+	stack_size	= 512;
+	stack_section	= stack;
+	priority	= 6;
+	initial_start	= OFF;
+	exinf	= 0x0;
 	
+};
+
 task[]{
+	entry_address	= roue();
+	name	= ID_roue;
+	stack_size	= 512;
+	stack_section	= stack;
+	priority	= 7;
+	initial_start	= OFF;
+	exinf	= 0x0;
+	
+};
+
+task[]{
+	entry_address	= demare();
+	name	= ID_demare;
+	stack_size	= 512;
+	stack_section	= stack;
+	priority	= 7;
+	initial_start	= OFF;
+	exinf	= 0x0;
+	
+};
+
+	
+task[]{
 	entry_address	= periph_tx();
 	name	= ID_periph_tx;
 	stack_size	= 256;
Index: branch/toribio/Emb_App.hws
===================================================================
--- branch/toribio/Emb_App.hws	(revision 56)
+++ branch/toribio/Emb_App.hws	(revision 57)
@@ -3,12 +3,12 @@
 [DATABASE_VERSION]
 "11.0" 
 [WORKSPACE_DETAILS]
-"Emb_App" "E:\programmation\Travaux_Pratiques\Polytech_Ge_Travaux_Pratiques_2018\polytech-ge-info6-2018\trunk\tp_info6" "E:\programmation\Travaux_Pratiques\Polytech_Ge_Travaux_Pratiques_2018\polytech-ge-info6-2018\trunk\tp_info6\Emb_App.hws" "M16C/80,M32C" "Renesas M32C Standard" 
+"Emb_App" "E:\tp_info6_2018_toribio\tp_info6" "E:\tp_info6_2018_toribio\tp_info6\Emb_App.hws" "M16C/80,M32C" "Renesas M32C Standard" 
 [SHARED_WORKSPACE_CONTROL_STATUS]
 "" "" "" 
 "" "" "" 
 [PROJECTS]
-"EmbM32C87App" "E:\programmation\Travaux_Pratiques\Polytech_Ge_Travaux_Pratiques_2018\polytech-ge-info6-2018\trunk\tp_info6\Emb_App" "E:\programmation\Travaux_Pratiques\Polytech_Ge_Travaux_Pratiques_2018\polytech-ge-info6-2018\trunk\tp_info6\Emb_App\EmbM32C87App.hwp" 4 
+"EmbM32C87App" "E:\tp_info6_2018_toribio\tp_info6\Emb_App" "E:\tp_info6_2018_toribio\tp_info6\Emb_App\EmbM32C87App.hwp" 4 
 [INFORMATION]
 "No workspace information available" 
 [SCRAP]
