Index: branch/nan_cao/Emb_App/SessionM32C_E8a_system.ini
===================================================================
--- branch/nan_cao/Emb_App/SessionM32C_E8a_system.ini	(revision 382)
+++ branch/nan_cao/Emb_App/SessionM32C_E8a_system.ini	(revision 383)
@@ -10,8 +10,8 @@
 VOLTAGE_5_0=1
 VOLTAGE_3_3=0
 [FW_LOCATE]
-FWADDRESS=f000
-RAMADDRESS=04
+FWADDRESS=ffd0
+RAMADDRESS=c3
 [WDT]
 WDT_USE=0
 [MCU_SETTING]
Index: branch/nan_cao/Emb_App/programme_principal_etud.c
===================================================================
--- branch/nan_cao/Emb_App/programme_principal_etud.c	(revision 382)
+++ branch/nan_cao/Emb_App/programme_principal_etud.c	(revision 383)
@@ -130,7 +130,9 @@
 short cap;
 short numcap;
 short couleurcap;
-short capteur;
+short mod;
+short angle;
+//short capteur;
 CanFrame comm_ang;
 CanFrame comm_vitesse;
 
@@ -142,7 +144,7 @@
 		{	
 			req.data.id='R';						//lecture angle de la tourelle
 			req.data.rtr=1;
-			snd_dtq(CanRx, req.msg);
+			
 													//Attente de la reponse
 			periph[ADDR('R')].ev=0x01;
 			snd_dtq(CanTx,req.msg);
@@ -170,7 +172,7 @@
 		{	
 			req.data.id='U';						 //distance mesueree par la tourelle
 			req.data.rtr=1; 
-			snd_dtq(CanRx, req.msg);
+			
 													//Attente de la reponse
 			periph[ADDR('U')].ev=0x02;
 			snd_dtq(CanTx,req.msg);
@@ -180,7 +182,8 @@
 													
 			comm_ang.data.id='D';						//angle de roue
 			comm_ang.data.rtr=0;
-	 		if(distance < 900) comm_ang.data.val=-(710-distance);
+			comm_ang.data.val=angle;
+	 		if(distance < 1100) angle=-(710-distance);
 			else comm_ang.data.val=0;
 			snd_dtq(CanTx,comm_ang.msg);
 			dly_tsk(20);
@@ -188,15 +191,41 @@
 			
 }
 
-void vit(){	
+void capteur(){	
+		CanFrame req,reponse,comm;
+		UINT flag;	
+		while(1)
+		{	dly_tsk(20);
+		
+			req.data.id='C';						//le dernier capteur touche
+			req.data.rtr=1; 	
+			periph[ADDR('C')].ev=0x04;
+			snd_dtq(CanTx,req.msg);
+			wai_flg(ev_periph, 0x04, TWF_ANDW,&flag);
+			
+			cap=periph[ADDR('C')].val;				// contient la valeur de retour du simulateur.
+
+			req.data.id='M';						//mode de course
+			req.data.rtr=1; 	
+			periph[ADDR('M')].ev=0x05;
+			snd_dtq(CanTx,req.msg);
+			wai_flg(ev_periph, 0x05, TWF_ANDW,&flag);
+			
+			mod=periph[ADDR('M')].val;				// contient la valeur de retour du simulateur. numero de piste, tricouleur et mode
+			num_piste= mod&0x000F;
+
+		}	
+
+}	
+
+/*
+void vit(){						//  OK POUR PISTE VERT ET BLEU
 	
 	CanFrame req,reponse;	
-
 	UINT flag;	
 		while(1)
 		{	req.data.id='V';						
 			req.data.rtr=1; 
-			snd_dtq(CanRx, req.msg);
 													//Attente de la reponse
 			periph[ADDR('V')].ev=0x03;
 			snd_dtq(CanTx,req.msg);
@@ -205,70 +234,28 @@
 			vitesse=periph[ADDR('V')].val;			// contient la valeur de retour du simulateur.
 
 			comm_vitesse.data.id='V'; 						//vitesse de roue
-			comm_vitesse.data.rtr=0;
-	 		if(distance < 850) comm_vitesse.data.val=35;
-				//else if (couleurcap==56 && numcap==01) comm_vitesse.data.val = 70;
-				//else if (couleurcap==56 && numcap==02) comm_vitesse.data.val = 35;
-
-				//else if (capteur == 0x5601) comm_vitesse.data.val = 70;
-				//else if (capteur == 0x5602) comm_vitesse.data.val = 35;
+			comm_vitesse.data.rtr=0;	 		
+			if(distance < 850) comm_vitesse.data.val=30;
 			else comm_vitesse.data.val=vitesse;
 			snd_dtq(CanTx,comm_vitesse.msg);
-			dly_tsk(10);
+			dly_tsk(200);
 		}	
 				
 }
 
-/*
-void mod(){	
-	
-		CanFrame req,reponse,comm;
-		UINT flag;	
-		while(1)
+*/
+void vit(){
+		
+	while(1)
 		{	
-			req.data.id='M';						//mode de course
-			req.data.rtr=1; 
-			snd_dtq(CanRx, req.msg);
-													//Attente de la reponse
-			periph[ADDR('M')].ev=0x05;
-			snd_dtq(CanTx,req.msg);
-			wai_flg(ev_periph, 0x05, TWF_ANDW,&flag);
-		
-			m=periph[ADDR('M')].val;				// contient la valeur de retour du simulateur.
-			num_piste=m & 0x000F;					// numero de piste
-		//	mode_course = m & ;
-		//	snd_dtq(CanTx,comm.msg);
-		
-		}	
+			dly_tsk(500);
+			comm_vitesse.data.id='V';						//Vitesse de la tour
+			comm_vitesse.data.rtr=0;
+			comm_vitesse.data.val=vitesse;
+			snd_dtq(CanTx,comm_vitesse.msg);
+		}
+}
 
-}	
-
-void capteur(){	
-		CanFrame req,reponse,comm;
-		UINT flag;	
-		while(1)
-		{	dly_tsk(20);
-			req.data.id='C';						//le dernier capteur touche
-			req.data.rtr=1; 
-			periph[ADDR('C')].ev=0x04;
-			snd_dtq(CanTx,req.msg);
-			wai_flg(ev_periph, 0x04, TWF_ANDW,&flag);
-			
-			cap=periph[ADDR('C')].val;				// contient la valeur de retour du simulateur.
-			couleurcap = cap >> 8;					// 0XFF00	 couleur de capteur
-			numcap = cap << 8;						// 0x00FF numero de capteur
-
-					switch(couleurcap){                       
-					case 56:
-					capteur= 'V';
-					break;
-				}
-	
-		}	
-
-}			
-
-*/
 void main()
 {
 	CanFrame comm;
@@ -278,22 +265,47 @@
 	periph_init();
 	periph_nom("#nan*");
 
-
 	lcd_putc(1);
     can_init();
     clavier_init(1);
 	capture_init();
-			
+	
 	sta_tsk(ID_ang_roue);
 	sta_tsk(ID_ang_tourelle);
 	sta_tsk(ID_vitesse);
-	sta_tsk(ID_capteur);
-	sta_tsk(ID_mode);
+	sta_tsk(ID_capteur);
 	sta_cyc(ID_acqui);
 	sta_tsk(ID_periph_rx);
 	
     while(1)
-    {
+    {	
+		
+
+	
+			switch(num_piste){
+			case 1:
+				vitesse=30;
+			
+			break;
+			case 2:
+				vitesse=30;	
+			break;
+			
+			case 3:
+				if(cap==0x7601) {
+					vitesse=80;
+					
+					}
+				else if (cap==0x5603) vitesse=50;
+				else if (cap==0x5202) vitesse=40;
+				else if (cap==0x7602) vitesse=5;	
+				else vitesse=30;
+				break;
+			
+			}
+	
+		
+						
 		LED_J=1;
 		dly_tsk(100);
 		LED_J=0;
Index: branch/nan_cao/Emb_App/conf_noyau.cfg
===================================================================
--- branch/nan_cao/Emb_App/conf_noyau.cfg	(revision 382)
+++ branch/nan_cao/Emb_App/conf_noyau.cfg	(revision 383)
@@ -71,6 +71,15 @@
 	initial_start	= OFF;
 	exinf	= 0x0;
 };
+task[]{
+	entry_address	= capteur();
+	name	= ID_capteur;
+	stack_size	= 512;
+	stack_section	= stack;
+	priority	= 7;
+	initial_start	= OFF;
+	exinf	= 0x0;
+};
 
 
 task[]{
Index: branch/nan_cao/Emb_App/DefaultSession.hsf
===================================================================
--- branch/nan_cao/Emb_App/DefaultSession.hsf	(revision 382)
+++ branch/nan_cao/Emb_App/DefaultSession.hsf	(revision 383)
@@ -33,6 +33,7 @@
 [CONFIG_INFO_VD4]
 0 
 [WINDOW_POSITION_STATE_DATA_VD1]
+"Help" "TOOLBAR 0" 59419 2 4 "0.00" 0 0 0 0 0 17 0 "" "0.0" 
 "{WK_00000001_CmdLine}" "WINDOW" 59422 0 1 "0.03" 195 0 0 350 200 17 0 "32771|32772|32778|<<separator>>|32773|32774|<<separator>>|32820|<<separator>>|32801|32824" "0.0" 
 "{WK_00000001_OUTPUT}" "WINDOW" 59422 0 0 "1.00" 195 0 0 350 200 18 0 "36756|36757|36758|36759|<<separator>>|36746|36747|<<separator>>|39531|<<separator>>|39500|39534|<<separator>>|36687" "0.0" 
 "{WK_00000002_WORKSPACE}" "WINDOW" 59420 0 0 "1.00" 284 0 0 350 200 18 0 "" "0.0" 
@@ -54,12 +55,12 @@
 [WINDOW_POSITION_STATE_DATA_VD3]
 [WINDOW_POSITION_STATE_DATA_VD4]
 [WINDOW_Z_ORDER]
-"D:\laffont\Tp_Info14\Emb_App\programme_principal_etud.c" 
-"D:\laffont\Tp_Info14\Emb_App\uart0.c" 
-"D:\laffont\Tp_Info14\Emb_App\crt0mr.a30" 
-"D:\laffont\Tp_Info14\Emb_App\conf_noyau.cfg" 
-"D:\laffont\Tp_Info14\Emb_App\periph.c" 
-"D:\laffont\Tp_Info14\Emb_App\c_sec.inc" 
+"E:\tp_info6_2018_nan_cao\tp_info6\Emb_App\programme_principal_etud.c" 
+"E:\tp_info6_2018_nan_cao\tp_info6\Emb_App\conf_noyau.cfg" 
+"E:\tp_info6_2018_nan_cao\tp_info6\Emb_App\crt0mr.a30" 
+"E:\tp_info6_2018_nan_cao\tp_info6\bsp\uart0.c" 
+"E:\tp_info6_2018_nan_cao\tp_info6\Emb_App\Debug\sys_rom.inc" 
+"E:\tp_info6_2018_nan_cao\tp_info6\Emb_App\Debug\mr308.inc" 
 [TARGET_NAME]
 "" "" 0 
 [STATUSBAR_STATEINFO_VD1]
Index: branch/nan_cao/Emb_App/EmbM32C87App.tps
===================================================================
--- branch/nan_cao/Emb_App/EmbM32C87App.tps	(revision 382)
+++ branch/nan_cao/Emb_App/EmbM32C87App.tps	(revision 383)
@@ -18,7 +18,7 @@
 "SessionM32C_E8a_system" 
 [GENERAL_DATA_PROJECT]
 [GENERAL_DATA_CONFIGURATION_Debug]
-"PROJECT_FILES_MODIFIED_DATA_TAG" "TRUE" 
+"PROJECT_FILES_MODIFIED_DATA_TAG" "FALSE" 
 [SESSIONS_Debug]
 "DefaultSession" 
 "SessionM32C_E8a_system" 
