Index: branch/matteozzi/Emb_App/SessionM32C_FoUSB_UART.hsf
===================================================================
--- branch/matteozzi/Emb_App/SessionM32C_FoUSB_UART.hsf	(revision 473)
+++ branch/matteozzi/Emb_App/SessionM32C_FoUSB_UART.hsf	(revision 474)
@@ -1,7 +1,7 @@
 [HIMDBVersion]
 2.0
 [DATABASE_VERSION]
-"2.2" 
+"2.3" 
 [SESSION_DETAILS]
 "" 
 [INFORMATION]
@@ -226,6 +226,8 @@
 [WINDOW_POSITION_STATE_DATA_VD3]
 [WINDOW_POSITION_STATE_DATA_VD4]
 [WINDOW_Z_ORDER]
+[TARGET_NAME]
+"M32C FoUSB/UART" "" 0 
 [STATUSBAR_STATEINFO_VD1]
 "MasterShowState" 1 
 "ApplicationShowState" 1 
@@ -246,8 +248,6 @@
 [STATUSBAR_DEBUGGER_PANESTATE_VD2]
 [STATUSBAR_DEBUGGER_PANESTATE_VD3]
 [STATUSBAR_DEBUGGER_PANESTATE_VD4]
-[TARGET_NAME]
-"M32C FoUSB/UART" 
 [DEBUGGER_OPTIONS]
 "Unknown Options" 
 [DOWNLOAD_MODULES]
@@ -264,6 +264,8 @@
 "FALSE" 
 [DISABLE_MEMORY_ACCESS_DURING_EXECUTION]
 "FALSE" 
+[DEBUGGER_OPTIONS_PROPERTIES]
+"0" 
 [COMMAND_FILES]
 [DEFAULT_DEBUG_FORMAT]
 "IEEE695_RENESAS" 
Index: branch/matteozzi/Emb_App/SessionM32C_Simulator.hsf
===================================================================
--- branch/matteozzi/Emb_App/SessionM32C_Simulator.hsf	(revision 473)
+++ branch/matteozzi/Emb_App/SessionM32C_Simulator.hsf	(revision 474)
@@ -1,7 +1,7 @@
 [HIMDBVersion]
 2.0
 [DATABASE_VERSION]
-"2.2" 
+"2.3" 
 [SESSION_DETAILS]
 "" 
 [INFORMATION]
@@ -34,6 +34,8 @@
 [WINDOW_POSITION_STATE_DATA_VD3]
 [WINDOW_POSITION_STATE_DATA_VD4]
 [WINDOW_Z_ORDER]
+[TARGET_NAME]
+"" "" 0 
 [STATUSBAR_STATEINFO_VD1]
 "MasterShowState" 1 
 "ApplicationShowState" 1 
@@ -54,8 +56,6 @@
 [STATUSBAR_DEBUGGER_PANESTATE_VD2]
 [STATUSBAR_DEBUGGER_PANESTATE_VD3]
 [STATUSBAR_DEBUGGER_PANESTATE_VD4]
-[TARGET_NAME]
-"" 
 [DEBUGGER_OPTIONS]
 "" 
 [DOWNLOAD_MODULES]
@@ -71,6 +71,8 @@
 "FALSE" 
 [DISABLE_MEMORY_ACCESS_DURING_EXECUTION]
 "FALSE" 
+[DEBUGGER_OPTIONS_PROPERTIES]
+"0" 
 [COMMAND_FILES]
 [DEFAULT_DEBUG_FORMAT]
 "" 
Index: branch/matteozzi/Emb_App/SessionM32C_E8a_system.ini
===================================================================
--- branch/matteozzi/Emb_App/SessionM32C_E8a_system.ini	(revision 473)
+++ branch/matteozzi/Emb_App/SessionM32C_E8a_system.ini	(revision 474)
@@ -25,4 +25,4 @@
 [Target]
 M32C E8a SYSTEM=Renesas Communications
 [USER_DATA]
-RESET=ff002a
+RESET=ff005a
Index: branch/matteozzi/Emb_App/programme_principal_etud.c
===================================================================
--- branch/matteozzi/Emb_App/programme_principal_etud.c	(revision 473)
+++ branch/matteozzi/Emb_App/programme_principal_etud.c	(revision 474)
@@ -130,8 +130,10 @@
 unsigned short vitesse;
 unsigned short distance_m;
 unsigned short cons_angl=400;
+unsigned char piste;
+unsigned short cap;
+unsigned feu;
 
-
 ///////////////////////////
 //Declaration des taches///
 ///////////////////////////
@@ -174,6 +176,15 @@
 
 void commande_vit(){					//commande de la vitesse   //TODO a ameliorer
 	while(1){
+		if (vitesse==10){
+			dly_tsk(1000);
+			vitesse=30;
+			comm.data.id='V';
+			comm.data.rtr=0;
+			comm.data.val=vitesse;
+			snd_dtq(CanTx, comm.msg);			
+			dly_tsk(2000);
+		}			
 		comm.data.id='V';
 		comm.data.rtr=0;
 		comm.data.val=vitesse;
@@ -182,10 +193,10 @@
 		if(val_cap==0x6310){
 			comm.data.id='V';
 			comm.data.rtr=0;
-			comm.data.val=70;
+			comm.data.val=45;
 			snd_dtq(CanTx, comm.msg);
-			dly_tsk(260);
-			vitesse=30;
+			dly_tsk(600);
+			vitesse=10;
 		}
 	}
 }
@@ -222,10 +233,60 @@
 	}
 }
 
+void lcd(){
+	UINT flag;
+	while(1){
+ 	requete.data.id='M';                                                //demande de la requete C        
+	requete.data.rtr=1;  
+	periph[ADDR('M')].ev=0x01;                                                      //demande de lecture car rtr=1
+	snd_dtq(CanTx, requete.msg);                                //envoie de la demande dans CanTx
+	dly_tsk(50);
+		
+	wai_flg(ev_periph, 0x01, TWF_ANDW, &flag);	//recoie la demande dans CanRx
+	piste=(periph[ADDR('M')].val); 
+	
+	requete.data.id='C';                                                //demande de la requete C        
+	requete.data.rtr=1;  
+	periph[ADDR('C')].ev=0x01;                                                      //demande de lecture car rtr=1
+	snd_dtq(CanTx, requete.msg);                                //envoie de la demande dans CanTx
+	dly_tsk(50);
+		
+	wai_flg(ev_periph, 0x01, TWF_ANDW, &flag);	//recoie la demande dans CanRx
+	val_cap=(periph[ADDR('C')].val); 
+	
+	if (piste==0x01){
+		lcd_str("Piste verte");break;
+	}
+	if (piste==0x02){
+		lcd_str("Piste bleu");break;
+	}
+	if (piste==0x03){
+		lcd_str("Piste rouge");break;
+	}
+	if (piste==0x04){
+		lcd_str("Piste noire");break;
+	}
+	}
+}
 
+void bouton(){
+	while(1){
+		if(Bp_G==1){
+			vitesse=0;
+			LED_R=1;
+			dly_tsk(50);
+		}
+		else{
+			vitesse=30;
+			LED_R=0;
+		}
+	}
+}
 
 void main()
-{	
+{	
+	UINT flag;
+
 	ports_mcu();
     lcd_init();
 	periph_init();
@@ -240,16 +301,51 @@
 	sta_tsk(ID_orient_roue);
     sta_tsk(ID_capteur);  
 	sta_tsk(ID_vitesse);
+	sta_tsk(ID_lcd);
+	sta_tsk(ID_bouton);
 	
-	dly_tsk(1000);
+	
+	requete.data.id='M';                                                //demande de la requete C        
+	requete.data.rtr=1;  
+	periph[ADDR('M')].ev=0x01;                                                      //demande de lecture car rtr=1
+	snd_dtq(CanTx, requete.msg);                                //envoie de la demande dans CanTx
+	dly_tsk(50);
+		
+	wai_flg(ev_periph, 0x01, TWF_ANDW, &flag);	//recoie la demande dans CanRx
+	feu=periph[ADDR('M')].val;  
+	
+	while((feu&1000000000000000)==0){
+		requete.data.id='M';                                                //demande de la requete C        
+		requete.data.rtr=1;  
+		periph[ADDR('M')].ev=0x01;                                                      //demande de lecture car rtr=1
+		snd_dtq(CanTx, requete.msg);                                //envoie de la demande dans CanTx
+		dly_tsk(50);
+		
+		wai_flg(ev_periph, 0x01, TWF_ANDW, &flag);	//recoie la demande dans CanRx
+		feu=periph[ADDR('M')].val;
+	}
+	
 	vitesse=15;
 	dly_tsk(200);
-	vitesse=30;
+	switch(piste){
+		case 0x01:
+			vitesse=40;
+		break;
+		case 0x02:
+			vitesse=35;
+		break;
+		case 0x03:
+			vitesse=30;
+		break;
+		case 0x04:
+			vitesse=90;
+		break;	
+	}					
     while(1)
     {
-		LED_R=0;
+		LED_J=0;
 		dly_tsk(50);
-		LED_R=1;
+		LED_J=1;
 		dly_tsk(50);
 	}
 }
Index: branch/matteozzi/Emb_App/conf_noyau.cfg
===================================================================
--- branch/matteozzi/Emb_App/conf_noyau.cfg	(revision 473)
+++ branch/matteozzi/Emb_App/conf_noyau.cfg	(revision 474)
@@ -2,7 +2,7 @@
 //
 //    kernel.cfg : building file for MR308 Ver.4.00
 //
-//    Generated by M3T-MR308 GUI Configurator at 2018/12/19 17:30:51
+//    Generated by M3T-MR308 GUI Configurator at 2019/01/14 14:55:12
 //
 ////////////////////////////////////////////////////////////////////////////////
 
@@ -9,7 +9,7 @@
 // system definition
 system{
 	stack_size	= 256;
-	priority	= 15;
+	priority	= 20;
 	system_IPL	 = 4;
 	message_pri	 = 1;
 	timeout	 = YES;
@@ -20,7 +20,7 @@
 
 // max definition
 maxdefine{
-	max_task	= 7;
+	max_task	= 9;
 	max_flag	= 3;
 	max_dtq	= 2;
 	max_cyh	= 1;
@@ -97,6 +97,24 @@
 	initial_start	= OFF;
 	exinf	= 0x0;
 };
+task[]{
+	entry_address	= lcd();
+	name	= ID_lcd;
+	stack_size	= 256;
+	stack_section	= stack;
+	priority	= 16;
+	initial_start	= OFF;
+	exinf	= 0x0;
+};
+task[]{
+	entry_address	= bouton();
+	name	= ID_bouton;
+	stack_size	= 256;
+	stack_section	= stack;
+	priority	= 20;
+	initial_start	= OFF;
+	exinf	= 0x0;
+};
 
 flag[]{
 	name	= ev_bus_fin_tr;
Index: branch/matteozzi/Emb_App/conf_noyau.hcf
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
