Index: branch/schiano/Emb_App.tws
===================================================================
--- branch/schiano/Emb_App.tws	(revision 224)
+++ branch/schiano/Emb_App.tws	(revision 225)
@@ -7,17 +7,19 @@
 [GENERAL_DATA]
 [BREAKPOINTS]
 [OPEN_WORKSPACE_FILES]
+"E:\tp_info6_2018_schiano\tp_info6\bsp\periph.c" 
+"E:\tp_info6_2018_schiano\tp_info6\bsp\uart0.c" 
 "E:\tp_info6_2018_schiano\tp_info6\Emb_App\conf_noyau.cfg" 
 "E:\tp_info6_2018_schiano\tp_info6\Emb_App\crt0mr.a30" 
 "E:\tp_info6_2018_schiano\tp_info6\Emb_App\Debug\mr308.inc" 
-"E:\tp_info6_2018_schiano\tp_info6\Emb_App\Debug\sys_rom.inc" 
 "E:\tp_info6_2018_schiano\tp_info6\Emb_App\programme_principal_etud.c" 
 [WORKSPACE_FILE_STATES]
-"E:\tp_info6_2018_schiano\tp_info6\Emb_App\Debug\mr308.inc" 50 50 1430 351 0 3 
-"E:\tp_info6_2018_schiano\tp_info6\Emb_App\Debug\sys_rom.inc" 0 0 1430 351 0 4 
+"E:\tp_info6_2018_schiano\tp_info6\Emb_App\Debug\mr308.inc" 125 125 1430 351 0 5 
 "E:\tp_info6_2018_schiano\tp_info6\Emb_App\conf_noyau.cfg" 25 25 1430 351 0 1 
-"E:\tp_info6_2018_schiano\tp_info6\Emb_App\crt0mr.a30" 50 50 1430 351 0 2 
+"E:\tp_info6_2018_schiano\tp_info6\Emb_App\crt0mr.a30" 0 0 1596 539 0 2 
 "E:\tp_info6_2018_schiano\tp_info6\Emb_App\programme_principal_etud.c" -8 -30 1596 539 1 0 
+"E:\tp_info6_2018_schiano\tp_info6\bsp\periph.c" 125 125 1430 351 0 3 
+"E:\tp_info6_2018_schiano\tp_info6\bsp\uart0.c" 25 25 1430 351 0 4 
 [LOADED_PROJECTS]
 "EmbM32C87App" 
 [END]
Index: branch/schiano/Emb_App/SessionM32C_E8a_system.ini
===================================================================
--- branch/schiano/Emb_App/SessionM32C_E8a_system.ini	(revision 224)
+++ branch/schiano/Emb_App/SessionM32C_E8a_system.ini	(revision 225)
@@ -25,4 +25,4 @@
 [Target]
 M32C E8a SYSTEM=Renesas Communications
 [USER_DATA]
-RESET=ff002a
+RESET=ff0030
Index: branch/schiano/Emb_App/SessionM32C_E8a_system.hsf
===================================================================
--- branch/schiano/Emb_App/SessionM32C_E8a_system.hsf	(revision 224)
+++ branch/schiano/Emb_App/SessionM32C_E8a_system.hsf	(revision 225)
@@ -141,7 +141,7 @@
 "{55384715-F881-421C-A548-D7D1ABE158E1}PDMRWndInstanceKey0" "{WK_00000001_PDMR}EmbM32C87AppSessionM32C_E8a_system" 
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_EVAL_DENORMAL_MODE" "0" 
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_EVAL_ROUND_MODE" "0" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_0" "0000000000000001" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_0" "0000000000000000" 
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_1" "0000000000000000" 
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_10" "0000000000000000" 
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_11" "0000000000000000" 
@@ -148,13 +148,13 @@
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_12" "0000000000000000" 
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_13" "0000000000000000" 
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_14" "0000000000000000" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_15" "0000000000000512" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_16" "0000000000FF311B" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_17" "0000000000FFF800" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_18" "0000000000000A20" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_19" "0000000000000824" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_15" "0000000000000000" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_16" "0000000000FF002A" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_17" "0000000000000000" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_18" "0000000000000000" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_19" "0000000000000700" 
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_2" "0000000000000000" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_20" "00000000000000C0" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_20" "0000000000000000" 
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_21" "0000000000000000" 
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_22" "0000000000000000" 
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_23" "0000000000000000" 
@@ -169,12 +169,12 @@
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_31" "0000000000000000" 
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_32" "0000000000000000" 
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_33" "0000000000000000" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_34" "000000000000036A" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_34" "0000000000000000" 
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_35" "0000000000000000" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_4" "0000000000000004" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_5" "00000000001200FF" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_6" "0000000000000A20" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_7" "0000000000000512" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_4" "0000000000000000" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_5" "0000000000000000" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_6" "0000000000000000" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_7" "0000000000000000" 
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_8" "0000000000000000" 
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_9" "0000000000000000" 
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_COUNT" "36" 
@@ -213,7 +213,15 @@
 "{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0002_SCOPE" "Current Scope," 
 "{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0003" "distancemur, 2, 0, P, Col, Hex, MA" 
 "{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0003_SCOPE" "Current Scope," 
-"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEMCnt" "4" 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0004" "angleRoue, 2, 0, P, Col, Hex, MA" 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0004_SCOPE" "Current Scope," 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0005" "CouleurCapteur, 1, 0, P, Col, Hex, MA" 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0005_SCOPE" "Current Scope," 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0006" "consigneVitesse, 1, 0, P, Col, Hex, MA" 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0006_SCOPE" "Global," 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0007" "pistebleue, 1, 0, P, Col, Hex, MA" 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0007_SCOPE" "Current Scope," 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEMCnt" "8" 
 "{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd1ColWidth0" "120" 
 "{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd1ColWidth1" "150" 
 "{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd1ColWidth12" "200" 
@@ -283,11 +291,11 @@
 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 2 "0.09" 365 0 0 350 200 17 0 "32771|32772|32778|<<separator>>|32773|32774|<<separator>>|32820|<<separator>>|32801|32824" "0.0" 
+"{WK_00000001_CmdLine}" "WINDOW" 59422 0 0 "0.11" 365 0 0 350 200 17 0 "32771|32772|32778|<<separator>>|32773|32774|<<separator>>|32820|<<separator>>|32801|32824" "0.0" 
 "{WK_00000001_DISASSEMBLY}" "WINDOW" 0 0 0 "0.00" 0 -4 -30 948 486 9 0 "" "0.0" 
 "{WK_00000001_EVENT}EmbM32C87AppSessionM32C_E8a_system" "WINDOW" 59422 0 0 "0.11" 365 0 0 350 200 18 0 "32774|32775|32777|<<separator>>|32780|<<separator>>" "0.0" 
 "{WK_00000001_MEMORY}EmbM32C87AppSessionM32C_E8a_system" "WINDOW" 59422 0 1 "0.23" 365 2 -1 350 200 2065 0 "42202|42203|42204|42233|<<separator>>|42206|42205|42230|42229|42207|<<separator>>|42208|42209|42210|49076|42228|42227|<<separator>>|42231|42232|42234|42235|<<separator>>|42211|<<separator>>|32796|32797" "0.0" 
-"{WK_00000001_OUTPUT}" "WINDOW" 59422 0 3 "0.55" 365 0 0 350 200 18 0 "36756|36757|36758|36759|<<separator>>|36746|36747|<<separator>>|39531|<<separator>>|39500|39534|<<separator>>|36687" "0.0" 
+"{WK_00000001_OUTPUT}" "WINDOW" 59422 0 1 "1.00" 365 0 0 350 200 18 0 "36756|36757|36758|36759|<<separator>>|36746|36747|<<separator>>|39531|<<separator>>|39500|39534|<<separator>>|36687" "0.0" 
 "{WK_00000001_PDMR}EmbM32C87AppSessionM32C_E8a_system" "WINDOW" 59422 0 4 "0.16" 365 0 0 350 200 18 0 "47300|47301|47302|47303|47304|47305|47314|47306|47307|47308|47311|47312|47313|42211|42509|42303" "0.0" 
 "{WK_00000001_REGISTERS}EmbM32C87AppSessionM32C_E8a_system" "WINDOW" 59421 0 0 "1.00" 236 0 0 350 200 2065 0 "" "0.0" 
 "{WK_00000001_WATCH}EmbM32C87AppSessionM32C_E8a_system" "WINDOW" 59422 0 1 "0.18" 365 0 0 350 200 18 0 "32781|32783|<<separator>>|32771|32772|32773|<<separator>>|32786|<<separator>>|32810|32811" "0.0" 
@@ -316,9 +324,10 @@
 [WINDOW_POSITION_STATE_DATA_VD4]
 [WINDOW_Z_ORDER]
 "E:\tp_info6_2018_schiano\tp_info6\Emb_App\programme_principal_etud.c" 
+"E:\tp_info6_2018_schiano\tp_info6\bsp\uart0.c" 
+"E:\tp_info6_2018_schiano\tp_info6\bsp\periph.c" 
+"E:\tp_info6_2018_schiano\tp_info6\Emb_App\crt0mr.a30" 
 "E:\tp_info6_2018_schiano\tp_info6\Emb_App\conf_noyau.cfg" 
-"E:\tp_info6_2018_schiano\tp_info6\Emb_App\Debug\sys_rom.inc" 
-"E:\tp_info6_2018_schiano\tp_info6\Emb_App\crt0mr.a30" 
 "E:\tp_info6_2018_schiano\tp_info6\Emb_App\Debug\mr308.inc" 
 [TARGET_NAME]
 "M32C E8a SYSTEM" "" 0 
@@ -366,5 +375,5 @@
 [FLASH_DETAILS]
 "" 0 0 "" 0 "" 0 0 "" 0 0 0 0 0 0 0 "" "" "" "" "" 
 [BREAKPOINTS]
-"d:\profs\tp_info14_travail\tp_info14\emb_app\programme_principal_etud.c" 95 94254904 1 "{00000000-0000-0000-C000-000000000046}" "" 
+"d:\profs\tp_info14_travail\tp_info14\emb_app\programme_principal_etud.c" 95 0 1 "{00000000-0000-0000-C000-000000000046}" "" 
 [END]
Index: branch/schiano/Emb_App/programme_principal_etud.c
===================================================================
--- branch/schiano/Emb_App/programme_principal_etud.c	(revision 224)
+++ branch/schiano/Emb_App/programme_principal_etud.c	(revision 225)
@@ -122,11 +122,17 @@
 
 unsigned int alpha =0;
 unsigned int teta =100;
-unsigned int consignealpha = 450;
+unsigned int consignealpha = 450; //450 >722
 unsigned int angleRoue =0;
-unsigned int distancemur =722;
-unsigned int consignedistance = 710; //722 piste verte
-int pistebleue =0;
+unsigned int distancemur =725;
+unsigned int consignedistance = 725; //722 piste verte 710 piste bleue 761
+unsigned int vitesselignedroite =0;
+unsigned int vitessevirage =0;
+
+int h;
+int go=0;
+int numero;
+int Couleurperso =0;
 int consigneVitesse;
 int CouleurCapteur ='V';
 int k=2;
@@ -134,12 +140,13 @@
 
 void main()
 {
-	CanFrame go;
+	CanFrame start;
+	CanFrame Numpiste;
 	
 	ports_mcu();
     lcd_init();
 	periph_init();
-	periph_nom("#AutoTest*");
+	periph_nom("#Schiano*");
 
     can_init();
     clavier_init(1);
@@ -147,24 +154,32 @@
 
 	sta_cyc(ID_acqui);
 	sta_tsk(ID_periph_rx);
-	sta_cyc(ID_asserv1);
+	sta_cyc(ID_asserv1); //asservissement telemetre
 	sta_tsk(ID_asserv0);
 	
-	sta_cyc(ID_asservangleroue);
+	sta_cyc(ID_asservangleroue); //assservissement angle roue
 	sta_tsk(ID_asservRoue);
 	
+	Numpiste.data.id='M';
+	Numpiste.data.rtr=1;
+	snd_dtq (CanTx,Numpiste.msg);
+	dly_tsk(500);	
+	numero=periph[ADDR('M')].val<<8;
+	sta_tsk(ID_numpiste);
+	while(go!=1); //attente detection de la piste
 	dly_tsk(500);
-	
-	go.data.id='V';
-	go.data.rtr=0;
-	go.data.val=30; //consigne de vitesse de la voiture
+	start.data.id='V';
+	start.data.rtr=0;
+	start.data.val=vitesselignedroite; //consigne de vitesse de la voiture
 	
-	snd_dtq (CanTx,go.msg);
-	sta_tsk(ID_AsservVitesse);
+	snd_dtq (CanTx,start.msg);
+	sta_tsk(ID_AsservVitesse); //gestion des couleurs
 	//sta_cyc(ID_asservVitesseCyc);
 	
     while(1)
-    {
+    {
+		
+
 		//LED_J=1;
 		//dly_tsk(100);
 		//LED_J=0;
@@ -178,6 +193,48 @@
 	LED_V=!LED_V;
 }
 
+void numpiste()
+{
+	while(1){
+		switch(numero){
+			case(256) : //verte
+			vitesselignedroite =80;
+			vitessevirage =35;
+			consignealpha = 400;
+			consignedistance = 880;
+			go =1;
+			break;
+		
+			case(512) : //bleue
+			vitesselignedroite =65;
+			vitessevirage =25;
+			consignealpha = 400;
+			consignedistance = 775;
+			go =1;
+			break;
+		
+			case(768) : //rouge
+			vitesselignedroite =65;
+			vitessevirage =25;
+			consignealpha = 450;
+			consignedistance = 700;
+			go=1;
+			break;
+		
+			case(1024) : //noir
+			vitesselignedroite =25;
+			vitessevirage =25;
+			consignealpha = 450;
+			consignedistance = 760;
+			go=1;
+			break;
+		}
+		ext_tsk();
+	}
+	 
+
+}
+
 void asserv0()
 {	
 	CanFrame comm;
@@ -227,7 +284,7 @@
 	
 		snd_dtq (CanTx,demandeU.msg); //Interrogation du peripherique
 		//rcv_dtq (CanRx,&reponseU.msg); //Attente de la reponse
-		if (periph[ADDR('U')].val < 1000){
+		if (periph[ADDR('U')].val < 1500){
  			distancemur = periph[ADDR('U')].val;
 		}
 		dly_tsk(6);
@@ -235,10 +292,10 @@
 }
  
 void asservangleroue(){
-	if (distancemur != consignedistance)angleRoue=kp*(consignedistance - distancemur);
-	//if (distancemur < 400)angleRoue = -200;
-	//if ((distancemur < 900)&&(distancemur > 400))angleRoue = 0;
-	//if (distancemur > 900)angleRoue = 200;
+	if(Couleurperso==0x7601);
+	else {
+		if (distancemur != consignedistance)angleRoue=kp*(consignedistance - distancemur);
+	}
 }
 
 void AsservVitesse(){
@@ -250,15 +307,19 @@
 		demandeCapteur.data.rtr=1;
 		
 		snd_dtq (CanTx,demandeCapteur.msg); // demande couleur capteur
-		pistebleue = periph[ADDR('C')].val;
+		Couleurperso = periph[ADDR('C')].val;
 		CouleurCapteur = periph[ADDR('C')].val>>2;
-		if ((CouleurCapteur == 0x1580)||(CouleurCapteur == 0x1581)) {
-			consigneVitesse = 65; // 65 sur la piste verte
+		if ((CouleurCapteur == 0x1580)||(CouleurCapteur == 0x1581)||(CouleurCapteur == 0x1da0)) {
+			consigneVitesse = vitesselignedroite;
 		}
 		else {
-			consigneVitesse = 25; // 35 piste verte
+			if(Couleurperso == 0x7601){
+				consigneVitesse = 45;
+				}
+			else{
+				consigneVitesse = vitessevirage;
+				}
 		}
-		//if (pistebleue == 0x5604)consigneVitesse = 40; //décélération pour le saut piste bleue
 		
 		vitesse.data.id='V';
 		vitesse.data.rtr=0;
@@ -267,6 +328,6 @@
 		snd_dtq (CanTx,vitesse.msg);
 		
 
-		dly_tsk(100);
+		dly_tsk(30);
 	}
 }
\ No newline at end of file
Index: branch/schiano/Emb_App/conf_noyau.cfg
===================================================================
--- branch/schiano/Emb_App/conf_noyau.cfg	(revision 224)
+++ branch/schiano/Emb_App/conf_noyau.cfg	(revision 225)
@@ -63,11 +63,21 @@
 };
 
 task[]{
+	entry_address	= numpiste();
+	name	= ID_numpiste;
+	stack_size	= 256;
+	stack_section	= stack;
+	priority	= 3;
+	initial_start	= OFF;
+	exinf	= 0x0;
+};
+
+task[]{
 	entry_address	= asserv0();
 	name	= ID_asserv0;
 	stack_size	= 256;
 	stack_section	= stack;
-	priority	= 4;
+	priority	= 5;
 	initial_start	= OFF;
 	exinf	= 0x0;
 };
@@ -77,7 +87,7 @@
 	name	= ID_asservRoue;
 	stack_size	= 256;
 	stack_section	= stack;
-	priority	= 5;
+	priority	= 3;
 	initial_start	= OFF;
 	exinf	= 0x0;
 };
@@ -87,7 +97,7 @@
 	name	= ID_AsservVitesse;
 	stack_size	= 256;
 	stack_section	= stack;
-	priority	= 3;
+	priority	= 4;
 	initial_start	= OFF;
 	exinf	= 0x0;
 };
@@ -156,7 +166,7 @@
 	exinf	= 0x0;
 	start	= OFF;
 	phsatr	= OFF;
-	interval_counter	= 50;
+	interval_counter	= 15;
 	phs_counter	= 0x0;
 };
 
@@ -196,4 +206,4 @@
 
 //
 // End of Configuration
-//
+//
\ No newline at end of file
