Index: branch/porte/Emb_App/SessionM32C_E8a_system.ini
===================================================================
--- branch/porte/Emb_App/SessionM32C_E8a_system.ini	(revision 365)
+++ branch/porte/Emb_App/SessionM32C_E8a_system.ini	(revision 366)
@@ -25,4 +25,4 @@
 [Target]
 M32C E8a SYSTEM=Renesas Communications
 [USER_DATA]
-RESET=ff003e
+RESET=ff0042
Index: branch/porte/Emb_App/programme_principal_etud.c
===================================================================
--- branch/porte/Emb_App/programme_principal_etud.c	(revision 365)
+++ branch/porte/Emb_App/programme_principal_etud.c	(revision 366)
@@ -140,7 +140,7 @@
 //Variable de la fonction IHM
 short Touche_clavier;
 //Variable de la fonction Circuit
-unsigned int Info_circuit, Etat_feu, Num_circuit;
+unsigned int Info_circuit, Etat_feu, Num_circuit, Depart_ok=0, Arret_urgence=0;
 //Variable de la fonction Evenement
 unsigned int Lecture_eve;
 FLGPTN test;
@@ -220,32 +220,35 @@
 	
 		comm.data.id='V'; 						//Commande de la vitesse des roues motrices
 		comm.data.rtr=0;
-
-		
-		if(Info_capteur == 0x560){				// Commande de vitesse pour les lignes droites (dernier capteur detecte = vert).
-			comm.data.val=Vitesse;	
-			snd_dtq (CanTx,comm.msg);			// Envoi de la commande de vitesse
+	
+		if(Depart_ok == 1 && Arret_urgence == 0){		
+			if(Info_capteur == 0x560){				// Commande de vitesse pour les lignes droites (dernier capteur detecte = vert).
+				comm.data.val=Vitesse;	
+				snd_dtq (CanTx,comm.msg);			// Envoi de la commande de vitesse
+			}
+			else if(Info_capteur == 0x630 && Saut == 0){		//Accelération pour passer le saut
+				comm.data.val=Vitesse*1.66;	
+				snd_dtq (CanTx,comm.msg);
+				Saut=1;
+			}
+			else if(Info_capteur == 0x630 && Saut == 1){		//Ralentissement pour la reception du saut
+				comm.data.val=Vitesse/2.3;	
+				snd_dtq (CanTx,comm.msg);
+			//	Saut=0;
+			}
+			else{									// Ralentissement en cas de virage et de détection de trou ou d'obstacle.
+				comm.data.val=Vitesse/1.55;	
+				snd_dtq (CanTx,comm.msg);
+			}
 		}
-		else if(Info_capteur == 0x630 ){		//Accelération pour passer le saut
-			comm.data.val=Vitesse*1.66;	
+		else{
+			comm.data.val=0;	
 			snd_dtq (CanTx,comm.msg);
-			Saut=1;
 		}
-		else if(Info_capteur == 0x630 && Saut == 1){		//Ralentissement pour la reception du saut
-			comm.data.val=Vitesse/2.3;	
-			snd_dtq (CanTx,comm.msg);
-			Saut=0;
-		}
-		else{									// Ralentissement en cas de virage et de détection de trou ou d'obstacle.
-			comm.data.val=Vitesse/1.55;	
-			snd_dtq (CanTx,comm.msg);
-		}
-		
-		//lcd_str(char &Vitesse)
 				
-		dly_tsk(10);
-		}
+	dly_tsk(10);
 	}
+}
 
 void Capteur(){
 	
@@ -297,8 +300,11 @@
 
 void Commande_IHM(){
 	
+	// Interface Homme Machine muni du clavier matricielle, de l'écran LCD,
+	// des LEDs, des potentiometre et des interrupteurs.
+	
 	while(1){
-		
+				
 		vrcv_dtq(QdmTouche, &Touche_clavier);
 		
 		if(Touche_clavier != 0){
@@ -317,10 +323,20 @@
 			Touche_clavier=0;
 			dly_tsk(100);		
 		}
-		dly_tsk(100);
-	}
+		
+	dly_tsk(100);	
+	}		
+
 }
 
+void Bp_hc(){
+	
+	if(Bp_G == 1){ Arret_urgence = 1;}
+	if(Bp_G == 0){ Arret_urgence = 0;}
+	
+	
+}
+
 void Circuit(){
 	
 	//'M'/77/0x7D : Mode de course :
@@ -338,8 +354,9 @@
 		snd_dtq (CanTx,demande.msg); 						// Interrogation du peripherique sur les information du circuit.
 		Info_circuit=periph[ADDR('M')].val;
 		Num_circuit=Info_circuit & 0x000F;
-		Etat_feu=Info_circuit >> 15; 						// contient la valeur de retour du simulateur sur l'état du feu.
+		Etat_feu=Info_circuit >> 15; 						// contient la valeur de retour du simulateur sur l'état du feu tricolore.
 		
+		if( Etat_feu == 1){ Depart_ok = 1;}					// Passe la variable permettant le départ à 1.
 		dly_tsk(200);
 	}
 		
@@ -356,7 +373,7 @@
 		
 		wai_flg(event,(FLGPTN) 0x0800, TWF_ANDW,&test);
 		
-		dly_tsk(200);
+		dly_tsk(800);
 	}
 		
 }
@@ -388,6 +405,7 @@
 	sta_tsk(ID_Distance_bord);
 	
 	sta_tsk(ID_Commande_IHM);
+	sta_cyc(ID_Bp_hc);
 	
 	sta_tsk(ID_Circuit);
 	
Index: branch/porte/Emb_App/conf_noyau.cfg
===================================================================
--- branch/porte/Emb_App/conf_noyau.cfg	(revision 365)
+++ branch/porte/Emb_App/conf_noyau.cfg	(revision 366)
@@ -205,6 +205,16 @@
 	phs_counter	= 0x0;
 };
 
+cyclic_hand[]{
+	entry_address	= Bp_hc();
+	name	= ID_Bp_hc;
+	exinf	= 0x0;
+	start	= OFF;
+	phsatr	= OFF;
+	interval_counter	= 0x64;
+	phs_counter	= 0x0;
+};
+
 vdataqueue[]{
 	name	= QdmTouche;
 	wait_queue	= TA_TFIFO;
