Index: branch/beaussant/Emb_App.tws
===================================================================
--- branch/beaussant/Emb_App.tws	(revision 190)
+++ branch/beaussant/Emb_App.tws	(revision 191)
@@ -7,17 +7,25 @@
 [GENERAL_DATA]
 [BREAKPOINTS]
 [OPEN_WORKSPACE_FILES]
+"E:\tp_info6_2018_beaussant\bsp\clavier.c" 
+"E:\tp_info6_2018_beaussant\bsp\lcd.c" 
+"E:\tp_info6_2018_beaussant\bsp\periph.c" 
 "E:\tp_info6_2018_beaussant\bsp\uart0.c" 
 "E:\tp_info6_2018_beaussant\Emb_App\conf_noyau.cfg" 
 "E:\tp_info6_2018_beaussant\Emb_App\crt0mr.a30" 
-"E:\tp_info6_2018_beaussant\Emb_App\Debug\sys_rom.inc" 
+"E:\tp_info6_2018_beaussant\Emb_App\Debug\mr308.inc" 
+"E:\tp_info6_2018_beaussant\Emb_App\Debug\mrtable.a30" 
 "E:\tp_info6_2018_beaussant\Emb_App\programme_principal_etud.c" 
 [WORKSPACE_FILE_STATES]
-"E:\tp_info6_2018_beaussant\Emb_App\Debug\sys_rom.inc" 75 75 1430 351 0 3 
-"E:\tp_info6_2018_beaussant\Emb_App\conf_noyau.cfg" 0 0 1430 351 0 1 
-"E:\tp_info6_2018_beaussant\Emb_App\crt0mr.a30" 50 50 1430 351 0 2 
+"E:\tp_info6_2018_beaussant\Emb_App\Debug\mr308.inc" 50 50 1430 351 0 5 
+"E:\tp_info6_2018_beaussant\Emb_App\Debug\mrtable.a30" 75 75 1430 351 0 6 
+"E:\tp_info6_2018_beaussant\Emb_App\conf_noyau.cfg" 0 0 1430 351 0 3 
+"E:\tp_info6_2018_beaussant\Emb_App\crt0mr.a30" 150 150 1430 351 0 2 
 "E:\tp_info6_2018_beaussant\Emb_App\programme_principal_etud.c" -8 -30 1596 539 1 0 
-"E:\tp_info6_2018_beaussant\bsp\uart0.c" 100 100 1430 351 0 4 
+"E:\tp_info6_2018_beaussant\bsp\clavier.c" 125 125 1430 351 0 1 
+"E:\tp_info6_2018_beaussant\bsp\lcd.c" 25 25 1430 351 0 4 
+"E:\tp_info6_2018_beaussant\bsp\periph.c" 100 100 1430 351 0 7 
+"E:\tp_info6_2018_beaussant\bsp\uart0.c" 125 125 1430 351 0 8 
 [LOADED_PROJECTS]
 "EmbM32C87App" 
 [END]
Index: branch/beaussant/Emb_App/SessionM32C_E8a_system.ini
===================================================================
--- branch/beaussant/Emb_App/SessionM32C_E8a_system.ini	(revision 190)
+++ branch/beaussant/Emb_App/SessionM32C_E8a_system.ini	(revision 191)
@@ -25,4 +25,4 @@
 [Target]
 M32C E8a SYSTEM=Renesas Communications
 [USER_DATA]
-RESET=ff0022
+RESET=ff002a
Index: branch/beaussant/Emb_App/SessionM32C_E8a_system.hsf
===================================================================
--- branch/beaussant/Emb_App/SessionM32C_E8a_system.hsf	(revision 190)
+++ branch/beaussant/Emb_App/SessionM32C_E8a_system.hsf	(revision 191)
@@ -141,8 +141,8 @@
 "{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" "0000000000000044" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_1" "0000000000000020" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_0" "0000000000000001" 
+"{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" 
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_12" "0000000000000000" 
@@ -149,12 +149,12 @@
 "{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" "0000000000FF0581" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_16" "0000000000FF3112" 
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_17" "0000000000FFF800" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_18" "00000000000009E2" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_19" "0000000000000804" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_2" "0000000000000000" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_20" "0000000000000044" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_18" "0000000000000A1C" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_19" "0000000000000820" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_2" "000000000000FFFF" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_20" "00000000000000C0" 
 "{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" 
@@ -171,9 +171,9 @@
 "{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_35" "0000000000000000" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_4" "0000000000000008" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_5" "0000000000000000" 
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_6" "0000000000000A00" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_4" "0000000000000005" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_5" "0000000000000512" 
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_6" "0000000000000A1C" 
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_7" "0000000000000512" 
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_8" "0000000000000000" 
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_9" "0000000000000000" 
@@ -207,9 +207,17 @@
 "{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH" "c,buff,n,rx,flag," 
 "{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0000" "pos_obs, 1, 0, P, Col, Dec, MA" 
 "{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0000_SCOPE" "Current Scope," 
-"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0001" "dist_obs, 1, 0, P, Col, Hex, MN" 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0001" "dist_obs, 1, 0, P, Col, Dec, MA" 
 "{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0001_SCOPE" "Current Scope," 
-"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEMCnt" "2" 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0002" "consigne, 1, 0, P, Col, Hex, MA" 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0002_SCOPE" "Current Scope," 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0003" "c, 10, 0, P, Col, Hex, N" 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0003_SCOPE" "Global," 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0004" "commandeR, 1, 0, P, Col, Dec, MA" 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0004_SCOPE" "Current Scope," 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0005" "commandeV, 1, 0, P, Col, Dec, MN" 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0005_SCOPE" "Global," 
+"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEMCnt" "6" 
 "{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd1ColWidth0" "120" 
 "{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd1ColWidth1" "150" 
 "{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd1ColWidth12" "200" 
@@ -279,11 +287,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 1 "0.08" 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 2 "0.07" 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 2 "0.50" 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 "0.50" 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 3 "0.19" 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 4 "0.20" 365 0 0 350 200 18 0 "32781|32783|<<separator>>|32771|32772|32773|<<separator>>|32786|<<separator>>|32810|32811" "0.0" 
@@ -313,9 +321,13 @@
 [WINDOW_Z_ORDER]
 "E:\tp_info6_2018_beaussant\Emb_App\programme_principal_etud.c" 
 "E:\tp_info6_2018_beaussant\Emb_App\crt0mr.a30" 
+"E:\tp_info6_2018_beaussant\bsp\periph.c" 
+"E:\tp_info6_2018_beaussant\bsp\clavier.c" 
 "E:\tp_info6_2018_beaussant\Emb_App\conf_noyau.cfg" 
 "E:\tp_info6_2018_beaussant\bsp\uart0.c" 
-"E:\tp_info6_2018_beaussant\Emb_App\Debug\sys_rom.inc" 
+"E:\tp_info6_2018_beaussant\Emb_App\Debug\mr308.inc" 
+"E:\tp_info6_2018_beaussant\Emb_App\Debug\mrtable.a30" 
+"E:\tp_info6_2018_beaussant\bsp\lcd.c" 
 [TARGET_NAME]
 "M32C E8a SYSTEM" "" 0 
 [STATUSBAR_STATEINFO_VD1]
@@ -362,5 +374,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 102114968 1 "{00000000-0000-0000-C000-000000000046}" "" 
+"d:\profs\tp_info14_travail\tp_info14\emb_app\programme_principal_etud.c" 95 101505400 1 "{00000000-0000-0000-C000-000000000046}" "" 
 [END]
Index: branch/beaussant/Emb_App/programme_principal_etud.c
===================================================================
--- branch/beaussant/Emb_App/programme_principal_etud.c	(revision 190)
+++ branch/beaussant/Emb_App/programme_principal_etud.c	(revision 191)
@@ -121,11 +121,26 @@
 //				correspondant au nom du véhicule si le nom se termine par '*'
 
 int pos_obs=0;
-int commande=500;
-int consigne=900;
+int commandeT=500;
+int commandeV=25;
+int commandeR=0;
+//CanFrame touche;
+short consigne=450;
 int dist_obs=0;
-int vitesse=50;	
-char k=1;
+int dist_consigne=709;
+char kt=1;
+float kv=1.1;
+//char c;
+
+void envoieFrame(unsigned char id, unsigned short val)
+{
+	CanFrame comm;
+	comm.data.id=id;
+	comm.data.rtr=0;
+	comm.data.val=val;
+	snd_dtq (CanTx,comm.msg);
+}
+
 
 void main()
 {
@@ -138,60 +153,95 @@
     clavier_init(1);
 	capture_init();
 //	sta_cyc(ID_acqui);
-	sta_tsk(ID_ctrlt);
-	
-//	sta_tsk(ID_periph_rx);
+	sta_tsk(ID_ctrlt);	
+	sta_tsk(ID_asserv_v);
+	sta_tsk(ID_periph_rx);
+	
+	while(1){};
 
-    while(1)
-    {
-		LED_J=1;
-		dly_tsk(100);
-		LED_J=0;
-		dly_tsk(100);
-    }
+   
 }
 
-void envoieFrame(unsigned char id, unsigned short val)
+int intervalle(int val,int borne)
 {
-	CanFrame comm;
-	comm.data.id=id;
-	comm.data.rtr=0;
-	comm.data.val=val;
-	snd_dtq (CanTx,comm.msg);
+	//on vérifie que la commande est quasi nulle
+	if(val<=borne && val>=-1*borne)
+	{
+		return 1;
+	}
 }
 
+int stable()
+{
+	static int compt=0;
+	if(intervalle(commandeR,1)
+	{
+		cmpt++;
+	}
+	else if(cmpt==10){
+		return 1}
+}
+
+
+
+
+/*void clavier(){
+	//while(1){
+		rcv_dtq(QdmTouche,&touche.msg);
+		consigne=touche.data.val;
+		c=consigne;
+		//lcd_putc(c);
+		//}
+}*/
+
+
+
 unsigned short acquiFrame(unsigned char id)
 {
 	unsigned short valAcqui;
-	CanFrame requete,reponse;
-	requete.data.id=id;
-	requete.data.rtr=1;
-	snd_dtq (CanTx,requete.msg);
-	rcv_dtq(CanRx, &reponse.msg);
-	valAcqui=reponse.data.val;
+	CanFrame comm;
+	comm.data.id=id; comm.data.rtr=1;
+	snd_dtq (CanTx,comm.msg);
+	valAcqui=periph[ADDR(id)].val;
 	return(valAcqui);
 	
 }	
 
+
+
 void ctrl_t()
 {
-	envoieFrame('T',commande);
-	//envoieFrame('V',vitesse);
+	envoieFrame('T',commandeT);
 	pos_obs=acquiFrame('R');
 	while(1)
 	{
-		commande=(900-pos_obs);
-		dist_obs=acquiFrame('U');
-		envoieFrame('T',commande);
+		commandeT=kt*(consigne-pos_obs);
+		envoieFrame('T',commandeT);
 		pos_obs=acquiFrame('R');
+		dly_tsk(15);
 	}
 }
 
 void asserv_vitesse()
 {
+	envoieFrame('V',commandeV);
 	dist_obs=acquiFrame('U');
-	
-}
+	while(1){
+		commandeR=-1*kv*(dist_consigne-dist_obs);
+		envoieFrame('D',commandeR);
+		dist_obs=acquiFrame('U');
+		dly_tsk(10);
+		}
+}
+
+
+
+/*int virage()
+{
+	if(commandeR==0 && dist_obs<dist_consigne) return 1;
+	else
+}*/
+
 void acqui()
 {
 	
Index: branch/beaussant/Emb_App/conf_noyau.cfg
===================================================================
--- branch/beaussant/Emb_App/conf_noyau.cfg	(revision 190)
+++ branch/beaussant/Emb_App/conf_noyau.cfg	(revision 191)
@@ -52,19 +52,21 @@
 	initial_start	= ON;
 	exinf	= 0x0;
 };
+
+
 task[]{
-	entry_address	= periph_rx();
-	name	= ID_periph_rx;
+	entry_address	= ctrl_t();
+	name	= ID_ctrlt;
 	stack_size	= 256;
 	stack_section	= stack;
-	priority	= 2;
+	priority	= 4;
 	initial_start	= OFF;
 	exinf	= 0x0;
 };
 
 task[]{
-	entry_address	= ctrl_t();
-	name	= ID_ctrlt;
+	entry_address	= asserv_vitesse();
+	name	= ID_asserv_v;
 	stack_size	= 256;
 	stack_section	= stack;
 	priority	= 3;
@@ -73,7 +75,18 @@
 };
 
 
+task[]{
+	entry_address	= periph_rx();
+	name	= ID_periph_rx;
+	stack_size	= 256;
+	stack_section	= stack;
+	priority	= 2;
+	initial_start	= OFF;
+	exinf	= 0x0;
+};
 
+
+
 flag[]{
 	name	= ev_bus_fin_tr;
 	initial_pattern	= 0x0000;
@@ -109,8 +122,6 @@
 };
 
 
-
-
 cyclic_hand[]{
 	entry_address	= acqui();
 	name	= ID_acqui;
Index: branch/beaussant/bsp/clavier.c
===================================================================
--- branch/beaussant/bsp/clavier.c	(revision 190)
+++ branch/beaussant/bsp/clavier.c	(revision 191)
@@ -114,6 +114,7 @@
 	p10=0xF0;			
 }
 
+
 #endif
 
 #ifdef M32C83
